diff --git a/.nuget/NuGet.Config b/.nuget/NuGet.Config index d6349143..92b1d67f 100644 --- a/.nuget/NuGet.Config +++ b/.nuget/NuGet.Config @@ -8,7 +8,7 @@ - + diff --git a/AdminApp/assets/auth/oidc-client.min.js b/AdminApp/assets/auth/oidc-client.min.js index ae9cdbae..57985d89 100644 --- a/AdminApp/assets/auth/oidc-client.min.js +++ b/AdminApp/assets/auth/oidc-client.min.js @@ -1,4 +1,4 @@ -var Oidc=function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function e(){return t.default}:function e(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=152)}([function(t,e,r){var n=r(2),i=r(19),o=r(12),s=r(13),a=r(20),u=function(t,e,r){var c,f,h,l,p=t&u.F,d=t&u.G,g=t&u.S,v=t&u.P,y=t&u.B,m=d?n:g?n[e]||(n[e]={}):(n[e]||{}).prototype,_=d?i:i[e]||(i[e]={}),S=_.prototype||(_.prototype={});for(c in d&&(r=e),r)h=((f=!p&&m&&void 0!==m[c])?m:r)[c],l=y&&f?a(h,n):v&&"function"==typeof h?a(Function.call,h):h,m&&s(m,c,h,t&u.U),_[c]!=h&&o(_,c,l),v&&S[c]!=h&&(S[c]=h)};n.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,r){var n=r(5);t.exports=function(t){if(!n(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var e=arguments.length,r=Array(e),n=0;n=3){for(var e=arguments.length,r=Array(e),n=0;n=2){for(var e=arguments.length,r=Array(e),n=0;n=1){for(var e=arguments.length,r=Array(e),n=0;n0?i(n(t),9007199254740991):0}},function(t,e,r){t.exports=!r(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,r){var n=r(1),i=r(103),o=r(24),s=Object.defineProperty;e.f=r(8)?Object.defineProperty:function t(e,r,a){if(n(e),r=o(r,!0),n(a),i)try{return s(e,r,a)}catch(t){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(e[r]=a.value),e}},function(t,e,r){var n=r(25);t.exports=function(t){return Object(n(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,r){var n=r(9),i=r(34);t.exports=r(8)?function(t,e,r){return n.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e,r){var n=r(2),i=r(12),o=r(15),s=r(35)("src"),a=r(156),u=(""+a).split("toString");r(19).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,r,a){var c="function"==typeof r;c&&(o(r,"name")||i(r,"name",e)),t[e]!==r&&(c&&(o(r,s)||i(r,s,t[e]?""+t[e]:u.join(String(e)))),t===n?t[e]=r:a?t[e]?t[e]=r:i(t,e,r):(delete t[e],i(t,e,r)))})(Function.prototype,"toString",function t(){return"function"==typeof this&&this[s]||a.call(this)})},function(t,e,r){var n=r(0),i=r(4),o=r(25),s=/"/g,a=function(t,e,r,n){var i=String(o(t)),a="<"+e;return""!==r&&(a+=" "+r+'="'+String(n).replace(s,""")+'"'),a+">"+i+""};t.exports=function(t,e){var r={};r[t]=e(a),n(n.P+n.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",r)}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},function(t,e,r){var n=r(51),i=r(25);t.exports=function(t){return n(i(t))}},function(t,e,r){var n=r(52),i=r(34),o=r(16),s=r(24),a=r(15),u=r(103),c=Object.getOwnPropertyDescriptor;e.f=r(8)?c:function t(e,r){if(e=o(e),r=s(r,!0),u)try{return c(e,r)}catch(t){}if(a(e,r))return i(!n.f.call(e,r),e[r])}},function(t,e,r){var n=r(15),i=r(10),o=r(74)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),n(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){var r=t.exports={version:"2.6.4"};"number"==typeof __e&&(__e=r)},function(t,e,r){var n=r(11);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:r)(t)}},function(t,e,r){"use strict";var n=r(4);t.exports=function(t,e){return!!t&&n(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,r){var n=r(5);t.exports=function(t,e){if(!n(t))return t;var r,i;if(e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!n(i=r.call(t)))return i;if(!e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var n=r(0),i=r(19),o=r(4);t.exports=function(t,e){var r=(i.Object||{})[t]||Object[t],s={};s[t]=e(r),n(n.S+n.F*o(function(){r(1)}),"Object",s)}},function(t,e,r){var n=r(20),i=r(51),o=r(10),s=r(7),a=r(90);t.exports=function(t,e){var r=1==t,u=2==t,c=3==t,f=4==t,h=6==t,l=5==t||h,p=e||a;return function(e,a,d){for(var g,v,y=o(e),m=i(y),_=n(a,d,3),S=s(m.length),b=0,w=r?p(e,S):u?p(e,0):void 0;S>b;b++)if((l||b in m)&&(v=_(g=m[b],b,y),t))if(r)w[b]=v;else if(v)switch(t){case 3:return!0;case 5:return g;case 6:return b;case 2:w.push(g)}else if(f)return!1;return h?-1:c||f?f:w}}},function(t,e,r){"use strict";if(r(8)){var n=r(30),i=r(2),o=r(4),s=r(0),a=r(66),u=r(98),c=r(20),f=r(41),h=r(34),l=r(12),p=r(43),d=r(22),g=r(7),v=r(131),y=r(37),m=r(24),_=r(15),S=r(46),b=r(5),w=r(10),F=r(87),E=r(38),x=r(18),A=r(39).f,k=r(89),P=r(35),C=r(6),T=r(27),R=r(56),I=r(54),O=r(92),D=r(48),N=r(61),L=r(40),M=r(91),j=r(120),U=r(9),B=r(17),H=U.f,V=B.f,K=i.RangeError,q=i.TypeError,W=i.Uint8Array,J=Array.prototype,z=u.ArrayBuffer,Y=u.DataView,G=T(0),X=T(2),$=T(3),Q=T(4),Z=T(5),tt=T(6),et=R(!0),rt=R(!1),nt=O.values,it=O.keys,ot=O.entries,st=J.lastIndexOf,at=J.reduce,ut=J.reduceRight,ct=J.join,ft=J.sort,ht=J.slice,lt=J.toString,pt=J.toLocaleString,dt=C("iterator"),gt=C("toStringTag"),vt=P("typed_constructor"),yt=P("def_constructor"),mt=a.CONSTR,_t=a.TYPED,St=a.VIEW,bt=T(1,function(t,e){return At(I(t,t[yt]),e)}),wt=o(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),Ft=!!W&&!!W.prototype.set&&o(function(){new W(1).set({})}),Et=function(t,e){var r=d(t);if(r<0||r%e)throw K("Wrong offset!");return r},xt=function(t){if(b(t)&&_t in t)return t;throw q(t+" is not a typed array!")},At=function(t,e){if(!(b(t)&&vt in t))throw q("It is not a typed array constructor!");return new t(e)},kt=function(t,e){return Pt(I(t,t[yt]),e)},Pt=function(t,e){for(var r=0,n=e.length,i=At(t,n);n>r;)i[r]=e[r++];return i},Ct=function(t,e,r){H(t,e,{get:function(){return this._d[r]}})},Tt=function t(e){var r,n,i,o,s,a,u=w(e),f=arguments.length,h=f>1?arguments[1]:void 0,l=void 0!==h,p=k(u);if(void 0!=p&&!F(p)){for(a=p.call(u),i=[],r=0;!(s=a.next()).done;r++)i.push(s.value);u=i}for(l&&f>2&&(h=c(h,arguments[2],2)),r=0,n=g(u.length),o=At(this,n);n>r;r++)o[r]=l?h(u[r],r):u[r];return o},Rt=function t(){for(var e=0,r=arguments.length,n=At(this,r);r>e;)n[e]=arguments[e++];return n},It=!!W&&o(function(){pt.call(new W(1))}),Ot=function t(){return pt.apply(It?ht.call(xt(this)):xt(this),arguments)},Dt={copyWithin:function t(e,r){return j.call(xt(this),e,r,arguments.length>2?arguments[2]:void 0)},every:function t(e){return Q(xt(this),e,arguments.length>1?arguments[1]:void 0)},fill:function t(e){return M.apply(xt(this),arguments)},filter:function t(e){return kt(this,X(xt(this),e,arguments.length>1?arguments[1]:void 0))},find:function t(e){return Z(xt(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function t(e){return tt(xt(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function t(e){G(xt(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function t(e){return rt(xt(this),e,arguments.length>1?arguments[1]:void 0)},includes:function t(e){return et(xt(this),e,arguments.length>1?arguments[1]:void 0)},join:function t(e){return ct.apply(xt(this),arguments)},lastIndexOf:function t(e){return st.apply(xt(this),arguments)},map:function t(e){return bt(xt(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function t(e){return at.apply(xt(this),arguments)},reduceRight:function t(e){return ut.apply(xt(this),arguments)},reverse:function t(){for(var e,r=xt(this).length,n=Math.floor(r/2),i=0;i1?arguments[1]:void 0)},sort:function t(e){return ft.call(xt(this),e)},subarray:function t(e,r){var n=xt(this),i=n.length,o=y(e,i);return new(I(n,n[yt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,g((void 0===r?i:y(r,i))-o))}},Nt=function t(e,r){return kt(this,ht.call(xt(this),e,r))},Lt=function t(e){xt(this);var r=Et(arguments[1],1),n=this.length,i=w(e),o=g(i.length),s=0;if(o+r>n)throw K("Wrong length!");for(;s255?255:255&n),i.v[p](r*e+i.o,n,wt)}(this,r,t)},enumerable:!0})};_?(d=r(function(t,r,n,i){f(t,d,c,"_d");var o,s,a,u,h=0,p=0;if(b(r)){if(!(r instanceof z||"ArrayBuffer"==(u=S(r))||"SharedArrayBuffer"==u))return _t in r?Pt(d,r):Tt.call(d,r);o=r,p=Et(n,e);var y=r.byteLength;if(void 0===i){if(y%e)throw K("Wrong length!");if((s=y-p)<0)throw K("Wrong length!")}else if((s=g(i)*e)+p>y)throw K("Wrong length!");a=s/e}else a=v(r),o=new z(s=a*e);for(l(t,"_d",{b:o,o:p,l:s,e:a,v:new Y(o)});hdocument.F=Object<\/script>"),t.close(),u=t.F;n--;)delete u.prototype[o[n]];return u()};t.exports=Object.create||function t(e,r){var o;return null!==e?(a.prototype=n(e),o=new a,a.prototype=null,o[s]=e):o=u(),void 0===r?o:i(o,r)}},function(t,e,r){var n=r(105),i=r(75).concat("length","prototype");e.f=Object.getOwnPropertyNames||function t(e){return n(e,i)}},function(t,e,r){"use strict";var n=r(2),i=r(9),o=r(8),s=r(6)("species");t.exports=function(t){var e=n[t];o&&e&&!e[s]&&i.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,r,n){if(!(t instanceof e)||void 0!==n&&n in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,e,r){var n=r(20),i=r(118),o=r(87),s=r(1),a=r(7),u=r(89),c={},f={};(e=t.exports=function(t,e,r,h,l){var p,d,g,v,y=l?function(){return t}:u(t),m=n(r,h,e?2:1),_=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(p=a(t.length);p>_;_++)if((v=e?m(s(d=t[_])[0],d[1]):m(t[_]))===c||v===f)return v}else for(g=y.call(t);!(d=g.next()).done;)if((v=i(g,m,d.value,e))===c||v===f)return v}).BREAK=c,e.RETURN=f},function(t,e,r){var n=r(13);t.exports=function(t,e,r){for(var i in e)n(t,i,e[i],r);return t}},function(t,e,r){var n=r(5);t.exports=function(t,e){if(!n(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e,r){var n=r(9).f,i=r(15),o=r(6)("toStringTag");t.exports=function(t,e,r){t&&!i(t=r?t:t.prototype,o)&&n(t,o,{configurable:!0,value:e})}},function(t,e,r){var n=r(21),i=r(6)("toStringTag"),o="Arguments"==n(function(){return arguments}());t.exports=function(t){var e,r,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?r:o?n(e):"Object"==(s=n(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,r){var n=r(0),i=r(25),o=r(4),s=r(78),a="["+s+"]",u=RegExp("^"+a+a+"*"),c=RegExp(a+a+"*$"),f=function(t,e,r){var i={},a=o(function(){return!!s[t]()||"​…"!="​…"[t]()}),u=i[t]=a?e(h):s[t];r&&(i[r]=u),n(n.P+n.F*a,"String",i)},h=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(c,"")),t};t.exports=f},function(t,e){t.exports={}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataService=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.getMetadata=function t(){var e=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then(function(t){return i.Log.debug("MetadataService.getMetadata: json received"),e._settings.metadata=t,t})):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function t(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function t(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function t(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function t(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",e)},t.prototype.getCheckSessionIframe=function t(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function t(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function t(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function t(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function t(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+e),this.getMetadata().then(function(t){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===t[e]){if(!0===r)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+e);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+e),new Error("Metadata does not contain property "+e)}return t[e]})},t.prototype.getSigningKeys=function t(){var e=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then(function(t){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",t),e._jsonService.getJson(t).then(function(t){if(i.Log.debug("MetadataService.getSigningKeys: key set received",t),!t.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return e._settings.signingKeys=t.keys,e._settings.signingKeys})})},n(t,[{key:"metadataUrl",get:function t(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(".well-known/openid-configuration")<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=".well-known/openid-configuration"))),this._metadataUrl}}]),t}()},function(t,e,r){var n=r(19),i=r(2),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:n.version,mode:r(30)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e,r){var n=r(21);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,r){"use strict";var n=r(1);t.exports=function(){var t=n(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,r){var n=r(1),i=r(11),o=r(6)("species");t.exports=function(t,e){var r,s=n(t).constructor;return void 0===s||void 0==(r=n(s)[o])?e:i(r)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(3),i=r(33);e.UrlUtility=function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function t(e,r,n){return e.indexOf("?")<0&&(e+="?"),"?"!==e[e.length-1]&&(e+="&"),e+=encodeURIComponent(r),e+="=",e+=encodeURIComponent(n)},t.parseUrlFragment=function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof e&&(e=o.location.href);var s=e.lastIndexOf(r);s>=0&&(e=e.substr(s+1)),"?"===r&&(s=e.indexOf("#"))>=0&&(e=e.substr(0,s));for(var a,u={},c=/([^&=]+)=([^&]*)/g,f=0;a=c.exec(e);)if(u[decodeURIComponent(a[1])]=decodeURIComponent(a[2]),f++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",e),{error:"Response exceeded expected number of parameters"};for(var h in u)return u;return{}},t}()},function(t,e,r){var n=r(16),i=r(7),o=r(37);t.exports=function(t){return function(e,r,s){var a,u=n(e),c=i(u.length),f=o(s,c);if(t&&r!=r){for(;c>f;)if((a=u[f++])!=a)return!0}else for(;c>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,r){var n=r(21);t.exports=Array.isArray||function t(e){return"Array"==n(e)}},function(t,e,r){var n=r(22),i=r(25);t.exports=function(t){return function(e,r){var o,s,a=String(i(e)),u=n(r),c=a.length;return u<0||u>=c?t?"":void 0:(o=a.charCodeAt(u))<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?t?a.charAt(u):o:t?a.slice(u,u+2):s-56320+(o-55296<<10)+65536}}},function(t,e,r){var n=r(5),i=r(21),o=r(6)("match");t.exports=function(t){var e;return n(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,r){var n=r(6)("iterator"),i=!1;try{var o=[7][n]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var r=!1;try{var o=[7],s=o[n]();s.next=function(){return{done:r=!0}},o[n]=function(){return s},t(o)}catch(t){}return r}},function(t,e,r){"use strict";var n=r(46),i=RegExp.prototype.exec;t.exports=function(t,e){var r=t.exec;if("function"==typeof r){var o=r.call(t,e);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==n(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},function(t,e,r){"use strict";r(122);var n=r(13),i=r(12),o=r(4),s=r(25),a=r(6),u=r(93),c=a("species"),f=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),h=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,e,r){var l=a(t),p=!o(function(){var e={};return e[l]=function(){return 7},7!=""[t](e)}),d=p?!o(function(){var e=!1,r=/a/;return r.exec=function(){return e=!0,null},"split"===t&&(r.constructor={},r.constructor[c]=function(){return r}),r[l](""),!e}):void 0;if(!p||!d||"replace"===t&&!f||"split"===t&&!h){var g=/./[l],v=r(s,l,""[t],function t(e,r,n,i,o){return r.exec===u?p&&!o?{done:!0,value:g.call(r,n,i)}:{done:!0,value:e.call(n,r,i)}:{done:!1}}),y=v[0],m=v[1];n(String.prototype,t,y),i(RegExp.prototype,l,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)})}}},function(t,e,r){var n=r(2).navigator;t.exports=n&&n.userAgent||""},function(t,e,r){"use strict";var n=r(2),i=r(0),o=r(13),s=r(43),a=r(31),u=r(42),c=r(41),f=r(5),h=r(4),l=r(61),p=r(45),d=r(79);t.exports=function(t,e,r,g,v,y){var m=n[t],_=m,S=v?"set":"add",b=_&&_.prototype,w={},F=function(t){var e=b[t];o(b,t,"delete"==t?function(t){return!(y&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function t(r){return!(y&&!f(r))&&e.call(this,0===r?0:r)}:"get"==t?function t(r){return y&&!f(r)?void 0:e.call(this,0===r?0:r)}:"add"==t?function t(r){return e.call(this,0===r?0:r),this}:function t(r,n){return e.call(this,0===r?0:r,n),this})};if("function"==typeof _&&(y||b.forEach&&!h(function(){(new _).entries().next()}))){var E=new _,x=E[S](y?{}:-0,1)!=E,A=h(function(){E.has(1)}),k=l(function(t){new _(t)}),P=!y&&h(function(){for(var t=new _,e=5;e--;)t[S](e,e);return!t.has(-0)});k||((_=e(function(e,r){c(e,_,t);var n=d(new m,e,_);return void 0!=r&&u(r,v,n[S],n),n})).prototype=b,b.constructor=_),(A||P)&&(F("delete"),F("has"),v&&F("get")),(P||x)&&F(S),y&&b.clear&&delete b.clear}else _=g.getConstructor(e,t,v,S),s(_.prototype,r),a.NEED=!0;return p(_,t),w[t]=_,i(i.G+i.W+i.F*(_!=m),w),y||g.setStrong(_,t,v),_}},function(t,e,r){for(var n,i=r(2),o=r(12),s=r(35),a=s("typed_array"),u=s("view"),c=!(!i.ArrayBuffer||!i.DataView),f=c,h=0,l="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");h<9;)(n=i[l[h++]])?(o(n.prototype,a,!0),o(n.prototype,u,!0)):f=!1;t.exports={ABV:c,CONSTR:f,TYPED:a,VIEW:u}},function(t,e,r){"use strict";t.exports=r(30)||!r(4)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete r(2)[t]})},function(t,e,r){"use strict";var n=r(0);t.exports=function(t){n(n.S,t,{of:function t(){for(var e=arguments.length,r=new Array(e);e--;)r[e]=arguments[e];return new this(r)}})}},function(t,e,r){"use strict";var n=r(0),i=r(11),o=r(20),s=r(42);t.exports=function(t){n(n.S,t,{from:function t(e){var r,n,a,u,c=arguments[1];return i(this),(r=void 0!==c)&&i(c),void 0==e?new this:(n=[],r?(a=0,u=o(c,arguments[2],2),s(e,!1,function(t){n.push(u(t,a++))})):s(e,!1,n.push,n),new this(n))}})}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(358),i=function o(t){return t&&t.__esModule?t:{default:t}}(r(364));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){var n=r(5),i=r(2).document,o=n(i)&&n(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,r){var n=r(2),i=r(19),o=r(30),s=r(104),a=r(9).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:n.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,r){var n=r(50)("keys"),i=r(35);t.exports=function(t){return n[t]||(n[t]=i(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,r){var n=r(2).document;t.exports=n&&n.documentElement},function(t,e,r){var n=r(5),i=r(1),o=function(t,e){if(i(t),!n(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,n){try{(n=r(20)(Function.call,r(17).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function t(r,i){return o(r,i),e?r.__proto__=i:n(r,i),r}}({},!1):void 0),check:o}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,r){var n=r(5),i=r(77).set;t.exports=function(t,e,r){var o,s=e.constructor;return s!==r&&"function"==typeof s&&(o=s.prototype)!==r.prototype&&n(o)&&i&&i(t,o),t}},function(t,e,r){"use strict";var n=r(22),i=r(25);t.exports=function t(e){var r=String(i(this)),o="",s=n(e);if(s<0||s==1/0)throw RangeError("Count can't be negative");for(;s>0;(s>>>=1)&&(r+=r))1&s&&(o+=r);return o}},function(t,e){t.exports=Math.sign||function t(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(t,e){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function t(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:r},function(t,e,r){"use strict";var n=r(30),i=r(0),o=r(13),s=r(12),a=r(48),u=r(84),c=r(45),f=r(18),h=r(6)("iterator"),l=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,r,d,g,v,y){u(r,e,d);var m,_,S,b=function(t){if(!l&&t in x)return x[t];switch(t){case"keys":return function e(){return new r(this,t)};case"values":return function e(){return new r(this,t)}}return function e(){return new r(this,t)}},w=e+" Iterator",F="values"==g,E=!1,x=t.prototype,A=x[h]||x["@@iterator"]||g&&x[g],k=A||b(g),P=g?F?b("entries"):k:void 0,C="Array"==e&&x.entries||A;if(C&&(S=f(C.call(new t)))!==Object.prototype&&S.next&&(c(S,w,!0),n||"function"==typeof S[h]||s(S,h,p)),F&&A&&"values"!==A.name&&(E=!0,k=function t(){return A.call(this)}),n&&!y||!l&&!E&&x[h]||s(x,h,k),a[e]=k,a[w]=p,g)if(m={values:F?k:b("values"),keys:v?k:b("keys"),entries:P},y)for(_ in m)_ in x||o(x,_,m[_]);else i(i.P+i.F*(l||E),e,m);return m}},function(t,e,r){"use strict";var n=r(38),i=r(34),o=r(45),s={};r(12)(s,r(6)("iterator"),function(){return this}),t.exports=function(t,e,r){t.prototype=n(s,{next:i(1,r)}),o(t,e+" Iterator")}},function(t,e,r){var n=r(60),i=r(25);t.exports=function(t,e,r){if(n(e))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},function(t,e,r){var n=r(6)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[n]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,r){var n=r(48),i=r(6)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||o[i]===t)}},function(t,e,r){"use strict";var n=r(9),i=r(34);t.exports=function(t,e,r){e in t?n.f(t,e,i(0,r)):t[e]=r}},function(t,e,r){var n=r(46),i=r(6)("iterator"),o=r(48);t.exports=r(19).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[n(t)]}},function(t,e,r){var n=r(245);t.exports=function(t,e){return new(n(t))(e)}},function(t,e,r){"use strict";var n=r(10),i=r(37),o=r(7);t.exports=function t(e){for(var r=n(this),s=o(r.length),a=arguments.length,u=i(a>1?arguments[1]:void 0,s),c=a>2?arguments[2]:void 0,f=void 0===c?s:i(c,s);f>u;)r[u++]=e;return r}},function(t,e,r){"use strict";var n=r(32),i=r(121),o=r(48),s=r(16);t.exports=r(83)(Array,"Array",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?r:"values"==e?t[r]:[r,t[r]])},"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},function(t,e,r){"use strict";var n,i,o=r(53),s=RegExp.prototype.exec,a=String.prototype.replace,u=s,c=(n=/a/,i=/b*/g,s.call(n,"a"),s.call(i,"a"),0!==n.lastIndex||0!==i.lastIndex),f=void 0!==/()??/.exec("")[1];(c||f)&&(u=function t(e){var r,n,i,u,h=this;return f&&(n=new RegExp("^"+h.source+"$(?!\\s)",o.call(h))),c&&(r=h.lastIndex),i=s.call(h,e),c&&i&&(h.lastIndex=h.global?i.index+i[0].length:r),f&&i&&i.length>1&&a.call(i[0],n,function(){for(u=1;ui;)r.push(arguments[i++]);return y[++v]=function(){a("function"==typeof e?e:Function(e),r)},n(v),v},p=function t(e){delete y[e]},"process"==r(21)(h)?n=function(t){h.nextTick(s(m,t,1))}:g&&g.now?n=function(t){g.now(s(m,t,1))}:d?(o=(i=new d).port2,i.port1.onmessage=_,n=s(o.postMessage,o,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(n=function(t){f.postMessage(t+"","*")},f.addEventListener("message",_,!1)):n="onreadystatechange"in c("script")?function(t){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),m.call(t)}}:function(t){setTimeout(s(m,t,1),0)}),t.exports={set:l,clear:p}},function(t,e,r){var n=r(2),i=r(95).set,o=n.MutationObserver||n.WebKitMutationObserver,s=n.process,a=n.Promise,u="process"==r(21)(s);t.exports=function(){var t,e,r,c=function(){var n,i;for(u&&(n=s.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(n){throw t?r():e=void 0,n}}e=void 0,n&&n.enter()};if(u)r=function(){s.nextTick(c)};else if(!o||n.navigator&&n.navigator.standalone)if(a&&a.resolve){var f=a.resolve(void 0);r=function(){f.then(c)}}else r=function(){i.call(n,c)};else{var h=!0,l=document.createTextNode("");new o(c).observe(l,{characterData:!0}),r=function(){l.data=h=!h}}return function(n){var i={fn:n,next:void 0};e&&(e.next=i),t||(t=i,r()),e=i}}},function(t,e,r){"use strict";var n=r(11);t.exports.f=function(t){return new function e(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n}),this.resolve=n(e),this.reject=n(r)}(t)}},function(t,e,r){"use strict";var n=r(2),i=r(8),o=r(30),s=r(66),a=r(12),u=r(43),c=r(4),f=r(41),h=r(22),l=r(7),p=r(131),d=r(39).f,g=r(9).f,v=r(91),y=r(45),m="prototype",_="Wrong index!",S=n.ArrayBuffer,b=n.DataView,w=n.Math,F=n.RangeError,E=n.Infinity,x=S,A=w.abs,k=w.pow,P=w.floor,C=w.log,T=w.LN2,R=i?"_b":"buffer",I=i?"_l":"byteLength",O=i?"_o":"byteOffset";function D(t,e,r){var n,i,o,s=new Array(r),a=8*r-e-1,u=(1<>1,f=23===e?k(2,-24)-k(2,-77):0,h=0,l=t<0||0===t&&1/t<0?1:0;for((t=A(t))!=t||t===E?(i=t!=t?1:0,n=u):(n=P(C(t)/T),t*(o=k(2,-n))<1&&(n--,o*=2),(t+=n+c>=1?f/o:f*k(2,1-c))*o>=2&&(n++,o/=2),n+c>=u?(i=0,n=u):n+c>=1?(i=(t*o-1)*k(2,e),n+=c):(i=t*k(2,c-1)*k(2,e),n=0));e>=8;s[h++]=255&i,i/=256,e-=8);for(n=n<0;s[h++]=255&n,n/=256,a-=8);return s[--h]|=128*l,s}function N(t,e,r){var n,i=8*r-e-1,o=(1<>1,a=i-7,u=r-1,c=t[u--],f=127&c;for(c>>=7;a>0;f=256*f+t[u],u--,a-=8);for(n=f&(1<<-a)-1,f>>=-a,a+=e;a>0;n=256*n+t[u],u--,a-=8);if(0===f)f=1-s;else{if(f===o)return n?NaN:c?-E:E;n+=k(2,e),f-=s}return(c?-1:1)*n*k(2,f-e)}function L(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function M(t){return[255&t]}function j(t){return[255&t,t>>8&255]}function U(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function B(t){return D(t,52,8)}function H(t){return D(t,23,4)}function V(t,e,r){g(t[m],e,{get:function(){return this[r]}})}function K(t,e,r,n){var i=p(+r);if(i+e>t[I])throw F(_);var o=t[R]._b,s=i+t[O],a=o.slice(s,s+e);return n?a:a.reverse()}function q(t,e,r,n,i,o){var s=p(+r);if(s+e>t[I])throw F(_);for(var a=t[R]._b,u=s+t[O],c=n(+i),f=0;fY;)(W=z[Y++])in S||a(S,W,x[W]);o||(J.constructor=S)}var G=new b(new S(2)),X=b[m].setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||u(b[m],{setInt8:function t(e,r){X.call(this,e,r<<24>>24)},setUint8:function t(e,r){X.call(this,e,r<<24>>24)}},!0)}else S=function t(e){f(this,S,"ArrayBuffer");var r=p(e);this._b=v.call(new Array(r),0),this[I]=r},b=function t(e,r,n){f(this,b,"DataView"),f(e,S,"DataView");var i=e[I],o=h(r);if(o<0||o>i)throw F("Wrong offset!");if(o+(n=void 0===n?i-o:l(n))>i)throw F("Wrong length!");this[R]=e,this[O]=o,this[I]=n},i&&(V(S,"byteLength","_l"),V(b,"buffer","_b"),V(b,"byteLength","_l"),V(b,"byteOffset","_o")),u(b[m],{getInt8:function t(e){return K(this,1,e)[0]<<24>>24},getUint8:function t(e){return K(this,1,e)[0]},getInt16:function t(e){var r=K(this,2,e,arguments[1]);return(r[1]<<8|r[0])<<16>>16},getUint16:function t(e){var r=K(this,2,e,arguments[1]);return r[1]<<8|r[0]},getInt32:function t(e){return L(K(this,4,e,arguments[1]))},getUint32:function t(e){return L(K(this,4,e,arguments[1]))>>>0},getFloat32:function t(e){return N(K(this,4,e,arguments[1]),23,4)},getFloat64:function t(e){return N(K(this,8,e,arguments[1]),52,8)},setInt8:function t(e,r){q(this,1,e,M,r)},setUint8:function t(e,r){q(this,1,e,M,r)},setInt16:function t(e,r){q(this,2,e,j,r,arguments[2])},setUint16:function t(e,r){q(this,2,e,j,r,arguments[2])},setInt32:function t(e,r){q(this,4,e,U,r,arguments[2])},setUint32:function t(e,r){q(this,4,e,U,r,arguments[2])},setFloat32:function t(e,r){q(this,4,e,H,r,arguments[2])},setFloat64:function t(e,r){q(this,8,e,B,r,arguments[2])}});y(S,"ArrayBuffer"),y(b,"DataView"),a(b[m],s.VIEW,!0),e.ArrayBuffer=S,e.DataView=b},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,p=e.signingKeys,d=e.client_id,g=e.client_secret,v=e.response_type,y=void 0===v?c:v,m=e.scope,_=void 0===m?f:m,S=e.redirect_uri,b=e.post_logout_redirect_uri,w=e.prompt,F=e.display,E=e.max_age,x=e.ui_locales,A=e.acr_values,k=e.resource,P=e.response_mode,C=e.filterProtocolClaims,T=void 0===C||C,R=e.loadUserInfo,I=void 0===R||R,O=e.staleStateAge,D=void 0===O?h:O,N=e.clockSkew,L=void 0===N?l:N,M=e.userInfoJwtIssuer,j=void 0===M?"OP":M,U=e.stateStore,B=void 0===U?new s.WebStorageStateStore:U,H=e.ResponseValidatorCtor,V=void 0===H?a.ResponseValidator:H,K=e.MetadataServiceCtor,q=void 0===K?u.MetadataService:K,W=e.extraQueryParams,J=void 0===W?{}:W,z=e.extraTokenParams,Y=void 0===z?{}:z;!function G(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._signingKeys=p,this._client_id=d,this._client_secret=g,this._response_type=y,this._scope=_,this._redirect_uri=S,this._post_logout_redirect_uri=b,this._prompt=w,this._display=F,this._max_age=E,this._ui_locales=x,this._acr_values=A,this._resource=k,this._response_mode=P,this._filterProtocolClaims=!!T,this._loadUserInfo=!!I,this._staleStateAge=D,this._clockSkew=L,this._userInfoJwtIssuer=j,this._stateStore=B,this._validator=new V(this),this._metadataService=new q(this),this._extraQueryParams="object"===(void 0===J?"undefined":n(J))?J:{},this._extraTokenParams="object"===(void 0===Y?"undefined":n(Y))?Y:{}}return i(t,[{key:"client_id",get:function t(){return this._client_id},set:function t(e){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=e}},{key:"client_secret",get:function t(){return this._client_secret}},{key:"response_type",get:function t(){return this._response_type}},{key:"scope",get:function t(){return this._scope}},{key:"redirect_uri",get:function t(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function t(){return this._post_logout_redirect_uri}},{key:"prompt",get:function t(){return this._prompt}},{key:"display",get:function t(){return this._display}},{key:"max_age",get:function t(){return this._max_age}},{key:"ui_locales",get:function t(){return this._ui_locales}},{key:"acr_values",get:function t(){return this._acr_values}},{key:"resource",get:function t(){return this._resource}},{key:"response_mode",get:function t(){return this._response_mode}},{key:"authority",get:function t(){return this._authority},set:function t(e){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=e}},{key:"metadataUrl",get:function t(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(".well-known/openid-configuration")<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=".well-known/openid-configuration")),this._metadataUrl}},{key:"metadata",get:function t(){return this._metadata},set:function t(e){this._metadata=e}},{key:"signingKeys",get:function t(){return this._signingKeys},set:function t(e){this._signingKeys=e}},{key:"filterProtocolClaims",get:function t(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function t(){return this._loadUserInfo}},{key:"staleStateAge",get:function t(){return this._staleStateAge}},{key:"clockSkew",get:function t(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function t(){return this._userInfoJwtIssuer}},{key:"stateStore",get:function t(){return this._stateStore}},{key:"validator",get:function t(){return this._validator}},{key:"metadataService",get:function t(){return this._metadataService}},{key:"extraQueryParams",get:function t(){return this._extraQueryParams},set:function t(e){"object"===(void 0===e?"undefined":n(e))?this._extraQueryParams=e:this._extraQueryParams={}}},{key:"extraTokenParams",get:function t(){return this._extraTokenParams},set:function t(e){"object"===(void 0===e?"undefined":n(e))?this._extraTokenParams=e:this._extraTokenParams={}}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(3),i=r(33);e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,o=e.store,s=void 0===o?i.Global.localStorage:o;!function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._store=s,this._prefix=n}return t.prototype.set=function t(e,r){return n.Log.debug("WebStorageStateStore.set",e),e=this._prefix+e,this._store.setItem(e,r),Promise.resolve()},t.prototype.get=function t(e){n.Log.debug("WebStorageStateStore.get",e),e=this._prefix+e;var r=this._store.getItem(e);return Promise.resolve(r)},t.prototype.remove=function t(e){n.Log.debug("WebStorageStateStore.remove",e),e=this._prefix+e;var r=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(r)},t.prototype.getAllKeys=function t(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var e=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;!function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function t(e,r){var i=this;if(!e)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",e),new Promise(function(t,o){var s=new i._XMLHttpRequest;s.open("GET",e);var a=i._contentTypes,u=i._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var r=s.getResponseHeader("Content-Type");if(r){var i=a.find(function(t){if(r.startsWith(t))return!0});if("application/jwt"==i)return void u(s).then(t,o);if(i)try{return void t(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+r+", from URL: "+e))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},r&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+r)),s.send()})},t.prototype.postForm=function t(e,r){var i=this;if(!e)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",e),new Promise(function(t,o){var s=new i._XMLHttpRequest;s.open("POST",e);var a=i._contentTypes;s.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",s.status),200!==s.status){if(400===s.status)if(i=s.getResponseHeader("Content-Type"))if(a.find(function(t){if(i.startsWith(t))return!0}))try{var r=JSON.parse(s.responseText);if(r&&r.error)return n.Log.error("JsonService.postForm: Error from server: ",r.error),void o(new Error(r.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void o(t)}o(Error(s.statusText+" ("+s.status+")"))}else{var i;if((i=s.getResponseHeader("Content-Type"))&&a.find(function(t){if(i.startsWith(t))return!0}))try{return void t(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void o(t)}o(Error("Invalid response Content-Type: "+i+", from URL: "+e))}},s.onerror=function(){n.Log.error("JsonService.postForm: network error"),o(Error("Network Error"))};var u="";for(var c in r){var f=r[c];f&&(u.length>0&&(u+="&"),u+=encodeURIComponent(c),u+="=",u+=encodeURIComponent(f))}s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.send(u)})},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;!function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function t(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function e(r){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(r))},t.clearStaleState=function e(r,n){var o=Date.now()/1e3-n;return r.getAllKeys().then(function(e){i.Log.debug("State.clearStaleState: got keys",e);for(var n=[],s=function s(a){var c=e[a];u=r.get(c).then(function(e){var n=!1;if(e)try{var s=t.fromStorageString(e);i.Log.debug("State.clearStaleState: got item from key: ",c,s.created),s.created<=o&&(n=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",c,t.message),n=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",c),n=!0;if(n)return i.Log.debug("State.clearStaleState: removed item for key: ",c),r.remove(c)}),n.push(u)},a=0;au;)n(a,r=e[u++])&&(~o(c,r)||c.push(r));return c}},function(t,e,r){var n=r(9),i=r(1),o=r(36);t.exports=r(8)?Object.defineProperties:function t(e,r){i(e);for(var s,a=o(r),u=a.length,c=0;u>c;)n.f(e,s=a[c++],r[s]);return e}},function(t,e,r){var n=r(16),i=r(39).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function t(e){return s&&"[object Window]"==o.call(e)?function(t){try{return i(t)}catch(t){return s.slice()}}(e):i(n(e))}},function(t,e,r){"use strict";var n=r(36),i=r(57),o=r(52),s=r(10),a=r(51),u=Object.assign;t.exports=!u||r(4)(function(){var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach(function(t){e[t]=t}),7!=u({},t)[r]||Object.keys(u({},e)).join("")!=n})?function t(e,r){for(var u=s(e),c=arguments.length,f=1,h=i.f,l=o.f;c>f;)for(var p,d=a(arguments[f++]),g=h?n(d).concat(h(d)):n(d),v=g.length,y=0;v>y;)l.call(d,p=g[y++])&&(u[p]=d[p]);return u}:u},function(t,e){t.exports=Object.is||function t(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}},function(t,e,r){"use strict";var n=r(11),i=r(5),o=r(111),s=[].slice,a={};t.exports=Function.bind||function t(e){var r=n(this),u=s.call(arguments,1),c=function(){var t=u.concat(s.call(arguments));return this instanceof c?function(t,e,r){if(!(e in a)){for(var n=[],i=0;i>>0||(s.test(o)?16:10))}:n},function(t,e,r){var n=r(2).parseFloat,i=r(47).trim;t.exports=1/n(r(78)+"-0")!=-1/0?function t(e){var r=i(String(e),3),o=n(r);return 0===o&&"-"==r.charAt(0)?-0:o}:n},function(t,e,r){var n=r(21);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=n(t))throw TypeError(e);return+t}},function(t,e,r){var n=r(5),i=Math.floor;t.exports=function t(e){return!n(e)&&isFinite(e)&&i(e)===e}},function(t,e){t.exports=Math.log1p||function t(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(t,e,r){var n=r(81),i=Math.pow,o=i(2,-52),s=i(2,-23),a=i(2,127)*(2-s),u=i(2,-126);t.exports=Math.fround||function t(e){var r,i,c=Math.abs(e),f=n(e);return ca||i!=i?f*(1/0):f*i}},function(t,e,r){var n=r(1);t.exports=function(t,e,r,i){try{return i?e(n(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&n(o.call(t)),e}}},function(t,e,r){var n=r(11),i=r(10),o=r(51),s=r(7);t.exports=function(t,e,r,a,u){n(e);var c=i(t),f=o(c),h=s(c.length),l=u?h-1:0,p=u?-1:1;if(r<2)for(;;){if(l in f){a=f[l],l+=p;break}if(l+=p,u?l<0:h<=l)throw TypeError("Reduce of empty array with no initial value")}for(;u?l>=0:h>l;l+=p)l in f&&(a=e(a,f[l],l,c));return a}},function(t,e,r){"use strict";var n=r(10),i=r(37),o=r(7);t.exports=[].copyWithin||function t(e,r){var s=n(this),a=o(s.length),u=i(e,a),c=i(r,a),f=arguments.length>2?arguments[2]:void 0,h=Math.min((void 0===f?a:i(f,a))-c,a-u),l=1;for(c0;)c in s?s[u]=s[c]:delete s[u],u+=l,c+=l;return s}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,r){"use strict";var n=r(93);r(0)({target:"RegExp",proto:!0,forced:n!==/./.exec},{exec:n})},function(t,e,r){r(8)&&"g"!=/./g.flags&&r(9).f(RegExp.prototype,"flags",{configurable:!0,get:r(53)})},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,r){var n=r(1),i=r(5),o=r(97);t.exports=function(t,e){if(n(t),i(e)&&e.constructor===t)return e;var r=o.f(t);return(0,r.resolve)(e),r.promise}},function(t,e,r){"use strict";var n=r(127),i=r(44);t.exports=r(65)("Map",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function t(e){var r=n.getEntry(i(this,"Map"),e);return r&&r.v},set:function t(e,r){return n.def(i(this,"Map"),0===e?0:e,r)}},n,!0)},function(t,e,r){"use strict";var n=r(9).f,i=r(38),o=r(43),s=r(20),a=r(41),u=r(42),c=r(83),f=r(121),h=r(40),l=r(8),p=r(31).fastKey,d=r(44),g=l?"_s":"size",v=function(t,e){var r,n=p(e);if("F"!==n)return t._i[n];for(r=t._f;r;r=r.n)if(r.k==e)return r};t.exports={getConstructor:function(t,e,r,c){var f=t(function(t,n){a(t,f,e,"_i"),t._t=e,t._i=i(null),t._f=void 0,t._l=void 0,t[g]=0,void 0!=n&&u(n,r,t[c],t)});return o(f.prototype,{clear:function t(){for(var r=d(this,e),n=r._i,i=r._f;i;i=i.n)i.r=!0,i.p&&(i.p=i.p.n=void 0),delete n[i.i];r._f=r._l=void 0,r[g]=0},delete:function(t){var r=d(this,e),n=v(r,t);if(n){var i=n.n,o=n.p;delete r._i[n.i],n.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==n&&(r._f=i),r._l==n&&(r._l=o),r[g]--}return!!n},forEach:function t(r){d(this,e);for(var n,i=s(r,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(i(n.v,n.k,this);n&&n.r;)n=n.p},has:function t(r){return!!v(d(this,e),r)}}),l&&n(f.prototype,"size",{get:function(){return d(this,e)[g]}}),f},def:function(t,e,r){var n,i,o=v(t,e);return o?o.v=r:(t._l=o={i:i=p(e,!0),k:e,v:r,p:n=t._l,n:void 0,r:!1},t._f||(t._f=o),n&&(n.n=o),t[g]++,"F"!==i&&(t._i[i]=o)),t},getEntry:v,setStrong:function(t,e,r){c(t,e,function(t,r){this._t=d(t,e),this._k=r,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},r?"entries":"values",!r,!0),h(e)}}},function(t,e,r){"use strict";var n=r(127),i=r(44);t.exports=r(65)("Set",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function t(e){return n.def(i(this,"Set"),e=0===e?0:e,e)}},n)},function(t,e,r){"use strict";var n,i=r(2),o=r(27)(0),s=r(13),a=r(31),u=r(108),c=r(130),f=r(5),h=r(44),l=r(44),p=!i.ActiveXObject&&"ActiveXObject"in i,d=a.getWeak,g=Object.isExtensible,v=c.ufstore,y=function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},m={get:function t(e){if(f(e)){var r=d(e);return!0===r?v(h(this,"WeakMap")).get(e):r?r[this._i]:void 0}},set:function t(e,r){return c.def(h(this,"WeakMap"),e,r)}},_=t.exports=r(65)("WeakMap",y,m,c,!0,!0);l&&p&&(u((n=c.getConstructor(y,"WeakMap")).prototype,m),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=_.prototype,r=e[t];s(e,t,function(e,i){if(f(e)&&!g(e)){this._f||(this._f=new n);var o=this._f[t](e,i);return"set"==t?this:o}return r.call(this,e,i)})}))},function(t,e,r){"use strict";var n=r(43),i=r(31).getWeak,o=r(1),s=r(5),a=r(41),u=r(42),c=r(27),f=r(15),h=r(44),l=c(5),p=c(6),d=0,g=function(t){return t._l||(t._l=new v)},v=function(){this.a=[]},y=function(t,e){return l(t.a,function(t){return t[0]===e})};v.prototype={get:function(t){var e=y(this,t);if(e)return e[1]},has:function(t){return!!y(this,t)},set:function(t,e){var r=y(this,t);r?r[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,r,o){var c=t(function(t,n){a(t,c,e,"_i"),t._t=e,t._i=d++,t._l=void 0,void 0!=n&&u(n,r,t[o],t)});return n(c.prototype,{delete:function(t){if(!s(t))return!1;var r=i(t);return!0===r?g(h(this,e)).delete(t):r&&f(r,this._i)&&delete r[this._i]},has:function t(r){if(!s(r))return!1;var n=i(r);return!0===n?g(h(this,e)).has(r):n&&f(n,this._i)}}),c},def:function(t,e,r){var n=i(o(e),!0);return!0===n?g(t).set(e,r):n[t._i]=r,t},ufstore:g}},function(t,e,r){var n=r(22),i=r(7);t.exports=function(t){if(void 0===t)return 0;var e=n(t),r=i(e);if(e!==r)throw RangeError("Wrong length!");return r}},function(t,e,r){var n=r(39),i=r(57),o=r(1),s=r(2).Reflect;t.exports=s&&s.ownKeys||function t(e){var r=n.f(o(e)),s=i.f;return s?r.concat(s(e)):r}},function(t,e,r){"use strict";var n=r(58),i=r(5),o=r(7),s=r(20),a=r(6)("isConcatSpreadable");t.exports=function t(e,r,u,c,f,h,l,p){for(var d,g,v=f,y=0,m=!!l&&s(l,p,3);y0)v=t(e,r,d,o(d.length),v,h-1)-1;else{if(v>=9007199254740991)throw TypeError();e[v]=d}v++}y++}return v}},function(t,e,r){var n=r(7),i=r(80),o=r(25);t.exports=function(t,e,r,s){var a=String(o(t)),u=a.length,c=void 0===r?" ":String(r),f=n(e);if(f<=u||""==c)return a;var h=f-u,l=i.call(c,Math.ceil(h/c.length));return l.length>h&&(l=l.slice(0,h)),s?l+a:a+l}},function(t,e,r){var n=r(36),i=r(16),o=r(52).f;t.exports=function(t){return function(e){for(var r,s=i(e),a=n(s),u=a.length,c=0,f=[];u>c;)o.call(s,r=a[c++])&&f.push(t?[r,s[r]]:s[r]);return f}}},function(t,e,r){var n=r(46),i=r(137);t.exports=function(t){return function e(){if(n(this)!=t)throw TypeError(t+"#toJSON isn't generic");return i(this)}}},function(t,e,r){var n=r(42);t.exports=function(t,e){var r=[];return n(t,!1,r.push,r,e),r}},function(t,e){t.exports=Math.scale||function t(e,r,n,i,o){return 0===arguments.length||e!=e||r!=r||n!=n||i!=i||o!=o?NaN:e===1/0||e===-1/0?e:(e-r)*(o-i)/(n-r)+i}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClient=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};!function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.response_type,o=r.scope,s=r.redirect_uri,u=r.data,c=r.state,f=r.prompt,h=r.display,l=r.max_age,p=r.ui_locales,d=r.id_token_hint,g=r.login_hint,v=r.acr_values,y=r.resource,m=r.request,_=r.request_uri,S=r.response_mode,b=r.extraQueryParams,w=r.extraTokenParams,F=r.request_type,E=r.skipUserInfo,x=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var A=this._settings.client_id;n=n||this._settings.response_type,o=o||this._settings.scope,s=s||this._settings.redirect_uri,f=f||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,p=p||this._settings.ui_locales,v=v||this._settings.acr_values,y=y||this._settings.resource,S=S||this._settings.response_mode,b=b||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var k=this._settings.authority;return a.SigninRequest.isCode(n)&&"code"!==n?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then(function(t){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",t);var r=new a.SigninRequest({url:t,client_id:A,redirect_uri:s,response_type:n,scope:o,data:u||c,authority:k,prompt:f,display:h,max_age:l,ui_locales:p,id_token_hint:d,login_hint:g,acr_values:v,resource:y,request:m,request_uri:_,extraQueryParams:b,extraTokenParams:w,request_type:F,response_mode:S,client_secret:e._settings.client_secret,skipUserInfo:E}),P=r.state;return(x=x||e._stateStore).set(P.id,P.toStorageString()).then(function(){return r})})},t.prototype.readSigninResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var o="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type)?"?":"#",s=new u.SigninResponse(e,o);return s.state?(r=r||this._stateStore,(n?r.remove.bind(r):r.get.bind(r))(s.state).then(function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:h.SigninState.fromStorageString(t),response:s}})):(i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response")))},t.prototype.processSigninResponse=function t(e,r){var n=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(e,r,!0).then(function(t){var e=t.state,r=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),n._validator.validateSigninResponse(e,r)})},t.prototype.createSignoutRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.id_token_hint,o=r.data,s=r.state,a=r.post_logout_redirect_uri,u=r.extraQueryParams,f=r.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),a=a||this._settings.post_logout_redirect_uri,u=u||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then(function(t){if(!t)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",t);var r=new c.SignoutRequest({url:t,id_token_hint:n,post_logout_redirect_uri:a,data:o||s,extraQueryParams:u,request_type:f}),l=r.state;return l&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||e._stateStore).set(l.id,l.toStorageString())),r})},t.prototype.readSignoutResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var o=new f.SignoutResponse(e);if(!o.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),o.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",o.error),Promise.reject(new s.ErrorResponse(o))):Promise.resolve({undefined:void 0,response:o});var a=o.state;return r=r||this._stateStore,(n?r.remove.bind(r):r.get.bind(r))(a).then(function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.State.fromStorageString(t),response:o}})},t.prototype.processSignoutResponse=function t(e,r){var n=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(e,r,!0).then(function(t){var e=t.state,r=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),n._validator.validateSignoutResponse(e,r)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),r)})},t.prototype.clearStaleState=function t(e){return i.Log.debug("OidcClient.clearStaleState"),e=e||this._stateStore,l.State.clearStaleState(e,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function t(){return this.settings.stateStore}},{key:"_validator",get:function t(){return this.settings.validator}},{key:"_metadataService",get:function t(){return this.settings.metadataService}},{key:"settings",get:function t(){return this._settings}},{key:"metadataService",get:function t(){return this._metadataService}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(101),i=r(49),o=r(3);e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new s(this._settings)}return t.prototype.exchangeCode=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(r=Object.assign({},r)).grant_type=r.grant_type||"authorization_code",r.client_id=r.client_id||this._settings.client_id,r.redirect_uri=r.redirect_uri||this._settings.redirect_uri,r.code?r.redirect_uri?r.code_verifier?r.client_id?this._metadataService.getTokenEndpoint(!1).then(function(t){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),e._jsonService.postForm(t,r).then(function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t})}):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(r=Object.assign({},r)).grant_type=r.grant_type||"refresh_token",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret,r.refresh_token?r.client_id?this._metadataService.getTokenEndpoint(!1).then(function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),e._jsonService.postForm(t,r).then(function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t})}):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(3);e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.error,o=r.error_description,s=r.error_uri,a=r.state,u=r.session_state;if(function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),!i)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var f=function h(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,o||i));return f.name="ErrorResponse",f.error=i,f.error_description=o,f.error_uri=s,f.state=a,f.session_state=u,f}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(3),i=r(55),o=r(143);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,f=e.authority,h=e.data,l=e.prompt,p=e.display,d=e.max_age,g=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,b=e.request,w=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function P(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!f)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var C=t.isOidc(u),T=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:C,data:h,client_id:s,authority:f,redirect_uri:a,code_verifier:T,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),C&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),T&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var R={prompt:l,display:p,max_age:d,ui_locales:g,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:b,request_uri:w,response_mode:S};for(var I in R)R[I]&&(r=i.UrlUtility.addQueryParam(r,I,R[I]));for(var O in F)r=i.UrlUtility.addQueryParam(r,O,F[O]);this.url=r}return t.isOidc=function t(e){return!!e.split(/\s+/g).filter(function(t){return"id_token"===t})[0]},t.isOAuth=function t(e){return!!e.split(/\s+/g).filter(function(t){return"token"===t})[0]},t.isCode=function t(e){return!!e.split(/\s+/g).filter(function(t){return"code"===t})[0]},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,c=r.code_verifier,f=r.response_mode,h=r.client_secret,l=r.scope,p=r.extraTokenParams,d=r.skipUserInfo;!function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var v=function y(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));if(!0===n?v._nonce=(0,a.default)():n&&(v._nonce=n),!0===c?v._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():c&&(v._code_verifier=c),v.code_verifier){var m=s.JoseUtil.hashString(v.code_verifier,"SHA256");v._code_challenge=s.JoseUtil.hexToBase64Url(m)}return v._redirect_uri=u,v._authority=i,v._client_id=o,v._response_mode=f,v._client_secret=h,v._scope=l,v._extraTokenParams=p,v._skipUserInfo=d,v}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function t(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function t(r){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(r))},n(e,[{key:"nonce",get:function t(){return this._nonce}},{key:"authority",get:function t(){return this._authority}},{key:"client_id",get:function t(){return this._client_id}},{key:"redirect_uri",get:function t(){return this._redirect_uri}},{key:"code_verifier",get:function t(){return this._code_verifier}},{key:"code_challenge",get:function t(){return this._code_challenge}},{key:"response_mode",get:function t(){return this._response_mode}},{key:"client_secret",get:function t(){return this._client_secret}},{key:"scope",get:function t(){return this._scope}},{key:"extraTokenParams",get:function t(){return this._extraTokenParams}},{key:"skipUserInfo",get:function t(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function n(){return(0,i.default)().replace(/-/g,"")};var i=function o(t){return t&&t.__esModule?t:{default:t}}(r(365));t.exports=e.default},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:"expired",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function t(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(3),i=r(380);var o=60;e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?o:r,s=e.accessTokenExpiringTimer,a=void 0===s?new i.Timer("Access token expiring"):s,u=e.accessTokenExpiredTimer,c=void 0===u?new i.Timer("Access token expired"):u;!function f(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=a,this._accessTokenExpired=c}return t.prototype.load=function t(e){if(e.access_token&&void 0!==e.expires_in){var r=e.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",r),r>0){var i=r-this._accessTokenExpiringNotificationTime;i<=0&&(i=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",i),this._accessTokenExpiring.init(i)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var o=r+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",o),this._accessTokenExpired.init(o)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function t(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function t(e){this._accessTokenExpiring.addHandler(e)},t.prototype.removeAccessTokenExpiring=function t(e){this._accessTokenExpiring.removeHandler(e)},t.prototype.addAccessTokenExpired=function t(e){this._accessTokenExpired.addHandler(e)},t.prototype.removeAccessTokenExpired=function t(e){this._accessTokenExpired.removeHandler(e)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(3);e.Event=function(){function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function t(e){this._callbacks.push(e)},t.prototype.removeHandler=function t(e){var r=this._callbacks.findIndex(function(t){return t===e});r>=0&&this._callbacks.splice(r,1)},t.prototype.raise=function t(){n.Log.debug("Event: Raising event: "+this._name);for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=a,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),this._userManager.getUser().then(function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then(function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)}).catch(function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)})}).catch(function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})}return t.prototype._start=function t(e){var r=this,n=e.session_state;n&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",n,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",n,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(n):this._metadataService.getCheckSessionIframe().then(function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var e=r._client_id,o=r._checkSessionInterval,s=r._stopCheckSessionOnError;r._checkSessionIFrame=new r._CheckSessionIFrameCtor(r._callback.bind(r),e,t,o,s),r._checkSessionIFrame.load().then(function(){r._checkSessionIFrame.start(n)})}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")}).catch(function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)}))},t.prototype._stop=function t(){var e=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var r=this._timer.setInterval(function(){e._timer.clearInterval(r),e._userManager.querySessionStatus().then(function(t){var r={session_state:t.session_state};t.sub&&t.sid&&(r.profile={sub:t.sub,sid:t.sid}),e._start(r)}).catch(function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)})},1e3)},t.prototype._callback=function t(){var e=this;this._userManager.querySessionStatus().then(function(t){var r=!0;t?t.sub===e._sub?(r=!1,e._checkSessionIFrame.start(t.session_state),t.sid===e._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",t.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",t.session_state),e._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",t.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(e._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),e._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),e._userManager.events._raiseUserSignedIn()))}).catch(function(t){e._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",t.message),e._userManager.events._raiseUserSignedOut())})},n(t,[{key:"_settings",get:function t(){return this._userManager.settings}},{key:"_metadataService",get:function t(){return this._userManager.metadataService}},{key:"_client_id",get:function t(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function t(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function t(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(3);var i=2e3;e.CheckSessionIFrame=function(){function t(e,r,n,o){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];!function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=o||i,this._stopOnError=s;var u=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,u),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.style.width=0,this._frame.style.height=0,this._frame.src=n}return t.prototype.load=function t(){var e=this;return new Promise(function(t){e._frame.onload=function(){t()},window.document.body.appendChild(e._frame),e._boundMessageEvent=e._message.bind(e),window.addEventListener("message",e._boundMessageEvent,!1)})},t.prototype._message=function t(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&("error"===e.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===e.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+e.data+" message from check session op iframe"))},t.prototype.start=function t(e){var r=this;if(this._session_state!==e){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=e;var i=function t(){r._frame.contentWindow.postMessage(r._client_id+" "+r._session_state,r._frame_origin)};i(),this._timer=window.setInterval(i,this._interval)}},t.prototype.stop=function t(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(3),i=r(49),o=r(33);e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new s(this._settings)}return t.prototype.revoke=function t(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!e)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if("access_token"!==o&&"refresh_token"!=o)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then(function(t){if(t){n.Log.debug("TokenRevocationClient.revoke: Revoking "+o);var s=i._settings.client_id,a=i._settings.client_secret;return i._revoke(t,s,a,e,o)}if(r)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")})},t.prototype._revoke=function t(e,r,i,o,s){var a=this;return new Promise(function(t,u){var c=new a._XMLHttpRequestCtor;c.open("POST",e),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?t():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var f="client_id="+encodeURIComponent(r);i&&(f+="&client_secret="+encodeURIComponent(i)),f+="&token_type_hint="+encodeURIComponent(s),f+="&token="+encodeURIComponent(o),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(f)})},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;ro;)z(e,n=i[o++],r[n]);return e},G=function t(e){var r=L.call(this,e=b(e,!0));return!(this===B&&i(j,e)&&!i(U,e))&&(!(r||!i(this,e)||!i(j,e)||i(this,D)&&this[D][e])||r)},X=function t(e,r){if(e=S(e),r=b(r,!0),e!==B||!i(j,r)||i(U,r)){var n=P(e,r);return!n||!i(j,r)||i(e,D)&&e[D][r]||(n.enumerable=!0),n}},$=function t(e){for(var r,n=T(S(e)),o=[],s=0;n.length>s;)i(j,r=n[s++])||r==D||r==u||o.push(r);return o},Q=function t(e){for(var r,n=e===B,o=T(n?U:S(e)),s=[],a=0;o.length>a;)!i(j,r=o[a++])||n&&!i(B,r)||s.push(j[r]);return s};H||(a((R=function t(){if(this instanceof R)throw TypeError("Symbol is not a constructor!");var e=l(arguments.length>0?arguments[0]:void 0),r=function(t){this===B&&r.call(U,t),i(this,D)&&i(this[D],e)&&(this[D][e]=!1),q(this,e,w(1,t))};return o&&K&&q(B,e,{configurable:!0,set:r}),W(e)}).prototype,"toString",function t(){return this._k}),x.f=X,A.f=z,r(39).f=E.f=$,r(52).f=G,r(57).f=Q,o&&!r(30)&&a(B,"propertyIsEnumerable",G,!0),d.f=function(t){return W(p(t))}),s(s.G+s.W+s.F*!H,{Symbol:R});for(var Z="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Z.length>tt;)p(Z[tt++]);for(var et=k(p.store),rt=0;et.length>rt;)g(et[rt++]);s(s.S+s.F*!H,"Symbol",{for:function(t){return i(M,t+="")?M[t]:M[t]=R(t)},keyFor:function t(e){if(!J(e))throw TypeError(e+" is not a symbol!");for(var r in M)if(M[r]===e)return r},useSetter:function(){K=!0},useSimple:function(){K=!1}}),s(s.S+s.F*!H,"Object",{create:function t(e,r){return void 0===r?F(e):Y(F(e),r)},defineProperty:z,defineProperties:Y,getOwnPropertyDescriptor:X,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),I&&s(s.S+s.F*(!H||c(function(){var t=R();return"[null]"!=O([t])||"{}"!=O({a:t})||"{}"!=O(Object(t))})),"JSON",{stringify:function t(e){for(var r,n,i=[e],o=1;arguments.length>o;)i.push(arguments[o++]);if(n=r=i[1],(_(r)||void 0!==e)&&!J(e))return y(r)||(r=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!J(e))return e}),i[1]=r,O.apply(I,i)}}),R.prototype[N]||r(12)(R.prototype,N,R.prototype.valueOf),h(R,"Symbol"),h(Math,"Math",!0),h(n.JSON,"JSON",!0)},function(t,e,r){t.exports=r(50)("native-function-to-string",Function.toString)},function(t,e,r){var n=r(36),i=r(57),o=r(52);t.exports=function(t){var e=n(t),r=i.f;if(r)for(var s,a=r(t),u=o.f,c=0;a.length>c;)u.call(t,s=a[c++])&&e.push(s);return e}},function(t,e,r){var n=r(0);n(n.S,"Object",{create:r(38)})},function(t,e,r){var n=r(0);n(n.S+n.F*!r(8),"Object",{defineProperty:r(9).f})},function(t,e,r){var n=r(0);n(n.S+n.F*!r(8),"Object",{defineProperties:r(106)})},function(t,e,r){var n=r(16),i=r(17).f;r(26)("getOwnPropertyDescriptor",function(){return function t(e,r){return i(n(e),r)}})},function(t,e,r){var n=r(10),i=r(18);r(26)("getPrototypeOf",function(){return function t(e){return i(n(e))}})},function(t,e,r){var n=r(10),i=r(36);r(26)("keys",function(){return function t(e){return i(n(e))}})},function(t,e,r){r(26)("getOwnPropertyNames",function(){return r(107).f})},function(t,e,r){var n=r(5),i=r(31).onFreeze;r(26)("freeze",function(t){return function e(r){return t&&n(r)?t(i(r)):r}})},function(t,e,r){var n=r(5),i=r(31).onFreeze;r(26)("seal",function(t){return function e(r){return t&&n(r)?t(i(r)):r}})},function(t,e,r){var n=r(5),i=r(31).onFreeze;r(26)("preventExtensions",function(t){return function e(r){return t&&n(r)?t(i(r)):r}})},function(t,e,r){var n=r(5);r(26)("isFrozen",function(t){return function e(r){return!n(r)||!!t&&t(r)}})},function(t,e,r){var n=r(5);r(26)("isSealed",function(t){return function e(r){return!n(r)||!!t&&t(r)}})},function(t,e,r){var n=r(5);r(26)("isExtensible",function(t){return function e(r){return!!n(r)&&(!t||t(r))}})},function(t,e,r){var n=r(0);n(n.S+n.F,"Object",{assign:r(108)})},function(t,e,r){var n=r(0);n(n.S,"Object",{is:r(109)})},function(t,e,r){var n=r(0);n(n.S,"Object",{setPrototypeOf:r(77).set})},function(t,e,r){"use strict";var n=r(46),i={};i[r(6)("toStringTag")]="z",i+""!="[object z]"&&r(13)(Object.prototype,"toString",function t(){return"[object "+n(this)+"]"},!0)},function(t,e,r){var n=r(0);n(n.P,"Function",{bind:r(110)})},function(t,e,r){var n=r(9).f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||r(8)&&n(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,e,r){"use strict";var n=r(5),i=r(18),o=r(6)("hasInstance"),s=Function.prototype;o in s||r(9).f(s,o,{value:function(t){if("function"!=typeof this||!n(t))return!1;if(!n(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,r){var n=r(0),i=r(112);n(n.G+n.F*(parseInt!=i),{parseInt:i})},function(t,e,r){var n=r(0),i=r(113);n(n.G+n.F*(parseFloat!=i),{parseFloat:i})},function(t,e,r){"use strict";var n=r(2),i=r(15),o=r(21),s=r(79),a=r(24),u=r(4),c=r(39).f,f=r(17).f,h=r(9).f,l=r(47).trim,p=n.Number,d=p,g=p.prototype,v="Number"==o(r(38)(g)),y="trim"in String.prototype,m=function(t){var e=a(t,!1);if("string"==typeof e&&e.length>2){var r,n,i,o=(e=y?e.trim():l(e,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=e.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+e}for(var s,u=e.slice(2),c=0,f=u.length;ci)return NaN;return parseInt(u,n)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function t(e){var r=arguments.length<1?0:e,n=this;return n instanceof p&&(v?u(function(){g.valueOf.call(n)}):"Number"!=o(n))?s(new d(m(r)),n,p):m(r)};for(var _,S=r(8)?c(d):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),b=0;S.length>b;b++)i(d,_=S[b])&&!i(p,_)&&h(p,_,f(d,_));p.prototype=g,g.constructor=p,r(13)(n,"Number",p)}},function(t,e,r){"use strict";var n=r(0),i=r(22),o=r(114),s=r(80),a=1..toFixed,u=Math.floor,c=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",h=function(t,e){for(var r=-1,n=e;++r<6;)n+=t*c[r],c[r]=n%1e7,n=u(n/1e7)},l=function(t){for(var e=6,r=0;--e>=0;)r+=c[e],c[e]=u(r/t),r=r%t*1e7},p=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==c[t]){var r=String(c[t]);e=""===e?r:e+s.call("0",7-r.length)+r}return e},d=function(t,e,r){return 0===e?r:e%2==1?d(t,e-1,r*t):d(t*t,e/2,r)};n(n.P+n.F*(!!a&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r(4)(function(){a.call({})})),"Number",{toFixed:function t(e){var r,n,a,u,c=o(this,f),g=i(e),v="",y="0";if(g<0||g>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(v="-",c=-c),c>1e-21)if(n=(r=function(t){for(var e=0,r=t;r>=4096;)e+=12,r/=4096;for(;r>=2;)e+=1,r/=2;return e}(c*d(2,69,1))-69)<0?c*d(2,-r,1):c/d(2,r,1),n*=4503599627370496,(r=52-r)>0){for(h(0,n),a=g;a>=7;)h(1e7,0),a-=7;for(h(d(10,a,1),0),a=r-1;a>=23;)l(1<<23),a-=23;l(1<0?v+((u=y.length)<=g?"0."+s.call("0",g-u)+y:y.slice(0,u-g)+"."+y.slice(u-g)):v+y}})},function(t,e,r){"use strict";var n=r(0),i=r(4),o=r(114),s=1..toPrecision;n(n.P+n.F*(i(function(){return"1"!==s.call(1,void 0)})||!i(function(){s.call({})})),"Number",{toPrecision:function t(e){var r=o(this,"Number#toPrecision: incorrect invocation!");return void 0===e?s.call(r):s.call(r,e)}})},function(t,e,r){var n=r(0);n(n.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,r){var n=r(0),i=r(2).isFinite;n(n.S,"Number",{isFinite:function t(e){return"number"==typeof e&&i(e)}})},function(t,e,r){var n=r(0);n(n.S,"Number",{isInteger:r(115)})},function(t,e,r){var n=r(0);n(n.S,"Number",{isNaN:function t(e){return e!=e}})},function(t,e,r){var n=r(0),i=r(115),o=Math.abs;n(n.S,"Number",{isSafeInteger:function t(e){return i(e)&&o(e)<=9007199254740991}})},function(t,e,r){var n=r(0);n(n.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,r){var n=r(0);n(n.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,r){var n=r(0),i=r(113);n(n.S+n.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,e,r){var n=r(0),i=r(112);n(n.S+n.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,e,r){var n=r(0),i=r(116),o=Math.sqrt,s=Math.acosh;n(n.S+n.F*!(s&&710==Math.floor(s(Number.MAX_VALUE))&&s(1/0)==1/0),"Math",{acosh:function t(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:i(e-1+o(e-1)*o(e+1))}})},function(t,e,r){var n=r(0),i=Math.asinh;n(n.S+n.F*!(i&&1/i(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,r){var n=r(0),i=Math.atanh;n(n.S+n.F*!(i&&1/i(-0)<0),"Math",{atanh:function t(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},function(t,e,r){var n=r(0),i=r(81);n(n.S,"Math",{cbrt:function t(e){return i(e=+e)*Math.pow(Math.abs(e),1/3)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{clz32:function t(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},function(t,e,r){var n=r(0),i=Math.exp;n(n.S,"Math",{cosh:function t(e){return(i(e=+e)+i(-e))/2}})},function(t,e,r){var n=r(0),i=r(82);n(n.S+n.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,e,r){var n=r(0);n(n.S,"Math",{fround:r(117)})},function(t,e,r){var n=r(0),i=Math.abs;n(n.S,"Math",{hypot:function t(e,r){for(var n,o,s=0,a=0,u=arguments.length,c=0;a0?(o=n/c)*o:n;return c===1/0?1/0:c*Math.sqrt(s)}})},function(t,e,r){var n=r(0),i=Math.imul;n(n.S+n.F*r(4)(function(){return-5!=i(4294967295,5)||2!=i.length}),"Math",{imul:function t(e,r){var n=+e,i=+r,o=65535&n,s=65535&i;return 0|o*s+((65535&n>>>16)*s+o*(65535&i>>>16)<<16>>>0)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{log10:function t(e){return Math.log(e)*Math.LOG10E}})},function(t,e,r){var n=r(0);n(n.S,"Math",{log1p:r(116)})},function(t,e,r){var n=r(0);n(n.S,"Math",{log2:function t(e){return Math.log(e)/Math.LN2}})},function(t,e,r){var n=r(0);n(n.S,"Math",{sign:r(81)})},function(t,e,r){var n=r(0),i=r(82),o=Math.exp;n(n.S+n.F*r(4)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function t(e){return Math.abs(e=+e)<1?(i(e)-i(-e))/2:(o(e-1)-o(-e-1))*(Math.E/2)}})},function(t,e,r){var n=r(0),i=r(82),o=Math.exp;n(n.S,"Math",{tanh:function t(e){var r=i(e=+e),n=i(-e);return r==1/0?1:n==1/0?-1:(r-n)/(o(e)+o(-e))}})},function(t,e,r){var n=r(0);n(n.S,"Math",{trunc:function t(e){return(e>0?Math.floor:Math.ceil)(e)}})},function(t,e,r){var n=r(0),i=r(37),o=String.fromCharCode,s=String.fromCodePoint;n(n.S+n.F*(!!s&&1!=s.length),"String",{fromCodePoint:function t(e){for(var r,n=[],s=arguments.length,a=0;s>a;){if(r=+arguments[a++],i(r,1114111)!==r)throw RangeError(r+" is not a valid code point");n.push(r<65536?o(r):o(55296+((r-=65536)>>10),r%1024+56320))}return n.join("")}})},function(t,e,r){var n=r(0),i=r(16),o=r(7);n(n.S,"String",{raw:function t(e){for(var r=i(e.raw),n=o(r.length),s=arguments.length,a=[],u=0;n>u;)a.push(String(r[u++])),u=e.length?{value:void 0,done:!0}:(t=n(e,r),this._i+=t.length,{value:t,done:!1})})},function(t,e,r){"use strict";var n=r(0),i=r(59)(!1);n(n.P,"String",{codePointAt:function t(e){return i(this,e)}})},function(t,e,r){"use strict";var n=r(0),i=r(7),o=r(85),s="".endsWith;n(n.P+n.F*r(86)("endsWith"),"String",{endsWith:function t(e){var r=o(this,e,"endsWith"),n=arguments.length>1?arguments[1]:void 0,a=i(r.length),u=void 0===n?a:Math.min(i(n),a),c=String(e);return s?s.call(r,c,u):r.slice(u-c.length,u)===c}})},function(t,e,r){"use strict";var n=r(0),i=r(85);n(n.P+n.F*r(86)("includes"),"String",{includes:function t(e){return!!~i(this,e,"includes").indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(t,e,r){var n=r(0);n(n.P,"String",{repeat:r(80)})},function(t,e,r){"use strict";var n=r(0),i=r(7),o=r(85),s="".startsWith;n(n.P+n.F*r(86)("startsWith"),"String",{startsWith:function t(e){var r=o(this,e,"startsWith"),n=i(Math.min(arguments.length>1?arguments[1]:void 0,r.length)),a=String(e);return s?s.call(r,a,n):r.slice(n,n+a.length)===a}})},function(t,e,r){"use strict";r(14)("anchor",function(t){return function e(r){return t(this,"a","name",r)}})},function(t,e,r){"use strict";r(14)("big",function(t){return function e(){return t(this,"big","","")}})},function(t,e,r){"use strict";r(14)("blink",function(t){return function e(){return t(this,"blink","","")}})},function(t,e,r){"use strict";r(14)("bold",function(t){return function e(){return t(this,"b","","")}})},function(t,e,r){"use strict";r(14)("fixed",function(t){return function e(){return t(this,"tt","","")}})},function(t,e,r){"use strict";r(14)("fontcolor",function(t){return function e(r){return t(this,"font","color",r)}})},function(t,e,r){"use strict";r(14)("fontsize",function(t){return function e(r){return t(this,"font","size",r)}})},function(t,e,r){"use strict";r(14)("italics",function(t){return function e(){return t(this,"i","","")}})},function(t,e,r){"use strict";r(14)("link",function(t){return function e(r){return t(this,"a","href",r)}})},function(t,e,r){"use strict";r(14)("small",function(t){return function e(){return t(this,"small","","")}})},function(t,e,r){"use strict";r(14)("strike",function(t){return function e(){return t(this,"strike","","")}})},function(t,e,r){"use strict";r(14)("sub",function(t){return function e(){return t(this,"sub","","")}})},function(t,e,r){"use strict";r(14)("sup",function(t){return function e(){return t(this,"sup","","")}})},function(t,e,r){var n=r(0);n(n.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(24);n(n.P+n.F*r(4)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function t(e){var r=i(this),n=o(r);return"number"!=typeof n||isFinite(n)?r.toISOString():null}})},function(t,e,r){var n=r(0),i=r(234);n(n.P+n.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},function(t,e,r){"use strict";var n=r(4),i=Date.prototype.getTime,o=Date.prototype.toISOString,s=function(t){return t>9?t:"0"+t};t.exports=n(function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-5e13-1))})||!n(function(){o.call(new Date(NaN))})?function t(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var e=this,r=e.getUTCFullYear(),n=e.getUTCMilliseconds(),o=r<0?"-":r>9999?"+":"";return o+("00000"+Math.abs(r)).slice(o?-6:-4)+"-"+s(e.getUTCMonth()+1)+"-"+s(e.getUTCDate())+"T"+s(e.getUTCHours())+":"+s(e.getUTCMinutes())+":"+s(e.getUTCSeconds())+"."+(n>99?n:"0"+s(n))+"Z"}:o},function(t,e,r){var n=Date.prototype,i=n.toString,o=n.getTime;new Date(NaN)+""!="Invalid Date"&&r(13)(n,"toString",function t(){var e=o.call(this);return e==e?i.call(this):"Invalid Date"})},function(t,e,r){var n=r(6)("toPrimitive"),i=Date.prototype;n in i||r(12)(i,n,r(237))},function(t,e,r){"use strict";var n=r(1),i=r(24);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(n(this),"number"!=t)}},function(t,e,r){var n=r(0);n(n.S,"Array",{isArray:r(58)})},function(t,e,r){"use strict";var n=r(20),i=r(0),o=r(10),s=r(118),a=r(87),u=r(7),c=r(88),f=r(89);i(i.S+i.F*!r(61)(function(t){Array.from(t)}),"Array",{from:function t(e){var r,i,h,l,p=o(e),d="function"==typeof this?this:Array,g=arguments.length,v=g>1?arguments[1]:void 0,y=void 0!==v,m=0,_=f(p);if(y&&(v=n(v,g>2?arguments[2]:void 0,2)),void 0==_||d==Array&&a(_))for(i=new d(r=u(p.length));r>m;m++)c(i,m,y?v(p[m],m):p[m]);else for(l=_.call(p),i=new d;!(h=l.next()).done;m++)c(i,m,y?s(l,v,[h.value,m],!0):h.value);return i.length=m,i}})},function(t,e,r){"use strict";var n=r(0),i=r(88);n(n.S+n.F*r(4)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function t(){for(var e=0,r=arguments.length,n=new("function"==typeof this?this:Array)(r);r>e;)i(n,e,arguments[e++]);return n.length=r,n}})},function(t,e,r){"use strict";var n=r(0),i=r(16),o=[].join;n(n.P+n.F*(r(51)!=Object||!r(23)(o)),"Array",{join:function t(e){return o.call(i(this),void 0===e?",":e)}})},function(t,e,r){"use strict";var n=r(0),i=r(76),o=r(21),s=r(37),a=r(7),u=[].slice;n(n.P+n.F*r(4)(function(){i&&u.call(i)}),"Array",{slice:function t(e,r){var n=a(this.length),i=o(this);if(r=void 0===r?n:r,"Array"==i)return u.call(this,e,r);for(var c=s(e,n),f=s(r,n),h=a(f-c),l=new Array(h),p=0;p1&&(c=Math.min(c,o(arguments[1]))),c<0&&(c=n+c);c>=0;c--)if(c in r&&r[c]===e)return c||0;return-1}})},function(t,e,r){var n=r(0);n(n.P,"Array",{copyWithin:r(120)}),r(32)("copyWithin")},function(t,e,r){var n=r(0);n(n.P,"Array",{fill:r(91)}),r(32)("fill")},function(t,e,r){"use strict";var n=r(0),i=r(27)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),n(n.P+n.F*o,"Array",{find:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),r(32)("find")},function(t,e,r){"use strict";var n=r(0),i=r(27)(6),o="findIndex",s=!0;o in[]&&Array(1)[o](function(){s=!1}),n(n.P+n.F*s,"Array",{findIndex:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),r(32)(o)},function(t,e,r){r(40)("Array")},function(t,e,r){var n=r(2),i=r(79),o=r(9).f,s=r(39).f,a=r(60),u=r(53),c=n.RegExp,f=c,h=c.prototype,l=/a/g,p=/a/g,d=new c(l)!==l;if(r(8)&&(!d||r(4)(function(){return p[r(6)("match")]=!1,c(l)!=l||c(p)==p||"/a/i"!=c(l,"i")}))){c=function t(e,r){var n=this instanceof c,o=a(e),s=void 0===r;return!n&&o&&e.constructor===c&&s?e:i(d?new f(o&&!s?e.source:e,r):f((o=e instanceof c)?e.source:e,o&&s?u.call(e):r),n?this:h,c)};for(var g=function(t){t in c||o(c,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},v=s(f),y=0;v.length>y;)g(v[y++]);h.constructor=c,c.prototype=h,r(13)(n,"RegExp",c)}r(40)("RegExp")},function(t,e,r){"use strict";r(123);var n=r(1),i=r(53),o=r(8),s=/./.toString,a=function(t){r(13)(RegExp.prototype,"toString",t,!0)};r(4)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?a(function t(){var e=n(this);return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)}):"toString"!=s.name&&a(function t(){return s.call(this)})},function(t,e,r){"use strict";var n=r(1),i=r(7),o=r(94),s=r(62);r(63)("match",1,function(t,e,r,a){return[function r(n){var i=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,i):new RegExp(n)[e](String(i))},function(t){var e=a(r,t,this);if(e.done)return e.value;var u=n(t),c=String(this);if(!u.global)return s(u,c);var f=u.unicode;u.lastIndex=0;for(var h,l=[],p=0;null!==(h=s(u,c));){var d=String(h[0]);l[p]=d,""===d&&(u.lastIndex=o(c,i(u.lastIndex),f)),p++}return 0===p?null:l}]})},function(t,e,r){"use strict";var n=r(1),i=r(10),o=r(7),s=r(22),a=r(94),u=r(62),c=Math.max,f=Math.min,h=Math.floor,l=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;r(63)("replace",2,function(t,e,r,d){return[function n(i,o){var s=t(this),a=void 0==i?void 0:i[e];return void 0!==a?a.call(i,s,o):r.call(String(s),i,o)},function(t,e){var i=d(r,t,this,e);if(i.done)return i.value;var h=n(t),l=String(this),p="function"==typeof e;p||(e=String(e));var v=h.global;if(v){var y=h.unicode;h.lastIndex=0}for(var m=[];;){var _=u(h,l);if(null===_)break;if(m.push(_),!v)break;""===String(_[0])&&(h.lastIndex=a(l,o(h.lastIndex),y))}for(var S,b="",w=0,F=0;F=w&&(b+=l.slice(w,x)+T,w=x+E.length)}return b+l.slice(w)}];function g(t,e,n,o,s,a){var u=n+t.length,c=o.length,f=p;return void 0!==s&&(s=i(s),f=l),r.call(a,f,function(r,i){var a;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,n);case"'":return e.slice(u);case"<":a=s[i.slice(1,-1)];break;default:var f=+i;if(0===f)return r;if(f>c){var l=h(f/10);return 0===l?r:l<=c?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):r}a=o[f-1]}return void 0===a?"":a})}})},function(t,e,r){"use strict";var n=r(1),i=r(109),o=r(62);r(63)("search",1,function(t,e,r,s){return[function r(n){var i=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,i):new RegExp(n)[e](String(i))},function(t){var e=s(r,t,this);if(e.done)return e.value;var a=n(t),u=String(this),c=a.lastIndex;i(c,0)||(a.lastIndex=0);var f=o(a,u);return i(a.lastIndex,c)||(a.lastIndex=c),null===f?-1:f.index}]})},function(t,e,r){"use strict";var n=r(60),i=r(1),o=r(54),s=r(94),a=r(7),u=r(62),c=r(93),f=r(4),h=Math.min,l=[].push,p=!f(function(){RegExp(4294967295,"y")});r(63)("split",2,function(t,e,r,f){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var i=String(this);if(void 0===t&&0===e)return[];if(!n(t))return r.call(i,t,e);for(var o,s,a,u=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,p=void 0===e?4294967295:e>>>0,d=new RegExp(t.source,f+"g");(o=c.call(d,i))&&!((s=d.lastIndex)>h&&(u.push(i.slice(h,o.index)),o.length>1&&o.index=p));)d.lastIndex===o.index&&d.lastIndex++;return h===i.length?!a&&d.test("")||u.push(""):u.push(i.slice(h)),u.length>p?u.slice(0,p):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:r.call(this,t,e)}:r,[function r(n,i){var o=t(this),s=void 0==n?void 0:n[e];return void 0!==s?s.call(n,o,i):d.call(String(o),n,i)},function(t,e){var n=f(d,t,this,e,d!==r);if(n.done)return n.value;var c=i(t),l=String(this),g=o(c,RegExp),v=c.unicode,y=(c.ignoreCase?"i":"")+(c.multiline?"m":"")+(c.unicode?"u":"")+(p?"y":"g"),m=new g(p?c:"^(?:"+c.source+")",y),_=void 0===e?4294967295:e>>>0;if(0===_)return[];if(0===l.length)return null===u(m,l)?[l]:[];for(var S=0,b=0,w=[];bo;)s(r[o++]);t._c=[],t._n=!1,e&&!t._h&&D(t)})}},D=function(t){y.call(u,function(){var e,r,n,i=t._v,o=N(t);if(o&&(e=S(function(){P?E.emit("unhandledRejection",i,t):(r=u.onunhandledrejection)?r({promise:t,reason:i}):(n=u.console)&&n.error&&n.error("Unhandled promise rejection",i)}),t._h=P||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},L=function(t){y.call(u,function(){var e;P?E.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})})},M=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),O(e,!0))},j=function(t){var e,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw F("Promise can't be resolved itself");(e=I(t))?m(function(){var n={_w:r,_d:!1};try{e.call(t,c(j,n,1),c(M,n,1))}catch(t){M.call(n,t)}}):(r._v=t,r._s=1,O(r,!1))}catch(t){M.call({_w:r,_d:!1},t)}}};R||(k=function t(e){d(this,k,"Promise","_h"),p(e),n.call(this);try{e(c(j,this,1),c(M,this,1))}catch(t){M.call(this,t)}},(n=function t(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(43)(k.prototype,{then:function t(e,r){var n=T(v(this,k));return n.ok="function"!=typeof e||e,n.fail="function"==typeof r&&r,n.domain=P?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&O(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new n;this.promise=t,this.resolve=c(j,t,1),this.reject=c(M,t,1)},_.f=T=function(t){return t===k||t===s?new o(t):i(t)}),h(h.G+h.W+h.F*!R,{Promise:k}),r(45)(k,"Promise"),r(40)("Promise"),s=r(19).Promise,h(h.S+h.F*!R,"Promise",{reject:function t(e){var r=T(this);return(0,r.reject)(e),r.promise}}),h(h.S+h.F*(a||!R),"Promise",{resolve:function t(e){return w(a&&this===s?k:this,e)}}),h(h.S+h.F*!(R&&r(61)(function(t){k.all(t).catch(C)})),"Promise",{all:function t(e){var r=this,n=T(r),i=n.resolve,o=n.reject,s=S(function(){var t=[],n=0,s=1;g(e,!1,function(e){var a=n++,u=!1;t.push(void 0),s++,r.resolve(e).then(function(e){u||(u=!0,t[a]=e,--s||i(t))},o)}),--s||i(t)});return s.e&&o(s.v),n.promise},race:function t(e){var r=this,n=T(r),i=n.reject,o=S(function(){g(e,!1,function(t){r.resolve(t).then(n.resolve,i)})});return o.e&&i(o.v),n.promise}})},function(t,e,r){"use strict";var n=r(130),i=r(44);r(65)("WeakSet",function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function t(e){return n.def(i(this,"WeakSet"),e,!0)}},n,!1,!0)},function(t,e,r){"use strict";var n=r(0),i=r(66),o=r(98),s=r(1),a=r(37),u=r(7),c=r(5),f=r(2).ArrayBuffer,h=r(54),l=o.ArrayBuffer,p=o.DataView,d=i.ABV&&f.isView,g=l.prototype.slice,v=i.VIEW;n(n.G+n.W+n.F*(f!==l),{ArrayBuffer:l}),n(n.S+n.F*!i.CONSTR,"ArrayBuffer",{isView:function t(e){return d&&d(e)||c(e)&&v in e}}),n(n.P+n.U+n.F*r(4)(function(){return!new l(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function t(e,r){if(void 0!==g&&void 0===r)return g.call(s(this),e);for(var n=s(this).byteLength,i=a(e,n),o=a(void 0===r?n:r,n),c=new(h(this,l))(u(o-i)),f=new p(this),d=new p(c),v=0;i=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),n(n.S,"Reflect",{enumerate:function t(e){return new o(e)}})},function(t,e,r){var n=r(17),i=r(18),o=r(15),s=r(0),a=r(5),u=r(1);s(s.S,"Reflect",{get:function t(e,r){var s,c,f=arguments.length<3?e:arguments[2];return u(e)===f?e[r]:(s=n.f(e,r))?o(s,"value")?s.value:void 0!==s.get?s.get.call(f):void 0:a(c=i(e))?t(c,r,f):void 0}})},function(t,e,r){var n=r(17),i=r(0),o=r(1);i(i.S,"Reflect",{getOwnPropertyDescriptor:function t(e,r){return n.f(o(e),r)}})},function(t,e,r){var n=r(0),i=r(18),o=r(1);n(n.S,"Reflect",{getPrototypeOf:function t(e){return i(o(e))}})},function(t,e,r){var n=r(0);n(n.S,"Reflect",{has:function t(e,r){return r in e}})},function(t,e,r){var n=r(0),i=r(1),o=Object.isExtensible;n(n.S,"Reflect",{isExtensible:function t(e){return i(e),!o||o(e)}})},function(t,e,r){var n=r(0);n(n.S,"Reflect",{ownKeys:r(132)})},function(t,e,r){var n=r(0),i=r(1),o=Object.preventExtensions;n(n.S,"Reflect",{preventExtensions:function t(e){i(e);try{return o&&o(e),!0}catch(t){return!1}}})},function(t,e,r){var n=r(9),i=r(17),o=r(18),s=r(15),a=r(0),u=r(34),c=r(1),f=r(5);a(a.S,"Reflect",{set:function t(e,r,a){var h,l,p=arguments.length<4?e:arguments[3],d=i.f(c(e),r);if(!d){if(f(l=o(e)))return t(l,r,a,p);d=u(0)}if(s(d,"value")){if(!1===d.writable||!f(p))return!1;if(h=i.f(p,r)){if(h.get||h.set||!1===h.writable)return!1;h.value=a,n.f(p,r,h)}else n.f(p,r,u(0,a));return!0}return void 0!==d.set&&(d.set.call(p,a),!0)}})},function(t,e,r){var n=r(0),i=r(77);i&&n(n.S,"Reflect",{setPrototypeOf:function t(e,r){i.check(e,r);try{return i.set(e,r),!0}catch(t){return!1}}})},function(t,e,r){"use strict";var n=r(0),i=r(56)(!0);n(n.P,"Array",{includes:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),r(32)("includes")},function(t,e,r){"use strict";var n=r(0),i=r(133),o=r(10),s=r(7),a=r(11),u=r(90);n(n.P,"Array",{flatMap:function t(e){var r,n,c=o(this);return a(e),r=s(c.length),n=u(c,0),i(n,c,c,r,0,1,e,arguments[1]),n}}),r(32)("flatMap")},function(t,e,r){"use strict";var n=r(0),i=r(133),o=r(10),s=r(7),a=r(22),u=r(90);n(n.P,"Array",{flatten:function t(){var e=arguments[0],r=o(this),n=s(r.length),c=u(r,0);return i(c,r,r,n,0,void 0===e?1:a(e)),c}}),r(32)("flatten")},function(t,e,r){"use strict";var n=r(0),i=r(59)(!0);n(n.P,"String",{at:function t(e){return i(this,e)}})},function(t,e,r){"use strict";var n=r(0),i=r(134),o=r(64);n(n.P+n.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(o),"String",{padStart:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,e,r){"use strict";var n=r(0),i=r(134),o=r(64);n(n.P+n.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(o),"String",{padEnd:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,e,r){"use strict";r(47)("trimLeft",function(t){return function e(){return t(this,1)}},"trimStart")},function(t,e,r){"use strict";r(47)("trimRight",function(t){return function e(){return t(this,2)}},"trimEnd")},function(t,e,r){"use strict";var n=r(0),i=r(25),o=r(7),s=r(60),a=r(53),u=RegExp.prototype,c=function(t,e){this._r=t,this._s=e};r(84)(c,"RegExp String",function t(){var e=this._r.exec(this._s);return{value:e,done:null===e}}),n(n.P,"String",{matchAll:function t(e){if(i(this),!s(e))throw TypeError(e+" is not a regexp!");var r=String(this),n="flags"in u?String(e.flags):a.call(e),f=new RegExp(e.source,~n.indexOf("g")?n:"g"+n);return f.lastIndex=o(e.lastIndex),new c(f,r)}})},function(t,e,r){r(73)("asyncIterator")},function(t,e,r){r(73)("observable")},function(t,e,r){var n=r(0),i=r(132),o=r(16),s=r(17),a=r(88);n(n.S,"Object",{getOwnPropertyDescriptors:function t(e){for(var r,n,u=o(e),c=s.f,f=i(u),h={},l=0;f.length>l;)void 0!==(n=c(u,r=f[l++]))&&a(h,r,n);return h}})},function(t,e,r){var n=r(0),i=r(135)(!1);n(n.S,"Object",{values:function t(e){return i(e)}})},function(t,e,r){var n=r(0),i=r(135)(!0);n(n.S,"Object",{entries:function t(e){return i(e)}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(11),s=r(9);r(8)&&n(n.P+r(67),"Object",{__defineGetter__:function t(e,r){s.f(i(this),e,{get:o(r),enumerable:!0,configurable:!0})}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(11),s=r(9);r(8)&&n(n.P+r(67),"Object",{__defineSetter__:function t(e,r){s.f(i(this),e,{set:o(r),enumerable:!0,configurable:!0})}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(24),s=r(18),a=r(17).f;r(8)&&n(n.P+r(67),"Object",{__lookupGetter__:function t(e){var r,n=i(this),u=o(e,!0);do{if(r=a(n,u))return r.get}while(n=s(n))}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(24),s=r(18),a=r(17).f;r(8)&&n(n.P+r(67),"Object",{__lookupSetter__:function t(e){var r,n=i(this),u=o(e,!0);do{if(r=a(n,u))return r.set}while(n=s(n))}})},function(t,e,r){var n=r(0);n(n.P+n.R,"Map",{toJSON:r(136)("Map")})},function(t,e,r){var n=r(0);n(n.P+n.R,"Set",{toJSON:r(136)("Set")})},function(t,e,r){r(68)("Map")},function(t,e,r){r(68)("Set")},function(t,e,r){r(68)("WeakMap")},function(t,e,r){r(68)("WeakSet")},function(t,e,r){r(69)("Map")},function(t,e,r){r(69)("Set")},function(t,e,r){r(69)("WeakMap")},function(t,e,r){r(69)("WeakSet")},function(t,e,r){var n=r(0);n(n.G,{global:r(2)})},function(t,e,r){var n=r(0);n(n.S,"System",{global:r(2)})},function(t,e,r){var n=r(0),i=r(21);n(n.S,"Error",{isError:function t(e){return"Error"===i(e)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{clamp:function t(e,r,n){return Math.min(n,Math.max(r,e))}})},function(t,e,r){var n=r(0);n(n.S,"Math",{DEG_PER_RAD:Math.PI/180})},function(t,e,r){var n=r(0),i=180/Math.PI;n(n.S,"Math",{degrees:function t(e){return e*i}})},function(t,e,r){var n=r(0),i=r(138),o=r(117);n(n.S,"Math",{fscale:function t(e,r,n,s,a){return o(i(e,r,n,s,a))}})},function(t,e,r){var n=r(0);n(n.S,"Math",{iaddh:function t(e,r,n,i){var o=e>>>0,s=n>>>0;return(r>>>0)+(i>>>0)+((o&s|(o|s)&~(o+s>>>0))>>>31)|0}})},function(t,e,r){var n=r(0);n(n.S,"Math",{isubh:function t(e,r,n,i){var o=e>>>0,s=n>>>0;return(r>>>0)-(i>>>0)-((~o&s|~(o^s)&o-s>>>0)>>>31)|0}})},function(t,e,r){var n=r(0);n(n.S,"Math",{imulh:function t(e,r){var n=+e,i=+r,o=65535&n,s=65535&i,a=n>>16,u=i>>16,c=(a*s>>>0)+(o*s>>>16);return a*u+(c>>16)+((o*u>>>0)+(65535&c)>>16)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,e,r){var n=r(0),i=Math.PI/180;n(n.S,"Math",{radians:function t(e){return e*i}})},function(t,e,r){var n=r(0);n(n.S,"Math",{scale:r(138)})},function(t,e,r){var n=r(0);n(n.S,"Math",{umulh:function t(e,r){var n=+e,i=+r,o=65535&n,s=65535&i,a=n>>>16,u=i>>>16,c=(a*s>>>0)+(o*s>>>16);return a*u+(c>>>16)+((o*u>>>0)+(65535&c)>>>16)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{signbit:function t(e){return(e=+e)!=e?e:0==e?1/e==1/0:e>0}})},function(t,e,r){"use strict";var n=r(0),i=r(19),o=r(2),s=r(54),a=r(125);n(n.P+n.R,"Promise",{finally:function(t){var e=s(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return a(e,t()).then(function(){return r})}:t,r?function(r){return a(e,t()).then(function(){throw r})}:t)}})},function(t,e,r){"use strict";var n=r(0),i=r(97),o=r(124);n(n.S,"Promise",{try:function(t){var e=i.f(this),r=o(t);return(r.e?e.reject:e.resolve)(r.v),e.promise}})},function(t,e,r){var n=r(29),i=r(1),o=n.key,s=n.set;n.exp({defineMetadata:function t(e,r,n,a){s(e,r,i(n),o(a))}})},function(t,e,r){var n=r(29),i=r(1),o=n.key,s=n.map,a=n.store;n.exp({deleteMetadata:function t(e,r){var n=arguments.length<3?void 0:o(arguments[2]),u=s(i(r),n,!1);if(void 0===u||!u.delete(e))return!1;if(u.size)return!0;var c=a.get(r);return c.delete(n),!!c.size||a.delete(r)}})},function(t,e,r){var n=r(29),i=r(1),o=r(18),s=n.has,a=n.get,u=n.key,c=function(t,e,r){if(s(t,e,r))return a(t,e,r);var n=o(e);return null!==n?c(t,n,r):void 0};n.exp({getMetadata:function t(e,r){return c(e,i(r),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,r){var n=r(128),i=r(137),o=r(29),s=r(1),a=r(18),u=o.keys,c=o.key,f=function(t,e){var r=u(t,e),o=a(t);if(null===o)return r;var s=f(o,e);return s.length?r.length?i(new n(r.concat(s))):s:r};o.exp({getMetadataKeys:function t(e){return f(s(e),arguments.length<2?void 0:c(arguments[1]))}})},function(t,e,r){var n=r(29),i=r(1),o=n.get,s=n.key;n.exp({getOwnMetadata:function t(e,r){return o(e,i(r),arguments.length<3?void 0:s(arguments[2]))}})},function(t,e,r){var n=r(29),i=r(1),o=n.keys,s=n.key;n.exp({getOwnMetadataKeys:function t(e){return o(i(e),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,r){var n=r(29),i=r(1),o=r(18),s=n.has,a=n.key,u=function(t,e,r){if(s(t,e,r))return!0;var n=o(e);return null!==n&&u(t,n,r)};n.exp({hasMetadata:function t(e,r){return u(e,i(r),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,r){var n=r(29),i=r(1),o=n.has,s=n.key;n.exp({hasOwnMetadata:function t(e,r){return o(e,i(r),arguments.length<3?void 0:s(arguments[2]))}})},function(t,e,r){var n=r(29),i=r(1),o=r(11),s=n.key,a=n.set;n.exp({metadata:function t(e,r){return function t(n,u){a(e,r,(void 0!==u?i:o)(n),s(u))}}})},function(t,e,r){var n=r(0),i=r(96)(),o=r(2).process,s="process"==r(21)(o);n(n.G,{asap:function t(e){var r=s&&o.domain;i(r?r.bind(e):e)}})},function(t,e,r){"use strict";var n=r(0),i=r(2),o=r(19),s=r(96)(),a=r(6)("observable"),u=r(11),c=r(1),f=r(41),h=r(43),l=r(12),p=r(42),d=p.RETURN,g=function(t){return null==t?void 0:u(t)},v=function(t){var e=t._c;e&&(t._c=void 0,e())},y=function(t){return void 0===t._o},m=function(t){y(t)||(t._o=void 0,v(t))},_=function(t,e){c(t),this._c=void 0,this._o=t,t=new S(this);try{var r=e(t),n=r;null!=r&&("function"==typeof r.unsubscribe?r=function(){n.unsubscribe()}:u(r),this._c=r)}catch(e){return void t.error(e)}y(this)&&v(this)};_.prototype=h({},{unsubscribe:function t(){m(this)}});var S=function(t){this._s=t};S.prototype=h({},{next:function t(e){var r=this._s;if(!y(r)){var n=r._o;try{var i=g(n.next);if(i)return i.call(n,e)}catch(t){try{m(r)}finally{throw t}}}},error:function t(e){var r=this._s;if(y(r))throw e;var n=r._o;r._o=void 0;try{var i=g(n.error);if(!i)throw e;e=i.call(n,e)}catch(t){try{v(r)}finally{throw t}}return v(r),e},complete:function t(e){var r=this._s;if(!y(r)){var n=r._o;r._o=void 0;try{var i=g(n.complete);e=i?i.call(n,e):void 0}catch(t){try{v(r)}finally{throw t}}return v(r),e}}});var b=function t(e){f(this,b,"Observable","_f")._f=u(e)};h(b.prototype,{subscribe:function t(e){return new _(e,this._f)},forEach:function t(e){var r=this;return new(o.Promise||i.Promise)(function(t,n){u(e);var i=r.subscribe({next:function(t){try{return e(t)}catch(t){n(t),i.unsubscribe()}},error:n,complete:t})})}}),h(b,{from:function t(e){var r="function"==typeof this?this:b,n=g(c(e)[a]);if(n){var i=c(n.call(e));return i.constructor===r?i:new r(function(t){return i.subscribe(t)})}return new r(function(t){var r=!1;return s(function(){if(!r){try{if(p(e,!1,function(e){if(t.next(e),r)return d})===d)return}catch(e){if(r)throw e;return void t.error(e)}t.complete()}}),function(){r=!0}})},of:function t(){for(var e=0,r=arguments.length,n=new Array(r);e2,i=!!n&&s.call(arguments,2);return t(n?function(){("function"==typeof e?e:Function(e)).apply(this,i)}:e,r)}};i(i.G+i.B+i.F*a,{setTimeout:u(n.setTimeout),setInterval:u(n.setInterval)})},function(t,e,r){var n=r(0),i=r(95);n(n.G+n.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,e,r){for(var n=r(92),i=r(36),o=r(13),s=r(2),a=r(12),u=r(48),c=r(6),f=c("iterator"),h=c("toStringTag"),l=u.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=i(p),g=0;g=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var u=i.call(s,"catchLoc"),c=i.call(s,"finallyLoc");if(u&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),C(r),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;C(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:R(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),g}}}function S(t,e,r,n){var i=e&&e.prototype instanceof w?e:w,o=Object.create(i.prototype),s=new T(n||[]);return o._invoke=function a(t,e,r){var n=h;return function i(o,s){if(n===p)throw new Error("Generator is already running");if(n===d){if("throw"===o)throw s;return I()}for(r.method=o,r.arg=s;;){var a=r.delegate;if(a){var u=k(a,r);if(u){if(u===g)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===h)throw n=d,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var c=b(t,e,r);if("normal"===c.type){if(n=r.done?d:l,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=d,r.method="throw",r.arg=c.arg)}}}(t,r,s),o}function b(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}function w(){}function F(){}function E(){}function x(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function A(t){function r(e,n,o,s){var a=b(t[e],t,n);if("throw"!==a.type){var u=a.arg,c=u.value;return c&&"object"==typeof c&&i.call(c,"__await")?Promise.resolve(c.__await).then(function(t){r("next",t,o,s)},function(t){r("throw",t,o,s)}):Promise.resolve(c).then(function(t){u.value=t,o(u)},s)}s(a.arg)}var n;"object"==typeof e.process&&e.process.domain&&(r=e.process.domain.bind(r)),this._invoke=function o(t,e){function i(){return new Promise(function(n,i){r(t,e,n,i)})}return n=n?n.then(i,i):i()}}function k(t,e){var n=t.iterator[e.method];if(n===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=r,k(t,e),"throw"===e.method))return g;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var i=b(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,g;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=r),e.delegate=null,g):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function R(t){if(t){var e=t[s];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,f=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(function h(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new f(this._settings)}return t.prototype.validateSigninResponse=function t(e,r){var n=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(e,r).then(function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),n._validateTokens(e,t).then(function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),n._processClaims(e,t).then(function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t})})})},t.prototype.validateSignoutResponse=function t(e,r){return e.id!==r.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),r.state=e.data,r.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",r.error),Promise.reject(new u.ErrorResponse(r))):Promise.resolve(r))},t.prototype._processSigninParams=function t(e,r){if(e.id!==r.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!e.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!e.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=e.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),r.state=e.data,r.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",r.error),Promise.reject(new u.ErrorResponse(r))):e.nonce&&!r.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!e.nonce&&r.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):e.code_verifier&&!r.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!e.code_verifier&&r.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(r.scope||(r.scope=e.scope),Promise.resolve(r))},t.prototype._processClaims=function t(e,r){var n=this;if(r.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),r.profile=this._filterProtocolClaims(r.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&r.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(r.access_token).then(function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==r.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in access_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in access_token"))):(r.profile=n._mergeClaims(r.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",r.profile),r)});i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(r)},t.prototype._mergeClaims=function t(e,r){var i=Object.assign({},e);for(var o in r){var s=r[o];Array.isArray(s)||(s=[s]);for(var a=0;a1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));u=a[0]}if(!u)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var c=e.client_id,f=n._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",f),n._joseUtil.validateJwt(r.id_token,u,t,c,f).then(function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),o.payload.sub?(r.profile=o.payload,r):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))})})})},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith("RS"))n="RSA";else if(r.startsWith("PS"))n="PS";else{if(!r.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",r),[];n="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",n),e=e.filter(function(t){return t.kty===n}),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",n,e.length),e},t.prototype._validateAccessToken=function t(e){if(!e.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!e.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!e.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var r=this._joseUtil.parseJwt(e.id_token);if(!r||!r.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",r),Promise.reject(new Error("Failed to parse id_token"));var n=r.header.alg;if(!n||5!==n.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",n),Promise.reject(new Error("Unsupported alg: "+n));var o=n.substr(2,3);if(!o)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",n,o),Promise.reject(new Error("Unsupported alg: "+n));if(256!==(o=parseInt(o))&&384!==o&&512!==o)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",n,o),Promise.reject(new Error("Unsupported alg: "+n));var s="sha"+o,a=this._joseUtil.hashString(e.access_token,s);if(!a)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",s),Promise.reject(new Error("Failed to validate at_hash"));var u=a.substr(0,a.length/2),c=this._joseUtil.hexToBase64Url(u);return c!==e.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",c,e.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(e))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(101),i=r(49),o=r(3),s=r(70);e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new a(this._settings),this._joseUtil=u}return t.prototype.getClaims=function t(e){var r=this;return e?this._metadataService.getUserInfoEndpoint().then(function(t){return o.Log.debug("UserInfoService.getClaims: received userinfo url",t),r._jsonService.getJson(t,e).then(function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t})}):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then(function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then(function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter(function(t){return t.kid===i})[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then(function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload})})})}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith("RS"))n="RSA";else if(r.startsWith("PS"))n="PS";else{if(!r.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",r),[];n="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",n),e=e.filter(function(t){return t.kty===n}),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",n,e.length),e},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(359);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={}; +var Oidc=function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function e(){return t.default}:function e(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=152)}([function(t,e,r){var n=r(2),i=r(19),o=r(12),s=r(13),a=r(20),u=function(t,e,r){var c,f,h,l,p=t&u.F,g=t&u.G,d=t&u.S,v=t&u.P,y=t&u.B,m=g?n:d?n[e]||(n[e]={}):(n[e]||{}).prototype,_=g?i:i[e]||(i[e]={}),S=_.prototype||(_.prototype={});for(c in g&&(r=e),r)h=((f=!p&&m&&void 0!==m[c])?m:r)[c],l=y&&f?a(h,n):v&&"function"==typeof h?a(Function.call,h):h,m&&s(m,c,h,t&u.U),_[c]!=h&&o(_,c,l),v&&S[c]!=h&&(S[c]=h)};n.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,r){var n=r(5);t.exports=function(t){if(!n(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var e=arguments.length,r=Array(e),n=0;n=3){for(var e=arguments.length,r=Array(e),n=0;n=2){for(var e=arguments.length,r=Array(e),n=0;n=1){for(var e=arguments.length,r=Array(e),n=0;n0?i(n(t),9007199254740991):0}},function(t,e,r){t.exports=!r(4)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,e,r){var n=r(1),i=r(104),o=r(24),s=Object.defineProperty;e.f=r(8)?Object.defineProperty:function t(e,r,a){if(n(e),r=o(r,!0),n(a),i)try{return s(e,r,a)}catch(t){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(e[r]=a.value),e}},function(t,e,r){var n=r(25);t.exports=function(t){return Object(n(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,r){var n=r(9),i=r(34);t.exports=r(8)?function(t,e,r){return n.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e,r){var n=r(2),i=r(12),o=r(15),s=r(35)("src"),a=r(156),u="toString",c=(""+a).split(u);r(19).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,r,a){var u="function"==typeof r;u&&(o(r,"name")||i(r,"name",e)),t[e]!==r&&(u&&(o(r,s)||i(r,s,t[e]?""+t[e]:c.join(String(e)))),t===n?t[e]=r:a?t[e]?t[e]=r:i(t,e,r):(delete t[e],i(t,e,r)))})(Function.prototype,u,(function t(){return"function"==typeof this&&this[s]||a.call(this)}))},function(t,e,r){var n=r(0),i=r(4),o=r(25),s=/"/g,a=function(t,e,r,n){var i=String(o(t)),a="<"+e;return""!==r&&(a+=" "+r+'="'+String(n).replace(s,""")+'"'),a+">"+i+""};t.exports=function(t,e){var r={};r[t]=e(a),n(n.P+n.F*i((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3})),"String",r)}},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},function(t,e,r){var n=r(51),i=r(25);t.exports=function(t){return n(i(t))}},function(t,e,r){var n=r(52),i=r(34),o=r(16),s=r(24),a=r(15),u=r(104),c=Object.getOwnPropertyDescriptor;e.f=r(8)?c:function t(e,r){if(e=o(e),r=s(r,!0),u)try{return c(e,r)}catch(t){}if(a(e,r))return i(!n.f.call(e,r),e[r])}},function(t,e,r){var n=r(15),i=r(10),o=r(74)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),n(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){var r=t.exports={version:"2.6.11"};"number"==typeof __e&&(__e=r)},function(t,e,r){var n=r(11);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,i){return t.call(e,r,n,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:r)(t)}},function(t,e,r){"use strict";var n=r(4);t.exports=function(t,e){return!!t&&n((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},function(t,e,r){var n=r(5);t.exports=function(t,e){if(!n(t))return t;var r,i;if(e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!n(i=r.call(t)))return i;if(!e&&"function"==typeof(r=t.toString)&&!n(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var n=r(0),i=r(19),o=r(4);t.exports=function(t,e){var r=(i.Object||{})[t]||Object[t],s={};s[t]=e(r),n(n.S+n.F*o((function(){r(1)})),"Object",s)}},function(t,e,r){var n=r(20),i=r(51),o=r(10),s=r(7),a=r(90);t.exports=function(t,e){var r=1==t,u=2==t,c=3==t,f=4==t,h=6==t,l=5==t||h,p=e||a;return function(e,a,g){for(var d,v,y=o(e),m=i(y),_=n(a,g,3),S=s(m.length),b=0,w=r?p(e,S):u?p(e,0):void 0;S>b;b++)if((l||b in m)&&(v=_(d=m[b],b,y),t))if(r)w[b]=v;else if(v)switch(t){case 3:return!0;case 5:return d;case 6:return b;case 2:w.push(d)}else if(f)return!1;return h?-1:c||f?f:w}}},function(t,e,r){"use strict";if(r(8)){var n=r(30),i=r(2),o=r(4),s=r(0),a=r(66),u=r(98),c=r(20),f=r(41),h=r(34),l=r(12),p=r(43),g=r(22),d=r(7),v=r(132),y=r(37),m=r(24),_=r(15),S=r(46),b=r(5),w=r(10),F=r(87),E=r(38),x=r(18),A=r(39).f,P=r(89),k=r(35),T=r(6),C=r(27),R=r(56),I=r(54),O=r(92),N=r(48),L=r(61),D=r(40),M=r(91),j=r(121),U=r(9),B=r(17),H=U.f,V=B.f,K=i.RangeError,q=i.TypeError,W=i.Uint8Array,J="ArrayBuffer",z="SharedArrayBuffer",G="BYTES_PER_ELEMENT",Y=Array.prototype,X=u.ArrayBuffer,$=u.DataView,Q=C(0),Z=C(2),tt=C(3),et=C(4),rt=C(5),nt=C(6),it=R(!0),ot=R(!1),st=O.values,at=O.keys,ut=O.entries,ct=Y.lastIndexOf,ft=Y.reduce,ht=Y.reduceRight,lt=Y.join,pt=Y.sort,gt=Y.slice,dt=Y.toString,vt=Y.toLocaleString,yt=T("iterator"),mt=T("toStringTag"),_t=k("typed_constructor"),St=k("def_constructor"),bt=a.CONSTR,wt=a.TYPED,Ft=a.VIEW,Et="Wrong length!",xt=C(1,(function(t,e){return Ct(I(t,t[St]),e)})),At=o((function(){return 1===new W(new Uint16Array([1]).buffer)[0]})),Pt=!!W&&!!W.prototype.set&&o((function(){new W(1).set({})})),kt=function(t,e){var r=g(t);if(r<0||r%e)throw K("Wrong offset!");return r},Tt=function(t){if(b(t)&&wt in t)return t;throw q(t+" is not a typed array!")},Ct=function(t,e){if(!b(t)||!(_t in t))throw q("It is not a typed array constructor!");return new t(e)},Rt=function(t,e){return It(I(t,t[St]),e)},It=function(t,e){for(var r=0,n=e.length,i=Ct(t,n);n>r;)i[r]=e[r++];return i},Ot=function(t,e,r){H(t,e,{get:function(){return this._d[r]}})},Nt=function t(e){var r,n,i,o,s,a,u=w(e),f=arguments.length,h=f>1?arguments[1]:void 0,l=void 0!==h,p=P(u);if(null!=p&&!F(p)){for(a=p.call(u),i=[],r=0;!(s=a.next()).done;r++)i.push(s.value);u=i}for(l&&f>2&&(h=c(h,arguments[2],2)),r=0,n=d(u.length),o=Ct(this,n);n>r;r++)o[r]=l?h(u[r],r):u[r];return o},Lt=function t(){for(var e=0,r=arguments.length,n=Ct(this,r);r>e;)n[e]=arguments[e++];return n},Dt=!!W&&o((function(){vt.call(new W(1))})),Mt=function t(){return vt.apply(Dt?gt.call(Tt(this)):Tt(this),arguments)},jt={copyWithin:function t(e,r){return j.call(Tt(this),e,r,arguments.length>2?arguments[2]:void 0)},every:function t(e){return et(Tt(this),e,arguments.length>1?arguments[1]:void 0)},fill:function t(e){return M.apply(Tt(this),arguments)},filter:function t(e){return Rt(this,Z(Tt(this),e,arguments.length>1?arguments[1]:void 0))},find:function t(e){return rt(Tt(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function t(e){return nt(Tt(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function t(e){Q(Tt(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function t(e){return ot(Tt(this),e,arguments.length>1?arguments[1]:void 0)},includes:function t(e){return it(Tt(this),e,arguments.length>1?arguments[1]:void 0)},join:function t(e){return lt.apply(Tt(this),arguments)},lastIndexOf:function t(e){return ct.apply(Tt(this),arguments)},map:function t(e){return xt(Tt(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function t(e){return ft.apply(Tt(this),arguments)},reduceRight:function t(e){return ht.apply(Tt(this),arguments)},reverse:function t(){for(var e,r=this,n=Tt(r).length,i=Math.floor(n/2),o=0;o1?arguments[1]:void 0)},sort:function t(e){return pt.call(Tt(this),e)},subarray:function t(e,r){var n=Tt(this),i=n.length,o=y(e,i);return new(I(n,n[St]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===r?i:y(r,i))-o))}},Ut=function t(e,r){return Rt(this,gt.call(Tt(this),e,r))},Bt=function t(e){Tt(this);var r=kt(arguments[1],1),n=this.length,i=w(e),o=d(i.length),s=0;if(o+r>n)throw K(Et);for(;s255?255:255&n),i.v[p](r*e+i.o,n,At)}(this,r,t)},enumerable:!0})};_?(g=r((function(t,r,n,i){f(t,g,c,"_d");var o,s,a,u,h=0,p=0;if(b(r)){if(!(r instanceof X||(u=S(r))==J||u==z))return wt in r?It(g,r):Nt.call(g,r);o=r,p=kt(n,e);var y=r.byteLength;if(void 0===i){if(y%e)throw K(Et);if((s=y-p)<0)throw K(Et)}else if((s=d(i)*e)+p>y)throw K(Et);a=s/e}else a=v(r),o=new X(s=a*e);for(l(t,"_d",{b:o,o:p,l:s,e:a,v:new $(o)});hdocument.F=Object<\/script>"),t.close(),u=t.F;n--;)delete u.prototype[o[n]];return u()};t.exports=Object.create||function t(e,r){var o;return null!==e?(a.prototype=n(e),o=new a,a.prototype=null,o[s]=e):o=u(),void 0===r?o:i(o,r)}},function(t,e,r){var n=r(106),i=r(75).concat("length","prototype");e.f=Object.getOwnPropertyNames||function t(e){return n(e,i)}},function(t,e,r){"use strict";var n=r(2),i=r(9),o=r(8),s=r(6)("species");t.exports=function(t){var e=n[t];o&&e&&!e[s]&&i.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,r,n){if(!(t instanceof e)||void 0!==n&&n in t)throw TypeError(r+": incorrect invocation!");return t}},function(t,e,r){var n=r(20),i=r(119),o=r(87),s=r(1),a=r(7),u=r(89),c={},f={};(e=t.exports=function(t,e,r,h,l){var p,g,d,v,y=l?function(){return t}:u(t),m=n(r,h,e?2:1),_=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(p=a(t.length);p>_;_++)if((v=e?m(s(g=t[_])[0],g[1]):m(t[_]))===c||v===f)return v}else for(d=y.call(t);!(g=d.next()).done;)if((v=i(d,m,g.value,e))===c||v===f)return v}).BREAK=c,e.RETURN=f},function(t,e,r){var n=r(13);t.exports=function(t,e,r){for(var i in e)n(t,i,e[i],r);return t}},function(t,e,r){var n=r(5);t.exports=function(t,e){if(!n(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e,r){var n=r(9).f,i=r(15),o=r(6)("toStringTag");t.exports=function(t,e,r){t&&!i(t=r?t:t.prototype,o)&&n(t,o,{configurable:!0,value:e})}},function(t,e,r){var n=r(21),i=r(6)("toStringTag"),o="Arguments"==n(function(){return arguments}());t.exports=function(t){var e,r,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?r:o?n(e):"Object"==(s=n(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,r){var n=r(0),i=r(25),o=r(4),s=r(78),a="["+s+"]",u=RegExp("^"+a+a+"*"),c=RegExp(a+a+"*$"),f=function(t,e,r){var i={},a=o((function(){return!!s[t]()||"​…"!="​…"[t]()})),u=i[t]=a?e(h):s[t];r&&(i[r]=u),n(n.P+n.F*a,"String",i)},h=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(c,"")),t};t.exports=f},function(t,e){t.exports={}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataService=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(s(this,t),!e)throw i.Log.error("MetadataService: No settings passed to MetadataService"),new Error("settings");this._settings=e,this._jsonService=new r(["application/jwk-set+json"])}return t.prototype.resetSigningKeys=function t(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function t(){var e=this;return this._settings.metadata?(i.Log.debug("MetadataService.getMetadata: Returning metadata from settings"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug("MetadataService.getMetadata: getting metadata from",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(t){i.Log.debug("MetadataService.getMetadata: json received");var r=e._settings.metadataSeed||{};return e._settings.metadata=Object.assign({},r,t),e._settings.metadata}))):(i.Log.error("MetadataService.getMetadata: No authority or metadataUrl configured on settings"),Promise.reject(new Error("No authority or metadataUrl configured on settings")))},t.prototype.getIssuer=function t(){return this._getMetadataProperty("issuer")},t.prototype.getAuthorizationEndpoint=function t(){return this._getMetadataProperty("authorization_endpoint")},t.prototype.getUserInfoEndpoint=function t(){return this._getMetadataProperty("userinfo_endpoint")},t.prototype.getTokenEndpoint=function t(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty("token_endpoint",e)},t.prototype.getCheckSessionIframe=function t(){return this._getMetadataProperty("check_session_iframe",!0)},t.prototype.getEndSessionEndpoint=function t(){return this._getMetadataProperty("end_session_endpoint",!0)},t.prototype.getRevocationEndpoint=function t(){return this._getMetadataProperty("revocation_endpoint",!0)},t.prototype.getKeysEndpoint=function t(){return this._getMetadataProperty("jwks_uri",!0)},t.prototype._getMetadataProperty=function t(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug("MetadataService.getMetadataProperty for: "+e),this.getMetadata().then((function(t){if(i.Log.debug("MetadataService.getMetadataProperty: metadata recieved"),void 0===t[e]){if(!0===r)return void i.Log.warn("MetadataService.getMetadataProperty: Metadata does not contain optional property "+e);throw i.Log.error("MetadataService.getMetadataProperty: Metadata does not contain property "+e),new Error("Metadata does not contain property "+e)}return t[e]}))},t.prototype.getSigningKeys=function t(){var e=this;return this._settings.signingKeys?(i.Log.debug("MetadataService.getSigningKeys: Returning signingKeys from settings"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty("jwks_uri").then((function(t){return i.Log.debug("MetadataService.getSigningKeys: jwks_uri received",t),e._jsonService.getJson(t).then((function(t){if(i.Log.debug("MetadataService.getSigningKeys: key set received",t),!t.keys)throw i.Log.error("MetadataService.getSigningKeys: Missing keys on keyset"),new Error("Missing keys on keyset");return e._settings.signingKeys=t.keys,e._settings.signingKeys}))}))},n(t,[{key:"metadataUrl",get:function t(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(a)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=a))),this._metadataUrl}}]),t}()},function(t,e,r){var n=r(19),i=r(2),o="__core-js_shared__",s=i[o]||(i[o]={});(t.exports=function(t,e){return s[t]||(s[t]=void 0!==e?e:{})})("versions",[]).push({version:n.version,mode:r(30)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e,r){var n=r(21);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==n(t)?t.split(""):Object(t)}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,r){"use strict";var n=r(1);t.exports=function(){var t=n(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,r){var n=r(1),i=r(11),o=r(6)("species");t.exports=function(t,e){var r,s=n(t).constructor;return void 0===s||null==(r=n(s)[o])?e:i(r)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UrlUtility=void 0;var n=r(3),i=r(33);e.UrlUtility=function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.addQueryParam=function t(e,r,n){return e.indexOf("?")<0&&(e+="?"),"?"!==e[e.length-1]&&(e+="&"),e+=encodeURIComponent(r),e+="=",e+=encodeURIComponent(n)},t.parseUrlFragment=function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;"string"!=typeof e&&(e=o.location.href);var s=e.lastIndexOf(r);s>=0&&(e=e.substr(s+1)),"?"===r&&(s=e.indexOf("#"))>=0&&(e=e.substr(0,s));for(var a,u={},c=/([^&=]+)=([^&]*)/g,f=0;a=c.exec(e);)if(u[decodeURIComponent(a[1])]=decodeURIComponent(a[2].replace(/\+/g," ")),f++>50)return n.Log.error("UrlUtility.parseUrlFragment: response exceeded expected number of parameters",e),{error:"Response exceeded expected number of parameters"};for(var h in u)return u;return{}},t}()},function(t,e,r){var n=r(16),i=r(7),o=r(37);t.exports=function(t){return function(e,r,s){var a,u=n(e),c=i(u.length),f=o(s,c);if(t&&r!=r){for(;c>f;)if((a=u[f++])!=a)return!0}else for(;c>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,r){var n=r(21);t.exports=Array.isArray||function t(e){return"Array"==n(e)}},function(t,e,r){var n=r(22),i=r(25);t.exports=function(t){return function(e,r){var o,s,a=String(i(e)),u=n(r),c=a.length;return u<0||u>=c?t?"":void 0:(o=a.charCodeAt(u))<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?t?a.charAt(u):o:t?a.slice(u,u+2):s-56320+(o-55296<<10)+65536}}},function(t,e,r){var n=r(5),i=r(21),o=r(6)("match");t.exports=function(t){var e;return n(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,r){var n=r(6)("iterator"),i=!1;try{var o=[7][n]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var r=!1;try{var o=[7],s=o[n]();s.next=function(){return{done:r=!0}},o[n]=function(){return s},t(o)}catch(t){}return r}},function(t,e,r){"use strict";var n=r(46),i=RegExp.prototype.exec;t.exports=function(t,e){var r=t.exec;if("function"==typeof r){var o=r.call(t,e);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==n(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},function(t,e,r){"use strict";r(123);var n=r(13),i=r(12),o=r(4),s=r(25),a=r(6),u=r(93),c=a("species"),f=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),h=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,e,r){var l=a(t),p=!o((function(){var e={};return e[l]=function(){return 7},7!=""[t](e)})),g=p?!o((function(){var e=!1,r=/a/;return r.exec=function(){return e=!0,null},"split"===t&&(r.constructor={},r.constructor[c]=function(){return r}),r[l](""),!e})):void 0;if(!p||!g||"replace"===t&&!f||"split"===t&&!h){var d=/./[l],v=r(s,l,""[t],(function t(e,r,n,i,o){return r.exec===u?p&&!o?{done:!0,value:d.call(r,n,i)}:{done:!0,value:e.call(n,r,i)}:{done:!1}})),y=v[0],m=v[1];n(String.prototype,t,y),i(RegExp.prototype,l,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)})}}},function(t,e,r){var n=r(2).navigator;t.exports=n&&n.userAgent||""},function(t,e,r){"use strict";var n=r(2),i=r(0),o=r(13),s=r(43),a=r(31),u=r(42),c=r(41),f=r(5),h=r(4),l=r(61),p=r(45),g=r(79);t.exports=function(t,e,r,d,v,y){var m=n[t],_=m,S=v?"set":"add",b=_&&_.prototype,w={},F=function(t){var e=b[t];o(b,t,"delete"==t?function(t){return!(y&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function t(r){return!(y&&!f(r))&&e.call(this,0===r?0:r)}:"get"==t?function t(r){return y&&!f(r)?void 0:e.call(this,0===r?0:r)}:"add"==t?function t(r){return e.call(this,0===r?0:r),this}:function t(r,n){return e.call(this,0===r?0:r,n),this})};if("function"==typeof _&&(y||b.forEach&&!h((function(){(new _).entries().next()})))){var E=new _,x=E[S](y?{}:-0,1)!=E,A=h((function(){E.has(1)})),P=l((function(t){new _(t)})),k=!y&&h((function(){for(var t=new _,e=5;e--;)t[S](e,e);return!t.has(-0)}));P||((_=e((function(e,r){c(e,_,t);var n=g(new m,e,_);return null!=r&&u(r,v,n[S],n),n}))).prototype=b,b.constructor=_),(A||k)&&(F("delete"),F("has"),v&&F("get")),(k||x)&&F(S),y&&b.clear&&delete b.clear}else _=d.getConstructor(e,t,v,S),s(_.prototype,r),a.NEED=!0;return p(_,t),w[t]=_,i(i.G+i.W+i.F*(_!=m),w),y||d.setStrong(_,t,v),_}},function(t,e,r){for(var n,i=r(2),o=r(12),s=r(35),a=s("typed_array"),u=s("view"),c=!(!i.ArrayBuffer||!i.DataView),f=c,h=0,l="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");h<9;)(n=i[l[h++]])?(o(n.prototype,a,!0),o(n.prototype,u,!0)):f=!1;t.exports={ABV:c,CONSTR:f,TYPED:a,VIEW:u}},function(t,e,r){"use strict";t.exports=r(30)||!r(4)((function(){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete r(2)[t]}))},function(t,e,r){"use strict";var n=r(0);t.exports=function(t){n(n.S,t,{of:function t(){for(var e=arguments.length,r=new Array(e);e--;)r[e]=arguments[e];return new this(r)}})}},function(t,e,r){"use strict";var n=r(0),i=r(11),o=r(20),s=r(42);t.exports=function(t){n(n.S,t,{from:function t(e){var r,n,a,u,c=arguments[1];return i(this),(r=void 0!==c)&&i(c),null==e?new this:(n=[],r?(a=0,u=o(c,arguments[2],2),s(e,!1,(function(t){n.push(u(t,a++))}))):s(e,!1,n.push,n),new this(n))}})}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JoseUtil=void 0;var n=r(359),i=function o(t){return t&&t.__esModule?t:{default:t}}(r(365));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){var n=r(5),i=r(2).document,o=n(i)&&n(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,r){var n=r(2),i=r(19),o=r(30),s=r(105),a=r(9).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=o?{}:n.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,r){var n=r(50)("keys"),i=r(35);t.exports=function(t){return n[t]||(n[t]=i(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,r){var n=r(2).document;t.exports=n&&n.documentElement},function(t,e,r){var n=r(5),i=r(1),o=function(t,e){if(i(t),!n(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,n){try{(n=r(20)(Function.call,r(17).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function t(r,i){return o(r,i),e?r.__proto__=i:n(r,i),r}}({},!1):void 0),check:o}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,r){var n=r(5),i=r(77).set;t.exports=function(t,e,r){var o,s=e.constructor;return s!==r&&"function"==typeof s&&(o=s.prototype)!==r.prototype&&n(o)&&i&&i(t,o),t}},function(t,e,r){"use strict";var n=r(22),i=r(25);t.exports=function t(e){var r=String(i(this)),o="",s=n(e);if(s<0||s==1/0)throw RangeError("Count can't be negative");for(;s>0;(s>>>=1)&&(r+=r))1&s&&(o+=r);return o}},function(t,e){t.exports=Math.sign||function t(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(t,e){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function t(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:r},function(t,e,r){"use strict";var n=r(30),i=r(0),o=r(13),s=r(12),a=r(48),u=r(84),c=r(45),f=r(18),h=r(6)("iterator"),l=!([].keys&&"next"in[].keys()),p="keys",g="values",d=function(){return this};t.exports=function(t,e,r,v,y,m,_){u(r,e,v);var S,b,w,F=function(t){if(!l&&t in P)return P[t];switch(t){case p:return function e(){return new r(this,t)};case g:return function e(){return new r(this,t)}}return function e(){return new r(this,t)}},E=e+" Iterator",x=y==g,A=!1,P=t.prototype,k=P[h]||P["@@iterator"]||y&&P[y],T=k||F(y),C=y?x?F("entries"):T:void 0,R="Array"==e&&P.entries||k;if(R&&(w=f(R.call(new t)))!==Object.prototype&&w.next&&(c(w,E,!0),n||"function"==typeof w[h]||s(w,h,d)),x&&k&&k.name!==g&&(A=!0,T=function t(){return k.call(this)}),n&&!_||!l&&!A&&P[h]||s(P,h,T),a[e]=T,a[E]=d,y)if(S={values:x?T:F(g),keys:m?T:F(p),entries:C},_)for(b in S)b in P||o(P,b,S[b]);else i(i.P+i.F*(l||A),e,S);return S}},function(t,e,r){"use strict";var n=r(38),i=r(34),o=r(45),s={};r(12)(s,r(6)("iterator"),(function(){return this})),t.exports=function(t,e,r){t.prototype=n(s,{next:i(1,r)}),o(t,e+" Iterator")}},function(t,e,r){var n=r(60),i=r(25);t.exports=function(t,e,r){if(n(e))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},function(t,e,r){var n=r(6)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[n]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,r){var n=r(48),i=r(6)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||o[i]===t)}},function(t,e,r){"use strict";var n=r(9),i=r(34);t.exports=function(t,e,r){e in t?n.f(t,e,i(0,r)):t[e]=r}},function(t,e,r){var n=r(46),i=r(6)("iterator"),o=r(48);t.exports=r(19).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[n(t)]}},function(t,e,r){var n=r(245);t.exports=function(t,e){return new(n(t))(e)}},function(t,e,r){"use strict";var n=r(10),i=r(37),o=r(7);t.exports=function t(e){for(var r=n(this),s=o(r.length),a=arguments.length,u=i(a>1?arguments[1]:void 0,s),c=a>2?arguments[2]:void 0,f=void 0===c?s:i(c,s);f>u;)r[u++]=e;return r}},function(t,e,r){"use strict";var n=r(32),i=r(122),o=r(48),s=r(16);t.exports=r(83)(Array,"Array",(function(t,e){this._t=s(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?r:"values"==e?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},function(t,e,r){"use strict";var n,i,o=r(53),s=RegExp.prototype.exec,a=String.prototype.replace,u=s,c=(n=/a/,i=/b*/g,s.call(n,"a"),s.call(i,"a"),0!==n.lastIndex||0!==i.lastIndex),f=void 0!==/()??/.exec("")[1];(c||f)&&(u=function t(e){var r,n,i,u,h=this;return f&&(n=new RegExp("^"+h.source+"$(?!\\s)",o.call(h))),c&&(r=h.lastIndex),i=s.call(h,e),c&&i&&(h.lastIndex=h.global?i.index+i[0].length:r),f&&i&&i.length>1&&a.call(i[0],n,(function(){for(u=1;ui;)r.push(arguments[i++]);return y[++v]=function(){a("function"==typeof e?e:Function(e),r)},n(v),v},p=function t(e){delete y[e]},"process"==r(21)(h)?n=function(t){h.nextTick(s(_,t,1))}:d&&d.now?n=function(t){d.now(s(_,t,1))}:g?(o=(i=new g).port2,i.port1.onmessage=S,n=s(o.postMessage,o,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(n=function(t){f.postMessage(t+"","*")},f.addEventListener("message",S,!1)):n=m in c("script")?function(t){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),_.call(t)}}:function(t){setTimeout(s(_,t,1),0)}),t.exports={set:l,clear:p}},function(t,e,r){var n=r(2),i=r(95).set,o=n.MutationObserver||n.WebKitMutationObserver,s=n.process,a=n.Promise,u="process"==r(21)(s);t.exports=function(){var t,e,r,c=function(){var n,i;for(u&&(n=s.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(n){throw t?r():e=void 0,n}}e=void 0,n&&n.enter()};if(u)r=function(){s.nextTick(c)};else if(!o||n.navigator&&n.navigator.standalone)if(a&&a.resolve){var f=a.resolve(void 0);r=function(){f.then(c)}}else r=function(){i.call(n,c)};else{var h=!0,l=document.createTextNode("");new o(c).observe(l,{characterData:!0}),r=function(){l.data=h=!h}}return function(n){var i={fn:n,next:void 0};e&&(e.next=i),t||(t=i,r()),e=i}}},function(t,e,r){"use strict";var n=r(11);function i(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n})),this.resolve=n(e),this.reject=n(r)}t.exports.f=function(t){return new i(t)}},function(t,e,r){"use strict";var n=r(2),i=r(8),o=r(30),s=r(66),a=r(12),u=r(43),c=r(4),f=r(41),h=r(22),l=r(7),p=r(132),g=r(39).f,d=r(9).f,v=r(91),y=r(45),m="ArrayBuffer",_="DataView",S="Wrong index!",b=n.ArrayBuffer,w=n.DataView,F=n.Math,E=n.RangeError,x=n.Infinity,A=b,P=F.abs,k=F.pow,T=F.floor,C=F.log,R=F.LN2,I="buffer",O="byteLength",N="byteOffset",L=i?"_b":I,D=i?"_l":O,M=i?"_o":N;function j(t,e,r){var n,i,o,s=new Array(r),a=8*r-e-1,u=(1<>1,f=23===e?k(2,-24)-k(2,-77):0,h=0,l=t<0||0===t&&1/t<0?1:0;for((t=P(t))!=t||t===x?(i=t!=t?1:0,n=u):(n=T(C(t)/R),t*(o=k(2,-n))<1&&(n--,o*=2),(t+=n+c>=1?f/o:f*k(2,1-c))*o>=2&&(n++,o/=2),n+c>=u?(i=0,n=u):n+c>=1?(i=(t*o-1)*k(2,e),n+=c):(i=t*k(2,c-1)*k(2,e),n=0));e>=8;s[h++]=255&i,i/=256,e-=8);for(n=n<0;s[h++]=255&n,n/=256,a-=8);return s[--h]|=128*l,s}function U(t,e,r){var n,i=8*r-e-1,o=(1<>1,a=i-7,u=r-1,c=t[u--],f=127&c;for(c>>=7;a>0;f=256*f+t[u],u--,a-=8);for(n=f&(1<<-a)-1,f>>=-a,a+=e;a>0;n=256*n+t[u],u--,a-=8);if(0===f)f=1-s;else{if(f===o)return n?NaN:c?-x:x;n+=k(2,e),f-=s}return(c?-1:1)*n*k(2,f-e)}function B(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function H(t){return[255&t]}function V(t){return[255&t,t>>8&255]}function K(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function q(t){return j(t,52,8)}function W(t){return j(t,23,4)}function J(t,e,r){d(t.prototype,e,{get:function(){return this[r]}})}function z(t,e,r,n){var i=p(+r);if(i+e>t[D])throw E(S);var o=t[L]._b,s=i+t[M],a=o.slice(s,s+e);return n?a:a.reverse()}function G(t,e,r,n,i,o){var s=p(+r);if(s+e>t[D])throw E(S);for(var a=t[L]._b,u=s+t[M],c=n(+i),f=0;fQ;)(Y=$[Q++])in b||a(b,Y,A[Y]);o||(X.constructor=b)}var Z=new w(new b(2)),tt=w.prototype.setInt8;Z.setInt8(0,2147483648),Z.setInt8(1,2147483649),!Z.getInt8(0)&&Z.getInt8(1)||u(w.prototype,{setInt8:function t(e,r){tt.call(this,e,r<<24>>24)},setUint8:function t(e,r){tt.call(this,e,r<<24>>24)}},!0)}else b=function t(e){f(this,b,m);var r=p(e);this._b=v.call(new Array(r),0),this[D]=r},w=function t(e,r,n){f(this,w,_),f(e,b,_);var i=e[D],o=h(r);if(o<0||o>i)throw E("Wrong offset!");if(o+(n=void 0===n?i-o:l(n))>i)throw E("Wrong length!");this[L]=e,this[M]=o,this[D]=n},i&&(J(b,O,"_l"),J(w,I,"_b"),J(w,O,"_l"),J(w,N,"_o")),u(w.prototype,{getInt8:function t(e){return z(this,1,e)[0]<<24>>24},getUint8:function t(e){return z(this,1,e)[0]},getInt16:function t(e){var r=z(this,2,e,arguments[1]);return(r[1]<<8|r[0])<<16>>16},getUint16:function t(e){var r=z(this,2,e,arguments[1]);return r[1]<<8|r[0]},getInt32:function t(e){return B(z(this,4,e,arguments[1]))},getUint32:function t(e){return B(z(this,4,e,arguments[1]))>>>0},getFloat32:function t(e){return U(z(this,4,e,arguments[1]),23,4)},getFloat64:function t(e){return U(z(this,8,e,arguments[1]),52,8)},setInt8:function t(e,r){G(this,1,e,H,r)},setUint8:function t(e,r){G(this,1,e,H,r)},setInt16:function t(e,r){G(this,2,e,V,r,arguments[2])},setUint16:function t(e,r){G(this,2,e,V,r,arguments[2])},setInt32:function t(e,r){G(this,4,e,K,r,arguments[2])},setUint32:function t(e,r){G(this,4,e,K,r,arguments[2])},setFloat32:function t(e,r){G(this,4,e,W,r,arguments[2])},setFloat64:function t(e,r){G(this,8,e,q,r,arguments[2])}});y(b,m),y(w,_),a(w.prototype,s.VIEW,!0),e.ArrayBuffer=b,e.DataView=w},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClientSettings=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,h=e.signingKeys,d=e.metadataSeed,v=e.client_id,y=e.client_secret,m=e.response_type,_=void 0===m?l:m,S=e.scope,b=void 0===S?p:S,w=e.redirect_uri,F=e.post_logout_redirect_uri,E=e.client_authentication,x=void 0===E?g:E,A=e.prompt,P=e.display,k=e.max_age,T=e.ui_locales,C=e.acr_values,R=e.resource,I=e.response_mode,O=e.filterProtocolClaims,N=void 0===O||O,L=e.loadUserInfo,D=void 0===L||L,M=e.staleStateAge,j=void 0===M?900:M,U=e.clockSkew,B=void 0===U?300:U,H=e.clockService,V=void 0===H?new s.ClockService:H,K=e.userInfoJwtIssuer,q=void 0===K?"OP":K,W=e.mergeClaims,J=void 0!==W&&W,z=e.stateStore,G=void 0===z?new a.WebStorageStateStore:z,Y=e.ResponseValidatorCtor,X=void 0===Y?u.ResponseValidator:Y,$=e.MetadataServiceCtor,Q=void 0===$?c.MetadataService:$,Z=e.extraQueryParams,tt=void 0===Z?{}:Z,et=e.extraTokenParams,rt=void 0===et?{}:et;f(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=d,this._signingKeys=h,this._client_id=v,this._client_secret=y,this._response_type=_,this._scope=b,this._redirect_uri=w,this._post_logout_redirect_uri=F,this._client_authentication=x,this._prompt=A,this._display=P,this._max_age=k,this._ui_locales=T,this._acr_values=C,this._resource=R,this._response_mode=I,this._filterProtocolClaims=!!N,this._loadUserInfo=!!D,this._staleStateAge=j,this._clockSkew=B,this._clockService=V,this._userInfoJwtIssuer=q,this._mergeClaims=!!J,this._stateStore=G,this._validator=new X(this),this._metadataService=new Q(this),this._extraQueryParams="object"===(void 0===tt?"undefined":n(tt))?tt:{},this._extraTokenParams="object"===(void 0===rt?"undefined":n(rt))?rt:{}}return t.prototype.getEpochTime=function t(){return this._clockService.getEpochTime()},i(t,[{key:"client_id",get:function t(){return this._client_id},set:function t(e){if(this._client_id)throw o.Log.error("OidcClientSettings.set_client_id: client_id has already been assigned."),new Error("client_id has already been assigned.");this._client_id=e}},{key:"client_secret",get:function t(){return this._client_secret}},{key:"response_type",get:function t(){return this._response_type}},{key:"scope",get:function t(){return this._scope}},{key:"redirect_uri",get:function t(){return this._redirect_uri}},{key:"post_logout_redirect_uri",get:function t(){return this._post_logout_redirect_uri}},{key:"client_authentication",get:function t(){return this._client_authentication}},{key:"prompt",get:function t(){return this._prompt}},{key:"display",get:function t(){return this._display}},{key:"max_age",get:function t(){return this._max_age}},{key:"ui_locales",get:function t(){return this._ui_locales}},{key:"acr_values",get:function t(){return this._acr_values}},{key:"resource",get:function t(){return this._resource}},{key:"response_mode",get:function t(){return this._response_mode}},{key:"authority",get:function t(){return this._authority},set:function t(e){if(this._authority)throw o.Log.error("OidcClientSettings.set_authority: authority has already been assigned."),new Error("authority has already been assigned.");this._authority=e}},{key:"metadataUrl",get:function t(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(h)<0&&("/"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+="/"),this._metadataUrl+=h)),this._metadataUrl}},{key:"metadata",get:function t(){return this._metadata},set:function t(e){this._metadata=e}},{key:"metadataSeed",get:function t(){return this._metadataSeed},set:function t(e){this._metadataSeed=e}},{key:"signingKeys",get:function t(){return this._signingKeys},set:function t(e){this._signingKeys=e}},{key:"filterProtocolClaims",get:function t(){return this._filterProtocolClaims}},{key:"loadUserInfo",get:function t(){return this._loadUserInfo}},{key:"staleStateAge",get:function t(){return this._staleStateAge}},{key:"clockSkew",get:function t(){return this._clockSkew}},{key:"userInfoJwtIssuer",get:function t(){return this._userInfoJwtIssuer}},{key:"mergeClaims",get:function t(){return this._mergeClaims}},{key:"stateStore",get:function t(){return this._stateStore}},{key:"validator",get:function t(){return this._validator}},{key:"metadataService",get:function t(){return this._metadataService}},{key:"extraQueryParams",get:function t(){return this._extraQueryParams},set:function t(e){"object"===(void 0===e?"undefined":n(e))?this._extraQueryParams=e:this._extraQueryParams={}}},{key:"extraTokenParams",get:function t(){return this._extraTokenParams},set:function t(e){"object"===(void 0===e?"undefined":n(e))?this._extraTokenParams=e:this._extraTokenParams={}}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WebStorageStateStore=void 0;var n=r(3),i=r(33);function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?"oidc.":r,s=e.store,a=void 0===s?i.Global.localStorage:s;o(this,t),this._store=a,this._prefix=n}return t.prototype.set=function t(e,r){return n.Log.debug("WebStorageStateStore.set",e),e=this._prefix+e,this._store.setItem(e,r),Promise.resolve()},t.prototype.get=function t(e){n.Log.debug("WebStorageStateStore.get",e),e=this._prefix+e;var r=this._store.getItem(e);return Promise.resolve(r)},t.prototype.remove=function t(e){n.Log.debug("WebStorageStateStore.remove",e),e=this._prefix+e;var r=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(r)},t.prototype.getAllKeys=function t(){n.Log.debug("WebStorageStateStore.getAllKeys");for(var e=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;o(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push("application/json"),n&&this._contentTypes.push("application/jwt"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function t(e,r){var i=this;if(!e)throw n.Log.error("JsonService.getJson: No url passed"),new Error("url");return n.Log.debug("JsonService.getJson, url: ",e),new Promise((function(t,o){var s=new i._XMLHttpRequest;s.open("GET",e);var a=i._contentTypes,u=i._jwtHandler;s.onload=function(){if(n.Log.debug("JsonService.getJson: HTTP response received, status",s.status),200===s.status){var r=s.getResponseHeader("Content-Type");if(r){var i=a.find((function(t){if(r.startsWith(t))return!0}));if("application/jwt"==i)return void u(s).then(t,o);if(i)try{return void t(JSON.parse(s.responseText))}catch(t){return n.Log.error("JsonService.getJson: Error parsing JSON response",t.message),void o(t)}}o(Error("Invalid response Content-Type: "+r+", from URL: "+e))}else o(Error(s.statusText+" ("+s.status+")"))},s.onerror=function(){n.Log.error("JsonService.getJson: network error"),o(Error("Network Error"))},r&&(n.Log.debug("JsonService.getJson: token passed, setting Authorization header"),s.setRequestHeader("Authorization","Bearer "+r)),s.send()}))},t.prototype.postForm=function t(e,r,i){var o=this;if(!e)throw n.Log.error("JsonService.postForm: No url passed"),new Error("url");return n.Log.debug("JsonService.postForm, url: ",e),new Promise((function(t,s){var a=new o._XMLHttpRequest;a.open("POST",e);var u=o._contentTypes;a.onload=function(){if(n.Log.debug("JsonService.postForm: HTTP response received, status",a.status),200!==a.status){if(400===a.status)if(i=a.getResponseHeader("Content-Type"))if(u.find((function(t){if(i.startsWith(t))return!0})))try{var r=JSON.parse(a.responseText);if(r&&r.error)return n.Log.error("JsonService.postForm: Error from server: ",r.error),void s(new Error(r.error))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error(a.statusText+" ("+a.status+")"))}else{var i;if((i=a.getResponseHeader("Content-Type"))&&u.find((function(t){if(i.startsWith(t))return!0})))try{return void t(JSON.parse(a.responseText))}catch(t){return n.Log.error("JsonService.postForm: Error parsing JSON response",t.message),void s(t)}s(Error("Invalid response Content-Type: "+i+", from URL: "+e))}},a.onerror=function(){n.Log.error("JsonService.postForm: network error"),s(Error("Network Error"))};var c="";for(var f in r){var h=r[f];h&&(c.length>0&&(c+="&"),c+=encodeURIComponent(f),c+="=",c+=encodeURIComponent(h))}a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),void 0!==i&&a.setRequestHeader("Authorization","Basic "+btoa(i)),a.send(c)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninRequest=void 0;var n=r(3),i=r(55),o=r(143);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,f=e.authority,h=e.data,l=e.prompt,p=e.display,g=e.max_age,d=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,b=e.request,w=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,P=e.skipUserInfo;if(function k(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SigninRequest.ctor: No url passed"),new Error("url");if(!s)throw n.Log.error("SigninRequest.ctor: No client_id passed"),new Error("client_id");if(!a)throw n.Log.error("SigninRequest.ctor: No redirect_uri passed"),new Error("redirect_uri");if(!u)throw n.Log.error("SigninRequest.ctor: No response_type passed"),new Error("response_type");if(!c)throw n.Log.error("SigninRequest.ctor: No scope passed"),new Error("scope");if(!f)throw n.Log.error("SigninRequest.ctor: No authority passed"),new Error("authority");var T=t.isOidc(u),C=t.isCode(u);S||(S=t.isCode(u)?"query":null),this.state=new o.SigninState({nonce:T,data:h,client_id:s,authority:f,redirect_uri:a,code_verifier:C,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:P}),r=i.UrlUtility.addQueryParam(r,"client_id",s),r=i.UrlUtility.addQueryParam(r,"redirect_uri",a),r=i.UrlUtility.addQueryParam(r,"response_type",u),r=i.UrlUtility.addQueryParam(r,"scope",c),r=i.UrlUtility.addQueryParam(r,"state",this.state.id),T&&(r=i.UrlUtility.addQueryParam(r,"nonce",this.state.nonce)),C&&(r=i.UrlUtility.addQueryParam(r,"code_challenge",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,"code_challenge_method","S256"));var R={prompt:l,display:p,max_age:g,ui_locales:d,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:b,request_uri:w,response_mode:S};for(var I in R)R[I]&&(r=i.UrlUtility.addQueryParam(r,I,R[I]));for(var O in F)r=i.UrlUtility.addQueryParam(r,O,F[O]);this.url=r}return t.isOidc=function t(e){return!!e.split(/\s+/g).filter((function(t){return"id_token"===t}))[0]},t.isOAuth=function t(e){return!!e.split(/\s+/g).filter((function(t){return"token"===t}))[0]},t.isCode=function t(e){return!!e.split(/\s+/g).filter((function(t){return"code"===t}))[0]},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;a(this,t),this._id=r||(0,o.default)(),this._data=n,this._created="number"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function t(){return i.Log.debug("State.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function e(r){return i.Log.debug("State.fromStorageString"),new t(JSON.parse(r))},t.clearStaleState=function e(r,n){var o=Date.now()/1e3-n;return r.getAllKeys().then((function(e){i.Log.debug("State.clearStaleState: got keys",e);for(var n=[],s=function s(a){var c=e[a];u=r.get(c).then((function(e){var n=!1;if(e)try{var s=t.fromStorageString(e);i.Log.debug("State.clearStaleState: got item from key: ",c,s.created),s.created<=o&&(n=!0)}catch(t){i.Log.error("State.clearStaleState: Error parsing state for key",c,t.message),n=!0}else i.Log.debug("State.clearStaleState: no item in storage for key: ",c),n=!0;if(n)return i.Log.debug("State.clearStaleState: removed item for key: ",c),r.remove(c)})),n.push(u)},a=0;au;)n(a,r=e[u++])&&(~o(c,r)||c.push(r));return c}},function(t,e,r){var n=r(9),i=r(1),o=r(36);t.exports=r(8)?Object.defineProperties:function t(e,r){i(e);for(var s,a=o(r),u=a.length,c=0;u>c;)n.f(e,s=a[c++],r[s]);return e}},function(t,e,r){var n=r(16),i=r(39).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function t(e){return s&&"[object Window]"==o.call(e)?function(t){try{return i(t)}catch(t){return s.slice()}}(e):i(n(e))}},function(t,e,r){"use strict";var n=r(8),i=r(36),o=r(57),s=r(52),a=r(10),u=r(51),c=Object.assign;t.exports=!c||r(4)((function(){var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach((function(t){e[t]=t})),7!=c({},t)[r]||Object.keys(c({},e)).join("")!=n}))?function t(e,r){for(var c=a(e),f=arguments.length,h=1,l=o.f,p=s.f;f>h;)for(var g,d=u(arguments[h++]),v=l?i(d).concat(l(d)):i(d),y=v.length,m=0;y>m;)g=v[m++],n&&!p.call(d,g)||(c[g]=d[g]);return c}:c},function(t,e){t.exports=Object.is||function t(e,r){return e===r?0!==e||1/e==1/r:e!=e&&r!=r}},function(t,e,r){"use strict";var n=r(11),i=r(5),o=r(112),s=[].slice,a={},u=function(t,e,r){if(!(e in a)){for(var n=[],i=0;i>>0||(s.test(o)?16:10))}:n},function(t,e,r){var n=r(2).parseFloat,i=r(47).trim;t.exports=1/n(r(78)+"-0")!=-1/0?function t(e){var r=i(String(e),3),o=n(r);return 0===o&&"-"==r.charAt(0)?-0:o}:n},function(t,e,r){var n=r(21);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=n(t))throw TypeError(e);return+t}},function(t,e,r){var n=r(5),i=Math.floor;t.exports=function t(e){return!n(e)&&isFinite(e)&&i(e)===e}},function(t,e){t.exports=Math.log1p||function t(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(t,e,r){var n=r(81),i=Math.pow,o=i(2,-52),s=i(2,-23),a=i(2,127)*(2-s),u=i(2,-126);t.exports=Math.fround||function t(e){var r,i,c=Math.abs(e),f=n(e);return ca||i!=i?f*(1/0):f*i}},function(t,e,r){var n=r(1);t.exports=function(t,e,r,i){try{return i?e(n(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&n(o.call(t)),e}}},function(t,e,r){var n=r(11),i=r(10),o=r(51),s=r(7);t.exports=function(t,e,r,a,u){n(e);var c=i(t),f=o(c),h=s(c.length),l=u?h-1:0,p=u?-1:1;if(r<2)for(;;){if(l in f){a=f[l],l+=p;break}if(l+=p,u?l<0:h<=l)throw TypeError("Reduce of empty array with no initial value")}for(;u?l>=0:h>l;l+=p)l in f&&(a=e(a,f[l],l,c));return a}},function(t,e,r){"use strict";var n=r(10),i=r(37),o=r(7);t.exports=[].copyWithin||function t(e,r){var s=n(this),a=o(s.length),u=i(e,a),c=i(r,a),f=arguments.length>2?arguments[2]:void 0,h=Math.min((void 0===f?a:i(f,a))-c,a-u),l=1;for(c0;)c in s?s[u]=s[c]:delete s[u],u+=l,c+=l;return s}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,r){"use strict";var n=r(93);r(0)({target:"RegExp",proto:!0,forced:n!==/./.exec},{exec:n})},function(t,e,r){r(8)&&"g"!=/./g.flags&&r(9).f(RegExp.prototype,"flags",{configurable:!0,get:r(53)})},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,r){var n=r(1),i=r(5),o=r(97);t.exports=function(t,e){if(n(t),i(e)&&e.constructor===t)return e;var r=o.f(t);return(0,r.resolve)(e),r.promise}},function(t,e,r){"use strict";var n=r(128),i=r(44),o="Map";t.exports=r(65)(o,(function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{get:function t(e){var r=n.getEntry(i(this,o),e);return r&&r.v},set:function t(e,r){return n.def(i(this,o),0===e?0:e,r)}},n,!0)},function(t,e,r){"use strict";var n=r(9).f,i=r(38),o=r(43),s=r(20),a=r(41),u=r(42),c=r(83),f=r(122),h=r(40),l=r(8),p=r(31).fastKey,g=r(44),d=l?"_s":"size",v=function(t,e){var r,n=p(e);if("F"!==n)return t._i[n];for(r=t._f;r;r=r.n)if(r.k==e)return r};t.exports={getConstructor:function(t,e,r,c){var f=t((function(t,n){a(t,f,e,"_i"),t._t=e,t._i=i(null),t._f=void 0,t._l=void 0,t[d]=0,null!=n&&u(n,r,t[c],t)}));return o(f.prototype,{clear:function t(){for(var r=g(this,e),n=r._i,i=r._f;i;i=i.n)i.r=!0,i.p&&(i.p=i.p.n=void 0),delete n[i.i];r._f=r._l=void 0,r[d]=0},delete:function(t){var r=g(this,e),n=v(r,t);if(n){var i=n.n,o=n.p;delete r._i[n.i],n.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==n&&(r._f=i),r._l==n&&(r._l=o),r[d]--}return!!n},forEach:function t(r){g(this,e);for(var n,i=s(r,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(i(n.v,n.k,this);n&&n.r;)n=n.p},has:function t(r){return!!v(g(this,e),r)}}),l&&n(f.prototype,"size",{get:function(){return g(this,e)[d]}}),f},def:function(t,e,r){var n,i,o=v(t,e);return o?o.v=r:(t._l=o={i:i=p(e,!0),k:e,v:r,p:n=t._l,n:void 0,r:!1},t._f||(t._f=o),n&&(n.n=o),t[d]++,"F"!==i&&(t._i[i]=o)),t},getEntry:v,setStrong:function(t,e,r){c(t,e,(function(t,r){this._t=g(t,e),this._k=r,this._l=void 0}),(function(){for(var t=this,e=t._k,r=t._l;r&&r.r;)r=r.p;return t._t&&(t._l=r=r?r.n:t._t._f)?f(0,"keys"==e?r.k:"values"==e?r.v:[r.k,r.v]):(t._t=void 0,f(1))}),r?"entries":"values",!r,!0),h(e)}}},function(t,e,r){"use strict";var n=r(128),i=r(44);t.exports=r(65)("Set",(function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function t(e){return n.def(i(this,"Set"),e=0===e?0:e,e)}},n)},function(t,e,r){"use strict";var n,i=r(2),o=r(27)(0),s=r(13),a=r(31),u=r(109),c=r(131),f=r(5),h=r(44),l=r(44),p=!i.ActiveXObject&&"ActiveXObject"in i,g="WeakMap",d=a.getWeak,v=Object.isExtensible,y=c.ufstore,m=function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}},_={get:function t(e){if(f(e)){var r=d(e);return!0===r?y(h(this,g)).get(e):r?r[this._i]:void 0}},set:function t(e,r){return c.def(h(this,g),e,r)}},S=t.exports=r(65)(g,m,_,c,!0,!0);l&&p&&(u((n=c.getConstructor(m,g)).prototype,_),a.NEED=!0,o(["delete","has","get","set"],(function(t){var e=S.prototype,r=e[t];s(e,t,(function(e,i){if(f(e)&&!v(e)){this._f||(this._f=new n);var o=this._f[t](e,i);return"set"==t?this:o}return r.call(this,e,i)}))})))},function(t,e,r){"use strict";var n=r(43),i=r(31).getWeak,o=r(1),s=r(5),a=r(41),u=r(42),c=r(27),f=r(15),h=r(44),l=c(5),p=c(6),g=0,d=function(t){return t._l||(t._l=new v)},v=function(){this.a=[]},y=function(t,e){return l(t.a,(function(t){return t[0]===e}))};v.prototype={get:function(t){var e=y(this,t);if(e)return e[1]},has:function(t){return!!y(this,t)},set:function(t,e){var r=y(this,t);r?r[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,(function(e){return e[0]===t}));return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,r,o){var c=t((function(t,n){a(t,c,e,"_i"),t._t=e,t._i=g++,t._l=void 0,null!=n&&u(n,r,t[o],t)}));return n(c.prototype,{delete:function(t){if(!s(t))return!1;var r=i(t);return!0===r?d(h(this,e)).delete(t):r&&f(r,this._i)&&delete r[this._i]},has:function t(r){if(!s(r))return!1;var n=i(r);return!0===n?d(h(this,e)).has(r):n&&f(n,this._i)}}),c},def:function(t,e,r){var n=i(o(e),!0);return!0===n?d(t).set(e,r):n[t._i]=r,t},ufstore:d}},function(t,e,r){var n=r(22),i=r(7);t.exports=function(t){if(void 0===t)return 0;var e=n(t),r=i(e);if(e!==r)throw RangeError("Wrong length!");return r}},function(t,e,r){var n=r(39),i=r(57),o=r(1),s=r(2).Reflect;t.exports=s&&s.ownKeys||function t(e){var r=n.f(o(e)),s=i.f;return s?r.concat(s(e)):r}},function(t,e,r){"use strict";var n=r(58),i=r(5),o=r(7),s=r(20),a=r(6)("isConcatSpreadable");t.exports=function t(e,r,u,c,f,h,l,p){for(var g,d,v=f,y=0,m=!!l&&s(l,p,3);y0)v=t(e,r,g,o(g.length),v,h-1)-1;else{if(v>=9007199254740991)throw TypeError();e[v]=g}v++}y++}return v}},function(t,e,r){var n=r(7),i=r(80),o=r(25);t.exports=function(t,e,r,s){var a=String(o(t)),u=a.length,c=void 0===r?" ":String(r),f=n(e);if(f<=u||""==c)return a;var h=f-u,l=i.call(c,Math.ceil(h/c.length));return l.length>h&&(l=l.slice(0,h)),s?l+a:a+l}},function(t,e,r){var n=r(8),i=r(36),o=r(16),s=r(52).f;t.exports=function(t){return function(e){for(var r,a=o(e),u=i(a),c=u.length,f=0,h=[];c>f;)r=u[f++],n&&!s.call(a,r)||h.push(t?[r,a[r]]:a[r]);return h}}},function(t,e,r){var n=r(46),i=r(138);t.exports=function(t){return function e(){if(n(this)!=t)throw TypeError(t+"#toJSON isn't generic");return i(this)}}},function(t,e,r){var n=r(42);t.exports=function(t,e){var r=[];return n(t,!1,r.push,r,e),r}},function(t,e){t.exports=Math.scale||function t(e,r,n,i,o){return 0===arguments.length||e!=e||r!=r||n!=n||i!=i||o!=o?NaN:e===1/0||e===-1/0?e:(e-r)*(o-i)/(n-r)+i}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OidcClient=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};p(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.response_type,o=r.scope,s=r.redirect_uri,u=r.data,c=r.state,f=r.prompt,h=r.display,l=r.max_age,p=r.ui_locales,g=r.id_token_hint,d=r.login_hint,v=r.acr_values,y=r.resource,m=r.request,_=r.request_uri,S=r.response_mode,b=r.extraQueryParams,w=r.extraTokenParams,F=r.request_type,E=r.skipUserInfo,x=arguments[1];i.Log.debug("OidcClient.createSigninRequest");var A=this._settings.client_id;n=n||this._settings.response_type,o=o||this._settings.scope,s=s||this._settings.redirect_uri,f=f||this._settings.prompt,h=h||this._settings.display,l=l||this._settings.max_age,p=p||this._settings.ui_locales,v=v||this._settings.acr_values,y=y||this._settings.resource,S=S||this._settings.response_mode,b=b||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var P=this._settings.authority;return a.SigninRequest.isCode(n)&&"code"!==n?Promise.reject(new Error("OpenID Connect hybrid flow is not supported")):this._metadataService.getAuthorizationEndpoint().then((function(t){i.Log.debug("OidcClient.createSigninRequest: Received authorization endpoint",t);var r=new a.SigninRequest({url:t,client_id:A,redirect_uri:s,response_type:n,scope:o,data:u||c,authority:P,prompt:f,display:h,max_age:l,ui_locales:p,id_token_hint:g,login_hint:d,acr_values:v,resource:y,request:m,request_uri:_,extraQueryParams:b,extraTokenParams:w,request_type:F,response_mode:S,client_secret:e._settings.client_secret,skipUserInfo:E}),k=r.state;return(x=x||e._stateStore).set(k.id,k.toStorageString()).then((function(){return r}))}))},t.prototype.readSigninResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSigninResponseState");var o="query"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type),s=o?"?":"#",c=new u.SigninResponse(e,s);if(!c.state)return i.Log.error("OidcClient.readSigninResponseState: No state in response"),Promise.reject(new Error("No state in response"));r=r||this._stateStore;var f=n?r.remove.bind(r):r.get.bind(r);return f(c.state).then((function(t){if(!t)throw i.Log.error("OidcClient.readSigninResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:h.SigninState.fromStorageString(t),response:c}}))},t.prototype.processSigninResponse=function t(e,r){var n=this;return i.Log.debug("OidcClient.processSigninResponse"),this.readSigninResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return i.Log.debug("OidcClient.processSigninResponse: Received state from storage; validating response"),n._validator.validateSigninResponse(e,r)}))},t.prototype.createSignoutRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.id_token_hint,o=r.data,s=r.state,a=r.post_logout_redirect_uri,u=r.extraQueryParams,f=r.request_type,h=arguments[1];return i.Log.debug("OidcClient.createSignoutRequest"),a=a||this._settings.post_logout_redirect_uri,u=u||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(t){if(!t)throw i.Log.error("OidcClient.createSignoutRequest: No end session endpoint url returned"),new Error("no end session endpoint");i.Log.debug("OidcClient.createSignoutRequest: Received end session endpoint",t);var r=new c.SignoutRequest({url:t,id_token_hint:n,post_logout_redirect_uri:a,data:o||s,extraQueryParams:u,request_type:f}),l=r.state;return l&&(i.Log.debug("OidcClient.createSignoutRequest: Signout request has state to persist"),(h=h||e._stateStore).set(l.id,l.toStorageString())),r}))},t.prototype.readSignoutResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug("OidcClient.readSignoutResponseState");var o=new f.SignoutResponse(e);if(!o.state)return i.Log.debug("OidcClient.readSignoutResponseState: No state in response"),o.error?(i.Log.warn("OidcClient.readSignoutResponseState: Response was error: ",o.error),Promise.reject(new s.ErrorResponse(o))):Promise.resolve({state:void 0,response:o});var a=o.state;r=r||this._stateStore;var u=n?r.remove.bind(r):r.get.bind(r);return u(a).then((function(t){if(!t)throw i.Log.error("OidcClient.readSignoutResponseState: No matching state found in storage"),new Error("No matching state found in storage");return{state:l.State.fromStorageString(t),response:o}}))},t.prototype.processSignoutResponse=function t(e,r){var n=this;return i.Log.debug("OidcClient.processSignoutResponse"),this.readSignoutResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return e?(i.Log.debug("OidcClient.processSignoutResponse: Received state from storage; validating response"),n._validator.validateSignoutResponse(e,r)):(i.Log.debug("OidcClient.processSignoutResponse: No state from storage; skipping validating response"),r)}))},t.prototype.clearStaleState=function t(e){return i.Log.debug("OidcClient.clearStaleState"),e=e||this._stateStore,l.State.clearStaleState(e,this.settings.staleStateAge)},n(t,[{key:"_stateStore",get:function t(){return this.settings.stateStore}},{key:"_validator",get:function t(){return this.settings.validator}},{key:"_metadataService",get:function t(){return this.settings.metadataService}},{key:"settings",get:function t(){return this._settings}},{key:"metadataService",get:function t(){return this._metadataService}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenClient=void 0;var n=r(101),i=r(49),o=r(3);function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw o.Log.error("TokenClient.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r,this._metadataService=new a(this._settings)}return t.prototype.exchangeCode=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||"authorization_code",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret,r.redirect_uri=r.redirect_uri||this._settings.redirect_uri;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.code?r.redirect_uri?r.code_verifier?r.client_id?r.client_secret||"client_secret_basic"!=i?("client_secret_basic"==i&&(n=r.client_id+":"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug("TokenClient.exchangeCode: Received token endpoint"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug("TokenClient.exchangeCode: response received"),t}))}))):(o.Log.error("TokenClient.exchangeCode: No client_secret passed"),Promise.reject(new Error("A client_secret is required"))):(o.Log.error("TokenClient.exchangeCode: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeCode: No code_verifier passed"),Promise.reject(new Error("A code_verifier is required"))):(o.Log.error("TokenClient.exchangeCode: No redirect_uri passed"),Promise.reject(new Error("A redirect_uri is required"))):(o.Log.error("TokenClient.exchangeCode: No code passed"),Promise.reject(new Error("A code is required")))},t.prototype.exchangeRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||"refresh_token",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.refresh_token?r.client_id?("client_secret_basic"==i&&(n=r.client_id+":"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: Received token endpoint"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug("TokenClient.exchangeRefreshToken: response received"),t}))}))):(o.Log.error("TokenClient.exchangeRefreshToken: No client_id passed"),Promise.reject(new Error("A client_id is required"))):(o.Log.error("TokenClient.exchangeRefreshToken: No refresh_token passed"),Promise.reject(new Error("A refresh_token is required")))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ErrorResponse=void 0;var n=r(3);function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=r.error,a=r.error_description,u=r.error_uri,c=r.state,f=r.session_state;if(i(this,e),!s)throw n.Log.error("No error passed to ErrorResponse"),new Error("error");var h=o(this,t.call(this,a||s));return h.name="ErrorResponse",h.error=s,h.error_description=a,h.error_uri=u,h.state=c,h.session_state=f,h}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,h=r.code_verifier,l=r.response_mode,p=r.client_secret,g=r.scope,d=r.extraTokenParams,v=r.skipUserInfo;c(this,e);var y=f(this,t.call(this,arguments[0]));if(!0===n?y._nonce=(0,a.default)():n&&(y._nonce=n),!0===h?y._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():h&&(y._code_verifier=h),y.code_verifier){var m=s.JoseUtil.hashString(y.code_verifier,"SHA256");y._code_challenge=s.JoseUtil.hexToBase64Url(m)}return y._redirect_uri=u,y._authority=i,y._client_id=o,y._response_mode=l,y._client_secret=p,y._scope=g,y._extraTokenParams=d,y._skipUserInfo=v,y}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function t(){return i.Log.debug("SigninState.toStorageString"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function t(r){return i.Log.debug("SigninState.fromStorageString"),new e(JSON.parse(r))},n(e,[{key:"nonce",get:function t(){return this._nonce}},{key:"authority",get:function t(){return this._authority}},{key:"client_id",get:function t(){return this._client_id}},{key:"redirect_uri",get:function t(){return this._redirect_uri}},{key:"code_verifier",get:function t(){return this._code_verifier}},{key:"code_challenge",get:function t(){return this._code_challenge}},{key:"response_mode",get:function t(){return this._response_mode}},{key:"client_secret",get:function t(){return this._client_secret}},{key:"scope",get:function t(){return this._scope}},{key:"extraTokenParams",get:function t(){return this._extraTokenParams}},{key:"skipUserInfo",get:function t(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function n(){return("undefined"!=i&&null!==i&&void 0!==i.getRandomValues?o:s)().replace(/-/g,"")};var i="undefined"!=typeof window?window.crypto||window.msCrypto:null;function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^i.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function s(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:"expired",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function t(){return(this.scope||"").split(" ")}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AccessTokenEvents=void 0;var n=r(3),i=r(378);function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,s=e.accessTokenExpiringTimer,a=void 0===s?new i.Timer("Access token expiring"):s,u=e.accessTokenExpiredTimer,c=void 0===u?new i.Timer("Access token expired"):u;o(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=a,this._accessTokenExpired=c}return t.prototype.load=function t(e){if(e.access_token&&void 0!==e.expires_in){var r=e.expires_in;if(n.Log.debug("AccessTokenEvents.load: access token present, remaining duration:",r),r>0){var i=r-this._accessTokenExpiringNotificationTime;i<=0&&(i=1),n.Log.debug("AccessTokenEvents.load: registering expiring timer in:",i),this._accessTokenExpiring.init(i)}else n.Log.debug("AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration."),this._accessTokenExpiring.cancel();var o=r+1;n.Log.debug("AccessTokenEvents.load: registering expired timer in:",o),this._accessTokenExpired.init(o)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function t(){n.Log.debug("AccessTokenEvents.unload: canceling existing access token timers"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function t(e){this._accessTokenExpiring.addHandler(e)},t.prototype.removeAccessTokenExpiring=function t(e){this._accessTokenExpiring.removeHandler(e)},t.prototype.addAccessTokenExpired=function t(e){this._accessTokenExpired.addHandler(e)},t.prototype.removeAccessTokenExpired=function t(e){this._accessTokenExpired.removeHandler(e)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Event=void 0;var n=r(3);e.Event=function(){function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function t(e){this._callbacks.push(e)},t.prototype.removeHandler=function t(e){var r=this._callbacks.findIndex((function(t){return t===e}));r>=0&&this._callbacks.splice(r,1)},t.prototype.raise=function t(){n.Log.debug("Event: Raising event: "+this._name);for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(a(this,t),!e)throw i.Log.error("SessionMonitor.ctor: No user manager passed to SessionMonitor"),new Error("userManager");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=u,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error("SessionMonitor ctor: error from querySessionStatus:",t.message)}))})).catch((function(t){i.Log.error("SessionMonitor ctor: error from getUser:",t.message)})))}return t.prototype._start=function t(e){var r=this,n=e.session_state;n&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,i.Log.debug("SessionMonitor._start: session_state:",n,", sub:",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug("SessionMonitor._start: session_state:",n,", anonymous user")),this._checkSessionIFrame?this._checkSessionIFrame.start(n):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug("SessionMonitor._start: Initializing check session iframe");var e=r._client_id,o=r._checkSessionInterval,s=r._stopCheckSessionOnError;r._checkSessionIFrame=new r._CheckSessionIFrameCtor(r._callback.bind(r),e,t,o,s),r._checkSessionIFrame.load().then((function(){r._checkSessionIFrame.start(n)}))}else i.Log.warn("SessionMonitor._start: No check session iframe found in the metadata")})).catch((function(t){i.Log.error("SessionMonitor._start: Error from getCheckSessionIframe:",t.message)})))},t.prototype._stop=function t(){var e=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug("SessionMonitor._stop"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var r=this._timer.setInterval((function(){e._timer.clearInterval(r),e._userManager.querySessionStatus().then((function(t){var r={session_state:t.session_state};t.sub&&t.sid&&(r.profile={sub:t.sub,sid:t.sid}),e._start(r)})).catch((function(t){i.Log.error("SessionMonitor: error from querySessionStatus:",t.message)}))}),1e3)},t.prototype._callback=function t(){var e=this;this._userManager.querySessionStatus().then((function(t){var r=!0;t?t.sub===e._sub?(r=!1,e._checkSessionIFrame.start(t.session_state),t.sid===e._sid?i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:",t.session_state):(i.Log.debug("SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:",t.session_state),e._userManager.events._raiseUserSessionChanged())):i.Log.debug("SessionMonitor._callback: Different subject signed into OP:",t.sub):i.Log.debug("SessionMonitor._callback: Subject no longer signed into OP"),r&&(e._sub?(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed out event"),e._userManager.events._raiseUserSignedOut()):(i.Log.debug("SessionMonitor._callback: SessionMonitor._callback; raising signed in event"),e._userManager.events._raiseUserSignedIn()))})).catch((function(t){e._sub&&(i.Log.debug("SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event",t.message),e._userManager.events._raiseUserSignedOut())}))},n(t,[{key:"_settings",get:function t(){return this._userManager.settings}},{key:"_metadataService",get:function t(){return this._userManager.metadataService}},{key:"_client_id",get:function t(){return this._settings.client_id}},{key:"_checkSessionInterval",get:function t(){return this._settings.checkSessionInterval}},{key:"_stopCheckSessionOnError",get:function t(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(3);function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.CheckSessionIFrame=function(){function t(e,r,n,o){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];i(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=o||2e3,this._stopOnError=s;var a=n.indexOf("/",n.indexOf("//")+2);this._frame_origin=n.substr(0,a),this._frame=window.document.createElement("iframe"),this._frame.style.visibility="hidden",this._frame.style.position="absolute",this._frame.style.display="none",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function t(){var e=this;return new Promise((function(t){e._frame.onload=function(){t()},window.document.body.appendChild(e._frame),e._boundMessageEvent=e._message.bind(e),window.addEventListener("message",e._boundMessageEvent,!1)}))},t.prototype._message=function t(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&("error"===e.data?(n.Log.error("CheckSessionIFrame: error message from check session op iframe"),this._stopOnError&&this.stop()):"changed"===e.data?(n.Log.debug("CheckSessionIFrame: changed message from check session op iframe"),this.stop(),this._callback()):n.Log.debug("CheckSessionIFrame: "+e.data+" message from check session op iframe"))},t.prototype.start=function t(e){var r=this;if(this._session_state!==e){n.Log.debug("CheckSessionIFrame.start"),this.stop(),this._session_state=e;var i=function t(){r._frame.contentWindow.postMessage(r._client_id+" "+r._session_state,r._frame_origin)};i(),this._timer=window.setInterval(i,this._interval)}},t.prototype.stop=function t(){this._session_state=null,this._timer&&(n.Log.debug("CheckSessionIFrame.stop"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenRevocationClient=void 0;var n=r(3),i=r(49),o=r(33);function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a="access_token",u="refresh_token";e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw n.Log.error("TokenRevocationClient.ctor: No settings provided"),new Error("No settings provided.");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new a(this._settings)}return t.prototype.revoke=function t(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"access_token";if(!e)throw n.Log.error("TokenRevocationClient.revoke: No token provided"),new Error("No token provided.");if(o!==a&&o!=u)throw n.Log.error("TokenRevocationClient.revoke: Invalid token type"),new Error("Invalid token type.");return this._metadataService.getRevocationEndpoint().then((function(t){if(t){n.Log.debug("TokenRevocationClient.revoke: Revoking "+o);var s=i._settings.client_id,a=i._settings.client_secret;return i._revoke(t,s,a,e,o)}if(r)throw n.Log.error("TokenRevocationClient.revoke: Revocation not supported"),new Error("Revocation not supported")}))},t.prototype._revoke=function t(e,r,i,o,s){var a=this;return new Promise((function(t,u){var c=new a._XMLHttpRequestCtor;c.open("POST",e),c.onload=function(){n.Log.debug("TokenRevocationClient.revoke: HTTP response received, status",c.status),200===c.status?t():u(Error(c.statusText+" ("+c.status+")"))},c.onerror=function(){n.Log.debug("TokenRevocationClient.revoke: Network Error."),u("Network Error")};var f="client_id="+encodeURIComponent(r);i&&(f+="&client_secret="+encodeURIComponent(i)),f+="&token_type_hint="+encodeURIComponent(s),f+="&token="+encodeURIComponent(o),c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),c.send(f)}))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;ro;)Y(e,n=i[o++],r[n]);return e},$=function t(e){var r=j.call(this,e=w(e,!0));return!(this===V&&i(B,e)&&!i(H,e))&&(!(r||!i(this,e)||!i(B,e)||i(this,D)&&this[D][e])||r)},Q=function t(e,r){if(e=b(e),r=w(r,!0),e!==V||!i(B,r)||i(H,r)){var n=C(e,r);return!n||!i(B,r)||i(e,D)&&e[D][r]||(n.enumerable=!0),n}},Z=function t(e){for(var r,n=I(b(e)),o=[],s=0;n.length>s;)i(B,r=n[s++])||r==D||r==u||o.push(r);return o},tt=function t(e){for(var r,n=e===V,o=I(n?H:b(e)),s=[],a=0;o.length>a;)!i(B,r=o[a++])||n&&!i(V,r)||s.push(B[r]);return s};K||(a((O=function t(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var e=l(arguments.length>0?arguments[0]:void 0),r=function(t){this===V&&r.call(H,t),i(this,D)&&i(this[D],e)&&(this[D][e]=!1),J(this,e,F(1,t))};return o&&W&&J(V,e,{configurable:!0,set:r}),z(e)}).prototype,"toString",(function t(){return this._k})),A.f=Q,k.f=Y,r(39).f=x.f=Z,r(52).f=$,P.f=tt,o&&!r(30)&&a(V,"propertyIsEnumerable",$,!0),g.f=function(t){return z(p(t))}),s(s.G+s.W+s.F*!K,{Symbol:O});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),rt=0;et.length>rt;)p(et[rt++]);for(var nt=T(p.store),it=0;nt.length>it;)d(nt[it++]);s(s.S+s.F*!K,"Symbol",{for:function(t){return i(U,t+="")?U[t]:U[t]=O(t)},keyFor:function t(e){if(!G(e))throw TypeError(e+" is not a symbol!");for(var r in U)if(U[r]===e)return r},useSetter:function(){W=!0},useSimple:function(){W=!1}}),s(s.S+s.F*!K,"Object",{create:function t(e,r){return void 0===r?E(e):X(E(e),r)},defineProperty:Y,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:Z,getOwnPropertySymbols:tt});var ot=c((function(){P.f(1)}));s(s.S+s.F*ot,"Object",{getOwnPropertySymbols:function t(e){return P.f(S(e))}}),N&&s(s.S+s.F*(!K||c((function(){var t=O();return"[null]"!=L([t])||"{}"!=L({a:t})||"{}"!=L(Object(t))}))),"JSON",{stringify:function t(e){for(var r,n,i=[e],o=1;arguments.length>o;)i.push(arguments[o++]);if(n=r=i[1],(_(r)||void 0!==e)&&!G(e))return y(r)||(r=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),i[1]=r,L.apply(N,i)}}),O.prototype[M]||r(12)(O.prototype,M,O.prototype.valueOf),h(O,"Symbol"),h(Math,"Math",!0),h(n.JSON,"JSON",!0)},function(t,e,r){t.exports=r(50)("native-function-to-string",Function.toString)},function(t,e,r){var n=r(36),i=r(57),o=r(52);t.exports=function(t){var e=n(t),r=i.f;if(r)for(var s,a=r(t),u=o.f,c=0;a.length>c;)u.call(t,s=a[c++])&&e.push(s);return e}},function(t,e,r){var n=r(0);n(n.S,"Object",{create:r(38)})},function(t,e,r){var n=r(0);n(n.S+n.F*!r(8),"Object",{defineProperty:r(9).f})},function(t,e,r){var n=r(0);n(n.S+n.F*!r(8),"Object",{defineProperties:r(107)})},function(t,e,r){var n=r(16),i=r(17).f;r(26)("getOwnPropertyDescriptor",(function(){return function t(e,r){return i(n(e),r)}}))},function(t,e,r){var n=r(10),i=r(18);r(26)("getPrototypeOf",(function(){return function t(e){return i(n(e))}}))},function(t,e,r){var n=r(10),i=r(36);r(26)("keys",(function(){return function t(e){return i(n(e))}}))},function(t,e,r){r(26)("getOwnPropertyNames",(function(){return r(108).f}))},function(t,e,r){var n=r(5),i=r(31).onFreeze;r(26)("freeze",(function(t){return function e(r){return t&&n(r)?t(i(r)):r}}))},function(t,e,r){var n=r(5),i=r(31).onFreeze;r(26)("seal",(function(t){return function e(r){return t&&n(r)?t(i(r)):r}}))},function(t,e,r){var n=r(5),i=r(31).onFreeze;r(26)("preventExtensions",(function(t){return function e(r){return t&&n(r)?t(i(r)):r}}))},function(t,e,r){var n=r(5);r(26)("isFrozen",(function(t){return function e(r){return!n(r)||!!t&&t(r)}}))},function(t,e,r){var n=r(5);r(26)("isSealed",(function(t){return function e(r){return!n(r)||!!t&&t(r)}}))},function(t,e,r){var n=r(5);r(26)("isExtensible",(function(t){return function e(r){return!!n(r)&&(!t||t(r))}}))},function(t,e,r){var n=r(0);n(n.S+n.F,"Object",{assign:r(109)})},function(t,e,r){var n=r(0);n(n.S,"Object",{is:r(110)})},function(t,e,r){var n=r(0);n(n.S,"Object",{setPrototypeOf:r(77).set})},function(t,e,r){"use strict";var n=r(46),i={};i[r(6)("toStringTag")]="z",i+""!="[object z]"&&r(13)(Object.prototype,"toString",(function t(){return"[object "+n(this)+"]"}),!0)},function(t,e,r){var n=r(0);n(n.P,"Function",{bind:r(111)})},function(t,e,r){var n=r(9).f,i=Function.prototype,o=/^\s*function ([^ (]*)/,s="name";s in i||r(8)&&n(i,s,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,e,r){"use strict";var n=r(5),i=r(18),o=r(6)("hasInstance"),s=Function.prototype;o in s||r(9).f(s,o,{value:function(t){if("function"!=typeof this||!n(t))return!1;if(!n(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,r){var n=r(0),i=r(113);n(n.G+n.F*(parseInt!=i),{parseInt:i})},function(t,e,r){var n=r(0),i=r(114);n(n.G+n.F*(parseFloat!=i),{parseFloat:i})},function(t,e,r){"use strict";var n=r(2),i=r(15),o=r(21),s=r(79),a=r(24),u=r(4),c=r(39).f,f=r(17).f,h=r(9).f,l=r(47).trim,p="Number",g=n.Number,d=g,v=g.prototype,y=o(r(38)(v))==p,m="trim"in String.prototype,_=function(t){var e=a(t,!1);if("string"==typeof e&&e.length>2){var r,n,i,o=(e=m?e.trim():l(e,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=e.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+e}for(var s,u=e.slice(2),c=0,f=u.length;ci)return NaN;return parseInt(u,n)}}return+e};if(!g(" 0o1")||!g("0b1")||g("+0x1")){g=function t(e){var r=arguments.length<1?0:e,n=this;return n instanceof g&&(y?u((function(){v.valueOf.call(n)})):o(n)!=p)?s(new d(_(r)),n,g):_(r)};for(var S,b=r(8)?c(d):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;b.length>w;w++)i(d,S=b[w])&&!i(g,S)&&h(g,S,f(d,S));g.prototype=v,v.constructor=g,r(13)(n,p,g)}},function(t,e,r){"use strict";var n=r(0),i=r(22),o=r(115),s=r(80),a=1..toFixed,u=Math.floor,c=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",h="0",l=function(t,e){for(var r=-1,n=e;++r<6;)n+=t*c[r],c[r]=n%1e7,n=u(n/1e7)},p=function(t){for(var e=6,r=0;--e>=0;)r+=c[e],c[e]=u(r/t),r=r%t*1e7},g=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==c[t]){var r=String(c[t]);e=""===e?r:e+s.call(h,7-r.length)+r}return e},d=function(t,e,r){return 0===e?r:e%2==1?d(t,e-1,r*t):d(t*t,e/2,r)};n(n.P+n.F*(!!a&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r(4)((function(){a.call({})}))),"Number",{toFixed:function t(e){var r,n,a,u,c=o(this,f),v=i(e),y="",m=h;if(v<0||v>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(y="-",c=-c),c>1e-21)if(n=(r=function(t){for(var e=0,r=t;r>=4096;)e+=12,r/=4096;for(;r>=2;)e+=1,r/=2;return e}(c*d(2,69,1))-69)<0?c*d(2,-r,1):c/d(2,r,1),n*=4503599627370496,(r=52-r)>0){for(l(0,n),a=v;a>=7;)l(1e7,0),a-=7;for(l(d(10,a,1),0),a=r-1;a>=23;)p(1<<23),a-=23;p(1<0?y+((u=m.length)<=v?"0."+s.call(h,v-u)+m:m.slice(0,u-v)+"."+m.slice(u-v)):y+m}})},function(t,e,r){"use strict";var n=r(0),i=r(4),o=r(115),s=1..toPrecision;n(n.P+n.F*(i((function(){return"1"!==s.call(1,void 0)}))||!i((function(){s.call({})}))),"Number",{toPrecision:function t(e){var r=o(this,"Number#toPrecision: incorrect invocation!");return void 0===e?s.call(r):s.call(r,e)}})},function(t,e,r){var n=r(0);n(n.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,r){var n=r(0),i=r(2).isFinite;n(n.S,"Number",{isFinite:function t(e){return"number"==typeof e&&i(e)}})},function(t,e,r){var n=r(0);n(n.S,"Number",{isInteger:r(116)})},function(t,e,r){var n=r(0);n(n.S,"Number",{isNaN:function t(e){return e!=e}})},function(t,e,r){var n=r(0),i=r(116),o=Math.abs;n(n.S,"Number",{isSafeInteger:function t(e){return i(e)&&o(e)<=9007199254740991}})},function(t,e,r){var n=r(0);n(n.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,r){var n=r(0);n(n.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,r){var n=r(0),i=r(114);n(n.S+n.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},function(t,e,r){var n=r(0),i=r(113);n(n.S+n.F*(Number.parseInt!=i),"Number",{parseInt:i})},function(t,e,r){var n=r(0),i=r(117),o=Math.sqrt,s=Math.acosh;n(n.S+n.F*!(s&&710==Math.floor(s(Number.MAX_VALUE))&&s(1/0)==1/0),"Math",{acosh:function t(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:i(e-1+o(e-1)*o(e+1))}})},function(t,e,r){var n=r(0),i=Math.asinh;n(n.S+n.F*!(i&&1/i(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,r){var n=r(0),i=Math.atanh;n(n.S+n.F*!(i&&1/i(-0)<0),"Math",{atanh:function t(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},function(t,e,r){var n=r(0),i=r(81);n(n.S,"Math",{cbrt:function t(e){return i(e=+e)*Math.pow(Math.abs(e),1/3)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{clz32:function t(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},function(t,e,r){var n=r(0),i=Math.exp;n(n.S,"Math",{cosh:function t(e){return(i(e=+e)+i(-e))/2}})},function(t,e,r){var n=r(0),i=r(82);n(n.S+n.F*(i!=Math.expm1),"Math",{expm1:i})},function(t,e,r){var n=r(0);n(n.S,"Math",{fround:r(118)})},function(t,e,r){var n=r(0),i=Math.abs;n(n.S,"Math",{hypot:function t(e,r){for(var n,o,s=0,a=0,u=arguments.length,c=0;a0?(o=n/c)*o:n;return c===1/0?1/0:c*Math.sqrt(s)}})},function(t,e,r){var n=r(0),i=Math.imul;n(n.S+n.F*r(4)((function(){return-5!=i(4294967295,5)||2!=i.length})),"Math",{imul:function t(e,r){var n=65535,i=+e,o=+r,s=n&i,a=n&o;return 0|s*a+((n&i>>>16)*a+s*(n&o>>>16)<<16>>>0)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{log10:function t(e){return Math.log(e)*Math.LOG10E}})},function(t,e,r){var n=r(0);n(n.S,"Math",{log1p:r(117)})},function(t,e,r){var n=r(0);n(n.S,"Math",{log2:function t(e){return Math.log(e)/Math.LN2}})},function(t,e,r){var n=r(0);n(n.S,"Math",{sign:r(81)})},function(t,e,r){var n=r(0),i=r(82),o=Math.exp;n(n.S+n.F*r(4)((function(){return-2e-17!=!Math.sinh(-2e-17)})),"Math",{sinh:function t(e){return Math.abs(e=+e)<1?(i(e)-i(-e))/2:(o(e-1)-o(-e-1))*(Math.E/2)}})},function(t,e,r){var n=r(0),i=r(82),o=Math.exp;n(n.S,"Math",{tanh:function t(e){var r=i(e=+e),n=i(-e);return r==1/0?1:n==1/0?-1:(r-n)/(o(e)+o(-e))}})},function(t,e,r){var n=r(0);n(n.S,"Math",{trunc:function t(e){return(e>0?Math.floor:Math.ceil)(e)}})},function(t,e,r){var n=r(0),i=r(37),o=String.fromCharCode,s=String.fromCodePoint;n(n.S+n.F*(!!s&&1!=s.length),"String",{fromCodePoint:function t(e){for(var r,n=[],s=arguments.length,a=0;s>a;){if(r=+arguments[a++],i(r,1114111)!==r)throw RangeError(r+" is not a valid code point");n.push(r<65536?o(r):o(55296+((r-=65536)>>10),r%1024+56320))}return n.join("")}})},function(t,e,r){var n=r(0),i=r(16),o=r(7);n(n.S,"String",{raw:function t(e){for(var r=i(e.raw),n=o(r.length),s=arguments.length,a=[],u=0;n>u;)a.push(String(r[u++])),u=e.length?{value:void 0,done:!0}:(t=n(e,r),this._i+=t.length,{value:t,done:!1})}))},function(t,e,r){"use strict";var n=r(0),i=r(59)(!1);n(n.P,"String",{codePointAt:function t(e){return i(this,e)}})},function(t,e,r){"use strict";var n=r(0),i=r(7),o=r(85),s="endsWith",a="".endsWith;n(n.P+n.F*r(86)(s),"String",{endsWith:function t(e){var r=o(this,e,s),n=arguments.length>1?arguments[1]:void 0,u=i(r.length),c=void 0===n?u:Math.min(i(n),u),f=String(e);return a?a.call(r,f,c):r.slice(c-f.length,c)===f}})},function(t,e,r){"use strict";var n=r(0),i=r(85),o="includes";n(n.P+n.F*r(86)(o),"String",{includes:function t(e){return!!~i(this,e,o).indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(t,e,r){var n=r(0);n(n.P,"String",{repeat:r(80)})},function(t,e,r){"use strict";var n=r(0),i=r(7),o=r(85),s="startsWith",a="".startsWith;n(n.P+n.F*r(86)(s),"String",{startsWith:function t(e){var r=o(this,e,s),n=i(Math.min(arguments.length>1?arguments[1]:void 0,r.length)),u=String(e);return a?a.call(r,u,n):r.slice(n,n+u.length)===u}})},function(t,e,r){"use strict";r(14)("anchor",(function(t){return function e(r){return t(this,"a","name",r)}}))},function(t,e,r){"use strict";r(14)("big",(function(t){return function e(){return t(this,"big","","")}}))},function(t,e,r){"use strict";r(14)("blink",(function(t){return function e(){return t(this,"blink","","")}}))},function(t,e,r){"use strict";r(14)("bold",(function(t){return function e(){return t(this,"b","","")}}))},function(t,e,r){"use strict";r(14)("fixed",(function(t){return function e(){return t(this,"tt","","")}}))},function(t,e,r){"use strict";r(14)("fontcolor",(function(t){return function e(r){return t(this,"font","color",r)}}))},function(t,e,r){"use strict";r(14)("fontsize",(function(t){return function e(r){return t(this,"font","size",r)}}))},function(t,e,r){"use strict";r(14)("italics",(function(t){return function e(){return t(this,"i","","")}}))},function(t,e,r){"use strict";r(14)("link",(function(t){return function e(r){return t(this,"a","href",r)}}))},function(t,e,r){"use strict";r(14)("small",(function(t){return function e(){return t(this,"small","","")}}))},function(t,e,r){"use strict";r(14)("strike",(function(t){return function e(){return t(this,"strike","","")}}))},function(t,e,r){"use strict";r(14)("sub",(function(t){return function e(){return t(this,"sub","","")}}))},function(t,e,r){"use strict";r(14)("sup",(function(t){return function e(){return t(this,"sup","","")}}))},function(t,e,r){var n=r(0);n(n.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(24);n(n.P+n.F*r(4)((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})),"Date",{toJSON:function t(e){var r=i(this),n=o(r);return"number"!=typeof n||isFinite(n)?r.toISOString():null}})},function(t,e,r){var n=r(0),i=r(234);n(n.P+n.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},function(t,e,r){"use strict";var n=r(4),i=Date.prototype.getTime,o=Date.prototype.toISOString,s=function(t){return t>9?t:"0"+t};t.exports=n((function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-50000000000001))}))||!n((function(){o.call(new Date(NaN))}))?function t(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var e=this,r=e.getUTCFullYear(),n=e.getUTCMilliseconds(),o=r<0?"-":r>9999?"+":"";return o+("00000"+Math.abs(r)).slice(o?-6:-4)+"-"+s(e.getUTCMonth()+1)+"-"+s(e.getUTCDate())+"T"+s(e.getUTCHours())+":"+s(e.getUTCMinutes())+":"+s(e.getUTCSeconds())+"."+(n>99?n:"0"+s(n))+"Z"}:o},function(t,e,r){var n=Date.prototype,i="Invalid Date",o="toString",s=n.toString,a=n.getTime;new Date(NaN)+""!=i&&r(13)(n,o,(function t(){var e=a.call(this);return e==e?s.call(this):i}))},function(t,e,r){var n=r(6)("toPrimitive"),i=Date.prototype;n in i||r(12)(i,n,r(237))},function(t,e,r){"use strict";var n=r(1),i=r(24),o="number";t.exports=function(t){if("string"!==t&&t!==o&&"default"!==t)throw TypeError("Incorrect hint");return i(n(this),t!=o)}},function(t,e,r){var n=r(0);n(n.S,"Array",{isArray:r(58)})},function(t,e,r){"use strict";var n=r(20),i=r(0),o=r(10),s=r(119),a=r(87),u=r(7),c=r(88),f=r(89);i(i.S+i.F*!r(61)((function(t){Array.from(t)})),"Array",{from:function t(e){var r,i,h,l,p=o(e),g="function"==typeof this?this:Array,d=arguments.length,v=d>1?arguments[1]:void 0,y=void 0!==v,m=0,_=f(p);if(y&&(v=n(v,d>2?arguments[2]:void 0,2)),null==_||g==Array&&a(_))for(i=new g(r=u(p.length));r>m;m++)c(i,m,y?v(p[m],m):p[m]);else for(l=_.call(p),i=new g;!(h=l.next()).done;m++)c(i,m,y?s(l,v,[h.value,m],!0):h.value);return i.length=m,i}})},function(t,e,r){"use strict";var n=r(0),i=r(88);n(n.S+n.F*r(4)((function(){function t(){}return!(Array.of.call(t)instanceof t)})),"Array",{of:function t(){for(var e=0,r=arguments.length,n=new("function"==typeof this?this:Array)(r);r>e;)i(n,e,arguments[e++]);return n.length=r,n}})},function(t,e,r){"use strict";var n=r(0),i=r(16),o=[].join;n(n.P+n.F*(r(51)!=Object||!r(23)(o)),"Array",{join:function t(e){return o.call(i(this),void 0===e?",":e)}})},function(t,e,r){"use strict";var n=r(0),i=r(76),o=r(21),s=r(37),a=r(7),u=[].slice;n(n.P+n.F*r(4)((function(){i&&u.call(i)})),"Array",{slice:function t(e,r){var n=a(this.length),i=o(this);if(r=void 0===r?n:r,"Array"==i)return u.call(this,e,r);for(var c=s(e,n),f=s(r,n),h=a(f-c),l=new Array(h),p=0;p1&&(c=Math.min(c,o(arguments[1]))),c<0&&(c=n+c);c>=0;c--)if(c in r&&r[c]===e)return c||0;return-1}})},function(t,e,r){var n=r(0);n(n.P,"Array",{copyWithin:r(121)}),r(32)("copyWithin")},function(t,e,r){var n=r(0);n(n.P,"Array",{fill:r(91)}),r(32)("fill")},function(t,e,r){"use strict";var n=r(0),i=r(27)(5),o="find",s=!0;o in[]&&Array(1).find((function(){s=!1})),n(n.P+n.F*s,"Array",{find:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),r(32)(o)},function(t,e,r){"use strict";var n=r(0),i=r(27)(6),o="findIndex",s=!0;o in[]&&Array(1)[o]((function(){s=!1})),n(n.P+n.F*s,"Array",{findIndex:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),r(32)(o)},function(t,e,r){r(40)("Array")},function(t,e,r){var n=r(2),i=r(79),o=r(9).f,s=r(39).f,a=r(60),u=r(53),c=n.RegExp,f=c,h=c.prototype,l=/a/g,p=/a/g,g=new c(l)!==l;if(r(8)&&(!g||r(4)((function(){return p[r(6)("match")]=!1,c(l)!=l||c(p)==p||"/a/i"!=c(l,"i")})))){c=function t(e,r){var n=this instanceof c,o=a(e),s=void 0===r;return!n&&o&&e.constructor===c&&s?e:i(g?new f(o&&!s?e.source:e,r):f((o=e instanceof c)?e.source:e,o&&s?u.call(e):r),n?this:h,c)};for(var d=function(t){t in c||o(c,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},v=s(f),y=0;v.length>y;)d(v[y++]);h.constructor=c,c.prototype=h,r(13)(n,"RegExp",c)}r(40)("RegExp")},function(t,e,r){"use strict";r(124);var n=r(1),i=r(53),o=r(8),s="toString",a=/./.toString,u=function(t){r(13)(RegExp.prototype,s,t,!0)};r(4)((function(){return"/a/b"!=a.call({source:"a",flags:"b"})}))?u((function t(){var e=n(this);return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)})):a.name!=s&&u((function t(){return a.call(this)}))},function(t,e,r){"use strict";var n=r(1),i=r(7),o=r(94),s=r(62);r(63)("match",1,(function(t,e,r,a){return[function r(n){var i=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,i):new RegExp(n)[e](String(i))},function(t){var e=a(r,t,this);if(e.done)return e.value;var u=n(t),c=String(this);if(!u.global)return s(u,c);var f=u.unicode;u.lastIndex=0;for(var h,l=[],p=0;null!==(h=s(u,c));){var g=String(h[0]);l[p]=g,""===g&&(u.lastIndex=o(c,i(u.lastIndex),f)),p++}return 0===p?null:l}]}))},function(t,e,r){"use strict";var n=r(1),i=r(10),o=r(7),s=r(22),a=r(94),u=r(62),c=Math.max,f=Math.min,h=Math.floor,l=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;r(63)("replace",2,(function(t,e,r,g){return[function n(i,o){var s=t(this),a=null==i?void 0:i[e];return void 0!==a?a.call(i,s,o):r.call(String(s),i,o)},function(t,e){var i=g(r,t,this,e);if(i.done)return i.value;var h=n(t),l=String(this),p="function"==typeof e;p||(e=String(e));var v=h.global;if(v){var y=h.unicode;h.lastIndex=0}for(var m=[];;){var _=u(h,l);if(null===_)break;if(m.push(_),!v)break;""===String(_[0])&&(h.lastIndex=a(l,o(h.lastIndex),y))}for(var S,b="",w=0,F=0;F=w&&(b+=l.slice(w,x)+C,w=x+E.length)}return b+l.slice(w)}];function d(t,e,n,o,s,a){var u=n+t.length,c=o.length,f=p;return void 0!==s&&(s=i(s),f=l),r.call(a,f,(function(r,i){var a;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,n);case"'":return e.slice(u);case"<":a=s[i.slice(1,-1)];break;default:var f=+i;if(0===f)return r;if(f>c){var l=h(f/10);return 0===l?r:l<=c?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):r}a=o[f-1]}return void 0===a?"":a}))}}))},function(t,e,r){"use strict";var n=r(1),i=r(110),o=r(62);r(63)("search",1,(function(t,e,r,s){return[function r(n){var i=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,i):new RegExp(n)[e](String(i))},function(t){var e=s(r,t,this);if(e.done)return e.value;var a=n(t),u=String(this),c=a.lastIndex;i(c,0)||(a.lastIndex=0);var f=o(a,u);return i(a.lastIndex,c)||(a.lastIndex=c),null===f?-1:f.index}]}))},function(t,e,r){"use strict";var n=r(60),i=r(1),o=r(54),s=r(94),a=r(7),u=r(62),c=r(93),f=r(4),h=Math.min,l=[].push,p=4294967295,g=!f((function(){RegExp(p,"y")}));r(63)("split",2,(function(t,e,r,f){var d;return d="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var i=String(this);if(void 0===t&&0===e)return[];if(!n(t))return r.call(i,t,e);for(var o,s,a,u=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,g=void 0===e?p:e>>>0,d=new RegExp(t.source,f+"g");(o=c.call(d,i))&&!((s=d.lastIndex)>h&&(u.push(i.slice(h,o.index)),o.length>1&&o.index=g));)d.lastIndex===o.index&&d.lastIndex++;return h===i.length?!a&&d.test("")||u.push(""):u.push(i.slice(h)),u.length>g?u.slice(0,g):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:r.call(this,t,e)}:r,[function r(n,i){var o=t(this),s=null==n?void 0:n[e];return void 0!==s?s.call(n,o,i):d.call(String(o),n,i)},function(t,e){var n=f(d,t,this,e,d!==r);if(n.done)return n.value;var c=i(t),l=String(this),v=o(c,RegExp),y=c.unicode,m=(c.ignoreCase?"i":"")+(c.multiline?"m":"")+(c.unicode?"u":"")+(g?"y":"g"),_=new v(g?c:"^(?:"+c.source+")",m),S=void 0===e?p:e>>>0;if(0===S)return[];if(0===l.length)return null===u(_,l)?[l]:[];for(var b=0,w=0,F=[];wo;)s(r[o++]);t._c=[],t._n=!1,e&&!t._h&&L(t)}))}},L=function(t){y.call(u,(function(){var e,r,n,i=t._v,o=D(t);if(o&&(e=S((function(){T?x.emit("unhandledRejection",i,t):(r=u.onunhandledrejection)?r({promise:t,reason:i}):(n=u.console)&&n.error&&n.error("Unhandled promise rejection",i)})),t._h=T||D(t)?2:1),t._a=void 0,o&&e.e)throw e.v}))},D=function(t){return 1!==t._h&&0===(t._a||t._c).length},M=function(t){y.call(u,(function(){var e;T?x.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})}))},j=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),N(e,!0))},U=function(t){var e,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw E("Promise can't be resolved itself");(e=O(t))?m((function(){var n={_w:r,_d:!1};try{e.call(t,c(U,n,1),c(j,n,1))}catch(t){j.call(n,t)}})):(r._v=t,r._s=1,N(r,!1))}catch(t){j.call({_w:r,_d:!1},t)}}};I||(k=function t(e){g(this,k,F,"_h"),p(e),n.call(this);try{e(c(U,this,1),c(j,this,1))}catch(t){j.call(this,t)}},(n=function t(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r(43)(k.prototype,{then:function t(e,r){var n=R(v(this,k));return n.ok="function"!=typeof e||e,n.fail="function"==typeof r&&r,n.domain=T?x.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&N(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new n;this.promise=t,this.resolve=c(U,t,1),this.reject=c(j,t,1)},_.f=R=function(t){return t===k||t===s?new o(t):i(t)}),h(h.G+h.W+h.F*!I,{Promise:k}),r(45)(k,F),r(40)(F),s=r(19).Promise,h(h.S+h.F*!I,F,{reject:function t(e){var r=R(this);return(0,r.reject)(e),r.promise}}),h(h.S+h.F*(a||!I),F,{resolve:function t(e){return w(a&&this===s?k:this,e)}}),h(h.S+h.F*!(I&&r(61)((function(t){k.all(t).catch(C)}))),F,{all:function t(e){var r=this,n=R(r),i=n.resolve,o=n.reject,s=S((function(){var t=[],n=0,s=1;d(e,!1,(function(e){var a=n++,u=!1;t.push(void 0),s++,r.resolve(e).then((function(e){u||(u=!0,t[a]=e,--s||i(t))}),o)})),--s||i(t)}));return s.e&&o(s.v),n.promise},race:function t(e){var r=this,n=R(r),i=n.reject,o=S((function(){d(e,!1,(function(t){r.resolve(t).then(n.resolve,i)}))}));return o.e&&i(o.v),n.promise}})},function(t,e,r){"use strict";var n=r(131),i=r(44),o="WeakSet";r(65)(o,(function(t){return function e(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function t(e){return n.def(i(this,o),e,!0)}},n,!1,!0)},function(t,e,r){"use strict";var n=r(0),i=r(66),o=r(98),s=r(1),a=r(37),u=r(7),c=r(5),f=r(2).ArrayBuffer,h=r(54),l=o.ArrayBuffer,p=o.DataView,g=i.ABV&&f.isView,d=l.prototype.slice,v=i.VIEW,y="ArrayBuffer";n(n.G+n.W+n.F*(f!==l),{ArrayBuffer:l}),n(n.S+n.F*!i.CONSTR,y,{isView:function t(e){return g&&g(e)||c(e)&&v in e}}),n(n.P+n.U+n.F*r(4)((function(){return!new l(2).slice(1,void 0).byteLength})),y,{slice:function t(e,r){if(void 0!==d&&void 0===r)return d.call(s(this),e);for(var n=s(this).byteLength,i=a(e,n),o=a(void 0===r?n:r,n),c=new(h(this,l))(u(o-i)),f=new p(this),g=new p(c),v=0;i=r.length)return{value:void 0,done:!0}}while(!((t=r[e._i++])in e._t));return{value:t,done:!1}})),n(n.S,"Reflect",{enumerate:function t(e){return new o(e)}})},function(t,e,r){var n=r(17),i=r(18),o=r(15),s=r(0),a=r(5),u=r(1);s(s.S,"Reflect",{get:function t(e,r){var s,c,f=arguments.length<3?e:arguments[2];return u(e)===f?e[r]:(s=n.f(e,r))?o(s,"value")?s.value:void 0!==s.get?s.get.call(f):void 0:a(c=i(e))?t(c,r,f):void 0}})},function(t,e,r){var n=r(17),i=r(0),o=r(1);i(i.S,"Reflect",{getOwnPropertyDescriptor:function t(e,r){return n.f(o(e),r)}})},function(t,e,r){var n=r(0),i=r(18),o=r(1);n(n.S,"Reflect",{getPrototypeOf:function t(e){return i(o(e))}})},function(t,e,r){var n=r(0);n(n.S,"Reflect",{has:function t(e,r){return r in e}})},function(t,e,r){var n=r(0),i=r(1),o=Object.isExtensible;n(n.S,"Reflect",{isExtensible:function t(e){return i(e),!o||o(e)}})},function(t,e,r){var n=r(0);n(n.S,"Reflect",{ownKeys:r(133)})},function(t,e,r){var n=r(0),i=r(1),o=Object.preventExtensions;n(n.S,"Reflect",{preventExtensions:function t(e){i(e);try{return o&&o(e),!0}catch(t){return!1}}})},function(t,e,r){var n=r(9),i=r(17),o=r(18),s=r(15),a=r(0),u=r(34),c=r(1),f=r(5);a(a.S,"Reflect",{set:function t(e,r,a){var h,l,p=arguments.length<4?e:arguments[3],g=i.f(c(e),r);if(!g){if(f(l=o(e)))return t(l,r,a,p);g=u(0)}if(s(g,"value")){if(!1===g.writable||!f(p))return!1;if(h=i.f(p,r)){if(h.get||h.set||!1===h.writable)return!1;h.value=a,n.f(p,r,h)}else n.f(p,r,u(0,a));return!0}return void 0!==g.set&&(g.set.call(p,a),!0)}})},function(t,e,r){var n=r(0),i=r(77);i&&n(n.S,"Reflect",{setPrototypeOf:function t(e,r){i.check(e,r);try{return i.set(e,r),!0}catch(t){return!1}}})},function(t,e,r){"use strict";var n=r(0),i=r(56)(!0);n(n.P,"Array",{includes:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),r(32)("includes")},function(t,e,r){"use strict";var n=r(0),i=r(134),o=r(10),s=r(7),a=r(11),u=r(90);n(n.P,"Array",{flatMap:function t(e){var r,n,c=o(this);return a(e),r=s(c.length),n=u(c,0),i(n,c,c,r,0,1,e,arguments[1]),n}}),r(32)("flatMap")},function(t,e,r){"use strict";var n=r(0),i=r(134),o=r(10),s=r(7),a=r(22),u=r(90);n(n.P,"Array",{flatten:function t(){var e=arguments[0],r=o(this),n=s(r.length),c=u(r,0);return i(c,r,r,n,0,void 0===e?1:a(e)),c}}),r(32)("flatten")},function(t,e,r){"use strict";var n=r(0),i=r(59)(!0);n(n.P,"String",{at:function t(e){return i(this,e)}})},function(t,e,r){"use strict";var n=r(0),i=r(135),o=r(64),s=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);n(n.P+n.F*s,"String",{padStart:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,e,r){"use strict";var n=r(0),i=r(135),o=r(64),s=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);n(n.P+n.F*s,"String",{padEnd:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,e,r){"use strict";r(47)("trimLeft",(function(t){return function e(){return t(this,1)}}),"trimStart")},function(t,e,r){"use strict";r(47)("trimRight",(function(t){return function e(){return t(this,2)}}),"trimEnd")},function(t,e,r){"use strict";var n=r(0),i=r(25),o=r(7),s=r(60),a=r(53),u=RegExp.prototype,c=function(t,e){this._r=t,this._s=e};r(84)(c,"RegExp String",(function t(){var e=this._r.exec(this._s);return{value:e,done:null===e}})),n(n.P,"String",{matchAll:function t(e){if(i(this),!s(e))throw TypeError(e+" is not a regexp!");var r=String(this),n="flags"in u?String(e.flags):a.call(e),f=new RegExp(e.source,~n.indexOf("g")?n:"g"+n);return f.lastIndex=o(e.lastIndex),new c(f,r)}})},function(t,e,r){r(73)("asyncIterator")},function(t,e,r){r(73)("observable")},function(t,e,r){var n=r(0),i=r(133),o=r(16),s=r(17),a=r(88);n(n.S,"Object",{getOwnPropertyDescriptors:function t(e){for(var r,n,u=o(e),c=s.f,f=i(u),h={},l=0;f.length>l;)void 0!==(n=c(u,r=f[l++]))&&a(h,r,n);return h}})},function(t,e,r){var n=r(0),i=r(136)(!1);n(n.S,"Object",{values:function t(e){return i(e)}})},function(t,e,r){var n=r(0),i=r(136)(!0);n(n.S,"Object",{entries:function t(e){return i(e)}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(11),s=r(9);r(8)&&n(n.P+r(67),"Object",{__defineGetter__:function t(e,r){s.f(i(this),e,{get:o(r),enumerable:!0,configurable:!0})}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(11),s=r(9);r(8)&&n(n.P+r(67),"Object",{__defineSetter__:function t(e,r){s.f(i(this),e,{set:o(r),enumerable:!0,configurable:!0})}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(24),s=r(18),a=r(17).f;r(8)&&n(n.P+r(67),"Object",{__lookupGetter__:function t(e){var r,n=i(this),u=o(e,!0);do{if(r=a(n,u))return r.get}while(n=s(n))}})},function(t,e,r){"use strict";var n=r(0),i=r(10),o=r(24),s=r(18),a=r(17).f;r(8)&&n(n.P+r(67),"Object",{__lookupSetter__:function t(e){var r,n=i(this),u=o(e,!0);do{if(r=a(n,u))return r.set}while(n=s(n))}})},function(t,e,r){var n=r(0);n(n.P+n.R,"Map",{toJSON:r(137)("Map")})},function(t,e,r){var n=r(0);n(n.P+n.R,"Set",{toJSON:r(137)("Set")})},function(t,e,r){r(68)("Map")},function(t,e,r){r(68)("Set")},function(t,e,r){r(68)("WeakMap")},function(t,e,r){r(68)("WeakSet")},function(t,e,r){r(69)("Map")},function(t,e,r){r(69)("Set")},function(t,e,r){r(69)("WeakMap")},function(t,e,r){r(69)("WeakSet")},function(t,e,r){var n=r(0);n(n.G,{global:r(2)})},function(t,e,r){var n=r(0);n(n.S,"System",{global:r(2)})},function(t,e,r){var n=r(0),i=r(21);n(n.S,"Error",{isError:function t(e){return"Error"===i(e)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{clamp:function t(e,r,n){return Math.min(n,Math.max(r,e))}})},function(t,e,r){var n=r(0);n(n.S,"Math",{DEG_PER_RAD:Math.PI/180})},function(t,e,r){var n=r(0),i=180/Math.PI;n(n.S,"Math",{degrees:function t(e){return e*i}})},function(t,e,r){var n=r(0),i=r(139),o=r(118);n(n.S,"Math",{fscale:function t(e,r,n,s,a){return o(i(e,r,n,s,a))}})},function(t,e,r){var n=r(0);n(n.S,"Math",{iaddh:function t(e,r,n,i){var o=e>>>0,s=n>>>0;return(r>>>0)+(i>>>0)+((o&s|(o|s)&~(o+s>>>0))>>>31)|0}})},function(t,e,r){var n=r(0);n(n.S,"Math",{isubh:function t(e,r,n,i){var o=e>>>0,s=n>>>0;return(r>>>0)-(i>>>0)-((~o&s|~(o^s)&o-s>>>0)>>>31)|0}})},function(t,e,r){var n=r(0);n(n.S,"Math",{imulh:function t(e,r){var n=65535,i=+e,o=+r,s=i&n,a=o&n,u=i>>16,c=o>>16,f=(u*a>>>0)+(s*a>>>16);return u*c+(f>>16)+((s*c>>>0)+(f&n)>>16)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,e,r){var n=r(0),i=Math.PI/180;n(n.S,"Math",{radians:function t(e){return e*i}})},function(t,e,r){var n=r(0);n(n.S,"Math",{scale:r(139)})},function(t,e,r){var n=r(0);n(n.S,"Math",{umulh:function t(e,r){var n=65535,i=+e,o=+r,s=i&n,a=o&n,u=i>>>16,c=o>>>16,f=(u*a>>>0)+(s*a>>>16);return u*c+(f>>>16)+((s*c>>>0)+(f&n)>>>16)}})},function(t,e,r){var n=r(0);n(n.S,"Math",{signbit:function t(e){return(e=+e)!=e?e:0==e?1/e==1/0:e>0}})},function(t,e,r){"use strict";var n=r(0),i=r(19),o=r(2),s=r(54),a=r(126);n(n.P+n.R,"Promise",{finally:function(t){var e=s(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return a(e,t()).then((function(){return r}))}:t,r?function(r){return a(e,t()).then((function(){throw r}))}:t)}})},function(t,e,r){"use strict";var n=r(0),i=r(97),o=r(125);n(n.S,"Promise",{try:function(t){var e=i.f(this),r=o(t);return(r.e?e.reject:e.resolve)(r.v),e.promise}})},function(t,e,r){var n=r(29),i=r(1),o=n.key,s=n.set;n.exp({defineMetadata:function t(e,r,n,a){s(e,r,i(n),o(a))}})},function(t,e,r){var n=r(29),i=r(1),o=n.key,s=n.map,a=n.store;n.exp({deleteMetadata:function t(e,r){var n=arguments.length<3?void 0:o(arguments[2]),u=s(i(r),n,!1);if(void 0===u||!u.delete(e))return!1;if(u.size)return!0;var c=a.get(r);return c.delete(n),!!c.size||a.delete(r)}})},function(t,e,r){var n=r(29),i=r(1),o=r(18),s=n.has,a=n.get,u=n.key,c=function(t,e,r){if(s(t,e,r))return a(t,e,r);var n=o(e);return null!==n?c(t,n,r):void 0};n.exp({getMetadata:function t(e,r){return c(e,i(r),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,r){var n=r(129),i=r(138),o=r(29),s=r(1),a=r(18),u=o.keys,c=o.key,f=function(t,e){var r=u(t,e),o=a(t);if(null===o)return r;var s=f(o,e);return s.length?r.length?i(new n(r.concat(s))):s:r};o.exp({getMetadataKeys:function t(e){return f(s(e),arguments.length<2?void 0:c(arguments[1]))}})},function(t,e,r){var n=r(29),i=r(1),o=n.get,s=n.key;n.exp({getOwnMetadata:function t(e,r){return o(e,i(r),arguments.length<3?void 0:s(arguments[2]))}})},function(t,e,r){var n=r(29),i=r(1),o=n.keys,s=n.key;n.exp({getOwnMetadataKeys:function t(e){return o(i(e),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,r){var n=r(29),i=r(1),o=r(18),s=n.has,a=n.key,u=function(t,e,r){if(s(t,e,r))return!0;var n=o(e);return null!==n&&u(t,n,r)};n.exp({hasMetadata:function t(e,r){return u(e,i(r),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,r){var n=r(29),i=r(1),o=n.has,s=n.key;n.exp({hasOwnMetadata:function t(e,r){return o(e,i(r),arguments.length<3?void 0:s(arguments[2]))}})},function(t,e,r){var n=r(29),i=r(1),o=r(11),s=n.key,a=n.set;n.exp({metadata:function t(e,r){return function t(n,u){a(e,r,(void 0!==u?i:o)(n),s(u))}}})},function(t,e,r){var n=r(0),i=r(96)(),o=r(2).process,s="process"==r(21)(o);n(n.G,{asap:function t(e){var r=s&&o.domain;i(r?r.bind(e):e)}})},function(t,e,r){"use strict";var n=r(0),i=r(2),o=r(19),s=r(96)(),a=r(6)("observable"),u=r(11),c=r(1),f=r(41),h=r(43),l=r(12),p=r(42),g=p.RETURN,d=function(t){return null==t?void 0:u(t)},v=function(t){var e=t._c;e&&(t._c=void 0,e())},y=function(t){return void 0===t._o},m=function(t){y(t)||(t._o=void 0,v(t))},_=function(t,e){c(t),this._c=void 0,this._o=t,t=new S(this);try{var r=e(t),n=r;null!=r&&("function"==typeof r.unsubscribe?r=function(){n.unsubscribe()}:u(r),this._c=r)}catch(e){return void t.error(e)}y(this)&&v(this)};_.prototype=h({},{unsubscribe:function t(){m(this)}});var S=function(t){this._s=t};S.prototype=h({},{next:function t(e){var r=this._s;if(!y(r)){var n=r._o;try{var i=d(n.next);if(i)return i.call(n,e)}catch(t){try{m(r)}finally{throw t}}}},error:function t(e){var r=this._s;if(y(r))throw e;var n=r._o;r._o=void 0;try{var i=d(n.error);if(!i)throw e;e=i.call(n,e)}catch(t){try{v(r)}finally{throw t}}return v(r),e},complete:function t(e){var r=this._s;if(!y(r)){var n=r._o;r._o=void 0;try{var i=d(n.complete);e=i?i.call(n,e):void 0}catch(t){try{v(r)}finally{throw t}}return v(r),e}}});var b=function t(e){f(this,b,"Observable","_f")._f=u(e)};h(b.prototype,{subscribe:function t(e){return new _(e,this._f)},forEach:function t(e){var r=this;return new(o.Promise||i.Promise)((function(t,n){u(e);var i=r.subscribe({next:function(t){try{return e(t)}catch(t){n(t),i.unsubscribe()}},error:n,complete:t})}))}}),h(b,{from:function t(e){var r="function"==typeof this?this:b,n=d(c(e)[a]);if(n){var i=c(n.call(e));return i.constructor===r?i:new r((function(t){return i.subscribe(t)}))}return new r((function(t){var r=!1;return s((function(){if(!r){try{if(p(e,!1,(function(e){if(t.next(e),r)return g}))===g)return}catch(e){if(r)throw e;return void t.error(e)}t.complete()}})),function(){r=!0}}))},of:function t(){for(var e=0,r=arguments.length,n=new Array(r);e2,i=!!n&&s.call(arguments,2);return t(n?function(){("function"==typeof e?e:Function(e)).apply(this,i)}:e,r)}};i(i.G+i.B+i.F*a,{setTimeout:u(n.setTimeout),setInterval:u(n.setInterval)})},function(t,e,r){var n=r(0),i=r(95);n(n.G+n.B,{setImmediate:i.set,clearImmediate:i.clear})},function(t,e,r){for(var n=r(92),i=r(36),o=r(13),s=r(2),a=r(12),u=r(48),c=r(6),f=c("iterator"),h=c("toStringTag"),l=u.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},g=i(p),d=0;d=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var u=i.call(s,"catchLoc"),c=i.call(s,"finallyLoc");if(u&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;T(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:R(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),d}}}function S(t,e,r,n){var i=e&&e.prototype instanceof w?e:w,o=Object.create(i.prototype),s=new C(n||[]);return o._invoke=function a(t,e,r){var n=h;return function i(o,s){if(n===p)throw new Error("Generator is already running");if(n===g){if("throw"===o)throw s;return I()}for(r.method=o,r.arg=s;;){var a=r.delegate;if(a){var u=P(a,r);if(u){if(u===d)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===h)throw n=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var c=b(t,e,r);if("normal"===c.type){if(n=r.done?g:l,c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=g,r.method="throw",r.arg=c.arg)}}}(t,r,s),o}function b(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}function w(){}function F(){}function E(){}function x(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function A(t){function r(e,n,o,s){var a=b(t[e],t,n);if("throw"!==a.type){var u=a.arg,c=u.value;return c&&"object"==typeof c&&i.call(c,"__await")?Promise.resolve(c.__await).then((function(t){r("next",t,o,s)}),(function(t){r("throw",t,o,s)})):Promise.resolve(c).then((function(t){u.value=t,o(u)}),s)}s(a.arg)}var n;"object"==typeof e.process&&e.process.domain&&(r=e.process.domain.bind(r)),this._invoke=function o(t,e){function i(){return new Promise((function(n,i){r(t,e,n,i)}))}return n=n?n.then(i,i):i()}}function P(t,e){var n=t.iterator[e.method];if(n===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=r,P(t,e),"throw"===e.method))return d;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var i=b(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=r),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function R(t){if(t){var e=t[s];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(f(this,t),!e)throw i.Log.error("ResponseValidator.ctor: No settings passed to ResponseValidator"),new Error("settings");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new h(this._settings)}return t.prototype.validateSigninResponse=function t(e,r){var n=this;return i.Log.debug("ResponseValidator.validateSigninResponse"),this._processSigninParams(e,r).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: state processed"),n._validateTokens(e,t).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: tokens validated"),n._processClaims(e,t).then((function(t){return i.Log.debug("ResponseValidator.validateSigninResponse: claims processed"),t}))}))}))},t.prototype.validateSignoutResponse=function t(e,r){return e.id!==r.state?(i.Log.error("ResponseValidator.validateSignoutResponse: State does not match"),Promise.reject(new Error("State does not match"))):(i.Log.debug("ResponseValidator.validateSignoutResponse: state validated"),r.state=e.data,r.error?(i.Log.warn("ResponseValidator.validateSignoutResponse: Response was error",r.error),Promise.reject(new u.ErrorResponse(r))):Promise.resolve(r))},t.prototype._processSigninParams=function t(e,r){if(e.id!==r.state)return i.Log.error("ResponseValidator._processSigninParams: State does not match"),Promise.reject(new Error("State does not match"));if(!e.client_id)return i.Log.error("ResponseValidator._processSigninParams: No client_id on state"),Promise.reject(new Error("No client_id on state"));if(!e.authority)return i.Log.error("ResponseValidator._processSigninParams: No authority on state"),Promise.reject(new Error("No authority on state"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return i.Log.error("ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state"),Promise.reject(new Error("authority mismatch on settings vs. signin state"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return i.Log.error("ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state"),Promise.reject(new Error("client_id mismatch on settings vs. signin state"))}else this._settings.client_id=e.client_id;return i.Log.debug("ResponseValidator._processSigninParams: state validated"),r.state=e.data,r.error?(i.Log.warn("ResponseValidator._processSigninParams: Response was error",r.error),Promise.reject(new u.ErrorResponse(r))):e.nonce&&!r.id_token?(i.Log.error("ResponseValidator._processSigninParams: Expecting id_token in response"),Promise.reject(new Error("No id_token in response"))):!e.nonce&&r.id_token?(i.Log.error("ResponseValidator._processSigninParams: Not expecting id_token in response"),Promise.reject(new Error("Unexpected id_token in response"))):e.code_verifier&&!r.code?(i.Log.error("ResponseValidator._processSigninParams: Expecting code in response"),Promise.reject(new Error("No code in response"))):!e.code_verifier&&r.code?(i.Log.error("ResponseValidator._processSigninParams: Not expecting code in response"),Promise.reject(new Error("Unexpected code in response"))):(r.scope||(r.scope=e.scope),Promise.resolve(r))},t.prototype._processClaims=function t(e,r){var n=this;if(r.isOpenIdConnect){if(i.Log.debug("ResponseValidator._processClaims: response is OIDC, processing claims"),r.profile=this._filterProtocolClaims(r.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&r.access_token)return i.Log.debug("ResponseValidator._processClaims: loading user info"),this._userInfoService.getClaims(r.access_token).then((function(t){return i.Log.debug("ResponseValidator._processClaims: user info claims received from user info endpoint"),t.sub!==r.profile.sub?(i.Log.error("ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token"),Promise.reject(new Error("sub from user info endpoint does not match sub in id_token"))):(r.profile=n._mergeClaims(r.profile,t),i.Log.debug("ResponseValidator._processClaims: user info claims received, updated profile:",r.profile),r)}));i.Log.debug("ResponseValidator._processClaims: not loading user info")}else i.Log.debug("ResponseValidator._processClaims: response is not OIDC, not processing claims");return Promise.resolve(r)},t.prototype._mergeClaims=function t(e,r){var i=Object.assign({},e);for(var o in r){var s=r[o];Array.isArray(s)||(s=[s]);for(var a=0;a1)return i.Log.error("ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));o=t[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function t(e){var r=this;return this._getSigningKeyForJwt(e).then((function(t){return t?Promise.resolve(t):(r._metadataService.resetSigningKeys(),r._getSigningKeyForJwt(e))}))},t.prototype._validateIdToken=function t(e,r){var n=this;if(!e.nonce)return i.Log.error("ResponseValidator._validateIdToken: No nonce on state"),Promise.reject(new Error("No nonce on state"));var o=this._joseUtil.parseJwt(r.id_token);return o&&o.header&&o.payload?e.nonce!==o.payload.nonce?(i.Log.error("ResponseValidator._validateIdToken: Invalid nonce in id_token"),Promise.reject(new Error("Invalid nonce in id_token"))):this._metadataService.getIssuer().then((function(t){return i.Log.debug("ResponseValidator._validateIdToken: Received issuer"),n._getSigningKeyForJwtWithSingleRetry(o).then((function(s){if(!s)return i.Log.error("ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var a=e.client_id,u=n._settings.clockSkew;return i.Log.debug("ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: ",u),n._joseUtil.validateJwt(r.id_token,s,t,a,u).then((function(){return i.Log.debug("ResponseValidator._validateIdToken: JWT validation successful"),o.payload.sub?(r.profile=o.payload,r):(i.Log.error("ResponseValidator._validateIdToken: No sub present in id_token"),Promise.reject(new Error("No sub present in id_token")))}))}))})):(i.Log.error("ResponseValidator._validateIdToken: Failed to parse id_token",o),Promise.reject(new Error("Failed to parse id_token")))},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith("RS"))n="RSA";else if(r.startsWith("PS"))n="PS";else{if(!r.startsWith("ES"))return i.Log.debug("ResponseValidator._filterByAlg: alg not supported: ",r),[];n="EC"}return i.Log.debug("ResponseValidator._filterByAlg: Looking for keys that match kty: ",n),e=e.filter((function(t){return t.kty===n})),i.Log.debug("ResponseValidator._filterByAlg: Number of keys that match kty: ",n,e.length),e},t.prototype._validateAccessToken=function t(e){if(!e.profile)return i.Log.error("ResponseValidator._validateAccessToken: No profile loaded from id_token"),Promise.reject(new Error("No profile loaded from id_token"));if(!e.profile.at_hash)return i.Log.error("ResponseValidator._validateAccessToken: No at_hash in id_token"),Promise.reject(new Error("No at_hash in id_token"));if(!e.id_token)return i.Log.error("ResponseValidator._validateAccessToken: No id_token"),Promise.reject(new Error("No id_token"));var r=this._joseUtil.parseJwt(e.id_token);if(!r||!r.header)return i.Log.error("ResponseValidator._validateAccessToken: Failed to parse id_token",r),Promise.reject(new Error("Failed to parse id_token"));var n=r.header.alg;if(!n||5!==n.length)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",n),Promise.reject(new Error("Unsupported alg: "+n));var o=n.substr(2,3);if(!o)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",n,o),Promise.reject(new Error("Unsupported alg: "+n));if(256!==(o=parseInt(o))&&384!==o&&512!==o)return i.Log.error("ResponseValidator._validateAccessToken: Unsupported alg:",n,o),Promise.reject(new Error("Unsupported alg: "+n));var s="sha"+o,a=this._joseUtil.hashString(e.access_token,s);if(!a)return i.Log.error("ResponseValidator._validateAccessToken: access_token hash failed:",s),Promise.reject(new Error("Failed to validate at_hash"));var u=a.substr(0,a.length/2),c=this._joseUtil.hexToBase64Url(u);return c!==e.profile.at_hash?(i.Log.error("ResponseValidator._validateAccessToken: Failed to validate at_hash",c,e.profile.at_hash),Promise.reject(new Error("Failed to validate at_hash"))):(i.Log.debug("ResponseValidator._validateAccessToken: success"),Promise.resolve(e))},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserInfoService=void 0;var n=r(101),i=r(49),o=r(3),s=r(70);function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(a(this,t),!e)throw o.Log.error("UserInfoService.ctor: No settings passed"),new Error("settings");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new u(this._settings),this._joseUtil=c}return t.prototype.getClaims=function t(e){var r=this;return e?this._metadataService.getUserInfoEndpoint().then((function(t){return o.Log.debug("UserInfoService.getClaims: received userinfo url",t),r._jsonService.getJson(t,e).then((function(t){return o.Log.debug("UserInfoService.getClaims: claims received",t),t}))})):(o.Log.error("UserInfoService.getClaims: No token passed"),Promise.reject(new Error("A token is required")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error("UserInfoService._getClaimsFromJwt: Failed to parse JWT",n),Promise.reject(new Error("Failed to parse id_token"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case"OP":s=this._metadataService.getIssuer();break;case"ANY":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug("UserInfoService._getClaimsFromJwt: Received issuer:"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error("UserInfoService._getClaimsFromJwt: No signing keys from metadata"),Promise.reject(new Error("No signing keys from metadata"));o.Log.debug("UserInfoService._getClaimsFromJwt: Received signing keys");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error("UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata"),Promise.reject(new Error("No kid found in id_token and more than one key found in metadata"));a=s[0]}if(!a)return o.Log.error("UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys"),Promise.reject(new Error("No key matching kid or alg found in signing keys"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug("UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: ",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug("UserInfoService._getClaimsFromJwt: JWT validation successful"),n.payload}))}))}))}catch(t){return o.Log.error("UserInfoService._getClaimsFromJwt: Error parsing JWT response",t.message),void reject(t)}},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith("RS"))n="RSA";else if(r.startsWith("PS"))n="PS";else{if(!r.startsWith("ES"))return o.Log.debug("UserInfoService._filterByAlg: alg not supported: ",r),[];n="EC"}return o.Log.debug("UserInfoService._filterByAlg: Looking for keys that match kty: ",n),e=e.filter((function(t){return t.kty===n})),o.Log.debug("UserInfoService._filterByAlg: Number of keys that match kty: ",n,e.length),e},t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(360);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"]},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n={userAgent:!1},i={}; /*! Copyright (c) 2011, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: @@ -14,34 +14,36 @@ if(void 0===o)var o={};o.lang={extend:function t(e,r,i){if(!r||!e)throw new Erro * https://code.google.com/p/crypto-js/issues/detail?id=84 * https://crypto-js.googlecode.com/svn-history/r667/branches/3.x/src/core.js */ -var s,a,u,c,f,h,l,p,d,g,v,y=y||(s=Math,u=(a={}).lib={},c=u.Base=function(){function t(){}return{extend:function e(r){t.prototype=this;var n=new t;return r&&n.mixIn(r),n.hasOwnProperty("init")||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function t(){var e=this.extend();return e.init.apply(e,arguments),e},init:function t(){},mixIn:function t(e){for(var r in e)e.hasOwnProperty(r)&&(this[r]=e[r]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function t(){return this.init.prototype.extend(this)}}}(),f=u.WordArray=c.extend({init:function t(e,r){e=this.words=e||[],this.sigBytes=void 0!=r?r:4*e.length},toString:function t(e){return(e||l).stringify(this)},concat:function t(e){var r=this.words,n=e.words,i=this.sigBytes,o=e.sigBytes;if(this.clamp(),i%4)for(var s=0;s>>2]>>>24-s%4*8&255;r[i+s>>>2]|=a<<24-(i+s)%4*8}else for(s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function t(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=s.ceil(r/4)},clone:function t(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function t(e){for(var r=[],n=0;n>>2]>>>24-o%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new f.init(n,r/2)}},p=h.Latin1={stringify:function t(e){for(var r=e.words,n=e.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new f.init(n,r)}},d=h.Utf8={stringify:function t(e){try{return decodeURIComponent(escape(p.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function t(e){return p.parse(unescape(encodeURIComponent(e)))}},g=u.BufferedBlockAlgorithm=c.extend({reset:function t(){this._data=new f.init,this._nDataBytes=0},_append:function t(e){"string"==typeof e&&(e=d.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function t(e){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,a=i/(4*o),u=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*o,c=s.min(4*u,i);if(u){for(var h=0;h>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;4>a&&o+.75*a>>6*(3-a)&63));if(r=i.charAt(64))for(;e.length%4;)e.push(r);return e.join("")},parse:function t(r){var n=r.length,i=this._map;(o=i.charAt(64))&&(-1!=(o=r.indexOf(o))&&(n=o));for(var o=[],s=0,a=0;a>>6-a%4*2;o[s>>>2]|=(u|c)<<24-s%4*8,s++}return e.create(o,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function t(e){return 4294967296*(e-(0|e))|0},u=2,c=0;64>c;){var f;t:{f=u;for(var h=t.sqrt(f),l=2;l<=h;l++)if(!(f%l)){f=!1;break t}f=!0}f&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var p=[];i=i.SHA256=n.extend({_doReset:function t(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function t(e,r){for(var n=this._hash.words,i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],f=n[5],h=n[6],l=n[7],d=0;64>d;d++){if(16>d)p[d]=0|e[r+d];else{var g=p[d-15],v=p[d-2];p[d]=((g<<25|g>>>7)^(g<<14|g>>>18)^g>>>3)+p[d-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+p[d-16]}g=l+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&f^~c&h)+s[d]+p[d],v=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&o^i&a^o&a),l=h,h=f,f=c,c=u+g|0,u=a,a=o,o=i,i=g+v|0}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+u|0,n[4]=n[4]+c|0,n[5]=n[5]+f|0,n[6]=n[6]+h|0,n[7]=n[7]+l|0},_doFinalize:function e(){var r=this._data,n=r.words,i=8*this._nDataBytes,o=8*r.sigBytes;return n[o>>>5]|=128<<24-o%32,n[14+(o+64>>>9<<4)]=t.floor(i/4294967296),n[15+(o+64>>>9<<4)]=i,r.sigBytes=4*n.length,this._process(),this._hash},clone:function t(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function t(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function t(e,r){for(var n=(l=this._hash.words)[0],i=l[1],o=l[2],u=l[3],c=l[4],f=l[5],h=l[6],l=l[7],p=n.high,d=n.low,g=i.high,v=i.low,y=o.high,m=o.low,_=u.high,S=u.low,b=c.high,w=c.low,F=f.high,E=f.low,x=h.high,A=h.low,k=l.high,P=l.low,C=p,T=d,R=g,I=v,O=y,D=m,N=_,L=S,M=b,j=w,U=F,B=E,H=x,V=A,K=k,q=P,W=0;80>W;W++){var J=a[W];if(16>W)var z=J.high=0|e[r+2*W],Y=J.low=0|e[r+2*W+1];else{z=((Y=(z=a[W-15]).high)>>>1|(G=z.low)<<31)^(Y>>>8|G<<24)^Y>>>7;var G=(G>>>1|Y<<31)^(G>>>8|Y<<24)^(G>>>7|Y<<25),X=((Y=(X=a[W-2]).high)>>>19|($=X.low)<<13)^(Y<<3|$>>>29)^Y>>>6,$=($>>>19|Y<<13)^($<<3|Y>>>29)^($>>>6|Y<<26),Q=(Y=a[W-7]).high,Z=(tt=a[W-16]).high,tt=tt.low;z=(z=(z=z+Q+((Y=G+Y.low)>>>0>>0?1:0))+X+((Y=Y+$)>>>0<$>>>0?1:0))+Z+((Y=Y+tt)>>>0>>0?1:0);J.high=z,J.low=Y}Q=M&U^~M&H,tt=j&B^~j&V,J=C&R^C&O^R&O;var et=T&I^T&D^I&D,rt=(G=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),X=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),($=s[W]).high),nt=$.low;Z=(Z=(Z=(Z=K+((M>>>14|j<<18)^(M>>>18|j<<14)^(M<<23|j>>>9))+(($=q+((j>>>14|M<<18)^(j>>>18|M<<14)^(j<<23|M>>>9)))>>>0>>0?1:0))+Q+(($=$+tt)>>>0>>0?1:0))+rt+(($=$+nt)>>>0>>0?1:0))+z+(($=$+Y)>>>0>>0?1:0),J=G+J+((Y=X+et)>>>0>>0?1:0),K=H,q=V,H=U,V=B,U=M,B=j,M=N+Z+((j=L+$|0)>>>0>>0?1:0)|0,N=O,L=D,O=R,D=I,R=C,I=T,C=Z+J+((T=$+Y|0)>>>0<$>>>0?1:0)|0}d=n.low=d+T,n.high=p+C+(d>>>0>>0?1:0),v=i.low=v+I,i.high=g+R+(v>>>0>>0?1:0),m=o.low=m+D,o.high=y+O+(m>>>0>>0?1:0),S=u.low=S+L,u.high=_+N+(S>>>0>>0?1:0),w=c.low=w+j,c.high=b+M+(w>>>0>>0?1:0),E=f.low=E+B,f.high=F+U+(E>>>0>>0?1:0),A=h.low=A+V,h.high=x+H+(A>>>0>>0?1:0),P=l.low=P+q,l.high=k+K+(P>>>0>>0?1:0)},_doFinalize:function t(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[30+(i+128>>>10<<5)]=Math.floor(n/4294967296),r[31+(i+128>>>10<<5)]=n,e.sigBytes=4*r.length,this._process(),this._hash.toX32()},clone:function t(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function t(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function t(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}(); +var s,a,u,c,f,h,l,p,g,d,v,y=y||(s=Math,u=(a={}).lib={},c=u.Base=function(){function t(){}return{extend:function e(r){t.prototype=this;var n=new t;return r&&n.mixIn(r),n.hasOwnProperty("init")||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function t(){var e=this.extend();return e.init.apply(e,arguments),e},init:function t(){},mixIn:function t(e){for(var r in e)e.hasOwnProperty(r)&&(this[r]=e[r]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function t(){return this.init.prototype.extend(this)}}}(),f=u.WordArray=c.extend({init:function t(e,r){e=this.words=e||[],this.sigBytes=null!=r?r:4*e.length},toString:function t(e){return(e||l).stringify(this)},concat:function t(e){var r=this.words,n=e.words,i=this.sigBytes,o=e.sigBytes;if(this.clamp(),i%4)for(var s=0;s>>2]>>>24-s%4*8&255;r[i+s>>>2]|=a<<24-(i+s)%4*8}else for(s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function t(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=s.ceil(r/4)},clone:function t(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function t(e){for(var r=[],n=0;n>>2]>>>24-o%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new f.init(n,r/2)}},p=h.Latin1={stringify:function t(e){for(var r=e.words,n=e.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new f.init(n,r)}},g=h.Utf8={stringify:function t(e){try{return decodeURIComponent(escape(p.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function t(e){return p.parse(unescape(encodeURIComponent(e)))}},d=u.BufferedBlockAlgorithm=c.extend({reset:function t(){this._data=new f.init,this._nDataBytes=0},_append:function t(e){"string"==typeof e&&(e=g.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function t(e){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,a=i/(4*o),u=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*o,c=s.min(4*u,i);if(u){for(var h=0;h>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;4>a&&o+.75*a>>6*(3-a)&63));if(r=i.charAt(64))for(;e.length%4;)e.push(r);return e.join("")},parse:function t(r){var n=r.length,i=this._map;(o=i.charAt(64))&&(-1!=(o=r.indexOf(o))&&(n=o));for(var o=[],s=0,a=0;a>>6-a%4*2;o[s>>>2]|=(u|c)<<24-s%4*8,s++}return e.create(o,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function t(e){return 4294967296*(e-(0|e))|0},u=2,c=0;64>c;){var f;t:{f=u;for(var h=t.sqrt(f),l=2;l<=h;l++)if(!(f%l)){f=!1;break t}f=!0}f&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var p=[];i=i.SHA256=n.extend({_doReset:function t(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function t(e,r){for(var n=this._hash.words,i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],f=n[5],h=n[6],l=n[7],g=0;64>g;g++){if(16>g)p[g]=0|e[r+g];else{var d=p[g-15],v=p[g-2];p[g]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+p[g-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+p[g-16]}d=l+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&f^~c&h)+s[g]+p[g],v=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&o^i&a^o&a),l=h,h=f,f=c,c=u+d|0,u=a,a=o,o=i,i=d+v|0}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+u|0,n[4]=n[4]+c|0,n[5]=n[5]+f|0,n[6]=n[6]+h|0,n[7]=n[7]+l|0},_doFinalize:function e(){var r=this._data,n=r.words,i=8*this._nDataBytes,o=8*r.sigBytes;return n[o>>>5]|=128<<24-o%32,n[14+(o+64>>>9<<4)]=t.floor(i/4294967296),n[15+(o+64>>>9<<4)]=i,r.sigBytes=4*n.length,this._process(),this._hash},clone:function t(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function t(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function t(e,r){for(var n=(l=this._hash.words)[0],i=l[1],o=l[2],u=l[3],c=l[4],f=l[5],h=l[6],l=l[7],p=n.high,g=n.low,d=i.high,v=i.low,y=o.high,m=o.low,_=u.high,S=u.low,b=c.high,w=c.low,F=f.high,E=f.low,x=h.high,A=h.low,P=l.high,k=l.low,T=p,C=g,R=d,I=v,O=y,N=m,L=_,D=S,M=b,j=w,U=F,B=E,H=x,V=A,K=P,q=k,W=0;80>W;W++){var J=a[W];if(16>W)var z=J.high=0|e[r+2*W],G=J.low=0|e[r+2*W+1];else{z=((G=(z=a[W-15]).high)>>>1|(Y=z.low)<<31)^(G>>>8|Y<<24)^G>>>7;var Y=(Y>>>1|G<<31)^(Y>>>8|G<<24)^(Y>>>7|G<<25),X=((G=(X=a[W-2]).high)>>>19|($=X.low)<<13)^(G<<3|$>>>29)^G>>>6,$=($>>>19|G<<13)^($<<3|G>>>29)^($>>>6|G<<26),Q=(G=a[W-7]).high,Z=(tt=a[W-16]).high,tt=tt.low;z=(z=(z=z+Q+((G=Y+G.low)>>>0>>0?1:0))+X+((G=G+$)>>>0<$>>>0?1:0))+Z+((G=G+tt)>>>0>>0?1:0);J.high=z,J.low=G}Q=M&U^~M&H,tt=j&B^~j&V,J=T&R^T&O^R&O;var et=C&I^C&N^I&N,rt=(Y=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),X=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),($=s[W]).high),nt=$.low;Z=K+((M>>>14|j<<18)^(M>>>18|j<<14)^(M<<23|j>>>9))+(($=q+((j>>>14|M<<18)^(j>>>18|M<<14)^(j<<23|M>>>9)))>>>0>>0?1:0),K=H,q=V,H=U,V=B,U=M,B=j,M=L+(Z=(Z=(Z=Z+Q+(($=$+tt)>>>0>>0?1:0))+rt+(($=$+nt)>>>0>>0?1:0))+z+(($=$+G)>>>0>>0?1:0))+((j=D+$|0)>>>0>>0?1:0)|0,L=O,D=N,O=R,N=I,R=T,I=C,T=Z+(J=Y+J+((G=X+et)>>>0>>0?1:0))+((C=$+G|0)>>>0<$>>>0?1:0)|0}g=n.low=g+C,n.high=p+T+(g>>>0>>0?1:0),v=i.low=v+I,i.high=d+R+(v>>>0>>0?1:0),m=o.low=m+N,o.high=y+O+(m>>>0>>0?1:0),S=u.low=S+D,u.high=_+L+(S>>>0>>0?1:0),w=c.low=w+j,c.high=b+M+(w>>>0>>0?1:0),E=f.low=E+B,f.high=F+U+(E>>>0>>0?1:0),A=h.low=A+V,h.high=x+H+(A>>>0>>0?1:0),k=l.low=k+q,l.high=P+K+(k>>>0>>0?1:0)},_doFinalize:function t(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[30+(i+128>>>10<<5)]=Math.floor(n/4294967296),r[31+(i+128>>>10<<5)]=n,e.sigBytes=4*r.length,this._process(),this._hash.toX32()},clone:function t(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function t(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function t(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}(); /*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */ -var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S="=";function b(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);if(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4)),S)for(;(3&n.length)>0;)n+=S;return n}function w(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=O(r<<2|n>>4),r=15&n,o=2):2==o?(i+=O(r),i+=O(n>>2),r=3&n,o=3):(i+=O(r<<2|n>>4),i+=O(15&n),o=0));return 1==o&&(i+=O(r<<2)),i}function F(t){var e,r=w(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,f=a*u+c*s;i=((u=s*u+((32767&f)<<15)+r[n]+(1073741823&i))>>>30)+(f>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(E.prototype.am=function k(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(E.prototype.am=function P(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,f=a*u+c*s;i=((u=s*u+((16383&f)<<14)+r[n]+i)>>28)+(f>>14)+a*c,r[n++]=268435455&u}return i},m=28),E.prototype.DB=m,E.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function M(t){this.m=t}function j(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function q(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function W(){}function J(t){return t}function z(t){this.r2=x(),this.q3=x(),E.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}M.prototype.convert=function Y(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},M.prototype.revert=function G(t){return t},M.prototype.reduce=function X(t){t.divRemTo(this.m,null,t)},M.prototype.mulTo=function $(t,e,r){t.multiplyTo(e,r),this.reduce(r)},M.prototype.sqrTo=function Q(t,e){t.squareTo(e),this.reduce(e)},j.prototype.convert=function Z(t){var e=x();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(E.ZERO)>0&&this.m.subTo(e,e),e},j.prototype.revert=function tt(t){var e=x();return t.copyTo(e),this.reduce(e),e},j.prototype.reduce=function et(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},j.prototype.mulTo=function rt(t,e,r){t.multiplyTo(e,r),this.reduce(r)},j.prototype.sqrTo=function nt(t,e){t.squareTo(e),this.reduce(e)},E.prototype.copyTo=function it(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},E.prototype.fromInt=function ot(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},E.prototype.fromString=function st(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:D(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},E.prototype.dlShiftTo=function ut(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},E.prototype.drShiftTo=function ct(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},E.prototype.rShiftTo=function ht(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},E.prototype.multiplyTo=function pt(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},E.prototype.divRemTo=function gt(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,f=o[c-1];if(0!=f){var h=f*(1<1?o[c-2]>>this.F2:0),l=this.FV/h,p=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),E.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--g]==f?this.DM:Math.floor(r[g]*l+(r[g-1]+d)*p);if((r[g]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&E.ZERO.subTo(r,r)}}},E.prototype.invDigit=function vt(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},E.prototype.isEven=function yt(){return 0==(this.t>0?1&this[0]:this.s)},E.prototype.exp=function mt(t,e){if(t>4294967295||t<1)return E.ONE;var r=x(),n=x(),i=e.convert(this),o=L(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},E.prototype.toString=function _t(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=O(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=O(r));return i?o:"0"},E.prototype.negate=function St(){var t=x();return E.ZERO.subTo(this,t),t},E.prototype.abs=function bt(){return this.s<0?this.negate():this},E.prototype.compareTo=function wt(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},E.prototype.bitLength=function Ft(){return this.t<=0?0:this.DB*(this.t-1)+L(this[this.t-1]^this.s&this.DM)},E.prototype.mod=function Et(t){var e=x();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(E.ZERO)>0&&t.subTo(e,e),e},E.prototype.modPowInt=function xt(t,e){var r;return r=t<256||e.isEven()?new M(e):new j(e),this.exp(t,r)},E.ZERO=N(0),E.ONE=N(1),W.prototype.convert=J,W.prototype.revert=J,W.prototype.mulTo=function At(t,e,r){t.multiplyTo(e,r)},W.prototype.sqrTo=function kt(t,e){t.squareTo(e)},z.prototype.convert=function Pt(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=x();return t.copyTo(e),this.reduce(e),e},z.prototype.revert=function Ct(t){return t},z.prototype.reduce=function Tt(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},z.prototype.mulTo=function Rt(t,e,r){t.multiplyTo(e,r),this.reduce(r)},z.prototype.sqrTo=function It(t,e){t.squareTo(e),this.reduce(e)};var Ot=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],Dt=(1<<26)/Ot[Ot.length-1]; +var m,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function S(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4)),"=";(3&n.length)>0;)n+="=";return n}function b(t){var e,r,n,i="",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=R(r<<2|n>>4),r=15&n,o=2):2==o?(i+=R(r),i+=R(n>>2),r=3&n,o=3):(i+=R(r<<2|n>>4),i+=R(15&n),o=0));return 1==o&&(i+=R(r<<2)),i}function w(t){var e,r=b(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,f=a*u+c*s;i=((u=s*u+((32767&f)<<15)+r[n]+(1073741823&i))>>>30)+(f>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):"Netscape"!=n.appName?(F.prototype.am=function A(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function P(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,f=a*u+c*s;i=((u=s*u+((16383&f)<<14)+r[n]+i)>>28)+(f>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function L(t){this.m=t}function D(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function V(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function K(){}function q(t){return t}function W(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}L.prototype.convert=function J(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},L.prototype.revert=function z(t){return t},L.prototype.reduce=function G(t){t.divRemTo(this.m,null,t)},L.prototype.mulTo=function Y(t,e,r){t.multiplyTo(e,r),this.reduce(r)},L.prototype.sqrTo=function X(t,e){t.squareTo(e),this.reduce(e)},D.prototype.convert=function $(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},D.prototype.revert=function Q(t){var e=E();return t.copyTo(e),this.reduce(e),e},D.prototype.reduce=function Z(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},D.prototype.mulTo=function tt(t,e,r){t.multiplyTo(e,r),this.reduce(r)},D.prototype.sqrTo=function et(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function rt(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function nt(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function it(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:I(t,n);s<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function st(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function at(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function ct(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function ht(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function pt(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,f=o[c-1];if(0!=f){var h=f*(1<1?o[c-2]>>this.F2:0),l=this.FV/h,p=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--d]==f?this.DM:Math.floor(r[d]*l+(r[d-1]+g)*p);if((r[d]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function gt(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function dt(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function vt(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=N(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function yt(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=R(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=R(r));return i?o:"0"},F.prototype.negate=function mt(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function _t(){return this.s<0?this.negate():this},F.prototype.compareTo=function St(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function bt(){return this.t<=0?0:this.DB*(this.t-1)+N(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function wt(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function Ft(t,e){var r;return r=t<256||e.isEven()?new L(e):new D(e),this.exp(t,r)},F.ZERO=O(0),F.ONE=O(1),K.prototype.convert=q,K.prototype.revert=q,K.prototype.mulTo=function Et(t,e,r){t.multiplyTo(e,r)},K.prototype.sqrTo=function xt(t,e){t.squareTo(e)},W.prototype.convert=function At(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},W.prototype.revert=function Pt(t){return t},W.prototype.reduce=function kt(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},W.prototype.mulTo=function Tt(t,e,r){t.multiplyTo(e,r),this.reduce(r)},W.prototype.sqrTo=function Ct(t,e){t.squareTo(e),this.reduce(e)};var Rt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],It=(1<<26)/Rt[Rt.length-1]; /*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */ -function Nt(){this.i=0,this.j=0,this.S=new Array}E.prototype.chunkSize=function Lt(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},E.prototype.toRadix=function Mt(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=N(r),i=x(),o=x(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},E.prototype.fromRadix=function jt(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&E.ZERO.subTo(this,this)},E.prototype.fromNumber=function Ut(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(E.ONE.shiftLeft(t-1),B,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(E.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},E.prototype.dMultiply=function Kt(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},E.prototype.dAddOffset=function qt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},E.prototype.multiplyLowerTo=function Wt(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},E.prototype.millerRabin=function Yt(t){var e=this.subtract(E.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>Ot.length&&(t=Ot.length);for(var i=x(),o=0;o36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=O(r),i=E(),o=E(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function Dt(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function Mt(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),j,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function Ht(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function Vt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function Kt(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function Jt(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>Rt.length&&(t=Rt.length);for(var i=E(),o=0;o>24},E.prototype.shortValue=function Qt(){return 0==this.t?this.s:this[0]<<16>>16},E.prototype.signum=function Zt(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},E.prototype.toByteArray=function te(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},E.prototype.equals=function ee(t){return 0==this.compareTo(t)},E.prototype.min=function re(t){return this.compareTo(t)<0?this:t},E.prototype.max=function ne(t){return this.compareTo(t)>0?this:t},E.prototype.and=function ie(t){var e=x();return this.bitwiseTo(t,U,e),e},E.prototype.or=function oe(t){var e=x();return this.bitwiseTo(t,B,e),e},E.prototype.xor=function se(t){var e=x();return this.bitwiseTo(t,H,e),e},E.prototype.andNot=function ae(t){var e=x();return this.bitwiseTo(t,V,e),e},E.prototype.not=function ue(){for(var t=x(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var f=x();for(n.sqrTo(s[1],f);a<=c;)s[a]=x(),n.mulTo(f,s[a-2],s[a]),a+=2}var h,l,p=t.t-1,d=!0,g=x();for(i=L(t[p])-1;p>=0;){for(i>=u?h=t[p]>>i-u&c:(h=(t[p]&(1<0&&(h|=t[p-1]>>this.DB+i-u)),a=r;0==(1&h);)h>>=1,--a;if((i-=a)<0&&(i+=this.DB,--p),d)s[h].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,g),n.sqrTo(g,o),a-=2;a>0?n.sqrTo(o,g):(l=o,o=g,g=l),n.mulTo(g,s[h],o)}for(;p>=0&&0==(t[p]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(E.ONE)?E.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},E.prototype.pow=function xe(t){return this.exp(t,new W)},E.prototype.gcd=function Ae(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},E.prototype.isProbablePrime=function ke(t){var e,r=this.abs();if(1==r.t&&r[0]<=Ot[Ot.length-1]){for(e=0;e>24},F.prototype.shortValue=function Xt(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function $t(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function Qt(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function Zt(t){return 0==this.compareTo(t)},F.prototype.min=function te(t){return this.compareTo(t)<0?this:t},F.prototype.max=function ee(t){return this.compareTo(t)>0?this:t},F.prototype.and=function re(t){var e=E();return this.bitwiseTo(t,M,e),e},F.prototype.or=function ne(t){var e=E();return this.bitwiseTo(t,j,e),e},F.prototype.xor=function ie(t){var e=E();return this.bitwiseTo(t,U,e),e},F.prototype.andNot=function oe(t){var e=E();return this.bitwiseTo(t,B,e),e},F.prototype.not=function se(){for(var t=E(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var f=E();for(n.sqrTo(s[1],f);a<=c;)s[a]=E(),n.mulTo(f,s[a-2],s[a]),a+=2}var h,l,p=t.t-1,g=!0,d=E();for(i=N(t[p])-1;p>=0;){for(i>=u?h=t[p]>>i-u&c:(h=(t[p]&(1<0&&(h|=t[p-1]>>this.DB+i-u)),a=r;0==(1&h);)h>>=1,--a;if((i-=a)<0&&(i+=this.DB,--p),g)s[h].copyTo(o),g=!1;else{for(;a>1;)n.sqrTo(o,d),n.sqrTo(d,o),a-=2;a>0?n.sqrTo(o,d):(l=o,o=d,d=l),n.mulTo(d,s[h],o)}for(;p>=0&&0==(t[p]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function Fe(t){return this.exp(t,new K)},F.prototype.gcd=function Ee(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function xe(t){var e,r=this.abs();if(1==r.t&&r[0]<=Rt[Rt.length-1]){for(e=0;e>8&255,Ie[Oe++]^=e>>16&255,Ie[Oe++]^=e>>24&255,Oe>=De&&(Oe-=De)}((new Date).getTime())}if(null==Ie){var Le;if(Ie=new Array,Oe=0,void 0!==i&&(void 0!==i.crypto||void 0!==i.msCrypto)){var Me=i.crypto||i.msCrypto;if(Me.getRandomValues){var je=new Uint8Array(32);for(Me.getRandomValues(je),Le=0;Le<32;++Le)Ie[Oe++]=je[Le]}else if("Netscape"==n.appName&&n.appVersion<"5"){var Ue=i.crypto.random(32);for(Le=0;Le>>8,Ie[Oe++]=255&Le;Oe=0,Ne()}function Be(){if(null==Re){for(Ne(),(Re=function t(){return new Nt}()).init(Ie),Oe=0;Oe>8&255,Ce[Re++]^=e>>16&255,Ce[Re++]^=e>>24&255,Re>=256&&(Re-=256)}((new Date).getTime())}if(null==Ce){var Oe;if(Ce=new Array,Re=0,void 0!==i&&(void 0!==i.crypto||void 0!==i.msCrypto)){var Ne=i.crypto||i.msCrypto;if(Ne.getRandomValues){var Le=new Uint8Array(32);for(Ne.getRandomValues(Le),Oe=0;Oe<32;++Oe)Ce[Re++]=Le[Oe]}else if("Netscape"==n.appName&&n.appVersion<"5"){var De=i.crypto.random(32);for(Oe=0;Oe>>8,Ce[Re++]=255&Oe;Re=0,Ie()}function Me(){if(null==Te){for(Ie(),(Te=function t(){return new Ot}()).init(Ce),Re=0;Re>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function qe(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null} +function Ue(t,e){return new F(t,e)}function Be(t,e,r){for(var n="",i=0;n.length>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function He(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null} /*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */ -function We(t,e){this.x=e,this.q=t}function Je(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?E.ONE:n,this.zinv=null}function ze(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new Je(this,null,null)}He.prototype.nextBytes=function Ye(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=Ve(t,16),this.e=parseInt(e,16)}},qe.prototype.encrypt=function $e(t){var e=function r(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new He,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new E(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var n=this.doPublic(e);if(null==n)return null;var i=n.toString(16);return 0==(1&i.length)?i:"0"+i},qe.prototype.encryptOAEP=function Qe(t,e,r){var n=function i(t,e,r,n){var i=Er.crypto.MessageDigest,o=Er.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function t(e){return jr(o.hashHex(Ur(e),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var o=this.doPublic(n);if(null==o)return null;var s=o.toString(16);return 0==(1&s.length)?s:"0"+s},qe.prototype.type="RSA",We.prototype.equals=function Ze(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},We.prototype.toBigInteger=function tr(){return this.x},We.prototype.negate=function er(){return new We(this.q,this.x.negate().mod(this.q))},We.prototype.add=function rr(t){return new We(this.q,this.x.add(t.toBigInteger()).mod(this.q))},We.prototype.subtract=function nr(t){return new We(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},We.prototype.multiply=function ir(t){return new We(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},We.prototype.square=function or(){return new We(this.q,this.x.square().mod(this.q))},We.prototype.divide=function sr(t){return new We(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},Je.prototype.getX=function ar(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Je.prototype.getY=function ur(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Je.prototype.equals=function cr(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(E.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(E.ZERO))},Je.prototype.isInfinity=function fr(){return null==this.x&&null==this.y||this.z.equals(E.ZERO)&&!this.y.toBigInteger().equals(E.ZERO)},Je.prototype.negate=function hr(){return new Je(this.curve,this.x,this.y.negate(),this.z)},Je.prototype.add=function lr(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(E.ZERO.equals(r))return E.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new E("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),f=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),h=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),l=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new Je(this.curve,this.curve.fromBigInteger(f),this.curve.fromBigInteger(h),l)},Je.prototype.twice=function pr(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new E("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);E.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new Je(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},Je.prototype.multiply=function dr(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new E("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add(s?this:i))}return o},Je.prototype.multiplyTwo=function gr(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},ze.prototype.getQ=function vr(){return this.q},ze.prototype.getA=function yr(){return this.a},ze.prototype.getB=function mr(){return this.b},ze.prototype.equals=function _r(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},ze.prototype.getInfinity=function Sr(){return this.infinity},ze.prototype.fromBigInteger=function br(t){return new We(this.q,t)},ze.prototype.decodePointHex=function wr(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new Je(this,this.fromBigInteger(new E(r,16)),this.fromBigInteger(new E(n,16)));default:return null}}, +function Ve(t,e){this.x=e,this.q=t}function Ke(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function qe(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new Ke(this,null,null)}je.prototype.nextBytes=function We(t){var e;for(e=0;e0&&e.length>0))throw"Invalid RSA public key";this.n=Ue(t,16),this.e=parseInt(e,16)}},He.prototype.encrypt=function Ge(t){var e=function r(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new je,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var n=this.doPublic(e);if(null==n)return null;var i=n.toString(16);return 0==(1&i.length)?i:"0"+i},He.prototype.encryptOAEP=function Ye(t,e,r){var n=function i(t,e,r,n){var i=br.crypto.MessageDigest,o=br.crypto.Util,s=null;if(r||(r="sha1"),"string"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function t(e){return Lr(o.hashHex(Dr(e),s))}),t.length+2*n+2>e)throw"Message too long for RSA";var a,u="";for(a=0;a>3,e,r);if(null==n)return null;var o=this.doPublic(n);if(null==o)return null;var s=o.toString(16);return 0==(1&s.length)?s:"0"+s},He.prototype.type="RSA",Ve.prototype.equals=function Xe(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},Ve.prototype.toBigInteger=function $e(){return this.x},Ve.prototype.negate=function Qe(){return new Ve(this.q,this.x.negate().mod(this.q))},Ve.prototype.add=function Ze(t){return new Ve(this.q,this.x.add(t.toBigInteger()).mod(this.q))},Ve.prototype.subtract=function tr(t){return new Ve(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},Ve.prototype.multiply=function er(t){return new Ve(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},Ve.prototype.square=function rr(){return new Ve(this.q,this.x.square().mod(this.q))},Ve.prototype.divide=function nr(t){return new Ve(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},Ke.prototype.getX=function ir(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ke.prototype.getY=function or(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ke.prototype.equals=function sr(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},Ke.prototype.isInfinity=function ar(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},Ke.prototype.negate=function ur(){return new Ke(this.curve,this.x,this.y.negate(),this.z)},Ke.prototype.add=function cr(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F("3"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),f=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),h=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),l=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new Ke(this.curve,this.curve.fromBigInteger(f),this.curve.fromBigInteger(h),l)},Ke.prototype.twice=function fr(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F("3"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new Ke(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},Ke.prototype.multiply=function hr(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F("3")),u=new Ke(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var f=n.testBit(e);f!=r.testBit(e)&&(o=o.add(f?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var h=a.testBit(e);h!=s.testBit(e)&&(u=u.add(h?u:c))}return o},Ke.prototype.multiplyTwo=function lr(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},qe.prototype.getQ=function pr(){return this.q},qe.prototype.getA=function gr(){return this.a},qe.prototype.getB=function dr(){return this.b},qe.prototype.equals=function vr(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},qe.prototype.getInfinity=function yr(){return this.infinity},qe.prototype.fromBigInteger=function mr(t){return new Ve(this.q,t)},qe.prototype.decodePointHex=function _r(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new Ke(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)));default:return null}}, /*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib */ -We.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},Je.prototype.getEncoded=function(t){var e=function t(e,r){var n=e.toByteArrayUnsigned();if(rn.length;)n.unshift(0);return n},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},Je.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new E(n),s=new E(i);return new Je(t,t.fromBigInteger(o),t.fromBigInteger(s))},Je.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new E(n,16),s=new E(i,16);return new Je(t,t.fromBigInteger(o),t.fromBigInteger(s))},Je.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Je(this.curve,n,i)},Je.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(E.valueOf(2)),e=this.curve.fromBigInteger(E.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Je(this.curve,n,i)},Je.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new E("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},Je.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},Je.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},Je.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(E.ONE)<0||e.compareTo(t.subtract(E.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(E.ONE)<0||r.compareTo(t.subtract(E.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0}; +Ve.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},Ke.prototype.getEncoded=function(t){var e=function t(e,r){var n=e.toByteArrayUnsigned();if(rn.length;)n.unshift(0);return n},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},Ke.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new Ke(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ke.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new Ke(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ke.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ke(this.curve,n,i)},Ke.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ke(this.curve,n,i)},Ke.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F("3")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},Ke.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},Ke.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},Ke.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error("x coordinate out of bounds");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(t).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0}; /*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval */ -var Fr=function(){var t=new RegExp('(?:false|true|null|[\\{\\}\\[\\]]|(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)|(?:"(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))*"))',"g"),e=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),n={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(""),s=(Object,Array,Object.hasOwnProperty);return function(n,a){var u,c,f=n.match(t),h=f[0],l=!1;"{"===h?u={}:"["===h?u=[]:(u=[],l=!0);for(var p=[u],d=1-l,g=f.length;d=0;)delete i[o[f]]}return a.call(e,n,i)}({"":u},"")}return u}}();void 0!==Er&&Er||(e.KJUR=Er={}),void 0!==Er.asn1&&Er.asn1||(Er.asn1={}),Er.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},Er.asn1.DERAbstractString=function(t){Er.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Lr(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(Er.asn1.DERAbstractString,Er.asn1.ASN1Object),Er.asn1.DERAbstractTime=function(t){Er.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){return utc=t.getTime()+6e4*t.getTimezoneOffset(),new Date(utc)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Rr(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(Er.asn1.DERAbstractTime,Er.asn1.ASN1Object),Er.asn1.DERAbstractStructured=function(t){Er.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(Er.asn1.DERAbstractStructured,Er.asn1.ASN1Object),Er.asn1.DERBoolean=function(){Er.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},o.lang.extend(Er.asn1.DERBoolean,Er.asn1.ASN1Object),Er.asn1.DERInteger=function(t){Er.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=Er.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new E(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(Er.asn1.DERInteger,Er.asn1.ASN1Object),Er.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=Er.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}Er.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function $r(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?Xr(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Qr(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}kr.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=2*o)break;if(a>=200)break;n.push(u),s=u,a++}return n},kr.getNthChildIdx=function(t,e,r){return kr.getChildIdx(t,e)[r]},kr.getIdxbyList=function(t,e,r,n){var i,o,s=kr;if(0==r.length){if(void 0!==n&&t.substr(e,2)!==n)throw"checking tag doesn't match: "+t.substr(e,2)+"!="+n;return e}return i=r.shift(),o=s.getChildIdx(t,e),s.getIdxbyList(t,o[i],r,n)},kr.getTLVbyList=function(t,e,r,n){var i=kr,o=i.getIdxbyList(t,e,r);if(void 0===o)throw"can't find nthList object";if(void 0!==n&&t.substr(o,2)!=n)throw"checking tag doesn't match: "+t.substr(o,2)+"!="+n;return i.getTLV(t,o)},kr.getVbyList=function(t,e,r,n,i){var o,s,a=kr;if(void 0===(o=a.getIdxbyList(t,e,r,n)))throw"can't find nthList object";return s=a.getV(t,o),!0===i&&(s=s.substr(2)),s},kr.hextooidstr=function(t){var e=function t(e,r){return e.length>=r?e:new Array(r-e.length+1).join("0")+e},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(f=f+"."+u.join(".")),f},kr.dump=function(t,e,r,n){var i=kr,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof Er.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function t(e,r){return e.length<=2*r?e:e.substr(0,r)+"..(total "+e.length/2+"bytes).."+e.substr(e.length-r,r)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var f=e.ommit_long_octet;if("01"==u.substr(r,2))return"00"==(h=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==u.substr(r,2))return n+"INTEGER "+c(h=o(u,r),f)+"\n";if("03"==u.substr(r,2))return n+"BITSTRING "+c(h=o(u,r),f)+"\n";if("04"==u.substr(r,2)){var h=o(u,r);if(i.isASN1HEX(h)){var l=n+"OCTETSTRING, encapsulates\n";return l+=s(h,e,0,n+" ")}return n+"OCTETSTRING "+c(h,f)+"\n"}if("05"==u.substr(r,2))return n+"NULL\n";if("06"==u.substr(r,2)){var p=o(u,r),d=Er.asn1.ASN1Util.oidHexToInt(p),g=Er.asn1.x509.OID.oid2name(d),v=d.replace(/\./g," ");return""!=g?n+"ObjectIdentifier "+g+" ("+v+")\n":n+"ObjectIdentifier ("+v+")\n"}if("0c"==u.substr(r,2))return n+"UTF8String '"+Mr(o(u,r))+"'\n";if("13"==u.substr(r,2))return n+"PrintableString '"+Mr(o(u,r))+"'\n";if("14"==u.substr(r,2))return n+"TeletexString '"+Mr(o(u,r))+"'\n";if("16"==u.substr(r,2))return n+"IA5String '"+Mr(o(u,r))+"'\n";if("17"==u.substr(r,2))return n+"UTCTime "+Mr(o(u,r))+"\n";if("18"==u.substr(r,2))return n+"GeneralizedTime "+Mr(o(u,r))+"\n";if("30"==u.substr(r,2)){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";l=n+"SEQUENCE\n";var y=e;if((2==(S=a(u,r)).length||3==S.length)&&"06"==u.substr(S[0],2)&&"04"==u.substr(S[S.length-1],2)){g=i.oidname(o(u,S[0]));var m=JSON.parse(JSON.stringify(e));m.x509ExtName=g,y=m}for(var _=0;_i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="0001",s="00"+n,a="",u=i-o.length-s.length,c=0;c=0)return!1;if(r.compareTo(E.ONE)<0||r.compareTo(i)>=0)return!1;var s=r.modInverse(i),a=t.multiply(s).mod(i),u=e.multiply(s).mod(i);return o.multiply(a).add(n.multiply(u)).getX().toBigInteger().mod(i).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var n=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:E.fromByteArrayUnsigned(r),s:E.fromByteArrayUnsigned(n)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:E.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:E.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){var e,r,n,i=kr,o=Er.crypto.ECDSA.getName,s=i.getVbyList;if(!1===i.isASN1HEX(t))throw"not ASN.1 hex string";try{e=s(t,0,[2,0],"06"),r=s(t,0,[1],"04");try{n=s(t,0,[3,0],"03").substr(2)}catch(t){}}catch(t){throw"malformed PKCS#1/5 plain ECC private key"}if(this.curveName=o(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){var e,r,n,i=kr,o=Er.crypto.ECDSA.getName,s=i.getVbyList;if(!1===i.isASN1HEX(t))throw"not ASN.1 hex string";try{s(t,0,[1,0],"06"),e=s(t,0,[1,1],"06"),r=s(t,0,[2,0,1],"04");try{n=s(t,0,[2,0,2,0],"03").substr(2)}catch(t){}}catch(t){throw"malformed PKCS#8 plain ECC private key"}if(this.curveName=o(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){var e,r,n=kr,i=Er.crypto.ECDSA.getName,o=n.getVbyList;if(!1===n.isASN1HEX(t))throw"not ASN.1 hex string";try{o(t,0,[0,0],"06"),e=o(t,0,[0,1],"06"),r=o(t,0,[1],"03").substr(2)}catch(t){throw"malformed PKCS#8 ECC public key"}if(this.curveName=i(e),null===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(r)},this.readCertPubKeyHex=function(t,e){5!==e&&(e=6);var r,n,i=kr,o=Er.crypto.ECDSA.getName,s=i.getVbyList;if(!1===i.isASN1HEX(t))throw"not ASN.1 hex string";try{r=s(t,0,[0,e,0,1],"06"),n=s(t,0,[0,e,1],"03").substr(2)}catch(t){throw"malformed X.509 certificate ECC public key"}if(this.curveName=o(r),null===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},Er.crypto.ECDSA.parseSigHex=function(t){var e=Er.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new E(e.r,16),s:new E(e.s,16)}},Er.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=kr,r=e.getChildIdx,n=e.getV;if("30"!=t.substr(0,2))throw"signature is not a ASN.1 sequence";var i=r(t,0);if(2!=i.length)throw"number of signature ASN.1 sequence elements seem wrong";var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw"1st item of sequene of signature is not ASN.1 integer";if("02"!=t.substr(s,2))throw"2nd item of sequene of signature is not ASN.1 integer";return{r:n(t,o),s:n(t,s)}},Er.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=Er.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},Er.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return Er.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},Er.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new E(t,16),n=new E(e,16);return Er.crypto.ECDSA.biRSSigToASN1Sig(r,n)},Er.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=Er.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},Er.crypto.ECDSA.getName=function(t){return"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==Er&&Er||(e.KJUR=Er={}),void 0!==Er.crypto&&Er.crypto||(Er.crypto={}),Er.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new E(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,f,h,l,p,d){t[n]={};var g=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new ze(g,v,y),b=S.decodePointHex("04"+f+h);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=b,t[n].n=m,t[n].h=_,t[n].oid=p,t[n].info=d;for(var w=0;w=2*u)break}var l={};return l.keyhex=c.substr(0,2*i[e].keylen),l.ivhex=c.substr(2*i[e].keylen,2*i[e].ivlen),l},a=function t(e,r,n,o){var s=y.enc.Base64.parse(e),a=y.enc.Hex.stringify(s);return(0,i[r].proc)(a,n,o)};return{version:"1.0.0",parsePKCS5PEM:function t(e){return o(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function t(e,r,n){return s(e,r,n)},decryptKeyB64:function t(e,r,n,i){return a(e,r,n,i)},getDecryptedKeyHex:function t(e,r){var n=o(e),i=(n.type,n.cipher),u=n.ivsalt,c=n.data,f=s(i,r,u).keyhex;return a(c,i,f,u)},getEncryptedPKCS5PEMFromPrvKeyHex:function t(e,r,n,o,a){var u="";if(void 0!==o&&null!=o||(o="AES-256-CBC"),void 0===i[o])throw"KEYUTIL unsupported algorithm: "+o;void 0!==a&&null!=a||(a=function t(e){var r=y.lib.WordArray.random(e);return y.enc.Hex.stringify(r)}(i[o].ivlen).toUpperCase());var c=function t(e,r,n,o){return(0,i[r].eproc)(e,n,o)}(r,o,s(o,n,a).keyhex,a);u="-----BEGIN "+e+" PRIVATE KEY-----\r\n";return u+="Proc-Type: 4,ENCRYPTED\r\n",u+="DEK-Info: "+o+","+a+"\r\n",u+="\r\n",u+=c.replace(/(.{64})/g,"$1\r\n"),u+="\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function t(e){var r=kr,n=r.getChildIdx,i=r.getV,o={},s=n(e,0);if(2!=s.length)throw"malformed format: SEQUENCE(0).items != 2: "+s.length;o.ciphertext=i(e,s[1]);var a=n(e,s[0]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+a.length;if("2a864886f70d01050d"!=i(e,a[0]))throw"this only supports pkcs5PBES2";var u=n(e,a[1]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+u.length;var c=n(e,u[1]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+c.length;if("2a864886f70d0307"!=i(e,c[0]))throw"this only supports TripleDES";o.encryptionSchemeAlg="TripleDES",o.encryptionSchemeIV=i(e,c[1]);var f=n(e,u[0]);if(2!=f.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+f.length;if("2a864886f70d01050c"!=i(e,f[0]))throw"this only supports pkcs5PBKDF2";var h=n(e,f[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;o.pbkdf2Salt=i(e,h[0]);var l=i(e,h[1]);try{o.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return o},getPBKDF2KeyHexFromParam:function t(e,r){var n=y.enc.Hex.parse(e.pbkdf2Salt),i=e.pbkdf2Iter,o=y.PBKDF2(r,n,{keySize:6,iterations:i});return y.enc.Hex.stringify(o)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function t(e,r){var n=qr(e,"ENCRYPTED PRIVATE KEY"),i=this.parseHexOfEncryptedPKCS8(n),o=tn.getPBKDF2KeyHexFromParam(i,r),s={};s.ciphertext=y.enc.Hex.parse(i.ciphertext);var a=y.enc.Hex.parse(o),u=y.enc.Hex.parse(i.encryptionSchemeIV),c=y.TripleDES.decrypt(s,a,{iv:u});return y.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function t(e,r){var n=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,r);return this.getKeyFromPlainPrivatePKCS8Hex(n)},parsePlainPrivatePKCS8Hex:function t(e){var r=kr,n=r.getChildIdx,i=r.getV,o={algparam:null};if("30"!=e.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var s=n(e,0);if(3!=s.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=e.substr(s[1],2))throw"malformed PKCS8 private key(code:003)";var a=n(e,s[1]);if(2!=a.length)throw"malformed PKCS8 private key(code:004)";if("06"!=e.substr(a[0],2))throw"malformed PKCS8 private key(code:005)";if(o.algoid=i(e,a[0]),"06"==e.substr(a[1],2)&&(o.algparam=i(e,a[1])),"04"!=e.substr(s[2],2))throw"malformed PKCS8 private key(code:006)";return o.keyidx=r.getVidx(e,s[2]),o},getKeyFromPlainPrivatePKCS8PEM:function t(e){var r=qr(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(r)},getKeyFromPlainPrivatePKCS8Hex:function t(e){var r,n=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==n.algoid)r=new qe;else if("2a8648ce380401"==n.algoid)r=new Er.crypto.DSA;else{if("2a8648ce3d0201"!=n.algoid)throw"unsupported private key algorithm";r=new Er.crypto.ECDSA}return r.readPKCS8PrvKeyHex(e),r},_getKeyFromPublicPKCS8Hex:function t(e){var r,n=kr.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===n)r=new qe;else if("2a8648ce380401"===n)r=new Er.crypto.DSA;else{if("2a8648ce3d0201"!==n)throw"unsupported PKCS#8 public key hex";r=new Er.crypto.ECDSA}return r.readPKCS8PubKeyHex(e),r},parsePublicRawRSAKeyHex:function t(e){var r=kr,n=r.getChildIdx,i=r.getV,o={};if("30"!=e.substr(0,2))throw"malformed RSA key(code:001)";var s=n(e,0);if(2!=s.length)throw"malformed RSA key(code:002)";if("02"!=e.substr(s[0],2))throw"malformed RSA key(code:003)";if(o.n=i(e,s[0]),"02"!=e.substr(s[1],2))throw"malformed RSA key(code:004)";return o.e=i(e,s[1]),o},parsePublicPKCS8Hex:function t(e){var r=kr,n=r.getChildIdx,i=r.getV,o={algparam:null},s=n(e,0);if(2!=s.length)throw"outer DERSequence shall have 2 elements: "+s.length;var a=s[0];if("30"!=e.substr(a,2))throw"malformed PKCS8 public key(code:001)";var u=n(e,a);if(2!=u.length)throw"malformed PKCS8 public key(code:002)";if("06"!=e.substr(u[0],2))throw"malformed PKCS8 public key(code:003)";if(o.algoid=i(e,u[0]),"06"==e.substr(u[1],2)?o.algparam=i(e,u[1]):"30"==e.substr(u[1],2)&&(o.algparam={},o.algparam.p=r.getVbyList(e,u[1],[0],"02"),o.algparam.q=r.getVbyList(e,u[1],[1],"02"),o.algparam.g=r.getVbyList(e,u[1],[2],"02")),"03"!=e.substr(s[1],2))throw"malformed PKCS8 public key(code:004)";return o.key=i(e,s[1]).substr(2),o}}}();tn.getKey=function(t,e,r){var n=(v=kr).getChildIdx,i=(v.getV,v.getVbyList),o=Er.crypto,s=o.ECDSA,a=o.DSA,u=qe,c=qr,f=tn;if(void 0!==u&&t instanceof u)return t;if(void 0!==s&&t instanceof s)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new s({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new s({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(t.n,t.e),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(P=new u).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(P=new u).setPrivate(t.n,t.e,t.d),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(P=new a).setPublic(t.p,t.q,t.g,t.y),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(P=new a).setPrivate(t.p,t.q,t.g,t.y,t.x),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(Nr(t.n),Nr(t.e)),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(P=new u).setPrivateEx(Nr(t.n),Nr(t.e),Nr(t.d),Nr(t.p),Nr(t.q),Nr(t.dp),Nr(t.dq),Nr(t.qi)),P;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(P=new u).setPrivate(Nr(t.n),Nr(t.e),Nr(t.d)),P;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var h=(k=new s({curve:t.crv})).ecparams.keylen/4,l="04"+("0000000000"+Nr(t.x)).slice(-h)+("0000000000"+Nr(t.y)).slice(-h);return k.setPublicKeyHex(l),k}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){h=(k=new s({curve:t.crv})).ecparams.keylen/4,l="04"+("0000000000"+Nr(t.x)).slice(-h)+("0000000000"+Nr(t.y)).slice(-h);var p=("0000000000"+Nr(t.d)).slice(-h);return k.setPublicKeyHex(l),k.setPrivateKeyHex(p),k}if("pkcs5prv"===r){var d,g=t,v=kr;if(9===(d=n(g,0)).length)(P=new u).readPKCS5PrvKeyHex(g);else if(6===d.length)(P=new a).readPKCS5PrvKeyHex(g);else{if(!(d.length>2&&"04"===g.substr(d[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(P=new s).readPKCS5PrvKeyHex(g)}return P}if("pkcs8prv"===r)return P=f.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return f._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return sn.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return sn.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var y=qr(t,"PUBLIC KEY");return f._getKeyFromPublicPKCS8Hex(y)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var m=c(t,"RSA PRIVATE KEY");return f.getKey(m,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=i(R=c(t,"DSA PRIVATE KEY"),0,[1],"02"),S=i(R,0,[2],"02"),b=i(R,0,[3],"02"),w=i(R,0,[4],"02"),F=i(R,0,[5],"02");return(P=new a).setPrivate(new E(_,16),new E(S,16),new E(b,16),new E(w,16),new E(F,16)),P}if(-1!=t.indexOf("-END PRIVATE KEY-"))return f.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var x=f.getDecryptedKeyHex(t,e),A=new qe;return A.readPKCS5PrvKeyHex(x),A}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var k,P=i(R=f.getDecryptedKeyHex(t,e),0,[1],"04"),C=i(R,0,[2,0],"06"),T=i(R,0,[3,0],"03").substr(2);if(void 0===Er.crypto.OID.oidhex2name[C])throw"undefined OID(hex) in KJUR.crypto.OID: "+C;return(k=new s({curve:Er.crypto.OID.oidhex2name[C]})).setPublicKeyHex(T),k.setPrivateKeyHex(P),k.isPublic=!1,k}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var R;_=i(R=f.getDecryptedKeyHex(t,e),0,[1],"02"),S=i(R,0,[2],"02"),b=i(R,0,[3],"02"),w=i(R,0,[4],"02"),F=i(R,0,[5],"02");return(P=new a).setPrivate(new E(_,16),new E(S,16),new E(b,16),new E(w,16),new E(F,16)),P}if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return f.getKeyFromEncryptedPKCS8PEM(t,e);throw"not supported argument"},tn.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new qe).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new qe,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new Er.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new Er.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new Er.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},tn.getPEM=function(t,e,r,n,i,o){var s=Er,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,f=a.ASN1Util.newObject,h=a.x509.SubjectPublicKeyInfo,l=s.crypto,p=l.DSA,d=l.ECDSA,g=qe;function v(t){return f({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return f({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return f({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==g&&t instanceof g||void 0!==p&&t instanceof p||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Kr(F=new h(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Kr(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),b=m(t).getEncodedHex(),w="";return w+=Kr(S,"EC PARAMETERS"),w+=Kr(b,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Kr(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate){F=m(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){F=_(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o)}var E=function t(e,r){var n=x(e,r);return new f({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:n.pbkdf2Salt}},{int:n.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:n.encryptionSchemeIV}}]}]}]},{octstr:{hex:n.ciphertext}}]}).getEncodedHex()},x=function t(e,r){var n=y.lib.WordArray.random(8),i=y.lib.WordArray.random(8),o=y.PBKDF2(r,n,{keySize:6,iterations:100}),s=y.enc.Hex.parse(e),a=y.TripleDES.encrypt(s,o,{iv:i})+"",u={};return u.ciphertext=a,u.pbkdf2Salt=y.enc.Hex.stringify(n),u.pbkdf2Iter=100,u.encryptionSchemeAlg="DES-EDE3-CBC",u.encryptionSchemeIV=y.enc.Hex.stringify(i),u};if("PKCS8PRV"==e&&void 0!=g&&t instanceof g&&1==t.isPrivate){var A=v(t).getEncodedHex();F=f({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Kr(F,"PRIVATE KEY"):Kr(b=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate){A=new f({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=f({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Kr(F,"PRIVATE KEY"):Kr(b=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==p&&t instanceof p&&1==t.isPrivate){A=new c({bigint:t.x}).getEncodedHex(),F=f({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Kr(F,"PRIVATE KEY"):Kr(b=E(F,r),"ENCRYPTED PRIVATE KEY")}throw"unsupported object nor format"},tn.getKeyFromCSRPEM=function(t){var e=qr(t,"CERTIFICATE REQUEST");return tn.getKeyFromCSRHex(e)},tn.getKeyFromCSRHex=function(t){var e=tn.parseCSRHex(t);return tn.getKey(e.p8pubkeyhex,null,"pkcs8pub")},tn.parseCSRHex=function(t){var e=kr,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},tn.getJWKFromKey=function(t){var e={};if(t instanceof qe&&t.isPrivate)return e.kty="RSA",e.n=Dr(t.n.toString(16)),e.e=Dr(t.e.toString(16)),e.d=Dr(t.d.toString(16)),e.p=Dr(t.p.toString(16)),e.q=Dr(t.q.toString(16)),e.dp=Dr(t.dmp1.toString(16)),e.dq=Dr(t.dmq1.toString(16)),e.qi=Dr(t.coeff.toString(16)),e;if(t instanceof qe&&t.isPublic)return e.kty="RSA",e.n=Dr(t.n.toString(16)),e.e=Dr(t.e.toString(16)),e;if(t instanceof Er.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=Dr(r.x),e.y=Dr(r.y),e.d=Dr(t.prvKeyHex),e}if(t instanceof Er.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=Dr(r.x),e.y=Dr(r.y),e}throw"not supported key object"},qe.getPosArrayOfChildrenFromHex=function(t){return kr.getChildIdx(t,0)},qe.getHexValueArrayOfChildrenFromHex=function(t){var e,r=kr.getV,n=r(t,(e=qe.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),f=r(t,e[7]),h=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,f,h),e},qe.prototype.readPrivateKeyFromPEMString=function(t){var e=qr(t),r=qe.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},qe.prototype.readPKCS5PrvKeyHex=function(t){var e=qe.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},qe.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=kr,f=c.getVbyList;if(!1===c.isASN1HEX(t))throw"not ASN.1 hex string";try{e=f(t,0,[2,0,1],"02"),r=f(t,0,[2,0,2],"02"),n=f(t,0,[2,0,3],"02"),i=f(t,0,[2,0,4],"02"),o=f(t,0,[2,0,5],"02"),s=f(t,0,[2,0,6],"02"),a=f(t,0,[2,0,7],"02"),u=f(t,0,[2,0,8],"02")}catch(t){throw"malformed PKCS#8 plain RSA private key"}this.setPrivateEx(e,r,n,i,o,s,a,u)},qe.prototype.readPKCS5PubKeyHex=function(t){var e=kr,r=e.getV;if(!1===e.isASN1HEX(t))throw"keyHex is not ASN.1 hex string";var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw"wrong hex for PKCS#5 public key";var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},qe.prototype.readPKCS8PubKeyHex=function(t){var e=kr;if(!1===e.isASN1HEX(t))throw"not ASN.1 hex string";if("06092a864886f70d010101"!==e.getTLVbyList(t,0,[0,0]))throw"not PKCS8 RSA public key";var r=e.getTLVbyList(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},qe.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new sn).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var en=new RegExp("");function rn(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function on(t){for(var e in Er.crypto.Util.DIGESTINFOHEAD){var r=Er.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function sn(){var t=kr,e=t.getChildIdx,r=t.getV,n=t.getTLV,i=t.getVbyList,o=t.getTLVbyList,s=t.getIdxbyList,a=t.getVidx,u=t.oidname,c=sn,f=qr;this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==o(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return i(this.hex,0,[0,1+this.foffset],"02")},this.getSignatureAlgorithmField=function(){return u(i(this.hex,0,[0,2+this.foffset,0],"06"))},this.getIssuerHex=function(){return o(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return c.hex2dn(this.getIssuerHex())},this.getSubjectHex=function(){return o(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return c.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=i(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getNotAfter=function(){var t=i(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getPublicKeyHex=function(){return t.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return s(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return s(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return tn.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){return u(i(this.hex,0,[1,0],"06"))},this.getSignatureValueHex=function(){return i(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmName(),r=this.getSignatureValueHex(),n=o(this.hex,0,[0],"30"),i=new Er.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(){if(3!==this.version)return-1;var r=s(this.hex,0,[0,7,0],"30"),n=e(this.hex,r);this.aExtInfo=new Array;for(var o=0;o0&&(c=new Array(r),(new He).nextBytes(c),c=String.fromCharCode.apply(String,c));var f=jr(u(Ur("\0\0\0\0\0\0\0\0"+i+c))),h=[];for(n=0;n>8*a-s&255;for(d[0]&=~g,n=0;nthis.n.bitLength())return 0;var n=on(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function t(e){return Er.crypto.Util.hashString(e,i)}(t)},qe.prototype.verifyWithMessageHash=function(t,e){var r=Ve(e=(e=e.replace(en,"")).replace(/[ \n]+/g,""),16);if(r.bitLength()>this.n.bitLength())return 0;var n=on(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;n[0];return n[1]==t},qe.prototype.verifyPSS=function(t,e,r,n){var i=function t(e){return Er.crypto.Util.hashHex(e,r)}(Ur(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},qe.prototype.verifyWithMessageHashPSS=function(t,e,r,n){var i=new E(e,16);if(i.bitLength()>this.n.bitLength())return!1;var o,s=function t(e){return Er.crypto.Util.hashHex(e,r)},a=jr(t),u=a.length,c=this.n.bitLength()-1,f=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=f-u-2;else if(n<-2)throw"invalid salt length";if(f>8*f-c&255;if(0!=(l.charCodeAt(0)&d))throw"bits beyond keysize not zero";var g=nn(p,l.length,s),v=[];for(o=0;o0)&&-1==(":"+n.join(":")+":").indexOf(":"+v+":"))throw"algorithm '"+v+"' not accepted in the list";if("none"!=v&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=tn.getKey(e)),!("RS"!=y&&"PS"!=y||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==y&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[g.alg])throw"unsupported alg name: "+v;if("none"==(m=s.jwsalg2sigalg[v]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new f({alg:m,pass:e});return _.updateString(p),d==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,b=null;try{b=c.concatSigToASN1Sig(d)}catch(t){return!1}return(S=new h({alg:m})).init(e),S.updateString(p),S.verify(b)}return(S=new h({alg:m})).init(e),S.updateString(p),S.verify(d)},Er.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=Er.jws.JWS.readSafeJSONString(Ar(e)),o.payloadObj=Er.jws.JWS.readSafeJSONString(Ar(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=Ar(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=Nr(n)),o},Er.jws.JWS.verifyJWT=function(t,e,n){var i=Er.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),f=c[0],h=c[1],l=(Nr(c[2]),s(Ar(f))),p=s(Ar(h));if(void 0===l.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(l.alg,n.alg))return!1;if(void 0!==p.iss&&"object"===r(n.iss)&&!a(p.iss,n.iss))return!1;if(void 0!==p.sub&&"object"===r(n.sub)&&!a(p.sub,n.sub))return!1;if(void 0!==p.aud&&"object"===r(n.aud))if("string"==typeof p.aud){if(!a(p.aud,n.aud))return!1}else if("object"==r(p.aud)&&!u(p.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==p.exp&&"number"==typeof p.exp&&p.exp+n.gracePeriodr.length&&(n=r.length);for(var i=0;i=0;)delete i[o[f]]}return a.call(e,n,i)}({"":u},"")}return u}}();void 0!==br&&br||(e.KJUR=br={}),void 0!==br.asn1&&br.asn1||(br.asn1={}),br.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},br.asn1.DERAbstractString=function(t){br.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Or(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(br.asn1.DERAbstractString,br.asn1.ASN1Object),br.asn1.DERAbstractTime=function(t){br.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());"utc"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+"."+(u=u.replace(/[0]+$/,""))}}return s+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=kr(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(br.asn1.DERAbstractTime,br.asn1.ASN1Object),br.asn1.DERAbstractStructured=function(t){br.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(br.asn1.DERAbstractStructured,br.asn1.ASN1Object),br.asn1.DERBoolean=function(t){br.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},o.lang.extend(br.asn1.DERBoolean,br.asn1.ASN1Object),br.asn1.DERInteger=function(t){br.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=br.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(br.asn1.DERInteger,br.asn1.ASN1Object),br.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=br.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}br.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}function Gr(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?zr(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Yr(t){for(var e=encodeURIComponent(t),r="",n=0;n"7"?"00"+t:t}Er.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},Er.getNthChildIdx=function(t,e,r){return Er.getChildIdx(t,e)[r]},Er.getIdxbyList=function(t,e,r,n){var i,o,s=Er;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},Er.getIdxbyListEx=function(t,e,r,n){var i,o,s=Er;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},Er.getTLVbyListEx=function(t,e,r,n){var i=Er,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},Er.getVbyList=function(t,e,r,n,i){var o,s,a=Er;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},Er.getVbyListEx=function(t,e,r,n,i){var o,s,a=Er;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),"03"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},Er.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=Er.getV(t,e);return"02"==n?parseInt(i,16):function o(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},Er.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function n(t){if(!Xr(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+"."+a.join(".")),c}catch(t){return null}}(Er.getV(t,e))}catch(t){return r}},Er.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=Er.getOID(t,e,r);if(n==r)return r;var i=br.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},Er.getString=function(t,e,r){null==r&&(r=null);try{return Lr(Er.getV(t,e))}catch(t){return r}},Er.hextooidstr=function(t){var e=function t(e,r){return e.length>=r?e:new Array(r-e.length+1).join("0")+e},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(f=f+"."+u.join(".")),f},Er.dump=function(t,e,r,n){var i=Er,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof br.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function t(e,r){return e.length<=2*r?e:e.substr(0,r)+"..(total "+e.length/2+"bytes).."+e.substr(e.length-r,r)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var f,h=e.ommit_long_octet;if("01"==(f=u.substr(r,2)))return"00"==(l=o(u,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==f)return n+"INTEGER "+c(l=o(u,r),h)+"\n";if("03"==f){var l=o(u,r);if(i.isASN1HEX(l.substr(2))){var p=n+"BITSTRING, encapsulates\n";return p+=s(l.substr(2),e,0,n+" ")}return n+"BITSTRING "+c(l,h)+"\n"}if("04"==f){l=o(u,r);if(i.isASN1HEX(l)){p=n+"OCTETSTRING, encapsulates\n";return p+=s(l,e,0,n+" ")}return n+"OCTETSTRING "+c(l,h)+"\n"}if("05"==f)return n+"NULL\n";if("06"==f){var g=o(u,r),d=br.asn1.ASN1Util.oidHexToInt(g),v=br.asn1.x509.OID.oid2name(d),y=d.replace(/\./g," ");return""!=v?n+"ObjectIdentifier "+v+" ("+y+")\n":n+"ObjectIdentifier ("+y+")\n"}if("0a"==f)return n+"ENUMERATED "+parseInt(o(u,r))+"\n";if("0c"==f)return n+"UTF8String '"+Nr(o(u,r))+"'\n";if("13"==f)return n+"PrintableString '"+Nr(o(u,r))+"'\n";if("14"==f)return n+"TeletexString '"+Nr(o(u,r))+"'\n";if("16"==f)return n+"IA5String '"+Nr(o(u,r))+"'\n";if("17"==f)return n+"UTCTime "+Nr(o(u,r))+"\n";if("18"==f)return n+"GeneralizedTime "+Nr(o(u,r))+"\n";if("1a"==f)return n+"VisualString '"+Nr(o(u,r))+"'\n";if("1e"==f)return n+"BMPString '"+Nr(o(u,r))+"'\n";if("30"==f){if("3000"==u.substr(r,4))return n+"SEQUENCE {}\n";p=n+"SEQUENCE\n";var m=e;if((2==(b=a(u,r)).length||3==b.length)&&"06"==u.substr(b[0],2)&&"04"==u.substr(b[b.length-1],2)){v=i.oidname(o(u,b[0]));var _=JSON.parse(JSON.stringify(e));_.x509ExtName=v,m=_}for(var S=0;S31)&&(128==(192&r)&&(31&r)==n))}catch(t){return!1}},Er.isASN1HEX=function(t){var e=Er;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},Er.checkStrictDER=function(t,e,r,n,i){var o=Er;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!br.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var s=o.getVblen(t,e);if(s>n)throw new Error("value of L too long than hex: idx="+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error("V string length and L's value not the same:"+u+"/"+2*s);if(0===e&&t.length!=a.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+a.length);var c=t.substr(e,2);if("02"===c){var f=o.getVidx(t,e);if("00"==t.substr(f,2)&&t.charCodeAt(f+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var h=o.getVblen(t,e),l=0,p=o.getChildIdx(t,e),g=0;g=r?e:new Array(r-e.length+1).join(n)+e};void 0!==br&&br||(e.KJUR=br={}),void 0!==br.crypto&&br.crypto||(br.crypto={}),br.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var o="0001",s="00"+n,a="",u=i-o.length-s.length,c=0;c=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error("Signature not a valid DERSequence");if(2!=t[e=2])throw new Error("First element in signature must be a DERInteger");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error("Second element in signature must be a DERInteger");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw"Signature has the wrong length";var e=t[0]-27;if(e<0||e>7)throw"Invalid signature type";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===f(t))throw new Error("not ASN.1 hex string");var e,r,n;try{e=c(t,0,["[0]",0],"06"),r=c(t,0,[1],"04");try{n=c(t,0,["[1]",0],"03")}catch(t){}}catch(t){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=a(e),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===f(t))throw new e("not ASN.1 hex string");var r,n,i;try{c(t,0,[1,0],"06"),r=c(t,0,[1,1],"06"),n=c(t,0,[2,0,1],"04");try{i=c(t,0,[2,0,"[1]",0],"03")}catch(t){}}catch(t){throw new e("malformed PKCS#8 plain ECC private key")}if(this.curveName=a(r),void 0===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===f(t))throw new e("not ASN.1 hex string");var r,n;try{c(t,0,[0,0],"06"),r=c(t,0,[0,1],"06"),n=c(t,0,[1],"03")}catch(t){throw new e("malformed PKCS#8 ECC public key")}if(this.curveName=a(r),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===f(t))throw new e("not ASN.1 hex string");var n,i;try{n=c(t,0,[0,5,0,1],"06"),i=c(t,0,[0,5,1],"03")}catch(t){throw new e("malformed X.509 certificate ECC public key")}if(this.curveName=a(n),null===this.curveName)throw new e("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName="secp256r1"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},br.crypto.ECDSA.parseSigHex=function(t){var e=br.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},br.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=Er,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),"30"!=t.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var i=r(t,0);if(2!=i.length)throw new Error("signature shall have two elements");var o=i[0],s=i[1];if("02"!=t.substr(o,2))throw new Error("1st item not ASN.1 integer");if("02"!=t.substr(s,2))throw new Error("2nd item not ASN.1 integer");return{r:n(t,o),s:n(t,s)}},br.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=br.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if("00"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r="00"+r),n.length%32==30&&(n="00"+n),r.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return r+n},br.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig length error";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return br.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},br.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return br.crypto.ECDSA.biRSSigToASN1Sig(r,n)},br.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=br.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},br.crypto.ECDSA.getName=function(t){return"2b8104001f"===t?"secp192k1":"2a8648ce3d030107"===t?"secp256r1":"2b8104000a"===t?"secp256k1":"2b81040021"===t?"secp224r1":"2b81040022"===t?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(t)?"secp256r1":-1!=="|secp256k1|".indexOf(t)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(t)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(t)?"secp384r1":null},void 0!==br&&br||(e.KJUR=br={}),void 0!==br.crypto&&br.crypto||(br.crypto={}),br.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw"unregistered EC curve name: "+n},this.regist=function(n,i,o,s,a,u,c,f,h,l,p,g){t[n]={};var d=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new qe(d,v,y),b=S.decodePointHex("04"+f+h);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=b,t[n].n=m,t[n].h=_,t[n].oid=p,t[n].info=g;for(var w=0;w=2*u)break}var l={};return l.keyhex=c.substr(0,2*i[e].keylen),l.ivhex=c.substr(2*i[e].keylen,2*i[e].ivlen),l},a=function t(e,r,n,o){var s=y.enc.Base64.parse(e),a=y.enc.Hex.stringify(s);return(0,i[r].proc)(a,n,o)};return{version:"1.0.0",parsePKCS5PEM:function t(e){return o(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function t(e,r,n){return s(e,r,n)},decryptKeyB64:function t(e,r,n,i){return a(e,r,n,i)},getDecryptedKeyHex:function t(e,r){var n=o(e),i=(n.type,n.cipher),u=n.ivsalt,c=n.data,f=s(i,r,u).keyhex;return a(c,i,f,u)},getEncryptedPKCS5PEMFromPrvKeyHex:function t(e,r,n,o,a){var u="";if(void 0!==o&&null!=o||(o="AES-256-CBC"),void 0===i[o])throw"KEYUTIL unsupported algorithm: "+o;void 0!==a&&null!=a||(a=function t(e){var r=y.lib.WordArray.random(e);return y.enc.Hex.stringify(r)}(i[o].ivlen).toUpperCase());var c=function t(e,r,n,o){return(0,i[r].eproc)(e,n,o)}(r,o,s(o,n,a).keyhex,a);u="-----BEGIN "+e+" PRIVATE KEY-----\r\n";return u+="Proc-Type: 4,ENCRYPTED\r\n",u+="DEK-Info: "+o+","+a+"\r\n",u+="\r\n",u+=c.replace(/(.{64})/g,"$1\r\n"),u+="\r\n-----END "+e+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={},s=n(e,0);if(2!=s.length)throw"malformed format: SEQUENCE(0).items != 2: "+s.length;o.ciphertext=i(e,s[1]);var a=n(e,s[0]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+a.length;if("2a864886f70d01050d"!=i(e,a[0]))throw"this only supports pkcs5PBES2";var u=n(e,a[1]);if(2!=a.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+u.length;var c=n(e,u[1]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+c.length;if("2a864886f70d0307"!=i(e,c[0]))throw"this only supports TripleDES";o.encryptionSchemeAlg="TripleDES",o.encryptionSchemeIV=i(e,c[1]);var f=n(e,u[0]);if(2!=f.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+f.length;if("2a864886f70d01050c"!=i(e,f[0]))throw"this only supports pkcs5PBKDF2";var h=n(e,f[1]);if(h.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+h.length;o.pbkdf2Salt=i(e,h[0]);var l=i(e,h[1]);try{o.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return o},getPBKDF2KeyHexFromParam:function t(e,r){var n=y.enc.Hex.parse(e.pbkdf2Salt),i=e.pbkdf2Iter,o=y.PBKDF2(r,n,{keySize:6,iterations:i});return y.enc.Hex.stringify(o)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function t(e,r){var n=Hr(e,"ENCRYPTED PRIVATE KEY"),i=this.parseHexOfEncryptedPKCS8(n),o=Zr.getPBKDF2KeyHexFromParam(i,r),s={};s.ciphertext=y.enc.Hex.parse(i.ciphertext);var a=y.enc.Hex.parse(o),u=y.enc.Hex.parse(i.encryptionSchemeIV),c=y.TripleDES.decrypt(s,a,{iv:u});return y.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function t(e,r){var n=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,r);return this.getKeyFromPlainPrivatePKCS8Hex(n)},parsePlainPrivatePKCS8Hex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={algparam:null};if("30"!=e.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var s=n(e,0);if(3!=s.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=e.substr(s[1],2))throw"malformed PKCS8 private key(code:003)";var a=n(e,s[1]);if(2!=a.length)throw"malformed PKCS8 private key(code:004)";if("06"!=e.substr(a[0],2))throw"malformed PKCS8 private key(code:005)";if(o.algoid=i(e,a[0]),"06"==e.substr(a[1],2)&&(o.algparam=i(e,a[1])),"04"!=e.substr(s[2],2))throw"malformed PKCS8 private key(code:006)";return o.keyidx=r.getVidx(e,s[2]),o},getKeyFromPlainPrivatePKCS8PEM:function t(e){var r=Hr(e,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(r)},getKeyFromPlainPrivatePKCS8Hex:function t(e){var r,n=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==n.algoid)r=new He;else if("2a8648ce380401"==n.algoid)r=new br.crypto.DSA;else{if("2a8648ce3d0201"!=n.algoid)throw"unsupported private key algorithm";r=new br.crypto.ECDSA}return r.readPKCS8PrvKeyHex(e),r},_getKeyFromPublicPKCS8Hex:function t(e){var r,n=Er.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===n)r=new He;else if("2a8648ce380401"===n)r=new br.crypto.DSA;else{if("2a8648ce3d0201"!==n)throw"unsupported PKCS#8 public key hex";r=new br.crypto.ECDSA}return r.readPKCS8PubKeyHex(e),r},parsePublicRawRSAKeyHex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={};if("30"!=e.substr(0,2))throw"malformed RSA key(code:001)";var s=n(e,0);if(2!=s.length)throw"malformed RSA key(code:002)";if("02"!=e.substr(s[0],2))throw"malformed RSA key(code:003)";if(o.n=i(e,s[0]),"02"!=e.substr(s[1],2))throw"malformed RSA key(code:004)";return o.e=i(e,s[1]),o},parsePublicPKCS8Hex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={algparam:null},s=n(e,0);if(2!=s.length)throw"outer DERSequence shall have 2 elements: "+s.length;var a=s[0];if("30"!=e.substr(a,2))throw"malformed PKCS8 public key(code:001)";var u=n(e,a);if(2!=u.length)throw"malformed PKCS8 public key(code:002)";if("06"!=e.substr(u[0],2))throw"malformed PKCS8 public key(code:003)";if(o.algoid=i(e,u[0]),"06"==e.substr(u[1],2)?o.algparam=i(e,u[1]):"30"==e.substr(u[1],2)&&(o.algparam={},o.algparam.p=r.getVbyList(e,u[1],[0],"02"),o.algparam.q=r.getVbyList(e,u[1],[1],"02"),o.algparam.g=r.getVbyList(e,u[1],[2],"02")),"03"!=e.substr(s[1],2))throw"malformed PKCS8 public key(code:004)";return o.key=i(e,s[1]).substr(2),o}}}();Zr.getKey=function(t,e,r){var n=(v=Er).getChildIdx,i=(v.getV,v.getVbyList),o=br.crypto,s=o.ECDSA,a=o.DSA,u=He,c=Hr,f=Zr;if(void 0!==u&&t instanceof u)return t;if(void 0!==s&&t instanceof s)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new s({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new s({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(k=new u).setPublic(t.n,t.e),k;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(k=new u).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),k;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(k=new u).setPrivate(t.n,t.e,t.d),k;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(k=new a).setPublic(t.p,t.q,t.g,t.y),k;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(k=new a).setPrivate(t.p,t.q,t.g,t.y,t.x),k;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(k=new u).setPublic(Ir(t.n),Ir(t.e)),k;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(k=new u).setPrivateEx(Ir(t.n),Ir(t.e),Ir(t.d),Ir(t.p),Ir(t.q),Ir(t.dp),Ir(t.dq),Ir(t.qi)),k;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(k=new u).setPrivate(Ir(t.n),Ir(t.e),Ir(t.d)),k;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var h=(P=new s({curve:t.crv})).ecparams.keylen/4,l="04"+("0000000000"+Ir(t.x)).slice(-h)+("0000000000"+Ir(t.y)).slice(-h);return P.setPublicKeyHex(l),P}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){h=(P=new s({curve:t.crv})).ecparams.keylen/4,l="04"+("0000000000"+Ir(t.x)).slice(-h)+("0000000000"+Ir(t.y)).slice(-h);var p=("0000000000"+Ir(t.d)).slice(-h);return P.setPublicKeyHex(l),P.setPrivateKeyHex(p),P}if("pkcs5prv"===r){var g,d=t,v=Er;if(9===(g=n(d,0)).length)(k=new u).readPKCS5PrvKeyHex(d);else if(6===g.length)(k=new a).readPKCS5PrvKeyHex(d);else{if(!(g.length>2&&"04"===d.substr(g[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(k=new s).readPKCS5PrvKeyHex(d)}return k}if("pkcs8prv"===r)return k=f.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return f._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return on.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return on.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var y=Hr(t,"PUBLIC KEY");return f._getKeyFromPublicPKCS8Hex(y)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var m=c(t,"RSA PRIVATE KEY");return f.getKey(m,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var _=i(R=c(t,"DSA PRIVATE KEY"),0,[1],"02"),S=i(R,0,[2],"02"),b=i(R,0,[3],"02"),w=i(R,0,[4],"02"),E=i(R,0,[5],"02");return(k=new a).setPrivate(new F(_,16),new F(S,16),new F(b,16),new F(w,16),new F(E,16)),k}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){m=c(t,"EC PRIVATE KEY");return f.getKey(m,null,"pkcs5prv")}if(-1!=t.indexOf("-END PRIVATE KEY-"))return f.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var x=f.getDecryptedKeyHex(t,e),A=new He;return A.readPKCS5PrvKeyHex(x),A}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var P,k=i(R=f.getDecryptedKeyHex(t,e),0,[1],"04"),T=i(R,0,[2,0],"06"),C=i(R,0,[3,0],"03").substr(2);if(void 0===br.crypto.OID.oidhex2name[T])throw"undefined OID(hex) in KJUR.crypto.OID: "+T;return(P=new s({curve:br.crypto.OID.oidhex2name[T]})).setPublicKeyHex(C),P.setPrivateKeyHex(k),P.isPublic=!1,P}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var R;_=i(R=f.getDecryptedKeyHex(t,e),0,[1],"02"),S=i(R,0,[2],"02"),b=i(R,0,[3],"02"),w=i(R,0,[4],"02"),E=i(R,0,[5],"02");return(k=new a).setPrivate(new F(_,16),new F(S,16),new F(b,16),new F(w,16),new F(E,16)),k}if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return f.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},Zr.generateKeypair=function(t,e){if("RSA"==t){var r=e;(s=new He).generate(r,"10001"),s.isPrivate=!0,s.isPublic=!0;var n=new He,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if("EC"==t){var s,a,u=e,c=new br.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new br.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new br.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw"unknown algorithm: "+t},Zr.getPEM=function(t,e,r,n,i,o){var s=br,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,f=a.ASN1Util.newObject,h=a.x509.SubjectPublicKeyInfo,l=s.crypto,p=l.DSA,g=l.ECDSA,d=He;function v(t){return f({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return f({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function _(t){return f({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==d&&t instanceof d||void 0!==p&&t instanceof p||void 0!==g&&t instanceof g)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return Br(F=new h(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate)return Br(F=v(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),b=m(t).getEncodedHex(),w="";return w+=Br(S,"EC PARAMETERS"),w+=Br(b,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Br(F=_(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate){F=m(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",F,r,n,o)}if("PKCS5PRV"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){F=_(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",F,r,n,o)}var E=function t(e,r){var n=x(e,r);return new f({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:n.pbkdf2Salt}},{int:n.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:n.encryptionSchemeIV}}]}]}]},{octstr:{hex:n.ciphertext}}]}).getEncodedHex()},x=function t(e,r){var n=y.lib.WordArray.random(8),i=y.lib.WordArray.random(8),o=y.PBKDF2(r,n,{keySize:6,iterations:100}),s=y.enc.Hex.parse(e),a=y.TripleDES.encrypt(s,o,{iv:i})+"",u={};return u.ciphertext=a,u.pbkdf2Salt=y.enc.Hex.stringify(n),u.pbkdf2Iter=100,u.encryptionSchemeAlg="DES-EDE3-CBC",u.encryptionSchemeIV=y.enc.Hex.stringify(i),u};if("PKCS8PRV"==e&&null!=d&&t instanceof d&&1==t.isPrivate){var A=v(t).getEncodedHex();F=f({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Br(F,"PRIVATE KEY"):Br(b=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate){A=new f({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),F=f({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Br(F,"PRIVATE KEY"):Br(b=E(F,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==p&&t instanceof p&&1==t.isPrivate){A=new c({bigint:t.x}).getEncodedHex(),F=f({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Br(F,"PRIVATE KEY"):Br(b=E(F,r),"ENCRYPTED PRIVATE KEY")}throw new Error("unsupported object nor format")},Zr.getKeyFromCSRPEM=function(t){var e=Hr(t,"CERTIFICATE REQUEST");return Zr.getKeyFromCSRHex(e)},Zr.getKeyFromCSRHex=function(t){var e=Zr.parseCSRHex(t);return Zr.getKey(e.p8pubkeyhex,null,"pkcs8pub")},Zr.parseCSRHex=function(t){var e=Er,r=e.getChildIdx,n=e.getTLV,i={},o=t;if("30"!=o.substr(0,2))throw"malformed CSR(code:001)";var s=r(o,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=o.substr(s[0],2))throw"malformed CSR(code:003)";var a=r(o,s[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(o,a[2]),i},Zr.getKeyID=function(t){var e=Zr,r=Er;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=Hr(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return br.crypto.Util.hashHex(o,"sha1")},Zr.getJWKFromKey=function(t){var e={};if(t instanceof He&&t.isPrivate)return e.kty="RSA",e.n=Rr(t.n.toString(16)),e.e=Rr(t.e.toString(16)),e.d=Rr(t.d.toString(16)),e.p=Rr(t.p.toString(16)),e.q=Rr(t.q.toString(16)),e.dp=Rr(t.dmp1.toString(16)),e.dq=Rr(t.dmq1.toString(16)),e.qi=Rr(t.coeff.toString(16)),e;if(t instanceof He&&t.isPublic)return e.kty="RSA",e.n=Rr(t.n.toString(16)),e.e=Rr(t.e.toString(16)),e;if(t instanceof br.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=Rr(r.x),e.y=Rr(r.y),e.d=Rr(t.prvKeyHex),e}if(t instanceof br.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=Rr(r.x),e.y=Rr(r.y),e}throw"not supported key object"},He.getPosArrayOfChildrenFromHex=function(t){return Er.getChildIdx(t,0)},He.getHexValueArrayOfChildrenFromHex=function(t){var e,r=Er.getV,n=r(t,(e=He.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),f=r(t,e[7]),h=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,f,h),e},He.prototype.readPrivateKeyFromPEMString=function(t){var e=Hr(t),r=He.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},He.prototype.readPKCS5PrvKeyHex=function(t){var e=He.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},He.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=Er,f=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=f(t,0,[2,0,1],"02"),r=f(t,0,[2,0,2],"02"),n=f(t,0,[2,0,3],"02"),i=f(t,0,[2,0,4],"02"),o=f(t,0,[2,0,5],"02"),s=f(t,0,[2,0,6],"02"),a=f(t,0,[2,0,7],"02"),u=f(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,o,s,a,u)},He.prototype.readPKCS5PubKeyHex=function(t){var e=Er,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},He.prototype.readPKCS8PubKeyHex=function(t){var e=Er;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},He.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new on).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var tn=new RegExp("[^0-9a-f]","gi");function en(t,e){for(var r="",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function nn(t){for(var e in br.crypto.Util.DIGESTINFOHEAD){var r=br.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function on(t){var e,r=Er,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,f=r.getIdxbyList,h=r.getIdxbyListEx,l=r.getVidx,p=r.oidname,g=r.hextooidstr,d=on,v=Hr;try{e=br.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return p(a(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return d.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return d.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return f(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return f(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return Zr.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],"30"),i=new br.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=f(a,0,[0,7,0],"30"),o=n(a,e)}else{a=Hr(t);var u=f(a,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(a,u))return void(this.aExtInfo=new Array);e=f(a,0,[0,3,0,1,0],"30"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);"0101ff"==c&&(i.reqauth=!0),"010100"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&(-1!=h(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30")));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new je).nextBytes(c),c=String.fromCharCode.apply(String,c));var f=Lr(u(Dr("\0\0\0\0\0\0\0\0"+i+c))),h=[];for(n=0;n>8*a-s&255;for(g[0]&=~d,n=0;nthis.n.bitLength())return 0;var n=nn(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;var i=n[0];return n[1]==function t(e){return br.crypto.Util.hashString(e,i)}(t)},He.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=Ue(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=nn(this.doPublic(r).toString(16).replace(/^1f+00/,""));if(0==n.length)return!1;n[0];return n[1]==t},He.prototype.verifyPSS=function(t,e,r,n){var i=function t(e){return br.crypto.Util.hashHex(e,r)}(Dr(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},He.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function t(e){return br.crypto.Util.hashHex(e,r)},a=Lr(t),u=a.length,c=this.n.bitLength()-1,f=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=f-u-2;else if(n<-2)throw new Error("invalid salt length");if(f>8*f-c&255;if(0!=(l.charCodeAt(0)&g))throw new Error("bits beyond keysize not zero");var d=rn(p,l.length,s),v=[];for(i=0;i0)&&-1==(":"+n.join(":")+":").indexOf(":"+v+":"))throw"algorithm '"+v+"' not accepted in the list";if("none"!=v&&null===e)throw"key shall be specified to verify.";if("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&(e=Zr.getKey(e)),!("RS"!=y&&"PS"!=y||e instanceof i))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==y&&!(e instanceof c))throw"key shall be a ECDSA obj for ES* algs";var m=null;if(void 0===s.jwsalg2sigalg[d.alg])throw"unsupported alg name: "+v;if("none"==(m=s.jwsalg2sigalg[v]))throw"not supported";if("Hmac"==m.substr(0,4)){if(void 0===e)throw"hexadecimal key shall be specified for HMAC";var _=new f({alg:m,pass:e});return _.updateString(p),g==_.doFinal()}if(-1!=m.indexOf("withECDSA")){var S,b=null;try{b=c.concatSigToASN1Sig(g)}catch(t){return!1}return(S=new h({alg:m})).init(e),S.updateString(p),S.verify(b)}return(S=new h({alg:m})).init(e),S.updateString(p),S.verify(g)},br.jws.JWS.parse=function(t){var e,r,n,i=t.split("."),o={};if(2!=i.length&&3!=i.length)throw"malformed sJWS: wrong number of '.' splitted elements";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=br.jws.JWS.readSafeJSONString(Fr(e)),o.payloadObj=br.jws.JWS.readSafeJSONString(Fr(r)),o.headerPP=JSON.stringify(o.headerObj,null," "),null==o.payloadObj?o.payloadPP=Fr(r):o.payloadPP=JSON.stringify(o.payloadObj,null," "),void 0!==n&&(o.sigHex=Ir(n)),o},br.jws.JWS.verifyJWT=function(t,e,n){var i=br.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split("."),f=c[0],h=c[1],l=(Ir(c[2]),s(Fr(f))),p=s(Fr(h));if(void 0===l.alg)return!1;if(void 0===n.alg)throw"acceptField.alg shall be specified";if(!a(l.alg,n.alg))return!1;if(void 0!==p.iss&&"object"===r(n.iss)&&!a(p.iss,n.iss))return!1;if(void 0!==p.sub&&"object"===r(n.sub)&&!a(p.sub,n.sub))return!1;if(void 0!==p.aud&&"object"===r(n.aud))if("string"==typeof p.aud){if(!a(p.aud,n.aud))return!1}else if("object"==r(p.aud)&&!u(p.aud,n.aud))return!1;var g=i.IntDate.getNow();return void 0!==n.verifyAt&&"number"==typeof n.verifyAt&&(g=n.verifyAt),void 0!==n.gracePeriod&&"number"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==p.exp&&"number"==typeof p.exp&&p.exp+n.gracePeriodr.length&&(n=r.length);for(var i=0;i + * @author Feross Aboukhadijeh * @license MIT */ -var n=r(361),i=r(362),o=r(363);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return V(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return K(t).length;default:if(n)return V(t).length;e=(""+e).toLowerCase(),n=!0}}function g(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function v(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:y(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var f=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var h=!0,l=0;li&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function E(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(f=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(f=u)}null===f?(f=65533,h=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=h}return function l(t){var e=t.length;if(e<=P)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,n);case"utf8":case"utf-8":return x(this,e,n);case"ascii":return C(this,e,n);case"latin1":case"binary":return T(this,e,n);case"base64":return E(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,n);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}.apply(this,arguments)},u.prototype.equals=function t(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function t(){var r="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(r=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(r+=" ... ")),""},u.prototype.compare=function t(e,r,n,i,o){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,o>>>=0,this===e)return 0;for(var s=o-i,a=n-r,c=Math.min(s,a),f=this.slice(i,o),h=e.slice(r,n),l=0;lo)&&(n=o),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return m(this,e,r,n);case"utf8":case"utf-8":return _(this,e,r,n);case"ascii":return S(this,e,r,n);case"latin1":case"binary":return b(this,e,r,n);case"base64":return w(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},u.prototype.toJSON=function t(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var P=4096;function C(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function L(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function M(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function j(t,e,r,n,o){return o||M(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function U(t,e,r,n,o){return o||M(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function t(e,r){var n,i=this.length;if(e=~~e,r=void 0===r?i:~~r,e<0?(e+=i)<0&&(e=0):e>i&&(e=i),r<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(o*=256);)i+=this[e+--r]*o;return i},u.prototype.readUInt8=function t(e,r){return r||O(e,1,this.length),this[e]},u.prototype.readUInt16LE=function t(e,r){return r||O(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function t(e,r){return r||O(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function t(e,r){return r||O(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function t(e,r){return r||O(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function t(e,r,n){e|=0,r|=0,n||O(e,r,this.length);for(var i=this[e],o=1,s=0;++s=(o*=128)&&(i-=Math.pow(2,8*r)),i},u.prototype.readIntBE=function t(e,r,n){e|=0,r|=0,n||O(e,r,this.length);for(var i=r,o=1,s=this[e+--i];i>0&&(o*=256);)s+=this[e+--i]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*r)),s},u.prototype.readInt8=function t(e,r){return r||O(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function t(e,r){r||O(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function t(e,r){r||O(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function t(e,r){return r||O(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function t(e,r){return r||O(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function t(e,r){return r||O(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function t(e,r){return r||O(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function t(e,r){return r||O(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function t(e,r){return r||O(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function t(e,r,n,i){(e=+e,r|=0,n|=0,i)||D(this,e,r,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[r]=255&e;++s=0&&(s*=256);)this[r+o]=e/s&255;return r+n},u.prototype.writeUInt8=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},u.prototype.writeUInt16LE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):N(this,e,r,!0),r+2},u.prototype.writeUInt16BE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):N(this,e,r,!1),r+2},u.prototype.writeUInt32LE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):L(this,e,r,!0),r+4},u.prototype.writeUInt32BE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):L(this,e,r,!1),r+4},u.prototype.writeIntLE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);D(this,e,r,n,o-1,-o)}var s=0,a=1,u=0;for(this[r]=255&e;++s>0)-u&255;return r+n},u.prototype.writeIntBE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);D(this,e,r,n,o-1,-o)}var s=n-1,a=1,u=0;for(this[r+s]=255&e;--s>=0&&(a*=256);)e<0&&0===u&&0!==this[r+s+1]&&(u=1),this[r+s]=(e/a>>0)-u&255;return r+n},u.prototype.writeInt8=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},u.prototype.writeInt16LE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):N(this,e,r,!0),r+2},u.prototype.writeInt16BE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):N(this,e,r,!1),r+2},u.prototype.writeInt32LE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):L(this,e,r,!0),r+4},u.prototype.writeInt32BE=function t(e,r,n){return e=+e,r|=0,n||D(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):L(this,e,r,!1),r+4},u.prototype.writeFloatLE=function t(e,r,n){return j(this,e,r,!0,n)},u.prototype.writeFloatBE=function t(e,r,n){return j(this,e,r,!1,n)},u.prototype.writeDoubleLE=function t(e,r,n){return U(this,e,r,!0,n)},u.prototype.writeDoubleBE=function t(e,r,n){return U(this,e,r,!1,n)},u.prototype.copy=function t(e,r,n,i){if(n||(n=0),i||0===i||(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r=0;--o)e[o+r]=this[o+n];else if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=r;s55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function K(t){return n.toByteArray(function e(t){if((t=function e(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(B,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function q(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(71))},function(t,e,r){"use strict";e.byteLength=function n(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function i(t){for(var e,r=l(t),n=r[0],i=r[1],o=new u(function s(t,e,r){return 3*(e+r)/4-r}(0,n,i)),c=0,f=i>0?n-4:n,h=0;h>16&255,o[c++]=e>>8&255,o[c++]=255&e;2===i&&(e=a[t.charCodeAt(h)]<<2|a[t.charCodeAt(h+1)]>>4,o[c++]=255&e);1===i&&(e=a[t.charCodeAt(h)]<<10|a[t.charCodeAt(h+1)]<<4|a[t.charCodeAt(h+2)]>>2,o[c++]=e>>8&255,o[c++]=255&e);return o},e.fromByteArray=function o(t){for(var e,r=t.length,n=r%3,i=[],o=0,a=r-n;oa?a:o+16383));1===n?(e=t[r-1],i.push(s[e>>2]+s[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(s[e>>10]+s[e>>4&63]+s[e<<2&63]+"="));return i.join("")};for(var s=[],a=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,h=c.length;f0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function p(t,e,r){for(var n,i,o=[],a=e;a>18&63]+s[i>>12&63]+s[i>>6&63]+s[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,f=-7,h=r?i-1:0,l=r?-1:1,p=t[e+h];for(h+=l,o=p&(1<<-f)-1,p>>=-f,f+=a;f>0;o=256*o+t[e+h],h+=l,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=256*s+t[e+h],h+=l,f-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),o-=c}return(p?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,f=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+h>=1?l/u:l*Math.pow(2,1-h))*u>=2&&(s++,u/=2),s+h>=f?(a=0,s=f):s+h>=1?(a=(e*u-1)*Math.pow(2,i),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[r+p]=255&a,p+=d,a/=256,i-=8);for(s=s<0;t[r+p]=255&s,p+=d,s/=256,c-=8);t[r+p-d]|=128*g}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function n(t){var e=t.jws,r=t.KeyUtil,n=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){i.Log.debug("JoseUtil.parseJwt");try{var n=e.JWS.parse(r);return{header:n.headerObj,payload:n.payloadObj}}catch(t){i.Log.error(t)}},t.validateJwt=function e(o,s,u,c,f,h,l){i.Log.debug("JoseUtil.validateJwt");try{if("RSA"===s.kty)if(s.e&&s.n)s=r.getKey(s);else{if(!s.x5c||!s.x5c.length)return i.Log.error("JoseUtil.validateJwt: RSA key missing key material",s),Promise.reject(new Error("RSA key missing key material"));var p=a(s.x5c[0]);s=n.getPublicKeyFromCertHex(p)}else{if("EC"!==s.kty)return i.Log.error("JoseUtil.validateJwt: Unsupported key type",s&&s.kty),Promise.reject(new Error(s.kty));if(!(s.crv&&s.x&&s.y))return i.Log.error("JoseUtil.validateJwt: EC key missing key material",s),Promise.reject(new Error("EC key missing key material"));s=r.getKey(s)}return t._validateJwt(o,s,u,c,f,h,l)}catch(t){return i.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function e(r,n,o,s,a,u){s||(s=0),a||(a=parseInt(Date.now()/1e3));var c=t.parseJwt(r).payload;if(!c.iss)return i.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(c.iss!==n)return i.Log.error("JoseUtil._validateJwt: Invalid issuer in token",c.iss),Promise.reject(new Error("Invalid issuer in token: "+c.iss));if(!c.aud)return i.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));var f=c.aud===o||Array.isArray(c.aud)&&c.aud.indexOf(o)>=0;if(!f)return i.Log.error("JoseUtil._validateJwt: Invalid audience in token",c.aud),Promise.reject(new Error("Invalid audience in token: "+c.aud));if(c.azp&&c.azp!==o)return i.Log.error("JoseUtil._validateJwt: Invalid azp in token",c.azp),Promise.reject(new Error("Invalid azp in token: "+c.azp));if(!u){var h=a+s,l=a-s;if(!c.iat)return i.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(h>>((3&r)<<3)&255;return i}}},function(t,e){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);t.exports=function i(t,e){var n=e||0,i=r;return[i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],"-",i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]],i[t[n++]]].join("")}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SigninResponse=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:"#";!function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var o=i.UrlUtility.parseUrlFragment(e,r);this.error=o.error,this.error_description=o.error_description,this.error_uri=o.error_uri,this.code=o.code,this.state=o.state,this.id_token=o.id_token,this.session_state=o.session_state,this.access_token=o.access_token,this.token_type=o.token_type,this.scope=o.scope,this.profile=void 0,this.expires_in=o.expires_in}return n(t,[{key:"expires_in",get:function t(){if(this.expires_at){var e=parseInt(Date.now()/1e3);return this.expires_at-e}},set:function t(e){var r=parseInt(e);if("number"==typeof r&&r>0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:"expired",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function t(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function t(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(3),i=r(55),o=r(102);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,f=e.request_type;if(function h(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:f}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(55);e.SignoutResponse=function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var i=n.UrlUtility.parseUrlFragment(e,"?");this.error=i.error,this.error_description=i.error_description,this.error_uri=i.error_uri,this.state=i.state}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:h.TokenRevocationClient,d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:l.TokenClient,g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:p.JoseUtil;!function v(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var y=function m(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return y._events=new u.UserManagerEvents(r),y._silentRenewService=new n(y),y.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),y.startSilentRenew()),y.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),y._sessionMonitor=new o(y)),y._tokenRevocationClient=new a(y._settings),y._tokenClient=new d(y._settings),y._joseUtil=g,y}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function t(){var e=this;return this._loadUser().then(function(t){return t?(i.Log.info("UserManager.getUser: user loaded"),e._events.load(t,!1),t):(i.Log.info("UserManager.getUser: user not found in storage"),null)})},e.prototype.removeUser=function t(){var e=this;return this.storeUser(null).then(function(){i.Log.info("UserManager.removeUser: user removed from storage"),e._events.unload()})},e.prototype.signinRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:r";var r={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,r).then(function(){i.Log.info("UserManager.signinRedirect: successful")})},e.prototype.signinRedirectCallback=function t(e){return this._signinEnd(e||this._redirectNavigator.url).then(function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t})},e.prototype.signinPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:p";var r=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.display="popup",this._signin(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then(function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t})):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function t(e){return this._signinCallback(e,this._popupNavigator).then(function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t}).catch(function(t){i.Log.error(t.message)})},e.prototype.signinSilent=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(r=Object.assign({},r)).request_type="si:s",this._loadUser().then(function(t){return t&&t.refresh_token?(r.refresh_token=t.refresh_token,e._useRefreshToken(r)):(r.id_token_hint=r.id_token_hint||e.settings.includeIdTokenInSilentRenew&&t&&t.id_token,t&&e._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",t.profile.sub),r.current_sub=t.profile.sub),e._signinSilentIframe(r))})},e.prototype._useRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(r).then(function(t){return t?t.access_token?e._loadUser().then(function(r){if(r){var n=Promise.resolve();return t.id_token&&(n=e._validateIdTokenFromTokenRefreshToken(r.profile,t.id_token)),n.then(function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=t.id_token,r.access_token=t.access_token,r.refresh_token=t.refresh_token||r.refresh_token,r.expires_in=t.expires_in,e.storeUser(r).then(function(){return e._events.load(r),r})})}return null}):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))})},e.prototype._validateIdTokenFromTokenRefreshToken=function t(e,r){var n=this;return this._metadataService.getIssuer().then(function(t){return n._joseUtil.validateJwtAttributes(r,t,n._settings.client_id,n._settings.clockSkew).then(function(t){return t?t.sub!==e.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):t.auth_time&&t.auth_time!==e.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):t.azp&&t.azp!==e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!t.azp&&e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))})})},e.prototype._signinSilentIframe=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt=e.prompt||"none",this._signin(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then(function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t})):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function t(e){return this._signinCallback(e,this._iframeNavigator).then(function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t})},e.prototype.signinCallback=function t(e){var r=this;return this.readSigninResponseState(e).then(function(t){var n=t.state;t.response;return"si:r"===n.request_type?r.signinRedirectCallback(e):"si:p"===n.request_type?r.signinPopupCallback(e):"si:s"===n.request_type?r.signinSilentCallback(e):Promise.reject(new Error("invalid response_type in state"))})},e.prototype.signoutCallback=function t(e,r){var n=this;return this.readSignoutResponseState(e).then(function(t){var i=t.state,o=t.response;return i?"so:r"===i.request_type?n.signoutRedirectCallback(e):"so:p"===i.request_type?n.signoutPopupCallback(e,r):Promise.reject(new Error("invalid response_type in state")):o})},e.prototype.querySessionStatus=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).request_type="si:s";var n=r.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return n?(r.redirect_uri=n,r.prompt="none",r.response_type=r.response_type||this.settings.query_status_response_type,r.scope=r.scope||"openid",r.skipUserInfo=!0,this._signinStart(r,this._iframeNavigator,{startUrl:n,silentRequestTimeout:r.silentRequestTimeout||this.settings.silentRequestTimeout}).then(function(t){return e.processSigninResponse(t.url).then(function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")}).catch(function(t){if(t.session_state&&e.settings.monitorAnonymousSession&&("login_required"==t.message||"consent_required"==t.message||"interaction_required"==t.message||"account_selection_required"==t.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:t.session_state};throw t})})):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(e,r,i).then(function(t){return n._signinEnd(t.url,e)})},e.prototype._signinStart=function t(e,r){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.prepare(o).then(function(t){return i.Log.debug("UserManager._signinStart: got navigator window handle"),n.createSigninRequest(e).then(function(e){return i.Log.debug("UserManager._signinStart: got signin request"),o.url=e.url,o.id=e.state.id,t.navigate(o)}).catch(function(e){throw t.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),t.close()),e})})},e.prototype._signinEnd=function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(e).then(function(t){i.Log.debug("UserManager._signinEnd: got signin response");var e=new a.User(t);if(n.current_sub){if(n.current_sub!==e.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",e.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return r.storeUser(e).then(function(){return i.Log.debug("UserManager._signinEnd: user stored"),r._events.load(e),e})})},e.prototype._signinCallback=function t(e,r){return i.Log.debug("UserManager._signinCallback"),r.callback(e)},e.prototype.signoutRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:r";var r=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;r&&(e.post_logout_redirect_uri=r);var n={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,n).then(function(){i.Log.info("UserManager.signoutRedirect: successful")})},e.prototype.signoutRedirectCallback=function t(e){return this._signoutEnd(e||this._redirectNavigator.url).then(function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t})},e.prototype.signoutPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:p";var r=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=r,e.display="popup",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then(function(){i.Log.info("UserManager.signoutPopup: successful")})},e.prototype.signoutPopupCallback=function t(e,r){void 0===r&&"boolean"==typeof e&&(r=e,e=null);return this._popupNavigator.callback(e,r,"?").then(function(){i.Log.info("UserManager.signoutPopupCallback: successful")})},e.prototype._signout=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(e,r,i).then(function(t){return n._signoutEnd(t.url)})},e.prototype._signoutStart=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this,n=arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.prepare(o).then(function(t){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),r._loadUser().then(function(n){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(r._settings.revokeAccessTokenOnSignout?r._revokeInternal(n):Promise.resolve()).then(function(){var s=e.id_token_hint||n&&n.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),e.id_token_hint=s),r.removeUser().then(function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),r.createSignoutRequest(e).then(function(e){return i.Log.debug("UserManager._signoutStart: got signout request"),o.url=e.url,e.state&&(o.id=e.state.id),t.navigate(o)})})})}).catch(function(e){throw t.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),t.close()),e})})},e.prototype._signoutEnd=function t(e){return this.processSignoutResponse(e).then(function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t})},e.prototype.revokeAccessToken=function t(){var e=this;return this._loadUser().then(function(t){return e._revokeInternal(t,!0).then(function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,e.storeUser(t).then(function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),e._events.load(t)})})}).then(function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")})},e.prototype._revokeInternal=function t(e,r){var n=this;if(e){var o=e.access_token,s=e.refresh_token;return this._revokeAccessTokenInternal(o,r).then(function(t){return n._revokeRefreshTokenInternal(s,r).then(function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e})})}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function t(e,r){return!e||e.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,r).then(function(){return!0})},e.prototype._revokeRefreshTokenInternal=function t(e,r){return e?this._tokenRevocationClient.revoke(e,r,"refresh_token").then(function(){return!0}):Promise.resolve(!1)},e.prototype.startSilentRenew=function t(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function t(){this._silentRenewService.stop()},e.prototype._loadUser=function t(){return this._userStore.get(this._userStoreKey).then(function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)})},e.prototype.storeUser=function t(e){if(e){i.Log.debug("UserManager.storeUser: storing user");var r=e.toStorageString();return this._userStore.set(this._userStoreKey,r)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function t(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function t(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function t(){return this.settings.iframeNavigator}},{key:"_userStore",get:function t(){return this.settings.userStore}},{key:"events",get:function t(){return this._events}},{key:"_userStoreKey",get:function t(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,p=r.popupWindowFeatures,d=r.popupWindowTarget,g=r.silent_redirect_uri,v=r.silentRequestTimeout,y=r.automaticSilentRenew,m=void 0!==y&&y,_=r.validateSubOnSilentRenew,S=void 0!==_&&_,b=r.includeIdTokenInSilentRenew,w=void 0===b||b,F=r.monitorSession,E=void 0===F||F,x=r.monitorAnonymousSession,A=void 0!==x&&x,k=r.checkSessionInterval,P=void 0===k?l:k,C=r.stopCheckSessionOnError,T=void 0===C||C,R=r.query_status_response_type,I=r.revokeAccessTokenOnSignout,O=void 0!==I&&I,D=r.accessTokenExpiringNotificationTime,N=void 0===D?h:D,L=r.redirectNavigator,M=void 0===L?new o.RedirectNavigator:L,j=r.popupNavigator,U=void 0===j?new s.PopupNavigator:j,B=r.iframeNavigator,H=void 0===B?new a.IFrameNavigator:B,V=r.userStore,K=void 0===V?new u.WebStorageStateStore({store:c.Global.sessionStorage}):V;!function q(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var W=function J(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,arguments[0]));return W._popup_redirect_uri=n,W._popup_post_logout_redirect_uri=i,W._popupWindowFeatures=p,W._popupWindowTarget=d,W._silent_redirect_uri=g,W._silentRequestTimeout=v,W._automaticSilentRenew=m,W._validateSubOnSilentRenew=S,W._includeIdTokenInSilentRenew=w,W._accessTokenExpiringNotificationTime=N,W._monitorSession=E,W._monitorAnonymousSession=A,W._checkSessionInterval=P,W._stopCheckSessionOnError=T,R?W._query_status_response_type=R:arguments[0]&&arguments[0].response_type?W._query_status_response_type=f.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":W._query_status_response_type="id_token",W._revokeAccessTokenOnSignout=O,W._redirectNavigator=M,W._popupNavigator=U,W._iframeNavigator=H,W._userStore=K,W}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function t(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function t(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function t(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function t(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function t(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function t(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function t(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function t(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function t(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function t(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function t(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function t(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function t(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function t(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function t(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function t(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function t(){return this._redirectNavigator}},{key:"popupNavigator",get:function t(){return this._popupNavigator}},{key:"iframeNavigator",get:function t(){return this._iframeNavigator}},{key:"userStore",get:function t(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,r),i&&this._userLoaded.raise(r)},e.prototype.unload=function e(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function t(e){this._userLoaded.addHandler(e)},e.prototype.removeUserLoaded=function t(e){this._userLoaded.removeHandler(e)},e.prototype.addUserUnloaded=function t(e){this._userUnloaded.addHandler(e)},e.prototype.removeUserUnloaded=function t(e){this._userUnloaded.removeHandler(e)},e.prototype.addSilentRenewError=function t(e){this._silentRenewError.addHandler(e)},e.prototype.removeSilentRenewError=function t(e){this._silentRenewError.removeHandler(e)},e.prototype._raiseSilentRenewError=function t(e){n.Log.debug("UserManagerEvents._raiseSilentRenewError",e.message),this._silentRenewError.raise(e)},e.prototype.addUserSignedIn=function t(e){this._userSignedIn.addHandler(e)},e.prototype.removeUserSignedIn=function t(e){this._userSignedIn.removeHandler(e)},e.prototype._raiseUserSignedIn=function t(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function t(e){this._userSignedOut.addHandler(e)},e.prototype.removeUserSignedOut=function t(e){this._userSignedOut.removeHandler(e)},e.prototype._raiseUserSignedOut=function t(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function t(e){this._userSessionChanged.addHandler(e)},e.prototype.removeUserSessionChanged=function t(e){this._userSessionChanged.removeHandler(e)},e.prototype._raiseUserSessionChanged=function t(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;!function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var a=function u(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,t.call(this,r));return a._timer=n,a._nowFunc=i||function(){return Date.now()/1e3},a}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function t(e){e<=0&&(e=1),e=parseInt(e);var r=this.now+e;if(this.expiration===r&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",e),this._expiration=r;var n=5;e=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function g(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return K(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return q(t).length;default:if(n)return K(t).length;e=(""+e).toLowerCase(),n=!0}}function d(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return I(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return C(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return x(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var f=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var h=!0,l=0;li&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(f=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(f=u)}null===f?(f=65533,h=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=h}return function l(t){var e=t.length;if(e<=T)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n0&&(r=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(r+=" ... ")),""},u.prototype.compare=function t(e,r,n,i,o){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(i>>>=0),a=(n>>>=0)-(r>>>=0),c=Math.min(s,a),f=this.slice(i,o),h=e.slice(r,n),l=0;lo)&&(n=o),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return _(this,e,r,n);case"utf8":case"utf-8":return S(this,e,r,n);case"ascii":return b(this,e,r,n);case"latin1":case"binary":return w(this,e,r,n);case"base64":return F(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},u.prototype.toJSON=function t(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var T=4096;function C(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function M(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function j(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(t,e,r,n,o){return o||j(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,o){return o||j(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function t(e,r){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(r=void 0===r?i:~~r)<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(o*=256);)i+=this[e+--r]*o;return i},u.prototype.readUInt8=function t(e,r){return r||N(e,1,this.length),this[e]},u.prototype.readUInt16LE=function t(e,r){return r||N(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function t(e,r){return r||N(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function t(e,r){return r||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function t(e,r){return r||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function t(e,r,n){e|=0,r|=0,n||N(e,r,this.length);for(var i=this[e],o=1,s=0;++s=(o*=128)&&(i-=Math.pow(2,8*r)),i},u.prototype.readIntBE=function t(e,r,n){e|=0,r|=0,n||N(e,r,this.length);for(var i=r,o=1,s=this[e+--i];i>0&&(o*=256);)s+=this[e+--i]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*r)),s},u.prototype.readInt8=function t(e,r){return r||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function t(e,r){r||N(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function t(e,r){r||N(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function t(e,r){return r||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function t(e,r){return r||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function t(e,r){return r||N(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function t(e,r){return r||N(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function t(e,r){return r||N(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function t(e,r){return r||N(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function t(e,r,n,i){(e=+e,r|=0,n|=0,i)||L(this,e,r,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[r]=255&e;++s=0&&(s*=256);)this[r+o]=e/s&255;return r+n},u.prototype.writeUInt8=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},u.prototype.writeUInt16LE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):D(this,e,r,!0),r+2},u.prototype.writeUInt16BE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):D(this,e,r,!1),r+2},u.prototype.writeUInt32LE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):M(this,e,r,!0),r+4},u.prototype.writeUInt32BE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):M(this,e,r,!1),r+4},u.prototype.writeIntLE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);L(this,e,r,n,o-1,-o)}var s=0,a=1,u=0;for(this[r]=255&e;++s>0)-u&255;return r+n},u.prototype.writeIntBE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);L(this,e,r,n,o-1,-o)}var s=n-1,a=1,u=0;for(this[r+s]=255&e;--s>=0&&(a*=256);)e<0&&0===u&&0!==this[r+s+1]&&(u=1),this[r+s]=(e/a>>0)-u&255;return r+n},u.prototype.writeInt8=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},u.prototype.writeInt16LE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):D(this,e,r,!0),r+2},u.prototype.writeInt16BE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):D(this,e,r,!1),r+2},u.prototype.writeInt32LE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):M(this,e,r,!0),r+4},u.prototype.writeInt32BE=function t(e,r,n){return e=+e,r|=0,n||L(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):M(this,e,r,!1),r+4},u.prototype.writeFloatLE=function t(e,r,n){return U(this,e,r,!0,n)},u.prototype.writeFloatBE=function t(e,r,n){return U(this,e,r,!1,n)},u.prototype.writeDoubleLE=function t(e,r,n){return B(this,e,r,!0,n)},u.prototype.writeDoubleBE=function t(e,r,n){return B(this,e,r,!1,n)},u.prototype.copy=function t(e,r,n,i){if(n||(n=0),i||0===i||(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r=0;--o)e[o+r]=this[o+n];else if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=r;s55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(t){return n.toByteArray(function e(t){if((t=function e(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(H,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function W(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(71))},function(t,e,r){"use strict";e.byteLength=function n(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function i(t){var e,r,n=l(t),i=n[0],o=n[1],s=new u(function c(t,e,r){return 3*(e+r)/4-r}(0,i,o)),f=0,h=o>0?i-4:i;for(r=0;r>16&255,s[f++]=e>>8&255,s[f++]=255&e;2===o&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,s[f++]=255&e);1===o&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,s[f++]=e>>8&255,s[f++]=255&e);return s},e.fromByteArray=function o(t){for(var e,r=t.length,n=r%3,i=[],o=16383,a=0,u=r-n;au?u:a+o));1===n?(e=t[r-1],i.push(s[e>>2]+s[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(s[e>>10]+s[e>>4&63]+s[e<<2&63]+"="));return i.join("")};for(var s=[],a=[],u="undefined"!=typeof Uint8Array?Uint8Array:Array,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,h=c.length;f0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function p(t,e,r){for(var n,i,o=[],a=e;a>18&63]+s[i>>12&63]+s[i>>6&63]+s[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},function(t,e){ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,f=-7,h=r?i-1:0,l=r?-1:1,p=t[e+h];for(h+=l,o=p&(1<<-f)-1,p>>=-f,f+=a;f>0;o=256*o+t[e+h],h+=l,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=256*s+t[e+h],h+=l,f-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,n),o-=c}return(p?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,f=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,g=n?1:-1,d=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+h>=1?l/u:l*Math.pow(2,1-h))*u>=2&&(s++,u/=2),s+h>=f?(a=0,s=f):s+h>=1?(a=(e*u-1)*Math.pow(2,i),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[r+p]=255&a,p+=g,a/=256,i-=8);for(s=s<0;t[r+p]=255&s,p+=g,s/=256,c-=8);t[r+p-g]|=128*d}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function n(t){var e=t.jws,r=t.KeyUtil,n=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,t)}return t.parseJwt=function t(r){i.Log.debug("JoseUtil.parseJwt");try{var n=e.JWS.parse(r);return{header:n.headerObj,payload:n.payloadObj}}catch(t){i.Log.error(t)}},t.validateJwt=function e(o,s,u,c,f,h,l){i.Log.debug("JoseUtil.validateJwt");try{if("RSA"===s.kty)if(s.e&&s.n)s=r.getKey(s);else{if(!s.x5c||!s.x5c.length)return i.Log.error("JoseUtil.validateJwt: RSA key missing key material",s),Promise.reject(new Error("RSA key missing key material"));var p=a(s.x5c[0]);s=n.getPublicKeyFromCertHex(p)}else{if("EC"!==s.kty)return i.Log.error("JoseUtil.validateJwt: Unsupported key type",s&&s.kty),Promise.reject(new Error(s.kty));if(!(s.crv&&s.x&&s.y))return i.Log.error("JoseUtil.validateJwt: EC key missing key material",s),Promise.reject(new Error("EC key missing key material"));s=r.getKey(s)}return t._validateJwt(o,s,u,c,f,h,l)}catch(t){return i.Log.error(t&&t.message||t),Promise.reject("JWT validation failed")}},t.validateJwtAttributes=function e(r,n,o,s,a,u){s||(s=0),a||(a=parseInt(Date.now()/1e3));var c=t.parseJwt(r).payload;if(!c.iss)return i.Log.error("JoseUtil._validateJwt: issuer was not provided"),Promise.reject(new Error("issuer was not provided"));if(c.iss!==n)return i.Log.error("JoseUtil._validateJwt: Invalid issuer in token",c.iss),Promise.reject(new Error("Invalid issuer in token: "+c.iss));if(!c.aud)return i.Log.error("JoseUtil._validateJwt: aud was not provided"),Promise.reject(new Error("aud was not provided"));if(!(c.aud===o||Array.isArray(c.aud)&&c.aud.indexOf(o)>=0))return i.Log.error("JoseUtil._validateJwt: Invalid audience in token",c.aud),Promise.reject(new Error("Invalid audience in token: "+c.aud));if(c.azp&&c.azp!==o)return i.Log.error("JoseUtil._validateJwt: Invalid azp in token",c.azp),Promise.reject(new Error("Invalid azp in token: "+c.azp));if(!u){var f=a+s,h=a-s;if(!c.iat)return i.Log.error("JoseUtil._validateJwt: iat was not provided"),Promise.reject(new Error("iat was not provided"));if(f1&&void 0!==arguments[1]?arguments[1]:"#";o(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:"expires_in",get:function t(){if(this.expires_at){var e=parseInt(Date.now()/1e3);return this.expires_at-e}},set:function t(e){var r=parseInt(e);if("number"==typeof r&&r>0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:"expired",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:"scopes",get:function t(){return(this.scope||"").split(" ")}},{key:"isOpenIdConnect",get:function t(){return this.scopes.indexOf("openid")>=0||!!this.id_token}}]),t}()},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutRequest=void 0;var n=r(3),i=r(55),o=r(103);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,f=e.request_type;if(function h(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!r)throw n.Log.error("SignoutRequest.ctor: No url passed"),new Error("url");for(var l in s&&(r=i.UrlUtility.addQueryParam(r,"id_token_hint",s)),a&&(r=i.UrlUtility.addQueryParam(r,"post_logout_redirect_uri",a),u&&(this.state=new o.State({data:u,request_type:f}),r=i.UrlUtility.addQueryParam(r,"state",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,l,c[l]);this.url=r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SignoutResponse=void 0;var n=r(55);e.SignoutResponse=function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t);var i=n.UrlUtility.parseUrlFragment(e,"?");this.error=i.error,this.error_description=i.error_description,this.error_uri=i.error_uri,this.state=i.state}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:f.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:l.TokenRevocationClient,h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:p.TokenClient,y=arguments.length>5&&void 0!==arguments[5]?arguments[5]:g.JoseUtil;d(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var m=v(this,t.call(this,r));return m._events=new u.UserManagerEvents(r),m._silentRenewService=new n(m),m.settings.automaticSilentRenew&&(i.Log.debug("UserManager.ctor: automaticSilentRenew is configured, setting up silent renew"),m.startSilentRenew()),m.settings.monitorSession&&(i.Log.debug("UserManager.ctor: monitorSession is configured, setting up session monitor"),m._sessionMonitor=new o(m)),m._tokenRevocationClient=new a(m._settings),m._tokenClient=new h(m._settings),m._joseUtil=y,m}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function t(){var e=this;return this._loadUser().then((function(t){return t?(i.Log.info("UserManager.getUser: user loaded"),e._events.load(t,!1),t):(i.Log.info("UserManager.getUser: user not found in storage"),null)}))},e.prototype.removeUser=function t(){var e=this;return this.storeUser(null).then((function(){i.Log.info("UserManager.removeUser: user removed from storage"),e._events.unload()}))},e.prototype.signinRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:r";var r={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,r).then((function(){i.Log.info("UserManager.signinRedirect: successful")}))},e.prototype.signinRedirectCallback=function t(e){return this._signinEnd(e||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info("UserManager.signinRedirectCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinRedirectCallback: no sub"),t}))},e.prototype.signinPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="si:p";var r=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.display="popup",this._signin(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopup: signinPopup successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopup: no sub")),t}))):(i.Log.error("UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured"),Promise.reject(new Error("No popup_redirect_uri or redirect_uri configured")))},e.prototype.signinPopupCallback=function t(e){return this._signinCallback(e,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinPopupCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinPopupCallback: no sub")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return r=Object.assign({},r),this._loadUser().then((function(t){return t&&t.refresh_token?(r.refresh_token=t.refresh_token,e._useRefreshToken(r)):(r.request_type="si:s",r.id_token_hint=r.id_token_hint||e.settings.includeIdTokenInSilentRenew&&t&&t.id_token,t&&e._settings.validateSubOnSilentRenew&&(i.Log.debug("UserManager.signinSilent, subject prior to silent renew: ",t.profile.sub),r.current_sub=t.profile.sub),e._signinSilentIframe(r))}))},e.prototype._useRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(r).then((function(t){return t?t.access_token?e._loadUser().then((function(r){if(r){var n=Promise.resolve();return t.id_token&&(n=e._validateIdTokenFromTokenRefreshToken(r.profile,t.id_token)),n.then((function(){return i.Log.debug("UserManager._useRefreshToken: refresh token response success"),r.id_token=t.id_token||r.id_token,r.access_token=t.access_token,r.refresh_token=t.refresh_token||r.refresh_token,r.expires_in=t.expires_in,e.storeUser(r).then((function(){return e._events.load(r),r}))}))}return null})):(i.Log.error("UserManager._useRefreshToken: No access token returned from token endpoint"),Promise.reject("No access token returned from token endpoint")):(i.Log.error("UserManager._useRefreshToken: No response returned from token endpoint"),Promise.reject("No response returned from token endpoint"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function t(e,r){var n=this;return this._metadataService.getIssuer().then((function(t){return n.settings.getEpochTime().then((function(o){return n._joseUtil.validateJwtAttributes(r,t,n._settings.client_id,n._settings.clockSkew,o).then((function(t){return t?t.sub!==e.sub?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub"),Promise.reject(new Error("sub in id_token does not match current sub"))):t.auth_time&&t.auth_time!==e.auth_time?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time"),Promise.reject(new Error("auth_time in id_token does not match original auth_time"))):t.azp&&t.azp!==e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp"),Promise.reject(new Error("azp in id_token does not match original azp"))):!t.azp&&e.azp?(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token"),Promise.reject(new Error("azp not in id_token, but present in original id_token"))):void 0:(i.Log.error("UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token"),Promise.reject(new Error("Failed to validate id_token")))}))}))}))},e.prototype._signinSilentIframe=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt=e.prompt||"none",this._signin(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilent: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilent: no sub")),t}))):(i.Log.error("UserManager.signinSilent: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype.signinSilentCallback=function t(e){return this._signinCallback(e,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info("UserManager.signinSilentCallback: successful, signed in sub: ",t.profile.sub):i.Log.info("UserManager.signinSilentCallback: no sub")),t}))},e.prototype.signinCallback=function t(e){var r=this;return this.readSigninResponseState(e).then((function(t){var n=t.state;t.response;return"si:r"===n.request_type?r.signinRedirectCallback(e):"si:p"===n.request_type?r.signinPopupCallback(e):"si:s"===n.request_type?r.signinSilentCallback(e):Promise.reject(new Error("invalid response_type in state"))}))},e.prototype.signoutCallback=function t(e,r){var n=this;return this.readSignoutResponseState(e).then((function(t){var i=t.state,o=t.response;return i?"so:r"===i.request_type?n.signoutRedirectCallback(e):"so:p"===i.request_type?n.signoutPopupCallback(e,r):Promise.reject(new Error("invalid response_type in state")):o}))},e.prototype.querySessionStatus=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).request_type="si:s";var n=r.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return n?(r.redirect_uri=n,r.prompt="none",r.response_type=r.response_type||this.settings.query_status_response_type,r.scope=r.scope||"openid",r.skipUserInfo=!0,this._signinStart(r,this._iframeNavigator,{startUrl:n,silentRequestTimeout:r.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return e.processSigninResponse(t.url).then((function(t){if(i.Log.debug("UserManager.querySessionStatus: got signin response"),t.session_state&&t.profile.sub)return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for sub: ",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info("querySessionStatus successful, user not authenticated")})).catch((function(t){if(t.session_state&&e.settings.monitorAnonymousSession&&("login_required"==t.message||"consent_required"==t.message||"interaction_required"==t.message||"account_selection_required"==t.message))return i.Log.info("UserManager.querySessionStatus: querySessionStatus success for anonymous user"),{session_state:t.session_state};throw t}))}))):(i.Log.error("UserManager.querySessionStatus: No silent_redirect_uri configured"),Promise.reject(new Error("No silent_redirect_uri configured")))},e.prototype._signin=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(e,r,i).then((function(t){return n._signinEnd(t.url,e)}))},e.prototype._signinStart=function t(e,r){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.prepare(o).then((function(t){return i.Log.debug("UserManager._signinStart: got navigator window handle"),n.createSigninRequest(e).then((function(e){return i.Log.debug("UserManager._signinStart: got signin request"),o.url=e.url,o.id=e.state.id,t.navigate(o)})).catch((function(e){throw t.close&&(i.Log.debug("UserManager._signinStart: Error after preparing navigator, closing navigator window"),t.close()),e}))}))},e.prototype._signinEnd=function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(e).then((function(t){i.Log.debug("UserManager._signinEnd: got signin response");var e=new a.User(t);if(n.current_sub){if(n.current_sub!==e.profile.sub)return i.Log.debug("UserManager._signinEnd: current user does not match user returned from signin. sub from signin: ",e.profile.sub),Promise.reject(new Error("login_required"));i.Log.debug("UserManager._signinEnd: current user matches user returned from signin")}return r.storeUser(e).then((function(){return i.Log.debug("UserManager._signinEnd: user stored"),r._events.load(e),e}))}))},e.prototype._signinCallback=function t(e,r){i.Log.debug("UserManager._signinCallback");var n="query"===this._settings.response_mode||!this._settings.response_mode&&h.SigninRequest.isCode(this._settings.response_type)?"?":"#";return r.callback(e,void 0,n)},e.prototype.signoutRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:r";var r=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;r&&(e.post_logout_redirect_uri=r);var n={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,n).then((function(){i.Log.info("UserManager.signoutRedirect: successful")}))},e.prototype.signoutRedirectCallback=function t(e){return this._signoutEnd(e||this._redirectNavigator.url).then((function(t){return i.Log.info("UserManager.signoutRedirectCallback: successful"),t}))},e.prototype.signoutPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type="so:p";var r=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=r,e.display="popup",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info("UserManager.signoutPopup: successful")}))},e.prototype.signoutPopupCallback=function t(e,r){void 0===r&&"boolean"==typeof e&&(r=e,e=null);return this._popupNavigator.callback(e,r,"?").then((function(){i.Log.info("UserManager.signoutPopupCallback: successful")}))},e.prototype._signout=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(e,r,i).then((function(t){return n._signoutEnd(t.url)}))},e.prototype._signoutStart=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this,n=arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.prepare(o).then((function(t){return i.Log.debug("UserManager._signoutStart: got navigator window handle"),r._loadUser().then((function(n){return i.Log.debug("UserManager._signoutStart: loaded current user from storage"),(r._settings.revokeAccessTokenOnSignout?r._revokeInternal(n):Promise.resolve()).then((function(){var s=e.id_token_hint||n&&n.id_token;return s&&(i.Log.debug("UserManager._signoutStart: Setting id_token into signout request"),e.id_token_hint=s),r.removeUser().then((function(){return i.Log.debug("UserManager._signoutStart: user removed, creating signout request"),r.createSignoutRequest(e).then((function(e){return i.Log.debug("UserManager._signoutStart: got signout request"),o.url=e.url,e.state&&(o.id=e.state.id),t.navigate(o)}))}))}))})).catch((function(e){throw t.close&&(i.Log.debug("UserManager._signoutStart: Error after preparing navigator, closing navigator window"),t.close()),e}))}))},e.prototype._signoutEnd=function t(e){return this.processSignoutResponse(e).then((function(t){return i.Log.debug("UserManager._signoutEnd: got signout response"),t}))},e.prototype.revokeAccessToken=function t(){var e=this;return this._loadUser().then((function(t){return e._revokeInternal(t,!0).then((function(r){if(r)return i.Log.debug("UserManager.revokeAccessToken: removing token properties from user and re-storing"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,e.storeUser(t).then((function(){i.Log.debug("UserManager.revokeAccessToken: user stored"),e._events.load(t)}))}))})).then((function(){i.Log.info("UserManager.revokeAccessToken: access token revoked successfully")}))},e.prototype._revokeInternal=function t(e,r){var n=this;if(e){var o=e.access_token,s=e.refresh_token;return this._revokeAccessTokenInternal(o,r).then((function(t){return n._revokeRefreshTokenInternal(s,r).then((function(e){return t||e||i.Log.debug("UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function t(e,r){return!e||e.indexOf(".")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,r).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function t(e,r){return e?this._tokenRevocationClient.revoke(e,r,"refresh_token").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function t(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function t(){this._silentRenewService.stop()},e.prototype._loadUser=function t(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug("UserManager._loadUser: user storageString loaded"),a.User.fromStorageString(t)):(i.Log.debug("UserManager._loadUser: no user storageString"),null)}))},e.prototype.storeUser=function t(e){if(e){i.Log.debug("UserManager.storeUser: storing user");var r=e.toStorageString();return this._userStore.set(this._userStoreKey,r)}return i.Log.debug("storeUser.storeUser: removing user"),this._userStore.remove(this._userStoreKey)},n(e,[{key:"_redirectNavigator",get:function t(){return this.settings.redirectNavigator}},{key:"_popupNavigator",get:function t(){return this.settings.popupNavigator}},{key:"_iframeNavigator",get:function t(){return this.settings.iframeNavigator}},{key:"_userStore",get:function t(){return this.settings.userStore}},{key:"events",get:function t(){return this._events}},{key:"_userStoreKey",get:function t(){return"user:"+this.settings.authority+":"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,p=r.popupWindowFeatures,g=r.popupWindowTarget,d=r.silent_redirect_uri,v=r.silentRequestTimeout,y=r.automaticSilentRenew,m=void 0!==y&&y,_=r.validateSubOnSilentRenew,S=void 0!==_&&_,b=r.includeIdTokenInSilentRenew,w=void 0===b||b,F=r.monitorSession,E=void 0===F||F,x=r.monitorAnonymousSession,A=void 0!==x&&x,P=r.checkSessionInterval,k=void 0===P?2e3:P,T=r.stopCheckSessionOnError,C=void 0===T||T,R=r.query_status_response_type,I=r.revokeAccessTokenOnSignout,O=void 0!==I&&I,N=r.accessTokenExpiringNotificationTime,L=void 0===N?60:N,D=r.redirectNavigator,M=void 0===D?new o.RedirectNavigator:D,j=r.popupNavigator,U=void 0===j?new s.PopupNavigator:j,B=r.iframeNavigator,H=void 0===B?new a.IFrameNavigator:B,V=r.userStore,K=void 0===V?new u.WebStorageStateStore({store:c.Global.sessionStorage}):V;h(this,e);var q=l(this,t.call(this,arguments[0]));return q._popup_redirect_uri=n,q._popup_post_logout_redirect_uri=i,q._popupWindowFeatures=p,q._popupWindowTarget=g,q._silent_redirect_uri=d,q._silentRequestTimeout=v,q._automaticSilentRenew=m,q._validateSubOnSilentRenew=S,q._includeIdTokenInSilentRenew=w,q._accessTokenExpiringNotificationTime=L,q._monitorSession=E,q._monitorAnonymousSession=A,q._checkSessionInterval=k,q._stopCheckSessionOnError=C,R?q._query_status_response_type=R:arguments[0]&&arguments[0].response_type?q._query_status_response_type=f.SigninRequest.isOidc(arguments[0].response_type)?"id_token":"code":q._query_status_response_type="id_token",q._revokeAccessTokenOnSignout=O,q._redirectNavigator=M,q._popupNavigator=U,q._iframeNavigator=H,q._userStore=K,q}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:"popup_redirect_uri",get:function t(){return this._popup_redirect_uri}},{key:"popup_post_logout_redirect_uri",get:function t(){return this._popup_post_logout_redirect_uri}},{key:"popupWindowFeatures",get:function t(){return this._popupWindowFeatures}},{key:"popupWindowTarget",get:function t(){return this._popupWindowTarget}},{key:"silent_redirect_uri",get:function t(){return this._silent_redirect_uri}},{key:"silentRequestTimeout",get:function t(){return this._silentRequestTimeout}},{key:"automaticSilentRenew",get:function t(){return this._automaticSilentRenew}},{key:"validateSubOnSilentRenew",get:function t(){return this._validateSubOnSilentRenew}},{key:"includeIdTokenInSilentRenew",get:function t(){return this._includeIdTokenInSilentRenew}},{key:"accessTokenExpiringNotificationTime",get:function t(){return this._accessTokenExpiringNotificationTime}},{key:"monitorSession",get:function t(){return this._monitorSession}},{key:"monitorAnonymousSession",get:function t(){return this._monitorAnonymousSession}},{key:"checkSessionInterval",get:function t(){return this._checkSessionInterval}},{key:"stopCheckSessionOnError",get:function t(){return this._stopCheckSessionOnError}},{key:"query_status_response_type",get:function t(){return this._query_status_response_type}},{key:"revokeAccessTokenOnSignout",get:function t(){return this._revokeAccessTokenOnSignout}},{key:"redirectNavigator",get:function t(){return this._redirectNavigator}},{key:"popupNavigator",get:function t(){return this._popupNavigator}},{key:"iframeNavigator",get:function t(){return this._iframeNavigator}},{key:"userStore",get:function t(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug("UserManagerEvents.load"),t.prototype.load.call(this,r),i&&this._userLoaded.raise(r)},e.prototype.unload=function e(){n.Log.debug("UserManagerEvents.unload"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function t(e){this._userLoaded.addHandler(e)},e.prototype.removeUserLoaded=function t(e){this._userLoaded.removeHandler(e)},e.prototype.addUserUnloaded=function t(e){this._userUnloaded.addHandler(e)},e.prototype.removeUserUnloaded=function t(e){this._userUnloaded.removeHandler(e)},e.prototype.addSilentRenewError=function t(e){this._silentRenewError.addHandler(e)},e.prototype.removeSilentRenewError=function t(e){this._silentRenewError.removeHandler(e)},e.prototype._raiseSilentRenewError=function t(e){n.Log.debug("UserManagerEvents._raiseSilentRenewError",e.message),this._silentRenewError.raise(e)},e.prototype.addUserSignedIn=function t(e){this._userSignedIn.addHandler(e)},e.prototype.removeUserSignedIn=function t(e){this._userSignedIn.removeHandler(e)},e.prototype._raiseUserSignedIn=function t(){n.Log.debug("UserManagerEvents._raiseUserSignedIn"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function t(e){this._userSignedOut.addHandler(e)},e.prototype.removeUserSignedOut=function t(e){this._userSignedOut.removeHandler(e)},e.prototype._raiseUserSignedOut=function t(){n.Log.debug("UserManagerEvents._raiseUserSignedOut"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function t(e){this._userSessionChanged.addHandler(e)},e.prototype.removeUserSessionChanged=function t(e){this._userSessionChanged.removeHandler(e)},e.prototype._raiseUserSessionChanged=function t(){n.Log.debug("UserManagerEvents._raiseUserSessionChanged"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;a(this,e);var s=u(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function t(e){e<=0&&(e=1),e=parseInt(e);var r=this.now+e;if(this.expiration===r&&this._timerHandle)i.Log.debug("Timer.init timer "+this._name+" skipping initialization since already initialized for expiration:",this.expiration);else{this.cancel(),i.Log.debug("Timer.init timer "+this._name+" for duration:",e),this._expiration=r;var n=5;e \ No newline at end of file + \ No newline at end of file diff --git a/AdminApp/assets/js/kendo-editor/kendo.custom.min.js b/AdminApp/assets/js/kendo-editor/kendo.custom.min.js index 0101da8f..62d4e850 100644 --- a/AdminApp/assets/js/kendo-editor/kendo.custom.min.js +++ b/AdminApp/assets/js/kendo-editor/kendo.custom.min.js @@ -1,28 +1,2 @@ -!function(e,define){define("kendo.core.min",["jquery"],e)}(function(){return function(e,t,n){function i(){}function o(e,t){if(t)return"'"+e.split("'").join("\\'").split('\\"').join('\\\\\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")+"'";var n=e.charAt(0),i=e.substring(1);return"="===n?"+("+i+")+":":"===n?"+$kendoHtmlEncode("+i+")+":";"+e+";$kendoOutput+="}function r(e,t,n){return e+="",t=t||2,n=t-e.length,n?j[t].substring(0,n)+e:e}function a(e){var t=e.css(be.support.transitions.css+"box-shadow")||e.css("box-shadow"),n=t?t.match(ze)||[0,0,0,0,0]:[0,0,0,0,0],i=Te.max(+n[3],+(n[4]||0));return{left:-n[1]+i,right:+n[1]+i,bottom:+n[2]+i}}function s(n,i){var o,r,a,s,d,u,c=Fe.browser,p=be._outerWidth,f=be._outerHeight,h=n.parent(),m=p(t);return h.removeClass("k-animation-container-sm"),h.hasClass("k-animation-container")?l(n,i):(r=n[0].style.width,a=n[0].style.height,s=De.test(r),d=De.test(a),u=n.hasClass("k-tooltip")||n.is(".k-menu-horizontal.k-context-menu"),o=s||d,!s&&(!i||i&&r||u)&&(r=i?p(n)+1:p(n)),(!d&&(!i||i&&a)||n.is(".k-menu-horizontal.k-context-menu"))&&(a=f(n)),n.wrap(e("
").addClass("k-animation-container").css({width:r,height:a})),h=n.parent(),o&&n.css({width:"100%",height:"100%",boxSizing:"border-box",mozBoxSizing:"border-box",webkitBoxSizing:"border-box"})),m-1)return!0;var t=h(e,["overflow"]).overflow;return"auto"==t||"scroll"==t}function g(t,i){var o,r=Fe.browser.webkit,a=Fe.browser.mozilla,s=t instanceof e?t[0]:t;if(t)return o=Fe.isRtl(t),i===n?o&&r?s.scrollWidth-s.clientWidth-s.scrollLeft:Math.abs(s.scrollLeft):(s.scrollLeft=o&&r?s.scrollWidth-s.clientWidth-i:o&&a?-i:i,n)}function v(e){var t,n=0;for(t in e)e.hasOwnProperty(t)&&"toJSON"!=t&&n++;return n}function _(e,n,i){var o,r,a;return n||(n="offset"),o=e[n](),r={top:o.top,right:o.right,bottom:o.bottom,left:o.left},Fe.browser.msie&&(Fe.pointers||Fe.msPointers)&&!i&&(a=Fe.isRtl(e)?1:-1,r.top-=t.pageYOffset-document.documentElement.scrollTop,r.left-=t.pageXOffset+a*document.documentElement.scrollLeft),r}function b(e){var t={};return we("string"==typeof e?e.split(" "):e,function(e){t[e]=this}),t}function y(e){return new be.effects.Element(e)}function w(e,t,n,i){return typeof e===Ne&&(R(t)&&(i=t,t=400,n=!1),R(n)&&(i=n,n=!1),typeof t===Me&&(n=t,t=400),e={effects:e,duration:t,reverse:n,complete:i}),ye({effects:{},duration:400,reverse:!1,init:Ce,teardown:Ce,hide:!1},e,{completeCallback:e.complete,complete:Ce})}function k(t,n,i,o,r){for(var a,s=0,l=t.length;s-1||t.is(":visible")}function z(e,t){var n=e.nodeName.toLowerCase();return(/input|select|textarea|button|object/.test(n)?!e.disabled:"a"===n?e.href||t:t)&&E(e)}function E(t){return e.expr.pseudos.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function A(e,t){return new A.fn.init(e,t)}var N,R,H,P,M,O,B,L,V,U,W,j,q,G,$,Y,K,Q,X,J,Z,ee,te,ne,ie,oe,re,ae,se,le,de,ue,ce,pe,fe,he,me,ge,ve,_e,be=t.kendo=t.kendo||{cultures:{}},ye=e.extend,we=e.each,ke=e.isArray,xe=e.proxy,Ce=e.noop,Te=Math,Se=t.JSON||{},Fe={},De=/%/,Ie=/\{(\d+)(:[^\}]+)?\}/g,ze=/(\d+(?:\.?)\d*)px\s*(\d+(?:\.?)\d*)px\s*(\d+(?:\.?)\d*)px\s*(\d+)?/i,Ee=/^(\+|-?)\d+(\.?)\d*$/,Ae="function",Ne="string",Re="number",He="object",Pe="null",Me="boolean",Oe="undefined",Be={},Le={},Ve=[].slice,Ue=function(){var e,t,i,o,r,a,s=arguments[0]||{},l=1,d=arguments.length,u=!1;for("boolean"==typeof s&&(u=s,s=arguments[l]||{},l++),"object"==typeof s||jQuery.isFunction(s)||(s={}),l===d&&(s=this,l--);l=0;i--)r[i]!==t&&r[i].original!==t||r.splice(i,1);else o._events[e]=[];return o}}),O=/^\w+/,B=/\$\{([^}]*)\}/g,L=/\\\}/g,V=/__CURLY__/g,U=/\\#/g,W=/__SHARP__/g,j=["","0","00","000","0000"],N={paramName:"data",useWithBlock:!0,render:function(e,t){var n,i,o="";for(n=0,i=t.length;n99&&(o=Te.floor(o/10)),o=r(o)):"fff"===t?o=r(e.getMilliseconds(),3):"tt"===t?o=e.getHours()<12?a.AM[0]:a.PM[0]:"zzz"===t?(i=e.getTimezoneOffset(),d=i<0,o=(""+Te.abs(i/60)).split(".")[0],i=Te.abs(i)-60*o,o=(d?"+":"-")+r(o),o+=":"+r(i)):"zz"!==t&&"z"!==t||(o=e.getTimezoneOffset()/60,d=o<0,o=(""+Te.abs(o)).split(".")[0],o=(d?"+":"-")+("zz"===t?r(o):o)),o!==n?o:t.slice(1,t.length-1)})}function a(e,t,o){var r,a,d,u,y,w,k,x,C,T,S,F,D,I,z,E,A,N,R,H,P,M,O,B,L,V,U,W,j,q,G,$,Y,K;if(o=i(o),r=o.numberFormat,a=r[m],d=r.decimals,u=r.pattern[0],y=[],S=e<0,E=h,A=h,G=-1,e===n)return h;if(!isFinite(e))return e;if(!t)return o.name.length?e.toLocaleString():""+e;if(T=c.exec(t)){if(t=T[1].toLowerCase(),k="c"===t,x="p"===t,(k||x)&&(r=k?r.currency:r.percent,a=r[m],d=r.decimals,w=r.symbol,u=r.pattern[S?0:1]),C=T[2],C&&(d=+C),"e"===t)return Y=C?e.toExponential(d):e.toExponential(),Y.replace(m,r[m]);if(x&&(e*=100),e=l(e,d),S=e<0,e=e.split(m),F=e[0],D=e[1],S&&(F=F.substring(1)),A=s(F,0,F.length,r),D&&(A+=a+D),"n"===t&&!S)return A;for(e=h,N=0,R=u.length;N-1||t.indexOf('"')>-1||t.indexOf("\\")>-1)&&(t=t.replace(p,function(e){var t=e.charAt(0).replace("\\",""),n=e.slice(1).replace(t,"");return y.push(n),b})),t=t.split(";"),S&&t[1])t=t[1],M=!0;else if(0===e&&t[2]){if(t=t[2],t.indexOf(v)==-1&&t.indexOf(_)==-1)return t}else t=t[0];if(W=t.indexOf("%"),j=t.indexOf("$"),x=W!=-1,k=j!=-1,x&&(e*=100),k&&"\\"===t[j-1]&&(t=t.split("\\").join(""),k=!1),(k||x)&&(r=k?r.currency:r.percent,a=r[m],d=r.decimals,w=r.symbol),P=t.indexOf(g)>-1,P&&(t=t.replace(f,h)),O=t.indexOf(m),R=t.length,O!=-1)if(D=(""+e).split("e"),D=D[1]?l(e,Math.abs(D[1])):D[0],D=D.split(m)[1]||h,L=t.lastIndexOf(_)-O,B=t.lastIndexOf(v)-O,V=L>-1,U=B>-1,N=D.length,V||U||(t=t.substring(0,O)+t.substring(O+1),R=t.length,O=-1,N=0),V&&L>B)N=L;else if(B>L)if(U&&N>B){for(K=l(e,B,S);K.charAt(K.length-1)===_&&B>0&&B>L;)B--,K=l(e,B,S);N=B}else V&&NL?L:B,B=t.lastIndexOf(v),L=t.lastIndexOf(_),$=B==-1&&L!=-1?L:B!=-1&&L==-1?B:B>L?B:L,G==R&&($=G),G!=-1){for(A=(""+e).split(m),F=A[0],D=A[1]||h,I=F.length,z=D.length,S&&e*-1>=0&&(S=!1),e=t.substring(0,G),S&&!M&&(e+="-"),N=G;N-1&&(e+=F,N=O),O===N){e+=(D?a:h)+D,N+=$-O+1;continue}H===_?(e+=H,E=H):H===v&&(e+=E)}if(P&&(e=s(e,G+(S&&!M?1:0),Math.max($,I+G),r)),$>=G&&(e+=t.substring($+1)),k||x){for(A=h,N=0,R=e.length;N=f){for(s=a,l=[];s>-1;)if(d=r.substring(s-f,s),d&&l.push(d),s-=f,u=p.shift(),f=u!==n?u:f,0===f){s>0&&l.push(r.substring(0,s));break}r=l.reverse().join(o[g]),e=e.substring(0,t)+r+e.substring(i)}return e},l=function(e,t,n){return t=t||0,e=(""+e).split("e"),e=Math.round(+(e[0]+"e"+(e[1]?+e[1]+t:t))),n&&(e=-e),e=(""+e).split("e"),e=+(e[0]+"e"+(e[1]?+e[1]-t:-t)),e.toFixed(Math.min(t,20))},d=function(e,t,i){if(t){if("[object Date]"===w.call(e))return o(e,t,i);if(typeof e===Re)return a(e,t,i)}return e!==n?e:""},be.format=function(e){var t=arguments;return e.replace(Ie,function(e,n,i){var o=t[parseInt(n,10)+1];return d(o,i?i.substring(1):"")})},be._extractFormat=function(e){return"{0:"===e.slice(0,3)&&(e=e.slice(3,e.length-1)),e},be._activeElement=function(){try{return document.activeElement}catch(e){return document.documentElement.activeElement}},be._round=l,be._outerWidth=function(t,n){return e(t).outerWidth(n||!1)||0},be._outerHeight=function(t,n){return e(t).outerHeight(n||!1)||0},be.toString=d}(),function(){function t(e,t,n){return!(e>=t&&e<=n)}function i(e){return e.charAt(0)}function o(t){return e.map(t,i)}function r(e,t){t||23!==e.getHours()||e.setHours(e.getHours()+2)}function a(e){for(var t=0,n=e.length,i=[];t0&&(M-=1),t},S=function(t){var n=y[t]||RegExp("^\\d{1,"+t+"}"),i=e.substr(O,t).match(n);return i?(i=i[0],O+=i.length,parseInt(i,10)):null},F=function(t,n){for(var i,o,r,a=0,s=t.length,l=0,d=0;al&&(l=o,d=a);return l?(O+=l,d+1):null},D=function(){var t=!1;return e.charAt(O)===i[M]&&(O++,t=!0),t},I=a.calendars.standard,z=null,E=null,A=null,N=null,R=null,H=null,P=null,M=0,O=0,B=!1,L=new Date,V=I.twoDigitYearMax||2029,U=L.getFullYear();for(i||(i="d"),p=I.patterns[i],p&&(i=p),i=i.split(""),c=i.length;M2)continue;if(A=u<3?S(2):F(I._lowerDays[3==u?"namesAbbr":"names"],!0),null===A||t(A,1,31))return null}else if("M"===d){if(u=T("M"),I._lowerMonths||(I._lowerMonths=s(I.months)),E=u<3?S(2):F(I._lowerMonths[3==u?"namesAbbr":"names"],!0),null===E||t(E,1,12))return null;E-=1}else if("y"===d){if(u=T("y"),z=S(u),null===z)return null;2==u&&("string"==typeof V&&(V=U+parseInt(V,10)),z=U-U%100+z,z>V&&(z-=100))}else if("h"===d){if(T("h"),N=S(2),12==N&&(N=0),null===N||t(N,0,11))return null}else if("H"===d){if(T("H"),N=S(2),null===N||t(N,0,23))return null}else if("m"===d){if(T("m"),R=S(2),null===R||t(R,0,59))return null}else if("s"===d){if(T("s"),H=S(2),null===H||t(H,0,59))return null}else if("f"===d){if(u=T("f"),C=e.substr(O,u).match(y[3]),P=S(u),null!==P&&(P=parseFloat("0."+C[0],10),P=be._round(P,3),P*=1e3),null===P||t(P,0,999))return null}else if("t"===d){if(u=T("t"),_=I.AM,b=I.PM,1===u&&(_=o(_),b=o(b)),f=F(b),!f&&!F(_))return null}else if("z"===d){if(g=!0,u=T("z"),"Z"===e.substr(O,1)){D();continue}if(v=e.substr(O,6).match(u>2?m:h),!v)return null;if(v=v[0].split(":"),w=v[0],k=v[1],!k&&w.length>3&&(O=w.length-2,k=w.substring(O),w=w.substring(0,O)),w=parseInt(w,10),t(w,-12,13))return null;if(u>2&&(k=v[0][0]+k,k=parseInt(k,10),isNaN(k)||t(k,-59,59)))return null}else if("'"===d)B=!0,D();else if(!D())return null;return l&&!/^\s*$/.test(e.substr(O))?null:(x=null!==N||null!==R||H||null,null===z&&null===E&&null===A&&x?(z=U,E=L.getMonth(),A=L.getDate()):(null===z&&(z=U),null===A&&(A=1)),f&&N<12&&(N+=12),g?(w&&(N+=-w),k&&(R+=-k),e=new Date(Date.UTC(z,E,A,N,R,H,P))):(e=new Date(z,E,A,N,R,H,P),r(e,N)),z<100&&e.setFullYear(z),e.getDate()!==A&&g===n?null:e)}function d(e){var t="-"===e.substr(0,1)?-1:1;return e=e.substring(1),e=60*parseInt(e.substr(0,2),10)+parseInt(e.substring(2),10),t*e}function u(e){var t,n,i,o=Te.max(_.length,b.length),r=e.calendar||e.calendars.standard,a=r.patterns,s=[];for(i=0;i0?null:(u=u>-1,e.indexOf(l)>-1||n&&n.toLowerCase().indexOf("c")>-1?(r=s,i=r.pattern[0].replace("$",l).split("n"),e.indexOf(i[0])>-1&&e.indexOf(i[1])>-1&&(e=e.replace(i[0],"").replace(i[1],""),u=!0)):e.indexOf(d)>-1&&(o=!0,r=a,l=d),e=e.replace("-","").replace(l,"").replace(p," ").split(r[","].replace(p," ")).join("").replace(r["."],"."),e=parseFloat(e),isNaN(e)?e=null:u&&(e*=-1),e&&o&&(e/=100),e)}}(),function(){var i,o,r,a,s,l,d,u,p,f,h,m;Fe._scrollbar=n,Fe.scrollbar=function(e){if(isNaN(Fe._scrollbar)||e){var t,n=document.createElement("div");return n.style.cssText="overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block",n.innerHTML=" ",document.body.appendChild(n),Fe._scrollbar=t=n.offsetWidth-n.scrollWidth,document.body.removeChild(n),t}return Fe._scrollbar},Fe.isRtl=function(t){return e(t).closest(".k-rtl").length>0},i=document.createElement("table");try{i.innerHTML="",Fe.tbodyInnerHtml=!0}catch(g){Fe.tbodyInnerHtml=!1}Fe.touch="ontouchstart"in t,o=document.documentElement.style,r=Fe.transitions=!1,a=Fe.transforms=!1,s="HTMLElement"in t?HTMLElement.prototype:[],Fe.hasHW3D="WebKitCSSMatrix"in t&&"m11"in new t.WebKitCSSMatrix||"MozPerspective"in o||"msPerspective"in o,Fe.cssFlexbox="flexWrap"in o||"WebkitFlexWrap"in o||"msFlexWrap"in o,we(["Moz","webkit","O","ms"],function(){var e,t=""+this,n=typeof i.style[t+"Transition"]===Ne;if(n||typeof i.style[t+"Transform"]===Ne)return e=t.toLowerCase(),a={css:"ms"!=e?"-"+e+"-":"",prefix:t,event:"o"===e||"webkit"===e?e:""},n&&(r=a,r.event=r.event?r.event+"TransitionEnd":"transitionend"),!1}),i=null,Fe.transforms=a,Fe.transitions=r,Fe.devicePixelRatio=t.devicePixelRatio===n?1:t.devicePixelRatio;try{Fe.screenWidth=t.outerWidth||t.screen?t.screen.availWidth:t.innerWidth,Fe.screenHeight=t.outerHeight||t.screen?t.screen.availHeight:t.innerHeight}catch(g){Fe.screenWidth=t.screen.availWidth,Fe.screenHeight=t.screen.availHeight}Fe.detectOS=function(e){var n,i,o=!1,r=[],a=!/mobile safari/i.test(e),s={wp:/(Windows Phone(?: OS)?)\s(\d+)\.(\d+(\.\d+)?)/,fire:/(Silk)\/(\d+)\.(\d+(\.\d+)?)/,android:/(Android|Android.*(?:Opera|Firefox).*?\/)\s*(\d+)\.?(\d+(\.\d+)?)?/,iphone:/(iPhone|iPod).*OS\s+(\d+)[\._]([\d\._]+)/,ipad:/(iPad).*OS\s+(\d+)[\._]([\d_]+)/,meego:/(MeeGo).+NokiaBrowser\/(\d+)\.([\d\._]+)/,webos:/(webOS)\/(\d+)\.(\d+(\.\d+)?)/,blackberry:/(BlackBerry|BB10).*?Version\/(\d+)\.(\d+(\.\d+)?)/,playbook:/(PlayBook).*?Tablet\s*OS\s*(\d+)\.(\d+(\.\d+)?)/,windows:/(MSIE)\s+(\d+)\.(\d+(\.\d+)?)/,tizen:/(tizen).*?Version\/(\d+)\.(\d+(\.\d+)?)/i,sailfish:/(sailfish).*rv:(\d+)\.(\d+(\.\d+)?).*firefox/i,ffos:/(Mobile).*rv:(\d+)\.(\d+(\.\d+)?).*Firefox/},l={ios:/^i(phone|pad|pod)$/i,android:/^android|fire$/i,blackberry:/^blackberry|playbook/i,windows:/windows/,wp:/wp/,flat:/sailfish|ffos|tizen/i,meego:/meego/},d={tablet:/playbook|ipad|fire/i},u={omini:/Opera\sMini/i,omobile:/Opera\sMobi/i,firefox:/Firefox|Fennec/i,mobilesafari:/version\/.*safari/i,ie:/MSIE|Windows\sPhone/i,chrome:/chrome|crios/i,webkit:/webkit/i};for(i in s)if(s.hasOwnProperty(i)&&(r=e.match(s[i]))){if("windows"==i&&"plugins"in navigator)return!1;o={},o.device=i,o.tablet=c(i,d,!1),o.browser=c(e,u,"default"),o.name=c(i,l),o[o.name]=!0,o.majorVersion=r[2],o.minorVersion=(r[3]||"0").replace("_","."),n=o.minorVersion.replace(".","").substr(0,2),o.flatVersion=o.majorVersion+n+Array(3-(n.length<3?n.length:2)).join("0"),o.cordova=typeof t.PhoneGap!==Oe||typeof t.cordova!==Oe,o.appMode=t.navigator.standalone||/file|local|wmapp/.test(t.location.protocol)||o.cordova,o.android&&(Fe.devicePixelRatio<1.5&&o.flatVersion<400||a)&&(Fe.screenWidth>800||Fe.screenHeight>800)&&(o.tablet=i);break}return o},l=Fe.mobileOS=Fe.detectOS(navigator.userAgent),Fe.wpDevicePixelRatio=l.wp?screen.width/320:0,Fe.hasNativeScrolling=!1,(l.ios||l.android&&l.majorVersion>2||l.wp)&&(Fe.hasNativeScrolling=l),Fe.delayedClick=function(){if(Fe.touch){if(l.ios)return!0;if(l.android)return!Fe.browser.chrome||!(Fe.browser.version<32)&&!(e("meta[name=viewport]").attr("content")||"").match(/user-scalable=no/i)}return!1},Fe.mouseAndTouchPresent=Fe.touch&&!(Fe.mobileOS.ios||Fe.mobileOS.android),Fe.detectBrowser=function(e){var t,n=!1,i=[],o={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome|crios)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+)|)/i};for(t in o)if(o.hasOwnProperty(t)&&(i=e.match(o[t]))){n={},n[t]=!0,n[i[1].toLowerCase().split(" ")[0].split("/")[0]]=!0,n.version=parseInt(document.documentMode||i[2],10);break}return n},Fe.browser=Fe.detectBrowser(navigator.userAgent),Fe.detectClipboardAccess=function(){var e={copy:!!document.queryCommandSupported&&document.queryCommandSupported("copy"),cut:!!document.queryCommandSupported&&document.queryCommandSupported("cut"),paste:!!document.queryCommandSupported&&document.queryCommandSupported("paste")};return Fe.browser.chrome&&(e.paste=!1,Fe.browser.version>=43&&(e.copy=!0,e.cut=!0)),e},Fe.clipboard=Fe.detectClipboardAccess(),Fe.zoomLevel=function(){var e,n,i;try{return e=Fe.browser,n=0,i=document.documentElement,e.msie&&11==e.version&&i.scrollHeight>i.clientHeight&&!Fe.touch&&(n=Fe.scrollbar()),Fe.touch?i.clientWidth/t.innerWidth:e.msie&&e.version>=10?((top||t).document.documentElement.offsetWidth+n)/(top||t).innerWidth:1}catch(o){return 1}},Fe.cssBorderSpacing=n!==o.borderSpacing&&!(Fe.browser.msie&&Fe.browser.version<8),function(t){var n="",i=e(document.documentElement),o=parseInt(t.version,10);t.msie?n="ie":t.mozilla?n="ff":t.safari?n="safari":t.webkit?n="webkit":t.opera?n="opera":t.edge&&(n="edge"),n&&(n="k-"+n+" k-"+n+o),Fe.mobileOS&&(n+=" k-mobile"),Fe.cssFlexbox||(n+=" k-no-flexbox"),i.addClass(n)}(Fe.browser),Fe.eventCapture=document.documentElement.addEventListener,d=document.createElement("input"),Fe.placeholder="placeholder"in d,Fe.propertyChangeEvent="onpropertychange"in d,Fe.input=function(){for(var e,t=["number","date","time","month","week","datetime","datetime-local"],n=t.length,i="test",o={},r=0;rt.field?1:e.field/g,J=function(e){return e.target},Fe.touch&&(J=function(e){var t="originalEvent"in e?e.originalEvent.changedTouches:"changedTouches"in e?e.changedTouches:null;return t?document.elementFromPoint(t[0].clientX,t[0].clientY):e.target},we(["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap"],function(t,n){e.fn[n]=function(e){return this.bind(n,e)}})),Fe.touch?Fe.mobileOS?(Fe.mousedown="touchstart",Fe.mouseup="touchend",Fe.mousemove="touchmove",Fe.mousecancel="touchcancel",Fe.click="touchend",Fe.resize="orientationchange"):(Fe.mousedown="mousedown touchstart",Fe.mouseup="mouseup touchend",Fe.mousemove="mousemove touchmove",Fe.mousecancel="mouseleave touchcancel",Fe.click="click",Fe.resize="resize"):Fe.pointers?(Fe.mousemove="pointermove",Fe.mousedown="pointerdown",Fe.mouseup="pointerup",Fe.mousecancel="pointercancel",Fe.click="pointerup",Fe.resize="orientationchange resize"):Fe.msPointers?(Fe.mousemove="MSPointerMove",Fe.mousedown="MSPointerDown",Fe.mouseup="MSPointerUp",Fe.mousecancel="MSPointerCancel",Fe.click="MSPointerUp",Fe.resize="orientationchange resize"):(Fe.mousemove="mousemove",Fe.mousedown="mousedown",Fe.mouseup="mouseup",Fe.mousecancel="mouseleave",Fe.click="click",Fe.resize="resize"),Z=function(e,t){var n,i,o,r,a=t||"d",s=1;for(i=0,o=e.length;i0||t.height>0)&&(!n||t.width!==n.width||t.height!==n.height))&&(this._size=t,this._resize(t,e),this.trigger("resize",t))},getSize:function(){return be.dimensions(this.element)},size:function(e){return e?(this.setSize(e),n):this.getSize()},setSize:e.noop,_resize:e.noop,destroy:function(){var e=this;e.element.removeData("kendo"+e.options.prefix+e.options.name),e.element.removeData("handler"),e.unbind()},_destroy:function(){this.destroy()},angular:function(){},_muteAngularRebind:function(e){this._muteRebind=!0,e.call(this),this._muteRebind=!1}}),ne=te.extend({dataItems:function(){return this.dataSource.flatView()},_angularItems:function(t){var n=this;n.angular(t,function(){return{elements:n.items(),data:e.map(n.dataItems(),function(e){return{dataItem:e}})}})}}),be.dimensions=function(e,t){var n=e[0];return t&&e.css(t),{width:n.offsetWidth,height:n.offsetHeight}},be.notify=Ce,ie=/template$/i,oe=/^\s*(?:\{(?:.|\r\n|\n)*\}|\[(?:.|\r\n|\n)*\])\s*$/,re=/^\{(\d+)(:[^\}]+)?\}|^\[[A-Za-z_]+\]$/,ae=/([A-Z])/g,be.initWidget=function(i,o,r){var a,s,l,d,u,c,p,f,h,m,g,v,_;if(r?r.roles&&(r=r.roles):r=be.ui.roles,i=i.nodeType?i:i[0],c=i.getAttribute("data-"+be.ns+"role")){h=c.indexOf(".")===-1,l=h?r[c]:be.getter(c)(t),g=e(i).data(),v=l?"kendo"+l.fn.options.prefix+l.fn.options.name:"",m=h?RegExp("^kendo.*"+c+"$","i"):RegExp("^"+v+"$","i");for(_ in g)if(_.match(m)){if(_!==v)return g[_];a=g[_]}if(l){for(f=S(i,"dataSource"),o=e.extend({},F(i,e.extend({},l.fn.options,l.fn.defaults)),o),f&&(o.dataSource=typeof f===Ne?be.getter(f)(t):f),d=0,u=l.fn.events.length;d{1}
",l,be.ui.progress.messages.loading)).width(i.width).height(i.height).css("top",i.top).css(r,Math.abs(s)+a).prependTo(t)):d&&d.remove()},plugin:function(t,i,o){var r,a,s,l,d=t.fn.options.name;for(i=i||be.ui,o=o||"",i[d]=t,i.roles[d.toLowerCase()]=t,r="getKendo"+o+d,d="kendo"+o+d,a={name:d,widget:t,prefix:o||""},be.widgets.push(a),s=0,l=be._widgetRegisteredCallbacks.length;s=0&&(d=[be.getter(l)(t)]),i=0,o=d.length;i-1)}}),de=["mousedown","mousemove","mouseenter","mouseleave","mouseover","mouseout","mouseup","click"],ue="label, input, [data-rel=external]",ce={setupMouseMute:function(){var t,n=0,i=de.length,o=document.documentElement;if(!ce.mouseTrap&&Fe.eventCapture)for(ce.mouseTrap=!0,ce.bustClick=!1,ce.captureMouse=!1,t=function(t){ce.captureMouse&&("click"===t.type?ce.bustClick&&!e(t.target).is(ue)&&(t.preventDefault(),t.stopPropagation()):t.stopPropagation())};n-1&&this[0]!==document.documentElement&&(ce.setupMouseMute(),o=2===t.length?null:t[1],r=i.indexOf("click")>-1&&i.indexOf("touchend")>-1,me.call(this,{touchstart:ce.muteMouse,touchend:ce.unMuteMouse},o,{bustClick:r})),arguments[0].indexOf("keydown")!==-1&&t[1]&&t[1].options?(t[0]=i,a=t[1],s=t[t.length-1],t[t.length-1]=function(e){if(be.keyDownHandler(e,a))return s.apply(this,[e])},me.apply(l,t),l):(typeof n===Ne&&(e=l.data("handler"),n=e[n],t[t.length-1]=function(t){n.call(e,t)}),t[0]=i,me.apply(l,t),l))},kendoDestroy:function(e){return e=e||this.data("kendoNS"),e&&this.off("."+e),this}}),be.jQuery=A,be.eventMap=pe,be.timezone=function(){function e(e,t){var n,i,o,r=t[3],a=t[4],s=t[5],l=t[8];return l||(t[8]=l={}),l[e]?l[e]:(isNaN(a)?0===a.indexOf("last")?(n=new Date(Date.UTC(e,u[r]+1,1,s[0]-24,s[1],s[2],0)),i=c[a.substr(4,3)],o=n.getUTCDay(),n.setUTCDate(n.getUTCDate()+i-o-(i>o?7:0))):a.indexOf(">=")>=0?(n=new Date(Date.UTC(e,u[r],a.substr(5),s[0],s[1],s[2],0)),i=c[a.substr(0,3)],o=n.getUTCDay(),n.setUTCDate(n.getUTCDate()+i-o+(i=0&&(n=new Date(Date.UTC(e,u[r],a.substr(5),s[0],s[1],s[2],0)),i=c[a.substr(0,3)],o=n.getUTCDay(),n.setUTCDate(n.getUTCDate()+i-o-(i>o?7:0))):n=new Date(Date.UTC(e,u[r],a,s[0],s[1],s[2],0)),l[e]=n)}function t(t,n,i){var o,r,a,s;return(n=n[i])?(a=new Date(t).getUTCFullYear(),n=jQuery.grep(n,function(e){var t=e[0],n=e[1];return t<=a&&(n>=a||t==a&&"only"==n||"max"==n)}),n.push(t),n.sort(function(t,n){return"number"!=typeof t&&(t=+e(a,t)),"number"!=typeof n&&(n=+e(a,n)),t-n}),s=n[jQuery.inArray(t,n)-1]||n[n.length-1],isNaN(s)?s:null):(o=i.split(":"),r=0,o.length>1&&(r=60*o[0]+ +o[1]),[-1e6,"max","-","Jan",1,[0,0,0],r,"-"])}function n(e,t,n){var i,o,r,a=t[n];if("string"==typeof a&&(a=t[a]),!a)throw Error('Timezone "'+n+'" is either incorrect, or kendo.timezones.min.js is not included.');for(i=a.length-1;i>=0&&(o=a[i][3],!(o&&e>o));i--);if(r=a[i+1],!r)throw Error('Timezone "'+n+'" not found on '+e+".");return r}function i(e,i,o,r){typeof e!=Re&&(e=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));var a=n(e,i,r);return{zone:a,rule:t(e,o,a[1])}}function o(e,t){var n,o,r;return"Etc/UTC"==t||"Etc/GMT"==t?0:(n=i(e,this.zones,this.rules,t),o=n.zone,r=n.rule,be.parseFloat(r?o[0]-r[6]:o[0]))}function r(e,t){var n=i(e,this.zones,this.rules,t),o=n.zone,r=n.rule,a=o[2];return a.indexOf("/")>=0?a.split("/")[r&&+r[6]?1:0]:a.indexOf("%s")>=0?a.replace("%s",r&&"-"!=r[7]?r[7]:""):a}function a(e,t,n){var i,o,r,a=n;return typeof t==Ne&&(t=this.offset(e,t)),typeof n==Ne&&(n=this.offset(e,n)),o=e.getTimezoneOffset(),e=new Date(e.getTime()+6e4*(t-n)),r=e.getTimezoneOffset(),typeof a==Ne&&(a=this.offset(e,a)),i=r-o+(n-a),new Date(e.getTime()+6e4*i)}function s(e,t){return this.convert(e,e.getTimezoneOffset(),t)}function l(e,t){return this.convert(e,t,e.getTimezoneOffset())}function d(e){return this.apply(new Date(e),"Etc/UTC")}var u={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},c={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6};return{zones:{},rules:{},offset:o,convert:a,apply:s,remove:l,abbr:r,toLocalDate:d}}(),be.date=function(){function e(e,t){return 0===t&&23===e.getHours()&&(e.setHours(e.getHours()+2),!0)}function t(t,n,i){var o=t.getHours();i=i||1,n=(n-t.getDay()+7*i)%7,t.setDate(t.getDate()+n),e(t,o)}function i(e,n,i){return e=new Date(e),t(e,n,i),e}function o(e){return new Date(e.getFullYear(),e.getMonth(),1)}function r(e){var t=new Date(e.getFullYear(),e.getMonth()+1,0),n=o(e),i=Math.abs(t.getTimezoneOffset()-n.getTimezoneOffset());return i&&t.setHours(n.getHours()+i/60),t}function a(e,t){return 1!==t?h(i(e,t,-1),4):h(e,4-(e.getDay()||7))}function s(e,t){var n=new Date(e.getFullYear(),0,1,(-6)),i=a(e,t),o=i.getTime()-n.getTime(),r=Math.floor(o/w);return 1+Math.floor(r/7)}function l(e,t){var i,o,r;return t===n&&(t=be.culture().calendar.firstDay),i=h(e,-7),o=h(e,7),r=s(e,t),0===r?s(i,t)+1:53===r&&s(o,t)>1?1:r}function d(t){return t=new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0),e(t,0),t}function u(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}function c(e){return b(e).getTime()-d(b(e))}function p(e,t,n){var i,o=c(t),r=c(n);return!e||o==r||(t>=n&&(n+=w),i=c(e),o>i&&(i+=w),r=o&&i<=r)}function f(e,t,n){var i,o=t.getTime(),r=n.getTime();return o>=r&&(r+=w),i=e.getTime(),i>=o&&i<=r}function h(t,n){var i=t.getHours();return t=new Date(t),m(t,n*w),e(t,i),t}function m(e,t,n){var i,o=e.getTimezoneOffset();e.setTime(e.getTime()+t),n||(i=e.getTimezoneOffset()-o,e.setTime(e.getTime()+i*y))}function g(t,n){return t=new Date(t.getFullYear(),t.getMonth(),t.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),e(t,n.getHours()),t}function v(){return d(new Date)}function _(e){return d(e).getTime()==v().getTime()}function b(e){var t=new Date(1980,1,1,0,0,0);return e&&t.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),t}var y=6e4,w=864e5;return{adjustDST:e,dayOfWeek:i,setDayOfWeek:t,getDate:d,isInDateRange:f,isInTimeRange:p,isToday:_,nextDay:function(e){return h(e,1)},previousDay:function(e){return h(e,-1)},toUtcTime:u,MS_PER_DAY:w,MS_PER_HOUR:60*y,MS_PER_MINUTE:y,setTime:m,setHours:g,addDays:h,today:v,toInvariantTime:b,firstDayOfMonth:o,lastDayOfMonth:r,weekInYear:l,getMilliseconds:c}}(),be.stripWhitespace=function(e){var t,n,i;if(document.createNodeIterator)for(t=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,function(t){return t.parentNode==e?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT},!1);t.nextNode();)t.referenceNode&&!t.referenceNode.textContent.trim()&&t.referenceNode.parentNode.removeChild(t.referenceNode);else for(n=0;nt?o():i=setTimeout(o,t-s),n):o()},o.cancel=function(){clearTimeout(i)},o)},be.caret=function(t,i,o){var r,a,s,l,d,u=i!==n;if(o===n&&(o=i),t[0]&&(t=t[0]),!u||!t.disabled){try{t.selectionStart!==n?u?(t.focus(),a=Fe.mobileOS,a.wp||a.android?setTimeout(function(){t.setSelectionRange(i,o)},0):t.setSelectionRange(i,o)):i=[t.selectionStart,t.selectionEnd]:document.selection&&(e(t).is(":visible")&&t.focus(),r=t.createTextRange(),u?(r.collapse(!0),r.moveStart("character",i),r.moveEnd("character",o-i),r.select()):(s=r.duplicate(),r.moveToBookmark(document.selection.createRange().getBookmark()),s.setEndPoint("EndToStart",r),l=s.text.length,d=l+r.text.length,i=[l,d]))}catch(c){i=[]}return i}},be.compileMobileDirective=function(e,n){var i=t.angular;return e.attr("data-"+be.ns+"role",e[0].tagName.toLowerCase().replace("kendo-mobile-","").replace("-","")),i.element(e).injector().invoke(["$compile",function(t){t(e)(n),/^\$(digest|apply)$/.test(n.$$phase)||n.$digest()}]),be.widgetInstance(e,be.mobile.ui)},be.antiForgeryTokens=function(){var t={},i=e("meta[name=csrf-token],meta[name=_csrf]").attr("content"),o=e("meta[name=csrf-param],meta[name=_csrf_header]").attr("content");return e("input[name^='__RequestVerificationToken']").each(function(){t[this.name]=this.value}),o!==n&&i!==n&&(t[o]=i),t},be.cycleForm=function(e){function t(e){var t=be.widgetInstance(e);t&&t.focus?t.focus():e.focus()}var n=e.find("input, .k-widget").first(),i=e.find("button, .k-button").last();i.on("keydown",function(e){e.keyCode!=be.keys.TAB||e.shiftKey||(e.preventDefault(),t(n))}),n.on("keydown",function(e){e.keyCode==be.keys.TAB&&e.shiftKey&&(e.preventDefault(),t(i))})},be.focusElement=function(n){var i=[],o=n.parentsUntil("body").filter(function(e,t){var n=be.getComputedStyles(t,["overflow"]);return"visible"!==n.overflow}).add(t);o.each(function(t,n){i[t]=e(n).scrollTop()});try{n[0].setActive()}catch(r){n[0].focus()}o.each(function(t,n){e(n).scrollTop(i[t])})},be.focusNextElement=function(){var t,n,i;document.activeElement&&(t=e(":kendoFocusable"),n=t.index(document.activeElement),n>-1&&(i=t[n+1]||t[0],i.focus()))},be.trim=function(e){return e?(""+e).trim():""},be.getWidgetFocusableElement=function(t){var n,i=t.closest(":kendoFocusable"),o=be.widgetInstance(t);return n=i.length?i:o?"Editor"===o.options.name?e(o.body):o.wrapper.find(":kendoFocusable").first():t},be.addAttribute=function(e,t,n){var i=e.attr(t)||"";i.indexOf(n)<0&&e.attr(t,(i+" "+n).trim())},be.removeAttribute=function(e,t,n){var i=e.attr(t)||"";e.attr(t,i.replace(n,"").trim())},be.toggleAttribute=function(e,t,n){var i=e.attr(t)||"";i.indexOf(n)<0?be.addAttribute(e,t,n):be.removeAttribute(e,t,n)},be.matchesMedia=function(e){var n=be._bootstrapToMedia(e)||e;return Fe.matchMedia&&t.matchMedia(n).matches},be._bootstrapToMedia=function(e){return{xs:"(max-width: 576px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)"}[e]},be.fileGroupMap={audio:[".aif",".iff",".m3u",".m4a",".mid",".mp3",".mpa",".wav",".wma",".ogg",".wav",".wma",".wpl"],video:[".3g2",".3gp",".avi",".asf",".flv",".m4u",".rm",".h264",".m4v",".mkv",".mov",".mp4",".mpg",".rm",".swf",".vob",".wmv"],image:[".ai",".dds",".heic",".jpe","jfif",".jif",".jp2",".jps",".eps",".bmp",".gif",".jpeg",".jpg",".png",".ps",".psd",".svg",".svgz",".tif",".tiff"],txt:[".doc",".docx",".log",".pages",".tex",".wpd",".wps",".odt",".rtf",".text",".txt",".wks"],presentation:[".key",".odp",".pps",".ppt",".pptx"],data:[".xlr",".xls",".xlsx"],programming:[".tmp",".bak",".msi",".cab",".cpl",".cur",".dll",".dmp",".drv",".icns",".ico",".link",".sys",".cfg",".ini",".asp",".aspx",".cer",".csr",".css",".dcr",".htm",".html",".js",".php",".rss",".xhtml"],pdf:[".pdf"],config:[".apk",".app",".bat",".cgi",".com",".exe",".gadget",".jar",".wsf"],zip:[".7z",".cbr",".gz",".sitx",".arj",".deb",".pkg",".rar",".rpm",".tar.gz",".z",".zip",".zipx"],"disc-image":[".dmg",".iso",".toast",".vcd",".bin",".cue",".mdf"]},be.getFileGroup=function(e,t){var i,o,r=be.fileGroupMap,a=Object.keys(r),s="file";if(e===n||!e.length)return s;for(i=0;i-1)return t?"file-"+a[i]:a[i];return s},be.getFileSizeMessage=function(e){var t,n=["Bytes","KB","MB","GB","TB"];return 0===e?"0 Byte":(t=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10),Math.round(e/Math.pow(1024,t),2)+" "+n[t])},be.selectorFromClasses=function(e){return"."+e.split(" ").join(".")},function(){function n(t,n,i,o){var r,a,s=e("
").attr({action:i,method:"POST",target:o}),l=be.antiForgeryTokens();l.fileName=n,r=t.split(";base64,"),l.contentType=r[0].replace("data:",""),l.base64=r[1];for(a in l)l.hasOwnProperty(a)&&e("").attr({value:l[a],name:a,type:"hidden"}).appendTo(s);s.appendTo("body").submit().remove()}function i(e,t){var n,i,o,r,a,s=e;if("string"==typeof e){for(n=e.split(";base64,"),i=n[0],o=atob(n[1]),r=new Uint8Array(o.length),a=0;a3?"substringof"!==i?d="{0}({2},"+d+")":(d="{0}("+d+",{2})","doesnotcontain"===u&&(o?(d="{0}({2},'{1}') eq -1",i="indexof"):d+=" eq false")):d="{2} {0} "+d,i=m.format(d,i,c,s))),f.push(i);return i=f.join(" "+h+" "),f.length>1&&(i="("+i+")"),i}function i(e){for(var t in e)0===t.indexOf("@odata")&&delete e[t]}function o(){return Math.floor(65536*(1+Math.random())).toString(16).substr(1)}function r(e){return e+o()+"-"+o()+"-"+o()}function a(e,t){var n=v+"--"+e;return t&&(n+="--"),n}function s(e,t,n,i){var o=e.options[i].url,r=m.format("{0} ",n);return b(o)?r+o(t):r+o}function l(e,t){var n="";return n+=a(e,!1),n+=v+"Content-Type: application/http",n+=v+"Content-Transfer-Encoding: binary",n+=v+"Content-ID: "+t}function d(e){var t="";return t+=v+"Content-Type: application/json;odata=minimalmetadata",t+=v+"Prefer: return=representation",t+=_+m.stringify(e)}function u(e,t,n,i,o,r){var a,u="";for(a=0;a=200&&i<=299?(r=t.match(/\{.*\}/gm),r&&d[d.length-1].models.push(JSON.parse(r[0]))):d[d.length-1].passed=!1);return d}var m=window.kendo,g=e.extend,v="\r\n",_="\r\n\r\n",b=m.isFunction,y={eq:"eq",neq:"ne",gt:"gt",gte:"ge",lt:"lt",lte:"le",contains:"substringof",doesnotcontain:"substringof",endswith:"endswith",startswith:"startswith",isnull:"eq",isnotnull:"ne",isnullorempty:"eq",isnotnullorempty:"ne",isempty:"eq",isnotempty:"ne"},w=g({},y,{contains:"contains"}),k={pageSize:e.noop,page:e.noop,filter:function(e,t,i){t&&(t=n(t,i),t&&(e.$filter=t))},sort:function(t,n){var i=e.map(n,function(e){var t=e.field.replace(/\./g,"/");return"desc"===e.dir&&(t+=" desc"),t}).join(",");i&&(t.$orderby=i)},skip:function(e,t){t&&(e.$skip=t)},take:function(e,t){t&&(e.$top=t)}},x={read:{dataType:"jsonp"}};g(!0,m.data,{schemas:{odata:{type:"json",data:function(e){return e.d.results||[e.d]},total:"d.__count"}},transports:{odata:{read:{cache:!0,dataType:"jsonp",jsonp:"$callback"},update:{cache:!0,dataType:"json",contentType:"application/json",type:"PUT"},create:{cache:!0,dataType:"json",contentType:"application/json",type:"POST"},destroy:{cache:!0,dataType:"json",type:"DELETE"},parameterMap:function(e,t,n){var i,o,r,a;if(e=e||{},t=t||"read",a=(this.options||x)[t],a=a?a.dataType:"json","read"===t){i={$inlinecount:"allpages"},"json"!=a&&(i.$format="json");for(r in e)k[r]?k[r](i,e[r],n):i[r]=e[r]}else{if("json"!==a)throw Error("Only json dataType can be used for "+t+" operation.");if("destroy"!==t){for(r in e)o=e[r],"number"==typeof o&&(e[r]=o+"");i=m.stringify(e)}}return i}}}}),g(!0,m.data,{schemas:{"odata-v4":{type:"json",data:function(t){if(e.isArray(t)){for(var n=0;n=0?e.replace(/\.?(@.*)/,t?"$1":'["$1"]'):e.indexOf("text()")>=0?e.replace(/(\.?text\(\))/,t?"#text":'["#text"]'):e):""},getter:function(e){return l(this.xpathToMember(e),!0)}});e.extend(!0,n.data,{XmlDataReader:u,readers:{xml:u}})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.data.min",["kendo.core.min","kendo.data.odata.min","kendo.data.xml.min"],e)}(function(){return function(e,t){function n(e,t,n,i){return function(o){var r,a={};for(r in o)a[r]=o[r];a.field=i?n+"."+o.field:n,t==He&&e._notifyChange&&e._notifyChange(a),e.trigger(t,a)}}function i(t,n){if(t===n)return!0;var o,r=e.type(t),a=e.type(n);if(r!==a)return!1;if("date"===r)return t.getTime()===n.getTime();if("object"!==r&&"array"!==r)return!1;for(o in t)if(!i(t[o],n[o]))return!1;return!0}function o(e,t){var n,i;for(i in e){if(n=e[i],ve(n)&&n.field&&n.field===t)return n;if(n===t)return n}return null}function r(e){this.data=e||[]}function a(e,n){if(e){var i=typeof e===De?{field:e,dir:n}:e,o=be(i)?i:i!==t?[i]:[];return ye(o,function(e){return!!e.dir})}}function s(e,n){var i,o,r,a={};if(e)for(i=typeof e===De?{field:e,dir:n}:e,o=be(i)?i:i!==t?[i]:[],r=0;rt.field?1:e.field=t.length)););s0&&(t=this[n--]);n>=0;n--)t=e(t,this[n],n,this);return t},filter:function(e,t){for(var n,i=0,o=[],r=this.length,a=t||window;i=0;if(a)for(n=e.split("."),i="";n.length>1;){if(i+=n.shift(),o=Ce.getter(i,!0)(r),o instanceof Q)return o.set(n.join("."),t),a;i+="."}return Ce.setter(e)(r,t),a},set:function(e,t){var n=this,i=!1,o=e.indexOf(".")>=0,r=Ce.getter(e,!0)(n);return r!==t&&(r instanceof Se&&this._handlers[e]&&(this._handlers[e].get&&r.unbind(Me,this._handlers[e].get),r.unbind(He,this._handlers[e].change)),i=n.trigger("set",{field:e,value:t}),i||(o||(t=n.wrap(t,e,function(){return n})),(!n._set(e,t)||e.indexOf("(")>=0||e.indexOf("[")>=0)&&n.trigger(He,{field:e}))),i},parent:xe,wrap:function(e,t,i){var o,r,a,s,l=this,d=et.call(e);return null==e||"[object Object]"!==d&&"[object Array]"!==d||(a=e instanceof it,s=e instanceof de,"[object Object]"!==d||s||a?("[object Array]"===d||a||s)&&(a||s||(e=new it(e)),r=n(l,He,t,!1),e.bind(He,r),l._handlers[t]={change:r}):(e instanceof Q||(e=new Q(e)),o=n(l,Me,t,!0),e.bind(Me,o),r=n(l,He,t,!0),e.bind(He,r),l._handlers[t]={get:o,change:r}),e.parent=i),e}}),X={number:function(e){return typeof e===De&&"null"===e.toLowerCase()?null:Ce.parseFloat(e)},date:function(e){return typeof e===De&&"null"===e.toLowerCase()?null:Ce.parseDate(e)},"boolean":function(e){return typeof e===De?"null"===e.toLowerCase()?null:"true"===e.toLowerCase():null!=e?!!e:e},string:function(e){return typeof e===De&&"null"===e.toLowerCase()?null:null!=e?e+"":e},"default":function(e){return e}},J={string:"",number:0,date:new Date,"boolean":!1,"default":""},Z=Q.extend({init:function(n){var i,o,r=this;if((!n||e.isEmptyObject(n))&&(n=e.extend({},r.defaults,n),r._initializers))for(i=0;i0&&(c._initializers=h),i=e.extend(c),i.define=function(e){return Z.define(i,e)},c.fields&&(i.fields=c.fields,i.idField=c.idField),i},ee={selector:function(e){return Te(e)?e:je(e)},compare:function(e){var t=this.selector(e);return function(e,n){return e=t(e),n=t(n),null==e&&null==n?0:null==e?-1:null==n?1:e.localeCompare?e.localeCompare(n):e>n?1:eo?1:-1}},desc:function(e){var t=this.selector(e);return function(e,n){var i=t(e),o=t(n);return i&&i.getTime&&o&&o.getTime&&(i=i.getTime(),o=o.getTime()),i===o?e.__position-n.__position:null==i?1:null==o?-1:o.localeCompare?o.localeCompare(i):i=0?"\\"+o:o}n=!1}return t+"$/"}return{quote:function(t){return t&&t.getTime?"new Date("+t.getTime()+")":e(t)},eq:function(e,t,i,o){return n("==",e,t,i,o)},neq:function(e,t,i,o){return n("!=",e,t,i,o)},gt:function(e,t,i){return n(">",e,t,i)},gte:function(e,t,i){return n(">=",e,t,i)},lt:function(e,t,i){return n("<",e,t,i)},lte:function(e,t,i){return n("<=",e,t,i)},startswith:t(function(e,t){return e+".lastIndexOf("+t+", 0) == 0"}),doesnotstartwith:t(function(e,t){return e+".lastIndexOf("+t+", 0) == -1"}),endswith:t(function(e,t){var n=t?t.length-2:0;return e+".indexOf("+t+", "+e+".length - "+n+") >= 0"}),doesnotendwith:t(function(e,t){var n=t?t.length-2:0;return e+".indexOf("+t+", "+e+".length - "+n+") < 0"}),contains:t(function(e,t){return e+".indexOf("+t+") >= 0"}),doesnotcontain:t(function(e,t){return e+".indexOf("+t+") == -1"}),matches:t(function(e,t){return t=t.substring(1,t.length-1),i(t)+".test("+e+")"}),doesnotmatch:t(function(e,t){return t=t.substring(1,t.length-1),"!"+i(t)+".test("+e+")"}),isempty:function(e){return e+" === ''"},isnotempty:function(e){return e+" !== ''"},isnull:function(e){return"("+e+" == null)"},isnotnull:function(e){return"("+e+" != null)"},isnullorempty:function(e){return"("+e+" === null) || ("+e+" === '')"},isnotnullorempty:function(e){return"("+e+" !== null) && ("+e+" !== '')"}}}(),r.filterExpr=function(e){var n,i,o,a,s,l,d=[],u={and:" && ",or:" || "},c=[],p=[],f=e.filters;for(n=0,i=f.length;n":"gt",isgreaterthan:"gt",greaterthan:"gt",greater:"gt",">=":"gte",isgreaterthanorequalto:"gte",greaterthanequal:"gte",ge:"gte",notsubstringof:"doesnotcontain",isnull:"isnull",isempty:"isempty",isnotempty:"isnotempty"},r.normalizeFilter=d,r.compareFilters=f,r.prototype={toArray:function(){return this.data},range:function(e,t){return new r(this.data.slice(e,e+t))},skip:function(e){return new r(this.data.slice(e))},take:function(e){return new r(this.data.slice(0,e))},select:function(e){return new r(Y(this.data,e))},order:function(e,t,n){var i={dir:t};return e&&(e.compare?i.compare=e.compare:i.field=e),new r(n?this.data.sort(ee.create(i)):this.data.slice(0).sort(ee.create(i)))},orderBy:function(e,t){return this.order(e,"asc",t)},orderByDescending:function(e,t){return this.order(e,"desc",t)},sort:function(e,t,n,i){var o,r,s=a(e,t),l=[];if(n=n||ee,s.length){for(o=0,r=s.length;o0&&(i=e[0],a=n&&n.groupPaging?new r(t).groupAllData(i,t).select(function(o){var a=new r(t).filter([{field:o.field,operator:"eq",value:o.value,ignoreCase:!1}]),s=e.length>1?new r(o.items).group(e.slice(1),a.toArray(),n).toArray():o.items;return{field:o.field,value:o.value,hasSubgroups:e.length>1,items:s,aggregates:a.aggregate(i.aggregates),uid:Ce.guid(),itemCount:s.length,subgroupCount:s.length}}):a.groupBy(i).select(function(n){var o=new r(t).filter([{field:n.field,operator:"eq",value:n.value,ignoreCase:!1}]);return{field:n.field,value:n.value,items:e.length>1?new r(n.items).group(e.slice(1),o.toArray()).toArray():n.items,hasSubgroups:e.length>1,aggregates:o.aggregate(i.aggregates)}})),a},groupBy:function(e){var t,n,i,o,a,s,l,d,u,c,p=this;if(_e(e)||!this.data.length)return new r([]);for(t=e.field,n=e.skipItemSorting?this.data:this._sortForGrouping(t,e.dir||"asc"),i=Ce.accessor(t),a=i.get(n[0],t),s={field:t,value:a,items:[]},c=[s],d=0,u=n.length;di&&(y(i)||w(i))&&(e=i),e}},r.normalizeGroup=m,r.normalizeSort=a,r.process=function(e,n,i){var o,s,l,d,u,c,p,f,h,_,b,y;return n=n||{},o=n.group,s=v(m(o||[])),l=new r(e),d=g(o||[]),u=a(n.sort||[]),c=s?u:d.concat(u),h=n.filterCallback,_=n.filter,b=n.skip,y=n.take,c&&i&&(l=l.sort(c,t,t,i)),_&&(l=l.filter(_),h&&(l=h(l)),f=l.toArray().length),c&&(i||(l=l.sort(c)),o&&(e=l.toArray())),s?(l=l.group(o,e),b!==t&&y!==t&&(l=new r(z(l.toArray())).range(b,y),p=Y(d,function(e){return me({},e,{skipItemSorting:!0})}),l=l.group(p,e))):(b!==t&&y!==t&&(l=l.range(b,y)),o&&(l=l.group(o,e,n))),{total:f,data:l.toArray()}},re=Fe.extend({init:function(e){this.data=e.data},read:function(e){e.success(this.data)},update:function(e){e.success(e.data)},create:function(e){e.success(e.data)},destroy:function(e){e.success(e.data)}}),ae=Fe.extend({init:function(e){var t,n=this;e=n.options=me({},n.options,e),ke(Ue,function(t,n){typeof e[n]===De&&(e[n]={url:e[n]})}),n.cache=e.cache?se.create(e.cache):{find:xe,add:xe},t=e.parameterMap,e.submit&&(n.submit=e.submit),Te(e.push)&&(n.push=e.push),n.push||(n.push=We),n.parameterMap=Te(t)?t:function(e){var n={};return ke(e,function(e,i){e in t&&(e=t[e],ve(e)&&(i=e.value(i),e=e.key)),n[e]=i}),n}},options:{parameterMap:We},create:function(e){return we(this.setup(e,Ee))},read:function(n){var i,o,r,a=this,s=a.cache;n=a.setup(n,Ae),i=n.success||xe,o=n.error||xe,r=s.find(n.data),r!==t?i(r):(n.success=function(e){s.add(n.data,e),i(e)},e.ajax(n))},update:function(e){return we(this.setup(e,Ne))},destroy:function(e){return we(this.setup(e,Re))},setup:function(e,t){e=e||{};var n,i=this,o=i.options[t],r=Te(o.data)?o.data(e.data):o.data;return e=me(!0,{},o,e),n=me(!0,{},r,e.data),e.data=i.parameterMap(n,t),Te(e.url)&&(e.url=e.url(n)),e}}),se=Fe.extend({init:function(){this._store={}},add:function(e,n){e!==t&&(this._store[qe(e)]=n)},find:function(e){return this._store[qe(e)]},clear:function(){this._store={}},remove:function(e){delete this._store[qe(e)]}}),se.create=function(e){var t={inmemory:function(){return new se}};return ve(e)&&Te(e.find)?e:e===!0?new se:t[e]()},le=Fe.extend({init:function(e){var t,n,i,o,r,a,s,l,d,u,c,p,f,h,m=this;e=e||{};for(t in e)n=e[t],m[t]=typeof n===De?je(n):n;o=e.modelBase||Z,ve(m.model)&&(m.model=i=o.define(m.model)),r=ge(m.data,m),m._dataAccessFunction=r,m.model&&(a=ge(m.groups,m),s=ge(m.serialize,m),l={},d={},u={},c={},p=!1,i=m.model,i.fields&&(ke(i.fields,function(e,t){var n;f=e,ve(t)&&t.field?f=t.field:typeof t===De&&(f=t),ve(t)&&t.from&&(n=t.from),p=p||n&&n!==e||f!==e,h=n||f,d[e]=h.indexOf(".")!==-1?je(h,!0):je(h),u[e]=je(e),l[n||f]=e,c[e]=n||f}),!e.serialize&&p&&(m.serialize=S(s,i,x,u,l,c))),m._dataAccessFunction=r,m._wrapDataAccessBase=F(i,C,d,l,c),m.data=S(r,i,C,d,l,c),m.groups=S(a,i,T,d,l,c))},errors:function(e){return e?e.errors:null},parse:We,data:We,total:function(e){return e.length},groups:We,aggregates:function(){return{}},serialize:function(e){return e}}),de=Se.extend({init:function(e){var n,i,o,r=this;e&&(i=e.data),e=r.options=me({},r.options,e),r._map={},r._prefetch={},r._data=[],r._pristineData=[],r._ranges=[],r._view=[],r._pristineTotal=0,r._destroyed=[],r._pageSize=e.pageSize,r._page=e.page||(e.pageSize?1:t),r._sort=a(e.sort),r._filter=d(e.filter),r._group=m(e.group),r._aggregate=e.aggregate,r._total=e.total,r._groupPaging=e.groupPaging,r._groupPaging&&(r._groupsState={}),r._shouldDetachObservableParents=!0,Se.fn.init.call(r),r.transport=ue.create(e,i,r),Te(r.transport.push)&&r.transport.push({pushCreate:ge(r._pushCreate,r),pushUpdate:ge(r._pushUpdate,r),pushDestroy:ge(r._pushDestroy,r)}),null!=e.offlineStorage&&("string"==typeof e.offlineStorage?(o=e.offlineStorage,r._storage={getItem:function(){return JSON.parse(localStorage.getItem(o))},setItem:function(e){localStorage.setItem(o,qe(r.reader.serialize(e)))}}):r._storage=e.offlineStorage),r.reader=new Ce.data.readers[e.schema.type||"json"](e.schema),n=r.reader.model||{},r._detachObservableParents(),r._data=r._observe(r._data),r._online=!0,r.bind(["push",Oe,He,Be,Pe,Ve,Le],e)},options:{data:null,schema:{modelBase:Z},offlineStorage:null,serverSorting:!1,serverPaging:!1,serverFiltering:!1,serverGrouping:!1,serverAggregates:!1,batch:!1,inPlaceSort:!1},clone:function(){return this},online:function(n){return n!==t?this._online!=n&&(this._online=n,n)?this.sync():e.Deferred().resolve().promise():this._online},offlineData:function(e){return null==this.options.offlineStorage?null:e!==t?this._storage.setItem(e):this._storage.getItem()||[]},_isServerGrouped:function(){var e=this.group()||[];return this.options.serverGrouping&&e.length},_isServerGroupPaged:function(){return this._isServerGrouped()&&this._groupPaging},_isGroupPaged:function(){var e=this.group()||[];return this._groupPaging&&e.length},_pushCreate:function(e){this._push(e,"pushCreate")},_pushUpdate:function(e){this._push(e,"pushUpdate")},_pushDestroy:function(e){this._push(e,"pushDestroy")},_push:function(e,t){var n=this._readData(e);n||(n=e),this[t](n)},_flatData:function(e,t){if(e){if(this._isServerGrouped())return E(e);if(!t)for(var n=0;n-1)return t(i,n),!0})},_removePristineForModel:function(e){this._executeOnPristineForModel(e,function(e,t){t.splice(e,1)})},_readData:function(e){var t=this._isServerGrouped()?this.reader.groups:this.reader.data;return t.call(this.reader,e)},_eachPristineItem:function(e){var t=this,n=t.options,i=t._getCurrentRangeSpan();t._eachItem(t._pristineData,e),n.serverPaging&&n.useRanges&&ke(i,function(n,i){t._eachItem(i.pristineData,e)})},_eachItem:function(e,t){e&&e.length&&(this._isServerGrouped()?N(e,t):t(e))},_pristineForModel:function(e){var t,n,i=function(i){if(n=O(i,e),n>-1)return t=i[n],!0};return this._eachPristineItem(i),t},_cancelModel:function(e){var t=this,n=this._pristineForModel(e);this._eachItem(this._data,function(i){var o=B(i,e);o>=0&&(!n||e.isNew()&&!n.__state__?(t._modelCanceled(e),i.splice(o,1),t._removeModelFromRanges(e)):(i[o].accept(n),"update"==n.__state__&&(i[o].dirty=!0)))})},_modelCanceled:xe,_submit:function(t,n){var i=this;i.trigger(Be,{type:"submit"}),i.trigger(Le),i.transport.submit(me({success:function(n,i){var o=e.grep(t,function(e){return e.type==i})[0];o&&o.resolve({response:n,models:o.models,type:i})},error:function(e,n,o){for(var r=0;rf._total&&(f._pageSize=f._total,f.options.pageSize&&f.options.pageSize>f._pageSize&&(f._pageSize=f.options.pageSize)),f._aggregate&&h.serverAggregates&&(f._aggregateResult=f._readAggregates(e)),e=f._readData(e),f._destroyed=[]}else{for(e=f._readData(e),n=[],o={},r=f.reader.model,a=r?r.idField:"id",s=0;se.data.length/t.take+1&&(t.skip=0),o.view(i.range(t.skip,t.take).toArray())):(o.view(e.data),o._updateOuterRangesLength()):o.view(e.data)},_clearEmptyGroups:function(e){var t,n;for(t=e.length-1;t>=0;t--)n=e[t],n.hasSubgroups?this._clearEmptyGroups(n.items):n.items&&!n.items.length&&Qe.apply(n.parent(),[t,1])},_queryProcess:function(e,t){return this.options.inPlaceSort?r.process(e,t,this.options.inPlaceSort):r.process(e,t)},_mergeState:function(n){var i=this;return n!==t&&(i._pageSize=n.pageSize,i._page=n.page,i._sort=n.sort,i._filter=n.filter,i._group=n.group,i._aggregate=n.aggregate,i._skip=i._currentRangeStart=n.skip,i._take=n.take,i._skip===t&&(i._skip=i._currentRangeStart=i.skip(),n.skip=i.skip()),i._take===t&&i._pageSize!==t&&(i._take=i._pageSize,n.take=i._take),n.sort&&(i._sort=n.sort=a(n.sort),i._sortFields=s(n.sort)),n.filter&&(i._filter=n.filter=i.options.accentFoldingFiltering&&!e.isEmptyObject(n.filter)?e.extend({},d(n.filter),{accentFoldingFiltering:i.options.accentFoldingFiltering}):d(n.filter)),n.group&&(i._group=n.group=m(n.group)),n.aggregate&&(i._aggregate=n.aggregate=h(n.aggregate))),n},query:function(n){var i,o,r,a=this.options.serverSorting||this.options.serverPaging||this.options.serverFiltering||this.options.serverGrouping||this.options.serverAggregates;return a||(this._data===t||0===this._data.length)&&!this._destroyed.length?(this.options.endless&&(o=n.pageSize-this.pageSize(),o>0?(o=this.pageSize(),n.page=n.pageSize/o,n.pageSize=o):(n.page=1,this.options.endless=!1)),this.read(this._mergeState(n))):(r=this.trigger(Be,{type:"read"}),r||(this.trigger(Le),n&&(n.groupPaging=this._groupPaging),i=this._queryProcess(this._data,this._mergeState(n)),this._setFilterTotal(i.total,!0),this._aggregateResult=this._calculateAggregates(i.dataToAggregate||this._data,n),this._setView(i,n),this.trigger(Ve,{type:"read"}),this.trigger(He,{items:i.data,action:n?n.action:""})),e.Deferred().resolve(r).promise())},_hasExpandedSubGroups:function(e){var t,n=!1,i=e.items?e.items.length:0;if(!e.hasSubgroups)return!1;for(t=0;t=i.take));p++)if(h._getGroupByUid(a.uid)||h._groupsFlat.push(a),h._groupsState[a.uid]){if(h._isServerGroupPaged()){if(a.hasSubgroups&&!a.subgroupCount)return h.getGroupSubGroupCount(a,i,o,r),h._fetchingGroupItems=!0,t;if(u=(a.subgroupCount||a.itemCount)+1,c=i.skip-i.skipped,d=!a.items||a.items.length-cu){i.skipped+=u;continue}if(a.hasSubgroups&&(!a.items||d&&a.items.length0?n.push(a):a.excludeHeader=!1;else{for(s=[],l=a.items.length,f=0;f=i.take)break;s.push(a.items[f]),i.taken++}s.length||i.taken>0?(a.currentItems=s,n.push(a)):a.excludeHeader=!1}}else{if(i.skipped=o._currentRequestTimeStamp||!o._skipRequestsInProgress)&&o.trigger(He,{})}},findSubgroups:function(e){var t=this._group.map(function(e){return e.field}).indexOf(e.field);return this._group.slice(t+1,this._group.length)},_composeItemsFilter:function(e,t){var n,i=this.filter()||{logic:"and",filters:[]};if(i=me(!0,{},i),i.filters.push({field:e.field,operator:"eq",value:e.value}),t)for(n=0;n1;)t=t[r.splice(0,1)[0]].items;t[r[0]]=l._cloneGroup(e);break}}},_containsSubGroup:function(e,t,n){var i,o,r=this,a=e.items.length;if(e.hasSubgroups&&a)for(o=0;ot.totalPages()))return t._skip=t._currentRangeStart=n*t.take(),n+=1,e.page=n,t._query(e),n},prev:function(e){var t=this,n=t.page();if(e=e||{},n&&1!==n)return t._skip=t._currentRangeStart=t._skip-t.take(),n-=1,e.page=n,t._query(e),n},page:function(e){var n,i,o=this;return e!==t?(e=Ge.max(Ge.min(Ge.max(e,1),o.totalPages()),1),i=o.take(),o._isGroupPaged()?(e-=1,o.range(e*i,i,null,"page"),t):(o._query(o._pageableQueryOptions({page:e})),t)):(n=o.skip(),n!==t?Ge.round((n||0)/(o.take()||1))+1:t)},pageSize:function(e){var n=this;return e!==t?(n._query(n._pageableQueryOptions({pageSize:e,page:1})),t):n.take()},sort:function(e){var n=this;return e!==t?(n.trigger("sort"),n._query({sort:e}),t):n._sort},filter:function(e){var n=this;return e===t?n._filter:(n.trigger("reset"),n._query({filter:e,page:1}),t)},group:function(e){var n=this;return e!==t?(n._query({group:e}),t):n._group},getGroupsFlat:function(e){var t,n,i,o=[];for(t=0,n=e.length;t=o;i--)n=r[i],t={value:e.get?e.get(n.field):e[n.field],field:n.field,items:t?[t]:[e],hasSubgroups:!!t,aggregates:this._emptyAggregates(n.aggregates)};return t},totalPages:function(){var e=this,t=e.pageSize()||e.total(),n=e._isGroupPaged()?e.groupsTotal(!0):e.total();return Ge.ceil((n||0)/t)},inRange:function(e,t){var n=this,i=Ge.min(e+t,n.total());return!n.options.serverPaging&&n._data.length>0||n._findRange(e,i).length>0},lastRange:function(){var e=this._ranges;return e[e.length-1]||{start:0,end:0,data:[]}},firstItemUid:function(){var e=this._ranges;return e.length&&e[0].data.length&&e[0].data[0].uid},enableRequestsInProgress:function(){this._skipRequestsInProgress=!1},_timeStamp:function(){return(new Date).getTime()},range:function(e,n,i,o){var r,a,s,l,d;return this._currentRequestTimeStamp=this._timeStamp(),this._skipRequestsInProgress=!0,r=this._isGroupPaged()?this.groupsTotal(!0):this.total(),"expandGroup"!==o&&"collapseGroup"!==o||this._updateOuterRangesLength(),e=Ge.min(e||0,r),i=Te(i)?i:xe,a=this,s=Ge.max(Ge.floor(e/n),0)*n,l=Ge.min(s+n,r),d=a._findRange(e,Ge.min(e+n,r),i),!d.length&&0!==r||a._fetchingGroupItems?(a._isGroupPaged()&&(a._originalPageSkip=s,a._originalSize=l,s=Ge.max(Ge.floor(a._adjustPageSkip(e,n)/n),0)*n,l=Ge.min(s+n,r)),n===t||a._fetchingGroupItems||(a._isGroupPaged()&&!a._groupRangeExists(s,n)||!a._rangeExists(s,l)?a.prefetch(s,n,function(){e>s&&l=n)return[];if(e>o.outerEnd){T.skipped+=o.outerEnd-(v||0),v=o.outerEnd;continue}if(t!==v&&v!=o.outerStart&&(T.skipped+=o.outerStart-v),T.skipped>T.skip)return[];for(t===v&&e>0&&o.start>0&&(T.skipped=o.outerStart),s=r;;){if(this._findGroupedRange(o.data,k,T,null,i),_=y._calculateGroupsTotal(k,!0,"currentItems"),_>=T.take)return k;if(y._fetchingGroupItems)return[];if(s++,!w[s]||w[s].outerStart!==o.outerEnd)break;o=w[s]}}else if(e>=o[F]&&e<=o[D]){for(h=0,s=r;s=o.start&&(u=o.data,c=o.end,C||(x.inPlaceSort?p=y._queryProcess(o.data,{filter:y.filter()}):(b=g(y.group()||[]).concat(a(y.sort()||[])),p=y._queryProcess(o.data,{sort:b,filter:y.filter()})),f=u=p.data,p.total!==t&&(c=p.total)),l=0,e+h>o.start&&(l=e+h-o.start),d=f.length,c>n&&(d-=c-n),h+=d-l,k=y._mergeGroups(k,u,l,d),n<=o.end&&h==n-e))return k;break}v=o.outerEnd}return[]},_getRangesMismatch:function(e){for(var t,n=this,i=n._ranges,o=0,r=0;;){if(t=i[r],!t||t.outerStart>e)break;t.outerEnd!=t.end&&(o=t.outerEnd-t.end),r++}return o},_mergeGroups:function(e,t,n,i){if(this._isServerGrouped()){var o,r=t.toJSON();return e.length&&(o=e[e.length-1]),I(o,r,n,i),e.concat(r)}return e.concat(t.slice(n,i))},_processRangeData:function(e,n,i,o,r,a){var s,l,d,u,c=this;c._pending=t,c._skip=n>c.skip()&&!c._omitPrefetch?Ge.min(r,(c.totalPages()-1)*c.take()):o,c._currentRangeStart=n,c._take=i,s=c.options.serverPaging,l=c.options.serverSorting,d=c.options.serverFiltering,u=c.options.serverAggregates;try{c.options.serverPaging=!0,c._isServerGrouped()||c.group()&&c.group().length||(c.options.serverSorting=!0),c.options.serverFiltering=!0,c.options.serverPaging=!0,c.options.serverAggregates=!0,s&&(c._detachObservableParents(),c._data=e=c._observe(e)),c._process(e,a)}finally{c.options.serverPaging=s,c.options.serverSorting=l,c.options.serverFiltering=d,c.options.serverAggregates=u}},skip:function(){var e=this;return e._skip===t?e._page!==t?(e._page-1)*(e.take()||1):t:e._skip},currentRangeStart:function(){return this._currentRangeStart||0},take:function(){return this._take||this._pageSize},_prefetchSuccessHandler:function(e,t,n,i){var o=this,r=o._timeStamp();return function(a){var s,l,d,u=!1,c={start:e,end:t,data:[],timestamp:o._timeStamp()};if(o._dequeueRequest(),o.trigger(Ve,{response:a,type:"read"}),a=o.reader.parse(a),d=o._readData(a),d.length){for(s=0,l=o._ranges.length;s=o._currentRequestTimeStamp||!o._skipRequestsInProgress)&&(n&&d.length?n():o.trigger(He,{}))}},prefetch:function(e,n,i){var o=this,r=Ge.min(e+n,o.total()),a={take:n,skip:e,page:e/n+1,pageSize:n,sort:o._sort,filter:o._filter,group:o._group,aggregate:o._aggregate};return o._isGroupPaged()&&!o._isServerGrouped()&&o._groupRangeExists(e,r)?(i&&i(),t):(o._isServerGroupPaged()&&!o._groupRangeExists(e,r)||!o._rangeExists(e,r)?(clearTimeout(o._timeout),o._timeout=setTimeout(function(){o._queueRequest(a,function(){o.trigger(Be,{type:"read"})?o._dequeueRequest():(o._omitPrefetch&&o.trigger(Le),o.transport.read({data:o._params(a),success:o._prefetchSuccessHandler(e,r,i),error:function(){var e=Je.call(arguments);o.error.apply(o,e)}}))})},100)):i&&i(),t)},_multiplePrefetch:function(e,t,n){var i=this,o=Ge.min(e+t,i.total()),r={take:t,skip:e,page:e/t+1,pageSize:t,sort:i._sort,filter:i._filter,group:i._group,aggregate:i._aggregate};i._rangeExists(e,o)?n&&n():i.trigger(Be,{type:"read"})||i.transport.read({data:i._params(r),success:i._prefetchSuccessHandler(e,o,n,!0)})},_adjustPageSkip:function(e,t){var n,i,o=this,r=o._getPrevRange(e),a=o.total();if(r){if(i=o._getRangesMismatch(e),!i)return e;e-=i}if(n=Ge.max(Ge.floor(e/t),0)*t,n>a)for(;;)if(n-=t,n=e)return o[t]},_getPrevRange:function(e){var t,n,i=this,o=i._ranges,r=o.length;for(t=r-1;t>=0;t--)if(o[t].outerStart<=e){n=o[t];break}return n},_rangeExists:function(e,t){var n,i,o=this,r=o._ranges;for(n=0,i=r.length;n=t)return!0;return!1},_groupRangeExists:function(e,t){var n,i,o,r=this,a=r._ranges,s=0,l=r.groupsTotal(!0);for(t>l&&!r._isServerGrouped()&&(t=l),n=0,i=a.length;n=e?s+=o.outerEnd-e:o.outerStart<=t&&o.outerEnd>=t&&(s+=t-o.outerStart);return s>=t-e},_getCurrentRangeSpan:function(){var e,t,n=this,i=n._ranges,o=n.currentRangeStart(),r=o+(n.take()||0),a=[],s=i.length;for(t=0;t=o||e.start>=o&&e.start<=r)&&a.push(e);return a},_removeModelFromRanges:function(e){var t,n,i,o=this;for(n=0,i=this._ranges.length;n=e){o._getByUid(t.uid,n.data)||(o._isServerGrouped()?n.data.splice(e,0,o._wrapInEmptyGroup(t)):n.data.splice(e,0,t));break}o._updateRangesLength()},_updateRangesLength:function(){var e,t,n,i=this,o=i._ranges||[],r=o.length,a=!1,s=0,l=0;for(n=0;n0?this.filter(this._hierarchicalFilter):(this.options.filter=this._hierarchicalFilter,this._filter=d(this.options.filter),this._hierarchicalFilter=null)),t},remove:function(e){var t,n=e.parentNode(),i=this;return n&&n._initChildren&&(i=n.children),t=de.fn.remove.call(i,e),n&&!i.data().length&&(n.hasChildren=!1),t},success:G("success"),data:G("data"),insert:function(e,t){var n=this.parent();return n&&n._initChildren&&(n.hasChildren=!0,n._initChildren()),de.fn.insert.call(this,e,t)},filter:function(e){return e===t?this._filter:(!this.options.serverFiltering&&this._markHierarchicalQuery(e)&&(e={logic:"or",filters:[e,{field:"_matchFilter",operator:"equals",value:!0}]}),this.trigger("reset"),this._query({filter:e,page:1}),t)},_markHierarchicalQuery:function(t){var n,i,o,a,s,l=this.options.accentFoldingFiltering;return t=l?e.extend({},d(t),{accentFoldingFiltering:l}):d(t),t&&0!==t.filters.length?(n=r.filterExpr(t),o=n.fields,a=n.operators,i=s=Function("d, __f, __o","return "+n.expression),(o.length||a.length)&&(s=function(e){return i(e,o,a)}),this._updateHierarchicalFilter(s),!0):(this._updateHierarchicalFilter(function(){return!0}),!1)},_updateHierarchicalFilter:function(e){var t,n,i=this._data,o=!1;for(n=0;n=this.total()?(this.trigger("endreached",{index:e}),null):this.useRanges?this.useRanges?((e=this.skip+n)&&(i=this.range(Math.floor(e/n)*n)),e===this.prefetchThreshold&&this._prefetch(),e===this.midPageThreshold?this.range(this.nextMidRange,!0):e===this.nextPageThreshold?this.range(this.nextFullRange):e===this.pullBackThreshold&&this.range(this.offset===this.skip?this.previousMidRange:this.previousFullRange),i?this.dataSource.at(e-this.dataOffset):(this.trigger("endreached",{index:e}),null)):t:this.dataSource.view()[e]},indexOf:function(e){return this.dataSource.data().indexOf(e)+this.dataOffset},total:function(){return parseInt(this.dataSource.total(),10)},next:function(){var e=this,t=e.pageSize,n=e.skip-e.viewSize+t,i=Ge.max(Ge.floor(n/t),0)*t;this.offset=n,this.dataSource.prefetch(i,t,function(){e._goToRange(n,!0)})},range:function(e,t){if(this.offset===e)return!0;var n=this,i=this.pageSize,o=Ge.max(Ge.floor(e/i),0)*i,r=this.dataSource;return t&&(o+=i),r.inRange(e,i)?(this.offset=e,this._recalculate(),this._goToRange(e),!0):!this.prefetch||(r.prefetch(o,i,function(){n.offset=e,n._recalculate(),n._goToRange(e,!0)}),!1)},syncDataSource:function(){var e=this.offset;this.offset=null,this.range(e)},destroy:function(){this.unbind()},_prefetch:function(){var e=this,t=this.pageSize,n=this.skip+t,i=this.dataSource;i.inRange(n,t)||this._prefetching||!this.prefetch||(this._prefetching=!0,this.trigger("prefetching",{skip:n,take:t}),i.prefetch(n,t,function(){e._prefetching=!1,e.trigger("prefetched",{skip:n,take:t})}))},_goToRange:function(e,t){this.offset===e&&(this.dataOffset=e,this._expanding=t,this.dataSource.range(e,this.pageSize),this.dataSource.enableRequestsInProgress())},_reset:function(){this._syncPending=!0},_change:function(){var e=this.dataSource;this.length=this.useRanges?e.lastRange().end:e.view().length,this._syncPending&&(this._syncWithDataSource(),this._recalculate(),this._syncPending=!1,this.trigger("reset",{offset:this.offset})),this.trigger("resize"),this._expanding&&this.trigger("expand"),delete this._expanding},_syncWithDataSource:function(){var e=this.dataSource;this._firstItemUid=e.firstItemUid(),this.dataOffset=this.offset=e.skip()||0,this.pageSize=e.pageSize(),this.useRanges=e.options.serverPaging},_recalculate:function(){var e=this.pageSize,t=this.offset,n=this.viewSize,i=Math.ceil(t/e)*e;this.skip=i,this.midPageThreshold=i+e-1,this.nextPageThreshold=i+n-1,this.prefetchThreshold=i+Math.floor(e/3*2),this.pullBackThreshold=this.offset-1,this.nextMidRange=i+e-n,this.nextFullRange=i,this.previousMidRange=t-n,this.previousFullRange=i-e}}),he=Ce.Observable.extend({init:function(e,t){var n=this;Ce.Observable.fn.init.call(n),this.dataSource=e,this.batchSize=t,this._total=0,this.buffer=new fe(e,3*t),this.buffer.bind({endreached:function(e){n.trigger("endreached",{index:e.index})},prefetching:function(e){n.trigger("prefetching",{skip:e.skip,take:e.take})},prefetched:function(e){n.trigger("prefetched",{skip:e.skip,take:e.take})},reset:function(){n._total=0,n.trigger("reset")},resize:function(){n._total=Math.ceil(this.length/n.batchSize),n.trigger("resize",{total:n.total(),offset:this.offset})}})},syncDataSource:function(){this.buffer.syncDataSource()},at:function(e){var t,n,i=this.buffer,o=e*this.batchSize,r=this.batchSize,a=[];for(i.offset>o&&i.at(i.offset-1),n=0;n0)&&t.preventDefault()}).on("mouseleave"+W,function(){o._hovered=!1}),o.wrapper=e(),n.animation===!1&&(n.animation={open:{effects:{}},close:{hide:!0,effects:{}}}),U(n.animation.open,{complete:function(){o.wrapper.css({overflow:I}),o._activated=!0,o._trigger(_)}}),U(n.animation.close,{complete:function(){o._animationClose()}}),o._mousedownProxy=function(e){o._mousedown(e)},o._resizeProxy=c.mobileOS.android?function(e){setTimeout(function(){o._resize(e)},600)}:function(e){o._resize(e)},n.toggleTarget&&e(n.toggleTarget).on(n.toggleEvent+W,e.proxy(o.toggle,o))},events:[m,_,g,v],options:{name:"Popup",toggleEvent:"click",origin:x+" "+y,position:k+" "+y,anchor:S,appendTo:null,collision:"flip fit",viewport:window,copyAnchorStyles:!0,autosize:!1,modal:!1,adjustSize:{width:0,height:0},animation:{open:{effects:"slideIn:down",transition:!0,duration:200},close:{duration:100,hide:!0}}},_animationClose:function(){var e=this,t=e.wrapper.data(F);e.wrapper.hide(),t&&e.wrapper.css(t),e.options.anchor!=S&&e._hideDirClass(),e._closing=!1,e._trigger(v)},destroy:function(){var t,n=this,i=n.options,o=n.element.off(W);d.fn.destroy.call(n),i.toggleTarget&&e(i.toggleTarget).off(W),i.modal||(P.off(n.downEvent,n._mousedownProxy),n._toggleResize(!1)),s.destroy(n.element.children()),o.removeData(),i.appendTo[0]===document.body&&(t=o.parent(".k-animation-container"),t[0]?t.remove():o.remove())},open:function(n,i){var o,r,a=this,l={isFixed:!isNaN(parseInt(i,10)),x:n,y:i},d=a.element,u=a.options,p=e(u.anchor),f=d[0]&&d.hasClass("km-widget");if(!a.visible()){if(u.copyAnchorStyles&&(f&&"font-size"==j[0]&&j.shift(),d.css(s.getComputedStyles(p[0],j))),d.data("animating")||a._trigger(m))return;a._activated=!1,u.modal||(P.off(a.downEvent,a._mousedownProxy).on(a.downEvent,a._mousedownProxy),a._toggleResize(!1),a._toggleResize(!0)),a.wrapper=r=s.wrap(d,u.autosize).css({overflow:T,display:"block",position:C}).attr("aria-hidden",!1),c.mobileOS.android&&r.css(V,"translatez(0)"),r.css(D),e(u.appendTo)[0]==document.body&&r.css(k,"-10000px"),a.flipped=a._position(l),o=a._openAnimation(),u.anchor!=S&&a._showDirClass(o),d.is(":visible")||d.data("olddisplay")!==t||(d.show(),d.data("olddisplay",d.css("display")),d.hide()),d.data(z,o.effects).kendoStop(!0).kendoAnimate(o).attr("aria-hidden",!1)}},_location:function(t){var n,i,o=this,r=o.element,a=o.options,l=e(a.anchor),d=r[0]&&r.hasClass("km-widget");return a.copyAnchorStyles&&(d&&"font-size"==j[0]&&j.shift(),r.css(s.getComputedStyles(l[0],j))),o.wrapper=n=s.wrap(r,a.autosize).css({overflow:T,display:"block",position:C}),c.mobileOS.android&&n.css(V,"translatez(0)"),n.css(D),e(a.appendTo)[0]==document.body&&n.css(k,"-10000px"),o._position(t||{}),i=n.offset(),{width:s._outerWidth(n),height:s._outerHeight(n),left:i.left,top:i.top}},_openAnimation:function(){var e=U(!0,{},this.options.animation.open);return e.effects=s.parseEffects(e.effects,this.flipped),e},_hideDirClass:function(){var t=e(this.options.anchor),n=((t.attr("class")||"").match(N)||["","down"])[1],i=A+"-"+n;t.removeClass(i).children(R).removeClass(E).removeClass(i),this.element.removeClass(A+"-"+s.directions[n].reverse)},_showDirClass:function(t){var n=t.effects.slideIn?t.effects.slideIn.direction:"down",i=A+"-"+n;e(this.options.anchor).addClass(i).children(R).addClass(E).addClass(i),this.element.addClass(A+"-"+s.directions[n].reverse)},position:function(){this.visible()&&(this.flipped=this._position())},toggle:function(){var e=this;e[e.visible()?g:m]()},visible:function(){return this.element.is(":"+I)},close:function(n){var i,o,r,a,l=this,d=l.options;if(l.visible()){if(i=l.wrapper[0]?l.wrapper:s.wrap(l.element).hide(),l._toggleResize(!1),l._closing||l._trigger(g))return l._toggleResize(!0),t;l.element.find(".k-popup").each(function(){var t=e(this),i=t.data("kendoPopup");i&&i.close(n)}),P.off(l.downEvent,l._mousedownProxy),n?o={hide:!0,effects:{}}:(o=U(!0,{},d.animation.close),r=l.element.data(z),a=o.effects,!a&&!s.size(a)&&r&&s.size(r)&&(o.effects=r,o.reverse=!0),l._closing=!0),l.element.kendoStop(!0).attr("aria-hidden",!0),i.css({overflow:T}).attr("aria-hidden",!0),l.element.kendoAnimate(o),n&&l._animationClose()}},_trigger:function(e){return this.trigger(e,{type:e})},_resize:function(e){var t=this;c.resize.indexOf(e.type)!==-1?(clearTimeout(t._resizeTimeout),t._resizeTimeout=setTimeout(function(){t._position(),t._resizeTimeout=null},50)):(!t._hovered||t._activated&&t.element.hasClass("k-list-container"))&&t.close()},_toggleResize:function(e){var t=e?"on":"off",n=c.resize;c.mobileOS.ios||c.mobileOS.android||c.browser.safari||(n+=" "+B),e&&!this.scrollableParents&&(this.scrollableParents=this._scrollableParents()),this.scrollableParents&&this.scrollableParents.length&&this.scrollableParents[t](B,this._resizeProxy),O[t](n,this._resizeProxy)},_mousedown:function(t){var i=this,o=i.element[0],r=i.options,a=e(r.anchor)[0],l=r.toggleTarget,d=s.eventTarget(t),u=e(d).closest(".k-popup"),c=u.parent().parent(".km-shim").length;u=u[0],!c&&u&&u!==i.element[0]||"popover"!==e(t.target).closest("a").data("rel")&&(n(o,d)||n(a,d)||l&&n(e(l)[0],d)||i.close())},_fit:function(e,t,n){var i=0;return e+t>n&&(i=n-(e+t)),e<0&&(i=-e),i},_flip:function(e,t,n,i,o,r,a){var s=0;return a=a||t,r!==o&&r!==b&&o!==b&&(e+a>i&&(s+=-(n+t)),e+s<0&&(s+=n+t)),s},_scrollableParents:function(){return e(this.options.anchor).parentsUntil("body").filter(function(e,t){return s.isScrollable(t)})},_position:function(t){var n,i,o,r,a,l,d,u,m,g,v,_,b,y,w,k,x,T=this,S=T.element,I=T.wrapper,z=T.options,E=e(z.viewport),A=c.zoomLevel(),N=!!(E[0]==window&&window.innerWidth&&A<=1.02),R=e(z.anchor),H=z.origin.toLowerCase().split(" "),P=z.position.toLowerCase().split(" "),M=T.collisions,O=10002,B=0,L=document.documentElement;if(a=z.viewport===window?{top:window.pageYOffset||document.documentElement.scrollTop||0,left:window.pageXOffset||document.documentElement.scrollLeft||0}:E.offset(),N?(l=window.innerWidth,d=window.innerHeight):(l=E.width(),d=E.height()),N&&L.scrollHeight-L.clientHeight>0&&(u=z.isRtl?-1:1,l-=u*s.support.scrollbar()),n=R.parents().filter(I.siblings()),n[0])if(o=Math.max(+n.css("zIndex"),0))O=o+10;else for(i=R.parentsUntil(n),r=i.length;B=0&&e(n).is(":visible")&&!e(n).is("[disabled]")});return this.element.is("[tabindex]")&&t.push(this.element[0]),t},_sortFocusableElements:function(e){var t,n;return i?t=e.sort(function(e,t){return e.tabIndex-t.tabIndex}):(n="__k_index",e.each(function(e,t){t.setAttribute(n,e)}),t=e.sort(function(e,t){return e.tabIndex===t.tabIndex?parseInt(e.getAttribute(n),10)-parseInt(t.getAttribute(n),10):e.tabIndex-t.tabIndex}),e.removeAttr(n)),t},_nextFocusable:function(e,t){var n=t.length,i=t.index(e.target);return t.get((i+(e.shiftKey?-1:1))%n)},_focus:function(e){return"IFRAME"==e.nodeName?(e.contentWindow.document.body.focus(),t):(e.focus(),"INPUT"==e.nodeName&&e.setSelectionRange&&this._haveSelectionRange(e)&&e.setSelectionRange(0,e.value.length),t)},_haveSelectionRange:function(e){var t=e.type.toLowerCase();return"text"===t||"search"===t||"url"===t||"tel"===t||"password"===t}}),l.Popup.TabKeyTrap=a}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.list.min",["kendo.data.min","kendo.popup.min"],e)}(function(){return function(e,t){function n(e,n){return e!==t&&""!==e&&null!==e&&("boolean"===n?("boolean"!=typeof e&&(e="true"===e.toLowerCase()),e=!!e):"number"===n?e=+e:"string"===n&&(e=""+e)),e}function i(e){return e[e.length-1]}function o(e){var t=e.selectedIndex;return t>-1?e.options[t]:{}}function r(e,t){var n,i,o,r,a=t.length,s=e.length,l=[],d=[];if(s)for(o=0;o').attr({tabIndex:-1,"aria-hidden":!0}),o.list=e("
").append(o.ul).on("mousedown"+r,L(o._listMousedown,o)),i=t.attr(w),i||(i=u.guid()),o.list.attr(w,i+"-list"),o.ul.attr(w,i+"_listbox"),n.columns&&n.columns.length&&(o.ul.removeClass("k-list").addClass("k-grid-list"),o._columnsHeader()),o._header(),o._noData(),o._footer(),o._accessors(),o._initValue()},options:{valuePrimitive:!1,footerTemplate:"",headerTemplate:"",noDataTemplate:!0,messages:{noData:"No data found.",clear:"clear"}},setOptions:function(e){h.fn.setOptions.call(this,e),e&&e.enable!==t&&(e.enabled=e.enable),e.columns&&e.columns.length&&this._columnsHeader(),this._header(),this._noData(),this._footer(),this._renderFooter(),this._renderNoData()},focus:function(){this._focused.focus()},readonly:function(e){this._editable({readonly:e===t||e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t||e)})},_header:function(){var n,i=this,o=e(i.header),r=i.options.headerTemplate;return this._angularElement(o,"cleanup"),u.destroy(o),o.remove(),r?(n="function"!=typeof r?u.template(r):r,o=e(n({})),i.header=o[0]?o:null,i.list.prepend(o),this._angularElement(i.header,"compile"),t):(i.header=null,t)},_columnsHeader:function(){var t,n,i,o,r,a,s,l,d,c,p,h=this,m=e(h.columnsHeader);for(this._angularElement(m,"cleanup"),u.destroy(m),m.remove(),t="
",n="",i="",o=0;o",i+="";n+="",i+="",t+=n,t+=i,t+="
",i+=l(r),i+="
",h.columnsHeader=m=e(t),h.list.prepend(m),this._angularElement(h.columnsHeader,"compile")},_noData:function(){var n=this,i=e(n.noData),o=n.options.noDataTemplate===!0?n.options.messages.noData:n.options.noDataTemplate;return n.angular("cleanup",function(){return{elements:i}}),u.destroy(i),i.remove(),o?(n.noData=e('').appendTo(n.list),n.noDataTemplate="function"!=typeof o?u.template(o):o,t):(n.noData=null,t)},_footer:function(){var n=this,i=e(n.footer),o=n.options.footerTemplate;return this._angularElement(i,"cleanup"),u.destroy(i),i.remove(),o?(n.footer=e('').appendTo(n.list),n.footerTemplate="function"!=typeof o?u.template(o):o,t):(n.footer=null,t)},_listOptions:function(t){var n=this,i=n.options,o=i.virtual,r={change:L(n._listChange,n)},a=L(n._listBound,n);return o="object"==typeof o?o:{},t=e.extend({autoBind:!1,selectable:!0,dataSource:n.dataSource,click:L(n._click,n),activate:L(n._activateItem,n),columns:i.columns,deactivate:L(n._deactivateItem,n),dataBinding:function(){n.trigger("dataBinding")},dataBound:a,height:i.height,dataValueField:i.dataValueField,dataTextField:i.dataTextField,groupTemplate:i.groupTemplate,fixedGroupTemplate:i.fixedGroupTemplate,template:i.template},t,o,r),t.template||(t.template="#:"+u.expr(t.dataTextField,"data")+"#"),i.$angular&&(t.$angular=i.$angular),t},_initList:function(){var e=this,t=e._listOptions({selectedItemChange:L(e._listChange,e)});e.listView=e.options.virtual?new u.ui.VirtualList(e.ul,t):new u.ui.StaticList(e.ul,t),e.listView.bind("listBound",L(e._listBound,e)),e._setListValue()},_setListValue:function(e){e=e||this.options.value,e!==t&&this.listView.value(e).done(L(this._updateSelectionState,this))},_updateSelectionState:e.noop,_listMousedown:function(e){this.filterInput&&this.filterInput[0]===e.target||e.preventDefault()},_isFilterEnabled:function(){var e=this.options.filter;return e&&"none"!==e},_hideClear:function(){var e=this;e._clear&&e._clear.addClass(W)},_showClear:function(){this._clear&&this._clear.removeClass(W)},_clearValue:function(){this._clearText(),this._accessor(""),this.listView.value([]),this._isSelect&&(this._customOption=t),this._isFilterEnabled()&&!this.options.enforceMinLength&&(this._filter({word:"",open:!1}),this.options.highlightFirst&&this.listView.focus(0)),this._change()},_clearText:function(){this.text("")},_clearFilter:function(){this.options.virtual||this.listView.bound(!1),this._filterSource()},_filterSource:function(e,t){var n,i,o=this,r=o.options,l=r.filterFields&&e&&e.logic&&e.filters&&e.filters.length,d=o.dataSource,u=B({},d.filter()||{}),c=e||u.filters&&u.filters.length&&!e,p=s(u,r.dataTextField);if(this._clearFilterExpressions(u),!e&&!p||!o.trigger("filtering",{filter:e}))return n={filters:[],logic:"and"},l?n.filters.push(e):this._pushFilterExpression(n,e),a(u)&&(n.logic===u.logic?n.filters=n.filters.concat(u.filters):n.filters.push(u)),o._cascading&&this.listView.setDSFilter(n),i=B({},{page:c?1:d.page(),pageSize:c?d.options.pageSize:d.pageSize(),sort:d.sort(),filter:d.filter(),group:d.group(),aggregate:d.aggregate()},{filter:n}),d[t?"read":"query"](d._mergeState(i))},_pushFilterExpression:function(e,t){a(t)&&""!==t.value&&e.filters.push(t)},_clearFilterExpressions:function(e){var t,n;if(e.filters){for(n=0;n').attr({role:"button",tabIndex:-1})),t.options.clearButton||t._clear.remove(),this._hideClear()},search:function(e){var t=this.options;e="string"==typeof e?e:this._inputValue(),clearTimeout(this._typingTimeout),(!t.enforceMinLength&&!e.length||e.length>=t.minLength)&&(this._state="filter",this.listView&&(this.listView._emptySearch=!u.trim(e).length),this._isFilterEnabled()?this._filter({word:e,open:!0}):this._searchByWord(e))},current:function(e){return this._focus(e)},items:function(){return this.ul[0].children},destroy:function(){var e=this,t=e.ns;h.fn.destroy.call(e),e._unbindDataSource(),e.listView.destroy(),e.list.off(t),e.popup.destroy(),e._form&&e._form.off("reset",e._resetHandler)},dataItem:function(n){var i=this;if(n===t)return i.listView.selectedDataItems()[0];if("number"!=typeof n){if(i.options.virtual)return i.dataSource.getByUid(e(n).data("uid"));n=e(i.items()).index(n)}return i.dataSource.flatView()[n]},_activateItem:function(){var e=this.listView.focus();e&&this._focused.add(this.filterInput).attr("aria-activedescendant",e.attr("id"))},_deactivateItem:function(){this._focused.add(this.filterInput).removeAttr("aria-activedescendant")},_accessors:function(){var e=this,t=e.element,n=e.options,i=u.getter,o=t.attr(u.attr("text-field")),r=t.attr(u.attr("value-field"));!n.dataTextField&&o&&(n.dataTextField=o),!n.dataValueField&&r&&(n.dataValueField=r),e._text=i(n.dataTextField),e._value=i(n.dataValueField)},_aria:function(e){var n=this,i=n.options,o=n._focused.add(n.filterInput);i.suggest!==t&&o.attr("aria-autocomplete",i.suggest?"both":"list"),e=e?e+" "+n.ul[0].id:n.ul[0].id,o.attr("aria-owns",e),n.ul.attr("aria-live",n._isFilterEnabled()?"polite":"off"),n._ariaLabel()},_ariaLabel:function(){var t,n=this,i=n._focused,o=n.element,r=o.attr("id"),a=e('label[for="'+r+'"]'),s=o.attr("aria-label"),l=o.attr("aria-labelledby");i!==o&&(s?i.attr("aria-label",s):l?i.attr("aria-labelledby",l):a.length&&(t=a.attr("id")||n._generateLabelId(a,r||u.guid()),i.attr("aria-labelledby",t)))},_generateLabelId:function(e,t){var n=t+D;return e.attr("id",n),n},_blur:function(){var e=this;e._change(),e.close(),e._userTriggered=!1},_change:function(){var e,i=this,o=i.selectedIndex,r=i.options.value,a=i.value();i._isSelect&&!i.listView.bound()&&r&&(a=r),a!==n(i._old,typeof a)&&a!==n(i._oldText,typeof a)?e=!0:i._valueBeforeCascade!==t&&i._valueBeforeCascade!==n(i._old,typeof i._valueBeforeCascade)&&i._userTriggered?e=!0:o===t||o===i._oldIndex||i.listView.isFiltered()||(e=!0),e&&(i._valueBeforeCascade=i._old=null===i._old||""===i._old||""===a?a:i.dataItem()?i.options.dataValueField?i.dataItem()[i.options.dataValueField]:i.dataItem():null,i._oldIndex=o,i._oldText=i.text&&i.text(),i._typing||i.element.trigger(k),i.trigger(k)),i.typing=!1},_data:function(){return this.dataSource.view()},_enable:function(){var e=this,n=e.options,i=e.element.is("[disabled]");n.enable!==t&&(n.enabled=n.enable),!n.enabled||i?e.enable(!1):e.readonly(e.element.is("[readonly]"))},_dataValue:function(e){var n=this._value(e);return n===t&&(n=this._text(e)),n},_offsetHeight:function(){var t=0,n=this.listView.content.prevAll(":visible");return n.each(function(){var n=e(this);t+=p(n,!0)}),t},_height:function(n){var i,o,r,a=this,s=a.list,l=a.options.height,d=a.popup.visible();if(n||a.options.noDataTemplate){if(o=s.add(s.parent(".k-animation-container")).show(),!s.is(":visible"))return o.hide(),t;l=a.listView.content[0].scrollHeight>l?l:"auto",o.height(l),"auto"!==l&&(i=a._offsetHeight(),r=p(e(a.footer))||0,l=l-i-r),a.listView.content.height(l),d||o.hide()}return l},_openHandler:function(e){this._adjustListWidth(),this.trigger(I)?e.preventDefault():(this._focused.attr("aria-expanded",!0),this.ul.attr("aria-hidden",!1))},_adjustListWidth:function(){var e,t,n=this,i=n.list,o=i[0].style.width,r=n.wrapper;if(i.data(j)||!o)return e=window.getComputedStyle?window.getComputedStyle(r[0],null):0,t=parseFloat(e&&e.width)||b(r),e&&U.msie&&(t+=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight)+parseFloat(e.borderLeftWidth)+parseFloat(e.borderRightWidth)),o="border-box"!==i.css("box-sizing")?t-(b(i)-i.width()):t,i.css({fontFamily:r.css("font-family"),width:n.options.autoWidth?"auto":o,minWidth:o,whiteSpace:n.options.autoWidth?"nowrap":"normal"}).data(j,o),!0},_closeHandler:function(e){this.trigger(z)?e.preventDefault():(this._focused.attr("aria-expanded",!1),this.ul.attr("aria-hidden",!0))},_focusItem:function(){var e=this.listView,n=!e.focus(),o=i(e.select());o===t&&this.options.highlightFirst&&n&&(o=0),o!==t?e.focus(o):n&&e.scrollToIndex(0)},_calculateGroupPadding:function(e){var t=this.ul.children(".k-first:first"),n=this.listView.content.prev(S),i=0,o="right";n[0]&&"none"!==n[0].style.display&&("auto"!==e&&(i=u.support.scrollbar()),this.element.parents(".k-rtl").length&&(o="left"),i+=parseFloat(t.css("border-"+o+"-width"),10)+parseFloat(t.children(".k-group").css("padding-"+o),10),n.css("padding-"+o,i))},_calculatePopupHeight:function(e){var t=this._height(this.dataSource.flatView().length||e);this._calculateGroupPadding(t),this._calculateColumnsHeaderPadding(t)},_calculateColumnsHeaderPadding:function(e){var t,n,i;this.options.columns&&this.options.columns.length&&(t=this,n=g.isRtl(t.wrapper),i=u.support.scrollbar(), -t.columnsHeader.css(n?"padding-left":"padding-right","auto"!==e?i:0))},_refreshScroll:function(){var e=this.listView,t=e.element.height()>e.content.height();this.options.autoWidth&&e.content.css({overflowX:"hidden",overflowY:t?"scroll":"auto"})},_resizePopup:function(e){this.options.virtual||(this.popup.element.is(":visible")?this._calculatePopupHeight(e):(this.popup.one("open",function(e){return L(function(){this._calculatePopupHeight(e)},this)}.call(this,e)),this.popup.one("activate",L(this._refreshScroll,this))))},_popup:function(){var e=this;e.popup=new c.Popup(e.list,B({},e.options.popup,{anchor:e.wrapper,open:L(e._openHandler,e),close:L(e._closeHandler,e),animation:e.options.animation,isRtl:g.isRtl(e.wrapper),autosize:e.options.autoWidth}))},_makeUnselectable:function(){G&&this.list.find("*").not(".k-textbox").attr("unselectable","on")},_toggleHover:function(t){e(t.currentTarget).toggleClass(C,"mouseenter"===t.type)},_toggle:function(e,n){var i=this,o=g.mobileOS&&(g.touch||g.MSPointers||g.pointers);e=e!==t?e:!i.popup.visible(),n||o||i._focused[0]===_()||(i._prevent=!0,i._focused.focus(),i._prevent=!1),i[e?I:z]()},_triggerCascade:function(){var e=this;e._cascadeTriggered&&e.value()===n(e._cascadedValue,typeof e.value())||(e._cascadedValue=e.value(),e._cascadeTriggered=!0,e.trigger(E,{userTriggered:e._userTriggered}))},_triggerChange:function(){this._valueBeforeCascade!==this.value()&&this.trigger(k)},_unbindDataSource:function(){var e=this;e.dataSource.unbind(R,e._requestStartHandler).unbind(H,e._requestEndHandler).unbind("error",e._errorHandler)},requireValueMapper:function(e,t){var n=(e.value instanceof Array?e.value.length:e.value)||(t instanceof Array?t.length:t);if(n&&e.virtual&&"function"!=typeof e.virtual.valueMapper)throw Error("ValueMapper is not provided while the value is being set. See http://docs.telerik.com/kendo-ui/controls/editors/combobox/virtualization#the-valuemapper-function")}});B(K,{inArray:function(e,t){var n,i,o=t.children;if(!e||e.parentNode!==t)return-1;for(n=0,i=o.length;n"),n._customOption=o,i.append(o)),o.text(t),o[0].selected=!0},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._arrowIcon.removeClass(T),e._focused.attr("aria-busy",!1),e._busy=null,e._showClear()},_showBusy:function(e){var t=this;e.isDefaultPrevented()||(t._request=!0,t._busy||(t._busy=setTimeout(function(){t._arrowIcon&&(t._focused.attr("aria-busy",!0),t._arrowIcon.addClass(T),t._hideClear())},100)))},_requestEnd:function(){this._request=!1,this._hideBusy()},_dataSource:function(){var t,n=this,i=n.element,o=n.options,r=o.dataSource||{};r=e.isArray(r)?{data:r}:r,n._isSelect&&(t=i[0].selectedIndex,t>-1&&(o.index=t),r.select=i,r.fields=[{field:o.dataTextField},{field:o.dataValueField}]),n.dataSource?n._unbindDataSource():(n._requestStartHandler=L(n._showBusy,n),n._requestEndHandler=L(n._requestEnd,n),n._errorHandler=L(n._hideBusy,n)),n.dataSource=u.data.DataSource.create(r).bind(R,n._requestStartHandler).bind(H,n._requestEndHandler).bind("error",n._errorHandler)},_firstItem:function(){this.listView.focusFirst()},_lastItem:function(){this.listView.focusLast()},_nextItem:function(){return this.listView.focusNext()},_prevItem:function(){return this.listView.focusPrev()},_getNormalizedDataItem:function(e){var t,n=this,i=n.listView,o="number"==typeof e,r=n.optionLabel&&n.optionLabel.length;return t=o?r?--e:e:i.getElementIndex(e),i.dataItemByIndex(t)},_getNormalizedSelectCandidate:function(e){var t=this,n=t.optionLabel&&t.optionLabel.length,i="number"==typeof e,o=e;return n&&i&&o++,o},_move:function(e){var t,n,i,o,r,a,s,l,d,u=this,c=u.listView,p=e.keyCode,f=p===m.DOWN,h=u.options.virtual;if(p===m.UP||f){if(e.altKey)u.toggle(f);else{if(!c.bound()&&!u.ul[0].firstChild)return u._fetch||(u.dataSource.one(k,function(){u._fetch=!1,u._move(e)}),u._fetch=!0,u._filterSource()),e.preventDefault(),!0;i=u._focus(),u._fetch||i&&!i.hasClass("k-state-selected")||(f?(o=u._nextItem(),(h&&o<=0||!u._focus()&&!o)&&u._lastItem()):(o=u._prevItem(),(h&&o>=c.dataSource.total()-1||!u._focus()&&!o)&&u._firstItem())),r=u._getNormalizedSelectCandidate(u._get(u._focus())||o||0),u._select(r,!0).done(function(){var e=function(){u.popup.visible()||u._blur(),u._cascadedValue=null===u._cascadedValue?u.value():u.dataItem()?u.dataItem()[u.options.dataValueField]||u.dataItem():null};u.trigger(A,{dataItem:u._getNormalizedDataItem(r),item:u._focus()})?u._select(i).done(e):e()})}e.preventDefault(),n=!0}else if(p===m.ENTER||p===m.TAB){if(u.popup.visible()&&e.preventDefault(),i=u._focus(),t=u.dataItem(),u.popup.visible()||t&&u.text()===u._text(t)||(i=null),a=u.filterInput&&u.filterInput[0]===_(),i){if(t=c.dataItemByIndex(c.getElementIndex(i)),l=!0,t&&(l=u._value(t)!==K.unifyType(u.value(),typeof u._value(t))),l&&u.trigger(A,{dataItem:t,item:i}))return;s=u._select(i)}else u.input&&((u._syncValueAndText()||u._isSelect)&&u._accessor(u.input.val()),u.listView.value(u.input.val()));u._focusElement&&u._focusElement(u.wrapper),a&&p===m.TAB?u.wrapper.focusout():s&&"function"==typeof s.done?s.done(function(){u._blur()}):u._blur(),u.close(),n=!0}else p===m.ESC?(u.popup.visible()&&e.preventDefault(),u.close(),n=!0):!u.popup.visible()||p!==m.PAGEDOWN&&p!==m.PAGEUP||(e.preventDefault(),d=p===m.PAGEDOWN?1:-1,c.scrollWith(d*c.screenHeight()),n=!0);return n},_fetchData:function(){var e=this,t=!!e.dataSource.view().length;e._request||e.options.cascadeFrom||e.listView.bound()||e._fetch||t||(e._fetch=!0,e.dataSource.fetch().done(function(){e._fetch=!1}))},_options:function(e,n,i){var r,a,s,l,d=this,u=d.element,c=u[0],p=e.length,f="",h=0;for(n&&(f=n);h",f+=r;u.html(f),i!==t&&(c.value=i,c.value&&!i&&(c.selectedIndex=-1)),c.selectedIndex!==-1&&(r=o(c),r&&r.setAttribute(N,N))},_reset:function(){var t=this,n=t.element,i=n.attr("form"),o=i?e("#"+i):n.closest("form");o[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(t._initial)})},t._form=o.on("reset",t._resetHandler))},_parentWidget:function(){var t,n,i,o=this.options.name;if(this.options.cascadeFrom){if(t=e("#"+this.options.cascadeFrom),n=t.data("kendo"+o),!n)for(i=0;i
").parent(),this.header=this.content.before('').prev(),this.bound(!1),this._optionID=u.guid(),this._selectedIndices=[],this._view=[],this._dataItems=[],this._values=[];var i=this.options.value;i&&(this._values=e.isArray(i)?i.slice(0):[i]),this._getter(),this._templates(),this.setDataSource(this.options.dataSource),this._onScroll=L(function(){var e=this;clearTimeout(e._scrollId),e._scrollId=setTimeout(function(){e._renderHeader()},50)},this)},options:{name:"StaticList",dataValueField:null,valuePrimitive:!1,selectable:!0,template:null,groupTemplate:null,fixedGroupTemplate:null},events:["click",k,"activate","deactivate","dataBinding","dataBound","selectedItemChange"],setDataSource:function(t){var n,i=this,o=t||{};o=e.isArray(o)?{data:o}:o,o=u.data.DataSource.create(o),i.dataSource?(i.dataSource.unbind(k,i._refreshHandler),n=i.value(),i.value([]),i.bound(!1),i.value(n)):i._refreshHandler=L(i.refresh,i),i.setDSFilter(o.filter()),i.dataSource=o.bind(k,i._refreshHandler),i._fixedHeader()},_touchHandlers:function(){var t,n,i=this,o=function(e){return(e.originalEvent||e).changedTouches[0].pageY};i.element.on("touchstart"+l,function(e){t=o(e)}),i.element.on("touchend"+l,function(r){r.isDefaultPrevented()||(n=o(r),Math.abs(n-t)<10&&(i._touchTriggered=!0,i._triggerClick(e(r.target).closest(F).get(0))))})},skip:function(){return this.dataSource.skip()},setOptions:function(e){h.fn.setOptions.call(this,e),this._getter(),this._templates(),this._render()},destroy:function(){this.element.off(l),this._refreshHandler&&this.dataSource.unbind(k,this._refreshHandler),clearTimeout(this._scrollId),h.fn.destroy.call(this)},dataItemByIndex:function(e){return this.dataSource.flatView()[e]},screenHeight:function(){return this.content[0].clientHeight},scrollToIndex:function(e){var t=this.element[0].children[e];t&&this.scroll(t)},scrollWith:function(e){this.content.scrollTop(this.content.scrollTop()+e)},scroll:function(e){if(e){e[0]&&(e=e[0]);var t=this.content[0],n=e.offsetTop,i=e.offsetHeight,o=t.scrollTop,r=t.clientHeight,a=n+i;o>n?o=n:a>o+r&&(o=a-r),t.scrollTop=o}},selectedDataItems:function(e){return e===t?this._dataItems.slice():(this._dataItems=e,this._values=this._getValues(e),t)},_getValues:function(t){var n=this._valueGetter;return e.map(t,function(e){return n(e)})},focusNext:function(){var e=this.focus();e=e?e.next():0,this.focus(e)},focusPrev:function(){var e=this.focus();e=e?e.prev():this.element[0].children.length-1,this.focus(e)},focusFirst:function(){this.focus(this.element[0].children[0])},focusLast:function(){this.focus(i(this.element[0].children))},focus:function(n){var o,r=this,a=r._optionID;return n===t?r._current:(n=i(r._get(n)),n=e(this.element[0].children[n]),r._current&&(r._current.removeClass(x).removeAttr(w),r.trigger("deactivate")),o=!!n[0],o&&(n.addClass(x),r.scroll(n),n.attr("id",a)),r._current=o?n:null,r.trigger("activate"),t)},focusIndex:function(){return this.focus()?this.focus().index():t},skipUpdate:function(e){this._skipUpdate=e},select:function(n){var o,r,a,s=this,l=s.options.selectable,d="multiple"!==l&&l!==!1,u=s._selectedIndices,c=[this.element.find(".k-state-selected").index()],p=[],f=[];return n===t?u.slice():(n=s._get(n),1===n.length&&n[0]===-1&&(n=[]),r=e.Deferred().resolve(),a=s.isFiltered(),a&&!d&&s._deselectFiltered(n)?r:d&&!a&&e.inArray(i(n),u)!==-1&&e.inArray(i(n),c)!==-1?(s._dataItems.length&&s._view.length&&(s._dataItems=[s._view[u[0]].item]),r):(o=s._deselect(n),f=o.removed,n=o.indices,n.length&&(d&&(n=[i(n)]),p=s._select(n)),(p.length||f.length)&&(s._valueComparer=null,s.trigger(k,{added:p,removed:f})),r))},removeAt:function(e){return this._selectedIndices.splice(e,1),this._values.splice(e,1),this._valueComparer=null,{position:e,dataItem:this._dataItems.splice(e,1)[0]}},setValue:function(t){t=e.isArray(t)||t instanceof y?t.slice(0):[t],this._values=t,this._valueComparer=null},value:function(n){var i,o=this,r=o._valueDeferred;return n===t?o._values.slice():(o.setValue(n),r&&"resolved"!==r.state()||(o._valueDeferred=r=e.Deferred()),o.bound()&&(i=o._valueIndices(o._values),"multiple"===o.options.selectable&&o.select(-1),o.select(i),r.resolve()),o._skipUpdate=!1,r)},items:function(){return this.element.children(F)},_click:function(e){return this._touchTriggered?(this._touchTriggered=!1,t):(e.isDefaultPrevented()||this._triggerClick(e.currentTarget),t)},_triggerClick:function(t){this.trigger("click",{item:e(t)})||this.select(t)},_valueExpr:function(e,t){var i,o,r=this,a=0,s=[];if(!r._valueComparer||r._valueType!==e){for(r._valueType=e;a-1&&(a.push(this.removeAt(o)),e(r[i]).removeClass("k-state-selected"));return!!a.length&&(this.trigger(k,{added:[],removed:a}),!0)},_select:function(t){var n,o,r=this,a=r.element[0].children,s=r._view,l=[],d=0;for(i(t)!==-1&&r.focus(t);d'+n(e)+""}):n=u.template('
  • ${'+u.expr(t.dataTextField,"data")+"}
  • ",{useWithBlock:!1}),n},_templates:function(){var e,t,n,i,o,r=this.options,a={template:r.template,groupTemplate:r.groupTemplate,fixedGroupTemplate:r.fixedGroupTemplate};if(r.columns)for(t=0;ti||!a.nextSibling)break;a=a.nextSibling}else{if(a.offsetTop<=i||!a.previousSibling)break;a=a.previousSibling}return this._view[e(a).data("offset-index")]},_fixedHeader:function(){this.isGrouped()&&this.templates.fixedGroupTemplate?(this.header.show(),this.content.scroll(this._onScroll)):(this.header.hide(),this.content.off("scroll",this._onScroll))},_renderHeader:function(){var e,t=this.templates.fixedGroupTemplate;t&&(e=this._firstVisibleItem(),e&&(""+e.group).length&&this.header.html(t(e.group)))},_renderItem:function(e){var t='
  • ',t+=a?this._renderColumns(n):this.templates.template(n),i&&e.newGroup?t+=a?'
    '+this.templates.groupTemplate(e.group)+"
    ":'
    '+this.templates.groupTemplate(e.group)+"
    ":r&&a&&(t+="
    "),t+"
  • "},_renderColumns:function(e){var t,n,i,o,r="";for(t=0;t",r+=this.templates["column"+t](e),r+="";return r},_render:function(){var e,t,n,i,o="",r=0,a=0,s=[],l=this.dataSource.view(),d=this.value(),u=this.isGrouped();if(u)for(r=0;r1&&(l.direction=t&&o?pe[s].reverse:s),n[a[0]]=l}):S(e,function(e){var i=this.direction;i&&t&&!L.test(e)&&(this.direction=pe[i].reverse),n[e]=this}),n},A&&F(T,{transition:function(t,n,i){var r,s,l,d,u=0,c=t.data("keys")||[];i=F({duration:200,ease:"ease-out",complete:null,exclusive:"all"},i),l=!1,d=function(){l||(l=!0,s&&(clearTimeout(s),s=null),t.removeData(te).dequeue().css(ae,"").css(ae),i.complete.call(t))},i.duration=e.fx?e.fx.speeds[i.duration]||i.duration:i.duration,r=a(t,n),e.merge(c,o(r)),e.hasOwnProperty("uniqueSort")?t.data("keys",e.uniqueSort(c)).height():t.data("keys",e.unique(c)).height(),t.css(ae,i.exclusive+" "+i.duration+"ms "+i.ease).css(ae),t.css(r).css(se),A.event&&(t.one(A.event,d),0!==i.duration&&(u=500)),s=setTimeout(d,i.duration+u),t.data(te,s),t.data(re,d)},stopQueue:function(e,t,n){var i,o=e.data("keys"),r=!n&&o,a=e.data(re);return r&&(i=C.getComputedStyles(e[0],o)),a&&a(),r&&e.css(i),e.removeData("keys").stop(t)}}),f=C.Class.extend({init:function(e,t){var n=this;n.element=e,n.effects=[],n.options=t,n.restore=[]},run:function(t){var n,i,o,s,l,d,u,c=this,p=t.length,f=c.element,h=c.options,m=e.Deferred(),g={},v={};for(c.effects=t,m.done(e.proxy(c,"complete")),f.data("animating",!0),i=0;i=this.duration},timePassed:function(){return Math.min(this.duration,new Date-this.startDate)},moveTo:function(e){var t=this,n=t.movable;t.initial=n[t.axis],t.delta=e.location-t.initial,t.duration="number"==typeof e.duration?e.duration:300,t.tick=t._easeProxy(e.ease),t.startDate=new Date,t.start()},_easeProxy:function(e){var t=this;return function(){t.movable.moveAxis(t.axis,e(t.timePassed(),t.initial,t.delta,t.duration))}}}),F(x,{easeOutExpo:function(e,t,n,i){return e==i?t+n:n*(-Math.pow(2,-10*e/i)+1)+t},easeOutBack:function(e,t,n,i,o){return o=1.70158,n*((e=e/i-1)*e*((o+1)*e+o)+1)+t}}),T.Animation=k,T.Transition=x,T.createEffect=d,T.box=function(t){t=e(t);var n=t.offset();return n.width=C._outerWidth(t),n.height=C._outerHeight(t),n},T.transformOrigin=function(e,t){var n=(e.left-t.left)*t.width/(t.width-e.width),i=(e.top-t.top)*t.height/(t.height-e.height);return{x:isNaN(n)?0:n,y:isNaN(i)?0:i}},T.fillScale=function(e,t){return Math.min(e.width/t.width,e.height/t.height)},T.fitScale=function(e,t){return Math.max(e.width/t.width,e.height/t.height)}}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.userevents.min",["kendo.core.min"],e)}(function(){return function(e,t){function n(e,t){var n=e.x.location,i=e.y.location,o=t.x.location,r=t.y.location,a=n-o,s=i-r;return{center:{x:(n+o)/2,y:(i+r)/2},distance:Math.sqrt(a*a+s*s)}}function i(e){var t,n,i,o=[],r=e.originalEvent,s=e.currentTarget,l=0;if(e.api)o.push({id:2,event:e,target:e.target,currentTarget:e.target,location:e,type:"api"});else if(e.type.match(/touch/))for(n=r?r.changedTouches:[],t=n.length;l1},_maxTouchesReached:function(){return this.touches.length>=this._maxTouches},_disposeAll:function(){for(var e=this.touches;e.length>0;)e.pop().dispose()},_isMoved:function(){return e.grep(this.touches,function(e){return e.isMoved()}).length},_select:function(e){this.allowSelection&&!this.trigger(_,{event:e})||e.preventDefault()},_start:function(t){var n,o,r=this,a=0,s=r.filter,l=i(t),d=l.length,u=t.which;if(!(u&&u>1||r._maxTouchesReached()))for(R.current=null,r.currentTarget=t.currentTarget,r.stopPropagation&&t.stopPropagation();a1){for(n=0;nthis.max||eo,e||t.trigger(R,t))}}),G=C.extend({init:function(e){var t=this;C.fn.init.call(t),t.x=new q(F({horizontal:!0},e)),t.y=new q(F({horizontal:!1},e)),t.container=e.container,t.forcedMinScale=e.minScale,t.maxScale=e.maxScale||100,t.bind(R,e)},rescale:function(e){this.x.rescale(e),this.y.rescale(e),this.refresh()},centerCoordinates:function(){return{x:Math.min(0,-this.x.centerOffset),y:Math.min(0,-this.y.centerOffset)}},refresh:function(){var e=this;e.x.update(),e.y.update(),e.enabled=e.x.enabled||e.y.enabled,e.minScale=e.forcedMinScale||Math.min(e.x.minScale,e.y.minScale),e.fitScale=Math.max(e.x.minScale,e.y.minScale),e.trigger(R)}}),$=C.extend({init:function(e){var t=this;F(t,e),C.fn.init.call(t)},outOfBounds:function(){return this.dimension.outOfBounds(this.movable[this.axis])},dragMove:function(e){var t=this,n=t.dimension,i=t.axis,o=t.movable,r=o[i]+e;n.enabled&&((rn.max&&e>0)&&(e*=t.resistance),o.translateAxis(i,e),t.trigger(R,t))}}),Y=k.extend({init:function(t){var n,i,o,r,a=this;F(a,{elastic:!0},t),o=a.elastic?.5:0,r=a.movable,a.x=n=new $({axis:"x",dimension:a.dimensions.x,resistance:o,movable:r}),a.y=i=new $({axis:"y",dimension:a.dimensions.y,resistance:o,movable:r}),a.userEvents.bind(["press","move","end","gesturestart","gesturechange"],{gesturestart:function(e){a.gesture=e,a.offset=a.dimensions.container.offset()},press:function(t){e(t.event.target).closest("a").is("[data-navigate-on-press=true]")&&t.sender.cancel()},gesturechange:function(e){var t,o,s,l=a.gesture,d=l.center,u=e.center,c=e.distance/l.distance,p=a.dimensions.minScale,f=a.dimensions.maxScale;r.scale<=p&&c<1&&(c+=.8*(1-c)),r.scale*c>=f&&(c=f/r.scale),o=r.x+a.offset.left,s=r.y+a.offset.top,t={x:(o-d.x)*c+u.x-o,y:(s-d.y)*c+u.y-s},r.scaleWith(c),n.dragMove(t.x),i.dragMove(t.y),a.dimensions.rescale(r.scale),a.gesture=e,e.preventDefault()},move:function(e){e.event.target.tagName.match(/textarea|input/i)||(n.dimension.enabled||i.dimension.enabled?(n.dragMove(e.x.delta),i.dragMove(e.y.delta),e.preventDefault()):e.touch.skip())},end:function(e){e.preventDefault()}})}}),K=b.transitions.prefix+"Transform";f=b.hasHW3D?function(e,t,n){return"translate3d("+e+"px,"+t+"px,0) scale("+n+")"}:function(e,t,n){return"translate("+e+"px,"+t+"px) scale("+n+")"},h=C.extend({init:function(t){var n=this;C.fn.init.call(n),n.element=e(t),n.element[0].style.webkitTransformOrigin="left top",n.x=0,n.y=0,n.scale=1,n._saveCoordinates(f(n.x,n.y,n.scale))},translateAxis:function(e,t){this[e]+=t,this.refresh()},scaleTo:function(e){this.scale=e,this.refresh()},scaleWith:function(e){this.scale*=e,this.refresh()},translate:function(e){this.x+=e.x,this.y+=e.y,this.refresh()},moveAxis:function(e,t){this[e]=t,this.refresh()},moveTo:function(e){F(this,e),this.refresh()},refresh:function(){var e,t=this,n=t.x,i=t.y;t.round&&(n=Math.round(n),i=Math.round(i)),e=f(n,i,t.scale),e!=t.coordinates&&(_.support.browser.msie&&_.support.browser.version<10?(t.element[0].style.position="absolute",t.element[0].style.left=t.x+"px",t.element[0].style.top=t.y+"px"):t.element[0].style[K]=e,t._saveCoordinates(e),t.trigger(R))},_saveCoordinates:function(e){this.coordinates=e}}),m=x.extend({init:function(e,t){var n,i=this;x.fn.init.call(i,e,t),n=i.options.group,n in z?z[n].push(i):z[n]=[i]},events:[V,U,W],options:{name:"DropTarget",group:"default"},destroy:function(){s(z,this)},_trigger:function(e,t){var n=this,i=I[n.options.group];if(i)return n.trigger(e,F({},t.event,{draggable:i,dropTarget:t.dropTarget}))},_over:function(e){this._trigger(V,e)},_out:function(e){this._trigger(U,e)},_drop:function(e){var t=this,n=I[t.options.group];n&&(n.dropped=!t._trigger(W,e))}}),m.destroyGroup=function(e){var t,n=z[e]||E[e];if(n){for(t=0;tw.height(),n=y.body.scrollWidth>w.width()):(t=l.offsetHeight<=l.scrollHeight,n=l.offsetWidth<=l.scrollWidth),o=l.scrollTop+u.y,r=t&&o>0&&o0&&at.max?t.max:t.min;e._moveTo(n)},_moveTo:function(e){this.transition.moveTo({location:e,duration:g,ease:f.easeOutExpo})}}),A=h.extend({init:function(e){var t=this;n.effects.Animation.fn.init.call(this),s(t,e,{origin:{},destination:{},offset:{}})},tick:function(){this._updateCoordinates(),this.moveTo(this.origin)},done:function(){return m(this.offset.y)');s(n,t,{element:o,elementSize:0,movable:new u(o),scrollMovable:t.movable,alwaysVisible:t.alwaysVisible,size:i?"width":"height"}),n.scrollMovable.bind(S,a(n.refresh,n)),n.container.append(o),t.alwaysVisible&&n.show()},refresh:function(){var e=this,t=e.axis,n=e.dimension,i=n.size,o=e.scrollMovable,r=i/n.total,a=Math.round(-o[t]*r),s=Math.round(i*r);r>=1?this.element.css("display","none"):this.element.css("display",""),a+s>i?s=i-a:a<0&&(s+=a,a=0),e.elementSize!=s&&(e.element.css(e.size,s+"px"),e.elementSize=s),e.movable.moveAxis(t,a)},show:function(){ -this.element.css({opacity:v,visibility:"visible"})},hide:function(){this.alwaysVisible||this.element.css({opacity:0})}}),R=l.extend({init:function(i,o){var r,d,f,h,g,v,_,b,y,w=this;return l.fn.init.call(w,i,o),i=w.element,(w._native=w.options.useNative&&n.support.hasNativeScrolling)?(i.addClass("km-native-scroller").prepend('
    '),s(w,{scrollElement:i,fixedContainer:i.children().first()}),t):(i.css("overflow","hidden").addClass("km-scroll-wrapper").wrapInner('
    ').prepend('
    '),r=i.children().eq(1),d=new n.TapCapture(i),f=new u(r),h=new p({element:r,container:i,forcedEnabled:w.options.zoom}),g=this.options.avoidScrolling,v=new n.UserEvents(i,{touchAction:"pan-y",fastTap:!0,allowSelection:!0,preventDragEvent:!0,captureUpIfMoved:!0,multiTouch:w.options.zoom,supportDoubleTap:w.options.supportDoubleTap,start:function(t){h.refresh();var n=m(t.x.velocity),i=m(t.y.velocity),o=2*n>=i,r=e.contains(w.fixedContainer[0],t.event.target),a=2*i>=n;!r&&!g(t)&&w.enabled&&(h.x.enabled&&o||h.y.enabled&&a)?v.capture():v.cancel()}}),_=new c({movable:f,dimensions:h,userEvents:v,elastic:w.options.elastic}),b=new z({movable:f,dimensions:h,userEvents:v,tapCapture:d}),y=new A({moveTo:function(e){w.scrollTo(e.x,e.y)}}),f.bind(S,function(){w.scrollTop=-f.y,w.scrollLeft=-f.x,w.trigger(D,{scrollTop:w.scrollTop,scrollLeft:w.scrollLeft})}),w.options.mousewheelScrolling&&i.on("DOMMouseScroll mousewheel",a(this,"_wheelScroll")),s(w,{movable:f,dimensions:h,zoomSnapBack:b,animatedScroller:y,userEvents:v,pane:_,tapCapture:d,pulled:!1,enabled:!0,scrollElement:r,scrollTop:0,scrollLeft:0,fixedContainer:i.children().first()}),w._initAxis("x"),w._initAxis("y"),w._wheelEnd=function(){w._wheel=!1,w.userEvents.end(0,w._wheelY)},h.refresh(),w.options.pullToRefresh&&w._initPullToRefresh(),t)},_wheelScroll:function(e){if(!e.ctrlKey){this._wheel||(this._wheel=!0,this._wheelY=0,this.userEvents.press(0,this._wheelY)),clearTimeout(this._wheelTimeout),this._wheelTimeout=setTimeout(this._wheelEnd,50);var t=n.wheelDeltaY(e);t&&(this._wheelY+=t,this.userEvents.move(0,this._wheelY)),e.preventDefault()}},makeVirtual:function(){this.dimensions.y.makeVirtual()},virtualSize:function(e,t){this.dimensions.y.virtualSize(e,t)},height:function(){return this.dimensions.y.size},scrollHeight:function(){return this.scrollElement[0].scrollHeight},scrollWidth:function(){return this.scrollElement[0].scrollWidth},options:{name:"Scroller",zoom:!1,pullOffset:140,visibleScrollHints:!1,elastic:!0,useNative:!1,mousewheelScrolling:!0,avoidScrolling:function(){return!1},pullToRefresh:!1,messages:{pullTemplate:"Pull to refresh",releaseTemplate:"Release to refresh",refreshTemplate:"Refreshing"}},events:[T,D,F],_resize:function(){this._native||this.contentResized()},setOptions:function(e){var t=this;l.fn.setOptions.call(t,e),e.pullToRefresh&&t._initPullToRefresh()},reset:function(){this._native?this.scrollElement.scrollTop(0):(this.movable.moveTo({x:0,y:0}),this._scale(1))},contentResized:function(){this.dimensions.refresh(),this.pane.x.outOfBounds()&&this.movable.moveAxis("x",this.dimensions.x.min),this.pane.y.outOfBounds()&&this.movable.moveAxis("y",this.dimensions.y.min)},zoomOut:function(){var e=this.dimensions;e.refresh(),this._scale(e.fitScale),this.movable.moveTo(e.centerCoordinates())},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},scrollTo:function(e,t){this._native?(this.scrollElement.scrollLeft(m(e)),this.scrollElement.scrollTop(m(t))):(this.dimensions.refresh(),this.movable.moveTo({x:e,y:t}))},animatedScrollTo:function(e,t,n){var i,o;this._native?this.scrollTo(e,t):(i={x:this.movable.x,y:this.movable.y},o={x:e,y:t},this.animatedScroller.setCoordinates(i,o),this.animatedScroller.setCallback(n),this.animatedScroller.start())},pullHandled:function(){var e=this;e.refreshHint.removeClass(C),e.hintContainer.html(e.pullTemplate({})),e.yinertia.onEnd(),e.xinertia.onEnd(),e.userEvents.cancel()},destroy:function(){l.fn.destroy.call(this),this.userEvents&&this.userEvents.destroy()},_scale:function(e){this.dimensions.rescale(e),this.movable.scaleTo(e)},_initPullToRefresh:function(){var e=this;e.dimensions.y.forceEnabled(),e.pullTemplate=n.template(e.options.messages.pullTemplate),e.releaseTemplate=n.template(e.options.messages.releaseTemplate),e.refreshTemplate=n.template(e.options.messages.refreshTemplate),e.scrollElement.prepend(''+e.pullTemplate({})+""),e.refreshHint=e.scrollElement.children().first(),e.hintContainer=e.refreshHint.children(".km-template"),e.pane.y.bind("change",a(e._paneChange,e)),e.userEvents.bind("end",a(e._dragEnd,e))},_dragEnd:function(){var e=this;e.pulled&&(e.pulled=!1,e.refreshHint.removeClass(x).addClass(C),e.hintContainer.html(e.refreshTemplate({})),e.yinertia.freeze(e.options.pullOffset/2),e.trigger("pull"))},_paneChange:function(){var e=this;e.movable.y/w>e.options.pullOffset?e.pulled||(e.pulled=!0,e.refreshHint.removeClass(C).addClass(x),e.hintContainer.html(e.releaseTemplate({}))):e.pulled&&(e.pulled=!1,e.refreshHint.removeClass(x),e.hintContainer.html(e.pullTemplate({})))},_initAxis:function(e){var t=this,n=t.movable,i=t.dimensions[e],o=t.tapCapture,r=t.pane[e],a=new N({axis:e,movable:n,dimension:i,container:t.element,alwaysVisible:t.options.visibleScrollHints});i.bind(S,function(){a.refresh()}),r.bind(S,function(){a.show()}),t[e+"inertia"]=new E({axis:e,paneAxis:r,movable:n,tapCapture:o,userEvents:t.userEvents,dimension:i,elastic:t.options.elastic,friction:t.options.friction||_,velocityMultiplier:t.options.velocityMultiplier||b,end:function(){a.hide(),t.trigger("scrollEnd",{axis:e,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft})}})}});r.plugin(R)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.virtuallist.min",["kendo.data.min"],e)}(function(){return function(e,t){function n(e){return e[e.length-1]}function i(e){return e instanceof Array?e:[e]}function o(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e}function r(e,t,n){return Math.ceil(e*t/n)}function a(e,t,n){var i=document.createElement(n||"div");return t&&(i.className=t),e.appendChild(i),i}function s(){var t,n=e('
    ');return n.css({position:"absolute",left:"-200000px",visibility:"hidden"}),n.appendTo(document.body),t=parseFloat(b.getComputedStyles(n.find(".k-item")[0],["line-height"])["line-height"]),n.remove(),t}function l(e,t,n){return{down:e*n,up:e*(t-1-n)}}function d(e,t){var n=(e.listScreens-1-e.threshold)*t,i=e.threshold*t;return function(e,t,o){return t>o?t-e.topi}}function u(e,t){return function(n){return t(e.scrollTop,n)}}function c(e){return function(t,n){return e(t.items,t.index,n),t}}function p(e,t){b.support.browser.msie&&b.support.browser.version<10?e.style.top=t+"px":(e.style.webkitTransform="translateY("+t+"px)",e.style.transform="translateY("+t+"px)")}function f(t,n){return function(i,o){for(var r=0,a=i.length;r0?(n=e.splice(0,t),e.push.apply(e,n)):(n=e.splice(t,-t),e.unshift.apply(e,n)),n}function m(n,i,o){var r=o.template;n=e(n),i.item||(r=o.placeholderTemplate),0===i.index&&this.header&&i.group&&this.header.html(o.fixedGroupTemplate(i.group)),this.angular("cleanup",function(){return{elements:[n]}}),n.attr("data-uid",i.item?i.item.uid:"").attr("data-offset-index",i.index),n.html(this.options.columns&&this.options.columns.length&&i.item?g(this.options,i.item,o):r(i.item||{})),n.toggleClass(H,i.current),n.toggleClass(R,i.selected),n.toggleClass("k-first",i.newGroup),n.toggleClass("k-last",i.isLastGroupedItem),n.toggleClass("k-loading-item",!i.item),0!==i.index&&i.newGroup&&e("
    ").appendTo(n).html(o.groupTemplate(i.group)),i.top!==t&&p(n[0],i.top),this.angular("compile",function(){return{elements:[n],data:[{dataItem:i.item,group:i.group,newGroup:i.newGroup}]}})}function g(e,t,n){var i,o,r,a,s="";for(i=0;i",s+=n["column"+i](t),s+="";return s}function v(e,t){var n,i,o,r,a=t.length,s=e.length,l=[],d=[];if(s)for(o=0;o
    ").parent(),o.wrapper=o.content.wrap("
    ").parent(),o.header=o.content.before("
    ").prev(),n.columns&&n.columns.length&&o.element.removeClass(D),o.element.on("mouseenter"+W,"li:not(.k-loading-item)",function(){e(this).addClass(P)}).on("mouseleave"+W,"li",function(){e(this).removeClass(P)}),o._values=i(o.options.value),o._selectedDataItems=[],o._selectedIndexes=[],o._rangesList={},o._promisesList=[],o._optionID=b.guid(),o._templates(),o.setDataSource(n.dataSource),o.content.on("scroll"+W,b.throttle(function(){o._renderItems(),o._triggerListBound()},n.delay)),o._selectable()},options:{name:"VirtualList",autoBind:!0,delay:100,height:null,listScreens:4,threshold:.5,itemHeight:null,oppositeBuffer:1,type:"flat",selectable:!1,value:[],dataValueField:null,template:"#:data#",placeholderTemplate:"loading...",groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",mapValueTo:"index",valueMapper:null},events:[M,O,B,L,V,U],setOptions:function(e){w.fn.setOptions.call(this,e),this._selectProxy&&this.options.selectable===!1?this.element.off(O,"."+z,this._selectProxy):!this._selectProxy&&this.options.selectable&&this._selectable(),this._templates(),this.refresh()},items:function(){return e(this._items)},destroy:function(){this.wrapper.off(W),this.dataSource.unbind(M,this._refreshHandler),w.fn.destroy.call(this)},setDataSource:function(t){var n,i=this,o=t||{};o=e.isArray(o)?{data:o}:o,o=b.data.DataSource.create(o),i.dataSource?(i.dataSource.unbind(M,i._refreshHandler),i._clean(),i.bound(!1),i._deferValueSet=!0,n=i.value(),i.value([]),i.mute(function(){i.value(n)})):i._refreshHandler=e.proxy(i.refresh,i),i.dataSource=o.bind(M,i._refreshHandler),i.setDSFilter(o.filter()),0!==o.view().length?i.refresh():i.options.autoBind&&o.fetch()},skip:function(){return this.dataSource.currentRangeStart()},_triggerListBound:function(){var e=this,t=e.skip();e.bound()&&!e._selectingValue&&e._skip!==t&&(e._skip=t,e.trigger(B))},_getValues:function(t){var n=this._valueGetter;return e.map(t,function(e){return n(e)})},_highlightSelectedItems:function(){var e,t;for(e=0;e0?(t-=1,this.focus(t),e=this.focus(),e&&e.hasClass("k-loading-item")&&(t+=1,this.focus(t)),t):(t=this.dataSource.total()-1,this.focus(t),t)},focusNext:function(){var e,t=this._focusedIndex,n=this.dataSource.total()-1;return!isNaN(t)&&ti&&(t=i*n):t=0,t},setScreenHeight:function(){var e=this._height();this.content.height(e),this._screenHeight=e},screenHeight:function(){return this._screenHeight},_getElementLocation:function(e){var t,n=this.content.scrollTop(),i=this._screenHeight,o=this.options.itemHeight,r=e*o,a=r+o,s=n+i;return t=r===n-o||a>n&&r=n&&r<=n+(i-o)?"inScreen":"outScreen"},_templates:function(){var e,t,n,i,o=this.options,r={template:o.template,placeholderTemplate:o.placeholderTemplate,groupTemplate:o.groupTemplate,fixedGroupTemplate:o.fixedGroupTemplate};if(o.columns)for(e=0;e0;)n=document.createElement("li"),n.tabIndex=-1,n.className=z+" "+E,n.setAttribute("role","option"),n.style.height=o,n.style.minHeight=o,e.appendChild(n),i.push(n);return i},_saveInitialRanges:function(){var t,n=this.dataSource._ranges,i=e.Deferred();for(i.resolve(),this._rangesList={},t=0;to.total()&&(t.itemCount=o.total()),t._items=t._generateItems(t.element[0],t.itemCount),t._setHeight(i.itemHeight*o.total()),t.options.type=(o.group()||[]).length?"group":"flat","flat"===t.options.type?t.header.hide():t.header.show(),t.getter=t._getter(function(){t._renderItems(!0)}),t._onScroll=function(e,n){var i=t._listItems(t.getter);return t._fixedHeader(e,i(e,n))},t._renderItems=t._whenChanged(u(n,t._onScroll),c(t._reorderList(t._items,e.proxy(m,t)))),t._renderItems(),t._calculateGroupPadding(t._screenHeight),t._calculateColumnsHeaderPadding()},_setHeight:function(e){var t,n,i=this.heightContainer;if(i?t=i.offsetHeight:i=this.heightContainer=a(this.content[0],A),e!==t)for(i.innerHTML="";e>0;)n=Math.min(e,25e4),a(i).style.height=n+"px",e-=n},_getter:function(){var e=null,t=this.dataSource,n=t.skip(),i=this.options.type,o=this.itemCount,r={};return t.pageSize()=o?(l=t,d=e):(l=h(t,u),d=u>0?e.slice(-u):e.slice(0,-u)),n(l,d,i.bound()),r=a}},_bufferSizes:function(){var e=this.options;return l(this._screenHeight,e.listScreens,e.oppositeBuffer)},_indexConstraint:function(e){var t=this.itemCount,n=this.options.itemHeight,i=this.dataSource.total();return Math.min(Math.max(i-t,0),Math.max(0,Math.floor(e/n)))},_listIndex:function(e,t){var n,i=this._bufferSizes();return n=e-(e>t?i.down:i.up),this._indexConstraint(n)},_selectable:function(){this.options.selectable&&(this._selectProxy=e.proxy(this,"_clickHandler"),this.element.on(O+W,"."+z,this._selectProxy))},getElementIndex:function(e){return e instanceof jQuery?parseInt(e.attr("data-offset-index"),10):t},_getIndecies:function(e){var t,n,i,o=[];if("function"==typeof e)for(t=this.dataSource.flatView(),n=0;n-1&&(l.push(this.removeAt(o)),e(a[i]).removeClass("k-state-selected"))}return l},_getSkip:function(e,t){var n=e0,i=!e.ul.find(e.listView.focus()).length;e.popup.visible()||(!e.listView.bound()&&t!==C||t===T?(e._open=!0,e._state=S,1!==e.options.minLength&&!n||n&&e.value()&&e.selectedIndex===-1?(e.refresh(),e._openPopup(),this.options.virtual||e.listView.bound(!1)):e._filterSource()):e._allowOpening()&&(e.popup._hovered=!0,e._openPopup(),e.options.virtual?e._focusItem():i&&e.options.highlightFirst&&e.listView.focus(0)))},_scrollToFocusedItem:function(){var e=this.listView;e.scrollToIndex(e.getElementIndex(e.focus()))},_openPopup:function(){this.popup.one("activate",D(this._scrollToFocusedItem,this)),this.popup.open()},_updateSelectionState:function(){var e=this,n=e.options.text,i=e.options.value;e.listView.isFiltered()||(e.selectedIndex===-1?(n!==t&&null!==n||(n=i),e._accessor(i),e.input.val(n||e.input.val()),e._placeholder()):e._oldIndex===-1&&(e._oldIndex=e.selectedIndex))},_buildOptions:function(e){var n,i=this;i._isSelect&&(n=i._customOption,i._state===S&&(i._state=""),i._customOption=t,i._options(e,"",i.value()),n&&n[0].selected&&!i.listView._emptySearch&&i._custom(n.val()))},_updateSelection:function(){var n,i=this,o=i.listView,r=i._initialIndex,a=null!==r&&r>-1,s=i._state===C;return s?(e(o.focus()).removeClass("k-state-selected"),t):(i._fetch||(o.value().length||(a?i.select(r):i._accessor()&&o.value(i._accessor())),i._initialIndex=null,n=o.selectedDataItems()[0],n&&(i._value(n)!==i.value()?i._custom(i._value(n)):i._value(n)!==i.element[0].value&&i._accessor(i._value(n)),i.text()&&i.text()!==i._text(n)&&i._selectValue(n))),t)},_updateItemFocus:function(){var e=this.listView;this.options.highlightFirst?e.focus()||e.focusIndex()||e.focus(0):e.focus(-1)},_listBound:function(){var e=this,n=e.input[0]===d(),i=e.dataSource.flatView(),o=e.listView.skip(),r=i.length,a=e.dataSource._group?e.dataSource._group.length:0,s=o===t||0===o;e._presetValue=!1,e._renderFooter(),e._renderNoData(),e._toggleNoData(!r),e._toggleHeader(!!a&&!!r),e._resizePopup(),e.popup.position(),e._buildOptions(i),e._makeUnselectable(),e._updateSelection(),i.length&&s&&(e._updateItemFocus(),e.options.suggest&&n&&e.input.val()&&e.suggest(i[0])),e._open&&(e._open=!1,e._typingTimeout&&!n?e.popup.close():e.toggle(e._allowOpening()),e._typingTimeout=null),e._hideBusy(),e.trigger("dataBound")},_listChange:function(){this._selectValue(this.listView.selectedDataItems()[0]),this._presetValue&&(this._oldIndex=this.selectedIndex)},_get:function(e){var t,n,i;if("function"==typeof e){for(t=this.dataSource.flatView(),i=0;i-1&&(s+=e.substring(n+s.length))):s=s.substring(0,l),s.length===l&&e||(r.value=s,r===d()&&a(r,l,s.length)),t)},text:function(e){var n,i,r,a,s,l;return e=null===e?"":e,n=this,i=n.input[0],r=n.options.ignoreCase,a=e,e===t?i.value:n.options.autoBind!==!1||n.listView.bound()?(s=n.dataItem(),s&&n._text(s).replace&&n._text(s).replace(I,"")===e&&(l=n._value(s),l===o.unifyType(n._old,typeof l))?(n._triggerCascade(),t):(r&&(a=a.toLowerCase()),n.dataItem()&&n._text(n.dataItem())===e||(n._select(function(e){return e=n._text(e),r&&(e=(e+"").toLowerCase()),e===a}).done(function(){n.selectedIndex<0&&(i.value=e,n.options.syncValueAndText&&n._accessor(e),n._cascadeTriggered=!0,n._triggerCascade()),n._prev=i.value}),n._toggleCloseVisibility()),t)):(n._setText(e),t)},toggle:function(e){this._toggle(e,!0)},value:function(e){var n=this,i=n.options,o=n.listView;return e===t?(e=n._accessor()||n.listView.value()[0],e===t||null===e?"":e):(n.requireValueMapper(n.options,e),n.trigger("set",{value:e}),(e!==i.value||n.input.val()!==i.text||n.options.cascadeFrom)&&(n._accessor(e),n._isFilterEnabled()&&o.bound()&&o.isFiltered()?n._clearFilter():n._fetchData(),o.value(e).done(function(){n.selectedIndex!==-1||o._selectedDataItems&&o._selectedDataItems.length||(n._accessor(e),n.input.val(e),n._placeholder(!0)),n._old=n._userTriggered?n._accessor():n._valueBeforeCascade=n._accessor(),n._oldIndex=n.selectedIndex,n._prev=n._oldText=n.input.val(),n._state===C&&(n._state=T),n._toggleCloseVisibility()})),t)},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._arrowIcon.removeClass(_),e._focused.attr("aria-busy",!1),e._busy=null,e._toggleCloseVisibility()},_click:function(e){var n=this,i=e.item,r=n.listView.dataItemByIndex(n.listView.getElementIndex(i)),a=!0;return e.preventDefault(),r&&(a=n._value(r)!==o.unifyType(n.value(),typeof n._value(r)),a||n.input.val(n._text(r))),a&&n.trigger("select",{dataItem:r,item:i})?(n.close(),t):(n._userTriggered=!0,n._select(i).done(function(){n._blur()}),t)},_syncValueAndText:function(){return this.options.syncValueAndText},_inputValue:function(){return this.text()},_searchByWord:function(e){var n,i=this,o=i.options,r=i.dataSource,a=o.ignoreCase,s=function(n){var o=i._text(n);if(o!==t)return o+="",(""===o||""!==e)&&(a&&(o=o.toLowerCase()),0===o.indexOf(e))};return a&&(e=e.toLowerCase()),i.ul[0].firstChild?(this.listView.focus(this._get(s)),n=this.listView.focus(),n&&(o.suggest&&i.suggest(n),this.open()),this.options.highlightFirst&&!e&&this.listView.focusFirst(),t):(r.one(v,function(){r.view()[0]&&i.search(e)}).fetch(),t)},_input:function(){var t,n,i=this,o=i.element.removeClass("k-input")[0],r=o.accessKey,a=i.wrapper,s="input.k-input",d=o.name||"";d&&(d='name="'+d+'_input" '),t=a.find(s),t[0]||(a.append('').append(i.element),t=a.find(s)),t[0].style.cssText=o.style.cssText,t[0].title=o.title,n=parseInt(this.element.prop("maxlength")||this.element.attr("maxlength"),10),n>-1&&(t[0].maxLength=n),t.addClass(o.className).css({width:"",height:o.style.height}).attr({role:"combobox","aria-expanded":!1}).show(),l&&t.attr("placeholder",i.options.placeholder),r&&(o.accessKey="",t[0].accessKey=r),i._focused=i.input=t,i._inputWrapper=e(a[0].firstChild),i._arrow=a.find(".k-select").attr({role:"button",tabIndex:-1}),i._arrowIcon=i._arrow.find(".k-icon"),o.id&&i._arrow.attr("aria-controls",i.ul[0].id)},_clearButton:function(){o.fn._clearButton.call(this),this.options.clearButton&&(this._clear.insertAfter(this.input),this.wrapper.addClass("k-combobox-clearable"))},_keydown:function(e){var t,n,i,r=this,a=e.keyCode;if(r._last=a,clearTimeout(r._typingTimeout),r._typingTimeout=null,a===u.HOME)r._firstItem();else if(a===u.END)r._lastItem();else if(a===u.ENTER||a===u.TAB&&r.popup.visible())if(t=r.listView.focus(),n=r.dataItem(),i=!0,r.popup.visible()||n&&r.text()===r._text(n)||(t=null),t){if(r.popup.visible()&&e.preventDefault(),n=r.listView.dataItemByIndex(r.listView.getElementIndex(t)),n&&(i=r._value(n)!==o.unifyType(r.value(),typeof r._value(n))),i&&r.trigger("select",{dataItem:n,item:t}))return;r._userTriggered=!0,r._select(t).done(function(){r._blur(),r._valueBeforeCascade=r._old=r.value()})}else(r._syncValueAndText()||r._isSelect)&&r._accessor(r.input.val()),r.options.highlightFirst?(r.listView.value(r.input.val()),r._blur()):r._oldText=r.text();else a==u.TAB||r._move(e)?a===u.ESC&&!r.popup.visible()&&r.text()&&r._clearValue():r._search()},_placeholder:function(e){if(!l){var n,i=this,o=i.input,r=i.options.placeholder;if(r){if(n=i.value(),e===t&&(e=!n),o.toggleClass("k-readonly",e),!e){if(n)return;r=""}o.val(r),r||o[0]!==d()||a(o[0],0,0)}}},_search:function(){var e=this;clearTimeout(e._typingTimeout),e._typingTimeout=setTimeout(function(){var t=e.text();""!==t&&e._prev!==t?(e._prev=t,"none"===e.options.filter&&e.options.virtual&&e.listView.select(-1),e.search(t),e._toggleCloseVisibility()):""===t&&""!==e._prev&&(e._clearValue(),e.search("")),e._typingTimeout=null},e.options.delay)},_setText:function(e){this.input.val(e),this._prev=e},_wrapper:function(){var e=this,t=e.element,n=t.parent();n.is("span.k-widget")||(n=t.hide().wrap("").parent(),n[0].style.cssText=t[0].style.cssText),e.wrapper=n.addClass("k-widget k-combobox").addClass(t[0].className).removeClass("input-validation-error").css("display","")},_clearSelection:function(e,t){var n=this,i=e.value(),o=i&&e.selectedIndex===-1;this.selectedIndex==-1&&this.value()||(t||!i||o)&&(n.options.value="",n.value(""))},_preselect:function(e,t){this.input.val(t),this._accessor(e),this._old=this._accessor(),this._oldIndex=this.selectedIndex,this.listView.setValue(e),this._placeholder(),this._initialIndex=null,this._presetValue=!0,this._toggleCloseVisibility()},_clearText:function(){this._old=this.value(),this.text("")},_clearValue:function(){r.fn._clearValue.call(this),this.input.focus()}});i.plugin(z)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.dropdownlist.min",["kendo.list.min","kendo.mobile.scroller.min","kendo.virtuallist.min"],e)}(function(){return function(e,t){function n(e,t,n){for(var i,o=0,r=t.length-1;o=t&&(e-=t),e}function o(e,t){for(var n=0;n0;e.popup.visible()||(e.listView.bound()&&e._state!==S?e._allowOpening()&&(e._focusFilter=!0,e.popup.one("activate",e._focusInputHandler),e.popup._hovered=!0,e.popup.open(),e._resizeFilterInput(),e._focusItem()):(e._open=!0,e._state="rebind",e.filterInput&&(e.filterInput.val(""),e._prev=""),e.filterInput&&1!==e.options.minLength&&!t?(e.refresh(),e.popup.one("activate",e._focusInputHandler),e.popup.open(),e._resizeFilterInput()):e._filterSource()))},_focusInput:function(){this._focusElement(this.filterInput)},_resizeFilterInput:function(){var e,t,n=this.filterInput,i=this._prevent;n&&(e=this.filterInput[0]===u(),t=r.caret(this.filterInput[0])[0],this._prevent=!0,n.css("display","none").css("width",this.popup.element.css("width")).css("display","inline-block"),e&&(n.focus(),r.caret(n[0],t)),this._prevent=i)},_allowOpening:function(){return this.hasOptionLabel()||this.filterInput||l.fn._allowOpening.call(this)},toggle:function(e){this._toggle(e,!0)},current:function(e){var n;return e===t?(n=this.listView.focus(),!n&&0===this.selectedIndex&&this.hasOptionLabel()?this.optionLabel:n):(this._focus(e),t)},dataItem:function(n){var i=this,o=null;if(null===n)return n;if(n===t)o=i.listView.selectedDataItems()[0];else{if("number"!=typeof n){if(i.options.virtual)return i.dataSource.getByUid(e(n).data("uid"));n=n.hasClass("k-list-optionlabel")?-1:e(i.items()).index(n)}else i.hasOptionLabel()&&(n-=1);o=i.dataSource.flatView()[n]}return o||(o=i._optionLabelDataItem()),o},refresh:function(){this.listView.refresh()},text:function(e){var n,i=this,o=i.options.ignoreCase;return e=null===e?"":e,e===t?i._textAccessor():"string"!=typeof e?(i._textAccessor(e),t):(n=o?e.toLowerCase():e,i._select(function(e){return e=i._text(e),o&&(e=(e+"").toLowerCase()),e===n}).done(function(){i._textAccessor(i.dataItem()||e)}),t)},_clearFilter:function(){e(this.filterInput).val(""),l.fn._clearFilter.call(this)},value:function(e){var n=this,i=n.listView,o=n.dataSource;return e===t?(e=n._accessor()||n.listView.value()[0],e===t||null===e?"":e):(n.requireValueMapper(n.options,e),!e&&n.hasOptionLabel()||(n._initialIndex=null),this.trigger("set",{value:e}),n._request&&n.options.cascadeFrom&&n.listView.bound()?(n._valueSetter&&o.unbind(v,n._valueSetter),n._valueSetter=D(function(){n.value(e)},n),o.one(v,n._valueSetter),t):(n._isFilterEnabled()&&i.bound()&&i.isFiltered()?n._clearFilter():n._fetchData(),i.value(e).done(function(){n._old=n._valueBeforeCascade=n._accessor(),n._oldIndex=n.selectedIndex}),t))},hasOptionLabel:function(){return this.optionLabel&&!!this.optionLabel[0]},_optionLabel:function(){var n=this,i=n.options,o=i.optionLabel,a=i.optionLabelTemplate;return o?(a||(a="#:",a+="string"==typeof o?"data":r.expr(i.dataTextField,"data"),a+="#"),"function"!=typeof a&&(a=r.template(a)),n.optionLabelTemplate=a,n.hasOptionLabel()||(n.optionLabel=e('
    ').prependTo(n.list)),n.optionLabel.html(a(o)).off().on(k,D(n._click,n)).on(x,n._toggleHover),n.angular("compile",function(){return{elements:n.optionLabel,data:[{dataItem:n._optionLabelDataItem()}]}}),t):(n.optionLabel.off().remove(),n.optionLabel=e(),t)},_optionLabelText:function(){var e=this.options.optionLabel;return"string"==typeof e?e:this._text(e)},_optionLabelDataItem:function(){var n=this,i=n.options.optionLabel;return n.hasOptionLabel()?e.isPlainObject(i)?new c(i):n._assignInstance(n._optionLabelText(),""):t},_buildOptions:function(e){var n,i,o,r=this;r._isSelect&&(n=r.listView.value()[0],i=r._optionLabelDataItem(),o=i&&r._value(i),n!==t&&null!==n||(n=""),i&&(o!==t&&null!==o||(o=""),i='"),r._options(e,i,n),n!==s.unifyType(r._accessor(),typeof n)&&(r._customOption=null,r._custom(n)))},_listBound:function(){var e,t=this,n=t._initialIndex,i=t._state===T,o=t.dataSource.flatView();t._presetValue=!1,t._renderFooter(),t._renderNoData(),t._toggleNoData(!o.length),t._resizePopup(!0),t.popup.position(),t._buildOptions(o),t._makeUnselectable(),i||(t._open&&t.toggle(t._allowOpening()),t._open=!1,t._fetch||(o.length?(!t.listView.value().length&&n>-1&&null!==n&&t.select(n),t._initialIndex=null,e=t.listView.selectedDataItems()[0],e&&t.text()!==t._text(e)&&t._selectValue(e)):t._textAccessor()!==t._optionLabelText()&&(t.listView.value(""),t._selectValue(null),t._oldIndex=t.selectedIndex))),t._hideBusy(),t.trigger("dataBound")},_listChange:function(){this._selectValue(this.listView.selectedDataItems()[0]),(this._presetValue||this._old&&this._oldIndex===-1)&&(this._oldIndex=this.selectedIndex)},_filterPaste:function(){this._search()},_attachFocusHandlers:function(){var e=this,t=e.wrapper;t.on("focusin"+h,D(e._focusinHandler,e)).on("focusout"+h,D(e._focusoutHandler,e)),e.filterInput&&e.filterInput.on("focusin"+h,D(e._focusinHandler,e)).on("focusout"+h,D(e._focusoutHandler,e))},_focusHandler:function(){this.wrapper.focus()},_focusinHandler:function(){this._inputWrapper.addClass(_),this._prevent=!1},_focusoutHandler:function(){var e=this,t=window.self!==window.top;e._prevent||(clearTimeout(e._typingTimeout),d.mobileOS.ios&&t?e._change():e._blur(),e._inputWrapper.removeClass(_),e._prevent=!0,e._open=!1,e.element.blur())},_wrapperMousedown:function(){this._prevent=!!this.filterInput},_wrapperClick:function(e){e.preventDefault(),this.popup.unbind("activate",this._focusInputHandler),this._focused=this.wrapper,this._prevent=!1,this._toggle()},_editable:function(e){var t=this,n=t.element,i=e.disable,o=e.readonly,a=t.wrapper.add(t.filterInput).off(f),s=t._inputWrapper.off(x);o||i?i?(a.removeAttr(C),s.addClass(y).removeClass(b)):s.addClass(b).removeClass(y):(n.removeAttr(m).removeAttr(g),s.addClass(b).removeClass(y).on(x,t._toggleHover),a.attr(C,a.data(C)).attr(w,!1).on("keydown"+f,t,D(t._keydown,t)).on(r.support.mousedown+f,D(t._wrapperMousedown,t)).on("paste"+f,D(t._filterPaste,t)),t.wrapper.on("click"+f,D(t._wrapperClick,t)),t.filterInput?a.on("input"+f,D(t._search,t)):a.on("keypress"+f,D(t._keypress,t))),n.attr(m,i).attr(g,o),a.attr(w,i)},_keydown:function(e){var n,i,o,r=this,a=e.keyCode,s=e.altKey,l=r.popup.visible();if(r.filterInput&&(n=r.filterInput[0]===u()),a===p.LEFT?(a=p.UP,i=!0):a===p.RIGHT&&(a=p.DOWN,i=!0),!i||!n){if(e.keyCode=a,(s&&a===p.UP||a===p.ESC)&&r._focusElement(r.wrapper),r._state===T&&a===p.ESC&&(r._clearFilter(),r._open=!1,r._state=S),a===p.ENTER&&r._typingTimeout&&r.filterInput&&l)return e.preventDefault(),t;if(a!==p.SPACEBAR||n||(r.toggle(!l),e.preventDefault()),i=r._move(e),!i){if((!l||!r.filterInput)&&(o=r._focus(),a===p.HOME?(i=!0,r._firstItem()):a===p.END&&(i=!0,r._lastItem()),i)){if(r.trigger("select",{dataItem:r._getElementDataItem(r._focus()),item:r._focus()}))return r._focus(o),t;r._select(r._focus(),!0).done(function(){l||r._blur()}),e.preventDefault()}s||i||!r.filterInput||r._search()}}},_matchText:function(e,n){var i=this.options.ignoreCase;return e!==t&&null!==e&&(e+="",i&&(e=e.toLowerCase()),0===e.indexOf(n))},_shuffleData:function(e,t){var n=this._optionLabelDataItem();return n&&(e=[n].concat(e)),e.slice(t).concat(e.slice(0,t))},_selectNext:function(){var e,t,n,r=this,a=r.dataSource.flatView(),s=a.length+(r.hasOptionLabel()?1:0),l=o(r._word,r._last),d=r.selectedIndex;for(d===-1?d=0:(d+=l?1:0,d=i(d,s)),a=a.toJSON?a.toJSON():a.slice(),a=r._shuffleData(a,d),n=0;n-1&&(t-=1):a.hasClass("k-list-optionlabel")&&(t=-1)),r){for(n=this.dataSource.flatView(),o=0;o
    ',this.filterInput=e('').attr({placeholder:this.element.attr("placeholder"),title:this.element.attr("title"),role:"listbox","aria-haspopup":!0,"aria-expanded":!1}),this.list.prepend(e('').append(this.filterInput.add(t))))},_span:function(){var t,n=this,i=n.wrapper,o="span.k-input";t=i.find(o),t[0]||(i.append(' ').append(n.element),t=i.find(o)),n.span=t,n._inputWrapper=e(i[0].firstChild),n._arrow=i.find(".k-select"),n._arrowIcon=n._arrow.find(".k-icon")},_wrapper:function(){var e,t=this,n=t.element,i=n[0];e=n.parent(),e.is("span.k-widget")||(e=n.wrap("").parent(),e[0].style.cssText=i.style.cssText,e[0].title=i.title),t._focused=t.wrapper=e.addClass("k-widget k-dropdown").addClass(i.className).removeClass("input-validation-error").css("display","").attr({accesskey:n.attr("accesskey"),unselectable:"on",role:"listbox","aria-haspopup":!0,"aria-expanded":!1}),n.hide().removeAttr("accesskey")},_clearSelection:function(e){this.select(e.value()?0:-1)},_inputTemplate:function(){var t=this,n=t.options.valueTemplate;if(n=n?r.template(n):e.proxy(r.template("#:this._text(data)#",{useWithBlock:!1}),t),t.valueTemplate=n,t.hasOptionLabel()&&!t.options.optionLabelTemplate)try{t.valueTemplate(t._optionLabelDataItem())}catch(i){throw Error(F)}},_textAccessor:function(n){var i,o=null,r=this.valueTemplate,a=this._optionLabelText(),s=this.span;if(n===t)return s.text();e.isPlainObject(n)||n instanceof c?o=n:a&&a===n&&(o=this.options.optionLabel),o||(o=this._assignInstance(n,this._accessor())),this.hasOptionLabel()&&(o!==a&&this._text(o)!==a||(r=this.optionLabelTemplate,"string"!=typeof this.options.optionLabel||this.options.optionLabelTemplate||(o=a))),i=function(){return{elements:s.get(),data:[{dataItem:o}]}},this.angular("cleanup",i);try{s.html(r(o))}catch(l){s.html("")}this.angular("compile",i)},_preselect:function(e,t){e||t||(t=this._optionLabelText()),this._accessor(e),this._textAccessor(t),this._old=this._accessor(),this._oldIndex=this.selectedIndex,this.listView.setValue(e),this._initialIndex=null,this._presetValue=!0},_assignInstance:function(e,t){var i=this.options.dataTextField,o={};return i?(n(o,i.split("."),e),n(o,this.options.dataValueField.split("."),t),o=new c(o)):o=e,o}});a.plugin(I)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.resizable.min",["kendo.core.min","kendo.draganddrop.min"],e)}(function(){return function(e,t){var n=window.kendo,i=n.ui,o=i.Widget,r=e.proxy,a=n.isFunction,s=e.extend,l="horizontal",d="vertical",u="start",c="resize",p="resizeend",f=o.extend({init:function(e,t){var n=this;o.fn.init.call(n,e,t),n.orientation=n.options.orientation.toLowerCase()!=d?l:d,n._positionMouse=n.orientation==l?"x":"y",n._position=n.orientation==l?"left":"top",n._sizingDom=n.orientation==l?"outerWidth":"outerHeight",n.draggable=new i.Draggable(t.draggableElement||e,{distance:1,filter:t.handle,drag:r(n._resize,n),dragcancel:r(n._cancel,n),dragstart:r(n._start,n),dragend:r(n._stop,n)}),n.userEvents=n.draggable.userEvents},events:[c,p,u],options:{name:"Resizable",orientation:l},resize:function(){},_max:function(e){var n=this,i=n.hint?n.hint[n._sizingDom]():0,o=n.options.max;return a(o)?o(e):o!==t?n._initialElementPosition+o-i:o},_min:function(e){var n=this,i=n.options.min;return a(i)?i(e):i!==t?n._initialElementPosition+i:i},_start:function(t){var n=this,i=n.options.hint,o=e(t.currentTarget);n._initialElementPosition=o.position()[n._position],n._initialMousePosition=t[n._positionMouse].startLocation,i&&(n.hint=a(i)?e(i(o)):i,n.hint.css({position:"absolute"}).css(n._position,n._initialElementPosition).appendTo(n.element)),n.trigger(u,t),n._maxPosition=n._max(t),n._minPosition=n._min(t),e(document.body).css("cursor",o.css("cursor"))},_resize:function(e){var n,i=this,o=i._maxPosition,r=i._minPosition,a=i._initialElementPosition+(e[i._positionMouse].location-i._initialMousePosition);n=r!==t?Math.max(r,a):a,i.position=n=o!==t?Math.min(o,n):n,i.hint&&i.hint.toggleClass(i.options.invalidClass||"",n==o||n==r).css(i._position,n),i.resizing=!0,i.trigger(c,s(e,{position:n}))},_stop:function(t){var n=this;n.hint&&n.hint.remove(),n.resizing=!1,n.trigger(p,s(t,{position:n.position})),e(document.body).css("cursor","")},_cancel:function(e){var n=this;n.hint&&(n.position=t,n.hint.css(n._position,n._initialElementPosition),n._stop(e))},destroy:function(){var e=this;o.fn.destroy.call(e),e.draggable&&e.draggable.destroy()},press:function(e){if(e){var t=e.position(),n=this;n.userEvents.press(t.left,t.top,e[0]),n.targetPosition=t,n.target=e}},move:function(e){var n=this,i=n._position,o=n.targetPosition,r=n.position;r===t&&(r=o[i]),o[i]=r+e,n.userEvents.move(o.left,o.top)},end:function(){this.userEvents.end(),this.target=this.position=t}});n.ui.plugin(f)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.window.min",["kendo.draganddrop.min","kendo.popup.min"],e)}(function(){return function(e,t){function n(e){return t!==e}function i(e,t){return parseInt(e.css(t),10)||0}function o(e,t,n){var i;return i=e&&isNaN(e)&&(""+e).indexOf("px")<0?e:Math.max(Math.min(parseInt(e,10),n===1/0?n:parseInt(n,10)),t===-(1/0)?t:parseInt(t,10))}function r(){return!this.type||this.type.toLowerCase().indexOf("script")>=0}function a(t){for(var n,i,o={top:t.offsetTop,left:t.offsetLeft},r=t.offsetParent;r;)o.top+=r.offsetTop,o.left+=r.offsetLeft,n=e(r).css("overflowX"),i=e(r).css("overflowY"),"auto"!==i&&"scroll"!==i||(o.top-=r.scrollTop),"auto"!==n&&"scroll"!==n||(o.left-=r.scrollLeft),r=r.offsetParent;return o}function s(e){var t=this;t.owner=e,t._preventDragging=!1,t._draggable=new p(e.wrapper,{filter:">"+I, -group:e.wrapper.id+"-resizing",dragstart:v(t.dragstart,t),drag:v(t.drag,t),dragend:v(t.dragend,t)}),t._draggable.userEvents.bind("press",v(t.addOverlay,t)),t._draggable.userEvents.bind("release",v(t.removeOverlay,t))}function l(e,t){var n=this;n.owner=e,n._preventDragging=!1,n._draggable=new p(e.wrapper,{filter:t,group:e.wrapper.id+"-moving",dragstart:v(n.dragstart,n),drag:v(n.drag,n),dragend:v(n.dragend,n),dragcancel:v(n.dragcancel,n)}),n._draggable.userEvents.stopPropagation=!1}var d=window.kendo,u=d.ui.Widget,c=d.ui.Popup.TabKeyTrap,p=d.ui.Draggable,f=e.isPlainObject,h=d._activeElement,m=d._outerWidth,g=d._outerHeight,v=e.proxy,_=e.extend,b=e.each,y=d.template,w="body",k=".kendoWindow",x=".kendoWindowModal",C=".k-window",T=".k-window-title",S=T+"bar",F=".k-window-content",D=".k-dialog-content",I=".k-resize-handle",z=".k-overlay",E="k-content-frame",A="k-i-loading",N="k-state-hover",R="k-state-focused",H="k-window-maximized",P=":visible",M="hidden",O="cursor",B="open",L="activate",V="deactivate",U="close",W="refresh",j="minimize",q="maximize",G="resizeStart",$="resize",Y="resizeEnd",K="dragstart",Q="dragend",X="error",J="overflow",Z="original-overflow-rule",ee="zIndex",te=".k-window-actions .k-i-window-minimize,.k-window-actions .k-i-window-maximize",ne=".k-i-pin",ie=".k-i-unpin",oe=ne+","+ie,re=".k-window-titlebar .k-window-action",ae=".k-window-titlebar .k-i-refresh",se="WindowEventsHandled",le=/^0[a-z]*$/i,de=d.isLocalUrl,ue={small:"k-window-sm",medium:"k-window-md",large:"k-window-lg"},ce=u.extend({init:function(i,o){var a,s,l,p,h,m,g,_,b,y=this,w={},x=!1,I=o&&o.actions&&!o.actions.length;u.fn.init.call(y,i,o),o=y.options,p=o.position,i=y.element,h=o.content,_=e(window),I&&(o.actions=[]),y.appendTo=e(o.appendTo),y.containment=o.draggable.containment?e(o.draggable.containment).first():null,h&&!f(h)&&(h=o.content={url:h}),i.find("script").filter(r).remove(),i.parent().is(y.appendTo)||y.containment||p.top!==t&&p.left!==t||(i.is(P)?(w=i.offset(),x=!0):(s=i.css("visibility"),l=i.css("display"),i.css({visibility:M,display:""}),w=i.offset(),i.css({visibility:s,display:l})),p.top===t&&(p.top=w.top),p.left===t&&(p.left=w.left)),n(o.visible)&&null!==o.visible||(o.visible=i.is(P)),a=y.wrapper=i.closest(C),i.is(".k-window-content")&&a[0]||(i.addClass("k-window-content"),y._createWindow(i,o),a=y.wrapper=i.closest(C),y.title(y.options.title),y._dimensions()),y.minTop=y.minLeft=-(1/0),y.maxTop=y.maxLeft=1/0,y._position(),h&&y.refresh(h),o.visible&&y.toFront(),m=a.children(F),y._tabindex(m),o.visible&&o.modal&&y._overlay(a.is(P)).css({opacity:.5}),a.on("mouseenter"+k,re,v(y._buttonEnter,y)).on("mouseleave"+k,re,v(y._buttonLeave,y)).on("click"+k,"> "+re,v(y._windowActionHandler,y)).on("keydown"+k,v(y._keydown,y)).on("focus"+k,v(y._focus,y)).on("blur"+k,v(y._blur,y)),m.on("keydown"+k,v(y._keydown,y)).on("focus"+k,v(y._focus,y)).on("blur"+k,v(y._blur,y)),g=m.find("."+E)[0],g&&!_.data(se)&&(_.on("blur"+k,function(){var t,n=e(document.activeElement).parent(F);n.length&&(t=d.widgetInstance(n),t._focus())}),_.on("focus"+k,function(){e(F).not(D).each(function(t,n){d.widgetInstance(e(n))._blur()})}),_.data(se,!0)),this._resizable(),this._draggable(),o.pinned&&this.wrapper.is(":visible")&&y.pin(),b=i.attr("id"),b&&(b+="_wnd_title",a.children(S).children(T).attr("id",b),m.attr({role:"dialog","aria-labelledby":b})),a.add(a.children(".k-resize-handle,"+S)).on("mousedown"+k,v(y.toFront,y)),y.touchScroller=d.touchScroller(i),y._resizeHandler=v(y._onDocumentResize,y),y._marker=d.guid().substring(0,8),e(window).on("resize"+k+y._marker,y._resizeHandler),o.visible&&(y.trigger(B),y.trigger(L)),d.notify(y),this.options.modal&&(this._tabKeyTrap=new c(a),this._tabKeyTrap.trap(),this._tabKeyTrap.shouldTrap=function(){return m.data("isFront")})},_buttonEnter:function(t){e(t.currentTarget).addClass(N)},_buttonLeave:function(t){e(t.currentTarget).removeClass(N)},_focus:function(){this.wrapper.addClass(R)},_blur:function(){this.wrapper.removeClass(R)},_dimensions:function(){var e,t,n=this.wrapper,r=this.options,a=r.width,s=r.height,l=r.maxHeight,d=r.size,u=["minWidth","minHeight","maxWidth","maxHeight"],c="content-box"==n.css("box-sizing"),p=c?i(n,"border-left-width")+i(n,"border-right-width"):0,f=c?i(n,"border-top-width")+i(n,"border-bottom-width"):0,h=c?i(n,"padding-top"):0;for(this.containment&&!this._isPinned&&(this._updateBoundaries(),r.maxHeight=Math.min(this.containment.height-(f+h),l),r.maxWidth=Math.min(this.containment.width-p,r.maxWidth)),e=0;ee[0].clientWidth&&(e.width-=d.support.scrollbar()),parseInt(e.height,10)>e[0].clientHeight&&(e.height-=d.support.scrollbar()),e.position=a(e[0]),this._isPinned?(this.minTop=this.minLeft=-(1/0),this.maxTop=this.maxLeft=1/0):(this.minTop=e.scrollTop(),this.minLeft=e.scrollLeft(),this.maxLeft=this.minLeft+e.width-m(this.wrapper,!0),this.maxTop=this.minTop+e.height-g(this.wrapper,!0)),t):null},_animationOptions:function(e){var t=this.options.animation,n={open:{effects:{}},close:{hide:!0,effects:{}}};return t&&t[e]||n[e]},_resize:function(){d.resize(this.element.children())},_resizable:function(){var t=this.options.resizable,n=this.wrapper;this.resizing&&(n.off("dblclick"+k).children(I).remove(),this.resizing.destroy(),this.resizing=null),t&&(n.on("dblclick"+k,S,v(function(t){e(t.target).closest(".k-window-action").length||this.toggleMaximization()},this)),b("n e s w se sw ne nw".split(" "),function(e,t){n.append(pe.resizeHandle(t))}),this.resizing=new s(this)),n=null},_draggable:function(){var e=this.options.draggable;this.dragging&&(this.dragging.destroy(),this.dragging=null),e&&(this.dragging=new l(this,e.dragHandle||S))},_actions:function(){var t=this.options,n=t.actions,i=t.pinned,o=this.wrapper.children(S),r=o.find(".k-window-actions"),a=["maximize","minimize"];n=e.map(n,function(e){return e=i&&"pin"===e.toLowerCase()?"unpin":e,{name:a.indexOf(e.toLowerCase())>-1?"window-"+e:e}}),r.html(d.render(pe.action,n))},setOptions:function(e){var n,i,o=this,r=o.options.size,a=JSON.parse(JSON.stringify(e));_(e.position,o.options.position),_(e.position,a.position),u.fn.setOptions.call(o,e),n=o.options.scrollable!==!1,o.restore(),t!==e.title&&o.title(e.title),o.wrapper.removeClass(ue[r]),o._dimensions(),o._position(),o._resizable(),o._draggable(),o._actions(),t!==e.modal&&(i=o.options.visible!==!1,o._enableDocumentScrolling(),o._overlay(e.modal&&i)),o.element.css(J,n?"":"hidden")},events:[B,L,V,U,j,q,W,G,$,Y,K,Q,X],options:{name:"Window",animation:{open:{effects:{zoom:{direction:"in"},fade:{direction:"in"}},duration:350},close:{effects:{zoom:{direction:"out",properties:{scale:.7}},fade:{direction:"out"}},duration:350,hide:!0}},title:"",actions:["Close"],autoFocus:!0,modal:!1,size:"auto",resizable:!0,draggable:!0,minWidth:90,minHeight:50,maxWidth:1/0,maxHeight:1/0,pinned:!1,scrollable:!0,position:{},content:null,visible:null,height:null,width:null,appendTo:"body",isMaximized:!1,isMinimized:!1},_closable:function(){return e.inArray("close",e.map(this.options.actions,function(e){return e.toLowerCase()}))>-1},_keydown:function(e){var t,n,r,a,s,l,u=this,c=u.options,p=d.keys,f=e.keyCode,h=u.wrapper,m=10,g=c.isMaximized,v=c.isMinimized;f==p.ESC&&u._closable()&&(e.stopPropagation(),u._close(!1)),e.target!=e.currentTarget||u._closing||(e.altKey&&82==f&&u.refresh(),e.altKey&&80==f&&(u.options.pinned?u.unpin():u.pin()),e.altKey&&f==p.UP?v?(u.restore(),u.element.focus()):g||(u.maximize(),u.element.focus()):e.altKey&&f==p.DOWN&&(v||g?g&&(u.restore(),u.element.focus()):(u.minimize(),u.wrapper.focus())),t=d.getOffset(h),u.containment&&!u._isPinned&&(t=u.options.position),!c.draggable||e.ctrlKey||e.altKey||g||(u._updateBoundaries(),f==p.UP?(t.top=o(t.top-m,u.minTop,u.maxTop),n=h.css("top",t.top)):f==p.DOWN?(t.top=o(t.top+m,u.minTop,u.maxTop),n=h.css("top",t.top)):f==p.LEFT?(t.left=o(t.left-m,u.minLeft,u.maxLeft),n=h.css("left",t.left)):f==p.RIGHT&&(t.left=o(t.left+m,u.minLeft,u.maxLeft),n=h.css("left",t.left))),c.resizable&&e.ctrlKey&&!g&&!v&&(f==p.UP?(n=!0,a=h.height()-m):f==p.DOWN&&(n=!0,a=u.containment&&!u._isPinned?Math.min(h.height()+m,u.containment.height-t.top-i(h,"padding-top")-i(h,"borderBottomWidth")-i(h,"borderTopWidth")):h.height()+m),f==p.LEFT?(n=!0,r=h.width()-m):f==p.RIGHT&&(n=!0,r=u.containment&&!u._isPinned?Math.min(h.width()+m,u.containment.width-t.left-i(h,"borderLeftWidth")-i(h,"borderRightWidth")):h.width()+m),n&&(s=o(r,c.minWidth,c.maxWidth),l=o(a,c.minHeight,c.maxHeight),isNaN(s)||(h.width(s),u.options.width=s+"px"),isNaN(l)||(h.height(l),u.options.height=l+"px"),u.resize())),n&&e.preventDefault())},_overlay:function(t){var n=this.containment?this.containment.children(z):this.appendTo.children(z),i=this.wrapper;return n.length||(n=e("
    ")),n.insertBefore(i[0]).toggle(t).css(ee,parseInt(i.css(ee),10)-1),this.options.modal.preventScroll&&!this.containment&&this._stopDocumentScrolling(),n},_actionForIcon:function(e){var t=/\bk-i(-\w+)+\b/.exec(e[0].className)[0];return{"k-i-close":"_close","k-i-window-maximize":"maximize","k-i-window-minimize":"minimize","k-i-window-restore":"restore","k-i-refresh":"refresh","k-i-pin":"pin","k-i-unpin":"unpin"}[t]},_windowActionHandler:function(n){var i,o;if(!this._closing)return i=e(n.target).closest(".k-window-action").find(".k-icon"),o=this._actionForIcon(i),o?(n.preventDefault(),this[o](),!1):t},_modals:function(){var t=this,n=e(C).filter(function(){var n=e(this),i=t._object(n),o=i&&i.options;return o&&o.modal&&o.visible&&o.appendTo===t.options.appendTo&&n.is(P)}).sort(function(t,n){return+e(t).css("zIndex")-+e(n).css("zIndex")});return t=null,n},_object:function(e){var n=e.children(F),i=d.widgetInstance(n);return i?i:t},center:function(){var t,n,o=this,r=o.options.position,a=o.wrapper,s=e(window),l=0,d=0;return o.options.isMaximized?o:(o.options.pinned&&!o._isPinned&&o.pin(),o.options.pinned||(l=s.scrollTop(),d=s.scrollLeft()),this.containment&&!o.options.pinned?(t=this.minTop+(this.maxTop-this.minTop)/2,n=this.minLeft+(this.maxLeft-this.minLeft)/2):(o._scrollIsAppended=!0,n=d+Math.max(0,(s.width()-a.width())/2),t=l+Math.max(0,(s.height()-a.height()-i(a,"paddingTop"))/2)),a.css({left:n,top:t}),r.top=t,r.left=n,o)},title:function(n){var i,o,r,a,s=this,l=!0,u=s.wrapper,c=u.children(S),p=c.children(T);return arguments.length?(e.isPlainObject(n)?(i=t!==n.text?n.text:"",l=n.encoded!==!1):i=n,i===!1?(u.addClass("k-window-titleless"),u.css("padding-top",0),c.remove()):(c.length?p.html(l?d.htmlEncode(i):i):(u.prepend(pe.titlebar({title:l?d.htmlEncode(i):i})),s._actions(),c=u.children(S)),a=u.css("visibility"),r=u.css("display"),a===M?(u.css({display:""}),o=parseInt(g(c),10),u.css({display:r})):(u.css({visibility:M,display:""}),o=parseInt(g(c),10),u.css({visibility:a,display:r})),u.css("padding-top",o),c.css("margin-top",-o)),s.options.title=i,s):p.html()},content:function(e,t){var i=this.wrapper.children(F),o=i.children(".km-scroll-container");return i=o[0]?o:i,n(e)?(this.angular("cleanup",function(){return{elements:i.children()}}),d.destroy(this.element.children()),i.empty().html(e),this.angular("compile",function(){var e,n=[];for(e=i.length;--e>=0;)n.push({dataItem:t});return{elements:i.children(),data:n}}),this):i.html()},open:function(){var t,n,i,o=this,r=o.wrapper,a=o.options,s=this._animationOptions("open"),l=r.children(F),u=this.containment&&!o._isPinned,c=u?this.containment:e(document);return o.trigger(B)||(o._closing&&r.kendoStop(!0,!0),o._closing=!1,o.toFront(),a.autoFocus&&o.element.focus(),a.visible=!0,a.modal&&(n=!!o._modals().length,t=o._overlay(n),t.kendoStop(!0,!0),s.duration&&d.effects.Fade&&!n?(i=d.fx(t).fadeIn(),i.duration(s.duration||0),i.endValue(.5),i.play()):t.css("opacity",.5),t.show(),e(window).on("focus"+x,function(){l.data("isFront")&&!e(document.activeElement).closest(l).length&&o.element.focus()})),r.is(P)||(l.css(J,M),o.wrapper.find(re).addClass("k-flat"),r.show().kendoStop().kendoAnimate({effects:s.effects,duration:s.duration,complete:v(this._activate,this)}))),a.isMaximized&&(o._containerScrollTop=c.scrollTop(),o._containerScrollLeft=c.scrollLeft(),o._stopDocumentScrolling()),this.options.pinned&&!this._isPinned&&this.pin(),o},_activate:function(){var e=this.options.scrollable!==!1;this.options.autoFocus&&this.element.focus(),this.element.css(J,e?"":"hidden"),d.resize(this.element.children()),this.trigger(L)},_removeOverlay:function(n){var i,o=this._modals(),r=this.options,a=r.modal&&!o.length,s=r.modal?this._overlay(!0):e(t),l=this._animationOptions("close");a?(!n&&l.duration&&d.effects.Fade?(i=d.fx(s).fadeOut(),i.duration(l.duration||0),i.startValue(.5),i.play()):this._overlay(!1).remove(),r.modal.preventScroll&&this._enableDocumentScrolling()):o.length&&(this._object(o.last())._overlay(!0),r.modal.preventScroll&&this._stopDocumentScrolling())},_close:function(t){var n,i=this,o=i.wrapper,r=i.options,a=this._animationOptions("open"),s=this._animationOptions("close"),l=this.containment&&!i._isPinned,d=l?this.containment:e(document);i._closing||(n=i.trigger(U,{userTriggered:!t}),i._closing=!n,o.is(P)&&!n&&(r.visible=!1,e(C).each(function(t,n){var i=e(n).children(F);n!=o&&i.find("> ."+E).length>0&&i.children(z).remove()}),this._removeOverlay(),i.wrapper.find(re).removeClass("k-flat"),o.kendoStop().kendoAnimate({effects:s.effects||a.effects,reverse:s.reverse===!0,duration:s.duration,complete:v(this._deactivate,this)}),e(window).off(x)),i.options.isMaximized&&(i._enableDocumentScrolling(),i._containerScrollTop&&i._containerScrollTop>0&&d.scrollTop(i._containerScrollTop),i._containerScrollLeft&&i._containerScrollLeft>0&&d.scrollLeft(i._containerScrollLeft)))},_deactivate:function(){var e,t=this;t.wrapper.hide().css("opacity",""),t.trigger(V),t.options.modal&&(e=t._object(t._modals().last()),e&&e.toFront())},close:function(){return this._close(!0),this},_actionable:function(t){return e(t).is(re+","+re+" .k-icon,:input,a")},_shouldFocus:function(t){var n=h(),i=this.element;return this.options.autoFocus&&!e(n).is(i)&&!this._actionable(t)&&(!i.find(n).length||!i.find(t).length)},toFront:function(t){var n,i,o=this,r=o.wrapper,a=r[0],s=o.containment&&!o._isPinned,l=+r.css(ee),d=l,u=t&&t.target||null;return e(C).each(function(t,n){var i=e(n),o=i.css(ee),r=i.children(F);isNaN(o)||(l=Math.max(+o,l)),r.data("isFront",n==a),n!=a&&r.find("> ."+E).length>0&&r.append(pe.overlay)}),(!r[0].style.zIndex||d .k-overlay").remove(),o._shouldFocus(u)&&(o.isMinimized()?o.wrapper.focus():e(u).is(z)?setTimeout(function(){o.element.focus()}):o.element.focus(),n=s?o.containment.scrollTop():e(window).scrollTop(),i=parseInt(r.position().top,10),!o.options.pinned&&i>0&&i0?e(window).scrollTop(i):r.css("top",n))),r=null,o},toggleMaximization:function(){return this._closing?this:this[this.options.isMaximized?"restore":"maximize"]()},restore:function(){var t,n=this,i=n.options,r=i.minHeight,a=n.restoreOptions,s=n.containment&&!n._isPinned?n.containment:e(document);return i.isMaximized||i.isMinimized?(r&&r!=1/0&&n.wrapper.css("min-height",r),a&&!i.isMaximized&&(a.height=o(a.height,n.options.minHeight,n.options.maxHeight),t=i.position.top+parseInt(a.height,10)>n.maxTop,t&&(i.position.top=o(i.position.top,n.minTop,n.maxTop-parseInt(a.height,10)),_(a,{left:i.position.left,top:i.position.top}))),n.wrapper.css({position:i.pinned?"fixed":"absolute",left:a.left,top:a.top,width:a.width,height:a.height}).removeClass(H).find(".k-window-content,.k-resize-handle").show().end().find(".k-window-titlebar .k-i-window-restore").parent().remove().end().end().find(te).parent().show().end().end().find(oe).parent().show(),i.isMaximized?n.wrapper.find(".k-i-window-maximize").parent().focus():i.isMinimized&&n.wrapper.find(".k-i-window-minimize").parent().focus(),n.options.width=a.width,n.options.height=a.height,n.options.modal.preventScroll||n._enableDocumentScrolling(),n._containerScrollTop&&n._containerScrollTop>0&&s.scrollTop(n._containerScrollTop),n._containerScrollLeft&&n._containerScrollLeft>0&&s.scrollLeft(n._containerScrollLeft),i.isMaximized=i.isMinimized=!1,n.wrapper.removeAttr("tabindex"),n.wrapper.removeAttr("aria-labelled-by"),n.resize(),n):n},_sizingAction:function(e,t){var n=this,i=n.wrapper,o=i[0].style,r=n.options;return r.isMaximized||r.isMinimized?n:(n.restoreOptions={width:o.width,height:o.height},i.children(I).hide().end().children(S).find(te).parent().hide().eq(0).before(pe.action({name:"window-restore"})),t.call(n),n.wrapper.children(S).find(oe).parent().toggle("maximize"!==e),n.trigger(e),i.find(".k-i-window-restore").parent().focus(),n)},maximize:function(){return this._sizingAction("maximize",function(){var t=this,n=t.wrapper,i=this.containment&&!t._isPinned,o=n.position(),r=e(document);_(t.restoreOptions,{left:o.left+(i?this.containment.scrollLeft():0),top:o.top+(i?this.containment.scrollTop():0)}),this._containerScrollTop=i?this.containment.scrollTop():r.scrollTop(),this._containerScrollLeft=i?this.containment.scrollLeft():r.scrollLeft(),t._stopDocumentScrolling(),n.css({top:i?this.containment.scrollTop():0,left:i?this.containment.scrollLeft():0,position:i?"absolute":"fixed"}).addClass(H),t.options.isMaximized=!0,t._onDocumentResize()}),this},_stopDocumentScrolling:function(){var n,i,o=this,r=o.containment;return r&&!o._isPinned?(o._storeOverflowRule(r),r.css(J,M),o.wrapper.css({maxWidth:r.innerWidth(),maxHeight:r.innerHeight()}),t):(n=e("body"),o._storeOverflowRule(n),n.css(J,M),i=e("html"),o._storeOverflowRule(i),i.css(J,M),t)},_enableDocumentScrolling:function(){var n=this,i=n.containment;return i&&!n._isPinned?(n._restoreOverflowRule(i),n.wrapper.css({maxWidth:i.width,maxHeight:i.height}),t):(n._restoreOverflowRule(e(document.body)),n._restoreOverflowRule(e("html")),t)},_storeOverflowRule:function(e){if(!this._isOverflowStored(e)){var t=e.get(0).style.overflow;"string"==typeof t&&e.data(Z,t)}},_isOverflowStored:function(e){return"string"==typeof e.data(Z)},_restoreOverflowRule:function(e){var n=e.data(Z);null!==n&&n!==t?(e.css(J,n),e.removeData(Z)):e.css(J,"")},isMaximized:function(){return this.options.isMaximized},minimize:function(){return this._sizingAction("minimize",function(){var e=this;e.wrapper.css({height:"",minHeight:""}),e.element.hide(),e.options.isMinimized=!0}),this.wrapper.attr("tabindex",0),this.wrapper.attr("aria-labelled-by",this.element.attr("aria-labelled-by")),this._updateBoundaries(),this},isMinimized:function(){return this.options.isMinimized},pin:function(){var t=this,n=e(window),o=t.wrapper,r=t.options,s=r.position,l=this.containment?a(o[0]).top+i(this.containment,"borderTopWidth"):i(o,"top"),d=this.containment?a(o[0]).left+i(this.containment,"borderLeftWidth"):i(o,"left");t.options.isMaximized||(s.top=l,s.left=d,!t._scrollIsAppended||this.containment&&"fixed"===this.containment.css("position")||(s.top-=n.scrollTop(),s.left-=n.scrollLeft(),t._scrollIsAppended=!1),o.css(_(s,{position:"fixed"})),o.children(S).find(ne).addClass("k-i-unpin").removeClass("k-i-pin"),t._isPinned=!0,t.options.pinned=!0,this.containment&&(r.maxWidth=r.maxHeight=1/0,o.css({maxWidth:"",maxHeight:""})))},unpin:function(){var t=this,n=e(window),r=t.wrapper,a=t.options,s=t.options.position,l=t.containment,d=parseInt(r.css("top"),10)+n.scrollTop(),u=parseInt(r.css("left"),10)+n.scrollLeft();t.options.isMaximized||(t._isPinned=!1,t._scrollIsAppended=!0,t.options.pinned=!1,l&&(t._updateBoundaries(),a.maxWidth=Math.min(l.width,a.maxWidth),a.maxHeight=Math.min(l.height-i(r,"padding-top"),a.maxHeight),r.css({maxWidth:a.maxWidth,maxHeight:a.maxHeight}),d=dl.position.top+l.height?t.maxTop:d+l.scrollTop()-(l.position.top+i(l,"border-top-width")),u=ul.position.left+l.width?t.maxLeft:u+l.scrollLeft()-(l.position.left+i(l,"border-left-width"))),s.top=o(d,t.minTop,t.maxTop),s.left=o(u,t.minLeft,t.maxLeft),r.css(_(s,{position:""})),r.children(S).find(ie).addClass("k-i-pin").removeClass("k-i-unpin"))},_onDocumentResize:function(){var t,n,o,r,a,s=this,l=s.wrapper,u=e(window),c=d.support.zoomLevel(),p="content-box"==l.css("box-sizing");s.options.isMaximized&&(o=p?i(l,"border-left-width")+i(l,"border-right-width"):0,r=p?i(l,"border-top-width")+i(l,"border-bottom-width"):0,a=p?i(l,"padding-top"):0,s.containment&&!s._isPinned?(t=s.containment.innerWidth()-o,n=s.containment.innerHeight()-(r+a)):(t=u.width()/c-o,n=u.height()/c-(r+a)),l.css({width:t,height:n}),s.options.width=t,s.options.height=n,s.resize())},refresh:function(t){var i,o,r,a=this,s=a.options,l=e(a.element);return f(t)||(t={url:t}),t=_({},s.content,t),o=n(s.iframe)?s.iframe:t.iframe,r=t.url,r?(n(o)||(o=!de(r)),o?(i=l.find("."+E)[0],i?i.src=r||i.src:l.html(pe.contentFrame(_({},s,{content:t}))),l.find("."+E).unbind("load"+k).on("load"+k,v(this._triggerRefresh,this))):a._ajaxRequest(t)):(t.template&&a.content(y(t.template)({})),a.trigger(W)),l.toggleClass("k-window-iframecontent",!!o),a},_triggerRefresh:function(){this.trigger(W)},_ajaxComplete:function(){clearTimeout(this._loadingIconTimeout),this.wrapper.find(ae).removeClass(A)},_ajaxError:function(e,t){this.trigger(X,{status:t,xhr:e})},_ajaxSuccess:function(e){return function(t){var n=t;e&&(n=y(e)(t||{})),this.content(n,t),this.element.prop("scrollTop",0),this.trigger(W)}},_showLoading:function(){this.wrapper.find(ae).addClass(A)},_ajaxRequest:function(t){this._loadingIconTimeout=setTimeout(v(this._showLoading,this),100),e.ajax(_({type:"GET",dataType:"html",cache:!1,error:v(this._ajaxError,this),complete:v(this._ajaxComplete,this),success:v(this._ajaxSuccess(t.template),this)},t))},_destroy:function(){this.resizing&&this.resizing.destroy(),this.dragging&&this.dragging.destroy(),this.wrapper.off(k).children(F).off(k).end().find(".k-resize-handle,.k-window-titlebar").off(k),e(window).off("resize"+k+this._marker),e(window).off(x),e(window).off(k),clearTimeout(this._loadingIconTimeout),u.fn.destroy.call(this),this.unbind(t),d.destroy(this.wrapper),this._removeOverlay(!0)},destroy:function(){this._destroy(),this.wrapper.empty().remove(),this.wrapper=this.appendTo=this.element=e()},_createWindow:function(){var t,n,i=this.element,o=this.options,r=d.support.isRtl(i);o.scrollable===!1&&i.css("overflow","hidden"),n=e(pe.wrapper(o)),t=i.find("iframe:not(.k-content-frame)").map(function(){var e=this.getAttribute("src");return this.src="",e}),n.toggleClass("k-rtl",r).append(i).find("iframe:not(.k-content-frame)").each(function(e){this.src=t[e]}),this.containment?this.containment.prepend(n):this.appendTo&&n.appendTo(this.appendTo),n.find(".k-window-title").css(r?"left":"right",m(n.find(".k-window-actions"))+10),i.css("visibility","").show(),i.find("[data-role=editor]").each(function(){var t=e(this).data("kendoEditor");t&&t.refresh()}),n=i=null}}),pe={wrapper:y("
    "),action:y("
    "),titlebar:y("
    #= title #
    "),overlay:"
    ",contentFrame:y(""),resizeHandle:y("
    ")};s.prototype={addOverlay:function(){this.owner.wrapper.append(pe.overlay)},removeOverlay:function(){this.owner.wrapper.find(z).remove()},dragstart:function(t){var n,i,o,r,s,l,u,c=this,p=c.owner,f=p.wrapper;c._preventDragging=p.trigger(G),c._preventDragging||(c.elementPadding=parseInt(f.css("padding-top"),10),c.initialPosition=d.getOffset(f,"position"),c.resizeDirection=t.currentTarget.prop("className").replace("k-resize-handle k-resize-",""),c.initialSize={width:f.width(),height:f.height()},p._updateBoundaries(),c.containerOffset=p.containment?p.containment.position:d.getOffset(p.appendTo,"position"),n=f.offsetParent(),n.is("html")?c.containerOffset.top=c.containerOffset.left=0:(i=n.css("margin-top"),o=n.css("margin-left"),r=!le.test(i)||!le.test(o),r&&(s=a(f[0]),l=s.left-c.containerOffset.left-c.initialPosition.left,u=s.top-c.containerOffset.top-c.initialPosition.top,c._relativeElMarginLeft=l>1?l:0,c._relativeElMarginTop=u>1?u:0,c.initialPosition.left+=c._relativeElMarginLeft,c.initialPosition.top+=c._relativeElMarginTop)),f.children(I).not(t.currentTarget).hide(),e(w).css(O,t.currentTarget.css(O)))},drag:function(t){var n,i,r,a,s,l,u,c,p,f,h,m,g,v,_,b,y,w,k,x;this._preventDragging||(n=this,i=n.owner,r=i.wrapper,a=i.options,s=a.position,l=n.resizeDirection,u=n.containerOffset,c=n.initialPosition,p=n.initialSize,f=i.containment&&!i._isPinned,h=d.support.isRtl(i.containment),m=f&&h&&i.containment.innerWidth()>i.containment.width?d.support.scrollbar():0,g=f?{top:i.containment.scrollTop(),left:i.containment.scrollLeft()}:{top:0,left:0},w=Math.max(t.x.location,0),k=Math.max(t.y.location,0),l.indexOf("e")>=0?(v=i.containment&&w-p.width>=i.maxLeft-g.left+u.left+m?i.maxLeft+m-c.left+p.width-g.left:w-c.left-u.left,r.width(o(v,a.minWidth,a.maxWidth))):l.indexOf("w")>=0&&(y=c.left+p.width+u.left,v=o(y-w,a.minWidth,a.maxWidth),s.left=y-v-u.left-m-(n._relativeElMarginLeft||0)+g.left,i.containment&&s.left<=i.minLeft&&(s.left=i.minLeft,v=o(y-m-s.left-u.left+g.left,a.minWidth,a.maxWidth)),r.css({left:s.left,width:v})),x=k,i.options.pinned&&(x-=e(window).scrollTop()),l.indexOf("s")>=0?(_=x-c.top-n.elementPadding-u.top,x-p.height-n.elementPadding>=i.maxTop+u.top-g.top&&(_=i.maxTop-c.top+p.height-g.top),r.height(o(_,a.minHeight,a.maxHeight))):l.indexOf("n")>=0&&(b=c.top+p.height+u.top,_=o(b-x,a.minHeight,a.maxHeight),s.top=b-_-u.top-(n._relativeElMarginTop||0)+g.top,s.top<=i.minTop&&i.containment&&(s.top=i.minTop,_=o(b-s.top-u.top+g.top,a.minHeight,a.maxHeight)),r.css({top:s.top,height:_})),v&&(i.options.width=v+"px"),_&&(i.options.height=_+"px"),i.resize())},dragend:function(t){if(!this._preventDragging){var n=this,i=n.owner,o=i.wrapper;return o.children(I).not(t.currentTarget).show(),e(w).css(O,""),i.touchScroller&&i.touchScroller.reset(),27==t.keyCode&&o.css(n.initialPosition).css(n.initialSize),i.trigger(Y),!1}},destroy:function(){this._draggable&&this._draggable.destroy(),this._draggable=this.owner=null}},l.prototype={dragstart:function(t){var n=this.owner,i=n.options.draggable,o=n.element,r=o.find(".k-window-actions"),a=d.getOffset(n.appendTo);this._preventDragging=n.trigger(K)||!i,this._preventDragging||n.isMaximized()||(n.initialWindowPosition=d.getOffset(n.wrapper,"position"),n.initialPointerPosition={left:n.options.position.left,top:n.options.position.top},n.startPosition={left:t.x.client-n.initialWindowPosition.left,top:t.y.client-n.initialWindowPosition.top},n._updateBoundaries(),n.containment||(n.minLeft=r.length>0?m(r)+parseInt(r.css("right"),10)-m(o):20-m(o),n.minLeft-=a.left,n.minTop=-a.top),n.wrapper.append(pe.overlay).children(I).hide(),e(w).css(O,t.currentTarget.css(O)))},drag:function(t){var n,i,r=this.owner,a=r.options.position,s=r.options.draggable.axis;this._preventDragging||r.isMaximized()||(s&&"x"!==s.toLowerCase()||(n=t.x.client-r.startPosition.left,r.containment&&!r._isPinned&&(n+=r.containment.scrollLeft()),a.left=o(n,r.minLeft,r.maxLeft)),s&&"y"!==s.toLowerCase()||(i=t.y.client-r.startPosition.top,r.containment&&!r._isPinned&&(i+=r.containment.scrollTop()),a.top=o(i,r.minTop,r.maxTop)),d.support.transforms?e(r.wrapper).css("transform","translate("+(a.left-r.initialPointerPosition.left)+"px, "+(a.top-r.initialPointerPosition.top)+"px)"):e(r.wrapper).css(a))},_finishDrag:function(){var t=this.owner;t.wrapper.children(I).toggle(!t.options.isMinimized).end().find(z).remove(),e(w).css(O,"")},dragcancel:function(e){this._preventDragging||(this._finishDrag(),e.currentTarget.closest(C).css(this.owner.initialWindowPosition))},dragend:function(){var t=this.owner;if(!this._preventDragging&&!t.isMaximized())return e(t.wrapper).css(t.options.position).css("transform",""),this._finishDrag(),t.trigger(Q),!1},destroy:function(){this._draggable&&this._draggable.destroy(),this._draggable=this.owner=null}},d.ui.plugin(ce)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.color.min",["kendo.core.min"],e)}(function(){function e(e,t,n){void 0===n&&(n="0");for(var i=e.toString(16);t>i.length;)i=n+i;return i}function t(e,t,n){var i=n;return i<0&&(i+=1),i>1&&(i-=1),i<1/6?e+6*(t-e)*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}function n(e,t){var i,o,a;if(null==e||"none"===e)return null;if(e instanceof l)return e;if(a=e.toLowerCase(),i=s(a))return a="transparent"===i[1]?new d(1,1,1,0):n(r[i[1]],t),a.match=[i[1]],a;if((i=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(a))?o=new u(parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),1):(i=/^#?([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(a))?o=new u(parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16),parseInt(i[3]+i[3],16),1):(i=/^rgb\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/.exec(a))?o=new u(parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10),1):(i=/^rgba\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9.]+)\s*\)/.exec(a))?o=new u(parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10),parseFloat(i[4])):(i=/^rgb\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*\)/.exec(a))?o=new d(parseFloat(i[1])/100,parseFloat(i[2])/100,parseFloat(i[3])/100,1):(i=/^rgba\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9.]+)\s*\)/.exec(a))&&(o=new d(parseFloat(i[1])/100,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(i[4]))),o)o.match=i;else if(!t)throw Error("Cannot parse color: "+a);return o}var i,o,r,a,s,l,d,u,c,p,f;window.kendo=window.kendo||{},i=kendo.Class,o=kendo.support,r={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgrey:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",grey:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightslategrey:"778899", -lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"},a=o.browser,s=function(e){var t,n=Object.keys(r);return n.push("transparent"),t=RegExp("^("+n.join("|")+")(\\W|$)","i"),s=function(e){return t.exec(e)},t.exec(e)},l=i.extend({init:function(){},toHSV:function(){return this},toRGB:function(){return this},toHex:function(){return this.toBytes().toHex()},toBytes:function(){return this},toCss:function(){return"#"+this.toHex()},toCssRgba:function(){var e=this.toBytes();return"rgba("+e.r+", "+e.g+", "+e.b+", "+parseFloat((+this.a).toFixed(3))+")"},toDisplay:function(){return a.msie&&a.version<9?this.toCss():this.toCssRgba()},equals:function(e){return e===this||null!==e&&this.toCssRgba()===n(e).toCssRgba()},diff:function(e){var t,n;return null===e?NaN:(t=this.toBytes(),n=e.toBytes(),Math.sqrt(Math.pow(.3*(t.r-n.r),2)+Math.pow(.59*(t.g-n.g),2)+Math.pow(.11*(t.b-n.b),2)))},clone:function(){var e=this.toBytes();return e===this&&(e=new u(e.r,e.g,e.b,e.a)),e}}),d=l.extend({init:function(e,t,n,i){l.fn.init.call(this),this.r=e,this.g=t,this.b=n,this.a=i},toHSV:function(){var e,t,n=this,i=n.r,o=n.g,r=n.b,a=Math.min(i,o,r),s=Math.max(i,o,r),l=s-a,d=s;return 0===l?new c(0,0,d,this.a):(0!==s?(t=l/s,e=i===s?(o-r)/l:o===s?2+(r-i)/l:4+(i-o)/l,e*=60,e<0&&(e+=360)):(t=0,e=-1),new c(e,t,d,this.a))},toHSL:function(){var e,t,n,i=this,o=i.r,r=i.g,a=i.b,s=Math.max(o,r,a),l=Math.min(o,r,a),d=(s+l)/2;if(s===l)e=t=0;else switch(n=s-l,t=d>.5?n/(2-s-l):n/(s+l),s){case o:e=(r-a)/n+(r255?255:e},padDigit:function(e){return 1===e.length?"0"+e:e},brightness:function(e){var t=Math.round;return this.r=t(this.normalizeByte(this.r*e)),this.g=t(this.normalizeByte(this.g*e)),this.b=t(this.normalizeByte(this.b*e)),this},percBrightness:function(){return Math.sqrt(.241*this.r*this.r+.691*this.g*this.g+.068*this.b*this.b)}}),f.fromBytes=function(e,t,n,i){return new u(e,t,n,null!=i?i:1)},f.fromRGB=function(e,t,n,i){return new d(e,t,n,null!=i?i:1)},f.fromHSV=function(e,t,n,i){return new c(e,t,n,null!=i?i:1)},f.fromHSL=function(e,t,n,i){return new p(e,t,n,null!=i?i:1)},f.formats=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(e){return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10)]}},{re:/^(\w{2})(\w{2})(\w{2})$/,process:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,process:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}}],f.namedColors=r,kendo.deepExtend(kendo,{parseColor:n,Color:f})},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.slider.min",["kendo.draganddrop.min"],e)}(function(){return function(e,t){function n(e,t,n){var i=n?" k-slider-horizontal":" k-slider-vertical",o=e.style?e.style:t.attr("style"),r=t.attr("class")?" "+t.attr("class"):"",a="";return"bottomRight"==e.tickPlacement?a=" k-slider-bottomright":"topLeft"==e.tickPlacement&&(a=" k-slider-topleft"),o=o?" style='"+o+"'":"","
    "}function i(e,t,n,i){var o="";return o=n?!i&&"increase"==t||i&&"increase"!=t?"k-i-arrow-60-right":"k-i-arrow-60-left":"increase"==t?"k-i-arrow-60-up":"k-i-arrow-60-down",""}function o(e,t){var n,i="
      ",o=T.floor(u(t/e.smallStep))+1;for(n=0;n ";return i+="
    "}function r(e,t){var n=t.is("input")?1:2,i=2==n?e.leftDragHandleTitle:e.dragHandleTitle;return"
    "+(n>1?"":"")+"
    "}function a(e){return function(t){return t+e}}function s(e){return function(){return e}}function l(e){return(e+"").replace(".",m.cultures.current.numberFormat["."])}function d(e){var t=""+e,n=0;return t=t.split("."),t[1]&&(n=t[1].length),n=n>10?10:n}function u(e){var t,n;return e=parseFloat(e,10),t=d(e),n=T.pow(10,t||0),T.round(e*n)/n}function c(e,n){var i=k(e.getAttribute(n));return null===i&&(i=t),i}function p(e){return typeof e!==Q}function f(e){return 1e4*e}var h,m=window.kendo,g=m.ui.Widget,v=m.ui.Draggable,_=m._outerWidth,b=m._outerHeight,y=e.extend,w=m.format,k=m.parseFloat,x=e.proxy,C=e.isArray,T=Math,S=m.support,F=S.pointers,D=S.msPointers,I="change",z="slide",E=".slider",A="touchstart"+E+" mousedown"+E,N=F?"pointerdown"+E:D?"MSPointerDown"+E:A,R="touchend"+E+" mouseup"+E,H=F?"pointerup":D?"MSPointerUp"+E:R,P="moveSelection",M="keydown"+E,O="click"+E,B="mouseover"+E,L="focus"+E,V="blur"+E,U=".k-draghandle",W=".k-slider-track",j=".k-tick",q="k-state-selected",G="k-state-focused",$="k-state-default",Y="k-state-disabled",K="disabled",Q="undefined",X="tabindex",J=m.getTouches,Z=g.extend({init:function(e,t){var n,i=this;if(g.fn.init.call(i,e,t),t=i.options,i._isHorizontal="horizontal"==t.orientation,i._isRtl=i._isHorizontal&&m.support.isRtl(e),i._position=i._isHorizontal?"left":"bottom",i._sizeFn=i._isHorizontal?"width":"height",i._outerSize=i._isHorizontal?_:b,t.tooltip.format=t.tooltip.enabled?t.tooltip.format||"{0}":"{0}",t.smallStep<=0)throw Error("Kendo UI Slider smallStep must be a positive number.");i._createHtml(),i.wrapper=i.element.closest(".k-slider"),i._trackDiv=i.wrapper.find(W),i._setTrackDivWidth(),i._maxSelection=i._trackDiv[i._sizeFn](),i._sliderItemsInit(),i._reset(),i._tabindex(i.wrapper.find(U)),i[t.enabled?"enable":"disable"](),n=m.support.isRtl(i.wrapper)?-1:1,i._keyMap={37:a(-1*n*t.smallStep),40:a(-t.smallStep),39:a(1*n*t.smallStep),38:a(+t.smallStep),35:s(t.max),36:s(t.min),33:a(+t.largeStep),34:a(-t.largeStep)},m.notify(i)},events:[I,z],options:{enabled:!0,min:0,max:10,smallStep:1,largeStep:5,orientation:"horizontal",tickPlacement:"both",tooltip:{enabled:!0,format:"{0}"}},_distance:function(){return u(this.options.max-this.options.min)},_resize:function(){this._setTrackDivWidth(),this.wrapper.find(".k-slider-items").remove(),this._maxSelection=this._trackDiv[this._sizeFn](),this._sliderItemsInit(),this._refresh(),this.options.enabled&&this.enable(!0)},_sliderItemsInit:function(){var t=this,n=t.options,i=t._maxSelection/((n.max-n.min)/n.smallStep),r=t._calculateItemsWidth(T.floor(f(t._distance())/f(n.smallStep)));"none"!=n.tickPlacement&&i>=2&&(e(this.element).parent().find(".k-slider-items").remove(),t._trackDiv.before(o(n,t._distance())),t._setItemsWidth(r),t._setItemsTitle()),t._calculateSteps(r),"none"!=n.tickPlacement&&i>=2&&n.largeStep>=n.smallStep&&t._setItemsLargeTick()},getSize:function(){return m.dimensions(this.wrapper)},_setTrackDivWidth:function(){var e=this,t=2*parseFloat(e._trackDiv.css(e._isRtl?"right":e._position),10);e._trackDiv[e._sizeFn](e.wrapper[e._sizeFn]()-2-t)},_setItemsWidth:function(t){var n,i=this,o=i.options,r=0,a=t.length-1,s=i.wrapper.find(j),l=0,d=2,u=s.length,c=0;for(n=0;n=3)for(o._isHorizontal||o._isRtl||(a=e.makeArray(a).reverse()),s=0;s"+t.attr("title")+""),0!==s&&s!==a.length-1&&t.css("line-height",t[o._sizeFn]()+"px"))},_calculateItemsWidth:function(e){var t,n,i,o=this,r=o.options,a=parseFloat(o._trackDiv.css(o._sizeFn))+1,s=o._distance(),l=f(s)/f(r.smallStep),d=a/f(s);for(l-e>0&&(a-=f(s)%f(r.smallStep)*d),t=a/e,n=[],i=0;i=i.min&&e<=i.max&&i.value!=e&&(n.element.prop("value",l(e)),i.value=e,n._refreshAriaAttr(e),n._refresh()),t)},_refresh:function(){this.trigger(P,{value:this.options.value})},_refreshAriaAttr:function(e){var t,n=this,i=n._drag;t=i&&i._tooltipDiv?i._tooltipDiv.text():n._getFormattedValue(e,null),this.wrapper.find(U).attr("aria-valuenow",e).attr("aria-valuetext",t)},_clearTimer:function(){clearTimeout(this.timeout),clearInterval(this.timer)},_keydown:function(e){var t=this;e.keyCode in t._keyMap&&(t._clearTooltipTimeout(),t._setValueInRange(t._keyMap[e.keyCode](t.options.value)),t._drag._updateTooltip(t.value()),e.preventDefault())},_setValueInRange:function(e){var n=this,i=n.options;return e=u(e),isNaN(e)?(n._update(i.min),t):(e=T.max(T.min(e,i.max),i.min),n._update(e),t)},_nextValueByIndex:function(e){var t=this._values.length;return this._isRtl&&(e=t-1-e),this._values[T.max(0,T.min(e,t-1))]},_formResetHandler:function(){var e=this,t=e.options.min;setTimeout(function(){var n=e.element[0].value;e.value(""===n||isNaN(n)?t:n)})},destroy:function(){var e=this;Z.fn.destroy.call(e),e.wrapper.off(E).find(".k-button").off(E).end().find(U).off(E).end().find(j+", "+W).off(E).end(),e._drag.draggable.destroy(),e._drag._removeTooltip(!0)}});ee.Selection=function(e,t,n){function i(i){var o=i-n.min,r=t._valueIndex=T.ceil(u(o/n.smallStep)),a=parseInt(t._pixelSteps[r],10),s=t._trackDiv.find(".k-slider-selection"),l=parseInt(t._outerSize(e)/2,10),d=t._isRtl?2:0;s[t._sizeFn](t._isRtl?t._maxSelection-a:a),e.css(t._position,a-l-d)}i(n.value),t.bind([z,P],function(e){i(parseFloat(e.value,10))}),t.bind(I,function(e){i(parseFloat(e.sender.value(),10))})},ee.Drag=function(e,t,n,i){var o=this;o.owner=n,o.options=i,o.element=e,o.type=t,o.draggable=new v(e,{distance:0,dragstart:x(o._dragstart,o),drag:x(o.drag,o),dragend:x(o.dragend,o),dragcancel:x(o.dragcancel,o)}),e.click(!1),e.on("dragstart",function(e){e.preventDefault()})},ee.Drag.prototype={dragstart:function(e){this.owner._activeDragHandle=this,this.draggable.userEvents.cancel(),this._dragstart(e),this.dragend()},_dragstart:function(n){var i=this,o=i.owner,r=i.options;return r.enabled?(this.owner._activeDragHandle=this,o.element.off(B),o.wrapper.find("."+G).removeClass(G+" "+q),i.element.addClass(G+" "+q),e(document.documentElement).css("cursor","pointer"),i.dragableArea=o._getDraggableArea(),i.step=T.max(r.smallStep*(o._maxSelection/o._distance()),0),i.type?(i.selectionStart=r.selectionStart,i.selectionEnd=r.selectionEnd,o._setZIndex(i.type)):i.oldVal=i.val=r.value,i._removeTooltip(!0),i._createTooltip(),t):(n.preventDefault(),t)},_createTooltip:function(){var t,n,i=this,o=i.owner,r=i.options.tooltip,a="",s=e(window);r.enabled&&(r.template&&(t=i.tooltipTemplate=m.template(r.template)),e(".k-slider-tooltip").remove(),i.tooltipDiv=e("
    ").appendTo(document.body),a=o._getFormattedValue(i.val||o.value(),i),i.type||(n="k-callout-"+(o._isHorizontal?"s":"e"),i.tooltipInnerDiv="
    ",a+=i.tooltipInnerDiv),i.tooltipDiv.html(a),i._scrollOffset={top:s.scrollTop(),left:s.scrollLeft()},i.moveTooltip())},drag:function(e){var t,n=this,i=n.owner,o=e.x.location,r=e.y.location,a=n.dragableArea.startPoint,s=n.dragableArea.endPoint;e.preventDefault(),n.val=i._isHorizontal?i._isRtl?n.constrainValue(o,a,s,o=s):n.constrainValue(r,s,a,r<=s),n.oldVal!=n.val&&(n.oldVal=n.val,n.type?("firstHandle"==n.type?n.selectionStart=n.valn.selectionStart?n.selectionEnd=n.val:n.selectionStart=n.selectionEnd=n.val,t={values:[n.selectionStart,n.selectionEnd],value:[n.selectionStart,n.selectionEnd]}):t={value:n.val},i.trigger(z,t)),n._updateTooltip(n.val)},_updateTooltip:function(e){var t=this,n=t.options,i=n.tooltip,o="";i.enabled&&(t.tooltipDiv||t._createTooltip(),o=t.owner._getFormattedValue(u(e),t),t.type||(o+=t.tooltipInnerDiv),t.tooltipDiv.html(o),t.moveTooltip())},dragcancel:function(){return this.owner._refresh(),e(document.documentElement).css("cursor",""),this._end()},dragend:function(){var t=this,n=t.owner;return e(document.documentElement).css("cursor",""),t.type?n._update(t.selectionStart,t.selectionEnd):(n._update(t.val),t.draggable.userEvents._disposeAll()),t.draggable.userEvents.cancel(),t._end()},_end:function(){var e=this,t=e.owner;return t._focusWithMouse(e.element),t.element.on(B),!1},_removeTooltip:function(t){var n=this,i=n.owner;n.tooltipDiv&&i.options.tooltip.enabled&&i.options.enabled&&(t?(n.tooltipDiv.remove(),n.tooltipDiv=null):n.tooltipDiv.fadeOut("slow",function(){e(this).remove(),n.tooltipDiv=null}))},moveTooltip:function(){var t,n,i,o,r=this,a=r.owner,s=0,l=0,d=r.element,u=m.getOffset(d),c=8,p=e(window),f=r.tooltipDiv.find(".k-callout"),h=_(r.tooltipDiv),g=b(r.tooltipDiv);r.type?(t=a.wrapper.find(U),u=m.getOffset(t.eq(0)),n=m.getOffset(t.eq(1)),a._isHorizontal?(s=n.top,l=u.left+(n.left-u.left)/2):(s=u.top+(n.top-u.top)/2,l=n.left),o=_(t.eq(0))+2*c):(s=u.top,l=u.left,o=_(d)+2*c),a._isHorizontal?(l-=parseInt((h-a._outerSize(d))/2,10),s-=g+c+(f.length?f.height():0)):(s-=parseInt((g-a._outerSize(d))/2,10),l-=h+c+(f.length?f.width():0)),a._isHorizontal?(i=r._flip(s,g,o,b(p)+r._scrollOffset.top),s+=i,l+=r._fit(l,h,_(p)+r._scrollOffset.left)):(i=r._flip(l,h,o,_(p)+r._scrollOffset.left),s+=r._fit(s,g,b(p)+r._scrollOffset.top),l+=i),i>0&&f&&(f.removeClass(),f.addClass("k-callout k-callout-"+(a._isHorizontal?"n":"w"))),r.tooltipDiv.css({top:s,left:l})},_fit:function(e,t,n){var i=0;return e+t>n&&(i=n-(e+t)),e<0&&(i=-e),i},_flip:function(e,t,n,i){var o=0;return e+t>i&&(o+=-(n+t)),e+o<0&&(o+=n+t),o},constrainValue:function(e,t,n,i){var o=this,r=0;return r=to.selectionEnd?(d=r.selectionStart,u=s,c=o._lastHandleDrag):s-r.selectionStart<=r.selectionEnd-s?(d=s,u=r.selectionEnd,c=o._firstHandleDrag):(d=r.selectionStart,u=s,c=o._lastHandleDrag),c.dragstart(n),o._setValueInRange(d,u),o._focusWithMouse(c.element)}},o.wrapper.find(j+", "+W).on(N,i).end().on(N,function(){e(document.documentElement).one("selectstart",m.preventDefault)}).on(H,function(){o._activeDragHandle&&o._activeDragHandle._end()}),o.wrapper.find(U).attr(X,0).on(R,function(){o._setTooltipTimeout()}).on(O,function(e){o._focusWithMouse(e.target),e.preventDefault()}).on(L,x(o._focus,o)).on(V,x(o._blur,o)),o.wrapper.find(U).off(M,m.preventDefault).eq(0).on(M,x(function(e){this._keydown(e,"firstHandle")},o)).end().eq(1).on(M,x(function(e){this._keydown(e,"lastHandle")},o)),o.options.enabled=!0)},disable:function(){var e=this;e.wrapper.removeClass($).addClass(Y),e.wrapper.find("input").prop(K,K),e.wrapper.find(j+", "+W).off(N).off(H),e.wrapper.find(U).attr(X,-1).off(R).off(M).off(O).off(L).off(V),e.options.enabled=!1},_keydown:function(e,t){var n,i,o,r=this,a=r.options.selectionStart,s=r.options.selectionEnd;e.keyCode in r._keyMap&&(r._clearTooltipTimeout(),"firstHandle"==t?(o=r._activeHandleDrag=r._firstHandleDrag,a=r._keyMap[e.keyCode](a),a>s&&(s=a)):(o=r._activeHandleDrag=r._lastHandleDrag,s=r._keyMap[e.keyCode](s),a>s&&(a=s)),r._setValueInRange(u(a),u(s)),n=Math.max(a,r.options.selectionStart),i=Math.min(s,r.options.selectionEnd),o.selectionEnd=Math.max(i,r.options.selectionStart),o.selectionStart=Math.min(n,r.options.selectionEnd),o._updateTooltip(r.value()[r._activeHandle]),e.preventDefault())},_update:function(e,t){var n=this,i=n.value(),o=i[0]!=e||i[1]!=t;n.value([e,t]),o&&n.trigger(I,{values:[e,t],value:[e,t]})},value:function(e){return e&&e.length?this._value(e[0],e[1]):this._value()},_value:function(e,n){var i=this,o=i.options,r=o.selectionStart,a=o.selectionEnd;return isNaN(e)&&isNaN(n)?[r,a]:(e=u(e),n=u(n),e>=o.min&&e<=o.max&&n>=o.min&&n<=o.max&&e<=n&&(r==e&&a==n||(i.element.find("input").eq(0).prop("value",l(e)).end().eq(1).prop("value",l(n)),o.selectionStart=e,o.selectionEnd=n,i._refresh(),i._refreshAriaAttr(e,n))),t)},values:function(e,t){return C(e)?this._value(e[0],e[1]):this._value(e,t)},_refresh:function(){var e=this,t=e.options;e.trigger(P,{values:[t.selectionStart,t.selectionEnd],value:[t.selectionStart,t.selectionEnd]}),t.selectionStart==t.max&&t.selectionEnd==t.max&&e._setZIndex("firstHandle")},_refreshAriaAttr:function(e,t){var n,i=this,o=i.wrapper.find(U),r=i._activeHandleDrag;n=i._getFormattedValue([e,t],r),o.eq(0).attr("aria-valuenow",e),o.eq(1).attr("aria-valuenow",t),o.attr("aria-valuetext",n)},_setValueInRange:function(e,t){var n=this.options;e=T.max(T.min(e,n.max),n.min),t=T.max(T.min(t,n.max),n.min),e==n.max&&t==n.max&&this._setZIndex("firstHandle"),this._update(T.min(e,t),T.max(e,t))},_setZIndex:function(t){this.wrapper.find(U).each(function(n){e(this).css("z-index","firstHandle"==t?1-n:n)})},_formResetHandler:function(){var e=this,t=e.options;setTimeout(function(){var n=e.element.find("input"),i=n[0].value,o=n[1].value;e.values(""===i||isNaN(i)?t.min:i,""===o||isNaN(o)?t.max:o)})},destroy:function(){var e=this;Z.fn.destroy.call(e),e.wrapper.off(E).find(j+", "+W).off(E).end().find(U).off(E),e._firstHandleDrag.draggable.destroy(),e._lastHandleDrag.draggable.destroy()}}),h.Selection=function(e,t,n){function i(i){i=i||[];var r=i[0]-n.min,a=i[1]-n.min,s=T.ceil(u(r/n.smallStep)),l=T.ceil(u(a/n.smallStep)),d=t._pixelSteps[s],c=t._pixelSteps[l],p=parseInt(t._outerSize(e.eq(0))/2,10),f=t._isRtl?2:0;e.eq(0).css(t._position,d-p-f).end().eq(1).css(t._position,c-p-f),o(d,c)}function o(e,n){var i,o,r=t._trackDiv.find(".k-slider-selection");i=T.abs(e-n),r[t._sizeFn](i),t._isRtl?(o=T.max(e,n),r.css("right",t._maxSelection-o-1)):(o=T.min(e,n),r.css(t._position,o-1))}i(t.value()),t.bind([I,z,P],function(e){i(e.values)})},m.ui.plugin(h)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.badge.min",["kendo.core.min"],e)}(function(){return function(e,t){var n=window.kendo,i=n.ui.Widget,o=n.ui,r="k-hidden",a="",s="#= icon #",l=i.extend({init:function(e,t){var o=this;i.fn.init.call(o,e,t),o._deprecated(),o._content(),o._appearance(),n.notify(o)},destroy:function(){var e=this;i.fn.destroy.call(e)},options:{name:"Badge",badgeStyle:"solid",color:"secondary",cutoutBorder:!1,data:{},icon:"",max:1/0,placement:"edge",position:"inline",sizes:{small:"sm",medium:"",large:"lg"},size:"medium",shape:"rounded",template:null,text:"",visible:!0,_classNames:[]},_deprecated:function(){var e=this,n=e.options;""===n.text&&""!==n.value&&n.value!==t&&(n.text=n.value),"secondary"===n.color&&"string"==typeof n.type&&""!==n.type&&(n.color=n.type),"rounded"===n.shape&&"string"==typeof n.appearance&&""!==n.appearance&&(n.shape=n.appearance),"solid"===n.badgeStyle&&"string"==typeof n.look&&""!==n.look&&(n.badgeStyle=n.look),"inline"===n.position&&"boolean"==typeof n.overlay&&n.overlay===!0&&(n.position="top end")},_content:function(){var e=this,i=e.options.text,o=e.options.template,r=e.options.data,a=e.options.icon;return null!==o?(e._text=i,e._template=n.template(o).bind(e),e.element.html(e._template(r)),t):""!==a?(e.icon(a),t):""!==i?(e.text(i),t):(e.text(e.element.html()),t)},_appearance:function(){var e=this;e._color=e.options.color,e._shape=e.options.shape,e._sizes=e.options.sizes,e._size=e.options.size,e._badgeStyle=e.options.badgeStyle,e._cutoutBorder=e.options.cutoutBorder,e._placement=e.options.placement,e._position=e.options.position,e._visible=e.options.visible,e._updateClassNames()},_updateClassNames:function(){var e,n=this,i=["k-badge"],o=n.options._classNames,a=n._color,s=n._shape,l=n._sizes,d=n._size,u=l[d]===t?d:l[d],c="",p=n._badgeStyle,f="",h=this._cutoutBorder,m=n._placement,g="",v=this._position.toLowerCase(),_=n._visible;n.element.removeClass(function(e,t){0===t.indexOf("k-")&&o.indexOf(t)===-1&&n.element.removeClass(t)}),"string"==typeof p&&""!==p&&"solid"!==p&&(i.push("k-badge-"+p), -f=p+"-"),"string"==typeof a&&""!==a&&"inherit"!==a&&i.push("k-badge-"+f+a),"string"==typeof d&&""!==d&&"medium"!==d&&""!==u&&(i.push("k-badge-"+u),c="-"+u),"string"==typeof s&&""!==s&&"rectangle"!==s&&(i.push("k-badge-"+s),""!==c&&i.push("k-badge-"+s+c)),"boolean"==typeof h&&h===!0&&i.push("k-badge-border-cutout"),"string"==typeof m&&""!==m&&"edge"!==m&&(g=m+"-"),"string"==typeof v&&2==v.split(" ").length&&(e=v.split(" "),i.push("k-badge-"+g+e[0]+"-"+e[1])),_===!1&&i.push(r),n.element.addClass(i.join(" "))},setOptions:function(e){var t=this;t.element.removeClass(function(e,n){n.indexOf("k-")>=0&&t.element.removeClass(n)}),i.fn.setOptions.call(t,e),t._deprecated(),t._content(),t._appearance()},text:function(e){var n=this,i=n.options.max;return 0===arguments.length||e===t?n._text:(n._text=e,e===!0||e===!1||null===e?(n.element.html(""),t):"string"==typeof e?(n.element.html(e),t):"number"==typeof e?(n.element.html(e>i?i+"+":e),t):"object"==typeof e&&"toString"in e?(n.element.html(""+e),t):t)},icon:function(e){var i,o=this;return 0===arguments.length||e===t?o._icon:(o._icon=e,0===e.indexOf("0)&&(o=!1)}),a.addClass(o?f:h)),c?(n=a.children("img.k-image").first(),n[0]||(n=e('icon').prependTo(a)),n.attr("src",c)):l||d?(t=a.children("span.k-icon").first(),t[0]||(t=e("").prependTo(a)),t.attr("class",l?"k-icon k-i-"+l:d)):u&&(t=a.children("span.k-sprite").first(),t[0]||(t=e('').prependTo(a)),t.addClass(u))},enable:function(e){var n=this,i=n.element;e===t&&(e=!0),e=!!e,n.options.enable=e,i.toggleClass(v,!e).attr("aria-disabled",!e).attr(g,!e),e&&n._tabindex();try{i.blur()}catch(o){}},_badge:function(){var n,i=this,o=i.options.badge;null!==o&&o!==t&&(o.constructor!==Object&&(o={text:o}),o.position!==t&&""!==o.position||(o.position="top end"),o._classNames=["k-button-badge"],i.element.addClass("k-badge-container"),n=e("").appendTo(i.element),i.badge=new r.Badge(n,o))}}),n.fn.hasOwnProperty("defaults")===!1&&Object.defineProperty(n.fn,"defaults",{get:function(){return i.defaults.button}}),i.ui.plugin(n)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.colorpicker.min",["kendo.core.min","kendo.color.min","kendo.popup.min","kendo.slider.min","kendo.userevents.min","kendo.button.min"],e)}(function(){return function(e,t,n){function i(e,t,n){n=u(n),n&&!n.equals(e.color())&&("change"==t&&(e._value=n),n=1!=n.a?n.toCssRgba():n.toCss(),e.trigger(t,{value:n}))}function o(e,t,n){var i,o;return e=Array.prototype.slice.call(e),i=e.length,o=e.indexOf(t),o<0?n<0?e[i-1]:e[0]:(o+=n,o<0?o+=i:o%=i,e[o])}function r(e){e.preventDefault()}function a(e,t){return function(){return e.apply(t,arguments)}}var s=window.kendo,l=s.ui,d=l.Widget,u=s.parseColor,c=s.Color,p=s.keys,f="background-color",h="k-state-selected",m="000000,7f7f7f,880015,ed1c24,ff7f27,fff200,22b14c,00a2e8,3f48cc,a349a4,ffffff,c3c3c3,b97a57,ffaec9,ffc90e,efe4b0,b5e61d,99d9ea,7092be,c8bfe7",g="FFFFFF,FFCCFF,FF99FF,FF66FF,FF33FF,FF00FF,CCFFFF,CCCCFF,CC99FF,CC66FF,CC33FF,CC00FF,99FFFF,99CCFF,9999FF,9966FF,9933FF,9900FF,FFFFCC,FFCCCC,FF99CC,FF66CC,FF33CC,FF00CC,CCFFCC,CCCCCC,CC99CC,CC66CC,CC33CC,CC00CC,99FFCC,99CCCC,9999CC,9966CC,9933CC,9900CC,FFFF99,FFCC99,FF9999,FF6699,FF3399,FF0099,CCFF99,CCCC99,CC9999,CC6699,CC3399,CC0099,99FF99,99CC99,999999,996699,993399,990099,FFFF66,FFCC66,FF9966,FF6666,FF3366,FF0066,CCFF66,CCCC66,CC9966,CC6666,CC3366,CC0066,99FF66,99CC66,999966,996666,993366,990066,FFFF33,FFCC33,FF9933,FF6633,FF3333,FF0033,CCFF33,CCCC33,CC9933,CC6633,CC3333,CC0033,99FF33,99CC33,999933,996633,993333,990033,FFFF00,FFCC00,FF9900,FF6600,FF3300,FF0000,CCFF00,CCCC00,CC9900,CC6600,CC3300,CC0000,99FF00,99CC00,999900,996600,993300,990000,66FFFF,66CCFF,6699FF,6666FF,6633FF,6600FF,33FFFF,33CCFF,3399FF,3366FF,3333FF,3300FF,00FFFF,00CCFF,0099FF,0066FF,0033FF,0000FF,66FFCC,66CCCC,6699CC,6666CC,6633CC,6600CC,33FFCC,33CCCC,3399CC,3366CC,3333CC,3300CC,00FFCC,00CCCC,0099CC,0066CC,0033CC,0000CC,66FF99,66CC99,669999,666699,663399,660099,33FF99,33CC99,339999,336699,333399,330099,00FF99,00CC99,009999,006699,003399,000099,66FF66,66CC66,669966,666666,663366,660066,33FF66,33CC66,339966,336666,333366,330066,00FF66,00CC66,009966,006666,003366,000066,66FF33,66CC33,669933,666633,663333,660033,33FF33,33CC33,339933,336633,333333,330033,00FF33,00CC33,009933,006633,003333,000033,66FF00,66CC00,669900,666600,663300,660000,33FF00,33CC00,339900,336600,333300,330000,00FF00,00CC00,009900,006600,003300,000000",v="#ffffff",_={apply:"Apply",cancel:"Cancel",noColor:"no color",clearColor:"Clear color",previewInput:"Color Hexadecimal Code"},b=".kendoColorTools",y="click"+b,w="keydown"+b,k="k-state-disabled",x=s.support.browser,C=x.msie&&x.version<9,T=d.extend({init:function(e,t){var n,i=this;d.fn.init.call(i,e,t),e=i.element,t=i.options,i._value=t.value=u(t.value),i._tabIndex=e.attr("tabIndex")||0,n=i._ariaId=t.ariaId,n&&e.attr("aria-labelledby",n),t._standalone&&(i._triggerSelect=i._triggerChange)},options:{name:"ColorSelector",value:null,_standalone:!0},events:["change","select","cancel"],color:function(e){return e!==n&&(this._value=u(e),this._updateUI(this._value)),this._value},value:function(e){return e=this.color(e),e&&(e=this.options.opacity?e.toCssRgba():e.toCss()),e||null},enable:function(e){0===arguments.length&&(e=!0),this.wrapper.toggleClass(k,!e),this._onEnable(e)},_select:function(e,t){var n=this._value;e=this.color(e),t||(this.element.trigger("change"),e.equals(n)?this._standalone||this.trigger("cancel"):this.trigger("change",{value:this.value()}))},_triggerSelect:function(e){i(this,"select",e)},_triggerChange:function(e){i(this,"change",e)},destroy:function(){this.element&&this.element.off(b),this.wrapper&&this.wrapper.off(b).find("*").off(b),this.wrapper=null,d.fn.destroy.call(this)},_updateUI:e.noop,_selectOnHide:function(){return null},_cancel:function(){this.trigger("cancel")}}),S=T.extend({init:function(t,n){var i,o,r,l,d=this;if(T.fn.init.call(d,t,n),t=d.wrapper=d.element,n=d.options,i=n.palette,"websafe"==i?(i=g,n.columns=18):"basic"==i&&(i=m),"string"==typeof i&&(i=i.split(",")),e.isArray(i)&&(i=e.map(i,function(e){return u(e)})),d._selectedID=(n.ariaId||s.guid())+"_selected",t.addClass("k-widget k-colorpalette").attr("role","grid").attr("aria-readonly","true").append(e(d._template({colors:i,columns:n.columns,tileSize:n.tileSize,value:d._value,id:n.ariaId}))).on(y,".k-item",function(t){d._select(e(t.currentTarget).css(f))}).attr("tabIndex",d._tabIndex).on(w,a(d._keydown,d)),o=n.tileSize){if(/number|string/.test(typeof o))r=l=parseFloat(o);else{if("object"!=typeof o)throw Error("Unsupported value for the 'tileSize' argument");r=parseFloat(o.width),l=parseFloat(o.height)}t.find(".k-item").css({width:r,height:l})}},focus:function(){this.wrapper&&!this.wrapper.is("[unselectable='on']")&&this.wrapper.focus()},options:{name:"ColorPalette",columns:10,tileSize:null,palette:"basic"},_onEnable:function(e){e?this.wrapper.attr("tabIndex",this._tabIndex):this.wrapper.removeAttr("tabIndex")},_keydown:function(t){var n,i,a=this.wrapper,s=a.find(".k-item"),l=s.filter("."+h).get(0),d=t.keyCode;if(d==p.LEFT?n=o(s,l,-1):d==p.RIGHT?n=o(s,l,1):d==p.DOWN?n=o(s,l,this.options.columns):d==p.UP?n=o(s,l,-this.options.columns):d==p.ENTER?(r(t),l&&this._select(e(l).css(f))):d==p.ESC&&this._cancel(),n){r(t),this._current(n);try{i=u(n.css(f)),this._triggerSelect(i)}catch(c){}}},_current:function(t){this.wrapper.find("."+h).removeClass(h).attr("aria-selected",!1).removeAttr("id"),e(t).addClass(h).attr("aria-selected",!0).attr("id",this._selectedID),this.element.removeAttr("aria-activedescendant").attr("aria-activedescendant",this._selectedID)},_updateUI:function(t){var n=null;this.wrapper.find(".k-item").each(function(){var i=u(e(this).css(f));if(i&&i.equals(t))return n=this,!1}),this._current(n)},_template:s.template('# for (var i = 0; i < colors.length; ++i) { ## var selected = colors[i].equals(value); ## if (i && i % columns == 0) { # # } ## } #')}),F=T.extend({init:function(t,n){var i=this;T.fn.init.call(i,t,n),n=i.options,n.messages=n.options?e.extend(i.options.messages,n.options.messages):i.options.messages,t=i.element,i.wrapper=t.addClass("k-widget k-flatcolorpicker").append(i._template(n)),i._hueElements=e(".k-hsv-rectangle, .k-alpha-slider .k-slider-track",t),i._selectedColor=e(".k-selected-color-display",t),i._colorAsText=e("input.k-color-value",t),i._sliders(),i._hsvArea(),i._updateUI(i._value||u("#f00")),t.find("input.k-color-value").on(w,function(t){var n,o,r=this;if(t.keyCode==p.ENTER)try{n=u(r.value),o=i.color(),i._select(n,n.equals(o))}catch(a){e(r).addClass("k-state-error")}else i.options.autoupdate&&setTimeout(function(){var e=u(r.value,!0);e&&i._updateUI(e,!0)},10)}).end().on(y,".k-controls button.apply",function(){i.options._clearedColor?i.trigger("change"):i._select(i._getHSV())}).on(y,".k-controls button.cancel",function(){i._updateUI(i.color()),i._cancel()}),C&&i._applyIEFilter()},destroy:function(){this._hsvEvents.destroy(),this._hueSlider.destroy(),this._opacitySlider&&this._opacitySlider.destroy(),this._hueSlider=this._opacitySlider=this._hsvRect=this._hsvHandle=this._hueElements=this._selectedColor=this._colorAsText=null,T.fn.destroy.call(this)},options:{name:"FlatColorPicker",opacity:!1,buttons:!1,input:!0,preview:!0,clearButton:!1,autoupdate:!0,messages:_},_applyIEFilter:function(){var e=this.element.find(".k-hue-slider .k-slider-track")[0],t=e.currentStyle.backgroundImage;t=t.replace(/^url\([\'\"]?|[\'\"]?\)$/g,""),e.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+t+"', sizingMethod='scale')"},_sliders:function(){function e(e){n._updateUI(n._getHSV(e.value,null,null,null))}function t(e){n._updateUI(n._getHSV(null,null,null,e.value/100))}var n=this,i=n.element,o=i.find(".k-hue-slider"),r=i.find(".k-alpha-slider");o.attr("aria-label","hue saturation"),n._hueSlider=o.kendoSlider({min:0,max:360,tickPlacement:"none",showButtons:!1,slide:e,change:e}).data("kendoSlider"),r.attr("aria-label","opacity"),n._opacitySlider=r.kendoSlider({min:0,max:100,tickPlacement:"none",showButtons:!1,slide:t,change:t}).data("kendoSlider")},_hsvArea:function(){function e(e,n){var i=this.offset,o=e-i.left,r=n-i.top,a=this.width,s=this.height;o=o<0?0:o>a?a:o,r=r<0?0:r>s?s:r,t._svChange(o/a,1-r/s)}var t=this,n=t.element,i=n.find(".k-hsv-rectangle"),o=i.find(".k-draghandle").attr("tabIndex",0).on(w,a(t._keydown,t));t._hsvEvents=new s.UserEvents(i,{global:!0,press:function(t){this.offset=s.getOffset(i),this.width=i.width(),this.height=i.height(),o.focus(),e.call(this,t.x.location,t.y.location)},start:function(){i.addClass("k-dragging"),o.focus()},move:function(t){t.preventDefault(),e.call(this,t.x.location,t.y.location)},end:function(){i.removeClass("k-dragging")}}),t._hsvRect=i,t._hsvHandle=o},_onEnable:function(e){this._hueSlider.enable(e),this._opacitySlider&&this._opacitySlider.enable(e),this.wrapper.find("input").attr("disabled",!e);var t=this._hsvRect.find(".k-draghandle");e?t.attr("tabIndex",this._tabIndex):t.removeAttr("tabIndex")},_keydown:function(e){function t(t,n){var o=i._getHSV();o[t]+=n*(e.shiftKey?.01:.05),o[t]<0&&(o[t]=0),o[t]>1&&(o[t]=1),i._updateUI(o),r(e)}function n(t){var n=i._getHSV();n.h+=t*(e.shiftKey?1:5),n.h<0&&(n.h=0),n.h>359&&(n.h=359),i._updateUI(n),r(e)}var i=this;switch(e.keyCode){case p.LEFT:e.ctrlKey?n(-1):t("s",-1);break;case p.RIGHT:e.ctrlKey?n(1):t("s",1);break;case p.UP:t(e.ctrlKey&&i._opacitySlider?"a":"v",1);break;case p.DOWN:t(e.ctrlKey&&i._opacitySlider?"a":"v",-1);break;case p.ENTER:i._select(i._getHSV());break;case p.F2:i.wrapper.find("input.k-color-value").focus().select();break;case p.ESC:i._cancel()}},focus:function(){this._hsvHandle.focus()},_getHSV:function(e,t,n,i){var o=this._hsvRect,r=o.width(),a=o.height(),s=this._hsvHandle.position();return null==e&&(e=this._hueSlider.value()),null==t&&(t=s.left/r),null==n&&(n=1-s.top/a),null==i&&(i=this._opacitySlider?this._opacitySlider.value()/100:1),c.fromHSV(e,t,n,i)},_svChange:function(e,t){var n=this._getHSV(null,e,t,null);this._updateUI(n)},_updateUI:function(e,t){var n=this,i=n._hsvRect;e&&(this._colorAsText.attr("title",n.options.messages.previewInput),this._colorAsText.removeClass("k-state-error"),n._selectedColor.css(f,e.toDisplay()),t||n._colorAsText.val(n._opacitySlider?e.toCssRgba():e.toCss()),n._triggerSelect(e),e=e.toHSV(),n._hsvHandle.css({left:e.s*i.width()+"px",top:(1-e.v)*i.height()+"px"}),n._hueElements.css(f,c.fromHSV(e.h,1,1,1).toCss()),n._hueSlider.value(e.h),n._opacitySlider&&n._opacitySlider.value(100*e.a))},_selectOnHide:function(){return this.options.buttons?null:this._getHSV()},_template:s.template('# if (preview) { #
    # if (clearButton && !_standalone) { ## } #
    # } ## if (clearButton && !_standalone && !preview) { #
    #: messages.clearColor #
    # } #
    # if (opacity) { ## } #
    # if (buttons) { #
    # } #')}),D=d.extend({init:function(t,n){var i,o,r,a,s,l=this;d.fn.init.call(l,t,n),n=l.options,t=l.element,i=t.attr("value")||t.val(),i=i?u(i,!0):u(n.value,!0),l._value=n.value=i,o=l.wrapper=e(l._template(n)),t.hide().after(o),l._inputWrapper=e(l.wrapper[0].firstChild),t.is("input")&&(t.appendTo(o),r=t.closest("label"),a=t.attr("id"),a&&(r=r.add('label[for="'+a+'"]')),r.click(function(e){l.open(),e.preventDefault()})),l._tabIndex=t.attr("tabIndex")||0,l.enable(!t.attr("disabled")),s=t.attr("accesskey"),s&&(t.attr("accesskey",null),o.attr("accesskey",s)),l.bind("activate",function(e){e.isDefaultPrevented()||l.toggle()}),l._updateUI(i)},destroy:function(){this.wrapper.off(b).find("*").off(b),this._popup&&(this._selector.destroy(),this._popup.destroy()),this._selector=this._popup=this.wrapper=null,d.fn.destroy.call(this)},enable:function(e){var t=this,n=t.wrapper,i=n.children(".k-picker-wrap"),o=i.find(".k-select");0===arguments.length&&(e=!0),t.element.attr("disabled",!e),n.attr("aria-disabled",!e),o.off(b).on("mousedown"+b,r),n.addClass("k-state-disabled").removeAttr("tabIndex").add("*",n).off(b),e?n.removeClass("k-state-disabled").attr("tabIndex",t._tabIndex).on("mouseenter"+b,function(){i.addClass("k-state-hover")}).on("mouseleave"+b,function(){i.removeClass("k-state-hover")}).on("focus"+b,function(){i.addClass("k-state-focused")}).on("blur"+b,function(){i.removeClass("k-state-focused")}).on(w,a(t._keydown,t)).on(y,".k-select",a(t.toggle,t)).on(y,t.options.toolIcon?".k-tool-icon":".k-selected-color",function(){t.trigger("activate")}):t.close()},_template:s.template('# if (toolIcon) { ## } else { ## } #'),options:{name:"ColorPicker",palette:null,columns:10,toolIcon:null,value:null,messages:_,opacity:!1,buttons:!0,preview:!0,clearButton:!1,ARIATemplate:'Current selected color is #=data || ""#'},events:["activate","change","select","open","close"],open:function(){this.element.prop("disabled")||this._getPopup().open()},close:function(){var e=this._selector&&this._selector.options||{};e._closing=!0,this._getPopup().close(),delete e._closing},toggle:function(){this.element.prop("disabled")||this._getPopup().toggle()},_noColorIcon:function(){return this.wrapper.find(".k-picker-wrap > .k-selected-color > .k-icon.k-i-line")},color:T.fn.color,value:T.fn.value,_select:T.fn._select,_triggerSelect:T.fn._triggerSelect,_isInputTypeColor:function(){var e=this.element[0];return/^input$/i.test(e.tagName)&&/^color$/i.test(e.type)},_updateUI:function(e){var t="";e&&(t=this._isInputTypeColor()||1==e.a?e.toCss():e.toCssRgba(),this.element.val(t)),this._ariaTemplate||(this._ariaTemplate=s.template(this.options.ARIATemplate)),this.wrapper.attr("aria-label",this._ariaTemplate(t)),this._triggerSelect(e),this.wrapper.find(".k-selected-color").css(f,e?e.toDisplay():v),this._noColorIcon()[t?"hide":"show"]()},_keydown:function(e){var t=e.keyCode;this._getPopup().visible()?(t==p.ESC?this._selector._cancel():this._selector._keydown(e),r(e)):t!=p.ENTER&&t!=p.DOWN||(this.open(),r(e))},_getPopup:function(){var t,i,o,r,a=this,l=a._popup;return l||(t=a.options,i=t.palette?S:F,t._standalone=!1,delete t.select,delete t.change,delete t.cancel,o=s.guid(),r=a._selector=new i(e('
    ').appendTo(document.body),t),a.wrapper.attr("aria-owns",o),a._popup=l=r.wrapper.kendoPopup({anchor:a.wrapper,adjustSize:{width:5,height:0}}).data("kendoPopup"),r.element.find(".k-clear-color").kendoButton({icon:"reset-color",click:function(e){r.options._clearedColor=!0,a.value(null),a.element.val(null),a._updateUI(null),r._colorAsText.val(""),r._hsvHandle.css({top:"0px",left:"0px"}),r._selectedColor.css(f,v),a.trigger("change",{value:a.value()}),e.preventDefault()}}),r.bind({select:function(e){a._updateUI(u(e.value)),delete r.options._clearedColor},change:function(){r.options._clearedColor||a._select(r.color()),a.close()},cancel:function(){r.options._clearedColor&&!a.value()&&r.value()&&a._select(r.color(),!0),a.close()}}),l.bind({close:function(e){var t,i,o,s;return a.trigger("close")?(e.preventDefault(),n):(a.wrapper.children(".k-picker-wrap").removeClass("k-state-focused"),t=r._selectOnHide(),i=r.value(),o=a.value(),s=r.options,t?s._clearedColor&&!o||a._select(t):(setTimeout(function(){a.wrapper&&!a.wrapper.is("[unselectable='on']")&&a.wrapper.focus()}),!s._closing&&s._clearedColor&&!o&&i?a._select(i,!0):a._updateUI(a.color())),n)},open:function(e){a.trigger("open")?e.preventDefault():a.wrapper.children(".k-picker-wrap").addClass("k-state-focused")},activate:function(){r._select(a.color(),!0),r.focus(),a.wrapper.children(".k-picker-wrap").addClass("k-state-focused")}})),l}});l.plugin(S),l.plugin(F),l.plugin(D)}(jQuery,parseInt),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.selectable.min",["kendo.core.min","kendo.userevents.min"],e)}(function(){return function(e,t){function n(e,t){if(!e.is(":visible"))return!1;var n=o.getOffset(e),i=t.left+t.width,r=t.top+t.height;return n.right=n.left+o._outerWidth(e),n.bottom=n.top+o._outerHeight(e),!(n.left>i||n.rightr||n.bottomspan,.k-button>img,span.k-icon.k-i-arrow-60-down,span.k-icon.k-i-arrow-60-up,label.k-checkbox-label.k-no-text,.k-icon.k-i-collapse,.k-icon.k-i-expand,span.k-numeric-wrap,.k-focusable",v=o.support.browser.msie,_=!1;!function(e){!function(){e('
    ').on("click",">*",function(){_=!0}).find("span").trigger("click").end().off()}()}(e),i=r.extend({init:function(t,n){var i,s=this;r.fn.init.call(s,t,n),s._marquee=e("
    "),s._lastActive=null,s.element.addClass(c),s.relatedTarget=s.options.relatedTarget,i=s.options.multiple,this.options.aria&&i&&s.element.attr("aria-multiselectable",!0),s.userEvents=new o.UserEvents(s.element,{global:!0,allowSelection:!0,filter:(_?"":"."+c+" ")+s.options.filter,tap:a(s._tap,s),touchAction:i?"none":"pan-x pan-y"}),i&&s.userEvents.bind("start",a(s._start,s)).bind("move",a(s._move,s)).bind("end",a(s._end,s)).bind("select",a(s._select,s))},events:[p,h],options:{name:"Selectable",filter:">*",inputSelectors:g,multiple:!1,relatedTarget:e.noop},_isElement:function(e){var t,n=this.element,i=n.length,o=!1;for(e=e[0],t=0;te.x.location?e.x.location:e.x.startLocation,top:e.y.startLocation>e.y.location?e.y.location:e.y.startLocation,width:s(e.x.initialDelta),height:s(e.y.initialDelta)};t._marquee.css(n),t._invalidateSelectables(n,e.event.ctrlKey||e.event.metaKey),e.preventDefault()},_end:function(e){var t,n=this;n._marquee.remove(),n._unselect(n.element.find(n.options.filter+"."+m)).removeClass(m),t=n.element.find(n.options.filter+"."+u),t=t.add(n.relatedTarget(t)),n.value(t,e),n._lastActive=n._downTarget,n._items=null},_invalidateSelectables:function(e,t){var i,o,r,a,s=this._downTarget[0],l=this._items;for(i=0,o=l.length;i0?e[0]:t.element.find(t.options.filter)[0])},_selectElement:function(t,n){var i=e(t),o=!n&&this._notify("select",{element:t});i.removeClass(u),o||(i.addClass(d),this.options.aria&&i.attr(l,!0))},_notify:function(e,t){return t=t||{},this.trigger(e,t)},_unselect:function(e){if(!this.trigger(h,{element:e}))return e.removeClass(d),this.options.aria&&e.attr(l,!1),e},_select:function(t){this._allowSelection(t.event.target)&&(!v||v&&!e(o._activeElement()).is(this.options.inputSelectors))&&t.preventDefault()},_allowSelection:function(t){return!e(t).is(this.options.inputSelectors)||(this.userEvents.cancel(),this._downTarget=null,!1)},resetTouchEvents:function(){this.userEvents.cancel()},clear:function(){var e=this.element.find(this.options.filter+"."+d);this._unselect(e)},selectRange:function(t,n,i){var o,r,a,s=this;for(s.clear(),s.element.length>1&&(a=s.options.continuousItems()),a&&a.length||(a=s.element.find(s.options.filter)),t=e.inArray(e(t)[0],a),n=e.inArray(e(n)[0],a),t>n&&(r=t,t=n,n=r),s.options.useAllItems||(n+=s.element.length-1),o=t;o<=n;o++)s._selectElement(a[o]);s._notify(p,i)},destroy:function(){var e=this;r.fn.destroy.call(e),e.element.off(f),e.userEvents.destroy(),e._marquee=e._lastActive=e.element=e.userEvents=null}}),i.parseOptions=function(e){var t="string"==typeof e&&e.toLowerCase();return{multiple:t&&t.indexOf("multiple")>-1,cell:t&&t.indexOf("cell")>-1}},o.ui.plugin(i)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.calendar.min",["kendo.core.min","kendo.selectable.min"],e)}(function(){return function(e,t){function n(e,t,n,i){var o,r=e.getFullYear(),a=t.getFullYear(),s=n.getFullYear();return r-=r%i,o=r+(i-1),rs&&(o=s),r+"-"+o}function i(e){var t,n=0,i=e.min,o=e.max,r=e.start,a=e.setter,l=e.build,d=e.weekNumberBuild,u=e.cells||12,c=e.isWeekColumnVisible,p=e.perRow||4,f=e.otherMonth,m=e.lastDayOfMonth,g=e.weekNumber||q,v=e.content||U,_=e.empty||W,b=e.otherMonthCellTemplate||j,y=e.html||'';for(c&&(y+=g(d(r)));n0&&n%p===0&&(y+='',c&&(y+=g(f||+r<=+m?d(r):{weekNumber:" "}))),r=h(r.getFullYear(),r.getMonth(),r.getDate()),R(r,0),t=l(r,n,e.disableDates),y+=t.cssClass.indexOf(ue)===-1||f?s(r,i,o)?v(t):_(t):b(t),a(r,1);return y+"
    "}function o(e,t,n){var i=e.getFullYear(),o=t.getFullYear(),r=o,a=0;return n&&(o-=o%n,r=o-o%n+n-1),i>r?a=1:ii?i=new Ne((+t)):n=+t&&+e<=+n}function l(e,t){return e.slice(t).concat(e.slice(0,t))}function d(e,t,n){t=t instanceof Ne?t.getFullYear():e.getFullYear()+n*t,e.setFullYear(t)}function u(e,t){var n,i,o;return+t<+e&&(n=+e,F.views[0].setDate(e,t),F.views[0].setDate(t,new Date(n))),i=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),o=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),Math.ceil((+o-+i)/D.date.MS_PER_DAY)}function c(e,t,n,i){var o,r;for(o=0;o<=t;o++)r=new Date(n.getTime()),r=new Date(r.setDate(r.getDate()+o)),i(r)||e.push(r)}function p(t){var n=e(this).hasClass("k-state-disabled");n||e(this).toggleClass(se,we.indexOf(t.type)>-1||t.type==be)}function f(e){e.preventDefault()}function h(e,t,n){var i=new Ne(e,t,n);return i.setFullYear(e,t,n),i}function m(e){return B(e).calendars.standard}function g(e){var n=Re[e.start],i=Re[e.depth],o=B(e.culture);e.format=M(e.format||o.calendars.standard.patterns.d),isNaN(n)&&(n=0,e.start=ne),(i===t||i>n)&&(e.depth=ne),null===e.dates&&(e.dates=[])}function v(e){$&&e.find("*").attr("unselectable","on")}function _(e,t){e.addClass("k-"+t)}function b(e,t){for(var n=0,i=t.length;n -1;"+d;else{for(o=0;o-1&&s.push(a);n="var found = date && window.kendo.jQuery.inArray(date.getDay(),["+s+"]) > -1;"+d}return i=Function("date",n)}function T(e,t){return e instanceof Date&&t instanceof Date&&(e=e.getTime(),t=t.getTime()),e===t}function S(t){var n=e(t).attr(D.attr(ae)).split("/");return n=h(n[0],n[1],n[2])}var F,D=window.kendo,I=D.support,z=D.ui,E=z.Widget,A=D.keys,N=D.parseDate,R=D.date.adjustDST,H=D.date.weekInYear,P=D.ui.Selectable,M=D._extractFormat,O=D.template,B=D.getCulture,L=D.support.transitions,V=L?L.css+"transform-origin":"",U=O('#=data.value#',{useWithBlock:!1}),W=O('',{useWithBlock:!1}),j=O(' ',{useWithBlock:!1}),q=O('#= data.weekNumber #',{useWithBlock:!1}),G=D.support.browser,$=G.msie&&G.version<9,Y=D._outerWidth,K=".kendoCalendar",Q="click"+K,X="keydown"+K,J="id",Z="min",ee="left",te="slideIn",ne="month",ie="century",oe="change",re="navigate",ae="value",se="k-state-hover",le="k-state-disabled",de="k-state-focused",ue="k-other-month",ce=' class="'+ue+'"',pe="k-out-of-range",fe="k-nav-today",he="td:has(.k-link)",me="td:has(.k-link):not(."+le+"):not(."+pe+")",ge="td:not(:has(.k-link))",ve="k-state-selected",_e="blur"+K,be="focus",ye=be+K,we=I.touch?"touchstart":"mouseenter",ke=I.touch?"touchstart"+K:"mouseenter"+K,xe=I.touch?"touchend"+K+" touchmove"+K:"mouseleave"+K,Ce=6e4,Te=864e5,Se="_prevArrow",Fe="_nextArrow",De="aria-disabled",Ie="aria-selected",ze="aria-label",Ee=e.proxy,Ae=e.extend,Ne=Date,Re={ -month:0,year:1,decade:2,century:3},He=".k-header, .k-calendar-header",Pe='
    ',Me='',Oe=E.extend({init:function(t,n){var i,o,s=this;n=n||{},n.componentType=n.componentType||"classic",E.fn.init.call(s,t,n),t=s.wrapper=s.element,n=s.options,n.url=D.unescape(n.url),s.options.disableDates=k(s.options.disableDates),s._templates(),s._selectable(),s._header(),s._viewWrapper(),s.options.hasFooter&&s._footer(s.footer),o=t.addClass("k-widget k-calendar "+(n.weekNumber?" k-week-number":"")).on(ke+" "+xe,he,p).on(X,"table.k-content",Ee(s._move,s)).on(Q+" touchend",he,function(t){var i=t.currentTarget.firstChild,o=S(i);i.href.indexOf("#")!=-1&&t.preventDefault(),"month"==s._view.name&&s.options.disableDates(o)||"month"==s._view.name&&"single"!=n.selectable||s._click(e(i))}).on("mouseup"+K,"table.k-content, .k-footer",function(){s._focusView(s.options.focusOnNav!==!1)}).attr(J),o&&(s._cellID=o+"_cell_selected"),s._isMultipleSelection()&&s.options.weekNumber&&t.on(Q,ge,function(t){var n=e(t.currentTarget).closest("tr").find(me).first(),i=s.selectable._lastActive=e(t.currentTarget).closest("tr").find(me).last();s.selectable.selectRange(n,i,{event:t}),s._current=s._value=S(i.find("a")),s._class(de,s._current)}),g(n),i=N(n.value,n.format,n.culture),s._selectDates=[],s._index=Re[n.start],s._current=new Ne((+a(i,n.min,n.max))),s._addClassProxy=function(){if(s._active=!0,s._cell.hasClass(le)){var e=s._view.toDateString(r());s._cell=s._cellByDate(e)}s._cell.addClass(de)},s._removeClassProxy=function(){s._active=!1,s._cell.removeClass(de)},s.value(i),s._isMultipleSelection()&&n.selectDates.length>0&&s.selectDates(n.selectDates),D.notify(s)},options:{name:"Calendar",value:null,min:new Ne(1900,0,1),max:new Ne(2099,11,31),dates:[],disableDates:null,url:"",culture:"",footer:"",format:"",month:{},weekNumber:!1,selectable:"single",selectDates:[],start:ne,depth:ne,animation:{horizontal:{effects:te,reverse:!0,duration:500,divisor:2},vertical:{effects:"zoomIn",duration:400}},messages:{weekColumnHeader:"",today:"Today"}},events:[oe,re],componentTypes:{classic:{header:{template:Pe},hasFooter:!0,linksSelector:".k-link",contentClasses:"k-content"},modern:{header:{template:Me},hasFooter:!1,linksSelector:".k-button",contentClasses:"k-content k-calendar-content"}},setOptions:function(e){var t=this;g(e),e.disableDates=k(e.disableDates),t._destroySelectable(),E.fn.setOptions.call(t,e),t._templates(),t._selectable(),t._viewWrapper(),t.options.hasFooter?t._footer(t.footer):t.element.find(".k-footer").hide(),t._index=Re[t.options.start],t.navigate(),e.weekNumber&&t.element.addClass("k-week-number")},destroy:function(){var e=this,t=e._today;e.element.off(K),e._title.off(K),e[Se].off(K),e[Fe].off(K),e._destroySelectable(),D.destroy(e._table),t&&D.destroy(t.off(K)),E.fn.destroy.call(e)},current:function(){return this._current},view:function(){return this._view},focus:function(e){e=e||this._table,this._bindTable(e),e.trigger("focus")},min:function(e){return this._option(Z,e)},max:function(e){return this._option("max",e)},navigateToPast:function(){this._navigate(Se,-1)},navigateToFuture:function(){this._navigate(Fe,1)},navigateUp:function(){var e=this,t=e._index;e._title.hasClass(le)||e.navigate(e._current,++t)},navigateDown:function(e){var n=this,i=n._index,o=n.options.depth;if(e)return i===Re[o]?(T(n._value,n._current)&&T(n._value,e)||(n.value(e),n.trigger(oe)),t):(n.navigate(e,--i),t)},navigate:function(n,i){var o,r,s,l,d,u,c,p,f,h,m,g,b,y,w,k,x;i=isNaN(i)?Re[i]:i,o=this,r=o.options,s=r.culture,l=r.min,d=r.max,u=o._title,c=o._table,p=o._oldTable,f=o._current,h=n&&+n>+f,m=i!==t&&i!==o._index,k=o.element.children(".k-calendar-view"),n||(n=f),o._current=n=new Ne((+a(n,l,d))),i===t?i=o._index:o._index=i,o._view=b=F.views[i],y=b.compare,w=i===Re[ie],u.toggleClass(le,w).attr(De,w),w=y(n,l)<1,o[Se].toggleClass(le,w).attr(De,w),o[Se].hasClass(le)&&o[Se].removeClass(se),w=y(n,d)>-1,o[Fe].toggleClass(le,w).attr(De,w),o[Fe].hasClass(le)&&o[Fe].removeClass(se),c&&p&&p.data("animating")&&(p.kendoStop(!0,!0),c.kendoStop(!0,!0)),o._oldTable=c,c&&!o._changeView||(u.html(b.title(n,l,d,s)),o._table=g=e(b.content(Ae({min:l,max:d,date:n,url:r.url,dates:r.dates,format:r.format,otherMonth:!0,culture:s,disableDates:r.disableDates,isWeekColumnVisible:r.weekNumber,messages:r.messages,contentClasses:o.options.contentClasses},o[b.name]))),_(g,b.name),v(g),x=c&&c.data("start")===g.data("start"),o._animate({from:c,to:g,vertical:m,future:h,replace:x}),"modern"===o.options.componentType&&(k.removeClass("k-calendar-monthview k-calendar-yearview k-calendar-decadeview k-calendar-centuryview"),k.addClass("k-calendar-"+b.name+"view")),o.trigger(re),o._focus(n)),i===Re[r.depth]&&o._selectDates.length>0&&o._visualizeSelectedDatesInView(),"single"===o.options.selectable&&i===Re[r.depth]&&o._value&&!o.options.disableDates(o._value)&&o._class("k-state-selected",o._value),o._class(de,n),!c&&o._cell&&o._cell.removeClass(de),o._changeView=!0},selectDates:function(n){var i,o,r=this;return n===t?r._selectDates:(o=n.map(function(e){return e.getTime()}).filter(function(e,t,n){return n.indexOf(e)===t}).map(function(e){return new Date(e)}),i=e.grep(o,function(e){if(e)return+r._validateValue(new Date(e.setHours(0,0,0,0)))===+e}),r._selectDates=i.length>0?i:0===o.length?o:r._selectDates,r._visualizeSelectedDatesInView(),t)},value:function(e){var n,i=this,o=i._view,r=i._view;return e===t?i._value:(e=i._validateValue(e),e&&i._isMultipleSelection()&&(n=new Date((+e)),n.setHours(0,0,0,0),i._selectDates=[n],i.selectable._lastActive=null),o&&null===e&&i._cell?i._cell.removeClass(ve):(i._changeView=!e||r&&0!==r.compare(e,i._current),i.navigate(e)),t)},_validateValue:function(e){var n=this,i=n.options,o=i.min,r=i.max;return null===e&&(n._current=h(n._current.getFullYear(),n._current.getMonth(),n._current.getDate())),e=N(e,i.format,i.culture),null!==e&&(e=new Ne((+e)),s(e,o,r)||(e=null)),null!==e&&n.options.disableDates(new Date((+e)))?n._value===t&&(n._value=null):n._value=e,n._value},_visualizeSelectedDatesInView:function(){var t,n=this,i={};e.each(n._selectDates,function(e,t){i[D.calendar.views[0].toDateString(t)]=t}),n.selectable.clear(),t=n._table.find(he).filter(function(t,n){return i[e(n.firstChild).attr(D.attr(ae))]}),t.length>0&&n.selectable._selectElement(t,!0)},_isMultipleSelection:function(){var e=this;return"multiple"===e.options.selectable},_selectable:function(){var e,t,n=this;n._isMultipleSelection()&&(e=n.options.selectable,t=P.parseOptions(e),t.multiple&&n.element.attr("aria-multiselectable","true"),n.selectable=new P(n.wrapper,{aria:!0,inputSelectors:"input,textarea,.k-multiselect-wrap,select,button,.k-button>span,.k-button>img,span.k-icon.k-i-arrow-60-down,span.k-icon.k-i-arrow-60-up",multiple:t.multiple,filter:"table.k-month:eq(0) "+me,change:Ee(n._onSelect,n),relatedTarget:Ee(n._onRelatedTarget,n)}))},_onRelatedTarget:function(e){var t=this;t.selectable.options.multiple&&e.is(me)&&(t._current=S(e.find("a")),t._class(de,S(e.find("a"))))},_onSelect:function(n){var i=this,o=n,r=P.parseOptions(i.options.selectable);return r.multiple?(o.event.ctrlKey||o.event.metaKey?e(o.event.currentTarget).is(me)?i._toggleSelection(e(o.event.currentTarget)):(i._cellsBySelector(me).each(function(t,n){var o=S(e(n).find("a"));i._deselect(o)}),i._addSelectedCellsToArray()):o.event.shiftKey?i._rangeSelection(i._cell):e(o.event.currentTarget).is(he)?i.value(S(e(o.event.currentTarget).find("a"))):(i._selectDates=[],i._addSelectedCellsToArray()),i.trigger(oe),t):(e(o.event.currentTarget).is("td")&&!e(o.event.currentTarget).hasClass("k-state-selected")?e(o.event.currentTarget).addClass("k-state-selected"):i._click(e(o.event.currentTarget).find("a")),t)},_destroySelectable:function(){var e=this;e.selectable&&(e.selectable.destroy(),e.selectable=null)},_toggleSelection:function(e){var t=this,n=S(e.find("a"));e.hasClass("k-state-selected")?t._selectDates.push(n):t._deselect(n)},_rangeSelection:function(e,t){var n,i=this,o=t||S(i.selectable.value().first().find("a")),r=S(e.find("a"));i.selectable._lastActive||i._value?o=i.selectable._lastActive?S(i.selectable._lastActive.find("a")):new Date((+i._value)):i.selectable._lastActive=t?i._cellByDate(i._view.toDateString(t),me):i.selectable.value().first(),i._selectDates=[],n=u(o,r),c(i._selectDates,n,o,i.options.disableDates),i._visualizeSelectedDatesInView()},_cellsBySelector:function(e){var t=this;return t._table.find(e)},_addSelectedCellsToArray:function(){var t=this;t.selectable.value().each(function(n,i){var o=S(e(i.firstChild));t.options.disableDates(o)||t._selectDates.push(o)})},_deselect:function(e){var t=this,n=t._selectDates.map(Number).indexOf(+e);n!=-1&&t._selectDates.splice(n,1)},_dateInView:function(e){var t=this,n=S(t._cellsBySelector(me+":first").find("a")),i=S(t._cellsBySelector(me+":last").find("a"));return+e<=+i&&+e>=+n},_isNavigatable:function(e,t){var n,i,o=this,r=o.options.disableDates;return"month"==o._view.name?!r(e):(i=o.wrapper.find("."+de).index(),n=o.wrapper.find(".k-content td:eq("+(i+t)+")"),n.is(me)||!r(e))},_move:function(n){var i,o,r,l,d,u=this,c=u.options,p=n.keyCode,f=u._view,m=u._index,g=u.options.min,v=u.options.max,_=new Ne((+u._current)),b=D.support.isRtl(u.wrapper),y=u.options.disableDates;return n.target===u._table[0]&&(u._active=!0),p==A.RIGHT&&!b||p==A.LEFT&&b?(i=1,o=!0):p==A.LEFT&&!b||p==A.RIGHT&&b?(i=-1,o=!0):p==A.UP?(i=0===m?-7:-4,o=!0):p==A.DOWN?(i=0===m?7:4,o=!0):p==A.SPACEBAR?(i=0,o=!0):p!=A.HOME&&p!=A.END||(r=p==A.HOME?"first":"last",l=f[r](_),_=new Ne(l.getFullYear(),l.getMonth(),l.getDate(),_.getHours(),_.getMinutes(),_.getSeconds(),_.getMilliseconds()),_.setFullYear(l.getFullYear()),o=!0),n.ctrlKey||n.metaKey?p==A.RIGHT&&!b||p==A.LEFT&&b?(u.navigateToFuture(),o=!0):p==A.LEFT&&!b||p==A.RIGHT&&b?(u.navigateToPast(),o=!0):p==A.UP?(u.navigateUp(),o=!0):p==A.DOWN?(u._click(e(u._cell[0].firstChild)),o=!0):p!=A.ENTER&&p!=A.SPACEBAR||!u._isMultipleSelection()||(u._keyboardToggleSelection(n),d=S(e(u._cell[0]).find("a")),u._class(de,d)):n.shiftKey?(i!==t||r)&&(r||f.setDate(_,i),s(_,g,v)||(_=a(_,c.min,c.max)),y(_)&&(_=u._nextNavigatable(_,i)),g=h(g.getFullYear(),g.getMonth(),g.getDate()),u._isMultipleSelection()?u._keyboardRangeSelection(n,_):u._focus(_)):(p==A.ENTER||p==A.SPACEBAR?("month"==f.name&&u._isMultipleSelection()?(u.value(S(e(u._cell.find("a")))),u.selectable._lastActive=e(u._cell[0]),u.trigger(oe)):u._click(e(u._cell[0].firstChild)),o=!0):p==A.PAGEUP?(o=!0,u.navigateToPast()):p==A.PAGEDOWN&&(o=!0,u.navigateToFuture()),(i||r)&&(r||f.setDate(_,i),g=h(g.getFullYear(),g.getMonth(),g.getDate()),s(_,g,v)||(_=a(_,c.min,c.max)),u._isNavigatable(_,i)||(_=u._nextNavigatable(_,i)),u._isMultipleSelection()?u._dateInView(_)?(u._current=_,u._class(de,_)):u.navigate(_):u._focus(_))),o&&n.preventDefault(),u._current},_keyboardRangeSelection:function(e,n){var i,o,r=this;return r._dateInView(n)?(r.selectable.options.filter=r.wrapper.find("table").length>1&&+n>+r._current?"table.k-month:eq(1) "+me:"table.k-month:eq(0) "+me,r._class(de,n),r._current=n,r._rangeSelection(r._cellByDate(r._view.toDateString(n),me),n),r.trigger(oe),r.selectable.options.filter="table.k-month:eq(0) "+me,t):(r._selectDates=[],i=r.selectable._lastActive?S(r.selectable._lastActive.find("a")):n,o=u(i,new Date((+n))),c(r._selectDates,o,i,r.options.disableDates),r.navigate(n),r._current=n,r.selectable._lastActive=r.selectable._lastActive||r._cellByDate(r._view.toDateString(n),me),r.trigger(oe),t)},_keyboardToggleSelection:function(t){var n=this;t.currentTarget=n._cell[0],n.selectable._lastActive=e(n._cell[0]),e(n._cell[0]).hasClass(ve)?(n.selectable._unselect(e(n._cell[0])),n.selectable.trigger(oe,{event:t})):n.selectable.value(e(n._cell[0]),{event:t})},_nextNavigatable:function(e,t){var n=this,i=!0,o=n._view,r=n.options.min,a=n.options.max,l=n.options.disableDates,d=new Date(e.getTime());for(o.setDate(d,-t);i;){if(o.setDate(e,t),!s(e,r,a)){e=d;break}i=l(e)}return e},_animate:function(e){var t=this,n=e.from,i=e.to,o=t._active,r=t.element.children(".k-calendar-view");n?n.parent().data("animating")?(n.off(K),n.parent().kendoStop(!0,!0).remove(),n.remove(),r.append(i),t._focusView(o)):!n.is(":visible")||t.options.animation===!1||e.replace?(i.insertAfter(n),n.off(K).remove(),t._focusView(o)):t[e.vertical?"_vertical":"_horizontal"](n,i,e.future):(r.append(i),t._bindTable(i))},_horizontal:function(e,t,n){var i=this,o=i._active,r=i.options.animation.horizontal,a=r.effects,s=Y(e);a&&a.indexOf(te)!=-1&&(e.add(t).css({width:s}),e.wrap("
    "),i._focusView(o,e),e.parent().css({position:"relative",width:2*s,"float":ee,"margin-left":n?0:-s}),t[n?"insertAfter":"insertBefore"](e),Ae(r,{effects:te+":"+(n?"right":ee),complete:function(){e.off(K).remove(),i._oldTable=null,t.unwrap(),i._focusView(o)}}),e.parent().kendoStop(!0,!0).kendoAnimate(r))},_vertical:function(e,t){var n,i,o=this,r=o.options.animation.vertical,a=r.effects,s=o._active;a&&a.indexOf("zoom")!=-1&&(t.insertBefore(e),e.css({position:"absolute",width:t.width()}),V&&(n=o._cellByDate(o._view.toDateString(o._current)),i=n.position(),i=i.left+parseInt(n.width()/2,10)+"px "+(i.top+parseInt(n.height()/2,10)+"px"),t.css(V,i)),e.kendoStop(!0,!0).kendoAnimate({effects:"fadeOut",duration:600,complete:function(){e.off(K).remove(),o._oldTable=null,o._focusView(s)}}),t.kendoStop(!0,!0).kendoAnimate(r))},_cellByDate:function(t,n){return this._table.find(n?n:"td:not(."+ue+")").filter(function(){return e(this.firstChild).attr(D.attr(ae))===t})},_class:function(e,t){var n,i=this,o=i._cellID,r=i._cell,a=i._view.toDateString(t);r&&r.length&&(r[0].removeAttribute(Ie),r[0].removeAttribute(ze),r[0].removeAttribute(J)),t&&"month"==i._view.name&&(n=i.options.disableDates(t)),i._cellsBySelector(i._isMultipleSelection()?he:"td:not(."+ue+")").removeClass(e),r=i._cellByDate(a,"multiple"==i.options.selectable?he:"td:not(."+ue+")").attr(Ie,!0),(e===de&&!i._active&&i.options.focusOnNav!==!1||n)&&(e=""),r.addClass(e),r[0]&&(i._cell=r),o&&(r.attr(J,o),i._table[0].removeAttribute("aria-activedescendant"),i._table.attr("aria-activedescendant",o))},_bindTable:function(e){e.on(ye,this._addClassProxy).on(_e,this._removeClassProxy)},_click:function(e){var t=this,n=t.options,i=new Date((+t._current)),o=S(e);R(o,0),"month"==t._view.name&&t.options.disableDates(o)&&(o=t._value),t._view.setDate(i,o),t.navigateDown(a(i,n.min,n.max))},_focus:function(e){var t=this,n=t._view;0!==n.compare(e,t._current)?t.navigate(e):(t._current=e,t._class(de,e))},_focusView:function(e,t){e&&this.focus(t)},_viewWrapper:function(){var t=this,n=t.element,i=n.children(".k-calendar-view");i[0]||(i=e("
    ").insertAfter(n.find(He)))},_footer:function(n){var i=this,o=r(),a=i.element,s=a.find(".k-footer");return n?(s[0]||(s=e('').appendTo(a)),i._today=s.show().find(".k-link").html(n(o)).attr("title",D.toString(o,"D",i.options.culture)),i._toggle(),t):(i._toggle(!1),s.hide(),t)},_header:function(){var e=this,t=e.element,n=e.options.linksSelector;t.find(He)[0]||t.html(D.template(e.options.header.template)(e.options)),t.find(n).on(ke+" "+xe+" "+ye+" "+_e,p).on(Q+" touchend"+K,function(){return!1}),e._title=t.find("["+D.attr("action")+'="nav-up"]').on(Q+" touchend"+K,function(){e._active=e.options.focusOnNav!==!1,e.navigateUp()}),e[Se]=t.find("["+D.attr("action")+'="prev"]').on(Q+" touchend"+K,function(){e._active=e.options.focusOnNav!==!1,e.navigateToPast()}),e[Fe]=t.find("["+D.attr("action")+'="next"]').on(Q+" touchend"+K,function(){e._active=e.options.focusOnNav!==!1,e.navigateToFuture()}),t.find("["+D.attr("action")+'="today"]').on(Q+" touchend"+K,Ee(e._todayClick,e))},_navigate:function(e,t){var n,i=this,o=i._index+1,r=new Ne((+i._current));i._isMultipleSelection()&&(n=i._table.find("td:not(.k-other-month):not(.k-out-of-range)").has(".k-link").first(),r=S(n.find("a")),i._current=new Date((+r))),e=i[e],e.hasClass(le)||(o>3?r.setFullYear(r.getFullYear()+100*t):F.views[o].setDate(r,t),i.navigate(r))},_option:function(e,n){var i,o=this,r=o.options,a=o._value||o._current;return n===t?r[e]:(n=N(n,r.format,r.culture),n&&(r[e]=new Ne((+n)),i=e===Z?n>a:a>n,(i||w(a,n))&&(i&&(o._value=null),o._changeView=!0),o._changeView||(o._changeView=!(!r.month.content&&!r.month.empty)),o.navigate(o._value),o._toggle()),t)},_toggle:function(e){var n=this,i=n.options,o=n.options.disableDates(r()),a=n._today;e===t&&(e=s(r(),i.min,i.max)),a&&(a.off(Q),e&&!o?a.addClass(fe).removeClass(le).on(Q,Ee(n._todayClick,n)):a.removeClass(fe).addClass(le).on(Q,f))},_todayClick:function(e){var t=this,n=Re[t.options.depth],i=t.options.disableDates,o=r();e.preventDefault(),i(o)||(0===t._view.compare(t._current,o)&&t._index==n&&(t._changeView=!1),t._isMultipleSelection()&&(t._selectDates=[o],t.selectable._lastActive=null),t._value=o,t.navigate(o,n),t.trigger(oe))},_templates:function(){var e=this,t=e.options,n=t.footer,i=t.month,o=i.content,r=i.weekNumber,a=i.empty,s='#= kendo.toString(data,"D","'+t.culture+'") #';e.month={content:O(''+(o||"#=data.value#")+"",{useWithBlock:!!o}),empty:O(''+(a||" ")+"",{useWithBlock:!!a}),weekNumber:O(''+(r||"#= data.weekNumber #")+"",{useWithBlock:!!r})},n&&n!==!0&&(s=n),e.footer=n!==!1?O(s,{useWithBlock:!1}):null}});z.plugin(Oe),F={firstDayOfMonth:function(e){return h(e.getFullYear(),e.getMonth(),1)},firstVisibleDay:function(e,t){t=t||D.culture().calendar;var n=t.firstDay,i=new Ne(e.getFullYear(),e.getMonth(),1,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());for(i.setFullYear(e.getFullYear());i.getDay()!=n;)F.setTime(i,-1*Te);return i},setTime:function(e,t){var n=e.getTimezoneOffset(),i=new Ne(e.getTime()+t),o=i.getTimezoneOffset()-n;e.setTime(i.getTime()+o*Ce)},views:[{name:ne,title:function(e,t,n,i){return m(i).months.names[e.getMonth()]+" "+e.getFullYear()},content:function(e){var t=this,n=0,o=e.min,a=e.max,s=e.date,d=e.dates,u=e.format,c=e.culture,p=e.url,f=e.showHeader,g=e.otherMonth,v=e.isWeekColumnVisible,_=p&&d[0],y=m(c),w=y.firstDay,k=y.days,x=l(k.names,w),C=l(k.namesShort,w),T=F.firstVisibleDay(s,y),S=t.first(s),I=t.last(s),z=t.toDateString,E=r(),A=e.contentClasses,N='';for(N+=f?'':'',v&&(N+='");n<7;n++)N+='";return R(E,0),E=+E,i({cells:42,perRow:7,html:N+='',start:T,isWeekColumnVisible:v,weekNumber:e.weekNumber,min:h(o.getFullYear(),o.getMonth(),o.getDate()),max:h(a.getFullYear(),a.getMonth(),a.getDate()),otherMonth:g,content:e.content,lastDayOfMonth:I,empty:e.empty,setter:t.setDate,disableDates:e.disableDates,build:function(e,t,n){var i=[],o=e.getDay(),r="",a="#";return(eI)&&i.push(ue),n(e)&&i.push(le),+e===E&&i.push("k-today"),0!==o&&6!==o||i.push("k-weekend"),_&&b(+e,d)&&(a=p.replace("{0}",D.toString(e,u,c)),r=" k-action-link"),{date:e,dates:d,ns:D.ns,title:D.toString(e,"D",c),value:e.getDate(),dateString:z(e),cssClass:i[0]?' class="'+i.join(" ")+'"':"",linkClass:r,url:a}},weekNumberBuild:function(e){return{weekNumber:H(e,D.culture().calendar.firstDay),currentDate:e}}})},first:function(e){return F.firstDayOfMonth(e)},last:function(e){var t=h(e.getFullYear(),e.getMonth()+1,0),n=F.firstDayOfMonth(e),i=Math.abs(t.getTimezoneOffset()-n.getTimezoneOffset());return i&&t.setHours(n.getHours()+i/60),t},compare:function(e,t){var n,i=e.getMonth(),o=e.getFullYear(),r=t.getMonth(),a=t.getFullYear();return n=o>a?1:or?1:-1},setDate:function(e,t){var n=e.getHours();t instanceof Ne?e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()):F.setTime(e,t*Te),R(e,n)},toDateString:function(e){return e.getFullYear()+"/"+e.getMonth()+"/"+e.getDate()}},{name:"year",title:function(e){return e.getFullYear()},content:function(e){var t=m(e.culture).months.namesAbbr,n=this.toDateString,o=e.min,r=e.max,a="";return e.showHeader&&(a+='
    '+this.title(s,o,a,c)+'
    '+e.messages.weekColumnHeader+"'+C[n]+"
    '),i({min:h(o.getFullYear(),o.getMonth(),1),max:h(r.getFullYear(),r.getMonth(),1),start:h(e.date.getFullYear(),0,1),html:a,setter:this.setDate,build:function(e){return{value:t[e.getMonth()],ns:D.ns,dateString:n(e),cssClass:""}}})},first:function(e){return h(e.getFullYear(),0,e.getDate())},last:function(e){return h(e.getFullYear(),11,e.getDate())},compare:function(e,t){return o(e,t)},setDate:function(e,t){var n,i=e.getHours();t instanceof Ne?(n=t.getMonth(),e.setFullYear(t.getFullYear(),n,e.getDate()),n!==e.getMonth()&&e.setDate(0)):(n=e.getMonth()+t,e.setMonth(n),n>11&&(n-=12),n>0&&e.getMonth()!=n&&e.setDate(0)),R(e,i)},toDateString:function(e){return e.getFullYear()+"/"+e.getMonth()+"/1"}},{name:"decade",title:function(e,t,i){return n(e,t,i,10)},content:function(e){var t=e.date.getFullYear(),n=this.toDateString,o="";return e.showHeader&&(o+='
    ',a+=this.title(e.date),a+='
    '),i({start:h(t-t%10-1,0,1),min:h(e.min.getFullYear(),0,1),max:h(e.max.getFullYear(),0,1),otherMonth:e.otherMonth,html:o,setter:this.setDate,build:function(e,t){return{value:e.getFullYear(),ns:D.ns,dateString:n(e),cssClass:0===t||11==t?ce:""}}})},first:function(e){var t=e.getFullYear();return h(t-t%10,e.getMonth(),e.getDate())},last:function(e){var t=e.getFullYear();return h(t-t%10+9,e.getMonth(),e.getDate())},compare:function(e,t){return o(e,t,10)},setDate:function(e,t){d(e,t,1)},toDateString:function(e){return e.getFullYear()+"/0/1"}},{name:ie,title:function(e,t,i){return n(e,t,i,100)},content:function(e){var t=e.date.getFullYear(),n=e.min.getFullYear(),o=e.max.getFullYear(),r=this.toDateString,a=n,s=o,l="";return a-=a%10,s-=s%10,s-a<10&&(s=a+9),e.showHeader&&(l+='
    ',o+=this.title(e.date,e.min,e.max),o+='
    '),i({start:h(t-t%100-10,0,1),min:h(a,0,1),max:h(s,0,1),otherMonth:e.otherMonth,html:l,setter:this.setDate,build:function(e,t){var i=e.getFullYear(),a=i+9;return io&&(a=o),{ns:D.ns,value:i+" - "+a,dateString:r(e),cssClass:0===t||11==t?ce:""}}})},first:function(e){var t=e.getFullYear();return h(t-t%100,e.getMonth(),e.getDate())},last:function(e){var t=e.getFullYear();return h(t-t%100+99,e.getMonth(),e.getDate())},compare:function(e,t){return o(e,t,100)},setDate:function(e,t){d(e,t,10)},toDateString:function(e){var t=e.getFullYear();return t-t%10+"/0/1"}}]},F.isEqualDatePart=y,F.isEqualDate=T,F.makeUnselectable=v,F.restrictValue=a,F.isInRange=s,F.addClassToViewContainer=_,F.normalize=g,F.viewsEnum=Re,F.disabled=k,F.toDateObject=S,F.getToday=r,F.createDate=h,D.calendar=F}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.dateinput.min",["kendo.core.min"],e)}(function(){return function(e,t){function n(e,t,n,i){var o,r,a,s,l=e[i+e.length-n.length];if(e=e.substring(0,i+e.length-n.length),n=n.substring(0,i),o=[],e===n&&i>0)return o.push([t[i-1],n[i-1]]),o;if(0===e.indexOf(n)&&(0===n.length||t[n.length-1]!==t[n.length])){for(a="",r=n.length;r=0&&(a=t[r],o.push([a,""]));return o}if(" "===n[n.length-1]||n[n.length-1]===l)return[[t[i-1]," "]];if(0===n.indexOf(e)||y.indexOf(t[i-1])===-1){for(s=t[0],r=Math.max(0,e.length-1);r=0){s=t[r];break}return[[s,n[i-1]]]}return[[t[i-1],n[i-1]]]}var i,o=window,r=o.kendo,a=r.caret,s=r.ui,l=s.Widget,d=r.keys,u=".kendoDateInput",c=e.proxy,p={}.toString,f=(r.support.propertyChangeEvent?"propertychange.kendoDateInput input":"input")+u,h="k-state-disabled",m="k-state-default",g="k-state-invalid",v="disabled",_="readonly",b="change",y="dMyHhmftsz",w=l.extend({init:function(t,n){var i,o,a=this;l.fn.init.call(a,t,n),t=a.element,n=a.options,n.format=r._extractFormat(n.format||r.getCulture(n.culture).calendars.standard.patterns.d),n.min=r.parseDate(t.attr("min"))||r.parseDate(n.min),n.max=r.parseDate(t.attr("max"))||r.parseDate(n.max),i=(t.parent().attr("class")||"").indexOf("k-picker-wrap")>=0,i?a.wrapper=t.parent():(a.wrapper=t.wrap("").parent(),a.wrapper.addClass(t[0].className).removeClass("input-validation-error"),a.wrapper[0].style.cssText=t[0].style.cssText,t.css({width:"100%",height:t[0].style.height})),a._inputWrapper=e(a.wrapper[0]),e("").insertAfter(t),a._form(),a.element.addClass(i?" ":"k-textbox").attr("autocomplete","off").on("focusout"+u,function(){a._change()});try{t[0].setAttribute("type","text")}catch(s){t[0].type="text"}o=t.is("[disabled]")||e(a.element).parents("fieldset").is(":disabled"),o?a.enable(!1):a.readonly(t.is("[readonly]")),a.value(a.options.value||t.val()),r.notify(a)},options:{name:"DateInput",culture:"",value:"",format:"",min:new Date(1900,0,1),max:new Date(2099,11,31),messages:{year:"year",month:"month",day:"day",weekday:"day of the week",hour:"hours",minute:"minutes",second:"seconds",dayperiod:"AM/PM"}},events:[b],min:function(e){return e===t?this.options.min:(this.options.min=e,t)},max:function(e){return e===t?this.options.max:(this.options.max=e,t)},setOptions:function(e){var t=this;l.fn.setOptions.call(t,e),this._unbindInput(),this._bindInput(),this._updateElementValue()},destroy:function(){var e=this;e.element.off(u),e._formElement&&e._formElement.off("reset",e._resetHandler),l.fn.destroy.call(e)},value:function(e){return e===t?this._dateTime.getDateObject():(null===e&&(e=""),"[object Date]"!==p.call(e)&&(e=r.parseDate(e,this.options.format,this.options.culture)),e&&!e.getTime()&&(e=null),this._dateTime=new i(e,this.options.format,this.options.culture,this.options.messages),this._updateElementValue(),this._oldValue=e,t)},_updateElementValue:function(){var e=this._dateTime.toPair(this.options.format,this.options.culture,this.options.messages);this.element.val(e[0]),this._oldText=e[0],this._format=e[1]},readonly:function(e){this._editable({readonly:e===t||e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t||e)})},_bindInput:function(){var e=this;e.element.on("focusout"+u,function(){e._change()}).on("paste"+u,c(e._paste,e)).on("keydown"+u,c(e._keydown,e)).on(f,c(e._input,e)).on("mouseup"+u,c(e._mouseUp,e)).on("DOMMouseScroll"+u+" mousewheel"+u,c(e._scroll,e))},_unbindInput:function(){this.element.off("keydown"+u).off("paste"+u).off("focusout"+u).off(f).off("mouseup"+u).off("DOMMouseScroll"+u+" mousewheel"+u)},_editable:function(e){var t=this,n=t.element,i=e.disable,o=e.readonly,r=t.wrapper;t._unbindInput(),o||i?(i&&(r.addClass(h).removeClass(m),n.attr(v,i),n&&n.length&&n[0].removeAttribute(_)),o&&n.attr(_,o)):(r.addClass(m).removeClass(h),n&&n.length&&(n[0].removeAttribute(v),n[0].removeAttribute(_)),t._bindInput())},_change:function(){var e=this,t=e._oldValue,n=e.value();n&&e.min()&&ne.max()&&(e.value(e.max()),n=e.value()),(t&&n&&n.getTime()!==t.getTime()||t&&!n||!t&&n)&&(e._oldValue=n,e.trigger(b),e.element.trigger(b))},_input:function(){var e,t,i,o,s,l,d,u=this,c=u.element[0],p=!1;if(r._activeElement()===c){if(e=n(this._oldText,this._format,this.element[0].value,a(this.element[0])[0]),t=1===e.length&&" "===e[0][1],!t)for(i=0;i0?37:39:(e.wheelDelta||-e.detail)>0?38:40,this._keydown(t),e.returnValue=!1,e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation()}},_form:function(){var t=this,n=t.element,i=n.attr("form"),o=i?e("#"+i):n.closest("form"),r=n[0].value;!r&&t.options.value&&(r=t.options.value),o[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(r)})},t._formElement=o.on("reset",t._resetHandler))},_paste:function(e){e.preventDefault()},_keydown:function(e){var t,n,i,o,s,l,u,c=e.keyCode;if(37==c||39==c)for(e.preventDefault(),t=a(this.element[0]),t[0]!=t[1]&&this._selectNearestSegment(),n=37==c?-1:1,i=n==-1?a(this.element[0])[0]-1:a(this.element[0])[1]+1;i>=0&&i=0){this._selectSegment(this._format[i]);break}i+=n}38!=c&&40!=c||(e.preventDefault(),t=a(this.element[0]),o=this._format[t[0]],y.indexOf(o)>=0&&(s=1,"m"==o&&(s=this.options.interval||1),this._dateTime.modifyPart(o,38==c?1*s:s*-1),this._updateElementValue(),this._selectSegment(o),this.element.trigger(b))),r.support.browser.msie&&r.support.browser.version<10&&(l=e.keyCode?e.keyCode:e.which,8!==l&&46!==l||(u=this,setTimeout(function(){u._input()},0))),c===d.ENTER&&this._change()},_selectNearestSegment:function(){var e,n,i=a(this.element[0]),o=i[0];for(e=o,n=o-1;e=0;e++,n--){if(e=0&&y.indexOf(this._format[n])!==-1)return this._selectSegment(this._format[n]),t}},_selectSegment:function(e){var t,n=-1,i=0;for(t=0;t99&&(o=Math.floor(o/10)),o=_?a(o):e;break;case"fff":o=_?a(c.getMilliseconds(),3):e;break;case"tt":o=m?c.getHours()<12?T.AM[0]:T.PM[0]:w.dayperiod;break;case"zzz":n=c.getTimezoneOffset(),i=n<0,o=(""+Math.abs(n/60)).split(".")[0],n=Math.abs(n)-60*o,o=(i?"+":"-")+a(o),o+=":"+a(n);break;case"z":case"zz":o=c.getTimezoneOffset()/60,i=o<0,o=(""+Math.abs(o)).split(".")[0],o=(i?"+":"-")+("zz"===e?a(o):o)}if(o=o!==t?o:e.slice(1,e.length-1),F){for(o=""+o,r="","ddd"==e&&(e="EEE"),"dddd"==e&&(e="EEEE"),s=0;s0&&(l(e,!0),c=i)},this.parsePart=function(e,t){var n,i,o,r,a,s,d,u,_;if(!t)return l(e,!1),!0;switch(n=new Date(c&&c.getTime?c.getTime():c),e){case"d":if(o=(h?10*n.getDate():0)+parseInt(t,10),isNaN(o))return;for(;o>31;)o=parseInt((""+o).slice(1),10);if(o<1)h=!1;else{if(n.setDate(o),n.getMonth()!==c.getMonth())return;h=!0}break;case"M":if(r=(f?10*(n.getMonth()+1):0)+parseInt(t,10),isNaN(r)){for(a=T.months.names,b+=t.toLowerCase();b.length>0;){for(s=0;s12;)r=parseInt((""+r).slice(1),10);r<1?f=!1:(n.setMonth(r-1),n.getMonth()!==r-1&&(n.setDate(1),n.setMonth(r-1)),f=!0);break;case"y":if(d=(p?10*n.getFullYear():0)+parseInt(t,10),isNaN(d))return;for(;d>9999;)d=parseInt((""+d).slice(1),10);d<1?p=!1:(n.setFullYear(d),p=!0);break;case"h":if(i=(m?10*(n.getHours()%12||12):0)+parseInt(t,10),isNaN(i))return;for(;i>12;)i=parseInt((""+i).slice(1),10);n.setHours(12*Math.floor(n.getHours()/12)+i%12),m=!0;break;case"H":if(i=(m?10*n.getHours():0)+parseInt(t,10),isNaN(i))return;for(;i>23;)i=parseInt((""+i).slice(1),10);n.setHours(i),m=!0;break;case"m":if(u=(g?10*n.getMinutes():0)+parseInt(t,10),isNaN(u))return;for(;u>59;)u=parseInt((""+u).slice(1),10);n.setMinutes(u),g=!0;break;case"s":if(_=(v?10*n.getSeconds():0)+parseInt(t,10),isNaN(_))return;for(;_>59;)_=parseInt((""+_).slice(1),10);n.setSeconds(_),v=!0;break;case"t":if(m){for(y+=t.toLowerCase();y.length>0;){if(0===T.AM[0].toLowerCase().indexOf(y)&&n.getHours()>=12||0===T.PM[0].toLowerCase().indexOf(y)&&n.getHours()<12)return n.setHours((n.getHours()+12)%24),c=n,!0;y=y.substring(1,y.length)}return!1}}return c=n,!0},this.toPair=function(e,t,n){return e?(t=r.getCulture(t),T=t.calendars.standard,e=T.patterns[e]||e,S=T.days,C=T.months,w=n,[e.replace(x,s(!1)),e.replace(x,s(!0))]):["",""]},this.getDateObject=function(){return p&&f&&h&&m&&g&&v&&_?new Date(c.getTime()):null},e)c=new Date(e.getTime());else for(c=new Date,d=this.toPair(n,i,o)[1],u=0;u",h="",m=".kendoDatePicker",g="click"+m,v=u.mouseAndTouchPresent?r.applyEventMap("up",m.slice(1)):g,_="open",b="close",y="change",w="disabled",k="readonly",x="k-state-default",C="k-state-focused",T="k-state-selected",S="k-state-disabled",F="k-state-hover",D="mouseenter"+m+" mouseleave"+m,I="mousedown"+m,z="id",E="min",A="max",N="month",R="aria-disabled",H="aria-expanded",P="aria-hidden",M=r.calendar,O=M.isInRange,B=M.restrictValue,L=M.isEqualDatePart,V=e.extend,U=e.proxy,W=Date,j=function(t){var n,i=this,o=document.body,s=e(f).attr(P,"true").addClass("k-calendar-container");i.options=t=t||{},n=t.id,t.omitPopup?s=t.dateDiv:(s.appendTo(o),i.popup=new a.Popup(s,V(t.popup,t,{name:"Popup",isRtl:r.support.isRtl(t.anchor)}))),n&&(n+="_dateview",s.attr(z,n),i._dateViewID=n),i.div=s,i.value(t.value)};j.prototype={_calendar:function(){var t,n=this,o=n.calendar,s=n.options;o||(t=e(f).attr(z,r.guid()).appendTo(s.omitPopup?s.dateDiv:n.popup.element).on(I,i).on(g,"td:has(.k-link)",U(n._click,n)),n.calendar=o=new a.Calendar(t,{componentType:s.componentType}),n._setOptions(s),r.calendar.makeUnselectable(o.element),o.navigate(n._value||n._current,s.start),n.value(n._value))},_setOptions:function(e){this.calendar.setOptions({focusOnNav:!1,change:e.change,culture:e.culture,dates:e.dates,depth:e.depth,footer:e.footer,format:e.format,max:e.max,min:e.min,month:e.month,weekNumber:e.weekNumber,start:e.start,disableDates:e.disableDates})},setOptions:function(e){var t=this.options,n=e.disableDates;n&&(e.disableDates=M.disabled(n)),this.options=V(t,e,{change:t.change,close:t.close,open:t.open}),this.calendar&&this._setOptions(this.options)},destroy:function(){this.popup&&this.popup.destroy()},open:function(){var e,t=this;t._calendar(),e=t.popup._hovered,t.popup._hovered=!0,t.popup.open(),setTimeout(function(){t.popup._hovered=e},1)},close:function(){this.popup.close()},min:function(e){this._option(E,e)},max:function(e){this._option(A,e)},toggle:function(){var e=this;e[e.popup.visible()?b:_]()},move:function(e){var t=this,n=e.keyCode,i=t.calendar,o=e.ctrlKey&&n==d.DOWN||n==d.ENTER,r=!1;if(e.altKey)n==d.DOWN?(t.open(),e.preventDefault(),r=!0):n==d.UP&&(t.close(),e.preventDefault(),r=!0);else if(t.popup&&t.popup.visible()){if(n==d.ESC||o&&i._cell.hasClass(T))return t.close(),e.preventDefault(),!0;n!=d.SPACEBAR&&(t._current=i._move(e)),r=!0}return r},current:function(e){this._current=e,this.calendar&&this.calendar._focus(e)},value:function(e){var t=this,n=t.calendar,i=t.options,o=i.disableDates;o&&o(e)&&(e=null),t._value=e,t._current=new W((+B(e,i.min,i.max))),n&&n.value(e)},_click:function(e){e.currentTarget.className.indexOf(T)!==-1&&(this.calendar.trigger("change"),this.close())},_option:function(e,t){var n=this,i=n.calendar;n.options[e]=t,i&&i[e](t)}},j.normalize=n,r.DateView=j,o=s.extend({init:function(t,i){var o,a,d=this;s.fn.init.call(d,t,i),t=d.element,i=d.options,i.disableDates=r.calendar.disabled(i.disableDates),i.min=l(t.attr("min"))||l(i.min),i.max=l(t.attr("max"))||l(i.max),n(i),d._initialOptions=V({},i),d._wrapper(),d.dateView=new j(V({},i,{id:t.attr(z),anchor:d.wrapper,change:function(){d._change(this.value()),d.close()},close:function(e){d.trigger(b)?e.preventDefault():(t.attr(H,!1),a.attr(P,!0))},open:function(e){var n,i=d.options;d.trigger(_)?e.preventDefault():(d.element.val()!==d._oldText&&(n=l(t.val(),i.parseFormats,i.culture),d.dateView[n?"current":"value"](n)),t.attr(H,!0),a.attr(P,!1),d._updateARIA(n))}})),a=d.dateView.div,d._icon();try{t[0].setAttribute("type","text")}catch(u){t[0].type="text"}t.addClass("k-input").attr({role:"combobox","aria-expanded":!1,"aria-owns":d.dateView._dateViewID,autocomplete:"off"}),d._reset(),d._template(),o=t.is("[disabled]")||e(d.element).parents("fieldset").is(":disabled"),o?d.enable(!1):d.readonly(t.is("[readonly]")),d._createDateInput(i),d._old=d._update(i.value||d.element.val()),d._oldText=t.val(),r.notify(d)},events:[_,b,y],options:{name:"DatePicker",value:null,footer:"",format:"",culture:"",parseFormats:[],min:new Date(1900,0,1),max:new Date(2099,11,31),start:N,depth:N,animation:{},month:{},dates:[],disableDates:null,ARIATemplate:'Current focused date is #=kendo.toString(data.current, "D")#',dateInput:!1,weekNumber:!1},setOptions:function(e){var t=this,i=t._value;s.fn.setOptions.call(t,e),e=t.options,e.min=l(e.min),e.max=l(e.max),n(e),t.dateView.setOptions(e),t._createDateInput(e),t._dateInput||t.element.val(r.toString(i,e.format,e.culture)),i&&t._updateARIA(i)},_editable:function(e){var t=this,n=t._dateIcon.off(m),o=t.element.off(m),r=t._inputWrapper.off(m),a=e.readonly,s=e.disable;a||s?(r.addClass(s?S:x).removeClass(s?x:S),o.attr(w,s).attr(k,a).attr(R,s)):(r.addClass(x).removeClass(S).on(D,t._toggleHover),o&&o.length&&(o[0].removeAttribute(w),o[0].removeAttribute(k)),o.attr(R,!1).on("keydown"+m,U(t._keydown,t)).on("focusout"+m,U(t._blur,t)).on("focus"+m,function(){t._inputWrapper.addClass(C)}),n.on(v,U(t._click,t)).on(I,i))},readonly:function(e){this._editable({readonly:e===t||e,disable:!1}),this._dateInput&&this._dateInput._editable({readonly:e===t||e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t||e)}),this._dateInput&&this._dateInput._editable({readonly:!1,disable:!(e=e===t||e)})},destroy:function(){var e=this;s.fn.destroy.call(e),e.dateView.destroy(),e.element.off(m),e._dateIcon.off(m),e._inputWrapper.off(m),e._form&&e._form.off("reset",e._resetHandler)},open:function(){this.dateView.open()},close:function(){this.dateView.close()},min:function(e){return this._option(E,e)},max:function(e){return this._option(A,e)},value:function(e){var n=this;return e===t?n._value:(n._old=n._update(e),null===n._old&&n.element.val(""),n._oldText=n.element.val(),t)},_toggleHover:function(t){e(t.currentTarget).toggleClass(F,"mouseenter"===t.type)},_blur:function(){var e=this,t=e.element.val();e.close(),t!==e._oldText&&(e._change(t),t||e.dateView.current(r.calendar.getToday())),e._inputWrapper.removeClass(C)},_click:function(e){var t=this;t.dateView.toggle(),t._focusElement(e.type)},_focusElement:function(e){var t=this.element;u.touch&&(!u.mouseAndTouchPresent||(e||"").match(/touch/i))||t[0]===p()||t.trigger("focus")},_change:function(e){var t,n,i,o=this,a=o.element.val();e=o._update(e),t=!r.calendar.isEqualDate(o._old,e),n=t&&!o._typing,i=a!==o.element.val(),(n||i)&&o.element.trigger(y),t&&(o._old=e,o._oldText=o.element.val(),o.trigger(y)),o._typing=!1},_keydown:function(e){var t=this,n=t.dateView,i=t.element.val(),o=!1;n.popup.visible()||e.keyCode!=d.ENTER||i===t._oldText?(o=n.move(e),t._updateARIA(n._current),o?t._dateInput&&e.stopImmediatePropagation&&e.stopImmediatePropagation():t._typing=!0):t._change(i)},_icon:function(){var t,n=this,i=n.element;t=i.next("span.k-select"),t[0]||(t=e('').insertAfter(i)),n._dateIcon=t.attr({role:"button","aria-controls":n.dateView._dateViewID})},_option:function(e,n){var i=this,o=i.options;return n===t?o[e]:(n=l(n,o.parseFormats,o.culture),n&&(o[e]=new W((+n)),i.dateView[e](n)),t)},_update:function(e){var t,n=this,i=n.options,o=i.min,a=i.max,s=n._value,d=l(e,i.parseFormats,i.culture),u=null===d&&null===s||d instanceof Date&&s instanceof Date;return i.disableDates(d)&&(d=null,n._old||n.element.val()||(e=null)),+d===+s&&u?(t=r.toString(d,i.format,i.culture),t!==e&&n.element.val(null===d?e:t),d):(null!==d&&L(d,o)?d=B(d,o,a):O(d,o,a)||(d=null),n._value=d,n.dateView.value(d),n._dateInput&&d?n._dateInput.value(d||e):n.element.val(r.toString(d||e,i.format,i.culture)),n._updateARIA(d),d)},_wrapper:function(){var t,n=this,i=n.element;t=i.parents(".k-datepicker"),t[0]||(t=i.wrap(h).parent().addClass("k-picker-wrap k-state-default"),t=t.wrap(h).parent()),t[0].style.cssText=i[0].style.cssText,i.css({width:"100%",height:i[0].style.height}),n.wrapper=t.addClass("k-widget k-datepicker").addClass(i[0].className).removeClass("input-validation-error"),n._inputWrapper=e(t[0].firstChild)},_reset:function(){var t=this,n=t.element,i=n.attr("form"),o=t.options,a=o.disableDates,s=o.parseFormats.length?o.parseFormats:null,l=t._initialOptions.value,d=i?e("#"+i):n.closest("form"),u=n[0].defaultValue;l&&a&&a(l)&&(l=null),u&&r.parseDate(u,s,o.culture)||!l||n.attr("value",r.toString(l,o.format,o.culture)),d[0]&&(t._resetHandler=function(){t.value(l||n[0].defaultValue),t.max(t._initialOptions.max),t.min(t._initialOptions.min)},t._form=d.on("reset",t._resetHandler))},_template:function(){this._ariaTemplate=c(this.options.ARIATemplate)},_createDateInput:function(e){this._dateInput&&(this._dateInput.destroy(),this._dateInput=null),e.dateInput&&(this._dateInput=new a.DateInput(this.element,{culture:e.culture,format:e.format,min:e.min,max:e.max}))},_updateARIA:function(e){var t,n=this,i=n.dateView.calendar;n.element&&n.element.length&&n.element[0].removeAttribute("aria-activedescendant"),i&&(t=i._cell,t.attr("aria-label",n._ariaTemplate({current:e||i.current()})),n.element.attr("aria-activedescendant",t.attr("id")))}}),a.plugin(o)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.floatinglabel.min",["kendo.core.min"],e)}(function(){return function(e,t){var n=window.kendo,i=n.ui.Widget,o=n.ui,r=".kendoFloatingLabel",a="k-floating-label-container",s="k-state-empty",l="k-state-focused",d="k-state-disabled",u="k-no-click",c=e.proxy,p=i.extend({init:function(o,r){var s=this;i.fn.init.call(s,o,r),r=e.extend(!0,{},r),s.refresh(),s._editable({readonly:s.options.widget.options.readonly!==t&&s.options.widget.options.readonly,disable:s.options.widget.options.enable!==t&&!s.options.widget.options.enable}),s.element.addClass(a),n.notify(s)},options:{name:"FloatingLabel",widget:null},readonly:function(e){this._editable({readonly:e===t||e,disable:!1})},enable:function(e){this._editable({readonly:!1,disable:!(e=e===t||e)})},refresh:function(){var e=this,t=e.element;t.removeClass(s).removeClass(l),e.options.widget.element.val()||t.addClass(s),document.activeElement===e.options.widget.element[0]&&t.addClass(l)},destroy:function(){var e=this;e.element.off(r),i.fn.destroy.call(e)},_editable:function(e){var t=this,n=t.element,i=e.disable,o=e.readonly;n.off(r),o||i?n.toggleClass(d,i).toggleClass(u,o):(n.removeClass(d).removeClass(u),n.on("focusin"+r,c(t.refresh,t)),n.on("focusout"+r,c(t.refresh,t)))}});o.plugin(p)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.numerictextbox.min",["kendo.core.min","kendo.userevents.min","kendo.floatinglabel.min"],e)}(function(){return function(e,t){function n(e,t){var n="k-i-arrow-"+("increase"===e?"60-up":"60-down");return''}function i(e,t){var n=(""+parseFloat(e,10)).split(F);return n[1]&&(n[1]=n[1].substring(0,t)),n.join(F)}var o=window.kendo,r=o.caret,a=o.keys,s=o.ui,l=s.Widget,d=o._activeElement,u=o._extractFormat,c=o.parseFloat,p=o.support.placeholder,f=o.getCulture,h="change",m="disabled",g="readonly",v="k-input",_="spin",b=".kendoNumericTextBox",y="touchend",w="mouseleave"+b,k="mouseenter"+b+" "+w,x="k-state-default",C="k-state-focused",T="k-state-hover",S="focus",F=".",D="k-icon",I="k-label k-input-label",z="k-state-selected",E="k-state-disabled",A="k-state-invalid",N="aria-disabled",R=/^(-)?(\d*)$/,H=null,P=e.proxy,M=e.isPlainObject,O=e.extend,B=l.extend({init:function(n,i){var r,a,s,d,c,p,f=this,h=i&&i.step!==t;l.fn.init.call(f,n,i),i=f.options,n=f.element.on("focusout"+b,P(f._focusout,f)).attr("role","spinbutton"),i.placeholder=i.placeholder||n.attr("placeholder"),r=f.min(n.attr("min")),a=f.max(n.attr("max")),s=f._parse(n.attr("step")),i.min===H&&r!==H&&(i.min=r),i.max===H&&a!==H&&(i.max=a),h||s===H||(i.step=s),f._initialOptions=O({},i),p=n.attr("type"),f._reset(),f._wrapper(),f._arrows(),f._validation(),f._input(),o.support.mobileOS?f._text.on(y+b+" "+S+b,function(){o.support.browser.edge?f._text.one(S+b,function(){f._toggleText(!1),n.focus()}):(f._toggleText(!1),n.focus())}):f._text.on(S+b,P(f._click,f)),n.attr("aria-valuemin",i.min!==H?i.min*i.factor:i.min).attr("aria-valuemax",i.max!==H?i.max*i.factor:i.max),i.format=u(i.format),d=i.value,d==H&&(d="number"==p?parseFloat(n.val()):n.val()),f.value(d),c=n.is("[disabled]")||e(f.element).parents("fieldset").is(":disabled"),c?f.enable(!1):f.readonly(n.is("[readonly]")),f.angular("compile",function(){return{elements:f._text.get()}}),f._label(),o.notify(f)},options:{name:"NumericTextBox",decimals:H,restrictDecimals:!1,min:H,max:H,value:H,step:1,round:!0,culture:"",format:"n",spinners:!0,placeholder:"",factor:1,upArrowText:"Increase value",downArrowText:"Decrease value",label:null},events:[h,_],_editable:function(e){var t=this,n=t.element,i=e.disable,o=e.readonly,r=t._text.add(n),a=t._inputWrapper.off(k);t._toggleText(!0),t._upArrowEventHandler.unbind("press"),t._downArrowEventHandler.unbind("press"),n.off("keydown"+b).off("keyup"+b).off("input"+b).off("paste"+b),t._inputLabel&&t._inputLabel.off(b),o||i?(a.addClass(i?E:x).removeClass(i?x:E),r.attr(m,i).attr(g,o).attr(N,i)):(a.addClass(x).removeClass(E).on(k,t._toggleHover),r.removeAttr(m).removeAttr(g).attr(N,!1),t._upArrowEventHandler.bind("press",function(e){e.preventDefault(),t._spin(1),t._upArrow.addClass(z)}),t._downArrowEventHandler.bind("press",function(e){e.preventDefault(),t._spin(-1),t._downArrow.addClass(z)}),t.element.on("keydown"+b,P(t._keydown,t)).on("keyup"+b,P(t._keyup,t)).on("paste"+b,P(t._paste,t)).on("input"+b,P(t._inputHandler,t)),t._inputLabel&&t._inputLabel.on("click"+b,P(t.focus,t)))},readonly:function(e){var n=this;this._editable({readonly:e===t||e,disable:!1}),n.floatingLabel&&n.floatingLabel.readonly(e===t||e)},enable:function(e){var n=this;this._editable({readonly:!1,disable:!(e=e===t||e)}),n.floatingLabel&&n.floatingLabel.enable(e=e===t||e)},setOptions:function(e){var n=this;l.fn.setOptions.call(n,e),n._arrowsWrap.toggle(n.options.spinners),n._inputWrapper.toggleClass("k-expand-padding",!n.options.spinners),n._text.prop("placeholder",n.options.placeholder),n._placeholder(n.options.placeholder),n.element.attr({"aria-valuemin":n.options.min!==H?n.options.min*n.options.factor:n.options.min,"aria-valuemax":n.options.max!==H?n.options.max*n.options.factor:n.options.max}),n.options.format=u(n.options.format),e.value!==t&&n.value(e.value)},destroy:function(){var e=this;e._inputLabel&&(e._inputLabel.off(b),e.floatingLabel&&e.floatingLabel.destroy()),e.element.add(e._text).add(e._upArrow).add(e._downArrow).add(e._inputWrapper).off(b),e._upArrowEventHandler.destroy(),e._downArrowEventHandler.destroy(),e._form&&e._form.off("reset",e._resetHandler),l.fn.destroy.call(e)},min:function(e){return this._option("min",e)},max:function(e){return this._option("max",e)},step:function(e){return this._option("step",e)},value:function(e){var n,i=this;return e===t?i._value:(e=i._parse(e),n=i._adjust(e),e===n&&(i._update(e),i._old=i._value),t)},focus:function(){this._focusin()},_adjust:function(e){var t=this,n=t.options,i=n.min,o=n.max;return e===H?e:(i!==H&&eo&&(e=o),e)},_arrows:function(){var t,i=this,r=function(){clearTimeout(i._spinning),t.removeClass(z)},a=i.options,s=a.spinners,l=i.element;t=l.siblings("."+D),t[0]||(t=e(n("increase",a.upArrowText)+n("decrease",a.downArrowText)).insertAfter(l),i._arrowsWrap=t.wrapAll('').parent()),s||(t.parent().toggle(s),i._inputWrapper.addClass("k-expand-padding")),i._upArrow=t.eq(0),i._upArrowEventHandler=new o.UserEvents(i._upArrow,{release:r}),i._downArrow=t.eq(1),i._downArrowEventHandler=new o.UserEvents(i._downArrow,{release:r})},_validation:function(){var t=this,n=t.element;t._validationIcon=e("").hide().insertAfter(n)},_blur:function(){var e=this;e._toggleText(!0),e._change(e.element.val())},_click:function(e){var t=this;clearTimeout(t._focusing),t._focusing=setTimeout(function(){var n,i,o,a=e.target,s=r(a)[0],l=a.value.substring(0,s),d=t._format(t.options.format),u=d[","],c=0;u&&(i=RegExp("\\"+u,"g"),o=RegExp("(^(-)$)|(^(-)?([\\d\\"+u+"]+)(\\"+d[F]+")?(\\d+)?)")),o&&(n=o.exec(l)),n&&(c=n[0].replace(i,"").length,l.indexOf("(")!=-1&&t._value<0&&c++),t._focusin(),r(t.element[0],c)})},_change:function(e){var t=this,n=t.options.factor;n&&1!==n&&(e=o.parseFloat(e),null!==e&&(e/=n)),t._update(e),e=t._value,t._old!=e&&(t._old=e,t._typing||t.element.trigger(h),t.trigger(h)),t._typing=!1},_culture:function(e){return e||f(this.options.culture)},_focusin:function(){var e=this;e._inputWrapper.addClass(C),e._toggleText(!1),e.element[0].focus()},_focusout:function(){var e=this;clearTimeout(e._focusing),e._inputWrapper.removeClass(C).removeClass(T),e._blur(),e._removeInvalidState()},_format:function(e,t){var n=this._culture(t).numberFormat;return e=e.toLowerCase(),e.indexOf("c")>-1?n=n.currency:e.indexOf("p")>-1&&(n=n.percent),n},_input:function(){var t,n=this,i=n.options,o="k-formatted-value",r=n.element.addClass(v).show()[0],a=r.accessKey,s=n.wrapper;t=s.find(F+o),t[0]||(t=e('').insertBefore(r).addClass(o).attr("aria-hidden","true"));try{r.setAttribute("type","text")}catch(l){r.type="text"}t[0].title=r.title,t[0].tabIndex=r.tabIndex,t[0].style.cssText=r.style.cssText,t.prop("placeholder",i.placeholder),a&&(t.attr("accesskey",a),r.accessKey=""),n._text=t.addClass(r.className).attr({role:"spinbutton","aria-valuemin":i.min!==H?i.min*i.factor:i.min,"aria-valuemax":i.max!==H?i.max*i.factor:i.max,autocomplete:"off"})},_keydown:function(e){var n=this,i=e.keyCode;return i===a.NUMPAD_DOT&&(n._numPadDot=!0),i==a.DOWN?(n._step(-1),t):i==a.UP?(n._step(1),t):i==a.ENTER?(n._change(n.element.val()),t):(i!=a.TAB&&(n._typing=!0),n._cachedCaret=r(n.element),t)},_keyup:function(){this._removeInvalidState()},_inputHandler:function(){var e=this.element,t=e.val(),n=this.options.min,i=this._format(this.options.format),o=i[F],a=null!==n&&n>=0&&"-"===t.charAt(0);this._numPadDot&&o!==F&&(t=t.replace(F,o),this.element.val(t),this._numPadDot=!1),this._numericRegex(i).test(t)&&!a?this._oldText=t:(this._blinkInvalidState(),this.element.val(this._oldText),this._cachedCaret&&(r(e,this._cachedCaret[0]),this._cachedCaret=null))},_blinkInvalidState:function(){var e=this;e._addInvalidState(),clearTimeout(e._invalidStateTimeout),e._invalidStateTimeout=setTimeout(P(e._removeInvalidState,e),100)},_addInvalidState:function(){var e=this;e._inputWrapper.addClass(A),e._validationIcon.show()},_removeInvalidState:function(){var e=this;e._inputWrapper.removeClass(A),e._validationIcon.hide(),e._invalidStateTimeout=null},_numericRegex:function(e){var t=this,n=e[F],i=t.options.decimals,o="*";return n===F&&(n="\\"+n),i===H&&(i=e.decimals),0===i&&t.options.restrictDecimals?R:(t.options.restrictDecimals&&(o="{0,"+i+"}"),t._separator!==n&&(t._separator=n,t._floatRegExp=RegExp("^(-)?(((\\d+("+n+"\\d"+o+")?)|("+n+"\\d"+o+")))?$")),t._floatRegExp)},_paste:function(e){var t=this,n=e.target,i=n.value,o=t._format(t.options.format);setTimeout(function(){var e=t._parse(n.value);e===H?t._update(i):(n.value=(""+e).replace(F,o[F]),t._adjust(e)===e&&t._numericRegex(o).test(n.value)||t._update(i))})},_option:function(e,n){var i=this,o=i.element,r=i.options;return n===t?r[e]:(n=i._parse(n),(n||"step"!==e)&&(r[e]=n,o.add(i._text).attr("aria-value"+e,n),o.attr(e,n)),t)},_spin:function(e,t){var n=this;t=t||500,clearTimeout(n._spinning),n._spinning=setTimeout(function(){n._spin(e,50)},t),n._step(e)},_step:function(e){var t=this,n=t.element,i=t._value,o=t._parse(n.val())||0,r=t.options.decimals||2;d()!=n[0]&&t._focusin(),t.options.factor&&o&&(o/=t.options.factor),o=+(o+t.options.step*e).toFixed(r),o=t._adjust(o),t._update(o),t._typing=!1,i!==o&&t.trigger(_)},_toggleHover:function(t){e(t.currentTarget).toggleClass(T,"mouseenter"===t.type)},_toggleText:function(e){var t=this;t._text.toggle(e),t.element.toggle(!e)},_parse:function(e,t){return c(e,this._culture(t),this.options.format)},_round:function(e,t){var n=this.options.round?o._round:i;return n(e,t)},_update:function(e){var t,n=this,i=n.options,r=i.factor,a=i.format,s=i.decimals,l=n._culture(),d=n._format(a,l);s===H&&(s=d.decimals),e=n._parse(e,l),t=e!==H,t&&(e=parseFloat(n._round(e,s),10)),n._value=e=n._adjust(e),n._placeholder(o.toString(e,a,l)),t?(r&&(e=parseFloat(n._round(e*r,s),10)),e=""+e,e.indexOf("e")!==-1&&(e=n._round(+e,s)),e=e.replace(F,d[F])):e=null,n.element.val(e),n._oldText=e,n.element.add(n._text).attr("aria-valuenow",e)},_placeholder:function(e){var t=this._text;t.val(e),p||e||t.val(this.options.placeholder),t.attr("title",this.element.attr("title")||t.val())},_label:function(){var n,i,r=this,a=r.element,s=r.options,l=a.attr("id");null!==s.label&&(n=!!M(s.label)&&s.label.floating,i=M(s.label)?s.label.content:s.label,n&&(r._floatingLabelContainer=r.wrapper.wrap("").parent(),r.floatingLabel=new o.ui.FloatingLabel(r._floatingLabelContainer,{widget:r})),o.isFunction(i)&&(i=i.call(r)),i||(i=""),l||(l=s.name+"_"+o.guid(),a.attr("id",l)),r._inputLabel=e("'").insertBefore(r.wrapper),r.element.attr("disabled")===t&&r.element.attr("readonly")===t&&r._inputLabel.on("click"+b,P(r.focus,r)))},_wrapper:function(){var t,n=this,i=n.element,o=i[0];t=i.parents(".k-numerictextbox"),t.is("span.k-numerictextbox")||(t=i.hide().wrap('').parent(),t=t.wrap("").parent()),t[0].style.cssText=o.style.cssText,o.style.width="",n.wrapper=t.addClass("k-widget k-numerictextbox").addClass(o.className).removeClass("input-validation-error").css("display",""),n._inputWrapper=e(t[0].firstChild)},_reset:function(){var t=this,n=t.element,i=n.attr("form"),o=i?e("#"+i):n.closest("form");o[0]&&(t._resetHandler=function(){setTimeout(function(){t.value(n[0].value),t.max(t._initialOptions.max),t.min(t._initialOptions.min)})},t._form=o.on("reset",t._resetHandler))}});s.plugin(B)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.validator.min",["kendo.core.min"],e)}(function(){return function(e,t){function n(t){var n,i=d.ui.validator.ruleResolvers||{},o={};for(n in i)e.extend(!0,o,i[n].resolve(t));return o}function i(e){return e.replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function o(e){return e=(e+"").split("."),e.length>1?e[1].length:0}function r(t){return e(e.parseHTML?e.parseHTML(t):t)}function a(t,n){var i,o,r,a,s=e();for(r=0,a=t.length;r#for(var i = 0; i < errors.length; i += 1){#
  • #= errors[i].message #
  • # } #',l=u.extend({init:function(t,i){var o=this,r=n(t),a="["+d.attr("validate")+"!=false]";i=i||{},i.rules=e.extend({},d.ui.validator.rules,r.rules,i.rules),i.messages=e.extend({},d.ui.validator.messages,r.messages,i.messages),u.fn.init.call(o,t,i),o._errorTemplate=d.template(o.options.errorTemplate),o._summaryTemplate=d.template(o.options.validationSummary.template||s),o.element.is(D)&&o.element.attr(I,I),o._inputSelector=x+a,o._checkboxSelector=C+a,o._errors={},o._attachEvents(),o._isValidated=!1,o._validateOnInit()&&o.validate()},events:[z,E,A],options:{name:"Validator",errorTemplate:'#= message #',messages:{required:"{0} is required",pattern:"{0} is not valid",min:"{0} should be greater than or equal to {1}",max:"{0} should be smaller than or equal to {1}",step:"{0} is not valid",email:"{0} is not valid email",url:"{0} is not valid URL",date:"{0} is not valid date",dateCompare:"End date should be greater than or equal to the start date"},rules:{required:function(e){var t=e.filter("[type=checkbox]").length&&!e.is(":checked"),n=e.val();return!(P(e,"required")&&(!n||""===n||0===n.length||t))},pattern:function(e){return!e.filter("[type=text],[type=email],[type=url],[type=tel],[type=search],[type=password]").filter("[pattern]").length||""===e.val()||R(e.val(),e.attr("pattern"))},min:function(e){if(e.filter(T+",["+d.attr("type")+"=number]").filter("[min]").length&&""!==e.val()){var t=parseFloat(e.attr("min"))||0,n=d.parseFloat(e.val());return t<=n}return!0},max:function(e){if(e.filter(T+",["+d.attr("type")+"=number]").filter("[max]").length&&""!==e.val()){var t=parseFloat(e.attr("max"))||0,n=d.parseFloat(e.val());return t>=n}return!0},step:function(e){if(e.filter(T+",["+d.attr("type")+"=number]").filter("[step]").length&&""!==e.val()){var t,n=parseFloat(e.attr("min"))||0,i=parseFloat(e.attr("step"))||1,r=parseFloat(e.val()),a=o(i);return a?(t=Math.pow(10,a),Math.floor((r-n)*t)%(i*t)/Math.pow(100,a)===0):(r-n)%i===0}return!0},email:function(e){return H(e,"[type=email],["+d.attr("type")+"=email]",w)},url:function(e){return H(e,"[type=url],["+d.attr("type")+"=url]",k)},date:function(e){return!e.filter("[type^=date],["+d.attr("type")+"=date]").length||""===e.val()||null!==d.parseDate(e.val(),e.attr(d.attr("format")))}},validateOnBlur:!0,validationSummary:!1},_allowSubmit:function(){return d.ui.validator.allowSubmit(this.element,this.errors())},_validateOnInit:function(){return d.ui.validator.validateOnInit(this.element)},destroy:function(){ -u.fn.destroy.call(this),this.element.off(c),this.validationSummary&&(this.validationSummary.off(c),this.validationSummary=null)},value:function(){return!!this._isValidated&&0===this.errors().length},_submit:function(e){return!(!this.validate()&&!this._allowSubmit())||(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault(),!1)},_checkElement:function(e){var t=this.value();this.validateInput(e),this.value()!==t&&this.trigger(E)},_attachEvents:function(){var t=this;t.element.is(D)&&t.element.on("submit"+c,N(t._submit,t)),t.options.validateOnBlur&&(t.element.is(x)?(t.element.on(S+c,function(){t._checkElement(t.element)}),t.element.is(C)&&t.element.on("click"+c,function(){t._checkElement(t.element)})):(t.element.on(S+c,t._inputSelector,function(){t._checkElement(e(this))}),t.element.on("click"+c,t._checkboxSelector,function(){t._checkElement(e(this))})))},validate:function(){var e,t,n,i,o=!1,r=this.value();if(this._errors={},this.element.is(x))o=this.validateInput(this.element);else{for(i=!1,e=this.element.find(this._inputSelector),t=0,n=e.length;t").insertBefore(n.element),t.addClass([g,_].join(" ")),t.attr("role","alert"),t.on("click"+c,N(n._summaryClick,n)),t},_summaryClick:function(t){t.preventDefault();var n,i=this,o=e(t.target),r=i.element.find("[name='"+o.data("field")+"']");r.length&&(n=d.getWidgetFocusableElement(r),n&&n.focus())},showValidationSummary:function(){var e,t=this,n=t.validationSummary,i=t._errorsByName();n||(n=t.validationSummary=t._renderSummary()),e=r(t._summaryTemplate({errors:i})),n.html(e),n.toggleClass("k-hidden",!i.length)},hideValidationSummary:function(){var e=this,t=e.validationSummary;t&&t.addClass("k-hidden")}}),d.ui.plugin(l)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("kendo.binder.min",["kendo.core.min","kendo.data.min"],e)}(function(){return function(e,t){function n(t,n,i){return v.extend({init:function(e,t,n){var i=this;v.fn.init.call(i,e.element[0],t,n),i.widget=e,i._dataBinding=E(i.dataBinding,i),i._dataBound=E(i.dataBound,i),i._itemChange=E(i.itemChange,i)},itemChange:function(e){a(e.item[0],e.data,this._ns(e.ns),[e.data].concat(this.bindings[t]._parents()))},dataBinding:function(e){var t,n,i=this.widget,o=e.removedItems||i.items();for(t=0,n=o.length;t0&&(n=n.get(o.substring(0,i))),e.start(n),r=n!==e.source?r.call(n,e.source):r.call(n),e.stop(n)),n&&n!==e.source&&(e.currentSource=n,n.unbind(B,e._change).bind(B,e._change)),e.stop(e.source),r},set:function(e){var t=this.currentSource||this.source,n=C.getter(this.path)(t);"function"==typeof n?t!==this.source?n.call(t,this.source,e):n.call(t,e):t.set(this.path,e)},destroy:function(){this.observable&&(this.source.unbind(B,this._change),this.currentSource&&this.currentSource.unbind(B,this._change)),this.unbind()}}),m=h.extend({get:function(){var e,t=this.source,n=this.path,i=0;for(e=t.get(n);!e&&t;)t=this.parents[++i],t instanceof S&&(e=t.get(n));return E(e,t)}}),g=h.extend({init:function(e,t,n){var i=this;h.fn.init.call(i,e,t),i.template=n},render:function(e){var t;return this.start(this.source),t=C.render(this.template,e),this.stop(this.source),t}}),v=z.extend({init:function(e,t,n){this.element=e,this.bindings=t,this.options=n},bind:function(e,t){var n=this;e=t?e[t]:e,e.bind(B,function(e){n.refresh(t||e)}),n.refresh(t)},destroy:function(){}}),_=v.extend({dataType:function(){var e=this.element.getAttribute("data-type")||this.element.type||"text";return e.toLowerCase()},parsedValue:function(){return this._parseValue(this.element.value,this.dataType())},_parseValue:function(e,t){return"date"==t?e=C.parseDate(e,"yyyy-MM-dd"):"datetime-local"==t?e=C.parseDate(e,["yyyy-MM-ddTHH:mm:ss","yyyy-MM-ddTHH:mm"]):"number"==t?e=C.parseFloat(e):"boolean"==t&&(e=e.toLowerCase(),e=null!==C.parseFloat(e)?!!C.parseFloat(e):"true"===e.toLowerCase()),e}}),I.attr=v.extend({refresh:function(e){this.element.setAttribute(e,this.bindings.attr[e].get())}}),I.css=v.extend({init:function(e,t,n){v.fn.init.call(this,e,t,n),this.classes={}},refresh:function(t){var n=e(this.element),i=this.bindings.css[t],o=this.classes[t]=i.get();o?n.addClass(t):n.removeClass(t)}}),I.style=v.extend({refresh:function(e){this.element.style[e]=this.bindings.style[e].get()||""}}),I.enabled=v.extend({refresh:function(){this.bindings.enabled.get()?this.element.removeAttribute("disabled"):this.element.setAttribute("disabled","disabled")}}),I.readonly=v.extend({refresh:function(){this.bindings.readonly.get()?this.element.setAttribute("readonly","readonly"):this.element.removeAttribute("readonly")}}),I.disabled=v.extend({refresh:function(){this.bindings.disabled.get()?this.element.setAttribute("disabled","disabled"):this.element.removeAttribute("disabled")}}),I.events=v.extend({init:function(e,t,n){v.fn.init.call(this,e,t,n),this.handlers={}},refresh:function(t){var n=e(this.element),i=this.bindings.events[t],o=this.handlers[t];o&&n.off(t,o),o=this.handlers[t]=i.get(),n.on(t,i.source,o)},destroy:function(){var t,n=e(this.element);for(t in this.handlers)n.off(t,this.handlers[t])}}),I.text=v.extend({refresh:function(){var t=this.bindings.text.get(),n=this.element.getAttribute("data-format")||"";null==t&&(t=""),e(this.element).text(C.toString(t,n))}}),I.visible=v.extend({refresh:function(){this.element.style.display=this.bindings.visible.get()?"":"none"}}),I.invisible=v.extend({refresh:function(){this.element.style.display=this.bindings.invisible.get()?"none":""}}),I.html=v.extend({refresh:function(){this.element.innerHTML=this.bindings.html.get()}}),I.value=_.extend({init:function(t,n,i){_.fn.init.call(this,t,n,i),this._change=E(this.change,this),this.eventName=i.valueUpdate||B,e(this.element).on(this.eventName,this._change),this._initChange=!1},change:function(){this._initChange=this.eventName!=B,this.bindings[A].set(this.parsedValue()),this._initChange=!1},refresh:function(){var e,t;this._initChange||(e=this.bindings[A].get(),null==e&&(e=""),t=this.dataType(),"date"==t?e=C.toString(e,"yyyy-MM-dd"):"datetime-local"==t&&(e=C.toString(e,"yyyy-MM-ddTHH:mm:ss")),this.element.value=e),this._initChange=!1},destroy:function(){e(this.element).off(this.eventName,this._change)}}),I.source=v.extend({init:function(e,t,n){v.fn.init.call(this,e,t,n);var i=this.bindings.source.get();i instanceof C.data.DataSource&&n.autoBind!==!1&&i.fetch()},refresh:function(e){var t=this,n=t.bindings.source.get();n instanceof F||n instanceof C.data.DataSource?(e=e||{},"add"==e.action?t.add(e.index,e.items):"remove"==e.action?t.remove(e.index,e.items):"itemchange"!=e.action&&t.render()):t.render()},container:function(){var e=this.element;return"table"==e.nodeName.toLowerCase()&&(e.tBodies[0]||e.appendChild(document.createElement("tbody")),e=e.tBodies[0]),e},template:function(){var e=this.options,t=e.template,n=this.container().nodeName.toLowerCase();return t||(t="select"==n?e.valueField||e.textField?C.format('',e.valueField||e.textField,e.textField||e.valueField):"":"tbody"==n?"
    ":"ul"==n||"ol"==n?"
  • #:data#
  • ":"#:data#",t=C.template(t)),t},add:function(t,n){var i,o,r,s,l=this.container(),d=l.cloneNode(!1),u=l.children[t];if(e(d).html(C.render(this.template(),n)),d.children.length)for(i=this.bindings.source._parents(),o=0,r=n.length;o-1?e.splice(t,1):e.push(o)}else this.bindings[H].set(o)},refresh:function(){var e,n,i=this.bindings[H].get(),o=i,r=this.dataType(),a=this.element;if("checkbox"==a.type)if(o instanceof F){if(e=-1,i=this.parsedValue(),i instanceof Date){for(n=0;n=0}else a.checked=o;else"radio"==a.type&&("date"==r?i=C.toString(i,"yyyy-MM-dd"):"datetime-local"==r&&(i=C.toString(i,"yyyy-MM-ddTHH:mm:ss")),a.checked=null!==i&&t!==i&&a.value===""+i)},value:function(){var e=this.element,t=e.value;return"checkbox"==e.type&&(t=e.checked),t},destroy:function(){e(this.element).off(B,this._change)}})},I.select={source:I.source.extend({refresh:function(n){var i,o=this,r=o.bindings.source.get();r instanceof F||r instanceof C.data.DataSource?(n=n||{},"add"==n.action?o.add(n.index,n.items):"remove"==n.action?o.remove(n.index,n.items):"itemchange"!=n.action&&n.action!==t||(o.render(),o.bindings.value&&o.bindings.value&&(i=f(o.bindings.value.get(),e(o.element).data("valueField")),null===i?o.element.selectedIndex=-1:o.element.value=i))):o.render()}}),value:_.extend({init:function(t,n,i){_.fn.init.call(this,t,n,i),this._change=E(this.change,this),e(this.element).change(this._change)},parsedValue:function(){var e,t,n,i,o=this.dataType(),r=[];for(n=0,i=this.element.options.length;n=0?y[f]=t:h(i)||(o=d.getCulture(),"number"==typeof i&&o.name.length?(r=o.numberFormat,a=(""+i).replace(v,r[v]),y[t]=a):y[t]=m(i)?i.value||t:i),y[d.attr(t+"-msg")]=i.message,y.autocomplete=_;for(s in p)y[s]=p[s];return g(u,x)>=0&&(y[f]=u),y[b]="value:"+e.field,y}function r(e,t){var n=e.attr("id");return n&&(t.id=n,e.removeAttr("id")),t}function a(e){var t,n,i,o,r,a;if(e&&e.length)for(a=[],t=0,n=e.length;t":"Editor"===e?"
    ",indent:function(e){return e.replace(/<\/(p|li|ul|ol|h[1-6]|table|tr|td|th)>/gi,"\n").replace(/<(ul|ol)([^>]*)>
  • \n/gi,"
    \n").replace(/\n$/,"")}}),n.ui.editor.ViewHtmlCommand=u,o.EditorUtils.registerTool("viewHtml",new s({command:u,template:new l({template:r.buttonTemplate,title:"View HTML"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/format.min",["editor/command.min"],e)}(function(){!function(e){var t=window.kendo,n=e.extend,i=t.ui.editor,o=i.Tool,r=i.Command,a=i.EditorUtils,s=r.extend({init:function(e){e.formatter=e.formatter();var t=e.formatter.finder;t&&a.formatByName("immutable",t.format)&&t._initOptions({immutables:e.immutables}),r.fn.init.call(this,e)}}),l=o.extend({init:function(e){o.fn.init.call(this,e)},command:function(e){var t=this;return new s(n(e,{formatter:t.options.formatter}))},update:function(e,t){var n=this.options.finder.isFormatted(t);e.toggleClass("k-state-selected",n),e.attr("aria-pressed",n)}});e.extend(i,{FormatCommand:s,FormatTool:l})}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/inlineformat.min",["editor/plugins/format.min"],e)}(function(){!function(e){var t=window.kendo,n=t.Class,i=t.ui.editor,o=t.ui.Editor.fn.options.formats,r=i.EditorUtils,a=i.Tool,s=i.ToolTemplate,l=i.FormatTool,d=i.Dom,u=i.RangeUtils,c=e.extend,p=i.EditorUtils.registerTool,f=i.EditorUtils.registerFormat,h="mousedown.kendoEditor",m="keydown.kendoEditor",g="k-marker",v=n.extend({init:function(e){this.format=e},numberOfSiblings:function(e){var t,n=0,i=0,o=0,r=e.parentNode;for(t=r.firstChild;t;t=t.nextSibling)t!=e&&(t.className==g?o++:3==t.nodeType?n++:i++);return o>1&&r.firstChild.className==g&&r.lastChild.className==g?0:i+n},findSuitable:function(e,t){var n,i;if(!t&&this.numberOfSiblings(e)>0)return null;for(n=e.parentNode,i=this.format[0].tags;!d.ofType(n,i);){if(this.numberOfSiblings(n)>0)return null;n=n.parentNode}return n},findFormat:function(e){var t,n,i,o,r,a=this.format,s=d.attrEquals;for(t=0,n=a.length;t0&&this.activate(e,n)},immutables:function(){return this.editor&&this.editor.options.immutables},apply:function(e){var t,n,i,o,r=[];if(e.length>1)for(t=0,n=e.length;t0)for(t=0;t1;)if(t=e.pop(),n=e[e.length-1],t.previousSibling&&t.previousSibling.className==g&&n.appendChild(t.previousSibling),t.tagName==n.tagName&&t.previousSibling==n&&t.style.cssText==n.style.cssText&&t.className===n.className){for(;t.firstChild;)n.appendChild(t.firstChild);d.remove(t)}}}),b=v.extend({init:function(e,t){this.format=e,this.greedyProperty=t,v.fn.init.call(this,e)},getInlineCssValue:function(e){var n,i,o,r,a,s,l,u,c,p,f,h,m=e.attributes,g=t.trim;if(m)for(n=0,i=m.length;n=0?d.toHex(h):h}},getFormatInner:function(t){var n,i,o,r=e(d.isDataNode(t)?t.parentNode:t),a=r.parentsUntil("[contentEditable]").addBack().toArray().reverse();for(n=0,i=a.length;n
    ")({messages:this.editor.options.messages})},exec:function(){var t,n,i,o,r=this.editor.options.messages;this._initialText="",this._range=this.lockRange(!0),this.formatter.immutables=this.immutables(),t=v(this._range),n=t.length?this.formatter.finder.findSuitable(t[0]):null,i=t.length&&"img"==d.name(t[0]),o=this.createDialog(this._dialogTemplate(),{title:r.createLink,close:s(this._close,this),visible:!1}),n&&(this._range.selectNodeContents(n),t=v(this._range)),this._initialText=this.linkText(t),o.find(".k-dialog-insert").click(s(this._apply,this)).end().find(".k-dialog-close").click(s(this._close,this)).end().find(".k-edit-field input").keydown(s(this._keydown,this)).end().find("#k-editor-link-url").val(this.linkUrl(n)).end().find("#k-editor-link-text").val(this._initialText).end().find("#k-editor-link-title").val(n?n.title:"").end().find("#k-editor-link-target").attr("checked",!!n&&"_blank"==n.target).end().find(".k-editor-link-text-row").toggle(!i),this._dialog=o.data("kendoWindow").center().open(),e("#k-editor-link-url",o).focus().select()},_keydown:function(e){var t=o.keys;e.keyCode==t.ENTER?this._apply(e):e.keyCode==t.ESC&&this._close(e)},_apply:function(t){var n,i,o,r=this._dialog.element,a=e("#k-editor-link-url",r).val(),s=e("#k-editor-link-text",r);a&&a!=w&&(a.indexOf("@")>0&&!/^(\w+:)|(\/\/)/i.test(a)&&(a="mailto:"+a),this.attributes={href:a},n=e("#k-editor-link-title",r).val(),n&&(this.attributes.title=n),s.is(":visible")&&(i=s.val(),i||this._initialText?i&&i!==this._initialText&&(this.attributes.innerText=d.stripBom(i)):this.attributes.innerText=a),o=e("#k-editor-link-target",r).is(":checked"),this.attributes.target=o?"_blank":null,this.formatter.apply(this._range,this.attributes)),this._close(t),this.change&&this.change()},_close:function(e){e.preventDefault(),this._dialog.destroy(),d.windowFromDocument(u.documentFromRange(this._range)).focus(),this.releaseRange(this._range)},linkUrl:function(e){return e?e.getAttribute("href",2):w},linkText:function(e){var t,n="";for(t=0;t-1)return this.end.node=t,this.end.offset=i+1,!1},_detectStart:function(e,t){var i=n(e,/\s/),o=i+1;if(this.text=e.substring(o)+this.text,this.start.node=t,this.start.offset=o,i>-1)return!1},_skipStartPuntuation:function(e,t,n){var o=i(e,/\w/),r=o;if(o===-1&&(r=e.length),this.text=this.text.substring(r),this.start.node=t,this.start.offset=r+(0|n),o>-1)return!1}}),E=function(){return{node:null,offset:null,blank:function(){return null===this.node&&null===this.offset}}},A=r.extend({init:function(n){this.node=n.node,this.offset=n.offset===t?d.isDataNode(this.node)&&this.node.length||0:n.offset,this.cancelAtNode=n.cancelAtNode||this.cancelAtNode||e.noop},traverse:function(e){e&&(this.cancel=!1,this._traverse(e,this.node,this.offset))},_traverse:function(e,n,i){var o,r,a,s;if(n&&!this.cancel){if(3!==n.nodeType)return r=this.edgeNode(n),this.cancel=this.cancel||this.cancelAtNode(r),this._traverse(e,r);if(o=n.data,i!==t&&(o=this.subText(o,i)),this.cancel=e(o,n,i)===!1,a=this.next(n),!a)for(s=n.parentNode;!a&&d.isInline(s);)a=this.next(s),s=s.parentNode;this.cancel=this.cancel||this.cancelAtNode(a),this._traverse(e,a)}},extendOptions:function(t){return e.extend({node:this.node,offset:this.offset,cancelAtNode:this.cancelAtNode},t||{})},edgeNode:function(e){},next:function(e){},subText:function(e,t){}}),N=A.extend({subText:function(e,t){return e.substring(0,t)},next:function(e){return e.previousSibling},edgeNode:function(e){return e.lastChild},clone:function(e){var t=this.extendOptions(e);return new N(t)}}),R=A.extend({subText:function(e,t){return e.substring(t)},next:function(e){return e.nextSibling},edgeNode:function(e){return e.firstChild},clone:function(e){var t=this.extendOptions(e);return new R(t)}});a(o.ui.editor,{LinkFormatFinder:C,LinkFormatter:T,UnlinkCommand:S,LinkCommand:F,AutoLinkCommand:D,UnlinkTool:I,DomTextLinkDetection:z,LeftDomTextTraverser:N,RightDomTextTraverser:R}),b("createLink",new f({key:"K",ctrl:!0,command:F,template:new h({template:c.buttonTemplate,title:"Create Link"})})),b("unlink",new I({key:"K",ctrl:!0,shift:!0,template:new h({template:c.buttonTemplate,title:"Remove Link"})})),b("autoLink",new f({key:[y.ENTER,y.SPACEBAR],keyPressCommand:!0,command:D}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/formatblock.min",["editor/plugins/format.min"],e)}(function(){!function(e){var t,n=window.kendo,i=n.Class,o=e.extend,r=n.ui.editor,a=n.ui.Editor.fn.options.formats,s=r.Dom,l=r.ToolTemplate,d=r.FormatTool,u=r.EditorUtils,c=u.registerTool,p=u.registerFormat,f=r.RangeUtils,h=i.extend({init:function(e){this.format=e},contains:function(e,t){var n,i,o;for(n=0,i=t.length;n=0&&!(o=s.ofType(t[n],a[r].tags)?t[n]:s.closestEditableOfType(t[n],a[r].tags));r--);if(!o||"true"===o.contentEditable)return[];e.inArray(o,l)<0&&l.push(o)}for(this._resolveListsItems(l),n=0,i=l.length;n=0;a--)l=i.immutableParent(e[a]),l&&(l!==e[a+1]&&(t?s.attr(l,n.attr):s.unstyle(l,n.attr.style)),e.splice(a,1))},immutables:function(){return this.editor&&this.editor.options.immutables},remove:function(e){var t,n,i,o,r;for(this._handleImmutables(e,!1),t=0,n=e.length;t=0?new i.GreedyInlineFormatter(a):new i.GreedyBlockFormatter(a),t.editor=n.editor,t}})},initialize:function(e,t){var i,r=t.editor,a=this.options,s=a.name,l=this;l.editor=r,e.width(a.width),i=e.kendoSelectBox({dataTextField:"text",dataValueField:"value",dataSource:a.items||r.options[s],title:r.options.messages[s],autoSize:!0,change:function(){var e=this.dataItem();e&&o.exec(r,s,e.toJSON())},dataBound:function(){var e,t=this.dataSource.data();for(e=0;e#:data.text#')}).data("kendoSelectBox"),e.attr("title",t.title),i.wrapper.attr("title",t.title),e.addClass("k-decorated").closest(".k-widget").removeClass("k-"+s).find("*").addBack().attr("unselectable","on")},getFormattingValue:function(t,n){var i,o,r,a,s,l,d;for(i=0;i=0;t--)n=e[t],this.immutableParent(n)||this.clean(n);this.releaseRange(i)},clean:function(n){var o,r,a,s,d;if(n&&!l.isMarker(n)){if(o=l.name(n),"ul"==o||"ol"==o)for(r=new i.ListFormatter(o),a=n.previousSibling,s=n.nextSibling,r.unwrap(n);a&&a!=s;a=a.nextSibling)this.clean(a);else if("blockquote"==o)l.changeTag(n,"p");else if(1!=n.nodeType||l.insignificant(n))t(n);else{for(d=n.childNodes.length-1;d>=0;d--)this.clean(n.childNodes[d]);n.removeAttribute("style"),n.removeAttribute("class")}e.inArray(o,this.tagsToClean)>-1&&l.unwrap(n)}},immutableParent:function(e){return this.immutables()&&i.Immutables.immutableParent(e)}});e.extend(i,{FormattingTool:p,CleanFormatCommand:f}),c("formatting",new p({template:new r({template:d.dropDownListTemplate,title:"Format"})})),c("cleanFormatting",new o({command:f,template:new r({template:d.buttonTemplate,title:"Clean formatting"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/image.min",["kendo.imagebrowser.min","editor/command.min"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=n.ui.editor,r=o.EditorUtils,a=o.Dom,s=r.registerTool,l=o.ToolTemplate,d=o.RangeUtils,u=o.Command,c=n.keys,p="#k-editor-image-url",f="#k-editor-image-title",h="#k-editor-image-width",m="#k-editor-image-height",g=u.extend({init:function(e){var t=this;u.fn.init.call(t,e),t.async=!0,t.attributes={}},insertImage:function(e,t){var n,i=this.attributes,o=d.documentFromRange(t);if(i.src&&"http://"!=i.src){if(n=function(){setTimeout(function(){i.width||e.removeAttribute("width"),i.height||e.removeAttribute("height"),e.removeAttribute("complete")})},!e)return e=a.create(o,"img",i),e.onload=e.onerror=n,t.deleteContents(),t.insertNode(e),e.nextSibling||a.insertAfter(o.createTextNode("\ufeff"),e),n(),t.setStartAfter(e),t.setEndAfter(e),d.selectRange(t),!0;e.onload=e.onerror=n,a.attr(e,i),n()}return!1},_dialogTemplate:function(e){return n.template('
    # if (showBrowser) { #
    # } #
    ')({messages:this.editor.options.messages,showBrowser:e})},redo:function(){var e=this,t=e.lockRange();e.insertImage(d.image(t),t)||e.releaseRange(t)},exec:function(){function e(e){var t=s.element,n=parseInt(t.find(h).val(),10),i=parseInt(t.find(m).val(),10);g.attributes={src:t.find(p).val().replace(/ /g,"%20"),alt:t.find(f).val()},g.attributes.width=null,g.attributes.height=null,!isNaN(n)&&n>0&&(g.attributes.width=n),!isNaN(i)&&i>0&&(g.attributes.height=i),_=g.insertImage(b,v),o(e),g.change&&g.change()}function o(e){e.preventDefault(),s.destroy(),a.windowFromDocument(d.documentFromRange(v)).focus(),_||g.releaseRange(v)}function r(t){t.keyCode==c.ENTER?e(t):t.keyCode==c.ESC&&o(t)}var s,l,u,g=this,v=g.lockRange(),_=!1,b=d.image(v),y=b&&b.getAttribute("width")||"",w=b&&b.getAttribute("height")||"",k=n.support.browser.msie,x=g.editor.options,C=x.messages,T=x.imageBrowser,S=!!(n.ui.ImageBrowser&&T&&T.transport&&T.transport.read!==t),F={title:C.insertImage,visible:!1,resizable:S};this.expandImmutablesIn(v),F.close=o,S&&(F.width=750),s=this.createDialog(g._dialogTemplate(S),F).toggleClass("k-filebrowser-dialog",S).find(".k-dialog-insert").click(e).end().find(".k-dialog-close").click(o).end().find(".k-edit-field input").keydown(r).end().find(p).val(b?b.getAttribute("src",2):"http://").end().find(f).val(b?b.alt:"").end().find(h).val(y).end().find(m).val(w).end().data("kendoWindow"),l=s.element,S&&(this._imageBrowser=new n.ui.ImageBrowser(l.find(".k-imagebrowser"),i({},T)),this._imageBrowser.bind("change",function(e){"f"===e.selected.get("type")&&l.find(p).val(this.value())}),this._imageBrowser.bind("apply",e)),k&&(u=l.closest(".k-window").height(),l.css("max-height",u)),s.center().open(),l.find(p).focus().select()}});n.ui.editor.ImageCommand=g,s("insertImage",new o.Tool({command:g,template:new l({template:r.buttonTemplate,title:"Insert Image"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/import.min",["editor/main.min"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=e.proxy,r=n.ui.editor,a=r.EditorUtils,s=r.Command,l=r.Tool,d=a.registerTool,u=r.ToolTemplate,c='
    ',p=s.extend({exec:function(){(this.editor._uploadWidget||this._initializeUploadWidget()).element.click()},_initializeUploadWidget:function(){var t=this,n=t.editor,i=n.options["import"],r=e('').kendoUpload({success:o(t._onUploadSuccess,t),progress:o(t._onUploadProgress,t),select:o(t._onUploadSelect,t),error:o(t._onUploadError,t),complete:o(t._onUploadComplete,t),showFileList:!1,multiple:!1,async:{saveUrl:i.proxyUrl,autoUpload:!0,saveField:"file"},validation:{allowedExtensions:i.allowedExtensions,maxFileSize:i.maxFileSize}}).getKendoUpload();return n._uploadWidget=r,r},_onUploadComplete:function(e){this._trigger("complete",e),e.sender.clearAllFiles(),this._removeLoadingOverlay()},_onUploadSuccess:function(e){this.editor.value(e.response.html.replace(/<\/?body>/gi,"")),this._trigger("success",e)},_onUploadProgress:function(e){this._trigger("progress",e)},_onUploadSelect:function(e){this._trigger("select",e),e.files[0].validationErrors||this._initLoadingOverlay()},_onUploadError:function(e){this._trigger("error",e)},_trigger:function(e,t){var n=this.editor,i=n.options["import"];"function"==typeof i[e]&&i[e].call(n,t)},_initLoadingOverlay:function(){var t=this.editor.body;r.Dom.is(t,"body")?this._iframeWrapper=this._container=this.editor.wrapper.find("iframe").parent().css({position:"relative"}).append(c):this._container=e(t).append(c),n.ui.progress(this._container,!0)},_removeLoadingOverlay:function(){n.ui.progress(this._container,!1),e(this._iframeWrapper).css({position:""}),delete this._container,delete this._iframeWrapper}});i(r,{ImportCommand:p}),d("import",new l({command:p,template:new u({template:a.buttonTemplate,title:"Import"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/insert.min",["editor/command.min"],e)}(function(){!function(e){var t=window.kendo,n=t.ui.editor,i=n.Command,o=n.GenericCommand,r=n.EditorUtils,a=r.registerTool,s=n.Tool,l=n.ToolTemplate,d=n.RestorePoint,u=e.extend,c=i.extend({init:function(e){i.fn.init.call(this,e),this.managesUndoRedo=!0},exec:function(){var e,t=this.editor,n=this.options,i=n.range,r=t.body,a=new d(i,r),s=n.html||n.value||"";t.selectRange(i),t.clipboard.paste(s,n),n.postProcess&&n.postProcess(t,t.getRange()),e=new o(a,new d(t.getRange(),r)),e.editor=t,t.undoRedoStack.push(e),t.focus()}}),p=s.extend({initialize:function(e,t){var i=t.editor,o=this.options,r=o.items?o.items:i.options.insertHtml;this._selectBox=new n.SelectBox(e,{dataSource:r,dataTextField:"text",dataValueField:"value",change:function(){s.exec(i,"insertHtml",this.value())},title:i.options.messages.insertHtml,highlightFirst:!1}),e.attr("title",t.title),this._selectBox.wrapper.attr("title",t.title)},command:function(e){return new c(e)},update:function(e){var t=e.data("kendoSelectBox")||e.find("select").data("kendoSelectBox");t.close(),t.value(t.options.title)}});u(n,{InsertHtmlCommand:c,InsertHtmlTool:p}),a("insertHtml",new p({template:new l({template:r.dropDownListTemplate,title:"Insert HTML",initialValue:"Insert HTML"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/export.min",["editor/main.min"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=e.proxy,r=n.ui.editor,a=r.EditorUtils,s=r.Command,l=r.Tool,d=a.registerTool,u=r.ToolTemplate,c=[{text:"Docx",value:"docx"},{text:"Rtf",value:"rtf"},{text:"Pdf",value:"pdf"},{text:"Html",value:"html"},{text:"Plain Text",value:"txt"}],p=s.extend({init:function(e){var t=this;t.options=e,s.fn.init.call(t,e),t.attributes=null,t.exportType=e.exportType},exec:function(){var e=this,t=this.lockRange(!0);e.postToProxy(),e.releaseRange(t)},postToProxy:function(){this.generateForm().appendTo("body").submit().remove()},generateForm:function(){var t=this,n=t.editor.options.exportAs,i=e("").attr({action:n&&n.proxyURL||"",method:"POST"});return i.append([t.valueInput(),t.exportTypeInput(),t.fileNameInput()]),i},valueInput:function(){var t=this.editor;return e("").attr({value:t.encodedValue(),name:"value",type:"hidden"})},exportTypeInput:function(){var t=this;return e("").attr({value:t.exportType,name:"exportType",type:"hidden"})},fileNameInput:function(){var t=this.editor,n=t.options.exportAs,i=n&&n.fileName||t.element.attr("id")||"editor";return e("").attr({value:i,name:"fileName",type:"hidden"})}}),f=l.extend({init:function(e){var t=this;l.fn.init.call(t,n.deepExtend({},t.options,e)),t.type="kendoSelectBox"},options:{items:c,width:115},command:function(e){var t=e.value;return new r.ExportAsCommand({range:e.range,exportType:t.exportType})},initialize:function(e,t){var i,r=this,a=t.editor,s=r.options,l=s.name,d=o(r.changeHandler,r),u=s.items||a.options[l];u.unshift({text:a.options.messages[l],value:""}),r.editor=a,e.width(s.width),i=e.kendoSelectBox({dataTextField:"text",dataValueField:"value",dataSource:u,autoSize:!0,change:d,open:function(e){var t=e.sender;t.items()[0].style.display="none",t.unbind("open")},highlightFirst:!1,template:n.template('#:data.text#')}).data("kendoSelectBox"),e.attr("title",t.title),i.wrapper.attr("title",t.title),e.addClass("k-decorated").closest(".k-widget").removeClass("k-"+l).find("*").addBack().attr("unselectable","on")},changeHandler:function(e){var t=e.sender,n=t.dataItem(),i=n&&n.value;this._exec(i),t.value("")},_exec:function(e){e&&l.exec(this.editor,this.options.name,{exportType:e})},destroy:function(){this._ancestor=null}});i(r,{ExportAsTool:f,ExportAsCommand:p}),d("exportAs",new f({template:new u({template:a.dropDownListTemplate,title:"Export As"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/indent.min",["editor/plugins/formatblock.min"],e)}(function(){!function(e,t){function n(n,i){var o="rtl"==e(n).css("direction"),r=o?"Right":"Left",a="td"!=s.name(n)?"margin"+r:"padding"+r;return i===t?n.style[a]||0:(i>0?n.style[a]=i+"px":(n.style[a]="",n.style.cssText||n.removeAttribute("style")),t)}var i=window.kendo,o=i.Class,r=e.extend,a=i.ui.editor,s=a.Dom,l=a.EditorUtils,d=l.registerTool,u=a.Command,c=a.Tool,p=a.ToolTemplate,f=a.RangeUtils,h=s.blockElements,m=a.BlockFormatFinder,g=a.BlockFormatter,v=o.extend({init:function(){this.finder=new m([{tags:s.blockElements}])},apply:function(t){var i,o,r,a,l,d,u,c,p,f,h,m;if(t=s.filterBy(t,s.htmlIndentSpace,!0),i=this.finder.findSuitable(t),o=[],i=this.mapImmutables(i),i.length){for(r=0,a=i.length;r1||n(c.parentNode))||s.ofType(c,["ul","ol"])&&l>0),r)return i.removeClass("k-state-disabled"),t;i.addClass("k-state-disabled").removeClass("k-state-hover")}});r(a,{IndentFormatter:v,IndentCommand:_,OutdentCommand:b,OutdentTool:y}),d("indent",new c({command:_,template:new p({template:l.buttonTemplate,title:"Indent"})})),d("outdent",new y({command:b,template:new p({template:l.buttonTemplate,title:"Outdent"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/linebreak.min",["editor/plugins/formatblock.min"],e)}(function(){!function(e){var t=window.kendo,n=e.extend,i=t.ui.editor,o=i.Dom,r=i.Command,a=i.Tool,s=i.BlockFormatter,l=o.normalize,d=i.RangeUtils,u=i.EditorUtils.registerTool,c=r.extend({init:function(e){this.options=e,r.fn.init.call(this,e)},_insertMarker:function(e,t){var n,i=o.create(e,"a");return i.className="k-marker",t.insertNode(i),i.parentNode||(n=t.commonAncestorContainer,n.innerHTML="",n.appendChild(i)),l(i.parentNode),i},_moveFocus:function(e,t){var n,i;if(o.isEmpty(t))e.setStartBefore(t);else{if(e.selectNodeContents(t),n=d.textNodes(e)[0],!n){for(;t.childNodes.length&&!o.is(t.firstChild,"br");)t=t.firstChild;n=t}o.isEmpty(n)?e.setStartBefore(n):(o.emptyNode(n)&&(n.innerHTML="\ufeff"),i=n.firstChild||n,o.isDataNode(i)?e.setStart(i,0):e.setStartBefore(i))}},shouldTrim:function(e){var t="p,h1,h2,h3,h4,h5,h6".split(","),n=o.parentOfType(e.startContainer,t),i=o.parentOfType(e.endContainer,t);return n&&!i||!n&&i},_blankAfter:function(e){for(;e&&(o.isMarker(e)||""===o.stripBom(e.nodeValue));)e=e.nextSibling;return!e},exec:function(){var t,n,r,a,u,c,p,f,h,m,g,v,_,b,y=this.getRange(),w=d.documentFromRange(y),k=i.emptyElementContent;this.expandImmutablesIn(y),m=this.shouldTrim(y),y.deleteContents(),u=this._insertMarker(w,y),o.stripBomNode(u.previousSibling),o.stripBomNode(u.nextSibling),c=o.closestEditableOfType(u,["li"]),p=o.closestEditableOfType(u,"h1,h2,h3,h4,h5,h6".split(",")),f=o.is(u.parentNode,"table")&&u.parentNode,c?o.emptyNode(c)&&(a=o.create(w,"p"),o.next(c)&&(h=y.cloneRange(),h.selectNode(c),d.split(h,c.parentNode)),g=e("br",c),1==g.length&&g.remove(),v=c.parentNode,_=c.parentNode.children.length,b=_>1&&1==c.childNodes.length&&c.children[0],o.insertAfter(a,v),o.remove(1==_?c.parentNode:c),b&&b!==u?(a.appendChild(b),a.appendChild(u)):a.innerHTML=k,r=a):p&&this._blankAfter(u)?(a=this._insertParagraphAfter(p),o.remove(u),r=a):f&&(a=this._insertParagraphAfter(f),o.remove(u),r=a),r||(c||p||new s([{tags:["p"]}]).apply([u]),y.selectNode(u),t=o.parentOfType(u,[c?"li":p?o.name(p):"p"]),d.split(y,t,m),n=t.previousSibling,o.is(n,"li")&&n.firstChild&&!o.is(n.firstChild,"br")&&(n=n.firstChild),r=t.nextSibling,this.clean(n,{links:!0}),this.clean(r,{links:!0}),o.is(r,"li")&&r.firstChild&&!o.is(r.firstChild,"br")&&(r=r.firstChild),o.remove(t),l(n)),l(r),this._moveFocus(y,r),y.collapse(!0),o.scrollTo(r,!0),d.selectRange(y)},_insertParagraphAfter:function(e){var t=this.getRange(),n=d.documentFromRange(t),r=i.emptyElementContent,a=o.create(n,"p");return o.insertAfter(a,e),a.innerHTML=r,a},clean:function(t,n){var r,a=t;if(t.firstChild&&o.is(t.firstChild,"br")&&o.remove(t.firstChild),o.isDataNode(t)&&!t.nodeValue&&(t=t.parentNode),t){for(r=!1;t.firstChild&&1==t.firstChild.nodeType;)r=r||o.significantNodes(t.childNodes).length>1,t=t.firstChild;if(o.isEmpty(t)||!/^\s*$/.test(t.innerHTML)||r||(e(a).find(".k-br").remove(),t.innerHTML=i.emptyElementContent),n&&n.links)for(;t!=a;){if(o.is(t,"a")&&o.emptyNode(t)){o.unwrap(t);break}t=t.parentNode}}}}),p=r.extend({init:function(e){this.options=e,r.fn.init.call(this,e)},exec:function(){var e,n,i,r,a,s,u=this.getRange();this.expandImmutablesIn(u),e=o.create(d.documentFromRange(u),"br"),n=u.startContainer,r=t.support.browser,a=r.msie&&r.version<11,s=o.is(n,"table")&&n,u.deleteContents(),s?o.insertAfter(e,s):u.insertNode(e),l(e.parentNode),a||e.nextSibling&&!o.isWhitespace(e.nextSibling)||(i=e.cloneNode(!0),i.className="k-br",o.insertAfter(i,e)),u.setStartAfter(e),u.collapse(!0),o.scrollTo(e.nextSibling||e,!0),d.selectRange(u)}});n(i,{ParagraphCommand:c,NewLineCommand:p}),u("insertLineBreak",new a({key:13,shift:!0,command:p})),u("insertParagraph",new a({key:13,command:c}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/file.min",["kendo.filebrowser.min","editor/plugins/link.min"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=n.ui.editor,r=o.EditorUtils,a=o.Dom,s=r.registerTool,l=o.ToolTemplate,d=o.RangeUtils,u=o.Command,c=o.LinkFormatter,p=d.textNodes,f=n.keys,h="#k-editor-file-url",m="#k-editor-file-text",g="#k-editor-file-title",v=u.extend({ -init:function(e){var t=this;u.fn.init.call(t,e),t.formatter=new c,t.async=!0,t.attributes={}},insertFile:function(e,t){var n=this.attributes,i=d.documentFromRange(t);if(n.href&&"http://"!=n.href){if(!e)return e=a.create(i,"a",{href:n.href}),e.innerHTML=n.innerHTML,e.title=n.title,t.deleteContents(),t.insertNode(e),e.nextSibling||a.insertAfter(i.createTextNode("\ufeff"),e),t.setStartAfter(e),t.setEndAfter(e),d.selectRange(t),!0;a.attr(e,n)}return!1},_dialogTemplate:function(e){return n.template('
    # if (showBrowser) { #
    # } #
    ')({messages:this.editor.options.messages,showBrowser:e})},redo:function(){var e=this,t=e.lockRange();this.formatter.apply(t,this.attributes),e.releaseRange(t)},exec:function(){function e(e){var t=s.element,n=t.find(h).val().replace(/ /g,"%20"),i=t.find(m).val(),r=t.find(g).val();c.attributes={href:n,innerHTML:""!==i?i:n,title:r},b=c.insertFile(y,v),o(e),c.change&&c.change()}function o(e){e.preventDefault(),s.destroy(),a.windowFromDocument(d.documentFromRange(v)).focus(),b||c.releaseRange(v)}function r(t){t.keyCode==f.ENTER?e(t):t.keyCode==f.ESC&&o(t)}var s,l,u,c=this,v=c.lockRange(),_=p(v),b=!1,y=_.length?this.formatter.finder.findSuitable(_[0]):null,w=n.support.browser.msie,k=c.editor.options,x=k.messages,C=k.fileBrowser,T=!!(n.ui.FileBrowser&&C&&C.transport&&C.transport.read!==t),S={title:x.insertFile,visible:!1,resizable:T};this.expandImmutablesIn(v),S.close=o,T&&(S.width=750),s=this.createDialog(c._dialogTemplate(T),S).toggleClass("k-filebrowser-dialog",T).find(".k-dialog-insert").click(e).end().find(".k-dialog-close").click(o).end().find(".k-edit-field input").keydown(r).end().find(h).val(y?y.getAttribute("href",2):"http://").end().find(m).val(y?y.innerText:"").end().find(g).val(y?y.title:"").end().data("kendoWindow"),l=s.element,T&&(c._fileBrowser=new n.ui.FileBrowser(l.find(".k-filebrowser"),i({},C)),c._fileBrowser.bind("change",function(e){"f"===e.selected.get("type")&&l.find(h).val(this.value())}),c._fileBrowser.bind("apply",e)),w&&(u=l.closest(".k-window").height(),l.css("max-height",u)),s.center().open(),l.find(h).focus().select()}});n.ui.editor.FileCommand=v,s("insertFile",new o.Tool({command:v,template:new l({template:r.buttonTemplate,title:"Insert File"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/tables.min",["editor/plugins/formatblock.min","editor/plugins/insert.min"],e)}(function(){!function(e,t){var n=window.kendo,i=e.extend,o=e.proxy,r=n.ui.editor,a=r.Dom,s=r.EditorUtils,l=r.RangeUtils,d=r.Command,u="kendoEditor",c="k-state-active",p="k-state-selected",f="scope",h="row",m="col",g="rowgroup",v="colgroup",_="colspan",b="rowspan",y="table",w="thead",k="tbody",x="tr",C="td",T="th",S=r.Tool,F=r.ToolTemplate,D=r.InsertHtmlCommand,I=r.BlockFormatFinder,z=r.EditorUtils.registerTool,E=n.getTouches,A=n.template,N="
  • ",R=new I([{tags:[y]}]),H=D.extend({init:function(t){var n=e.extend({postProcess:this.postProcess,skipCleaners:!0},t||{});D.fn.init.call(this,n)},_tableHtml:function(e,t){var n,i;return e=e||1,t=t||1,n=A(N)({width:100/t,content:r.emptyTableCellContent}),i=100/e,"
    ',l+=this.title(e.date,e.min,e.max),l+='
    #:data#
    #=content#
    "+Array(e+1).join(""+Array(t+1).join(n)+"")+"
    "},postProcess:function(t,n){var i=e("table[data-last]",t.document).removeAttr("data-last");n.setStart(i.find(C)[0],0),n.collapse(!0),t.selectRange(n)},exec:function(){var e=this.options;e.html=this._tableHtml(e.rows,e.columns),D.fn.exec.call(this)}}),P=S.extend({initialize:function(t,n){var i,a,l,d;S.fn.initialize.call(this,t,n),i=e(this.options.popupTemplate).appendTo("body").kendoPopup({anchor:t,copyAnchorStyles:!1,open:o(this._open,this),activate:o(this._activate,this),close:o(this._close,this)}).data("kendoPopup"),t.click(o(this._toggle,this)).keydown(o(this._keydown,this)),a=this._editor=n.editor,this._popup=i,l=new r.TableWizardTool({template:new F({template:s.tableWizardButtonTemplate,title:a.options.messages.tableWizard}),command:r.TableWizardCommand,insertNewTable:!0}),z("tableWizardInsert",l),d=e("
    "+l.options.template.getHtml()+"
    "),d.appendTo(i.element),a.toolbar&&a.toolbar.attachToolsEvents(d)},popup:function(){return this._popup},_activate:e.noop,_open:function(){this._popup.options.anchor.addClass(c)},_close:function(){this._popup.options.anchor.removeClass(c)},_keydown:function(e){var t=n.keys,i=e.keyCode;i==t.DOWN&&e.altKey?this._popup.open():i==t.ESC&&this._popup.close()},_toggle:function(t){var n=e(t.target).closest(".k-tool");n.hasClass("k-state-disabled")||this.popup().toggle()},update:function(e){var t=this.popup();t.wrapper&&"block"==t.wrapper.css("display")&&t.close(),e.removeClass("k-state-hover")},destroy:function(){this._popup.destroy()}}),M=P.extend({init:function(t){this.cols=8,this.rows=6,P.fn.init.call(this,e.extend(t,{command:H,popupTemplate:"
    "+Array(this.cols*this.rows+1).join("")+"
    "}))},_activate:function(){function t(t){var n=e(window);return{row:Math.floor((t.clientY+n.scrollTop()-c.top)/o)+1,col:Math.floor((t.clientX+n.scrollLeft()-c.left)/i)+1}}var i,o,r=this,a=r._popup.element,s=a.find(".k-ct-cell"),l=s.eq(0),d=s.eq(s.length-1),c=n.getOffset(l),p=n.getOffset(d),f=r.cols,h=r.rows;a.find("*").addBack().attr("unselectable","on"),p.left+=d[0].offsetWidth,p.top+=d[0].offsetHeight,i=(p.left-c.left)/f,o=(p.top-c.top)/h,a.autoApplyNS(u).on("mousemove",".k-ct-cell",function(e){r._setTableSize(t(e))}).on("mouseleave",".k-ct-cell",function(){r._setTableSize()}).on("down",".k-ct-cell",function(e){e.preventDefault();var n=E(e)[0];r._exec(t(n.location))})},_valid:function(e){return e&&e.row>0&&e.col>0&&e.row<=this.rows&&e.col<=this.cols},_exec:function(e){this._valid(e)&&(this._editor.exec("createTable",{rows:e.row,columns:e.col}),this._popup.close())},_setTableSize:function(t){var i=this._popup.element,o=i.find(".k-status"),r=i.find(".k-ct-cell"),a=this.cols,s=this._editor.options.messages;this._valid(t)?(o.text(n.format(s.createTableHint,t.row,t.col)),r.each(function(n){e(this).toggleClass(p,n%a=0;a--)if(o=t.rows[a],r=e(o).find("[col-index="+i+"]"),r.length)return r},_resetTableResizing:function(e){e._destroyResizings(),e._initializeColumnResizing(),e._initializeRowResizing(),e._initializeTableResizing()},_findNextTdInRow:function(e,t){var n,i,o=e.find("td:last-child"),r=parseInt(o.attr("col-index"),10)+o.prop("colSpan")-1;for(i=t;i<=r;i++)if(n=e.find("[col-index="+i+"]"),n.length)return n},_adjustColgroups:function(e,t){for(var n,i,o,r=t.getElementsByTagName(m),s=t.getElementsByTagName(v),l=e.cells,d=l.length;r.length>0;)r[0].remove();for(;s.length>0;)s[0].remove();for(n=d-1;n>=0;n--)o=l[n],o.getAttribute(f)===v?(i=a.createEmptyNode(this.editor.document,v),i.setAttribute("span",o.getAttribute(_)),t.prepend(i)):t.prepend(a.createEmptyNode(this.editor.document,m))},_associateHeaderIds:function(t){a.clearTableMappings(t,"col-index"),a.reMapTableColumns(t,"col-index"),e(t).find("th, td").removeAttr("id headers"),a.associateWithIds(t)},_getNumberOfColumns:function(e){return a._getNumberOfColumns(e,"td, th")}}),B=O.extend({exec:function(){var n,i,o,s,l,d,u,c,p=this.lockRange(!0),m=a.closest(p.endContainer,[C,T]),v=a.closest(m,y),_=this.options.position||"after";if(!v||this.immutables()&&r.Immutables.immutableParent(m))return this.releaseRange(p),t;for(this._mapColIndices(v),i=m.parentNode,l=a.findNodeIndex(i,!0),m.rowSpan>1&&"after"===_&&(i=v.rows[l+m.rowSpan-1]),n=this._getNumberOfColumns(v),s=i.cloneNode(!0),e(s).empty(),c=0;c1&&"after"===_&&o?o.attr(b,o.prop("rowSpan")+1):this._appendCell(s,o):(l=a.findNodeIndex(i,!0),o=this._findRowSpanCell(i.parentElement,l,c),d=o.closest(x).index(),d+o.prop("rowSpan")-1===l&&"after"===_?this._appendCell(s,o):o.attr(b,o.prop("rowSpan")+1)),u=e(s).find("[col-index="+c+"]"),u.attr(f)!==g||u.attr(b)||u.attr(f,h);"before"==_?a.insertBefore(s,i):a.insertAfter(s,i),e(v).find("[headers]").length>0&&this._associateHeaderIds(v),this._clearColIndexAttr(v),this.releaseRange(p),this._resetTableResizing(this.editor)},_appendCell:function(e,t){var n;n=t.clone(),n.html(r.emptyTableCellContent),n.removeAttr(b),n.appendTo(e)}}),L=O.extend({exec:function(){var n,i,o,s,l=this.lockRange(!0),d=a.closest(l.endContainer,[C,T]),u=a.closest(d,y),c=u.getElementsByTagName(m),p=u.getElementsByTagName(v),h=u&&u.rows,g=this.options.position||"after";if(!d||this.immutables()&&r.Immutables.immutableParent(d))return this.releaseRange(l),t;for(this._mapColIndices(u),n=parseInt(d.getAttribute("col-index"),10),d.colSpan>1&&"after"===g&&(d.setAttribute("col-index",n+d.colSpan-1),n=n+d.colSpan-1),i=0;i0||p.length>0)&&this._adjustColgroups(h[0],u),e(u).find("[headers]").length>0&&this._associateHeaderIds(u),this._clearColIndexAttr(u),this.releaseRange(l),this._resetTableResizing(this.editor)},_processForColSpan:function(n,i,o,r){var a,s,l=i-1;if(a=e(n).find("[col-index="+i+"]")[0],a&&a.colSpan>1&&"after"===o&&a!==r)return a.colSpan+=1,t;if(a)return a;for(l;l>=0&&(a=e(n).find("[col-index="+l+"]")[0],!(a&&a.colSpan>1));l--);return a?(s=parseInt(a.getAttribute("col-index"),10)+a.colSpan-1,s===i&&"after"===o?a:(i<=s&&a.setAttribute(_,a.colSpan+1),t)):t},_resizeCells:function(e,t){var n,i,o,r=e.style.width;r&&(n=parseFloat(r),i=r.slice((""+n).length),o=n/2+i,e.style.width=o,t.style.width=o)}}),V=O.extend({exec:function(){var n,i,o,s=this.lockRange(),d=l.mapAll(s,function(t){return e(t).closest(x)[0]}),u=a.closest(s.endContainer,[C,T]),c=d[0],p=u?u.rowSpan:1,f=e(d[0]).index(),h=a.closest(c,y),m=c.parentElement;if(!h||this.immutables()&&r.Immutables.immutableParent(c))return this.releaseRange(s),t;for(i=0;i0?this._associateHeaderIds(h):a.is(m,w)&&e(h).find("[scope]").length>0&&this._adjustColgroups(m.rows[0],h),n&&(s.setStart(n,0),s.collapse(!0),this.editor.selectRange(s)),this._resetTableResizing(this.editor)},_handleRowSpanCells:function(t,n){var i,o,r,s,l=a.findNodeIndex(n,!0),d=t.rows[0],u=d.cells[d.cells.length-1],c=parseInt(u.getAttribute("col-index"),10)+u.colSpan-1;for(i=0;i<=c;i+=o.prop("colSpan"))o=e(n).find("[col-index="+i+"]"),o.length&&o.prop("rowSpan")>1&&(s=t.rows[l+1],r=e(s).find("[col-index="+(i+1)+"]"),r.length?r.before(o):e(s).append(o),this._reduceRowSpan(o)),o.length||(o=this._findRowSpanCell(n.parentElement,l,i),this._reduceRowSpan(o))},_reduceRowSpan:function(e){var t=e.prop("rowSpan")-1;t<=1?(e.removeAttr(b),e.attr(f)===g&&e.attr(f,h)):e.attr(b,t)}}),U=O.extend({exec:function(){var n,i,o,s,l=this.lockRange(),d=a.closest(l.endContainer,[C,T]),u=a.closest(d,y),c=u&&u.rows,p=a.findNodeIndex(d,!0),f=c&&c[0].cells.length,h=u.getElementsByTagName(m),g=u.getElementsByTagName(v);if(!d||this.immutables()&&r.Immutables.immutableParent(d))return this.releaseRange(l),t;if(1==f||d.colSpan==f)n=a.next(u),n&&!a.insignificant(n)||(n=a.prev(u)),a.remove(u),this._resetTableResizing(this.editor);else{for(a.removeTextSiblings(d),n=a.next(d)||a.prev(d),this._mapColIndices(u),p=parseInt(d.getAttribute("col-index"),10),s=0;s0||g.length>0)&&this._adjustColgroups(c[0],u),e(u).find("[headers]").length>0&&this._associateHeaderIds(u),n&&(l.setStart(n,0),l.collapse(!0),this.editor.selectRange(l)),this._resetTableResizing(this.editor)},_handleColSpanCells:function(n,i){var o,r,a=e(n).find("[col-index="+i+"]");if(a.length&&a.prop("colSpan")>1)return o=a.clone(!0),a.after(o),this._reduceColSpan(o),o.attr("col-index",parseInt(a.attr("col-index"),10)+1),a.remove(),t;for(r=i;r>=0;r--)if(a=e(n).find("[col-index="+r+"]"),a.length)return this._reduceColSpan(a),a.attr("col-index",parseInt(a.attr("col-index"),10)+1),t},_reduceColSpan:function(e){var t=e.prop("colSpan")-1;t<=1?(e.removeAttr(_),e.attr(f)===v&&e.attr(f,m)):e.attr(_,t)}}),W=O.extend({exec:function(){var n,i,o,s,l,d=this.lockRange(),u=a.closest(d.endContainer,[C,T]);return u?(n=a.closest(u,y),i=u.parentNode,o=a.findNodeIndex(u,!0),s=i.children[o+1],this.immutables()&&r.Immutables.immutableParent(u)?(this.releaseRange(d),t):(this._mapColIndices(n),o=parseInt(e(u).attr("col-index"),10),s=e(i).find("[col-index="+(o+1+this._getColspan(u)-1)+"]").get(0),s&&s.rowSpan===u.rowSpan&&u.tagName===s.tagName?(l=this._getColspan(u)+this._getColspan(s),e(u).prop(_,l).append(a.emptyNode(s)?"":"
    "+s.innerHTML),e(u).width(u.offsetWidth),e(s).remove(),u.getAttribute(f)===m&&u.setAttribute(f,v),u.getAttribute(f)===v&&this._adjustColgroups(i,n),e(n).find("[headers]").length>0&&this._associateHeaderIds(n),this._clearColIndexAttr(n),this.releaseRange(d),this._resetTableResizing(this.editor),t):(this._clearColIndexAttr(n),this.releaseRange(d),t))):(this.releaseRange(d),t)},_getColspan:function(e){return parseInt(e.getAttribute(_),10)||1}}),j=O.extend({exec:function(){var n,i,o,s,l,d,u,c=this.lockRange(),p=a.closest(c.endContainer,[C,T]);return p?(n=a.closest(p,x),i=a.closest(p,[w,k]),o=a.closest(p,y),s=a.findNodeIndex(p,!0),l=a.findNodeIndex(n,!0),l+1===i.rows.length?(this.releaseRange(c),t):(d=i.rows[l+this._getRowspan(p)],u=d&&d.children[s],this.immutables()&&r.Immutables.immutableParent(p)?(this.releaseRange(c),t):(this._mapColIndices(o),s=e(p).attr("col-index"),u=e(d).find("[col-index="+s+"]").get(0),u&&u.colSpan===p.colSpan&&p.tagName===u.tagName?(e(p).prop(b,this._getRowspan(p)+this._getRowspan(u)).append(a.emptyNode(u)?"":"
    "+u.innerHTML),p.getAttribute(f)===h&&p.setAttribute(f,g),e(u).remove(),e(o).find("[headers]").length>0&&this._associateHeaderIds(o),this._clearColIndexAttr(o),this.releaseRange(c),t):(this._clearColIndexAttr(o),this.releaseRange(c),t)))):(this.releaseRange(c),t)},_getRowspan:function(e){return parseInt(e.getAttribute(b),10)||1}}),q=O.extend({exec:function(){var n=this.lockRange(),i=this.options.type,o="row"===i?_:b,s=a.closest(n.endContainer,[C,T]),l=a.closest(s,[w,k]),d=a.closest(s,y),u=a.createEmptyNode(this.editor.document,s.nodeName.toLowerCase());return!s||this.immutables()&&r.Immutables.immutableParent(s)?(this.releaseRange(n),t):(this._mapColIndices(d),"row"===i&&e(s).is("["+o+"]")?this._splitCellHorizontally(s,l,o,u):"column"===i&&e(s).is("["+o+"]")&&this._splitCellVertically(s,l,o,u),e(s).prop(o.toLowerCase())<=1&&e(s).removeAttr(o),e(d).find("[headers]").length>0&&this._associateHeaderIds(d),this._clearColIndexAttr(d),this.releaseRange(n),t)},_getRowspanValue:function(e){return parseInt(e.getAttribute(b),10)},_getColspanValue:function(e){return parseInt(e.getAttribute(_),10)},_splitCellHorizontally:function(t,n,i,o){var r=t.rowSpan,a=t.colSpan,s=e(o),l=Math.floor(a/2);l>1&&s.attr(_,l),r>1&&s.attr(b,r),e(t).prop(i,a-l).after(s),e(t).width(t.offsetWidth),s.width(s[0].offsetWidth),t.hasAttribute(f)&&(t.getAttribute(f)===v?(s.attr(f,m),t.getAttribute(_)&&"1"!==t.getAttribute(_)||t.setAttribute(f,m),this._adjustColgroups(t.parentNode,n.parentNode)):s.attr(f,t.getAttribute(f)))},_splitCellVertically:function(t,n,i,o){var r=a.closest(t,x),s=parseInt(e(t).attr("col-index"),10),l=a.findNodeIndex(r,!0),d=t.rowSpan,u=t.colSpan,c=Math.floor(d/2),p=e(n).find(x).eq(l+d-c),m=this._findNextTdInRow(p,s+u),v=e(o);c>1&&v.attr(b,c),u>1&&v.attr(_,u),m&&m.length?m.before(v):p.append(v),e(t).prop(i,d-c),t.hasAttribute(f)&&(t.getAttribute(f)===g?(v.attr(f,h),t.getAttribute(b)&&"1"!==t.getAttribute(b)||t.setAttribute(f,h)):v.attr(f,t.getAttribute(f)))}}),G=S.extend({command:function(e){var t={row:{insert:B,"delete":V,merge:W,split:q},column:{insert:L,"delete":U,merge:j,split:q}};return e=i(e,this.options),e.action=e.action||"insert",new t[e.type][e.action](e)},initialize:function(e,t){S.fn.initialize.call(this,e,t),e.addClass("k-state-disabled"),e.attr("disabled","disabled")},update:function(e,t){var n=!R.isFormatted(t);n===!0?(e.parent().addClass("k-hidden k-state-disabled"),e.attr("disabled","disabled"),e.addClass("k-state-disabled")):(e.parent().removeClass("k-hidden k-state-disabled"),e.removeAttr("disabled"),e.removeClass("k-state-disabled"))}});i(n.ui.editor,{PopupTool:P,TableCommand:H,InsertTableTool:M,TableModificationTool:G,InsertRowCommand:B,InsertColumnCommand:L,DeleteRowCommand:V,DeleteColumnCommand:U,MergeCellsHorizontallyCommand:W,MergeCellsVerticallyCommand:j,SplitCellCommand:q}),z("createTable",new M({template:new F({template:s.buttonTemplate,popup:!0,title:"Create table"})})),z("addColumnLeft",new G({type:"column",position:"before",template:new F({template:s.buttonTemplate,title:"Add column on the left"})})),z("addColumnRight",new G({type:"column",template:new F({template:s.buttonTemplate,title:"Add column on the right"})})),z("addRowAbove",new G({type:"row",position:"before",template:new F({template:s.buttonTemplate,title:"Add row above"})})),z("addRowBelow",new G({type:"row",template:new F({template:s.buttonTemplate,title:"Add row below"})})),z("deleteRow",new G({type:"row",action:"delete",template:new F({template:s.buttonTemplate,title:"Delete row"})})),z("deleteColumn",new G({type:"column",action:"delete",template:new F({template:s.buttonTemplate,title:"Delete column"})})),z("mergeCellsHorizontally",new G({type:"row",action:"merge",template:new F({template:s.buttonTemplate,title:"Merge Cell Right"})})),z("mergeCellsVertically",new G({type:"column",action:"merge",template:new F({template:s.buttonTemplate,title:"Merge Cell Down"})})),z("splitCellHorizontally",new G({type:"row",action:"split",template:new F({template:s.buttonTemplate,title:"Split Cell"})})),z("splitCellVertically",new G({type:"column",action:"split",template:new F({template:s.buttonTemplate,title:"Split Cell"})}))}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/clipboard.min",["editor/command.min"],e)}(function(){!function(e){var t=window.kendo,n=t.Class,i=t.ui.editor,o=i.RangeUtils,r=i.Dom,a=i.RestorePoint,s=i.Marker,l=t.support.browser,d=e.extend,u=n.extend({init:function(e){this.editor=e;var t=e.options.pasteCleanup;this.cleaners=[new p(t),new f(t),new h(t),new m(t),new v(t),new _(t),new k(t),new x(t)]},htmlToFragment:function(e){var t=this.editor,n=t.document,i=r.create(n,"div"),o=n.createDocumentFragment();for(i.innerHTML=e;i.firstChild;)o.appendChild(i.firstChild);return o},isBlock:function(e){return/<(div|p|ul|ol|table|h[1-6])/i.test(e)},_startModification:function(){var e,t,n=this.editor;if(!this._inProgress)return this._inProgress=!0,e=n.getRange(),t=new a(e,n.body),r.persistScrollTop(n.document),{range:e,restorePoint:t}},_endModification:function(e){i._finishUpdate(this.editor,e.restorePoint),this.editor._selectionChange(),this._inProgress=!1},_contentModification:function(e,t){var n=this,i=n.editor,o=n._startModification();o&&(e.call(n,i,o.range),setTimeout(function(){t.call(n,i,o.range),n._endModification(o)}))},_removeBomNodes:function(e){var t,n=o.textNodes(e);for(t=0;t10))return t=e.clipboardData||e.originalEvent.clipboardData||window.clipboardData||{},n=t.items||t.files,this._insertImages(n)},_insertImages:function(t){var n,i,o;if(t&&(n=e.grep(t,function(e){return/^image\//i.test(e.type)}),i=e.grep(t,function(e){return/^text\/html/i.test(e.type)}),!i.length&&n.length&&(o=this._startModification())))return e.when.apply(e,e.map(n,this._fileToDataURL)).done(e.proxy(function(){var t=Array.prototype.slice.call(arguments),n=e.map(t,function(e){return''}).join("");this._triggerPaste(n),this._endModification(o)},this)),!0},onpaste:function(n){if("false"!==this.editor.body.contentEditable){if(this._handleImagePaste(n))return void n.preventDefault();this.expandImmutablesIn(),this._contentModification(function(i,o){var a,s,l,d=r.create(i.document,"div",{className:"k-paste-container",innerHTML:"\ufeff"}),u=t.support.browser,c=i.body;this._decoreateClipboardNode(d,c),c.appendChild(d),u.webkit&&this._moveToCaretPosition(d,o),u.msie&&u.version<11?(n.preventDefault(),a=i.createRange(),a.selectNodeContents(d),i.selectRange(a),s=i.document.body.createTextRange(),s.moveToElementText(d),e(c).unbind("paste"),s.execCommand("Paste"),e(c).bind("paste",e.proxy(this.onpaste,this))):(l=i.createRange(),l.selectNodeContents(d),i.selectRange(l)),o.deleteContents()},function(t,n){var i,o="";t.selectRange(n),i=e(t.body).children(".k-paste-container"),i.each(function(){var e=this.lastChild;e&&r.is(e,"br")&&r.remove(e),o+=this.innerHTML}),i.remove(),this._triggerPaste(o,{clean:!0})})}},ondragover:function(e){(l.msie||l.edge)&&(e.stopPropagation(),e.preventDefault())},ondrop:function(e){var t,n;"FileReader"in window&&(t=(e.originalEvent||e).dataTransfer||{},n=t.items||t.files,this._insertImages(n)&&e.preventDefault())},_decoreateClipboardNode:function(t,n){var i,o,r,a;(l.msie||l.webkit)&&(t=e(t),t.css({borderWidth:"0px",width:"0px",height:"0px",overflow:"hidden",margin:"0",padding:"0"}),l.msie&&(i=e(n.ownerDocument.documentElement),t.css({fontVariant:"normal",fontWeight:"normal",lineSpacing:"normal",lineHeight:"normal",textDecoration:"none"}),o=i.css("color"),o&&t.css("color",o),r=i.css("fontFamily"),r&&t.css("fontFamily",r),a=i.css("fontSize"),a&&t.css("fontSize",a)))},_moveToCaretPosition:function(t,n){var i=this,o=i.editor.body,a=r.offset(t,o),s=i._caretOffset(n,o),l=s.left-a.left,d=s.top-a.top,u="translate("+l+"px,"+d+"px)";e(t).css({"-webkit-transform":u,transform:u})},_caretOffset:function(e,t){var n,i,o,a,s,l,d=this.editor,u=r.create(d.document,"span",{innerHTML:"\ufeff"}),c=e.startContainer;return e.collapsed?(i=r.isDataNode(c),i&&(r.isBom(c)||0===e.startOffset)?r.insertBefore(u,c):i&&e.startOffset===c.length?r.insertAfter(u,c):(e.insertNode(u),n=!0)):(c=c===t?c.childNodes[e.startOffset]:c,r.insertBefore(u,c)),o=r.offset(u,t),a=u.previousSibling,s=u.nextSibling,r.remove(u),n&&r.isDataNode(a)&&r.isDataNode(s)&&!r.isBom(a)&&!r.isBom(s)&&(l=a.length,s.data=a.data+s.data,e.setStart(s,l),r.remove(a),e.collapse(!0),d.selectRange(e)),o},expandImmutablesIn:function(e){var n,i,o,r=this.editor;r&&r.options.immutables&&(n=r.body,e=e||r.getRange(),t.ui.editor.Immutables.expandImmutablesIn(e),e.startContainer===n&&0===e.startOffset&&(i=n.ownerDocument,o=i.createTextNode("\ufeff"),n.insertBefore(o,n.childNodes[0]),e.setStartBefore(o)),r.selectRange(e))},splittableParent:function(e,t){var n,i;if(e)return r.closestEditableOfType(t,["p","ul","ol"])||t.parentNode;if(n=t.parentNode,i=t.ownerDocument.body,r.isInline(n))for(;n.parentNode!=i&&!r.isBlock(n.parentNode);)n=n.parentNode;return n},paste:function(t,n){var i,a,l,u,c,p,f,h,m,g,v,_,b,y,w,k,x,C=this.editor;if(this.expandImmutablesIn(),n=d({clean:!1,split:!0},n),!n.skipCleaners)for(i=0,a=this.cleaners.length;i(\s| )*)+(<\/?(div|p|li|col|t))/gi,"$3"),t=t.replace(/<(a|span)[^>]*><\/\1>/gi,"")),t=t.replace(/<(a|span|font)([^>]*)> <\/\1>/gi,"<$1$2> "),t=t.replace(/^
  • $/g,"li>"),u=this.isBlock(t),C.focus(),c=C.getRange(),c.deleteContents(),c.startContainer==C.document&&c.selectNodeContents(C.body),p=new s,f=p.addCaret(c),h=this.splittableParent(u,f),m=!1,g=h!=C.body&&!r.is(h,"td"),n.split&&g&&(u||r.isInline(h))&&(c.selectNode(f),o.split(c,h,!0),m=!0),v=this.htmlToFragment(t),v.firstChild&&"k-paste-container"===v.firstChild.className){for(_=[],i=0,a=v.childNodes.length;i"))}if(l=v.childNodes,e(l).filter("table").addClass("k-table").end().find("table").addClass("k-table"),e(l).each(function(e,t){r.isBlock(t)&&!r.isSelfClosing(t)&&""===t.innerHTML&&t.appendChild(C.document.createTextNode("\ufeff"))}),c.insertNode(v),h=this.splittableParent(u,f),m){for(;f.parentNode!=h;)r.unwrap(f.parentNode);r.unwrap(f.parentNode)}if(r.normalize(c.commonAncestorContainer),f.style.display="inline",r.restoreScrollTop(C.document),r.scrollTo(f),p.removeCaret(c),b=c.commonAncestorContainer.parentNode,(c.collapsed&&"tbody"==r.name(b)||c.collapsed&&"thead"==r.name(b))&&(c.setStartAfter(e(b).closest("table")[0]),c.collapse(!0)),y=e(c.commonAncestorContainer.parentNode).closest("table"),y.get(0)){for(w=y.parent().contents(),k=w.length-1,x=w.get(k);null!==x.nodeValue&&(" "===x.nodeValue||""===x.nodeValue);)k-=1,x=w.get(k);x!==y.get(0)||y.parents("table").length||r.insertAfter(r.createEmptyNode(C.document,"p"),y[0])}C.selectRange(c)}}),c=n.extend({init:function(e){this.options=e||{},this.replacements=[]},clean:function(e,t){var n,i,o=this,r=t||o.replacements;for(n=0,i=r.length;n]*)>/i,"<$1telerik:script$2>"]},applicable:function(e){return!this.options.none&&/]*>/i.test(e)}}),f=c.extend({init:function(e){c.fn.init.call(this,e);var t=" ";this.replacements=[/]*>\s*<\/span>/gi,t,/\t/gi,t,/    /gi,t]},applicable:function(e){return/    |class="?Apple-tab-span/i.test(e)}}),h=c.extend({init:function(e){c.fn.init.call(this,e),this.junkReplacements=[/<\?xml[^>]*>/gi,"",//g,"",/"/g,"'",/ <\/o:p>/gi," ",/<\/?(meta|link|style|o:|v:|x:)[^>]*>((?:.|\n)*?<\/(meta|link|style|o:|v:|x:)[^>]*>)?/gi,"",/<\/o>/g,""],this.replacements=this.junkReplacements.concat([/(?:
     [\s\r\n]+|
    )*(<\/?(h[1-6]|hr|p|div|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|address|pre|form|blockquote|dl|dt|dd|dir|fieldset)[^>]*>)(?:
     [\s\r\n]+|
    )*/g,"$1",/

    /g,"

    ",/
    (?!\n)/g," ",/]*)>(\s| )+]*>(\s| )*<\/tr>/gi,"",/]*>(\s| )*<\/tbody>/gi,"",/]*>(\s| )*<\/table>/gi,"",/

    /g,"
    ",/^\s*( )+/gi,"",/( |]*>)+\s*$/gi,"",/mso-[^;"]*;?/gi,"",/<(\/?)b(\s[^>]*)?>/gi,"<$1strong$2>",/<(\/?)font(\s[^>]*)?>/gi,this.convertFontMatch,/<(\/?)i(\s[^>]*)?>/gi,"<$1em$2>",/style=(["|'])\s*\1/g,"",/(]*>)?\n/g,function(e,t){return t?e:" "}])},convertFontMatch:function(e,t,n){var i=/face=['"]([^'"]+)['"]/i,o=i.exec(n),r=n&&o&&o[1];return t?"":r?'':""},applicable:function(e){return/class="?Mso/i.test(e)||/style="[^"]*mso-/i.test(e)||/urn:schemas-microsoft-com:office/.test(e)},stripEmptyAnchors:function(e){return e.replace(/]*)>\s*<\/a>/gi,function(e,t){return!t||t.indexOf("href")<0?"":e})},listType:function(e,t){var n,i=e.innerHTML,o=r.innerText(e),a=i.match(/^(?:]*texhtml[^>]*>)?]*(?:Symbol|Wingdings)[^>]*>([^<]+)/i),s=a&&a[1],l=/^[a-z\d]/i.test(s),d=function(e){return e.replace(/^(?: |[\u00a0\n\r\s])+/,"")};return a&&(n=!0),i=i.replace(/<\/?\w+[^>]*>/g,"").replace(/ /g," "),!n&&/^[\u2022\u00b7\u00a7\u00d8o]\u00a0+/.test(i)||n&&/^.\u00a0+/.test(i)||s&&!l&&t?{tag:"ul",style:this._guessUnorderedListStyle(d(o))}:/^\s*\w+[\.\)][\u00a0 ]{2,}/.test(i)?{tag:"ol",style:this._guessOrderedListStyle(d(o))}:void 0},_convertToLi:function(e){var t,n=r.name(e);return 1==e.childNodes.length?t=e.firstChild.nodeType===r.nodeTypes.TEXT_NODE?r.innerText(e):e.firstChild.innerHTML.replace(/^\w+[\.\)]( )+ /,""):(r.remove(e.firstChild),3==e.firstChild.nodeType&&/^[ivxlcdm]+\.$/i.test(e.firstChild.nodeValue)&&r.remove(e.firstChild),/^( |\s)+$/i.test(e.firstChild.innerHTML)&&r.remove(e.firstChild),t="p"!=n?"<"+n+">"+e.innerHTML+"":e.innerHTML),r.remove(e),r.create(document,"li",{innerHTML:t})},_guessUnorderedListStyle:function(e){return/^[\u2022\u00b7\u00FC\u00D8\u002dv-]/.test(e)?null:/^o/.test(e)?"circle":"square"},_guessOrderedListStyle:function(e){var t=null;return/^\d/.test(e)||(t=(/^[a-z]/.test(e)?"lower-":"upper-")+(/^[ivxlcdm]/i.test(e)?"roman":"alpha")),t},extractListLevels:function(e){var n=/style=['"]?[^'"]*?mso-list:\s?[a-zA-Z]+(\d+)\s[a-zA-Z]+(\d+)\s(\w+)/gi;return e=e.replace(n,function(e,n,i){return t.format('data-list="{0}" data-level="{1}" {2}',n,i,e)})},_createList:function(e,t){return r.create(document,e,{style:{listStyleType:t}})},lists:function(t){var n,i,o,a,s,d,u,c,p,f,h,m,g,v,_,b,y=e(t).find(r.blockElements.join(",")),w=-1,k={},x=["p","h1","h2","h3","h4","h5","h6"],C=!1;for(c=0;cw||!m)&&(m=this._createList(f,_.style),k[h][b]=m,i.appendChild(m)),i=this._convertToLi(p),m.appendChild(i),d?o=w=-1:w=h))},removeAttributes:function(e){for(var t=e.attributes,n=t.length;n--;)"colspan"!=r.name(t[n])&&e.removeAttributeNode(t[n])},createColGroup:function(n){var i=n.cells,o=e(n).closest("table"),r=o.children("colgroup");i.length<2||(r.length&&(i=r.children(),r[0].parentNode.removeChild(r[0])),r=e(e.map(i,function(e){var n=e.width;return n&&0!==parseInt(n,10)?t.format('',n):""}).join("")),r.is("colgroup")||(r=e("").append(r)),r.prependTo(o))},convertHeaders:function(t){var n,i=t.cells,o=e.map(i,function(t){var n=e(t).children("p").children("strong")[0];if(n&&"strong"==r.name(n))return n});if(o.length==i.length){for(n=0;n").end().find("thead").append(t),n=0;no.cells.length&&(o=n[a]);l.createColGroup(o),l.convertHeaders(i),l.removeAttributes(s[r]),l.removeParagraphs(s.eq(r).find("td,th")),l.removeDefaultColors(s.eq(r).find("span"))}},headers:function(t){var n,i=e(t).find("p.MsoTitle");for(n=0;n]*)\s+class="?[^"\s>]*"?/gi,"$1")),e}}),m=c.extend({init:function(e){c.fn.init.call(this,e),this.replacements=[/\s+class="Apple-style-span[^"]*"/gi,"",/<(div|p|h[1-6])\s+style="[^"]*"/gi,"<$1",/^
    (.*)<\/div>$/,"$1"]},applicable:function(e){return/class="?Apple-style-span|style="[^"]*-webkit-nbsp-mode/i.test(e)}}),g=c.extend({clean:function(e){var t=r.create(document,"div",{innerHTML:e});return t=this.cleanDom(t),t.innerHTML},cleanDom:function(e){return e}}),v=g.extend({cleanDom:function(t){var n=this.collectTags();return e(t).find(n).each(function(){r.unwrap(this)}),t},collectTags:function(){if(this.options.span)return"span"},applicable:function(){return this.options.span}}),_=g.extend({cleanDom:function(t){var n=this.collectAttr(),i=e(t).find("["+n.join("],[")+"]");return i.removeAttr(n.join(" ")),t},collectAttr:function(){return this.options.css?["class","style"]:[]},applicable:function(){return this.options.css}}),b=function(){this.text="",this.add=function(e){this.text+=e}},y=n.extend({init:function(e){this.separators=e||{text:" ",line:"
    "},this.lines=[],this.inlineBlockText=[],this.resetLine()},appendText:function(e){3===e.nodeType&&(e=e.nodeValue),this.textContainer.add(e)},appendInlineBlockText:function(e){this.inlineBlockText.push(e)},flashInlineBlockText:function(){this.inlineBlockText.length&&(this.appendText(this.inlineBlockText.join(" ")),this.inlineBlockText=[])},endLine:function(){this.flashInlineBlockText(),this.resetLine()},html:function(){var e,t,n,i,o,r,a,s,l=this.separators,d="",u=this.lines;for(this.flashInlineBlockText(),e=0,t=u.length,n=t-1;e"}},actions:{ul:e.noop,ol:e.noop,table:e.noop,thead:e.noop,tbody:e.noop,td:function(e,t){var n=new k({all:!0}),i=n.cleanDom(t);return e.htmlLines.appendInlineBlockText(i),!0},block:function(e){e.htmlLines.endLine()}}}),x=c.extend({clean:function(e){return this.options.custom(e)},applicable:function(){return"function"==typeof this.options.custom}});d(i,{Clipboard:u,Cleaner:c,ScriptCleaner:p,TabCleaner:f,MSWordFormatCleaner:h,WebkitFormatCleaner:m,HtmlTagsCleaner:v,HtmlAttrCleaner:_,HtmlContentCleaner:k,HtmlTextLines:y,CustomCleaner:x})}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/plugins/keyboard.min",["editor/command.min"],e)}(function(){!function(e){function t(e,t){return t.startContainer===e&&t.endContainer===e&&0===t.startOffset&&t.endOffset==e.childNodes.length}function n(e,t,n){for(var i=e?e[t]:null;i&&!n(i);)i=i[t];return i}var i=window.kendo,o=i.Class,r=i.ui.editor,a=r.RangeUtils,s=r.Dom,l=r.RestorePoint,d=r.Marker,u=i.support.browser,c="\ufeff",p=e.extend,f=s.nodeTypes,h="previousSibling",m="td,th,caption",g="table,tbody,thead,tfoot,tr",v=g+","+m,_=function(t){return!t.collapsed&&e(t.commonAncestorContainer).is(g)},b=o.extend({remove:function(t){var n,i,o,r,l,u,c,p=this,f=new d;f.add(t,!1),n=a.getAll(t,function(t){return e(t).is(v)}),i=a.documentFromRange(t),o=f.start,r=f.end,l=m.split(","),u=s.parentOfType(o,l),c=s.parentOfType(r,l),p._removeContent(o,u,!0),p._removeContent(r,c,!1),e(n).each(function(t,n){n=e(n),(n.is(m)?n:n.find(m)).each(function(e,t){t.innerHTML=""})}),u&&!o.previousSibling&&s.insertBefore(i.createTextNode("\ufeff"),o),c&&!r.nextSibling&&s.insertAfter(i.createTextNode("\ufeff"),r),u?t.setStartBefore(o):n[0]&&(u=e(n[0]),u=u.is(m)?u:u.find(m).first(),u.length&&t.setStart(u.get(0),0)),t.collapse(!0),s.remove(o),s.remove(r)},_removeContent:function(t,n,i){if(n){var o,r=i?"nextSibling":"previousSibling",a=function(t){for(;t&&!t[r];)t=t.parentNode;return t&&e.contains(n,t)?t[r]:null};for(t=a(t);t;)o=a(t),s.remove(t),t=o}}}),y=o.extend({init:function(e){this.editor=e},keydown:function(n){var i,o,a,s,d=this,c=d.editor,f=c.keyboard,h=f.isTypingKey(n),m=p(e.Event(),n);return d.editor.trigger("keydown",m),m.isDefaultPrevented()?(n.preventDefault(),!0):!(m.isDefaultPrevented()||!h||f.isTypingInProgress())&&(i=c.getRange(),o=c.body,d.startRestorePoint=new l(i,o),_(i)&&(a=new b(c),a.remove(i),c.selectRange(i)),u.webkit&&!i.collapsed&&t(o,i)&&(o.innerHTML=""),c.immutables&&r.Immutables.immutablesContext(i)&&(s=new r.BackspaceHandler(c),s.deleteSelection(i)),f.startTyping(function(){d.endRestorePoint=r._finishUpdate(c,d.startRestorePoint)}),!0)},keyup:function(e){var t=this.editor.keyboard;return this.editor.trigger("keyup",e),!!t.isTypingInProgress()&&(t.endTyping(),!0)}}),w=o.extend({init:function(e){this.editor=e},_addCaret:function(e){var t=s.create(this.editor.document,"a");return!i.support.browser.chrome&&e.firstChild&&e.firstChild.nodeType===f.ELEMENT_NODE&&(e=e.firstChild),s.insertAt(e,t,0),s.stripBomNode(t.previousSibling),s.stripBomNode(t.nextSibling),t},_restoreCaret:function(e){var t=this.editor.createRange();!e.nextSibling&&s.isDataNode(e.previousSibling)?t.setStart(e.previousSibling,e.previousSibling.length):t.setStartAfter(e),t.collapse(!0),this.editor.selectRange(t),s.remove(e)},_handleDelete:function(e){var t,n,i=e.endContainer,o=s.closestEditableOfType(i,s.blockElements);return!(!o||!r.RangeUtils.isEndOf(e,o))&&(t=s.next(o),!(!t||"p"!=s.name(t))&&(n=this._addCaret(t),this._merge(o,t),this._restoreCaret(n),!0))},_cleanBomBefore:function(e){for(var t=e.startOffset,n=e.startContainer,i=n.nodeValue,o=0;t-o>=0&&"\ufeff"==i[t-o-1];)o++;o>0&&(n.deleteData(t-o,o),e.setStart(n,Math.max(0,t-o)),e.collapse(!0),this.editor.selectRange(e))},_handleBackspace:function(t){var i,o,a,l,d,u,c,p,f,m,g,v,_,b=t.startContainer,y=s.closestEditableOfType(b,["li"]),w=s.closestEditableOfType(b,"p,h1,h2,h3,h4,h5,h6".split(",")),k=this.editor;if(s.isDataNode(b)){if(t.collapsed&&/^\s[\ufeff]+$/.test(b.nodeValue))return t.setStart(b,0),t.setEnd(b,b.length),k.selectRange(t),!1;this._cleanBomBefore(t)}return i=n(w,h,function(e){return!s.htmlIndentSpace(e)}),t.collapsed&&t.startOffset!==t.endOffset&&t.startOffset<0&&(t.startOffset=0,t.endOffset=0,k.selectRange(t)),o=y&&r.RangeUtils.isStartOf(t,y),a=y&&e(y).index(),l=o&&a>0,l&&(w=y,i=s.prev(y)),w&&i&&s.is(i,"table")&&r.RangeUtils.isStartOf(t,w)?(""===w.innerText&&(w.innerHTML="\ufeff"),!0):r.RangeUtils.isStartOf(t,w)&&(parseInt(w.style.marginLeft,10)>0||parseInt(w.style.marginRight,10)>0)?(k.exec("outdent"),!0):w&&i&&r.RangeUtils.isStartOf(t,w)||l?(d=this._addCaret(w),this._merge(i,w),this._restoreCaret(d),!0):o&&0===a?(u=y.firstChild,u||(y.innerHTML=r.emptyElementContent,u=y.firstChild),c=new r.ListFormatter(s.name(y.parentNode),"p"),t.selectNodeContents(y),c.toggle(t),s.insignificant(u)?t.setStartBefore(u):t.setStart(u,0),k.selectRange(t),!0):(p=b.childNodes[t.startOffset-1],f=t,m=p&&s.closestEditableOfType(p,["a"]),g=n(p||b,h,function(e){return!s.isDataNode(e)||!s.isBom(e)&&e.length>0}),(m||(0===t.startOffset||p)&&s.is(g,"a"))&&(m=m||g,f=k.createRange(),f.setStart(m,m.childNodes.length),f.collapse(!0)),m=m||s.closestEditableOfType(p||f.startContainer,["a"]),v=m&&r.RangeUtils.isEndOf(f,m),v&&(_=new r.UnlinkCommand({range:f,body:k.body,immutables:!!k.immutables}),k.execCommand(_),k._selectionChange()),!1)},_handleSelection:function(t){var n,i,o,a,l,u=t.commonAncestorContainer,c=s.closest(u,"table"),p=r.emptyElementContent,f=this.editor;return _(t)?(i=new b(f),i.remove(t),f.selectRange(t),!0):(o=new d,o.add(t,!1),t.commonAncestorContainer===f.body&&this._surroundFullyContent(o,t),f.immutables&&this._handleImmutables(o),this._surroundFullySelectedAnchor(o,t),t.setStartAfter(o.start),t.setEndBefore(o.end),a=t.startContainer,l=t.endContainer,t.deleteContents(),"li"===l.tagName.toLocaleLowerCase()&&s.emptyNode(l)&&(t.selectNode(l),t.deleteContents()),c&&""===e(c).text()&&(t.selectNode(c),t.deleteContents()),u=t.commonAncestorContainer,"p"===s.name(u)&&""===u.innerHTML&&(u.innerHTML=p,t.setStart(u,0)),this._join(a,l),s.insertAfter(f.document.createTextNode("\ufeff"),o.start),o.remove(t),a=t.startContainer,"tr"==s.name(a)&&(a=a.childNodes[Math.max(0,t.startOffset-1)],t.setStart(a,s.getNodeLength(a))),t.collapse(!0),f.selectRange(t),n=a.parentElement||a.parentNode,s.isDataNode(a)&&!s.emptyNode(n)&&this._cleanBomBefore(t),!0)},_handleImmutables:function(e){var t=r.Immutables.immutableParent,n=t(e.start),i=t(e.start);n&&s.insertBefore(e.start,n),i&&s.insertAfter(e.end,i),n&&s.remove(n),i&&i.parentNode&&s.remove(i)},_surroundFullyContent:function(e,t){var n=t.commonAncestorContainer.children,i=n[0],o=n[n.length-1];this._moveMarker(e,t,i,o)},_surroundFullySelectedAnchor:function(t,n){var i=t.start,o=e(i).closest("a").get(0),r=t.end,a=e(r).closest("a").get(0);this._moveMarker(t,n,o,a)},_moveMarker:function(e,t,n,i){var o=e.start,r=e.end;n&&a.isStartOf(t,n)&&s.insertBefore(o,n),i&&a.isEndOf(t,i)&&s.insertAfter(r,i)},_root:function(e){for(;e&&"body"!=s.name(e)&&e.parentNode&&"body"!=s.name(e.parentNode);)e=e.parentNode;return e},_join:function(e,t){e=this._root(e),t=this._root(t),e!=t&&s.is(t,"p")&&this._merge(e,t)},_merge:function(e,t){for(s.removeTrailingBreak(e);e&&t.firstChild;)1==e.nodeType?(e=s.list(e)?e.children[e.children.length-1]:e,e&&e.appendChild(t.firstChild)):e.nodeType===f.TEXT_NODE?this._mergeWithTextNode(e,t.firstChild):e.parentNode.appendChild(t.firstChild);s.remove(t)},_mergeWithTextNode:function(e,t){e&&e.nodeType===f.TEXT_NODE&&(e.nextSibling&&this._isCaret(e.nextSibling)?s.insertAfter(t,e.nextSibling):s.insertAfter(t,e))},_isCaret:function(t){return e(t).is("a")},keydown:function(e){var t,n,o=this.editor,a=o.getRange(),s=e.keyCode,d=i.keys,u=s===d.BACKSPACE,c=s==d.DELETE;o.immutables&&o.immutables.keydown(e,a)||(!u&&!c||a.collapsed?u?t="_handleBackspace":c&&(t="_handleDelete"):t="_handleSelection",t&&(n=new l(a,o.body),this[t](a)&&(e.preventDefault(),r._finishUpdate(o,n))))},deleteSelection:function(e){this._handleSelection(e)},keyup:e.noop}),k=o.extend({init:function(e){this.editor=e,this.systemCommandIsInProgress=!1},createUndoCommand:function(){this.startRestorePoint=this.endRestorePoint=r._finishUpdate(this.editor,this.startRestorePoint)},changed:function(){return!!this.startRestorePoint&&this.startRestorePoint.html!=this.editor.body.innerHTML},keydown:function(e){var t=this,n=t.editor,i=n.keyboard;return i.isModifierKey(e)?(i.isTypingInProgress()&&i.endTyping(!0),t.startRestorePoint=new l(n.getRange(),n.body),!0):!!i.isSystem(e)&&(t.systemCommandIsInProgress=!0,t.changed()&&(t.systemCommandIsInProgress=!1,t.createUndoCommand()),!0)},keyup:function(){var e=this;return!(!e.systemCommandIsInProgress||!e.changed())&&(e.systemCommandIsInProgress=!1,e.createUndoCommand(),!0)}}),x=o.extend({init:function(e){this.editor=e},keydown:function(e){!u.webkit||e.isDefaultPrevented()||!e.ctrlKey||65!=e.keyCode||e.altKey||e.shiftKey||(this.editor.options.immutables&&this._toSelectableImmutables(),this._selectEditorBody())},_selectEditorBody:function(){var e=this.editor,t=e.getRange();t.selectNodeContents(e.body),e.selectRange(t)},_toSelectableImmutables:function(){for(var t=this.editor,n=t.body,i=r.Immutables.immutable,o=s.emptyTextNode,a=n.firstChild,l=n.lastChild;o(a);)a=a.nextSibling;for(;o(l);)l=l.previousSibling;a&&i(a)&&e(c).prependTo(n),l&&i(l)&&e(c).appendTo(n)},keyup:e.noop}),C=o.extend({init:function(e){this.handlers=e,this.typingInProgress=!1},isCharacter:function(e){return e>=48&&e<=90||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||229==e},toolFromShortcut:function(t,n){var i,o,r=String.fromCharCode(n.keyCode),a=this._getShortcutModifier(n,navigator.platform);for(i in t)if(o=e.extend({ctrl:!1,alt:!1,shift:!1},t[i].options),(o.key==r||o.key==n.keyCode)&&o.ctrl==a&&o.alt==n.altKey&&o.shift==n.shiftKey)return i},_getShortcutModifier:function(e,t){var n=t.toUpperCase().indexOf("MAC")>=0;return n?e.metaKey:e.ctrlKey},toolsFromShortcut:function(t,n){var i,o,r,a=String.fromCharCode(n.keyCode),s=[],l=function(e){return e==a||e==n.keyCode||e==n.charCode};for(i in t)o=e.extend({ctrl:!1,alt:!1,shift:!1},t[i].options),r=e.isArray(o.key)?e.grep(o.key,l).length>0:l(o.key),r&&o.ctrl==n.ctrlKey&&o.alt==n.altKey&&o.shift==n.shiftKey&&s.push(t[i]);return s},isTypingKey:function(e){var t=e.keyCode;return this.isCharacter(t)&&!e.ctrlKey&&!e.altKey||32==t||13==t||8==t||46==t&&!e.shiftKey&&!e.ctrlKey&&!e.altKey},isModifierKey:function(e){var t=e.keyCode;return 17==t&&!e.shiftKey&&!e.altKey||16==t&&!e.ctrlKey&&!e.altKey||18==t&&!e.ctrlKey&&!e.shiftKey},isSystem:function(e){return 46==e.keyCode&&e.ctrlKey&&!e.altKey&&!e.shiftKey},startTyping:function(e){this.onEndTyping=e,this.typingInProgress=!0},stopTyping:function(){this.typingInProgress&&this.onEndTyping&&this.onEndTyping(),this.typingInProgress=!1},endTyping:function(t){var n=this;n.clearTimeout(),t?n.stopTyping():n.timeout=window.setTimeout(e.proxy(n.stopTyping,n),1e3)},isTypingInProgress:function(){return this.typingInProgress},clearTimeout:function(){window.clearTimeout(this.timeout)},notify:function(e,t){var n,i=this.handlers;for(n=0;n0)for(t=0;tt.clientHeight?e.support.scrollbar():0}function o(e,t){return r(e)?f(e):f(e)/t*100}function r(e){return typeof e===w&&b.test(e)}function a(e){return typeof e===w&&y.test(e)}function s(e){return f(e)+v}function l(e){return f(e)+_}var d=window,u=d.Math,c=u.min,p=u.max,f=d.parseFloat,h=e.jQuery,m=h.extend,g=e.ui.editor,v="%",_="px",b=/(\d+)(\.?)(\d*)%/,y=/(\d+)(\.?)(\d*)px/,w="string",k={constrain:n,getScrollBarWidth:i,calculatePercentageRatio:o,inPercentages:r,inPixels:a,toPercentages:s,toPixels:l};m(g,{ResizingUtils:k})}(window.kendo)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/resizing/table-element-resizing.min",["editor/main.min","kendo.resizable.min","editor/resizing/resizing-utils.min"],e)}(function(){!function(e,t){var n=e.jQuery,i=n.extend,o=n.noop,r=n.proxy,a=e.ui.editor,s=e.Class,l="keydown",d="mousedown",u="mouseenter",c="mouseleave",p="mousemove",f="mouseup",h=",",m=".",g=":last-child",v="table",_=s.extend({init:function(e,t){var o=this;o.options=i({},o.options,t),o.options.tags=n.isArray(o.options.tags)?o.options.tags:[o.options.tags],n(e).is(v)&&(o.element=e,o._attachEventHandlers())},destroy:function(){var e=this,t=e.options.eventNamespace;e.element&&(n(e.element).off(t),e.element=null),n(e.options.rootElement).off(l+t),e._destroyResizeHandle()},options:{tags:[],min:0,rootElement:null,eventNamespace:"",rtl:!1,handle:{dataAttribute:"",height:0,width:0,classNames:{},template:""}},_attachEventHandlers:function(){var e=this,t=e.options;n(e.element).on(p+t.eventNamespace,t.tags.join(h),r(e.detectElementBorderHovering,e))},resizingInProgress:function(){var e=this,t=e._resizable;return!!t&&!!t.resizing},resize:o,detectElementBorderHovering:function(e){var t=this,i=t.options,o=i.handle,r=n(e.currentTarget),a=t.resizeHandle,s=o.dataAttribute;t.resizingInProgress()||(!r.is(g)&&t.elementBorderHovered(r,e)?a?a.data(s)&&a.data(s)!==r[0]&&t.showResizeHandle(r,e):t.showResizeHandle(r,e):a&&t._destroyResizeHandle())},elementBorderHovered:o,showResizeHandle:function(e,t){var n=this;0===t.buttons&&(n._initResizeHandle(),n.setResizeHandlePosition(e),n.setResizeHandleDimensions(),n.setResizeHandleDataAttributes(e[0]),n._attachResizeHandleEventHandlers(),n._initResizable(e),n._hideResizeMarker(),n.resizeHandle.show())},_initResizeHandle:function(){var e=this,t=e.options;e._destroyResizeHandle(),e.resizeHandle=n(t.handle.template).appendTo(t.rootElement)},setResizeHandlePosition:o,setResizeHandleDimensions:o,setResizeHandleDataAttributes:function(e){var t=this;t.resizeHandle.data(t.options.handle.dataAttribute,e)},_attachResizeHandleEventHandlers:function(){var e=this,t=e.options,n=t.eventNamespace,i=t.handle.classNames.marker,o=e.resizeHandle;e.resizeHandle.on(d+n,function(){o.find(m+i).show()}).on(f+n,function(){o.find(m+i).hide()})},_hideResizeMarker:function(){var e=this;e.resizeHandle.find(m+e.options.handle.classNames.marker).hide()},_destroyResizeHandle:function(){var e=this;e.resizeHandle&&(e._destroyResizable(),e.resizeHandle.off(e.options.eventNamespace).remove(),e.resizeHandle=null)},_initResizable:function(t){var n=this;n.resizeHandle&&(n._destroyResizable(),n._resizable=new e.ui.Resizable(t,{draggableElement:n.resizeHandle[0],start:r(n.onResizeStart,n),resize:r(n.onResize,n),resizeend:r(n.onResizeEnd,n)}))},_destroyResizable:function(){var e=this;e._resizable&&(e._resizable.destroy(),e._resizable=null)},onResizeStart:function(){this._disableKeyboard()},onResize:function(e){this.setResizeHandleDragPosition(e)},setResizeHandleDragPosition:o,onResizeEnd:function(e){var t=this;t.resize(e),t._destroyResizeHandle(),t._enableKeyboard()},_enableKeyboard:function(){var e=this.options;n(e.rootElement).off(l+e.eventNamespace)},_disableKeyboard:function(){var e=this.options;n(e.rootElement).on(l+e.eventNamespace,function(e){e.preventDefault()})},_forceResizing:function(e){var t=this._resizable;t&&t.userEvents&&t.userEvents._end(e)}}),b=s.extend({create:function(e,t){var i=this,o=t.name,r=t.eventNamespace;n(e.body).on(u+r,v,function(n){var r=n.currentTarget,a=e[o];n.stopPropagation(),a?a.element===r||a.resizingInProgress()||(i._destroyResizing(e,t),i._initResizing(e,r,t)):i._initResizing(e,r,t)}).on(c+r,v,function(r){var a,s=e[o];r.stopPropagation(),!s||s.resizingInProgress()||s.resizeHandle||(a=n(s.element).parents(v)[0],a&&(i._destroyResizing(e,t),i._initResizing(e,a,t)))}).on(c+r,function(){var n=e[o];n&&!n.resizingInProgress()&&i._destroyResizing(e,t)}).on(f+r,function(r){var a,s=e[o];s&&s.resizingInProgress()&&(a=n(r.target).parents(v)[0],a&&(s._forceResizing(r),i._destroyResizing(e,t),i._initResizing(e,a,t)))})},dispose:function(e,t){n(e.body).off(t.eventNamespace)},_initResizing:function(t,n,i){var o=i.name,r=i.type;t[o]=new r(n,{rtl:e.support.isRtl(t.element),rootElement:t.body})},_destroyResizing:function(e,t){var n=t.name;e[n]&&(e[n].destroy(),e[n]=null)}});b.current=new b,_.create=function(e,t){b.current.create(e,t)},_.dispose=function(e,t){b.current.dispose(e,t)},i(a,{TableElementResizing:_})}(window.kendo)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/resizing/column-resizing.min",["editor/main.min","editor/resizing/resizing-utils.min","editor/resizing/table-element-resizing.min","editor/dom.min"],e)}(function(){!function(e,t){var n=window,i=n.Math,o=i.abs,r=e.jQuery,a=r.extend,s=e.ui.editor,l=s.Dom,d=s.TableElementResizing,u=s.ResizingUtils,c=u.constrain,p=u.calculatePercentageRatio,f=u.getScrollBarWidth,h=u.inPercentages,m=u.toPercentages,g=u.toPixels,v=e._outerWidth,_=".kendoEditorColumnResizing",b="k-column-resize-handle",y="k-column-resize-marker",w="body",k="tbody",x="thead",C="td",T="th",S="tr",F="col-index",D=",",I="width",z=d.extend({options:{tags:[C,T],min:20,rootElement:null,eventNamespace:_,rtl:!1,handle:{dataAttribute:"column",width:10,height:0,classNames:{handle:b,marker:y},template:'
    '}},elementBorderHovered:function(e,t){var n=this,i=n.options,o=i.handle.width,a=e.offset().left+(i.rtl?0:v(e)),s=t.clientX+r(e[0].ownerDocument).scrollLeft();return s>a-o&&s0?t.height()+n.height():n.height();e.resizeHandle.css({width:e.options.handle.width,height:i})},setResizeHandleDragPosition:function(e){var t=this,n=r(r(e.currentTarget).data(t.options.handle.dataAttribute)),i=t.options,o=r(i.rootElement),a=i.handle?i.handle.width:0,s=i.min,l=i.rtl,d=v(n),u=n.offset().left-(o.offset().left+parseFloat(o.css("borderLeftWidth")))-parseFloat(n.css("marginLeft")),p=v(n.next()),h=r(t.resizeHandle),m=o.is(w)?0:o.scrollLeft(),g=l?f(o[0]):0,_=h.offset().left-(o.offset().left+parseFloat(o.css("borderLeftWidth")))-parseFloat(h.css("marginLeft")),b=c({value:_+(m-g)+e.x.delta,min:u+(m-g)-(l?p:0)+s,max:u+d+(m-g)+(l?0:p)-a-s});h.css({left:b})},resize:function(e){var t,n,i,o,a,s=this,d=r(r(e.currentTarget).data(s.options.handle.dataAttribute)),u=s.options,p=u.rtl?-1:1,f=u.min,h=p*e.x.initialDelta;l.reMapTableColumns(s.element,F),o=parseInt(d.attr(F),10),d.prop("colSpan")>1&&(d=r(s.element).find("["+F+"="+(o+d.prop("colSpan")-1)+"]").eq(0),o=parseInt(d.attr(F),10)),a=r(s.element).find("["+F+"="+(o+1)+"]:not([colspan])"),s._setTableComputedWidth(),s._setColumnsComputedWidth(),i=v(d),n=v(a),t=c({value:i+h,min:f,max:i+n-f}),s._resizeColumn(d[0],t),s._resizeTopAndBottomColumns(d[0],t),s._resizeAdjacentColumns(parseInt(d.attr(F),10),n,i,i-t),l.clearTableMappings(s.element,F)},_setTableComputedWidth:function(){var e=this.element;""===e.style[I]&&(e.style[I]=g(v(r(e))))},_setColumnsComputedWidth:function(){var e,t=this,n=r(t.element.tHead||t.element.tBodies[0]),i=v(n),o=n.children(S).children(C),a=o.length,s=o.map(function(){return v(r(this))});for(e=0;e
    '}},elementBorderHovered:function(e,t){var n=this,i=n.options.handle[T],r=e.offset().top+m(e),a=t.clientY+o(e[0].ownerDocument).scrollTop();return a>r-i&&a0?r:a,l=o(t.resizeHandle),d=o(e.currentTarget).data(n.handle.dataAttribute),c=o(d),p=o(n.rootElement),f=p.is(y)?0:p.scrollTop(),h=s.offset().top-(p.offset().top+parseFloat(p.css("borderTopWidth")))-parseFloat(s.css("marginTop")),g=c.offset().top-(p.offset().top+parseFloat(p.css("borderTopWidth")))-parseFloat(c.css("marginTop")),v=l.offset().top-(Math.max(0,p.offset().top)+parseFloat(p.css("borderTopWidth")))-parseFloat(l.css("marginTop")),_=u({value:v+f+e.y.delta,min:g+f+i,max:h+m(r)+m(a)+f-n.handle[T]-i});l.css({top:_})},resize:function(e){var t=this,n=t.options,r=o(e.currentTarget).data(n.handle.dataAttribute),a=m(o(r)),s=o(t.element),l=m(s),d=s.children(x),c=d.length>0?d.height():0,f=s.children(k),g=f.height(),v=r.style[T],_=u({value:a+e.y.initialDelta,min:n.min,max:i(c+g-n.min)});t._setRowsHeightInPixels(),r.style[T]=h(_),t._setTableHeight(l+(_-a)),p(v)&&t._setRowsHeightInPercentages()},_setRowsHeightInPixels:function(){var e,t=this,n=o(t.element).children(k+C+x).children(w),i=n.length,r=n.map(function(){return m(o(this))});for(e=0;e0?n.height():0,r=o(t.element).children(k),a=r.height(),s=o(t.element).children(x+C+k).children(w),l=s.length,d=s.map(function(){return m(o(this))});for(e=0;e
  • "},events:[M,O,B,V,U],show:function(){this._setPosition()},_setPosition:function(){var e=this,t=e._positioningStrategy.getPosition();C(e.element).css({top:t.top,left:t.left,position:"absolute"})},_attachEventHandlers:function(){var e=this;C(e.element).on(V+H,F(e._onMouseOver,e)).on(U+H,F(e._onMouseOut,e))},_onMouseOver:function(){this.trigger(V)},_onMouseOut:function(){this.trigger(U)},_addStyles:function(){var e=this;C(e.element).children(Z+P).addClass("k-resize-"+e.options.direction)},_initPositioningStrategy:function(){var e=this,t=e.options;e._positioningStrategy=n.create({name:t.direction,handle:e.element,resizableElement:t.resizableElement,rootElement:t.rootElement,rtl:t.rtl})},_initDraggable:function(){var e=this,t=e.element;!e._draggable&&t&&(e._draggable=new z(t,{dragstart:F(e._onDragStart,e),drag:F(e._onDrag,e),dragend:F(e._onDragEnd,e)}))},_onDragStart:function(){this.trigger(M)},_onDrag:function(e){var t=this;t.trigger(O,t._draggingStrategy.adjustDragDelta({deltaX:e.x.delta,deltaY:e.y.delta,initialDeltaX:e.x.initialDelta,initialDeltaY:e.y.initialDelta}))},_onDragEnd:function(){this.trigger(B)},_destroyDraggable:function(){var e=this;e._draggable&&(e._draggable.destroy(),e._draggable=null)},_initDraggingStrategy:function(){var e=this;e._draggingStrategy=p.create({name:e.options.direction})}}),te=I.extend({init:function(){this._items=[]},register:function(e,t){this._items.push({name:e,type:t})},create:function(e){var t,n,i,o=this._items,r=o.length,a=e.name?e.name.toLowerCase():"";for(i=0;ih?(o=a(d,h),l=r(d,h)):(o=r(d,h),l=a(d,h)),i=y(g(o,l))):i=w(d),u._setColumnsWidth(),c[0].style[V]=i)},_resizeHeight:function(e,t){var i,o,l,d,u=this,c=s(u.element),p=c[0].style[U],f=x(c),h=c.parent(),m=h.height(),b=u._getMaxDimensionValue(U),k=u.options.minHeight,C=u._hasRowsInPixels();0!==e&&(n(u._initialElementHeight)&&(u._initialElementHeight=f),d=v({value:u._initialElementHeight+t,min:k,max:b}),C&&e<0&&u._setRowsHeightInPercentages(),_(p)?(f+e>m?(o=a(d,m),l=r(d,m)):(o=r(d,m),l=a(d,m)),i=y(g(o,l))):i=w(d),c[0].style[U]=i,C&&e<0&&u._setRowsHeightInPixels())},_getMaxDimensionValue:function(e){var t=this,n=s(t.element),i=e.toLowerCase(),o=t.options.rtl?-1:1,r=s(t.element).parent(),a=r[0],l=r[i](),d=o*(e===V?r.scrollLeft():r.scrollTop());return a===n.closest(H)[0]?""!==a.style[i]||_(t.element.style[i])?l+d:1/0:l+d},_setColumnsWidth:function(){function e(e){var t=e.style.width;return""!==t?!!_(t):!!s(e).hasClass(S)}var t,n=this,i=s(n.element),o=i.parent()[0],r=i.closest(H),a=r.closest(P).children(),l=a.length;if(e(i[0])&&o===r[0]&&""===o.style[V])for(t=0;t0?n.height():0,o=s(t.element).children(M),r=o.height(),a=s(t.element).children(O+L+M).children(P),l=a.length,d=a.map(function(){return x(s(this))});for(e=0;e0)){for(e=0;e0;!n||i===o||l(i,o)||r||e._destroyTableResizing()})},dispose:function(e){s(e.body).off(C)},_initResizing:function(t,n){c.msie||c.mozilla||(t.tableResizing=new J(n,{appendHandlesTo:t.body,rtl:e.support.isRtl(t.element),rootElement:t.body}))}});Z.current=new Z,J.create=function(e){Z.current.create(e)},J.dispose=function(e){Z.current.dispose(e)},d(p,{TableResizing:J})}(window.kendo)},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()}),function(e,define){define("editor/table-wizard/table-wizard-command.min",["editor/plugins/tables.min"],e)}(function(){!function(e,t){var n=window.kendo,i=n.ui.editor,o=i.EditorUtils,r=i.RangeUtils,a=i.Dom,s=o.registerTool,l=i.ToolTemplate,d=i.Command,u=new i.BlockFormatFinder([{tags:["table"]}]),c=new i.BlockFormatFinder([{tags:["td","th"]}]),p=/([a-z]+|%)$/i,f="col",h="row",m="colgroup",g="scope",v="col-index",_="th",b="td",y="thead",w="headers",k="table",x=d.extend({exec:function(){var o=this,r=o.editor,a=o.range=o.lockRange(),s=o._sourceTable=o.options.insertNewTable?t:o._selectedTable(a),l=o._selectedTableCells=s?o._selectedCells(a):t,d={visible:!1,messages:r.options.messages,closeCallback:e.proxy(o.onDialogClose,o),table:o.parseTable(s,l),dialogOptions:r.options.dialogOptions,isRtl:n.support.isRtl(r.wrapper)},u=new i.TableWizardDialog(d);u.open()},onDialogClose:function(e){var t=this;t.releaseRange(t.range),e&&(t.options.insertNewTable?t.insertTable(t.createNewTable(e)):t.updateTable(e,t._sourceTable,t._selectedTableCells))},releaseRange:function(e){var t=this,n=t.editor.document;a.windowFromDocument(n).focus(),d.fn.releaseRange.call(t,e)},insertTable:function(e){var t=this.range;t.insertNode(e),t.collapse(!0),this.editor.selectRange(t),this._ensureFocusableAfterTable(e)},_ensureFocusableAfterTable:function(t){for(var n=e(t).parent().contents(),i=n.length-1,o=n.get(i);null!==o.nodeValue&&(" "===o.nodeValue||""===o.nodeValue);)i-=1,o=n.get(i);o===t&&a.insertAfter(a.createEmptyNode(this.editor.document,"p"),t)},updateTable:function(t,n,i){for(var o,r,s,l,d,u,c,p,f=this,h=e(n.rows).toArray(),m=t.tableProperties,g=m.rows,_=m.columns,b=n.tHead,y=function(e){return e[e.length-1]};i.length>1;)i.pop();if(o=i.length?y(i).parentNode:y(h),f._deleteTableRows(h,h.length-g),h.length_&&e(h).each(function(e,t){for(;t.cells.length>_;)t.deleteCell(-1)}),h[0].cells.length<_&&(c=e(y(i)||y(o.cells)).index(),e(h).each(function(e,t){f._insertCells(_-t.cells.length,t,c+1)})),f._updateTableProperties(n,m),p=t.cellProperties,i[0]&&a.attr(i[0],{id:p.id||null}),(p.selectAllCells?e(h).children():e(i)).each(function(e,t){f._updateCellProperties(t,p)}),f._updateCaption(n,m),a.reMapTableColumns(n,v),b?f._updateHeadersWithThead(n,t):f._updateHeadersNoThead(n,t),f._updateHeaderAssociates(n,m),a.clearTableMappings(n,v)},_isHeadingRow:function(e){return a.is(e.cells[0],_)&&a.is(e.parentNode,y)},_isHeadingCell:function(e){return a.is(e,_)},cellsWithHeadersAssociated:function(t){var n,i=e(t.rows).children(),o=[],r=function(e){return o.indexOf(e)>-1};return i.each(function(e,t){t.id&&a.is(t,_)&&o.push(t.id)}),n=i.filter(function(e,t){var n,i=t.getAttribute(w);return!!(i&&!a.is(t,_)&&(n=i.split(" "),n&&n.length>0))&&n.some(r)}),!!n.length},_insertCells:function(e,t,n){n=isNaN(n)?-1:n;for(var i,o=0;o0&&(t=s.createTHead(),i._createTableRows(e,t,l,!0),l+=r.headerRows),n=s.createTBody(),i._createTableRows(e,n,l,!1),a.reMapTableColumns(s,v),"ids"===r.cellsWithHeaders?a.associateWithIds(s):"scope"===r.cellsWithHeaders&&i._addScopes(s,r.headerRows,r.headerColumns),a.clearTableMappings(s,v),s},_createTableRows:function(e,t,n,i){var o,r,a,s,l=this,d=e.tableProperties,u=e.cellProperties,c=d.columns,p=i?d.headerRows:d.rows,f=u.selectAllCells,h=d.headerColumns;for(o=n;oa?document.createElement(_):document.createElement(b),r.appendChild(s),s.innerHTML=" ",0===o&&0===a&&u.id&&(s.id=u.id),l._updateCellProperties(s,f||0===o&&0===a?u:{})},_updateTableProperties:function(t,n){var i=this._getStylesData(n);a.attr(t,{cellSpacing:n.cellSpacing||null,cellPadding:n.cellPadding||null,className:n.className||null,id:n.id||null,summary:n.summary||null,style:i||null}),e(t).addClass("k-table")},_updateCellProperties:function(e,t){var n=this._getStylesData(t);n.padding=t.cellPadding||null,n.margin=t.cellMargin||null,a.attr(e,{style:n||null,className:t.className||null})},_updateCaption:function(e,t){var n,i;e.caption&&!t.captionContent?e.deleteCaption():t.captionContent&&(n=e.createCaption(),n.innerHTML=t.captionContent,i=this._getAlignmentData(t.captionAlignment),a.attr(n,{style:{textAlign:i.textAlign,verticalAlign:i.verticalAlign}}))},_updateHeadersNoThead:function(e,t){var n,i,o,r,s,l=this,d=t.tableProperties,u=e.rows;for(r=0;ro.getAttribute(v))?a.changeTag(o,_,!1):l._isHeadingCell(o)&&r>=d.headerRows&&d.headerColumns<=o.getAttribute(v)&&a.changeTag(o,b,!1)},_updateHeadersWithThead:function(e,t){var n,i,o,r=this,s=t.tableProperties,l=e.tHead,d=0,u=e.tBodies[0];if(u||(u=e.createTBody()),s.headerRows&&s.headerRows>0){for(l||(l=e.createTHead());l.rows.lengths.headerRows;)u.appendChild(l.rows[0]);r._swapToHeaderCells(l)}else if(l){for(;l.rows.length>0;)u.appendChild(l.rows[l.rows.length-1]);e.deleteTHead()}for(;u.rows.length>d;){for(n=u.rows[d],o=0;oi.getAttribute(v)&&a.changeTag(i,_,!1);d+=1}},_updateHeaderAssociates:function(e,t){var n=this;"ids"===t.cellsWithHeaders?(n.cellsWithHeadersAssociated(e)||n._removeScopes(e),a.associateWithIds(e)):"scope"===t.cellsWithHeaders?(n.cellsWithHeadersAssociated(e)&&n._removeAssociates(e),n._addScopes(e,t.headerRows,t.headerColumns)):n.cellsWithHeadersAssociated(e)?n._removeAssociates(e):n._removeScopes(e)},_addScopes:function(e,t,n){var i,o,r,a,s=e.rows;for(i=0;i0?"scope":"none",a.reMapTableColumns(n,v),m=a._getNumberOfColumns(n),g=a._getNumberOfHeaderColumns(n,f),a.clearTableMappings(n,v),_={tableProperties:{width:r.width||n.width?parseFloat(r.width||n.width):null,height:r.height||n.height?parseFloat(r.height||n.height):null,columns:m,rows:s.length,widthUnit:o._getUnit(r.width),heightUnit:o._getUnit(r.height),cellSpacing:n.cellSpacing,cellPadding:n.cellPadding,alignment:c.textAlign,bgColor:r.backgroundColor||n.bgColor,className:u,id:n.id,borderWidth:r.borderWidth||n.border,borderColor:r.borderColor,borderStyle:r.borderStyle||"",collapseBorders:!!r.borderCollapse,summary:n.summary,captionContent:l?d.html():"",captionAlignment:l&&p.textAlign?p.textAlign+" "+p.verticalAlign:"",headerRows:f,headerColumns:g,cellsWithHeaders:h},selectedCells:[]},_.rows=o.parseTableRows(s,i,_),_):{tableProperties:{},selectedCells:[]}},parseTableRows:function(t,n,i){var o,r,a,s,l,d,u,c=this,p=[];for(d=0;d",valueTemplate:""},l={dataSource:[{className:"k-icon k-i-table-align-top-left",value:"left top"},{className:"k-icon k-i-table-align-top-center",value:"center top"},{className:"k-icon k-i-table-align-top-right",value:"right top"},{className:"k-icon k-i-table-align-middle-left",value:"left middle"},{className:"k-icon k-i-table-align-middle-center",value:"center middle"},{className:"k-icon k-i-table-align-middle-right",value:"right middle"},{className:"k-icon k-i-table-align-bottom-left",value:"left bottom"},{className:"k-icon k-i-table-align-bottom-center",value:"center bottom"},{className:"k-icon k-i-table-align-bottom-right",value:"right bottom"},{className:"k-icon k-i-align-remove",value:""}],dataTextField:"className",dataValueField:"value",template:"",valueTemplate:""},d={dataSource:[{className:"k-icon k-i-table-align-top-left",value:"left top"},{className:"k-icon k-i-table-align-top-center",value:"center top"},{className:"k-icon k-i-table-align-top-right",value:"right top"},{className:"k-icon k-i-table-align-bottom-left",value:"left bottom"},{className:"k-icon k-i-table-align-bottom-center",value:"center bottom"},{className:"k-icon k-i-table-align-bottom-right",value:"right bottom"},{className:"k-icon k-i-align-remove",value:""}],dataTextField:"className",dataValueField:"value",template:"",valueTemplate:""},u='
    • #= messages.tableTab #
    • #= messages.cellTab #
    • #= messages.accessibilityTab #
     
     
    ',c=n.Class.extend({ -init:function(e){this.options=e},open:function(){function t(e){e.preventDefault(),l.destroy(),r.destroy()}function i(e){l.collectDialogValues(c),t(e),l.change&&l.change(),d.closeCallback(c)}function o(e){t(e),d.closeCallback()}var r,a,s,l=this,d=l.options,u=d.dialogOptions,c=d.table,p=d.messages,f=n.support.browser.msie;u.close=o,u.title=p.tableWizard,u.visible=d.visible,r=e(l._dialogTemplate(p)).appendTo(document.body).kendoWindow(u).closest(".k-window").toggleClass("k-rtl",d.isRtl).end().find(".k-dialog-ok").click(i).end().find(".k-dialog-close").click(o).end().data("kendoWindow"),a=r.element,l._initTabStripComponent(a),l._initTableViewComponents(a,c),l._initCellViewComponents(a,c),l._initAccessibilityViewComponents(a,c),r.center(),r.open(),f&&(s=a.closest(".k-window").height(),a.css("max-height",s))},_initTabStripComponent:function(e){var t=this.components={};t.tabStrip=e.find("#k-table-wizard-tabs").kendoTabStrip({animation:!1}).data("kendoTabStrip")},collectDialogValues:function(){var e=this,t=e.options.table;e._collectTableViewValues(t),e._collectCellViewValues(t),e._collectAccessibilityViewValues(t)},_collectTableViewValues:function(e){var t=this.components.tableView,n=e.tableProperties;n.width=t.width.value(),n.widthUnit=t.widthUnit.value(),n.height=t.height.value(),n.columns=t.columns.value(),n.rows=t.rows.value(),n.heightUnit=t.heightUnit.value(),n.cellSpacing=t.cellSpacing.value(),n.cellPadding=t.cellPadding.value(),n.alignment=t.alignment.value(),n.bgColor=t.bgColor.value(),n.className=t.className.value,n.id=t.id.value,n.borderWidth=t.borderWidth.value(),n.borderColor=t.borderColor.value(),n.borderStyle=t.borderStyle.value(),n.collapseBorders=t.collapseBorders.checked},_collectCellViewValues:function(e){var t=e.cellProperties={},n=this.components.cellView;t.selectAllCells=n.selectAllCells.checked,t.width=n.width.value(),t.widthUnit=n.widthUnit.value(),t.height=n.height.value(),t.heightUnit=n.heightUnit.value(),t.cellMargin=n.cellMargin.value(),t.cellPadding=n.cellPadding.value(),t.alignment=n.alignment.value(),t.bgColor=n.bgColor.value(),t.className=n.className.value,t.id=n.id.value,t.borderWidth=n.borderWidth.value(),t.borderColor=n.borderColor.value(),t.borderStyle=n.borderStyle.value(),t.wrapText=n.wrapText.checked,t.width||(t.selectAllCells=!0,t.width=100/e.tableProperties.columns,t.widthUnit="%")},_collectAccessibilityViewValues:function(e){var t=e.tableProperties,n=this.components.accessibilityView;t.captionContent=n.captionContent.value,t.captionAlignment=n.captionAlignment.value(),t.summary=n.summary.value,t.cellsWithHeaders=n.cellsWithHeaders.value(),t.headerRows=n.headerRows.value(),t.headerColumns=n.headerColumns.value()},_addUnit:function(t,n){n&&e.inArray(n,t)==-1&&t.push(n)},_initTableViewComponents:function(e,t){var n,i,s=this,l=s.components,d=l.tableView={},u=t.tableProperties=t.tableProperties||{};u.borderStyle=u.borderStyle||"",n=function(e){var t=s.components.accessibilityView,n=t.headerColumns,i=n.value(),o=e.sender.value();o=0;r--)if(n[r]===t||n[r].original===t)n.splice(r,1)}else i._events[e]=[];return i}});function re(e,t){if(t)return"'"+e.split("'").join("\\'").split('\\"').join('\\\\\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")+"'";else{var i=e.charAt(0),n=e.substring(1);if(i==="=")return"+("+n+")+";else if(i===":")return"+$kendoHtmlEncode("+n+")+";else return";"+e+";$kendoOutput+="}}var ae=/^\w+/,oe=/\$\{([^}]*)\}/g,se=/\\\}/g,le=/__CURLY__/g,de=/\\#/g,ue=/__SHARP__/g,fe=["","0","00","000","0000"];function m(e,t,i){e=e+"";t=t||2;i=t-e.length;if(i)return fe[t].substring(0,i)+e;return e}e={paramName:"data",useWithBlock:true,render:function(e,t){var i,n,r="";for(i=0,n=t.length;i99)i=l.floor(i/10);i=m(i)}else if(e==="fff")i=m(r.getMilliseconds(),3);else if(e==="tt")i=r.getHours()<12?a.AM[0]:a.PM[0];else if(e==="zzz"){t=r.getTimezoneOffset();n=t<0;i=l.abs(t/60).toString().split(".")[0];t=l.abs(t)-i*60;i=(n?"+":"-")+m(i);i+=":"+m(t)}else if(e==="zz"||e==="z"){i=r.getTimezoneOffset()/60;n=i<0;i=l.abs(i).toString().split(".")[0];i=(n?"+":"-")+(e==="zz"?m(i):i)}return i!==M?i:e.slice(1,e.length-1)})}function Ie(e,t,i){i=De(i);var n=i.numberFormat,r=n[L],a=n.decimals,o=n.pattern[0],s=[],l,d,u,f,c,p=e<0,h,m,g,v,_=O,b=O,k,w,y,x,C,T,S,D,F,I,z,E,A,R=-1,N;if(e===M)return O;if(!isFinite(e))return e;if(!t)return i.name.length?e.toLocaleString():e.toString();c=be.exec(t);if(c){t=c[1].toLowerCase();d=t==="c";u=t==="p";if(d||u){n=d?n.currency:n.percent;r=n[L];a=n.decimals;l=n.symbol;o=n.pattern[p?0:1]}f=c[2];if(f)a=+f;if(t==="e"){var H=f?e.toExponential(a):e.toExponential();return H.replace(L,n[L])}if(u)e*=100;e=U(e,a);p=e<0;e=e.split(L);h=e[0];m=e[1];if(p)h=h.substring(1);b=ze(h,0,h.length,n);if(m)b+=r+m;if(t==="n"&&!p)return b;e=O;for(k=0,w=o.length;k-1||t.indexOf('"')>-1||t.indexOf("\\")>-1)t=t.replace(ke,function(e){var t=e.charAt(0).replace("\\",""),i=e.slice(1).replace(t,"");s.push(i);return xe});t=t.split(";");if(p&&t[1]){t=t[1];C=true}else if(e===0&&t[2]){t=t[2];if(t.indexOf(B)==-1&&t.indexOf(V)==-1)return t}else t=t[0];z=t.indexOf("%");E=t.indexOf("$");u=z!=-1;d=E!=-1;if(u)e*=100;if(d&&t[E-1]==="\\"){t=t.split("\\").join("");d=false}if(d||u){n=d?n.currency:n.percent;r=n[L];a=n.decimals;l=n.symbol}x=t.indexOf(ye)>-1;if(x)t=t.replace(we,O);T=t.indexOf(L);w=t.length;if(T!=-1){m=e.toString().split("e");if(m[1])m=U(e,Math.abs(m[1]));else m=m[0];m=m.split(L)[1]||O;D=t.lastIndexOf(V)-T;S=t.lastIndexOf(B)-T;F=D>-1;I=S>-1;k=m.length;if(!F&&!I){t=t.substring(0,T)+t.substring(T+1);w=t.length;T=-1;k=0}if(F&&D>S)k=D;else if(S>D)if(I&&k>S){var P=U(e,S,p);while(P.charAt(P.length-1)===V&&S>0&&S>D){S--;P=U(e,S,p)}k=S}else if(F&&kD?D:S;S=t.lastIndexOf(B);D=t.lastIndexOf(V);if(S==-1&&D!=-1)N=D;else if(S!=-1&&D==-1)N=S;else N=S>D?S:D;if(R==w)N=R;if(R!=-1){b=e.toString().split(L);h=b[0];m=b[1]||O;g=h.length;v=m.length;if(p&&e*-1>=0)p=false;e=t.substring(0,R);if(p&&!C)e+="-";for(k=R;k-1){e+=h;k=T}if(T===k){e+=(m?r:O)+m;k+=N-T+1;continue}}if(y===V){e+=y;_=y}else if(y===B)e+=_}if(x)e=ze(e,R+(p&&!C?1:0),Math.max(N,g+R),n);if(N>=R)e+=t.substring(N+1);if(d||u){b=O;for(k=0,w=e.length;k=o){d=l;u=[];while(d>-1){f=s.substring(d-o,d);if(f)u.push(f);d-=o;c=a.shift();o=c!==M?c:o;if(o===0){if(d>0)u.push(s.substring(0,d));break}}s=u.reverse().join(n[ye]);e=e.substring(0,t)+s+e.substring(i)}return e},U=function(e,t,i){t=t||0;e=e.toString().split("e");e=Math.round(+(e[0]+"e"+(e[1]?+e[1]+t:t)));if(i)e=-e;e=e.toString().split("e");e=+(e[0]+"e"+(e[1]?+e[1]-t:-t));return e.toFixed(Math.min(t,20))},Ee=function(e,t,i){if(t)if(Te.call(e)==="[object Date]")return Fe(e,t,i);else if(typeof e===p)return Ie(e,t,i);return e!==M?e:""},Ae=(P.format=function(e){var r=arguments;return e.replace(R,function(e,t,i){var n=r[parseInt(t,10)+1];return Ee(n,i?i.substring(1):"")})},P._extractFormat=function(e){if(e.slice(0,3)==="{0:")e=e.slice(3,e.length-1);return e},P._activeElement=function(){try{return document.activeElement}catch(e){return document.documentElement.activeElement}},P._round=U,P._outerWidth=function(e,t){return g(e).outerWidth(t||false)||0},P._outerHeight=function(e,t){return g(e).outerHeight(t||false)||0},P.toString=Ee,/\u00A0/g),Re=/\s/g,Ne=/[eE][\-+]?[0-9]+/,Pe=/[+|\-]\d{1,2}/,He=/[+|\-]\d{1,2}:?\d{2}/,Me=/^\/Date\((.*?)\)\/$/,Oe=/[+-]\d*/,Le=[[],["G","g","F"],["D","d","y","m","T","t"]],Be=[["yyyy-MM-ddTHH:mm:ss.fffffffzzz","yyyy-MM-ddTHH:mm:ss.fffffff","yyyy-MM-ddTHH:mm:ss.fffzzz","yyyy-MM-ddTHH:mm:ss.fff","ddd MMM dd yyyy HH:mm:ss","yyyy-MM-ddTHH:mm:sszzz","yyyy-MM-ddTHH:mmzzz","yyyy-MM-ddTHH:mmzz","yyyy-MM-ddTHH:mm:ss","yyyy-MM-dd HH:mm:ss","yyyy/MM/dd HH:mm:ss"],["yyyy-MM-ddTHH:mm","yyyy-MM-dd HH:mm","yyyy/MM/dd HH:mm"],["yyyy/MM/dd","yyyy-MM-dd","HH:mm:ss","HH:mm"]],Ve={2:/^\d{1,2}/,3:/^\d{1,3}/,4:/^\d{4}/},Ue={}.toString;function H(e,t,i){return!(e>=t&&e<=i)}function We(e){return e.charAt(0)}function je(e){return g.map(e,We)}function qe(e,t){if(!t&&e.getHours()===23)e.setHours(e.getHours()+2)}function Ge(e){var t=0,i=e.length,n=[];for(;t0)g-=1;return t},r=function(e){var t=Ve[e]||new RegExp("^\\d{1,"+e+"}"),i=d.substr(v,e).match(t);if(i){i=i[0];v+=i.length;return parseInt(i,10)}return null},a=function(e,t){var i=0,n=e.length,r,a,o=0,s=0,l;for(;io){o=a;s=i}}if(o){v+=o;return s+1}return null},o=function(){var e=false;if(d.charAt(v)===i[g]){v++;e=true}return e},s=e.calendars.standard,l=null,u=null,f=null,c=null,p=null,h=null,m=null,g=0,v=0,_=false,b=new Date,k=s.twoDigitYearMax||2029,w=b.getFullYear(),y,x,C,T,S,D,F,I,z,E,A,R,N;if(!i)i="d";T=s.patterns[i];if(T)i=T;i=i.split("");C=i.length;for(;g2)continue;f=x<3?r(2):a(s._lowerDays[x==3?"namesAbbr":"names"],true);if(f===null||H(f,1,31))return null}else if(y==="M"){x=n("M");if(!s._lowerMonths)s._lowerMonths=$e(s.months);u=x<3?r(2):a(s._lowerMonths[x==3?"namesAbbr":"names"],true);if(u===null||H(u,1,12))return null;u-=1}else if(y==="y"){x=n("y");l=r(x);if(l===null)return null;if(x==2){if(typeof k==="string")k=w+parseInt(k,10);l=w-w%100+l;if(l>k)l-=100}}else if(y==="h"){n("h");c=r(2);if(c==12)c=0;if(c===null||H(c,0,11))return null}else if(y==="H"){n("H");c=r(2);if(c===null||H(c,0,23))return null}else if(y==="m"){n("m");p=r(2);if(p===null||H(p,0,59))return null}else if(y==="s"){n("s");h=r(2);if(h===null||H(h,0,59))return null}else if(y==="f"){x=n("f");N=d.substr(v,x).match(Ve[3]);m=r(x);if(m!==null){m=parseFloat("0."+N[0],10);m=P._round(m,3);m*=1e3}if(m===null||H(m,0,999))return null}else if(y==="t"){x=n("t");I=s.AM;z=s.PM;if(x===1){I=je(I);z=je(z)}S=a(z);if(!S&&!a(I))return null}else if(y==="z"){D=true;x=n("z");if(d.substr(v,1)==="Z"){o();continue}F=d.substr(v,6).match(x>2?He:Pe);if(!F)return null;F=F[0].split(":");E=F[0];A=F[1];if(!A&&E.length>3){v=E.length-2;A=E.substring(v);E=E.substring(0,v)}E=parseInt(E,10);if(H(E,-12,13))return null;if(x>2){A=F[0][0]+A;A=parseInt(A,10);if(isNaN(A)||H(A,-59,59))return null}}else if(y==="'"){_=true;o()}else if(!o())return null}if(t&&!/^\s*$/.test(d.substr(v)))return null;R=c!==null||p!==null||h||null;if(l===null&&u===null&&f===null&&R){l=w;u=b.getMonth();f=b.getDate()}else{if(l===null)l=w;if(f===null)f=1}if(S&&c<12)c+=12;if(D){if(E)c+=-E;if(A)p+=-A;d=new Date(Date.UTC(l,u,f,c,p,h,m))}else{d=new Date(l,u,f,c,p,h,m);qe(d,c)}if(l<100)d.setFullYear(l);if(d.getDate()!==f&&D===M)return null;return d}function Ke(e){var t=e.substr(0,1)==="-"?-1:1;e=e.substring(1);e=parseInt(e.substr(0,2),10)*60+parseInt(e.substring(2),10);return t*e}function Qe(e){var t=l.max(Le.length,Be.length);var i=e.calendar||e.calendars.standard;var n=i.patterns;var r,a,o;var s=[];for(o=0;o").addClass("k-animation-container").css({width:s,height:l}));a=e.parent();if(i)e.css({width:"100%",height:"100%",boxSizing:"border-box",mozBoxSizing:"border-box",webkitBoxSizing:"border-box"})}else et(e,t);if(o-1)return true;var t=ot(e,["overflow"]).overflow;return t.indexOf("auto")>-1||t.indexOf("scroll")>-1}function lt(e,i){var t=f.browser.webkit;var n=f.browser.mozilla;var r=f.browser.version;var a,o;if(e instanceof g&&i!==M){e.each(function(e,t){lt(t,i)});return}else a=e instanceof g?e[0]:e;if(!a)return;o=f.isRtl(e);if(i!==M)if(o&&t&&(r<85||f.browser.safari))a.scrollLeft=a.scrollWidth-a.clientWidth-i;else if(o&&(n||t)&&i>0)a.scrollLeft=-i;else a.scrollLeft=i;else if(o&&t&&(r<85||f.browser.safari))return a.scrollWidth-a.clientWidth-a.scrollLeft;else return Math.abs(a.scrollLeft)}P.parseDate=function(e,t,i){return Xe(e,t,i,false)},P.parseExactDate=function(e,t,i){return Xe(e,t,i,true)},P.parseInt=function(e,t){var i=P.parseFloat(e,t);if(i)i=i|0;return i},P.parseFloat=function(e,t,i){if(!e&&e!==0)return null;if(typeof e===p)return e;e=e.toString();t=P.getCulture(t);var n=t.numberFormat,r=n.percent,a=n.currency,o=a.symbol,s=r.symbol,l=e.indexOf("-"),d,u;if(Ne.test(e)){e=parseFloat(e.replace(n["."],"."));if(isNaN(e))e=null;return e}if(l>0)return null;else l=l>-1;if(e.indexOf(o)>-1||i&&i.toLowerCase().indexOf("c")>-1){n=a;d=n.pattern[0].replace("$",o).split("n");if(e.indexOf(d[0])>-1&&e.indexOf(d[1])>-1){e=e.replace(d[0],"").replace(d[1],"");l=true}}else if(e.indexOf(s)>-1){u=true;n=r;o=s}e=e.replace("-","").replace(o,"").replace(Ae," ").split(n[","].replace(Ae," ")).join("").replace(Re,"").replace(n["."],".");e=parseFloat(e);if(isNaN(e))e=null;else if(l)e*=-1;if(e&&u)e/=100;return e},f._scrollbar=M,f.scrollbar=function(e){if(!isNaN(f._scrollbar)&&!e)return f._scrollbar;else{var t=document.createElement("div"),i;t.style.cssText="overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block";t.innerHTML=" ";document.body.appendChild(t);f._scrollbar=i=t.offsetWidth-t.scrollWidth;document.body.removeChild(t);return i}},f.isRtl=function(e){return g(e).closest(".k-rtl").length>0};var dt=document.createElement("table");try{dt.innerHTML="";f.tbodyInnerHtml=true}catch(e){f.tbodyInnerHtml=false}f.touch="ontouchstart"in v;var t=document.documentElement.style,n=f.transitions=false,ut=f.transforms=false,i="HTMLElement"in v?HTMLElement.prototype:[];f.hasHW3D="WebKitCSSMatrix"in v&&"m11"in new v.WebKitCSSMatrix||"MozPerspective"in t||"msPerspective"in t,f.cssFlexbox="flexWrap"in t||"WebkitFlexWrap"in t||"msFlexWrap"in t,r(["Moz","webkit","O","ms"],function(){var e=this.toString(),t=typeof dt.style[e+"Transition"]===_;if(t||typeof dt.style[e+"Transform"]===_){var i=e.toLowerCase();ut={css:i!="ms"?"-"+i+"-":"",prefix:e,event:i==="o"||i==="webkit"?i:""};if(t){n=ut;n.event=n.event?n.event+"TransitionEnd":"transitionend"}return false}}),dt=null,f.transforms=ut,f.transitions=n,f.devicePixelRatio=v.devicePixelRatio===M?1:v.devicePixelRatio;try{f.screenWidth=v.outerWidth||v.screen?v.screen.availWidth:v.innerWidth;f.screenHeight=v.outerHeight||v.screen?v.screen.availHeight:v.innerHeight}catch(e){f.screenWidth=v.screen.availWidth;f.screenHeight=v.screen.availHeight}f.detectOS=function(e){var t=false,i,n=[],r=!/mobile safari/i.test(e),a={wp:/(Windows Phone(?: OS)?)\s(\d+)\.(\d+(\.\d+)?)/,fire:/(Silk)\/(\d+)\.(\d+(\.\d+)?)/,android:/(Android|Android.*(?:Opera|Firefox).*?\/)\s*(\d+)\.?(\d+(\.\d+)?)?/,iphone:/(iPhone|iPod).*OS\s+(\d+)[\._]([\d\._]+)/,ipad:/(iPad).*OS\s+(\d+)[\._]([\d_]+)/,meego:/(MeeGo).+NokiaBrowser\/(\d+)\.([\d\._]+)/,webos:/(webOS)\/(\d+)\.(\d+(\.\d+)?)/,blackberry:/(BlackBerry|BB10).*?Version\/(\d+)\.(\d+(\.\d+)?)/,playbook:/(PlayBook).*?Tablet\s*OS\s*(\d+)\.(\d+(\.\d+)?)/,windows:/(MSIE)\s+(\d+)\.(\d+(\.\d+)?)/,tizen:/(tizen).*?Version\/(\d+)\.(\d+(\.\d+)?)/i,sailfish:/(sailfish).*rv:(\d+)\.(\d+(\.\d+)?).*firefox/i,ffos:/(Mobile).*rv:(\d+)\.(\d+(\.\d+)?).*Firefox/},o={ios:/^i(phone|pad|pod)$/i,android:/^android|fire$/i,blackberry:/^blackberry|playbook/i,windows:/windows/,wp:/wp/,flat:/sailfish|ffos|tizen/i,meego:/meego/},s={tablet:/playbook|ipad|fire/i},l={omini:/Opera\sMini/i,omobile:/Opera\sMobi/i,firefox:/Firefox|Fennec/i,mobilesafari:/version\/.*safari/i,ie:/MSIE|Windows\sPhone/i,chrome:/chrome|crios/i,webkit:/webkit/i};for(var d in a)if(a.hasOwnProperty(d)){n=e.match(a[d]);if(n){if(d=="windows"&&"plugins"in navigator)return false;t={};t.device=d;t.tablet=nt(d,s,false);t.browser=nt(e,l,"default");t.name=nt(d,o);t[t.name]=true;t.majorVersion=n[2];t.minorVersion=(n[3]||"0").replace("_",".");i=t.minorVersion.replace(".","").substr(0,2);t.flatVersion=t.majorVersion+i+new Array(3-(i.length<3?i.length:2)).join("0");t.cordova=typeof v.PhoneGap!==G||typeof v.cordova!==G;t.appMode=v.navigator.standalone||/file|local|wmapp/.test(v.location.protocol)||t.cordova;if(t.android&&(f.devicePixelRatio<1.5&&t.flatVersion<400||r)&&(f.screenWidth>800||f.screenHeight>800))t.tablet=d;break}}return t};var a=f.mobileOS=f.detectOS(navigator.userAgent);if(f.wpDevicePixelRatio=a.wp?screen.width/320:0,f.hasNativeScrolling=false,a.ios||a.android&&a.majorVersion>2||a.wp)f.hasNativeScrolling=a;if(f.delayedClick=function(){if(f.touch){if(a.ios)return true;if(a.android){if(!f.browser.chrome)return true;if(f.browser.version<32)return false;return!(g("meta[name=viewport]").attr("content")||"").match(/user-scalable=no/i)}}return false},f.mouseAndTouchPresent=f.touch&&!(f.mobileOS.ios||f.mobileOS.android),f.detectBrowser=function(e){var t=false,i=[],n=[],r={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome|crios)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+)|)/i};for(var a in r)if(r.hasOwnProperty(a)){i=e.match(r[a]);if(i){t={};t[a]=true;t[i[1].toLowerCase().split(" ")[0].split("/")[0]]=true;t.version=parseInt(document.documentMode||i[2],10);if(t.chrome){n=e.match(/(edg)[ \/]([\w.]+)/i);if(n)t.chromiumEdge=true}break}}return t},f.browser=f.detectBrowser(navigator.userAgent),!a&&f.touch&&f.browser.safari)a=f.mobileOS={ios:true,tablet:"tablet",device:"ipad"};f.detectClipboardAccess=function(){var e={copy:document.queryCommandSupported?document.queryCommandSupported("copy"):false,cut:document.queryCommandSupported?document.queryCommandSupported("cut"):false,paste:document.queryCommandSupported?document.queryCommandSupported("paste"):false};if(f.browser.chrome){e.paste=false;if(f.browser.version>=43){e.copy=true;e.cut=true}}return e},f.clipboard=f.detectClipboardAccess(),f.zoomLevel=function(){try{var e=f.browser;var t=0;var i=document.documentElement;if(e.msie&&e.version==11&&i.scrollHeight>i.clientHeight&&!f.touch)t=f.scrollbar();return f.touch?i.clientWidth/v.innerWidth:e.msie&&e.version>=10?((top||v).document.documentElement.offsetWidth+t)/(top||v).innerWidth:1}catch(e){return 1}};var o=f.browser,s="",ft=g(document.documentElement),ct=parseInt(o.version,10);if(o.msie)s="ie";else if(o.mozilla)s="ff";else if(o.safari)s="safari";else if(o.webkit)s="webkit";else if(o.opera)s="opera";else if(o.edge)s="edge";if(s)s="k-"+s+" k-"+s+ct;if(f.mobileOS)s+=" k-mobile";if(!f.cssFlexbox)s+=" k-no-flexbox";ft.addClass(s),f.eventCapture=document.documentElement.addEventListener;var w=document.createElement("input"),pt=(f.placeholder="placeholder"in w,f.propertyChangeEvent="onpropertychange"in w,f.input=function(){var e=["number","date","time","month","week","datetime","datetime-local"];var t=e.length;var i="test";var n={};var r=0;var a;for(;rt.field?1:e.field/g;function zt(e){return(""+e).replace(Tt,"&").replace(St,"<").replace(It,">").replace(Dt,""").replace(Ft,"'")}function Et(t){var i;try{i=v.decodeURIComponent(t)}catch(e){i=t.replace(/%u([\dA-F]{4})|%([\dA-F]{2})/gi,function(e,t,i){return String.fromCharCode(parseInt("0x"+(t||i),16))})}return i}var At=function(e){return e.target};if(f.touch){At=function(e){var t="originalEvent"in e?e.originalEvent.changedTouches:"changedTouches"in e?e.changedTouches:null;return t?document.elementFromPoint(t[0].clientX,t[0].clientY):e.target};r(["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap"],function(e,t){g.fn[t]=function(e){return this.on(t,e)}})}if(f.touch)if(!f.mobileOS){f.mousedown="mousedown touchstart";f.mouseup="mouseup touchend";f.mousemove="mousemove touchmove";f.mousecancel="mouseleave touchcancel";f.click="click";f.resize="resize"}else{f.mousedown="touchstart";f.mouseup="touchend";f.mousemove="touchmove";f.mousecancel="touchcancel";f.click="touchend";f.resize="orientationchange"}else if(f.pointers){f.mousemove="pointermove";f.mousedown="pointerdown";f.mouseup="pointerup";f.mousecancel="pointercancel";f.click="pointerup";f.resize="orientationchange resize"}else if(f.msPointers){f.mousemove="MSPointerMove";f.mousedown="MSPointerDown";f.mouseup="MSPointerUp";f.mousecancel="MSPointerCancel";f.click="MSPointerUp";f.resize="orientationchange resize"}else{f.mousemove="mousemove";f.mousedown="mousedown";f.mouseup="mouseup";f.mousecancel="mouseleave";f.click="click";f.resize="resize"}var Rt=function(e,t){var i=t||"d",n,r,a,o,s=1;for(r=0,a=e.length;r0||t.height>0)&&(!i||t.width!==i.width||t.height!==i.height)){this._size=t;this._resize(t,e);this.trigger("resize",t)}},getSize:function(){return P.dimensions(this.element)},size:function(e){if(!e)return this.getSize();else this.setSize(e)},setSize:g.noop,_resize:g.noop,destroy:function(){var e=this;e.element.removeData("kendo"+e.options.prefix+e.options.name);e.element.removeData("handler");e.unbind()},_destroy:function(){this.destroy()},angular:function(){},_muteAngularRebind:function(e){this._muteRebind=true;e.call(this);this._muteRebind=false},_applyCssClasses:function(e){var t=this.__proto__.options,i=this.options,n=e||this.wrapper||this.element,r=[],a,o,s,l;if(!P.cssProperties.propertyDictionary[t.name])return;for(a=0;a-1||e.is(":visible")}P.initWidget=function(e,t,i){var n,r,a,o,s,l,d,u,f,c;if(!i)i=P.ui.roles;else if(i.roles)i=i.roles;e=e.nodeType?e:e[0];l=e.getAttribute("data-"+P.ns+"role");if(!l)return;f=l.indexOf(".")===-1;if(f)a=i[l];else a=P.getter(l)(v);var p=g(e).data(),h=a?"kendo"+a.fn.options.prefix+a.fn.options.name:"";if(f)c=new RegExp("^kendo.*"+l+"$","i");else c=new RegExp("^"+h+"$","i");for(var m in p)if(m.match(c))if(m===h)n=p[m];else return p[m];if(!a)return;u=Bt(e,"dataSource");t=g.extend({},Vt(e,g.extend({},a.fn.options,a.fn.defaults)),t);if(u)if(typeof u===_)t.dataSource=P.getter(u)(v);else t.dataSource=u;for(o=0,s=a.fn.events.length;o{1}
    ",u,P.ui.progress.messages.loading)).width(i.width).height(i.height).css("top",i.top).css(s,Math.abs(d)+l).prependTo(e)}}else if(n)n.remove()},plugin:function(e,t,i){var o=e.fn.options.name,n;t=t||P.ui;i=i||"";t[o]=e;t.roles[o.toLowerCase()]=e;n="getKendo"+i+o;o="kendo"+i+o;var r={name:o,widget:e,prefix:i||""};P.widgets.push(r);for(var a=0,s=P._widgetRegisteredCallbacks.length;a=0)n=[P.getter(i)(v)];for(r=0,a=n.length;r-1)}});var Yt=["mousedown","mousemove","mouseenter","mouseleave","mouseover","mouseout","mouseup","click"],Kt="label, input, [data-rel=external]",C={setupMouseMute:function(){var e=0,t=Yt.length,i=document.documentElement;if(C.mouseTrap||!f.eventCapture)return;C.mouseTrap=true;C.bustClick=false;C.captureMouse=false;var n=function(e){if(C.captureMouse)if(e.type==="click"){if(C.bustClick&&!g(e.target).is(Kt)){e.preventDefault();e.stopPropagation()}}else e.stopPropagation()};for(;e-1&&this[0]!==document.documentElement){C.setupMouseMute();var o=n.length===2?null:n[1],s=a.indexOf("click")>-1&&a.indexOf("touchend")>-1;Jt.call(this,{touchstart:C.muteMouse,touchend:C.unMuteMouse},o,{bustClick:s})}if(arguments[0].indexOf("keydown")!==-1&&n[1]&&n[1].options){n[0]=a;var l=n[1];var d=n[n.length-1];n[n.length-1]=function(e){if(P.keyDownHandler(e,l))return d.apply(this,[e])};Jt.apply(e,n);return e}if(typeof r===_){i=e.data("handler");r=i[r];n[n.length-1]=function(e){r.call(i,e)}}n[0]=a;Jt.apply(e,n);return e},kendoDestroy:function(e){e=e||this.data("kendoNS");if(e)this.off("."+e);return this}}),P.jQuery=S,P.eventMap=T,P.timezone=function(){var d={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};var u={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6};function s(e,t){var i;var n;var r;var a=t[3];var o=t[4];var s=t[5];var l=t[8];if(!l)t[8]=l={};if(l[e])return l[e];if(!isNaN(o))i=new Date(Date.UTC(e,d[a],o,s[0],s[1],s[2],0));else if(o.indexOf("last")===0){i=new Date(Date.UTC(e,d[a]+1,1,s[0]-24,s[1],s[2],0));n=u[o.substr(4,3)];r=i.getUTCDay();i.setUTCDate(i.getUTCDate()+n-r-(n>r?7:0))}else if(o.indexOf(">=")>=0){i=new Date(Date.UTC(e,d[a],o.substr(5),s[0],s[1],s[2],0));n=u[o.substr(0,3)];r=i.getUTCDay();i.setUTCDate(i.getUTCDate()+n-r+(n1)r=n[0]*60+Number(n[1]);return[-1e6,"max","-","Jan",1,[0,0,0],r,"-"]}var a=new Date(e).getUTCFullYear();t=jQuery.grep(t,function(e){var t=e[0];var i=e[1];return t<=a&&(i>=a||t==a&&i=="only"||i=="max")});t.push(e);t.sort(function(e,t){if(typeof e!="number")e=Number(s(a,e));if(typeof t!="number")t=Number(s(a,t));return e-t});var o=t[jQuery.inArray(e,t)-1]||t[t.length-1];return isNaN(o)?o:null}function o(e,t,i){var n=t[i];if(typeof n==="string")n=t[n];if(!n)throw new Error('Timezone "'+i+'" is either incorrect, or kendo.timezones.min.js is not included.');for(var r=n.length-1;r>=0;r--){var a=n[r][3];if(a&&e>a)break}var o=n[r+1];if(!o)throw new Error('Timezone "'+i+'" not found on '+e+".");return o}function l(e,t,i,n){if(typeof e!=p)e=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());var r=o(e,t,n);return{zone:r,rule:a(e,i,r[1])}}function e(e,t){if(t=="Etc/UTC"||t=="Etc/GMT")return 0;var i=l(e,this.zones,this.rules,t);var n=i.zone;var r=i.rule;return P.parseFloat(r?n[0]-r[6]:n[0])}function t(e,t){var i=l(e,this.zones,this.rules,t);var n=i.zone;var r=i.rule;var a=n[2];if(a.indexOf("/")>=0)return a.split("/")[r&&+r[6]?1:0];else if(a.indexOf("%s")>=0)return a.replace("%s",!r||r[7]=="-"?"":r[7]);return a}function i(e,t,i){var n=i;var r;if(typeof t==_)t=this.offset(e,t);if(typeof i==_)i=this.offset(e,i);var a=e.getTimezoneOffset();e=new Date(e.getTime()+(t-i)*6e4);var o=e.getTimezoneOffset();if(typeof n==_)n=this.offset(e,n);r=o-a+(i-n);return new Date(e.getTime()+r*6e4)}function n(e,t){return this.convert(e,e.getTimezoneOffset(),t)}function r(e,t){return this.convert(e,t,e.getTimezoneOffset())}function f(e){return this.apply(new Date(e),"Etc/UTC")}return{zones:{},rules:{},offset:e,convert:i,apply:n,remove:r,abbr:t,toLocalDate:f}}(),P.date=function(){var a=6e4,o=864e5;function r(e,t){if(t===0&&e.getHours()===23){e.setHours(e.getHours()+2);return true}return false}function n(e,t,i){var n=e.getHours();i=i||1;t=(t-e.getDay()+7*i)%7;e.setDate(e.getDate()+t);r(e,n)}function i(e,t,i){e=new Date(e);n(e,t,i);return e}function s(e){return new Date(e.getFullYear(),e.getMonth(),1)}function e(e){var t=new Date(e.getFullYear(),e.getMonth()+1,0),i=s(e),n=Math.abs(t.getTimezoneOffset()-i.getTimezoneOffset());if(n)t.setHours(i.getHours()+n/60);return t}function t(e){return new Date(e.getFullYear(),0,1)}function l(e){return new Date(e.getFullYear(),11,31)}function d(e,t){if(t!==1)return v(i(e,t,-1),4);return v(e,4-(e.getDay()||7))}function u(e,t){var i=new Date(e.getFullYear(),0,1,-6);var n=d(e,t);var r=n.getTime()-i.getTime();var a=Math.floor(r/o);return 1+Math.floor(a/7)}function f(e,t){if(t===M)t=P.culture().calendar.firstDay;var i=v(e,-7);var n=v(e,7);var r=u(e,t);if(r===0)return u(i,t)+1;if(r===53&&u(n,t)>1)return 1;return r}function c(e){e=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0);r(e,0);return e}function p(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}function h(e){return y(e).getTime()-c(y(e))}function m(e,t,i){var n=h(t),r=h(i),a;if(!e||n==r)return true;if(t>=i)i+=o;a=h(e);if(n>a)a+=o;if(r=n&&a<=r}function g(e,t,i){var n=t.getTime(),r=i.getTime(),a;if(n>=r)r+=o;a=e.getTime();return a>=n&&a<=r}function v(e,t){var i=e.getHours();e=new Date(e);_(e,t*o);r(e,i);return e}function _(e,t,i){var n=e.getTimezoneOffset();var r;e.setTime(e.getTime()+t);if(!i){r=e.getTimezoneOffset()-n;e.setTime(e.getTime()+r*a)}}function b(e,t){e=new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds());r(e,t.getHours());return e}function k(){return c(new Date)}function w(e){return c(e).getTime()==k().getTime()}function y(e){var t=new Date(1980,1,1,0,0,0);if(e)t.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());return t}function x(e,t){var i=new Date(e);return new Date(i.setFullYear(i.getFullYear()+t))}return{adjustDST:r,dayOfWeek:i,setDayOfWeek:n,getDate:c,isInDateRange:g,isInTimeRange:m,isToday:w,nextDay:function(e){return v(e,1)},previousDay:function(e){return v(e,-1)},toUtcTime:p,MS_PER_DAY:o,MS_PER_HOUR:60*a,MS_PER_MINUTE:a,setTime:_,setHours:b,addDays:v,today:k,toInvariantTime:y,firstDayOfMonth:s,lastDayOfMonth:e,weekInYear:f,getMilliseconds:h,firstDayOfYear:t,lastDayOfYear:l,nextYear:function(e){return x(e,1)},previousYear:function(e){return x(e,-1)}}}(),P.stripWhitespace=function(t){if(document.createNodeIterator){var e=document.createNodeIterator(t,NodeFilter.SHOW_TEXT,function(e){return e.parentNode==t?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT},false);while(e.nextNode())if(e.referenceNode&&!e.referenceNode.textContent.trim())e.referenceNode.parentNode.removeChild(e.referenceNode)}else for(var i=0;ia)n();else o=setTimeout(n,a-t)};e.cancel=function(){clearTimeout(o)};return e},P.caret=function(e,t,i){var n;var r=t!==M;if(i===M)i=t;if(e[0])e=e[0];if(r&&e.disabled)return;try{if(e.selectionStart!==M)if(r){e.focus();var a=f.mobileOS;if(a.wp||a.android)setTimeout(function(){e.setSelectionRange(t,i)},0);else e.setSelectionRange(t,i)}else t=[e.selectionStart,e.selectionEnd];else if(document.selection){if(g(e).is(":visible"))e.focus();n=e.createTextRange();if(r){n.collapse(true);n.moveStart("character",t);n.moveEnd("character",i-t);n.select()}else{var o=n.duplicate(),s,l;n.moveToBookmark(document.selection.createRange().getBookmark());o.setEndPoint("EndToStart",n);s=o.text.length;l=s+n.text.length;t=[s,l]}}}catch(e){t=[]}return t},P.compileMobileDirective=function(t,i){var e=v.angular;t.attr("data-"+P.ns+"role",t[0].tagName.toLowerCase().replace("kendo-mobile-","").replace("-",""));e.element(t).injector().invoke(["$compile",function(e){e(t)(i);if(!/^\$(digest|apply)$/.test(i.$$phase))i.$digest()}]);return P.widgetInstance(t,P.mobile.ui)},P.antiForgeryTokens=function(){var e={},t=g("meta[name=csrf-token],meta[name=_csrf]").attr("content"),i=g("meta[name=csrf-param],meta[name=_csrf_header]").attr("content");g("input[name^='__RequestVerificationToken']").each(function(){e[this.name]=this.value});if(i!==M&&t!==M)e[i]=t;return e},P.cycleForm=function(e){var t=e.find("input, .k-widget").first();var i=e.find("button, .k-button").last();function n(e){var t=P.widgetInstance(e);if(t&&t.focus)t.focus();else e.trigger("focus")}i.on("keydown",function(e){if(e.keyCode==P.keys.TAB&&!e.shiftKey){e.preventDefault();n(t)}});t.on("keydown",function(e){if(e.keyCode==P.keys.TAB&&e.shiftKey){e.preventDefault();n(i)}})},P.focusElement=function(t){var i=[];var e=t.parentsUntil("body").filter(function(e,t){var i=P.getComputedStyles(t,["overflow"]);return i.overflow!=="visible"}).add(v);e.each(function(e,t){i[e]=g(t).scrollTop()});try{t[0].setActive()}catch(e){t[0].focus()}e.each(function(e,t){g(t).scrollTop(i[e])})},P.focusNextElement=function(){if(document.activeElement){var e=g(":kendoFocusable");var t=e.index(document.activeElement);if(t>-1){var i=e[t+1]||e[0];i.focus()}}},P.trim=function(e){if(!!e)return e.toString().trim();else return""},P.getWidgetFocusableElement=function(e){var t=e.closest(":kendoFocusable"),i=P.widgetInstance(e),n;if(t.length)n=t;else if(i)n=i.options.name==="Editor"?g(i.body):i.wrapper.find(":kendoFocusable").first();else n=e;return n},P.addAttribute=function(e,t,i){var n=e.attr(t)||"";if(n.indexOf(i)<0)e.attr(t,(n+" "+i).trim())},P.removeAttribute=function(e,t,i){var n=e.attr(t)||"";e.attr(t,n.replace(i,"").trim())},P.toggleAttribute=function(e,t,i){var n=e.attr(t)||"";if(n.indexOf(i)<0)P.addAttribute(e,t,i);else P.removeAttribute(e,t,i)},P.matchesMedia=function(e){var t=P._bootstrapToMedia(e)||e;return f.matchMedia&&v.matchMedia(t).matches},P._bootstrapToMedia=function(e){return{xs:"(max-width: 576px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)"}[e]},P.fileGroupMap={audio:[".aif",".iff",".m3u",".m4a",".mid",".mp3",".mpa",".wav",".wma",".ogg",".wav",".wma",".wpl"],video:[".3g2",".3gp",".avi",".asf",".flv",".m4u",".rm",".h264",".m4v",".mkv",".mov",".mp4",".mpg",".rm",".swf",".vob",".wmv"],image:[".ai",".dds",".heic",".jpe","jfif",".jif",".jp2",".jps",".eps",".bmp",".gif",".jpeg",".jpg",".png",".ps",".psd",".svg",".svgz",".tif",".tiff"],txt:[".doc",".docx",".log",".pages",".tex",".wpd",".wps",".odt",".rtf",".text",".txt",".wks"],presentation:[".key",".odp",".pps",".ppt",".pptx"],data:[".xlr",".xls",".xlsx"],programming:[".tmp",".bak",".msi",".cab",".cpl",".cur",".dll",".dmp",".drv",".icns",".ico",".link",".sys",".cfg",".ini",".asp",".aspx",".cer",".csr",".css",".dcr",".htm",".html",".js",".php",".rss",".xhtml"],pdf:[".pdf"],config:[".apk",".app",".bat",".cgi",".com",".exe",".gadget",".jar",".wsf"],zip:[".7z",".cbr",".gz",".sitx",".arj",".deb",".pkg",".rar",".rpm",".tar.gz",".z",".zip",".zipx"],"disc-image":[".dmg",".iso",".toast",".vcd",".bin",".cue",".mdf"]},P.getFileGroup=function(e,t){var i=P.fileGroupMap;var n=Object.keys(i);var r="file";if(e===M||!e.length)return r;for(var a=0;a-1)return t?"file-"+n[a]:n[a]}return r},P.getFileSizeMessage=function(e){var t=["Bytes","KB","MB","GB","TB"];if(e===0)return"0 Byte";var i=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return Math.round(e/Math.pow(1024,i),2)+" "+t[i]},P.selectorFromClasses=function(e){return"."+e.split(" ").join(".")},["base","primary","secondary","tertiary","inherit","info","success","warning","error","dark","light","inverse"]),ii=["solid","outline","flat"],ni=["rectangle","square"],ri=[["small","sm"],["medium","md"],["large","lg"]],ai=[["small","sm"],["medium","md"],["large","lg"]],oi=["fixed","static","sticky","absolute"],si=["both","horizontal","vertical"],li=["auto","hidden","visible","scroll","clip"];function di(e,t,i,n){var r=g("").attr({action:i,method:"POST",target:n});var a=P.antiForgeryTokens();a.fileName=t;var o=e.split(";base64,");a.contentType=o[0].replace("data:","");a.base64=o[1];for(var s in a)if(a.hasOwnProperty(s))g("").attr({value:a[s],name:s,type:"hidden"}).appendTo(r);r.appendTo("body").submit().remove()}P.cssProperties=function(){var n={},e={};function t(e,t){var i=P.cssProperties.propertyDictionary;if(!i[e])i[e]={};i[e][$]=t}function i(e,t){var i=P.cssProperties.propertyDictionary,n,r,a,o,s,l;for(n=0;n
    '+'
    '+'
    '+'
    '+'
    ',t=g(e),i=[];t.appendTo(g("body"));t.each(function(e,t){i.push(g(t).css("background-color"))});t.remove();return i},P.isElement=function(e){return e instanceof Element||e instanceof HTMLDocument},P.defaults=P.defaults||{},P.setDefaults=function(e,t){var i=e.split(".");var n=P.defaults;e=i.pop();i.forEach(function(e){if(n[e]===M)n[e]={};n=n[e]});if(t.constructor===Object)n[e]=tt({},n[e],t);else n[e]=t},P.class2type={},jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){P.class2type["[object "+t+"]"]=t.toLowerCase()}),P.type=function(e){if(e==null)return e+"";return typeof e==="object"||typeof e==="function"?P.class2type[Object.prototype.toString.call(e)]||"object":typeof e},window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.data.odata.min",["./kendo.core.min"],function(){var e={id:"data.odata",name:"OData",category:"framework",depends:["core"],hidden:true},n=window.kendo.jQuery,p=void 0,h=window.kendo,l=n.extend,d="\r\n",u="\r\n\r\n",f=h.isFunction,m={eq:"eq",neq:"ne",gt:"gt",gte:"ge",lt:"lt",lte:"le",contains:"substringof",doesnotcontain:"substringof",endswith:"endswith",startswith:"startswith",isnull:"eq",isnotnull:"ne",isnullorempty:"eq",isnotnullorempty:"ne",isempty:"eq",isnotempty:"ne"},g=l({},m,{contains:"contains"}),s={pageSize:n.noop,page:n.noop,filter:function(e,t,i){if(t){t=v(t,i);if(t)e.$filter=t}},sort:function(e,t){var i=n.map(t,function(e){var t=e.field.replace(/\./g,"/");if(e.dir==="desc")t+=" desc";return t}).join(",");if(i)e.$orderby=i},skip:function(e,t){if(t)e.$skip=t},take:function(e,t){if(t)e.$top=t}},c={read:{dataType:"jsonp"}};function v(e,t){var i=[],n=e.logic||"and",r,a,o,s,l,d,u,f,c=e.filters;for(r=0,a=c.length;r3)if(e!=="substringof")l="{0}({2},"+l+")";else{l="{0}("+l+",{2})";if(d==="doesnotcontain")if(t){l="{0}({2},'{1}') eq -1";e="indexof"}else l+=" eq false"}else l="{2} {0} "+l;e=h.format(l,e,u,o)}}i.push(e)}e=i.join(" "+n+" ");if(i.length>1)e="("+e+")";return e}function i(e){for(var t in e)if(t.indexOf("@odata")===0)delete e[t]}function t(){return Math.floor((1+Math.random())*65536).toString(16).substr(1)}function _(e){return e+t()+"-"+t()+"-"+t()}function b(e,t){var i=d+"--"+e;if(t)i+="--";return i}function k(e,t,i,n){var r=e.options[n].url;var a=h.format("{0} ",i);if(f(r))return a+r(t);else return a+r}function w(e,t){var i="";i+=b(e,false);i+=d+"Content-Type: application/http";i+=d+"Content-Transfer-Encoding: binary";i+=d+"Content-ID: "+t;return i}function y(e){var t="";t+=d+"Content-Type: application/json;odata=minimalmetadata";t+=d+"Prefer: return=representation";t+=u+h.stringify(e);return t}function x(e,t,i,n,r,a){var o="";for(var s=0;s=200&&o<=299){l=r.match(/\{.*\}/gm);if(l)n[n.length-1].models.push(JSON.parse(l[0]))}else n[n.length-1].passed=false}return n}return l(true,h.data,{schemas:{odata:{type:"json",data:function(e){return e.d.results||[e.d]},total:"d.__count"}},transports:{odata:{read:{cache:true,dataType:"jsonp",jsonp:"$callback"},update:{cache:true,dataType:"json",contentType:"application/json",type:"PUT"},create:{cache:true,dataType:"json",contentType:"application/json",type:"POST"},destroy:{cache:true,dataType:"json",type:"DELETE"},parameterMap:function(e,t,i){var n,r,a,o;e=e||{};t=t||"read";o=(this.options||c)[t];o=o?o.dataType:"json";if(t==="read"){n={$inlinecount:"allpages"};if(o!="json")n.$format="json";for(a in e)if(s[a])s[a](n,e[a],i);else n[a]=e[a]}else{if(o!=="json")throw new Error("Only json dataType can be used for "+t+" operation.");if(t!=="destroy"){for(a in e){r=e[a];if(typeof r==="number")e[a]=r+""}n=h.stringify(e)}}return n}}}}),l(true,h.data,{schemas:{"odata-v4":{type:"json",data:function(e){if(Array.isArray(e)){for(var t=0;t=0)return e.replace(/\.?(@.*)/,t?"$1":'["$1"]');if(e.indexOf("text()")>=0)return e.replace(/(\.?text\(\))/,t?"#text":'["#text"]');return e},getter:function(e){return t(this.xpathToMember(e),true)}});return r.extend(true,c.data,{XmlDataReader:n,readers:{xml:n}}),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.data.min",["./kendo.core.min","./kendo.data.odata.min","./kendo.data.xml.min"],function(){var i={id:"data",name:"Data source",category:"framework",description:"Powerful component for using local and remote data.Fully supports CRUD, Sorting, Paging, Filtering, Grouping, and Aggregates.",depends:["core"],features:[{id:"data-odata",name:"OData",description:"Support for accessing Open Data Protocol (OData) services.",depends:["data.odata"]},{id:"data-signalr",name:"SignalR",description:"Support for binding to SignalR hubs.",depends:["data.signalr"]},{id:"data-XML",name:"XML",description:"Support for binding to XML.",depends:["data.xml"]}]},v=window.kendo.jQuery,S=void 0,m=v.extend,g=v.proxy,_=v.isPlainObject,b=v.isEmptyObject,u=v.isArray,O=v.grep,n=v.ajax,k,w=v.each,p=v.noop,y=window.kendo,h=y.isFunction,o=y.Observable,e=y.Class,x="string",L="function",B="asc",V="create",U="read",W="update",j="destroy",C="change",q="sync",G="get",a="error",f="requestStart",s="progress",T="requestEnd",$=[V,U,W,j],t=function(e){return e},D=y.getter,Y=y.stringify,F=Math,K=[].push,Q,X=[].pop,J=[].splice,Z=[].shift,c=[].slice,ee=[].unshift,te={}.toString,ie=y.support.stableSort,ne=/^\/Date\((.*?)\)\/$/,re=[],I=o.extend({init:function(e,t){var i=this;i.type=t||d;o.fn.init.call(i);i.length=e.length;i.wrapAll(e,i)},at:function(e){return this[e]},toJSON:function(e){var t,i=this.length,n,r=new Array(i);for(t=0;t0)i=this[t--];for(;t>=0;t--)i=e(i,this[t],t,this);return i},filter:function(e,t){var i=0;var n=[];var r;var a=this.length;var o=t||window;for(;i=0;if(n){var r=e.split("."),a="";while(r.length>1){a+=r.shift();var o=y.getter(a,true)(i);if(o instanceof d){o.set(r.join("."),t);return n}a+="."}}y.setter(e)(i,t);return n},set:function(e,t){var i=this,n=false,r=e.indexOf(".")>=0,a=y.getter(e,true)(i);if(a!==t){if(a instanceof o&&this._handlers[e]){if(this._handlers[e].get)a.unbind(G,this._handlers[e].get);a.unbind(C,this._handlers[e].change)}n=i.trigger("set",{field:e,value:t});if(!n){if(!r)t=i.wrap(t,e,function(){return i});if(!i._set(e,t)||e.indexOf("(")>=0||e.indexOf("[")>=0)i.trigger(C,{field:e})}}return n},parent:p,wrap:function(e,t,i){var n=this;var r;var a;var o=te.call(e);if(e!=null&&(o==="[object Object]"||o==="[object Array]")){var s=e instanceof I;var l=e instanceof H;if(o==="[object Object]"&&!l&&!s){if(!(e instanceof d))e=new d(e);r=oe(n,G,t,true);e.bind(G,r);a=oe(n,C,t,true);e.bind(C,a);n._handlers[t]={get:r,change:a}}else if(o==="[object Array]"||s||l){if(!s&&!l)e=new I(e);a=oe(n,C,t,false);e.bind(C,a);n._handlers[t]={change:a}}e.parent=i}return e}});function le(e,t){if(e===t)return true;var i=y.type(e),n=y.type(t),r;if(i!==n)return false;if(i==="date")return e.getTime()===t.getTime();if(i!=="object"&&i!=="array")return false;for(r in e)if(!le(e[r],t[r]))return false;return true}var de={number:function(e){if(typeof e===x&&e.toLowerCase()==="null")return null;return y.parseFloat(e)},date:function(e){if(typeof e===x&&e.toLowerCase()==="null")return null;return y.parseDate(e)},boolean:function(e){if(typeof e===x)if(e.toLowerCase()==="null")return null;else return e.toLowerCase()==="true";return e!=null?!!e:e},string:function(e){if(typeof e===x&&e.toLowerCase()==="null")return null;return e!=null?e+"":e},default:function(e){return e}},ue={string:"",number:0,date:new Date,boolean:false,default:""};function fe(e,t){var i,n;for(n in e){i=e[n];if(_(i)&&i.field&&i.field===t)return i;else if(i===t)return i}return null}var z=d.extend({init:function(e){var t=this;if(!e||v.isEmptyObject(e)){e=v.extend({},t.defaults,e);if(t._initializers)for(var i=0;i0)n._initializers=p;i=e.extend(n);i.define=function(e){return z.define(i,e)};if(n.fields){i.fields=n.fields;i.idField=n.idField}return i},{selector:function(e){return h(e)?e:D(e)},compare:function(e){var i=this.selector(e);return function(e,t){e=i(e);t=i(t);if(e==null&&t==null)return 0;if(e==null)return-1;if(t==null)return 1;if(e.localeCompare)return e.localeCompare(t);return e>t?1:en?1:-1}},desc:function(e){var r=this.selector(e);return function(e,t){var i=r(e);var n=r(t);if(i&&i.getTime&&n&&n.getTime){i=i.getTime();n=n.getTime()}if(i===n)return e.__position-t.__position;if(i==null)return 1;if(n==null)return-1;if(n.localeCompare)return n.localeCompare(i);return i=0)t+="\\"+r;else t+=r;i=false}return t+"$/"}return{quote:function(e){if(e&&e.getTime)return"new Date("+e.getTime()+")";return o(e)},eq:function(e,t,i,n){return r("==",e,t,i,n)},neq:function(e,t,i,n){return r("!=",e,t,i,n)},gt:function(e,t,i){return r(">",e,t,i)},gte:function(e,t,i){return r(">=",e,t,i)},lt:function(e,t,i){return r("<",e,t,i)},lte:function(e,t,i){return r("<=",e,t,i)},startswith:e(function(e,t){return e+".lastIndexOf("+t+", 0) == 0"}),doesnotstartwith:e(function(e,t){return e+".lastIndexOf("+t+", 0) == -1"}),endswith:e(function(e,t){var i=t?t.length-2:0;return e+".indexOf("+t+", "+e+".length - "+i+") >= 0"}),doesnotendwith:e(function(e,t){var i=t?t.length-2:0;return e+".indexOf("+t+", "+e+".length - "+i+") < 0"}),contains:e(function(e,t){return e+".indexOf("+t+") >= 0"}),doesnotcontain:e(function(e,t){return e+".indexOf("+t+") == -1"}),matches:e(function(e,t){t=t.substring(1,t.length-1);return i(t)+".test("+e+")"}),doesnotmatch:e(function(e,t){t=t.substring(1,t.length-1);return"!"+i(t)+".test("+e+")"}),isempty:function(e){return e+" === ''"},isnotempty:function(e){return e+" !== ''"},isnull:function(e){return"("+e+" == null)"},isnotnull:function(e){return"("+e+" != null)"},isnullorempty:function(e){return"("+e+" === null) || ("+e+" === '')"},isnotnullorempty:function(e){return"("+e+" !== null) && ("+e+" !== '')"}}}());function E(e){this.data=e||[]}function A(e,t){if(e){var i=typeof e===x?{field:e,dir:t}:e,n=u(i)?i:i!==S?[i]:[];return O(n,function(e){return!!e.dir})}}function he(e,t){var i={};if(e){var n=typeof e===x?{field:e,dir:t}:e,r=u(n)?n:n!==S?[n]:[];for(var a=0;a":"gt",isgreaterthan:"gt",greaterthan:"gt",greater:"gt",">=":"gte",isgreaterthanorequalto:"gte",greaterthanequal:"gte",ge:"gte",notsubstringof:"doesnotcontain",isnull:"isnull",isempty:"isempty",isnotempty:"isnotempty"};function ge(e){var t,i,n,r,a=e.filters;if(a)for(t=0,i=a.length;tt.field)return 1;else if(e.field0){o=n[0];if(a&&a.groupPaging)t=new E(r).groupAllData(o,r).select(function(e){var t=new E(r).filter([{field:e.field,operator:"eq",value:e.value,ignoreCase:false}]);var i=n.length>1?new E(e.items).group(n.slice(1),t.toArray(),a).toArray():e.items;return{field:e.field,value:e.value,hasSubgroups:n.length>1,items:i,aggregates:t.aggregate(o.aggregates),uid:y.guid(),itemCount:i.length,subgroupCount:i.length}});else t=t.groupBy(o).select(function(e){var t=new E(r).filter([{field:e.field,operator:"eq",value:e.value,ignoreCase:false}]);return{field:e.field,value:e.value,items:n.length>1?new E(e.items).group(n.slice(1),t.toArray()).toArray():e.items,hasSubgroups:n.length>1,aggregates:t.aggregate(o.aggregates)}})}return t},groupBy:function(e){var t=this;if(b(e)||!this.data.length)return new E([]);var i=e.field,n=e.skipItemSorting?this.data:this._sortForGrouping(i,e.dir||"asc"),r=y.accessor(i),a,o=r.get(n[0],i),s={field:i,value:o,items:[]},l,d,u,f=[s];for(d=0,u=n.length;dn&&(P(n)||De(n)))e=n;return e}};function P(e){return typeof e==="number"&&!isNaN(e)}function De(e){return e&&e.getTime}function Fe(e){var t,i=e.length,n=new Array(i);for(t=0;t=t.length)break}if(a=t?--n:n,0,e.splice(t,1)[0]);n++;break}}})}}finally{this.options.autoSync=t}return r},remove:function(t){var i,e=this,n=e._isServerGrouped();if(n&&t.uid&&(!t.isNew||!t.isNew()))e._destroyed.push(t);this._eachItem(e._data,function(e){i=Ge(e,t);if(i&&n)return true});this._removeModelFromRanges(t);return t},destroyed:function(){return this._destroyed},created:function(){var e,t,i=[],n=this._flatData(this._data,this.options.useRanges);for(e=0,t=n.length;e-1){n(t,e);return true}})},_removePristineForModel:function(e){this._executeOnPristineForModel(e,function(e,t){t.splice(e,1)})},_readData:function(e){var t=!this._isServerGrouped()?this.reader.data:this.reader.groups;return t.call(this.reader,e)},_eachPristineItem:function(i){var n=this;var e=n.options;var t=n._getCurrentRangeSpan();n._eachItem(n._pristineData,i);if(e.serverPaging&&e.useRanges)w(t,function(e,t){n._eachItem(t.pristineData,i)})},_eachItem:function(e,t){if(e&&e.length)if(this._isServerGrouped())Ue(e,t);else t(e)},_pristineForModel:function(t){var i,n,e=function(e){n=$e(e,t);if(n>-1){i=e[n];return true}};this._eachPristineItem(e);return i},_cancelModel:function(i){var n=this;var r=this._pristineForModel(i);this._eachItem(this._data,function(e){var t=Ye(e,i);if(t>=0)if(r&&(!i.isNew()||r.__state__)){e[t].accept(r);if(r.__state__=="update")e[t].dirty=true}else{n._modelCanceled(i);e.splice(t,1);n._removeModelFromRanges(i)}})},_modelCanceled:p,_submit:function(r,e){var a=this;a.trigger(f,{type:"submit"});a.trigger(s);a.transport.submit(m({success:function(e,t){var i=v.grep(r,function(e){return e.type==t})[0];if(i)i.resolve({response:e,models:i.models,type:t})},error:function(e,t,i){for(var n=0;nt._total){t._pageSize=t._total;if(t.options.pageSize&&t.options.pageSize>t._pageSize)t._pageSize=t.options.pageSize}if(t._aggregate&&i.serverAggregates)t._aggregateResult=t._readAggregates(e);e=t._readData(e);t._destroyed=[]}else{e=t._readData(e);n=[];var a={};var o=t.reader.model;var s=o?o.idField:"id";var l;for(l=0;le.data.length)t.skip=e.data.length-t.take;n.view(r.range(t.skip,t.take).toArray())}else n.view(e.data)},_clearEmptyGroups:function(e){for(var t=e.length-1;t>=0;t--){var i=e[t];if(i.hasSubgroups)this._clearEmptyGroups(i.items);else if(i.items&&!i.items.length)J.apply(i.parent(),[t,1])}},_queryProcess:function(e,t){if(this.options.inPlaceSort)return E.process(e,t,this.options.inPlaceSort);else return E.process(e,t)},_mergeState:function(e){var t=this;if(e!==S){t._pageSize=e.pageSize;t._page=e.page;t._sort=e.sort;t._filter=e.filter;t._group=e.group;t._aggregate=e.aggregate;t._skip=t._currentRangeStart=e.skip;t._take=e.take;if(t._skip===S){t._skip=t._currentRangeStart=t.skip();e.skip=t.skip()}if(t._take===S&&t._pageSize!==S){t._take=t._pageSize;e.take=t._take}if(e.sort){t._sort=e.sort=A(e.sort);t._sortFields=he(e.sort)}if(e.filter)t._filter=e.filter=t.options.accentFoldingFiltering&&!v.isEmptyObject(e.filter)?v.extend({},R(e.filter),{accentFoldingFiltering:t.options.accentFoldingFiltering}):R(e.filter);if(e.group)t._group=e.group=N(e.group);if(e.aggregate)t._aggregate=e.aggregate=we(e.aggregate)}return e},query:function(e){var t;var i=this.options.serverSorting||this.options.serverPaging||this.options.serverFiltering||this.options.serverGrouping||this.options.serverAggregates;if(i||(this._data===S||this._data.length===0)&&!this._destroyed.length){if(this.options.endless){var n=e.pageSize-this.pageSize();if(n>0){n=this.pageSize();e.page=e.pageSize/n;e.pageSize=n}else{e.page=1;this.options.endless=false}}return this.read(this._mergeState(e))}var r=this.trigger(f,{type:"read"});if(!r){this.trigger(s);if(e)e.groupPaging=this._groupPaging;t=this._queryProcess(this._data,this._mergeState(e));this._setFilterTotal(t.total,true);this._aggregateResult=this._calculateAggregates(t.dataToAggregate||this._data,e);this._setView(t,e);this.trigger(T,{type:"read"});this.trigger(C,{items:t.data,action:e?e.action:""})}return v.Deferred().resolve(r).promise()},_hasExpandedSubGroups:function(e){var t=false;var i=e.items?e.items.length:0;if(!e.hasSubgroups)return false;for(var n=0;n=i.take)break;if(!a._getGroupByUid(s.uid))a._groupsFlat.push(s);if(a._groupsState[s.uid]){if(a._isServerGroupPaged()){if(a._fetchGroupItems(s,i,n,r)){a._fetchingGroupItems=true;return}u=(s.subgroupCount||s.itemCount)+1;f=i.skip-i.skipped;if(!a._hasExpandedSubGroups(s)&&f>u){i.skipped+=u;continue}}if(i.includeParents&&i.skipped0)t.push(s);else s.excludeHeader=false}else{l=[];d=s.items.length;for(var p=0;p=i.take)break;l.push(s.items[p]);i.taken++}if(l.length||i.taken>0){s.currentItems=l;t.push(s)}else s.excludeHeader=false}}else{if(i.skippeds)return r}return r},_fetchGroupItems:function(e,t,i,n){var r=this;var a;var o;var s;var l=e.hasSubgroups?e.subgroupCount:e.itemCount;var d=t.take;var u=t.skipped;var f=r.take();var c;if(t.includeParents)if(u=l)return false;o=e.items[a];s=e.items[Math.min(a+d,l-1)];if(o.notFetched){r.getGroupItems(e,t,i,n,F.max(F.floor(a/f),0)*f,F.round((a+f)/f));return true}if(s.notFetched){r.getGroupItems(e,t,i,n,F.max(F.floor((a+f)/f),0)*f,F.round((a+f)/f));return true}}},getGroupItems:function(e,t,i,n,r,a){var o=this;var s;var l;var d;var u;if(!e.items)e.items=[];s=o.take();l=this._composeItemsFilter(e,i);d={page:a||1,pageSize:s,skip:r,take:s,filter:l,aggregate:o._aggregate,sort:o._sort};u=o.findSubgroups(e);if(u&&u.length){d.group=u;d.groupPaging=true}clearTimeout(o._timeout);o._timeout=setTimeout(function(){o._queueRequest(d,function(){if(!o.trigger(f,{type:"read"}))o.transport.read({data:d,success:o._groupItemsSuccessHandler(e,t.skip,o.take(),n,r),error:function(){var e=c.call(arguments);o.error.apply(o,e)}});else o._dequeueRequest()})},100)},_groupItemsSuccessHandler:function(a,o,s,l,d){var u=this;var f=u._timeStamp();l=h(l)?l:p;var c=u.options.schema&&u.options.schema.total?u.options.schema.total:"Total";return function(e){var t;var i=z.define(u.options.schema.model);var n;u._dequeueRequest();u.trigger(T,{response:e,type:"read"});if(h(c))n=c(e);else n=e[c];e=u.reader.parse(e);if(a.hasSubgroups){t=u.reader.groups(e);a.subgroupCount=n}else{t=u.reader.data(e);t=t.map(function(e){return new i(e)})}a.items.omitChangeEvent=true;for(var r=0;r=d&&r=u._currentRequestTimeStamp||!u._skipRequestsInProgress)u.trigger(C,{})}},findSubgroups:function(e){var t=this._group.map(function(e){return e.field}).indexOf(e.field);return this._group.slice(t+1,this._group.length)},_composeItemsFilter:function(e,t){var i=this.filter()||{logic:"and",filters:[]};i=m(true,{},i);i.filters.push({field:e.field,operator:"eq",value:e.value});if(t)for(var n=0;n1){d=l.splice(0,1)[0];r=r[d].items}r[l[0]]=t._cloneGroup(e);break}}},_containsSubGroup:function(e,t,i){var n=this;var r=e.items.length;var a;if(e.hasSubgroups&&r)for(var o=0;ot.totalPages())return;t._skip=t._currentRangeStart=i*t.take();i+=1;e.page=i;t._query(e);return i},prev:function(e){var t=this,i=t.page();e=e||{};if(!i||i===1)return;t._skip=t._currentRangeStart=t._skip-t.take();i-=1;e.page=i;t._query(e);return i},page:function(e){var t=this,i;if(e!==S){e=F.max(F.min(F.max(e,1),t.totalPages()),1);var n=t.take();if(t._isGroupPaged()){e-=1;t.range(e*n,n,null,"page");return}t._query(t._pageableQueryOptions({page:e}));return}i=t.skip();return i!==S?F.round((i||0)/(t.take()||1))+1:S},pageSize:function(e){var t=this;if(e!==S){t._query(t._pageableQueryOptions({pageSize:e,page:1}));return}return t.take()},sort:function(e){var t=this;if(e!==S){t.trigger("sort");t._query({sort:e});return}return t._sort},filter:function(e){var t=this;if(e===S)return t._filter;t.trigger("reset");t._query({filter:e,page:1})},group:function(e){var t=this;var i={group:e};if(t._groupPaging){if(e!==S&&(!e||!e.length))t._ranges=[];i.page=1}if(e!==S){t._query(i);return}return t._group},getGroupsFlat:function(e){var t,i=[],n;for(t=0,n=e.length;t=a;r--){n=t[r];i={value:e.get?e.get(n.field):e[n.field],field:n.field,items:i?[i]:[e],hasSubgroups:!!i,aggregates:this._emptyAggregates(n.aggregates)}}return i},totalPages:function(){var e=this,t=e.pageSize()||e.total(),i=e._isGroupPaged()?e.groupsTotal(true):e.total();return F.ceil((i||0)/t)},inRange:function(e,t){var i=this,n=F.min(e+t,i.total());if(!i.options.serverPaging&&i._data.length>0)return true;return i._findRange(e,n).length>0},lastRange:function(){var e=this._ranges;return e[e.length-1]||{start:0,end:0,data:[]}},firstItemUid:function(){var e=this._ranges;return e.length&&e[0].data.length&&e[0].data[0].uid},enableRequestsInProgress:function(){this._skipRequestsInProgress=false},_timeStamp:function(){return(new Date).getTime()},range:function(e,t,i,n){this._currentRequestTimeStamp=this._timeStamp();this._skipRequestsInProgress=true;var r=this._isGroupPaged()?this.groupsTotal(true):this.total();if(n==="expandGroup"||n==="collapseGroup")this._updateOuterRangesLength();e=F.min(e||0,r);i=h(i)?i:p;var a=this,o=F.max(F.floor(e/t),0)*t,s=F.min(o+t,r),l;l=a._findRange(e,F.min(e+t,r),i);if((l.length||r===0)&&!a._fetchingGroupItems){a._processRangeData(l,e,t,a._originalPageSkip||o,a._originalSize||s,{action:n});a._originalPageSkip=null;a._originalSize=null;i();return}if(a._isGroupPaged()){a._originalPageSkip=o;a._originalSize=s;o=F.max(F.floor(a._adjustPageSkip(e,t)/t),0)*t;s=F.min(o+t,r)}if(t!==S&&!a._fetchingGroupItems)if(a._isGroupPaged()&&!a._groupRangeExists(o,t)||!a._rangeExists(o,s))a.prefetch(o,t,function(){if(e>o&&s=t)return[];if(e>a.outerEnd){b.skipped+=a.outerEnd-(k||0);k=a.outerEnd;continue}if(typeof k!=="undefined"&&k!=a.outerStart)b.skipped+=a.outerStart-k;if(b.skipped>b.skip)return[];if(typeof k==="undefined"&&e>0&&a.start>0)b.skipped=a.outerStart;l=s;while(true){this._findGroupedRange(a.data,o,b,null,i);C=n._calculateGroupsTotal(o,true,"currentItems");if(C>=b.take)return o;if(n._fetchingGroupItems)return[];l++;if(r[l]&&r[l].outerStart===a.outerEnd)a=r[l];else break}}else if(e>=a[y]&&e<=a[x]){v=0;for(l=s;l<_;l++){a=r[l];g=n._flatData(a.data,true);if(g.length&&e+v>=a.start){f=a.data;c=a.end;if(!m){if(h.inPlaceSort)p=n._queryProcess(a.data,{filter:n.filter()});else{var T=ye(n.group()||[]).concat(A(n.sort()||[]));p=n._queryProcess(a.data,{sort:T,filter:n.filter()})}g=f=p.data;if(p.total!==S)c=p.total}d=0;if(e+v>a.start)d=e+v-a.start;u=g.length;if(c>t)u=u-(c-t);v+=u-d;o=n._mergeGroups(o,f,d,u);if(t<=a.end&&v==t-e)return o}}break}k=a.outerEnd}return[]},_getRangesMismatch:function(e){var t=this;var i=t._ranges;var n=0;var r=0;while(true){var a=i[r];if(!a||a.outerStart>e)break;if(a.outerEnd!=a.end)n=a.outerEnd-a.end;r++}return n},_mergeGroups:function(e,t,i,n){if(this._isServerGrouped()){var r=t.toJSON(),a;if(e.length)a=e[e.length-1];Oe(a,r,i,n);return e.concat(r)}return e.concat(t.slice(i,n))},_processRangeData:function(e,t,i,n,r,a){var o=this;o._pending=S;o._skip=t>o.skip()&&!o._omitPrefetch?F.min(r,(o.totalPages()-1)*o.take()):n;o._currentRangeStart=t;o._take=i;var s=o.options.serverPaging;var l=o.options.serverSorting;var d=o.options.serverFiltering;var u=o.options.serverAggregates;try{o.options.serverPaging=true;if(!o._isServerGrouped()&&!(o.group()&&o.group().length))o.options.serverSorting=true;o.options.serverFiltering=true;o.options.serverPaging=true;o.options.serverAggregates=true;if(s){o._detachObservableParents();o._data=e=o._observe(e)}o._process(e,a)}finally{o.options.serverPaging=s;o.options.serverSorting=l;o.options.serverFiltering=d;o.options.serverAggregates=u}},skip:function(){var e=this;if(e._skip===S)return e._page!==S?(e._page-1)*(e.take()||1):S;return e._skip},currentRangeStart:function(){return this._currentRangeStart||0},take:function(){return this._take||this._pageSize},_prefetchSuccessHandler:function(o,s,l,d){var u=this;var f=u._timeStamp();return function(e){var t=false,i={start:o,end:s,data:[],timestamp:u._timeStamp()},n,r,a;u._dequeueRequest();u.trigger(T,{response:e,type:"read"});e=u.reader.parse(e);a=u._readData(e);if(a.length){for(n=0,r=u._ranges.length;n=u._currentRequestTimeStamp||!u._skipRequestsInProgress))if(l&&a.length)l();else u.trigger(C,{})}},prefetch:function(e,t,i){var n=this,r=F.min(e+t,n.total()),a={take:t,skip:e,page:e/t+1,pageSize:t,sort:n._sort,filter:n._filter,group:n._group,aggregate:n._aggregate};if(n._isGroupPaged()&&!n._isServerGrouped()&&n._groupRangeExists(e,r)){if(i)i();return}if(n._isServerGroupPaged()&&!n._groupRangeExists(e,r)||!n._rangeExists(e,r)){clearTimeout(n._timeout);n._timeout=setTimeout(function(){n._queueRequest(a,function(){if(!n.trigger(f,{type:"read"})){if(n._omitPrefetch)n.trigger(s);n.transport.read({data:n._params(a),success:n._prefetchSuccessHandler(e,r,i),error:function(){var e=c.call(arguments);n.error.apply(n,e)}})}else n._dequeueRequest()})},100)}else if(i)i()},_multiplePrefetch:function(e,t,i){var n=this,r=F.min(e+t,n.total()),a={take:t,skip:e,page:e/t+1,pageSize:t,sort:n._sort,filter:n._filter,group:n._group,aggregate:n._aggregate};if(!n._rangeExists(e,r)){if(!n.trigger(f,{type:"read"}))n.transport.read({data:n._params(a),success:n._prefetchSuccessHandler(e,r,i,true)})}else if(i)i()},_adjustPageSkip:function(e,t){var i=this;var n=i._getPrevRange(e);var r;var a=i.total();var o;if(n){o=i._getRangesMismatch(e);if(!o)return e;e-=o}r=F.max(F.floor(e/t),0)*t;if(r>a)while(true){r-=t;if(r=e)return i[n]},_getPrevRange:function(e){var t=this,i=t._ranges,n,r,a=i.length;for(n=a-1;n>=0;n--)if(i[n].outerStart<=e){r=i[n];break}return r},_rangeExists:function(e,t){var i=this,n=i._ranges,r,a;for(r=0,a=n.length;r=t)return true;return false},_groupRangeExists:function(e,t){var i=this,n=i._ranges,r,a,o=0,s=i.groupsTotal(true);if(t>s&&!i._isServerGrouped())t=s;for(r=0,a=n.length;r=e)o+=l.outerEnd-e;else if(l.outerStart<=t&&l.outerEnd>=t)o+=t-l.outerStart}return o>=t-e},_getCurrentRangeSpan:function(){var e=this;var t=e._ranges;var i=e.currentRangeStart();var n=i+(e.take()||0);var r=[];var a;var o;var s=t.length;for(o=0;o=i||a.start>=i&&a.start<=n)r.push(a)}return r},_removeModelFromRanges:function(e){var t=this;var i;for(var n=0,r=this._ranges.length;n=e){if(!i._getByUid(t.uid,a.data))if(i._isServerGrouped())a.data.splice(e,0,i._wrapInEmptyGroup(t));else a.data.splice(e,0,t);break}}i._updateRangesLength()},_updateRangesLength:function(){var e=this;var t=e._ranges||[];var i=t.length;var n=false;var r=0;var a=0;var o;var s;var l;for(l=0;l0)this.filter(this._hierarchicalFilter);else{this.options.filter=this._hierarchicalFilter;this._filter=R(this.options.filter);this._hierarchicalFilter=null}return t},remove:function(e){var t=e.parentNode(),i=this,n;if(t&&t._initChildren)i=t.children;n=H.fn.remove.call(i,e);if(t&&!i.data().length)t.hasChildren=false;return n},success:nt("success"),data:nt("data"),insert:function(e,t){var i=this.parent();if(i&&i._initChildren){i.hasChildren=true;i._initChildren()}return H.fn.insert.call(this,e,t)},filter:function(e){if(e===S)return this._filter;if(!this.options.serverFiltering&&this._markHierarchicalQuery(e))e={logic:"or",filters:[e,{field:"_matchFilter",operator:"equals",value:true}]};this.trigger("reset");this._query({filter:e,page:1})},_markHierarchicalQuery:function(e){var t;var i;var n;var r;var a;var o=this.options.accentFoldingFiltering;e=o?v.extend({},R(e),{accentFoldingFiltering:o}):R(e);if(!e||e.filters.length===0){this._updateHierarchicalFilter(function(){return true});return false}t=E.filterExpr(e);n=t.fields;r=t.operators;i=a=new Function("d, __f, __o","return "+t.expression);if(n.length||r.length)a=function(e){return i(e,n,r)};this._updateHierarchicalFilter(a);return true},_updateHierarchicalFilter:function(e){var t;var i=this._data;var n=false;for(var r=0;r=this.total()){this.trigger("endreached",{index:e});return null}if(!this.useRanges)return this.dataSource.view()[e];if(this.useRanges){if(e=this.skip+t)i=this.range(Math.floor(e/t)*t);if(e===this.prefetchThreshold)this._prefetch();if(e===this.midPageThreshold)this.range(this.nextMidRange,true);else if(e===this.nextPageThreshold)this.range(this.nextFullRange);else if(e===this.pullBackThreshold)if(this.offset===this.skip)this.range(this.previousMidRange);else this.range(this.previousFullRange);if(i)return this.dataSource.at(e-this.dataOffset);else{this.trigger("endreached",{index:e});return null}}},indexOf:function(e){return this.dataSource.data().indexOf(e)+this.dataOffset},total:function(){return parseInt(this.dataSource.total(),10)},next:function(){var e=this,t=e.pageSize,i=e.skip-e.viewSize+t,n=F.max(F.floor(i/t),0)*t;this.offset=i;this.dataSource.prefetch(n,t,function(){e._goToRange(i,true)})},range:function(e,t){if(this.offset===e)return true;var i=this,n=this.pageSize,r=F.max(F.floor(e/n),0)*n,a=this.dataSource;if(t)r+=n;if(a.inRange(e,n)){this.offset=e;this._recalculate();this._goToRange(e);return true}else if(this.prefetch){a.prefetch(r,n,function(){i.offset=e;i._recalculate();i._goToRange(e,true)});return false}return true},syncDataSource:function(){var e=this.offset;this.offset=null;this.range(e)},destroy:function(){this.unbind()},_prefetch:function(){var e=this,t=this.pageSize,i=this.skip+t,n=this.dataSource;if(!n.inRange(i,t)&&!this._prefetching&&this.prefetch){this._prefetching=true;this.trigger("prefetching",{skip:i,take:t});n.prefetch(i,t,function(){e._prefetching=false;e.trigger("prefetched",{skip:i,take:t})})}},_goToRange:function(e,t){if(this.offset!==e)return;this.dataOffset=e;this._expanding=t;this.dataSource.range(e,this.pageSize);this.dataSource.enableRequestsInProgress()},_reset:function(){this._syncPending=true},_change:function(){var e=this.dataSource;this.length=this.useRanges?e.lastRange().end:e.view().length;if(this._syncPending){this._syncWithDataSource();this._recalculate();this._syncPending=false;this.trigger("reset",{offset:this.offset})}this.trigger("resize");if(this._expanding)this.trigger("expand");delete this._expanding},_syncWithDataSource:function(){var e=this.dataSource;this._firstItemUid=e.firstItemUid();this.dataOffset=this.offset=e.skip()||0;this.pageSize=e.pageSize();this.useRanges=e.options.serverPaging},_recalculate:function(){var e=this.pageSize,t=this.offset,i=this.viewSize,n=Math.ceil(t/e)*e;this.skip=n;this.midPageThreshold=n+e-1;this.nextPageThreshold=n+i-1;this.prefetchThreshold=n+Math.floor(e/3*2);this.pullBackThreshold=this.offset-1;this.nextMidRange=n+e-i;this.nextFullRange=n;this.previousMidRange=t-i;this.previousFullRange=n-e}}),ot=y.Observable.extend({init:function(e,t){var i=this;y.Observable.fn.init.call(i);this.dataSource=e;this.batchSize=t;this._total=0;this.buffer=new at(e,t*3);this.buffer.bind({endreached:function(e){i.trigger("endreached",{index:e.index})},prefetching:function(e){i.trigger("prefetching",{skip:e.skip,take:e.take})},prefetched:function(e){i.trigger("prefetched",{skip:e.skip,take:e.take})},reset:function(){i._total=0;i.trigger("reset")},resize:function(){i._total=Math.ceil(this.length/i.batchSize);i.trigger("resize",{total:i.total(),offset:this.offset})}})},syncDataSource:function(){this.buffer.syncDataSource()},at:function(e){var t=this.buffer,i=e*this.batchSize,n=this.batchSize,r=[],a;if(t.offset>i)t.at(t.offset-1);for(var o=0;o0))e.preventDefault()}).on("mouseleave"+y,function(){i._hovered=false});i.wrapper=A();if(t.animation===false)t.animation={open:{effects:{}},close:{hide:true,effects:{}}};V(t.animation.open,{complete:function(){i.wrapper.css({overflow:o});i._activated=true;i._trigger(a)}});V(t.animation.close,{complete:function(){i._animationClose()}});i._mousedownProxy=function(e){i._mousedown(e)};if(N.mobileOS.android)i._resizeProxy=function(e){setTimeout(function(){i._resize(e)},600)};else i._resizeProxy=function(e){i._resize(e)};if(t.toggleTarget)A(t.toggleTarget).on(t.toggleEvent+y,A.proxy(i.toggle,i))},events:[f,a,s,i],options:{name:"Popup",toggleEvent:"click",origin:w+" "+t,position:c+" "+t,anchor:h,appendTo:null,collision:"flip fit",viewport:window,copyAnchorStyles:true,autosize:false,modal:false,adjustSize:{width:0,height:0},animation:{open:{effects:"slideIn:down",transition:true,duration:200},close:{duration:100,hide:true}},omitOriginOffsets:false},_animationClose:function(){var e=this;var t=e.wrapper.data(L);e.wrapper.hide();if(t)e.wrapper.css(t);if(e.options.anchor!=h)e._hideDirClass();e._closing=false;e._trigger(i)},destroy:function(){var e=this,t=e.options,i=e.element.off(y),n;r.fn.destroy.call(e);if(t.toggleTarget)A(t.toggleTarget).off(y);if(!t.modal){g.off(e.downEvent,e._mousedownProxy);e._toggleResize(false)}R.destroy(e.element.children());i.removeData();if(t.appendTo[0]===document.body){n=i.parent(".k-animation-container");if(n[0])n.remove();else i.remove()}},open:function(e,t){var i=this,n={isFixed:!isNaN(parseInt(t,10)),x:e,y:t},r=i.element,a=i.options,o,s,l=A(a.anchor),d=r[0]&&r.hasClass("km-widget");if(!i.visible()){if(a.copyAnchorStyles){if(d&&x[0]=="font-size")x.shift();r.css(R.getComputedStyles(l[0],x))}if(r.data("animating")||i._trigger(f))return;i._activated=false;if(!a.modal){g.off(i.downEvent,i._mousedownProxy).on(i.downEvent,i._mousedownProxy);i._toggleResize(false);i._toggleResize(true)}i.wrapper=s=R.wrap(r,a.autosize).css({overflow:p,display:"block",position:O}).attr("aria-hidden",false);if(N.mobileOS.android)s.css(_,"translatez(0)");s.css(B);if(A(a.appendTo)[0]==document.body)s.css(c,"-10000px");i.flipped=i._position(n);o=i._openAnimation();if(a.anchor!=h)i._showDirClass(o);if(!r.is(":visible")&&r.data("olddisplay")===u){r.show();r.data("olddisplay",r.css("display"));r.hide()}r.data(m,o.effects).kendoStop(true).kendoAnimate(o).attr("aria-hidden",false)}},_location:function(e){var t=this,i=t.element,n=t.options,r,a=A(n.anchor),o=i[0]&&i.hasClass("km-widget");if(n.copyAnchorStyles){if(o&&x[0]=="font-size")x.shift();i.css(R.getComputedStyles(a[0],x))}t.wrapper=r=R.wrap(i,n.autosize).css({overflow:p,display:"block",position:O});if(N.mobileOS.android)r.css(_,"translatez(0)");r.css(B);if(A(n.appendTo)[0]==document.body)r.css(c,"-10000px");t._position(e||{});var s=r.offset();return{width:R._outerWidth(r),height:R._outerHeight(r),left:s.left,top:s.top}},_openAnimation:function(){var e=V(true,{},this.options.animation.open);e.effects=R.parseEffects(e.effects,this.flipped);return e},_hideDirClass:function(){var e=A(this.options.anchor);var t=((e.attr("class")||"").match(F)||["","down"])[1];var i=l+"-"+t;e.removeClass(i).children(d).removeClass(n).removeClass(i);this.element.removeClass(l+"-"+R.directions[t].reverse)},_showDirClass:function(e){var t=e.effects.slideIn?e.effects.slideIn.direction:"down";var i=l+"-"+t;A(this.options.anchor).addClass(i).children(d).addClass(n).addClass(i);this.element.addClass(l+"-"+R.directions[t].reverse)},position:function(){if(this.visible())this.flipped=this._position()},toggle:function(){var e=this;e[e.visible()?s:f]()},visible:function(){return this.element.is(":"+o)},close:function(i){var e=this,t=e.options,n,r,a,o;if(e.visible()){n=e.wrapper[0]?e.wrapper:R.wrap(e.element).hide();e._toggleResize(false);if(e._closing||e._trigger(s)){e._toggleResize(true);return}e.element.find(".k-popup").each(function(){var e=A(this),t=e.data("kendoPopup");if(t)t.close(i)});g.off(e.downEvent,e._mousedownProxy);if(i)r={hide:true,effects:{}};else{r=V(true,{},t.animation.close);a=e.element.data(m);o=r.effects;if(!o&&!R.size(o)&&a&&R.size(a)){r.effects=a;r.reverse=true}e._closing=true}e.element.kendoStop(true).attr("aria-hidden",true);n.css({overflow:p}).attr("aria-hidden",true);e.element.kendoAnimate(r);if(i)e._animationClose()}},_trigger:function(e){return this.trigger(e,{type:e})},_resize:function(e){var t=this;if(N.resize.indexOf(e.type)!==-1){clearTimeout(t._resizeTimeout);t._resizeTimeout=setTimeout(function(){t._position();t._resizeTimeout=null},50)}else if(!t._hovered||t._activated&&t.element.find(".k-list").length>0)t.close()},_toggleResize:function(e){var t=e?"on":"off";var i=N.resize;if(!(N.mobileOS.ios||N.mobileOS.android||N.browser.safari))i+=" "+v;if(e&&!this.scrollableParents)this.scrollableParents=this._scrollableParents();if(this.scrollableParents&&this.scrollableParents.length)this.scrollableParents[t](v,this._resizeProxy);E[t](i,this._resizeProxy)},_mousedown:function(e){var t=this,i=t.element[0],n=t.options,r=A(n.anchor)[0],a=n.toggleTarget,o=R.eventTarget(e),s=A(o).closest(".k-popup"),l=s.parent().parent(".km-shim").length;s=s[0];if(!l&&s&&s!==t.element[0])return;if(A(e.target).closest("a").data("rel")==="popover")return;if(!C(i,o)&&!C(r,o)&&!(a&&C(A(a)[0],o)))t.close()},_fit:function(e,t,i){var n=0;if(e+t>i)n=i-(e+t);if(e<0)n=-e;return n},_flip:function(e,t,i,n,r,a,o){var s=0;o=o||t;if(a!==r&&a!==b&&r!==b){if(e+o>n)s+=-(i+t);if(e+s<0)s+=i+t}return s},_scrollableParents:function(){return A(this.options.anchor).parentsUntil("body").filter(function(e,t){return R.isScrollable(t)})},_position:function(e){var t=this,i=t.element,n=t.wrapper,r=t.options,a=A(r.viewport),o=N.zoomLevel(),s=!!(a[0]==window&&window.innerWidth&&o<=1.02),l=A(r.anchor),d=r.origin.toLowerCase().split(" "),u=r.position.toLowerCase().split(" "),f=t.collisions,c,p,h,m=10002,g=0,v=document.documentElement,_,b,k,w;if(r.viewport===window)b={top:window.pageYOffset||document.documentElement.scrollTop||0,left:window.pageXOffset||document.documentElement.scrollLeft||0};else b=a.offset();if(s){k=window.innerWidth;w=window.innerHeight}else{k=a.width();w=a.height()}if(s&&v.scrollHeight-v.clientHeight>0){var y=r.isRtl?-1:1;k-=y*R.support.scrollbar()}c=l.parents().filter(n.siblings());if(c[0]){h=Math.max(Number(c.css("zIndex")),0);if(h)m=h+10;else{p=l.parentsUntil(c);for(_=p.length;g<_;g++){h=Number(A(p[g]).css("zIndex"));if(h&&m=0&&A(t).is(":visible")&&!A(t).is("[disabled]")});if(this.element.is("[tabindex]"))e.push(this.element[0]);return e},_sortFocusableElements:function(e){var t;if(j)t=e.sort(function(e,t){return e.tabIndex-t.tabIndex});else{var i="__k_index";e.each(function(e,t){t.setAttribute(i,e)});t=e.sort(function(e,t){return e.tabIndex===t.tabIndex?parseInt(e.getAttribute(i),10)-parseInt(t.getAttribute(i),10):e.tabIndex-t.tabIndex});e.removeAttr(i)}return t},_nextFocusable:function(e,t){var i=t.length;var n=t.index(e.target);return t.get((n+(e.shiftKey?-1:1))%i)},_focus:function(e){if(e.nodeName=="IFRAME"){e.contentWindow.document.body.focus();return}e.focus();if(e.nodeName=="INPUT"&&e.setSelectionRange&&this._haveSelectionRange(e))e.setSelectionRange(0,e.value.length)},_haveSelectionRange:function(e){var t=e.type.toLowerCase();return t==="text"||t==="search"||t==="url"||t==="tel"||t==="password"}});return e.Popup.TabKeyTrap=G,window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.list.min",["./kendo.data.min","./kendo.popup.min"],function(){var t={id:"list",name:"List",category:"framework",depends:["data","popup"],hidden:true},m=window.kendo.jQuery,p=void 0,h=window.kendo,n=h.ui,l=h._outerHeight,g=/^\d+(\.\d+)?%$/i,a=n.Widget,v=h.keys,o=h.support,M=h.htmlEncode,_=h._activeElement,s=h._outerWidth,O=h.data.ObservableArray,r="id",b="change",d="k-focus",u="k-hover",k="k-selected",i="k-i-loading",L="k-list",B="k-table",V="k-data-table",U="k-table-md",W="k-list-ul",j="k-table-list",q=".k-list-group-sticky-header",G=".k-list-item-group-label",$=".k-list-item",Y="_label",K="open",Q="close",f="cascade",w="select",c="click",X="mouseleave",J="mouseenter",y="activate",Z="deactivate",x="dataBinding",C="dataBound",ee="selectedItemChange",te="selected",ie="requestStart",ne="requestEnd",re="blur",T="focus",ae="focusout",S=m.extend,D=m.proxy,oe=Array.isArray,se=o.browser,le="k-hidden",de="width",ue="text",fe="value",ce=se.msie,pe=/"/g,he={ComboBox:["DropDownList","MultiColumnComboBox"],DropDownList:["ComboBox","MultiColumnComboBox"],MultiColumnComboBox:["ComboBox","DropDownList"]},me='
      ',ge="
      ",ve='',_e='',be='",ke="mousedown",we="-list",ye="_listbox",F="aria-labelledby",I="aria-label",xe="aria-activedescendant",Ce="aria-autocomplete",Te="aria-controls",Se="aria-live",De="aria-expanded",Fe="aria-hidden",Ie="aria-busy",ze="aria-multiselectable",z="aria-selected",e=".k-table-group-row",E=h.ui.DataBoundWidget.extend({init:function(e,t){var i=this,n;a.fn.init.call(i,e,t);e=i.element;t=i.options;i._isSelect=e.is(w);if(i._isSelect&&i.element[0].length)if(!t.dataSource){t.dataTextField=t.dataTextField||ue;t.dataValueField=t.dataValueField||fe}i._listSize=h.cssProperties.getValidClass({widget:"List",propName:"size",value:t.size});i.ul=m(me).attr({tabIndex:-1,"aria-hidden":true});i.list=m(ge).addClass(i._listSize).append(i.ul);n=e.attr(r);if(!n)n=h.guid();i.list.attr(r,n+we);i.ul.attr(r,n+ye);if(t.columns&&t.columns.length){i.list.removeClass(L).addClass(V);i.list.removeClass(i._listSize).addClass(U);i.ul.removeClass(W).addClass(B);i._columnsHeader()}i._header();i._noData();i._footer();i._accessors();i._initValue()},options:{valuePrimitive:false,footerTemplate:"",headerTemplate:"",noDataTemplate:true,size:"medium",messages:{noData:"No data found.",clear:"clear"}},setOptions:function(e){a.fn.setOptions.call(this,e);if(e&&e.enable!==p)e.enabled=e.enable;if(e.columns&&e.columns.length)this._columnsHeader();this._header();this._noData();this._footer();this._renderFooter();this._renderNoData()},focus:function(){this._focused.trigger(T)},readonly:function(e){this._editable({readonly:e===p?true:e,disable:false})},enable:function(e){this._editable({readonly:false,disable:!(e=e===p?true:e)})},_header:function(){var e=this;var t=m(e.header);var i=e.options.headerTemplate;this._angularElement(t,"cleanup");h.destroy(t);t.remove();if(!i){e.header=null;return}var n=typeof i!=="function"?h.template(i):i;t=m(n({}));e.header=t[0]?t:null;if(e.list.parent.length>0)e.list.before(t);this._angularElement(e.header,"compile")},_columnsHeader:function(){var e=this;var t=m(e.columnsHeader);this._angularElement(t,"cleanup");h.destroy(t);t.remove();var i="
      ";var n="";var r="";for(var a=0;a";r+=""}n+="";r+="";i+=n;i+="";i+=r;i+="
      ";e.columnsHeader=t=m(i);e.list.prepend(t);this._angularElement(e.columnsHeader,"compile")},_noData:function(){var e=this;var t=m(e.noData);var i=e.options.noDataTemplate===true?e.options.messages.noData:e.options.noDataTemplate;e.angular("cleanup",function(){return{elements:t}});h.destroy(t);t.remove();if(!i){e.noData=null;return}e.noData=m(ve).appendTo(e.list);e.noDataTemplate=typeof i!=="function"?h.template(i):i},_footer:function(){var e=this;var t=m(e.footer);var i=e.options.footerTemplate;var n=this.options.columns&&this.options.columns.length?be:_e;this._angularElement(t,"cleanup");h.destroy(t);t.remove();if(!i){e.footer=null;return}e.footer=m(n).appendTo(e.list);e.footerTemplate=typeof i!=="function"?h.template(i):i},_listOptions:function(e){var t=this;var i=t.options;var n=i.virtual;var r={change:D(t._listChange,t)};var a=D(t._listBound,t);var o=t._focused;var s=t.element.attr("id");var l=m('label[for="'+t.element.attr("id")+'"]');var d=o.attr(F);if(!d&&l.length)d=l.attr("id")||t._generateLabelId(l,s||h.guid());n=typeof n==="object"?n:{};e=m.extend({autoBind:false,selectable:true,dataSource:t.dataSource,click:D(t._click,t),activate:D(t._activateItem,t),columns:i.columns,deactivate:D(t._deactivateItem,t),dataBinding:function(){t.trigger(x)},dataBound:a,height:i.height,dataValueField:i.dataValueField,dataTextField:i.dataTextField,groupTemplate:i.groupTemplate,fixedGroupTemplate:i.fixedGroupTemplate,template:i.template,ariaLabel:o.attr(I),ariaLabelledBy:d,listSize:t._listSize},e,n,r);if(!e.template)e.template="#:"+h.expr(e.dataTextField,"data")+"#";if(i.$angular)e.$angular=i.$angular;return e},_initList:function(){var e=this;var t=e._listOptions({selectedItemChange:D(e._listChange,e)});if(!e.options.virtual)e.listView=new h.ui.StaticList(e.ul,t);else{e.listView=new h.ui.VirtualList(e.ul,t);e.list.addClass("k-virtual-list")}e.listView.bind("listBound",D(e._listBound,e));e._setListValue()},_setListValue:function(e){e=e||this.options.value;if(e!==p)this.listView.value(e).done(D(this._updateSelectionState,this))},_updateSelectionState:m.noop,_listMousedown:function(e){if(!this.filterInput||this.filterInput[0]!==e.target)e.preventDefault()},_isFilterEnabled:function(){var e=this.options.filter;return e&&e!=="none"},_hideClear:function(){var e=this;if(e._clear)e._clear.addClass(le)},_showClear:function(){if(this._clear)this._clear.removeClass(le)},_clearValue:function(){this._clearText();this._accessor("");this.listView.value([]);if(this._isSelect)this._customOption=p;if(this._isFilterEnabled()&&!this.options.enforceMinLength){this._filter({word:"",open:false});if(this.options.highlightFirst)this.listView.focus(0)}this._change()},_clearText:function(){this.text("")},_clearFilter:function(){if(!this.options.virtual)this.listView.bound(false);this._filterSource()},_filterSource:function(e,t){var i=this;var n=i.options;var r=n.filterFields&&e&&e.logic&&e.filters&&e.filters.length;var a=i.dataSource;var o=S({},a.filter()||{});var s=e||o.filters&&o.filters.length&&!e;var l=H(o,n.dataTextField);this._clearFilterExpressions(o);if((e||l)&&i.trigger("filtering",{filter:e}))return m.Deferred().reject().promise();var d={filters:[],logic:"and"};if(r)d.filters.push(e);else this._pushFilterExpression(d,e);if(Re(o))if(d.logic===o.logic)d.filters=d.filters.concat(o.filters);else d.filters.push(o);if(i._cascading)this.listView.setDSFilter(d);var u=S({},{page:s?1:a.page(),pageSize:s?a.options.pageSize:a.pageSize(),sort:a.sort(),filter:a.filter(),group:a.group(),aggregate:a.aggregate()},{filter:d});return a[t?"read":"query"](a._mergeState(u))},_pushFilterExpression:function(e,t){if(Re(t)&&t.value!=="")e.filters.push(t)},_clearFilterExpressions:function(e){if(!e.filters)return;var t;for(var i=0;i').attr({role:"button",tabIndex:-1});if(!e.options.clearButton)e._clear.remove();this._hideClear()},search:function(e){var t=this.options;e=typeof e==="string"?e:this._inputValue();clearTimeout(this._typingTimeout);if(!t.enforceMinLength&&!e.length||e.length>=t.minLength){this._state="filter";if(this.listView)this.listView._emptySearch=!h.trim(e).length;if(!this._isFilterEnabled())this._searchByWord(e);else this._filter({word:e,open:true})}},current:function(e){return this._focus(e)},items:function(){return this.ul[0].children},destroy:function(){var e=this;var t=e.ns;a.fn.destroy.call(e);e._unbindDataSource();e.listView.destroy();e.list.off(t);e.popup.destroy();if(e._form)e._form.off("reset",e._resetHandler)},dataItem:function(e){var t=this;if(e===p)return t.listView.selectedDataItems()[0];if(typeof e!=="number"){if(t.options.virtual)return t.dataSource.getByUid(m(e).data("uid"));e=m(t.items()).index(e)}return t.dataSource.flatView()[e]},_activateItem:function(){var e=this.listView.focus();if(e)this._focused.add(this.filterInput).attr(xe,e.attr("id"))},_deactivateItem:function(){this._focused.add(this.filterInput).removeAttr(xe)},_accessors:function(){var e=this;var t=e.element;var i=e.options;var n=h.getter;var r=t.attr(h.attr("text-field"));var a=t.attr(h.attr("value-field"));if(!i.dataTextField&&r)i.dataTextField=r;if(!i.dataValueField&&a)i.dataValueField=a;e._text=n(i.dataTextField);e._value=n(i.dataValueField)},_aria:function(e){var t=this,i=t.options,n=t._focused,r;if(i.suggest!==p){if(i.filter==="none")if(i.suggest===true)r="inline";else r="none";else if(i.suggest===true)r="both";else r="list";n.attr(Ce,r)}e=e?e+" "+t.ul[0].id:t.ul[0].id;n.attr({"aria-owns":e,"aria-controls":e});if(t.filterInput&&t.filterInput.length>0)t.filterInput.attr(Te,e);t.ul.attr(Se,!t._isFilterEnabled()?"off":"polite");t._ariaLabel()},_ariaLabel:function(){var e=this;var t=e._focused;var i=e.element;var n=i.attr("id");var r=m('label[for="'+n+'"]');var a=i.attr(I);var o=i.attr(F);if(t===i)return;if(a)t.attr(I,a);else if(o)t.attr(F,o);else if(r.length){var s=r.attr("id")||e._generateLabelId(r,n||h.guid());t.attr(F,s)}},_generateLabelId:function(e,t){var i=t+Y;e.attr("id",i);return i},_blur:function(){var e=this;e._change();e.close();e._userTriggered=false},_isValueChanged:function(e){return e!==A(this._old,typeof e)},_change:function(){var e=this;var t=e.selectedIndex;var i=e.options.value;var n=e.value();var r;if(e._isSelect&&!e.listView.bound()&&i)n=i;if(e._isValueChanged(n))r=true;else if(e._valueBeforeCascade!==p&&e._valueBeforeCascade!==A(e._old,typeof e._valueBeforeCascade)&&e._userTriggered)r=true;else if(t!==p&&t!==e._oldIndex&&!e.listView.isFiltered())r=true;if(r){if(e._old===null||e._old===""||n==="")e._valueBeforeCascade=e._old=n;else if(e.dataItem())e._valueBeforeCascade=e._old=e.options.dataValueField?e.dataItem()[e.options.dataValueField]:e.dataItem();else e._valueBeforeCascade=e._old=null;e._oldIndex=t;if(!e._typing)e.element.trigger(b);e.trigger(b)}e.typing=false},_data:function(){return this.dataSource.view()},_enable:function(){var e=this,t=e.options,i=e.element.is("[disabled]");if(t.enable!==p)t.enabled=t.enable;if(!t.enabled||i)e.enable(false);else e.readonly(e.element.is("[readonly]"))},_dataValue:function(e){var t=this._value(e);if(t===p)t=this._text(e);return t},_offsetHeight:function(){var t=0;var e=this.listView.content.parent().prevAll(":visible");e.each(function(){var e=m(this);t+=l(e,true)});return t},_height:function(e){var t=this;var i=t.list;var n=t.options.height;var r=t.popup.visible();var a=this.options.columns&&this.options.columns.length;var o,s;if(e||t.options.noDataTemplate){s=i.parent().add(i.closest(".k-animation-container")).show();if(!i.parent().is(":visible")){s.hide();return}n=t.listView.content[0].scrollHeight>n?n:"auto";s.height(n);if(n!=="auto"){o=t._offsetHeight();n=n-o;if(a)n=n-(l(m(t.footer))||0)-(l(m(t.columnsHeader))||0)}if(a)t.listView.content.outerHeight(n);else t.listView.content.parent().outerHeight(n);if(!r)s.hide()}return n},_openHandler:function(e){this._adjustListWidth();if(this.trigger(K))e.preventDefault();else{this._focused.attr(De,true);this.ul.attr(Fe,false)}},_adjustListWidth:function(){var e=this,t=e.list.parent(),i=t[0].style.width,n=e.wrapper,r,a;if(!t.data(de)&&i)return;r=window.getComputedStyle?window.getComputedStyle(n[0],null):0;a=parseFloat(r&&r.width)||s(n);if(r&&se.msie)a+=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight)+parseFloat(r.borderLeftWidth)+parseFloat(r.borderRightWidth);if(t.css("box-sizing")!=="border-box")i=a-(s(t)-t.width());else i=a;t.css({fontFamily:n.css("font-family"),width:e.options.autoWidth?"auto":i,minWidth:i,whiteSpace:e.options.autoWidth?"nowrap":"normal"}).data(de,i);return true},_closeHandler:function(e){if(this.trigger(Q))e.preventDefault();else{this._focused.attr(De,false);this.ul.attr(Fe,true)}},_focusItem:function(){var e=this.listView;var t=!e.focus();var i=N(e.select());if(i===p&&this.options.highlightFirst&&t)i=0;if(i!==p)e.focus(i);else if(t)e.scrollToIndex(0)},_calculateGroupPadding:function(e){var t=this.ul.children(".k-first").first();var i=this.listView.content.prev(q);var n=0;var r="right";if(i[0]&&i[0].style.display!=="none"){if(e!=="auto")n=h.support.scrollbar();if(this.element.parents(".k-rtl").length)r="left";n+=parseFloat(t.css("border-"+r+"-width"),10)+parseFloat(t.children(G).css("padding-"+r),10);i.css("padding-"+r,n)}},_calculatePopupHeight:function(e){var t=this._height(this.dataSource.flatView().length||e);this._calculateGroupPadding(t);this._calculateColumnsHeaderPadding(t)},_calculateColumnsHeaderPadding:function(e){if(this.options.columns&&this.options.columns.length){var t=this;var i=o.isRtl(t.wrapper);var n=h.support.scrollbar();t.columnsHeader.css(i?"padding-left":"padding-right",e!=="auto"?n:0)}},_refreshScroll:function(){var e=this.listView;var t=e.element.height()>e.content.height();if(this.options.autoWidth)e.content.css({overflowX:"hidden",overflowY:t?"scroll":"auto"})},_resizePopup:function(e){if(this.options.virtual)return;if(!this.popup.element.is(":visible")){this.popup.one("open",function(e){return D(function(){this._calculatePopupHeight(e)},this)}.call(this,e));this.popup.one(y,D(this._refreshScroll,this))}else this._calculatePopupHeight(e)},_popup:function(){var e=this;e.list.wrap("
      ");e.popup=new n.Popup(e.list.parent(),S({},e.options.popup,{anchor:e.wrapper,open:D(e._openHandler,e),close:D(e._closeHandler,e),animation:e.options.animation,isRtl:o.isRtl(e.wrapper),autosize:e.options.autoWidth}));e.popup.element.prepend(e.header).on(ke+this.ns,D(this._listMousedown,this))},_toggleHover:function(e){m(e.currentTarget).toggleClass(u,e.type===J)},_toggle:function(e,t){var i=this;var n=o.mobileOS&&(o.touch||o.MSPointers||o.pointers);e=e!==p?e:!i.popup.visible();if(!t&&!n&&i._focused[0]!==_()){i._prevent=true;i._focused.trigger(T);i._prevent=false}i[e?K:Q]()},_triggerCascade:function(){var e=this;if(!e._cascadeTriggered||e.value()!==A(e._cascadedValue,typeof e.value())){e._cascadedValue=e.value();e._cascadeTriggered=true;e.trigger(f,{userTriggered:e._userTriggered})}},_triggerChange:function(){if(this._valueBeforeCascade!==this.value())this.trigger(b)},_unbindDataSource:function(){var e=this;e.dataSource.unbind(ie,e._requestStartHandler).unbind(ne,e._requestEndHandler).unbind("error",e._errorHandler)},requireValueMapper:function(e,t){var i=(e.value instanceof Array?e.value.length:e.value)||(t instanceof Array?t.length:t);if(i&&e.virtual&&typeof e.virtual.valueMapper!=="function")throw new Error("ValueMapper is not provided while the value is being set. See http://docs.telerik.com/kendo-ui/controls/editors/combobox/virtualization#the-valuemapper-function")}});function A(e,t){if(e!==p&&e!==""&&e!==null)if(t==="boolean"){if(typeof e!=="boolean")e=e.toString().toLowerCase()==="true";e=Boolean(e)}else if(t==="number")e=Number(e);else if(t==="string")e=e.toString();return e}S(E,{inArray:function(e,t){var i,n,r=t.children;if(!e||e.parentNode!==t)return-1;for(i=0,n=r.length;i");t._customOption=n;i.append(n)}n.text(e);n[0].selected=true},_hideBusy:function(){var e=this;clearTimeout(e._busy);e._arrowIcon.removeClass(i);e._focused.attr(Ie,false);e._busy=null;e._showClear()},_showBusy:function(e){var t=this;if(e.isDefaultPrevented())return;t._request=true;if(t._busy)return;t._busy=setTimeout(function(){if(t._arrowIcon){t._focused.attr(Ie,true);t._arrowIcon.addClass(i);t._hideClear()}},100)},_requestEnd:function(){this._request=false;this._hideBusy()},_dataSource:function(){var e=this,t=e.element,i=e.options,n=i.dataSource||{},r;n=Array.isArray(n)?{data:n}:n;if(e._isSelect){r=t[0].selectedIndex;if(r>-1)i.index=r;n.select=t;n.fields=[{field:i.dataTextField},{field:i.dataValueField}]}if(e.dataSource)e._unbindDataSource();else{e._requestStartHandler=D(e._showBusy,e);e._requestEndHandler=D(e._requestEnd,e);e._errorHandler=D(e._hideBusy,e)}e.dataSource=h.data.DataSource.create(n).bind(ie,e._requestStartHandler).bind(ne,e._requestEndHandler).bind("error",e._errorHandler)},_firstItem:function(){this.listView.focusFirst()},_lastItem:function(){this.listView.focusLast()},_nextItem:function(){return this.listView.focusNext()},_prevItem:function(){return this.listView.focusPrev()},_getNormalizedDataItem:function(e){var t=this,i=t.listView,n=typeof e==="number",r=t.optionLabel&&t.optionLabel.length,a;if(n)a=r?--e:e;else a=i.getElementIndex(e);return i.dataItemByIndex(a)},_getNormalizedSelectCandidate:function(e){var t=this,i=t.optionLabel&&t.optionLabel.length,n=typeof e==="number",r=e;if(i&&n)r++;return r},_move:function(e){var t=this;var i=t.listView;var n=e.keyCode;var r=n===v.DOWN;var a=t.options.virtual;var o;var s;var l;var d;var u;if(n===v.UP||r){if(e.altKey)t.toggle(r);else{if(!i.bound()&&!t.ul[0].firstChild){if(!t._fetch){t.dataSource.one(b,function(){t._fetch=false;t._move(e)});t._fetch=true;t._filterSource()}e.preventDefault();return true}l=t._focus();if(!t._fetch&&(!l||l.hasClass(k)))if(r){d=t._nextItem();if(a&&d<=0||!t._focus()&&!d)t._lastItem()}else{d=t._prevItem();if(a&&d>=i.dataSource.total()-1||!t._focus()&&!d)t._firstItem()}u=t._getNormalizedSelectCandidate(t._get(t._focus())||d||0);t._select(u,true).done(function(){var e=function(){if(!t.popup.visible())t._blur();if(t._cascadedValue===null)t._cascadedValue=t.value();else t._cascadedValue=t.dataItem()?t.dataItem()[t.options.dataValueField]||t.dataItem():null};if(t.trigger(w,{dataItem:t._getNormalizedDataItem(u),item:t._focus()}))t._select(l).done(e);else e()})}e.preventDefault();s=true}else if(n===v.ENTER||n===v.TAB){if(t.popup.visible())e.preventDefault();l=t._focus();o=t.dataItem();if(!t.popup.visible()&&(!o||t.text()!==t._text(o)))l=null;var f=t.filterInput&&t.filterInput[0]===_();var c;if(l){o=i.dataItemByIndex(i.getElementIndex(l));var p=true;if(o)p=t._value(o)!==E.unifyType(t.value(),typeof t._value(o));if(p&&t.trigger(w,{dataItem:o,item:l}))return;c=t._select(l)}else if(t.input){if(t._syncValueAndText()||t._isSelect)t._accessor(t.input.val());t.listView.value(t.input.val())}if(t._focusElement)t._focusElement(t.wrapper);if(f&&n===v.TAB)t.wrapper.focusout();else if(c&&typeof c.done==="function")c.done(function(){t._blur()});else t._blur();t.close();s=true}else if(n===v.ESC){if(t.popup.visible())e.preventDefault();t.close();s=true}else if(t.popup.visible()&&(n===v.PAGEDOWN||n===v.PAGEUP)){e.preventDefault();var h=n===v.PAGEDOWN?1:-1;i.scrollWith(h*i.screenHeight());s=true}return s},_fetchData:function(){var e=this;var t=!!e.dataSource.view().length;if(e._request||e.options.cascadeFrom)return;if(!e.listView.bound()&&!e._fetch&&!t){e._fetch=true;e.dataSource.fetch().done(function(){e._fetch=false})}},_options:function(e,t,i){var n=this,r=n.element,a=r[0],o=e.length,s="",l,d,u,f,c=0;if(t)s=t;for(;c";s+=l}r.html(s);if(i!==p){a.value=i;if(a.value&&!i)a.selectedIndex=-1}if(a.selectedIndex!==-1){l=P(a);if(l)l.setAttribute(te,te)}},_reset:function(){var e=this,t=e.element,i=t.attr("form"),n=i?m("#"+i):t.closest("form");if(n[0]){e._resetHandler=function(){setTimeout(function(){e.value(e._initial)})};e._form=n.on("reset",e._resetHandler)}},_parentWidget:function(){var e=this.options.name;if(!this.options.cascadeFrom)return;var t=m("#"+this.options.cascadeFrom);var i=t.data("kendo"+e);if(!i)for(var n=0;n'+''+"");i.append(n);this.header=n.find(".k-table-th");this.content=this.element.wrap("
      ").parent();this.element.addClass(j)}else{this.content=this.element.wrap("
      ").parent();this.header=this.content.before('').prev();this.element.addClass(W)}this.bound(false);this._optionID=h.guid();this._selectedIndices=[];this._view=[];this._dataItems=[];this._values=[];var r=this.options.value;if(r)this._values=Array.isArray(r)?r.slice(0):[r];this._getter();this._templates();this.setDataSource(this.options.dataSource);this._onScroll=D(function(){var e=this;clearTimeout(e._scrollId);e._scrollId=setTimeout(function(){e._renderHeader()},50)},this)},options:{name:"StaticList",dataValueField:null,valuePrimitive:false,selectable:true,template:null,groupTemplate:null,fixedGroupTemplate:null,ariaLabel:null,ariaLabelledBy:null},events:[c,b,y,Z,x,C,ee],setDataSource:function(e){var t=this;var i=e||{};var n;i=Array.isArray(i)?{data:i}:i;i=h.data.DataSource.create(i);if(t.dataSource){t.dataSource.unbind(b,t._refreshHandler);n=t.value();t.value([]);t.bound(false);t.value(n)}else t._refreshHandler=D(t.refresh,t);t.setDSFilter(i.filter());t.dataSource=i.bind(b,t._refreshHandler);t._fixedHeader()},_touchHandlers:function(){var t=this;var i;var n;var r=function(e){return(e.originalEvent||e).changedTouches[0].pageY};t.element.on("touchstart"+R,function(e){i=r(e)});t.element.on("touchend"+R,function(e){if(e.isDefaultPrevented())return;n=r(e);if(Math.abs(n-i)<10){t._touchTriggered=true;t._triggerClick(m(e.target).closest($).get(0))}})},skip:function(){return this.dataSource.skip()},setOptions:function(e){a.fn.setOptions.call(this,e);this._getter();this._templates();this._render()},destroy:function(){this.element.off(R);if(this._refreshHandler)this.dataSource.unbind(b,this._refreshHandler);clearTimeout(this._scrollId);a.fn.destroy.call(this)},dataItemByIndex:function(e){return this.dataSource.flatView()[e]},screenHeight:function(){return this.content[0].clientHeight},scrollToIndex:function(e){var t=this.element[0].children[e];if(t)this.scroll(t)},scrollWith:function(e){this.content.scrollTop(this.content.scrollTop()+e)},scroll:function(e){if(!e)return;if(e[0])e=e[0];var t=this.content[0],i=e.offsetTop,n=e.offsetHeight,r=t.scrollTop,a=t.clientHeight,o=i+n;if(r>i)r=i;else if(o>r+a)r=o-a;t.scrollTop=r},selectedDataItems:function(e){if(e===p)return this._dataItems.slice();this._dataItems=e;this._values=this._getValues(e)},_getValues:function(e){var t=this._valueGetter;return m.map(e,function(e){return t(e)})},focusNext:function(){var e=this.focus();if(!e)e=0;else e=e.next();this.focus(e)},focusPrev:function(){var e=this.focus();if(!e)e=this.element[0].children.length-1;else e=e.prev();this.focus(e)},focusFirst:function(){this.focus(this.element[0].children[0])},focusLast:function(){this.focus(N(this.element[0].children))},focus:function(e){var t=this;var i=t._optionID;var n;if(e===p)return t._current;e=N(t._get(e));e=m(this.element[0].children[e]);if(t._current){t._current.removeClass(d).removeAttr(r);t.trigger(Z)}n=!!e[0];if(n){e.addClass(d);t.scroll(e);e.attr("id",i)}t._current=n?e:null;t.trigger(y)},focusIndex:function(){return this.focus()?this.focus().index():p},skipUpdate:function(e){this._skipUpdate=e},select:function(e){var t=this;var i=t.options.selectable;var n=i!=="multiple"&&i!==false;var r=t._selectedIndices;var a=[this.element.find(".k-selected").index()];var o=[];var s=[];var l;if(e===p)return r.slice();e=t._get(e);if(e.length===1&&e[0]===-1)e=[];var d=m.Deferred().resolve();var u=t.isFiltered();if(u&&!n&&t._deselectFiltered(e))return d;if(n&&!u&&m.inArray(N(e),r)!==-1&&m.inArray(N(e),a)!==-1){if(t._dataItems.length&&t._view.length)t._dataItems=[t._view[r[0]].item];return d}l=t._deselect(e);s=l.removed;e=l.indices;if(e.length){if(n)e=[N(e)];o=t._select(e)}if(o.length||s.length){t._valueComparer=null;t.trigger(b,{added:o,removed:s})}return d},removeAt:function(e){this._selectedIndices.splice(e,1);this._values.splice(e,1);this._valueComparer=null;return{position:e,dataItem:this._dataItems.splice(e,1)[0]}},setValue:function(e){e=Array.isArray(e)||e instanceof O?e.slice(0):[e];this._values=e;this._valueComparer=null},value:function(e){var t=this;var i=t._valueDeferred;var n;if(e===p)return t._values.slice();t.setValue(e);if(!i||i.state()==="resolved")t._valueDeferred=i=m.Deferred();if(t.bound()){n=t._valueIndices(t._values);if(t.options.selectable==="multiple")t.select(-1);t.select(n);i.resolve()}t._skipUpdate=false;return i},items:function(){return this.element.children($)},_click:function(e){if(this._touchTriggered){this._touchTriggered=false;return}if(!e.isDefaultPrevented())this._triggerClick(e.currentTarget)},_triggerClick:function(e){if(!this.trigger(c,{item:m(e)}))this.select(e)},_valueExpr:function(e,t){var i=this;var n=0;var r;var a;var o=[];if(!i._valueComparer||i._valueType!==e){i._valueType=e;for(;n-1){a.push(this.removeAt(r));m(t[n]).removeClass(k)}}if(a.length){this.trigger(b,{added:[],removed:a});return true}return false},_select:function(e){var t=this;var i=t.element[0].children;var n=t._view;var r,a;var o=[];var s=0;if(N(e)!==-1)t.focus(e);for(;s${'+h.expr(t.dataTextField,"data")+"}",{useWithBlock:false});else{i=h.template(i);i=function(e){return'
    • '+i(e)+"
    • "}}return i},_templates:function(){var e;var t=this.options;var i={template:t.template,groupTemplate:t.groupTemplate,fixedGroupTemplate:t.fixedGroupTemplate};if(t.columns)for(var n=0;ni||!a.nextSibling)break;a=a.nextSibling}else{if(a.offsetTop<=i||!a.previousSibling)break;a=a.previousSibling}return this._view[m(a).data("offset-index")]},_fixedHeader:function(){if(this.isGrouped()&&this.templates.fixedGroupTemplate){if(this.header.closest(e).length)this.header.closest(e).show();else this.header.show();this.content.scroll(this._onScroll)}else{if(this.header.closest(e).length)this.header.closest(e).hide();else this.header.hide();this.content.off("scroll",this._onScroll)}},_renderHeader:function(){var e=this.templates.fixedGroupTemplate;if(!e)return;var t=this._firstVisibleItem();if(t&&t.group.toString().length)this.header.html(e(t.group))},_renderItem:function(e){var t='
    • ';if(o)t+=this._renderColumns(i);else{t+='';t+=this.templates.template(i);t+=""}if(n&&e.newGroup)if(o)t+=''+this.templates.groupTemplate(e.group)+"";else t+='
      '+this.templates.groupTemplate(e.group)+"
      ";else if(a&&o)t+='';return t+"
    • "},_renderColumns:function(e){var t="";for(var i=0;i";t+=this.templates["column"+i](e);t+=""}return t},_render:function(){var e="";var t=0;var i=0;var n;var r=[];var a=this.dataSource.view();var o=this.value();var s,l,d;var u=this.isGrouped();if(u)for(t=0;t-1?e.options[t]:{}}function Ae(e,t){var i=t.length;var n=e.length;var r;var a;var o,s;var l=[];var d=[];if(n)for(o=0;o1)o.direction=s&&i?E[a].reverse:a;l[r[0]]=o});else a(e,function(e){var t=this.direction;if(t&&s&&!d.test(e))this.direction=E[t].reverse;l[e]=this});return l},b)v(g,{transition:function(e,t,i){var n,r=0,a=e.data("keys")||[],o;i=v({duration:200,ease:"ease-out",complete:null,exclusive:"all"},i);var s=false;var l=function(){if(!s){s=true;if(o){clearTimeout(o);o=null}e.removeData(K).dequeue().css(I,"").css(I);i.complete.call(e)}};i.duration=m.fx?m.fx.speeds[i.duration]||i.duration:i.duration;n=N(e,t);m.merge(a,ie(n));if(m.hasOwnProperty("uniqueSort"))e.data("keys",m.uniqueSort(a)).height();else e.data("keys",m.unique(a)).height();e.css(I,i.exclusive+" "+i.duration+"ms "+i.ease).css(I);e.css(n).css(z);if(b.event){e.one(b.event,l);if(i.duration!==0)r=500}o=setTimeout(l,i.duration+r);e.data(K,o);e.data(Q,l)},stopQueue:function(e,t,i){var n,r=e.data("keys"),a=!i&&r,o=e.data(Q);if(a)n=f.getComputedStyles(e[0],r);if(o)o();if(a)e.css(n);return e.removeData("keys").stop(t)}});function ne(e,t){if(_){var i=e.css(z);if(i==Y)return t=="scale"?1:0;var n=i.match(new RegExp(t+"\\s*\\(([\\d\\w\\.]+)")),r=0;if(n)r=te(n[1]);else{n=i.match(V)||[0,0,0,0,0];t=t.toLowerCase();if(U.test(t))r=parseFloat(n[3]/n[2]);else if(t=="translatey")r=parseFloat(n[4]/n[2]);else if(t=="scale")r=parseFloat(n[2]);else if(t=="rotate")r=parseFloat(Math.atan2(n[2],n[1]))}return r}else return parseFloat(e.css(t))}var re=f.Class.extend({init:function(e,t){var i=this;i.element=e;i.effects=[];i.options=t;i.restore=[]},run:function(e){var t=this,i,n,r,a=e.length,o=t.element,s=t.options,l=m.Deferred(),d={},u={},f,c,p;t.effects=e;l.done(m.proxy(t,"complete"));o.data("animating",true);for(n=0;n=this.duration},timePassed:function(){return Math.min(this.duration,new Date-this.startDate)},moveTo:function(e){var t=this,i=t.movable;t.initial=i[t.axis];t.delta=e.location-t.initial;t.duration=typeof e.duration=="number"?e.duration:300;t.tick=t._easeProxy(e.ease);t.startDate=new Date;t.start()},_easeProxy:function(e){var t=this;return function(){t.movable.moveAxis(t.axis,e(t.timePassed(),t.initial,t.delta,t.duration))}}});return v(pe,{easeOutExpo:function(e,t,i,n){return e==n?t+i:i*(-Math.pow(2,-10*e/n)+1)+t},easeOutBack:function(e,t,i,n,r){r=1.70158;return i*((e=e/n-1)*e*((r+1)*e+r)+1)+t}}),g.Animation=r,g.Transition=pe,g.createEffect=t,g.box=function(e){e=m(e);var t=e.offset();t.width=f._outerWidth(e);t.height=f._outerHeight(e);return t},g.transformOrigin=function(e,t){var i=(e.left-t.left)*t.width/(t.width-e.width),n=(e.top-t.top)*t.height/(t.height-e.height);return{x:isNaN(i)?0:i,y:isNaN(n)?0:n}},g.fillScale=function(e,t){return Math.min(e.width/t.width,e.height/t.height)},g.fitScale=function(e,t){return Math.max(e.width/t.width,e.height/t.height)},window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.userevents.min",["./kendo.core.min"],function(){var e={id:"userevents",name:"User Events",category:"framework",depends:["core"],hidden:true},d=window.kendo.jQuery,P=void 0,l=window.kendo,u=l.support,t=l.Class,f=l.Observable,a=Date.now,c=d.extend,i=u.mobileOS,o=i&&i.android,p=800,n=300,h=u.browser.msie?5:0,m="press",g="hold",v="select",_="start",b="move",k="end",w="cancel",y="tap",x="doubleTap",C="release",T="gesturestart",S="gesturechange",D="gestureend",F="gesturetap",r={api:0,touch:0,mouse:9,pointer:9},I=!u.touch||u.mouseAndTouchPresent;function s(e,t){var i=e.x.location,n=e.y.location,r=t.x.location,a=t.y.location,o=i-r,s=n-a;return{center:{x:(i+r)/2,y:(n+a)/2},distance:Math.sqrt(o*o+s*s)}}function z(e){var t=[],i=e.originalEvent,n=e.currentTarget,r=0,a,o,s;if(e.api)t.push({id:2,event:e,target:e.target,currentTarget:e.target,location:e,type:"api"});else if(e.type.match(/touch/)){o=i?i.changedTouches:[];for(a=o.length;r1},_maxTouchesReached:function(){return this.touches.length>=this._maxTouches},_disposeAll:function(){var e=this.touches;while(e.length>0)e.pop().dispose()},_isMoved:function(){return d.grep(this.touches,function(e){return e.isMoved()}).length},_select:function(e){if(!this.allowSelection||this.trigger(v,{event:e}))e.preventDefault()},_start:function(e){var t=this,i=0,n=t.filter,r,a=z(e),o=a.length,s,l=e.which;if(l&&l>1||t._maxTouchesReached())return;N.current=null;t.currentTarget=e.currentTarget;if(t.stopPropagation)e.stopPropagation();for(;ithis.max||er;if(!e)t.trigger(b,t)}}),W=r.extend({init:function(e){var t=this;r.fn.init.call(t);t.x=new I(s({horizontal:true},e));t.y=new I(s({horizontal:false},e));t.container=e.container;t.forcedMinScale=e.minScale;t.maxScale=e.maxScale||100;t.bind(b,e)},rescale:function(e){this.x.rescale(e);this.y.rescale(e);this.refresh()},centerCoordinates:function(){return{x:Math.min(0,-this.x.centerOffset),y:Math.min(0,-this.y.centerOffset)}},refresh:function(){var e=this;e.x.update();e.y.update();e.enabled=e.x.enabled||e.y.enabled;e.minScale=e.forcedMinScale||Math.min(e.x.minScale,e.y.minScale);e.fitScale=Math.max(e.x.minScale,e.y.minScale);e.trigger(b)}}),z=r.extend({init:function(e){var t=this;s(t,e);r.fn.init.call(t)},outOfBounds:function(){return this.dimension.outOfBounds(this.movable[this.axis])},dragMove:function(e){var t=this,i=t.dimension,n=t.axis,r=t.movable,a=r[n]+e;if(!i.enabled)return;if(ai.max&&e>0)e*=t.resistance;r.translateAxis(n,e);t.trigger(b,t)}}),j=O.extend({init:function(e){var u=this,f,c,t,p;s(u,{elastic:true},e);t=u.elastic?.5:0;p=u.movable;u.x=f=new z({axis:"x",dimension:u.dimensions.x,resistance:t,movable:p});u.y=c=new z({axis:"y",dimension:u.dimensions.y,resistance:t,movable:p});u.userEvents.bind(["press","move","end","gesturestart","gesturechange"],{gesturestart:function(e){u.gesture=e;u.offset=u.dimensions.container.offset()},press:function(e){if(l(e.event.target).closest("a").is("[data-navigate-on-press=true]"))e.sender.cancel()},gesturechange:function(e){var t=u.gesture,i=t.center,n=e.center,r=e.distance/t.distance,a=u.dimensions.minScale,o=u.dimensions.maxScale,s;if(p.scale<=a&&r<1)r+=(1-r)*.8;if(p.scale*r>=o)r=o/p.scale;var l=p.x+u.offset.left,d=p.y+u.offset.top;s={x:(l-i.x)*r+n.x-l,y:(d-i.y)*r+n.y-d};p.scaleWith(r);f.dragMove(s.x);c.dragMove(s.y);u.dimensions.rescale(p.scale);u.gesture=e;e.preventDefault()},move:function(e){if(e.event.target.tagName.match(/textarea|input/i))return;if(f.dimension.enabled||c.dimension.enabled){f.dragMove(e.x.delta);c.dragMove(e.y.delta);e.preventDefault()}else e.touch.skip()},end:function(e){e.preventDefault()}})}}),q=u.transitions.prefix+"Transform",E;if(u.hasHW3D)E=function(e,t,i){return"translate3d("+e+"px,"+t+"px,0) scale("+i+")"};else E=function(e,t,i){return"translate("+e+"px,"+t+"px) scale("+i+")"};var G=r.extend({init:function(e){var t=this;r.fn.init.call(t);t.element=l(e);t.element[0].style.webkitTransformOrigin="left top";t.x=0;t.y=0;t.scale=1;t._saveCoordinates(E(t.x,t.y,t.scale))},translateAxis:function(e,t){this[e]+=t;this.refresh()},scaleTo:function(e){this.scale=e;this.refresh()},scaleWith:function(e){this.scale*=e;this.refresh()},translate:function(e){this.x+=e.x;this.y+=e.y;this.refresh()},moveAxis:function(e,t){this[e]=t;this.refresh()},moveTo:function(e){s(this,e);this.refresh()},refresh:function(){var e=this,t=e.x,i=e.y,n;if(e.round){t=Math.round(t);i=Math.round(i)}n=E(t,i,e.scale);if(n!=e.coordinates){if(d.support.browser.msie&&d.support.browser.version<10){e.element[0].style.position="absolute";e.element[0].style.left=e.x+"px";e.element[0].style.top=e.y+"px"}else e.element[0].style[q]=n;e._saveCoordinates(n);e.trigger(b)}},_saveCoordinates:function(e){this.coordinates=e}});function A(e,t){var i=t.options.group,n=e[i],r;a.fn.destroy.call(t);if(n.length>1){for(r=0;rc.height();a=f.body.scrollWidth>c.width()}else{r=e.offsetHeight<=e.scrollHeight;a=e.offsetWidth<=e.scrollWidth}var s=e.scrollTop+t.y;var l=r&&s>0&&s0&&dt.max?t.max:t.min;e._moveTo(i)},_moveTo:function(e){this.transition.moveTo({location:e,duration:s,ease:a.easeOutExpo})}}),A=o.extend({init:function(e){var t=this;p.effects.Animation.fn.init.call(this);m(t,e,{origin:{},destination:{},offset:{}})},tick:function(){this._updateCoordinates();this.moveTo(this.origin)},done:function(){return k(this.offset.y)');if(i)n.attr("aria-orientation","horizontal");m(t,e,{element:n,elementSize:0,movable:new v(n),scrollMovable:e.movable,alwaysVisible:e.alwaysVisible,size:i?"width":"height"});t.scrollMovable.bind(S,h(t.refresh,t));t.container.append(n);if(e.alwaysVisible)t.show()},refresh:function(){var e=this,t=e.axis,i=e.dimension,n=i.size,r=e.scrollMovable,a=n/i.total,o=Math.round(-r[t]*a),s=Math.round(n*a);if(a>=1)this.element.css("display","none");else this.element.css("display","");if(o+s>n)s=n-o;else if(o<0){s+=o;o=0}if(e.elementSize!=s){e.element.css(e.size,s+"px");e.elementSize=s}e._ariaValue(o,i.size-e.elementSize);e.movable.moveAxis(t,o)},show:function(){this.element.css({opacity:l,visibility:"visible"})},hide:function(){if(!this.alwaysVisible)this.element.css({opacity:0})},_ariaValue:function(e,t){var i=this.element;if(e>t)e=t;i.attr("aria-valuemax",t);i.attr("aria-valuenow",e)}}),N=g.extend({init:function(e,t){var o=this;g.fn.init.call(o,e,t);e=o.element;o._native=o.options.useNative&&p.support.hasNativeScrolling;if(o._native){e.addClass("km-native-scroller").prepend('
      ');m(o,{scrollElement:e,fixedContainer:e.children().first()});return}e.css("overflow","hidden").addClass("km-scroll-wrapper").wrapInner('
      ').prepend('
      ');var i=e.children().eq(1),n=new p.TapCapture(e),r=new v(i),s=new b({element:i,container:e,forcedEnabled:o.options.zoom}),l=this.options.avoidScrolling,d=new p.UserEvents(e,{touchAction:"pan-y",fastTap:true,allowSelection:true,preventDragEvent:true,captureUpIfMoved:true,multiTouch:o.options.zoom,supportDoubleTap:o.options.supportDoubleTap,start:function(e){s.refresh();var t=k(e.x.velocity),i=k(e.y.velocity),n=t*2>=i,r=c.contains(o.fixedContainer[0],e.event.target),a=i*2>=t;if(!r&&!l(e)&&o.enabled&&(s.x.enabled&&n||s.y.enabled&&a))d.capture();else d.cancel()}}),a=new _({movable:r,dimensions:s,userEvents:d,elastic:o.options.elastic}),u=new z({movable:r,dimensions:s,userEvents:d,tapCapture:n}),f=new A({moveTo:function(e){o.scrollTo(e.x,e.y)}});r.bind(S,function(){o.scrollTop=-r.y;o.scrollLeft=-r.x;o.trigger(F,{scrollTop:o.scrollTop,scrollLeft:o.scrollLeft})});if(o.options.mousewheelScrolling)e.on("DOMMouseScroll mousewheel",h(this,"_wheelScroll"));m(o,{movable:r,dimensions:s,zoomSnapBack:u,animatedScroller:f,userEvents:d,pane:a,tapCapture:n,pulled:false,enabled:true,scrollElement:i,scrollTop:0,scrollLeft:0,fixedContainer:e.children().first()});o._initAxis("x");o._initAxis("y");o._wheelEnd=function(){o._wheel=false;o.userEvents.end(0,o._wheelY)};s.refresh();if(o.options.pullToRefresh)o._initPullToRefresh()},_wheelScroll:function(e){if(e.ctrlKey)return;if(!this._wheel){this._wheel=true;this._wheelY=0;this.userEvents.press(0,this._wheelY)}clearTimeout(this._wheelTimeout);this._wheelTimeout=setTimeout(this._wheelEnd,50);var t=p.wheelDeltaY(e);if(t){this._wheelY+=t;this.userEvents.move(0,this._wheelY)}e.preventDefault()},makeVirtual:function(){this.dimensions.y.makeVirtual()},virtualSize:function(e,t){this.dimensions.y.virtualSize(e,t)},height:function(){return this.dimensions.y.size},scrollHeight:function(){return this.scrollElement[0].scrollHeight},scrollWidth:function(){return this.scrollElement[0].scrollWidth},options:{name:"Scroller",zoom:false,pullOffset:140,visibleScrollHints:false,elastic:true,useNative:false,mousewheelScrolling:true,avoidScrolling:function(){return false},pullToRefresh:false,messages:{pullTemplate:"Pull to refresh",releaseTemplate:"Release to refresh",refreshTemplate:"Refreshing"}},events:[T,F,D],_resize:function(){if(!this._native)this.contentResized()},setOptions:function(e){var t=this;g.fn.setOptions.call(t,e);if(e.pullToRefresh)t._initPullToRefresh()},reset:function(){if(this._native)this.scrollElement.scrollTop(0);else{this.movable.moveTo({x:0,y:0});this._scale(1)}},contentResized:function(){this.dimensions.refresh();if(this.pane.x.outOfBounds())this.movable.moveAxis("x",this.dimensions.x.min);if(this.pane.y.outOfBounds())this.movable.moveAxis("y",this.dimensions.y.min)},zoomOut:function(){var e=this.dimensions;e.refresh();this._scale(e.fitScale);this.movable.moveTo(e.centerCoordinates())},enable:function(){this.enabled=true},disable:function(){this.enabled=false},scrollTo:function(e,t){if(this._native){p.scrollLeft(this.scrollElement,k(e));this.scrollElement.scrollTop(k(t))}else{this.dimensions.refresh();this.movable.moveTo({x:e,y:t})}},animatedScrollTo:function(e,t,i){var n,r;if(this._native)this.scrollTo(e,t);else{n={x:this.movable.x,y:this.movable.y};r={x:e,y:t};this.animatedScroller.setCoordinates(n,r);this.animatedScroller.setCallback(i);this.animatedScroller.start()}},pullHandled:function(){var e=this;e.refreshHint.removeClass(C);e.hintContainer.html(e.pullTemplate({}));e.yinertia.onEnd();e.xinertia.onEnd();e.userEvents.cancel()},destroy:function(){g.fn.destroy.call(this);if(this.userEvents)this.userEvents.destroy()},_scale:function(e){this.dimensions.rescale(e);this.movable.scaleTo(e)},_initPullToRefresh:function(){var e=this;e.dimensions.y.forceEnabled();e.pullTemplate=p.template(e.options.messages.pullTemplate);e.releaseTemplate=p.template(e.options.messages.releaseTemplate);e.refreshTemplate=p.template(e.options.messages.refreshTemplate);e.scrollElement.prepend(''+e.pullTemplate({})+"");e.refreshHint=e.scrollElement.children().first();e.hintContainer=e.refreshHint.children(".km-template");e.pane.y.bind("change",h(e._paneChange,e));e.userEvents.bind("end",h(e._dragEnd,e))},_dragEnd:function(){var e=this;if(!e.pulled)return;e.pulled=false;e.refreshHint.removeClass(x).addClass(C);e.hintContainer.html(e.refreshTemplate({}));e.yinertia.freeze(e.options.pullOffset/2);e.trigger("pull")},_paneChange:function(){var e=this;if(e.movable.y/w>e.options.pullOffset){if(!e.pulled){e.pulled=true;e.refreshHint.removeClass(C).addClass(x);e.hintContainer.html(e.releaseTemplate({}))}}else if(e.pulled){e.pulled=false;e.refreshHint.removeClass(x);e.hintContainer.html(e.pullTemplate({}))}},_initAxis:function(e){var t=this,i=t.element.attr("id"),n=t.movable,r=t.dimensions[e],a=t.tapCapture,o=t.pane[e],s;if(!i){i=p.guid();t.element.attr("id",i)}s=new R({axis:e,movable:n,dimension:r,container:t.element,alwaysVisible:t.options.visibleScrollHints,controlsId:i});r.bind(S,function(){s.refresh()});o.bind(S,function(){s.show()});t[e+"inertia"]=new E({axis:e,paneAxis:o,movable:n,tapCapture:a,userEvents:t.userEvents,dimension:r,elastic:t.options.elastic,friction:t.options.friction||d,velocityMultiplier:t.options.velocityMultiplier||u,end:function(){s.hide();t.trigger("scrollEnd",{axis:e,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft})}})}});return n.plugin(N),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.virtuallist.min",["./kendo.data.min"],function(){var H={id:"virtuallist",name:"VirtualList",category:"framework",depends:["data"],hidden:true},g=window.kendo.jQuery,v=void 0,o=window.kendo,e=o.ui,s=e.Widget,t=e.DataBoundWidget,i=g.proxy,l=/^\d+(\.\d+)?%$/i,d="k-list-content k-virtual-content",u="k-table-body k-table-scroller",f="k-list-group-sticky-header",c="k-list-item",p="k-table-row",r="k-height-container",h="k-list-item-group-label",m="k-list-ul",_="k-table-list",b="k-selected",k="k-focus",w="k-hover",a="change",n="click",y="listBound",x="itemChange",C="activate",T="deactivate",S=".k-table-group-row",D=".VirtualList";function F(e){return e[e.length-1]}function I(e){return e instanceof Array?e:[e]}function z(e){return typeof e==="string"||typeof e==="number"||typeof e==="boolean"}function E(e,t,i){return Math.ceil(e*t/i)}function A(e,t,i){var n=document.createElement(i||"div");if(t)n.className=t;e.appendChild(n);return n}function R(e){var t=g('
      '+'
      '+'
        '+'
      • '+'test'+"
      • "+"
      "+"
      "+"
      ");var i;t.css({position:"absolute",left:"-200000px",visibility:"hidden"});t.appendTo(document.body);i=parseFloat(o.getComputedStyles(t.find(".k-list-item")[0],["height"]).height);t.remove();return i}function M(e,t,i){return{down:e*i,up:e*(t-1-i)}}function O(e,t){var n=(e.listScreens-1-e.threshold)*t;var r=e.threshold*t;return function(e,t,i){if(t>i)return t-e.topr}}function L(t,i){return function(e){return i(t.scrollTop,e)}}function B(i){return function(e,t){i(e.items,e.index,t);return e}}function V(e,t){e.style.webkitTransform="translateY("+t+"px)";e.style.transform="translateY("+t+"px)"}function U(r,a){return function(e,t){for(var i=0,n=e.length;i0){i=e.splice(0,t);e.push.apply(e,i)}else{i=e.splice(t,-t);e.unshift.apply(e,i)}return i}function j(e,t,i){var n=i.template,r=this.options.columns&&this.options.columns.length,a=t.index%2===1?"k-table-alt-row":"";e=g(e);if(!t.item)n=i.placeholderTemplate;if(t.index===0&&this.header&&t.group)this.header.html(i.fixedGroupTemplate(t.group));this.angular("cleanup",function(){return{elements:[e]}});e.attr("data-uid",t.item?t.item.uid:"").attr("data-offset-index",t.index);if(r&&t.item){if(a.length>0)e.addClass(a);else e.removeClass("k-table-alt-row");e.html(q(this.options,t.item,i))}else{e.find("."+h).remove();e.find(".k-list-item-text").html(n(t.item||{}))}e.toggleClass(k,t.current);e.toggleClass(b,t.selected);e.toggleClass("k-first",t.newGroup);e.toggleClass("k-last",t.isLastGroupedItem);e.toggleClass("k-loading-item",!t.item);if(t.index!==0&&t.newGroup)if(r)g(''+i.groupTemplate(t.group)+"").appendTo(e);else g("
      ").appendTo(e).html(i.groupTemplate(t.group));else if(t.group&&r)e.append(g(''));if(t.top!==v)V(e[0],t.top);this.angular("compile",function(){return{elements:[e],data:[{dataItem:t.item,group:t.group,newGroup:t.newGroup}]}})}function q(e,t,i){var n="";for(var r=0;r";n+=i["column"+r](t);n+=""}return n}function G(e,t){var i=t.length;var n=e.length;var r;var a;var o,s;var l=[];var d=[];if(n)for(o=0;o
      ").parent();if(i.options.columns&&i.options.columns.length){var r=i.element.closest(".k-data-table").find(".k-table-thead");var a=g(''+''+"");r.append(a);i.header=a.find(".k-table-th");i.element.addClass(_+" k-virtual-table")}else{i.header=i.content.before("
      ").prev();i.element.addClass(m)}if(t.ariaLabel)this.element.attr("aria-label",t.ariaLabel);else if(t.ariaLabelledBy)this.element.attr("aria-labelledby",t.ariaLabelledBy);i.element.on("mouseenter"+D,"li:not(.k-loading-item)",function(){g(this).addClass(w)}).on("mouseleave"+D,"li",function(){g(this).removeClass(w)});i._values=I(i.options.value);i._selectedDataItems=[];i._selectedIndexes=[];i._rangesList={};i._promisesList=[];i._optionID=o.guid();i._templates();i.setDataSource(t.dataSource);i.content.on("scroll"+D,o.throttle(function(){i._renderItems();i._triggerListBound()},t.delay));i._selectable()},options:{name:"VirtualList",autoBind:true,delay:100,height:null,listScreens:4,threshold:.5,itemHeight:null,oppositeBuffer:1,type:"flat",selectable:false,value:[],dataValueField:null,template:"#:data#",placeholderTemplate:"loading...",groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",mapValueTo:"index",valueMapper:null,ariaLabel:null,ariaLabelledBy:null},events:[a,n,y,x,C,T],setOptions:function(e){var t=this.options.columns&&this.options.columns.length?p:c;s.fn.setOptions.call(this,e);if(this._selectProxy&&this.options.selectable===false)this.element.off(n,"."+t,this._selectProxy);else if(!this._selectProxy&&this.options.selectable)this._selectable();this._templates();this.refresh()},items:function(){return g(this._items)},destroy:function(){this.wrapper.off(D);this.dataSource.unbind(a,this._refreshHandler);s.fn.destroy.call(this)},setDataSource:function(e){var t=this;var i=e||{};var n;i=Array.isArray(i)?{data:i}:i;i=o.data.DataSource.create(i);if(t.dataSource){t.dataSource.unbind(a,t._refreshHandler);t._clean();t.bound(false);t._deferValueSet=true;n=t.value();t.value([]);t.mute(function(){t.value(n)})}else t._refreshHandler=g.proxy(t.refresh,t);t.dataSource=i.bind(a,t._refreshHandler);t.setDSFilter(i.filter());if(i.view().length!==0)t.refresh();else if(t.options.autoBind)i.fetch()},skip:function(){return this.dataSource.currentRangeStart()},_triggerListBound:function(){var e=this;var t=e.skip();if(e.bound()&&!e._selectingValue&&e._skip!==t){e._skip=t;e.trigger(y)}},_getValues:function(e){var t=this._valueGetter;return g.map(e,function(e){return t(e)})},_highlightSelectedItems:function(){for(var e=0;e0){e-=1;this.focus(e);t=this.focus();if(t&&t.hasClass("k-loading-item")){e+=1;this.focus(e)}return e}else{e=this.dataSource.total()-1;this.focus(e);return e}},focusNext:function(){var e=this._focusedIndex;var t=this.dataSource.total()-1;var i;if(!isNaN(e)&&en)t=n*i;return t},setScreenHeight:function(){var e=this._height();this.content.height(e);this._screenHeight=e},screenHeight:function(){return this._screenHeight},_getElementLocation:function(e){var t=this.content.scrollTop(),i=this._screenHeight,n=this.options.itemHeight,r=e*n,a=r+n,o=t+i,s;if(r===t-n||a>t&&r=t&&r<=t+(i-n))s="inScreen";else s="outScreen";return s},_templates:function(){var e=this.options;var t={template:e.template,placeholderTemplate:e.placeholderTemplate,groupTemplate:e.groupTemplate,fixedGroupTemplate:e.fixedGroupTemplate};if(e.columns)for(var i=0;i0){r=document.createElement("span");r.className="k-list-item-text";n=document.createElement("li");n.tabIndex=-1;n.className=o;n.setAttribute("role","option");n.style.height=a;n.style.minHeight=a;n.appendChild(r);e.appendChild(n);i.push(n)}return i},_saveInitialRanges:function(){var e=this.dataSource._ranges;var t=g.Deferred();t.resolve();this._rangesList={};for(var i=0;ii.total())n.itemCount=i.total();n._items=n._generateItems(n.element[0],n.itemCount);n._setHeight(t.itemHeight*i.total());n.options.type=(i.group()||[]).length?"group":"flat";if(n.options.type==="flat")if(n.header.closest(S).length)n.header.closest(S).hide();else n.header.hide();else if(n.header.closest(S).length)n.header.closest(S).show();else n.header.show();n.getter=n._getter(function(){n._renderItems(true)});n._onScroll=function(e,t){var i=n._listItems(n.getter);return n._fixedHeader(e,i(e,t))};n._renderItems=n._whenChanged(L(e,n._onScroll),B(n._reorderList(n._items,g.proxy(j,n))));n._renderItems();n._calculateGroupPadding(n._screenHeight);n._calculateColumnsHeaderPadding()},_setHeight:function(e){var t,i=this.heightContainer;if(!i)i=this.heightContainer=A(this.content[0],r);else t=i.offsetHeight;if(e!==t){i.innerHTML="";while(e>0){var n=Math.min(e,25e4);A(i).style.height=n+"px";e-=n}}},_getter:function(){var f=null,c=this.dataSource,p=c.skip(),h=this.options.type,m=this.itemCount,g={};if(c.pageSize()=d){r=o;a=e}else{r=W(o,n);a=n>0?e.slice(-n):e.slice(0,-n)}s(r,a,l.bound());u=t}},_bufferSizes:function(){var e=this.options;return M(this._screenHeight,e.listScreens,e.oppositeBuffer)},_indexConstraint:function(e){var t=this.itemCount,i=this.options.itemHeight,n=this.dataSource.total();return Math.min(Math.max(n-t,0),Math.max(0,Math.floor(e/i)))},_listIndex:function(e,t){var i=this._bufferSizes(),n;n=e-(e>t?i.down:i.up);return this._indexConstraint(n)},_selectable:function(){var e=this.options.columns&&this.options.columns.length?p:c;if(this.options.selectable){this._selectProxy=g.proxy(this,"_clickHandler");this.element.on(n+D,"."+e,this._selectProxy)}},getElementIndex:function(e){if(!(e instanceof jQuery))return v;return parseInt(e.attr("data-offset-index"),10)},_getIndecies:function(e){var t=[],i;if(typeof e==="function"){i=this.dataSource.flatView();for(var n=0;n-1){o.push(this.removeAt(r));g(t[n]).removeClass(b)}}return o},_getSkip:function(e,t){var i=e")}return new o(e,t).html()},o=n.extend({init:function(e,t){var i=this;n.fn.init.call(i,e,t);i.wrapper=i.element.addClass(r);if(!i.element.attr("type"))i.element.attr("type",i.options.type);i._addClasses();i.iconElement();i._textElement()},options:{name:"HTMLButton",type:"button",icon:"",iconClass:"",spriteCssClass:"",imageUrl:"",size:"medium",shape:"rectangle",rounded:"medium",fillMode:"solid",themeColor:"base",stylingOptions:["size","shape","rounded","fillMode","themeColor"]},iconElement:function(){var e=this,t=e.element,i=e.options,n=i.icon,r=i.iconClass,a=i.spriteCssClass,o=i.imageUrl,s,l,d;if(a||o||n||r){d=true;t.contents().filter(function(){return!u(this).hasClass("k-sprite")&&!u(this).hasClass("k-icon")&&!u(this).hasClass("k-image")}).each(function(e,t){if(t.nodeType==1||t.nodeType==3&&f.trim(t.nodeValue).length>0)d=false})}if(d)e.element.addClass("k-icon-button");if(o){l=t.children("img.k-image").first();if(!l[0])l=u('icon').prependTo(t);l.attr("src",o);l.addClass(c)}else if(n||r){s=t.children("span.k-icon").first();if(!s[0])s=u("").prependTo(t);s.attr("class",n?"k-icon k-i-"+n:r);s.addClass(c)}else if(a){s=t.children("span.k-sprite").first();if(!s[0])s=u('').prependTo(t);s.addClass(a+" "+c)}},_textElement:function(){var e=this.element;e.contents().filter(function(){return!u(this).hasClass(c)&&!u(this).hasClass("k-sprite")&&!u(this).hasClass("k-icon")&&!u(this).hasClass("k-image")}).each(function(e,t){if(t.nodeType==1||t.nodeType==3&&f.trim(t.nodeValue).length>0){if(t.nodeType===3){var i=t.parentNode;var n=document.createElement("span");n.appendChild(document.createTextNode(t.nodeValue));i.replaceChild(n,t);t=n}t.classList.add(a)}})}});return u.extend(f.html,{renderButton:t,HTMLButton:o}),f.cssProperties.registerPrefix("HTMLButton","k-button-"),f.cssProperties.registerValues("HTMLButton",[{prop:"fillMode",values:f.cssProperties.fillModeValues.concat(["link"])},{prop:"rounded",values:f.cssProperties.roundedValues.concat([["full","full"]])}]),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.combobox.min",["./kendo.list.min","./kendo.mobile.scroller.min","./kendo.virtuallist.min","./kendo.html.button.min"],function(){var e={id:"combobox",name:"ComboBox",category:"web",description:"The ComboBox widget allows the selection from pre-defined values or entering a new value.",depends:["list","html.button"],features:[{id:"mobile-scroller",name:"Mobile scroller",description:"Support for kinetic scrolling in mobile device",depends:["mobile.scroller"]},{id:"virtualization",name:"VirtualList",description:"Support for virtualization",depends:["virtuallist"]}]},o=window.kendo.jQuery,l=void 0,a=window.kendo,t=a.ui,u=a.html,d=t.List,s=t.Select,f=a.caret,c=a.support,p=c.placeholder,h=a._activeElement,m=a.keys,g=".kendoComboBox",i=g+"FocusEvent",v="click"+g,_="mousedown"+g,b="disabled",k="readonly",w="change",n="k-i-loading",y="k-focus",x="k-disabled",C="aria-disabled",T="aria-readonly",S="off",D="filter",r="accept",F="rebind",I="mouseenter"+g+" mouseleave"+g,z=o.proxy,E=/(\r\n|\n|\r)/gm,A=[16,17,18,19,20,33,34,37,39,45,91,92,144,145],R=s.extend({init:function(e,t){var i=this,n,r;i.ns=g;t=Array.isArray(t)?{dataSource:t}:t;s.fn.init.call(i,e,t);t=i.options;e=i.element.on("focus"+g,z(i._focusHandler,i));t.placeholder=t.placeholder||e.attr("placeholder");i._reset();i._wrapper();i._input();i._clearButton();i._tabindex(i.input);i._popup();i._dataSource();i._ignoreCase();i._enable();i._attachFocusEvents();i._oldIndex=i.selectedIndex=-1;i._aria();i._initialIndex=t.index;i.requireValueMapper(i.options);i._initList();i._cascade();if(t.autoBind)i._filterSource();else{n=t.text;if(!n&&i._isSelect)n=e.children(":selected").text();if(n)i._setText(n)}if(!n)i._placeholder();r=o(i.element).parents("fieldset").is(":disabled");if(r)i.enable(false);a.notify(i);i._toggleCloseVisibility();i._applyCssClasses()},options:{name:"ComboBox",enabled:true,index:-1,text:null,value:null,autoBind:true,delay:200,dataTextField:"",dataValueField:"",minLength:1,enforceMinLength:false,height:200,highlightFirst:true,filter:"none",placeholder:"",suggest:false,cascadeFrom:"",cascadeFromField:"",cascadeFromParentField:"",ignoreCase:true,animation:{},virtual:false,template:null,groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",clearButton:true,syncValueAndText:true,autoWidth:false,popup:null,size:"medium",fillMode:"solid",rounded:"medium"},events:["open","close",w,"select","filtering","dataBinding","dataBound","cascade","set"],setOptions:function(e){var t=this._listOptions(e);s.fn.setOptions.call(this,e);this.listView.setOptions(t);this._accessors();this._aria();this._clearButton()},destroy:function(){var e=this;e.input.off(g);e.input.off(i);e.element.off(g);e.wrapper.off(g);clearTimeout(e._pasteTimeout);e._arrow.off(v+" "+_);e._clear.off(v+" "+_);s.fn.destroy.call(e)},_isValueChanged:function(e){return e!==d.unifyType(this._old,typeof e)&&e!==d.unifyType(this._oldText,typeof e)},_change:function(){var e=this;var t=e.text();var i=t&&t!==e._oldText&&t!==e.options.placeholder;var n=e.selectedIndex;var r=n===-1;if(!e.options.syncValueAndText&&!e.value()&&r&&i){e._old="";e._oldIndex=n;e._oldText=t;if(!e._typing)e.element.trigger(w);e.trigger(w);e._typing=false;return}s.fn._change.call(e);e._oldText=e.text&&e.text();e._toggleCloseVisibility()},_attachFocusEvents:function(){var e=this;e.input.on("focus"+i,z(e._inputFocus,e)).on("focusout"+i,z(e._inputFocusout,e))},_focusHandler:function(e){if(e.target===this.element[0])this.input.trigger("focus")},_arrowClick:function(){this._toggle()},_inputFocus:function(){this.wrapper.addClass(y);this._placeholder(false)},_inputFocusout:function(e){var t=this;var i=t.value();var n=!o(e.relatedTarget).closest(".k-clear-value").length;t._userTriggered=true;t.wrapper.removeClass(y);clearTimeout(t._typingTimeout);t._typingTimeout=null;if(n)t.text(t.text());var r=t._focus();var a=this.listView.dataItemByIndex(this.listView.getElementIndex(r));if(i!==t.value()&&t.trigger("select",{dataItem:a,item:r})){t.value(i);return}t._placeholder();t._valueBeforeCascade=t._old;if(n){t._blur();t.element.trigger("blur")}},_inputPaste:function(){var e=this;clearTimeout(e._pasteTimeout);e._pasteTimeout=null;e._pasteTimeout=setTimeout(function(){e.search()})},_editable:function(e){var t=this,i=e.disable,n=e.readonly,r=t.wrapper.off(g),a=t.element.add(t.input.off(g)),o=t._arrow.off(v+" "+_),s=t._clear;if(!n&&!i){r.removeClass(x).on(I,t._toggleHover);a.prop(b,false).prop(k,false).attr(C,false).attr(T,false);o.on(v,z(t._arrowClick,t)).on(_,function(e){e.preventDefault()});s.on(v+" touchend"+g,z(t._clearValue,t));t.input.on("keydown"+g,z(t._keydown,t)).on("input"+g,z(t._search,t)).on("paste"+g,z(t._inputPaste,t));t.wrapper.on(v+g,z(t._focusHandler,t))}else{r.addClass(i?x:"").removeClass(i?"":x);a.attr(b,i).attr(k,n).attr(C,i).attr(T,n)}t._toggleCloseVisibility()},open:function(){var e=this;var t=e._state;var i=e.dataSource.filter()?e.dataSource.filter().filters.length>0:false;var n=!e.ul.find(e.listView.focus()).length;if(e.popup.visible())return;if(!e.listView.bound()&&t!==D||t===r){e._open=true;e._state=F;if(e.options.minLength!==1&&!i||i&&e.value()&&e.selectedIndex===-1){e.refresh();e._openPopup();if(!this.options.virtual)e.listView.bound(false)}else e._filterSource()}else if(e._allowOpening()){e.popup._hovered=true;e._openPopup();if(e.options.virtual)e._focusItem();else if(n&&e.options.highlightFirst)e.listView.focus(0)}},_scrollToFocusedItem:function(){var e=this.listView;e.scrollToIndex(e.getElementIndex(e.focus()))},_openPopup:function(){this.popup.one("activate",z(this._scrollToFocusedItem,this));this.popup.open()},_updateSelectionState:function(){var e=this;var t=e.options.text;var i=e.options.value;if(e.listView.isFiltered())return;if(e.selectedIndex===-1){if(t===l||t===null)t=i;e._accessor(i);e.input.val(t||e.input.val());e._placeholder()}else if(e._oldIndex===-1)e._oldIndex=e.selectedIndex},_buildOptions:function(e){var t=this;if(!t._isSelect)return;var i=t._customOption;if(t._state===F)t._state="";t._customOption=l;t._options(e,"",t.value());if(i&&i[0].selected&&!t.listView._emptySearch)t._custom(i.val())},_updateSelection:function(){var e=this;var t=e.listView;var i=e._initialIndex;var n=i!==null&&i>-1;var r=e._state===D;if(r){o(t.focus()).removeClass("k-selected");return}if(e._fetch)return;if(!t.value().length)if(n)e.select(i);else if(e._accessor())t.value(e._accessor());e._initialIndex=null;var a=t.selectedDataItems()[0];if(!a)return;if(e._value(a)!==e.value())e._custom(e._value(a));else if(e._value(a)!==e.element[0].value)e._accessor(e._value(a));if(e.text()&&e.text()!==e._text(a))e._selectValue(a)},_updateItemFocus:function(){var e=this.listView;if(!this.options.highlightFirst)e.focus(-1);else if(!e.focus()&&!e.focusIndex())e.focus(0)},_listBound:function(){var e=this;var t=e.input[0]===h();var i=e.dataSource.flatView();var n=e.listView.skip();var r=i.length;var a=e.dataSource._group?e.dataSource._group.length:0;var o=n===l||n===0;e._presetValue=false;e._renderFooter();e._renderNoData();e._toggleNoData(!r);e._toggleHeader(!!a&&!!r);e._resizePopup();e.popup.position();e._buildOptions(i);e._updateSelection();if(i.length&&o){e._updateItemFocus();if(e.options.suggest&&t&&e.input.val())e.suggest(i[0])}if(e._open){e._open=false;if(e._typingTimeout&&!t)e.popup.close();else e.toggle(e._allowOpening());e._typingTimeout=null}e._hideBusy();e.trigger("dataBound")},_listChange:function(){this._selectValue(this.listView.selectedDataItems()[0]);if(this._presetValue)this._oldIndex=this.selectedIndex},_get:function(e){var t,i,n;if(typeof e==="function"){t=this.dataSource.flatView();for(n=0;n-1)n+=e.substring(o+n.length)}else n=n.substring(0,r);if(n.length!==r||!e){i.value=n;if(i===h())f(i,r,n.length)}},text:function(e){e=e===null?"":e;var t=this;var i=t.input[0];var n=t.options.ignoreCase;var r=e;var a;var o;if(e===l)return i.value;if(t.options.autoBind===false&&!t.listView.bound()){t._setText(e);return}a=t.dataItem();if(a&&t._text(a).replace&&t._text(a).replace(E,"")===e){o=t._value(a);if(o===d.unifyType(t._old,typeof o)){t._triggerCascade();return}}if(n)r=r.toLowerCase();if(t.dataItem()&&t._text(t.dataItem())===e)return;t._select(function(e){e=t._text(e);if(n)e=(e+"").toLowerCase();return e===r}).done(function(){if(t.selectedIndex<0){i.value=e;if(t.options.syncValueAndText)t._accessor(e);t._cascadeTriggered=true;t._triggerCascade()}t._prev=i.value});t._toggleCloseVisibility()},toggle:function(e){this._toggle(e,true)},value:function(e){var t=this;var i=t.options;var n=t.listView;if(e===l){e=t._accessor()||t.listView.value()[0];return e===l||e===null?"":e}t.requireValueMapper(t.options,e);t.trigger("set",{value:e});if(e===i.value&&t.input.val()===i.text&&!t.options.cascadeFrom)return;t._accessor(e);if(t._isFilterEnabled()&&n.bound()&&n.isFiltered())t._clearFilter();else t._fetchData();n.value(e).done(function(){if(t.selectedIndex===-1&&(!n._selectedDataItems||!n._selectedDataItems.length)){t._accessor(e);t.input.val(e);t._placeholder(true)}if(t._userTriggered)t._old=t._accessor();else t._old=t._valueBeforeCascade=t._accessor();t._oldIndex=t.selectedIndex;t._prev=t._oldText=t.input.val();if(t._state===D)t._state=r;t._toggleCloseVisibility()})},_hideBusy:function(){var e=this;clearTimeout(e._busy);e._arrowIcon.removeClass(n);e._focused.attr("aria-busy",false);e._busy=null;e._toggleCloseVisibility()},_click:function(e){var t=this;var i=e.item;var n=t.listView.dataItemByIndex(t.listView.getElementIndex(i));var r=true;e.preventDefault();if(n){r=t._value(n)!==d.unifyType(t.value(),typeof t._value(n));if(!r)t.input.val(t._text(n))}if(r&&t.trigger("select",{dataItem:n,item:i})){t.close();return}t._userTriggered=true;t._select(i).done(function(){t._blur()})},_syncValueAndText:function(){return this.options.syncValueAndText},_inputValue:function(){return this.text()},_searchByWord:function(i){var n=this;var e=n.options;var t=n.dataSource;var r=e.ignoreCase;var a=function(e){var t=n._text(e);if(t!==l){t=t+"";if(t!==""&&i==="")return false;if(r)t=t.toLowerCase();return t.indexOf(i)===0}};if(r)i=i.toLowerCase();if(!n.ul[0].firstChild){t.one(w,function(){if(t.view()[0])n.search(i)}).fetch();return}this.listView.focus(this._get(a));var o=this.listView.focus();if(o){if(e.suggest)n.suggest(o);this.open()}if(this.options.highlightFirst&&!i)this.listView.focusFirst()},_input:function(){var e=this,t=e.element.removeClass("k-input-inner")[0],i=t.accessKey,n=e.wrapper,r="input.k-input-inner",a=t.name||"",o=e.options,s,l,d;if(a)a='name="'+a+'_input" ';s=n.find(r);if(!s[0]){d=u.renderButton('',{icon:"arrow-s",size:o.size,fillMode:o.fillMode,shape:null,rounded:null});n.append("').append(d).append(e.element);s=n.find(r)}s[0].style.cssText=t.style.cssText;s[0].title=t.title;l=parseInt(this.element.prop("maxlength")||this.element.attr("maxlength"),10);if(l>-1)s[0].maxLength=l;s.addClass(t.className).css({width:"",height:t.style.height,position:""}).attr({role:"combobox","aria-expanded":false}).show();if(p)s.attr("placeholder",e.options.placeholder);if(i){t.accessKey="";s[0].accessKey=i}e._focused=e.input=s;e._arrow=n.find(".k-select").attr({role:"button",tabIndex:-1});e._arrowIcon=e._arrow.find(".k-icon");if(t.id)e._arrow.attr("aria-controls",e.ul[0].id)},_clearButton:function(){d.fn._clearButton.call(this);if(this.options.clearButton){this._clear.insertAfter(this.input);this.wrapper.addClass("k-combobox-clearable")}},_keydown:function(e){var t=this,i=e.keyCode,n=t.options.dataTextField||"text",r=i>=112&&i<=135,a=A.indexOf(i)>-1;t._last=i;clearTimeout(t._typingTimeout);t._typingTimeout=null;if(i===m.HOME)t._firstItem();else if(i===m.END)t._lastItem();else if(i===m.ENTER||i===m.TAB&&t.popup.visible()){var o=t.listView.focus();var s=t.dataItem();var l=true;if(!t.popup.visible()&&(!s||t.text()!==t._text(s)))o=null;if(o){if(t.popup.visible())e.preventDefault();s=t.listView.dataItemByIndex(t.listView.getElementIndex(o));if(s)l=t._value(s)!==d.unifyType(t.value(),typeof t._value(s));if(l&&t.trigger("select",{dataItem:s,item:o}))return;t._userTriggered=true;t._select(o).done(function(){t._blur();t._valueBeforeCascade=t._old=t.value()})}else{if(t._syncValueAndText()||t._isSelect)if(!t.dataItem()||t.dataItem()[n]!==t.input.val())t._accessor(t.input.val());if(t.options.highlightFirst){t.listView.value(t.input.val());t._blur()}else t._oldText=t.text()}}else if(i!=m.TAB&&!t._move(e)&&!a&&!r&&!e.ctrlKey)t._search();else if(i===m.ESC&&!t.popup.visible()&&t.text())t._clearValue()},_placeholder:function(e){if(p)return;var t=this,i=t.input,n=t.options.placeholder,r;if(n){r=t.value();if(e===l)e=!r;i.toggleClass("k-readonly",e);if(!e)if(!r)n="";else return;i.val(n);if(!n&&i[0]===h())f(i[0],0,0)}},_search:function(){var t=this;clearTimeout(t._typingTimeout);t._typingTimeout=setTimeout(function(){var e=t.text();if(e!==""&&t._prev!==e){t._prev=e;if(t.options.filter==="none"&&t.options.virtual)t.listView.select(-1);t.search(e);t._toggleCloseVisibility()}else if(e===""&&t._prev!==""&&t._prev!==l){t._clearValue();t._open=true;t._state=F}t._typingTimeout=null},t.options.delay)},_setText:function(e){this.input.val(e);this._prev=e},_wrapper:function(){var e=this,t=e.element,i=t.parent();if(!i.is("span.k-input")){i=t.hide().wrap("").parent();i[0].style.cssText=t[0].style.cssText}e.wrapper=i.addClass("k-input k-combobox k-widget").addClass(t[0].className).removeClass("input-validation-error").css("display","")},_clearSelection:function(e,t){var i=this;var n=e.value();var r=n&&e.selectedIndex===-1;if(this.selectedIndex==-1&&this.value())return;if(t||!n||r){i.options.value="";i.value("")}},_preselect:function(e,t){this.input.val(t);this._accessor(e);this._old=this._accessor();this._oldIndex=this.selectedIndex;this.listView.setValue(e);this._placeholder();this._initialIndex=null;this._presetValue=true;this._toggleCloseVisibility()},_clearText:function(){this._old=this.value();this.text("")},_clearValue:function(){s.fn._clearValue.call(this);this.input.trigger("focus")}});return t.plugin(R),a.cssProperties.registerPrefix("ComboBox","k-input-"),a.cssProperties.registerValues("ComboBox",[{prop:"rounded",values:a.cssProperties.roundedValues.concat([["full","full"]])}]),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.dropdownlist.min",["./kendo.list.min","./kendo.mobile.scroller.min","./kendo.virtuallist.min","./kendo.html.button.min"],function(){var e={id:"dropdownlist",name:"DropDownList",category:"web",description:"The DropDownList widget displays a list of values and allows the selection of a single value from the list.",depends:["list","html.button"],features:[{id:"mobile-scroller",name:"Mobile scroller",description:"Support for kinetic scrolling in mobile device",depends:["mobile.scroller"]},{id:"virtualization",name:"VirtualList",description:"Support for virtualization",depends:["virtuallist"]}]},s=window.kendo.jQuery,l=void 0,d=window.kendo,t=d.ui,u=d.html,a=t.List,f=t.Select,o=d.support,c=d._activeElement,p=d.data.ObservableObject,h=d.keys,m=".kendoDropDownList",i=m+"FocusEvent",g="disabled",v="readonly",r="change",n="k-focus",_="k-disabled",b="aria-disabled",k="aria-readonly",w="click"+m+" touchend"+m,y="mouseenter"+m+" mouseleave"+m,x="tabindex",C="filter",T="accept",S="The `optionLabel` option is not valid due to missing fields. Define a custom optionLabel as shown here http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#configuration-optionLabel",D=s.proxy,F="open",I="close",z=f.extend({init:function(e,t){var i=this;var n=t&&t.index;var r,a,o;i.ns=m;t=Array.isArray(t)?{dataSource:t}:t;f.fn.init.call(i,e,t);t=i.options;e=i.element.on("focus"+m,D(i._focusHandler,i));i._focusInputHandler=s.proxy(i._focusInput,i);i.optionLabel=s();i._optionLabel();i._inputTemplate();i._reset();i._prev="";i._word="";i._wrapper();i._tabindex();i.wrapper.data(x,i.wrapper.attr(x));i._span();i._popup();i._mobile();i._dataSource();i._ignoreCase();i._filterHeader();i._aria();i.wrapper.attr("aria-live","polite");i._enable();i._attachFocusHandlers();i._oldIndex=i.selectedIndex=-1;if(n!==l)t.index=n;i._initialIndex=t.index;i.requireValueMapper(i.options);i._initList();i.listView.one("dataBound",D(i._attachAriaActiveDescendant,i));i._cascade();i.one("set",function(e){if(!e.sender.listView.bound()&&i.hasOptionLabel())i._textAccessor(i._optionLabelText())});if(t.autoBind)i.dataSource.fetch();else if(i.selectedIndex===-1){a=t.text||"";if(!a){r=t.optionLabel;if(r&&t.index===0)a=r;else if(i._isSelect)a=e.children(":selected").text()}i._textAccessor(a)}o=s(i.element).parents("fieldset").is(":disabled");if(o)i.enable(false);i.listView.bind("click",function(e){e.preventDefault()});d.notify(i);i._applyCssClasses()},options:{name:"DropDownList",enabled:true,autoBind:true,index:0,text:null,value:null,delay:500,height:200,dataTextField:"",dataValueField:"",optionLabel:"",cascadeFrom:"",cascadeFromField:"",cascadeFromParentField:"",ignoreCase:true,animation:{},filter:"none",minLength:1,enforceMinLength:false,virtual:false,template:null,valueTemplate:null,optionLabelTemplate:null,groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",autoWidth:false,popup:null,filterTitle:null,size:"medium",fillMode:"solid",rounded:"medium"},events:["open","close",r,"select","filtering","dataBinding","dataBound","cascade","set","kendoKeydown"],setOptions:function(e){f.fn.setOptions.call(this,e);this.listView.setOptions(this._listOptions(e));this._optionLabel();this._inputTemplate();this._accessors();this._filterHeader();this._enable();this._aria();if(!this.value()&&this.hasOptionLabel())this.select(0)},destroy:function(){var e=this;f.fn.destroy.call(e);e.wrapper.off(m);e.wrapper.off(i);e.element.off(m);e._arrow.off();e._arrow=null;e._arrowIcon=null;e.optionLabel.off();if(e.filterInput)e.filterInput.off(i)},open:function(){var e=this;var t=e.dataSource.filter()?e.dataSource.filter().filters.length>0:false;var i=this.listView;if(e.popup.visible())return;if(!e.listView.bound()||e._state===T){e._open=true;e._state="rebind";if(e.filterInput){e.filterInput.val("");e._prev=""}if(e.filterInput&&e.options.minLength!==1&&!t){e.refresh();e.popup.one("activate",e._focusInputHandler);e.wrapper.attr("aria-activedescendant",i._optionID);e.popup.open();e._resizeFilterInput()}else e._filterSource()}else if(e._allowOpening()){e._focusFilter=true;e.popup.one("activate",e._focusInputHandler);e.popup._hovered=true;e.wrapper.attr("aria-activedescendant",i._optionID);e.popup.open();e._resizeFilterInput();e._focusItem()}},close:function(){this._attachAriaActiveDescendant();this.popup.close()},_attachAriaActiveDescendant:function(){var e=this.wrapper,t=e.find(".k-input-inner").attr("id");e.attr("aria-activedescendant",t)},_focusInput:function(){this._focusElement(this.filterInput)},_resizeFilterInput:function(){var e=this.filterInput;var t=this._prevent;if(!e)return;var i=this.filterInput[0]===c();var n=d.caret(this.filterInput[0])[0];this._prevent=true;e.addClass("k-hidden");e.closest(".k-list-filter").css("width",this.popup.element.css("width"));e.removeClass("k-hidden");if(i){e.trigger("focus");d.caret(e[0],n)}this._prevent=t},_allowOpening:function(){return this.hasOptionLabel()||this.filterInput||f.fn._allowOpening.call(this)},toggle:function(e){this._toggle(e,true)},current:function(e){var t;if(e===l){t=this.listView.focus();if(!t&&this.selectedIndex===0&&this.hasOptionLabel())return this.optionLabel;return t}this._focus(e)},dataItem:function(e){var t=this;var i=null;if(e===null)return e;if(e===l)i=t.listView.selectedDataItems()[0];else{if(typeof e!=="number"){if(t.options.virtual)return t.dataSource.getByUid(s(e).data("uid"));if(e.hasClass("k-list-optionlabel"))e=-1;else e=s(t.items()).index(e)}else if(t.hasOptionLabel())e-=1;i=t.dataSource.flatView()[e]}if(!i)i=t._optionLabelDataItem();return i},refresh:function(){this.listView.refresh()},text:function(e){var t=this;var i;var n=t.options.ignoreCase;e=e===null?"":e;if(e!==l){if(typeof e!=="string"){t._textAccessor(e);return}i=n?e.toLowerCase():e;t._select(function(e){e=t._text(e);if(n)e=(e+"").toLowerCase();return e===i}).done(function(){t._textAccessor(t.dataItem()||e)})}else return t._textAccessor()},_clearFilter:function(){s(this.filterInput).val("");f.fn._clearFilter.call(this)},value:function(e){var t=this;var i=t.listView;var n=t.dataSource;if(e===l){e=t._accessor()||t.listView.value()[0];return e===l||e===null?"":e}t.requireValueMapper(t.options,e);if(e||!t.hasOptionLabel())t._initialIndex=null;this.trigger("set",{value:e});if(t._request&&t.options.cascadeFrom&&t.listView.bound()){if(t._valueSetter)n.unbind(r,t._valueSetter);t._valueSetter=D(function(){t.value(e)},t);n.one(r,t._valueSetter);return}if(t._isFilterEnabled()&&i.bound()&&i.isFiltered())t._clearFilter();else t._fetchData();i.value(e).done(function(){t._old=t._valueBeforeCascade=t._accessor();t._oldIndex=t.selectedIndex})},hasOptionLabel:function(){return this.optionLabel&&!!this.optionLabel[0]},_optionLabel:function(){var e=this;var t=e.options;var i=t.optionLabel;var n=t.optionLabelTemplate;if(!i){e.optionLabel.off().remove();e.optionLabel=s();return}if(!n){n="#:";if(typeof i==="string")n+="data";else n+=d.expr(t.dataTextField,"data");n+="#"}if(typeof n!=="function")n=d.template(n);e.optionLabelTemplate=n;if(!e.hasOptionLabel())e.optionLabel=s('
      ').prependTo(e.list);e.optionLabel.html(n(i)).off().on(w,D(e._click,e)).on(y,e._toggleHover);e.angular("compile",function(){return{elements:e.optionLabel,data:[{dataItem:e._optionLabelDataItem()}]}})},_optionLabelText:function(){var e=this.options.optionLabel;return typeof e==="string"?e:this._text(e)},_optionLabelDataItem:function(){var e=this;var t=e.options.optionLabel;if(e.hasOptionLabel())return s.isPlainObject(t)?new p(t):e._assignInstance(e._optionLabelText(),"");return l},_buildOptions:function(e){var t=this;if(!t._isSelect)return;var i=t.listView.value()[0];var n=t._optionLabelDataItem();var r=n&&t._value(n);if(i===l||i===null)i="";if(n){if(r===l||r===null)r="";n='"}t._options(e,n,i);if(i!==a.unifyType(t._accessor(),typeof i)){t._customOption=null;t._custom(i)}},_listBound:function(){var e=this;var t=e._initialIndex;var i=e._state===C;var n=e.dataSource.flatView();var r;e._presetValue=false;e._renderFooter();e._renderNoData();e._toggleNoData(!n.length);e._resizePopup(true);e.popup.position();e._buildOptions(n);if(!i){if(e._open)e.toggle(e._allowOpening());e._open=false;if(!e._fetch)if(n.length){if(!e.listView.value().length&&t>-1&&t!==null)e.select(t);e._initialIndex=null;r=e.listView.selectedDataItems()[0];if(r&&e.text()!==e._text(r))e._selectValue(r)}else if(e._textAccessor()!==e._optionLabelText()){e.listView.value("");e._selectValue(null);e._oldIndex=e.selectedIndex}}e._hideBusy();e.trigger("dataBound")},_listChange:function(){this._selectValue(this.listView.selectedDataItems()[0]);if(this._presetValue||this._old&&this._oldIndex===-1)this._oldIndex=this.selectedIndex},_filterPaste:function(){this._search()},_attachFocusHandlers:function(){var e=this;var t=e.wrapper;t.on("focusin"+i,D(e._focusinHandler,e)).on("focusout"+i,D(e._focusoutHandler,e));if(e.filterInput)e.filterInput.on("focusin"+i,D(e._focusinHandler,e)).on("focusout"+i,D(e._focusoutHandler,e))},_focusHandler:function(){this.wrapper.trigger("focus")},_focusinHandler:function(){this.wrapper.addClass(n);this._prevent=false},_focusoutHandler:function(){var e=this;var t=window.self!==window.top;if(!e._prevent){clearTimeout(e._typingTimeout);if(o.mobileOS.ios&&t)e._change();else e._blur();e.wrapper.removeClass(n);e._prevent=true;e._open=false;e.element.trigger("blur")}},_wrapperMousedown:function(){this._prevent=!!this.filterInput},_wrapperClick:function(e){e.preventDefault();this.popup.unbind("activate",this._focusInputHandler);this._focused=this.wrapper;this._prevent=false;this._toggle()},_editable:function(e){var t=this;var i=t.element;var n=e.disable;var r=e.readonly;var a=t.wrapper.add(t.filterInput).off(m);var o=t.wrapper.off(y);if(!r&&!n){i.prop(g,false).prop(v,false);o.removeClass(_).on(y,t._toggleHover);a.attr(x,a.data(x)).attr(b,false).attr(k,false).on("keydown"+m,t,D(t._keydown,t)).on(d.support.mousedown+m,D(t._wrapperMousedown,t)).on("paste"+m,D(t._filterPaste,t));t.wrapper.on("click"+m,D(t._wrapperClick,t));if(!t.filterInput)a.on("keypress"+m,D(t._keypress,t));else a.on("input"+m,D(t._search,t))}else if(n){a.removeAttr(x);o.addClass(_)}else o.removeClass(_);i.attr(g,n).attr(v,r);a.attr(b,n).attr(k,r)},_keydown:function(e){var t=this;var i=e.keyCode;var n=e.altKey;var r;var a;var o=t.popup.visible();if(t.filterInput)r=t.filterInput[0]===c();if(i===h.LEFT){i=h.UP;a=true}else if(i===h.RIGHT){i=h.DOWN;a=true}if(a&&r)return;e.keyCode=i;if(n&&i===h.UP||i===h.ESC)t._focusElement(t.wrapper);if(t._state===C&&i===h.ESC){t._clearFilter();t._open=false;t._state=T}if(i===h.ENTER&&t._typingTimeout&&t.filterInput&&o){e.preventDefault();return}if(i===h.SPACEBAR&&!r){t.toggle(!o);e.preventDefault()}a=t._move(e);if(a)return;if(!o||!t.filterInput){var s=t._focus();if(i===h.HOME){a=true;t._firstItem()}else if(i===h.END){a=true;t._lastItem()}if(a){if(t.trigger("select",{dataItem:t._getElementDataItem(t._focus()),item:t._focus()})){t._focus(s);return}t._select(t._focus(),true).done(function(){if(!o)t._blur()});e.preventDefault()}}if(!n&&!a&&t.filterInput)t._search()},_matchText:function(e,t){var i=this.options.ignoreCase;if(e===l||e===null)return false;e=e+"";if(i)e=e.toLowerCase();return e.indexOf(t)===0},_shuffleData:function(e,t){var i=this._optionLabelDataItem();if(i)e=[i].concat(e);return e.slice(t).concat(e.slice(0,t))},_selectNext:function(){var t=this;var e=t.dataSource.flatView();var i=e.length+(t.hasOptionLabel()?1:0);var n=R(t._word,t._last);var r=t.selectedIndex;var a;var o;if(r===-1)r=0;else{r+=n?1:0;r=A(r,i)}e=e.toJSON?e.toJSON():e.slice();e=t._shuffleData(e,r);for(var s=0;s-1)e-=1}else if(a.hasClass("k-list-optionlabel"))e=-1;if(r){t=this.dataSource.flatView();for(n=0;n'+''+"
      "+"
      ";if(this.filterInput){this.filterInput.off(m).closest(".k-list-filter").remove();this.filterInput=null}if(this._isFilterEnabled()){this.filterInput=s('').attr({placeholder:this.element.attr("placeholder"),title:this.options.filterTitle||this.element.attr("title"),role:"searchbox","aria-label":this.options.filterTitle,"aria-haspopup":"listbox","aria-autocomplete":"list"});this.list.parent().prepend(s(e)).find(".k-searchbox").append(this.filterInput)}},_span:function(){var e=this,t=e.wrapper,i="span.k-input-value-text",n=d.guid(),r=e.options,a,o;a=t.find(i);if(!a[0]){o=u.renderButton('',{icon:"arrow-s",size:r.size,fillMode:r.fillMode,shape:null,rounded:null});t.append(''+''+"").append(o).append(e.element);a=t.find(i)}e.span=a;e._arrow=t.find(".k-select");e._arrowIcon=e._arrow.find(".k-icon")},_wrapper:function(){var e=this,t=e.element,i=t[0],n;n=t.parent();if(!n.is("span.k-picker")){n=t.wrap("").parent();n[0].style.cssText=i.style.cssText;n[0].title=i.title}e._focused=e.wrapper=n.addClass("k-picker k-dropdown k-widget").addClass(i.className).removeClass("input-validation-error").css("display","").attr({accesskey:t.attr("accesskey"),unselectable:"on",role:"listbox","aria-haspopup":"listbox","aria-expanded":false});t.hide().removeAttr("accesskey")},_clearSelection:function(e){this.select(e.value()?0:-1)},_openHandler:function(e){this._adjustListWidth();if(this.trigger(F))e.preventDefault();else{this.wrapper.attr("aria-expanded",true);this.ul.attr("aria-hidden",false)}},_closeHandler:function(e){if(this.trigger(I))e.preventDefault();else{this.wrapper.attr("aria-expanded",false);this.ul.attr("aria-hidden",true)}},_inputTemplate:function(){var e=this,t=e.options.valueTemplate;if(!t)t=s.proxy(d.template("#:this._text(data)#",{useWithBlock:false}),e);else t=d.template(t);e.valueTemplate=t;if(e.hasOptionLabel()&&!e.options.optionLabelTemplate)try{e.valueTemplate(e._optionLabelDataItem())}catch(e){throw new Error(S)}},_textAccessor:function(e){var t=null;var i=this.valueTemplate;var n=this._optionLabelText();var r=this.span;if(e===l)return r.text();if(s.isPlainObject(e)||e instanceof p)t=e;else if(n&&n===e)t=this.options.optionLabel;if(!t)t=this._assignInstance(e,this._accessor());if(this.hasOptionLabel())if(t===n||this._text(t)===n){i=this.optionLabelTemplate;if(typeof this.options.optionLabel==="string"&&!this.options.optionLabelTemplate)t=n}var a=function(){return{elements:r.get(),data:[{dataItem:t}]}};this.angular("cleanup",a);try{r.html(i(t))}catch(e){r.html("")}this.angular("compile",a)},_preselect:function(e,t){if(!e&&!t)t=this._optionLabelText();this._accessor(e);this._textAccessor(t);this._old=this._accessor();this._oldIndex=this.selectedIndex;this.listView.setValue(e);this._initialIndex=null;this._presetValue=true},_assignInstance:function(e,t){var i=this.options.dataTextField;var n={};if(i){E(n,i.split("."),e);E(n,this.options.dataValueField.split("."),t);n=new p(n)}else n=e;return n}});function E(e,t,i){var n=0,r=t.length-1,a;for(;n=t)e-=t;return e}function R(e,t){for(var i=0;i=0}function L(e){var t={top:e.offsetTop,left:e.offsetLeft},i=e.offsetParent;while(i){t.top+=i.offsetTop;t.left+=i.offsetLeft;var n=w(i).css("overflowX");var r=w(i).css("overflowY");if(r==="auto"||r==="scroll")t.top-=i.scrollTop;if(n==="auto"||n==="scroll")t.left-=i.scrollLeft;i=i.offsetParent}return t}var he=g.extend({init:function(e,t){var i=this,n,r={},a,o,s,l=false,d,u,f,c,p=t&&t.actions&&!t.actions.length,h;g.fn.init.call(i,e,t);t=i.options;s=t.position;e=i.element;d=t.content;c=w(window);if(p)t.actions=[];i.appendTo=w(t.appendTo);i.containment=t.draggable.containment?w(t.draggable.containment).first():null;if(d&&!V(d))d=t.content={url:d};e.find("script").filter(pe).remove();if(!e.parent().is(i.appendTo)&&!i.containment&&(s.top===m||s.left===m)){if(e.is(D)){r=e.offset();l=true}else{a=e.css("visibility");o=e.css("display");e.css({visibility:F,display:""});if(document.body.contains(e[0]))r=e.offset();else r={top:0,left:0};e.css({visibility:a,display:o})}if(s.top===m)s.top=r.top;if(s.left===m)s.left=r.left}if(!H(t.visible)||t.visible===null)t.visible=e.is(D);n=i.wrapper=e.closest(b);if(!e.is(".k-window-content")||!n[0]){e.addClass("k-window-content");i._createWindow(e,t);n=i.wrapper=e.closest(b);i.title(i.options.title);i._dimensions()}i.minTop=i.minLeft=-Infinity;i.maxTop=i.maxLeft=Infinity;i._position();if(d)i.refresh(d);if(t.visible)i.toFront(null,!t.modal);u=n.children(C);if(t.visible&&t.modal)i._overlay(n.is(D)).css({opacity:.5});n.on("mouseenter"+_,N,v(i._buttonEnter,i)).on("mouseleave"+_,N,v(i._buttonLeave,i)).on("click"+_,"> "+N,v(i._windowActionHandler,i)).on("keydown"+_,i,v(i._keydown,i)).on("focus"+_,v(i._focus,i)).on("blur"+_,v(i._blur,i));u.on("keydown"+_,i,v(i._keydownContent,i));f=u.find("."+T)[0];if(f&&!c.data(ue)){c.on("blur"+_,function(){var e=w(document.activeElement).parent(C);if(e.length){var t=y.widgetInstance(e);t._focus()}});c.on("focus"+_,function(){w(C).not(U).each(function(e,t){y.widgetInstance(w(t))._blur()})});c.data(ue,true)}this._resizable();this._draggable();if(t.pinned&&this.wrapper.is(":visible"))i.pin();h=e.attr("id");if(h){h=h+"_wnd_title";n.attr({role:"dialog","aria-labelledby":h}).children(x).children(k).attr("id",h)}n.add(n.children(".k-resize-handle,"+x)).on(y.support.mousedown+_,v(i.toFront,i));i.touchScroller=y.touchScroller(e);i._resizeHandler=v(i._onDocumentResize,i);i._marker=y.guid().substring(0,8);w(window).on("resize"+_+i._marker,i._resizeHandler);if(t.visible){i.trigger(z);i.trigger(E)}y.notify(i);if(this.options.modal){this._tabKeyTrap=new B(n);this._tabKeyTrap.trap();this._tabKeyTrap.shouldTrap=function(){return n.data("isFront")}}},_buttonEnter:function(e){w(e.currentTarget).addClass(j)},_buttonLeave:function(e){w(e.currentTarget).removeClass(j)},_focus:function(){this.wrapper.addClass(q)},_blur:function(){this.wrapper.removeClass(q)},_dimensions:function(){var e=this.wrapper;var t=this.options;var i=t.width;var n=t.height;var r=t.maxHeight;var a=t.size;var o=["minWidth","minHeight","maxWidth","maxHeight"];var s=e.css("box-sizing")=="content-box";var l=s?M(e,"border-left-width")+M(e,"border-right-width"):0;var d=s?M(e,"border-top-width")+M(e,"border-bottom-width"):0;var u=s?M(e,"padding-top"):0;if(this.containment&&!this._isPinned){this._updateBoundaries();t.maxHeight=Math.min(this.containment.height-(d+u),r);t.maxWidth=Math.min(this.containment.width-l,t.maxWidth)}for(var f=0;f0?parseInt(this.containment.height*(parseFloat(t.top)/100),10):t.top;n=t.left.toString().indexOf("%")>0?parseInt(this.containment.width*(parseFloat(t.left)/100),10):t.left;t.top=O(i,this.minTop,this.maxTop);t.left=O(n,this.minLeft,this.maxLeft)}if(t.top&&t.top.toString().indexOf("px")>0)t.top=Number(t.top.replace("px",""));if(t.left&&t.left.toString().indexOf("px")>0)t.left=Number(t.left.replace("px",""));if(t.top===0)t.top=t.top.toString();if(t.left===0)t.left=t.left.toString();e.css({top:t.top||"",left:t.left||""})},_updateBoundaries:function(){var e=this.containment;if(!e)return null;e.width=e.innerWidth();e.height=e.innerHeight();if(parseInt(e.width,10)>e[0].clientWidth)e.width-=y.support.scrollbar();if(parseInt(e.height,10)>e[0].clientHeight)e.height-=y.support.scrollbar();e.position=L(e[0]);if(this._isPinned){this.minTop=this.minLeft=-Infinity;this.maxTop=this.maxLeft=Infinity}else{this.minTop=e.scrollTop();this.minLeft=e.scrollLeft();this.maxLeft=this.minLeft+e.width-o(this.wrapper,true);this.maxTop=this.minTop+e.height-t(this.wrapper,true)}},_animationOptions:function(e){var t=this.options.animation;var i={open:{effects:{}},close:{hide:true,effects:{}}};return t&&t[e]||i[e]},_resize:function(){y.resize(this.element.children())},_resizable:function(){var e=this.options.resizable;var i=this.wrapper;if(this.resizing){i.off("dblclick"+_).children(p).remove();this.resizing.destroy();this.resizing=null}if(e){i.on("dblclick"+_,x,v(function(e){if(!w(e.target).closest(".k-window-action").length)this.toggleMaximization()},this));a("n e s w se sw ne nw".split(" "),function(e,t){i.append(c.resizeHandle(t))});this.resizing=new me(this)}i=null},_draggable:function(){var e=this.options.draggable;if(this.dragging){this.dragging.destroy();this.dragging=null}if(e)this.dragging=new ge(this,e.dragHandle||x)},_actions:function(){var e=this.options;var t=e.actions;var i=e.pinned;var n=this.wrapper.children(x);var r=n.find(".k-window-actions");var a=["maximize","minimize"];t=w.map(t,function(e){e=i&&e.toLowerCase()==="pin"?"unpin":e;return{name:a.indexOf(e.toLowerCase())>-1?"window-"+e:e}});r.html(y.render(c.action,t))},setOptions:function(e){var t=this;var i=t.options.size;var n=this.containment&&!t._isPinned?this.containment:w(document);var r=JSON.parse(JSON.stringify(e));l(e.position,t.options.position);l(e.position,r.position);t._containerScrollTop=n.scrollTop();t._containerScrollLeft=n.scrollLeft();g.fn.setOptions.call(t,e);var a=t.options.scrollable!==false;t.restore();if(typeof e.title!=="undefined")t.title(e.title);t.wrapper.removeClass(P[i]);t._dimensions();t._position();t._resizable();t._draggable();t._actions();if(typeof e.modal!=="undefined"){var o=t.options.visible!==false;t._enableDocumentScrolling();t._overlay(e.modal&&o)}t.element.css(A,a?"":"hidden")},events:[z,E,$,Y,"minimize","maximize",d,ie,X,"resize",Z,ee,te,"kendoKeydown",re],options:{name:"Window",animation:{open:{effects:{zoom:{direction:"in"},fade:{direction:"in"}},duration:350},close:{effects:{zoom:{direction:"out",properties:{scale:.7}},fade:{direction:"out"}},duration:350,hide:true}},title:"",actions:["Close"],autoFocus:true,modal:false,size:"auto",resizable:true,draggable:true,minWidth:90,minHeight:50,maxWidth:Infinity,maxHeight:Infinity,pinned:false,scrollable:true,position:{},content:null,visible:null,height:null,width:null,appendTo:"body",isMaximized:false,isMinimized:false},_closable:function(){return w.inArray("close",w.map(this.options.actions,function(e){return e.toLowerCase()}))>-1},_keydownContent:function(e){var t=this,i=y.keys,n=e.keyCode;if(n==i.ESC&&t._closable()){e.stopPropagation();t._close(false)}},_keydown:function(e){var t=this,i=t.options,n=y.keys,r=e.keyCode,a=t.wrapper,o,s,l=10,d=i.isMaximized,u=i.isMinimized,f,c,p,h;if(r==n.ESC&&t._closable()){e.stopPropagation();t._close(false)}if(e.target!=e.currentTarget||t._closing)return;if(e.altKey&&r==82)t.refresh();if(e.altKey&&r==80)if(t.options.pinned)t.unpin();else t.pin();if(e.altKey&&r==n.UP){if(u){t.restore();t.wrapper.trigger("focus")}else if(!d){t.maximize();t.wrapper.trigger("focus")}}else if(e.altKey&&r==n.DOWN)if(!u&&!d){t.minimize();t.wrapper.trigger("focus")}else if(d)t.restore();o=y.getOffset(a);if(t.containment&&!t._isPinned)o=t.options.position;if(i.draggable&&!e.ctrlKey&&!e.altKey&&!d){t._updateBoundaries();if(r==n.UP){o.top=O(o.top-l,t.minTop,t.maxTop);s=a.css("top",o.top)}else if(r==n.DOWN){o.top=O(o.top+l,t.minTop,t.maxTop);s=a.css("top",o.top)}else if(r==n.LEFT){o.left=O(o.left-l,t.minLeft,t.maxLeft);s=a.css("left",o.left)}else if(r==n.RIGHT){o.left=O(o.left+l,t.minLeft,t.maxLeft);s=a.css("left",o.left)}}if(i.resizable&&e.ctrlKey&&!d&&!u){if(r==n.UP){s=true;c=a.outerHeight()-l}else if(r==n.DOWN){s=true;if(t.containment&&!t._isPinned)c=Math.min(a.outerHeight()+l,t.containment.height-o.top-M(a,"padding-top")-M(a,"borderBottomWidth")-M(a,"borderTopWidth"));else c=a.outerHeight()+l}if(r==n.LEFT){s=true;f=a.outerWidth()-l}else if(r==n.RIGHT){s=true;if(t.containment&&!t._isPinned)f=Math.min(a.outerWidth()+l,t.containment.width-o.left-M(a,"borderLeftWidth")-M(a,"borderRightWidth"));else f=a.outerWidth()+l}if(s){p=O(f,i.minWidth,i.maxWidth);h=O(c,i.minHeight,i.maxHeight);if(!isNaN(p)){a.outerWidth(p);t.options.width=p+"px"}if(!isNaN(h)){a.outerHeight(h);t.options.height=h+"px"}t.resize()}}if(s)e.preventDefault()},_overlay:function(e){var t=this.containment?this.containment.children(h):this.appendTo.children(h),i=this.wrapper,n=e?"block":"none",r=parseInt(i.css(R),10)-1;if(!t.length)t=w("
      ");t.insertBefore(i[0]).css({zIndex:r,display:n});if(this.options.modal.preventScroll&&!this.containment)this._stopDocumentScrolling();return t},_actionForIcon:function(e){var t=/\bk-i(-\w+)+\b/.exec(e[0].className)[0];return{"k-i-close":"_close","k-i-window-maximize":"maximize","k-i-window-minimize":"minimize","k-i-window-restore":"restore","k-i-refresh":"refresh","k-i-pin":"pin","k-i-unpin":"unpin"}[t]},_windowActionHandler:function(e){if(this._closing)return;var t=w(e.target).closest(".k-window-action").find(".k-icon");var i=this._actionForIcon(t);if(i){e.preventDefault();this[i]();return false}},_modals:function(){var e=this,t=w(b+D),i,n=[];for(var r=0;r=0;)e.push({dataItem:i});return{elements:n.children(),data:e}});return this},open:function(){var e=this,t=e.wrapper,i=e.options,n=this._animationOptions("open"),r=t.children(C),a,o,s=this.containment&&!e._isPinned,l=s?this.containment:w(document);if(!e.trigger(z)){if(e._closing)t.kendoStop(true,true);e._closing=false;e.toFront();if(i.autoFocus)e.wrapper.trigger("focus");i.visible=true;if(i.modal){o=!!e._modals().length;a=e._overlay(o);a.kendoStop(true,true);if(n.duration&&y.effects.Fade&&!o){var d=y.fx(a).fadeIn();d.duration(n.duration||0);d.endValue(.5);d.play()}else a.css("opacity",.5);a.show();w(window).on("focus"+u,function(){if(t.data("isFront")&&!w(document.activeElement).closest(t).length)e.wrapper.trigger("focus")})}if(!t.is(D)){r.css(A,F);e.wrapper.find(N).addClass("k-button-flat");t.addClass(S).kendoStop().kendoAnimate({effects:n.effects,duration:n.duration,complete:v(this._activate,this)})}}if(i.isMaximized){e._containerScrollTop=l.scrollTop();e._containerScrollLeft=l.scrollLeft();e._stopDocumentScrolling()}if(this.options.pinned&&!this._isPinned)this.pin();return e},_activate:function(){var e=this.options.scrollable!==false;if(this.options.autoFocus)this.wrapper.trigger("focus");this.element.css(A,e?"":"hidden");y.resize(this.element.children());this.trigger(E)},_removeOverlay:function(e){var t=this._modals();var i=this.options;var n=i.modal&&!t.length;var r=this._animationOptions("close");if(n){if(!e&&r.duration&&y.effects.Fade){var a=y.fx(i.modal?this._overlay(true):w(m)).fadeOut();a.duration(r.duration||0);a.startValue(.5);a.play()}else this._overlay(false).remove();if(i.modal.preventScroll)this._enableDocumentScrolling()}else if(t.length){this._object(t.last())._overlay(true);if(i.modal.preventScroll)this._stopDocumentScrolling()}},_close:function(e){var t=this,n=t.wrapper,i=t.options,r=this._animationOptions("open"),a=this._animationOptions("close"),o=this.containment&&!t._isPinned,s=o?this.containment:w(document),l;if(t._closing)return;l=t.trigger(Y,{userTriggered:!e});t._closing=!l;if(n.is(D)&&!l){i.visible=false;w(b).each(function(e,t){var i=w(t).children(C);if(t!=n&&i.find("> ."+T).length>0)i.children(h).remove()});this._removeOverlay();t.wrapper.find(N).removeClass("k-button-flat");n.kendoStop().kendoAnimate({effects:a.effects||r.effects,reverse:a.reverse===true,duration:a.duration,complete:v(this._deactivate,this)});w(window).off(u)}if(t.options.isMaximized){t._enableDocumentScrolling();if(t._containerScrollTop&&t._containerScrollTop>0)s.scrollTop(t._containerScrollTop);if(t._containerScrollLeft&&t._containerScrollLeft>0)s.scrollLeft(t._containerScrollLeft)}if(t.options.iframe)t.wrapper.trigger("blur")},_deactivate:function(){var e=this;e.wrapper.removeClass(S).hide().css("opacity","");e.trigger($);if(e.options.modal){var t=e._object(e._modals().last());if(t)t.toFront()}},close:function(){this._close(true);return this},_actionable:function(e){return w(e).is(N+","+N+" .k-icon, :input, a, .k-input, .k-icon, [role='gridcell']")},_shouldFocus:function(e){var t=r(),i=this.wrapper;return this.options.autoFocus&&!w(t).is(i)&&!this._actionable(e)&&(!i.find(t).length||!i.find(e).length)},toFront:function(e,t){var i=this,a=i.wrapper,o=a[0],n=i.containment&&!i._isPinned,r=this._animationOptions("open"),s=+a.css(R),l=s,d=e&&e.target||null;w(b).each(function(e,t){var i=w(t),n=i.css(R),r=i.children(C);if(!isNaN(n))s=Math.max(+n,s);a.data("isFront",t==o);if(t!=o&&r.find("."+T).length&&!r.find(h).length)r.append(c.overlay)});if(!a[0].style.zIndex||l .k-overlay").remove();if(i._shouldFocus(d)){if(!t)setTimeout(function(){i.wrapper.focus()},r?r.duration:0);var u=n?i.containment.scrollTop():w(window).scrollTop(),f=parseInt(a.position().top,10);if(!i.options.pinned&&f>0&&f0)w(window).scrollTop(f);else a.css("top",u)}a=null;return i},toggleMaximization:function(){if(this._closing)return this;return this[this.options.isMaximized?"restore":"maximize"]()},restore:function(){var e=this;var t=e.options;var i=t.minHeight;var n=e.restoreOptions;var r;var a=e.containment&&!e._isPinned?e.containment:w(document);if(!t.isMaximized&&!t.isMinimized)return e;if(i&&i!=Infinity)e.wrapper.css("min-height",i);if(n&&!t.isMaximized){n.height=O(n.height,e.options.minHeight,e.options.maxHeight);r=t.position.top+parseInt(n.height,10)>e.maxTop;if(r){t.position.top=O(t.position.top,e.minTop,e.maxTop-parseInt(n.height,10));l(n,{left:t.position.left,top:t.position.top})}}e.wrapper.css({position:t.pinned?"fixed":"absolute",left:n.left,top:n.top,width:n.width,height:n.height}).removeClass(G).find(".k-window-content,.k-resize-handle").show().end().find(".k-window-titlebar .k-i-window-restore").parent().remove().end().end().find(ae).parent().show().end().end().find(le).parent().show();if(t.isMaximized)e.wrapper.find(".k-i-window-maximize").parent().trigger("focus");else if(t.isMinimized)e.wrapper.find(".k-i-window-minimize").parent().trigger("focus");e.options.width=n.width;e.options.height=n.height;if(!e.options.modal.preventScroll)e._enableDocumentScrolling();if(e._containerScrollTop&&e._containerScrollTop>0)a.scrollTop(e._containerScrollTop);if(e._containerScrollLeft&&e._containerScrollLeft>0)a.scrollLeft(e._containerScrollLeft);t.isMaximized=t.isMinimized=false;e.wrapper.removeAttr("aria-labelled-by");e.resize();e.trigger(ie);return e},_sizingAction:function(e,t){var i=this,n=i.wrapper,r=n[0].style,a=i.options;if(a.isMaximized||a.isMinimized)return i;i.restoreOptions={width:r.width,height:r.height};n.children(p).hide().end().children(x).find(ae).parent().hide().eq(0).before(c.action({name:"window-restore"}));t.call(i);i.wrapper.children(x).find(le).parent().toggle(e!=="maximize");i.trigger(e);n.find(".k-i-window-restore").parent().trigger("focus");return i},maximize:function(){this._sizingAction("maximize",function(){var e=this,t=e.wrapper,i=this.containment&&!e._isPinned,n=t.position(),r=w(document);l(e.restoreOptions,{left:n.left+(i?this.containment.scrollLeft():0),top:n.top+(i?this.containment.scrollTop():0)});this._containerScrollTop=i?this.containment.scrollTop():r.scrollTop();this._containerScrollLeft=i?this.containment.scrollLeft():r.scrollLeft();e._stopDocumentScrolling();t.css({top:i?this.containment.scrollTop():0,left:i?this.containment.scrollLeft():0,position:i?"absolute":"fixed"}).addClass(G);e.options.isMaximized=true;e._onDocumentResize()});return this},_stopDocumentScrolling:function(){var e=this;var t=e.containment;if(t&&!e._isPinned){e._storeOverflowRule(t);t.css(A,F);e.wrapper.css({maxWidth:t.innerWidth(),maxHeight:t.innerHeight()});return}var i=w("body");e._storeOverflowRule(i);i.css(A,F);var n=w("html");e._storeOverflowRule(n);n.css(A,F)},_enableDocumentScrolling:function(){var e=this;var t=e.containment;if(t&&!e._isPinned){e._restoreOverflowRule(t);e.wrapper.css({maxWidth:t.width,maxHeight:t.height});return}e._restoreOverflowRule(w(document.body));e._restoreOverflowRule(w("html"))},_storeOverflowRule:function(e){if(this._isOverflowStored(e))return;var t=e.get(0).style.overflow;if(typeof t==="string")e.data(i,t)},_isOverflowStored:function(e){return typeof e.data(i)==="string"},_restoreOverflowRule:function(e){var t=e.data(i);if(t!==null&&t!==m){e.css(A,t);e.removeData(i)}else e.css(A,"")},isMaximized:function(){return this.options.isMaximized},minimize:function(){this._sizingAction("minimize",function(){var e=this;e.wrapper.css({height:"",minHeight:""});e.element.hide();e.options.isMinimized=true});this.wrapper.attr("aria-labelled-by",this.element.attr("aria-labelled-by"));this._updateBoundaries();return this},isMinimized:function(){return this.options.isMinimized},pin:function(){var e=this,t=w(window),i=e.wrapper,n=e.options,r=n.position,a=this.containment?L(i[0]).top+M(this.containment,"borderTopWidth"):M(i,"top"),o=this.containment?L(i[0]).left+M(this.containment,"borderLeftWidth"):M(i,"left");if(!e.options.isMaximized){r.top=a;r.left=o;if(e._scrollIsAppended&&(!this.containment||this.containment.css("position")!=="fixed")){r.top-=t.scrollTop();r.left-=t.scrollLeft();e._scrollIsAppended=false}i.css(l(r,{position:"fixed"}));i.children(x).find(oe).addClass("k-i-unpin").removeClass("k-i-pin");e._isPinned=true;e.options.pinned=true;if(this.containment){n.maxWidth=n.maxHeight=Infinity;i.css({maxWidth:"",maxHeight:""})}}},unpin:function(){var e=this,t=w(window),i=e.wrapper,n=e.options,r=e.options.position,a=e.containment,o=parseInt(i.css("top"),10)+t.scrollTop(),s=parseInt(i.css("left"),10)+t.scrollLeft();if(!e.options.isMaximized){e._isPinned=false;e._scrollIsAppended=true;e.options.pinned=false;if(a){e._updateBoundaries();n.maxWidth=Math.min(a.width,n.maxWidth);n.maxHeight=Math.min(a.height-M(i,"padding-top"),n.maxHeight);i.css({maxWidth:n.maxWidth,maxHeight:n.maxHeight});if(oa.position.top+a.height)o=e.maxTop;else o=o+a.scrollTop()-(a.position.top+M(a,"border-top-width"));if(sa.position.left+a.width)s=e.maxLeft;else s=s+a.scrollLeft()-(a.position.left+M(a,"border-left-width"))}r.top=O(o,e.minTop,e.maxTop);r.left=O(s,e.minLeft,e.maxLeft);i.css(l(r,{position:""}));i.children(x).find(se).addClass("k-i-pin").removeClass("k-i-unpin")}},_onDocumentResize:function(){var e=this,t=e.wrapper,i=w(window),n=y.support.zoomLevel(),r=t.css("box-sizing")=="content-box",a,o;if(!e.options.isMaximized)return;var s=r?M(t,"border-left-width")+M(t,"border-right-width"):0;var l=r?M(t,"border-top-width")+M(t,"border-bottom-width"):0;var d=r?M(t,"padding-top"):0;if(e.containment&&!e._isPinned){a=e.containment.innerWidth()-s;o=e.containment.innerHeight()-(l+d)}else{a=i.width()/n-s;o=i.height()/n-(l+d)}t.css({width:a,height:o});e.options.width=a;e.options.height=o;e.resize()},refresh:function(e){var t=this,i=t.options,n=w(t.element),r,a,o;if(!V(e))e={url:e};e=l(i.content,e);a=H(i.iframe)?i.iframe:e.iframe;o=e.url;if(o){if(!H(a))a=!ce(o);if(!a)t._ajaxRequest(e);else{r=n.find("."+T)[0];if(r)r.src=o||r.src;else n.html(c.contentFrame(l({},i,{content:e})));n.find("."+T).off("load"+_).on("load"+_,v(this._triggerRefresh,this))}}else{if(e.template)t.content(s(e.template)({}));t.trigger(d)}n.toggleClass("k-window-iframecontent",!!a);return t},_triggerRefresh:function(){this.trigger(d)},_ajaxComplete:function(){clearTimeout(this._loadingIconTimeout);this.wrapper.find(de).removeClass(W)},_ajaxError:function(e,t){this.trigger(re,{status:t,xhr:e})},_ajaxSuccess:function(i){return function(e){var t=e;if(i)t=s(i)(e||{});this.content(t,e);this.element.prop("scrollTop",0);this.trigger(d)}},_showLoading:function(){this.wrapper.find(de).addClass(W)},_ajaxRequest:function(e){this._loadingIconTimeout=setTimeout(v(this._showLoading,this),100);w.ajax(l({type:"GET",dataType:"html",cache:false,error:v(this._ajaxError,this),complete:v(this._ajaxComplete,this),success:v(this._ajaxSuccess(e.template),this)},e))},_destroy:function(){if(this.resizing)this.resizing.destroy();if(this.dragging)this.dragging.destroy();this.wrapper.off(_).children(C).off(_).end().find(".k-resize-handle,.k-window-titlebar").off(_);w(window).off("resize"+_+this._marker);w(window).off(u);w(window).off(_);clearTimeout(this._loadingIconTimeout);g.fn.destroy.call(this);this.unbind(m);y.destroy(this.wrapper)},destroy:function(){this._destroy();if(this.options.modal)this._removeOverlay(true);this.wrapper.empty().remove();this.wrapper=this.appendTo=this.element=w()},_createWindow:function(){var e=this.element,t=this.options,i,n,r=y.support.isRtl(e);if(t.scrollable===false)e.css("overflow","hidden");n=w(c.wrapper(t));i=e.find("iframe:not(.k-content-frame)").map(function(){var e=this.getAttribute("src");this.src="";return e});n.toggleClass("k-rtl",r).attr("tabindex",0).append(e).find("iframe:not(.k-content-frame)").each(function(e){this.src=i[e]});if(this.containment)this.containment.prepend(n);else if(this.appendTo)n.appendTo(this.appendTo);n.find(".k-window-title").css(r?"left":"right",o(n.find(".k-window-actions"))+10);e.css("visibility","").show();e.find("[data-role=editor]").each(function(){var e=w(this).data("kendoEditor");if(e)e.refresh()});n=e=null}});function me(e){var t=this;t.owner=e;t._preventDragging=false;t._draggable=new n(e.wrapper,{filter:">"+p,group:e.wrapper.id+"-resizing",dragstart:v(t.dragstart,t),drag:v(t.drag,t),dragend:v(t.dragend,t)});t._draggable.userEvents.bind("press",v(t.addOverlay,t));t._draggable.userEvents.bind("release",v(t.removeOverlay,t))}function ge(e,t){var i=this;i.owner=e;i._preventDragging=false;i._draggable=new n(e.wrapper,{filter:t,group:e.wrapper.id+"-moving",dragstart:v(i.dragstart,i),drag:v(i.drag,i),dragend:v(i.dragend,i),dragcancel:v(i.dragcancel,i)});i._draggable.userEvents.stopPropagation=false}return c={wrapper:s("
      "),action:s(""+""+""),titlebar:s("
      "+"#= title #"+"
      "+"
      "),overlay:"
      ",contentFrame:s(""),resizeHandle:s("
      ")},me.prototype={addOverlay:function(){this.owner.wrapper.append(c.overlay)},removeOverlay:function(){this.owner.wrapper.find(h).remove()},dragstart:function(e){var t=this;var i=t.owner;var n=i.wrapper;t._preventDragging=i.trigger(X);if(t._preventDragging)return;t.elementPadding=parseInt(n.css("padding-top"),10);t.initialPosition=y.getOffset(n,"position");t.resizeDirection=e.currentTarget.prop("className").replace("k-resize-handle k-resize-","");t.initialSize={width:n.outerWidth(),height:n.outerHeight()};i._updateBoundaries();t.containerOffset=i.containment?i.containment.position:y.getOffset(i.appendTo);var r=n.offsetParent();if(r.is("html"))t.containerOffset.top=t.containerOffset.left=0;else{var a=r.css("margin-top");var o=r.css("margin-left");var s=!fe.test(a)||!fe.test(o);if(s){var l=L(n[0]);var d=l.left-t.containerOffset.left-t.initialPosition.left;var u=l.top-t.containerOffset.top-t.initialPosition.top;t._relativeElMarginLeft=d>1?d:0;t._relativeElMarginTop=u>1?u:0;t.initialPosition.left+=t._relativeElMarginLeft;t.initialPosition.top+=t._relativeElMarginTop}}n.children(p).not(e.currentTarget).hide();w(f).css(I,e.currentTarget.css(I))},drag:function(e){if(this._preventDragging)return;var t=this,i=t.owner,n=i.wrapper,r=i.options,a=r.position,o=t.resizeDirection,s=t.containerOffset,l=t.initialPosition,d=t.initialSize,u=i.containment&&!i._isPinned,f=y.support.isRtl(i.containment),c=u&&f&&i.containment.innerWidth()>i.containment.width?y.support.scrollbar():0,p=u?{top:i.containment.scrollTop(),left:i.containment.scrollLeft()}:{top:0,left:0},h,m,g,v,_=Math.max(e.x.location,0),b=Math.max(e.y.location,0);if(o.indexOf("e")>=0){if(i.containment&&_-d.width>=i.maxLeft-p.left+s.left+c)h=i.maxLeft+c-l.left+d.width-p.left;else h=_-l.left-s.left;n.outerWidth(O(h,r.minWidth,r.maxWidth))}else if(o.indexOf("w")>=0){v=l.left+d.width+s.left;h=O(v-_,r.minWidth,r.maxWidth);a.left=v-h-s.left-c-(t._relativeElMarginLeft||0)+p.left;if(i.containment&&a.left<=i.minLeft){a.left=i.minLeft;h=O(v-c-a.left-s.left+p.left,r.minWidth,r.maxWidth)}n.css({left:a.left,width:h})}var k=b;if(i.options.pinned)k-=w(window).scrollTop();if(o.indexOf("s")>=0){m=k-l.top-t.elementPadding-s.top;if(k-d.height-t.elementPadding>=i.maxTop+s.top-p.top)m=i.maxTop-l.top+d.height-p.top;n.outerHeight(O(m,r.minHeight,r.maxHeight))}else if(o.indexOf("n")>=0){g=l.top+d.height+s.top;m=O(g-k,r.minHeight,r.maxHeight);a.top=g-m-s.top-(t._relativeElMarginTop||0)+p.top;if(a.top<=i.minTop&&i.containment){a.top=i.minTop;m=O(g-a.top-s.top+p.top,r.minHeight,r.maxHeight)}n.css({top:a.top,height:m})}if(h)i.options.width=h+"px";if(m)i.options.height=m+"px";i.resize()},dragend:function(e){if(this._preventDragging)return;var t=this,i=t.owner,n=i.wrapper;n.children(p).not(e.currentTarget).show();w(f).css(I,"");if(i.touchScroller)i.touchScroller.reset();if(e.keyCode==27)n.css(t.initialPosition).css(t.initialSize);i.trigger(Z);return false},destroy:function(){if(this._draggable)this._draggable.destroy();this._draggable=this.owner=null}},ge.prototype={dragstart:function(e){var t=this.owner,i=t.options.draggable,n=t.element,r=n.find(".k-window-actions"),a=y.getOffset(t.appendTo);this._preventDragging=t.trigger(ee)||!i;if(this._preventDragging||t.isMaximized())return;t.initialWindowPosition=y.getOffset(t.wrapper,"position");t.initialPointerPosition={left:t.options.position.left,top:t.options.position.top};t.startPosition={left:e.x.client-t.initialWindowPosition.left,top:e.y.client-t.initialWindowPosition.top};t._updateBoundaries();if(!t.containment){if(r.length>0)t.minLeft=o(r)+parseInt(r.css("right"),10)-o(n);else t.minLeft=20-o(n);t.minLeft-=a.left;t.minTop=-a.top}w(c.overlay).appendTo(t.wrapper).css({opacity:0});t.wrapper.children(p).hide();w(f).css(I,e.currentTarget.css(I))},drag:function(e){var t=this.owner;var i=t.options.position;var n=t.options.draggable.axis;var r;var a;if(this._preventDragging||t.isMaximized())return;if(!n||n.toLowerCase()==="x"){r=e.x.client-t.startPosition.left;if(t.containment&&!t._isPinned)r+=t.containment.scrollLeft();i.left=O(r,t.minLeft,t.maxLeft)}if(!n||n.toLowerCase()==="y"){a=e.y.client-t.startPosition.top;if(t.containment&&!t._isPinned)a+=t.containment.scrollTop();i.top=O(a,t.minTop,t.maxTop)}if(y.support.transforms)w(t.wrapper).css("transform","translate("+(i.left-t.initialPointerPosition.left)+"px, "+(i.top-t.initialPointerPosition.top)+"px)");else w(t.wrapper).css(i)},_finishDrag:function(){var e=this.owner;e.wrapper.children(p).toggle(!e.options.isMinimized).end().find(h).remove();w(f).css(I,"")},dragcancel:function(e){if(this._preventDragging)return;this._finishDrag();e.currentTarget.closest(b).css(this.owner.initialWindowPosition)},dragend:function(){var e=this.owner;if(this._preventDragging||e.isMaximized())return;w(e.wrapper).css(e.options.position).css("transform","");this._finishDrag();e.trigger(te);return false},destroy:function(){if(this._draggable)this._draggable.destroy();this._draggable=this.owner=null}},y.ui.plugin(he),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.color.min",["./kendo.core.min"],function(){var e={id:"color",name:"Color utils",category:"framework",advanced:true,description:"Color utilities used across components",depends:["core"]},t=(window.kendo=window.kendo||{},kendo.Class),i=kendo.support,a={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgrey:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",grey:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"},n=i.browser,o=function(e){var t=Object.keys(a);t.push("transparent");var i=new RegExp("^("+t.join("|")+")(\\W|$)","i");o=function(e){return i.exec(e)};return i.exec(e)},s=t.extend({init:function(){},toHSV:function(){return this},toRGB:function(){return this},toHex:function(e){return this.toBytes().toHex(e)},toBytes:function(){return this},toCss:function(e){return"#"+this.toHex(e)},toCssRgba:function(){var e=this.toBytes();return"rgba("+e.r+", "+e.g+", "+e.b+", "+parseFloat(Number(this.a).toFixed(3))+")"},toDisplay:function(){if(n.msie&&n.version<9)return this.toCss();return this.toCssRgba()},equals:function(e){return e===this||e!==null&&this.toCssRgba()===h(e).toCssRgba()},diff:function(e){if(e===null)return NaN;var t=this.toBytes();var i=e.toBytes();return Math.sqrt(Math.pow((t.r-i.r)*.3,2)+Math.pow((t.g-i.g)*.59,2)+Math.pow((t.b-i.b)*.11,2))},clone:function(){var e=this.toBytes();if(e===this)e=new l(e.r,e.g,e.b,e.a);return e}}),c=s.extend({init:function(e,t,i,n){s.fn.init.call(this);this.r=e;this.g=t;this.b=i;this.a=n},toHSV:function(){var e=this;var t=e.r;var i=e.g;var n=e.b;var r=Math.min(t,i,n);var a=Math.max(t,i,n);var o=a-r;var s=a;var l,d;if(o===0)return new u(0,0,s,this.a);if(a!==0){d=o/a;if(t===a)l=(i-n)/o;else if(i===a)l=2+(n-t)/o;else l=4+(t-i)/o;l*=60;if(l<0)l+=360}else{d=0;l=-1}return new u(l,d,s,this.a)},toHSL:function(){var e=this;var t=e.r;var i=e.g;var n=e.b;var r=Math.max(t,i,n);var a=Math.min(t,i,n);var o,s,l=(r+a)/2;if(r===a)o=s=0;else{var d=r-a;s=l>.5?d/(2-r-a):d/(r+a);switch(r){case t:o=(i-n)/d+(in.length)n=i+n;return n}var u=s.extend({init:function(e,t,i,n){s.fn.init.call(this);this.h=e;this.s=t;this.v=i;this.a=n},toRGB:function(){var e=this;var t=e.h;var i=e.s;var n=e.v;var r,a,o;if(i===0)r=a=o=n;else{t/=60;var s=Math.floor(t);var l=t-s;var d=n*(1-i);var u=n*(1-i*l);var f=n*(1-i*(1-l));switch(s){case 0:r=n;a=f;o=d;break;case 1:r=u;a=n;o=d;break;case 2:r=d;a=n;o=f;break;case 3:r=d;a=u;o=n;break;case 4:r=f;a=d;o=n;break;default:r=n;a=d;o=u;break}}return new c(r,a,o,this.a)},toHSL:function(){return this.toRGB().toHSL()},toBytes:function(){return this.toRGB().toBytes()}}),f=s.extend({init:function(e,t,i,n){s.fn.init.call(this);this.h=e;this.s=t;this.l=i;this.a=n},toRGB:function(){var e=this.h/360;var t=this.s/100;var i=this.l/100;var n,r,a;if(t===0)n=r=a=i;else{var o=i<.5?i*(1+t):i+t-i*t;var s=2*i-o;n=d(s,o,e+1/3);r=d(s,o,e);a=d(s,o,e-1/3)}return new c(n,r,a,this.a)},toHSV:function(){return this.toRGB().toHSV()},toBytes:function(){return this.toRGB().toBytes()}});function d(e,t,i){var n=i;if(n<0)n+=1;if(n>1)n-=1;if(n<1/6)return e+(t-e)*6*n;if(n<1/2)return t;if(n<2/3)return e+(t-e)*(2/3-n)*6;return e}function p(e){return parseFloat(parseFloat(parseInt(e,16)/255).toFixed(3))}function h(e,t){var i,n;if(e==null||e==="none")return null;if(e instanceof s)return e;var r=e.toLowerCase();if(i=o(r)){if(i[1]==="transparent")r=new c(1,1,1,0);else r=h(a[i[1]],t);r.match=[i[1]];return r}if(i=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(r))n=new l(parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),1);else if(i=/^#?([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(r))n=new l(parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16),parseInt(i[3]+i[3],16),1);else if(i=/^#?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(r))n=new l(parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16),parseInt(i[3]+i[3],16),p(i[4]+i[4]));else if(i=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(r))n=new l(parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),p(i[4]));else if(i=/^rgb\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/.exec(r))n=new l(parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10),1);else if(i=/^rgba\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9.]+)\s*\)/.exec(r))n=new l(parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10),parseFloat(i[4]));else if(i=/^rgb\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*\)/.exec(r))n=new c(parseFloat(i[1])/100,parseFloat(i[2])/100,parseFloat(i[3])/100,1);else if(i=/^rgba\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9.]+)\s*\)/.exec(r))n=new c(parseFloat(i[1])/100,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(i[4]));if(n)n.match=i;else if(!t)throw new Error("Cannot parse color: "+r);return n}var m=180,g=t.extend({init:function(e){var t=this;if(arguments.length===1){var i=g.formats;var n=this.resolveColor(e);for(var r=0;r255?255:e},padDigit:function(e){return e.length===1?"0"+e:e},brightness:function(e){var t=Math.round;this.r=t(this.normalizeByte(this.r*e));this.g=t(this.normalizeByte(this.g*e));this.b=t(this.normalizeByte(this.b*e));return this},percBrightness:function(){return Math.sqrt(.241*this.r*this.r+.691*this.g*this.g+.068*this.b*this.b)},isDark:function(){return this.percBrightness()=2){m(this.element).parent().find(".k-slider-items").remove();e._trackDiv.before(X(t,e._distance()));e._setItemsTitle()}e._calculateSteps(n);if(t.tickPlacement!="none"&&i>=2&&t.largeStep>=t.smallStep){e._setItemsLargeTick();e.wrapper.find(D).first().addClass("k-first");e.wrapper.find(D).last().addClass("k-last")}},getSize:function(){return g.dimensions(this.wrapper)},_setItemsTitle:function(){var e=this,t=e.options,i=e.wrapper.find(D),n=t.min,r=i.length;for(var a=0;a<=r;a+=1){m(i[a]).attr("title",l(t.tooltip.format,P(n)));n+=t.smallStep}},_setItemsLargeTick:function(){var e=this,t=e.options,i=e.wrapper.find(D),n=0,r,a;if(M(t.largeStep)%M(t.smallStep)===0||e._distance()/t.largeStep>=3){if(!e._isHorizontal&&!e._isRtl)i=m.makeArray(i).reverse();for(n=0;n"+r.attr("title")+"");if(n!==0&&n!==i.length-1)r.css("line-height",r[e._sizeFn]()+"px")}}}},_calculateItemsWidth:function(e){var t=this,i=t.options,n=parseFloat(t._trackDiv.css(t._sizeFn))+1,r=t._distance(),a=M(r)/M(i.smallStep),o=n/M(r),s,l,d;if(a-e>0)n-=M(r)%M(i.smallStep)*o;s=n/e;l=[];for(d=0;d"+"
      "}function Q(e,t,i){var n="";if(i)if(t==="increase")n="k-i-arrow-e";else n="k-i-arrow-w";else if(t=="increase")n="k-i-arrow-n";else n="k-i-arrow-s";return""+""}function X(e,t){var i="";return i}function J(e,t,i){var n=t.is("input")?1:2,r=n==2?e.leftDragHandleTitle:e.dragHandleTitle,a=e.value,o=e.selectionStart,s=e.selectionEnd,l,d,u;if(n===1){l=t.val();if(l!==null&&l!==c&&l!=="null")if(a===null||a===c)a=l}else{d=t.find("input").eq(0).val();u=t.find("input").eq(1).val();if(d!==null&&d!==c&&d!=="null")if(o===null||o===c)o=d;if(u!==null&&u!==c&&u!=="null")if(s===null||s===c)s=u}var f="
      \x3c!-- --\x3e
      "+""+(n>1?"":"")+"
      ";return f}function R(t){return function(e){return e+t}}function Z(e){return function(){return e}}function N(e){return(e+"").replace(".",g.cultures.current.numberFormat["."])}function ee(e){var t=e.toString();var i=0;t=t.split(".");if(t[1])i=t[1].length;i=i>10?10:i;return i}function P(e){var t,i;e=parseFloat(e,10);t=ee(e);i=p.pow(10,t||0);return p.round(e*i)/i}function H(e,t){var i=n(e.getAttribute(t));if(i===null)i=c;return i}function te(e){return typeof e!==j}function M(e){return e*1e4}var O=A.extend({init:function(e,t){var i=this,n;e.type="text";t=B({},{value:H(e,"value"),min:H(e,"min"),max:H(e,"max"),smallStep:H(e,"step")},t);e=m(e);if(t&&t.enabled===c)t.enabled=!e.is("[disabled]");A.fn.init.call(i,e,t);t=i.options;if(!te(t.value)||t.value===null){t.value=t.min;e.prop("value",N(t.min))}t.value=p.max(p.min(t.value,t.max),t.min);n=i.wrapper.find(T);i._selection=new O.Selection(n,i,t);i._drag=new O.Drag(n,"",i,t);i._refreshAriaAttr(t.value)},options:{name:"Slider",showButtons:true,increaseButtonTitle:"Increase",decreaseButtonTitle:"Decrease",dragHandleTitle:"drag",tooltip:{format:"{0:#,#.##}"},value:null},enable:function(e){var a=this,t=a.options,i,n;a.disable();if(e===false)return;a.wrapper.removeClass(z);a.wrapper.find("input").prop(E,false);i=function(e){var t=G(e)[0];if(!t)return;var i=a._isHorizontal?t.location.pageX:t.location.pageY,n=a._getDraggableArea(),r=m(e.target);if(r.hasClass("k-draghandle")){r.addClass(I+" "+F);return}a._update(a._getValueFromPosition(i,n));a._focusWithMouse(e.target);a._drag.dragstart(e);e.preventDefault()};a.wrapper.find(D+", "+S).on(f,i).end().on(f,function(){m(document.documentElement).one("selectstart",g.preventDefault)}).on(k,function(){a._drag._end()});a.wrapper.find(T).attr(q,0).on(b,function(){a._setTooltipTimeout()}).on(y,function(e){a._focusWithMouse(e.target);e.preventDefault()}).on(x,o(a._focus,a)).on(C,o(a._blur,a));n=o(function(e){var t=a._nextValueByIndex(a._valueIndex+e*1);a._setValueInRange(t);a._drag._updateTooltip(t)},a);if(t.showButtons){var r=o(function(e,t){this._clearTooltipTimeout();if(e.which===1||U.touch&&e.which===0){n(t);this.timeout=setTimeout(o(function(){this.timer=setInterval(function(){n(t)},60)},this),200)}},a);a.wrapper.find(".k-button").on(b,o(function(e){this._clearTimer();a._focusWithMouse(e.target)},a)).on(u,function(e){m(e.currentTarget).addClass("k-state-hover")}).on("mouseout"+s,o(function(e){m(e.currentTarget).removeClass("k-state-hover");this._clearTimer()},a)).on(d,o(function(e){var t=m(e.target).closest(".k-button").is(".k-button-increase")?1:-1;r(e,t)},a)).on("click",g.preventDefault)}a.wrapper.find(T).off(w,false).on(w,o(this._keydown,a));t.enabled=true},disable:function(){var e=this;e.wrapper.addClass(z);m(e.element).prop(E,E);e.wrapper.find(".k-button").off(d).on(d,function(e){e.preventDefault();m(this).addClass("k-state-active")}).off(b).on(b,function(e){e.preventDefault();m(this).removeClass("k-state-active")}).off("mouseleave"+s).on("mouseleave"+s,g.preventDefault).off(u).on(u,g.preventDefault);e.wrapper.find(D+", "+S).off(f).off(k);e.wrapper.find(T).attr(q,-1).off(b).off(w).off(y).off(x).off(C);e.options.enabled=false},_update:function(e){var t=this,i=t.value()!=e;t.value(e);if(i)t.trigger(a,{value:t.options.value})},value:function(e){var t=this,i=t.options;e=P(e);if(isNaN(e))return i.value;if(e>=i.min&&e<=i.max)if(i.value!=e){t.element.prop("value",N(e));i.value=e;t._refreshAriaAttr(e);t._refresh()}},_refresh:function(){this.trigger(i,{value:this.options.value})},_refreshAriaAttr:function(e){var t=this,i=t._drag,n;if(i&&i._tooltipDiv)n=i._tooltipDiv.text();else n=t._getFormattedValue(e,null);this.wrapper.find(T).attr(Y,e).attr($,n)},_clearTimer:function(){clearTimeout(this.timeout);clearInterval(this.timer)},_keydown:function(e){var t=this;if(e.keyCode in t._keyMap){t._clearTooltipTimeout();t._setValueInRange(t._keyMap[e.keyCode](t.options.value));t._drag._updateTooltip(t.value());e.preventDefault()}},_setValueInRange:function(e){var t=this,i=t.options;e=P(e);if(isNaN(e)){t._update(i.min);return}e=p.max(p.min(e,i.max),i.min);t._update(e)},_nextValueByIndex:function(e){var t=this._values.length;if(this._isRtl)e=t-1-e;return this._values[p.max(0,p.min(e,t-1))]},_formResetHandler:function(){var t=this,i=t.options.min;setTimeout(function(){var e=t.element[0].value;t.value(e===""||isNaN(e)?i:e)})},destroy:function(){var e=this;A.fn.destroy.call(e);e.wrapper.off(s).find(".k-button").off(s).end().find(T).off(s).end().find(D+", "+S).off(s).end();e._drag.draggable.destroy();e._drag._removeTooltip(true)}}),ie=(O.Selection=function(o,s,l){function t(e){var t=e-l.min,i=s._valueIndex=p.ceil(P(t/l.smallStep)),n=parseInt(s._pixelSteps[i],10),r=s._trackDiv.find(".k-slider-selection"),a=s._isRtl?2:0;r[s._sizeFn](s._isRtl?s._maxSelection-n:n);o.css(s._position,n-a)}t(l.value);s.bind([h,i],function(e){t(parseFloat(e.value,10))});s.bind(a,function(e){t(parseFloat(e.sender.value(),10))})},O.Drag=function(e,t,i,n){var r=this;r.owner=i;r.options=n;r.element=e;r.type=t;r.draggable=new L(e,{distance:0,dragstart:o(r._dragstart,r),drag:o(r.drag,r),dragend:o(r.dragend,r),dragcancel:o(r.dragcancel,r)});e.click(false);e.on("dragstart",function(e){e.preventDefault()})},O.Drag.prototype={dragstart:function(e){this.owner._activeDragHandle=this;this.draggable.userEvents.cancel();this._dragstart(e);this.dragend()},_dragstart:function(e){var t=this,i=t.owner,n=t.options;if(!n.enabled){e.preventDefault();return}this.owner._activeDragHandle=this;i.element.off(u);i.wrapper.find("."+I).removeClass(I+" "+F);t.element.addClass(I+" "+F);m(document.documentElement).css("cursor","pointer");t.draggableArea=i._getDraggableArea();t.step=p.max(n.smallStep*(i._maxSelection/i._distance()),0);if(t.type){t.selectionStart=n.selectionStart;t.selectionEnd=n.selectionEnd;i._setZIndex(t.type)}else t.oldVal=t.val=n.value;t._removeTooltip(true);t._createTooltip()},_createTooltip:function(){var e=this,t=e.owner,i=e.options.tooltip,n="",r=m(window),a,o;if(!i.enabled)return;if(i.template)a=e.tooltipTemplate=g.template(i.template);m(".k-slider-tooltip").remove();e.tooltipDiv=m("
      \x3c!-- --\x3e
      ").appendTo(document.body);n=t._getFormattedValue(e.val||t.value(),e);if(!e.type){o="k-callout-"+(t._isHorizontal?"s":"e");e.tooltipInnerDiv="
      \x3c!-- --\x3e
      ";n+=e.tooltipInnerDiv}e.tooltipDiv.html(n);e._scrollOffset={top:r.scrollTop(),left:g.scrollLeft(r)};e.moveTooltip()},drag:function(e){var t=this,i=t.owner,n=e.x.location,r=e.y.location,a=t.draggableArea.startPoint,o=t.draggableArea.endPoint,s;e.preventDefault();if(i._isHorizontal)if(i._isRtl)t.val=t.constrainValue(n,a,o,n=o);else t.val=t.constrainValue(r,o,a,r<=o);if(t.oldVal!=t.val){t.oldVal=t.val;if(t.type){if(t.type=="firstHandle")if(t.valt.selectionStart)t.selectionEnd=t.val;else t.selectionStart=t.selectionEnd=t.val;s={values:[t.selectionStart,t.selectionEnd],value:[t.selectionStart,t.selectionEnd]}}else s={value:t.val};i.trigger(h,s)}t._updateTooltip(t.val)},_updateTooltip:function(e){var t=this,i=t.options,n=i.tooltip,r="";if(!n.enabled)return;if(!t.tooltipDiv)t._createTooltip();r=t.owner._getFormattedValue(P(e),t);if(!t.type)r+=t.tooltipInnerDiv;t.tooltipDiv.html(r);t.moveTooltip()},dragcancel:function(){this.owner._refresh();m(document.documentElement).css("cursor","");return this._end()},dragend:function(){var e=this,t=e.owner;m(document.documentElement).css("cursor","");if(e.type)t._update(e.selectionStart,e.selectionEnd);else{t._update(e.val);e.draggable.userEvents._disposeAll()}e.draggable.userEvents.cancel();return e._end()},_end:function(){var e=this,t=e.owner;t._focusWithMouse(e.element);t.element.on(u);return false},_removeTooltip:function(e){var t=this,i=t.owner;if(t.tooltipDiv&&i.options.tooltip.enabled&&i.options.enabled)if(e){t.tooltipDiv.remove();t.tooltipDiv=null}else t.tooltipDiv.fadeOut("slow",function(){m(this).remove();t.tooltipDiv=null})},moveTooltip:function(){var e=this,t=e.owner,i=0,n=0,r=e.element,a=g.getOffset(r),o=8,s=m(window),l=e.tooltipDiv.find(".k-callout"),d=v(e.tooltipDiv),u=_(e.tooltipDiv),f,c,p,h;if(e.type){f=t.wrapper.find(T);a=g.getOffset(f.eq(0));c=g.getOffset(f.eq(1));if(t._isHorizontal){i=c.top;n=a.left+(c.left-a.left)/2}else{i=a.top+(c.top-a.top)/2;n=c.left}h=v(f.eq(0))+2*o}else{i=a.top;n=a.left;h=v(r)+2*o}if(t._isHorizontal){n-=parseInt((d-t._outerSize(r))/2,10);i-=u+o+(l.length?l.height():0)}else{i-=parseInt((u-t._outerSize(r))/2,10);n-=d+o+(l.length?l.width():0)}if(t._isHorizontal){p=e._flip(i,u,h,_(s)+e._scrollOffset.top);i+=p;n+=e._fit(n,d,v(s)+e._scrollOffset.left)}else{p=e._flip(n,d,h,v(s)+e._scrollOffset.left);i+=e._fit(i,u,_(s)+e._scrollOffset.top);n+=p}if(p>0&&l){l.removeClass();l.addClass("k-callout k-callout-"+(t._isHorizontal?"n":"w"))}e.tooltipDiv.css({top:i,left:n})},_fit:function(e,t,i){var n=0;if(e+t>i)n=i-(e+t);if(e<0)n=-e;return n},_flip:function(e,t,i,n){var r=0;if(e+t>n)r+=-(i+t);if(e+r<0)r+=i+t;return r},constrainValue:function(e,t,i,n){var r=this,a=0;if(td.selectionEnd){o=u.selectionStart;s=r;l=d._lastHandleDrag}else if(r-u.selectionStart<=u.selectionEnd-r){o=r;s=u.selectionEnd;l=d._firstHandleDrag}else{o=u.selectionStart;s=r;l=d._lastHandleDrag}l.dragstart(e);d._setValueInRange(o,s);d._focusWithMouse(l.element)};d.wrapper.find(D+", "+S).on(f,t).end().on(f,function(){m(document.documentElement).one("selectstart",g.preventDefault)}).on(k,function(){if(d._activeDragHandle)d._activeDragHandle._end()});d.wrapper.find(T).attr(q,0).on(b,function(){d._setTooltipTimeout()}).on(y,function(e){d._focusWithMouse(e.target);e.preventDefault()}).on(x,o(d._focus,d)).on(C,o(d._blur,d));d.wrapper.find(T).off(w,g.preventDefault).eq(0).on(w,o(function(e){this._keydown(e,"firstHandle")},d)).end().eq(1).on(w,o(function(e){this._keydown(e,"lastHandle")},d));d.options.enabled=true},disable:function(){var e=this;e.wrapper.addClass(z);e.wrapper.find("input").prop(E,E);e.wrapper.find(D+", "+S).off(f).off(k);e.wrapper.find(T).attr(q,-1).off(b).off(w).off(y).off(x).off(C);e.options.enabled=false},_keydown:function(e,t){var i=this,n=i.options.selectionStart,r=i.options.selectionEnd,a,o,s;if(e.keyCode in i._keyMap){i._clearTooltipTimeout();if(t=="firstHandle"){s=i._activeHandleDrag=i._firstHandleDrag;n=i._keyMap[e.keyCode](n);if(n>r)r=n}else{s=i._activeHandleDrag=i._lastHandleDrag;r=i._keyMap[e.keyCode](r);if(n>r)n=r}i._setValueInRange(P(n),P(r));a=Math.max(n,i.options.selectionStart);o=Math.min(r,i.options.selectionEnd);s.selectionEnd=Math.max(o,i.options.selectionStart);s.selectionStart=Math.min(a,i.options.selectionEnd);s._updateTooltip(i.value()[i._activeHandle]);e.preventDefault()}},_update:function(e,t){var i=this,n=i.value();var r=n[0]!=e||n[1]!=t;i.value([e,t]);if(r)i.trigger(a,{values:[e,t],value:[e,t]})},value:function(e){if(e&&e.length)return this._value(e[0],e[1]);else return this._value()},_value:function(e,t){var i=this,n=i.options,r=n.selectionStart,a=n.selectionEnd;if(isNaN(e)&&isNaN(t))return[r,a];else{e=P(e);t=P(t)}if(e>=n.min&&e<=n.max&&t>=n.min&&t<=n.max&&e<=t)if(r!=e||a!=t){i.element.find("input").eq(0).prop("value",N(e)).end().eq(1).prop("value",N(t));n.selectionStart=e;n.selectionEnd=t;i._refresh();i._refreshAriaAttr(e,t)}},values:function(e,t){if(V(e))return this._value(e[0],e[1]);else return this._value(e,t)},_refresh:function(){var e=this,t=e.options;e.trigger(i,{values:[t.selectionStart,t.selectionEnd],value:[t.selectionStart,t.selectionEnd]});if(t.selectionStart==t.max&&t.selectionEnd==t.max)e._setZIndex("firstHandle")},_refreshAriaAttr:function(e,t){var i=this,n=i.wrapper.find(T),r=i._activeHandleDrag,a;a=i._getFormattedValue([e,t],r);n.eq(0).attr(Y,e);n.eq(1).attr(Y,t);n.attr($,a)},_setValueInRange:function(e,t){var i=this.options;e=p.max(p.min(e,i.max),i.min);t=p.max(p.min(t,i.max),i.min);if(e==i.max&&t==i.max)this._setZIndex("firstHandle");this._update(p.min(e,t),p.max(e,t))},_setZIndex:function(t){this.wrapper.find(T).each(function(e){m(this).css("z-index",t=="firstHandle"?1-e:e)})},_formResetHandler:function(){var n=this,r=n.options;setTimeout(function(){var e=n.element.find("input");var t=e[0].value;var i=e[1].value;n.values(t===""||isNaN(t)?r.min:t,i===""||isNaN(i)?r.max:i)})},destroy:function(){var e=this;A.fn.destroy.call(e);e.wrapper.off(s).find(D+", "+S).off(s).end().find(T).off(s);e._firstHandleDrag.draggable.destroy();e._lastHandleDrag.draggable.destroy()}}));return ie.Selection=function(l,d,u){function t(e){e=e||[];var t=e[0]-u.min,i=e[1]-u.min,n=p.ceil(P(t/u.smallStep)),r=p.ceil(P(i/u.smallStep)),a=d._pixelSteps[n],o=d._pixelSteps[r],s=d._isRtl?2:0;l.eq(0).css(d._position,a-s).end().eq(1).css(d._position,o-s);f(a,o)}function f(e,t){var i,n,r=d._trackDiv.find(".k-slider-selection");i=p.abs(e-t);r[d._sizeFn](i);if(d._isRtl){n=p.max(e,t);r.css("right",d._maxSelection-n-1)}else{n=p.min(e,t);r.css(d._position,n-1)}}t(d.value());d.bind([a,h,i],function(e){t(e.values)})},g.ui.plugin(ie),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.badge.min",["./kendo.core.min"],function(){var e={id:"badge",name:"Badge",category:"web",description:"The Badge decorates avatars, navigation menus, or other components in the application when visual notification is needed",depends:["core"]},t=window.kendo.jQuery,p=void 0,a=window.kendo,n=a.ui.Widget,i=a.ui,h="k-hidden",r="",o="#= icon #",s=n.extend({init:function(e,t){var i=this;n.fn.init.call(i,e,t);i._content();i._appearance();a.notify(i)},destroy:function(){var e=this;n.fn.destroy.call(e)},options:{name:"Badge",cutoutBorder:false,data:{},fill:"solid",icon:"",max:Infinity,position:"inline",align:"",sizes:{small:"sm",medium:"md",large:"lg"},size:"medium",shape:"rounded",template:null,text:"",themeColor:"secondary",visible:true,_classNames:[]},_content:function(){var e=this;var t=e.options.text;var i=e.options.template;var n=e.options.data;var r=e.options.icon;if(i!==null){e._text=t;e._template=a.template(i).bind(e);e.element.html(e._template(n));return}if(r!==""){e.icon(r);return}if(t!==""){e.text(t);return}e.text(e.element.html())},_appearance:function(){var e=this;e._themeColor=e.options.themeColor;e._shape=e.options.shape;e._sizes=e.options.sizes;e._size=e.options.size;e._fill=e.options.fill;e._cutoutBorder=e.options.cutoutBorder;e._align=e.options.align;e._position=e.options.position;e._visible=e.options.visible;e._updateClassNames()},_updateClassNames:function(){var i=this;var e=["k-badge"];var n=i.options._classNames;var t=i._themeColor;var r=i._shape;var a=i._sizes;var o=i._size;var s=a[o]===p?o:a[o];var l=i._fill;var d=i._cutoutBorder;var u=i._align;var f=i._position;var c=i._visible;i.element.removeClass(function(e,t){if(t.indexOf("k-")===0&&n.indexOf(t)===-1)i.element.removeClass(t)});if(typeof l==="string"&&l!=="")e.push("k-badge-"+l);if(typeof t==="string"&&t!=="")e.push("k-badge-"+t);if(typeof o==="string"&&o!=="")e.push("k-badge-"+s);if(typeof r==="string"&&r!=="")e.push("k-badge-"+r);if(typeof d==="boolean"&&d===true)e.push("k-badge-border-cutout");if(typeof f==="string"&&f!=="")e.push("k-badge-"+f);if(typeof f==="string"&&f!==""&&f!=="inline"&&typeof u==="string"&&u.split(" ").length==2)e.push("k-"+u.replace(" ","-"));if(c===false)e.push(h);i.element.addClass(e.join(" "))},setOptions:function(e){var i=this;i.element.removeClass(function(e,t){if(t.indexOf("k-")>=0)i.element.removeClass(t)});n.fn.setOptions.call(i,e);i._content();i._appearance()},text:function(e){var t=this;var i=t.options.max;if(arguments.length===0||e===p)return t._text;t._text=e;if(e===true||e===false||e===null){t.element.html("");return}if(typeof e==="string"){t.element.html(e);return}if(typeof e==="number"){if(e>i)t.element.html(i+"+");else t.element.html(e);return}if(typeof e==="object"&&"toString"in e){t.element.html(e.toString());return}},icon:function(e){var t=this;var i;if(arguments.length===0||e===p)return t._icon;t._icon=e;if(e.indexOf("").appendTo(e.element);e.badge=new l.Badge(i,t)}}));if(b.fn.hasOwnProperty("defaults")===false)Object.defineProperty(b.fn,"defaults",{get:function(){return a.defaults.button}});return a.cssProperties.registerPrefix("Button","k-button-"),a.cssProperties.registerValues("Button",[{prop:"fillMode",values:a.cssProperties.fillModeValues.concat(["link"])},{prop:"rounded",values:a.cssProperties.roundedValues.concat([["full","full"]])}]),a.ui.plugin(b),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.binder.min",["./kendo.core.min","./kendo.data.min"],function(){var H={id:"binder",name:"MVVM",category:"framework",description:"Model View ViewModel (MVVM) is a design pattern which helps developers separate the Model (the data) from the View (the UI).",depends:["core","data"]},f=window.kendo.jQuery,g=void 0,p=window.kendo,n=p.Observable,c=p.data.ObservableObject,v=p.data.ObservableArray,h={}.toString,s={},e=p.Class,r=f.proxy,_="value",d="source",u="events",m="checked",b="css",a=true,o="function",k="change",t=document.createElement("a");try{delete t.test}catch(e){a=false}var w=n.extend({init:function(e,t){var i=this;n.fn.init.call(i);i.source=e[0];i.parents=e;i.path=t;i.dependencies={};i.dependencies[t]=true;i.observable=i.source instanceof n;i._access=function(e){i.dependencies[e.field]=true};if(i.observable){i._change=function(e){i.change(e)};i.source.bind(k,i._change)}},_parents:function(){var e=this.parents;var t=this.get();if(t&&typeof t.parent=="function"){var i=t.parent();if(f.inArray(i,e)<0)e=[i].concat(e)}return e},change:function(e){var t,i,n=e.field,r=this;if(r.path==="this")r.trigger(k,e);else for(t in r.dependencies)if(t.indexOf(n)===0){i=t.charAt(n.length);if(!i||i==="."||i==="["){r.trigger(k,e);break}}},start:function(e){e.bind("get",this._access)},stop:function(e){e.unbind("get",this._access)},get:function(){var e=this,t=e.source,i=0,n=e.path,r=t;if(!e.observable)return r;e.start(e.source);r=t.get(n);while(r===g&&t){t=e.parents[++i];if(t instanceof c)r=t.get(n)}if(r===g){t=e.source;while(r===g&&t){t=t.parent();if(t instanceof c)r=t.get(n)}}if(typeof r==="function"){i=n.lastIndexOf(".");if(i>0)t=t.get(n.substring(0,i));e.start(t);if(t!==e.source)r=r.call(t,e.source);else r=r.call(t);e.stop(t)}if(t&&t!==e.source){e.currentSource=t;t.unbind(k,e._change).bind(k,e._change)}e.stop(e.source);return r},set:function(e){var t=this.currentSource||this.source;var i=p.getter(this.path)(t);if(typeof i==="function")if(t!==this.source)i.call(t,this.source,e);else i.call(t,e);else t.set(this.path,e)},destroy:function(){if(this.observable){this.source.unbind(k,this._change);if(this.currentSource)this.currentSource.unbind(k,this._change)}this.unbind()}}),y=w.extend({get:function(){var e=this.source,t=this.path,i=0,n;n=e.get(t);while(!n&&e){e=this.parents[++i];if(e instanceof c)n=e.get(t)}return r(n,e)}}),x=w.extend({init:function(e,t,i){var n=this;w.fn.init.call(n,e,t);n.template=i},render:function(e){var t;this.start(this.source);t=p.render(this.template,e);this.stop(this.source);return t}}),l=e.extend({init:function(e,t,i){this.element=e;this.bindings=t;this.options=i},bind:function(e,t){var i=this;e=t?e[t]:e;e.bind(k,function(e){i.refresh(t||e)});i.refresh(t)},destroy:function(){}}),C=l.extend({dataType:function(){var e=this.element.getAttribute("data-"+p.ns+"type")||this.element.type||"text";return e.toLowerCase()},parsedValue:function(){return this._parseValue(this.element.value,this.dataType())},_parseValue:function(e,t){if(t=="date")e=p.parseDate(e,"yyyy-MM-dd");else if(t=="datetime-local")e=p.parseDate(e,["yyyy-MM-ddTHH:mm:ss","yyyy-MM-ddTHH:mm"]);else if(t=="number")e=p.parseFloat(e);else if(t=="boolean"){e=e.toLowerCase();if(p.parseFloat(e)!==null)e=Boolean(p.parseFloat(e));else e=e.toLowerCase()==="true"}return e}});function i(d,u,s){return l.extend({init:function(e,t,i){var n=this;l.fn.init.call(n,e.element[0],t,i);n.widget=e;n._dataBinding=r(n.dataBinding,n);n._dataBound=r(n.dataBound,n);n._itemChange=r(n.itemChange,n)},itemChange:function(e){z(e.item[0],e.data,this._ns(e.ns),[e.data].concat(this.bindings[d]._parents()))},dataBinding:function(e){var t,i,n=this.widget,r=e.removedItems||n.items();for(t=0,i=r.length;t#:{1}#',e.valueField||e.textField,e.textField||e.valueField);else t="";else if(i=="tbody")t="#:data#";else if(i=="ul"||i=="ol")t="
    • #:data#
    • ";else t="#:data#";t=p.template(t)}return t},add:function(e,t){var i=this.container(),n,r,a,o,s=i.cloneNode(false),l=i.children[e];f(s).html(p.render(this.template(),t));if(s.children.length){n=this.bindings.source._parents();for(r=0,a=t.length;r-1)i.splice(n,1);else i.push(t)}else this.bindings[m].set(t)}},refresh:function(){var e=this.bindings[m].get(),t=e,i=this.dataType(),n=this.element;if(n.type=="checkbox")if(t instanceof v){var r=-1;e=this.parsedValue();if(e instanceof Date){for(var a=0;a=0}else n.checked=t;else if(n.type=="radio"){if(i=="date")e=p.toString(e,"yyyy-MM-dd");else if(i=="datetime-local")e=p.toString(e,"yyyy-MM-ddTHH:mm:ss");if(e!==null&&typeof e!=="undefined"&&n.value===e.toString())n.checked=true;else n.checked=false}},value:function(){var e=this.element,t=e.value;if(e.type=="checkbox")t=e.checked;return t},destroy:function(){f(this.element).off(k,this._change)}})},s.select={source:s.source.extend({refresh:function(e){var t=this,i=t.bindings.source.get();if(i instanceof v||i instanceof p.data.DataSource){e=e||{};if(e.action=="add")t.add(e.index,e.items);else if(e.action=="remove")t.remove(e.index,e.items);else if(e.action=="itemchange"||e.action===g){t.render();if(t.bindings.value)if(t.bindings.value){var n=P(t.bindings.value.get(),f(t.element).data("valueField"));if(n===null)t.element.selectedIndex=-1;else t.element.value=n}}}else t.render()}}),value:C.extend({init:function(e,t,i){C.fn.init.call(this,e,t,i);this._change=r(this.change,this);f(this.element).change(this._change)},parsedValue:function(){var e=this.dataType();var t=[];var i,n,r,a;for(r=0,a=this.element.options.length;r
      ").parent();e.floatingLabel=new s.ui.FloatingLabel(e._floatingLabelContainer,{widget:e})}if(s.isFunction(a))a=a.call(e);if(!a)a="";if(!n){n=i.name+"_"+s.guid();t.attr("id",n)}e._inputLabel=o("'").insertBefore(e.wrapper)}},_focusin:function(){var e=this;e.wrapper.addClass(i)},_focusout:function(){var e=this;e.wrapper.removeClass(i)},_change:function(e){var t=this;var i=t.element.val();t._value=i;t.trigger(a,{value:i,originalEvent:e})},_wrapper:function(){var e=this;var t=e.element;var i=t[0];var n;n=t.wrap("").parent();n[0].style.cssText=i.style.cssText;i.style.width="100%";e.wrapper=n.addClass(i.className).removeClass("input-validation-error")}});return s.cssProperties.registerPrefix("TextBox","k-input-"),s.cssProperties.registerValues("TextBox",[{prop:"rounded",values:s.cssProperties.roundedValues.concat([["full","full"]])}]),t.plugin(_),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.numerictextbox.min",["./kendo.core.min","./kendo.userevents.min","./kendo.floatinglabel.min","./kendo.html.button.min"],function(){var H={id:"numerictextbox",name:"NumericTextBox",category:"web",description:"The NumericTextBox widget can format and display numeric, percentage or currency textbox.",depends:["core","userevents","floatinglabel","html.button"]},u=window.kendo.jQuery,f=void 0,c=window.kendo,p=c.caret,n=c.keys,r=c.html,e=c.ui,h=e.Widget,o=c._activeElement,m=c._extractFormat,i=c.parseFloat,a=c.support.placeholder,t=c.getCulture,s="change",l="disabled",d="readonly",g="k-input-inner",v="spin",_=".kendoNumericTextBox",b="touchend",M,k="mouseenter"+_+" "+("mouseleave"+_),w="k-focus",y="k-hover",x="focus",C=".",T="symbol",S="k-icon",O="k-label k-input-label",D="k-selected",F="k-disabled",I="k-invalid",z="aria-disabled",L=/^(-)?(\d*)$/,E=null,A=u.proxy,R=u.isPlainObject,N=u.extend,B=h.extend({init:function(e,t){var i=this,n=t&&t.step!==f,r,a,o,s,l;var d;h.fn.init.call(i,e,t);t=i.options;e=i.element.on("focusout"+_,A(i._focusout,i)).attr("role","spinbutton");t.placeholder=t.placeholder||e.attr("placeholder");r=i.min(e.attr("min"));a=i.max(e.attr("max"));o=i._parse(e.attr("step"));if(t.min===E&&r!==E)t.min=r;if(t.max===E&&a!==E)t.max=a;if(!n&&o!==E)t.step=o;i._initialOptions=N({},t);d=e.attr("type");i._reset();i._wrapper();i._arrows();i._validation();i._input();if(!c.support.mobileOS)i._text.on(x+_,A(i._click,i));else i._text.on(b+_+" "+x+_,function(){if(c.support.browser.edge)i._text.one(x+_,function(){i._focusin()});else i._focusin();i.selectValue()});e.attr("aria-valuemin",t.min!==E?t.min*t.factor:t.min).attr("aria-valuemax",t.max!==E?t.max*t.factor:t.max);t.format=m(t.format);s=t.value;if(s==E)if(d=="number")s=parseFloat(e.val());else s=e.val();i.value(s);l=!t.enable||e.is("[disabled]")||u(i.element).parents("fieldset").is(":disabled");if(l)i.enable(false);else i.readonly(e.is("[readonly]"));i.angular("compile",function(){return{elements:i._text.get()}});i._label();i._ariaLabel();i._applyCssClasses();c.notify(i)},options:{name:"NumericTextBox",decimals:E,enable:true,restrictDecimals:false,min:E,max:E,value:E,step:1,round:true,culture:"",format:"n",spinners:true,placeholder:"",selectOnFocus:false,factor:1,upArrowText:"Increase value",downArrowText:"Decrease value",label:null,size:"medium",fillMode:"solid",rounded:"medium"},events:[s,v],_editable:function(e){var t=this,i=t.element,n=e.disable,r=e.readonly,a=t._text.add(i),o=t.wrapper.off(k);t._toggleText(true);t._upArrowEventHandler.unbind("press");t._downArrowEventHandler.unbind("press");i.off("keydown"+_).off("keyup"+_).off("input"+_).off("paste"+_);if(t._inputLabel)t._inputLabel.off(_);if(!r&&!n){o.removeClass(F).on(k,t._toggleHover);a.prop(l,false).prop(d,false).attr(z,false);t._upArrowEventHandler.bind("press",function(e){e.preventDefault();t._spin(1);t._upArrow.addClass(D)});t._downArrowEventHandler.bind("press",function(e){e.preventDefault();t._spin(-1);t._downArrow.addClass(D)});t.element.on("keydown"+_,A(t._keydown,t)).on("keyup"+_,A(t._keyup,t)).on("paste"+_,A(t._paste,t)).on("input"+_,A(t._inputHandler,t));if(t._inputLabel)t._inputLabel.on("click"+_,A(t.focus,t))}else{o.addClass(n?F:"").removeClass(n?"":F);a.attr(l,n).attr(d,r).attr(z,n)}},readonly:function(e){var t=this;this._editable({readonly:e===f?true:e,disable:false});if(t.floatingLabel)t.floatingLabel.readonly(e===f?true:e)},enable:function(e){var t=this;this._editable({readonly:false,disable:!(e=e===f?true:e)});if(t.floatingLabel)t.floatingLabel.enable(e=e===f?true:e)},setOptions:function(e){var t=this;h.fn.setOptions.call(t,e);t._arrowsWrap.toggle(t.options.spinners);t.wrapper.toggleClass("k-expand-padding",!t.options.spinners);t._text.prop("placeholder",t.options.placeholder);t._placeholder(t.options.placeholder);t.element.attr({"aria-valuemin":t.options.min!==E?t.options.min*t.options.factor:t.options.min,"aria-valuemax":t.options.max!==E?t.options.max*t.options.factor:t.options.max});t.options.format=m(t.options.format);t._applyCssClasses();if(e.value!==f)t.value(e.value)},destroy:function(){var e=this;if(e._inputLabel){e._inputLabel.off(_);if(e.floatingLabel)e.floatingLabel.destroy()}e.element.add(e._text).add(e._upArrow).add(e._downArrow).off(_);e._upArrowEventHandler.destroy();e._downArrowEventHandler.destroy();if(e._form)e._form.off("reset",e._resetHandler);h.fn.destroy.call(e)},min:function(e){return this._option("min",e)},max:function(e){return this._option("max",e)},step:function(e){return this._option("step",e)},value:function(e){var t=this,i;if(e===f)return t._value;e=t._parse(e);i=t._adjust(e);if(e!==i)return;t._update(e);t._old=t._value},focus:function(){this._focusin()},_adjust:function(e){var t=this,i=t.options,n=i.min,r=i.max;if(e===E)return e;if(n!==E&&er)e=r;return e},_arrows:function(){var e=this,t,i=function(){clearTimeout(e._spinning);t.removeClass(D)},n=e.options,r=n.spinners,a=e.element;t=a.siblings("."+S);if(!t[0]){t=u(P("increase",n.upArrowText)+P("decrease",n.downArrowText)).insertAfter(a);e._arrowsWrap=t.wrapAll('').parent()}if(!r){t.parent().toggle(r);e.wrapper.addClass("k-expand-padding")}e._upArrow=t.eq(0);e._upArrowEventHandler=new c.UserEvents(e._upArrow,{release:i});e._downArrow=t.eq(1);e._downArrowEventHandler=new c.UserEvents(e._downArrow,{release:i})},_validation:function(){var e=this;var t=e.element;e._validationIcon=u("").insertAfter(t)},_blur:function(){var e=this;e._toggleText(true);e._change(e.element.val())},_click:function(d){var u=this;clearTimeout(u._focusing);u._focusing=setTimeout(function(){var e=d.target,t=p(e)[0],i=e.value.substring(0,t),n=u._format(u.options.format),r=n[","],a,o,s,l=0;if(r){o=new RegExp("\\"+r,"g");s=new RegExp("(-)?("+n[T]+")?([\\d\\"+r+"]+)(\\"+n[C]+")?(\\d+)?")}if(s)a=s.exec(i);if(a){l=a[0].replace(o,"").length;if(i.indexOf("(")!=-1&&u._value<0)l++}u._focusin();p(u.element[0],l);u.selectValue()})},selectValue:function(){if(this.options.selectOnFocus)this.element[0].select()},_getFactorValue:function(e){var t=this,i=t.options.factor;if(i&&i!==1){e=c.parseFloat(e);if(e!==null)e=e/i}return e},_change:function(e){var t=this;e=t._getFactorValue(e);t._update(e);e=t._value;if(t._old!=e){t._old=e;if(!t._typing)t.element.trigger(s);t.trigger(s)}t._typing=false},_culture:function(e){return e||t(this.options.culture)},_focusin:function(){var e=this;e.wrapper.addClass(w);e._toggleText(false);e.element[0].focus()},_focusout:function(){var e=this;clearTimeout(e._focusing);e.wrapper.removeClass(w).removeClass(y);e._blur();e._removeInvalidState()},_format:function(e,t){var i=this._culture(t).numberFormat;e=e.toLowerCase();if(e.indexOf("c")>-1)i=i.currency;else if(e.indexOf("p")>-1)i=i.percent;return i},_input:function(){var e=this,t=e.options,i=e.element.addClass(g).show()[0],n=i.accessKey,r=e.wrapper,a=r.find(C+g),o;o=a.first();if(o.length<2)o=u('').insertBefore(i);try{i.setAttribute("type","text")}catch(e){i.type="text"}o[0].title=i.title;o[0].tabIndex=i.tabIndex;o[0].style.cssText=i.style.cssText;o.prop("placeholder",t.placeholder);if(n){o.attr("accesskey",n);i.accessKey=""}e._text=o.addClass(i.className).attr({role:"spinbutton","aria-valuemin":t.min!==E?t.min*t.factor:t.min,"aria-valuemax":t.max!==E?t.max*t.factor:t.max,autocomplete:"off"})},_keydown:function(e){var t=this,i=e.keyCode;if(i===n.NUMPAD_DOT)t._numPadDot=true;if(i==n.DOWN){t._step(-1);return}else if(i==n.UP){t._step(1);return}else if(i==n.ENTER){t._change(t.element.val());return}if(i!=n.TAB)t._typing=true;t._cachedCaret=p(t.element)},_keyup:function(){this._removeInvalidState()},_inputHandler:function(){var e=this.element;var t=e.val();var i=this.options.min;var n=this._format(this.options.format);var r=n[C];var a=i!==null&&i>=0&&t.charAt(0)==="-";if(this._numPadDot&&r!==C){t=t.replace(C,r);this.element.val(t);this._numPadDot=false}if(this._isPasted)t=this._parse(t).toString().replace(C,n[C]);if(this._numericRegex(n).test(t)&&!a)this._oldText=t;else{this._blinkInvalidState();this.element.val(this._oldText);if(this._cachedCaret){p(e,this._cachedCaret[0]);this._cachedCaret=null}}this._isPasted=false},_blinkInvalidState:function(){var e=this;e._addInvalidState();clearTimeout(e._invalidStateTimeout);e._invalidStateTimeout=setTimeout(A(e._removeInvalidState,e),100)},_addInvalidState:function(){var e=this;e.wrapper.addClass(I);e._validationIcon.removeClass("k-hidden")},_removeInvalidState:function(){var e=this;e.wrapper.removeClass(I);e._validationIcon.addClass("k-hidden");e._invalidStateTimeout=null},_numericRegex:function(e){var t=this;var i=e[C];var n=t.options.decimals;var r="*";if(i===C)i="\\"+i;if(n===E)n=e.decimals;if(n===0&&t.options.restrictDecimals)return L;if(t.options.restrictDecimals)r="{0,"+n+"}";if(t._separator!==i){t._separator=i;t._floatRegExp=new RegExp("^(-)?(((\\d+("+i+"\\d"+r+")?)|("+i+"\\d"+r+")))?$")}return t._floatRegExp},_paste:function(e){var t=this;var i=e.target;var n=i.value;var r=t._format(t.options.format);t._isPasted=true;setTimeout(function(){var e=t._parse(i.value);if(e===E)t._update(n);else{i.value=e.toString().replace(C,r[C]);if(t._adjust(e)!==e||!t._numericRegex(r).test(i.value)){n=t._getFactorValue(i.value);t._update(n)}}})},_option:function(e,t){var i=this,n=i.element,r=i.options;if(t===f)return r[e];t=i._parse(t);if(!t&&e==="step")return;r[e]=t;n.add(i._text).attr("aria-value"+e,t);n.attr(e,t)},_ariaLabel:function(){var e=this;var t=e._text;var i=e.element;var n=i.attr("id");var r=u("label[for='"+n+"']");var a=i.attr("aria-label");var o=i.attr("aria-labelledby");var s;if(a)t.attr("aria-label",a);else if(o)t.attr("aria-labelledby",o);else if(r.length){s=r.attr("id");if(s)t.attr("aria-labelledby",s);else{s=c.guid();r.attr("id",s);t.attr("aria-labelledby",s)}}},_spin:function(e,t){var i=this;t=t||500;clearTimeout(i._spinning);i._spinning=setTimeout(function(){i._spin(e,50)},t);i._step(e)},_step:function(e){var t=this,i=t.element,n=t._value,r=t._parse(i.val())||0,a=t.options.decimals||2;if(o()!=i[0])t._focusin();if(t.options.factor&&r)r=r/t.options.factor;r=+(r+t.options.step*e).toFixed(a);r=t._adjust(r);t._update(r);t._typing=false;if(n!==r)t.trigger(v)},_toggleHover:function(e){u(e.currentTarget).toggleClass(y,e.type==="mouseenter")},_toggleText:function(e){var t=this;t._text.toggle(e);if(e)t._text.removeAttr("aria-hidden");else t._text.attr("aria-hidden","true");t.element.toggle(!e)},_parse:function(e,t){return i(e,this._culture(t),this.options.format)},_round:function(e,t){var i=this.options.round?c._round:V;return i(e,t)},_update:function(e){var t=this,i=t.options,n=i.factor,r=i.format,a=i.decimals,o=t._culture(),s=t._format(r,o),l,d;if(a===E)a=s.decimals;e=t._parse(e,o);d=e!==E;if(d)e=parseFloat(t._round(e,a),10);t._value=e=t._adjust(e);t._placeholder(c.toString(e,r,o));if(d){if(n)e=parseFloat(t._round(e*n,a),10);e=e.toString();if(e.indexOf("e")!==-1)e=t._round(+e,a);l=e;e=e.replace(C,s[C])}else{e=null;l=null}t.element.val(e);t._oldText=e;t.element.add(t._text).attr("aria-valuenow",l)},_placeholder:function(e){var t=this._text;t.val(e);if(!a&&!e)t.val(this.options.placeholder);t.attr("title",this.element.attr("title")||t.val())},_label:function(){var e=this;var t=e.element;var i=e.options;var n=t.attr("id");var r;var a;if(i.label!==null){r=R(i.label)?i.label.floating:false;a=R(i.label)?i.label.content:i.label;if(r){e._floatingLabelContainer=e.wrapper.wrap("").parent();e.floatingLabel=new c.ui.FloatingLabel(e._floatingLabelContainer,{widget:e})}if(c.isFunction(a))a=a.call(e);if(!a)a="";if(!n){n=i.name+"_"+c.guid();t.attr("id",n)}e._inputLabel=u("'").insertBefore(e.wrapper);if(e.element.attr("disabled")===f&&e.element.attr("readonly")===f)e._inputLabel.on("click"+_,A(e.focus,e))}},_wrapper:function(){var e=this,t=e.element,i=t[0],n;n=t.parents(".k-numerictextbox");if(!n.is("span.k-numerictextbox"))n=t.hide().wrap("").parent();n[0].style.cssText=i.style.cssText;i.style.width="";e.wrapper=n.addClass("k-numerictextbox k-input").addClass(i.className).removeClass("input-validation-error").css("display","")},_reset:function(){var e=this,t=e.element,i=t.attr("form"),n=i?u("#"+i):t.closest("form");if(n[0]){e._resetHandler=function(){setTimeout(function(){e.value(t[0].value);e.max(e._initialOptions.max);e.min(e._initialOptions.min)})};e._form=n.on("reset",e._resetHandler)}}});function P(e,t){var i=e==="increase"?"arrow-n":"arrow-s";var n=e==="increase"?"increase":"decrease";return r.renderButton('',N({},this.options,{icon:i,shape:null,rounded:null}))}function V(e,t){var i=parseFloat(e,10).toString().split(C);if(i[1])i[1]=i[1].substring(0,t);return i.join(C)}return c.cssProperties.registerPrefix("NumericTextBox","k-input-"),c.cssProperties.registerValues("NumericTextBox",[{prop:"rounded",values:c.cssProperties.roundedValues.concat([["full","full"]])}]),e.plugin(B),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("colorpicker/colorselector.min",["../kendo.core.min"],function(){var e=window.kendo.jQuery,t=void 0,i=window.kendo,n=i.ui,r=n.Widget,a=i.parseColor,o=e.extend,s=".kendoColorTools",l="k-disabled",d=r.extend({init:function(e,t){var i=this,n;r.fn.init.call(i,e,t);e=i.element;t=i.options;i._value=t.value=a(t.value);i._tabIndex=e.attr("tabIndex")||0;n=i._ariaId=t.ariaId;if(n)e.attr("aria-labelledby",n);if(t._standalone)i._triggerSelect=i._triggerChange},options:{name:"ColorSelector",value:null,_standalone:true},events:["change","select","forceSelect","cancel"],color:function(e){if(e!==t){this._value=a(e);this._updateUI(this._value)}return this._value},value:function(e){e=this.color(e);if(e)if(this.options.opacity)e=e.toCssRgba();else e=e.toCss();return e||null},enable:function(e){if(arguments.length===0)e=true;this.wrapper.toggleClass(l,!e);this._onEnable(e)},_select:function(e,t){var i=this._value;e=this.color(e);if(!t)if(e&&!e.equals(i)||e===null&&e!==i){this.element.trigger("change");this.trigger("change",{value:this.value()})}else if(!this._standalone)this.trigger("cancel")},_triggerSelect:function(e){u(this,"select",e)},_triggerChange:function(e){u(this,"change",e)},destroy:function(){if(this.element)this.element.off(s);if(this.wrapper)this.wrapper.off(s).find("*").off(s);this.wrapper=null;r.fn.destroy.call(this)},_updateUI:e.noop,_selectOnHide:function(){return null},_cancel:function(){this.trigger("cancel")}});function u(e,t,i){i=a(i);if(i&&!i.equals(e.color())||i!==e.color()){if(t=="change")e._value=i;if(i&&i.a!=1)i=i.toCssRgba();else if(i)i=i.toCss();e.trigger(t,{value:i})}}return o(n,{colorpicker:{ColorSelector:d}}),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("colorpicker/contrastToolUtils.min",["../kendo.core.min"],function(){var e=window.kendo.jQuery,t=void 0,i=kendo.ui.colorpicker,c=e.extend,a=kendo.Color,p=kendo.parseColor,n=4.5,r=7,h=16;function o(e,t){var i=Math.max(e,t);var n=Math.min(e,t);return(i+.05)/(n+.05)}function m(e,t){return o(s(l(e,t)),s(l(t,{r:0,g:0,b:0,a:1})))}function s(e){var t=[e.r,e.g,e.b].map(function(e){e/=255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return t[0]*.2126+t[1]*.7152+t[2]*.0722}function l(e,t){var i=d(e.r,0,255);var n=d(e.g,0,255);var r=d(e.b,0,255);var a=d(e.a,0,1);var o=d(t.r,0,255);var s=d(t.g,0,255);var l=d(t.b,0,255);return{r:Math.round((1-a)*o+a*i),g:Math.round((1-a)*s+a*n),b:Math.round((1-a)*l+a*r)}}function d(e,t,i){if(!u(e)||isNaN(e))return t;return e<=t?t:e>=i?i:e}function u(e){return e!==null&&e!==t}function f(l,d,u){var f=function(e,t,i,n,r){var a=(i+n)/2;var o=c({},d,{s:t/l.width,v:1-a/l.height});var s=m(p(k(o)).toBytes(),p(u).toBytes());if(i+.5>n)if(se-1)return a;else return null;if(r(s,e))return f(e,t,i,n-(n-i)/2,r);return f(e,t,i+(n-i)/2,n,r)};var o=function(e,t){return e>t};var s=function(e,t){return e'+i+""}function g(e,r){if(e.length===0)return"";var t=function(e,t,i,n){return i===0?kendo.format("M {0},{1}",t[0],t[1]):kendo.format("{0} {1}",e,r(t,i,n))};var i=e.reduce(t,"");return kendo.format('',i)}function v(a){return function(e,t,i){var n=a(i[t-1],i[t-2],e);var r=a(e,i[t-1],i[t+1],true);return kendo.format("C {0},{1} {2},{3} {4},{5}",n[0],n[1],r[0],r[1],e[0],e[1])}}function _(c){return function(e,t,i,n){var r=t||e;var a=i||e;var o=.1;var s=c(r,a);var l=s.angle+(n?Math.PI:0);var d=s.length*o;var u=e[0]+Math.cos(l)*d;var f=e[1]+Math.sin(l)*d;return[u,f]}}function b(e,t){var i=t[0]-e[0];var n=t[1]-e[1];return{length:Math.sqrt(Math.pow(i,2)+Math.pow(n,2)),angle:Math.atan2(n,i)}}function k(e){var t=d(e.h,0,359.9);var i=d(e.s,0,1);var n=d(e.v,0,1);var r=d(e.a,0,1);return a.fromHSV(t,i,n,r).toCssRgba()}return c(i,{contrastToolUtils:{getContrastFromTwoRGBAs:m,renderSvgCurveLine:f}}),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("colorpicker/colorgradient.min",["../kendo.core.min","./contrastToolUtils.min"],function(){var o=window.kendo.jQuery,e=void 0,l=window.kendo,t=l.ui,n=l.Observable,d=l.parseColor,r=o.extend,u=l.Color,a=l.keys,s="background-color",f="#ffffff",c="#000000",i,p="keydown"+".kendoColorTools",h=t.colorpicker.ColorSelector,m=t.colorpicker.contrastToolUtils;function g(e){e.preventDefault()}function v(e,t){return function(){return e.apply(t,arguments)}}var _=n.extend({init:function(e,t){var i=this;i.element=e;i.options=t;i._viewModel=l.observable({switchMode:i.switchMode.bind(i),keydown:i.keydown.bind(i),mode:function(e){return e===this.get("format")},format:t.format,formats:t.formats,rgb:null,hex:function(){return this.get("rgb")!==null&&this.get("rgb").toCss({alpha:t.opacity})}});i._changeHandler=i.change.bind(i);i._viewModel.bind("change",i._changeHandler);i._render();i.element.on(p,i.keydown.bind(i));n.fn.init.call(i)},_template:l.template("# if (options.formats && options.formats.length > 1) { #"+'
      '+'"+"
      "+"# } #"+'# if (options.formats && options.formats.indexOf("hex") >= 0) { #'+'
      '+''+''+"
      "+"# } #"+'# if (options.formats && options.formats.indexOf("rgb") >= 0) { #'+'
      '+''+''+"
      "+'
      '+''+''+"
      "+'
      '+''+''+"
      "+"#if(options.opacity){#"+'
      '+''+''+"
      "+"# } #"+"# } #"),destroy:function(){var e=this;e._viewModel.unbind("change",e._changeHandler);l.unbind(e.element);l.destroy(e.element);e.element.off(p);delete e._viewModel;delete e._changeHandler},_render:function(){var e=this;e.element.append(e._template({ns:l.ns,guid:l.guid(),options:e.options})).parent();l.bind(e.element,e._viewModel);e.element.attr("data-"+l.ns+"stop","stop")},value:function(e){var t=this;t._color=e&&e.toBytes()||d(c);t._preventChangeEvent=true;t._viewModel.set("rgb",t._color);delete t._preventChangeEvent},reset:function(){var e=this;e._preventChangeEvent=true;e._viewModel.set("rgb",d(c));delete e._preventChangeEvent},switchMode:function(){var e=this,t=e._viewModel,i=t.format,n=t.formats.indexOf(i)+1;n=n>=t.formats.length?0:n;e._preventChangeEvent=true;e._viewModel.set("format",t.formats[n]);delete e._preventChangeEvent},change:function(e){var t=this;if(e.field.indexOf("rgb")>=0){t._color=t._tryParseColor(t._viewModel.rgb.toCssRgba());t._viewModel.set("hex",t._color.toCss({alpha:t.options.opacity}))}else if(e.field==="hex"){t._color=t._tryParseColor(e.sender[e.field]);t._viewModel.set("rgb",t._color)}if(!t._preventChangeEvent)t.trigger("change",{value:t._color})},_tryParseColor:function(t){var i=this;try{t=d(t)||i._color}catch(e){t=i._color}return t},keydown:function(e){var t=this,i=o(e.target).data("kendoTextBox");if(e.keyCode===a.ENTER&&o(e.target).is("input")){if(i&&i._change)i._change();t.trigger("change",{value:t._color});t.trigger("select",{value:t._color})}}}),b=h.extend({init:function(e,t){var i=this,n;h.fn.init.call(i,e,t);t=i.options=l.deepExtend({},i.options,t);if(t.messages.previewInput)t.messages.hex=t.messages.previewInput;t.messages=t.messages?o.extend(i.options.messages,t.messages):i.options.messages;e=i.element;i.wrapper=e.addClass("k-colorgradient").append(i._template(t));i._hueElements=o(".k-hsv-rectangle, .k-alpha-slider .k-slider-track",e);i._colorgradientInputs=o(".k-colorgradient-inputs",e);i._contrastTool=o(".k-colorgradient-color-contrast",e);i._sliders();i._hsvArea();n=i._value;if(i._colorgradientInputs.length){i._colorInput=new _(i._colorgradientInputs,r({},t,{tabindex:this._tabIndex}));i._colorInput.bind("change",function(e){i._updateUI(e.value,true)});i._colorInput.bind("select",function(e){var t=d(e.value);i._select(t);i.trigger("forceSelect",{value:i.value()})})}i._updateUI(n)},options:{name:"ColorGradient",opacity:false,input:true,format:"hex",formats:["rgb","hex"],contrastTool:false,size:"medium",messages:{contrastRatio:"Contrast ratio:",fail:"Fail",pass:"Pass",hex:"HEX",toggleFormat:"Toggle format",red:"Red",green:"Green",blue:"Blue",alpha:"Alpha"}},_template:l.template('
      '+'
      '+'
      '+''+"# if (opacity) { #"+''+"# } #"+"
      "+"
      "+"# if (input) { #"+'
      '+"
      "+"# } #"+"# if (contrastTool) { #"+'
      '+"
      "+"# } #"),_onEnable:function(e){this._hueSlider.enable(e);if(this._opacitySlider)this._opacitySlider.enable(e);this.wrapper.find("input").attr("disabled",!e);var t=this._hsvRect.find(".k-draghandle");if(e)t.attr("tabIndex",this._tabIndex);else t.removeAttr("tabIndex")},_sliders:function(){var t=this,e=t.element,i=e.find(".k-hue-slider"),n=e.find(".k-alpha-slider");function r(e){t._updateUI(t._getHSV(e.value,null,null,null))}i.attr("aria-label","hue saturation");t._hueSlider=i.kendoSlider({min:0,max:360,tickPlacement:"none",showButtons:false,orientation:"vertical",slide:r,change:r}).data("kendoSlider");function a(e){t._updateUI(t._getHSV(null,null,null,e.value/100))}n.attr("aria-label","opacity");t._opacitySlider=n.kendoSlider({min:0,max:100,tickPlacement:"none",showButtons:false,orientation:"vertical",slide:a,change:a}).data("kendoSlider")},_hsvArea:function(){var s=this,e=s.element,t=e.find(".k-hsv-rectangle"),i=t.find(".k-draghandle").attr("tabIndex",0).on(p,v(s._keydown,s));function n(e,t){var i=this.offset,n=e-i.left,r=t-i.top,a=this.width,o=this.height;n=n<0?0:n>a?a:n;r=r<0?0:r>o?o:r;s._svChange(n/a,1-r/o)}s._hsvEvents=new l.UserEvents(t,{global:true,press:function(e){this.offset=l.getOffset(t);this.width=t.width();this.height=t.height();i.focus();n.call(this,e.x.location,e.y.location)},start:function(){t.addClass("k-dragging");i.focus()},move:function(e){e.preventDefault();n.call(this,e.x.location,e.y.location)},end:function(){t.removeClass("k-dragging")}});s._hsvRect=t;s._hsvHandle=i},setBackgroundColor:function(e){var t=this;if(t.options.contrastTool){t.options.contrastTool=o.isPlainObject(t.options.contrastTool)?r({},t.options.contrastTool,{backgroundColor:e}):{backgroundColor:e};t._updateColorContrast(t.color()||d(f))}},_updateUI:function(e,t){var i=this;if(!e){i._reset();return}if(!t&&i._colorInput)i._colorInput.value(e);i._triggerSelect(e);i._updateHsv(e);if(i._contrastTool.length)i._updateColorContrast(e)},_reset:function(){var e=this;if(e._colorInput)e._colorInput.reset();e._resetHsv();e._resetColorContrast()},_resetHsv:function(){var e=this,t=d(c);e._updateHsv(t)},_updateHsv:function(e){var t=this,i=t._hsvRect;e=e.toHSV();t._hsvHandle.css({left:e.s*i.width()+"px",top:(1-e.v)*i.height()+"px"});t._hueElements.css(s,u.fromHSV(e.h,1,1,1).toCss());t._hueSlider.value(e.h);if(t._opacitySlider){t._opacitySlider.wrapper.find(".k-slider-track").css("background","linear-gradient(to top, transparent, "+u.fromHSV(e.h,1,1,1).toCss());t._opacitySlider.value(100*e.a)}},_resetColorContrast:function(){var e=this,t=e.options.contrastTool;if(e._contrastTool.length)e._updateColorContrast(t.backgroundColor?d(t.backgroundColor):d(f))},_updateColorContrast:function(e){var t=this,i=t.options.contrastTool,n=i.backgroundColor?d(i.backgroundColor):d(f),r=m.getContrastFromTwoRGBAs(d(e.toCssRgba()),n),a=l.template('
      '+'#:messages.contrastRatio# #:kendo.toString(ratio, "n2")#'+''+"#if (ratio > 4.5) {#"+''+"#}#"+"#if (ratio > 7) {#"+''+"#}#"+"
      "),o=l.template("
      "+"#:level#: #:limit# "+"#if (ratio > limit) {#"+'#:messages.pass# '+"#} else {#"+'#:messages.fail# '+"#}#"+"
      "),s="";s+=a({messages:t.options.messages,ratio:r});s+=o({messages:t.options.messages,ratio:r,limit:4.5,level:"AA"});s+=o({messages:t.options.messages,ratio:r,limit:7,level:"AAA"});t._contrastTool.find(".k-contrast-ratio, div").remove();t._contrastTool.append(s);t._updateContrastSvg(n)},_updateContrastSvg:function(e){var t=this,i=t._hsvRect,n="k-color-contrast-svg",r={width:i.width(),height:i.height()},a;if(!r.width||!r.height)return;a=o(m.renderSvgCurveLine(r,t._getHSV(),e)).addClass(n);i.find("."+n).remove();i.append(a)},_keydown:function(n){var r=this;function e(e,t){var i=r._getHSV();i[e]+=t*(n.shiftKey?.01:.05);if(i[e]<0)i[e]=0;if(i[e]>1)i[e]=1;r._updateUI(i);g(n)}function t(e){var t=r._getHSV();t.h+=e*(n.shiftKey?1:5);if(t.h<0)t.h=0;if(t.h>359)t.h=359;r._updateUI(t);g(n)}switch(n.keyCode){case a.LEFT:if(n.ctrlKey)t(-1);else e("s",-1);break;case a.RIGHT:if(n.ctrlKey)t(1);else e("s",1);break;case a.UP:e(n.ctrlKey&&r._opacitySlider?"a":"v",1);break;case a.DOWN:e(n.ctrlKey&&r._opacitySlider?"a":"v",-1);break;case a.ENTER:r._select(r._getHSV());break;case a.F2:r._colorInput.element.find("input").trigger("focus").select();break;case a.ESC:r._cancel();break}},focus:function(){this._hsvHandle.focus()},_getHSV:function(e,t,i,n){var r=this,a=r._hsvRect,o=a.width(),s=a.height(),l=this._hsvHandle.position();if(!o||!s)return r.color()?r.color().toHSV():d(c);if(e==null)e=r._hueSlider.value();if(t==null)t=l.left/o;if(i==null)i=1-l.top/s;if(n==null)n=r._opacitySlider?r._opacitySlider.value()/100:1;return u.fromHSV(e,t,i,n)},_svChange:function(e,t){var i=this._getHSV(null,e,t,null);this._updateUI(i)},destroy:function(){this._hsvEvents.destroy();this._hueSlider.destroy();if(this._opacitySlider)this._opacitySlider.destroy();if(this._colorInput)this._colorInput.destroy();this._hueSlider=this._opacitySlider=this._hsvRect=this._hsvHandle=this._hueElements=this._selectedColor=this._colorAsText=this._contrastTool=null;h.fn.destroy.call(this)}});return t.plugin(b),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("colorpicker/colorpalette.min",["../kendo.core.min"],function(){var s=window.kendo.jQuery,e=void 0,l=window.kendo,t=l.ui,d=l.parseColor,u=l.keys,f="background-color",c="k-state-selected",p="k-state-focus",h="000000,7f7f7f,880015,ed1c24,ff7f27,fff200,22b14c,00a2e8,3f48cc,a349a4,ffffff,c3c3c3,b97a57,ffaec9,ffc90e,efe4b0,b5e61d,99d9ea,7092be,c8bfe7",m="FFFFFF,FFCCFF,FF99FF,FF66FF,FF33FF,FF00FF,CCFFFF,CCCCFF,CC99FF,CC66FF,CC33FF,CC00FF,99FFFF,99CCFF,9999FF,9966FF,9933FF,9900FF,FFFFCC,FFCCCC,FF99CC,FF66CC,FF33CC,FF00CC,CCFFCC,CCCCCC,CC99CC,CC66CC,CC33CC,CC00CC,99FFCC,99CCCC,9999CC,9966CC,9933CC,9900CC,FFFF99,FFCC99,FF9999,FF6699,FF3399,FF0099,CCFF99,CCCC99,CC9999,CC6699,CC3399,CC0099,99FF99,99CC99,999999,996699,993399,990099,FFFF66,FFCC66,FF9966,FF6666,FF3366,FF0066,CCFF66,CCCC66,CC9966,CC6666,CC3366,CC0066,99FF66,99CC66,999966,996666,993366,990066,FFFF33,FFCC33,FF9933,FF6633,FF3333,FF0033,CCFF33,CCCC33,CC9933,CC6633,CC3333,CC0033,99FF33,99CC33,999933,996633,993333,990033,FFFF00,FFCC00,FF9900,FF6600,FF3300,FF0000,CCFF00,CCCC00,CC9900,CC6600,CC3300,CC0000,99FF00,99CC00,999900,996600,993300,990000,66FFFF,66CCFF,6699FF,6666FF,6633FF,6600FF,33FFFF,33CCFF,3399FF,3366FF,3333FF,3300FF,00FFFF,00CCFF,0099FF,0066FF,0033FF,0000FF,66FFCC,66CCCC,6699CC,6666CC,6633CC,6600CC,33FFCC,33CCCC,3399CC,3366CC,3333CC,3300CC,00FFCC,00CCCC,0099CC,0066CC,0033CC,0000CC,66FF99,66CC99,669999,666699,663399,660099,33FF99,33CC99,339999,336699,333399,330099,00FF99,00CC99,009999,006699,003399,000099,66FF66,66CC66,669966,666666,663366,660066,33FF66,33CC66,339966,336666,333366,330066,00FF66,00CC66,009966,006666,003366,000066,66FF33,66CC33,669933,666633,663333,660033,33FF33,33CC33,339933,336633,333333,330033,00FF33,00CC33,009933,006633,003333,000033,66FF00,66CC00,669900,666600,663300,660000,33FF00,33CC00,339900,336600,333300,330000,00FF00,00CC00,009900,006600,003300,000000",i=".kendoColorTools",g="click"+i,v="keydown"+i,_="blur"+i,b=t.colorpicker.ColorSelector;function k(e){e.preventDefault()}function w(e,t){return function(){return e.apply(t,arguments)}}function y(e,t,i){e=Array.prototype.slice.call(e);var n=e.length;var r=e.indexOf(t);if(r<0)return i<0?e[n-1]:e[0];r+=i;if(r<0)r+=n;else r%=n;return e[r]}var n=b.extend({init:function(e,t){var i=this;b.fn.init.call(i,e,t);e=i.wrapper=i.element;t=i.options;var n=t.palette||"basic";if(n=="websafe"){n=m;t.columns=18}else if(n=="basic")n=h;if(typeof n=="string")n=n.split(",");if(s.isArray(n))n=s.map(n,function(e){return d(e)});i._selectedID=(t.ariaId||l.guid())+"_selected";e.addClass("k-colorpalette").attr("role","grid").attr("aria-readonly","true").append(s(i._template({colors:n,columns:t.columns,tileSize:t.tileSize,value:i._value,id:t.ariaId}))).on(g,".k-colorpalette-tile",function(e){i._select(e.currentTarget)}).attr("tabIndex",i._tabIndex).on(v,w(i._keydown,i)).on(_,function(){i.wrapper.find(".k-colorpalette-tile").removeClass(p)});var r=t.tileSize,a,o;if(r){if(/number|string/.test(typeof r))a=o=parseFloat(r);else if(typeof r=="object"){a=parseFloat(r.width);o=parseFloat(r.height)}else throw new Error("Unsupported value for the 'tileSize' argument");e.find(".k-colorpalette-tile").css({width:a,height:o})}},focus:function(){if(this.wrapper&&!this.wrapper.is("[unselectable='on']"))this.wrapper.trigger("focus")},options:{name:"ColorPalette",columns:10,tileSize:null,palette:"basic"},_onEnable:function(e){if(e)this.wrapper.attr("tabIndex",this._tabIndex);else this.wrapper.removeAttr("tabIndex")},_keydown:function(e){var t,i=this.wrapper,n=i.find(".k-colorpalette-tile"),r=n.filter("."+p).get(0)||n.filter("."+c).get(0),a=e.keyCode;if(a==u.LEFT)t=y(n,r,-1);else if(a==u.RIGHT)t=y(n,r,1);else if(a==u.DOWN)t=y(n,r,this.options.columns);else if(a==u.UP)t=y(n,r,-this.options.columns);else if(a==u.ENTER){k(e);if(r){this._select(r);this.trigger("forceSelect",{value:this.value()});return}}else if(a==u.ESC)this._cancel();if(t){k(e);this._current(t);try{var o=d(t.css(f));this._triggerSelect(o)}catch(e){}}},_select:function(e){var t=this,i=t.wrapper.find(".k-colorpalette-tile");e=s(e);b.fn._select.call(t,e.css(f));i.removeClass(c);e.addClass(c)},_current:function(e){this.wrapper.find("."+p).removeClass(p).attr("aria-selected",false).removeAttr("id");s(e).addClass(p).attr("aria-selected",true).attr("id",this._selectedID);this.element.removeAttr("aria-activedescendant").attr("aria-activedescendant",this._selectedID)},_updateUI:function(t){var i=null,e=this.wrapper.find(".k-colorpalette-tile");this.wrapper.find(".k-colorpalette-tile").each(function(){var e=d(s(this).css(f));if(e&&e.equals(t)){i=this;return false}});this._current(i);e.removeClass(c);if(i)s(i).addClass(c)},_template:l.template('
      '+''+"# for (var i = 0; i < colors.length; ++i) { #"+"# var selected = colors[i].equals(value); #"+'# if (i && i % columns == 0) { # # } #'+''+"# } #"+"
      ")});return t.plugin(n),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("colorpicker/flatcolorpicker.min",["./colorgradient.min","./colorpalette.min","../kendo.html.button.min"],function(){var o=window.kendo.jQuery,e=void 0,r=window.kendo,t=r.ui,n=r.html,s=r.Color,a=o.extend,l="background-color",i,d=".kendoColorTools",u="click"+d,f="keydown"+d,c=t.colorpicker.ColorSelector,p=r.keys,h="k-no-color",m="k-selected",g=".k-color-preview-mask",v={gradient:t.ColorGradient,palette:t.ColorPalette};function _(e,t){return function(){return e.apply(t,arguments)}}var b=c.extend({init:function(i,e){var n=this;if(e&&e.autoupdate===false)e._standalone=false;c.fn.init.call(n,i,e);e=n.options=r.deepExtend({},n.options,e);i=n.element;n.wrapper=i.addClass("k-flatcolorpicker k-coloreditor").append(n._template());n._selectedColor=o(".k-coloreditor-preview-color",i);n._previousColor=o(".k-coloreditor-current-color",i);n._viewsContainer=o(".k-coloreditor-views",i);i.find(".k-button[data-view="+n.options.view+"]").addClass(m);var t=n.color();n._changeView(e.view);n._setViewSize();if(t){n._updateUI(t);n._previousColor.children(g).css(l,t.toDisplay());n._selectedColor.children(g).css(l,t.toDisplay())}else{n._selectedColor.addClass(h);n._previousColor.addClass(h)}i.on(f,_(n._keydown,n)).on(u,".k-coloreditor-reset",function(){n._clearColor=true;n._updateUI(null);n._view.value(null)}).on(u,".k-coloreditor-apply",function(){if(n._clearColor)n._select(null);else n._select(n._view.color())}).on(u,".k-coloreditor-cancel",function(){delete n._clearColor;n._updateUI(n.color());n._cancel()}).on(u,".k-button[data-view]",function(e){var t=o(e.target).closest("[data-view]");if(t.is("."+m))return;i.find(".k-button[data-view]").removeClass(m);t.addClass(m);n._changeView(t.data("view"))})},destroy:function(){var e=this;c.fn.destroy.call(this);if(e._view){e._view.destroy();e._viewsContainer.empty()}e.element.off(d);e._selectedColor=e._previousColor=e._viewsContainer=e._view=null},options:{name:"FlatColorPicker",opacity:false,buttons:false,input:true,preview:true,clearButton:false,format:"hex",formats:["rgb","hex"],view:"gradient",views:["gradient","palette"],palette:null,autoupdate:true,backgroundColor:null,columns:10,tileSize:24,messages:{apply:"Apply",cancel:"Cancel",noColor:"no color",clearColor:"Clear color",previewInput:null,contrastRatio:"Contrast ratio:",fail:"Fail",pass:"Pass",hex:"HEX",toggleFormat:"Toggle format",red:"Red",green:"Green",blue:"Blue",alpha:"Alpha",gradient:"Gradient view",palette:"Palette view"},size:"medium"},setBackgroundColor:function(e){var t=this;if(t._view&&t._view.setBackgroundColor)t._view.setBackgroundColor(e)},_select:function(e){var t=this;c.fn._select.call(t,e);t._updatePreviousColor(e)},_updatePreviousColor:function(e){var t=this;if(e){t._previousColor.removeClass(h);t._previousColor.children(g).css(l,e.toDisplay())}else{t._previousColor.addClass(h);t._previousColor.children(g).css(l,"")}},_changeView:function(e){var t=this,i=o.extend({},t.options),n=v[e],r,a;if(t._view&&t._view._colorInput)t.options.format=t._view._colorInput._viewModel.format;t.options.view=e;delete i.name;delete i.change;delete i.select;delete i.cancel;delete i._standalone;if(t._view){r=t._view.color();t._view.destroy();t._viewsContainer.empty()}if(r){r=r.toHSV();a=s.fromHSV(t._cachedHue||0,r.s,r.v,r.a);t._cachedHue=r.toHSV().h;r=r.equals(a)?a:r}if(n){t._view=new v[e](o("
      ").appendTo(t._viewsContainer),i);t._view.value(r);t._view.bind("change",function(e){delete t._clearColor;t._updateUI(e.sender.color(),true)});t._view.bind("forceSelect",function(e){delete t._clearColor;t._select(e.sender.color())})}},_onEnable:function(e){var t=this;if(t._view)t._view._onEnable(e)},focus:function(){var e=this;if(e._view)e._view.focus()},_updateUI:function(e,t){var i=this;if(e&&e.toDisplay){i._selectedColor.removeClass(h);i._selectedColor.children(g).css(l,e.toDisplay())}else{i._selectedColor.addClass(h);i._selectedColor.children(g).css(l,"")}i._triggerSelect(e);if(i.options.autoupdate)i._updatePreviousColor(e);if(!t)i._view.value(e)},_setViewSize:function(){var e=this,t=e.wrapper[0],i=parseInt(e.options.tileSize.width||e.options.tileSize,10),n=parseInt(e.options.tileSize.width||e.options.tileSize,10),r=e.options.columns;t.style.setProperty("--kendo-color-preview-columns",r);t.style.setProperty("--kendo-color-preview-width",i+"px");t.style.setProperty("--kendo-color-preview-height",n+"px")},_keydown:function(e){if(e.keyCode==p.ESC)this._cancel()},_template:function(){var e=this,t=e.options,i=a({},t,{fillMode:"flat",themeColor:"base",rounded:"medium"});return r.template('
      '+"# if (views && views.length > 1) { #"+'
      '+'
      '+n.renderButton('',a({icon:"color-canvas"},i))+n.renderButton('',a({icon:"palette"},i))+"
      "+"
      "+"# } #"+'
      '+'
      '+"# if (clearButton) { #"+n.renderButton('',a({icon:"reset-color"},i))+"# } #"+"# if (preview) { #"+'
      '+''+''+""+''+''+""+"
      "+"# } #"+"
      "+"
      "+'
      '+"# if (buttons) { #"+'"+"# } #")(t)}});return t.plugin(b),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.colorpicker.min",["./kendo.core.min","./kendo.color.min","./kendo.popup.min","./kendo.slider.min","./kendo.userevents.min","./kendo.button.min","./kendo.binder.min","./kendo.textbox.min","./kendo.numerictextbox.min","./kendo.html.button.min","./colorpicker/colorselector.min","./colorpicker/flatcolorpicker.min"],function(){var e={id:"colorpicker",name:"Color tools",category:"web",description:"Color selection widgets",depends:["core","color","popup","slider","userevents","button","binder","textbox","numerictextbox","html.button"]},d=window.kendo.jQuery,t=void 0,u=window.kendo,i=u.ui,f=i.Widget,s=u.Color,c=u.parseColor,n=u.keys,r="background-color",a={apply:"Apply",cancel:"Cancel",noColor:"no color",clearColor:"Clear color",previewInput:null,contrastRatio:"Contrast ratio:",fail:"Fail",pass:"Pass",hex:"HEX",toggleFormat:"Toggle format",red:"Red",green:"Green",blue:"Blue",alpha:"Alpha",gradient:"Gradient view",palette:"Palette view"},o=".kendoColorTools",l="click"+o,p="keydown"+o,h=i.colorpicker.ColorSelector,m=i.FlatColorPicker,g=f.extend({init:function(e,t){var i=this;if(t&&t.palette&&!t.view)t.view="palette";f.fn.init.call(i,e,t);t=i.options=u.deepExtend({},i.options,t);e=i.element;var n=e.attr("value")||e.val();if(n)n=c(n,true);else n=c(t.value,true);i._value=t.value=n;var r=u.html.renderButton('',d.extend({},i.options,{icon:"arrow-s"}));var a=i._inputWrapper=i.wrapper=d(i._template(d.extend({},i.options,{_buttonHtml:r})));i._applyCssClasses();e.hide().after(a);if(e.is("input")){e.appendTo(a);var o=e.closest("label");var s=e.attr("id");if(s)o=o.add('label[for="'+s+'"]');o.on("click",function(e){i.open();e.preventDefault()})}i._tabIndex=e.attr("tabIndex")||0;i.enable(!e.attr("disabled"));var l=e.attr("accesskey");if(l){e.attr("accesskey",null);a.attr("accesskey",l)}i.bind("activate",function(e){if(!e.isDefaultPrevented())i.toggle()});i._updateUI(n)},destroy:function(){this.wrapper.off(o).find("*").off(o);if(this._popup){this._selector.destroy();this._popup.destroy()}this._selector=this._popup=this.wrapper=null;f.fn.destroy.call(this)},enable:function(e){var t=this,i=t.wrapper,n=i.find(".k-input-button");if(arguments.length===0)e=true;t.element.attr("disabled",!e);i.attr("aria-disabled",!e);n.off(o).on("mousedown"+o,v);i.addClass("k-disabled").removeAttr("tabIndex").add("*",i).off(o);if(e)i.removeClass("k-disabled").attr("tabIndex",t._tabIndex).on("mouseenter"+o,function(){i.addClass("k-hover")}).on("mouseleave"+o,function(){i.removeClass("k-hover")}).on("focus"+o,function(){i.addClass("k-focus")}).on("blur"+o,function(){i.removeClass("k-focus")}).on(p,_(t._keydown,t)).on(l,".k-input-button",_(t.toggle,t)).on(l,".k-input-inner",function(){t.trigger("activate")});else t.close()},_template:u.template(''+''+''+"# if (toolIcon) { #"+''+"# } #"+''+""+""+"#= _buttonHtml #"+""),options:{name:"ColorPicker",closeOnSelect:false,contrastTool:false,palette:null,columns:10,toolIcon:null,value:null,messages:a,opacity:false,buttons:true,preview:true,clearButton:false,input:true,format:"hex",formats:["rgb","hex"],view:"gradient",views:["gradient","palette"],backgroundColor:null,ARIATemplate:'Current selected color is #=data || ""#',size:"medium",rounded:"medium",fillMode:"solid"},events:["activate","change","select","open","close"],open:function(){if(!this.element.prop("disabled"))this._getPopup().open()},close:function(){var e=this._selector&&this._selector.options||{};e._closing=true;this._getPopup().close();delete e._closing},toggle:function(){if(!this.element.prop("disabled"))this._getPopup().toggle()},setBackgroundColor:function(e){var t=this,i=function(){t._selector.setBackgroundColor(e)};t.options.contrastTool.backgroundColor=e;if(t._selector&&(t._popup&&t._popup.visible()))t._selector.setBackgroundColor(e);else if(t._popup){t._popup.unbind("activate",i);t._popup.bind("activate",i)}},_noColorIcon:function(){return this.wrapper.find(".k-color-preview")},color:h.fn.color,value:h.fn.value,_select:h.fn._select,_triggerSelect:h.fn._triggerSelect,_isInputTypeColor:function(){var e=this.element[0];return/^input$/i.test(e.tagName)&&/^color$/i.test(e.type)},_updateUI:function(e,t){var i="";if(e){if(this._isInputTypeColor()||e.a==1)i=e.toCss();else i=e.toCssRgba();this.element.val(i)}if(!this._ariaTemplate)this._ariaTemplate=u.template(this.options.ARIATemplate);this.wrapper.attr("aria-label",this._ariaTemplate(i));this._triggerSelect(e);this.wrapper.find(".k-color-preview-mask").css(r,e?e.toDisplay():"");this._noColorIcon().toggleClass("k-no-color",!i);if(this._selector&&!t)this._selector.value(e)},_keydown:function(e){var t=e.keyCode;if(this._getPopup().visible()){if(t==n.ESC)this._selector._cancel();else this._selector._keydown(e);v(e)}else if(t==n.ENTER||t==n.DOWN){this.open();v(e)}},_getPopup:function(){var n=this,e=n._popup;if(!e){var t=n.options;var i;i=m;t.autoupdate=t.buttons!==true;delete t.select;delete t.change;delete t.cancel;var r=u.guid();var a=d('
      ').appendTo(document.body);var o=n._selector=new i(d("
      ").appendTo(a),t);n.wrapper.attr("aria-owns",r);n._popup=e=a.kendoPopup({anchor:n.wrapper,adjustSize:{width:5,height:0}}).data("kendoPopup");o.bind({select:function(e){n._updateUI(c(e.value),true)},change:function(e){if(n.options.buttons)n._select(o.color());else n._updateUI(c(e.value),true);if(n.options.buttons||n._selector.options.view==="palette"&&n.options.closeOnSelect)n.close()},cancel:function(){n.close()}});e.bind({close:function(e){if(n.trigger("close")){e.preventDefault();return}n.wrapper.removeClass("k-focus");var t=o.color();if(!n.options.buttons)n._select(t);else n._select(n.color());t=n.color();if(t&&t.h)n._cachedHue=t.h;var i=event&&event instanceof MouseEvent&&d(event.target).parents(".k-colorpicker-popup").length===0;if(!i)setTimeout(function(){if(n.wrapper&&!n.wrapper.is("[unselectable='on']"))n.wrapper.trigger("focus")},0)},open:function(e){if(n.trigger("open"))e.preventDefault();else n.wrapper.addClass("k-focus")},activate:function(){var e,t=n.color();if(t){t=t.toHSV();e=s.fromHSV(n._cachedHue||0,t.s,t.v,t.a);t=t.equals(e)?e:t}o.value(t);o.focus();n.wrapper.addClass("k-focus")}})}return e}});function v(e){e.preventDefault()}function _(e,t){return function(){return e.apply(t,arguments)}}return i.plugin(g),u.cssProperties.registerPrefix("ColorPicker","k-picker-"),u.cssProperties.registerValues("ColorPicker",[{prop:"rounded",values:u.cssProperties.roundedValues.concat([["full","full"]])}]),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.toggleinputbase.min",["./kendo.core.min"],function(){var e={id:"toggleinputbase",name:"ToggleInputBase",category:"web",description:"The ToggleInputBase component.",depends:["core"]},n=window.kendo.jQuery,r=void 0,a=window.kendo,t=a.ui,o=t.Widget,i="change",s="disabled",l="checked",d=o.extend({init:function(e,t){var i=this;o.fn.init.call(i,e,t);i._wrapper();i._initSettings();i._attachEvents();a.notify(i,a.ui)},events:[i],options:{name:"ToggleInputBase"},NS:".kendoToggleInputBase",RENDER_INPUT:n.noop,check:function(e){var t=this,i=t.element[0];if(e===r)return i.checked;if(i.checked!==e)t.options.checked=i.checked=e;if(e)t.element.attr(l,l);else t.element.prop(l,false)},destroy:function(){o.fn.destroy.call(this);this.wrapper.off(this.NS)},enable:function(e){var t=this.element;if(typeof e=="undefined")e=true;this.options.enabled=e;if(e)t.prop(s,false);else t.attr(s,s)},toggle:function(){var e=this;e.check(!e.element[0].checked)},_attachEvents:function(){this.element.on(i+this.NS,this._change.bind(this))},_change:function(){var e=this.element[0].checked;this.trigger(i,{checked:e})},_initSettings:function(){var e=this,t=e.element[0],i=e.options;if(i.checked===null)i.checked=t.checked;e.check(i.checked);i.enabled=i.enabled&&!e.element.attr(s);e.enable(i.enabled)},_wrapper:function(){var e=this,t=e.options,i=e.RENDER_INPUT;i(e.element,n.extend({},t));e.element.removeClass("input-validation-error");e.wrapper=e.element}});return t.plugin(d),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.html.input.min",["./kendo.html.base.min"],function(){var e={id:"html.input",name:"Html.Input",category:"web",description:"HTML rendering utility for Kendo UI for jQuery.",depends:["html.base"],features:[]},r=window.kendo.jQuery,i=void 0,a=window.kendo,n=a.html.HTMLBase,t=function(e,t){if(arguments[0]===i||r.isPlainObject(arguments[0])){t=e;e=r("")}return new l(e,t).html()},o=function(e,t){if(arguments[0]===i||r.isPlainObject(arguments[0])){t=e;e=r("")}return new d(e,t).html()},s=n.extend({init:function(e,t){var i=this;n.fn.init.call(i,e,t);i._wrapper();i._addClasses()},options:{label:null,labelPosition:"after",encoded:true},_wrapper:function(){var e=this,t=e.element[0],i=e.options,n=t.id;e.wrapper=e.element.addClass(i.inputClass).prop("type",i.type);if(!n&&!!i.label)t.id=n=a.guid();if(!!i.label){e.labelEl=r("
    ",B=a.extend({init:function(e,t){var i=this,n=w(e),r="["+x.attr("validate")+"!=false]";t=t||{};t.rules=y.extend({},x.ui.validator.rules,n.rules,t.rules);t.messages=y.extend({},x.ui.validator.messages,n.messages,t.messages);a.fn.init.call(i,e,t);i._errorTemplate=x.template(i.options.errorTemplate);i._summaryTemplate=x.template(i.options.validationSummary.template||L);if(i.element.is(p))i.element.attr(h,h);i._inputSelector=u+r;i._checkboxSelector=f+r;i._errors={};i._attachEvents();i._isValidated=false;if(i._validateOnInit())i.validate()},events:[m,g,A],options:{name:"Validator",errorTemplate:'#= message #',messages:{required:"{0} is required",pattern:"{0} is not valid",min:"{0} should be greater than or equal to {1}",max:"{0} should be smaller than or equal to {1}",step:"{0} is not valid",email:"{0} is not valid email",url:"{0} is not valid URL",date:"{0} is not valid date",dateCompare:"End date should be greater than or equal to the start date",captcha:"The text you entered doesn't match the image."},rules:{required:function(e){var t=!e.attr("name")&&!e.is(":checked"),i=e.attr("name"),n=!!i&&i.indexOf("'")>-1?'"':"'",r=e.attr("name")&&!this.element.find("input[name="+n+e.attr("name")+n+"]:checked").length,a=e.filter("[type=checkbox]").length&&(t||r),o=e.filter("[type=radio]").length&&!this.element.find("input[name="+n+e.attr("name")+n+"]:checked").length,s=e.val();return!(k(e,"required")&&(!s||s===""||s.length===0||a||o))},pattern:function(e){if(e.filter("[type=text],[type=email],[type=url],[type=tel],[type=search],[type=password]").filter("[pattern]").length&&e.val()!=="")return _(e.val(),e.attr("pattern"));return true},min:function(e){if(e.filter(c+",["+x.attr("type")+"=number]").filter("[min]").length&&e.val()!==""){var t=parseFloat(e.attr("min"))||0,i=x.parseFloat(e.val());return t<=i}return true},max:function(e){if(e.filter(c+",["+x.attr("type")+"=number]").filter("[max]").length&&e.val()!==""){var t=parseFloat(e.attr("max"))||0,i=x.parseFloat(e.val());return t>=i}return true},step:function(e){if(e.filter(c+",["+x.attr("type")+"=number]").filter("[step]").length&&e.val()!==""){var t=parseFloat(e.attr("min"))||0,i=parseFloat(e.attr("step"))||1,n=parseFloat(e.val()),r=N(i),a;if(r){a=Math.pow(10,r);return Math.floor((n-t)*a)%(i*a)/Math.pow(100,r)===0}return(n-t)%i===0}return true},email:function(e){return b(e,"[type=email],["+x.attr("type")+"=email]",t)},url:function(e){return b(e,"[type=url],["+x.attr("type")+"=url]",i)},date:function(e){if(e.filter("[type^=date],["+x.attr("type")+"=date]").length&&e.val()!=="")return x.parseDate(e.val(),e.attr(x.attr("format")))!==null;return true},captcha:function(e){if(e.filter("["+x.attr("role")+"=captcha]").length){var t=this,i=x.widgetInstance(e),n=function(e){return typeof e!=="undefined"&&e!==null};if(!e.data("captcha_validating")&&!n(i.isValid())&&!!i.getCaptchaId()){e.data("captcha_validating",true);t._validating=true;i.validate().done(function(){t._validating=false;t._checkElement(e)}).fail(function(e){t._validating=false;if(e.error&&e.error==="handler_not_defined")window.console.warn("Captcha's validationHandler is not defined! You should either define a proper validation endpoint or declare a callback function to ensure the required behavior.")})}if(n(i.isValid())){e.removeData("captcha_validating");return i.isValid()}}return true}},validateOnBlur:true,validationSummary:false},_allowSubmit:function(){return x.ui.validator.allowSubmit(this.element,this.errors())},_validateOnInit:function(){return x.ui.validator.validateOnInit(this.element)},destroy:function(){a.fn.destroy.call(this);this.element.off(o);if(this.validationSummary){this.validationSummary.off(o);this.validationSummary=null}},value:function(){if(!this._isValidated)return false;return this.errors().length===0},_submit:function(e){if(!this.validate()&&!this._allowSubmit()||this._validating){e.stopPropagation();e.stopImmediatePropagation();e.preventDefault();return false}return true},_checkElement:function(e){var t=this.value();this.validateInput(e);if(this.value()!==t)this.trigger(g)},_attachEvents:function(){var e=this;if(e.element.is(p))e.element.on("submit"+o,v(e._submit,e));if(e.options.validateOnBlur)if(!e.element.is(u)){e.element.on(r+o,e._inputSelector,function(){e._checkElement(y(this))});e.element.on("click"+o,e._checkboxSelector,function(){e._checkElement(y(this))})}else{e.element.on(r+o,function(){e._checkElement(e.element)});if(e.element.is(f))e.element.on("click"+o,function(){e._checkElement(e.element)})}},validate:function(){var e;var t;var i=false;var n;var r=this.value();this._errors={};if(!this.element.is(u)){var a=false;e=this.element.find(this._inputSelector);for(t=0,n=e.length;t").insertBefore(e.element);r.addClass([l,d].join(" "));r.attr("role","alert");r.on("click"+o,v(e._summaryClick,e));return r},_summaryClick:function(e){e.preventDefault();var t=this,i=y(e.target),n=t.element.find("[name='"+i.data("field")+"']"),r;if(!n.length)return;r=x.getWidgetFocusableElement(n);if(r)r.trigger("focus")},showValidationSummary:function(){var e=this,t=e.validationSummary,i=e._errorsByName(),n;if(!t)t=e.validationSummary=e._renderSummary();n=P(e._summaryTemplate({errors:i}));t.html(n);t.toggleClass("k-hidden",!i.length)},hideValidationSummary:function(){var e=this,t=e.validationSummary;if(!t)return;t.addClass("k-hidden")}});return x.ui.plugin(B),window.kendo})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("kendo.editable.min",["./kendo.checkbox.min","./kendo.dropdownlist.min","./kendo.datepicker.min","./kendo.numerictextbox.min","./kendo.validator.min","./kendo.binder.min"],function(){var e={id:"editable",name:"Editable",category:"framework",depends:["checkbox","dropdownlist","datepicker","numerictextbox","validator","binder"],hidden:true},h=window.kendo.jQuery,c=void 0,m=window.kendo,t=m.ui,n=t.Widget,g=h.extend,v=m.isFunction,_=h.isPlainObject,b=h.inArray,k=".",w="off",y=/("|\%|'|\[|\]|\$|\.|\,|\:|\;|\+|\*|\&|\!|\#|\(|\)|<|>|\=|\?|\@|\^|\{|\}|\~|\/|\||`)/g,i,d="change",p="equalSet",x=["url","email","number","date","boolean"];function C(e){e=e!=null?e:"";return e.type||m.type(e)||"string"}function T(e){e.find(":input:not(:button, .k-combobox .k-input, .k-checkbox-list .k-checkbox, .k-radio-list .k-radio, ["+m.attr("role")+"=listbox], ["+m.attr("role")+"=upload], ["+m.attr("skip")+"], [type=file])").each(function(){var e=m.attr("bind"),t=this.getAttribute(e)||"",i=this.type==="checkbox"||this.type==="radio"?"checked:":"value:",n=this.getAttribute("name")===s.antiForgeryTokenName,r=this.name;if(t.indexOf(i)===-1&&r&&!n){t+=(t.length?",":"")+i+r;h(this).attr(e,t)}})}function l(e){var t=(e.model.fields||e.model)[e.field],i=C(t),n=t?t.validation:{},r=t?t.attributes:{},a,o=m.attr("type"),s=m.attr("bind"),l,d={id:e.id||e.field,name:e.field,title:e.title?e.title:e.field};for(a in n){l=n[a];if(b(a,x)>=0)d[o]=a;else if(!v(l)){var u=m.getCulture();if(typeof l==="number"&&u.name.length){var f=u.numberFormat;var c=l.toString().replace(k,f[k]);d[a]=c}else d[a]=_(l)?l.value||a:l}d[m.attr(a+"-msg")]=l.message;d.autocomplete=w}for(var p in r)d[p]=r[p];if(b(i,x)>=0)d[o]=i;d[s]=(i==="boolean"?"checked:":"value:")+e.field;return d}function o(e,t){var i=e.attr("id");if(i){t.id=i;e.removeAttr("id")}return t}function r(e){var t,i,n,r,a,o;if(e&&e.length){o=[];for(t=0,i=e.length;t";else if(e==="RadioGroup"||e==="CheckBoxGroup")i="
      ";else i=e==="Editor"||e==="TextArea"?""+"
      "+""+""+"
      "+"
    ",indent:function(e){return e.replace(/<\/(p|li|ul|ol|h[1-6]|table|tr|td|th)>/gi,"\n").replace(/<(ul|ol)([^>]*)>
  • \n/gi,"
    \n").replace(/\n$/,"")}}),t.EditorUtils.registerTool("viewHtml",new n({command:c.ui.editor.ViewHtmlCommand=m,template:new r({template:p.buttonTemplate,title:"View HTML"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/format.min",["../command.min"],function(){var e=window.kendo.jQuery,t=window.kendo,i=e.extend,n=t.ui.editor,r=n.Tool,a=n.Command,o=n.EditorUtils,s=a.extend({init:function(e){e.formatter=e.formatter();var t=e.formatter.finder;if(t&&o.formatByName("immutable",t.format))t._initOptions({immutables:e.immutables});a.fn.init.call(this,e)}}),l=r.extend({init:function(e){r.fn.init.call(this,e)},command:function(e){var t=this;return new s(i(e,{formatter:t.options.formatter}))},update:function(e,t){var i=this.options.finder.isFormatted(t);e.toggleClass("k-selected",i);e.attr("aria-pressed",i)}});e.extend(n,{FormatCommand:s,FormatTool:l})})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/inlineformat.min",["./format.min"],function(){var l=window.kendo.jQuery,m=window.kendo,e=m.Class,r=m.ui.editor,t=m.ui.Editor.fn.options.formats,d=r.EditorUtils,u=r.Tool,i=r.ToolTemplate,n=r.FormatTool,g=r.Dom,a=r.RangeUtils,f=l.extend,o=r.EditorUtils.registerTool,s=r.EditorUtils.registerFormat,c="mousedown.kendoEditor",p="keydown.kendoEditor",h="k-marker",v=e.extend({init:function(e){this.format=e},numberOfSiblings:function(e){var t=0,i=0,n=0,r=e.parentNode,a;for(a=r.firstChild;a;a=a.nextSibling)if(a!=e)if(a.className==h)n++;else if(a.nodeType==3)t++;else i++;if(n>1&&r.firstChild.className==h&&r.lastChild.className==h)return 0;else return i+t},findSuitable:function(e,t){if(!t&&this.numberOfSiblings(e)>0)return null;var i=e.parentNode;var n=this.format[0].tags;while(!g.ofType(i,n)){if(this.numberOfSiblings(i)>0)return null;i=i.parentNode}return i},findFormat:function(e){var t=this.format,i=g.attrEquals,n,r,a,o,s;for(n=0,r=t.length;n0)this.activate(e,i)},immutables:function(){return this.editor&&this.editor.options.immutables},apply:function(e){var t=[];var i,n,r,a;if(e.length>1)for(i=0,n=e.length;i0)for(n=0;n1){t=e.pop();i=e[e.length-1];if(t.previousSibling&&t.previousSibling.className==h)i.appendChild(t.previousSibling);if(t.tagName==i.tagName&&t.previousSibling==i&&t.style.cssText==i.style.cssText&&t.className===i.className){while(t.firstChild)i.appendChild(t.firstChild);g.remove(t)}}}}),b=v.extend({init:function(e,t,i){this.format=e;this.greedyProperty=t;this.fontAttr=i;v.fn.init.call(this,e)},getInlineCssValue:function(e){var t=e.attributes;var i=m.trim;var n,r,a,o,s,l,d,u,f;var c,p,h;if(!t)return;for(n=0,r=t.length;n=0?g.toHex(h):h}}}if(this.fontAttr&&a.specified&&o==this.fontAttr){p=a.nodeValue;h=a.nodeValue;return p.indexOf("color")>=0?g.toHex(h):h}}},getFormatInner:function(e){var t=l(g.isDataNode(e)?e.parentNode:e);var i=t.parentsUntil("[contentEditable]").addBack().toArray().reverse();var n,r,a;for(n=0,r=i.length;n'+'
    '+"
    "+""+"
    "+"
    "+""+"
    "+""+""+"
    "+""+"
    "+"
    "+""+"
    "+"
    "+"
    "+""+""+"
    "+"
    "+''+''+"
    "+"
    "+"
  • ")({messages:this.editor.options.messages})},exec:function(){var e=this.editor.options.messages;this._initialText="";this._range=this.lockRange(true);this.formatter.immutables=this.immutables();var t=m(this._range);var i=t.length?this.formatter.finder.findSuitable(t[0]):null;var n=t.length&&u.name(t[0])=="img";var r=this.createDialog(this._dialogTemplate(),{title:e.createLink,close:a(this._close,this),visible:false});if(i){this._range.selectNodeContents(i);t=m(this._range)}this._initialText=this.linkText(t);r.find(".k-dialog-insert").on("click",a(this._apply,this)).end().find(".k-dialog-close").on("click",a(this._close,this)).end().find(".k-edit-field input").on("keydown",a(this._keydown,this)).end().find("#k-editor-link-url").val(this.linkUrl(i)).end().find("#k-editor-link-text").val(this._initialText).end().find("#k-editor-link-title").val(i?i.title:"").end().find("#k-editor-link-target").attr("checked",i?i.target=="_blank":false).end().find(".k-editor-link-text-row").toggle(!n);this._dialog=r.data("kendoWindow").center().open();s("#k-editor-link-url",r).trigger("focus").select()},_keydown:function(e){var t=d.keys;if(e.keyCode==t.ENTER)this._apply(e);else if(e.keyCode==t.ESC)this._close(e)},_apply:function(e){var t=this._dialog.element;var i=s("#k-editor-link-url",t).val();var n,r,a;var o=s("#k-editor-link-text",t);if(i&&i!=b){if(i.indexOf("@")>0&&!/^(\w+:)|(\/\/)/i.test(i))i="mailto:"+i;this.attributes={href:i};n=s("#k-editor-link-title",t).val();if(n)this.attributes.title=n;if(o.is(":visible")){r=d.trim(o.val());if(!r&&!this._initialText)this.attributes.innerText=i;else if(r&&r!==this._initialText)this.attributes.innerText=u.stripBom(r)}a=s("#k-editor-link-target",t).is(":checked");this.attributes.target=a?"_blank":null;this.formatter.apply(this._range,this.attributes)}this._close(e);if(this.change)this.change()},_close:function(e){e.preventDefault();this._dialog.destroy();u.windowFromDocument(f.documentFromRange(this._range)).focus();this.releaseRange(this._range)},linkUrl:function(e){if(e)return e.getAttribute("href",2);return b},linkText:function(e){var t="";var i;for(i=0;i-1){this.end.node=t;this.end.offset=i+1;return false}},_detectStart:function(e,t){var i=I(e,/\s/);var n=i+1;this.text=e.substring(n)+this.text;this.start.node=t;this.start.offset=n;if(i>-1)return false},_skipStartPuntuation:function(e,t,i){var n=z(e,/\w/);var r=n;if(n===-1)r=e.length;this.text=this.text.substring(r);this.start.node=t;this.start.offset=r+(i|0);if(n>-1)return false}});function I(e,t){var i=e.length;while(i--&&!t.test(e[i]));return i}function z(e,t){var i=t.exec(e);return i?i.index:-1}var E=function(){return{node:null,offset:null,blank:function(){return this.node===null&&this.offset===null}}},A=e.extend({init:function(e){this.node=e.node;this.offset=e.offset===l?u.isDataNode(this.node)&&this.node.length||0:e.offset;this.cancelAtNode=e.cancelAtNode||this.cancelAtNode||s.noop},traverse:function(e){if(!e)return;this.cancel=false;this._traverse(e,this.node,this.offset)},_traverse:function(e,t,i){if(!t||this.cancel)return;if(t.nodeType===3){var n=t.data;if(i!==l)n=this.subText(n,i);this.cancel=e(n,t,i)===false}else{var r=this.edgeNode(t);this.cancel=this.cancel||this.cancelAtNode(r);return this._traverse(e,r)}var a=this.next(t);if(!a){var o=t.parentNode;while(!a&&u.isInline(o)){a=this.next(o);o=o.parentNode}}this.cancel=this.cancel||this.cancelAtNode(a);this._traverse(e,a)},extendOptions:function(e){return s.extend({node:this.node,offset:this.offset,cancelAtNode:this.cancelAtNode},e||{})},edgeNode:function(e){},next:function(e){},subText:function(e,t){}}),R=A.extend({subText:function(e,t){return e.substring(0,t)},next:function(e){return e.previousSibling},edgeNode:function(e){return e.lastChild},clone:function(e){var t=this.extendOptions(e);return new R(t)}}),N=A.extend({subText:function(e,t){return e.substring(t)},next:function(e){return e.nextSibling},edgeNode:function(e){return e.firstChild},clone:function(e){var t=this.extendOptions(e);return new N(t)}});t(d.ui.editor,{LinkFormatFinder:y,LinkFormatter:x,UnlinkCommand:C,LinkCommand:T,AutoLinkCommand:S,UnlinkTool:D,DomTextLinkDetection:F,LeftDomTextTraverser:R,RightDomTextTraverser:N}),v("createLink",new o({key:"K",ctrl:true,command:T,template:new c({template:n.buttonTemplate,title:"Create Link"})})),v("unlink",new D({key:"K",ctrl:true,shift:true,template:new c({template:n.buttonTemplate,title:"Remove Link"})})),v("autoLink",new o({key:[_.ENTER,_.SPACEBAR],keyPressCommand:true,command:S}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/formatblock.min",["./format.min"],function(){var f=window.kendo.jQuery,e=window.kendo,t=e.Class,c=f.extend,h=e.ui.editor,i=e.ui.Editor.fn.options.formats,m=h.Dom,n=h.ToolTemplate,r=h.FormatTool,p=h.EditorUtils,a=p.registerTool,o=p.registerFormat,s=h.RangeUtils,l=t.extend({init:function(e){this.format=e},contains:function(e,t){var i,n,r;for(i=0,n=t.length;i=0;o--){a=m.ofType(e[n],t[o].tags)?e[n]:m.closestEditableOfType(e[n],t[o].tags);if(a)break}if(!a||a.contentEditable==="true")return[];if(f.inArray(a,i)<0)i.push(a)}this._resolveListsItems(i);for(n=0,r=i.length;n=0;a--){var o=n.immutableParent(e[a]);if(!o)continue;if(o!==e[a+1])if(t)m.attr(o,i.attr);else m.unstyle(o,i.attr.style);e.splice(a,1)}},immutables:function(){return this.editor&&this.editor.options.immutables},remove:function(e){var t,i,n,r,a;this._handleImmutables(e,false);for(t=0,i=e.length;t=0)e=new o.GreedyInlineFormatter(i);else e=new o.GreedyBlockFormatter(i);e.editor=n.editor;return e}})},initialize:function(e,t){var i=t.editor;var n=this.options;var r=n.name;var a=this;var o;a.editor=i;e.width(n.width);o=e.kendoSelectBox({dataTextField:"text",dataValueField:"value",dataSource:n.items||i.options[r],title:i.options.messages[r],autoSize:true,change:function(){var e=this.dataItem();if(e)l.exec(i,r,e.toJSON())},dataBound:function(){var e,t=this.dataSource.data();for(e=0;e#:data.text#')}).data("kendoSelectBox");e.attr("title",t.title);o.wrapper.attr("title",t.title);e.addClass("k-decorated").closest(".k-widget").removeClass("k-"+r).find("*").addBack().attr("unselectable","on")},getFormattingValue:function(e,t){for(var i=0;i=0;i--){var n=t[i];if(!this.immutableParent(n))this.clean(n)}this.releaseRange(e)},clean:function(e){if(!e||f.isMarker(e))return;var t=f.name(e);if(t=="ul"||t=="ol"){var i=new o.ListFormatter(t);var n=e.previousSibling;var r=e.nextSibling;i.unwrap(e);for(;n&&n!=r;n=n.nextSibling)this.clean(n)}else if(t=="blockquote")f.changeTag(e,"p");else if(e.nodeType==1&&!f.insignificant(e)){for(var a=e.childNodes.length-1;a>=0;a--)this.clean(e.childNodes[a]);e.removeAttribute("style");e.removeAttribute("class")}else p(e);if(d.inArray(t,this.tagsToClean)>-1)f.unwrap(e)},immutableParent:function(e){return this.immutables()&&o.Immutables.immutableParent(e)}});function p(e){var t=f.closestEditableOfType(e,["li"]);if(t){var i=new o.ListFormatter(f.name(t.parentNode));var n=s.ui.editor.W3CRange.fromNode(e);n.selectNode(t);i.toggle(n)}}d.extend(o,{FormattingTool:a,CleanFormatCommand:c}),n("formatting",new a({template:new e({template:i.dropDownListTemplate,title:"Format"})})),n("cleanFormatting",new l({command:c,template:new e({template:i.buttonTemplate,title:"Clean formatting"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/image.min",["../../kendo.imagebrowser.min","../command.min"],function(){var e=window.kendo.jQuery,_=void 0,b=window.kendo,k=e.extend,t=b.ui.editor,i=t.EditorUtils,w=t.Dom,n=i.registerTool,r=t.ToolTemplate,y=t.RangeUtils,a=t.Command,x=b.keys,C="#k-editor-image-url",T="#k-editor-image-title",S="#k-editor-image-width",D="#k-editor-image-height",o=a.extend({init:function(e){var t=this;a.fn.init.call(t,e);t.async=true;t.attributes={}},insertImage:function(e,t){var i=this.attributes;var n=y.documentFromRange(t);if(i.src&&i.src!="http://"){var r=function(){setTimeout(function(){if(!i.width)e.removeAttribute("width");if(!i.height)e.removeAttribute("height");e.removeAttribute("complete")})};if(!e){e=w.create(n,"img",i);e.onload=e.onerror=r;t.deleteContents();t.insertNode(e);if(!e.nextSibling)w.insertAfter(n.createTextNode("\ufeff"),e);r();t.setStartAfter(e);t.setEndAfter(e);y.selectRange(t);return true}else{e.onload=e.onerror=r;w.attr(e,i);r()}}return false},_dialogTemplate:function(e){return b.template('
    '+'
    '+'
    '+"# if (showBrowser) { #"+'
    '+"# } #"+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+'
    '+''+''+"
    "+"
    "+"
    ")({messages:this.editor.options.messages,showBrowser:e})},redo:function(){var e=this,t=e.lockRange();if(!e.insertImage(y.image(t),t))e.releaseRange(t)},exec:function(){var r=this,a=r.lockRange(),o=false,s=y.image(a),e=s&&s.getAttribute("width")||"",t=s&&s.getAttribute("height")||"",l,i=b.support.browser.msie,n=r.editor.options,d=n.messages,u=n.imageBrowser,f=!!(b.ui.ImageBrowser&&u&&u.transport&&u.transport.read!==_),c={title:d.insertImage,visible:false,resizable:f};this.expandImmutablesIn(a);function p(e){var t=l.element,i=parseInt(t.find(S).val(),10),n=parseInt(t.find(D).val(),10);r.attributes={src:t.find(C).val().replace(/ /g,"%20"),alt:t.find(T).val()};r.attributes.width=null;r.attributes.height=null;if(!isNaN(i)&&i>0)r.attributes.width=i;if(!isNaN(n)&&n>0)r.attributes.height=n;o=r.insertImage(s,a);h(e);if(r.change)r.change()}function h(e){e.preventDefault();l.destroy();w.windowFromDocument(y.documentFromRange(a)).focus();if(!o)r.releaseRange(a)}function m(e){if(e.keyCode==x.ENTER)p(e);else if(e.keyCode==x.ESC)h(e)}c.close=h;if(f)c.width=750;l=this.createDialog(r._dialogTemplate(f),c).toggleClass("k-filebrowser-dialog",f).find(".k-dialog-insert").on("click",p).end().find(".k-dialog-close").on("click",h).end().find(".k-edit-field input").on("keydown",m).end().find(C).val(s?s.getAttribute("src",2):"http://").end().find(T).val(s?s.alt:"").end().find(S).val(e).end().find(D).val(t).end().data("kendoWindow");var g=l.element;if(f){this._imageBrowser=new b.ui.ImageBrowser(g.find(".k-imagebrowser"),k({},u));this._imageBrowser.bind("change",function(e){if(e.selected.get("type")==="f")g.find(C).val(this.value())});this._imageBrowser.bind("apply",p)}if(i){var v=g.closest(".k-window").height();g.css("max-height",v)}l.center().open();g.find(C).trigger("focus").select()}});n("insertImage",new t.Tool({command:b.ui.editor.ImageCommand=o,template:new r({template:i.buttonTemplate,title:"Insert Image"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/import.min",["../main.min"],function(){var r=window.kendo.jQuery,e=void 0,t=window.kendo,i=r.extend,a=r.proxy,n=t.ui.editor,o=n.EditorUtils,s=n.Command,l=n.Tool,d=o.registerTool,u=n.ToolTemplate,f='
    ',c=s.extend({exec:function(){(this.editor._uploadWidget||this._initializeUploadWidget()).element.click()},_initializeUploadWidget:function(){var e=this;var t=e.editor;var i=t.options["import"];var n=r('').kendoUpload({success:a(e._onUploadSuccess,e),progress:a(e._onUploadProgress,e),select:a(e._onUploadSelect,e),error:a(e._onUploadError,e),complete:a(e._onUploadComplete,e),showFileList:false,multiple:false,async:{saveUrl:i.proxyURL,autoUpload:true,saveField:"file"},validation:{allowedExtensions:i.allowedExtensions,maxFileSize:i.maxFileSize}}).getKendoUpload();t._uploadWidget=n;return n},_onUploadComplete:function(e){this._trigger("complete",e);e.sender.clearAllFiles();this._removeLoadingOverlay()},_onUploadSuccess:function(e){this.editor.value(e.response.html.replace(/<\/?body>/gi,""));this._trigger("success",e)},_onUploadProgress:function(e){this._trigger("progress",e)},_onUploadSelect:function(e){this._trigger("select",e);if(!e.files[0].validationErrors)this._initLoadingOverlay()},_onUploadError:function(e){this._trigger("error",e)},_trigger:function(e,t){var i=this.editor;var n=i.options["import"];if(typeof n[e]==="function")n[e].call(i,t)},_initLoadingOverlay:function(){var e=this.editor.body;if(n.Dom.is(e,"body"))this._iframeWrapper=this._container=this.editor.wrapper.find("iframe").parent().css({position:"relative"}).append(f);else this._container=r(e).append(f);t.ui.progress(this._container,true)},_removeLoadingOverlay:function(){t.ui.progress(this._container,false);r(this._iframeWrapper).css({position:""});delete this._container;delete this._iframeWrapper}});i(n,{ImportCommand:c}),d("import",new l({command:c,template:new u({template:o.iconTextButtonTemplate,title:"Import"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/insert.min",["../command.min"],function(){var e=window.kendo.jQuery,t,a=window.kendo.ui.editor,i=a.Command,s=a.GenericCommand,n=a.EditorUtils,r=n.registerTool,o=a.Tool,l=a.ToolTemplate,d=a.RestorePoint,u=e.extend,f=i.extend({init:function(e){i.fn.init.call(this,e);this.managesUndoRedo=true},exec:function(){var e=this.editor;var t=this.options;var i=t.range;var n=e.body;var r=new d(i,n);var a=t.html||t.value||"";e.selectRange(i);e.clipboard.paste(a,t);if(t.postProcess)t.postProcess(e,e.getRange());var o=new s(r,new d(e.getRange(),n));o.editor=e;e.undoRedoStack.push(o);e.focus()}}),c=o.extend({initialize:function(e,t){var i=t.editor,n=this.options,r=n.items?n.items:i.options.insertHtml;this._selectBox=new a.SelectBox(e,{dataSource:r,dataTextField:"text",dataValueField:"value",change:function(){o.exec(i,"insertHtml",this.value())},title:i.options.messages.insertHtml,highlightFirst:false});e.attr("title",t.title);this._selectBox.wrapper.attr("title",t.title)},command:function(e){return new f(e)},update:function(e){var t=e.data("kendoSelectBox")||e.find("select").data("kendoSelectBox");t.close();t.value(t.options.title)}});u(a,{InsertHtmlCommand:f,InsertHtmlTool:c}),r("insertHtml",new c({template:new l({template:n.dropDownListTemplate,title:"Insert HTML",initialValue:"Insert HTML"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/export.min",["../main.min"],function(){var n=window.kendo.jQuery,e=void 0,u=window.kendo,t=n.extend,f=n.proxy,i=u.ui.editor,r=i.EditorUtils,a=i.Command,o=i.Tool,s=r.registerTool,l=i.ToolTemplate,d=[{text:"Docx",value:"docx"},{text:"Rtf",value:"rtf"},{text:"Pdf",value:"pdf"},{text:"Html",value:"html"},{text:"Plain Text",value:"txt"}],c=a.extend({init:function(e){var t=this;t.options=e;a.fn.init.call(t,e);t.attributes=null;t.exportType=e.exportType},exec:function(){var e=this;var t=this.lockRange(true);e.postToProxy();e.releaseRange(t)},postToProxy:function(){this.generateForm().appendTo("body").submit().remove()},generateForm:function(){var e=this;var t=e.editor.options.exportAs;var i=n("").attr({action:t&&t.proxyURL||"",method:"POST"});i.append([e.valueInput(),e.exportTypeInput(),e.fileNameInput()]);return i},valueInput:function(){var e=this.editor;return n("").attr({value:e.encodedValue(),name:"value",type:"hidden"})},exportTypeInput:function(){var e=this;return n("").attr({value:e.exportType,name:"exportType",type:"hidden"})},fileNameInput:function(){var e=this.editor;var t=e.options.exportAs;var i=t&&t.fileName||e.element.attr("id")||"editor";return n("").attr({value:i,name:"fileName",type:"hidden"})}}),p=o.extend({init:function(e){var t=this;o.fn.init.call(t,u.deepExtend({},t.options,e));t.type="kendoSelectBox"},options:{items:d,width:140},command:function(e){var t=e.value;return new i.ExportAsCommand({range:e.range,exportType:t.exportType})},initialize:function(e,t){var i=this;var n=t.editor;var r=i.options;var a=r.name;var o=f(i.changeHandler,i);var s=r.items||n.options[a];var l=n.options.messages[a];var d;s.unshift({text:l,value:""});i.editor=n;e.width(r.width);d=e.kendoSelectBox({dataTextField:"text",dataValueField:"value",dataSource:s,autoSize:true,change:o,open:function(e){var t=e.sender;t.items()[0].style.display="none";t.unbind("open")},highlightFirst:false,template:u.template('#:data.text#'),valueTemplate:''+l+""}).data("kendoSelectBox");e.attr("title",t.title);d.wrapper.attr("title",t.title);e.addClass("k-decorated").closest(".k-widget").removeClass("k-"+a).find("*").addBack().attr("unselectable","on")},changeHandler:function(e){var t=e.sender;var i=t.dataItem();var n=i&&i.value;this._exec(n);t.value("")},_exec:function(e){if(e)o.exec(this.editor,this.options.name,{exportType:e})},destroy:function(){this._ancestor=null}});t(i,{ExportAsTool:p,ExportAsCommand:c}),s("exportAs",new p({template:new l({template:r.dropDownListTemplate,title:"Export As"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/indent.min",["./formatblock.min"],function(){var p=window.kendo.jQuery,a=void 0,e=window.kendo,t=e.Class,i=p.extend,d=e.ui.editor,h=d.Dom,n=d.EditorUtils,r=n.registerTool,o=d.Command,s=d.Tool,l=d.ToolTemplate,u=d.RangeUtils,f=h.blockElements,c=d.BlockFormatFinder,m=d.BlockFormatter;function g(e,t){var i=p(e).css("direction")=="rtl",n=i?"Right":"Left",r=h.name(e)!="td"?"margin"+n:"padding"+n;if(t===a)return e.style[r]||0;else if(t>0)e.style[r]=t+"px";else{e.style[r]="";if(!e.style.cssText)e.removeAttribute("style")}}var v=t.extend({init:function(){this.finder=new c([{tags:h.blockElements}])},apply:function(e){e=h.filterBy(e,h.htmlIndentSpace,true);var t=this.finder.findSuitable(e),i=[],n,r,a,o,s;t=this.mapImmutables(t);if(t.length){for(n=0,r=t.length;n1||g(s.parentNode))||h.ofType(s,["ul","ol"])&&r>0}if(n){e.removeClass("k-disabled");return}}e.addClass("k-disabled").removeClass("k-hover")}});i(d,{IndentFormatter:v,IndentCommand:_,OutdentCommand:b,OutdentTool:k}),r("indent",new s({command:_,template:new l({template:n.buttonTemplate,title:"Indent"})})),r("outdent",new k({command:b,template:new l({template:n.buttonTemplate,title:"Outdent"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/linebreak.min",["./formatblock.min"],function(){var v=window.kendo.jQuery,l=window.kendo,e=v.extend,_=l.ui.editor,b=_.Dom,t=_.Command,i=_.Tool,k=_.BlockFormatter,w=b.normalize,y=_.RangeUtils,n=_.EditorUtils.registerTool,r=t.extend({init:function(e){this.options=e;t.fn.init.call(this,e)},_insertMarker:function(e,t){var i=b.create(e,"a"),n;i.className="k-marker";t.insertNode(i);if(!i.parentNode){n=t.commonAncestorContainer;n.innerHTML="";n.appendChild(i)}w(i.parentNode);return i},_moveFocus:function(e,t){if(b.isEmpty(t))e.setStartBefore(t);else{e.selectNodeContents(t);var i=y.textNodes(e)[0];if(!i){while(t.childNodes.length&&!b.is(t.firstChild,"br"))t=t.firstChild;i=t}if(b.isEmpty(i))e.setStartBefore(i);else{if(b.emptyNode(i))i.innerHTML="\ufeff";var n=i.firstChild||i;if(b.isDataNode(n))e.setStart(n,0);else e.setStartBefore(n)}}},shouldTrim:function(e){var t="p,h1,h2,h3,h4,h5,h6".split(","),i=b.parentOfType(e.startContainer,t),n=b.parentOfType(e.endContainer,t);return i&&!n||!i&&n},_blankAfter:function(e){while(e&&(b.isMarker(e)||b.stripBom(e.nodeValue)===""))e=e.nextSibling;return!e},exec:function(){var e=this.getRange(),t=y.documentFromRange(e),i,n,r,a=_.emptyElementContent,o,s,l,d,u,f,c;this.expandImmutablesIn(e);c=this.shouldTrim(e);e.deleteContents();s=this._insertMarker(t,e);b.stripBomNode(s.previousSibling);b.stripBomNode(s.nextSibling);l=b.closestEditableOfType(s,["li"]);d=b.closestEditableOfType(s,"h1,h2,h3,h4,h5,h6".split(","));u=b.is(s.parentNode,"table")&&s.parentNode;if(l){if(b.emptyNode(l)){o=b.create(t,"p");if(b.next(l)){f=e.cloneRange();f.selectNode(l);y.split(f,l.parentNode)}var p=v("br",l);if(p.length==1)p.remove();var h=l.parentNode;var m=l.parentNode.children.length;var g=m>1&&l.childNodes.length==1&&l.children[0];b.insertAfter(o,h);b.remove(m==1?l.parentNode:l);if(g&&g!==s){o.appendChild(g);o.appendChild(s)}else o.innerHTML=a;r=o}}else if(d&&this._blankAfter(s)){o=this._insertParagraphAfter(d);b.remove(s);r=o}else if(u){o=this._insertParagraphAfter(u);b.remove(s);r=o}if(!r){if(!(l||d))new k([{tags:["p"]}]).apply([s]);e.selectNode(s);i=b.parentOfType(s,[l?"li":d?b.name(d):"p"]);y.split(e,i,c);n=i.previousSibling;if(b.is(n,"li")&&n.firstChild&&!b.is(n.firstChild,"br"))n=n.firstChild;r=i.nextSibling;this.clean(n,{links:true});this.clean(r,{links:true});if(b.is(r,"li")&&r.firstChild&&!b.is(r.firstChild,"br"))r=r.firstChild;b.remove(i);w(n)}w(r);this._moveFocus(e,r);e.collapse(true);b.scrollTo(r,true);y.selectRange(e)},_insertParagraphAfter:function(e){var t=this.getRange();var i=y.documentFromRange(t);var n=_.emptyElementContent;var r=b.create(i,"p");b.insertAfter(r,e);r.innerHTML=n;return r},clean:function(e,t){var i=e;if(e.firstChild&&b.is(e.firstChild,"br"))b.remove(e.firstChild);if(b.isDataNode(e)&&!e.nodeValue)e=e.parentNode;if(e){var n=false;while(e.firstChild&&e.firstChild.nodeType==1){n=n||b.significantNodes(e.childNodes).length>1;e=e.firstChild}if(!b.isEmpty(e)&&e.className!="k-br"&&/^\s*$/.test(e.innerHTML)&&!n){v(i).find(".k-br").remove();e.innerHTML=_.emptyElementContent}if(t&&t.links)while(e!=i){if(b.is(e,"a")&&b.emptyNode(e)){b.unwrap(e);break}e=e.parentNode}}}}),a=t.extend({init:function(e){this.options=e;t.fn.init.call(this,e)},exec:function(){var e=this.getRange();this.expandImmutablesIn(e);var t=b.create(y.documentFromRange(e),"br");var i=e.startContainer;var n;var r=l.support.browser;var a=r.msie&&r.version<11;var o=b.is(i,"table")&&i;var s;e.deleteContents();if(o)b.insertAfter(t,o);else{s=v(i).closest(".k-br");e.insertNode(t);if(s.length)b.unwrap(s[0])}w(t.parentNode);if(!a&&(!t.nextSibling||b.isWhitespace(t.nextSibling))){if(!!t.nextSibling&&b.isWhitespace(t.nextSibling))v(t.nextSibling).remove();n=t.cloneNode(true);n.className="k-br";b.insertAfter(n,t)}e.setStartAfter(t);e.collapse(true);b.scrollTo(t.nextSibling||t,true);y.selectRange(e)}});e(_,{ParagraphCommand:r,NewLineCommand:a}),n("insertLineBreak",new i({key:13,shift:true,command:a})),n("insertParagraph",new i({key:13,command:r}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/file.min",["../../kendo.filebrowser.min","./link.min"],function(){var e=window.kendo.jQuery,v=void 0,_=window.kendo,b=e.extend,t=_.ui.editor,i=t.EditorUtils,k=t.Dom,n=i.registerTool,r=t.ToolTemplate,w=t.RangeUtils,a=t.Command,o=t.LinkFormatter,y=w.textNodes,x=_.keys,C="#k-editor-file-url",T="#k-editor-file-text",S="#k-editor-file-title",s=a.extend({init:function(e){var t=this;a.fn.init.call(t,e);t.formatter=new o;t.async=true;t.attributes={}},insertFile:function(e,t){var i=this.attributes;var n=w.documentFromRange(t);if(i.href&&i.href!="http://")if(!e){e=k.create(n,"a",{href:i.href});e.innerHTML=i.innerHTML;e.title=i.title;t.deleteContents();t.insertNode(e);if(!e.nextSibling)k.insertAfter(n.createTextNode("\ufeff"),e);t.setStartAfter(e);t.setEndAfter(e);w.selectRange(t);return true}else k.attr(e,i);return false},_dialogTemplate:function(e){return _.template('
    '+'
    '+'
    '+"# if (showBrowser) { #"+'
    '+"# } #"+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+''+"
    "+"
    "+'
    '+''+''+"
    "+"
    "+"
    ")({messages:this.editor.options.messages,showBrowser:e})},redo:function(){var e=this,t=e.lockRange();this.formatter.apply(t,this.attributes);e.releaseRange(t)},exec:function(){var a=this,o=a.lockRange(),e=y(o),s=false,l=e.length?this.formatter.finder.findSuitable(e[0]):null,d,t=_.support.browser.msie,i=a.editor.options,n=i.messages,r=i.fileBrowser,u=!!(_.ui.FileBrowser&&r&&r.transport&&r.transport.read!==v),f={title:n.insertFile,visible:false,resizable:u};this.expandImmutablesIn(o);function c(e){var t=d.element,i=t.find(C).val().replace(/ /g,"%20"),n=t.find(T).val(),r=t.find(S).val();a.attributes={href:i,innerHTML:n!==""?n:i,title:r};s=a.insertFile(l,o);p(e);if(a.change)a.change()}function p(e){e.preventDefault();d.destroy();k.windowFromDocument(w.documentFromRange(o)).focus();if(!s)a.releaseRange(o)}function h(e){if(e.keyCode==x.ENTER)c(e);else if(e.keyCode==x.ESC)p(e)}f.close=p;if(u)f.width=750;d=this.createDialog(a._dialogTemplate(u),f).toggleClass("k-filebrowser-dialog",u).find(".k-dialog-insert").on("click",c).end().find(".k-dialog-close").on("click",p).end().find(".k-edit-field input").on("keydown",h).end().find(C).val(l?l.getAttribute("href",2):"http://").end().find(T).val(l?l.innerText:"").end().find(S).val(l?l.title:"").end().data("kendoWindow");var m=d.element;if(u){a._fileBrowser=new _.ui.FileBrowser(m.find(".k-filebrowser"),b({},r));a._fileBrowser.bind("change",function(e){if(e.selected.get("type")==="f")m.find(C).val(this.value())});a._fileBrowser.bind("apply",c)}if(t){var g=m.closest(".k-window").height();m.css("max-height",g)}d.center().open();m.find(C).trigger("focus").select()}});n("insertFile",new t.Tool({command:_.ui.editor.FileCommand=s,template:new r({template:i.buttonTemplate,title:"Insert File"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/tables.min",["./formatblock.min","./insert.min"],function(){var p=window.kendo.jQuery,H=void 0,c=window.kendo,i=p.extend,o=p.proxy,h=c.ui.editor,m=h.Dom,s=h.EditorUtils,M=h.RangeUtils,O=h.Command,g="kendoEditor",e="k-state-active",l="k-state-selected",v="scope",_="row",b="col",k="rowgroup",w="colgroup",y="colspan",x="rowspan",C="table",f="thead",d="tbody",T="tr",S="td",D="th",u=h.Tool,F=h.ToolTemplate,n=h.InsertHtmlCommand,L=h.BlockFormatFinder,r=h.BlockFormatTool,a=h.FormatCommand,I=h.EditorUtils.registerTool,t=h.EditorUtils.registerFormat,z=c.ui.Editor.fn.options.formats,B=c.getTouches,V=c.template,U="#=content#",W=new L([{tags:[C]}]),j=n.extend({init:function(e){var t=p.extend({postProcess:this.postProcess,skipCleaners:true},e||{});n.fn.init.call(this,t)},_tableHtml:function(e,t){e=e||1;t=t||1;var i=V(U)({width:100/t,content:h.emptyTableCellContent});var n=100/e;return""+new Array(e+1).join(""+new Array(t+1).join(i)+"")+"
    "},postProcess:function(e,t){var i=p("table[data-last]",e.document).removeAttr("data-last");t.setStart(i.find(S)[0],0);t.collapse(true);e.selectRange(t)},exec:function(){var e=this.options;e.html=this._tableHtml(e.rows,e.columns);n.fn.exec.call(this)}}),E=u.extend({initialize:function(e,t){u.fn.initialize.call(this,e,t);var i=p(this.options.popupTemplate).appendTo("body").kendoPopup({anchor:e,copyAnchorStyles:false,open:o(this._open,this),activate:o(this._activate,this),close:o(this._close,this)}).data("kendoPopup");e.on("click",o(this._toggle,this)).on("keydown",o(this._keydown,this));var n=this._editor=t.editor;this._popup=i;var r=new h.TableWizardTool({template:new F({template:s.tableWizardButtonTemplate,title:n.options.messages.tableWizard}),command:h.TableWizardCommand,insertNewTable:true});I("tableWizardInsert",r);var a=p("
    "+r.options.template.getHtml()+"
    ");a.appendTo(i.element);if(n.toolbar)n.toolbar.attachToolsEvents(a)},popup:function(){return this._popup},_activate:p.noop,_open:function(){this._popup.options.anchor.addClass(e)},_close:function(){this._popup.options.anchor.removeClass(e)},_keydown:function(e){var t=c.keys;var i=e.keyCode;if(i==t.DOWN&&e.altKey)this._popup.open();else if(i==t.ESC)this._popup.close()},_toggle:function(e){var t=p(e.target).closest(".k-tool");if(!t.hasClass("k-disabled"))this.popup().toggle()},update:function(e){var t=this.popup();if(t.wrapper&&t.wrapper.css("display")=="block")t.close();e.removeClass("k-hover")},destroy:function(){this._popup.destroy()}}),q=E.extend({init:function(e){this.cols=8;this.rows=6;E.fn.init.call(this,p.extend(e,{command:j,popupTemplate:"
    "+"
    "+new Array(this.cols*this.rows+1).join("")+"
    "+"
    "+"
    "}))},_activate:function(){var i=this,e=i._popup.element,t=e.find(".k-ct-cell"),n=t.eq(0),r=t.eq(t.length-1),a=c.getOffset(n),o=c.getOffset(r),s=i.cols,l=i.rows,d,u;e.find("*").addBack().attr("unselectable","on");o.left+=r[0].offsetWidth;o.top+=r[0].offsetHeight;d=(o.left-a.left)/s;u=(o.top-a.top)/l;function f(e){var t=p(window);return{row:Math.floor((e.clientY+t.scrollTop()-a.top)/u)+1,col:Math.floor((e.clientX+t.scrollLeft()-a.left)/d)+1}}e.autoApplyNS(g).on("mousemove",".k-ct-cell",function(e){i._setTableSize(f(e))}).on("mouseleave",".k-ct-cell",function(){i._setTableSize()}).on("down",".k-ct-cell",function(e){e.preventDefault();var t=B(e)[0];i._exec(f(t.location))})},_valid:function(e){return e&&e.row>0&&e.col>0&&e.row<=this.rows&&e.col<=this.cols},_exec:function(e){if(this._valid(e)){this._editor.exec("createTable",{rows:e.row,columns:e.col});this._popup.close()}},_setTableSize:function(t){var e=this._popup.element;var i=e.find(".k-status");var n=e.find(".k-ct-cell");var r=this.cols;var a=this._editor.options.messages;if(this._valid(t)){i.text(c.format(a.createTableHint,t.row,t.col));n.each(function(e){p(this).toggleClass(l,e%r=0;a--){n=e.rows[a];r=p(n).find("[col-index="+i+"]");if(r.length)return r}},_resetElementResizing:function(e){e._destroyResizings();e._initializeColumnResizing();e._initializeRowResizing();e._initializeElementResizing()},_findNextTdInRow:function(e,t){var i=e.find("td:last-child"),n=parseInt(i.attr("col-index"),10)+i.prop("colSpan")-1,r;for(var a=t;a<=n;a++){r=e.find("[col-index="+a+"]");if(r.length)return r}},_adjustColgroups:function(e,t){var i=t.getElementsByTagName(b),n=t.getElementsByTagName(w),r=e.cells,a=r.length,o,s,l;while(i.length>0)i[0].remove();while(n.length>0)n[0].remove();for(o=a-1;o>=0;o--){l=r[o];if(l.getAttribute(v)===w){s=m.createEmptyNode(this.editor.document,w);s.setAttribute("span",l.getAttribute(y));t.prepend(s)}else t.prepend(m.createEmptyNode(this.editor.document,b))}},_associateHeaderIds:function(e){m.clearTableMappings(e,"col-index");m.reMapTableColumns(e,"col-index");p(e).find("th, td").removeAttr("id headers");m.associateWithIds(e)},_getNumberOfColumns:function(e){return m._getNumberOfColumns(e,"td, th")}}),G=A.extend({exec:function(){var e=this.lockRange(true),t=m.closest(e.endContainer,[S,D]),i=m.closest(t,C),n=this.options.position||"after",r,a,o,s,l,d,u;if(!i||this.immutables()&&h.Immutables.immutableParent(t)){this.releaseRange(e);return}this._mapColIndices(i);a=t.parentNode;l=m.findNodeIndex(a,true);if(t.rowSpan>1&&n==="after")a=i.rows[l+t.rowSpan-1];r=this._getNumberOfColumns(i);s=a.cloneNode(true);p(s).empty();for(var f=0;f1&&n==="after"&&o)o.attr(x,o.prop("rowSpan")+1);else this._appendCell(s,o);else{l=m.findNodeIndex(a,true);o=this._findRowSpanCell(a.parentElement,l,f);d=o.closest(T).index();if(d+o.prop("rowSpan")-1===l&&n==="after")this._appendCell(s,o);else o.attr(x,o.prop("rowSpan")+1)}u=p(s).find("[col-index="+f+"]");if(u.attr(v)===k&&!u.attr(x))u.attr(v,_)}if(n=="before")m.insertBefore(s,a);else m.insertAfter(s,a);if(p(i).find("[headers]").length>0)this._associateHeaderIds(i);this._clearColIndexAttr(i);this.releaseRange(e);this._resetElementResizing(this.editor)},_appendCell:function(e,t){var i;i=t.clone();i.html(h.emptyTableCellContent);i.removeAttr(x);i.appendTo(e)}}),$=A.extend({exec:function(){var e=this.lockRange(true),t=m.closest(e.endContainer,[S,D]),i=m.closest(t,C),n=i.getElementsByTagName(b),r=i.getElementsByTagName(w),a,o,s=i&&i.rows,l,d,u=this.options.position||"after";if(!t||this.immutables()&&h.Immutables.immutableParent(t)){this.releaseRange(e);return}this._mapColIndices(i);a=parseInt(t.getAttribute("col-index"),10);if(t.colSpan>1&&u==="after"){t.setAttribute("col-index",a+t.colSpan-1);a=a+t.colSpan-1}for(o=0;o0||r.length>0)this._adjustColgroups(s[0],i);if(p(i).find("[headers]").length>0)this._associateHeaderIds(i);this._clearColIndexAttr(i);this.releaseRange(e);this._resetElementResizing(this.editor)},_processForColSpan:function(e,t,i,n){var r,a,o=t-1;r=p(e).find("[col-index="+t+"]")[0];if(r&&r.colSpan>1&&i==="after"&&r!==n){r.colSpan+=1;return}if(r)return r;for(o;o>=0;o--){r=p(e).find("[col-index="+o+"]")[0];if(r&&r.colSpan>1)break}if(!r)return;a=parseInt(r.getAttribute("col-index"),10)+r.colSpan-1;if(a===t&&i==="after")return r;else if(t<=a)r.setAttribute(y,r.colSpan+1)},_resizeCells:function(e,t){var i=e.style.width,n,r,a;if(!i)return;n=parseFloat(i);r=i.slice(n.toString().length);a=n/2+r;e.style.width=a;t.style.width=a}}),Y=A.extend({exec:function(){var e=this.lockRange();var t=M.mapAll(e,function(e){return p(e).closest(T)[0]});var i=m.closest(e.endContainer,[S,D]);var n=t[0];var r=i?i.rowSpan:1;var a=p(t[0]).index();var o=m.closest(n,C);var s=n.parentElement;var l;if(!o||this.immutables()&&h.Immutables.immutableParent(n)){this.releaseRange(e);return}for(var d=0;d0)this._associateHeaderIds(o);else if(m.is(s,f)&&p(o).find("[scope]").length>0)this._adjustColgroups(s.rows[0],o);if(l)this._focusElement(e,l);this._resetElementResizing(this.editor)},_focusElement:function(e,t){e.setStart(t,0);e.collapse(true);this.editor.selectRange(e)},_handleRowSpanCells:function(e,t){var i,n,r,a,o=m.findNodeIndex(t,true),s=e.rows[0],l=s.cells[s.cells.length-1],d=parseInt(l.getAttribute("col-index"),10)+l.colSpan-1;for(i=0;i<=d;i=i+n.prop("colSpan")){n=p(t).find("[col-index="+i+"]");if(n.length&&n.prop("rowSpan")>1){a=e.rows[o+1];r=p(a).find("[col-index="+(i+1)+"]");if(r.length)r.before(n);else p(a).append(n);this._reduceRowSpan(n)}if(!n.length){n=this._findRowSpanCell(t.parentElement,o,i);this._reduceRowSpan(n)}}},_reduceRowSpan:function(e){var t=e.prop("rowSpan")-1;if(t<=1){e.removeAttr(x);if(e.attr(v)===k)e.attr(v,_)}else e.attr(x,t)}}),K=A.extend({exec:function(){var e=this.lockRange(),t=m.closest(e.endContainer,[S,D]),i=m.closest(t,C),n=i&&i.rows,r=m.findNodeIndex(t,true),a=n&&n[0].cells.length,o=i.getElementsByTagName(b),s=i.getElementsByTagName(w),l,d,u,f;if(!t||this.immutables()&&h.Immutables.immutableParent(t)){this.releaseRange(e);return}if(a==1||t.colSpan==a){l=m.next(i);if(!l||m.insignificant(l))l=m.prev(i);if(l&&l.rows)l=l.rows[0].cells[0];m.remove(i);this._resetElementResizing(this.editor)}else{m.removeTextSiblings(t);l=m.next(t)||m.prev(t);this._mapColIndices(i);r=parseInt(t.getAttribute("col-index"),10);for(f=0;f0||s.length>0)this._adjustColgroups(n[0],i);if(p(i).find("[headers]").length>0)this._associateHeaderIds(i);if(l){e.setStart(l,0);e.collapse(true);this.editor.selectRange(e)}this._resetElementResizing(this.editor)},_handleColSpanCells:function(e,t){var i=p(e).find("[col-index="+t+"]");if(i.length&&i.prop("colSpan")>1){var n=i.clone(true);i.after(n);this._reduceColSpan(n);n.attr("col-index",parseInt(i.attr("col-index"),10)+1);i.remove();return}for(var r=t;r>=0;r--){i=p(e).find("[col-index="+r+"]");if(i.length){this._reduceColSpan(i);i.attr("col-index",parseInt(i.attr("col-index"),10)+1);return}}},_reduceColSpan:function(e){var t=e.prop("colSpan")-1;if(t<=1){e.removeAttr(y);if(e.attr(v)===w)e.attr(v,b)}else e.attr(y,t)}}),Q=A.extend({exec:function(){var e=this.lockRange(),t=m.closest(e.endContainer,[S,D]),i,n,r,a,o;if(!t){this.releaseRange(e);return}i=m.closest(t,C);n=t.parentNode;r=m.findNodeIndex(t,true);a=n.children[r+1];if(this.immutables()&&h.Immutables.immutableParent(t)){this.releaseRange(e);return}this._mapColIndices(i);r=parseInt(p(t).attr("col-index"),10);a=p(n).find("[col-index="+(r+1+this._getColspan(t)-1)+"]").get(0);if(!a||a.rowSpan!==t.rowSpan||t.tagName!==a.tagName){this._clearColIndexAttr(i);this.releaseRange(e);return}o=this._getColspan(t)+this._getColspan(a);p(t).prop(y,o).append(m.emptyNode(a)?"":"
    "+a.innerHTML);p(t).width(t.offsetWidth);p(a).remove();if(t.getAttribute(v)===b)t.setAttribute(v,w);if(t.getAttribute(v)===w)this._adjustColgroups(n,i);if(p(i).find("[headers]").length>0)this._associateHeaderIds(i);this._clearColIndexAttr(i);this.releaseRange(e);this._resetElementResizing(this.editor)},_getColspan:function(e){return parseInt(e.getAttribute(y),10)||1}}),X=A.extend({exec:function(){var e=this.lockRange(),t=m.closest(e.endContainer,[S,D]),i,n,r,a,o,s,l;if(!t){this.releaseRange(e);return}i=m.closest(t,T);n=m.closest(t,[f,d]);r=m.closest(t,C);a=m.findNodeIndex(t,true);o=m.findNodeIndex(i,true);if(o+1===n.rows.length){this.releaseRange(e);return}s=n.rows[o+this._getRowspan(t)];l=s&&s.children[a];if(this.immutables()&&h.Immutables.immutableParent(t)){this.releaseRange(e);return}this._mapColIndices(r);a=p(t).attr("col-index");l=p(s).find("[col-index="+a+"]").get(0);if(!l||l.colSpan!==t.colSpan||t.tagName!==l.tagName){this._clearColIndexAttr(r);this.releaseRange(e);return}p(t).prop(x,this._getRowspan(t)+this._getRowspan(l)).append(m.emptyNode(l)?"":"
    "+l.innerHTML);if(t.getAttribute(v)===_)t.setAttribute(v,k);p(l).remove();if(p(r).find("[headers]").length>0)this._associateHeaderIds(r);this._clearColIndexAttr(r);this.releaseRange(e)},_getRowspan:function(e){return parseInt(e.getAttribute(x),10)||1}}),R=A.extend({exec:function(){var e=this.lockRange(),t=this.options.type,i=t==="row"?y:x,n=m.closest(e.endContainer,[S,D]),r=m.closest(n,[f,d]),a=m.closest(n,C),o=m.createEmptyNode(this.editor.document,n.nodeName.toLowerCase());if(!n||this.immutables()&&h.Immutables.immutableParent(n)){this.releaseRange(e);return}this._mapColIndices(a);if(t==="row"&&p(n).is("["+i+"]"))this._splitCellHorizontally(n,r,i,o);else if(t==="column"&&p(n).is("["+i+"]"))this._splitCellVertically(n,r,i,o);if(p(n).prop(i.toLowerCase())<=1)p(n).removeAttr(i);if(p(a).find("[headers]").length>0)this._associateHeaderIds(a);this._clearColIndexAttr(a);this.releaseRange(e)},_getRowspanValue:function(e){return parseInt(e.getAttribute(x),10)},_getColspanValue:function(e){return parseInt(e.getAttribute(y),10)},_splitCellHorizontally:function(e,t,i,n){var r=e.rowSpan,a=e.colSpan,o=p(n),s=Math.floor(a/2);if(s>1)o.attr(y,s);if(r>1)o.attr(x,r);p(e).prop(i,a-s).after(o);p(e).width(e.offsetWidth);o.width(o[0].offsetWidth);if(e.hasAttribute(v))if(e.getAttribute(v)===w){o.attr(v,b);if(!e.getAttribute(y)||e.getAttribute(y)==="1")e.setAttribute(v,b);this._adjustColgroups(e.parentNode,t.parentNode)}else o.attr(v,e.getAttribute(v))},_splitCellVertically:function(e,t,i,n){var r=m.closest(e,T),a=parseInt(p(e).attr("col-index"),10),o=m.findNodeIndex(r,true),s=e.rowSpan,l=e.colSpan,d=Math.floor(s/2),u=p(t).find(T).eq(o+s-d),f=this._findNextTdInRow(u,a+l),c=p(n);if(d>1)c.attr(x,d);if(l>1)c.attr(y,l);if(f&&f.length)f.before(c);else u.append(c);p(e).prop(i,s-d);if(e.hasAttribute(v))if(e.getAttribute(v)===k){c.attr(v,_);if(!e.getAttribute(x)||e.getAttribute(x)==="1")e.setAttribute(v,_)}else c.attr(v,e.getAttribute(v))}}),N=u.extend({command:function(e){var t={row:{insert:G,delete:Y,merge:Q,split:R},column:{insert:$,delete:K,merge:X,split:R}};e=i(e,this.options);e.action=e.action||"insert";return new t[e.type][e.action](e)},initialize:function(e,t){u.fn.initialize.call(this,e,t);e.addClass("k-disabled");e.attr("disabled","disabled")},update:function(e,t){var i=!W.isFormatted(t);if(i===true){e.parent().addClass("k-hidden k-disabled");e.attr("disabled","disabled");e.addClass("k-disabled")}else{e.parent().removeClass("k-hidden k-disabled");e.prop("disabled",false);e.removeClass("k-disabled")}}}),J=a.extend({exec:function(){var e=this;var t=e.editor;a.fn.exec.call(this);if(t.elementResizing)t.elementResizing._showResizeHandles()}}),P=r.extend({initialize:function(e,t){r.fn.initialize.call(this,e,t);e.addClass("k-disabled");e.attr("disabled","disabled")},update:function(e,t){var i=!W.isFormatted(t);var n=this.options.finder.isFormatted(t,this.isTable);if(i===true){e.parent().addClass("k-hidden k-disabled");e.attr("disabled","disabled");e.addClass("k-disabled")}else{e.parent().removeClass("k-hidden k-disabled");e.prop("disabled",false);e.removeClass("k-disabled")}e.toggleClass("k-selected",n);e.attr("aria-pressed",n)},command:function(e){var t=this;return new J(i(e,{formatter:t.options.formatter}))},isTable:function(e){return m.is(e,"table")}});i(c.ui.editor,{PopupTool:E,TableCommand:j,InsertTableTool:q,TableFormatTool:P,TableFormatCommand:J,TableModificationTool:N,InsertRowCommand:G,InsertColumnCommand:$,DeleteRowCommand:Y,DeleteColumnCommand:K,MergeCellsHorizontallyCommand:Q,MergeCellsVerticallyCommand:X,SplitCellCommand:R}),I("createTable",new q({template:new F({template:s.buttonTemplate,popup:true,title:"Create table"})})),I("addColumnLeft",new N({type:"column",position:"before",template:new F({template:s.buttonTemplate,title:"Add column on the left"})})),I("addColumnRight",new N({type:"column",template:new F({template:s.buttonTemplate,title:"Add column on the right"})})),I("addRowAbove",new N({type:"row",position:"before",template:new F({template:s.buttonTemplate,title:"Add row above"})})),I("addRowBelow",new N({type:"row",template:new F({template:s.buttonTemplate,title:"Add row below"})})),I("deleteRow",new N({type:"row",action:"delete",template:new F({template:s.buttonTemplate,title:"Delete row"})})),I("deleteColumn",new N({type:"column",action:"delete",template:new F({template:s.buttonTemplate,title:"Delete column"})})),I("mergeCellsHorizontally",new N({type:"row",action:"merge",template:new F({template:s.buttonTemplate,title:"Merge Cell Right"})})),I("mergeCellsVertically",new N({type:"column",action:"merge",template:new F({template:s.buttonTemplate,title:"Merge Cell Down"})})),I("splitCellHorizontally",new N({type:"row",action:"split",template:new F({template:s.buttonTemplate,title:"Split Cell"})})),I("splitCellVertically",new N({type:"column",action:"split",template:new F({template:s.buttonTemplate,title:"Split Cell"})})),t("tableAlignLeft",[{tags:["table"],attr:{style:{marginLeft:"",marginRight:"auto"}}},{tags:["table"],attr:{align:"left"}}]),I("tableAlignLeft",new P({format:z.tableAlignLeft,template:new F({template:s.buttonTemplate,title:"Table Align Left"})})),t("tableAlignCenter",[{tags:["table"],attr:{style:{marginLeft:"auto",marginRight:"auto"}}},{tags:["table"],attr:{align:"center"}}]),I("tableAlignCenter",new P({format:z.tableAlignCenter,template:new F({template:s.buttonTemplate,title:"Table Align Center"})})),t("tableAlignRight",[{tags:["table"],attr:{style:{marginLeft:"auto",marginRight:""}}},{tags:["table"],attr:{align:"right"}}]),I("tableAlignRight",new P({format:z.tableAlignRight,template:new F({template:s.buttonTemplate,title:"Table Align Left"})}))})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/clipboard.min",["../command.min"],function(){var y=window.kendo.jQuery,u=window.kendo,e=u.Class,t=u.ui.editor,k=t.RangeUtils,x=t.Dom,n=t.RestorePoint,w=t.Marker,C=u.support.browser,T=y.extend,i=e.extend({init:function(e){this.editor=e;var t=e.options.pasteCleanup;this.cleaners=[new a(t),new o(t),new s(t),new l(t),new f(t),new c(t),new g(t),new v(t)]},htmlToFragment:function(e){var t=this.editor,i=t.document,n=x.create(i,"div"),r=i.createDocumentFragment();n.innerHTML=e;while(n.firstChild)r.appendChild(n.firstChild);return r},isBlock:function(e){return/<(div|p|ul|ol|table|h[1-6])/i.test(e)},_startModification:function(){var e;var t;var i=this.editor;if(this._inProgress)return;this._inProgress=true;e=i.getRange();t=new n(e,i.body);x.persistScrollTop(i.document);return{range:e,restorePoint:t}},_endModification:function(e){t._finishUpdate(this.editor,e.restorePoint);this.editor._selectionChange();this._inProgress=false},_contentModification:function(e,t){var i=this;var n=i.editor;var r=i._startModification();if(!r)return;e.call(i,n,r.range);setTimeout(function(){t.call(i,n,r.range);i._endModification(r)})},_removeBomNodes:function(e){var t=k.textNodes(e);for(var i=0;i10)return;var t=e.clipboardData||e.originalEvent.clipboardData||window.clipboardData||{};var i=t.items||t.files;return this._insertImages(i)},_insertImages:function(e){if(!e)return;var t=y.grep(e,function(e){return/^image\//i.test(e.type)});var i=y.grep(e,function(e){return/^text\/html/i.test(e.type)});if(i.length||!t.length)return;var n=this._startModification();if(!n)return;y.when.apply(y,y.map(t,this._fileToDataURL)).done(y.proxy(function(){var e=Array.prototype.slice.call(arguments);var t=y.map(e,function(e){return''}).join("");this._triggerPaste(t);this._endModification(n)},this));return true},onpaste:function(d){if(this.editor.body.contentEditable==="false")return;if(this._handleImagePaste(d)){d.preventDefault();return}this.expandImmutablesIn();this._contentModification(function e(t,i){var n=x.create(t.document,"div",{className:"k-paste-container",innerHTML:"\ufeff"});var r=u.support.browser;var a=t.body;this._decoreateClipboardNode(n,a);a.appendChild(n);if(r.webkit)this._moveToCaretPosition(n,i);if(r.msie&&r.version<11){d.preventDefault();var o=t.createRange();o.selectNodeContents(n);t.selectRange(o);var s=t.document.body.createTextRange();s.moveToElementText(n);y(a).off("paste");s.execCommand("Paste");y(a).on("paste",y.proxy(this.onpaste,this))}else{var l=t.createRange();l.selectNodeContents(n);t.selectRange(l)}i.deleteContents()},function e(t,i){var n="",r;t.selectRange(i);r=y(t.body).children(".k-paste-container");r.each(function(){var e=this.lastChild;if(e&&x.is(e,"br"))x.remove(e);n+=this.innerHTML});r.remove();this._triggerPaste(n,{clean:true})})},ondragover:function(e){if(C.msie||C.edge){e.stopPropagation();e.preventDefault()}},ondrop:function(e){if(!("FileReader"in window))return;var t=(e.originalEvent||e).dataTransfer||{};var i=t.items||t.files;if(this._insertImages(i))e.preventDefault()},_decoreateClipboardNode:function(e,t){if(!C.msie&&!C.webkit)return;e=y(e);e.css({borderWidth:"0px",width:"0px",height:"0px",overflow:"hidden",margin:"0",padding:"0"});if(C.msie){var i=y(t.ownerDocument.documentElement);e.css({fontVariant:"normal",fontWeight:"normal",lineSpacing:"normal",lineHeight:"normal",textDecoration:"none"});var n=i.css("color");if(n)e.css("color",n);var r=i.css("fontFamily");if(r)e.css("fontFamily",r);var a=i.css("fontSize");if(a)e.css("fontSize",a)}},_moveToCaretPosition:function(e,t){var i=this;var n=i.editor.body;var r=x.offset(e,n);var a=i._caretOffset(t,n);var o=a.left-r.left;var s=a.top-r.top;var l="translate("+o+"px,"+s+"px)";y(e).css({"-webkit-transform":l,transform:l})},_caretOffset:function(e,t){var i=this.editor;var n=x.create(i.document,"span",{innerHTML:"\ufeff"});var r=e.startContainer;var a;if(e.collapsed){var o=x.isDataNode(r);if(o&&(x.isBom(r)||e.startOffset===0))x.insertBefore(n,r);else if(o&&e.startOffset===r.length)x.insertAfter(n,r);else{e.insertNode(n);a=true}}else{r=r===t?r.childNodes[e.startOffset]:r;x.insertBefore(n,r)}var s=x.offset(n,t);var l=n.previousSibling;var d=n.nextSibling;x.remove(n);if(a&&x.isDataNode(l)&&x.isDataNode(d)&&!x.isBom(l)&&!x.isBom(d)){var u=l.length;d.data=l.data+d.data;e.setStart(d,u);x.remove(l);e.collapse(true);i.selectRange(e)}return s},expandImmutablesIn:function(e){var t=this.editor;if(t&&t.options.immutables){var i=t.body;e=e||t.getRange();u.ui.editor.Immutables.expandImmutablesIn(e);if(e.startContainer===i&&e.startOffset===0){var n=i.ownerDocument;var r=n.createTextNode("\ufeff");i.insertBefore(r,i.childNodes[0]);e.setStartBefore(r)}t.selectRange(e)}},splittableParent:function(e,t){var i,n;if(e)return x.closestEditableOfType(t,["p","ul","ol"])||t.parentNode;i=t.parentNode;n=t.ownerDocument.body;if(x.isInline(i))while(i.parentNode!=n&&!x.isBlock(i.parentNode))i=i.parentNode;return i},paste:function(e,t){var i=this.editor,n,r,a;this.expandImmutablesIn();t=T({clean:false,split:true},t);if(!t.skipCleaners)for(n=0,r=this.cleaners.length;n(\s| )*)+(<\/?(div|p|li|col|t))/gi,"$3");e=e.replace(/<(a|span)[^>]*><\/\1>/gi,"")}e=e.replace(/<(a|span|font)([^>]*)> <\/\1>/gi,"<$1$2> ");e=e.replace(/^
  • $/g,"li>");var o=this.isBlock(e);i.focus();var s=i.getRange();s.deleteContents();if(s.startContainer==i.document)s.selectNodeContents(i.body);var l=new w;var d=l.addCaret(s);var u=this.splittableParent(o,d);var f=false;var c=u!=i.body&&!x.is(u,"td");if(t.split&&c&&(o||x.isInline(u))){s.selectNode(d);k.split(s,u,true);f=true}var p=this.htmlToFragment(e);if(p.firstChild&&p.firstChild.className==="k-paste-container"){var h=[];for(n=0,r=p.childNodes.length;n"))}a=p.childNodes;y(a).filter("table").addClass("k-table").end().find("table").addClass("k-table");y(a).each(function(e,t){if(x.isBlock(t)&&!x.isSelfClosing(t)&&t.innerHTML==="")t.appendChild(i.document.createTextNode("\ufeff"))});s.insertNode(p);u=this.splittableParent(o,d);if(f){while(d.parentNode!=u)x.unwrap(d.parentNode);x.unwrap(d.parentNode)}x.normalize(s.commonAncestorContainer);d.style.display="inline";x.restoreScrollTop(i.document);x.scrollTo(d);l.removeCaret(s);var m=s.commonAncestorContainer.parentNode;if(s.collapsed&&x.name(m)=="tbody"||s.collapsed&&x.name(m)=="thead"){s.setStartAfter(y(m).closest("table")[0]);s.collapse(true)}var g=y(s.commonAncestorContainer.parentNode).closest("table");if(g.get(0)){var v=g.parent().contents();var _=v.length-1;var b=v.get(_);while(b.nodeValue!==null&&(b.nodeValue===" "||b.nodeValue==="")){_-=1;b=v.get(_)}if(b===g.get(0)&&!g.parents("table").length)x.insertAfter(x.createEmptyNode(i.document,"p"),g[0])}i.selectRange(s)}}),r=e.extend({init:function(e){this.options=e||{};this.replacements=[]},clean:function(e,t){var i=this,n=t||i.replacements,r,a;for(r=0,a=n.length;r]*)>/i,"<$1telerik:script$2>"]},applicable:function(e){return!this.options.none&&/]*>/i.test(e)}}),o=r.extend({init:function(e){r.fn.init.call(this,e);var t=" ";this.replacements=[/]*>\s*<\/span>/gi,t,/\t/gi,t,/    /gi,t]},applicable:function(e){return/    |class="?Apple-tab-span/i.test(e)}}),s=r.extend({init:function(e){r.fn.init.call(this,e);this.junkReplacements=[/<\?xml[^>]*>/gi,"",//g,"",/"/g,"'",/ <\/o:p>/gi," ",/<\/?(meta|link|style|o:|v:|x:)[^>]*>((?:.|\n)*?<\/(meta|link|style|o:|v:|x:)[^>]*>)?/gi,"",/<\/o>/g,""];this.replacements=this.junkReplacements.concat([/(?:
     [\s\r\n]+|
    )*(<\/?(h[1-6]|hr|p|div|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|address|pre|form|blockquote|dl|dt|dd|dir|fieldset)[^>]*>)(?:
     [\s\r\n]+|
    )*/g,"$1",/

    /g,"

    ",/
    \n/g,"
    ",/
    (?!\n)/g," ",/]*)>(\s| )+]*>(\s| )*<\/tr>/gi,"",/]*>(\s| )*<\/tbody>/gi,"",/]*>(\s| )*<\/table>/gi,"",/

    /g,"
    ",/^\s*( )+/gi,"",/( |]*>)+\s*$/gi,"",/mso-[^;"]*;?/gi,"",/<(\/?)b(\s[^>]*)?>/gi,"<$1strong$2>",/<(\/?)font(\s[^>]*)?>/gi,this.convertFontMatch,/<(\/?)i(\s[^>]*)?>/gi,"<$1em$2>",/style=(["|'])\s*\1/g,"",/(]*>)?\n/g,function(e,t){return t?e:" "}])},convertFontMatch:function(e,t,i){var n=/face=['"]([^'"]+)['"]/i;var r=n.exec(i);var a=i&&r&&r[1];if(t)return"";else if(a)return'';else return""},applicable:function(e){return/class="?Mso/i.test(e)||/style="[^"]*mso-/i.test(e)||/urn:schemas-microsoft-com:office/.test(e)},stripEmptyAnchors:function(e){return e.replace(/]*)>\s*<\/a>/gi,function(e,t){if(!t||t.indexOf("href")<0)return"";return e})},listType:function(e,t){var i=e.innerHTML;var n=x.innerText(e);var r;var a=i.match(/^(?:]*texhtml[^>]*>)?]*(?:Symbol|Wingdings)[^>]*>([^<]+)/i);var o=a&&a[1];var s=/^[a-z\d]/i.test(o);var l=function(e){return e.replace(/^(?: |[\u00a0\n\r\s])+/,"")};if(a)r=true;i=i.replace(/<\/?\w+[^>]*>/g,"").replace(/ /g," ");if(!r&&/^[\u2022\u00b7\u00a7\u00d8o]\u00a0+/.test(i)||r&&/^.\u00a0+/.test(i)||o&&!s&&t)return{tag:"ul",style:this._guessUnorderedListStyle(l(n))};if(/^\s*\w+[\.\)][\u00a0 ]{2,}/.test(i))return{tag:"ol",style:this._guessOrderedListStyle(l(n))}},_convertToLi:function(e){var t;if(e.childNodes.length==1){t=e.firstChild.nodeType===x.nodeTypes.TEXT_NODE?x.innerText(e):e.firstChild.innerHTML.replace(/^\w+[\.\)]( )+ /,"");t=this._checkForBullet(t)}else t=this._getHtmlNoBullet(e);x.remove(e);return x.create(document,"li",{innerHTML:t})},_checkForBullet:function(e){var t=x.create(document,"p",{innerHTML:e});var i=/^\s*\w+[\.\)]\s+/;if(i.test(t.innerText))return this._getHtmlNoBullet(t);return e},_getHtmlNoBullet:function(e){var t,i=x.name(e);x.remove(e.firstChild);if(e.firstChild.nodeType==3)if(/^[ivxlcdm]+\.$/i.test(e.firstChild.nodeValue))x.remove(e.firstChild);if(/^( |\s)+$/i.test(e.firstChild.innerHTML))x.remove(e.firstChild);if(i!="p")t="<"+i+">"+e.innerHTML+"";else t=e.innerHTML;return t},_guessUnorderedListStyle:function(e){if(/^[\u2022\u00b7\u00FC\u00D8\u002dv-]/.test(e))return null;else if(/^o/.test(e))return"circle";else return"square"},_guessOrderedListStyle:function(e){var t=null;if(!/^\d/.test(e))t=(/^[a-z]/.test(e)?"lower-":"upper-")+(/^[ivxlcdm]/i.test(e)?"roman":"alpha");return t},extractListLevels:function(e){var t=/style=['"]?[^'"]*?mso-list:\s?[a-zA-Z]+(\d+)\s[a-zA-Z]+(\d+)\s(\w+)/gi;e=e.replace(t,function(e,t,i){return u.format('data-list="{0}" data-level="{1}" {2}',t,i,e)});return e},_createList:function(e,t){return x.create(document,e,{style:{listStyleType:t}})},lists:function(e){var t=y(e).find(x.blockElements.join(",")),i=-1,n,r={},a,o,s,l,d,u,f,c,p,h,m,g,v=["p","h1","h2","h3","h4","h5","h6"],_=false;for(f=0;fi||!m){m=this._createList(p,k.style);r[h][w]=m;a.appendChild(m)}a=this._convertToLi(c);m.appendChild(a);if(d)o=i=-1;else i=h}},removeAttributes:function(e){var t=e.attributes,i=t.length,n=[],r=function(e){if(e.trim().indexOf("border")===0)n.push(e.trim())},a,o,s;while(i--)if(x.name(t[i])!="colspan"){a=t[i];o=a.name;if(o==="style"&&(e.nodeName==="TD"||e.nodeName==="TH")){s=a.value.split(";");s.forEach(r)}e.removeAttributeNode(t[i])}if(n.length>0)e.setAttribute("style",n.join(";"))},createColGroup:function(e){var t=e.cells;var i=y(e).closest("table");var n=i.children("colgroup");if(t.length<2)return;else if(n.length){t=n.children();n[0].parentNode.removeChild(n[0])}n=y(y.map(t,function(e){var t=e.width;if(t&&parseInt(t,10)!==0)return u.format('',t);return""}).join(""));if(!n.is("colgroup"))n=y("").append(n);n.prependTo(i)},convertHeaders:function(e){var t=e.cells,i,n=y.map(t,function(e){var t=y(e).children("p").children("strong")[0];if(t&&x.name(t)=="strong")return t});if(n.length==t.length){for(i=0;i").end().find("thead").append(e);for(i=0;ia.cells.length)a=n[s];i.createColGroup(a);i.convertHeaders(r);i.removeAttributes(t[o]);i.removeParagraphs(t.eq(o).find("td,th"));i.removeDefaultColors(t.eq(o).find("span"));i.removeTextNodes(t.eq(o).find("tr"))}},headers:function(e){var t=y(e).find("p.MsoTitle");for(var i=0;i]*)\s+class="?[^"\s>]*"?/gi,"$1")}return e}}),l=r.extend({init:function(e){r.fn.init.call(this,e);this.replacements=[/\s+class="Apple-style-span[^"]*"/gi,"",/<(div|p|h[1-6])\s+style="[^"]*"/gi,"<$1",/^
    (.*)<\/div>$/,"$1"]},applicable:function(e){return/class="?Apple-style-span|style="[^"]*-webkit-nbsp-mode/i.test(e)}}),d=r.extend({clean:function(e){var t=x.create(document,"div",{innerHTML:e});t=this.cleanDom(t);return t.innerHTML},cleanDom:function(e){return e}}),f=d.extend({cleanDom:function(e){var t=this.collectTags();y(e).find(t).each(function(){x.unwrap(this)});return e},collectTags:function(){if(this.options.span)return"span"},applicable:function(){return this.options.span}}),c=d.extend({cleanDom:function(e){var t=this.collectAttr();var i=y(e).find("["+t.join("],[")+"]");i.removeAttr(t.join(" "));return e},collectAttr:function(){if(this.options.css)return["class","style"];return[]},applicable:function(){return this.options.css}}),p=function(){this.text="";this.add=function(e){this.text+=e}},h=e.extend({init:function(e){this.separators=e||{text:" ",line:"
    "};this.lines=[];this.inlineBlockText=[];this.resetLine()},appendText:function(e){if(e.nodeType===3)e=e.nodeValue;this.textContainer.add(e)},appendInlineBlockText:function(e){this.inlineBlockText.push(e)},flashInlineBlockText:function(){if(this.inlineBlockText.length){this.appendText(this.inlineBlockText.join(" "));this.inlineBlockText=[]}},endLine:function(){this.flashInlineBlockText();this.resetLine()},html:function(){var e=this.separators;var t="";var i=this.lines;this.flashInlineBlockText();for(var n=0,r=i.length,a=r-1;n"}},actions:{ul:y.noop,ol:y.noop,table:y.noop,thead:y.noop,tbody:y.noop,td:function(e,t){var i=new g({all:true});var n=i.cleanDom(t);e.htmlLines.appendInlineBlockText(n);return true},block:function(e){e.htmlLines.endLine()}}}),v=r.extend({clean:function(e){return this.options.custom(e)},applicable:function(){return typeof this.options.custom==="function"}});T(t,{Clipboard:i,Cleaner:r,ScriptCleaner:a,TabCleaner:o,MSWordFormatCleaner:s,WebkitFormatCleaner:l,HtmlTagsCleaner:f,HtmlAttrCleaner:c,HtmlContentCleaner:g,HtmlTextLines:h,CustomCleaner:v})})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/plugins/keyboard.min",["../command.min"],function(){var b=window.kendo.jQuery,d=window.kendo,e=d.Class,k=d.ui.editor,u=k.RangeUtils,w=k.Dom,f=k.RestorePoint,c=k.Marker,p=d.support.browser,o="\ufeff",h=b.extend,i=w.nodeTypes,y="previousSibling";function m(e,t){return t.startContainer===e&&t.endContainer===e&&t.startOffset===0&&t.endOffset==e.childNodes.length}function x(e,t,i){var n=e?e[t]:null;while(n&&!i(n))n=n[t];return n}var g="td,th,caption",t="table,tbody,thead,tfoot,tr",v=t+","+g,_=function(e){return!e.collapsed&&b(e.commonAncestorContainer).is(t)},C=e.extend({remove:function(e){var t=this;var i=new c;i.add(e,false);var n=u.getAll(e,function(e){return b(e).is(v)});var r=u.documentFromRange(e);var a=i.start;var o=i.end;var s=g.split(",");var l=w.parentOfType(a,s);var d=w.parentOfType(o,s);t._removeContent(a,l,true);t._removeContent(o,d,false);b(n).each(function(e,t){t=b(t);(t.is(g)?t:t.find(g)).each(function(e,t){t.innerHTML=""})});if(l&&!a.previousSibling)w.insertBefore(r.createTextNode("\ufeff"),a);if(d&&!o.nextSibling)w.insertAfter(r.createTextNode("\ufeff"),o);if(l)e.setStartBefore(a);else if(n[0]){l=b(n[0]);l=l.is(g)?l:l.find(g).first();if(l.length)e.setStart(l.get(0),0)}e.collapse(true);w.remove(a);w.remove(o)},_removeContent:function(e,t,i){if(t){var n=i?"nextSibling":"previousSibling",r,a=function(e){while(e&&!e[n])e=e.parentNode;return e&&b.contains(t,e)?e[n]:null};e=a(e);while(e){r=a(e);w.remove(e);e=r}}}}),n=e.extend({init:function(e){this.editor=e},keydown:function(e){var t=this,i=t.editor,n=i.keyboard,r=n.isTypingKey(e),a=h(b.Event(),e);t.editor.trigger("keydown",a);if(a.isDefaultPrevented()){e.preventDefault();return true}if(!a.isDefaultPrevented()&&r&&!n.isTypingInProgress()){var o=i.getRange();var s=i.body;t.startRestorePoint=new f(o,s);if(_(o)){var l=new C(i);l.remove(o);i.selectRange(o)}if(p.webkit&&!o.collapsed&&m(s,o))s.innerHTML="";if(i.immutables&&k.Immutables.immutablesContext(o)){var d=new k.BackspaceHandler(i);d.deleteSelection(o)}n.startTyping(function(){t._removeBomSpan();t.endRestorePoint=k._finishUpdate(i,t.startRestorePoint)});return true}return false},keyup:function(e){var t=this.editor.keyboard;this.editor.trigger("keyup",e);if(t.isTypingInProgress()){t.endTyping();return true}return false},_removeBomSpan:function(){var e=this.editor.getRange().commonAncestorContainer;if(!w.emptyNode(e)){if(e.nodeType===3)e=e.parentNode;if(w.insignificant(e)){e.textContent=w.stripBom(e.textContent);w.unwrap(e)}}}}),r=e.extend({init:function(e){this.editor=e},_addCaret:function(e){var t=w.create(this.editor.document,"a");if(!d.support.browser.chrome&&e.firstChild&&e.firstChild.nodeType===i.ELEMENT_NODE)e=e.firstChild;w.insertAt(e,t,0);w.stripBomNode(t.previousSibling);w.stripBomNode(t.nextSibling);return t},_restoreCaret:function(e){var t=this.editor.createRange();if(!e.nextSibling&&w.isDataNode(e.previousSibling))t.setStart(e.previousSibling,e.previousSibling.length);else t.setStartAfter(e);t.collapse(true);this.editor.selectRange(t);w.remove(e)},_handleDelete:function(e){var t=e.endContainer;var i=w.closestEditableOfType(t,w.blockElements);if(i&&k.RangeUtils.isEndOf(e,i)){var n=w.next(i);if(!n||w.name(n)!="p")return false;var r=w.significantChildNodes(n)[0];r=r&&w.isInline(r)?r:n;var a=this._addCaret(r);this._merge(i,n);this._restoreCaret(a);return true}return false},_cleanBomBefore:function(e){var t=e.startOffset;var i=e.startContainer;var n=i.nodeValue;var r=0;while(t-r>=0&&n[t-r-1]=="\ufeff")r++;if(r>0){i.deleteData(t-r,r);e.setStart(i,Math.max(0,t-r));e.collapse(true);this.editor.selectRange(e)}},_handleBackspace:function(e){var t=e.startContainer;var i=w.closestEditableOfType(t,["li"]);var n=w.closestEditableOfType(t,"p,h1,h2,h3,h4,h5,h6".split(","));var r=this.editor;var a;if(w.isDataNode(t)){if(e.collapsed&&/^\s[\ufeff]+$/.test(t.nodeValue)){e.setStart(t,0);e.setEnd(t,t.length);r.selectRange(e);return false}this._cleanBomBefore(e)}a=x(n,y,function(e){return!w.htmlIndentSpace(e)});if(e.collapsed&&e.startOffset!==e.endOffset&&e.startOffset<0){e.startOffset=0;e.endOffset=0;r.selectRange(e)}var o=i&&k.RangeUtils.isStartOf(e,i);var s=i&&b(i).index();var l=o&&s>0;if(l){n=i;a=w.prev(i)}if(n&&a&&w.is(a,"table")&&k.RangeUtils.isStartOf(e,n)){if(n.innerText==="")n.innerHTML="\ufeff";return true}if(k.RangeUtils.isStartOf(e,n)&&parseInt(n.style.marginLeft,10)>0){r.exec("outdent");return true}if(n&&a&&k.RangeUtils.isStartOf(e,n)||l){var d=w.significantChildNodes(n)[0];d=d&&w.isInline(d)?d:n;var u=this._addCaret(d);this._merge(a,n);this._restoreCaret(u);return true}if(o&&s===0){var f=i.firstChild;if(!f){i.innerHTML=k.emptyElementContent;f=i.firstChild}var c=new k.ListFormatter(w.name(i.parentNode),"p");e.selectNodeContents(i);c.toggle(e);if(w.insignificant(f))e.setStartBefore(f);else e.setStart(f,0);r.selectRange(e);return true}var p=t.childNodes[e.startOffset-1];var h=e;var m=p&&w.closestEditableOfType(p,["a"]);var g=x(p||t,y,function(e){return!w.isDataNode(e)||!w.isBom(e)&&e.length>0});if(m||(e.startOffset===0||p)&&w.is(g,"a")){m=m||g;h=r.createRange();h.setStart(m,m.childNodes.length);h.collapse(true)}m=m||w.closestEditableOfType(p||h.startContainer,["a"]);var v=m&&k.RangeUtils.isEndOf(h,m);if(v){var _=new k.UnlinkCommand({range:h,body:r.body,immutables:!!r.immutables});r.execCommand(_);r._selectionChange()}return false},_handleSelection:function(e){var t=e.commonAncestorContainer;var i=w.closest(t,"table");var n=k.emptyElementContent;var r=this.editor;var a;if(_(e)){var o=new C(r);o.remove(e);r.selectRange(e);return true}var s=new c;s.add(e,false);if(e.commonAncestorContainer===r.body)this._surroundFullyContent(s,e);if(r.immutables)this._handleImmutables(s);this._surroundFullySelectedAnchor(s,e);e.setStartAfter(s.start);e.setEndBefore(s.end);var l=e.startContainer;var d=e.endContainer;e.deleteContents();if(d.tagName.toLocaleLowerCase()==="li"&&w.emptyNode(d)){e.selectNode(d);e.deleteContents()}if(i&&b(i).text()===""){e.selectNode(i);e.deleteContents()}t=e.commonAncestorContainer;if(w.name(t)==="p"&&t.innerHTML===""){t.innerHTML=n;e.setStart(t,0)}this._join(l,d);w.insertAfter(r.document.createTextNode("\ufeff"),s.start);s.remove(e);l=e.startContainer;if(w.name(l)=="tr"){l=l.childNodes[Math.max(0,e.startOffset-1)];e.setStart(l,w.getNodeLength(l))}e.collapse(true);r.selectRange(e);a=l.parentElement||l.parentNode;if(w.isDataNode(l)&&!w.emptyNode(a))this._cleanBomBefore(e);return true},_handleImmutables:function(e){var t=k.Immutables.immutableParent;var i=t(e.start);var n=t(e.start);if(i)w.insertBefore(e.start,i);if(n)w.insertAfter(e.end,n);if(i)w.remove(i);if(n&&n.parentNode)w.remove(n)},_surroundFullyContent:function(e,t){var i=t.commonAncestorContainer.children,n=i[0],r=i[i.length-1];this._moveMarker(e,t,n,r)},_surroundFullySelectedAnchor:function(e,t){var i=e.start,n=b(i).closest("a").get(0),r=e.end,a=b(r).closest("a").get(0);this._moveMarker(e,t,n,a)},_moveMarker:function(e,t,i,n){var r=e.start,a=e.end;if(i&&u.isStartOf(t,i))w.insertBefore(r,i);if(n&&u.isEndOf(t,n))w.insertAfter(a,n)},_root:function(e){while(e&&w.name(e)!="body"&&e.parentNode&&w.name(e.parentNode)!="body")e=e.parentNode;return e},_join:function(e,t){e=this._root(e);t=this._root(t);if(e!=t&&w.is(t,"p"))this._merge(e,t)},_merge:function(e,t){w.removeTrailingBreak(e);while(e&&t.firstChild)if(e.nodeType==1){e=w.list(e)?e.children[e.children.length-1]:e;if(e)e.appendChild(t.firstChild)}else if(e.nodeType===i.TEXT_NODE)this._mergeWithTextNode(e,t.firstChild);else e.parentNode.appendChild(t.firstChild);w.remove(t)},_mergeWithTextNode:function(e,t){if(e&&e.nodeType===i.TEXT_NODE)if(e.nextSibling&&this._isCaret(e.nextSibling))w.insertAfter(t,e.nextSibling);else w.insertAfter(t,e)},_isCaret:function(e){return b(e).is("a")},keydown:function(e){var t,i;var n=this.editor;var r=n.getRange();var a=e.keyCode;var o=d.keys;var s=a===o.BACKSPACE;var l=a==o.DELETE;if(n.immutables&&n.immutables.keydown(e,r))return;if((s||l)&&!r.collapsed)t="_handleSelection";else if(s)t="_handleBackspace";else if(l)t="_handleDelete";if(!t)return;i=new f(r,n.body);if(this[t](r)){e.preventDefault();k._finishUpdate(n,i)}},deleteSelection:function(e){this._handleSelection(e)},keyup:b.noop}),a=e.extend({init:function(e){this.editor=e;this.systemCommandIsInProgress=false},createUndoCommand:function(){this.startRestorePoint=this.endRestorePoint=k._finishUpdate(this.editor,this.startRestorePoint)},changed:function(){if(this.startRestorePoint)return this.startRestorePoint.html!=this.editor.body.innerHTML;return false},keydown:function(e){var t=this,i=t.editor,n=i.keyboard;if(n.isModifierKey(e)){if(n.isTypingInProgress())n.endTyping(true);t.startRestorePoint=new f(i.getRange(),i.body);return true}if(n.isSystem(e)){t.systemCommandIsInProgress=true;if(t.changed()){t.systemCommandIsInProgress=false;t.createUndoCommand()}return true}return false},keyup:function(){var e=this;if(e.systemCommandIsInProgress&&e.changed()){e.systemCommandIsInProgress=false;e.createUndoCommand();return true}return false}}),s=e.extend({init:function(e){this.editor=e},keydown:function(e){if(!p.webkit||e.isDefaultPrevented()||!(e.ctrlKey&&e.keyCode==65&&!e.altKey&&!e.shiftKey))return;if(this.editor.options.immutables)this._toSelectableImmutables();this._selectEditorBody()},_selectEditorBody:function(){var e=this.editor;var t=e.getRange();t.selectNodeContents(e.body);setTimeout(function(){e.selectRange(t)})},_toSelectableImmutables:function(){var e=this.editor,t=e.body,i=k.Immutables.immutable,n=w.emptyTextNode,r=t.firstChild,a=t.lastChild;while(n(r))r=r.nextSibling;while(n(a))a=a.previousSibling;if(r&&i(r))b(o).prependTo(t);if(a&&i(a))b(o).appendTo(t)},keyup:b.noop}),l=e.extend({init:function(e){this.handlers=e;this.typingInProgress=false},isCharacter:function(e){return e>=48&&e<=90||e>=96&&e<=111||e>=186&&e<=192||e>=219&&e<=222||e==229},toolFromShortcut:function(e,t){var i=String.fromCharCode(t.keyCode),n,r,a=this._getShortcutModifier(t,navigator.platform);for(n in e){r=b.extend({ctrl:false,alt:false,shift:false},e[n].options);if((r.key==i||r.key==t.keyCode)&&r.ctrl==a&&r.alt==t.altKey&&r.shift==t.shiftKey)return n}},_getShortcutModifier:function(e,t){var i=t.toUpperCase().indexOf("MAC")>=0;return i?e.metaKey:e.ctrlKey},toolsFromShortcut:function(e,t){var i=String.fromCharCode(t.keyCode),n,r,a,o=[];var s=function(e){return e==i||e==t.keyCode||e==t.charCode};for(n in e){r=b.extend({ctrl:false,alt:false,shift:false},e[n].options);a=Array.isArray(r.key)?b.grep(r.key,s).length>0:s(r.key);if(a&&r.ctrl==t.ctrlKey&&r.alt==t.altKey&&r.shift==t.shiftKey)o.push(e[n])}return o},isTypingKey:function(e){var t=e.keyCode;return this.isCharacter(t)&&!e.ctrlKey&&!e.altKey||t==32||t==13||t==8||t==46&&!e.shiftKey&&!e.ctrlKey&&!e.altKey},isModifierKey:function(e){var t=e.keyCode;return t==17&&!e.shiftKey&&!e.altKey||t==16&&!e.ctrlKey&&!e.altKey||t==18&&!e.ctrlKey&&!e.shiftKey},isSystem:function(e){return e.keyCode==46&&e.ctrlKey&&!e.altKey&&!e.shiftKey},startTyping:function(e){this.onEndTyping=e;this.typingInProgress=true},stopTyping:function(){if(this.typingInProgress&&this.onEndTyping)this.onEndTyping();this.typingInProgress=false},endTyping:function(e){var t=this;t.clearTimeout();if(e)t.stopTyping();else t.timeout=window.setTimeout(b.proxy(t.stopTyping,t),1e3)},isTypingInProgress:function(){return this.typingInProgress},clearTimeout:function(){window.clearTimeout(this.timeout)},notify:function(e,t){var i,n=this.handlers;for(i=0;i0)for(n=0;ne.clientHeight)return t.support.scrollbar();return 0}function _(e,t){if(b(e))return o(e);else return o(e)/t*100}function b(e){return typeof e===h&&c.test(e)}function k(e){return typeof e===h&&p.test(e)}function w(e){return o(e)+u}function y(e){return o(e)+f}(0,s.extend)(t.ui.editor,{ResizingUtils:{constrain:g,getScrollBarWidth:v,calculatePercentageRatio:_,inPercentages:b,inPixels:k,toPercentages:w,toPixels:y}})})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/resizing/table-element-resizing.min",["../main.min","../../kendo.resizable.min","./resizing-utils.min"],function(){var a=window.kendo,e=void 0,s=a.jQuery,n=s.extend,t=s.noop,i=s.proxy,r=a.ui.editor,o=a.Class,l="keydown",d="mousedown",u="mouseenter",f="mouseleave",c="mousemove",p="mouseup",h=",",m=".",g=":last-child",v="table",_=o.extend({init:function(e,t){var i=this;i.options=n({},i.options,t);i.options.tags=Array.isArray(i.options.tags)?i.options.tags:[i.options.tags];if(s(e).is(v)){i.element=e;i._attachEventHandlers()}},destroy:function(){var e=this;var t=e.options.eventNamespace;if(e.element){s(e.element).off(t);e.element=null}s(e.options.rootElement).off(l+t);e._destroyResizeHandle()},options:{tags:[],min:0,rootElement:null,eventNamespace:"",rtl:false,handle:{dataAttribute:"",height:0,width:0,classNames:{},template:""}},_attachEventHandlers:function(){var e=this;var t=e.options;s(e.element).on(c+t.eventNamespace,t.tags.join(h),i(e.detectElementBorderHovering,e))},resizingInProgress:function(){var e=this;var t=e._resizable;if(t)return!!t.resizing;return false},resize:t,detectElementBorderHovering:function(e){var t=this;var i=t.options;var n=i.handle;var r=s(e.currentTarget);var a=t.resizeHandle;var o=n.dataAttribute;if(!t.resizingInProgress())if(!r.is(g)&&t.elementBorderHovered(r,e))if(a){if(a.data(o)&&a.data(o)!==r[0])t.showResizeHandle(r,e)}else t.showResizeHandle(r,e);else if(a)t._destroyResizeHandle()},elementBorderHovered:t,showResizeHandle:function(e,t){var i=this;if(t.buttons!==0)return;i._initResizeHandle();i.setResizeHandlePosition(e);i.setResizeHandleDimensions();i.setResizeHandleDataAttributes(e[0]);i._attachResizeHandleEventHandlers();i._initResizable(e);i._hideResizeMarker();i.resizeHandle.show()},_initResizeHandle:function(){var e=this;var t=e.options;e._destroyResizeHandle();e.resizeHandle=s(t.handle.template).appendTo(t.rootElement)},setResizeHandlePosition:t,setResizeHandleDimensions:t,setResizeHandleDataAttributes:function(e){var t=this;t.resizeHandle.data(t.options.handle.dataAttribute,e)},_attachResizeHandleEventHandlers:function(){var e=this;var t=e.options;var i=t.eventNamespace;var n=t.handle.classNames.marker;var r=e.resizeHandle;e.resizeHandle.on(d+i,function(){r.find(m+n).show()}).on(p+i,function(){r.find(m+n).hide()})},_hideResizeMarker:function(){var e=this;e.resizeHandle.find(m+e.options.handle.classNames.marker).hide()},_destroyResizeHandle:function(){var e=this;if(e.resizeHandle){e._destroyResizable();e.resizeHandle.off(e.options.eventNamespace).remove();e.resizeHandle=null}},_initResizable:function(e){var t=this;if(!t.resizeHandle)return;t._destroyResizable();t._resizable=new a.ui.Resizable(e,{draggableElement:t.resizeHandle[0],start:i(t.onResizeStart,t),resize:i(t.onResize,t),resizeend:i(t.onResizeEnd,t)})},_destroyResizable:function(){var e=this;if(e._resizable){e._resizable.destroy();e._resizable=null}},onResizeStart:function(){this._disableKeyboard()},onResize:function(e){this.setResizeHandleDragPosition(e)},setResizeHandleDragPosition:t,onResizeEnd:function(e){var t=this;t.resize(e);t._destroyResizeHandle();t._enableKeyboard()},_enableKeyboard:function(){var e=this.options;s(e.rootElement).off(l+e.eventNamespace)},_disableKeyboard:function(){var e=this.options;s(e.rootElement).on(l+e.eventNamespace,function(e){e.preventDefault()})},_forceResizing:function(e){var t=this._resizable;if(t&&t.userEvents)t.userEvents._end(e)}}),b=o.extend({create:function(n,r){var a=this;var o=r.name;var e=r.eventNamespace;s(n.body).on(u+e,v,function(e){var t=e.currentTarget;var i=n[o];e.stopPropagation();if(i){if(i.element!==t&&!i.resizingInProgress()){a._destroyResizing(n,r);a._initResizing(n,t,r)}}else a._initResizing(n,t,r)}).on(f+e,v,function(e){var t;var i=n[o];e.stopPropagation();if(i&&!i.resizingInProgress()&&!i.resizeHandle){t=s(i.element).parents(v)[0];if(t){a._destroyResizing(n,r);a._initResizing(n,t,r)}}}).on(f+e,function(){var e=n[o];if(e&&!e.resizingInProgress())a._destroyResizing(n,r)}).on(p+e,function(e){var t=n[o];var i;if(t&&t.resizingInProgress()){i=s(e.target).parents(v)[0];if(i){t._forceResizing(e);a._destroyResizing(n,r);a._initResizing(n,i,r)}}})},dispose:function(e,t){s(e.body).off(t.eventNamespace)},_initResizing:function(e,t,i){var n=i.name;var r=i.type;e[n]=new r(t,{rtl:a.support.isRtl(e.element),rootElement:e.body})},_destroyResizing:function(e,t){var i=t.name;if(e[i]){e[i].destroy();e[i]=null}}});b.current=new b,_.create=function(e,t){b.current.create(e,t)},_.dispose=function(e,t){b.current.dispose(e,t)},n(r,{TableElementResizing:_})})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/resizing/column-resizing.min",["../main.min","./resizing-utils.min","./table-element-resizing.min","../dom.min"],function(){var v=window.kendo,e=void 0,t,i,s=window.Math.abs,_=v.jQuery,n=_.extend,r=v.ui.editor,c=r.Dom,a=r.TableElementResizing,o=r.ResizingUtils,b=o.constrain,l=o.calculatePercentageRatio,k=o.getScrollBarWidth,d=o.inPercentages,u=o.toPercentages,f=o.toPixels,w=v._outerWidth,p=".kendoEditorColumnResizing",h="k-column-resize-handle",m="k-column-resize-marker",y="body",g="tbody",x="thead",C="td",T,S="tr",D="col-index",F=",",I="width",z=a.extend({options:{tags:[C,"th"],min:20,rootElement:null,eventNamespace:p,rtl:false,handle:{dataAttribute:"column",width:10,height:0,classNames:{handle:h,marker:m},template:'
    '+'
    '+'
    '+"
    "+"
    "}},elementBorderHovered:function(e,t){var i=this;var n=i.options;var r=n.handle.width;var a=e.offset().left+(n.rtl?0:w(e));var o=t.clientX+_(e[0].ownerDocument).scrollLeft();if(o>a-r&&o=85))l=l*-1;t.resizeHandle.css({top:c+s,left:f+d+(l-u)-a/2,position:"absolute"})},setResizeHandleDimensions:function(){var e=this;var t=_(e.element).children(x);var i=_(e.element).children(g);var n=t.length>0?t.height()+i.height():i.height();e.resizeHandle.css({width:e.options.handle.width,height:n})},setResizeHandleDragPosition:function(e){var t=this;var i=_(_(e.currentTarget).data(t.options.handle.dataAttribute));var n=t.options;var r=_(n.rootElement);var a=n.handle?n.handle.width:0;var o=n.min;var s=n.rtl;var l=w(i);var d=i.offset().left-(r.offset().left+parseFloat(r.css("borderLeftWidth")))-parseFloat(i.css("marginLeft"));var u=w(i.next());var f=_(t.resizeHandle);var c=r.is(y)?0:v.scrollLeft(r);var p=s?k(r[0]):0;var h=f.offset().left-(r.offset().left+parseFloat(r.css("borderLeftWidth")))-parseFloat(f.css("marginLeft"));var m=v.support.browser;if(s&&(m.mozilla||m.webkit&&m.version>=85))c=c*-1;var g=b({value:h+(c-p)+e.x.delta,min:d+(c-p)-(s?u:0)+o,max:d+l+(c-p)+(s?0:u)-a-o});f.css({left:g})},resize:function(e){var t=this;var i=_(_(e.currentTarget).data(t.options.handle.dataAttribute));var n=t.options;var r=n.rtl?-1:1;var a=n.min;var o=r*e.x.initialDelta;var s;var l;var d;var u;var f;c.reMapTableColumns(t.element,D);u=parseInt(i.attr(D),10);if(i.prop("colSpan")>1){i=_(t.element).find("["+D+"="+(u+i.prop("colSpan")-1)+"]").eq(0);u=parseInt(i.attr(D),10)}f=_(t.element).find("["+D+"="+(u+1)+"]:not([colspan])");t._setTableComputedWidth();t._setColumnsComputedWidth();d=w(i);l=w(f);s=b({value:d+o,min:a,max:d+l-a});t._resizeColumn(i[0],s);t._resizeTopAndBottomColumns(i[0],s);t._resizeAdjacentColumns(parseInt(i.attr(D),10),l,d,d-s);c.clearTableMappings(t.element,D)},_setTableComputedWidth:function(){var e=this.element;if(e.style[I]==="")e.style[I]=f(w(_(e)))},_setColumnsComputedWidth:function(){var e=this;var t=_(e.element.tHead||e.element.tBodies[0]);var i=w(t);var n=t.children(S).children(C);var r=n.length;var a=n.map(function(){return w(_(this))});var o;for(o=0;o'+'
    '+'
    '+'
    '+"
    "+"
    "+"
    "}},elementBorderHovered:function(e,t){var i=this;var n=i.options.handle[T];var r=e.offset().top+_(e);var a=t.clientY+g(e[0].ownerDocument).scrollTop();if(a>r-n&&a=85))o=o*-1;t.resizeHandle.css({top:d+_(e)+a-n/2,left:l+(o-s),position:"absolute"})},setResizeHandleDimensions:function(){var e=this;var t=g(e.element.tHead||e.element.tBodies[0]);e.resizeHandle.css({width:t.width(),height:e.options.handle[T]})},setResizeHandleDragPosition:function(e){var t=this;var i=t.options;var n=i.min;var r=g(t.element).children(x);var a=g(t.element).children(y);var o=r.length>0?r:a;var s=g(t.resizeHandle);var l=g(e.currentTarget).data(i.handle.dataAttribute);var d=g(l);var u=g(i.rootElement);var f=u.is(k)?0:u.scrollTop();var c=o.offset().top-(u.offset().top+parseFloat(u.css("borderTopWidth")))-parseFloat(o.css("marginTop"));var p=d.offset().top-(u.offset().top+parseFloat(u.css("borderTopWidth")))-parseFloat(d.css("marginTop"));var h=s.offset().top-(Math.max(0,u.offset().top)+parseFloat(u.css("borderTopWidth")))-parseFloat(s.css("marginTop"));var m=v({value:h+f+e.y.delta,min:p+f+n,max:c+_(r)+_(a)+f-i.handle[T]-n});s.css({top:m})},resize:function(e){var t=this;var i=t.options;var n=g(e.currentTarget).data(i.handle.dataAttribute);var r=_(g(n));var a=g(t.element);var o=_(a);var s=a.children(x);var l=s.length>0?s.height():0;var d=a.children(y);var u=d.height();var f=n.style[T];var c=v({value:r+e.y.initialDelta,min:i.min,max:p(l+u-i.min)});t._setRowsHeightInPixels();n.style[T]=m(c);t._setTableHeight(o+(c-r));if(h(f))t._setRowsHeightInPercentages()},_setRowsHeightInPixels:function(){var e=this;var t=g(e.element).children(y+C+x).children(w);var i=t.length;var n=t.map(function(){return _(g(this))});var r;for(r=0;r0?t.height():0;var n=g(e.element).children(y);var r=n.height();var a=g(e.element).children(x+C+y).children(w);var o=a.length;var s=a.map(function(){return _(g(this))});var l;for(l=0;l"+"
    "+""},events:[h,m,g,_,b],show:function(){this._setPosition()},_setPosition:function(){var e=this;var t=e._positioningStrategy.getPosition();s(e.element).css({top:t.top,left:t.left,position:"absolute"})},_attachEventHandlers:function(){var e=this;s(e.element).on(_+c,n(e._onMouseOver,e)).on(b+c,n(e._onMouseOut,e))},_onMouseOver:function(){this.trigger(_)},_onMouseOut:function(){this.trigger(b)},_addStyles:function(){var e=this;s(e.element).children(L+p).addClass("k-resize-"+e.options.direction)},_initPositioningStrategy:function(){var e=this;var t=e.options;e._positioningStrategy=z.create({name:t.direction,handle:e.element,resizableElement:t.resizableElement,rootElement:t.rootElement,rtl:t.rtl})},_initDraggable:function(){var e=this;var t=e.element;if(e._draggable||!t)return;e._draggable=new a(t,{dragstart:n(e._onDragStart,e),drag:n(e._onDrag,e),dragend:n(e._onDragEnd,e)})},_onDragStart:function(){this.trigger(h)},_onDrag:function(e){var t=this;t.trigger(m,t._draggingStrategy.adjustDragDelta({deltaX:e.x.delta,deltaY:e.y.delta,initialDeltaX:e.x.initialDelta,initialDeltaY:e.y.initialDelta}))},_onDragEnd:function(){this.trigger(g)},_destroyDraggable:function(){var e=this;if(e._draggable){e._draggable.destroy();e._draggable=null}},_initDraggingStrategy:function(){var e=this;e._draggingStrategy=A.create({name:e.options.direction})}}),F=r.extend({init:function(){this._items=[]},register:function(e,t){this._items.push({name:e,type:t})},create:function(e){var t=this._items;var i=t.length;var n=e.name?e.name.toLowerCase():"";var r;var a;var o;for(o=0;o=85))a=a*-1;return{top:e.top+(i.scrollTop()||0),left:e.left+a-n}}return e}})),V=(z.create=function(e){return I.current.create(e)},z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top+f(e)/2,left:t.left+u(e)+i}}})),U=(I.current.register(k,V),z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top,left:t.left+u(e)/2+i}}})),W=(I.current.register(w,U),z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top,left:t.left+u(e)+i}}})),j=(I.current.register(y,W),z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top,left:t.left+i}}})),q=(I.current.register(x,j),z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top+f(e),left:t.left+u(e)/2+i}}})),G=(I.current.register(C,q),z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top+f(e),left:t.left+u(e)+i}}})),$=(I.current.register(T,G),z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top+f(e),left:t.left+i}}})),Y=(I.current.register(S,$),z.extend({calculatePosition:function(){var e=s(this.options.resizableElement);var t=e.position();var i=parseInt(e.css("marginLeft"),10);return{top:t.top+f(e)/2,left:t.left+i}}})),E=(I.current.register(D,Y),F.extend({})),A=(E.current=new E,r.extend({init:function(e){var t=this;t.options=i({},t.options,e)},options:{deltaX:{adjustment:null,modifier:null},deltaY:{adjustment:null,modifier:null}},adjustDragDelta:function(e){var t=this.options;var i=t.deltaX.adjustment*t.deltaX.modifier;var n=t.deltaY.adjustment*t.deltaY.modifier;return{deltaX:e.deltaX*i,deltaY:e.deltaY*n,initialDeltaX:e.initialDeltaX*i,initialDeltaY:e.initialDeltaY*n}}})),R=(A.create=function(e){return E.current.create(e)},A.extend({options:{deltaX:{adjustment:1,modifier:1},deltaY:{adjustment:0,modifier:0}}})),K=R.extend({options:{deltaX:{modifier:1}}}),Q=(E.current.register(k,K),R.extend({options:{deltaX:{modifier:-1}}})),N=(E.current.register(D,Q),A.extend({options:{deltaX:{adjustment:0,modifier:0},deltaY:{adjustment:1,modifier:1}}})),X=N.extend({options:{deltaY:{modifier:-1}}}),J=(E.current.register(w,X),N.extend({options:{deltaY:{modifier:1}}})),P=(E.current.register(C,J),A.extend({options:{deltaX:{adjustment:1,modifier:1},deltaY:{adjustment:1,modifier:1}}})),Z=P.extend({options:{deltaX:{modifier:1},deltaY:{modifier:-1}}}),ee=(E.current.register(y,Z),P.extend({options:{deltaX:{modifier:-1},deltaY:{modifier:-1}}})),te=(E.current.register(x,ee),P.extend({options:{deltaX:{modifier:1},deltaY:{modifier:1}}})),ie=(E.current.register(T,te),P.extend({options:{deltaX:{modifier:-1},deltaY:{modifier:1}}}));E.current.register(S,ie),i(t,{ElementResizeHandle:B})})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/resizing/element-resizing.min",["../main.min","./element-resize-handle.min","./resizing-utils.min"],function(){var d=window.kendo,H=void 0,M,e=window.Math,m=e.min,g=e.max,v=d.jQuery,s=v.contains,o=v.extend,a=v.proxy,O=d.support.browser,t=d.ui.editor,i=d.Class,L=t.ElementResizeHandle,n=t.ResizingUtils,_=n.calculatePercentageRatio,b=n.constrain,k=n.inPercentages,B=n.inPixels,w=n.toPercentages,y=n.toPixels,c=d._outerWidth,x=d._outerHeight,r=t.RangeUtils,l=".kendoEditorElementResizing",u="k-element-resize-handle-wrapper",V="k-table",f="k-element-resizing",p="dragStart",h="drag",C="dragEnd",T="keydown",S="mousedown",U="mouseover",W="mouseout",j="select",q="drop",G="td",D="tr",F="tbody",I="thead",$="table",Y="img",K=["TABLE","IMG"],z=",",E="width",A="height",Q,X,J,Z,ee,te,ie,ne,re=".";function R(e){return typeof e==="undefined"}var N=i.extend({init:function(e,t){var i=this;i.options=o({},i.options,t);i.handles=[];if(K.indexOf(e.nodeName)>=0)i.element=e},destroy:function(){var e=this;v(e.element).off(l);e.element=null;v(e.options.rootElement).off(T+l);e._destroyResizeHandles()},options:{appendHandlesTo:null,rtl:false,rootElement:null,minWidth:10,minHeight:10,handles:[{direction:"northwest"},{direction:"north"},{direction:"northeast"},{direction:"east"},{direction:"southeast"},{direction:"south"},{direction:"southwest"},{direction:"west"}]},resize:function(e){var t=this;var i=o({},{deltaX:0,deltaY:0,initialDeltaX:0,initialDeltaY:0},e);t._resizeWidth(i.deltaX,i.initialDeltaX);t._resizeHeight(i.deltaY,i.initialDeltaY);t.showResizeHandles()},_resizeWidth:function(){return false},_resizeHeight:function(){return false},_getMaxDimensionValue:function(e){var t=this;var i=v(t.element);var n=e.toLowerCase();var r=t.options.rtl?-1:1;var a=v(t.element).parent();var o=a[0];var s=a[n]();var l=r*(e===E?d.scrollLeft(a):a.scrollTop());if(o&&o===i.closest(G)[0])if(o.style[n]===""&&!k(t.element.style[n]))return Infinity;else return s+l;else return s+l},showResizeHandles:function(){var e=this;e._initResizeHandles();e._showResizeHandles()},_initResizeHandles:function(){var e=this;var t=e.handles;var i=e.options;var n=e.options.handles;var r=n.length;var a;if(t&&t.length>0)return;for(a=0;ao){d=g(f,o);u=m(f,o)}else{d=m(f,o);u=g(f,o)}l=w(_(d,u))}else l=y(f);i._setColumnsWidth();n[0].style[E]=l},_resizeHeight:function(e,t){var i=this;var n=v(i.element);var r=n[0].style[A];var a=x(n);var o=n.parent();var s=o.height();var l=i._getMaxDimensionValue(A);var d;var u;var f;var c;var p=i.options.minHeight;var h=i._hasRowsInPixels();if(e===0)return;if(R(i._initialElementHeight))i._initialElementHeight=a;c=b({value:i._initialElementHeight+t,min:p,max:l});if(h&&e<0)i._setRowsHeightInPercentages();if(k(r)){if(a+e>s){u=g(c,s);f=m(c,s)}else{u=m(c,s);f=g(c,s)}d=w(_(u,f))}else d=y(c);n[0].style[A]=d;if(h&&e<0)i._setRowsHeightInPixels()},_setColumnsWidth:function(){var e=this;var t=v(e.element);var i=t.parent()[0];var n=t.closest(G);var r=n.closest(D).children();var a=r.length;var o;function s(e){var t=e.style.width;if(t!=="")return k(t)?true:false;else return v(e).hasClass(V)?true:false}if(s(t[0])&&i===n[0]&&i.style[E]==="")for(o=0;o0?t.height():0;var n=v(e.element).children(F);var r=n.height();var a=v(e.element).children(I+z+F).children(D);var o=a.length;var s=a.map(function(){return x(v(this))});var l;for(l=0;l1)a.elementResizing._destroyResizeHandles()}).on(q+l,function(){setTimeout(function(){var e=r.image(a.getRange());if(e){a.elementResizing._destroyResizeHandles();a.elementResizing.element=e;a.elementResizing.showResizeHandles()}})}).on(S+l,$+z+Y,function(e){var t=e.target;var i=e.currentTarget;var n=a.elementResizing;var r=n?n.element:null;if(n){if(r&&i!==r)if(s(i,r)&&r!==t&&s(r,t))return;else if(r!==t){a._destroyElementResizing();o._initResizing(a,i)}}else o._initResizing(a,i);a._showElementResizeHandles()}).on(S+l,function(e){var t=a.elementResizing;var i=t?t.element:null;var n=e.target;var r=v(n).hasClass(u)||v(n).parents(re+u).length>0;if(t&&i!==n&&!s(i,n)&&!r)a._destroyElementResizing()})},dispose:function(e){v(e.body).off(l)},_initResizing:function(e,t){if(!O.msie){if(v(t).is($))e.elementResizing=e.tableResizing=new ae(t,{appendHandlesTo:e.body,rtl:d.support.isRtl(e.element),rootElement:e.body});else if(v(t).is(Y))e.elementResizing=new oe(t,{appendHandlesTo:e.body,rtl:d.support.isRtl(e.element),rootElement:e.body});if(e._showElementResizeHandlesProxy){e.unbind(j,e._showElementResizeHandlesProxy);e.bind(j,e._showElementResizeHandlesProxy)}}}});P.current=new P,o(t,{TableResizing:ae,ImageResizing:oe,ElementResizing:N,ElementResizingFactory:P})})}("function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()}),function(define){define("editor/table-wizard/table-wizard-command.min",["./../plugins/tables.min"],function(){var m=window.kendo.jQuery,g=void 0,s=window.kendo,l=s.ui.editor,e=l.EditorUtils,i=l.RangeUtils,v=l.Dom,t=e.registerTool,n=l.ToolTemplate,r=l.Command,a=new l.BlockFormatFinder([{tags:["table"]}]),o=new l.BlockFormatFinder([{tags:["td","th"]}]),d=/([a-z]+|%)$/i,u="col",f="row",c="colgroup",p="scope",_="col-index",b="th",k="td",h="thead",w="headers",y="table",x=r.extend({exec:function(){var e=this;var t=e.editor;var i=e.range=e.lockRange();var n=e._sourceTable=!e.options.insertNewTable?e._selectedTable(i):g;var r=e._selectedTableCells=n?e._selectedCells(i):g;var a={visible:false,messages:t.options.messages,closeCallback:m.proxy(e.onDialogClose,e),table:e.parseTable(n,r),dialogOptions:t.options.dialogOptions,isRtl:s.support.isRtl(t.wrapper)};var o=new l.TableWizardDialog(a);o.open()},onDialogClose:function(e){var t=this;t.releaseRange(t.range);if(e)if(t.options.insertNewTable)t.insertTable(t.createNewTable(e));else t.updateTable(e,t._sourceTable,t._selectedTableCells)},releaseRange:function(e){var t=this;var i=t.editor.document;v.windowFromDocument(i).focus();r.fn.releaseRange.call(t,e)},insertTable:function(e){var t=this.range;t.insertNode(e);t.collapse(true);this.editor.selectRange(t);this._ensureFocusableAfterTable(e)},_ensureFocusableAfterTable:function(e){var t=m(e).parent().contents();var i=t.length-1;var n=t.get(i);while(n.nodeValue!==null&&(n.nodeValue===" "||n.nodeValue==="")){i-=1;n=t.get(i)}if(n===e)v.insertAfter(v.createEmptyNode(this.editor.document,"p"),e)},updateTable:function(e,t,i){var n=this;var r=m(t.rows).toArray();var a=e.tableProperties;var o=a.rows;var s=t.tHead;var l=n._lastInCollection;var d,u;while(i.length>1)i.pop();d=i.length?l(i).parentNode:l(r);n._deleteTableRows(r,r.length-o);if(r.length-1};t.each(function(e,t){if(t.id&&v.is(t,b))i.push(t.id)});var n=t.filter(function(e,t){var i=t.getAttribute(w);var n;if(i&&!v.is(t,b)){n=i.split(" ");if(n&&n.length>0)return n.some(r)}return false});return!!n.length},_insertCells:function(e,t,i){i=isNaN(i)?-1:i;for(var n=0,r;n0){o=r.createTHead();t._createTableRows(e,o,a,true);a+=n.headerRows}var s=r.createTBody();t._createTableRows(e,s,a,false);v.reMapTableColumns(r,_);if(n.cellsWithHeaders==="ids")v.associateWithIds(r);else if(n.cellsWithHeaders==="scope")t._addScopes(r,n.headerRows,n.headerColumns);v.clearTableMappings(r,_);return r},_createTableRows:function(e,t,i,n){var r=this;var a=e.tableProperties;var o=e.cellProperties;var s=a.columns;var l=n?a.headerRows:a.rows;var d=o.selectAllCells;var u=a.headerColumns;for(var f=i,c;fp)h=document.createElement(b);else h=document.createElement(k);c.appendChild(h);h.innerHTML=" ";if(f===0&&p===0&&o.id)h.id=o.id;r._updateCellProperties(h,d||f===0&&p===0?o:{})}}},_addRows:function(e,t,i){var n=this;var r=m(e).index();var a=e.cells.length;var o=t-i.length;var s=e.parentNode;var l;while(o){l=s.insertRow(r+1);n._insertCells(a-l.cells.length,l);o--}},_updateColumns:function(e,r,t,i){var n=this;var a=n._lastInCollection;var o=a(e[0].cells);var s=Number(o.getAttribute(_))+o.colSpan;if(s>r)m(e).each(function(e,t){var i=a(t.cells);var n=Number(i.getAttribute(_))+i.colSpan;while(n>r){if(i.colSpan&&i.colSpan>1)i.colSpan-=1;else t.deleteCell(-1);i=a(t.cells);n=Number(i.getAttribute(_))+i.colSpan}});if(ss.getAttribute(_)))v.changeTag(s,b,false);else if(i._isHeadingCell(s)&&l>=n.headerRows&&n.headerColumns<=s.getAttribute(_))v.changeTag(s,k,false)}}},_updateHeadersWithThead:function(e,t){var i=this;var n=t.tableProperties;var r=e.tHead;var a=0;var o=e.tBodies[0];var s,l,d;if(!o)o=e.createTBody();if(n.headerRows&&n.headerRows>0){if(!r)r=e.createTHead();while(r.rows.lengthn.headerRows)o.appendChild(r.rows[0]);i._swapToHeaderCells(r)}else if(r){while(r.rows.length>0)o.appendChild(r.rows[r.rows.length-1]);e.deleteTHead()}while(o.rows.length>a){s=o.rows[a];for(d=0;dl.getAttribute(_))v.changeTag(l,b,false)}a+=1}},_updateHeaderAssociates:function(e,t){var i=this;if(t.cellsWithHeaders==="ids"){if(!i.cellsWithHeadersAssociated(e))i._removeScopes(e);v.associateWithIds(e)}else if(t.cellsWithHeaders==="scope"){if(i.cellsWithHeadersAssociated(e))i._removeAssociates(e);i._addScopes(e,t.headerRows,t.headerColumns)}else if(i.cellsWithHeadersAssociated(e))i._removeAssociates(e);else i._removeScopes(e)},_addScopes:function(e,t,i){var n=e.rows;var r,a,o,s;for(r=0;r0)f="scope";else f="none";v.reMapTableColumns(e,_);var c=v._getNumberOfColumns(e);var p=v._getNumberOfHeaderColumns(e,u);v.clearTableMappings(e,_);var h={tableProperties:{width:n.width||e.width?parseFloat(n.width||e.width):null,height:n.height||e.height?parseFloat(n.height||e.height):null,columns:c,rows:r.length,widthUnit:i._getUnit(n.width),heightUnit:i._getUnit(n.height),cellSpacing:e.cellSpacing,cellPadding:e.cellPadding,alignment:l.textAlign,bgColor:n.backgroundColor||e.bgColor,className:s,id:e.id,borderWidth:n.borderWidth||e.border,borderColor:n.borderColor,borderStyle:n.borderStyle||"",collapseBorders:!!n.borderCollapse,summary:e.summary,captionContent:a?o.html():"",captionAlignment:a&&d.textAlign?d.textAlign+" "+d.verticalAlign:"",headerRows:u,headerColumns:p,cellsWithHeaders:f},selectedCells:[]};h.rows=i.parseTableRows(r,t,h);return h},parseTableRows:function(e,t,i){var n=this;var r=[],a,o,s,l,d;for(var u=0;u
    ",valueTemplate:""},s={dataSource:[{className:"k-icon k-i-table-align-top-left",value:"left top"},{className:"k-icon k-i-table-align-top-center",value:"center top"},{className:"k-icon k-i-table-align-top-right",value:"right top"},{className:"k-icon k-i-table-align-middle-left",value:"left middle"},{className:"k-icon k-i-table-align-middle-center",value:"center middle"},{className:"k-icon k-i-table-align-middle-right",value:"right middle"},{className:"k-icon k-i-table-align-bottom-left",value:"left bottom"},{className:"k-icon k-i-table-align-bottom-center",value:"center bottom"},{className:"k-icon k-i-table-align-bottom-right",value:"right bottom"},{className:"k-icon k-i-align-remove",value:""}],dataTextField:"className",dataValueField:"value",template:"",valueTemplate:""},f={dataSource:[{className:"k-icon k-i-table-align-top-left",value:"left top"},{className:"k-icon k-i-table-align-top-center",value:"center top"},{className:"k-icon k-i-table-align-top-right",value:"right top"},{className:"k-icon k-i-table-align-bottom-left",value:"left bottom"},{className:"k-icon k-i-table-align-bottom-center",value:"center bottom"},{className:"k-icon k-i-table-align-bottom-right",value:"right bottom"},{className:"k-icon k-i-align-remove",value:""}],dataTextField:"className",dataValueField:"value",template:"",valueTemplate:""},t='
    '+'
    '+'
    '+"
      "+'
    • #= messages.tableTab #
    • '+"
    • #= messages.cellTab #
    • "+"
    • #= messages.accessibilityTab #
    • "+"
    "+'
    '+'
    '+''+"
    "+'
    '+''+''+"
    "+'
    '+''+"
    "+'
    '+''+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
     
    '+'
    '+''+''+"
    "+"
    "+'
    '+'
    '+''+''+"
    "+'
    '+''+"
    "+'
    '+''+''+"
    "+'
    '+''+"
    "+'
    '+''+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
     
    '+'
    '+''+''+"
    "+"
    "+'
    '+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+''+"
    "+'
    '+'"+"
    "+"
    "+"
    "+'
    '+''+''+"
    "+"
    "+"
    ",i=p.Class.extend({init:function(e){this.options=e},open:function(){var t=this,i=t.options,e=i.dialogOptions,n=i.table,r,a=i.messages,o=p.support.browser.msie;function s(e){e.preventDefault();t.destroy();r.destroy()}function l(e){t.collectDialogValues(n);s(e);if(t.change)t.change();i.closeCallback(n)}function d(e){s(e);i.closeCallback()}e.close=d;e.title=a.tableWizard;e.visible=i.visible;r=c(t._dialogTemplate(a)).appendTo(document.body).kendoWindow(e).closest(".k-window").toggleClass("k-rtl",i.isRtl).end().find(".k-dialog-ok").on("click",l).end().find(".k-dialog-close").on("click",d).end().data("kendoWindow");var u=r.element;t._initTabStripComponent(u);t._initTableViewComponents(u,n);t._initCellViewComponents(u,n);t._initAccessibilityViewComponents(u,n);r.center();r.open();if(o){var f=u.closest(".k-window").height();u.css("max-height",f)}},_initTabStripComponent:function(e){var t=this.components={};t.tabStrip=e.find("#k-table-wizard-tabs").kendoTabStrip({animation:false}).data("kendoTabStrip")},collectDialogValues:function(){var e=this;var t=e.options.table;e._collectTableViewValues(t);e._collectCellViewValues(t);e._collectAccessibilityViewValues(t)},_collectTableViewValues:function(e){var t=this.components.tableView;var i=e.tableProperties;i.width=t.width.value();i.widthUnit=t.widthUnit.value();i.height=t.height.value();i.columns=t.columns.value();i.rows=t.rows.value();i.heightUnit=t.heightUnit.value();i.cellSpacing=t.cellSpacing.value();i.cellPadding=t.cellPadding.value();i.alignment=t.alignment.value();i.bgColor=t.bgColor.value();i.className=t.className.value;i.id=t.id.value;i.borderWidth=t.borderWidth.value();i.borderColor=t.borderColor.value();i.borderStyle=t.borderStyle.value();i.collapseBorders=t.collapseBorders.checked},_collectCellViewValues:function(e){var t=e.cellProperties={};var i=this.components.cellView;t.selectAllCells=i.selectAllCells.checked;t.width=i.width.value();t.widthUnit=i.widthUnit.value();t.height=i.height.value();t.heightUnit=i.heightUnit.value();t.cellMargin=i.cellMargin.value();t.cellPadding=i.cellPadding.value();t.alignment=i.alignment.value();t.bgColor=i.bgColor.value();t.className=i.className.value;t.id=i.id.value;t.borderWidth=i.borderWidth.value();t.borderColor=i.borderColor.value();t.borderStyle=i.borderStyle.value();t.wrapText=i.wrapText.checked;if(!t.width){t.selectAllCells=true;t.width=100/e.tableProperties.columns;t.widthUnit="%"}},_collectAccessibilityViewValues:function(e){var t=e.tableProperties;var i=this.components.accessibilityView;t.captionContent=i.captionContent.value;t.captionAlignment=i.captionAlignment.value();t.summary=i.summary.value;t.cellsWithHeaders=i.cellsWithHeaders.value();t.headerRows=i.headerRows.value();t.headerColumns=i.headerColumns.value()},_addUnit:function(e,t){if(t&&c.inArray(t,e)==-1)e.push(t)},_initTableViewComponents:function(e,t){var a=this;var i=a.components;var n=i.tableView={};var r=t.tableProperties=t.tableProperties||{};r.borderStyle=r.borderStyle||"";var o=function(e){var t=a.components.accessibilityView;var i=t.headerColumns;var n=i.value();var r=e.sender.value();if(r","isgreaterthan","greaterthan","greater",">=","isgreaterthanorequalto","greaterthanequal","ge","notsubstringof","toArray","range","inPlace","orderBy","orderByDescending","compiled","predicate","allData","groupPaging","groupAllData","itemCount","subgroupCount","groupBy","groupValue","currentValue","_sortForGrouping","_sortGroups","sum","average","process","customGroupSort","query","groupDescriptorsWithoutCompare","normalizedSort","groupDescriptorsWithoutSort","filterCallback","groupDescriptor","setup","parameters","operation","_store","clear","store","inmemory","schema","dataFunction","groupsFunction","serializeFunction","serializeGetters","_dataAccessFunction","fromName","_wrapDataAccessBase","_map","_prefetch","_pristineData","_ranges","_view","_pristineTotal","_destroyed","_pageSize","_page","_sort","_filter","_group","_aggregate","_total","_groupPaging","_groupsState","_shouldDetachObservableParents","pushCreate","_pushCreate","pushUpdate","_pushUpdate","pushDestroy","_pushDestroy","offlineStorage","_storage","getItem","localStorage","setItem","reader","_detachObservableParents","_observe","_online","serverSorting","serverPaging","serverFiltering","serverAggregates","inPlaceSort","online","sync","Deferred","resolve","offlineData","_isServerGrouped","_isServerGroupPaged","_isGroupPaged","_push","_readData","_flatData","useRanges","getByUid","_getByUid","_storeData","_addRange","_process","_observeView","insert","_createNewModel","_wrapInEmptyGroup","_insertModelInRange","pushInsert","pushed","autoSync","pristine","rangeSpan","_getCurrentRangeSpan","pristineData","_updatePristineForModel","_removeItems","removePristine","shouldRemovePristine","found","_eachItem","_removePristineForModel","hasGroups","_removeModelFromRanges","promises","_sendSubmit","_send","when","then","_accept","_syncEnd","_change","cancelChanges","_cancelModel","_changesCanceled","_markOfflineUpdatesAsDirty","__state__","hasChanges","serverGroup","_handleCustomErrors","_executeOnPristineForModel","_eachPristineItem","_pristineForModel","_modelCanceled","_submit","reject","deferred","_promise","converted","_params","_queueRequest","isPrevented","_dequeueRequest","_readAggregates","replaceSubset","itemIds","j","_serverGroupsTotal","_aggregateResult","_skip","endless","_changeHandler","updatePristine","timestamp","_timeStamp","outerStart","outerEnd","_sortRanges","_groupsFlat","_appendToGroupsFlat","_updateOuterRangesLength","_getGroupByUid","xhr","errorThrown","_requestInProgress","_pending","_shouldWrap","arrayType","_updateTotalForAction","_calculateAggregates","_take","currentRangeStart","_clearEmptyGroups","_queryProcess","dataToAggregate","_setView","_setFilterTotal","_mergeState","_currentRangeStart","_sortFields","moreItemsCount","remote","_hasExpandedSubGroups","_findGroupedRange","itemsLength","hasNotRequestedItems","groupCount","itemsToSkip","taken","getGroupSubGroupCount","_fetchingGroupItems","skipped","getGroupItems","includeParents","excludeHeader","currentItems","subgroups","_composeItemsFilter","findSubgroups","_timeout","_groupItemsSuccessHandler","includeSubGroupCount","_subGroupCountSuccessHandler","totalField","temp","_updateRangePristineData","_currentRequestTimeStamp","_skipRequestsInProgress","indexOfCurrentGroup","currentGroup","dataLength","indexes","rangesLength","_containsSubGroup","_cloneGroup","subgroup","currentSubGroup","filterTotal","setDefaultValue","fetch","_query","done","next","totalPages","prev","_pageableQueryOptions","getGroupsFlat","groupsTotal","includeExpanded","_calculateGroupsTotal","itemsField","ignoreState","_groupsTotal","countGroupRange","_emptyAggregates","ceil","inRange","_findRange","lastRange","firstItemUid","enableRequestsInProgress","pageSkip","_originalPageSkip","_originalSize","_adjustPageSkip","_groupRangeExists","_rangeExists","prefetch","_processRangeData","skipIdx","takeIdx","startIndex","endIndex","rangeData","rangeEnd","processed","flatData","prevRangeEnd","currentDataLength","groupMapOptions","isGroupPaged","startField","endField","_mergeGroups","_getRangesMismatch","mismatch","prevGroup","eventData","paging","sorting","filtering","_omitPrefetch","_prefetchSuccessHandler","_multiplePrefetch","prevRange","_getPrevRange","_getNextRange","availableItemsCount","_removeModelFromRange","_updateRangesLength","rangeLength","mismatchFound","mismatchLength","lengthDifference","transportOptions","hasChildrenObject","childrenField","childrenOptions","_childrenOptions","_initChildren","_updateChildrenField","append","loaded","level","_childrenLoaded","load","_matchFilter","_hierarchicalFilter","_markHierarchicalQuery","_updateHierarchicalFilter","_find","_dataSource","viewSize","disablePrefetch","_prefetching","_reset","_syncWithDataSource","setViewSize","_recalculate","itemPresent","dataOffset","prefetchThreshold","midPageThreshold","nextMidRange","nextPageThreshold","nextFullRange","pullBackThreshold","previousMidRange","previousFullRange","_goToRange","nextRange","syncDataSource","prefetchOffset","expanding","_expanding","_syncPending","_firstItemUid","batchSize","batchBuffer","endreached","prefetching","prefetched","reset","tabKeyTrapNS","focusableNodesSelector","TabKeyTrap","OPEN","CLOSE","DEACTIVATE","ACTIVATE","CENTER","TOP","BOTTOM","ABSOLUTE","HIDDEN","BODY","LOCATION","POSITION","VISIBLE","EFFECTS","ACTIVE","ACTIVEBORDER","ACTIVEBORDERREGEXP","ACTIVECHILDREN","MOUSEDOWN","DOCUMENT_ELEMENT","WINDOW","SCROLL","cssPrefix","TRANSFORM","NS","Popup","parentPopup","origin","collisions","collision","downEvent","anchor","_hovered","scrollArea","animation","open","_activated","_trigger","_animationClose","_mousedownProxy","_mousedown","_resizeProxy","toggleTarget","toggleEvent","viewport","copyAnchorStyles","modal","adjustSize","transition","_hideDirClass","_closing","_toggleResize","fixed","isFixed","flipped","_position","_openAnimation","_showDirClass","show","_location","direction","dirClass","slideIn","skipEffects","openEffects","closeEffects","popup","ev","_resizeTimeout","_scrollableParents","_fit","viewPortSize","output","_flip","anchorSize","boxSize","siblingContainer","parentZIndex","viewportOffset","viewportWidth","viewportHeight","pos","anchorParent","offsets","flipPos","elementHeight","wrapperHeight","isWindow","origins","positions","zIndex","siblings","_align","offsetParent","appendToOffset","verticalOrigin","horizontalOrigin","verticalPosition","horizontalPosition","anchorOffset","anchorWidth","anchorHeight","trap","_keepInTrap","removeTrap","shouldTrap","sortedElements","which","_focusableElements","_sortFocusableElements","_nextFocusable","_focus","tabIndex","attrName","contentWindow","_haveSelectionRange","elementType","unifyType","getSelectedOption","selectedIndex","mapChangedItems","selected","itemsToMatch","selectedLength","changed","unchanged","isValidFilterExpr","removeFiltersForField","STATIC_LIST_NS","StaticList","percentageUnitsRegex","ID","FOCUSED","HOVER","LOADING","GROUPHEADER","ITEMSELECTOR","LABELIDPART","CASCADE","SELECT","SELECTED","BLUR","FOCUS","FOCUSOUT","HIDDENCLASS","WIDTH","isIE","isIE8","quotRegExp","alternativeNames","ComboBox","DropDownList","MultiColumnComboBox","List","_isSelect","dataTextField","dataValueField","ul","aria-hidden","_listMousedown","columns","_columnsHeader","_header","_noData","_footer","_accessors","_initValue","valuePrimitive","footerTemplate","headerTemplate","noDataTemplate","noData","_renderFooter","_renderNoData","_focused","readonly","_editable","_angularElement","prepend","colGroup","row","currentColumn","title","columnsHeaderTemplate","currentWidth","currentWidthInt","widthStyle","columnsHeader","footer","_listOptions","currentOptions","virtual","changeEventOption","_listChange","listBoundHandler","_listBound","autoBind","selectable","_click","activate","_activateItem","deactivate","_deactivateItem","dataBinding","dataBound","groupTemplate","fixedGroupTemplate","$angular","_initList","listOptions","selectedItemChange","listView","VirtualList","_setListValue","_updateSelectionState","filterInput","_isFilterEnabled","_hideClear","_clear","_showClear","_clearValue","_clearText","_accessor","_customOption","enforceMinLength","word","highlightFirst","_clearFilter","bound","_filterSource","newExpression","dataSourceState","isMultiColumnFiltering","filterFields","resetPageSettings","removed","_clearFilterExpressions","_pushFilterExpression","_cascading","setDSFilter","filtersToRemove","_toggleNoData","_toggleHeader","groupHeader","_allowOpening","_old","_ignoreCase","candidate","widgetOptions","fromFilter","_buildExpression","_open","_clearButton","clearTitle","clearButton","_inputValue","_typingTimeout","minLength","_state","_emptySearch","_searchByWord","_unbindDataSource","_form","_resetHandler","selectedDataItems","valueField","_text","_value","_aria","suggest","_ariaLabel","labelId","focusedElm","inputElm","inputId","labelElm","ariaLabel","ariaLabelledBy","_generateLabelId","_blur","_userTriggered","optionValue","_oldText","_valueBeforeCascade","_oldIndex","isFiltered","_typing","typing","_enable","_dataValue","_offsetHeight","prevAll","_height","offsetTop","popups","footerHeight","_openHandler","_adjustListWidth","computedWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","fontFamily","autoWidth","minWidth","whiteSpace","_closeHandler","_focusItem","noFocusedItem","scrollToIndex","_calculateGroupPadding","li","padding","_calculatePopupHeight","_calculateColumnsHeaderPadding","_refreshScroll","enableYScroll","overflowX","overflowY","_resizePopup","_popup","_makeUnselectable","not","_toggleHover","currentTarget","_toggle","preventFocus","touchEnabled","MSPointers","_prevent","_triggerCascade","_cascadeTriggered","_cascadedValue","userTriggered","_triggerChange","_requestStartHandler","_requestEndHandler","_errorHandler","requireValueMapper","hasValue","valueMapper","Select","_initial","setDataSource","_initialIndex","_current","_parentWidget","_cascadeSelect","_select","_cascadeValue","_accessorInput","_accessorSelect","_custom","_syncValueAndText","custom","_hideBusy","_busy","_arrowIcon","_showBusy","_request","_requestEnd","_firstItem","focusFirst","_lastItem","focusLast","_nextItem","focusNext","_prevItem","focusPrev","_getNormalizedDataItem","isIndex","hasOptionLabel","optionLabel","getElementIndex","dataItemByIndex","_getNormalizedSelectCandidate","normalizedCandidate","_move","pressed","moveIndex","selectCandidate","activeFilter","shouldTrigger","isVirtual","altKey","_fetch","_get","_focusElement","focusout","scrollWith","_fetchData","hasItems","cascadeFrom","_options","dataText","dataValue","htmlElement","formId","parentElement","_cascade","cascade","_cascadeHandlerProxy","_cascadeHandler","_cascadeFilterRequests","_selectedValue","_toggleCascadeOnFocus","valueBeforeCascade","_clearSelection","_cascadeChange","filterValue","cascadeFromParentField","cascadeFromField","currentHandler","_touchHandlers","before","_optionID","_selectedIndices","_dataItems","_values","_getter","_templates","_onScroll","_scrollId","_renderHeader","_refreshHandler","_fixedHeader","startY","endY","tapPosition","pageY","_touchTriggered","_triggerClick","_render","scroll","itemOffsetTop","itemOffsetHeight","contentScrollTop","contentOffsetHeight","bottomDistance","_getValues","_valueGetter","hasCandidate","focusIndex","skipUpdate","_skipUpdate","indices","filtered","singleSelection","selectedIndices","uiSelectedIndices","added","_deselectFiltered","_deselect","_valueComparer","removeAt","setValue","_valueDeferred","_valueIndices","_valueExpr","normalized","_valueType","_dataItemPosition","valueExpr","removedIndices","_template","templateText","templates","_normalizeIndices","newIndices","_firstVisibleItem","itemHeight","lastChild","forward","previousSibling","isGrouped","visibleItem","_renderItem","notFirstItem","hasColumns","isLastGroupedItem","_renderColumns","dataContext","_selected","_lastDSFilter","skipUpdateOnBind","isItemChange","_bound","parseInteger","parseCSS","propertyName","acc","strip3DTransforms","transformProps","transform2d","normalizeCSS","lowerKey","isTransformed","transformation","cssValues","animationProperty","transform","computed","NONE","matrix3dRegExp","translateXRegExp","atan2","capitalize","createEffect","definition","effectClass","Effect","opt1","opt2","opt3","theDirection","createToggleEffect","defaultStart","defaultEnd","IN_OUT","startValue","_startValue","endValue","_endValue","shouldHide","_shouldHide","prepare","_direction","startDataValue","startDataValueIsSet","_reverse","clipInHalf","vertical","HEIGHT","CLIPS","curProxy","EffectSet","FOUR_DIRECTIONS","TRANSFER_START_STATE","ROTATIONS","RESTORE_OVERFLOW","IGNORE_TRANSITION_EVENT_SELECTOR","Animation","Transition","scaleProperties","scale","scalex","scaley","scale3d","translateProperties","translate","translatex","translatey","translate3d","hasZoom","cssParamsRegExp","oldEffectsRegExp","singleEffectRegExp","unitRegExp","transform2units","rotate","skew","BLANK","PX","AUTO","ORIGIN","ABORT_ID","OVERFLOW","TRANSLATE","COMPLETE_CALLBACK","TRANSITION","BACKFACE","PERSPECTIVE","DEFAULT_PERSPECTIVE","TRANSFORM_PERSPECTIVE","modifier","horizontal","stopQueue","transformValue","step","elem","now","cur","exclusive","ease","mirror","redirectedEffect","resolved","$1","$2","effect","effectBody","timeoutID","stopTransitionCalled","stopTransition","oldKeys","speeds","merge","uniqueSort","unique","taskKeys","retainPosition","restore","run","jdx","childrenLength","effectName","setReverse","addRestoreProperties","restoreCallback","effectSet","parsedEffects","useTransition","multiple","single","originalPosition","dX","dY","marginLeft","marginTop","_additionalEffects","play","additional","_duration","compositeRun","_complete","divisor","tmp","previous","previousDivisor","margin","setLength","oldLength","realLength","outerBox","box","innerBox","currentScale","fillScale","transformOrigin","_container","rotation","_clipInHalf","clip","face","_face","temporary","back","reverseDirection","faceClone","backClone","staticPage","turningPage","transformStyle","_before","_after","transitionClass","_previous","_transitionClass","beforeTransition","afterTransition","_both","_element","_containerClass","containerClass","completeProxy","isAbsolute","originalOverflow","both","_tickProxy","_tick","_started","tick","onEnd","onCancel","timePassed","startDate","moveTo","movable","initial","_easeProxy","moveAxis","easeOutExpo","easeOutBack","inner","outer","fitScale","touchDelta","touch1","touch2","x1","y1","x2","y2","dx","dy","center","distance","sqrt","getTouches","api","identifier","pointerId","withEachUpEvent","downEvents","OS","invalidZeroEvents","DEFAULT_MIN_HOLD","CLICK_DELAY","DEFAULT_THRESHOLD","PRESS","HOLD","START","MOVE","CANCEL","TAP","DOUBLETAP","RELEASE","GESTURESTART","GESTURECHANGE","GESTUREEND","GESTURETAP","THRESHOLD","mouse","pointer","ENABLE_GLOBAL_SURFACE","TouchAxis","_updateLocationData","startLocation","velocity","timeStamp","timeDelta","initialDelta","Touch","userEvents","touchInfo","useClickAsTap","initialTouch","pressEvent","_clicks","supportDoubleTap","_moved","_finished","press","_holdTimeout","minHold","_tap","_clickTimeout","_hold","preventMove","_shouldNotMove","_withinIgnoreThreshold","UserEvents","dispose","_start","endTime","activeTouches","isMoved","startTime","xDelta","yDelta","defaultAction","surfaceElement","preventIfMovingProxy","_maxTouches","multiTouch","allowSelection","captureUpIfMoved","fastTap","eventNS","surface","global","ownerDocument","touchAction","preventDragEvent","root","preventIfMoving","_isMoved","removeEventListener","_disposeAll","capture","_isMultiTouch","_apiCall","_maxTouchesReached","_eachTouch","_end","pageX","methodName","matchingTouch","dict","defaultThreshold","numericCssPropery","within","containerBoundaries","minX","minY","maxX","maxY","checkTarget","targets","areas","theTarget","theFilter","targetLen","areaLen","targetElement","destroyDroppable","groupName","droppables","scrollableViewPort","scrollableRoot","$window","findScrollableParent","autoScrollVelocity","mouseX","mouseY","rect","AUTO_SCROLL_AREA","lastDropTarget","Movable","DropTarget","DropTargetArea","Draggable","draggables","dropTargets","dropAreas","KEYUP","DRAGSTART","DRAG","DRAGEND","DRAGCANCEL","HINTDESTROYED","DRAGENTER","DRAGLEAVE","DROP","TapCapture","_press","_release","attachEvent","captureNext","cancelCapture","PaneDimension","forcedEnabled","measure","scrollSize","makeVirtual","_virtualMin","_virtualMax","virtualSize","outOfBounds","forceEnabled","getTotal","rescale","silent","scaledTotal","minScale","centerOffset","PaneDimensions","forcedMinScale","maxScale","newScale","centerCoordinates","PaneAxis","dimension","dragMove","resistance","translateAxis","Pane","elastic","gesturestart","gesture","gesturechange","coordinates","offsetX","offsetY","previousGesture","previousCenter","scaleDelta","scaleWith","TRANSFORM_STYLE","webkitTransformOrigin","_saveCoordinates","by","scaleTo","newCoordinates","draggable","dropTarget","_over","_out","_drop","dropped","destroyGroup","_cache","hold","_drag","_cancel","_afterEndHandler","_afterEnd","_captureEscape","cursorOffset","holdToDrag","autoScroll","cancelHold","_updateHint","boundaries","hintOffset","hint","_shouldIgnoreTarget","ignoreSelector","currentTargetOffset","scopeTarget","scopeFrom","cursorElement","_elementUnderCursor","_cursorElement","_scrollableParent","_lastEvent","_processMovement","_scrollCompenstation","_scrollVelocity","clearInterval","_scrollInterval","setInterval","_withDropTarget","_autoScroll","yIsScrollable","xIsScrollable","isRootNode","yInBounds","xInBounds","compensation","initialTarget","utils","SNAPBACK_DURATION","SCROLLBAR_OPACITY","FRICTION","VELOCITY_MULTIPLIER","MAX_VELOCITY","OUT_OF_BOUNDS_FRICTION","ANIMATED_SCROLLER_PRECISION","RELEASECLASS","REFRESHCLASS","PULL","RESIZE","MOUSE_WHEEL_ID","ZoomSnapBack","tapCapture","DragInertia","freeze","_moveTo","paneAxis","_snapBack","velocityMultiplier","friction","snapBack","AnimatedScroller","_updateCoordinates","setCoordinates","setCallback","ScrollBar","elementSize","scrollMovable","alwaysVisible","paneSize","sizeRatio","visibility","avoidScrolling","pane","zoomSnapBack","animatedScroller","_native","scrollElement","fixedContainer","wrapInner","velocityX","velocityY","horizontalSwipe","originatedFromFixedContainer","verticalSwipe","scrollTo","mousewheelScrolling","pulled","_initAxis","_wheelEnd","_wheel","_wheelY","pullToRefresh","_initPullToRefresh","_wheelScroll","ctrlKey","_wheelTimeout","pullOffset","visibleScrollHints","pullTemplate","releaseTemplate","refreshTemplate","contentResized","_scale","zoomOut","animatedScrollTo","pullHandled","refreshHint","hintContainer","yinertia","xinertia","_paneChange","_dragEnd","scrollBar","lastFrom","isPrimitive","getItemCount","listScreens","getDefaultItemHeight","lineHeight","mockList","bufferSizes","opposite","listValidator","downThreshold","upThreshold","lastScrollTop","scrollCallback","syncList","reorder","webkitTransform","map2","arr1","arr2","ITEMCHANGE","reshift","itemTemplate","placeholderTemplate","renderColumns","GROUPITEM","isActivePromise","WRAPPER","VIRTUALLIST","CONTENT","LIST","HEADER","VIRTUALITEM","ITEM","HEIGHTCONTAINER","CLICK","LISTBOUND","VIRTUAL_LIST_NS","_fetching","_selectedDataItems","_selectedIndexes","_rangesList","_promisesList","_renderItems","_triggerListBound","_selectable","oppositeBuffer","mapValueTo","_selectProxy","_items","_clean","_deferValueSet","mute","_selectingValue","_highlightSelectedItems","_getElementByDataItem","_mute","_createList","_forcePrefetch","shouldClear","_prefetchByValue","_checkValuesOrder","_removedAddedIndexes","newValue","dataView","_dataView","valueGetter","forSelection","mapValueToIndex","mapValueToDataItem","_getIndecies","deferredRange","defs","low","high","pages","existingRange","isEmptyList","_activeDeferred","_getSkip","_findDataItem","_getRange","triggerEvent","_getElementByIndex","_focusedIndex","_getElementLocation","_screenHeight","heightContainer","initialIndices","isAlreadySelected","prefetchStarted","_selectDeferred","_deselectCurrentValues","_listCreated","_lastScrollTop","hasData","setScreenHeight","yPosition","yDownPostion","screenEnd","_generateItems","minHeight","_saveInitialRanges","_buildValueGetter","_setHeight","getList","_listItems","_whenChanged","_reorderList","currentHeight","padHeight","lastRequestedRange","lastRangeStart","rangeStart","flatGroup","groupLength","_getterDeferred","firstItemIndex","_indexConstraint","firstVisibleGroup","fixedGroupText","currentVisibleGroup","firstVisibleDataItemIndex","firstVisibleDataItem","_itemMapper","listType","currentIndex","_currentGroup","_range","_getDataItemsCollection","_listIndex","theValidator","theNew","currentOffset","Infinity","list2","range2","_bufferSizes","buffers","elementIndex","selectedIndexes","removedindexesCounter","_deselectSingleItem","oldSkip","_clickHandler","firstItem","placeholderSupported","nsFocusEvent","DISABLED","READONLY","DEFAULT","STATEDISABLED","ARIA_DISABLED","AUTOCOMPLETEVALUE","STATE_FILTER","STATE_ACCEPT","STATE_REBIND","HOVEREVENTS","newLineRegEx","_focusHandler","_wrapper","_input","_attachFocusEvents","_setText","_placeholder","_toggleCloseVisibility","syncValueAndText","_inputWrapper","_pasteTimeout","_arrow","hasText","isCustom","_inputFocus","_inputFocusout","_arrowClick","_inputPaste","arrow","_keydown","_search","reinitialized","_openPopup","_scrollToFocusedItem","_buildOptions","_updateSelection","initialIndex","hasInitialIndex","_selectValue","_updateItemFocus","isActive","isFirstPage","_presetValue","keepState","_setDomInputValue","caretStart","currentCaret","_prev","preventShow","caretIdx","_last","loweredText","maxLength","accessKey","SELECTOR","aria-expanded","insertAfter","_preselect","assign","normalizeIndex","sameCharsOnly","character","CLICKEVENTS","MSG_INVALID_OPTION_LABEL","_focusInputHandler","_focusInput","_optionLabel","_inputTemplate","_word","_span","_mobile","_filterHeader","_attachFocusHandlers","_textAccessor","_optionLabelText","valueTemplate","optionLabelTemplate","_focusFilter","_resizeFilterInput","isInputActive","originalPrevent","_optionLabelDataItem","_valueSetter","_assignInstance","optionLabelValue","_filterPaste","_focusinHandler","_focusoutHandler","isIFrame","self","_wrapperMousedown","_wrapperClick","dropDownWrapper","_keypress","handled","isPopupVisible","_getElementDataItem","_matchText","_shuffleData","splitIndex","optionDataItem","_selectNext","oldFocusedItem","isInLoop","charCode","_popupOpen","active","compareElement","jQueryCandidate","_resetOptionLabel","focusedItem","additionalClass","icon","aria-haspopup","span","DOMelement","accesskey","unselectable","getElements","optionLabelText","HORIZONTAL","VERTICAL","RESIZEEND","Resizable","orientation","_positionMouse","_sizingDom","draggableElement","drag","dragcancel","dragstart","dragend","_stop","_max","hintSize","_initialElementPosition","_min","_initialMousePosition","_maxPosition","_minPosition","maxPosition","minPosition","currentPosition","invalidClass","resizing","targetPosition","defined","toInt","constrain","normalizedValue","executableScript","getPosition","parentOverflowX","parentOverflowY","offsetLeft","WindowResizing","wnd","owner","_preventDragging","_draggable","KWINDOWRESIZEHANDLES","addOverlay","removeOverlay","WindowDragging","dragHandle","MODAL_NS","KWINDOW","KWINDOWTITLE","KWINDOWTITLEBAR","KWINDOWCONTENT","KDIALOGCONTENT","KOVERLAY","KCONTENTFRAME","KHOVERSTATE","KFOCUSEDSTATE","MAXIMIZEDSTATE","CURSOR","REFRESH","MINIMIZE","MAXIMIZE","RESIZESTART","DATADOCOVERFLOWRULE","ZINDEX","MINIMIZE_MAXIMIZE","KPIN","KUNPIN","PIN_UNPIN","TITLEBAR_BUTTONS","REFRESHICON","WINDOWEVENTSHANDLED","zero","SIZE","small","medium","large","Window","windowContent","windowFrame","globalWindow","isVisible","suppressActions","actions","containment","_createWindow","_dimensions","minTop","minLeft","maxTop","maxLeft","toFront","_overlay","_buttonEnter","_buttonLeave","_windowActionHandler","windowInstance","_resizable","pinned","pin","aria-labelledby","_resizeHandler","_onDocumentResize","_marker","_tabKeyTrap","maxHeight","sizeClass","contentBoxSizing","lrBorderWidth","tbBorderWidth","paddingTop","_isPinned","_updateBoundaries","maxWidth","_animationOptions","basicAnimation","resizable","toggleMaximization","resizeHandle","dragging","_actions","titlebar","windowSpecificCommands","scrollable","cachedOptions","_enableDocumentScrolling","fade","autoFocus","isMaximized","isMinimized","_closable","newWidth","newHeight","w","h","_close","unpin","maximize","minimize","overlay","insertBefore","preventScroll","_stopDocumentScrolling","_actionForIcon","iconClass","k-i-close","k-i-window-maximize","k-i-window-minimize","k-i-window-restore","k-i-refresh","k-i-pin","k-i-unpin","_modals","zStack","dom","_object","newTop","newLeft","documentWindow","_scrollIsAppended","titleBarHeight","encoded","titleBar","titleElement","scrollContainer","otherModalsVisible","overlayFx","showOptions","contentElement","containmentContext","doc","Fade","fadeIn","_activate","_containerScrollTop","_containerScrollLeft","_removeOverlay","suppressAnimation","modals","hideOverlay","hideOptions","fadeOut","systemTriggered","defaultPrevented","_deactivate","lastModal","_actionable","_shouldFocus","windowTop","currentWindow","originalZIndex","windowObject","zIndexNew","shouldRestrictTop","restoreOptions","_sizingAction","actionId","$body","$html","_storeOverflowRule","_restoreOverflowRule","$element","_isOverflowStored","overflowRule","win","iframe","showIframe","initOptions","contentFrame","_triggerRefresh","_ajaxRequest","_ajaxComplete","_loadingIconTimeout","_ajaxError","_ajaxSuccess","contentTemplate","_showLoading","iframeSrcAttributes","contentHtml","editor","hasMargin","wrapperPosition","relativeElMarginLeft","relativeElMarginTop","elementPadding","initialPosition","resizeDirection","initialSize","containerOffset","_relativeElMarginLeft","_relativeElMarginTop","rtl","leftRtlOffset","scrollOffset","windowBottom","windowRight","newWindowTop","initialWindowPosition","initialPointerPosition","startPosition","_finishDrag","hex","hue2rgb","p","q","parseColor","color","BaseColor","matchNamedColor","RGB","namedColors","Bytes","HSV","HSL","Color","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","regexp","colorNames","toHSV","toRGB","toHex","toBytes","toCss","toCssRgba","rgb","r","toDisplay","other","c1","c2","NaN","ref","toHSL","l","resolvedColor","formatRegex","processor","channels","this$1","resolveColor","re","normalizeByte","padDigit","brightness","percBrightness","fromBytes","fromRGB","fromHSV","fromHSL","createWrapper","isHorizontal","orientationCssClass","cssClasses","tickPlacementCssClass","tickPlacement","showButtons","createButton","buttonCssClass","createSliderItems","smallStep","createTrack","dragHandleCount","firstDragHandleTitle","leftDragHandleTitle","dragHandleTitle","rightDragHandleTitle","stepValue","formatValue","calculatePrecision","power","parseAttr","removeFraction","RangeSlider","SLIDE","MOUSE_DOWN","TRACK_MOUSE_DOWN","MOUSE_UP","TRACK_MOUSE_UP","MOVE_SELECTION","KEY_DOWN","MOUSE_OVER","DRAG_HANDLE","TRACK_SELECTOR","TICK_SELECTOR","STATE_SELECTED","STATE_FOCUSED","STATE_DEFAULT","STATE_DISABLED","SliderBase","rtlDirectionSign","_isHorizontal","_isRtl","_sizeFn","_outerSize","tooltip","_createHtml","_trackDiv","_setTrackDivWidth","_maxSelection","_sliderItemsInit","_keyMap","37","40","39","38","35","36","33","largeStep","34","_distance","_refresh","sizeBetweenTicks","pixelWidths","_calculateItemsWidth","_setItemsWidth","_setItemsTitle","_calculateSteps","_setItemsLargeTick","trackDivPosition","bordersWidth","titleNumber","limit","increment","valueWithoutFraction","itemsCount","itemWidth","trackDivSize","preciseItemsCount","pixelStep","_roundWidths","pixelWidthsArray","balance","_addAdditionalSize","additionalSize","lastItem","_pixelSteps","_getValueFromPosition","mousePosition","dragableArea","halfStep","startPoint","_getFormattedValue","tooltipTemplate","_getDraggableArea","endPoint","inputs","_firstHandleDrag","_activeHandle","_lastHandleDrag","_activeHandleDrag","_updateTooltip","_focusWithMouse","_setTooltipTimeout","_removeTooltip","_tooltipTimeout","_clearTooltipTimeout","tooltipDiv","_formResetHandler","Slider","_selection","Selection","Drag","increaseButtonTitle","decreaseButtonTitle","clickHandler","mouseDownHandler","_update","newVal","_nextValueByIndex","_valueIndex","_setValueInRange","timer","_clearTimer","_refreshAriaAttr","formattedValue","_tooltipDiv","moveSelection","selectionValue","selectionDiv","halfDragHanndle","rtlCorrection","_dragstart","_activeDragHandle","_setZIndex","oldVal","_createTooltip","colloutCssClass","tooltipInnerDiv","_scrollOffset","moveTooltip","slideParams","constrainValue","noAnimation","dragHandles","sdhOffset","callout","viewPortEnd","maxOverflow","firstInput","secondInput","warn","dragSelectionStart","dragSelectionEnd","activeHandleDrag","selectionStartValue","selectionEndValue","selectionStartIndex","selectionEndIndex","halfHandle","makeSelection","selectionPosition","iconTemplate","svgIconTemplate","Badge","_deprecated","_content","_appearance","badgeStyle","cutoutBorder","placement","shape","_classNames","appearance","look","_color","_shape","_sizes","_badgeStyle","_cutoutBorder","_placement","_visible","_updateClassNames","classNames","keepClassNames","sizeAbbr","sizeSuffix","badgeStyleInfix","placementInfix","iconTemplateFunction","_icon","Button","MOUSEUP","MOUSEOUT","KBUTTON","KBUTTONICON","KBUTTONICONTEXT","DISABLEDSTATE","FOCUSEDSTATE","SELECTEDSTATE","BUTTON_DEFAULTS","spriteCssClass","imageUrl","badge","_badge","iconElement","_removeActive","_addActive","_isNativeButton","img","isEmpty","contents","err","badgeEelement","badgeOptions","button","relative","KEYS","BACKGROUNDCOLOR","ITEMSELECTEDCLASS","SIMPLEPALETTE","WEBPALETTE","WHITE","MESSAGES","noColor","clearColor","previewInput","CLICK_NS","KEYDOWN_NS","ColorSelector","ariaId","_tabIndex","_ariaId","_standalone","_triggerSelect","_updateUI","_onEnable","nohooks","_selectOnHide","ColorPalette","colors","tileSize","palette","_selectedID","ex","FlatColorPicker","_hueElements","_selectedColor","_colorAsText","_sliders","_hsvArea","autoupdate","_clearedColor","_getHSV","_applyIEFilter","_hsvEvents","_hueSlider","_opacitySlider","_hsvRect","_hsvHandle","buttons","preview","track","backgroundImage","hueChange","opacityChange","hueSlider","opacitySlider","kendoSlider","slide","rw","rh","_svChange","hsvRect","hsvHandle","hue","handlePosition","dontChangeInput","ColorPicker","after","_selector","innerWrapper","toolIcon","ARIATemplate","_getPopup","selOptions","_noColorIcon","_isInputTypeColor","_ariaTemplate","selectorType","kendoPopup","kendoButton","selectorColor","elementPosition","Selectable","ARIASELECTED","SELECTABLE","UNSELECT","UNSELECTING","INPUTSELECTOR","supportEventDelegation","_marquee","_lastActive","aria","tap","inputSelectors","_isElement","metaKey","whichCode","buttonCode","_allowSelection","selectRange","_firstSelectee","_unselect","_notify","_downTarget","currentElement","useAllItems","_selectElement","_invalidateSelectables","toSelect","selectElement","preventNotify","resetTouchEvents","continuousItems","asLowerString","modular","minYear","maxYear","build","weekNumberBuild","isWeekColumnVisible","cellsPerRow","perRow","otherMonth","weekNumberTemplate","cellTemplate","emptyCellTemplate","otherMonthTemplate","otherMonthCellTemplate","createDate","disableDates","OTHERMONTH","isInRange","date1","date2","year1","getToday","DATE","restrictValue","shiftArray","multiplier","daysBetweenTwoDates","endDate","fromDateUTC","endDateUTC","addDaysToArray","numberOfDays","fromDate","mousetoggle","MOUSEENTER","prevent","dateObject","getCalendarInfo","normalize","depth","extractFormat","MONTH","dates","makeUnselectable","addClassToViewContainer","currentView","isEqualDatePart","value1","value2","isEqualMonth","getDisabledExpr","createDisabledExpr","convertDatesArray","disabledDates","searchExpression","isEqualDate","oldValue","toDateObject","link","VALUE","transitionOrigin","MIN","CENTURY","NAVIGATE","OTHERMONTHCLASS","OUTOFRANGE","TODAY","CELLSELECTOR","CELLSELECTORVALID","WEEKCOLUMNSELECTOR","FOCUS_WITH_NS","MOUSEENTER_WITH_NS","MOUSELEAVE","PREVARROW","NEXTARROW","ARIA_SELECTED","ARIA_LABEL","decade","century","HEADERSELECTOR","CLASSIC_HEADER_TEMPLATE","MODERN_HEADER_TEMPLATE","Calendar","_viewWrapper","hasFooter","_focusView","focusOnNav","_cellID","_isMultipleSelection","_class","_selectDates","_index","_addClassProxy","_active","_cell","todayString","toDateString","_cellByDate","_removeClassProxy","selectDates","weekColumnHeader","classic","linksSelector","contentClasses","modern","_destroySelectable","navigate","_today","_title","_table","_bindTable","_option","navigateToPast","_navigate","navigateToFuture","navigateUp","navigateDown","old","future","viewWrapper","_oldTable","_changeView","_animate","_visualizeSelectedDatesInView","validSelectedDates","datesUnique","_validateValue","selectedDates","selectableOptions","_onSelect","_onRelatedTarget","eventArgs","_toggleSelection","_cellsBySelector","_addSelectedCellsToArray","_rangeSelection","currentCell","toDateCell","daysDifference","toDate","currentDateIndex","_dateInView","firstDateInView","lastDateInView","_isNavigatable","cellIndex","isDisabled","focusedDate","_keyboardToggleSelection","_nextNavigatable","_keyboardRangeSelection","navigatableDate","_horizontal","viewWidth","float","margin-left","unwrap","_vertical","disabledDate","_todayClick","firstDayCurrentMonth","has","isBigger","isTodayDisabled","firstVisibleDay","calendarInfo","tzOffsetBefore","resultDATE","tzOffsetDiff","navigateUrl","showHeader","hasUrl","currentCalendar","firstDayIdx","shortNames","linkClass","dateString","currentDate","month1","month2","year2","setMonth","viewsEnum","approximateStringMatching","oldText","oldFormat","newText","deletedSymbol","oldTextSeparator","knownSymbols","customDateTime","INPUT_EVENT_NAME","STATEDEFAULT","STATEINVALID","DateInput","insidePicker","weekday","hour","minute","second","dayperiod","_unbindInput","_bindInput","_updateElementValue","_formElement","_dateTime","getDateObject","_oldValue","stringAndFromat","toPair","_format","_paste","_mouseUp","_scroll","navigationOnly","valid","difSym","newEvent","stateInvalid","blinkInvalid","parsePart","_selectSegment","_blinkInvalidTimeout","_selectNearestSegment","returnValue","initialValue","interval","keycode","modifyPart","begin","initDate","initFormat","initCulture","initMessages","generateMatcher","retFormat","returnsFormat","matcher","setExisting","typedMonthPart","typedDayPeriodPart","sampleFormat","placeholders","mins","formatResult","getValue","newMonth","setMinutes","setSeconds","currentChar","newHours","monthNames","newYear","newMinutes","newSeconds","parseFormats","DatePicker","DIV","SPAN","MAX","ARIA_EXPANDED","ARIA_HIDDEN","DateView","omitPopup","dateDiv","_dateViewID","_calendar","_setOptions","popupHovered","selectIsClicked","_initialOptions","dateView","_updateARIA","aria-owns","autocomplete","_createDateInput","dateInput","_dateInput","_dateIcon","eventType","dateChanged","valueUpdated","textFormatted","stopImmediatePropagation","aria-controls","isSameType","optionsValue","FLOATINGLABELCONTAINER","NOCLICKCLASS","FloatingLabel","buttonHtml","CLASS_ICON","truncate","INPUT","SPIN","TOUCHEND","LABELCLASSES","STATE_INVALID","INTEGER_REGEXP","NumericTextBox","inputType","isStep","_focusout","_arrows","_validation","_toggleText","factor","_label","restrictDecimals","spinners","upArrowText","downArrowText","_upArrowEventHandler","_downArrowEventHandler","_inputLabel","_spin","_upArrow","_downArrow","_keyup","_inputHandler","floatingLabel","_arrowsWrap","aria-valuemin","aria-valuemax","adjusted","_adjust","_focusin","arrows","_spinning","release","_validationIcon","_focusing","groupRegExp","extractRegExp","caretPosition","_culture","_removeInvalidState","CLASSNAME","_numPadDot","_step","_cachedCaret","decimalSeparator","minInvalid","_numericRegex","_blinkInvalidState","_addInvalidState","_invalidStateTimeout","separator","fractionRule","_separator","_floatRegExp","originalValue","rounder","isNotNull","floating","labelText","_floatingLabelContainer","DOMElement","resolveRules","resolvers","validator","ruleResolvers","decode","numberOfDecimalDigits","parseHtml","parseHTML","searchForMessageContainer","containers","invalidMsgRegExp","SUMMARYTEMPLATE","Validator","INVALIDMSG","INVALIDINPUT","VALIDINPUT","VALIDATIONSUMMARY","INVALIDLABEL","MESSAGEBOX","ARIAINVALID","ARIADESCRIBEDBY","emailRegExp","urlRegExp","CHECKBOXSELECTOR","NUMBERINPUTSELECTOR","NAME","FORM","NOVALIDATE","VALIDATE","VALIDATE_INPUT","patternMatcher","hasAttribute","allowSubmit","validateOnInit","validateAttributeSelector","_errorTemplate","errorTemplate","_summaryTemplate","validationSummary","_inputSelector","_checkboxSelector","_errors","_attachEvents","_isValidated","_validateOnInit","validate","required","email","dateCompare","checkbox","raise","validateOnBlur","_allowSubmit","_checkElement","validateInput","invalid","isValid","showValidationSummary","lbl","messageText","messageLabel","wasValid","lblId","inputWrap","inputLabel","errorId","_checkValidity","_findMessageContainer","_extractMessage","_decorateMessageContainer","replaceWith","_associateMessageContainer","hideMessages","_disassociateMessageContainers","hideValidationSummary","locators","messageLocators","getElementsByTagName","locate","decorate","ruleKey","nonDefaultMessage","customMessage","_getInputNames","_errorsByName","inputNames","_renderSummary","prevElement","_summaryClick","errorsList","summary","dataSourceBinding","bindingName","Binder","bindings","_dataBinding","_dataBound","_itemChange","itemChange","bindElement","_ns","_parents","removedItems","unbindElementTree","all","addedItems","hds","addedDataItems","multiselect","dropdowntree","MultiSelect","DropDownTree","treeview","retrievePrimitiveValues","bindingTargetForRole","WidgetBindingTarget","parseBindings","token","colonIndex","keyValueRegExp","createBindings","binding","childrenCopy","unbindElement","whiteSpaceRegExp","valueUpdate","BindingTarget","Binding","TemplateBinding","EventBinding","destroyWidget","bindingTarget","deleteExpando","destroyWidgets","unbindElementChildren","namespace","TypedBinder","arraySplice","binders","SOURCE","EVENTS","CHECKED","CSS","dependencies","_access","dependency","currentSource","parsedValue","_parseValue","dataFormat","invisible","_initChange","cloneNode","reference","checked","valueIndex","sourceValue","optionIndex","check","_valueIsObservableObject","_valueIsObservableArray","_source","valueLength","sourceItem","isObservableObject","newLength","same","removeIndex","oldValues","selectedNode","nonPrimitiveValues","_getAllChecked","newValues","selectedValue","gantt","_isBound","scheduler","grid","arr","addLength","shifted","shiftedLength","toDestroy","hasSource","hasEvents","hasChecked","hasCss","widgetBinding","specificBinders","applyBinding","binder","observableHierarchy","recursiveRead","fieldType","convertToValueBinding","bindAttr","createAttributes","ruleName","stringRule","attributeName","validation","DATATYPE","BINDING","specialRules","addIdAttribute","convertItems","getEditorTag","tag","checkboxes","addValidationRules","modelField","oldIE","nameSpecialCharRegExp","ERRORTEMPLATE","EQUAL_SET","kendoEditors","editors","kendoNumericTextBox","kendoDatePicker","kendoEditor","editorOptions","mobileEditors","Editable","_isMobile","_validateProxy","_validate","clearContainer","skipFocus","isObject","isValuesEditor","isCustomEditor","isKendoEditor","preventChangeTrigger","_validationEventInProgress","bindAttribute","bindingRegex","validatable","modelFields","KENDO_KEYDOWN","DATABOUND","DATABINDING","EMPTY_STRING","FOCUSSELECTOR","KEDITITEM","EDIT","REMOVE","SAVE","TOUCHSTART","ListView","_itemId","_layout","_navigatable","_pageable","_crudHandlers","_scrollable","navigatable","altTemplate","editTemplate","bordered","borders","layout","flex","_item","_progressHandler","_progress","_error","elementClassNames","contentClassNames","contentPadding","cols","rowHeight","gutter","endlessAppend","_endlessFetchInProgress","_skipRerenderItemsCount","_destroyEditable","_focusNext","pagerId","pageable","pager","Pager","multi","originalPageSize","overflow-y","-webkit-overflow-scrolling","_endlessPageSize","_scrollTo","scrollDirectionFunc","UseJQueryoffset","elementOffset","elementDimension","containerScrollAmount","containerDimension","clickCallback","focusAgain","canHandle","isTextBox","editItem","edit","clearSelection","_modelFromElement","_closeEditable","kendoEditable","mousedownNs","touchstartNs","clickNs","getFileName","inputFiles","file","$input","files","getAllFileInfo","stripPath","getFileExtension","rawFiles","getFileInfo","rawFile","fileSize","rFileExtension","slashIndex","assignGuidToFiles","validateFiles","validationInfo","allowedExtensions","parseAllowedExtensions","maxFileSize","minFileSize","validateFileExtension","validateFileSize","ext","parsedExt","validationErrors","INVALIDFILEEXTENSION","INVALIDMINFILESIZE","INVALIDMAXFILESIZE","getTotalFilesSizeMessage","totalSize","shouldRemoveFileEntry","upload","removeUploadedFile","fileEntry","shouldSendRemoveRequest","fileNames","_supportsRemove","_removeFileEntry","_submitRemove","textStatus","prevented","SUCCESS","XMLHttpRequest","tryParseJSON","onSuccess","onError","parseJSON","normalizeJSON","stopEvent","bindDragEventWrappers","onDragEnter","onDragLeave","hideInterval","lastDrag","sinceLastDrag","isFileUploadStarted","getFileEntry","iframeUploadModule","formDataUploadModule","UPLOAD","COMPLETE","CLEAR","PAUSE","RESUME","VALIDATIONERRORS","PROGRESSHIDEDELAY","PROGRESSHIDEDURATION","headerStatusIcon","warning","Upload","activeInput","initialFiles","directory","localization","_wrapInput","_activeInput","_onParentFormSubmit","_onParentFormReset","async","saveUrl","_module","_supportsFormData","_async","_renderInitialFiles","syncUploadModule","_toggleDropZone","_onFileAction","_onClearSelected","_onUploadSelected","_onInputChange","showFileList","autoRetryAfter","bufferChunkSize","maxAutoRetries","removeVerb","autoUpload","withCredentials","useArrayBuffer","retry","pause","resume","clearSelectedFiles","uploadSelectedFiles","dropFilesHere","invalidFiles","statusUploading","statusUploaded","statusWarning","statusFailed","headerStatusUploading","headerStatusPaused","headerStatusUploaded","uploadSuccess","uploadFail","invalidMaxFileSize","invalidMinFileSize","invalidFileExtension","dropZone","_supportsMultiple","customDropZone","onPause","pauseIcon","onResume","playIcon","onSaveSelected","getFiles","filesData","allFiles","listItems","clearAllFiles","_removeFileByDomElement","removeAllFiles","removeFileByUid","_removeFileByUid","clearFileByUid","clearFile","_removeFile","removeFile","fileData","onRemove","_hideHeaderUploadstatus","_updateHeaderUploadStatus","_addInput","sourceInput","_onInputKeyDown","firstButton","_inputFiles","_isAsyncNonBatch","onSelect","_readDirectory","dirReader","createReader","allFolderFiles","readEntries","entries","_readFile","fullpath","relativePath","droppedFolderFiles","droppedFolderCounter","_proceedDroppedItems","_traverseFileTree","skipCounter","isFile","isDirectory","_onDrop","entry","dt","dataTransfer","droppedFiles","directoryDrop","webkitGetAsEntry","_filesContainValidationErrors","hasErrors","currentFile","_enqueueFile","_fileAction","_prepareTemplateData","templateData","_prepareDefaultSingleFileEntryTemplate","fileGroup","_prepareDefaultMultipleFileEntriesTemplate","filesHaveValidationErrors","totalFileSize","existingFileEntries","removeEventArgs","fileUid","fileList","allCompletedFiles","allInvalidFiles","_hideActionButtons","fileElement","actionKey","skipClear","firstActionButton","classDictionary","iconsClassDictionary","_clearFileAction","_renderAction","_fileState","stateKey","states","uploading","uploaded","failed","currentState","actionClass","actionText","hasValidationErrors","_retryClicked","_checkAllComplete","finish","onRetry","clearEventArgs","_onFileProgress","percentComplete","progressPct","_onUploadSuccess","fileInfo","_setUploadErrorState","_hideUploadProgress","_onUploadError","module","chunkSize","_decreasePosition","_autoRetryAfter","retries","performUpload","uploadPercentage","_updateUploadProgress","fileMetaData","metaData","totalChunks","chunkIndex","_showActionButtons","actionsWrapper","uploadButton","_showHeaderUploadStatus","isUploading","headerUploadStatus","failedUploads","headerUploadStatusIcon","currentlyUploading","currentlyInvalid","currentlyFailed","currentlyPaused","concurrent","onAbort","FormData","_userAgent","_supportsDrop","isChrome","isSafari","isWindowsSafari","_setupDropZone","_bindDocumentDragEventWrappers","_setupCustomDropZone","removeUrl","removeField","dataFilter","traditional","xhrFields","filesContainErrors","relatedInput","iframes","_frameId","prepareUpload","saveField","createFrame","registerFrame","createForm","frame","dataInput","fileValidation","cleanupFrame","unregisterFrame","onIframeLoad","started","processResponse","fakeXHR","jsonResult","statusText","stopFrameSubmit","execCommand","cancelled","paused","sourceElement","fileEntries","prepareChunk","enqueueFiles","filesLength","webkitRelativePath","formData","createFormData","createXHR","removeFileEntry","populateFormData","FileReader","postFormData","onload","fileArrayBuffer","_appendBuffer","onerror","readAsArrayBuffer","_getCurrentChunk","buffer1","buffer2","byteLength","prevEntry","stopUploadRequest","_increaseChunkIndex","onRequestSuccess","onRequestError","onRequestProgress","setRequestHeader","send","chunk","serializedMetaData","raiseError","parseSuccess","cleanupFileEntry","_resetChunkIndex","uploadComplete","isUploadButtonVisible","abort","uploadUid","_decreaseChunkIndex","methodToInvoke","oldPosition","_getChunker","mozSlice","webkitSlice","BREADCRUMB","KEYDOWN","DOT","breadcrumbStyles","textbox","delimiter","rootItem","rootLink","overflowIcon","focused","hidden","inputWrapper","Breadcrumb","bindToLocation","navigational","rootIcon","delimiterIcon","rootTitle","_segments","_generateSegments","segments","_split","_path","previousDomItems","previousItems","_getItems","segment","isRoot","innerText","_edit","shouldRestoreValue","isEnter","isEsc","isNavigational","canNavigate","_wrapperKeydown","_wrapperFocus","_wrapperBlur","elementIsInput","isLastSegment","isOnlyRoot","showIcon","showText","itemClass","renderDelimiter","lastSegment","_displayOverflowIcons","_shrinkItems","availableWidth","_showItem","overlayWidth","_stretchItems","trail","concatPaths","sizeFormatter","suffix","FileBrowser","SearchBox","trimSlashesRegExp","APPLY","SEARCHBOXNS","NAMEFIELD","SIZEFIELD","TYPEFIELD","DEFAULTSORTORDER","EMPTYTILE","TOOLBARTMPL","filebrowser","_call","_deleteClick","_addClick","_directoryKeyDown","_directoryBlur","uploadFile","orderByName","orderBySize","directoryNotFound","emptyFolder","deleteFile","invalidFileType","overwriteFile","fileTypes","toolbar","_selectedItem","fileUrl","encodeURIComponent","_toolbar","arrangeBy","showUpload","uploadUrl","showCreate","showDelete","kendoUpload","_fileUpload","kendoDropDownList","searchBox","kendoSearchBox","_attachDropzoneEvents","_dropEnter","_dropLeave","_scrollHandler","_positionDropzone","_removeDropzone","_showMessage","createDirectory","_getFieldName","filterRegExp","fileNameField","sizeField","_createFile","_insertFileToList","_override","_tiles","_findFile","typeField","nameField","lastDirectoryIdx","_nameDirectory","_nameExists","directoryNames","_dblClick","_itemTmpl","_editTmpl","_listViewChange","folder","breadcrumbs","typeSortOrder","nameSortOrder","_navigation","navigation","kendoBreadcrumb","_updateValue","_toggleLabel","ImageBrowser","imagebrowser","_uploading","_loadImage","thumbnailUrl","alt","urlJoin","viewTop","viewBottom","updateTabClasses","tabs","IMG","IMAGE","LINK","DEFAULTSTATE","ACTIVESTATE","TABONTOP","excludedNodesRegExp","updateFirstLast","tabGroup","FIRST","LAST","scrollButtonHtml","buttonClass","HREF","PREV","NEXT","SHOW","CONTENTURL","CONTENTLOAD","HOVERSTATE","NAVIGATABLEITEMS","KEYBOARDNAVIGATABLEITEMS","HOVERABLEITEMS","DEFAULTDISTANCE","itemWrapper","sprite","rendering","wrapperCssClass","textAttributes","contentAttributes","contentUrl","TabStrip","selectedItems","_animations","_contentUrls","contentUrls","_updateClasses","_tabPosition","_keyDownProxy","wr","contentHolder","activateTab","_endItem","_getItem","endItem","tabPosition","tab","dataEncodedField","dataContentField","dataContentUrlField","dataImageUrlField","dataUrlField","dataSpriteCssClass","collapsible","scrollWrap","_scrollableModeActive","_scrollPrevButton","_scrollNextButton","_toggleDisabled","reload","ajaxRequest","inserted","_create","_updateContentElements","_appendUrlItem","_moveUrlItem","_removeUrlItem","referenceTab","referenceContent","fromIndex","newTabsCreated","renderItem","renderContent","activeItem","activeTab","contentElements","_elementId","tabStripID","elementId","wrapperId","isInitialUpdate","currentContent","contentAnimators","tabsHeight","_setContentElementsDimensions","contentDivs","activeDiv","marginStyleProperty","_sizeScrollWrap","isAnchor","neighbours","oldFocusedTab","_scrollTabsToItem","deactivateTab","wrapperOffsetWidth","tabGroupScrollWidth","scrollPrevButton","scrollNextButton","mouseDown","mouseUp","isRtlScrollDirection","_scrollableAllowed","_nowScrollingTabs","marginRight","_scrollTabsByDelta","_toggleScrollButtons","itemPosition","currentScrollOffset","itemOffset","tabGroupWidth","tabGroupPadding","scrLeft","animationSettings","hasCloseAnimation","oldTab","isAnimationEnabled","visibleContents","isAjaxContent","showContentElement","showContent","inRequest","halfWidth","fakeProgress","statusIcon","endState","oldProgressAnimation","ajaxOptions","ajaxSettings","request","progressUpload","evt","noProgress","lengthComputable","stopProgress","tabStrip","UndoRedoStack","stack","currentCommandIndex","undo","canUndo","redo","canRedo","util","Tool","bomFill","emptyElementContent","emptyTableCellContent","SELECT_OVERLAY_SELECTOR","PLACEHOLDER_CLASS","PLACEHOLDER_TAG_ID","REFRESH_INTERVAL","DEFAULT_LANGUAGE","ToolTemplate","getHtml","EditorUtils","editorWrapperTemplate","buttonTemplate","tableWizardButtonTemplate","colorPickerTemplate","comboBoxTemplate","dropDownListTemplate","separatorTemplate","overflowAnchorTemplate","formatByName","tags","getToolCssClass","toolCssClassNames","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","insertUnorderedList","insertOrderedList","import","outdent","createLink","unlink","insertImage","insertFile","viewHtml","foreColor","backColor","createTable","addColumnLeft","addColumnRight","addRowAbove","addRowBelow","deleteRow","deleteColumn","mergeCellsHorizontally","mergeCellsVertically","splitCellHorizontally","splitCellVertically","tableWizard","tableWizardInsert","cleanFormatting","copyFormat","applyFormat","registerTool","toolName","tool","toolOptions","Editor","defaultTools","registerFormat","formatName","cacheComments","comments","retrieveComments","bold","italic","underline","strikethrough","insertHtml","fontName","fontNameInherit","fontSize","fontSizeInherit","formatBlock","formatting","editAreaTitle","overflowAnchor","imageWebAddress","imageAltText","imageWidth","imageHeight","fileWebAddress","fileTitle","fileText","linkWebAddress","linkText","linkToolTip","linkOpenInNewWindow","dialogUpdate","dialogInsert","dialogOk","dialogCancel","createTableHint","tableTab","cellTab","accessibilityTab","caption","units","cellSpacing","cellPadding","cellMargin","alignment","background","border","borderStyle","collapseBorders","wrapText","associateCellsWithHeaders","alignLeft","alignCenter","alignRight","alignLeftTop","alignCenterTop","alignRightTop","alignLeftMiddle","alignCenterMiddle","alignRightMiddle","alignLeftBottom","alignCenterBottom","alignRightBottom","alignRemove","selectAllCells","exportAs","print","headerRows","headerColumns","tableSummaryPlaceholder","associateNone","associateScope","associateIds","supportedBrowser","contentEditable","toolGroups","basic","lists","indenting","formatPainter","links","tables","toolbarContainer","toolbarOptions","editorNS","Dom","tools","_registerHandler","_wrapTextarea","Toolbar","bindTo","heightStyle","expectedHeight","actualHeight","_initializeContentElement","keyboard","Keyboard","BackspaceHandler","TypingHandler","SystemHandler","SelectAllHandler","Clipboard","undoRedoStack","textarea","getAllComments","_endTyping","_mouseup","_initializeImmutables","_initializePlaceholder","_togglePlaceholder","isTypingInProgress","endTyping","saveSelection","_selectionChange","_selectionStarted","isResizable","kendoResizable","newSize","resizeend","getKendoResizable","_initializeTableResizing","TableResizing","_showTableResizeHandlesProxy","_showTableResizeHandles","_destroyTableResizing","tableResizing","showResizeHandles","_initializeColumnResizing","ColumnResizing","_destroyColumnResizing","columnResizing","_initializeRowResizing","RowResizing","_destroyRowResizing","rowResizing","editorWrap","editArea","_createContentElement","stylesheets","specifiedDomain","domain","domainScript","lang","frameBorder","hostname","contentDocument","decorateFrom","write","encodedValue","_spellCorrect","beforeCorrection","falseTrigger","contextmenu","_spellCorrectTimeout","RestorePoint","getRange","_finishUpdate","_deregisterHandlers","blurTrigger","mousedownTrigger","keydown","mouseover dragenter","htmlHeight","_cachedHeight","mouseout dragleave drop contextmenu","restoreHeight","nextChar","preventPopupHide","setStart","toolFromShortcut","keyPressCommand","_runPostContentKeyCommands","keypress","keyup","selectionCodes","_refreshInterval","selectNode","cut copy paste drop dragover","focusin","toolbarContainerElement","$head","head","immutables","Immutables","gecko","toolsFromShortcut","changesContent","_destroyResizings","deserialization","serialization","entities","semantic","scripts","pasteCleanup","keepNewLines","msAllFormatting","msConvertLists","msTags","none","dialogOptions","imageBrowser","fileBrowser","_focusOutside","_destroyUploadWidget","tempInput","_uploadWidget","textNodes","finder","RangeUtils","collapsed","startContainer","getFormat","isFormatted","currentHtml","Serializer","domToXhtml","htmlToDom","selectionRestorePoint","refreshTools","commonAncestorContainer","_focusBody","restoreSelection","toRange","encode","getSelection","SelectionUtils","selectionFromDocument","removeAllRanges","addRange","rangeCount","getRangeAt","endContainer","startOffset","endOffset","_containsRange","isAncestorOrSelf","_deleteSavedRange","selectedHtml","cloneContents","InsertHtmlCommand","toolById","managesUndoRedo","ctrl","initialize","aria-label","commandArguments","_bomFill","PDFMixin","_drawPDF","drawDOM","saveAsPDF","exportPDF","fail","makeMap","whitespace","emptyspace","bom","whitespaceOrBom","persistedScrollTop","cssAttributes","htmlRe","entityRe","entityTable","STYLE","FLOAT","CSSFLOAT","STYLEFLOAT","CLASS","KMARKER","nonListBlockElements","blockElements","block","selfClosing","inlineElements","inline","fillAttrs","60","62","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","402","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","931","932","933","934","935","936","937","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","977","978","982","8226","8230","8242","8243","8254","8260","8472","8465","8476","8482","8501","8592","8593","8594","8595","8596","8629","8656","8657","8658","8659","8660","8704","8706","8707","8709","8711","8712","8713","8715","8719","8721","8722","8727","8730","8733","8734","8736","8743","8744","8745","8746","8747","8756","8764","8773","8776","8800","8801","8804","8805","8834","8835","8836","8838","8839","8853","8855","8869","8901","8968","8969","8970","8971","9001","9002","9674","9824","9827","9829","9830","338","339","352","353","376","710","732","8194","8195","8201","8204","8205","8206","8207","8211","8212","8216","8217","8218","8220","8221","8222","8224","8225","8240","8249","8250","8364","findNodeIndex","skipText","isDataNode","isAncestorOf","findClosestAncestor","rootElem","SHOW_COMMENT","curNode","getNodeLength","splitDataNode","newNode","denormalizedText","deleteData","attrEquals","blockParentOrBody","parentOfType","blockParents","nodes","blocks","windowFromDocument","parentWindow","nodeTypes","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","encodableChars","entity","isBom","stripBom","stripBomNode","insignificant","_moz_dirty","_moz_editor_bogus_node","tableCell","significantNodes","emptyTextNode","emptyNode","significantChildNodes","isWhitespace","lastTextNode","isMarker","allWhitespaceContent","isEmptyspace","htmlIndentSpace","sibling","isPrevBlock","isNextBlock","isBlock","isSelfClosing","isInline","isBr","compatMode","scrollingElement","toStart","elementTop","windowHeight","persistScrollTop","restoreScrollTop","insertAt","newElement","referenceElement","removeChildren","removeTextSiblings","closestBy","condition","rootCondition","ofType","changeTag","skipAttributes","editableParent","createEmptyNode","mergeAttributes","unstyle","inlineStyle","getEffectiveBackground","backgroundStyle","commonAncestor","ancestors","minPathLength","closestSplittableParent","editableParents","editableAncestor","closestEditable","closestEditableOfType","invert","filterFn","filterBy","ensureTrailingBreaks","ensureTrailingBreak","removeTrailingBreak","br","reMapTableColumns","colAttr","_mapColIndices","clearTableMappings","rowIndex","colIndex","registeredColumns","rowSpan","_mapColspan","colSpan","ci","ri","associateWithIds","theadRows","numberOfTheadRows","tableRows","numberOfTableRows","theadMatrix","tbodyMatrix","tHead","_getNumberOfHeaderRows","_generateIdsForColumns","_generateIdsForRows","_assignIds","col","colspan","rowspan","pushHeaderId","_onlyUnique","_getNumberOfColumns","numberOfCols","_getNumberOfHeaderColumns","numberOfHeaderRows","thead","supportsLeadingWhitespace","TD","fontSizeMappings","quoteRe","brRe","pixelRe","emptyPRe","cssDeclaration","sizzleAttr","scriptAttr","onerrorRe","bomSpan","toEditableHtml","_toEditableImmutables","immutable","_fillEmptyElements","_removeSystemElements","_resetOrderedLists","ol","originalStart","ols","_preventScriptExecution","attributesToRemove","legacyIE","originalSrc","originalHref","deserialize","semanticFilter","mapStart","cssProperties","styleAttr","specifiedAttributes","$node","skipEncoding","childNode","isEmptyBomNode","mapper","jqNode","tagMap","textOnly","childrenCount","runCustom","k:script","font","semanticAttributes","textDecoration","strong","em","styleObj","script","SelectBox","_initSelectOverlay","autoSize","listWidth","_listWidth","selectBox","compareBoundaries","startAncestor","endAncestor","fixIvalidRange","isInvalidRange","updateRangeProperties","textRangeContainer","textRange","adoptContainer","cursorNode","textOffset","isData","anchorNode","cursor","moveToElementText","adoptEndPoint","comparison","appended","compareEndPoints","RangeIterator","W3CSelection","RangeEnumerator","ImmutablesRangeIterator","ImmutablesRangeEnumerator","Marker","selectionFromWindow","selectionFromRange","rangeDocument","documentFromRange","W3CRange","setEnd","setStartBefore","setStartAfter","setEndBefore","setEndAfter","selectNodeContents","deleteContents","cloneRange","deleteSubtree","hasPartialSubtree","getSubtreeIterator","cloneSubtree","frag","createDocumentFragment","extractContents","extractSubtree","originalRange","insertNode","startNodeName","endNodeName","fromNode","_next","hasNext","traverse","nodeIndex","inStartContainer","inEndContainer","getSubRange","subRange","movedStart","movedEnd","enumerate","visit","rootNode","getEditable","nodeToPath","serializedImmutables","removeImmutables","restoreImmutables","lastType","restoreHtml","toRangePoint","denormalizedOffset","addCaret","removeCaret","containerIndex","textNode","expand","rangeBoundary","isExpandable","_removeDeadMarkers","createTextNode","_normalizedIndex","shouldNormalizeStart","shouldNormalizeEnd","shouldNormalize","isBomSelected","collapsedToStart","startParent","endParent","editableTextNodes","immutableParent","partition","partitionRange","mapAll","mapped","getAll","getMarkers","isStartOf","isEndOf","wrapSelectedElements","isEnd","startEditable","endEditable","beforeCaret","afterCaret","complexBlocks","toolsToBeUpdated","IMMUTABALE","IMMUTABALE_MARKER_SELECTOR","IMMUTABLE_SELECTOR","expandImmutablesIn","startImmutableParent","endImmutableParent","immutablesContext","editableNodes","randomId","chars","serialized","deletingKey","updateToolOptions","_toHtml","serializationType","isDeleting","shouldCancelEvent","_cancelDeleting","_cancelTyping","typingInProgress","isTypingKey","cancelDeleting","closestSelectionLi","closestImmutableLi","backspace","del","nextImmutable","_removeImmutable","forwards","commonContainer","_nextNode","startRestorePoint","finishUpdate","endRestorePoint","GenericCommand","Command","restorePoint","formatter","lockRange","releaseRange","point","createDialog","kendoWindow","OVERFLOWANCHOR","toolNamesByCssClass","k-i-sup-script","k-i-sub-script","k-i-align-left","k-i-align-center","k-i-align-right","k-i-align-justify","k-i-list-unordered","k-i-list-ordered","k-i-login","k-i-indent-increase","k-i-indent-decrease","k-i-link-horizontal","k-i-unlink-horizontal","k-i-image","k-i-file-add","k-i-html","k-i-foreground-color","k-i-paint","k-i-table-insert","k-i-table-column-insert-left","k-i-table-column-insert-right","k-i-table-row-insert-above","k-i-table-row-insert-below","k-i-table-row-delete","k-i-table-column-delete","k-i-table-properties","k-i-table-wizard","k-i-clear-css","k-i-cells-merge-horizontally","k-i-cells-merge-vertically","k-i-cell-split-horizontally","k-i-cell-split-vertically","k-i-copy-format","k-i-apply-format","OverflowAnchorTool","overflowPopup","_initPopup","tablesInsert","tablesAddDelete","tablesMerge","advanced","fonts","overflowFlaseTools","_toggleOverflowStyles","_initOverflowPopup","popupTemplate","focusOverflowPopup","toolGroupFor","isCustomTool","_editor","expandTools","combobox","dropDown","isOpened","inheritText","_toolName","description","_appendShortcutSequence","editorElement","editorOffset","_getWindowWidth","_overlaps","toolbarWrapper","toolbarWrapperOffset","toolbarWrapperLeft","toolbarWrapperTop","boxOffset","boxOffsetLeft","boxOffsetTop","localizedText","res","_nativeTools","currentTool","nativeTools","endGroup","groupPosition","startGroup","toolElement","newGroupName","toolConfig","updateGroups","popupElement","attachToolsEvents","enabledButtons","disabledButtons","dropdown","colorpicker","editorTools","focusableItems","currentContainer","_executeToolCommand","toolname","_immutablesContext","_updateImmutablesState","uiData","groupUi","uiElement","trackImmutables","containerWidth","toolbarWindow","_refreshWidths","_shrink","_stretch","visibleGroups","_groupsWidth","_visibleGroups","_hideGroup","hiddenGroups","_hiddenGroups","_showGroup","detach","groupWidth","ViewHtmlCommand","dialog","FormatCommand","FormatTool","MOUSEDOWN_NS","InlineFormatFinder","numberOfSiblings","textNodesCount","elementNodesCount","markerCount","findSuitable","sourceNode","findFormat","InlineFormatter","formatNode","formatNodes","consolidate","outerMostInline","GreedyInlineFormatFinder","greedyProperty","getInlineCssValue","attributeValue","pair","cssIndex","propertyAndValue","getFormatInner","GreedyInlineFormatter","InlineFormatTool","DelayedExecutionTool","FontTool","cssAttr","domAttr","newRange","ColorTool","_widget","storedRange","_inputFocused","picker","fontWeight","fontStyle","lastIndexOfRegExp","indexOfRegExp","HTTP_PROTOCOL","protocolRegExp","endLinkCharsRegExp","LinkFormatFinder","LinkFormatter","markers","UnlinkCommand","LinkCommand","_dialogTemplate","_initialText","_apply","linkUrl","_dialog","textInput","AutoLinkCommand","linkMarker","linkRange","detectedLink","detectLink","_ensureWebProtocol","traverser","detection","startNode","LeftDomTextTraverser","cancelAtNode","DomTextLinkDetection","hasProtocol","_hasProtocolPrefix","_prefixWithWebProtocol","UnlinkTool","DomPos","puntuationOptions","puntuationTraverser","_detectEnd","blank","_detectStart","_isLinkDetected","extendOptions","RightDomTextTraverser","_skipStartPuntuation","ii","DomTextTraverser","_traverse","edgeNode","subText","listElements","BlockFormatFinder","suitable","_resolveListsItems","ImmutablesNS","BlockFormatter","ancestor","images","imageFormat","imageAttributes","nonImages","_handleImmutables","applyFormatting","immutableFormat","namedFormat","GreedyBlockFormatter","immutalbeParent","blockFormatter","formatTag","ListFormatter","BlockFormatTool","textAlign","listStylePosition","ListFormatFinder","unwrapTag","isList","isImmutable","containsAny","_parentLists","breakable","applyOnSection","section","pushAncestor","addLastSection","lastSection","sections","lastNodes","fragment","ListCommand","ListTool","unwrapListItem","listFormatter","FormattingTool","toFormattingItem","dot","kendoSelectBox","getFormattingValue","_ancestor","CleanFormatCommand","tagsToClean","clean","KEDITORIMAGEURL","KEDITORIMAGETITLE","KEDITORIMAGEWIDTH","KEDITORIMAGEHEIGHT","ImageCommand","removeIEAttributes","showBrowser","applied","keyDown","dialogHeight","_imageBrowser","loadingOverlay","ImportCommand","_initializeUploadWidget","importOptions","_onUploadProgress","_onUploadSelect","_onUploadComplete","proxyUrl","getKendoUpload","_removeLoadingOverlay","_initLoadingOverlay","uploadEvent","_iframeWrapper","genericCommand","postProcess","InsertHtmlTool","_selectBox","selectbox","defaultExportAsItems","ExportAsCommand","exportType","generateForm","exportAsOptions","valueInput","exportTypeInput","fileNameInput","ExportAsTool","changeHandler","_exec","indentDirection","IndentFormatter","parentList","siblingList","nestedList","targetIndex","mapImmutables","targetNode","listParent","nextAll","IndentCommand","indentFormatter","OutdentCommand","OutdentTool","isOutdentable","listParentsCount","suitableNodes","ParagraphCommand","_insertMarker","_moveFocus","focusNode","shouldTrim","startInBlock","endInBlock","_blankAfter","paragraph","heading","tableNode","rng","parentChildrenLength","emptyParagraphContent","_insertParagraphAfter","NewLineCommand","filler","KEDITORFILEURL","KEDITORFILETEXT","KEDITORFILETITLE","FileCommand","_fileBrowser","SCOPE","ROW","COL","ROWGROUP","COLGROUP","COLSPAN","ROWSPAN","TABLE","THEAD","TBODY","TR","TH","columnTemplate","tableFormatFinder","TableCommand","skipCleaners","_tableHtml","columnHtml","insertedTable","PopupTool","twTool","TableWizardTool","TableWizardCommand","insertNewTable","InsertTableTool","tableFromLocation","cellHeight","cellWidth","firstCell","lastCell","_setTableSize","_valid","selectedRows","selectedColumns","tableSize","TableModificationCommand","_clearColIndexAttr","_findRowSpanCell","_resetTableResizing","_findNextTdInRow","td","lastTd","_adjustColgroups","colgroup","colElements","colgroupElements","numberOfCells","_associateHeaderIds","InsertRowCommand","cellCount","newRow","rowSpanIndex","createdCell","_appendCell","newCell","InsertColumnCommand","columnIndex","_processForColSpan","_resizeCells","selectedCell","colSpanEffect","parsedWidth","unit","calculatedWidth","DeleteRowCommand","rowParent","_handleRowSpanCells","adjacentCell","nextRow","firstRow","_reduceRowSpan","rowSpanValue","DeleteColumnCommand","columnCount","_handleColSpanCells","_reduceColSpan","colSpanValue","MergeCellsHorizontallyCommand","nextTd","_getColspan","MergeCellsVerticallyCommand","tr","targetRow","bottomTd","_getRowspan","SplitCellCommand","emptyTd","_splitCellHorizontally","_splitCellVertically","_getRowspanValue","_getColspanValue","tdToAdd","colSpanResult","rowSpanResult","TableModificationTool","commandsMap","delete","column","cleaners","ScriptCleaner","TabCleaner","MSWordFormatCleaner","WebkitFormatCleaner","HtmlTagsCleaner","HtmlAttrCleaner","HtmlContentCleaner","CustomCleaner","htmlToFragment","_startModification","_inProgress","_endModification","modificationInfo","_contentModification","_removeBomNodes","_onBeforeCopy","oncopy","oncut","_fileToDataURL","File","getAsFile","readAsDataURL","_triggerPaste","_handleImagePaste","clipboardData","_insertImages","onpaste","clipboardRange","clipboardNode","_decoreateClipboardNode","_moveToCaretPosition","ondragover","ondrop","borderWidth","fontVariant","lineSpacing","nodeOffset","caretOffset","_caretOffset","translateX","translateY","-webkit-transform","rangeChanged","isStartTextNode","prevLength","bomNode","splittableParent","splittable","fragmentsHtml","focusedTable","siblingNodes","lastSiblingIndex","lastSibling","applicable","elm","Cleaner","replacements","customReplacements","junkReplacements","convertFontMatch","$0","closing","faceRe","family","stripEmptyAnchors","listData","startingSymbol","matchSymbol","trimStartText","_guessUnorderedListStyle","_guessOrderedListStyle","_convertToLi","extractListLevels","msoListRegExp","styleType","listStyleType","rootMargin","rootIndex","lastRootLi","isLastRootLi","rootList","listIndex","levelType","blockChildren","lastMargin","levels","acceptedNameTags","isParentTable","removeAttributes","removeAttributeNode","createColGroup","convertHeaders","boldedCells","removeParagraphs","paragraphs","removeDefaultColors","spans","longestRow","titles","removeFormatting","DomCleaner","cleanDom","collectTags","collectAttr","TextContainer","HtmlTextLines","separators","line","lines","inlineBlockText","resetLine","appendText","textContainer","appendInlineBlockText","flashInlineBlockText","endLine","il","il1","jl","jl1","DomEnumerator","preventDown","enumerator","buildText","getDefaultSeparators","htmlLines","cleaner","tdCleaner","cellText","getSibling","PREVIOUS_SIBLING","tableCells","tableCellsWrappers","tableElements","inTable","RemoveTableContent","cellsTypes","startCell","endCell","_removeContent","getNext","removeTableContent","backspaceHandler","Event","deleteSelection","startTyping","_addCaret","_restoreCaret","_handleDelete","_merge","_cleanBomBefore","_handleBackspace","startAtLi","liIndex","startAtNonFirstLi","rangeStartNode","previousNode","isEndOfLink","_handleSelection","parentElementOrNode","_surroundFullyContent","_surroundFullySelectedAnchor","_join","startImmutable","endImmutable","_moveMarker","_root","_mergeWithTextNode","appendedNode","_isCaret","systemCommandIsInProgress","createUndoCommand","isModifierKey","isSystem","_toSelectableImmutables","_selectEditorBody","isCharacter","_getShortcutModifier","platform","mac","matchesKey","matchKey","toolKey","onEndTyping","stopTyping","what","ExportPdfCommand","PrintCommand","CopyFormatCommand","inlineStyles","blockStyles","collectStyles","rangeNodes","populateStyles","styleValue","styleKey","attributeKey","nodeStyles","ApplyFormatCommand","removeEmptyElementsFromRange","cleanInlineParents","applyBlockStyles","applyInlineStyles","isEmptyInline","emptyElements","blockParent","outerWrapper","previousNodes","nextNodes","prevWrapper","nextWrapper","createdNode","topNode","CopyFormatTool","ApplyFormatTool","lowerBound","upperBound","getScrollBarWidth","calculatePercentageRatio","inPercentages","REGEX_NUMBER_IN_PERCENTAGES","inPixels","REGEX_NUMBER_IN_PIXELS","toPercentages","PERCENTAGE","toPixels","PIXEL","ResizingUtils","MOUSE_ENTER","MOUSE_LEAVE","MOUSE_MOVE","LAST_CHILD","TableElementResizing","_attachEventHandlers","eventNamespace","rootElement","_destroyResizeHandle","dataAttribute","detectElementBorderHovering","resizingInProgress","handleOptions","tableElement","elementBorderHovered","showResizeHandle","_initResizeHandle","setResizeHandlePosition","setResizeHandleDimensions","setResizeHandleDataAttributes","_attachResizeHandleEventHandlers","_initResizable","_hideResizeMarker","markerClass","_destroyResizable","onResizeStart","onResizeEnd","_disableKeyboard","setResizeHandleDragPosition","_enableKeyboard","_forceResizing","ResizingFactory","resizingName","_destroyResizing","_initResizing","parentTable","resizingType","RESIZE_HANDLE_CLASS","RESIZE_MARKER_CLASS","COLATTR","handleWidth","borderOffset","tableInnerElement","scrollTopOffset","scrollLeftOffset","columnWidthOffset","scrollBarWidth","columnOffsetLeft","innerElementOffsetTop","tableHead","tableBody","fullHeight","columnWidth","columnLeftOffset","adjacentColumnWidth","resizeHandleOffsetLeft","handleOffset","initialAdjacentColumnWidth","initialColumnWidth","nextColumn","rtlModifier","initialDeltaX","_setTableComputedWidth","_setColumnsComputedWidth","_resizeColumn","_resizeTopAndBottomColumns","_resizeAdjacentColumns","innerElementWidth","currentColumnsWidths","topAndBottomColumns","innerTableElement","deltaWidth","adjacentColumns","_resizeAdjacentColumn","adjacentColumn","RESIZE_HANDLE_MARKER_WRAPPER_CLASS","handleHeight","rowOffsetLeft","rowOffsetTop","topInnerTableElement","$row","tableTopOffset","resizeHandleOffsetTop","currentRowHeight","initialTableHeight","tableHeadHeight","tableBodyHeight","initialStyleHeight","newRowHeight","_setRowsHeightInPixels","_setTableHeight","_setRowsHeightInPercentages","currentRowsHeights","HandlePositioningStrategy","EastPositioningStrategy","NorthPositioningStrategy","NortheastPositioningStrategy","NorthwestPositioningStrategy","SouthPositioningStrategy","SoutheastPositioningStrategy","SouthwestPositioningStrategy","WestPositioningStrategy","DraggingStrategyFactory","HandleDraggingStrategy","HorizontalDraggingStrategy","EastDraggingStrategy","WestDraggingStrategy","VerticalDraggingStrategy","NorthDraggingStrategy","SouthDraggingStrategy","HorizontalAndVerticalDraggingStrategy","NorthEastDraggingStrategy","NorthWestDraggingStrategy","SouthEastDraggingStrategy","SouthWestDraggingStrategy","DRAG_START","DRAG_END","HALF_INSIDE","MOUSE_OUT","EAST","NORTH","NORTHEAST","NORTHWEST","SOUTH","SOUTHEAST","SOUTHWEST","WEST","TableResizeHandle","_addStyles","_initDraggable","_initPositioningStrategy","_initDraggingStrategy","resizableElement","_destroyDraggable","_setPosition","_positioningStrategy","_onMouseOver","_onMouseOut","_onDragStart","_onDrag","_onDragEnd","_draggingStrategy","adjustDragDelta","deltaX","initialDeltaY","StrategyFactory","PositioningStrategyFactory","calculatePosition","handleOffsetPosition","applyHandleOffset","scrollOffsetPosition","applyScrollOffset","adjustment","deltas","xAxisAdjustment","yAxisAdjustment","isUndefined","RESIZE_HANDLE_WRAPPER_CLASS","TABLE_CLASS","TABLE_RESIZING_CLASS","COLUMN","handles","_destroyResizeHandles","appendHandlesTo","_resizeWidth","_resizeHeight","ratioValue","ratioTotalValue","constrainedWidth","styleWidth","parentWidth","_getMaxDimensionValue","_initialElementWidth","_setColumnsWidth","constrainedHeight","styleHeight","parentHeight","hasRowsInPixels","_hasRowsInPixels","_initialElementHeight","dimensionLowercase","parentDimension","parentScrollOffset","isWidthInPercentages","parentColumn","columnsLength","_initResizeHandles","_showResizeHandles","_bindToResizeHandlesEvents","_onResizeHandleDragStart","_onResizeHandleDrag","_onResizeHandleDragEnd","_onResizeHandleMouseOver","_onResizeHandleMouseOut","TableResizingFactory","factory","eventCurrentTarget","isResizeHandleOrChild","cellsFormatFinder","reUnit","COL_INDEX","HEADERS","selectedTable","_sourceTable","_selectedTable","selectedCells","_selectedTableCells","_selectedCells","closeCallback","onDialogClose","parseTable","TableWizardDialog","insertTable","createNewTable","updateTable","_ensureFocusableAfterTable","lastSelectedRow","cellsLength","newRowsCount","cellProp","tableProp","tableProperties","_deleteTableRows","insertRow","_insertCells","deleteCell","_updateTableProperties","cellProperties","_updateCellProperties","_updateCaption","_updateHeadersWithThead","_updateHeadersNoThead","_updateHeaderAssociates","_isHeadingRow","_isHeadingCell","cellsWithHeadersAssociated","associatedCells","headingIds","checkHeader","headersArray","headersAttr","insertCell","createTHead","_createTableRows","createTBody","cellsWithHeaders","_addScopes","cellPropToAll","_getStylesData","captionContent","deleteCaption","createCaption","_getAlignmentData","captionAlignment","verticalAlign","_swapToHeaderCells","deleteTHead","_removeScopes","_removeAssociates","headerCols","tds","swapCell","widthUnit","heightUnit","backgroundColor","bgColor","borderColor","borderCollapse","align","tStyle","captionClone","tableAlignment","numberOfColumns","numberOfHeaderColumns","tableJson","_getAlignment","_getUnit","parseTableRows","rowData","cellData","parseCell","cStyle","horizontalOnly","vAlign","hAlign","TableWizardEditTool","numericTextBoxSettings","borderStyles","DEFAULT_NUMBER_OF_COLS_AND_ROWS","tableAlignmentDropDownSettings","cellAlignmentDropDownSettings","accessibilityAlignmentDropDownSettings","dialogTemplate","okHandler","collectDialogValues","tableData","closeHandler","_initTabStripComponent","_initTableViewComponents","_initCellViewComponents","_initAccessibilityViewComponents","components","kendoTabStrip","_collectTableViewValues","_collectCellViewValues","_collectAccessibilityViewValues","tableView","cellView","accessibilityView","_addUnit","onColumnsNumberChange","onRowsNumberChange","headerColumnsNumeric","currentNumberOfColumnsHeaders","headerRowsNumeric","currentNumberOfRowHeaders","numberOfRows","_initNumericTextbox","_initDropDownList","_initTableAlignmentDropDown","_initColorPicker","_initInput","_initCheckbox","_initCellAlignmentDropDown","_initAccessibilityAlignmentDropDown","_initAssociationDropDown","storage","component","_setComponentValue","_initAlignmentDropDown","kendoColorPicker","_destroyComponents"],"mappings":"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,OACA,OACA,OACA,QAEJC,OACI,OACA,OACA,OACA,OACA,OACA,OACA,MACA,QACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,QAEJC,OACI,MACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,MACA,OACA,OACA,QACA,OACA,SAEJC,KACI,OACA,QACA,OACA,SACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,QAEJC,cACI,OACA,OACA,OACA,OACA,SAEJ1+B,MACI,OACA,OACA,SAEJ2+B,aACI,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,QACA,MACA,OACA,OACA,UAEJC,KAAM,QACNC,QACI,OACA,OACA,OACA,OACA,OACA,OACA,UACA,OACA,QAEJC,KACI,MACA,OACA,MACA,QACA,OACA,OACA,OACA,OACA,OACA,UACA,KACA,OACA,SAEJC,cACI,OACA,OACA,SACA,OACA,OACA,OACA,SAGR1iC,GAAM2iC,aAAe,SAAUC,EAAWC,GAArB,GAOR5/B,GACD6/B,EAPJC,EAAc/iC,GAAMgiC,aACpBgB,EAASzyB,OAAO6a,KAAK2X,GACrBz7B,EAAO,MACX,IAAIs7B,IAAclkC,IAAckkC,EAAUljC,OACtC,MAAO4H,EAEX,KAASrE,EAAI,EAAGA,EAAI+/B,EAAOtjC,OAAQuD,GAAK,EAEpC,GADI6/B,EAAaC,EAAYC,EAAO//B,IAChC6/B,EAAWx8B,QAAQs8B,EAAU19B,kBAC7B,MAAO29B,GAAa,QAAUG,EAAO//B,GAAK+/B,EAAO//B,EAGzD,OAAOqE,IAEXtH,GAAMijC,mBAAqB,SAAU98B,GAAV,GAWnBlD,GAVAigC,GACA,QACA,KACA,KACA,KACA,KAEJ,OAAa,KAAT/8B,EACO,UAEPlD,EAAIyH,SAAS1D,KAAKzE,MAAMyE,KAAKknB,IAAI/nB,GAAQa,KAAKknB,IAAI,OAAQ,IACvDlnB,KAAKgS,MAAM7S,E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","file":"kendo.custom.min.js","sourcesContent":["(function (f, define) {\n define('kendo.core', ['jquery'], f);\n}(function () {\n var __meta__ = {\n id: 'core',\n name: 'Core',\n category: 'framework',\n description: 'The core of the Kendo framework.'\n };\n (function ($, window, undefined) {\n var kendo = window.kendo = window.kendo || { cultures: {} }, extend = $.extend, each = $.each, isArray = $.isArray, proxy = $.proxy, noop = $.noop, math = Math, Template, JSON = window.JSON || {}, support = {}, percentRegExp = /%/, formatRegExp = /\\{(\\d+)(:[^\\}]+)?\\}/g, boxShadowRegExp = /(\\d+(?:\\.?)\\d*)px\\s*(\\d+(?:\\.?)\\d*)px\\s*(\\d+(?:\\.?)\\d*)px\\s*(\\d+)?/i, numberRegExp = /^(\\+|-?)\\d+(\\.?)\\d*$/, FUNCTION = 'function', STRING = 'string', NUMBER = 'number', OBJECT = 'object', NULL = 'null', BOOLEAN = 'boolean', UNDEFINED = 'undefined', getterCache = {}, setterCache = {}, slice = [].slice, noDepricateExtend = function () {\n var src, copyIsArray, copy, name, options, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false;\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[i] || {};\n i++;\n }\n if (typeof target !== 'object' && !jQuery.isFunction(target)) {\n target = {};\n }\n if (i === length) {\n target = this;\n i--;\n }\n for (; i < length; i++) {\n if ((options = arguments[i]) != null) {\n for (name in options) {\n if (name == 'filters' || name == 'concat' || name == ':') {\n continue;\n }\n src = target[name];\n copy = options[name];\n if (target === copy) {\n continue;\n }\n if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && jQuery.isArray(src) ? src : [];\n } else {\n clone = src && jQuery.isPlainObject(src) ? src : {};\n }\n target[name] = noDepricateExtend(deep, clone, copy);\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n }\n return target;\n };\n kendo.version = '2020.2.617'.replace(/^\\s+|\\s+$/g, '');\n function Class() {\n }\n Class.extend = function (proto) {\n var base = function () {\n }, member, that = this, subclass = proto && proto.init ? proto.init : function () {\n that.apply(this, arguments);\n }, fn;\n base.prototype = that.prototype;\n fn = subclass.fn = subclass.prototype = new base();\n for (member in proto) {\n if (proto[member] != null && proto[member].constructor === Object) {\n fn[member] = extend(true, {}, base.prototype[member], proto[member]);\n } else {\n fn[member] = proto[member];\n }\n }\n fn.constructor = subclass;\n subclass.extend = that.extend;\n return subclass;\n };\n Class.prototype._initOptions = function (options) {\n this.options = deepExtend({}, this.options, options);\n };\n var isFunction = kendo.isFunction = function (fn) {\n return typeof fn === 'function';\n };\n var preventDefault = function () {\n this._defaultPrevented = true;\n };\n var isDefaultPrevented = function () {\n return this._defaultPrevented === true;\n };\n var Observable = Class.extend({\n init: function () {\n this._events = {};\n },\n bind: function (eventName, handlers, one) {\n var that = this, idx, eventNames = typeof eventName === STRING ? [eventName] : eventName, length, original, handler, handlersIsFunction = typeof handlers === FUNCTION, events;\n if (handlers === undefined) {\n for (idx in eventName) {\n that.bind(idx, eventName[idx]);\n }\n return that;\n }\n for (idx = 0, length = eventNames.length; idx < length; idx++) {\n eventName = eventNames[idx];\n handler = handlersIsFunction ? handlers : handlers[eventName];\n if (handler) {\n if (one) {\n original = handler;\n handler = function () {\n that.unbind(eventName, handler);\n original.apply(that, arguments);\n };\n handler.original = original;\n }\n events = that._events[eventName] = that._events[eventName] || [];\n events.push(handler);\n }\n }\n return that;\n },\n one: function (eventNames, handlers) {\n return this.bind(eventNames, handlers, true);\n },\n first: function (eventName, handlers) {\n var that = this, idx, eventNames = typeof eventName === STRING ? [eventName] : eventName, length, handler, handlersIsFunction = typeof handlers === FUNCTION, events;\n for (idx = 0, length = eventNames.length; idx < length; idx++) {\n eventName = eventNames[idx];\n handler = handlersIsFunction ? handlers : handlers[eventName];\n if (handler) {\n events = that._events[eventName] = that._events[eventName] || [];\n events.unshift(handler);\n }\n }\n return that;\n },\n trigger: function (eventName, e) {\n var that = this, events = that._events[eventName], idx, length;\n if (events) {\n e = e || {};\n e.sender = that;\n e._defaultPrevented = false;\n e.preventDefault = preventDefault;\n e.isDefaultPrevented = isDefaultPrevented;\n events = events.slice();\n for (idx = 0, length = events.length; idx < length; idx++) {\n events[idx].call(that, e);\n }\n return e._defaultPrevented === true;\n }\n return false;\n },\n unbind: function (eventName, handler) {\n var that = this, events = that._events[eventName], idx;\n if (eventName === undefined) {\n that._events = {};\n } else if (events) {\n if (handler) {\n for (idx = events.length - 1; idx >= 0; idx--) {\n if (events[idx] === handler || events[idx].original === handler) {\n events.splice(idx, 1);\n }\n }\n } else {\n that._events[eventName] = [];\n }\n }\n return that;\n }\n });\n function compilePart(part, stringPart) {\n if (stringPart) {\n return '\\'' + part.split('\\'').join('\\\\\\'').split('\\\\\"').join('\\\\\\\\\\\\\"').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t') + '\\'';\n } else {\n var first = part.charAt(0), rest = part.substring(1);\n if (first === '=') {\n return '+(' + rest + ')+';\n } else if (first === ':') {\n return '+$kendoHtmlEncode(' + rest + ')+';\n } else {\n return ';' + part + ';$kendoOutput+=';\n }\n }\n }\n var argumentNameRegExp = /^\\w+/, encodeRegExp = /\\$\\{([^}]*)\\}/g, escapedCurlyRegExp = /\\\\\\}/g, curlyRegExp = /__CURLY__/g, escapedSharpRegExp = /\\\\#/g, sharpRegExp = /__SHARP__/g, zeros = [\n '',\n '0',\n '00',\n '000',\n '0000'\n ];\n Template = {\n paramName: 'data',\n useWithBlock: true,\n render: function (template, data) {\n var idx, length, html = '';\n for (idx = 0, length = data.length; idx < length; idx++) {\n html += template(data[idx]);\n }\n return html;\n },\n compile: function (template, options) {\n var settings = extend({}, this, options), paramName = settings.paramName, argumentName = paramName.match(argumentNameRegExp)[0], useWithBlock = settings.useWithBlock, functionBody = 'var $kendoOutput, $kendoHtmlEncode = kendo.htmlEncode;', fn, parts, idx;\n if (isFunction(template)) {\n return template;\n }\n functionBody += useWithBlock ? 'with(' + paramName + '){' : '';\n functionBody += '$kendoOutput=';\n parts = template.replace(escapedCurlyRegExp, '__CURLY__').replace(encodeRegExp, '#=$kendoHtmlEncode($1)#').replace(curlyRegExp, '}').replace(escapedSharpRegExp, '__SHARP__').split('#');\n for (idx = 0; idx < parts.length; idx++) {\n functionBody += compilePart(parts[idx], idx % 2 === 0);\n }\n functionBody += useWithBlock ? ';}' : ';';\n functionBody += 'return $kendoOutput;';\n functionBody = functionBody.replace(sharpRegExp, '#');\n try {\n fn = new Function(argumentName, functionBody);\n fn._slotCount = Math.floor(parts.length / 2);\n return fn;\n } catch (e) {\n throw new Error(kendo.format('Invalid template:\\'{0}\\' Generated code:\\'{1}\\'', template, functionBody));\n }\n }\n };\n function pad(number, digits, end) {\n number = number + '';\n digits = digits || 2;\n end = digits - number.length;\n if (end) {\n return zeros[digits].substring(0, end) + number;\n }\n return number;\n }\n (function () {\n var escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g, gap, indent, meta = {\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\'\n }, rep, toString = {}.toString;\n if (typeof Date.prototype.toJSON !== FUNCTION) {\n Date.prototype.toJSON = function () {\n var that = this;\n return isFinite(that.valueOf()) ? pad(that.getUTCFullYear(), 4) + '-' + pad(that.getUTCMonth() + 1) + '-' + pad(that.getUTCDate()) + 'T' + pad(that.getUTCHours()) + ':' + pad(that.getUTCMinutes()) + ':' + pad(that.getUTCSeconds()) + 'Z' : null;\n };\n String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function () {\n return this.valueOf();\n };\n }\n function quote(string) {\n escapable.lastIndex = 0;\n return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n var c = meta[a];\n return typeof c === STRING ? c : '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n }) + '\"' : '\"' + string + '\"';\n }\n function str(key, holder) {\n var i, k, v, length, mind = gap, partial, value = holder[key], type;\n if (value && typeof value === OBJECT && typeof value.toJSON === FUNCTION) {\n value = value.toJSON(key);\n }\n if (typeof rep === FUNCTION) {\n value = rep.call(holder, key, value);\n }\n type = typeof value;\n if (type === STRING) {\n return quote(value);\n } else if (type === NUMBER) {\n return isFinite(value) ? String(value) : NULL;\n } else if (type === BOOLEAN || type === NULL) {\n return String(value);\n } else if (type === OBJECT) {\n if (!value) {\n return NULL;\n }\n gap += indent;\n partial = [];\n if (toString.apply(value) === '[object Array]') {\n length = value.length;\n for (i = 0; i < length; i++) {\n partial[i] = str(i, value) || NULL;\n }\n v = partial.length === 0 ? '[]' : gap ? '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']' : '[' + partial.join(',') + ']';\n gap = mind;\n return v;\n }\n if (rep && typeof rep === OBJECT) {\n length = rep.length;\n for (i = 0; i < length; i++) {\n if (typeof rep[i] === STRING) {\n k = rep[i];\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n } else {\n for (k in value) {\n if (Object.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n v = partial.length === 0 ? '{}' : gap ? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}' : '{' + partial.join(',') + '}';\n gap = mind;\n return v;\n }\n }\n if (typeof JSON.stringify !== FUNCTION) {\n JSON.stringify = function (value, replacer, space) {\n var i;\n gap = '';\n indent = '';\n if (typeof space === NUMBER) {\n for (i = 0; i < space; i += 1) {\n indent += ' ';\n }\n } else if (typeof space === STRING) {\n indent = space;\n }\n rep = replacer;\n if (replacer && typeof replacer !== FUNCTION && (typeof replacer !== OBJECT || typeof replacer.length !== NUMBER)) {\n throw new Error('JSON.stringify');\n }\n return str('', { '': value });\n };\n }\n }());\n (function () {\n var dateFormatRegExp = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|HH|H|hh|h|mm|m|fff|ff|f|tt|ss|s|zzz|zz|z|\"[^\"]*\"|'[^']*'/g, standardFormatRegExp = /^(n|c|p|e)(\\d*)$/i, literalRegExp = /(\\\\.)|(['][^']*[']?)|([\"][^\"]*[\"]?)/g, commaRegExp = /\\,/g, EMPTY = '', POINT = '.', COMMA = ',', SHARP = '#', ZERO = '0', PLACEHOLDER = '??', EN = 'en-US', objectToString = {}.toString;\n kendo.cultures['en-US'] = {\n name: EN,\n numberFormat: {\n pattern: ['-n'],\n decimals: 2,\n ',': ',',\n '.': '.',\n groupSize: [3],\n percent: {\n pattern: [\n '-n %',\n 'n %'\n ],\n decimals: 2,\n ',': ',',\n '.': '.',\n groupSize: [3],\n symbol: '%'\n },\n currency: {\n name: 'US Dollar',\n abbr: 'USD',\n pattern: [\n '($n)',\n '$n'\n ],\n decimals: 2,\n ',': ',',\n '.': '.',\n groupSize: [3],\n symbol: '$'\n }\n },\n calendars: {\n standard: {\n days: {\n names: [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday'\n ],\n namesAbbr: [\n 'Sun',\n 'Mon',\n 'Tue',\n 'Wed',\n 'Thu',\n 'Fri',\n 'Sat'\n ],\n namesShort: [\n 'Su',\n 'Mo',\n 'Tu',\n 'We',\n 'Th',\n 'Fr',\n 'Sa'\n ]\n },\n months: {\n names: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n ],\n namesAbbr: [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n ]\n },\n AM: [\n 'AM',\n 'am',\n 'AM'\n ],\n PM: [\n 'PM',\n 'pm',\n 'PM'\n ],\n patterns: {\n d: 'M/d/yyyy',\n D: 'dddd, MMMM dd, yyyy',\n F: 'dddd, MMMM dd, yyyy h:mm:ss tt',\n g: 'M/d/yyyy h:mm tt',\n G: 'M/d/yyyy h:mm:ss tt',\n m: 'MMMM dd',\n M: 'MMMM dd',\n s: 'yyyy\\'-\\'MM\\'-\\'ddTHH\\':\\'mm\\':\\'ss',\n t: 'h:mm tt',\n T: 'h:mm:ss tt',\n u: 'yyyy\\'-\\'MM\\'-\\'dd HH\\':\\'mm\\':\\'ss\\'Z\\'',\n y: 'MMMM, yyyy',\n Y: 'MMMM, yyyy'\n },\n '/': '/',\n ':': ':',\n firstDay: 0,\n twoDigitYearMax: 2029\n }\n }\n };\n function findCulture(culture) {\n if (culture) {\n if (culture.numberFormat) {\n return culture;\n }\n if (typeof culture === STRING) {\n var cultures = kendo.cultures;\n return cultures[culture] || cultures[culture.split('-')[0]] || null;\n }\n return null;\n }\n return null;\n }\n function getCulture(culture) {\n if (culture) {\n culture = findCulture(culture);\n }\n return culture || kendo.cultures.current;\n }\n kendo.culture = function (cultureName) {\n var cultures = kendo.cultures, culture;\n if (cultureName !== undefined) {\n culture = findCulture(cultureName) || cultures[EN];\n culture.calendar = culture.calendars.standard;\n cultures.current = culture;\n } else {\n return cultures.current;\n }\n };\n kendo.findCulture = findCulture;\n kendo.getCulture = getCulture;\n kendo.culture(EN);\n function formatDate(date, format, culture) {\n culture = getCulture(culture);\n var calendar = culture.calendars.standard, days = calendar.days, months = calendar.months;\n format = calendar.patterns[format] || format;\n return format.replace(dateFormatRegExp, function (match) {\n var minutes;\n var result;\n var sign;\n if (match === 'd') {\n result = date.getDate();\n } else if (match === 'dd') {\n result = pad(date.getDate());\n } else if (match === 'ddd') {\n result = days.namesAbbr[date.getDay()];\n } else if (match === 'dddd') {\n result = days.names[date.getDay()];\n } else if (match === 'M') {\n result = date.getMonth() + 1;\n } else if (match === 'MM') {\n result = pad(date.getMonth() + 1);\n } else if (match === 'MMM') {\n result = months.namesAbbr[date.getMonth()];\n } else if (match === 'MMMM') {\n result = months.names[date.getMonth()];\n } else if (match === 'yy') {\n result = pad(date.getFullYear() % 100);\n } else if (match === 'yyyy') {\n result = pad(date.getFullYear(), 4);\n } else if (match === 'h') {\n result = date.getHours() % 12 || 12;\n } else if (match === 'hh') {\n result = pad(date.getHours() % 12 || 12);\n } else if (match === 'H') {\n result = date.getHours();\n } else if (match === 'HH') {\n result = pad(date.getHours());\n } else if (match === 'm') {\n result = date.getMinutes();\n } else if (match === 'mm') {\n result = pad(date.getMinutes());\n } else if (match === 's') {\n result = date.getSeconds();\n } else if (match === 'ss') {\n result = pad(date.getSeconds());\n } else if (match === 'f') {\n result = math.floor(date.getMilliseconds() / 100);\n } else if (match === 'ff') {\n result = date.getMilliseconds();\n if (result > 99) {\n result = math.floor(result / 10);\n }\n result = pad(result);\n } else if (match === 'fff') {\n result = pad(date.getMilliseconds(), 3);\n } else if (match === 'tt') {\n result = date.getHours() < 12 ? calendar.AM[0] : calendar.PM[0];\n } else if (match === 'zzz') {\n minutes = date.getTimezoneOffset();\n sign = minutes < 0;\n result = math.abs(minutes / 60).toString().split('.')[0];\n minutes = math.abs(minutes) - result * 60;\n result = (sign ? '+' : '-') + pad(result);\n result += ':' + pad(minutes);\n } else if (match === 'zz' || match === 'z') {\n result = date.getTimezoneOffset() / 60;\n sign = result < 0;\n result = math.abs(result).toString().split('.')[0];\n result = (sign ? '+' : '-') + (match === 'zz' ? pad(result) : result);\n }\n return result !== undefined ? result : match.slice(1, match.length - 1);\n });\n }\n function formatNumber(number, format, culture) {\n culture = getCulture(culture);\n var numberFormat = culture.numberFormat, decimal = numberFormat[POINT], precision = numberFormat.decimals, pattern = numberFormat.pattern[0], literals = [], symbol, isCurrency, isPercent, customPrecision, formatAndPrecision, negative = number < 0, integer, fraction, integerLength, fractionLength, replacement = EMPTY, value = EMPTY, idx, length, ch, hasGroup, hasNegativeFormat, decimalIndex, sharpIndex, zeroIndex, hasZero, hasSharp, percentIndex, currencyIndex, startZeroIndex, start = -1, end;\n if (number === undefined) {\n return EMPTY;\n }\n if (!isFinite(number)) {\n return number;\n }\n if (!format) {\n return culture.name.length ? number.toLocaleString() : number.toString();\n }\n formatAndPrecision = standardFormatRegExp.exec(format);\n if (formatAndPrecision) {\n format = formatAndPrecision[1].toLowerCase();\n isCurrency = format === 'c';\n isPercent = format === 'p';\n if (isCurrency || isPercent) {\n numberFormat = isCurrency ? numberFormat.currency : numberFormat.percent;\n decimal = numberFormat[POINT];\n precision = numberFormat.decimals;\n symbol = numberFormat.symbol;\n pattern = numberFormat.pattern[negative ? 0 : 1];\n }\n customPrecision = formatAndPrecision[2];\n if (customPrecision) {\n precision = +customPrecision;\n }\n if (format === 'e') {\n var exp = customPrecision ? number.toExponential(precision) : number.toExponential();\n return exp.replace(POINT, numberFormat[POINT]);\n }\n if (isPercent) {\n number *= 100;\n }\n number = round(number, precision);\n negative = number < 0;\n number = number.split(POINT);\n integer = number[0];\n fraction = number[1];\n if (negative) {\n integer = integer.substring(1);\n }\n value = groupInteger(integer, 0, integer.length, numberFormat);\n if (fraction) {\n value += decimal + fraction;\n }\n if (format === 'n' && !negative) {\n return value;\n }\n number = EMPTY;\n for (idx = 0, length = pattern.length; idx < length; idx++) {\n ch = pattern.charAt(idx);\n if (ch === 'n') {\n number += value;\n } else if (ch === '$' || ch === '%') {\n number += symbol;\n } else {\n number += ch;\n }\n }\n return number;\n }\n if (format.indexOf('\\'') > -1 || format.indexOf('\"') > -1 || format.indexOf('\\\\') > -1) {\n format = format.replace(literalRegExp, function (match) {\n var quoteChar = match.charAt(0).replace('\\\\', ''), literal = match.slice(1).replace(quoteChar, '');\n literals.push(literal);\n return PLACEHOLDER;\n });\n }\n format = format.split(';');\n if (negative && format[1]) {\n format = format[1];\n hasNegativeFormat = true;\n } else if (number === 0 && format[2]) {\n format = format[2];\n if (format.indexOf(SHARP) == -1 && format.indexOf(ZERO) == -1) {\n return format;\n }\n } else {\n format = format[0];\n }\n percentIndex = format.indexOf('%');\n currencyIndex = format.indexOf('$');\n isPercent = percentIndex != -1;\n isCurrency = currencyIndex != -1;\n if (isPercent) {\n number *= 100;\n }\n if (isCurrency && format[currencyIndex - 1] === '\\\\') {\n format = format.split('\\\\').join('');\n isCurrency = false;\n }\n if (isCurrency || isPercent) {\n numberFormat = isCurrency ? numberFormat.currency : numberFormat.percent;\n decimal = numberFormat[POINT];\n precision = numberFormat.decimals;\n symbol = numberFormat.symbol;\n }\n hasGroup = format.indexOf(COMMA) > -1;\n if (hasGroup) {\n format = format.replace(commaRegExp, EMPTY);\n }\n decimalIndex = format.indexOf(POINT);\n length = format.length;\n if (decimalIndex != -1) {\n fraction = number.toString().split('e');\n if (fraction[1]) {\n fraction = round(number, Math.abs(fraction[1]));\n } else {\n fraction = fraction[0];\n }\n fraction = fraction.split(POINT)[1] || EMPTY;\n zeroIndex = format.lastIndexOf(ZERO) - decimalIndex;\n sharpIndex = format.lastIndexOf(SHARP) - decimalIndex;\n hasZero = zeroIndex > -1;\n hasSharp = sharpIndex > -1;\n idx = fraction.length;\n if (!hasZero && !hasSharp) {\n format = format.substring(0, decimalIndex) + format.substring(decimalIndex + 1);\n length = format.length;\n decimalIndex = -1;\n idx = 0;\n }\n if (hasZero && zeroIndex > sharpIndex) {\n idx = zeroIndex;\n } else if (sharpIndex > zeroIndex) {\n if (hasSharp && idx > sharpIndex) {\n var rounded = round(number, sharpIndex, negative);\n while (rounded.charAt(rounded.length - 1) === ZERO && sharpIndex > 0 && sharpIndex > zeroIndex) {\n sharpIndex--;\n rounded = round(number, sharpIndex, negative);\n }\n idx = sharpIndex;\n } else if (hasZero && idx < zeroIndex) {\n idx = zeroIndex;\n }\n }\n }\n number = round(number, idx, negative);\n sharpIndex = format.indexOf(SHARP);\n startZeroIndex = zeroIndex = format.indexOf(ZERO);\n if (sharpIndex == -1 && zeroIndex != -1) {\n start = zeroIndex;\n } else if (sharpIndex != -1 && zeroIndex == -1) {\n start = sharpIndex;\n } else {\n start = sharpIndex > zeroIndex ? zeroIndex : sharpIndex;\n }\n sharpIndex = format.lastIndexOf(SHARP);\n zeroIndex = format.lastIndexOf(ZERO);\n if (sharpIndex == -1 && zeroIndex != -1) {\n end = zeroIndex;\n } else if (sharpIndex != -1 && zeroIndex == -1) {\n end = sharpIndex;\n } else {\n end = sharpIndex > zeroIndex ? sharpIndex : zeroIndex;\n }\n if (start == length) {\n end = start;\n }\n if (start != -1) {\n value = number.toString().split(POINT);\n integer = value[0];\n fraction = value[1] || EMPTY;\n integerLength = integer.length;\n fractionLength = fraction.length;\n if (negative && number * -1 >= 0) {\n negative = false;\n }\n number = format.substring(0, start);\n if (negative && !hasNegativeFormat) {\n number += '-';\n }\n for (idx = start; idx < length; idx++) {\n ch = format.charAt(idx);\n if (decimalIndex == -1) {\n if (end - idx < integerLength) {\n number += integer;\n break;\n }\n } else {\n if (zeroIndex != -1 && zeroIndex < idx) {\n replacement = EMPTY;\n }\n if (decimalIndex - idx <= integerLength && decimalIndex - idx > -1) {\n number += integer;\n idx = decimalIndex;\n }\n if (decimalIndex === idx) {\n number += (fraction ? decimal : EMPTY) + fraction;\n idx += end - decimalIndex + 1;\n continue;\n }\n }\n if (ch === ZERO) {\n number += ch;\n replacement = ch;\n } else if (ch === SHARP) {\n number += replacement;\n }\n }\n if (hasGroup) {\n number = groupInteger(number, start + (negative && !hasNegativeFormat ? 1 : 0), Math.max(end, integerLength + start), numberFormat);\n }\n if (end >= start) {\n number += format.substring(end + 1);\n }\n if (isCurrency || isPercent) {\n value = EMPTY;\n for (idx = 0, length = number.length; idx < length; idx++) {\n ch = number.charAt(idx);\n value += ch === '$' || ch === '%' ? symbol : ch;\n }\n number = value;\n }\n length = literals.length;\n if (length) {\n for (idx = 0; idx < length; idx++) {\n number = number.replace(PLACEHOLDER, literals[idx]);\n }\n }\n }\n return number;\n }\n var groupInteger = function (number, start, end, numberFormat) {\n var decimalIndex = number.indexOf(numberFormat[POINT]);\n var groupSizes = numberFormat.groupSize.slice();\n var groupSize = groupSizes.shift();\n var integer, integerLength;\n var idx, parts, value;\n var newGroupSize;\n end = decimalIndex !== -1 ? decimalIndex : end + 1;\n integer = number.substring(start, end);\n integerLength = integer.length;\n if (integerLength >= groupSize) {\n idx = integerLength;\n parts = [];\n while (idx > -1) {\n value = integer.substring(idx - groupSize, idx);\n if (value) {\n parts.push(value);\n }\n idx -= groupSize;\n newGroupSize = groupSizes.shift();\n groupSize = newGroupSize !== undefined ? newGroupSize : groupSize;\n if (groupSize === 0) {\n if (idx > 0) {\n parts.push(integer.substring(0, idx));\n }\n break;\n }\n }\n integer = parts.reverse().join(numberFormat[COMMA]);\n number = number.substring(0, start) + integer + number.substring(end);\n }\n return number;\n };\n var round = function (value, precision, negative) {\n precision = precision || 0;\n value = value.toString().split('e');\n value = Math.round(+(value[0] + 'e' + (value[1] ? +value[1] + precision : precision)));\n if (negative) {\n value = -value;\n }\n value = value.toString().split('e');\n value = +(value[0] + 'e' + (value[1] ? +value[1] - precision : -precision));\n return value.toFixed(Math.min(precision, 20));\n };\n var toString = function (value, fmt, culture) {\n if (fmt) {\n if (objectToString.call(value) === '[object Date]') {\n return formatDate(value, fmt, culture);\n } else if (typeof value === NUMBER) {\n return formatNumber(value, fmt, culture);\n }\n }\n return value !== undefined ? value : '';\n };\n kendo.format = function (fmt) {\n var values = arguments;\n return fmt.replace(formatRegExp, function (match, index, placeholderFormat) {\n var value = values[parseInt(index, 10) + 1];\n return toString(value, placeholderFormat ? placeholderFormat.substring(1) : '');\n });\n };\n kendo._extractFormat = function (format) {\n if (format.slice(0, 3) === '{0:') {\n format = format.slice(3, format.length - 1);\n }\n return format;\n };\n kendo._activeElement = function () {\n try {\n return document.activeElement;\n } catch (e) {\n return document.documentElement.activeElement;\n }\n };\n kendo._round = round;\n kendo._outerWidth = function (element, includeMargin) {\n return $(element).outerWidth(includeMargin || false) || 0;\n };\n kendo._outerHeight = function (element, includeMargin) {\n return $(element).outerHeight(includeMargin || false) || 0;\n };\n kendo.toString = toString;\n }());\n (function () {\n var nonBreakingSpaceRegExp = /\\u00A0/g, exponentRegExp = /[eE][\\-+]?[0-9]+/, shortTimeZoneRegExp = /[+|\\-]\\d{1,2}/, longTimeZoneRegExp = /[+|\\-]\\d{1,2}:?\\d{2}/, dateRegExp = /^\\/Date\\((.*?)\\)\\/$/, offsetRegExp = /[+-]\\d*/, FORMATS_SEQUENCE = [\n [],\n [\n 'G',\n 'g',\n 'F'\n ],\n [\n 'D',\n 'd',\n 'y',\n 'm',\n 'T',\n 't'\n ]\n ], STANDARD_FORMATS = [\n [\n 'yyyy-MM-ddTHH:mm:ss.fffffffzzz',\n 'yyyy-MM-ddTHH:mm:ss.fffffff',\n 'yyyy-MM-ddTHH:mm:ss.fffzzz',\n 'yyyy-MM-ddTHH:mm:ss.fff',\n 'ddd MMM dd yyyy HH:mm:ss',\n 'yyyy-MM-ddTHH:mm:sszzz',\n 'yyyy-MM-ddTHH:mmzzz',\n 'yyyy-MM-ddTHH:mmzz',\n 'yyyy-MM-ddTHH:mm:ss',\n 'yyyy-MM-dd HH:mm:ss',\n 'yyyy/MM/dd HH:mm:ss'\n ],\n [\n 'yyyy-MM-ddTHH:mm',\n 'yyyy-MM-dd HH:mm',\n 'yyyy/MM/dd HH:mm'\n ],\n [\n 'yyyy/MM/dd',\n 'yyyy-MM-dd',\n 'HH:mm:ss',\n 'HH:mm'\n ]\n ], numberRegExp = {\n 2: /^\\d{1,2}/,\n 3: /^\\d{1,3}/,\n 4: /^\\d{4}/\n }, objectToString = {}.toString;\n function outOfRange(value, start, end) {\n return !(value >= start && value <= end);\n }\n function designatorPredicate(designator) {\n return designator.charAt(0);\n }\n function mapDesignators(designators) {\n return $.map(designators, designatorPredicate);\n }\n function adjustDST(date, hours) {\n if (!hours && date.getHours() === 23) {\n date.setHours(date.getHours() + 2);\n }\n }\n function lowerArray(data) {\n var idx = 0, length = data.length, array = [];\n for (; idx < length; idx++) {\n array[idx] = (data[idx] + '').toLowerCase();\n }\n return array;\n }\n function lowerLocalInfo(localInfo) {\n var newLocalInfo = {}, property;\n for (property in localInfo) {\n newLocalInfo[property] = lowerArray(localInfo[property]);\n }\n return newLocalInfo;\n }\n function parseExact(value, format, culture, strict) {\n if (!value) {\n return null;\n }\n var lookAhead = function (match) {\n var i = 0;\n while (format[idx] === match) {\n i++;\n idx++;\n }\n if (i > 0) {\n idx -= 1;\n }\n return i;\n }, getNumber = function (size) {\n var rg = numberRegExp[size] || new RegExp('^\\\\d{1,' + size + '}'), match = value.substr(valueIdx, size).match(rg);\n if (match) {\n match = match[0];\n valueIdx += match.length;\n return parseInt(match, 10);\n }\n return null;\n }, getIndexByName = function (names, lower) {\n var i = 0, length = names.length, name, nameLength, matchLength = 0, matchIdx = 0, subValue;\n for (; i < length; i++) {\n name = names[i];\n nameLength = name.length;\n subValue = value.substr(valueIdx, nameLength);\n if (lower) {\n subValue = subValue.toLowerCase();\n }\n if (subValue == name && nameLength > matchLength) {\n matchLength = nameLength;\n matchIdx = i;\n }\n }\n if (matchLength) {\n valueIdx += matchLength;\n return matchIdx + 1;\n }\n return null;\n }, checkLiteral = function () {\n var result = false;\n if (value.charAt(valueIdx) === format[idx]) {\n valueIdx++;\n result = true;\n }\n return result;\n }, calendar = culture.calendars.standard, year = null, month = null, day = null, hours = null, minutes = null, seconds = null, milliseconds = null, idx = 0, valueIdx = 0, literal = false, date = new Date(), twoDigitYearMax = calendar.twoDigitYearMax || 2029, defaultYear = date.getFullYear(), ch, count, length, pattern, pmHour, UTC, matches, amDesignators, pmDesignators, hoursOffset, minutesOffset, hasTime, match;\n if (!format) {\n format = 'd';\n }\n pattern = calendar.patterns[format];\n if (pattern) {\n format = pattern;\n }\n format = format.split('');\n length = format.length;\n for (; idx < length; idx++) {\n ch = format[idx];\n if (literal) {\n if (ch === '\\'') {\n literal = false;\n } else {\n checkLiteral();\n }\n } else {\n if (ch === 'd') {\n count = lookAhead('d');\n if (!calendar._lowerDays) {\n calendar._lowerDays = lowerLocalInfo(calendar.days);\n }\n if (day !== null && count > 2) {\n continue;\n }\n day = count < 3 ? getNumber(2) : getIndexByName(calendar._lowerDays[count == 3 ? 'namesAbbr' : 'names'], true);\n if (day === null || outOfRange(day, 1, 31)) {\n return null;\n }\n } else if (ch === 'M') {\n count = lookAhead('M');\n if (!calendar._lowerMonths) {\n calendar._lowerMonths = lowerLocalInfo(calendar.months);\n }\n month = count < 3 ? getNumber(2) : getIndexByName(calendar._lowerMonths[count == 3 ? 'namesAbbr' : 'names'], true);\n if (month === null || outOfRange(month, 1, 12)) {\n return null;\n }\n month -= 1;\n } else if (ch === 'y') {\n count = lookAhead('y');\n year = getNumber(count);\n if (year === null) {\n return null;\n }\n if (count == 2) {\n if (typeof twoDigitYearMax === 'string') {\n twoDigitYearMax = defaultYear + parseInt(twoDigitYearMax, 10);\n }\n year = defaultYear - defaultYear % 100 + year;\n if (year > twoDigitYearMax) {\n year -= 100;\n }\n }\n } else if (ch === 'h') {\n lookAhead('h');\n hours = getNumber(2);\n if (hours == 12) {\n hours = 0;\n }\n if (hours === null || outOfRange(hours, 0, 11)) {\n return null;\n }\n } else if (ch === 'H') {\n lookAhead('H');\n hours = getNumber(2);\n if (hours === null || outOfRange(hours, 0, 23)) {\n return null;\n }\n } else if (ch === 'm') {\n lookAhead('m');\n minutes = getNumber(2);\n if (minutes === null || outOfRange(minutes, 0, 59)) {\n return null;\n }\n } else if (ch === 's') {\n lookAhead('s');\n seconds = getNumber(2);\n if (seconds === null || outOfRange(seconds, 0, 59)) {\n return null;\n }\n } else if (ch === 'f') {\n count = lookAhead('f');\n match = value.substr(valueIdx, count).match(numberRegExp[3]);\n milliseconds = getNumber(count);\n if (milliseconds !== null) {\n milliseconds = parseFloat('0.' + match[0], 10);\n milliseconds = kendo._round(milliseconds, 3);\n milliseconds *= 1000;\n }\n if (milliseconds === null || outOfRange(milliseconds, 0, 999)) {\n return null;\n }\n } else if (ch === 't') {\n count = lookAhead('t');\n amDesignators = calendar.AM;\n pmDesignators = calendar.PM;\n if (count === 1) {\n amDesignators = mapDesignators(amDesignators);\n pmDesignators = mapDesignators(pmDesignators);\n }\n pmHour = getIndexByName(pmDesignators);\n if (!pmHour && !getIndexByName(amDesignators)) {\n return null;\n }\n } else if (ch === 'z') {\n UTC = true;\n count = lookAhead('z');\n if (value.substr(valueIdx, 1) === 'Z') {\n checkLiteral();\n continue;\n }\n matches = value.substr(valueIdx, 6).match(count > 2 ? longTimeZoneRegExp : shortTimeZoneRegExp);\n if (!matches) {\n return null;\n }\n matches = matches[0].split(':');\n hoursOffset = matches[0];\n minutesOffset = matches[1];\n if (!minutesOffset && hoursOffset.length > 3) {\n valueIdx = hoursOffset.length - 2;\n minutesOffset = hoursOffset.substring(valueIdx);\n hoursOffset = hoursOffset.substring(0, valueIdx);\n }\n hoursOffset = parseInt(hoursOffset, 10);\n if (outOfRange(hoursOffset, -12, 13)) {\n return null;\n }\n if (count > 2) {\n minutesOffset = matches[0][0] + minutesOffset;\n minutesOffset = parseInt(minutesOffset, 10);\n if (isNaN(minutesOffset) || outOfRange(minutesOffset, -59, 59)) {\n return null;\n }\n }\n } else if (ch === '\\'') {\n literal = true;\n checkLiteral();\n } else if (!checkLiteral()) {\n return null;\n }\n }\n }\n if (strict && !/^\\s*$/.test(value.substr(valueIdx))) {\n return null;\n }\n hasTime = hours !== null || minutes !== null || seconds || null;\n if (year === null && month === null && day === null && hasTime) {\n year = defaultYear;\n month = date.getMonth();\n day = date.getDate();\n } else {\n if (year === null) {\n year = defaultYear;\n }\n if (day === null) {\n day = 1;\n }\n }\n if (pmHour && hours < 12) {\n hours += 12;\n }\n if (UTC) {\n if (hoursOffset) {\n hours += -hoursOffset;\n }\n if (minutesOffset) {\n minutes += -minutesOffset;\n }\n value = new Date(Date.UTC(year, month, day, hours, minutes, seconds, milliseconds));\n } else {\n value = new Date(year, month, day, hours, minutes, seconds, milliseconds);\n adjustDST(value, hours);\n }\n if (year < 100) {\n value.setFullYear(year);\n }\n if (value.getDate() !== day && UTC === undefined) {\n return null;\n }\n return value;\n }\n function parseMicrosoftFormatOffset(offset) {\n var sign = offset.substr(0, 1) === '-' ? -1 : 1;\n offset = offset.substring(1);\n offset = parseInt(offset.substr(0, 2), 10) * 60 + parseInt(offset.substring(2), 10);\n return sign * offset;\n }\n function getDefaultFormats(culture) {\n var length = math.max(FORMATS_SEQUENCE.length, STANDARD_FORMATS.length);\n var calendar = culture.calendar || culture.calendars.standard;\n var patterns = calendar.patterns;\n var cultureFormats, formatIdx, idx;\n var formats = [];\n for (idx = 0; idx < length; idx++) {\n cultureFormats = FORMATS_SEQUENCE[idx];\n for (formatIdx = 0; formatIdx < cultureFormats.length; formatIdx++) {\n formats.push(patterns[cultureFormats[formatIdx]]);\n }\n formats = formats.concat(STANDARD_FORMATS[idx]);\n }\n return formats;\n }\n function internalParseDate(value, formats, culture, strict) {\n if (objectToString.call(value) === '[object Date]') {\n return value;\n }\n var idx = 0;\n var date = null;\n var length;\n var tzoffset;\n if (value && value.indexOf('/D') === 0) {\n date = dateRegExp.exec(value);\n if (date) {\n date = date[1];\n tzoffset = offsetRegExp.exec(date.substring(1));\n date = new Date(parseInt(date, 10));\n if (tzoffset) {\n tzoffset = parseMicrosoftFormatOffset(tzoffset[0]);\n date = kendo.timezone.apply(date, 0);\n date = kendo.timezone.convert(date, 0, -1 * tzoffset);\n }\n return date;\n }\n }\n culture = kendo.getCulture(culture);\n if (!formats) {\n formats = getDefaultFormats(culture);\n }\n formats = isArray(formats) ? formats : [formats];\n length = formats.length;\n for (; idx < length; idx++) {\n date = parseExact(value, formats[idx], culture, strict);\n if (date) {\n return date;\n }\n }\n return date;\n }\n kendo.parseDate = function (value, formats, culture) {\n return internalParseDate(value, formats, culture, false);\n };\n kendo.parseExactDate = function (value, formats, culture) {\n return internalParseDate(value, formats, culture, true);\n };\n kendo.parseInt = function (value, culture) {\n var result = kendo.parseFloat(value, culture);\n if (result) {\n result = result | 0;\n }\n return result;\n };\n kendo.parseFloat = function (value, culture, format) {\n if (!value && value !== 0) {\n return null;\n }\n if (typeof value === NUMBER) {\n return value;\n }\n value = value.toString();\n culture = kendo.getCulture(culture);\n var number = culture.numberFormat, percent = number.percent, currency = number.currency, symbol = currency.symbol, percentSymbol = percent.symbol, negative = value.indexOf('-'), parts, isPercent;\n if (exponentRegExp.test(value)) {\n value = parseFloat(value.replace(number['.'], '.'));\n if (isNaN(value)) {\n value = null;\n }\n return value;\n }\n if (negative > 0) {\n return null;\n } else {\n negative = negative > -1;\n }\n if (value.indexOf(symbol) > -1 || format && format.toLowerCase().indexOf('c') > -1) {\n number = currency;\n parts = number.pattern[0].replace('$', symbol).split('n');\n if (value.indexOf(parts[0]) > -1 && value.indexOf(parts[1]) > -1) {\n value = value.replace(parts[0], '').replace(parts[1], '');\n negative = true;\n }\n } else if (value.indexOf(percentSymbol) > -1) {\n isPercent = true;\n number = percent;\n symbol = percentSymbol;\n }\n value = value.replace('-', '').replace(symbol, '').replace(nonBreakingSpaceRegExp, ' ').split(number[','].replace(nonBreakingSpaceRegExp, ' ')).join('').replace(number['.'], '.');\n value = parseFloat(value);\n if (isNaN(value)) {\n value = null;\n } else if (negative) {\n value *= -1;\n }\n if (value && isPercent) {\n value /= 100;\n }\n return value;\n };\n }());\n function getShadows(element) {\n var shadow = element.css(kendo.support.transitions.css + 'box-shadow') || element.css('box-shadow'), radius = shadow ? shadow.match(boxShadowRegExp) || [\n 0,\n 0,\n 0,\n 0,\n 0\n ] : [\n 0,\n 0,\n 0,\n 0,\n 0\n ], blur = math.max(+radius[3], +(radius[4] || 0));\n return {\n left: -radius[1] + blur,\n right: +radius[1] + blur,\n bottom: +radius[2] + blur\n };\n }\n function wrap(element, autosize) {\n var browser = support.browser, percentage, outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, parent = element.parent(), windowOuterWidth = outerWidth(window);\n parent.removeClass('k-animation-container-sm');\n if (!parent.hasClass('k-animation-container')) {\n var width = element[0].style.width, height = element[0].style.height, percentWidth = percentRegExp.test(width), percentHeight = percentRegExp.test(height), forceWidth = element.hasClass('k-tooltip') || element.is('.k-menu-horizontal.k-context-menu');\n percentage = percentWidth || percentHeight;\n if (!percentWidth && (!autosize || autosize && width || forceWidth)) {\n width = autosize ? outerWidth(element) + 1 : outerWidth(element);\n }\n if (!percentHeight && (!autosize || autosize && height) || element.is('.k-menu-horizontal.k-context-menu')) {\n height = outerHeight(element);\n }\n element.wrap($('
    ').addClass('k-animation-container').css({\n width: width,\n height: height\n }));\n parent = element.parent();\n if (percentage) {\n element.css({\n width: '100%',\n height: '100%',\n boxSizing: 'border-box',\n mozBoxSizing: 'border-box',\n webkitBoxSizing: 'border-box'\n });\n }\n } else {\n wrapResize(element, autosize);\n }\n if (windowOuterWidth < outerWidth(parent)) {\n parent.addClass('k-animation-container-sm');\n wrapResize(element, autosize);\n }\n if (browser.msie && math.floor(browser.version) <= 7) {\n element.css({ zoom: 1 });\n element.children('.k-menu').width(element.width());\n }\n return parent;\n }\n function wrapResize(element, autosize) {\n var percentage, outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, wrapper = element.parent('.k-animation-container'), wrapperStyle = wrapper[0].style;\n if (wrapper.is(':hidden')) {\n wrapper.css({\n display: '',\n position: ''\n });\n }\n percentage = percentRegExp.test(wrapperStyle.width) || percentRegExp.test(wrapperStyle.height);\n if (!percentage) {\n wrapper.css({\n width: autosize ? outerWidth(element) + 1 : outerWidth(element),\n height: outerHeight(element),\n boxSizing: 'content-box',\n mozBoxSizing: 'content-box',\n webkitBoxSizing: 'content-box'\n });\n }\n }\n function deepExtend(destination) {\n var i = 1, length = arguments.length;\n for (i = 1; i < length; i++) {\n deepExtendOne(destination, arguments[i]);\n }\n return destination;\n }\n function deepExtendOne(destination, source) {\n var ObservableArray = kendo.data.ObservableArray, LazyObservableArray = kendo.data.LazyObservableArray, DataSource = kendo.data.DataSource, HierarchicalDataSource = kendo.data.HierarchicalDataSource, property, propValue, propType, propInit, destProp;\n for (property in source) {\n propValue = source[property];\n propType = typeof propValue;\n if (propType === OBJECT && propValue !== null) {\n propInit = propValue.constructor;\n } else {\n propInit = null;\n }\n if (propInit && propInit !== Array && propInit !== ObservableArray && propInit !== LazyObservableArray && propInit !== DataSource && propInit !== HierarchicalDataSource && propInit !== RegExp && (!kendo.isFunction(window.ArrayBuffer) || propInit !== ArrayBuffer)) {\n if (propValue instanceof Date) {\n destination[property] = new Date(propValue.getTime());\n } else if (isFunction(propValue.clone)) {\n destination[property] = propValue.clone();\n } else {\n destProp = destination[property];\n if (typeof destProp === OBJECT) {\n destination[property] = destProp || {};\n } else {\n destination[property] = {};\n }\n deepExtendOne(destination[property], propValue);\n }\n } else if (propType !== UNDEFINED) {\n destination[property] = propValue;\n }\n }\n return destination;\n }\n function testRx(agent, rxs, dflt) {\n for (var rx in rxs) {\n if (rxs.hasOwnProperty(rx) && rxs[rx].test(agent)) {\n return rx;\n }\n }\n return dflt !== undefined ? dflt : agent;\n }\n function toHyphens(str) {\n return str.replace(/([a-z][A-Z])/g, function (g) {\n return g.charAt(0) + '-' + g.charAt(1).toLowerCase();\n });\n }\n function toCamelCase(str) {\n return str.replace(/\\-(\\w)/g, function (strMatch, g1) {\n return g1.toUpperCase();\n });\n }\n function getComputedStyles(element, properties) {\n var styles = {}, computedStyle;\n if (document.defaultView && document.defaultView.getComputedStyle) {\n computedStyle = document.defaultView.getComputedStyle(element, '');\n if (properties) {\n $.each(properties, function (idx, value) {\n styles[value] = computedStyle.getPropertyValue(value);\n });\n }\n } else {\n computedStyle = element.currentStyle;\n if (properties) {\n $.each(properties, function (idx, value) {\n styles[value] = computedStyle[toCamelCase(value)];\n });\n }\n }\n if (!kendo.size(styles)) {\n styles = computedStyle;\n }\n return styles;\n }\n function isScrollable(element) {\n if (element && element.className && typeof element.className === 'string' && element.className.indexOf('k-auto-scrollable') > -1) {\n return true;\n }\n var overflow = getComputedStyles(element, ['overflow']).overflow;\n return overflow == 'auto' || overflow == 'scroll';\n }\n function scrollLeft(element, value) {\n var webkit = support.browser.webkit;\n var mozila = support.browser.mozilla;\n var el = element instanceof $ ? element[0] : element;\n var isRtl;\n if (!element) {\n return;\n }\n isRtl = support.isRtl(element);\n if (value !== undefined) {\n if (isRtl && webkit) {\n el.scrollLeft = el.scrollWidth - el.clientWidth - value;\n } else if (isRtl && mozila) {\n el.scrollLeft = -value;\n } else {\n el.scrollLeft = value;\n }\n } else {\n if (isRtl && webkit) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n } else {\n return Math.abs(el.scrollLeft);\n }\n }\n }\n (function () {\n support._scrollbar = undefined;\n support.scrollbar = function (refresh) {\n if (!isNaN(support._scrollbar) && !refresh) {\n return support._scrollbar;\n } else {\n var div = document.createElement('div'), result;\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n support._scrollbar = result = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n return result;\n }\n };\n support.isRtl = function (element) {\n return $(element).closest('.k-rtl').length > 0;\n };\n var table = document.createElement('table');\n try {\n table.innerHTML = '';\n support.tbodyInnerHtml = true;\n } catch (e) {\n support.tbodyInnerHtml = false;\n }\n support.touch = 'ontouchstart' in window;\n var docStyle = document.documentElement.style;\n var transitions = support.transitions = false, transforms = support.transforms = false, elementProto = 'HTMLElement' in window ? HTMLElement.prototype : [];\n support.hasHW3D = 'WebKitCSSMatrix' in window && 'm11' in new window.WebKitCSSMatrix() || 'MozPerspective' in docStyle || 'msPerspective' in docStyle;\n support.cssFlexbox = 'flexWrap' in docStyle || 'WebkitFlexWrap' in docStyle || 'msFlexWrap' in docStyle;\n each([\n 'Moz',\n 'webkit',\n 'O',\n 'ms'\n ], function () {\n var prefix = this.toString(), hasTransitions = typeof table.style[prefix + 'Transition'] === STRING;\n if (hasTransitions || typeof table.style[prefix + 'Transform'] === STRING) {\n var lowPrefix = prefix.toLowerCase();\n transforms = {\n css: lowPrefix != 'ms' ? '-' + lowPrefix + '-' : '',\n prefix: prefix,\n event: lowPrefix === 'o' || lowPrefix === 'webkit' ? lowPrefix : ''\n };\n if (hasTransitions) {\n transitions = transforms;\n transitions.event = transitions.event ? transitions.event + 'TransitionEnd' : 'transitionend';\n }\n return false;\n }\n });\n table = null;\n support.transforms = transforms;\n support.transitions = transitions;\n support.devicePixelRatio = window.devicePixelRatio === undefined ? 1 : window.devicePixelRatio;\n try {\n support.screenWidth = window.outerWidth || window.screen ? window.screen.availWidth : window.innerWidth;\n support.screenHeight = window.outerHeight || window.screen ? window.screen.availHeight : window.innerHeight;\n } catch (e) {\n support.screenWidth = window.screen.availWidth;\n support.screenHeight = window.screen.availHeight;\n }\n support.detectOS = function (ua) {\n var os = false, minorVersion, match = [], notAndroidPhone = !/mobile safari/i.test(ua), agentRxs = {\n wp: /(Windows Phone(?: OS)?)\\s(\\d+)\\.(\\d+(\\.\\d+)?)/,\n fire: /(Silk)\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n android: /(Android|Android.*(?:Opera|Firefox).*?\\/)\\s*(\\d+)\\.?(\\d+(\\.\\d+)?)?/,\n iphone: /(iPhone|iPod).*OS\\s+(\\d+)[\\._]([\\d\\._]+)/,\n ipad: /(iPad).*OS\\s+(\\d+)[\\._]([\\d_]+)/,\n meego: /(MeeGo).+NokiaBrowser\\/(\\d+)\\.([\\d\\._]+)/,\n webos: /(webOS)\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n blackberry: /(BlackBerry|BB10).*?Version\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n playbook: /(PlayBook).*?Tablet\\s*OS\\s*(\\d+)\\.(\\d+(\\.\\d+)?)/,\n windows: /(MSIE)\\s+(\\d+)\\.(\\d+(\\.\\d+)?)/,\n tizen: /(tizen).*?Version\\/(\\d+)\\.(\\d+(\\.\\d+)?)/i,\n sailfish: /(sailfish).*rv:(\\d+)\\.(\\d+(\\.\\d+)?).*firefox/i,\n ffos: /(Mobile).*rv:(\\d+)\\.(\\d+(\\.\\d+)?).*Firefox/\n }, osRxs = {\n ios: /^i(phone|pad|pod)$/i,\n android: /^android|fire$/i,\n blackberry: /^blackberry|playbook/i,\n windows: /windows/,\n wp: /wp/,\n flat: /sailfish|ffos|tizen/i,\n meego: /meego/\n }, formFactorRxs = { tablet: /playbook|ipad|fire/i }, browserRxs = {\n omini: /Opera\\sMini/i,\n omobile: /Opera\\sMobi/i,\n firefox: /Firefox|Fennec/i,\n mobilesafari: /version\\/.*safari/i,\n ie: /MSIE|Windows\\sPhone/i,\n chrome: /chrome|crios/i,\n webkit: /webkit/i\n };\n for (var agent in agentRxs) {\n if (agentRxs.hasOwnProperty(agent)) {\n match = ua.match(agentRxs[agent]);\n if (match) {\n if (agent == 'windows' && 'plugins' in navigator) {\n return false;\n }\n os = {};\n os.device = agent;\n os.tablet = testRx(agent, formFactorRxs, false);\n os.browser = testRx(ua, browserRxs, 'default');\n os.name = testRx(agent, osRxs);\n os[os.name] = true;\n os.majorVersion = match[2];\n os.minorVersion = (match[3] || '0').replace('_', '.');\n minorVersion = os.minorVersion.replace('.', '').substr(0, 2);\n os.flatVersion = os.majorVersion + minorVersion + new Array(3 - (minorVersion.length < 3 ? minorVersion.length : 2)).join('0');\n os.cordova = typeof window.PhoneGap !== UNDEFINED || typeof window.cordova !== UNDEFINED;\n os.appMode = window.navigator.standalone || /file|local|wmapp/.test(window.location.protocol) || os.cordova;\n if (os.android && (support.devicePixelRatio < 1.5 && os.flatVersion < 400 || notAndroidPhone) && (support.screenWidth > 800 || support.screenHeight > 800)) {\n os.tablet = agent;\n }\n break;\n }\n }\n }\n return os;\n };\n var mobileOS = support.mobileOS = support.detectOS(navigator.userAgent);\n support.wpDevicePixelRatio = mobileOS.wp ? screen.width / 320 : 0;\n support.hasNativeScrolling = false;\n if (mobileOS.ios || mobileOS.android && mobileOS.majorVersion > 2 || mobileOS.wp) {\n support.hasNativeScrolling = mobileOS;\n }\n support.delayedClick = function () {\n if (support.touch) {\n if (mobileOS.ios) {\n return true;\n }\n if (mobileOS.android) {\n if (!support.browser.chrome) {\n return true;\n }\n if (support.browser.version < 32) {\n return false;\n }\n return !($('meta[name=viewport]').attr('content') || '').match(/user-scalable=no/i);\n }\n }\n return false;\n };\n support.mouseAndTouchPresent = support.touch && !(support.mobileOS.ios || support.mobileOS.android);\n support.detectBrowser = function (ua) {\n var browser = false, match = [], browserRxs = {\n edge: /(edge)[ \\/]([\\w.]+)/i,\n webkit: /(chrome|crios)[ \\/]([\\w.]+)/i,\n safari: /(webkit)[ \\/]([\\w.]+)/i,\n opera: /(opera)(?:.*version|)[ \\/]([\\w.]+)/i,\n msie: /(msie\\s|trident.*? rv:)([\\w.]+)/i,\n mozilla: /(mozilla)(?:.*? rv:([\\w.]+)|)/i\n };\n for (var agent in browserRxs) {\n if (browserRxs.hasOwnProperty(agent)) {\n match = ua.match(browserRxs[agent]);\n if (match) {\n browser = {};\n browser[agent] = true;\n browser[match[1].toLowerCase().split(' ')[0].split('/')[0]] = true;\n browser.version = parseInt(document.documentMode || match[2], 10);\n break;\n }\n }\n }\n return browser;\n };\n support.browser = support.detectBrowser(navigator.userAgent);\n support.detectClipboardAccess = function () {\n var commands = {\n copy: document.queryCommandSupported ? document.queryCommandSupported('copy') : false,\n cut: document.queryCommandSupported ? document.queryCommandSupported('cut') : false,\n paste: document.queryCommandSupported ? document.queryCommandSupported('paste') : false\n };\n if (support.browser.chrome) {\n commands.paste = false;\n if (support.browser.version >= 43) {\n commands.copy = true;\n commands.cut = true;\n }\n }\n return commands;\n };\n support.clipboard = support.detectClipboardAccess();\n support.zoomLevel = function () {\n try {\n var browser = support.browser;\n var ie11WidthCorrection = 0;\n var docEl = document.documentElement;\n if (browser.msie && browser.version == 11 && docEl.scrollHeight > docEl.clientHeight && !support.touch) {\n ie11WidthCorrection = support.scrollbar();\n }\n return support.touch ? docEl.clientWidth / window.innerWidth : browser.msie && browser.version >= 10 ? ((top || window).document.documentElement.offsetWidth + ie11WidthCorrection) / (top || window).innerWidth : 1;\n } catch (e) {\n return 1;\n }\n };\n support.cssBorderSpacing = typeof docStyle.borderSpacing != 'undefined' && !(support.browser.msie && support.browser.version < 8);\n (function (browser) {\n var cssClass = '', docElement = $(document.documentElement), majorVersion = parseInt(browser.version, 10);\n if (browser.msie) {\n cssClass = 'ie';\n } else if (browser.mozilla) {\n cssClass = 'ff';\n } else if (browser.safari) {\n cssClass = 'safari';\n } else if (browser.webkit) {\n cssClass = 'webkit';\n } else if (browser.opera) {\n cssClass = 'opera';\n } else if (browser.edge) {\n cssClass = 'edge';\n }\n if (cssClass) {\n cssClass = 'k-' + cssClass + ' k-' + cssClass + majorVersion;\n }\n if (support.mobileOS) {\n cssClass += ' k-mobile';\n }\n if (!support.cssFlexbox) {\n cssClass += ' k-no-flexbox';\n }\n docElement.addClass(cssClass);\n }(support.browser));\n support.eventCapture = document.documentElement.addEventListener;\n var input = document.createElement('input');\n support.placeholder = 'placeholder' in input;\n support.propertyChangeEvent = 'onpropertychange' in input;\n support.input = function () {\n var types = [\n 'number',\n 'date',\n 'time',\n 'month',\n 'week',\n 'datetime',\n 'datetime-local'\n ];\n var length = types.length;\n var value = 'test';\n var result = {};\n var idx = 0;\n var type;\n for (; idx < length; idx++) {\n type = types[idx];\n input.setAttribute('type', type);\n input.value = value;\n result[type.replace('-', '')] = input.type !== 'text' && input.value !== value;\n }\n return result;\n }();\n input.style.cssText = 'float:left;';\n support.cssFloat = !!input.style.cssFloat;\n input = null;\n support.stableSort = function () {\n var threshold = 513;\n var sorted = [{\n index: 0,\n field: 'b'\n }];\n for (var i = 1; i < threshold; i++) {\n sorted.push({\n index: i,\n field: 'a'\n });\n }\n sorted.sort(function (a, b) {\n return a.field > b.field ? 1 : a.field < b.field ? -1 : 0;\n });\n return sorted[0].index === 1;\n }();\n support.matchesSelector = elementProto.webkitMatchesSelector || elementProto.mozMatchesSelector || elementProto.msMatchesSelector || elementProto.oMatchesSelector || elementProto.matchesSelector || elementProto.matches || function (selector) {\n var nodeList = document.querySelectorAll ? (this.parentNode || document).querySelectorAll(selector) || [] : $(selector), i = nodeList.length;\n while (i--) {\n if (nodeList[i] == this) {\n return true;\n }\n }\n return false;\n };\n support.matchMedia = 'matchMedia' in window;\n support.pushState = window.history && window.history.pushState;\n var documentMode = document.documentMode;\n support.hashChange = 'onhashchange' in window && !(support.browser.msie && (!documentMode || documentMode <= 8));\n support.customElements = 'registerElement' in window.document;\n var chrome = support.browser.chrome, mobileChrome = support.browser.crios, mozilla = support.browser.mozilla, safari = support.browser.safari;\n support.msPointers = !chrome && window.MSPointerEvent;\n support.pointers = !chrome && !mobileChrome && !mozilla && !safari && window.PointerEvent;\n support.kineticScrollNeeded = mobileOS && (support.touch || support.msPointers || support.pointers);\n }());\n function size(obj) {\n var result = 0, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key) && key != 'toJSON') {\n result++;\n }\n }\n return result;\n }\n function getOffset(element, type, positioned) {\n if (!type) {\n type = 'offset';\n }\n var offset = element[type]();\n var result = {\n top: offset.top,\n right: offset.right,\n bottom: offset.bottom,\n left: offset.left\n };\n if (support.browser.msie && (support.pointers || support.msPointers) && !positioned) {\n var sign = support.isRtl(element) ? 1 : -1;\n result.top -= window.pageYOffset - document.documentElement.scrollTop;\n result.left -= window.pageXOffset + sign * document.documentElement.scrollLeft;\n }\n return result;\n }\n var directions = {\n left: { reverse: 'right' },\n right: { reverse: 'left' },\n down: { reverse: 'up' },\n up: { reverse: 'down' },\n top: { reverse: 'bottom' },\n bottom: { reverse: 'top' },\n 'in': { reverse: 'out' },\n out: { reverse: 'in' }\n };\n function parseEffects(input) {\n var effects = {};\n each(typeof input === 'string' ? input.split(' ') : input, function (idx) {\n effects[idx] = this;\n });\n return effects;\n }\n function fx(element) {\n return new kendo.effects.Element(element);\n }\n var effects = {};\n $.extend(effects, {\n enabled: true,\n Element: function (element) {\n this.element = $(element);\n },\n promise: function (element, options) {\n if (!element.is(':visible')) {\n element.css({ display: element.data('olddisplay') || 'block' }).css('display');\n }\n if (options.hide) {\n element.data('olddisplay', element.css('display')).hide();\n }\n if (options.init) {\n options.init();\n }\n if (options.completeCallback) {\n options.completeCallback(element);\n }\n element.dequeue();\n },\n disable: function () {\n this.enabled = false;\n this.promise = this.promiseShim;\n },\n enable: function () {\n this.enabled = true;\n this.promise = this.animatedPromise;\n }\n });\n effects.promiseShim = effects.promise;\n function prepareAnimationOptions(options, duration, reverse, complete) {\n if (typeof options === STRING) {\n if (isFunction(duration)) {\n complete = duration;\n duration = 400;\n reverse = false;\n }\n if (isFunction(reverse)) {\n complete = reverse;\n reverse = false;\n }\n if (typeof duration === BOOLEAN) {\n reverse = duration;\n duration = 400;\n }\n options = {\n effects: options,\n duration: duration,\n reverse: reverse,\n complete: complete\n };\n }\n return extend({\n effects: {},\n duration: 400,\n reverse: false,\n init: noop,\n teardown: noop,\n hide: false\n }, options, {\n completeCallback: options.complete,\n complete: noop\n });\n }\n function animate(element, options, duration, reverse, complete) {\n var idx = 0, length = element.length, instance;\n for (; idx < length; idx++) {\n instance = $(element[idx]);\n instance.queue(function () {\n effects.promise(instance, prepareAnimationOptions(options, duration, reverse, complete));\n });\n }\n return element;\n }\n function toggleClass(element, classes, options, add) {\n if (classes) {\n classes = classes.split(' ');\n each(classes, function (idx, value) {\n element.toggleClass(value, add);\n });\n }\n return element;\n }\n if (!('kendoAnimate' in $.fn)) {\n extend($.fn, {\n kendoStop: function (clearQueue, gotoEnd) {\n return this.stop(clearQueue, gotoEnd);\n },\n kendoAnimate: function (options, duration, reverse, complete) {\n return animate(this, options, duration, reverse, complete);\n },\n kendoAddClass: function (classes, options) {\n return kendo.toggleClass(this, classes, options, true);\n },\n kendoRemoveClass: function (classes, options) {\n return kendo.toggleClass(this, classes, options, false);\n },\n kendoToggleClass: function (classes, options, toggle) {\n return kendo.toggleClass(this, classes, options, toggle);\n }\n });\n }\n var ampRegExp = /&/g, ltRegExp = //g;\n function htmlEncode(value) {\n return ('' + value).replace(ampRegExp, '&').replace(ltRegExp, '<').replace(gtRegExp, '>').replace(quoteRegExp, '"').replace(aposRegExp, ''');\n }\n function unescape(value) {\n var template;\n try {\n template = window.decodeURIComponent(value);\n } catch (error) {\n template = value.replace(/%u([\\dA-F]{4})|%([\\dA-F]{2})/gi, function (_, m1, m2) {\n return String.fromCharCode(parseInt('0x' + (m1 || m2), 16));\n });\n }\n return template;\n }\n var eventTarget = function (e) {\n return e.target;\n };\n if (support.touch) {\n eventTarget = function (e) {\n var touches = 'originalEvent' in e ? e.originalEvent.changedTouches : 'changedTouches' in e ? e.changedTouches : null;\n return touches ? document.elementFromPoint(touches[0].clientX, touches[0].clientY) : e.target;\n };\n each([\n 'swipe',\n 'swipeLeft',\n 'swipeRight',\n 'swipeUp',\n 'swipeDown',\n 'doubleTap',\n 'tap'\n ], function (m, value) {\n $.fn[value] = function (callback) {\n return this.bind(value, callback);\n };\n });\n }\n if (support.touch) {\n if (!support.mobileOS) {\n support.mousedown = 'mousedown touchstart';\n support.mouseup = 'mouseup touchend';\n support.mousemove = 'mousemove touchmove';\n support.mousecancel = 'mouseleave touchcancel';\n support.click = 'click';\n support.resize = 'resize';\n } else {\n support.mousedown = 'touchstart';\n support.mouseup = 'touchend';\n support.mousemove = 'touchmove';\n support.mousecancel = 'touchcancel';\n support.click = 'touchend';\n support.resize = 'orientationchange';\n }\n } else if (support.pointers) {\n support.mousemove = 'pointermove';\n support.mousedown = 'pointerdown';\n support.mouseup = 'pointerup';\n support.mousecancel = 'pointercancel';\n support.click = 'pointerup';\n support.resize = 'orientationchange resize';\n } else if (support.msPointers) {\n support.mousemove = 'MSPointerMove';\n support.mousedown = 'MSPointerDown';\n support.mouseup = 'MSPointerUp';\n support.mousecancel = 'MSPointerCancel';\n support.click = 'MSPointerUp';\n support.resize = 'orientationchange resize';\n } else {\n support.mousemove = 'mousemove';\n support.mousedown = 'mousedown';\n support.mouseup = 'mouseup';\n support.mousecancel = 'mouseleave';\n support.click = 'click';\n support.resize = 'resize';\n }\n var wrapExpression = function (members, paramName) {\n var result = paramName || 'd', index, idx, length, member, count = 1;\n for (idx = 0, length = members.length; idx < length; idx++) {\n member = members[idx];\n if (member !== '') {\n index = member.indexOf('[');\n if (index !== 0) {\n if (index == -1) {\n member = '.' + member;\n } else {\n count++;\n member = '.' + member.substring(0, index) + ' || {})' + member.substring(index);\n }\n }\n count++;\n result += member + (idx < length - 1 ? ' || {})' : ')');\n }\n }\n return new Array(count).join('(') + result;\n }, localUrlRe = /^([a-z]+:)?\\/\\//i;\n extend(kendo, {\n widgets: [],\n _widgetRegisteredCallbacks: [],\n ui: kendo.ui || {},\n fx: kendo.fx || fx,\n effects: kendo.effects || effects,\n mobile: kendo.mobile || {},\n data: kendo.data || {},\n dataviz: kendo.dataviz || {},\n drawing: kendo.drawing || {},\n spreadsheet: { messages: {} },\n keys: {\n INSERT: 45,\n DELETE: 46,\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n END: 35,\n HOME: 36,\n SPACEBAR: 32,\n PAGEUP: 33,\n PAGEDOWN: 34,\n F2: 113,\n F10: 121,\n F12: 123,\n NUMPAD_PLUS: 107,\n NUMPAD_MINUS: 109,\n NUMPAD_DOT: 110\n },\n support: kendo.support || support,\n animate: kendo.animate || animate,\n ns: '',\n attr: function (value) {\n return 'data-' + kendo.ns + value;\n },\n getShadows: getShadows,\n wrap: wrap,\n deepExtend: deepExtend,\n getComputedStyles: getComputedStyles,\n isScrollable: isScrollable,\n scrollLeft: scrollLeft,\n size: size,\n toCamelCase: toCamelCase,\n toHyphens: toHyphens,\n getOffset: kendo.getOffset || getOffset,\n parseEffects: kendo.parseEffects || parseEffects,\n toggleClass: kendo.toggleClass || toggleClass,\n directions: kendo.directions || directions,\n Observable: Observable,\n Class: Class,\n Template: Template,\n template: proxy(Template.compile, Template),\n render: proxy(Template.render, Template),\n stringify: proxy(JSON.stringify, JSON),\n eventTarget: eventTarget,\n htmlEncode: htmlEncode,\n unescape: unescape,\n isLocalUrl: function (url) {\n return url && !localUrlRe.test(url);\n },\n expr: function (expression, safe, paramName) {\n expression = expression || '';\n if (typeof safe == STRING) {\n paramName = safe;\n safe = false;\n }\n paramName = paramName || 'd';\n if (expression && expression.charAt(0) !== '[') {\n expression = '.' + expression;\n }\n if (safe) {\n expression = expression.replace(/\"([^.]*)\\.([^\"]*)\"/g, '\"$1_$DOT$_$2\"');\n expression = expression.replace(/'([^.]*)\\.([^']*)'/g, '\\'$1_$DOT$_$2\\'');\n expression = wrapExpression(expression.split('.'), paramName);\n expression = expression.replace(/_\\$DOT\\$_/g, '.');\n } else {\n expression = paramName + expression;\n }\n return expression;\n },\n getter: function (expression, safe) {\n var key = expression + safe;\n return getterCache[key] = getterCache[key] || new Function('d', 'return ' + kendo.expr(expression, safe));\n },\n setter: function (expression) {\n return setterCache[expression] = setterCache[expression] || new Function('d,value', kendo.expr(expression) + '=value');\n },\n accessor: function (expression) {\n return {\n get: kendo.getter(expression),\n set: kendo.setter(expression)\n };\n },\n guid: function () {\n var id = '', i, random;\n for (i = 0; i < 32; i++) {\n random = math.random() * 16 | 0;\n if (i == 8 || i == 12 || i == 16 || i == 20) {\n id += '-';\n }\n id += (i == 12 ? 4 : i == 16 ? random & 3 | 8 : random).toString(16);\n }\n return id;\n },\n roleSelector: function (role) {\n return role.replace(/(\\S+)/g, '[' + kendo.attr('role') + '=$1],').slice(0, -1);\n },\n directiveSelector: function (directives) {\n var selectors = directives.split(' ');\n if (selectors) {\n for (var i = 0; i < selectors.length; i++) {\n if (selectors[i] != 'view') {\n selectors[i] = selectors[i].replace(/(\\w*)(view|bar|strip|over)$/, '$1-$2');\n }\n }\n }\n return selectors.join(' ').replace(/(\\S+)/g, 'kendo-mobile-$1,').slice(0, -1);\n },\n triggeredByInput: function (e) {\n return /^(label|input|textarea|select)$/i.test(e.target.tagName);\n },\n onWidgetRegistered: function (callback) {\n for (var i = 0, len = kendo.widgets.length; i < len; i++) {\n callback(kendo.widgets[i]);\n }\n kendo._widgetRegisteredCallbacks.push(callback);\n },\n logToConsole: function (message, type) {\n var console = window.console;\n if (!kendo.suppressLog && typeof console != 'undefined' && console.log) {\n console[type || 'log'](message);\n }\n }\n });\n var Widget = Observable.extend({\n init: function (element, options) {\n var that = this;\n that.element = kendo.jQuery(element).handler(that);\n that.angular('init', options);\n Observable.fn.init.call(that);\n var dataSource = options ? options.dataSource : null;\n var props;\n if (options) {\n props = (that.componentTypes || {})[(options || {}).componentType];\n }\n if (dataSource) {\n options = extend({}, options, { dataSource: {} });\n }\n options = that.options = extend(true, {}, that.options, that.defaults, props || {}, options);\n if (dataSource) {\n options.dataSource = dataSource;\n }\n if (!that.element.attr(kendo.attr('role'))) {\n that.element.attr(kendo.attr('role'), (options.name || '').toLowerCase());\n }\n that.element.data('kendo' + options.prefix + options.name, that);\n that.bind(that.events, options);\n },\n events: [],\n options: { prefix: '' },\n _hasBindingTarget: function () {\n return !!this.element[0].kendoBindingTarget;\n },\n _tabindex: function (target) {\n target = target || this.wrapper;\n var element = this.element, TABINDEX = 'tabindex', tabindex = target.attr(TABINDEX) || element.attr(TABINDEX);\n element.removeAttr(TABINDEX);\n target.attr(TABINDEX, !isNaN(tabindex) ? tabindex : 0);\n },\n setOptions: function (options) {\n this._setEvents(options);\n $.extend(this.options, options);\n },\n _setEvents: function (options) {\n var that = this, idx = 0, length = that.events.length, e;\n for (; idx < length; idx++) {\n e = that.events[idx];\n if (that.options[e] && options[e]) {\n that.unbind(e, that.options[e]);\n if (that._events && that._events[e]) {\n delete that._events[e];\n }\n }\n }\n that.bind(that.events, options);\n },\n resize: function (force) {\n var size = this.getSize(), currentSize = this._size;\n if (force || (size.width > 0 || size.height > 0) && (!currentSize || size.width !== currentSize.width || size.height !== currentSize.height)) {\n this._size = size;\n this._resize(size, force);\n this.trigger('resize', size);\n }\n },\n getSize: function () {\n return kendo.dimensions(this.element);\n },\n size: function (size) {\n if (!size) {\n return this.getSize();\n } else {\n this.setSize(size);\n }\n },\n setSize: $.noop,\n _resize: $.noop,\n destroy: function () {\n var that = this;\n that.element.removeData('kendo' + that.options.prefix + that.options.name);\n that.element.removeData('handler');\n that.unbind();\n },\n _destroy: function () {\n this.destroy();\n },\n angular: function () {\n },\n _muteAngularRebind: function (callback) {\n this._muteRebind = true;\n callback.call(this);\n this._muteRebind = false;\n }\n });\n var DataBoundWidget = Widget.extend({\n dataItems: function () {\n return this.dataSource.flatView();\n },\n _angularItems: function (cmd) {\n var that = this;\n that.angular(cmd, function () {\n return {\n elements: that.items(),\n data: $.map(that.dataItems(), function (dataItem) {\n return { dataItem: dataItem };\n })\n };\n });\n }\n });\n kendo.dimensions = function (element, dimensions) {\n var domElement = element[0];\n if (dimensions) {\n element.css(dimensions);\n }\n return {\n width: domElement.offsetWidth,\n height: domElement.offsetHeight\n };\n };\n kendo.notify = noop;\n var templateRegExp = /template$/i, jsonRegExp = /^\\s*(?:\\{(?:.|\\r\\n|\\n)*\\}|\\[(?:.|\\r\\n|\\n)*\\])\\s*$/, jsonFormatRegExp = /^\\{(\\d+)(:[^\\}]+)?\\}|^\\[[A-Za-z_]+\\]$/, dashRegExp = /([A-Z])/g;\n function parseOption(element, option) {\n var value;\n if (option.indexOf('data') === 0) {\n option = option.substring(4);\n option = option.charAt(0).toLowerCase() + option.substring(1);\n }\n option = option.replace(dashRegExp, '-$1');\n value = element.getAttribute('data-' + kendo.ns + option);\n if (value === null) {\n value = undefined;\n } else if (value === 'null') {\n value = null;\n } else if (value === 'true') {\n value = true;\n } else if (value === 'false') {\n value = false;\n } else if (numberRegExp.test(value) && option != 'mask') {\n value = parseFloat(value);\n } else if (jsonRegExp.test(value) && !jsonFormatRegExp.test(value)) {\n value = new Function('return (' + value + ')')();\n }\n return value;\n }\n function parseOptions(element, options, source) {\n var result = {}, option, value, role = element.getAttribute('data-' + kendo.ns + 'role');\n for (option in options) {\n value = parseOption(element, option);\n if (value !== undefined) {\n if (templateRegExp.test(option) && role != 'drawer') {\n if (typeof value === 'string') {\n if ($('#' + value).length) {\n value = kendo.template($('#' + value).html());\n } else if (source) {\n value = kendo.template(source[value]);\n }\n } else {\n value = element.getAttribute(option);\n }\n }\n result[option] = value;\n }\n }\n return result;\n }\n kendo.initWidget = function (element, options, roles) {\n var result, option, widget, idx, length, role, value, dataSource, fullPath, widgetKeyRegExp;\n if (!roles) {\n roles = kendo.ui.roles;\n } else if (roles.roles) {\n roles = roles.roles;\n }\n element = element.nodeType ? element : element[0];\n role = element.getAttribute('data-' + kendo.ns + 'role');\n if (!role) {\n return;\n }\n fullPath = role.indexOf('.') === -1;\n if (fullPath) {\n widget = roles[role];\n } else {\n widget = kendo.getter(role)(window);\n }\n var data = $(element).data(), widgetKey = widget ? 'kendo' + widget.fn.options.prefix + widget.fn.options.name : '';\n if (fullPath) {\n widgetKeyRegExp = new RegExp('^kendo.*' + role + '$', 'i');\n } else {\n widgetKeyRegExp = new RegExp('^' + widgetKey + '$', 'i');\n }\n for (var key in data) {\n if (key.match(widgetKeyRegExp)) {\n if (key === widgetKey) {\n result = data[key];\n } else {\n return data[key];\n }\n }\n }\n if (!widget) {\n return;\n }\n dataSource = parseOption(element, 'dataSource');\n options = $.extend({}, parseOptions(element, $.extend({}, widget.fn.options, widget.fn.defaults)), options);\n if (dataSource) {\n if (typeof dataSource === STRING) {\n options.dataSource = kendo.getter(dataSource)(window);\n } else {\n options.dataSource = dataSource;\n }\n }\n for (idx = 0, length = widget.fn.events.length; idx < length; idx++) {\n option = widget.fn.events[idx];\n value = parseOption(element, option);\n if (value !== undefined) {\n options[option] = kendo.getter(value)(window);\n }\n }\n if (!result) {\n result = new widget(element, options);\n } else if (!$.isEmptyObject(options)) {\n result.setOptions(options);\n }\n return result;\n };\n kendo.rolesFromNamespaces = function (namespaces) {\n var roles = [], idx, length;\n if (!namespaces[0]) {\n namespaces = [\n kendo.ui,\n kendo.dataviz.ui\n ];\n }\n for (idx = 0, length = namespaces.length; idx < length; idx++) {\n roles[idx] = namespaces[idx].roles;\n }\n return extend.apply(null, [{}].concat(roles.reverse()));\n };\n kendo.init = function (element) {\n var roles = kendo.rolesFromNamespaces(slice.call(arguments, 1));\n $(element).find('[data-' + kendo.ns + 'role]').addBack().each(function () {\n kendo.initWidget(this, {}, roles);\n });\n };\n kendo.destroy = function (element) {\n $(element).find('[data-' + kendo.ns + 'role]').addBack().each(function () {\n var data = $(this).data();\n for (var key in data) {\n if (key.indexOf('kendo') === 0 && typeof data[key].destroy === FUNCTION) {\n data[key].destroy();\n }\n }\n });\n };\n function containmentComparer(a, b) {\n return $.contains(a, b) ? -1 : 1;\n }\n function resizableWidget() {\n var widget = $(this);\n return $.inArray(widget.attr('data-' + kendo.ns + 'role'), [\n 'slider',\n 'rangeslider',\n 'breadcrumb'\n ]) > -1 || widget.is(':visible');\n }\n kendo.resize = function (element, force) {\n var widgets = $(element).find('[data-' + kendo.ns + 'role]').addBack().filter(resizableWidget);\n if (!widgets.length) {\n return;\n }\n var widgetsArray = $.makeArray(widgets);\n widgetsArray.sort(containmentComparer);\n $.each(widgetsArray, function () {\n var widget = kendo.widgetInstance($(this));\n if (widget) {\n widget.resize(force);\n }\n });\n };\n kendo.parseOptions = parseOptions;\n extend(kendo.ui, {\n Widget: Widget,\n DataBoundWidget: DataBoundWidget,\n roles: {},\n progress: function (container, toggle, options) {\n var mask = container.find('.k-loading-mask'), support = kendo.support, browser = support.browser, isRtl, leftRight, webkitCorrection, containerScrollLeft, cssClass;\n options = $.extend({}, {\n width: '100%',\n height: '100%',\n top: container.scrollTop(),\n opacity: false\n }, options);\n cssClass = options.opacity ? 'k-loading-mask k-opaque' : 'k-loading-mask';\n if (toggle) {\n if (!mask.length) {\n isRtl = support.isRtl(container);\n leftRight = isRtl ? 'right' : 'left';\n containerScrollLeft = container.scrollLeft();\n webkitCorrection = browser.webkit ? !isRtl ? 0 : container[0].scrollWidth - container.width() - 2 * containerScrollLeft : 0;\n mask = $(kendo.format('
    {1}
    ', cssClass, kendo.ui.progress.messages.loading)).width(options.width).height(options.height).css('top', options.top).css(leftRight, Math.abs(containerScrollLeft) + webkitCorrection).prependTo(container);\n }\n } else if (mask) {\n mask.remove();\n }\n },\n plugin: function (widget, register, prefix) {\n var name = widget.fn.options.name, getter;\n register = register || kendo.ui;\n prefix = prefix || '';\n register[name] = widget;\n register.roles[name.toLowerCase()] = widget;\n getter = 'getKendo' + prefix + name;\n name = 'kendo' + prefix + name;\n var widgetEntry = {\n name: name,\n widget: widget,\n prefix: prefix || ''\n };\n kendo.widgets.push(widgetEntry);\n for (var i = 0, len = kendo._widgetRegisteredCallbacks.length; i < len; i++) {\n kendo._widgetRegisteredCallbacks[i](widgetEntry);\n }\n $.fn[name] = function (options) {\n var value = this, args;\n if (typeof options === STRING) {\n args = slice.call(arguments, 1);\n this.each(function () {\n var widget = $.data(this, name), method, result;\n if (!widget) {\n throw new Error(kendo.format('Cannot call method \\'{0}\\' of {1} before it is initialized', options, name));\n }\n method = widget[options];\n if (typeof method !== FUNCTION) {\n throw new Error(kendo.format('Cannot find method \\'{0}\\' of {1}', options, name));\n }\n result = method.apply(widget, args);\n if (result !== undefined) {\n value = result;\n return false;\n }\n });\n } else {\n this.each(function () {\n return new widget(this, options);\n });\n }\n return value;\n };\n $.fn[name].widget = widget;\n $.fn[getter] = function () {\n return this.data(name);\n };\n }\n });\n kendo.ui.progress.messages = { loading: 'Loading...' };\n var ContainerNullObject = {\n bind: function () {\n return this;\n },\n nullObject: true,\n options: {}\n };\n var MobileWidget = Widget.extend({\n init: function (element, options) {\n Widget.fn.init.call(this, element, options);\n this.element.autoApplyNS();\n this.wrapper = this.element;\n this.element.addClass('km-widget');\n },\n destroy: function () {\n Widget.fn.destroy.call(this);\n this.element.kendoDestroy();\n },\n options: { prefix: 'Mobile' },\n events: [],\n view: function () {\n var viewElement = this.element.closest(kendo.roleSelector('view splitview modalview drawer'));\n return kendo.widgetInstance(viewElement, kendo.mobile.ui) || ContainerNullObject;\n },\n viewHasNativeScrolling: function () {\n var view = this.view();\n return view && view.options.useNativeScrolling;\n },\n container: function () {\n var element = this.element.closest(kendo.roleSelector('view layout modalview drawer splitview'));\n return kendo.widgetInstance(element.eq(0), kendo.mobile.ui) || ContainerNullObject;\n }\n });\n extend(kendo.mobile, {\n init: function (element) {\n kendo.init(element, kendo.mobile.ui, kendo.ui, kendo.dataviz.ui);\n },\n appLevelNativeScrolling: function () {\n return kendo.mobile.application && kendo.mobile.application.options && kendo.mobile.application.options.useNativeScrolling;\n },\n roles: {},\n ui: {\n Widget: MobileWidget,\n DataBoundWidget: DataBoundWidget.extend(MobileWidget.prototype),\n roles: {},\n plugin: function (widget) {\n kendo.ui.plugin(widget, kendo.mobile.ui, 'Mobile');\n }\n }\n });\n deepExtend(kendo.dataviz, {\n init: function (element) {\n kendo.init(element, kendo.dataviz.ui);\n },\n ui: {\n roles: {},\n themes: {},\n views: [],\n plugin: function (widget) {\n kendo.ui.plugin(widget, kendo.dataviz.ui);\n }\n },\n roles: {}\n });\n kendo.touchScroller = function (elements, options) {\n if (!options) {\n options = {};\n }\n options.useNative = true;\n return $(elements).map(function (idx, element) {\n element = $(element);\n if (support.kineticScrollNeeded && kendo.mobile.ui.Scroller && !element.data('kendoMobileScroller')) {\n element.kendoMobileScroller(options);\n return element.data('kendoMobileScroller');\n } else {\n return false;\n }\n })[0];\n };\n kendo.preventDefault = function (e) {\n e.preventDefault();\n };\n kendo.widgetInstance = function (element, suites) {\n var role = element.data(kendo.ns + 'role'), widgets = [], i, length, elementData = element.data('kendoView');\n if (role) {\n if (role === 'content') {\n role = 'scroller';\n }\n if (role === 'editortoolbar') {\n var editorToolbar = element.data('kendoEditorToolbar');\n if (editorToolbar) {\n return editorToolbar;\n }\n }\n if (role === 'view' && elementData) {\n return elementData;\n }\n if (suites) {\n if (suites[0]) {\n for (i = 0, length = suites.length; i < length; i++) {\n widgets.push(suites[i].roles[role]);\n }\n } else {\n widgets.push(suites.roles[role]);\n }\n } else {\n widgets = [\n kendo.ui.roles[role],\n kendo.dataviz.ui.roles[role],\n kendo.mobile.ui.roles[role]\n ];\n }\n if (role.indexOf('.') >= 0) {\n widgets = [kendo.getter(role)(window)];\n }\n for (i = 0, length = widgets.length; i < length; i++) {\n var widget = widgets[i];\n if (widget) {\n var instance = element.data('kendo' + widget.fn.options.prefix + widget.fn.options.name);\n if (instance) {\n return instance;\n }\n }\n }\n }\n };\n kendo.onResize = function (callback) {\n var handler = callback;\n if (support.mobileOS.android) {\n handler = function () {\n setTimeout(callback, 600);\n };\n }\n $(window).on(support.resize, handler);\n return handler;\n };\n kendo.unbindResize = function (callback) {\n $(window).off(support.resize, callback);\n };\n kendo.attrValue = function (element, key) {\n return element.data(kendo.ns + key);\n };\n kendo.days = {\n Sunday: 0,\n Monday: 1,\n Tuesday: 2,\n Wednesday: 3,\n Thursday: 4,\n Friday: 5,\n Saturday: 6\n };\n function focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n return (/input|select|textarea|button|object/.test(nodeName) ? !element.disabled : 'a' === nodeName ? element.href || isTabIndexNotNaN : isTabIndexNotNaN) && visible(element);\n }\n function visible(element) {\n return $.expr.pseudos.visible(element) && !$(element).parents().addBack().filter(function () {\n return $.css(this, 'visibility') === 'hidden';\n }).length;\n }\n $.extend($.expr.pseudos, {\n kendoFocusable: function (element) {\n var idx = $.attr(element, 'tabindex');\n return focusable(element, !isNaN(idx) && idx > -1);\n }\n });\n var MOUSE_EVENTS = [\n 'mousedown',\n 'mousemove',\n 'mouseenter',\n 'mouseleave',\n 'mouseover',\n 'mouseout',\n 'mouseup',\n 'click'\n ];\n var EXCLUDE_BUST_CLICK_SELECTOR = 'label, input, [data-rel=external]';\n var MouseEventNormalizer = {\n setupMouseMute: function () {\n var idx = 0, length = MOUSE_EVENTS.length, element = document.documentElement;\n if (MouseEventNormalizer.mouseTrap || !support.eventCapture) {\n return;\n }\n MouseEventNormalizer.mouseTrap = true;\n MouseEventNormalizer.bustClick = false;\n MouseEventNormalizer.captureMouse = false;\n var handler = function (e) {\n if (MouseEventNormalizer.captureMouse) {\n if (e.type === 'click') {\n if (MouseEventNormalizer.bustClick && !$(e.target).is(EXCLUDE_BUST_CLICK_SELECTOR)) {\n e.preventDefault();\n e.stopPropagation();\n }\n } else {\n e.stopPropagation();\n }\n }\n };\n for (; idx < length; idx++) {\n element.addEventListener(MOUSE_EVENTS[idx], handler, true);\n }\n },\n muteMouse: function (e) {\n MouseEventNormalizer.captureMouse = true;\n if (e.data.bustClick) {\n MouseEventNormalizer.bustClick = true;\n }\n clearTimeout(MouseEventNormalizer.mouseTrapTimeoutID);\n },\n unMuteMouse: function () {\n clearTimeout(MouseEventNormalizer.mouseTrapTimeoutID);\n MouseEventNormalizer.mouseTrapTimeoutID = setTimeout(function () {\n MouseEventNormalizer.captureMouse = false;\n MouseEventNormalizer.bustClick = false;\n }, 400);\n }\n };\n var eventMap = {\n down: 'touchstart mousedown',\n move: 'mousemove touchmove',\n up: 'mouseup touchend touchcancel',\n cancel: 'mouseleave touchcancel'\n };\n if (support.touch && (support.mobileOS.ios || support.mobileOS.android)) {\n eventMap = {\n down: 'touchstart',\n move: 'touchmove',\n up: 'touchend touchcancel',\n cancel: 'touchcancel'\n };\n } else if (support.pointers) {\n eventMap = {\n down: 'pointerdown',\n move: 'pointermove',\n up: 'pointerup',\n cancel: 'pointercancel pointerleave'\n };\n } else if (support.msPointers) {\n eventMap = {\n down: 'MSPointerDown',\n move: 'MSPointerMove',\n up: 'MSPointerUp',\n cancel: 'MSPointerCancel MSPointerLeave'\n };\n }\n if (support.msPointers && !('onmspointerenter' in window)) {\n $.each({\n MSPointerEnter: 'MSPointerOver',\n MSPointerLeave: 'MSPointerOut'\n }, function (orig, fix) {\n $.event.special[orig] = {\n delegateType: fix,\n bindType: fix,\n handle: function (event) {\n var ret, target = this, related = event.relatedTarget, handleObj = event.handleObj;\n if (!related || related !== target && !$.contains(target, related)) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply(this, arguments);\n event.type = fix;\n }\n return ret;\n }\n };\n });\n }\n var getEventMap = function (e) {\n return eventMap[e] || e;\n }, eventRegEx = /([^ ]+)/g;\n kendo.applyEventMap = function (events, ns) {\n events = events.replace(eventRegEx, getEventMap);\n if (ns) {\n events = events.replace(eventRegEx, '$1.' + ns);\n }\n return events;\n };\n kendo.keyDownHandler = function (e, widget) {\n var events = widget._events.kendoKeydown;\n if (!events) {\n return true;\n }\n events = events.slice();\n e.sender = widget;\n e.preventKendoKeydown = false;\n for (var idx = 0, length = events.length; idx < length; idx++) {\n events[idx].call(widget, e);\n }\n return !e.preventKendoKeydown;\n };\n var on = $.fn.on;\n function kendoJQuery(selector, context) {\n return new kendoJQuery.fn.init(selector, context);\n }\n noDepricateExtend(true, kendoJQuery, $);\n kendoJQuery.fn = kendoJQuery.prototype = new $();\n kendoJQuery.fn.constructor = kendoJQuery;\n kendoJQuery.fn.init = function (selector, context) {\n if (context && context instanceof $ && !(context instanceof kendoJQuery)) {\n context = kendoJQuery(context);\n }\n return $.fn.init.call(this, selector, context, rootjQuery);\n };\n kendoJQuery.fn.init.prototype = kendoJQuery.fn;\n var rootjQuery = kendoJQuery(document);\n extend(kendoJQuery.fn, {\n handler: function (handler) {\n this.data('handler', handler);\n return this;\n },\n autoApplyNS: function (ns) {\n this.data('kendoNS', ns || kendo.guid());\n return this;\n },\n on: function () {\n var that = this, ns = that.data('kendoNS');\n if (arguments.length === 1) {\n return on.call(that, arguments[0]);\n }\n var context = that, args = slice.call(arguments);\n if (typeof args[args.length - 1] === UNDEFINED) {\n args.pop();\n }\n var callback = args[args.length - 1], events = kendo.applyEventMap(args[0], ns);\n if (support.mouseAndTouchPresent && events.search(/mouse|click/) > -1 && this[0] !== document.documentElement) {\n MouseEventNormalizer.setupMouseMute();\n var selector = args.length === 2 ? null : args[1], bustClick = events.indexOf('click') > -1 && events.indexOf('touchend') > -1;\n on.call(this, {\n touchstart: MouseEventNormalizer.muteMouse,\n touchend: MouseEventNormalizer.unMuteMouse\n }, selector, { bustClick: bustClick });\n }\n if (arguments[0].indexOf('keydown') !== -1 && args[1] && args[1].options) {\n args[0] = events;\n var widget = args[1];\n var keyDownCallBack = args[args.length - 1];\n args[args.length - 1] = function (e) {\n if (kendo.keyDownHandler(e, widget)) {\n return keyDownCallBack.apply(this, [e]);\n }\n };\n on.apply(that, args);\n return that;\n }\n if (typeof callback === STRING) {\n context = that.data('handler');\n callback = context[callback];\n args[args.length - 1] = function (e) {\n callback.call(context, e);\n };\n }\n args[0] = events;\n on.apply(that, args);\n return that;\n },\n kendoDestroy: function (ns) {\n ns = ns || this.data('kendoNS');\n if (ns) {\n this.off('.' + ns);\n }\n return this;\n }\n });\n kendo.jQuery = kendoJQuery;\n kendo.eventMap = eventMap;\n kendo.timezone = function () {\n var months = {\n Jan: 0,\n Feb: 1,\n Mar: 2,\n Apr: 3,\n May: 4,\n Jun: 5,\n Jul: 6,\n Aug: 7,\n Sep: 8,\n Oct: 9,\n Nov: 10,\n Dec: 11\n };\n var days = {\n Sun: 0,\n Mon: 1,\n Tue: 2,\n Wed: 3,\n Thu: 4,\n Fri: 5,\n Sat: 6\n };\n function ruleToDate(year, rule) {\n var date;\n var targetDay;\n var ourDay;\n var month = rule[3];\n var on = rule[4];\n var time = rule[5];\n var cache = rule[8];\n if (!cache) {\n rule[8] = cache = {};\n }\n if (cache[year]) {\n return cache[year];\n }\n if (!isNaN(on)) {\n date = new Date(Date.UTC(year, months[month], on, time[0], time[1], time[2], 0));\n } else if (on.indexOf('last') === 0) {\n date = new Date(Date.UTC(year, months[month] + 1, 1, time[0] - 24, time[1], time[2], 0));\n targetDay = days[on.substr(4, 3)];\n ourDay = date.getUTCDay();\n date.setUTCDate(date.getUTCDate() + targetDay - ourDay - (targetDay > ourDay ? 7 : 0));\n } else if (on.indexOf('>=') >= 0) {\n date = new Date(Date.UTC(year, months[month], on.substr(5), time[0], time[1], time[2], 0));\n targetDay = days[on.substr(0, 3)];\n ourDay = date.getUTCDay();\n date.setUTCDate(date.getUTCDate() + targetDay - ourDay + (targetDay < ourDay ? 7 : 0));\n } else if (on.indexOf('<=') >= 0) {\n date = new Date(Date.UTC(year, months[month], on.substr(5), time[0], time[1], time[2], 0));\n targetDay = days[on.substr(0, 3)];\n ourDay = date.getUTCDay();\n date.setUTCDate(date.getUTCDate() + targetDay - ourDay - (targetDay > ourDay ? 7 : 0));\n }\n return cache[year] = date;\n }\n function findRule(utcTime, rules, zone) {\n rules = rules[zone];\n if (!rules) {\n var time = zone.split(':');\n var offset = 0;\n if (time.length > 1) {\n offset = time[0] * 60 + Number(time[1]);\n }\n return [\n -1000000,\n 'max',\n '-',\n 'Jan',\n 1,\n [\n 0,\n 0,\n 0\n ],\n offset,\n '-'\n ];\n }\n var year = new Date(utcTime).getUTCFullYear();\n rules = jQuery.grep(rules, function (rule) {\n var from = rule[0];\n var to = rule[1];\n return from <= year && (to >= year || from == year && to == 'only' || to == 'max');\n });\n rules.push(utcTime);\n rules.sort(function (a, b) {\n if (typeof a != 'number') {\n a = Number(ruleToDate(year, a));\n }\n if (typeof b != 'number') {\n b = Number(ruleToDate(year, b));\n }\n return a - b;\n });\n var rule = rules[jQuery.inArray(utcTime, rules) - 1] || rules[rules.length - 1];\n return isNaN(rule) ? rule : null;\n }\n function findZone(utcTime, zones, timezone) {\n var zoneRules = zones[timezone];\n if (typeof zoneRules === 'string') {\n zoneRules = zones[zoneRules];\n }\n if (!zoneRules) {\n throw new Error('Timezone \"' + timezone + '\" is either incorrect, or kendo.timezones.min.js is not included.');\n }\n for (var idx = zoneRules.length - 1; idx >= 0; idx--) {\n var until = zoneRules[idx][3];\n if (until && utcTime > until) {\n break;\n }\n }\n var zone = zoneRules[idx + 1];\n if (!zone) {\n throw new Error('Timezone \"' + timezone + '\" not found on ' + utcTime + '.');\n }\n return zone;\n }\n function zoneAndRule(utcTime, zones, rules, timezone) {\n if (typeof utcTime != NUMBER) {\n utcTime = Date.UTC(utcTime.getFullYear(), utcTime.getMonth(), utcTime.getDate(), utcTime.getHours(), utcTime.getMinutes(), utcTime.getSeconds(), utcTime.getMilliseconds());\n }\n var zone = findZone(utcTime, zones, timezone);\n return {\n zone: zone,\n rule: findRule(utcTime, rules, zone[1])\n };\n }\n function offset(utcTime, timezone) {\n if (timezone == 'Etc/UTC' || timezone == 'Etc/GMT') {\n return 0;\n }\n var info = zoneAndRule(utcTime, this.zones, this.rules, timezone);\n var zone = info.zone;\n var rule = info.rule;\n return kendo.parseFloat(rule ? zone[0] - rule[6] : zone[0]);\n }\n function abbr(utcTime, timezone) {\n var info = zoneAndRule(utcTime, this.zones, this.rules, timezone);\n var zone = info.zone;\n var rule = info.rule;\n var base = zone[2];\n if (base.indexOf('/') >= 0) {\n return base.split('/')[rule && +rule[6] ? 1 : 0];\n } else if (base.indexOf('%s') >= 0) {\n return base.replace('%s', !rule || rule[7] == '-' ? '' : rule[7]);\n }\n return base;\n }\n function convert(date, fromOffset, toOffset) {\n var tempToOffset = toOffset;\n var diff;\n if (typeof fromOffset == STRING) {\n fromOffset = this.offset(date, fromOffset);\n }\n if (typeof toOffset == STRING) {\n toOffset = this.offset(date, toOffset);\n }\n var fromLocalOffset = date.getTimezoneOffset();\n date = new Date(date.getTime() + (fromOffset - toOffset) * 60000);\n var toLocalOffset = date.getTimezoneOffset();\n if (typeof tempToOffset == STRING) {\n tempToOffset = this.offset(date, tempToOffset);\n }\n diff = toLocalOffset - fromLocalOffset + (toOffset - tempToOffset);\n return new Date(date.getTime() + diff * 60000);\n }\n function apply(date, timezone) {\n return this.convert(date, date.getTimezoneOffset(), timezone);\n }\n function remove(date, timezone) {\n return this.convert(date, timezone, date.getTimezoneOffset());\n }\n function toLocalDate(time) {\n return this.apply(new Date(time), 'Etc/UTC');\n }\n return {\n zones: {},\n rules: {},\n offset: offset,\n convert: convert,\n apply: apply,\n remove: remove,\n abbr: abbr,\n toLocalDate: toLocalDate\n };\n }();\n kendo.date = function () {\n var MS_PER_MINUTE = 60000, MS_PER_DAY = 86400000;\n function adjustDST(date, hours) {\n if (hours === 0 && date.getHours() === 23) {\n date.setHours(date.getHours() + 2);\n return true;\n }\n return false;\n }\n function setDayOfWeek(date, day, dir) {\n var hours = date.getHours();\n dir = dir || 1;\n day = (day - date.getDay() + 7 * dir) % 7;\n date.setDate(date.getDate() + day);\n adjustDST(date, hours);\n }\n function dayOfWeek(date, day, dir) {\n date = new Date(date);\n setDayOfWeek(date, day, dir);\n return date;\n }\n function firstDayOfMonth(date) {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n }\n function lastDayOfMonth(date) {\n var last = new Date(date.getFullYear(), date.getMonth() + 1, 0), first = firstDayOfMonth(date), timeOffset = Math.abs(last.getTimezoneOffset() - first.getTimezoneOffset());\n if (timeOffset) {\n last.setHours(first.getHours() + timeOffset / 60);\n }\n return last;\n }\n function moveDateToWeekStart(date, weekStartDay) {\n if (weekStartDay !== 1) {\n return addDays(dayOfWeek(date, weekStartDay, -1), 4);\n }\n return addDays(date, 4 - (date.getDay() || 7));\n }\n function calcWeekInYear(date, weekStartDay) {\n var firstWeekInYear = new Date(date.getFullYear(), 0, 1, -6);\n var newDate = moveDateToWeekStart(date, weekStartDay);\n var diffInMS = newDate.getTime() - firstWeekInYear.getTime();\n var days = Math.floor(diffInMS / MS_PER_DAY);\n return 1 + Math.floor(days / 7);\n }\n function weekInYear(date, weekStartDay) {\n if (weekStartDay === undefined) {\n weekStartDay = kendo.culture().calendar.firstDay;\n }\n var prevWeekDate = addDays(date, -7);\n var nextWeekDate = addDays(date, 7);\n var weekNumber = calcWeekInYear(date, weekStartDay);\n if (weekNumber === 0) {\n return calcWeekInYear(prevWeekDate, weekStartDay) + 1;\n }\n if (weekNumber === 53 && calcWeekInYear(nextWeekDate, weekStartDay) > 1) {\n return 1;\n }\n return weekNumber;\n }\n function getDate(date) {\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);\n adjustDST(date, 0);\n return date;\n }\n function toUtcTime(date) {\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n }\n function getMilliseconds(date) {\n return toInvariantTime(date).getTime() - getDate(toInvariantTime(date));\n }\n function isInTimeRange(value, min, max) {\n var msMin = getMilliseconds(min), msMax = getMilliseconds(max), msValue;\n if (!value || msMin == msMax) {\n return true;\n }\n if (min >= max) {\n max += MS_PER_DAY;\n }\n msValue = getMilliseconds(value);\n if (msMin > msValue) {\n msValue += MS_PER_DAY;\n }\n if (msMax < msMin) {\n msMax += MS_PER_DAY;\n }\n return msValue >= msMin && msValue <= msMax;\n }\n function isInDateRange(value, min, max) {\n var msMin = min.getTime(), msMax = max.getTime(), msValue;\n if (msMin >= msMax) {\n msMax += MS_PER_DAY;\n }\n msValue = value.getTime();\n return msValue >= msMin && msValue <= msMax;\n }\n function addDays(date, offset) {\n var hours = date.getHours();\n date = new Date(date);\n setTime(date, offset * MS_PER_DAY);\n adjustDST(date, hours);\n return date;\n }\n function setTime(date, milliseconds, ignoreDST) {\n var offset = date.getTimezoneOffset();\n var difference;\n date.setTime(date.getTime() + milliseconds);\n if (!ignoreDST) {\n difference = date.getTimezoneOffset() - offset;\n date.setTime(date.getTime() + difference * MS_PER_MINUTE);\n }\n }\n function setHours(date, time) {\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds());\n adjustDST(date, time.getHours());\n return date;\n }\n function today() {\n return getDate(new Date());\n }\n function isToday(date) {\n return getDate(date).getTime() == today().getTime();\n }\n function toInvariantTime(date) {\n var staticDate = new Date(1980, 1, 1, 0, 0, 0);\n if (date) {\n staticDate.setHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n }\n return staticDate;\n }\n return {\n adjustDST: adjustDST,\n dayOfWeek: dayOfWeek,\n setDayOfWeek: setDayOfWeek,\n getDate: getDate,\n isInDateRange: isInDateRange,\n isInTimeRange: isInTimeRange,\n isToday: isToday,\n nextDay: function (date) {\n return addDays(date, 1);\n },\n previousDay: function (date) {\n return addDays(date, -1);\n },\n toUtcTime: toUtcTime,\n MS_PER_DAY: MS_PER_DAY,\n MS_PER_HOUR: 60 * MS_PER_MINUTE,\n MS_PER_MINUTE: MS_PER_MINUTE,\n setTime: setTime,\n setHours: setHours,\n addDays: addDays,\n today: today,\n toInvariantTime: toInvariantTime,\n firstDayOfMonth: firstDayOfMonth,\n lastDayOfMonth: lastDayOfMonth,\n weekInYear: weekInYear,\n getMilliseconds: getMilliseconds\n };\n }();\n kendo.stripWhitespace = function (element) {\n if (document.createNodeIterator) {\n var iterator = document.createNodeIterator(element, NodeFilter.SHOW_TEXT, function (node) {\n return node.parentNode == element ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n }, false);\n while (iterator.nextNode()) {\n if (iterator.referenceNode && !iterator.referenceNode.textContent.trim()) {\n iterator.referenceNode.parentNode.removeChild(iterator.referenceNode);\n }\n }\n } else {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (child.nodeType == 3 && !/\\S/.test(child.nodeValue)) {\n element.removeChild(child);\n i--;\n }\n if (child.nodeType == 1) {\n kendo.stripWhitespace(child);\n }\n }\n }\n };\n var animationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n setTimeout(callback, 1000 / 60);\n };\n kendo.animationFrame = function (callback) {\n animationFrame.call(window, callback);\n };\n var animationQueue = [];\n kendo.queueAnimation = function (callback) {\n animationQueue[animationQueue.length] = callback;\n if (animationQueue.length === 1) {\n kendo.runNextAnimation();\n }\n };\n kendo.runNextAnimation = function () {\n kendo.animationFrame(function () {\n if (animationQueue[0]) {\n animationQueue.shift()();\n if (animationQueue[0]) {\n kendo.runNextAnimation();\n }\n }\n });\n };\n kendo.parseQueryStringParams = function (url) {\n var queryString = url.split('?')[1] || '', params = {}, paramParts = queryString.split(/&|=/), length = paramParts.length, idx = 0;\n for (; idx < length; idx += 2) {\n if (paramParts[idx] !== '') {\n params[decodeURIComponent(paramParts[idx])] = decodeURIComponent(paramParts[idx + 1]);\n }\n }\n return params;\n };\n kendo.elementUnderCursor = function (e) {\n if (typeof e.x.client != 'undefined') {\n return document.elementFromPoint(e.x.client, e.y.client);\n }\n };\n kendo.wheelDeltaY = function (jQueryEvent) {\n var e = jQueryEvent.originalEvent, deltaY = e.wheelDeltaY, delta;\n if (e.wheelDelta) {\n if (deltaY === undefined || deltaY) {\n delta = e.wheelDelta;\n }\n } else if (e.detail && e.axis === e.VERTICAL_AXIS) {\n delta = -e.detail * 10;\n }\n return delta;\n };\n kendo.throttle = function (fn, delay) {\n var timeout;\n var lastExecTime = 0;\n if (!delay || delay <= 0) {\n return fn;\n }\n var throttled = function () {\n var that = this;\n var elapsed = +new Date() - lastExecTime;\n var args = arguments;\n function exec() {\n fn.apply(that, args);\n lastExecTime = +new Date();\n }\n if (!lastExecTime) {\n return exec();\n }\n if (timeout) {\n clearTimeout(timeout);\n }\n if (elapsed > delay) {\n exec();\n } else {\n timeout = setTimeout(exec, delay - elapsed);\n }\n };\n throttled.cancel = function () {\n clearTimeout(timeout);\n };\n return throttled;\n };\n kendo.caret = function (element, start, end) {\n var rangeElement;\n var isPosition = start !== undefined;\n if (end === undefined) {\n end = start;\n }\n if (element[0]) {\n element = element[0];\n }\n if (isPosition && element.disabled) {\n return;\n }\n try {\n if (element.selectionStart !== undefined) {\n if (isPosition) {\n element.focus();\n var mobile = support.mobileOS;\n if (mobile.wp || mobile.android) {\n setTimeout(function () {\n element.setSelectionRange(start, end);\n }, 0);\n } else {\n element.setSelectionRange(start, end);\n }\n } else {\n start = [\n element.selectionStart,\n element.selectionEnd\n ];\n }\n } else if (document.selection) {\n if ($(element).is(':visible')) {\n element.focus();\n }\n rangeElement = element.createTextRange();\n if (isPosition) {\n rangeElement.collapse(true);\n rangeElement.moveStart('character', start);\n rangeElement.moveEnd('character', end - start);\n rangeElement.select();\n } else {\n var rangeDuplicated = rangeElement.duplicate(), selectionStart, selectionEnd;\n rangeElement.moveToBookmark(document.selection.createRange().getBookmark());\n rangeDuplicated.setEndPoint('EndToStart', rangeElement);\n selectionStart = rangeDuplicated.text.length;\n selectionEnd = selectionStart + rangeElement.text.length;\n start = [\n selectionStart,\n selectionEnd\n ];\n }\n }\n } catch (e) {\n start = [];\n }\n return start;\n };\n kendo.compileMobileDirective = function (element, scope) {\n var angular = window.angular;\n element.attr('data-' + kendo.ns + 'role', element[0].tagName.toLowerCase().replace('kendo-mobile-', '').replace('-', ''));\n angular.element(element).injector().invoke([\n '$compile',\n function ($compile) {\n $compile(element)(scope);\n if (!/^\\$(digest|apply)$/.test(scope.$$phase)) {\n scope.$digest();\n }\n }\n ]);\n return kendo.widgetInstance(element, kendo.mobile.ui);\n };\n kendo.antiForgeryTokens = function () {\n var tokens = {}, csrf_token = $('meta[name=csrf-token],meta[name=_csrf]').attr('content'), csrf_param = $('meta[name=csrf-param],meta[name=_csrf_header]').attr('content');\n $('input[name^=\\'__RequestVerificationToken\\']').each(function () {\n tokens[this.name] = this.value;\n });\n if (csrf_param !== undefined && csrf_token !== undefined) {\n tokens[csrf_param] = csrf_token;\n }\n return tokens;\n };\n kendo.cycleForm = function (form) {\n var firstElement = form.find('input, .k-widget').first();\n var lastElement = form.find('button, .k-button').last();\n function focus(el) {\n var widget = kendo.widgetInstance(el);\n if (widget && widget.focus) {\n widget.focus();\n } else {\n el.focus();\n }\n }\n lastElement.on('keydown', function (e) {\n if (e.keyCode == kendo.keys.TAB && !e.shiftKey) {\n e.preventDefault();\n focus(firstElement);\n }\n });\n firstElement.on('keydown', function (e) {\n if (e.keyCode == kendo.keys.TAB && e.shiftKey) {\n e.preventDefault();\n focus(lastElement);\n }\n });\n };\n kendo.focusElement = function (element) {\n var scrollTopPositions = [];\n var scrollableParents = element.parentsUntil('body').filter(function (index, element) {\n var computedStyle = kendo.getComputedStyles(element, ['overflow']);\n return computedStyle.overflow !== 'visible';\n }).add(window);\n scrollableParents.each(function (index, parent) {\n scrollTopPositions[index] = $(parent).scrollTop();\n });\n try {\n element[0].setActive();\n } catch (e) {\n element[0].focus();\n }\n scrollableParents.each(function (index, parent) {\n $(parent).scrollTop(scrollTopPositions[index]);\n });\n };\n kendo.focusNextElement = function () {\n if (document.activeElement) {\n var focussable = $(':kendoFocusable');\n var index = focussable.index(document.activeElement);\n if (index > -1) {\n var nextElement = focussable[index + 1] || focussable[0];\n nextElement.focus();\n }\n }\n };\n kendo.trim = function (value) {\n if (!!value) {\n return value.toString().trim();\n } else {\n return '';\n }\n };\n kendo.getWidgetFocusableElement = function (element) {\n var nextFocusable = element.closest(':kendoFocusable'), widgetInstance = kendo.widgetInstance(element), target;\n if (nextFocusable.length) {\n target = nextFocusable;\n } else if (widgetInstance) {\n target = widgetInstance.options.name === 'Editor' ? $(widgetInstance.body) : widgetInstance.wrapper.find(':kendoFocusable').first();\n } else {\n target = element;\n }\n return target;\n };\n kendo.addAttribute = function (element, attribute, value) {\n var current = element.attr(attribute) || '';\n if (current.indexOf(value) < 0) {\n element.attr(attribute, (current + ' ' + value).trim());\n }\n };\n kendo.removeAttribute = function (element, attribute, value) {\n var current = element.attr(attribute) || '';\n element.attr(attribute, current.replace(value, '').trim());\n };\n kendo.toggleAttribute = function (element, attribute, value) {\n var current = element.attr(attribute) || '';\n if (current.indexOf(value) < 0) {\n kendo.addAttribute(element, attribute, value);\n } else {\n kendo.removeAttribute(element, attribute, value);\n }\n };\n kendo.matchesMedia = function (mediaQuery) {\n var media = kendo._bootstrapToMedia(mediaQuery) || mediaQuery;\n return support.matchMedia && window.matchMedia(media).matches;\n };\n kendo._bootstrapToMedia = function (bootstrapMedia) {\n return {\n 'xs': '(max-width: 576px)',\n 'sm': '(min-width: 576px)',\n 'md': '(min-width: 768px)',\n 'lg': '(min-width: 992px)',\n 'xl': '(min-width: 1200px)'\n }[bootstrapMedia];\n };\n kendo.fileGroupMap = {\n audio: [\n '.aif',\n '.iff',\n '.m3u',\n '.m4a',\n '.mid',\n '.mp3',\n '.mpa',\n '.wav',\n '.wma',\n '.ogg',\n '.wav',\n '.wma',\n '.wpl'\n ],\n video: [\n '.3g2',\n '.3gp',\n '.avi',\n '.asf',\n '.flv',\n '.m4u',\n '.rm',\n '.h264',\n '.m4v',\n '.mkv',\n '.mov',\n '.mp4',\n '.mpg',\n '.rm',\n '.swf',\n '.vob',\n '.wmv'\n ],\n image: [\n '.ai',\n '.dds',\n '.heic',\n '.jpe',\n 'jfif',\n '.jif',\n '.jp2',\n '.jps',\n '.eps',\n '.bmp',\n '.gif',\n '.jpeg',\n '.jpg',\n '.png',\n '.ps',\n '.psd',\n '.svg',\n '.svgz',\n '.tif',\n '.tiff'\n ],\n txt: [\n '.doc',\n '.docx',\n '.log',\n '.pages',\n '.tex',\n '.wpd',\n '.wps',\n '.odt',\n '.rtf',\n '.text',\n '.txt',\n '.wks'\n ],\n presentation: [\n '.key',\n '.odp',\n '.pps',\n '.ppt',\n '.pptx'\n ],\n data: [\n '.xlr',\n '.xls',\n '.xlsx'\n ],\n programming: [\n '.tmp',\n '.bak',\n '.msi',\n '.cab',\n '.cpl',\n '.cur',\n '.dll',\n '.dmp',\n '.drv',\n '.icns',\n '.ico',\n '.link',\n '.sys',\n '.cfg',\n '.ini',\n '.asp',\n '.aspx',\n '.cer',\n '.csr',\n '.css',\n '.dcr',\n '.htm',\n '.html',\n '.js',\n '.php',\n '.rss',\n '.xhtml'\n ],\n pdf: ['.pdf'],\n config: [\n '.apk',\n '.app',\n '.bat',\n '.cgi',\n '.com',\n '.exe',\n '.gadget',\n '.jar',\n '.wsf'\n ],\n zip: [\n '.7z',\n '.cbr',\n '.gz',\n '.sitx',\n '.arj',\n '.deb',\n '.pkg',\n '.rar',\n '.rpm',\n '.tar.gz',\n '.z',\n '.zip',\n '.zipx'\n ],\n 'disc-image': [\n '.dmg',\n '.iso',\n '.toast',\n '.vcd',\n '.bin',\n '.cue',\n '.mdf'\n ]\n };\n kendo.getFileGroup = function (extension, withPrefix) {\n var fileTypeMap = kendo.fileGroupMap;\n var groups = Object.keys(fileTypeMap);\n var type = 'file';\n if (extension === undefined || !extension.length) {\n return type;\n }\n for (var i = 0; i < groups.length; i += 1) {\n var extensions = fileTypeMap[groups[i]];\n if (extensions.indexOf(extension.toLowerCase()) > -1) {\n return withPrefix ? 'file-' + groups[i] : groups[i];\n }\n }\n return type;\n };\n kendo.getFileSizeMessage = function (size) {\n var sizes = [\n 'Bytes',\n 'KB',\n 'MB',\n 'GB',\n 'TB'\n ];\n if (size === 0) {\n return '0 Byte';\n }\n var i = parseInt(Math.floor(Math.log(size) / Math.log(1024)), 10);\n return Math.round(size / Math.pow(1024, i), 2) + ' ' + sizes[i];\n };\n kendo.selectorFromClasses = function (classes) {\n return '.' + classes.split(' ').join('.');\n };\n (function () {\n function postToProxy(dataURI, fileName, proxyURL, proxyTarget) {\n var form = $('').attr({\n action: proxyURL,\n method: 'POST',\n target: proxyTarget\n });\n var data = kendo.antiForgeryTokens();\n data.fileName = fileName;\n var parts = dataURI.split(';base64,');\n data.contentType = parts[0].replace('data:', '');\n data.base64 = parts[1];\n for (var name in data) {\n if (data.hasOwnProperty(name)) {\n $('').attr({\n value: data[name],\n name: name,\n type: 'hidden'\n }).appendTo(form);\n }\n }\n form.appendTo('body').submit().remove();\n }\n var fileSaver = document.createElement('a');\n var downloadAttribute = 'download' in fileSaver && !kendo.support.browser.edge;\n function saveAsBlob(dataURI, fileName) {\n var blob = dataURI;\n if (typeof dataURI == 'string') {\n var parts = dataURI.split(';base64,');\n var contentType = parts[0];\n var base64 = atob(parts[1]);\n var array = new Uint8Array(base64.length);\n for (var idx = 0; idx < base64.length; idx++) {\n array[idx] = base64.charCodeAt(idx);\n }\n blob = new Blob([array.buffer], { type: contentType });\n }\n navigator.msSaveBlob(blob, fileName);\n }\n function saveAsDataURI(dataURI, fileName) {\n if (window.Blob && dataURI instanceof Blob) {\n dataURI = URL.createObjectURL(dataURI);\n }\n fileSaver.download = fileName;\n fileSaver.href = dataURI;\n var e = document.createEvent('MouseEvents');\n e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n fileSaver.dispatchEvent(e);\n setTimeout(function () {\n URL.revokeObjectURL(dataURI);\n });\n }\n kendo.saveAs = function (options) {\n var save = postToProxy;\n if (!options.forceProxy) {\n if (downloadAttribute) {\n save = saveAsDataURI;\n } else if (navigator.msSaveBlob) {\n save = saveAsBlob;\n }\n }\n save(options.dataURI, options.fileName, options.proxyURL, options.proxyTarget);\n };\n }());\n kendo.proxyModelSetters = function proxyModelSetters(data) {\n var observable = {};\n Object.keys(data || {}).forEach(function (property) {\n Object.defineProperty(observable, property, {\n get: function () {\n return data[property];\n },\n set: function (value) {\n data[property] = value;\n data.dirty = true;\n }\n });\n });\n return observable;\n };\n (function () {\n kendo.defaults = kendo.defaults || {};\n kendo.setDefaults = function (key, value) {\n var path = key.split('.');\n var curr = kendo.defaults;\n key = path.pop();\n path.forEach(function (part) {\n if (curr[part] === undefined) {\n curr[part] = {};\n }\n curr = curr[part];\n });\n if (value.constructor === Object) {\n curr[key] = deepExtend({}, curr[key], value);\n } else {\n curr[key] = value;\n }\n };\n }());\n }(jQuery, window));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.data.odata', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'data.odata',\n name: 'OData',\n category: 'framework',\n depends: ['core'],\n hidden: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, NEWLINE = '\\r\\n', DOUBLELINE = '\\r\\n\\r\\n', isFunction = kendo.isFunction, odataFilters = {\n eq: 'eq',\n neq: 'ne',\n gt: 'gt',\n gte: 'ge',\n lt: 'lt',\n lte: 'le',\n contains: 'substringof',\n doesnotcontain: 'substringof',\n endswith: 'endswith',\n startswith: 'startswith',\n isnull: 'eq',\n isnotnull: 'ne',\n isnullorempty: 'eq',\n isnotnullorempty: 'ne',\n isempty: 'eq',\n isnotempty: 'ne'\n }, odataFiltersVersionFour = extend({}, odataFilters, { contains: 'contains' }), mappers = {\n pageSize: $.noop,\n page: $.noop,\n filter: function (params, filter, useVersionFour) {\n if (filter) {\n filter = toOdataFilter(filter, useVersionFour);\n if (filter) {\n params.$filter = filter;\n }\n }\n },\n sort: function (params, orderby) {\n var expr = $.map(orderby, function (value) {\n var order = value.field.replace(/\\./g, '/');\n if (value.dir === 'desc') {\n order += ' desc';\n }\n return order;\n }).join(',');\n if (expr) {\n params.$orderby = expr;\n }\n },\n skip: function (params, skip) {\n if (skip) {\n params.$skip = skip;\n }\n },\n take: function (params, take) {\n if (take) {\n params.$top = take;\n }\n }\n }, defaultDataType = { read: { dataType: 'jsonp' } };\n function toOdataFilter(filter, useOdataFour) {\n var result = [], logic = filter.logic || 'and', idx, length, field, type, format, operator, value, ignoreCase, filters = filter.filters;\n for (idx = 0, length = filters.length; idx < length; idx++) {\n filter = filters[idx];\n field = filter.field;\n value = filter.value;\n operator = filter.operator;\n if (filter.filters) {\n filter = toOdataFilter(filter, useOdataFour);\n } else {\n ignoreCase = filter.ignoreCase;\n field = field.replace(/\\./g, '/');\n filter = odataFilters[operator];\n if (useOdataFour) {\n filter = odataFiltersVersionFour[operator];\n }\n if (operator === 'isnullorempty') {\n filter = kendo.format('{0} {1} null or {0} {1} \\'\\'', field, filter);\n } else if (operator === 'isnotnullorempty') {\n filter = kendo.format('{0} {1} null and {0} {1} \\'\\'', field, filter);\n } else if (operator === 'isnull' || operator === 'isnotnull') {\n filter = kendo.format('{0} {1} null', field, filter);\n } else if (operator === 'isempty' || operator === 'isnotempty') {\n filter = kendo.format('{0} {1} \\'\\'', field, filter);\n } else if (filter && value !== undefined) {\n type = $.type(value);\n if (type === 'string') {\n format = '\\'{1}\\'';\n value = value.replace(/'/g, '\\'\\'');\n if (ignoreCase === true) {\n field = 'tolower(' + field + ')';\n }\n } else if (type === 'date') {\n if (useOdataFour) {\n format = '{1:yyyy-MM-ddTHH:mm:ss+00:00}';\n value = kendo.timezone.apply(value, 'Etc/UTC');\n } else {\n format = 'datetime\\'{1:yyyy-MM-ddTHH:mm:ss}\\'';\n }\n } else {\n format = '{1}';\n }\n if (filter.length > 3) {\n if (filter !== 'substringof') {\n format = '{0}({2},' + format + ')';\n } else {\n format = '{0}(' + format + ',{2})';\n if (operator === 'doesnotcontain') {\n if (useOdataFour) {\n format = '{0}({2},\\'{1}\\') eq -1';\n filter = 'indexof';\n } else {\n format += ' eq false';\n }\n }\n }\n } else {\n format = '{2} {0} ' + format;\n }\n filter = kendo.format(format, filter, value, field);\n }\n }\n result.push(filter);\n }\n filter = result.join(' ' + logic + ' ');\n if (result.length > 1) {\n filter = '(' + filter + ')';\n }\n return filter;\n }\n function stripMetadata(obj) {\n for (var name in obj) {\n if (name.indexOf('@odata') === 0) {\n delete obj[name];\n }\n }\n }\n function hex16() {\n return Math.floor((1 + Math.random()) * 65536).toString(16).substr(1);\n }\n function createBoundary(prefix) {\n return prefix + hex16() + '-' + hex16() + '-' + hex16();\n }\n function createDelimeter(boundary, close) {\n var result = NEWLINE + '--' + boundary;\n if (close) {\n result += '--';\n }\n return result;\n }\n function createCommand(transport, item, httpVerb, command) {\n var transportUrl = transport.options[command].url;\n var commandPrefix = kendo.format('{0} ', httpVerb);\n if (isFunction(transportUrl)) {\n return commandPrefix + transportUrl(item);\n } else {\n return commandPrefix + transportUrl;\n }\n }\n function getOperationHeader(changeset, changeId) {\n var header = '';\n header += createDelimeter(changeset, false);\n header += NEWLINE + 'Content-Type: application/http';\n header += NEWLINE + 'Content-Transfer-Encoding: binary';\n header += NEWLINE + 'Content-ID: ' + changeId;\n return header;\n }\n function getOperationContent(item) {\n var content = '';\n content += NEWLINE + 'Content-Type: application/json;odata=minimalmetadata';\n content += NEWLINE + 'Prefer: return=representation';\n content += DOUBLELINE + kendo.stringify(item);\n return content;\n }\n function getOperations(collection, changeset, changeId, command, transport, skipContent) {\n var requestBody = '';\n for (var i = 0; i < collection.length; i++) {\n requestBody += getOperationHeader(changeset, changeId);\n requestBody += DOUBLELINE + createCommand(transport, collection[i], transport.options[command].type, command) + ' HTTP/1.1';\n if (!skipContent) {\n requestBody += getOperationContent(collection[i]);\n }\n requestBody += NEWLINE;\n changeId++;\n }\n return requestBody;\n }\n function processCollection(colection, boundary, changeset, changeId, transport, command, skipContent) {\n var requestBody = '';\n requestBody += getBoundary(boundary, changeset);\n requestBody += getOperations(colection, changeset, changeId, command, transport, skipContent);\n requestBody += createDelimeter(changeset, true);\n requestBody += NEWLINE;\n return requestBody;\n }\n function getBoundary(boundary, changeset) {\n var requestBody = '';\n requestBody += '--' + boundary + NEWLINE;\n requestBody += 'Content-Type: multipart/mixed; boundary=' + changeset + NEWLINE;\n return requestBody;\n }\n function createBatchRequest(transport, colections) {\n var options = {};\n var boundary = createBoundary('sf_batch_');\n var requestBody = '';\n var changeId = 0;\n var batchURL = transport.options.batch.url;\n var changeset = createBoundary('sf_changeset_');\n options.type = transport.options.batch.type;\n options.url = isFunction(batchURL) ? batchURL() : batchURL;\n options.headers = { 'Content-Type': 'multipart/mixed; boundary=' + boundary };\n if (colections.updated.length) {\n requestBody += processCollection(colections.updated, boundary, changeset, changeId, transport, 'update', false);\n changeId += colections.updated.length;\n changeset = createBoundary('sf_changeset_');\n }\n if (colections.destroyed.length) {\n requestBody += processCollection(colections.destroyed, boundary, changeset, changeId, transport, 'destroy', true);\n changeId += colections.destroyed.length;\n changeset = createBoundary('sf_changeset_');\n }\n if (colections.created.length) {\n requestBody += processCollection(colections.created, boundary, changeset, changeId, transport, 'create', false);\n }\n requestBody += createDelimeter(boundary, true);\n options.data = requestBody;\n return options;\n }\n function parseBatchResponse(responseText) {\n var responseMarkers = responseText.match(/--changesetresponse_[a-z0-9-]+$/gm);\n var markerIndex = 0;\n var collections = [];\n var changeBody;\n var status;\n var code;\n var marker;\n var jsonModel;\n collections.push({\n models: [],\n passed: true\n });\n for (var i = 0; i < responseMarkers.length; i++) {\n marker = responseMarkers[i];\n if (marker.lastIndexOf('--', marker.length - 1)) {\n if (i < responseMarkers.length - 1) {\n collections.push({\n models: [],\n passed: true\n });\n }\n continue;\n }\n if (!markerIndex) {\n markerIndex = responseText.indexOf(marker);\n } else {\n markerIndex = responseText.indexOf(marker, markerIndex + marker.length);\n }\n changeBody = responseText.substring(markerIndex, responseText.indexOf('--', markerIndex + 1));\n status = changeBody.match(/^HTTP\\/1\\.\\d (\\d{3}) (.*)$/gm).pop();\n code = kendo.parseFloat(status.match(/\\d{3}/g).pop());\n if (code >= 200 && code <= 299) {\n jsonModel = changeBody.match(/\\{.*\\}/gm);\n if (jsonModel) {\n collections[collections.length - 1].models.push(JSON.parse(jsonModel[0]));\n }\n } else {\n collections[collections.length - 1].passed = false;\n }\n }\n return collections;\n }\n extend(true, kendo.data, {\n schemas: {\n odata: {\n type: 'json',\n data: function (data) {\n return data.d.results || [data.d];\n },\n total: 'd.__count'\n }\n },\n transports: {\n odata: {\n read: {\n cache: true,\n dataType: 'jsonp',\n jsonp: '$callback'\n },\n update: {\n cache: true,\n dataType: 'json',\n contentType: 'application/json',\n type: 'PUT'\n },\n create: {\n cache: true,\n dataType: 'json',\n contentType: 'application/json',\n type: 'POST'\n },\n destroy: {\n cache: true,\n dataType: 'json',\n type: 'DELETE'\n },\n parameterMap: function (options, type, useVersionFour) {\n var params, value, option, dataType;\n options = options || {};\n type = type || 'read';\n dataType = (this.options || defaultDataType)[type];\n dataType = dataType ? dataType.dataType : 'json';\n if (type === 'read') {\n params = { $inlinecount: 'allpages' };\n if (dataType != 'json') {\n params.$format = 'json';\n }\n for (option in options) {\n if (mappers[option]) {\n mappers[option](params, options[option], useVersionFour);\n } else {\n params[option] = options[option];\n }\n }\n } else {\n if (dataType !== 'json') {\n throw new Error('Only json dataType can be used for ' + type + ' operation.');\n }\n if (type !== 'destroy') {\n for (option in options) {\n value = options[option];\n if (typeof value === 'number') {\n options[option] = value + '';\n }\n }\n params = kendo.stringify(options);\n }\n }\n return params;\n }\n }\n }\n });\n extend(true, kendo.data, {\n schemas: {\n 'odata-v4': {\n type: 'json',\n data: function (data) {\n if ($.isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n stripMetadata(data[i]);\n }\n return data;\n } else {\n data = $.extend({}, data);\n stripMetadata(data);\n if (data.value) {\n return data.value;\n }\n return [data];\n }\n },\n total: function (data) {\n return data['@odata.count'];\n }\n }\n },\n transports: {\n 'odata-v4': {\n batch: { type: 'POST' },\n read: {\n cache: true,\n dataType: 'json'\n },\n update: {\n cache: true,\n dataType: 'json',\n contentType: 'application/json;IEEE754Compatible=true',\n type: 'PUT'\n },\n create: {\n cache: true,\n dataType: 'json',\n contentType: 'application/json;IEEE754Compatible=true',\n type: 'POST'\n },\n destroy: {\n cache: true,\n dataType: 'json',\n type: 'DELETE'\n },\n parameterMap: function (options, type) {\n var result = kendo.data.transports.odata.parameterMap(options, type, true);\n if (type == 'read') {\n result.$count = true;\n delete result.$inlinecount;\n }\n return result;\n },\n submit: function (e) {\n var that = this;\n var options = createBatchRequest(that, e.data);\n var collections = e.data;\n if (!collections.updated.length && !collections.destroyed.length && !collections.created.length) {\n return;\n }\n $.ajax(extend(true, {}, {\n success: function (response) {\n var responses = parseBatchResponse(response);\n var index = 0;\n var current;\n if (collections.updated.length) {\n current = responses[index];\n if (current.passed) {\n e.success(current.models.length ? current.models : [], 'update');\n }\n index++;\n }\n if (collections.destroyed.length) {\n current = responses[index];\n if (current.passed) {\n e.success([], 'destroy');\n }\n index++;\n }\n if (collections.created.length) {\n current = responses[index];\n if (current.passed) {\n e.success(current.models, 'create');\n }\n }\n },\n error: function (response, status, error) {\n e.error(response, status, error);\n }\n }, options));\n }\n }\n }\n });\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.data.xml', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'data.xml',\n name: 'XML',\n category: 'framework',\n depends: ['core'],\n hidden: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, isArray = $.isArray, isPlainObject = $.isPlainObject, map = $.map, each = $.each, extend = $.extend, getter = kendo.getter, Class = kendo.Class;\n var XmlDataReader = Class.extend({\n init: function (options) {\n var that = this, total = options.total, model = options.model, parse = options.parse, errors = options.errors, serialize = options.serialize, data = options.data;\n if (model) {\n if (isPlainObject(model)) {\n var base = options.modelBase || kendo.data.Model;\n if (model.fields) {\n each(model.fields, function (field, value) {\n if (isPlainObject(value) && value.field) {\n if (!$.isFunction(value.field)) {\n value = extend(value, { field: that.getter(value.field) });\n }\n } else {\n value = { field: that.getter(value) };\n }\n model.fields[field] = value;\n });\n }\n var id = model.id;\n if (id) {\n var idField = {};\n idField[that.xpathToMember(id, true)] = { field: that.getter(id) };\n model.fields = extend(idField, model.fields);\n model.id = that.xpathToMember(id);\n }\n model = base.define(model);\n }\n that.model = model;\n }\n if (total) {\n if (typeof total == 'string') {\n total = that.getter(total);\n that.total = function (data) {\n return parseInt(total(data), 10);\n };\n } else if (typeof total == 'function') {\n that.total = total;\n }\n }\n if (errors) {\n if (typeof errors == 'string') {\n errors = that.getter(errors);\n that.errors = function (data) {\n return errors(data) || null;\n };\n } else if (typeof errors == 'function') {\n that.errors = errors;\n }\n }\n if (data) {\n if (typeof data == 'string') {\n data = that.xpathToMember(data);\n that.data = function (value) {\n var result = that.evaluate(value, data), modelInstance;\n result = isArray(result) ? result : [result];\n if (that.model && model.fields) {\n modelInstance = new that.model();\n return map(result, function (value) {\n if (value) {\n var record = {}, field;\n for (field in model.fields) {\n record[field] = modelInstance._parse(field, model.fields[field].field(value));\n }\n return record;\n }\n });\n }\n return result;\n };\n } else if (typeof data == 'function') {\n that.data = data;\n }\n }\n if (typeof parse == 'function') {\n var xmlParse = that.parse;\n that.parse = function (data) {\n var xml = parse.call(that, data);\n return xmlParse.call(that, xml);\n };\n }\n if (typeof serialize == 'function') {\n that.serialize = serialize;\n }\n },\n total: function (result) {\n return this.data(result).length;\n },\n errors: function (data) {\n return data ? data.errors : null;\n },\n serialize: function (data) {\n return data;\n },\n parseDOM: function (element) {\n var result = {}, parsedNode, node, nodeType, nodeName, member, attribute, attributes = element.attributes, attributeCount = attributes.length, idx;\n for (idx = 0; idx < attributeCount; idx++) {\n attribute = attributes[idx];\n result['@' + attribute.nodeName] = attribute.nodeValue;\n }\n for (node = element.firstChild; node; node = node.nextSibling) {\n nodeType = node.nodeType;\n if (nodeType === 3 || nodeType === 4) {\n result['#text'] = node.nodeValue;\n } else if (nodeType === 1) {\n parsedNode = this.parseDOM(node);\n nodeName = node.nodeName;\n member = result[nodeName];\n if (isArray(member)) {\n member.push(parsedNode);\n } else if (member !== undefined) {\n member = [\n member,\n parsedNode\n ];\n } else {\n member = parsedNode;\n }\n result[nodeName] = member;\n }\n }\n return result;\n },\n evaluate: function (value, expression) {\n var members = expression.split('.'), member, result, length, intermediateResult, idx;\n while (member = members.shift()) {\n value = value[member];\n if (isArray(value)) {\n result = [];\n expression = members.join('.');\n for (idx = 0, length = value.length; idx < length; idx++) {\n intermediateResult = this.evaluate(value[idx], expression);\n intermediateResult = isArray(intermediateResult) ? intermediateResult : [intermediateResult];\n result.push.apply(result, intermediateResult);\n }\n return result;\n }\n }\n return value;\n },\n parse: function (xml) {\n var documentElement, tree, result = {};\n documentElement = xml.documentElement || $.parseXML(xml).documentElement;\n tree = this.parseDOM(documentElement);\n result[documentElement.nodeName] = tree;\n return result;\n },\n xpathToMember: function (member, raw) {\n if (!member) {\n return '';\n }\n member = member.replace(/^\\//, '').replace(/\\//g, '.');\n if (member.indexOf('@') >= 0) {\n return member.replace(/\\.?(@.*)/, raw ? '$1' : '[\"$1\"]');\n }\n if (member.indexOf('text()') >= 0) {\n return member.replace(/(\\.?text\\(\\))/, raw ? '#text' : '[\"#text\"]');\n }\n return member;\n },\n getter: function (member) {\n return getter(this.xpathToMember(member), true);\n }\n });\n $.extend(true, kendo.data, {\n XmlDataReader: XmlDataReader,\n readers: { xml: XmlDataReader }\n });\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.data', [\n 'kendo.core',\n 'kendo.data.odata',\n 'kendo.data.xml'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'data',\n name: 'Data source',\n category: 'framework',\n description: 'Powerful component for using local and remote data.Fully supports CRUD, Sorting, Paging, Filtering, Grouping, and Aggregates.',\n depends: ['core'],\n features: [\n {\n id: 'data-odata',\n name: 'OData',\n description: 'Support for accessing Open Data Protocol (OData) services.',\n depends: ['data.odata']\n },\n {\n id: 'data-signalr',\n name: 'SignalR',\n description: 'Support for binding to SignalR hubs.',\n depends: ['data.signalr']\n },\n {\n id: 'data-XML',\n name: 'XML',\n description: 'Support for binding to XML.',\n depends: ['data.xml']\n }\n ]\n };\n (function ($, undefined) {\n var extend = $.extend, proxy = $.proxy, isPlainObject = $.isPlainObject, isEmptyObject = $.isEmptyObject, isArray = $.isArray, grep = $.grep, ajax = $.ajax, map, each = $.each, noop = $.noop, kendo = window.kendo, isFunction = kendo.isFunction, Observable = kendo.Observable, Class = kendo.Class, STRING = 'string', FUNCTION = 'function', ASCENDING = 'asc', CREATE = 'create', READ = 'read', UPDATE = 'update', DESTROY = 'destroy', CHANGE = 'change', SYNC = 'sync', GET = 'get', ERROR = 'error', REQUESTSTART = 'requestStart', PROGRESS = 'progress', REQUESTEND = 'requestEnd', crud = [\n CREATE,\n READ,\n UPDATE,\n DESTROY\n ], identity = function (o) {\n return o;\n }, getter = kendo.getter, stringify = kendo.stringify, math = Math, push = [].push, join = [].join, pop = [].pop, splice = [].splice, shift = [].shift, slice = [].slice, unshift = [].unshift, toString = {}.toString, stableSort = kendo.support.stableSort, dateRegExp = /^\\/Date\\((.*?)\\)\\/$/;\n var ObservableArray = Observable.extend({\n init: function (array, type) {\n var that = this;\n that.type = type || ObservableObject;\n Observable.fn.init.call(that);\n that.length = array.length;\n that.wrapAll(array, that);\n },\n at: function (index) {\n return this[index];\n },\n toJSON: function (serializeFunctions) {\n var idx, length = this.length, value, json = new Array(length);\n for (idx = 0; idx < length; idx++) {\n value = this[idx];\n if (value instanceof ObservableObject) {\n value = value.toJSON(serializeFunctions);\n }\n json[idx] = value;\n }\n return json;\n },\n parent: noop,\n wrapAll: function (source, target) {\n var that = this, idx, length, parent = function () {\n return that;\n };\n target = target || [];\n for (idx = 0, length = source.length; idx < length; idx++) {\n target[idx] = that.wrap(source[idx], parent);\n }\n return target;\n },\n wrap: function (object, parent) {\n var that = this, observable;\n if (object !== null && toString.call(object) === '[object Object]') {\n observable = object instanceof that.type || object instanceof Model;\n if (!observable) {\n object = object instanceof ObservableObject ? object.toJSON() : object;\n object = new that.type(object);\n }\n object.parent = parent;\n object.bind(CHANGE, function (e) {\n that.trigger(CHANGE, {\n field: e.field,\n node: e.node,\n index: e.index,\n items: e.items || [this],\n action: e.node ? e.action || 'itemloaded' : 'itemchange'\n });\n });\n }\n return object;\n },\n push: function () {\n var index = this.length, items = this.wrapAll(arguments), result;\n result = push.apply(this, items);\n if (!this.omitChangeEvent) {\n this.trigger(CHANGE, {\n action: 'add',\n index: index,\n items: items\n });\n }\n return result;\n },\n slice: slice,\n sort: [].sort,\n join: join,\n pop: function () {\n var length = this.length, result = pop.apply(this);\n if (length) {\n this.trigger(CHANGE, {\n action: 'remove',\n index: length - 1,\n items: [result]\n });\n }\n return result;\n },\n splice: function (index, howMany, item) {\n var items = this.wrapAll(slice.call(arguments, 2)), result, i, len;\n result = splice.apply(this, [\n index,\n howMany\n ].concat(items));\n if (result.length) {\n this.trigger(CHANGE, {\n action: 'remove',\n index: index,\n items: result\n });\n for (i = 0, len = result.length; i < len; i++) {\n if (result[i] && result[i].children) {\n result[i].unbind(CHANGE);\n }\n }\n }\n if (item) {\n this.trigger(CHANGE, {\n action: 'add',\n index: index,\n items: items\n });\n }\n return result;\n },\n shift: function () {\n var length = this.length, result = shift.apply(this);\n if (length) {\n this.trigger(CHANGE, {\n action: 'remove',\n index: 0,\n items: [result]\n });\n }\n return result;\n },\n unshift: function () {\n var items = this.wrapAll(arguments), result;\n result = unshift.apply(this, items);\n this.trigger(CHANGE, {\n action: 'add',\n index: 0,\n items: items\n });\n return result;\n },\n indexOf: function (item) {\n var that = this, idx, length;\n for (idx = 0, length = that.length; idx < length; idx++) {\n if (that[idx] === item) {\n return idx;\n }\n }\n return -1;\n },\n forEach: function (callback, thisArg) {\n var idx = 0;\n var length = this.length;\n var context = thisArg || window;\n for (; idx < length; idx++) {\n callback.call(context, this[idx], idx, this);\n }\n },\n map: function (callback, thisArg) {\n var idx = 0;\n var result = [];\n var length = this.length;\n var context = thisArg || window;\n for (; idx < length; idx++) {\n result[idx] = callback.call(context, this[idx], idx, this);\n }\n return result;\n },\n reduce: function (callback) {\n var idx = 0, result, length = this.length;\n if (arguments.length == 2) {\n result = arguments[1];\n } else if (idx < length) {\n result = this[idx++];\n }\n for (; idx < length; idx++) {\n result = callback(result, this[idx], idx, this);\n }\n return result;\n },\n reduceRight: function (callback) {\n var idx = this.length - 1, result;\n if (arguments.length == 2) {\n result = arguments[1];\n } else if (idx > 0) {\n result = this[idx--];\n }\n for (; idx >= 0; idx--) {\n result = callback(result, this[idx], idx, this);\n }\n return result;\n },\n filter: function (callback, thisArg) {\n var idx = 0;\n var result = [];\n var item;\n var length = this.length;\n var context = thisArg || window;\n for (; idx < length; idx++) {\n item = this[idx];\n if (callback.call(context, item, idx, this)) {\n result[result.length] = item;\n }\n }\n return result;\n },\n find: function (callback, thisArg) {\n var idx = 0;\n var item;\n var length = this.length;\n var context = thisArg || window;\n for (; idx < length; idx++) {\n item = this[idx];\n if (callback.call(context, item, idx, this)) {\n return item;\n }\n }\n },\n every: function (callback, thisArg) {\n var idx = 0;\n var item;\n var length = this.length;\n var context = thisArg || window;\n for (; idx < length; idx++) {\n item = this[idx];\n if (!callback.call(context, item, idx, this)) {\n return false;\n }\n }\n return true;\n },\n some: function (callback, thisArg) {\n var idx = 0;\n var item;\n var length = this.length;\n var context = thisArg || window;\n for (; idx < length; idx++) {\n item = this[idx];\n if (callback.call(context, item, idx, this)) {\n return true;\n }\n }\n return false;\n },\n remove: function (item) {\n var idx = this.indexOf(item);\n if (idx !== -1) {\n this.splice(idx, 1);\n }\n },\n empty: function () {\n this.splice(0, this.length);\n }\n });\n if (typeof Symbol !== 'undefined' && Symbol.iterator && !ObservableArray.prototype[Symbol.iterator]) {\n ObservableArray.prototype[Symbol.iterator] = [][Symbol.iterator];\n }\n var LazyObservableArray = ObservableArray.extend({\n init: function (data, type, events) {\n Observable.fn.init.call(this);\n this.type = type || ObservableObject;\n if (events) {\n this._events = events;\n }\n for (var idx = 0; idx < data.length; idx++) {\n this[idx] = data[idx];\n }\n this.length = idx;\n this._parent = proxy(function () {\n return this;\n }, this);\n },\n at: function (index) {\n var item = this[index];\n if (!(item instanceof this.type)) {\n item = this[index] = this.wrap(item, this._parent);\n } else {\n item.parent = this._parent;\n }\n return item;\n }\n });\n function eventHandler(context, type, field, prefix) {\n return function (e) {\n var event = {}, key;\n for (key in e) {\n event[key] = e[key];\n }\n if (prefix) {\n event.field = field + '.' + e.field;\n } else {\n event.field = field;\n }\n if (type == CHANGE && context._notifyChange) {\n context._notifyChange(event);\n }\n context.trigger(type, event);\n };\n }\n var ObservableObject = Observable.extend({\n init: function (value) {\n var that = this, member, field, parent = function () {\n return that;\n };\n Observable.fn.init.call(this);\n this._handlers = {};\n for (field in value) {\n member = value[field];\n if (typeof member === 'object' && member && !member.getTime && field.charAt(0) != '_') {\n member = that.wrap(member, field, parent);\n }\n that[field] = member;\n }\n that.uid = kendo.guid();\n },\n shouldSerialize: function (field, serializeFunctions) {\n return this.hasOwnProperty(field) && field !== '_handlers' && field !== '_events' && (serializeFunctions && serializeFunctions[field] || typeof this[field] !== FUNCTION) && field !== 'uid';\n },\n forEach: function (f) {\n for (var i in this) {\n if (this.shouldSerialize(i)) {\n f(this[i], i);\n }\n }\n },\n toJSON: function (serializeFunctions) {\n var result = {}, value, field;\n for (field in this) {\n if (this.shouldSerialize(field, serializeFunctions)) {\n value = this[field];\n if (value instanceof ObservableObject || value instanceof ObservableArray) {\n value = value.toJSON(serializeFunctions);\n }\n result[field] = value;\n }\n }\n return result;\n },\n get: function (field) {\n var that = this, result;\n that.trigger(GET, { field: field });\n if (field === 'this') {\n result = that;\n } else {\n result = kendo.getter(field, true)(that);\n }\n return result;\n },\n _set: function (field, value) {\n var that = this;\n var composite = field.indexOf('.') >= 0;\n if (composite) {\n var paths = field.split('.'), path = '';\n while (paths.length > 1) {\n path += paths.shift();\n var obj = kendo.getter(path, true)(that);\n if (obj instanceof ObservableObject) {\n obj.set(paths.join('.'), value);\n return composite;\n }\n path += '.';\n }\n }\n kendo.setter(field)(that, value);\n return composite;\n },\n set: function (field, value) {\n var that = this, isSetPrevented = false, composite = field.indexOf('.') >= 0, current = kendo.getter(field, true)(that);\n if (current !== value) {\n if (current instanceof Observable && this._handlers[field]) {\n if (this._handlers[field].get) {\n current.unbind(GET, this._handlers[field].get);\n }\n current.unbind(CHANGE, this._handlers[field].change);\n }\n isSetPrevented = that.trigger('set', {\n field: field,\n value: value\n });\n if (!isSetPrevented) {\n if (!composite) {\n value = that.wrap(value, field, function () {\n return that;\n });\n }\n if (!that._set(field, value) || field.indexOf('(') >= 0 || field.indexOf('[') >= 0) {\n that.trigger(CHANGE, { field: field });\n }\n }\n }\n return isSetPrevented;\n },\n parent: noop,\n wrap: function (object, field, parent) {\n var that = this;\n var get;\n var change;\n var type = toString.call(object);\n if (object != null && (type === '[object Object]' || type === '[object Array]')) {\n var isObservableArray = object instanceof ObservableArray;\n var isDataSource = object instanceof DataSource;\n if (type === '[object Object]' && !isDataSource && !isObservableArray) {\n if (!(object instanceof ObservableObject)) {\n object = new ObservableObject(object);\n }\n get = eventHandler(that, GET, field, true);\n object.bind(GET, get);\n change = eventHandler(that, CHANGE, field, true);\n object.bind(CHANGE, change);\n that._handlers[field] = {\n get: get,\n change: change\n };\n } else if (type === '[object Array]' || isObservableArray || isDataSource) {\n if (!isObservableArray && !isDataSource) {\n object = new ObservableArray(object);\n }\n change = eventHandler(that, CHANGE, field, false);\n object.bind(CHANGE, change);\n that._handlers[field] = { change: change };\n }\n object.parent = parent;\n }\n return object;\n }\n });\n function equal(x, y) {\n if (x === y) {\n return true;\n }\n var xtype = $.type(x), ytype = $.type(y), field;\n if (xtype !== ytype) {\n return false;\n }\n if (xtype === 'date') {\n return x.getTime() === y.getTime();\n }\n if (xtype !== 'object' && xtype !== 'array') {\n return false;\n }\n for (field in x) {\n if (!equal(x[field], y[field])) {\n return false;\n }\n }\n return true;\n }\n var parsers = {\n 'number': function (value) {\n if (typeof value === STRING && value.toLowerCase() === 'null') {\n return null;\n }\n return kendo.parseFloat(value);\n },\n 'date': function (value) {\n if (typeof value === STRING && value.toLowerCase() === 'null') {\n return null;\n }\n return kendo.parseDate(value);\n },\n 'boolean': function (value) {\n if (typeof value === STRING) {\n if (value.toLowerCase() === 'null') {\n return null;\n } else {\n return value.toLowerCase() === 'true';\n }\n }\n return value != null ? !!value : value;\n },\n 'string': function (value) {\n if (typeof value === STRING && value.toLowerCase() === 'null') {\n return null;\n }\n return value != null ? value + '' : value;\n },\n 'default': function (value) {\n return value;\n }\n };\n var defaultValues = {\n 'string': '',\n 'number': 0,\n 'date': new Date(),\n 'boolean': false,\n 'default': ''\n };\n function getFieldByName(obj, name) {\n var field, fieldName;\n for (fieldName in obj) {\n field = obj[fieldName];\n if (isPlainObject(field) && field.field && field.field === name) {\n return field;\n } else if (field === name) {\n return field;\n }\n }\n return null;\n }\n var Model = ObservableObject.extend({\n init: function (data) {\n var that = this;\n if (!data || $.isEmptyObject(data)) {\n data = $.extend({}, that.defaults, data);\n if (that._initializers) {\n for (var idx = 0; idx < that._initializers.length; idx++) {\n var name = that._initializers[idx];\n data[name] = that.defaults[name]();\n }\n }\n }\n ObservableObject.fn.init.call(that, data);\n that.dirty = false;\n that.dirtyFields = {};\n if (that.idField) {\n that.id = that.get(that.idField);\n if (that.id === undefined) {\n that.id = that._defaultId;\n }\n }\n },\n shouldSerialize: function (field) {\n return ObservableObject.fn.shouldSerialize.call(this, field) && field !== 'uid' && !(this.idField !== 'id' && field === 'id') && field !== 'dirty' && field !== 'dirtyFields' && field !== '_accessors';\n },\n _parse: function (field, value) {\n var that = this, fieldName = field, fields = that.fields || {}, parse;\n field = fields[field];\n if (!field) {\n field = getFieldByName(fields, fieldName);\n }\n if (field) {\n parse = field.parse;\n if (!parse && field.type) {\n parse = parsers[field.type.toLowerCase()];\n }\n }\n return parse ? parse(value) : value;\n },\n _notifyChange: function (e) {\n var action = e.action;\n if (action == 'add' || action == 'remove') {\n this.dirty = true;\n this.dirtyFields[e.field] = true;\n }\n },\n editable: function (field) {\n field = (this.fields || {})[field];\n return field ? field.editable !== false : true;\n },\n set: function (field, value) {\n var that = this;\n var dirty = that.dirty;\n if (that.editable(field)) {\n value = that._parse(field, value);\n if (!equal(value, that.get(field))) {\n that.dirty = true;\n that.dirtyFields[field] = true;\n if (ObservableObject.fn.set.call(that, field, value) && !dirty) {\n that.dirty = dirty;\n if (!that.dirty) {\n that.dirtyFields[field] = false;\n }\n }\n } else {\n that.trigger('equalSet', {\n field: field,\n value: value\n });\n }\n }\n },\n accept: function (data) {\n var that = this, parent = function () {\n return that;\n }, field;\n for (field in data) {\n var value = data[field];\n if (field.charAt(0) != '_') {\n value = that.wrap(data[field], field, parent);\n }\n that._set(field, value);\n }\n if (that.idField) {\n that.id = that.get(that.idField);\n }\n that.dirty = false;\n that.dirtyFields = {};\n },\n isNew: function () {\n return this.id === this._defaultId;\n }\n });\n Model.define = function (base, options) {\n if (options === undefined) {\n options = base;\n base = Model;\n }\n var model, proto = extend({ defaults: {} }, options), name, field, type, value, idx, length, fields = {}, originalName, id = proto.id, functionFields = [];\n if (id) {\n proto.idField = id;\n }\n if (proto.id) {\n delete proto.id;\n }\n if (id) {\n proto.defaults[id] = proto._defaultId = '';\n }\n if (toString.call(proto.fields) === '[object Array]') {\n for (idx = 0, length = proto.fields.length; idx < length; idx++) {\n field = proto.fields[idx];\n if (typeof field === STRING) {\n fields[field] = {};\n } else if (field.field) {\n fields[field.field] = field;\n }\n }\n proto.fields = fields;\n }\n for (name in proto.fields) {\n field = proto.fields[name];\n type = field.type || 'default';\n value = null;\n originalName = name;\n name = typeof field.field === STRING ? field.field : name;\n if (!field.nullable) {\n value = proto.defaults[originalName !== name ? originalName : name] = field.defaultValue !== undefined ? field.defaultValue : defaultValues[type.toLowerCase()];\n if (typeof value === 'function') {\n functionFields.push(name);\n }\n }\n if (options.id === name) {\n proto._defaultId = value;\n }\n proto.defaults[originalName !== name ? originalName : name] = value;\n field.parse = field.parse || parsers[type];\n }\n if (functionFields.length > 0) {\n proto._initializers = functionFields;\n }\n model = base.extend(proto);\n model.define = function (options) {\n return Model.define(model, options);\n };\n if (proto.fields) {\n model.fields = proto.fields;\n model.idField = proto.idField;\n }\n return model;\n };\n var Comparer = {\n selector: function (field) {\n return isFunction(field) ? field : getter(field);\n },\n compare: function (field) {\n var selector = this.selector(field);\n return function (a, b) {\n a = selector(a);\n b = selector(b);\n if (a == null && b == null) {\n return 0;\n }\n if (a == null) {\n return -1;\n }\n if (b == null) {\n return 1;\n }\n if (a.localeCompare) {\n return a.localeCompare(b);\n }\n return a > b ? 1 : a < b ? -1 : 0;\n };\n },\n create: function (sort) {\n var compare = sort.compare || this.compare(sort.field);\n if (sort.dir == 'desc') {\n return function (a, b) {\n return compare(b, a, true);\n };\n }\n return compare;\n },\n combine: function (comparers) {\n return function (a, b) {\n var result = comparers[0](a, b), idx, length;\n for (idx = 1, length = comparers.length; idx < length; idx++) {\n result = result || comparers[idx](a, b);\n }\n return result;\n };\n }\n };\n var StableComparer = extend({}, Comparer, {\n asc: function (field) {\n var selector = this.selector(field);\n return function (a, b) {\n var valueA = selector(a);\n var valueB = selector(b);\n if (valueA && valueA.getTime && valueB && valueB.getTime) {\n valueA = valueA.getTime();\n valueB = valueB.getTime();\n }\n if (valueA === valueB) {\n return a.__position - b.__position;\n }\n if (valueA == null) {\n return -1;\n }\n if (valueB == null) {\n return 1;\n }\n if (valueA.localeCompare) {\n return valueA.localeCompare(valueB);\n }\n return valueA > valueB ? 1 : -1;\n };\n },\n desc: function (field) {\n var selector = this.selector(field);\n return function (a, b) {\n var valueA = selector(a);\n var valueB = selector(b);\n if (valueA && valueA.getTime && valueB && valueB.getTime) {\n valueA = valueA.getTime();\n valueB = valueB.getTime();\n }\n if (valueA === valueB) {\n return a.__position - b.__position;\n }\n if (valueA == null) {\n return 1;\n }\n if (valueB == null) {\n return -1;\n }\n if (valueB.localeCompare) {\n return valueB.localeCompare(valueA);\n }\n return valueA < valueB ? 1 : -1;\n };\n },\n create: function (sort) {\n return this[sort.dir](sort.field);\n }\n });\n map = function (array, callback) {\n var idx, length = array.length, result = new Array(length);\n for (idx = 0; idx < length; idx++) {\n result[idx] = callback(array[idx], idx, array);\n }\n return result;\n };\n var operators = function () {\n function quote(str) {\n if (typeof str == 'string') {\n str = str.replace(/[\\r\\n]+/g, '');\n }\n return JSON.stringify(str);\n }\n function textOp(impl) {\n return function (a, b, ignore, accentFoldingFiltering) {\n b += '';\n if (ignore) {\n a = '(' + a + ' + \\'\\').toString()' + (accentFoldingFiltering ? '.toLocaleLowerCase(\\'' + accentFoldingFiltering + '\\')' : '.toLowerCase()');\n b = accentFoldingFiltering ? b.toLocaleLowerCase(accentFoldingFiltering) : b.toLowerCase();\n }\n return impl(a, quote(b), ignore);\n };\n }\n function operator(op, a, b, ignore, accentFoldingFiltering) {\n if (b != null) {\n if (typeof b === STRING) {\n var date = dateRegExp.exec(b);\n if (date) {\n b = new Date(+date[1]);\n } else if (ignore) {\n b = quote(accentFoldingFiltering ? b.toLocaleLowerCase(accentFoldingFiltering) : b.toLowerCase());\n a = '((' + a + ' || \\'\\')+\\'\\')' + (accentFoldingFiltering ? '.toLocaleLowerCase(\\'' + accentFoldingFiltering + '\\')' : '.toLowerCase()');\n } else {\n b = quote(b);\n }\n }\n if (b.getTime) {\n a = '(' + a + '&&' + a + '.getTime?' + a + '.getTime():' + a + ')';\n b = b.getTime();\n }\n }\n return a + ' ' + op + ' ' + b;\n }\n function getMatchRegexp(pattern) {\n for (var rx = '/^', esc = false, i = 0; i < pattern.length; ++i) {\n var ch = pattern.charAt(i);\n if (esc) {\n rx += '\\\\' + ch;\n } else if (ch == '~') {\n esc = true;\n continue;\n } else if (ch == '*') {\n rx += '.*';\n } else if (ch == '?') {\n rx += '.';\n } else if ('.+^$()[]{}|\\\\/\\n\\r\\u2028\\u2029\\xA0'.indexOf(ch) >= 0) {\n rx += '\\\\' + ch;\n } else {\n rx += ch;\n }\n esc = false;\n }\n return rx + '$/';\n }\n return {\n quote: function (value) {\n if (value && value.getTime) {\n return 'new Date(' + value.getTime() + ')';\n }\n return quote(value);\n },\n eq: function (a, b, ignore, accentFoldingFiltering) {\n return operator('==', a, b, ignore, accentFoldingFiltering);\n },\n neq: function (a, b, ignore, accentFoldingFiltering) {\n return operator('!=', a, b, ignore, accentFoldingFiltering);\n },\n gt: function (a, b, ignore) {\n return operator('>', a, b, ignore);\n },\n gte: function (a, b, ignore) {\n return operator('>=', a, b, ignore);\n },\n lt: function (a, b, ignore) {\n return operator('<', a, b, ignore);\n },\n lte: function (a, b, ignore) {\n return operator('<=', a, b, ignore);\n },\n startswith: textOp(function (a, b) {\n return a + '.lastIndexOf(' + b + ', 0) == 0';\n }),\n doesnotstartwith: textOp(function (a, b) {\n return a + '.lastIndexOf(' + b + ', 0) == -1';\n }),\n endswith: textOp(function (a, b) {\n var n = b ? b.length - 2 : 0;\n return a + '.indexOf(' + b + ', ' + a + '.length - ' + n + ') >= 0';\n }),\n doesnotendwith: textOp(function (a, b) {\n var n = b ? b.length - 2 : 0;\n return a + '.indexOf(' + b + ', ' + a + '.length - ' + n + ') < 0';\n }),\n contains: textOp(function (a, b) {\n return a + '.indexOf(' + b + ') >= 0';\n }),\n doesnotcontain: textOp(function (a, b) {\n return a + '.indexOf(' + b + ') == -1';\n }),\n matches: textOp(function (a, b) {\n b = b.substring(1, b.length - 1);\n return getMatchRegexp(b) + '.test(' + a + ')';\n }),\n doesnotmatch: textOp(function (a, b) {\n b = b.substring(1, b.length - 1);\n return '!' + getMatchRegexp(b) + '.test(' + a + ')';\n }),\n isempty: function (a) {\n return a + ' === \\'\\'';\n },\n isnotempty: function (a) {\n return a + ' !== \\'\\'';\n },\n isnull: function (a) {\n return '(' + a + ' == null)';\n },\n isnotnull: function (a) {\n return '(' + a + ' != null)';\n },\n isnullorempty: function (a) {\n return '(' + a + ' === null) || (' + a + ' === \\'\\')';\n },\n isnotnullorempty: function (a) {\n return '(' + a + ' !== null) && (' + a + ' !== \\'\\')';\n }\n };\n }();\n function Query(data) {\n this.data = data || [];\n }\n Query.filterExpr = function (expression) {\n var expressions = [], logic = {\n and: ' && ',\n or: ' || '\n }, idx, length, filter, expr, fieldFunctions = [], operatorFunctions = [], field, operator, filters = expression.filters;\n for (idx = 0, length = filters.length; idx < length; idx++) {\n filter = filters[idx];\n field = filter.field;\n operator = filter.operator;\n if (filter.filters) {\n expr = Query.filterExpr(filter);\n filter = expr.expression.replace(/__o\\[(\\d+)\\]/g, function (match, index) {\n index = +index;\n return '__o[' + (operatorFunctions.length + index) + ']';\n }).replace(/__f\\[(\\d+)\\]/g, function (match, index) {\n index = +index;\n return '__f[' + (fieldFunctions.length + index) + ']';\n });\n operatorFunctions.push.apply(operatorFunctions, expr.operators);\n fieldFunctions.push.apply(fieldFunctions, expr.fields);\n } else {\n if (typeof field === FUNCTION) {\n expr = '__f[' + fieldFunctions.length + '](d)';\n fieldFunctions.push(field);\n } else {\n expr = kendo.expr(field);\n }\n if (typeof operator === FUNCTION) {\n filter = '__o[' + operatorFunctions.length + '](' + expr + ', ' + operators.quote(filter.value) + ')';\n operatorFunctions.push(operator);\n } else {\n filter = operators[(operator || 'eq').toLowerCase()](expr, filter.value, filter.ignoreCase !== undefined ? filter.ignoreCase : true, expression.accentFoldingFiltering);\n }\n }\n expressions.push(filter);\n }\n return {\n expression: '(' + expressions.join(logic[expression.logic]) + ')',\n fields: fieldFunctions,\n operators: operatorFunctions\n };\n };\n function normalizeSort(field, dir) {\n if (field) {\n var descriptor = typeof field === STRING ? {\n field: field,\n dir: dir\n } : field, descriptors = isArray(descriptor) ? descriptor : descriptor !== undefined ? [descriptor] : [];\n return grep(descriptors, function (d) {\n return !!d.dir;\n });\n }\n }\n function sortFields(sorts, dir) {\n var sortObject = {};\n if (sorts) {\n var descriptor = typeof sorts === STRING ? {\n field: sorts,\n dir: dir\n } : sorts, descriptors = isArray(descriptor) ? descriptor : descriptor !== undefined ? [descriptor] : [];\n for (var i = 0; i < descriptors.length; i++) {\n sortObject[descriptors[i].field] = {\n dir: descriptors[i].dir,\n index: i + 1\n };\n }\n }\n return sortObject;\n }\n var operatorMap = {\n '==': 'eq',\n equals: 'eq',\n isequalto: 'eq',\n equalto: 'eq',\n equal: 'eq',\n '!=': 'neq',\n ne: 'neq',\n notequals: 'neq',\n isnotequalto: 'neq',\n notequalto: 'neq',\n notequal: 'neq',\n '<': 'lt',\n islessthan: 'lt',\n lessthan: 'lt',\n less: 'lt',\n '<=': 'lte',\n le: 'lte',\n islessthanorequalto: 'lte',\n lessthanequal: 'lte',\n '>': 'gt',\n isgreaterthan: 'gt',\n greaterthan: 'gt',\n greater: 'gt',\n '>=': 'gte',\n isgreaterthanorequalto: 'gte',\n greaterthanequal: 'gte',\n ge: 'gte',\n notsubstringof: 'doesnotcontain',\n isnull: 'isnull',\n isempty: 'isempty',\n isnotempty: 'isnotempty'\n };\n function normalizeOperator(expression) {\n var idx, length, filter, operator, filters = expression.filters;\n if (filters) {\n for (idx = 0, length = filters.length; idx < length; idx++) {\n filter = filters[idx];\n operator = filter.operator;\n if (operator && typeof operator === STRING) {\n filter.operator = operatorMap[operator.toLowerCase()] || operator;\n }\n normalizeOperator(filter);\n }\n }\n }\n function normalizeFilter(expression) {\n if (expression && !isEmptyObject(expression)) {\n if (isArray(expression) || !expression.filters) {\n expression = {\n logic: 'and',\n filters: isArray(expression) ? expression : [expression]\n };\n }\n normalizeOperator(expression);\n return expression;\n }\n }\n Query.normalizeFilter = normalizeFilter;\n function compareDescriptor(f1, f2) {\n if (f1.logic || f2.logic) {\n return false;\n }\n return f1.field === f2.field && f1.value === f2.value && f1.operator === f2.operator;\n }\n function normalizeDescriptor(filter) {\n filter = filter || {};\n if (isEmptyObject(filter)) {\n return {\n logic: 'and',\n filters: []\n };\n }\n return normalizeFilter(filter);\n }\n function fieldComparer(a, b) {\n if (b.logic || a.field > b.field) {\n return 1;\n } else if (a.field < b.field) {\n return -1;\n } else {\n return 0;\n }\n }\n function compareFilters(expr1, expr2) {\n expr1 = normalizeDescriptor(expr1);\n expr2 = normalizeDescriptor(expr2);\n if (expr1.logic !== expr2.logic) {\n return false;\n }\n var f1, f2;\n var filters1 = (expr1.filters || []).slice();\n var filters2 = (expr2.filters || []).slice();\n if (filters1.length !== filters2.length) {\n return false;\n }\n filters1 = filters1.sort(fieldComparer);\n filters2 = filters2.sort(fieldComparer);\n for (var idx = 0; idx < filters1.length; idx++) {\n f1 = filters1[idx];\n f2 = filters2[idx];\n if (f1.logic && f2.logic) {\n if (!compareFilters(f1, f2)) {\n return false;\n }\n } else if (!compareDescriptor(f1, f2)) {\n return false;\n }\n }\n return true;\n }\n Query.compareFilters = compareFilters;\n function normalizeAggregate(expressions) {\n return isArray(expressions) ? expressions : [expressions];\n }\n function normalizeGroup(field, dir, compare, skipItemSorting) {\n var descriptor = typeof field === STRING ? {\n field: field,\n dir: dir,\n compare: compare,\n skipItemSorting: skipItemSorting\n } : field, descriptors = isArray(descriptor) ? descriptor : descriptor !== undefined ? [descriptor] : [];\n return map(descriptors, function (d) {\n return {\n field: d.field,\n dir: d.dir || 'asc',\n aggregates: d.aggregates,\n compare: d.compare,\n skipItemSorting: d.skipItemSorting\n };\n });\n }\n function normalizeGroupWithoutCompare(field, dir, compare) {\n var descriptors = normalizeGroup(field, dir, compare);\n for (var i = 0; i < descriptors.length; i++) {\n delete descriptors[i].compare;\n }\n return descriptors;\n }\n function anyGroupDescriptorHasCompare(groupDescriptors) {\n var descriptors = isArray(groupDescriptors) ? groupDescriptors : [groupDescriptors];\n for (var i = 0; i < descriptors.length; i++) {\n if (descriptors[i] && isFunction(descriptors[i].compare)) {\n return true;\n }\n }\n return false;\n }\n Query.prototype = {\n toArray: function () {\n return this.data;\n },\n range: function (index, count) {\n return new Query(this.data.slice(index, index + count));\n },\n skip: function (count) {\n return new Query(this.data.slice(count));\n },\n take: function (count) {\n return new Query(this.data.slice(0, count));\n },\n select: function (selector) {\n return new Query(map(this.data, selector));\n },\n order: function (selector, dir, inPlace) {\n var sort = { dir: dir };\n if (selector) {\n if (selector.compare) {\n sort.compare = selector.compare;\n } else {\n sort.field = selector;\n }\n }\n if (inPlace) {\n return new Query(this.data.sort(Comparer.create(sort)));\n }\n return new Query(this.data.slice(0).sort(Comparer.create(sort)));\n },\n orderBy: function (selector, inPlace) {\n return this.order(selector, 'asc', inPlace);\n },\n orderByDescending: function (selector, inPlace) {\n return this.order(selector, 'desc', inPlace);\n },\n sort: function (field, dir, comparer, inPlace) {\n var idx, length, descriptors = normalizeSort(field, dir), comparers = [];\n comparer = comparer || Comparer;\n if (descriptors.length) {\n for (idx = 0, length = descriptors.length; idx < length; idx++) {\n comparers.push(comparer.create(descriptors[idx]));\n }\n return this.orderBy({ compare: comparer.combine(comparers) }, inPlace);\n }\n return this;\n },\n filter: function (expressions) {\n var idx, current, length, compiled, predicate, data = this.data, fields, operators, result = [], filter;\n expressions = normalizeFilter(expressions);\n if (!expressions || expressions.filters.length === 0) {\n return this;\n }\n compiled = Query.filterExpr(expressions);\n fields = compiled.fields;\n operators = compiled.operators;\n predicate = filter = new Function('d, __f, __o', 'return ' + compiled.expression);\n if (fields.length || operators.length) {\n filter = function (d) {\n return predicate(d, fields, operators);\n };\n }\n for (idx = 0, length = data.length; idx < length; idx++) {\n current = data[idx];\n if (filter(current)) {\n result.push(current);\n }\n }\n return new Query(result);\n },\n group: function (descriptors, allData, options) {\n descriptors = normalizeGroup(descriptors || []);\n allData = allData || this.data;\n var that = this, result = new Query(that.data), descriptor;\n if (descriptors.length > 0) {\n descriptor = descriptors[0];\n if (options && options.groupPaging) {\n result = new Query(allData).groupAllData(descriptor, allData).select(function (group) {\n var data = new Query(allData).filter([{\n field: group.field,\n operator: 'eq',\n value: group.value,\n ignoreCase: false\n }]);\n var items = descriptors.length > 1 ? new Query(group.items).group(descriptors.slice(1), data.toArray(), options).toArray() : group.items;\n return {\n field: group.field,\n value: group.value,\n hasSubgroups: descriptors.length > 1,\n items: items,\n aggregates: data.aggregate(descriptor.aggregates),\n uid: kendo.guid(),\n itemCount: items.length,\n subgroupCount: items.length\n };\n });\n } else {\n result = result.groupBy(descriptor).select(function (group) {\n var data = new Query(allData).filter([{\n field: group.field,\n operator: 'eq',\n value: group.value,\n ignoreCase: false\n }]);\n return {\n field: group.field,\n value: group.value,\n items: descriptors.length > 1 ? new Query(group.items).group(descriptors.slice(1), data.toArray()).toArray() : group.items,\n hasSubgroups: descriptors.length > 1,\n aggregates: data.aggregate(descriptor.aggregates)\n };\n });\n }\n }\n return result;\n },\n groupBy: function (descriptor) {\n var that = this;\n if (isEmptyObject(descriptor) || !this.data.length) {\n return new Query([]);\n }\n var field = descriptor.field, sorted = descriptor.skipItemSorting ? this.data : this._sortForGrouping(field, descriptor.dir || 'asc'), accessor = kendo.accessor(field), item, groupValue = accessor.get(sorted[0], field), group = {\n field: field,\n value: groupValue,\n items: []\n }, currentValue, idx, len, result = [group];\n for (idx = 0, len = sorted.length; idx < len; idx++) {\n item = sorted[idx];\n currentValue = accessor.get(item, field);\n if (!groupValueComparer(groupValue, currentValue)) {\n groupValue = currentValue;\n group = {\n field: field,\n value: groupValue,\n items: []\n };\n result.push(group);\n }\n group.items.push(item);\n }\n result = that._sortGroups(result, descriptor);\n return new Query(result);\n },\n groupAllData: function (descriptor, allData) {\n if (isEmptyObject(descriptor) || this.data && !this.data.length) {\n return new Query([]);\n }\n var field = descriptor.field, sorted = descriptor.skipItemSorting ? allData : new Query(allData).sort(field, descriptor.dir || 'asc', StableComparer).toArray(), accessor = kendo.accessor(field), item, groupValue = accessor.get(sorted[0], field), group = {\n field: field,\n value: groupValue,\n items: []\n }, currentValue, idx, len, result = [group];\n for (idx = 0, len = sorted.length; idx < len; idx++) {\n item = sorted[idx];\n currentValue = accessor.get(item, field);\n if (!groupValueComparer(groupValue, currentValue)) {\n groupValue = currentValue;\n group = {\n field: field,\n value: groupValue,\n items: []\n };\n result.push(group);\n }\n group.items.push(item);\n }\n result = this._sortGroups(result, descriptor);\n return new Query(result);\n },\n _sortForGrouping: function (field, dir) {\n var idx, length, data = this.data;\n if (!stableSort) {\n for (idx = 0, length = data.length; idx < length; idx++) {\n data[idx].__position = idx;\n }\n data = new Query(data).sort(field, dir, StableComparer).toArray();\n for (idx = 0, length = data.length; idx < length; idx++) {\n delete data[idx].__position;\n }\n return data;\n }\n return this.sort(field, dir).toArray();\n },\n _sortGroups: function (groups, descriptor) {\n var result = groups;\n if (descriptor && isFunction(descriptor.compare)) {\n result = new Query(result).order({ compare: descriptor.compare }, descriptor.dir || ASCENDING).toArray();\n }\n return result;\n },\n aggregate: function (aggregates) {\n var idx, len, result = {}, state = {};\n if (aggregates && aggregates.length) {\n for (idx = 0, len = this.data.length; idx < len; idx++) {\n calculateAggregate(result, aggregates, this.data[idx], idx, len, state);\n }\n }\n return result;\n }\n };\n function groupValueComparer(a, b) {\n if (a && a.getTime && b && b.getTime) {\n return a.getTime() === b.getTime();\n }\n return a === b;\n }\n function calculateAggregate(accumulator, aggregates, item, index, length, state) {\n aggregates = aggregates || [];\n var idx, aggr, functionName, len = aggregates.length;\n for (idx = 0; idx < len; idx++) {\n aggr = aggregates[idx];\n functionName = aggr.aggregate;\n var field = aggr.field;\n accumulator[field] = accumulator[field] || {};\n state[field] = state[field] || {};\n state[field][functionName] = state[field][functionName] || {};\n accumulator[field][functionName] = functions[functionName.toLowerCase()](accumulator[field][functionName], item, kendo.accessor(field), index, length, state[field][functionName]);\n }\n }\n var functions = {\n sum: function (accumulator, item, accessor) {\n var value = accessor.get(item);\n if (!isNumber(accumulator)) {\n accumulator = value;\n } else if (isNumber(value)) {\n accumulator += value;\n }\n return accumulator;\n },\n count: function (accumulator) {\n return (accumulator || 0) + 1;\n },\n average: function (accumulator, item, accessor, index, length, state) {\n var value = accessor.get(item);\n if (state.count === undefined) {\n state.count = 0;\n }\n if (!isNumber(accumulator)) {\n accumulator = value;\n } else if (isNumber(value)) {\n accumulator += value;\n }\n if (isNumber(value)) {\n state.count++;\n }\n if (index == length - 1 && isNumber(accumulator)) {\n accumulator = accumulator / state.count;\n }\n return accumulator;\n },\n max: function (accumulator, item, accessor) {\n var value = accessor.get(item);\n if (!isNumber(accumulator) && !isDate(accumulator)) {\n accumulator = value;\n }\n if (accumulator < value && (isNumber(value) || isDate(value))) {\n accumulator = value;\n }\n return accumulator;\n },\n min: function (accumulator, item, accessor) {\n var value = accessor.get(item);\n if (!isNumber(accumulator) && !isDate(accumulator)) {\n accumulator = value;\n }\n if (accumulator > value && (isNumber(value) || isDate(value))) {\n accumulator = value;\n }\n return accumulator;\n }\n };\n function isNumber(val) {\n return typeof val === 'number' && !isNaN(val);\n }\n function isDate(val) {\n return val && val.getTime;\n }\n function toJSON(array) {\n var idx, length = array.length, result = new Array(length);\n for (idx = 0; idx < length; idx++) {\n result[idx] = array[idx].toJSON();\n }\n return result;\n }\n Query.normalizeGroup = normalizeGroup;\n Query.normalizeSort = normalizeSort;\n Query.process = function (data, options, inPlace) {\n options = options || {};\n var group = options.group;\n var customGroupSort = anyGroupDescriptorHasCompare(normalizeGroup(group || []));\n var query = new Query(data), groupDescriptorsWithoutCompare = normalizeGroupWithoutCompare(group || []), normalizedSort = normalizeSort(options.sort || []), sort = customGroupSort ? normalizedSort : groupDescriptorsWithoutCompare.concat(normalizedSort), groupDescriptorsWithoutSort, total, filterCallback = options.filterCallback, filter = options.filter, skip = options.skip, take = options.take;\n if (sort && inPlace) {\n query = query.sort(sort, undefined, undefined, inPlace);\n }\n if (filter) {\n query = query.filter(filter);\n if (filterCallback) {\n query = filterCallback(query);\n }\n total = query.toArray().length;\n }\n if (sort) {\n if (!inPlace) {\n query = query.sort(sort);\n }\n if (group) {\n data = query.toArray();\n }\n }\n if (customGroupSort) {\n query = query.group(group, data);\n if (skip !== undefined && take !== undefined) {\n query = new Query(flatGroups(query.toArray())).range(skip, take);\n groupDescriptorsWithoutSort = map(groupDescriptorsWithoutCompare, function (groupDescriptor) {\n return extend({}, groupDescriptor, { skipItemSorting: true });\n });\n query = query.group(groupDescriptorsWithoutSort, data);\n }\n } else {\n if (skip !== undefined && take !== undefined) {\n query = query.range(skip, take);\n }\n if (group) {\n query = query.group(group, data, options);\n }\n }\n return {\n total: total,\n data: query.toArray()\n };\n };\n var LocalTransport = Class.extend({\n init: function (options) {\n this.data = options.data;\n },\n read: function (options) {\n options.success(this.data);\n },\n update: function (options) {\n options.success(options.data);\n },\n create: function (options) {\n options.success(options.data);\n },\n destroy: function (options) {\n options.success(options.data);\n }\n });\n var RemoteTransport = Class.extend({\n init: function (options) {\n var that = this, parameterMap;\n options = that.options = extend({}, that.options, options);\n each(crud, function (index, type) {\n if (typeof options[type] === STRING) {\n options[type] = { url: options[type] };\n }\n });\n that.cache = options.cache ? Cache.create(options.cache) : {\n find: noop,\n add: noop\n };\n parameterMap = options.parameterMap;\n if (options.submit) {\n that.submit = options.submit;\n }\n if (isFunction(options.push)) {\n that.push = options.push;\n }\n if (!that.push) {\n that.push = identity;\n }\n that.parameterMap = isFunction(parameterMap) ? parameterMap : function (options) {\n var result = {};\n each(options, function (option, value) {\n if (option in parameterMap) {\n option = parameterMap[option];\n if (isPlainObject(option)) {\n value = option.value(value);\n option = option.key;\n }\n }\n result[option] = value;\n });\n return result;\n };\n },\n options: { parameterMap: identity },\n create: function (options) {\n return ajax(this.setup(options, CREATE));\n },\n read: function (options) {\n var that = this, success, error, result, cache = that.cache;\n options = that.setup(options, READ);\n success = options.success || noop;\n error = options.error || noop;\n result = cache.find(options.data);\n if (result !== undefined) {\n success(result);\n } else {\n options.success = function (result) {\n cache.add(options.data, result);\n success(result);\n };\n $.ajax(options);\n }\n },\n update: function (options) {\n return ajax(this.setup(options, UPDATE));\n },\n destroy: function (options) {\n return ajax(this.setup(options, DESTROY));\n },\n setup: function (options, type) {\n options = options || {};\n var that = this, parameters, operation = that.options[type], data = isFunction(operation.data) ? operation.data(options.data) : operation.data;\n options = extend(true, {}, operation, options);\n parameters = extend(true, {}, data, options.data);\n options.data = that.parameterMap(parameters, type);\n if (isFunction(options.url)) {\n options.url = options.url(parameters);\n }\n return options;\n }\n });\n var Cache = Class.extend({\n init: function () {\n this._store = {};\n },\n add: function (key, data) {\n if (key !== undefined) {\n this._store[stringify(key)] = data;\n }\n },\n find: function (key) {\n return this._store[stringify(key)];\n },\n clear: function () {\n this._store = {};\n },\n remove: function (key) {\n delete this._store[stringify(key)];\n }\n });\n Cache.create = function (options) {\n var store = {\n 'inmemory': function () {\n return new Cache();\n }\n };\n if (isPlainObject(options) && isFunction(options.find)) {\n return options;\n }\n if (options === true) {\n return new Cache();\n }\n return store[options]();\n };\n function serializeRecords(data, getters, modelInstance, originalFieldNames, fieldNames) {\n var record, getter, originalName, idx, setters = {}, length;\n for (idx = 0, length = data.length; idx < length; idx++) {\n record = data[idx];\n for (getter in getters) {\n originalName = fieldNames[getter];\n if (originalName && originalName !== getter) {\n if (!setters[originalName]) {\n setters[originalName] = kendo.setter(originalName);\n }\n setters[originalName](record, getters[getter](record));\n delete record[getter];\n }\n }\n }\n }\n function convertRecords(data, getters, modelInstance, originalFieldNames, fieldNames) {\n var record, getter, originalName, idx, length;\n for (idx = 0, length = data.length; idx < length; idx++) {\n record = data[idx];\n for (getter in getters) {\n record[getter] = modelInstance._parse(getter, getters[getter](record));\n originalName = fieldNames[getter];\n if (originalName && originalName !== getter) {\n delete record[originalName];\n }\n }\n }\n }\n function convertGroup(data, getters, modelInstance, originalFieldNames, fieldNames) {\n var record, idx, fieldName, length;\n for (idx = 0, length = data.length; idx < length; idx++) {\n record = data[idx];\n fieldName = originalFieldNames[record.field];\n if (fieldName && fieldName != record.field) {\n record.field = fieldName;\n }\n record.value = modelInstance._parse(record.field, record.value);\n if (record.items) {\n if (record.hasSubgroups) {\n convertGroup(record.items, getters, modelInstance, originalFieldNames, fieldNames);\n } else {\n convertRecords(record.items, getters, modelInstance, originalFieldNames, fieldNames);\n }\n }\n }\n }\n function wrapDataAccess(originalFunction, model, converter, getters, originalFieldNames, fieldNames) {\n return function (data) {\n data = originalFunction(data);\n return wrapDataAccessBase(model, converter, getters, originalFieldNames, fieldNames)(data);\n };\n }\n function wrapDataAccessBase(model, converter, getters, originalFieldNames, fieldNames) {\n return function (data) {\n if (data && !isEmptyObject(getters)) {\n if (toString.call(data) !== '[object Array]' && !(data instanceof ObservableArray)) {\n data = [data];\n }\n converter(data, getters, new model(), originalFieldNames, fieldNames);\n }\n return data || [];\n };\n }\n var DataReader = Class.extend({\n init: function (schema) {\n var that = this, member, get, model, base;\n schema = schema || {};\n for (member in schema) {\n get = schema[member];\n that[member] = typeof get === STRING ? getter(get) : get;\n }\n base = schema.modelBase || Model;\n if (isPlainObject(that.model)) {\n that.model = model = base.define(that.model);\n }\n var dataFunction = proxy(that.data, that);\n that._dataAccessFunction = dataFunction;\n if (that.model) {\n var groupsFunction = proxy(that.groups, that), serializeFunction = proxy(that.serialize, that), originalFieldNames = {}, getters = {}, serializeGetters = {}, fieldNames = {}, shouldSerialize = false, fieldName, name;\n model = that.model;\n if (model.fields) {\n each(model.fields, function (field, value) {\n var fromName;\n fieldName = field;\n if (isPlainObject(value) && value.field) {\n fieldName = value.field;\n } else if (typeof value === STRING) {\n fieldName = value;\n }\n if (isPlainObject(value) && value.from) {\n fromName = value.from;\n }\n shouldSerialize = shouldSerialize || fromName && fromName !== field || fieldName !== field;\n name = fromName || fieldName;\n getters[field] = name.indexOf('.') !== -1 ? getter(name, true) : getter(name);\n serializeGetters[field] = getter(field);\n originalFieldNames[fromName || fieldName] = field;\n fieldNames[field] = fromName || fieldName;\n });\n if (!schema.serialize && shouldSerialize) {\n that.serialize = wrapDataAccess(serializeFunction, model, serializeRecords, serializeGetters, originalFieldNames, fieldNames);\n }\n }\n that._dataAccessFunction = dataFunction;\n that._wrapDataAccessBase = wrapDataAccessBase(model, convertRecords, getters, originalFieldNames, fieldNames);\n that.data = wrapDataAccess(dataFunction, model, convertRecords, getters, originalFieldNames, fieldNames);\n that.groups = wrapDataAccess(groupsFunction, model, convertGroup, getters, originalFieldNames, fieldNames);\n }\n },\n errors: function (data) {\n return data ? data.errors : null;\n },\n parse: identity,\n data: identity,\n total: function (data) {\n return data.length;\n },\n groups: identity,\n aggregates: function () {\n return {};\n },\n serialize: function (data) {\n return data;\n }\n });\n function fillLastGroup(originalGroup, newGroup) {\n var currOriginal;\n var currentNew;\n if (newGroup.items && newGroup.items.length) {\n for (var i = 0; i < newGroup.items.length; i++) {\n currOriginal = originalGroup.items[i];\n currentNew = newGroup.items[i];\n if (currOriginal && currentNew) {\n if (currOriginal.hasSubgroups) {\n fillLastGroup(currOriginal, currentNew);\n } else if (currOriginal.field && currOriginal.value == currentNew.value) {\n currOriginal.items.push.apply(currOriginal.items, currentNew.items);\n } else {\n originalGroup.items.push.apply(originalGroup.items, [currentNew]);\n }\n } else if (currentNew) {\n originalGroup.items.push.apply(originalGroup.items, [currentNew]);\n }\n }\n }\n }\n function mergeGroups(target, dest, skip, take) {\n var group, idx = 0, items;\n while (dest.length && take) {\n group = dest[idx];\n items = group.items;\n var length = items.length;\n if (target && target.field === group.field && target.value === group.value) {\n if (target.hasSubgroups && target.items.length) {\n mergeGroups(target.items[target.items.length - 1], group.items, skip, take);\n } else {\n items = items.slice(skip, skip + take);\n target.items = target.items.concat(items);\n }\n dest.splice(idx--, 1);\n } else if (group.hasSubgroups && items.length) {\n mergeGroups(group, items, skip, take);\n if (!group.items.length) {\n dest.splice(idx--, 1);\n }\n } else {\n items = items.slice(skip, skip + take);\n group.items = items;\n if (!group.items.length) {\n dest.splice(idx--, 1);\n }\n }\n if (items.length === 0) {\n skip -= length;\n } else {\n skip = 0;\n take -= items.length;\n }\n if (++idx >= dest.length) {\n break;\n }\n }\n if (idx < dest.length) {\n dest.splice(idx, dest.length - idx);\n }\n }\n function flatGroups(groups, indexFunction) {\n var result = [];\n var groupsLength = (groups || []).length;\n var group;\n var items;\n var indexFn = isFunction(indexFunction) ? indexFunction : function (array, index) {\n return array[index];\n };\n for (var groupIndex = 0; groupIndex < groupsLength; groupIndex++) {\n group = indexFn(groups, groupIndex);\n if (group.hasSubgroups) {\n result = result.concat(flatGroups(group.items));\n } else {\n items = group.items;\n for (var itemIndex = 0; itemIndex < items.length; itemIndex++) {\n result.push(indexFn(items, itemIndex));\n }\n }\n }\n return result;\n }\n function flattenGroups(data) {\n var idx, result = [], length, items, itemIndex;\n for (idx = 0, length = data.length; idx < length; idx++) {\n var group = data.at(idx);\n if (group.items) {\n if (group.hasSubgroups) {\n result = result.concat(flattenGroups(group.items));\n } else {\n items = group.items;\n for (itemIndex = 0; itemIndex < items.length; itemIndex++) {\n result.push(items.at(itemIndex));\n }\n }\n }\n }\n return result;\n }\n function wrapGroupItems(data, model) {\n var idx, length, group;\n if (model) {\n for (idx = 0, length = data.length; idx < length; idx++) {\n group = data.at(idx);\n if (group.items) {\n if (group.hasSubgroups) {\n wrapGroupItems(group.items, model);\n } else {\n group.items = new LazyObservableArray(group.items, model, group.items._events);\n }\n }\n }\n }\n }\n function eachGroupItems(data, func) {\n for (var idx = 0; idx < data.length; idx++) {\n if (data[idx].hasSubgroups) {\n if (eachGroupItems(data[idx].items, func)) {\n return true;\n }\n } else if (func(data[idx].items, data[idx])) {\n return true;\n }\n }\n }\n function replaceInRanges(ranges, data, item, observable) {\n for (var idx = 0; idx < ranges.length; idx++) {\n if (ranges[idx].data === data) {\n break;\n }\n if (replaceInRange(ranges[idx].data, item, observable)) {\n break;\n }\n }\n }\n function replaceInRange(items, item, observable) {\n for (var idx = 0, length = items.length; idx < length; idx++) {\n if (items[idx] && items[idx].hasSubgroups) {\n return replaceInRange(items[idx].items, item, observable);\n } else if (items[idx] === item || items[idx] === observable) {\n items[idx] = observable;\n return true;\n }\n }\n }\n function replaceWithObservable(view, data, ranges, type, serverGrouping) {\n for (var viewIndex = 0, length = view.length; viewIndex < length; viewIndex++) {\n var item = view[viewIndex];\n if (!item || item instanceof type) {\n continue;\n }\n if (item.hasSubgroups !== undefined && !serverGrouping) {\n replaceWithObservable(item.items, data, ranges, type, serverGrouping);\n } else {\n for (var idx = 0; idx < data.length; idx++) {\n if (data[idx] === item) {\n view[viewIndex] = data.at(idx);\n replaceInRanges(ranges, data, item, view[viewIndex]);\n break;\n }\n }\n }\n }\n }\n function removeModel(data, model) {\n if (!data) {\n return;\n }\n var length = data.length;\n var dataItem;\n var idx;\n for (idx = 0; idx < length; idx++) {\n dataItem = data[idx];\n if (dataItem.uid && dataItem.uid == model.uid) {\n data.splice(idx, 1);\n return dataItem;\n }\n }\n }\n function indexOfPristineModel(data, model) {\n if (model) {\n return indexOf(data, function (item) {\n return item.uid && item.uid == model.uid || item[model.idField] === model.id && model.id !== model._defaultId;\n });\n }\n return -1;\n }\n function indexOfModel(data, model) {\n if (model) {\n return indexOf(data, function (item) {\n return item.uid == model.uid;\n });\n }\n return -1;\n }\n function indexOf(data, comparer) {\n var idx, length;\n if (!data) {\n return;\n }\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (comparer(data[idx])) {\n return idx;\n }\n }\n return -1;\n }\n function fieldNameFromModel(fields, name) {\n if (fields && !isEmptyObject(fields)) {\n var descriptor = fields[name];\n var fieldName;\n if (isPlainObject(descriptor)) {\n fieldName = descriptor.from || descriptor.field || name;\n } else {\n fieldName = fields[name] || name;\n }\n if (isFunction(fieldName)) {\n return name;\n }\n return fieldName;\n }\n return name;\n }\n function convertFilterDescriptorsField(descriptor, model) {\n var idx, length, target = {};\n for (var field in descriptor) {\n if (field !== 'filters') {\n target[field] = descriptor[field];\n }\n }\n if (descriptor.filters) {\n target.filters = [];\n for (idx = 0, length = descriptor.filters.length; idx < length; idx++) {\n target.filters[idx] = convertFilterDescriptorsField(descriptor.filters[idx], model);\n }\n } else {\n target.field = fieldNameFromModel(model.fields, target.field);\n }\n return target;\n }\n function convertDescriptorsField(descriptors, model) {\n var idx, length, result = [], target, descriptor;\n for (idx = 0, length = descriptors.length; idx < length; idx++) {\n target = {};\n descriptor = descriptors[idx];\n for (var field in descriptor) {\n target[field] = descriptor[field];\n }\n target.field = fieldNameFromModel(model.fields, target.field);\n if (target.aggregates && isArray(target.aggregates)) {\n target.aggregates = convertDescriptorsField(target.aggregates, model);\n }\n result.push(target);\n }\n return result;\n }\n var DataSource = Observable.extend({\n init: function (options) {\n var that = this, model, data;\n if (options) {\n data = options.data;\n }\n options = that.options = extend({}, that.options, options);\n that._map = {};\n that._prefetch = {};\n that._data = [];\n that._pristineData = [];\n that._ranges = [];\n that._view = [];\n that._pristineTotal = 0;\n that._destroyed = [];\n that._pageSize = options.pageSize;\n that._page = options.page || (options.pageSize ? 1 : undefined);\n that._sort = normalizeSort(options.sort);\n that._filter = normalizeFilter(options.filter);\n that._group = normalizeGroup(options.group);\n that._aggregate = options.aggregate;\n that._total = options.total;\n that._groupPaging = options.groupPaging;\n if (that._groupPaging) {\n that._groupsState = {};\n }\n that._shouldDetachObservableParents = true;\n Observable.fn.init.call(that);\n that.transport = Transport.create(options, data, that);\n if (isFunction(that.transport.push)) {\n that.transport.push({\n pushCreate: proxy(that._pushCreate, that),\n pushUpdate: proxy(that._pushUpdate, that),\n pushDestroy: proxy(that._pushDestroy, that)\n });\n }\n if (options.offlineStorage != null) {\n if (typeof options.offlineStorage == 'string') {\n var key = options.offlineStorage;\n that._storage = {\n getItem: function () {\n return JSON.parse(localStorage.getItem(key));\n },\n setItem: function (item) {\n localStorage.setItem(key, stringify(that.reader.serialize(item)));\n }\n };\n } else {\n that._storage = options.offlineStorage;\n }\n }\n that.reader = new kendo.data.readers[options.schema.type || 'json'](options.schema);\n model = that.reader.model || {};\n that._detachObservableParents();\n that._data = that._observe(that._data);\n that._online = true;\n that.bind([\n 'push',\n ERROR,\n CHANGE,\n REQUESTSTART,\n SYNC,\n REQUESTEND,\n PROGRESS\n ], options);\n },\n options: {\n data: null,\n schema: { modelBase: Model },\n offlineStorage: null,\n serverSorting: false,\n serverPaging: false,\n serverFiltering: false,\n serverGrouping: false,\n serverAggregates: false,\n batch: false,\n inPlaceSort: false\n },\n clone: function () {\n return this;\n },\n online: function (value) {\n if (value !== undefined) {\n if (this._online != value) {\n this._online = value;\n if (value) {\n return this.sync();\n }\n }\n return $.Deferred().resolve().promise();\n } else {\n return this._online;\n }\n },\n offlineData: function (state) {\n if (this.options.offlineStorage == null) {\n return null;\n }\n if (state !== undefined) {\n return this._storage.setItem(state);\n }\n return this._storage.getItem() || [];\n },\n _isServerGrouped: function () {\n var group = this.group() || [];\n return this.options.serverGrouping && group.length;\n },\n _isServerGroupPaged: function () {\n return this._isServerGrouped() && this._groupPaging;\n },\n _isGroupPaged: function () {\n var group = this.group() || [];\n return this._groupPaging && group.length;\n },\n _pushCreate: function (result) {\n this._push(result, 'pushCreate');\n },\n _pushUpdate: function (result) {\n this._push(result, 'pushUpdate');\n },\n _pushDestroy: function (result) {\n this._push(result, 'pushDestroy');\n },\n _push: function (result, operation) {\n var data = this._readData(result);\n if (!data) {\n data = result;\n }\n this[operation](data);\n },\n _flatData: function (data, skip) {\n if (data) {\n if (this._isServerGrouped()) {\n return flattenGroups(data);\n }\n if (!skip) {\n for (var idx = 0; idx < data.length; idx++) {\n data.at(idx);\n }\n }\n }\n return data;\n },\n parent: noop,\n get: function (id) {\n var idx, length, data = this._flatData(this._data, this.options.useRanges);\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].id == id) {\n return data[idx];\n }\n }\n },\n getByUid: function (id) {\n return this._getByUid(id, this._data);\n },\n _getByUid: function (id, dataItems) {\n var idx, length, data = this._flatData(dataItems, this.options.useRanges);\n if (!data) {\n return;\n }\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].uid == id) {\n return data[idx];\n }\n }\n },\n indexOf: function (model) {\n return indexOfModel(this._data, model);\n },\n at: function (index) {\n return this._data.at(index);\n },\n data: function (value) {\n var that = this;\n if (value !== undefined) {\n that._detachObservableParents();\n that._data = this._observe(value);\n that._pristineData = value.slice(0);\n that._storeData();\n that._ranges = [];\n that.trigger('reset');\n that._addRange(that._data);\n that._total = that._data.length;\n that._pristineTotal = that._total;\n that._process(that._data);\n } else {\n if (that._data) {\n for (var idx = 0; idx < that._data.length; idx++) {\n that._data.at(idx);\n }\n }\n return that._data;\n }\n },\n view: function (value) {\n if (value === undefined) {\n return this._view;\n } else {\n this._view = this._observeView(value);\n }\n },\n _observeView: function (data) {\n var that = this;\n replaceWithObservable(data, that._data, that._ranges, that.reader.model || ObservableObject, that._isServerGrouped());\n var view = new LazyObservableArray(data, that.reader.model);\n view.parent = function () {\n return that.parent();\n };\n return view;\n },\n flatView: function () {\n var groups = this.group() || [];\n if (groups.length) {\n return flattenGroups(this._view);\n } else {\n return this._view;\n }\n },\n add: function (model) {\n return this.insert(this._data.length, model);\n },\n _createNewModel: function (model) {\n if (this.reader.model) {\n return new this.reader.model(model);\n }\n if (model instanceof ObservableObject) {\n return model;\n }\n return new ObservableObject(model);\n },\n insert: function (index, model) {\n if (!model) {\n model = index;\n index = 0;\n }\n if (!(model instanceof Model)) {\n model = this._createNewModel(model);\n }\n if (this._isServerGrouped()) {\n this._data.splice(index, 0, this._wrapInEmptyGroup(model));\n } else {\n this._data.splice(index, 0, model);\n }\n this._insertModelInRange(index, model);\n return model;\n },\n pushInsert: function (index, items) {\n var that = this;\n var rangeSpan = that._getCurrentRangeSpan();\n if (!items) {\n items = index;\n index = 0;\n }\n if (!isArray(items)) {\n items = [items];\n }\n var pushed = [];\n var autoSync = this.options.autoSync;\n this.options.autoSync = false;\n try {\n for (var idx = 0; idx < items.length; idx++) {\n var item = items[idx];\n var result = this.insert(index, item);\n pushed.push(result);\n var pristine = result.toJSON();\n if (this._isServerGrouped()) {\n pristine = this._wrapInEmptyGroup(pristine);\n }\n this._pristineData.push(pristine);\n if (rangeSpan && rangeSpan.length) {\n $(rangeSpan).last()[0].pristineData.push(pristine);\n }\n index++;\n }\n } finally {\n this.options.autoSync = autoSync;\n }\n if (pushed.length) {\n this.trigger('push', {\n type: 'create',\n items: pushed\n });\n }\n },\n pushCreate: function (items) {\n this.pushInsert(this._data.length, items);\n },\n pushUpdate: function (items) {\n if (!isArray(items)) {\n items = [items];\n }\n var pushed = [];\n for (var idx = 0; idx < items.length; idx++) {\n var item = items[idx];\n var model = this._createNewModel(item);\n var target = this.get(model.id);\n if (target) {\n pushed.push(target);\n target.accept(item);\n target.trigger(CHANGE);\n this._updatePristineForModel(target, item);\n } else {\n this.pushCreate(item);\n }\n }\n if (pushed.length) {\n this.trigger('push', {\n type: 'update',\n items: pushed\n });\n }\n },\n pushDestroy: function (items) {\n var pushed = this._removeItems(items);\n if (pushed.length) {\n this.trigger('push', {\n type: 'destroy',\n items: pushed\n });\n }\n },\n _removeItems: function (items, removePristine) {\n if (!isArray(items)) {\n items = [items];\n }\n var shouldRemovePristine = typeof removePristine !== 'undefined' ? removePristine : true;\n var destroyed = [];\n var autoSync = this.options.autoSync;\n this.options.autoSync = false;\n try {\n for (var idx = 0; idx < items.length; idx++) {\n var item = items[idx];\n var model = this._createNewModel(item);\n var found = false;\n this._eachItem(this._data, function (items) {\n for (var idx = 0; idx < items.length; idx++) {\n var item = items.at(idx);\n if (item.id === model.id) {\n destroyed.push(item);\n items.splice(idx, 1);\n found = true;\n break;\n }\n }\n });\n if (found && shouldRemovePristine) {\n this._removePristineForModel(model);\n this._destroyed.pop();\n }\n }\n } finally {\n this.options.autoSync = autoSync;\n }\n return destroyed;\n },\n remove: function (model) {\n var result, that = this, hasGroups = that._isServerGrouped();\n this._eachItem(that._data, function (items) {\n result = removeModel(items, model);\n if (result && hasGroups) {\n if (!result.isNew || !result.isNew()) {\n that._destroyed.push(result);\n }\n return true;\n }\n });\n this._removeModelFromRanges(model);\n return model;\n },\n destroyed: function () {\n return this._destroyed;\n },\n created: function () {\n var idx, length, result = [], data = this._flatData(this._data, this.options.useRanges);\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].isNew && data[idx].isNew()) {\n result.push(data[idx]);\n }\n }\n return result;\n },\n updated: function () {\n var idx, length, result = [], data = this._flatData(this._data, this.options.useRanges);\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].isNew && !data[idx].isNew() && data[idx].dirty) {\n result.push(data[idx]);\n }\n }\n return result;\n },\n sync: function () {\n var that = this, created = [], updated = [], destroyed = that._destroyed;\n var promise = $.Deferred().resolve().promise();\n if (that.online()) {\n if (!that.reader.model) {\n return promise;\n }\n created = that.created();\n updated = that.updated();\n var promises = [];\n if (that.options.batch && that.transport.submit) {\n promises = that._sendSubmit(created, updated, destroyed);\n } else {\n promises.push.apply(promises, that._send('create', created));\n promises.push.apply(promises, that._send('update', updated));\n promises.push.apply(promises, that._send('destroy', destroyed));\n }\n promise = $.when.apply(null, promises).then(function () {\n var idx, length;\n for (idx = 0, length = arguments.length; idx < length; idx++) {\n if (arguments[idx]) {\n that._accept(arguments[idx]);\n }\n }\n that._storeData(true);\n that._syncEnd();\n that._change({ action: 'sync' });\n that.trigger(SYNC);\n if (that._isServerGroupPaged()) {\n that.read();\n }\n });\n } else {\n that._storeData(true);\n that._syncEnd();\n that._change({ action: 'sync' });\n }\n return promise;\n },\n _syncEnd: noop,\n cancelChanges: function (model) {\n var that = this;\n if (model instanceof kendo.data.Model) {\n that._cancelModel(model);\n } else {\n that._destroyed = [];\n that._detachObservableParents();\n that._data = that._observe(that._pristineData);\n if (that.options.serverPaging) {\n that._total = that._pristineTotal;\n }\n that._ranges = [];\n that._addRange(that._data, 0);\n that._changesCanceled();\n that._change();\n that._markOfflineUpdatesAsDirty();\n if (that._isServerGrouped()) {\n that.read();\n }\n }\n },\n _changesCanceled: noop,\n _markOfflineUpdatesAsDirty: function () {\n var that = this;\n if (that.options.offlineStorage != null) {\n that._eachItem(that._data, function (items) {\n for (var idx = 0; idx < items.length; idx++) {\n var item = items.at(idx);\n if (item.__state__ == 'update' || item.__state__ == 'create') {\n item.dirty = true;\n }\n }\n });\n }\n },\n hasChanges: function () {\n var idx, length, data = this._flatData(this._data, this.options.useRanges);\n if (this._destroyed.length) {\n return true;\n }\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].isNew && data[idx].isNew() || data[idx].dirty) {\n return true;\n }\n }\n return false;\n },\n _accept: function (result) {\n var that = this, models = result.models, response = result.response, idx = 0, serverGroup = that._isServerGrouped(), pristine = that._pristineData, type = result.type, length;\n that.trigger(REQUESTEND, {\n response: response,\n type: type\n });\n if (response && !isEmptyObject(response)) {\n response = that.reader.parse(response);\n if (that._handleCustomErrors(response)) {\n return;\n }\n response = that.reader.data(response);\n if (!isArray(response)) {\n response = [response];\n }\n } else {\n response = $.map(models, function (model) {\n return model.toJSON();\n });\n }\n if (type === 'destroy') {\n that._destroyed = [];\n }\n for (idx = 0, length = models.length; idx < length; idx++) {\n if (type !== 'destroy') {\n models[idx].accept(response[idx]);\n if (type === 'create') {\n pristine.push(serverGroup ? that._wrapInEmptyGroup(models[idx].toJSON()) : response[idx]);\n } else if (type === 'update') {\n that._updatePristineForModel(models[idx], response[idx]);\n }\n } else {\n that._removePristineForModel(models[idx]);\n }\n }\n },\n _updatePristineForModel: function (model, values) {\n this._executeOnPristineForModel(model, function (index, items) {\n kendo.deepExtend(items[index], values);\n });\n },\n _executeOnPristineForModel: function (model, callback) {\n this._eachPristineItem(function (items) {\n var index = indexOfPristineModel(items, model);\n if (index > -1) {\n callback(index, items);\n return true;\n }\n });\n },\n _removePristineForModel: function (model) {\n this._executeOnPristineForModel(model, function (index, items) {\n items.splice(index, 1);\n });\n },\n _readData: function (data) {\n var read = !this._isServerGrouped() ? this.reader.data : this.reader.groups;\n return read.call(this.reader, data);\n },\n _eachPristineItem: function (callback) {\n var that = this;\n var options = that.options;\n var rangeSpan = that._getCurrentRangeSpan();\n that._eachItem(that._pristineData, callback);\n if (options.serverPaging && options.useRanges) {\n each(rangeSpan, function (i, range) {\n that._eachItem(range.pristineData, callback);\n });\n }\n },\n _eachItem: function (data, callback) {\n if (data && data.length) {\n if (this._isServerGrouped()) {\n eachGroupItems(data, callback);\n } else {\n callback(data);\n }\n }\n },\n _pristineForModel: function (model) {\n var pristine, idx, callback = function (items) {\n idx = indexOfPristineModel(items, model);\n if (idx > -1) {\n pristine = items[idx];\n return true;\n }\n };\n this._eachPristineItem(callback);\n return pristine;\n },\n _cancelModel: function (model) {\n var that = this;\n var pristine = this._pristineForModel(model);\n this._eachItem(this._data, function (items) {\n var idx = indexOfModel(items, model);\n if (idx >= 0) {\n if (pristine && (!model.isNew() || pristine.__state__)) {\n items[idx].accept(pristine);\n if (pristine.__state__ == 'update') {\n items[idx].dirty = true;\n }\n } else {\n that._modelCanceled(model);\n items.splice(idx, 1);\n that._removeModelFromRanges(model);\n }\n }\n });\n },\n _modelCanceled: noop,\n _submit: function (promises, data) {\n var that = this;\n that.trigger(REQUESTSTART, { type: 'submit' });\n that.trigger(PROGRESS);\n that.transport.submit(extend({\n success: function (response, type) {\n var promise = $.grep(promises, function (x) {\n return x.type == type;\n })[0];\n if (promise) {\n promise.resolve({\n response: response,\n models: promise.models,\n type: type\n });\n }\n },\n error: function (response, status, error) {\n for (var idx = 0; idx < promises.length; idx++) {\n promises[idx].reject(response);\n }\n that.error(response, status, error);\n }\n }, data));\n },\n _sendSubmit: function (created, updated, destroyed) {\n var that = this, promises = [];\n if (that.options.batch) {\n if (created.length) {\n promises.push($.Deferred(function (deferred) {\n deferred.type = 'create';\n deferred.models = created;\n }));\n }\n if (updated.length) {\n promises.push($.Deferred(function (deferred) {\n deferred.type = 'update';\n deferred.models = updated;\n }));\n }\n if (destroyed.length) {\n promises.push($.Deferred(function (deferred) {\n deferred.type = 'destroy';\n deferred.models = destroyed;\n }));\n }\n that._submit(promises, {\n data: {\n created: that.reader.serialize(toJSON(created)),\n updated: that.reader.serialize(toJSON(updated)),\n destroyed: that.reader.serialize(toJSON(destroyed))\n }\n });\n }\n return promises;\n },\n _promise: function (data, models, type) {\n var that = this;\n return $.Deferred(function (deferred) {\n that.trigger(REQUESTSTART, { type: type });\n that.trigger(PROGRESS);\n that.transport[type].call(that.transport, extend({\n success: function (response) {\n deferred.resolve({\n response: response,\n models: models,\n type: type\n });\n },\n error: function (response, status, error) {\n deferred.reject(response);\n that.error(response, status, error);\n }\n }, data));\n }).promise();\n },\n _send: function (method, data) {\n var that = this, idx, length, promises = [], converted = that.reader.serialize(toJSON(data));\n if (that.options.batch) {\n if (data.length) {\n promises.push(that._promise({ data: { models: converted } }, data, method));\n }\n } else {\n for (idx = 0, length = data.length; idx < length; idx++) {\n promises.push(that._promise({ data: converted[idx] }, [data[idx]], method));\n }\n }\n return promises;\n },\n read: function (data) {\n var that = this, params = that._params(data);\n var deferred = $.Deferred();\n that._queueRequest(params, function () {\n var isPrevented = that.trigger(REQUESTSTART, { type: 'read' });\n if (!isPrevented) {\n that.trigger(PROGRESS);\n that._ranges = [];\n that.trigger('reset');\n if (that.online()) {\n that.transport.read({\n data: params,\n success: function (data) {\n that._ranges = [];\n that.success(data, params);\n deferred.resolve();\n },\n error: function () {\n var args = slice.call(arguments);\n that.error.apply(that, args);\n deferred.reject.apply(deferred, args);\n }\n });\n } else if (that.options.offlineStorage != null) {\n that.success(that.offlineData(), params);\n deferred.resolve();\n }\n } else {\n that._dequeueRequest();\n deferred.resolve(isPrevented);\n }\n });\n return deferred.promise();\n },\n _readAggregates: function (data) {\n return this.reader.aggregates(data);\n },\n success: function (data) {\n var that = this, options = that.options, items, replaceSubset;\n that.trigger(REQUESTEND, {\n response: data,\n type: 'read'\n });\n if (that.online()) {\n data = that.reader.parse(data);\n if (that._handleCustomErrors(data)) {\n that._dequeueRequest();\n return;\n }\n that._total = that.reader.total(data);\n if (that._isServerGroupPaged()) {\n that._serverGroupsTotal = that._total;\n }\n if (that._pageSize > that._total) {\n that._pageSize = that._total;\n if (that.options.pageSize && that.options.pageSize > that._pageSize) {\n that._pageSize = that.options.pageSize;\n }\n }\n if (that._aggregate && options.serverAggregates) {\n that._aggregateResult = that._readAggregates(data);\n }\n data = that._readData(data);\n that._destroyed = [];\n } else {\n data = that._readData(data);\n items = [];\n var itemIds = {};\n var model = that.reader.model;\n var idField = model ? model.idField : 'id';\n var idx;\n for (idx = 0; idx < this._destroyed.length; idx++) {\n var id = this._destroyed[idx][idField];\n itemIds[id] = id;\n }\n for (idx = 0; idx < data.length; idx++) {\n var item = data[idx];\n var state = item.__state__;\n if (state == 'destroy') {\n if (!itemIds[item[idField]]) {\n this._destroyed.push(this._createNewModel(item));\n }\n } else {\n items.push(item);\n }\n }\n data = items;\n that._total = data.length;\n }\n that._pristineTotal = that._total;\n replaceSubset = that._skip && that._data.length && that._skip < that._data.length;\n if (that.options.endless) {\n if (replaceSubset) {\n that._pristineData.splice(that._skip, that._pristineData.length);\n }\n items = data.slice(0);\n for (var j = 0; j < items.length; j++) {\n that._pristineData.push(items[j]);\n }\n } else {\n that._pristineData = data.slice(0);\n }\n that._detachObservableParents();\n if (that.options.endless) {\n that._data.unbind(CHANGE, that._changeHandler);\n if (that._isServerGrouped() && that._data[that._data.length - 1].value === data[0].value) {\n fillLastGroup(that._data[that._data.length - 1], data[0]);\n data.shift();\n }\n data = that._observe(data);\n if (replaceSubset) {\n that._data.splice(that._skip, that._data.length);\n }\n for (var i = 0; i < data.length; i++) {\n that._data.push(data[i]);\n }\n that._data.bind(CHANGE, that._changeHandler);\n } else {\n that._data = that._observe(data);\n }\n that._markOfflineUpdatesAsDirty();\n that._storeData();\n that._addRange(that._data);\n that._process(that._data);\n that._dequeueRequest();\n },\n _detachObservableParents: function () {\n if (this._data && this._shouldDetachObservableParents) {\n for (var idx = 0; idx < this._data.length; idx++) {\n if (this._data[idx].parent) {\n this._data[idx].parent = noop;\n }\n }\n }\n },\n _storeData: function (updatePristine) {\n var serverGrouping = this._isServerGrouped();\n var model = this.reader.model;\n function items(data) {\n var state = [];\n for (var idx = 0; idx < data.length; idx++) {\n var dataItem = data.at(idx);\n var item = dataItem.toJSON();\n if (serverGrouping && dataItem.items) {\n item.items = items(dataItem.items);\n } else {\n item.uid = dataItem.uid;\n if (model) {\n if (dataItem.isNew()) {\n item.__state__ = 'create';\n } else if (dataItem.dirty) {\n item.__state__ = 'update';\n }\n }\n }\n state.push(item);\n }\n return state;\n }\n if (this.options.offlineStorage != null) {\n var state = items(this._data);\n var destroyed = [];\n for (var idx = 0; idx < this._destroyed.length; idx++) {\n var item = this._destroyed[idx].toJSON();\n item.__state__ = 'destroy';\n destroyed.push(item);\n }\n this.offlineData(state.concat(destroyed));\n if (updatePristine) {\n this._pristineData = this.reader.reader ? this.reader.reader._wrapDataAccessBase(state) : this.reader._wrapDataAccessBase(state);\n }\n }\n },\n _addRange: function (data, skip) {\n var that = this, start = typeof skip !== 'undefined' ? skip : that._skip || 0, end, range = {\n data: data,\n pristineData: data.toJSON(),\n timestamp: that._timeStamp()\n };\n if (this._isGroupPaged()) {\n end = start + data.length;\n range.outerStart = start;\n range.outerEnd = end;\n } else {\n end = start + that._flatData(data, true).length;\n }\n range.start = start;\n range.end = end;\n that._ranges.push(range);\n that._sortRanges();\n if (that._isGroupPaged()) {\n if (!that._groupsFlat) {\n that._groupsFlat = [];\n }\n that._appendToGroupsFlat(range.data);\n that._updateOuterRangesLength();\n }\n },\n _appendToGroupsFlat: function (data) {\n var length = data.length;\n for (var i = 0; i < length; i++) {\n this._groupsFlat.push(data[i]);\n }\n },\n _getGroupByUid: function (uid) {\n var length = this._groupsFlat.length;\n var group;\n for (var i = 0; i < length; i++) {\n group = this._groupsFlat[i];\n if (group.uid === uid) {\n return group;\n }\n }\n },\n _sortRanges: function () {\n this._ranges.sort(function (x, y) {\n return x.start - y.start;\n });\n },\n error: function (xhr, status, errorThrown) {\n this._dequeueRequest();\n this.trigger(REQUESTEND, {});\n this.trigger(ERROR, {\n xhr: xhr,\n status: status,\n errorThrown: errorThrown\n });\n },\n _params: function (data) {\n var that = this, options = extend({\n take: that.take(),\n skip: that.skip(),\n page: that.page(),\n pageSize: that.pageSize(),\n sort: that._sort,\n filter: that._filter,\n group: that._group,\n aggregate: that._aggregate,\n groupPaging: !!that._groupPaging\n }, data);\n if (!that.options.serverPaging) {\n delete options.take;\n delete options.skip;\n delete options.page;\n delete options.pageSize;\n }\n if (!that.options.serverGrouping) {\n delete options.group;\n } else if (that.reader.model && options.group) {\n options.group = convertDescriptorsField(options.group, that.reader.model);\n }\n if (!that.options.serverFiltering) {\n delete options.filter;\n } else if (that.reader.model && options.filter) {\n options.filter = convertFilterDescriptorsField(options.filter, that.reader.model);\n }\n if (!that.options.serverSorting) {\n delete options.sort;\n } else if (that.reader.model && options.sort) {\n options.sort = convertDescriptorsField(options.sort, that.reader.model);\n }\n if (!that.options.serverAggregates) {\n delete options.aggregate;\n } else if (that.reader.model && options.aggregate) {\n options.aggregate = convertDescriptorsField(options.aggregate, that.reader.model);\n }\n if (!that.options.groupPaging) {\n delete options.groupPaging;\n }\n return options;\n },\n _queueRequest: function (options, callback) {\n var that = this;\n if (!that._requestInProgress) {\n that._requestInProgress = true;\n that._pending = undefined;\n callback();\n } else {\n that._pending = {\n callback: proxy(callback, that),\n options: options\n };\n }\n },\n _dequeueRequest: function () {\n var that = this;\n that._requestInProgress = false;\n if (that._pending) {\n that._queueRequest(that._pending.options, that._pending.callback);\n }\n },\n _handleCustomErrors: function (response) {\n if (this.reader.errors) {\n var errors = this.reader.errors(response);\n if (errors) {\n this.trigger(ERROR, {\n xhr: null,\n status: 'customerror',\n errorThrown: 'custom error',\n errors: errors\n });\n return true;\n }\n }\n return false;\n },\n _shouldWrap: function (data) {\n var model = this.reader.model;\n if (model && data.length) {\n return !(data[0] instanceof model);\n }\n return false;\n },\n _observe: function (data) {\n var that = this, model = that.reader.model;\n that._shouldDetachObservableParents = true;\n if (data instanceof ObservableArray) {\n that._shouldDetachObservableParents = false;\n if (that._shouldWrap(data)) {\n data.type = that.reader.model;\n data.wrapAll(data, data);\n }\n } else {\n var arrayType = that.pageSize() && !that.options.serverPaging ? LazyObservableArray : ObservableArray;\n data = new arrayType(data, that.reader.model);\n data.parent = function () {\n return that.parent();\n };\n }\n if (that._isServerGrouped()) {\n wrapGroupItems(data, model);\n }\n if (that._changeHandler && that._data && that._data instanceof ObservableArray && !(that.options.useRanges && that.options.serverPaging)) {\n that._data.unbind(CHANGE, that._changeHandler);\n } else {\n that._changeHandler = proxy(that._change, that);\n }\n return data.bind(CHANGE, that._changeHandler);\n },\n _updateTotalForAction: function (action, items) {\n var that = this;\n var total = parseInt(that._total, 10);\n if (!isNumber(that._total)) {\n total = parseInt(that._pristineTotal, 10);\n }\n if (action === 'add') {\n total += items.length;\n } else if (action === 'remove') {\n total -= items.length;\n } else if (action !== 'itemchange' && action !== 'sync' && !that.options.serverPaging) {\n total = that._pristineTotal;\n } else if (action === 'sync') {\n total = that._pristineTotal = parseInt(that._total, 10);\n }\n that._total = total;\n },\n _change: function (e) {\n var that = this, idx, length, action = e ? e.action : '';\n if (action === 'remove') {\n for (idx = 0, length = e.items.length; idx < length; idx++) {\n if (!e.items[idx].isNew || !e.items[idx].isNew()) {\n that._destroyed.push(e.items[idx]);\n }\n }\n }\n if (that.options.autoSync && (action === 'add' || action === 'remove' || action === 'itemchange')) {\n var handler = function (args) {\n if (args.action === 'sync') {\n that.unbind('change', handler);\n that._updateTotalForAction(action, e.items);\n }\n };\n that.first('change', handler);\n that.sync();\n } else {\n that._updateTotalForAction(action, e ? e.items : []);\n that._process(that._data, e);\n }\n },\n _calculateAggregates: function (data, options) {\n options = options || {};\n var query = new Query(data), aggregates = options.aggregate, filter = options.filter;\n if (filter) {\n query = query.filter(filter);\n }\n return query.aggregate(aggregates);\n },\n _process: function (data, e) {\n var that = this, options = {}, result;\n if (that.options.serverPaging !== true) {\n options.skip = that._skip;\n options.take = that._take || that._pageSize;\n if (options.skip === undefined && that._page !== undefined && that._pageSize !== undefined) {\n options.skip = (that._page - 1) * that._pageSize;\n }\n if (that.options.useRanges) {\n options.skip = that.currentRangeStart();\n }\n }\n if (that.options.serverSorting !== true) {\n options.sort = that._sort;\n }\n if (that.options.serverFiltering !== true) {\n options.filter = that._filter;\n }\n if (that.options.serverGrouping !== true) {\n options.group = that._group;\n }\n if (that.options.serverAggregates !== true) {\n options.aggregate = that._aggregate;\n }\n if (that.options.serverGrouping) {\n that._clearEmptyGroups(data);\n }\n options.groupPaging = that._groupPaging;\n if (that._isGroupPaged() && e && (e.action === 'page' || e.action === 'expandGroup' || e.action === 'collapseGroup')) {\n result = that._queryProcess(data, { aggregate: that._aggregate });\n } else {\n result = that._queryProcess(data, options);\n }\n if (that.options.serverAggregates !== true) {\n that._aggregateResult = that._calculateAggregates(result.dataToAggregate || data, options);\n }\n that._setView(result, options, e);\n that._setFilterTotal(result.total, false);\n e = e || {};\n e.items = e.items || that._view;\n that.trigger(CHANGE, e);\n },\n _setView: function (result, options, e) {\n var that = this;\n if (that._isGroupPaged() && !that._isServerGrouped()) {\n if (e && (e.action === 'page' || e.action === 'expandGroup' || e.action === 'collapseGroup')) {\n that.view(result.data);\n that._updateOuterRangesLength();\n } else {\n that._ranges = [];\n var query = new Query(result.data);\n that._addRange(that._observe(result.data));\n if (options.skip > result.data.length / options.take + 1) {\n options.skip = 0;\n }\n that.view(query.range(options.skip, options.take).toArray());\n }\n } else {\n that.view(result.data);\n }\n },\n _clearEmptyGroups: function (data) {\n for (var idx = data.length - 1; idx >= 0; idx--) {\n var group = data[idx];\n if (group.hasSubgroups) {\n this._clearEmptyGroups(group.items);\n } else {\n if (group.items && !group.items.length) {\n splice.apply(group.parent(), [\n idx,\n 1\n ]);\n }\n }\n }\n },\n _queryProcess: function (data, options) {\n if (this.options.inPlaceSort) {\n return Query.process(data, options, this.options.inPlaceSort);\n } else {\n return Query.process(data, options);\n }\n },\n _mergeState: function (options) {\n var that = this;\n if (options !== undefined) {\n that._pageSize = options.pageSize;\n that._page = options.page;\n that._sort = options.sort;\n that._filter = options.filter;\n that._group = options.group;\n that._aggregate = options.aggregate;\n that._skip = that._currentRangeStart = options.skip;\n that._take = options.take;\n if (that._skip === undefined) {\n that._skip = that._currentRangeStart = that.skip();\n options.skip = that.skip();\n }\n if (that._take === undefined && that._pageSize !== undefined) {\n that._take = that._pageSize;\n options.take = that._take;\n }\n if (options.sort) {\n that._sort = options.sort = normalizeSort(options.sort);\n that._sortFields = sortFields(options.sort);\n }\n if (options.filter) {\n that._filter = options.filter = that.options.accentFoldingFiltering && !$.isEmptyObject(options.filter) ? $.extend({}, normalizeFilter(options.filter), { accentFoldingFiltering: that.options.accentFoldingFiltering }) : normalizeFilter(options.filter);\n }\n if (options.group) {\n that._group = options.group = normalizeGroup(options.group);\n }\n if (options.aggregate) {\n that._aggregate = options.aggregate = normalizeAggregate(options.aggregate);\n }\n }\n return options;\n },\n query: function (options) {\n var result;\n var remote = this.options.serverSorting || this.options.serverPaging || this.options.serverFiltering || this.options.serverGrouping || this.options.serverAggregates;\n if (remote || (this._data === undefined || this._data.length === 0) && !this._destroyed.length) {\n if (this.options.endless) {\n var moreItemsCount = options.pageSize - this.pageSize();\n if (moreItemsCount > 0) {\n moreItemsCount = this.pageSize();\n options.page = options.pageSize / moreItemsCount;\n options.pageSize = moreItemsCount;\n } else {\n options.page = 1;\n this.options.endless = false;\n }\n }\n return this.read(this._mergeState(options));\n }\n var isPrevented = this.trigger(REQUESTSTART, { type: 'read' });\n if (!isPrevented) {\n this.trigger(PROGRESS);\n if (options) {\n options.groupPaging = this._groupPaging;\n }\n result = this._queryProcess(this._data, this._mergeState(options));\n this._setFilterTotal(result.total, true);\n this._aggregateResult = this._calculateAggregates(result.dataToAggregate || this._data, options);\n this._setView(result, options);\n this.trigger(REQUESTEND, { type: 'read' });\n this.trigger(CHANGE, {\n items: result.data,\n action: options ? options.action : ''\n });\n }\n return $.Deferred().resolve(isPrevented).promise();\n },\n _hasExpandedSubGroups: function (group) {\n var result = false;\n var length = group.items ? group.items.length : 0;\n if (!group.hasSubgroups) {\n return false;\n }\n for (var i = 0; i < length; i++) {\n if (this._groupsState[group.items[i].uid]) {\n result = true;\n break;\n }\n }\n return result;\n },\n _findGroupedRange: function (data, result, options, parents, callback) {\n var that = this;\n var length = data.length;\n var group;\n var current;\n var itemsLength;\n var hasNotRequestedItems;\n var groupCount;\n var itemsToSkip;\n for (var i = 0; i < length; i++) {\n group = data[i];\n if (options.taken >= options.take) {\n break;\n }\n if (!that._getGroupByUid(group.uid)) {\n that._groupsFlat.push(group);\n }\n if (that._groupsState[group.uid]) {\n if (that._isServerGroupPaged()) {\n if (group.hasSubgroups && !group.subgroupCount) {\n that.getGroupSubGroupCount(group, options, parents, callback);\n that._fetchingGroupItems = true;\n return;\n }\n groupCount = (group.subgroupCount || group.itemCount) + 1;\n itemsToSkip = options.skip - options.skipped;\n hasNotRequestedItems = !group.items || group.items.length - itemsToSkip < options.take - options.taken;\n if (!that._hasExpandedSubGroups(group) && itemsToSkip > groupCount) {\n options.skipped += groupCount;\n continue;\n }\n if (group.hasSubgroups && (!group.items || hasNotRequestedItems && group.items.length < group.subgroupCount) || !group.hasSubgroups && (!group.items || hasNotRequestedItems && group.items.length < group.itemCount)) {\n that.getGroupItems(group, options, parents, callback);\n that._fetchingGroupItems = true;\n return;\n }\n }\n if (options.includeParents && options.skipped < options.skip) {\n options.skipped++;\n group.excludeHeader = true;\n } else if (options.includeParents) {\n options.taken++;\n }\n if (group.hasSubgroups && group.items && group.items.length) {\n group.currentItems = [];\n if (!parents) {\n parents = [];\n }\n parents.push(group);\n that._findGroupedRange(group.items, group.currentItems, options, parents, callback);\n parents.pop();\n if (group.currentItems.length || options.taken > 0) {\n result.push(group);\n } else {\n group.excludeHeader = false;\n }\n } else {\n current = [];\n itemsLength = group.items.length;\n for (var j = 0; j < itemsLength; j++) {\n if (options.skipped < options.skip) {\n options.skipped++;\n continue;\n }\n if (options.taken >= options.take) {\n break;\n }\n current.push(group.items[j]);\n options.taken++;\n }\n if (current.length || options.taken > 0) {\n group.currentItems = current;\n result.push(group);\n } else {\n group.excludeHeader = false;\n }\n }\n } else {\n if (options.skipped < options.skip) {\n options.skipped++;\n continue;\n }\n result.push(group);\n options.taken++;\n }\n }\n },\n getGroupItems: function (group, options, parents, callback) {\n var that = this;\n var skip;\n var take;\n var filter;\n var data;\n var subgroups;\n if (!group.items) {\n group.items = [];\n }\n skip = group.items.length;\n take = that.take();\n filter = this._composeItemsFilter(group, parents);\n data = {\n page: math.floor((skip || 0) / (take || 1)) || 1,\n pageSize: take,\n skip: skip,\n take: take,\n filter: filter,\n aggregate: that._aggregate,\n sort: that._sort\n };\n subgroups = that.findSubgroups(group);\n if (subgroups && subgroups.length) {\n data.group = subgroups;\n data.groupPaging = true;\n }\n clearTimeout(that._timeout);\n that._timeout = setTimeout(function () {\n that._queueRequest(data, function () {\n if (!that.trigger(REQUESTSTART, { type: 'read' })) {\n that.transport.read({\n data: data,\n success: that._groupItemsSuccessHandler(group, options.skip, that.take(), callback),\n error: function () {\n var args = slice.call(arguments);\n that.error.apply(that, args);\n }\n });\n } else {\n that._dequeueRequest();\n }\n });\n }, 100);\n },\n getGroupSubGroupCount: function (group, options, parents, callback) {\n var that = this;\n var filter;\n var groupIndex;\n var data;\n if (!group.items) {\n group.items = [];\n }\n filter = this._composeItemsFilter(group, parents);\n groupIndex = this._group.map(function (g) {\n return g.field;\n }).indexOf(group.field);\n data = {\n filter: filter,\n group: [that._group[groupIndex + 1]],\n groupPaging: true,\n includeSubGroupCount: true\n };\n clearTimeout(that._timeout);\n that._timeout = setTimeout(function () {\n that._queueRequest(data, function () {\n if (!that.trigger(REQUESTSTART, { type: 'read' })) {\n that.transport.read({\n data: data,\n success: that._subGroupCountSuccessHandler(group, options.skip, that.take(), callback),\n error: function () {\n var args = slice.call(arguments);\n that.error.apply(that, args);\n }\n });\n } else {\n that._dequeueRequest();\n }\n });\n }, 100);\n },\n _subGroupCountSuccessHandler: function (group, skip, take, callback) {\n var that = this;\n callback = isFunction(callback) ? callback : noop;\n var totalField = that.options.schema && that.options.schema.total ? that.options.schema.total : 'Total';\n return function (data) {\n that._dequeueRequest();\n that.trigger(REQUESTEND, {\n response: data,\n type: 'read'\n });\n that._fetchingGroupItems = false;\n group.subgroupCount = data[totalField];\n that.range(skip, take, callback, 'expandGroup');\n };\n },\n _groupItemsSuccessHandler: function (group, skip, take, callback) {\n var that = this;\n var timestamp = that._timeStamp();\n callback = isFunction(callback) ? callback : noop;\n return function (data) {\n var temp;\n var model = Model.define(that.options.schema.model);\n that._dequeueRequest();\n that.trigger(REQUESTEND, {\n response: data,\n type: 'read'\n });\n data = that.reader.parse(data);\n if (group.hasSubgroups) {\n temp = that.reader.groups(data);\n } else {\n temp = that.reader.data(data);\n temp = temp.map(function (item) {\n return new model(item);\n });\n }\n group.items.omitChangeEvent = true;\n for (var i = 0; i < temp.length; i++) {\n group.items.push(temp[i]);\n }\n group.items.omitChangeEvent = false;\n that._updateRangePristineData(group);\n that._fetchingGroupItems = false;\n that._serverGroupsTotal += temp.length;\n that.range(skip, take, callback, 'expandGroup');\n if (timestamp >= that._currentRequestTimeStamp || !that._skipRequestsInProgress) {\n that.trigger(CHANGE, {});\n }\n };\n },\n findSubgroups: function (group) {\n var indexOfCurrentGroup = this._group.map(function (g) {\n return g.field;\n }).indexOf(group.field);\n return this._group.slice(indexOfCurrentGroup + 1, this._group.length);\n },\n _composeItemsFilter: function (group, parents) {\n var filter = this.filter() || {\n logic: 'and',\n filters: []\n };\n filter = extend(true, {}, filter);\n filter.filters.push({\n field: group.field,\n operator: 'eq',\n value: group.value\n });\n if (parents) {\n for (var i = 0; i < parents.length; i++) {\n filter.filters.push({\n field: parents[i].field,\n operator: 'eq',\n value: parents[i].value\n });\n }\n }\n return filter;\n },\n _updateRangePristineData: function (group) {\n var that = this;\n var ranges = that._ranges;\n var rangesLength = ranges.length;\n var temp;\n var currentGroup;\n var range;\n var dataLength;\n var indexes;\n for (var i = 0; i < rangesLength; i++) {\n range = ranges[i];\n dataLength = range.data.length;\n indexes = [];\n for (var j = 0; j < dataLength; j++) {\n currentGroup = range.data[j];\n indexes.push(j);\n if (currentGroup.uid === group.uid || currentGroup.hasSubgroups && currentGroup.items.length && that._containsSubGroup(currentGroup, group, indexes)) {\n break;\n }\n indexes.pop();\n }\n if (indexes.length) {\n temp = ranges[i].pristineData;\n while (indexes.length > 1) {\n temp = temp[indexes.splice(0, 1)[0]].items;\n }\n temp[indexes[0]] = that._cloneGroup(group);\n break;\n }\n }\n },\n _containsSubGroup: function (group, subgroup, indexes) {\n var that = this;\n var length = group.items.length;\n var currentSubGroup;\n if (group.hasSubgroups && length) {\n for (var i = 0; i < length; i++) {\n currentSubGroup = group.items[i];\n indexes.push(i);\n if (currentSubGroup.uid === subgroup.uid) {\n return true;\n } else if (currentSubGroup.hasSubgroups && currentSubGroup.items.length) {\n return that._containsSubGroup(currentSubGroup, subgroup, indexes);\n }\n indexes.pop();\n }\n }\n },\n _cloneGroup: function (group) {\n var that = this;\n group = typeof group.toJSON == 'function' ? group.toJSON() : group;\n if (group.items && group.items.length) {\n group.items = group.items.map(function (item) {\n return that._cloneGroup(item);\n });\n }\n return group;\n },\n _setFilterTotal: function (filterTotal, setDefaultValue) {\n var that = this;\n if (!that.options.serverFiltering) {\n if (filterTotal !== undefined) {\n that._total = filterTotal;\n } else if (setDefaultValue) {\n that._total = that._data.length;\n }\n }\n },\n fetch: function (callback) {\n var that = this;\n var fn = function (isPrevented) {\n if (isPrevented !== true && isFunction(callback)) {\n callback.call(that);\n }\n };\n return this._query().done(fn);\n },\n _query: function (options) {\n var that = this;\n return that.query(extend({}, {\n page: that.page(),\n pageSize: that.pageSize(),\n sort: that.sort(),\n filter: that.filter(),\n group: that.group(),\n aggregate: that.aggregate()\n }, options));\n },\n next: function (options) {\n var that = this, page = that.page(), total = that.total();\n options = options || {};\n if (!page || total && page + 1 > that.totalPages()) {\n return;\n }\n that._skip = that._currentRangeStart = page * that.take();\n page += 1;\n options.page = page;\n that._query(options);\n return page;\n },\n prev: function (options) {\n var that = this, page = that.page();\n options = options || {};\n if (!page || page === 1) {\n return;\n }\n that._skip = that._currentRangeStart = that._skip - that.take();\n page -= 1;\n options.page = page;\n that._query(options);\n return page;\n },\n page: function (val) {\n var that = this, skip;\n if (val !== undefined) {\n val = math.max(math.min(math.max(val, 1), that.totalPages()), 1);\n var take = that.take();\n if (that._isGroupPaged()) {\n val -= 1;\n that.range(val * take, take, null, 'page');\n return;\n }\n that._query(that._pageableQueryOptions({ page: val }));\n return;\n }\n skip = that.skip();\n return skip !== undefined ? math.round((skip || 0) / (that.take() || 1)) + 1 : undefined;\n },\n pageSize: function (val) {\n var that = this;\n if (val !== undefined) {\n that._query(that._pageableQueryOptions({\n pageSize: val,\n page: 1\n }));\n return;\n }\n return that.take();\n },\n sort: function (val) {\n var that = this;\n if (val !== undefined) {\n that.trigger('sort');\n that._query({ sort: val });\n return;\n }\n return that._sort;\n },\n filter: function (val) {\n var that = this;\n if (val === undefined) {\n return that._filter;\n }\n that.trigger('reset');\n that._query({\n filter: val,\n page: 1\n });\n },\n group: function (val) {\n var that = this;\n if (val !== undefined) {\n that._query({ group: val });\n return;\n }\n return that._group;\n },\n getGroupsFlat: function (data) {\n var idx, result = [], length;\n for (idx = 0, length = data.length; idx < length; idx++) {\n var group = data[idx];\n if (group.hasSubgroups) {\n result = result.concat(this.getGroupsFlat(group.items));\n }\n result.push(group);\n }\n return result;\n },\n total: function () {\n return parseInt(this._total || 0, 10);\n },\n groupsTotal: function (includeExpanded) {\n var that = this;\n if (!that._group.length) {\n return that.total();\n }\n if (that._isServerGrouped()) {\n if (that._serverGroupsTotal) {\n return that._serverGroupsTotal;\n }\n that._serverGroupsTotal = that.total();\n return that._serverGroupsTotal;\n }\n return that._calculateGroupsTotal(that._ranges.length ? that._ranges[0].data : [], includeExpanded);\n },\n _calculateGroupsTotal: function (groups, includeExpanded, itemsField, ignoreState) {\n var that = this;\n itemsField = itemsField || 'items';\n var total;\n var length;\n if (that._group.length && groups) {\n total = 0;\n length = groups.length;\n for (var i = 0; i < length; i++) {\n total += that.groupCount(groups[i], includeExpanded, itemsField, ignoreState);\n }\n that._groupsTotal = total;\n return total;\n }\n that._groupsTotal = that._data.length;\n return that._groupsTotal;\n },\n groupCount: function (group, includeExpanded, itemsField, ignoreState) {\n var that = this;\n var total = 0;\n if (group.hasSubgroups && that._groupsState[group.uid]) {\n if (includeExpanded && !group.excludeHeader || ignoreState) {\n total += 1;\n }\n group[itemsField].forEach(function (subgroup) {\n total += that.groupCount(subgroup, includeExpanded, itemsField, ignoreState);\n });\n } else {\n if (that._groupsState[group.uid]) {\n if (includeExpanded && !group.excludeHeader || ignoreState) {\n total++;\n }\n total += group[itemsField] ? group[itemsField].length : 0;\n } else {\n total++;\n }\n }\n return total;\n },\n countGroupRange: function (range) {\n var total = 0;\n var length = range.length;\n for (var i = 0; i < length; i++) {\n total += this.groupCount(range[i], true);\n }\n return total;\n },\n aggregate: function (val) {\n var that = this;\n if (val !== undefined) {\n that._query({ aggregate: val });\n return;\n }\n return that._aggregate;\n },\n aggregates: function () {\n var result = this._aggregateResult;\n if (isEmptyObject(result)) {\n result = this._emptyAggregates(this.aggregate());\n }\n return result;\n },\n _emptyAggregates: function (aggregates) {\n var result = {};\n if (!isEmptyObject(aggregates)) {\n var aggregate = {};\n if (!isArray(aggregates)) {\n aggregates = [aggregates];\n }\n for (var idx = 0; idx < aggregates.length; idx++) {\n aggregate[aggregates[idx].aggregate] = 0;\n result[aggregates[idx].field] = aggregate;\n }\n }\n return result;\n },\n _pageableQueryOptions: function (options) {\n return options;\n },\n _wrapInEmptyGroup: function (model) {\n var groups = this.group(), parent, group, idx, length;\n for (idx = groups.length - 1, length = 0; idx >= length; idx--) {\n group = groups[idx];\n parent = {\n value: model.get ? model.get(group.field) : model[group.field],\n field: group.field,\n items: parent ? [parent] : [model],\n hasSubgroups: !!parent,\n aggregates: this._emptyAggregates(group.aggregates)\n };\n }\n return parent;\n },\n totalPages: function () {\n var that = this, pageSize = that.pageSize() || that.total(), total = that._isGroupPaged() ? that.groupsTotal(true) : that.total();\n return math.ceil((total || 0) / pageSize);\n },\n inRange: function (skip, take) {\n var that = this, end = math.min(skip + take, that.total());\n if (!that.options.serverPaging && that._data.length > 0) {\n return true;\n }\n return that._findRange(skip, end).length > 0;\n },\n lastRange: function () {\n var ranges = this._ranges;\n return ranges[ranges.length - 1] || {\n start: 0,\n end: 0,\n data: []\n };\n },\n firstItemUid: function () {\n var ranges = this._ranges;\n return ranges.length && ranges[0].data.length && ranges[0].data[0].uid;\n },\n enableRequestsInProgress: function () {\n this._skipRequestsInProgress = false;\n },\n _timeStamp: function () {\n return new Date().getTime();\n },\n range: function (skip, take, callback, action) {\n this._currentRequestTimeStamp = this._timeStamp();\n this._skipRequestsInProgress = true;\n var total = this._isGroupPaged() ? this.groupsTotal(true) : this.total();\n if (action === 'expandGroup' || action === 'collapseGroup') {\n this._updateOuterRangesLength();\n }\n skip = math.min(skip || 0, total);\n callback = isFunction(callback) ? callback : noop;\n var that = this, pageSkip = math.max(math.floor(skip / take), 0) * take, size = math.min(pageSkip + take, total), data;\n data = that._findRange(skip, math.min(skip + take, total), callback);\n if ((data.length || total === 0) && !that._fetchingGroupItems) {\n that._processRangeData(data, skip, take, that._originalPageSkip || pageSkip, that._originalSize || size, { action: action });\n that._originalPageSkip = null;\n that._originalSize = null;\n callback();\n return;\n }\n if (that._isGroupPaged()) {\n that._originalPageSkip = pageSkip;\n that._originalSize = size;\n pageSkip = math.max(math.floor(that._adjustPageSkip(skip, take) / take), 0) * take;\n size = math.min(pageSkip + take, total);\n }\n if (take !== undefined && !that._fetchingGroupItems) {\n if (that._isGroupPaged() && !that._groupRangeExists(pageSkip, take) || !that._rangeExists(pageSkip, size)) {\n that.prefetch(pageSkip, take, function () {\n if (skip > pageSkip && size < that.total() && !that._rangeExists(size, math.min(size + take, that.total()))) {\n that.prefetch(size, take, function () {\n that.range(skip, take, callback);\n });\n } else {\n that.range(skip, take, callback);\n }\n });\n } else if (pageSkip < skip) {\n that.prefetch(size, take, function () {\n that.range(skip, take, callback);\n });\n }\n }\n },\n _findRange: function (start, end, callback) {\n var that = this, ranges = that._ranges, range, data = [], skipIdx, takeIdx, startIndex, endIndex, rangeData, rangeEnd, processed, options = that.options, remote = options.serverSorting || options.serverPaging || options.serverFiltering || options.serverGrouping || options.serverAggregates, flatData, count, length, groupMapOptions = {\n take: end - start,\n skip: start,\n skipped: 0,\n taken: 0,\n includeParents: true\n }, prevRangeEnd, isGroupPaged = that._isGroupPaged(), startField = isGroupPaged ? 'outerStart' : 'start', endField = isGroupPaged ? 'outerEnd' : 'end', currentDataLength;\n for (skipIdx = 0, length = ranges.length; skipIdx < length; skipIdx++) {\n range = ranges[skipIdx];\n if (isGroupPaged) {\n if (range.outerStart >= end) {\n return [];\n }\n if (start > range.outerEnd) {\n groupMapOptions.skipped += range.outerEnd - (prevRangeEnd || 0);\n prevRangeEnd = range.outerEnd;\n continue;\n }\n if (typeof prevRangeEnd !== 'undefined' && prevRangeEnd != range.outerStart) {\n groupMapOptions.skipped += range.outerStart - prevRangeEnd;\n }\n if (groupMapOptions.skipped > groupMapOptions.skip) {\n return [];\n }\n if (typeof prevRangeEnd === 'undefined' && start > 0 && range.start > 0) {\n groupMapOptions.skipped = range.outerStart;\n }\n takeIdx = skipIdx;\n while (true) {\n this._findGroupedRange(range.data, data, groupMapOptions, null, callback);\n currentDataLength = that._calculateGroupsTotal(data, true, 'currentItems');\n if (currentDataLength >= groupMapOptions.take) {\n return data;\n }\n if (that._fetchingGroupItems) {\n return [];\n }\n takeIdx++;\n if (ranges[takeIdx] && ranges[takeIdx].outerStart === range.outerEnd) {\n range = ranges[takeIdx];\n } else {\n break;\n }\n }\n } else if (start >= range[startField] && start <= range[endField]) {\n count = 0;\n for (takeIdx = skipIdx; takeIdx < length; takeIdx++) {\n range = ranges[takeIdx];\n flatData = that._flatData(range.data, true);\n if (flatData.length && start + count >= range.start) {\n rangeData = range.data;\n rangeEnd = range.end;\n if (!remote) {\n if (options.inPlaceSort) {\n processed = that._queryProcess(range.data, { filter: that.filter() });\n } else {\n var sort = normalizeGroupWithoutCompare(that.group() || []).concat(normalizeSort(that.sort() || []));\n processed = that._queryProcess(range.data, {\n sort: sort,\n filter: that.filter()\n });\n }\n flatData = rangeData = processed.data;\n if (processed.total !== undefined) {\n rangeEnd = processed.total;\n }\n }\n startIndex = 0;\n if (start + count > range.start) {\n startIndex = start + count - range.start;\n }\n endIndex = flatData.length;\n if (rangeEnd > end) {\n endIndex = endIndex - (rangeEnd - end);\n }\n count += endIndex - startIndex;\n data = that._mergeGroups(data, rangeData, startIndex, endIndex);\n if (end <= range.end && count == end - start) {\n return data;\n }\n }\n }\n break;\n }\n prevRangeEnd = range.outerEnd;\n }\n return [];\n },\n _getRangesMismatch: function (pageSkip) {\n var that = this;\n var ranges = that._ranges;\n var mismatch = 0;\n var i = 0;\n while (true) {\n var range = ranges[i];\n if (!range || range.outerStart > pageSkip) {\n break;\n }\n if (range.outerEnd != range.end) {\n mismatch = range.outerEnd - range.end;\n }\n i++;\n }\n return mismatch;\n },\n _mergeGroups: function (data, range, skip, take) {\n if (this._isServerGrouped()) {\n var temp = range.toJSON(), prevGroup;\n if (data.length) {\n prevGroup = data[data.length - 1];\n }\n mergeGroups(prevGroup, temp, skip, take);\n return data.concat(temp);\n }\n return data.concat(range.slice(skip, take));\n },\n _processRangeData: function (data, skip, take, pageSkip, size, eventData) {\n var that = this;\n that._pending = undefined;\n that._skip = skip > that.skip() && !that._omitPrefetch ? math.min(size, (that.totalPages() - 1) * that.take()) : pageSkip;\n that._currentRangeStart = skip;\n that._take = take;\n var paging = that.options.serverPaging;\n var sorting = that.options.serverSorting;\n var filtering = that.options.serverFiltering;\n var aggregates = that.options.serverAggregates;\n try {\n that.options.serverPaging = true;\n if (!that._isServerGrouped() && !(that.group() && that.group().length)) {\n that.options.serverSorting = true;\n }\n that.options.serverFiltering = true;\n that.options.serverPaging = true;\n that.options.serverAggregates = true;\n if (paging) {\n that._detachObservableParents();\n that._data = data = that._observe(data);\n }\n that._process(data, eventData);\n } finally {\n that.options.serverPaging = paging;\n that.options.serverSorting = sorting;\n that.options.serverFiltering = filtering;\n that.options.serverAggregates = aggregates;\n }\n },\n skip: function () {\n var that = this;\n if (that._skip === undefined) {\n return that._page !== undefined ? (that._page - 1) * (that.take() || 1) : undefined;\n }\n return that._skip;\n },\n currentRangeStart: function () {\n return this._currentRangeStart || 0;\n },\n take: function () {\n return this._take || this._pageSize;\n },\n _prefetchSuccessHandler: function (skip, size, callback, force) {\n var that = this;\n var timestamp = that._timeStamp();\n return function (data) {\n var found = false, range = {\n start: skip,\n end: size,\n data: [],\n timestamp: that._timeStamp()\n }, idx, length, temp;\n that._dequeueRequest();\n that.trigger(REQUESTEND, {\n response: data,\n type: 'read'\n });\n data = that.reader.parse(data);\n temp = that._readData(data);\n if (temp.length) {\n for (idx = 0, length = that._ranges.length; idx < length; idx++) {\n if (that._ranges[idx].start === skip) {\n found = true;\n range = that._ranges[idx];\n if (!that._isGroupPaged()) {\n range.pristineData = temp;\n range.data = that._observe(temp);\n range.end = range.start + that._flatData(range.data, true).length;\n that._sortRanges();\n }\n break;\n }\n }\n if (!found) {\n that._addRange(that._observe(temp), skip);\n }\n }\n that._total = that.reader.total(data);\n if (force || (timestamp >= that._currentRequestTimeStamp || !that._skipRequestsInProgress)) {\n if (callback && temp.length) {\n callback();\n } else {\n that.trigger(CHANGE, {});\n }\n }\n };\n },\n prefetch: function (skip, take, callback) {\n var that = this, size = math.min(skip + take, that.total()), options = {\n take: take,\n skip: skip,\n page: skip / take + 1,\n pageSize: take,\n sort: that._sort,\n filter: that._filter,\n group: that._group,\n aggregate: that._aggregate\n };\n if (that._isGroupPaged() && !that._isServerGrouped() && that._groupRangeExists(skip, size)) {\n if (callback) {\n callback();\n }\n return;\n }\n if (that._isServerGroupPaged() && !that._groupRangeExists(skip, size) || !that._rangeExists(skip, size)) {\n clearTimeout(that._timeout);\n that._timeout = setTimeout(function () {\n that._queueRequest(options, function () {\n if (!that.trigger(REQUESTSTART, { type: 'read' })) {\n if (that._omitPrefetch) {\n that.trigger(PROGRESS);\n }\n that.transport.read({\n data: that._params(options),\n success: that._prefetchSuccessHandler(skip, size, callback),\n error: function () {\n var args = slice.call(arguments);\n that.error.apply(that, args);\n }\n });\n } else {\n that._dequeueRequest();\n }\n });\n }, 100);\n } else if (callback) {\n callback();\n }\n },\n _multiplePrefetch: function (skip, take, callback) {\n var that = this, size = math.min(skip + take, that.total()), options = {\n take: take,\n skip: skip,\n page: skip / take + 1,\n pageSize: take,\n sort: that._sort,\n filter: that._filter,\n group: that._group,\n aggregate: that._aggregate\n };\n if (!that._rangeExists(skip, size)) {\n if (!that.trigger(REQUESTSTART, { type: 'read' })) {\n that.transport.read({\n data: that._params(options),\n success: that._prefetchSuccessHandler(skip, size, callback, true)\n });\n }\n } else if (callback) {\n callback();\n }\n },\n _adjustPageSkip: function (start, take) {\n var that = this;\n var prevRange = that._getPrevRange(start);\n var result;\n var total = that.total();\n var mismatch;\n if (prevRange) {\n mismatch = that._getRangesMismatch(start);\n if (!mismatch) {\n return start;\n }\n start -= mismatch;\n }\n result = math.max(math.floor(start / take), 0) * take;\n if (result > total) {\n while (true) {\n result -= take;\n if (result < total) {\n break;\n }\n }\n }\n return result;\n },\n _getNextRange: function (end) {\n var that = this, ranges = that._ranges, idx, length;\n for (idx = 0, length = ranges.length; idx < length; idx++) {\n if (ranges[idx].start <= end && ranges[idx].end >= end) {\n return ranges[idx];\n }\n }\n },\n _getPrevRange: function (start) {\n var that = this, ranges = that._ranges, idx, range, length = ranges.length;\n for (idx = length - 1; idx >= 0; idx--) {\n if (ranges[idx].outerStart <= start) {\n range = ranges[idx];\n break;\n }\n }\n return range;\n },\n _rangeExists: function (start, end) {\n var that = this, ranges = that._ranges, idx, length;\n for (idx = 0, length = ranges.length; idx < length; idx++) {\n if (ranges[idx].start <= start && ranges[idx].end >= end) {\n return true;\n }\n }\n return false;\n },\n _groupRangeExists: function (start, end) {\n var that = this, ranges = that._ranges, idx, length, availableItemsCount = 0, total = that.groupsTotal(true);\n if (end > total && !that._isServerGrouped()) {\n end = total;\n }\n for (idx = 0, length = ranges.length; idx < length; idx++) {\n var range = ranges[idx];\n if (range.outerStart <= start && range.outerEnd >= start) {\n availableItemsCount += range.outerEnd - start;\n } else if (range.outerStart <= end && range.outerEnd >= end) {\n availableItemsCount += end - range.outerStart;\n }\n }\n return availableItemsCount >= end - start;\n },\n _getCurrentRangeSpan: function () {\n var that = this;\n var ranges = that._ranges;\n var start = that.currentRangeStart();\n var end = start + (that.take() || 0);\n var rangeSpan = [];\n var range;\n var idx;\n var length = ranges.length;\n for (idx = 0; idx < length; idx++) {\n range = ranges[idx];\n if (range.start <= start && range.end >= start || range.start >= start && range.start <= end) {\n rangeSpan.push(range);\n }\n }\n return rangeSpan;\n },\n _removeModelFromRanges: function (model) {\n var that = this;\n var range;\n for (var idx = 0, length = this._ranges.length; idx < length; idx++) {\n range = this._ranges[idx];\n that._removeModelFromRange(range, model);\n }\n that._updateRangesLength();\n },\n _removeModelFromRange: function (range, model) {\n this._eachItem(range.data, function (data) {\n if (!data) {\n return;\n }\n for (var idx = 0; idx < data.length; idx++) {\n var dataItem = data[idx];\n if (dataItem.uid && dataItem.uid == model.uid) {\n [].splice.call(data, idx, 1);\n break;\n }\n }\n });\n },\n _insertModelInRange: function (index, model) {\n var that = this;\n var ranges = that._ranges || [];\n var rangesLength = ranges.length;\n var range;\n var i;\n for (i = 0; i < rangesLength; i++) {\n range = ranges[i];\n if (range.start <= index && range.end >= index) {\n if (!that._getByUid(model.uid, range.data)) {\n if (that._isServerGrouped()) {\n range.data.splice(index, 0, that._wrapInEmptyGroup(model));\n } else {\n range.data.splice(index, 0, model);\n }\n }\n break;\n }\n }\n that._updateRangesLength();\n },\n _updateRangesLength: function () {\n var that = this;\n var ranges = that._ranges || [];\n var rangesLength = ranges.length;\n var mismatchFound = false;\n var mismatchLength = 0;\n var lengthDifference = 0;\n var rangeLength;\n var range;\n var i;\n for (i = 0; i < rangesLength; i++) {\n range = ranges[i];\n rangeLength = that._isGroupPaged() ? range.data.length : that._flatData(range.data, true).length;\n lengthDifference = rangeLength - math.abs(range.end - range.start);\n if (!mismatchFound && lengthDifference !== 0) {\n mismatchFound = true;\n mismatchLength = lengthDifference;\n range.end += mismatchLength;\n continue;\n }\n if (mismatchFound) {\n range.start += mismatchLength;\n range.end += mismatchLength;\n }\n }\n },\n _updateOuterRangesLength: function () {\n var that = this;\n var ranges = that._ranges || [];\n var rangesLength = ranges.length;\n var mismatchLength = 0;\n var range;\n var i;\n var prevRange;\n var rangeLength;\n for (i = 0; i < rangesLength; i++) {\n range = ranges[i];\n rangeLength = that._isGroupPaged() ? that._calculateGroupsTotal(range.data, true, 'items', true) : that._flatData(range.data, true).length;\n if (prevRange) {\n if (prevRange.end != range.start) {\n mismatchLength = range.start - prevRange.end;\n }\n range.outerStart = prevRange.outerEnd + mismatchLength;\n mismatchLength = 0;\n } else {\n range.outerStart = range.start;\n }\n range.outerEnd = range.outerStart + rangeLength;\n prevRange = range;\n }\n }\n });\n var Transport = {};\n Transport.create = function (options, data, dataSource) {\n var transport, transportOptions = options.transport ? $.extend({}, options.transport) : null;\n if (transportOptions) {\n transportOptions.read = typeof transportOptions.read === STRING ? { url: transportOptions.read } : transportOptions.read;\n if (options.type === 'jsdo') {\n transportOptions.dataSource = dataSource;\n }\n if (options.type) {\n kendo.data.transports = kendo.data.transports || {};\n kendo.data.schemas = kendo.data.schemas || {};\n if (!kendo.data.transports[options.type]) {\n kendo.logToConsole('Unknown DataSource transport type \\'' + options.type + '\\'.\\nVerify that registration scripts for this type are included after Kendo UI on the page.', 'warn');\n } else if (!isPlainObject(kendo.data.transports[options.type])) {\n transport = new kendo.data.transports[options.type](extend(transportOptions, { data: data }));\n } else {\n transportOptions = extend(true, {}, kendo.data.transports[options.type], transportOptions);\n }\n options.schema = extend(true, {}, kendo.data.schemas[options.type], options.schema);\n }\n if (!transport) {\n transport = isFunction(transportOptions.read) ? transportOptions : new RemoteTransport(transportOptions);\n }\n } else {\n transport = new LocalTransport({ data: options.data || [] });\n }\n return transport;\n };\n DataSource.create = function (options) {\n if (isArray(options) || options instanceof ObservableArray) {\n options = { data: options };\n }\n var dataSource = options || {}, data = dataSource.data, fields = dataSource.fields, table = dataSource.table, select = dataSource.select, idx, length, model = {}, field;\n if (!data && fields && !dataSource.transport) {\n if (table) {\n data = inferTable(table, fields);\n } else if (select) {\n data = inferSelect(select, fields);\n if (dataSource.group === undefined && data[0] && data[0].optgroup !== undefined) {\n dataSource.group = 'optgroup';\n }\n }\n }\n if (kendo.data.Model && fields && (!dataSource.schema || !dataSource.schema.model)) {\n for (idx = 0, length = fields.length; idx < length; idx++) {\n field = fields[idx];\n if (field.type) {\n model[field.field] = field;\n }\n }\n if (!isEmptyObject(model)) {\n dataSource.schema = extend(true, dataSource.schema, { model: { fields: model } });\n }\n }\n dataSource.data = data;\n select = null;\n dataSource.select = null;\n table = null;\n dataSource.table = null;\n return dataSource instanceof DataSource ? dataSource : new DataSource(dataSource);\n };\n function inferSelect(select, fields) {\n select = $(select)[0];\n var options = select.options;\n var firstField = fields[0];\n var secondField = fields[1];\n var data = [];\n var idx, length;\n var optgroup;\n var option;\n var record;\n var value;\n for (idx = 0, length = options.length; idx < length; idx++) {\n record = {};\n option = options[idx];\n optgroup = option.parentNode;\n if (optgroup === select) {\n optgroup = null;\n }\n if (option.disabled || optgroup && optgroup.disabled) {\n continue;\n }\n if (optgroup) {\n record.optgroup = optgroup.label;\n }\n record[firstField.field] = option.text;\n value = option.attributes.value;\n if (value && value.specified) {\n value = option.value;\n } else {\n value = option.text;\n }\n record[secondField.field] = value;\n data.push(record);\n }\n return data;\n }\n function inferTable(table, fields) {\n var tbody = $(table)[0].tBodies[0], rows = tbody ? tbody.rows : [], idx, length, fieldIndex, fieldCount = fields.length, data = [], cells, record, cell, empty;\n for (idx = 0, length = rows.length; idx < length; idx++) {\n record = {};\n empty = true;\n cells = rows[idx].cells;\n for (fieldIndex = 0; fieldIndex < fieldCount; fieldIndex++) {\n cell = cells[fieldIndex];\n if (cell.nodeName.toLowerCase() !== 'th') {\n empty = false;\n record[fields[fieldIndex].field] = cell.innerHTML;\n }\n }\n if (!empty) {\n data.push(record);\n }\n }\n return data;\n }\n var Node = Model.define({\n idField: 'id',\n init: function (value) {\n var that = this, hasChildren = that.hasChildren || value && value.hasChildren, childrenField = 'items', childrenOptions = {};\n kendo.data.Model.fn.init.call(that, value);\n if (typeof that.children === STRING) {\n childrenField = that.children;\n }\n childrenOptions = {\n schema: {\n data: childrenField,\n model: {\n hasChildren: hasChildren,\n id: that.idField,\n fields: that.fields\n }\n }\n };\n if (typeof that.children !== STRING) {\n extend(childrenOptions, that.children);\n }\n childrenOptions.data = value;\n if (!hasChildren) {\n hasChildren = childrenOptions.schema.data;\n }\n if (typeof hasChildren === STRING) {\n hasChildren = kendo.getter(hasChildren);\n }\n if (isFunction(hasChildren)) {\n var hasChildrenObject = hasChildren.call(that, that);\n if (hasChildrenObject && hasChildrenObject.length === 0) {\n that.hasChildren = false;\n } else {\n that.hasChildren = !!hasChildrenObject;\n }\n }\n that._childrenOptions = childrenOptions;\n if (that.hasChildren) {\n that._initChildren();\n }\n that._loaded = !!(value && value._loaded);\n },\n _initChildren: function () {\n var that = this;\n var children, transport, parameterMap;\n if (!(that.children instanceof HierarchicalDataSource)) {\n children = that.children = new HierarchicalDataSource(that._childrenOptions);\n transport = children.transport;\n parameterMap = transport.parameterMap;\n transport.parameterMap = function (data, type) {\n data[that.idField || 'id'] = that.id;\n if (parameterMap) {\n data = parameterMap.call(that, data, type);\n }\n return data;\n };\n children.parent = function () {\n return that;\n };\n children.bind(CHANGE, function (e) {\n e.node = e.node || that;\n that.trigger(CHANGE, e);\n });\n children.bind(ERROR, function (e) {\n var collection = that.parent();\n if (collection) {\n e.node = e.node || that;\n collection.trigger(ERROR, e);\n }\n });\n that._updateChildrenField();\n }\n },\n append: function (model) {\n this._initChildren();\n this.loaded(true);\n this.children.add(model);\n },\n hasChildren: false,\n level: function () {\n var parentNode = this.parentNode(), level = 0;\n while (parentNode && parentNode.parentNode) {\n level++;\n parentNode = parentNode.parentNode ? parentNode.parentNode() : null;\n }\n return level;\n },\n _updateChildrenField: function () {\n var fieldName = this._childrenOptions.schema.data;\n this[fieldName || 'items'] = this.children.data();\n },\n _childrenLoaded: function () {\n this._loaded = true;\n this._updateChildrenField();\n },\n load: function () {\n var options = {};\n var method = '_query';\n var children, promise;\n if (this.hasChildren) {\n this._initChildren();\n children = this.children;\n options[this.idField || 'id'] = this.id;\n if (!this._loaded) {\n children._data = undefined;\n method = 'read';\n }\n children.one(CHANGE, proxy(this._childrenLoaded, this));\n if (this._matchFilter) {\n options.filter = {\n field: '_matchFilter',\n operator: 'eq',\n value: true\n };\n }\n promise = children[method](options);\n } else {\n this.loaded(true);\n }\n return promise || $.Deferred().resolve().promise();\n },\n parentNode: function () {\n var array = this.parent();\n return array.parent();\n },\n loaded: function (value) {\n if (value !== undefined) {\n this._loaded = value;\n } else {\n return this._loaded;\n }\n },\n shouldSerialize: function (field) {\n return Model.fn.shouldSerialize.call(this, field) && field !== 'children' && field !== '_loaded' && field !== 'hasChildren' && field !== '_childrenOptions';\n }\n });\n function dataMethod(name) {\n return function () {\n var data = this._data, result = DataSource.fn[name].apply(this, slice.call(arguments));\n if (this._data != data) {\n this._attachBubbleHandlers();\n }\n return result;\n };\n }\n var HierarchicalDataSource = DataSource.extend({\n init: function (options) {\n var node = Node.define({ children: options });\n if (options.filter && !options.serverFiltering) {\n this._hierarchicalFilter = options.filter;\n options.filter = null;\n }\n DataSource.fn.init.call(this, extend(true, {}, {\n schema: {\n modelBase: node,\n model: node\n }\n }, options));\n this._attachBubbleHandlers();\n },\n _attachBubbleHandlers: function () {\n var that = this;\n that._data.bind(ERROR, function (e) {\n that.trigger(ERROR, e);\n });\n },\n read: function (data) {\n var result = DataSource.fn.read.call(this, data);\n if (this._hierarchicalFilter) {\n if (this._data && this._data.length > 0) {\n this.filter(this._hierarchicalFilter);\n } else {\n this.options.filter = this._hierarchicalFilter;\n this._filter = normalizeFilter(this.options.filter);\n this._hierarchicalFilter = null;\n }\n }\n return result;\n },\n remove: function (node) {\n var parentNode = node.parentNode(), dataSource = this, result;\n if (parentNode && parentNode._initChildren) {\n dataSource = parentNode.children;\n }\n result = DataSource.fn.remove.call(dataSource, node);\n if (parentNode && !dataSource.data().length) {\n parentNode.hasChildren = false;\n }\n return result;\n },\n success: dataMethod('success'),\n data: dataMethod('data'),\n insert: function (index, model) {\n var parentNode = this.parent();\n if (parentNode && parentNode._initChildren) {\n parentNode.hasChildren = true;\n parentNode._initChildren();\n }\n return DataSource.fn.insert.call(this, index, model);\n },\n filter: function (val) {\n if (val === undefined) {\n return this._filter;\n }\n if (!this.options.serverFiltering && this._markHierarchicalQuery(val)) {\n val = {\n logic: 'or',\n filters: [\n val,\n {\n field: '_matchFilter',\n operator: 'equals',\n value: true\n }\n ]\n };\n }\n this.trigger('reset');\n this._query({\n filter: val,\n page: 1\n });\n },\n _markHierarchicalQuery: function (expressions) {\n var compiled;\n var predicate;\n var fields;\n var operators;\n var filter;\n var accentFoldingFiltering = this.options.accentFoldingFiltering;\n expressions = accentFoldingFiltering ? $.extend({}, normalizeFilter(expressions), { accentFoldingFiltering: accentFoldingFiltering }) : normalizeFilter(expressions);\n if (!expressions || expressions.filters.length === 0) {\n this._updateHierarchicalFilter(function () {\n return true;\n });\n return false;\n }\n compiled = Query.filterExpr(expressions);\n fields = compiled.fields;\n operators = compiled.operators;\n predicate = filter = new Function('d, __f, __o', 'return ' + compiled.expression);\n if (fields.length || operators.length) {\n filter = function (d) {\n return predicate(d, fields, operators);\n };\n }\n this._updateHierarchicalFilter(filter);\n return true;\n },\n _updateHierarchicalFilter: function (filter) {\n var current;\n var data = this._data;\n var result = false;\n for (var idx = 0; idx < data.length; idx++) {\n current = data[idx];\n if (current.hasChildren) {\n current._matchFilter = current.children._updateHierarchicalFilter(filter);\n if (!current._matchFilter) {\n current._matchFilter = filter(current);\n }\n } else {\n current._matchFilter = filter(current);\n }\n if (current._matchFilter) {\n result = true;\n }\n }\n return result;\n },\n _find: function (method, value) {\n var idx, length, node, children;\n var data = this._data;\n if (!data) {\n return;\n }\n node = DataSource.fn[method].call(this, value);\n if (node) {\n return node;\n }\n data = this._flatData(this._data);\n for (idx = 0, length = data.length; idx < length; idx++) {\n children = data[idx].children;\n if (!(children instanceof HierarchicalDataSource)) {\n continue;\n }\n node = children[method](value);\n if (node) {\n return node;\n }\n }\n },\n get: function (id) {\n return this._find('get', id);\n },\n getByUid: function (uid) {\n return this._find('getByUid', uid);\n }\n });\n function inferList(list, fields) {\n var items = $(list).children(), idx, length, data = [], record, textField = fields[0].field, urlField = fields[1] && fields[1].field, spriteCssClassField = fields[2] && fields[2].field, imageUrlField = fields[3] && fields[3].field, item, id, textChild, className, children;\n function elements(collection, tagName) {\n return collection.filter(tagName).add(collection.find(tagName));\n }\n for (idx = 0, length = items.length; idx < length; idx++) {\n record = { _loaded: true };\n item = items.eq(idx);\n textChild = item[0].firstChild;\n children = item.children();\n list = children.filter('ul');\n children = children.filter(':not(ul)');\n id = item.attr('data-id');\n if (id) {\n record.id = id;\n }\n if (textChild) {\n record[textField] = textChild.nodeType == 3 ? textChild.nodeValue : children.text();\n }\n if (urlField) {\n record[urlField] = elements(children, 'a').attr('href');\n }\n if (imageUrlField) {\n record[imageUrlField] = elements(children, 'img').attr('src');\n }\n if (spriteCssClassField) {\n className = elements(children, '.k-sprite').prop('className');\n record[spriteCssClassField] = className && kendo.trim(className.replace('k-sprite', ''));\n }\n if (list.length) {\n record.items = inferList(list.eq(0), fields);\n }\n if (item.attr('data-hasChildren') == 'true') {\n record.hasChildren = true;\n }\n data.push(record);\n }\n return data;\n }\n HierarchicalDataSource.create = function (options) {\n options = options && options.push ? { data: options } : options;\n var dataSource = options || {}, data = dataSource.data, fields = dataSource.fields, list = dataSource.list;\n if (data && data._dataSource) {\n return data._dataSource;\n }\n if (!data && fields && !dataSource.transport) {\n if (list) {\n data = inferList(list, fields);\n }\n }\n dataSource.data = data;\n return dataSource instanceof HierarchicalDataSource ? dataSource : new HierarchicalDataSource(dataSource);\n };\n var Buffer = kendo.Observable.extend({\n init: function (dataSource, viewSize, disablePrefetch) {\n kendo.Observable.fn.init.call(this);\n this._prefetching = false;\n this.dataSource = dataSource;\n this.prefetch = !disablePrefetch;\n var buffer = this;\n dataSource.bind('change', function () {\n buffer._change();\n });\n dataSource.bind('reset', function () {\n buffer._reset();\n });\n this._syncWithDataSource();\n this.setViewSize(viewSize);\n },\n setViewSize: function (viewSize) {\n this.viewSize = viewSize;\n this._recalculate();\n },\n at: function (index) {\n var pageSize = this.pageSize, itemPresent = true;\n if (index >= this.total()) {\n this.trigger('endreached', { index: index });\n return null;\n }\n if (!this.useRanges) {\n return this.dataSource.view()[index];\n }\n if (this.useRanges) {\n if (index < this.dataOffset || index >= this.skip + pageSize) {\n itemPresent = this.range(Math.floor(index / pageSize) * pageSize);\n }\n if (index === this.prefetchThreshold) {\n this._prefetch();\n }\n if (index === this.midPageThreshold) {\n this.range(this.nextMidRange, true);\n } else if (index === this.nextPageThreshold) {\n this.range(this.nextFullRange);\n } else if (index === this.pullBackThreshold) {\n if (this.offset === this.skip) {\n this.range(this.previousMidRange);\n } else {\n this.range(this.previousFullRange);\n }\n }\n if (itemPresent) {\n return this.dataSource.at(index - this.dataOffset);\n } else {\n this.trigger('endreached', { index: index });\n return null;\n }\n }\n },\n indexOf: function (item) {\n return this.dataSource.data().indexOf(item) + this.dataOffset;\n },\n total: function () {\n return parseInt(this.dataSource.total(), 10);\n },\n next: function () {\n var buffer = this, pageSize = buffer.pageSize, offset = buffer.skip - buffer.viewSize + pageSize, pageSkip = math.max(math.floor(offset / pageSize), 0) * pageSize;\n this.offset = offset;\n this.dataSource.prefetch(pageSkip, pageSize, function () {\n buffer._goToRange(offset, true);\n });\n },\n range: function (offset, nextRange) {\n if (this.offset === offset) {\n return true;\n }\n var buffer = this, pageSize = this.pageSize, pageSkip = math.max(math.floor(offset / pageSize), 0) * pageSize, dataSource = this.dataSource;\n if (nextRange) {\n pageSkip += pageSize;\n }\n if (dataSource.inRange(offset, pageSize)) {\n this.offset = offset;\n this._recalculate();\n this._goToRange(offset);\n return true;\n } else if (this.prefetch) {\n dataSource.prefetch(pageSkip, pageSize, function () {\n buffer.offset = offset;\n buffer._recalculate();\n buffer._goToRange(offset, true);\n });\n return false;\n }\n return true;\n },\n syncDataSource: function () {\n var offset = this.offset;\n this.offset = null;\n this.range(offset);\n },\n destroy: function () {\n this.unbind();\n },\n _prefetch: function () {\n var buffer = this, pageSize = this.pageSize, prefetchOffset = this.skip + pageSize, dataSource = this.dataSource;\n if (!dataSource.inRange(prefetchOffset, pageSize) && !this._prefetching && this.prefetch) {\n this._prefetching = true;\n this.trigger('prefetching', {\n skip: prefetchOffset,\n take: pageSize\n });\n dataSource.prefetch(prefetchOffset, pageSize, function () {\n buffer._prefetching = false;\n buffer.trigger('prefetched', {\n skip: prefetchOffset,\n take: pageSize\n });\n });\n }\n },\n _goToRange: function (offset, expanding) {\n if (this.offset !== offset) {\n return;\n }\n this.dataOffset = offset;\n this._expanding = expanding;\n this.dataSource.range(offset, this.pageSize);\n this.dataSource.enableRequestsInProgress();\n },\n _reset: function () {\n this._syncPending = true;\n },\n _change: function () {\n var dataSource = this.dataSource;\n this.length = this.useRanges ? dataSource.lastRange().end : dataSource.view().length;\n if (this._syncPending) {\n this._syncWithDataSource();\n this._recalculate();\n this._syncPending = false;\n this.trigger('reset', { offset: this.offset });\n }\n this.trigger('resize');\n if (this._expanding) {\n this.trigger('expand');\n }\n delete this._expanding;\n },\n _syncWithDataSource: function () {\n var dataSource = this.dataSource;\n this._firstItemUid = dataSource.firstItemUid();\n this.dataOffset = this.offset = dataSource.skip() || 0;\n this.pageSize = dataSource.pageSize();\n this.useRanges = dataSource.options.serverPaging;\n },\n _recalculate: function () {\n var pageSize = this.pageSize, offset = this.offset, viewSize = this.viewSize, skip = Math.ceil(offset / pageSize) * pageSize;\n this.skip = skip;\n this.midPageThreshold = skip + pageSize - 1;\n this.nextPageThreshold = skip + viewSize - 1;\n this.prefetchThreshold = skip + Math.floor(pageSize / 3 * 2);\n this.pullBackThreshold = this.offset - 1;\n this.nextMidRange = skip + pageSize - viewSize;\n this.nextFullRange = skip;\n this.previousMidRange = offset - viewSize;\n this.previousFullRange = skip - pageSize;\n }\n });\n var BatchBuffer = kendo.Observable.extend({\n init: function (dataSource, batchSize) {\n var batchBuffer = this;\n kendo.Observable.fn.init.call(batchBuffer);\n this.dataSource = dataSource;\n this.batchSize = batchSize;\n this._total = 0;\n this.buffer = new Buffer(dataSource, batchSize * 3);\n this.buffer.bind({\n 'endreached': function (e) {\n batchBuffer.trigger('endreached', { index: e.index });\n },\n 'prefetching': function (e) {\n batchBuffer.trigger('prefetching', {\n skip: e.skip,\n take: e.take\n });\n },\n 'prefetched': function (e) {\n batchBuffer.trigger('prefetched', {\n skip: e.skip,\n take: e.take\n });\n },\n 'reset': function () {\n batchBuffer._total = 0;\n batchBuffer.trigger('reset');\n },\n 'resize': function () {\n batchBuffer._total = Math.ceil(this.length / batchBuffer.batchSize);\n batchBuffer.trigger('resize', {\n total: batchBuffer.total(),\n offset: this.offset\n });\n }\n });\n },\n syncDataSource: function () {\n this.buffer.syncDataSource();\n },\n at: function (index) {\n var buffer = this.buffer, skip = index * this.batchSize, take = this.batchSize, view = [], item;\n if (buffer.offset > skip) {\n buffer.at(buffer.offset - 1);\n }\n for (var i = 0; i < take; i++) {\n item = buffer.at(skip + i);\n if (item === null) {\n break;\n }\n view.push(item);\n }\n return view;\n },\n total: function () {\n return this._total;\n },\n destroy: function () {\n this.buffer.destroy();\n this.unbind();\n }\n });\n extend(true, kendo.data, {\n readers: { json: DataReader },\n Query: Query,\n DataSource: DataSource,\n HierarchicalDataSource: HierarchicalDataSource,\n Node: Node,\n ObservableObject: ObservableObject,\n ObservableArray: ObservableArray,\n LazyObservableArray: LazyObservableArray,\n LocalTransport: LocalTransport,\n RemoteTransport: RemoteTransport,\n Cache: Cache,\n DataReader: DataReader,\n Model: Model,\n Buffer: Buffer,\n BatchBuffer: BatchBuffer\n });\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.popup', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'popup',\n name: 'Pop-up',\n category: 'framework',\n depends: ['core'],\n advanced: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, Class = kendo.Class, support = kendo.support, getOffset = kendo.getOffset, outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, OPEN = 'open', CLOSE = 'close', DEACTIVATE = 'deactivate', ACTIVATE = 'activate', CENTER = 'center', LEFT = 'left', RIGHT = 'right', TOP = 'top', BOTTOM = 'bottom', ABSOLUTE = 'absolute', HIDDEN = 'hidden', BODY = 'body', LOCATION = 'location', POSITION = 'position', VISIBLE = 'visible', EFFECTS = 'effects', ACTIVE = 'k-state-active', ACTIVEBORDER = 'k-state-border', ACTIVEBORDERREGEXP = /k-state-border-(\\w+)/, ACTIVECHILDREN = '.k-picker-wrap, .k-dropdown-wrap, .k-link', MOUSEDOWN = 'down', DOCUMENT_ELEMENT = $(document.documentElement), proxy = $.proxy, WINDOW = $(window), SCROLL = 'scroll', cssPrefix = support.transitions.css, TRANSFORM = cssPrefix + 'transform', extend = $.extend, NS = '.kendoPopup', styles = [\n 'font-size',\n 'font-family',\n 'font-stretch',\n 'font-style',\n 'font-weight',\n 'line-height'\n ];\n function contains(container, target) {\n if (!container || !target) {\n return false;\n }\n return container === target || $.contains(container, target);\n }\n var Popup = Widget.extend({\n init: function (element, options) {\n var that = this, parentPopup;\n options = options || {};\n if (options.isRtl) {\n options.origin = options.origin || BOTTOM + ' ' + RIGHT;\n options.position = options.position || TOP + ' ' + RIGHT;\n }\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n that.collisions = options.collision ? options.collision.split(' ') : [];\n that.downEvent = kendo.applyEventMap(MOUSEDOWN, kendo.guid());\n if (that.collisions.length === 1) {\n that.collisions.push(that.collisions[0]);\n }\n parentPopup = $(that.options.anchor).closest('.k-popup,.k-group').filter(':not([class^=km-])');\n options.appendTo = $($(options.appendTo)[0] || parentPopup[0] || document.body);\n that.element.hide().addClass('k-popup k-group k-reset').toggleClass('k-rtl', !!options.isRtl).css({ position: ABSOLUTE }).appendTo(options.appendTo).attr('aria-hidden', true).on('mouseenter' + NS, function () {\n that._hovered = true;\n }).on('wheel' + NS, function (e) {\n var list = $(e.target).find('.k-list');\n var scrollArea = list.parent();\n if (list.length && list.is(':visible') && (scrollArea.scrollTop() === 0 && e.originalEvent.deltaY < 0 || scrollArea.scrollTop() === scrollArea.prop('scrollHeight') - scrollArea.prop('offsetHeight') && e.originalEvent.deltaY > 0)) {\n e.preventDefault();\n }\n }).on('mouseleave' + NS, function () {\n that._hovered = false;\n });\n that.wrapper = $();\n if (options.animation === false) {\n options.animation = {\n open: { effects: {} },\n close: {\n hide: true,\n effects: {}\n }\n };\n }\n extend(options.animation.open, {\n complete: function () {\n that.wrapper.css({ overflow: VISIBLE });\n that._activated = true;\n that._trigger(ACTIVATE);\n }\n });\n extend(options.animation.close, {\n complete: function () {\n that._animationClose();\n }\n });\n that._mousedownProxy = function (e) {\n that._mousedown(e);\n };\n if (support.mobileOS.android) {\n that._resizeProxy = function (e) {\n setTimeout(function () {\n that._resize(e);\n }, 600);\n };\n } else {\n that._resizeProxy = function (e) {\n that._resize(e);\n };\n }\n if (options.toggleTarget) {\n $(options.toggleTarget).on(options.toggleEvent + NS, $.proxy(that.toggle, that));\n }\n },\n events: [\n OPEN,\n ACTIVATE,\n CLOSE,\n DEACTIVATE\n ],\n options: {\n name: 'Popup',\n toggleEvent: 'click',\n origin: BOTTOM + ' ' + LEFT,\n position: TOP + ' ' + LEFT,\n anchor: BODY,\n appendTo: null,\n collision: 'flip fit',\n viewport: window,\n copyAnchorStyles: true,\n autosize: false,\n modal: false,\n adjustSize: {\n width: 0,\n height: 0\n },\n animation: {\n open: {\n effects: 'slideIn:down',\n transition: true,\n duration: 200\n },\n close: {\n duration: 100,\n hide: true\n }\n }\n },\n _animationClose: function () {\n var that = this;\n var location = that.wrapper.data(LOCATION);\n that.wrapper.hide();\n if (location) {\n that.wrapper.css(location);\n }\n if (that.options.anchor != BODY) {\n that._hideDirClass();\n }\n that._closing = false;\n that._trigger(DEACTIVATE);\n },\n destroy: function () {\n var that = this, options = that.options, element = that.element.off(NS), parent;\n Widget.fn.destroy.call(that);\n if (options.toggleTarget) {\n $(options.toggleTarget).off(NS);\n }\n if (!options.modal) {\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n that._toggleResize(false);\n }\n kendo.destroy(that.element.children());\n element.removeData();\n if (options.appendTo[0] === document.body) {\n parent = element.parent('.k-animation-container');\n if (parent[0]) {\n parent.remove();\n } else {\n element.remove();\n }\n }\n },\n open: function (x, y) {\n var that = this, fixed = {\n isFixed: !isNaN(parseInt(y, 10)),\n x: x,\n y: y\n }, element = that.element, options = that.options, animation, wrapper, anchor = $(options.anchor), mobile = element[0] && element.hasClass('km-widget');\n if (!that.visible()) {\n if (options.copyAnchorStyles) {\n if (mobile && styles[0] == 'font-size') {\n styles.shift();\n }\n element.css(kendo.getComputedStyles(anchor[0], styles));\n }\n if (element.data('animating') || that._trigger(OPEN)) {\n return;\n }\n that._activated = false;\n if (!options.modal) {\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy).on(that.downEvent, that._mousedownProxy);\n that._toggleResize(false);\n that._toggleResize(true);\n }\n that.wrapper = wrapper = kendo.wrap(element, options.autosize).css({\n overflow: HIDDEN,\n display: 'block',\n position: ABSOLUTE\n }).attr('aria-hidden', false);\n if (support.mobileOS.android) {\n wrapper.css(TRANSFORM, 'translatez(0)');\n }\n wrapper.css(POSITION);\n if ($(options.appendTo)[0] == document.body) {\n wrapper.css(TOP, '-10000px');\n }\n that.flipped = that._position(fixed);\n animation = that._openAnimation();\n if (options.anchor != BODY) {\n that._showDirClass(animation);\n }\n if (!element.is(':visible') && element.data('olddisplay') === undefined) {\n element.show();\n element.data('olddisplay', element.css('display'));\n element.hide();\n }\n element.data(EFFECTS, animation.effects).kendoStop(true).kendoAnimate(animation).attr('aria-hidden', false);\n }\n },\n _location: function (isFixed) {\n var that = this, element = that.element, options = that.options, wrapper, anchor = $(options.anchor), mobile = element[0] && element.hasClass('km-widget');\n if (options.copyAnchorStyles) {\n if (mobile && styles[0] == 'font-size') {\n styles.shift();\n }\n element.css(kendo.getComputedStyles(anchor[0], styles));\n }\n that.wrapper = wrapper = kendo.wrap(element, options.autosize).css({\n overflow: HIDDEN,\n display: 'block',\n position: ABSOLUTE\n });\n if (support.mobileOS.android) {\n wrapper.css(TRANSFORM, 'translatez(0)');\n }\n wrapper.css(POSITION);\n if ($(options.appendTo)[0] == document.body) {\n wrapper.css(TOP, '-10000px');\n }\n that._position(isFixed || {});\n var offset = wrapper.offset();\n return {\n width: kendo._outerWidth(wrapper),\n height: kendo._outerHeight(wrapper),\n left: offset.left,\n top: offset.top\n };\n },\n _openAnimation: function () {\n var animation = extend(true, {}, this.options.animation.open);\n animation.effects = kendo.parseEffects(animation.effects, this.flipped);\n return animation;\n },\n _hideDirClass: function () {\n var anchor = $(this.options.anchor);\n var direction = ((anchor.attr('class') || '').match(ACTIVEBORDERREGEXP) || [\n '',\n 'down'\n ])[1];\n var dirClass = ACTIVEBORDER + '-' + direction;\n anchor.removeClass(dirClass).children(ACTIVECHILDREN).removeClass(ACTIVE).removeClass(dirClass);\n this.element.removeClass(ACTIVEBORDER + '-' + kendo.directions[direction].reverse);\n },\n _showDirClass: function (animation) {\n var direction = animation.effects.slideIn ? animation.effects.slideIn.direction : 'down';\n var dirClass = ACTIVEBORDER + '-' + direction;\n $(this.options.anchor).addClass(dirClass).children(ACTIVECHILDREN).addClass(ACTIVE).addClass(dirClass);\n this.element.addClass(ACTIVEBORDER + '-' + kendo.directions[direction].reverse);\n },\n position: function () {\n if (this.visible()) {\n this.flipped = this._position();\n }\n },\n toggle: function () {\n var that = this;\n that[that.visible() ? CLOSE : OPEN]();\n },\n visible: function () {\n return this.element.is(':' + VISIBLE);\n },\n close: function (skipEffects) {\n var that = this, options = that.options, wrap, animation, openEffects, closeEffects;\n if (that.visible()) {\n wrap = that.wrapper[0] ? that.wrapper : kendo.wrap(that.element).hide();\n that._toggleResize(false);\n if (that._closing || that._trigger(CLOSE)) {\n that._toggleResize(true);\n return;\n }\n that.element.find('.k-popup').each(function () {\n var that = $(this), popup = that.data('kendoPopup');\n if (popup) {\n popup.close(skipEffects);\n }\n });\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n if (skipEffects) {\n animation = {\n hide: true,\n effects: {}\n };\n } else {\n animation = extend(true, {}, options.animation.close);\n openEffects = that.element.data(EFFECTS);\n closeEffects = animation.effects;\n if (!closeEffects && !kendo.size(closeEffects) && openEffects && kendo.size(openEffects)) {\n animation.effects = openEffects;\n animation.reverse = true;\n }\n that._closing = true;\n }\n that.element.kendoStop(true).attr('aria-hidden', true);\n wrap.css({ overflow: HIDDEN }).attr('aria-hidden', true);\n that.element.kendoAnimate(animation);\n if (skipEffects) {\n that._animationClose();\n }\n }\n },\n _trigger: function (ev) {\n return this.trigger(ev, { type: ev });\n },\n _resize: function (e) {\n var that = this;\n if (support.resize.indexOf(e.type) !== -1) {\n clearTimeout(that._resizeTimeout);\n that._resizeTimeout = setTimeout(function () {\n that._position();\n that._resizeTimeout = null;\n }, 50);\n } else {\n if (!that._hovered || that._activated && that.element.hasClass('k-list-container')) {\n that.close();\n }\n }\n },\n _toggleResize: function (toggle) {\n var method = toggle ? 'on' : 'off';\n var eventNames = support.resize;\n if (!(support.mobileOS.ios || support.mobileOS.android || support.browser.safari)) {\n eventNames += ' ' + SCROLL;\n }\n if (toggle && !this.scrollableParents) {\n this.scrollableParents = this._scrollableParents();\n }\n if (this.scrollableParents && this.scrollableParents.length) {\n this.scrollableParents[method](SCROLL, this._resizeProxy);\n }\n WINDOW[method](eventNames, this._resizeProxy);\n },\n _mousedown: function (e) {\n var that = this, container = that.element[0], options = that.options, anchor = $(options.anchor)[0], toggleTarget = options.toggleTarget, target = kendo.eventTarget(e), popup = $(target).closest('.k-popup'), mobile = popup.parent().parent('.km-shim').length;\n popup = popup[0];\n if (!mobile && popup && popup !== that.element[0]) {\n return;\n }\n if ($(e.target).closest('a').data('rel') === 'popover') {\n return;\n }\n if (!contains(container, target) && !contains(anchor, target) && !(toggleTarget && contains($(toggleTarget)[0], target))) {\n that.close();\n }\n },\n _fit: function (position, size, viewPortSize) {\n var output = 0;\n if (position + size > viewPortSize) {\n output = viewPortSize - (position + size);\n }\n if (position < 0) {\n output = -position;\n }\n return output;\n },\n _flip: function (offset, size, anchorSize, viewPortSize, origin, position, boxSize) {\n var output = 0;\n boxSize = boxSize || size;\n if (position !== origin && position !== CENTER && origin !== CENTER) {\n if (offset + boxSize > viewPortSize) {\n output += -(anchorSize + size);\n }\n if (offset + output < 0) {\n output += anchorSize + size;\n }\n }\n return output;\n },\n _scrollableParents: function () {\n return $(this.options.anchor).parentsUntil('body').filter(function (index, element) {\n return kendo.isScrollable(element);\n });\n },\n _position: function (fixed) {\n var that = this, element = that.element, wrapper = that.wrapper, options = that.options, viewport = $(options.viewport), zoomLevel = support.zoomLevel(), isWindow = !!(viewport[0] == window && window.innerWidth && zoomLevel <= 1.02), anchor = $(options.anchor), origins = options.origin.toLowerCase().split(' '), positions = options.position.toLowerCase().split(' '), collisions = that.collisions, siblingContainer, parents, parentZIndex, zIndex = 10002, idx = 0, docEl = document.documentElement, length, viewportOffset, viewportWidth, viewportHeight;\n if (options.viewport === window) {\n viewportOffset = {\n top: window.pageYOffset || document.documentElement.scrollTop || 0,\n left: window.pageXOffset || document.documentElement.scrollLeft || 0\n };\n } else {\n viewportOffset = viewport.offset();\n }\n if (isWindow) {\n viewportWidth = window.innerWidth;\n viewportHeight = window.innerHeight;\n } else {\n viewportWidth = viewport.width();\n viewportHeight = viewport.height();\n }\n if (isWindow && docEl.scrollHeight - docEl.clientHeight > 0) {\n var sign = options.isRtl ? -1 : 1;\n viewportWidth -= sign * kendo.support.scrollbar();\n }\n siblingContainer = anchor.parents().filter(wrapper.siblings());\n if (siblingContainer[0]) {\n parentZIndex = Math.max(Number(siblingContainer.css('zIndex')), 0);\n if (parentZIndex) {\n zIndex = parentZIndex + 10;\n } else {\n parents = anchor.parentsUntil(siblingContainer);\n for (length = parents.length; idx < length; idx++) {\n parentZIndex = Number($(parents[idx]).css('zIndex'));\n if (parentZIndex && zIndex < parentZIndex) {\n zIndex = parentZIndex + 10;\n }\n }\n }\n }\n wrapper.css('zIndex', zIndex);\n if (fixed && fixed.isFixed) {\n wrapper.css({\n left: fixed.x,\n top: fixed.y\n });\n } else {\n wrapper.css(that._align(origins, positions));\n }\n var pos = getOffset(wrapper, POSITION, anchor[0] === wrapper.offsetParent()[0]), offset = getOffset(wrapper), anchorParent = anchor.offsetParent().parent('.k-animation-container,.k-popup,.k-group');\n if (anchorParent.length) {\n pos = getOffset(wrapper, POSITION, true);\n offset = getOffset(wrapper);\n }\n offset.top -= viewportOffset.top;\n offset.left -= viewportOffset.left;\n if (!that.wrapper.data(LOCATION)) {\n wrapper.data(LOCATION, extend({}, pos));\n }\n var offsets = extend({}, offset), location = extend({}, pos), adjustSize = options.adjustSize;\n if (collisions[0] === 'fit') {\n location.top += that._fit(offsets.top, outerHeight(wrapper) + adjustSize.height, viewportHeight / zoomLevel);\n }\n if (collisions[1] === 'fit') {\n location.left += that._fit(offsets.left, outerWidth(wrapper) + adjustSize.width, viewportWidth / zoomLevel);\n }\n var flipPos = extend({}, location);\n var elementHeight = outerHeight(element);\n var wrapperHeight = outerHeight(wrapper);\n if (!wrapper.height() && elementHeight) {\n wrapperHeight = wrapperHeight + elementHeight;\n }\n if (collisions[0] === 'flip') {\n location.top += that._flip(offsets.top, elementHeight, outerHeight(anchor), viewportHeight / zoomLevel, origins[0], positions[0], wrapperHeight);\n }\n if (collisions[1] === 'flip') {\n location.left += that._flip(offsets.left, outerWidth(element), outerWidth(anchor), viewportWidth / zoomLevel, origins[1], positions[1], outerWidth(wrapper));\n }\n element.css(POSITION, ABSOLUTE);\n wrapper.css(location);\n return location.left != flipPos.left || location.top != flipPos.top;\n },\n _align: function (origin, position) {\n var that = this, element = that.wrapper, anchor = $(that.options.anchor), verticalOrigin = origin[0], horizontalOrigin = origin[1], verticalPosition = position[0], horizontalPosition = position[1], anchorOffset = getOffset(anchor), appendTo = $(that.options.appendTo), appendToOffset, width = outerWidth(element), height = outerHeight(element) || outerHeight(element.children().first()), anchorWidth = outerWidth(anchor), anchorHeight = outerHeight(anchor), top = anchorOffset.top, left = anchorOffset.left, round = Math.round;\n if (appendTo[0] != document.body) {\n appendToOffset = getOffset(appendTo);\n top -= appendToOffset.top;\n left -= appendToOffset.left;\n }\n if (verticalOrigin === BOTTOM) {\n top += anchorHeight;\n }\n if (verticalOrigin === CENTER) {\n top += round(anchorHeight / 2);\n }\n if (verticalPosition === BOTTOM) {\n top -= height;\n }\n if (verticalPosition === CENTER) {\n top -= round(height / 2);\n }\n if (horizontalOrigin === RIGHT) {\n left += anchorWidth;\n }\n if (horizontalOrigin === CENTER) {\n left += round(anchorWidth / 2);\n }\n if (horizontalPosition === RIGHT) {\n left -= width;\n }\n if (horizontalPosition === CENTER) {\n left -= round(width / 2);\n }\n return {\n top: top,\n left: left\n };\n }\n });\n ui.plugin(Popup);\n var stableSort = kendo.support.stableSort;\n var tabKeyTrapNS = 'kendoTabKeyTrap';\n var focusableNodesSelector = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex], *[contenteditable]';\n var TabKeyTrap = Class.extend({\n init: function (element) {\n this.element = $(element);\n this.element.autoApplyNS(tabKeyTrapNS);\n },\n trap: function () {\n this.element.on('keydown', proxy(this._keepInTrap, this));\n },\n removeTrap: function () {\n this.element.kendoDestroy(tabKeyTrapNS);\n },\n destroy: function () {\n this.element.kendoDestroy(tabKeyTrapNS);\n this.element = undefined;\n },\n shouldTrap: function () {\n return true;\n },\n _keepInTrap: function (e) {\n if (e.which !== 9 || !this.shouldTrap() || e.isDefaultPrevented()) {\n return;\n }\n var elements = this._focusableElements();\n var sortedElements = this._sortFocusableElements(elements);\n var next = this._nextFocusable(e, sortedElements);\n this._focus(next);\n e.preventDefault();\n },\n _focusableElements: function () {\n var elements = this.element.find(focusableNodesSelector).filter(function (i, item) {\n return item.tabIndex >= 0 && $(item).is(':visible') && !$(item).is('[disabled]');\n });\n if (this.element.is('[tabindex]')) {\n elements.push(this.element[0]);\n }\n return elements;\n },\n _sortFocusableElements: function (elements) {\n var sortedElements;\n if (stableSort) {\n sortedElements = elements.sort(function (prev, next) {\n return prev.tabIndex - next.tabIndex;\n });\n } else {\n var attrName = '__k_index';\n elements.each(function (i, item) {\n item.setAttribute(attrName, i);\n });\n sortedElements = elements.sort(function (prev, next) {\n return prev.tabIndex === next.tabIndex ? parseInt(prev.getAttribute(attrName), 10) - parseInt(next.getAttribute(attrName), 10) : prev.tabIndex - next.tabIndex;\n });\n elements.removeAttr(attrName);\n }\n return sortedElements;\n },\n _nextFocusable: function (e, elements) {\n var count = elements.length;\n var current = elements.index(e.target);\n return elements.get((current + (e.shiftKey ? -1 : 1)) % count);\n },\n _focus: function (element) {\n if (element.nodeName == 'IFRAME') {\n element.contentWindow.document.body.focus();\n return;\n }\n element.focus();\n if (element.nodeName == 'INPUT' && element.setSelectionRange && this._haveSelectionRange(element)) {\n element.setSelectionRange(0, element.value.length);\n }\n },\n _haveSelectionRange: function (element) {\n var elementType = element.type.toLowerCase();\n return elementType === 'text' || elementType === 'search' || elementType === 'url' || elementType === 'tel' || elementType === 'password';\n }\n });\n ui.Popup.TabKeyTrap = TabKeyTrap;\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.list', [\n 'kendo.data',\n 'kendo.popup'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'list',\n name: 'List',\n category: 'framework',\n depends: [\n 'data',\n 'popup'\n ],\n hidden: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, outerHeight = kendo._outerHeight, percentageUnitsRegex = /^\\d+(\\.\\d+)?%$/i, Widget = ui.Widget, keys = kendo.keys, support = kendo.support, htmlEncode = kendo.htmlEncode, activeElement = kendo._activeElement, outerWidth = kendo._outerWidth, ObservableArray = kendo.data.ObservableArray, ID = 'id', CHANGE = 'change', FOCUSED = 'k-state-focused', HOVER = 'k-state-hover', LOADING = 'k-i-loading', GROUPHEADER = '.k-group-header', ITEMSELECTOR = '.k-item', LABELIDPART = '_label', OPEN = 'open', CLOSE = 'close', CASCADE = 'cascade', SELECT = 'select', SELECTED = 'selected', REQUESTSTART = 'requestStart', REQUESTEND = 'requestEnd', BLUR = 'blur', FOCUS = 'focus', FOCUSOUT = 'focusout', extend = $.extend, proxy = $.proxy, isArray = $.isArray, browser = support.browser, HIDDENCLASS = 'k-hidden', WIDTH = 'width', isIE = browser.msie, isIE8 = isIE && browser.version < 9, quotRegExp = /\"/g, alternativeNames = {\n 'ComboBox': [\n 'DropDownList',\n 'MultiColumnComboBox'\n ],\n 'DropDownList': [\n 'ComboBox',\n 'MultiColumnComboBox'\n ],\n 'MultiColumnComboBox': [\n 'ComboBox',\n 'DropDownList'\n ]\n };\n var List = kendo.ui.DataBoundWidget.extend({\n init: function (element, options) {\n var that = this, ns = that.ns, id;\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n that._isSelect = element.is(SELECT);\n if (that._isSelect && that.element[0].length) {\n if (!options.dataSource) {\n options.dataTextField = options.dataTextField || 'text';\n options.dataValueField = options.dataValueField || 'value';\n }\n }\n that.ul = $('
      ').attr({\n tabIndex: -1,\n 'aria-hidden': true\n });\n that.list = $('
      ').append(that.ul).on('mousedown' + ns, proxy(that._listMousedown, that));\n id = element.attr(ID);\n if (!id) {\n id = kendo.guid();\n }\n that.list.attr(ID, id + '-list');\n that.ul.attr(ID, id + '_listbox');\n if (options.columns && options.columns.length) {\n that.ul.removeClass('k-list').addClass('k-grid-list');\n that._columnsHeader();\n }\n that._header();\n that._noData();\n that._footer();\n that._accessors();\n that._initValue();\n },\n options: {\n valuePrimitive: false,\n footerTemplate: '',\n headerTemplate: '',\n noDataTemplate: true,\n messages: {\n 'noData': 'No data found.',\n 'clear': 'clear'\n }\n },\n setOptions: function (options) {\n Widget.fn.setOptions.call(this, options);\n if (options && options.enable !== undefined) {\n options.enabled = options.enable;\n }\n if (options.columns && options.columns.length) {\n this._columnsHeader();\n }\n this._header();\n this._noData();\n this._footer();\n this._renderFooter();\n this._renderNoData();\n },\n focus: function () {\n this._focused.focus();\n },\n readonly: function (readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n },\n enable: function (enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n },\n _header: function () {\n var list = this;\n var header = $(list.header);\n var template = list.options.headerTemplate;\n this._angularElement(header, 'cleanup');\n kendo.destroy(header);\n header.remove();\n if (!template) {\n list.header = null;\n return;\n }\n var headerTemplate = typeof template !== 'function' ? kendo.template(template) : template;\n header = $(headerTemplate({}));\n list.header = header[0] ? header : null;\n list.list.prepend(header);\n this._angularElement(list.header, 'compile');\n },\n _columnsHeader: function () {\n var list = this;\n var columnsHeader = $(list.columnsHeader);\n this._angularElement(columnsHeader, 'cleanup');\n kendo.destroy(columnsHeader);\n columnsHeader.remove();\n var header = '
      ';\n var colGroup = '';\n var row = '';\n for (var idx = 0; idx < this.options.columns.length; idx++) {\n var currentColumn = this.options.columns[idx];\n var title = currentColumn.title || currentColumn.field || '';\n var template = currentColumn.headerTemplate || title;\n var columnsHeaderTemplate = typeof template !== 'function' ? kendo.template(template) : template;\n var currentWidth = currentColumn.width;\n var currentWidthInt = parseInt(currentWidth, 10);\n var widthStyle = '';\n if (currentWidth && !isNaN(currentWidthInt)) {\n widthStyle += 'style=\\'width:';\n widthStyle += currentWidthInt;\n widthStyle += percentageUnitsRegex.test(currentWidth) ? '%' : 'px';\n widthStyle += ';\\'';\n }\n colGroup += '';\n row += '';\n }\n colGroup += '';\n row += '';\n header += colGroup;\n header += row;\n header += '
      ';\n row += columnsHeaderTemplate(currentColumn);\n row += '
      ';\n list.columnsHeader = columnsHeader = $(header);\n list.list.prepend(columnsHeader);\n this._angularElement(list.columnsHeader, 'compile');\n },\n _noData: function () {\n var list = this;\n var noData = $(list.noData);\n var template = list.options.noDataTemplate === true ? list.options.messages.noData : list.options.noDataTemplate;\n list.angular('cleanup', function () {\n return { elements: noData };\n });\n kendo.destroy(noData);\n noData.remove();\n if (!template) {\n list.noData = null;\n return;\n }\n list.noData = $('
      ').appendTo(list.list);\n list.noDataTemplate = typeof template !== 'function' ? kendo.template(template) : template;\n },\n _footer: function () {\n var list = this;\n var footer = $(list.footer);\n var template = list.options.footerTemplate;\n this._angularElement(footer, 'cleanup');\n kendo.destroy(footer);\n footer.remove();\n if (!template) {\n list.footer = null;\n return;\n }\n list.footer = $('
      ').appendTo(list.list);\n list.footerTemplate = typeof template !== 'function' ? kendo.template(template) : template;\n },\n _listOptions: function (options) {\n var that = this;\n var currentOptions = that.options;\n var virtual = currentOptions.virtual;\n var changeEventOption = { change: proxy(that._listChange, that) };\n var listBoundHandler = proxy(that._listBound, that);\n virtual = typeof virtual === 'object' ? virtual : {};\n options = $.extend({\n autoBind: false,\n selectable: true,\n dataSource: that.dataSource,\n click: proxy(that._click, that),\n activate: proxy(that._activateItem, that),\n columns: currentOptions.columns,\n deactivate: proxy(that._deactivateItem, that),\n dataBinding: function () {\n that.trigger('dataBinding');\n },\n dataBound: listBoundHandler,\n height: currentOptions.height,\n dataValueField: currentOptions.dataValueField,\n dataTextField: currentOptions.dataTextField,\n groupTemplate: currentOptions.groupTemplate,\n fixedGroupTemplate: currentOptions.fixedGroupTemplate,\n template: currentOptions.template\n }, options, virtual, changeEventOption);\n if (!options.template) {\n options.template = '#:' + kendo.expr(options.dataTextField, 'data') + '#';\n }\n if (currentOptions.$angular) {\n options.$angular = currentOptions.$angular;\n }\n return options;\n },\n _initList: function () {\n var that = this;\n var listOptions = that._listOptions({ selectedItemChange: proxy(that._listChange, that) });\n if (!that.options.virtual) {\n that.listView = new kendo.ui.StaticList(that.ul, listOptions);\n } else {\n that.listView = new kendo.ui.VirtualList(that.ul, listOptions);\n }\n that.listView.bind('listBound', proxy(that._listBound, that));\n that._setListValue();\n },\n _setListValue: function (value) {\n value = value || this.options.value;\n if (value !== undefined) {\n this.listView.value(value).done(proxy(this._updateSelectionState, this));\n }\n },\n _updateSelectionState: $.noop,\n _listMousedown: function (e) {\n if (!this.filterInput || this.filterInput[0] !== e.target) {\n e.preventDefault();\n }\n },\n _isFilterEnabled: function () {\n var filter = this.options.filter;\n return filter && filter !== 'none';\n },\n _hideClear: function () {\n var list = this;\n if (list._clear) {\n list._clear.addClass(HIDDENCLASS);\n }\n },\n _showClear: function () {\n if (this._clear) {\n this._clear.removeClass(HIDDENCLASS);\n }\n },\n _clearValue: function () {\n this._clearText();\n this._accessor('');\n this.listView.value([]);\n if (this._isSelect) {\n this._customOption = undefined;\n }\n if (this._isFilterEnabled() && !this.options.enforceMinLength) {\n this._filter({\n word: '',\n open: false\n });\n if (this.options.highlightFirst) {\n this.listView.focus(0);\n }\n }\n this._change();\n },\n _clearText: function () {\n this.text('');\n },\n _clearFilter: function () {\n if (!this.options.virtual) {\n this.listView.bound(false);\n }\n this._filterSource();\n },\n _filterSource: function (filter, force) {\n var that = this;\n var options = that.options;\n var isMultiColumnFiltering = options.filterFields && filter && filter.logic && filter.filters && filter.filters.length;\n var dataSource = that.dataSource;\n var expression = extend({}, dataSource.filter() || {});\n var resetPageSettings = filter || expression.filters && expression.filters.length && !filter;\n var removed = removeFiltersForField(expression, options.dataTextField);\n this._clearFilterExpressions(expression);\n if ((filter || removed) && that.trigger('filtering', { filter: filter })) {\n return;\n }\n var newExpression = {\n filters: [],\n logic: 'and'\n };\n if (isMultiColumnFiltering) {\n newExpression.filters.push(filter);\n } else {\n this._pushFilterExpression(newExpression, filter);\n }\n if (isValidFilterExpr(expression)) {\n if (newExpression.logic === expression.logic) {\n newExpression.filters = newExpression.filters.concat(expression.filters);\n } else {\n newExpression.filters.push(expression);\n }\n }\n if (that._cascading) {\n this.listView.setDSFilter(newExpression);\n }\n var dataSourceState = extend({}, {\n page: resetPageSettings ? 1 : dataSource.page(),\n pageSize: resetPageSettings ? dataSource.options.pageSize : dataSource.pageSize(),\n sort: dataSource.sort(),\n filter: dataSource.filter(),\n group: dataSource.group(),\n aggregate: dataSource.aggregate()\n }, { filter: newExpression });\n return dataSource[force ? 'read' : 'query'](dataSource._mergeState(dataSourceState));\n },\n _pushFilterExpression: function (newExpression, filter) {\n if (isValidFilterExpr(filter) && filter.value !== '') {\n newExpression.filters.push(filter);\n }\n },\n _clearFilterExpressions: function (expression) {\n if (!expression.filters) {\n return;\n }\n var filtersToRemove;\n for (var i = 0; i < expression.filters.length; i++) {\n if ('fromFilter' in expression.filters[i]) {\n filtersToRemove = i;\n }\n }\n if (!isNaN(filtersToRemove)) {\n expression.filters.splice(filtersToRemove, 1);\n }\n },\n _angularElement: function (element, action) {\n if (!element) {\n return;\n }\n this.angular(action, function () {\n return { elements: element };\n });\n },\n _renderNoData: function () {\n var list = this;\n var noData = list.noData;\n if (!noData) {\n return;\n }\n this._angularElement(noData, 'cleanup');\n noData.children(':first').html(list.noDataTemplate({ instance: list }));\n this._angularElement(noData, 'compile');\n },\n _toggleNoData: function (show) {\n $(this.noData).toggle(show);\n },\n _toggleHeader: function (show) {\n var groupHeader = this.listView.content.prev(GROUPHEADER);\n groupHeader.toggle(show);\n },\n _renderFooter: function () {\n var list = this;\n var footer = list.footer;\n if (!footer) {\n return;\n }\n this._angularElement(footer, 'cleanup');\n footer.html(list.footerTemplate({ instance: list }));\n this._angularElement(footer, 'compile');\n },\n _allowOpening: function () {\n return this.options.noDataTemplate || this.dataSource.flatView().length;\n },\n _initValue: function () {\n var that = this, value = that.options.value;\n if (value !== null) {\n that.element.val(value);\n } else {\n value = that._accessor();\n that.options.value = value;\n }\n that._old = value;\n },\n _ignoreCase: function () {\n var that = this, model = that.dataSource.reader.model, field;\n if (model && model.fields) {\n field = model.fields[that.options.dataTextField];\n if (field && field.type && field.type !== 'string') {\n that.options.ignoreCase = false;\n }\n }\n },\n _focus: function (candidate) {\n return this.listView.focus(candidate);\n },\n _filter: function (options) {\n var that = this;\n var widgetOptions = that.options;\n var word = options.word;\n var filterFields = widgetOptions.filterFields;\n var field = widgetOptions.dataTextField;\n var expression;\n if (filterFields && filterFields.length) {\n expression = {\n logic: 'or',\n filters: [],\n fromFilter: true\n };\n for (var i = 0; i < filterFields.length; i++) {\n this._pushFilterExpression(expression, that._buildExpression(word, filterFields[i]));\n }\n } else {\n expression = that._buildExpression(word, field);\n }\n that._open = options.open;\n that._filterSource(expression);\n },\n _buildExpression: function (value, field) {\n var that = this;\n var widgetOptions = that.options;\n var ignoreCase = widgetOptions.ignoreCase;\n var accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering;\n return {\n value: ignoreCase ? accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase() : value,\n field: field,\n operator: widgetOptions.filter,\n ignoreCase: ignoreCase\n };\n },\n _clearButton: function () {\n var list = this;\n var clearTitle = list.options.messages.clear;\n if (!list._clear) {\n list._clear = $('').attr({\n 'role': 'button',\n 'tabIndex': -1\n });\n }\n if (!list.options.clearButton) {\n list._clear.remove();\n }\n this._hideClear();\n },\n search: function (word) {\n var options = this.options;\n word = typeof word === 'string' ? word : this._inputValue();\n clearTimeout(this._typingTimeout);\n if (!options.enforceMinLength && !word.length || word.length >= options.minLength) {\n this._state = 'filter';\n if (this.listView) {\n this.listView._emptySearch = !kendo.trim(word).length;\n }\n if (!this._isFilterEnabled()) {\n this._searchByWord(word);\n } else {\n this._filter({\n word: word,\n open: true\n });\n }\n }\n },\n current: function (candidate) {\n return this._focus(candidate);\n },\n items: function () {\n return this.ul[0].children;\n },\n destroy: function () {\n var that = this;\n var ns = that.ns;\n Widget.fn.destroy.call(that);\n that._unbindDataSource();\n that.listView.destroy();\n that.list.off(ns);\n that.popup.destroy();\n if (that._form) {\n that._form.off('reset', that._resetHandler);\n }\n },\n dataItem: function (index) {\n var that = this;\n if (index === undefined) {\n return that.listView.selectedDataItems()[0];\n }\n if (typeof index !== 'number') {\n if (that.options.virtual) {\n return that.dataSource.getByUid($(index).data('uid'));\n }\n index = $(that.items()).index(index);\n }\n return that.dataSource.flatView()[index];\n },\n _activateItem: function () {\n var current = this.listView.focus();\n if (current) {\n this._focused.add(this.filterInput).attr('aria-activedescendant', current.attr('id'));\n }\n },\n _deactivateItem: function () {\n this._focused.add(this.filterInput).removeAttr('aria-activedescendant');\n },\n _accessors: function () {\n var that = this;\n var element = that.element;\n var options = that.options;\n var getter = kendo.getter;\n var textField = element.attr(kendo.attr('text-field'));\n var valueField = element.attr(kendo.attr('value-field'));\n if (!options.dataTextField && textField) {\n options.dataTextField = textField;\n }\n if (!options.dataValueField && valueField) {\n options.dataValueField = valueField;\n }\n that._text = getter(options.dataTextField);\n that._value = getter(options.dataValueField);\n },\n _aria: function (id) {\n var that = this, options = that.options, element = that._focused.add(that.filterInput);\n if (options.suggest !== undefined) {\n element.attr('aria-autocomplete', options.suggest ? 'both' : 'list');\n }\n id = id ? id + ' ' + that.ul[0].id : that.ul[0].id;\n element.attr('aria-owns', id);\n that.ul.attr('aria-live', !that._isFilterEnabled() ? 'off' : 'polite');\n that._ariaLabel();\n },\n _ariaLabel: function () {\n var that = this;\n var focusedElm = that._focused;\n var inputElm = that.element;\n var inputId = inputElm.attr('id');\n var labelElm = $('label[for=\"' + inputId + '\"]');\n var ariaLabel = inputElm.attr('aria-label');\n var ariaLabelledBy = inputElm.attr('aria-labelledby');\n if (focusedElm === inputElm) {\n return;\n }\n if (ariaLabel) {\n focusedElm.attr('aria-label', ariaLabel);\n } else if (ariaLabelledBy) {\n focusedElm.attr('aria-labelledby', ariaLabelledBy);\n } else if (labelElm.length) {\n var labelId = labelElm.attr('id') || that._generateLabelId(labelElm, inputId || kendo.guid());\n focusedElm.attr('aria-labelledby', labelId);\n }\n },\n _generateLabelId: function (label, inputId) {\n var labelId = inputId + LABELIDPART;\n label.attr('id', labelId);\n return labelId;\n },\n _blur: function () {\n var that = this;\n that._change();\n that.close();\n that._userTriggered = false;\n },\n _change: function () {\n var that = this;\n var index = that.selectedIndex;\n var optionValue = that.options.value;\n var value = that.value();\n var trigger;\n if (that._isSelect && !that.listView.bound() && optionValue) {\n value = optionValue;\n }\n if (value !== unifyType(that._old, typeof value) && value !== unifyType(that._oldText, typeof value)) {\n trigger = true;\n } else if (that._valueBeforeCascade !== undefined && that._valueBeforeCascade !== unifyType(that._old, typeof that._valueBeforeCascade) && that._userTriggered) {\n trigger = true;\n } else if (index !== undefined && index !== that._oldIndex && !that.listView.isFiltered()) {\n trigger = true;\n }\n if (trigger) {\n if (that._old === null || that._old === '' || value === '') {\n that._valueBeforeCascade = that._old = value;\n } else {\n if (that.dataItem()) {\n that._valueBeforeCascade = that._old = that.options.dataValueField ? that.dataItem()[that.options.dataValueField] : that.dataItem();\n } else {\n that._valueBeforeCascade = that._old = null;\n }\n }\n that._oldIndex = index;\n that._oldText = that.text && that.text();\n if (!that._typing) {\n that.element.trigger(CHANGE);\n }\n that.trigger(CHANGE);\n }\n that.typing = false;\n },\n _data: function () {\n return this.dataSource.view();\n },\n _enable: function () {\n var that = this, options = that.options, disabled = that.element.is('[disabled]');\n if (options.enable !== undefined) {\n options.enabled = options.enable;\n }\n if (!options.enabled || disabled) {\n that.enable(false);\n } else {\n that.readonly(that.element.is('[readonly]'));\n }\n },\n _dataValue: function (dataItem) {\n var value = this._value(dataItem);\n if (value === undefined) {\n value = this._text(dataItem);\n }\n return value;\n },\n _offsetHeight: function () {\n var offsetHeight = 0;\n var siblings = this.listView.content.prevAll(':visible');\n siblings.each(function () {\n var element = $(this);\n offsetHeight += outerHeight(element, true);\n });\n return offsetHeight;\n },\n _height: function (length) {\n var that = this;\n var list = that.list;\n var height = that.options.height;\n var visible = that.popup.visible();\n var offsetTop;\n var popups;\n var footerHeight;\n if (length || that.options.noDataTemplate) {\n popups = list.add(list.parent('.k-animation-container')).show();\n if (!list.is(':visible')) {\n popups.hide();\n return;\n }\n height = that.listView.content[0].scrollHeight > height ? height : 'auto';\n popups.height(height);\n if (height !== 'auto') {\n offsetTop = that._offsetHeight();\n footerHeight = outerHeight($(that.footer)) || 0;\n height = height - offsetTop - footerHeight;\n }\n that.listView.content.height(height);\n if (!visible) {\n popups.hide();\n }\n }\n return height;\n },\n _openHandler: function (e) {\n this._adjustListWidth();\n if (this.trigger(OPEN)) {\n e.preventDefault();\n } else {\n this._focused.attr('aria-expanded', true);\n this.ul.attr('aria-hidden', false);\n }\n },\n _adjustListWidth: function () {\n var that = this, list = that.list, width = list[0].style.width, wrapper = that.wrapper, computedStyle, computedWidth;\n if (!list.data(WIDTH) && width) {\n return;\n }\n computedStyle = window.getComputedStyle ? window.getComputedStyle(wrapper[0], null) : 0;\n computedWidth = parseFloat(computedStyle && computedStyle.width) || outerWidth(wrapper);\n if (computedStyle && browser.msie) {\n computedWidth += parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight) + parseFloat(computedStyle.borderLeftWidth) + parseFloat(computedStyle.borderRightWidth);\n }\n if (list.css('box-sizing') !== 'border-box') {\n width = computedWidth - (outerWidth(list) - list.width());\n } else {\n width = computedWidth;\n }\n list.css({\n fontFamily: wrapper.css('font-family'),\n width: that.options.autoWidth ? 'auto' : width,\n minWidth: width,\n whiteSpace: that.options.autoWidth ? 'nowrap' : 'normal'\n }).data(WIDTH, width);\n return true;\n },\n _closeHandler: function (e) {\n if (this.trigger(CLOSE)) {\n e.preventDefault();\n } else {\n this._focused.attr('aria-expanded', false);\n this.ul.attr('aria-hidden', true);\n }\n },\n _focusItem: function () {\n var listView = this.listView;\n var noFocusedItem = !listView.focus();\n var index = last(listView.select());\n if (index === undefined && this.options.highlightFirst && noFocusedItem) {\n index = 0;\n }\n if (index !== undefined) {\n listView.focus(index);\n } else if (noFocusedItem) {\n listView.scrollToIndex(0);\n }\n },\n _calculateGroupPadding: function (height) {\n var li = this.ul.children('.k-first:first');\n var groupHeader = this.listView.content.prev(GROUPHEADER);\n var padding = 0;\n var direction = 'right';\n if (groupHeader[0] && groupHeader[0].style.display !== 'none') {\n if (height !== 'auto') {\n padding = kendo.support.scrollbar();\n }\n if (this.element.parents('.k-rtl').length) {\n direction = 'left';\n }\n padding += parseFloat(li.css('border-' + direction + '-width'), 10) + parseFloat(li.children('.k-group').css('padding-' + direction), 10);\n groupHeader.css('padding-' + direction, padding);\n }\n },\n _calculatePopupHeight: function (force) {\n var height = this._height(this.dataSource.flatView().length || force);\n this._calculateGroupPadding(height);\n this._calculateColumnsHeaderPadding(height);\n },\n _calculateColumnsHeaderPadding: function (height) {\n if (this.options.columns && this.options.columns.length) {\n var list = this;\n var isRtl = support.isRtl(list.wrapper);\n var scrollbar = kendo.support.scrollbar();\n list.columnsHeader.css(isRtl ? 'padding-left' : 'padding-right', height !== 'auto' ? scrollbar : 0);\n }\n },\n _refreshScroll: function () {\n var listView = this.listView;\n var enableYScroll = listView.element.height() > listView.content.height();\n if (this.options.autoWidth) {\n listView.content.css({\n overflowX: 'hidden',\n overflowY: enableYScroll ? 'scroll' : 'auto'\n });\n }\n },\n _resizePopup: function (force) {\n if (this.options.virtual) {\n return;\n }\n if (!this.popup.element.is(':visible')) {\n this.popup.one('open', function (force) {\n return proxy(function () {\n this._calculatePopupHeight(force);\n }, this);\n }.call(this, force));\n this.popup.one('activate', proxy(this._refreshScroll, this));\n } else {\n this._calculatePopupHeight(force);\n }\n },\n _popup: function () {\n var list = this;\n list.popup = new ui.Popup(list.list, extend({}, list.options.popup, {\n anchor: list.wrapper,\n open: proxy(list._openHandler, list),\n close: proxy(list._closeHandler, list),\n animation: list.options.animation,\n isRtl: support.isRtl(list.wrapper),\n autosize: list.options.autoWidth\n }));\n },\n _makeUnselectable: function () {\n if (isIE8) {\n this.list.find('*').not('.k-textbox').attr('unselectable', 'on');\n }\n },\n _toggleHover: function (e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === 'mouseenter');\n },\n _toggle: function (open, preventFocus) {\n var that = this;\n var touchEnabled = support.mobileOS && (support.touch || support.MSPointers || support.pointers);\n open = open !== undefined ? open : !that.popup.visible();\n if (!preventFocus && !touchEnabled && that._focused[0] !== activeElement()) {\n that._prevent = true;\n that._focused.focus();\n that._prevent = false;\n }\n that[open ? OPEN : CLOSE]();\n },\n _triggerCascade: function () {\n var that = this;\n if (!that._cascadeTriggered || that.value() !== unifyType(that._cascadedValue, typeof that.value())) {\n that._cascadedValue = that.value();\n that._cascadeTriggered = true;\n that.trigger(CASCADE, { userTriggered: that._userTriggered });\n }\n },\n _triggerChange: function () {\n if (this._valueBeforeCascade !== this.value()) {\n this.trigger(CHANGE);\n }\n },\n _unbindDataSource: function () {\n var that = this;\n that.dataSource.unbind(REQUESTSTART, that._requestStartHandler).unbind(REQUESTEND, that._requestEndHandler).unbind('error', that._errorHandler);\n },\n requireValueMapper: function (options, value) {\n var hasValue = (options.value instanceof Array ? options.value.length : options.value) || (value instanceof Array ? value.length : value);\n if (hasValue && options.virtual && typeof options.virtual.valueMapper !== 'function') {\n throw new Error('ValueMapper is not provided while the value is being set. See http://docs.telerik.com/kendo-ui/controls/editors/combobox/virtualization#the-valuemapper-function');\n }\n }\n });\n function unifyType(value, type) {\n if (value !== undefined && value !== '' && value !== null) {\n if (type === 'boolean') {\n if (typeof value !== 'boolean') {\n value = value.toLowerCase() === 'true';\n }\n value = Boolean(value);\n } else if (type === 'number') {\n value = Number(value);\n } else if (type === 'string') {\n value = value.toString();\n }\n }\n return value;\n }\n extend(List, {\n inArray: function (node, parentNode) {\n var idx, length, siblings = parentNode.children;\n if (!node || node.parentNode !== parentNode) {\n return -1;\n }\n for (idx = 0, length = siblings.length; idx < length; idx++) {\n if (node === siblings[idx]) {\n return idx;\n }\n }\n return -1;\n },\n unifyType: unifyType\n });\n kendo.ui.List = List;\n ui.Select = List.extend({\n init: function (element, options) {\n List.fn.init.call(this, element, options);\n this._initial = this.element.val();\n },\n setDataSource: function (dataSource) {\n var that = this;\n var parent;\n that.options.dataSource = dataSource;\n that._dataSource();\n if (that.listView.bound()) {\n that._initialIndex = null;\n that.listView._current = null;\n }\n that.listView.setDataSource(that.dataSource);\n if (that.options.autoBind) {\n that.dataSource.fetch();\n }\n parent = that._parentWidget();\n if (parent) {\n that._cascadeSelect(parent);\n }\n },\n close: function () {\n this.popup.close();\n },\n select: function (candidate) {\n var that = this;\n if (candidate === undefined) {\n return that.selectedIndex;\n } else {\n return that._select(candidate).done(function () {\n that._cascadeValue = that._old = that._accessor();\n that._oldIndex = that.selectedIndex;\n });\n }\n },\n _accessor: function (value, idx) {\n return this[this._isSelect ? '_accessorSelect' : '_accessorInput'](value, idx);\n },\n _accessorInput: function (value) {\n var element = this.element[0];\n if (value === undefined) {\n return element.value;\n } else {\n if (value === null) {\n value = '';\n }\n element.value = value;\n }\n },\n _accessorSelect: function (value, idx) {\n var element = this.element[0];\n var hasValue;\n if (value === undefined) {\n return getSelectedOption(element).value || '';\n }\n getSelectedOption(element).selected = false;\n if (idx === undefined) {\n idx = -1;\n }\n hasValue = value !== null && value !== '';\n if (hasValue && idx == -1) {\n this._custom(value);\n } else {\n if (value) {\n element.value = value;\n } else {\n element.selectedIndex = idx;\n }\n }\n },\n _syncValueAndText: function () {\n return true;\n },\n _custom: function (value) {\n var that = this;\n var element = that.element;\n var custom = that._customOption;\n if (!custom) {\n custom = $('
      ').parent();\n this.header = this.content.before('
      ').prev();\n this.bound(false);\n this._optionID = kendo.guid();\n this._selectedIndices = [];\n this._view = [];\n this._dataItems = [];\n this._values = [];\n var value = this.options.value;\n if (value) {\n this._values = $.isArray(value) ? value.slice(0) : [value];\n }\n this._getter();\n this._templates();\n this.setDataSource(this.options.dataSource);\n this._onScroll = proxy(function () {\n var that = this;\n clearTimeout(that._scrollId);\n that._scrollId = setTimeout(function () {\n that._renderHeader();\n }, 50);\n }, this);\n },\n options: {\n name: 'StaticList',\n dataValueField: null,\n valuePrimitive: false,\n selectable: true,\n template: null,\n groupTemplate: null,\n fixedGroupTemplate: null\n },\n events: [\n 'click',\n CHANGE,\n 'activate',\n 'deactivate',\n 'dataBinding',\n 'dataBound',\n 'selectedItemChange'\n ],\n setDataSource: function (source) {\n var that = this;\n var dataSource = source || {};\n var value;\n dataSource = $.isArray(dataSource) ? { data: dataSource } : dataSource;\n dataSource = kendo.data.DataSource.create(dataSource);\n if (that.dataSource) {\n that.dataSource.unbind(CHANGE, that._refreshHandler);\n value = that.value();\n that.value([]);\n that.bound(false);\n that.value(value);\n } else {\n that._refreshHandler = proxy(that.refresh, that);\n }\n that.setDSFilter(dataSource.filter());\n that.dataSource = dataSource.bind(CHANGE, that._refreshHandler);\n that._fixedHeader();\n },\n _touchHandlers: function () {\n var that = this;\n var startY;\n var endY;\n var tapPosition = function (event) {\n return (event.originalEvent || event).changedTouches[0].pageY;\n };\n that.element.on('touchstart' + STATIC_LIST_NS, function (e) {\n startY = tapPosition(e);\n });\n that.element.on('touchend' + STATIC_LIST_NS, function (e) {\n if (e.isDefaultPrevented()) {\n return;\n }\n endY = tapPosition(e);\n if (Math.abs(endY - startY) < 10) {\n that._touchTriggered = true;\n that._triggerClick($(e.target).closest(ITEMSELECTOR).get(0));\n }\n });\n },\n skip: function () {\n return this.dataSource.skip();\n },\n setOptions: function (options) {\n Widget.fn.setOptions.call(this, options);\n this._getter();\n this._templates();\n this._render();\n },\n destroy: function () {\n this.element.off(STATIC_LIST_NS);\n if (this._refreshHandler) {\n this.dataSource.unbind(CHANGE, this._refreshHandler);\n }\n clearTimeout(this._scrollId);\n Widget.fn.destroy.call(this);\n },\n dataItemByIndex: function (index) {\n return this.dataSource.flatView()[index];\n },\n screenHeight: function () {\n return this.content[0].clientHeight;\n },\n scrollToIndex: function (index) {\n var item = this.element[0].children[index];\n if (item) {\n this.scroll(item);\n }\n },\n scrollWith: function (value) {\n this.content.scrollTop(this.content.scrollTop() + value);\n },\n scroll: function (item) {\n if (!item) {\n return;\n }\n if (item[0]) {\n item = item[0];\n }\n var content = this.content[0], itemOffsetTop = item.offsetTop, itemOffsetHeight = item.offsetHeight, contentScrollTop = content.scrollTop, contentOffsetHeight = content.clientHeight, bottomDistance = itemOffsetTop + itemOffsetHeight;\n if (contentScrollTop > itemOffsetTop) {\n contentScrollTop = itemOffsetTop;\n } else if (bottomDistance > contentScrollTop + contentOffsetHeight) {\n contentScrollTop = bottomDistance - contentOffsetHeight;\n }\n content.scrollTop = contentScrollTop;\n },\n selectedDataItems: function (dataItems) {\n if (dataItems === undefined) {\n return this._dataItems.slice();\n }\n this._dataItems = dataItems;\n this._values = this._getValues(dataItems);\n },\n _getValues: function (dataItems) {\n var getter = this._valueGetter;\n return $.map(dataItems, function (dataItem) {\n return getter(dataItem);\n });\n },\n focusNext: function () {\n var current = this.focus();\n if (!current) {\n current = 0;\n } else {\n current = current.next();\n }\n this.focus(current);\n },\n focusPrev: function () {\n var current = this.focus();\n if (!current) {\n current = this.element[0].children.length - 1;\n } else {\n current = current.prev();\n }\n this.focus(current);\n },\n focusFirst: function () {\n this.focus(this.element[0].children[0]);\n },\n focusLast: function () {\n this.focus(last(this.element[0].children));\n },\n focus: function (candidate) {\n var that = this;\n var id = that._optionID;\n var hasCandidate;\n if (candidate === undefined) {\n return that._current;\n }\n candidate = last(that._get(candidate));\n candidate = $(this.element[0].children[candidate]);\n if (that._current) {\n that._current.removeClass(FOCUSED).removeAttr(ID);\n that.trigger('deactivate');\n }\n hasCandidate = !!candidate[0];\n if (hasCandidate) {\n candidate.addClass(FOCUSED);\n that.scroll(candidate);\n candidate.attr('id', id);\n }\n that._current = hasCandidate ? candidate : null;\n that.trigger('activate');\n },\n focusIndex: function () {\n return this.focus() ? this.focus().index() : undefined;\n },\n skipUpdate: function (skipUpdate) {\n this._skipUpdate = skipUpdate;\n },\n select: function (indices) {\n var that = this;\n var selectable = that.options.selectable;\n var singleSelection = selectable !== 'multiple' && selectable !== false;\n var selectedIndices = that._selectedIndices;\n var uiSelectedIndices = [this.element.find('.k-state-selected').index()];\n var added = [];\n var removed = [];\n var result;\n if (indices === undefined) {\n return selectedIndices.slice();\n }\n indices = that._get(indices);\n if (indices.length === 1 && indices[0] === -1) {\n indices = [];\n }\n var deferred = $.Deferred().resolve();\n var filtered = that.isFiltered();\n if (filtered && !singleSelection && that._deselectFiltered(indices)) {\n return deferred;\n }\n if (singleSelection && !filtered && $.inArray(last(indices), selectedIndices) !== -1 && $.inArray(last(indices), uiSelectedIndices) !== -1) {\n if (that._dataItems.length && that._view.length) {\n that._dataItems = [that._view[selectedIndices[0]].item];\n }\n return deferred;\n }\n result = that._deselect(indices);\n removed = result.removed;\n indices = result.indices;\n if (indices.length) {\n if (singleSelection) {\n indices = [last(indices)];\n }\n added = that._select(indices);\n }\n if (added.length || removed.length) {\n that._valueComparer = null;\n that.trigger(CHANGE, {\n added: added,\n removed: removed\n });\n }\n return deferred;\n },\n removeAt: function (position) {\n this._selectedIndices.splice(position, 1);\n this._values.splice(position, 1);\n this._valueComparer = null;\n return {\n position: position,\n dataItem: this._dataItems.splice(position, 1)[0]\n };\n },\n setValue: function (value) {\n value = $.isArray(value) || value instanceof ObservableArray ? value.slice(0) : [value];\n this._values = value;\n this._valueComparer = null;\n },\n value: function (value) {\n var that = this;\n var deferred = that._valueDeferred;\n var indices;\n if (value === undefined) {\n return that._values.slice();\n }\n that.setValue(value);\n if (!deferred || deferred.state() === 'resolved') {\n that._valueDeferred = deferred = $.Deferred();\n }\n if (that.bound()) {\n indices = that._valueIndices(that._values);\n if (that.options.selectable === 'multiple') {\n that.select(-1);\n }\n that.select(indices);\n deferred.resolve();\n }\n that._skipUpdate = false;\n return deferred;\n },\n items: function () {\n return this.element.children(ITEMSELECTOR);\n },\n _click: function (e) {\n if (this._touchTriggered) {\n this._touchTriggered = false;\n return;\n }\n if (!e.isDefaultPrevented()) {\n this._triggerClick(e.currentTarget);\n }\n },\n _triggerClick: function (item) {\n if (!this.trigger('click', { item: $(item) })) {\n this.select(item);\n }\n },\n _valueExpr: function (type, values) {\n var that = this;\n var idx = 0;\n var body;\n var comparer;\n var normalized = [];\n if (!that._valueComparer || that._valueType !== type) {\n that._valueType = type;\n for (; idx < values.length; idx++) {\n normalized.push(unifyType(values[idx], type));\n }\n body = 'for (var idx = 0; idx < ' + normalized.length + '; idx++) {' + ' if (current === values[idx]) {' + ' return idx;' + ' }' + '} ' + 'return -1;';\n comparer = new Function('current', 'values', body);\n that._valueComparer = function (current) {\n return comparer(current, normalized);\n };\n }\n return that._valueComparer;\n },\n _dataItemPosition: function (dataItem, values) {\n var value = this._valueGetter(dataItem);\n var valueExpr = this._valueExpr(typeof value, values);\n return valueExpr(value);\n },\n _getter: function () {\n this._valueGetter = kendo.getter(this.options.dataValueField);\n },\n _deselect: function (indices) {\n var that = this;\n var children = that.element[0].children;\n var selectable = that.options.selectable;\n var selectedIndices = that._selectedIndices;\n var dataItems = that._dataItems;\n var values = that._values;\n var removed = [];\n var i = 0;\n var j;\n var index, selectedIndex;\n var removedIndices = 0;\n indices = indices.slice();\n if (selectable === true || !indices.length) {\n for (; i < selectedIndices.length; i++) {\n $(children[selectedIndices[i]]).removeClass('k-state-selected').attr('aria-selected', false);\n removed.push({\n position: i,\n dataItem: dataItems[i]\n });\n }\n that._values = [];\n that._dataItems = [];\n that._selectedIndices = [];\n } else if (selectable === 'multiple') {\n for (; i < indices.length; i++) {\n index = indices[i];\n if (!$(children[index]).hasClass('k-state-selected')) {\n continue;\n }\n for (j = 0; j < selectedIndices.length; j++) {\n selectedIndex = selectedIndices[j];\n if (selectedIndex === index) {\n $(children[selectedIndex]).removeClass('k-state-selected').attr('aria-selected', false);\n var dataItem = this._view[index].item;\n var position = this._dataItemPosition(dataItem, this._values);\n removed.push({\n position: position,\n dataItem: dataItem\n });\n dataItems.splice(j, 1);\n selectedIndices.splice(j, 1);\n indices.splice(i, 1);\n values.splice(j, 1);\n removedIndices += 1;\n i -= 1;\n j -= 1;\n break;\n }\n }\n }\n }\n return {\n indices: indices,\n removed: removed\n };\n },\n _deselectFiltered: function (indices) {\n var children = this.element[0].children;\n var dataItem, index, position;\n var removed = [];\n var idx = 0;\n for (; idx < indices.length; idx++) {\n index = indices[idx];\n dataItem = this._view[index].item;\n position = this._dataItemPosition(dataItem, this._values);\n if (position > -1) {\n removed.push(this.removeAt(position));\n $(children[index]).removeClass('k-state-selected');\n }\n }\n if (removed.length) {\n this.trigger(CHANGE, {\n added: [],\n removed: removed\n });\n return true;\n }\n return false;\n },\n _select: function (indices) {\n var that = this;\n var children = that.element[0].children;\n var data = that._view;\n var dataItem, index;\n var added = [];\n var idx = 0;\n if (last(indices) !== -1) {\n that.focus(indices);\n }\n for (; idx < indices.length; idx++) {\n index = indices[idx];\n dataItem = data[index];\n if (index === -1 || !dataItem) {\n continue;\n }\n dataItem = dataItem.item;\n that._selectedIndices.push(index);\n that._dataItems.push(dataItem);\n that._values.push(that._valueGetter(dataItem));\n $(children[index]).addClass('k-state-selected').attr('aria-selected', true);\n added.push({ dataItem: dataItem });\n }\n return added;\n },\n getElementIndex: function (element) {\n return $(element).data('offset-index');\n },\n _get: function (candidate) {\n if (typeof candidate === 'number') {\n candidate = [candidate];\n } else if (!isArray(candidate)) {\n candidate = this.getElementIndex(candidate);\n candidate = [candidate !== undefined ? candidate : -1];\n }\n return candidate;\n },\n _template: function () {\n var that = this;\n var options = that.options;\n var template = options.template;\n if (!template) {\n template = kendo.template('
    • ${' + kendo.expr(options.dataTextField, 'data') + '}
    • ', { useWithBlock: false });\n } else {\n template = kendo.template(template);\n template = function (data) {\n return '
    • ' + template(data) + '
    • ';\n };\n }\n return template;\n },\n _templates: function () {\n var template;\n var options = this.options;\n var templates = {\n template: options.template,\n groupTemplate: options.groupTemplate,\n fixedGroupTemplate: options.fixedGroupTemplate\n };\n if (options.columns) {\n for (var i = 0; i < options.columns.length; i++) {\n var currentColumn = options.columns[i];\n var templateText = currentColumn.field ? currentColumn.field.toString() : 'text';\n templates['column' + i] = currentColumn.template || '#: ' + templateText + '#';\n }\n }\n for (var key in templates) {\n template = templates[key];\n if (template && typeof template !== 'function') {\n templates[key] = kendo.template(template);\n }\n }\n this.templates = templates;\n },\n _normalizeIndices: function (indices) {\n var newIndices = [];\n var idx = 0;\n for (; idx < indices.length; idx++) {\n if (indices[idx] !== undefined) {\n newIndices.push(indices[idx]);\n }\n }\n return newIndices;\n },\n _valueIndices: function (values, indices) {\n var data = this._view;\n var idx = 0;\n var index;\n indices = indices ? indices.slice() : [];\n if (!values.length) {\n return [];\n }\n for (; idx < data.length; idx++) {\n index = this._dataItemPosition(data[idx].item, values);\n if (index !== -1) {\n indices[index] = idx;\n }\n }\n return this._normalizeIndices(indices);\n },\n _firstVisibleItem: function () {\n var element = this.element[0];\n var content = this.content[0];\n var scrollTop = content.scrollTop;\n var itemHeight = $(element.children[0]).height();\n var itemIndex = Math.floor(scrollTop / itemHeight) || 0;\n var item = element.children[itemIndex] || element.lastChild;\n var forward = item.offsetTop < scrollTop;\n while (item) {\n if (forward) {\n if (item.offsetTop + itemHeight > scrollTop || !item.nextSibling) {\n break;\n }\n item = item.nextSibling;\n } else {\n if (item.offsetTop <= scrollTop || !item.previousSibling) {\n break;\n }\n item = item.previousSibling;\n }\n }\n return this._view[$(item).data('offset-index')];\n },\n _fixedHeader: function () {\n if (this.isGrouped() && this.templates.fixedGroupTemplate) {\n this.header.show();\n this.content.scroll(this._onScroll);\n } else {\n this.header.hide();\n this.content.off('scroll', this._onScroll);\n }\n },\n _renderHeader: function () {\n var template = this.templates.fixedGroupTemplate;\n if (!template) {\n return;\n }\n var visibleItem = this._firstVisibleItem();\n if (visibleItem && visibleItem.group.toString().length) {\n this.header.html(template(visibleItem.group));\n }\n },\n _renderItem: function (context) {\n var item = '
    • ';\n if (hasColumns) {\n item += this._renderColumns(dataItem);\n } else {\n item += this.templates.template(dataItem);\n }\n if (notFirstItem && context.newGroup) {\n if (hasColumns) {\n item += '
      ' + this.templates.groupTemplate(context.group) + '
      ';\n } else {\n item += '
      ' + this.templates.groupTemplate(context.group) + '
      ';\n }\n } else if (isGrouped && hasColumns) {\n item += '
      ';\n }\n return item + '
    • ';\n },\n _renderColumns: function (dataItem) {\n var item = '';\n for (var i = 0; i < this.options.columns.length; i++) {\n var currentWidth = this.options.columns[i].width;\n var currentWidthInt = parseInt(currentWidth, 10);\n var widthStyle = '';\n if (currentWidth && !isNaN(currentWidthInt)) {\n widthStyle += 'style=\\'width:';\n widthStyle += currentWidthInt;\n widthStyle += percentageUnitsRegex.test(currentWidth) ? '%' : 'px';\n widthStyle += ';\\'';\n }\n item += '';\n item += this.templates['column' + i](dataItem);\n item += '';\n }\n return item;\n },\n _render: function () {\n var html = '';\n var i = 0;\n var idx = 0;\n var context;\n var dataContext = [];\n var view = this.dataSource.view();\n var values = this.value();\n var group, newGroup, j;\n var isGrouped = this.isGrouped();\n if (isGrouped) {\n for (i = 0; i < view.length; i++) {\n group = view[i];\n newGroup = true;\n for (j = 0; j < group.items.length; j++) {\n context = {\n selected: this._selected(group.items[j], values),\n item: group.items[j],\n group: group.value,\n newGroup: newGroup,\n isLastGroupedItem: j === group.items.length - 1,\n index: idx\n };\n dataContext[idx] = context;\n idx += 1;\n html += this._renderItem(context);\n newGroup = false;\n }\n }\n } else {\n for (i = 0; i < view.length; i++) {\n context = {\n selected: this._selected(view[i], values),\n item: view[i],\n index: i\n };\n dataContext[i] = context;\n html += this._renderItem(context);\n }\n }\n this._view = dataContext;\n this.element[0].innerHTML = html;\n if (isGrouped && dataContext.length) {\n this._renderHeader();\n }\n },\n _selected: function (dataItem, values) {\n var select = !this.isFiltered() || this.options.selectable === 'multiple';\n return select && this._dataItemPosition(dataItem, values) !== -1;\n },\n setDSFilter: function (filter) {\n this._lastDSFilter = extend({}, filter);\n },\n isFiltered: function () {\n if (!this._lastDSFilter) {\n this.setDSFilter(this.dataSource.filter());\n }\n return !kendo.data.Query.compareFilters(this.dataSource.filter(), this._lastDSFilter);\n },\n refresh: function (e) {\n var that = this;\n var action = e && e.action;\n var skipUpdateOnBind = that.options.skipUpdateOnBind;\n var isItemChange = action === 'itemchange';\n var result;\n that.trigger('dataBinding');\n that._angularItems('cleanup');\n that._fixedHeader();\n that._render();\n that.bound(true);\n if (isItemChange || action === 'remove') {\n result = mapChangedItems(that._dataItems, e.items);\n if (result.changed.length) {\n if (isItemChange) {\n that.trigger('selectedItemChange', { items: result.changed });\n } else {\n that.value(that._getValues(result.unchanged));\n }\n }\n } else if (that.isFiltered() || that._skipUpdate || that._emptySearch) {\n that.focus(0);\n if (that._skipUpdate) {\n that._skipUpdate = false;\n that._selectedIndices = that._valueIndices(that._values, that._selectedIndices);\n }\n } else if (!skipUpdateOnBind && (!action || action === 'add')) {\n that.value(that._values);\n }\n if (that._valueDeferred) {\n that._valueDeferred.resolve();\n }\n that._angularItems('compile');\n that.trigger('dataBound');\n },\n bound: function (bound) {\n if (bound === undefined) {\n return this._bound;\n }\n this._bound = bound;\n },\n isGrouped: function () {\n return (this.dataSource.group() || []).length;\n }\n });\n ui.plugin(StaticList);\n function last(list) {\n return list[list.length - 1];\n }\n function getSelectedOption(select) {\n var index = select.selectedIndex;\n return index > -1 ? select.options[index] : {};\n }\n function mapChangedItems(selected, itemsToMatch) {\n var itemsLength = itemsToMatch.length;\n var selectedLength = selected.length;\n var dataItem;\n var found;\n var i, j;\n var changed = [];\n var unchanged = [];\n if (selectedLength) {\n for (i = 0; i < selectedLength; i++) {\n dataItem = selected[i];\n found = false;\n for (j = 0; j < itemsLength; j++) {\n if (dataItem === itemsToMatch[j]) {\n found = true;\n changed.push({\n index: i,\n item: dataItem\n });\n break;\n }\n }\n if (!found) {\n unchanged.push(dataItem);\n }\n }\n }\n return {\n changed: changed,\n unchanged: unchanged\n };\n }\n function isValidFilterExpr(expression) {\n if (!expression || $.isEmptyObject(expression)) {\n return false;\n }\n if (expression.filters && !expression.filters.length) {\n return false;\n }\n return true;\n }\n function removeFiltersForField(expression, field) {\n var filters;\n var found = false;\n if (expression.filters) {\n filters = $.grep(expression.filters, function (filter) {\n found = removeFiltersForField(filter, field);\n if (filter.filters) {\n return filter.filters.length;\n } else {\n return filter.field != field;\n }\n });\n if (!found && expression.filters.length !== filters.length) {\n found = true;\n }\n expression.filters = filters;\n }\n return found;\n }\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.fx', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'fx',\n name: 'Effects',\n category: 'framework',\n description: 'Required for animation effects in all Kendo UI widgets.',\n depends: ['core']\n };\n (function ($, undefined) {\n var kendo = window.kendo, fx = kendo.effects, each = $.each, extend = $.extend, proxy = $.proxy, support = kendo.support, browser = support.browser, transforms = support.transforms, transitions = support.transitions, scaleProperties = {\n scale: 0,\n scalex: 0,\n scaley: 0,\n scale3d: 0\n }, translateProperties = {\n translate: 0,\n translatex: 0,\n translatey: 0,\n translate3d: 0\n }, hasZoom = typeof document.documentElement.style.zoom !== 'undefined' && !transforms, matrix3dRegExp = /matrix3?d?\\s*\\(.*,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?/i, cssParamsRegExp = /^(-?[\\d\\.\\-]+)?[\\w\\s]*,?\\s*(-?[\\d\\.\\-]+)?[\\w\\s]*/i, translateXRegExp = /translatex?$/i, oldEffectsRegExp = /(zoom|fade|expand)(\\w+)/, singleEffectRegExp = /(zoom|fade|expand)/, unitRegExp = /[xy]$/i, transformProps = [\n 'perspective',\n 'rotate',\n 'rotatex',\n 'rotatey',\n 'rotatez',\n 'rotate3d',\n 'scale',\n 'scalex',\n 'scaley',\n 'scalez',\n 'scale3d',\n 'skew',\n 'skewx',\n 'skewy',\n 'translate',\n 'translatex',\n 'translatey',\n 'translatez',\n 'translate3d',\n 'matrix',\n 'matrix3d'\n ], transform2d = [\n 'rotate',\n 'scale',\n 'scalex',\n 'scaley',\n 'skew',\n 'skewx',\n 'skewy',\n 'translate',\n 'translatex',\n 'translatey',\n 'matrix'\n ], transform2units = {\n 'rotate': 'deg',\n scale: '',\n skew: 'px',\n translate: 'px'\n }, cssPrefix = transforms.css, round = Math.round, BLANK = '', PX = 'px', NONE = 'none', AUTO = 'auto', WIDTH = 'width', HEIGHT = 'height', HIDDEN = 'hidden', ORIGIN = 'origin', ABORT_ID = 'abortId', OVERFLOW = 'overflow', TRANSLATE = 'translate', POSITION = 'position', COMPLETE_CALLBACK = 'completeCallback', TRANSITION = cssPrefix + 'transition', TRANSFORM = cssPrefix + 'transform', BACKFACE = cssPrefix + 'backface-visibility', PERSPECTIVE = cssPrefix + 'perspective', DEFAULT_PERSPECTIVE = '1500px', TRANSFORM_PERSPECTIVE = 'perspective(' + DEFAULT_PERSPECTIVE + ')', directions = {\n left: {\n reverse: 'right',\n property: 'left',\n transition: 'translatex',\n vertical: false,\n modifier: -1\n },\n right: {\n reverse: 'left',\n property: 'left',\n transition: 'translatex',\n vertical: false,\n modifier: 1\n },\n down: {\n reverse: 'up',\n property: 'top',\n transition: 'translatey',\n vertical: true,\n modifier: 1\n },\n up: {\n reverse: 'down',\n property: 'top',\n transition: 'translatey',\n vertical: true,\n modifier: -1\n },\n top: { reverse: 'bottom' },\n bottom: { reverse: 'top' },\n 'in': {\n reverse: 'out',\n modifier: -1\n },\n out: {\n reverse: 'in',\n modifier: 1\n },\n vertical: { reverse: 'vertical' },\n horizontal: { reverse: 'horizontal' }\n };\n kendo.directions = directions;\n extend($.fn, {\n kendoStop: function (clearQueue, gotoEnd) {\n if (transitions) {\n return fx.stopQueue(this, clearQueue || false, gotoEnd || false);\n } else {\n return this.stop(clearQueue, gotoEnd);\n }\n }\n });\n if (transforms && !transitions) {\n each(transform2d, function (idx, value) {\n $.fn[value] = function (val) {\n if (typeof val == 'undefined') {\n return animationProperty(this, value);\n } else {\n var that = $(this)[0], transformValue = value + '(' + val + transform2units[value.replace(unitRegExp, '')] + ')';\n if (that.style.cssText.indexOf(TRANSFORM) == -1) {\n $(this).css(TRANSFORM, transformValue);\n } else {\n that.style.cssText = that.style.cssText.replace(new RegExp(value + '\\\\(.*?\\\\)', 'i'), transformValue);\n }\n }\n return this;\n };\n $.fx.step[value] = function (fx) {\n $(fx.elem)[value](fx.now);\n };\n });\n var curProxy = $.fx.prototype.cur;\n $.fx.prototype.cur = function () {\n if (transform2d.indexOf(this.prop) != -1) {\n return parseFloat($(this.elem)[this.prop]());\n }\n return curProxy.apply(this, arguments);\n };\n }\n kendo.toggleClass = function (element, classes, options, add) {\n if (classes) {\n classes = classes.split(' ');\n if (transitions) {\n options = extend({\n exclusive: 'all',\n duration: 400,\n ease: 'ease-out'\n }, options);\n element.css(TRANSITION, options.exclusive + ' ' + options.duration + 'ms ' + options.ease);\n setTimeout(function () {\n element.css(TRANSITION, '').css(HEIGHT);\n }, options.duration);\n }\n each(classes, function (idx, value) {\n element.toggleClass(value, add);\n });\n }\n return element;\n };\n kendo.parseEffects = function (input, mirror) {\n var effects = {};\n if (typeof input === 'string') {\n each(input.split(' '), function (idx, value) {\n var redirectedEffect = !singleEffectRegExp.test(value), resolved = value.replace(oldEffectsRegExp, function (match, $1, $2) {\n return $1 + ':' + $2.toLowerCase();\n }), effect = resolved.split(':'), direction = effect[1], effectBody = {};\n if (effect.length > 1) {\n effectBody.direction = mirror && redirectedEffect ? directions[direction].reverse : direction;\n }\n effects[effect[0]] = effectBody;\n });\n } else {\n each(input, function (idx) {\n var direction = this.direction;\n if (direction && mirror && !singleEffectRegExp.test(idx)) {\n this.direction = directions[direction].reverse;\n }\n effects[idx] = this;\n });\n }\n return effects;\n };\n function parseInteger(value) {\n return parseInt(value, 10);\n }\n function parseCSS(element, property) {\n return parseInteger(element.css(property));\n }\n function keys(obj) {\n var acc = [];\n for (var propertyName in obj) {\n acc.push(propertyName);\n }\n return acc;\n }\n function strip3DTransforms(properties) {\n for (var key in properties) {\n if (transformProps.indexOf(key) != -1 && transform2d.indexOf(key) == -1) {\n delete properties[key];\n }\n }\n return properties;\n }\n function normalizeCSS(element, properties) {\n var transformation = [], cssValues = {}, lowerKey, key, value, isTransformed;\n for (key in properties) {\n lowerKey = key.toLowerCase();\n isTransformed = transforms && transformProps.indexOf(lowerKey) != -1;\n if (!support.hasHW3D && isTransformed && transform2d.indexOf(lowerKey) == -1) {\n delete properties[key];\n } else {\n value = properties[key];\n if (isTransformed) {\n transformation.push(key + '(' + value + ')');\n } else {\n cssValues[key] = value;\n }\n }\n }\n if (transformation.length) {\n cssValues[TRANSFORM] = transformation.join(' ');\n }\n return cssValues;\n }\n if (transitions) {\n extend(fx, {\n transition: function (element, properties, options) {\n var css, delay = 0, oldKeys = element.data('keys') || [], timeoutID;\n options = extend({\n duration: 200,\n ease: 'ease-out',\n complete: null,\n exclusive: 'all'\n }, options);\n var stopTransitionCalled = false;\n var stopTransition = function () {\n if (!stopTransitionCalled) {\n stopTransitionCalled = true;\n if (timeoutID) {\n clearTimeout(timeoutID);\n timeoutID = null;\n }\n element.removeData(ABORT_ID).dequeue().css(TRANSITION, '').css(TRANSITION);\n options.complete.call(element);\n }\n };\n options.duration = $.fx ? $.fx.speeds[options.duration] || options.duration : options.duration;\n css = normalizeCSS(element, properties);\n $.merge(oldKeys, keys(css));\n if ($.hasOwnProperty('uniqueSort')) {\n element.data('keys', $.uniqueSort(oldKeys)).height();\n } else {\n element.data('keys', $.unique(oldKeys)).height();\n }\n element.css(TRANSITION, options.exclusive + ' ' + options.duration + 'ms ' + options.ease).css(TRANSITION);\n element.css(css).css(TRANSFORM);\n if (transitions.event) {\n element.one(transitions.event, stopTransition);\n if (options.duration !== 0) {\n delay = 500;\n }\n }\n timeoutID = setTimeout(stopTransition, options.duration + delay);\n element.data(ABORT_ID, timeoutID);\n element.data(COMPLETE_CALLBACK, stopTransition);\n },\n stopQueue: function (element, clearQueue, gotoEnd) {\n var cssValues, taskKeys = element.data('keys'), retainPosition = !gotoEnd && taskKeys, completeCallback = element.data(COMPLETE_CALLBACK);\n if (retainPosition) {\n cssValues = kendo.getComputedStyles(element[0], taskKeys);\n }\n if (completeCallback) {\n completeCallback();\n }\n if (retainPosition) {\n element.css(cssValues);\n }\n return element.removeData('keys').stop(clearQueue);\n }\n });\n }\n function animationProperty(element, property) {\n if (transforms) {\n var transform = element.css(TRANSFORM);\n if (transform == NONE) {\n return property == 'scale' ? 1 : 0;\n }\n var match = transform.match(new RegExp(property + '\\\\s*\\\\(([\\\\d\\\\w\\\\.]+)')), computed = 0;\n if (match) {\n computed = parseInteger(match[1]);\n } else {\n match = transform.match(matrix3dRegExp) || [\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n property = property.toLowerCase();\n if (translateXRegExp.test(property)) {\n computed = parseFloat(match[3] / match[2]);\n } else if (property == 'translatey') {\n computed = parseFloat(match[4] / match[2]);\n } else if (property == 'scale') {\n computed = parseFloat(match[2]);\n } else if (property == 'rotate') {\n computed = parseFloat(Math.atan2(match[2], match[1]));\n }\n }\n return computed;\n } else {\n return parseFloat(element.css(property));\n }\n }\n var EffectSet = kendo.Class.extend({\n init: function (element, options) {\n var that = this;\n that.element = element;\n that.effects = [];\n that.options = options;\n that.restore = [];\n },\n run: function (effects) {\n var that = this, effect, idx, jdx, length = effects.length, element = that.element, options = that.options, deferred = $.Deferred(), start = {}, end = {}, target, children, childrenLength;\n that.effects = effects;\n deferred.done($.proxy(that, 'complete'));\n element.data('animating', true);\n for (idx = 0; idx < length; idx++) {\n effect = effects[idx];\n effect.setReverse(options.reverse);\n effect.setOptions(options);\n that.addRestoreProperties(effect.restore);\n effect.prepare(start, end);\n children = effect.children();\n for (jdx = 0, childrenLength = children.length; jdx < childrenLength; jdx++) {\n children[jdx].duration(options.duration).run();\n }\n }\n for (var effectName in options.effects) {\n extend(end, options.effects[effectName].properties);\n }\n if (!element.is(':visible')) {\n extend(start, { display: element.data('olddisplay') || 'block' });\n }\n if (transforms && !options.reset) {\n target = element.data('targetTransform');\n if (target) {\n start = extend(target, start);\n }\n }\n start = normalizeCSS(element, start);\n if (transforms && !transitions) {\n start = strip3DTransforms(start);\n }\n element.css(start).css(TRANSFORM);\n for (idx = 0; idx < length; idx++) {\n effects[idx].setup();\n }\n if (options.init) {\n options.init();\n }\n element.data('targetTransform', end);\n fx.animate(element, end, extend({}, options, { complete: deferred.resolve }));\n return deferred.promise();\n },\n stop: function () {\n $(this.element).kendoStop(true, true);\n },\n addRestoreProperties: function (restore) {\n var element = this.element, value, i = 0, length = restore.length;\n for (; i < length; i++) {\n value = restore[i];\n this.restore.push(value);\n if (!element.data(value)) {\n element.data(value, element.css(value));\n }\n }\n },\n restoreCallback: function () {\n var element = this.element;\n for (var i = 0, length = this.restore.length; i < length; i++) {\n var value = this.restore[i];\n element.css(value, element.data(value));\n }\n },\n complete: function () {\n var that = this, idx = 0, element = that.element, options = that.options, effects = that.effects, length = effects.length;\n element.removeData('animating').dequeue();\n if (options.hide) {\n element.data('olddisplay', element.css('display')).hide();\n }\n this.restoreCallback();\n if (hasZoom && !transforms) {\n setTimeout($.proxy(this, 'restoreCallback'), 0);\n }\n for (; idx < length; idx++) {\n effects[idx].teardown();\n }\n if (options.completeCallback) {\n options.completeCallback(element);\n }\n }\n });\n fx.promise = function (element, options) {\n var effects = [], effectClass, effectSet = new EffectSet(element, options), parsedEffects = kendo.parseEffects(options.effects), effect;\n options.effects = parsedEffects;\n for (var effectName in parsedEffects) {\n effectClass = fx[capitalize(effectName)];\n if (effectClass) {\n effect = new effectClass(element, parsedEffects[effectName].direction);\n effects.push(effect);\n }\n }\n if (effects[0]) {\n effectSet.run(effects);\n } else {\n if (!element.is(':visible')) {\n element.css({ display: element.data('olddisplay') || 'block' }).css('display');\n }\n if (options.init) {\n options.init();\n }\n element.dequeue();\n effectSet.complete();\n }\n };\n extend(fx, {\n animate: function (elements, properties, options) {\n var useTransition = options.transition !== false;\n delete options.transition;\n if (transitions && 'transition' in fx && useTransition) {\n fx.transition(elements, properties, options);\n } else {\n if (transforms) {\n elements.animate(strip3DTransforms(properties), {\n queue: false,\n show: false,\n hide: false,\n duration: options.duration,\n complete: options.complete\n });\n } else {\n elements.each(function () {\n var element = $(this), multiple = {};\n each(transformProps, function (idx, value) {\n var params, currentValue = properties ? properties[value] + ' ' : null;\n if (currentValue) {\n var single = properties;\n if (value in scaleProperties && properties[value] !== undefined) {\n params = currentValue.match(cssParamsRegExp);\n if (transforms) {\n extend(single, { scale: +params[0] });\n }\n } else {\n if (value in translateProperties && properties[value] !== undefined) {\n var position = element.css(POSITION), isFixed = position == 'absolute' || position == 'fixed';\n if (!element.data(TRANSLATE)) {\n if (isFixed) {\n element.data(TRANSLATE, {\n top: parseCSS(element, 'top') || 0,\n left: parseCSS(element, 'left') || 0,\n bottom: parseCSS(element, 'bottom'),\n right: parseCSS(element, 'right')\n });\n } else {\n element.data(TRANSLATE, {\n top: parseCSS(element, 'marginTop') || 0,\n left: parseCSS(element, 'marginLeft') || 0\n });\n }\n }\n var originalPosition = element.data(TRANSLATE);\n params = currentValue.match(cssParamsRegExp);\n if (params) {\n var dX = value == TRANSLATE + 'y' ? +null : +params[1], dY = value == TRANSLATE + 'y' ? +params[1] : +params[2];\n if (isFixed) {\n if (!isNaN(originalPosition.right)) {\n if (!isNaN(dX)) {\n extend(single, { right: originalPosition.right - dX });\n }\n } else {\n if (!isNaN(dX)) {\n extend(single, { left: originalPosition.left + dX });\n }\n }\n if (!isNaN(originalPosition.bottom)) {\n if (!isNaN(dY)) {\n extend(single, { bottom: originalPosition.bottom - dY });\n }\n } else {\n if (!isNaN(dY)) {\n extend(single, { top: originalPosition.top + dY });\n }\n }\n } else {\n if (!isNaN(dX)) {\n extend(single, { marginLeft: originalPosition.left + dX });\n }\n if (!isNaN(dY)) {\n extend(single, { marginTop: originalPosition.top + dY });\n }\n }\n }\n }\n }\n if (!transforms && value != 'scale' && value in single) {\n delete single[value];\n }\n if (single) {\n extend(multiple, single);\n }\n }\n });\n if (browser.msie) {\n delete multiple.scale;\n }\n element.animate(multiple, {\n queue: false,\n show: false,\n hide: false,\n duration: options.duration,\n complete: options.complete\n });\n });\n }\n }\n }\n });\n fx.animatedPromise = fx.promise;\n var Effect = kendo.Class.extend({\n init: function (element, direction) {\n var that = this;\n that.element = element;\n that._direction = direction;\n that.options = {};\n that._additionalEffects = [];\n if (!that.restore) {\n that.restore = [];\n }\n },\n reverse: function () {\n this._reverse = true;\n return this.run();\n },\n play: function () {\n this._reverse = false;\n return this.run();\n },\n add: function (additional) {\n this._additionalEffects.push(additional);\n return this;\n },\n direction: function (value) {\n this._direction = value;\n return this;\n },\n duration: function (duration) {\n this._duration = duration;\n return this;\n },\n compositeRun: function () {\n var that = this, effectSet = new EffectSet(that.element, {\n reverse: that._reverse,\n duration: that._duration\n }), effects = that._additionalEffects.concat([that]);\n return effectSet.run(effects);\n },\n run: function () {\n if (this._additionalEffects && this._additionalEffects[0]) {\n return this.compositeRun();\n }\n var that = this, element = that.element, idx = 0, restore = that.restore, length = restore.length, value, deferred = $.Deferred(), start = {}, end = {}, target, children = that.children(), childrenLength = children.length;\n deferred.done($.proxy(that, '_complete'));\n element.data('animating', true);\n for (idx = 0; idx < length; idx++) {\n value = restore[idx];\n if (!element.data(value)) {\n element.data(value, element.css(value));\n }\n }\n for (idx = 0; idx < childrenLength; idx++) {\n children[idx].duration(that._duration).run();\n }\n that.prepare(start, end);\n if (!element.is(':visible')) {\n extend(start, { display: element.data('olddisplay') || 'block' });\n }\n if (transforms) {\n target = element.data('targetTransform');\n if (target) {\n start = extend(target, start);\n }\n }\n start = normalizeCSS(element, start);\n if (transforms && !transitions) {\n start = strip3DTransforms(start);\n }\n element.css(start).css(TRANSFORM);\n that.setup();\n element.data('targetTransform', end);\n fx.animate(element, end, {\n duration: that._duration,\n complete: deferred.resolve\n });\n return deferred.promise();\n },\n stop: function () {\n var idx = 0, children = this.children(), childrenLength = children.length;\n for (idx = 0; idx < childrenLength; idx++) {\n children[idx].stop();\n }\n $(this.element).kendoStop(true, true);\n return this;\n },\n restoreCallback: function () {\n var element = this.element;\n for (var i = 0, length = this.restore.length; i < length; i++) {\n var value = this.restore[i];\n element.css(value, element.data(value));\n }\n },\n _complete: function () {\n var that = this, element = that.element;\n element.removeData('animating').dequeue();\n that.restoreCallback();\n if (that.shouldHide()) {\n element.data('olddisplay', element.css('display')).hide();\n }\n if (hasZoom && !transforms) {\n setTimeout($.proxy(that, 'restoreCallback'), 0);\n }\n that.teardown();\n },\n setOptions: function (options) {\n extend(true, this.options, options);\n },\n children: function () {\n return [];\n },\n shouldHide: $.noop,\n setup: $.noop,\n prepare: $.noop,\n teardown: $.noop,\n directions: [],\n setReverse: function (reverse) {\n this._reverse = reverse;\n return this;\n }\n });\n function capitalize(word) {\n return word.charAt(0).toUpperCase() + word.substring(1);\n }\n function createEffect(name, definition) {\n var effectClass = Effect.extend(definition), directions = effectClass.prototype.directions;\n fx[capitalize(name)] = effectClass;\n fx.Element.prototype[name] = function (direction, opt1, opt2, opt3) {\n return new effectClass(this.element, direction, opt1, opt2, opt3);\n };\n each(directions, function (idx, theDirection) {\n fx.Element.prototype[name + capitalize(theDirection)] = function (opt1, opt2, opt3) {\n return new effectClass(this.element, theDirection, opt1, opt2, opt3);\n };\n });\n }\n var FOUR_DIRECTIONS = [\n 'left',\n 'right',\n 'up',\n 'down'\n ], IN_OUT = [\n 'in',\n 'out'\n ];\n createEffect('slideIn', {\n directions: FOUR_DIRECTIONS,\n divisor: function (value) {\n this.options.divisor = value;\n return this;\n },\n prepare: function (start, end) {\n var that = this, tmp, element = that.element, outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, direction = directions[that._direction], offset = -direction.modifier * (direction.vertical ? outerHeight(element) : outerWidth(element)), startValue = offset / (that.options && that.options.divisor || 1) + PX, endValue = '0px';\n if (that._reverse) {\n tmp = start;\n start = end;\n end = tmp;\n }\n if (transforms) {\n start[direction.transition] = startValue;\n end[direction.transition] = endValue;\n } else {\n start[direction.property] = startValue;\n end[direction.property] = endValue;\n }\n }\n });\n createEffect('tile', {\n directions: FOUR_DIRECTIONS,\n init: function (element, direction, previous) {\n Effect.prototype.init.call(this, element, direction);\n this.options = { previous: previous };\n },\n previousDivisor: function (value) {\n this.options.previousDivisor = value;\n return this;\n },\n children: function () {\n var that = this, reverse = that._reverse, previous = that.options.previous, divisor = that.options.previousDivisor || 1, dir = that._direction;\n var children = [kendo.fx(that.element).slideIn(dir).setReverse(reverse)];\n if (previous) {\n children.push(kendo.fx(previous).slideIn(directions[dir].reverse).divisor(divisor).setReverse(!reverse));\n }\n return children;\n }\n });\n function createToggleEffect(name, property, defaultStart, defaultEnd) {\n createEffect(name, {\n directions: IN_OUT,\n startValue: function (value) {\n this._startValue = value;\n return this;\n },\n endValue: function (value) {\n this._endValue = value;\n return this;\n },\n shouldHide: function () {\n return this._shouldHide;\n },\n prepare: function (start, end) {\n var that = this, startValue, endValue, out = this._direction === 'out', startDataValue = that.element.data(property), startDataValueIsSet = !(isNaN(startDataValue) || startDataValue == defaultStart);\n if (startDataValueIsSet) {\n startValue = startDataValue;\n } else if (typeof this._startValue !== 'undefined') {\n startValue = this._startValue;\n } else {\n startValue = out ? defaultStart : defaultEnd;\n }\n if (typeof this._endValue !== 'undefined') {\n endValue = this._endValue;\n } else {\n endValue = out ? defaultEnd : defaultStart;\n }\n if (this._reverse) {\n start[property] = endValue;\n end[property] = startValue;\n } else {\n start[property] = startValue;\n end[property] = endValue;\n }\n that._shouldHide = end[property] === defaultEnd;\n }\n });\n }\n createToggleEffect('fade', 'opacity', 1, 0);\n createToggleEffect('zoom', 'scale', 1, 0.01);\n createEffect('slideMargin', {\n prepare: function (start, end) {\n var that = this, element = that.element, options = that.options, origin = element.data(ORIGIN), offset = options.offset, margin, reverse = that._reverse;\n if (!reverse && origin === null) {\n element.data(ORIGIN, parseFloat(element.css('margin-' + options.axis)));\n }\n margin = element.data(ORIGIN) || 0;\n end['margin-' + options.axis] = !reverse ? margin + offset : margin;\n }\n });\n createEffect('slideTo', {\n prepare: function (start, end) {\n var that = this, element = that.element, options = that.options, offset = options.offset.split(','), reverse = that._reverse;\n if (transforms) {\n end.translatex = !reverse ? offset[0] : 0;\n end.translatey = !reverse ? offset[1] : 0;\n } else {\n end.left = !reverse ? offset[0] : 0;\n end.top = !reverse ? offset[1] : 0;\n }\n element.css('left');\n }\n });\n createEffect('expand', {\n directions: [\n 'horizontal',\n 'vertical'\n ],\n restore: [OVERFLOW],\n prepare: function (start, end) {\n var that = this, element = that.element, options = that.options, reverse = that._reverse, property = that._direction === 'vertical' ? HEIGHT : WIDTH, setLength = element[0].style[property], oldLength = element.data(property), length = parseFloat(oldLength || setLength), realLength = round(element.css(property, AUTO)[property]());\n start.overflow = HIDDEN;\n length = options && options.reset ? realLength || length : length || realLength;\n end[property] = (reverse ? 0 : length) + PX;\n start[property] = (reverse ? length : 0) + PX;\n if (oldLength === undefined) {\n element.data(property, setLength);\n }\n },\n shouldHide: function () {\n return this._reverse;\n },\n teardown: function () {\n var that = this, element = that.element, property = that._direction === 'vertical' ? HEIGHT : WIDTH, length = element.data(property);\n if (length == AUTO || length === BLANK) {\n setTimeout(function () {\n element.css(property, AUTO).css(property);\n }, 0);\n }\n }\n });\n var TRANSFER_START_STATE = {\n position: 'absolute',\n marginLeft: 0,\n marginTop: 0,\n scale: 1\n };\n createEffect('transfer', {\n init: function (element, target) {\n this.element = element;\n this.options = { target: target };\n this.restore = [];\n },\n setup: function () {\n this.element.appendTo(document.body);\n },\n prepare: function (start, end) {\n var that = this, element = that.element, outerBox = fx.box(element), innerBox = fx.box(that.options.target), currentScale = animationProperty(element, 'scale'), scale = fx.fillScale(innerBox, outerBox), transformOrigin = fx.transformOrigin(innerBox, outerBox);\n extend(start, TRANSFER_START_STATE);\n end.scale = 1;\n element.css(TRANSFORM, 'scale(1)').css(TRANSFORM);\n element.css(TRANSFORM, 'scale(' + currentScale + ')');\n start.top = outerBox.top;\n start.left = outerBox.left;\n start.transformOrigin = transformOrigin.x + PX + ' ' + transformOrigin.y + PX;\n if (that._reverse) {\n start.scale = scale;\n } else {\n end.scale = scale;\n }\n }\n });\n var CLIPS = {\n top: 'rect(auto auto $size auto)',\n bottom: 'rect($size auto auto auto)',\n left: 'rect(auto $size auto auto)',\n right: 'rect(auto auto auto $size)'\n };\n var ROTATIONS = {\n top: {\n start: 'rotatex(0deg)',\n end: 'rotatex(180deg)'\n },\n bottom: {\n start: 'rotatex(-180deg)',\n end: 'rotatex(0deg)'\n },\n left: {\n start: 'rotatey(0deg)',\n end: 'rotatey(-180deg)'\n },\n right: {\n start: 'rotatey(180deg)',\n end: 'rotatey(0deg)'\n }\n };\n function clipInHalf(container, direction) {\n var vertical = kendo.directions[direction].vertical, size = container[vertical ? HEIGHT : WIDTH]() / 2 + 'px';\n return CLIPS[direction].replace('$size', size);\n }\n createEffect('turningPage', {\n directions: FOUR_DIRECTIONS,\n init: function (element, direction, container) {\n Effect.prototype.init.call(this, element, direction);\n this._container = container;\n },\n prepare: function (start, end) {\n var that = this, reverse = that._reverse, direction = reverse ? directions[that._direction].reverse : that._direction, rotation = ROTATIONS[direction];\n start.zIndex = 1;\n if (that._clipInHalf) {\n start.clip = clipInHalf(that._container, kendo.directions[direction].reverse);\n }\n start[BACKFACE] = HIDDEN;\n end[TRANSFORM] = TRANSFORM_PERSPECTIVE + (reverse ? rotation.start : rotation.end);\n start[TRANSFORM] = TRANSFORM_PERSPECTIVE + (reverse ? rotation.end : rotation.start);\n },\n setup: function () {\n this._container.append(this.element);\n },\n face: function (value) {\n this._face = value;\n return this;\n },\n shouldHide: function () {\n var that = this, reverse = that._reverse, face = that._face;\n return reverse && !face || !reverse && face;\n },\n clipInHalf: function (value) {\n this._clipInHalf = value;\n return this;\n },\n temporary: function () {\n this.element.addClass('temp-page');\n return this;\n }\n });\n createEffect('staticPage', {\n directions: FOUR_DIRECTIONS,\n init: function (element, direction, container) {\n Effect.prototype.init.call(this, element, direction);\n this._container = container;\n },\n restore: ['clip'],\n prepare: function (start, end) {\n var that = this, direction = that._reverse ? directions[that._direction].reverse : that._direction;\n start.clip = clipInHalf(that._container, direction);\n start.opacity = 0.999;\n end.opacity = 1;\n },\n shouldHide: function () {\n var that = this, reverse = that._reverse, face = that._face;\n return reverse && !face || !reverse && face;\n },\n face: function (value) {\n this._face = value;\n return this;\n }\n });\n createEffect('pageturn', {\n directions: [\n 'horizontal',\n 'vertical'\n ],\n init: function (element, direction, face, back) {\n Effect.prototype.init.call(this, element, direction);\n this.options = {};\n this.options.face = face;\n this.options.back = back;\n },\n children: function () {\n var that = this, options = that.options, direction = that._direction === 'horizontal' ? 'left' : 'top', reverseDirection = kendo.directions[direction].reverse, reverse = that._reverse, temp, faceClone = options.face.clone(true).removeAttr('id'), backClone = options.back.clone(true).removeAttr('id'), element = that.element;\n if (reverse) {\n temp = direction;\n direction = reverseDirection;\n reverseDirection = temp;\n }\n return [\n kendo.fx(options.face).staticPage(direction, element).face(true).setReverse(reverse),\n kendo.fx(options.back).staticPage(reverseDirection, element).setReverse(reverse),\n kendo.fx(faceClone).turningPage(direction, element).face(true).clipInHalf(true).temporary().setReverse(reverse),\n kendo.fx(backClone).turningPage(reverseDirection, element).clipInHalf(true).temporary().setReverse(reverse)\n ];\n },\n prepare: function (start, end) {\n start[PERSPECTIVE] = DEFAULT_PERSPECTIVE;\n start.transformStyle = 'preserve-3d';\n start.opacity = 0.999;\n end.opacity = 1;\n },\n teardown: function () {\n this.element.find('.temp-page').remove();\n }\n });\n createEffect('flip', {\n directions: [\n 'horizontal',\n 'vertical'\n ],\n init: function (element, direction, face, back) {\n Effect.prototype.init.call(this, element, direction);\n this.options = {};\n this.options.face = face;\n this.options.back = back;\n },\n children: function () {\n var that = this, options = that.options, direction = that._direction === 'horizontal' ? 'left' : 'top', reverseDirection = kendo.directions[direction].reverse, reverse = that._reverse, temp, element = that.element;\n if (reverse) {\n temp = direction;\n direction = reverseDirection;\n reverseDirection = temp;\n }\n return [\n kendo.fx(options.face).turningPage(direction, element).face(true).setReverse(reverse),\n kendo.fx(options.back).turningPage(reverseDirection, element).setReverse(reverse)\n ];\n },\n prepare: function (start) {\n start[PERSPECTIVE] = DEFAULT_PERSPECTIVE;\n start.transformStyle = 'preserve-3d';\n }\n });\n var RESTORE_OVERFLOW = !support.mobileOS.android;\n var IGNORE_TRANSITION_EVENT_SELECTOR = '.km-touch-scrollbar, .km-actionsheet-wrapper';\n createEffect('replace', {\n _before: $.noop,\n _after: $.noop,\n init: function (element, previous, transitionClass) {\n Effect.prototype.init.call(this, element);\n this._previous = $(previous);\n this._transitionClass = transitionClass;\n },\n duration: function () {\n throw new Error('The replace effect does not support duration setting; the effect duration may be customized through the transition class rule');\n },\n beforeTransition: function (callback) {\n this._before = callback;\n return this;\n },\n afterTransition: function (callback) {\n this._after = callback;\n return this;\n },\n _both: function () {\n return $().add(this._element).add(this._previous);\n },\n _containerClass: function () {\n var direction = this._direction, containerClass = 'k-fx k-fx-start k-fx-' + this._transitionClass;\n if (direction) {\n containerClass += ' k-fx-' + direction;\n }\n if (this._reverse) {\n containerClass += ' k-fx-reverse';\n }\n return containerClass;\n },\n complete: function (e) {\n if (!this.deferred || e && $(e.target).is(IGNORE_TRANSITION_EVENT_SELECTOR)) {\n return;\n }\n var container = this.container;\n container.removeClass('k-fx-end').removeClass(this._containerClass()).off(transitions.event, this.completeProxy);\n this._previous.hide().removeClass('k-fx-current');\n this.element.removeClass('k-fx-next');\n if (RESTORE_OVERFLOW) {\n container.css(OVERFLOW, '');\n }\n if (!this.isAbsolute) {\n this._both().css(POSITION, '');\n }\n this.deferred.resolve();\n delete this.deferred;\n },\n run: function () {\n if (this._additionalEffects && this._additionalEffects[0]) {\n return this.compositeRun();\n }\n var that = this, element = that.element, previous = that._previous, container = element.parents().filter(previous.parents()).first(), both = that._both(), deferred = $.Deferred(), originalPosition = element.css(POSITION), originalOverflow;\n if (!container.length) {\n container = element.parent();\n }\n this.container = container;\n this.deferred = deferred;\n this.isAbsolute = originalPosition == 'absolute';\n if (!this.isAbsolute) {\n both.css(POSITION, 'absolute');\n }\n if (RESTORE_OVERFLOW) {\n originalOverflow = container.css(OVERFLOW);\n container.css(OVERFLOW, 'hidden');\n }\n if (!transitions) {\n this.complete();\n } else {\n element.addClass('k-fx-hidden');\n container.addClass(this._containerClass());\n this.completeProxy = $.proxy(this, 'complete');\n container.on(transitions.event, this.completeProxy);\n kendo.animationFrame(function () {\n element.removeClass('k-fx-hidden').addClass('k-fx-next');\n previous.css('display', '').addClass('k-fx-current');\n that._before(previous, element);\n kendo.animationFrame(function () {\n container.removeClass('k-fx-start').addClass('k-fx-end');\n that._after(previous, element);\n });\n });\n }\n return deferred.promise();\n },\n stop: function () {\n this.complete();\n }\n });\n var Animation = kendo.Class.extend({\n init: function () {\n var that = this;\n that._tickProxy = proxy(that._tick, that);\n that._started = false;\n },\n tick: $.noop,\n done: $.noop,\n onEnd: $.noop,\n onCancel: $.noop,\n start: function () {\n if (!this.enabled()) {\n return;\n }\n if (!this.done()) {\n this._started = true;\n kendo.animationFrame(this._tickProxy);\n } else {\n this.onEnd();\n }\n },\n enabled: function () {\n return true;\n },\n cancel: function () {\n this._started = false;\n this.onCancel();\n },\n _tick: function () {\n var that = this;\n if (!that._started) {\n return;\n }\n that.tick();\n if (!that.done()) {\n kendo.animationFrame(that._tickProxy);\n } else {\n that._started = false;\n that.onEnd();\n }\n }\n });\n var Transition = Animation.extend({\n init: function (options) {\n var that = this;\n extend(that, options);\n Animation.fn.init.call(that);\n },\n done: function () {\n return this.timePassed() >= this.duration;\n },\n timePassed: function () {\n return Math.min(this.duration, new Date() - this.startDate);\n },\n moveTo: function (options) {\n var that = this, movable = that.movable;\n that.initial = movable[that.axis];\n that.delta = options.location - that.initial;\n that.duration = typeof options.duration == 'number' ? options.duration : 300;\n that.tick = that._easeProxy(options.ease);\n that.startDate = new Date();\n that.start();\n },\n _easeProxy: function (ease) {\n var that = this;\n return function () {\n that.movable.moveAxis(that.axis, ease(that.timePassed(), that.initial, that.delta, that.duration));\n };\n }\n });\n extend(Transition, {\n easeOutExpo: function (t, b, c, d) {\n return t == d ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;\n },\n easeOutBack: function (t, b, c, d, s) {\n s = 1.70158;\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n }\n });\n fx.Animation = Animation;\n fx.Transition = Transition;\n fx.createEffect = createEffect;\n fx.box = function (element) {\n element = $(element);\n var result = element.offset();\n result.width = kendo._outerWidth(element);\n result.height = kendo._outerHeight(element);\n return result;\n };\n fx.transformOrigin = function (inner, outer) {\n var x = (inner.left - outer.left) * outer.width / (outer.width - inner.width), y = (inner.top - outer.top) * outer.height / (outer.height - inner.height);\n return {\n x: isNaN(x) ? 0 : x,\n y: isNaN(y) ? 0 : y\n };\n };\n fx.fillScale = function (inner, outer) {\n return Math.min(inner.width / outer.width, inner.height / outer.height);\n };\n fx.fitScale = function (inner, outer) {\n return Math.max(inner.width / outer.width, inner.height / outer.height);\n };\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.userevents', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'userevents',\n name: 'User Events',\n category: 'framework',\n depends: ['core'],\n hidden: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, support = kendo.support, Class = kendo.Class, Observable = kendo.Observable, now = $.now, extend = $.extend, OS = support.mobileOS, invalidZeroEvents = OS && OS.android, DEFAULT_MIN_HOLD = 800, CLICK_DELAY = 300, DEFAULT_THRESHOLD = support.browser.msie ? 5 : 0, PRESS = 'press', HOLD = 'hold', SELECT = 'select', START = 'start', MOVE = 'move', END = 'end', CANCEL = 'cancel', TAP = 'tap', DOUBLETAP = 'doubleTap', RELEASE = 'release', GESTURESTART = 'gesturestart', GESTURECHANGE = 'gesturechange', GESTUREEND = 'gestureend', GESTURETAP = 'gesturetap';\n var THRESHOLD = {\n 'api': 0,\n 'touch': 0,\n 'mouse': 9,\n 'pointer': 9\n };\n var ENABLE_GLOBAL_SURFACE = !support.touch || support.mouseAndTouchPresent;\n function touchDelta(touch1, touch2) {\n var x1 = touch1.x.location, y1 = touch1.y.location, x2 = touch2.x.location, y2 = touch2.y.location, dx = x1 - x2, dy = y1 - y2;\n return {\n center: {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n },\n distance: Math.sqrt(dx * dx + dy * dy)\n };\n }\n function getTouches(e) {\n var touches = [], originalEvent = e.originalEvent, currentTarget = e.currentTarget, idx = 0, length, changedTouches, touch;\n if (e.api) {\n touches.push({\n id: 2,\n event: e,\n target: e.target,\n currentTarget: e.target,\n location: e,\n type: 'api'\n });\n } else if (e.type.match(/touch/)) {\n changedTouches = originalEvent ? originalEvent.changedTouches : [];\n for (length = changedTouches.length; idx < length; idx++) {\n touch = changedTouches[idx];\n touches.push({\n location: touch,\n event: e,\n target: touch.target,\n currentTarget: currentTarget,\n id: touch.identifier,\n type: 'touch'\n });\n }\n } else if (support.pointers || support.msPointers) {\n touches.push({\n location: originalEvent,\n event: e,\n target: e.target,\n currentTarget: currentTarget,\n id: originalEvent.pointerId,\n type: 'pointer'\n });\n } else {\n touches.push({\n id: 1,\n event: e,\n target: e.target,\n currentTarget: currentTarget,\n location: e,\n type: 'mouse'\n });\n }\n return touches;\n }\n var TouchAxis = Class.extend({\n init: function (axis, location) {\n var that = this;\n that.axis = axis;\n that._updateLocationData(location);\n that.startLocation = that.location;\n that.velocity = that.delta = 0;\n that.timeStamp = now();\n },\n move: function (location) {\n var that = this, offset = location['page' + that.axis], timeStamp = now(), timeDelta = timeStamp - that.timeStamp || 1;\n if (!offset && invalidZeroEvents) {\n return;\n }\n that.delta = offset - that.location;\n that._updateLocationData(location);\n that.initialDelta = offset - that.startLocation;\n that.velocity = that.delta / timeDelta;\n that.timeStamp = timeStamp;\n },\n _updateLocationData: function (location) {\n var that = this, axis = that.axis;\n that.location = location['page' + axis];\n that.client = location['client' + axis];\n that.screen = location['screen' + axis];\n }\n });\n var Touch = Class.extend({\n init: function (userEvents, target, touchInfo) {\n extend(this, {\n x: new TouchAxis('X', touchInfo.location),\n y: new TouchAxis('Y', touchInfo.location),\n type: touchInfo.type,\n useClickAsTap: userEvents.useClickAsTap,\n threshold: userEvents.threshold || THRESHOLD[touchInfo.type],\n userEvents: userEvents,\n target: target,\n currentTarget: touchInfo.currentTarget,\n initialTouch: touchInfo.target,\n id: touchInfo.id,\n pressEvent: touchInfo,\n _clicks: userEvents._clicks,\n supportDoubleTap: userEvents.supportDoubleTap,\n _moved: false,\n _finished: false\n });\n },\n press: function () {\n this._holdTimeout = setTimeout($.proxy(this, '_hold'), this.userEvents.minHold);\n this._trigger(PRESS, this.pressEvent);\n },\n _tap: function (touchInfo) {\n var that = this;\n that.userEvents._clicks++;\n if (that.userEvents._clicks == 1) {\n that._clickTimeout = setTimeout(function () {\n if (that.userEvents._clicks == 1) {\n that._trigger(TAP, touchInfo);\n } else {\n that._trigger(DOUBLETAP, touchInfo);\n }\n that.userEvents._clicks = 0;\n }, CLICK_DELAY);\n }\n },\n _hold: function () {\n this._trigger(HOLD, this.pressEvent);\n },\n move: function (touchInfo) {\n var that = this;\n var preventMove = touchInfo.type !== 'api' && that.userEvents._shouldNotMove;\n if (that._finished || preventMove) {\n return;\n }\n that.x.move(touchInfo.location);\n that.y.move(touchInfo.location);\n if (!that._moved) {\n if (that._withinIgnoreThreshold()) {\n return;\n }\n if (!UserEvents.current || UserEvents.current === that.userEvents) {\n that._start(touchInfo);\n } else {\n return that.dispose();\n }\n }\n if (!that._finished) {\n that._trigger(MOVE, touchInfo);\n }\n },\n end: function (touchInfo) {\n this.endTime = now();\n if (this._finished) {\n return;\n }\n this._finished = true;\n this._trigger(RELEASE, touchInfo);\n if (this._moved) {\n this._trigger(END, touchInfo);\n } else {\n if (!this.useClickAsTap) {\n if (this.supportDoubleTap) {\n this._tap(touchInfo);\n } else {\n this._trigger(TAP, touchInfo);\n }\n }\n }\n clearTimeout(this._holdTimeout);\n this.dispose();\n },\n dispose: function () {\n var userEvents = this.userEvents, activeTouches = userEvents.touches;\n this._finished = true;\n this.pressEvent = null;\n clearTimeout(this._holdTimeout);\n activeTouches.splice($.inArray(this, activeTouches), 1);\n },\n skip: function () {\n this.dispose();\n },\n cancel: function () {\n this.dispose();\n },\n isMoved: function () {\n return this._moved;\n },\n _start: function (touchInfo) {\n clearTimeout(this._holdTimeout);\n this.startTime = now();\n this._moved = true;\n this._trigger(START, touchInfo);\n },\n _trigger: function (name, touchInfo) {\n var that = this, jQueryEvent = touchInfo.event, data = {\n touch: that,\n x: that.x,\n y: that.y,\n target: that.target,\n event: jQueryEvent\n };\n if (that.userEvents.notify(name, data)) {\n jQueryEvent.preventDefault();\n }\n },\n _withinIgnoreThreshold: function () {\n var xDelta = this.x.initialDelta, yDelta = this.y.initialDelta;\n return Math.sqrt(xDelta * xDelta + yDelta * yDelta) <= this.threshold;\n }\n });\n function withEachUpEvent(callback) {\n var downEvents = kendo.eventMap.up.split(' '), idx = 0, length = downEvents.length;\n for (; idx < length; idx++) {\n callback(downEvents[idx]);\n }\n }\n var UserEvents = Observable.extend({\n init: function (element, options) {\n var that = this, filter, ns = kendo.guid();\n options = options || {};\n filter = that.filter = options.filter;\n that.threshold = options.threshold || DEFAULT_THRESHOLD;\n that.minHold = options.minHold || DEFAULT_MIN_HOLD;\n that.touches = [];\n that._maxTouches = options.multiTouch ? 2 : 1;\n that.allowSelection = options.allowSelection;\n that.captureUpIfMoved = options.captureUpIfMoved;\n that.useClickAsTap = !options.fastTap && !support.delayedClick();\n that.eventNS = ns;\n that._clicks = 0;\n that.supportDoubleTap = options.supportDoubleTap;\n element = $(element).handler(that);\n Observable.fn.init.call(that);\n extend(that, {\n element: element,\n surface: options.global && ENABLE_GLOBAL_SURFACE ? $(element[0].ownerDocument.documentElement) : $(options.surface || element),\n stopPropagation: options.stopPropagation,\n pressed: false\n });\n that.surface.handler(that).on(kendo.applyEventMap('move', ns), '_move').on(kendo.applyEventMap('up cancel', ns), '_end');\n element.on(kendo.applyEventMap('down', ns), filter, '_start');\n if (that.useClickAsTap) {\n element.on(kendo.applyEventMap('click', ns), filter, '_click');\n }\n if (support.pointers || support.msPointers) {\n if (support.browser.version < 11) {\n var defaultAction = 'pinch-zoom double-tap-zoom';\n element.css('-ms-touch-action', options.touchAction && options.touchAction != 'none' ? defaultAction + ' ' + options.touchAction : defaultAction);\n } else {\n element.css('touch-action', options.touchAction || 'none');\n }\n }\n if (options.preventDragEvent) {\n element.on(kendo.applyEventMap('dragstart', ns), kendo.preventDefault);\n }\n element.on(kendo.applyEventMap('mousedown', ns), filter, { root: element }, '_select');\n if (that.captureUpIfMoved && support.eventCapture) {\n var surfaceElement = that.surface[0], preventIfMovingProxy = $.proxy(that.preventIfMoving, that);\n withEachUpEvent(function (eventName) {\n surfaceElement.addEventListener(eventName, preventIfMovingProxy, true);\n });\n }\n that.bind([\n PRESS,\n HOLD,\n TAP,\n DOUBLETAP,\n START,\n MOVE,\n END,\n RELEASE,\n CANCEL,\n GESTURESTART,\n GESTURECHANGE,\n GESTUREEND,\n GESTURETAP,\n SELECT\n ], options);\n },\n preventIfMoving: function (e) {\n if (this._isMoved()) {\n e.preventDefault();\n }\n },\n destroy: function () {\n var that = this;\n if (that._destroyed) {\n return;\n }\n that._destroyed = true;\n if (that.captureUpIfMoved && support.eventCapture) {\n var surfaceElement = that.surface[0];\n withEachUpEvent(function (eventName) {\n surfaceElement.removeEventListener(eventName, that.preventIfMoving);\n });\n }\n that.element.kendoDestroy(that.eventNS);\n that.surface.kendoDestroy(that.eventNS);\n that.element.removeData('handler');\n that.surface.removeData('handler');\n that._disposeAll();\n that.unbind();\n delete that.surface;\n delete that.element;\n delete that.currentTarget;\n },\n capture: function () {\n UserEvents.current = this;\n },\n cancel: function () {\n this._disposeAll();\n this.trigger(CANCEL);\n },\n notify: function (eventName, data) {\n var that = this, touches = that.touches;\n if (this._isMultiTouch()) {\n switch (eventName) {\n case MOVE:\n eventName = GESTURECHANGE;\n break;\n case END:\n eventName = GESTUREEND;\n break;\n case TAP:\n eventName = GESTURETAP;\n break;\n }\n extend(data, { touches: touches }, touchDelta(touches[0], touches[1]));\n }\n return this.trigger(eventName, extend(data, { type: eventName }));\n },\n press: function (x, y, target) {\n this._apiCall('_start', x, y, target);\n },\n move: function (x, y) {\n this._apiCall('_move', x, y);\n },\n end: function (x, y) {\n this._apiCall('_end', x, y);\n },\n _isMultiTouch: function () {\n return this.touches.length > 1;\n },\n _maxTouchesReached: function () {\n return this.touches.length >= this._maxTouches;\n },\n _disposeAll: function () {\n var touches = this.touches;\n while (touches.length > 0) {\n touches.pop().dispose();\n }\n },\n _isMoved: function () {\n return $.grep(this.touches, function (touch) {\n return touch.isMoved();\n }).length;\n },\n _select: function (e) {\n if (!this.allowSelection || this.trigger(SELECT, { event: e })) {\n e.preventDefault();\n }\n },\n _start: function (e) {\n var that = this, idx = 0, filter = that.filter, target, touches = getTouches(e), length = touches.length, touch, which = e.which;\n if (which && which > 1 || that._maxTouchesReached()) {\n return;\n }\n UserEvents.current = null;\n that.currentTarget = e.currentTarget;\n if (that.stopPropagation) {\n e.stopPropagation();\n }\n for (; idx < length; idx++) {\n if (that._maxTouchesReached()) {\n break;\n }\n touch = touches[idx];\n if (filter) {\n target = $(touch.currentTarget);\n } else {\n target = that.element;\n }\n if (!target.length) {\n continue;\n }\n touch = new Touch(that, target, touch);\n that.touches.push(touch);\n touch.press();\n if (that._isMultiTouch()) {\n that.notify('gesturestart', {});\n }\n }\n },\n _move: function (e) {\n this._eachTouch('move', e);\n },\n _end: function (e) {\n this._eachTouch('end', e);\n },\n _click: function (e) {\n var data = {\n touch: {\n initialTouch: e.target,\n target: $(e.currentTarget),\n endTime: now(),\n x: {\n location: e.pageX,\n client: e.clientX\n },\n y: {\n location: e.pageY,\n client: e.clientY\n }\n },\n x: e.pageX,\n y: e.pageY,\n target: $(e.currentTarget),\n event: e,\n type: 'tap'\n };\n if (this.trigger('tap', data)) {\n e.preventDefault();\n }\n },\n _eachTouch: function (methodName, e) {\n var that = this, dict = {}, touches = getTouches(e), activeTouches = that.touches, idx, touch, touchInfo, matchingTouch;\n for (idx = 0; idx < activeTouches.length; idx++) {\n touch = activeTouches[idx];\n dict[touch.id] = touch;\n }\n for (idx = 0; idx < touches.length; idx++) {\n touchInfo = touches[idx];\n matchingTouch = dict[touchInfo.id];\n if (matchingTouch) {\n matchingTouch[methodName](touchInfo);\n }\n }\n },\n _apiCall: function (type, x, y, target) {\n this[type]({\n api: true,\n pageX: x,\n pageY: y,\n clientX: x,\n clientY: y,\n target: $(target || this.element)[0],\n stopPropagation: $.noop,\n preventDefault: $.noop\n });\n }\n });\n UserEvents.defaultThreshold = function (value) {\n DEFAULT_THRESHOLD = value;\n };\n UserEvents.minHold = function (value) {\n DEFAULT_MIN_HOLD = value;\n };\n kendo.getTouches = getTouches;\n kendo.touchDelta = touchDelta;\n kendo.UserEvents = UserEvents;\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.draganddrop', [\n 'kendo.core',\n 'kendo.userevents'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'draganddrop',\n name: 'Drag & drop',\n category: 'framework',\n description: 'Drag & drop functionality for any DOM element.',\n depends: [\n 'core',\n 'userevents'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, support = kendo.support, document = window.document, $window = $(window), Class = kendo.Class, Widget = kendo.ui.Widget, Observable = kendo.Observable, UserEvents = kendo.UserEvents, proxy = $.proxy, extend = $.extend, getOffset = kendo.getOffset, draggables = {}, dropTargets = {}, dropAreas = {}, lastDropTarget, elementUnderCursor = kendo.elementUnderCursor, KEYUP = 'keyup', CHANGE = 'change', DRAGSTART = 'dragstart', HOLD = 'hold', DRAG = 'drag', DRAGEND = 'dragend', DRAGCANCEL = 'dragcancel', HINTDESTROYED = 'hintDestroyed', DRAGENTER = 'dragenter', DRAGLEAVE = 'dragleave', DROP = 'drop';\n function contains(parent, child) {\n try {\n return $.contains(parent, child) || parent == child;\n } catch (e) {\n return false;\n }\n }\n function numericCssPropery(element, property) {\n return parseInt(element.css(property), 10) || 0;\n }\n function within(value, range) {\n return Math.min(Math.max(value, range.min), range.max);\n }\n function containerBoundaries(container, element) {\n var offset = getOffset(container), outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, minX = offset.left + numericCssPropery(container, 'borderLeftWidth') + numericCssPropery(container, 'paddingLeft'), minY = offset.top + numericCssPropery(container, 'borderTopWidth') + numericCssPropery(container, 'paddingTop'), maxX = minX + container.width() - outerWidth(element, true), maxY = minY + container.height() - outerHeight(element, true);\n return {\n x: {\n min: minX,\n max: maxX\n },\n y: {\n min: minY,\n max: maxY\n }\n };\n }\n function checkTarget(target, targets, areas) {\n var theTarget, theFilter, i = 0, targetLen = targets && targets.length, areaLen = areas && areas.length;\n while (target && target.parentNode) {\n for (i = 0; i < targetLen; i++) {\n theTarget = targets[i];\n if (theTarget.element[0] === target) {\n return {\n target: theTarget,\n targetElement: target\n };\n }\n }\n for (i = 0; i < areaLen; i++) {\n theFilter = areas[i];\n if ($.contains(theFilter.element[0], target) && support.matchesSelector.call(target, theFilter.options.filter)) {\n return {\n target: theFilter,\n targetElement: target\n };\n }\n }\n target = target.parentNode;\n }\n return undefined;\n }\n var TapCapture = Observable.extend({\n init: function (element, options) {\n var that = this, domElement = element[0];\n that.capture = false;\n if (domElement.addEventListener) {\n $.each(kendo.eventMap.down.split(' '), function () {\n domElement.addEventListener(this, proxy(that._press, that), true);\n });\n $.each(kendo.eventMap.up.split(' '), function () {\n domElement.addEventListener(this, proxy(that._release, that), true);\n });\n } else {\n $.each(kendo.eventMap.down.split(' '), function () {\n domElement.attachEvent(this, proxy(that._press, that));\n });\n $.each(kendo.eventMap.up.split(' '), function () {\n domElement.attachEvent(this, proxy(that._release, that));\n });\n }\n Observable.fn.init.call(that);\n that.bind([\n 'press',\n 'release'\n ], options || {});\n },\n captureNext: function () {\n this.capture = true;\n },\n cancelCapture: function () {\n this.capture = false;\n },\n _press: function (e) {\n var that = this;\n that.trigger('press');\n if (that.capture) {\n e.preventDefault();\n }\n },\n _release: function (e) {\n var that = this;\n that.trigger('release');\n if (that.capture) {\n e.preventDefault();\n that.cancelCapture();\n }\n }\n });\n var PaneDimension = Observable.extend({\n init: function (options) {\n var that = this;\n Observable.fn.init.call(that);\n that.forcedEnabled = false;\n $.extend(that, options);\n that.scale = 1;\n if (that.horizontal) {\n that.measure = 'offsetWidth';\n that.scrollSize = 'scrollWidth';\n that.axis = 'x';\n } else {\n that.measure = 'offsetHeight';\n that.scrollSize = 'scrollHeight';\n that.axis = 'y';\n }\n },\n makeVirtual: function () {\n $.extend(this, {\n virtual: true,\n forcedEnabled: true,\n _virtualMin: 0,\n _virtualMax: 0\n });\n },\n virtualSize: function (min, max) {\n if (this._virtualMin !== min || this._virtualMax !== max) {\n this._virtualMin = min;\n this._virtualMax = max;\n this.update();\n }\n },\n outOfBounds: function (offset) {\n return offset > this.max || offset < this.min;\n },\n forceEnabled: function () {\n this.forcedEnabled = true;\n },\n getSize: function () {\n return this.container[0][this.measure];\n },\n getTotal: function () {\n return this.element[0][this.scrollSize];\n },\n rescale: function (scale) {\n this.scale = scale;\n },\n update: function (silent) {\n var that = this, total = that.virtual ? that._virtualMax : that.getTotal(), scaledTotal = total * that.scale, size = that.getSize();\n if (total === 0 && !that.forcedEnabled) {\n return;\n }\n that.max = that.virtual ? -that._virtualMin : 0;\n that.size = size;\n that.total = scaledTotal;\n that.min = Math.min(that.max, size - scaledTotal);\n that.minScale = size / total;\n that.centerOffset = (scaledTotal - size) / 2;\n that.enabled = that.forcedEnabled || scaledTotal > size;\n if (!silent) {\n that.trigger(CHANGE, that);\n }\n }\n });\n var PaneDimensions = Observable.extend({\n init: function (options) {\n var that = this;\n Observable.fn.init.call(that);\n that.x = new PaneDimension(extend({ horizontal: true }, options));\n that.y = new PaneDimension(extend({ horizontal: false }, options));\n that.container = options.container;\n that.forcedMinScale = options.minScale;\n that.maxScale = options.maxScale || 100;\n that.bind(CHANGE, options);\n },\n rescale: function (newScale) {\n this.x.rescale(newScale);\n this.y.rescale(newScale);\n this.refresh();\n },\n centerCoordinates: function () {\n return {\n x: Math.min(0, -this.x.centerOffset),\n y: Math.min(0, -this.y.centerOffset)\n };\n },\n refresh: function () {\n var that = this;\n that.x.update();\n that.y.update();\n that.enabled = that.x.enabled || that.y.enabled;\n that.minScale = that.forcedMinScale || Math.min(that.x.minScale, that.y.minScale);\n that.fitScale = Math.max(that.x.minScale, that.y.minScale);\n that.trigger(CHANGE);\n }\n });\n var PaneAxis = Observable.extend({\n init: function (options) {\n var that = this;\n extend(that, options);\n Observable.fn.init.call(that);\n },\n outOfBounds: function () {\n return this.dimension.outOfBounds(this.movable[this.axis]);\n },\n dragMove: function (delta) {\n var that = this, dimension = that.dimension, axis = that.axis, movable = that.movable, position = movable[axis] + delta;\n if (!dimension.enabled) {\n return;\n }\n if (position < dimension.min && delta < 0 || position > dimension.max && delta > 0) {\n delta *= that.resistance;\n }\n movable.translateAxis(axis, delta);\n that.trigger(CHANGE, that);\n }\n });\n var Pane = Class.extend({\n init: function (options) {\n var that = this, x, y, resistance, movable;\n extend(that, { elastic: true }, options);\n resistance = that.elastic ? 0.5 : 0;\n movable = that.movable;\n that.x = x = new PaneAxis({\n axis: 'x',\n dimension: that.dimensions.x,\n resistance: resistance,\n movable: movable\n });\n that.y = y = new PaneAxis({\n axis: 'y',\n dimension: that.dimensions.y,\n resistance: resistance,\n movable: movable\n });\n that.userEvents.bind([\n 'press',\n 'move',\n 'end',\n 'gesturestart',\n 'gesturechange'\n ], {\n gesturestart: function (e) {\n that.gesture = e;\n that.offset = that.dimensions.container.offset();\n },\n press: function (e) {\n if ($(e.event.target).closest('a').is('[data-navigate-on-press=true]')) {\n e.sender.cancel();\n }\n },\n gesturechange: function (e) {\n var previousGesture = that.gesture, previousCenter = previousGesture.center, center = e.center, scaleDelta = e.distance / previousGesture.distance, minScale = that.dimensions.minScale, maxScale = that.dimensions.maxScale, coordinates;\n if (movable.scale <= minScale && scaleDelta < 1) {\n scaleDelta += (1 - scaleDelta) * 0.8;\n }\n if (movable.scale * scaleDelta >= maxScale) {\n scaleDelta = maxScale / movable.scale;\n }\n var offsetX = movable.x + that.offset.left, offsetY = movable.y + that.offset.top;\n coordinates = {\n x: (offsetX - previousCenter.x) * scaleDelta + center.x - offsetX,\n y: (offsetY - previousCenter.y) * scaleDelta + center.y - offsetY\n };\n movable.scaleWith(scaleDelta);\n x.dragMove(coordinates.x);\n y.dragMove(coordinates.y);\n that.dimensions.rescale(movable.scale);\n that.gesture = e;\n e.preventDefault();\n },\n move: function (e) {\n if (e.event.target.tagName.match(/textarea|input/i)) {\n return;\n }\n if (x.dimension.enabled || y.dimension.enabled) {\n x.dragMove(e.x.delta);\n y.dragMove(e.y.delta);\n e.preventDefault();\n } else {\n e.touch.skip();\n }\n },\n end: function (e) {\n e.preventDefault();\n }\n });\n }\n });\n var TRANSFORM_STYLE = support.transitions.prefix + 'Transform', translate;\n if (support.hasHW3D) {\n translate = function (x, y, scale) {\n return 'translate3d(' + x + 'px,' + y + 'px,0) scale(' + scale + ')';\n };\n } else {\n translate = function (x, y, scale) {\n return 'translate(' + x + 'px,' + y + 'px) scale(' + scale + ')';\n };\n }\n var Movable = Observable.extend({\n init: function (element) {\n var that = this;\n Observable.fn.init.call(that);\n that.element = $(element);\n that.element[0].style.webkitTransformOrigin = 'left top';\n that.x = 0;\n that.y = 0;\n that.scale = 1;\n that._saveCoordinates(translate(that.x, that.y, that.scale));\n },\n translateAxis: function (axis, by) {\n this[axis] += by;\n this.refresh();\n },\n scaleTo: function (scale) {\n this.scale = scale;\n this.refresh();\n },\n scaleWith: function (scaleDelta) {\n this.scale *= scaleDelta;\n this.refresh();\n },\n translate: function (coordinates) {\n this.x += coordinates.x;\n this.y += coordinates.y;\n this.refresh();\n },\n moveAxis: function (axis, value) {\n this[axis] = value;\n this.refresh();\n },\n moveTo: function (coordinates) {\n extend(this, coordinates);\n this.refresh();\n },\n refresh: function () {\n var that = this, x = that.x, y = that.y, newCoordinates;\n if (that.round) {\n x = Math.round(x);\n y = Math.round(y);\n }\n newCoordinates = translate(x, y, that.scale);\n if (newCoordinates != that.coordinates) {\n if (kendo.support.browser.msie && kendo.support.browser.version < 10) {\n that.element[0].style.position = 'absolute';\n that.element[0].style.left = that.x + 'px';\n that.element[0].style.top = that.y + 'px';\n } else {\n that.element[0].style[TRANSFORM_STYLE] = newCoordinates;\n }\n that._saveCoordinates(newCoordinates);\n that.trigger(CHANGE);\n }\n },\n _saveCoordinates: function (coordinates) {\n this.coordinates = coordinates;\n }\n });\n function destroyDroppable(collection, widget) {\n var groupName = widget.options.group, droppables = collection[groupName], i;\n Widget.fn.destroy.call(widget);\n if (droppables.length > 1) {\n for (i = 0; i < droppables.length; i++) {\n if (droppables[i] == widget) {\n droppables.splice(i, 1);\n break;\n }\n }\n } else {\n droppables.length = 0;\n delete collection[groupName];\n }\n }\n var DropTarget = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n var group = that.options.group;\n if (!(group in dropTargets)) {\n dropTargets[group] = [that];\n } else {\n dropTargets[group].push(that);\n }\n },\n events: [\n DRAGENTER,\n DRAGLEAVE,\n DROP\n ],\n options: {\n name: 'DropTarget',\n group: 'default'\n },\n destroy: function () {\n destroyDroppable(dropTargets, this);\n },\n _trigger: function (eventName, e) {\n var that = this, draggable = draggables[that.options.group];\n if (draggable) {\n return that.trigger(eventName, extend({}, e.event, {\n draggable: draggable,\n dropTarget: e.dropTarget\n }));\n }\n },\n _over: function (e) {\n this._trigger(DRAGENTER, e);\n },\n _out: function (e) {\n this._trigger(DRAGLEAVE, e);\n },\n _drop: function (e) {\n var that = this, draggable = draggables[that.options.group];\n if (draggable) {\n draggable.dropped = !that._trigger(DROP, e);\n }\n }\n });\n DropTarget.destroyGroup = function (groupName) {\n var group = dropTargets[groupName] || dropAreas[groupName], i;\n if (group) {\n for (i = 0; i < group.length; i++) {\n Widget.fn.destroy.call(group[i]);\n }\n group.length = 0;\n delete dropTargets[groupName];\n delete dropAreas[groupName];\n }\n };\n DropTarget._cache = dropTargets;\n var DropTargetArea = DropTarget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n var group = that.options.group;\n if (!(group in dropAreas)) {\n dropAreas[group] = [that];\n } else {\n dropAreas[group].push(that);\n }\n },\n destroy: function () {\n destroyDroppable(dropAreas, this);\n },\n options: {\n name: 'DropTargetArea',\n group: 'default',\n filter: null\n }\n });\n var Draggable = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n that._activated = false;\n that.userEvents = new UserEvents(that.element, {\n global: true,\n allowSelection: true,\n filter: that.options.filter,\n threshold: that.options.distance,\n start: proxy(that._start, that),\n hold: proxy(that._hold, that),\n move: proxy(that._drag, that),\n end: proxy(that._end, that),\n cancel: proxy(that._cancel, that),\n select: proxy(that._select, that)\n });\n if (kendo.support.touch) {\n that.element.find(that.options.filter).css('touch-action', 'none');\n }\n that._afterEndHandler = proxy(that._afterEnd, that);\n that._captureEscape = proxy(that._captureEscape, that);\n },\n events: [\n HOLD,\n DRAGSTART,\n DRAG,\n DRAGEND,\n DRAGCANCEL,\n HINTDESTROYED\n ],\n options: {\n name: 'Draggable',\n distance: kendo.support.touch ? 0 : 5,\n group: 'default',\n cursorOffset: null,\n axis: null,\n container: null,\n filter: null,\n ignore: null,\n holdToDrag: false,\n autoScroll: false,\n dropped: false\n },\n cancelHold: function () {\n this._activated = false;\n },\n _captureEscape: function (e) {\n var that = this;\n if (e.keyCode === kendo.keys.ESC) {\n that._trigger(DRAGCANCEL, { event: e });\n that.userEvents.cancel();\n }\n },\n _updateHint: function (e) {\n var that = this, coordinates, options = that.options, boundaries = that.boundaries, axis = options.axis, cursorOffset = that.options.cursorOffset;\n if (cursorOffset) {\n coordinates = {\n left: e.x.location + cursorOffset.left,\n top: e.y.location + cursorOffset.top\n };\n } else {\n that.hintOffset.left += e.x.delta;\n that.hintOffset.top += e.y.delta;\n coordinates = $.extend({}, that.hintOffset);\n }\n if (boundaries) {\n coordinates.top = within(coordinates.top, boundaries.y);\n coordinates.left = within(coordinates.left, boundaries.x);\n }\n if (axis === 'x') {\n delete coordinates.top;\n } else if (axis === 'y') {\n delete coordinates.left;\n }\n that.hint.css(coordinates);\n },\n _shouldIgnoreTarget: function (target) {\n var ignoreSelector = this.options.ignore;\n return ignoreSelector && $(target).is(ignoreSelector);\n },\n _select: function (e) {\n if (!this._shouldIgnoreTarget(e.event.target)) {\n e.preventDefault();\n }\n },\n _start: function (e) {\n var that = this, options = that.options, container = options.container ? $(options.container) : null, hint = options.hint;\n if (this._shouldIgnoreTarget(e.touch.initialTouch) || options.holdToDrag && !that._activated) {\n that.userEvents.cancel();\n return;\n }\n that.currentTarget = e.target;\n that.currentTargetOffset = getOffset(that.currentTarget);\n if (hint) {\n if (that.hint) {\n that.hint.stop(true, true).remove();\n }\n that.hint = kendo.isFunction(hint) ? $(hint.call(that, that.currentTarget)) : hint;\n var offset = getOffset(that.currentTarget);\n that.hintOffset = offset;\n that.hint.css({\n position: 'absolute',\n zIndex: 20000,\n left: offset.left,\n top: offset.top\n }).appendTo(document.body);\n that.angular('compile', function () {\n that.hint.removeAttr('ng-repeat');\n var scopeTarget = $(e.target);\n while (!scopeTarget.data('$$kendoScope') && scopeTarget.length) {\n scopeTarget = scopeTarget.parent();\n }\n return {\n elements: that.hint.get(),\n scopeFrom: scopeTarget.data('$$kendoScope')\n };\n });\n }\n draggables[options.group] = that;\n that.dropped = false;\n if (container) {\n that.boundaries = containerBoundaries(container, that.hint);\n }\n $(document).on(KEYUP, that._captureEscape);\n if (that._trigger(DRAGSTART, e)) {\n that.userEvents.cancel();\n that._afterEnd();\n }\n that.userEvents.capture();\n },\n _hold: function (e) {\n this.currentTarget = e.target;\n if (this._trigger(HOLD, e)) {\n this.userEvents.cancel();\n } else {\n this._activated = true;\n }\n },\n _drag: function (e) {\n e.preventDefault();\n var cursorElement = this._elementUnderCursor(e);\n if (this.options.autoScroll && this._cursorElement !== cursorElement) {\n this._scrollableParent = findScrollableParent(cursorElement);\n this._cursorElement = cursorElement;\n }\n this._lastEvent = e;\n this._processMovement(e, cursorElement);\n if (this.options.autoScroll) {\n if (this._scrollableParent[0]) {\n var velocity = autoScrollVelocity(e.x.location, e.y.location, scrollableViewPort(this._scrollableParent));\n this._scrollCompenstation = $.extend({}, this.hintOffset);\n this._scrollVelocity = velocity;\n if (velocity.y === 0 && velocity.x === 0) {\n clearInterval(this._scrollInterval);\n this._scrollInterval = null;\n } else if (!this._scrollInterval) {\n this._scrollInterval = setInterval($.proxy(this, '_autoScroll'), 50);\n }\n }\n }\n if (this.hint) {\n this._updateHint(e);\n }\n },\n _processMovement: function (e, cursorElement) {\n this._withDropTarget(cursorElement, function (target, targetElement) {\n if (!target) {\n if (lastDropTarget) {\n lastDropTarget._trigger(DRAGLEAVE, extend(e, { dropTarget: $(lastDropTarget.targetElement) }));\n lastDropTarget = null;\n }\n return;\n }\n if (lastDropTarget) {\n if (targetElement === lastDropTarget.targetElement) {\n return;\n }\n lastDropTarget._trigger(DRAGLEAVE, extend(e, { dropTarget: $(lastDropTarget.targetElement) }));\n }\n target._trigger(DRAGENTER, extend(e, { dropTarget: $(targetElement) }));\n lastDropTarget = extend(target, { targetElement: targetElement });\n });\n this._trigger(DRAG, extend(e, {\n dropTarget: lastDropTarget,\n elementUnderCursor: cursorElement\n }));\n },\n _autoScroll: function () {\n var parent = this._scrollableParent[0], velocity = this._scrollVelocity, compensation = this._scrollCompenstation;\n if (!parent) {\n return;\n }\n var cursorElement = this._elementUnderCursor(this._lastEvent);\n this._processMovement(this._lastEvent, cursorElement);\n var yIsScrollable, xIsScrollable;\n var isRootNode = parent === scrollableRoot()[0];\n if (isRootNode) {\n yIsScrollable = document.body.scrollHeight > $window.height();\n xIsScrollable = document.body.scrollWidth > $window.width();\n } else {\n yIsScrollable = parent.offsetHeight <= parent.scrollHeight;\n xIsScrollable = parent.offsetWidth <= parent.scrollWidth;\n }\n var yDelta = parent.scrollTop + velocity.y;\n var yInBounds = yIsScrollable && yDelta > 0 && yDelta < parent.scrollHeight;\n var xDelta = parent.scrollLeft + velocity.x;\n var xInBounds = xIsScrollable && xDelta > 0 && xDelta < parent.scrollWidth;\n if (yInBounds) {\n parent.scrollTop += velocity.y;\n }\n if (xInBounds) {\n parent.scrollLeft += velocity.x;\n }\n if (this.hint && isRootNode && (xInBounds || yInBounds)) {\n if (yInBounds) {\n compensation.top += velocity.y;\n }\n if (xInBounds) {\n compensation.left += velocity.x;\n }\n this.hint.css(compensation);\n }\n },\n _end: function (e) {\n this._withDropTarget(this._elementUnderCursor(e), function (target, targetElement) {\n if (target) {\n target._drop(extend({}, e, { dropTarget: $(targetElement) }));\n lastDropTarget = null;\n }\n });\n this._cancel(this._trigger(DRAGEND, e));\n },\n _cancel: function (isDefaultPrevented) {\n var that = this;\n that._scrollableParent = null;\n this._cursorElement = null;\n clearInterval(this._scrollInterval);\n that._activated = false;\n if (that.hint && !that.dropped) {\n setTimeout(function () {\n that.hint.stop(true, true);\n if (isDefaultPrevented) {\n that._afterEndHandler();\n } else {\n that.hint.animate(that.currentTargetOffset, 'fast', that._afterEndHandler);\n }\n }, 0);\n } else {\n that._afterEnd();\n }\n },\n _trigger: function (eventName, e) {\n var that = this;\n return that.trigger(eventName, extend({}, e.event, {\n x: e.x,\n y: e.y,\n currentTarget: that.currentTarget,\n initialTarget: e.touch ? e.touch.initialTouch : null,\n dropTarget: e.dropTarget,\n elementUnderCursor: e.elementUnderCursor\n }));\n },\n _elementUnderCursor: function (e) {\n var target = elementUnderCursor(e), hint = this.hint;\n if (hint && contains(hint[0], target)) {\n hint.hide();\n target = elementUnderCursor(e);\n if (!target) {\n target = elementUnderCursor(e);\n }\n hint.show();\n }\n return target;\n },\n _withDropTarget: function (element, callback) {\n var result, group = this.options.group, targets = dropTargets[group], areas = dropAreas[group];\n if (targets && targets.length || areas && areas.length) {\n result = checkTarget(element, targets, areas);\n if (result) {\n callback(result.target, result.targetElement);\n } else {\n callback();\n }\n }\n },\n destroy: function () {\n var that = this;\n Widget.fn.destroy.call(that);\n that._afterEnd();\n that.userEvents.destroy();\n this._scrollableParent = null;\n this._cursorElement = null;\n clearInterval(this._scrollInterval);\n that.currentTarget = null;\n },\n _afterEnd: function () {\n var that = this;\n if (that.hint) {\n that.hint.remove();\n }\n delete draggables[that.options.group];\n that.trigger('destroy');\n that.trigger(HINTDESTROYED);\n $(document).off(KEYUP, that._captureEscape);\n }\n });\n kendo.ui.plugin(DropTarget);\n kendo.ui.plugin(DropTargetArea);\n kendo.ui.plugin(Draggable);\n kendo.TapCapture = TapCapture;\n kendo.containerBoundaries = containerBoundaries;\n extend(kendo.ui, {\n Pane: Pane,\n PaneDimensions: PaneDimensions,\n Movable: Movable\n });\n function scrollableViewPort(element) {\n var root = scrollableRoot()[0], offset, top, left;\n if (element[0] === root) {\n top = root.scrollTop;\n left = root.scrollLeft;\n return {\n top: top,\n left: left,\n bottom: top + $window.height(),\n right: left + $window.width()\n };\n } else {\n offset = element.offset();\n offset.bottom = offset.top + element.height();\n offset.right = offset.left + element.width();\n return offset;\n }\n }\n function scrollableRoot() {\n return $(kendo.support.browser.edge || kendo.support.browser.safari ? document.body : document.documentElement);\n }\n function findScrollableParent(element) {\n var root = scrollableRoot();\n if (!element || element === document.body || element === document.documentElement) {\n return root;\n }\n var parent = $(element)[0];\n while (parent && !kendo.isScrollable(parent) && parent !== document.body) {\n parent = parent.parentNode;\n }\n if (parent === document.body) {\n return root;\n }\n return $(parent);\n }\n function autoScrollVelocity(mouseX, mouseY, rect) {\n var velocity = {\n x: 0,\n y: 0\n };\n var AUTO_SCROLL_AREA = 50;\n if (mouseX - rect.left < AUTO_SCROLL_AREA) {\n velocity.x = -(AUTO_SCROLL_AREA - (mouseX - rect.left));\n } else if (rect.right - mouseX < AUTO_SCROLL_AREA) {\n velocity.x = AUTO_SCROLL_AREA - (rect.right - mouseX);\n }\n if (mouseY - rect.top < AUTO_SCROLL_AREA) {\n velocity.y = -(AUTO_SCROLL_AREA - (mouseY - rect.top));\n } else if (rect.bottom - mouseY < AUTO_SCROLL_AREA) {\n velocity.y = AUTO_SCROLL_AREA - (rect.bottom - mouseY);\n }\n return velocity;\n }\n kendo.ui.Draggable.utils = {\n autoScrollVelocity: autoScrollVelocity,\n scrollableViewPort: scrollableViewPort,\n findScrollableParent: findScrollableParent\n };\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.mobile.scroller', [\n 'kendo.fx',\n 'kendo.draganddrop'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'mobile.scroller',\n name: 'Scroller',\n category: 'mobile',\n description: 'The Kendo Mobile Scroller widget enables touch friendly kinetic scrolling for the contents of a given DOM element.',\n depends: [\n 'fx',\n 'draganddrop'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, mobile = kendo.mobile, fx = kendo.effects, ui = mobile.ui, proxy = $.proxy, extend = $.extend, Widget = ui.Widget, Class = kendo.Class, Movable = kendo.ui.Movable, Pane = kendo.ui.Pane, PaneDimensions = kendo.ui.PaneDimensions, Transition = fx.Transition, Animation = fx.Animation, abs = Math.abs, SNAPBACK_DURATION = 500, SCROLLBAR_OPACITY = 0.7, FRICTION = 0.96, VELOCITY_MULTIPLIER = 10, MAX_VELOCITY = 55, OUT_OF_BOUNDS_FRICTION = 0.5, ANIMATED_SCROLLER_PRECISION = 5, RELEASECLASS = 'km-scroller-release', REFRESHCLASS = 'km-scroller-refresh', PULL = 'pull', CHANGE = 'change', RESIZE = 'resize', SCROLL = 'scroll', MOUSE_WHEEL_ID = 2;\n var ZoomSnapBack = Animation.extend({\n init: function (options) {\n var that = this;\n Animation.fn.init.call(that);\n extend(that, options);\n that.userEvents.bind('gestureend', proxy(that.start, that));\n that.tapCapture.bind('press', proxy(that.cancel, that));\n },\n enabled: function () {\n return this.movable.scale < this.dimensions.minScale;\n },\n done: function () {\n return this.dimensions.minScale - this.movable.scale < 0.01;\n },\n tick: function () {\n var movable = this.movable;\n movable.scaleWith(1.1);\n this.dimensions.rescale(movable.scale);\n },\n onEnd: function () {\n var movable = this.movable;\n movable.scaleTo(this.dimensions.minScale);\n this.dimensions.rescale(movable.scale);\n }\n });\n var DragInertia = Animation.extend({\n init: function (options) {\n var that = this;\n Animation.fn.init.call(that);\n extend(that, options, {\n transition: new Transition({\n axis: options.axis,\n movable: options.movable,\n onEnd: function () {\n that._end();\n }\n })\n });\n that.tapCapture.bind('press', function () {\n that.cancel();\n });\n that.userEvents.bind('end', proxy(that.start, that));\n that.userEvents.bind('gestureend', proxy(that.start, that));\n that.userEvents.bind('tap', proxy(that.onEnd, that));\n },\n onCancel: function () {\n this.transition.cancel();\n },\n freeze: function (location) {\n var that = this;\n that.cancel();\n that._moveTo(location);\n },\n onEnd: function () {\n var that = this;\n if (that.paneAxis.outOfBounds()) {\n that._snapBack();\n } else {\n that._end();\n }\n },\n done: function () {\n return abs(this.velocity) < 1;\n },\n start: function (e) {\n var that = this, velocity;\n if (!that.dimension.enabled) {\n return;\n }\n if (that.paneAxis.outOfBounds()) {\n if (that.transition._started) {\n that.transition.cancel();\n that.velocity = Math.min(e.touch[that.axis].velocity * that.velocityMultiplier, MAX_VELOCITY);\n Animation.fn.start.call(that);\n } else {\n that._snapBack();\n }\n } else {\n velocity = e.touch.id === MOUSE_WHEEL_ID ? 0 : e.touch[that.axis].velocity;\n that.velocity = Math.max(Math.min(velocity * that.velocityMultiplier, MAX_VELOCITY), -MAX_VELOCITY);\n that.tapCapture.captureNext();\n Animation.fn.start.call(that);\n }\n },\n tick: function () {\n var that = this, dimension = that.dimension, friction = that.paneAxis.outOfBounds() ? OUT_OF_BOUNDS_FRICTION : that.friction, delta = that.velocity *= friction, location = that.movable[that.axis] + delta;\n if (!that.elastic && dimension.outOfBounds(location)) {\n location = Math.max(Math.min(location, dimension.max), dimension.min);\n that.velocity = 0;\n }\n that.movable.moveAxis(that.axis, location);\n },\n _end: function () {\n this.tapCapture.cancelCapture();\n this.end();\n },\n _snapBack: function () {\n var that = this, dimension = that.dimension, snapBack = that.movable[that.axis] > dimension.max ? dimension.max : dimension.min;\n that._moveTo(snapBack);\n },\n _moveTo: function (location) {\n this.transition.moveTo({\n location: location,\n duration: SNAPBACK_DURATION,\n ease: Transition.easeOutExpo\n });\n }\n });\n var AnimatedScroller = Animation.extend({\n init: function (options) {\n var that = this;\n kendo.effects.Animation.fn.init.call(this);\n extend(that, options, {\n origin: {},\n destination: {},\n offset: {}\n });\n },\n tick: function () {\n this._updateCoordinates();\n this.moveTo(this.origin);\n },\n done: function () {\n return abs(this.offset.y) < ANIMATED_SCROLLER_PRECISION && abs(this.offset.x) < ANIMATED_SCROLLER_PRECISION;\n },\n onEnd: function () {\n this.moveTo(this.destination);\n if (this.callback) {\n this.callback.call();\n }\n },\n setCoordinates: function (from, to) {\n this.offset = {};\n this.origin = from;\n this.destination = to;\n },\n setCallback: function (callback) {\n if (callback && kendo.isFunction(callback)) {\n this.callback = callback;\n } else {\n callback = undefined;\n }\n },\n _updateCoordinates: function () {\n this.offset = {\n x: (this.destination.x - this.origin.x) / 4,\n y: (this.destination.y - this.origin.y) / 4\n };\n this.origin = {\n y: this.origin.y + this.offset.y,\n x: this.origin.x + this.offset.x\n };\n }\n });\n var ScrollBar = Class.extend({\n init: function (options) {\n var that = this, horizontal = options.axis === 'x', element = $('
      ');\n extend(that, options, {\n element: element,\n elementSize: 0,\n movable: new Movable(element),\n scrollMovable: options.movable,\n alwaysVisible: options.alwaysVisible,\n size: horizontal ? 'width' : 'height'\n });\n that.scrollMovable.bind(CHANGE, proxy(that.refresh, that));\n that.container.append(element);\n if (options.alwaysVisible) {\n that.show();\n }\n },\n refresh: function () {\n var that = this, axis = that.axis, dimension = that.dimension, paneSize = dimension.size, scrollMovable = that.scrollMovable, sizeRatio = paneSize / dimension.total, position = Math.round(-scrollMovable[axis] * sizeRatio), size = Math.round(paneSize * sizeRatio);\n if (sizeRatio >= 1) {\n this.element.css('display', 'none');\n } else {\n this.element.css('display', '');\n }\n if (position + size > paneSize) {\n size = paneSize - position;\n } else if (position < 0) {\n size += position;\n position = 0;\n }\n if (that.elementSize != size) {\n that.element.css(that.size, size + 'px');\n that.elementSize = size;\n }\n that.movable.moveAxis(axis, position);\n },\n show: function () {\n this.element.css({\n opacity: SCROLLBAR_OPACITY,\n visibility: 'visible'\n });\n },\n hide: function () {\n if (!this.alwaysVisible) {\n this.element.css({ opacity: 0 });\n }\n }\n });\n var Scroller = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n element = that.element;\n that._native = that.options.useNative && kendo.support.hasNativeScrolling;\n if (that._native) {\n element.addClass('km-native-scroller').prepend('
      ');\n extend(that, {\n scrollElement: element,\n fixedContainer: element.children().first()\n });\n return;\n }\n element.css('overflow', 'hidden').addClass('km-scroll-wrapper').wrapInner('
      ').prepend('
      ');\n var inner = element.children().eq(1), tapCapture = new kendo.TapCapture(element), movable = new Movable(inner), dimensions = new PaneDimensions({\n element: inner,\n container: element,\n forcedEnabled: that.options.zoom\n }), avoidScrolling = this.options.avoidScrolling, userEvents = new kendo.UserEvents(element, {\n touchAction: 'pan-y',\n fastTap: true,\n allowSelection: true,\n preventDragEvent: true,\n captureUpIfMoved: true,\n multiTouch: that.options.zoom,\n supportDoubleTap: that.options.supportDoubleTap,\n start: function (e) {\n dimensions.refresh();\n var velocityX = abs(e.x.velocity), velocityY = abs(e.y.velocity), horizontalSwipe = velocityX * 2 >= velocityY, originatedFromFixedContainer = $.contains(that.fixedContainer[0], e.event.target), verticalSwipe = velocityY * 2 >= velocityX;\n if (!originatedFromFixedContainer && !avoidScrolling(e) && that.enabled && (dimensions.x.enabled && horizontalSwipe || dimensions.y.enabled && verticalSwipe)) {\n userEvents.capture();\n } else {\n userEvents.cancel();\n }\n }\n }), pane = new Pane({\n movable: movable,\n dimensions: dimensions,\n userEvents: userEvents,\n elastic: that.options.elastic\n }), zoomSnapBack = new ZoomSnapBack({\n movable: movable,\n dimensions: dimensions,\n userEvents: userEvents,\n tapCapture: tapCapture\n }), animatedScroller = new AnimatedScroller({\n moveTo: function (coordinates) {\n that.scrollTo(coordinates.x, coordinates.y);\n }\n });\n movable.bind(CHANGE, function () {\n that.scrollTop = -movable.y;\n that.scrollLeft = -movable.x;\n that.trigger(SCROLL, {\n scrollTop: that.scrollTop,\n scrollLeft: that.scrollLeft\n });\n });\n if (that.options.mousewheelScrolling) {\n element.on('DOMMouseScroll mousewheel', proxy(this, '_wheelScroll'));\n }\n extend(that, {\n movable: movable,\n dimensions: dimensions,\n zoomSnapBack: zoomSnapBack,\n animatedScroller: animatedScroller,\n userEvents: userEvents,\n pane: pane,\n tapCapture: tapCapture,\n pulled: false,\n enabled: true,\n scrollElement: inner,\n scrollTop: 0,\n scrollLeft: 0,\n fixedContainer: element.children().first()\n });\n that._initAxis('x');\n that._initAxis('y');\n that._wheelEnd = function () {\n that._wheel = false;\n that.userEvents.end(0, that._wheelY);\n };\n dimensions.refresh();\n if (that.options.pullToRefresh) {\n that._initPullToRefresh();\n }\n },\n _wheelScroll: function (e) {\n if (e.ctrlKey) {\n return;\n }\n if (!this._wheel) {\n this._wheel = true;\n this._wheelY = 0;\n this.userEvents.press(0, this._wheelY);\n }\n clearTimeout(this._wheelTimeout);\n this._wheelTimeout = setTimeout(this._wheelEnd, 50);\n var delta = kendo.wheelDeltaY(e);\n if (delta) {\n this._wheelY += delta;\n this.userEvents.move(0, this._wheelY);\n }\n e.preventDefault();\n },\n makeVirtual: function () {\n this.dimensions.y.makeVirtual();\n },\n virtualSize: function (min, max) {\n this.dimensions.y.virtualSize(min, max);\n },\n height: function () {\n return this.dimensions.y.size;\n },\n scrollHeight: function () {\n return this.scrollElement[0].scrollHeight;\n },\n scrollWidth: function () {\n return this.scrollElement[0].scrollWidth;\n },\n options: {\n name: 'Scroller',\n zoom: false,\n pullOffset: 140,\n visibleScrollHints: false,\n elastic: true,\n useNative: false,\n mousewheelScrolling: true,\n avoidScrolling: function () {\n return false;\n },\n pullToRefresh: false,\n messages: {\n pullTemplate: 'Pull to refresh',\n releaseTemplate: 'Release to refresh',\n refreshTemplate: 'Refreshing'\n }\n },\n events: [\n PULL,\n SCROLL,\n RESIZE\n ],\n _resize: function () {\n if (!this._native) {\n this.contentResized();\n }\n },\n setOptions: function (options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n if (options.pullToRefresh) {\n that._initPullToRefresh();\n }\n },\n reset: function () {\n if (this._native) {\n this.scrollElement.scrollTop(0);\n } else {\n this.movable.moveTo({\n x: 0,\n y: 0\n });\n this._scale(1);\n }\n },\n contentResized: function () {\n this.dimensions.refresh();\n if (this.pane.x.outOfBounds()) {\n this.movable.moveAxis('x', this.dimensions.x.min);\n }\n if (this.pane.y.outOfBounds()) {\n this.movable.moveAxis('y', this.dimensions.y.min);\n }\n },\n zoomOut: function () {\n var dimensions = this.dimensions;\n dimensions.refresh();\n this._scale(dimensions.fitScale);\n this.movable.moveTo(dimensions.centerCoordinates());\n },\n enable: function () {\n this.enabled = true;\n },\n disable: function () {\n this.enabled = false;\n },\n scrollTo: function (x, y) {\n if (this._native) {\n this.scrollElement.scrollLeft(abs(x));\n this.scrollElement.scrollTop(abs(y));\n } else {\n this.dimensions.refresh();\n this.movable.moveTo({\n x: x,\n y: y\n });\n }\n },\n animatedScrollTo: function (x, y, callback) {\n var from, to;\n if (this._native) {\n this.scrollTo(x, y);\n } else {\n from = {\n x: this.movable.x,\n y: this.movable.y\n };\n to = {\n x: x,\n y: y\n };\n this.animatedScroller.setCoordinates(from, to);\n this.animatedScroller.setCallback(callback);\n this.animatedScroller.start();\n }\n },\n pullHandled: function () {\n var that = this;\n that.refreshHint.removeClass(REFRESHCLASS);\n that.hintContainer.html(that.pullTemplate({}));\n that.yinertia.onEnd();\n that.xinertia.onEnd();\n that.userEvents.cancel();\n },\n destroy: function () {\n Widget.fn.destroy.call(this);\n if (this.userEvents) {\n this.userEvents.destroy();\n }\n },\n _scale: function (scale) {\n this.dimensions.rescale(scale);\n this.movable.scaleTo(scale);\n },\n _initPullToRefresh: function () {\n var that = this;\n that.dimensions.y.forceEnabled();\n that.pullTemplate = kendo.template(that.options.messages.pullTemplate);\n that.releaseTemplate = kendo.template(that.options.messages.releaseTemplate);\n that.refreshTemplate = kendo.template(that.options.messages.refreshTemplate);\n that.scrollElement.prepend('' + that.pullTemplate({}) + '');\n that.refreshHint = that.scrollElement.children().first();\n that.hintContainer = that.refreshHint.children('.km-template');\n that.pane.y.bind('change', proxy(that._paneChange, that));\n that.userEvents.bind('end', proxy(that._dragEnd, that));\n },\n _dragEnd: function () {\n var that = this;\n if (!that.pulled) {\n return;\n }\n that.pulled = false;\n that.refreshHint.removeClass(RELEASECLASS).addClass(REFRESHCLASS);\n that.hintContainer.html(that.refreshTemplate({}));\n that.yinertia.freeze(that.options.pullOffset / 2);\n that.trigger('pull');\n },\n _paneChange: function () {\n var that = this;\n if (that.movable.y / OUT_OF_BOUNDS_FRICTION > that.options.pullOffset) {\n if (!that.pulled) {\n that.pulled = true;\n that.refreshHint.removeClass(REFRESHCLASS).addClass(RELEASECLASS);\n that.hintContainer.html(that.releaseTemplate({}));\n }\n } else if (that.pulled) {\n that.pulled = false;\n that.refreshHint.removeClass(RELEASECLASS);\n that.hintContainer.html(that.pullTemplate({}));\n }\n },\n _initAxis: function (axis) {\n var that = this, movable = that.movable, dimension = that.dimensions[axis], tapCapture = that.tapCapture, paneAxis = that.pane[axis], scrollBar = new ScrollBar({\n axis: axis,\n movable: movable,\n dimension: dimension,\n container: that.element,\n alwaysVisible: that.options.visibleScrollHints\n });\n dimension.bind(CHANGE, function () {\n scrollBar.refresh();\n });\n paneAxis.bind(CHANGE, function () {\n scrollBar.show();\n });\n that[axis + 'inertia'] = new DragInertia({\n axis: axis,\n paneAxis: paneAxis,\n movable: movable,\n tapCapture: tapCapture,\n userEvents: that.userEvents,\n dimension: dimension,\n elastic: that.options.elastic,\n friction: that.options.friction || FRICTION,\n velocityMultiplier: that.options.velocityMultiplier || VELOCITY_MULTIPLIER,\n end: function () {\n scrollBar.hide();\n that.trigger('scrollEnd', {\n axis: axis,\n scrollTop: that.scrollTop,\n scrollLeft: that.scrollLeft\n });\n }\n });\n }\n });\n ui.plugin(Scroller);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.virtuallist', ['kendo.data'], f);\n}(function () {\n var __meta__ = {\n id: 'virtuallist',\n name: 'VirtualList',\n category: 'framework',\n depends: ['data'],\n hidden: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, DataBoundWidget = ui.DataBoundWidget, proxy = $.proxy, percentageUnitsRegex = /^\\d+(\\.\\d+)?%$/i, WRAPPER = 'k-virtual-wrap', VIRTUALLIST = 'k-virtual-list', CONTENT = 'k-virtual-content', LIST = 'k-list', HEADER = 'k-group-header', VIRTUALITEM = 'k-virtual-item', ITEM = 'k-item', HEIGHTCONTAINER = 'k-height-container', GROUPITEM = 'k-group', SELECTED = 'k-state-selected', FOCUSED = 'k-state-focused', HOVER = 'k-state-hover', CHANGE = 'change', CLICK = 'click', LISTBOUND = 'listBound', ITEMCHANGE = 'itemChange', ACTIVATE = 'activate', DEACTIVATE = 'deactivate', VIRTUAL_LIST_NS = '.VirtualList';\n function lastFrom(array) {\n return array[array.length - 1];\n }\n function toArray(value) {\n return value instanceof Array ? value : [value];\n }\n function isPrimitive(dataItem) {\n return typeof dataItem === 'string' || typeof dataItem === 'number' || typeof dataItem === 'boolean';\n }\n function getItemCount(screenHeight, listScreens, itemHeight) {\n return Math.ceil(screenHeight * listScreens / itemHeight);\n }\n function appendChild(parent, className, tagName) {\n var element = document.createElement(tagName || 'div');\n if (className) {\n element.className = className;\n }\n parent.appendChild(element);\n return element;\n }\n function getDefaultItemHeight() {\n var mockList = $('
      '), lineHeight;\n mockList.css({\n position: 'absolute',\n left: '-200000px',\n visibility: 'hidden'\n });\n mockList.appendTo(document.body);\n lineHeight = parseFloat(kendo.getComputedStyles(mockList.find('.k-item')[0], ['line-height'])['line-height']);\n mockList.remove();\n return lineHeight;\n }\n function bufferSizes(screenHeight, listScreens, opposite) {\n return {\n down: screenHeight * opposite,\n up: screenHeight * (listScreens - 1 - opposite)\n };\n }\n function listValidator(options, screenHeight) {\n var downThreshold = (options.listScreens - 1 - options.threshold) * screenHeight;\n var upThreshold = options.threshold * screenHeight;\n return function (list, scrollTop, lastScrollTop) {\n if (scrollTop > lastScrollTop) {\n return scrollTop - list.top < downThreshold;\n } else {\n return list.top === 0 || scrollTop - list.top > upThreshold;\n }\n };\n }\n function scrollCallback(element, callback) {\n return function (force) {\n return callback(element.scrollTop, force);\n };\n }\n function syncList(reorder) {\n return function (list, force) {\n reorder(list.items, list.index, force);\n return list;\n };\n }\n function position(element, y) {\n if (kendo.support.browser.msie && kendo.support.browser.version < 10) {\n element.style.top = y + 'px';\n } else {\n element.style.webkitTransform = 'translateY(' + y + 'px)';\n element.style.transform = 'translateY(' + y + 'px)';\n }\n }\n function map2(callback, templates) {\n return function (arr1, arr2) {\n for (var i = 0, len = arr1.length; i < len; i++) {\n callback(arr1[i], arr2[i], templates);\n if (arr2[i].item) {\n this.trigger(ITEMCHANGE, {\n item: $(arr1[i]),\n data: arr2[i].item,\n ns: kendo.ui\n });\n }\n }\n };\n }\n function reshift(items, diff) {\n var range;\n if (diff > 0) {\n range = items.splice(0, diff);\n items.push.apply(items, range);\n } else {\n range = items.splice(diff, -diff);\n items.unshift.apply(items, range);\n }\n return range;\n }\n function render(element, data, templates) {\n var itemTemplate = templates.template;\n element = $(element);\n if (!data.item) {\n itemTemplate = templates.placeholderTemplate;\n }\n if (data.index === 0 && this.header && data.group) {\n this.header.html(templates.fixedGroupTemplate(data.group));\n }\n this.angular('cleanup', function () {\n return { elements: [element] };\n });\n element.attr('data-uid', data.item ? data.item.uid : '').attr('data-offset-index', data.index);\n if (this.options.columns && this.options.columns.length && data.item) {\n element.html(renderColumns(this.options, data.item, templates));\n } else {\n element.html(itemTemplate(data.item || {}));\n }\n element.toggleClass(FOCUSED, data.current);\n element.toggleClass(SELECTED, data.selected);\n element.toggleClass('k-first', data.newGroup);\n element.toggleClass('k-last', data.isLastGroupedItem);\n element.toggleClass('k-loading-item', !data.item);\n if (data.index !== 0 && data.newGroup) {\n $('
      ').appendTo(element).html(templates.groupTemplate(data.group));\n }\n if (data.top !== undefined) {\n position(element[0], data.top);\n }\n this.angular('compile', function () {\n return {\n elements: [element],\n data: [{\n dataItem: data.item,\n group: data.group,\n newGroup: data.newGroup\n }]\n };\n });\n }\n function renderColumns(options, dataItem, templates) {\n var item = '';\n for (var i = 0; i < options.columns.length; i++) {\n var currentWidth = options.columns[i].width;\n var currentWidthInt = parseInt(currentWidth, 10);\n var widthStyle = '';\n if (currentWidth) {\n widthStyle += 'style=\\'width:';\n widthStyle += currentWidthInt;\n widthStyle += percentageUnitsRegex.test(currentWidth) ? '%' : 'px';\n widthStyle += ';\\'';\n }\n item += '';\n item += templates['column' + i](dataItem);\n item += '';\n }\n return item;\n }\n function mapChangedItems(selected, itemsToMatch) {\n var itemsLength = itemsToMatch.length;\n var selectedLength = selected.length;\n var dataItem;\n var found;\n var i, j;\n var changed = [];\n var unchanged = [];\n if (selectedLength) {\n for (i = 0; i < selectedLength; i++) {\n dataItem = selected[i];\n found = false;\n for (j = 0; j < itemsLength; j++) {\n if (dataItem === itemsToMatch[j]) {\n found = true;\n changed.push({\n index: i,\n item: dataItem\n });\n break;\n }\n }\n if (!found) {\n unchanged.push(dataItem);\n }\n }\n }\n return {\n changed: changed,\n unchanged: unchanged\n };\n }\n function isActivePromise(promise) {\n return promise && promise.state() !== 'resolved';\n }\n var VirtualList = DataBoundWidget.extend({\n init: function (element, options) {\n var that = this;\n that.bound(false);\n that._fetching = false;\n Widget.fn.init.call(that, element, options);\n if (!that.options.itemHeight) {\n that.options.itemHeight = getDefaultItemHeight();\n }\n options = that.options;\n that.element.addClass(LIST + ' ' + VIRTUALLIST).attr('role', 'listbox');\n that.content = that.element.wrap('
      ').parent();\n that.wrapper = that.content.wrap('
      ').parent();\n that.header = that.content.before('
      ').prev();\n if (options.columns && options.columns.length) {\n that.element.removeClass(LIST);\n }\n that.element.on('mouseenter' + VIRTUAL_LIST_NS, 'li:not(.k-loading-item)', function () {\n $(this).addClass(HOVER);\n }).on('mouseleave' + VIRTUAL_LIST_NS, 'li', function () {\n $(this).removeClass(HOVER);\n });\n that._values = toArray(that.options.value);\n that._selectedDataItems = [];\n that._selectedIndexes = [];\n that._rangesList = {};\n that._promisesList = [];\n that._optionID = kendo.guid();\n that._templates();\n that.setDataSource(options.dataSource);\n that.content.on('scroll' + VIRTUAL_LIST_NS, kendo.throttle(function () {\n that._renderItems();\n that._triggerListBound();\n }, options.delay));\n that._selectable();\n },\n options: {\n name: 'VirtualList',\n autoBind: true,\n delay: 100,\n height: null,\n listScreens: 4,\n threshold: 0.5,\n itemHeight: null,\n oppositeBuffer: 1,\n type: 'flat',\n selectable: false,\n value: [],\n dataValueField: null,\n template: '#:data#',\n placeholderTemplate: 'loading...',\n groupTemplate: '#:data#',\n fixedGroupTemplate: '#:data#',\n mapValueTo: 'index',\n valueMapper: null\n },\n events: [\n CHANGE,\n CLICK,\n LISTBOUND,\n ITEMCHANGE,\n ACTIVATE,\n DEACTIVATE\n ],\n setOptions: function (options) {\n Widget.fn.setOptions.call(this, options);\n if (this._selectProxy && this.options.selectable === false) {\n this.element.off(CLICK, '.' + VIRTUALITEM, this._selectProxy);\n } else if (!this._selectProxy && this.options.selectable) {\n this._selectable();\n }\n this._templates();\n this.refresh();\n },\n items: function () {\n return $(this._items);\n },\n destroy: function () {\n this.wrapper.off(VIRTUAL_LIST_NS);\n this.dataSource.unbind(CHANGE, this._refreshHandler);\n Widget.fn.destroy.call(this);\n },\n setDataSource: function (source) {\n var that = this;\n var dataSource = source || {};\n var value;\n dataSource = $.isArray(dataSource) ? { data: dataSource } : dataSource;\n dataSource = kendo.data.DataSource.create(dataSource);\n if (that.dataSource) {\n that.dataSource.unbind(CHANGE, that._refreshHandler);\n that._clean();\n that.bound(false);\n that._deferValueSet = true;\n value = that.value();\n that.value([]);\n that.mute(function () {\n that.value(value);\n });\n } else {\n that._refreshHandler = $.proxy(that.refresh, that);\n }\n that.dataSource = dataSource.bind(CHANGE, that._refreshHandler);\n that.setDSFilter(dataSource.filter());\n if (dataSource.view().length !== 0) {\n that.refresh();\n } else if (that.options.autoBind) {\n dataSource.fetch();\n }\n },\n skip: function () {\n return this.dataSource.currentRangeStart();\n },\n _triggerListBound: function () {\n var that = this;\n var skip = that.skip();\n if (that.bound() && !that._selectingValue && that._skip !== skip) {\n that._skip = skip;\n that.trigger(LISTBOUND);\n }\n },\n _getValues: function (dataItems) {\n var getter = this._valueGetter;\n return $.map(dataItems, function (dataItem) {\n return getter(dataItem);\n });\n },\n _highlightSelectedItems: function () {\n for (var i = 0; i < this._selectedDataItems.length; i++) {\n var item = this._getElementByDataItem(this._selectedDataItems[i]);\n if (item.length) {\n item.addClass(SELECTED);\n }\n }\n },\n refresh: function (e) {\n var that = this;\n var action = e && e.action;\n var isItemChange = action === 'itemchange';\n var filtered = this.isFiltered();\n var result;\n if (that._mute) {\n return;\n }\n that._deferValueSet = false;\n if (!that._fetching) {\n if (filtered) {\n that.focus(0);\n }\n that._createList();\n if (!action && that._values.length && !filtered && !that.options.skipUpdateOnBind && !that._emptySearch) {\n that._selectingValue = true;\n that.bound(true);\n that.value(that._values, true).done(function () {\n that._selectingValue = false;\n that._triggerListBound();\n });\n } else {\n that.bound(true);\n that._highlightSelectedItems();\n that._triggerListBound();\n }\n } else {\n if (that._renderItems) {\n that._renderItems(true);\n }\n that._triggerListBound();\n }\n if (isItemChange || action === 'remove') {\n result = mapChangedItems(that._selectedDataItems, e.items);\n if (result.changed.length) {\n if (isItemChange) {\n that.trigger('selectedItemChange', { items: result.changed });\n } else {\n that.value(that._getValues(result.unchanged));\n }\n }\n }\n that._fetching = false;\n },\n removeAt: function (position) {\n this._selectedIndexes.splice(position, 1);\n this._values.splice(position, 1);\n return {\n position: position,\n dataItem: this._selectedDataItems.splice(position, 1)[0]\n };\n },\n setValue: function (value) {\n this._values = toArray(value);\n },\n value: function (value, _forcePrefetch) {\n var that = this;\n if (value === undefined) {\n return that._values.slice();\n }\n if (value === null) {\n value = [];\n }\n value = toArray(value);\n if (!that._valueDeferred || that._valueDeferred.state() === 'resolved') {\n that._valueDeferred = $.Deferred();\n }\n var shouldClear = that.options.selectable === 'multiple' && that.select().length && value.length;\n if (shouldClear || !value.length) {\n that.select(-1);\n }\n that._values = value;\n if (that.bound() && !that._mute && !that._deferValueSet || _forcePrefetch) {\n that._prefetchByValue(value);\n }\n return that._valueDeferred;\n },\n _checkValuesOrder: function (value) {\n if (this._removedAddedIndexes && this._removedAddedIndexes.length === value.length) {\n var newValue = this._removedAddedIndexes.slice();\n this._removedAddedIndexes = null;\n return newValue;\n }\n return value;\n },\n _prefetchByValue: function (value) {\n var that = this, dataView = that._dataView, valueGetter = that._valueGetter, mapValueTo = that.options.mapValueTo, item, match = false, forSelection = [];\n for (var i = 0; i < value.length; i++) {\n for (var idx = 0; idx < dataView.length; idx++) {\n item = dataView[idx].item;\n if (item) {\n match = isPrimitive(item) ? value[i] === item : value[i] === valueGetter(item);\n if (match) {\n forSelection.push(dataView[idx].index);\n }\n }\n }\n }\n if (forSelection.length === value.length) {\n that._values = [];\n that.select(forSelection);\n return;\n }\n if (typeof that.options.valueMapper === 'function') {\n that.options.valueMapper({\n value: this.options.selectable === 'multiple' ? value : value[0],\n success: function (response) {\n if (mapValueTo === 'index') {\n that.mapValueToIndex(response);\n } else if (mapValueTo === 'dataItem') {\n that.mapValueToDataItem(response);\n }\n }\n });\n } else {\n if (!that.value()[0]) {\n that.select([-1]);\n } else {\n that._selectingValue = false;\n that._triggerListBound();\n }\n }\n },\n mapValueToIndex: function (indexes) {\n if (indexes === undefined || indexes === -1 || indexes === null) {\n indexes = [];\n } else {\n indexes = toArray(indexes);\n }\n if (!indexes.length) {\n indexes = [-1];\n } else {\n var removed = this._deselect([]).removed;\n if (removed.length) {\n this._triggerChange(removed, []);\n }\n }\n this.select(indexes);\n },\n mapValueToDataItem: function (dataItems) {\n var removed, added;\n if (dataItems === undefined || dataItems === null) {\n dataItems = [];\n } else {\n dataItems = toArray(dataItems);\n }\n if (!dataItems.length) {\n this.select([-1]);\n } else {\n removed = $.map(this._selectedDataItems, function (item, index) {\n return {\n index: index,\n dataItem: item\n };\n });\n added = $.map(dataItems, function (item, index) {\n return {\n index: index,\n dataItem: item\n };\n });\n this._selectedDataItems = dataItems;\n this._selectedIndexes = [];\n for (var i = 0; i < this._selectedDataItems.length; i++) {\n var item = this._getElementByDataItem(this._selectedDataItems[i]);\n this._selectedIndexes.push(this._getIndecies(item)[0]);\n item.addClass(SELECTED);\n }\n this._triggerChange(removed, added);\n if (this._valueDeferred) {\n this._valueDeferred.resolve();\n }\n }\n },\n deferredRange: function (index) {\n var dataSource = this.dataSource;\n var take = this.itemCount;\n var ranges = this._rangesList;\n var result = $.Deferred();\n var defs = [];\n var low = Math.floor(index / take) * take;\n var high = Math.ceil(index / take) * take;\n var pages = high === low ? [high] : [\n low,\n high\n ];\n $.each(pages, function (_, skip) {\n var end = skip + take;\n var existingRange = ranges[skip];\n var deferred;\n if (!existingRange || existingRange.end !== end) {\n deferred = $.Deferred();\n ranges[skip] = {\n end: end,\n deferred: deferred\n };\n dataSource._multiplePrefetch(skip, take, function () {\n deferred.resolve();\n });\n } else {\n deferred = existingRange.deferred;\n }\n defs.push(deferred);\n });\n $.when.apply($, defs).then(function () {\n result.resolve();\n });\n return result;\n },\n prefetch: function (indexes) {\n var that = this, take = this.itemCount, isEmptyList = !that._promisesList.length;\n if (!isActivePromise(that._activeDeferred)) {\n that._activeDeferred = $.Deferred();\n that._promisesList = [];\n }\n $.each(indexes, function (_, index) {\n that._promisesList.push(that.deferredRange(that._getSkip(index, take)));\n });\n if (isEmptyList) {\n $.when.apply($, that._promisesList).done(function () {\n that._promisesList = [];\n that._activeDeferred.resolve();\n });\n }\n return that._activeDeferred;\n },\n _findDataItem: function (view, index) {\n var group;\n if (this.options.type === 'group') {\n for (var i = 0; i < view.length; i++) {\n group = view[i].items;\n if (group.length <= index) {\n index = index - group.length;\n } else {\n return group[index];\n }\n }\n }\n return view[index];\n },\n _getRange: function (skip, take) {\n return this.dataSource._findRange(skip, Math.min(skip + take, this.dataSource.total()));\n },\n dataItemByIndex: function (index) {\n var that = this;\n var take = that.itemCount;\n var skip = that._getSkip(index, take);\n var view = this._getRange(skip, take);\n if (!that._getRange(skip, take).length) {\n return null;\n }\n if (that.options.type === 'group') {\n kendo.ui.progress($(that.wrapper), true);\n that.mute(function () {\n that.dataSource.range(skip, take, function () {\n kendo.ui.progress($(that.wrapper), false);\n });\n view = that.dataSource.view();\n });\n }\n return that._findDataItem(view, [index - skip]);\n },\n selectedDataItems: function () {\n return this._selectedDataItems.slice();\n },\n scrollWith: function (value) {\n this.content.scrollTop(this.content.scrollTop() + value);\n },\n scrollTo: function (y) {\n this.content.scrollTop(y);\n },\n scrollToIndex: function (index) {\n this.scrollTo(index * this.options.itemHeight);\n },\n focus: function (candidate) {\n var element, index, data, current, itemHeight = this.options.itemHeight, id = this._optionID, triggerEvent = true;\n if (candidate === undefined) {\n current = this.element.find('.' + FOCUSED);\n return current.length ? current : null;\n }\n if (typeof candidate === 'function') {\n data = this.dataSource.flatView();\n for (var idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n break;\n }\n }\n }\n if (candidate instanceof Array) {\n candidate = lastFrom(candidate);\n }\n if (isNaN(candidate)) {\n element = $(candidate);\n index = parseInt($(element).attr('data-offset-index'), 10);\n } else {\n index = candidate;\n element = this._getElementByIndex(index);\n }\n if (index === -1) {\n this.element.find('.' + FOCUSED).removeClass(FOCUSED);\n this._focusedIndex = undefined;\n return;\n }\n if (element.length) {\n if (element.hasClass(FOCUSED)) {\n triggerEvent = false;\n }\n if (this._focusedIndex !== undefined) {\n current = this._getElementByIndex(this._focusedIndex);\n current.removeClass(FOCUSED).removeAttr('id');\n if (triggerEvent) {\n this.trigger(DEACTIVATE);\n }\n }\n this._focusedIndex = index;\n element.addClass(FOCUSED).attr('id', id);\n var position = this._getElementLocation(index);\n if (position === 'top') {\n this.scrollTo(index * itemHeight);\n } else if (position === 'bottom') {\n this.scrollTo(index * itemHeight + itemHeight - this._screenHeight);\n } else if (position === 'outScreen') {\n this.scrollTo(index * itemHeight);\n }\n if (triggerEvent) {\n this.trigger(ACTIVATE);\n }\n } else {\n this._focusedIndex = index;\n this.items().removeClass(FOCUSED);\n this.scrollToIndex(index);\n }\n },\n focusIndex: function () {\n return this._focusedIndex;\n },\n focusFirst: function () {\n this.scrollTo(0);\n this.focus(0);\n },\n focusLast: function () {\n var lastIndex = this.dataSource.total();\n this.scrollTo(this.heightContainer.offsetHeight);\n this.focus(lastIndex - 1);\n },\n focusPrev: function () {\n var index = this._focusedIndex;\n var current;\n if (!isNaN(index) && index > 0) {\n index -= 1;\n this.focus(index);\n current = this.focus();\n if (current && current.hasClass('k-loading-item')) {\n index += 1;\n this.focus(index);\n }\n return index;\n } else {\n index = this.dataSource.total() - 1;\n this.focus(index);\n return index;\n }\n },\n focusNext: function () {\n var index = this._focusedIndex;\n var lastIndex = this.dataSource.total() - 1;\n var current;\n if (!isNaN(index) && index < lastIndex) {\n index += 1;\n this.focus(index);\n current = this.focus();\n if (current && current.hasClass('k-loading-item')) {\n index -= 1;\n this.focus(index);\n }\n return index;\n } else {\n index = 0;\n this.focus(index);\n return index;\n }\n },\n _triggerChange: function (removed, added) {\n removed = removed || [];\n added = added || [];\n if (removed.length || added.length) {\n this.trigger(CHANGE, {\n removed: removed,\n added: added\n });\n }\n },\n select: function (candidate) {\n var that = this, indices, initialIndices, singleSelection = that.options.selectable !== 'multiple', prefetchStarted = isActivePromise(that._activeDeferred), filtered = this.isFiltered(), isAlreadySelected, deferred, result, removed = [];\n if (candidate === undefined) {\n return that._selectedIndexes.slice();\n }\n if (!that._selectDeferred || that._selectDeferred.state() === 'resolved') {\n that._selectDeferred = $.Deferred();\n }\n indices = that._getIndecies(candidate);\n isAlreadySelected = singleSelection && !filtered && lastFrom(indices) === lastFrom(this._selectedIndexes);\n removed = that._deselectCurrentValues(indices);\n if (removed.length || !indices.length || isAlreadySelected) {\n that._triggerChange(removed);\n if (that._valueDeferred) {\n that._valueDeferred.resolve().promise();\n }\n return that._selectDeferred.resolve().promise();\n }\n if (indices.length === 1 && indices[0] === -1) {\n indices = [];\n }\n initialIndices = indices;\n result = that._deselect(indices);\n removed = result.removed;\n indices = result.indices;\n if (singleSelection) {\n prefetchStarted = false;\n if (indices.length) {\n indices = [lastFrom(indices)];\n }\n }\n var done = function () {\n var added = that._select(indices);\n if (initialIndices.length === indices.length || singleSelection) {\n that.focus(indices);\n }\n that._triggerChange(removed, added);\n if (that._valueDeferred) {\n that._valueDeferred.resolve();\n }\n that._selectDeferred.resolve();\n };\n deferred = that.prefetch(indices);\n if (!prefetchStarted) {\n if (deferred) {\n deferred.done(done);\n } else {\n done();\n }\n }\n return that._selectDeferred.promise();\n },\n bound: function (bound) {\n if (bound === undefined) {\n return this._listCreated;\n }\n this._listCreated = bound;\n },\n mute: function (callback) {\n this._mute = true;\n proxy(callback(), this);\n this._mute = false;\n },\n setDSFilter: function (filter) {\n this._lastDSFilter = $.extend({}, filter);\n },\n isFiltered: function () {\n if (!this._lastDSFilter) {\n this.setDSFilter(this.dataSource.filter());\n }\n return !kendo.data.Query.compareFilters(this.dataSource.filter(), this._lastDSFilter);\n },\n skipUpdate: $.noop,\n _getElementByIndex: function (index) {\n return this.items().filter(function (idx, element) {\n return index === parseInt($(element).attr('data-offset-index'), 10);\n });\n },\n _getElementByDataItem: function (dataItem) {\n var dataView = this._dataView, valueGetter = this._valueGetter, element, match;\n for (var i = 0; i < dataView.length; i++) {\n match = dataView[i].item && isPrimitive(dataView[i].item) ? dataView[i].item === dataItem : dataView[i].item && dataItem && valueGetter(dataView[i].item) == valueGetter(dataItem);\n if (match) {\n element = dataView[i];\n break;\n }\n }\n return element ? this._getElementByIndex(element.index) : $();\n },\n _clean: function () {\n this.result = undefined;\n this._lastScrollTop = undefined;\n this._skip = undefined;\n $(this.heightContainer).remove();\n this.heightContainer = undefined;\n this.element.empty();\n },\n _height: function () {\n var hasData = !!this.dataSource.view().length, height = this.options.height, itemHeight = this.options.itemHeight, total = this.dataSource.total();\n if (!hasData) {\n height = 0;\n } else if (height / itemHeight > total) {\n height = total * itemHeight;\n }\n return height;\n },\n setScreenHeight: function () {\n var height = this._height();\n this.content.height(height);\n this._screenHeight = height;\n },\n screenHeight: function () {\n return this._screenHeight;\n },\n _getElementLocation: function (index) {\n var scrollTop = this.content.scrollTop(), screenHeight = this._screenHeight, itemHeight = this.options.itemHeight, yPosition = index * itemHeight, yDownPostion = yPosition + itemHeight, screenEnd = scrollTop + screenHeight, position;\n if (yPosition === scrollTop - itemHeight || yDownPostion > scrollTop && yPosition < scrollTop) {\n position = 'top';\n } else if (yPosition === screenEnd || yPosition < screenEnd && screenEnd < yDownPostion) {\n position = 'bottom';\n } else if (yPosition >= scrollTop && yPosition <= scrollTop + (screenHeight - itemHeight)) {\n position = 'inScreen';\n } else {\n position = 'outScreen';\n }\n return position;\n },\n _templates: function () {\n var options = this.options;\n var templates = {\n template: options.template,\n placeholderTemplate: options.placeholderTemplate,\n groupTemplate: options.groupTemplate,\n fixedGroupTemplate: options.fixedGroupTemplate\n };\n if (options.columns) {\n for (var i = 0; i < options.columns.length; i++) {\n var currentColumn = options.columns[i];\n var templateText = currentColumn.field ? currentColumn.field.toString() : 'text';\n templates['column' + i] = currentColumn.template || '#: ' + templateText + '#';\n }\n }\n for (var key in templates) {\n if (typeof templates[key] !== 'function') {\n templates[key] = kendo.template(templates[key] || '');\n }\n }\n this.templates = templates;\n },\n _generateItems: function (element, count) {\n var items = [], item, itemHeight = this.options.itemHeight + 'px';\n while (count-- > 0) {\n item = document.createElement('li');\n item.tabIndex = -1;\n item.className = VIRTUALITEM + ' ' + ITEM;\n item.setAttribute('role', 'option');\n item.style.height = itemHeight;\n item.style.minHeight = itemHeight;\n element.appendChild(item);\n items.push(item);\n }\n return items;\n },\n _saveInitialRanges: function () {\n var ranges = this.dataSource._ranges;\n var deferred = $.Deferred();\n deferred.resolve();\n this._rangesList = {};\n for (var i = 0; i < ranges.length; i++) {\n this._rangesList[ranges[i].start] = {\n end: ranges[i].end,\n deferred: deferred\n };\n }\n },\n _createList: function () {\n var that = this, content = that.content.get(0), options = that.options, dataSource = that.dataSource;\n if (that.bound()) {\n that._clean();\n }\n that._saveInitialRanges();\n that._buildValueGetter();\n that.setScreenHeight();\n that.itemCount = getItemCount(that._screenHeight, options.listScreens, options.itemHeight);\n if (that.itemCount > dataSource.total()) {\n that.itemCount = dataSource.total();\n }\n that._items = that._generateItems(that.element[0], that.itemCount);\n that._setHeight(options.itemHeight * dataSource.total());\n that.options.type = (dataSource.group() || []).length ? 'group' : 'flat';\n if (that.options.type === 'flat') {\n that.header.hide();\n } else {\n that.header.show();\n }\n that.getter = that._getter(function () {\n that._renderItems(true);\n });\n that._onScroll = function (scrollTop, force) {\n var getList = that._listItems(that.getter);\n return that._fixedHeader(scrollTop, getList(scrollTop, force));\n };\n that._renderItems = that._whenChanged(scrollCallback(content, that._onScroll), syncList(that._reorderList(that._items, $.proxy(render, that))));\n that._renderItems();\n that._calculateGroupPadding(that._screenHeight);\n that._calculateColumnsHeaderPadding();\n },\n _setHeight: function (height) {\n var currentHeight, heightContainer = this.heightContainer;\n if (!heightContainer) {\n heightContainer = this.heightContainer = appendChild(this.content[0], HEIGHTCONTAINER);\n } else {\n currentHeight = heightContainer.offsetHeight;\n }\n if (height !== currentHeight) {\n heightContainer.innerHTML = '';\n while (height > 0) {\n var padHeight = Math.min(height, 250000);\n appendChild(heightContainer).style.height = padHeight + 'px';\n height -= padHeight;\n }\n }\n },\n _getter: function () {\n var lastRequestedRange = null, dataSource = this.dataSource, lastRangeStart = dataSource.skip(), type = this.options.type, pageSize = this.itemCount, flatGroups = {};\n if (dataSource.pageSize() < pageSize) {\n this.mute(function () {\n dataSource.pageSize(pageSize);\n });\n }\n return function (index, rangeStart) {\n var that = this;\n if (!dataSource.inRange(rangeStart, pageSize)) {\n if (lastRequestedRange !== rangeStart) {\n lastRequestedRange = rangeStart;\n lastRangeStart = rangeStart;\n if (that._getterDeferred) {\n that._getterDeferred.reject();\n }\n that._getterDeferred = that.deferredRange(rangeStart);\n that._getterDeferred.then(function () {\n var firstItemIndex = that._indexConstraint(that.content[0].scrollTop);\n that._getterDeferred = null;\n if (rangeStart <= firstItemIndex && firstItemIndex <= rangeStart + pageSize) {\n that._fetching = true;\n dataSource.range(rangeStart, pageSize);\n }\n });\n }\n return null;\n } else {\n if (lastRangeStart !== rangeStart) {\n this.mute(function () {\n dataSource.range(rangeStart, pageSize);\n lastRangeStart = rangeStart;\n });\n }\n var result;\n if (type === 'group') {\n if (!flatGroups[rangeStart]) {\n var flatGroup = flatGroups[rangeStart] = [];\n var groups = dataSource.view();\n for (var i = 0, len = groups.length; i < len; i++) {\n var group = groups[i];\n for (var j = 0, groupLength = group.items.length; j < groupLength; j++) {\n flatGroup.push({\n item: group.items[j],\n group: group.value\n });\n }\n }\n }\n result = flatGroups[rangeStart][index - rangeStart];\n } else {\n result = dataSource.view()[index - rangeStart];\n }\n return result;\n }\n };\n },\n _fixedHeader: function (scrollTop, list) {\n var group = this.currentVisibleGroup, itemHeight = this.options.itemHeight, firstVisibleDataItemIndex = Math.floor((scrollTop - list.top) / itemHeight), firstVisibleDataItem = list.items[firstVisibleDataItemIndex];\n if (firstVisibleDataItem && firstVisibleDataItem.item) {\n var firstVisibleGroup = firstVisibleDataItem.group;\n if (firstVisibleGroup !== group) {\n var fixedGroupText = firstVisibleGroup || '';\n this.header.html(this.templates.fixedGroupTemplate(fixedGroupText));\n this.currentVisibleGroup = firstVisibleGroup;\n }\n }\n return list;\n },\n _itemMapper: function (item, index, value) {\n var listType = this.options.type, itemHeight = this.options.itemHeight, currentIndex = this._focusedIndex, selected = false, current = false, newGroup = false, group = null, match = false, valueGetter = this._valueGetter;\n if (listType === 'group') {\n if (item) {\n newGroup = index === 0 || this._currentGroup !== false && this._currentGroup !== item.group;\n this._currentGroup = item.group;\n }\n group = item ? item.group : null;\n item = item ? item.item : null;\n }\n if (this.options.mapValueTo === 'dataItem' && this._selectedDataItems.length && item) {\n for (var i = 0; i < this._selectedDataItems.length; i++) {\n match = valueGetter(this._selectedDataItems[i]) === valueGetter(item);\n if (match) {\n selected = true;\n break;\n }\n }\n } else if (!this.isFiltered() && value.length && item) {\n for (var j = 0; j < value.length; j++) {\n match = isPrimitive(item) ? value[j] === item : value[j] === valueGetter(item);\n if (match) {\n value.splice(j, 1);\n selected = true;\n break;\n }\n }\n }\n if (currentIndex === index) {\n current = true;\n }\n return {\n item: item ? item : null,\n group: group,\n newGroup: newGroup,\n selected: selected,\n current: current,\n index: index,\n top: index * itemHeight\n };\n },\n _range: function (index) {\n var itemCount = this.itemCount, value = this._values.slice(), items = [], item;\n this._view = {};\n this._currentGroup = false;\n for (var i = index, length = index + itemCount; i < length; i++) {\n item = this._itemMapper(this.getter(i, index), i, value);\n if (items[items.length - 1]) {\n items[items.length - 1].isLastGroupedItem = item.newGroup;\n }\n items.push(item);\n this._view[item.index] = item;\n }\n this._dataView = items;\n return items;\n },\n _getDataItemsCollection: function (scrollTop, lastScrollTop) {\n var items = this._range(this._listIndex(scrollTop, lastScrollTop));\n return {\n index: items.length ? items[0].index : 0,\n top: items.length ? items[0].top : 0,\n items: items\n };\n },\n _listItems: function () {\n var screenHeight = this._screenHeight, options = this.options;\n var theValidator = listValidator(options, screenHeight);\n return $.proxy(function (value, force) {\n var result = this.result, lastScrollTop = this._lastScrollTop;\n if (force || !result || !theValidator(result, value, lastScrollTop)) {\n result = this._getDataItemsCollection(value, lastScrollTop);\n }\n this._lastScrollTop = value;\n this.result = result;\n return result;\n }, this);\n },\n _whenChanged: function (getter, callback) {\n var current;\n return function (force) {\n var theNew = getter(force);\n if (theNew !== current) {\n current = theNew;\n callback(theNew, force);\n }\n };\n },\n _reorderList: function (list, reorder) {\n var that = this;\n var length = list.length;\n var currentOffset = -Infinity;\n reorder = $.proxy(map2(reorder, this.templates), this);\n return function (list2, offset, force) {\n var diff = offset - currentOffset;\n var range, range2;\n if (force || Math.abs(diff) >= length) {\n range = list;\n range2 = list2;\n } else {\n range = reshift(list, diff);\n range2 = diff > 0 ? list2.slice(-diff) : list2.slice(0, -diff);\n }\n reorder(range, range2, that.bound());\n currentOffset = offset;\n };\n },\n _bufferSizes: function () {\n var options = this.options;\n return bufferSizes(this._screenHeight, options.listScreens, options.oppositeBuffer);\n },\n _indexConstraint: function (position) {\n var itemCount = this.itemCount, itemHeight = this.options.itemHeight, total = this.dataSource.total();\n return Math.min(Math.max(total - itemCount, 0), Math.max(0, Math.floor(position / itemHeight)));\n },\n _listIndex: function (scrollTop, lastScrollTop) {\n var buffers = this._bufferSizes(), position;\n position = scrollTop - (scrollTop > lastScrollTop ? buffers.down : buffers.up);\n return this._indexConstraint(position);\n },\n _selectable: function () {\n if (this.options.selectable) {\n this._selectProxy = $.proxy(this, '_clickHandler');\n this.element.on(CLICK + VIRTUAL_LIST_NS, '.' + VIRTUALITEM, this._selectProxy);\n }\n },\n getElementIndex: function (element) {\n if (!(element instanceof jQuery)) {\n return undefined;\n }\n return parseInt(element.attr('data-offset-index'), 10);\n },\n _getIndecies: function (candidate) {\n var result = [], data;\n if (typeof candidate === 'function') {\n data = this.dataSource.flatView();\n for (var idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n result.push(idx);\n break;\n }\n }\n }\n if (typeof candidate === 'number') {\n result.push(candidate);\n }\n var elementIndex = this.getElementIndex(candidate);\n if (!isNaN(elementIndex)) {\n result.push(elementIndex);\n }\n if (candidate instanceof Array) {\n result = candidate;\n }\n return result;\n },\n _deselect: function (indices) {\n var removed = [], selectedIndex, dataItem, selectedIndexes = this._selectedIndexes, selectedDataItems = this._selectedDataItems, position = 0, selectable = this.options.selectable, removedindexesCounter = 0, valueGetter = this._valueGetter, item, match, result = null;\n indices = indices.slice();\n if (selectable === true || !indices.length) {\n for (var idx = 0; idx < selectedIndexes.length; idx++) {\n if (selectedIndexes[idx] !== undefined) {\n this._getElementByIndex(selectedIndexes[idx]).removeClass(SELECTED);\n } else if (selectedDataItems[idx]) {\n this._getElementByDataItem(selectedDataItems[idx]).removeClass(SELECTED);\n }\n removed.push({\n index: selectedIndexes[idx],\n position: idx,\n dataItem: selectedDataItems[idx]\n });\n }\n this._values = [];\n this._selectedDataItems = [];\n this._selectedIndexes = [];\n } else if (selectable === 'multiple') {\n for (var i = 0; i < indices.length; i++) {\n result = null;\n position = $.inArray(indices[i], selectedIndexes);\n dataItem = this.dataItemByIndex(indices[i]);\n if (position === -1 && dataItem) {\n for (var j = 0; j < selectedDataItems.length; j++) {\n match = isPrimitive(dataItem) ? selectedDataItems[j] === dataItem : valueGetter(selectedDataItems[j]) === valueGetter(dataItem);\n if (match) {\n item = this._getElementByIndex(indices[i]);\n result = this._deselectSingleItem(item, j, indices[i], removedindexesCounter);\n }\n }\n } else {\n selectedIndex = selectedIndexes[position];\n if (selectedIndex !== undefined) {\n item = this._getElementByIndex(selectedIndex);\n result = this._deselectSingleItem(item, position, selectedIndex, removedindexesCounter);\n }\n }\n if (result) {\n indices.splice(i, 1);\n removed.push(result);\n removedindexesCounter++;\n i--;\n }\n }\n }\n return {\n indices: indices,\n removed: removed\n };\n },\n _deselectSingleItem: function (item, position, selectedIndex, removedindexesCounter) {\n var dataItem;\n if (!item.hasClass('k-state-selected')) {\n return;\n }\n item.removeClass(SELECTED);\n this._values.splice(position, 1);\n this._selectedIndexes.splice(position, 1);\n dataItem = this._selectedDataItems.splice(position, 1)[0];\n return {\n index: selectedIndex,\n position: position + removedindexesCounter,\n dataItem: dataItem\n };\n },\n _deselectCurrentValues: function (indices) {\n var children = this.element[0].children;\n var value, index, position;\n var values = this._values;\n var removed = [];\n var idx = 0;\n var j;\n if (this.options.selectable !== 'multiple' || !this.isFiltered()) {\n return [];\n }\n if (indices[0] === -1) {\n $(children).removeClass('k-state-selected');\n removed = $.map(this._selectedDataItems.slice(0), function (dataItem, idx) {\n return {\n dataItem: dataItem,\n position: idx\n };\n });\n this._selectedIndexes = [];\n this._selectedDataItems = [];\n this._values = [];\n return removed;\n }\n for (; idx < indices.length; idx++) {\n position = -1;\n index = indices[idx];\n if (this.dataItemByIndex(index)) {\n value = this._valueGetter(this.dataItemByIndex(index));\n }\n for (j = 0; j < values.length; j++) {\n if (value == values[j]) {\n position = j;\n break;\n }\n }\n if (position > -1) {\n removed.push(this.removeAt(position));\n $(children[index]).removeClass('k-state-selected');\n }\n }\n return removed;\n },\n _getSkip: function (index, take) {\n var page = index < take ? 1 : Math.floor(index / take) + 1;\n return (page - 1) * take;\n },\n _select: function (indexes) {\n var that = this, singleSelection = this.options.selectable !== 'multiple', dataSource = this.dataSource, dataItem, oldSkip, take = this.itemCount, valueGetter = this._valueGetter, added = [];\n if (singleSelection) {\n that._selectedIndexes = [];\n that._selectedDataItems = [];\n that._values = [];\n }\n oldSkip = dataSource.skip();\n $.each(indexes, function (_, index) {\n var skip = that._getSkip(index, take);\n that.mute(function () {\n dataSource.range(skip, take);\n dataItem = that._findDataItem(dataSource.view(), [index - skip]);\n that._selectedIndexes.push(index);\n that._selectedDataItems.push(dataItem);\n that._values.push(isPrimitive(dataItem) ? dataItem : valueGetter(dataItem));\n added.push({\n index: index,\n dataItem: dataItem\n });\n that._getElementByIndex(index).addClass(SELECTED);\n dataSource.range(oldSkip, take);\n });\n });\n that._values = that._checkValuesOrder(that._values);\n return added;\n },\n _clickHandler: function (e) {\n var item = $(e.currentTarget);\n if (!e.isDefaultPrevented() && item.attr('data-uid')) {\n this.trigger(CLICK, { item: item });\n }\n },\n _buildValueGetter: function () {\n this._valueGetter = kendo.getter(this.options.dataValueField);\n },\n _calculateGroupPadding: function (height) {\n var firstItem = this.items().first(), groupHeader = this.header, padding = 0;\n if (groupHeader[0] && groupHeader[0].style.display !== 'none') {\n if (height !== 'auto') {\n padding = kendo.support.scrollbar();\n }\n padding += parseFloat(firstItem.css('border-right-width'), 10) + parseFloat(firstItem.children('.k-group').css('right'), 10);\n groupHeader.css('padding-right', padding);\n }\n },\n _calculateColumnsHeaderPadding: function () {\n if (this.options.columns && this.options.columns.length) {\n var isRtl = kendo.support.isRtl(this.wrapper);\n var scrollbar = kendo.support.scrollbar();\n var columnsHeader = this.content.parent().parent().find('.k-grid-header');\n var total = this.dataSource.total();\n columnsHeader.css(isRtl ? 'padding-left' : 'padding-right', total ? scrollbar : 0);\n }\n }\n });\n kendo.ui.VirtualList = VirtualList;\n kendo.ui.plugin(VirtualList);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.combobox', [\n 'kendo.list',\n 'kendo.mobile.scroller',\n 'kendo.virtuallist'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'combobox',\n name: 'ComboBox',\n category: 'web',\n description: 'The ComboBox widget allows the selection from pre-defined values or entering a new value.',\n depends: ['list'],\n features: [\n {\n id: 'mobile-scroller',\n name: 'Mobile scroller',\n description: 'Support for kinetic scrolling in mobile device',\n depends: ['mobile.scroller']\n },\n {\n id: 'virtualization',\n name: 'VirtualList',\n description: 'Support for virtualization',\n depends: ['virtuallist']\n }\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, List = ui.List, Select = ui.Select, caret = kendo.caret, support = kendo.support, placeholderSupported = support.placeholder, activeElement = kendo._activeElement, keys = kendo.keys, ns = '.kendoComboBox', nsFocusEvent = ns + 'FocusEvent', CLICK = 'click' + ns, MOUSEDOWN = 'mousedown' + ns, DISABLED = 'disabled', READONLY = 'readonly', CHANGE = 'change', LOADING = 'k-i-loading', DEFAULT = 'k-state-default', FOCUSED = 'k-state-focused', STATEDISABLED = 'k-state-disabled', ARIA_DISABLED = 'aria-disabled', AUTOCOMPLETEVALUE = 'off', STATE_FILTER = 'filter', STATE_ACCEPT = 'accept', STATE_REBIND = 'rebind', HOVEREVENTS = 'mouseenter' + ns + ' mouseleave' + ns, proxy = $.proxy, newLineRegEx = /(\\r\\n|\\n|\\r)/gm;\n var ComboBox = Select.extend({\n init: function (element, options) {\n var that = this, text, disabled;\n that.ns = ns;\n options = $.isArray(options) ? { dataSource: options } : options;\n Select.fn.init.call(that, element, options);\n options = that.options;\n element = that.element.on('focus' + ns, proxy(that._focusHandler, that));\n options.placeholder = options.placeholder || element.attr('placeholder');\n that._reset();\n that._wrapper();\n that._input();\n that._clearButton();\n that._tabindex(that.input);\n that._popup();\n that._dataSource();\n that._ignoreCase();\n that._enable();\n that._attachFocusEvents();\n that._oldIndex = that.selectedIndex = -1;\n that._aria();\n that._initialIndex = options.index;\n that.requireValueMapper(that.options);\n that._initList();\n that._cascade();\n if (options.autoBind) {\n that._filterSource();\n } else {\n text = options.text;\n if (!text && that._isSelect) {\n text = element.children(':selected').text();\n }\n if (text) {\n that._setText(text);\n }\n }\n if (!text) {\n that._placeholder();\n }\n disabled = $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n }\n kendo.notify(that);\n that._toggleCloseVisibility();\n },\n options: {\n name: 'ComboBox',\n enabled: true,\n index: -1,\n text: null,\n value: null,\n autoBind: true,\n delay: 200,\n dataTextField: '',\n dataValueField: '',\n minLength: 1,\n enforceMinLength: false,\n height: 200,\n highlightFirst: true,\n filter: 'none',\n placeholder: '',\n suggest: false,\n cascadeFrom: '',\n cascadeFromField: '',\n cascadeFromParentField: '',\n ignoreCase: true,\n animation: {},\n virtual: false,\n template: null,\n groupTemplate: '#:data#',\n fixedGroupTemplate: '#:data#',\n clearButton: true,\n syncValueAndText: true,\n autoWidth: false,\n popup: null\n },\n events: [\n 'open',\n 'close',\n CHANGE,\n 'select',\n 'filtering',\n 'dataBinding',\n 'dataBound',\n 'cascade',\n 'set'\n ],\n setOptions: function (options) {\n var listOptions = this._listOptions(options);\n Select.fn.setOptions.call(this, options);\n this.listView.setOptions(listOptions);\n this._accessors();\n this._aria();\n this._clearButton();\n },\n destroy: function () {\n var that = this;\n that.input.off(ns);\n that.input.off(nsFocusEvent);\n that.element.off(ns);\n that.wrapper.off(ns);\n that._inputWrapper.off(ns);\n clearTimeout(that._pasteTimeout);\n that._arrow.off(CLICK + ' ' + MOUSEDOWN);\n that._clear.off(CLICK + ' ' + MOUSEDOWN);\n Select.fn.destroy.call(that);\n },\n _change: function () {\n var that = this;\n var text = that.text();\n var hasText = text && text !== that._oldText && text !== that.options.placeholder;\n var index = that.selectedIndex;\n var isCustom = index === -1;\n if (!that.options.syncValueAndText && !that.value() && isCustom && hasText) {\n that._old = '';\n that._oldIndex = index;\n that._oldText = text;\n if (!that._typing) {\n that.element.trigger(CHANGE);\n }\n that.trigger(CHANGE);\n that._typing = false;\n return;\n }\n Select.fn._change.call(that);\n that._toggleCloseVisibility();\n },\n _attachFocusEvents: function () {\n var that = this;\n that.input.on('focus' + nsFocusEvent, proxy(that._inputFocus, that)).on('focusout' + nsFocusEvent, proxy(that._inputFocusout, that));\n },\n _focusHandler: function (e) {\n if (e.target === this.element[0]) {\n this.input.focus();\n }\n },\n _arrowClick: function () {\n this._toggle();\n },\n _inputFocus: function () {\n this._inputWrapper.addClass(FOCUSED);\n this._placeholder(false);\n },\n _inputFocusout: function () {\n var that = this;\n var value = that.value();\n that._userTriggered = true;\n that._inputWrapper.removeClass(FOCUSED);\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n that.text(that.text());\n var item = that._focus();\n var dataItem = this.listView.dataItemByIndex(this.listView.getElementIndex(item));\n if (value !== that.value() && that.trigger('select', {\n dataItem: dataItem,\n item: item\n })) {\n that.value(value);\n return;\n }\n that._placeholder();\n that._valueBeforeCascade = that._old;\n that._blur();\n that.element.blur();\n },\n _inputPaste: function () {\n var that = this;\n clearTimeout(that._pasteTimeout);\n that._pasteTimeout = null;\n that._pasteTimeout = setTimeout(function () {\n that.search();\n });\n },\n _editable: function (options) {\n var that = this, disable = options.disable, readonly = options.readonly, wrapper = that._inputWrapper.off(ns), input = that.element.add(that.input.off(ns)), arrow = that._arrow.off(CLICK + ' ' + MOUSEDOWN), clear = that._clear;\n if (!readonly && !disable) {\n wrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n input.removeAttr(DISABLED).removeAttr(READONLY).attr(ARIA_DISABLED, false);\n arrow.on(CLICK, proxy(that._arrowClick, that)).on(MOUSEDOWN, function (e) {\n e.preventDefault();\n });\n clear.on(CLICK + ' touchend' + ns, proxy(that._clearValue, that));\n that.input.on('keydown' + ns, proxy(that._keydown, that)).on('input' + ns, proxy(that._search, that)).on('paste' + ns, proxy(that._inputPaste, that));\n that.wrapper.on(CLICK + ns, proxy(that._focusHandler, that));\n } else {\n wrapper.addClass(disable ? STATEDISABLED : DEFAULT).removeClass(disable ? DEFAULT : STATEDISABLED);\n input.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable);\n }\n that._toggleCloseVisibility();\n },\n open: function () {\n var that = this;\n var state = that._state;\n var isFiltered = that.dataSource.filter() ? that.dataSource.filter().filters.length > 0 : false;\n var reinitialized = !that.ul.find(that.listView.focus()).length;\n if (that.popup.visible()) {\n return;\n }\n if (!that.listView.bound() && state !== STATE_FILTER || state === STATE_ACCEPT) {\n that._open = true;\n that._state = STATE_REBIND;\n if (that.options.minLength !== 1 && !isFiltered || isFiltered && that.value() && that.selectedIndex === -1) {\n that.refresh();\n that._openPopup();\n if (!this.options.virtual) {\n that.listView.bound(false);\n }\n } else {\n that._filterSource();\n }\n } else if (that._allowOpening()) {\n that.popup._hovered = true;\n that._openPopup();\n if (that.options.virtual) {\n that._focusItem();\n } else if (reinitialized && that.options.highlightFirst) {\n that.listView.focus(0);\n }\n }\n },\n _scrollToFocusedItem: function () {\n var listView = this.listView;\n listView.scrollToIndex(listView.getElementIndex(listView.focus()));\n },\n _openPopup: function () {\n this.popup.one('activate', proxy(this._scrollToFocusedItem, this));\n this.popup.open();\n },\n _updateSelectionState: function () {\n var that = this;\n var text = that.options.text;\n var value = that.options.value;\n if (that.listView.isFiltered()) {\n return;\n }\n if (that.selectedIndex === -1) {\n if (text === undefined || text === null) {\n text = value;\n }\n that._accessor(value);\n that.input.val(text || that.input.val());\n that._placeholder();\n } else if (that._oldIndex === -1) {\n that._oldIndex = that.selectedIndex;\n }\n },\n _buildOptions: function (data) {\n var that = this;\n if (!that._isSelect) {\n return;\n }\n var custom = that._customOption;\n if (that._state === STATE_REBIND) {\n that._state = '';\n }\n that._customOption = undefined;\n that._options(data, '', that.value());\n if (custom && custom[0].selected && !that.listView._emptySearch) {\n that._custom(custom.val());\n }\n },\n _updateSelection: function () {\n var that = this;\n var listView = that.listView;\n var initialIndex = that._initialIndex;\n var hasInitialIndex = initialIndex !== null && initialIndex > -1;\n var filtered = that._state === STATE_FILTER;\n if (filtered) {\n $(listView.focus()).removeClass('k-state-selected');\n return;\n }\n if (that._fetch) {\n return;\n }\n if (!listView.value().length) {\n if (hasInitialIndex) {\n that.select(initialIndex);\n } else if (that._accessor()) {\n listView.value(that._accessor());\n }\n }\n that._initialIndex = null;\n var dataItem = listView.selectedDataItems()[0];\n if (!dataItem) {\n return;\n }\n if (that._value(dataItem) !== that.value()) {\n that._custom(that._value(dataItem));\n } else if (that._value(dataItem) !== that.element[0].value) {\n that._accessor(that._value(dataItem));\n }\n if (that.text() && that.text() !== that._text(dataItem)) {\n that._selectValue(dataItem);\n }\n },\n _updateItemFocus: function () {\n var listView = this.listView;\n if (!this.options.highlightFirst) {\n listView.focus(-1);\n } else if (!listView.focus() && !listView.focusIndex()) {\n listView.focus(0);\n }\n },\n _listBound: function () {\n var that = this;\n var isActive = that.input[0] === activeElement();\n var data = that.dataSource.flatView();\n var skip = that.listView.skip();\n var length = data.length;\n var groupsLength = that.dataSource._group ? that.dataSource._group.length : 0;\n var isFirstPage = skip === undefined || skip === 0;\n that._presetValue = false;\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!length);\n that._toggleHeader(!!groupsLength && !!length);\n that._resizePopup();\n that.popup.position();\n that._buildOptions(data);\n that._makeUnselectable();\n that._updateSelection();\n if (data.length && isFirstPage) {\n that._updateItemFocus();\n if (that.options.suggest && isActive && that.input.val()) {\n that.suggest(data[0]);\n }\n }\n if (that._open) {\n that._open = false;\n if (that._typingTimeout && !isActive) {\n that.popup.close();\n } else {\n that.toggle(that._allowOpening());\n }\n that._typingTimeout = null;\n }\n that._hideBusy();\n that.trigger('dataBound');\n },\n _listChange: function () {\n this._selectValue(this.listView.selectedDataItems()[0]);\n if (this._presetValue) {\n this._oldIndex = this.selectedIndex;\n }\n },\n _get: function (candidate) {\n var data, found, idx;\n if (typeof candidate === 'function') {\n data = this.dataSource.flatView();\n for (idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n found = true;\n break;\n }\n }\n if (!found) {\n candidate = -1;\n }\n }\n return candidate;\n },\n _select: function (candidate, keepState) {\n var that = this;\n candidate = that._get(candidate);\n if (candidate === -1) {\n that.input[0].value = '';\n that._accessor('');\n }\n return that.listView.select(candidate).done(function () {\n if (!keepState && that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n });\n },\n _selectValue: function (dataItem) {\n var idx = this.listView.select();\n var value = '';\n var text = '';\n idx = idx[idx.length - 1];\n if (idx === undefined) {\n idx = -1;\n }\n this.selectedIndex = idx;\n if (this.listView.isFiltered() && idx !== -1) {\n this._valueBeforeCascade = this._old;\n }\n if (idx === -1 && !dataItem) {\n if (this.options.syncValueAndText) {\n if (this.options.dataTextField === this.options.dataValueField) {\n text = this._accessor();\n } else {\n text = this.input[0].value;\n }\n value = text;\n } else {\n text = this.text();\n }\n this.listView.focus(-1);\n } else {\n if (dataItem || dataItem === 0) {\n value = this._dataValue(dataItem);\n text = this._text(dataItem);\n }\n if (value === null) {\n value = '';\n }\n }\n this._setDomInputValue(text);\n this._accessor(value !== undefined ? value : text, idx);\n this._placeholder();\n this._triggerCascade();\n },\n _setDomInputValue: function (text) {\n var that = this;\n var currentCaret = caret(this.input);\n var caretStart;\n if (currentCaret && currentCaret.length) {\n caretStart = currentCaret[0];\n }\n this._prev = this.input[0].value = text;\n if (caretStart && this.selectedIndex === -1) {\n var mobile = support.mobileOS;\n if (mobile.wp || mobile.android) {\n setTimeout(function () {\n that.input[0].setSelectionRange(caretStart, caretStart);\n }, 0);\n } else {\n this.input[0].setSelectionRange(caretStart, caretStart);\n }\n }\n },\n refresh: function () {\n this.listView.refresh();\n },\n _toggleCloseVisibility: function () {\n var preventShow = this.element.is(':disabled') || this.element.is('[readonly]');\n if (this.text() && !preventShow) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n suggest: function (word) {\n var that = this;\n var element = that.input[0];\n var value = that.text();\n var caretIdx = caret(element)[0];\n var key = that._last;\n var idx;\n var accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering;\n if (key == keys.BACKSPACE || key == keys.DELETE) {\n that._last = undefined;\n return;\n }\n word = word || '';\n if (typeof word !== 'string') {\n if (word[0]) {\n word = that.dataSource.view()[List.inArray(word[0], that.ul[0])];\n }\n word = word ? that._text(word) : '';\n }\n if (caretIdx <= 0) {\n caretIdx = (accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase()).indexOf(accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()) + 1;\n }\n if (word) {\n word = word.toString();\n idx = (accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()).indexOf(accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase());\n if (idx > -1) {\n value += word.substring(idx + value.length);\n }\n } else {\n value = value.substring(0, caretIdx);\n }\n if (value.length !== caretIdx || !word) {\n element.value = value;\n if (element === activeElement()) {\n caret(element, caretIdx, value.length);\n }\n }\n },\n text: function (text) {\n text = text === null ? '' : text;\n var that = this;\n var input = that.input[0];\n var ignoreCase = that.options.ignoreCase;\n var loweredText = text;\n var dataItem;\n var value;\n if (text === undefined) {\n return input.value;\n }\n if (that.options.autoBind === false && !that.listView.bound()) {\n that._setText(text);\n return;\n }\n dataItem = that.dataItem();\n if (dataItem && that._text(dataItem).replace && that._text(dataItem).replace(newLineRegEx, '') === text) {\n value = that._value(dataItem);\n if (value === List.unifyType(that._old, typeof value)) {\n that._triggerCascade();\n return;\n }\n }\n if (ignoreCase) {\n loweredText = loweredText.toLowerCase();\n }\n if (that.dataItem() && that._text(that.dataItem()) === text) {\n return;\n }\n that._select(function (data) {\n data = that._text(data);\n if (ignoreCase) {\n data = (data + '').toLowerCase();\n }\n return data === loweredText;\n }).done(function () {\n if (that.selectedIndex < 0) {\n input.value = text;\n if (that.options.syncValueAndText) {\n that._accessor(text);\n }\n that._cascadeTriggered = true;\n that._triggerCascade();\n }\n that._prev = input.value;\n });\n that._toggleCloseVisibility();\n },\n toggle: function (toggle) {\n this._toggle(toggle, true);\n },\n value: function (value) {\n var that = this;\n var options = that.options;\n var listView = that.listView;\n if (value === undefined) {\n value = that._accessor() || that.listView.value()[0];\n return value === undefined || value === null ? '' : value;\n }\n that.requireValueMapper(that.options, value);\n that.trigger('set', { value: value });\n if (value === options.value && that.input.val() === options.text && !that.options.cascadeFrom) {\n return;\n }\n that._accessor(value);\n if (that._isFilterEnabled() && listView.bound() && listView.isFiltered()) {\n that._clearFilter();\n } else {\n that._fetchData();\n }\n listView.value(value).done(function () {\n if (that.selectedIndex === -1 && (!listView._selectedDataItems || !listView._selectedDataItems.length)) {\n that._accessor(value);\n that.input.val(value);\n that._placeholder(true);\n }\n if (that._userTriggered) {\n that._old = that._accessor();\n } else {\n that._old = that._valueBeforeCascade = that._accessor();\n }\n that._oldIndex = that.selectedIndex;\n that._prev = that._oldText = that.input.val();\n if (that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n });\n },\n _hideBusy: function () {\n var that = this;\n clearTimeout(that._busy);\n that._arrowIcon.removeClass(LOADING);\n that._focused.attr('aria-busy', false);\n that._busy = null;\n that._toggleCloseVisibility();\n },\n _click: function (e) {\n var that = this;\n var item = e.item;\n var dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(item));\n var shouldTrigger = true;\n e.preventDefault();\n if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n if (!shouldTrigger) {\n that.input.val(that._text(dataItem));\n }\n }\n if (shouldTrigger && that.trigger('select', {\n dataItem: dataItem,\n item: item\n })) {\n that.close();\n return;\n }\n that._userTriggered = true;\n that._select(item).done(function () {\n that._blur();\n });\n },\n _syncValueAndText: function () {\n return this.options.syncValueAndText;\n },\n _inputValue: function () {\n return this.text();\n },\n _searchByWord: function (word) {\n var that = this;\n var options = that.options;\n var dataSource = that.dataSource;\n var ignoreCase = options.ignoreCase;\n var predicate = function (dataItem) {\n var text = that._text(dataItem);\n if (text !== undefined) {\n text = text + '';\n if (text !== '' && word === '') {\n return false;\n }\n if (ignoreCase) {\n text = text.toLowerCase();\n }\n return text.indexOf(word) === 0;\n }\n };\n if (ignoreCase) {\n word = word.toLowerCase();\n }\n if (!that.ul[0].firstChild) {\n dataSource.one(CHANGE, function () {\n if (dataSource.view()[0]) {\n that.search(word);\n }\n }).fetch();\n return;\n }\n this.listView.focus(this._get(predicate));\n var current = this.listView.focus();\n if (current) {\n if (options.suggest) {\n that.suggest(current);\n }\n this.open();\n }\n if (this.options.highlightFirst && !word) {\n this.listView.focusFirst();\n }\n },\n _input: function () {\n var that = this, element = that.element.removeClass('k-input')[0], accessKey = element.accessKey, wrapper = that.wrapper, SELECTOR = 'input.k-input', name = element.name || '', input, maxLength;\n if (name) {\n name = 'name=\"' + name + '_input\" ';\n }\n input = wrapper.find(SELECTOR);\n if (!input[0]) {\n wrapper.append('').append(that.element);\n input = wrapper.find(SELECTOR);\n }\n input[0].style.cssText = element.style.cssText;\n input[0].title = element.title;\n maxLength = parseInt(this.element.prop('maxlength') || this.element.attr('maxlength'), 10);\n if (maxLength > -1) {\n input[0].maxLength = maxLength;\n }\n input.addClass(element.className).css({\n width: '',\n height: element.style.height\n }).attr({\n 'role': 'combobox',\n 'aria-expanded': false\n }).show();\n if (placeholderSupported) {\n input.attr('placeholder', that.options.placeholder);\n }\n if (accessKey) {\n element.accessKey = '';\n input[0].accessKey = accessKey;\n }\n that._focused = that.input = input;\n that._inputWrapper = $(wrapper[0].firstChild);\n that._arrow = wrapper.find('.k-select').attr({\n 'role': 'button',\n 'tabIndex': -1\n });\n that._arrowIcon = that._arrow.find('.k-icon');\n if (element.id) {\n that._arrow.attr('aria-controls', that.ul[0].id);\n }\n },\n _clearButton: function () {\n List.fn._clearButton.call(this);\n if (this.options.clearButton) {\n this._clear.insertAfter(this.input);\n this.wrapper.addClass('k-combobox-clearable');\n }\n },\n _keydown: function (e) {\n var that = this, key = e.keyCode;\n that._last = key;\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n if (key === keys.HOME) {\n that._firstItem();\n } else if (key === keys.END) {\n that._lastItem();\n } else if (key === keys.ENTER || key === keys.TAB && that.popup.visible()) {\n var current = that.listView.focus();\n var dataItem = that.dataItem();\n var shouldTrigger = true;\n if (!that.popup.visible() && (!dataItem || that.text() !== that._text(dataItem))) {\n current = null;\n }\n if (current) {\n if (that.popup.visible()) {\n e.preventDefault();\n }\n dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(current));\n if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n }\n if (shouldTrigger && that.trigger('select', {\n dataItem: dataItem,\n item: current\n })) {\n return;\n }\n that._userTriggered = true;\n that._select(current).done(function () {\n that._blur();\n that._valueBeforeCascade = that._old = that.value();\n });\n } else {\n if (that._syncValueAndText() || that._isSelect) {\n that._accessor(that.input.val());\n }\n if (that.options.highlightFirst) {\n that.listView.value(that.input.val());\n that._blur();\n } else {\n that._oldText = that.text();\n }\n }\n } else if (key != keys.TAB && !that._move(e)) {\n that._search();\n } else if (key === keys.ESC && !that.popup.visible() && that.text()) {\n that._clearValue();\n }\n },\n _placeholder: function (show) {\n if (placeholderSupported) {\n return;\n }\n var that = this, input = that.input, placeholder = that.options.placeholder, value;\n if (placeholder) {\n value = that.value();\n if (show === undefined) {\n show = !value;\n }\n input.toggleClass('k-readonly', show);\n if (!show) {\n if (!value) {\n placeholder = '';\n } else {\n return;\n }\n }\n input.val(placeholder);\n if (!placeholder && input[0] === activeElement()) {\n caret(input[0], 0, 0);\n }\n }\n },\n _search: function () {\n var that = this;\n clearTimeout(that._typingTimeout);\n that._typingTimeout = setTimeout(function () {\n var value = that.text();\n if (value !== '' && that._prev !== value) {\n that._prev = value;\n if (that.options.filter === 'none' && that.options.virtual) {\n that.listView.select(-1);\n }\n that.search(value);\n that._toggleCloseVisibility();\n } else if (value === '' && that._prev !== '') {\n that._clearValue();\n that.search('');\n }\n that._typingTimeout = null;\n }, that.options.delay);\n },\n _setText: function (text) {\n this.input.val(text);\n this._prev = text;\n },\n _wrapper: function () {\n var that = this, element = that.element, wrapper = element.parent();\n if (!wrapper.is('span.k-widget')) {\n wrapper = element.hide().wrap('').parent();\n wrapper[0].style.cssText = element[0].style.cssText;\n }\n that.wrapper = wrapper.addClass('k-widget k-combobox').addClass(element[0].className).removeClass('input-validation-error').css('display', '');\n },\n _clearSelection: function (parent, isFiltered) {\n var that = this;\n var hasValue = parent.value();\n var custom = hasValue && parent.selectedIndex === -1;\n if (this.selectedIndex == -1 && this.value()) {\n return;\n }\n if (isFiltered || !hasValue || custom) {\n that.options.value = '';\n that.value('');\n }\n },\n _preselect: function (value, text) {\n this.input.val(text);\n this._accessor(value);\n this._old = this._accessor();\n this._oldIndex = this.selectedIndex;\n this.listView.setValue(value);\n this._placeholder();\n this._initialIndex = null;\n this._presetValue = true;\n this._toggleCloseVisibility();\n },\n _clearText: function () {\n this._old = this.value();\n this.text('');\n },\n _clearValue: function () {\n Select.fn._clearValue.call(this);\n this.input.focus();\n }\n });\n ui.plugin(ComboBox);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.dropdownlist', [\n 'kendo.list',\n 'kendo.mobile.scroller',\n 'kendo.virtuallist'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'dropdownlist',\n name: 'DropDownList',\n category: 'web',\n description: 'The DropDownList widget displays a list of values and allows the selection of a single value from the list.',\n depends: ['list'],\n features: [\n {\n id: 'mobile-scroller',\n name: 'Mobile scroller',\n description: 'Support for kinetic scrolling in mobile device',\n depends: ['mobile.scroller']\n },\n {\n id: 'virtualization',\n name: 'VirtualList',\n description: 'Support for virtualization',\n depends: ['virtuallist']\n }\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, List = ui.List, Select = ui.Select, support = kendo.support, activeElement = kendo._activeElement, ObservableObject = kendo.data.ObservableObject, keys = kendo.keys, ns = '.kendoDropDownList', nsFocusEvent = ns + 'FocusEvent', DISABLED = 'disabled', READONLY = 'readonly', CHANGE = 'change', FOCUSED = 'k-state-focused', DEFAULT = 'k-state-default', STATEDISABLED = 'k-state-disabled', ARIA_DISABLED = 'aria-disabled', CLICKEVENTS = 'click' + ns + ' touchend' + ns, HOVEREVENTS = 'mouseenter' + ns + ' mouseleave' + ns, TABINDEX = 'tabindex', STATE_FILTER = 'filter', STATE_ACCEPT = 'accept', MSG_INVALID_OPTION_LABEL = 'The `optionLabel` option is not valid due to missing fields. Define a custom optionLabel as shown here http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#configuration-optionLabel', proxy = $.proxy;\n var DropDownList = Select.extend({\n init: function (element, options) {\n var that = this;\n var index = options && options.index;\n var optionLabel, text, disabled;\n that.ns = ns;\n options = $.isArray(options) ? { dataSource: options } : options;\n Select.fn.init.call(that, element, options);\n options = that.options;\n element = that.element.on('focus' + ns, proxy(that._focusHandler, that));\n that._focusInputHandler = $.proxy(that._focusInput, that);\n that.optionLabel = $();\n that._optionLabel();\n that._inputTemplate();\n that._reset();\n that._prev = '';\n that._word = '';\n that._wrapper();\n that._tabindex();\n that.wrapper.data(TABINDEX, that.wrapper.attr(TABINDEX));\n that._span();\n that._popup();\n that._mobile();\n that._dataSource();\n that._ignoreCase();\n that._filterHeader();\n that._aria();\n that.wrapper.attr('aria-live', 'polite');\n that._enable();\n that._attachFocusHandlers();\n that._oldIndex = that.selectedIndex = -1;\n if (index !== undefined) {\n options.index = index;\n }\n that._initialIndex = options.index;\n that.requireValueMapper(that.options);\n that._initList();\n that._cascade();\n that.one('set', function (e) {\n if (!e.sender.listView.bound() && that.hasOptionLabel()) {\n that._textAccessor(that._optionLabelText());\n }\n });\n if (options.autoBind) {\n that.dataSource.fetch();\n } else if (that.selectedIndex === -1) {\n text = options.text || '';\n if (!text) {\n optionLabel = options.optionLabel;\n if (optionLabel && options.index === 0) {\n text = optionLabel;\n } else if (that._isSelect) {\n text = element.children(':selected').text();\n }\n }\n that._textAccessor(text);\n }\n disabled = $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n }\n that.listView.bind('click', function (e) {\n e.preventDefault();\n });\n kendo.notify(that);\n },\n options: {\n name: 'DropDownList',\n enabled: true,\n autoBind: true,\n index: 0,\n text: null,\n value: null,\n delay: 500,\n height: 200,\n dataTextField: '',\n dataValueField: '',\n optionLabel: '',\n cascadeFrom: '',\n cascadeFromField: '',\n cascadeFromParentField: '',\n ignoreCase: true,\n animation: {},\n filter: 'none',\n minLength: 1,\n enforceMinLength: false,\n virtual: false,\n template: null,\n valueTemplate: null,\n optionLabelTemplate: null,\n groupTemplate: '#:data#',\n fixedGroupTemplate: '#:data#',\n autoWidth: false,\n popup: null\n },\n events: [\n 'open',\n 'close',\n CHANGE,\n 'select',\n 'filtering',\n 'dataBinding',\n 'dataBound',\n 'cascade',\n 'set',\n 'kendoKeydown'\n ],\n setOptions: function (options) {\n Select.fn.setOptions.call(this, options);\n this.listView.setOptions(this._listOptions(options));\n this._optionLabel();\n this._inputTemplate();\n this._accessors();\n this._filterHeader();\n this._enable();\n this._aria();\n if (!this.value() && this.hasOptionLabel()) {\n this.select(0);\n }\n },\n destroy: function () {\n var that = this;\n Select.fn.destroy.call(that);\n that.wrapper.off(ns);\n that.wrapper.off(nsFocusEvent);\n that.element.off(ns);\n that._inputWrapper.off(ns);\n that._arrow.off();\n that._arrow = null;\n that._arrowIcon = null;\n that.optionLabel.off();\n if (that.filterInput) {\n that.filterInput.off(nsFocusEvent);\n }\n },\n open: function () {\n var that = this;\n var isFiltered = that.dataSource.filter() ? that.dataSource.filter().filters.length > 0 : false;\n if (that.popup.visible()) {\n return;\n }\n if (!that.listView.bound() || that._state === STATE_ACCEPT) {\n that._open = true;\n that._state = 'rebind';\n if (that.filterInput) {\n that.filterInput.val('');\n that._prev = '';\n }\n if (that.filterInput && that.options.minLength !== 1 && !isFiltered) {\n that.refresh();\n that.popup.one('activate', that._focusInputHandler);\n that.popup.open();\n that._resizeFilterInput();\n } else {\n that._filterSource();\n }\n } else if (that._allowOpening()) {\n that._focusFilter = true;\n that.popup.one('activate', that._focusInputHandler);\n that.popup._hovered = true;\n that.popup.open();\n that._resizeFilterInput();\n that._focusItem();\n }\n },\n _focusInput: function () {\n this._focusElement(this.filterInput);\n },\n _resizeFilterInput: function () {\n var filterInput = this.filterInput;\n var originalPrevent = this._prevent;\n if (!filterInput) {\n return;\n }\n var isInputActive = this.filterInput[0] === activeElement();\n var caret = kendo.caret(this.filterInput[0])[0];\n this._prevent = true;\n filterInput.css('display', 'none').css('width', this.popup.element.css('width')).css('display', 'inline-block');\n if (isInputActive) {\n filterInput.focus();\n kendo.caret(filterInput[0], caret);\n }\n this._prevent = originalPrevent;\n },\n _allowOpening: function () {\n return this.hasOptionLabel() || this.filterInput || Select.fn._allowOpening.call(this);\n },\n toggle: function (toggle) {\n this._toggle(toggle, true);\n },\n current: function (candidate) {\n var current;\n if (candidate === undefined) {\n current = this.listView.focus();\n if (!current && this.selectedIndex === 0 && this.hasOptionLabel()) {\n return this.optionLabel;\n }\n return current;\n }\n this._focus(candidate);\n },\n dataItem: function (index) {\n var that = this;\n var dataItem = null;\n if (index === null) {\n return index;\n }\n if (index === undefined) {\n dataItem = that.listView.selectedDataItems()[0];\n } else {\n if (typeof index !== 'number') {\n if (that.options.virtual) {\n return that.dataSource.getByUid($(index).data('uid'));\n }\n if (index.hasClass('k-list-optionlabel')) {\n index = -1;\n } else {\n index = $(that.items()).index(index);\n }\n } else if (that.hasOptionLabel()) {\n index -= 1;\n }\n dataItem = that.dataSource.flatView()[index];\n }\n if (!dataItem) {\n dataItem = that._optionLabelDataItem();\n }\n return dataItem;\n },\n refresh: function () {\n this.listView.refresh();\n },\n text: function (text) {\n var that = this;\n var loweredText;\n var ignoreCase = that.options.ignoreCase;\n text = text === null ? '' : text;\n if (text !== undefined) {\n if (typeof text !== 'string') {\n that._textAccessor(text);\n return;\n }\n loweredText = ignoreCase ? text.toLowerCase() : text;\n that._select(function (data) {\n data = that._text(data);\n if (ignoreCase) {\n data = (data + '').toLowerCase();\n }\n return data === loweredText;\n }).done(function () {\n that._textAccessor(that.dataItem() || text);\n });\n } else {\n return that._textAccessor();\n }\n },\n _clearFilter: function () {\n $(this.filterInput).val('');\n Select.fn._clearFilter.call(this);\n },\n value: function (value) {\n var that = this;\n var listView = that.listView;\n var dataSource = that.dataSource;\n if (value === undefined) {\n value = that._accessor() || that.listView.value()[0];\n return value === undefined || value === null ? '' : value;\n }\n that.requireValueMapper(that.options, value);\n if (value || !that.hasOptionLabel()) {\n that._initialIndex = null;\n }\n this.trigger('set', { value: value });\n if (that._request && that.options.cascadeFrom && that.listView.bound()) {\n if (that._valueSetter) {\n dataSource.unbind(CHANGE, that._valueSetter);\n }\n that._valueSetter = proxy(function () {\n that.value(value);\n }, that);\n dataSource.one(CHANGE, that._valueSetter);\n return;\n }\n if (that._isFilterEnabled() && listView.bound() && listView.isFiltered()) {\n that._clearFilter();\n } else {\n that._fetchData();\n }\n listView.value(value).done(function () {\n that._old = that._valueBeforeCascade = that._accessor();\n that._oldIndex = that.selectedIndex;\n });\n },\n hasOptionLabel: function () {\n return this.optionLabel && !!this.optionLabel[0];\n },\n _optionLabel: function () {\n var that = this;\n var options = that.options;\n var optionLabel = options.optionLabel;\n var template = options.optionLabelTemplate;\n if (!optionLabel) {\n that.optionLabel.off().remove();\n that.optionLabel = $();\n return;\n }\n if (!template) {\n template = '#:';\n if (typeof optionLabel === 'string') {\n template += 'data';\n } else {\n template += kendo.expr(options.dataTextField, 'data');\n }\n template += '#';\n }\n if (typeof template !== 'function') {\n template = kendo.template(template);\n }\n that.optionLabelTemplate = template;\n if (!that.hasOptionLabel()) {\n that.optionLabel = $('
      ').prependTo(that.list);\n }\n that.optionLabel.html(template(optionLabel)).off().on(CLICKEVENTS, proxy(that._click, that)).on(HOVEREVENTS, that._toggleHover);\n that.angular('compile', function () {\n return {\n elements: that.optionLabel,\n data: [{ dataItem: that._optionLabelDataItem() }]\n };\n });\n },\n _optionLabelText: function () {\n var optionLabel = this.options.optionLabel;\n return typeof optionLabel === 'string' ? optionLabel : this._text(optionLabel);\n },\n _optionLabelDataItem: function () {\n var that = this;\n var optionLabel = that.options.optionLabel;\n if (that.hasOptionLabel()) {\n return $.isPlainObject(optionLabel) ? new ObservableObject(optionLabel) : that._assignInstance(that._optionLabelText(), '');\n }\n return undefined;\n },\n _buildOptions: function (data) {\n var that = this;\n if (!that._isSelect) {\n return;\n }\n var value = that.listView.value()[0];\n var optionLabel = that._optionLabelDataItem();\n var optionLabelValue = optionLabel && that._value(optionLabel);\n if (value === undefined || value === null) {\n value = '';\n }\n if (optionLabel) {\n if (optionLabelValue === undefined || optionLabelValue === null) {\n optionLabelValue = '';\n }\n optionLabel = '';\n }\n that._options(data, optionLabel, value);\n if (value !== List.unifyType(that._accessor(), typeof value)) {\n that._customOption = null;\n that._custom(value);\n }\n },\n _listBound: function () {\n var that = this;\n var initialIndex = that._initialIndex;\n var filtered = that._state === STATE_FILTER;\n var data = that.dataSource.flatView();\n var dataItem;\n that._presetValue = false;\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!data.length);\n that._resizePopup(true);\n that.popup.position();\n that._buildOptions(data);\n that._makeUnselectable();\n if (!filtered) {\n if (that._open) {\n that.toggle(that._allowOpening());\n }\n that._open = false;\n if (!that._fetch) {\n if (data.length) {\n if (!that.listView.value().length && initialIndex > -1 && initialIndex !== null) {\n that.select(initialIndex);\n }\n that._initialIndex = null;\n dataItem = that.listView.selectedDataItems()[0];\n if (dataItem && that.text() !== that._text(dataItem)) {\n that._selectValue(dataItem);\n }\n } else if (that._textAccessor() !== that._optionLabelText()) {\n that.listView.value('');\n that._selectValue(null);\n that._oldIndex = that.selectedIndex;\n }\n }\n }\n that._hideBusy();\n that.trigger('dataBound');\n },\n _listChange: function () {\n this._selectValue(this.listView.selectedDataItems()[0]);\n if (this._presetValue || this._old && this._oldIndex === -1) {\n this._oldIndex = this.selectedIndex;\n }\n },\n _filterPaste: function () {\n this._search();\n },\n _attachFocusHandlers: function () {\n var that = this;\n var wrapper = that.wrapper;\n wrapper.on('focusin' + nsFocusEvent, proxy(that._focusinHandler, that)).on('focusout' + nsFocusEvent, proxy(that._focusoutHandler, that));\n if (that.filterInput) {\n that.filterInput.on('focusin' + nsFocusEvent, proxy(that._focusinHandler, that)).on('focusout' + nsFocusEvent, proxy(that._focusoutHandler, that));\n }\n },\n _focusHandler: function () {\n this.wrapper.focus();\n },\n _focusinHandler: function () {\n this._inputWrapper.addClass(FOCUSED);\n this._prevent = false;\n },\n _focusoutHandler: function () {\n var that = this;\n var isIFrame = window.self !== window.top;\n if (!that._prevent) {\n clearTimeout(that._typingTimeout);\n if (support.mobileOS.ios && isIFrame) {\n that._change();\n } else {\n that._blur();\n }\n that._inputWrapper.removeClass(FOCUSED);\n that._prevent = true;\n that._open = false;\n that.element.blur();\n }\n },\n _wrapperMousedown: function () {\n this._prevent = !!this.filterInput;\n },\n _wrapperClick: function (e) {\n e.preventDefault();\n this.popup.unbind('activate', this._focusInputHandler);\n this._focused = this.wrapper;\n this._prevent = false;\n this._toggle();\n },\n _editable: function (options) {\n var that = this;\n var element = that.element;\n var disable = options.disable;\n var readonly = options.readonly;\n var wrapper = that.wrapper.add(that.filterInput).off(ns);\n var dropDownWrapper = that._inputWrapper.off(HOVEREVENTS);\n if (!readonly && !disable) {\n element.removeAttr(DISABLED).removeAttr(READONLY);\n dropDownWrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n wrapper.attr(TABINDEX, wrapper.data(TABINDEX)).attr(ARIA_DISABLED, false).on('keydown' + ns, that, proxy(that._keydown, that)).on(kendo.support.mousedown + ns, proxy(that._wrapperMousedown, that)).on('paste' + ns, proxy(that._filterPaste, that));\n that.wrapper.on('click' + ns, proxy(that._wrapperClick, that));\n if (!that.filterInput) {\n wrapper.on('keypress' + ns, proxy(that._keypress, that));\n } else {\n wrapper.on('input' + ns, proxy(that._search, that));\n }\n } else if (disable) {\n wrapper.removeAttr(TABINDEX);\n dropDownWrapper.addClass(STATEDISABLED).removeClass(DEFAULT);\n } else {\n dropDownWrapper.addClass(DEFAULT).removeClass(STATEDISABLED);\n }\n element.attr(DISABLED, disable).attr(READONLY, readonly);\n wrapper.attr(ARIA_DISABLED, disable);\n },\n _keydown: function (e) {\n var that = this;\n var key = e.keyCode;\n var altKey = e.altKey;\n var isInputActive;\n var handled;\n var isPopupVisible = that.popup.visible();\n if (that.filterInput) {\n isInputActive = that.filterInput[0] === activeElement();\n }\n if (key === keys.LEFT) {\n key = keys.UP;\n handled = true;\n } else if (key === keys.RIGHT) {\n key = keys.DOWN;\n handled = true;\n }\n if (handled && isInputActive) {\n return;\n }\n e.keyCode = key;\n if (altKey && key === keys.UP || key === keys.ESC) {\n that._focusElement(that.wrapper);\n }\n if (that._state === STATE_FILTER && key === keys.ESC) {\n that._clearFilter();\n that._open = false;\n that._state = STATE_ACCEPT;\n }\n if (key === keys.ENTER && that._typingTimeout && that.filterInput && isPopupVisible) {\n e.preventDefault();\n return;\n }\n if (key === keys.SPACEBAR && !isInputActive) {\n that.toggle(!isPopupVisible);\n e.preventDefault();\n }\n handled = that._move(e);\n if (handled) {\n return;\n }\n if (!isPopupVisible || !that.filterInput) {\n var current = that._focus();\n if (key === keys.HOME) {\n handled = true;\n that._firstItem();\n } else if (key === keys.END) {\n handled = true;\n that._lastItem();\n }\n if (handled) {\n if (that.trigger('select', {\n dataItem: that._getElementDataItem(that._focus()),\n item: that._focus()\n })) {\n that._focus(current);\n return;\n }\n that._select(that._focus(), true).done(function () {\n if (!isPopupVisible) {\n that._blur();\n }\n });\n e.preventDefault();\n }\n }\n if (!altKey && !handled && that.filterInput) {\n that._search();\n }\n },\n _matchText: function (text, word) {\n var ignoreCase = this.options.ignoreCase;\n if (text === undefined || text === null) {\n return false;\n }\n text = text + '';\n if (ignoreCase) {\n text = text.toLowerCase();\n }\n return text.indexOf(word) === 0;\n },\n _shuffleData: function (data, splitIndex) {\n var optionDataItem = this._optionLabelDataItem();\n if (optionDataItem) {\n data = [optionDataItem].concat(data);\n }\n return data.slice(splitIndex).concat(data.slice(0, splitIndex));\n },\n _selectNext: function () {\n var that = this;\n var data = that.dataSource.flatView();\n var dataLength = data.length + (that.hasOptionLabel() ? 1 : 0);\n var isInLoop = sameCharsOnly(that._word, that._last);\n var startIndex = that.selectedIndex;\n var oldFocusedItem;\n var text;\n if (startIndex === -1) {\n startIndex = 0;\n } else {\n startIndex += isInLoop ? 1 : 0;\n startIndex = normalizeIndex(startIndex, dataLength);\n }\n data = data.toJSON ? data.toJSON() : data.slice();\n data = that._shuffleData(data, startIndex);\n for (var idx = 0; idx < dataLength; idx++) {\n text = that._text(data[idx]);\n if (isInLoop && that._matchText(text, that._last)) {\n break;\n } else if (that._matchText(text, that._word)) {\n break;\n }\n }\n if (idx !== dataLength) {\n oldFocusedItem = that._focus();\n that._select(normalizeIndex(startIndex + idx, dataLength)).done(function () {\n var done = function () {\n if (!that.popup.visible()) {\n that._change();\n }\n };\n if (that.trigger('select', {\n dataItem: that._getElementDataItem(that._focus()),\n item: that._focus()\n })) {\n that._select(oldFocusedItem).done(done);\n } else {\n done();\n }\n });\n }\n },\n _keypress: function (e) {\n var that = this;\n if (e.which === 0 || e.keyCode === kendo.keys.ENTER) {\n return;\n }\n var character = String.fromCharCode(e.charCode || e.keyCode);\n if (that.options.ignoreCase) {\n character = character.toLowerCase();\n }\n if (character === ' ') {\n e.preventDefault();\n }\n that._word += character;\n that._last = character;\n that._search();\n },\n _popupOpen: function () {\n var popup = this.popup;\n popup.wrapper = kendo.wrap(popup.element);\n if (popup.element.closest('.km-root')[0]) {\n popup.wrapper.addClass('km-popup km-widget');\n this.wrapper.addClass('km-widget');\n }\n },\n _popup: function () {\n Select.fn._popup.call(this);\n this.popup.one('open', proxy(this._popupOpen, this));\n },\n _getElementDataItem: function (element) {\n if (!element || !element[0]) {\n return null;\n }\n if (element[0] === this.optionLabel[0]) {\n return this._optionLabelDataItem();\n }\n return this.listView.dataItemByIndex(this.listView.getElementIndex(element));\n },\n _click: function (e) {\n var that = this;\n var item = e.item || $(e.currentTarget);\n e.preventDefault();\n if (that.trigger('select', {\n dataItem: that._getElementDataItem(item),\n item: item\n })) {\n that.close();\n return;\n }\n that._userTriggered = true;\n that._select(item).done(function () {\n that._blur();\n that._focusElement(that.wrapper);\n });\n },\n _focusElement: function (element) {\n var active = activeElement();\n var wrapper = this.wrapper;\n var filterInput = this.filterInput;\n var compareElement = element === filterInput ? wrapper : filterInput;\n var touchEnabled = support.mobileOS && (support.touch || support.MSPointers || support.pointers);\n if (filterInput && filterInput[0] === element[0] && touchEnabled) {\n return;\n }\n if (filterInput && (compareElement[0] === active || this._focusFilter)) {\n this._focusFilter = false;\n this._prevent = true;\n this._focused = element.focus();\n }\n },\n _searchByWord: function (word) {\n if (!word) {\n return;\n }\n var that = this;\n var ignoreCase = that.options.ignoreCase;\n if (ignoreCase) {\n word = word.toLowerCase();\n }\n that._select(function (dataItem) {\n return that._matchText(that._text(dataItem), word);\n });\n },\n _inputValue: function () {\n return this.text();\n },\n _search: function () {\n var that = this;\n var dataSource = that.dataSource;\n clearTimeout(that._typingTimeout);\n if (that._isFilterEnabled()) {\n that._typingTimeout = setTimeout(function () {\n var value = that.filterInput.val();\n if (that._prev !== value) {\n that._prev = value;\n that.search(value);\n that._resizeFilterInput();\n }\n that._typingTimeout = null;\n }, that.options.delay);\n } else {\n that._typingTimeout = setTimeout(function () {\n that._word = '';\n }, that.options.delay);\n if (!that.listView.bound()) {\n dataSource.fetch().done(function () {\n that._selectNext();\n });\n return;\n }\n that._selectNext();\n }\n },\n _get: function (candidate) {\n var data, found, idx;\n var isFunction = typeof candidate === 'function';\n var jQueryCandidate = !isFunction ? $(candidate) : $();\n if (this.hasOptionLabel()) {\n if (typeof candidate === 'number') {\n if (candidate > -1) {\n candidate -= 1;\n }\n } else if (jQueryCandidate.hasClass('k-list-optionlabel')) {\n candidate = -1;\n }\n }\n if (isFunction) {\n data = this.dataSource.flatView();\n for (idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n found = true;\n break;\n }\n }\n if (!found) {\n candidate = -1;\n }\n }\n return candidate;\n },\n _firstItem: function () {\n if (this.hasOptionLabel()) {\n this._focus(this.optionLabel);\n } else {\n this.listView.focusFirst();\n }\n },\n _lastItem: function () {\n this._resetOptionLabel();\n this.listView.focusLast();\n },\n _nextItem: function () {\n var focusIndex;\n if (this.optionLabel.hasClass('k-state-focused')) {\n this._resetOptionLabel();\n this.listView.focusFirst();\n focusIndex = 1;\n } else {\n focusIndex = this.listView.focusNext();\n }\n return focusIndex;\n },\n _prevItem: function () {\n var focusIndex;\n if (this.optionLabel.hasClass('k-state-focused')) {\n return;\n }\n focusIndex = this.listView.focusPrev();\n if (!this.listView.focus() && !this.options.virtual) {\n this._focus(this.optionLabel);\n }\n return focusIndex;\n },\n _focusItem: function () {\n var options = this.options;\n var listView = this.listView;\n var focusedItem = listView.focus();\n var index = listView.select();\n index = index[index.length - 1];\n if (index === undefined && options.highlightFirst && !focusedItem) {\n index = 0;\n }\n if (index !== undefined) {\n listView.focus(index);\n } else {\n if (options.optionLabel && (!options.virtual || options.virtual.mapValueTo !== 'dataItem')) {\n this._focus(this.optionLabel);\n this._select(this.optionLabel);\n this.listView.content.scrollTop(0);\n } else {\n listView.scrollToIndex(0);\n }\n }\n },\n _resetOptionLabel: function (additionalClass) {\n this.optionLabel.removeClass('k-state-focused' + (additionalClass || '')).removeAttr('id');\n },\n _focus: function (candidate) {\n var listView = this.listView;\n var optionLabel = this.optionLabel;\n if (candidate === undefined) {\n candidate = listView.focus();\n if (!candidate && optionLabel.hasClass('k-state-focused')) {\n candidate = optionLabel;\n }\n return candidate;\n }\n this._resetOptionLabel();\n candidate = this._get(candidate);\n listView.focus(candidate);\n if (candidate === -1) {\n optionLabel.addClass('k-state-focused').attr('id', listView._optionID);\n this._focused.add(this.filterInput).removeAttr('aria-activedescendant').attr('aria-activedescendant', listView._optionID);\n }\n },\n _select: function (candidate, keepState) {\n var that = this;\n candidate = that._get(candidate);\n return that.listView.select(candidate).done(function () {\n if (!keepState && that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n if (candidate === -1) {\n that._selectValue(null);\n }\n });\n },\n _selectValue: function (dataItem) {\n var that = this;\n var optionLabel = that.options.optionLabel;\n var idx = that.listView.select();\n var value = '';\n var text = '';\n idx = idx[idx.length - 1];\n if (idx === undefined) {\n idx = -1;\n }\n this._resetOptionLabel(' k-state-selected');\n if (dataItem || dataItem === 0) {\n text = dataItem;\n value = that._dataValue(dataItem);\n if (optionLabel) {\n idx += 1;\n }\n } else if (optionLabel) {\n that._focus(that.optionLabel.addClass('k-state-selected'));\n text = that._optionLabelText();\n if (typeof optionLabel === 'string') {\n value = '';\n } else {\n value = that._value(optionLabel);\n }\n idx = 0;\n }\n that.selectedIndex = idx;\n if (value === null) {\n value = '';\n }\n that._textAccessor(text);\n that._accessor(value, idx);\n that._triggerCascade();\n },\n _mobile: function () {\n var that = this, popup = that.popup, mobileOS = support.mobileOS, root = popup.element.parents('.km-root').eq(0);\n if (root.length && mobileOS) {\n popup.options.animation.open.effects = mobileOS.android || mobileOS.meego ? 'fadeIn' : mobileOS.ios || mobileOS.wp ? 'slideIn:up' : popup.options.animation.open.effects;\n }\n },\n _filterHeader: function () {\n var icon;\n if (this.filterInput) {\n this.filterInput.off(ns).parent().remove();\n this.filterInput = null;\n }\n if (this._isFilterEnabled()) {\n icon = '';\n this.filterInput = $('').attr({\n placeholder: this.element.attr('placeholder'),\n title: this.element.attr('title'),\n role: 'listbox',\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n this.list.prepend($('').append(this.filterInput.add(icon)));\n }\n },\n _span: function () {\n var that = this, wrapper = that.wrapper, SELECTOR = 'span.k-input', span;\n span = wrapper.find(SELECTOR);\n if (!span[0]) {\n wrapper.append(' ').append(that.element);\n span = wrapper.find(SELECTOR);\n }\n that.span = span;\n that._inputWrapper = $(wrapper[0].firstChild);\n that._arrow = wrapper.find('.k-select');\n that._arrowIcon = that._arrow.find('.k-icon');\n },\n _wrapper: function () {\n var that = this, element = that.element, DOMelement = element[0], wrapper;\n wrapper = element.parent();\n if (!wrapper.is('span.k-widget')) {\n wrapper = element.wrap('').parent();\n wrapper[0].style.cssText = DOMelement.style.cssText;\n wrapper[0].title = DOMelement.title;\n }\n that._focused = that.wrapper = wrapper.addClass('k-widget k-dropdown').addClass(DOMelement.className).removeClass('input-validation-error').css('display', '').attr({\n accesskey: element.attr('accesskey'),\n unselectable: 'on',\n role: 'listbox',\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n element.hide().removeAttr('accesskey');\n },\n _clearSelection: function (parent) {\n this.select(parent.value() ? 0 : -1);\n },\n _inputTemplate: function () {\n var that = this, template = that.options.valueTemplate;\n if (!template) {\n template = $.proxy(kendo.template('#:this._text(data)#', { useWithBlock: false }), that);\n } else {\n template = kendo.template(template);\n }\n that.valueTemplate = template;\n if (that.hasOptionLabel() && !that.options.optionLabelTemplate) {\n try {\n that.valueTemplate(that._optionLabelDataItem());\n } catch (e) {\n throw new Error(MSG_INVALID_OPTION_LABEL);\n }\n }\n },\n _textAccessor: function (text) {\n var dataItem = null;\n var template = this.valueTemplate;\n var optionLabelText = this._optionLabelText();\n var span = this.span;\n if (text === undefined) {\n return span.text();\n }\n if ($.isPlainObject(text) || text instanceof ObservableObject) {\n dataItem = text;\n } else if (optionLabelText && optionLabelText === text) {\n dataItem = this.options.optionLabel;\n }\n if (!dataItem) {\n dataItem = this._assignInstance(text, this._accessor());\n }\n if (this.hasOptionLabel()) {\n if (dataItem === optionLabelText || this._text(dataItem) === optionLabelText) {\n template = this.optionLabelTemplate;\n if (typeof this.options.optionLabel === 'string' && !this.options.optionLabelTemplate) {\n dataItem = optionLabelText;\n }\n }\n }\n var getElements = function () {\n return {\n elements: span.get(),\n data: [{ dataItem: dataItem }]\n };\n };\n this.angular('cleanup', getElements);\n try {\n span.html(template(dataItem));\n } catch (e) {\n span.html('');\n }\n this.angular('compile', getElements);\n },\n _preselect: function (value, text) {\n if (!value && !text) {\n text = this._optionLabelText();\n }\n this._accessor(value);\n this._textAccessor(text);\n this._old = this._accessor();\n this._oldIndex = this.selectedIndex;\n this.listView.setValue(value);\n this._initialIndex = null;\n this._presetValue = true;\n },\n _assignInstance: function (text, value) {\n var dataTextField = this.options.dataTextField;\n var dataItem = {};\n if (dataTextField) {\n assign(dataItem, dataTextField.split('.'), text);\n assign(dataItem, this.options.dataValueField.split('.'), value);\n dataItem = new ObservableObject(dataItem);\n } else {\n dataItem = text;\n }\n return dataItem;\n }\n });\n function assign(instance, fields, value) {\n var idx = 0, lastIndex = fields.length - 1, field;\n for (; idx < lastIndex; ++idx) {\n field = fields[idx];\n if (!(field in instance)) {\n instance[field] = {};\n }\n instance = instance[field];\n }\n instance[fields[lastIndex]] = value;\n }\n function normalizeIndex(index, length) {\n if (index >= length) {\n index -= length;\n }\n return index;\n }\n function sameCharsOnly(word, character) {\n for (var idx = 0; idx < word.length; idx++) {\n if (word.charAt(idx) !== character) {\n return false;\n }\n }\n return true;\n }\n ui.plugin(DropDownList);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.resizable', [\n 'kendo.core',\n 'kendo.draganddrop'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'resizable',\n name: 'Resizable',\n category: 'framework',\n depends: [\n 'core',\n 'draganddrop'\n ],\n advanced: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, proxy = $.proxy, isFunction = kendo.isFunction, extend = $.extend, HORIZONTAL = 'horizontal', VERTICAL = 'vertical', START = 'start', RESIZE = 'resize', RESIZEEND = 'resizeend';\n var Resizable = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n that.orientation = that.options.orientation.toLowerCase() != VERTICAL ? HORIZONTAL : VERTICAL;\n that._positionMouse = that.orientation == HORIZONTAL ? 'x' : 'y';\n that._position = that.orientation == HORIZONTAL ? 'left' : 'top';\n that._sizingDom = that.orientation == HORIZONTAL ? 'outerWidth' : 'outerHeight';\n that.draggable = new ui.Draggable(options.draggableElement || element, {\n distance: 1,\n filter: options.handle,\n drag: proxy(that._resize, that),\n dragcancel: proxy(that._cancel, that),\n dragstart: proxy(that._start, that),\n dragend: proxy(that._stop, that)\n });\n that.userEvents = that.draggable.userEvents;\n },\n events: [\n RESIZE,\n RESIZEEND,\n START\n ],\n options: {\n name: 'Resizable',\n orientation: HORIZONTAL\n },\n resize: function () {\n },\n _max: function (e) {\n var that = this, hintSize = that.hint ? that.hint[that._sizingDom]() : 0, size = that.options.max;\n return isFunction(size) ? size(e) : size !== undefined ? that._initialElementPosition + size - hintSize : size;\n },\n _min: function (e) {\n var that = this, size = that.options.min;\n return isFunction(size) ? size(e) : size !== undefined ? that._initialElementPosition + size : size;\n },\n _start: function (e) {\n var that = this, hint = that.options.hint, el = $(e.currentTarget);\n that._initialElementPosition = el.position()[that._position];\n that._initialMousePosition = e[that._positionMouse].startLocation;\n if (hint) {\n that.hint = isFunction(hint) ? $(hint(el)) : hint;\n that.hint.css({ position: 'absolute' }).css(that._position, that._initialElementPosition).appendTo(that.element);\n }\n that.trigger(START, e);\n that._maxPosition = that._max(e);\n that._minPosition = that._min(e);\n $(document.body).css('cursor', el.css('cursor'));\n },\n _resize: function (e) {\n var that = this, maxPosition = that._maxPosition, minPosition = that._minPosition, currentPosition = that._initialElementPosition + (e[that._positionMouse].location - that._initialMousePosition), position;\n position = minPosition !== undefined ? Math.max(minPosition, currentPosition) : currentPosition;\n that.position = position = maxPosition !== undefined ? Math.min(maxPosition, position) : position;\n if (that.hint) {\n that.hint.toggleClass(that.options.invalidClass || '', position == maxPosition || position == minPosition).css(that._position, position);\n }\n that.resizing = true;\n that.trigger(RESIZE, extend(e, { position: position }));\n },\n _stop: function (e) {\n var that = this;\n if (that.hint) {\n that.hint.remove();\n }\n that.resizing = false;\n that.trigger(RESIZEEND, extend(e, { position: that.position }));\n $(document.body).css('cursor', '');\n },\n _cancel: function (e) {\n var that = this;\n if (that.hint) {\n that.position = undefined;\n that.hint.css(that._position, that._initialElementPosition);\n that._stop(e);\n }\n },\n destroy: function () {\n var that = this;\n Widget.fn.destroy.call(that);\n if (that.draggable) {\n that.draggable.destroy();\n }\n },\n press: function (target) {\n if (!target) {\n return;\n }\n var position = target.position(), that = this;\n that.userEvents.press(position.left, position.top, target[0]);\n that.targetPosition = position;\n that.target = target;\n },\n move: function (delta) {\n var that = this, orientation = that._position, position = that.targetPosition, current = that.position;\n if (current === undefined) {\n current = position[orientation];\n }\n position[orientation] = current + delta;\n that.userEvents.move(position.left, position.top);\n },\n end: function () {\n this.userEvents.end();\n this.target = this.position = undefined;\n }\n });\n kendo.ui.plugin(Resizable);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.window', [\n 'kendo.draganddrop',\n 'kendo.popup'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'window',\n name: 'Window',\n category: 'web',\n description: 'The Window widget displays content in a modal or non-modal HTML window.',\n depends: [\n 'draganddrop',\n 'popup'\n ],\n features: [{\n id: 'window-fx',\n name: 'Animation',\n description: 'Support for animation',\n depends: ['fx']\n }]\n };\n (function ($, undefined) {\n var kendo = window.kendo, Widget = kendo.ui.Widget, TabKeyTrap = kendo.ui.Popup.TabKeyTrap, Draggable = kendo.ui.Draggable, isPlainObject = $.isPlainObject, activeElement = kendo._activeElement, outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, proxy = $.proxy, extend = $.extend, each = $.each, template = kendo.template, BODY = 'body', templates, NS = '.kendoWindow', MODAL_NS = '.kendoWindowModal', KWINDOW = '.k-window', KWINDOWTITLE = '.k-window-title', KWINDOWTITLEBAR = KWINDOWTITLE + 'bar', KWINDOWCONTENT = '.k-window-content', KDIALOGCONTENT = '.k-dialog-content', KWINDOWRESIZEHANDLES = '.k-resize-handle', KOVERLAY = '.k-overlay', KCONTENTFRAME = 'k-content-frame', LOADING = 'k-i-loading', KHOVERSTATE = 'k-state-hover', KFOCUSEDSTATE = 'k-state-focused', MAXIMIZEDSTATE = 'k-window-maximized', VISIBLE = ':visible', HIDDEN = 'hidden', CURSOR = 'cursor', OPEN = 'open', ACTIVATE = 'activate', DEACTIVATE = 'deactivate', CLOSE = 'close', REFRESH = 'refresh', MINIMIZE = 'minimize', MAXIMIZE = 'maximize', RESIZESTART = 'resizeStart', RESIZE = 'resize', RESIZEEND = 'resizeEnd', DRAGSTART = 'dragstart', DRAGEND = 'dragend', ERROR = 'error', OVERFLOW = 'overflow', DATADOCOVERFLOWRULE = 'original-overflow-rule', ZINDEX = 'zIndex', MINIMIZE_MAXIMIZE = '.k-window-actions .k-i-window-minimize,.k-window-actions .k-i-window-maximize', KPIN = '.k-i-pin', KUNPIN = '.k-i-unpin', PIN_UNPIN = KPIN + ',' + KUNPIN, TITLEBAR_BUTTONS = '.k-window-titlebar .k-window-action', REFRESHICON = '.k-window-titlebar .k-i-refresh', WINDOWEVENTSHANDLED = 'WindowEventsHandled', zero = /^0[a-z]*$/i, isLocalUrl = kendo.isLocalUrl, SIZE = {\n small: 'k-window-sm',\n medium: 'k-window-md',\n large: 'k-window-lg'\n };\n function defined(x) {\n return typeof x != 'undefined';\n }\n function toInt(element, property) {\n return parseInt(element.css(property), 10) || 0;\n }\n function constrain(value, low, high) {\n var normalizedValue;\n if (value && isNaN(value) && value.toString().indexOf('px') < 0) {\n normalizedValue = value;\n } else {\n normalizedValue = Math.max(Math.min(parseInt(value, 10), high === Infinity ? high : parseInt(high, 10)), low === -Infinity ? low : parseInt(low, 10));\n }\n return normalizedValue;\n }\n function executableScript() {\n return !this.type || this.type.toLowerCase().indexOf('script') >= 0;\n }\n function getPosition(elem) {\n var result = {\n top: elem.offsetTop,\n left: elem.offsetLeft\n }, parent = elem.offsetParent;\n while (parent) {\n result.top += parent.offsetTop;\n result.left += parent.offsetLeft;\n var parentOverflowX = $(parent).css('overflowX');\n var parentOverflowY = $(parent).css('overflowY');\n if (parentOverflowY === 'auto' || parentOverflowY === 'scroll') {\n result.top -= parent.scrollTop;\n }\n if (parentOverflowX === 'auto' || parentOverflowX === 'scroll') {\n result.left -= parent.scrollLeft;\n }\n parent = parent.offsetParent;\n }\n return result;\n }\n var Window = Widget.extend({\n init: function (element, options) {\n var that = this, wrapper, offset = {}, visibility, display, position, isVisible = false, content, windowContent, windowFrame, globalWindow, suppressActions = options && options.actions && !options.actions.length, id;\n Widget.fn.init.call(that, element, options);\n options = that.options;\n position = options.position;\n element = that.element;\n content = options.content;\n globalWindow = $(window);\n if (suppressActions) {\n options.actions = [];\n }\n that.appendTo = $(options.appendTo);\n that.containment = options.draggable.containment ? $(options.draggable.containment).first() : null;\n if (content && !isPlainObject(content)) {\n content = options.content = { url: content };\n }\n element.find('script').filter(executableScript).remove();\n if (!element.parent().is(that.appendTo) && !that.containment && (position.top === undefined || position.left === undefined)) {\n if (element.is(VISIBLE)) {\n offset = element.offset();\n isVisible = true;\n } else {\n visibility = element.css('visibility');\n display = element.css('display');\n element.css({\n visibility: HIDDEN,\n display: ''\n });\n offset = element.offset();\n element.css({\n visibility: visibility,\n display: display\n });\n }\n if (position.top === undefined) {\n position.top = offset.top;\n }\n if (position.left === undefined) {\n position.left = offset.left;\n }\n }\n if (!defined(options.visible) || options.visible === null) {\n options.visible = element.is(VISIBLE);\n }\n wrapper = that.wrapper = element.closest(KWINDOW);\n if (!element.is('.k-window-content') || !wrapper[0]) {\n element.addClass('k-window-content');\n that._createWindow(element, options);\n wrapper = that.wrapper = element.closest(KWINDOW);\n that.title(that.options.title);\n that._dimensions();\n }\n that.minTop = that.minLeft = -Infinity;\n that.maxTop = that.maxLeft = Infinity;\n that._position();\n if (content) {\n that.refresh(content);\n }\n if (options.visible) {\n that.toFront();\n }\n windowContent = wrapper.children(KWINDOWCONTENT);\n that._tabindex(windowContent);\n if (options.visible && options.modal) {\n that._overlay(wrapper.is(VISIBLE)).css({ opacity: 0.5 });\n }\n wrapper.on('mouseenter' + NS, TITLEBAR_BUTTONS, proxy(that._buttonEnter, that)).on('mouseleave' + NS, TITLEBAR_BUTTONS, proxy(that._buttonLeave, that)).on('click' + NS, '> ' + TITLEBAR_BUTTONS, proxy(that._windowActionHandler, that)).on('keydown' + NS, proxy(that._keydown, that)).on('focus' + NS, proxy(that._focus, that)).on('blur' + NS, proxy(that._blur, that));\n windowContent.on('keydown' + NS, proxy(that._keydown, that)).on('focus' + NS, proxy(that._focus, that)).on('blur' + NS, proxy(that._blur, that));\n windowFrame = windowContent.find('.' + KCONTENTFRAME)[0];\n if (windowFrame && !globalWindow.data(WINDOWEVENTSHANDLED)) {\n globalWindow.on('blur' + NS, function () {\n var element = $(document.activeElement).parent(KWINDOWCONTENT);\n if (element.length) {\n var windowInstance = kendo.widgetInstance(element);\n windowInstance._focus();\n }\n });\n globalWindow.on('focus' + NS, function () {\n $(KWINDOWCONTENT).not(KDIALOGCONTENT).each(function (i, element) {\n kendo.widgetInstance($(element))._blur();\n });\n });\n globalWindow.data(WINDOWEVENTSHANDLED, true);\n }\n this._resizable();\n this._draggable();\n if (options.pinned && this.wrapper.is(':visible')) {\n that.pin();\n }\n id = element.attr('id');\n if (id) {\n id = id + '_wnd_title';\n wrapper.children(KWINDOWTITLEBAR).children(KWINDOWTITLE).attr('id', id);\n windowContent.attr({\n 'role': 'dialog',\n 'aria-labelledby': id\n });\n }\n wrapper.add(wrapper.children('.k-resize-handle,' + KWINDOWTITLEBAR)).on('mousedown' + NS, proxy(that.toFront, that));\n that.touchScroller = kendo.touchScroller(element);\n that._resizeHandler = proxy(that._onDocumentResize, that);\n that._marker = kendo.guid().substring(0, 8);\n $(window).on('resize' + NS + that._marker, that._resizeHandler);\n if (options.visible) {\n that.trigger(OPEN);\n that.trigger(ACTIVATE);\n }\n kendo.notify(that);\n if (this.options.modal) {\n this._tabKeyTrap = new TabKeyTrap(wrapper);\n this._tabKeyTrap.trap();\n this._tabKeyTrap.shouldTrap = function () {\n return windowContent.data('isFront');\n };\n }\n },\n _buttonEnter: function (e) {\n $(e.currentTarget).addClass(KHOVERSTATE);\n },\n _buttonLeave: function (e) {\n $(e.currentTarget).removeClass(KHOVERSTATE);\n },\n _focus: function () {\n this.wrapper.addClass(KFOCUSEDSTATE);\n },\n _blur: function () {\n this.wrapper.removeClass(KFOCUSEDSTATE);\n },\n _dimensions: function () {\n var wrapper = this.wrapper;\n var options = this.options;\n var width = options.width;\n var height = options.height;\n var maxHeight = options.maxHeight;\n var sizeClass = options.size;\n var dimensions = [\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight'\n ];\n var contentBoxSizing = wrapper.css('box-sizing') == 'content-box';\n var lrBorderWidth = contentBoxSizing ? toInt(wrapper, 'border-left-width') + toInt(wrapper, 'border-right-width') : 0;\n var tbBorderWidth = contentBoxSizing ? toInt(wrapper, 'border-top-width') + toInt(wrapper, 'border-bottom-width') : 0;\n var paddingTop = contentBoxSizing ? toInt(wrapper, 'padding-top') : 0;\n if (this.containment && !this._isPinned) {\n this._updateBoundaries();\n options.maxHeight = Math.min(this.containment.height - (tbBorderWidth + paddingTop), maxHeight);\n options.maxWidth = Math.min(this.containment.width - lrBorderWidth, options.maxWidth);\n }\n for (var i = 0; i < dimensions.length; i++) {\n var value = options[dimensions[i]] || '';\n if (value != Infinity) {\n wrapper.css(dimensions[i], value);\n }\n }\n if (maxHeight != Infinity) {\n this.element.css('maxHeight', maxHeight);\n }\n if (width) {\n wrapper.width(constrain(width, options.minWidth, options.maxWidth));\n } else {\n wrapper.width('');\n }\n if (height) {\n wrapper.height(constrain(height, options.minHeight, options.maxHeight));\n } else {\n wrapper.height('');\n }\n if (!options.visible) {\n wrapper.hide();\n }\n if (sizeClass && SIZE[sizeClass]) {\n wrapper.addClass(SIZE[sizeClass]);\n }\n },\n _position: function () {\n var wrapper = this.wrapper, position = this.options.position;\n this._updateBoundaries();\n if (this.containment) {\n position.top = Math.min(this.minTop + (position.top || 0), this.maxTop);\n position.left = Math.min(this.minLeft + (position.left || 0), this.maxLeft);\n }\n if (position.top === 0) {\n position.top = position.top.toString();\n }\n if (position.left === 0) {\n position.left = position.left.toString();\n }\n wrapper.css({\n top: position.top || '',\n left: position.left || ''\n });\n },\n _updateBoundaries: function () {\n var containment = this.containment;\n if (!containment) {\n return null;\n }\n containment.width = containment.innerWidth();\n containment.height = containment.innerHeight();\n if (parseInt(containment.width, 10) > containment[0].clientWidth) {\n containment.width -= kendo.support.scrollbar();\n }\n if (parseInt(containment.height, 10) > containment[0].clientHeight) {\n containment.height -= kendo.support.scrollbar();\n }\n containment.position = getPosition(containment[0]);\n if (this._isPinned) {\n this.minTop = this.minLeft = -Infinity;\n this.maxTop = this.maxLeft = Infinity;\n } else {\n this.minTop = containment.scrollTop();\n this.minLeft = containment.scrollLeft();\n this.maxLeft = this.minLeft + containment.width - outerWidth(this.wrapper, true);\n this.maxTop = this.minTop + containment.height - outerHeight(this.wrapper, true);\n }\n },\n _animationOptions: function (id) {\n var animation = this.options.animation;\n var basicAnimation = {\n open: { effects: {} },\n close: {\n hide: true,\n effects: {}\n }\n };\n return animation && animation[id] || basicAnimation[id];\n },\n _resize: function () {\n kendo.resize(this.element.children());\n },\n _resizable: function () {\n var resizable = this.options.resizable;\n var wrapper = this.wrapper;\n if (this.resizing) {\n wrapper.off('dblclick' + NS).children(KWINDOWRESIZEHANDLES).remove();\n this.resizing.destroy();\n this.resizing = null;\n }\n if (resizable) {\n wrapper.on('dblclick' + NS, KWINDOWTITLEBAR, proxy(function (e) {\n if (!$(e.target).closest('.k-window-action').length) {\n this.toggleMaximization();\n }\n }, this));\n each('n e s w se sw ne nw'.split(' '), function (index, handler) {\n wrapper.append(templates.resizeHandle(handler));\n });\n this.resizing = new WindowResizing(this);\n }\n wrapper = null;\n },\n _draggable: function () {\n var draggable = this.options.draggable;\n if (this.dragging) {\n this.dragging.destroy();\n this.dragging = null;\n }\n if (draggable) {\n this.dragging = new WindowDragging(this, draggable.dragHandle || KWINDOWTITLEBAR);\n }\n },\n _actions: function () {\n var options = this.options;\n var actions = options.actions;\n var pinned = options.pinned;\n var titlebar = this.wrapper.children(KWINDOWTITLEBAR);\n var container = titlebar.find('.k-window-actions');\n var windowSpecificCommands = [\n 'maximize',\n 'minimize'\n ];\n actions = $.map(actions, function (action) {\n action = pinned && action.toLowerCase() === 'pin' ? 'unpin' : action;\n return { name: windowSpecificCommands.indexOf(action.toLowerCase()) > -1 ? 'window-' + action : action };\n });\n container.html(kendo.render(templates.action, actions));\n },\n setOptions: function (options) {\n var that = this;\n var sizeClass = that.options.size;\n var cachedOptions = JSON.parse(JSON.stringify(options));\n extend(options.position, that.options.position);\n extend(options.position, cachedOptions.position);\n Widget.fn.setOptions.call(that, options);\n var scrollable = that.options.scrollable !== false;\n that.restore();\n if (typeof options.title !== 'undefined') {\n that.title(options.title);\n }\n that.wrapper.removeClass(SIZE[sizeClass]);\n that._dimensions();\n that._position();\n that._resizable();\n that._draggable();\n that._actions();\n if (typeof options.modal !== 'undefined') {\n var visible = that.options.visible !== false;\n that._enableDocumentScrolling();\n that._overlay(options.modal && visible);\n }\n that.element.css(OVERFLOW, scrollable ? '' : 'hidden');\n },\n events: [\n OPEN,\n ACTIVATE,\n DEACTIVATE,\n CLOSE,\n MINIMIZE,\n MAXIMIZE,\n REFRESH,\n RESIZESTART,\n RESIZE,\n RESIZEEND,\n DRAGSTART,\n DRAGEND,\n ERROR\n ],\n options: {\n name: 'Window',\n animation: {\n open: {\n effects: {\n zoom: { direction: 'in' },\n fade: { direction: 'in' }\n },\n duration: 350\n },\n close: {\n effects: {\n zoom: {\n direction: 'out',\n properties: { scale: 0.7 }\n },\n fade: { direction: 'out' }\n },\n duration: 350,\n hide: true\n }\n },\n title: '',\n actions: ['Close'],\n autoFocus: true,\n modal: false,\n size: 'auto',\n resizable: true,\n draggable: true,\n minWidth: 90,\n minHeight: 50,\n maxWidth: Infinity,\n maxHeight: Infinity,\n pinned: false,\n scrollable: true,\n position: {},\n content: null,\n visible: null,\n height: null,\n width: null,\n appendTo: 'body',\n isMaximized: false,\n isMinimized: false\n },\n _closable: function () {\n return $.inArray('close', $.map(this.options.actions, function (x) {\n return x.toLowerCase();\n })) > -1;\n },\n _keydown: function (e) {\n var that = this, options = that.options, keys = kendo.keys, keyCode = e.keyCode, wrapper = that.wrapper, offset, handled, distance = 10, isMaximized = options.isMaximized, isMinimized = options.isMinimized, newWidth, newHeight, w, h;\n if (keyCode == keys.ESC && that._closable()) {\n e.stopPropagation();\n that._close(false);\n }\n if (e.target != e.currentTarget || that._closing) {\n return;\n }\n if (e.altKey && keyCode == 82) {\n that.refresh();\n }\n if (e.altKey && keyCode == 80) {\n if (that.options.pinned) {\n that.unpin();\n } else {\n that.pin();\n }\n }\n if (e.altKey && keyCode == keys.UP) {\n if (isMinimized) {\n that.restore();\n that.element.focus();\n } else if (!isMaximized) {\n that.maximize();\n that.element.focus();\n }\n } else if (e.altKey && keyCode == keys.DOWN) {\n if (!isMinimized && !isMaximized) {\n that.minimize();\n that.wrapper.focus();\n } else if (isMaximized) {\n that.restore();\n that.element.focus();\n }\n }\n offset = kendo.getOffset(wrapper);\n if (that.containment && !that._isPinned) {\n offset = that.options.position;\n }\n if (options.draggable && !e.ctrlKey && !e.altKey && !isMaximized) {\n that._updateBoundaries();\n if (keyCode == keys.UP) {\n offset.top = constrain(offset.top - distance, that.minTop, that.maxTop);\n handled = wrapper.css('top', offset.top);\n } else if (keyCode == keys.DOWN) {\n offset.top = constrain(offset.top + distance, that.minTop, that.maxTop);\n handled = wrapper.css('top', offset.top);\n } else if (keyCode == keys.LEFT) {\n offset.left = constrain(offset.left - distance, that.minLeft, that.maxLeft);\n handled = wrapper.css('left', offset.left);\n } else if (keyCode == keys.RIGHT) {\n offset.left = constrain(offset.left + distance, that.minLeft, that.maxLeft);\n handled = wrapper.css('left', offset.left);\n }\n }\n if (options.resizable && e.ctrlKey && !isMaximized && !isMinimized) {\n if (keyCode == keys.UP) {\n handled = true;\n newHeight = wrapper.height() - distance;\n } else if (keyCode == keys.DOWN) {\n handled = true;\n if (that.containment && !that._isPinned) {\n newHeight = Math.min(wrapper.height() + distance, that.containment.height - offset.top - toInt(wrapper, 'padding-top') - toInt(wrapper, 'borderBottomWidth') - toInt(wrapper, 'borderTopWidth'));\n } else {\n newHeight = wrapper.height() + distance;\n }\n }\n if (keyCode == keys.LEFT) {\n handled = true;\n newWidth = wrapper.width() - distance;\n } else if (keyCode == keys.RIGHT) {\n handled = true;\n if (that.containment && !that._isPinned) {\n newWidth = Math.min(wrapper.width() + distance, that.containment.width - offset.left - toInt(wrapper, 'borderLeftWidth') - toInt(wrapper, 'borderRightWidth'));\n } else {\n newWidth = wrapper.width() + distance;\n }\n }\n if (handled) {\n w = constrain(newWidth, options.minWidth, options.maxWidth);\n h = constrain(newHeight, options.minHeight, options.maxHeight);\n if (!isNaN(w)) {\n wrapper.width(w);\n that.options.width = w + 'px';\n }\n if (!isNaN(h)) {\n wrapper.height(h);\n that.options.height = h + 'px';\n }\n that.resize();\n }\n }\n if (handled) {\n e.preventDefault();\n }\n },\n _overlay: function (visible) {\n var overlay = this.containment ? this.containment.children(KOVERLAY) : this.appendTo.children(KOVERLAY), wrapper = this.wrapper;\n if (!overlay.length) {\n overlay = $('
      ');\n }\n overlay.insertBefore(wrapper[0]).toggle(visible).css(ZINDEX, parseInt(wrapper.css(ZINDEX), 10) - 1);\n if (this.options.modal.preventScroll && !this.containment) {\n this._stopDocumentScrolling();\n }\n return overlay;\n },\n _actionForIcon: function (icon) {\n var iconClass = /\\bk-i(-\\w+)+\\b/.exec(icon[0].className)[0];\n return {\n 'k-i-close': '_close',\n 'k-i-window-maximize': 'maximize',\n 'k-i-window-minimize': 'minimize',\n 'k-i-window-restore': 'restore',\n 'k-i-refresh': 'refresh',\n 'k-i-pin': 'pin',\n 'k-i-unpin': 'unpin'\n }[iconClass];\n },\n _windowActionHandler: function (e) {\n if (this._closing) {\n return;\n }\n var icon = $(e.target).closest('.k-window-action').find('.k-icon');\n var action = this._actionForIcon(icon);\n if (action) {\n e.preventDefault();\n this[action]();\n return false;\n }\n },\n _modals: function () {\n var that = this;\n var zStack = $(KWINDOW).filter(function () {\n var dom = $(this);\n var object = that._object(dom);\n var options = object && object.options;\n return options && options.modal && options.visible && options.appendTo === that.options.appendTo && dom.is(VISIBLE);\n }).sort(function (a, b) {\n return +$(a).css('zIndex') - +$(b).css('zIndex');\n });\n that = null;\n return zStack;\n },\n _object: function (element) {\n var content = element.children(KWINDOWCONTENT);\n var widget = kendo.widgetInstance(content);\n if (widget) {\n return widget;\n }\n return undefined;\n },\n center: function () {\n var that = this, position = that.options.position, wrapper = that.wrapper, documentWindow = $(window), scrollTop = 0, scrollLeft = 0, newTop, newLeft;\n if (that.options.isMaximized) {\n return that;\n }\n if (that.options.pinned && !that._isPinned) {\n that.pin();\n }\n if (!that.options.pinned) {\n scrollTop = documentWindow.scrollTop();\n scrollLeft = documentWindow.scrollLeft();\n }\n if (this.containment && !that.options.pinned) {\n newTop = this.minTop + (this.maxTop - this.minTop) / 2;\n newLeft = this.minLeft + (this.maxLeft - this.minLeft) / 2;\n } else {\n that._scrollIsAppended = true;\n newLeft = scrollLeft + Math.max(0, (documentWindow.width() - wrapper.width()) / 2);\n newTop = scrollTop + Math.max(0, (documentWindow.height() - wrapper.height() - toInt(wrapper, 'paddingTop')) / 2);\n }\n wrapper.css({\n left: newLeft,\n top: newTop\n });\n position.top = newTop;\n position.left = newLeft;\n return that;\n },\n title: function (title) {\n var that = this, value, encoded = true, wrapper = that.wrapper, titleBar = wrapper.children(KWINDOWTITLEBAR), titleElement = titleBar.children(KWINDOWTITLE), titleBarHeight, display, visibility;\n if (!arguments.length) {\n return titleElement.html();\n }\n if ($.isPlainObject(title)) {\n value = typeof title.text !== 'undefined' ? title.text : '';\n encoded = title.encoded !== false;\n } else {\n value = title;\n }\n if (value === false) {\n wrapper.addClass('k-window-titleless');\n wrapper.css('padding-top', 0);\n titleBar.remove();\n } else {\n if (!titleBar.length) {\n wrapper.prepend(templates.titlebar({ title: encoded ? kendo.htmlEncode(value) : value }));\n that._actions();\n titleBar = wrapper.children(KWINDOWTITLEBAR);\n } else {\n titleElement.html(encoded ? kendo.htmlEncode(value) : value);\n }\n visibility = wrapper.css('visibility');\n display = wrapper.css('display');\n if (visibility === HIDDEN) {\n wrapper.css({ display: '' });\n titleBarHeight = parseInt(outerHeight(titleBar), 10);\n wrapper.css({ display: display });\n } else {\n wrapper.css({\n visibility: HIDDEN,\n display: ''\n });\n titleBarHeight = parseInt(outerHeight(titleBar), 10);\n wrapper.css({\n visibility: visibility,\n display: display\n });\n }\n wrapper.css('padding-top', titleBarHeight);\n titleBar.css('margin-top', -titleBarHeight);\n }\n that.options.title = value;\n return that;\n },\n content: function (html, data) {\n var content = this.wrapper.children(KWINDOWCONTENT), scrollContainer = content.children('.km-scroll-container');\n content = scrollContainer[0] ? scrollContainer : content;\n if (!defined(html)) {\n return content.html();\n }\n this.angular('cleanup', function () {\n return { elements: content.children() };\n });\n kendo.destroy(this.element.children());\n content.empty().html(html);\n this.angular('compile', function () {\n var a = [];\n for (var i = content.length; --i >= 0;) {\n a.push({ dataItem: data });\n }\n return {\n elements: content.children(),\n data: a\n };\n });\n return this;\n },\n open: function () {\n var that = this, wrapper = that.wrapper, options = that.options, showOptions = this._animationOptions('open'), contentElement = wrapper.children(KWINDOWCONTENT), overlay, otherModalsVisible, containmentContext = this.containment && !that._isPinned, doc = containmentContext ? this.containment : $(document);\n if (!that.trigger(OPEN)) {\n if (that._closing) {\n wrapper.kendoStop(true, true);\n }\n that._closing = false;\n that.toFront();\n if (options.autoFocus) {\n that.element.focus();\n }\n options.visible = true;\n if (options.modal) {\n otherModalsVisible = !!that._modals().length;\n overlay = that._overlay(otherModalsVisible);\n overlay.kendoStop(true, true);\n if (showOptions.duration && kendo.effects.Fade && !otherModalsVisible) {\n var overlayFx = kendo.fx(overlay).fadeIn();\n overlayFx.duration(showOptions.duration || 0);\n overlayFx.endValue(0.5);\n overlayFx.play();\n } else {\n overlay.css('opacity', 0.5);\n }\n overlay.show();\n $(window).on('focus' + MODAL_NS, function () {\n if (contentElement.data('isFront') && !$(document.activeElement).closest(contentElement).length) {\n that.element.focus();\n }\n });\n }\n if (!wrapper.is(VISIBLE)) {\n contentElement.css(OVERFLOW, HIDDEN);\n that.wrapper.find(TITLEBAR_BUTTONS).addClass('k-flat');\n wrapper.show().kendoStop().kendoAnimate({\n effects: showOptions.effects,\n duration: showOptions.duration,\n complete: proxy(this._activate, this)\n });\n }\n }\n if (options.isMaximized) {\n that._containerScrollTop = doc.scrollTop();\n that._containerScrollLeft = doc.scrollLeft();\n that._stopDocumentScrolling();\n }\n if (this.options.pinned && !this._isPinned) {\n this.pin();\n }\n return that;\n },\n _activate: function () {\n var scrollable = this.options.scrollable !== false;\n if (this.options.autoFocus) {\n this.element.focus();\n }\n this.element.css(OVERFLOW, scrollable ? '' : 'hidden');\n kendo.resize(this.element.children());\n this.trigger(ACTIVATE);\n },\n _removeOverlay: function (suppressAnimation) {\n var modals = this._modals();\n var options = this.options;\n var hideOverlay = options.modal && !modals.length;\n var overlay = options.modal ? this._overlay(true) : $(undefined);\n var hideOptions = this._animationOptions('close');\n if (hideOverlay) {\n if (!suppressAnimation && hideOptions.duration && kendo.effects.Fade) {\n var overlayFx = kendo.fx(overlay).fadeOut();\n overlayFx.duration(hideOptions.duration || 0);\n overlayFx.startValue(0.5);\n overlayFx.play();\n } else {\n this._overlay(false).remove();\n }\n if (options.modal.preventScroll) {\n this._enableDocumentScrolling();\n }\n } else if (modals.length) {\n this._object(modals.last())._overlay(true);\n if (options.modal.preventScroll) {\n this._stopDocumentScrolling();\n }\n }\n },\n _close: function (systemTriggered) {\n var that = this, wrapper = that.wrapper, options = that.options, showOptions = this._animationOptions('open'), hideOptions = this._animationOptions('close'), containmentContext = this.containment && !that._isPinned, doc = containmentContext ? this.containment : $(document), defaultPrevented;\n if (that._closing) {\n return;\n }\n defaultPrevented = that.trigger(CLOSE, { userTriggered: !systemTriggered });\n that._closing = !defaultPrevented;\n if (wrapper.is(VISIBLE) && !defaultPrevented) {\n options.visible = false;\n $(KWINDOW).each(function (i, element) {\n var contentElement = $(element).children(KWINDOWCONTENT);\n if (element != wrapper && contentElement.find('> .' + KCONTENTFRAME).length > 0) {\n contentElement.children(KOVERLAY).remove();\n }\n });\n this._removeOverlay();\n that.wrapper.find(TITLEBAR_BUTTONS).removeClass('k-flat');\n wrapper.kendoStop().kendoAnimate({\n effects: hideOptions.effects || showOptions.effects,\n reverse: hideOptions.reverse === true,\n duration: hideOptions.duration,\n complete: proxy(this._deactivate, this)\n });\n $(window).off(MODAL_NS);\n }\n if (that.options.isMaximized) {\n that._enableDocumentScrolling();\n if (that._containerScrollTop && that._containerScrollTop > 0) {\n doc.scrollTop(that._containerScrollTop);\n }\n if (that._containerScrollLeft && that._containerScrollLeft > 0) {\n doc.scrollLeft(that._containerScrollLeft);\n }\n }\n },\n _deactivate: function () {\n var that = this;\n that.wrapper.hide().css('opacity', '');\n that.trigger(DEACTIVATE);\n if (that.options.modal) {\n var lastModal = that._object(that._modals().last());\n if (lastModal) {\n lastModal.toFront();\n }\n }\n },\n close: function () {\n this._close(true);\n return this;\n },\n _actionable: function (element) {\n return $(element).is(TITLEBAR_BUTTONS + ',' + TITLEBAR_BUTTONS + ' .k-icon,:input,a');\n },\n _shouldFocus: function (target) {\n var active = activeElement(), element = this.element;\n return this.options.autoFocus && !$(active).is(element) && !this._actionable(target) && (!element.find(active).length || !element.find(target).length);\n },\n toFront: function (e) {\n var that = this, wrapper = that.wrapper, currentWindow = wrapper[0], containmentContext = that.containment && !that._isPinned, zIndex = +wrapper.css(ZINDEX), originalZIndex = zIndex, target = e && e.target || null;\n $(KWINDOW).each(function (i, element) {\n var windowObject = $(element), zIndexNew = windowObject.css(ZINDEX), contentElement = windowObject.children(KWINDOWCONTENT);\n if (!isNaN(zIndexNew)) {\n zIndex = Math.max(+zIndexNew, zIndex);\n }\n contentElement.data('isFront', element == currentWindow);\n if (element != currentWindow && contentElement.find('> .' + KCONTENTFRAME).length > 0) {\n contentElement.append(templates.overlay);\n }\n });\n if (!wrapper[0].style.zIndex || originalZIndex < zIndex) {\n wrapper.css(ZINDEX, zIndex + 2);\n }\n that.element.find('> .k-overlay').remove();\n if (that._shouldFocus(target)) {\n if (that.isMinimized()) {\n that.wrapper.focus();\n } else if ($(target).is(KOVERLAY)) {\n setTimeout(function () {\n that.element.focus();\n });\n } else {\n that.element.focus();\n }\n var scrollTop = containmentContext ? that.containment.scrollTop() : $(window).scrollTop(), windowTop = parseInt(wrapper.position().top, 10);\n if (!that.options.pinned && windowTop > 0 && windowTop < scrollTop) {\n if (scrollTop > 0) {\n $(window).scrollTop(windowTop);\n } else {\n wrapper.css('top', scrollTop);\n }\n }\n }\n wrapper = null;\n return that;\n },\n toggleMaximization: function () {\n if (this._closing) {\n return this;\n }\n return this[this.options.isMaximized ? 'restore' : 'maximize']();\n },\n restore: function () {\n var that = this;\n var options = that.options;\n var minHeight = options.minHeight;\n var restoreOptions = that.restoreOptions;\n var shouldRestrictTop;\n var container = that.containment && !that._isPinned ? that.containment : $(document);\n if (!options.isMaximized && !options.isMinimized) {\n return that;\n }\n if (minHeight && minHeight != Infinity) {\n that.wrapper.css('min-height', minHeight);\n }\n if (restoreOptions && !options.isMaximized) {\n restoreOptions.height = constrain(restoreOptions.height, that.options.minHeight, that.options.maxHeight);\n shouldRestrictTop = options.position.top + parseInt(restoreOptions.height, 10) > that.maxTop;\n if (shouldRestrictTop) {\n options.position.top = constrain(options.position.top, that.minTop, that.maxTop - parseInt(restoreOptions.height, 10));\n extend(restoreOptions, {\n left: options.position.left,\n top: options.position.top\n });\n }\n }\n that.wrapper.css({\n position: options.pinned ? 'fixed' : 'absolute',\n left: restoreOptions.left,\n top: restoreOptions.top,\n width: restoreOptions.width,\n height: restoreOptions.height\n }).removeClass(MAXIMIZEDSTATE).find('.k-window-content,.k-resize-handle').show().end().find('.k-window-titlebar .k-i-window-restore').parent().remove().end().end().find(MINIMIZE_MAXIMIZE).parent().show().end().end().find(PIN_UNPIN).parent().show();\n if (options.isMaximized) {\n that.wrapper.find('.k-i-window-maximize').parent().focus();\n } else if (options.isMinimized) {\n that.wrapper.find('.k-i-window-minimize').parent().focus();\n }\n that.options.width = restoreOptions.width;\n that.options.height = restoreOptions.height;\n if (!that.options.modal.preventScroll) {\n that._enableDocumentScrolling();\n }\n if (that._containerScrollTop && that._containerScrollTop > 0) {\n container.scrollTop(that._containerScrollTop);\n }\n if (that._containerScrollLeft && that._containerScrollLeft > 0) {\n container.scrollLeft(that._containerScrollLeft);\n }\n options.isMaximized = options.isMinimized = false;\n that.wrapper.removeAttr('tabindex');\n that.wrapper.removeAttr('aria-labelled-by');\n that.resize();\n return that;\n },\n _sizingAction: function (actionId, callback) {\n var that = this, wrapper = that.wrapper, style = wrapper[0].style, options = that.options;\n if (options.isMaximized || options.isMinimized) {\n return that;\n }\n that.restoreOptions = {\n width: style.width,\n height: style.height\n };\n wrapper.children(KWINDOWRESIZEHANDLES).hide().end().children(KWINDOWTITLEBAR).find(MINIMIZE_MAXIMIZE).parent().hide().eq(0).before(templates.action({ name: 'window-restore' }));\n callback.call(that);\n that.wrapper.children(KWINDOWTITLEBAR).find(PIN_UNPIN).parent().toggle(actionId !== 'maximize');\n that.trigger(actionId);\n wrapper.find('.k-i-window-restore').parent().focus();\n return that;\n },\n maximize: function () {\n this._sizingAction('maximize', function () {\n var that = this, wrapper = that.wrapper, containmentContext = this.containment && !that._isPinned, position = wrapper.position(), doc = $(document);\n extend(that.restoreOptions, {\n left: position.left + (containmentContext ? this.containment.scrollLeft() : 0),\n top: position.top + (containmentContext ? this.containment.scrollTop() : 0)\n });\n this._containerScrollTop = containmentContext ? this.containment.scrollTop() : doc.scrollTop();\n this._containerScrollLeft = containmentContext ? this.containment.scrollLeft() : doc.scrollLeft();\n that._stopDocumentScrolling();\n wrapper.css({\n top: containmentContext ? this.containment.scrollTop() : 0,\n left: containmentContext ? this.containment.scrollLeft() : 0,\n position: containmentContext ? 'absolute' : 'fixed'\n }).addClass(MAXIMIZEDSTATE);\n that.options.isMaximized = true;\n that._onDocumentResize();\n });\n return this;\n },\n _stopDocumentScrolling: function () {\n var that = this;\n var containment = that.containment;\n if (containment && !that._isPinned) {\n that._storeOverflowRule(containment);\n containment.css(OVERFLOW, HIDDEN);\n that.wrapper.css({\n maxWidth: containment.innerWidth(),\n maxHeight: containment.innerHeight()\n });\n return;\n }\n var $body = $('body');\n that._storeOverflowRule($body);\n $body.css(OVERFLOW, HIDDEN);\n var $html = $('html');\n that._storeOverflowRule($html);\n $html.css(OVERFLOW, HIDDEN);\n },\n _enableDocumentScrolling: function () {\n var that = this;\n var containment = that.containment;\n if (containment && !that._isPinned) {\n that._restoreOverflowRule(containment);\n that.wrapper.css({\n maxWidth: containment.width,\n maxHeight: containment.height\n });\n return;\n }\n that._restoreOverflowRule($(document.body));\n that._restoreOverflowRule($('html'));\n },\n _storeOverflowRule: function ($element) {\n if (this._isOverflowStored($element)) {\n return;\n }\n var overflowRule = $element.get(0).style.overflow;\n if (typeof overflowRule === 'string') {\n $element.data(DATADOCOVERFLOWRULE, overflowRule);\n }\n },\n _isOverflowStored: function ($element) {\n return typeof $element.data(DATADOCOVERFLOWRULE) === 'string';\n },\n _restoreOverflowRule: function ($element) {\n var overflowRule = $element.data(DATADOCOVERFLOWRULE);\n if (overflowRule !== null && overflowRule !== undefined) {\n $element.css(OVERFLOW, overflowRule);\n $element.removeData(DATADOCOVERFLOWRULE);\n } else {\n $element.css(OVERFLOW, '');\n }\n },\n isMaximized: function () {\n return this.options.isMaximized;\n },\n minimize: function () {\n this._sizingAction('minimize', function () {\n var that = this;\n that.wrapper.css({\n height: '',\n minHeight: ''\n });\n that.element.hide();\n that.options.isMinimized = true;\n });\n this.wrapper.attr('tabindex', 0);\n this.wrapper.attr('aria-labelled-by', this.element.attr('aria-labelled-by'));\n this._updateBoundaries();\n return this;\n },\n isMinimized: function () {\n return this.options.isMinimized;\n },\n pin: function () {\n var that = this, win = $(window), wrapper = that.wrapper, options = that.options, position = options.position, top = this.containment ? getPosition(wrapper[0]).top + toInt(this.containment, 'borderTopWidth') : toInt(wrapper, 'top'), left = this.containment ? getPosition(wrapper[0]).left + toInt(this.containment, 'borderLeftWidth') : toInt(wrapper, 'left');\n if (!that.options.isMaximized) {\n position.top = top;\n position.left = left;\n if (that._scrollIsAppended && (!this.containment || this.containment.css('position') !== 'fixed')) {\n position.top -= win.scrollTop();\n position.left -= win.scrollLeft();\n that._scrollIsAppended = false;\n }\n wrapper.css(extend(position, { position: 'fixed' }));\n wrapper.children(KWINDOWTITLEBAR).find(KPIN).addClass('k-i-unpin').removeClass('k-i-pin');\n that._isPinned = true;\n that.options.pinned = true;\n if (this.containment) {\n options.maxWidth = options.maxHeight = Infinity;\n wrapper.css({\n maxWidth: '',\n maxHeight: ''\n });\n }\n }\n },\n unpin: function () {\n var that = this, win = $(window), wrapper = that.wrapper, options = that.options, position = that.options.position, containment = that.containment, top = parseInt(wrapper.css('top'), 10) + win.scrollTop(), left = parseInt(wrapper.css('left'), 10) + win.scrollLeft();\n if (!that.options.isMaximized) {\n that._isPinned = false;\n that._scrollIsAppended = true;\n that.options.pinned = false;\n if (containment) {\n that._updateBoundaries();\n options.maxWidth = Math.min(containment.width, options.maxWidth);\n options.maxHeight = Math.min(containment.height - toInt(wrapper, 'padding-top'), options.maxHeight);\n wrapper.css({\n maxWidth: options.maxWidth,\n maxHeight: options.maxHeight\n });\n if (top < containment.position.top) {\n top = that.minTop;\n } else if (top > containment.position.top + containment.height) {\n top = that.maxTop;\n } else {\n top = top + containment.scrollTop() - (containment.position.top + toInt(containment, 'border-top-width'));\n }\n if (left < containment.position.left) {\n left = that.minLeft;\n } else if (left > containment.position.left + containment.width) {\n left = that.maxLeft;\n } else {\n left = left + containment.scrollLeft() - (containment.position.left + toInt(containment, 'border-left-width'));\n }\n }\n position.top = constrain(top, that.minTop, that.maxTop);\n position.left = constrain(left, that.minLeft, that.maxLeft);\n wrapper.css(extend(position, { position: '' }));\n wrapper.children(KWINDOWTITLEBAR).find(KUNPIN).addClass('k-i-pin').removeClass('k-i-unpin');\n }\n },\n _onDocumentResize: function () {\n var that = this, wrapper = that.wrapper, wnd = $(window), zoomLevel = kendo.support.zoomLevel(), contentBoxSizing = wrapper.css('box-sizing') == 'content-box', w, h;\n if (!that.options.isMaximized) {\n return;\n }\n var lrBorderWidth = contentBoxSizing ? toInt(wrapper, 'border-left-width') + toInt(wrapper, 'border-right-width') : 0;\n var tbBorderWidth = contentBoxSizing ? toInt(wrapper, 'border-top-width') + toInt(wrapper, 'border-bottom-width') : 0;\n var paddingTop = contentBoxSizing ? toInt(wrapper, 'padding-top') : 0;\n if (that.containment && !that._isPinned) {\n w = that.containment.innerWidth() - lrBorderWidth;\n h = that.containment.innerHeight() - (tbBorderWidth + paddingTop);\n } else {\n w = wnd.width() / zoomLevel - lrBorderWidth;\n h = wnd.height() / zoomLevel - (tbBorderWidth + paddingTop);\n }\n wrapper.css({\n width: w,\n height: h\n });\n that.options.width = w;\n that.options.height = h;\n that.resize();\n },\n refresh: function (options) {\n var that = this, initOptions = that.options, element = $(that.element), iframe, showIframe, url;\n if (!isPlainObject(options)) {\n options = { url: options };\n }\n options = extend({}, initOptions.content, options);\n showIframe = defined(initOptions.iframe) ? initOptions.iframe : options.iframe;\n url = options.url;\n if (url) {\n if (!defined(showIframe)) {\n showIframe = !isLocalUrl(url);\n }\n if (!showIframe) {\n that._ajaxRequest(options);\n } else {\n iframe = element.find('.' + KCONTENTFRAME)[0];\n if (iframe) {\n iframe.src = url || iframe.src;\n } else {\n element.html(templates.contentFrame(extend({}, initOptions, { content: options })));\n }\n element.find('.' + KCONTENTFRAME).unbind('load' + NS).on('load' + NS, proxy(this._triggerRefresh, this));\n }\n } else {\n if (options.template) {\n that.content(template(options.template)({}));\n }\n that.trigger(REFRESH);\n }\n element.toggleClass('k-window-iframecontent', !!showIframe);\n return that;\n },\n _triggerRefresh: function () {\n this.trigger(REFRESH);\n },\n _ajaxComplete: function () {\n clearTimeout(this._loadingIconTimeout);\n this.wrapper.find(REFRESHICON).removeClass(LOADING);\n },\n _ajaxError: function (xhr, status) {\n this.trigger(ERROR, {\n status: status,\n xhr: xhr\n });\n },\n _ajaxSuccess: function (contentTemplate) {\n return function (data) {\n var html = data;\n if (contentTemplate) {\n html = template(contentTemplate)(data || {});\n }\n this.content(html, data);\n this.element.prop('scrollTop', 0);\n this.trigger(REFRESH);\n };\n },\n _showLoading: function () {\n this.wrapper.find(REFRESHICON).addClass(LOADING);\n },\n _ajaxRequest: function (options) {\n this._loadingIconTimeout = setTimeout(proxy(this._showLoading, this), 100);\n $.ajax(extend({\n type: 'GET',\n dataType: 'html',\n cache: false,\n error: proxy(this._ajaxError, this),\n complete: proxy(this._ajaxComplete, this),\n success: proxy(this._ajaxSuccess(options.template), this)\n }, options));\n },\n _destroy: function () {\n if (this.resizing) {\n this.resizing.destroy();\n }\n if (this.dragging) {\n this.dragging.destroy();\n }\n this.wrapper.off(NS).children(KWINDOWCONTENT).off(NS).end().find('.k-resize-handle,.k-window-titlebar').off(NS);\n $(window).off('resize' + NS + this._marker);\n $(window).off(MODAL_NS);\n $(window).off(NS);\n clearTimeout(this._loadingIconTimeout);\n Widget.fn.destroy.call(this);\n this.unbind(undefined);\n kendo.destroy(this.wrapper);\n this._removeOverlay(true);\n },\n destroy: function () {\n this._destroy();\n this.wrapper.empty().remove();\n this.wrapper = this.appendTo = this.element = $();\n },\n _createWindow: function () {\n var contentHtml = this.element, options = this.options, iframeSrcAttributes, wrapper, isRtl = kendo.support.isRtl(contentHtml);\n if (options.scrollable === false) {\n contentHtml.css('overflow', 'hidden');\n }\n wrapper = $(templates.wrapper(options));\n iframeSrcAttributes = contentHtml.find('iframe:not(.k-content-frame)').map(function () {\n var src = this.getAttribute('src');\n this.src = '';\n return src;\n });\n wrapper.toggleClass('k-rtl', isRtl).append(contentHtml).find('iframe:not(.k-content-frame)').each(function (index) {\n this.src = iframeSrcAttributes[index];\n });\n if (this.containment) {\n this.containment.prepend(wrapper);\n } else if (this.appendTo) {\n wrapper.appendTo(this.appendTo);\n }\n wrapper.find('.k-window-title').css(isRtl ? 'left' : 'right', outerWidth(wrapper.find('.k-window-actions')) + 10);\n contentHtml.css('visibility', '').show();\n contentHtml.find('[data-role=editor]').each(function () {\n var editor = $(this).data('kendoEditor');\n if (editor) {\n editor.refresh();\n }\n });\n wrapper = contentHtml = null;\n }\n });\n templates = {\n wrapper: template('
      '),\n action: template('' + '' + ''),\n titlebar: template('
      ' + '#= title #' + '
      ' + '
      '),\n overlay: '
      ',\n contentFrame: template(''),\n resizeHandle: template('
      ')\n };\n function WindowResizing(wnd) {\n var that = this;\n that.owner = wnd;\n that._preventDragging = false;\n that._draggable = new Draggable(wnd.wrapper, {\n filter: '>' + KWINDOWRESIZEHANDLES,\n group: wnd.wrapper.id + '-resizing',\n dragstart: proxy(that.dragstart, that),\n drag: proxy(that.drag, that),\n dragend: proxy(that.dragend, that)\n });\n that._draggable.userEvents.bind('press', proxy(that.addOverlay, that));\n that._draggable.userEvents.bind('release', proxy(that.removeOverlay, that));\n }\n WindowResizing.prototype = {\n addOverlay: function () {\n this.owner.wrapper.append(templates.overlay);\n },\n removeOverlay: function () {\n this.owner.wrapper.find(KOVERLAY).remove();\n },\n dragstart: function (e) {\n var that = this;\n var wnd = that.owner;\n var wrapper = wnd.wrapper;\n that._preventDragging = wnd.trigger(RESIZESTART);\n if (that._preventDragging) {\n return;\n }\n that.elementPadding = parseInt(wrapper.css('padding-top'), 10);\n that.initialPosition = kendo.getOffset(wrapper, 'position');\n that.resizeDirection = e.currentTarget.prop('className').replace('k-resize-handle k-resize-', '');\n that.initialSize = {\n width: wrapper.width(),\n height: wrapper.height()\n };\n wnd._updateBoundaries();\n that.containerOffset = wnd.containment ? wnd.containment.position : kendo.getOffset(wnd.appendTo, 'position');\n var offsetParent = wrapper.offsetParent();\n if (offsetParent.is('html')) {\n that.containerOffset.top = that.containerOffset.left = 0;\n } else {\n var marginTop = offsetParent.css('margin-top');\n var marginLeft = offsetParent.css('margin-left');\n var hasMargin = !zero.test(marginTop) || !zero.test(marginLeft);\n if (hasMargin) {\n var wrapperPosition = getPosition(wrapper[0]);\n var relativeElMarginLeft = wrapperPosition.left - that.containerOffset.left - that.initialPosition.left;\n var relativeElMarginTop = wrapperPosition.top - that.containerOffset.top - that.initialPosition.top;\n that._relativeElMarginLeft = relativeElMarginLeft > 1 ? relativeElMarginLeft : 0;\n that._relativeElMarginTop = relativeElMarginTop > 1 ? relativeElMarginTop : 0;\n that.initialPosition.left += that._relativeElMarginLeft;\n that.initialPosition.top += that._relativeElMarginTop;\n }\n }\n wrapper.children(KWINDOWRESIZEHANDLES).not(e.currentTarget).hide();\n $(BODY).css(CURSOR, e.currentTarget.css(CURSOR));\n },\n drag: function (e) {\n if (this._preventDragging) {\n return;\n }\n var that = this, wnd = that.owner, wrapper = wnd.wrapper, options = wnd.options, position = options.position, direction = that.resizeDirection, containerOffset = that.containerOffset, initialPosition = that.initialPosition, initialSize = that.initialSize, containmentContext = wnd.containment && !wnd._isPinned, rtl = kendo.support.isRtl(wnd.containment), leftRtlOffset = containmentContext && rtl && wnd.containment.innerWidth() > wnd.containment.width ? kendo.support.scrollbar() : 0, scrollOffset = containmentContext ? {\n top: wnd.containment.scrollTop(),\n left: wnd.containment.scrollLeft()\n } : {\n top: 0,\n left: 0\n }, newWidth, newHeight, windowBottom, windowRight, x = Math.max(e.x.location, 0), y = Math.max(e.y.location, 0);\n if (direction.indexOf('e') >= 0) {\n if (wnd.containment && x - initialSize.width >= wnd.maxLeft - scrollOffset.left + containerOffset.left + leftRtlOffset) {\n newWidth = wnd.maxLeft + leftRtlOffset - initialPosition.left + initialSize.width - scrollOffset.left;\n } else {\n newWidth = x - initialPosition.left - containerOffset.left;\n }\n wrapper.width(constrain(newWidth, options.minWidth, options.maxWidth));\n } else if (direction.indexOf('w') >= 0) {\n windowRight = initialPosition.left + initialSize.width + containerOffset.left;\n newWidth = constrain(windowRight - x, options.minWidth, options.maxWidth);\n position.left = windowRight - newWidth - containerOffset.left - leftRtlOffset - (that._relativeElMarginLeft || 0) + scrollOffset.left;\n if (wnd.containment && position.left <= wnd.minLeft) {\n position.left = wnd.minLeft;\n newWidth = constrain(windowRight - leftRtlOffset - position.left - containerOffset.left + scrollOffset.left, options.minWidth, options.maxWidth);\n }\n wrapper.css({\n left: position.left,\n width: newWidth\n });\n }\n var newWindowTop = y;\n if (wnd.options.pinned) {\n newWindowTop -= $(window).scrollTop();\n }\n if (direction.indexOf('s') >= 0) {\n newHeight = newWindowTop - initialPosition.top - that.elementPadding - containerOffset.top;\n if (newWindowTop - initialSize.height - that.elementPadding >= wnd.maxTop + containerOffset.top - scrollOffset.top) {\n newHeight = wnd.maxTop - initialPosition.top + initialSize.height - scrollOffset.top;\n }\n wrapper.height(constrain(newHeight, options.minHeight, options.maxHeight));\n } else if (direction.indexOf('n') >= 0) {\n windowBottom = initialPosition.top + initialSize.height + containerOffset.top;\n newHeight = constrain(windowBottom - newWindowTop, options.minHeight, options.maxHeight);\n position.top = windowBottom - newHeight - containerOffset.top - (that._relativeElMarginTop || 0) + scrollOffset.top;\n if (position.top <= wnd.minTop && wnd.containment) {\n position.top = wnd.minTop;\n newHeight = constrain(windowBottom - position.top - containerOffset.top + scrollOffset.top, options.minHeight, options.maxHeight);\n }\n wrapper.css({\n top: position.top,\n height: newHeight\n });\n }\n if (newWidth) {\n wnd.options.width = newWidth + 'px';\n }\n if (newHeight) {\n wnd.options.height = newHeight + 'px';\n }\n wnd.resize();\n },\n dragend: function (e) {\n if (this._preventDragging) {\n return;\n }\n var that = this, wnd = that.owner, wrapper = wnd.wrapper;\n wrapper.children(KWINDOWRESIZEHANDLES).not(e.currentTarget).show();\n $(BODY).css(CURSOR, '');\n if (wnd.touchScroller) {\n wnd.touchScroller.reset();\n }\n if (e.keyCode == 27) {\n wrapper.css(that.initialPosition).css(that.initialSize);\n }\n wnd.trigger(RESIZEEND);\n return false;\n },\n destroy: function () {\n if (this._draggable) {\n this._draggable.destroy();\n }\n this._draggable = this.owner = null;\n }\n };\n function WindowDragging(wnd, dragHandle) {\n var that = this;\n that.owner = wnd;\n that._preventDragging = false;\n that._draggable = new Draggable(wnd.wrapper, {\n filter: dragHandle,\n group: wnd.wrapper.id + '-moving',\n dragstart: proxy(that.dragstart, that),\n drag: proxy(that.drag, that),\n dragend: proxy(that.dragend, that),\n dragcancel: proxy(that.dragcancel, that)\n });\n that._draggable.userEvents.stopPropagation = false;\n }\n WindowDragging.prototype = {\n dragstart: function (e) {\n var wnd = this.owner, draggable = wnd.options.draggable, element = wnd.element, actions = element.find('.k-window-actions'), containerOffset = kendo.getOffset(wnd.appendTo);\n this._preventDragging = wnd.trigger(DRAGSTART) || !draggable;\n if (this._preventDragging || wnd.isMaximized()) {\n return;\n }\n wnd.initialWindowPosition = kendo.getOffset(wnd.wrapper, 'position');\n wnd.initialPointerPosition = {\n left: wnd.options.position.left,\n top: wnd.options.position.top\n };\n wnd.startPosition = {\n left: e.x.client - wnd.initialWindowPosition.left,\n top: e.y.client - wnd.initialWindowPosition.top\n };\n wnd._updateBoundaries();\n if (!wnd.containment) {\n if (actions.length > 0) {\n wnd.minLeft = outerWidth(actions) + parseInt(actions.css('right'), 10) - outerWidth(element);\n } else {\n wnd.minLeft = 20 - outerWidth(element);\n }\n wnd.minLeft -= containerOffset.left;\n wnd.minTop = -containerOffset.top;\n }\n wnd.wrapper.append(templates.overlay).children(KWINDOWRESIZEHANDLES).hide();\n $(BODY).css(CURSOR, e.currentTarget.css(CURSOR));\n },\n drag: function (e) {\n var wnd = this.owner;\n var position = wnd.options.position;\n var axis = wnd.options.draggable.axis;\n var left;\n var top;\n if (this._preventDragging || wnd.isMaximized()) {\n return;\n }\n if (!axis || axis.toLowerCase() === 'x') {\n left = e.x.client - wnd.startPosition.left;\n if (wnd.containment && !wnd._isPinned) {\n left += wnd.containment.scrollLeft();\n }\n position.left = constrain(left, wnd.minLeft, wnd.maxLeft);\n }\n if (!axis || axis.toLowerCase() === 'y') {\n top = e.y.client - wnd.startPosition.top;\n if (wnd.containment && !wnd._isPinned) {\n top += wnd.containment.scrollTop();\n }\n position.top = constrain(top, wnd.minTop, wnd.maxTop);\n }\n if (kendo.support.transforms) {\n $(wnd.wrapper).css('transform', 'translate(' + (position.left - wnd.initialPointerPosition.left) + 'px, ' + (position.top - wnd.initialPointerPosition.top) + 'px)');\n } else {\n $(wnd.wrapper).css(position);\n }\n },\n _finishDrag: function () {\n var wnd = this.owner;\n wnd.wrapper.children(KWINDOWRESIZEHANDLES).toggle(!wnd.options.isMinimized).end().find(KOVERLAY).remove();\n $(BODY).css(CURSOR, '');\n },\n dragcancel: function (e) {\n if (this._preventDragging) {\n return;\n }\n this._finishDrag();\n e.currentTarget.closest(KWINDOW).css(this.owner.initialWindowPosition);\n },\n dragend: function () {\n var wnd = this.owner;\n if (this._preventDragging || wnd.isMaximized()) {\n return;\n }\n $(wnd.wrapper).css(wnd.options.position).css('transform', '');\n this._finishDrag();\n wnd.trigger(DRAGEND);\n return false;\n },\n destroy: function () {\n if (this._draggable) {\n this._draggable.destroy();\n }\n this._draggable = this.owner = null;\n }\n };\n kendo.ui.plugin(Window);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.color', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'color',\n name: 'Color utils',\n category: 'framework',\n advanced: true,\n description: 'Color utilities used across components',\n depends: ['core']\n };\n window.kendo = window.kendo || {};\n var Class = kendo.Class;\n var support = kendo.support;\n var namedColors = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgrey: 'a9a9a9',\n darkgreen: '006400',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n grey: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgrey: 'd3d3d3',\n lightgreen: '90ee90',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '778899',\n lightslategrey: '778899',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '00ff00',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'ff00ff',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370d8',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'd87093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n red: 'ff0000',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'ffffff',\n whitesmoke: 'f5f5f5',\n yellow: 'ffff00',\n yellowgreen: '9acd32'\n };\n var browser = support.browser;\n var matchNamedColor = function (color) {\n var colorNames = Object.keys(namedColors);\n colorNames.push('transparent');\n var regexp = new RegExp('^(' + colorNames.join('|') + ')(\\\\W|$)', 'i');\n matchNamedColor = function (color) {\n return regexp.exec(color);\n };\n return regexp.exec(color);\n };\n var BaseColor = Class.extend({\n init: function () {\n },\n toHSV: function () {\n return this;\n },\n toRGB: function () {\n return this;\n },\n toHex: function () {\n return this.toBytes().toHex();\n },\n toBytes: function () {\n return this;\n },\n toCss: function () {\n return '#' + this.toHex();\n },\n toCssRgba: function () {\n var rgb = this.toBytes();\n return 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + parseFloat(Number(this.a).toFixed(3)) + ')';\n },\n toDisplay: function () {\n if (browser.msie && browser.version < 9) {\n return this.toCss();\n }\n return this.toCssRgba();\n },\n equals: function (c) {\n return c === this || c !== null && this.toCssRgba() === parseColor(c).toCssRgba();\n },\n diff: function (other) {\n if (other === null) {\n return NaN;\n }\n var c1 = this.toBytes();\n var c2 = other.toBytes();\n return Math.sqrt(Math.pow((c1.r - c2.r) * 0.3, 2) + Math.pow((c1.g - c2.g) * 0.59, 2) + Math.pow((c1.b - c2.b) * 0.11, 2));\n },\n clone: function () {\n var c = this.toBytes();\n if (c === this) {\n c = new Bytes(c.r, c.g, c.b, c.a);\n }\n return c;\n }\n });\n var RGB = BaseColor.extend({\n init: function (r, g, b, a) {\n BaseColor.fn.init.call(this);\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n },\n toHSV: function () {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var v = max;\n var h, s;\n if (delta === 0) {\n return new HSV(0, 0, v, this.a);\n }\n if (max !== 0) {\n s = delta / max;\n if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else {\n h = 4 + (r - g) / delta;\n }\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n } else {\n s = 0;\n h = -1;\n }\n return new HSV(h, s, v, this.a);\n },\n toHSL: function () {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h, s, l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n }\n return new HSL(h * 60, s * 100, l * 100, this.a);\n },\n toBytes: function () {\n return new Bytes(this.r * 255, this.g * 255, this.b * 255, this.a);\n }\n });\n var Bytes = RGB.extend({\n init: function (r, g, b, a) {\n RGB.fn.init.call(this, Math.round(r), Math.round(g), Math.round(b), a);\n },\n toRGB: function () {\n return new RGB(this.r / 255, this.g / 255, this.b / 255, this.a);\n },\n toHSV: function () {\n return this.toRGB().toHSV();\n },\n toHSL: function () {\n return this.toRGB().toHSL();\n },\n toHex: function () {\n return hex(this.r, 2) + hex(this.g, 2) + hex(this.b, 2);\n },\n toBytes: function () {\n return this;\n }\n });\n function hex(n, width, pad) {\n if (pad === void 0) {\n pad = '0';\n }\n var result = n.toString(16);\n while (width > result.length) {\n result = pad + result;\n }\n return result;\n }\n var HSV = BaseColor.extend({\n init: function (h, s, v, a) {\n BaseColor.fn.init.call(this);\n this.h = h;\n this.s = s;\n this.v = v;\n this.a = a;\n },\n toRGB: function () {\n var ref = this;\n var h = ref.h;\n var s = ref.s;\n var v = ref.v;\n var r, g, b;\n if (s === 0) {\n r = g = b = v;\n } else {\n h /= 60;\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n switch (i) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n }\n return new RGB(r, g, b, this.a);\n },\n toHSL: function () {\n return this.toRGB().toHSL();\n },\n toBytes: function () {\n return this.toRGB().toBytes();\n }\n });\n var HSL = BaseColor.extend({\n init: function (h, s, l, a) {\n BaseColor.fn.init.call(this);\n this.h = h;\n this.s = s;\n this.l = l;\n this.a = a;\n },\n toRGB: function () {\n var h = this.h / 360;\n var s = this.s / 100;\n var l = this.l / 100;\n var r, g, b;\n if (s === 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return new RGB(r, g, b, this.a);\n },\n toHSV: function () {\n return this.toRGB().toHSV();\n },\n toBytes: function () {\n return this.toRGB().toBytes();\n }\n });\n function hue2rgb(p, q, s) {\n var t = s;\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n function parseColor(value, safe) {\n var m, ret;\n if (value == null || value === 'none') {\n return null;\n }\n if (value instanceof BaseColor) {\n return value;\n }\n var color = value.toLowerCase();\n if (m = matchNamedColor(color)) {\n if (m[1] === 'transparent') {\n color = new RGB(1, 1, 1, 0);\n } else {\n color = parseColor(namedColors[m[1]], safe);\n }\n color.match = [m[1]];\n return color;\n }\n if (m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\\b/i.exec(color)) {\n ret = new Bytes(parseInt(m[1], 16), parseInt(m[2], 16), parseInt(m[3], 16), 1);\n } else if (m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])\\b/i.exec(color)) {\n ret = new Bytes(parseInt(m[1] + m[1], 16), parseInt(m[2] + m[2], 16), parseInt(m[3] + m[3], 16), 1);\n } else if (m = /^rgb\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/.exec(color)) {\n ret = new Bytes(parseInt(m[1], 10), parseInt(m[2], 10), parseInt(m[3], 10), 1);\n } else if (m = /^rgba\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color)) {\n ret = new Bytes(parseInt(m[1], 10), parseInt(m[2], 10), parseInt(m[3], 10), parseFloat(m[4]));\n } else if (m = /^rgb\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*\\)/.exec(color)) {\n ret = new RGB(parseFloat(m[1]) / 100, parseFloat(m[2]) / 100, parseFloat(m[3]) / 100, 1);\n } else if (m = /^rgba\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color)) {\n ret = new RGB(parseFloat(m[1]) / 100, parseFloat(m[2]) / 100, parseFloat(m[3]) / 100, parseFloat(m[4]));\n }\n if (ret) {\n ret.match = m;\n } else if (!safe) {\n throw new Error('Cannot parse color: ' + color);\n }\n return ret;\n }\n var Color = Class.extend({\n init: function (value) {\n var this$1 = this;\n if (arguments.length === 1) {\n var formats = Color.formats;\n var resolvedColor = this.resolveColor(value);\n for (var idx = 0; idx < formats.length; idx++) {\n var formatRegex = formats[idx].re;\n var processor = formats[idx].process;\n var parts = formatRegex.exec(resolvedColor);\n if (parts) {\n var channels = processor(parts);\n this$1.r = channels[0];\n this$1.g = channels[1];\n this$1.b = channels[2];\n }\n }\n } else {\n this.r = arguments[0];\n this.g = arguments[1];\n this.b = arguments[2];\n }\n this.r = this.normalizeByte(this.r);\n this.g = this.normalizeByte(this.g);\n this.b = this.normalizeByte(this.b);\n },\n toHex: function () {\n var pad = this.padDigit;\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n return '#' + pad(r) + pad(g) + pad(b);\n },\n resolveColor: function (value) {\n var color = value || 'black';\n if (color.charAt(0) === '#') {\n color = color.substr(1, 6);\n }\n color = color.replace(/ /g, '');\n color = color.toLowerCase();\n color = Color.namedColors[color] || color;\n return color;\n },\n normalizeByte: function (value) {\n if (value < 0 || isNaN(value)) {\n return 0;\n }\n return value > 255 ? 255 : value;\n },\n padDigit: function (value) {\n return value.length === 1 ? '0' + value : value;\n },\n brightness: function (value) {\n var round = Math.round;\n this.r = round(this.normalizeByte(this.r * value));\n this.g = round(this.normalizeByte(this.g * value));\n this.b = round(this.normalizeByte(this.b * value));\n return this;\n },\n percBrightness: function () {\n return Math.sqrt(0.241 * this.r * this.r + 0.691 * this.g * this.g + 0.068 * this.b * this.b);\n }\n });\n Color.fromBytes = function (r, g, b, a) {\n return new Bytes(r, g, b, a != null ? a : 1);\n };\n Color.fromRGB = function (r, g, b, a) {\n return new RGB(r, g, b, a != null ? a : 1);\n };\n Color.fromHSV = function (h, s, v, a) {\n return new HSV(h, s, v, a != null ? a : 1);\n };\n Color.fromHSL = function (h, s, l, a) {\n return new HSL(h, s, l, a != null ? a : 1);\n };\n Color.formats = [\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n process: function (parts) {\n return [\n parseInt(parts[1], 10),\n parseInt(parts[2], 10),\n parseInt(parts[3], 10)\n ];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n process: function (parts) {\n return [\n parseInt(parts[1], 16),\n parseInt(parts[2], 16),\n parseInt(parts[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n process: function (parts) {\n return [\n parseInt(parts[1] + parts[1], 16),\n parseInt(parts[2] + parts[2], 16),\n parseInt(parts[3] + parts[3], 16)\n ];\n }\n }\n ];\n Color.namedColors = namedColors;\n kendo.deepExtend(kendo, {\n parseColor: parseColor,\n Color: Color\n });\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.slider', ['kendo.draganddrop'], f);\n}(function () {\n var __meta__ = {\n id: 'slider',\n name: 'Slider',\n category: 'web',\n description: 'The Slider widget provides a rich input for selecting values or ranges of values.',\n depends: ['draganddrop']\n };\n (function ($, undefined) {\n var kendo = window.kendo, Widget = kendo.ui.Widget, Draggable = kendo.ui.Draggable, outerWidth = kendo._outerWidth, outerHeight = kendo._outerHeight, extend = $.extend, format = kendo.format, parse = kendo.parseFloat, proxy = $.proxy, isArray = $.isArray, math = Math, support = kendo.support, pointers = support.pointers, msPointers = support.msPointers, CHANGE = 'change', SLIDE = 'slide', NS = '.slider', MOUSE_DOWN = 'touchstart' + NS + ' mousedown' + NS, TRACK_MOUSE_DOWN = pointers ? 'pointerdown' + NS : msPointers ? 'MSPointerDown' + NS : MOUSE_DOWN, MOUSE_UP = 'touchend' + NS + ' mouseup' + NS, TRACK_MOUSE_UP = pointers ? 'pointerup' : msPointers ? 'MSPointerUp' + NS : MOUSE_UP, MOVE_SELECTION = 'moveSelection', KEY_DOWN = 'keydown' + NS, CLICK = 'click' + NS, MOUSE_OVER = 'mouseover' + NS, FOCUS = 'focus' + NS, BLUR = 'blur' + NS, DRAG_HANDLE = '.k-draghandle', TRACK_SELECTOR = '.k-slider-track', TICK_SELECTOR = '.k-tick', STATE_SELECTED = 'k-state-selected', STATE_FOCUSED = 'k-state-focused', STATE_DEFAULT = 'k-state-default', STATE_DISABLED = 'k-state-disabled', DISABLED = 'disabled', UNDEFINED = 'undefined', TABINDEX = 'tabindex', getTouches = kendo.getTouches;\n var SliderBase = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n options = that.options;\n that._isHorizontal = options.orientation == 'horizontal';\n that._isRtl = that._isHorizontal && kendo.support.isRtl(element);\n that._position = that._isHorizontal ? 'left' : 'bottom';\n that._sizeFn = that._isHorizontal ? 'width' : 'height';\n that._outerSize = that._isHorizontal ? outerWidth : outerHeight;\n options.tooltip.format = options.tooltip.enabled ? options.tooltip.format || '{0}' : '{0}';\n if (options.smallStep <= 0) {\n throw new Error('Kendo UI Slider smallStep must be a positive number.');\n }\n that._createHtml();\n that.wrapper = that.element.closest('.k-slider');\n that._trackDiv = that.wrapper.find(TRACK_SELECTOR);\n that._setTrackDivWidth();\n that._maxSelection = that._trackDiv[that._sizeFn]();\n that._sliderItemsInit();\n that._reset();\n that._tabindex(that.wrapper.find(DRAG_HANDLE));\n that[options.enabled ? 'enable' : 'disable']();\n var rtlDirectionSign = kendo.support.isRtl(that.wrapper) ? -1 : 1;\n that._keyMap = {\n 37: step(-1 * rtlDirectionSign * options.smallStep),\n 40: step(-options.smallStep),\n 39: step(+1 * rtlDirectionSign * options.smallStep),\n 38: step(+options.smallStep),\n 35: setValue(options.max),\n 36: setValue(options.min),\n 33: step(+options.largeStep),\n 34: step(-options.largeStep)\n };\n kendo.notify(that);\n },\n events: [\n CHANGE,\n SLIDE\n ],\n options: {\n enabled: true,\n min: 0,\n max: 10,\n smallStep: 1,\n largeStep: 5,\n orientation: 'horizontal',\n tickPlacement: 'both',\n tooltip: {\n enabled: true,\n format: '{0}'\n }\n },\n _distance: function () {\n return round(this.options.max - this.options.min);\n },\n _resize: function () {\n this._setTrackDivWidth();\n this.wrapper.find('.k-slider-items').remove();\n this._maxSelection = this._trackDiv[this._sizeFn]();\n this._sliderItemsInit();\n this._refresh();\n if (this.options.enabled) {\n this.enable(true);\n }\n },\n _sliderItemsInit: function () {\n var that = this, options = that.options;\n var sizeBetweenTicks = that._maxSelection / ((options.max - options.min) / options.smallStep);\n var pixelWidths = that._calculateItemsWidth(math.floor(removeFraction(that._distance()) / removeFraction(options.smallStep)));\n if (options.tickPlacement != 'none' && sizeBetweenTicks >= 2) {\n $(this.element).parent().find('.k-slider-items').remove();\n that._trackDiv.before(createSliderItems(options, that._distance()));\n that._setItemsWidth(pixelWidths);\n that._setItemsTitle();\n }\n that._calculateSteps(pixelWidths);\n if (options.tickPlacement != 'none' && sizeBetweenTicks >= 2 && options.largeStep >= options.smallStep) {\n that._setItemsLargeTick();\n }\n },\n getSize: function () {\n return kendo.dimensions(this.wrapper);\n },\n _setTrackDivWidth: function () {\n var that = this, trackDivPosition = parseFloat(that._trackDiv.css(that._isRtl ? 'right' : that._position), 10) * 2;\n that._trackDiv[that._sizeFn](that.wrapper[that._sizeFn]() - 2 - trackDivPosition);\n },\n _setItemsWidth: function (pixelWidths) {\n var that = this, options = that.options, first = 0, last = pixelWidths.length - 1, items = that.wrapper.find(TICK_SELECTOR), i, paddingTop = 0, bordersWidth = 2, count = items.length, selection = 0;\n for (i = 0; i < count - 2; i++) {\n $(items[i + 1])[that._sizeFn](pixelWidths[i]);\n }\n if (that._isHorizontal) {\n $(items[first]).addClass('k-first')[that._sizeFn](pixelWidths[last - 1]);\n $(items[last]).addClass('k-last')[that._sizeFn](pixelWidths[last]);\n } else {\n $(items[last]).addClass('k-first')[that._sizeFn](pixelWidths[last]);\n $(items[first]).addClass('k-last')[that._sizeFn](pixelWidths[last - 1]);\n }\n if (that._distance() % options.smallStep !== 0 && !that._isHorizontal) {\n for (i = 0; i < pixelWidths.length; i++) {\n selection += pixelWidths[i];\n }\n paddingTop = that._maxSelection - selection;\n paddingTop += parseFloat(that._trackDiv.css(that._position), 10) + bordersWidth;\n that.wrapper.find('.k-slider-items').css('padding-top', paddingTop);\n }\n },\n _setItemsTitle: function () {\n var that = this, options = that.options, items = that.wrapper.find(TICK_SELECTOR), titleNumber = options.min, count = items.length, i = that._isHorizontal && !that._isRtl ? 0 : count - 1, limit = that._isHorizontal && !that._isRtl ? count : -1, increment = that._isHorizontal && !that._isRtl ? 1 : -1;\n for (; i - limit !== 0; i += increment) {\n $(items[i]).attr('title', format(options.tooltip.format, round(titleNumber)));\n titleNumber += options.smallStep;\n }\n },\n _setItemsLargeTick: function () {\n var that = this, options = that.options, items = that.wrapper.find(TICK_SELECTOR), i = 0, item, value;\n if (removeFraction(options.largeStep) % removeFraction(options.smallStep) === 0 || that._distance() / options.largeStep >= 3) {\n if (!that._isHorizontal && !that._isRtl) {\n items = $.makeArray(items).reverse();\n }\n for (i = 0; i < items.length; i++) {\n item = $(items[i]);\n value = that._values[i];\n var valueWithoutFraction = round(removeFraction(value - this.options.min));\n if (valueWithoutFraction % removeFraction(options.smallStep) === 0 && valueWithoutFraction % removeFraction(options.largeStep) === 0) {\n item.addClass('k-tick-large').html('' + item.attr('title') + '');\n if (i !== 0 && i !== items.length - 1) {\n item.css('line-height', item[that._sizeFn]() + 'px');\n }\n }\n }\n }\n },\n _calculateItemsWidth: function (itemsCount) {\n var that = this, options = that.options, trackDivSize = parseFloat(that._trackDiv.css(that._sizeFn)) + 1, distance = that._distance(), preciseItemsCount = removeFraction(distance) / removeFraction(options.smallStep), pixelStep = trackDivSize / removeFraction(distance), itemWidth, pixelWidths, i;\n if (preciseItemsCount - itemsCount > 0) {\n trackDivSize -= removeFraction(distance) % removeFraction(options.smallStep) * pixelStep;\n }\n itemWidth = trackDivSize / itemsCount;\n pixelWidths = [];\n for (i = 0; i < itemsCount - 1; i++) {\n pixelWidths[i] = itemWidth;\n }\n pixelWidths[itemsCount - 1] = pixelWidths[itemsCount] = itemWidth / 2;\n return that._roundWidths(pixelWidths);\n },\n _roundWidths: function (pixelWidthsArray) {\n var balance = 0, count = pixelWidthsArray.length, i;\n for (i = 0; i < count; i++) {\n balance += pixelWidthsArray[i] - math.floor(pixelWidthsArray[i]);\n pixelWidthsArray[i] = math.floor(pixelWidthsArray[i]);\n }\n balance = math.round(balance);\n return this._addAdditionalSize(balance, pixelWidthsArray);\n },\n _addAdditionalSize: function (additionalSize, pixelWidthsArray) {\n if (additionalSize === 0) {\n return pixelWidthsArray;\n }\n var step = parseFloat(pixelWidthsArray.length - 1) / parseFloat(additionalSize == 1 ? additionalSize : additionalSize - 1), i;\n for (i = 0; i < additionalSize; i++) {\n pixelWidthsArray[parseInt(math.round(step * i), 10)] += 1;\n }\n return pixelWidthsArray;\n },\n _calculateSteps: function (pixelWidths) {\n var that = this, options = that.options, val = options.min, selection = 0, distance = that._distance(), itemsCount = math.ceil(removeFraction(distance) / removeFraction(options.smallStep)), i = 1, lastItem;\n itemsCount += removeFraction(distance) / removeFraction(options.smallStep) % 1 === 0 ? 1 : 0;\n pixelWidths.splice(0, 0, pixelWidths[itemsCount - 2] * 2);\n pixelWidths.splice(itemsCount - 1, 1, pixelWidths.pop() * 2);\n that._pixelSteps = [selection];\n that._values = [val];\n if (itemsCount === 0) {\n return;\n }\n while (i < itemsCount) {\n selection += (pixelWidths[i - 1] + pixelWidths[i]) / 2;\n that._pixelSteps[i] = selection;\n val += options.smallStep;\n that._values[i] = round(val);\n i++;\n }\n lastItem = removeFraction(distance) % removeFraction(options.smallStep) === 0 ? itemsCount - 1 : itemsCount;\n that._pixelSteps[lastItem] = that._maxSelection;\n that._values[lastItem] = options.max;\n if (that._isRtl) {\n that._pixelSteps.reverse();\n that._values.reverse();\n }\n },\n _getValueFromPosition: function (mousePosition, dragableArea) {\n var that = this, options = that.options, step = math.max(options.smallStep * (that._maxSelection / that._distance()), 0), position = 0, halfStep = step / 2, i;\n if (that._isHorizontal) {\n position = mousePosition - dragableArea.startPoint;\n if (that._isRtl) {\n position = that._maxSelection - position;\n }\n } else {\n position = dragableArea.startPoint - mousePosition;\n }\n if (that._maxSelection - (parseInt(that._maxSelection % step, 10) - 3) / 2 < position) {\n return options.max;\n }\n for (i = 0; i < that._pixelSteps.length; i++) {\n if (math.abs(that._pixelSteps[i] - position) - 1 <= halfStep) {\n return round(that._values[i]);\n }\n }\n },\n _getFormattedValue: function (val, drag) {\n var that = this, html = '', tooltip = that.options.tooltip, tooltipTemplate, selectionStart, selectionEnd;\n if (isArray(val)) {\n selectionStart = val[0];\n selectionEnd = val[1];\n } else if (drag && drag.type) {\n selectionStart = drag.selectionStart;\n selectionEnd = drag.selectionEnd;\n }\n if (drag) {\n tooltipTemplate = drag.tooltipTemplate;\n }\n if (!tooltipTemplate && tooltip.template) {\n tooltipTemplate = kendo.template(tooltip.template);\n }\n if (isArray(val) || drag && drag.type) {\n if (tooltipTemplate) {\n html = tooltipTemplate({\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n });\n } else {\n selectionStart = format(tooltip.format, selectionStart);\n selectionEnd = format(tooltip.format, selectionEnd);\n html = selectionStart + ' - ' + selectionEnd;\n }\n } else {\n if (drag) {\n drag.val = val;\n }\n if (tooltipTemplate) {\n html = tooltipTemplate({ value: val });\n } else {\n html = format(tooltip.format, val);\n }\n }\n return html;\n },\n _getDraggableArea: function () {\n var that = this, offset = kendo.getOffset(that._trackDiv);\n return {\n startPoint: that._isHorizontal ? offset.left : offset.top + that._maxSelection,\n endPoint: that._isHorizontal ? offset.left + that._maxSelection : offset.top\n };\n },\n _createHtml: function () {\n var that = this, element = that.element, options = that.options, inputs = element.find('input');\n if (inputs.length == 2) {\n inputs.eq(0).prop('value', formatValue(options.selectionStart));\n inputs.eq(1).prop('value', formatValue(options.selectionEnd));\n } else {\n element.prop('value', formatValue(options.value));\n }\n element.wrap(createWrapper(options, element, that._isHorizontal)).hide();\n if (options.showButtons) {\n element.before(createButton(options, 'increase', that._isHorizontal, that._isRtl)).before(createButton(options, 'decrease', that._isHorizontal, that._isRtl));\n }\n element.before(createTrack(options, element));\n },\n _focus: function (e) {\n var that = this, target = e.target, val = that.value(), drag = that._drag;\n if (!drag) {\n if (target == that.wrapper.find(DRAG_HANDLE).eq(0)[0]) {\n drag = that._firstHandleDrag;\n that._activeHandle = 0;\n } else {\n drag = that._lastHandleDrag;\n that._activeHandle = 1;\n }\n val = val[that._activeHandle];\n }\n $(target).addClass(STATE_FOCUSED + ' ' + STATE_SELECTED);\n if (drag) {\n that._activeHandleDrag = drag;\n drag.selectionStart = that.options.selectionStart;\n drag.selectionEnd = that.options.selectionEnd;\n drag._updateTooltip(val);\n }\n },\n _focusWithMouse: function (target) {\n target = $(target);\n var that = this, idx = target.is(DRAG_HANDLE) ? target.index() : 0;\n window.setTimeout(function () {\n that.wrapper.find(DRAG_HANDLE)[idx == 2 ? 1 : 0].focus();\n }, 1);\n that._setTooltipTimeout();\n },\n _blur: function (e) {\n var that = this, drag = that._activeHandleDrag;\n $(e.target).removeClass(STATE_FOCUSED + ' ' + STATE_SELECTED);\n if (drag) {\n drag._removeTooltip();\n delete that._activeHandleDrag;\n delete that._activeHandle;\n }\n },\n _setTooltipTimeout: function () {\n var that = this;\n that._tooltipTimeout = window.setTimeout(function () {\n var drag = that._drag || that._activeHandleDrag;\n if (drag) {\n drag._removeTooltip();\n }\n }, 300);\n },\n _clearTooltipTimeout: function () {\n var that = this;\n window.clearTimeout(this._tooltipTimeout);\n var drag = that._drag || that._activeHandleDrag;\n if (drag && drag.tooltipDiv) {\n drag.tooltipDiv.stop(true, false).css('opacity', 1);\n }\n },\n _reset: function () {\n var that = this, element = that.element, formId = element.attr('form'), form = formId ? $('#' + formId) : element.closest('form');\n if (form[0]) {\n that._form = form.on('reset', proxy(that._formResetHandler, that));\n }\n },\n min: function (value) {\n if (!value) {\n return this.options.min;\n }\n this.setOptions({ 'min': value });\n },\n max: function (value) {\n if (!value) {\n return this.options.max;\n }\n this.setOptions({ 'max': value });\n },\n setOptions: function (options) {\n Widget.fn.setOptions.call(this, options);\n this._sliderItemsInit();\n this._refresh();\n },\n destroy: function () {\n if (this._form) {\n this._form.off('reset', this._formResetHandler);\n }\n Widget.fn.destroy.call(this);\n }\n });\n function createWrapper(options, element, isHorizontal) {\n var orientationCssClass = isHorizontal ? ' k-slider-horizontal' : ' k-slider-vertical', style = options.style ? options.style : element.attr('style'), cssClasses = element.attr('class') ? ' ' + element.attr('class') : '', tickPlacementCssClass = '';\n if (options.tickPlacement == 'bottomRight') {\n tickPlacementCssClass = ' k-slider-bottomright';\n } else if (options.tickPlacement == 'topLeft') {\n tickPlacementCssClass = ' k-slider-topleft';\n }\n style = style ? ' style=\\'' + style + '\\'' : '';\n return '
      ' + '
      ';\n }\n function createButton(options, type, isHorizontal, isRtl) {\n var buttonCssClass = '';\n if (isHorizontal) {\n if (!isRtl && type == 'increase' || isRtl && type != 'increase') {\n buttonCssClass = 'k-i-arrow-60-right';\n } else {\n buttonCssClass = 'k-i-arrow-60-left';\n }\n } else {\n if (type == 'increase') {\n buttonCssClass = 'k-i-arrow-60-up';\n } else {\n buttonCssClass = 'k-i-arrow-60-down';\n }\n }\n return '' + '';\n }\n function createSliderItems(options, distance) {\n var result = '
        ', count = math.floor(round(distance / options.smallStep)) + 1, i;\n for (i = 0; i < count; i++) {\n result += '
      •  
      • ';\n }\n result += '
      ';\n return result;\n }\n function createTrack(options, element) {\n var dragHandleCount = element.is('input') ? 1 : 2, firstDragHandleTitle = dragHandleCount == 2 ? options.leftDragHandleTitle : options.dragHandleTitle;\n return '';\n }\n function step(stepValue) {\n return function (value) {\n return value + stepValue;\n };\n }\n function setValue(value) {\n return function () {\n return value;\n };\n }\n function formatValue(value) {\n return (value + '').replace('.', kendo.cultures.current.numberFormat['.']);\n }\n function calculatePrecision(value) {\n var number = value.toString();\n var precision = 0;\n number = number.split('.');\n if (number[1]) {\n precision = number[1].length;\n }\n precision = precision > 10 ? 10 : precision;\n return precision;\n }\n function round(value) {\n var precision, power;\n value = parseFloat(value, 10);\n precision = calculatePrecision(value);\n power = math.pow(10, precision || 0);\n return math.round(value * power) / power;\n }\n function parseAttr(element, name) {\n var value = parse(element.getAttribute(name));\n if (value === null) {\n value = undefined;\n }\n return value;\n }\n function defined(value) {\n return typeof value !== UNDEFINED;\n }\n function removeFraction(value) {\n return value * 10000;\n }\n var Slider = SliderBase.extend({\n init: function (element, options) {\n var that = this, dragHandle;\n element.type = 'text';\n options = extend({}, {\n value: parseAttr(element, 'value'),\n min: parseAttr(element, 'min'),\n max: parseAttr(element, 'max'),\n smallStep: parseAttr(element, 'step')\n }, options);\n element = $(element);\n if (options && options.enabled === undefined) {\n options.enabled = !element.is('[disabled]');\n }\n SliderBase.fn.init.call(that, element, options);\n options = that.options;\n if (!defined(options.value) || options.value === null) {\n options.value = options.min;\n element.prop('value', formatValue(options.min));\n }\n options.value = math.max(math.min(options.value, options.max), options.min);\n dragHandle = that.wrapper.find(DRAG_HANDLE);\n this._selection = new Slider.Selection(dragHandle, that, options);\n that._drag = new Slider.Drag(dragHandle, '', that, options);\n },\n options: {\n name: 'Slider',\n showButtons: true,\n increaseButtonTitle: 'Increase',\n decreaseButtonTitle: 'Decrease',\n dragHandleTitle: 'drag',\n tooltip: { format: '{0:#,#.##}' },\n value: null\n },\n enable: function (enable) {\n var that = this, options = that.options, clickHandler, move;\n that.disable();\n if (enable === false) {\n return;\n }\n that.wrapper.removeClass(STATE_DISABLED).addClass(STATE_DEFAULT);\n that.wrapper.find('input').removeAttr(DISABLED);\n clickHandler = function (e) {\n var touch = getTouches(e)[0];\n if (!touch) {\n return;\n }\n var mousePosition = that._isHorizontal ? touch.location.pageX : touch.location.pageY, dragableArea = that._getDraggableArea(), target = $(e.target);\n if (target.hasClass('k-draghandle')) {\n target.addClass(STATE_FOCUSED + ' ' + STATE_SELECTED);\n return;\n }\n that._update(that._getValueFromPosition(mousePosition, dragableArea));\n that._focusWithMouse(e.target);\n that._drag.dragstart(e);\n e.preventDefault();\n };\n that.wrapper.find(TICK_SELECTOR + ', ' + TRACK_SELECTOR).on(TRACK_MOUSE_DOWN, clickHandler).end().on(TRACK_MOUSE_DOWN, function () {\n $(document.documentElement).one('selectstart', kendo.preventDefault);\n }).on(TRACK_MOUSE_UP, function () {\n that._drag._end();\n });\n that.wrapper.find(DRAG_HANDLE).attr(TABINDEX, 0).on(MOUSE_UP, function () {\n that._setTooltipTimeout();\n }).on(CLICK, function (e) {\n that._focusWithMouse(e.target);\n e.preventDefault();\n }).on(FOCUS, proxy(that._focus, that)).on(BLUR, proxy(that._blur, that));\n move = proxy(function (sign) {\n var newVal = that._nextValueByIndex(that._valueIndex + sign * 1);\n that._setValueInRange(newVal);\n that._drag._updateTooltip(newVal);\n }, that);\n if (options.showButtons) {\n var mouseDownHandler = proxy(function (e, sign) {\n this._clearTooltipTimeout();\n if (e.which === 1 || support.touch && e.which === 0) {\n move(sign);\n this.timeout = setTimeout(proxy(function () {\n this.timer = setInterval(function () {\n move(sign);\n }, 60);\n }, this), 200);\n }\n }, that);\n that.wrapper.find('.k-button').on(MOUSE_UP, proxy(function (e) {\n this._clearTimer();\n that._focusWithMouse(e.target);\n }, that)).on(MOUSE_OVER, function (e) {\n $(e.currentTarget).addClass('k-state-hover');\n }).on('mouseout' + NS, proxy(function (e) {\n $(e.currentTarget).removeClass('k-state-hover');\n this._clearTimer();\n }, that)).eq(0).on(MOUSE_DOWN, proxy(function (e) {\n mouseDownHandler(e, 1);\n }, that)).click(false).end().eq(1).on(MOUSE_DOWN, proxy(function (e) {\n mouseDownHandler(e, -1);\n }, that)).click(kendo.preventDefault);\n }\n that.wrapper.find(DRAG_HANDLE).off(KEY_DOWN, false).on(KEY_DOWN, proxy(this._keydown, that));\n options.enabled = true;\n },\n disable: function () {\n var that = this;\n that.wrapper.removeClass(STATE_DEFAULT).addClass(STATE_DISABLED);\n $(that.element).prop(DISABLED, DISABLED);\n that.wrapper.find('.k-button').off(MOUSE_DOWN).on(MOUSE_DOWN, function (e) {\n e.preventDefault();\n $(this).addClass('k-state-active');\n }).off(MOUSE_UP).on(MOUSE_UP, function (e) {\n e.preventDefault();\n $(this).removeClass('k-state-active');\n }).off('mouseleave' + NS).on('mouseleave' + NS, kendo.preventDefault).off(MOUSE_OVER).on(MOUSE_OVER, kendo.preventDefault);\n that.wrapper.find(TICK_SELECTOR + ', ' + TRACK_SELECTOR).off(TRACK_MOUSE_DOWN).off(TRACK_MOUSE_UP);\n that.wrapper.find(DRAG_HANDLE).attr(TABINDEX, -1).off(MOUSE_UP).off(KEY_DOWN).off(CLICK).off(FOCUS).off(BLUR);\n that.options.enabled = false;\n },\n _update: function (val) {\n var that = this, change = that.value() != val;\n that.value(val);\n if (change) {\n that.trigger(CHANGE, { value: that.options.value });\n }\n },\n value: function (value) {\n var that = this, options = that.options;\n value = round(value);\n if (isNaN(value)) {\n return options.value;\n }\n if (value >= options.min && value <= options.max) {\n if (options.value != value) {\n that.element.prop('value', formatValue(value));\n options.value = value;\n that._refreshAriaAttr(value);\n that._refresh();\n }\n }\n },\n _refresh: function () {\n this.trigger(MOVE_SELECTION, { value: this.options.value });\n },\n _refreshAriaAttr: function (value) {\n var that = this, drag = that._drag, formattedValue;\n if (drag && drag._tooltipDiv) {\n formattedValue = drag._tooltipDiv.text();\n } else {\n formattedValue = that._getFormattedValue(value, null);\n }\n this.wrapper.find(DRAG_HANDLE).attr('aria-valuenow', value).attr('aria-valuetext', formattedValue);\n },\n _clearTimer: function () {\n clearTimeout(this.timeout);\n clearInterval(this.timer);\n },\n _keydown: function (e) {\n var that = this;\n if (e.keyCode in that._keyMap) {\n that._clearTooltipTimeout();\n that._setValueInRange(that._keyMap[e.keyCode](that.options.value));\n that._drag._updateTooltip(that.value());\n e.preventDefault();\n }\n },\n _setValueInRange: function (val) {\n var that = this, options = that.options;\n val = round(val);\n if (isNaN(val)) {\n that._update(options.min);\n return;\n }\n val = math.max(math.min(val, options.max), options.min);\n that._update(val);\n },\n _nextValueByIndex: function (index) {\n var count = this._values.length;\n if (this._isRtl) {\n index = count - 1 - index;\n }\n return this._values[math.max(0, math.min(index, count - 1))];\n },\n _formResetHandler: function () {\n var that = this, min = that.options.min;\n setTimeout(function () {\n var value = that.element[0].value;\n that.value(value === '' || isNaN(value) ? min : value);\n });\n },\n destroy: function () {\n var that = this;\n SliderBase.fn.destroy.call(that);\n that.wrapper.off(NS).find('.k-button').off(NS).end().find(DRAG_HANDLE).off(NS).end().find(TICK_SELECTOR + ', ' + TRACK_SELECTOR).off(NS).end();\n that._drag.draggable.destroy();\n that._drag._removeTooltip(true);\n }\n });\n Slider.Selection = function (dragHandle, that, options) {\n function moveSelection(val) {\n var selectionValue = val - options.min, index = that._valueIndex = math.ceil(round(selectionValue / options.smallStep)), selection = parseInt(that._pixelSteps[index], 10), selectionDiv = that._trackDiv.find('.k-slider-selection'), halfDragHanndle = parseInt(that._outerSize(dragHandle) / 2, 10), rtlCorrection = that._isRtl ? 2 : 0;\n selectionDiv[that._sizeFn](that._isRtl ? that._maxSelection - selection : selection);\n dragHandle.css(that._position, selection - halfDragHanndle - rtlCorrection);\n }\n moveSelection(options.value);\n that.bind([\n SLIDE,\n MOVE_SELECTION\n ], function (e) {\n moveSelection(parseFloat(e.value, 10));\n });\n that.bind(CHANGE, function (e) {\n moveSelection(parseFloat(e.sender.value(), 10));\n });\n };\n Slider.Drag = function (element, type, owner, options) {\n var that = this;\n that.owner = owner;\n that.options = options;\n that.element = element;\n that.type = type;\n that.draggable = new Draggable(element, {\n distance: 0,\n dragstart: proxy(that._dragstart, that),\n drag: proxy(that.drag, that),\n dragend: proxy(that.dragend, that),\n dragcancel: proxy(that.dragcancel, that)\n });\n element.click(false);\n element.on('dragstart', function (e) {\n e.preventDefault();\n });\n };\n Slider.Drag.prototype = {\n dragstart: function (e) {\n this.owner._activeDragHandle = this;\n this.draggable.userEvents.cancel();\n this._dragstart(e);\n this.dragend();\n },\n _dragstart: function (e) {\n var that = this, owner = that.owner, options = that.options;\n if (!options.enabled) {\n e.preventDefault();\n return;\n }\n this.owner._activeDragHandle = this;\n owner.element.off(MOUSE_OVER);\n owner.wrapper.find('.' + STATE_FOCUSED).removeClass(STATE_FOCUSED + ' ' + STATE_SELECTED);\n that.element.addClass(STATE_FOCUSED + ' ' + STATE_SELECTED);\n $(document.documentElement).css('cursor', 'pointer');\n that.dragableArea = owner._getDraggableArea();\n that.step = math.max(options.smallStep * (owner._maxSelection / owner._distance()), 0);\n if (that.type) {\n that.selectionStart = options.selectionStart;\n that.selectionEnd = options.selectionEnd;\n owner._setZIndex(that.type);\n } else {\n that.oldVal = that.val = options.value;\n }\n that._removeTooltip(true);\n that._createTooltip();\n },\n _createTooltip: function () {\n var that = this, owner = that.owner, tooltip = that.options.tooltip, html = '', wnd = $(window), tooltipTemplate, colloutCssClass;\n if (!tooltip.enabled) {\n return;\n }\n if (tooltip.template) {\n tooltipTemplate = that.tooltipTemplate = kendo.template(tooltip.template);\n }\n $('.k-slider-tooltip').remove();\n that.tooltipDiv = $('
      ').appendTo(document.body);\n html = owner._getFormattedValue(that.val || owner.value(), that);\n if (!that.type) {\n colloutCssClass = 'k-callout-' + (owner._isHorizontal ? 's' : 'e');\n that.tooltipInnerDiv = '
      ';\n html += that.tooltipInnerDiv;\n }\n that.tooltipDiv.html(html);\n that._scrollOffset = {\n top: wnd.scrollTop(),\n left: wnd.scrollLeft()\n };\n that.moveTooltip();\n },\n drag: function (e) {\n var that = this, owner = that.owner, x = e.x.location, y = e.y.location, startPoint = that.dragableArea.startPoint, endPoint = that.dragableArea.endPoint, slideParams;\n e.preventDefault();\n if (owner._isHorizontal) {\n if (owner._isRtl) {\n that.val = that.constrainValue(x, startPoint, endPoint, x < endPoint);\n } else {\n that.val = that.constrainValue(x, startPoint, endPoint, x >= endPoint);\n }\n } else {\n that.val = that.constrainValue(y, endPoint, startPoint, y <= endPoint);\n }\n if (that.oldVal != that.val) {\n that.oldVal = that.val;\n if (that.type) {\n if (that.type == 'firstHandle') {\n if (that.val < that.selectionEnd) {\n that.selectionStart = that.val;\n } else {\n that.selectionStart = that.selectionEnd = that.val;\n }\n } else {\n if (that.val > that.selectionStart) {\n that.selectionEnd = that.val;\n } else {\n that.selectionStart = that.selectionEnd = that.val;\n }\n }\n slideParams = {\n values: [\n that.selectionStart,\n that.selectionEnd\n ],\n value: [\n that.selectionStart,\n that.selectionEnd\n ]\n };\n } else {\n slideParams = { value: that.val };\n }\n owner.trigger(SLIDE, slideParams);\n }\n that._updateTooltip(that.val);\n },\n _updateTooltip: function (val) {\n var that = this, options = that.options, tooltip = options.tooltip, html = '';\n if (!tooltip.enabled) {\n return;\n }\n if (!that.tooltipDiv) {\n that._createTooltip();\n }\n html = that.owner._getFormattedValue(round(val), that);\n if (!that.type) {\n html += that.tooltipInnerDiv;\n }\n that.tooltipDiv.html(html);\n that.moveTooltip();\n },\n dragcancel: function () {\n this.owner._refresh();\n $(document.documentElement).css('cursor', '');\n return this._end();\n },\n dragend: function () {\n var that = this, owner = that.owner;\n $(document.documentElement).css('cursor', '');\n if (that.type) {\n owner._update(that.selectionStart, that.selectionEnd);\n } else {\n owner._update(that.val);\n that.draggable.userEvents._disposeAll();\n }\n that.draggable.userEvents.cancel();\n return that._end();\n },\n _end: function () {\n var that = this, owner = that.owner;\n owner._focusWithMouse(that.element);\n owner.element.on(MOUSE_OVER);\n return false;\n },\n _removeTooltip: function (noAnimation) {\n var that = this, owner = that.owner;\n if (that.tooltipDiv && owner.options.tooltip.enabled && owner.options.enabled) {\n if (noAnimation) {\n that.tooltipDiv.remove();\n that.tooltipDiv = null;\n } else {\n that.tooltipDiv.fadeOut('slow', function () {\n $(this).remove();\n that.tooltipDiv = null;\n });\n }\n }\n },\n moveTooltip: function () {\n var that = this, owner = that.owner, top = 0, left = 0, element = that.element, offset = kendo.getOffset(element), margin = 8, viewport = $(window), callout = that.tooltipDiv.find('.k-callout'), width = outerWidth(that.tooltipDiv), height = outerHeight(that.tooltipDiv), dragHandles, sdhOffset, diff, anchorSize;\n if (that.type) {\n dragHandles = owner.wrapper.find(DRAG_HANDLE);\n offset = kendo.getOffset(dragHandles.eq(0));\n sdhOffset = kendo.getOffset(dragHandles.eq(1));\n if (owner._isHorizontal) {\n top = sdhOffset.top;\n left = offset.left + (sdhOffset.left - offset.left) / 2;\n } else {\n top = offset.top + (sdhOffset.top - offset.top) / 2;\n left = sdhOffset.left;\n }\n anchorSize = outerWidth(dragHandles.eq(0)) + 2 * margin;\n } else {\n top = offset.top;\n left = offset.left;\n anchorSize = outerWidth(element) + 2 * margin;\n }\n if (owner._isHorizontal) {\n left -= parseInt((width - owner._outerSize(element)) / 2, 10);\n top -= height + margin + (callout.length ? callout.height() : 0);\n } else {\n top -= parseInt((height - owner._outerSize(element)) / 2, 10);\n left -= width + margin + (callout.length ? callout.width() : 0);\n }\n if (owner._isHorizontal) {\n diff = that._flip(top, height, anchorSize, outerHeight(viewport) + that._scrollOffset.top);\n top += diff;\n left += that._fit(left, width, outerWidth(viewport) + that._scrollOffset.left);\n } else {\n diff = that._flip(left, width, anchorSize, outerWidth(viewport) + that._scrollOffset.left);\n top += that._fit(top, height, outerHeight(viewport) + that._scrollOffset.top);\n left += diff;\n }\n if (diff > 0 && callout) {\n callout.removeClass();\n callout.addClass('k-callout k-callout-' + (owner._isHorizontal ? 'n' : 'w'));\n }\n that.tooltipDiv.css({\n top: top,\n left: left\n });\n },\n _fit: function (position, size, viewPortEnd) {\n var output = 0;\n if (position + size > viewPortEnd) {\n output = viewPortEnd - (position + size);\n }\n if (position < 0) {\n output = -position;\n }\n return output;\n },\n _flip: function (offset, size, anchorSize, viewPortEnd) {\n var output = 0;\n if (offset + size > viewPortEnd) {\n output += -(anchorSize + size);\n }\n if (offset + output < 0) {\n output += anchorSize + size;\n }\n return output;\n },\n constrainValue: function (position, min, max, maxOverflow) {\n var that = this, val = 0;\n if (min < position && position < max) {\n val = that.owner._getValueFromPosition(position, that.dragableArea);\n } else {\n if (maxOverflow) {\n val = that.options.max;\n } else {\n val = that.options.min;\n }\n }\n return val;\n }\n };\n kendo.ui.plugin(Slider);\n var RangeSlider = SliderBase.extend({\n init: function (element, options) {\n var that = this, inputs = $(element).find('input'), firstInput = inputs.eq(0)[0], secondInput = inputs.eq(1)[0];\n firstInput.type = 'text';\n secondInput.type = 'text';\n if (options && options.showButtons) {\n if (window.console) {\n window.console.warn('showbuttons option is not supported for the range slider, ignoring');\n }\n options.showButtons = false;\n }\n options = extend({}, {\n selectionStart: parseAttr(firstInput, 'value'),\n min: parseAttr(firstInput, 'min'),\n max: parseAttr(firstInput, 'max'),\n smallStep: parseAttr(firstInput, 'step')\n }, {\n selectionEnd: parseAttr(secondInput, 'value'),\n min: parseAttr(secondInput, 'min'),\n max: parseAttr(secondInput, 'max'),\n smallStep: parseAttr(secondInput, 'step')\n }, options);\n if (options && options.enabled === undefined) {\n options.enabled = !inputs.is('[disabled]');\n }\n SliderBase.fn.init.call(that, element, options);\n options = that.options;\n if (!defined(options.selectionStart) || options.selectionStart === null) {\n options.selectionStart = options.min;\n inputs.eq(0).prop('value', formatValue(options.min));\n }\n if (!defined(options.selectionEnd) || options.selectionEnd === null) {\n options.selectionEnd = options.max;\n inputs.eq(1).prop('value', formatValue(options.max));\n }\n var dragHandles = that.wrapper.find(DRAG_HANDLE);\n this._selection = new RangeSlider.Selection(dragHandles, that, options);\n that._firstHandleDrag = new Slider.Drag(dragHandles.eq(0), 'firstHandle', that, options);\n that._lastHandleDrag = new Slider.Drag(dragHandles.eq(1), 'lastHandle', that, options);\n },\n options: {\n name: 'RangeSlider',\n leftDragHandleTitle: 'drag',\n rightDragHandleTitle: 'drag',\n tooltip: { format: '{0:#,#.##}' },\n selectionStart: null,\n selectionEnd: null\n },\n enable: function (enable) {\n var that = this, options = that.options, clickHandler;\n that.disable();\n if (enable === false) {\n return;\n }\n that.wrapper.removeClass(STATE_DISABLED).addClass(STATE_DEFAULT);\n that.wrapper.find('input').removeAttr(DISABLED);\n clickHandler = function (e) {\n var touch = getTouches(e)[0];\n if (!touch) {\n return;\n }\n var mousePosition = that._isHorizontal ? touch.location.pageX : touch.location.pageY, dragableArea = that._getDraggableArea(), val = that._getValueFromPosition(mousePosition, dragableArea), target = $(e.target), from, to, drag;\n if (target.hasClass('k-draghandle')) {\n that.wrapper.find('.' + STATE_FOCUSED).removeClass(STATE_FOCUSED + ' ' + STATE_SELECTED);\n target.addClass(STATE_FOCUSED + ' ' + STATE_SELECTED);\n return;\n }\n if (val < options.selectionStart) {\n from = val;\n to = options.selectionEnd;\n drag = that._firstHandleDrag;\n } else if (val > that.selectionEnd) {\n from = options.selectionStart;\n to = val;\n drag = that._lastHandleDrag;\n } else {\n if (val - options.selectionStart <= options.selectionEnd - val) {\n from = val;\n to = options.selectionEnd;\n drag = that._firstHandleDrag;\n } else {\n from = options.selectionStart;\n to = val;\n drag = that._lastHandleDrag;\n }\n }\n drag.dragstart(e);\n that._setValueInRange(from, to);\n that._focusWithMouse(drag.element);\n };\n that.wrapper.find(TICK_SELECTOR + ', ' + TRACK_SELECTOR).on(TRACK_MOUSE_DOWN, clickHandler).end().on(TRACK_MOUSE_DOWN, function () {\n $(document.documentElement).one('selectstart', kendo.preventDefault);\n }).on(TRACK_MOUSE_UP, function () {\n if (that._activeDragHandle) {\n that._activeDragHandle._end();\n }\n });\n that.wrapper.find(DRAG_HANDLE).attr(TABINDEX, 0).on(MOUSE_UP, function () {\n that._setTooltipTimeout();\n }).on(CLICK, function (e) {\n that._focusWithMouse(e.target);\n e.preventDefault();\n }).on(FOCUS, proxy(that._focus, that)).on(BLUR, proxy(that._blur, that));\n that.wrapper.find(DRAG_HANDLE).off(KEY_DOWN, kendo.preventDefault).eq(0).on(KEY_DOWN, proxy(function (e) {\n this._keydown(e, 'firstHandle');\n }, that)).end().eq(1).on(KEY_DOWN, proxy(function (e) {\n this._keydown(e, 'lastHandle');\n }, that));\n that.options.enabled = true;\n },\n disable: function () {\n var that = this;\n that.wrapper.removeClass(STATE_DEFAULT).addClass(STATE_DISABLED);\n that.wrapper.find('input').prop(DISABLED, DISABLED);\n that.wrapper.find(TICK_SELECTOR + ', ' + TRACK_SELECTOR).off(TRACK_MOUSE_DOWN).off(TRACK_MOUSE_UP);\n that.wrapper.find(DRAG_HANDLE).attr(TABINDEX, -1).off(MOUSE_UP).off(KEY_DOWN).off(CLICK).off(FOCUS).off(BLUR);\n that.options.enabled = false;\n },\n _keydown: function (e, handle) {\n var that = this, selectionStartValue = that.options.selectionStart, selectionEndValue = that.options.selectionEnd, dragSelectionStart, dragSelectionEnd, activeHandleDrag;\n if (e.keyCode in that._keyMap) {\n that._clearTooltipTimeout();\n if (handle == 'firstHandle') {\n activeHandleDrag = that._activeHandleDrag = that._firstHandleDrag;\n selectionStartValue = that._keyMap[e.keyCode](selectionStartValue);\n if (selectionStartValue > selectionEndValue) {\n selectionEndValue = selectionStartValue;\n }\n } else {\n activeHandleDrag = that._activeHandleDrag = that._lastHandleDrag;\n selectionEndValue = that._keyMap[e.keyCode](selectionEndValue);\n if (selectionStartValue > selectionEndValue) {\n selectionStartValue = selectionEndValue;\n }\n }\n that._setValueInRange(round(selectionStartValue), round(selectionEndValue));\n dragSelectionStart = Math.max(selectionStartValue, that.options.selectionStart);\n dragSelectionEnd = Math.min(selectionEndValue, that.options.selectionEnd);\n activeHandleDrag.selectionEnd = Math.max(dragSelectionEnd, that.options.selectionStart);\n activeHandleDrag.selectionStart = Math.min(dragSelectionStart, that.options.selectionEnd);\n activeHandleDrag._updateTooltip(that.value()[that._activeHandle]);\n e.preventDefault();\n }\n },\n _update: function (selectionStart, selectionEnd) {\n var that = this, values = that.value();\n var change = values[0] != selectionStart || values[1] != selectionEnd;\n that.value([\n selectionStart,\n selectionEnd\n ]);\n if (change) {\n that.trigger(CHANGE, {\n values: [\n selectionStart,\n selectionEnd\n ],\n value: [\n selectionStart,\n selectionEnd\n ]\n });\n }\n },\n value: function (value) {\n if (value && value.length) {\n return this._value(value[0], value[1]);\n } else {\n return this._value();\n }\n },\n _value: function (start, end) {\n var that = this, options = that.options, selectionStart = options.selectionStart, selectionEnd = options.selectionEnd;\n if (isNaN(start) && isNaN(end)) {\n return [\n selectionStart,\n selectionEnd\n ];\n } else {\n start = round(start);\n end = round(end);\n }\n if (start >= options.min && start <= options.max && end >= options.min && end <= options.max && start <= end) {\n if (selectionStart != start || selectionEnd != end) {\n that.element.find('input').eq(0).prop('value', formatValue(start)).end().eq(1).prop('value', formatValue(end));\n options.selectionStart = start;\n options.selectionEnd = end;\n that._refresh();\n that._refreshAriaAttr(start, end);\n }\n }\n },\n values: function (start, end) {\n if (isArray(start)) {\n return this._value(start[0], start[1]);\n } else {\n return this._value(start, end);\n }\n },\n _refresh: function () {\n var that = this, options = that.options;\n that.trigger(MOVE_SELECTION, {\n values: [\n options.selectionStart,\n options.selectionEnd\n ],\n value: [\n options.selectionStart,\n options.selectionEnd\n ]\n });\n if (options.selectionStart == options.max && options.selectionEnd == options.max) {\n that._setZIndex('firstHandle');\n }\n },\n _refreshAriaAttr: function (start, end) {\n var that = this, dragHandles = that.wrapper.find(DRAG_HANDLE), drag = that._activeHandleDrag, formattedValue;\n formattedValue = that._getFormattedValue([\n start,\n end\n ], drag);\n dragHandles.eq(0).attr('aria-valuenow', start);\n dragHandles.eq(1).attr('aria-valuenow', end);\n dragHandles.attr('aria-valuetext', formattedValue);\n },\n _setValueInRange: function (selectionStart, selectionEnd) {\n var options = this.options;\n selectionStart = math.max(math.min(selectionStart, options.max), options.min);\n selectionEnd = math.max(math.min(selectionEnd, options.max), options.min);\n if (selectionStart == options.max && selectionEnd == options.max) {\n this._setZIndex('firstHandle');\n }\n this._update(math.min(selectionStart, selectionEnd), math.max(selectionStart, selectionEnd));\n },\n _setZIndex: function (type) {\n this.wrapper.find(DRAG_HANDLE).each(function (index) {\n $(this).css('z-index', type == 'firstHandle' ? 1 - index : index);\n });\n },\n _formResetHandler: function () {\n var that = this, options = that.options;\n setTimeout(function () {\n var inputs = that.element.find('input');\n var start = inputs[0].value;\n var end = inputs[1].value;\n that.values(start === '' || isNaN(start) ? options.min : start, end === '' || isNaN(end) ? options.max : end);\n });\n },\n destroy: function () {\n var that = this;\n SliderBase.fn.destroy.call(that);\n that.wrapper.off(NS).find(TICK_SELECTOR + ', ' + TRACK_SELECTOR).off(NS).end().find(DRAG_HANDLE).off(NS);\n that._firstHandleDrag.draggable.destroy();\n that._lastHandleDrag.draggable.destroy();\n }\n });\n RangeSlider.Selection = function (dragHandles, that, options) {\n function moveSelection(value) {\n value = value || [];\n var selectionStartValue = value[0] - options.min, selectionEndValue = value[1] - options.min, selectionStartIndex = math.ceil(round(selectionStartValue / options.smallStep)), selectionEndIndex = math.ceil(round(selectionEndValue / options.smallStep)), selectionStart = that._pixelSteps[selectionStartIndex], selectionEnd = that._pixelSteps[selectionEndIndex], halfHandle = parseInt(that._outerSize(dragHandles.eq(0)) / 2, 10), rtlCorrection = that._isRtl ? 2 : 0;\n dragHandles.eq(0).css(that._position, selectionStart - halfHandle - rtlCorrection).end().eq(1).css(that._position, selectionEnd - halfHandle - rtlCorrection);\n makeSelection(selectionStart, selectionEnd);\n }\n function makeSelection(selectionStart, selectionEnd) {\n var selection, selectionPosition, selectionDiv = that._trackDiv.find('.k-slider-selection');\n selection = math.abs(selectionStart - selectionEnd);\n selectionDiv[that._sizeFn](selection);\n if (that._isRtl) {\n selectionPosition = math.max(selectionStart, selectionEnd);\n selectionDiv.css('right', that._maxSelection - selectionPosition - 1);\n } else {\n selectionPosition = math.min(selectionStart, selectionEnd);\n selectionDiv.css(that._position, selectionPosition - 1);\n }\n }\n moveSelection(that.value());\n that.bind([\n CHANGE,\n SLIDE,\n MOVE_SELECTION\n ], function (e) {\n moveSelection(e.values);\n });\n };\n kendo.ui.plugin(RangeSlider);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.badge', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'badge',\n name: 'Badge',\n category: 'web',\n description: 'The Badge decorates avatars, navigation menus, or other components in the application when visual notification is needed',\n depends: ['core']\n };\n (function ($, undefined) {\n var kendo = window.kendo;\n var Widget = kendo.ui.Widget;\n var ui = kendo.ui;\n var HIDDEN = 'k-hidden';\n var iconTemplate = '';\n var svgIconTemplate = '#= icon #';\n var Badge = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n that._deprecated();\n that._content();\n that._appearance();\n kendo.notify(that);\n },\n destroy: function () {\n var that = this;\n Widget.fn.destroy.call(that);\n },\n options: {\n name: 'Badge',\n badgeStyle: 'solid',\n color: 'secondary',\n cutoutBorder: false,\n data: {},\n icon: '',\n max: Infinity,\n placement: 'edge',\n position: 'inline',\n sizes: {\n 'small': 'sm',\n 'medium': '',\n 'large': 'lg'\n },\n size: 'medium',\n shape: 'rounded',\n template: null,\n text: '',\n visible: true,\n _classNames: []\n },\n _deprecated: function () {\n var that = this;\n var options = that.options;\n if (options.text === '' && options.value !== '' && options.value !== undefined) {\n options.text = options.value;\n }\n if (options.color === 'secondary' && typeof options.type === 'string' && options.type !== '') {\n options.color = options.type;\n }\n if (options.shape === 'rounded' && typeof options.appearance === 'string' && options.appearance !== '') {\n options.shape = options.appearance;\n }\n if (options.badgeStyle === 'solid' && typeof options.look === 'string' && options.look !== '') {\n options.badgeStyle = options.look;\n }\n if (options.position === 'inline' && typeof options.overlay === 'boolean' && options.overlay === true) {\n options.position = 'top end';\n }\n },\n _content: function () {\n var that = this;\n var text = that.options.text;\n var template = that.options.template;\n var data = that.options.data;\n var icon = that.options.icon;\n if (template !== null) {\n that._text = text;\n that._template = kendo.template(template).bind(that);\n that.element.html(that._template(data));\n return;\n }\n if (icon !== '') {\n that.icon(icon);\n return;\n }\n if (text !== '') {\n that.text(text);\n return;\n }\n that.text(that.element.html());\n },\n _appearance: function () {\n var that = this;\n that._color = that.options.color;\n that._shape = that.options.shape;\n that._sizes = that.options.sizes;\n that._size = that.options.size;\n that._badgeStyle = that.options.badgeStyle;\n that._cutoutBorder = that.options.cutoutBorder;\n that._placement = that.options.placement;\n that._position = that.options.position;\n that._visible = that.options.visible;\n that._updateClassNames();\n },\n _updateClassNames: function () {\n var that = this;\n var classNames = ['k-badge'];\n var keepClassNames = that.options._classNames;\n var color = that._color;\n var shape = that._shape;\n var sizes = that._sizes;\n var size = that._size;\n var sizeAbbr = sizes[size] === undefined ? size : sizes[size];\n var sizeSuffix = '';\n var badgeStyle = that._badgeStyle;\n var badgeStyleInfix = '';\n var cutoutBorder = this._cutoutBorder;\n var placement = that._placement;\n var placementInfix = '';\n var position = this._position.toLowerCase();\n var positions;\n var visible = that._visible;\n that.element.removeClass(function (index, className) {\n if (className.indexOf('k-') === 0 && keepClassNames.indexOf(className) === -1) {\n that.element.removeClass(className);\n }\n });\n if (typeof badgeStyle === 'string' && badgeStyle !== '' && badgeStyle !== 'solid') {\n classNames.push('k-badge-' + badgeStyle);\n badgeStyleInfix = badgeStyle + '-';\n }\n if (typeof color === 'string' && color !== '' && color !== 'inherit') {\n classNames.push('k-badge-' + badgeStyleInfix + color);\n }\n if (typeof size === 'string' && size !== '' && size !== 'medium' && sizeAbbr !== '') {\n classNames.push('k-badge-' + sizeAbbr);\n sizeSuffix = '-' + sizeAbbr;\n }\n if (typeof shape === 'string' && shape !== '' && shape !== 'rectangle') {\n classNames.push('k-badge-' + shape);\n if (sizeSuffix !== '') {\n classNames.push('k-badge-' + shape + sizeSuffix);\n }\n }\n if (typeof cutoutBorder === 'boolean' && cutoutBorder === true) {\n classNames.push('k-badge-border-cutout');\n }\n if (typeof placement === 'string' && placement !== '' && placement !== 'edge') {\n placementInfix = placement + '-';\n }\n if (typeof position === 'string' && position.split(' ').length == 2) {\n positions = position.split(' ');\n classNames.push('k-badge-' + placementInfix + positions[0] + '-' + positions[1]);\n }\n if (visible === false) {\n classNames.push(HIDDEN);\n }\n that.element.addClass(classNames.join(' '));\n },\n setOptions: function (options) {\n var that = this;\n that.element.removeClass(function (index, className) {\n if (className.indexOf('k-') >= 0) {\n that.element.removeClass(className);\n }\n });\n Widget.fn.setOptions.call(that, options);\n that._deprecated();\n that._content();\n that._appearance();\n },\n text: function (text) {\n var that = this;\n var max = that.options.max;\n if (arguments.length === 0 || text === undefined) {\n return that._text;\n }\n that._text = text;\n if (text === true || text === false || text === null) {\n that.element.html('');\n return;\n }\n if (typeof text === 'string') {\n that.element.html(text);\n return;\n }\n if (typeof text === 'number') {\n if (text > max) {\n that.element.html(max + '+');\n } else {\n that.element.html(text);\n }\n return;\n }\n if (typeof text === 'object' && 'toString' in text) {\n that.element.html(text.toString());\n return;\n }\n },\n icon: function (icon) {\n var that = this;\n var iconTemplateFunction;\n if (arguments.length === 0 || icon === undefined) {\n return that._icon;\n }\n that._icon = icon;\n if (icon.indexOf(' 0) {\n isEmpty = false;\n }\n });\n if (isEmpty) {\n element.addClass(KBUTTONICON);\n } else {\n element.addClass(KBUTTONICONTEXT);\n }\n }\n if (imageUrl) {\n img = element.children('img.k-image').first();\n if (!img[0]) {\n img = $('\"icon\"').prependTo(element);\n }\n img.attr('src', imageUrl);\n } else if (icon || iconClass) {\n span = element.children('span.k-icon').first();\n if (!span[0]) {\n span = $('').prependTo(element);\n }\n span.attr('class', icon ? 'k-icon k-i-' + icon : iconClass);\n } else if (spriteCssClass) {\n span = element.children('span.k-sprite').first();\n if (!span[0]) {\n span = $('').prependTo(element);\n }\n span.addClass(spriteCssClass);\n }\n },\n enable: function (enable) {\n var that = this, element = that.element;\n if (enable === undefined) {\n enable = true;\n }\n enable = !!enable;\n that.options.enable = enable;\n element.toggleClass(DISABLEDSTATE, !enable).attr('aria-disabled', !enable).attr(DISABLED, !enable);\n if (enable) {\n that._tabindex();\n }\n try {\n element.blur();\n } catch (err) {\n }\n },\n _badge: function () {\n var that = this;\n var badgeOptions = that.options.badge;\n var badgeEelement;\n if (badgeOptions === null || badgeOptions === undefined) {\n return;\n }\n if (badgeOptions.constructor !== Object) {\n badgeOptions = { text: badgeOptions };\n }\n if (badgeOptions.position === undefined || badgeOptions.position === '') {\n badgeOptions.position = 'top end';\n }\n badgeOptions._classNames = ['k-button-badge'];\n that.element.addClass('k-badge-container');\n badgeEelement = $('').appendTo(that.element);\n that.badge = new ui.Badge(badgeEelement, badgeOptions);\n }\n });\n if (Button.fn.hasOwnProperty('defaults') === false) {\n Object.defineProperty(Button.fn, 'defaults', {\n get: function () {\n return kendo.defaults.button;\n }\n });\n }\n kendo.ui.plugin(Button);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.colorpicker', [\n 'kendo.core',\n 'kendo.color',\n 'kendo.popup',\n 'kendo.slider',\n 'kendo.userevents',\n 'kendo.button'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'colorpicker',\n name: 'Color tools',\n category: 'web',\n description: 'Color selection widgets',\n depends: [\n 'core',\n 'color',\n 'popup',\n 'slider',\n 'userevents',\n 'button'\n ]\n };\n (function ($, parseInt, undefined) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, parseColor = kendo.parseColor, Color = kendo.Color, KEYS = kendo.keys, BACKGROUNDCOLOR = 'background-color', ITEMSELECTEDCLASS = 'k-state-selected', SIMPLEPALETTE = '000000,7f7f7f,880015,ed1c24,ff7f27,fff200,22b14c,00a2e8,3f48cc,a349a4,ffffff,c3c3c3,b97a57,ffaec9,ffc90e,efe4b0,b5e61d,99d9ea,7092be,c8bfe7', WEBPALETTE = 'FFFFFF,FFCCFF,FF99FF,FF66FF,FF33FF,FF00FF,CCFFFF,CCCCFF,CC99FF,CC66FF,CC33FF,CC00FF,99FFFF,99CCFF,9999FF,9966FF,9933FF,9900FF,FFFFCC,FFCCCC,FF99CC,FF66CC,FF33CC,FF00CC,CCFFCC,CCCCCC,CC99CC,CC66CC,CC33CC,CC00CC,99FFCC,99CCCC,9999CC,9966CC,9933CC,9900CC,FFFF99,FFCC99,FF9999,FF6699,FF3399,FF0099,CCFF99,CCCC99,CC9999,CC6699,CC3399,CC0099,99FF99,99CC99,999999,996699,993399,990099,FFFF66,FFCC66,FF9966,FF6666,FF3366,FF0066,CCFF66,CCCC66,CC9966,CC6666,CC3366,CC0066,99FF66,99CC66,999966,996666,993366,990066,FFFF33,FFCC33,FF9933,FF6633,FF3333,FF0033,CCFF33,CCCC33,CC9933,CC6633,CC3333,CC0033,99FF33,99CC33,999933,996633,993333,990033,FFFF00,FFCC00,FF9900,FF6600,FF3300,FF0000,CCFF00,CCCC00,CC9900,CC6600,CC3300,CC0000,99FF00,99CC00,999900,996600,993300,990000,66FFFF,66CCFF,6699FF,6666FF,6633FF,6600FF,33FFFF,33CCFF,3399FF,3366FF,3333FF,3300FF,00FFFF,00CCFF,0099FF,0066FF,0033FF,0000FF,66FFCC,66CCCC,6699CC,6666CC,6633CC,6600CC,33FFCC,33CCCC,3399CC,3366CC,3333CC,3300CC,00FFCC,00CCCC,0099CC,0066CC,0033CC,0000CC,66FF99,66CC99,669999,666699,663399,660099,33FF99,33CC99,339999,336699,333399,330099,00FF99,00CC99,009999,006699,003399,000099,66FF66,66CC66,669966,666666,663366,660066,33FF66,33CC66,339966,336666,333366,330066,00FF66,00CC66,009966,006666,003366,000066,66FF33,66CC33,669933,666633,663333,660033,33FF33,33CC33,339933,336633,333333,330033,00FF33,00CC33,009933,006633,003333,000033,66FF00,66CC00,669900,666600,663300,660000,33FF00,33CC00,339900,336600,333300,330000,00FF00,00CC00,009900,006600,003300,000000', WHITE = '#ffffff', MESSAGES = {\n apply: 'Apply',\n cancel: 'Cancel',\n noColor: 'no color',\n clearColor: 'Clear color',\n previewInput: 'Color Hexadecimal Code'\n }, NS = '.kendoColorTools', CLICK_NS = 'click' + NS, KEYDOWN_NS = 'keydown' + NS, DISABLED = 'k-state-disabled', browser = kendo.support.browser, isIE8 = browser.msie && browser.version < 9;\n var ColorSelector = Widget.extend({\n init: function (element, options) {\n var that = this, ariaId;\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n that._value = options.value = parseColor(options.value);\n that._tabIndex = element.attr('tabIndex') || 0;\n ariaId = that._ariaId = options.ariaId;\n if (ariaId) {\n element.attr('aria-labelledby', ariaId);\n }\n if (options._standalone) {\n that._triggerSelect = that._triggerChange;\n }\n },\n options: {\n name: 'ColorSelector',\n value: null,\n _standalone: true\n },\n events: [\n 'change',\n 'select',\n 'cancel'\n ],\n color: function (value) {\n if (value !== undefined) {\n this._value = parseColor(value);\n this._updateUI(this._value);\n }\n return this._value;\n },\n value: function (color) {\n color = this.color(color);\n if (color) {\n if (this.options.opacity) {\n color = color.toCssRgba();\n } else {\n color = color.toCss();\n }\n }\n return color || null;\n },\n enable: function (enable) {\n if (arguments.length === 0) {\n enable = true;\n }\n this.wrapper.toggleClass(DISABLED, !enable);\n this._onEnable(enable);\n },\n _select: function (color, nohooks) {\n var prev = this._value;\n color = this.color(color);\n if (!nohooks) {\n this.element.trigger('change');\n if (!color.equals(prev)) {\n this.trigger('change', { value: this.value() });\n } else if (!this._standalone) {\n this.trigger('cancel');\n }\n }\n },\n _triggerSelect: function (color) {\n triggerEvent(this, 'select', color);\n },\n _triggerChange: function (color) {\n triggerEvent(this, 'change', color);\n },\n destroy: function () {\n if (this.element) {\n this.element.off(NS);\n }\n if (this.wrapper) {\n this.wrapper.off(NS).find('*').off(NS);\n }\n this.wrapper = null;\n Widget.fn.destroy.call(this);\n },\n _updateUI: $.noop,\n _selectOnHide: function () {\n return null;\n },\n _cancel: function () {\n this.trigger('cancel');\n }\n });\n function triggerEvent(self, type, color) {\n color = parseColor(color);\n if (color && !color.equals(self.color())) {\n if (type == 'change') {\n self._value = color;\n }\n if (color.a != 1) {\n color = color.toCssRgba();\n } else {\n color = color.toCss();\n }\n self.trigger(type, { value: color });\n }\n }\n var ColorPalette = ColorSelector.extend({\n init: function (element, options) {\n var that = this;\n ColorSelector.fn.init.call(that, element, options);\n element = that.wrapper = that.element;\n options = that.options;\n var colors = options.palette;\n if (colors == 'websafe') {\n colors = WEBPALETTE;\n options.columns = 18;\n } else if (colors == 'basic') {\n colors = SIMPLEPALETTE;\n }\n if (typeof colors == 'string') {\n colors = colors.split(',');\n }\n if ($.isArray(colors)) {\n colors = $.map(colors, function (x) {\n return parseColor(x);\n });\n }\n that._selectedID = (options.ariaId || kendo.guid()) + '_selected';\n element.addClass('k-widget k-colorpalette').attr('role', 'grid').attr('aria-readonly', 'true').append($(that._template({\n colors: colors,\n columns: options.columns,\n tileSize: options.tileSize,\n value: that._value,\n id: options.ariaId\n }))).on(CLICK_NS, '.k-item', function (ev) {\n that._select($(ev.currentTarget).css(BACKGROUNDCOLOR));\n }).attr('tabIndex', that._tabIndex).on(KEYDOWN_NS, bind(that._keydown, that));\n var tileSize = options.tileSize, width, height;\n if (tileSize) {\n if (/number|string/.test(typeof tileSize)) {\n width = height = parseFloat(tileSize);\n } else if (typeof tileSize == 'object') {\n width = parseFloat(tileSize.width);\n height = parseFloat(tileSize.height);\n } else {\n throw new Error('Unsupported value for the \\'tileSize\\' argument');\n }\n element.find('.k-item').css({\n width: width,\n height: height\n });\n }\n },\n focus: function () {\n if (this.wrapper && !this.wrapper.is('[unselectable=\\'on\\']')) {\n this.wrapper.focus();\n }\n },\n options: {\n name: 'ColorPalette',\n columns: 10,\n tileSize: null,\n palette: 'basic'\n },\n _onEnable: function (enable) {\n if (enable) {\n this.wrapper.attr('tabIndex', this._tabIndex);\n } else {\n this.wrapper.removeAttr('tabIndex');\n }\n },\n _keydown: function (e) {\n var selected, wrapper = this.wrapper, items = wrapper.find('.k-item'), current = items.filter('.' + ITEMSELECTEDCLASS).get(0), keyCode = e.keyCode;\n if (keyCode == KEYS.LEFT) {\n selected = relative(items, current, -1);\n } else if (keyCode == KEYS.RIGHT) {\n selected = relative(items, current, 1);\n } else if (keyCode == KEYS.DOWN) {\n selected = relative(items, current, this.options.columns);\n } else if (keyCode == KEYS.UP) {\n selected = relative(items, current, -this.options.columns);\n } else if (keyCode == KEYS.ENTER) {\n preventDefault(e);\n if (current) {\n this._select($(current).css(BACKGROUNDCOLOR));\n }\n } else if (keyCode == KEYS.ESC) {\n this._cancel();\n }\n if (selected) {\n preventDefault(e);\n this._current(selected);\n try {\n var color = parseColor(selected.css(BACKGROUNDCOLOR));\n this._triggerSelect(color);\n } catch (ex) {\n }\n }\n },\n _current: function (item) {\n this.wrapper.find('.' + ITEMSELECTEDCLASS).removeClass(ITEMSELECTEDCLASS).attr('aria-selected', false).removeAttr('id');\n $(item).addClass(ITEMSELECTEDCLASS).attr('aria-selected', true).attr('id', this._selectedID);\n this.element.removeAttr('aria-activedescendant').attr('aria-activedescendant', this._selectedID);\n },\n _updateUI: function (color) {\n var item = null;\n this.wrapper.find('.k-item').each(function () {\n var c = parseColor($(this).css(BACKGROUNDCOLOR));\n if (c && c.equals(color)) {\n item = this;\n return false;\n }\n });\n this._current(item);\n },\n _template: kendo.template('' + '# for (var i = 0; i < colors.length; ++i) { #' + '# var selected = colors[i].equals(value); #' + '# if (i && i % columns == 0) { # # } #' + '' + '# } #' + '
      ')\n });\n var FlatColorPicker = ColorSelector.extend({\n init: function (element, options) {\n var that = this;\n ColorSelector.fn.init.call(that, element, options);\n options = that.options;\n options.messages = options.options ? $.extend(that.options.messages, options.options.messages) : that.options.messages;\n element = that.element;\n that.wrapper = element.addClass('k-widget k-flatcolorpicker').append(that._template(options));\n that._hueElements = $('.k-hsv-rectangle, .k-alpha-slider .k-slider-track', element);\n that._selectedColor = $('.k-selected-color-display', element);\n that._colorAsText = $('input.k-color-value', element);\n that._sliders();\n that._hsvArea();\n that._updateUI(that._value || parseColor('#f00'));\n element.find('input.k-color-value').on(KEYDOWN_NS, function (ev) {\n var input = this;\n if (ev.keyCode == KEYS.ENTER) {\n try {\n var color = parseColor(input.value);\n var val = that.color();\n that._select(color, color.equals(val));\n } catch (ex) {\n $(input).addClass('k-state-error');\n }\n } else if (that.options.autoupdate) {\n setTimeout(function () {\n var color = parseColor(input.value, true);\n if (color) {\n that._updateUI(color, true);\n }\n }, 10);\n }\n }).end().on(CLICK_NS, '.k-controls button.apply', function () {\n if (that.options._clearedColor) {\n that.trigger('change');\n } else {\n that._select(that._getHSV());\n }\n }).on(CLICK_NS, '.k-controls button.cancel', function () {\n that._updateUI(that.color());\n that._cancel();\n });\n if (isIE8) {\n that._applyIEFilter();\n }\n },\n destroy: function () {\n this._hsvEvents.destroy();\n this._hueSlider.destroy();\n if (this._opacitySlider) {\n this._opacitySlider.destroy();\n }\n this._hueSlider = this._opacitySlider = this._hsvRect = this._hsvHandle = this._hueElements = this._selectedColor = this._colorAsText = null;\n ColorSelector.fn.destroy.call(this);\n },\n options: {\n name: 'FlatColorPicker',\n opacity: false,\n buttons: false,\n input: true,\n preview: true,\n clearButton: false,\n autoupdate: true,\n messages: MESSAGES\n },\n _applyIEFilter: function () {\n var track = this.element.find('.k-hue-slider .k-slider-track')[0], url = track.currentStyle.backgroundImage;\n url = url.replace(/^url\\([\\'\\\"]?|[\\'\\\"]?\\)$/g, '');\n track.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\\'' + url + '\\', sizingMethod=\\'scale\\')';\n },\n _sliders: function () {\n var that = this, element = that.element, hueSlider = element.find('.k-hue-slider'), opacitySlider = element.find('.k-alpha-slider');\n function hueChange(e) {\n that._updateUI(that._getHSV(e.value, null, null, null));\n }\n hueSlider.attr('aria-label', 'hue saturation');\n that._hueSlider = hueSlider.kendoSlider({\n min: 0,\n max: 360,\n tickPlacement: 'none',\n showButtons: false,\n slide: hueChange,\n change: hueChange\n }).data('kendoSlider');\n function opacityChange(e) {\n that._updateUI(that._getHSV(null, null, null, e.value / 100));\n }\n opacitySlider.attr('aria-label', 'opacity');\n that._opacitySlider = opacitySlider.kendoSlider({\n min: 0,\n max: 100,\n tickPlacement: 'none',\n showButtons: false,\n slide: opacityChange,\n change: opacityChange\n }).data('kendoSlider');\n },\n _hsvArea: function () {\n var that = this, element = that.element, hsvRect = element.find('.k-hsv-rectangle'), hsvHandle = hsvRect.find('.k-draghandle').attr('tabIndex', 0).on(KEYDOWN_NS, bind(that._keydown, that));\n function update(x, y) {\n var offset = this.offset, dx = x - offset.left, dy = y - offset.top, rw = this.width, rh = this.height;\n dx = dx < 0 ? 0 : dx > rw ? rw : dx;\n dy = dy < 0 ? 0 : dy > rh ? rh : dy;\n that._svChange(dx / rw, 1 - dy / rh);\n }\n that._hsvEvents = new kendo.UserEvents(hsvRect, {\n global: true,\n press: function (e) {\n this.offset = kendo.getOffset(hsvRect);\n this.width = hsvRect.width();\n this.height = hsvRect.height();\n hsvHandle.focus();\n update.call(this, e.x.location, e.y.location);\n },\n start: function () {\n hsvRect.addClass('k-dragging');\n hsvHandle.focus();\n },\n move: function (e) {\n e.preventDefault();\n update.call(this, e.x.location, e.y.location);\n },\n end: function () {\n hsvRect.removeClass('k-dragging');\n }\n });\n that._hsvRect = hsvRect;\n that._hsvHandle = hsvHandle;\n },\n _onEnable: function (enable) {\n this._hueSlider.enable(enable);\n if (this._opacitySlider) {\n this._opacitySlider.enable(enable);\n }\n this.wrapper.find('input').attr('disabled', !enable);\n var handle = this._hsvRect.find('.k-draghandle');\n if (enable) {\n handle.attr('tabIndex', this._tabIndex);\n } else {\n handle.removeAttr('tabIndex');\n }\n },\n _keydown: function (ev) {\n var that = this;\n function move(prop, d) {\n var c = that._getHSV();\n c[prop] += d * (ev.shiftKey ? 0.01 : 0.05);\n if (c[prop] < 0) {\n c[prop] = 0;\n }\n if (c[prop] > 1) {\n c[prop] = 1;\n }\n that._updateUI(c);\n preventDefault(ev);\n }\n function hue(d) {\n var c = that._getHSV();\n c.h += d * (ev.shiftKey ? 1 : 5);\n if (c.h < 0) {\n c.h = 0;\n }\n if (c.h > 359) {\n c.h = 359;\n }\n that._updateUI(c);\n preventDefault(ev);\n }\n switch (ev.keyCode) {\n case KEYS.LEFT:\n if (ev.ctrlKey) {\n hue(-1);\n } else {\n move('s', -1);\n }\n break;\n case KEYS.RIGHT:\n if (ev.ctrlKey) {\n hue(1);\n } else {\n move('s', 1);\n }\n break;\n case KEYS.UP:\n move(ev.ctrlKey && that._opacitySlider ? 'a' : 'v', 1);\n break;\n case KEYS.DOWN:\n move(ev.ctrlKey && that._opacitySlider ? 'a' : 'v', -1);\n break;\n case KEYS.ENTER:\n that._select(that._getHSV());\n break;\n case KEYS.F2:\n that.wrapper.find('input.k-color-value').focus().select();\n break;\n case KEYS.ESC:\n that._cancel();\n break;\n }\n },\n focus: function () {\n this._hsvHandle.focus();\n },\n _getHSV: function (h, s, v, a) {\n var rect = this._hsvRect, width = rect.width(), height = rect.height(), handlePosition = this._hsvHandle.position();\n if (h == null) {\n h = this._hueSlider.value();\n }\n if (s == null) {\n s = handlePosition.left / width;\n }\n if (v == null) {\n v = 1 - handlePosition.top / height;\n }\n if (a == null) {\n a = this._opacitySlider ? this._opacitySlider.value() / 100 : 1;\n }\n return Color.fromHSV(h, s, v, a);\n },\n _svChange: function (s, v) {\n var color = this._getHSV(null, s, v, null);\n this._updateUI(color);\n },\n _updateUI: function (color, dontChangeInput) {\n var that = this, rect = that._hsvRect;\n if (!color) {\n return;\n }\n this._colorAsText.attr('title', that.options.messages.previewInput);\n this._colorAsText.removeClass('k-state-error');\n that._selectedColor.css(BACKGROUNDCOLOR, color.toDisplay());\n if (!dontChangeInput) {\n that._colorAsText.val(that._opacitySlider ? color.toCssRgba() : color.toCss());\n }\n that._triggerSelect(color);\n color = color.toHSV();\n that._hsvHandle.css({\n left: color.s * rect.width() + 'px',\n top: (1 - color.v) * rect.height() + 'px'\n });\n that._hueElements.css(BACKGROUNDCOLOR, Color.fromHSV(color.h, 1, 1, 1).toCss());\n that._hueSlider.value(color.h);\n if (that._opacitySlider) {\n that._opacitySlider.value(100 * color.a);\n }\n },\n _selectOnHide: function () {\n return this.options.buttons ? null : this._getHSV();\n },\n _template: kendo.template('# if (preview) { #' + '
      ' + '# if (clearButton && !_standalone) { #' + '' + '# } #' + '
      ' + '# } #' + '# if (clearButton && !_standalone && !preview) { #' + '
      #: messages.clearColor #
      ' + '# } #' + '
      ' + '
      ' + '' + '# if (opacity) { #' + '' + '# } #' + '
      ' + '# if (buttons) { #' + '
      ' + '# } #')\n });\n function relative(array, element, delta) {\n array = Array.prototype.slice.call(array);\n var n = array.length;\n var pos = array.indexOf(element);\n if (pos < 0) {\n return delta < 0 ? array[n - 1] : array[0];\n }\n pos += delta;\n if (pos < 0) {\n pos += n;\n } else {\n pos %= n;\n }\n return array[pos];\n }\n var ColorPicker = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n options = that.options;\n element = that.element;\n var value = element.attr('value') || element.val();\n if (value) {\n value = parseColor(value, true);\n } else {\n value = parseColor(options.value, true);\n }\n that._value = options.value = value;\n var content = that.wrapper = $(that._template(options));\n element.hide().after(content);\n that._inputWrapper = $(that.wrapper[0].firstChild);\n if (element.is('input')) {\n element.appendTo(content);\n var label = element.closest('label');\n var id = element.attr('id');\n if (id) {\n label = label.add('label[for=\"' + id + '\"]');\n }\n label.click(function (ev) {\n that.open();\n ev.preventDefault();\n });\n }\n that._tabIndex = element.attr('tabIndex') || 0;\n that.enable(!element.attr('disabled'));\n var accesskey = element.attr('accesskey');\n if (accesskey) {\n element.attr('accesskey', null);\n content.attr('accesskey', accesskey);\n }\n that.bind('activate', function (ev) {\n if (!ev.isDefaultPrevented()) {\n that.toggle();\n }\n });\n that._updateUI(value);\n },\n destroy: function () {\n this.wrapper.off(NS).find('*').off(NS);\n if (this._popup) {\n this._selector.destroy();\n this._popup.destroy();\n }\n this._selector = this._popup = this.wrapper = null;\n Widget.fn.destroy.call(this);\n },\n enable: function (enable) {\n var that = this, wrapper = that.wrapper, innerWrapper = wrapper.children('.k-picker-wrap'), arrow = innerWrapper.find('.k-select');\n if (arguments.length === 0) {\n enable = true;\n }\n that.element.attr('disabled', !enable);\n wrapper.attr('aria-disabled', !enable);\n arrow.off(NS).on('mousedown' + NS, preventDefault);\n wrapper.addClass('k-state-disabled').removeAttr('tabIndex').add('*', wrapper).off(NS);\n if (enable) {\n wrapper.removeClass('k-state-disabled').attr('tabIndex', that._tabIndex).on('mouseenter' + NS, function () {\n innerWrapper.addClass('k-state-hover');\n }).on('mouseleave' + NS, function () {\n innerWrapper.removeClass('k-state-hover');\n }).on('focus' + NS, function () {\n innerWrapper.addClass('k-state-focused');\n }).on('blur' + NS, function () {\n innerWrapper.removeClass('k-state-focused');\n }).on(KEYDOWN_NS, bind(that._keydown, that)).on(CLICK_NS, '.k-select', bind(that.toggle, that)).on(CLICK_NS, that.options.toolIcon ? '.k-tool-icon' : '.k-selected-color', function () {\n that.trigger('activate');\n });\n } else {\n that.close();\n }\n },\n _template: kendo.template('' + '' + '# if (toolIcon) { #' + '' + '' + '' + '# } else { #' + '' + '# } #' + '' + '' + '' + '' + ''),\n options: {\n name: 'ColorPicker',\n palette: null,\n columns: 10,\n toolIcon: null,\n value: null,\n messages: MESSAGES,\n opacity: false,\n buttons: true,\n preview: true,\n clearButton: false,\n ARIATemplate: 'Current selected color is #=data || \"\"#'\n },\n events: [\n 'activate',\n 'change',\n 'select',\n 'open',\n 'close'\n ],\n open: function () {\n if (!this.element.prop('disabled')) {\n this._getPopup().open();\n }\n },\n close: function () {\n var selOptions = this._selector && this._selector.options || {};\n selOptions._closing = true;\n this._getPopup().close();\n delete selOptions._closing;\n },\n toggle: function () {\n if (!this.element.prop('disabled')) {\n this._getPopup().toggle();\n }\n },\n _noColorIcon: function () {\n return this.wrapper.find('.k-picker-wrap > .k-selected-color > .k-icon.k-i-line');\n },\n color: ColorSelector.fn.color,\n value: ColorSelector.fn.value,\n _select: ColorSelector.fn._select,\n _triggerSelect: ColorSelector.fn._triggerSelect,\n _isInputTypeColor: function () {\n var el = this.element[0];\n return /^input$/i.test(el.tagName) && /^color$/i.test(el.type);\n },\n _updateUI: function (value) {\n var formattedValue = '';\n if (value) {\n if (this._isInputTypeColor() || value.a == 1) {\n formattedValue = value.toCss();\n } else {\n formattedValue = value.toCssRgba();\n }\n this.element.val(formattedValue);\n }\n if (!this._ariaTemplate) {\n this._ariaTemplate = kendo.template(this.options.ARIATemplate);\n }\n this.wrapper.attr('aria-label', this._ariaTemplate(formattedValue));\n this._triggerSelect(value);\n this.wrapper.find('.k-selected-color').css(BACKGROUNDCOLOR, value ? value.toDisplay() : WHITE);\n this._noColorIcon()[formattedValue ? 'hide' : 'show']();\n },\n _keydown: function (ev) {\n var key = ev.keyCode;\n if (this._getPopup().visible()) {\n if (key == KEYS.ESC) {\n this._selector._cancel();\n } else {\n this._selector._keydown(ev);\n }\n preventDefault(ev);\n } else if (key == KEYS.ENTER || key == KEYS.DOWN) {\n this.open();\n preventDefault(ev);\n }\n },\n _getPopup: function () {\n var that = this, popup = that._popup;\n if (!popup) {\n var options = that.options;\n var selectorType;\n if (options.palette) {\n selectorType = ColorPalette;\n } else {\n selectorType = FlatColorPicker;\n }\n options._standalone = false;\n delete options.select;\n delete options.change;\n delete options.cancel;\n var id = kendo.guid();\n var selector = that._selector = new selectorType($('
      ').appendTo(document.body), options);\n that.wrapper.attr('aria-owns', id);\n that._popup = popup = selector.wrapper.kendoPopup({\n anchor: that.wrapper,\n adjustSize: {\n width: 5,\n height: 0\n }\n }).data('kendoPopup');\n selector.element.find('.k-clear-color').kendoButton({\n icon: 'reset-color',\n click: function (e) {\n selector.options._clearedColor = true;\n that.value(null);\n that.element.val(null);\n that._updateUI(null);\n selector._colorAsText.val('');\n selector._hsvHandle.css({\n top: '0px',\n left: '0px'\n });\n selector._selectedColor.css(BACKGROUNDCOLOR, WHITE);\n that.trigger('change', { value: that.value() });\n e.preventDefault();\n }\n });\n selector.bind({\n select: function (ev) {\n that._updateUI(parseColor(ev.value));\n delete selector.options._clearedColor;\n },\n change: function () {\n if (!selector.options._clearedColor) {\n that._select(selector.color());\n }\n that.close();\n },\n cancel: function () {\n if (selector.options._clearedColor && !that.value() && selector.value()) {\n that._select(selector.color(), true);\n }\n that.close();\n }\n });\n popup.bind({\n close: function (ev) {\n if (that.trigger('close')) {\n ev.preventDefault();\n return;\n }\n that.wrapper.children('.k-picker-wrap').removeClass('k-state-focused');\n var color = selector._selectOnHide();\n var selectorColor = selector.value();\n var value = that.value();\n var options = selector.options;\n if (!color) {\n setTimeout(function () {\n if (that.wrapper && !that.wrapper.is('[unselectable=\\'on\\']')) {\n that.wrapper.focus();\n }\n });\n if (!options._closing && options._clearedColor && !value && selectorColor) {\n that._select(selectorColor, true);\n } else {\n that._updateUI(that.color());\n }\n } else if (!(options._clearedColor && !value)) {\n that._select(color);\n }\n },\n open: function (ev) {\n if (that.trigger('open')) {\n ev.preventDefault();\n } else {\n that.wrapper.children('.k-picker-wrap').addClass('k-state-focused');\n }\n },\n activate: function () {\n selector._select(that.color(), true);\n selector.focus();\n that.wrapper.children('.k-picker-wrap').addClass('k-state-focused');\n }\n });\n }\n return popup;\n }\n });\n function preventDefault(ev) {\n ev.preventDefault();\n }\n function bind(callback, obj) {\n return function () {\n return callback.apply(obj, arguments);\n };\n }\n ui.plugin(ColorPalette);\n ui.plugin(FlatColorPicker);\n ui.plugin(ColorPicker);\n }(jQuery, parseInt));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.selectable', [\n 'kendo.core',\n 'kendo.userevents'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'selectable',\n name: 'Selectable',\n category: 'framework',\n depends: [\n 'core',\n 'userevents'\n ],\n advanced: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, Widget = kendo.ui.Widget, proxy = $.proxy, abs = Math.abs, ARIASELECTED = 'aria-selected', SELECTED = 'k-state-selected', ACTIVE = 'k-state-selecting', SELECTABLE = 'k-selectable', CHANGE = 'change', NS = '.kendoSelectable', UNSELECT = 'unselect', UNSELECTING = 'k-state-unselecting', INPUTSELECTOR = 'input,a,textarea,.k-multiselect-wrap,select,button,.k-button>span,.k-button>img,span.k-icon.k-i-arrow-60-down,span.k-icon.k-i-arrow-60-up,label.k-checkbox-label.k-no-text,.k-icon.k-i-collapse,.k-icon.k-i-expand,span.k-numeric-wrap,.k-focusable', msie = kendo.support.browser.msie, supportEventDelegation = false;\n (function ($) {\n (function () {\n $('
      ').on('click', '>*', function () {\n supportEventDelegation = true;\n }).find('span').trigger('click').end().off();\n }());\n }($));\n var Selectable = Widget.extend({\n init: function (element, options) {\n var that = this, multiple;\n Widget.fn.init.call(that, element, options);\n that._marquee = $('
      ');\n that._lastActive = null;\n that.element.addClass(SELECTABLE);\n that.relatedTarget = that.options.relatedTarget;\n multiple = that.options.multiple;\n if (this.options.aria && multiple) {\n that.element.attr('aria-multiselectable', true);\n }\n that.userEvents = new kendo.UserEvents(that.element, {\n global: true,\n allowSelection: true,\n filter: (!supportEventDelegation ? '.' + SELECTABLE + ' ' : '') + that.options.filter,\n tap: proxy(that._tap, that),\n touchAction: multiple ? 'none' : 'pan-x pan-y'\n });\n if (multiple) {\n that.userEvents.bind('start', proxy(that._start, that)).bind('move', proxy(that._move, that)).bind('end', proxy(that._end, that)).bind('select', proxy(that._select, that));\n }\n },\n events: [\n CHANGE,\n UNSELECT\n ],\n options: {\n name: 'Selectable',\n filter: '>*',\n inputSelectors: INPUTSELECTOR,\n multiple: false,\n relatedTarget: $.noop\n },\n _isElement: function (target) {\n var elements = this.element;\n var idx, length = elements.length, result = false;\n target = target[0];\n for (idx = 0; idx < length; idx++) {\n if (elements[idx] === target) {\n result = true;\n break;\n }\n }\n return result;\n },\n _tap: function (e) {\n var target = $(e.target), that = this, ctrlKey = e.event.ctrlKey || e.event.metaKey, multiple = that.options.multiple, shiftKey = multiple && e.event.shiftKey, selected, whichCode = e.event.which, buttonCode = e.event.button;\n if (!that._isElement(target.closest('.' + SELECTABLE)) || whichCode && whichCode == 3 || buttonCode && buttonCode == 2) {\n return;\n }\n if (!this._allowSelection(e.event.target)) {\n return;\n }\n selected = target.hasClass(SELECTED);\n if (!multiple || !ctrlKey) {\n that.clear();\n }\n target = target.add(that.relatedTarget(target));\n if (shiftKey) {\n that.selectRange(that._firstSelectee(), target, e);\n } else {\n if (selected && ctrlKey) {\n that._unselect(target);\n that._notify(CHANGE, e);\n } else {\n that.value(target, e);\n }\n that._lastActive = that._downTarget = target;\n }\n },\n _start: function (e) {\n var that = this, target = $(e.target), selected = target.hasClass(SELECTED), currentElement, ctrlKey = e.event.ctrlKey || e.event.metaKey;\n if (!this._allowSelection(e.event.target)) {\n return;\n }\n that._downTarget = target;\n if (!that._isElement(target.closest('.' + SELECTABLE))) {\n that.userEvents.cancel();\n return;\n }\n if (that.options.useAllItems) {\n that._items = that.element.find(that.options.filter);\n } else {\n currentElement = target.closest(that.element);\n that._items = currentElement.find(that.options.filter);\n }\n e.sender.capture();\n that._marquee.appendTo(document.body).css({\n left: e.x.client + 1,\n top: e.y.client + 1,\n width: 0,\n height: 0\n });\n if (!ctrlKey) {\n that.clear();\n }\n target = target.add(that.relatedTarget(target));\n if (selected) {\n that._selectElement(target, true);\n if (ctrlKey) {\n target.addClass(UNSELECTING);\n }\n }\n },\n _move: function (e) {\n var that = this, position = {\n left: e.x.startLocation > e.x.location ? e.x.location : e.x.startLocation,\n top: e.y.startLocation > e.y.location ? e.y.location : e.y.startLocation,\n width: abs(e.x.initialDelta),\n height: abs(e.y.initialDelta)\n };\n that._marquee.css(position);\n that._invalidateSelectables(position, e.event.ctrlKey || e.event.metaKey);\n e.preventDefault();\n },\n _end: function (e) {\n var that = this;\n that._marquee.remove();\n that._unselect(that.element.find(that.options.filter + '.' + UNSELECTING)).removeClass(UNSELECTING);\n var target = that.element.find(that.options.filter + '.' + ACTIVE);\n target = target.add(that.relatedTarget(target));\n that.value(target, e);\n that._lastActive = that._downTarget;\n that._items = null;\n },\n _invalidateSelectables: function (position, ctrlKey) {\n var idx, length, target = this._downTarget[0], items = this._items, related, toSelect;\n for (idx = 0, length = items.length; idx < length; idx++) {\n toSelect = items.eq(idx);\n related = toSelect.add(this.relatedTarget(toSelect));\n if (collision(toSelect, position)) {\n if (toSelect.hasClass(SELECTED)) {\n if (ctrlKey && target !== toSelect[0]) {\n related.removeClass(SELECTED).addClass(UNSELECTING);\n }\n } else if (!toSelect.hasClass(ACTIVE) && !toSelect.hasClass(UNSELECTING)) {\n related.addClass(ACTIVE);\n }\n } else {\n if (toSelect.hasClass(ACTIVE)) {\n related.removeClass(ACTIVE);\n } else if (ctrlKey && toSelect.hasClass(UNSELECTING)) {\n related.removeClass(UNSELECTING).addClass(SELECTED);\n }\n }\n }\n },\n value: function (val, e) {\n var that = this, selectElement = proxy(that._selectElement, that);\n if (val) {\n val.each(function () {\n selectElement(this);\n });\n that._notify(CHANGE, e);\n return;\n }\n return that.element.find(that.options.filter + '.' + SELECTED);\n },\n _firstSelectee: function () {\n var that = this, selected;\n if (that._lastActive !== null) {\n return that._lastActive;\n }\n selected = that.value();\n return selected.length > 0 ? selected[0] : that.element.find(that.options.filter)[0];\n },\n _selectElement: function (element, preventNotify) {\n var toSelect = $(element), isPrevented = !preventNotify && this._notify('select', { element: element });\n toSelect.removeClass(ACTIVE);\n if (!isPrevented) {\n toSelect.addClass(SELECTED);\n if (this.options.aria) {\n toSelect.attr(ARIASELECTED, true);\n }\n }\n },\n _notify: function (name, args) {\n args = args || {};\n return this.trigger(name, args);\n },\n _unselect: function (element) {\n if (this.trigger(UNSELECT, { element: element })) {\n return;\n }\n element.removeClass(SELECTED);\n if (this.options.aria) {\n element.attr(ARIASELECTED, false);\n }\n return element;\n },\n _select: function (e) {\n if (this._allowSelection(e.event.target)) {\n if (!msie || msie && !$(kendo._activeElement()).is(this.options.inputSelectors)) {\n e.preventDefault();\n }\n }\n },\n _allowSelection: function (target) {\n if ($(target).is(this.options.inputSelectors)) {\n this.userEvents.cancel();\n this._downTarget = null;\n return false;\n }\n return true;\n },\n resetTouchEvents: function () {\n this.userEvents.cancel();\n },\n clear: function () {\n var items = this.element.find(this.options.filter + '.' + SELECTED);\n this._unselect(items);\n },\n selectRange: function (start, end, e) {\n var that = this, idx, tmp, items;\n that.clear();\n if (that.element.length > 1) {\n items = that.options.continuousItems();\n }\n if (!items || !items.length) {\n items = that.element.find(that.options.filter);\n }\n start = $.inArray($(start)[0], items);\n end = $.inArray($(end)[0], items);\n if (start > end) {\n tmp = start;\n start = end;\n end = tmp;\n }\n if (!that.options.useAllItems) {\n end += that.element.length - 1;\n }\n for (idx = start; idx <= end; idx++) {\n that._selectElement(items[idx]);\n }\n that._notify(CHANGE, e);\n },\n destroy: function () {\n var that = this;\n Widget.fn.destroy.call(that);\n that.element.off(NS);\n that.userEvents.destroy();\n that._marquee = that._lastActive = that.element = that.userEvents = null;\n }\n });\n Selectable.parseOptions = function (selectable) {\n var asLowerString = typeof selectable === 'string' && selectable.toLowerCase();\n return {\n multiple: asLowerString && asLowerString.indexOf('multiple') > -1,\n cell: asLowerString && asLowerString.indexOf('cell') > -1\n };\n };\n function collision(element, position) {\n if (!element.is(':visible')) {\n return false;\n }\n var elementPosition = kendo.getOffset(element), right = position.left + position.width, bottom = position.top + position.height;\n elementPosition.right = elementPosition.left + kendo._outerWidth(element);\n elementPosition.bottom = elementPosition.top + kendo._outerHeight(element);\n return !(elementPosition.left > right || elementPosition.right < position.left || elementPosition.top > bottom || elementPosition.bottom < position.top);\n }\n kendo.ui.plugin(Selectable);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.calendar', [\n 'kendo.core',\n 'kendo.selectable'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'calendar',\n name: 'Calendar',\n category: 'web',\n description: 'The Calendar widget renders a graphical calendar that supports navigation and selection.',\n depends: [\n 'core',\n 'selectable'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, support = kendo.support, ui = kendo.ui, Widget = ui.Widget, keys = kendo.keys, parse = kendo.parseDate, adjustDST = kendo.date.adjustDST, weekInYear = kendo.date.weekInYear, Selectable = kendo.ui.Selectable, extractFormat = kendo._extractFormat, template = kendo.template, getCulture = kendo.getCulture, transitions = kendo.support.transitions, transitionOrigin = transitions ? transitions.css + 'transform-origin' : '', cellTemplate = template('#=data.value#', { useWithBlock: false }), emptyCellTemplate = template('', { useWithBlock: false }), otherMonthCellTemplate = template(' ', { useWithBlock: false }), weekNumberTemplate = template('#= data.weekNumber #', { useWithBlock: false }), browser = kendo.support.browser, isIE8 = browser.msie && browser.version < 9, outerWidth = kendo._outerWidth, ns = '.kendoCalendar', CLICK = 'click' + ns, KEYDOWN_NS = 'keydown' + ns, ID = 'id', MIN = 'min', LEFT = 'left', SLIDE = 'slideIn', MONTH = 'month', CENTURY = 'century', CHANGE = 'change', NAVIGATE = 'navigate', VALUE = 'value', HOVER = 'k-state-hover', DISABLED = 'k-state-disabled', FOCUSED = 'k-state-focused', OTHERMONTH = 'k-other-month', OTHERMONTHCLASS = ' class=\"' + OTHERMONTH + '\"', OUTOFRANGE = 'k-out-of-range', TODAY = 'k-nav-today', CELLSELECTOR = 'td:has(.k-link)', CELLSELECTORVALID = 'td:has(.k-link):not(.' + DISABLED + '):not(.' + OUTOFRANGE + ')', WEEKCOLUMNSELECTOR = 'td:not(:has(.k-link))', SELECTED = 'k-state-selected', BLUR = 'blur' + ns, FOCUS = 'focus', FOCUS_WITH_NS = FOCUS + ns, MOUSEENTER = support.touch ? 'touchstart' : 'mouseenter', MOUSEENTER_WITH_NS = support.touch ? 'touchstart' + ns : 'mouseenter' + ns, MOUSELEAVE = support.touch ? 'touchend' + ns + ' touchmove' + ns : 'mouseleave' + ns, MS_PER_MINUTE = 60000, MS_PER_DAY = 86400000, PREVARROW = '_prevArrow', NEXTARROW = '_nextArrow', ARIA_DISABLED = 'aria-disabled', ARIA_SELECTED = 'aria-selected', ARIA_LABEL = 'aria-label', proxy = $.proxy, extend = $.extend, DATE = Date, views = {\n month: 0,\n year: 1,\n decade: 2,\n century: 3\n }, HEADERSELECTOR = '.k-header, .k-calendar-header', CLASSIC_HEADER_TEMPLATE = '
      ' + '' + '' + '' + '
      ', MODERN_HEADER_TEMPLATE = '
      ' + '' + '' + '' + '' + '' + '#=messages.today#' + '' + '' + '' + '' + '
      ';\n var Calendar = Widget.extend({\n init: function (element, options) {\n var that = this, value, id;\n options = options || {};\n options.componentType = options.componentType || 'classic';\n Widget.fn.init.call(that, element, options);\n element = that.wrapper = that.element;\n options = that.options;\n options.url = kendo.unescape(options.url);\n that.options.disableDates = getDisabledExpr(that.options.disableDates);\n that._templates();\n that._selectable();\n that._header();\n that._viewWrapper();\n if (that.options.hasFooter) {\n that._footer(that.footer);\n }\n id = element.addClass('k-widget k-calendar ' + (options.weekNumber ? ' k-week-number' : '')).on(MOUSEENTER_WITH_NS + ' ' + MOUSELEAVE, CELLSELECTOR, mousetoggle).on(KEYDOWN_NS, 'table.k-content', proxy(that._move, that)).on(CLICK + ' touchend', CELLSELECTOR, function (e) {\n var link = e.currentTarget.firstChild, value = toDateObject(link);\n if (link.href.indexOf('#') != -1) {\n e.preventDefault();\n }\n if (that._view.name == 'month' && that.options.disableDates(value)) {\n return;\n }\n if (that._view.name != 'month' || options.selectable == 'single') {\n that._click($(link));\n }\n }).on('mouseup' + ns, 'table.k-content, .k-footer', function () {\n that._focusView(that.options.focusOnNav !== false);\n }).attr(ID);\n if (id) {\n that._cellID = id + '_cell_selected';\n }\n if (that._isMultipleSelection() && that.options.weekNumber) {\n element.on(CLICK, WEEKCOLUMNSELECTOR, function (e) {\n var first = $(e.currentTarget).closest('tr').find(CELLSELECTORVALID).first(), last = that.selectable._lastActive = $(e.currentTarget).closest('tr').find(CELLSELECTORVALID).last();\n that.selectable.selectRange(first, last, { event: e });\n that._current = that._value = toDateObject(last.find('a'));\n that._class(FOCUSED, that._current);\n });\n }\n normalize(options);\n value = parse(options.value, options.format, options.culture);\n that._selectDates = [];\n that._index = views[options.start];\n that._current = new DATE(+restrictValue(value, options.min, options.max));\n that._addClassProxy = function () {\n that._active = true;\n if (that._cell.hasClass(DISABLED)) {\n var todayString = that._view.toDateString(getToday());\n that._cell = that._cellByDate(todayString);\n }\n that._cell.addClass(FOCUSED);\n };\n that._removeClassProxy = function () {\n that._active = false;\n that._cell.removeClass(FOCUSED);\n };\n that.value(value);\n if (that._isMultipleSelection() && options.selectDates.length > 0) {\n that.selectDates(options.selectDates);\n }\n kendo.notify(that);\n },\n options: {\n name: 'Calendar',\n value: null,\n min: new DATE(1900, 0, 1),\n max: new DATE(2099, 11, 31),\n dates: [],\n disableDates: null,\n url: '',\n culture: '',\n footer: '',\n format: '',\n month: {},\n weekNumber: false,\n selectable: 'single',\n selectDates: [],\n start: MONTH,\n depth: MONTH,\n animation: {\n horizontal: {\n effects: SLIDE,\n reverse: true,\n duration: 500,\n divisor: 2\n },\n vertical: {\n effects: 'zoomIn',\n duration: 400\n }\n },\n messages: {\n weekColumnHeader: '',\n today: 'Today'\n }\n },\n events: [\n CHANGE,\n NAVIGATE\n ],\n componentTypes: {\n 'classic': {\n header: { template: CLASSIC_HEADER_TEMPLATE },\n hasFooter: true,\n linksSelector: '.k-link',\n contentClasses: 'k-content'\n },\n 'modern': {\n header: { template: MODERN_HEADER_TEMPLATE },\n hasFooter: false,\n linksSelector: '.k-button',\n contentClasses: 'k-content k-calendar-content'\n }\n },\n setOptions: function (options) {\n var that = this;\n normalize(options);\n options.disableDates = getDisabledExpr(options.disableDates);\n that._destroySelectable();\n Widget.fn.setOptions.call(that, options);\n that._templates();\n that._selectable();\n that._viewWrapper();\n if (that.options.hasFooter) {\n that._footer(that.footer);\n } else {\n that.element.find('.k-footer').hide();\n }\n that._index = views[that.options.start];\n that.navigate();\n if (options.weekNumber) {\n that.element.addClass('k-week-number');\n }\n },\n destroy: function () {\n var that = this, today = that._today;\n that.element.off(ns);\n that._title.off(ns);\n that[PREVARROW].off(ns);\n that[NEXTARROW].off(ns);\n that._destroySelectable();\n kendo.destroy(that._table);\n if (today) {\n kendo.destroy(today.off(ns));\n }\n Widget.fn.destroy.call(that);\n },\n current: function () {\n return this._current;\n },\n view: function () {\n return this._view;\n },\n focus: function (table) {\n table = table || this._table;\n this._bindTable(table);\n table.trigger('focus');\n },\n min: function (value) {\n return this._option(MIN, value);\n },\n max: function (value) {\n return this._option('max', value);\n },\n navigateToPast: function () {\n this._navigate(PREVARROW, -1);\n },\n navigateToFuture: function () {\n this._navigate(NEXTARROW, 1);\n },\n navigateUp: function () {\n var that = this, index = that._index;\n if (that._title.hasClass(DISABLED)) {\n return;\n }\n that.navigate(that._current, ++index);\n },\n navigateDown: function (value) {\n var that = this, index = that._index, depth = that.options.depth;\n if (!value) {\n return;\n }\n if (index === views[depth]) {\n if (!isEqualDate(that._value, that._current) || !isEqualDate(that._value, value)) {\n that.value(value);\n that.trigger(CHANGE);\n }\n return;\n }\n that.navigate(value, --index);\n },\n navigate: function (value, view) {\n view = isNaN(view) ? views[view] : view;\n var that = this, options = that.options, culture = options.culture, min = options.min, max = options.max, title = that._title, from = that._table, old = that._oldTable, currentValue = that._current, future = value && +value > +currentValue, vertical = view !== undefined && view !== that._index, to, currentView, compare, disabled, viewWrapper = that.element.children('.k-calendar-view');\n if (!value) {\n value = currentValue;\n }\n that._current = value = new DATE(+restrictValue(value, min, max));\n if (view === undefined) {\n view = that._index;\n } else {\n that._index = view;\n }\n that._view = currentView = calendar.views[view];\n compare = currentView.compare;\n disabled = view === views[CENTURY];\n title.toggleClass(DISABLED, disabled).attr(ARIA_DISABLED, disabled);\n disabled = compare(value, min) < 1;\n that[PREVARROW].toggleClass(DISABLED, disabled).attr(ARIA_DISABLED, disabled);\n if (that[PREVARROW].hasClass(DISABLED)) {\n that[PREVARROW].removeClass(HOVER);\n }\n disabled = compare(value, max) > -1;\n that[NEXTARROW].toggleClass(DISABLED, disabled).attr(ARIA_DISABLED, disabled);\n if (that[NEXTARROW].hasClass(DISABLED)) {\n that[NEXTARROW].removeClass(HOVER);\n }\n if (from && old && old.data('animating')) {\n old.kendoStop(true, true);\n from.kendoStop(true, true);\n }\n that._oldTable = from;\n if (!from || that._changeView) {\n title.html(currentView.title(value, min, max, culture));\n that._table = to = $(currentView.content(extend({\n min: min,\n max: max,\n date: value,\n url: options.url,\n dates: options.dates,\n format: options.format,\n otherMonth: true,\n culture: culture,\n disableDates: options.disableDates,\n isWeekColumnVisible: options.weekNumber,\n messages: options.messages,\n contentClasses: that.options.contentClasses\n }, that[currentView.name])));\n addClassToViewContainer(to, currentView.name);\n makeUnselectable(to);\n var replace = from && from.data('start') === to.data('start');\n that._animate({\n from: from,\n to: to,\n vertical: vertical,\n future: future,\n replace: replace\n });\n if (that.options.componentType === 'modern') {\n viewWrapper.removeClass('k-calendar-monthview k-calendar-yearview k-calendar-decadeview k-calendar-centuryview');\n viewWrapper.addClass('k-calendar-' + currentView.name + 'view');\n }\n that.trigger(NAVIGATE);\n that._focus(value);\n }\n if (view === views[options.depth] && that._selectDates.length > 0) {\n that._visualizeSelectedDatesInView();\n }\n if (that.options.selectable === 'single') {\n if (view === views[options.depth] && that._value && !that.options.disableDates(that._value)) {\n that._class('k-state-selected', that._value);\n }\n }\n that._class(FOCUSED, value);\n if (!from && that._cell) {\n that._cell.removeClass(FOCUSED);\n }\n that._changeView = true;\n },\n selectDates: function (dates) {\n var that = this, validSelectedDates, datesUnique;\n if (dates === undefined) {\n return that._selectDates;\n }\n datesUnique = dates.map(function (date) {\n return date.getTime();\n }).filter(function (date, position, array) {\n return array.indexOf(date) === position;\n }).map(function (time) {\n return new Date(time);\n });\n validSelectedDates = $.grep(datesUnique, function (value) {\n if (value) {\n return +that._validateValue(new Date(value.setHours(0, 0, 0, 0))) === +value;\n }\n });\n that._selectDates = validSelectedDates.length > 0 ? validSelectedDates : datesUnique.length === 0 ? datesUnique : that._selectDates;\n that._visualizeSelectedDatesInView();\n },\n value: function (value) {\n var that = this, old = that._view, view = that._view;\n if (value === undefined) {\n return that._value;\n }\n value = that._validateValue(value);\n if (value && that._isMultipleSelection()) {\n var date = new Date(+value);\n date.setHours(0, 0, 0, 0);\n that._selectDates = [date];\n that.selectable._lastActive = null;\n }\n if (old && value === null && that._cell) {\n that._cell.removeClass(SELECTED);\n } else {\n that._changeView = !value || view && view.compare(value, that._current) !== 0;\n that.navigate(value);\n }\n },\n _validateValue: function (value) {\n var that = this, options = that.options, min = options.min, max = options.max;\n if (value === null) {\n that._current = createDate(that._current.getFullYear(), that._current.getMonth(), that._current.getDate());\n }\n value = parse(value, options.format, options.culture);\n if (value !== null) {\n value = new DATE(+value);\n if (!isInRange(value, min, max)) {\n value = null;\n }\n }\n if (value === null || !that.options.disableDates(new Date(+value))) {\n that._value = value;\n } else if (that._value === undefined) {\n that._value = null;\n }\n return that._value;\n },\n _visualizeSelectedDatesInView: function () {\n var that = this;\n var selectedDates = {};\n $.each(that._selectDates, function (index, value) {\n selectedDates[kendo.calendar.views[0].toDateString(value)] = value;\n });\n that.selectable.clear();\n var cells = that._table.find(CELLSELECTOR).filter(function (index, element) {\n return selectedDates[$(element.firstChild).attr(kendo.attr(VALUE))];\n });\n if (cells.length > 0) {\n that.selectable._selectElement(cells, true);\n }\n },\n _isMultipleSelection: function () {\n var that = this;\n return that.options.selectable === 'multiple';\n },\n _selectable: function () {\n var that = this;\n if (!that._isMultipleSelection()) {\n return;\n }\n var selectable = that.options.selectable, selectableOptions = Selectable.parseOptions(selectable);\n if (selectableOptions.multiple) {\n that.element.attr('aria-multiselectable', 'true');\n }\n that.selectable = new Selectable(that.wrapper, {\n aria: true,\n inputSelectors: 'input,textarea,.k-multiselect-wrap,select,button,.k-button>span,.k-button>img,span.k-icon.k-i-arrow-60-down,span.k-icon.k-i-arrow-60-up',\n multiple: selectableOptions.multiple,\n filter: 'table.k-month:eq(0) ' + CELLSELECTORVALID,\n change: proxy(that._onSelect, that),\n relatedTarget: proxy(that._onRelatedTarget, that)\n });\n },\n _onRelatedTarget: function (target) {\n var that = this;\n if (that.selectable.options.multiple && target.is(CELLSELECTORVALID)) {\n that._current = toDateObject(target.find('a'));\n that._class(FOCUSED, toDateObject(target.find('a')));\n }\n },\n _onSelect: function (e) {\n var that = this, eventArgs = e, selectableOptions = Selectable.parseOptions(that.options.selectable);\n if (!selectableOptions.multiple) {\n if ($(eventArgs.event.currentTarget).is('td') && !$(eventArgs.event.currentTarget).hasClass('k-state-selected')) {\n $(eventArgs.event.currentTarget).addClass('k-state-selected');\n } else {\n that._click($(eventArgs.event.currentTarget).find('a'));\n }\n return;\n }\n if (eventArgs.event.ctrlKey || eventArgs.event.metaKey) {\n if ($(eventArgs.event.currentTarget).is(CELLSELECTORVALID)) {\n that._toggleSelection($(eventArgs.event.currentTarget));\n } else {\n that._cellsBySelector(CELLSELECTORVALID).each(function (index, element) {\n var value = toDateObject($(element).find('a'));\n that._deselect(value);\n });\n that._addSelectedCellsToArray();\n }\n } else if (eventArgs.event.shiftKey) {\n that._rangeSelection(that._cell);\n } else if ($(eventArgs.event.currentTarget).is(CELLSELECTOR)) {\n that.value(toDateObject($(eventArgs.event.currentTarget).find('a')));\n } else {\n that._selectDates = [];\n that._addSelectedCellsToArray();\n }\n that.trigger(CHANGE);\n },\n _destroySelectable: function () {\n var that = this;\n if (that.selectable) {\n that.selectable.destroy();\n that.selectable = null;\n }\n },\n _toggleSelection: function (currentCell) {\n var that = this, date = toDateObject(currentCell.find('a'));\n if (currentCell.hasClass('k-state-selected')) {\n that._selectDates.push(date);\n } else {\n that._deselect(date);\n }\n },\n _rangeSelection: function (toDateCell, startDate) {\n var that = this, fromDate = startDate || toDateObject(that.selectable.value().first().find('a')), toDate = toDateObject(toDateCell.find('a')), daysDifference;\n if (that.selectable._lastActive || that._value) {\n fromDate = that.selectable._lastActive ? toDateObject(that.selectable._lastActive.find('a')) : new Date(+that._value);\n } else {\n that.selectable._lastActive = startDate ? that._cellByDate(that._view.toDateString(startDate), CELLSELECTORVALID) : that.selectable.value().first();\n }\n that._selectDates = [];\n daysDifference = daysBetweenTwoDates(fromDate, toDate);\n addDaysToArray(that._selectDates, daysDifference, fromDate, that.options.disableDates);\n that._visualizeSelectedDatesInView();\n },\n _cellsBySelector: function (selector) {\n var that = this;\n return that._table.find(selector);\n },\n _addSelectedCellsToArray: function () {\n var that = this;\n that.selectable.value().each(function (index, item) {\n var date = toDateObject($(item.firstChild));\n if (!that.options.disableDates(date)) {\n that._selectDates.push(date);\n }\n });\n },\n _deselect: function (date) {\n var that = this;\n var currentDateIndex = that._selectDates.map(Number).indexOf(+date);\n if (currentDateIndex != -1) {\n that._selectDates.splice(currentDateIndex, 1);\n }\n },\n _dateInView: function (date) {\n var that = this, firstDateInView = toDateObject(that._cellsBySelector(CELLSELECTORVALID + ':first').find('a')), lastDateInView = toDateObject(that._cellsBySelector(CELLSELECTORVALID + ':last').find('a'));\n return +date <= +lastDateInView && +date >= +firstDateInView;\n },\n _isNavigatable: function (currentValue, cellIndex) {\n var that = this;\n var isDisabled = that.options.disableDates;\n var cell;\n var index;\n if (that._view.name == 'month') {\n return !isDisabled(currentValue);\n } else {\n index = that.wrapper.find('.' + FOCUSED).index();\n cell = that.wrapper.find('.k-content td:eq(' + (index + cellIndex) + ')');\n return cell.is(CELLSELECTORVALID) || !isDisabled(currentValue);\n }\n },\n _move: function (e) {\n var that = this, options = that.options, key = e.keyCode, view = that._view, index = that._index, min = that.options.min, max = that.options.max, currentValue = new DATE(+that._current), isRtl = kendo.support.isRtl(that.wrapper), isDisabled = that.options.disableDates, value, prevent, method, temp;\n if (e.target === that._table[0]) {\n that._active = true;\n }\n if (key == keys.RIGHT && !isRtl || key == keys.LEFT && isRtl) {\n value = 1;\n prevent = true;\n } else if (key == keys.LEFT && !isRtl || key == keys.RIGHT && isRtl) {\n value = -1;\n prevent = true;\n } else if (key == keys.UP) {\n value = index === 0 ? -7 : -4;\n prevent = true;\n } else if (key == keys.DOWN) {\n value = index === 0 ? 7 : 4;\n prevent = true;\n } else if (key == keys.SPACEBAR) {\n value = 0;\n prevent = true;\n } else if (key == keys.HOME || key == keys.END) {\n method = key == keys.HOME ? 'first' : 'last';\n temp = view[method](currentValue);\n currentValue = new DATE(temp.getFullYear(), temp.getMonth(), temp.getDate(), currentValue.getHours(), currentValue.getMinutes(), currentValue.getSeconds(), currentValue.getMilliseconds());\n currentValue.setFullYear(temp.getFullYear());\n prevent = true;\n }\n if (e.ctrlKey || e.metaKey) {\n if (key == keys.RIGHT && !isRtl || key == keys.LEFT && isRtl) {\n that.navigateToFuture();\n prevent = true;\n } else if (key == keys.LEFT && !isRtl || key == keys.RIGHT && isRtl) {\n that.navigateToPast();\n prevent = true;\n } else if (key == keys.UP) {\n that.navigateUp();\n prevent = true;\n } else if (key == keys.DOWN) {\n that._click($(that._cell[0].firstChild));\n prevent = true;\n } else if ((key == keys.ENTER || key == keys.SPACEBAR) && that._isMultipleSelection()) {\n that._keyboardToggleSelection(e);\n var focusedDate = toDateObject($(that._cell[0]).find('a'));\n that._class(FOCUSED, focusedDate);\n }\n } else if (e.shiftKey) {\n if (value !== undefined || method) {\n if (!method) {\n view.setDate(currentValue, value);\n }\n if (!isInRange(currentValue, min, max)) {\n currentValue = restrictValue(currentValue, options.min, options.max);\n }\n if (isDisabled(currentValue)) {\n currentValue = that._nextNavigatable(currentValue, value);\n }\n min = createDate(min.getFullYear(), min.getMonth(), min.getDate());\n if (that._isMultipleSelection()) {\n that._keyboardRangeSelection(e, currentValue);\n } else {\n that._focus(currentValue);\n }\n }\n } else {\n if (key == keys.ENTER || key == keys.SPACEBAR) {\n if (view.name == 'month' && that._isMultipleSelection()) {\n that.value(toDateObject($(that._cell.find('a'))));\n that.selectable._lastActive = $(that._cell[0]);\n that.trigger(CHANGE);\n } else {\n that._click($(that._cell[0].firstChild));\n }\n prevent = true;\n } else if (key == keys.PAGEUP) {\n prevent = true;\n that.navigateToPast();\n } else if (key == keys.PAGEDOWN) {\n prevent = true;\n that.navigateToFuture();\n }\n if (value || method) {\n if (!method) {\n view.setDate(currentValue, value);\n }\n min = createDate(min.getFullYear(), min.getMonth(), min.getDate());\n if (!isInRange(currentValue, min, max)) {\n currentValue = restrictValue(currentValue, options.min, options.max);\n }\n if (!that._isNavigatable(currentValue, value)) {\n currentValue = that._nextNavigatable(currentValue, value);\n }\n if (that._isMultipleSelection()) {\n if (!that._dateInView(currentValue)) {\n that.navigate(currentValue);\n } else {\n that._current = currentValue;\n that._class(FOCUSED, currentValue);\n }\n } else {\n that._focus(currentValue);\n }\n }\n }\n if (prevent) {\n e.preventDefault();\n }\n return that._current;\n },\n _keyboardRangeSelection: function (event, currentValue) {\n var that = this, fromDate, daysDifference;\n if (!that._dateInView(currentValue)) {\n that._selectDates = [];\n fromDate = that.selectable._lastActive ? toDateObject(that.selectable._lastActive.find('a')) : currentValue;\n daysDifference = daysBetweenTwoDates(fromDate, new Date(+currentValue));\n addDaysToArray(that._selectDates, daysDifference, fromDate, that.options.disableDates);\n that.navigate(currentValue);\n that._current = currentValue;\n that.selectable._lastActive = that.selectable._lastActive || that._cellByDate(that._view.toDateString(currentValue), CELLSELECTORVALID);\n that.trigger(CHANGE);\n return;\n }\n that.selectable.options.filter = that.wrapper.find('table').length > 1 && +currentValue > +that._current ? 'table.k-month:eq(1) ' + CELLSELECTORVALID : 'table.k-month:eq(0) ' + CELLSELECTORVALID;\n that._class(FOCUSED, currentValue);\n that._current = currentValue;\n that._rangeSelection(that._cellByDate(that._view.toDateString(currentValue), CELLSELECTORVALID), currentValue);\n that.trigger(CHANGE);\n that.selectable.options.filter = 'table.k-month:eq(0) ' + CELLSELECTORVALID;\n },\n _keyboardToggleSelection: function (event) {\n var that = this;\n event.currentTarget = that._cell[0];\n that.selectable._lastActive = $(that._cell[0]);\n if ($(that._cell[0]).hasClass(SELECTED)) {\n that.selectable._unselect($(that._cell[0]));\n that.selectable.trigger(CHANGE, { event: event });\n } else {\n that.selectable.value($(that._cell[0]), { event: event });\n }\n },\n _nextNavigatable: function (currentValue, value) {\n var that = this, disabled = true, view = that._view, min = that.options.min, max = that.options.max, isDisabled = that.options.disableDates, navigatableDate = new Date(currentValue.getTime());\n view.setDate(navigatableDate, -value);\n while (disabled) {\n view.setDate(currentValue, value);\n if (!isInRange(currentValue, min, max)) {\n currentValue = navigatableDate;\n break;\n }\n disabled = isDisabled(currentValue);\n }\n return currentValue;\n },\n _animate: function (options) {\n var that = this;\n var from = options.from;\n var to = options.to;\n var active = that._active;\n var viewWrapper = that.element.children('.k-calendar-view');\n if (!from) {\n viewWrapper.append(to);\n that._bindTable(to);\n } else if (from.parent().data('animating')) {\n from.off(ns);\n from.parent().kendoStop(true, true).remove();\n from.remove();\n viewWrapper.append(to);\n that._focusView(active);\n } else if (!from.is(':visible') || that.options.animation === false || options.replace) {\n to.insertAfter(from);\n from.off(ns).remove();\n that._focusView(active);\n } else {\n that[options.vertical ? '_vertical' : '_horizontal'](from, to, options.future);\n }\n },\n _horizontal: function (from, to, future) {\n var that = this, active = that._active, horizontal = that.options.animation.horizontal, effects = horizontal.effects, viewWidth = outerWidth(from);\n if (effects && effects.indexOf(SLIDE) != -1) {\n from.add(to).css({ width: viewWidth });\n from.wrap('
      ');\n that._focusView(active, from);\n from.parent().css({\n position: 'relative',\n width: viewWidth * 2,\n 'float': LEFT,\n 'margin-left': future ? 0 : -viewWidth\n });\n to[future ? 'insertAfter' : 'insertBefore'](from);\n extend(horizontal, {\n effects: SLIDE + ':' + (future ? 'right' : LEFT),\n complete: function () {\n from.off(ns).remove();\n that._oldTable = null;\n to.unwrap();\n that._focusView(active);\n }\n });\n from.parent().kendoStop(true, true).kendoAnimate(horizontal);\n }\n },\n _vertical: function (from, to) {\n var that = this, vertical = that.options.animation.vertical, effects = vertical.effects, active = that._active, cell, position;\n if (effects && effects.indexOf('zoom') != -1) {\n to.insertBefore(from);\n from.css({\n position: 'absolute',\n width: to.width()\n });\n if (transitionOrigin) {\n cell = that._cellByDate(that._view.toDateString(that._current));\n position = cell.position();\n position = position.left + parseInt(cell.width() / 2, 10) + 'px' + ' ' + (position.top + parseInt(cell.height() / 2, 10) + 'px');\n to.css(transitionOrigin, position);\n }\n from.kendoStop(true, true).kendoAnimate({\n effects: 'fadeOut',\n duration: 600,\n complete: function () {\n from.off(ns).remove();\n that._oldTable = null;\n that._focusView(active);\n }\n });\n to.kendoStop(true, true).kendoAnimate(vertical);\n }\n },\n _cellByDate: function (value, selector) {\n return this._table.find(selector ? selector : 'td:not(.' + OTHERMONTH + ')').filter(function () {\n return $(this.firstChild).attr(kendo.attr(VALUE)) === value;\n });\n },\n _class: function (className, date) {\n var that = this, id = that._cellID, cell = that._cell, value = that._view.toDateString(date), disabledDate;\n if (cell && cell.length) {\n cell[0].removeAttribute(ARIA_SELECTED);\n cell[0].removeAttribute(ARIA_LABEL);\n cell[0].removeAttribute(ID);\n }\n if (date && that._view.name == 'month') {\n disabledDate = that.options.disableDates(date);\n }\n that._cellsBySelector(that._isMultipleSelection() ? CELLSELECTOR : 'td:not(.' + OTHERMONTH + ')').removeClass(className);\n cell = that._cellByDate(value, that.options.selectable == 'multiple' ? CELLSELECTOR : 'td:not(.' + OTHERMONTH + ')').attr(ARIA_SELECTED, true);\n if (className === FOCUSED && !that._active && that.options.focusOnNav !== false || disabledDate) {\n className = '';\n }\n cell.addClass(className);\n if (cell[0]) {\n that._cell = cell;\n }\n if (id) {\n cell.attr(ID, id);\n that._table[0].removeAttribute('aria-activedescendant');\n that._table.attr('aria-activedescendant', id);\n }\n },\n _bindTable: function (table) {\n table.on(FOCUS_WITH_NS, this._addClassProxy).on(BLUR, this._removeClassProxy);\n },\n _click: function (link) {\n var that = this, options = that.options, currentValue = new Date(+that._current), value = toDateObject(link);\n adjustDST(value, 0);\n if (that._view.name == 'month' && that.options.disableDates(value)) {\n value = that._value;\n }\n that._view.setDate(currentValue, value);\n that.navigateDown(restrictValue(currentValue, options.min, options.max));\n },\n _focus: function (value) {\n var that = this, view = that._view;\n if (view.compare(value, that._current) !== 0) {\n that.navigate(value);\n } else {\n that._current = value;\n that._class(FOCUSED, value);\n }\n },\n _focusView: function (active, table) {\n if (active) {\n this.focus(table);\n }\n },\n _viewWrapper: function () {\n var that = this;\n var element = that.element;\n var viewWrapper = element.children('.k-calendar-view');\n if (!viewWrapper[0]) {\n viewWrapper = $('
      ').insertAfter(element.find(HEADERSELECTOR));\n }\n },\n _footer: function (template) {\n var that = this, today = getToday(), element = that.element, footer = element.find('.k-footer');\n if (!template) {\n that._toggle(false);\n footer.hide();\n return;\n }\n if (!footer[0]) {\n footer = $('
      ').appendTo(element);\n }\n that._today = footer.show().find('.k-link').html(template(today)).attr('title', kendo.toString(today, 'D', that.options.culture));\n that._toggle();\n },\n _header: function () {\n var that = this, element = that.element, linksSelector = that.options.linksSelector;\n if (!element.find(HEADERSELECTOR)[0]) {\n element.html(kendo.template(that.options.header.template)(that.options));\n }\n element.find(linksSelector).on(MOUSEENTER_WITH_NS + ' ' + MOUSELEAVE + ' ' + FOCUS_WITH_NS + ' ' + BLUR, mousetoggle).on(CLICK + ' touchend' + ns, function () {\n return false;\n });\n that._title = element.find('[' + kendo.attr('action') + '=\"nav-up\"]').on(CLICK + ' touchend' + ns, function () {\n that._active = that.options.focusOnNav !== false;\n that.navigateUp();\n });\n that[PREVARROW] = element.find('[' + kendo.attr('action') + '=\"prev\"]').on(CLICK + ' touchend' + ns, function () {\n that._active = that.options.focusOnNav !== false;\n that.navigateToPast();\n });\n that[NEXTARROW] = element.find('[' + kendo.attr('action') + '=\"next\"]').on(CLICK + ' touchend' + ns, function () {\n that._active = that.options.focusOnNav !== false;\n that.navigateToFuture();\n });\n element.find('[' + kendo.attr('action') + '=\"today\"]').on(CLICK + ' touchend' + ns, proxy(that._todayClick, that));\n },\n _navigate: function (arrow, modifier) {\n var that = this, index = that._index + 1, currentValue = new DATE(+that._current);\n if (that._isMultipleSelection()) {\n var firstDayCurrentMonth = that._table.find('td:not(.k-other-month):not(.k-out-of-range)').has('.k-link').first();\n currentValue = toDateObject(firstDayCurrentMonth.find('a'));\n that._current = new Date(+currentValue);\n }\n arrow = that[arrow];\n if (!arrow.hasClass(DISABLED)) {\n if (index > 3) {\n currentValue.setFullYear(currentValue.getFullYear() + 100 * modifier);\n } else {\n calendar.views[index].setDate(currentValue, modifier);\n }\n that.navigate(currentValue);\n }\n },\n _option: function (option, value) {\n var that = this, options = that.options, currentValue = that._value || that._current, isBigger;\n if (value === undefined) {\n return options[option];\n }\n value = parse(value, options.format, options.culture);\n if (!value) {\n return;\n }\n options[option] = new DATE(+value);\n if (option === MIN) {\n isBigger = value > currentValue;\n } else {\n isBigger = currentValue > value;\n }\n if (isBigger || isEqualMonth(currentValue, value)) {\n if (isBigger) {\n that._value = null;\n }\n that._changeView = true;\n }\n if (!that._changeView) {\n that._changeView = !!(options.month.content || options.month.empty);\n }\n that.navigate(that._value);\n that._toggle();\n },\n _toggle: function (toggle) {\n var that = this, options = that.options, isTodayDisabled = that.options.disableDates(getToday()), link = that._today;\n if (toggle === undefined) {\n toggle = isInRange(getToday(), options.min, options.max);\n }\n if (link) {\n link.off(CLICK);\n if (toggle && !isTodayDisabled) {\n link.addClass(TODAY).removeClass(DISABLED).on(CLICK, proxy(that._todayClick, that));\n } else {\n link.removeClass(TODAY).addClass(DISABLED).on(CLICK, prevent);\n }\n }\n },\n _todayClick: function (e) {\n var that = this, depth = views[that.options.depth], disabled = that.options.disableDates, today = getToday();\n e.preventDefault();\n if (disabled(today)) {\n return;\n }\n if (that._view.compare(that._current, today) === 0 && that._index == depth) {\n that._changeView = false;\n }\n if (that._isMultipleSelection()) {\n that._selectDates = [today];\n that.selectable._lastActive = null;\n }\n that._value = today;\n that.navigate(today, depth);\n that.trigger(CHANGE);\n },\n _templates: function () {\n var that = this, options = that.options, footer = options.footer, month = options.month, content = month.content, weekNumber = month.weekNumber, empty = month.empty, footerTemplate = '#= kendo.toString(data,\"D\",\"' + options.culture + '\") #';\n that.month = {\n content: template('' + (content || '#=data.value#') + '', { useWithBlock: !!content }),\n empty: template('' + (empty || ' ') + '', { useWithBlock: !!empty }),\n weekNumber: template('' + (weekNumber || '#= data.weekNumber #') + '', { useWithBlock: !!weekNumber })\n };\n if (footer && footer !== true) {\n footerTemplate = footer;\n }\n that.footer = footer !== false ? template(footerTemplate, { useWithBlock: false }) : null;\n }\n });\n ui.plugin(Calendar);\n var calendar = {\n firstDayOfMonth: function (date) {\n return createDate(date.getFullYear(), date.getMonth(), 1);\n },\n firstVisibleDay: function (date, calendarInfo) {\n calendarInfo = calendarInfo || kendo.culture().calendar;\n var firstDay = calendarInfo.firstDay, firstVisibleDay = new DATE(date.getFullYear(), date.getMonth(), 1, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n firstVisibleDay.setFullYear(date.getFullYear());\n while (firstVisibleDay.getDay() != firstDay) {\n calendar.setTime(firstVisibleDay, -1 * MS_PER_DAY);\n }\n return firstVisibleDay;\n },\n setTime: function (date, time) {\n var tzOffsetBefore = date.getTimezoneOffset(), resultDATE = new DATE(date.getTime() + time), tzOffsetDiff = resultDATE.getTimezoneOffset() - tzOffsetBefore;\n date.setTime(resultDATE.getTime() + tzOffsetDiff * MS_PER_MINUTE);\n },\n views: [\n {\n name: MONTH,\n title: function (date, min, max, culture) {\n return getCalendarInfo(culture).months.names[date.getMonth()] + ' ' + date.getFullYear();\n },\n content: function (options) {\n var that = this, idx = 0, min = options.min, max = options.max, date = options.date, dates = options.dates, format = options.format, culture = options.culture, navigateUrl = options.url, showHeader = options.showHeader, otherMonth = options.otherMonth, isWeekColumnVisible = options.isWeekColumnVisible, hasUrl = navigateUrl && dates[0], currentCalendar = getCalendarInfo(culture), firstDayIdx = currentCalendar.firstDay, days = currentCalendar.days, names = shiftArray(days.names, firstDayIdx), shortNames = shiftArray(days.namesShort, firstDayIdx), start = calendar.firstVisibleDay(date, currentCalendar), firstDayOfMonth = that.first(date), lastDayOfMonth = that.last(date), toDateString = that.toDateString, today = getToday(), contentClasses = options.contentClasses, html = '';\n if (showHeader) {\n html += '';\n } else {\n html += '';\n }\n if (isWeekColumnVisible) {\n html += '';\n }\n for (; idx < 7; idx++) {\n html += '';\n }\n adjustDST(today, 0);\n today = +today;\n return view({\n cells: 42,\n perRow: 7,\n html: html += '',\n start: start,\n isWeekColumnVisible: isWeekColumnVisible,\n weekNumber: options.weekNumber,\n min: createDate(min.getFullYear(), min.getMonth(), min.getDate()),\n max: createDate(max.getFullYear(), max.getMonth(), max.getDate()),\n otherMonth: otherMonth,\n content: options.content,\n lastDayOfMonth: lastDayOfMonth,\n empty: options.empty,\n setter: that.setDate,\n disableDates: options.disableDates,\n build: function (date, idx, disableDates) {\n var cssClass = [], day = date.getDay(), linkClass = '', url = '#';\n if (date < firstDayOfMonth || date > lastDayOfMonth) {\n cssClass.push(OTHERMONTH);\n }\n if (disableDates(date)) {\n cssClass.push(DISABLED);\n }\n if (+date === today) {\n cssClass.push('k-today');\n }\n if (day === 0 || day === 6) {\n cssClass.push('k-weekend');\n }\n if (hasUrl && inArray(+date, dates)) {\n url = navigateUrl.replace('{0}', kendo.toString(date, format, culture));\n linkClass = ' k-action-link';\n }\n return {\n date: date,\n dates: dates,\n ns: kendo.ns,\n title: kendo.toString(date, 'D', culture),\n value: date.getDate(),\n dateString: toDateString(date),\n cssClass: cssClass[0] ? ' class=\"' + cssClass.join(' ') + '\"' : '',\n linkClass: linkClass,\n url: url\n };\n },\n weekNumberBuild: function (date) {\n return {\n weekNumber: weekInYear(date, kendo.culture().calendar.firstDay),\n currentDate: date\n };\n }\n });\n },\n first: function (date) {\n return calendar.firstDayOfMonth(date);\n },\n last: function (date) {\n var last = createDate(date.getFullYear(), date.getMonth() + 1, 0), first = calendar.firstDayOfMonth(date), timeOffset = Math.abs(last.getTimezoneOffset() - first.getTimezoneOffset());\n if (timeOffset) {\n last.setHours(first.getHours() + timeOffset / 60);\n }\n return last;\n },\n compare: function (date1, date2) {\n var result, month1 = date1.getMonth(), year1 = date1.getFullYear(), month2 = date2.getMonth(), year2 = date2.getFullYear();\n if (year1 > year2) {\n result = 1;\n } else if (year1 < year2) {\n result = -1;\n } else {\n result = month1 == month2 ? 0 : month1 > month2 ? 1 : -1;\n }\n return result;\n },\n setDate: function (date, value) {\n var hours = date.getHours();\n if (value instanceof DATE) {\n date.setFullYear(value.getFullYear(), value.getMonth(), value.getDate());\n } else {\n calendar.setTime(date, value * MS_PER_DAY);\n }\n adjustDST(date, hours);\n },\n toDateString: function (date) {\n return date.getFullYear() + '/' + date.getMonth() + '/' + date.getDate();\n }\n },\n {\n name: 'year',\n title: function (date) {\n return date.getFullYear();\n },\n content: function (options) {\n var namesAbbr = getCalendarInfo(options.culture).months.namesAbbr, toDateString = this.toDateString, min = options.min, max = options.max, html = '';\n if (options.showHeader) {\n html += '
      ' + this.title(date, min, max, culture) + '
      ' + options.messages.weekColumnHeader + '' + shortNames[idx] + '
      ';\n }\n return view({\n min: createDate(min.getFullYear(), min.getMonth(), 1),\n max: createDate(max.getFullYear(), max.getMonth(), 1),\n start: createDate(options.date.getFullYear(), 0, 1),\n html: html,\n setter: this.setDate,\n build: function (date) {\n return {\n value: namesAbbr[date.getMonth()],\n ns: kendo.ns,\n dateString: toDateString(date),\n cssClass: ''\n };\n }\n });\n },\n first: function (date) {\n return createDate(date.getFullYear(), 0, date.getDate());\n },\n last: function (date) {\n return createDate(date.getFullYear(), 11, date.getDate());\n },\n compare: function (date1, date2) {\n return compare(date1, date2);\n },\n setDate: function (date, value) {\n var month, hours = date.getHours();\n if (value instanceof DATE) {\n month = value.getMonth();\n date.setFullYear(value.getFullYear(), month, date.getDate());\n if (month !== date.getMonth()) {\n date.setDate(0);\n }\n } else {\n month = date.getMonth() + value;\n date.setMonth(month);\n if (month > 11) {\n month -= 12;\n }\n if (month > 0 && date.getMonth() != month) {\n date.setDate(0);\n }\n }\n adjustDST(date, hours);\n },\n toDateString: function (date) {\n return date.getFullYear() + '/' + date.getMonth() + '/1';\n }\n },\n {\n name: 'decade',\n title: function (date, min, max) {\n return title(date, min, max, 10);\n },\n content: function (options) {\n var year = options.date.getFullYear(), toDateString = this.toDateString, html = '';\n if (options.showHeader) {\n html += '
      ';\n html += this.title(options.date);\n html += '
      ';\n }\n return view({\n start: createDate(year - year % 10 - 1, 0, 1),\n min: createDate(options.min.getFullYear(), 0, 1),\n max: createDate(options.max.getFullYear(), 0, 1),\n otherMonth: options.otherMonth,\n html: html,\n setter: this.setDate,\n build: function (date, idx) {\n return {\n value: date.getFullYear(),\n ns: kendo.ns,\n dateString: toDateString(date),\n cssClass: idx === 0 || idx == 11 ? OTHERMONTHCLASS : ''\n };\n }\n });\n },\n first: function (date) {\n var year = date.getFullYear();\n return createDate(year - year % 10, date.getMonth(), date.getDate());\n },\n last: function (date) {\n var year = date.getFullYear();\n return createDate(year - year % 10 + 9, date.getMonth(), date.getDate());\n },\n compare: function (date1, date2) {\n return compare(date1, date2, 10);\n },\n setDate: function (date, value) {\n setDate(date, value, 1);\n },\n toDateString: function (date) {\n return date.getFullYear() + '/0/1';\n }\n },\n {\n name: CENTURY,\n title: function (date, min, max) {\n return title(date, min, max, 100);\n },\n content: function (options) {\n var year = options.date.getFullYear(), min = options.min.getFullYear(), max = options.max.getFullYear(), toDateString = this.toDateString, minYear = min, maxYear = max, html = '';\n minYear = minYear - minYear % 10;\n maxYear = maxYear - maxYear % 10;\n if (maxYear - minYear < 10) {\n maxYear = minYear + 9;\n }\n if (options.showHeader) {\n html += '
      ';\n html += this.title(options.date, options.min, options.max);\n html += '
      ';\n }\n return view({\n start: createDate(year - year % 100 - 10, 0, 1),\n min: createDate(minYear, 0, 1),\n max: createDate(maxYear, 0, 1),\n otherMonth: options.otherMonth,\n html: html,\n setter: this.setDate,\n build: function (date, idx) {\n var start = date.getFullYear(), end = start + 9;\n if (start < min) {\n start = min;\n }\n if (end > max) {\n end = max;\n }\n return {\n ns: kendo.ns,\n value: start + ' - ' + end,\n dateString: toDateString(date),\n cssClass: idx === 0 || idx == 11 ? OTHERMONTHCLASS : ''\n };\n }\n });\n },\n first: function (date) {\n var year = date.getFullYear();\n return createDate(year - year % 100, date.getMonth(), date.getDate());\n },\n last: function (date) {\n var year = date.getFullYear();\n return createDate(year - year % 100 + 99, date.getMonth(), date.getDate());\n },\n compare: function (date1, date2) {\n return compare(date1, date2, 100);\n },\n setDate: function (date, value) {\n setDate(date, value, 10);\n },\n toDateString: function (date) {\n var year = date.getFullYear();\n return year - year % 10 + '/0/1';\n }\n }\n ]\n };\n function title(date, min, max, modular) {\n var start = date.getFullYear(), minYear = min.getFullYear(), maxYear = max.getFullYear(), end;\n start = start - start % modular;\n end = start + (modular - 1);\n if (start < minYear) {\n start = minYear;\n }\n if (end > maxYear) {\n end = maxYear;\n }\n return start + '-' + end;\n }\n function view(options) {\n var idx = 0, data, min = options.min, max = options.max, start = options.start, setter = options.setter, build = options.build, weekNumberBuild = options.weekNumberBuild, length = options.cells || 12, isWeekColumnVisible = options.isWeekColumnVisible, cellsPerRow = options.perRow || 4, otherMonth = options.otherMonth, lastDayOfMonth = options.lastDayOfMonth, weekNumber = options.weekNumber || weekNumberTemplate, content = options.content || cellTemplate, empty = options.empty || emptyCellTemplate, otherMonthTemplate = options.otherMonthCellTemplate || otherMonthCellTemplate, html = options.html || '
      ';\n html += this.title(options.date, options.min, options.max);\n html += '
      ';\n if (isWeekColumnVisible) {\n html += weekNumber(weekNumberBuild(start));\n }\n for (; idx < length; idx++) {\n if (idx > 0 && idx % cellsPerRow === 0) {\n html += '';\n if (isWeekColumnVisible) {\n html += otherMonth || +start <= +lastDayOfMonth ? weekNumber(weekNumberBuild(start)) : weekNumber({ weekNumber: ' ' });\n }\n }\n start = createDate(start.getFullYear(), start.getMonth(), start.getDate());\n adjustDST(start, 0);\n data = build(start, idx, options.disableDates);\n html += data.cssClass.indexOf(OTHERMONTH) !== -1 && !otherMonth ? otherMonthTemplate(data) : isInRange(start, min, max) ? content(data) : empty(data);\n setter(start, 1);\n }\n return html + '
      ';\n }\n function compare(date1, date2, modifier) {\n var year1 = date1.getFullYear(), start = date2.getFullYear(), end = start, result = 0;\n if (modifier) {\n start = start - start % modifier;\n end = start - start % modifier + modifier - 1;\n }\n if (year1 > end) {\n result = 1;\n } else if (year1 < start) {\n result = -1;\n }\n return result;\n }\n function getToday() {\n var today = new DATE();\n return new DATE(today.getFullYear(), today.getMonth(), today.getDate());\n }\n function restrictValue(value, min, max) {\n var today = getToday();\n if (value) {\n today = new DATE(+value);\n }\n if (min > today) {\n today = new DATE(+min);\n } else if (max < today) {\n today = new DATE(+max);\n }\n return today;\n }\n function isInRange(date, min, max) {\n return +date >= +min && +date <= +max;\n }\n function shiftArray(array, idx) {\n return array.slice(idx).concat(array.slice(0, idx));\n }\n function setDate(date, value, multiplier) {\n value = value instanceof DATE ? value.getFullYear() : date.getFullYear() + multiplier * value;\n date.setFullYear(value);\n }\n function daysBetweenTwoDates(startDate, endDate) {\n if (+endDate < +startDate) {\n var temp = +startDate;\n calendar.views[0].setDate(startDate, endDate);\n calendar.views[0].setDate(endDate, new Date(temp));\n }\n var fromDateUTC = Date.UTC(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());\n var endDateUTC = Date.UTC(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\n return Math.ceil((+endDateUTC - +fromDateUTC) / kendo.date.MS_PER_DAY);\n }\n function addDaysToArray(array, numberOfDays, fromDate, disableDates) {\n for (var i = 0; i <= numberOfDays; i++) {\n var nextDay = new Date(fromDate.getTime());\n nextDay = new Date(nextDay.setDate(nextDay.getDate() + i));\n if (!disableDates(nextDay)) {\n array.push(nextDay);\n }\n }\n }\n function mousetoggle(e) {\n var disabled = $(this).hasClass('k-state-disabled');\n if (!disabled) {\n $(this).toggleClass(HOVER, MOUSEENTER.indexOf(e.type) > -1 || e.type == FOCUS);\n }\n }\n function prevent(e) {\n e.preventDefault();\n }\n function createDate(year, month, date) {\n var dateObject = new DATE(year, month, date);\n dateObject.setFullYear(year, month, date);\n return dateObject;\n }\n function getCalendarInfo(culture) {\n return getCulture(culture).calendars.standard;\n }\n function normalize(options) {\n var start = views[options.start], depth = views[options.depth], culture = getCulture(options.culture);\n options.format = extractFormat(options.format || culture.calendars.standard.patterns.d);\n if (isNaN(start)) {\n start = 0;\n options.start = MONTH;\n }\n if (depth === undefined || depth > start) {\n options.depth = MONTH;\n }\n if (options.dates === null) {\n options.dates = [];\n }\n }\n function makeUnselectable(element) {\n if (isIE8) {\n element.find('*').attr('unselectable', 'on');\n }\n }\n function addClassToViewContainer(element, currentView) {\n element.addClass('k-' + currentView);\n }\n function inArray(date, dates) {\n for (var i = 0, length = dates.length; i < length; i++) {\n if (date === +dates[i]) {\n return true;\n }\n }\n return false;\n }\n function isEqualDatePart(value1, value2) {\n if (value1) {\n return value1.getFullYear() === value2.getFullYear() && value1.getMonth() === value2.getMonth() && value1.getDate() === value2.getDate();\n }\n return false;\n }\n function isEqualMonth(value1, value2) {\n if (value1) {\n return value1.getFullYear() === value2.getFullYear() && value1.getMonth() === value2.getMonth();\n }\n return false;\n }\n function getDisabledExpr(option) {\n if (kendo.isFunction(option)) {\n return option;\n }\n if ($.isArray(option)) {\n return createDisabledExpr(option);\n }\n return $.noop;\n }\n function convertDatesArray(dates) {\n var result = [];\n for (var i = 0; i < dates.length; i++) {\n result.push(dates[i].setHours(0, 0, 0, 0));\n }\n return result;\n }\n function createDisabledExpr(dates) {\n var body, callback, disabledDates = [], days = [\n 'su',\n 'mo',\n 'tu',\n 'we',\n 'th',\n 'fr',\n 'sa'\n ], searchExpression = 'if (found) {' + ' return true ' + '} else {' + 'return false' + '}';\n if (dates[0] instanceof DATE) {\n disabledDates = convertDatesArray(dates);\n body = 'var found = date && window.kendo.jQuery.inArray(date.setHours(0, 0, 0, 0),[' + disabledDates + ']) > -1;' + searchExpression;\n } else {\n for (var i = 0; i < dates.length; i++) {\n var day = dates[i].slice(0, 2).toLowerCase();\n var index = $.inArray(day, days);\n if (index > -1) {\n disabledDates.push(index);\n }\n }\n body = 'var found = date && window.kendo.jQuery.inArray(date.getDay(),[' + disabledDates + ']) > -1;' + searchExpression;\n }\n callback = new Function('date', body);\n return callback;\n }\n function isEqualDate(oldValue, newValue) {\n if (oldValue instanceof Date && newValue instanceof Date) {\n oldValue = oldValue.getTime();\n newValue = newValue.getTime();\n }\n return oldValue === newValue;\n }\n function toDateObject(link) {\n var value = $(link).attr(kendo.attr(VALUE)).split('/');\n value = createDate(value[0], value[1], value[2]);\n return value;\n }\n calendar.isEqualDatePart = isEqualDatePart;\n calendar.isEqualDate = isEqualDate;\n calendar.makeUnselectable = makeUnselectable;\n calendar.restrictValue = restrictValue;\n calendar.isInRange = isInRange;\n calendar.addClassToViewContainer = addClassToViewContainer;\n calendar.normalize = normalize;\n calendar.viewsEnum = views;\n calendar.disabled = getDisabledExpr;\n calendar.toDateObject = toDateObject;\n calendar.getToday = getToday;\n calendar.createDate = createDate;\n kendo.calendar = calendar;\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.dateinput', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'dateinput',\n name: 'DateInput',\n category: 'web',\n description: 'The DateInput widget allows to edit date by typing.',\n depends: ['core']\n };\n (function ($, undefined) {\n var global = window;\n var kendo = global.kendo;\n var caret = kendo.caret;\n var ui = kendo.ui;\n var Widget = ui.Widget;\n var keys = kendo.keys;\n var ns = '.kendoDateInput';\n var proxy = $.proxy;\n var objectToString = {}.toString;\n var INPUT_EVENT_NAME = (kendo.support.propertyChangeEvent ? 'propertychange.kendoDateInput input' : 'input') + ns;\n var STATEDISABLED = 'k-state-disabled';\n var STATEDEFAULT = 'k-state-default';\n var STATEINVALID = 'k-state-invalid';\n var DISABLED = 'disabled';\n var READONLY = 'readonly';\n var CHANGE = 'change';\n var knownSymbols = 'dMyHhmftsz';\n var DateInput = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n options.format = kendo._extractFormat(options.format || kendo.getCulture(options.culture).calendars.standard.patterns.d);\n options.min = kendo.parseDate(element.attr('min')) || kendo.parseDate(options.min);\n options.max = kendo.parseDate(element.attr('max')) || kendo.parseDate(options.max);\n var insidePicker = (element.parent().attr('class') || '').indexOf('k-picker-wrap') >= 0;\n if (insidePicker) {\n that.wrapper = element.parent();\n } else {\n that.wrapper = element.wrap('').parent();\n that.wrapper.addClass(element[0].className).removeClass('input-validation-error');\n that.wrapper[0].style.cssText = element[0].style.cssText;\n element.css({\n width: '100%',\n height: element[0].style.height\n });\n }\n that._inputWrapper = $(that.wrapper[0]);\n $('').insertAfter(element);\n that._form();\n that.element.addClass(insidePicker ? ' ' : 'k-textbox').attr('autocomplete', 'off').on('focusout' + ns, function () {\n that._change();\n });\n try {\n element[0].setAttribute('type', 'text');\n } catch (e) {\n element[0].type = 'text';\n }\n var disabled = element.is('[disabled]') || $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is('[readonly]'));\n }\n that.value(that.options.value || element.val());\n kendo.notify(that);\n },\n options: {\n name: 'DateInput',\n culture: '',\n value: '',\n format: '',\n min: new Date(1900, 0, 1),\n max: new Date(2099, 11, 31),\n messages: {\n 'year': 'year',\n 'month': 'month',\n 'day': 'day',\n 'weekday': 'day of the week',\n 'hour': 'hours',\n 'minute': 'minutes',\n 'second': 'seconds',\n 'dayperiod': 'AM/PM'\n }\n },\n events: [CHANGE],\n min: function (value) {\n if (value !== undefined) {\n this.options.min = value;\n } else {\n return this.options.min;\n }\n },\n max: function (value) {\n if (value !== undefined) {\n this.options.max = value;\n } else {\n return this.options.max;\n }\n },\n setOptions: function (options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n this._unbindInput();\n this._bindInput();\n this._updateElementValue();\n },\n destroy: function () {\n var that = this;\n that.element.off(ns);\n if (that._formElement) {\n that._formElement.off('reset', that._resetHandler);\n }\n Widget.fn.destroy.call(that);\n },\n value: function (value) {\n if (value === undefined) {\n return this._dateTime.getDateObject();\n }\n if (value === null) {\n value = '';\n }\n if (objectToString.call(value) !== '[object Date]') {\n value = kendo.parseDate(value, this.options.format, this.options.culture);\n }\n if (value && !value.getTime()) {\n value = null;\n }\n this._dateTime = new customDateTime(value, this.options.format, this.options.culture, this.options.messages);\n this._updateElementValue();\n this._oldValue = value;\n },\n _updateElementValue: function () {\n var stringAndFromat = this._dateTime.toPair(this.options.format, this.options.culture, this.options.messages);\n this.element.val(stringAndFromat[0]);\n this._oldText = stringAndFromat[0];\n this._format = stringAndFromat[1];\n },\n readonly: function (readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n },\n enable: function (enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n },\n _bindInput: function () {\n var that = this;\n that.element.on('focusout' + ns, function () {\n that._change();\n }).on('paste' + ns, proxy(that._paste, that)).on('keydown' + ns, proxy(that._keydown, that)).on(INPUT_EVENT_NAME, proxy(that._input, that)).on('mouseup' + ns, proxy(that._mouseUp, that)).on('DOMMouseScroll' + ns + ' mousewheel' + ns, proxy(that._scroll, that));\n },\n _unbindInput: function () {\n this.element.off('keydown' + ns).off('paste' + ns).off('focusout' + ns).off(INPUT_EVENT_NAME).off('mouseup' + ns).off('DOMMouseScroll' + ns + ' mousewheel' + ns);\n },\n _editable: function (options) {\n var that = this;\n var element = that.element;\n var disable = options.disable;\n var readonly = options.readonly;\n var wrapper = that.wrapper;\n that._unbindInput();\n if (!readonly && !disable) {\n wrapper.addClass(STATEDEFAULT).removeClass(STATEDISABLED);\n if (element && element.length) {\n element[0].removeAttribute(DISABLED);\n element[0].removeAttribute(READONLY);\n }\n that._bindInput();\n } else {\n if (disable) {\n wrapper.addClass(STATEDISABLED).removeClass(STATEDEFAULT);\n element.attr(DISABLED, disable);\n if (element && element.length) {\n element[0].removeAttribute(READONLY);\n }\n }\n if (readonly) {\n element.attr(READONLY, readonly);\n }\n }\n },\n _change: function () {\n var that = this;\n var oldValue = that._oldValue;\n var value = that.value();\n if (value && that.min() && value < that.min()) {\n that.value(that.min());\n value = that.value();\n }\n if (value && that.max() && value > that.max()) {\n that.value(that.max());\n value = that.value();\n }\n if (oldValue && value && value.getTime() !== oldValue.getTime() || oldValue && !value || !oldValue && value) {\n that._oldValue = value;\n that.trigger(CHANGE);\n that.element.trigger(CHANGE);\n }\n },\n _input: function () {\n var that = this;\n var element = that.element[0];\n var blinkInvalid = false;\n if (kendo._activeElement() !== element) {\n return;\n }\n var diff = approximateStringMatching(this._oldText, this._format, this.element[0].value, caret(this.element[0])[0]);\n var navigationOnly = diff.length === 1 && diff[0][1] === ' ';\n if (!navigationOnly) {\n for (var i = 0; i < diff.length; i++) {\n var valid = this._dateTime.parsePart(diff[i][0], diff[i][1]);\n blinkInvalid = blinkInvalid || !valid;\n }\n }\n this._updateElementValue();\n if (diff.length && diff[0][0] !== ' ') {\n this._selectSegment(diff[0][0]);\n if (!navigationOnly) {\n var difSym = diff[0][0];\n setTimeout(function () {\n that._selectSegment(difSym);\n });\n }\n }\n if (navigationOnly) {\n var newEvent = {\n keyCode: 39,\n preventDefault: function () {\n }\n };\n this._keydown(newEvent);\n }\n if (blinkInvalid) {\n clearTimeout(that._blinkInvalidTimeout);\n var stateInvalid = STATEINVALID;\n that.wrapper.addClass(STATEINVALID);\n that._blinkInvalidTimeout = setTimeout(function () {\n that.wrapper.removeClass(stateInvalid);\n }, 100);\n }\n },\n _mouseUp: function () {\n var selection = caret(this.element[0]);\n if (selection[0] === selection[1]) {\n this._selectNearestSegment();\n }\n },\n _scroll: function (e) {\n if (kendo._activeElement() !== this.element[0] || this.element.is('[readonly]')) {\n return;\n }\n e = window.event || e;\n var newEvent = {\n keyCode: 37,\n preventDefault: function () {\n }\n };\n if (e.shiftKey) {\n newEvent.keyCode = (e.wheelDelta || -e.detail) > 0 ? 37 : 39;\n } else {\n newEvent.keyCode = (e.wheelDelta || -e.detail) > 0 ? 38 : 40;\n }\n this._keydown(newEvent);\n e.returnValue = false;\n if (e.preventDefault) {\n e.preventDefault();\n }\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n },\n _form: function () {\n var that = this;\n var element = that.element;\n var formId = element.attr('form');\n var form = formId ? $('#' + formId) : element.closest('form');\n var initialValue = element[0].value;\n if (!initialValue && that.options.value) {\n initialValue = that.options.value;\n }\n if (form[0]) {\n that._resetHandler = function () {\n setTimeout(function () {\n that.value(initialValue);\n });\n };\n that._formElement = form.on('reset', that._resetHandler);\n }\n },\n _paste: function (e) {\n e.preventDefault();\n },\n _keydown: function (e) {\n var key = e.keyCode;\n var selection;\n if (key == 37 || key == 39) {\n e.preventDefault();\n selection = caret(this.element[0]);\n if (selection[0] != selection[1]) {\n this._selectNearestSegment();\n }\n var dir = key == 37 ? -1 : 1;\n var index = dir == -1 ? caret(this.element[0])[0] - 1 : caret(this.element[0])[1] + 1;\n while (index >= 0 && index < this._format.length) {\n if (knownSymbols.indexOf(this._format[index]) >= 0) {\n this._selectSegment(this._format[index]);\n break;\n }\n index += dir;\n }\n }\n if (key == 38 || key == 40) {\n e.preventDefault();\n selection = caret(this.element[0]);\n var symbol = this._format[selection[0]];\n if (knownSymbols.indexOf(symbol) >= 0) {\n var interval = 1;\n if (symbol == 'm') {\n interval = this.options.interval || 1;\n }\n this._dateTime.modifyPart(symbol, key == 38 ? interval * 1 : interval * -1);\n this._updateElementValue();\n this._selectSegment(symbol);\n this.element.trigger(CHANGE);\n }\n }\n if (kendo.support.browser.msie && kendo.support.browser.version < 10) {\n var keycode = e.keyCode ? e.keyCode : e.which;\n if (keycode === 8 || keycode === 46) {\n var that = this;\n setTimeout(function () {\n that._input();\n }, 0);\n }\n }\n if (key === keys.ENTER) {\n this._change();\n }\n },\n _selectNearestSegment: function () {\n var selection = caret(this.element[0]);\n var start = selection[0];\n for (var i = start, j = start - 1; i < this._format.length || j >= 0; i++, j--) {\n if (i < this._format.length && knownSymbols.indexOf(this._format[i]) !== -1) {\n this._selectSegment(this._format[i]);\n return;\n }\n if (j >= 0 && knownSymbols.indexOf(this._format[j]) !== -1) {\n this._selectSegment(this._format[j]);\n return;\n }\n }\n },\n _selectSegment: function (symbol) {\n var begin = -1, end = 0;\n for (var i = 0; i < this._format.length; i++) {\n if (this._format[i] === symbol) {\n end = i + 1;\n if (begin === -1) {\n begin = i;\n }\n }\n }\n if (begin < 0) {\n begin = 0;\n }\n caret(this.element, begin, end);\n }\n });\n ui.plugin(DateInput);\n var customDateTime = function (initDate, initFormat, initCulture, initMessages) {\n var value = null;\n var year = true, month = true, date = true, hours = true, minutes = true, seconds = true, milliseconds = true;\n var typedMonthPart = '';\n var typedDayPeriodPart = '';\n var placeholders = {};\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000'\n ];\n function pad(number, digits, end) {\n number = number + '';\n digits = digits || 2;\n end = digits - number.length;\n if (end) {\n return zeros[digits].substring(0, end) + number;\n }\n return number;\n }\n var dateFormatRegExp = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|HH|H|hh|h|mm|m|fff|ff|f|tt|ss|s|zzz|zz|z|\"[^\"]*\"|'[^']*'/g;\n var months = null, calendar = null, days = null, returnsFormat = false;\n var matcher = function (match) {\n var mins, sign;\n var result;\n switch (match) {\n case 'd':\n result = date ? value.getDate() : placeholders.day;\n break;\n case 'dd':\n result = date ? pad(value.getDate()) : placeholders.day;\n break;\n case 'ddd':\n result = date && month && year ? days.namesAbbr[value.getDay()] : placeholders.weekday;\n break;\n case 'dddd':\n result = date && month && year ? days.names[value.getDay()] : placeholders.weekday;\n break;\n case 'M':\n result = month ? value.getMonth() + 1 : placeholders.month;\n break;\n case 'MM':\n result = month ? pad(value.getMonth() + 1) : placeholders.month;\n break;\n case 'MMM':\n result = month ? months.namesAbbr[value.getMonth()] : placeholders.month;\n break;\n case 'MMMM':\n result = month ? months.names[value.getMonth()] : placeholders.month;\n break;\n case 'yy':\n result = year ? pad(value.getFullYear() % 100) : placeholders.year;\n break;\n case 'yyyy':\n result = year ? pad(value.getFullYear(), 4) : placeholders.year;\n break;\n case 'h':\n result = hours ? value.getHours() % 12 || 12 : placeholders.hour;\n break;\n case 'hh':\n result = hours ? pad(value.getHours() % 12 || 12) : placeholders.hour;\n break;\n case 'H':\n result = hours ? value.getHours() : placeholders.hour;\n break;\n case 'HH':\n result = hours ? pad(value.getHours()) : placeholders.hour;\n break;\n case 'm':\n result = minutes ? value.getMinutes() : placeholders.minute;\n break;\n case 'mm':\n result = minutes ? pad(value.getMinutes()) : placeholders.minute;\n break;\n case 's':\n result = seconds ? value.getSeconds() : placeholders.second;\n break;\n case 'ss':\n result = seconds ? pad(value.getSeconds()) : placeholders.second;\n break;\n case 'f':\n result = milliseconds ? Math.floor(value.getMilliseconds() / 100) : milliseconds;\n break;\n case 'ff':\n result = value.getMilliseconds();\n if (result > 99) {\n result = Math.floor(result / 10);\n }\n result = milliseconds ? pad(result) : match;\n break;\n case 'fff':\n result = milliseconds ? pad(value.getMilliseconds(), 3) : match;\n break;\n case 'tt':\n result = hours ? value.getHours() < 12 ? calendar.AM[0] : calendar.PM[0] : placeholders.dayperiod;\n break;\n case 'zzz':\n mins = value.getTimezoneOffset();\n sign = mins < 0;\n result = Math.abs(mins / 60).toString().split('.')[0];\n mins = Math.abs(mins) - result * 60;\n result = (sign ? '+' : '-') + pad(result);\n result += ':' + pad(mins);\n break;\n case 'z':\n case 'zz':\n result = value.getTimezoneOffset() / 60;\n sign = result < 0;\n result = Math.abs(result).toString().split('.')[0];\n result = (sign ? '+' : '-') + (match === 'zz' ? pad(result) : result);\n break;\n }\n result = result !== undefined ? result : match.slice(1, match.length - 1);\n if (returnsFormat) {\n result = '' + result;\n var formatResult = '';\n if (match == 'ddd') {\n match = 'EEE';\n }\n if (match == 'dddd') {\n match = 'EEEE';\n }\n for (var i = 0; i < result.length; i++) {\n formatResult += match[0];\n }\n return formatResult;\n } else {\n return result;\n }\n };\n function generateMatcher(retFormat) {\n returnsFormat = retFormat;\n return matcher;\n }\n function setExisting(symbol, val) {\n switch (symbol) {\n case 'y':\n year = val;\n break;\n case 'M':\n month = val;\n if (!val) {\n value.setMonth(0);\n typedMonthPart = '';\n }\n break;\n case 'd':\n date = val;\n break;\n case 'H':\n case 'h':\n hours = val;\n if (!val) {\n typedDayPeriodPart = '';\n }\n break;\n case 'm':\n minutes = val;\n break;\n case 's':\n seconds = val;\n break;\n default:\n return;\n }\n }\n this.setValue = function (val) {\n date = val;\n };\n this.getValue = function () {\n return date;\n };\n this.modifyPart = function (symbol, offset) {\n var newValue = new Date(value && value.getTime ? value.getTime() : value);\n switch (symbol) {\n case 'y':\n newValue.setFullYear(newValue.getFullYear() + offset);\n break;\n case 'M':\n var newMonth = newValue.getMonth() + offset;\n newValue.setMonth(newMonth);\n if (newValue.getMonth() % 12 !== (newMonth + 12) % 12) {\n newValue.setDate(1);\n newValue.setMonth(newMonth);\n }\n break;\n case 'd':\n case 'E':\n newValue.setDate(newValue.getDate() + offset);\n break;\n case 'H':\n case 'h':\n newValue.setHours(newValue.getHours() + offset);\n break;\n case 'm':\n newValue.setMinutes(newValue.getMinutes() + offset);\n break;\n case 's':\n newValue.setSeconds(newValue.getSeconds() + offset);\n break;\n case 't':\n newValue.setHours((newValue.getHours() + 12) % 24);\n break;\n default:\n break;\n }\n if (newValue.getFullYear() > 0) {\n setExisting(symbol, true);\n value = newValue;\n }\n };\n this.parsePart = function (symbol, currentChar) {\n if (!currentChar) {\n setExisting(symbol, false);\n return true;\n }\n var newValue = new Date(value && value.getTime ? value.getTime() : value);\n var newHours;\n switch (symbol) {\n case 'd':\n var newDate = (date ? newValue.getDate() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newDate)) {\n return;\n }\n while (newDate > 31) {\n newDate = parseInt(newDate.toString().slice(1), 10);\n }\n if (newDate < 1) {\n date = false;\n } else {\n newValue.setDate(newDate);\n if (newValue.getMonth() !== value.getMonth()) {\n return;\n }\n date = true;\n }\n break;\n case 'M':\n var newMonth = (month ? (newValue.getMonth() + 1) * 10 : 0) + parseInt(currentChar, 10);\n if (!isNaN(newMonth)) {\n while (newMonth > 12) {\n newMonth = parseInt(newMonth.toString().slice(1), 10);\n }\n if (newMonth < 1) {\n month = false;\n } else {\n newValue.setMonth(newMonth - 1);\n if (newValue.getMonth() !== newMonth - 1) {\n newValue.setDate(1);\n newValue.setMonth(newMonth - 1);\n }\n month = true;\n }\n } else {\n var monthNames = calendar.months.names;\n typedMonthPart += currentChar.toLowerCase();\n while (typedMonthPart.length > 0) {\n for (var i = 0; i < monthNames.length; i++) {\n if (monthNames[i].toLowerCase().indexOf(typedMonthPart) === 0) {\n newValue.setMonth(i);\n month = true;\n value = newValue;\n return true;\n }\n }\n typedMonthPart = typedMonthPart.substring(1, typedMonthPart.length);\n }\n return false;\n }\n break;\n case 'y':\n var newYear = (year ? newValue.getFullYear() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newYear)) {\n return;\n }\n while (newYear > 9999) {\n newYear = parseInt(newYear.toString().slice(1), 10);\n }\n if (newYear < 1) {\n year = false;\n } else {\n newValue.setFullYear(newYear);\n year = true;\n }\n break;\n case 'h':\n newHours = (hours ? (newValue.getHours() % 12 || 12) * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newHours)) {\n return;\n }\n while (newHours > 12) {\n newHours = parseInt(newHours.toString().slice(1), 10);\n }\n newValue.setHours(Math.floor(newValue.getHours() / 12) * 12 + newHours % 12);\n hours = true;\n break;\n case 'H':\n newHours = (hours ? newValue.getHours() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newHours)) {\n return;\n }\n while (newHours > 23) {\n newHours = parseInt(newHours.toString().slice(1), 10);\n }\n newValue.setHours(newHours);\n hours = true;\n break;\n case 'm':\n var newMinutes = (minutes ? newValue.getMinutes() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newMinutes)) {\n return;\n }\n while (newMinutes > 59) {\n newMinutes = parseInt(newMinutes.toString().slice(1), 10);\n }\n newValue.setMinutes(newMinutes);\n minutes = true;\n break;\n case 's':\n var newSeconds = (seconds ? newValue.getSeconds() * 10 : 0) + parseInt(currentChar, 10);\n if (isNaN(newSeconds)) {\n return;\n }\n while (newSeconds > 59) {\n newSeconds = parseInt(newSeconds.toString().slice(1), 10);\n }\n newValue.setSeconds(newSeconds);\n seconds = true;\n break;\n case 't':\n if (hours) {\n typedDayPeriodPart += currentChar.toLowerCase();\n while (typedDayPeriodPart.length > 0) {\n if (calendar.AM[0].toLowerCase().indexOf(typedDayPeriodPart) === 0 && newValue.getHours() >= 12 || calendar.PM[0].toLowerCase().indexOf(typedDayPeriodPart) === 0 && newValue.getHours() < 12) {\n newValue.setHours((newValue.getHours() + 12) % 24);\n value = newValue;\n return true;\n }\n typedDayPeriodPart = typedDayPeriodPart.substring(1, typedDayPeriodPart.length);\n }\n return false;\n }\n break;\n default:\n break;\n }\n value = newValue;\n return true;\n };\n this.toPair = function (format, culture, messages) {\n if (!format) {\n return [\n '',\n ''\n ];\n }\n culture = kendo.getCulture(culture);\n calendar = culture.calendars.standard;\n format = calendar.patterns[format] || format;\n days = calendar.days;\n months = calendar.months;\n placeholders = messages;\n return [\n format.replace(dateFormatRegExp, generateMatcher(false)),\n format.replace(dateFormatRegExp, generateMatcher(true))\n ];\n };\n this.getDateObject = function () {\n return year && month && date && hours && minutes && seconds && milliseconds ? new Date(value.getTime()) : null;\n };\n if (!initDate) {\n value = new Date();\n var sampleFormat = this.toPair(initFormat, initCulture, initMessages)[1];\n for (var i = 0; i < sampleFormat.length; i++) {\n setExisting(sampleFormat[i], false);\n }\n } else {\n value = new Date(initDate.getTime());\n }\n };\n function approximateStringMatching(oldText, oldFormat, newText, caret) {\n var oldTextSeparator = oldText[caret + oldText.length - newText.length];\n oldText = oldText.substring(0, caret + oldText.length - newText.length);\n newText = newText.substring(0, caret);\n var diff = [];\n var i;\n if (oldText === newText && caret > 0) {\n diff.push([\n oldFormat[caret - 1],\n newText[caret - 1]\n ]);\n return diff;\n }\n if (oldText.indexOf(newText) === 0 && (newText.length === 0 || oldFormat[newText.length - 1] !== oldFormat[newText.length])) {\n var deletedSymbol = '';\n for (i = newText.length; i < oldText.length; i++) {\n if (oldFormat[i] !== deletedSymbol && knownSymbols.indexOf(oldFormat[i]) >= 0) {\n deletedSymbol = oldFormat[i];\n diff.push([\n deletedSymbol,\n ''\n ]);\n }\n }\n return diff;\n }\n if (newText[newText.length - 1] === ' ' || newText[newText.length - 1] === oldTextSeparator) {\n return [[\n oldFormat[caret - 1],\n ' '\n ]];\n }\n if (newText.indexOf(oldText) === 0 || knownSymbols.indexOf(oldFormat[caret - 1]) === -1) {\n var symbol = oldFormat[0];\n for (i = Math.max(0, oldText.length - 1); i < oldFormat.length; i++) {\n if (knownSymbols.indexOf(oldFormat[i]) >= 0) {\n symbol = oldFormat[i];\n break;\n }\n }\n return [[\n symbol,\n newText[caret - 1]\n ]];\n }\n return [[\n oldFormat[caret - 1],\n newText[caret - 1]\n ]];\n }\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.datepicker', [\n 'kendo.calendar',\n 'kendo.popup',\n 'kendo.dateinput'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'datepicker',\n name: 'DatePicker',\n category: 'web',\n description: 'The DatePicker widget allows the user to select a date from a calendar or by direct input.',\n depends: [\n 'calendar',\n 'popup'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, parse = kendo.parseDate, keys = kendo.keys, support = kendo.support, template = kendo.template, activeElement = kendo._activeElement, DIV = '
      ', SPAN = '', ns = '.kendoDatePicker', CLICK = 'click' + ns, UP = support.mouseAndTouchPresent ? kendo.applyEventMap('up', ns.slice(1)) : CLICK, OPEN = 'open', CLOSE = 'close', CHANGE = 'change', DISABLED = 'disabled', READONLY = 'readonly', DEFAULT = 'k-state-default', FOCUSED = 'k-state-focused', SELECTED = 'k-state-selected', STATEDISABLED = 'k-state-disabled', HOVER = 'k-state-hover', HOVEREVENTS = 'mouseenter' + ns + ' mouseleave' + ns, MOUSEDOWN = 'mousedown' + ns, ID = 'id', MIN = 'min', MAX = 'max', MONTH = 'month', ARIA_DISABLED = 'aria-disabled', ARIA_EXPANDED = 'aria-expanded', ARIA_HIDDEN = 'aria-hidden', calendar = kendo.calendar, isInRange = calendar.isInRange, restrictValue = calendar.restrictValue, isEqualDatePart = calendar.isEqualDatePart, extend = $.extend, proxy = $.proxy, DATE = Date;\n function normalize(options) {\n var parseFormats = options.parseFormats, format = options.format;\n calendar.normalize(options);\n parseFormats = $.isArray(parseFormats) ? parseFormats : [parseFormats];\n if (!parseFormats.length) {\n parseFormats.push('yyyy-MM-dd');\n }\n if ($.inArray(format, parseFormats) === -1) {\n parseFormats.splice(0, 0, options.format);\n }\n options.parseFormats = parseFormats;\n }\n function preventDefault(e) {\n e.preventDefault();\n }\n var DateView = function (options) {\n var that = this, id, body = document.body, div = $(DIV).attr(ARIA_HIDDEN, 'true').addClass('k-calendar-container');\n that.options = options = options || {};\n id = options.id;\n if (!options.omitPopup) {\n div.appendTo(body);\n that.popup = new ui.Popup(div, extend(options.popup, options, {\n name: 'Popup',\n isRtl: kendo.support.isRtl(options.anchor)\n }));\n } else {\n div = options.dateDiv;\n }\n if (id) {\n id += '_dateview';\n div.attr(ID, id);\n that._dateViewID = id;\n }\n that.div = div;\n that.value(options.value);\n };\n DateView.prototype = {\n _calendar: function () {\n var that = this;\n var calendar = that.calendar;\n var options = that.options;\n var div;\n if (!calendar) {\n div = $(DIV).attr(ID, kendo.guid()).appendTo(options.omitPopup ? options.dateDiv : that.popup.element).on(MOUSEDOWN, preventDefault).on(CLICK, 'td:has(.k-link)', proxy(that._click, that));\n that.calendar = calendar = new ui.Calendar(div, { componentType: options.componentType });\n that._setOptions(options);\n kendo.calendar.makeUnselectable(calendar.element);\n calendar.navigate(that._value || that._current, options.start);\n that.value(that._value);\n }\n },\n _setOptions: function (options) {\n this.calendar.setOptions({\n focusOnNav: false,\n change: options.change,\n culture: options.culture,\n dates: options.dates,\n depth: options.depth,\n footer: options.footer,\n format: options.format,\n max: options.max,\n min: options.min,\n month: options.month,\n weekNumber: options.weekNumber,\n start: options.start,\n disableDates: options.disableDates\n });\n },\n setOptions: function (options) {\n var old = this.options;\n var disableDates = options.disableDates;\n if (disableDates) {\n options.disableDates = calendar.disabled(disableDates);\n }\n this.options = extend(old, options, {\n change: old.change,\n close: old.close,\n open: old.open\n });\n if (this.calendar) {\n this._setOptions(this.options);\n }\n },\n destroy: function () {\n if (this.popup) {\n this.popup.destroy();\n }\n },\n open: function () {\n var that = this;\n var popupHovered;\n that._calendar();\n popupHovered = that.popup._hovered;\n that.popup._hovered = true;\n that.popup.open();\n setTimeout(function () {\n that.popup._hovered = popupHovered;\n }, 1);\n },\n close: function () {\n this.popup.close();\n },\n min: function (value) {\n this._option(MIN, value);\n },\n max: function (value) {\n this._option(MAX, value);\n },\n toggle: function () {\n var that = this;\n that[that.popup.visible() ? CLOSE : OPEN]();\n },\n move: function (e) {\n var that = this, key = e.keyCode, calendar = that.calendar, selectIsClicked = e.ctrlKey && key == keys.DOWN || key == keys.ENTER, handled = false;\n if (e.altKey) {\n if (key == keys.DOWN) {\n that.open();\n e.preventDefault();\n handled = true;\n } else if (key == keys.UP) {\n that.close();\n e.preventDefault();\n handled = true;\n }\n } else if (that.popup && that.popup.visible()) {\n if (key == keys.ESC || selectIsClicked && calendar._cell.hasClass(SELECTED)) {\n that.close();\n e.preventDefault();\n return true;\n }\n if (key != keys.SPACEBAR) {\n that._current = calendar._move(e);\n }\n handled = true;\n }\n return handled;\n },\n current: function (date) {\n this._current = date;\n if (this.calendar) {\n this.calendar._focus(date);\n }\n },\n value: function (value) {\n var that = this, calendar = that.calendar, options = that.options, disabledDate = options.disableDates;\n if (disabledDate && disabledDate(value)) {\n value = null;\n }\n that._value = value;\n that._current = new DATE(+restrictValue(value, options.min, options.max));\n if (calendar) {\n calendar.value(value);\n }\n },\n _click: function (e) {\n if (e.currentTarget.className.indexOf(SELECTED) !== -1) {\n this.calendar.trigger('change');\n this.close();\n }\n },\n _option: function (option, value) {\n var that = this;\n var calendar = that.calendar;\n that.options[option] = value;\n if (calendar) {\n calendar[option](value);\n }\n }\n };\n DateView.normalize = normalize;\n kendo.DateView = DateView;\n var DatePicker = Widget.extend({\n init: function (element, options) {\n var that = this, disabled, div;\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n options.disableDates = kendo.calendar.disabled(options.disableDates);\n options.min = parse(element.attr('min')) || parse(options.min);\n options.max = parse(element.attr('max')) || parse(options.max);\n normalize(options);\n that._initialOptions = extend({}, options);\n that._wrapper();\n that.dateView = new DateView(extend({}, options, {\n id: element.attr(ID),\n anchor: that.wrapper,\n change: function () {\n that._change(this.value());\n that.close();\n },\n close: function (e) {\n if (that.trigger(CLOSE)) {\n e.preventDefault();\n } else {\n element.attr(ARIA_EXPANDED, false);\n div.attr(ARIA_HIDDEN, true);\n }\n },\n open: function (e) {\n var options = that.options, date;\n if (that.trigger(OPEN)) {\n e.preventDefault();\n } else {\n if (that.element.val() !== that._oldText) {\n date = parse(element.val(), options.parseFormats, options.culture);\n that.dateView[date ? 'current' : 'value'](date);\n }\n element.attr(ARIA_EXPANDED, true);\n div.attr(ARIA_HIDDEN, false);\n that._updateARIA(date);\n }\n }\n }));\n div = that.dateView.div;\n that._icon();\n try {\n element[0].setAttribute('type', 'text');\n } catch (e) {\n element[0].type = 'text';\n }\n element.addClass('k-input').attr({\n role: 'combobox',\n 'aria-expanded': false,\n 'aria-owns': that.dateView._dateViewID,\n 'autocomplete': 'off'\n });\n that._reset();\n that._template();\n disabled = element.is('[disabled]') || $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is('[readonly]'));\n }\n that._createDateInput(options);\n that._old = that._update(options.value || that.element.val());\n that._oldText = element.val();\n kendo.notify(that);\n },\n events: [\n OPEN,\n CLOSE,\n CHANGE\n ],\n options: {\n name: 'DatePicker',\n value: null,\n footer: '',\n format: '',\n culture: '',\n parseFormats: [],\n min: new Date(1900, 0, 1),\n max: new Date(2099, 11, 31),\n start: MONTH,\n depth: MONTH,\n animation: {},\n month: {},\n dates: [],\n disableDates: null,\n ARIATemplate: 'Current focused date is #=kendo.toString(data.current, \"D\")#',\n dateInput: false,\n weekNumber: false\n },\n setOptions: function (options) {\n var that = this;\n var value = that._value;\n Widget.fn.setOptions.call(that, options);\n options = that.options;\n options.min = parse(options.min);\n options.max = parse(options.max);\n normalize(options);\n that.dateView.setOptions(options);\n that._createDateInput(options);\n if (!that._dateInput) {\n that.element.val(kendo.toString(value, options.format, options.culture));\n }\n if (value) {\n that._updateARIA(value);\n }\n },\n _editable: function (options) {\n var that = this, icon = that._dateIcon.off(ns), element = that.element.off(ns), wrapper = that._inputWrapper.off(ns), readonly = options.readonly, disable = options.disable;\n if (!readonly && !disable) {\n wrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n if (element && element.length) {\n element[0].removeAttribute(DISABLED);\n element[0].removeAttribute(READONLY);\n }\n element.attr(ARIA_DISABLED, false).on('keydown' + ns, proxy(that._keydown, that)).on('focusout' + ns, proxy(that._blur, that)).on('focus' + ns, function () {\n that._inputWrapper.addClass(FOCUSED);\n });\n icon.on(UP, proxy(that._click, that)).on(MOUSEDOWN, preventDefault);\n } else {\n wrapper.addClass(disable ? STATEDISABLED : DEFAULT).removeClass(disable ? DEFAULT : STATEDISABLED);\n element.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable);\n }\n },\n readonly: function (readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n if (this._dateInput) {\n this._dateInput._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n }\n },\n enable: function (enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n if (this._dateInput) {\n this._dateInput._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n }\n },\n destroy: function () {\n var that = this;\n Widget.fn.destroy.call(that);\n that.dateView.destroy();\n that.element.off(ns);\n that._dateIcon.off(ns);\n that._inputWrapper.off(ns);\n if (that._form) {\n that._form.off('reset', that._resetHandler);\n }\n },\n open: function () {\n this.dateView.open();\n },\n close: function () {\n this.dateView.close();\n },\n min: function (value) {\n return this._option(MIN, value);\n },\n max: function (value) {\n return this._option(MAX, value);\n },\n value: function (value) {\n var that = this;\n if (value === undefined) {\n return that._value;\n }\n that._old = that._update(value);\n if (that._old === null) {\n that.element.val('');\n }\n that._oldText = that.element.val();\n },\n _toggleHover: function (e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === 'mouseenter');\n },\n _blur: function () {\n var that = this, value = that.element.val();\n that.close();\n if (value !== that._oldText) {\n that._change(value);\n if (!value) {\n that.dateView.current(kendo.calendar.getToday());\n }\n }\n that._inputWrapper.removeClass(FOCUSED);\n },\n _click: function (e) {\n var that = this;\n that.dateView.toggle();\n that._focusElement(e.type);\n },\n _focusElement: function (eventType) {\n var element = this.element;\n if ((!support.touch || support.mouseAndTouchPresent && !(eventType || '').match(/touch/i)) && element[0] !== activeElement()) {\n element.trigger('focus');\n }\n },\n _change: function (value) {\n var that = this, oldValue = that.element.val(), dateChanged;\n value = that._update(value);\n dateChanged = !kendo.calendar.isEqualDate(that._old, value);\n var valueUpdated = dateChanged && !that._typing;\n var textFormatted = oldValue !== that.element.val();\n if (valueUpdated || textFormatted) {\n that.element.trigger(CHANGE);\n }\n if (dateChanged) {\n that._old = value;\n that._oldText = that.element.val();\n that.trigger(CHANGE);\n }\n that._typing = false;\n },\n _keydown: function (e) {\n var that = this, dateView = that.dateView, value = that.element.val(), handled = false;\n if (!dateView.popup.visible() && e.keyCode == keys.ENTER && value !== that._oldText) {\n that._change(value);\n } else {\n handled = dateView.move(e);\n that._updateARIA(dateView._current);\n if (!handled) {\n that._typing = true;\n } else if (that._dateInput && e.stopImmediatePropagation) {\n e.stopImmediatePropagation();\n }\n }\n },\n _icon: function () {\n var that = this, element = that.element, icon;\n icon = element.next('span.k-select');\n if (!icon[0]) {\n icon = $('').insertAfter(element);\n }\n that._dateIcon = icon.attr({\n 'role': 'button',\n 'aria-controls': that.dateView._dateViewID\n });\n },\n _option: function (option, value) {\n var that = this, options = that.options;\n if (value === undefined) {\n return options[option];\n }\n value = parse(value, options.parseFormats, options.culture);\n if (!value) {\n return;\n }\n options[option] = new DATE(+value);\n that.dateView[option](value);\n },\n _update: function (value) {\n var that = this, options = that.options, min = options.min, max = options.max, current = that._value, date = parse(value, options.parseFormats, options.culture), isSameType = date === null && current === null || date instanceof Date && current instanceof Date, formattedValue;\n if (options.disableDates(date)) {\n date = null;\n if (!that._old && !that.element.val()) {\n value = null;\n }\n }\n if (+date === +current && isSameType) {\n formattedValue = kendo.toString(date, options.format, options.culture);\n if (formattedValue !== value) {\n that.element.val(date === null ? value : formattedValue);\n }\n return date;\n }\n if (date !== null && isEqualDatePart(date, min)) {\n date = restrictValue(date, min, max);\n } else if (!isInRange(date, min, max)) {\n date = null;\n }\n that._value = date;\n that.dateView.value(date);\n if (that._dateInput && date) {\n that._dateInput.value(date || value);\n } else {\n that.element.val(kendo.toString(date || value, options.format, options.culture));\n }\n that._updateARIA(date);\n return date;\n },\n _wrapper: function () {\n var that = this, element = that.element, wrapper;\n wrapper = element.parents('.k-datepicker');\n if (!wrapper[0]) {\n wrapper = element.wrap(SPAN).parent().addClass('k-picker-wrap k-state-default');\n wrapper = wrapper.wrap(SPAN).parent();\n }\n wrapper[0].style.cssText = element[0].style.cssText;\n element.css({\n width: '100%',\n height: element[0].style.height\n });\n that.wrapper = wrapper.addClass('k-widget k-datepicker').addClass(element[0].className).removeClass('input-validation-error');\n that._inputWrapper = $(wrapper[0].firstChild);\n },\n _reset: function () {\n var that = this, element = that.element, formId = element.attr('form'), options = that.options, disabledDate = options.disableDates, parseFormats = options.parseFormats.length ? options.parseFormats : null, optionsValue = that._initialOptions.value, form = formId ? $('#' + formId) : element.closest('form'), initialValue = element[0].defaultValue;\n if (optionsValue && (disabledDate && disabledDate(optionsValue))) {\n optionsValue = null;\n }\n if ((!initialValue || !kendo.parseDate(initialValue, parseFormats, options.culture)) && optionsValue) {\n element.attr('value', kendo.toString(optionsValue, options.format, options.culture));\n }\n if (form[0]) {\n that._resetHandler = function () {\n that.value(optionsValue || element[0].defaultValue);\n that.max(that._initialOptions.max);\n that.min(that._initialOptions.min);\n };\n that._form = form.on('reset', that._resetHandler);\n }\n },\n _template: function () {\n this._ariaTemplate = template(this.options.ARIATemplate);\n },\n _createDateInput: function (options) {\n if (this._dateInput) {\n this._dateInput.destroy();\n this._dateInput = null;\n }\n if (options.dateInput) {\n this._dateInput = new ui.DateInput(this.element, {\n culture: options.culture,\n format: options.format,\n min: options.min,\n max: options.max\n });\n }\n },\n _updateARIA: function (date) {\n var cell;\n var that = this;\n var calendar = that.dateView.calendar;\n if (that.element && that.element.length) {\n that.element[0].removeAttribute('aria-activedescendant');\n }\n if (calendar) {\n cell = calendar._cell;\n cell.attr('aria-label', that._ariaTemplate({ current: date || calendar.current() }));\n that.element.attr('aria-activedescendant', cell.attr('id'));\n }\n }\n });\n ui.plugin(DatePicker);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.floatinglabel', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'floatinglabel',\n name: 'FloatingLabel',\n category: 'framework',\n depends: ['core'],\n hidden: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, Widget = kendo.ui.Widget, ui = kendo.ui, NS = '.kendoFloatingLabel', FLOATINGLABELCONTAINER = 'k-floating-label-container', EMPTY = 'k-state-empty', FOCUSED = 'k-state-focused', STATEDISABLED = 'k-state-disabled', NOCLICKCLASS = 'k-no-click', proxy = $.proxy;\n var FloatingLabel = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n that.refresh();\n that._editable({\n readonly: that.options.widget.options.readonly !== undefined ? that.options.widget.options.readonly : false,\n disable: that.options.widget.options.enable !== undefined ? !that.options.widget.options.enable : false\n });\n that.element.addClass(FLOATINGLABELCONTAINER);\n kendo.notify(that);\n },\n options: {\n name: 'FloatingLabel',\n widget: null\n },\n readonly: function (readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n },\n enable: function (enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n },\n refresh: function () {\n var that = this;\n var element = that.element;\n element.removeClass(EMPTY).removeClass(FOCUSED);\n if (!that.options.widget.element.val()) {\n element.addClass(EMPTY);\n }\n if (document.activeElement === that.options.widget.element[0]) {\n element.addClass(FOCUSED);\n }\n },\n destroy: function () {\n var that = this;\n that.element.off(NS);\n Widget.fn.destroy.call(that);\n },\n _editable: function (options) {\n var that = this;\n var element = that.element;\n var disable = options.disable;\n var readonly = options.readonly;\n element.off(NS);\n if (!readonly && !disable) {\n element.removeClass(STATEDISABLED).removeClass(NOCLICKCLASS);\n element.on('focusin' + NS, proxy(that.refresh, that));\n element.on('focusout' + NS, proxy(that.refresh, that));\n } else {\n element.toggleClass(STATEDISABLED, disable).toggleClass(NOCLICKCLASS, readonly);\n }\n }\n });\n ui.plugin(FloatingLabel);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.numerictextbox', [\n 'kendo.core',\n 'kendo.userevents',\n 'kendo.floatinglabel'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'numerictextbox',\n name: 'NumericTextBox',\n category: 'web',\n description: 'The NumericTextBox widget can format and display numeric, percentage or currency textbox.',\n depends: [\n 'core',\n 'userevents',\n 'floatinglabel'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, caret = kendo.caret, keys = kendo.keys, ui = kendo.ui, Widget = ui.Widget, activeElement = kendo._activeElement, extractFormat = kendo._extractFormat, parse = kendo.parseFloat, placeholderSupported = kendo.support.placeholder, getCulture = kendo.getCulture, CHANGE = 'change', DISABLED = 'disabled', READONLY = 'readonly', INPUT = 'k-input', SPIN = 'spin', ns = '.kendoNumericTextBox', TOUCHEND = 'touchend', MOUSELEAVE = 'mouseleave' + ns, HOVEREVENTS = 'mouseenter' + ns + ' ' + MOUSELEAVE, DEFAULT = 'k-state-default', FOCUSED = 'k-state-focused', HOVER = 'k-state-hover', FOCUS = 'focus', POINT = '.', CLASS_ICON = 'k-icon', LABELCLASSES = 'k-label k-input-label', SELECTED = 'k-state-selected', STATEDISABLED = 'k-state-disabled', STATE_INVALID = 'k-state-invalid', ARIA_DISABLED = 'aria-disabled', INTEGER_REGEXP = /^(-)?(\\d*)$/, NULL = null, proxy = $.proxy, isPlainObject = $.isPlainObject, extend = $.extend;\n var NumericTextBox = Widget.extend({\n init: function (element, options) {\n var that = this, isStep = options && options.step !== undefined, min, max, step, value, disabled;\n var inputType;\n Widget.fn.init.call(that, element, options);\n options = that.options;\n element = that.element.on('focusout' + ns, proxy(that._focusout, that)).attr('role', 'spinbutton');\n options.placeholder = options.placeholder || element.attr('placeholder');\n min = that.min(element.attr('min'));\n max = that.max(element.attr('max'));\n step = that._parse(element.attr('step'));\n if (options.min === NULL && min !== NULL) {\n options.min = min;\n }\n if (options.max === NULL && max !== NULL) {\n options.max = max;\n }\n if (!isStep && step !== NULL) {\n options.step = step;\n }\n that._initialOptions = extend({}, options);\n inputType = element.attr('type');\n that._reset();\n that._wrapper();\n that._arrows();\n that._validation();\n that._input();\n if (!kendo.support.mobileOS) {\n that._text.on(FOCUS + ns, proxy(that._click, that));\n } else {\n that._text.on(TOUCHEND + ns + ' ' + FOCUS + ns, function () {\n if (kendo.support.browser.edge) {\n that._text.one(FOCUS + ns, function () {\n that._toggleText(false);\n element.focus();\n });\n } else {\n that._toggleText(false);\n element.focus();\n }\n });\n }\n element.attr('aria-valuemin', options.min !== NULL ? options.min * options.factor : options.min).attr('aria-valuemax', options.max !== NULL ? options.max * options.factor : options.max);\n options.format = extractFormat(options.format);\n value = options.value;\n if (value == NULL) {\n if (inputType == 'number') {\n value = parseFloat(element.val());\n } else {\n value = element.val();\n }\n }\n that.value(value);\n disabled = element.is('[disabled]') || $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is('[readonly]'));\n }\n that.angular('compile', function () {\n return { elements: that._text.get() };\n });\n that._label();\n kendo.notify(that);\n },\n options: {\n name: 'NumericTextBox',\n decimals: NULL,\n restrictDecimals: false,\n min: NULL,\n max: NULL,\n value: NULL,\n step: 1,\n round: true,\n culture: '',\n format: 'n',\n spinners: true,\n placeholder: '',\n factor: 1,\n upArrowText: 'Increase value',\n downArrowText: 'Decrease value',\n label: null\n },\n events: [\n CHANGE,\n SPIN\n ],\n _editable: function (options) {\n var that = this, element = that.element, disable = options.disable, readonly = options.readonly, text = that._text.add(element), wrapper = that._inputWrapper.off(HOVEREVENTS);\n that._toggleText(true);\n that._upArrowEventHandler.unbind('press');\n that._downArrowEventHandler.unbind('press');\n element.off('keydown' + ns).off('keyup' + ns).off('input' + ns).off('paste' + ns);\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n }\n if (!readonly && !disable) {\n wrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n text.removeAttr(DISABLED).removeAttr(READONLY).attr(ARIA_DISABLED, false);\n that._upArrowEventHandler.bind('press', function (e) {\n e.preventDefault();\n that._spin(1);\n that._upArrow.addClass(SELECTED);\n });\n that._downArrowEventHandler.bind('press', function (e) {\n e.preventDefault();\n that._spin(-1);\n that._downArrow.addClass(SELECTED);\n });\n that.element.on('keydown' + ns, proxy(that._keydown, that)).on('keyup' + ns, proxy(that._keyup, that)).on('paste' + ns, proxy(that._paste, that)).on('input' + ns, proxy(that._inputHandler, that));\n if (that._inputLabel) {\n that._inputLabel.on('click' + ns, proxy(that.focus, that));\n }\n } else {\n wrapper.addClass(disable ? STATEDISABLED : DEFAULT).removeClass(disable ? DEFAULT : STATEDISABLED);\n text.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable);\n }\n },\n readonly: function (readonly) {\n var that = this;\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n if (that.floatingLabel) {\n that.floatingLabel.readonly(readonly === undefined ? true : readonly);\n }\n },\n enable: function (enable) {\n var that = this;\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n if (that.floatingLabel) {\n that.floatingLabel.enable(enable = enable === undefined ? true : enable);\n }\n },\n setOptions: function (options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n that._arrowsWrap.toggle(that.options.spinners);\n that._inputWrapper.toggleClass('k-expand-padding', !that.options.spinners);\n that._text.prop('placeholder', that.options.placeholder);\n that._placeholder(that.options.placeholder);\n that.element.attr({\n 'aria-valuemin': that.options.min !== NULL ? that.options.min * that.options.factor : that.options.min,\n 'aria-valuemax': that.options.max !== NULL ? that.options.max * that.options.factor : that.options.max\n });\n that.options.format = extractFormat(that.options.format);\n if (options.value !== undefined) {\n that.value(options.value);\n }\n },\n destroy: function () {\n var that = this;\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n }\n }\n that.element.add(that._text).add(that._upArrow).add(that._downArrow).add(that._inputWrapper).off(ns);\n that._upArrowEventHandler.destroy();\n that._downArrowEventHandler.destroy();\n if (that._form) {\n that._form.off('reset', that._resetHandler);\n }\n Widget.fn.destroy.call(that);\n },\n min: function (value) {\n return this._option('min', value);\n },\n max: function (value) {\n return this._option('max', value);\n },\n step: function (value) {\n return this._option('step', value);\n },\n value: function (value) {\n var that = this, adjusted;\n if (value === undefined) {\n return that._value;\n }\n value = that._parse(value);\n adjusted = that._adjust(value);\n if (value !== adjusted) {\n return;\n }\n that._update(value);\n that._old = that._value;\n },\n focus: function () {\n this._focusin();\n },\n _adjust: function (value) {\n var that = this, options = that.options, min = options.min, max = options.max;\n if (value === NULL) {\n return value;\n }\n if (min !== NULL && value < min) {\n value = min;\n } else if (max !== NULL && value > max) {\n value = max;\n }\n return value;\n },\n _arrows: function () {\n var that = this, arrows, _release = function () {\n clearTimeout(that._spinning);\n arrows.removeClass(SELECTED);\n }, options = that.options, spinners = options.spinners, element = that.element;\n arrows = element.siblings('.' + CLASS_ICON);\n if (!arrows[0]) {\n arrows = $(buttonHtml('increase', options.upArrowText) + buttonHtml('decrease', options.downArrowText)).insertAfter(element);\n that._arrowsWrap = arrows.wrapAll('').parent();\n }\n if (!spinners) {\n arrows.parent().toggle(spinners);\n that._inputWrapper.addClass('k-expand-padding');\n }\n that._upArrow = arrows.eq(0);\n that._upArrowEventHandler = new kendo.UserEvents(that._upArrow, { release: _release });\n that._downArrow = arrows.eq(1);\n that._downArrowEventHandler = new kendo.UserEvents(that._downArrow, { release: _release });\n },\n _validation: function () {\n var that = this;\n var element = that.element;\n that._validationIcon = $('').hide().insertAfter(element);\n },\n _blur: function () {\n var that = this;\n that._toggleText(true);\n that._change(that.element.val());\n },\n _click: function (e) {\n var that = this;\n clearTimeout(that._focusing);\n that._focusing = setTimeout(function () {\n var input = e.target, idx = caret(input)[0], value = input.value.substring(0, idx), format = that._format(that.options.format), group = format[','], result, groupRegExp, extractRegExp, caretPosition = 0;\n if (group) {\n groupRegExp = new RegExp('\\\\' + group, 'g');\n extractRegExp = new RegExp('(^(-)$)|(^(-)?([\\\\d\\\\' + group + ']+)(\\\\' + format[POINT] + ')?(\\\\d+)?)');\n }\n if (extractRegExp) {\n result = extractRegExp.exec(value);\n }\n if (result) {\n caretPosition = result[0].replace(groupRegExp, '').length;\n if (value.indexOf('(') != -1 && that._value < 0) {\n caretPosition++;\n }\n }\n that._focusin();\n caret(that.element[0], caretPosition);\n });\n },\n _change: function (value) {\n var that = this, factor = that.options.factor;\n if (factor && factor !== 1) {\n value = kendo.parseFloat(value);\n if (value !== null) {\n value = value / factor;\n }\n }\n that._update(value);\n value = that._value;\n if (that._old != value) {\n that._old = value;\n if (!that._typing) {\n that.element.trigger(CHANGE);\n }\n that.trigger(CHANGE);\n }\n that._typing = false;\n },\n _culture: function (culture) {\n return culture || getCulture(this.options.culture);\n },\n _focusin: function () {\n var that = this;\n that._inputWrapper.addClass(FOCUSED);\n that._toggleText(false);\n that.element[0].focus();\n },\n _focusout: function () {\n var that = this;\n clearTimeout(that._focusing);\n that._inputWrapper.removeClass(FOCUSED).removeClass(HOVER);\n that._blur();\n that._removeInvalidState();\n },\n _format: function (format, culture) {\n var numberFormat = this._culture(culture).numberFormat;\n format = format.toLowerCase();\n if (format.indexOf('c') > -1) {\n numberFormat = numberFormat.currency;\n } else if (format.indexOf('p') > -1) {\n numberFormat = numberFormat.percent;\n }\n return numberFormat;\n },\n _input: function () {\n var that = this, options = that.options, CLASSNAME = 'k-formatted-value', element = that.element.addClass(INPUT).show()[0], accessKey = element.accessKey, wrapper = that.wrapper, text;\n text = wrapper.find(POINT + CLASSNAME);\n if (!text[0]) {\n text = $('').insertBefore(element).addClass(CLASSNAME).attr('aria-hidden', 'true');\n }\n try {\n element.setAttribute('type', 'text');\n } catch (e) {\n element.type = 'text';\n }\n text[0].title = element.title;\n text[0].tabIndex = element.tabIndex;\n text[0].style.cssText = element.style.cssText;\n text.prop('placeholder', options.placeholder);\n if (accessKey) {\n text.attr('accesskey', accessKey);\n element.accessKey = '';\n }\n that._text = text.addClass(element.className).attr({\n 'role': 'spinbutton',\n 'aria-valuemin': options.min !== NULL ? options.min * options.factor : options.min,\n 'aria-valuemax': options.max !== NULL ? options.max * options.factor : options.max,\n 'autocomplete': 'off'\n });\n },\n _keydown: function (e) {\n var that = this, key = e.keyCode;\n if (key === keys.NUMPAD_DOT) {\n that._numPadDot = true;\n }\n if (key == keys.DOWN) {\n that._step(-1);\n return;\n } else if (key == keys.UP) {\n that._step(1);\n return;\n } else if (key == keys.ENTER) {\n that._change(that.element.val());\n return;\n }\n if (key != keys.TAB) {\n that._typing = true;\n }\n that._cachedCaret = caret(that.element);\n },\n _keyup: function () {\n this._removeInvalidState();\n },\n _inputHandler: function () {\n var element = this.element;\n var value = element.val();\n var min = this.options.min;\n var numberFormat = this._format(this.options.format);\n var decimalSeparator = numberFormat[POINT];\n var minInvalid = min !== null && min >= 0 && value.charAt(0) === '-';\n if (this._numPadDot && decimalSeparator !== POINT) {\n value = value.replace(POINT, decimalSeparator);\n this.element.val(value);\n this._numPadDot = false;\n }\n if (this._numericRegex(numberFormat).test(value) && !minInvalid) {\n this._oldText = value;\n } else {\n this._blinkInvalidState();\n this.element.val(this._oldText);\n if (this._cachedCaret) {\n caret(element, this._cachedCaret[0]);\n this._cachedCaret = null;\n }\n }\n },\n _blinkInvalidState: function () {\n var that = this;\n that._addInvalidState();\n clearTimeout(that._invalidStateTimeout);\n that._invalidStateTimeout = setTimeout(proxy(that._removeInvalidState, that), 100);\n },\n _addInvalidState: function () {\n var that = this;\n that._inputWrapper.addClass(STATE_INVALID);\n that._validationIcon.show();\n },\n _removeInvalidState: function () {\n var that = this;\n that._inputWrapper.removeClass(STATE_INVALID);\n that._validationIcon.hide();\n that._invalidStateTimeout = null;\n },\n _numericRegex: function (numberFormat) {\n var that = this;\n var separator = numberFormat[POINT];\n var precision = that.options.decimals;\n var fractionRule = '*';\n if (separator === POINT) {\n separator = '\\\\' + separator;\n }\n if (precision === NULL) {\n precision = numberFormat.decimals;\n }\n if (precision === 0 && that.options.restrictDecimals) {\n return INTEGER_REGEXP;\n }\n if (that.options.restrictDecimals) {\n fractionRule = '{0,' + precision + '}';\n }\n if (that._separator !== separator) {\n that._separator = separator;\n that._floatRegExp = new RegExp('^(-)?(((\\\\d+(' + separator + '\\\\d' + fractionRule + ')?)|(' + separator + '\\\\d' + fractionRule + ')))?$');\n }\n return that._floatRegExp;\n },\n _paste: function (e) {\n var that = this;\n var element = e.target;\n var value = element.value;\n var numberFormat = that._format(that.options.format);\n setTimeout(function () {\n var result = that._parse(element.value);\n if (result === NULL) {\n that._update(value);\n } else {\n element.value = result.toString().replace(POINT, numberFormat[POINT]);\n if (that._adjust(result) !== result || !that._numericRegex(numberFormat).test(element.value)) {\n that._update(value);\n }\n }\n });\n },\n _option: function (option, value) {\n var that = this, element = that.element, options = that.options;\n if (value === undefined) {\n return options[option];\n }\n value = that._parse(value);\n if (!value && option === 'step') {\n return;\n }\n options[option] = value;\n element.add(that._text).attr('aria-value' + option, value);\n element.attr(option, value);\n },\n _spin: function (step, timeout) {\n var that = this;\n timeout = timeout || 500;\n clearTimeout(that._spinning);\n that._spinning = setTimeout(function () {\n that._spin(step, 50);\n }, timeout);\n that._step(step);\n },\n _step: function (step) {\n var that = this, element = that.element, originalValue = that._value, value = that._parse(element.val()) || 0, precision = that.options.decimals || 2;\n if (activeElement() != element[0]) {\n that._focusin();\n }\n if (that.options.factor && value) {\n value = value / that.options.factor;\n }\n value = +(value + that.options.step * step).toFixed(precision);\n value = that._adjust(value);\n that._update(value);\n that._typing = false;\n if (originalValue !== value) {\n that.trigger(SPIN);\n }\n },\n _toggleHover: function (e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === 'mouseenter');\n },\n _toggleText: function (toggle) {\n var that = this;\n that._text.toggle(toggle);\n that.element.toggle(!toggle);\n },\n _parse: function (value, culture) {\n return parse(value, this._culture(culture), this.options.format);\n },\n _round: function (value, precision) {\n var rounder = this.options.round ? kendo._round : truncate;\n return rounder(value, precision);\n },\n _update: function (value) {\n var that = this, options = that.options, factor = options.factor, format = options.format, decimals = options.decimals, culture = that._culture(), numberFormat = that._format(format, culture), isNotNull;\n if (decimals === NULL) {\n decimals = numberFormat.decimals;\n }\n value = that._parse(value, culture);\n isNotNull = value !== NULL;\n if (isNotNull) {\n value = parseFloat(that._round(value, decimals), 10);\n }\n that._value = value = that._adjust(value);\n that._placeholder(kendo.toString(value, format, culture));\n if (isNotNull) {\n if (factor) {\n value = parseFloat(that._round(value * factor, decimals), 10);\n }\n value = value.toString();\n if (value.indexOf('e') !== -1) {\n value = that._round(+value, decimals);\n }\n value = value.replace(POINT, numberFormat[POINT]);\n } else {\n value = null;\n }\n that.element.val(value);\n that._oldText = value;\n that.element.add(that._text).attr('aria-valuenow', value);\n },\n _placeholder: function (value) {\n var input = this._text;\n input.val(value);\n if (!placeholderSupported && !value) {\n input.val(this.options.placeholder);\n }\n input.attr('title', this.element.attr('title') || input.val());\n },\n _label: function () {\n var that = this;\n var element = that.element;\n var options = that.options;\n var id = element.attr('id');\n var floating;\n var labelText;\n if (options.label !== null) {\n floating = isPlainObject(options.label) ? options.label.floating : false;\n labelText = isPlainObject(options.label) ? options.label.content : options.label;\n if (floating) {\n that._floatingLabelContainer = that.wrapper.wrap('').parent();\n that.floatingLabel = new kendo.ui.FloatingLabel(that._floatingLabelContainer, { widget: that });\n }\n if (kendo.isFunction(labelText)) {\n labelText = labelText.call(that);\n }\n if (!labelText) {\n labelText = '';\n }\n if (!id) {\n id = options.name + '_' + kendo.guid();\n element.attr('id', id);\n }\n that._inputLabel = $('\\'').insertBefore(that.wrapper);\n if (that.element.attr('disabled') === undefined && that.element.attr('readonly') === undefined) {\n that._inputLabel.on('click' + ns, proxy(that.focus, that));\n }\n }\n },\n _wrapper: function () {\n var that = this, element = that.element, DOMElement = element[0], wrapper;\n wrapper = element.parents('.k-numerictextbox');\n if (!wrapper.is('span.k-numerictextbox')) {\n wrapper = element.hide().wrap('').parent();\n wrapper = wrapper.wrap('').parent();\n }\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = '';\n that.wrapper = wrapper.addClass('k-widget k-numerictextbox').addClass(DOMElement.className).removeClass('input-validation-error').css('display', '');\n that._inputWrapper = $(wrapper[0].firstChild);\n },\n _reset: function () {\n var that = this, element = that.element, formId = element.attr('form'), form = formId ? $('#' + formId) : element.closest('form');\n if (form[0]) {\n that._resetHandler = function () {\n setTimeout(function () {\n that.value(element[0].value);\n that.max(that._initialOptions.max);\n that.min(that._initialOptions.min);\n });\n };\n that._form = form.on('reset', that._resetHandler);\n }\n }\n });\n function buttonHtml(direction, text) {\n var className = 'k-i-arrow-' + (direction === 'increase' ? '60-up' : '60-down');\n return '' + '' + '';\n }\n function truncate(value, precision) {\n var parts = parseFloat(value, 10).toString().split(POINT);\n if (parts[1]) {\n parts[1] = parts[1].substring(0, precision);\n }\n return parts.join(POINT);\n }\n ui.plugin(NumericTextBox);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.validator', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'validator',\n name: 'Validator',\n category: 'web',\n description: 'The Validator offers an easy way to do a client-side form validation.',\n depends: ['core']\n };\n (function ($, undefined) {\n var kendo = window.kendo, Widget = kendo.ui.Widget, NS = '.kendoValidator', INVALIDMSG = 'k-invalid-msg', invalidMsgRegExp = new RegExp(INVALIDMSG, 'i'), INVALIDINPUT = 'k-invalid', VALIDINPUT = 'k-valid', VALIDATIONSUMMARY = 'k-validation-summary', INVALIDLABEL = 'k-text-error', MESSAGEBOX = 'k-messagebox k-messagebox-error', ARIAINVALID = 'aria-invalid', ARIADESCRIBEDBY = 'aria-describedby', emailRegExp = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/i, urlRegExp = /^(https?|ftp):\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i, INPUTSELECTOR = ':input:not(:button,[type=submit],[type=reset],[disabled],[readonly])', CHECKBOXSELECTOR = ':checkbox:not([disabled],[readonly])', NUMBERINPUTSELECTOR = '[type=number],[type=range]', BLUR = 'blur', NAME = 'name', FORM = 'form', NOVALIDATE = 'novalidate', VALIDATE = 'validate', CHANGE = 'change', VALIDATE_INPUT = 'validateInput', proxy = $.proxy, patternMatcher = function (value, pattern) {\n if (typeof pattern === 'string') {\n pattern = new RegExp('^(?:' + pattern + ')$');\n }\n return pattern.test(value);\n }, matcher = function (input, selector, pattern) {\n var value = input.val();\n if (input.filter(selector).length && value !== '') {\n return patternMatcher(value, pattern);\n }\n return true;\n }, hasAttribute = function (input, name) {\n if (input.length) {\n return input[0].attributes[name] != null;\n }\n return false;\n };\n if (!kendo.ui.validator) {\n kendo.ui.validator = {\n rules: {},\n messages: {},\n allowSubmit: $.noop,\n validateOnInit: $.noop\n };\n }\n function resolveRules(element) {\n var resolvers = kendo.ui.validator.ruleResolvers || {}, rules = {}, name;\n for (name in resolvers) {\n $.extend(true, rules, resolvers[name].resolve(element));\n }\n return rules;\n }\n function decode(value) {\n return value.replace(/&/g, '&').replace(/"/g, '\"').replace(/'/g, '\\'').replace(/</g, '<').replace(/>/g, '>');\n }\n function numberOfDecimalDigits(value) {\n value = (value + '').split('.');\n if (value.length > 1) {\n return value[1].length;\n }\n return 0;\n }\n function parseHtml(text) {\n if ($.parseHTML) {\n return $($.parseHTML(text));\n }\n return $(text);\n }\n function searchForMessageContainer(elements, fieldName) {\n var containers = $(), element, attr;\n for (var idx = 0, length = elements.length; idx < length; idx++) {\n element = elements[idx];\n if (invalidMsgRegExp.test(element.className)) {\n attr = element.getAttribute(kendo.attr('for'));\n if (attr === fieldName) {\n containers = containers.add(element);\n }\n }\n }\n return containers;\n }\n var SUMMARYTEMPLATE = '';\n var Validator = Widget.extend({\n init: function (element, options) {\n var that = this, resolved = resolveRules(element), validateAttributeSelector = '[' + kendo.attr('validate') + '!=false]';\n options = options || {};\n options.rules = $.extend({}, kendo.ui.validator.rules, resolved.rules, options.rules);\n options.messages = $.extend({}, kendo.ui.validator.messages, resolved.messages, options.messages);\n Widget.fn.init.call(that, element, options);\n that._errorTemplate = kendo.template(that.options.errorTemplate);\n that._summaryTemplate = kendo.template(that.options.validationSummary.template || SUMMARYTEMPLATE);\n if (that.element.is(FORM)) {\n that.element.attr(NOVALIDATE, NOVALIDATE);\n }\n that._inputSelector = INPUTSELECTOR + validateAttributeSelector;\n that._checkboxSelector = CHECKBOXSELECTOR + validateAttributeSelector;\n that._errors = {};\n that._attachEvents();\n that._isValidated = false;\n if (that._validateOnInit()) {\n that.validate();\n }\n },\n events: [\n VALIDATE,\n CHANGE,\n VALIDATE_INPUT\n ],\n options: {\n name: 'Validator',\n errorTemplate: '#= message #',\n messages: {\n required: '{0} is required',\n pattern: '{0} is not valid',\n min: '{0} should be greater than or equal to {1}',\n max: '{0} should be smaller than or equal to {1}',\n step: '{0} is not valid',\n email: '{0} is not valid email',\n url: '{0} is not valid URL',\n date: '{0} is not valid date',\n dateCompare: 'End date should be greater than or equal to the start date'\n },\n rules: {\n required: function (input) {\n var checkbox = input.filter('[type=checkbox]').length && !input.is(':checked'), value = input.val();\n return !(hasAttribute(input, 'required') && (!value || value === '' || value.length === 0 || checkbox));\n },\n pattern: function (input) {\n if (input.filter('[type=text],[type=email],[type=url],[type=tel],[type=search],[type=password]').filter('[pattern]').length && input.val() !== '') {\n return patternMatcher(input.val(), input.attr('pattern'));\n }\n return true;\n },\n min: function (input) {\n if (input.filter(NUMBERINPUTSELECTOR + ',[' + kendo.attr('type') + '=number]').filter('[min]').length && input.val() !== '') {\n var min = parseFloat(input.attr('min')) || 0, val = kendo.parseFloat(input.val());\n return min <= val;\n }\n return true;\n },\n max: function (input) {\n if (input.filter(NUMBERINPUTSELECTOR + ',[' + kendo.attr('type') + '=number]').filter('[max]').length && input.val() !== '') {\n var max = parseFloat(input.attr('max')) || 0, val = kendo.parseFloat(input.val());\n return max >= val;\n }\n return true;\n },\n step: function (input) {\n if (input.filter(NUMBERINPUTSELECTOR + ',[' + kendo.attr('type') + '=number]').filter('[step]').length && input.val() !== '') {\n var min = parseFloat(input.attr('min')) || 0, step = parseFloat(input.attr('step')) || 1, val = parseFloat(input.val()), decimals = numberOfDecimalDigits(step), raise;\n if (decimals) {\n raise = Math.pow(10, decimals);\n return Math.floor((val - min) * raise) % (step * raise) / Math.pow(100, decimals) === 0;\n }\n return (val - min) % step === 0;\n }\n return true;\n },\n email: function (input) {\n return matcher(input, '[type=email],[' + kendo.attr('type') + '=email]', emailRegExp);\n },\n url: function (input) {\n return matcher(input, '[type=url],[' + kendo.attr('type') + '=url]', urlRegExp);\n },\n date: function (input) {\n if (input.filter('[type^=date],[' + kendo.attr('type') + '=date]').length && input.val() !== '') {\n return kendo.parseDate(input.val(), input.attr(kendo.attr('format'))) !== null;\n }\n return true;\n }\n },\n validateOnBlur: true,\n validationSummary: false\n },\n _allowSubmit: function () {\n return kendo.ui.validator.allowSubmit(this.element, this.errors());\n },\n _validateOnInit: function () {\n return kendo.ui.validator.validateOnInit(this.element);\n },\n destroy: function () {\n Widget.fn.destroy.call(this);\n this.element.off(NS);\n if (this.validationSummary) {\n this.validationSummary.off(NS);\n this.validationSummary = null;\n }\n },\n value: function () {\n if (!this._isValidated) {\n return false;\n }\n return this.errors().length === 0;\n },\n _submit: function (e) {\n if (!this.validate() && !this._allowSubmit()) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n e.preventDefault();\n return false;\n }\n return true;\n },\n _checkElement: function (element) {\n var state = this.value();\n this.validateInput(element);\n if (this.value() !== state) {\n this.trigger(CHANGE);\n }\n },\n _attachEvents: function () {\n var that = this;\n if (that.element.is(FORM)) {\n that.element.on('submit' + NS, proxy(that._submit, that));\n }\n if (that.options.validateOnBlur) {\n if (!that.element.is(INPUTSELECTOR)) {\n that.element.on(BLUR + NS, that._inputSelector, function () {\n that._checkElement($(this));\n });\n that.element.on('click' + NS, that._checkboxSelector, function () {\n that._checkElement($(this));\n });\n } else {\n that.element.on(BLUR + NS, function () {\n that._checkElement(that.element);\n });\n if (that.element.is(CHECKBOXSELECTOR)) {\n that.element.on('click' + NS, function () {\n that._checkElement(that.element);\n });\n }\n }\n }\n },\n validate: function () {\n var inputs;\n var idx;\n var result = false;\n var length;\n var isValid = this.value();\n this._errors = {};\n if (!this.element.is(INPUTSELECTOR)) {\n var invalid = false;\n inputs = this.element.find(this._inputSelector);\n for (idx = 0, length = inputs.length; idx < length; idx++) {\n if (!this.validateInput(inputs.eq(idx))) {\n invalid = true;\n }\n }\n result = !invalid;\n } else {\n result = this.validateInput(this.element);\n }\n if (this.options.validationSummary && !isValid) {\n this.showValidationSummary();\n }\n this.trigger(VALIDATE, {\n valid: result,\n errors: this.errors()\n });\n if (isValid !== result) {\n this.trigger(CHANGE);\n }\n return result;\n },\n validateInput: function (input) {\n input = $(input);\n this._isValidated = true;\n var that = this, template = that._errorTemplate, result = that._checkValidity(input), valid = result.valid, className = '.' + INVALIDMSG, fieldName = input.attr(NAME) || '', lbl = that._findMessageContainer(fieldName).add(input.next(className).filter(function () {\n var element = $(this);\n if (element.filter('[' + kendo.attr('for') + ']').length) {\n return element.attr(kendo.attr('for')) === fieldName;\n }\n return true;\n })).addClass('k-hidden'), messageText = !valid ? that._extractMessage(input, result.key) : '', messageLabel = !valid ? parseHtml(template({\n message: decode(messageText),\n field: fieldName\n })) : '', wasValid = !input.attr(ARIAINVALID);\n input.removeAttr(ARIAINVALID);\n if (!valid) {\n that._errors[fieldName] = messageText;\n var lblId = lbl.attr('id');\n that._decorateMessageContainer(messageLabel, fieldName);\n if (lblId) {\n messageLabel.attr('id', lblId);\n }\n if (lbl.length !== 0) {\n lbl.replaceWith(messageLabel);\n } else {\n var widgetInstance = kendo.widgetInstance(input);\n var parentElement = input.parent().get(0);\n var nextElement = input.next().get(0);\n if (parentElement && parentElement.nodeName === 'LABEL') {\n messageLabel.insertAfter(parentElement);\n } else if (nextElement && nextElement.nodeName === 'LABEL') {\n messageLabel.insertAfter(nextElement);\n } else if (widgetInstance && widgetInstance.wrapper) {\n messageLabel.insertAfter(widgetInstance.wrapper);\n } else {\n messageLabel.insertAfter(input);\n }\n }\n messageLabel.removeClass('k-hidden');\n input.attr(ARIAINVALID, true);\n } else {\n delete that._errors[fieldName];\n }\n if (wasValid !== valid) {\n this.trigger(VALIDATE_INPUT, {\n valid: valid,\n input: input,\n error: messageText,\n field: fieldName\n });\n }\n input.toggleClass(INVALIDINPUT, !valid);\n input.toggleClass(VALIDINPUT, valid);\n if (kendo.widgetInstance(input)) {\n var inputWrap = kendo.widgetInstance(input)._inputWrapper;\n var inputLabel = kendo.widgetInstance(input)._inputLabel;\n if (inputWrap) {\n inputWrap.toggleClass(INVALIDINPUT, !valid);\n inputWrap.toggleClass(VALIDINPUT, valid);\n }\n if (inputLabel) {\n inputLabel.toggleClass(INVALIDLABEL, !valid);\n }\n }\n if (wasValid !== valid) {\n var errorId = messageLabel ? messageLabel.attr('id') : lbl.attr('id');\n that._associateMessageContainer(input, errorId);\n if (this.options.validationSummary && this.options.validateOnBlur) {\n this.showValidationSummary();\n }\n }\n return valid;\n },\n hideMessages: function () {\n var that = this, className = '.' + INVALIDMSG, element = that.element;\n that._disassociateMessageContainers();\n if (!element.is(INPUTSELECTOR)) {\n element.find(className).addClass('k-hidden');\n } else {\n element.next(className).addClass('k-hidden');\n }\n },\n reset: function () {\n var that = this, inputs = that.element.find('.' + INVALIDINPUT);\n that._errors = [];\n that.hideMessages();\n that.hideValidationSummary();\n inputs.removeAttr(ARIAINVALID);\n inputs.removeClass(INVALIDINPUT);\n },\n _findMessageContainer: function (fieldName) {\n var locators = kendo.ui.validator.messageLocators, name, containers = $();\n for (var idx = 0, length = this.element.length; idx < length; idx++) {\n containers = containers.add(searchForMessageContainer(this.element[idx].getElementsByTagName('*'), fieldName));\n }\n for (name in locators) {\n containers = containers.add(locators[name].locate(this.element, fieldName));\n }\n return containers;\n },\n _decorateMessageContainer: function (container, fieldName) {\n var locators = kendo.ui.validator.messageLocators, name;\n container.addClass(INVALIDMSG).attr(kendo.attr('for'), fieldName || '');\n if (!container.attr('id')) {\n container.attr('id', fieldName + '-error');\n }\n for (name in locators) {\n locators[name].decorate(container, fieldName);\n }\n },\n _extractMessage: function (input, ruleKey) {\n var that = this, customMessage = that.options.messages[ruleKey], fieldName = input.attr(NAME), nonDefaultMessage;\n if (!kendo.ui.Validator.prototype.options.messages[ruleKey]) {\n nonDefaultMessage = kendo.isFunction(customMessage) ? customMessage(input) : customMessage;\n }\n customMessage = kendo.isFunction(customMessage) ? customMessage(input) : customMessage;\n return kendo.format(input.attr(kendo.attr(ruleKey + '-msg')) || input.attr('validationMessage') || nonDefaultMessage || customMessage || input.attr('title') || '', fieldName, input.attr(ruleKey) || input.attr(kendo.attr(ruleKey)));\n },\n _checkValidity: function (input) {\n var rules = this.options.rules, rule;\n for (rule in rules) {\n if (!rules[rule].call(this, input)) {\n return {\n valid: false,\n key: rule\n };\n }\n }\n return { valid: true };\n },\n errors: function () {\n var results = [], errors = this._errors, error;\n for (error in errors) {\n results.push(errors[error]);\n }\n return results;\n },\n setOptions: function (options) {\n if (options.validationSummary) {\n this.hideValidationSummary();\n }\n kendo.deepExtend(this.options, options);\n this.destroy();\n this.init(this.element, this.options);\n this._setEvents(this.options);\n },\n _getInputNames: function () {\n var that = this, inputs = that.element.find(that._inputSelector), sorted = [];\n for (var idx = 0, length = inputs.length; idx < length; idx++) {\n var input = $(inputs[idx]);\n if (hasAttribute(input, NAME)) {\n sorted.push(input.attr(NAME));\n }\n }\n return sorted;\n },\n _associateMessageContainer: function (input, errorId) {\n var nextFocusable = kendo.getWidgetFocusableElement(input);\n if (!nextFocusable || !errorId) {\n return;\n }\n kendo.toggleAttribute(nextFocusable, ARIADESCRIBEDBY, errorId);\n },\n _disassociateMessageContainers: function () {\n var that = this, inputs = that.element.find('.' + INVALIDINPUT).addBack(), input, errorId;\n for (var i = 0; i < inputs.length; i += 1) {\n input = $(inputs[i]);\n if (input.is('input')) {\n errorId = that._findMessageContainer(input.attr(NAME)).add(input.next('.' + INVALIDMSG)).attr('id');\n that._associateMessageContainer(input, errorId);\n }\n }\n },\n _errorsByName: function () {\n var that = this, inputNames = that._getInputNames(), sorted = [];\n for (var i = 0; i < inputNames.length; i += 1) {\n var name = inputNames[i];\n if (that._errors[name]) {\n sorted.push({\n field: name,\n message: that._errors[name]\n });\n }\n }\n return sorted;\n },\n _renderSummary: function () {\n var that = this, options = this.options.validationSummary, element = this.element, prevElement = element.prev(), container;\n if (options.container) {\n container = $(options.container);\n } else if (prevElement && prevElement.hasClass(VALIDATIONSUMMARY)) {\n container = prevElement;\n } else {\n container = $('
      ').insertBefore(that.element);\n }\n container.addClass([\n VALIDATIONSUMMARY,\n MESSAGEBOX\n ].join(' '));\n container.attr('role', 'alert');\n container.on('click' + NS, proxy(that._summaryClick, that));\n return container;\n },\n _summaryClick: function (e) {\n e.preventDefault();\n var that = this, link = $(e.target), target = that.element.find('[name=\\'' + link.data('field') + '\\']'), nextFocusable;\n if (!target.length) {\n return;\n }\n nextFocusable = kendo.getWidgetFocusableElement(target);\n if (nextFocusable) {\n nextFocusable.focus();\n }\n },\n showValidationSummary: function () {\n var that = this, summary = that.validationSummary, errors = that._errorsByName(), errorsList;\n if (!summary) {\n summary = that.validationSummary = that._renderSummary();\n }\n errorsList = parseHtml(that._summaryTemplate({ errors: errors }));\n summary.html(errorsList);\n summary.toggleClass('k-hidden', !errors.length);\n },\n hideValidationSummary: function () {\n var that = this, summary = that.validationSummary;\n if (!summary) {\n return;\n }\n summary.addClass('k-hidden');\n }\n });\n kendo.ui.plugin(Validator);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.binder', [\n 'kendo.core',\n 'kendo.data'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'binder',\n name: 'MVVM',\n category: 'framework',\n description: 'Model View ViewModel (MVVM) is a design pattern which helps developers separate the Model (the data) from the View (the UI).',\n depends: [\n 'core',\n 'data'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, Observable = kendo.Observable, ObservableObject = kendo.data.ObservableObject, ObservableArray = kendo.data.ObservableArray, toString = {}.toString, binders = {}, Class = kendo.Class, proxy = $.proxy, VALUE = 'value', SOURCE = 'source', EVENTS = 'events', CHECKED = 'checked', CSS = 'css', deleteExpando = true, FUNCTION = 'function', CHANGE = 'change';\n (function () {\n var a = document.createElement('a');\n try {\n delete a.test;\n } catch (e) {\n deleteExpando = false;\n }\n }());\n var Binding = Observable.extend({\n init: function (parents, path) {\n var that = this;\n Observable.fn.init.call(that);\n that.source = parents[0];\n that.parents = parents;\n that.path = path;\n that.dependencies = {};\n that.dependencies[path] = true;\n that.observable = that.source instanceof Observable;\n that._access = function (e) {\n that.dependencies[e.field] = true;\n };\n if (that.observable) {\n that._change = function (e) {\n that.change(e);\n };\n that.source.bind(CHANGE, that._change);\n }\n },\n _parents: function () {\n var parents = this.parents;\n var value = this.get();\n if (value && typeof value.parent == 'function') {\n var parent = value.parent();\n if ($.inArray(parent, parents) < 0) {\n parents = [parent].concat(parents);\n }\n }\n return parents;\n },\n change: function (e) {\n var dependency, ch, field = e.field, that = this;\n if (that.path === 'this') {\n that.trigger(CHANGE, e);\n } else {\n for (dependency in that.dependencies) {\n if (dependency.indexOf(field) === 0) {\n ch = dependency.charAt(field.length);\n if (!ch || ch === '.' || ch === '[') {\n that.trigger(CHANGE, e);\n break;\n }\n }\n }\n }\n },\n start: function (source) {\n source.bind('get', this._access);\n },\n stop: function (source) {\n source.unbind('get', this._access);\n },\n get: function () {\n var that = this, source = that.source, index = 0, path = that.path, result = source;\n if (!that.observable) {\n return result;\n }\n that.start(that.source);\n result = source.get(path);\n while (result === undefined && source) {\n source = that.parents[++index];\n if (source instanceof ObservableObject) {\n result = source.get(path);\n }\n }\n if (result === undefined) {\n source = that.source;\n while (result === undefined && source) {\n source = source.parent();\n if (source instanceof ObservableObject) {\n result = source.get(path);\n }\n }\n }\n if (typeof result === 'function') {\n index = path.lastIndexOf('.');\n if (index > 0) {\n source = source.get(path.substring(0, index));\n }\n that.start(source);\n if (source !== that.source) {\n result = result.call(source, that.source);\n } else {\n result = result.call(source);\n }\n that.stop(source);\n }\n if (source && source !== that.source) {\n that.currentSource = source;\n source.unbind(CHANGE, that._change).bind(CHANGE, that._change);\n }\n that.stop(that.source);\n return result;\n },\n set: function (value) {\n var source = this.currentSource || this.source;\n var field = kendo.getter(this.path)(source);\n if (typeof field === 'function') {\n if (source !== this.source) {\n field.call(source, this.source, value);\n } else {\n field.call(source, value);\n }\n } else {\n source.set(this.path, value);\n }\n },\n destroy: function () {\n if (this.observable) {\n this.source.unbind(CHANGE, this._change);\n if (this.currentSource) {\n this.currentSource.unbind(CHANGE, this._change);\n }\n }\n this.unbind();\n }\n });\n var EventBinding = Binding.extend({\n get: function () {\n var source = this.source, path = this.path, index = 0, handler;\n handler = source.get(path);\n while (!handler && source) {\n source = this.parents[++index];\n if (source instanceof ObservableObject) {\n handler = source.get(path);\n }\n }\n return proxy(handler, source);\n }\n });\n var TemplateBinding = Binding.extend({\n init: function (source, path, template) {\n var that = this;\n Binding.fn.init.call(that, source, path);\n that.template = template;\n },\n render: function (value) {\n var html;\n this.start(this.source);\n html = kendo.render(this.template, value);\n this.stop(this.source);\n return html;\n }\n });\n var Binder = Class.extend({\n init: function (element, bindings, options) {\n this.element = element;\n this.bindings = bindings;\n this.options = options;\n },\n bind: function (binding, attribute) {\n var that = this;\n binding = attribute ? binding[attribute] : binding;\n binding.bind(CHANGE, function (e) {\n that.refresh(attribute || e);\n });\n that.refresh(attribute);\n },\n destroy: function () {\n }\n });\n var TypedBinder = Binder.extend({\n dataType: function () {\n var dataType = this.element.getAttribute('data-type') || this.element.type || 'text';\n return dataType.toLowerCase();\n },\n parsedValue: function () {\n return this._parseValue(this.element.value, this.dataType());\n },\n _parseValue: function (value, dataType) {\n if (dataType == 'date') {\n value = kendo.parseDate(value, 'yyyy-MM-dd');\n } else if (dataType == 'datetime-local') {\n value = kendo.parseDate(value, [\n 'yyyy-MM-ddTHH:mm:ss',\n 'yyyy-MM-ddTHH:mm'\n ]);\n } else if (dataType == 'number') {\n value = kendo.parseFloat(value);\n } else if (dataType == 'boolean') {\n value = value.toLowerCase();\n if (kendo.parseFloat(value) !== null) {\n value = Boolean(kendo.parseFloat(value));\n } else {\n value = value.toLowerCase() === 'true';\n }\n }\n return value;\n }\n });\n binders.attr = Binder.extend({\n refresh: function (key) {\n this.element.setAttribute(key, this.bindings.attr[key].get());\n }\n });\n binders.css = Binder.extend({\n init: function (element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n this.classes = {};\n },\n refresh: function (className) {\n var element = $(this.element), binding = this.bindings.css[className], hasClass = this.classes[className] = binding.get();\n if (hasClass) {\n element.addClass(className);\n } else {\n element.removeClass(className);\n }\n }\n });\n binders.style = Binder.extend({\n refresh: function (key) {\n this.element.style[key] = this.bindings.style[key].get() || '';\n }\n });\n binders.enabled = Binder.extend({\n refresh: function () {\n if (this.bindings.enabled.get()) {\n this.element.removeAttribute('disabled');\n } else {\n this.element.setAttribute('disabled', 'disabled');\n }\n }\n });\n binders.readonly = Binder.extend({\n refresh: function () {\n if (this.bindings.readonly.get()) {\n this.element.setAttribute('readonly', 'readonly');\n } else {\n this.element.removeAttribute('readonly');\n }\n }\n });\n binders.disabled = Binder.extend({\n refresh: function () {\n if (this.bindings.disabled.get()) {\n this.element.setAttribute('disabled', 'disabled');\n } else {\n this.element.removeAttribute('disabled');\n }\n }\n });\n binders.events = Binder.extend({\n init: function (element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n this.handlers = {};\n },\n refresh: function (key) {\n var element = $(this.element), binding = this.bindings.events[key], handler = this.handlers[key];\n if (handler) {\n element.off(key, handler);\n }\n handler = this.handlers[key] = binding.get();\n element.on(key, binding.source, handler);\n },\n destroy: function () {\n var element = $(this.element), handler;\n for (handler in this.handlers) {\n element.off(handler, this.handlers[handler]);\n }\n }\n });\n binders.text = Binder.extend({\n refresh: function () {\n var text = this.bindings.text.get();\n var dataFormat = this.element.getAttribute('data-format') || '';\n if (text == null) {\n text = '';\n }\n $(this.element).text(kendo.toString(text, dataFormat));\n }\n });\n binders.visible = Binder.extend({\n refresh: function () {\n if (this.bindings.visible.get()) {\n this.element.style.display = '';\n } else {\n this.element.style.display = 'none';\n }\n }\n });\n binders.invisible = Binder.extend({\n refresh: function () {\n if (!this.bindings.invisible.get()) {\n this.element.style.display = '';\n } else {\n this.element.style.display = 'none';\n }\n }\n });\n binders.html = Binder.extend({\n refresh: function () {\n this.element.innerHTML = this.bindings.html.get();\n }\n });\n binders.value = TypedBinder.extend({\n init: function (element, bindings, options) {\n TypedBinder.fn.init.call(this, element, bindings, options);\n this._change = proxy(this.change, this);\n this.eventName = options.valueUpdate || CHANGE;\n $(this.element).on(this.eventName, this._change);\n this._initChange = false;\n },\n change: function () {\n this._initChange = this.eventName != CHANGE;\n this.bindings[VALUE].set(this.parsedValue());\n this._initChange = false;\n },\n refresh: function () {\n if (!this._initChange) {\n var value = this.bindings[VALUE].get();\n if (value == null) {\n value = '';\n }\n var type = this.dataType();\n if (type == 'date') {\n value = kendo.toString(value, 'yyyy-MM-dd');\n } else if (type == 'datetime-local') {\n value = kendo.toString(value, 'yyyy-MM-ddTHH:mm:ss');\n }\n this.element.value = value;\n }\n this._initChange = false;\n },\n destroy: function () {\n $(this.element).off(this.eventName, this._change);\n }\n });\n binders.source = Binder.extend({\n init: function (element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n var source = this.bindings.source.get();\n if (source instanceof kendo.data.DataSource && options.autoBind !== false) {\n source.fetch();\n }\n },\n refresh: function (e) {\n var that = this, source = that.bindings.source.get();\n if (source instanceof ObservableArray || source instanceof kendo.data.DataSource) {\n e = e || {};\n if (e.action == 'add') {\n that.add(e.index, e.items);\n } else if (e.action == 'remove') {\n that.remove(e.index, e.items);\n } else if (e.action != 'itemchange') {\n that.render();\n }\n } else {\n that.render();\n }\n },\n container: function () {\n var element = this.element;\n if (element.nodeName.toLowerCase() == 'table') {\n if (!element.tBodies[0]) {\n element.appendChild(document.createElement('tbody'));\n }\n element = element.tBodies[0];\n }\n return element;\n },\n template: function () {\n var options = this.options, template = options.template, nodeName = this.container().nodeName.toLowerCase();\n if (!template) {\n if (nodeName == 'select') {\n if (options.valueField || options.textField) {\n template = kendo.format('', options.valueField || options.textField, options.textField || options.valueField);\n } else {\n template = '';\n }\n } else if (nodeName == 'tbody') {\n template = '#:data#';\n } else if (nodeName == 'ul' || nodeName == 'ol') {\n template = '
    • #:data#
    • ';\n } else {\n template = '#:data#';\n }\n template = kendo.template(template);\n }\n return template;\n },\n add: function (index, items) {\n var element = this.container(), parents, idx, length, child, clone = element.cloneNode(false), reference = element.children[index];\n $(clone).html(kendo.render(this.template(), items));\n if (clone.children.length) {\n parents = this.bindings.source._parents();\n for (idx = 0, length = items.length; idx < length; idx++) {\n child = clone.children[0];\n element.insertBefore(child, reference || null);\n bindElement(child, items[idx], this.options.roles, [items[idx]].concat(parents));\n }\n }\n },\n remove: function (index, items) {\n var idx, element = this.container();\n for (idx = 0; idx < items.length; idx++) {\n var child = element.children[index];\n unbindElementTree(child, true);\n if (child.parentNode == element) {\n element.removeChild(child);\n }\n }\n },\n render: function () {\n var source = this.bindings.source.get(), parents, idx, length, element = this.container(), template = this.template();\n if (source == null) {\n return;\n }\n if (source instanceof kendo.data.DataSource) {\n source = source.view();\n }\n if (!(source instanceof ObservableArray) && toString.call(source) !== '[object Array]') {\n source = [source];\n }\n if (this.bindings.template) {\n unbindElementChildren(element, true);\n $(element).html(this.bindings.template.render(source));\n if (element.children.length) {\n parents = this.bindings.source._parents();\n for (idx = 0, length = source.length; idx < length; idx++) {\n bindElement(element.children[idx], source[idx], this.options.roles, [source[idx]].concat(parents));\n }\n }\n } else {\n $(element).html(kendo.render(template, source));\n }\n }\n });\n binders.input = {\n checked: TypedBinder.extend({\n init: function (element, bindings, options) {\n TypedBinder.fn.init.call(this, element, bindings, options);\n this._change = proxy(this.change, this);\n $(this.element).change(this._change);\n },\n change: function () {\n var element = this.element;\n var value = this.value();\n if (element.type == 'radio') {\n value = this.parsedValue();\n this.bindings[CHECKED].set(value);\n } else if (element.type == 'checkbox') {\n var source = this.bindings[CHECKED].get();\n var index;\n if (source instanceof ObservableArray) {\n value = this.parsedValue();\n if (value instanceof Date) {\n for (var i = 0; i < source.length; i++) {\n if (source[i] instanceof Date && +source[i] === +value) {\n index = i;\n break;\n }\n }\n } else {\n index = source.indexOf(value);\n }\n if (index > -1) {\n source.splice(index, 1);\n } else {\n source.push(value);\n }\n } else {\n this.bindings[CHECKED].set(value);\n }\n }\n },\n refresh: function () {\n var value = this.bindings[CHECKED].get(), source = value, type = this.dataType(), element = this.element;\n if (element.type == 'checkbox') {\n if (source instanceof ObservableArray) {\n var index = -1;\n value = this.parsedValue();\n if (value instanceof Date) {\n for (var i = 0; i < source.length; i++) {\n if (source[i] instanceof Date && +source[i] === +value) {\n index = i;\n break;\n }\n }\n } else {\n index = source.indexOf(value);\n }\n element.checked = index >= 0;\n } else {\n element.checked = source;\n }\n } else if (element.type == 'radio') {\n if (type == 'date') {\n value = kendo.toString(value, 'yyyy-MM-dd');\n } else if (type == 'datetime-local') {\n value = kendo.toString(value, 'yyyy-MM-ddTHH:mm:ss');\n }\n if (value !== null && typeof value !== 'undefined' && element.value === value.toString()) {\n element.checked = true;\n } else {\n element.checked = false;\n }\n }\n },\n value: function () {\n var element = this.element, value = element.value;\n if (element.type == 'checkbox') {\n value = element.checked;\n }\n return value;\n },\n destroy: function () {\n $(this.element).off(CHANGE, this._change);\n }\n })\n };\n binders.select = {\n source: binders.source.extend({\n refresh: function (e) {\n var that = this, source = that.bindings.source.get();\n if (source instanceof ObservableArray || source instanceof kendo.data.DataSource) {\n e = e || {};\n if (e.action == 'add') {\n that.add(e.index, e.items);\n } else if (e.action == 'remove') {\n that.remove(e.index, e.items);\n } else if (e.action == 'itemchange' || e.action === undefined) {\n that.render();\n if (that.bindings.value) {\n if (that.bindings.value) {\n var val = retrievePrimitiveValues(that.bindings.value.get(), $(that.element).data('valueField'));\n if (val === null) {\n that.element.selectedIndex = -1;\n } else {\n that.element.value = val;\n }\n }\n }\n }\n } else {\n that.render();\n }\n }\n }),\n value: TypedBinder.extend({\n init: function (target, bindings, options) {\n TypedBinder.fn.init.call(this, target, bindings, options);\n this._change = proxy(this.change, this);\n $(this.element).change(this._change);\n },\n parsedValue: function () {\n var dataType = this.dataType();\n var values = [];\n var value, option, idx, length;\n for (idx = 0, length = this.element.options.length; idx < length; idx++) {\n option = this.element.options[idx];\n if (option.selected) {\n value = option.attributes.value;\n if (value && value.specified) {\n value = option.value;\n } else {\n value = option.text;\n }\n values.push(this._parseValue(value, dataType));\n }\n }\n return values;\n },\n change: function () {\n var values = [], element = this.element, source, field = this.options.valueField || this.options.textField, valuePrimitive = this.options.valuePrimitive, option, valueIndex, value, idx, length;\n for (idx = 0, length = element.options.length; idx < length; idx++) {\n option = element.options[idx];\n if (option.selected) {\n value = option.attributes.value;\n if (value && value.specified) {\n value = option.value;\n } else {\n value = option.text;\n }\n if (field) {\n values.push(value);\n } else {\n values.push(this._parseValue(value, this.dataType()));\n }\n }\n }\n if (field) {\n source = this.bindings.source.get();\n if (source instanceof kendo.data.DataSource) {\n source = source.view();\n }\n for (valueIndex = 0; valueIndex < values.length; valueIndex++) {\n for (idx = 0, length = source.length; idx < length; idx++) {\n var sourceValue = source[idx].get(field);\n var match = String(sourceValue) === values[valueIndex];\n if (match) {\n values[valueIndex] = source[idx];\n break;\n }\n }\n }\n }\n value = this.bindings[VALUE].get();\n if (value instanceof ObservableArray) {\n value.splice.apply(value, [\n 0,\n value.length\n ].concat(values));\n } else if (!valuePrimitive && (value instanceof ObservableObject || value === null || value === undefined || !field)) {\n this.bindings[VALUE].set(values[0]);\n } else {\n this.bindings[VALUE].set(values[0].get(field));\n }\n },\n refresh: function () {\n var optionIndex, element = this.element, options = element.options, value = this.bindings[VALUE].get(), values = value, field = this.options.valueField || this.options.textField, found = false, type = this.dataType(), optionValue;\n if (!(values instanceof ObservableArray)) {\n values = new ObservableArray([value]);\n }\n element.selectedIndex = -1;\n for (var valueIndex = 0; valueIndex < values.length; valueIndex++) {\n value = values[valueIndex];\n if (field && value instanceof ObservableObject) {\n value = value.get(field);\n }\n if (type == 'date') {\n value = kendo.toString(values[valueIndex], 'yyyy-MM-dd');\n } else if (type == 'datetime-local') {\n value = kendo.toString(values[valueIndex], 'yyyy-MM-ddTHH:mm:ss');\n }\n for (optionIndex = 0; optionIndex < options.length; optionIndex++) {\n optionValue = options[optionIndex].value;\n if (optionValue === '' && value !== '') {\n optionValue = options[optionIndex].text;\n }\n if (value != null && optionValue == value.toString()) {\n options[optionIndex].selected = true;\n found = true;\n }\n }\n }\n },\n destroy: function () {\n $(this.element).off(CHANGE, this._change);\n }\n })\n };\n function dataSourceBinding(bindingName, fieldName, setter) {\n return Binder.extend({\n init: function (widget, bindings, options) {\n var that = this;\n Binder.fn.init.call(that, widget.element[0], bindings, options);\n that.widget = widget;\n that._dataBinding = proxy(that.dataBinding, that);\n that._dataBound = proxy(that.dataBound, that);\n that._itemChange = proxy(that.itemChange, that);\n },\n itemChange: function (e) {\n bindElement(e.item[0], e.data, this._ns(e.ns), [e.data].concat(this.bindings[bindingName]._parents()));\n },\n dataBinding: function (e) {\n var idx, length, widget = this.widget, items = e.removedItems || widget.items();\n for (idx = 0, length = items.length; idx < length; idx++) {\n unbindElementTree(items[idx], false);\n }\n },\n _ns: function (ns) {\n ns = ns || kendo.ui;\n var all = [\n kendo.ui,\n kendo.dataviz.ui,\n kendo.mobile.ui\n ];\n all.splice($.inArray(ns, all), 1);\n all.unshift(ns);\n return kendo.rolesFromNamespaces(all);\n },\n dataBound: function (e) {\n var idx, length, widget = this.widget, items = e.addedItems || widget.items(), dataSource = widget[fieldName], view, parents, hds = kendo.data.HierarchicalDataSource;\n if (hds && dataSource instanceof hds) {\n return;\n }\n if (items.length) {\n view = e.addedDataItems || dataSource.flatView();\n parents = this.bindings[bindingName]._parents();\n for (idx = 0, length = view.length; idx < length; idx++) {\n if (items[idx]) {\n bindElement(items[idx], view[idx], this._ns(e.ns), [view[idx]].concat(parents));\n }\n }\n }\n },\n refresh: function (e) {\n var that = this, source, widget = that.widget, select, multiselect, dropdowntree;\n e = e || {};\n if (!e.action) {\n that.destroy();\n widget.bind('dataBinding', that._dataBinding);\n widget.bind('dataBound', that._dataBound);\n widget.bind('itemChange', that._itemChange);\n source = that.bindings[bindingName].get();\n if (widget[fieldName] instanceof kendo.data.DataSource && widget[fieldName] != source) {\n if (source instanceof kendo.data.DataSource) {\n widget[setter](source);\n } else if (source && source._dataSource) {\n widget[setter](source._dataSource);\n } else {\n select = kendo.ui.Select && widget instanceof kendo.ui.Select;\n multiselect = kendo.ui.MultiSelect && widget instanceof kendo.ui.MultiSelect;\n dropdowntree = kendo.ui.DropDownTree && widget instanceof kendo.ui.DropDownTree;\n if (!dropdowntree) {\n widget[fieldName].data(source);\n } else {\n widget.treeview[fieldName].data(source);\n }\n if (that.bindings.value && (select || multiselect)) {\n widget.value(retrievePrimitiveValues(that.bindings.value.get(), widget.options.dataValueField));\n }\n }\n }\n }\n },\n destroy: function () {\n var widget = this.widget;\n widget.unbind('dataBinding', this._dataBinding);\n widget.unbind('dataBound', this._dataBound);\n widget.unbind('itemChange', this._itemChange);\n }\n });\n }\n binders.widget = {\n events: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n this.handlers = {};\n },\n refresh: function (key) {\n var binding = this.bindings.events[key], handler = this.handlers[key];\n if (handler) {\n this.widget.unbind(key, handler);\n }\n handler = binding.get();\n this.handlers[key] = function (e) {\n e.data = binding.source;\n handler(e);\n if (e.data === binding.source) {\n delete e.data;\n }\n };\n this.widget.bind(key, this.handlers[key]);\n },\n destroy: function () {\n var handler;\n for (handler in this.handlers) {\n this.widget.unbind(handler, this.handlers[handler]);\n }\n }\n }),\n checked: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n this._change = proxy(this.change, this);\n this.widget.bind(CHANGE, this._change);\n },\n change: function () {\n this.bindings[CHECKED].set(this.value());\n },\n refresh: function () {\n this.widget.check(this.bindings[CHECKED].get() === true);\n },\n value: function () {\n var element = this.element, value = element.value;\n if (value == 'on' || value == 'off' || this.element.type == 'checkbox') {\n value = element.checked;\n }\n return value;\n },\n destroy: function () {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n start: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this._change = proxy(this.change, this);\n this.widget = widget;\n this.widget.bind(CHANGE, this._change);\n },\n change: function () {\n this.bindings.start.set(this.widget.range().start);\n },\n refresh: function () {\n var that = this;\n var start = this.bindings.start.get();\n var end = that.widget._range ? that.widget._range.end : null;\n this.widget.range({\n start: start,\n end: end\n });\n },\n destroy: function () {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n end: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this._change = proxy(this.change, this);\n this.widget = widget;\n this.widget.bind(CHANGE, this._change);\n },\n change: function () {\n this.bindings.end.set(this.widget.range().end);\n },\n refresh: function () {\n var that = this;\n var end = this.bindings.end.get();\n var start = that.widget._range ? that.widget._range.start : null;\n this.widget.range({\n start: start,\n end: end\n });\n },\n destroy: function () {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n visible: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n },\n refresh: function () {\n var visible = this.bindings.visible.get();\n this.widget.wrapper[0].style.display = visible ? '' : 'none';\n }\n }),\n invisible: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n },\n refresh: function () {\n var invisible = this.bindings.invisible.get();\n this.widget.wrapper[0].style.display = invisible ? 'none' : '';\n }\n }),\n enabled: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n },\n refresh: function () {\n if (this.widget.enable) {\n this.widget.enable(this.bindings.enabled.get());\n }\n }\n }),\n disabled: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n },\n refresh: function () {\n if (this.widget.enable) {\n this.widget.enable(!this.bindings.disabled.get());\n }\n }\n }),\n source: dataSourceBinding('source', 'dataSource', 'setDataSource'),\n value: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n this._change = $.proxy(this.change, this);\n this.widget.first(CHANGE, this._change);\n var value = this.bindings.value.get();\n this._valueIsObservableObject = !options.valuePrimitive && (value == null || value instanceof ObservableObject);\n this._valueIsObservableArray = value instanceof ObservableArray;\n this._initChange = false;\n },\n _source: function () {\n var source;\n if (this.widget.dataItem) {\n source = this.widget.dataItem();\n if (source && source instanceof ObservableObject) {\n return [source];\n }\n }\n if (this.bindings.source) {\n source = this.bindings.source.get();\n }\n if (!source || source instanceof kendo.data.DataSource) {\n source = this.widget.dataSource.flatView();\n }\n return source;\n },\n change: function () {\n var value = this.widget.value(), field = this.options.dataValueField || this.options.dataTextField, isArray = toString.call(value) === '[object Array]', isObservableObject = this._valueIsObservableObject, valueIndex, valueLength, values = [], sourceItem, sourceValue, idx, length, source;\n this._initChange = true;\n if (field) {\n if (value === '' && (isObservableObject || this.options.valuePrimitive)) {\n value = null;\n } else {\n source = this._source();\n if (isArray) {\n valueLength = value.length;\n values = value.slice(0);\n }\n for (idx = 0, length = source.length; idx < length; idx++) {\n sourceItem = source[idx];\n sourceValue = sourceItem.get(field);\n if (isArray) {\n for (valueIndex = 0; valueIndex < valueLength; valueIndex++) {\n if (sourceValue == values[valueIndex]) {\n values[valueIndex] = sourceItem;\n break;\n }\n }\n } else if (sourceValue == value) {\n value = isObservableObject ? sourceItem : sourceValue;\n break;\n }\n }\n if (values[0]) {\n if (this._valueIsObservableArray) {\n value = values;\n } else if (isObservableObject || !field) {\n value = values[0];\n } else {\n value = values[0].get(field);\n }\n }\n }\n }\n this.bindings.value.set(value);\n this._initChange = false;\n },\n refresh: function () {\n if (!this._initChange) {\n var widget = this.widget;\n var options = widget.options;\n var textField = options.dataTextField;\n var valueField = options.dataValueField || textField;\n var value = this.bindings.value.get();\n var text = options.text || '';\n var idx = 0, length;\n var values = [];\n if (value === undefined) {\n value = null;\n }\n if (valueField) {\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n values[idx] = value[idx].get(valueField);\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n text = value.get(textField);\n value = value.get(valueField);\n }\n }\n if (options.autoBind === false && !options.cascadeFrom && widget.listView && !widget.listView.bound()) {\n if (textField === valueField && !text) {\n text = value;\n }\n if (!text && (value || value === 0) && options.valuePrimitive) {\n widget.value(value);\n } else {\n widget._preselect(value, text);\n }\n } else {\n widget.value(value);\n }\n }\n this._initChange = false;\n },\n destroy: function () {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n dropdowntree: {\n value: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n this._change = $.proxy(this.change, this);\n this.widget.first(CHANGE, this._change);\n this._initChange = false;\n },\n change: function () {\n var that = this, oldValues = that.bindings[VALUE].get(), valuePrimitive = that.options.valuePrimitive, selectedNode = that.widget.treeview.select(), nonPrimitiveValues = that.widget._isMultipleSelection() ? that.widget._getAllChecked() : that.widget.treeview.dataItem(selectedNode) || that.widget.value(), newValues = valuePrimitive || that.widget.options.autoBind === false ? that.widget.value() : nonPrimitiveValues;\n var field = this.options.dataValueField || this.options.dataTextField;\n newValues = newValues.slice ? newValues.slice(0) : newValues;\n that._initChange = true;\n if (oldValues instanceof ObservableArray) {\n var remove = [];\n var newLength = newValues.length;\n var i = 0, j = 0;\n var old = oldValues[i];\n var same = false;\n var removeIndex;\n var newValue;\n var found;\n while (old !== undefined) {\n found = false;\n for (j = 0; j < newLength; j++) {\n if (valuePrimitive) {\n same = newValues[j] == old;\n } else {\n newValue = newValues[j];\n newValue = newValue.get ? newValue.get(field) : newValue;\n same = newValue == (old.get ? old.get(field) : old);\n }\n if (same) {\n newValues.splice(j, 1);\n newLength -= 1;\n found = true;\n break;\n }\n }\n if (!found) {\n remove.push(old);\n arraySplice(oldValues, i, 1);\n removeIndex = i;\n } else {\n i += 1;\n }\n old = oldValues[i];\n }\n arraySplice(oldValues, oldValues.length, 0, newValues);\n if (remove.length) {\n oldValues.trigger('change', {\n action: 'remove',\n items: remove,\n index: removeIndex\n });\n }\n if (newValues.length) {\n oldValues.trigger('change', {\n action: 'add',\n items: newValues,\n index: oldValues.length - 1\n });\n }\n } else {\n that.bindings[VALUE].set(newValues);\n }\n that._initChange = false;\n },\n refresh: function () {\n if (!this._initChange) {\n var options = this.options, widget = this.widget, field = options.dataValueField || options.dataTextField, value = this.bindings.value.get(), data = value, idx = 0, length, values = [], selectedValue;\n if (field) {\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n selectedValue = value[idx];\n values[idx] = selectedValue.get ? selectedValue.get(field) : selectedValue;\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n value = value.get(field);\n }\n }\n if (options.autoBind === false && options.valuePrimitive !== true) {\n widget._preselect(data, value);\n } else {\n widget.value(value);\n }\n }\n },\n destroy: function () {\n this.widget.unbind(CHANGE, this._change);\n }\n })\n },\n gantt: { dependencies: dataSourceBinding('dependencies', 'dependencies', 'setDependenciesDataSource') },\n multiselect: {\n value: Binder.extend({\n init: function (widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n this._change = $.proxy(this.change, this);\n this.widget.first(CHANGE, this._change);\n this._initChange = false;\n },\n change: function () {\n var that = this, oldValues = that.bindings[VALUE].get(), valuePrimitive = that.options.valuePrimitive, newValues = valuePrimitive ? that.widget.value() : that.widget.dataItems();\n var field = this.options.dataValueField || this.options.dataTextField;\n newValues = newValues.slice(0);\n that._initChange = true;\n if (oldValues instanceof ObservableArray) {\n var remove = [];\n var newLength = newValues.length;\n var i = 0, j = 0;\n var old = oldValues[i];\n var same = false;\n var removeIndex;\n var newValue;\n var found;\n while (old !== undefined) {\n found = false;\n for (j = 0; j < newLength; j++) {\n if (valuePrimitive) {\n same = newValues[j] == old;\n } else {\n newValue = newValues[j];\n newValue = newValue.get ? newValue.get(field) : newValue;\n same = newValue == (old.get ? old.get(field) : old);\n }\n if (same) {\n newValues.splice(j, 1);\n newLength -= 1;\n found = true;\n break;\n }\n }\n if (!found) {\n remove.push(old);\n arraySplice(oldValues, i, 1);\n removeIndex = i;\n } else {\n i += 1;\n }\n old = oldValues[i];\n }\n arraySplice(oldValues, oldValues.length, 0, newValues);\n if (remove.length) {\n oldValues.trigger('change', {\n action: 'remove',\n items: remove,\n index: removeIndex\n });\n }\n if (newValues.length) {\n oldValues.trigger('change', {\n action: 'add',\n items: newValues,\n index: oldValues.length - 1\n });\n }\n } else {\n that.bindings[VALUE].set(newValues);\n }\n that._initChange = false;\n },\n refresh: function () {\n if (!this._initChange) {\n var options = this.options, widget = this.widget, field = options.dataValueField || options.dataTextField, value = this.bindings.value.get(), data = value, idx = 0, length, values = [], selectedValue;\n if (value === undefined) {\n value = null;\n }\n if (field) {\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n selectedValue = value[idx];\n values[idx] = selectedValue.get ? selectedValue.get(field) : selectedValue;\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n value = value.get(field);\n }\n }\n if (options.autoBind === false && options.valuePrimitive !== true && !widget._isBound()) {\n widget._preselect(data, value);\n } else {\n widget.value(value);\n }\n }\n },\n destroy: function () {\n this.widget.unbind(CHANGE, this._change);\n }\n })\n },\n scheduler: {\n source: dataSourceBinding('source', 'dataSource', 'setDataSource').extend({\n dataBound: function (e) {\n var idx;\n var length;\n var widget = this.widget;\n var elements = e.addedItems || widget.items();\n var data, parents;\n if (elements.length) {\n data = e.addedDataItems || widget.dataItems();\n parents = this.bindings.source._parents();\n for (idx = 0, length = data.length; idx < length; idx++) {\n bindElement(elements[idx], data[idx], this._ns(e.ns), [data[idx]].concat(parents));\n }\n }\n }\n })\n },\n grid: {\n source: dataSourceBinding('source', 'dataSource', 'setDataSource').extend({\n dataBound: function (e) {\n var idx, length, widget = this.widget, elements = e.addedItems || widget.items(), parents, data;\n if (elements.length) {\n data = e.addedDataItems || widget.dataItems();\n parents = this.bindings.source._parents();\n for (idx = 0, length = data.length; idx < length; idx++) {\n bindElement(elements[idx], data[idx], this._ns(e.ns), [data[idx]].concat(parents));\n }\n }\n }\n })\n }\n };\n var arraySplice = function (arr, idx, remove, add) {\n add = add || [];\n remove = remove || 0;\n var addLength = add.length;\n var oldLength = arr.length;\n var shifted = [].slice.call(arr, idx + remove);\n var shiftedLength = shifted.length;\n var index;\n if (addLength) {\n addLength = idx + addLength;\n index = 0;\n for (; idx < addLength; idx++) {\n arr[idx] = add[index];\n index++;\n }\n arr.length = addLength;\n } else if (remove) {\n arr.length = idx;\n remove += idx;\n while (idx < remove) {\n delete arr[--remove];\n }\n }\n if (shiftedLength) {\n shiftedLength = idx + shiftedLength;\n index = 0;\n for (; idx < shiftedLength; idx++) {\n arr[idx] = shifted[index];\n index++;\n }\n arr.length = shiftedLength;\n }\n idx = arr.length;\n while (idx < oldLength) {\n delete arr[idx];\n idx++;\n }\n };\n var BindingTarget = Class.extend({\n init: function (target, options) {\n this.target = target;\n this.options = options;\n this.toDestroy = [];\n },\n bind: function (bindings) {\n var key, hasValue, hasSource, hasEvents, hasChecked, hasCss, widgetBinding = this instanceof WidgetBindingTarget, specificBinders = this.binders();\n for (key in bindings) {\n if (key == VALUE) {\n hasValue = true;\n } else if (key == SOURCE) {\n hasSource = true;\n } else if (key == EVENTS && !widgetBinding) {\n hasEvents = true;\n } else if (key == CHECKED) {\n hasChecked = true;\n } else if (key == CSS) {\n hasCss = true;\n } else {\n this.applyBinding(key, bindings, specificBinders);\n }\n }\n if (hasSource) {\n this.applyBinding(SOURCE, bindings, specificBinders);\n }\n if (hasValue) {\n this.applyBinding(VALUE, bindings, specificBinders);\n }\n if (hasChecked) {\n this.applyBinding(CHECKED, bindings, specificBinders);\n }\n if (hasEvents && !widgetBinding) {\n this.applyBinding(EVENTS, bindings, specificBinders);\n }\n if (hasCss && !widgetBinding) {\n this.applyBinding(CSS, bindings, specificBinders);\n }\n },\n binders: function () {\n return binders[this.target.nodeName.toLowerCase()] || {};\n },\n applyBinding: function (name, bindings, specificBinders) {\n var binder = specificBinders[name] || binders[name], toDestroy = this.toDestroy, attribute, binding = bindings[name];\n if (binder) {\n binder = new binder(this.target, bindings, this.options);\n toDestroy.push(binder);\n if (binding instanceof Binding) {\n binder.bind(binding);\n toDestroy.push(binding);\n } else {\n for (attribute in binding) {\n binder.bind(binding, attribute);\n toDestroy.push(binding[attribute]);\n }\n }\n } else if (name !== 'template') {\n throw new Error('The ' + name + ' binding is not supported by the ' + this.target.nodeName.toLowerCase() + ' element');\n }\n },\n destroy: function () {\n var idx, length, toDestroy = this.toDestroy;\n for (idx = 0, length = toDestroy.length; idx < length; idx++) {\n toDestroy[idx].destroy();\n }\n }\n });\n var WidgetBindingTarget = BindingTarget.extend({\n binders: function () {\n return binders.widget[this.target.options.name.toLowerCase()] || {};\n },\n applyBinding: function (name, bindings, specificBinders) {\n var binder = specificBinders[name] || binders.widget[name], toDestroy = this.toDestroy, attribute, binding = bindings[name];\n if (binder) {\n binder = new binder(this.target, bindings, this.target.options);\n toDestroy.push(binder);\n if (binding instanceof Binding) {\n binder.bind(binding);\n toDestroy.push(binding);\n } else {\n for (attribute in binding) {\n binder.bind(binding, attribute);\n toDestroy.push(binding[attribute]);\n }\n }\n } else {\n throw new Error('The ' + name + ' binding is not supported by the ' + this.target.options.name + ' widget');\n }\n }\n });\n function bindingTargetForRole(element, roles) {\n var widget = kendo.initWidget(element, {}, roles);\n if (widget) {\n return new WidgetBindingTarget(widget);\n }\n }\n var keyValueRegExp = /[A-Za-z0-9_\\-]+:(\\{([^}]*)\\}|[^,}]+)/g, whiteSpaceRegExp = /\\s/g;\n function parseBindings(bind) {\n var result = {}, idx, length, token, colonIndex, key, value, tokens;\n tokens = bind.match(keyValueRegExp);\n for (idx = 0, length = tokens.length; idx < length; idx++) {\n token = tokens[idx];\n colonIndex = token.indexOf(':');\n key = token.substring(0, colonIndex);\n value = token.substring(colonIndex + 1);\n if (value.charAt(0) == '{') {\n value = parseBindings(value);\n }\n result[key] = value;\n }\n return result;\n }\n function createBindings(bindings, source, type) {\n var binding, result = {};\n for (binding in bindings) {\n result[binding] = new type(source, bindings[binding]);\n }\n return result;\n }\n function bindElement(element, source, roles, parents) {\n if (!element || element.getAttribute('data-' + kendo.ns + 'stop')) {\n return;\n }\n var role = element.getAttribute('data-' + kendo.ns + 'role'), idx, bind = element.getAttribute('data-' + kendo.ns + 'bind'), childrenCopy = [], deep = true, bindings, options = {}, target;\n parents = parents || [source];\n if (role || bind) {\n unbindElement(element, false);\n }\n if (role) {\n target = bindingTargetForRole(element, roles);\n }\n if (bind) {\n bind = parseBindings(bind.replace(whiteSpaceRegExp, ''));\n if (!target) {\n options = kendo.parseOptions(element, {\n textField: '',\n valueField: '',\n template: '',\n valueUpdate: CHANGE,\n valuePrimitive: false,\n autoBind: true\n }, source);\n options.roles = roles;\n target = new BindingTarget(element, options);\n }\n target.source = source;\n bindings = createBindings(bind, parents, Binding);\n if (options.template) {\n bindings.template = new TemplateBinding(parents, '', options.template);\n }\n if (bindings.click) {\n bind.events = bind.events || {};\n bind.events.click = bind.click;\n bindings.click.destroy();\n delete bindings.click;\n }\n if (bindings.source) {\n deep = false;\n }\n if (bind.attr) {\n bindings.attr = createBindings(bind.attr, parents, Binding);\n }\n if (bind.style) {\n bindings.style = createBindings(bind.style, parents, Binding);\n }\n if (bind.events) {\n bindings.events = createBindings(bind.events, parents, EventBinding);\n }\n if (bind.css) {\n bindings.css = createBindings(bind.css, parents, Binding);\n }\n target.bind(bindings);\n }\n if (target) {\n element.kendoBindingTarget = target;\n }\n var children = element.children;\n if (deep && children && !element.getAttribute('data-' + kendo.ns + 'stop')) {\n for (idx = 0; idx < children.length; idx++) {\n childrenCopy[idx] = children[idx];\n }\n for (idx = 0; idx < childrenCopy.length; idx++) {\n bindElement(childrenCopy[idx], source, roles, parents);\n }\n }\n }\n function bind(dom, object) {\n var idx, length, node, roles = kendo.rolesFromNamespaces([].slice.call(arguments, 2));\n object = kendo.observable(object);\n dom = $(dom);\n for (idx = 0, length = dom.length; idx < length; idx++) {\n node = dom[idx];\n if (node.nodeType === 1) {\n bindElement(node, object, roles);\n }\n }\n }\n function unbindElement(element, destroyWidget) {\n var bindingTarget = element.kendoBindingTarget;\n if (bindingTarget) {\n bindingTarget.destroy();\n if (deleteExpando) {\n delete element.kendoBindingTarget;\n } else if (element.removeAttribute) {\n element.removeAttribute('kendoBindingTarget');\n } else {\n element.kendoBindingTarget = null;\n }\n }\n if (destroyWidget) {\n var widget = kendo.widgetInstance($(element));\n if (widget && typeof widget.destroy === FUNCTION) {\n widget.destroy();\n }\n }\n }\n function unbindElementTree(element, destroyWidgets) {\n unbindElement(element, destroyWidgets);\n unbindElementChildren(element, destroyWidgets);\n }\n function unbindElementChildren(element, destroyWidgets) {\n var children = element.children;\n if (children) {\n for (var idx = 0, length = children.length; idx < length; idx++) {\n unbindElementTree(children[idx], destroyWidgets);\n }\n }\n }\n function unbind(dom) {\n var idx, length;\n dom = $(dom);\n for (idx = 0, length = dom.length; idx < length; idx++) {\n unbindElementTree(dom[idx], false);\n }\n }\n function notify(widget, namespace) {\n var element = widget.element, bindingTarget = element[0].kendoBindingTarget;\n if (bindingTarget) {\n bind(element, bindingTarget.source, namespace);\n }\n }\n function retrievePrimitiveValues(value, valueField) {\n var values = [];\n var idx = 0;\n var length;\n var item;\n if (!valueField) {\n return value;\n }\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n item = value[idx];\n values[idx] = item.get ? item.get(valueField) : item[valueField];\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n value = value.get(valueField);\n }\n return value;\n }\n kendo.unbind = unbind;\n kendo.bind = bind;\n kendo.data.binders = binders;\n kendo.data.Binder = Binder;\n kendo.notify = notify;\n kendo.observable = function (object) {\n if (!(object instanceof ObservableObject)) {\n object = new ObservableObject(object);\n }\n return object;\n };\n kendo.observableHierarchy = function (array) {\n var dataSource = kendo.data.HierarchicalDataSource.create(array);\n function recursiveRead(data) {\n var i, children;\n for (i = 0; i < data.length; i++) {\n data[i]._initChildren();\n children = data[i].children;\n children.fetch();\n data[i].items = children.data();\n recursiveRead(data[i].items);\n }\n }\n dataSource.fetch();\n recursiveRead(dataSource.data());\n dataSource._data._dataSource = dataSource;\n return dataSource._data;\n };\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.editable', [\n 'kendo.dropdownlist',\n 'kendo.datepicker',\n 'kendo.numerictextbox',\n 'kendo.validator',\n 'kendo.binder'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'editable',\n name: 'Editable',\n category: 'framework',\n depends: [\n 'dropdownlist',\n 'datepicker',\n 'numerictextbox',\n 'validator',\n 'binder'\n ],\n hidden: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, extend = $.extend, oldIE = kendo.support.browser.msie && kendo.support.browser.version < 9, isFunction = kendo.isFunction, isPlainObject = $.isPlainObject, inArray = $.inArray, POINT = '.', AUTOCOMPLETEVALUE = 'off', nameSpecialCharRegExp = /(\"|\\%|'|\\[|\\]|\\$|\\.|\\,|\\:|\\;|\\+|\\*|\\&|\\!|\\#|\\(|\\)|<|>|\\=|\\?|\\@|\\^|\\{|\\}|\\~|\\/|\\||`)/g, ERRORTEMPLATE = '
      ' + '' + '#= message #' + '' + '
      ', CHANGE = 'change';\n var EQUAL_SET = 'equalSet';\n var specialRules = [\n 'url',\n 'email',\n 'number',\n 'date',\n 'boolean'\n ];\n function fieldType(field) {\n field = field != null ? field : '';\n return field.type || $.type(field) || 'string';\n }\n function convertToValueBinding(container) {\n container.find(':input:not(:button, .k-combobox .k-input, [' + kendo.attr('role') + '=listbox], [' + kendo.attr('role') + '=upload], [' + kendo.attr('skip') + '], [type=file])').each(function () {\n var bindAttr = kendo.attr('bind'), binding = this.getAttribute(bindAttr) || '', bindingName = this.type === 'checkbox' || this.type === 'radio' ? 'checked:' : 'value:', fieldName = this.name;\n if (binding.indexOf(bindingName) === -1 && fieldName) {\n binding += (binding.length ? ',' : '') + bindingName + fieldName;\n $(this).attr(bindAttr, binding);\n }\n });\n }\n function createAttributes(options) {\n var field = (options.model.fields || options.model)[options.field], type = fieldType(field), validation = field ? field.validation : {}, attributes = field ? field.attributes : {}, ruleName, DATATYPE = kendo.attr('type'), BINDING = kendo.attr('bind'), rule, attr = {\n id: options.id || options.field,\n name: options.field,\n title: options.title ? options.title : options.field\n };\n for (ruleName in validation) {\n rule = validation[ruleName];\n if (inArray(ruleName, specialRules) >= 0) {\n attr[DATATYPE] = ruleName;\n } else if (!isFunction(rule)) {\n var culture = kendo.getCulture();\n if (typeof rule === 'number' && culture.name.length) {\n var numberFormat = culture.numberFormat;\n var stringRule = rule.toString().replace(POINT, numberFormat[POINT]);\n attr[ruleName] = stringRule;\n } else {\n attr[ruleName] = isPlainObject(rule) ? rule.value || ruleName : rule;\n }\n }\n attr[kendo.attr(ruleName + '-msg')] = rule.message;\n attr.autocomplete = AUTOCOMPLETEVALUE;\n }\n for (var attributeName in attributes) {\n attr[attributeName] = attributes[attributeName];\n }\n if (inArray(type, specialRules) >= 0) {\n attr[DATATYPE] = type;\n }\n attr[BINDING] = 'value:' + options.field;\n return attr;\n }\n function addIdAttribute(container, attr) {\n var id = container.attr('id');\n if (id) {\n attr.id = id;\n container.removeAttr('id');\n }\n return attr;\n }\n function convertItems(items) {\n var idx, length, item, value, text, result;\n if (items && items.length) {\n result = [];\n for (idx = 0, length = items.length; idx < length; idx++) {\n item = items[idx];\n text = item.text || item.value || item;\n value = item.value == null ? item.text || item : item.value;\n result[idx] = {\n text: text,\n value: value\n };\n }\n }\n return result;\n }\n function getEditorTag(type, options) {\n var tag;\n if (!type.length) {\n return;\n }\n if (type === 'DropDownTree' && options && options.checkboxes || type === 'MultiSelect') {\n tag = '' + '
      ' + '' + '' + '
      ' + '
      ',\n indent: function (content) {\n return content.replace(/<\\/(p|li|ul|ol|h[1-6]|table|tr|td|th)>/gi, '\\n').replace(/<(ul|ol)([^>]*)>
    • \\n/gi, '
      \\n').replace(/\\n$/, '');\n }\n });\n kendo.ui.editor.ViewHtmlCommand = ViewHtmlCommand;\n Editor.EditorUtils.registerTool('viewHtml', new Tool({\n command: ViewHtmlCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'View HTML'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/format', ['editor/command'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, extend = $.extend, Editor = kendo.ui.editor, Tool = Editor.Tool, Command = Editor.Command, EditorUtils = Editor.EditorUtils;\n var FormatCommand = Command.extend({\n init: function (options) {\n options.formatter = options.formatter();\n var finder = options.formatter.finder;\n if (finder && EditorUtils.formatByName('immutable', finder.format)) {\n finder._initOptions({ immutables: options.immutables });\n }\n Command.fn.init.call(this, options);\n }\n });\n var FormatTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n },\n command: function (commandArguments) {\n var that = this;\n return new FormatCommand(extend(commandArguments, { formatter: that.options.formatter }));\n },\n update: function (ui, nodes) {\n var isFormatted = this.options.finder.isFormatted(nodes);\n ui.toggleClass('k-state-selected', isFormatted);\n ui.attr('aria-pressed', isFormatted);\n }\n });\n $.extend(Editor, {\n FormatCommand: FormatCommand,\n FormatTool: FormatTool\n });\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/inlineformat', ['editor/plugins/format'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, Editor = kendo.ui.editor, formats = kendo.ui.Editor.fn.options.formats, EditorUtils = Editor.EditorUtils, Tool = Editor.Tool, ToolTemplate = Editor.ToolTemplate, FormatTool = Editor.FormatTool, dom = Editor.Dom, RangeUtils = Editor.RangeUtils, extend = $.extend, registerTool = Editor.EditorUtils.registerTool, registerFormat = Editor.EditorUtils.registerFormat, MOUSEDOWN_NS = 'mousedown.kendoEditor', KEYDOWN_NS = 'keydown.kendoEditor', KMARKER = 'k-marker';\n var InlineFormatFinder = Class.extend({\n init: function (format) {\n this.format = format;\n },\n numberOfSiblings: function (referenceNode) {\n var textNodesCount = 0, elementNodesCount = 0, markerCount = 0, parentNode = referenceNode.parentNode, node;\n for (node = parentNode.firstChild; node; node = node.nextSibling) {\n if (node != referenceNode) {\n if (node.className == KMARKER) {\n markerCount++;\n } else if (node.nodeType == 3) {\n textNodesCount++;\n } else {\n elementNodesCount++;\n }\n }\n }\n if (markerCount > 1 && parentNode.firstChild.className == KMARKER && parentNode.lastChild.className == KMARKER) {\n return 0;\n } else {\n return elementNodesCount + textNodesCount;\n }\n },\n findSuitable: function (sourceNode, skip) {\n if (!skip && this.numberOfSiblings(sourceNode) > 0) {\n return null;\n }\n var node = sourceNode.parentNode;\n var tags = this.format[0].tags;\n while (!dom.ofType(node, tags)) {\n if (this.numberOfSiblings(node) > 0) {\n return null;\n }\n node = node.parentNode;\n }\n return node;\n },\n findFormat: function (sourceNode) {\n var format = this.format, attrEquals = dom.attrEquals, i, len, node, tags, attributes;\n for (i = 0, len = format.length; i < len; i++) {\n node = sourceNode;\n tags = format[i].tags;\n attributes = format[i].attr;\n if (node && dom.ofType(node, tags) && attrEquals(node, attributes)) {\n return node;\n }\n while (node) {\n node = dom.parentOfType(node, tags);\n if (node && attrEquals(node, attributes)) {\n return node;\n }\n }\n }\n return null;\n },\n isFormatted: function (nodes) {\n var i, len;\n for (i = 0, len = nodes.length; i < len; i++) {\n if (this.findFormat(nodes[i])) {\n return true;\n }\n }\n return false;\n }\n });\n var InlineFormatter = Class.extend({\n init: function (format, values) {\n this.finder = new InlineFormatFinder(format);\n this.attributes = extend({}, format[0].attr, values);\n this.tag = format[0].tags[0];\n },\n wrap: function (node) {\n return dom.wrap(node, dom.create(node.ownerDocument, this.tag, this.attributes));\n },\n activate: function (range, nodes) {\n if (this.finder.isFormatted(nodes)) {\n this.split(range);\n this.remove(nodes);\n } else {\n this.apply(nodes);\n }\n },\n toggle: function (range) {\n var textNodes = this.immutables() ? RangeUtils.editableTextNodes : RangeUtils.textNodes;\n var nodes = textNodes(range);\n if (nodes.length > 0) {\n this.activate(range, nodes);\n }\n },\n immutables: function () {\n return this.editor && this.editor.options.immutables;\n },\n apply: function (nodes) {\n var formatNodes = [];\n var i, l, node, formatNode;\n if (nodes.length > 1) {\n for (i = 0, l = nodes.length; i < l; i++) {\n node = nodes[i];\n formatNode = this.format(node, true);\n formatNodes.push(formatNode);\n }\n } else {\n node = nodes[0];\n formatNode = this.format(node, false);\n }\n this.consolidate(formatNodes);\n },\n format: function (node, outerMostInline) {\n var formatNode = this.finder.findSuitable(node);\n var attributes = this.attributes;\n var styleAttr = attributes ? attributes.style || {} : {};\n if (formatNode) {\n if (dom.is(formatNode, 'font')) {\n if (styleAttr.color) {\n formatNode.removeAttribute('color');\n }\n if (styleAttr.fontName) {\n formatNode.removeAttribute('face');\n }\n if (styleAttr.fontSize) {\n formatNode.removeAttribute('size');\n }\n }\n dom.attr(formatNode, attributes);\n } else {\n while (!dom.isBlock(node.parentNode) && node.parentNode.childNodes.length == 1 && node.parentNode.contentEditable !== 'true' && outerMostInline) {\n node = node.parentNode;\n }\n formatNode = this.wrap(node);\n }\n return formatNode;\n },\n remove: function (nodes) {\n var i, l, formatNode;\n for (i = 0, l = nodes.length; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n if (this.attributes && this.attributes.style) {\n dom.unstyle(formatNode, this.attributes.style);\n if (!formatNode.style.cssText && !formatNode.attributes['class']) {\n dom.unwrap(formatNode);\n }\n } else {\n dom.unwrap(formatNode);\n }\n }\n }\n },\n split: function (range) {\n var nodes = RangeUtils.textNodes(range);\n var l = nodes.length;\n var i, formatNode;\n if (l > 0) {\n for (i = 0; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n RangeUtils.split(range, formatNode, true);\n }\n }\n }\n },\n consolidate: function (nodes) {\n var node, last;\n while (nodes.length > 1) {\n node = nodes.pop();\n last = nodes[nodes.length - 1];\n if (node.previousSibling && node.previousSibling.className == KMARKER) {\n last.appendChild(node.previousSibling);\n }\n if (node.tagName == last.tagName && node.previousSibling == last && node.style.cssText == last.style.cssText && node.className === last.className) {\n while (node.firstChild) {\n last.appendChild(node.firstChild);\n }\n dom.remove(node);\n }\n }\n }\n });\n var GreedyInlineFormatFinder = InlineFormatFinder.extend({\n init: function (format, greedyProperty) {\n this.format = format;\n this.greedyProperty = greedyProperty;\n InlineFormatFinder.fn.init.call(this, format);\n },\n getInlineCssValue: function (node) {\n var attributes = node.attributes;\n var trim = kendo.trim;\n var i, l, attribute, name, attributeValue, css, pair, cssIndex, len;\n var propertyAndValue, property, value;\n if (!attributes) {\n return;\n }\n for (i = 0, l = attributes.length; i < l; i++) {\n attribute = attributes[i];\n name = attribute.nodeName;\n attributeValue = attribute.nodeValue;\n if (attribute.specified && name == 'style') {\n css = trim(attributeValue || node.style.cssText).split(';');\n for (cssIndex = 0, len = css.length; cssIndex < len; cssIndex++) {\n pair = css[cssIndex];\n if (pair.length) {\n propertyAndValue = pair.split(':');\n property = trim(propertyAndValue[0].toLowerCase());\n value = trim(propertyAndValue[1]);\n if (property != this.greedyProperty) {\n continue;\n }\n return property.indexOf('color') >= 0 ? dom.toHex(value) : value;\n }\n }\n }\n }\n },\n getFormatInner: function (node) {\n var $node = $(dom.isDataNode(node) ? node.parentNode : node);\n var parents = $node.parentsUntil('[contentEditable]').addBack().toArray().reverse();\n var i, len, value;\n for (i = 0, len = parents.length; i < len; i++) {\n value = this.greedyProperty == 'className' ? parents[i].className : this.getInlineCssValue(parents[i]);\n if (value) {\n return value;\n }\n }\n return 'inherit';\n },\n getFormat: function (nodes) {\n var result = this.getFormatInner(nodes[0]), i, len;\n for (i = 1, len = nodes.length; i < len; i++) {\n if (result != this.getFormatInner(nodes[i])) {\n return '';\n }\n }\n return result;\n },\n isFormatted: function (nodes) {\n return this.getFormat(nodes) !== '';\n }\n });\n var GreedyInlineFormatter = InlineFormatter.extend({\n init: function (format, values, greedyProperty) {\n InlineFormatter.fn.init.call(this, format, values);\n this.values = values;\n this.finder = new GreedyInlineFormatFinder(format, greedyProperty);\n if (greedyProperty) {\n this.greedyProperty = kendo.toCamelCase(greedyProperty);\n }\n },\n activate: function (range, nodes) {\n var greedyProperty = this.greedyProperty;\n var action = 'apply';\n this.split(range);\n if (greedyProperty && this.values.style[greedyProperty] == 'inherit') {\n action = 'remove';\n }\n this[action](nodes);\n }\n });\n var InlineFormatTool = FormatTool.extend({\n init: function (options) {\n FormatTool.fn.init.call(this, extend(options, {\n finder: new InlineFormatFinder(options.format),\n formatter: function () {\n return new InlineFormatter(options.format);\n }\n }));\n }\n });\n var DelayedExecutionTool = Tool.extend({\n update: function (ui, nodes) {\n var list = ui.data(this.type);\n list.close();\n list.value(this.finder.getFormat(nodes));\n }\n });\n var FontTool = DelayedExecutionTool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n this.type = kendo.support.browser.msie || kendo.support.touch ? 'kendoDropDownList' : 'kendoComboBox';\n this.format = [{\n tags: [\n 'span',\n 'font'\n ]\n }];\n this.finder = new GreedyInlineFormatFinder(this.format, options.cssAttr);\n },\n command: function (commandArguments) {\n var options = this.options, format = this.format, style = {};\n return new Editor.FormatCommand(extend(commandArguments, {\n formatter: function () {\n style[options.domAttr] = commandArguments.value;\n return new GreedyInlineFormatter(format, { style: style }, options.cssAttr);\n }\n }));\n },\n initialize: function (ui, initOptions) {\n var editor = initOptions.editor, options = this.options, toolName = options.name, dataSource, range, defaultValue = [];\n if (options.defaultValue) {\n defaultValue = [{\n text: editor.options.messages[options.defaultValue[0].text],\n value: options.defaultValue[0].value\n }];\n }\n dataSource = defaultValue.concat(options.items ? options.items : editor.options[toolName] || []);\n ui.attr({ title: initOptions.title });\n ui[this.type]({\n dataTextField: 'text',\n dataValueField: 'value',\n dataSource: dataSource,\n change: function () {\n editor._range = range;\n Tool.exec(editor, toolName, this.value());\n },\n close: function () {\n setTimeout(function () {\n editor._deleteSavedRange();\n }, 0);\n },\n highlightFirst: false\n });\n ui.closest('.k-widget').removeClass('k-' + toolName).find('*').addBack().attr('unselectable', 'on');\n var widget = ui.data(this.type);\n widget.value('inherit');\n widget.wrapper.on(MOUSEDOWN_NS, '.k-select,.k-input', function () {\n var newRange = editor.getRange();\n range = editor._containsRange(newRange) ? newRange : range;\n }).on(KEYDOWN_NS, function (e) {\n if (e.keyCode === kendo.keys.ENTER) {\n editor._deleteSavedRange();\n e.preventDefault();\n }\n });\n }\n });\n var ColorTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n this.format = [{\n tags: [\n 'span',\n 'font'\n ]\n }];\n this.finder = new GreedyInlineFormatFinder(this.format, options.cssAttr);\n },\n options: { palette: 'websafe' },\n update: function () {\n this._widget.close();\n },\n command: function (commandArguments) {\n var options = this.options, format = this.format, style = {};\n return new Editor.FormatCommand(extend(commandArguments, {\n formatter: function () {\n style[options.domAttr] = commandArguments.value;\n return new GreedyInlineFormatter(format, { style: style }, options.cssAttr);\n }\n }));\n },\n initialize: function (ui, initOptions) {\n var that = this, editor = initOptions.editor, toolName = this.name, options = extend({}, ColorTool.fn.options, this.options), palette = options.palette, columns = options.columns;\n ui = this._widget = new kendo.ui.ColorPicker(ui, {\n toolIcon: 'k-icon k-i-' + EditorUtils.getToolCssClass(options.name),\n palette: palette,\n columns: columns,\n change: function () {\n var color = ui.value();\n if (kendo.support.browser.msie && that.storedRange && that._inputFocused) {\n editor.selectRange(that.storedRange);\n }\n if (color) {\n Tool.exec(editor, toolName, color);\n }\n delete that.storedRange;\n delete that._inputFocused;\n editor.focus();\n },\n open: function (e) {\n var picker = e.sender;\n that.storedRange = editor.getRange();\n picker._popup.element.on(MOUSEDOWN_NS, function (e) {\n if (!$(e.target).is('input.k-color-value')) {\n e.preventDefault();\n }\n });\n if (!picker._popup.element.is('[unselectable=\\'on\\']')) {\n picker._popup.element.attr({ unselectable: 'on' }).find('*:not(input)').attr('unselectable', 'on').end().find('input').on('focus', function () {\n that._inputFocused = true;\n });\n }\n },\n close: function (e) {\n e.sender._popup.element.off(MOUSEDOWN_NS);\n if (kendo.support.browser.msie && that.storedRange && that._inputFocused) {\n editor.selectRange(that.storedRange);\n }\n },\n activate: function (e) {\n e.preventDefault();\n if (e.sender._value.toCssRgba() === 'rgba(255, 255, 255, 0)') {\n return;\n }\n ui.trigger('change');\n }\n });\n ui.wrapper.attr({\n title: initOptions.title,\n unselectable: 'on'\n }).find('*:not(input)').attr('unselectable', 'on');\n ui.value('transparent');\n }\n });\n extend(Editor, {\n InlineFormatFinder: InlineFormatFinder,\n InlineFormatter: InlineFormatter,\n DelayedExecutionTool: DelayedExecutionTool,\n GreedyInlineFormatFinder: GreedyInlineFormatFinder,\n GreedyInlineFormatter: GreedyInlineFormatter,\n InlineFormatTool: InlineFormatTool,\n FontTool: FontTool,\n ColorTool: ColorTool\n });\n registerFormat('bold', [\n {\n tags: [\n 'strong',\n 'b'\n ]\n },\n {\n tags: ['span'],\n attr: { style: { fontWeight: 'bold' } }\n }\n ]);\n registerTool('bold', new InlineFormatTool({\n key: 'B',\n ctrl: true,\n format: formats.bold,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Bold'\n })\n }));\n registerFormat('italic', [\n {\n tags: [\n 'em',\n 'i'\n ]\n },\n {\n tags: ['span'],\n attr: { style: { fontStyle: 'italic' } }\n }\n ]);\n registerTool('italic', new InlineFormatTool({\n key: 'I',\n ctrl: true,\n format: formats.italic,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Italic'\n })\n }));\n registerFormat('underline', [\n {\n tags: ['span'],\n attr: { style: { textDecoration: 'underline' } }\n },\n { tags: ['u'] }\n ]);\n registerTool('underline', new InlineFormatTool({\n key: 'U',\n ctrl: true,\n format: formats.underline,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Underline'\n })\n }));\n registerFormat('strikethrough', [\n {\n tags: [\n 'del',\n 'strike'\n ]\n },\n {\n tags: ['span'],\n attr: { style: { textDecoration: 'line-through' } }\n }\n ]);\n registerTool('strikethrough', new InlineFormatTool({\n format: formats.strikethrough,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Strikethrough'\n })\n }));\n registerFormat('superscript', [{ tags: ['sup'] }]);\n registerTool('superscript', new InlineFormatTool({\n format: formats.superscript,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Superscript'\n })\n }));\n registerFormat('subscript', [{ tags: ['sub'] }]);\n registerTool('subscript', new InlineFormatTool({\n format: formats.subscript,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Subscript'\n })\n }));\n registerTool('foreColor', new ColorTool({\n cssAttr: 'color',\n domAttr: 'color',\n name: 'foreColor',\n template: new ToolTemplate({\n template: EditorUtils.colorPickerTemplate,\n title: 'Color'\n })\n }));\n registerTool('backColor', new ColorTool({\n cssAttr: 'background-color',\n domAttr: 'backgroundColor',\n name: 'backColor',\n template: new ToolTemplate({\n template: EditorUtils.colorPickerTemplate,\n title: 'Background Color'\n })\n }));\n registerTool('fontName', new FontTool({\n cssAttr: 'font-family',\n domAttr: 'fontFamily',\n name: 'fontName',\n defaultValue: [{\n text: 'fontNameInherit',\n value: 'inherit'\n }],\n template: new ToolTemplate({\n template: EditorUtils.comboBoxTemplate,\n title: 'Font Name'\n })\n }));\n registerTool('fontSize', new FontTool({\n cssAttr: 'font-size',\n domAttr: 'fontSize',\n name: 'fontSize',\n defaultValue: [{\n text: 'fontSizeInherit',\n value: 'inherit'\n }],\n template: new ToolTemplate({\n template: EditorUtils.comboBoxTemplate,\n title: 'Font Size'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/link', ['editor/plugins/inlineformat'], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, Class = kendo.Class, extend = $.extend, proxy = $.proxy, Editor = kendo.ui.editor, dom = Editor.Dom, RangeUtils = Editor.RangeUtils, EditorUtils = Editor.EditorUtils, Command = Editor.Command, Tool = Editor.Tool, ToolTemplate = Editor.ToolTemplate, InlineFormatter = Editor.InlineFormatter, InlineFormatFinder = Editor.InlineFormatFinder, textNodes = RangeUtils.textNodes, editableTextNodes = RangeUtils.editableTextNodes, registerTool = Editor.EditorUtils.registerTool, keys = kendo.keys;\n var HTTP_PROTOCOL = 'http://';\n var protocolRegExp = /^\\w*:\\/\\//;\n var endLinkCharsRegExp = /[\\w\\/\\$\\-_\\*\\?]/i;\n var LinkFormatFinder = Class.extend({\n findSuitable: function (sourceNode) {\n return dom.parentOfType(sourceNode, ['a']);\n }\n });\n var LinkFormatter = Class.extend({\n init: function () {\n this.finder = new LinkFormatFinder();\n },\n apply: function (range, attributes) {\n var nodes = this.immutables ? editableTextNodes(range) : textNodes(range);\n var markers, doc, formatter, a, parent;\n if (attributes.innerText) {\n doc = RangeUtils.documentFromRange(range);\n markers = RangeUtils.getMarkers(range);\n range.deleteContents();\n a = dom.create(doc, 'a', attributes);\n range.insertNode(a);\n parent = a.parentNode;\n if (dom.name(parent) == 'a') {\n dom.insertAfter(a, parent);\n }\n if (dom.emptyNode(parent)) {\n dom.remove(parent);\n }\n var ref = a;\n for (var i = 0; i < markers.length; i++) {\n dom.insertAfter(markers[i], ref);\n ref = markers[i];\n }\n if (markers.length) {\n dom.insertBefore(doc.createTextNode('\\uFEFF'), markers[1] || markers[0]);\n dom.insertAfter(doc.createTextNode('\\uFEFF'), markers[1] || markers[0]);\n range.setStartBefore(markers[0]);\n range.setEndAfter(markers[markers.length - 1]);\n }\n } else {\n formatter = new InlineFormatter([{ tags: ['a'] }], attributes);\n formatter.finder = this.finder;\n formatter.apply(nodes);\n }\n }\n });\n var UnlinkCommand = Command.extend({\n init: function (options) {\n var that = this;\n options.formatter = {\n toggle: function (range) {\n var nodes = that.immutables() ? editableTextNodes(range) : textNodes(range);\n new InlineFormatter([{ tags: ['a'] }]).remove(nodes);\n }\n };\n this.options = options;\n Command.fn.init.call(this, options);\n }\n });\n var LinkCommand = Command.extend({\n init: function (options) {\n var that;\n this.options = options;\n Command.fn.init.call(this, options);\n this.formatter = new LinkFormatter();\n if (!options.url) {\n this.attributes = null;\n this.async = true;\n } else {\n this.exec = function () {\n this.formatter.immutables = that && that.immutables();\n this.formatter.apply(options.range, {\n href: options.url,\n innerText: options.text || options.url,\n target: options.target\n });\n };\n }\n },\n _dialogTemplate: function () {\n return kendo.template('
      ' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '
      ' + '' + '' + '
      ' + '
      ' + '' + '' + '
      ' + '
      ' + '
      ')({ messages: this.editor.options.messages });\n },\n exec: function () {\n var messages = this.editor.options.messages;\n this._initialText = '';\n this._range = this.lockRange(true);\n this.formatter.immutables = this.immutables();\n var nodes = textNodes(this._range);\n var a = nodes.length ? this.formatter.finder.findSuitable(nodes[0]) : null;\n var img = nodes.length && dom.name(nodes[0]) == 'img';\n var dialog = this.createDialog(this._dialogTemplate(), {\n title: messages.createLink,\n close: proxy(this._close, this),\n visible: false\n });\n if (a) {\n this._range.selectNodeContents(a);\n nodes = textNodes(this._range);\n }\n this._initialText = this.linkText(nodes);\n dialog.find('.k-dialog-insert').click(proxy(this._apply, this)).end().find('.k-dialog-close').click(proxy(this._close, this)).end().find('.k-edit-field input').keydown(proxy(this._keydown, this)).end().find('#k-editor-link-url').val(this.linkUrl(a)).end().find('#k-editor-link-text').val(this._initialText).end().find('#k-editor-link-title').val(a ? a.title : '').end().find('#k-editor-link-target').attr('checked', a ? a.target == '_blank' : false).end().find('.k-editor-link-text-row').toggle(!img);\n this._dialog = dialog.data('kendoWindow').center().open();\n $('#k-editor-link-url', dialog).focus().select();\n },\n _keydown: function (e) {\n var keys = kendo.keys;\n if (e.keyCode == keys.ENTER) {\n this._apply(e);\n } else if (e.keyCode == keys.ESC) {\n this._close(e);\n }\n },\n _apply: function (e) {\n var element = this._dialog.element;\n var href = $('#k-editor-link-url', element).val();\n var title, text, target;\n var textInput = $('#k-editor-link-text', element);\n if (href && href != HTTP_PROTOCOL) {\n if (href.indexOf('@') > 0 && !/^(\\w+:)|(\\/\\/)/i.test(href)) {\n href = 'mailto:' + href;\n }\n this.attributes = { href: href };\n title = $('#k-editor-link-title', element).val();\n if (title) {\n this.attributes.title = title;\n }\n if (textInput.is(':visible')) {\n text = textInput.val();\n if (!text && !this._initialText) {\n this.attributes.innerText = href;\n } else if (text && text !== this._initialText) {\n this.attributes.innerText = dom.stripBom(text);\n }\n }\n target = $('#k-editor-link-target', element).is(':checked');\n this.attributes.target = target ? '_blank' : null;\n this.formatter.apply(this._range, this.attributes);\n }\n this._close(e);\n if (this.change) {\n this.change();\n }\n },\n _close: function (e) {\n e.preventDefault();\n this._dialog.destroy();\n dom.windowFromDocument(RangeUtils.documentFromRange(this._range)).focus();\n this.releaseRange(this._range);\n },\n linkUrl: function (anchor) {\n if (anchor) {\n return anchor.getAttribute('href', 2);\n }\n return HTTP_PROTOCOL;\n },\n linkText: function (nodes) {\n var text = '';\n var i;\n for (i = 0; i < nodes.length; i++) {\n text += nodes[i].nodeValue;\n }\n return dom.stripBom(text || '');\n },\n redo: function () {\n var range = this.lockRange(true);\n this.formatter.apply(range, this.attributes);\n this.releaseRange(range);\n }\n });\n var AutoLinkCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n this.formatter = new LinkFormatter();\n },\n exec: function () {\n var detectedLink = this.detectLink();\n if (!detectedLink) {\n return;\n }\n var range = this.getRange();\n var linkMarker = new kendo.ui.editor.Marker();\n var linkRange = range.cloneRange();\n linkRange.setStart(detectedLink.start.node, detectedLink.start.offset);\n linkRange.setEnd(detectedLink.end.node, detectedLink.end.offset);\n range = this.lockRange();\n linkMarker.add(linkRange);\n this.formatter.apply(linkRange, { href: this._ensureWebProtocol(detectedLink.text) });\n linkMarker.remove(linkRange);\n this.releaseRange(range);\n },\n detectLink: function () {\n var range = this.getRange();\n var startNode = range.startContainer;\n var startOffset = range.startOffset;\n var prev = startNode.previousSibling;\n if (!prev && (dom.isBom(startNode) && !startNode.nextSibling || !startOffset && dom.isDataNode(startNode))) {\n startNode = startNode.parentNode;\n startOffset = 0;\n }\n var traverser = new LeftDomTextTraverser({\n node: startNode,\n offset: startOffset,\n cancelAtNode: function (node) {\n return node && dom.name(node) === 'a';\n }\n });\n var detection = new DomTextLinkDetection(traverser);\n return detection.detectLink();\n },\n changesContent: function () {\n return !!this.detectLink();\n },\n _ensureWebProtocol: function (linkText) {\n var hasProtocol = this._hasProtocolPrefix(linkText);\n return hasProtocol ? linkText : this._prefixWithWebProtocol(linkText);\n },\n _hasProtocolPrefix: function (linkText) {\n return protocolRegExp.test(linkText);\n },\n _prefixWithWebProtocol: function (linkText) {\n return HTTP_PROTOCOL + linkText;\n }\n });\n var UnlinkTool = Tool.extend({\n init: function (options) {\n this.options = options;\n this.finder = new InlineFormatFinder([{ tags: ['a'] }]);\n Tool.fn.init.call(this, $.extend(options, { command: UnlinkCommand }));\n },\n initialize: function (ui, options) {\n Tool.fn.initialize.call(this, ui, options);\n ui.addClass('k-state-disabled');\n },\n update: function (ui, nodes) {\n ui.toggleClass('k-state-disabled', !this.finder.isFormatted(nodes)).removeClass('k-state-hover');\n }\n });\n var DomTextLinkDetection = Class.extend({\n init: function (traverser) {\n this.traverser = traverser;\n this.start = DomPos();\n this.end = DomPos();\n this.text = '';\n },\n detectLink: function () {\n var node = this.traverser.node;\n var offset = this.traverser.offset;\n if (dom.isDataNode(node)) {\n var text = node.data.substring(0, offset);\n if (/\\s{2}$/.test(dom.stripBom(text))) {\n return;\n }\n } else if (offset === 0) {\n var p = dom.closestEditableOfType(node, dom.blockElements);\n if (p && p.previousSibling) {\n this.traverser.init({ node: p.previousSibling });\n }\n }\n this.traverser.traverse($.proxy(this._detectEnd, this));\n if (!this.end.blank()) {\n this.traverser = this.traverser.clone(this.end);\n this.traverser.traverse($.proxy(this._detectStart, this));\n if (!this._isLinkDetected()) {\n var puntuationOptions = this.traverser.extendOptions(this.start);\n var puntuationTraverser = new RightDomTextTraverser(puntuationOptions);\n puntuationTraverser.traverse($.proxy(this._skipStartPuntuation, this));\n if (!this._isLinkDetected()) {\n this.start = DomPos();\n }\n }\n }\n if (this.start.blank()) {\n return null;\n } else {\n return {\n start: this.start,\n end: this.end,\n text: this.text\n };\n }\n },\n _isLinkDetected: function () {\n return protocolRegExp.test(this.text) || /^w{3}\\./i.test(this.text);\n },\n _detectEnd: function (text, node) {\n var i = lastIndexOfRegExp(text, endLinkCharsRegExp);\n if (i > -1) {\n this.end.node = node;\n this.end.offset = i + 1;\n return false;\n }\n },\n _detectStart: function (text, node) {\n var i = lastIndexOfRegExp(text, /\\s/);\n var ii = i + 1;\n this.text = text.substring(ii) + this.text;\n this.start.node = node;\n this.start.offset = ii;\n if (i > -1) {\n return false;\n }\n },\n _skipStartPuntuation: function (text, node, offset) {\n var i = indexOfRegExp(text, /\\w/);\n var ii = i;\n if (i === -1) {\n ii = text.length;\n }\n this.text = this.text.substring(ii);\n this.start.node = node;\n this.start.offset = ii + (offset | 0);\n if (i > -1) {\n return false;\n }\n }\n });\n function lastIndexOfRegExp(str, search) {\n var i = str.length;\n while (i-- && !search.test(str[i])) {\n }\n return i;\n }\n function indexOfRegExp(str, search) {\n var r = search.exec(str);\n return r ? r.index : -1;\n }\n var DomPos = function () {\n return {\n node: null,\n offset: null,\n blank: function () {\n return this.node === null && this.offset === null;\n }\n };\n };\n var DomTextTraverser = Class.extend({\n init: function (options) {\n this.node = options.node;\n this.offset = options.offset === undefined ? dom.isDataNode(this.node) && this.node.length || 0 : options.offset;\n this.cancelAtNode = options.cancelAtNode || this.cancelAtNode || $.noop;\n },\n traverse: function (callback) {\n if (!callback) {\n return;\n }\n this.cancel = false;\n this._traverse(callback, this.node, this.offset);\n },\n _traverse: function (callback, node, offset) {\n if (!node || this.cancel) {\n return;\n }\n if (node.nodeType === 3) {\n var text = node.data;\n if (offset !== undefined) {\n text = this.subText(text, offset);\n }\n this.cancel = callback(text, node, offset) === false;\n } else {\n var edgeNode = this.edgeNode(node);\n this.cancel = this.cancel || this.cancelAtNode(edgeNode);\n return this._traverse(callback, edgeNode);\n }\n var next = this.next(node);\n if (!next) {\n var parent = node.parentNode;\n while (!next && dom.isInline(parent)) {\n next = this.next(parent);\n parent = parent.parentNode;\n }\n }\n this.cancel = this.cancel || this.cancelAtNode(next);\n this._traverse(callback, next);\n },\n extendOptions: function (o) {\n return $.extend({\n node: this.node,\n offset: this.offset,\n cancelAtNode: this.cancelAtNode\n }, o || {});\n },\n edgeNode: function (node) {\n },\n next: function (node) {\n },\n subText: function (text, offset) {\n }\n });\n var LeftDomTextTraverser = DomTextTraverser.extend({\n subText: function (text, splitIndex) {\n return text.substring(0, splitIndex);\n },\n next: function (node) {\n return node.previousSibling;\n },\n edgeNode: function (node) {\n return node.lastChild;\n },\n clone: function (options) {\n var o = this.extendOptions(options);\n return new LeftDomTextTraverser(o);\n }\n });\n var RightDomTextTraverser = DomTextTraverser.extend({\n subText: function (text, splitIndex) {\n return text.substring(splitIndex);\n },\n next: function (node) {\n return node.nextSibling;\n },\n edgeNode: function (node) {\n return node.firstChild;\n },\n clone: function (options) {\n var o = this.extendOptions(options);\n return new RightDomTextTraverser(o);\n }\n });\n extend(kendo.ui.editor, {\n LinkFormatFinder: LinkFormatFinder,\n LinkFormatter: LinkFormatter,\n UnlinkCommand: UnlinkCommand,\n LinkCommand: LinkCommand,\n AutoLinkCommand: AutoLinkCommand,\n UnlinkTool: UnlinkTool,\n DomTextLinkDetection: DomTextLinkDetection,\n LeftDomTextTraverser: LeftDomTextTraverser,\n RightDomTextTraverser: RightDomTextTraverser\n });\n registerTool('createLink', new Tool({\n key: 'K',\n ctrl: true,\n command: LinkCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Create Link'\n })\n }));\n registerTool('unlink', new UnlinkTool({\n key: 'K',\n ctrl: true,\n shift: true,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Remove Link'\n })\n }));\n registerTool('autoLink', new Tool({\n key: [\n keys.ENTER,\n keys.SPACEBAR\n ],\n keyPressCommand: true,\n command: AutoLinkCommand\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/formatblock', ['editor/plugins/format'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, extend = $.extend, Editor = kendo.ui.editor, formats = kendo.ui.Editor.fn.options.formats, dom = Editor.Dom, ToolTemplate = Editor.ToolTemplate, FormatTool = Editor.FormatTool, EditorUtils = Editor.EditorUtils, registerTool = EditorUtils.registerTool, registerFormat = EditorUtils.registerFormat, RangeUtils = Editor.RangeUtils;\n var BlockFormatFinder = Class.extend({\n init: function (format) {\n this.format = format;\n },\n contains: function (node, children) {\n var i, len, child;\n for (i = 0, len = children.length; i < len; i++) {\n child = children[i];\n if (!child || !dom.isAncestorOrSelf(node, child)) {\n return false;\n }\n }\n return true;\n },\n findSuitable: function (nodes) {\n var format = this.format, suitable = [], i, len, candidate;\n for (i = 0, len = nodes.length; i < len; i++) {\n for (var f = format.length - 1; f >= 0; f--) {\n candidate = dom.ofType(nodes[i], format[f].tags) ? nodes[i] : dom.closestEditableOfType(nodes[i], format[f].tags);\n if (candidate) {\n break;\n }\n }\n if (!candidate || candidate.contentEditable === 'true') {\n return [];\n }\n if ($.inArray(candidate, suitable) < 0) {\n suitable.push(candidate);\n }\n }\n this._resolveListsItems(suitable);\n for (i = 0, len = suitable.length; i < len; i++) {\n if (this.contains(suitable[i], suitable)) {\n return [suitable[i]];\n }\n }\n return suitable;\n },\n _resolveListsItems: function (nodes) {\n var i, node, wrapper;\n for (i = 0; i < nodes.length; i++) {\n node = nodes[i];\n wrapper = dom.is(node, 'li') ? node : dom.wrapper(node);\n wrapper = wrapper && dom.list(wrapper) ? wrapper.children[0] : wrapper;\n if (dom.is(wrapper, 'li')) {\n node = nodes[i] = wrapper;\n }\n }\n },\n findFormat: function (sourceNode) {\n var format = this.format, i, len, node, tags, attributes;\n var editableParent = dom.editableParent(sourceNode);\n var immutables = this.options && this.options.immutables;\n var ImmutablesNS = Editor.Immutables;\n for (i = 0, len = format.length; i < len; i++) {\n node = sourceNode;\n tags = format[i].tags;\n attributes = format[i].attr;\n if (immutables && tags && tags[0] == 'immutable') {\n var immutable = ImmutablesNS.immutableParent(node);\n if (immutable && dom.attrEquals(immutable, attributes)) {\n return node;\n }\n }\n while (node && dom.isAncestorOf(editableParent, node)) {\n if (dom.ofType(node, tags) && dom.attrEquals(node, attributes)) {\n return node;\n }\n node = node.parentNode;\n }\n }\n return null;\n },\n getFormat: function (nodes) {\n var that = this, findFormat = function (node) {\n return that.findFormat(dom.isDataNode(node) ? node.parentNode : node);\n }, result = findFormat(nodes[0]), i, len;\n if (!result) {\n return '';\n }\n for (i = 1, len = nodes.length; i < len; i++) {\n if (result != findFormat(nodes[i])) {\n return '';\n }\n }\n return result.nodeName.toLowerCase();\n },\n isFormatted: function (nodes) {\n for (var i = 0, len = nodes.length; i < len; i++) {\n if (!this.findFormat(nodes[i])) {\n return false;\n }\n }\n return true;\n }\n });\n var BlockFormatter = Class.extend({\n init: function (format, values) {\n this.format = format;\n this.values = values;\n this.finder = new BlockFormatFinder(format);\n },\n wrap: function (tag, attributes, nodes) {\n var commonAncestor = nodes.length == 1 ? dom.blockParentOrBody(nodes[0]) : dom.commonAncestor.apply(null, nodes);\n if (dom.isInline(commonAncestor)) {\n commonAncestor = dom.blockParentOrBody(commonAncestor);\n }\n var ancestors = dom.significantChildNodes(commonAncestor), position = dom.findNodeIndex(ancestors[0]), wrapper = dom.create(commonAncestor.ownerDocument, tag, attributes), i, ancestor;\n for (i = 0; i < ancestors.length; i++) {\n ancestor = ancestors[i];\n if (dom.isBlock(ancestor)) {\n dom.attr(ancestor, attributes);\n if (wrapper.childNodes.length) {\n dom.insertBefore(wrapper, ancestor);\n wrapper = wrapper.cloneNode(false);\n }\n position = dom.findNodeIndex(ancestor) + 1;\n continue;\n }\n wrapper.appendChild(ancestor);\n }\n if (wrapper.firstChild) {\n dom.insertAt(commonAncestor, wrapper, position);\n }\n },\n apply: function (nodes) {\n var format, values = this.values;\n function attributes(format) {\n return extend({}, format && format.attr, values);\n }\n this._handleImmutables(nodes, true);\n var images = dom.filter('img', nodes);\n var imageFormat = EditorUtils.formatByName('img', this.format);\n var imageAttributes = attributes(imageFormat);\n $.each(images, function () {\n dom.attr(this, imageAttributes);\n });\n if (images.length == nodes.length) {\n return;\n }\n var nonImages = dom.filter('img', nodes, true);\n var formatNodes = this.finder.findSuitable(nonImages);\n if (formatNodes.length) {\n for (var i = 0, len = formatNodes.length; i < len; i++) {\n format = EditorUtils.formatByName(dom.name(formatNodes[i]), this.format);\n dom.attr(formatNodes[i], attributes(format));\n }\n } else {\n format = this.format[0];\n this.wrap(format.tags[0], attributes(format), nonImages);\n }\n },\n _handleImmutables: function (nodes, applyFormatting) {\n if (!this.immutables()) {\n return;\n }\n var immutableFormat = EditorUtils.formatByName('immutable', this.format);\n if (!immutableFormat) {\n return;\n }\n var ImmutablesNS = Editor.Immutables;\n var l = nodes.length - 1;\n for (var i = l; i >= 0; i--) {\n var immutableParent = ImmutablesNS.immutableParent(nodes[i]);\n if (!immutableParent) {\n continue;\n }\n if (immutableParent !== nodes[i + 1]) {\n if (applyFormatting) {\n dom.attr(immutableParent, immutableFormat.attr);\n } else {\n dom.unstyle(immutableParent, immutableFormat.attr.style);\n }\n }\n nodes.splice(i, 1);\n }\n },\n immutables: function () {\n return this.editor && this.editor.options.immutables;\n },\n remove: function (nodes) {\n var i, l, formatNode, namedFormat, name;\n this._handleImmutables(nodes, false);\n for (i = 0, l = nodes.length; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n name = dom.name(formatNode);\n namedFormat = EditorUtils.formatByName(name, this.format);\n if (namedFormat.attr.style) {\n dom.unstyle(formatNode, namedFormat.attr.style);\n }\n if (namedFormat.attr.className) {\n dom.removeClass(formatNode, namedFormat.attr.className);\n }\n }\n }\n },\n toggle: function (range) {\n var that = this, nodes = dom.filterBy(RangeUtils.nodes(range), dom.htmlIndentSpace, true);\n if (that.finder.isFormatted(nodes)) {\n that.remove(nodes);\n } else {\n that.apply(nodes);\n }\n }\n });\n var GreedyBlockFormatter = Class.extend({\n init: function (format, values) {\n var that = this;\n that.format = format;\n that.values = values;\n that.finder = new BlockFormatFinder(format);\n },\n apply: function (nodes) {\n var format = this.format;\n var blocks = dom.blockParents(nodes);\n var formatTag = format[0].tags[0];\n var i, len, list, formatter, range;\n var element;\n var tagName;\n var block;\n var immutalbeParent;\n if (blocks.length) {\n for (i = 0, len = blocks.length; i < len; i++) {\n block = blocks[i];\n immutalbeParent = this.immutables() && Editor.Immutables.immutableParent(block);\n if (!immutalbeParent) {\n tagName = dom.name(block);\n if (tagName == 'li') {\n list = block.parentNode;\n formatter = new Editor.ListFormatter(list.nodeName.toLowerCase(), formatTag);\n range = this.editor.createRange();\n range.selectNode(blocks[i]);\n formatter.toggle(range);\n } else if (formatTag && (tagName == 'td' || block.attributes.contentEditable)) {\n new BlockFormatter(format, this.values).apply(block.childNodes);\n } else {\n element = dom.changeTag(block, formatTag);\n dom.attr(element, format[0].attr);\n }\n }\n }\n } else {\n var blockFormatter = new BlockFormatter(format, this.values);\n blockFormatter.editor = this.editor;\n blockFormatter.apply(nodes);\n }\n },\n toggle: function (range) {\n var nodes = RangeUtils.textNodes(range);\n if (!nodes.length) {\n range.selectNodeContents(range.commonAncestorContainer);\n nodes = RangeUtils.textNodes(range);\n if (!nodes.length) {\n nodes = dom.significantChildNodes(range.commonAncestorContainer);\n }\n }\n this.apply(nodes);\n },\n immutables: function () {\n return this.editor && this.editor.options.immutables;\n }\n });\n var BlockFormatTool = FormatTool.extend({\n init: function (options) {\n FormatTool.fn.init.call(this, extend(options, {\n finder: new BlockFormatFinder(options.format),\n formatter: function () {\n return new BlockFormatter(options.format);\n }\n }));\n }\n });\n extend(Editor, {\n BlockFormatFinder: BlockFormatFinder,\n BlockFormatter: BlockFormatter,\n GreedyBlockFormatter: GreedyBlockFormatter,\n BlockFormatTool: BlockFormatTool\n });\n var listElements = [\n 'ul',\n 'ol',\n 'li'\n ];\n registerFormat('justifyLeft', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'left' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n 'float': 'left',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n 'float': 'left',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'left',\n listStylePosition: ''\n }\n }\n }\n ]);\n registerTool('justifyLeft', new BlockFormatTool({\n format: formats.justifyLeft,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Left'\n })\n }));\n registerFormat('justifyCenter', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'center' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'center',\n listStylePosition: 'inside'\n }\n }\n }\n ]);\n registerTool('justifyCenter', new BlockFormatTool({\n format: formats.justifyCenter,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Center'\n })\n }));\n registerFormat('justifyRight', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'right' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n 'float': 'right',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n 'float': 'right',\n display: '',\n marginLeft: '',\n marginRight: ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'right',\n listStylePosition: 'inside'\n }\n }\n }\n ]);\n registerTool('justifyRight', new BlockFormatTool({\n format: formats.justifyRight,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Right'\n })\n }));\n registerFormat('justifyFull', [\n {\n tags: dom.nonListBlockElements,\n attr: { style: { textAlign: 'justify' } }\n },\n {\n tags: ['img'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: ['immutable'],\n attr: {\n style: {\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n 'float': ''\n }\n }\n },\n {\n tags: listElements,\n attr: {\n style: {\n textAlign: 'justify',\n listStylePosition: ''\n }\n }\n }\n ]);\n registerTool('justifyFull', new BlockFormatTool({\n format: formats.justifyFull,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Justify Full'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/lists', ['editor/plugins/formatblock'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, extend = $.extend, Editor = kendo.ui.editor, dom = Editor.Dom, RangeUtils = Editor.RangeUtils, EditorUtils = Editor.EditorUtils, Command = Editor.Command, ToolTemplate = Editor.ToolTemplate, FormatTool = Editor.FormatTool, BlockFormatFinder = Editor.BlockFormatFinder, textNodes = RangeUtils.textNodes, registerTool = Editor.EditorUtils.registerTool;\n var ListFormatFinder = BlockFormatFinder.extend({\n init: function (tag) {\n this.tag = tag;\n var tags = this.tags = [\n tag == 'ul' ? 'ol' : 'ul',\n tag\n ];\n BlockFormatFinder.fn.init.call(this, [{ tags: tags }]);\n },\n isFormatted: function (nodes) {\n var formatNodes = [];\n var formatNode, i;\n for (i = 0; i < nodes.length; i++) {\n formatNode = this.findFormat(nodes[i]);\n if (formatNode && dom.name(formatNode) == this.tag) {\n formatNodes.push(formatNode);\n }\n }\n if (formatNodes.length < 1) {\n return false;\n }\n if (formatNodes.length != nodes.length) {\n return false;\n }\n for (i = 0; i < formatNodes.length; i++) {\n if (formatNodes[i].parentNode != formatNode.parentNode) {\n break;\n }\n if (formatNodes[i] != formatNode) {\n return false;\n }\n }\n return true;\n },\n findSuitable: function (nodes) {\n var candidate = this.findFormat(nodes[0]);\n if (candidate && dom.name(candidate) == this.tag) {\n return candidate;\n }\n return null;\n }\n });\n var ListFormatter = Class.extend({\n init: function (tag, unwrapTag) {\n var that = this;\n that.finder = new ListFormatFinder(tag);\n that.tag = tag;\n that.unwrapTag = unwrapTag;\n },\n isList: function (node) {\n return dom.list(node);\n },\n immutables: function () {\n return this.editor && !!this.editor.options.immutables;\n },\n wrap: function (list, nodes) {\n var li = dom.create(list.ownerDocument, 'li'), i, node, isImmutable = this.immutables() ? Editor.Immutables.immutable : $.noop;\n for (i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (dom.is(node, 'li')) {\n list.appendChild(node);\n continue;\n }\n if (this.isList(node)) {\n while (node.firstChild) {\n list.appendChild(node.firstChild);\n }\n continue;\n }\n if (dom.is(node, 'td')) {\n while (node.firstChild) {\n li.appendChild(node.firstChild);\n }\n list.appendChild(li);\n node.appendChild(list);\n list = list.cloneNode(false);\n li = li.cloneNode(false);\n continue;\n }\n li.appendChild(node);\n if (dom.isBlock(node)) {\n list.appendChild(li);\n if (!isImmutable(node)) {\n dom.unwrap(node);\n }\n li = li.cloneNode(false);\n }\n }\n if (li.firstChild) {\n list.appendChild(li);\n }\n },\n containsAny: function (parent, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n if (dom.isAncestorOrSelf(parent, nodes[i])) {\n return true;\n }\n }\n return false;\n },\n suitable: function (candidate, nodes) {\n if (candidate.className == 'k-marker') {\n var sibling = candidate.nextSibling;\n if (sibling && dom.isBlock(sibling)) {\n return false;\n }\n sibling = candidate.previousSibling;\n if (sibling && dom.isBlock(sibling)) {\n return false;\n }\n }\n return this.containsAny(candidate, nodes) || dom.isInline(candidate) || candidate.nodeType == 3;\n },\n _parentLists: function (node) {\n var editable = dom.closestEditable(node);\n return $(node).parentsUntil(editable, 'ul,ol');\n },\n split: function (range) {\n var nodes = textNodes(range);\n var start, end, parents;\n if (nodes.length) {\n start = dom.parentOfType(nodes[0], ['li']);\n end = dom.parentOfType(nodes[nodes.length - 1], ['li']);\n range.setStartBefore(start);\n range.setEndAfter(end);\n for (var i = 0, l = nodes.length; i < l; i++) {\n var formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n parents = this._parentLists(formatNode);\n if (parents.length) {\n RangeUtils.split(range, parents.last()[0], true);\n } else {\n RangeUtils.split(range, formatNode, true);\n }\n }\n }\n }\n },\n merge: function (tag, formatNode) {\n var prev = formatNode.previousSibling, next;\n while (prev && (prev.className == 'k-marker' || prev.nodeType == 3 && dom.isWhitespace(prev))) {\n prev = prev.previousSibling;\n }\n if (prev && dom.name(prev) == tag) {\n while (formatNode.firstChild) {\n prev.appendChild(formatNode.firstChild);\n }\n dom.remove(formatNode);\n formatNode = prev;\n }\n next = formatNode.nextSibling;\n while (next && (next.className == 'k-marker' || next.nodeType == 3 && dom.isWhitespace(next))) {\n next = next.nextSibling;\n }\n if (next && dom.name(next) == tag) {\n while (formatNode.lastChild) {\n next.insertBefore(formatNode.lastChild, next.firstChild);\n }\n dom.remove(formatNode);\n }\n },\n breakable: function (node) {\n return node != node.ownerDocument.body && !/table|tbody|thead|tr|td/.test(dom.name(node)) && !node.attributes.contentEditable;\n },\n applyOnSection: function (section, nodes) {\n var tag = this.tag;\n var commonAncestor = dom.closestSplittableParent(nodes);\n var ancestors = [];\n var formatNode = this.finder.findSuitable(nodes);\n if (!formatNode) {\n formatNode = new ListFormatFinder(tag == 'ul' ? 'ol' : 'ul').findSuitable(nodes);\n }\n var childNodes;\n if (/table|tbody|thead/.test(dom.name(commonAncestor))) {\n childNodes = $.map(nodes, function (node) {\n return dom.parentOfType(node, ['td']);\n });\n } else {\n childNodes = dom.significantChildNodes(commonAncestor);\n if ($.grep(childNodes, dom.isBlock).length) {\n childNodes = $.grep(childNodes, $.proxy(function (node) {\n return this.containsAny(node, nodes);\n }, this));\n }\n if (!childNodes.length) {\n childNodes = nodes;\n }\n }\n function pushAncestor() {\n ancestors.push(this);\n }\n for (var i = 0; i < childNodes.length; i++) {\n var child = childNodes[i];\n var suitable = (!formatNode || !dom.isAncestorOrSelf(formatNode, child)) && this.suitable(child, nodes);\n if (!suitable) {\n continue;\n }\n if (formatNode && this.isList(child)) {\n $.each(child.children, pushAncestor);\n dom.remove(child);\n } else {\n ancestors.push(child);\n }\n }\n if (ancestors.length == childNodes.length && this.breakable(commonAncestor)) {\n ancestors = [commonAncestor];\n }\n if (!formatNode) {\n formatNode = dom.create(commonAncestor.ownerDocument, tag);\n if (dom.isBlock(ancestors[0])) {\n dom.mergeAttributes(ancestors[0], formatNode);\n }\n dom.insertBefore(formatNode, ancestors[0]);\n }\n this.wrap(formatNode, ancestors);\n while (dom.isBom(formatNode.nextSibling)) {\n dom.remove(formatNode.nextSibling);\n }\n if (!dom.is(formatNode, tag)) {\n dom.changeTag(formatNode, tag);\n }\n this.merge(tag, formatNode);\n },\n apply: function (nodes) {\n var i = 0, sections = [], lastSection, lastNodes, section, node, l = nodes.length, immutableParent = this.immutables() ? Editor.Immutables.immutableParent : $.noop;\n function addLastSection() {\n if (lastSection) {\n sections.push({\n section: lastSection,\n nodes: lastNodes\n });\n }\n }\n for (i = 0; i < l; i++) {\n node = immutableParent(nodes[i]) || nodes[i];\n section = dom.closestEditable(node, [\n 'td',\n 'th',\n 'body'\n ]);\n if (!lastSection || section != lastSection) {\n addLastSection();\n lastNodes = [node];\n lastSection = section;\n } else {\n lastNodes.push(node);\n }\n }\n addLastSection();\n for (i = 0; i < sections.length; i++) {\n this.applyOnSection(sections[i].section, sections[i].nodes);\n }\n },\n unwrap: function (ul) {\n var fragment = ul.ownerDocument.createDocumentFragment(), unwrapTag = this.unwrapTag, parents, li, p, child;\n for (li = ul.firstChild; li; li = li.nextSibling) {\n p = dom.create(ul.ownerDocument, unwrapTag || 'p');\n while (li.firstChild) {\n child = li.firstChild;\n if (dom.isBlock(child)) {\n if (p.firstChild) {\n fragment.appendChild(p);\n p = dom.create(ul.ownerDocument, unwrapTag || 'p');\n }\n fragment.appendChild(child);\n } else {\n p.appendChild(child);\n }\n }\n if (p.firstChild) {\n fragment.appendChild(p);\n }\n }\n parents = this._parentLists(ul);\n if (parents[0]) {\n dom.insertAfter(fragment, parents.last()[0]);\n parents.last().remove();\n } else {\n dom.insertAfter(fragment, ul);\n }\n dom.remove(ul);\n },\n remove: function (nodes) {\n var formatNode;\n for (var i = 0, l = nodes.length; i < l; i++) {\n formatNode = this.finder.findFormat(nodes[i]);\n if (formatNode) {\n this.unwrap(formatNode);\n }\n }\n },\n toggle: function (range) {\n var that = this, nodes = textNodes(range), ancestor = range.commonAncestorContainer;\n if (!nodes.length) {\n range.selectNodeContents(ancestor);\n nodes = textNodes(range);\n if (!nodes.length) {\n var text = ancestor.ownerDocument.createTextNode('');\n range.startContainer.appendChild(text);\n nodes = [text];\n range.selectNode(text.parentNode);\n }\n }\n nodes = dom.filterBy(nodes, dom.htmlIndentSpace, true);\n if (that.finder.isFormatted(nodes)) {\n that.split(range);\n that.remove(nodes);\n } else {\n that.apply(nodes);\n }\n }\n });\n var ListCommand = Command.extend({\n init: function (options) {\n options.formatter = new ListFormatter(options.tag);\n Command.fn.init.call(this, options);\n }\n });\n var ListTool = FormatTool.extend({\n init: function (options) {\n this.options = options;\n FormatTool.fn.init.call(this, extend(options, { finder: new ListFormatFinder(options.tag) }));\n },\n command: function (commandArguments) {\n return new ListCommand(extend(commandArguments, { tag: this.options.tag }));\n }\n });\n extend(Editor, {\n ListFormatFinder: ListFormatFinder,\n ListFormatter: ListFormatter,\n ListCommand: ListCommand,\n ListTool: ListTool\n });\n registerTool('insertUnorderedList', new ListTool({\n tag: 'ul',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert unordered list'\n })\n }));\n registerTool('insertOrderedList', new ListTool({\n tag: 'ol',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert ordered list'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/formatting', ['editor/plugins/inlineformat'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Editor = kendo.ui.editor, Tool = Editor.Tool, ToolTemplate = Editor.ToolTemplate, DelayedExecutionTool = Editor.DelayedExecutionTool, Command = Editor.Command, dom = Editor.Dom, EditorUtils = Editor.EditorUtils, RangeUtils = Editor.RangeUtils, registerTool = EditorUtils.registerTool;\n var FormattingTool = DelayedExecutionTool.extend({\n init: function (options) {\n var that = this;\n Tool.fn.init.call(that, kendo.deepExtend({}, that.options, options));\n that.type = 'kendoSelectBox';\n that.finder = {\n getFormat: function () {\n return '';\n }\n };\n },\n options: {\n items: [\n {\n text: 'Paragraph',\n value: 'p'\n },\n {\n text: 'Quotation',\n value: 'blockquote'\n },\n {\n text: 'Heading 1',\n value: 'h1'\n },\n {\n text: 'Heading 2',\n value: 'h2'\n },\n {\n text: 'Heading 3',\n value: 'h3'\n },\n {\n text: 'Heading 4',\n value: 'h4'\n },\n {\n text: 'Heading 5',\n value: 'h5'\n },\n {\n text: 'Heading 6',\n value: 'h6'\n }\n ],\n width: 110\n },\n toFormattingItem: function (item) {\n var value = item.value;\n if (!value) {\n return item;\n }\n if (item.tag || item.className) {\n return item;\n }\n var dot = value.indexOf('.');\n if (dot === 0) {\n item.className = value.substring(1);\n } else if (dot == -1) {\n item.tag = value;\n } else {\n item.tag = value.substring(0, dot);\n item.className = value.substring(dot + 1);\n }\n return item;\n },\n command: function (args) {\n var that = this;\n var item = args.value;\n item = this.toFormattingItem(item);\n return new Editor.FormatCommand({\n range: args.range,\n formatter: function () {\n var formatter, tags = (item.tag || item.context || 'span').split(','), format = [{\n tags: tags,\n attr: { className: item.className || '' }\n }];\n if ($.inArray(tags[0], dom.inlineElements) >= 0) {\n formatter = new Editor.GreedyInlineFormatter(format);\n } else {\n formatter = new Editor.GreedyBlockFormatter(format);\n }\n formatter.editor = that.editor;\n return formatter;\n }\n });\n },\n initialize: function (ui, initOptions) {\n var editor = initOptions.editor;\n var options = this.options;\n var toolName = options.name;\n var that = this;\n var selectBox;\n that.editor = editor;\n ui.width(options.width);\n selectBox = ui.kendoSelectBox({\n dataTextField: 'text',\n dataValueField: 'value',\n dataSource: options.items || editor.options[toolName],\n title: editor.options.messages[toolName],\n autoSize: true,\n change: function () {\n var dataItem = this.dataItem();\n if (dataItem) {\n Tool.exec(editor, toolName, dataItem.toJSON());\n }\n },\n dataBound: function () {\n var i, items = this.dataSource.data();\n for (i = 0; i < items.length; i++) {\n items[i] = that.toFormattingItem(items[i]);\n }\n },\n highlightFirst: false,\n template: kendo.template('#:data.text#')\n }).data('kendoSelectBox');\n ui.attr('title', initOptions.title);\n selectBox.wrapper.attr('title', initOptions.title);\n ui.addClass('k-decorated').closest('.k-widget').removeClass('k-' + toolName).find('*').addBack().attr('unselectable', 'on');\n },\n getFormattingValue: function (items, nodes) {\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n var tag = item.tag || item.context || '';\n var className = item.className ? '.' + item.className : '';\n var selector = tag + className;\n var element = $(nodes[0]).closest(selector)[0];\n if (!element) {\n continue;\n }\n if (nodes.length == 1) {\n return item.value;\n }\n for (var n = 1; n < nodes.length; n++) {\n if (!$(nodes[n]).closest(selector)[0]) {\n break;\n } else if (n == nodes.length - 1) {\n return item.value;\n }\n }\n }\n return '';\n },\n update: function (ui, nodes) {\n var selectBox = $(ui).data(this.type);\n if (!selectBox) {\n return;\n }\n var dataSource = selectBox.dataSource, items = dataSource.data(), i, context, ancestor = dom.commonAncestor.apply(null, nodes);\n if (ancestor != dom.closestEditable(ancestor) && this._ancestor == ancestor) {\n return;\n } else {\n this._ancestor = ancestor;\n }\n for (i = 0; i < items.length; i++) {\n context = items[i].context;\n items[i].visible = !context || !!$(ancestor).closest(context).length;\n }\n dataSource.filter([{\n field: 'visible',\n operator: 'eq',\n value: true\n }]);\n DelayedExecutionTool.fn.update.call(this, ui, nodes);\n selectBox.value(this.getFormattingValue(dataSource.view(), nodes));\n selectBox.wrapper.toggleClass('k-state-disabled', !dataSource.view().length);\n },\n destroy: function () {\n this._ancestor = null;\n }\n });\n var CleanFormatCommand = Command.extend({\n exec: function () {\n var range = this.lockRange(true);\n this.tagsToClean = this.options.remove || 'strong,em,span,sup,sub,del,b,i,u,font'.split(',');\n RangeUtils.wrapSelectedElements(range);\n var nodes = RangeUtils.mapAll(range, function (node) {\n return node;\n });\n for (var c = nodes.length - 1; c >= 0; c--) {\n var node = nodes[c];\n if (!this.immutableParent(node)) {\n this.clean(node);\n }\n }\n this.releaseRange(range);\n },\n clean: function (node) {\n if (!node || dom.isMarker(node)) {\n return;\n }\n var name = dom.name(node);\n if (name == 'ul' || name == 'ol') {\n var listFormatter = new Editor.ListFormatter(name);\n var prev = node.previousSibling;\n var next = node.nextSibling;\n listFormatter.unwrap(node);\n for (; prev && prev != next; prev = prev.nextSibling) {\n this.clean(prev);\n }\n } else if (name == 'blockquote') {\n dom.changeTag(node, 'p');\n } else if (node.nodeType == 1 && !dom.insignificant(node)) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n this.clean(node.childNodes[i]);\n }\n node.removeAttribute('style');\n node.removeAttribute('class');\n } else {\n unwrapListItem(node);\n }\n if ($.inArray(name, this.tagsToClean) > -1) {\n dom.unwrap(node);\n }\n },\n immutableParent: function (node) {\n return this.immutables() && Editor.Immutables.immutableParent(node);\n }\n });\n function unwrapListItem(node) {\n var li = dom.closestEditableOfType(node, ['li']);\n if (li) {\n var listFormatter = new Editor.ListFormatter(dom.name(li.parentNode));\n var range = kendo.ui.editor.W3CRange.fromNode(node);\n range.selectNode(li);\n listFormatter.toggle(range);\n }\n }\n $.extend(Editor, {\n FormattingTool: FormattingTool,\n CleanFormatCommand: CleanFormatCommand\n });\n registerTool('formatting', new FormattingTool({\n template: new ToolTemplate({\n template: EditorUtils.dropDownListTemplate,\n title: 'Format'\n })\n }));\n registerTool('cleanFormatting', new Tool({\n command: CleanFormatCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Clean formatting'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/image', [\n 'kendo.imagebrowser',\n 'editor/command'\n ], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, Editor = kendo.ui.editor, EditorUtils = Editor.EditorUtils, dom = Editor.Dom, registerTool = EditorUtils.registerTool, ToolTemplate = Editor.ToolTemplate, RangeUtils = Editor.RangeUtils, Command = Editor.Command, keys = kendo.keys, KEDITORIMAGEURL = '#k-editor-image-url', KEDITORIMAGETITLE = '#k-editor-image-title', KEDITORIMAGEWIDTH = '#k-editor-image-width', KEDITORIMAGEHEIGHT = '#k-editor-image-height';\n var ImageCommand = Command.extend({\n init: function (options) {\n var that = this;\n Command.fn.init.call(that, options);\n that.async = true;\n that.attributes = {};\n },\n insertImage: function (img, range) {\n var attributes = this.attributes;\n var doc = RangeUtils.documentFromRange(range);\n if (attributes.src && attributes.src != 'http://') {\n var removeIEAttributes = function () {\n setTimeout(function () {\n if (!attributes.width) {\n img.removeAttribute('width');\n }\n if (!attributes.height) {\n img.removeAttribute('height');\n }\n img.removeAttribute('complete');\n });\n };\n if (!img) {\n img = dom.create(doc, 'img', attributes);\n img.onload = img.onerror = removeIEAttributes;\n range.deleteContents();\n range.insertNode(img);\n if (!img.nextSibling) {\n dom.insertAfter(doc.createTextNode('\\uFEFF'), img);\n }\n removeIEAttributes();\n range.setStartAfter(img);\n range.setEndAfter(img);\n RangeUtils.selectRange(range);\n return true;\n } else {\n img.onload = img.onerror = removeIEAttributes;\n dom.attr(img, attributes);\n removeIEAttributes();\n }\n }\n return false;\n },\n _dialogTemplate: function (showBrowser) {\n return kendo.template('
      ' + '
      ' + '
      ' + '# if (showBrowser) { #' + '
      ' + '# } #' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '
      ' + '' + '' + '
      ' + '
      ' + '
      ')({\n messages: this.editor.options.messages,\n showBrowser: showBrowser\n });\n },\n redo: function () {\n var that = this, range = that.lockRange();\n if (!that.insertImage(RangeUtils.image(range), range)) {\n that.releaseRange(range);\n }\n },\n exec: function () {\n var that = this, range = that.lockRange(), applied = false, img = RangeUtils.image(range), imageWidth = img && img.getAttribute('width') || '', imageHeight = img && img.getAttribute('height') || '', dialog, isIE = kendo.support.browser.msie, options = that.editor.options, messages = options.messages, imageBrowser = options.imageBrowser, showBrowser = !!(kendo.ui.ImageBrowser && imageBrowser && imageBrowser.transport && imageBrowser.transport.read !== undefined), dialogOptions = {\n title: messages.insertImage,\n visible: false,\n resizable: showBrowser\n };\n this.expandImmutablesIn(range);\n function apply(e) {\n var element = dialog.element, w = parseInt(element.find(KEDITORIMAGEWIDTH).val(), 10), h = parseInt(element.find(KEDITORIMAGEHEIGHT).val(), 10);\n that.attributes = {\n src: element.find(KEDITORIMAGEURL).val().replace(/ /g, '%20'),\n alt: element.find(KEDITORIMAGETITLE).val()\n };\n that.attributes.width = null;\n that.attributes.height = null;\n if (!isNaN(w) && w > 0) {\n that.attributes.width = w;\n }\n if (!isNaN(h) && h > 0) {\n that.attributes.height = h;\n }\n applied = that.insertImage(img, range);\n close(e);\n if (that.change) {\n that.change();\n }\n }\n function close(e) {\n e.preventDefault();\n dialog.destroy();\n dom.windowFromDocument(RangeUtils.documentFromRange(range)).focus();\n if (!applied) {\n that.releaseRange(range);\n }\n }\n function keyDown(e) {\n if (e.keyCode == keys.ENTER) {\n apply(e);\n } else if (e.keyCode == keys.ESC) {\n close(e);\n }\n }\n dialogOptions.close = close;\n if (showBrowser) {\n dialogOptions.width = 750;\n }\n dialog = this.createDialog(that._dialogTemplate(showBrowser), dialogOptions).toggleClass('k-filebrowser-dialog', showBrowser).find('.k-dialog-insert').click(apply).end().find('.k-dialog-close').click(close).end().find('.k-edit-field input').keydown(keyDown).end().find(KEDITORIMAGEURL).val(img ? img.getAttribute('src', 2) : 'http://').end().find(KEDITORIMAGETITLE).val(img ? img.alt : '').end().find(KEDITORIMAGEWIDTH).val(imageWidth).end().find(KEDITORIMAGEHEIGHT).val(imageHeight).end().data('kendoWindow');\n var element = dialog.element;\n if (showBrowser) {\n this._imageBrowser = new kendo.ui.ImageBrowser(element.find('.k-imagebrowser'), extend({}, imageBrowser));\n this._imageBrowser.bind('change', function (ev) {\n if (ev.selected.get('type') === 'f') {\n element.find(KEDITORIMAGEURL).val(this.value());\n }\n });\n this._imageBrowser.bind('apply', apply);\n }\n if (isIE) {\n var dialogHeight = element.closest('.k-window').height();\n element.css('max-height', dialogHeight);\n }\n dialog.center().open();\n element.find(KEDITORIMAGEURL).focus().select();\n }\n });\n kendo.ui.editor.ImageCommand = ImageCommand;\n registerTool('insertImage', new Editor.Tool({\n command: ImageCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert Image'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/import', ['editor/main'], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, proxy = $.proxy, Editor = kendo.ui.editor, EditorUtils = Editor.EditorUtils, Command = Editor.Command, Tool = Editor.Tool, registerTool = EditorUtils.registerTool, ToolTemplate = Editor.ToolTemplate, loadingOverlay = '
      ';\n var ImportCommand = Command.extend({\n exec: function () {\n (this.editor._uploadWidget || this._initializeUploadWidget()).element.click();\n },\n _initializeUploadWidget: function () {\n var cmd = this;\n var editor = cmd.editor;\n var importOptions = editor.options['import'];\n var upload = $('').kendoUpload({\n success: proxy(cmd._onUploadSuccess, cmd),\n progress: proxy(cmd._onUploadProgress, cmd),\n select: proxy(cmd._onUploadSelect, cmd),\n error: proxy(cmd._onUploadError, cmd),\n complete: proxy(cmd._onUploadComplete, cmd),\n showFileList: false,\n multiple: false,\n async: {\n saveUrl: importOptions.proxyUrl,\n autoUpload: true,\n saveField: 'file'\n },\n validation: {\n allowedExtensions: importOptions.allowedExtensions,\n maxFileSize: importOptions.maxFileSize\n }\n }).getKendoUpload();\n editor._uploadWidget = upload;\n return upload;\n },\n _onUploadComplete: function (ev) {\n this._trigger('complete', ev);\n ev.sender.clearAllFiles();\n this._removeLoadingOverlay();\n },\n _onUploadSuccess: function (ev) {\n this.editor.value(ev.response.html.replace(/<\\/?body>/gi, ''));\n this._trigger('success', ev);\n },\n _onUploadProgress: function (ev) {\n this._trigger('progress', ev);\n },\n _onUploadSelect: function (ev) {\n this._trigger('select', ev);\n if (!ev.files[0].validationErrors) {\n this._initLoadingOverlay();\n }\n },\n _onUploadError: function (ev) {\n this._trigger('error', ev);\n },\n _trigger: function (eventType, uploadEvent) {\n var editor = this.editor;\n var importOptions = editor.options['import'];\n if (typeof importOptions[eventType] === 'function') {\n importOptions[eventType].call(editor, uploadEvent);\n }\n },\n _initLoadingOverlay: function () {\n var editable = this.editor.body;\n if (Editor.Dom.is(editable, 'body')) {\n this._iframeWrapper = this._container = this.editor.wrapper.find('iframe').parent().css({ position: 'relative' }).append(loadingOverlay);\n } else {\n this._container = $(editable).append(loadingOverlay);\n }\n kendo.ui.progress(this._container, true);\n },\n _removeLoadingOverlay: function () {\n kendo.ui.progress(this._container, false);\n $(this._iframeWrapper).css({ position: '' });\n delete this._container;\n delete this._iframeWrapper;\n }\n });\n extend(Editor, { ImportCommand: ImportCommand });\n registerTool('import', new Tool({\n command: ImportCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Import'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/insert', ['editor/command'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, editorNS = kendo.ui.editor, Command = editorNS.Command, GenericCommand = editorNS.GenericCommand, EditorUtils = editorNS.EditorUtils, registerTool = EditorUtils.registerTool, Tool = editorNS.Tool, ToolTemplate = editorNS.ToolTemplate, RestorePoint = editorNS.RestorePoint, extend = $.extend;\n var InsertHtmlCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n this.managesUndoRedo = true;\n },\n exec: function () {\n var editor = this.editor;\n var options = this.options;\n var range = options.range;\n var body = editor.body;\n var startRestorePoint = new RestorePoint(range, body);\n var html = options.html || options.value || '';\n editor.selectRange(range);\n editor.clipboard.paste(html, options);\n if (options.postProcess) {\n options.postProcess(editor, editor.getRange());\n }\n var genericCommand = new GenericCommand(startRestorePoint, new RestorePoint(editor.getRange(), body));\n genericCommand.editor = editor;\n editor.undoRedoStack.push(genericCommand);\n editor.focus();\n }\n });\n var InsertHtmlTool = Tool.extend({\n initialize: function (ui, initOptions) {\n var editor = initOptions.editor, options = this.options, dataSource = options.items ? options.items : editor.options.insertHtml;\n this._selectBox = new editorNS.SelectBox(ui, {\n dataSource: dataSource,\n dataTextField: 'text',\n dataValueField: 'value',\n change: function () {\n Tool.exec(editor, 'insertHtml', this.value());\n },\n title: editor.options.messages.insertHtml,\n highlightFirst: false\n });\n ui.attr('title', initOptions.title);\n this._selectBox.wrapper.attr('title', initOptions.title);\n },\n command: function (commandArguments) {\n return new InsertHtmlCommand(commandArguments);\n },\n update: function (ui) {\n var selectbox = ui.data('kendoSelectBox') || ui.find('select').data('kendoSelectBox');\n selectbox.close();\n selectbox.value(selectbox.options.title);\n }\n });\n extend(editorNS, {\n InsertHtmlCommand: InsertHtmlCommand,\n InsertHtmlTool: InsertHtmlTool\n });\n registerTool('insertHtml', new InsertHtmlTool({\n template: new ToolTemplate({\n template: EditorUtils.dropDownListTemplate,\n title: 'Insert HTML',\n initialValue: 'Insert HTML'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/export', ['editor/main'], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, proxy = $.proxy, Editor = kendo.ui.editor, EditorUtils = Editor.EditorUtils, Command = Editor.Command, Tool = Editor.Tool, registerTool = EditorUtils.registerTool, ToolTemplate = Editor.ToolTemplate, defaultExportAsItems = [\n {\n text: 'Docx',\n value: 'docx'\n },\n {\n text: 'Rtf',\n value: 'rtf'\n },\n {\n text: 'Pdf',\n value: 'pdf'\n },\n {\n text: 'Html',\n value: 'html'\n },\n {\n text: 'Plain Text',\n value: 'txt'\n }\n ];\n var ExportAsCommand = Command.extend({\n init: function (options) {\n var cmd = this;\n cmd.options = options;\n Command.fn.init.call(cmd, options);\n cmd.attributes = null;\n cmd.exportType = options.exportType;\n },\n exec: function () {\n var cmd = this;\n var range = this.lockRange(true);\n cmd.postToProxy();\n cmd.releaseRange(range);\n },\n postToProxy: function () {\n this.generateForm().appendTo('body').submit().remove();\n },\n generateForm: function () {\n var cmd = this;\n var exportAsOptions = cmd.editor.options.exportAs;\n var form = $('').attr({\n action: exportAsOptions && exportAsOptions.proxyURL || '',\n method: 'POST'\n });\n form.append([\n cmd.valueInput(),\n cmd.exportTypeInput(),\n cmd.fileNameInput()\n ]);\n return form;\n },\n valueInput: function () {\n var editor = this.editor;\n return $('').attr({\n value: editor.encodedValue(),\n name: 'value',\n type: 'hidden'\n });\n },\n exportTypeInput: function () {\n var cmd = this;\n return $('').attr({\n value: cmd.exportType,\n name: 'exportType',\n type: 'hidden'\n });\n },\n fileNameInput: function () {\n var editor = this.editor;\n var exportAsOptions = editor.options.exportAs;\n var fileName = exportAsOptions && exportAsOptions.fileName || editor.element.attr('id') || 'editor';\n return $('').attr({\n value: fileName,\n name: 'fileName',\n type: 'hidden'\n });\n }\n });\n var ExportAsTool = Tool.extend({\n init: function (options) {\n var tool = this;\n Tool.fn.init.call(tool, kendo.deepExtend({}, tool.options, options));\n tool.type = 'kendoSelectBox';\n },\n options: {\n items: defaultExportAsItems,\n width: 115\n },\n command: function (args) {\n var value = args.value;\n return new Editor.ExportAsCommand({\n range: args.range,\n exportType: value.exportType\n });\n },\n initialize: function (ui, initOptions) {\n var tool = this;\n var editor = initOptions.editor;\n var options = tool.options;\n var toolName = options.name;\n var changeHandler = proxy(tool.changeHandler, tool);\n var dataSource = options.items || editor.options[toolName];\n var selectBox;\n dataSource.unshift({\n text: editor.options.messages[toolName],\n value: ''\n });\n tool.editor = editor;\n ui.width(options.width);\n selectBox = ui.kendoSelectBox({\n dataTextField: 'text',\n dataValueField: 'value',\n dataSource: dataSource,\n autoSize: true,\n change: changeHandler,\n open: function (e) {\n var sender = e.sender;\n sender.items()[0].style.display = 'none';\n sender.unbind('open');\n },\n highlightFirst: false,\n template: kendo.template('#:data.text#')\n }).data('kendoSelectBox');\n ui.attr('title', initOptions.title);\n selectBox.wrapper.attr('title', initOptions.title);\n ui.addClass('k-decorated').closest('.k-widget').removeClass('k-' + toolName).find('*').addBack().attr('unselectable', 'on');\n },\n changeHandler: function (e) {\n var sender = e.sender;\n var dataItem = sender.dataItem();\n var value = dataItem && dataItem.value;\n this._exec(value);\n sender.value('');\n },\n _exec: function (value) {\n if (value) {\n Tool.exec(this.editor, this.options.name, { exportType: value });\n }\n },\n destroy: function () {\n this._ancestor = null;\n }\n });\n extend(Editor, {\n ExportAsTool: ExportAsTool,\n ExportAsCommand: ExportAsCommand\n });\n registerTool('exportAs', new ExportAsTool({\n template: new ToolTemplate({\n template: EditorUtils.dropDownListTemplate,\n title: 'Export As'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/indent', ['editor/plugins/formatblock'], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, Class = kendo.Class, extend = $.extend, Editor = kendo.ui.editor, dom = Editor.Dom, EditorUtils = Editor.EditorUtils, registerTool = EditorUtils.registerTool, Command = Editor.Command, Tool = Editor.Tool, ToolTemplate = Editor.ToolTemplate, RangeUtils = Editor.RangeUtils, blockElements = dom.blockElements, BlockFormatFinder = Editor.BlockFormatFinder, BlockFormatter = Editor.BlockFormatter;\n function indent(node, value) {\n var isRtl = $(node).css('direction') == 'rtl', indentDirection = isRtl ? 'Right' : 'Left', property = dom.name(node) != 'td' ? 'margin' + indentDirection : 'padding' + indentDirection;\n if (value === undefined) {\n return node.style[property] || 0;\n } else {\n if (value > 0) {\n node.style[property] = value + 'px';\n } else {\n node.style[property] = '';\n if (!node.style.cssText) {\n node.removeAttribute('style');\n }\n }\n }\n }\n var IndentFormatter = Class.extend({\n init: function () {\n this.finder = new BlockFormatFinder([{ tags: dom.blockElements }]);\n },\n apply: function (nodes) {\n nodes = dom.filterBy(nodes, dom.htmlIndentSpace, true);\n var formatNodes = this.finder.findSuitable(nodes), targets = [], i, len, formatNode, parentList, sibling;\n formatNodes = this.mapImmutables(formatNodes);\n if (formatNodes.length) {\n for (i = 0, len = formatNodes.length; i < len; i++) {\n if (dom.is(formatNodes[i], 'li')) {\n if (!$(formatNodes[i]).index()) {\n targets.push(formatNodes[i].parentNode);\n } else if ($.inArray(formatNodes[i].parentNode, targets) < 0) {\n targets.push(formatNodes[i]);\n }\n } else {\n targets.push(formatNodes[i]);\n }\n }\n while (targets.length) {\n formatNode = targets.shift();\n if (dom.is(formatNode, 'li')) {\n parentList = formatNode.parentNode;\n sibling = $(formatNode).prev('li');\n var siblingList = sibling.find('ul,ol').last();\n var nestedList = $(formatNode).children('ul,ol')[0];\n if (nestedList && sibling[0]) {\n if (siblingList[0]) {\n siblingList.append(formatNode);\n siblingList.append($(nestedList).children());\n dom.remove(nestedList);\n } else {\n sibling.append(nestedList);\n nestedList.insertBefore(formatNode, nestedList.firstChild);\n }\n } else {\n nestedList = sibling.children('ul,ol')[0];\n if (!nestedList) {\n nestedList = dom.create(formatNode.ownerDocument, dom.name(parentList));\n sibling.append(nestedList);\n }\n while (formatNode && formatNode.parentNode == parentList) {\n nestedList.appendChild(formatNode);\n formatNode = targets.shift();\n }\n }\n } else {\n var marginLeft = parseInt(indent(formatNode), 10) + 30;\n indent(formatNode, marginLeft);\n for (var targetIndex = 0; targetIndex < targets.length; targetIndex++) {\n if ($.contains(formatNode, targets[targetIndex])) {\n targets.splice(targetIndex, 1);\n }\n }\n }\n }\n } else {\n var formatter = new BlockFormatter([{ tags: ['p'] }], { style: { marginLeft: 30 } });\n formatter.apply(nodes);\n }\n },\n mapImmutables: function (nodes) {\n if (!this.immutables) {\n return nodes;\n } else {\n var immutables = [];\n return $.map(nodes, function (node) {\n var immutable = Editor.Immutables.immutableParent(node);\n if (immutable) {\n if ($.inArray(immutable, immutables) === -1) {\n immutables.push(immutable);\n } else {\n return null;\n }\n }\n return immutable || node;\n });\n }\n },\n remove: function (nodes) {\n nodes = dom.filterBy(nodes, dom.htmlIndentSpace, true);\n var formatNodes = this.finder.findSuitable(nodes), targetNode, i, len, list, listParent, siblings, formatNode, marginLeft;\n formatNodes = this.mapImmutables(formatNodes);\n for (i = 0, len = formatNodes.length; i < len; i++) {\n formatNode = $(formatNodes[i]);\n if (formatNode.is('li')) {\n list = formatNode.parent();\n listParent = list.parent();\n if (listParent.is('li,ul,ol') && !indent(list[0])) {\n if (targetNode && $.contains(targetNode, listParent[0])) {\n continue;\n }\n siblings = formatNode.nextAll('li');\n if (siblings.length) {\n $(list[0].cloneNode(false)).appendTo(formatNode).append(siblings);\n }\n if (listParent.is('li')) {\n formatNode.insertAfter(listParent);\n } else {\n formatNode.appendTo(listParent);\n }\n if (!list.children('li').length) {\n list.remove();\n }\n continue;\n } else {\n if (targetNode == list[0]) {\n continue;\n }\n targetNode = list[0];\n }\n } else {\n targetNode = formatNodes[i];\n }\n marginLeft = parseInt(indent(targetNode), 10) - 30;\n indent(targetNode, marginLeft);\n }\n }\n });\n var IndentCommand = Command.extend({\n init: function (options) {\n var that = this;\n options.formatter = {\n toggle: $.proxy(function (range) {\n var indentFormatter = new IndentFormatter();\n indentFormatter.immutables = this.editor && this.editor.options.immutables;\n indentFormatter.apply(RangeUtils.nodes(range));\n }, that)\n };\n Command.fn.init.call(this, options);\n }\n });\n var OutdentCommand = Command.extend({\n init: function (options) {\n var that = this;\n options.formatter = {\n toggle: $.proxy(function (range) {\n var indentFormatter = new IndentFormatter();\n indentFormatter.immutables = this.editor && this.editor.options.immutables;\n indentFormatter.remove(RangeUtils.nodes(range));\n }, that)\n };\n Command.fn.init.call(this, options);\n }\n });\n var OutdentTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n this.finder = new BlockFormatFinder([{ tags: blockElements }]);\n },\n initialize: function (ui, options) {\n Tool.fn.initialize.call(this, ui, options);\n $.extend(this.options, { immutables: options.editor && options.editor.options.immutables });\n ui.addClass('k-state-disabled');\n },\n update: function (ui, nodes) {\n var suitableNodes = this.finder.findSuitable(nodes), isOutdentable, listParentsCount, i, len, suitable, immutableParent;\n for (i = 0, len = suitableNodes.length; i < len; i++) {\n suitable = suitableNodes[i];\n if (this.options.immutables) {\n immutableParent = Editor.Immutables.immutableParent(suitable);\n if (immutableParent) {\n suitable = immutableParent;\n }\n }\n isOutdentable = indent(suitable);\n if (!isOutdentable) {\n listParentsCount = $(suitable).parents('ul,ol').length;\n isOutdentable = dom.is(suitable, 'li') && (listParentsCount > 1 || indent(suitable.parentNode)) || dom.ofType(suitable, [\n 'ul',\n 'ol'\n ]) && listParentsCount > 0;\n }\n if (isOutdentable) {\n ui.removeClass('k-state-disabled');\n return;\n }\n }\n ui.addClass('k-state-disabled').removeClass('k-state-hover');\n }\n });\n extend(Editor, {\n IndentFormatter: IndentFormatter,\n IndentCommand: IndentCommand,\n OutdentCommand: OutdentCommand,\n OutdentTool: OutdentTool\n });\n registerTool('indent', new Tool({\n command: IndentCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Indent'\n })\n }));\n registerTool('outdent', new OutdentTool({\n command: OutdentCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Outdent'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/linebreak', ['editor/plugins/formatblock'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, extend = $.extend, editorNS = kendo.ui.editor, dom = editorNS.Dom, Command = editorNS.Command, Tool = editorNS.Tool, BlockFormatter = editorNS.BlockFormatter, normalize = dom.normalize, RangeUtils = editorNS.RangeUtils, registerTool = editorNS.EditorUtils.registerTool;\n var ParagraphCommand = Command.extend({\n init: function (options) {\n this.options = options;\n Command.fn.init.call(this, options);\n },\n _insertMarker: function (doc, range) {\n var marker = dom.create(doc, 'a'), container;\n marker.className = 'k-marker';\n range.insertNode(marker);\n if (!marker.parentNode) {\n container = range.commonAncestorContainer;\n container.innerHTML = '';\n container.appendChild(marker);\n }\n normalize(marker.parentNode);\n return marker;\n },\n _moveFocus: function (range, candidate) {\n if (dom.isEmpty(candidate)) {\n range.setStartBefore(candidate);\n } else {\n range.selectNodeContents(candidate);\n var focusNode = RangeUtils.textNodes(range)[0];\n if (!focusNode) {\n while (candidate.childNodes.length && !dom.is(candidate.firstChild, 'br')) {\n candidate = candidate.firstChild;\n }\n focusNode = candidate;\n }\n if (dom.isEmpty(focusNode)) {\n range.setStartBefore(focusNode);\n } else {\n if (dom.emptyNode(focusNode)) {\n focusNode.innerHTML = '\\uFEFF';\n }\n var startNode = focusNode.firstChild || focusNode;\n if (dom.isDataNode(startNode)) {\n range.setStart(startNode, 0);\n } else {\n range.setStartBefore(startNode);\n }\n }\n }\n },\n shouldTrim: function (range) {\n var blocks = 'p,h1,h2,h3,h4,h5,h6'.split(','), startInBlock = dom.parentOfType(range.startContainer, blocks), endInBlock = dom.parentOfType(range.endContainer, blocks);\n return startInBlock && !endInBlock || !startInBlock && endInBlock;\n },\n _blankAfter: function (node) {\n while (node && (dom.isMarker(node) || dom.stripBom(node.nodeValue) === '')) {\n node = node.nextSibling;\n }\n return !node;\n },\n exec: function () {\n var range = this.getRange(), doc = RangeUtils.documentFromRange(range), parent, previous, next, emptyParagraphContent = editorNS.emptyElementContent, paragraph, marker, li, heading, tableNode, rng, shouldTrim;\n this.expandImmutablesIn(range);\n shouldTrim = this.shouldTrim(range);\n range.deleteContents();\n marker = this._insertMarker(doc, range);\n dom.stripBomNode(marker.previousSibling);\n dom.stripBomNode(marker.nextSibling);\n li = dom.closestEditableOfType(marker, ['li']);\n heading = dom.closestEditableOfType(marker, 'h1,h2,h3,h4,h5,h6'.split(','));\n tableNode = dom.is(marker.parentNode, 'table') && marker.parentNode;\n if (li) {\n if (dom.emptyNode(li)) {\n paragraph = dom.create(doc, 'p');\n if (dom.next(li)) {\n rng = range.cloneRange();\n rng.selectNode(li);\n RangeUtils.split(rng, li.parentNode);\n }\n var br = $('br', li);\n if (br.length == 1) {\n br.remove();\n }\n var parentNode = li.parentNode;\n var parentChildrenLength = li.parentNode.children.length;\n var firstChild = parentChildrenLength > 1 && li.childNodes.length == 1 && li.children[0];\n dom.insertAfter(paragraph, parentNode);\n dom.remove(parentChildrenLength == 1 ? li.parentNode : li);\n if (firstChild && firstChild !== marker) {\n paragraph.appendChild(firstChild);\n paragraph.appendChild(marker);\n } else {\n paragraph.innerHTML = emptyParagraphContent;\n }\n next = paragraph;\n }\n } else if (heading && this._blankAfter(marker)) {\n paragraph = this._insertParagraphAfter(heading);\n dom.remove(marker);\n next = paragraph;\n } else if (tableNode) {\n paragraph = this._insertParagraphAfter(tableNode);\n dom.remove(marker);\n next = paragraph;\n }\n if (!next) {\n if (!(li || heading)) {\n new BlockFormatter([{ tags: ['p'] }]).apply([marker]);\n }\n range.selectNode(marker);\n parent = dom.parentOfType(marker, [li ? 'li' : heading ? dom.name(heading) : 'p']);\n RangeUtils.split(range, parent, shouldTrim);\n previous = parent.previousSibling;\n if (dom.is(previous, 'li') && previous.firstChild && !dom.is(previous.firstChild, 'br')) {\n previous = previous.firstChild;\n }\n next = parent.nextSibling;\n this.clean(previous, { links: true });\n this.clean(next, { links: true });\n if (dom.is(next, 'li') && next.firstChild && !dom.is(next.firstChild, 'br')) {\n next = next.firstChild;\n }\n dom.remove(parent);\n normalize(previous);\n }\n normalize(next);\n this._moveFocus(range, next);\n range.collapse(true);\n dom.scrollTo(next, true);\n RangeUtils.selectRange(range);\n },\n _insertParagraphAfter: function (node) {\n var range = this.getRange();\n var doc = RangeUtils.documentFromRange(range);\n var emptyElementContent = editorNS.emptyElementContent;\n var paragraph = dom.create(doc, 'p');\n dom.insertAfter(paragraph, node);\n paragraph.innerHTML = emptyElementContent;\n return paragraph;\n },\n clean: function (node, options) {\n var root = node;\n if (node.firstChild && dom.is(node.firstChild, 'br')) {\n dom.remove(node.firstChild);\n }\n if (dom.isDataNode(node) && !node.nodeValue) {\n node = node.parentNode;\n }\n if (node) {\n var siblings = false;\n while (node.firstChild && node.firstChild.nodeType == 1) {\n siblings = siblings || dom.significantNodes(node.childNodes).length > 1;\n node = node.firstChild;\n }\n if (!dom.isEmpty(node) && /^\\s*$/.test(node.innerHTML) && !siblings) {\n $(root).find('.k-br').remove();\n node.innerHTML = editorNS.emptyElementContent;\n }\n if (options && options.links) {\n while (node != root) {\n if (dom.is(node, 'a') && dom.emptyNode(node)) {\n dom.unwrap(node);\n break;\n }\n node = node.parentNode;\n }\n }\n }\n }\n });\n var NewLineCommand = Command.extend({\n init: function (options) {\n this.options = options;\n Command.fn.init.call(this, options);\n },\n exec: function () {\n var range = this.getRange();\n this.expandImmutablesIn(range);\n var br = dom.create(RangeUtils.documentFromRange(range), 'br');\n var node = range.startContainer;\n var filler;\n var browser = kendo.support.browser;\n var oldIE = browser.msie && browser.version < 11;\n var tableNode = dom.is(node, 'table') && node;\n range.deleteContents();\n if (tableNode) {\n dom.insertAfter(br, tableNode);\n } else {\n range.insertNode(br);\n }\n normalize(br.parentNode);\n if (!oldIE && (!br.nextSibling || dom.isWhitespace(br.nextSibling))) {\n filler = br.cloneNode(true);\n filler.className = 'k-br';\n dom.insertAfter(filler, br);\n }\n range.setStartAfter(br);\n range.collapse(true);\n dom.scrollTo(br.nextSibling || br, true);\n RangeUtils.selectRange(range);\n }\n });\n extend(editorNS, {\n ParagraphCommand: ParagraphCommand,\n NewLineCommand: NewLineCommand\n });\n registerTool('insertLineBreak', new Tool({\n key: 13,\n shift: true,\n command: NewLineCommand\n }));\n registerTool('insertParagraph', new Tool({\n key: 13,\n command: ParagraphCommand\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/file', [\n 'kendo.filebrowser',\n 'editor/plugins/link'\n ], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, Editor = kendo.ui.editor, EditorUtils = Editor.EditorUtils, dom = Editor.Dom, registerTool = EditorUtils.registerTool, ToolTemplate = Editor.ToolTemplate, RangeUtils = Editor.RangeUtils, Command = Editor.Command, LinkFormatter = Editor.LinkFormatter, textNodes = RangeUtils.textNodes, keys = kendo.keys, KEDITORFILEURL = '#k-editor-file-url', KEDITORFILETEXT = '#k-editor-file-text', KEDITORFILETITLE = '#k-editor-file-title';\n var FileCommand = Command.extend({\n init: function (options) {\n var that = this;\n Command.fn.init.call(that, options);\n that.formatter = new LinkFormatter();\n that.async = true;\n that.attributes = {};\n },\n insertFile: function (file, range) {\n var attributes = this.attributes;\n var doc = RangeUtils.documentFromRange(range);\n if (attributes.href && attributes.href != 'http://') {\n if (!file) {\n file = dom.create(doc, 'a', { href: attributes.href });\n file.innerHTML = attributes.innerHTML;\n file.title = attributes.title;\n range.deleteContents();\n range.insertNode(file);\n if (!file.nextSibling) {\n dom.insertAfter(doc.createTextNode('\\uFEFF'), file);\n }\n range.setStartAfter(file);\n range.setEndAfter(file);\n RangeUtils.selectRange(range);\n return true;\n } else {\n dom.attr(file, attributes);\n }\n }\n return false;\n },\n _dialogTemplate: function (showBrowser) {\n return kendo.template('
      ' + '
      ' + '
      ' + '# if (showBrowser) { #' + '
      ' + '# } #' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '' + '
      ' + '
      ' + '
      ' + '' + '' + '
      ' + '
      ' + '
      ')({\n messages: this.editor.options.messages,\n showBrowser: showBrowser\n });\n },\n redo: function () {\n var that = this, range = that.lockRange();\n this.formatter.apply(range, this.attributes);\n that.releaseRange(range);\n },\n exec: function () {\n var that = this, range = that.lockRange(), nodes = textNodes(range), applied = false, file = nodes.length ? this.formatter.finder.findSuitable(nodes[0]) : null, dialog, isIE = kendo.support.browser.msie, options = that.editor.options, messages = options.messages, fileBrowser = options.fileBrowser, showBrowser = !!(kendo.ui.FileBrowser && fileBrowser && fileBrowser.transport && fileBrowser.transport.read !== undefined), dialogOptions = {\n title: messages.insertFile,\n visible: false,\n resizable: showBrowser\n };\n this.expandImmutablesIn(range);\n function apply(e) {\n var element = dialog.element, href = element.find(KEDITORFILEURL).val().replace(/ /g, '%20'), innerHTML = element.find(KEDITORFILETEXT).val(), title = element.find(KEDITORFILETITLE).val();\n that.attributes = {\n href: href,\n innerHTML: innerHTML !== '' ? innerHTML : href,\n title: title\n };\n applied = that.insertFile(file, range);\n close(e);\n if (that.change) {\n that.change();\n }\n }\n function close(e) {\n e.preventDefault();\n dialog.destroy();\n dom.windowFromDocument(RangeUtils.documentFromRange(range)).focus();\n if (!applied) {\n that.releaseRange(range);\n }\n }\n function keyDown(e) {\n if (e.keyCode == keys.ENTER) {\n apply(e);\n } else if (e.keyCode == keys.ESC) {\n close(e);\n }\n }\n dialogOptions.close = close;\n if (showBrowser) {\n dialogOptions.width = 750;\n }\n dialog = this.createDialog(that._dialogTemplate(showBrowser), dialogOptions).toggleClass('k-filebrowser-dialog', showBrowser).find('.k-dialog-insert').click(apply).end().find('.k-dialog-close').click(close).end().find('.k-edit-field input').keydown(keyDown).end().find(KEDITORFILEURL).val(file ? file.getAttribute('href', 2) : 'http://').end().find(KEDITORFILETEXT).val(file ? file.innerText : '').end().find(KEDITORFILETITLE).val(file ? file.title : '').end().data('kendoWindow');\n var element = dialog.element;\n if (showBrowser) {\n that._fileBrowser = new kendo.ui.FileBrowser(element.find('.k-filebrowser'), extend({}, fileBrowser));\n that._fileBrowser.bind('change', function (ev) {\n if (ev.selected.get('type') === 'f') {\n element.find(KEDITORFILEURL).val(this.value());\n }\n });\n that._fileBrowser.bind('apply', apply);\n }\n if (isIE) {\n var dialogHeight = element.closest('.k-window').height();\n element.css('max-height', dialogHeight);\n }\n dialog.center().open();\n element.find(KEDITORFILEURL).focus().select();\n }\n });\n kendo.ui.editor.FileCommand = FileCommand;\n registerTool('insertFile', new Editor.Tool({\n command: FileCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Insert File'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/tables', [\n 'editor/plugins/formatblock',\n 'editor/plugins/insert'\n ], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, extend = $.extend, proxy = $.proxy, Editor = kendo.ui.editor, dom = Editor.Dom, EditorUtils = Editor.EditorUtils, RangeUtils = Editor.RangeUtils, Command = Editor.Command, NS = 'kendoEditor', ACTIVESTATE = 'k-state-active', SELECTEDSTATE = 'k-state-selected', SCOPE = 'scope', ROW = 'row', COL = 'col', ROWGROUP = 'rowgroup', COLGROUP = 'colgroup', COLSPAN = 'colspan', ROWSPAN = 'rowspan', TABLE = 'table', THEAD = 'thead', TBODY = 'tbody', TR = 'tr', TD = 'td', TH = 'th', Tool = Editor.Tool, ToolTemplate = Editor.ToolTemplate, InsertHtmlCommand = Editor.InsertHtmlCommand, BlockFormatFinder = Editor.BlockFormatFinder, registerTool = Editor.EditorUtils.registerTool, getTouches = kendo.getTouches;\n var template = kendo.template;\n var columnTemplate = '#=content#';\n var tableFormatFinder = new BlockFormatFinder([{ tags: [TABLE] }]);\n var TableCommand = InsertHtmlCommand.extend({\n init: function (options) {\n var o = $.extend({\n postProcess: this.postProcess,\n skipCleaners: true\n }, options || {});\n InsertHtmlCommand.fn.init.call(this, o);\n },\n _tableHtml: function (rows, columns) {\n rows = rows || 1;\n columns = columns || 1;\n var columnHtml = template(columnTemplate)({\n width: 100 / columns,\n content: Editor.emptyTableCellContent\n });\n var rowHeight = 100 / rows;\n return '' + new Array(rows + 1).join('' + new Array(columns + 1).join(columnHtml) + '') + '
      ';\n },\n postProcess: function (editor, range) {\n var insertedTable = $('table[data-last]', editor.document).removeAttr('data-last');\n range.setStart(insertedTable.find(TD)[0], 0);\n range.collapse(true);\n editor.selectRange(range);\n },\n exec: function () {\n var options = this.options;\n options.html = this._tableHtml(options.rows, options.columns);\n InsertHtmlCommand.fn.exec.call(this);\n }\n });\n var PopupTool = Tool.extend({\n initialize: function (ui, options) {\n Tool.fn.initialize.call(this, ui, options);\n var popup = $(this.options.popupTemplate).appendTo('body').kendoPopup({\n anchor: ui,\n copyAnchorStyles: false,\n open: proxy(this._open, this),\n activate: proxy(this._activate, this),\n close: proxy(this._close, this)\n }).data('kendoPopup');\n ui.click(proxy(this._toggle, this)).keydown(proxy(this._keydown, this));\n var editor = this._editor = options.editor;\n this._popup = popup;\n var tableWizard = new Editor.TableWizardTool({\n template: new ToolTemplate({\n template: EditorUtils.tableWizardButtonTemplate,\n title: editor.options.messages.tableWizard\n }),\n command: Editor.TableWizardCommand,\n insertNewTable: true\n });\n registerTool('tableWizardInsert', tableWizard);\n var twTool = $('
      ' + tableWizard.options.template.getHtml() + '
      ');\n twTool.appendTo(popup.element);\n if (editor.toolbar) {\n editor.toolbar.attachToolsEvents(twTool);\n }\n },\n popup: function () {\n return this._popup;\n },\n _activate: $.noop,\n _open: function () {\n this._popup.options.anchor.addClass(ACTIVESTATE);\n },\n _close: function () {\n this._popup.options.anchor.removeClass(ACTIVESTATE);\n },\n _keydown: function (e) {\n var keys = kendo.keys;\n var key = e.keyCode;\n if (key == keys.DOWN && e.altKey) {\n this._popup.open();\n } else if (key == keys.ESC) {\n this._popup.close();\n }\n },\n _toggle: function (e) {\n var button = $(e.target).closest('.k-tool');\n if (!button.hasClass('k-state-disabled')) {\n this.popup().toggle();\n }\n },\n update: function (ui) {\n var popup = this.popup();\n if (popup.wrapper && popup.wrapper.css('display') == 'block') {\n popup.close();\n }\n ui.removeClass('k-state-hover');\n },\n destroy: function () {\n this._popup.destroy();\n }\n });\n var InsertTableTool = PopupTool.extend({\n init: function (options) {\n this.cols = 8;\n this.rows = 6;\n PopupTool.fn.init.call(this, $.extend(options, {\n command: TableCommand,\n popupTemplate: '
      ' + '
      ' + new Array(this.cols * this.rows + 1).join('') + '
      ' + '
      ' + '
      '\n }));\n },\n _activate: function () {\n var that = this, element = that._popup.element, cells = element.find('.k-ct-cell'), firstCell = cells.eq(0), lastCell = cells.eq(cells.length - 1), start = kendo.getOffset(firstCell), end = kendo.getOffset(lastCell), cols = that.cols, rows = that.rows, cellWidth, cellHeight;\n element.find('*').addBack().attr('unselectable', 'on');\n end.left += lastCell[0].offsetWidth;\n end.top += lastCell[0].offsetHeight;\n cellWidth = (end.left - start.left) / cols;\n cellHeight = (end.top - start.top) / rows;\n function tableFromLocation(e) {\n var w = $(window);\n return {\n row: Math.floor((e.clientY + w.scrollTop() - start.top) / cellHeight) + 1,\n col: Math.floor((e.clientX + w.scrollLeft() - start.left) / cellWidth) + 1\n };\n }\n element.autoApplyNS(NS).on('mousemove', '.k-ct-cell', function (e) {\n that._setTableSize(tableFromLocation(e));\n }).on('mouseleave', '.k-ct-cell', function () {\n that._setTableSize();\n }).on('down', '.k-ct-cell', function (e) {\n e.preventDefault();\n var touch = getTouches(e)[0];\n that._exec(tableFromLocation(touch.location));\n });\n },\n _valid: function (size) {\n return size && size.row > 0 && size.col > 0 && size.row <= this.rows && size.col <= this.cols;\n },\n _exec: function (size) {\n if (this._valid(size)) {\n this._editor.exec('createTable', {\n rows: size.row,\n columns: size.col\n });\n this._popup.close();\n }\n },\n _setTableSize: function (size) {\n var element = this._popup.element;\n var status = element.find('.k-status');\n var cells = element.find('.k-ct-cell');\n var cols = this.cols;\n var messages = this._editor.options.messages;\n if (this._valid(size)) {\n status.text(kendo.format(messages.createTableHint, size.row, size.col));\n cells.each(function (i) {\n $(this).toggleClass(SELECTEDSTATE, i % cols < size.col && i / cols < size.row);\n });\n } else {\n status.text(messages.createTable);\n cells.removeClass(SELECTEDSTATE);\n }\n },\n _keydown: function (e) {\n PopupTool.fn._keydown.call(this, e);\n if (!this._popup.visible()) {\n return;\n }\n var keys = kendo.keys;\n var key = e.keyCode;\n var cells = this._popup.element.find('.k-ct-cell');\n var focus = Math.max(cells.filter('.k-state-selected').last().index(), 0);\n var selectedRows = Math.floor(focus / this.cols);\n var selectedColumns = focus % this.cols;\n var changed = false;\n if (key == keys.DOWN && !e.altKey) {\n changed = true;\n selectedRows++;\n } else if (key == keys.UP) {\n changed = true;\n selectedRows--;\n } else if (key == keys.RIGHT) {\n changed = true;\n selectedColumns++;\n } else if (key == keys.LEFT) {\n changed = true;\n selectedColumns--;\n }\n var tableSize = {\n row: Math.max(1, Math.min(this.rows, selectedRows + 1)),\n col: Math.max(1, Math.min(this.cols, selectedColumns + 1))\n };\n if (key == keys.ENTER) {\n this._exec(tableSize);\n } else {\n this._setTableSize(tableSize);\n }\n if (changed) {\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n },\n _open: function () {\n var messages = this._editor.options.messages;\n PopupTool.fn._open.call(this);\n this.popup().element.find('.k-status').text(messages.createTable).end().find('.k-ct-cell').removeClass(SELECTEDSTATE);\n },\n _close: function () {\n PopupTool.fn._close.call(this);\n this.popup().element.off('.' + NS);\n }\n });\n var TableModificationCommand = Command.extend({\n _clearColIndexAttr: function (table) {\n dom.clearTableMappings(table, 'col-index');\n },\n _mapColIndices: function (table) {\n dom.reMapTableColumns(table, 'col-index');\n },\n _findRowSpanCell: function (parent, rowIndex, colIndex) {\n var row, cell;\n for (var i = rowIndex; i >= 0; i--) {\n row = parent.rows[i];\n cell = $(row).find('[col-index=' + colIndex + ']');\n if (cell.length) {\n return cell;\n }\n }\n },\n _resetTableResizing: function (editor) {\n editor._destroyResizings();\n editor._initializeColumnResizing();\n editor._initializeRowResizing();\n editor._initializeTableResizing();\n },\n _findNextTdInRow: function (row, colIndex) {\n var lastTd = row.find('td:last-child'), lastIndex = parseInt(lastTd.attr('col-index'), 10) + lastTd.prop('colSpan') - 1, td;\n for (var i = colIndex; i <= lastIndex; i++) {\n td = row.find('[col-index=' + i + ']');\n if (td.length) {\n return td;\n }\n }\n },\n _adjustColgroups: function (row, table) {\n var colElements = table.getElementsByTagName(COL), colgroupElements = table.getElementsByTagName(COLGROUP), cells = row.cells, numberOfCells = cells.length, i, colgroup, cell;\n while (colElements.length > 0) {\n colElements[0].remove();\n }\n while (colgroupElements.length > 0) {\n colgroupElements[0].remove();\n }\n for (i = numberOfCells - 1; i >= 0; i--) {\n cell = cells[i];\n if (cell.getAttribute(SCOPE) === COLGROUP) {\n colgroup = dom.createEmptyNode(this.editor.document, COLGROUP);\n colgroup.setAttribute('span', cell.getAttribute(COLSPAN));\n table.prepend(colgroup);\n } else {\n table.prepend(dom.createEmptyNode(this.editor.document, COL));\n }\n }\n },\n _associateHeaderIds: function (table) {\n dom.clearTableMappings(table, 'col-index');\n dom.reMapTableColumns(table, 'col-index');\n $(table).find('th, td').removeAttr('id headers');\n dom.associateWithIds(table);\n },\n _getNumberOfColumns: function (table) {\n return dom._getNumberOfColumns(table, 'td, th');\n }\n });\n var InsertRowCommand = TableModificationCommand.extend({\n exec: function () {\n var range = this.lockRange(true), td = dom.closest(range.endContainer, [\n TD,\n TH\n ]), table = dom.closest(td, TABLE), position = this.options.position || 'after', cellCount, row, cell, newRow, rowIndex, rowSpanIndex, createdCell;\n if (!table || this.immutables() && Editor.Immutables.immutableParent(td)) {\n this.releaseRange(range);\n return;\n }\n this._mapColIndices(table);\n row = td.parentNode;\n rowIndex = dom.findNodeIndex(row, true);\n if (td.rowSpan > 1 && position === 'after') {\n row = table.rows[rowIndex + td.rowSpan - 1];\n }\n cellCount = this._getNumberOfColumns(table);\n newRow = row.cloneNode(true);\n $(newRow).empty();\n for (var i = 0; i < cellCount; i = i + cell.prop('colSpan')) {\n cell = $(row).find('[col-index=' + i + ']');\n if (cell.length) {\n if (cell.prop('rowSpan') > 1 && position === 'after' && cell) {\n cell.attr(ROWSPAN, cell.prop('rowSpan') + 1);\n } else {\n this._appendCell(newRow, cell);\n }\n } else {\n rowIndex = dom.findNodeIndex(row, true);\n cell = this._findRowSpanCell(row.parentElement, rowIndex, i);\n rowSpanIndex = cell.closest(TR).index();\n if (rowSpanIndex + cell.prop('rowSpan') - 1 === rowIndex && position === 'after') {\n this._appendCell(newRow, cell);\n } else {\n cell.attr(ROWSPAN, cell.prop('rowSpan') + 1);\n }\n }\n createdCell = $(newRow).find('[col-index=' + i + ']');\n if (createdCell.attr(SCOPE) === ROWGROUP && !createdCell.attr(ROWSPAN)) {\n createdCell.attr(SCOPE, ROW);\n }\n }\n if (position == 'before') {\n dom.insertBefore(newRow, row);\n } else {\n dom.insertAfter(newRow, row);\n }\n if ($(table).find('[headers]').length > 0) {\n this._associateHeaderIds(table);\n }\n this._clearColIndexAttr(table);\n this.releaseRange(range);\n this._resetTableResizing(this.editor);\n },\n _appendCell: function (row, cell) {\n var newCell;\n newCell = cell.clone();\n newCell.html(Editor.emptyTableCellContent);\n newCell.removeAttr(ROWSPAN);\n newCell.appendTo(row);\n }\n });\n var InsertColumnCommand = TableModificationCommand.extend({\n exec: function () {\n var range = this.lockRange(true), td = dom.closest(range.endContainer, [\n TD,\n TH\n ]), table = dom.closest(td, TABLE), colElements = table.getElementsByTagName(COL), colgroupElements = table.getElementsByTagName(COLGROUP), columnIndex, i, rows = table && table.rows, cell, newCell, position = this.options.position || 'after';\n if (!td || this.immutables() && Editor.Immutables.immutableParent(td)) {\n this.releaseRange(range);\n return;\n }\n this._mapColIndices(table);\n columnIndex = parseInt(td.getAttribute('col-index'), 10);\n if (td.colSpan > 1 && position === 'after') {\n td.setAttribute('col-index', columnIndex + td.colSpan - 1);\n columnIndex = columnIndex + td.colSpan - 1;\n }\n for (i = 0; i < rows.length; i++) {\n cell = this._processForColSpan(rows[i], columnIndex, position, td);\n if (!cell) {\n continue;\n }\n newCell = cell.cloneNode();\n newCell.innerHTML = Editor.emptyTableCellContent;\n newCell.removeAttribute(COLSPAN);\n if (newCell.getAttribute(SCOPE) && newCell.getAttribute(SCOPE) === COLGROUP) {\n newCell.setAttribute(SCOPE, COL);\n }\n if (position == 'before') {\n dom.insertBefore(newCell, cell);\n } else {\n dom.insertAfter(newCell, cell);\n }\n this._resizeCells(newCell, cell);\n }\n if (colElements.length > 0 || colgroupElements.length > 0) {\n this._adjustColgroups(rows[0], table);\n }\n if ($(table).find('[headers]').length > 0) {\n this._associateHeaderIds(table);\n }\n this._clearColIndexAttr(table);\n this.releaseRange(range);\n this._resetTableResizing(this.editor);\n },\n _processForColSpan: function (row, columnIndex, position, selectedCell) {\n var cell, colSpanEffect, index = columnIndex - 1;\n cell = $(row).find('[col-index=' + columnIndex + ']')[0];\n if (cell && cell.colSpan > 1 && position === 'after' && cell !== selectedCell) {\n cell.colSpan += 1;\n return;\n }\n if (cell) {\n return cell;\n }\n for (index; index >= 0; index--) {\n cell = $(row).find('[col-index=' + index + ']')[0];\n if (cell && cell.colSpan > 1) {\n break;\n }\n }\n if (!cell) {\n return;\n }\n colSpanEffect = parseInt(cell.getAttribute('col-index'), 10) + cell.colSpan - 1;\n if (colSpanEffect === columnIndex && position === 'after') {\n return cell;\n } else if (columnIndex <= colSpanEffect) {\n cell.setAttribute(COLSPAN, cell.colSpan + 1);\n }\n },\n _resizeCells: function (newCell, cell) {\n var width = newCell.style.width, parsedWidth, unit, calculatedWidth;\n if (!width) {\n return;\n }\n parsedWidth = parseFloat(width);\n unit = width.slice(parsedWidth.toString().length);\n calculatedWidth = parsedWidth / 2 + unit;\n newCell.style.width = calculatedWidth;\n cell.style.width = calculatedWidth;\n }\n });\n var DeleteRowCommand = TableModificationCommand.extend({\n exec: function () {\n var range = this.lockRange();\n var rows = RangeUtils.mapAll(range, function (node) {\n return $(node).closest(TR)[0];\n });\n var td = dom.closest(range.endContainer, [\n TD,\n TH\n ]);\n var row = rows[0];\n var rowSpan = td ? td.rowSpan : 1;\n var rowIndex = $(rows[0]).index();\n var table = dom.closest(row, TABLE);\n var rowParent = row.parentElement;\n var focusElement;\n if (!table || this.immutables() && Editor.Immutables.immutableParent(row)) {\n this.releaseRange(range);\n return;\n }\n for (var x = 0; x < rowSpan; x++) {\n if (rows.indexOf(rowParent.rows[rowIndex + x]) < 0) {\n rows.push(rowParent.rows[rowIndex + x]);\n }\n }\n if (table.rows.length <= rows.length) {\n focusElement = dom.next(table);\n if (!focusElement || dom.insignificant(focusElement)) {\n focusElement = dom.prev(table);\n }\n dom.remove(table);\n this._resetTableResizing(this.editor);\n } else if (rowParent.rows.length <= rows.length) {\n focusElement = rowParent.nextSibling;\n if (!focusElement) {\n focusElement = rowParent.previousSibling;\n }\n dom.remove(rowParent);\n } else {\n this._mapColIndices(table);\n for (var i = 0; i < rows.length; i++) {\n row = rows[i];\n dom.removeTextSiblings(row);\n focusElement = dom.next(row) || dom.prev(row);\n focusElement = focusElement.cells[0];\n this._handleRowSpanCells(table, row);\n dom.remove(row);\n }\n this._clearColIndexAttr(table);\n }\n if ($(table).find('[headers]').length > 0) {\n this._associateHeaderIds(table);\n } else if (dom.is(rowParent, THEAD) && $(table).find('[scope]').length > 0) {\n this._adjustColgroups(rowParent.rows[0], table);\n }\n if (focusElement) {\n range.setStart(focusElement, 0);\n range.collapse(true);\n this.editor.selectRange(range);\n }\n this._resetTableResizing(this.editor);\n },\n _handleRowSpanCells: function (table, row) {\n var index, cell, adjacentCell, nextRow, rowIndex = dom.findNodeIndex(row, true), firstRow = table.rows[0], lastCell = firstRow.cells[firstRow.cells.length - 1], lastIndex = parseInt(lastCell.getAttribute('col-index'), 10) + lastCell.colSpan - 1;\n for (index = 0; index <= lastIndex; index = index + cell.prop('colSpan')) {\n cell = $(row).find('[col-index=' + index + ']');\n if (cell.length && cell.prop('rowSpan') > 1) {\n nextRow = table.rows[rowIndex + 1];\n adjacentCell = $(nextRow).find('[col-index=' + (index + 1) + ']');\n if (adjacentCell.length) {\n adjacentCell.before(cell);\n } else {\n $(nextRow).append(cell);\n }\n this._reduceRowSpan(cell);\n }\n if (!cell.length) {\n cell = this._findRowSpanCell(row.parentElement, rowIndex, index);\n this._reduceRowSpan(cell);\n }\n }\n },\n _reduceRowSpan: function (td) {\n var rowSpanValue = td.prop('rowSpan') - 1;\n if (rowSpanValue <= 1) {\n td.removeAttr(ROWSPAN);\n if (td.attr(SCOPE) === ROWGROUP) {\n td.attr(SCOPE, ROW);\n }\n } else {\n td.attr(ROWSPAN, rowSpanValue);\n }\n }\n });\n var DeleteColumnCommand = TableModificationCommand.extend({\n exec: function () {\n var range = this.lockRange(), td = dom.closest(range.endContainer, [\n TD,\n TH\n ]), table = dom.closest(td, TABLE), rows = table && table.rows, columnIndex = dom.findNodeIndex(td, true), columnCount = rows && rows[0].cells.length, colElements = table.getElementsByTagName(COL), colgroupElements = table.getElementsByTagName(COLGROUP), focusElement, i, cell, x;\n if (!td || this.immutables() && Editor.Immutables.immutableParent(td)) {\n this.releaseRange(range);\n return;\n }\n if (columnCount == 1 || td.colSpan == columnCount) {\n focusElement = dom.next(table);\n if (!focusElement || dom.insignificant(focusElement)) {\n focusElement = dom.prev(table);\n }\n dom.remove(table);\n this._resetTableResizing(this.editor);\n } else {\n dom.removeTextSiblings(td);\n focusElement = dom.next(td) || dom.prev(td);\n this._mapColIndices(table);\n columnIndex = parseInt(td.getAttribute('col-index'), 10);\n for (x = 0; x < td.colSpan; x++) {\n for (i = 0; i < rows.length; i = i + (cell.prop('rowSpan') || 1)) {\n cell = $(rows[i]).find('[col-index=' + (columnIndex + x) + ']');\n if (cell.length && cell.prop('colSpan') <= 1) {\n cell.remove();\n } else {\n this._handleColSpanCells(rows[i], columnIndex + x);\n }\n }\n }\n this._clearColIndexAttr(table);\n }\n if (colElements.length > 0 || colgroupElements.length > 0) {\n this._adjustColgroups(rows[0], table);\n }\n if ($(table).find('[headers]').length > 0) {\n this._associateHeaderIds(table);\n }\n if (focusElement) {\n range.setStart(focusElement, 0);\n range.collapse(true);\n this.editor.selectRange(range);\n }\n this._resetTableResizing(this.editor);\n },\n _handleColSpanCells: function (row, colIndex) {\n var cell = $(row).find('[col-index=' + colIndex + ']');\n if (cell.length && cell.prop('colSpan') > 1) {\n var clone = cell.clone(true);\n cell.after(clone);\n this._reduceColSpan(clone);\n clone.attr('col-index', parseInt(cell.attr('col-index'), 10) + 1);\n cell.remove();\n return;\n }\n for (var i = colIndex; i >= 0; i--) {\n cell = $(row).find('[col-index=' + i + ']');\n if (cell.length) {\n this._reduceColSpan(cell);\n cell.attr('col-index', parseInt(cell.attr('col-index'), 10) + 1);\n return;\n }\n }\n },\n _reduceColSpan: function (td) {\n var colSpanValue = td.prop('colSpan') - 1;\n if (colSpanValue <= 1) {\n td.removeAttr(COLSPAN);\n if (td.attr(SCOPE) === COLGROUP) {\n td.attr(SCOPE, COL);\n }\n } else {\n td.attr(COLSPAN, colSpanValue);\n }\n }\n });\n var MergeCellsHorizontallyCommand = TableModificationCommand.extend({\n exec: function () {\n var range = this.lockRange(), td = dom.closest(range.endContainer, [\n TD,\n TH\n ]), table, row, columnIndex, nextTd, colspan;\n if (!td) {\n this.releaseRange(range);\n return;\n }\n table = dom.closest(td, TABLE);\n row = td.parentNode;\n columnIndex = dom.findNodeIndex(td, true);\n nextTd = row.children[columnIndex + 1];\n if (this.immutables() && Editor.Immutables.immutableParent(td)) {\n this.releaseRange(range);\n return;\n }\n this._mapColIndices(table);\n columnIndex = parseInt($(td).attr('col-index'), 10);\n nextTd = $(row).find('[col-index=' + (columnIndex + 1 + this._getColspan(td) - 1) + ']').get(0);\n if (!nextTd || nextTd.rowSpan !== td.rowSpan || td.tagName !== nextTd.tagName) {\n this._clearColIndexAttr(table);\n this.releaseRange(range);\n return;\n }\n colspan = this._getColspan(td) + this._getColspan(nextTd);\n $(td).prop(COLSPAN, colspan).append(dom.emptyNode(nextTd) ? '' : '
      ' + nextTd.innerHTML);\n $(td).width(td.offsetWidth);\n $(nextTd).remove();\n if (td.getAttribute(SCOPE) === COL) {\n td.setAttribute(SCOPE, COLGROUP);\n }\n if (td.getAttribute(SCOPE) === COLGROUP) {\n this._adjustColgroups(row, table);\n }\n if ($(table).find('[headers]').length > 0) {\n this._associateHeaderIds(table);\n }\n this._clearColIndexAttr(table);\n this.releaseRange(range);\n this._resetTableResizing(this.editor);\n },\n _getColspan: function (td) {\n return parseInt(td.getAttribute(COLSPAN), 10) || 1;\n }\n });\n var MergeCellsVerticallyCommand = TableModificationCommand.extend({\n exec: function () {\n var range = this.lockRange(), td = dom.closest(range.endContainer, [\n TD,\n TH\n ]), tr, parent, table, columnIndex, rowIndex, targetRow, bottomTd;\n if (!td) {\n this.releaseRange(range);\n return;\n }\n tr = dom.closest(td, TR);\n parent = dom.closest(td, [\n THEAD,\n TBODY\n ]);\n table = dom.closest(td, TABLE);\n columnIndex = dom.findNodeIndex(td, true);\n rowIndex = dom.findNodeIndex(tr, true);\n if (rowIndex + 1 === parent.rows.length) {\n this.releaseRange(range);\n return;\n }\n targetRow = parent.rows[rowIndex + this._getRowspan(td)];\n bottomTd = targetRow && targetRow.children[columnIndex];\n if (this.immutables() && Editor.Immutables.immutableParent(td)) {\n this.releaseRange(range);\n return;\n }\n this._mapColIndices(table);\n columnIndex = $(td).attr('col-index');\n bottomTd = $(targetRow).find('[col-index=' + columnIndex + ']').get(0);\n if (!bottomTd || bottomTd.colSpan !== td.colSpan || td.tagName !== bottomTd.tagName) {\n this._clearColIndexAttr(table);\n this.releaseRange(range);\n return;\n }\n $(td).prop(ROWSPAN, this._getRowspan(td) + this._getRowspan(bottomTd)).append(dom.emptyNode(bottomTd) ? '' : '
      ' + bottomTd.innerHTML);\n if (td.getAttribute(SCOPE) === ROW) {\n td.setAttribute(SCOPE, ROWGROUP);\n }\n $(bottomTd).remove();\n if ($(table).find('[headers]').length > 0) {\n this._associateHeaderIds(table);\n }\n this._clearColIndexAttr(table);\n this.releaseRange(range);\n },\n _getRowspan: function (td) {\n return parseInt(td.getAttribute(ROWSPAN), 10) || 1;\n }\n });\n var SplitCellCommand = TableModificationCommand.extend({\n exec: function () {\n var range = this.lockRange(), type = this.options.type, attr = type === 'row' ? COLSPAN : ROWSPAN, td = dom.closest(range.endContainer, [\n TD,\n TH\n ]), parent = dom.closest(td, [\n THEAD,\n TBODY\n ]), table = dom.closest(td, TABLE), emptyTd = dom.createEmptyNode(this.editor.document, td.nodeName.toLowerCase());\n if (!td || this.immutables() && Editor.Immutables.immutableParent(td)) {\n this.releaseRange(range);\n return;\n }\n this._mapColIndices(table);\n if (type === 'row' && $(td).is('[' + attr + ']')) {\n this._splitCellHorizontally(td, parent, attr, emptyTd);\n } else if (type === 'column' && $(td).is('[' + attr + ']')) {\n this._splitCellVertically(td, parent, attr, emptyTd);\n }\n if ($(td).prop(attr.toLowerCase()) <= 1) {\n $(td).removeAttr(attr);\n }\n if ($(table).find('[headers]').length > 0) {\n this._associateHeaderIds(table);\n }\n this._clearColIndexAttr(table);\n this.releaseRange(range);\n },\n _getRowspanValue: function (td) {\n return parseInt(td.getAttribute(ROWSPAN), 10);\n },\n _getColspanValue: function (td) {\n return parseInt(td.getAttribute(COLSPAN), 10);\n },\n _splitCellHorizontally: function (td, parent, attr, emptyTd) {\n var rowSpan = td.rowSpan, colSpan = td.colSpan, tdToAdd = $(emptyTd), colSpanResult = Math.floor(colSpan / 2);\n if (colSpanResult > 1) {\n tdToAdd.attr(COLSPAN, colSpanResult);\n }\n if (rowSpan > 1) {\n tdToAdd.attr(ROWSPAN, rowSpan);\n }\n $(td).prop(attr, colSpan - colSpanResult).after(tdToAdd);\n $(td).width(td.offsetWidth);\n tdToAdd.width(tdToAdd[0].offsetWidth);\n if (td.hasAttribute(SCOPE)) {\n if (td.getAttribute(SCOPE) === COLGROUP) {\n tdToAdd.attr(SCOPE, COL);\n if (!td.getAttribute(COLSPAN) || td.getAttribute(COLSPAN) === '1') {\n td.setAttribute(SCOPE, COL);\n }\n this._adjustColgroups(td.parentNode, parent.parentNode);\n } else {\n tdToAdd.attr(SCOPE, td.getAttribute(SCOPE));\n }\n }\n },\n _splitCellVertically: function (td, parent, attr, emptyTd) {\n var tr = dom.closest(td, TR), columnIndex = parseInt($(td).attr('col-index'), 10), rowIndex = dom.findNodeIndex(tr, true), rowSpan = td.rowSpan, colSpan = td.colSpan, rowSpanResult = Math.floor(rowSpan / 2), targetRow = $(parent).find(TR).eq(rowIndex + rowSpan - rowSpanResult), nextTd = this._findNextTdInRow(targetRow, columnIndex + colSpan), tdToAdd = $(emptyTd);\n if (rowSpanResult > 1) {\n tdToAdd.attr(ROWSPAN, rowSpanResult);\n }\n if (colSpan > 1) {\n tdToAdd.attr(COLSPAN, colSpan);\n }\n if (nextTd && nextTd.length) {\n nextTd.before(tdToAdd);\n } else {\n targetRow.append(tdToAdd);\n }\n $(td).prop(attr, rowSpan - rowSpanResult);\n if (td.hasAttribute(SCOPE)) {\n if (td.getAttribute(SCOPE) === ROWGROUP) {\n tdToAdd.attr(SCOPE, ROW);\n if (!td.getAttribute(ROWSPAN) || td.getAttribute(ROWSPAN) === '1') {\n td.setAttribute(SCOPE, ROW);\n }\n } else {\n tdToAdd.attr(SCOPE, td.getAttribute(SCOPE));\n }\n }\n }\n });\n var TableModificationTool = Tool.extend({\n command: function (options) {\n var commandsMap = {\n row: {\n insert: InsertRowCommand,\n 'delete': DeleteRowCommand,\n merge: MergeCellsHorizontallyCommand,\n split: SplitCellCommand\n },\n column: {\n insert: InsertColumnCommand,\n 'delete': DeleteColumnCommand,\n merge: MergeCellsVerticallyCommand,\n split: SplitCellCommand\n }\n };\n options = extend(options, this.options);\n options.action = options.action || 'insert';\n return new commandsMap[options.type][options.action](options);\n },\n initialize: function (ui, options) {\n Tool.fn.initialize.call(this, ui, options);\n ui.addClass('k-state-disabled');\n ui.attr('disabled', 'disabled');\n },\n update: function (ui, nodes) {\n var isFormatted = !tableFormatFinder.isFormatted(nodes);\n if (isFormatted === true) {\n ui.parent().addClass('k-hidden k-state-disabled');\n ui.attr('disabled', 'disabled');\n ui.addClass('k-state-disabled');\n } else {\n ui.parent().removeClass('k-hidden k-state-disabled');\n ui.removeAttr('disabled');\n ui.removeClass('k-state-disabled');\n }\n }\n });\n extend(kendo.ui.editor, {\n PopupTool: PopupTool,\n TableCommand: TableCommand,\n InsertTableTool: InsertTableTool,\n TableModificationTool: TableModificationTool,\n InsertRowCommand: InsertRowCommand,\n InsertColumnCommand: InsertColumnCommand,\n DeleteRowCommand: DeleteRowCommand,\n DeleteColumnCommand: DeleteColumnCommand,\n MergeCellsHorizontallyCommand: MergeCellsHorizontallyCommand,\n MergeCellsVerticallyCommand: MergeCellsVerticallyCommand,\n SplitCellCommand: SplitCellCommand\n });\n registerTool('createTable', new InsertTableTool({\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n popup: true,\n title: 'Create table'\n })\n }));\n registerTool('addColumnLeft', new TableModificationTool({\n type: 'column',\n position: 'before',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Add column on the left'\n })\n }));\n registerTool('addColumnRight', new TableModificationTool({\n type: 'column',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Add column on the right'\n })\n }));\n registerTool('addRowAbove', new TableModificationTool({\n type: 'row',\n position: 'before',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Add row above'\n })\n }));\n registerTool('addRowBelow', new TableModificationTool({\n type: 'row',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Add row below'\n })\n }));\n registerTool('deleteRow', new TableModificationTool({\n type: 'row',\n action: 'delete',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Delete row'\n })\n }));\n registerTool('deleteColumn', new TableModificationTool({\n type: 'column',\n action: 'delete',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Delete column'\n })\n }));\n registerTool('mergeCellsHorizontally', new TableModificationTool({\n type: 'row',\n action: 'merge',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Merge Cell Right'\n })\n }));\n registerTool('mergeCellsVertically', new TableModificationTool({\n type: 'column',\n action: 'merge',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Merge Cell Down'\n })\n }));\n registerTool('splitCellHorizontally', new TableModificationTool({\n type: 'row',\n action: 'split',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Split Cell'\n })\n }));\n registerTool('splitCellVertically', new TableModificationTool({\n type: 'column',\n action: 'split',\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Split Cell'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/clipboard', ['editor/command'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, editorNS = kendo.ui.editor, RangeUtils = editorNS.RangeUtils, dom = editorNS.Dom, RestorePoint = editorNS.RestorePoint, Marker = editorNS.Marker, browser = kendo.support.browser, extend = $.extend;\n var Clipboard = Class.extend({\n init: function (editor) {\n this.editor = editor;\n var pasteCleanup = editor.options.pasteCleanup;\n this.cleaners = [\n new ScriptCleaner(pasteCleanup),\n new TabCleaner(pasteCleanup),\n new MSWordFormatCleaner(pasteCleanup),\n new WebkitFormatCleaner(pasteCleanup),\n new HtmlTagsCleaner(pasteCleanup),\n new HtmlAttrCleaner(pasteCleanup),\n new HtmlContentCleaner(pasteCleanup),\n new CustomCleaner(pasteCleanup)\n ];\n },\n htmlToFragment: function (html) {\n var editor = this.editor, doc = editor.document, container = dom.create(doc, 'div'), fragment = doc.createDocumentFragment();\n container.innerHTML = html;\n while (container.firstChild) {\n fragment.appendChild(container.firstChild);\n }\n return fragment;\n },\n isBlock: function (html) {\n return /<(div|p|ul|ol|table|h[1-6])/i.test(html);\n },\n _startModification: function () {\n var range;\n var restorePoint;\n var editor = this.editor;\n if (this._inProgress) {\n return;\n }\n this._inProgress = true;\n range = editor.getRange();\n restorePoint = new RestorePoint(range, editor.body);\n dom.persistScrollTop(editor.document);\n return {\n range: range,\n restorePoint: restorePoint\n };\n },\n _endModification: function (modificationInfo) {\n editorNS._finishUpdate(this.editor, modificationInfo.restorePoint);\n this.editor._selectionChange();\n this._inProgress = false;\n },\n _contentModification: function (before, after) {\n var that = this;\n var editor = that.editor;\n var modificationInfo = that._startModification();\n if (!modificationInfo) {\n return;\n }\n before.call(that, editor, modificationInfo.range);\n setTimeout(function () {\n after.call(that, editor, modificationInfo.range);\n that._endModification(modificationInfo);\n });\n },\n _removeBomNodes: function (range) {\n var nodes = RangeUtils.textNodes(range);\n for (var i = 0; i < nodes.length; i++) {\n nodes[i].nodeValue = dom.stripBom(nodes[i].nodeValue) || nodes[i].nodeValue;\n }\n },\n _onBeforeCopy: function (range) {\n var marker = new Marker();\n marker.add(range);\n this._removeBomNodes(range);\n marker.remove(range);\n this.editor.selectRange(range);\n },\n oncopy: function () {\n this._onBeforeCopy(this.editor.getRange());\n },\n oncut: function () {\n this._onBeforeCopy(this.editor.getRange());\n this._contentModification($.noop, $.noop);\n },\n _fileToDataURL: function (blob) {\n var deferred = $.Deferred();\n var reader = new FileReader();\n if (!(blob instanceof window.File) && blob.getAsFile) {\n blob = blob.getAsFile();\n }\n reader.onload = $.proxy(deferred.resolve, deferred);\n reader.readAsDataURL(blob);\n return deferred.promise();\n },\n _triggerPaste: function (html, options) {\n var args = { html: html || '' };\n args.html = args.html.replace(/\\ufeff/g, '');\n this.editor.trigger('paste', args);\n this.paste(args.html, options || {});\n },\n _handleImagePaste: function (e) {\n if (!('FileReader' in window) || browser.msie && browser.version > 10) {\n return;\n }\n var clipboardData = e.clipboardData || e.originalEvent.clipboardData || window.clipboardData || {};\n var items = clipboardData.items || clipboardData.files;\n return this._insertImages(items);\n },\n _insertImages: function (items) {\n if (!items) {\n return;\n }\n var images = $.grep(items, function (item) {\n return /^image\\//i.test(item.type);\n });\n var html = $.grep(items, function (item) {\n return /^text\\/html/i.test(item.type);\n });\n if (html.length || !images.length) {\n return;\n }\n var modificationInfo = this._startModification();\n if (!modificationInfo) {\n return;\n }\n $.when.apply($, $.map(images, this._fileToDataURL)).done($.proxy(function () {\n var results = Array.prototype.slice.call(arguments);\n var html = $.map(results, function (e) {\n return '';\n }).join('');\n this._triggerPaste(html);\n this._endModification(modificationInfo);\n }, this));\n return true;\n },\n onpaste: function (e) {\n if (this.editor.body.contentEditable === 'false') {\n return;\n }\n if (this._handleImagePaste(e)) {\n e.preventDefault();\n return;\n }\n this.expandImmutablesIn();\n this._contentModification(function beforePaste(editor, range) {\n var clipboardNode = dom.create(editor.document, 'div', {\n className: 'k-paste-container',\n innerHTML: '\\uFEFF'\n });\n var browser = kendo.support.browser;\n var body = editor.body;\n this._decoreateClipboardNode(clipboardNode, body);\n body.appendChild(clipboardNode);\n if (browser.webkit) {\n this._moveToCaretPosition(clipboardNode, range);\n }\n if (browser.msie && browser.version < 11) {\n e.preventDefault();\n var r = editor.createRange();\n r.selectNodeContents(clipboardNode);\n editor.selectRange(r);\n var textRange = editor.document.body.createTextRange();\n textRange.moveToElementText(clipboardNode);\n $(body).unbind('paste');\n textRange.execCommand('Paste');\n $(body).bind('paste', $.proxy(this.onpaste, this));\n } else {\n var clipboardRange = editor.createRange();\n clipboardRange.selectNodeContents(clipboardNode);\n editor.selectRange(clipboardRange);\n }\n range.deleteContents();\n }, function afterPaste(editor, range) {\n var html = '', containers;\n editor.selectRange(range);\n containers = $(editor.body).children('.k-paste-container');\n containers.each(function () {\n var lastChild = this.lastChild;\n if (lastChild && dom.is(lastChild, 'br')) {\n dom.remove(lastChild);\n }\n html += this.innerHTML;\n });\n containers.remove();\n this._triggerPaste(html, { clean: true });\n });\n },\n ondragover: function (e) {\n if (browser.msie || browser.edge) {\n e.stopPropagation();\n e.preventDefault();\n }\n },\n ondrop: function (e) {\n if (!('FileReader' in window)) {\n return;\n }\n var dataTransfer = (e.originalEvent || e).dataTransfer || {};\n var items = dataTransfer.items || dataTransfer.files;\n if (this._insertImages(items)) {\n e.preventDefault();\n }\n },\n _decoreateClipboardNode: function (node, body) {\n if (!browser.msie && !browser.webkit) {\n return;\n }\n node = $(node);\n node.css({\n borderWidth: '0px',\n width: '0px',\n height: '0px',\n overflow: 'hidden',\n margin: '0',\n padding: '0'\n });\n if (browser.msie) {\n var documentElement = $(body.ownerDocument.documentElement);\n node.css({\n fontVariant: 'normal',\n fontWeight: 'normal',\n lineSpacing: 'normal',\n lineHeight: 'normal',\n textDecoration: 'none'\n });\n var color = documentElement.css('color');\n if (color) {\n node.css('color', color);\n }\n var fontFamily = documentElement.css('fontFamily');\n if (fontFamily) {\n node.css('fontFamily', fontFamily);\n }\n var fontSize = documentElement.css('fontSize');\n if (fontSize) {\n node.css('fontSize', fontSize);\n }\n }\n },\n _moveToCaretPosition: function (node, range) {\n var that = this;\n var body = that.editor.body;\n var nodeOffset = dom.offset(node, body);\n var caretOffset = that._caretOffset(range, body);\n var translateX = caretOffset.left - nodeOffset.left;\n var translateY = caretOffset.top - nodeOffset.top;\n var translate = 'translate(' + translateX + 'px,' + translateY + 'px)';\n $(node).css({\n '-webkit-transform': translate,\n 'transform': translate\n });\n },\n _caretOffset: function (range, body) {\n var editor = this.editor;\n var caret = dom.create(editor.document, 'span', { innerHTML: '\\uFEFF' });\n var startContainer = range.startContainer;\n var rangeChanged;\n if (range.collapsed) {\n var isStartTextNode = dom.isDataNode(startContainer);\n if (isStartTextNode && (dom.isBom(startContainer) || range.startOffset === 0)) {\n dom.insertBefore(caret, startContainer);\n } else if (isStartTextNode && range.startOffset === startContainer.length) {\n dom.insertAfter(caret, startContainer);\n } else {\n range.insertNode(caret);\n rangeChanged = true;\n }\n } else {\n startContainer = startContainer === body ? startContainer.childNodes[range.startOffset] : startContainer;\n dom.insertBefore(caret, startContainer);\n }\n var offset = dom.offset(caret, body);\n var prev = caret.previousSibling;\n var next = caret.nextSibling;\n dom.remove(caret);\n if (rangeChanged && dom.isDataNode(prev) && dom.isDataNode(next) && !dom.isBom(prev) && !dom.isBom(next)) {\n var prevLength = prev.length;\n next.data = prev.data + next.data;\n range.setStart(next, prevLength);\n dom.remove(prev);\n range.collapse(true);\n editor.selectRange(range);\n }\n return offset;\n },\n expandImmutablesIn: function (range) {\n var editor = this.editor;\n if (editor && editor.options.immutables) {\n var body = editor.body;\n range = range || editor.getRange();\n kendo.ui.editor.Immutables.expandImmutablesIn(range);\n if (range.startContainer === body && range.startOffset === 0) {\n var doc = body.ownerDocument;\n var bomNode = doc.createTextNode('\\uFEFF');\n body.insertBefore(bomNode, body.childNodes[0]);\n range.setStartBefore(bomNode);\n }\n editor.selectRange(range);\n }\n },\n splittableParent: function (block, node) {\n var parentNode, body;\n if (block) {\n return dom.closestEditableOfType(node, [\n 'p',\n 'ul',\n 'ol'\n ]) || node.parentNode;\n }\n parentNode = node.parentNode;\n body = node.ownerDocument.body;\n if (dom.isInline(parentNode)) {\n while (parentNode.parentNode != body && !dom.isBlock(parentNode.parentNode)) {\n parentNode = parentNode.parentNode;\n }\n }\n return parentNode;\n },\n paste: function (html, options) {\n var editor = this.editor, i, l, childNodes;\n this.expandImmutablesIn();\n options = extend({\n clean: false,\n split: true\n }, options);\n if (!options.skipCleaners) {\n for (i = 0, l = this.cleaners.length; i < l; i++) {\n if (this.cleaners[i].applicable(html)) {\n html = this.cleaners[i].clean(html);\n }\n }\n }\n if (options.clean) {\n html = html.replace(/(
      (\\s| )*)+(<\\/?(div|p|li|col|t))/gi, '$3');\n html = html.replace(/<(a|span)[^>]*><\\/\\1>/gi, '');\n }\n html = html.replace(/<(a|span|font)([^>]*)> <\\/\\1>/gi, '<$1$2> ');\n html = html.replace(/^
    • $/g, 'li>
    ');\n var block = this.isBlock(html);\n editor.focus();\n var range = editor.getRange();\n range.deleteContents();\n if (range.startContainer == editor.document) {\n range.selectNodeContents(editor.body);\n }\n var marker = new Marker();\n var caret = marker.addCaret(range);\n var parent = this.splittableParent(block, caret);\n var unwrap = false;\n var splittable = parent != editor.body && !dom.is(parent, 'td');\n if (options.split && splittable && (block || dom.isInline(parent))) {\n range.selectNode(caret);\n RangeUtils.split(range, parent, true);\n unwrap = true;\n }\n var fragment = this.htmlToFragment(html);\n if (fragment.firstChild && fragment.firstChild.className === 'k-paste-container') {\n var fragmentsHtml = [];\n for (i = 0, l = fragment.childNodes.length; i < l; i++) {\n fragmentsHtml.push(fragment.childNodes[i].innerHTML);\n }\n fragment = this.htmlToFragment(fragmentsHtml.join('
    '));\n }\n childNodes = fragment.childNodes;\n $(childNodes).filter('table').addClass('k-table').end().find('table').addClass('k-table');\n $(childNodes).each(function (index, elm) {\n if (dom.isBlock(elm) && !dom.isSelfClosing(elm) && elm.innerHTML === '') {\n elm.appendChild(editor.document.createTextNode('\\uFEFF'));\n }\n });\n range.insertNode(fragment);\n parent = this.splittableParent(block, caret);\n if (unwrap) {\n while (caret.parentNode != parent) {\n dom.unwrap(caret.parentNode);\n }\n dom.unwrap(caret.parentNode);\n }\n dom.normalize(range.commonAncestorContainer);\n caret.style.display = 'inline';\n dom.restoreScrollTop(editor.document);\n dom.scrollTo(caret);\n marker.removeCaret(range);\n var rangeEnd = range.commonAncestorContainer.parentNode;\n if (range.collapsed && dom.name(rangeEnd) == 'tbody' || range.collapsed && dom.name(rangeEnd) == 'thead') {\n range.setStartAfter($(rangeEnd).closest('table')[0]);\n range.collapse(true);\n }\n var focusedTable = $(range.commonAncestorContainer.parentNode).closest('table');\n if (focusedTable.get(0)) {\n var siblingNodes = focusedTable.parent().contents();\n var lastSiblingIndex = siblingNodes.length - 1;\n var lastSibling = siblingNodes.get(lastSiblingIndex);\n while (lastSibling.nodeValue !== null && (lastSibling.nodeValue === ' ' || lastSibling.nodeValue === '')) {\n lastSiblingIndex -= 1;\n lastSibling = siblingNodes.get(lastSiblingIndex);\n }\n if (lastSibling === focusedTable.get(0) && !focusedTable.parents('table').length) {\n dom.insertAfter(dom.createEmptyNode(editor.document, 'p'), focusedTable[0]);\n }\n }\n editor.selectRange(range);\n }\n });\n var Cleaner = Class.extend({\n init: function (options) {\n this.options = options || {};\n this.replacements = [];\n },\n clean: function (html, customReplacements) {\n var that = this, replacements = customReplacements || that.replacements, i, l;\n for (i = 0, l = replacements.length; i < l; i += 2) {\n html = html.replace(replacements[i], replacements[i + 1]);\n }\n return html;\n }\n });\n var ScriptCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.replacements = [\n /<(\\/?)script([^>]*)>/i,\n '<$1telerik:script$2>'\n ];\n },\n applicable: function (html) {\n return !this.options.none && /]*>/i.test(html);\n }\n });\n var TabCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n var replacement = ' ';\n this.replacements = [\n /]*>\\s*<\\/span>/gi,\n replacement,\n /\\t/gi,\n replacement,\n /    /gi,\n replacement\n ];\n },\n applicable: function (html) {\n return /    |class=\"?Apple-tab-span/i.test(html);\n }\n });\n var MSWordFormatCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.junkReplacements = [\n /<\\?xml[^>]*>/gi,\n '',\n //g,\n '',\n /"/g,\n '\\'',\n / <\\/o:p>/gi,\n ' ',\n /<\\/?(meta|link|style|o:|v:|x:)[^>]*>((?:.|\\n)*?<\\/(meta|link|style|o:|v:|x:)[^>]*>)?/gi,\n '',\n /<\\/o>/g,\n ''\n ];\n this.replacements = this.junkReplacements.concat([\n /(?:
     [\\s\\r\\n]+|
    )*(<\\/?(h[1-6]|hr|p|div|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|address|pre|form|blockquote|dl|dt|dd|dir|fieldset)[^>]*>)(?:
     [\\s\\r\\n]+|
    )*/g,\n '$1',\n /

    /g,\n '

    ',\n /
    (?!\\n)/g,\n ' ',\n /]*)>(\\s| )+]*>(\\s| )*<\\/tr>/gi,\n '',\n /]*>(\\s| )*<\\/tbody>/gi,\n '',\n /]*>(\\s| )*<\\/table>/gi,\n '',\n /

    /g,\n '
    ',\n /^\\s*( )+/gi,\n '',\n /( |]*>)+\\s*$/gi,\n '',\n /mso-[^;\"]*;?/gi,\n '',\n /<(\\/?)b(\\s[^>]*)?>/gi,\n '<$1strong$2>',\n /<(\\/?)font(\\s[^>]*)?>/gi,\n this.convertFontMatch,\n /<(\\/?)i(\\s[^>]*)?>/gi,\n '<$1em$2>',\n /style=([\"|'])\\s*\\1/g,\n '',\n /(]*>)?\\n/g,\n function ($0, $1) {\n return $1 ? $0 : ' ';\n }\n ]);\n },\n convertFontMatch: function (match, closing, args) {\n var faceRe = /face=['\"]([^'\"]+)['\"]/i;\n var face = faceRe.exec(args);\n var family = args && face && face[1];\n if (closing) {\n return '';\n } else if (family) {\n return '';\n } else {\n return '';\n }\n },\n applicable: function (html) {\n return /class=\"?Mso/i.test(html) || /style=\"[^\"]*mso-/i.test(html) || /urn:schemas-microsoft-com:office/.test(html);\n },\n stripEmptyAnchors: function (html) {\n return html.replace(/]*)>\\s*<\\/a>/gi, function (a, attributes) {\n if (!attributes || attributes.indexOf('href') < 0) {\n return '';\n }\n return a;\n });\n },\n listType: function (p, listData) {\n var html = p.innerHTML;\n var text = dom.innerText(p);\n var startingSymbol;\n var matchSymbol = html.match(/^(?:]*texhtml[^>]*>)?]*(?:Symbol|Wingdings)[^>]*>([^<]+)/i);\n var symbol = matchSymbol && matchSymbol[1];\n var isNumber = /^[a-z\\d]/i.test(symbol);\n var trimStartText = function (text) {\n return text.replace(/^(?: |[\\u00a0\\n\\r\\s])+/, '');\n };\n if (matchSymbol) {\n startingSymbol = true;\n }\n html = html.replace(/<\\/?\\w+[^>]*>/g, '').replace(/ /g, '\\xA0');\n if (!startingSymbol && /^[\\u2022\\u00b7\\u00a7\\u00d8o]\\u00a0+/.test(html) || startingSymbol && /^.\\u00a0+/.test(html) || symbol && !isNumber && listData) {\n return {\n tag: 'ul',\n style: this._guessUnorderedListStyle(trimStartText(text))\n };\n }\n if (/^\\s*\\w+[\\.\\)][\\u00a0 ]{2,}/.test(html)) {\n return {\n tag: 'ol',\n style: this._guessOrderedListStyle(trimStartText(text))\n };\n }\n },\n _convertToLi: function (p) {\n var content, name = dom.name(p);\n if (p.childNodes.length == 1) {\n content = p.firstChild.nodeType === dom.nodeTypes.TEXT_NODE ? dom.innerText(p) : p.firstChild.innerHTML.replace(/^\\w+[\\.\\)]( )+ /, '');\n } else {\n dom.remove(p.firstChild);\n if (p.firstChild.nodeType == 3) {\n if (/^[ivxlcdm]+\\.$/i.test(p.firstChild.nodeValue)) {\n dom.remove(p.firstChild);\n }\n }\n if (/^( |\\s)+$/i.test(p.firstChild.innerHTML)) {\n dom.remove(p.firstChild);\n }\n if (name != 'p') {\n content = '<' + name + '>' + p.innerHTML + '';\n } else {\n content = p.innerHTML;\n }\n }\n dom.remove(p);\n return dom.create(document, 'li', { innerHTML: content });\n },\n _guessUnorderedListStyle: function (symbol) {\n if (/^[\\u2022\\u00b7\\u00FC\\u00D8\\u002dv-]/.test(symbol)) {\n return null;\n } else if (/^o/.test(symbol)) {\n return 'circle';\n } else {\n return 'square';\n }\n },\n _guessOrderedListStyle: function (symbol) {\n var listType = null;\n if (!/^\\d/.test(symbol)) {\n listType = (/^[a-z]/.test(symbol) ? 'lower-' : 'upper-') + (/^[ivxlcdm]/i.test(symbol) ? 'roman' : 'alpha');\n }\n return listType;\n },\n extractListLevels: function (html) {\n var msoListRegExp = /style=['\"]?[^'\"]*?mso-list:\\s?[a-zA-Z]+(\\d+)\\s[a-zA-Z]+(\\d+)\\s(\\w+)/gi;\n html = html.replace(msoListRegExp, function (match, list, level) {\n return kendo.format('data-list=\"{0}\" data-level=\"{1}\" {2}', list, level, match);\n });\n return html;\n },\n _createList: function (type, styleType) {\n return dom.create(document, type, { style: { listStyleType: styleType } });\n },\n lists: function (placeholder) {\n var blockChildren = $(placeholder).find(dom.blockElements.join(',')), lastMargin = -1, name, levels = {}, li, rootMargin, rootIndex, lastRootLi, isLastRootLi, rootList, i, p, type, margin, list, listData, acceptedNameTags = [\n 'p',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6'\n ], isParentTable = false;\n for (i = 0; i < blockChildren.length; i++) {\n p = blockChildren[i];\n listData = $(p).data();\n var listIndex = listData.list;\n name = dom.name(p);\n isParentTable = !!$(p).parents('table').length;\n if (isParentTable) {\n continue;\n }\n var listType = this.listType(p, listData);\n type = listType && listType.tag;\n if (!type || acceptedNameTags.indexOf(name) < 0) {\n if (!p.innerHTML) {\n dom.remove(p);\n } else if (li && !isLastRootLi) {\n li.appendChild(p);\n }\n continue;\n }\n if (browser.msie) {\n continue;\n }\n margin = listData.level || parseFloat(p.style.marginLeft || 0);\n var levelType = type + listIndex;\n if (!levels[margin]) {\n levels[margin] = {};\n }\n if (!rootMargin || rootMargin < 0) {\n rootMargin = margin;\n rootIndex = listIndex;\n lastRootLi = $(placeholder).find('[data-list=\\'' + rootIndex + '\\']:last')[0];\n rootList = this._createList(type, listType.style);\n dom.insertBefore(rootList, p);\n lastMargin = margin;\n levels[margin][levelType] = rootList;\n }\n isLastRootLi = lastRootLi === p;\n list = levels[margin][levelType];\n if (margin > lastMargin || !list) {\n list = this._createList(type, listType.style);\n levels[margin][levelType] = list;\n li.appendChild(list);\n }\n li = this._convertToLi(p);\n list.appendChild(li);\n if (isLastRootLi) {\n rootMargin = lastMargin = -1;\n } else {\n lastMargin = margin;\n }\n }\n },\n removeAttributes: function (element) {\n var attributes = element.attributes, i = attributes.length;\n while (i--) {\n if (dom.name(attributes[i]) != 'colspan') {\n element.removeAttributeNode(attributes[i]);\n }\n }\n },\n createColGroup: function (row) {\n var cells = row.cells;\n var table = $(row).closest('table');\n var colgroup = table.children('colgroup');\n if (cells.length < 2) {\n return;\n } else if (colgroup.length) {\n cells = colgroup.children();\n colgroup[0].parentNode.removeChild(colgroup[0]);\n }\n colgroup = $($.map(cells, function (cell) {\n var width = cell.width;\n if (width && parseInt(width, 10) !== 0) {\n return kendo.format('', width);\n }\n return '';\n }).join(''));\n if (!colgroup.is('colgroup')) {\n colgroup = $('').append(colgroup);\n }\n colgroup.prependTo(table);\n },\n convertHeaders: function (row) {\n var cells = row.cells, i, boldedCells = $.map(cells, function (cell) {\n var child = $(cell).children('p').children('strong')[0];\n if (child && dom.name(child) == 'strong') {\n return child;\n }\n });\n if (boldedCells.length == cells.length) {\n for (i = 0; i < boldedCells.length; i++) {\n dom.unwrap(boldedCells[i]);\n }\n $(row).closest('table').find('colgroup').after('').end().find('thead').append(row);\n for (i = 0; i < cells.length; i++) {\n dom.changeTag(cells[i], 'th');\n }\n }\n },\n removeParagraphs: function (cells) {\n var i, j, len, cell, paragraphs;\n for (i = 0; i < cells.length; i++) {\n this.removeAttributes(cells[i]);\n cell = $(cells[i]);\n paragraphs = cell.children('p');\n for (j = 0, len = paragraphs.length; j < len; j++) {\n if (j < len - 1) {\n dom.insertAfter(dom.create(document, 'br'), paragraphs[j]);\n }\n dom.unwrap(paragraphs[j]);\n }\n }\n },\n removeDefaultColors: function (spans) {\n for (var i = 0; i < spans.length; i++) {\n if (/^\\s*color:\\s*[^;]*;?$/i.test(spans[i].style.cssText)) {\n dom.unwrap(spans[i]);\n }\n }\n },\n tables: function (placeholder) {\n var tables = $(placeholder).find('table'), that = this, rows, firstRow, longestRow, i, j;\n for (i = 0; i < tables.length; i++) {\n rows = tables[i].rows;\n longestRow = firstRow = rows[0];\n for (j = 1; j < rows.length; j++) {\n if (rows[j].cells.length > longestRow.cells.length) {\n longestRow = rows[j];\n }\n }\n that.createColGroup(longestRow);\n that.convertHeaders(firstRow);\n that.removeAttributes(tables[i]);\n that.removeParagraphs(tables.eq(i).find('td,th'));\n that.removeDefaultColors(tables.eq(i).find('span'));\n }\n },\n headers: function (placeholder) {\n var titles = $(placeholder).find('p.MsoTitle');\n for (var i = 0; i < titles.length; i++) {\n dom.changeTag(titles[i], 'h1');\n }\n },\n removeFormatting: function (placeholder) {\n $(placeholder).find('*').each(function () {\n $(this).css({\n fontSize: '',\n fontFamily: ''\n });\n if (!this.getAttribute('style') && !this.style.cssText) {\n this.removeAttribute('style');\n }\n });\n },\n clean: function (html) {\n var that = this, placeholder;\n var filters = this.options;\n if (filters.none) {\n html = Cleaner.fn.clean.call(that, html, this.junkReplacements);\n html = that.stripEmptyAnchors(html);\n } else {\n html = filters.msConvertLists ? this.extractListLevels(html) : html;\n html = Cleaner.fn.clean.call(that, html);\n html = that.stripEmptyAnchors(html);\n placeholder = dom.create(document, 'div', { innerHTML: html });\n that.headers(placeholder);\n if (filters.msConvertLists) {\n that.lists(placeholder);\n }\n that.tables(placeholder);\n if (filters.msAllFormatting) {\n that.removeFormatting(placeholder);\n }\n html = placeholder.innerHTML.replace(/(<[^>]*)\\s+class=\"?[^\"\\s>]*\"?/gi, '$1');\n }\n return html;\n }\n });\n var WebkitFormatCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.replacements = [\n /\\s+class=\"Apple-style-span[^\"]*\"/gi,\n '',\n /<(div|p|h[1-6])\\s+style=\"[^\"]*\"/gi,\n '<$1',\n /^
    (.*)<\\/div>$/,\n '$1'\n ];\n },\n applicable: function (html) {\n return /class=\"?Apple-style-span|style=\"[^\"]*-webkit-nbsp-mode/i.test(html);\n }\n });\n var DomCleaner = Cleaner.extend({\n clean: function (html) {\n var container = dom.create(document, 'div', { innerHTML: html });\n container = this.cleanDom(container);\n return container.innerHTML;\n },\n cleanDom: function (container) {\n return container;\n }\n });\n var HtmlTagsCleaner = DomCleaner.extend({\n cleanDom: function (container) {\n var tags = this.collectTags();\n $(container).find(tags).each(function () {\n dom.unwrap(this);\n });\n return container;\n },\n collectTags: function () {\n if (this.options.span) {\n return 'span';\n }\n },\n applicable: function () {\n return this.options.span;\n }\n });\n var HtmlAttrCleaner = DomCleaner.extend({\n cleanDom: function (container) {\n var attributes = this.collectAttr();\n var nodes = $(container).find('[' + attributes.join('],[') + ']');\n nodes.removeAttr(attributes.join(' '));\n return container;\n },\n collectAttr: function () {\n if (this.options.css) {\n return [\n 'class',\n 'style'\n ];\n }\n return [];\n },\n applicable: function () {\n return this.options.css;\n }\n });\n var TextContainer = function () {\n this.text = '';\n this.add = function (text) {\n this.text += text;\n };\n };\n var HtmlTextLines = Class.extend({\n init: function (separators) {\n this.separators = separators || {\n text: ' ',\n line: '
    '\n };\n this.lines = [];\n this.inlineBlockText = [];\n this.resetLine();\n },\n appendText: function (text) {\n if (text.nodeType === 3) {\n text = text.nodeValue;\n }\n this.textContainer.add(text);\n },\n appendInlineBlockText: function (text) {\n this.inlineBlockText.push(text);\n },\n flashInlineBlockText: function () {\n if (this.inlineBlockText.length) {\n this.appendText(this.inlineBlockText.join(' '));\n this.inlineBlockText = [];\n }\n },\n endLine: function () {\n this.flashInlineBlockText();\n this.resetLine();\n },\n html: function () {\n var separators = this.separators;\n var result = '';\n var lines = this.lines;\n this.flashInlineBlockText();\n for (var i = 0, il = lines.length, il1 = il - 1; i < il; i++) {\n var line = lines[i];\n for (var j = 0, jl = line.length, jl1 = jl - 1; j < jl; j++) {\n var text = line[j].text;\n result += text;\n if (j !== jl1) {\n result += separators.text;\n }\n }\n if (i !== il1) {\n result += separators.line;\n }\n }\n return result;\n },\n resetLine: function () {\n this.textContainer = new TextContainer();\n this.line = [];\n this.line.push(this.textContainer);\n this.lines.push(this.line);\n }\n });\n var DomEnumerator = Class.extend({\n init: function (callback) {\n this.callback = callback;\n },\n enumerate: function (node) {\n if (!node) {\n return;\n }\n var preventDown = this.callback(node);\n var child = node.firstChild;\n if (!preventDown && child) {\n this.enumerate(child);\n }\n this.enumerate(node.nextSibling);\n }\n });\n var HtmlContentCleaner = Cleaner.extend({\n init: function (options) {\n Cleaner.fn.init.call(this, options);\n this.hasText = false;\n this.enumerator = new DomEnumerator($.proxy(this.buildText, this));\n },\n clean: function (html) {\n var container = dom.create(document, 'div', { innerHTML: html });\n return this.cleanDom(container);\n },\n cleanDom: function (container) {\n this.separators = this.getDefaultSeparators();\n this.htmlLines = new HtmlTextLines(this.separators);\n this.enumerator.enumerate(container.firstChild);\n this.hasText = false;\n return this.htmlLines.html();\n },\n buildText: function (node) {\n if (dom.isDataNode(node)) {\n if (dom.isEmptyspace(node)) {\n return;\n }\n this.htmlLines.appendText(node.nodeValue.replace('\\n', this.separators.line));\n this.hasText = true;\n } else if (dom.isBlock(node) && this.hasText) {\n var action = this.actions[dom.name(node)] || this.actions.block;\n return action(this, node);\n } else if (dom.isBr(node)) {\n this.htmlLines.appendText(this.separators.line);\n }\n },\n applicable: function () {\n var o = this.options;\n return o.all || o.keepNewLines;\n },\n getDefaultSeparators: function () {\n if (this.options.all) {\n return {\n text: ' ',\n line: ' '\n };\n } else {\n return {\n text: ' ',\n line: '
    '\n };\n }\n },\n actions: {\n ul: $.noop,\n ol: $.noop,\n table: $.noop,\n thead: $.noop,\n tbody: $.noop,\n td: function (cleaner, node) {\n var tdCleaner = new HtmlContentCleaner({ all: true });\n var cellText = tdCleaner.cleanDom(node);\n cleaner.htmlLines.appendInlineBlockText(cellText);\n return true;\n },\n block: function (cleaner) {\n cleaner.htmlLines.endLine();\n }\n }\n });\n var CustomCleaner = Cleaner.extend({\n clean: function (html) {\n return this.options.custom(html);\n },\n applicable: function () {\n return typeof this.options.custom === 'function';\n }\n });\n extend(editorNS, {\n Clipboard: Clipboard,\n Cleaner: Cleaner,\n ScriptCleaner: ScriptCleaner,\n TabCleaner: TabCleaner,\n MSWordFormatCleaner: MSWordFormatCleaner,\n WebkitFormatCleaner: WebkitFormatCleaner,\n HtmlTagsCleaner: HtmlTagsCleaner,\n HtmlAttrCleaner: HtmlAttrCleaner,\n HtmlContentCleaner: HtmlContentCleaner,\n HtmlTextLines: HtmlTextLines,\n CustomCleaner: CustomCleaner\n });\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/keyboard', ['editor/command'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Class = kendo.Class, editorNS = kendo.ui.editor, RangeUtils = editorNS.RangeUtils, dom = editorNS.Dom, RestorePoint = editorNS.RestorePoint, Marker = editorNS.Marker, browser = kendo.support.browser, bomSpan = '\\uFEFF', extend = $.extend;\n var nodeTypes = dom.nodeTypes;\n var PREVIOUS_SIBLING = 'previousSibling';\n function selected(node, range) {\n return range.startContainer === node && range.endContainer === node && range.startOffset === 0 && range.endOffset == node.childNodes.length;\n }\n function getSibling(node, direction, condition) {\n var sibling = node ? node[direction] : null;\n while (sibling && !condition(sibling)) {\n sibling = sibling[direction];\n }\n return sibling;\n }\n var tableCells = 'td,th,caption';\n var tableCellsWrappers = 'table,tbody,thead,tfoot,tr';\n var tableElements = tableCellsWrappers + ',' + tableCells;\n var inTable = function (range) {\n return !range.collapsed && $(range.commonAncestorContainer).is(tableCellsWrappers);\n };\n var RemoveTableContent = Class.extend({\n remove: function (range) {\n var that = this;\n var marker = new Marker();\n marker.add(range, false);\n var nodes = RangeUtils.getAll(range, function (node) {\n return $(node).is(tableElements);\n });\n var doc = RangeUtils.documentFromRange(range);\n var start = marker.start;\n var end = marker.end;\n var cellsTypes = tableCells.split(',');\n var startCell = dom.parentOfType(start, cellsTypes);\n var endCell = dom.parentOfType(end, cellsTypes);\n that._removeContent(start, startCell, true);\n that._removeContent(end, endCell, false);\n $(nodes).each(function (i, node) {\n node = $(node);\n (node.is(tableCells) ? node : node.find(tableCells)).each(function (j, cell) {\n cell.innerHTML = '';\n });\n });\n if (startCell && !start.previousSibling) {\n dom.insertBefore(doc.createTextNode('\\uFEFF'), start);\n }\n if (endCell && !end.nextSibling) {\n dom.insertAfter(doc.createTextNode('\\uFEFF'), end);\n }\n if (startCell) {\n range.setStartBefore(start);\n } else if (nodes[0]) {\n startCell = $(nodes[0]);\n startCell = startCell.is(tableCells) ? startCell : startCell.find(tableCells).first();\n if (startCell.length) {\n range.setStart(startCell.get(0), 0);\n }\n }\n range.collapse(true);\n dom.remove(start);\n dom.remove(end);\n },\n _removeContent: function (start, top, forwards) {\n if (top) {\n var sibling = forwards ? 'nextSibling' : 'previousSibling', next, getNext = function (node) {\n while (node && !node[sibling]) {\n node = node.parentNode;\n }\n return node && $.contains(top, node) ? node[sibling] : null;\n };\n start = getNext(start);\n while (start) {\n next = getNext(start);\n dom.remove(start);\n start = next;\n }\n }\n }\n });\n var TypingHandler = Class.extend({\n init: function (editor) {\n this.editor = editor;\n },\n keydown: function (e) {\n var that = this, editor = that.editor, keyboard = editor.keyboard, isTypingKey = keyboard.isTypingKey(e), evt = extend($.Event(), e);\n that.editor.trigger('keydown', evt);\n if (evt.isDefaultPrevented()) {\n e.preventDefault();\n return true;\n }\n if (!evt.isDefaultPrevented() && isTypingKey && !keyboard.isTypingInProgress()) {\n var range = editor.getRange();\n var body = editor.body;\n that.startRestorePoint = new RestorePoint(range, body);\n if (inTable(range)) {\n var removeTableContent = new RemoveTableContent(editor);\n removeTableContent.remove(range);\n editor.selectRange(range);\n }\n if (browser.webkit && !range.collapsed && selected(body, range)) {\n body.innerHTML = '';\n }\n if (editor.immutables && editorNS.Immutables.immutablesContext(range)) {\n var backspaceHandler = new editorNS.BackspaceHandler(editor);\n backspaceHandler.deleteSelection(range);\n }\n keyboard.startTyping(function () {\n that.endRestorePoint = editorNS._finishUpdate(editor, that.startRestorePoint);\n });\n return true;\n }\n return false;\n },\n keyup: function (e) {\n var keyboard = this.editor.keyboard;\n this.editor.trigger('keyup', e);\n if (keyboard.isTypingInProgress()) {\n keyboard.endTyping();\n return true;\n }\n return false;\n }\n });\n var BackspaceHandler = Class.extend({\n init: function (editor) {\n this.editor = editor;\n },\n _addCaret: function (container) {\n var caret = dom.create(this.editor.document, 'a');\n if (!kendo.support.browser.chrome && container.firstChild && container.firstChild.nodeType === nodeTypes.ELEMENT_NODE) {\n container = container.firstChild;\n }\n dom.insertAt(container, caret, 0);\n dom.stripBomNode(caret.previousSibling);\n dom.stripBomNode(caret.nextSibling);\n return caret;\n },\n _restoreCaret: function (caret) {\n var range = this.editor.createRange();\n if (!caret.nextSibling && dom.isDataNode(caret.previousSibling)) {\n range.setStart(caret.previousSibling, caret.previousSibling.length);\n } else {\n range.setStartAfter(caret);\n }\n range.collapse(true);\n this.editor.selectRange(range);\n dom.remove(caret);\n },\n _handleDelete: function (range) {\n var node = range.endContainer;\n var block = dom.closestEditableOfType(node, dom.blockElements);\n if (block && editorNS.RangeUtils.isEndOf(range, block)) {\n var next = dom.next(block);\n if (!next || dom.name(next) != 'p') {\n return false;\n }\n var caret = this._addCaret(next);\n this._merge(block, next);\n this._restoreCaret(caret);\n return true;\n }\n return false;\n },\n _cleanBomBefore: function (range) {\n var offset = range.startOffset;\n var node = range.startContainer;\n var text = node.nodeValue;\n var count = 0;\n while (offset - count >= 0 && text[offset - count - 1] == '\\uFEFF') {\n count++;\n }\n if (count > 0) {\n node.deleteData(offset - count, count);\n range.setStart(node, Math.max(0, offset - count));\n range.collapse(true);\n this.editor.selectRange(range);\n }\n },\n _handleBackspace: function (range) {\n var node = range.startContainer;\n var li = dom.closestEditableOfType(node, ['li']);\n var block = dom.closestEditableOfType(node, 'p,h1,h2,h3,h4,h5,h6'.split(','));\n var editor = this.editor;\n var previousSibling;\n if (dom.isDataNode(node)) {\n if (range.collapsed && /^\\s[\\ufeff]+$/.test(node.nodeValue)) {\n range.setStart(node, 0);\n range.setEnd(node, node.length);\n editor.selectRange(range);\n return false;\n }\n this._cleanBomBefore(range);\n }\n previousSibling = getSibling(block, PREVIOUS_SIBLING, function (sibling) {\n return !dom.htmlIndentSpace(sibling);\n });\n if (range.collapsed && range.startOffset !== range.endOffset && range.startOffset < 0) {\n range.startOffset = 0;\n range.endOffset = 0;\n editor.selectRange(range);\n }\n var startAtLi = li && editorNS.RangeUtils.isStartOf(range, li);\n var liIndex = li && $(li).index();\n var startAtNonFirstLi = startAtLi && liIndex > 0;\n if (startAtNonFirstLi) {\n block = li;\n previousSibling = dom.prev(li);\n }\n if (block && previousSibling && dom.is(previousSibling, 'table') && editorNS.RangeUtils.isStartOf(range, block)) {\n if (block.innerText === '') {\n block.innerHTML = '\\uFEFF';\n }\n return true;\n }\n if (editorNS.RangeUtils.isStartOf(range, block) && (parseInt(block.style.marginLeft, 10) > 0 || parseInt(block.style.marginRight, 10) > 0)) {\n editor.exec('outdent');\n return true;\n }\n if (block && previousSibling && editorNS.RangeUtils.isStartOf(range, block) || startAtNonFirstLi) {\n var caret = this._addCaret(block);\n this._merge(previousSibling, block);\n this._restoreCaret(caret);\n return true;\n }\n if (startAtLi && liIndex === 0) {\n var child = li.firstChild;\n if (!child) {\n li.innerHTML = editorNS.emptyElementContent;\n child = li.firstChild;\n }\n var formatter = new editorNS.ListFormatter(dom.name(li.parentNode), 'p');\n range.selectNodeContents(li);\n formatter.toggle(range);\n if (dom.insignificant(child)) {\n range.setStartBefore(child);\n } else {\n range.setStart(child, 0);\n }\n editor.selectRange(range);\n return true;\n }\n var rangeStartNode = node.childNodes[range.startOffset - 1];\n var linkRange = range;\n var anchor = rangeStartNode && dom.closestEditableOfType(rangeStartNode, ['a']);\n var previousNode = getSibling(rangeStartNode || node, PREVIOUS_SIBLING, function (sibling) {\n return !dom.isDataNode(sibling) || !dom.isBom(sibling) && sibling.length > 0;\n });\n if (anchor || (range.startOffset === 0 || rangeStartNode) && dom.is(previousNode, 'a')) {\n anchor = anchor || previousNode;\n linkRange = editor.createRange();\n linkRange.setStart(anchor, anchor.childNodes.length);\n linkRange.collapse(true);\n }\n anchor = anchor || dom.closestEditableOfType(rangeStartNode || linkRange.startContainer, ['a']);\n var isEndOfLink = anchor && editorNS.RangeUtils.isEndOf(linkRange, anchor);\n if (isEndOfLink) {\n var command = new editorNS.UnlinkCommand({\n range: linkRange,\n body: editor.body,\n immutables: !!editor.immutables\n });\n editor.execCommand(command);\n editor._selectionChange();\n }\n return false;\n },\n _handleSelection: function (range) {\n var ancestor = range.commonAncestorContainer;\n var table = dom.closest(ancestor, 'table');\n var emptyParagraphContent = editorNS.emptyElementContent;\n var editor = this.editor;\n var parentElementOrNode;\n if (inTable(range)) {\n var removeTableContent = new RemoveTableContent(editor);\n removeTableContent.remove(range);\n editor.selectRange(range);\n return true;\n }\n var marker = new Marker();\n marker.add(range, false);\n if (range.commonAncestorContainer === editor.body) {\n this._surroundFullyContent(marker, range);\n }\n if (editor.immutables) {\n this._handleImmutables(marker);\n }\n this._surroundFullySelectedAnchor(marker, range);\n range.setStartAfter(marker.start);\n range.setEndBefore(marker.end);\n var start = range.startContainer;\n var end = range.endContainer;\n range.deleteContents();\n if (end.tagName.toLocaleLowerCase() === 'li' && dom.emptyNode(end)) {\n range.selectNode(end);\n range.deleteContents();\n }\n if (table && $(table).text() === '') {\n range.selectNode(table);\n range.deleteContents();\n }\n ancestor = range.commonAncestorContainer;\n if (dom.name(ancestor) === 'p' && ancestor.innerHTML === '') {\n ancestor.innerHTML = emptyParagraphContent;\n range.setStart(ancestor, 0);\n }\n this._join(start, end);\n dom.insertAfter(editor.document.createTextNode('\\uFEFF'), marker.start);\n marker.remove(range);\n start = range.startContainer;\n if (dom.name(start) == 'tr') {\n start = start.childNodes[Math.max(0, range.startOffset - 1)];\n range.setStart(start, dom.getNodeLength(start));\n }\n range.collapse(true);\n editor.selectRange(range);\n parentElementOrNode = start.parentElement || start.parentNode;\n if (dom.isDataNode(start) && !dom.emptyNode(parentElementOrNode)) {\n this._cleanBomBefore(range);\n }\n return true;\n },\n _handleImmutables: function (marker) {\n var immutableParent = editorNS.Immutables.immutableParent;\n var startImmutable = immutableParent(marker.start);\n var endImmutable = immutableParent(marker.start);\n if (startImmutable) {\n dom.insertBefore(marker.start, startImmutable);\n }\n if (endImmutable) {\n dom.insertAfter(marker.end, endImmutable);\n }\n if (startImmutable) {\n dom.remove(startImmutable);\n }\n if (endImmutable && endImmutable.parentNode) {\n dom.remove(endImmutable);\n }\n },\n _surroundFullyContent: function (marker, range) {\n var children = range.commonAncestorContainer.children, startParent = children[0], endParent = children[children.length - 1];\n this._moveMarker(marker, range, startParent, endParent);\n },\n _surroundFullySelectedAnchor: function (marker, range) {\n var start = marker.start, startParent = $(start).closest('a').get(0), end = marker.end, endParent = $(end).closest('a').get(0);\n this._moveMarker(marker, range, startParent, endParent);\n },\n _moveMarker: function (marker, range, startParent, endParent) {\n var start = marker.start, end = marker.end;\n if (startParent && RangeUtils.isStartOf(range, startParent)) {\n dom.insertBefore(start, startParent);\n }\n if (endParent && RangeUtils.isEndOf(range, endParent)) {\n dom.insertAfter(end, endParent);\n }\n },\n _root: function (node) {\n while (node && dom.name(node) != 'body' && node.parentNode && dom.name(node.parentNode) != 'body') {\n node = node.parentNode;\n }\n return node;\n },\n _join: function (start, end) {\n start = this._root(start);\n end = this._root(end);\n if (start != end && dom.is(end, 'p')) {\n this._merge(start, end);\n }\n },\n _merge: function (dest, src) {\n dom.removeTrailingBreak(dest);\n while (dest && src.firstChild) {\n if (dest.nodeType == 1) {\n dest = dom.list(dest) ? dest.children[dest.children.length - 1] : dest;\n if (dest) {\n dest.appendChild(src.firstChild);\n }\n } else if (dest.nodeType === nodeTypes.TEXT_NODE) {\n this._mergeWithTextNode(dest, src.firstChild);\n } else {\n dest.parentNode.appendChild(src.firstChild);\n }\n }\n dom.remove(src);\n },\n _mergeWithTextNode: function (textNode, appendedNode) {\n if (textNode && textNode.nodeType === nodeTypes.TEXT_NODE) {\n if (textNode.nextSibling && this._isCaret(textNode.nextSibling)) {\n dom.insertAfter(appendedNode, textNode.nextSibling);\n } else {\n dom.insertAfter(appendedNode, textNode);\n }\n }\n },\n _isCaret: function (element) {\n return $(element).is('a');\n },\n keydown: function (e) {\n var method, startRestorePoint;\n var editor = this.editor;\n var range = editor.getRange();\n var keyCode = e.keyCode;\n var keys = kendo.keys;\n var backspace = keyCode === keys.BACKSPACE;\n var del = keyCode == keys.DELETE;\n if (editor.immutables && editor.immutables.keydown(e, range)) {\n return;\n }\n if ((backspace || del) && !range.collapsed) {\n method = '_handleSelection';\n } else if (backspace) {\n method = '_handleBackspace';\n } else if (del) {\n method = '_handleDelete';\n }\n if (!method) {\n return;\n }\n startRestorePoint = new RestorePoint(range, editor.body);\n if (this[method](range)) {\n e.preventDefault();\n editorNS._finishUpdate(editor, startRestorePoint);\n }\n },\n deleteSelection: function (range) {\n this._handleSelection(range);\n },\n keyup: $.noop\n });\n var SystemHandler = Class.extend({\n init: function (editor) {\n this.editor = editor;\n this.systemCommandIsInProgress = false;\n },\n createUndoCommand: function () {\n this.startRestorePoint = this.endRestorePoint = editorNS._finishUpdate(this.editor, this.startRestorePoint);\n },\n changed: function () {\n if (this.startRestorePoint) {\n return this.startRestorePoint.html != this.editor.body.innerHTML;\n }\n return false;\n },\n keydown: function (e) {\n var that = this, editor = that.editor, keyboard = editor.keyboard;\n if (keyboard.isModifierKey(e)) {\n if (keyboard.isTypingInProgress()) {\n keyboard.endTyping(true);\n }\n that.startRestorePoint = new RestorePoint(editor.getRange(), editor.body);\n return true;\n }\n if (keyboard.isSystem(e)) {\n that.systemCommandIsInProgress = true;\n if (that.changed()) {\n that.systemCommandIsInProgress = false;\n that.createUndoCommand();\n }\n return true;\n }\n return false;\n },\n keyup: function () {\n var that = this;\n if (that.systemCommandIsInProgress && that.changed()) {\n that.systemCommandIsInProgress = false;\n that.createUndoCommand();\n return true;\n }\n return false;\n }\n });\n var SelectAllHandler = Class.extend({\n init: function (editor) {\n this.editor = editor;\n },\n keydown: function (e) {\n if (!browser.webkit || e.isDefaultPrevented() || !(e.ctrlKey && e.keyCode == 65 && !e.altKey && !e.shiftKey)) {\n return;\n }\n if (this.editor.options.immutables) {\n this._toSelectableImmutables();\n }\n this._selectEditorBody();\n },\n _selectEditorBody: function () {\n var editor = this.editor;\n var range = editor.getRange();\n range.selectNodeContents(editor.body);\n editor.selectRange(range);\n },\n _toSelectableImmutables: function () {\n var editor = this.editor, body = editor.body, immutable = editorNS.Immutables.immutable, emptyTextNode = dom.emptyTextNode, first = body.firstChild, last = body.lastChild;\n while (emptyTextNode(first)) {\n first = first.nextSibling;\n }\n while (emptyTextNode(last)) {\n last = last.previousSibling;\n }\n if (first && immutable(first)) {\n $(bomSpan).prependTo(body);\n }\n if (last && immutable(last)) {\n $(bomSpan).appendTo(body);\n }\n },\n keyup: $.noop\n });\n var Keyboard = Class.extend({\n init: function (handlers) {\n this.handlers = handlers;\n this.typingInProgress = false;\n },\n isCharacter: function (keyCode) {\n return keyCode >= 48 && keyCode <= 90 || keyCode >= 96 && keyCode <= 111 || keyCode >= 186 && keyCode <= 192 || keyCode >= 219 && keyCode <= 222 || keyCode == 229;\n },\n toolFromShortcut: function (tools, e) {\n var key = String.fromCharCode(e.keyCode), toolName, toolOptions, modifier = this._getShortcutModifier(e, navigator.platform);\n for (toolName in tools) {\n toolOptions = $.extend({\n ctrl: false,\n alt: false,\n shift: false\n }, tools[toolName].options);\n if ((toolOptions.key == key || toolOptions.key == e.keyCode) && toolOptions.ctrl == modifier && toolOptions.alt == e.altKey && toolOptions.shift == e.shiftKey) {\n return toolName;\n }\n }\n },\n _getShortcutModifier: function (e, platform) {\n var mac = platform.toUpperCase().indexOf('MAC') >= 0;\n return mac ? e.metaKey : e.ctrlKey;\n },\n toolsFromShortcut: function (tools, e) {\n var key = String.fromCharCode(e.keyCode), toolName, o, matchesKey, found = [];\n var matchKey = function (toolKey) {\n return toolKey == key || toolKey == e.keyCode || toolKey == e.charCode;\n };\n for (toolName in tools) {\n o = $.extend({\n ctrl: false,\n alt: false,\n shift: false\n }, tools[toolName].options);\n matchesKey = $.isArray(o.key) ? $.grep(o.key, matchKey).length > 0 : matchKey(o.key);\n if (matchesKey && o.ctrl == e.ctrlKey && o.alt == e.altKey && o.shift == e.shiftKey) {\n found.push(tools[toolName]);\n }\n }\n return found;\n },\n isTypingKey: function (e) {\n var keyCode = e.keyCode;\n return this.isCharacter(keyCode) && !e.ctrlKey && !e.altKey || keyCode == 32 || keyCode == 13 || keyCode == 8 || keyCode == 46 && !e.shiftKey && !e.ctrlKey && !e.altKey;\n },\n isModifierKey: function (e) {\n var keyCode = e.keyCode;\n return keyCode == 17 && !e.shiftKey && !e.altKey || keyCode == 16 && !e.ctrlKey && !e.altKey || keyCode == 18 && !e.ctrlKey && !e.shiftKey;\n },\n isSystem: function (e) {\n return e.keyCode == 46 && e.ctrlKey && !e.altKey && !e.shiftKey;\n },\n startTyping: function (callback) {\n this.onEndTyping = callback;\n this.typingInProgress = true;\n },\n stopTyping: function () {\n if (this.typingInProgress && this.onEndTyping) {\n this.onEndTyping();\n }\n this.typingInProgress = false;\n },\n endTyping: function (force) {\n var that = this;\n that.clearTimeout();\n if (force) {\n that.stopTyping();\n } else {\n that.timeout = window.setTimeout($.proxy(that.stopTyping, that), 1000);\n }\n },\n isTypingInProgress: function () {\n return this.typingInProgress;\n },\n clearTimeout: function () {\n window.clearTimeout(this.timeout);\n },\n notify: function (e, what) {\n var i, handlers = this.handlers;\n for (i = 0; i < handlers.length; i++) {\n if (handlers[i][what](e)) {\n break;\n }\n }\n },\n keydown: function (e) {\n this.notify(e, 'keydown');\n },\n keyup: function (e) {\n this.notify(e, 'keyup');\n }\n });\n extend(editorNS, {\n TypingHandler: TypingHandler,\n SystemHandler: SystemHandler,\n BackspaceHandler: BackspaceHandler,\n SelectAllHandler: SelectAllHandler,\n Keyboard: Keyboard\n });\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/exportpdf', ['editor/command'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, editorNS = kendo.ui.editor, Command = editorNS.Command, EditorUtils = editorNS.EditorUtils, registerTool = EditorUtils.registerTool, Tool = editorNS.Tool, ToolTemplate = editorNS.ToolTemplate, extend = $.extend;\n var ExportPdfCommand = Command.extend({\n init: function (options) {\n this.async = true;\n Command.fn.init.call(this, options);\n },\n exec: function () {\n var that = this;\n var range = that.lockRange(true);\n var editor = that.editor;\n editor._destroyResizings();\n editor.saveAsPDF().then(function () {\n that.releaseRange(range);\n editor._initializeColumnResizing();\n editor._initializeRowResizing();\n editor._initializeTableResizing();\n });\n }\n });\n extend(editorNS, { ExportPdfCommand: ExportPdfCommand });\n registerTool('pdf', new Tool({\n command: ExportPdfCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Export PDF'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/print', ['editor/command'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, editorNS = kendo.ui.editor, Command = editorNS.Command, EditorUtils = editorNS.EditorUtils, registerTool = EditorUtils.registerTool, Tool = editorNS.Tool, ToolTemplate = editorNS.ToolTemplate, extend = $.extend;\n var PrintCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n this.managesUndoRedo = true;\n },\n exec: function () {\n var editor = this.editor;\n if (kendo.support.browser.msie) {\n editor.document.execCommand('print', false, null);\n } else if (editor.window.print) {\n editor.window.print();\n }\n }\n });\n extend(editorNS, { PrintCommand: PrintCommand });\n registerTool('print', new Tool({\n command: PrintCommand,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Print'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/plugins/formatpainter', ['editor/command'], f);\n}(function () {\n (function ($) {\n var kendo = window.kendo, Editor = kendo.ui.editor, Tool = Editor.Tool, Command = Editor.Command, ToolTemplate = Editor.ToolTemplate, EditorUtils = Editor.EditorUtils, dom = Editor.Dom, RangeUtils = Editor.RangeUtils, registerTool = EditorUtils.registerTool;\n var CopyFormatCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n },\n exec: function () {\n var range = this.lockRange(true);\n this.inlineStyles = [];\n this.blockStyles = [];\n this.collectStyles(range);\n this.editor.inlineStyles = this.inlineStyles;\n this.editor.blockStyles = this.blockStyles;\n this.releaseRange(range);\n },\n collectStyles: function (range) {\n var rangeNodes = RangeUtils.nodes(range);\n var node;\n if (rangeNodes.length === 1) {\n node = rangeNodes[0].parentNode;\n } else {\n node = range.startContainer;\n }\n while (node && !dom.is(node, 'body') && node.getAttribute('data-role') !== 'editor') {\n if (dom.isBlock(node)) {\n this.populateStyles(node, 'blockStyles');\n if (dom.is(node, 'li')) {\n node = node.parentNode;\n } else {\n node = null;\n }\n } else {\n this.populateStyles(node, 'inlineStyles');\n node = node.parentNode;\n }\n }\n },\n populateStyles: function (node, destination) {\n var styles = node.style;\n var attributes = node.attributes;\n var nodeStyles = {\n tags: [node.tagName],\n attr: { style: {} }\n };\n var styleValue, styleKey, attributeKey, attributeValue, i;\n for (i = 0; styles && i < styles.length; i++) {\n styleKey = styles[i];\n styleValue = styles[styleKey];\n nodeStyles.attr.style[styleKey] = styleValue;\n }\n for (i = 0; attributes && i < attributes.length; i++) {\n attributeKey = attributes[i].nodeName;\n attributeValue = attributes[i].nodeValue;\n if (attributeKey === 'style') {\n continue;\n } else if (attributeKey === 'class') {\n nodeStyles.attr.className = attributeValue;\n } else {\n nodeStyles.attr[attributeKey] = attributeValue;\n }\n }\n this[destination].push(nodeStyles);\n }\n });\n var ApplyFormatCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n },\n exec: function () {\n var range = this.lockRange(true);\n var markers = RangeUtils.getMarkers(range);\n var editor = this.editor;\n var inlineStyles = editor.inlineStyles;\n var blockStyles = editor.blockStyles;\n var nodes;\n if ((!inlineStyles || inlineStyles.length === 0) && (!blockStyles || blockStyles.length === 0)) {\n return;\n }\n if (markers.length === 3) {\n this.marker.removeCaret(range);\n this.marker.caret = null;\n }\n this.removeEmptyElementsFromRange(range);\n nodes = RangeUtils.nodes(range);\n this.cleanInlineParents(nodes);\n dom.normalize(range.commonAncestorContainer);\n if (markers.length === 2) {\n range.setStartAfter(markers[0]);\n range.setEndBefore(markers[1]);\n } else {\n range.setStartBefore(nodes[0]);\n range.setEndAfter(nodes[0]);\n }\n nodes = RangeUtils.nodes(range);\n if (nodes && blockStyles && blockStyles.length) {\n this.applyBlockStyles(nodes, blockStyles);\n }\n if (nodes && inlineStyles && inlineStyles.length) {\n this.applyInlineStyles(nodes, inlineStyles);\n }\n this.releaseRange(range);\n },\n removeEmptyElementsFromRange: function (range) {\n var isEmptyInline = function (node) {\n return dom.isInline(node) && !node.firstChild && !dom.isMarker(node);\n };\n var emptyElements, i;\n emptyElements = RangeUtils.getAll(range, isEmptyInline);\n if (emptyElements && emptyElements.length > 0) {\n for (i = 0; i < emptyElements.length; i++) {\n emptyElements[i].parentNode.removeChild(emptyElements[i]);\n }\n }\n },\n cleanInlineParents: function (nodes) {\n var i, node, parent, children, j, child, newNode;\n for (i = 0; i < nodes.length; i++) {\n node = nodes[i];\n parent = node.parentNode;\n if (this.immutableParent(node)) {\n continue;\n }\n while (parent && dom.isInline(parent)) {\n children = parent.childNodes;\n for (j = 0; j < children.length; j++) {\n child = children[j];\n if (!dom.isMarker(child) && child !== node) {\n newNode = parent.cloneNode(true);\n newNode.innerHTML = '';\n dom.wrap(child, newNode);\n }\n }\n dom.unwrap(parent);\n parent = node.parentNode;\n }\n }\n },\n applyBlockStyles: function (nodes, blockStyles) {\n var formatTag = blockStyles[0].tags[0];\n var attr = blockStyles[0].attr;\n var document = this.editor.document;\n var i, len, node, wrapper, blockParent, outerWrapper;\n var previousNodes, nextNodes, previous, next, prevWrapper, nextWrapper, child, j, listItems;\n for (i = 0, len = nodes.length; i < len; i++) {\n node = nodes[i];\n if (dom.isWhitespace(node) || this.immutableParent(node)) {\n continue;\n }\n blockParent = dom.blockParentOrBody(node);\n if (blockParent.tagName !== 'BODY' && blockParent.tagName !== formatTag) {\n if (blockParent.tagName !== 'LI' && blockParent.tagName !== 'TD' && blockParent.tagName !== 'TH') {\n previousNodes = [];\n nextNodes = [];\n previous = node.previousSibling;\n next = node.nextSibling;\n while (previous) {\n if (!dom.isMarker(previous)) {\n previousNodes.push(previous);\n }\n previous = previous.previousSibling;\n }\n if (previousNodes.length) {\n prevWrapper = blockParent.cloneNode(true);\n prevWrapper.innerHTML = '';\n dom.insertBefore(prevWrapper, previousNodes[0]);\n for (j = 0; j < previousNodes.length; j++) {\n child = previousNodes[j];\n dom.insertAt(prevWrapper, child, 0);\n }\n }\n while (next) {\n if (!dom.isMarker(next)) {\n nextNodes.push(next);\n }\n next = next.nextSibling;\n }\n if (nextNodes.length) {\n nextWrapper = blockParent.cloneNode(true);\n nextWrapper.innerHTML = '';\n dom.insertBefore(nextWrapper, nextNodes[0]);\n for (j = 0; j < nextNodes.length; j++) {\n child = nextNodes[j];\n nextWrapper.appendChild(child);\n }\n }\n dom.unwrap(blockParent);\n }\n wrapper = dom.create(document, formatTag, attr);\n dom.wrap(node, wrapper);\n } else if (blockParent.tagName === formatTag) {\n dom.attr(blockParent, attr);\n }\n }\n if (blockStyles.length === 2 && blockParent.tagName !== 'LI' && formatTag === 'LI') {\n listItems = [];\n while (dom.is(wrapper, 'li')) {\n listItems.push(wrapper);\n wrapper = dom.prev(wrapper);\n }\n outerWrapper = dom.create(document, blockStyles[1].tags[0], blockStyles[1].attr);\n dom.insertBefore(outerWrapper, listItems[listItems.length - 1]);\n outerWrapper.appendChild(listItems[0]);\n for (i = 1, len = listItems.length; i < len; i++) {\n dom.insertBefore(listItems[i], outerWrapper.firstChild);\n }\n } else if (blockStyles.length === 2 && blockParent.tagName !== 'LI') {\n outerWrapper = dom.create(document, blockStyles[1].tags[0], blockStyles[1].attr);\n dom.wrap(wrapper, outerWrapper);\n }\n },\n applyInlineStyles: function (nodes, inlineStyles) {\n var document = this.editor.document;\n var currentStyle, createdNode, topNode, i, newNode, node;\n for (i = 0; i < inlineStyles.length; i++) {\n currentStyle = inlineStyles[i];\n createdNode = dom.create(document, currentStyle.tags[0], currentStyle.attr);\n if (topNode) {\n createdNode.appendChild(topNode);\n }\n topNode = createdNode;\n }\n if (topNode) {\n for (i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (dom.isWhitespace(node) || this.immutableParent(node)) {\n continue;\n }\n newNode = topNode.cloneNode(true);\n dom.insertBefore(newNode, node);\n while (newNode.children && newNode.children.length) {\n newNode = newNode.children[0];\n }\n newNode.appendChild(node);\n }\n }\n },\n immutables: function () {\n return this.editor && this.editor.options.immutables;\n },\n immutableParent: function (node) {\n return this.immutables() && Editor.Immutables.immutableParent(node);\n }\n });\n var CopyFormatTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n },\n command: function (commandArguments) {\n return new CopyFormatCommand(commandArguments);\n }\n });\n var ApplyFormatTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n },\n command: function (commandArguments) {\n return new ApplyFormatCommand(commandArguments);\n }\n });\n $.extend(Editor, {\n CopyFormatCommand: CopyFormatCommand,\n ApplyFormatCommand: ApplyFormatCommand,\n CopyFormatTool: CopyFormatTool,\n ApplyFormatTool: ApplyFormatTool\n });\n registerTool('copyFormat', new CopyFormatTool({\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Copy format'\n })\n }));\n registerTool('applyFormat', new ApplyFormatTool({\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Apply format'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/resizing/resizing-utils', ['editor/main'], f);\n}(function () {\n (function (kendo, undefined) {\n var global = window;\n var math = global.Math;\n var min = math.min;\n var max = math.max;\n var parseFloat = global.parseFloat;\n var $ = kendo.jQuery;\n var extend = $.extend;\n var Editor = kendo.ui.editor;\n var PERCENTAGE = '%';\n var PIXEL = 'px';\n var REGEX_NUMBER_IN_PERCENTAGES = /(\\d+)(\\.?)(\\d*)%/;\n var REGEX_NUMBER_IN_PIXELS = /(\\d+)(\\.?)(\\d*)px/;\n var STRING = 'string';\n function constrain(options) {\n var value = options.value;\n var lowerBound = options.min;\n var upperBound = options.max;\n return max(min(parseFloat(value), parseFloat(upperBound)), parseFloat(lowerBound));\n }\n function getScrollBarWidth(element) {\n if (element && !$(element).is('body') && element.scrollHeight > element.clientHeight) {\n return kendo.support.scrollbar();\n }\n return 0;\n }\n function calculatePercentageRatio(value, total) {\n if (inPercentages(value)) {\n return parseFloat(value);\n } else {\n return parseFloat(value) / total * 100;\n }\n }\n function inPercentages(value) {\n return typeof value === STRING && REGEX_NUMBER_IN_PERCENTAGES.test(value);\n }\n function inPixels(value) {\n return typeof value === STRING && REGEX_NUMBER_IN_PIXELS.test(value);\n }\n function toPercentages(value) {\n return parseFloat(value) + PERCENTAGE;\n }\n function toPixels(value) {\n return parseFloat(value) + PIXEL;\n }\n var ResizingUtils = {\n constrain: constrain,\n getScrollBarWidth: getScrollBarWidth,\n calculatePercentageRatio: calculatePercentageRatio,\n inPercentages: inPercentages,\n inPixels: inPixels,\n toPercentages: toPercentages,\n toPixels: toPixels\n };\n extend(Editor, { ResizingUtils: ResizingUtils });\n }(window.kendo));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/resizing/table-element-resizing', [\n 'editor/main',\n 'kendo.resizable',\n 'editor/resizing/resizing-utils'\n ], f);\n}(function () {\n (function (kendo, undefined) {\n var $ = kendo.jQuery;\n var extend = $.extend;\n var noop = $.noop;\n var proxy = $.proxy;\n var Editor = kendo.ui.editor;\n var Class = kendo.Class;\n var KEY_DOWN = 'keydown';\n var MOUSE_DOWN = 'mousedown';\n var MOUSE_ENTER = 'mouseenter';\n var MOUSE_LEAVE = 'mouseleave';\n var MOUSE_MOVE = 'mousemove';\n var MOUSE_UP = 'mouseup';\n var COMMA = ',';\n var DOT = '.';\n var LAST_CHILD = ':last-child';\n var TABLE = 'table';\n var TableElementResizing = Class.extend({\n init: function (element, options) {\n var that = this;\n that.options = extend({}, that.options, options);\n that.options.tags = $.isArray(that.options.tags) ? that.options.tags : [that.options.tags];\n if ($(element).is(TABLE)) {\n that.element = element;\n that._attachEventHandlers();\n }\n },\n destroy: function () {\n var that = this;\n var eventNamespace = that.options.eventNamespace;\n if (that.element) {\n $(that.element).off(eventNamespace);\n that.element = null;\n }\n $(that.options.rootElement).off(KEY_DOWN + eventNamespace);\n that._destroyResizeHandle();\n },\n options: {\n tags: [],\n min: 0,\n rootElement: null,\n eventNamespace: '',\n rtl: false,\n handle: {\n dataAttribute: '',\n height: 0,\n width: 0,\n classNames: {},\n template: ''\n }\n },\n _attachEventHandlers: function () {\n var that = this;\n var options = that.options;\n $(that.element).on(MOUSE_MOVE + options.eventNamespace, options.tags.join(COMMA), proxy(that.detectElementBorderHovering, that));\n },\n resizingInProgress: function () {\n var that = this;\n var resizable = that._resizable;\n if (resizable) {\n return !!resizable.resizing;\n }\n return false;\n },\n resize: noop,\n detectElementBorderHovering: function (e) {\n var that = this;\n var options = that.options;\n var handleOptions = options.handle;\n var tableElement = $(e.currentTarget);\n var resizeHandle = that.resizeHandle;\n var dataAttribute = handleOptions.dataAttribute;\n if (!that.resizingInProgress()) {\n if (!tableElement.is(LAST_CHILD) && that.elementBorderHovered(tableElement, e)) {\n if (resizeHandle) {\n if (resizeHandle.data(dataAttribute) && resizeHandle.data(dataAttribute) !== tableElement[0]) {\n that.showResizeHandle(tableElement, e);\n }\n } else {\n that.showResizeHandle(tableElement, e);\n }\n } else {\n if (resizeHandle) {\n that._destroyResizeHandle();\n }\n }\n }\n },\n elementBorderHovered: noop,\n showResizeHandle: function (tableElement, e) {\n var that = this;\n if (e.buttons !== 0) {\n return;\n }\n that._initResizeHandle();\n that.setResizeHandlePosition(tableElement);\n that.setResizeHandleDimensions();\n that.setResizeHandleDataAttributes(tableElement[0]);\n that._attachResizeHandleEventHandlers();\n that._initResizable(tableElement);\n that._hideResizeMarker();\n that.resizeHandle.show();\n },\n _initResizeHandle: function () {\n var that = this;\n var options = that.options;\n that._destroyResizeHandle();\n that.resizeHandle = $(options.handle.template).appendTo(options.rootElement);\n },\n setResizeHandlePosition: noop,\n setResizeHandleDimensions: noop,\n setResizeHandleDataAttributes: function (tableElement) {\n var that = this;\n that.resizeHandle.data(that.options.handle.dataAttribute, tableElement);\n },\n _attachResizeHandleEventHandlers: function () {\n var that = this;\n var options = that.options;\n var eventNamespace = options.eventNamespace;\n var markerClass = options.handle.classNames.marker;\n var resizeHandle = that.resizeHandle;\n that.resizeHandle.on(MOUSE_DOWN + eventNamespace, function () {\n resizeHandle.find(DOT + markerClass).show();\n }).on(MOUSE_UP + eventNamespace, function () {\n resizeHandle.find(DOT + markerClass).hide();\n });\n },\n _hideResizeMarker: function () {\n var that = this;\n that.resizeHandle.find(DOT + that.options.handle.classNames.marker).hide();\n },\n _destroyResizeHandle: function () {\n var that = this;\n if (that.resizeHandle) {\n that._destroyResizable();\n that.resizeHandle.off(that.options.eventNamespace).remove();\n that.resizeHandle = null;\n }\n },\n _initResizable: function (tableElement) {\n var that = this;\n if (!that.resizeHandle) {\n return;\n }\n that._destroyResizable();\n that._resizable = new kendo.ui.Resizable(tableElement, {\n draggableElement: that.resizeHandle[0],\n start: proxy(that.onResizeStart, that),\n resize: proxy(that.onResize, that),\n resizeend: proxy(that.onResizeEnd, that)\n });\n },\n _destroyResizable: function () {\n var that = this;\n if (that._resizable) {\n that._resizable.destroy();\n that._resizable = null;\n }\n },\n onResizeStart: function () {\n this._disableKeyboard();\n },\n onResize: function (e) {\n this.setResizeHandleDragPosition(e);\n },\n setResizeHandleDragPosition: noop,\n onResizeEnd: function (e) {\n var that = this;\n that.resize(e);\n that._destroyResizeHandle();\n that._enableKeyboard();\n },\n _enableKeyboard: function () {\n var options = this.options;\n $(options.rootElement).off(KEY_DOWN + options.eventNamespace);\n },\n _disableKeyboard: function () {\n var options = this.options;\n $(options.rootElement).on(KEY_DOWN + options.eventNamespace, function (e) {\n e.preventDefault();\n });\n },\n _forceResizing: function (e) {\n var resizable = this._resizable;\n if (resizable && resizable.userEvents) {\n resizable.userEvents._end(e);\n }\n }\n });\n var ResizingFactory = Class.extend({\n create: function (editor, options) {\n var that = this;\n var resizingName = options.name;\n var NS = options.eventNamespace;\n $(editor.body).on(MOUSE_ENTER + NS, TABLE, function (e) {\n var table = e.currentTarget;\n var resizing = editor[resizingName];\n e.stopPropagation();\n if (resizing) {\n if (resizing.element !== table && !resizing.resizingInProgress()) {\n that._destroyResizing(editor, options);\n that._initResizing(editor, table, options);\n }\n } else {\n that._initResizing(editor, table, options);\n }\n }).on(MOUSE_LEAVE + NS, TABLE, function (e) {\n var parentTable;\n var resizing = editor[resizingName];\n e.stopPropagation();\n if (resizing && !resizing.resizingInProgress() && !resizing.resizeHandle) {\n parentTable = $(resizing.element).parents(TABLE)[0];\n if (parentTable) {\n that._destroyResizing(editor, options);\n that._initResizing(editor, parentTable, options);\n }\n }\n }).on(MOUSE_LEAVE + NS, function () {\n var resizing = editor[resizingName];\n if (resizing && !resizing.resizingInProgress()) {\n that._destroyResizing(editor, options);\n }\n }).on(MOUSE_UP + NS, function (e) {\n var resizing = editor[resizingName];\n var parentTable;\n if (resizing && resizing.resizingInProgress()) {\n parentTable = $(e.target).parents(TABLE)[0];\n if (parentTable) {\n resizing._forceResizing(e);\n that._destroyResizing(editor, options);\n that._initResizing(editor, parentTable, options);\n }\n }\n });\n },\n dispose: function (editor, options) {\n $(editor.body).off(options.eventNamespace);\n },\n _initResizing: function (editor, tableElement, options) {\n var resizingName = options.name;\n var resizingType = options.type;\n editor[resizingName] = new resizingType(tableElement, {\n rtl: kendo.support.isRtl(editor.element),\n rootElement: editor.body\n });\n },\n _destroyResizing: function (editor, options) {\n var resizingName = options.name;\n if (editor[resizingName]) {\n editor[resizingName].destroy();\n editor[resizingName] = null;\n }\n }\n });\n ResizingFactory.current = new ResizingFactory();\n TableElementResizing.create = function (editor, options) {\n ResizingFactory.current.create(editor, options);\n };\n TableElementResizing.dispose = function (editor, options) {\n ResizingFactory.current.dispose(editor, options);\n };\n extend(Editor, { TableElementResizing: TableElementResizing });\n }(window.kendo));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/resizing/column-resizing', [\n 'editor/main',\n 'editor/resizing/resizing-utils',\n 'editor/resizing/table-element-resizing',\n 'editor/dom'\n ], f);\n}(function () {\n (function (kendo, undefined) {\n var global = window;\n var math = global.Math;\n var abs = math.abs;\n var $ = kendo.jQuery;\n var extend = $.extend;\n var Editor = kendo.ui.editor;\n var dom = Editor.Dom;\n var TableElementResizing = Editor.TableElementResizing;\n var ResizingUtils = Editor.ResizingUtils;\n var constrain = ResizingUtils.constrain;\n var calculatePercentageRatio = ResizingUtils.calculatePercentageRatio;\n var getScrollBarWidth = ResizingUtils.getScrollBarWidth;\n var inPercentages = ResizingUtils.inPercentages;\n var toPercentages = ResizingUtils.toPercentages;\n var toPixels = ResizingUtils.toPixels;\n var outerWidth = kendo._outerWidth;\n var NS = '.kendoEditorColumnResizing';\n var RESIZE_HANDLE_CLASS = 'k-column-resize-handle';\n var RESIZE_MARKER_CLASS = 'k-column-resize-marker';\n var BODY = 'body';\n var TBODY = 'tbody';\n var THEAD = 'thead';\n var TD = 'td';\n var TH = 'th';\n var TR = 'tr';\n var COLATTR = 'col-index';\n var COMMA = ',';\n var WIDTH = 'width';\n var ColumnResizing = TableElementResizing.extend({\n options: {\n tags: [\n TD,\n TH\n ],\n min: 20,\n rootElement: null,\n eventNamespace: NS,\n rtl: false,\n handle: {\n dataAttribute: 'column',\n width: 10,\n height: 0,\n classNames: {\n handle: RESIZE_HANDLE_CLASS,\n marker: RESIZE_MARKER_CLASS\n },\n template: '
    ' + '
    ' + '
    ' + '
    ' + '
    '\n }\n },\n elementBorderHovered: function (column, e) {\n var that = this;\n var options = that.options;\n var handleWidth = options.handle.width;\n var borderOffset = column.offset().left + (options.rtl ? 0 : outerWidth(column));\n var mousePosition = e.clientX + $(column[0].ownerDocument).scrollLeft();\n if (mousePosition > borderOffset - handleWidth && mousePosition < borderOffset + handleWidth) {\n return true;\n } else {\n return false;\n }\n },\n setResizeHandlePosition: function (column) {\n var that = this;\n var tableInnerElement = $(that.element.tHead || that.element.tBodies[0]);\n var options = that.options;\n var rtl = options.rtl;\n var handleWidth = options.handle.width;\n var rootElement = $(options.rootElement);\n var scrollTopOffset = rootElement.is(BODY) ? 0 : rootElement.scrollTop();\n var scrollLeftOffset = rootElement.is(BODY) ? 0 : rootElement.scrollLeft();\n var columnWidthOffset = rtl ? 0 : outerWidth(column);\n var scrollBarWidth = rtl ? getScrollBarWidth(rootElement[0]) : 0;\n var columnOffsetLeft = column.offset().left - (rootElement.offset().left + parseFloat(rootElement.css('borderLeftWidth'))) - parseFloat(column.css('marginLeft'));\n var innerElementOffsetTop = tableInnerElement.offset().top - (rootElement.offset().top + parseFloat(rootElement.css('borderTopWidth'))) - parseFloat(tableInnerElement.css('marginTop'));\n that.resizeHandle.css({\n top: innerElementOffsetTop + scrollTopOffset,\n left: columnOffsetLeft + columnWidthOffset + (scrollLeftOffset - scrollBarWidth) - handleWidth / 2,\n position: 'absolute'\n });\n },\n setResizeHandleDimensions: function () {\n var that = this;\n var tableHead = $(that.element).children(THEAD);\n var tableBody = $(that.element).children(TBODY);\n var fullHeight = tableHead.length > 0 ? tableHead.height() + tableBody.height() : tableBody.height();\n that.resizeHandle.css({\n width: that.options.handle.width,\n height: fullHeight\n });\n },\n setResizeHandleDragPosition: function (e) {\n var that = this;\n var column = $($(e.currentTarget).data(that.options.handle.dataAttribute));\n var options = that.options;\n var rootElement = $(options.rootElement);\n var handleWidth = options.handle ? options.handle.width : 0;\n var min = options.min;\n var rtl = options.rtl;\n var columnWidth = outerWidth(column);\n var columnLeftOffset = column.offset().left - (rootElement.offset().left + parseFloat(rootElement.css('borderLeftWidth'))) - parseFloat(column.css('marginLeft'));\n var adjacentColumnWidth = outerWidth(column.next());\n var resizeHandle = $(that.resizeHandle);\n var scrollLeftOffset = rootElement.is(BODY) ? 0 : rootElement.scrollLeft();\n var scrollBarWidth = rtl ? getScrollBarWidth(rootElement[0]) : 0;\n var resizeHandleOffsetLeft = resizeHandle.offset().left - (rootElement.offset().left + parseFloat(rootElement.css('borderLeftWidth'))) - parseFloat(resizeHandle.css('marginLeft'));\n var handleOffset = constrain({\n value: resizeHandleOffsetLeft + (scrollLeftOffset - scrollBarWidth) + e.x.delta,\n min: columnLeftOffset + (scrollLeftOffset - scrollBarWidth) - (rtl ? adjacentColumnWidth : 0) + min,\n max: columnLeftOffset + columnWidth + (scrollLeftOffset - scrollBarWidth) + (rtl ? 0 : adjacentColumnWidth) - handleWidth - min\n });\n resizeHandle.css({ left: handleOffset });\n },\n resize: function (e) {\n var that = this;\n var column = $($(e.currentTarget).data(that.options.handle.dataAttribute));\n var options = that.options;\n var rtlModifier = options.rtl ? -1 : 1;\n var min = options.min;\n var initialDeltaX = rtlModifier * e.x.initialDelta;\n var newWidth;\n var initialAdjacentColumnWidth;\n var initialColumnWidth;\n var colIndex;\n var nextColumn;\n dom.reMapTableColumns(that.element, COLATTR);\n colIndex = parseInt(column.attr(COLATTR), 10);\n if (column.prop('colSpan') > 1) {\n column = $(that.element).find('[' + COLATTR + '=' + (colIndex + column.prop('colSpan') - 1) + ']').eq(0);\n colIndex = parseInt(column.attr(COLATTR), 10);\n }\n nextColumn = $(that.element).find('[' + COLATTR + '=' + (colIndex + 1) + ']:not([colspan])');\n that._setTableComputedWidth();\n that._setColumnsComputedWidth();\n initialColumnWidth = outerWidth(column);\n initialAdjacentColumnWidth = outerWidth(nextColumn);\n newWidth = constrain({\n value: initialColumnWidth + initialDeltaX,\n min: min,\n max: initialColumnWidth + initialAdjacentColumnWidth - min\n });\n that._resizeColumn(column[0], newWidth);\n that._resizeTopAndBottomColumns(column[0], newWidth);\n that._resizeAdjacentColumns(parseInt(column.attr(COLATTR), 10), initialAdjacentColumnWidth, initialColumnWidth, initialColumnWidth - newWidth);\n dom.clearTableMappings(that.element, COLATTR);\n },\n _setTableComputedWidth: function () {\n var element = this.element;\n if (element.style[WIDTH] === '') {\n element.style[WIDTH] = toPixels(outerWidth($(element)));\n }\n },\n _setColumnsComputedWidth: function () {\n var that = this;\n var tableInnerElement = $(that.element.tHead || that.element.tBodies[0]);\n var innerElementWidth = outerWidth(tableInnerElement);\n var columns = tableInnerElement.children(TR).children(TD);\n var length = columns.length;\n var currentColumnsWidths = columns.map(function () {\n return outerWidth($(this));\n });\n var i;\n for (i = 0; i < length; i++) {\n if (inPercentages(columns[i].style[WIDTH])) {\n columns[i].style[WIDTH] = toPercentages(calculatePercentageRatio(currentColumnsWidths[i], innerElementWidth));\n } else {\n columns[i].style[WIDTH] = toPixels(currentColumnsWidths[i]);\n }\n }\n },\n _resizeTopAndBottomColumns: function (column, newWidth) {\n var that = this;\n var columnIndex = $(column).attr(COLATTR);\n var topAndBottomColumns = $(that.element).children(TBODY + COMMA + THEAD).children(TR).children(that.options.tags.join(COMMA)).filter(function () {\n var cell = this;\n return $(cell).attr(COLATTR) === columnIndex && cell !== column;\n });\n var length = topAndBottomColumns.length;\n var i;\n for (i = 0; i < length; i++) {\n that._resizeColumn(topAndBottomColumns[i], newWidth);\n }\n },\n _resizeColumn: function (column, newWidth) {\n var innerTableElement = $(this.element.tHead || this.element.tBodies[0]);\n if (inPercentages(column.style[WIDTH])) {\n column.style[WIDTH] = toPercentages(calculatePercentageRatio(newWidth, outerWidth(innerTableElement)));\n } else {\n column.style[WIDTH] = toPixels(newWidth);\n }\n },\n _resizeAdjacentColumns: function (columnIndex, initialAdjacentColumnWidth, initialColumnWidth, deltaWidth) {\n var that = this;\n var adjacentColumns = $(that.element).children(TBODY + COMMA + THEAD).children(TR).children(that.options.tags.join(COMMA)).filter(function () {\n return parseInt($(this).attr(COLATTR), 10) === columnIndex + 1;\n });\n var length = adjacentColumns.length;\n var i;\n for (i = 0; i < length; i++) {\n that._resizeAdjacentColumn(adjacentColumns[i], initialAdjacentColumnWidth, initialColumnWidth, deltaWidth);\n }\n },\n _resizeAdjacentColumn: function (adjacentColumn, initialAdjacentColumnWidth, initialColumnWidth, deltaWidth) {\n var that = this;\n var min = that.options.min;\n var newWidth;\n newWidth = constrain({\n value: initialAdjacentColumnWidth + deltaWidth,\n min: min,\n max: abs(initialColumnWidth + initialAdjacentColumnWidth - min)\n });\n that._resizeColumn(adjacentColumn, newWidth);\n }\n });\n ColumnResizing.create = function (editor) {\n TableElementResizing.create(editor, {\n name: 'columnResizing',\n type: ColumnResizing,\n eventNamespace: NS\n });\n };\n ColumnResizing.dispose = function (editor) {\n TableElementResizing.dispose(editor, { eventNamespace: NS });\n };\n extend(Editor, { ColumnResizing: ColumnResizing });\n }(window.kendo));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/resizing/row-resizing', [\n 'editor/main',\n 'editor/resizing/resizing-utils',\n 'editor/resizing/table-element-resizing'\n ], f);\n}(function () {\n (function (kendo, undefined) {\n var math = window.Math;\n var abs = math.abs;\n var $ = kendo.jQuery;\n var extend = $.extend;\n var Editor = kendo.ui.editor;\n var TableElementResizing = Editor.TableElementResizing;\n var ResizingUtils = Editor.ResizingUtils;\n var getScrollBarWidth = ResizingUtils.getScrollBarWidth;\n var constrain = ResizingUtils.constrain;\n var calculatePercentageRatio = ResizingUtils.calculatePercentageRatio;\n var inPercentages = ResizingUtils.inPercentages;\n var toPercentages = ResizingUtils.toPercentages;\n var toPixels = ResizingUtils.toPixels;\n var outerHeight = kendo._outerHeight;\n var NS = '.kendoEditorRowResizing';\n var RESIZE_HANDLE_CLASS = 'k-row-resize-handle';\n var RESIZE_HANDLE_MARKER_WRAPPER_CLASS = 'k-row-resize-marker-wrapper';\n var RESIZE_MARKER_CLASS = 'k-row-resize-marker';\n var BODY = 'body';\n var TR = 'tr';\n var TBODY = 'tbody';\n var THEAD = 'thead';\n var COMMA = ',';\n var HEIGHT = 'height';\n var RowResizing = TableElementResizing.extend({\n options: {\n tags: [TR],\n min: 20,\n rootElement: null,\n eventNamespace: NS,\n rtl: false,\n handle: {\n dataAttribute: 'row',\n width: 0,\n height: 10,\n classNames: {\n handle: RESIZE_HANDLE_CLASS,\n marker: RESIZE_MARKER_CLASS\n },\n template: '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + '
    '\n }\n },\n elementBorderHovered: function (tableElement, e) {\n var that = this;\n var handleHeight = that.options.handle[HEIGHT];\n var borderOffset = tableElement.offset().top + outerHeight(tableElement);\n var mousePosition = e.clientY + $(tableElement[0].ownerDocument).scrollTop();\n if (mousePosition > borderOffset - handleHeight && mousePosition < borderOffset + handleHeight) {\n return true;\n } else {\n return false;\n }\n },\n setResizeHandlePosition: function (row) {\n var that = this;\n var options = that.options;\n var handleHeight = options.handle[HEIGHT];\n var rootElement = $(options.rootElement);\n var scrollTopOffset = rootElement.is(BODY) ? 0 : rootElement.scrollTop();\n var scrollLeftOffset = rootElement.is(BODY) ? 0 : rootElement.scrollLeft();\n var scrollBarWidth = options.rtl ? getScrollBarWidth(rootElement[0]) : 0;\n var rowOffsetLeft = row.offset().left - (rootElement.offset().left + parseFloat(rootElement.css('borderLeftWidth'))) - parseFloat(row.css('marginLeft'));\n var rowOffsetTop = row.offset().top - (rootElement.offset().top + parseFloat(rootElement.css('borderTopWidth'))) - parseFloat(row.css('marginTop'));\n that.resizeHandle.css({\n top: rowOffsetTop + outerHeight(row) + scrollTopOffset - handleHeight / 2,\n left: rowOffsetLeft + (scrollLeftOffset - scrollBarWidth),\n position: 'absolute'\n });\n },\n setResizeHandleDimensions: function () {\n var that = this;\n var innerTableElement = $(that.element.tHead || that.element.tBodies[0]);\n that.resizeHandle.css({\n width: innerTableElement.width(),\n height: that.options.handle[HEIGHT]\n });\n },\n setResizeHandleDragPosition: function (e) {\n var that = this;\n var options = that.options;\n var min = options.min;\n var tableHead = $(that.element).children(THEAD);\n var tableBody = $(that.element).children(TBODY);\n var topInnerTableElement = tableHead.length > 0 ? tableHead : tableBody;\n var resizeHandle = $(that.resizeHandle);\n var row = $(e.currentTarget).data(options.handle.dataAttribute);\n var $row = $(row);\n var rootElement = $(options.rootElement);\n var scrollTopOffset = rootElement.is(BODY) ? 0 : rootElement.scrollTop();\n var tableTopOffset = topInnerTableElement.offset().top - (rootElement.offset().top + parseFloat(rootElement.css('borderTopWidth'))) - parseFloat(topInnerTableElement.css('marginTop'));\n var rowOffsetTop = $row.offset().top - (rootElement.offset().top + parseFloat(rootElement.css('borderTopWidth'))) - parseFloat($row.css('marginTop'));\n var resizeHandleOffsetTop = resizeHandle.offset().top - (Math.max(0, rootElement.offset().top) + parseFloat(rootElement.css('borderTopWidth'))) - parseFloat(resizeHandle.css('marginTop'));\n var handleOffset = constrain({\n value: resizeHandleOffsetTop + scrollTopOffset + e.y.delta,\n min: rowOffsetTop + scrollTopOffset + min,\n max: tableTopOffset + outerHeight(tableHead) + outerHeight(tableBody) + scrollTopOffset - options.handle[HEIGHT] - min\n });\n resizeHandle.css({ top: handleOffset });\n },\n resize: function (e) {\n var that = this;\n var options = that.options;\n var row = $(e.currentTarget).data(options.handle.dataAttribute);\n var currentRowHeight = outerHeight($(row));\n var element = $(that.element);\n var initialTableHeight = outerHeight(element);\n var tableHead = element.children(THEAD);\n var tableHeadHeight = tableHead.length > 0 ? tableHead.height() : 0;\n var tableBody = element.children(TBODY);\n var tableBodyHeight = tableBody.height();\n var initialStyleHeight = row.style[HEIGHT];\n var newRowHeight = constrain({\n value: currentRowHeight + e.y.initialDelta,\n min: options.min,\n max: abs(tableHeadHeight + tableBodyHeight - options.min)\n });\n that._setRowsHeightInPixels();\n row.style[HEIGHT] = toPixels(newRowHeight);\n that._setTableHeight(initialTableHeight + (newRowHeight - currentRowHeight));\n if (inPercentages(initialStyleHeight)) {\n that._setRowsHeightInPercentages();\n }\n },\n _setRowsHeightInPixels: function () {\n var that = this;\n var rows = $(that.element).children(TBODY + COMMA + THEAD).children(TR);\n var length = rows.length;\n var currentRowsHeights = rows.map(function () {\n return outerHeight($(this));\n });\n var i;\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPixels(currentRowsHeights[i]);\n }\n },\n _setRowsHeightInPercentages: function () {\n var that = this;\n var tableHead = $(that.element).children(THEAD);\n var tableHeadHeight = tableHead.length > 0 ? tableHead.height() : 0;\n var tableBody = $(that.element).children(TBODY);\n var tableBodyHeight = tableBody.height();\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(TR);\n var length = rows.length;\n var currentRowsHeights = rows.map(function () {\n return outerHeight($(this));\n });\n var i;\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPercentages(calculatePercentageRatio(currentRowsHeights[i], tableHeadHeight + tableBodyHeight));\n }\n },\n _setTableHeight: function (newHeight) {\n var element = this.element;\n if (inPercentages(element.style[HEIGHT])) {\n element.style[HEIGHT] = toPercentages(calculatePercentageRatio(newHeight, $(element).parent().height()));\n } else {\n element.style[HEIGHT] = toPixels(newHeight);\n }\n }\n });\n RowResizing.create = function (editor) {\n TableElementResizing.create(editor, {\n name: 'rowResizing',\n type: RowResizing,\n eventNamespace: NS\n });\n };\n RowResizing.dispose = function (editor) {\n TableElementResizing.dispose(editor, { eventNamespace: NS });\n };\n extend(Editor, { RowResizing: RowResizing });\n }(window.kendo));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/resizing/table-resize-handle', [\n 'editor/main',\n 'kendo.draganddrop',\n 'editor/resizing/resizing-utils'\n ], f);\n}(function () {\n (function (kendo, undefined) {\n var $ = kendo.jQuery;\n var extend = $.extend;\n var noop = $.noop;\n var proxy = $.proxy;\n var Editor = kendo.ui.editor;\n var Class = kendo.Class;\n var Draggable = kendo.ui.Draggable;\n var Observable = kendo.Observable;\n var getScrollBarWidth = Editor.ResizingUtils.getScrollBarWidth;\n var outerWidth = kendo._outerWidth;\n var outerHeight = kendo._outerHeight;\n var NS = '.kendoEditorTableResizeHandle';\n var RESIZE_HANDLE_CLASS = 'k-table-resize-handle';\n var DRAG_START = 'dragStart';\n var DRAG = 'drag';\n var DRAG_END = 'dragEnd';\n var HALF_INSIDE = 'halfInside';\n var MOUSE_OVER = 'mouseover';\n var MOUSE_OUT = 'mouseout';\n var BODY = 'body';\n var TABLE = 'table';\n var EAST = 'east';\n var NORTH = 'north';\n var NORTHEAST = 'northeast';\n var NORTHWEST = 'northwest';\n var SOUTH = 'south';\n var SOUTHEAST = 'southeast';\n var SOUTHWEST = 'southwest';\n var WEST = 'west';\n var DOT = '.';\n var TableResizeHandle = Observable.extend({\n init: function (options) {\n var that = this;\n Observable.fn.init.call(that);\n that.options = extend({}, that.options, options);\n that.element = $(that.options.template).appendTo(that.options.appendTo)[0];\n that._attachEventHandlers();\n that._addStyles();\n that._initDraggable();\n that._initPositioningStrategy();\n that._initDraggingStrategy();\n $(that.element).data(TABLE, that.options.resizableElement);\n },\n destroy: function () {\n var that = this;\n $(that.element).off(NS).remove();\n that.element = null;\n that._destroyDraggable();\n that.unbind();\n },\n options: {\n appendTo: null,\n direction: SOUTHEAST,\n resizableElement: null,\n rtl: false,\n template: '
    ' + '
    ' + '
    '\n },\n events: [\n DRAG_START,\n DRAG,\n DRAG_END,\n MOUSE_OVER,\n MOUSE_OUT\n ],\n show: function () {\n this._setPosition();\n },\n _setPosition: function () {\n var that = this;\n var position = that._positioningStrategy.getPosition();\n $(that.element).css({\n top: position.top,\n left: position.left,\n position: 'absolute'\n });\n },\n _attachEventHandlers: function () {\n var that = this;\n $(that.element).on(MOUSE_OVER + NS, proxy(that._onMouseOver, that)).on(MOUSE_OUT + NS, proxy(that._onMouseOut, that));\n },\n _onMouseOver: function () {\n this.trigger(MOUSE_OVER);\n },\n _onMouseOut: function () {\n this.trigger(MOUSE_OUT);\n },\n _addStyles: function () {\n var that = this;\n $(that.element).children(DOT + RESIZE_HANDLE_CLASS).addClass('k-resize-' + that.options.direction);\n },\n _initPositioningStrategy: function () {\n var that = this;\n var options = that.options;\n that._positioningStrategy = HandlePositioningStrategy.create({\n name: options.direction,\n handle: that.element,\n resizableElement: options.resizableElement,\n rootElement: options.rootElement,\n rtl: options.rtl\n });\n },\n _initDraggable: function () {\n var that = this;\n var element = that.element;\n if (that._draggable || !element) {\n return;\n }\n that._draggable = new Draggable(element, {\n dragstart: proxy(that._onDragStart, that),\n drag: proxy(that._onDrag, that),\n dragend: proxy(that._onDragEnd, that)\n });\n },\n _onDragStart: function () {\n this.trigger(DRAG_START);\n },\n _onDrag: function (e) {\n var that = this;\n that.trigger(DRAG, that._draggingStrategy.adjustDragDelta({\n deltaX: e.x.delta,\n deltaY: e.y.delta,\n initialDeltaX: e.x.initialDelta,\n initialDeltaY: e.y.initialDelta\n }));\n },\n _onDragEnd: function () {\n this.trigger(DRAG_END);\n },\n _destroyDraggable: function () {\n var that = this;\n if (that._draggable) {\n that._draggable.destroy();\n that._draggable = null;\n }\n },\n _initDraggingStrategy: function () {\n var that = this;\n that._draggingStrategy = HandleDraggingStrategy.create({ name: that.options.direction });\n }\n });\n var StrategyFactory = Class.extend({\n init: function () {\n this._items = [];\n },\n register: function (name, type) {\n this._items.push({\n name: name,\n type: type\n });\n },\n create: function (options) {\n var items = this._items;\n var itemsLength = items.length;\n var name = options.name ? options.name.toLowerCase() : '';\n var match;\n var item;\n var i;\n for (i = 0; i < itemsLength; i++) {\n item = items[i];\n if (item.name.toLowerCase() === name) {\n match = item;\n break;\n }\n }\n if (match) {\n return new match.type(options);\n }\n }\n });\n var PositioningStrategyFactory = StrategyFactory.extend({});\n PositioningStrategyFactory.current = new PositioningStrategyFactory();\n var HandlePositioningStrategy = Class.extend({\n init: function (options) {\n var that = this;\n that.options = extend({}, that.options, options);\n },\n options: {\n handle: null,\n offset: HALF_INSIDE,\n resizableElement: null,\n rootElement: null,\n rtl: false\n },\n getPosition: function () {\n var that = this;\n var position = that.calculatePosition();\n var handleOffsetPosition = that.applyHandleOffset(position);\n var scrollOffsetPosition = that.applyScrollOffset(handleOffsetPosition);\n return scrollOffsetPosition;\n },\n calculatePosition: noop,\n applyHandleOffset: function (position) {\n var options = this.options;\n var handle = $(options.handle);\n if (options.offset === HALF_INSIDE) {\n return {\n top: position.top - outerHeight(handle) / 2,\n left: position.left - outerWidth(handle) / 2\n };\n }\n return position;\n },\n applyScrollOffset: function (position) {\n var options = this.options;\n var rootElement = $(options.rootElement);\n var scrollBarWidth = options.rtl ? getScrollBarWidth(rootElement[0]) : 0;\n if (!rootElement.is(BODY)) {\n return {\n top: position.top + (rootElement.scrollTop() || 0),\n left: position.left + (rootElement.scrollLeft() || 0) - scrollBarWidth\n };\n }\n return position;\n }\n });\n HandlePositioningStrategy.create = function (options) {\n return PositioningStrategyFactory.current.create(options);\n };\n var EastPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top + outerHeight(resizableElement) / 2,\n left: offset.left + outerWidth(resizableElement)\n };\n }\n });\n PositioningStrategyFactory.current.register(EAST, EastPositioningStrategy);\n var NorthPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top,\n left: offset.left + outerWidth(resizableElement) / 2\n };\n }\n });\n PositioningStrategyFactory.current.register(NORTH, NorthPositioningStrategy);\n var NortheastPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top,\n left: offset.left + outerWidth(resizableElement)\n };\n }\n });\n PositioningStrategyFactory.current.register(NORTHEAST, NortheastPositioningStrategy);\n var NorthwestPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top,\n left: offset.left\n };\n }\n });\n PositioningStrategyFactory.current.register(NORTHWEST, NorthwestPositioningStrategy);\n var SouthPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top + outerHeight(resizableElement),\n left: offset.left + outerWidth(resizableElement) / 2\n };\n }\n });\n PositioningStrategyFactory.current.register(SOUTH, SouthPositioningStrategy);\n var SoutheastPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top + outerHeight(resizableElement),\n left: offset.left + outerWidth(resizableElement)\n };\n }\n });\n PositioningStrategyFactory.current.register(SOUTHEAST, SoutheastPositioningStrategy);\n var SouthwestPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top + outerHeight(resizableElement),\n left: offset.left\n };\n }\n });\n PositioningStrategyFactory.current.register(SOUTHWEST, SouthwestPositioningStrategy);\n var WestPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function () {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n return {\n top: offset.top + outerHeight(resizableElement) / 2,\n left: offset.left\n };\n }\n });\n PositioningStrategyFactory.current.register(WEST, WestPositioningStrategy);\n var DraggingStrategyFactory = StrategyFactory.extend({});\n DraggingStrategyFactory.current = new DraggingStrategyFactory();\n var HandleDraggingStrategy = Class.extend({\n init: function (options) {\n var that = this;\n that.options = extend({}, that.options, options);\n },\n options: {\n deltaX: {\n adjustment: null,\n modifier: null\n },\n deltaY: {\n adjustment: null,\n modifier: null\n }\n },\n adjustDragDelta: function (deltas) {\n var options = this.options;\n var xAxisAdjustment = options.deltaX.adjustment * options.deltaX.modifier;\n var yAxisAdjustment = options.deltaY.adjustment * options.deltaY.modifier;\n return {\n deltaX: deltas.deltaX * xAxisAdjustment,\n deltaY: deltas.deltaY * yAxisAdjustment,\n initialDeltaX: deltas.initialDeltaX * xAxisAdjustment,\n initialDeltaY: deltas.initialDeltaY * yAxisAdjustment\n };\n }\n });\n HandleDraggingStrategy.create = function (options) {\n return DraggingStrategyFactory.current.create(options);\n };\n var HorizontalDraggingStrategy = HandleDraggingStrategy.extend({\n options: {\n deltaX: {\n adjustment: 1,\n modifier: 1\n },\n deltaY: {\n adjustment: 0,\n modifier: 0\n }\n }\n });\n var EastDraggingStrategy = HorizontalDraggingStrategy.extend({ options: { deltaX: { modifier: 1 } } });\n DraggingStrategyFactory.current.register(EAST, EastDraggingStrategy);\n var WestDraggingStrategy = HorizontalDraggingStrategy.extend({ options: { deltaX: { modifier: -1 } } });\n DraggingStrategyFactory.current.register(WEST, WestDraggingStrategy);\n var VerticalDraggingStrategy = HandleDraggingStrategy.extend({\n options: {\n deltaX: {\n adjustment: 0,\n modifier: 0\n },\n deltaY: {\n adjustment: 1,\n modifier: 1\n }\n }\n });\n var NorthDraggingStrategy = VerticalDraggingStrategy.extend({ options: { deltaY: { modifier: -1 } } });\n DraggingStrategyFactory.current.register(NORTH, NorthDraggingStrategy);\n var SouthDraggingStrategy = VerticalDraggingStrategy.extend({ options: { deltaY: { modifier: 1 } } });\n DraggingStrategyFactory.current.register(SOUTH, SouthDraggingStrategy);\n var HorizontalAndVerticalDraggingStrategy = HandleDraggingStrategy.extend({\n options: {\n deltaX: {\n adjustment: 1,\n modifier: 1\n },\n deltaY: {\n adjustment: 1,\n modifier: 1\n }\n }\n });\n var NorthEastDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: { modifier: 1 },\n deltaY: { modifier: -1 }\n }\n });\n DraggingStrategyFactory.current.register(NORTHEAST, NorthEastDraggingStrategy);\n var NorthWestDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: { modifier: -1 },\n deltaY: { modifier: -1 }\n }\n });\n DraggingStrategyFactory.current.register(NORTHWEST, NorthWestDraggingStrategy);\n var SouthEastDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: { modifier: 1 },\n deltaY: { modifier: 1 }\n }\n });\n DraggingStrategyFactory.current.register(SOUTHEAST, SouthEastDraggingStrategy);\n var SouthWestDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: { modifier: -1 },\n deltaY: { modifier: 1 }\n }\n });\n DraggingStrategyFactory.current.register(SOUTHWEST, SouthWestDraggingStrategy);\n extend(Editor, { TableResizeHandle: TableResizeHandle });\n }(window.kendo));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/resizing/table-resizing', [\n 'editor/main',\n 'editor/resizing/table-resize-handle',\n 'editor/resizing/resizing-utils'\n ], f);\n}(function () {\n (function (kendo, undefined) {\n var global = window;\n var math = global.Math;\n var min = math.min;\n var max = math.max;\n var $ = kendo.jQuery;\n var contains = $.contains;\n var extend = $.extend;\n var proxy = $.proxy;\n var browser = kendo.support.browser;\n var Editor = kendo.ui.editor;\n var Class = kendo.Class;\n var TableResizeHandle = Editor.TableResizeHandle;\n var ResizingUtils = Editor.ResizingUtils;\n var calculatePercentageRatio = ResizingUtils.calculatePercentageRatio;\n var constrain = ResizingUtils.constrain;\n var inPercentages = ResizingUtils.inPercentages;\n var inPixels = ResizingUtils.inPixels;\n var toPercentages = ResizingUtils.toPercentages;\n var toPixels = ResizingUtils.toPixels;\n var outerWidth = kendo._outerWidth;\n var outerHeight = kendo._outerHeight;\n var NS = '.kendoEditorTableResizing';\n var RESIZE_HANDLE_WRAPPER_CLASS = 'k-table-resize-handle-wrapper';\n var TABLE_CLASS = 'k-table';\n var TABLE_RESIZING_CLASS = 'k-table-resizing';\n var DRAG_START = 'dragStart';\n var DRAG = 'drag';\n var DRAG_END = 'dragEnd';\n var KEY_DOWN = 'keydown';\n var MOUSE_DOWN = 'mousedown';\n var MOUSE_OVER = 'mouseover';\n var MOUSE_OUT = 'mouseout';\n var COLUMN = 'td';\n var ROW = 'tr';\n var TBODY = 'tbody';\n var THEAD = 'thead';\n var TABLE = 'table';\n var COMMA = ',';\n var WIDTH = 'width';\n var HEIGHT = 'height';\n var EAST = 'east';\n var NORTH = 'north';\n var NORTHEAST = 'northeast';\n var NORTHWEST = 'northwest';\n var SOUTH = 'south';\n var SOUTHEAST = 'southeast';\n var SOUTHWEST = 'southwest';\n var WEST = 'west';\n var DOT = '.';\n function isUndefined(value) {\n return typeof value === 'undefined';\n }\n var TableResizing = Class.extend({\n init: function (element, options) {\n var that = this;\n that.options = extend({}, that.options, options);\n that.handles = [];\n if ($(element).is(TABLE)) {\n that.element = element;\n }\n },\n destroy: function () {\n var that = this;\n $(that.element).off(NS);\n that.element = null;\n $(that.options.rootElement).off(KEY_DOWN + NS);\n that._destroyResizeHandles();\n },\n options: {\n appendHandlesTo: null,\n rtl: false,\n rootElement: null,\n minWidth: 10,\n minHeight: 10,\n handles: [\n { direction: NORTHWEST },\n { direction: NORTH },\n { direction: NORTHEAST },\n { direction: EAST },\n { direction: SOUTHEAST },\n { direction: SOUTH },\n { direction: SOUTHWEST },\n { direction: WEST }\n ]\n },\n resize: function (args) {\n var that = this;\n var deltas = extend({}, {\n deltaX: 0,\n deltaY: 0,\n initialDeltaX: 0,\n initialDeltaY: 0\n }, args);\n that._resizeWidth(deltas.deltaX, deltas.initialDeltaX);\n that._resizeHeight(deltas.deltaY, deltas.initialDeltaY);\n that.showResizeHandles();\n },\n _resizeWidth: function (delta, initialDelta) {\n var that = this;\n var element = $(that.element);\n var styleWidth = element[0].style[WIDTH];\n var currentWidth = outerWidth(element);\n var parentWidth = element.parent().width();\n var maxWidth = that._getMaxDimensionValue(WIDTH);\n var newWidth;\n var ratioValue;\n var ratioTotalValue;\n var constrainedWidth;\n if (delta === 0) {\n return;\n }\n if (isUndefined(that._initialElementWidth)) {\n that._initialElementWidth = currentWidth;\n }\n constrainedWidth = constrain({\n value: that._initialElementWidth + initialDelta,\n min: that.options.minWidth,\n max: maxWidth\n });\n if (inPercentages(styleWidth)) {\n if (currentWidth + delta > parentWidth) {\n ratioValue = max(constrainedWidth, parentWidth);\n ratioTotalValue = min(constrainedWidth, parentWidth);\n } else {\n ratioValue = min(constrainedWidth, parentWidth);\n ratioTotalValue = max(constrainedWidth, parentWidth);\n }\n newWidth = toPercentages(calculatePercentageRatio(ratioValue, ratioTotalValue));\n } else {\n newWidth = toPixels(constrainedWidth);\n }\n that._setColumnsWidth();\n element[0].style[WIDTH] = newWidth;\n },\n _resizeHeight: function (delta, initialDelta) {\n var that = this;\n var element = $(that.element);\n var styleHeight = element[0].style[HEIGHT];\n var currentHeight = outerHeight(element);\n var parent = element.parent();\n var parentHeight = parent.height();\n var maxHeight = that._getMaxDimensionValue(HEIGHT);\n var newHeight;\n var ratioValue;\n var ratioTotalValue;\n var constrainedHeight;\n var minHeight = that.options.minHeight;\n var hasRowsInPixels = that._hasRowsInPixels();\n if (delta === 0) {\n return;\n }\n if (isUndefined(that._initialElementHeight)) {\n that._initialElementHeight = currentHeight;\n }\n constrainedHeight = constrain({\n value: that._initialElementHeight + initialDelta,\n min: minHeight,\n max: maxHeight\n });\n if (hasRowsInPixels && delta < 0) {\n that._setRowsHeightInPercentages();\n }\n if (inPercentages(styleHeight)) {\n if (currentHeight + delta > parentHeight) {\n ratioValue = max(constrainedHeight, parentHeight);\n ratioTotalValue = min(constrainedHeight, parentHeight);\n } else {\n ratioValue = min(constrainedHeight, parentHeight);\n ratioTotalValue = max(constrainedHeight, parentHeight);\n }\n newHeight = toPercentages(calculatePercentageRatio(ratioValue, ratioTotalValue));\n } else {\n newHeight = toPixels(constrainedHeight);\n }\n element[0].style[HEIGHT] = newHeight;\n if (hasRowsInPixels && delta < 0) {\n that._setRowsHeightInPixels();\n }\n },\n _getMaxDimensionValue: function (dimension) {\n var that = this;\n var element = $(that.element);\n var dimensionLowercase = dimension.toLowerCase();\n var rtlModifier = that.options.rtl ? -1 : 1;\n var parent = $(that.element).parent();\n var parentElement = parent[0];\n var parentDimension = parent[dimensionLowercase]();\n var parentScrollOffset = rtlModifier * (dimension === WIDTH ? parent.scrollLeft() : parent.scrollTop());\n if (parentElement === element.closest(COLUMN)[0]) {\n if (parentElement.style[dimensionLowercase] === '' && !inPercentages(that.element.style[dimensionLowercase])) {\n return Infinity;\n } else {\n return parentDimension + parentScrollOffset;\n }\n } else {\n return parentDimension + parentScrollOffset;\n }\n },\n _setColumnsWidth: function () {\n var that = this;\n var element = $(that.element);\n var parentElement = element.parent()[0];\n var parentColumn = element.closest(COLUMN);\n var columns = parentColumn.closest(ROW).children();\n var columnsLength = columns.length;\n var i;\n function isWidthInPercentages(element) {\n var styleWidth = element.style.width;\n if (styleWidth !== '') {\n return inPercentages(styleWidth) ? true : false;\n } else {\n return $(element).hasClass(TABLE_CLASS) ? true : false;\n }\n }\n if (isWidthInPercentages(element[0]) && parentElement === parentColumn[0] && parentElement.style[WIDTH] === '') {\n for (i = 0; i < columnsLength; i++) {\n columns[i].style[WIDTH] = toPixels($(columns[i]).width());\n }\n }\n },\n _hasRowsInPixels: function () {\n var that = this;\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(ROW);\n for (var i = 0; i < rows.length; i++) {\n if (rows[i].style.height === '' || inPixels(rows[i].style.height)) {\n return true;\n }\n }\n return false;\n },\n _setRowsHeightInPercentages: function () {\n var that = this;\n var tableHead = $(that.element).children(THEAD);\n var tableHeadHeight = tableHead.length > 0 ? tableHead.height() : 0;\n var tableBody = $(that.element).children(TBODY);\n var tableBodyHeight = tableBody.height();\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(ROW);\n var length = rows.length;\n var currentRowsHeights = rows.map(function () {\n return outerHeight($(this));\n });\n var i;\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPercentages(calculatePercentageRatio(currentRowsHeights[i], tableHeadHeight + tableBodyHeight));\n }\n },\n _setRowsHeightInPixels: function () {\n var that = this;\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(ROW);\n var length = rows.length;\n var currentRowsHeights = rows.map(function () {\n return outerHeight($(this));\n });\n var i;\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPixels(currentRowsHeights[i]);\n }\n },\n showResizeHandles: function () {\n var that = this;\n that._initResizeHandles();\n that._showResizeHandles();\n },\n _initResizeHandles: function () {\n var that = this;\n var handles = that.handles;\n var options = that.options;\n var handleOptions = that.options.handles;\n var length = handleOptions.length;\n var i;\n if (handles && handles.length > 0) {\n return;\n }\n for (i = 0; i < length; i++) {\n that.handles.push(new TableResizeHandle(extend({\n appendTo: options.appendHandlesTo,\n resizableElement: that.element,\n rootElement: options.rootElement,\n rtl: options.rtl\n }, handleOptions[i])));\n }\n that._bindToResizeHandlesEvents();\n },\n _destroyResizeHandles: function () {\n var that = this;\n var length = that.handles ? that.handles.length : 0;\n for (var i = 0; i < length; i++) {\n that.handles[i].destroy();\n }\n },\n _showResizeHandles: function () {\n var that = this;\n var handles = that.handles || [];\n var length = handles.length;\n var i;\n for (i = 0; i < length; i++) {\n that.handles[i].show();\n }\n },\n _bindToResizeHandlesEvents: function () {\n var that = this;\n var handles = that.handles || [];\n var length = handles.length;\n var i;\n var handle;\n for (i = 0; i < length; i++) {\n handle = handles[i];\n handle.bind(DRAG_START, proxy(that._onResizeHandleDragStart, that));\n handle.bind(DRAG, proxy(that._onResizeHandleDrag, that));\n handle.bind(DRAG_END, proxy(that._onResizeHandleDragEnd, that));\n handle.bind(MOUSE_OVER, proxy(that._onResizeHandleMouseOver, that));\n handle.bind(MOUSE_OUT, proxy(that._onResizeHandleMouseOut, that));\n }\n },\n _onResizeHandleDragStart: function () {\n var that = this;\n var element = $(that.element);\n element.addClass(TABLE_RESIZING_CLASS);\n that._initialElementHeight = outerHeight(element);\n that._initialElementWidth = outerWidth(element);\n that._disableKeyboard();\n },\n _onResizeHandleDrag: function (e) {\n this.resize(e);\n },\n _onResizeHandleDragEnd: function () {\n var that = this;\n $(that.element).removeClass(TABLE_RESIZING_CLASS);\n that._enableKeyboard();\n },\n _enableKeyboard: function () {\n $(this.options.rootElement).off(KEY_DOWN + NS);\n },\n _disableKeyboard: function () {\n $(this.options.rootElement).on(KEY_DOWN + NS, function (e) {\n e.preventDefault();\n });\n }\n });\n var TableResizingFactory = Class.extend({\n create: function (editor) {\n var factory = this;\n $(editor.body).on(MOUSE_DOWN + NS, TABLE, function (e) {\n var eventTarget = e.target;\n var eventCurrentTarget = e.currentTarget;\n var tableResizing = editor.tableResizing;\n var element = tableResizing ? tableResizing.element : null;\n if (tableResizing) {\n if (element && eventCurrentTarget !== element) {\n if (contains(eventCurrentTarget, element) && element !== eventTarget && contains(element, eventTarget)) {\n return;\n } else {\n if (element !== eventTarget) {\n editor._destroyTableResizing();\n factory._initResizing(editor, eventCurrentTarget);\n }\n }\n }\n } else {\n factory._initResizing(editor, eventCurrentTarget);\n }\n editor._showTableResizeHandles();\n }).on(MOUSE_DOWN + NS, function (e) {\n var tableResizing = editor.tableResizing;\n var element = tableResizing ? tableResizing.element : null;\n var target = e.target;\n var isResizeHandleOrChild = $(target).hasClass(RESIZE_HANDLE_WRAPPER_CLASS) || $(target).parents(DOT + RESIZE_HANDLE_WRAPPER_CLASS).length > 0;\n if (tableResizing && element !== target && !contains(element, target) && !isResizeHandleOrChild) {\n editor._destroyTableResizing();\n }\n });\n },\n dispose: function (editor) {\n $(editor.body).off(NS);\n },\n _initResizing: function (editor, table) {\n if (!browser.msie && !browser.mozilla) {\n editor.tableResizing = new TableResizing(table, {\n appendHandlesTo: editor.body,\n rtl: kendo.support.isRtl(editor.element),\n rootElement: editor.body\n });\n }\n }\n });\n TableResizingFactory.current = new TableResizingFactory();\n TableResizing.create = function (editor) {\n TableResizingFactory.current.create(editor);\n };\n TableResizing.dispose = function (editor) {\n TableResizingFactory.current.dispose(editor);\n };\n extend(Editor, { TableResizing: TableResizing });\n }(window.kendo));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/table-wizard/table-wizard-command', ['editor/plugins/tables'], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, Editor = kendo.ui.editor, EditorUtils = Editor.EditorUtils, RangeUtils = Editor.RangeUtils, dom = Editor.Dom, registerTool = EditorUtils.registerTool, ToolTemplate = Editor.ToolTemplate, Command = Editor.Command;\n var tableFormatFinder = new Editor.BlockFormatFinder([{ tags: ['table'] }]);\n var cellsFormatFinder = new Editor.BlockFormatFinder([{\n tags: [\n 'td',\n 'th'\n ]\n }]);\n var reUnit = /([a-z]+|%)$/i;\n var COL = 'col';\n var ROW = 'row';\n var COLGROUP = 'colgroup';\n var SCOPE = 'scope';\n var COL_INDEX = 'col-index';\n var TH = 'th';\n var TD = 'td';\n var THEAD = 'thead';\n var HEADERS = 'headers';\n var TABLE = 'table';\n var TableWizardCommand = Command.extend({\n exec: function () {\n var cmd = this;\n var editor = cmd.editor;\n var range = cmd.range = cmd.lockRange();\n var selectedTable = cmd._sourceTable = !cmd.options.insertNewTable ? cmd._selectedTable(range) : undefined;\n var selectedCells = cmd._selectedTableCells = selectedTable ? cmd._selectedCells(range) : undefined;\n var options = {\n visible: false,\n messages: editor.options.messages,\n closeCallback: $.proxy(cmd.onDialogClose, cmd),\n table: cmd.parseTable(selectedTable, selectedCells),\n dialogOptions: editor.options.dialogOptions,\n isRtl: kendo.support.isRtl(editor.wrapper)\n };\n var dialog = new Editor.TableWizardDialog(options);\n dialog.open();\n },\n onDialogClose: function (data) {\n var cmd = this;\n cmd.releaseRange(cmd.range);\n if (data) {\n if (cmd.options.insertNewTable) {\n cmd.insertTable(cmd.createNewTable(data));\n } else {\n cmd.updateTable(data, cmd._sourceTable, cmd._selectedTableCells);\n }\n }\n },\n releaseRange: function (range) {\n var cmd = this;\n var doc = cmd.editor.document;\n dom.windowFromDocument(doc).focus();\n Command.fn.releaseRange.call(cmd, range);\n },\n insertTable: function (table) {\n var range = this.range;\n range.insertNode(table);\n range.collapse(true);\n this.editor.selectRange(range);\n this._ensureFocusableAfterTable(table);\n },\n _ensureFocusableAfterTable: function (table) {\n var siblingNodes = $(table).parent().contents();\n var lastSiblingIndex = siblingNodes.length - 1;\n var lastSibling = siblingNodes.get(lastSiblingIndex);\n while (lastSibling.nodeValue !== null && (lastSibling.nodeValue === ' ' || lastSibling.nodeValue === '')) {\n lastSiblingIndex -= 1;\n lastSibling = siblingNodes.get(lastSiblingIndex);\n }\n if (lastSibling === table) {\n dom.insertAfter(dom.createEmptyNode(this.editor.document, 'p'), table);\n }\n },\n updateTable: function (data, table, selectedCells) {\n var cmd = this;\n var tableRows = $(table.rows).toArray();\n var tableProp = data.tableProperties;\n var rows = tableProp.rows;\n var columns = tableProp.columns;\n var tHead = table.tHead;\n var last = function (collection) {\n return collection[collection.length - 1];\n };\n while (selectedCells.length > 1) {\n selectedCells.pop();\n }\n var lastSelectedRow = selectedCells.length ? last(selectedCells).parentNode : last(tableRows);\n var row, parent;\n cmd._deleteTableRows(tableRows, tableRows.length - rows);\n if (tableRows.length < rows) {\n var rowIndex = $(lastSelectedRow).index();\n var cellsLength = lastSelectedRow.cells.length;\n var newRowsCount = rows - tableRows.length;\n parent = lastSelectedRow.parentNode;\n while (newRowsCount) {\n row = parent.insertRow(rowIndex + 1);\n cmd._insertCells(cellsLength - row.cells.length, row);\n newRowsCount--;\n }\n }\n if (tableRows[0].cells.length > columns) {\n $(tableRows).each(function (i, row) {\n while (row.cells.length > columns) {\n row.deleteCell(-1);\n }\n });\n }\n if (tableRows[0].cells.length < columns) {\n var cellIndex = $(last(selectedCells) || last(lastSelectedRow.cells)).index();\n $(tableRows).each(function (i, row) {\n cmd._insertCells(columns - row.cells.length, row, cellIndex + 1);\n });\n }\n cmd._updateTableProperties(table, tableProp);\n var cellProp = data.cellProperties;\n if (selectedCells[0]) {\n dom.attr(selectedCells[0], { id: cellProp.id || null });\n }\n (cellProp.selectAllCells ? $(tableRows).children() : $(selectedCells)).each(function (i, cell) {\n cmd._updateCellProperties(cell, cellProp);\n });\n cmd._updateCaption(table, tableProp);\n dom.reMapTableColumns(table, COL_INDEX);\n if (tHead) {\n cmd._updateHeadersWithThead(table, data);\n } else {\n cmd._updateHeadersNoThead(table, data);\n }\n cmd._updateHeaderAssociates(table, tableProp);\n dom.clearTableMappings(table, COL_INDEX);\n },\n _isHeadingRow: function (row) {\n return dom.is(row.cells[0], TH) && dom.is(row.parentNode, THEAD);\n },\n _isHeadingCell: function (cell) {\n return dom.is(cell, TH);\n },\n cellsWithHeadersAssociated: function (table) {\n var cells = $(table.rows).children();\n var headingIds = [];\n var checkHeader = function (header) {\n return headingIds.indexOf(header) > -1;\n };\n cells.each(function (c, cell) {\n if (cell.id && dom.is(cell, TH)) {\n headingIds.push(cell.id);\n }\n });\n var associatedCells = cells.filter(function (c, cell) {\n var headersAttr = cell.getAttribute(HEADERS);\n var headersArray;\n if (headersAttr && !dom.is(cell, TH)) {\n headersArray = headersAttr.split(' ');\n if (headersArray && headersArray.length > 0) {\n return headersArray.some(checkHeader);\n }\n }\n return false;\n });\n return !!associatedCells.length;\n },\n _insertCells: function (count, row, index) {\n index = isNaN(index) ? -1 : index;\n for (var i = 0, cell; i < count; i++) {\n cell = row.insertCell(index);\n cell.innerHTML = ' ';\n }\n },\n _deleteTableRows: function (rows, count) {\n for (var i = 0, row, rowParent; i < count; i++) {\n row = rows.pop();\n rowParent = row.parentNode;\n rowParent.removeChild(row);\n if (!rowParent.rows.length) {\n dom.remove(rowParent);\n }\n }\n },\n createNewTable: function (data) {\n var cmd = this;\n var doc = cmd.editor.document;\n var tableProp = data.tableProperties;\n var table = dom.create(doc, TABLE);\n var rowIndex = 0;\n var thead;\n cmd._updateTableProperties(table, tableProp);\n cmd._updateCaption(table, tableProp);\n if (tableProp.headerRows && tableProp.headerRows > 0) {\n thead = table.createTHead();\n cmd._createTableRows(data, thead, rowIndex, true);\n rowIndex += tableProp.headerRows;\n }\n var tbody = table.createTBody();\n cmd._createTableRows(data, tbody, rowIndex, false);\n dom.reMapTableColumns(table, COL_INDEX);\n if (tableProp.cellsWithHeaders === 'ids') {\n dom.associateWithIds(table);\n } else if (tableProp.cellsWithHeaders === 'scope') {\n cmd._addScopes(table, tableProp.headerRows, tableProp.headerColumns);\n }\n dom.clearTableMappings(table, COL_INDEX);\n return table;\n },\n _createTableRows: function (data, container, initialIndex, headerRows) {\n var cmd = this;\n var tableProp = data.tableProperties;\n var cellProp = data.cellProperties;\n var columns = tableProp.columns;\n var rows = headerRows ? tableProp.headerRows : tableProp.rows;\n var cellPropToAll = cellProp.selectAllCells;\n var headerColumns = tableProp.headerColumns;\n for (var r = initialIndex, row; r < rows; r++) {\n row = container.insertRow();\n for (var c = 0, cell; c < columns; c++) {\n if (headerRows || headerColumns > c) {\n cell = document.createElement(TH);\n } else {\n cell = document.createElement(TD);\n }\n row.appendChild(cell);\n cell.innerHTML = ' ';\n if (r === 0 && c === 0 && cellProp.id) {\n cell.id = cellProp.id;\n }\n cmd._updateCellProperties(cell, cellPropToAll || r === 0 && c === 0 ? cellProp : {});\n }\n }\n },\n _updateTableProperties: function (table, data) {\n var style = this._getStylesData(data);\n dom.attr(table, {\n cellSpacing: data.cellSpacing || null,\n cellPadding: data.cellPadding || null,\n className: data.className || null,\n id: data.id || null,\n summary: data.summary || null,\n style: style || null\n });\n $(table).addClass('k-table');\n },\n _updateCellProperties: function (cell, data) {\n var style = this._getStylesData(data);\n style.padding = data.cellPadding || null;\n style.margin = data.cellMargin || null;\n dom.attr(cell, {\n style: style || null,\n className: data.className || null\n });\n },\n _updateCaption: function (table, data) {\n if (table.caption && !data.captionContent) {\n table.deleteCaption();\n } else if (data.captionContent) {\n var caption = table.createCaption();\n caption.innerHTML = data.captionContent;\n var alignment = this._getAlignmentData(data.captionAlignment);\n dom.attr(caption, {\n style: {\n textAlign: alignment.textAlign,\n verticalAlign: alignment.verticalAlign\n }\n });\n }\n },\n _updateHeadersNoThead: function (table, data) {\n var cmd = this;\n var tableProp = data.tableProperties;\n var rows = table.rows;\n var row, cells, cell, i, j;\n for (i = 0; i < rows.length; i++) {\n row = rows[i];\n cells = row.cells;\n for (j = 0; j < cells.length; j++) {\n cell = cells[j];\n if (!cmd._isHeadingCell(cell) && (i < tableProp.headerRows || tableProp.headerColumns > cell.getAttribute(COL_INDEX))) {\n dom.changeTag(cell, TH, false);\n } else if (cmd._isHeadingCell(cell) && i >= tableProp.headerRows && tableProp.headerColumns <= cell.getAttribute(COL_INDEX)) {\n dom.changeTag(cell, TD, false);\n }\n }\n }\n },\n _updateHeadersWithThead: function (table, data) {\n var cmd = this;\n var tableProp = data.tableProperties;\n var thead = table.tHead;\n var rowIndex = 0;\n var tbody = table.tBodies[0];\n var row, cell, i;\n if (!tbody) {\n tbody = table.createTBody();\n }\n if (tableProp.headerRows && tableProp.headerRows > 0) {\n if (!thead) {\n thead = table.createTHead();\n }\n while (thead.rows.length < tableProp.headerRows) {\n thead.appendChild(tbody.rows[0]);\n }\n while (thead.rows.length > tableProp.headerRows) {\n tbody.appendChild(thead.rows[0]);\n }\n cmd._swapToHeaderCells(thead);\n } else if (thead) {\n while (thead.rows.length > 0) {\n tbody.appendChild(thead.rows[thead.rows.length - 1]);\n }\n table.deleteTHead();\n }\n while (tbody.rows.length > rowIndex) {\n row = tbody.rows[rowIndex];\n for (i = 0; i < row.cells.length; i++) {\n cell = row.cells[i];\n if (cmd._isHeadingCell(cell) && tableProp.headerColumns <= cell.getAttribute(COL_INDEX)) {\n dom.changeTag(cell, TD, false);\n } else if (!cmd._isHeadingCell(cell) && tableProp.headerColumns > cell.getAttribute(COL_INDEX)) {\n dom.changeTag(cell, TH, false);\n }\n }\n rowIndex += 1;\n }\n },\n _updateHeaderAssociates: function (table, tableProp) {\n var cmd = this;\n if (tableProp.cellsWithHeaders === 'ids') {\n if (!cmd.cellsWithHeadersAssociated(table)) {\n cmd._removeScopes(table);\n }\n dom.associateWithIds(table);\n } else if (tableProp.cellsWithHeaders === 'scope') {\n if (cmd.cellsWithHeadersAssociated(table)) {\n cmd._removeAssociates(table);\n }\n cmd._addScopes(table, tableProp.headerRows, tableProp.headerColumns);\n } else {\n if (cmd.cellsWithHeadersAssociated(table)) {\n cmd._removeAssociates(table);\n } else {\n cmd._removeScopes(table);\n }\n }\n },\n _addScopes: function (table, headerRows, headerCols) {\n var rows = table.rows;\n var i, j, row, cell;\n for (i = 0; i < rows.length; i++) {\n row = rows[i];\n for (j = 0; j < row.cells.length; j++) {\n cell = row.cells[j];\n if (i < headerRows) {\n cell.setAttribute(SCOPE, COL);\n } else if (cell.getAttribute(COL_INDEX) < headerCols) {\n cell.setAttribute(SCOPE, ROW);\n }\n }\n }\n },\n _removeScopes: function (table) {\n $(table).find(TH).removeAttr(SCOPE);\n $(table).find(COL).remove();\n $(table).find(COLGROUP).remove();\n },\n _removeAssociates: function (table) {\n $(table).find('th, td').removeAttr('id headers');\n },\n _swapToHeaderCells: function (thead) {\n var tds = $(thead).find('td');\n var swapCell = function (index, cell) {\n dom.changeTag(cell, TH, false);\n };\n tds.each(swapCell);\n },\n _getStylesData: function (data) {\n var alignment = this._getAlignmentData(data.alignment);\n var whiteSpace = 'wrapText' in data ? data.wrapText ? '' : 'nowrap' : null;\n return {\n width: data.width ? data.width + data.widthUnit : null,\n height: data.height ? data.height + data.heightUnit : null,\n textAlign: alignment.textAlign,\n verticalAlign: alignment.verticalAlign,\n backgroundColor: data.bgColor || '',\n borderWidth: data.borderWidth,\n borderStyle: data.borderStyle,\n borderColor: data.borderColor || '',\n borderCollapse: data.collapseBorders ? 'collapse' : null,\n whiteSpace: whiteSpace\n };\n },\n _getAlignmentData: function (alignment) {\n var textAlign = '';\n var verticalAlign = textAlign;\n if (alignment) {\n if (alignment.indexOf(' ') != -1) {\n var align = alignment.split(' ');\n textAlign = align[0];\n verticalAlign = align[1];\n } else {\n textAlign = alignment;\n }\n }\n return {\n textAlign: textAlign,\n verticalAlign: verticalAlign\n };\n },\n parseTable: function (table, selectedCells) {\n if (!table) {\n return {\n tableProperties: {},\n selectedCells: []\n };\n }\n var cmd = this;\n var tStyle = table.style;\n var rows = table.rows;\n var caption = table.caption;\n var captionClone = $(caption ? caption.cloneNode(true) : undefined);\n captionClone.find('.k-marker').remove();\n var cssClass = table.className;\n cssClass = cssClass.replace(/^k-table\\s|\\sk-table$/, '');\n cssClass = cssClass.replace(/\\sk-table\\s/, ' ');\n cssClass = cssClass.replace(/^k-table$/, '');\n var tableAlignment = cmd._getAlignment(table, true);\n var captionAlignment = caption ? cmd._getAlignment(caption) : undefined;\n var numberOfHeaderRows = dom._getNumberOfHeaderRows(table);\n var cellsWithHeaders;\n if (cmd.cellsWithHeadersAssociated(table)) {\n cellsWithHeaders = 'ids';\n } else if ($(table).find('th[scope]').length > 0) {\n cellsWithHeaders = 'scope';\n } else {\n cellsWithHeaders = 'none';\n }\n dom.reMapTableColumns(table, COL_INDEX);\n var numberOfColumns = dom._getNumberOfColumns(table);\n var numberOfHeaderColumns = dom._getNumberOfHeaderColumns(table, numberOfHeaderRows);\n dom.clearTableMappings(table, COL_INDEX);\n var tableJson = {\n tableProperties: {\n width: tStyle.width || table.width ? parseFloat(tStyle.width || table.width) : null,\n height: tStyle.height || table.height ? parseFloat(tStyle.height || table.height) : null,\n columns: numberOfColumns,\n rows: rows.length,\n widthUnit: cmd._getUnit(tStyle.width),\n heightUnit: cmd._getUnit(tStyle.height),\n cellSpacing: table.cellSpacing,\n cellPadding: table.cellPadding,\n alignment: tableAlignment.textAlign,\n bgColor: tStyle.backgroundColor || table.bgColor,\n className: cssClass,\n id: table.id,\n borderWidth: tStyle.borderWidth || table.border,\n borderColor: tStyle.borderColor,\n borderStyle: tStyle.borderStyle || '',\n collapseBorders: !!tStyle.borderCollapse,\n summary: table.summary,\n captionContent: caption ? captionClone.html() : '',\n captionAlignment: caption && captionAlignment.textAlign ? captionAlignment.textAlign + ' ' + captionAlignment.verticalAlign : '',\n headerRows: numberOfHeaderRows,\n headerColumns: numberOfHeaderColumns,\n cellsWithHeaders: cellsWithHeaders\n },\n selectedCells: []\n };\n tableJson.rows = cmd.parseTableRows(rows, selectedCells, tableJson);\n return tableJson;\n },\n parseTableRows: function (rows, selectedCells, tableJson) {\n var cmd = this;\n var data = [], row, rowData, cells, cell, cellData;\n for (var i = 0; i < rows.length; i++) {\n row = rows[i];\n rowData = { cells: [] };\n cells = row.cells;\n data.push(rowData);\n for (var j = 0; j < cells.length; j++) {\n cell = cells[j];\n cellData = cmd.parseCell(cell);\n if ($.inArray(cell, selectedCells) != -1) {\n tableJson.selectedCells.push(cellData);\n }\n rowData.cells.push(cellData);\n }\n }\n return data;\n },\n parseCell: function (cell) {\n var cmd = this;\n var cStyle = cell.style;\n var alignment = cmd._getAlignment(cell);\n alignment = alignment.textAlign ? alignment.textAlign + ' ' + alignment.verticalAlign : '';\n var data = {\n width: cStyle.width || cell.width ? parseFloat(cStyle.width || cell.width) : null,\n height: cStyle.height || cell.height ? parseFloat(cStyle.height || cell.height) : null,\n widthUnit: cmd._getUnit(cStyle.width),\n heightUnit: cmd._getUnit(cStyle.height),\n cellMargin: cStyle.margin,\n cellPadding: cStyle.padding,\n alignment: alignment,\n bgColor: cStyle.backgroundColor || cell.bgColor,\n className: cell.className,\n id: cell.id,\n borderWidth: cStyle.borderWidth || cell.border,\n borderColor: cStyle.borderColor,\n borderStyle: cStyle.borderStyle,\n wrapText: cStyle.whiteSpace != 'nowrap'\n };\n return data;\n },\n _getAlignment: function (element, horizontalOnly) {\n var style = element.style;\n var hAlign = style.textAlign || element.align || '';\n if (horizontalOnly) {\n return { textAlign: hAlign };\n }\n var vAlign = style.verticalAlign || element.vAlign || '';\n if (hAlign && vAlign) {\n return {\n textAlign: hAlign,\n verticalAlign: vAlign\n };\n }\n if (!hAlign && vAlign) {\n return {\n textAlign: 'left',\n verticalAlign: vAlign\n };\n }\n if (hAlign && !vAlign) {\n return {\n textAlign: hAlign,\n verticalAlign: 'top'\n };\n }\n return {\n textAlign: '',\n verticalAlign: ''\n };\n },\n _getUnit: function (value) {\n var unit = (value || '').match(reUnit);\n return unit ? unit[0] : 'px';\n },\n _selectedTable: function (range) {\n var nodes = dom.filterBy(RangeUtils.nodes(range), dom.htmlIndentSpace, true);\n return tableFormatFinder.findSuitable(nodes)[0];\n },\n _selectedCells: function (range) {\n var nodes = dom.filterBy(RangeUtils.nodes(range), dom.htmlIndentSpace, true);\n return cellsFormatFinder.findSuitable(nodes);\n }\n });\n var TableWizardTool = Editor.Tool.extend({\n command: function (options) {\n options.insertNewTable = this.options.insertNewTable;\n return new TableWizardCommand(options);\n }\n });\n var TableWizardEditTool = TableWizardTool.extend({\n update: function (ui, nodes) {\n var isFormatted = !tableFormatFinder.isFormatted(nodes);\n if (isFormatted === true) {\n ui.parent().addClass('k-hidden k-state-disabled');\n ui.attr('disabled', 'disabled');\n ui.addClass('k-state-disabled');\n } else {\n ui.parent().removeClass('k-hidden k-state-disabled');\n ui.removeAttr('disabled');\n ui.removeClass('k-state-disabled');\n }\n }\n });\n kendo.ui.editor.TableWizardTool = TableWizardTool;\n kendo.ui.editor.TableWizardCommand = TableWizardCommand;\n registerTool('tableWizard', new TableWizardEditTool({\n command: TableWizardCommand,\n insertNewTable: false,\n template: new ToolTemplate({\n template: EditorUtils.buttonTemplate,\n title: 'Table Wizard'\n })\n }));\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('editor/table-wizard/table-wizard-dialog', [\n 'editor/table-wizard/table-wizard-command',\n 'kendo.tabstrip'\n ], f);\n}(function () {\n (function ($, undefined) {\n var kendo = window.kendo, numericTextBoxSettings = {\n format: '0',\n min: 0\n }, units = [\n 'px',\n 'em'\n ], borderStyles = [\n 'solid',\n 'dotted',\n 'dashed',\n 'double',\n 'groove',\n 'ridge',\n 'inset',\n 'outset',\n 'initial',\n 'inherit',\n 'none',\n 'hidden'\n ];\n var DEFAULT_NUMBER_OF_COLS_AND_ROWS = 4;\n var tableAlignmentDropDownSettings = {\n dataSource: [\n {\n className: 'k-icon k-i-table-align-middle-left',\n value: 'left'\n },\n {\n className: 'k-icon k-i-table-align-middle-center',\n value: 'center'\n },\n {\n className: 'k-icon k-i-table-align-middle-right',\n value: 'right'\n },\n {\n className: 'k-icon k-i-align-remove',\n value: ''\n }\n ],\n dataTextField: 'className',\n dataValueField: 'value',\n template: '',\n valueTemplate: ''\n };\n var cellAlignmentDropDownSettings = {\n dataSource: [\n {\n className: 'k-icon k-i-table-align-top-left',\n value: 'left top'\n },\n {\n className: 'k-icon k-i-table-align-top-center',\n value: 'center top'\n },\n {\n className: 'k-icon k-i-table-align-top-right',\n value: 'right top'\n },\n {\n className: 'k-icon k-i-table-align-middle-left',\n value: 'left middle'\n },\n {\n className: 'k-icon k-i-table-align-middle-center',\n value: 'center middle'\n },\n {\n className: 'k-icon k-i-table-align-middle-right',\n value: 'right middle'\n },\n {\n className: 'k-icon k-i-table-align-bottom-left',\n value: 'left bottom'\n },\n {\n className: 'k-icon k-i-table-align-bottom-center',\n value: 'center bottom'\n },\n {\n className: 'k-icon k-i-table-align-bottom-right',\n value: 'right bottom'\n },\n {\n className: 'k-icon k-i-align-remove',\n value: ''\n }\n ],\n dataTextField: 'className',\n dataValueField: 'value',\n template: '',\n valueTemplate: ''\n };\n var accessibilityAlignmentDropDownSettings = {\n dataSource: [\n {\n className: 'k-icon k-i-table-align-top-left',\n value: 'left top'\n },\n {\n className: 'k-icon k-i-table-align-top-center',\n value: 'center top'\n },\n {\n className: 'k-icon k-i-table-align-top-right',\n value: 'right top'\n },\n {\n className: 'k-icon k-i-table-align-bottom-left',\n value: 'left bottom'\n },\n {\n className: 'k-icon k-i-table-align-bottom-center',\n value: 'center bottom'\n },\n {\n className: 'k-icon k-i-table-align-bottom-right',\n value: 'right bottom'\n },\n {\n className: 'k-icon k-i-align-remove',\n value: ''\n }\n ],\n dataTextField: 'className',\n dataValueField: 'value',\n template: '',\n valueTemplate: ''\n };\n var dialogTemplate = '
    ' + '
    ' + '
    ' + '
      ' + '
    • #= messages.tableTab #
    • ' + '
    • #= messages.cellTab #
    • ' + '
    • #= messages.accessibilityTab #
    • ' + '
    ' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
     
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
     
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '' + '
    ' + '
    ' + '
    ' + '
    ' + '' + '' + '
    ' + '
    ' + '
    ';\n var TableWizardDialog = kendo.Class.extend({\n init: function (options) {\n this.options = options;\n },\n open: function () {\n var that = this, options = that.options, dialogOptions = options.dialogOptions, tableData = options.table, dialog, messages = options.messages, isIE = kendo.support.browser.msie;\n function close(e) {\n e.preventDefault();\n that.destroy();\n dialog.destroy();\n }\n function okHandler(e) {\n that.collectDialogValues(tableData);\n close(e);\n if (that.change) {\n that.change();\n }\n options.closeCallback(tableData);\n }\n function closeHandler(e) {\n close(e);\n options.closeCallback();\n }\n dialogOptions.close = closeHandler;\n dialogOptions.title = messages.tableWizard;\n dialogOptions.visible = options.visible;\n dialog = $(that._dialogTemplate(messages)).appendTo(document.body).kendoWindow(dialogOptions).closest('.k-window').toggleClass('k-rtl', options.isRtl).end().find('.k-dialog-ok').click(okHandler).end().find('.k-dialog-close').click(closeHandler).end().data('kendoWindow');\n var element = dialog.element;\n that._initTabStripComponent(element);\n that._initTableViewComponents(element, tableData);\n that._initCellViewComponents(element, tableData);\n that._initAccessibilityViewComponents(element, tableData);\n dialog.center();\n dialog.open();\n if (isIE) {\n var dialogHeight = element.closest('.k-window').height();\n element.css('max-height', dialogHeight);\n }\n },\n _initTabStripComponent: function (element) {\n var components = this.components = {};\n components.tabStrip = element.find('#k-table-wizard-tabs').kendoTabStrip({ animation: false }).data('kendoTabStrip');\n },\n collectDialogValues: function () {\n var that = this;\n var data = that.options.table;\n that._collectTableViewValues(data);\n that._collectCellViewValues(data);\n that._collectAccessibilityViewValues(data);\n },\n _collectTableViewValues: function (tableData) {\n var tableView = this.components.tableView;\n var tableProperties = tableData.tableProperties;\n tableProperties.width = tableView.width.value();\n tableProperties.widthUnit = tableView.widthUnit.value();\n tableProperties.height = tableView.height.value();\n tableProperties.columns = tableView.columns.value();\n tableProperties.rows = tableView.rows.value();\n tableProperties.heightUnit = tableView.heightUnit.value();\n tableProperties.cellSpacing = tableView.cellSpacing.value();\n tableProperties.cellPadding = tableView.cellPadding.value();\n tableProperties.alignment = tableView.alignment.value();\n tableProperties.bgColor = tableView.bgColor.value();\n tableProperties.className = tableView.className.value;\n tableProperties.id = tableView.id.value;\n tableProperties.borderWidth = tableView.borderWidth.value();\n tableProperties.borderColor = tableView.borderColor.value();\n tableProperties.borderStyle = tableView.borderStyle.value();\n tableProperties.collapseBorders = tableView.collapseBorders.checked;\n },\n _collectCellViewValues: function (table) {\n var cellData = table.cellProperties = {};\n var cellView = this.components.cellView;\n cellData.selectAllCells = cellView.selectAllCells.checked;\n cellData.width = cellView.width.value();\n cellData.widthUnit = cellView.widthUnit.value();\n cellData.height = cellView.height.value();\n cellData.heightUnit = cellView.heightUnit.value();\n cellData.cellMargin = cellView.cellMargin.value();\n cellData.cellPadding = cellView.cellPadding.value();\n cellData.alignment = cellView.alignment.value();\n cellData.bgColor = cellView.bgColor.value();\n cellData.className = cellView.className.value;\n cellData.id = cellView.id.value;\n cellData.borderWidth = cellView.borderWidth.value();\n cellData.borderColor = cellView.borderColor.value();\n cellData.borderStyle = cellView.borderStyle.value();\n cellData.wrapText = cellView.wrapText.checked;\n if (!cellData.width) {\n cellData.selectAllCells = true;\n cellData.width = 100 / table.tableProperties.columns;\n cellData.widthUnit = '%';\n }\n },\n _collectAccessibilityViewValues: function (table) {\n var tableProperties = table.tableProperties;\n var accessibilityView = this.components.accessibilityView;\n tableProperties.captionContent = accessibilityView.captionContent.value;\n tableProperties.captionAlignment = accessibilityView.captionAlignment.value();\n tableProperties.summary = accessibilityView.summary.value;\n tableProperties.cellsWithHeaders = accessibilityView.cellsWithHeaders.value();\n tableProperties.headerRows = accessibilityView.headerRows.value();\n tableProperties.headerColumns = accessibilityView.headerColumns.value();\n },\n _addUnit: function (units, value) {\n if (value && $.inArray(value, units) == -1) {\n units.push(value);\n }\n },\n _initTableViewComponents: function (element, table) {\n var that = this;\n var components = that.components;\n var tableView = components.tableView = {};\n var tableProperties = table.tableProperties = table.tableProperties || {};\n tableProperties.borderStyle = tableProperties.borderStyle || '';\n var onColumnsNumberChange = function (args) {\n var accessibilityView = that.components.accessibilityView;\n var headerColumnsNumeric = accessibilityView.headerColumns;\n var currentNumberOfColumnsHeaders = headerColumnsNumeric.value();\n var numberOfColumns = args.sender.value();\n if (numberOfColumns < currentNumberOfColumnsHeaders) {\n headerColumnsNumeric.value(numberOfColumns);\n }\n headerColumnsNumeric.max(numberOfColumns);\n };\n var onRowsNumberChange = function (args) {\n var accessibilityView = that.components.accessibilityView;\n var headerRowsNumeric = accessibilityView.headerRows;\n var currentNumberOfRowHeaders = headerRowsNumeric.value();\n var numberOfRows = args.sender.value();\n if (numberOfRows < currentNumberOfRowHeaders) {\n headerRowsNumeric.value(numberOfRows);\n }\n headerRowsNumeric.max(numberOfRows);\n };\n that._addUnit(units, tableProperties.widthUnit);\n that._addUnit(units, tableProperties.heightUnit);\n that._initNumericTextbox(element.find('#k-editor-table-width'), 'width', tableProperties, tableView);\n that._initNumericTextbox(element.find('#k-editor-table-height'), 'height', tableProperties, tableView);\n that._initNumericTextbox(element.find('#k-editor-table-columns'), 'columns', tableProperties, tableView, {\n min: 1,\n value: DEFAULT_NUMBER_OF_COLS_AND_ROWS,\n change: onColumnsNumberChange\n });\n that._initNumericTextbox(element.find('#k-editor-table-rows'), 'rows', tableProperties, tableView, {\n min: 1,\n value: DEFAULT_NUMBER_OF_COLS_AND_ROWS,\n change: onRowsNumberChange\n });\n that._initDropDownList(element.find('#k-editor-table-width-type'), 'widthUnit', tableProperties, tableView, units);\n that._initDropDownList(element.find('#k-editor-table-height-type'), 'heightUnit', tableProperties, tableView, units);\n that._initNumericTextbox(element.find('#k-editor-table-cell-spacing'), 'cellSpacing', tableProperties, tableView);\n that._initNumericTextbox(element.find('#k-editor-table-cell-padding'), 'cellPadding', tableProperties, tableView);\n that._initTableAlignmentDropDown(element.find('#k-editor-table-alignment'), tableProperties);\n that._initColorPicker(element.find('#k-editor-table-bg'), 'bgColor', tableProperties, tableView);\n that._initInput(element.find('#k-editor-css-class'), 'className', tableProperties, tableView);\n that._initInput(element.find('#k-editor-id'), 'id', tableProperties, tableView);\n that._initNumericTextbox(element.find('#k-editor-border-width'), 'borderWidth', tableProperties, tableView);\n that._initColorPicker(element.find('#k-editor-border-color'), 'borderColor', tableProperties, tableView);\n that._initDropDownList(element.find('#k-editor-border-style'), 'borderStyle', tableProperties, tableView, borderStyles);\n that._initCheckbox(element.find('#k-editor-collapse-borders'), 'collapseBorders', tableProperties, tableView);\n },\n _initCellViewComponents: function (element, table) {\n var components = this.components;\n var cellView = components.cellView = {};\n table.selectedCells = table.selectedCells = table.selectedCells || [];\n var cellProperties = table.selectedCells[0] || {\n borderStyle: '',\n wrapText: true\n };\n this._addUnit(units, cellProperties.widthUnit);\n this._addUnit(units, cellProperties.heightUnit);\n this._initCheckbox(element.find('#k-editor-selectAllCells'), 'selectAllCells', table.tableProperties, cellView);\n this._initNumericTextbox(element.find('#k-editor-cell-width'), 'width', cellProperties, cellView);\n this._initNumericTextbox(element.find('#k-editor-cell-height'), 'height', cellProperties, cellView);\n this._initDropDownList(element.find('#k-editor-cell-width-type'), 'widthUnit', cellProperties, cellView, units);\n this._initDropDownList(element.find('#k-editor-cell-height-type'), 'heightUnit', cellProperties, cellView, units);\n this._initNumericTextbox(element.find('#k-editor-table-cell-margin'), 'cellMargin', cellProperties, cellView);\n this._initNumericTextbox(element.find('#k-editor-table-cells-padding'), 'cellPadding', cellProperties, cellView);\n this._initCellAlignmentDropDown(element.find('#k-editor-cell-alignment'), cellProperties);\n this._initColorPicker(element.find('#k-editor-cell-bg'), 'bgColor', cellProperties, cellView);\n this._initInput(element.find('#k-editor-cell-css-class'), 'className', cellProperties, cellView);\n this._initInput(element.find('#k-editor-cell-id'), 'id', cellProperties, cellView);\n this._initNumericTextbox(element.find('#k-editor-cell-border-width'), 'borderWidth', cellProperties, cellView);\n this._initColorPicker(element.find('#k-editor-cell-border-color'), 'borderColor', cellProperties, cellView);\n this._initDropDownList(element.find('#k-editor-cell-border-style'), 'borderStyle', cellProperties, cellView, borderStyles);\n this._initCheckbox(element.find('#k-editor-wrap-text'), 'wrapText', cellProperties, cellView);\n },\n _initAccessibilityViewComponents: function (element, table) {\n var components = this.components;\n var accessibilityView = components.accessibilityView = {};\n var tableProperties = table.tableProperties;\n this._initInput(element.find('#k-editor-table-caption'), 'captionContent', tableProperties, accessibilityView);\n this._initAccessibilityAlignmentDropDown(element.find('#k-editor-accessibility-alignment'), tableProperties);\n this._initInput(element.find('#k-editor-accessibility-summary'), 'summary', tableProperties, accessibilityView);\n this._initAssociationDropDown(element.find('#k-editor-cells-headers'), 'cellsWithHeaders', { valuePrimitive: true }, tableProperties, accessibilityView);\n this._initNumericTextbox(element.find('#k-editor-table-header-rows'), 'headerRows', tableProperties, accessibilityView, { max: tableProperties.rows || DEFAULT_NUMBER_OF_COLS_AND_ROWS });\n this._initNumericTextbox(element.find('#k-editor-table-header-columns'), 'headerColumns', tableProperties, accessibilityView, { max: tableProperties.columns || DEFAULT_NUMBER_OF_COLS_AND_ROWS });\n },\n _initNumericTextbox: function (element, property, data, storage, settings) {\n var component = storage[property] = element.kendoNumericTextBox(settings ? $.extend({}, numericTextBoxSettings, settings) : numericTextBoxSettings).data('kendoNumericTextBox');\n if (property in data) {\n component.value(parseInt(data[property], 10));\n }\n },\n _initDropDownList: function (element, property, data, storage, dataSource) {\n var component = storage[property] = element.kendoDropDownList({ dataSource: dataSource }).data('kendoDropDownList');\n this._setComponentValue(component, data, property);\n },\n _initTableAlignmentDropDown: function (element, data) {\n var messages = this.options.messages;\n var tableView = this.components.tableView;\n var dataSource = tableAlignmentDropDownSettings.dataSource;\n dataSource[0].tooltip = messages.alignLeft;\n dataSource[1].tooltip = messages.alignCenter;\n dataSource[2].tooltip = messages.alignRight;\n dataSource[3].tooltip = messages.alignRemove;\n this._initAlignmentDropDown(element, tableAlignmentDropDownSettings, 'alignment', data, tableView);\n },\n _initCellAlignmentDropDown: function (element, data) {\n var messages = this.options.messages;\n var cellView = this.components.cellView;\n var dataSource = cellAlignmentDropDownSettings.dataSource;\n dataSource[0].tooltip = messages.alignLeftTop;\n dataSource[1].tooltip = messages.alignCenterTop;\n dataSource[2].tooltip = messages.alignRightTop;\n dataSource[3].tooltip = messages.alignLeftMiddle;\n dataSource[4].tooltip = messages.alignCenterMiddle;\n dataSource[5].tooltip = messages.alignRightMiddle;\n dataSource[6].tooltip = messages.alignLeftBottom;\n dataSource[7].tooltip = messages.alignCenterBottom;\n dataSource[8].tooltip = messages.alignRightBottom;\n dataSource[9].tooltip = messages.alignRemove;\n this._initAlignmentDropDown(element, cellAlignmentDropDownSettings, 'alignment', data, cellView);\n },\n _initAccessibilityAlignmentDropDown: function (element, data) {\n var messages = this.options.messages;\n var accessibilityView = this.components.accessibilityView;\n var dataSource = accessibilityAlignmentDropDownSettings.dataSource;\n dataSource[0].tooltip = messages.alignLeftTop;\n dataSource[1].tooltip = messages.alignCenterTop;\n dataSource[2].tooltip = messages.alignRightTop;\n dataSource[3].tooltip = messages.alignLeftBottom;\n dataSource[4].tooltip = messages.alignCenterBottom;\n dataSource[5].tooltip = messages.alignRightBottom;\n dataSource[6].tooltip = messages.alignRemove;\n this._initAlignmentDropDown(element, accessibilityAlignmentDropDownSettings, 'captionAlignment', data, accessibilityView);\n },\n _initAlignmentDropDown: function (element, settings, name, data, storage) {\n var component = storage[name] = element.kendoDropDownList(settings).data('kendoDropDownList');\n component.list.addClass('k-align').css('width', '110px');\n this._setComponentValue(component, data, name);\n },\n _initAssociationDropDown: function (element, name, settings, data, storage) {\n var component = storage[name] = element.kendoDropDownList(settings).data('kendoDropDownList');\n this._setComponentValue(component, data, name);\n },\n _setComponentValue: function (component, data, property) {\n if (property in data) {\n component.value(data[property]);\n }\n },\n _initColorPicker: function (element, property, data, storage) {\n var component = storage[property] = element.kendoColorPicker({\n buttons: false,\n clearButton: true\n }).data('kendoColorPicker');\n if (data[property]) {\n component.value(data[property]);\n }\n },\n _initInput: function (element, property, data, storage) {\n var component = storage[property] = element.get(0);\n if (property in data) {\n component.value = data[property];\n }\n },\n _initCheckbox: function (element, property, data, storage) {\n var component = storage[property] = element.get(0);\n if (property in data) {\n component.checked = data[property];\n }\n },\n destroy: function () {\n this._destroyComponents(this.components.tableView);\n this._destroyComponents(this.components.cellView);\n this._destroyComponents(this.components.accessibilityView);\n this._destroyComponents(this.components);\n delete this.components;\n },\n _destroyComponents: function (components) {\n for (var widget in components) {\n if (components[widget].destroy) {\n components[widget].destroy();\n }\n delete components[widget];\n }\n },\n _dialogTemplate: function (messages) {\n return kendo.template(dialogTemplate)({ messages: messages });\n }\n });\n kendo.ui.editor.TableWizardDialog = TableWizardDialog;\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.editor', [\n 'kendo.combobox',\n 'kendo.dropdownlist',\n 'kendo.resizable',\n 'kendo.window',\n 'kendo.colorpicker',\n 'kendo.imagebrowser',\n 'kendo.numerictextbox',\n 'util/undoredostack',\n 'editor/main',\n 'editor/dom',\n 'editor/serializer',\n 'editor/range',\n 'editor/command',\n 'editor/components',\n 'editor/toolbar',\n 'editor/immutables',\n 'editor/plugins/viewhtml',\n 'editor/plugins/link',\n 'editor/plugins/lists',\n 'editor/plugins/formatting',\n 'editor/plugins/image',\n 'editor/plugins/import',\n 'editor/plugins/insert',\n 'editor/plugins/export',\n 'editor/plugins/indent',\n 'editor/plugins/linebreak',\n 'editor/plugins/format',\n 'editor/plugins/inlineformat',\n 'editor/plugins/formatblock',\n 'editor/plugins/file',\n 'editor/plugins/tables',\n 'editor/plugins/clipboard',\n 'editor/plugins/keyboard',\n 'editor/plugins/exportpdf',\n 'editor/plugins/print',\n 'editor/plugins/formatpainter',\n 'editor/resizing/column-resizing',\n 'editor/resizing/row-resizing',\n 'editor/resizing/table-resizing',\n 'editor/resizing/table-resize-handle',\n 'editor/table-wizard/table-wizard-command',\n 'editor/table-wizard/table-wizard-dialog'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'editor',\n name: 'Editor',\n category: 'web',\n description: 'Rich text editor component',\n depends: [\n 'combobox',\n 'dropdownlist',\n 'window',\n 'colorpicker'\n ],\n features: [\n {\n id: 'editor-imagebrowser',\n name: 'Image Browser',\n description: 'Support for uploading and inserting images',\n depends: ['imagebrowser']\n },\n {\n id: 'editor-resizable',\n name: 'Resize handle',\n description: 'Support for resizing the content area via a resize handle',\n depends: ['resizable']\n },\n {\n id: 'editor-tablewizard',\n name: 'Table wizard dialog',\n description: 'Support for table properties configuration',\n depends: [\n 'tabstrip',\n 'button',\n 'numerictextbox'\n ]\n },\n {\n id: 'editor-pdf-export',\n name: 'PDF export',\n description: 'Export Editor content as PDF',\n depends: [\n 'pdf',\n 'drawing'\n ]\n }\n ]\n };\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]} \ No newline at end of file +{"version":3,"file":"kendo.custom.min.js","sources":["kendo.custom.js"],"sourcesContent":["/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.core',['jquery'], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"core\",\n name: \"Core\",\n category: \"framework\",\n description: \"The core of the Kendo framework.\"\n};\n\n/*jshint eqnull: true, loopfunc: true, evil: true, boss: true, freeze: false*/\n(function($, window, undefined) {\n var kendo = window.kendo = window.kendo || { cultures: {} },\n extend = $.extend,\n each = $.each,\n isArray = Array.isArray,\n proxy = $.proxy,\n noop = $.noop,\n math = Math,\n Template,\n JSON = window.JSON || {},\n support = {},\n percentRegExp = /%/,\n formatRegExp = /\\{(\\d+)(:[^\\}]+)?\\}/g,\n boxShadowRegExp = /(\\d+(?:\\.?)\\d*)px\\s*(\\d+(?:\\.?)\\d*)px\\s*(\\d+(?:\\.?)\\d*)px\\s*(\\d+)?/i,\n numberRegExp = /^(\\+|-?)\\d+(\\.?)\\d*$/,\n FUNCTION = \"function\",\n STRING = \"string\",\n NUMBER = \"number\",\n OBJECT = \"object\",\n NULL = \"null\",\n BOOLEAN = \"boolean\",\n UNDEFINED = \"undefined\",\n PREFIX = \"prefix\",\n getterCache = {},\n setterCache = {},\n slice = [].slice,\n cssPropertiesNames = [ \"themeColor\", \"fillMode\", \"shape\", \"size\", \"rounded\", \"positionMode\" ],\n // avoid extending the depricated properties in latest verions of jQuery\n noDepricateExtend = function() {\n var src, copyIsArray, copy, name, options, clone,\n target = arguments[ 0 ] || {},\n i = 1,\n length = arguments.length,\n deep = false;\n\n // Handle a deep copy situation\n if ( typeof target === \"boolean\" ) {\n deep = target;\n\n // skip the boolean and the target\n target = arguments[ i ] || {};\n i++;\n }\n\n // Handle case when target is a string or something (possible in deep copy)\n if ( typeof target !== \"object\" && typeof target !== \"function\") {\n target = {};\n }\n\n // extend jQuery itself if only one argument is passed\n if ( i === length ) {\n target = this;\n i--;\n }\n\n for ( ; i < length; i++ ) {\n\n // Only deal with non-null/undefined values\n if ( ( options = arguments[ i ] ) != null ) {\n\n // Extend the base object\n for ( name in options ) {\n // filters, concat and : properties are depricated in the jQuery 3.3.0\n // accessing these properties throw a warning when jQuery migrate is included\n if (name == \"filters\" || name == \"concat\" || name == \":\") {\n continue;\n }\n src = target[ name ];\n copy = options[ name ];\n\n // Prevent never-ending loop\n if ( target === copy ) {\n continue;\n }\n\n // Recurse if we're merging plain objects or arrays\n if ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n ( copyIsArray = Array.isArray( copy ) ) ) ) {\n\n if ( copyIsArray ) {\n copyIsArray = false;\n clone = src && Array.isArray( src ) ? src : [];\n\n } else {\n clone = src && jQuery.isPlainObject( src ) ? src : {};\n }\n\n // Never move original objects, clone them\n target[ name ] = noDepricateExtend( deep, clone, copy );\n\n // Don't bring in undefined values\n } else if ( copy !== undefined ) {\n target[ name ] = copy;\n }\n }\n }\n }\n\n // Return the modified object\n return target;\n };\n\n kendo.version = \"2022.1.301\".replace(/^\\s+|\\s+$/g, '');\n\n function Class() {}\n\n Class.extend = function(proto) {\n var base = function() {},\n member,\n that = this,\n subclass = proto && proto.init ? proto.init : function () {\n that.apply(this, arguments);\n },\n fn;\n\n base.prototype = that.prototype;\n fn = subclass.fn = subclass.prototype = new base();\n\n for (member in proto) {\n if (proto[member] != null && proto[member].constructor === Object) {\n // Merge object members\n fn[member] = extend(true, {}, base.prototype[member], proto[member]);\n } else {\n fn[member] = proto[member];\n }\n }\n\n fn.constructor = subclass;\n subclass.extend = that.extend;\n\n return subclass;\n };\n\n Class.prototype._initOptions = function(options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n var isFunction = kendo.isFunction = function(fn) {\n return typeof fn === \"function\";\n };\n\n var preventDefault = function() {\n this._defaultPrevented = true;\n };\n\n var isDefaultPrevented = function() {\n return this._defaultPrevented === true;\n };\n\n var Observable = Class.extend({\n init: function() {\n this._events = {};\n },\n\n bind: function(eventName, handlers, one) {\n var that = this,\n idx,\n eventNames = typeof eventName === STRING ? [eventName] : eventName,\n length,\n original,\n handler,\n handlersIsFunction = typeof handlers === FUNCTION,\n events;\n\n if (handlers === undefined) {\n for (idx in eventName) {\n that.bind(idx, eventName[idx]);\n }\n return that;\n }\n\n for (idx = 0, length = eventNames.length; idx < length; idx++) {\n eventName = eventNames[idx];\n\n handler = handlersIsFunction ? handlers : handlers[eventName];\n\n if (handler) {\n if (one) {\n original = handler;\n handler = function() {\n that.unbind(eventName, handler);\n original.apply(that, arguments);\n };\n handler.original = original;\n }\n events = that._events[eventName] = that._events[eventName] || [];\n events.push(handler);\n }\n }\n\n return that;\n },\n\n one: function(eventNames, handlers) {\n return this.bind(eventNames, handlers, true);\n },\n\n first: function(eventName, handlers) {\n var that = this,\n idx,\n eventNames = typeof eventName === STRING ? [eventName] : eventName,\n length,\n handler,\n handlersIsFunction = typeof handlers === FUNCTION,\n events;\n\n for (idx = 0, length = eventNames.length; idx < length; idx++) {\n eventName = eventNames[idx];\n\n handler = handlersIsFunction ? handlers : handlers[eventName];\n\n if (handler) {\n events = that._events[eventName] = that._events[eventName] || [];\n events.unshift(handler);\n }\n }\n\n return that;\n },\n\n trigger: function(eventName, e) {\n var that = this,\n events = that._events[eventName],\n idx,\n length;\n\n if (events) {\n e = e || {};\n\n e.sender = that;\n\n e._defaultPrevented = false;\n\n e.preventDefault = preventDefault;\n\n e.isDefaultPrevented = isDefaultPrevented;\n\n events = events.slice();\n\n for (idx = 0, length = events.length; idx < length; idx++) {\n events[idx].call(that, e);\n }\n\n return e._defaultPrevented === true;\n }\n\n return false;\n },\n\n unbind: function(eventName, handler) {\n var that = this,\n events = that._events[eventName],\n idx;\n\n if (eventName === undefined) {\n that._events = {};\n } else if (events) {\n if (handler) {\n for (idx = events.length - 1; idx >= 0; idx--) {\n if (events[idx] === handler || events[idx].original === handler) {\n events.splice(idx, 1);\n }\n }\n } else {\n that._events[eventName] = [];\n }\n }\n\n return that;\n }\n });\n\n\n function compilePart(part, stringPart) {\n if (stringPart) {\n return \"'\" +\n part.split(\"'\").join(\"\\\\'\")\n .split('\\\\\"').join('\\\\\\\\\\\\\"')\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/\\t/g, \"\\\\t\") + \"'\";\n } else {\n var first = part.charAt(0),\n rest = part.substring(1);\n\n if (first === \"=\") {\n return \"+(\" + rest + \")+\";\n } else if (first === \":\") {\n return \"+$kendoHtmlEncode(\" + rest + \")+\";\n } else {\n return \";\" + part + \";$kendoOutput+=\";\n }\n }\n }\n\n var argumentNameRegExp = /^\\w+/,\n encodeRegExp = /\\$\\{([^}]*)\\}/g,\n escapedCurlyRegExp = /\\\\\\}/g,\n curlyRegExp = /__CURLY__/g,\n escapedSharpRegExp = /\\\\#/g,\n sharpRegExp = /__SHARP__/g,\n zeros = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n\n Template = {\n paramName: \"data\", // name of the parameter of the generated template\n useWithBlock: true, // whether to wrap the template in a with() block\n render: function(template, data) {\n var idx,\n length,\n html = \"\";\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n html += template(data[idx]);\n }\n\n return html;\n },\n compile: function(template, options) {\n var settings = extend({}, this, options),\n paramName = settings.paramName,\n argumentName = paramName.match(argumentNameRegExp)[0],\n useWithBlock = settings.useWithBlock,\n functionBody = \"var $kendoOutput, $kendoHtmlEncode = kendo.htmlEncode;\",\n fn,\n parts,\n idx;\n\n if (isFunction(template)) {\n return template;\n }\n\n functionBody += useWithBlock ? \"with(\" + paramName + \"){\" : \"\";\n\n functionBody += \"$kendoOutput=\";\n\n parts = template\n .replace(escapedCurlyRegExp, \"__CURLY__\")\n .replace(encodeRegExp, \"#=$kendoHtmlEncode($1)#\")\n .replace(curlyRegExp, \"}\")\n .replace(escapedSharpRegExp, \"__SHARP__\")\n .split(\"#\");\n\n for (idx = 0; idx < parts.length; idx ++) {\n functionBody += compilePart(parts[idx], idx % 2 === 0);\n }\n\n functionBody += useWithBlock ? \";}\" : \";\";\n\n functionBody += \"return $kendoOutput;\";\n\n functionBody = functionBody.replace(sharpRegExp, \"#\");\n\n try {\n fn = new Function(argumentName, functionBody);\n fn._slotCount = Math.floor(parts.length / 2);\n return fn;\n } catch(e) {\n throw new Error(kendo.format(\"Invalid template:'{0}' Generated code:'{1}'\", template, functionBody));\n }\n }\n };\n\nfunction pad(number, digits, end) {\n number = number + \"\";\n digits = digits || 2;\n end = digits - number.length;\n\n if (end) {\n return zeros[digits].substring(0, end) + number;\n }\n\n return number;\n}\n\n //JSON stringify\n(function() {\n var escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n gap,\n indent,\n meta = {\n \"\\b\": \"\\\\b\",\n \"\\t\": \"\\\\t\",\n \"\\n\": \"\\\\n\",\n \"\\f\": \"\\\\f\",\n \"\\r\": \"\\\\r\",\n \"\\\"\" : '\\\\\"',\n \"\\\\\": \"\\\\\\\\\"\n },\n rep,\n toString = {}.toString;\n\n\n if (typeof Date.prototype.toJSON !== FUNCTION) {\n\n Date.prototype.toJSON = function () {\n var that = this;\n\n return isFinite(that.valueOf()) ?\n pad(that.getUTCFullYear(), 4) + \"-\" +\n pad(that.getUTCMonth() + 1) + \"-\" +\n pad(that.getUTCDate()) + \"T\" +\n pad(that.getUTCHours()) + \":\" +\n pad(that.getUTCMinutes()) + \":\" +\n pad(that.getUTCSeconds()) + \"Z\" : null;\n };\n\n String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function () {\n return this.valueOf();\n };\n }\n\n function quote(string) {\n escapable.lastIndex = 0;\n return escapable.test(string) ? \"\\\"\" + string.replace(escapable, function (a) {\n var c = meta[a];\n return typeof c === STRING ? c :\n \"\\\\u\" + (\"0000\" + a.charCodeAt(0).toString(16)).slice(-4);\n }) + \"\\\"\" : \"\\\"\" + string + \"\\\"\";\n }\n\n function str(key, holder) {\n var i,\n k,\n v,\n length,\n mind = gap,\n partial,\n value = holder[key],\n type;\n\n if (value && typeof value === OBJECT && typeof value.toJSON === FUNCTION) {\n value = value.toJSON(key);\n }\n\n if (typeof rep === FUNCTION) {\n value = rep.call(holder, key, value);\n }\n\n type = typeof value;\n if (type === STRING) {\n return quote(value);\n } else if (type === NUMBER) {\n return isFinite(value) ? String(value) : NULL;\n } else if (type === BOOLEAN || type === NULL) {\n return String(value);\n } else if (type === OBJECT) {\n if (!value) {\n return NULL;\n }\n gap += indent;\n partial = [];\n if (toString.apply(value) === \"[object Array]\") {\n length = value.length;\n for (i = 0; i < length; i++) {\n partial[i] = str(i, value) || NULL;\n }\n v = partial.length === 0 ? \"[]\" : gap ?\n \"[\\n\" + gap + partial.join(\",\\n\" + gap) + \"\\n\" + mind + \"]\" :\n \"[\" + partial.join(\",\") + \"]\";\n gap = mind;\n return v;\n }\n if (rep && typeof rep === OBJECT) {\n length = rep.length;\n for (i = 0; i < length; i++) {\n if (typeof rep[i] === STRING) {\n k = rep[i];\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? \": \" : \":\") + v);\n }\n }\n }\n } else {\n for (k in value) {\n if (Object.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? \": \" : \":\") + v);\n }\n }\n }\n }\n\n v = partial.length === 0 ? \"{}\" : gap ?\n \"{\\n\" + gap + partial.join(\",\\n\" + gap) + \"\\n\" + mind + \"}\" :\n \"{\" + partial.join(\",\") + \"}\";\n gap = mind;\n return v;\n }\n }\n\n if (typeof JSON.stringify !== FUNCTION) {\n JSON.stringify = function (value, replacer, space) {\n var i;\n gap = \"\";\n indent = \"\";\n\n if (typeof space === NUMBER) {\n for (i = 0; i < space; i += 1) {\n indent += \" \";\n }\n\n } else if (typeof space === STRING) {\n indent = space;\n }\n\n rep = replacer;\n if (replacer && typeof replacer !== FUNCTION && (typeof replacer !== OBJECT || typeof replacer.length !== NUMBER)) {\n throw new Error(\"JSON.stringify\");\n }\n\n return str(\"\", {\"\": value});\n };\n }\n})();\n\n// Date and Number formatting\n(function() {\n var dateFormatRegExp = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|HH|H|hh|h|mm|m|fff|ff|f|tt|ss|s|zzz|zz|z|\"[^\"]*\"|'[^']*'/g,\n standardFormatRegExp = /^(n|c|p|e)(\\d*)$/i,\n literalRegExp = /(\\\\.)|(['][^']*[']?)|([\"][^\"]*[\"]?)/g,\n commaRegExp = /\\,/g,\n EMPTY = \"\",\n POINT = \".\",\n COMMA = \",\",\n SHARP = \"#\",\n ZERO = \"0\",\n PLACEHOLDER = \"??\",\n EN = \"en-US\",\n objectToString = {}.toString;\n\n //cultures\n kendo.cultures[\"en-US\"] = {\n name: EN,\n numberFormat: {\n pattern: [\"-n\"],\n decimals: 2,\n \",\": \",\",\n \".\": \".\",\n groupSize: [3],\n percent: {\n pattern: [\"-n %\", \"n %\"],\n decimals: 2,\n \",\": \",\",\n \".\": \".\",\n groupSize: [3],\n symbol: \"%\"\n },\n currency: {\n name: \"US Dollar\",\n abbr: \"USD\",\n pattern: [\"($n)\", \"$n\"],\n decimals: 2,\n \",\": \",\",\n \".\": \".\",\n groupSize: [3],\n symbol: \"$\"\n }\n },\n calendars: {\n standard: {\n days: {\n names: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n namesAbbr: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n namesShort: [ \"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\" ]\n },\n months: {\n names: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n namesAbbr: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n },\n AM: [ \"AM\", \"am\", \"AM\" ],\n PM: [ \"PM\", \"pm\", \"PM\" ],\n patterns: {\n d: \"M/d/yyyy\",\n D: \"dddd, MMMM dd, yyyy\",\n F: \"dddd, MMMM dd, yyyy h:mm:ss tt\",\n g: \"M/d/yyyy h:mm tt\",\n G: \"M/d/yyyy h:mm:ss tt\",\n m: \"MMMM dd\",\n M: \"MMMM dd\",\n s: \"yyyy'-'MM'-'ddTHH':'mm':'ss\",\n t: \"h:mm tt\",\n T: \"h:mm:ss tt\",\n u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\",\n y: \"MMMM, yyyy\",\n Y: \"MMMM, yyyy\"\n },\n \"/\": \"/\",\n \":\": \":\",\n firstDay: 0,\n twoDigitYearMax: 2029\n }\n }\n };\n\n\n function findCulture(culture) {\n if (culture) {\n if (culture.numberFormat) {\n return culture;\n }\n\n if (typeof culture === STRING) {\n var cultures = kendo.cultures;\n return cultures[culture] || cultures[culture.split(\"-\")[0]] || null;\n }\n\n return null;\n }\n\n return null;\n }\n\n function getCulture(culture) {\n if (culture) {\n culture = findCulture(culture);\n }\n\n return culture || kendo.cultures.current;\n }\n\n kendo.culture = function(cultureName) {\n var cultures = kendo.cultures, culture;\n\n if (cultureName !== undefined) {\n culture = findCulture(cultureName) || cultures[EN];\n culture.calendar = culture.calendars.standard;\n cultures.current = culture;\n } else {\n return cultures.current;\n }\n };\n\n kendo.findCulture = findCulture;\n kendo.getCulture = getCulture;\n\n //set current culture to en-US.\n kendo.culture(EN);\n\n function formatDate(date, format, culture) {\n culture = getCulture(culture);\n\n var calendar = culture.calendars.standard,\n days = calendar.days,\n months = calendar.months;\n\n format = calendar.patterns[format] || format;\n\n return format.replace(dateFormatRegExp, function (match) {\n var minutes;\n var result;\n var sign;\n\n if (match === \"d\") {\n result = date.getDate();\n } else if (match === \"dd\") {\n result = pad(date.getDate());\n } else if (match === \"ddd\") {\n result = days.namesAbbr[date.getDay()];\n } else if (match === \"dddd\") {\n result = days.names[date.getDay()];\n } else if (match === \"M\") {\n result = date.getMonth() + 1;\n } else if (match === \"MM\") {\n result = pad(date.getMonth() + 1);\n } else if (match === \"MMM\") {\n result = months.namesAbbr[date.getMonth()];\n } else if (match === \"MMMM\") {\n result = months.names[date.getMonth()];\n } else if (match === \"yy\") {\n result = pad(date.getFullYear() % 100);\n } else if (match === \"yyyy\") {\n result = pad(date.getFullYear(), 4);\n } else if (match === \"h\" ) {\n result = date.getHours() % 12 || 12;\n } else if (match === \"hh\") {\n result = pad(date.getHours() % 12 || 12);\n } else if (match === \"H\") {\n result = date.getHours();\n } else if (match === \"HH\") {\n result = pad(date.getHours());\n } else if (match === \"m\") {\n result = date.getMinutes();\n } else if (match === \"mm\") {\n result = pad(date.getMinutes());\n } else if (match === \"s\") {\n result = date.getSeconds();\n } else if (match === \"ss\") {\n result = pad(date.getSeconds());\n } else if (match === \"f\") {\n result = math.floor(date.getMilliseconds() / 100);\n } else if (match === \"ff\") {\n result = date.getMilliseconds();\n if (result > 99) {\n result = math.floor(result / 10);\n }\n result = pad(result);\n } else if (match === \"fff\") {\n result = pad(date.getMilliseconds(), 3);\n } else if (match === \"tt\") {\n result = date.getHours() < 12 ? calendar.AM[0] : calendar.PM[0];\n } else if (match === \"zzz\") {\n minutes = date.getTimezoneOffset();\n sign = minutes < 0;\n\n result = math.abs(minutes / 60).toString().split(\".\")[0];\n minutes = math.abs(minutes) - (result * 60);\n\n result = (sign ? \"+\" : \"-\") + pad(result);\n result += \":\" + pad(minutes);\n } else if (match === \"zz\" || match === \"z\") {\n result = date.getTimezoneOffset() / 60;\n sign = result < 0;\n\n result = math.abs(result).toString().split(\".\")[0];\n result = (sign ? \"+\" : \"-\") + (match === \"zz\" ? pad(result) : result);\n }\n\n return result !== undefined ? result : match.slice(1, match.length - 1);\n });\n }\n\n //number formatting\n function formatNumber(number, format, culture) {\n culture = getCulture(culture);\n\n var numberFormat = culture.numberFormat,\n decimal = numberFormat[POINT],\n precision = numberFormat.decimals,\n pattern = numberFormat.pattern[0],\n literals = [],\n symbol,\n isCurrency, isPercent,\n customPrecision,\n formatAndPrecision,\n negative = number < 0,\n integer,\n fraction,\n integerLength,\n fractionLength,\n replacement = EMPTY,\n value = EMPTY,\n idx,\n length,\n ch,\n hasGroup,\n hasNegativeFormat,\n decimalIndex,\n sharpIndex,\n zeroIndex,\n hasZero, hasSharp,\n percentIndex,\n currencyIndex,\n startZeroIndex,\n start = -1,\n end;\n\n //return empty string if no number\n if (number === undefined) {\n return EMPTY;\n }\n\n if (!isFinite(number)) {\n return number;\n }\n\n //if no format then return number.toString() or number.toLocaleString() if culture.name is not defined\n if (!format) {\n return culture.name.length ? number.toLocaleString() : number.toString();\n }\n\n formatAndPrecision = standardFormatRegExp.exec(format);\n\n // standard formatting\n if (formatAndPrecision) {\n format = formatAndPrecision[1].toLowerCase();\n\n isCurrency = format === \"c\";\n isPercent = format === \"p\";\n\n if (isCurrency || isPercent) {\n //get specific number format information if format is currency or percent\n numberFormat = isCurrency ? numberFormat.currency : numberFormat.percent;\n decimal = numberFormat[POINT];\n precision = numberFormat.decimals;\n symbol = numberFormat.symbol;\n pattern = numberFormat.pattern[negative ? 0 : 1];\n }\n\n customPrecision = formatAndPrecision[2];\n\n if (customPrecision) {\n precision = +customPrecision;\n }\n\n //return number in exponential format\n if (format === \"e\") {\n var exp = customPrecision ? number.toExponential(precision) : number.toExponential(); // toExponential() and toExponential(undefined) differ in FF #653438.\n\n return exp.replace(POINT, numberFormat[POINT]);\n }\n\n // multiply if format is percent\n if (isPercent) {\n number *= 100;\n }\n\n number = round(number, precision);\n negative = number < 0;\n number = number.split(POINT);\n\n integer = number[0];\n fraction = number[1];\n\n //exclude \"-\" if number is negative.\n if (negative) {\n integer = integer.substring(1);\n }\n\n value = groupInteger(integer, 0, integer.length, numberFormat);\n\n if (fraction) {\n value += decimal + fraction;\n }\n\n if (format === \"n\" && !negative) {\n return value;\n }\n\n number = EMPTY;\n\n for (idx = 0, length = pattern.length; idx < length; idx++) {\n ch = pattern.charAt(idx);\n\n if (ch === \"n\") {\n number += value;\n } else if (ch === \"$\" || ch === \"%\") {\n number += symbol;\n } else {\n number += ch;\n }\n }\n\n return number;\n }\n\n //custom formatting\n //\n //separate format by sections.\n\n if (format.indexOf(\"'\") > -1 || format.indexOf(\"\\\"\") > -1 || format.indexOf(\"\\\\\") > -1) {\n format = format.replace(literalRegExp, function (match) {\n var quoteChar = match.charAt(0).replace(\"\\\\\", \"\"),\n literal = match.slice(1).replace(quoteChar, \"\");\n\n literals.push(literal);\n\n return PLACEHOLDER;\n });\n }\n\n format = format.split(\";\");\n if (negative && format[1]) {\n //get negative format\n format = format[1];\n hasNegativeFormat = true;\n } else if (number === 0 && format[2]) {\n //format for zeros\n format = format[2];\n if (format.indexOf(SHARP) == -1 && format.indexOf(ZERO) == -1) {\n //return format if it is string constant.\n return format;\n }\n } else {\n format = format[0];\n }\n\n percentIndex = format.indexOf(\"%\");\n currencyIndex = format.indexOf(\"$\");\n\n isPercent = percentIndex != -1;\n isCurrency = currencyIndex != -1;\n\n //multiply number if the format has percent\n if (isPercent) {\n number *= 100;\n }\n\n if (isCurrency && format[currencyIndex - 1] === \"\\\\\") {\n format = format.split(\"\\\\\").join(\"\");\n isCurrency = false;\n }\n\n if (isCurrency || isPercent) {\n //get specific number format information if format is currency or percent\n numberFormat = isCurrency ? numberFormat.currency : numberFormat.percent;\n decimal = numberFormat[POINT];\n precision = numberFormat.decimals;\n symbol = numberFormat.symbol;\n }\n\n hasGroup = format.indexOf(COMMA) > -1;\n if (hasGroup) {\n format = format.replace(commaRegExp, EMPTY);\n }\n\n decimalIndex = format.indexOf(POINT);\n length = format.length;\n\n if (decimalIndex != -1) {\n fraction = number.toString().split(\"e\");\n if (fraction[1]) {\n fraction = round(number, Math.abs(fraction[1]));\n } else {\n fraction = fraction[0];\n }\n fraction = fraction.split(POINT)[1] || EMPTY;\n zeroIndex = format.lastIndexOf(ZERO) - decimalIndex;\n sharpIndex = format.lastIndexOf(SHARP) - decimalIndex;\n hasZero = zeroIndex > -1;\n hasSharp = sharpIndex > -1;\n idx = fraction.length;\n\n if (!hasZero && !hasSharp) {\n format = format.substring(0, decimalIndex) + format.substring(decimalIndex + 1);\n length = format.length;\n decimalIndex = -1;\n idx = 0;\n }\n\n if (hasZero && zeroIndex > sharpIndex) {\n idx = zeroIndex;\n } else if (sharpIndex > zeroIndex) {\n if (hasSharp && idx > sharpIndex) {\n var rounded = round(number, sharpIndex, negative);\n\n while (rounded.charAt(rounded.length - 1) === ZERO && sharpIndex > 0 && sharpIndex > zeroIndex) {\n sharpIndex--;\n\n rounded = round(number, sharpIndex, negative);\n }\n\n idx = sharpIndex;\n } else if (hasZero && idx < zeroIndex) {\n idx = zeroIndex;\n }\n }\n }\n\n number = round(number, idx, negative);\n\n sharpIndex = format.indexOf(SHARP);\n startZeroIndex = zeroIndex = format.indexOf(ZERO);\n\n //define the index of the first digit placeholder\n if (sharpIndex == -1 && zeroIndex != -1) {\n start = zeroIndex;\n } else if (sharpIndex != -1 && zeroIndex == -1) {\n start = sharpIndex;\n } else {\n start = sharpIndex > zeroIndex ? zeroIndex : sharpIndex;\n }\n\n sharpIndex = format.lastIndexOf(SHARP);\n zeroIndex = format.lastIndexOf(ZERO);\n\n //define the index of the last digit placeholder\n if (sharpIndex == -1 && zeroIndex != -1) {\n end = zeroIndex;\n } else if (sharpIndex != -1 && zeroIndex == -1) {\n end = sharpIndex;\n } else {\n end = sharpIndex > zeroIndex ? sharpIndex : zeroIndex;\n }\n\n if (start == length) {\n end = start;\n }\n\n if (start != -1) {\n value = number.toString().split(POINT);\n integer = value[0];\n fraction = value[1] || EMPTY;\n\n integerLength = integer.length;\n fractionLength = fraction.length;\n\n if (negative && (number * -1) >= 0) {\n negative = false;\n }\n\n number = format.substring(0, start);\n\n if (negative && !hasNegativeFormat) {\n number += \"-\";\n }\n\n for (idx = start; idx < length; idx++) {\n ch = format.charAt(idx);\n\n if (decimalIndex == -1) {\n if (end - idx < integerLength) {\n number += integer;\n break;\n }\n } else {\n if (zeroIndex != -1 && zeroIndex < idx) {\n replacement = EMPTY;\n }\n\n if ((decimalIndex - idx) <= integerLength && decimalIndex - idx > -1) {\n number += integer;\n idx = decimalIndex;\n }\n\n if (decimalIndex === idx) {\n number += (fraction ? decimal : EMPTY) + fraction;\n idx += end - decimalIndex + 1;\n continue;\n }\n }\n\n if (ch === ZERO) {\n number += ch;\n replacement = ch;\n } else if (ch === SHARP) {\n number += replacement;\n }\n }\n\n if (hasGroup) {\n number = groupInteger(number, start + (negative && !hasNegativeFormat ? 1 : 0), Math.max(end, (integerLength + start)), numberFormat);\n }\n\n if (end >= start) {\n number += format.substring(end + 1);\n }\n\n //replace symbol placeholders\n if (isCurrency || isPercent) {\n value = EMPTY;\n for (idx = 0, length = number.length; idx < length; idx++) {\n ch = number.charAt(idx);\n value += (ch === \"$\" || ch === \"%\") ? symbol : ch;\n }\n number = value;\n }\n\n length = literals.length;\n\n if (length) {\n for (idx = 0; idx < length; idx++) {\n number = number.replace(PLACEHOLDER, literals[idx]);\n }\n }\n }\n\n return number;\n }\n\n var groupInteger = function(number, start, end, numberFormat) {\n var decimalIndex = number.indexOf(numberFormat[POINT]);\n var groupSizes = numberFormat.groupSize.slice();\n var groupSize = groupSizes.shift();\n var integer, integerLength;\n var idx, parts, value;\n var newGroupSize;\n\n end = decimalIndex !== -1 ? decimalIndex : end + 1;\n\n integer = number.substring(start, end);\n integerLength = integer.length;\n\n if (integerLength >= groupSize) {\n idx = integerLength;\n parts = [];\n\n while (idx > -1) {\n value = integer.substring(idx - groupSize, idx);\n if (value) {\n parts.push(value);\n }\n idx -= groupSize;\n newGroupSize = groupSizes.shift();\n groupSize = newGroupSize !== undefined ? newGroupSize : groupSize;\n\n if (groupSize === 0) {\n if (idx > 0) {\n parts.push(integer.substring(0, idx));\n }\n break;\n }\n }\n\n integer = parts.reverse().join(numberFormat[COMMA]);\n number = number.substring(0, start) + integer + number.substring(end);\n }\n\n return number;\n };\n\n var round = function(value, precision, negative) {\n precision = precision || 0;\n\n value = value.toString().split('e');\n value = Math.round(+(value[0] + 'e' + (value[1] ? (+value[1] + precision) : precision)));\n\n if (negative) {\n value = -value;\n }\n\n value = value.toString().split('e');\n value = +(value[0] + 'e' + (value[1] ? (+value[1] - precision) : -precision));\n\n return value.toFixed(Math.min(precision, 20));\n };\n\n var toString = function(value, fmt, culture) {\n if (fmt) {\n if (objectToString.call(value) === \"[object Date]\") {\n return formatDate(value, fmt, culture);\n } else if (typeof value === NUMBER) {\n return formatNumber(value, fmt, culture);\n }\n }\n\n return value !== undefined ? value : \"\";\n };\n\n kendo.format = function(fmt) {\n var values = arguments;\n\n return fmt.replace(formatRegExp, function(match, index, placeholderFormat) {\n var value = values[parseInt(index, 10) + 1];\n\n return toString(value, placeholderFormat ? placeholderFormat.substring(1) : \"\");\n });\n };\n\n kendo._extractFormat = function (format) {\n if (format.slice(0,3) === \"{0:\") {\n format = format.slice(3, format.length - 1);\n }\n\n return format;\n };\n\n kendo._activeElement = function() {\n try {\n return document.activeElement;\n } catch(e) {\n return document.documentElement.activeElement;\n }\n };\n\n kendo._round = round;\n kendo._outerWidth = function (element, includeMargin) { return $(element).outerWidth(includeMargin || false) || 0; };\n kendo._outerHeight = function (element, includeMargin) { return $(element).outerHeight(includeMargin || false) || 0; };\n kendo.toString = toString;\n})();\n\n\n(function() {\n var nonBreakingSpaceRegExp = /\\u00A0/g,\n spaceRegExp = /\\s/g,\n exponentRegExp = /[eE][\\-+]?[0-9]+/,\n shortTimeZoneRegExp = /[+|\\-]\\d{1,2}/,\n longTimeZoneRegExp = /[+|\\-]\\d{1,2}:?\\d{2}/,\n dateRegExp = /^\\/Date\\((.*?)\\)\\/$/,\n offsetRegExp = /[+-]\\d*/,\n FORMATS_SEQUENCE = [ [], [ \"G\", \"g\", \"F\" ], [ \"D\", \"d\", \"y\", \"m\", \"T\", \"t\" ] ],\n STANDARD_FORMATS = [\n [\n \"yyyy-MM-ddTHH:mm:ss.fffffffzzz\",\n \"yyyy-MM-ddTHH:mm:ss.fffffff\",\n \"yyyy-MM-ddTHH:mm:ss.fffzzz\",\n \"yyyy-MM-ddTHH:mm:ss.fff\",\n \"ddd MMM dd yyyy HH:mm:ss\",\n \"yyyy-MM-ddTHH:mm:sszzz\",\n \"yyyy-MM-ddTHH:mmzzz\",\n \"yyyy-MM-ddTHH:mmzz\",\n \"yyyy-MM-ddTHH:mm:ss\",\n \"yyyy-MM-dd HH:mm:ss\",\n \"yyyy/MM/dd HH:mm:ss\"\n ], [\n \"yyyy-MM-ddTHH:mm\",\n \"yyyy-MM-dd HH:mm\",\n \"yyyy/MM/dd HH:mm\"\n ], [\n \"yyyy/MM/dd\",\n \"yyyy-MM-dd\",\n \"HH:mm:ss\",\n \"HH:mm\"\n ]\n ],\n numberRegExp = {\n 2: /^\\d{1,2}/,\n 3: /^\\d{1,3}/,\n 4: /^\\d{4}/\n },\n objectToString = {}.toString;\n\n function outOfRange(value, start, end) {\n return !(value >= start && value <= end);\n }\n\n function designatorPredicate(designator) {\n return designator.charAt(0);\n }\n\n function mapDesignators(designators) {\n return $.map(designators, designatorPredicate);\n }\n\n //if date's day is different than the typed one - adjust\n function adjustDST(date, hours) {\n if (!hours && date.getHours() === 23) {\n date.setHours(date.getHours() + 2);\n }\n }\n\n function lowerArray(data) {\n var idx = 0,\n length = data.length,\n array = [];\n\n for (; idx < length; idx++) {\n array[idx] = (data[idx] + \"\").toLowerCase();\n }\n\n return array;\n }\n\n function lowerLocalInfo(localInfo) {\n var newLocalInfo = {}, property;\n\n for (property in localInfo) {\n newLocalInfo[property] = lowerArray(localInfo[property]);\n }\n\n return newLocalInfo;\n }\n\n function parseExact(value, format, culture, strict) {\n if (!value) {\n return null;\n }\n\n var lookAhead = function (match) {\n var i = 0;\n while (format[idx] === match) {\n i++;\n idx++;\n }\n if (i > 0) {\n idx -= 1;\n }\n return i;\n },\n getNumber = function(size) {\n var rg = numberRegExp[size] || new RegExp('^\\\\d{1,' + size + '}'),\n match = value.substr(valueIdx, size).match(rg);\n\n if (match) {\n match = match[0];\n valueIdx += match.length;\n return parseInt(match, 10);\n }\n return null;\n },\n getIndexByName = function (names, lower) {\n var i = 0,\n length = names.length,\n name, nameLength,\n matchLength = 0,\n matchIdx = 0,\n subValue;\n\n for (; i < length; i++) {\n name = names[i];\n nameLength = name.length;\n subValue = value.substr(valueIdx, nameLength);\n\n if (lower) {\n subValue = subValue.toLowerCase();\n }\n\n if (subValue == name && nameLength > matchLength) {\n matchLength = nameLength;\n matchIdx = i;\n }\n }\n\n if (matchLength) {\n valueIdx += matchLength;\n return matchIdx + 1;\n }\n\n return null;\n },\n checkLiteral = function() {\n var result = false;\n if (value.charAt(valueIdx) === format[idx]) {\n valueIdx++;\n result = true;\n }\n return result;\n },\n calendar = culture.calendars.standard,\n year = null,\n month = null,\n day = null,\n hours = null,\n minutes = null,\n seconds = null,\n milliseconds = null,\n idx = 0,\n valueIdx = 0,\n literal = false,\n date = new Date(),\n twoDigitYearMax = calendar.twoDigitYearMax || 2029,\n defaultYear = date.getFullYear(),\n ch, count, length, pattern,\n pmHour, UTC, matches,\n amDesignators, pmDesignators,\n hoursOffset, minutesOffset,\n hasTime, match;\n\n if (!format) {\n format = \"d\"; //shord date format\n }\n\n //if format is part of the patterns get real format\n pattern = calendar.patterns[format];\n if (pattern) {\n format = pattern;\n }\n\n format = format.split(\"\");\n length = format.length;\n\n for (; idx < length; idx++) {\n ch = format[idx];\n\n if (literal) {\n if (ch === \"'\") {\n literal = false;\n } else {\n checkLiteral();\n }\n } else {\n if (ch === \"d\") {\n count = lookAhead(\"d\");\n if (!calendar._lowerDays) {\n calendar._lowerDays = lowerLocalInfo(calendar.days);\n }\n\n if (day !== null && count > 2) {\n continue;\n }\n\n day = count < 3 ? getNumber(2) : getIndexByName(calendar._lowerDays[count == 3 ? \"namesAbbr\" : \"names\"], true);\n\n if (day === null || outOfRange(day, 1, 31)) {\n return null;\n }\n } else if (ch === \"M\") {\n count = lookAhead(\"M\");\n if (!calendar._lowerMonths) {\n calendar._lowerMonths = lowerLocalInfo(calendar.months);\n }\n month = count < 3 ? getNumber(2) : getIndexByName(calendar._lowerMonths[count == 3 ? 'namesAbbr' : 'names'], true);\n\n if (month === null || outOfRange(month, 1, 12)) {\n return null;\n }\n month -= 1; //because month is zero based\n } else if (ch === \"y\") {\n count = lookAhead(\"y\");\n year = getNumber(count);\n\n if (year === null) {\n return null;\n }\n\n if (count == 2) {\n if (typeof twoDigitYearMax === \"string\") {\n twoDigitYearMax = defaultYear + parseInt(twoDigitYearMax, 10);\n }\n\n year = (defaultYear - defaultYear % 100) + year;\n if (year > twoDigitYearMax) {\n year -= 100;\n }\n }\n } else if (ch === \"h\" ) {\n lookAhead(\"h\");\n hours = getNumber(2);\n if (hours == 12) {\n hours = 0;\n }\n if (hours === null || outOfRange(hours, 0, 11)) {\n return null;\n }\n } else if (ch === \"H\") {\n lookAhead(\"H\");\n hours = getNumber(2);\n if (hours === null || outOfRange(hours, 0, 23)) {\n return null;\n }\n } else if (ch === \"m\") {\n lookAhead(\"m\");\n minutes = getNumber(2);\n if (minutes === null || outOfRange(minutes, 0, 59)) {\n return null;\n }\n } else if (ch === \"s\") {\n lookAhead(\"s\");\n seconds = getNumber(2);\n if (seconds === null || outOfRange(seconds, 0, 59)) {\n return null;\n }\n } else if (ch === \"f\") {\n count = lookAhead(\"f\");\n\n match = value.substr(valueIdx, count).match(numberRegExp[3]);\n milliseconds = getNumber(count); //move value index position\n\n if (milliseconds !== null) {\n milliseconds = parseFloat(\"0.\" + match[0], 10);\n milliseconds = kendo._round(milliseconds, 3);\n milliseconds *= 1000;\n }\n\n if (milliseconds === null || outOfRange(milliseconds, 0, 999)) {\n return null;\n }\n\n } else if (ch === \"t\") {\n count = lookAhead(\"t\");\n amDesignators = calendar.AM;\n pmDesignators = calendar.PM;\n\n if (count === 1) {\n amDesignators = mapDesignators(amDesignators);\n pmDesignators = mapDesignators(pmDesignators);\n }\n\n pmHour = getIndexByName(pmDesignators);\n if (!pmHour && !getIndexByName(amDesignators)) {\n return null;\n }\n }\n else if (ch === \"z\") {\n UTC = true;\n count = lookAhead(\"z\");\n\n if (value.substr(valueIdx, 1) === \"Z\") {\n checkLiteral();\n continue;\n }\n\n matches = value.substr(valueIdx, 6)\n .match(count > 2 ? longTimeZoneRegExp : shortTimeZoneRegExp);\n\n if (!matches) {\n return null;\n }\n\n matches = matches[0].split(\":\");\n\n hoursOffset = matches[0];\n minutesOffset = matches[1];\n\n if (!minutesOffset && hoursOffset.length > 3) { //(+|-)[hh][mm] format is used\n valueIdx = hoursOffset.length - 2;\n minutesOffset = hoursOffset.substring(valueIdx);\n hoursOffset = hoursOffset.substring(0, valueIdx);\n }\n\n hoursOffset = parseInt(hoursOffset, 10);\n if (outOfRange(hoursOffset, -12, 13)) {\n return null;\n }\n\n if (count > 2) {\n minutesOffset = matches[0][0] + minutesOffset;\n minutesOffset = parseInt(minutesOffset, 10);\n if (isNaN(minutesOffset) || outOfRange(minutesOffset, -59, 59)) {\n return null;\n }\n }\n } else if (ch === \"'\") {\n literal = true;\n checkLiteral();\n } else if (!checkLiteral()) {\n return null;\n }\n }\n }\n\n // if more characters follow, assume wrong format\n // https://github.com/telerik/kendo-ui-core/issues/3476\n if (strict && !/^\\s*$/.test(value.substr(valueIdx))) {\n return null;\n }\n\n hasTime = hours !== null || minutes !== null || seconds || null;\n\n if (year === null && month === null && day === null && hasTime) {\n year = defaultYear;\n month = date.getMonth();\n day = date.getDate();\n } else {\n if (year === null) {\n year = defaultYear;\n }\n\n if (day === null) {\n day = 1;\n }\n }\n\n if (pmHour && hours < 12) {\n hours += 12;\n }\n\n if (UTC) {\n if (hoursOffset) {\n hours += -hoursOffset;\n }\n\n if (minutesOffset) {\n minutes += -minutesOffset;\n }\n\n value = new Date(Date.UTC(year, month, day, hours, minutes, seconds, milliseconds));\n } else {\n value = new Date(year, month, day, hours, minutes, seconds, milliseconds);\n adjustDST(value, hours);\n }\n\n if (year < 100) {\n value.setFullYear(year);\n }\n\n if (value.getDate() !== day && UTC === undefined) {\n return null;\n }\n\n return value;\n }\n\n function parseMicrosoftFormatOffset(offset) {\n var sign = offset.substr(0, 1) === \"-\" ? -1 : 1;\n\n offset = offset.substring(1);\n offset = (parseInt(offset.substr(0, 2), 10) * 60) + parseInt(offset.substring(2), 10);\n\n return sign * offset;\n }\n\n function getDefaultFormats(culture) {\n var length = math.max(FORMATS_SEQUENCE.length, STANDARD_FORMATS.length);\n var calendar = culture.calendar || culture.calendars.standard;\n var patterns = calendar.patterns;\n var cultureFormats, formatIdx, idx;\n var formats = [];\n\n for (idx = 0; idx < length; idx++) {\n cultureFormats = FORMATS_SEQUENCE[idx];\n for (formatIdx = 0; formatIdx < cultureFormats.length; formatIdx++) {\n formats.push(patterns[cultureFormats[formatIdx]]);\n }\n formats = formats.concat(STANDARD_FORMATS[idx]);\n }\n\n return formats;\n }\n\n function internalParseDate(value, formats, culture, strict) {\n if (objectToString.call(value) === \"[object Date]\") {\n return value;\n }\n\n var idx = 0;\n var date = null;\n var length;\n var tzoffset;\n\n if (value && value.indexOf(\"/D\") === 0) {\n date = dateRegExp.exec(value);\n if (date) {\n date = date[1];\n tzoffset = offsetRegExp.exec(date.substring(1));\n\n date = new Date(parseInt(date, 10));\n\n if (tzoffset) {\n tzoffset = parseMicrosoftFormatOffset(tzoffset[0]);\n date = kendo.timezone.apply(date, 0);\n date = kendo.timezone.convert(date, 0, -1 * tzoffset);\n }\n\n return date;\n }\n }\n\n culture = kendo.getCulture(culture);\n\n if (!formats) {\n formats = getDefaultFormats(culture);\n }\n\n formats = isArray(formats) ? formats: [formats];\n length = formats.length;\n\n for (; idx < length; idx++) {\n date = parseExact(value, formats[idx], culture, strict);\n if (date) {\n return date;\n }\n }\n\n return date;\n }\n\n kendo.parseDate = function(value, formats, culture) {\n return internalParseDate(value, formats, culture, false);\n };\n\n kendo.parseExactDate = function(value, formats, culture) {\n return internalParseDate(value, formats, culture, true);\n };\n\n kendo.parseInt = function(value, culture) {\n var result = kendo.parseFloat(value, culture);\n if (result) {\n result = result | 0;\n }\n return result;\n };\n\n kendo.parseFloat = function(value, culture, format) {\n if (!value && value !== 0) {\n return null;\n }\n\n if (typeof value === NUMBER) {\n return value;\n }\n\n value = value.toString();\n culture = kendo.getCulture(culture);\n\n var number = culture.numberFormat,\n percent = number.percent,\n currency = number.currency,\n symbol = currency.symbol,\n percentSymbol = percent.symbol,\n negative = value.indexOf(\"-\"),\n parts, isPercent;\n\n //handle exponential number\n if (exponentRegExp.test(value)) {\n value = parseFloat(value.replace(number[\".\"], \".\"));\n if (isNaN(value)) {\n value = null;\n }\n return value;\n }\n\n if (negative > 0) {\n return null;\n } else {\n negative = negative > -1;\n }\n\n if (value.indexOf(symbol) > -1 || (format && format.toLowerCase().indexOf(\"c\") > -1)) {\n number = currency;\n parts = number.pattern[0].replace(\"$\", symbol).split(\"n\");\n if (value.indexOf(parts[0]) > -1 && value.indexOf(parts[1]) > -1) {\n value = value.replace(parts[0], \"\").replace(parts[1], \"\");\n negative = true;\n }\n } else if (value.indexOf(percentSymbol) > -1) {\n isPercent = true;\n number = percent;\n symbol = percentSymbol;\n }\n\n value = value.replace(\"-\", \"\")\n .replace(symbol, \"\")\n .replace(nonBreakingSpaceRegExp, \" \")\n .split(number[\",\"].replace(nonBreakingSpaceRegExp, \" \")).join(\"\")\n .replace(spaceRegExp, \"\")\n .replace(number[\".\"], \".\");\n\n value = parseFloat(value);\n\n if (isNaN(value)) {\n value = null;\n } else if (negative) {\n value *= -1;\n }\n\n if (value && isPercent) {\n value /= 100;\n }\n\n return value;\n };\n})();\n\n function getShadows(element) {\n var shadow = element.css(kendo.support.transitions.css + \"box-shadow\") || element.css(\"box-shadow\"),\n radius = shadow ? shadow.match(boxShadowRegExp) || [ 0, 0, 0, 0, 0 ] : [ 0, 0, 0, 0, 0 ],\n blur = math.max((+radius[3]), +(radius[4] || 0));\n\n return {\n left: (-radius[1]) + blur,\n right: (+radius[1]) + blur,\n bottom: (+radius[2]) + blur\n };\n }\n\n function wrap(element, autosize) {\n var percentage,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n parent = element.parent(),\n windowOuterWidth = outerWidth(window);\n\n parent.removeClass(\"k-animation-container-sm\");\n\n if (!parent.hasClass(\"k-animation-container\")) {\n var width = element[0].style.width,\n height = element[0].style.height,\n percentWidth = percentRegExp.test(width),\n percentHeight = percentRegExp.test(height),\n forceWidth = element.hasClass(\"k-tooltip\") || element.is(\".k-menu-horizontal.k-context-menu\");\n\n percentage = percentWidth || percentHeight;\n\n if (!percentWidth && (!autosize || (autosize && width) || forceWidth)) { width = autosize ? outerWidth(element) + 1 : outerWidth(element); }\n if (!percentHeight && (!autosize || (autosize && height)) || element.is(\".k-menu-horizontal.k-context-menu\")) { height = outerHeight(element); }\n\n element.wrap(\n $(\"
    \")\n .addClass(\"k-animation-container\")\n .css({\n width: width,\n height: height\n }));\n parent = element.parent();\n\n if (percentage) {\n element.css({\n width: \"100%\",\n height: \"100%\",\n boxSizing: \"border-box\",\n mozBoxSizing: \"border-box\",\n webkitBoxSizing: \"border-box\"\n });\n }\n } else {\n wrapResize(element, autosize);\n }\n\n if(windowOuterWidth < outerWidth(parent)){\n parent.addClass(\"k-animation-container-sm\");\n\n wrapResize(element, autosize);\n }\n\n return parent;\n }\n\n function wrapResize(element, autosize) {\n var percentage,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n wrapper = element.parent(\".k-animation-container\"),\n wrapperStyle = wrapper[0].style;\n\n if (wrapper.is(\":hidden\")) {\n wrapper.css({\n display: \"\",\n position: \"\"\n });\n }\n\n percentage = percentRegExp.test(wrapperStyle.width) || percentRegExp.test(wrapperStyle.height);\n\n if (!percentage) {\n wrapper.css({\n width: autosize ? outerWidth(element) + 1 : outerWidth(element),\n height: outerHeight(element),\n boxSizing: \"content-box\",\n mozBoxSizing: \"content-box\",\n webkitBoxSizing: \"content-box\"\n });\n }\n }\n\n function deepExtend(destination) {\n var i = 1,\n length = arguments.length;\n\n for (i = 1; i < length; i++) {\n deepExtendOne(destination, arguments[i]);\n }\n\n return destination;\n }\n\n function deepExtendOne(destination, source) {\n var ObservableArray = kendo.data.ObservableArray,\n LazyObservableArray = kendo.data.LazyObservableArray,\n DataSource = kendo.data.DataSource,\n HierarchicalDataSource = kendo.data.HierarchicalDataSource,\n property,\n propValue,\n propType,\n propInit,\n destProp;\n\n for (property in source) {\n propValue = source[property];\n propType = typeof propValue;\n\n if (propType === OBJECT && propValue !== null) {\n propInit = propValue.constructor;\n } else {\n propInit = null;\n }\n\n if (propInit &&\n propInit !== Array && propInit !== ObservableArray && propInit !== LazyObservableArray &&\n propInit !== DataSource && propInit !== HierarchicalDataSource && propInit !== RegExp &&\n (!kendo.isFunction(window.ArrayBuffer) || propInit !== ArrayBuffer)) {\n\n if (propValue instanceof Date) {\n destination[property] = new Date(propValue.getTime());\n } else if (isFunction(propValue.clone)) {\n destination[property] = propValue.clone();\n } else {\n destProp = destination[property];\n if (typeof (destProp) === OBJECT) {\n destination[property] = destProp || {};\n } else {\n destination[property] = {};\n }\n deepExtendOne(destination[property], propValue);\n }\n } else if (propType !== UNDEFINED) {\n destination[property] = propValue;\n }\n }\n\n return destination;\n }\n\n function testRx(agent, rxs, dflt) {\n for (var rx in rxs) {\n if (rxs.hasOwnProperty(rx) && rxs[rx].test(agent)) {\n return rx;\n }\n }\n return dflt !== undefined ? dflt : agent;\n }\n\n function toHyphens(str) {\n return str.replace(/([a-z][A-Z])/g, function (g) {\n return g.charAt(0) + '-' + g.charAt(1).toLowerCase();\n });\n }\n\n function toCamelCase(str) {\n return str.replace(/\\-(\\w)/g, function (strMatch, g1) {\n return g1.toUpperCase();\n });\n }\n\n function getComputedStyles(element, properties) {\n var styles = {}, computedStyle;\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n computedStyle = document.defaultView.getComputedStyle(element, \"\");\n\n if (properties) {\n $.each(properties, function(idx, value) {\n styles[value] = computedStyle.getPropertyValue(value);\n });\n }\n } else {\n computedStyle = element.currentStyle;\n\n if (properties) {\n $.each(properties, function(idx, value) {\n styles[value] = computedStyle[toCamelCase(value)];\n });\n }\n }\n\n if (!kendo.size(styles)) {\n styles = computedStyle;\n }\n\n return styles;\n }\n\n function isScrollable(element) {\n if (element && element.className && typeof(element.className) === \"string\" && element.className.indexOf(\"k-auto-scrollable\") > -1) {\n return true;\n }\n\n var overflow = getComputedStyles(element, [\"overflow\"]).overflow;\n return overflow.indexOf(\"auto\") > -1 || overflow.indexOf(\"scroll\") > -1;\n }\n\n function scrollLeft(element, value) {\n var webkit = support.browser.webkit;\n var mozila = support.browser.mozilla;\n var browserVersion = support.browser.version;\n var el, isRtl;\n\n if(element instanceof $ && value !== undefined) {\n element.each(function(i, e) {\n scrollLeft(e, value);\n });\n\n return;\n } else {\n el = element instanceof $ ? element[0] : element;\n }\n\n if (!el) {\n return;\n }\n\n isRtl = support.isRtl(element);\n\n // After updating browser detection,\n // Test in which if should the Safari browsers go\n if (value !== undefined) {\n if (isRtl && webkit && (browserVersion < 85 || support.browser.safari)) {\n el.scrollLeft = el.scrollWidth - el.clientWidth - value;\n } else if (isRtl && (mozila || webkit) && value > 0) {\n el.scrollLeft = -value;\n } else {\n el.scrollLeft = value;\n }\n } else {\n if (isRtl && webkit && (browserVersion < 85 || support.browser.safari)) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n } else {\n return Math.abs(el.scrollLeft);\n }\n }\n }\n\n (function () {\n support._scrollbar = undefined;\n\n support.scrollbar = function (refresh) {\n if (!isNaN(support._scrollbar) && !refresh) {\n return support._scrollbar;\n } else {\n var div = document.createElement(\"div\"),\n result;\n\n div.style.cssText = \"overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block\";\n div.innerHTML = \" \";\n document.body.appendChild(div);\n\n support._scrollbar = result = div.offsetWidth - div.scrollWidth;\n\n document.body.removeChild(div);\n\n return result;\n }\n };\n\n support.isRtl = function(element) {\n return $(element).closest(\".k-rtl\").length > 0;\n };\n\n var table = document.createElement(\"table\");\n\n // Internet Explorer does not support setting the innerHTML of TBODY and TABLE elements\n try {\n table.innerHTML = \"\";\n\n support.tbodyInnerHtml = true;\n } catch (e) {\n support.tbodyInnerHtml = false;\n }\n\n support.touch = \"ontouchstart\" in window;\n\n var docStyle = document.documentElement.style;\n var transitions = support.transitions = false,\n transforms = support.transforms = false,\n elementProto = \"HTMLElement\" in window ? HTMLElement.prototype : [];\n\n support.hasHW3D = (\"WebKitCSSMatrix\" in window && \"m11\" in new window.WebKitCSSMatrix()) || \"MozPerspective\" in docStyle || \"msPerspective\" in docStyle;\n support.cssFlexbox = (\"flexWrap\" in docStyle) || (\"WebkitFlexWrap\" in docStyle) || (\"msFlexWrap\" in docStyle);\n\n each([ \"Moz\", \"webkit\", \"O\", \"ms\" ], function () {\n var prefix = this.toString(),\n hasTransitions = typeof table.style[prefix + \"Transition\"] === STRING;\n\n if (hasTransitions || typeof table.style[prefix + \"Transform\"] === STRING) {\n var lowPrefix = prefix.toLowerCase();\n\n transforms = {\n css: (lowPrefix != \"ms\") ? \"-\" + lowPrefix + \"-\" : \"\",\n prefix: prefix,\n event: (lowPrefix === \"o\" || lowPrefix === \"webkit\") ? lowPrefix : \"\"\n };\n\n if (hasTransitions) {\n transitions = transforms;\n transitions.event = transitions.event ? transitions.event + \"TransitionEnd\" : \"transitionend\";\n }\n\n return false;\n }\n });\n\n table = null;\n\n support.transforms = transforms;\n support.transitions = transitions;\n\n support.devicePixelRatio = window.devicePixelRatio === undefined ? 1 : window.devicePixelRatio;\n\n try {\n support.screenWidth = window.outerWidth || window.screen ? window.screen.availWidth : window.innerWidth;\n support.screenHeight = window.outerHeight || window.screen ? window.screen.availHeight : window.innerHeight;\n } catch(e) {\n //window.outerWidth throws error when in IE showModalDialog.\n support.screenWidth = window.screen.availWidth;\n support.screenHeight = window.screen.availHeight;\n }\n\n support.detectOS = function (ua) {\n var os = false, minorVersion, match = [],\n notAndroidPhone = !/mobile safari/i.test(ua),\n agentRxs = {\n wp: /(Windows Phone(?: OS)?)\\s(\\d+)\\.(\\d+(\\.\\d+)?)/,\n fire: /(Silk)\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n android: /(Android|Android.*(?:Opera|Firefox).*?\\/)\\s*(\\d+)\\.?(\\d+(\\.\\d+)?)?/,\n iphone: /(iPhone|iPod).*OS\\s+(\\d+)[\\._]([\\d\\._]+)/,\n ipad: /(iPad).*OS\\s+(\\d+)[\\._]([\\d_]+)/,\n meego: /(MeeGo).+NokiaBrowser\\/(\\d+)\\.([\\d\\._]+)/,\n webos: /(webOS)\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n blackberry: /(BlackBerry|BB10).*?Version\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n playbook: /(PlayBook).*?Tablet\\s*OS\\s*(\\d+)\\.(\\d+(\\.\\d+)?)/,\n windows: /(MSIE)\\s+(\\d+)\\.(\\d+(\\.\\d+)?)/,\n tizen: /(tizen).*?Version\\/(\\d+)\\.(\\d+(\\.\\d+)?)/i,\n sailfish: /(sailfish).*rv:(\\d+)\\.(\\d+(\\.\\d+)?).*firefox/i,\n ffos: /(Mobile).*rv:(\\d+)\\.(\\d+(\\.\\d+)?).*Firefox/\n },\n osRxs = {\n ios: /^i(phone|pad|pod)$/i,\n android: /^android|fire$/i,\n blackberry: /^blackberry|playbook/i,\n windows: /windows/,\n wp: /wp/,\n flat: /sailfish|ffos|tizen/i,\n meego: /meego/\n },\n formFactorRxs = {\n tablet: /playbook|ipad|fire/i\n },\n browserRxs = {\n omini: /Opera\\sMini/i,\n omobile: /Opera\\sMobi/i,\n firefox: /Firefox|Fennec/i,\n mobilesafari: /version\\/.*safari/i,\n ie: /MSIE|Windows\\sPhone/i,\n chrome: /chrome|crios/i,\n webkit: /webkit/i\n };\n\n for (var agent in agentRxs) {\n if (agentRxs.hasOwnProperty(agent)) {\n match = ua.match(agentRxs[agent]);\n if (match) {\n if (agent == \"windows\" && \"plugins\" in navigator) { return false; } // Break if not Metro/Mobile Windows\n\n os = {};\n os.device = agent;\n os.tablet = testRx(agent, formFactorRxs, false);\n os.browser = testRx(ua, browserRxs, \"default\");\n os.name = testRx(agent, osRxs);\n os[os.name] = true;\n os.majorVersion = match[2];\n os.minorVersion = (match[3] || \"0\").replace(\"_\", \".\");\n minorVersion = os.minorVersion.replace(\".\", \"\").substr(0, 2);\n os.flatVersion = os.majorVersion + minorVersion + (new Array(3 - (minorVersion.length < 3 ? minorVersion.length : 2)).join(\"0\"));\n os.cordova = typeof window.PhoneGap !== UNDEFINED || typeof window.cordova !== UNDEFINED; // Use file protocol to detect appModes.\n os.appMode = window.navigator.standalone || (/file|local|wmapp/).test(window.location.protocol) || os.cordova; // Use file protocol to detect appModes.\n\n if (os.android && (support.devicePixelRatio < 1.5 && os.flatVersion < 400 || notAndroidPhone) && (support.screenWidth > 800 || support.screenHeight > 800)) {\n os.tablet = agent;\n }\n\n break;\n }\n }\n }\n return os;\n };\n\n var mobileOS = support.mobileOS = support.detectOS(navigator.userAgent);\n\n support.wpDevicePixelRatio = mobileOS.wp ? screen.width / 320 : 0;\n\n support.hasNativeScrolling = false;\n\n if (mobileOS.ios || (mobileOS.android && mobileOS.majorVersion > 2) || mobileOS.wp) {\n support.hasNativeScrolling = mobileOS;\n }\n\n support.delayedClick = function() {\n\n // only the mobile devices with touch events do this.\n if (support.touch) {\n // All iOS devices so far (by the time I am writing this, iOS 9.0.2 is the latest),\n // delay their click events.\n if (mobileOS.ios) {\n return true;\n }\n\n if (mobileOS.android) {\n\n if (!support.browser.chrome) { // older webkits and webviews delay the click\n return true;\n }\n\n // from here on, we deal with Chrome on Android.\n if (support.browser.version < 32) {\n return false;\n }\n\n // Chrome 32+ does conditional fast clicks if the view port is not user scalable.\n return !($(\"meta[name=viewport]\").attr(\"content\") || \"\").match(/user-scalable=no/i);\n }\n }\n\n return false;\n };\n\n support.mouseAndTouchPresent = support.touch && !(support.mobileOS.ios || support.mobileOS.android);\n\n support.detectBrowser = function(ua) {\n var browser = false,\n match = [],\n chromiumEdgeMatch = [],\n browserRxs = {\n edge: /(edge)[ \\/]([\\w.]+)/i,\n webkit: /(chrome|crios)[ \\/]([\\w.]+)/i,\n safari: /(webkit)[ \\/]([\\w.]+)/i,\n opera: /(opera)(?:.*version|)[ \\/]([\\w.]+)/i,\n msie: /(msie\\s|trident.*? rv:)([\\w.]+)/i,\n mozilla: /(mozilla)(?:.*? rv:([\\w.]+)|)/i\n };\n\n for (var agent in browserRxs) {\n if (browserRxs.hasOwnProperty(agent)) {\n match = ua.match(browserRxs[agent]);\n if (match) {\n browser = {};\n browser[agent] = true;\n browser[match[1].toLowerCase().split(\" \")[0].split(\"/\")[0]] = true;\n browser.version = parseInt(document.documentMode || match[2], 10);\n\n if (browser.chrome) {\n chromiumEdgeMatch = ua.match(/(edg)[ \\/]([\\w.]+)/i);\n\n if(chromiumEdgeMatch) {\n browser.chromiumEdge = true;\n }\n }\n\n break;\n }\n }\n }\n\n return browser;\n };\n\n support.browser = support.detectBrowser(navigator.userAgent);\n\n if (!mobileOS && support.touch && support.browser.safari) {\n mobileOS = support.mobileOS = {\n ios: true,\n tablet: \"tablet\",\n device: \"ipad\"\n };\n }\n\n support.detectClipboardAccess = function() {\n var commands = {\n copy: document.queryCommandSupported ? document.queryCommandSupported(\"copy\") : false,\n cut: document.queryCommandSupported ? document.queryCommandSupported(\"cut\") : false,\n paste : document.queryCommandSupported ? document.queryCommandSupported(\"paste\") : false\n };\n\n if (support.browser.chrome) {\n //not using queryCommandSupported due to chromium issues 476508 and 542948\n commands.paste = false;\n if(support.browser.version >= 43) {\n commands.copy = true;\n commands.cut = true;\n }\n }\n\n return commands;\n };\n\n support.clipboard = support.detectClipboardAccess();\n\n support.zoomLevel = function() {\n try {\n var browser = support.browser;\n var ie11WidthCorrection = 0;\n var docEl = document.documentElement;\n\n if (browser.msie && browser.version == 11 && docEl.scrollHeight > docEl.clientHeight && !support.touch) {\n ie11WidthCorrection = support.scrollbar();\n }\n\n return support.touch ? (docEl.clientWidth / window.innerWidth) :\n browser.msie && browser.version >= 10 ? (((top || window).document.documentElement.offsetWidth + ie11WidthCorrection) / (top || window).innerWidth) : 1;\n } catch(e) {\n return 1;\n }\n };\n\n (function(browser) {\n // add browser-specific CSS class\n var cssClass = \"\",\n docElement = $(document.documentElement),\n majorVersion = parseInt(browser.version, 10);\n\n if (browser.msie) {\n cssClass = \"ie\";\n } else if (browser.mozilla) {\n cssClass = \"ff\";\n } else if (browser.safari) {\n cssClass = \"safari\";\n } else if (browser.webkit) {\n cssClass = \"webkit\";\n } else if (browser.opera) {\n cssClass = \"opera\";\n } else if (browser.edge) {\n cssClass = \"edge\";\n }\n\n if (cssClass) {\n cssClass = \"k-\" + cssClass + \" k-\" + cssClass + majorVersion;\n }\n if (support.mobileOS) {\n cssClass += \" k-mobile\";\n }\n\n if (!support.cssFlexbox) {\n cssClass += \" k-no-flexbox\";\n }\n\n docElement.addClass(cssClass);\n })(support.browser);\n\n support.eventCapture = document.documentElement.addEventListener;\n\n var input = document.createElement(\"input\");\n\n support.placeholder = \"placeholder\" in input;\n support.propertyChangeEvent = \"onpropertychange\" in input;\n\n support.input = (function() {\n var types = [\"number\", \"date\", \"time\", \"month\", \"week\", \"datetime\", \"datetime-local\"];\n var length = types.length;\n var value = \"test\";\n var result = {};\n var idx = 0;\n var type;\n\n for (;idx < length; idx++) {\n type = types[idx];\n input.setAttribute(\"type\", type);\n input.value = value;\n\n result[type.replace(\"-\", \"\")] = input.type !== \"text\" && input.value !== value;\n }\n\n return result;\n })();\n\n input.style.cssText = \"float:left;\";\n\n support.cssFloat = !!input.style.cssFloat;\n\n input = null;\n\n support.stableSort = (function() {\n // Chrome sort is not stable for more than *10* items\n // IE9+ sort is not stable for than *512* items\n var threshold = 513;\n\n var sorted = [{\n index: 0,\n field: \"b\"\n }];\n\n for (var i = 1; i < threshold; i++) {\n sorted.push({\n index: i,\n field: \"a\"\n });\n }\n\n sorted.sort(function(a, b) {\n return a.field > b.field ? 1 : (a.field < b.field ? -1 : 0);\n });\n\n return sorted[0].index === 1;\n })();\n\n support.matchesSelector = elementProto.webkitMatchesSelector || elementProto.mozMatchesSelector ||\n elementProto.msMatchesSelector || elementProto.oMatchesSelector ||\n elementProto.matchesSelector || elementProto.matches ||\n function( selector ) {\n var nodeList = document.querySelectorAll ? ( this.parentNode || document ).querySelectorAll( selector ) || [] : $(selector),\n i = nodeList.length;\n\n while (i--) {\n if (nodeList[i] == this) {\n return true;\n }\n }\n\n return false;\n };\n\n support.matchMedia = \"matchMedia\" in window;\n\n support.pushState = window.history && window.history.pushState;\n\n support.hashChange = \"onhashchange\" in window;\n\n support.customElements = \"registerElement\" in window.document;\n\n var chrome = support.browser.chrome,\n mobileChrome = support.browser.crios,\n mozilla = support.browser.mozilla,\n safari = support.browser.safari;\n support.msPointers = !chrome && window.MSPointerEvent;\n support.pointers = !chrome && !mobileChrome && !mozilla && !safari && window.PointerEvent;\n support.kineticScrollNeeded = mobileOS && (support.touch || support.msPointers || support.pointers);\n })();\n\n\n function size(obj) {\n var result = 0, key;\n for (key in obj) {\n if (obj.hasOwnProperty(key) && key != \"toJSON\") { // Ignore fake IE7 toJSON.\n result++;\n }\n }\n\n return result;\n }\n\n function getOffset(element, type, positioned) {\n if (!type) {\n type = \"offset\";\n }\n\n var offset = element[type]();\n // clone ClientRect object to JS object (jQuery3)\n var result = {\n top: offset.top,\n right: offset.right,\n bottom: offset.bottom,\n left: offset.left\n };\n\n // IE10 touch zoom is living in a separate viewport\n if (support.browser.msie && (support.pointers || support.msPointers) && !positioned) {\n var sign = support.isRtl(element) ? 1 : -1;\n\n result.top -= (window.pageYOffset - (document.documentElement.scrollTop));\n result.left -= (window.pageXOffset + (sign * document.documentElement.scrollLeft));\n }\n\n return result;\n }\n\n var directions = {\n left: { reverse: \"right\" },\n right: { reverse: \"left\" },\n down: { reverse: \"up\" },\n up: { reverse: \"down\" },\n top: { reverse: \"bottom\" },\n bottom: { reverse: \"top\" },\n \"in\": { reverse: \"out\" },\n out: { reverse: \"in\" }\n };\n\n function parseEffects(input) {\n var effects = {};\n\n each((typeof input === \"string\" ? input.split(\" \") : input), function(idx) {\n effects[idx] = this;\n });\n\n return effects;\n }\n\n function fx(element) {\n return new kendo.effects.Element(element);\n }\n\n var effects = {};\n\n $.extend(effects, {\n enabled: true,\n Element: function(element) {\n this.element = $(element);\n },\n\n promise: function(element, options) {\n if (!element.is(\":visible\")) {\n element.css({ display: element.data(\"olddisplay\") || \"block\" }).css(\"display\");\n }\n\n if (options.hide) {\n element.data(\"olddisplay\", element.css(\"display\")).hide();\n }\n\n if (options.init) {\n options.init();\n }\n\n if (options.completeCallback) {\n options.completeCallback(element); // call the external complete callback with the element\n }\n\n element.dequeue();\n },\n\n disable: function() {\n this.enabled = false;\n this.promise = this.promiseShim;\n },\n\n enable: function() {\n this.enabled = true;\n this.promise = this.animatedPromise;\n }\n });\n\n effects.promiseShim = effects.promise;\n\n function prepareAnimationOptions(options, duration, reverse, complete) {\n if (typeof options === STRING) {\n // options is the list of effect names separated by space e.g. animate(element, \"fadeIn slideDown\")\n\n // only callback is provided e.g. animate(element, options, function() {});\n if (isFunction(duration)) {\n complete = duration;\n duration = 400;\n reverse = false;\n }\n\n if (isFunction(reverse)) {\n complete = reverse;\n reverse = false;\n }\n\n if (typeof duration === BOOLEAN){\n reverse = duration;\n duration = 400;\n }\n\n options = {\n effects: options,\n duration: duration,\n reverse: reverse,\n complete: complete\n };\n }\n\n return extend({\n //default options\n effects: {},\n duration: 400, //jQuery default duration\n reverse: false,\n init: noop,\n teardown: noop,\n hide: false\n }, options, { completeCallback: options.complete, complete: noop }); // Move external complete callback, so deferred.resolve can be always executed.\n\n }\n\n function animate(element, options, duration, reverse, complete) {\n var idx = 0,\n length = element.length,\n instance;\n\n for (; idx < length; idx ++) {\n instance = $(element[idx]);\n instance.queue(function() {\n effects.promise(instance, prepareAnimationOptions(options, duration, reverse, complete));\n });\n }\n\n return element;\n }\n\n function toggleClass(element, classes, options, add) {\n if (classes) {\n classes = classes.split(\" \");\n\n each(classes, function(idx, value) {\n element.toggleClass(value, add);\n });\n }\n\n return element;\n }\n\n if (!(\"kendoAnimate\" in $.fn)) {\n extend($.fn, {\n kendoStop: function(clearQueue, gotoEnd) {\n return this.stop(clearQueue, gotoEnd);\n },\n\n kendoAnimate: function(options, duration, reverse, complete) {\n return animate(this, options, duration, reverse, complete);\n },\n\n kendoAddClass: function(classes, options){\n return kendo.toggleClass(this, classes, options, true);\n },\n\n kendoRemoveClass: function(classes, options){\n return kendo.toggleClass(this, classes, options, false);\n },\n kendoToggleClass: function(classes, options, toggle){\n return kendo.toggleClass(this, classes, options, toggle);\n }\n });\n }\n\n var ampRegExp = /&/g,\n ltRegExp = //g;\n function htmlEncode(value) {\n return (\"\" + value).replace(ampRegExp, \"&\").replace(ltRegExp, \"<\").replace(gtRegExp, \">\").replace(quoteRegExp, \""\").replace(aposRegExp, \"'\");\n }\n\n function unescape(value) {\n var template;\n\n try {\n template = window.decodeURIComponent(value);\n } catch(error) {\n // If the string contains Unicode characters\n // the decodeURIComponent() will throw an error.\n // Therefore: convert to UTF-8 character\n template = value.replace(/%u([\\dA-F]{4})|%([\\dA-F]{2})/gi, function(_, m1, m2) {\n return String.fromCharCode(parseInt(\"0x\" + (m1 || m2), 16));\n });\n }\n\n return template;\n }\n\n var eventTarget = function (e) {\n return e.target;\n };\n\n if (support.touch) {\n\n eventTarget = function(e) {\n var touches = \"originalEvent\" in e ? e.originalEvent.changedTouches : \"changedTouches\" in e ? e.changedTouches : null;\n\n return touches ? document.elementFromPoint(touches[0].clientX, touches[0].clientY) : e.target;\n };\n\n each([\"swipe\", \"swipeLeft\", \"swipeRight\", \"swipeUp\", \"swipeDown\", \"doubleTap\", \"tap\"], function(m, value) {\n $.fn[value] = function(callback) {\n return this.on(value, callback);\n };\n });\n }\n\n if (support.touch) {\n if (!support.mobileOS) {\n support.mousedown = \"mousedown touchstart\";\n support.mouseup = \"mouseup touchend\";\n support.mousemove = \"mousemove touchmove\";\n support.mousecancel = \"mouseleave touchcancel\";\n support.click = \"click\";\n support.resize = \"resize\";\n } else {\n support.mousedown = \"touchstart\";\n support.mouseup = \"touchend\";\n support.mousemove = \"touchmove\";\n support.mousecancel = \"touchcancel\";\n support.click = \"touchend\";\n support.resize = \"orientationchange\";\n }\n } else if (support.pointers) {\n support.mousemove = \"pointermove\";\n support.mousedown = \"pointerdown\";\n support.mouseup = \"pointerup\";\n support.mousecancel = \"pointercancel\";\n support.click = \"pointerup\";\n support.resize = \"orientationchange resize\";\n } else if (support.msPointers) {\n support.mousemove = \"MSPointerMove\";\n support.mousedown = \"MSPointerDown\";\n support.mouseup = \"MSPointerUp\";\n support.mousecancel = \"MSPointerCancel\";\n support.click = \"MSPointerUp\";\n support.resize = \"orientationchange resize\";\n } else {\n support.mousemove = \"mousemove\";\n support.mousedown = \"mousedown\";\n support.mouseup = \"mouseup\";\n support.mousecancel = \"mouseleave\";\n support.click = \"click\";\n support.resize = \"resize\";\n }\n\n var wrapExpression = function(members, paramName) {\n var result = paramName || \"d\",\n index,\n idx,\n length,\n member,\n count = 1;\n\n for (idx = 0, length = members.length; idx < length; idx++) {\n member = members[idx];\n if (member !== \"\") {\n index = member.indexOf(\"[\");\n\n if (index !== 0) {\n if (index == -1) {\n member = \".\" + member;\n } else {\n count++;\n member = \".\" + member.substring(0, index) + \" || {})\" + member.substring(index);\n }\n }\n\n count++;\n result += member + ((idx < length - 1) ? \" || {})\" : \")\");\n }\n }\n return new Array(count).join(\"(\") + result;\n },\n localUrlRe = /^([a-z]+:)?\\/\\//i;\n\n extend(kendo, {\n widgets: [],\n _widgetRegisteredCallbacks: [],\n ui: kendo.ui || {},\n fx: kendo.fx || fx,\n effects: kendo.effects || effects,\n mobile: kendo.mobile || { },\n data: kendo.data || {},\n dataviz: kendo.dataviz || {},\n drawing: kendo.drawing || {},\n spreadsheet: { messages: {} },\n keys: {\n INSERT: 45,\n DELETE: 46,\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n END: 35,\n HOME: 36,\n SPACEBAR: 32,\n PAGEUP: 33,\n PAGEDOWN: 34,\n F2: 113,\n F10: 121,\n F12: 123,\n NUMPAD_PLUS: 107,\n NUMPAD_MINUS: 109,\n NUMPAD_DOT: 110\n },\n support: kendo.support || support,\n animate: kendo.animate || animate,\n ns: \"\",\n attr: function(value) {\n return \"data-\" + kendo.ns + value;\n },\n getShadows: getShadows,\n wrap: wrap,\n deepExtend: deepExtend,\n getComputedStyles: getComputedStyles,\n isScrollable: isScrollable,\n scrollLeft: scrollLeft,\n size: size,\n toCamelCase: toCamelCase,\n toHyphens: toHyphens,\n getOffset: kendo.getOffset || getOffset,\n parseEffects: kendo.parseEffects || parseEffects,\n toggleClass: kendo.toggleClass || toggleClass,\n directions: kendo.directions || directions,\n Observable: Observable,\n Class: Class,\n Template: Template,\n template: proxy(Template.compile, Template),\n render: proxy(Template.render, Template),\n stringify: proxy(JSON.stringify, JSON),\n eventTarget: eventTarget,\n htmlEncode: htmlEncode,\n unescape: unescape,\n isLocalUrl: function(url) {\n return url && !localUrlRe.test(url);\n },\n\n expr: function(expression, safe, paramName) {\n expression = expression || \"\";\n\n if (typeof safe == STRING) {\n paramName = safe;\n safe = false;\n }\n\n paramName = paramName || \"d\";\n\n if (expression && expression.charAt(0) !== \"[\") {\n expression = \".\" + expression;\n }\n\n if (safe) {\n expression = expression.replace(/\"([^.]*)\\.([^\"]*)\"/g,'\"$1_$DOT$_$2\"');\n expression = expression.replace(/'([^.]*)\\.([^']*)'/g,\"'$1_$DOT$_$2'\");\n expression = wrapExpression(expression.split(\".\"), paramName);\n expression = expression.replace(/_\\$DOT\\$_/g, \".\");\n } else {\n expression = paramName + expression;\n }\n\n return expression;\n },\n\n getter: function(expression, safe) {\n var key = expression + safe;\n return getterCache[key] = getterCache[key] || new Function(\"d\", \"return \" + kendo.expr(expression, safe));\n },\n\n setter: function(expression) {\n return setterCache[expression] = setterCache[expression] || new Function(\"d,value\", kendo.expr(expression) + \"=value\");\n },\n\n accessor: function(expression) {\n return {\n get: kendo.getter(expression),\n set: kendo.setter(expression)\n };\n },\n\n guid: function() {\n var id = \"\", i, random, chars = \"abcdef\";\n\n id += chars[Math.floor(Math.random() * Math.floor(chars.length))];\n\n for (i = 1; i < 32; i++) {\n random = math.random() * 16 | 0;\n\n if (i == 8 || i == 12 || i == 16 || i == 20) {\n id += \"-\";\n }\n id += (i == 12 ? 4 : (i == 16 ? (random & 3 | 8) : random)).toString(16);\n }\n\n return id;\n },\n\n roleSelector: function(role) {\n return role.replace(/(\\S+)/g, \"[\" + kendo.attr(\"role\") + \"=$1],\").slice(0, -1);\n },\n\n directiveSelector: function(directives) {\n var selectors = directives.split(\" \");\n\n if (selectors) {\n for (var i = 0; i < selectors.length; i++) {\n if (selectors[i] != \"view\") {\n selectors[i] = selectors[i].replace(/(\\w*)(view|bar|strip|over)$/, \"$1-$2\");\n }\n }\n }\n\n return selectors.join(\" \").replace(/(\\S+)/g, \"kendo-mobile-$1,\").slice(0, -1);\n },\n\n triggeredByInput: function(e) {\n return (/^(label|input|textarea|select)$/i).test(e.target.tagName);\n },\n\n onWidgetRegistered: function(callback) {\n for (var i = 0, len = kendo.widgets.length; i < len; i++) {\n callback(kendo.widgets[i]);\n }\n\n kendo._widgetRegisteredCallbacks.push(callback);\n },\n\n logToConsole: function(message, type) {\n var console = window.console;\n\n if (!kendo.suppressLog && typeof(console) != \"undefined\" && console.log) {\n console[type || \"log\"](message);\n }\n }\n });\n\n var Widget = Observable.extend( {\n init: function(element, options) {\n var that = this;\n\n that.element = kendo.jQuery(element).handler(that);\n\n that.angular(\"init\", options);\n\n Observable.fn.init.call(that);\n\n var dataSource = options ? options.dataSource : null;\n var props;\n\n if (options) {\n props = (that.componentTypes || {})[(options || {}).componentType];\n }\n\n if (dataSource) {\n // avoid deep cloning the data source\n options = extend({}, options, { dataSource: {} });\n }\n\n options = that.options = extend(true, {}, that.options, that.defaults, props || {}, options);\n\n if (dataSource) {\n options.dataSource = dataSource;\n }\n\n if (!that.element.attr(kendo.attr(\"role\"))) {\n that.element.attr(kendo.attr(\"role\"), (options.name || \"\").toLowerCase());\n }\n\n that.element.data(\"kendo\" + options.prefix + options.name, that);\n\n that.bind(that.events, options);\n },\n\n events: [],\n\n options: {\n prefix: \"\"\n },\n\n _hasBindingTarget: function() {\n return !!this.element[0].kendoBindingTarget;\n },\n\n _tabindex: function(target) {\n target = target || this.wrapper;\n\n var element = this.element,\n TABINDEX = \"tabindex\",\n tabindex = target.attr(TABINDEX) || element.attr(TABINDEX);\n\n element.removeAttr(TABINDEX);\n\n target.attr(TABINDEX, !isNaN(tabindex) ? tabindex : 0);\n },\n\n setOptions: function(options) {\n this._clearCssClasses(options);\n this._setEvents(options);\n $.extend(this.options, options);\n this._applyCssClasses();\n },\n\n _setEvents: function(options) {\n var that = this,\n idx = 0,\n length = that.events.length,\n e;\n\n for (; idx < length; idx ++) {\n e = that.events[idx];\n if (that.options[e] && options[e]) {\n that.unbind(e, that.options[e]);\n if (that._events && that._events[e]) {\n delete that._events[e];\n }\n }\n }\n\n that.bind(that.events, options);\n },\n\n resize: function(force) {\n var size = this.getSize(),\n currentSize = this._size;\n\n if (force || (size.width > 0 || size.height > 0) && (!currentSize || size.width !== currentSize.width || size.height !== currentSize.height)) {\n this._size = size;\n this._resize(size, force);\n this.trigger(\"resize\", size);\n }\n },\n\n getSize: function() {\n return kendo.dimensions(this.element);\n },\n\n size: function(size) {\n if (!size) {\n return this.getSize();\n } else {\n this.setSize(size);\n }\n },\n\n setSize: $.noop,\n _resize: $.noop,\n\n destroy: function() {\n var that = this;\n\n that.element.removeData(\"kendo\" + that.options.prefix + that.options.name);\n that.element.removeData(\"handler\");\n that.unbind();\n },\n _destroy: function() {\n this.destroy();\n },\n angular: function(){},\n\n _muteAngularRebind: function(callback) {\n this._muteRebind = true;\n\n callback.call(this);\n\n this._muteRebind = false;\n },\n\n _applyCssClasses: function(element) {\n var protoOptions = this.__proto__.options, // jshint ignore:line\n options = this.options,\n el = element || this.wrapper || this.element,\n classes = [],\n i, prop, validFill, widgetName;\n\n if (!kendo.cssProperties.propertyDictionary[protoOptions.name]) {\n return;\n }\n\n for (i = 0; i < cssPropertiesNames.length; i++) {\n prop = cssPropertiesNames[i];\n widgetName = this.options._altname || protoOptions.name;\n\n if (protoOptions.hasOwnProperty(prop)) {\n if (prop === \"themeColor\") {\n validFill = kendo.cssProperties.getValidClass({\n widget: widgetName,\n propName: \"fillMode\",\n value: options.fillMode\n });\n\n if (validFill && validFill.length) {\n classes.push(kendo.cssProperties.getValidClass({\n widget: widgetName,\n propName: prop,\n value: options[prop],\n fill: options.fillMode\n }));\n }\n } else {\n classes.push(kendo.cssProperties.getValidClass({\n widget: widgetName,\n propName: prop,\n value: options[prop]\n }));\n }\n }\n }\n\n el.addClass(classes.join(\" \"));\n },\n\n _clearCssClasses: function(newOptions, element) {\n var protoOptions = this.__proto__.options, // jshint ignore:line\n currentOptions = this.options,\n el = element || this.wrapper || this.element,\n i, prop, widgetName;\n\n if(!kendo.cssProperties.propertyDictionary[protoOptions.name]) {\n return;\n }\n\n for(i = 0; i < cssPropertiesNames.length; i++) {\n prop = cssPropertiesNames[i];\n widgetName = this.options._altname || protoOptions.name;\n\n if(protoOptions.hasOwnProperty(prop) && newOptions.hasOwnProperty(prop)) {\n if (prop === \"themeColor\") {\n el.removeClass(kendo.cssProperties.getValidClass({\n widget: widgetName,\n propName: prop,\n value: currentOptions[prop],\n fill: currentOptions.fillMode\n }));\n } else {\n if (prop === \"fillMode\") {\n el.removeClass(kendo.cssProperties.getValidClass({\n widget: widgetName,\n propName: \"themeColor\",\n value: currentOptions.themeColor,\n fill: currentOptions.fillMode\n }));\n }\n\n el.removeClass(kendo.cssProperties.getValidClass({\n widget: widgetName,\n propName: prop,\n value: currentOptions[prop]\n }));\n }\n }\n }\n }\n });\n\n var DataBoundWidget = Widget.extend({\n // Angular consumes these.\n dataItems: function() {\n return this.dataSource.flatView();\n },\n\n _angularItems: function(cmd) {\n var that = this;\n that.angular(cmd, function(){\n return {\n elements: that.items(),\n data: $.map(that.dataItems(), function(dataItem){\n return { dataItem: dataItem };\n })\n };\n });\n }\n });\n\n kendo.dimensions = function(element, dimensions) {\n var domElement = element[0];\n\n if (dimensions) {\n element.css(dimensions);\n }\n\n return { width: domElement.offsetWidth, height: domElement.offsetHeight };\n };\n\n kendo.notify = noop;\n\n var templateRegExp = /template$/i,\n jsonRegExp = /^\\s*(?:\\{(?:.|\\r\\n|\\n)*\\}|\\[(?:.|\\r\\n|\\n)*\\])\\s*$/,\n jsonFormatRegExp = /^\\{(\\d+)(:[^\\}]+)?\\}|^\\[[A-Za-z_]+\\]$/,\n dashRegExp = /([A-Z])/g;\n\n function parseOption(element, option) {\n var value;\n\n if (option.indexOf(\"data\") === 0) {\n option = option.substring(4);\n option = option.charAt(0).toLowerCase() + option.substring(1);\n }\n\n option = option.replace(dashRegExp, \"-$1\");\n value = element.getAttribute(\"data-\" + kendo.ns + option);\n\n if (value === null) {\n value = undefined;\n } else if (value === \"null\") {\n value = null;\n } else if (value === \"true\") {\n value = true;\n } else if (value === \"false\") {\n value = false;\n } else if (numberRegExp.test(value) && option != \"mask\" && option != \"format\") {\n value = parseFloat(value);\n } else if (jsonRegExp.test(value) && !jsonFormatRegExp.test(value)) {\n value = new Function(\"return (\" + value + \")\")();\n }\n\n return value;\n }\n\n function parseOptions(element, options, source) {\n var result = {},\n option,\n value,\n role = element.getAttribute(\"data-\" + kendo.ns + \"role\");\n\n for (option in options) {\n value = parseOption(element, option);\n\n if (value !== undefined) {\n\n if (templateRegExp.test(option) && role != \"drawer\") {\n if(typeof value === \"string\") {\n if($(\"#\" + value).length){\n value = kendo.template($(\"#\" + value).html());\n }else if (source){\n value = kendo.template(source[value]);\n }\n } else {\n value = element.getAttribute(option);\n }\n }\n\n result[option] = value;\n }\n }\n\n return result;\n }\n\n kendo.initWidget = function(element, options, roles) {\n var result,\n option,\n widget,\n idx,\n length,\n role,\n value,\n dataSource,\n fullPath,\n widgetKeyRegExp;\n\n // Preserve backwards compatibility with (element, options, namespace) signature, where namespace was kendo.ui\n if (!roles) {\n roles = kendo.ui.roles;\n } else if (roles.roles) {\n roles = roles.roles;\n }\n\n element = element.nodeType ? element : element[0];\n\n role = element.getAttribute(\"data-\" + kendo.ns + \"role\");\n\n if (!role) {\n return;\n }\n\n fullPath = role.indexOf(\".\") === -1;\n\n // look for any widget that may be already instantiated based on this role.\n // The prefix used is unknown, hence the regexp\n //\n\n if (fullPath) {\n widget = roles[role];\n } else { // full namespace path - like kendo.ui.Widget\n widget = kendo.getter(role)(window);\n }\n\n var data = $(element).data(),\n widgetKey = widget ? \"kendo\" + widget.fn.options.prefix + widget.fn.options.name : \"\";\n\n if (fullPath) {\n widgetKeyRegExp = new RegExp(\"^kendo.*\" + role + \"$\", \"i\");\n } else { // full namespace path - like kendo.ui.Widget\n widgetKeyRegExp = new RegExp(\"^\" + widgetKey + \"$\", \"i\");\n }\n\n for(var key in data) {\n if (key.match(widgetKeyRegExp)) {\n // we have detected a widget of the same kind - save its reference, we will set its options\n if (key === widgetKey) {\n result = data[key];\n } else {\n return data[key];\n }\n }\n }\n\n if (!widget) {\n return;\n }\n\n dataSource = parseOption(element, \"dataSource\");\n\n options = $.extend({}, parseOptions(element, $.extend({}, widget.fn.options, widget.fn.defaults) ), options);\n\n if (dataSource) {\n if (typeof dataSource === STRING) {\n options.dataSource = kendo.getter(dataSource)(window);\n } else {\n options.dataSource = dataSource;\n }\n }\n\n for (idx = 0, length = widget.fn.events.length; idx < length; idx++) {\n option = widget.fn.events[idx];\n\n value = parseOption(element, option);\n\n if (value !== undefined) {\n options[option] = kendo.getter(value)(window);\n }\n }\n\n if (!result) {\n result = new widget(element, options);\n } else if (!$.isEmptyObject(options)) {\n result.setOptions(options);\n }\n\n return result;\n };\n\n kendo.rolesFromNamespaces = function(namespaces) {\n var roles = [],\n idx,\n length;\n\n if (!namespaces[0]) {\n namespaces = [kendo.ui, kendo.dataviz.ui];\n }\n\n for (idx = 0, length = namespaces.length; idx < length; idx ++) {\n roles[idx] = namespaces[idx].roles;\n }\n\n return extend.apply(null, [{}].concat(roles.reverse()));\n };\n\n kendo.init = function(element) {\n var roles = kendo.rolesFromNamespaces(slice.call(arguments, 1));\n\n $(element).find(\"[data-\" + kendo.ns + \"role]\").addBack().each(function(){\n kendo.initWidget(this, {}, roles);\n });\n };\n\n kendo.destroy = function(element) {\n $(element).find(\"[data-\" + kendo.ns + \"role]\").addBack().each(function(){\n var data = $(this).data();\n\n for (var key in data) {\n if (key.indexOf(\"kendo\") === 0 && typeof data[key].destroy === FUNCTION) {\n data[key].destroy();\n }\n }\n });\n };\n\n function containmentComparer(a, b) {\n return $.contains(a, b) ? -1 : 1;\n }\n\n function resizableWidget() {\n var widget = $(this);\n return ($.inArray(widget.attr(\"data-\" + kendo.ns + \"role\"), [\"slider\", \"rangeslider\", \"breadcrumb\"]) > -1) || widget.is(\":visible\");\n }\n\n kendo.resize = function(element, force) {\n var widgets = $(element).find(\"[data-\" + kendo.ns + \"role]\").addBack().filter(resizableWidget);\n\n if (!widgets.length) {\n return;\n }\n\n // sort widgets based on their parent-child relation\n var widgetsArray = $.makeArray(widgets);\n widgetsArray.sort(containmentComparer);\n\n // resize widgets\n $.each(widgetsArray, function () {\n var widget = kendo.widgetInstance($(this));\n if (widget) {\n widget.resize(force);\n }\n });\n };\n\n kendo.parseOptions = parseOptions;\n\n extend(kendo.ui, {\n Widget: Widget,\n DataBoundWidget: DataBoundWidget,\n roles: {},\n progress: function(container, toggle, options) {\n var mask = container.find(\".k-loading-mask\"),\n support = kendo.support,\n browser = support.browser,\n isRtl, leftRight, webkitCorrection, containerScrollLeft, cssClass;\n\n options = $.extend({}, {\n width: \"100%\",\n height: \"100%\",\n top: container.scrollTop(),\n opacity: false\n }, options);\n\n cssClass = options.opacity ? 'k-loading-mask k-opaque' : 'k-loading-mask';\n\n if (toggle) {\n if (!mask.length) {\n isRtl = support.isRtl(container);\n leftRight = isRtl ? \"right\" : \"left\";\n containerScrollLeft = kendo.scrollLeft(container);\n webkitCorrection = browser.webkit ? (!isRtl ? 0 : container[0].scrollWidth - container.width() - 2 * containerScrollLeft) : 0;\n\n mask = $(kendo.format(\"
    {1}
    \", cssClass, kendo.ui.progress.messages.loading))\n .width(options.width).height(options.height)\n .css(\"top\", options.top)\n .css(leftRight, Math.abs(containerScrollLeft) + webkitCorrection)\n .prependTo(container);\n }\n } else if (mask) {\n mask.remove();\n }\n },\n plugin: function(widget, register, prefix) {\n var name = widget.fn.options.name,\n getter;\n\n register = register || kendo.ui;\n prefix = prefix || \"\";\n\n register[name] = widget;\n\n register.roles[name.toLowerCase()] = widget;\n\n getter = \"getKendo\" + prefix + name;\n name = \"kendo\" + prefix + name;\n\n var widgetEntry = { name: name, widget: widget, prefix: prefix || \"\" };\n kendo.widgets.push(widgetEntry);\n\n for (var i = 0, len = kendo._widgetRegisteredCallbacks.length; i < len; i++) {\n kendo._widgetRegisteredCallbacks[i](widgetEntry);\n }\n\n $.fn[name] = function(options) {\n var value = this,\n args;\n\n if (typeof options === STRING) {\n args = slice.call(arguments, 1);\n\n this.each(function(){\n var widget = $.data(this, name),\n method,\n result;\n\n if (!widget) {\n throw new Error(kendo.format(\"Cannot call method '{0}' of {1} before it is initialized\", options, name));\n }\n\n method = widget[options];\n\n if (typeof method !== FUNCTION) {\n throw new Error(kendo.format(\"Cannot find method '{0}' of {1}\", options, name));\n }\n\n result = method.apply(widget, args);\n\n if (result !== undefined) {\n value = result;\n return false;\n }\n });\n } else {\n this.each(function() {\n return new widget(this, options);\n });\n }\n\n return value;\n };\n\n $.fn[name].widget = widget;\n\n $.fn[getter] = function() {\n return this.data(name);\n };\n }\n });\n\n kendo.ui.progress.messages = {\n loading: \"Loading...\"\n };\n\n var ContainerNullObject = { bind: function () { return this; }, nullObject: true, options: {} };\n\n var MobileWidget = Widget.extend({\n init: function(element, options) {\n Widget.fn.init.call(this, element, options);\n this.element.autoApplyNS();\n this.wrapper = this.element;\n this.element.addClass(\"km-widget\");\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this.element.kendoDestroy();\n },\n\n options: {\n prefix: \"Mobile\"\n },\n\n events: [],\n\n view: function() {\n var viewElement = this.element.closest(kendo.roleSelector(\"view splitview modalview drawer\"));\n return kendo.widgetInstance(viewElement, kendo.mobile.ui) || ContainerNullObject;\n },\n\n viewHasNativeScrolling: function() {\n var view = this.view();\n return view && view.options.useNativeScrolling;\n },\n\n container: function() {\n var element = this.element.closest(kendo.roleSelector(\"view layout modalview drawer splitview\"));\n return kendo.widgetInstance(element.eq(0), kendo.mobile.ui) || ContainerNullObject;\n }\n });\n\n extend(kendo.mobile, {\n init: function(element) {\n kendo.init(element, kendo.mobile.ui, kendo.ui, kendo.dataviz.ui);\n },\n\n appLevelNativeScrolling: function() {\n return kendo.mobile.application && kendo.mobile.application.options && kendo.mobile.application.options.useNativeScrolling;\n },\n\n roles: {},\n\n ui: {\n Widget: MobileWidget,\n DataBoundWidget: DataBoundWidget.extend(MobileWidget.prototype),\n roles: {},\n plugin: function(widget) {\n kendo.ui.plugin(widget, kendo.mobile.ui, \"Mobile\");\n }\n }\n });\n\n deepExtend(kendo.dataviz, {\n init: function(element) {\n kendo.init(element, kendo.dataviz.ui);\n },\n ui: {\n roles: {},\n themes: {},\n views: [],\n plugin: function(widget) {\n kendo.ui.plugin(widget, kendo.dataviz.ui);\n }\n },\n roles: {}\n });\n\n kendo.touchScroller = function(elements, options) {\n // return the first touch scroller\n if (!options){ options = {}; }\n\n options.useNative = true;\n\n return $(elements).map(function(idx, element) {\n element = $(element);\n if (support.kineticScrollNeeded && kendo.mobile.ui.Scroller && !element.data(\"kendoMobileScroller\")) {\n element.kendoMobileScroller(options);\n return element.data(\"kendoMobileScroller\");\n } else {\n return false;\n }\n })[0];\n };\n\n kendo.preventDefault = function(e) {\n e.preventDefault();\n };\n\n kendo.widgetInstance = function(element, suites) {\n var role = element.data(kendo.ns + \"role\"),\n widgets = [], i, length,\n elementData = element.data(\"kendoView\");\n\n if (role) {\n // HACK!!! mobile view scroller widgets are instantiated on data-role=\"content\" elements. We need to discover them when resizing.\n if (role === \"content\") {\n role = \"scroller\";\n }\n\n // kendoEditorToolbar is not a public plugin, thus it does not exist in kendo.ui.roles.\n // Therefore, this is needed in order to be resized when placed in Kendo Window.\n if (role === \"editortoolbar\") {\n var editorToolbar = element.data(\"kendoEditorToolbar\");\n if (editorToolbar) {\n return editorToolbar;\n }\n }\n\n // kendo.View is not a ui plugin\n\n if (role === \"view\" && elementData) {\n return elementData;\n }\n\n if (suites) {\n if (suites[0]) {\n for (i = 0, length = suites.length; i < length; i ++) {\n widgets.push(suites[i].roles[role]);\n }\n } else {\n widgets.push(suites.roles[role]);\n }\n }\n else {\n widgets = [ kendo.ui.roles[role], kendo.dataviz.ui.roles[role], kendo.mobile.ui.roles[role] ];\n }\n\n if (role.indexOf(\".\") >= 0) {\n widgets = [ kendo.getter(role)(window) ];\n }\n\n for (i = 0, length = widgets.length; i < length; i ++) {\n var widget = widgets[i];\n if (widget) {\n var instance = element.data(\"kendo\" + widget.fn.options.prefix + widget.fn.options.name);\n if (instance) {\n return instance;\n }\n }\n }\n }\n };\n\n kendo.onResize = function(callback) {\n var handler = callback;\n if (support.mobileOS.android) {\n handler = function() { setTimeout(callback, 600); };\n }\n\n $(window).on(support.resize, handler);\n return handler;\n };\n\n kendo.unbindResize = function(callback) {\n $(window).off(support.resize, callback);\n };\n\n kendo.attrValue = function(element, key) {\n return element.data(kendo.ns + key);\n };\n\n kendo.days = {\n Sunday: 0,\n Monday: 1,\n Tuesday: 2,\n Wednesday: 3,\n Thursday: 4,\n Friday: 5,\n Saturday: 6\n };\n\n function focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n\n return (/input|select|textarea|button|object/.test(nodeName) ?\n !element.disabled :\n \"a\" === nodeName ?\n element.href || isTabIndexNotNaN :\n isTabIndexNotNaN\n ) &&\n visible(element);\n }\n\n function visible(element) {\n return $.expr.pseudos.visible(element) &&\n !$(element).parents().addBack().filter(function() {\n return $.css(this,\"visibility\") === \"hidden\";\n }).length;\n }\n\n $.extend($.expr.pseudos, {\n kendoFocusable: function(element) {\n var idx = $.attr(element, \"tabindex\");\n return focusable(element, !isNaN(idx) && idx > -1);\n }\n });\n\n var MOUSE_EVENTS = [\"mousedown\", \"mousemove\", \"mouseenter\", \"mouseleave\", \"mouseover\", \"mouseout\", \"mouseup\", \"click\"];\n var EXCLUDE_BUST_CLICK_SELECTOR = \"label, input, [data-rel=external]\";\n\n var MouseEventNormalizer = {\n setupMouseMute: function() {\n var idx = 0,\n length = MOUSE_EVENTS.length,\n element = document.documentElement;\n\n if (MouseEventNormalizer.mouseTrap || !support.eventCapture) {\n return;\n }\n\n MouseEventNormalizer.mouseTrap = true;\n\n MouseEventNormalizer.bustClick = false;\n MouseEventNormalizer.captureMouse = false;\n\n var handler = function(e) {\n if (MouseEventNormalizer.captureMouse) {\n if (e.type === \"click\") {\n if (MouseEventNormalizer.bustClick && !$(e.target).is(EXCLUDE_BUST_CLICK_SELECTOR)) {\n e.preventDefault();\n e.stopPropagation();\n }\n } else {\n e.stopPropagation();\n }\n }\n };\n\n for (; idx < length; idx++) {\n element.addEventListener(MOUSE_EVENTS[idx], handler, true);\n }\n },\n\n muteMouse: function(e) {\n MouseEventNormalizer.captureMouse = true;\n if (e.data.bustClick) {\n MouseEventNormalizer.bustClick = true;\n }\n clearTimeout(MouseEventNormalizer.mouseTrapTimeoutID);\n },\n\n unMuteMouse: function() {\n clearTimeout(MouseEventNormalizer.mouseTrapTimeoutID);\n MouseEventNormalizer.mouseTrapTimeoutID = setTimeout(function() {\n MouseEventNormalizer.captureMouse = false;\n MouseEventNormalizer.bustClick = false;\n }, 400);\n }\n };\n\n var eventMap = {\n down: \"touchstart mousedown\",\n move: \"mousemove touchmove\",\n up: \"mouseup touchend touchcancel\",\n cancel: \"mouseleave touchcancel\"\n };\n\n if (support.touch && (support.mobileOS.ios || support.mobileOS.android)) {\n eventMap = {\n down: \"touchstart\",\n move: \"touchmove\",\n up: \"touchend touchcancel\",\n cancel: \"touchcancel\"\n };\n } else if (support.pointers) {\n eventMap = {\n down: \"pointerdown\",\n move: \"pointermove\",\n up: \"pointerup\",\n cancel: \"pointercancel pointerleave\"\n };\n } else if (support.msPointers) {\n eventMap = {\n down: \"MSPointerDown\",\n move: \"MSPointerMove\",\n up: \"MSPointerUp\",\n cancel: \"MSPointerCancel MSPointerLeave\"\n };\n }\n\n if (support.msPointers && !(\"onmspointerenter\" in window)) { // IE10\n // Create MSPointerEnter/MSPointerLeave events using mouseover/out and event-time checks\n $.each({\n MSPointerEnter: \"MSPointerOver\",\n MSPointerLeave: \"MSPointerOut\"\n }, function( orig, fix ) {\n $.event.special[ orig ] = {\n delegateType: fix,\n bindType: fix,\n\n handle: function( event ) {\n var ret,\n target = this,\n related = event.relatedTarget,\n handleObj = event.handleObj;\n\n // For mousenter/leave call the handler if related is outside the target.\n // NB: No relatedTarget if the mouse left/entered the browser window\n if ( !related || (related !== target && !$.contains( target, related )) ) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply( this, arguments );\n event.type = fix;\n }\n return ret;\n }\n };\n });\n }\n\n\n var getEventMap = function(e) { return (eventMap[e] || e); },\n eventRegEx = /([^ ]+)/g;\n\n kendo.applyEventMap = function(events, ns) {\n events = events.replace(eventRegEx, getEventMap);\n\n if (ns) {\n events = events.replace(eventRegEx, \"$1.\" + ns);\n }\n\n return events;\n };\n\n kendo.keyDownHandler = function(e, widget) {\n var events = widget._events.kendoKeydown;\n\n if(!events){\n return true;\n }\n\n events = events.slice();\n e.sender = widget;\n e.preventKendoKeydown = false;\n for (var idx = 0, length = events.length; idx < length; idx++) {\n events[idx].call(widget, e);\n }\n\n return !e.preventKendoKeydown;\n };\n\n var on = $.fn.on;\n\n function kendoJQuery(selector, context) {\n return new kendoJQuery.fn.init(selector, context);\n }\n\n noDepricateExtend(true, kendoJQuery, $);\n\n kendoJQuery.fn = kendoJQuery.prototype = new $();\n\n kendoJQuery.fn.constructor = kendoJQuery;\n\n kendoJQuery.fn.init = function(selector, context) {\n if (context && context instanceof $ && !(context instanceof kendoJQuery)) {\n context = kendoJQuery(context);\n }\n\n return $.fn.init.call(this, selector, context, rootjQuery);\n };\n\n kendoJQuery.fn.init.prototype = kendoJQuery.fn;\n\n var rootjQuery = kendoJQuery(document);\n\n extend(kendoJQuery.fn, {\n handler: function(handler) {\n this.data(\"handler\", handler);\n return this;\n },\n\n autoApplyNS: function(ns) {\n this.data(\"kendoNS\", ns || kendo.guid());\n return this;\n },\n\n on: function() {\n var that = this,\n ns = that.data(\"kendoNS\");\n\n // support for event map signature\n if (arguments.length === 1) {\n return on.call(that, arguments[0]);\n }\n\n var context = that,\n args = slice.call(arguments);\n\n if (typeof args[args.length -1] === UNDEFINED) {\n args.pop();\n }\n\n var callback = args[args.length - 1],\n events = kendo.applyEventMap(args[0], ns);\n\n // setup mouse trap\n if (support.mouseAndTouchPresent && events.search(/mouse|click/) > -1 && this[0] !== document.documentElement) {\n MouseEventNormalizer.setupMouseMute();\n\n var selector = args.length === 2 ? null : args[1],\n bustClick = events.indexOf(\"click\") > -1 && events.indexOf(\"touchend\") > -1;\n\n on.call(this,\n {\n touchstart: MouseEventNormalizer.muteMouse,\n touchend: MouseEventNormalizer.unMuteMouse\n },\n selector,\n {\n bustClick: bustClick\n });\n }\n\n if(arguments[0].indexOf(\"keydown\") !== -1 && args[1] && args[1].options){\n args[0] = events;\n var widget = args[1];\n var keyDownCallBack = args[args.length - 1];\n args[args.length - 1]= function(e){\n if(kendo.keyDownHandler(e, widget)){\n return keyDownCallBack.apply(this, [e]);\n }\n };\n on.apply(that, args);\n return that;\n }\n\n if (typeof callback === STRING) {\n context = that.data(\"handler\");\n callback = context[callback];\n\n args[args.length - 1] = function(e) {\n callback.call(context, e);\n };\n }\n\n args[0] = events;\n\n on.apply(that, args);\n\n return that;\n },\n\n kendoDestroy: function(ns) {\n ns = ns || this.data(\"kendoNS\");\n\n if (ns) {\n this.off(\".\" + ns);\n }\n\n return this;\n }\n });\n\n kendo.jQuery = kendoJQuery;\n kendo.eventMap = eventMap;\n\n kendo.timezone = (function(){\n var months = { Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 };\n var days = { Sun: 0, Mon: 1, Tue: 2, Wed: 3, Thu: 4, Fri: 5, Sat: 6 };\n\n function ruleToDate(year, rule) {\n var date;\n var targetDay;\n var ourDay;\n var month = rule[3];\n var on = rule[4];\n var time = rule[5];\n var cache = rule[8];\n\n if (!cache) {\n rule[8] = cache = {};\n }\n\n if (cache[year]) {\n return cache[year];\n }\n\n if (!isNaN(on)) {\n date = new Date(Date.UTC(year, months[month], on, time[0], time[1], time[2], 0));\n } else if (on.indexOf(\"last\") === 0) {\n date = new Date(Date.UTC(year, months[month] + 1, 1, time[0] - 24, time[1], time[2], 0));\n\n targetDay = days[on.substr(4, 3)];\n ourDay = date.getUTCDay();\n\n date.setUTCDate(date.getUTCDate() + targetDay - ourDay - (targetDay > ourDay ? 7 : 0));\n } else if (on.indexOf(\">=\") >= 0) {\n date = new Date(Date.UTC(year, months[month], on.substr(5), time[0], time[1], time[2], 0));\n\n targetDay = days[on.substr(0, 3)];\n ourDay = date.getUTCDay();\n\n date.setUTCDate(date.getUTCDate() + targetDay - ourDay + (targetDay < ourDay ? 7 : 0));\n } else if (on.indexOf(\"<=\") >= 0) {\n date = new Date(Date.UTC(year, months[month], on.substr(5), time[0], time[1], time[2], 0));\n\n targetDay = days[on.substr(0, 3)];\n ourDay = date.getUTCDay();\n\n date.setUTCDate(date.getUTCDate() + targetDay - ourDay - (targetDay > ourDay ? 7 : 0));\n }\n\n return cache[year] = date;\n }\n\n function findRule(utcTime, rules, zone) {\n rules = rules[zone];\n\n if (!rules) {\n var time = zone.split(\":\");\n var offset = 0;\n\n if (time.length > 1) {\n offset = time[0] * 60 + Number(time[1]);\n }\n\n return [-1000000, 'max', '-', 'Jan', 1, [0, 0, 0], offset, '-'];\n }\n\n var year = new Date(utcTime).getUTCFullYear();\n\n rules = jQuery.grep(rules, function(rule) {\n var from = rule[0];\n var to = rule[1];\n\n return from <= year && (to >= year || (from == year && to == \"only\") || to == \"max\");\n });\n\n rules.push(utcTime);\n\n rules.sort(function(a, b) {\n if (typeof a != \"number\") {\n a = Number(ruleToDate(year, a));\n }\n\n if (typeof b != \"number\") {\n b = Number(ruleToDate(year, b));\n }\n\n return a - b;\n });\n\n var rule = rules[jQuery.inArray(utcTime, rules) - 1] || rules[rules.length - 1];\n\n return isNaN(rule) ? rule : null;\n }\n\n function findZone(utcTime, zones, timezone) {\n var zoneRules = zones[timezone];\n\n if (typeof zoneRules === \"string\") {\n zoneRules = zones[zoneRules];\n }\n\n if (!zoneRules) {\n throw new Error('Timezone \"' + timezone + '\" is either incorrect, or kendo.timezones.min.js is not included.');\n }\n\n for (var idx = zoneRules.length - 1; idx >= 0; idx--) {\n var until = zoneRules[idx][3];\n\n if (until && utcTime > until) {\n break;\n }\n }\n\n var zone = zoneRules[idx + 1];\n\n if (!zone) {\n throw new Error('Timezone \"' + timezone + '\" not found on ' + utcTime + \".\");\n }\n\n return zone;\n }\n\n function zoneAndRule(utcTime, zones, rules, timezone) {\n if (typeof utcTime != NUMBER) {\n utcTime = Date.UTC(utcTime.getFullYear(), utcTime.getMonth(),\n utcTime.getDate(), utcTime.getHours(), utcTime.getMinutes(),\n utcTime.getSeconds(), utcTime.getMilliseconds());\n }\n\n var zone = findZone(utcTime, zones, timezone);\n\n return {\n zone: zone,\n rule: findRule(utcTime, rules, zone[1])\n };\n }\n\n function offset(utcTime, timezone) {\n if (timezone == \"Etc/UTC\" || timezone == \"Etc/GMT\") {\n return 0;\n }\n\n var info = zoneAndRule(utcTime, this.zones, this.rules, timezone);\n var zone = info.zone;\n var rule = info.rule;\n\n return kendo.parseFloat(rule? zone[0] - rule[6] : zone[0]);\n }\n\n function abbr(utcTime, timezone) {\n var info = zoneAndRule(utcTime, this.zones, this.rules, timezone);\n var zone = info.zone;\n var rule = info.rule;\n\n var base = zone[2];\n\n if (base.indexOf(\"/\") >= 0) {\n return base.split(\"/\")[rule && +rule[6] ? 1 : 0];\n } else if (base.indexOf(\"%s\") >= 0) {\n return base.replace(\"%s\", (!rule || rule[7] == \"-\") ? '' : rule[7]);\n }\n\n return base;\n }\n\n function convert(date, fromOffset, toOffset) {\n var tempToOffset = toOffset;\n var diff;\n\n if (typeof fromOffset == STRING) {\n fromOffset = this.offset(date, fromOffset);\n }\n\n if (typeof toOffset == STRING) {\n toOffset = this.offset(date, toOffset);\n }\n\n var fromLocalOffset = date.getTimezoneOffset();\n\n date = new Date(date.getTime() + (fromOffset - toOffset) * 60000);\n\n var toLocalOffset = date.getTimezoneOffset();\n\n if (typeof tempToOffset == STRING) {\n tempToOffset = this.offset(date, tempToOffset);\n }\n\n diff = (toLocalOffset - fromLocalOffset) + (toOffset - tempToOffset);\n\n return new Date(date.getTime() + diff * 60000);\n }\n\n function apply(date, timezone) {\n return this.convert(date, date.getTimezoneOffset(), timezone);\n }\n\n function remove(date, timezone) {\n return this.convert(date, timezone, date.getTimezoneOffset());\n }\n\n function toLocalDate(time) {\n return this.apply(new Date(time), \"Etc/UTC\");\n }\n\n return {\n zones: {},\n rules: {},\n offset: offset,\n convert: convert,\n apply: apply,\n remove: remove,\n abbr: abbr,\n toLocalDate: toLocalDate\n };\n })();\n\n kendo.date = (function(){\n var MS_PER_MINUTE = 60000,\n MS_PER_DAY = 86400000;\n\n function adjustDST(date, hours) {\n if (hours === 0 && date.getHours() === 23) {\n date.setHours(date.getHours() + 2);\n return true;\n }\n\n return false;\n }\n\n function setDayOfWeek(date, day, dir) {\n var hours = date.getHours();\n\n dir = dir || 1;\n day = ((day - date.getDay()) + (7 * dir)) % 7;\n\n date.setDate(date.getDate() + day);\n adjustDST(date, hours);\n }\n\n function dayOfWeek(date, day, dir) {\n date = new Date(date);\n setDayOfWeek(date, day, dir);\n return date;\n }\n\n function firstDayOfMonth(date) {\n return new Date(\n date.getFullYear(),\n date.getMonth(),\n 1\n );\n }\n\n function lastDayOfMonth(date) {\n var last = new Date(date.getFullYear(), date.getMonth() + 1, 0),\n first = firstDayOfMonth(date),\n timeOffset = Math.abs(last.getTimezoneOffset() - first.getTimezoneOffset());\n\n if (timeOffset) {\n last.setHours(first.getHours() + (timeOffset / 60));\n }\n\n return last;\n }\n\n function firstDayOfYear(date) {\n return new Date(date.getFullYear(), 0, 1);\n }\n\n function lastDayOfYear(date) {\n return new Date(date.getFullYear(), 11, 31);\n }\n\n function moveDateToWeekStart(date, weekStartDay) {\n if (weekStartDay !== 1) {\n return addDays(dayOfWeek(date, weekStartDay, -1), 4);\n }\n\n return addDays(date, (4 - (date.getDay() || 7)));\n }\n\n function calcWeekInYear(date, weekStartDay) {\n var firstWeekInYear = new Date(date.getFullYear(), 0, 1, -6);\n\n var newDate = moveDateToWeekStart(date, weekStartDay);\n\n var diffInMS = newDate.getTime() - firstWeekInYear.getTime();\n\n var days = Math.floor(diffInMS / MS_PER_DAY);\n\n return 1 + Math.floor(days / 7);\n }\n\n function weekInYear(date, weekStartDay) {\n if(weekStartDay === undefined) {\n weekStartDay = kendo.culture().calendar.firstDay;\n }\n\n var prevWeekDate = addDays(date, -7);\n var nextWeekDate = addDays(date, 7);\n\n var weekNumber = calcWeekInYear(date, weekStartDay);\n\n if (weekNumber === 0) {\n return calcWeekInYear(prevWeekDate, weekStartDay) + 1;\n }\n\n if (weekNumber === 53 && calcWeekInYear(nextWeekDate, weekStartDay) > 1) {\n return 1;\n }\n\n return weekNumber;\n }\n\n function getDate(date) {\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);\n adjustDST(date, 0);\n return date;\n }\n\n function toUtcTime(date) {\n return Date.UTC(date.getFullYear(), date.getMonth(),\n date.getDate(), date.getHours(), date.getMinutes(),\n date.getSeconds(), date.getMilliseconds());\n }\n\n function getMilliseconds(date) {\n return toInvariantTime(date).getTime() - getDate(toInvariantTime(date));\n }\n\n function isInTimeRange(value, min, max) {\n var msMin = getMilliseconds(min),\n msMax = getMilliseconds(max),\n msValue;\n\n if (!value || msMin == msMax) {\n return true;\n }\n\n if (min >= max) {\n max += MS_PER_DAY;\n }\n\n msValue = getMilliseconds(value);\n\n if (msMin > msValue) {\n msValue += MS_PER_DAY;\n }\n\n if (msMax < msMin) {\n msMax += MS_PER_DAY;\n }\n\n return msValue >= msMin && msValue <= msMax;\n }\n\n function isInDateRange(value, min, max) {\n var msMin = min.getTime(),\n msMax = max.getTime(),\n msValue;\n\n if (msMin >= msMax) {\n msMax += MS_PER_DAY;\n }\n\n msValue = value.getTime();\n\n return msValue >= msMin && msValue <= msMax;\n }\n\n function addDays(date, offset) {\n var hours = date.getHours();\n date = new Date(date);\n\n setTime(date, offset * MS_PER_DAY);\n adjustDST(date, hours);\n return date;\n }\n\n function setTime(date, milliseconds, ignoreDST) {\n var offset = date.getTimezoneOffset();\n var difference;\n\n date.setTime(date.getTime() + milliseconds);\n\n if (!ignoreDST) {\n difference = date.getTimezoneOffset() - offset;\n date.setTime(date.getTime() + difference * MS_PER_MINUTE);\n }\n }\n\n function setHours(date, time) {\n date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds());\n adjustDST(date, time.getHours());\n return date;\n }\n\n function today() {\n return getDate(new Date());\n }\n\n function isToday(date) {\n return getDate(date).getTime() == today().getTime();\n }\n\n function toInvariantTime(date) {\n var staticDate = new Date(1980, 1, 1, 0, 0, 0);\n\n if (date) {\n staticDate.setHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n }\n\n return staticDate;\n }\n\n function addYear(date, offset) {\n var currentDate = new Date(date);\n\n return new Date(currentDate.setFullYear(currentDate.getFullYear() + offset));\n }\n\n return {\n adjustDST: adjustDST,\n dayOfWeek: dayOfWeek,\n setDayOfWeek: setDayOfWeek,\n getDate: getDate,\n isInDateRange: isInDateRange,\n isInTimeRange: isInTimeRange,\n isToday: isToday,\n nextDay: function(date) {\n return addDays(date, 1);\n },\n previousDay: function(date) {\n return addDays(date, -1);\n },\n toUtcTime: toUtcTime,\n MS_PER_DAY: MS_PER_DAY,\n MS_PER_HOUR: 60 * MS_PER_MINUTE,\n MS_PER_MINUTE: MS_PER_MINUTE,\n setTime: setTime,\n setHours: setHours,\n addDays: addDays,\n today: today,\n toInvariantTime: toInvariantTime,\n firstDayOfMonth: firstDayOfMonth,\n lastDayOfMonth: lastDayOfMonth,\n weekInYear: weekInYear,\n getMilliseconds: getMilliseconds,\n firstDayOfYear: firstDayOfYear,\n lastDayOfYear: lastDayOfYear,\n nextYear: function(date) {\n return addYear(date, 1);\n },\n previousYear: function(date) {\n return addYear(date, -1);\n }\n };\n })();\n\n\n kendo.stripWhitespace = function(element) {\n if (document.createNodeIterator) {\n var iterator = document.createNodeIterator(element, NodeFilter.SHOW_TEXT, function(node) {\n return node.parentNode == element ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n }, false);\n\n while (iterator.nextNode()) {\n if (iterator.referenceNode && !iterator.referenceNode.textContent.trim()) {\n iterator.referenceNode.parentNode.removeChild(iterator.referenceNode);\n }\n }\n } else { // IE7/8 support\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n\n if (child.nodeType == 3 && !/\\S/.test(child.nodeValue)) {\n element.removeChild(child);\n i--;\n }\n\n if (child.nodeType == 1) {\n kendo.stripWhitespace(child);\n }\n }\n }\n };\n\n var animationFrame = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n window.msRequestAnimationFrame ||\n function(callback){ setTimeout(callback, 1000 / 60); };\n\n kendo.animationFrame = function(callback) {\n animationFrame.call(window, callback);\n };\n\n var animationQueue = [];\n\n kendo.queueAnimation = function(callback) {\n animationQueue[animationQueue.length] = callback;\n if (animationQueue.length === 1) {\n kendo.runNextAnimation();\n }\n };\n\n kendo.runNextAnimation = function() {\n kendo.animationFrame(function() {\n if (animationQueue[0]) {\n animationQueue.shift()();\n if (animationQueue[0]) {\n kendo.runNextAnimation();\n }\n }\n });\n };\n\n kendo.parseQueryStringParams = function(url) {\n var queryString = url.split('?')[1] || \"\",\n params = {},\n paramParts = queryString.split(/&|=/),\n length = paramParts.length,\n idx = 0;\n\n for (; idx < length; idx += 2) {\n if(paramParts[idx] !== \"\") {\n params[decodeURIComponent(paramParts[idx])] = decodeURIComponent(paramParts[idx + 1]);\n }\n }\n\n return params;\n };\n\n kendo.elementUnderCursor = function(e) {\n if (typeof e.x.client != \"undefined\") {\n return document.elementFromPoint(e.x.client, e.y.client);\n }\n };\n\n kendo.wheelDeltaY = function(jQueryEvent) {\n var e = jQueryEvent.originalEvent,\n deltaY = e.wheelDeltaY,\n delta;\n\n if (e.wheelDelta) { // Webkit and IE\n if (deltaY === undefined || deltaY) { // IE does not have deltaY, thus always scroll (horizontal scrolling is treated as vertical)\n delta = e.wheelDelta;\n }\n } else if (e.detail && e.axis === e.VERTICAL_AXIS) { // Firefox and Opera\n delta = (-e.detail) * 10;\n }\n\n return delta;\n };\n\n kendo.throttle = function(fn, delay) {\n var timeout;\n var lastExecTime = 0;\n\n if (!delay || delay <= 0) {\n return fn;\n }\n\n var throttled = function() {\n var that = this;\n var elapsed = +new Date() - lastExecTime;\n var args = arguments;\n\n function exec() {\n fn.apply(that, args);\n lastExecTime = +new Date();\n }\n\n // first execution\n if (!lastExecTime) {\n return exec();\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n if (elapsed > delay) {\n exec();\n } else {\n timeout = setTimeout(exec, delay - elapsed);\n }\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n };\n\n return throttled;\n };\n\n\n kendo.caret = function (element, start, end) {\n var rangeElement;\n var isPosition = start !== undefined;\n\n if (end === undefined) {\n end = start;\n }\n\n if (element[0]) {\n element = element[0];\n }\n\n if (isPosition && element.disabled) {\n return;\n }\n\n try {\n if (element.selectionStart !== undefined) {\n if (isPosition) {\n element.focus();\n var mobile = support.mobileOS;\n if(mobile.wp || mobile.android) {// without the timeout the caret is at the end of the input\n setTimeout(function() { element.setSelectionRange(start, end); }, 0);\n }\n else {\n element.setSelectionRange(start, end);\n }\n } else {\n start = [element.selectionStart, element.selectionEnd];\n }\n } else if (document.selection) {\n if ($(element).is(\":visible\")) {\n element.focus();\n }\n\n rangeElement = element.createTextRange();\n\n if (isPosition) {\n rangeElement.collapse(true);\n rangeElement.moveStart(\"character\", start);\n rangeElement.moveEnd(\"character\", end - start);\n rangeElement.select();\n } else {\n var rangeDuplicated = rangeElement.duplicate(),\n selectionStart, selectionEnd;\n\n rangeElement.moveToBookmark(document.selection.createRange().getBookmark());\n rangeDuplicated.setEndPoint('EndToStart', rangeElement);\n selectionStart = rangeDuplicated.text.length;\n selectionEnd = selectionStart + rangeElement.text.length;\n\n start = [selectionStart, selectionEnd];\n }\n }\n } catch(e) {\n /* element is not focused or it is not in the DOM */\n start = [];\n }\n\n return start;\n };\n\n kendo.compileMobileDirective = function(element, scope) {\n var angular = window.angular;\n\n element.attr(\"data-\" + kendo.ns + \"role\", element[0].tagName.toLowerCase().replace('kendo-mobile-', '').replace('-', ''));\n\n angular.element(element).injector().invoke([\"$compile\", function($compile) {\n $compile(element)(scope);\n\n if (!/^\\$(digest|apply)$/.test(scope.$$phase)) {\n scope.$digest();\n }\n }]);\n\n return kendo.widgetInstance(element, kendo.mobile.ui);\n };\n\n kendo.antiForgeryTokens = function() {\n var tokens = { },\n csrf_token = $(\"meta[name=csrf-token],meta[name=_csrf]\").attr(\"content\"),\n csrf_param = $(\"meta[name=csrf-param],meta[name=_csrf_header]\").attr(\"content\");\n\n $(\"input[name^='__RequestVerificationToken']\").each(function() {\n tokens[this.name] = this.value;\n });\n\n if (csrf_param !== undefined && csrf_token !== undefined) {\n tokens[csrf_param] = csrf_token;\n }\n\n return tokens;\n };\n\n kendo.cycleForm = function(form) {\n var firstElement = form.find(\"input, .k-widget\").first();\n var lastElement = form.find(\"button, .k-button\").last();\n\n function focus(el) {\n var widget = kendo.widgetInstance(el);\n\n if (widget && widget.focus) {\n widget.focus();\n } else {\n el.trigger(\"focus\");\n }\n }\n\n lastElement.on(\"keydown\", function(e) {\n if (e.keyCode == kendo.keys.TAB && !e.shiftKey) {\n e.preventDefault();\n focus(firstElement);\n }\n });\n\n firstElement.on(\"keydown\", function(e) {\n if (e.keyCode == kendo.keys.TAB && e.shiftKey) {\n e.preventDefault();\n focus(lastElement);\n }\n });\n };\n\n kendo.focusElement = function(element) {\n var scrollTopPositions = [];\n var scrollableParents = element.parentsUntil(\"body\")\n .filter(function(index, element) {\n var computedStyle = kendo.getComputedStyles(element, [\"overflow\"]);\n return computedStyle.overflow !== \"visible\";\n })\n .add(window);\n\n scrollableParents.each(function(index, parent) {\n scrollTopPositions[index] = $(parent).scrollTop();\n });\n\n try {\n //The setActive method does not cause the document to scroll to the active object in the current page\n element[0].setActive();\n } catch (e) {\n element[0].focus();\n }\n\n scrollableParents.each(function(index, parent) {\n $(parent).scrollTop(scrollTopPositions[index]);\n });\n };\n\n kendo.focusNextElement = function () {\n if (document.activeElement) {\n var focussable = $(\":kendoFocusable\");\n var index = focussable.index(document.activeElement);\n\n if(index > -1) {\n var nextElement = focussable[index + 1] || focussable[0];\n nextElement.focus();\n }\n }\n };\n\n kendo.trim = function(value) {\n if(!!value) {\n return value.toString().trim();\n } else {\n return \"\";\n }\n };\n\n kendo.getWidgetFocusableElement = function(element) {\n var nextFocusable = element.closest(\":kendoFocusable\"),\n widgetInstance = kendo.widgetInstance(element),\n target;\n\n if (nextFocusable.length) {\n target = nextFocusable;\n } else if (widgetInstance) {\n target = widgetInstance.options.name === 'Editor' ?\n $(widgetInstance.body) :\n widgetInstance.wrapper.find(\":kendoFocusable\").first();\n } else {\n target = element;\n }\n\n return target;\n };\n\n kendo.addAttribute = function(element, attribute, value) {\n var current = element.attr(attribute) || \"\";\n\n if (current.indexOf(value) < 0) {\n element.attr(attribute, (current + \" \" + value).trim());\n }\n };\n\n kendo.removeAttribute = function(element, attribute, value) {\n var current = element.attr(attribute) || \"\";\n\n element.attr(attribute, current.replace(value, \"\").trim());\n };\n\n kendo.toggleAttribute = function(element, attribute, value) {\n var current = element.attr(attribute) || \"\";\n\n if (current.indexOf(value) < 0) {\n kendo.addAttribute(element, attribute, value);\n } else {\n kendo.removeAttribute(element, attribute, value);\n }\n };\n\n kendo.matchesMedia = function(mediaQuery) {\n var media = kendo._bootstrapToMedia(mediaQuery) || mediaQuery;\n return support.matchMedia && window.matchMedia(media).matches;\n };\n\n kendo._bootstrapToMedia = function(bootstrapMedia) {\n return {\n \"xs\": \"(max-width: 576px)\",\n \"sm\": \"(min-width: 576px)\",\n \"md\": \"(min-width: 768px)\",\n \"lg\": \"(min-width: 992px)\",\n \"xl\": \"(min-width: 1200px)\"\n }[bootstrapMedia];\n };\n\n kendo.fileGroupMap = {\n audio: [\".aif\", \".iff\", \".m3u\", \".m4a\", \".mid\", \".mp3\", \".mpa\", \".wav\", \".wma\", \".ogg\", \".wav\", \".wma\", \".wpl\"],\n video: [\".3g2\", \".3gp\", \".avi\", \".asf\", \".flv\", \".m4u\", \".rm\", \".h264\", \".m4v\", \".mkv\", \".mov\", \".mp4\", \".mpg\",\n \".rm\", \".swf\", \".vob\", \".wmv\"],\n image: [\".ai\", \".dds\", \".heic\", \".jpe\", \"jfif\", \".jif\", \".jp2\", \".jps\", \".eps\", \".bmp\", \".gif\", \".jpeg\",\n \".jpg\", \".png\", \".ps\", \".psd\", \".svg\", \".svgz\", \".tif\", \".tiff\"],\n txt: [\".doc\", \".docx\", \".log\", \".pages\", \".tex\", \".wpd\", \".wps\", \".odt\", \".rtf\", \".text\", \".txt\", \".wks\"],\n presentation: [\".key\", \".odp\", \".pps\", \".ppt\", \".pptx\"],\n data: [\".xlr\", \".xls\", \".xlsx\"],\n programming: [\".tmp\", \".bak\", \".msi\", \".cab\", \".cpl\", \".cur\", \".dll\", \".dmp\", \".drv\", \".icns\", \".ico\", \".link\",\n \".sys\", \".cfg\", \".ini\", \".asp\", \".aspx\", \".cer\", \".csr\", \".css\", \".dcr\", \".htm\", \".html\", \".js\",\n \".php\", \".rss\", \".xhtml\"],\n pdf: [\".pdf\"],\n config: [\".apk\", \".app\", \".bat\", \".cgi\", \".com\", \".exe\", \".gadget\", \".jar\", \".wsf\"],\n zip: [\".7z\", \".cbr\", \".gz\", \".sitx\", \".arj\", \".deb\", \".pkg\", \".rar\", \".rpm\", \".tar.gz\", \".z\", \".zip\", \".zipx\"],\n \"disc-image\": [\".dmg\", \".iso\", \".toast\", \".vcd\", \".bin\", \".cue\", \".mdf\"]\n };\n\n kendo.getFileGroup = function(extension, withPrefix) {\n var fileTypeMap = kendo.fileGroupMap;\n var groups = Object.keys(fileTypeMap);\n var type = \"file\";\n\n if (extension === undefined || !extension.length) {\n return type;\n }\n\n for (var i = 0; i < groups.length; i += 1) {\n var extensions = fileTypeMap[groups[i]];\n\n if (extensions.indexOf(extension.toLowerCase()) > -1) {\n return withPrefix ? \"file-\" + groups[i] : groups[i];\n }\n }\n\n return type;\n };\n\n kendo.getFileSizeMessage = function(size) {\n var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\n\n if (size === 0) {\n return '0 Byte';\n }\n\n var i = parseInt(Math.floor(Math.log(size) / Math.log(1024)), 10);\n return Math.round(size / Math.pow(1024, i), 2) + ' ' + sizes[i];\n };\n\n kendo.selectorFromClasses = function(classes) {\n return \".\"+classes.split(\" \").join(\".\");\n };\n\n // Standardized Properties and CSS classes\n\n var themeColorValues = ['base', 'primary', 'secondary', 'tertiary', 'inherit', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse'];\n var fillValues = ['solid', 'outline', 'flat'];\n //var postitionValues = ['edge', 'outside', 'inside'];\n var shapeValues = ['rectangle', 'square'];\n var sizeValues = [ ['small', 'sm'], ['medium', 'md'], ['large', 'lg'] ];\n var roundedValues = [ ['small', 'sm'], ['medium', 'md'], ['large', 'lg'] ];\n //var alignValues = [ ['top start', 'top-start'], ['top end', 'top-end'], ['bottom start', 'bottom-start'], ['bottom end', 'bottom-end'] ];\n var positionModeValues = [ 'fixed', 'static', 'sticky', 'absolute' ];\n var resizeValues = [ 'both', 'horizontal', 'vertical' ];\n var overflowValues = [ 'auto', 'hidden', 'visible', 'scroll', 'clip' ];\n\n kendo.cssProperties = (function() {\n var defaultValues = {},\n propertyDictionary = {};\n\n function registerPrefix(widget, prefix) {\n var dict = kendo.cssProperties.propertyDictionary;\n\n if (!dict[widget]) {\n dict[widget] = {};\n }\n\n dict[widget][PREFIX] = prefix;\n }\n\n function registerValues(widget, args) {\n var dict = kendo.cssProperties.propertyDictionary,\n i, j, prop, values, newValues, currentValue;\n\n for (i = 0; i < args.length; i++) {\n prop = args[i].prop;\n newValues = args[i].values;\n\n if(!dict[widget][prop]) {\n dict[widget][prop] = {};\n }\n\n values = dict[widget][prop];\n\n for (j = 0; j < newValues.length; j++) {\n currentValue = newValues[j];\n\n if (isArray(newValues[j])) {\n values[currentValue[0]] = currentValue[1];\n } else {\n values[currentValue] = currentValue;\n }\n }\n }\n }\n\n function registerCssClass(propName, value, shorthand) {\n if (!defaultValues[propName]) {\n defaultValues[propName] = {};\n }\n\n defaultValues[propName][value] = shorthand || value;\n }\n\n function registerCssClasses(propName, arr) {\n for (var i = 0; i < arr.length; i++) {\n if (isArray(arr[i])) {\n registerCssClass(propName, arr[i][0], arr[i][1]);\n } else {\n registerCssClass(propName, arr[i]);\n }\n }\n }\n\n function getValidClass(args) {\n var widget = args.widget,\n propName = args.propName,\n value = args.value,\n fill = args.fill,\n cssProperties = kendo.cssProperties,\n defaultValues = cssProperties.defaultValues[propName],\n widgetProperties = cssProperties.propertyDictionary[widget],\n widgetValues, validValue, prefix;\n\n if(!widgetProperties) {\n return \"\";\n }\n\n widgetValues = widgetProperties[propName];\n validValue = widgetValues ? widgetValues[value] || defaultValues[value] : defaultValues[value];\n\n if (validValue) {\n if (propName === \"themeColor\") {\n prefix = widgetProperties[PREFIX] + fill + \"-\";\n } else if (propName === \"positionMode\") {\n prefix = \"k-pos-\";\n } else if (propName === \"rounded\") {\n prefix = \"k-rounded-\";\n } else if (propName === \"resize\") {\n prefix = \"k-resize-\";\n } else if (propName === \"overflow\") {\n prefix = \"k-overflow-\";\n } else {\n prefix = widgetProperties[PREFIX];\n }\n\n return prefix + validValue;\n } else {\n return \"\";\n }\n }\n\n registerCssClasses(\"themeColor\", themeColorValues);\n registerCssClasses(\"fillMode\", fillValues);\n registerCssClasses(\"shape\", shapeValues);\n registerCssClasses(\"size\", sizeValues);\n registerCssClasses(\"positionMode\", positionModeValues);\n registerCssClasses(\"rounded\", roundedValues);\n registerCssClasses(\"resize\", resizeValues);\n registerCssClasses(\"overflow\", overflowValues);\n\n return {\n positionModeValues: positionModeValues,\n roundedValues: roundedValues,\n sizeValues: sizeValues,\n shapeValues: shapeValues,\n fillModeValues: fillValues,\n themeColorValues: themeColorValues,\n\n defaultValues: defaultValues,\n propertyDictionary: propertyDictionary,\n\n registerValues: registerValues,\n getValidClass: getValidClass,\n registerPrefix: registerPrefix\n };\n }());\n\n //To do: delete below after implementing new styles and classes for BottomNavigation\n kendo.registerCssClass = function (propName, value, shorthand) {\n if (!kendo.propertyToCssClassMap[propName]) {\n kendo.propertyToCssClassMap[propName] = {};\n }\n\n kendo.propertyToCssClassMap[propName][value] = shorthand || value;\n };\n\n kendo.registerCssClasses = function (propName, arr) {\n for (var i = 0; i < arr.length; i++) {\n if (isArray(arr[i])) {\n kendo.registerCssClass(propName, arr[i][0], arr[i][1]);\n } else {\n kendo.registerCssClass(propName, arr[i]);\n }\n }\n };\n\n kendo.getValidCssClass = function (prefix, propName, value) {\n var validValue = kendo.propertyToCssClassMap[propName][value];\n\n if (validValue) {\n return prefix + validValue;\n }\n };\n\n kendo.propertyToCssClassMap = {};\n\n kendo.registerCssClasses(\"themeColor\", themeColorValues);\n kendo.registerCssClasses(\"fill\", fillValues);\n //kendo.registerCssClasses(\"postition\", postitionValues);\n kendo.registerCssClasses(\"shape\", shapeValues);\n kendo.registerCssClasses(\"size\", sizeValues);\n //kendo.registerCssClasses(\"align\", alignValues);\n kendo.registerCssClasses(\"positionMode\", positionModeValues);\n\n // jQuery deferred helpers\n\n // influenced from: https://gist.github.com/fearphage/4341799\n kendo.whenAll = function(array) {\n var resolveValues = arguments.length == 1 && Array.isArray(array) ? array : Array.prototype.slice.call(arguments),\n length = resolveValues.length,\n remaining = length,\n deferred = $.Deferred(),\n i = 0,\n failed = 0,\n rejectContexts = Array(length),\n rejectValues = Array(length),\n resolveContexts = Array(length),\n value;\n\n function updateFunc (index, contexts, values) {\n return function() {\n if(values != resolveValues) {\n failed++;\n }\n\n deferred.notifyWith(\n contexts[index] = this,\n values[index] = Array.prototype.slice.call(arguments)\n );\n\n if (!(--remaining)) {\n deferred[(!failed ? 'resolve' : 'reject') + 'With'](contexts, values);\n }\n };\n }\n\n for (; i < length; i++) {\n if ((value = resolveValues[i]) && kendo.isFunction(value.promise)) {\n value.promise()\n .done(updateFunc(i, resolveContexts, resolveValues))\n .fail(updateFunc(i, rejectContexts, rejectValues));\n }\n\n else {\n deferred.notifyWith(this, value);\n --remaining;\n }\n }\n\n if (!remaining) {\n deferred.resolveWith(resolveContexts, resolveValues);\n }\n\n return deferred.promise();\n };\n\n // kendo.saveAs -----------------------------------------------\n (function() {\n function postToProxy(dataURI, fileName, proxyURL, proxyTarget) {\n var form = $(\"\").attr({\n action: proxyURL,\n method: \"POST\",\n target: proxyTarget\n });\n\n var data = kendo.antiForgeryTokens();\n data.fileName = fileName;\n\n var parts = dataURI.split(\";base64,\");\n data.contentType = parts[0].replace(\"data:\", \"\");\n data.base64 = parts[1];\n\n for (var name in data) {\n if (data.hasOwnProperty(name)) {\n $('').attr({\n value: data[name],\n name: name,\n type: \"hidden\"\n }).appendTo(form);\n }\n }\n\n form.appendTo(\"body\").submit().remove();\n }\n\n var fileSaver = document.createElement(\"a\");\n var downloadAttribute = \"download\" in fileSaver && !kendo.support.browser.edge;\n\n function saveAsBlob(dataURI, fileName) {\n var blob = dataURI; // could be a Blob object\n\n if (typeof dataURI == \"string\") {\n var parts = dataURI.split(\";base64,\");\n var contentType = parts[0];\n var base64 = atob(parts[1]);\n var array = new Uint8Array(base64.length);\n\n for (var idx = 0; idx < base64.length; idx++) {\n array[idx] = base64.charCodeAt(idx);\n }\n blob = new Blob([array.buffer], { type: contentType });\n }\n\n navigator.msSaveBlob(blob, fileName);\n }\n\n function saveAsDataURI(dataURI, fileName) {\n if (window.Blob && dataURI instanceof Blob) {\n dataURI = URL.createObjectURL(dataURI);\n }\n\n fileSaver.download = fileName;\n fileSaver.href = dataURI;\n\n var e = document.createEvent(\"MouseEvents\");\n e.initMouseEvent(\"click\", true, false, window,\n 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n\n fileSaver.dispatchEvent(e);\n setTimeout(function(){\n URL.revokeObjectURL(dataURI);\n });\n }\n\n kendo.saveAs = function(options) {\n var save = postToProxy;\n\n if (!options.forceProxy) {\n if (downloadAttribute) {\n save = saveAsDataURI;\n } else if (navigator.msSaveBlob) {\n save = saveAsBlob;\n }\n }\n\n save(options.dataURI, options.fileName, options.proxyURL, options.proxyTarget);\n };\n })();\n\n // kendo proxySetters\n kendo.proxyModelSetters = function proxyModelSetters(data) {\n var observable = {};\n\n Object.keys(data || {}).forEach(function(property) {\n Object.defineProperty(observable, property, {\n get: function() {\n return data[property];\n },\n set: function(value) {\n data[property] = value;\n data.dirty = true;\n }\n });\n });\n\n return observable;\n };\n\n kendo.getSeriesColors = function() {\n var seriesColorsTemplate = '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ',\n series = $(seriesColorsTemplate),\n colors = [];\n\n series.appendTo($('body'));\n\n series.each(function(i, item) {\n colors.push($(item).css(\"background-color\"));\n });\n\n series.remove();\n\n return colors;\n };\n\n kendo.isElement = function(element) {\n return element instanceof Element || element instanceof HTMLDocument; // jshint ignore:line\n };\n\n // Kendo defaults\n (function() {\n\n kendo.defaults = kendo.defaults || {};\n kendo.setDefaults = function(key, value) {\n var path = key.split(\".\");\n var curr = kendo.defaults;\n\n key = path.pop();\n\n path.forEach(function(part) {\n if (curr[part] === undefined) {\n curr[part] = {};\n }\n\n curr = curr[part];\n });\n\n if (value.constructor === Object) {\n curr[key] = deepExtend({}, curr[key], value);\n } else {\n curr[key] = value;\n }\n };\n\n })();\n\n // Implement type() as it has been depricated in jQuery\n (function() {\n kendo.class2type = {};\n\n jQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n function( _i, name ) {\n kendo.class2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n } );\n\n kendo.type = function(obj) {\n if ( obj == null ) {\n return obj + \"\";\n }\n\n // Support: Android <=2.3 only (functionish RegExp)\n return typeof obj === \"object\" || typeof obj === \"function\" ?\n kendo.class2type[Object.prototype.toString.call(obj)] || \"object\" :\n typeof obj;\n };\n }());\n\n})(jQuery, window);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.data.odata',[ \"./kendo.core\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"data.odata\",\n name: \"OData\",\n category: \"framework\",\n depends: [ \"core\" ],\n hidden: true\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n extend = $.extend,\n NEWLINE = \"\\r\\n\",\n DOUBLELINE = \"\\r\\n\\r\\n\",\n isFunction = kendo.isFunction,\n odataFilters = {\n eq: \"eq\",\n neq: \"ne\",\n gt: \"gt\",\n gte: \"ge\",\n lt: \"lt\",\n lte: \"le\",\n contains : \"substringof\",\n doesnotcontain: \"substringof\",\n endswith: \"endswith\",\n startswith: \"startswith\",\n isnull: \"eq\",\n isnotnull: \"ne\",\n isnullorempty: \"eq\",\n isnotnullorempty: \"ne\",\n isempty: \"eq\",\n isnotempty: \"ne\"\n },\n odataFiltersVersionFour = extend({}, odataFilters, {\n contains: \"contains\"\n }),\n mappers = {\n pageSize: $.noop,\n page: $.noop,\n filter: function(params, filter, useVersionFour) {\n if (filter) {\n filter = toOdataFilter(filter, useVersionFour);\n if (filter) {\n params.$filter = filter;\n }\n }\n },\n sort: function(params, orderby) {\n var expr = $.map(orderby, function(value) {\n var order = value.field.replace(/\\./g, \"/\");\n\n if (value.dir === \"desc\") {\n order += \" desc\";\n }\n\n return order;\n }).join(\",\");\n\n if (expr) {\n params.$orderby = expr;\n }\n },\n skip: function(params, skip) {\n if (skip) {\n params.$skip = skip;\n }\n },\n take: function(params, take) {\n if (take) {\n params.$top = take;\n }\n }\n },\n defaultDataType = {\n read: {\n dataType: \"jsonp\"\n }\n };\n\n function toOdataFilter(filter, useOdataFour) {\n var result = [],\n logic = filter.logic || \"and\",\n idx,\n length,\n field,\n type,\n format,\n operator,\n value,\n ignoreCase,\n filters = filter.filters;\n\n for (idx = 0, length = filters.length; idx < length; idx++) {\n filter = filters[idx];\n field = filter.field;\n value = filter.value;\n operator = filter.operator;\n\n if (filter.filters) {\n filter = toOdataFilter(filter, useOdataFour);\n } else {\n ignoreCase = filter.ignoreCase;\n field = field.replace(/\\./g, \"/\");\n filter = odataFilters[operator];\n if (useOdataFour) {\n filter = odataFiltersVersionFour[operator];\n }\n\n if (operator === \"isnullorempty\") {\n filter = kendo.format(\"{0} {1} null or {0} {1} ''\", field, filter);\n } else if(operator === \"isnotnullorempty\") {\n filter = kendo.format(\"{0} {1} null and {0} {1} ''\", field, filter);\n } else if (operator === \"isnull\" || operator === \"isnotnull\") {\n filter = kendo.format(\"{0} {1} null\", field, filter);\n } else if (operator === \"isempty\" || operator === \"isnotempty\") {\n filter = kendo.format(\"{0} {1} ''\", field, filter);\n } else if (filter && value !== undefined) {\n type = kendo.type(value);\n if (type === \"string\") {\n format = \"'{1}'\";\n value = value.replace(/'/g, \"''\");\n\n if (ignoreCase === true) {\n field = \"tolower(\" + field + \")\";\n }\n\n } else if (type === \"date\") {\n if (useOdataFour) {\n format = \"{1:yyyy-MM-ddTHH:mm:ss+00:00}\";\n value = kendo.timezone.apply(value, 'Etc/UTC');\n } else {\n format = \"datetime'{1:yyyy-MM-ddTHH:mm:ss}'\";\n }\n } else {\n format = \"{1}\";\n }\n\n if (filter.length > 3) {\n if (filter !== \"substringof\") {\n format = \"{0}({2},\" + format + \")\";\n } else {\n format = \"{0}(\" + format + \",{2})\";\n if (operator === \"doesnotcontain\") {\n if (useOdataFour) {\n format = \"{0}({2},'{1}') eq -1\";\n filter = \"indexof\";\n } else {\n format += \" eq false\";\n }\n }\n }\n } else {\n format = \"{2} {0} \" + format;\n }\n\n filter = kendo.format(format, filter, value, field);\n }\n }\n\n result.push(filter);\n }\n\n filter = result.join(\" \" + logic + \" \");\n\n if (result.length > 1) {\n filter = \"(\" + filter + \")\";\n }\n\n return filter;\n }\n\n function stripMetadata(obj) {\n for (var name in obj) {\n if(name.indexOf(\"@odata\") === 0) {\n delete obj[name];\n }\n }\n }\n\n function hex16() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substr(1);\n }\n\n function createBoundary(prefix) {\n return prefix + hex16() + '-' + hex16() + '-' + hex16();\n }\n\n function createDelimeter(boundary, close) {\n var result = NEWLINE + \"--\" + boundary;\n\n if (close) {\n result += \"--\";\n }\n\n return result;\n }\n\n function createCommand(transport, item, httpVerb, command) {\n var transportUrl = transport.options[command].url;\n var commandPrefix = kendo.format(\"{0} \", httpVerb);\n\n if (isFunction(transportUrl)) {\n return commandPrefix + transportUrl(item);\n } else {\n return commandPrefix + transportUrl;\n }\n }\n\n function getOperationHeader(changeset, changeId) {\n var header = \"\";\n\n header += createDelimeter(changeset, false);\n header += NEWLINE + 'Content-Type: application/http';\n header += NEWLINE + 'Content-Transfer-Encoding: binary';\n header += NEWLINE + 'Content-ID: ' + changeId;\n\n return header;\n }\n\n function getOperationContent(item) {\n var content = \"\";\n\n content += NEWLINE + \"Content-Type: application/json;odata=minimalmetadata\";\n content += NEWLINE + \"Prefer: return=representation\";\n content += DOUBLELINE + kendo.stringify(item);\n\n return content;\n }\n\n function getOperations(collection, changeset, changeId, command, transport, skipContent) {\n var requestBody = \"\";\n\n for (var i = 0; i < collection.length; i++) {\n requestBody += getOperationHeader(changeset, changeId);\n requestBody += DOUBLELINE + createCommand(transport, collection[i], transport.options[command].type, command) + ' HTTP/1.1';\n if (!skipContent) {\n requestBody += getOperationContent(collection[i]);\n }\n requestBody += NEWLINE;\n changeId++;\n }\n\n return requestBody;\n }\n\n function processCollection(colection, boundary, changeset, changeId, transport, command, skipContent) {\n var requestBody = \"\";\n\n requestBody += getBoundary(boundary, changeset);\n requestBody += getOperations(colection, changeset, changeId, command, transport, skipContent);\n requestBody += createDelimeter(changeset, true);\n requestBody += NEWLINE;\n\n return requestBody;\n }\n\n function getBoundary(boundary,changeset) {\n var requestBody = \"\";\n\n requestBody += \"--\" + boundary + NEWLINE;\n requestBody += \"Content-Type: multipart/mixed; boundary=\" + changeset + NEWLINE;\n\n return requestBody;\n }\n\n function createBatchRequest(transport, colections) {\n\t\tvar options = extend({}, transport.options.batch);\n var boundary = createBoundary(\"sf_batch_\");\n var requestBody = \"\";\n var changeId = 0;\n var batchURL = transport.options.batch.url;\n var changeset = createBoundary(\"sf_changeset_\");\n\n options.type = transport.options.batch.type;\n options.url = isFunction(batchURL) ? batchURL() : batchURL;\n\t\toptions.headers = extend(options.headers || {}, {\n\t\t\t\"Content-Type\": \"multipart/mixed; boundary=\" + boundary\n\t\t});\n\n if (colections.updated.length) {\n requestBody += processCollection(colections.updated, boundary, changeset, changeId, transport, \"update\", false);\n changeId += colections.updated.length;\n changeset = createBoundary(\"sf_changeset_\");\n }\n\n if (colections.destroyed.length) {\n requestBody += processCollection(colections.destroyed, boundary, changeset, changeId, transport, \"destroy\", true);\n changeId += colections.destroyed.length;\n changeset = createBoundary(\"sf_changeset_\");\n }\n\n if (colections.created.length) {\n requestBody += processCollection(colections.created, boundary, changeset, changeId, transport, \"create\", false);\n }\n\n requestBody += createDelimeter(boundary, true);\n\n options.data = requestBody;\n\n return options;\n }\n\n function parseBatchResponse(responseText) {\n var responseMarkers = responseText.match(/--changesetresponse_[a-z0-9-]+$/gm);\n var markerIndex = 0;\n var collections = [];\n var changeBody;\n var status;\n var code;\n var marker;\n var jsonModel;\n\n collections.push({ models: [], passed: true });\n\n for (var i = 0; i < responseMarkers.length; i++) {\n marker = responseMarkers[i];\n if (marker.lastIndexOf('--', marker.length - 1)) {\n if (i < responseMarkers.length - 1) {\n collections.push({ models: [], passed: true });\n }\n continue;\n }\n\n if (!markerIndex) {\n markerIndex = responseText.indexOf(marker);\n } else {\n markerIndex = responseText.indexOf(marker, markerIndex + marker.length);\n }\n\n changeBody = responseText.substring(markerIndex, responseText.indexOf(\"--\", markerIndex + 1));\n status = changeBody.match(/^HTTP\\/1\\.\\d (\\d{3}) (.*)$/gm).pop();\n code = kendo.parseFloat(status.match(/\\d{3}/g).pop());\n\n if (code >= 200 && code <= 299) {\n jsonModel = changeBody.match(/\\{.*\\}/gm);\n if (jsonModel) {\n collections[collections.length - 1].models.push(JSON.parse(jsonModel[0]));\n }\n } else {\n collections[collections.length - 1].passed = false;\n }\n\n }\n\n return collections;\n }\n\n extend(true, kendo.data, {\n schemas: {\n odata: {\n type: \"json\",\n data: function(data) {\n return data.d.results || [data.d];\n },\n total: \"d.__count\"\n }\n },\n transports: {\n odata: {\n read: {\n cache: true, // to prevent jQuery from adding cache buster\n dataType: \"jsonp\",\n jsonp: \"$callback\"\n },\n update: {\n cache: true,\n dataType: \"json\",\n contentType: \"application/json\", // to inform the server the the request body is JSON encoded\n type: \"PUT\" // can be PUT or MERGE\n },\n create: {\n cache: true,\n dataType: \"json\",\n contentType: \"application/json\",\n type: \"POST\" // must be POST to create new entity\n },\n destroy: {\n cache: true,\n dataType: \"json\",\n type: \"DELETE\"\n },\n parameterMap: function(options, type, useVersionFour) {\n var params,\n value,\n option,\n dataType;\n\n options = options || {};\n type = type || \"read\";\n dataType = (this.options || defaultDataType)[type];\n dataType = dataType ? dataType.dataType : \"json\";\n\n if (type === \"read\") {\n params = {\n $inlinecount: \"allpages\"\n };\n\n if (dataType != \"json\") {\n params.$format = \"json\";\n }\n\n for (option in options) {\n if (mappers[option]) {\n mappers[option](params, options[option], useVersionFour);\n } else {\n params[option] = options[option];\n }\n }\n } else {\n if (dataType !== \"json\") {\n throw new Error(\"Only json dataType can be used for \" + type + \" operation.\");\n }\n\n if (type !== \"destroy\") {\n for (option in options) {\n value = options[option];\n if (typeof value === \"number\") {\n options[option] = value + \"\";\n }\n }\n\n params = kendo.stringify(options);\n }\n }\n\n return params;\n }\n }\n }\n });\n\n extend(true, kendo.data, {\n schemas: {\n \"odata-v4\": {\n type: \"json\",\n data: function(data) {\n if (Array.isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n stripMetadata(data[i]);\n }\n return data;\n } else {\n data = $.extend({}, data);\n stripMetadata(data);\n\n if (data.value) {\n return data.value;\n }\n return [data];\n }\n },\n total: function(data) {\n return data[\"@odata.count\"];\n }\n }\n },\n transports: {\n \"odata-v4\": {\n batch: {\n type: \"POST\"\n },\n read: {\n cache: true, // to prevent jQuery from adding cache buster\n dataType: \"json\"\n },\n update: {\n cache: true,\n dataType: \"json\",\n contentType: \"application/json;IEEE754Compatible=true\", // to inform the server the the request body is JSON encoded\n type: \"PUT\" // can be PUT or MERGE\n },\n create: {\n cache: true,\n dataType: \"json\",\n contentType: \"application/json;IEEE754Compatible=true\",\n type: \"POST\" // must be POST to create new entity\n },\n destroy: {\n cache: true,\n dataType: \"json\",\n type: \"DELETE\"\n },\n parameterMap: function(options, type) {\n var result = kendo.data.transports.odata.parameterMap(options, type, true);\n if (type == \"read\") {\n result.$count = true;\n delete result.$inlinecount;\n }\n\n\t\t\t\t\tif (result && result.$filter) {\n\t\t\t\t\t\t// Remove the single quotation marks around the GUID (OData v4).\n\t\t\t\t\t\tresult.$filter = result.$filter.replace(/('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')/ig, function (x) {\n\t\t\t\t\t\t\treturn x.substring(1, x.length - 1);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n return result;\n },\n submit: function(e) {\n var that = this;\n var options = createBatchRequest(that, e.data);\n var collections = e.data;\n\n if (!collections.updated.length && !collections.destroyed.length && !collections.created.length) {\n return;\n }\n\n $.ajax(extend(true, {}, {\n success: function (response) {\n var responses = parseBatchResponse(response);\n var index = 0;\n var current;\n\n if (collections.updated.length) {\n current = responses[index];\n if (current.passed) {\n // Pass either the obtained models or an empty array if only status codes are returned.\n e.success(current.models.length ? current.models : [], \"update\");\n }\n index++;\n }\n if (collections.destroyed.length) {\n current = responses[index];\n if (current.passed) {\n // For delete operations OData returns only status codes.\n // Passing empty array to datasource will force it to correctly remove the deleted items from the pristine collection.\n e.success([], \"destroy\");\n }\n index++;\n }\n if (collections.created.length) {\n current = responses[index];\n if (current.passed) {\n e.success(current.models, \"create\");\n }\n }\n },\n error: function (response, status, error) {\n e.error(response, status, error);\n }\n }, options));\n }\n }\n }\n });\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.data.xml',[ \"./kendo.core\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"data.xml\",\n name: \"XML\",\n category: \"framework\",\n depends: [ \"core\" ],\n hidden: true\n};\n\n/*jshint eqnull: true, boss: true */\n(function($, undefined) {\n var kendo = window.kendo,\n isArray = Array.isArray,\n isPlainObject = $.isPlainObject,\n map = $.map,\n each = $.each,\n extend = $.extend,\n getter = kendo.getter,\n Class = kendo.Class;\n\n var XmlDataReader = Class.extend({\n init: function(options) {\n var that = this,\n total = options.total,\n model = options.model,\n parse = options.parse,\n errors = options.errors,\n serialize = options.serialize,\n data = options.data;\n\n if (model) {\n if (isPlainObject(model)) {\n var base = options.modelBase || kendo.data.Model;\n\n if (model.fields) {\n each(model.fields, function(field, value) {\n if (isPlainObject(value) && value.field) {\n if (!kendo.isFunction(value.field)) {\n value = extend(value, { field: that.getter(value.field) });\n }\n } else {\n value = { field: that.getter(value) };\n }\n model.fields[field] = value;\n });\n }\n\n var id = model.id;\n if (id) {\n var idField = {};\n\n idField[that.xpathToMember(id, true)] = { field : that.getter(id) };\n model.fields = extend(idField, model.fields);\n model.id = that.xpathToMember(id);\n }\n model = base.define(model);\n }\n\n that.model = model;\n }\n\n if (total) {\n if (typeof total == \"string\") {\n total = that.getter(total);\n that.total = function(data) {\n return parseInt(total(data), 10);\n };\n } else if (typeof total == \"function\"){\n that.total = total;\n }\n }\n\n if (errors) {\n if (typeof errors == \"string\") {\n errors = that.getter(errors);\n that.errors = function(data) {\n return errors(data) || null;\n };\n } else if (typeof errors == \"function\"){\n that.errors = errors;\n }\n }\n\n if (data) {\n if (typeof data == \"string\") {\n data = that.xpathToMember(data);\n that.data = function(value) {\n var result = that.evaluate(value, data),\n modelInstance;\n\n result = isArray(result) ? result : [result];\n\n if (that.model && model.fields) {\n modelInstance = new that.model();\n\n return map(result, function(value) {\n if (value) {\n var record = {}, field;\n\n for (field in model.fields) {\n record[field] = modelInstance._parse(field, model.fields[field].field(value));\n }\n\n return record;\n }\n });\n }\n\n return result;\n };\n } else if (typeof data == \"function\") {\n that.data = data;\n }\n }\n\n if (typeof parse == \"function\") {\n var xmlParse = that.parse;\n\n that.parse = function(data) {\n var xml = parse.call(that, data);\n return xmlParse.call(that, xml);\n };\n }\n\n if (typeof serialize == \"function\") {\n that.serialize = serialize;\n }\n },\n total: function(result) {\n return this.data(result).length;\n },\n errors: function(data) {\n return data ? data.errors : null;\n },\n serialize: function(data) {\n return data;\n },\n parseDOM: function(element) {\n var result = {},\n parsedNode,\n node,\n nodeType,\n nodeName,\n member,\n attribute,\n attributes = element.attributes,\n attributeCount = attributes.length,\n idx;\n\n for (idx = 0; idx < attributeCount; idx++) {\n attribute = attributes[idx];\n result[\"@\" + attribute.nodeName] = attribute.nodeValue;\n }\n\n for (node = element.firstChild; node; node = node.nextSibling) {\n nodeType = node.nodeType;\n\n if (nodeType === 3 || nodeType === 4) {\n // text nodes or CDATA are stored as #text field\n result[\"#text\"] = node.nodeValue;\n } else if (nodeType === 1) {\n // elements are stored as fields\n parsedNode = this.parseDOM(node);\n\n nodeName = node.nodeName;\n\n member = result[nodeName];\n\n if (isArray(member)) {\n // elements of same nodeName are stored as array\n member.push(parsedNode);\n } else if (member !== undefined) {\n member = [member, parsedNode];\n } else {\n member = parsedNode;\n }\n\n result[nodeName] = member;\n }\n }\n return result;\n },\n\n evaluate: function(value, expression) {\n var members = expression.split(\".\"),\n member,\n result,\n length,\n intermediateResult,\n idx;\n\n while (member = members.shift()) {\n value = value[member];\n\n if (isArray(value)) {\n result = [];\n expression = members.join(\".\");\n\n for (idx = 0, length = value.length; idx < length; idx++) {\n intermediateResult = this.evaluate(value[idx], expression);\n\n intermediateResult = isArray(intermediateResult) ? intermediateResult : [intermediateResult];\n\n result.push.apply(result, intermediateResult);\n }\n\n return result;\n }\n }\n\n return value;\n },\n\n parse: function(xml) {\n var documentElement,\n tree,\n result = {};\n\n documentElement = xml.documentElement || $.parseXML(xml).documentElement;\n\n tree = this.parseDOM(documentElement);\n\n result[documentElement.nodeName] = tree;\n\n return result;\n },\n\n xpathToMember: function(member, raw) {\n if (!member) {\n return \"\";\n }\n\n member = member.replace(/^\\//, \"\") // remove the first \"/\"\n .replace(/\\//g, \".\"); // replace all \"/\" with \".\"\n\n if (member.indexOf(\"@\") >= 0) {\n // replace @attribute with '[\"@attribute\"]'\n return member.replace(/\\.?(@.*)/, raw? '$1':'[\"$1\"]');\n }\n\n if (member.indexOf(\"text()\") >= 0) {\n // replace \".text()\" with '[\"#text\"]'\n return member.replace(/(\\.?text\\(\\))/, raw? '#text':'[\"#text\"]');\n }\n\n return member;\n },\n getter: function(member) {\n return getter(this.xpathToMember(member), true);\n }\n });\n\n $.extend(true, kendo.data, {\n XmlDataReader: XmlDataReader,\n readers: {\n xml: XmlDataReader\n }\n });\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.data',[ \"./kendo.core\", \"./kendo.data.odata\", \"./kendo.data.xml\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"data\",\n name: \"Data source\",\n category: \"framework\",\n description: \"Powerful component for using local and remote data.Fully supports CRUD, Sorting, Paging, Filtering, Grouping, and Aggregates.\",\n depends: [ \"core\" ],\n features: [ {\n id: \"data-odata\",\n name: \"OData\",\n description: \"Support for accessing Open Data Protocol (OData) services.\",\n depends: [ \"data.odata\" ]\n }, {\n id: \"data-signalr\",\n name: \"SignalR\",\n description: \"Support for binding to SignalR hubs.\",\n depends: [ \"data.signalr\" ]\n }, {\n id: \"data-XML\",\n name: \"XML\",\n description: \"Support for binding to XML.\",\n depends: [ \"data.xml\" ]\n }]\n};\n\n/*jshint eqnull: true, loopfunc: true, evil: true */\n(function($, undefined) {\n var extend = $.extend,\n proxy = $.proxy,\n isPlainObject = $.isPlainObject,\n isEmptyObject = $.isEmptyObject,\n isArray = $.isArray,\n grep = $.grep,\n ajax = $.ajax,\n map,\n each = $.each,\n noop = $.noop,\n kendo = window.kendo,\n isFunction = kendo.isFunction,\n Observable = kendo.Observable,\n Class = kendo.Class,\n STRING = \"string\",\n FUNCTION = \"function\",\n ASCENDING = \"asc\",\n CREATE = \"create\",\n READ = \"read\",\n UPDATE = \"update\",\n DESTROY = \"destroy\",\n CHANGE = \"change\",\n SYNC = \"sync\",\n GET = \"get\",\n ERROR = \"error\",\n REQUESTSTART = \"requestStart\",\n PROGRESS = \"progress\",\n REQUESTEND = \"requestEnd\",\n crud = [CREATE, READ, UPDATE, DESTROY],\n identity = function(o) { return o; },\n getter = kendo.getter,\n stringify = kendo.stringify,\n math = Math,\n push = [].push,\n join = [].join,\n pop = [].pop,\n splice = [].splice,\n shift = [].shift,\n slice = [].slice,\n unshift = [].unshift,\n toString = {}.toString,\n stableSort = kendo.support.stableSort,\n dateRegExp = /^\\/Date\\((.*?)\\)\\/$/,\n objectKeys = [];\n\n var ObservableArray = Observable.extend({\n init: function(array, type) {\n var that = this;\n\n that.type = type || ObservableObject;\n\n Observable.fn.init.call(that);\n\n that.length = array.length;\n\n that.wrapAll(array, that);\n },\n\n at: function(index) {\n return this[index];\n },\n\n toJSON: function(serializeFunctions) {\n var idx, length = this.length, value, json = new Array(length);\n\n for (idx = 0; idx < length; idx++){\n value = this[idx];\n\n if (value instanceof ObservableObject) {\n value = value.toJSON(serializeFunctions);\n }\n\n json[idx] = value;\n }\n\n return json;\n },\n\n parent: noop,\n\n wrapAll: function(source, target) {\n var that = this,\n idx,\n length,\n parent = function() {\n return that;\n };\n\n target = target || [];\n\n for (idx = 0, length = source.length; idx < length; idx++) {\n target[idx] = that.wrap(source[idx], parent);\n }\n\n return target;\n },\n\n wrap: function(object, parent) {\n var that = this,\n observable;\n\n if (object !== null && toString.call(object) === \"[object Object]\") {\n observable = object instanceof that.type || object instanceof Model;\n\n if (!observable) {\n object = object instanceof ObservableObject ? object.toJSON() : object;\n object = new that.type(object);\n }\n\n object.parent = parent;\n\n object.bind(CHANGE, function(e) {\n that.trigger(CHANGE, {\n field: e.field,\n node: e.node,\n index: e.index,\n items: e.items || [this],\n action: e.node ? (e.action || \"itemloaded\") : \"itemchange\"\n });\n });\n }\n\n return object;\n },\n\n push: function() {\n var index = this.length,\n items = this.wrapAll(arguments),\n result;\n\n result = push.apply(this, items);\n\n if (!this.omitChangeEvent) {\n this.trigger(CHANGE, {\n action: \"add\",\n index: index,\n items: items\n });\n }\n\n return result;\n },\n\n slice: slice,\n\n sort: [].sort,\n\n join: join,\n\n pop: function() {\n var length = this.length, result = pop.apply(this);\n\n if (length) {\n this.trigger(CHANGE, {\n action: \"remove\",\n index: length - 1,\n items:[result]\n });\n }\n\n return result;\n },\n\n splice: function(index, howMany, item) {\n var items = this.wrapAll(slice.call(arguments, 2)),\n result, i, len;\n\n result = splice.apply(this, [index, howMany].concat(items));\n\n if (result.length) {\n if (!this.omitChangeEvent) {\n this.trigger(CHANGE, {\n action: \"remove\",\n index: index,\n items: result\n });\n }\n\n for (i = 0, len = result.length; i < len; i++) {\n if (result[i] && result[i].children) {\n result[i].unbind(CHANGE);\n }\n }\n }\n\n if (item) {\n if (!this.omitChangeEvent) {\n this.trigger(CHANGE, {\n action: \"add\",\n index: index,\n items: items\n });\n }\n }\n return result;\n },\n\n shift: function() {\n var length = this.length, result = shift.apply(this);\n\n if (length) {\n this.trigger(CHANGE, {\n action: \"remove\",\n index: 0,\n items:[result]\n });\n }\n\n return result;\n },\n\n unshift: function() {\n var items = this.wrapAll(arguments),\n result;\n\n result = unshift.apply(this, items);\n\n this.trigger(CHANGE, {\n action: \"add\",\n index: 0,\n items: items\n });\n\n return result;\n },\n\n indexOf: function(item) {\n var that = this,\n idx,\n length;\n\n for (idx = 0, length = that.length; idx < length; idx++) {\n if (that[idx] === item) {\n return idx;\n }\n }\n return -1;\n },\n\n forEach: function(callback, thisArg) {\n var idx = 0;\n var length = this.length;\n var context = thisArg || window;\n\n for (; idx < length; idx++) {\n callback.call(context, this[idx], idx, this);\n }\n },\n\n map: function(callback, thisArg) {\n var idx = 0;\n var result = [];\n var length = this.length;\n var context = thisArg || window;\n\n for (; idx < length; idx++) {\n result[idx] = callback.call(context, this[idx], idx, this);\n }\n\n return result;\n },\n\n reduce: function(callback) {\n var idx = 0,\n result,\n length = this.length;\n\n if (arguments.length == 2) {\n result = arguments[1];\n } else if (idx < length) {\n result = this[idx++];\n }\n\n for (; idx < length; idx++) {\n result = callback(result, this[idx], idx, this);\n }\n\n return result;\n },\n\n reduceRight: function(callback) {\n var idx = this.length - 1,\n result;\n\n if (arguments.length == 2) {\n result = arguments[1];\n } else if (idx > 0) {\n result = this[idx--];\n }\n\n for (; idx >= 0; idx--) {\n result = callback(result, this[idx], idx, this);\n }\n\n return result;\n },\n\n filter: function(callback, thisArg) {\n var idx = 0;\n var result = [];\n var item;\n var length = this.length;\n var context = thisArg || window;\n\n for (; idx < length; idx++) {\n item = this[idx];\n if (callback.call(context, item, idx, this)) {\n result[result.length] = item;\n }\n }\n\n return result;\n },\n\n find: function(callback, thisArg) {\n var idx = 0;\n var item;\n var length = this.length;\n var context = thisArg || window;\n\n for (; idx < length; idx++) {\n item = this[idx];\n if (callback.call(context, item, idx, this)) {\n return item;\n }\n }\n },\n\n every: function(callback, thisArg) {\n var idx = 0;\n var item;\n var length = this.length;\n var context = thisArg || window;\n\n for (; idx < length; idx++) {\n item = this[idx];\n if (!callback.call(context, item, idx, this)) {\n return false;\n }\n }\n\n return true;\n },\n\n some: function(callback, thisArg) {\n var idx = 0;\n var item;\n var length = this.length;\n var context = thisArg || window;\n\n for (; idx < length; idx++) {\n item = this[idx];\n if (callback.call(context, item, idx, this)) {\n return true;\n }\n }\n\n return false;\n },\n\n // non-standard collection methods\n remove: function(item) {\n var idx = this.indexOf(item);\n\n if (idx !== -1) {\n this.splice(idx, 1);\n }\n },\n\n empty: function() {\n this.splice(0, this.length);\n }\n });\n\n // Polyfill for Symbol.iterator\n if (typeof Symbol !== \"undefined\" && Symbol.iterator && !ObservableArray.prototype[Symbol.iterator]) {\n ObservableArray.prototype[Symbol.iterator] = [][Symbol.iterator];\n }\n\n var LazyObservableArray = ObservableArray.extend({\n init: function (data, type, events) {\n Observable.fn.init.call(this);\n\n this.type = type || ObservableObject;\n\n if (events) {\n this._events = events;\n }\n\n for (var idx = 0; idx < data.length; idx++) {\n this[idx] = data[idx];\n }\n\n this.length = idx;\n this._parent = proxy(function() { return this; }, this);\n },\n at: function(index) {\n var item = this[index];\n\n if (!(item instanceof this.type)) {\n item = this[index] = this.wrap(item, this._parent);\n } else {\n item.parent = this._parent;\n }\n\n return item;\n }\n });\n\n function eventHandler(context, type, field, prefix) {\n return function(e) {\n var event = {}, key;\n\n for (key in e) {\n event[key] = e[key];\n }\n\n if (prefix) {\n event.field = field + \".\" + e.field;\n } else {\n event.field = field;\n }\n\n if (type == CHANGE && context._notifyChange) {\n context._notifyChange(event);\n }\n\n context.trigger(type, event);\n };\n }\n\n function ownKeys (value, ignoreObjectKeys) {\n var props = [];\n var keys, filteredObjectKeys;\n\n value = value || {};\n\n keys = Object.getOwnPropertyNames(value);\n filteredObjectKeys = objectKeys.filter(function(key){\n return keys.indexOf(key) < 0;\n });\n\n while (value) {\n Object.getOwnPropertyNames(value).forEach(function (prop) {\n if (props.indexOf(prop) === -1 && (!ignoreObjectKeys || filteredObjectKeys.indexOf(prop) < 0)) {\n props.push(prop);\n }\n });\n value = Object.getPrototypeOf(value);\n }\n\n return props;\n }\n\n objectKeys = ownKeys({}, false);\n\n var ObservableObject = Observable.extend({\n init: function(value) {\n var that = this,\n member,\n keys = ownKeys(value, true),\n parent = function() {\n return that;\n };\n\n Observable.fn.init.call(this);\n\n this._handlers = {};\n\n keys.forEach(function(field){\n member = value[field];\n\n if (typeof member === \"object\" && member && !member.getTime && field.charAt(0) != \"_\") {\n member = that.wrap(member, field, parent);\n }\n\n that[field] = member;\n });\n\n that.uid = kendo.guid();\n },\n\n shouldSerialize: function(field, serializeFunctions) {\n return this.hasOwnProperty(field) && field !== \"_handlers\" && field !== \"_events\" && ((serializeFunctions && serializeFunctions[field]) || typeof this[field] !== FUNCTION) && field !== \"uid\";\n },\n\n forEach: function(f) {\n for (var i in this) {\n if (this.shouldSerialize(i)) {\n f(this[i], i);\n }\n }\n },\n\n toJSON: function (serializeFunctions) {\n var result = {}, value, field;\n\n for (field in this) {\n if (this.shouldSerialize(field, serializeFunctions)) {\n value = this[field];\n\n if (value instanceof ObservableObject || value instanceof ObservableArray) {\n value = value.toJSON(serializeFunctions);\n }\n\n result[field] = value;\n }\n }\n\n return result;\n },\n\n get: function(field) {\n var that = this, result;\n\n that.trigger(GET, { field: field });\n\n if (field === \"this\") {\n result = that;\n } else {\n result = kendo.getter(field, true)(that);\n }\n\n return result;\n },\n\n _set: function(field, value) {\n var that = this;\n var composite = field.indexOf(\".\") >= 0;\n\n if (composite) {\n var paths = field.split(\".\"),\n path = \"\";\n\n while (paths.length > 1) {\n path += paths.shift();\n var obj = kendo.getter(path, true)(that);\n if (obj instanceof ObservableObject) {\n obj.set(paths.join(\".\"), value);\n return composite;\n }\n path += \".\";\n }\n }\n\n kendo.setter(field)(that, value);\n\n return composite;\n },\n\n set: function(field, value) {\n var that = this,\n isSetPrevented = false,\n composite = field.indexOf(\".\") >= 0,\n current = kendo.getter(field, true)(that);\n\n if (current !== value) {\n if (current instanceof Observable && this._handlers[field]) {\n if (this._handlers[field].get) {\n current.unbind(GET, this._handlers[field].get);\n }\n current.unbind(CHANGE, this._handlers[field].change);\n }\n\n isSetPrevented = that.trigger(\"set\", { field: field, value: value });\n\n if (!isSetPrevented) {\n if (!composite) {\n value = that.wrap(value, field, function() { return that; });\n }\n if (!that._set(field, value) || field.indexOf(\"(\") >= 0 || field.indexOf(\"[\") >= 0) {\n that.trigger(CHANGE, { field: field });\n }\n }\n }\n\n return isSetPrevented;\n },\n\n parent: noop,\n\n wrap: function(object, field, parent) {\n var that = this;\n var get;\n var change;\n var type = toString.call(object);\n\n if (object != null && (type === \"[object Object]\" || type === \"[object Array]\")) {\n var isObservableArray = object instanceof ObservableArray;\n var isDataSource = object instanceof DataSource;\n\n if (type === \"[object Object]\" && !isDataSource && !isObservableArray) {\n if (!(object instanceof ObservableObject)) {\n object = new ObservableObject(object);\n }\n\n get = eventHandler(that, GET, field, true);\n object.bind(GET, get);\n change = eventHandler(that, CHANGE, field, true);\n object.bind(CHANGE, change);\n\n that._handlers[field] = { get: get, change: change };\n } else if (type === \"[object Array]\" || isObservableArray || isDataSource) {\n if (!isObservableArray && !isDataSource) {\n object = new ObservableArray(object);\n }\n\n change = eventHandler(that, CHANGE, field, false);\n\n object.bind(CHANGE, change);\n\n that._handlers[field] = { change: change };\n }\n\n object.parent = parent;\n }\n\n return object;\n }\n });\n\n function equal(x, y) {\n if (x === y) {\n return true;\n }\n\n var xtype = kendo.type(x), ytype = kendo.type(y), field;\n\n if (xtype !== ytype) {\n return false;\n }\n\n if (xtype === \"date\") {\n return x.getTime() === y.getTime();\n }\n\n if (xtype !== \"object\" && xtype !== \"array\") {\n return false;\n }\n\n for (field in x) {\n if (!equal(x[field], y[field])) {\n return false;\n }\n }\n\n return true;\n }\n\n var parsers = {\n \"number\": function(value) {\n if (typeof value === STRING && value.toLowerCase() === \"null\") {\n return null;\n }\n return kendo.parseFloat(value);\n },\n\n \"date\": function(value) {\n if (typeof value === STRING && value.toLowerCase() === \"null\") {\n return null;\n }\n return kendo.parseDate(value);\n },\n\n \"boolean\": function(value) {\n if (typeof value === STRING) {\n if (value.toLowerCase() === \"null\") {\n return null;\n } else {\n return value.toLowerCase() === \"true\";\n }\n }\n return value != null ? !!value : value;\n },\n\n \"string\": function(value) {\n if (typeof value === STRING && value.toLowerCase() === \"null\") {\n return null;\n }\n return value != null ? (value + \"\") : value;\n },\n\n \"default\": function(value) {\n return value;\n }\n };\n\n var defaultValues = {\n \"string\": \"\",\n \"number\": 0,\n \"date\": new Date(),\n \"boolean\": false,\n \"default\": \"\"\n };\n\n function getFieldByName(obj, name) {\n var field,\n fieldName;\n\n for (fieldName in obj) {\n field = obj[fieldName];\n if (isPlainObject(field) && field.field && field.field === name) {\n return field;\n } else if (field === name) {\n return field;\n }\n }\n return null;\n }\n\n var Model = ObservableObject.extend({\n init: function(data) {\n var that = this;\n\n if (!data || $.isEmptyObject(data)) {\n data = $.extend({}, that.defaults, data);\n\n if (that._initializers) {\n for (var idx = 0; idx < that._initializers.length; idx++) {\n var name = that._initializers[idx];\n data[name] = that.defaults[name]();\n }\n }\n }\n\n ObservableObject.fn.init.call(that, data);\n\n that.dirty = false;\n that.dirtyFields = {};\n\n if (that.idField) {\n that.id = that.get(that.idField);\n\n if (that.id === undefined) {\n that.id = that._defaultId;\n }\n }\n },\n\n shouldSerialize: function(field) {\n return ObservableObject.fn.shouldSerialize.call(this, field) &&\n field !== \"uid\" && !(this.idField !== \"id\" && field === \"id\") &&\n field !== \"dirty\" && field !== \"dirtyFields\" && field !== \"_accessors\";\n },\n\n _parse: function(field, value) {\n var that = this,\n fieldName = field,\n fields = (that.fields || {}),\n parse;\n\n field = fields[field];\n if (!field) {\n field = getFieldByName(fields, fieldName);\n }\n if (field) {\n parse = field.parse;\n if (!parse && field.type) {\n parse = parsers[field.type.toLowerCase()];\n }\n }\n\n return parse ? parse(value) : value;\n },\n\n _notifyChange: function(e) {\n var action = e.action;\n\n if (action == \"add\" || action == \"remove\") {\n this.dirty = true;\n this.dirtyFields[e.field] = true;\n }\n },\n\n editable: function(field) {\n field = (this.fields || {})[field];\n return field ? field.editable !== false : true;\n },\n\n set: function(field, value) {\n var that = this;\n var dirty = that.dirty;\n\n if (that.editable(field)) {\n value = that._parse(field, value);\n\n if (!equal(value, that.get(field))) {\n that.dirty = true;\n that.dirtyFields[field] = true;\n\n if (ObservableObject.fn.set.call(that, field, value) && !dirty) {\n that.dirty = dirty;\n\n if (!that.dirty) {\n that.dirtyFields[field] = false;\n }\n }\n } else {\n that.trigger(\"equalSet\", { field: field, value: value });\n }\n }\n },\n\n accept: function(data) {\n var that = this,\n parent = function() { return that; },\n field;\n\n for (field in data) {\n var value = data[field];\n\n if (field.charAt(0) != \"_\") {\n value = that.wrap(data[field], field, parent);\n }\n\n that._set(field, value);\n }\n\n if (that.idField) {\n that.id = that.get(that.idField);\n }\n\n that.dirty = false;\n that.dirtyFields = {};\n },\n\n isNew: function() {\n return this.id === this._defaultId;\n }\n });\n\n Model.define = function(base, options) {\n if (options === undefined) {\n options = base;\n base = Model;\n }\n\n var model,\n proto = extend({ defaults: {} }, options),\n name,\n field,\n type,\n value,\n idx,\n length,\n fields = {},\n originalName,\n id = proto.id,\n functionFields = [];\n\n if (id) {\n proto.idField = id;\n }\n\n if (proto.id) {\n delete proto.id;\n }\n\n if (id) {\n proto.defaults[id] = proto._defaultId = \"\";\n }\n\n if (toString.call(proto.fields) === \"[object Array]\") {\n for (idx = 0, length = proto.fields.length; idx < length; idx++) {\n field = proto.fields[idx];\n if (typeof field === STRING) {\n fields[field] = {};\n } else if (field.field) {\n fields[field.field] = field;\n }\n }\n proto.fields = fields;\n }\n\n for (name in proto.fields) {\n field = proto.fields[name];\n type = field.type || \"default\";\n value = null;\n originalName = name;\n\n name = typeof (field.field) === STRING ? field.field : name;\n\n if (!field.nullable) {\n value = proto.defaults[originalName !== name ? originalName : name] = field.defaultValue !== undefined ? field.defaultValue : defaultValues[type.toLowerCase()];\n\n if (typeof value === \"function\") {\n functionFields.push(name);\n }\n }\n\n if (options.id === name) {\n proto._defaultId = value;\n }\n\n proto.defaults[originalName !== name ? originalName : name] = value;\n\n field.parse = field.parse || parsers[type];\n }\n\n if (functionFields.length > 0) {\n proto._initializers = functionFields;\n }\n\n model = base.extend(proto);\n model.define = function(options) {\n return Model.define(model, options);\n };\n\n if (proto.fields) {\n model.fields = proto.fields;\n model.idField = proto.idField;\n }\n\n return model;\n };\n\n var Comparer = {\n selector: function(field) {\n return isFunction(field) ? field : getter(field);\n },\n\n compare: function(field) {\n var selector = this.selector(field);\n return function (a, b) {\n a = selector(a);\n b = selector(b);\n\n if (a == null && b == null) {\n return 0;\n }\n\n if (a == null) {\n return -1;\n }\n\n if (b == null) {\n return 1;\n }\n\n if (a.localeCompare) {\n return a.localeCompare(b);\n }\n\n return a > b ? 1 : (a < b ? -1 : 0);\n };\n },\n\n create: function(sort) {\n var compare = sort.compare || this.compare(sort.field);\n\n if (sort.dir == \"desc\") {\n return function(a, b) {\n return compare(b, a, true);\n };\n }\n\n return compare;\n },\n\n combine: function(comparers) {\n return function(a, b) {\n var result = comparers[0](a, b),\n idx,\n length;\n\n for (idx = 1, length = comparers.length; idx < length; idx ++) {\n result = result || comparers[idx](a, b);\n }\n\n return result;\n };\n }\n };\n\n var StableComparer = extend({}, Comparer, {\n asc: function(field) {\n var selector = this.selector(field);\n return function (a, b) {\n var valueA = selector(a);\n var valueB = selector(b);\n\n if (valueA && valueA.getTime && valueB && valueB.getTime) {\n valueA = valueA.getTime();\n valueB = valueB.getTime();\n }\n\n if (valueA === valueB) {\n return a.__position - b.__position;\n }\n\n if (valueA == null) {\n return -1;\n }\n\n if (valueB == null) {\n return 1;\n }\n\n if (valueA.localeCompare) {\n return valueA.localeCompare(valueB);\n }\n\n return valueA > valueB ? 1 : -1;\n };\n },\n\n desc: function(field) {\n var selector = this.selector(field);\n return function (a, b) {\n var valueA = selector(a);\n var valueB = selector(b);\n\n if (valueA && valueA.getTime && valueB && valueB.getTime) {\n valueA = valueA.getTime();\n valueB = valueB.getTime();\n }\n\n if (valueA === valueB) {\n return a.__position - b.__position;\n }\n\n if (valueA == null) {\n return 1;\n }\n\n if (valueB == null) {\n return -1;\n }\n\n if (valueB.localeCompare) {\n return valueB.localeCompare(valueA);\n }\n\n return valueA < valueB ? 1 : -1;\n };\n },\n create: function(sort) {\n return this[sort.dir](sort.field);\n }\n });\n\n map = function (array, callback) {\n var idx, length = array.length, result = new Array(length);\n\n for (idx = 0; idx < length; idx++) {\n result[idx] = callback(array[idx], idx, array);\n }\n\n return result;\n };\n\n var operators = (function(){\n\n function quote(str) {\n if (typeof str == \"string\") {\n str = str.replace(/[\\r\\n]+/g, \"\");\n }\n return JSON.stringify(str);\n }\n\n function textOp(impl) {\n return function(a, b, ignore, accentFoldingFiltering) {\n b += \"\";\n if (ignore) {\n a = \"(\" + a + \" + '').toString()\" + ((accentFoldingFiltering) ? \".toLocaleLowerCase('\" + accentFoldingFiltering +\"')\" : \".toLowerCase()\");\n b = ((accentFoldingFiltering) ? b.toLocaleLowerCase(accentFoldingFiltering) : b.toLowerCase());\n }\n return impl(a, quote(b), ignore);\n };\n }\n\n function operator(op, a, b, ignore, accentFoldingFiltering) {\n if (b != null) {\n if (typeof b === STRING) {\n var date = dateRegExp.exec(b);\n if (date) {\n b = new Date(+date[1]);\n } else if (ignore) {\n b = quote(((accentFoldingFiltering) ? b.toLocaleLowerCase(accentFoldingFiltering) : b.toLowerCase()));\n a = \"((\" + a + \" || '')+'')\" + ((accentFoldingFiltering) ? \".toLocaleLowerCase('\" + accentFoldingFiltering +\"')\" : \".toLowerCase()\");\n } else {\n b = quote(b);\n }\n }\n\n if (b.getTime) {\n //b looks like a Date\n a = \"(\" + a + \"&&\" + a + \".getTime?\" + a + \".getTime():\" + a + \")\";\n b = b.getTime();\n }\n }\n\n return a + \" \" + op + \" \" + b;\n }\n\n function getMatchRegexp(pattern) {\n // take a pattern, as supported by Excel match filter, and\n // convert it to the equivalent JS regular expression.\n // Excel patterns support:\n //\n // * - match any sequence of characters\n // ? - match a single character\n //\n // to match a literal * or ?, they must be prefixed by a tilde (~)\n for (var rx = \"/^\", esc = false, i = 0; i < pattern.length; ++i) {\n var ch = pattern.charAt(i);\n if (esc) {\n rx += \"\\\\\" + ch;\n } else if (ch == \"~\") {\n esc = true;\n continue;\n } else if (ch == \"*\") {\n rx += \".*\";\n } else if (ch == \"?\") {\n rx += \".\";\n } else if (\".+^$()[]{}|\\\\/\\n\\r\\u2028\\u2029\\xA0\".indexOf(ch) >= 0) {\n rx += \"\\\\\" + ch;\n } else {\n rx += ch;\n }\n esc = false;\n }\n return rx + \"$/\";\n }\n\n return {\n quote: function(value) {\n if (value && value.getTime) {\n return \"new Date(\" + value.getTime() + \")\";\n }\n return quote(value);\n },\n eq: function(a, b, ignore, accentFoldingFiltering) {\n return operator(\"==\", a, b, ignore, accentFoldingFiltering);\n },\n neq: function(a, b, ignore, accentFoldingFiltering) {\n return operator(\"!=\", a, b, ignore, accentFoldingFiltering);\n },\n gt: function(a, b, ignore) {\n return operator(\">\", a, b, ignore);\n },\n gte: function(a, b, ignore) {\n return operator(\">=\", a, b, ignore);\n },\n lt: function(a, b, ignore) {\n return operator(\"<\", a, b, ignore);\n },\n lte: function(a, b, ignore) {\n return operator(\"<=\", a, b, ignore);\n },\n startswith: textOp(function(a, b) {\n return a + \".lastIndexOf(\" + b + \", 0) == 0\";\n }),\n doesnotstartwith: textOp(function(a, b) {\n return a + \".lastIndexOf(\" + b + \", 0) == -1\";\n }),\n endswith: textOp(function(a, b) {\n var n = b ? b.length - 2 : 0;\n return a + \".indexOf(\" + b + \", \" + a + \".length - \" + n + \") >= 0\";\n }),\n doesnotendwith: textOp(function(a, b) {\n var n = b ? b.length - 2 : 0;\n return a + \".indexOf(\" + b + \", \" + a + \".length - \" + n + \") < 0\";\n }),\n contains: textOp(function(a, b) {\n return a + \".indexOf(\" + b + \") >= 0\";\n }),\n doesnotcontain: textOp(function(a, b) {\n return a + \".indexOf(\" + b + \") == -1\";\n }),\n matches: textOp(function(a, b){\n b = b.substring(1, b.length - 1);\n return getMatchRegexp(b) + \".test(\" + a + \")\";\n }),\n doesnotmatch: textOp(function(a, b){\n b = b.substring(1, b.length - 1);\n return \"!\" + getMatchRegexp(b) + \".test(\" + a + \")\";\n }),\n isempty: function(a) {\n return a + \" === ''\";\n },\n isnotempty: function(a) {\n return a + \" !== ''\";\n },\n isnull: function(a) {\n return \"(\" + a + \" == null)\";\n },\n isnotnull: function(a) {\n return \"(\" + a + \" != null)\";\n },\n isnullorempty: function(a) {\n return \"(\" + a + \" === null) || (\" + a + \" === '')\";\n },\n isnotnullorempty: function(a) {\n return \"(\" + a + \" !== null) && (\" + a + \" !== '')\";\n }\n };\n })();\n\n function Query(data) {\n this.data = data || [];\n }\n\n Query.filterExpr = function(expression) {\n var expressions = [],\n logic = { and: \" && \", or: \" || \" },\n idx,\n length,\n filter,\n expr,\n fieldFunctions = [],\n operatorFunctions = [],\n field,\n operator,\n filters = expression.filters;\n\n for (idx = 0, length = filters.length; idx < length; idx++) {\n filter = filters[idx];\n field = filter.field;\n operator = filter.operator;\n\n if (filter.filters) {\n expr = Query.filterExpr(filter);\n //Nested function fields or operators - update their index e.g. __o[0] -> __o[1]\n filter = expr.expression\n .replace(/__o\\[(\\d+)\\]/g, function(match, index) {\n index = +index;\n return \"__o[\" + (operatorFunctions.length + index) + \"]\";\n })\n .replace(/__f\\[(\\d+)\\]/g, function(match, index) {\n index = +index;\n return \"__f[\" + (fieldFunctions.length + index) + \"]\";\n });\n\n operatorFunctions.push.apply(operatorFunctions, expr.operators);\n fieldFunctions.push.apply(fieldFunctions, expr.fields);\n } else {\n if (typeof field === FUNCTION) {\n expr = \"__f[\" + fieldFunctions.length +\"](d)\";\n fieldFunctions.push(field);\n } else {\n expr = kendo.expr(field);\n }\n\n if (typeof operator === FUNCTION) {\n filter = \"__o[\" + operatorFunctions.length + \"](\" + expr + \", \" + operators.quote(filter.value) + \")\";\n operatorFunctions.push(operator);\n } else {\n filter = operators[(operator || \"eq\").toLowerCase()](expr, filter.value, filter.ignoreCase !== undefined? filter.ignoreCase : true, expression.accentFoldingFiltering);\n }\n }\n\n expressions.push(filter);\n }\n\n return { expression: \"(\" + expressions.join(logic[expression.logic]) + \")\", fields: fieldFunctions, operators: operatorFunctions };\n };\n\n function normalizeSort(field, dir) {\n if (field) {\n var descriptor = typeof field === STRING ? { field: field, dir: dir } : field,\n descriptors = isArray(descriptor) ? descriptor : (descriptor !== undefined ? [descriptor] : []);\n\n return grep(descriptors, function(d) { return !!d.dir; });\n }\n }\n\n function sortFields(sorts, dir) {\n var sortObject = {};\n\n if (sorts) {\n var descriptor = typeof sorts === STRING ? { field: sorts, dir: dir } : sorts,\n descriptors = isArray(descriptor) ? descriptor : (descriptor !== undefined ? [descriptor] : []);\n\n for (var i = 0; i < descriptors.length; i++) {\n sortObject[descriptors[i].field] = { dir: descriptors[i].dir, index: i + 1 };\n }\n }\n\n return sortObject;\n }\n\n var operatorMap = {\n \"==\": \"eq\",\n equals: \"eq\",\n isequalto: \"eq\",\n equalto: \"eq\",\n equal: \"eq\",\n \"!=\": \"neq\",\n ne: \"neq\",\n notequals: \"neq\",\n isnotequalto: \"neq\",\n notequalto: \"neq\",\n notequal: \"neq\",\n \"<\": \"lt\",\n islessthan: \"lt\",\n lessthan: \"lt\",\n less: \"lt\",\n \"<=\": \"lte\",\n le: \"lte\",\n islessthanorequalto: \"lte\",\n lessthanequal: \"lte\",\n \">\": \"gt\",\n isgreaterthan: \"gt\",\n greaterthan: \"gt\",\n greater: \"gt\",\n \">=\": \"gte\",\n isgreaterthanorequalto: \"gte\",\n greaterthanequal: \"gte\",\n ge: \"gte\",\n notsubstringof: \"doesnotcontain\",\n isnull: \"isnull\",\n isempty: \"isempty\",\n isnotempty: \"isnotempty\"\n };\n\n function normalizeOperator(expression) {\n var idx,\n length,\n filter,\n operator,\n filters = expression.filters;\n\n if (filters) {\n for (idx = 0, length = filters.length; idx < length; idx++) {\n filter = filters[idx];\n operator = filter.operator;\n\n if (operator && typeof operator === STRING) {\n filter.operator = operatorMap[operator.toLowerCase()] || operator;\n }\n\n normalizeOperator(filter);\n }\n }\n }\n\n function normalizeFilter(expression) {\n if (expression && !isEmptyObject(expression)) {\n if (isArray(expression) || !expression.filters) {\n expression = {\n logic: \"and\",\n filters: isArray(expression) ? expression : [expression]\n };\n }\n\n normalizeOperator(expression);\n\n return expression;\n }\n }\n\n Query.normalizeFilter = normalizeFilter;\n\n function compareDescriptor(f1, f2) {\n if (f1.logic || f2.logic) {\n return false;\n }\n\n return f1.field === f2.field && f1.value === f2.value && f1.operator === f2.operator;\n }\n\n function normalizeDescriptor(filter) {\n filter = filter || {};\n\n if (isEmptyObject(filter)) {\n return { logic: \"and\", filters: [] };\n }\n\n return normalizeFilter(filter);\n }\n\n function fieldComparer(a, b) {\n if (b.logic || (a.field > b.field)) {\n return 1;\n } else if (a.field < b.field) {\n return -1;\n } else {\n return 0;\n }\n }\n\n function compareFilters(expr1, expr2) {\n expr1 = normalizeDescriptor(expr1);\n expr2 = normalizeDescriptor(expr2);\n\n if (expr1.logic !== expr2.logic) {\n return false;\n }\n\n var f1, f2;\n var filters1 = (expr1.filters || []).slice();\n var filters2 = (expr2.filters || []).slice();\n\n if (filters1.length !== filters2.length) {\n return false;\n }\n\n filters1 = filters1.sort(fieldComparer);\n filters2 = filters2.sort(fieldComparer);\n\n for (var idx = 0; idx < filters1.length; idx++) {\n f1 = filters1[idx];\n f2 = filters2[idx];\n\n if (f1.logic && f2.logic) {\n if (!compareFilters(f1, f2)) {\n return false;\n }\n } else if (!compareDescriptor(f1, f2)) {\n return false;\n }\n }\n\n return true;\n }\n\n Query.compareFilters = compareFilters;\n\n function normalizeAggregate(expressions) {\n return isArray(expressions) ? expressions : [expressions];\n }\n\n function normalizeGroup(field, dir, compare, skipItemSorting) {\n var descriptor = typeof field === STRING ? { field: field, dir: dir, compare: compare, skipItemSorting : skipItemSorting } : field,\n descriptors = isArray(descriptor) ? descriptor : (descriptor !== undefined ? [descriptor] : []);\n\n return map(descriptors, function(d) {\n return {\n field: d.field,\n dir: d.dir || \"asc\",\n aggregates: d.aggregates,\n compare: d.compare,\n skipItemSorting: d.skipItemSorting\n };\n });\n }\n\n function normalizeGroupWithoutCompare(field, dir, compare) {\n var descriptors = normalizeGroup(field, dir, compare);\n\n for (var i = 0; i < descriptors.length; i++) {\n delete descriptors[i].compare;\n }\n\n return descriptors;\n }\n\n function anyGroupDescriptorHasCompare(groupDescriptors) {\n var descriptors = isArray(groupDescriptors) ? groupDescriptors : [groupDescriptors];\n\n for (var i = 0; i < descriptors.length; i++) {\n if (descriptors[i] && isFunction(descriptors[i].compare)) {\n return true;\n }\n }\n\n return false;\n }\n\n Query.prototype = {\n toArray: function () {\n return this.data;\n },\n range: function(index, count) {\n return new Query(this.data.slice(index, index + count));\n },\n skip: function (count) {\n return new Query(this.data.slice(count));\n },\n take: function (count) {\n return new Query(this.data.slice(0, count));\n },\n select: function (selector) {\n return new Query(map(this.data, selector));\n },\n order: function(selector, dir, inPlace) {\n var sort = { dir: dir };\n\n if (selector) {\n if (selector.compare) {\n sort.compare = selector.compare;\n } else {\n sort.field = selector;\n }\n }\n\n if (inPlace) {\n return new Query(this.data.sort(Comparer.create(sort)));\n }\n\n return new Query(this.data.slice(0).sort(Comparer.create(sort)));\n },\n orderBy: function(selector, inPlace) {\n return this.order(selector, \"asc\", inPlace);\n },\n orderByDescending: function(selector, inPlace) {\n return this.order(selector, \"desc\", inPlace);\n },\n sort: function(field, dir, comparer, inPlace) {\n var idx,\n length,\n descriptors = normalizeSort(field, dir),\n comparers = [];\n\n comparer = comparer || Comparer;\n\n if (descriptors.length) {\n for (idx = 0, length = descriptors.length; idx < length; idx++) {\n comparers.push(comparer.create(descriptors[idx]));\n }\n\n return this.orderBy({ compare: comparer.combine(comparers) }, inPlace);\n }\n\n return this;\n },\n\n filter: function(expressions) {\n var idx,\n current,\n length,\n compiled,\n predicate,\n data = this.data,\n fields,\n operators,\n result = [],\n filter;\n\n expressions = normalizeFilter(expressions);\n\n if (!expressions || expressions.filters.length === 0) {\n return this;\n }\n\n compiled = Query.filterExpr(expressions);\n fields = compiled.fields;\n operators = compiled.operators;\n\n predicate = filter = new Function(\"d, __f, __o\", \"return \" + compiled.expression);\n\n if (fields.length || operators.length) {\n filter = function(d) {\n return predicate(d, fields, operators);\n };\n }\n\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n current = data[idx];\n\n if (filter(current)) {\n result.push(current);\n }\n }\n\n return new Query(result);\n },\n\n group: function(descriptors, allData, options) {\n descriptors = normalizeGroup(descriptors || []);\n allData = allData || this.data;\n\n var that = this,\n result = new Query(that.data),\n descriptor;\n\n if (descriptors.length > 0) {\n descriptor = descriptors[0];\n\n if (options && options.groupPaging) {\n result = new Query(allData).groupAllData(descriptor, allData).select(function (group) {\n var data = new Query(allData).filter([{\n field: group.field,\n operator: \"eq\",\n value: group.value,\n ignoreCase: false\n }]);\n var items = descriptors.length > 1 ? new Query(group.items).group(descriptors.slice(1), data.toArray(), options).toArray() : group.items;\n return {\n field: group.field,\n value: group.value,\n hasSubgroups: descriptors.length > 1,\n items: items,\n aggregates: data.aggregate(descriptor.aggregates),\n uid: kendo.guid(),\n itemCount: items.length,\n subgroupCount: items.length\n };\n });\n\n } else {\n result = result.groupBy(descriptor).select(function(group) {\n var data = new Query(allData).filter([ { field: group.field, operator: \"eq\", value: group.value, ignoreCase: false } ]);\n return {\n field: group.field,\n value: group.value,\n items: descriptors.length > 1 ? new Query(group.items).group(descriptors.slice(1), data.toArray()).toArray() : group.items,\n hasSubgroups: descriptors.length > 1,\n aggregates: data.aggregate(descriptor.aggregates)\n };\n });\n }\n }\n return result;\n },\n\n groupBy: function(descriptor) {\n var that = this;\n\n if (isEmptyObject(descriptor) || !this.data.length) {\n return new Query([]);\n }\n\n var field = descriptor.field,\n sorted = descriptor.skipItemSorting ? this.data : this._sortForGrouping(field, descriptor.dir || \"asc\"),\n accessor = kendo.accessor(field),\n item,\n groupValue = accessor.get(sorted[0], field),\n group = {\n field: field,\n value: groupValue,\n items: []\n },\n currentValue,\n idx,\n len,\n result = [group];\n\n for(idx = 0, len = sorted.length; idx < len; idx++) {\n item = sorted[idx];\n currentValue = accessor.get(item, field);\n if(!groupValueComparer(groupValue, currentValue)) {\n groupValue = currentValue;\n group = {\n field: field,\n value: groupValue,\n items: []\n };\n result.push(group);\n }\n group.items.push(item);\n }\n\n result = that._sortGroups(result, descriptor);\n\n return new Query(result);\n },\n\n groupAllData: function (descriptor, allData) {\n if (isEmptyObject(descriptor) || this.data && !this.data.length) {\n return new Query([]);\n }\n\n var field = descriptor.field,\n sorted = descriptor.skipItemSorting ? allData : new Query(allData).sort(field, descriptor.dir || \"asc\", StableComparer).toArray(),\n accessor = kendo.accessor(field),\n item,\n groupValue = accessor.get(sorted[0], field),\n group = {\n field: field,\n value: groupValue,\n items: []\n },\n currentValue,\n idx,\n len,\n result = [group];\n\n for (idx = 0, len = sorted.length; idx < len; idx++) {\n item = sorted[idx];\n currentValue = accessor.get(item, field);\n if (!groupValueComparer(groupValue, currentValue)) {\n groupValue = currentValue;\n group = {\n field: field,\n value: groupValue,\n items: []\n };\n result.push(group);\n }\n group.items.push(item);\n }\n\n result = this._sortGroups(result, descriptor);\n\n return new Query(result);\n },\n\n _sortForGrouping: function(field, dir) {\n var idx, length,\n data = this.data;\n\n if (!stableSort) {\n for (idx = 0, length = data.length; idx < length; idx++) {\n data[idx].__position = idx;\n }\n\n data = new Query(data).sort(field, dir, StableComparer).toArray();\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n delete data[idx].__position;\n }\n return data;\n }\n\n return this.sort(field, dir).toArray();\n },\n\n _sortGroups: function(groups, descriptor) {\n var result = groups;\n\n if (descriptor && isFunction(descriptor.compare)) {\n result = new Query(result).order({ compare: descriptor.compare }, descriptor.dir || ASCENDING).toArray();\n }\n\n return result;\n },\n\n aggregate: function (aggregates) {\n var idx,\n len,\n result = {},\n state = {};\n\n if (aggregates && aggregates.length) {\n for(idx = 0, len = this.data.length; idx < len; idx++) {\n calculateAggregate(result, aggregates, this.data[idx], idx, len, state);\n }\n }\n return result;\n }\n };\n\n function groupValueComparer(a, b) {\n if (a && a.getTime && b && b.getTime) {\n return a.getTime() === b.getTime();\n }\n return a === b;\n }\n\n function calculateAggregate(accumulator, aggregates, item, index, length, state) {\n aggregates = aggregates || [];\n var idx,\n aggr,\n functionName,\n len = aggregates.length;\n\n for (idx = 0; idx < len; idx++) {\n aggr = aggregates[idx];\n functionName = aggr.aggregate;\n var field = aggr.field;\n accumulator[field] = accumulator[field] || {};\n state[field] = state[field] || {};\n state[field][functionName] = state[field][functionName] || {};\n accumulator[field][functionName] = functions[functionName.toLowerCase()](accumulator[field][functionName], item, kendo.accessor(field), index, length, state[field][functionName]);\n }\n }\n\n var functions = {\n sum: function(accumulator, item, accessor) {\n var value = accessor.get(item);\n\n if (!isNumber(accumulator)) {\n accumulator = value;\n } else if (isNumber(value)) {\n accumulator += value;\n }\n\n return accumulator;\n },\n count: function(accumulator) {\n return (accumulator || 0) + 1;\n },\n average: function(accumulator, item, accessor, index, length, state) {\n var value = accessor.get(item);\n\n if (state.count === undefined) {\n state.count = 0;\n }\n\n if (!isNumber(accumulator)) {\n accumulator = value;\n } else if (isNumber(value)) {\n accumulator += value;\n }\n\n if (isNumber(value)) {\n state.count++;\n }\n\n if(index == length - 1 && isNumber(accumulator)) {\n accumulator = accumulator / state.count;\n }\n return accumulator;\n },\n max: function(accumulator, item, accessor) {\n var value = accessor.get(item);\n\n if (!isNumber(accumulator) && !isDate(accumulator)) {\n accumulator = value;\n }\n\n if(accumulator < value && (isNumber(value) || isDate(value))) {\n accumulator = value;\n }\n return accumulator;\n },\n min: function(accumulator, item, accessor) {\n var value = accessor.get(item);\n\n if (!isNumber(accumulator) && !isDate(accumulator)) {\n accumulator = value;\n }\n\n if(accumulator > value && (isNumber(value) || isDate(value))) {\n accumulator = value;\n }\n return accumulator;\n }\n };\n\n function isNumber(val) {\n return typeof val === \"number\" && !isNaN(val);\n }\n\n function isDate(val) {\n return val && val.getTime;\n }\n\n function toJSON(array) {\n var idx, length = array.length, result = new Array(length);\n\n for (idx = 0; idx < length; idx++) {\n result[idx] = array[idx].toJSON();\n }\n\n return result;\n }\n\n Query.normalizeGroup = normalizeGroup;\n Query.normalizeSort = normalizeSort;\n\n Query.process = function(data, options, inPlace) {\n options = options || {};\n\n var group = options.group;\n var customGroupSort = anyGroupDescriptorHasCompare(normalizeGroup(group || []));\n var query = new Query(data),\n groupDescriptorsWithoutCompare = normalizeGroupWithoutCompare(group || []),\n normalizedSort = normalizeSort(options.sort || []),\n sort = customGroupSort ? normalizedSort : groupDescriptorsWithoutCompare.concat(normalizedSort),\n groupDescriptorsWithoutSort,\n total,\n filterCallback = options.filterCallback,\n filter = options.filter,\n skip = options.skip,\n take = options.take;\n\n if (sort && inPlace) {\n query = query.sort(sort, undefined, undefined, inPlace);\n }\n\n if (filter) {\n query = query.filter(filter);\n\n if (filterCallback) {\n query = filterCallback(query);\n }\n\n total = query.toArray().length;\n }\n\n if (sort) {\n if (!inPlace) {\n query = query.sort(sort);\n }\n\n if (group) {\n data = query.toArray();\n }\n }\n\n if (customGroupSort) {\n query = query.group(group, data, options);\n\n if (skip !== undefined && take !== undefined && !options.groupPaging) {\n query = new Query(flatGroups(query.toArray())).range(skip, take);\n\n groupDescriptorsWithoutSort = map(groupDescriptorsWithoutCompare, function(groupDescriptor) {\n return extend({}, groupDescriptor, {\n skipItemSorting: true\n });\n });\n\n query = query.group(groupDescriptorsWithoutSort, data, options);\n }\n } else {\n if (skip !== undefined && take !== undefined) {\n query = query.range(skip, take);\n }\n\n if (group && (!isEmptyObject(group) || group.length !== 0)) {\n query = query.group(group, data, options);\n }\n }\n\n return {\n total: total,\n data: query.toArray()\n };\n };\n\n var LocalTransport = Class.extend({\n init: function(options) {\n this.data = options.data;\n },\n\n read: function(options) {\n options.success(this.data);\n },\n update: function(options) {\n options.success(options.data);\n },\n create: function(options) {\n options.success(options.data);\n },\n destroy: function(options) {\n options.success(options.data);\n }\n });\n\n var RemoteTransport = Class.extend( {\n init: function(options) {\n var that = this, parameterMap;\n\n options = that.options = extend({}, that.options, options);\n\n each(crud, function(index, type) {\n if (typeof options[type] === STRING) {\n options[type] = {\n url: options[type]\n };\n }\n });\n\n that.cache = options.cache? Cache.create(options.cache) : {\n find: noop,\n add: noop\n };\n\n parameterMap = options.parameterMap;\n\n if (options.submit) {\n that.submit = options.submit;\n }\n\n if (isFunction(options.push)) {\n that.push = options.push;\n }\n\n if (!that.push) {\n that.push = identity;\n }\n\n that.parameterMap = isFunction(parameterMap) ? parameterMap : function(options) {\n var result = {};\n\n each(options, function(option, value) {\n if (option in parameterMap) {\n option = parameterMap[option];\n if (isPlainObject(option)) {\n value = option.value(value);\n option = option.key;\n }\n }\n\n result[option] = value;\n });\n\n return result;\n };\n },\n\n options: {\n parameterMap: identity\n },\n\n create: function(options) {\n return ajax(this.setup(options, CREATE));\n },\n\n read: function(options) {\n var that = this,\n success,\n error,\n result,\n cache = that.cache;\n\n options = that.setup(options, READ);\n\n success = options.success || noop;\n error = options.error || noop;\n\n result = cache.find(options.data);\n\n if(result !== undefined) {\n success(result);\n } else {\n options.success = function(result) {\n cache.add(options.data, result);\n\n success(result);\n };\n\n $.ajax(options);\n }\n },\n\n update: function(options) {\n return ajax(this.setup(options, UPDATE));\n },\n\n destroy: function(options) {\n return ajax(this.setup(options, DESTROY));\n },\n\n setup: function(options, type) {\n options = options || {};\n\n var that = this,\n parameters,\n operation = that.options[type],\n data = isFunction(operation.data) ? operation.data(options.data) : operation.data;\n\n options = extend(true, {}, operation, options);\n parameters = extend(true, {}, data, options.data);\n\n options.data = that.parameterMap(parameters, type);\n\n if (isFunction(options.url)) {\n options.url = options.url(parameters);\n }\n\n return options;\n }\n });\n\n var Cache = Class.extend({\n init: function() {\n this._store = {};\n },\n add: function(key, data) {\n if(key !== undefined) {\n this._store[stringify(key)] = data;\n }\n },\n find: function(key) {\n return this._store[stringify(key)];\n },\n clear: function() {\n this._store = {};\n },\n remove: function(key) {\n delete this._store[stringify(key)];\n }\n });\n\n Cache.create = function(options) {\n var store = {\n \"inmemory\": function() { return new Cache(); }\n };\n\n if (isPlainObject(options) && isFunction(options.find)) {\n return options;\n }\n\n if (options === true) {\n return new Cache();\n }\n\n return store[options]();\n };\n\n function serializeRecords(data, getters, modelInstance, originalFieldNames, fieldNames) {\n var record,\n getter,\n originalName,\n idx,\n setters = {},\n length;\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n record = data[idx];\n for (getter in getters) {\n originalName = fieldNames[getter];\n\n if (originalName && originalName !== getter) {\n if (!setters[originalName]) {\n setters[originalName] = kendo.setter(originalName);\n }\n setters[originalName](record, getters[getter](record));\n delete record[getter];\n }\n }\n }\n }\n\n function convertRecords(data, getters, modelInstance, originalFieldNames, fieldNames) {\n var record,\n getter,\n originalName,\n idx,\n length;\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n record = data[idx];\n for (getter in getters) {\n record[getter] = modelInstance._parse(getter, getters[getter](record));\n\n originalName = fieldNames[getter];\n if (originalName && originalName !== getter) {\n delete record[originalName];\n }\n }\n }\n }\n\n function convertGroup(data, getters, modelInstance, originalFieldNames, fieldNames) {\n var record,\n idx,\n fieldName,\n length;\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n record = data[idx];\n\n fieldName = originalFieldNames[record.field];\n if (fieldName && fieldName != record.field) {\n record.field = fieldName;\n }\n\n record.value = modelInstance._parse(record.field, record.value);\n\n if (record.items) {\n if (record.hasSubgroups) {\n convertGroup(record.items, getters, modelInstance, originalFieldNames, fieldNames);\n } else {\n convertRecords(record.items, getters, modelInstance, originalFieldNames, fieldNames);\n }\n }\n }\n }\n\n function wrapDataAccess(originalFunction, model, converter, getters, originalFieldNames, fieldNames) {\n return function(data) {\n data = originalFunction(data);\n\n return wrapDataAccessBase(model, converter, getters, originalFieldNames, fieldNames)(data);\n };\n }\n\n function wrapDataAccessBase(model, converter, getters, originalFieldNames, fieldNames) {\n return function(data) {\n\n if (data && !isEmptyObject(getters)) {\n if (toString.call(data) !== \"[object Array]\" && !(data instanceof ObservableArray)) {\n data = [data];\n }\n\n converter(data, getters, new model(), originalFieldNames, fieldNames);\n }\n\n return data || [];\n };\n }\n\n var DataReader = Class.extend({\n init: function(schema) {\n var that = this, member, get, model, base;\n\n schema = schema || {};\n\n for (member in schema) {\n get = schema[member];\n\n that[member] = typeof get === STRING ? getter(get) : get;\n }\n\n base = schema.modelBase || Model;\n\n if (isPlainObject(that.model)) {\n that.model = model = base.define(that.model);\n }\n\n var dataFunction = proxy(that.data, that);\n\n that._dataAccessFunction = dataFunction;\n\n if (that.model) {\n var groupsFunction = proxy(that.groups, that),\n serializeFunction = proxy(that.serialize, that),\n originalFieldNames = {},\n getters = {},\n serializeGetters = {},\n fieldNames = {},\n shouldSerialize = false,\n fieldName,\n name;\n\n model = that.model;\n\n if (model.fields) {\n each(model.fields, function(field, value) {\n var fromName;\n\n fieldName = field;\n\n if (isPlainObject(value) && value.field) {\n fieldName = value.field;\n } else if (typeof value === STRING) {\n fieldName = value;\n }\n\n if (isPlainObject(value) && value.from) {\n fromName = value.from;\n }\n\n shouldSerialize = shouldSerialize || (fromName && fromName !== field) || fieldName !== field;\n name = fromName || fieldName;\n getters[field] = name.indexOf(\".\") !== -1 ? getter(name, true) : getter(name);\n serializeGetters[field] = getter(field);\n originalFieldNames[fromName || fieldName] = field;\n fieldNames[field] = fromName || fieldName;\n });\n\n if (!schema.serialize && shouldSerialize) {\n that.serialize = wrapDataAccess(serializeFunction, model, serializeRecords, serializeGetters, originalFieldNames, fieldNames);\n }\n }\n\n that._dataAccessFunction = dataFunction;\n that._wrapDataAccessBase = wrapDataAccessBase(model, convertRecords, getters, originalFieldNames, fieldNames);\n that.data = wrapDataAccess(dataFunction, model, convertRecords, getters, originalFieldNames, fieldNames);\n that.groups = wrapDataAccess(groupsFunction, model, convertGroup, getters, originalFieldNames, fieldNames);\n }\n },\n errors: function(data) {\n return data ? data.errors : null;\n },\n parse: identity,\n data: identity,\n total: function(data) {\n return data.length;\n },\n groups: identity,\n aggregates: function() {\n return {};\n },\n serialize: function(data) {\n return data;\n }\n });\n\n function fillLastGroup(originalGroup, newGroup) {\n var currOriginal;\n var currentNew;\n\n if (newGroup.items && newGroup.items.length) {\n for (var i = 0; i < newGroup.items.length; i++) {\n currOriginal = originalGroup.items[originalGroup.items.length - 1];\n currentNew = newGroup.items[i];\n if (currOriginal && currentNew) {\n if (currOriginal.hasSubgroups && currOriginal.value == currentNew.value) {\n fillLastGroup(currOriginal, currentNew);\n } else if (currOriginal.field && currOriginal.value == currentNew.value) {\n currOriginal.items.push.apply(currOriginal.items, currentNew.items);\n } else {\n originalGroup.items.push.apply(originalGroup.items, [currentNew]);\n }\n } else if (currentNew) {\n originalGroup.items.push.apply(originalGroup.items, [currentNew]);\n }\n }\n }\n }\n function mergeGroups(target, dest, skip, take) {\n var group,\n idx = 0,\n items;\n\n while (dest.length && take) {\n group = dest[idx];\n items = group.items;\n\n var length = items.length;\n\n if (target && target.field === group.field && target.value === group.value) {\n if (target.hasSubgroups && target.items.length) {\n mergeGroups(target.items[target.items.length - 1], group.items, skip, take);\n } else {\n items = items.slice(skip, skip + take);\n target.items = target.items.concat(items);\n }\n dest.splice(idx--, 1);\n } else if (group.hasSubgroups && items.length) {\n mergeGroups(group, items, skip, take);\n if (!group.items.length) {\n dest.splice(idx--, 1);\n }\n } else {\n items = items.slice(skip, skip + take);\n group.items = items;\n\n if (!group.items.length) {\n dest.splice(idx--, 1);\n }\n }\n\n if (items.length === 0) {\n skip -= length;\n } else {\n skip = 0;\n take -= items.length;\n }\n\n if (++idx >= dest.length) {\n break;\n }\n }\n\n if (idx < dest.length) {\n dest.splice(idx, dest.length - idx);\n }\n }\n\n function flatGroups(groups, indexFunction) {\n var result = [];\n var groupsLength = (groups || []).length;\n var group;\n var items;\n var indexFn = isFunction(indexFunction) ? indexFunction : function(array, index) {\n return array[index];\n };\n\n for (var groupIndex = 0; groupIndex < groupsLength; groupIndex++) {\n group = indexFn(groups, groupIndex);\n\n if (group.hasSubgroups) {\n result = result.concat(flatGroups(group.items));\n } else {\n items = group.items;\n\n for (var itemIndex = 0; itemIndex < items.length; itemIndex++) {\n result.push(indexFn(items, itemIndex));\n }\n }\n }\n return result;\n }\n\n function flattenGroups(data) {\n var idx,\n result = [],\n length,\n items,\n itemIndex;\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n var group = data.at(idx);\n if (group.items) {\n if (group.hasSubgroups) {\n result = result.concat(flattenGroups(group.items));\n } else {\n items = group.items;\n for (itemIndex = 0; itemIndex < items.length; itemIndex++) {\n result.push(items.at(itemIndex));\n }\n }\n }\n }\n return result;\n }\n\n function wrapGroupItems(data, model) {\n var idx, length, group;\n if (model) {\n for (idx = 0, length = data.length; idx < length; idx++) {\n group = data.at(idx);\n if (group.items) {\n if (group.hasSubgroups) {\n wrapGroupItems(group.items, model);\n } else {\n group.items = new LazyObservableArray(group.items, model, group.items._events);\n }\n }\n }\n }\n }\n\n function eachGroupItems(data, func) {\n for (var idx = 0; idx < data.length; idx++) {\n if (data[idx].hasSubgroups) {\n if (eachGroupItems(data[idx].items, func)) {\n return true;\n }\n } else if (func(data[idx].items, data[idx])) {\n return true;\n }\n }\n }\n\n function replaceInRanges(ranges, data, item, observable) {\n for (var idx = 0; idx < ranges.length; idx++) {\n if (ranges[idx].data === data) {\n break;\n }\n if (replaceInRange(ranges[idx].data, item, observable)) {\n break;\n }\n }\n }\n\n function replaceInRange(items, item, observable) {\n for (var idx = 0, length = items.length; idx < length; idx++) {\n if (items[idx] && items[idx].hasSubgroups) {\n return replaceInRange(items[idx].items, item, observable);\n } else if (items[idx] === item || items[idx] === observable) {\n items[idx] = observable;\n return true;\n }\n }\n }\n\n function replaceWithObservable(view, data, ranges, type, serverGrouping) {\n for (var viewIndex = 0, length = view.length; viewIndex < length; viewIndex++) {\n var item = view[viewIndex];\n\n if (!item || item instanceof type) {\n continue;\n }\n\n if (item.hasSubgroups !== undefined && !serverGrouping) {\n replaceWithObservable(item.items, data, ranges, type, serverGrouping);\n } else {\n for (var idx = 0; idx < data.length; idx++) {\n if (data[idx] === item) {\n view[viewIndex] = data.at(idx);\n replaceInRanges(ranges, data, item, view[viewIndex]);\n break;\n }\n }\n }\n }\n }\n\n function removeModel(data, model) {\n if (!data) {\n return;\n }\n var length = data.length;\n var dataItem;\n var idx;\n\n for (idx = 0; idx < length; idx++) {\n dataItem = data[idx];\n\n if (dataItem.uid && dataItem.uid == model.uid) {\n data.splice(idx, 1);\n return dataItem;\n }\n }\n }\n\n function indexOfPristineModel(data, model) {\n if (model) {\n return indexOf(data, function(item) {\n return (item.uid && item.uid == model.uid) || (item[model.idField] === model.id && model.id !== model._defaultId);\n });\n }\n return -1;\n }\n\n function indexOfModel(data, model) {\n if (model) {\n return indexOf(data, function(item) {\n return item.uid == model.uid;\n });\n }\n return -1;\n }\n\n function indexOf(data, comparer) {\n var idx, length;\n if (!data) {\n return;\n }\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (comparer(data[idx])) {\n return idx;\n }\n }\n\n return -1;\n }\n\n function fieldNameFromModel(fields, name) {\n if (fields && !isEmptyObject(fields)) {\n var descriptor = fields[name];\n var fieldName;\n if (isPlainObject(descriptor)) {\n fieldName = descriptor.from || descriptor.field || name;\n } else {\n fieldName = fields[name] || name;\n }\n\n if (isFunction(fieldName)) {\n return name;\n }\n\n return fieldName;\n }\n return name;\n }\n\n function convertFilterDescriptorsField(descriptor, model) {\n var idx,\n length,\n target = {};\n\n for (var field in descriptor) {\n if (field !== \"filters\") {\n target[field] = descriptor[field];\n }\n }\n\n if (descriptor.filters) {\n target.filters = [];\n for (idx = 0, length = descriptor.filters.length; idx < length; idx++) {\n target.filters[idx] = convertFilterDescriptorsField(descriptor.filters[idx], model);\n }\n } else {\n target.field = fieldNameFromModel(model.fields, target.field);\n }\n return target;\n }\n\n function convertDescriptorsField(descriptors, model) {\n var idx,\n length,\n result = [],\n target,\n descriptor;\n\n for (idx = 0, length = descriptors.length; idx < length; idx ++) {\n target = {};\n\n descriptor = descriptors[idx];\n\n for (var field in descriptor) {\n target[field] = descriptor[field];\n }\n\n target.field = fieldNameFromModel(model.fields, target.field);\n\n if (target.aggregates && isArray(target.aggregates)) {\n target.aggregates = convertDescriptorsField(target.aggregates, model);\n }\n result.push(target);\n }\n return result;\n }\n\n var DataSource = Observable.extend({\n init: function(options) {\n var that = this, model, data;\n\n if (options) {\n data = options.data;\n }\n\n options = that.options = extend({}, that.options, options);\n\n that._map = {};\n that._prefetch = {};\n that._data = [];\n that._pristineData = [];\n that._ranges = [];\n that._view = [];\n that._pristineTotal = 0;\n that._destroyed = [];\n that._pageSize = options.pageSize;\n that._page = options.page || (options.pageSize ? 1 : undefined);\n that._sort = normalizeSort(options.sort);\n that._sortFields = sortFields(options.sort);\n that._filter = normalizeFilter(options.filter);\n that._group = normalizeGroup(options.group);\n that._aggregate = options.aggregate;\n that._total = options.total;\n that._groupPaging = options.groupPaging;\n\n if (that._groupPaging) {\n that._groupsState = {};\n }\n that._shouldDetachObservableParents = true;\n\n Observable.fn.init.call(that);\n\n that.transport = Transport.create(options, data, that);\n\n if (isFunction(that.transport.push)) {\n that.transport.push({\n pushCreate: proxy(that._pushCreate, that),\n pushUpdate: proxy(that._pushUpdate, that),\n pushDestroy: proxy(that._pushDestroy, that)\n });\n }\n\n if (options.offlineStorage != null) {\n if (typeof options.offlineStorage == \"string\") {\n var key = options.offlineStorage;\n\n that._storage = {\n getItem: function() {\n return JSON.parse(localStorage.getItem(key));\n },\n setItem: function(item) {\n localStorage.setItem(key, stringify(that.reader.serialize(item)));\n }\n };\n } else {\n that._storage = options.offlineStorage;\n }\n }\n\n that.reader = new kendo.data.readers[options.schema.type || \"json\" ](options.schema);\n\n model = that.reader.model || {};\n\n that._detachObservableParents();\n\n that._data = that._observe(that._data);\n that._online = true;\n\n that.bind([\"push\", ERROR, CHANGE, REQUESTSTART, SYNC, REQUESTEND, PROGRESS], options);\n },\n\n options: {\n data: null,\n schema: {\n modelBase: Model\n },\n offlineStorage: null,\n serverSorting: false,\n serverPaging: false,\n serverFiltering: false,\n serverGrouping: false,\n serverAggregates: false,\n batch: false,\n inPlaceSort: false\n },\n\n clone: function() {\n return this;\n },\n\n online: function(value) {\n if (value !== undefined) {\n if (this._online != value) {\n this._online = value;\n\n if (value) {\n return this.sync();\n }\n }\n\n return $.Deferred().resolve().promise();\n } else {\n return this._online;\n }\n },\n\n offlineData: function(state) {\n if (this.options.offlineStorage == null) {\n return null;\n }\n\n if (state !== undefined) {\n return this._storage.setItem(state);\n }\n\n return this._storage.getItem() || [];\n },\n\n _isServerGrouped: function() {\n var group = this.group() || [];\n\n return this.options.serverGrouping && group.length;\n },\n\n _isServerGroupPaged: function(){\n return this._isServerGrouped() && this._groupPaging;\n },\n\n _isGroupPaged: function(){\n var group = this._group || [];\n\n return this._groupPaging && group.length;\n },\n\n _pushCreate: function(result) {\n this._push(result, \"pushCreate\");\n },\n\n _pushUpdate: function(result) {\n this._push(result, \"pushUpdate\");\n },\n\n _pushDestroy: function(result) {\n this._push(result, \"pushDestroy\");\n },\n\n _push: function(result, operation) {\n var data = this._readData(result);\n\n if (!data) {\n data = result;\n }\n\n this[operation](data);\n },\n\n _flatData: function(data, skip) {\n if (data) {\n if (this._isServerGrouped()) {\n return flattenGroups(data);\n }\n\n if (!skip) {\n for (var idx = 0; idx < data.length; idx++) {\n data.at(idx);\n }\n }\n }\n\n return data;\n },\n\n parent: noop,\n\n get: function(id) {\n var idx, length, data = this._flatData(this._data, this.options.useRanges);\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].id == id) {\n return data[idx];\n }\n }\n },\n\n getByUid: function(id) {\n return this._getByUid(id, this._data);\n },\n\n _getByUid: function(id, dataItems) {\n var idx, length, data = this._flatData(dataItems, this.options.useRanges);\n\n if (!data) {\n return;\n }\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].uid == id) {\n return data[idx];\n }\n }\n },\n\n indexOf: function(model) {\n return indexOfModel(this._data, model);\n },\n\n at: function(index) {\n return this._data.at(index);\n },\n\n data: function(value) {\n var that = this;\n if (value !== undefined) {\n that._detachObservableParents();\n that._data = this._observe(value);\n\n that._pristineData = value.slice(0);\n\n that._storeData();\n\n that._ranges = [];\n that.trigger(\"reset\");\n that._addRange(that._data);\n\n that._total = that._data.length;\n that._pristineTotal = that._total;\n\n that._process(that._data);\n } else {\n if (that._data) {\n for (var idx = 0; idx < that._data.length; idx++) {\n that._data.at(idx);\n }\n }\n\n return that._data;\n }\n },\n\n view: function(value) {\n if (value === undefined) {\n return this._view;\n } else {\n this._view = this._observeView(value);\n }\n },\n\n _observeView: function(data) {\n var that = this;\n replaceWithObservable(data, that._data, that._ranges, that.reader.model || ObservableObject, that._isServerGrouped());\n\n var view = new LazyObservableArray(data, that.reader.model);\n view.parent = function() { return that.parent(); };\n return view;\n },\n\n flatView: function() {\n var groups = this.group() || [];\n\n if (groups.length) {\n return flattenGroups(this._view);\n } else {\n return this._view;\n }\n },\n\n add: function(model) {\n return this.insert(this._data.length, model);\n },\n\n _createNewModel: function(model) {\n if (this.reader.model) {\n return new this.reader.model(model);\n }\n\n if (model instanceof ObservableObject) {\n return model;\n }\n\n return new ObservableObject(model);\n },\n\n insert: function(index, model) {\n if (!model) {\n model = index;\n index = 0;\n }\n\n if (!(model instanceof Model)) {\n model = this._createNewModel(model);\n }\n\n if (this._isServerGrouped()) {\n this._data.splice(index, 0, this._wrapInEmptyGroup(model));\n } else {\n this._data.splice(index, 0, model);\n }\n\n this._insertModelInRange(index, model);\n\n return model;\n },\n\n pushInsert: function(index, items) {\n var that = this;\n var rangeSpan = that._getCurrentRangeSpan();\n\n if (!items) {\n items = index;\n index = 0;\n }\n\n if (!isArray(items)) {\n items = [items];\n }\n\n var pushed = [];\n var autoSync = this.options.autoSync;\n this.options.autoSync = false;\n\n try {\n for (var idx = 0; idx < items.length; idx ++) {\n var item = items[idx];\n\n var result = this.insert(index, item);\n\n pushed.push(result);\n\n var pristine = result.toJSON();\n\n if (this._isServerGrouped()) {\n pristine = this._wrapInEmptyGroup(pristine);\n }\n\n this._pristineData.push(pristine);\n\n if (rangeSpan && rangeSpan.length) {\n $(rangeSpan).last()[0].pristineData.push(pristine);\n }\n\n index++;\n }\n } finally {\n this.options.autoSync = autoSync;\n }\n\n if (pushed.length) {\n this.trigger(\"push\", {\n type: \"create\",\n items: pushed\n });\n }\n },\n\n pushCreate: function(items) {\n this.pushInsert(this._data.length, items);\n },\n\n pushUpdate: function(items) {\n if (!isArray(items)) {\n items = [items];\n }\n\n var pushed = [];\n\n for (var idx = 0; idx < items.length; idx ++) {\n var item = items[idx];\n var model = this._createNewModel(item);\n\n var target = this.get(model.id);\n\n if (target) {\n pushed.push(target);\n\n target.accept(item);\n\n target.trigger(CHANGE);\n\n this._updatePristineForModel(target, item);\n } else {\n this.pushCreate(item);\n }\n }\n\n if (pushed.length) {\n this.trigger(\"push\", {\n type: \"update\",\n items: pushed\n });\n }\n },\n\n pushDestroy: function(items) {\n var pushed = this._removeItems(items);\n\n if (pushed.length) {\n this.trigger(\"push\", {\n type: \"destroy\",\n items: pushed\n });\n }\n },\n\n _removeItems: function(items, removePristine) {\n if (!isArray(items)) {\n items = [items];\n }\n\n var shouldRemovePristine = typeof removePristine !== \"undefined\" ? removePristine : true;\n\n var destroyed = [];\n var autoSync = this.options.autoSync;\n this.options.autoSync = false;\n try {\n for (var idx = 0; idx < items.length; idx ++) {\n var item = items[idx];\n var model = this._createNewModel(item);\n var found = false;\n\n this._eachItem(this._data, function(items){\n for (var idx = 0; idx < items.length; idx++) {\n var item = items.at(idx);\n if (item.id === model.id) {\n destroyed.push(item);\n items.splice(idx, 1);\n found = true;\n break;\n }\n }\n });\n\n if (found && shouldRemovePristine) {\n this._removePristineForModel(model);\n this._destroyed.pop();\n }\n }\n } finally {\n this.options.autoSync = autoSync;\n }\n\n return destroyed;\n },\n\n pushMove: function(index, items) {\n var pushed = this._moveItems(index, items);\n\n if (pushed.length) {\n this.trigger(\"push\", {\n type: \"update\",\n items: pushed\n });\n }\n },\n\n _moveItems: function (index, items) {\n if (!isArray(items)) {\n items = [items];\n }\n\n var moved = [];\n var autoSync = this.options.autoSync;\n this.options.autoSync = false;\n\n try {\n for (var i = 0; i < items.length; i ++) {\n var item = items[i];\n var model = this._createNewModel(item);\n\n this._eachItem(this._data, function(dataItems){\n for (var idx = 0; idx < dataItems.length; idx++) {\n var dataItem = dataItems.at(idx);\n if (dataItem.id === model.id) {\n moved.push(dataItem);\n dataItems.splice(index >= idx ? --index : index, 0, dataItems.splice(idx, 1)[0]);\n index++;\n break;\n }\n }\n });\n }\n } finally {\n this.options.autoSync = autoSync;\n }\n\n return moved;\n },\n\n remove: function(model) {\n var result,\n that = this,\n hasGroups = that._isServerGrouped();\n\n if (hasGroups && model.uid && (!model.isNew || !model.isNew())) {\n that._destroyed.push(model);\n }\n\n this._eachItem(that._data, function(items) {\n result = removeModel(items, model);\n\n if (result && hasGroups) {\n return true;\n }\n });\n\n this._removeModelFromRanges(model);\n\n return model;\n },\n\n destroyed: function() {\n return this._destroyed;\n },\n\n created: function() {\n var idx,\n length,\n result = [],\n data = this._flatData(this._data, this.options.useRanges);\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n if (data[idx].isNew && data[idx].isNew()) {\n result.push(data[idx]);\n }\n }\n return result;\n },\n\n updated: function() {\n var idx,\n length,\n result = [],\n data = this._flatData(this._data, this.options.useRanges);\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n if ((data[idx].isNew && !data[idx].isNew()) && data[idx].dirty) {\n result.push(data[idx]);\n }\n }\n return result;\n },\n\n sync: function() {\n var that = this,\n created = [],\n updated = [],\n destroyed = that._destroyed;\n\n var promise = $.Deferred().resolve().promise();\n\n if (that.online()) {\n\n if (!that.reader.model) {\n return promise;\n }\n\n created = that.created();\n updated = that.updated();\n\n var promises = [];\n\n if (that.options.batch && that.transport.submit) {\n promises = that._sendSubmit(created, updated, destroyed);\n } else {\n promises.push.apply(promises, that._send(\"create\", created));\n promises.push.apply(promises, that._send(\"update\", updated));\n promises.push.apply(promises, that._send(\"destroy\", destroyed));\n }\n\n promise = $.when\n .apply(null, promises)\n .then(function() {\n var idx, length;\n\n for (idx = 0, length = arguments.length; idx < length; idx++){\n if (arguments[idx]) {\n that._accept(arguments[idx]);\n }\n }\n\n that._storeData(true);\n\n that._syncEnd();\n\n that._change({ action: \"sync\" });\n\n that.trigger(SYNC);\n\n if (that._isServerGroupPaged()) {\n that.read();\n }\n });\n } else {\n that._storeData(true);\n\n that._syncEnd();\n\n that._change({ action: \"sync\" });\n }\n\n return promise;\n },\n\n _syncEnd: noop,\n\n cancelChanges: function(model) {\n var that = this;\n\n if (model instanceof kendo.data.Model) {\n that._cancelModel(model);\n } else {\n that._destroyed = [];\n that._detachObservableParents();\n that._data = that._observe(that._pristineData);\n if (that.options.serverPaging) {\n that._total = that._pristineTotal;\n }\n\n that._ranges = [];\n that._addRange(that._data, 0);\n\n that._changesCanceled();\n\n that._change();\n\n that._markOfflineUpdatesAsDirty();\n\n if (that._isServerGrouped()) {\n that.read();\n }\n }\n },\n\n _changesCanceled: noop,\n\n _markOfflineUpdatesAsDirty: function() {\n var that = this;\n\n if (that.options.offlineStorage != null) {\n that._eachItem(that._data, function(items) {\n for (var idx = 0; idx < items.length; idx++) {\n var item = items.at(idx);\n if (item.__state__ == \"update\" || item.__state__ == \"create\") {\n item.dirty = true;\n }\n }\n });\n }\n },\n\n hasChanges: function() {\n var idx,\n length,\n data = this._flatData(this._data, this.options.useRanges);\n\n if (this._destroyed.length) {\n return true;\n }\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n if ((data[idx].isNew && data[idx].isNew()) || data[idx].dirty) {\n return true;\n }\n }\n\n return false;\n },\n\n _accept: function(result) {\n var that = this,\n models = result.models,\n response = result.response,\n idx = 0,\n serverGroup = that._isServerGrouped(),\n pristine = that._pristineData,\n type = result.type,\n length;\n\n that.trigger(REQUESTEND, { response: response, type: type });\n\n if (response && !isEmptyObject(response)) {\n response = that.reader.parse(response);\n\n if (that._handleCustomErrors(response)) {\n return;\n }\n\n response = that.reader.data(response);\n\n if (!isArray(response)) {\n response = [response];\n }\n } else {\n response = $.map(models, function(model) { return model.toJSON(); } );\n }\n\n if (type === \"destroy\") {\n that._destroyed = [];\n }\n\n for (idx = 0, length = models.length; idx < length; idx++) {\n if (type !== \"destroy\") {\n models[idx].accept(response[idx]);\n\n if (type === \"create\") {\n pristine.push(serverGroup ? that._wrapInEmptyGroup(models[idx].toJSON()) : response[idx]);\n } else if (type === \"update\") {\n that._updatePristineForModel(models[idx], response[idx]);\n }\n } else {\n that._removePristineForModel(models[idx]);\n }\n }\n },\n\n _updatePristineForModel: function(model, values) {\n this._executeOnPristineForModel(model, function(index, items) {\n kendo.deepExtend(items[index], values);\n });\n },\n\n _executeOnPristineForModel: function(model, callback) {\n this._eachPristineItem(\n function(items) {\n var index = indexOfPristineModel(items, model);\n if (index > -1) {\n callback(index, items);\n return true;\n }\n });\n },\n\n _removePristineForModel: function(model) {\n this._executeOnPristineForModel(model, function(index, items) {\n items.splice(index, 1);\n });\n },\n\n _readData: function(data) {\n var read = !this._isServerGrouped() ? this.reader.data : this.reader.groups;\n return read.call(this.reader, data);\n },\n\n _eachPristineItem: function(callback) {\n var that = this;\n var options = that.options;\n var rangeSpan = that._getCurrentRangeSpan();\n\n that._eachItem(that._pristineData, callback);\n\n if (options.serverPaging && options.useRanges) {\n each(rangeSpan, function(i, range) {\n that._eachItem(range.pristineData, callback);\n });\n }\n },\n\n _eachItem: function(data, callback) {\n if (data && data.length) {\n if (this._isServerGrouped()) {\n eachGroupItems(data, callback);\n } else {\n callback(data);\n }\n }\n },\n\n _pristineForModel: function(model) {\n var pristine,\n idx,\n callback = function(items) {\n idx = indexOfPristineModel(items, model);\n if (idx > -1) {\n pristine = items[idx];\n return true;\n }\n };\n\n this._eachPristineItem(callback);\n\n return pristine;\n },\n\n _cancelModel: function(model) {\n var that = this;\n var pristine = this._pristineForModel(model);\n\n this._eachItem(this._data, function(items) {\n var idx = indexOfModel(items, model);\n if (idx >= 0) {\n if (pristine && (!model.isNew() || pristine.__state__)) {\n items[idx].accept(pristine);\n\n if (pristine.__state__ == \"update\") {\n items[idx].dirty = true;\n }\n\n } else {\n that._modelCanceled(model);\n\n items.splice(idx, 1);\n\n that._removeModelFromRanges(model);\n }\n }\n });\n },\n\n _modelCanceled: noop,\n\n _submit: function(promises, data) {\n var that = this;\n\n that.trigger(REQUESTSTART, { type: \"submit\" });\n\n that.trigger(PROGRESS);\n\n that.transport.submit(extend({\n success: function(response, type) {\n var promise = $.grep(promises, function(x) {\n return x.type == type;\n })[0];\n\n if (promise) {\n promise.resolve({\n response: response,\n models: promise.models,\n type: type\n });\n }\n },\n error: function(response, status, error) {\n for (var idx = 0; idx < promises.length; idx++) {\n promises[idx].reject(response);\n }\n\n that.error(response, status, error);\n }\n }, data));\n },\n\n _sendSubmit: function(created, updated, destroyed) {\n var that = this,\n promises = [];\n\n if (that.options.batch) {\n if (created.length) {\n promises.push($.Deferred(function(deferred) {\n deferred.type = \"create\";\n deferred.models = created;\n }));\n }\n\n if (updated.length) {\n promises.push($.Deferred(function(deferred) {\n deferred.type = \"update\";\n deferred.models = updated;\n }));\n }\n\n if (destroyed.length) {\n promises.push($.Deferred(function(deferred) {\n deferred.type = \"destroy\";\n deferred.models = destroyed;\n }));\n }\n\n that._submit(promises, {\n data: {\n created: that.reader.serialize(toJSON(created)),\n updated: that.reader.serialize(toJSON(updated)),\n destroyed: that.reader.serialize(toJSON(destroyed))\n }\n });\n }\n\n return promises;\n },\n\n _promise: function(data, models, type) {\n var that = this;\n\n return $.Deferred(function(deferred) {\n that.trigger(REQUESTSTART, { type: type });\n\n that.trigger(PROGRESS);\n\n that.transport[type].call(that.transport, extend({\n success: function(response) {\n deferred.resolve({\n response: response,\n models: models,\n type: type\n });\n },\n error: function(response, status, error) {\n deferred.reject(response);\n that.error(response, status, error);\n }\n }, data));\n }).promise();\n },\n\n _send: function(method, data) {\n var that = this,\n idx,\n length,\n promises = [],\n converted = that.reader.serialize(toJSON(data));\n\n if (that.options.batch) {\n if (data.length) {\n promises.push(that._promise( { data: { models: converted } }, data , method));\n }\n } else {\n for (idx = 0, length = data.length; idx < length; idx++) {\n promises.push(that._promise( { data: converted[idx] }, [ data[idx] ], method));\n }\n }\n\n return promises;\n },\n\n read: function(data) {\n var that = this, params = that._params(data);\n var deferred = $.Deferred();\n\n that._queueRequest(params, function() {\n var isPrevented = that.trigger(REQUESTSTART, { type: \"read\" });\n if (!isPrevented) {\n that.trigger(PROGRESS);\n\n that._ranges = [];\n that.trigger(\"reset\");\n if (that.online()) {\n that.transport.read({\n data: params,\n success: function(data) {\n that._ranges = [];\n that.success(data, params);\n\n deferred.resolve();\n },\n error: function() {\n var args = slice.call(arguments);\n\n that.error.apply(that, args);\n\n deferred.reject.apply(deferred, args);\n }\n });\n } else if (that.options.offlineStorage != null){\n that.success(that.offlineData(), params);\n\n deferred.resolve();\n }\n } else {\n that._dequeueRequest();\n\n deferred.resolve(isPrevented);\n }\n });\n\n return deferred.promise();\n },\n\n _readAggregates: function(data) {\n return this.reader.aggregates(data);\n },\n\n success: function(data) {\n var that = this,\n options = that.options,\n items,\n replaceSubset;\n\n that.trigger(REQUESTEND, { response: data, type: \"read\" });\n\n if (that.online()) {\n data = that.reader.parse(data);\n\n if (that._handleCustomErrors(data)) {\n that._dequeueRequest();\n return;\n }\n\n that._total = that.reader.total(data);\n\n if (that._isServerGroupPaged()) {\n that._serverGroupsTotal = that._total;\n }\n\n if (that._pageSize > that._total) {\n that._pageSize = that._total;\n if (that.options.pageSize && that.options.pageSize > that._pageSize) {\n that._pageSize = that.options.pageSize;\n }\n }\n\n if (that._aggregate && options.serverAggregates) {\n that._aggregateResult = that._readAggregates(data);\n }\n\n data = that._readData(data);\n\n that._destroyed = [];\n } else {\n data = that._readData(data);\n\n items = [];\n var itemIds = {};\n var model = that.reader.model;\n var idField = model ? model.idField : \"id\";\n var idx;\n\n for (idx = 0; idx < this._destroyed.length; idx++) {\n var id = this._destroyed[idx][idField];\n itemIds[id] = id;\n }\n\n for (idx = 0; idx < data.length; idx++) {\n var item = data[idx];\n var state = item.__state__;\n if (state == \"destroy\") {\n if (!itemIds[item[idField]]) {\n this._destroyed.push(this._createNewModel(item));\n }\n } else {\n items.push(item);\n }\n }\n\n data = items;\n\n that._total = data.length;\n }\n\n that._pristineTotal = that._total;\n replaceSubset = that._skip && that._data.length && that._skip < that._data.length;\n\n if (that.options.endless) {\n if (replaceSubset) {\n that._pristineData.splice(that._skip, that._pristineData.length);\n }\n items = data.slice(0);\n for (var j = 0; j < items.length; j++) {\n that._pristineData.push(items[j]);\n }\n } else {\n that._pristineData = data.slice(0);\n }\n\n that._detachObservableParents();\n\n if (that.options.endless) {\n that._data.unbind(CHANGE, that._changeHandler);\n\n if (that._isServerGrouped() && that._data[that._data.length - 1].value === data[0].value) {\n fillLastGroup(that._data[that._data.length - 1], data[0]);\n data.shift();\n }\n\n data = that._observe(data);\n if (replaceSubset) {\n that._data.splice(that._skip, that._data.length);\n }\n for (var i = 0; i < data.length; i++) {\n that._data.push(data[i]);\n }\n that._data.bind(CHANGE, that._changeHandler);\n } else {\n that._data = that._observe(data);\n }\n\n that._markOfflineUpdatesAsDirty();\n\n that._storeData();\n\n that._addRange(that._data);\n\n that._process(that._data);\n\n that._dequeueRequest();\n },\n\n _detachObservableParents: function() {\n if (this._data && this._shouldDetachObservableParents) {\n for (var idx = 0; idx < this._data.length; idx++) {\n if (this._data[idx].parent) {\n this._data[idx].parent = noop;\n }\n }\n }\n },\n\n _storeData: function(updatePristine) {\n var serverGrouping = this._isServerGrouped();\n var model = this.reader.model;\n\n function items(data) {\n var state = [];\n\n for (var idx = 0; idx < data.length; idx++) {\n var dataItem = data.at(idx);\n var item = dataItem.toJSON();\n\n if (serverGrouping && dataItem.items) {\n item.items = items(dataItem.items);\n } else {\n item.uid = dataItem.uid;\n\n if (model) {\n if (dataItem.isNew()) {\n item.__state__ = \"create\";\n } else if (dataItem.dirty) {\n item.__state__ = \"update\";\n }\n }\n }\n state.push(item);\n }\n\n return state;\n }\n\n if (this.options.offlineStorage != null) {\n var state = items(this._data);\n\n var destroyed = [];\n\n for (var idx = 0; idx < this._destroyed.length; idx++) {\n var item = this._destroyed[idx].toJSON();\n item.__state__ = \"destroy\";\n destroyed.push(item);\n }\n\n this.offlineData(state.concat(destroyed));\n\n if (updatePristine) {\n this._pristineData = this.reader.reader ? this.reader.reader._wrapDataAccessBase(state) : this.reader._wrapDataAccessBase(state);\n }\n }\n },\n\n _addRange: function (data, skip) {\n var that = this,\n start = typeof (skip) !== \"undefined\" ? skip : (that._skip || 0),\n end,\n range = {\n data: data,\n pristineData: data.toJSON(),\n timestamp: that._timeStamp()\n };\n\n if (this._isGroupPaged()) {\n end = start + data.length;\n range.outerStart = start;\n range.outerEnd = end;\n } else {\n end = start + that._flatData(data, true).length;\n }\n\n range.start = start;\n range.end = end;\n that._ranges.push(range);\n that._sortRanges();\n\n if (that._isGroupPaged()) {\n if (!that._groupsFlat) {\n that._groupsFlat = [];\n }\n that._appendToGroupsFlat(range.data);\n that._updateOuterRangesLength();\n }\n },\n\n _appendToGroupsFlat: function (data) {\n var length = data.length;\n\n for (var i = 0; i < length; i++) {\n this._groupsFlat.push(data[i]);\n }\n },\n\n _getGroupByUid: function(uid){\n var length = this._groupsFlat.length;\n var group;\n\n for (var i = 0; i < length; i++) {\n group = this._groupsFlat[i];\n if (group.uid === uid) {\n return group;\n }\n }\n },\n\n _sortRanges: function() {\n this._ranges.sort(function(x, y) {\n return x.start - y.start;\n });\n },\n\n error: function(xhr, status, errorThrown) {\n this._dequeueRequest();\n this.trigger(REQUESTEND, { });\n this.trigger(ERROR, { xhr: xhr, status: status, errorThrown: errorThrown });\n },\n\n _params: function(data) {\n var that = this,\n options = extend({\n take: that.take(),\n skip: that.skip(),\n page: that.page(),\n pageSize: that.pageSize(),\n sort: that._sort,\n filter: that._filter,\n group: that._group,\n aggregate: that._aggregate,\n groupPaging: !!that._groupPaging\n }, data);\n\n if (!that.options.serverPaging) {\n delete options.take;\n delete options.skip;\n delete options.page;\n delete options.pageSize;\n }\n\n if (!that.options.serverGrouping) {\n delete options.group;\n } else if (that.reader.model && options.group) {\n options.group = convertDescriptorsField(options.group, that.reader.model);\n }\n\n if (!that.options.serverFiltering) {\n delete options.filter;\n } else if (that.reader.model && options.filter) {\n options.filter = convertFilterDescriptorsField(options.filter, that.reader.model);\n }\n\n if (!that.options.serverSorting) {\n delete options.sort;\n } else if (that.reader.model && options.sort) {\n options.sort = convertDescriptorsField(options.sort, that.reader.model);\n }\n\n if (!that.options.serverAggregates) {\n delete options.aggregate;\n } else if (that.reader.model && options.aggregate) {\n options.aggregate = convertDescriptorsField(options.aggregate, that.reader.model);\n }\n\n if (!that.options.groupPaging) {\n delete options.groupPaging;\n }\n\n return options;\n },\n\n _queueRequest: function(options, callback) {\n var that = this;\n if (!that._requestInProgress) {\n that._requestInProgress = true;\n that._pending = undefined;\n callback();\n } else {\n that._pending = { callback: proxy(callback, that), options: options };\n }\n },\n\n _dequeueRequest: function() {\n var that = this;\n that._requestInProgress = false;\n if (that._pending) {\n that._queueRequest(that._pending.options, that._pending.callback);\n }\n },\n\n _handleCustomErrors: function(response) {\n if (this.reader.errors) {\n var errors = this.reader.errors(response);\n if (errors) {\n this.trigger(ERROR, { xhr: null, status: \"customerror\", errorThrown: \"custom error\", errors: errors });\n return true;\n }\n }\n return false;\n },\n\n _shouldWrap: function(data) {\n var model = this.reader.model;\n\n if (model && data.length) {\n return !(data[0] instanceof model);\n }\n\n return false;\n },\n\n _observe: function(data) {\n var that = this,\n model = that.reader.model;\n\n that._shouldDetachObservableParents = true;\n\n if (data instanceof ObservableArray) {\n that._shouldDetachObservableParents = false;\n if (that._shouldWrap(data)) {\n data.type = that.reader.model;\n data.wrapAll(data, data);\n }\n } else {\n var arrayType = that.pageSize() && !that.options.serverPaging ? LazyObservableArray : ObservableArray;\n data = new arrayType(data, that.reader.model);\n data.parent = function() { return that.parent(); };\n }\n\n if (that._isServerGrouped()) {\n wrapGroupItems(data, model);\n }\n\n if (that._changeHandler && that._data && that._data instanceof ObservableArray &&\n !(that.options.useRanges && that.options.serverPaging)) {\n that._data.unbind(CHANGE, that._changeHandler);\n } else {\n that._changeHandler = proxy(that._change, that);\n }\n\n return data.bind(CHANGE, that._changeHandler);\n },\n\n _updateTotalForAction: function(action, items) {\n var that = this;\n\n var total = parseInt(that._total, 10);\n\n if (!isNumber(that._total)) {\n total = parseInt(that._pristineTotal, 10);\n }\n if (action === \"add\") {\n total += items.length;\n } else if (action === \"remove\") {\n total -= items.length;\n } else if (action !== \"itemchange\" && action !== \"sync\" && !that.options.serverPaging) {\n total = that._pristineTotal;\n } else if (action === \"sync\") {\n total = that._pristineTotal = parseInt(that._total, 10);\n }\n\n that._total = total;\n },\n\n _change: function(e) {\n var that = this, idx, length, action = e ? e.action : \"\";\n\n if (action === \"remove\") {\n for (idx = 0, length = e.items.length; idx < length; idx++) {\n if (!e.items[idx].isNew || !e.items[idx].isNew()) {\n that._destroyed.push(e.items[idx]);\n }\n }\n }\n\n if (that.options.autoSync && (action === \"add\" || action === \"remove\" || action === \"itemchange\")) {\n\n var handler = function(args) {\n if (args.action === \"sync\") {\n that.unbind(\"change\", handler);\n that._updateTotalForAction(action, e.items);\n }\n };\n\n that.first(\"change\", handler);\n\n that.sync();\n\n } else {\n that._updateTotalForAction(action, e ? e.items : []);\n\n that._process(that._data, e);\n }\n },\n\n _calculateAggregates: function (data, options) {\n options = options || {};\n\n var query = new Query(data),\n aggregates = options.aggregate,\n filter = options.filter;\n\n if (filter) {\n query = query.filter(filter);\n }\n\n return query.aggregate(aggregates);\n },\n\n _process: function (data, e) {\n var that = this,\n options = {},\n result;\n\n if (that.options.serverPaging !== true) {\n options.skip = that._skip;\n options.take = that._take || that._pageSize;\n\n if(options.skip === undefined && that._page !== undefined && that._pageSize !== undefined) {\n options.skip = (that._page - 1) * that._pageSize;\n }\n\n if (that.options.useRanges) {\n options.skip = that.currentRangeStart();\n }\n }\n\n if (that.options.serverSorting !== true) {\n options.sort = that._sort;\n }\n\n if (that.options.serverFiltering !== true) {\n options.filter = that._filter;\n }\n\n if (that.options.serverGrouping !== true) {\n options.group = that._group;\n }\n\n if (that.options.serverAggregates !== true) {\n options.aggregate = that._aggregate;\n }\n\n if (that.options.serverGrouping) {\n that._clearEmptyGroups(data);\n }\n\n options.groupPaging = that._groupPaging;\n\n if (that._isGroupPaged() && e && (e.action === \"page\" || e.action === \"expandGroup\" || e.action === \"collapseGroup\")) {\n result = that._queryProcess(data, {\n aggregate: that._aggregate\n });\n } else {\n result = that._queryProcess(data, options);\n }\n\n if (that.options.serverAggregates !== true) {\n // for performance reasons, calculate aggregates for part of the data only after query process\n // this is necessary in the TreeList when paging\n that._aggregateResult = that._calculateAggregates(result.dataToAggregate || data, options);\n }\n\n that._setView(result, options, e);\n\n that._setFilterTotal(result.total, false);\n\n e = e || {};\n\n e.items = e.items || that._view;\n\n that.trigger(CHANGE, e);\n },\n\n _setView: function (result, options, e) {\n var that = this;\n\n if (that._isGroupPaged() && !that._isServerGrouped()) {\n if (e && (e.action === \"page\" || e.action === \"expandGroup\" || e.action === \"collapseGroup\")) {\n that.view(result.data);\n that._updateOuterRangesLength();\n } else {\n that._ranges = [];\n var query = new Query(result.data);\n that._addRange(that._observe(result.data));\n\n if (options.skip + options.take > result.data.length) {\n options.skip = result.data.length - options.take;\n }\n\n that.view(query.range(options.skip, options.take).toArray());\n }\n\n } else {\n that.view(result.data);\n }\n },\n\n _clearEmptyGroups: function(data) {\n for (var idx = data.length - 1; idx >=0; idx--) {\n var group = data[idx];\n if (group.hasSubgroups) {\n this._clearEmptyGroups(group.items);\n } else {\n if (group.items && !group.items.length) {\n splice.apply(group.parent(), [idx, 1]);\n }\n }\n }\n },\n\n _queryProcess: function(data, options) {\n if (this.options.inPlaceSort) {\n return Query.process(data, options, this.options.inPlaceSort);\n }\n else {\n return Query.process(data, options);\n }\n },\n\n _mergeState: function(options) {\n var that = this;\n\n if (options !== undefined) {\n that._pageSize = options.pageSize;\n that._page = options.page;\n that._sort = options.sort;\n that._filter = options.filter;\n that._group = options.group;\n that._aggregate = options.aggregate;\n that._skip = that._currentRangeStart = options.skip;\n that._take = options.take;\n\n if(that._skip === undefined) {\n that._skip = that._currentRangeStart = that.skip();\n options.skip = that.skip();\n }\n\n if(that._take === undefined && that._pageSize !== undefined) {\n that._take = that._pageSize;\n options.take = that._take;\n }\n\n if (options.sort) {\n that._sort = options.sort = normalizeSort(options.sort);\n that._sortFields = sortFields(options.sort);\n }\n\n if (options.filter) {\n that._filter = options.filter = (that.options.accentFoldingFiltering && !$.isEmptyObject(options.filter)) ? $.extend({}, normalizeFilter(options.filter), { accentFoldingFiltering: that.options.accentFoldingFiltering}) : normalizeFilter(options.filter);\n }\n\n if (options.group) {\n that._group = options.group = normalizeGroup(options.group);\n }\n if (options.aggregate) {\n that._aggregate = options.aggregate = normalizeAggregate(options.aggregate);\n }\n }\n return options;\n },\n\n query: function(options) {\n var result;\n var remote = this.options.serverSorting || this.options.serverPaging || this.options.serverFiltering || this.options.serverGrouping || this.options.serverAggregates;\n\n if (remote || ((this._data === undefined || this._data.length === 0) && !this._destroyed.length)) {\n if (this.options.endless) {\n var moreItemsCount = options.pageSize - this.pageSize();\n if (moreItemsCount > 0) {\n moreItemsCount = this.pageSize();\n options.page = options.pageSize / moreItemsCount;\n options.pageSize = moreItemsCount;\n } else {\n options.page = 1;\n this.options.endless = false;\n }\n }\n return this.read(this._mergeState(options));\n }\n\n var isPrevented = this.trigger(REQUESTSTART, { type: \"read\" });\n if (!isPrevented) {\n this.trigger(PROGRESS);\n if (options) {\n options.groupPaging = this._groupPaging;\n }\n result = this._queryProcess(this._data, this._mergeState(options));\n\n this._setFilterTotal(result.total, true);\n\n this._aggregateResult = this._calculateAggregates(result.dataToAggregate || this._data, options);\n this._setView(result, options);\n this.trigger(REQUESTEND, { type: \"read\" });\n this.trigger(CHANGE, { items: result.data, action: options ? options.action : \"\" });\n }\n\n return $.Deferred().resolve(isPrevented).promise();\n },\n\n _hasExpandedSubGroups: function (group) {\n var result = false;\n var length = group.items ? group.items.length : 0;\n\n if (!group.hasSubgroups) {\n return false;\n }\n\n for (var i = 0; i < length; i++) {\n if (this._groupsState[group.items[i].uid]) {\n result = true;\n break;\n }\n }\n return result;\n },\n\n _findGroupedRange: function (data, result, options, parents, callback) {\n var that = this;\n var length = data.length;\n var group;\n var current;\n var itemsLength;\n var groupCount;\n var itemsToSkip;\n\n for (var i = 0; i < length; i++) {\n group = data[i];\n\n if (options.taken >= options.take) {\n break;\n }\n\n if (!that._getGroupByUid(group.uid)) {\n that._groupsFlat.push(group);\n }\n\n if (that._groupsState[group.uid]) {\n if (that._isServerGroupPaged()) {\n if (that._fetchGroupItems(group, options, parents, callback)) {\n that._fetchingGroupItems = true;\n return;\n }\n groupCount = (group.subgroupCount || group.itemCount) + 1;\n itemsToSkip = options.skip - options.skipped;\n if (!that._hasExpandedSubGroups(group) && itemsToSkip > groupCount) {\n options.skipped += groupCount;\n continue;\n }\n }\n\n if (options.includeParents && options.skipped < options.skip) {\n options.skipped++;\n group.excludeHeader = true;\n } else if (options.includeParents) {\n options.taken++;\n group.excludeHeader = false;\n }\n\n if (group.hasSubgroups && group.items && group.items.length) {\n group.currentItems = [];\n\n if (!parents) {\n parents = [];\n }\n parents.push(group);\n\n that._findGroupedRange(group.items, group.currentItems, options, parents, callback);\n parents.pop();\n\n if (group.currentItems.length || options.taken > 0) {\n result.push(group);\n } else {\n group.excludeHeader = false;\n }\n } else {\n current = [];\n itemsLength = group.items.length;\n\n for (var j = 0; j < itemsLength; j++) {\n if (options.skipped < options.skip) {\n options.skipped++;\n continue;\n }\n\n if (options.taken >= options.take) {\n break;\n }\n current.push(group.items[j]);\n options.taken++;\n }\n\n if (current.length || options.taken > 0) {\n group.currentItems = current;\n result.push(group);\n } else {\n group.excludeHeader = false;\n }\n }\n } else {\n if (options.skipped < options.skip) {\n options.skipped++;\n continue;\n }\n result.push(group);\n options.taken++;\n }\n }\n },\n\n _expandedSubGroupItemsCount: function (group, end, includeCurrentItems) {\n var that = this;\n var result = 0;\n var subGroup;\n var endSpecified = typeof end === \"number\";\n var length = endSpecified ? end : group.subgroupCount;\n var temp;\n\n if (!group.hasSubgroups) {\n return result;\n }\n\n for (var i = 0; i < length; i++) {\n subGroup = group.items[i];\n\n if (!subGroup) {\n break;\n }\n\n if (subGroup.hasSubgroups && that._groupsState[group.uid]) {\n temp = that._expandedSubGroupItemsCount(subGroup, length, true);\n result += temp;\n\n if (endSpecified) {\n length -= temp;\n }\n } else if (!subGroup.hasSubgroups && that._groupsState[subGroup.uid]) {\n temp = subGroup.items ? subGroup.items.length : 0;\n result += temp;\n if (endSpecified) {\n length -= temp;\n }\n }\n\n if (includeCurrentItems) {\n result += 1;\n if (endSpecified) {\n length -= 1;\n }\n }\n\n if (endSpecified && result > length) {\n return result;\n }\n }\n\n return result;\n },\n\n _fetchGroupItems: function(group, options, parents, callback) {\n var that = this;\n var groupItemsSkip;\n var firstItem;\n var lastItem;\n var groupItemCount = group.hasSubgroups ? group.subgroupCount : group.itemCount;\n var take = options.take;\n var skipped = options.skipped;\n var pageSize = that.take();\n var expandedSubGroupItemsCount;\n\n if (options.includeParents) {\n if (skipped < options.skip) {\n skipped += 1;\n } else {\n take -= 1;\n }\n }\n\n if (!group.items || (group.items && !group.items.length)) {\n that.getGroupItems(group, options, parents, callback, 0);\n return true;\n } else {\n expandedSubGroupItemsCount = this._expandedSubGroupItemsCount(group, options.skip - skipped);\n groupItemsSkip = Math.max(options.skip - (skipped + expandedSubGroupItemsCount), 0);\n\n if (groupItemsSkip >= groupItemCount) {\n return false;\n }\n\n firstItem = group.items[groupItemsSkip];\n lastItem = group.items[Math.min(groupItemsSkip + take, groupItemCount - 1)];\n\n if (firstItem.notFetched) {\n that.getGroupItems(group, options, parents, callback, math.max(math.floor(groupItemsSkip / pageSize), 0) * pageSize, math.round((groupItemsSkip + pageSize) / pageSize));\n return true;\n }\n\n if (lastItem.notFetched) {\n that.getGroupItems(group, options, parents, callback, math.max(math.floor((groupItemsSkip + pageSize) / pageSize), 0) * pageSize, math.round((groupItemsSkip + pageSize) / pageSize));\n return true;\n }\n }\n },\n\n getGroupItems: function(group, options, parents, callback, groupItemsSkip, page) {\n var that = this;\n var take;\n var filter;\n var data;\n var subgroups;\n\n if (!group.items) {\n group.items = [];\n }\n\n take = that.take();\n filter = this._composeItemsFilter(group, parents);\n data = {\n page: page || 1,\n pageSize: take,\n skip: groupItemsSkip,\n take: take,\n filter: filter,\n aggregate: that._aggregate,\n sort: that._sort\n };\n subgroups = that.findSubgroups(group);\n\n if (subgroups && subgroups.length) {\n data.group = subgroups;\n data.groupPaging = true;\n }\n\n clearTimeout(that._timeout);\n that._timeout = setTimeout(function () {\n that._queueRequest(data, function () {\n if (!that.trigger(REQUESTSTART, {\n type: \"read\"\n })) {\n that.transport.read({\n data: data,\n success: that._groupItemsSuccessHandler(group, options.skip, that.take(), callback, groupItemsSkip),\n error: function () {\n var args = slice.call(arguments);\n that.error.apply(that, args);\n }\n });\n } else {\n that._dequeueRequest();\n }\n });\n }, 100);\n },\n\n _groupItemsSuccessHandler: function(group, skip, take, callback, groupItemsSkip) {\n var that = this;\n var timestamp = that._timeStamp();\n callback = isFunction(callback) ? callback : noop;\n var totalField = that.options.schema && that.options.schema.total ? that.options.schema.total : \"Total\";\n\n return function (data) {\n var temp;\n var model = Model.define(that.options.schema.model);\n var totalCount;\n\n that._dequeueRequest();\n\n that.trigger(REQUESTEND, {\n response: data,\n type: \"read\"\n });\n\n if (isFunction(totalField)) {\n totalCount = totalField(data);\n } else {\n totalCount = data[totalField];\n }\n\n data = that.reader.parse(data);\n\n if (group.hasSubgroups) {\n temp = that.reader.groups(data);\n group.subgroupCount = totalCount;\n } else {\n temp = that.reader.data(data);\n temp = temp.map(function (item) {\n return new model(item);\n });\n }\n\n group.items.omitChangeEvent = true;\n for (var i = 0; i < totalCount; i++) {\n if (i >= groupItemsSkip && i < (groupItemsSkip + take) ) {\n group.items.splice(i, 1, temp[i - groupItemsSkip]);\n } else {\n if (!group.items[i]) {\n group.items.splice(i, 0, { notFetched: true });\n }\n }\n }\n group.items.omitChangeEvent = false;\n\n that._updateRangePristineData(group);\n that._fetchingGroupItems = false;\n\n if (!group.countAdded) {\n that._serverGroupsTotal += totalCount;\n group.countAdded = true;\n }\n\n that.range(skip, take, callback, \"expandGroup\");\n\n if (timestamp >= that._currentRequestTimeStamp || !that._skipRequestsInProgress) {\n that.trigger(CHANGE, {});\n }\n };\n },\n\n findSubgroups: function(group) {\n var indexOfCurrentGroup = this._group.map(function (g) {\n return g.field;\n }).indexOf(group.field);\n\n return this._group.slice(indexOfCurrentGroup + 1, this._group.length);\n },\n\n _composeItemsFilter: function(group, parents) {\n var filter = this.filter() || {\n logic: \"and\",\n filters: []\n };\n\n filter = extend(true, {}, filter);\n filter.filters.push({\n field: group.field,\n operator: \"eq\",\n value: group.value\n });\n\n if (parents) {\n for (var i = 0; i < parents.length; i++) {\n filter.filters.push({\n field: parents[i].field,\n operator: \"eq\",\n value: parents[i].value\n });\n }\n }\n\n return filter;\n },\n\n _updateRangePristineData: function(group) {\n var that = this;\n var ranges = that._ranges;\n var rangesLength = ranges.length;\n var temp;\n var currentGroup;\n var range;\n var dataLength;\n var indexes;\n var currIdx;\n\n for (var i = 0; i < rangesLength; i++) {\n range = ranges[i];\n dataLength = range.data.length;\n indexes = [];\n temp = null;\n\n for (var j = 0; j < dataLength; j++) {\n currentGroup = range.data[j];\n indexes.push(j);\n\n if ((currentGroup.uid === group.uid) || (currentGroup.hasSubgroups && currentGroup.items.length && that._containsSubGroup(currentGroup, group, indexes))) {\n break;\n }\n indexes.pop();\n }\n\n if (indexes.length) {\n temp = ranges[i].pristineData;\n\n while (indexes.length > 1) {\n currIdx = indexes.splice(0, 1)[0];\n temp = temp[currIdx].items;\n }\n temp[indexes[0]] = that._cloneGroup(group);\n break;\n }\n }\n },\n\n _containsSubGroup: function(group, subgroup, indexes) {\n var that = this;\n var length = group.items.length;\n var currentSubGroup;\n\n if (group.hasSubgroups && length) {\n for (var i = 0; i < length; i++) {\n currentSubGroup = group.items[i];\n indexes.push(i);\n if (currentSubGroup.uid === subgroup.uid) {\n return true;\n } else if (currentSubGroup.hasSubgroups && currentSubGroup.items.length) {\n return that._containsSubGroup(currentSubGroup, subgroup, indexes);\n }\n indexes.pop();\n }\n }\n\n },\n\n _cloneGroup: function(group) {\n var that = this;\n group = typeof group.toJSON == \"function\" ? group.toJSON() : group;\n\n if (group.items && group.items.length) {\n group.items = group.items.map(function (item) {\n return that._cloneGroup(item);\n });\n }\n\n return group;\n },\n\n _setFilterTotal: function(filterTotal, setDefaultValue) {\n var that = this;\n\n if (!that.options.serverFiltering) {\n if (filterTotal !== undefined) {\n that._total = filterTotal;\n } else if (setDefaultValue) {\n that._total = that._data.length;\n }\n }\n },\n\n fetch: function(callback) {\n var that = this;\n var fn = function(isPrevented) {\n if (isPrevented !== true && isFunction(callback)) {\n callback.call(that);\n }\n };\n\n return this._query().done(fn);\n },\n\n _query: function(options) {\n var that = this;\n\n return that.query(extend({}, {\n page: that.page(),\n pageSize: that.pageSize(),\n sort: that.sort(),\n filter: that.filter(),\n group: that.group(),\n aggregate: that.aggregate()\n }, options));\n },\n\n next: function(options) {\n var that = this,\n page = that.page(),\n total = that.total();\n\n options = options || {};\n\n if (!page || (total && page + 1 > that.totalPages())) {\n return;\n }\n\n that._skip = that._currentRangeStart = page * that.take();\n\n page += 1;\n options.page = page;\n\n that._query(options);\n\n return page;\n },\n\n prev: function(options) {\n var that = this,\n page = that.page();\n\n options = options || {};\n\n if (!page || page === 1) {\n return;\n }\n\n that._skip = that._currentRangeStart = that._skip - that.take();\n\n page -= 1;\n options.page = page;\n\n that._query(options);\n\n return page;\n },\n\n page: function(val) {\n var that = this,\n skip;\n\n if(val !== undefined) {\n val = math.max(math.min(math.max(val, 1), that.totalPages()), 1);\n var take = that.take();\n\n if (that._isGroupPaged()) {\n val -= 1;\n that.range(val * take, take, null, \"page\");\n return;\n }\n that._query(that._pageableQueryOptions({ page: val }));\n return;\n }\n skip = that.skip();\n\n return skip !== undefined ? math.round((skip || 0) / (that.take() || 1)) + 1 : undefined;\n },\n\n pageSize: function(val) {\n var that = this;\n\n if (val !== undefined) {\n that._query(that._pageableQueryOptions({ pageSize: val, page: 1 }));\n return;\n }\n\n return that.take();\n },\n\n sort: function(val) {\n var that = this;\n\n if(val !== undefined) {\n that.trigger(\"sort\");\n that._query({ sort: val });\n return;\n }\n\n return that._sort;\n },\n\n filter: function(val) {\n var that = this;\n\n if (val === undefined) {\n return that._filter;\n }\n\n that.trigger(\"reset\");\n that._query({ filter: val, page: 1 });\n },\n\n group: function(val) {\n var that = this;\n var options = { group: val };\n\n if (that._groupPaging) {\n // clear ranges if ungrouping is performed\n if (val!== undefined && (!val || !val.length) ) {\n that._ranges = [];\n }\n options.page = 1;\n }\n\n if(val !== undefined) {\n that._query(options);\n return;\n }\n\n return that._group;\n },\n\n getGroupsFlat: function (data) {\n var idx,\n result = [],\n length;\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n var group = data[idx];\n if (group.hasSubgroups) {\n result = result.concat(this.getGroupsFlat(group.items));\n }\n\n result.push(group);\n }\n\n return result;\n },\n\n total: function() {\n return parseInt(this._total || 0, 10);\n },\n\n groupsTotal: function (includeExpanded) {\n var that = this;\n\n if (!that._group.length) {\n return that.total();\n }\n\n if (that._isServerGrouped()) {\n if (that._serverGroupsTotal) {\n return that._serverGroupsTotal;\n }\n that._serverGroupsTotal = that.total();\n\n return that._serverGroupsTotal;\n }\n\n return that._calculateGroupsTotal(that._ranges.length ? that._ranges[0].data : [], includeExpanded);\n },\n\n _calculateGroupsTotal: function (groups, includeExpanded, itemsField, ignoreState) {\n var that = this;\n itemsField = itemsField || \"items\";\n var total;\n var length;\n\n if (that._group.length && groups) {\n total = 0;\n length = groups.length;\n\n for (var i = 0; i < length; i++) {\n total += that.groupCount(groups[i], includeExpanded, itemsField, ignoreState);\n }\n that._groupsTotal = total;\n return total;\n }\n\n that._groupsTotal = that._data.length;\n return that._groupsTotal;\n },\n\n groupCount: function (group, includeExpanded, itemsField, ignoreState) {\n var that = this;\n var total = 0;\n\n if (group.hasSubgroups && that._groupsState[group.uid]) {\n if (includeExpanded && !group.excludeHeader || ignoreState) {\n total += 1;\n }\n\n group[itemsField].forEach(function (subgroup) {\n total += that.groupCount(subgroup, includeExpanded, itemsField, ignoreState);\n });\n } else {\n if (that._groupsState[group.uid]) {\n if (includeExpanded && !group.excludeHeader || ignoreState) {\n total++;\n }\n total += group[itemsField] ? group[itemsField].length : 0;\n } else {\n total++;\n }\n }\n return total;\n },\n\n countGroupRange: function (range) {\n var total = 0;\n var length = range.length;\n\n for (var i = 0; i < length; i++) {\n total += this.groupCount(range[i], true);\n }\n\n return total;\n },\n\n aggregate: function(val) {\n var that = this;\n\n if(val !== undefined) {\n that._query({ aggregate: val });\n return;\n }\n\n return that._aggregate;\n },\n\n aggregates: function() {\n var result = this._aggregateResult;\n\n if (isEmptyObject(result)) {\n result = this._emptyAggregates(this.aggregate());\n }\n\n return result;\n },\n\n _emptyAggregates: function(aggregates) {\n var result = {};\n\n if (!isEmptyObject(aggregates)) {\n var aggregate = {};\n\n if (!isArray(aggregates)){\n aggregates = [aggregates];\n }\n\n for (var idx = 0; idx = length; idx--) {\n group = groups[idx];\n parent = {\n value: model.get ? model.get(group.field) : model[group.field],\n field: group.field,\n items: parent ? [parent] : [model],\n hasSubgroups: !!parent,\n aggregates: this._emptyAggregates(group.aggregates)\n };\n }\n\n return parent;\n },\n\n totalPages: function() {\n var that = this,\n pageSize = that.pageSize() || that.total(),\n total = that._isGroupPaged() ? that.groupsTotal(true) : that.total();\n\n return math.ceil((total || 0) / pageSize);\n },\n\n inRange: function(skip, take) {\n var that = this,\n end = math.min(skip + take, that.total());\n\n if (!that.options.serverPaging && that._data.length > 0) {\n return true;\n }\n\n return that._findRange(skip, end).length > 0;\n },\n\n lastRange: function() {\n var ranges = this._ranges;\n return ranges[ranges.length - 1] || { start: 0, end: 0, data: [] };\n },\n\n firstItemUid: function() {\n var ranges = this._ranges;\n return ranges.length && ranges[0].data.length && ranges[0].data[0].uid;\n },\n\n enableRequestsInProgress: function() {\n this._skipRequestsInProgress = false;\n },\n\n _timeStamp: function() {\n return new Date().getTime();\n },\n\n range: function(skip, take, callback, action) {\n this._currentRequestTimeStamp = this._timeStamp();\n this._skipRequestsInProgress = true;\n var total = this._isGroupPaged() ? this.groupsTotal(true) : this.total();\n\n if (action === \"expandGroup\" || action === \"collapseGroup\") {\n this._updateOuterRangesLength();\n }\n\n skip = math.min(skip || 0, total);\n callback = isFunction(callback) ? callback : noop;\n\n var that = this,\n pageSkip = math.max(math.floor(skip / take), 0) * take,\n size = math.min(pageSkip + take, total),\n data;\n\n data = that._findRange(skip, math.min(skip + take, total), callback);\n\n if ((data.length || total === 0) && !that._fetchingGroupItems) {\n that._processRangeData(data, skip, take, that._originalPageSkip || pageSkip, that._originalSize || size, {\n action: action\n });\n that._originalPageSkip = null;\n that._originalSize = null;\n callback();\n return;\n }\n\n if (that._isGroupPaged()) {\n that._originalPageSkip = pageSkip;\n that._originalSize = size;\n\n pageSkip = math.max(math.floor(that._adjustPageSkip(skip, take) / take), 0) * take;\n size = math.min(pageSkip + take, total);\n }\n\n if (take !== undefined && !that._fetchingGroupItems) {\n if ((that._isGroupPaged() && !that._groupRangeExists(pageSkip, take)) || !that._rangeExists(pageSkip, size)) {\n that.prefetch(pageSkip, take, function() {\n if (skip > pageSkip && size < that.total() && !that._rangeExists(size, math.min(size + take, that.total()))) {\n that.prefetch(size, take, function() {\n that.range(skip, take, callback );\n });\n } else {\n that.range(skip, take, callback);\n }\n });\n } else if (pageSkip < skip) {\n that.prefetch(size, take, function() {\n that.range(skip, take, callback );\n });\n }\n }\n },\n\n _findRange: function(start, end, callback) {\n var that = this,\n ranges = that._ranges,\n range,\n data = [],\n skipIdx,\n takeIdx,\n startIndex,\n endIndex,\n rangeData,\n rangeEnd,\n processed,\n options = that.options,\n remote = options.serverSorting || options.serverPaging || options.serverFiltering || options.serverGrouping || options.serverAggregates,\n flatData,\n count,\n length,\n groupMapOptions = {\n take: end - start,\n skip: start,\n skipped: 0,\n taken: 0,\n includeParents: true\n },\n prevRangeEnd,\n isGroupPaged = that._isGroupPaged(),\n startField = isGroupPaged ? \"outerStart\" : \"start\",\n endField = isGroupPaged ? \"outerEnd\" : \"end\",\n currentDataLength;\n\n for (skipIdx = 0, length = ranges.length; skipIdx < length; skipIdx++) {\n range = ranges[skipIdx];\n\n if (isGroupPaged) {\n if (range.outerStart >= end) {\n return [];\n }\n\n if (start > range.outerEnd) {\n groupMapOptions.skipped += range.outerEnd - (prevRangeEnd || 0);\n prevRangeEnd = range.outerEnd;\n continue;\n }\n\n if (typeof prevRangeEnd !== \"undefined\" && prevRangeEnd != range.outerStart) {\n groupMapOptions.skipped += range.outerStart - prevRangeEnd;\n }\n\n if (groupMapOptions.skipped > groupMapOptions.skip) {\n return [];\n }\n\n if (typeof prevRangeEnd === \"undefined\" && start > 0 && range.start > 0) {\n groupMapOptions.skipped = range.outerStart;\n }\n\n takeIdx = skipIdx;\n while (true) {\n this._findGroupedRange(range.data, data, groupMapOptions, null, callback);\n currentDataLength = that._calculateGroupsTotal(data, true, \"currentItems\");\n\n if (currentDataLength >= groupMapOptions.take) {\n return data;\n }\n\n if (that._fetchingGroupItems) {\n return [];\n }\n takeIdx++;\n\n if (ranges[takeIdx] && ranges[takeIdx].outerStart === range.outerEnd) {\n range = ranges[takeIdx];\n } else {\n break;\n }\n }\n } else if (start >= range[startField] && start <= range[endField]) {\n count = 0;\n\n for (takeIdx = skipIdx; takeIdx < length; takeIdx++) {\n range = ranges[takeIdx];\n flatData = that._flatData(range.data, true);\n\n if (flatData.length && start + count >= range.start) {\n rangeData = range.data;\n rangeEnd = range.end;\n\n if (!remote) {\n if (options.inPlaceSort) {\n processed = that._queryProcess(range.data, { filter: that.filter() });\n } else {\n var sort = normalizeGroupWithoutCompare(that.group() || []).concat(normalizeSort(that.sort() || []));\n processed = that._queryProcess(range.data, { sort: sort, filter: that.filter() });\n }\n flatData = rangeData = processed.data;\n\n if (processed.total !== undefined) {\n rangeEnd = processed.total;\n }\n }\n\n startIndex = 0;\n if (start + count > range.start) {\n startIndex = (start + count) - range.start;\n }\n endIndex = flatData.length;\n if (rangeEnd > end) {\n endIndex = endIndex - (rangeEnd - end);\n }\n count += endIndex - startIndex;\n data = that._mergeGroups(data, rangeData, startIndex, endIndex);\n\n if (end <= range.end && count == end - start) {\n return data;\n }\n }\n }\n break;\n }\n prevRangeEnd = range.outerEnd;\n }\n return [];\n },\n\n _getRangesMismatch: function (pageSkip) {\n var that = this;\n var ranges = that._ranges;\n var mismatch = 0;\n var i = 0;\n\n while (true) {\n var range = ranges[i];\n if (!range || range.outerStart > pageSkip) {\n break;\n }\n\n if (range.outerEnd != range.end) {\n mismatch = range.outerEnd - range.end;\n }\n i++;\n }\n\n return mismatch;\n },\n\n _mergeGroups: function(data, range, skip, take) {\n if (this._isServerGrouped()) {\n var temp = range.toJSON(),\n prevGroup;\n\n if (data.length) {\n prevGroup = data[data.length - 1];\n }\n\n mergeGroups(prevGroup, temp, skip, take);\n\n return data.concat(temp);\n }\n return data.concat(range.slice(skip, take));\n },\n\n _processRangeData: function(data, skip, take, pageSkip, size, eventData) {\n var that = this;\n\n that._pending = undefined;\n\n that._skip = skip > that.skip() && !that._omitPrefetch ? math.min(size, (that.totalPages() - 1) * that.take()) : pageSkip;\n\n that._currentRangeStart = skip;\n\n that._take = take;\n\n var paging = that.options.serverPaging;\n var sorting = that.options.serverSorting;\n var filtering = that.options.serverFiltering;\n var aggregates = that.options.serverAggregates;\n try {\n that.options.serverPaging = true;\n if (!that._isServerGrouped() && !(that.group() && that.group().length)) {\n that.options.serverSorting = true;\n }\n that.options.serverFiltering = true;\n that.options.serverPaging = true;\n that.options.serverAggregates = true;\n\n if (paging) {\n that._detachObservableParents();\n that._data = data = that._observe(data);\n }\n that._process(data, eventData);\n } finally {\n that.options.serverPaging = paging;\n that.options.serverSorting = sorting;\n that.options.serverFiltering = filtering;\n that.options.serverAggregates = aggregates;\n }\n },\n\n skip: function() {\n var that = this;\n\n if (that._skip === undefined) {\n return (that._page !== undefined ? (that._page - 1) * (that.take() || 1) : undefined);\n }\n return that._skip;\n },\n\n currentRangeStart: function() {\n return this._currentRangeStart || 0;\n },\n\n take: function() {\n return this._take || this._pageSize;\n },\n\n _prefetchSuccessHandler: function (skip, size, callback, force) {\n var that = this;\n var timestamp = that._timeStamp();\n\n return function(data) {\n var found = false,\n range = { start: skip, end: size, data: [], timestamp: that._timeStamp() },\n idx,\n length,\n temp;\n\n that._dequeueRequest();\n\n that.trigger(REQUESTEND, { response: data, type: \"read\" });\n\n data = that.reader.parse(data);\n\n temp = that._readData(data);\n\n if (temp.length) {\n for (idx = 0, length = that._ranges.length; idx < length; idx++) {\n if (that._ranges[idx].start === skip) {\n found = true;\n range = that._ranges[idx];\n\n if (!that._isGroupPaged()) {\n range.pristineData = temp;\n range.data = that._observe(temp);\n range.end = range.start + that._flatData(range.data, true).length;\n that._sortRanges();\n }\n\n break;\n }\n }\n\n if (!found) {\n that._addRange(that._observe(temp), skip);\n }\n }\n\n that._total = that.reader.total(data);\n\n if (force || (timestamp >= that._currentRequestTimeStamp || !that._skipRequestsInProgress)) {\n if (callback && temp.length) {\n callback();\n } else {\n that.trigger(CHANGE, {});\n }\n }\n };\n },\n\n prefetch: function(skip, take, callback) {\n var that = this,\n size = math.min(skip + take, that.total()),\n options = {\n take: take,\n skip: skip,\n page: skip / take + 1,\n pageSize: take,\n sort: that._sort,\n filter: that._filter,\n group: that._group,\n aggregate: that._aggregate\n };\n\n\n if ((that._isGroupPaged() && !that._isServerGrouped() && that._groupRangeExists(skip, size))) {\n if (callback) {\n callback();\n }\n return;\n }\n\n if ((that._isServerGroupPaged() && !that._groupRangeExists(skip, size)) || !that._rangeExists(skip, size)) {\n clearTimeout(that._timeout);\n\n that._timeout = setTimeout(function() {\n that._queueRequest(options, function() {\n if (!that.trigger(REQUESTSTART, { type: \"read\" })) {\n if (that._omitPrefetch) {\n that.trigger(PROGRESS);\n }\n that.transport.read({\n data: that._params(options),\n success: that._prefetchSuccessHandler(skip, size, callback),\n error: function() {\n var args = slice.call(arguments);\n that.error.apply(that, args);\n }\n });\n } else {\n that._dequeueRequest();\n }\n });\n }, 100);\n } else if (callback) {\n callback();\n }\n },\n\n _multiplePrefetch: function(skip, take, callback) {\n var that = this,\n size = math.min(skip + take, that.total()),\n options = {\n take: take,\n skip: skip,\n page: skip / take + 1,\n pageSize: take,\n sort: that._sort,\n filter: that._filter,\n group: that._group,\n aggregate: that._aggregate\n };\n\n if (!that._rangeExists(skip, size)) {\n if (!that.trigger(REQUESTSTART, { type: \"read\" })) {\n that.transport.read({\n data: that._params(options),\n success: that._prefetchSuccessHandler(skip, size, callback, true)\n });\n }\n } else if (callback) {\n callback();\n }\n },\n\n _adjustPageSkip: function (start, take) {\n var that = this;\n var prevRange = that._getPrevRange(start);\n var result;\n var total = that.total();\n var mismatch;\n\n if (prevRange) {\n mismatch = that._getRangesMismatch(start);\n\n if (!mismatch) {\n return start;\n }\n start -= mismatch;\n }\n result = math.max(math.floor(start / take), 0) * take;\n\n if (result > total) {\n while (true) {\n result -= take;\n if (result < total) {\n break;\n }\n }\n }\n return result;\n },\n\n _getNextRange: function (end) {\n var that = this,\n ranges = that._ranges,\n idx,\n length;\n\n for (idx = 0, length = ranges.length; idx < length; idx++) {\n if (ranges[idx].start <= end && ranges[idx].end >= end) {\n return ranges[idx];\n }\n }\n },\n\n _getPrevRange: function (start) {\n var that = this,\n ranges = that._ranges,\n idx,\n range,\n length = ranges.length;\n\n for (idx = length - 1; idx >= 0; idx--) {\n if (ranges[idx].outerStart <= start) {\n range = ranges[idx];\n break;\n }\n\n }\n\n return range;\n },\n\n _rangeExists: function(start, end) {\n var that = this,\n ranges = that._ranges,\n idx,\n length;\n\n for (idx = 0, length = ranges.length; idx < length; idx++) {\n if (ranges[idx].start <= start && ranges[idx].end >= end) {\n return true;\n }\n }\n\n return false;\n },\n\n _groupRangeExists: function (start, end) {\n var that = this,\n ranges = that._ranges,\n idx,\n length,\n availableItemsCount = 0,\n total = that.groupsTotal(true);\n\n if (end > total && !that._isServerGrouped()) {\n end = total;\n }\n\n for (idx = 0, length = ranges.length; idx < length; idx++) {\n var range = ranges[idx];\n if (range.outerStart <= start && range.outerEnd >= start) {\n availableItemsCount += range.outerEnd - start;\n } else if (range.outerStart <= end && range.outerEnd >= end) {\n availableItemsCount += end - range.outerStart;\n }\n }\n\n return availableItemsCount >= end - start;\n },\n\n _getCurrentRangeSpan: function() {\n var that = this;\n var ranges = that._ranges;\n var start = that.currentRangeStart();\n var end = start + (that.take() || 0);\n var rangeSpan = [];\n var range;\n var idx;\n var length = ranges.length;\n\n for (idx = 0; idx < length; idx++) {\n range = ranges[idx];\n\n if ((range.start <= start && range.end >= start) || (range.start >= start && range.start <= end)) {\n rangeSpan.push(range);\n }\n }\n\n return rangeSpan;\n },\n\n _removeModelFromRanges: function(model) {\n var that = this;\n var range;\n\n for (var idx = 0, length = this._ranges.length; idx < length; idx++) {\n range = this._ranges[idx];\n\n that._removeModelFromRange(range, model);\n }\n\n that._updateRangesLength();\n },\n\n _removeModelFromRange: function(range, model) {\n this._eachItem(range.data, function(data) {\n if (!data) {\n return;\n }\n for (var idx = 0; idx < data.length; idx++) {\n var dataItem = data[idx];\n\n if (dataItem.uid && dataItem.uid == model.uid) {\n [].splice.call(data, idx, 1);\n break;\n }\n }\n });\n },\n\n _insertModelInRange: function(index, model) {\n var that = this;\n var ranges = that._ranges || [];\n var rangesLength = ranges.length;\n var range;\n var i;\n\n for (i = 0; i < rangesLength; i++) {\n range = ranges[i];\n\n if (range.start <= index && range.end >= index) {\n if (!that._getByUid(model.uid, range.data)) {\n if (that._isServerGrouped()) {\n range.data.splice(index, 0, that._wrapInEmptyGroup(model));\n } else {\n range.data.splice(index, 0, model);\n }\n }\n\n break;\n }\n }\n\n that._updateRangesLength();\n },\n\n _updateRangesLength: function() {\n var that = this;\n var ranges = that._ranges || [];\n var rangesLength = ranges.length;\n var mismatchFound = false;\n var mismatchLength = 0;\n var lengthDifference = 0;\n var rangeLength;\n var range;\n var i;\n\n for (i = 0; i < rangesLength; i++) {\n range = ranges[i];\n rangeLength = that._isGroupPaged() ? range.data.length : that._flatData(range.data, true).length;\n lengthDifference = rangeLength - math.abs(range.end - range.start);\n\n if (!mismatchFound && lengthDifference !== 0) {\n mismatchFound = true;\n mismatchLength = lengthDifference;\n range.end += mismatchLength;\n continue;\n }\n\n if (mismatchFound) {\n range.start += mismatchLength;\n range.end += mismatchLength;\n }\n }\n },\n\n _updateOuterRangesLength: function () {\n var that = this;\n var ranges = that._ranges || [];\n var rangesLength = ranges.length;\n var mismatchLength = 0;\n var range;\n var i;\n var prevRange;\n var rangeLength;\n\n for (i = 0; i < rangesLength; i++) {\n range = ranges[i];\n rangeLength = that._isGroupPaged() ? that._calculateGroupsTotal(range.data, true, \"items\", true) : that._flatData(range.data, true).length;\n\n if (prevRange) {\n if (prevRange.end != range.start) {\n mismatchLength = range.start - prevRange.end;\n }\n range.outerStart = prevRange.outerEnd + mismatchLength;\n mismatchLength = 0;\n } else {\n range.outerStart = range.start;\n }\n\n range.outerEnd = range.outerStart + rangeLength;\n prevRange = range;\n }\n }\n });\n\n var Transport = {};\n\n Transport.create = function(options, data, dataSource) {\n var transport,\n transportOptions = options.transport ? $.extend({}, options.transport) : null;\n\n if (transportOptions) {\n transportOptions.read = typeof transportOptions.read === STRING ? { url: transportOptions.read } : transportOptions.read;\n\n if (options.type === \"jsdo\") {\n transportOptions.dataSource = dataSource;\n }\n\n if (options.type) {\n kendo.data.transports = kendo.data.transports || {};\n kendo.data.schemas = kendo.data.schemas || {};\n\n if (!kendo.data.transports[options.type]) {\n kendo.logToConsole(\"Unknown DataSource transport type '\" + options.type + \"'.\\nVerify that registration scripts for this type are included after Kendo UI on the page.\", \"warn\");\n } else if (!isPlainObject(kendo.data.transports[options.type])) {\n transport = new kendo.data.transports[options.type](extend(transportOptions, { data: data }));\n } else {\n transportOptions = extend(true, {}, kendo.data.transports[options.type], transportOptions);\n }\n\n options.schema = extend(true, {}, kendo.data.schemas[options.type], options.schema);\n }\n\n if (!transport) {\n transport = isFunction(transportOptions.read) ? transportOptions : new RemoteTransport(transportOptions);\n }\n } else {\n transport = new LocalTransport({ data: options.data || [] });\n }\n return transport;\n };\n\n DataSource.create = function(options) {\n if (isArray(options) || options instanceof ObservableArray) {\n options = { data: options };\n }\n\n var dataSource = options || {},\n data = dataSource.data,\n fields = dataSource.fields,\n table = dataSource.table,\n select = dataSource.select,\n idx,\n length,\n model = {},\n field;\n\n if (!data && fields && !dataSource.transport) {\n if (table) {\n data = inferTable(table, fields);\n } else if (select) {\n data = inferSelect(select, fields);\n\n if (dataSource.group === undefined && data[0] && data[0].optgroup !== undefined) {\n dataSource.group = \"optgroup\";\n }\n }\n }\n\n if (kendo.data.Model && fields && (!dataSource.schema || !dataSource.schema.model)) {\n for (idx = 0, length = fields.length; idx < length; idx++) {\n field = fields[idx];\n if (field.type) {\n model[field.field] = field;\n }\n }\n\n if (!isEmptyObject(model)) {\n dataSource.schema = extend(true, dataSource.schema, { model: { fields: model } });\n }\n }\n\n dataSource.data = data;\n\n select = null;\n dataSource.select = null;\n table = null;\n dataSource.table = null;\n\n return dataSource instanceof DataSource ? dataSource : new DataSource(dataSource);\n };\n\n function inferSelect(select, fields) {\n select = $(select)[0];\n var options = select.options;\n var firstField = fields[0];\n var secondField = fields[1];\n\n var data = [];\n var idx, length;\n var optgroup;\n var option;\n var record;\n var value;\n\n for (idx = 0, length = options.length; idx < length; idx++) {\n record = {};\n option = options[idx];\n optgroup = option.parentNode;\n\n if (optgroup === select) {\n optgroup = null;\n }\n\n if (option.disabled || (optgroup && optgroup.disabled)) {\n continue;\n }\n\n if (optgroup) {\n record.optgroup = optgroup.label;\n }\n\n record[firstField.field] = option.text;\n\n value = option.attributes.value;\n\n if (value && value.specified) {\n value = option.value;\n } else {\n value = option.text;\n }\n\n record[secondField.field] = value;\n\n data.push(record);\n }\n\n return data;\n }\n\n function inferTable(table, fields) {\n var tbody = $(table)[0].tBodies[0],\n rows = tbody ? tbody.rows : [],\n idx,\n length,\n fieldIndex,\n fieldCount = fields.length,\n data = [],\n cells,\n record,\n cell,\n empty;\n\n for (idx = 0, length = rows.length; idx < length; idx++) {\n record = {};\n empty = true;\n cells = rows[idx].cells;\n\n for (fieldIndex = 0; fieldIndex < fieldCount; fieldIndex++) {\n cell = cells[fieldIndex];\n if(cell.nodeName.toLowerCase() !== \"th\") {\n empty = false;\n record[fields[fieldIndex].field] = cell.innerHTML;\n }\n }\n if(!empty) {\n data.push(record);\n }\n }\n\n return data;\n }\n\n var Node = Model.define({\n idField: \"id\",\n\n init: function(value) {\n var that = this,\n hasChildren = that.hasChildren || value && value.hasChildren,\n childrenField = \"items\",\n childrenOptions = {};\n\n kendo.data.Model.fn.init.call(that, value);\n\n if (typeof that.children === STRING) {\n childrenField = that.children;\n }\n\n childrenOptions = {\n schema: {\n data: childrenField,\n model: {\n hasChildren: hasChildren,\n id: that.idField,\n fields: that.fields\n }\n }\n };\n\n if (typeof that.children !== STRING) {\n extend(childrenOptions, that.children);\n }\n\n childrenOptions.data = value;\n\n if (!hasChildren) {\n hasChildren = childrenOptions.schema.data;\n }\n\n if (typeof hasChildren === STRING) {\n hasChildren = kendo.getter(hasChildren);\n }\n\n if (isFunction(hasChildren)) {\n var hasChildrenObject = hasChildren.call(that, that);\n\n if(hasChildrenObject && hasChildrenObject.length === 0){\n that.hasChildren = false;\n } else{\n that.hasChildren = !!hasChildrenObject;\n }\n }\n\n that._childrenOptions = childrenOptions;\n\n if (that.hasChildren) {\n that._initChildren();\n }\n\n that._loaded = !!(value && value._loaded);\n },\n\n _initChildren: function() {\n var that = this;\n var children, transport, parameterMap;\n\n if (!(that.children instanceof HierarchicalDataSource)) {\n children = that.children = new HierarchicalDataSource(that._childrenOptions);\n\n transport = children.transport;\n parameterMap = transport.parameterMap;\n\n transport.parameterMap = function(data, type) {\n data[that.idField || \"id\"] = that.id;\n\n if (parameterMap) {\n data = parameterMap.call(that, data, type);\n }\n\n return data;\n };\n\n children.parent = function(){\n return that;\n };\n\n children.bind(CHANGE, function(e){\n e.node = e.node || that;\n that.trigger(CHANGE, e);\n });\n\n children.bind(ERROR, function(e){\n var collection = that.parent();\n\n if (collection) {\n e.node = e.node || that;\n collection.trigger(ERROR, e);\n }\n });\n\n that._updateChildrenField();\n }\n },\n\n append: function(model) {\n this._initChildren();\n this.loaded(true);\n this.children.add(model);\n },\n\n hasChildren: false,\n\n level: function() {\n var parentNode = this.parentNode(),\n level = 0;\n\n while (parentNode && parentNode.parentNode) {\n level++;\n parentNode = parentNode.parentNode ? parentNode.parentNode() : null;\n }\n\n return level;\n },\n\n _updateChildrenField: function() {\n var fieldName = this._childrenOptions.schema.data;\n\n this[fieldName || \"items\"] = this.children.data();\n },\n\n _childrenLoaded: function() {\n this._loaded = true;\n\n this._updateChildrenField();\n },\n\n load: function() {\n var options = {};\n var method = \"_query\";\n var children, promise;\n\n if (this.hasChildren) {\n this._initChildren();\n\n children = this.children;\n\n options[this.idField || \"id\"] = this.id;\n\n if (!this._loaded) {\n children._data = undefined;\n method = \"read\";\n }\n\n children.one(CHANGE, proxy(this._childrenLoaded, this));\n\n if(this._matchFilter){\n options.filter = { field: '_matchFilter', operator: 'eq', value: true };\n }\n\n promise = children[method](options);\n } else {\n this.loaded(true);\n }\n\n return promise || $.Deferred().resolve().promise();\n },\n\n parentNode: function() {\n var array = this.parent();\n\n return array.parent();\n },\n\n loaded: function(value) {\n if (value !== undefined) {\n this._loaded = value;\n } else {\n return this._loaded;\n }\n },\n\n shouldSerialize: function(field) {\n return Model.fn.shouldSerialize.call(this, field) &&\n field !== \"children\" &&\n field !== \"_loaded\" &&\n field !== \"hasChildren\" &&\n field !== \"_childrenOptions\";\n }\n });\n\n function dataMethod(name) {\n return function() {\n var data = this._data,\n result = DataSource.fn[name].apply(this, slice.call(arguments));\n\n if (this._data != data) {\n this._attachBubbleHandlers();\n }\n\n return result;\n };\n }\n\n var HierarchicalDataSource = DataSource.extend({\n init: function(options) {\n var node = Node.define({\n children: options\n });\n\n if(options.filter && !options.serverFiltering){\n this._hierarchicalFilter = options.filter;\n options.filter = null;\n }\n\n DataSource.fn.init.call(this, extend(true, {}, { schema: { modelBase: node, model: node } }, options));\n\n this._attachBubbleHandlers();\n },\n\n _attachBubbleHandlers: function() {\n var that = this;\n\n that._data.bind(ERROR, function(e) {\n that.trigger(ERROR, e);\n });\n },\n\n read: function(data) {\n var result = DataSource.fn.read.call(this, data);\n\n if(this._hierarchicalFilter){\n if(this._data && this._data.length > 0){\n this.filter(this._hierarchicalFilter);\n }else{\n this.options.filter = this._hierarchicalFilter;\n this._filter = normalizeFilter(this.options.filter);\n this._hierarchicalFilter = null;\n }\n }\n\n return result;\n },\n\n remove: function(node){\n var parentNode = node.parentNode(),\n dataSource = this,\n result;\n\n if (parentNode && parentNode._initChildren) {\n dataSource = parentNode.children;\n }\n\n result = DataSource.fn.remove.call(dataSource, node);\n\n if (parentNode && !dataSource.data().length) {\n parentNode.hasChildren = false;\n }\n\n return result;\n },\n\n success: dataMethod(\"success\"),\n\n data: dataMethod(\"data\"),\n\n insert: function(index, model) {\n var parentNode = this.parent();\n\n if (parentNode && parentNode._initChildren) {\n parentNode.hasChildren = true;\n parentNode._initChildren();\n }\n\n return DataSource.fn.insert.call(this, index, model);\n },\n\n filter: function(val) {\n if (val === undefined) {\n return this._filter;\n }\n\n if(!this.options.serverFiltering && this._markHierarchicalQuery(val)){\n val = { logic: \"or\", filters: [val, {field:'_matchFilter', operator: 'equals', value: true }]};\n }\n\n this.trigger(\"reset\");\n this._query({ filter: val, page: 1 });\n },\n\n _markHierarchicalQuery: function(expressions){\n var compiled;\n var predicate;\n var fields;\n var operators;\n var filter;\n var accentFoldingFiltering = this.options.accentFoldingFiltering;\n\n expressions = accentFoldingFiltering ? $.extend({}, normalizeFilter(expressions), { accentFoldingFiltering: accentFoldingFiltering}) : normalizeFilter(expressions);\n\n if (!expressions || expressions.filters.length === 0) {\n this._updateHierarchicalFilter(function(){return true;});\n return false;\n }\n\n compiled = Query.filterExpr(expressions);\n fields = compiled.fields;\n operators = compiled.operators;\n\n predicate = filter = new Function(\"d, __f, __o\", \"return \" + compiled.expression);\n\n if (fields.length || operators.length) {\n filter = function(d) {\n return predicate(d, fields, operators);\n };\n }\n\n this._updateHierarchicalFilter(filter);\n return true;\n },\n\n _updateHierarchicalFilter: function(filter){\n var current;\n var data = this._data;\n var result = false;\n\n for (var idx = 0; idx < data.length; idx++) {\n current = data[idx];\n\n if(current.hasChildren){\n current._matchFilter = current.children._updateHierarchicalFilter(filter);\n if(!current._matchFilter){\n current._matchFilter = filter(current);\n }\n }else{\n current._matchFilter = filter(current);\n }\n\n if(current._matchFilter){\n result = true;\n }\n }\n return result;\n },\n\n _find: function(method, value) {\n var idx, length, node, children;\n var data = this._data;\n\n if (!data) {\n return;\n }\n\n node = DataSource.fn[method].call(this, value);\n\n if (node) {\n return node;\n }\n\n data = this._flatData(this._data);\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n children = data[idx].children;\n\n if (!(children instanceof HierarchicalDataSource)) {\n continue;\n }\n\n node = children[method](value);\n\n if (node) {\n return node;\n }\n }\n },\n\n get: function(id) {\n return this._find(\"get\", id);\n },\n\n getByUid: function(uid) {\n return this._find(\"getByUid\", uid);\n }\n });\n\n function inferList(list, fields) {\n var items = $(list).children(),\n idx,\n length,\n data = [],\n record,\n textField = fields[0].field,\n urlField = fields[1] && fields[1].field,\n spriteCssClassField = fields[2] && fields[2].field,\n imageUrlField = fields[3] && fields[3].field,\n item,\n id,\n textChild,\n className,\n children;\n\n function elements(collection, tagName) {\n return collection.filter(tagName).add(collection.find(tagName));\n }\n\n for (idx = 0, length = items.length; idx < length; idx++) {\n record = { _loaded: true };\n item = items.eq(idx);\n\n textChild = item[0].firstChild;\n children = item.children();\n list = children.filter(\"ul\");\n children = children.filter(\":not(ul)\");\n\n id = item.attr(\"data-id\");\n\n if (id) {\n record.id = id;\n }\n\n if (textChild) {\n record[textField] = textChild.nodeType == 3 ? textChild.nodeValue : children.text();\n }\n\n if (urlField) {\n record[urlField] = elements(children, \"a\").attr(\"href\");\n }\n\n if (imageUrlField) {\n record[imageUrlField] = elements(children, \"img\").attr(\"src\");\n }\n\n if (spriteCssClassField) {\n className = elements(children, \".k-sprite\").prop(\"className\");\n record[spriteCssClassField] = className && kendo.trim(className.replace(\"k-sprite\", \"\"));\n }\n\n if (list.length) {\n record.items = inferList(list.eq(0), fields);\n }\n\n if (item.attr(\"data-hasChildren\") == \"true\") {\n record.hasChildren = true;\n }\n\n data.push(record);\n }\n\n return data;\n }\n\n HierarchicalDataSource.create = function(options) {\n options = options && options.push ? { data: options } : options;\n\n var dataSource = options || {},\n data = dataSource.data,\n fields = dataSource.fields,\n list = dataSource.list;\n\n if (data && data._dataSource) {\n return data._dataSource;\n }\n\n if (!data && fields && !dataSource.transport) {\n if (list) {\n data = inferList(list, fields);\n }\n }\n\n dataSource.data = data;\n\n return dataSource instanceof HierarchicalDataSource ? dataSource : new HierarchicalDataSource(dataSource);\n };\n\n var Buffer = kendo.Observable.extend({\n init: function(dataSource, viewSize, disablePrefetch) {\n kendo.Observable.fn.init.call(this);\n\n this._prefetching = false;\n this.dataSource = dataSource;\n this.prefetch = !disablePrefetch;\n\n var buffer = this;\n\n dataSource.bind(\"change\", function() {\n buffer._change();\n });\n\n dataSource.bind(\"reset\", function() {\n buffer._reset();\n });\n\n this._syncWithDataSource();\n\n this.setViewSize(viewSize);\n },\n\n setViewSize: function(viewSize) {\n this.viewSize = viewSize;\n this._recalculate();\n },\n\n at: function(index) {\n var pageSize = this.pageSize,\n itemPresent = true;\n\n if (index >= this.total()) {\n this.trigger(\"endreached\", {index: index });\n return null;\n }\n\n if (!this.useRanges) {\n return this.dataSource.view()[index];\n }\n if (this.useRanges) {\n // out of range request\n if (index < this.dataOffset || index >= this.skip + pageSize) {\n itemPresent = this.range(Math.floor(index / pageSize) * pageSize);\n }\n\n // prefetch\n if (index === this.prefetchThreshold) {\n this._prefetch();\n }\n\n // mid-range jump - prefetchThreshold and nextPageThreshold may be equal, do not change to else if\n if (index === this.midPageThreshold) {\n this.range(this.nextMidRange, true);\n }\n // next range jump\n else if (index === this.nextPageThreshold) {\n this.range(this.nextFullRange);\n }\n // pull-back\n else if (index === this.pullBackThreshold) {\n if (this.offset === this.skip) { // from full range to mid range\n this.range(this.previousMidRange);\n } else { // from mid range to full range\n this.range(this.previousFullRange);\n }\n }\n\n if (itemPresent) {\n return this.dataSource.at(index - this.dataOffset);\n } else {\n this.trigger(\"endreached\", { index: index });\n return null;\n }\n }\n },\n\n indexOf: function(item) {\n return this.dataSource.data().indexOf(item) + this.dataOffset;\n },\n\n total: function() {\n return parseInt(this.dataSource.total(), 10);\n },\n\n next: function() {\n var buffer = this,\n pageSize = buffer.pageSize,\n offset = buffer.skip - buffer.viewSize + pageSize,\n pageSkip = math.max(math.floor(offset / pageSize), 0) * pageSize;\n\n this.offset = offset;\n this.dataSource.prefetch(pageSkip, pageSize, function() {\n buffer._goToRange(offset, true);\n });\n },\n\n range: function(offset, nextRange) {\n if (this.offset === offset) {\n return true;\n }\n\n var buffer = this,\n pageSize = this.pageSize,\n pageSkip = math.max(math.floor(offset / pageSize), 0) * pageSize,\n dataSource = this.dataSource;\n\n if (nextRange) {\n pageSkip += pageSize;\n }\n\n if (dataSource.inRange(offset, pageSize)) {\n this.offset = offset;\n this._recalculate();\n this._goToRange(offset);\n return true;\n } else if (this.prefetch) {\n dataSource.prefetch(pageSkip, pageSize, function() {\n buffer.offset = offset;\n buffer._recalculate();\n buffer._goToRange(offset, true);\n });\n return false;\n }\n\n return true;\n },\n\n syncDataSource: function() {\n var offset = this.offset;\n this.offset = null;\n this.range(offset);\n },\n\n destroy: function() {\n this.unbind();\n },\n\n _prefetch: function() {\n var buffer = this,\n pageSize = this.pageSize,\n prefetchOffset = this.skip + pageSize,\n dataSource = this.dataSource;\n\n if (!dataSource.inRange(prefetchOffset, pageSize) && !this._prefetching && this.prefetch) {\n this._prefetching = true;\n this.trigger(\"prefetching\", { skip: prefetchOffset, take: pageSize });\n\n dataSource.prefetch(prefetchOffset, pageSize, function() {\n buffer._prefetching = false;\n buffer.trigger(\"prefetched\", { skip: prefetchOffset, take: pageSize });\n });\n }\n },\n\n _goToRange: function(offset, expanding) {\n if (this.offset !== offset) {\n return;\n }\n\n this.dataOffset = offset;\n this._expanding = expanding;\n this.dataSource.range(offset, this.pageSize);\n this.dataSource.enableRequestsInProgress();\n },\n\n _reset: function() {\n this._syncPending = true;\n },\n\n _change: function() {\n var dataSource = this.dataSource;\n\n this.length = this.useRanges ? dataSource.lastRange().end : dataSource.view().length;\n\n if (this._syncPending) {\n this._syncWithDataSource();\n this._recalculate();\n this._syncPending = false;\n this.trigger(\"reset\", { offset: this.offset });\n }\n\n this.trigger(\"resize\");\n\n if (this._expanding) {\n this.trigger(\"expand\");\n }\n\n delete this._expanding;\n },\n\n _syncWithDataSource: function() {\n var dataSource = this.dataSource;\n\n this._firstItemUid = dataSource.firstItemUid();\n this.dataOffset = this.offset = dataSource.skip() || 0;\n this.pageSize = dataSource.pageSize();\n this.useRanges = dataSource.options.serverPaging;\n },\n\n _recalculate: function() {\n var pageSize = this.pageSize,\n offset = this.offset,\n viewSize = this.viewSize,\n skip = Math.ceil(offset / pageSize) * pageSize;\n\n this.skip = skip;\n this.midPageThreshold = skip + pageSize - 1;\n this.nextPageThreshold = skip + viewSize - 1;\n this.prefetchThreshold = skip + Math.floor(pageSize / 3 * 2);\n this.pullBackThreshold = this.offset - 1;\n\n this.nextMidRange = skip + pageSize - viewSize;\n this.nextFullRange = skip;\n this.previousMidRange = offset - viewSize;\n this.previousFullRange = skip - pageSize;\n }\n });\n\n var BatchBuffer = kendo.Observable.extend({\n init: function(dataSource, batchSize) {\n var batchBuffer = this;\n\n kendo.Observable.fn.init.call(batchBuffer);\n\n this.dataSource = dataSource;\n this.batchSize = batchSize;\n this._total = 0;\n\n this.buffer = new Buffer(dataSource, batchSize * 3);\n\n this.buffer.bind({\n \"endreached\": function (e) {\n batchBuffer.trigger(\"endreached\", { index: e.index });\n },\n \"prefetching\": function (e) {\n batchBuffer.trigger(\"prefetching\", { skip: e.skip, take: e.take });\n },\n \"prefetched\": function (e) {\n batchBuffer.trigger(\"prefetched\", { skip: e.skip, take: e.take });\n },\n \"reset\": function () {\n batchBuffer._total = 0;\n batchBuffer.trigger(\"reset\");\n },\n \"resize\": function () {\n batchBuffer._total = Math.ceil(this.length / batchBuffer.batchSize);\n batchBuffer.trigger(\"resize\", { total: batchBuffer.total(), offset: this.offset });\n }\n });\n },\n\n syncDataSource: function() {\n this.buffer.syncDataSource();\n },\n\n at: function(index) {\n var buffer = this.buffer,\n skip = index * this.batchSize,\n take = this.batchSize,\n view = [],\n item;\n\n if (buffer.offset > skip) {\n buffer.at(buffer.offset - 1);\n }\n\n for (var i = 0; i < take; i++) {\n item = buffer.at(skip + i);\n\n if (item === null) {\n break;\n }\n\n view.push(item);\n }\n\n return view;\n },\n\n total: function() {\n return this._total;\n },\n\n destroy: function() {\n this.buffer.destroy();\n this.unbind();\n }\n });\n\n extend(true, kendo.data, {\n readers: {\n json: DataReader\n },\n Query: Query,\n DataSource: DataSource,\n HierarchicalDataSource: HierarchicalDataSource,\n Node: Node,\n Comparer: Comparer,\n ObservableObject: ObservableObject,\n ObservableArray: ObservableArray,\n LazyObservableArray: LazyObservableArray,\n LocalTransport: LocalTransport,\n RemoteTransport: RemoteTransport,\n Cache: Cache,\n DataReader: DataReader,\n Model: Model,\n Buffer: Buffer,\n BatchBuffer: BatchBuffer\n });\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.popup',[ \"./kendo.core\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"popup\",\n name: \"Pop-up\",\n category: \"framework\",\n depends: [ \"core\" ],\n advanced: true\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n Class = kendo.Class,\n support = kendo.support,\n getOffset = kendo.getOffset,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n OPEN = \"open\",\n CLOSE = \"close\",\n DEACTIVATE = \"deactivate\",\n ACTIVATE = \"activate\",\n CENTER = \"center\",\n LEFT = \"left\",\n RIGHT = \"right\",\n TOP = \"top\",\n BOTTOM = \"bottom\",\n ABSOLUTE = \"absolute\",\n HIDDEN = \"hidden\",\n BODY = \"body\",\n LOCATION = \"location\",\n POSITION = \"position\",\n VISIBLE = \"visible\",\n EFFECTS = \"effects\",\n ACTIVE = \"k-state-active\",\n ACTIVEBORDER = \"k-state-border\",\n ACTIVEBORDERREGEXP = /k-state-border-(\\w+)/,\n ACTIVECHILDREN = \".k-picker-wrap, .k-dropdown-wrap, .k-link\",\n MOUSEDOWN = \"down\",\n DOCUMENT_ELEMENT = $(document.documentElement),\n proxy = $.proxy,\n WINDOW = $(window),\n SCROLL = \"scroll\",\n cssPrefix = support.transitions.css,\n TRANSFORM = cssPrefix + \"transform\",\n extend = $.extend,\n NS = \".kendoPopup\",\n styles = [\"font-size\",\n \"font-family\",\n \"font-stretch\",\n \"font-style\",\n \"font-weight\",\n \"line-height\"];\n\n function contains(container, target) {\n if (!container || !target) {\n return false;\n }\n return container === target || $.contains(container, target);\n }\n\n var Popup = Widget.extend({\n init: function(element, options) {\n var that = this, parentPopup;\n\n options = options || {};\n\n if (options.isRtl) {\n options.origin = options.origin || BOTTOM + \" \" + RIGHT;\n options.position = options.position || TOP + \" \" + RIGHT;\n }\n\n Widget.fn.init.call(that, element, options);\n\n element = that.element;\n options = that.options;\n\n that.collisions = options.collision ? options.collision.split(\" \") : [];\n that.downEvent = kendo.applyEventMap(MOUSEDOWN, kendo.guid());\n\n if (that.collisions.length === 1) {\n that.collisions.push(that.collisions[0]);\n }\n\n parentPopup = $(that.options.anchor).closest(\".k-popup,.k-group\").filter(\":not([class^=km-])\"); // When popup is in another popup, make it relative.\n\n options.appendTo = $($(options.appendTo)[0] || parentPopup[0] || document.body);\n\n that.element.hide()\n .addClass(\"k-popup k-group k-reset\")\n .toggleClass(\"k-rtl\", !!options.isRtl)\n .css({ position : ABSOLUTE })\n .appendTo(options.appendTo)\n .attr(\"aria-hidden\", true)\n .on(\"mouseenter\" + NS, function() {\n that._hovered = true;\n })\n .on(\"wheel\" + NS, function(e) {\n var list = $(e.target).find(\".k-list\");\n var scrollArea = list.parent();\n if (list.length && list.is(\":visible\") && ((scrollArea.scrollTop() === 0 && e.originalEvent.deltaY < 0) ||\n (scrollArea.scrollTop() === scrollArea.prop('scrollHeight') - scrollArea.prop('offsetHeight') && e.originalEvent.deltaY > 0))) {\n e.preventDefault();\n }\n })\n .on(\"mouseleave\" + NS, function() {\n that._hovered = false;\n });\n\n that.wrapper = $();\n\n if (options.animation === false) {\n options.animation = { open: { effects: {} }, close: { hide: true, effects: {} } };\n }\n\n extend(options.animation.open, {\n complete: function() {\n that.wrapper.css({ overflow: VISIBLE }); // Forcing refresh causes flickering in mobile.\n that._activated = true;\n that._trigger(ACTIVATE);\n }\n });\n\n extend(options.animation.close, {\n complete: function() {\n that._animationClose();\n }\n });\n\n that._mousedownProxy = function(e) {\n that._mousedown(e);\n };\n\n if (support.mobileOS.android) {\n that._resizeProxy = function(e) {\n setTimeout(function() {\n that._resize(e);\n }, 600); //Logic from kendo.onResize\n };\n } else {\n that._resizeProxy = function(e) {\n that._resize(e);\n };\n }\n\n if (options.toggleTarget) {\n $(options.toggleTarget).on(options.toggleEvent + NS, $.proxy(that.toggle, that));\n }\n },\n\n events: [\n OPEN,\n ACTIVATE,\n CLOSE,\n DEACTIVATE\n ],\n\n options: {\n name: \"Popup\",\n toggleEvent: \"click\",\n origin: BOTTOM + \" \" + LEFT,\n position: TOP + \" \" + LEFT,\n anchor: BODY,\n appendTo: null,\n collision: \"flip fit\",\n viewport: window,\n copyAnchorStyles: true,\n autosize: false,\n modal: false,\n adjustSize: {\n width: 0,\n height: 0\n },\n animation: {\n open: {\n effects: \"slideIn:down\",\n transition: true,\n duration: 200\n },\n close: { // if close animation effects are defined, they will be used instead of open.reverse\n duration: 100,\n hide: true\n }\n },\n omitOriginOffsets: false\n },\n\n _animationClose: function() {\n var that = this;\n var location = that.wrapper.data(LOCATION);\n\n that.wrapper.hide();\n\n if (location) {\n that.wrapper.css(location);\n }\n\n if (that.options.anchor != BODY) {\n that._hideDirClass();\n }\n\n that._closing = false;\n that._trigger(DEACTIVATE);\n },\n\n destroy: function() {\n var that = this,\n options = that.options,\n element = that.element.off(NS),\n parent;\n\n Widget.fn.destroy.call(that);\n\n if (options.toggleTarget) {\n $(options.toggleTarget).off(NS);\n }\n\n if (!options.modal) {\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n that._toggleResize(false);\n }\n\n kendo.destroy(that.element.children());\n element.removeData();\n\n if (options.appendTo[0] === document.body) {\n parent = element.parent(\".k-animation-container\");\n\n if (parent[0]) {\n parent.remove();\n } else {\n element.remove();\n }\n }\n },\n\n open: function(x, y) {\n var that = this,\n fixed = { isFixed: !isNaN(parseInt(y,10)), x: x, y: y },\n element = that.element,\n options = that.options,\n animation, wrapper,\n anchor = $(options.anchor),\n mobile = element[0] && element.hasClass(\"km-widget\");\n\n if (!that.visible()) {\n if (options.copyAnchorStyles) {\n if (mobile && styles[0] == \"font-size\") {\n styles.shift();\n }\n element.css(kendo.getComputedStyles(anchor[0], styles));\n }\n\n if (element.data(\"animating\") || that._trigger(OPEN)) {\n return;\n }\n\n that._activated = false;\n\n if (!options.modal) {\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy)\n .on(that.downEvent, that._mousedownProxy);\n\n // this binding hangs iOS in editor\n // all elements in IE7/8 fire resize event, causing mayhem\n that._toggleResize(false);\n that._toggleResize(true);\n }\n\n that.wrapper = wrapper = kendo.wrap(element, options.autosize)\n .css({\n overflow: HIDDEN,\n display: \"block\",\n position: ABSOLUTE\n })\n .attr(\"aria-hidden\", false);\n\n if (support.mobileOS.android) {\n wrapper.css(TRANSFORM, \"translatez(0)\"); // Android is VERY slow otherwise. Should be tested in other droids as well since it may cause blur.\n }\n\n wrapper.css(POSITION);\n\n if ($(options.appendTo)[0] == document.body) {\n wrapper.css(TOP, \"-10000px\");\n }\n\n that.flipped = that._position(fixed);\n animation = that._openAnimation();\n\n if (options.anchor != BODY) {\n that._showDirClass(animation);\n }\n\n if (!element.is(\":visible\") && element.data(\"olddisplay\") === undefined) {\n element.show();\n element.data(\"olddisplay\", element.css(\"display\"));\n element.hide();\n }\n\n element.data(EFFECTS, animation.effects)\n .kendoStop(true)\n .kendoAnimate(animation)\n .attr(\"aria-hidden\", false);\n }\n },\n\n _location: function(isFixed) {\n var that = this,\n element = that.element,\n options = that.options,\n wrapper,\n anchor = $(options.anchor),\n mobile = element[0] && element.hasClass(\"km-widget\");\n\n if (options.copyAnchorStyles) {\n if (mobile && styles[0] == \"font-size\") {\n styles.shift();\n }\n element.css(kendo.getComputedStyles(anchor[0], styles));\n }\n\n that.wrapper = wrapper = kendo.wrap(element, options.autosize)\n .css({\n overflow: HIDDEN,\n display: \"block\",\n position: ABSOLUTE\n });\n\n if (support.mobileOS.android) {\n wrapper.css(TRANSFORM, \"translatez(0)\"); // Android is VERY slow otherwise. Should be tested in other droids as well since it may cause blur.\n }\n\n wrapper.css(POSITION);\n\n if ($(options.appendTo)[0] == document.body) {\n wrapper.css(TOP, \"-10000px\");\n }\n\n that._position(isFixed || {});\n\n var offset = wrapper.offset();\n return {\n width: kendo._outerWidth(wrapper),\n height: kendo._outerHeight(wrapper),\n left: offset.left,\n top: offset.top\n };\n },\n\n _openAnimation: function() {\n var animation = extend(true, {}, this.options.animation.open);\n animation.effects = kendo.parseEffects(animation.effects, this.flipped);\n\n return animation;\n },\n\n _hideDirClass: function() {\n var anchor = $(this.options.anchor);\n var direction = ((anchor.attr(\"class\") || \"\").match(ACTIVEBORDERREGEXP) || [\"\", \"down\"])[1];\n var dirClass = ACTIVEBORDER + \"-\" + direction;\n\n anchor\n .removeClass(dirClass)\n .children(ACTIVECHILDREN)\n .removeClass(ACTIVE)\n .removeClass(dirClass);\n\n this.element.removeClass(ACTIVEBORDER + \"-\" + kendo.directions[direction].reverse);\n },\n\n _showDirClass: function(animation) {\n var direction = animation.effects.slideIn ? animation.effects.slideIn.direction : \"down\";\n var dirClass = ACTIVEBORDER + \"-\" + direction;\n\n $(this.options.anchor)\n .addClass(dirClass)\n .children(ACTIVECHILDREN)\n .addClass(ACTIVE)\n .addClass(dirClass);\n\n this.element.addClass(ACTIVEBORDER + \"-\" + kendo.directions[direction].reverse);\n },\n\n position: function() {\n if (this.visible()) {\n this.flipped = this._position();\n //this._hideDirClass();\n //this._showDirClass(this._openAnimation());\n }\n },\n\n toggle: function() {\n var that = this;\n\n that[that.visible() ? CLOSE : OPEN]();\n },\n\n visible: function() {\n return this.element.is(\":\" + VISIBLE);\n },\n\n close: function(skipEffects) {\n var that = this,\n options = that.options, wrap,\n animation, openEffects, closeEffects;\n\n if (that.visible()) {\n wrap = (that.wrapper[0] ? that.wrapper : kendo.wrap(that.element).hide());\n\n that._toggleResize(false);\n\n if (that._closing || that._trigger(CLOSE)) {\n that._toggleResize(true);\n return;\n }\n\n // Close all inclusive popups.\n that.element.find(\".k-popup\").each(function () {\n var that = $(this),\n popup = that.data(\"kendoPopup\");\n\n if (popup) {\n popup.close(skipEffects);\n }\n });\n\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n\n if (skipEffects) {\n animation = { hide: true, effects: {} };\n } else {\n animation = extend(true, {}, options.animation.close);\n openEffects = that.element.data(EFFECTS);\n closeEffects = animation.effects;\n\n if (!closeEffects && !kendo.size(closeEffects) && openEffects && kendo.size(openEffects)) {\n animation.effects = openEffects;\n animation.reverse = true;\n }\n\n that._closing = true;\n }\n\n that.element\n .kendoStop(true)\n .attr(\"aria-hidden\", true);\n wrap\n .css({ overflow: HIDDEN }) // stop callback will remove hidden overflow\n .attr(\"aria-hidden\", true);\n that.element.kendoAnimate(animation);\n\n if (skipEffects) {\n that._animationClose();\n }\n }\n },\n\n _trigger: function(ev) {\n return this.trigger(ev, { type: ev });\n },\n\n _resize: function(e) {\n var that = this;\n\n if (support.resize.indexOf(e.type) !== -1) {\n clearTimeout(that._resizeTimeout);\n that._resizeTimeout = setTimeout(function() {\n that._position();\n that._resizeTimeout = null;\n }, 50);\n } else {\n if (!that._hovered || (that._activated && that.element.find(\".k-list\").length > 0)) {\n that.close();\n }\n }\n },\n\n _toggleResize: function(toggle) {\n var method = toggle ? \"on\" : \"off\";\n var eventNames = support.resize;\n\n if (!(support.mobileOS.ios || support.mobileOS.android || support.browser.safari)) {\n eventNames += \" \" + SCROLL;\n }\n\n if (toggle && !this.scrollableParents) {\n this.scrollableParents = this._scrollableParents();\n }\n\n if (this.scrollableParents && this.scrollableParents.length) {\n this.scrollableParents[method](SCROLL, this._resizeProxy);\n }\n\n WINDOW[method](eventNames, this._resizeProxy);\n },\n\n _mousedown: function(e) {\n var that = this,\n container = that.element[0],\n options = that.options,\n anchor = $(options.anchor)[0],\n toggleTarget = options.toggleTarget,\n target = kendo.eventTarget(e),\n popup = $(target).closest(\".k-popup\"),\n mobile = popup.parent().parent(\".km-shim\").length;\n\n popup = popup[0];\n if (!mobile && popup && popup !== that.element[0]){\n return;\n }\n\n // This MAY result in popup not closing in certain cases.\n if ($(e.target).closest(\"a\").data(\"rel\") === \"popover\") {\n return;\n }\n\n if (!contains(container, target) && !contains(anchor, target) && !(toggleTarget && contains($(toggleTarget)[0], target))) {\n that.close();\n }\n },\n\n _fit: function(position, size, viewPortSize) {\n var output = 0;\n\n if (position + size > viewPortSize) {\n output = viewPortSize - (position + size);\n }\n\n if (position < 0) {\n output = -position;\n }\n\n return output;\n },\n\n _flip: function(offset, size, anchorSize, viewPortSize, origin, position, boxSize) {\n var output = 0;\n boxSize = boxSize || size;\n\n if (position !== origin && position !== CENTER && origin !== CENTER) {\n if (offset + boxSize > viewPortSize) {\n output += -(anchorSize + size);\n }\n\n if (offset + output < 0) {\n output += anchorSize + size;\n }\n }\n return output;\n },\n\n _scrollableParents: function() {\n return $(this.options.anchor)\n .parentsUntil(\"body\")\n .filter(function(index, element) {\n return kendo.isScrollable(element);\n });\n },\n\n _position: function(fixed) {\n var that = this,\n //element = that.element.css(POSITION, \"\"), /* fixes telerik/kendo-ui-core#790, comes from telerik/kendo#615 */\n element = that.element,\n wrapper = that.wrapper,\n options = that.options,\n viewport = $(options.viewport),\n zoomLevel = support.zoomLevel(),\n isWindow = !!((viewport[0] == window) && window.innerWidth && (zoomLevel <= 1.02)),\n anchor = $(options.anchor),\n origins = options.origin.toLowerCase().split(\" \"),\n positions = options.position.toLowerCase().split(\" \"),\n collisions = that.collisions,\n siblingContainer, parents,\n parentZIndex, zIndex = 10002,\n idx = 0,\n docEl = document.documentElement,\n length, viewportOffset, viewportWidth, viewportHeight;\n\n if (options.viewport === window) {\n viewportOffset = {\n top: (window.pageYOffset || document.documentElement.scrollTop || 0),\n left: (window.pageXOffset || document.documentElement.scrollLeft || 0)\n };\n } else {\n viewportOffset = viewport.offset();\n }\n\n if (isWindow) {\n viewportWidth = window.innerWidth;\n viewportHeight = window.innerHeight;\n } else {\n viewportWidth = viewport.width();\n viewportHeight = viewport.height();\n }\n\n if (isWindow && docEl.scrollHeight - docEl.clientHeight > 0) {\n var sign = options.isRtl ? -1 : 1;\n\n viewportWidth -= sign * kendo.support.scrollbar();\n }\n\n siblingContainer = anchor.parents().filter(wrapper.siblings());\n\n if (siblingContainer[0]) {\n parentZIndex = Math.max(Number(siblingContainer.css(\"zIndex\")), 0);\n\n // set z-index to be more than that of the container/sibling\n // compensate with more units for window z-stack\n if (parentZIndex) {\n zIndex = parentZIndex + 10;\n } else {\n parents = anchor.parentsUntil(siblingContainer);\n for (length = parents.length; idx < length; idx++) {\n parentZIndex = Number($(parents[idx]).css(\"zIndex\"));\n if (parentZIndex && zIndex < parentZIndex) {\n zIndex = parentZIndex + 10;\n }\n }\n }\n }\n\n wrapper.css(\"zIndex\", zIndex);\n\n if (fixed && fixed.isFixed) {\n wrapper.css({ left: fixed.x, top: fixed.y });\n } else {\n wrapper.css(that._align(origins, positions));\n }\n\n var pos = getOffset(wrapper, POSITION, anchor[0] === wrapper.offsetParent()[0]),\n offset = getOffset(wrapper),\n anchorParent = anchor.offsetParent().parent(\".k-animation-container,.k-popup,.k-group\"); // If the parent is positioned, get the current positions\n\n if (anchorParent.length) {\n pos = getOffset(wrapper, POSITION, true);\n offset = getOffset(wrapper);\n }\n\n offset.top -= viewportOffset.top;\n offset.left -= viewportOffset.left;\n\n if (!that.wrapper.data(LOCATION)) { // Needed to reset the popup location after every closure - fixes the resize bugs.\n wrapper.data(LOCATION, extend({}, pos));\n }\n\n var offsets = extend({}, offset),\n location = extend({}, pos),\n adjustSize = options.adjustSize;\n\n if (collisions[0] === \"fit\") {\n location.top += that._fit(offsets.top, outerHeight(wrapper) + adjustSize.height, viewportHeight / zoomLevel);\n }\n\n if (collisions[1] === \"fit\") {\n location.left += that._fit(offsets.left, outerWidth(wrapper) + adjustSize.width, viewportWidth / zoomLevel);\n }\n\n var flipPos = extend({}, location);\n var elementHeight = outerHeight(element);\n var wrapperHeight = outerHeight(wrapper);\n\n if (!wrapper.height() && elementHeight) {\n wrapperHeight = wrapperHeight + elementHeight;\n }\n\n if (collisions[0] === \"flip\") {\n location.top += that._flip(offsets.top, elementHeight, outerHeight(anchor), viewportHeight / zoomLevel, origins[0], positions[0], wrapperHeight);\n }\n\n if (collisions[1] === \"flip\") {\n location.left += that._flip(offsets.left, outerWidth(element), outerWidth(anchor), viewportWidth / zoomLevel, origins[1], positions[1], outerWidth(wrapper));\n }\n\n element.css(POSITION, ABSOLUTE);\n wrapper.css(location);\n\n return (location.left != flipPos.left || location.top != flipPos.top);\n },\n\n _align: function(origin, position) {\n var that = this,\n element = that.wrapper,\n anchor = $(that.options.anchor),\n verticalOrigin = origin[0],\n horizontalOrigin = origin[1],\n verticalPosition = position[0],\n horizontalPosition = position[1],\n anchorOffset = getOffset(anchor),\n appendTo = $(that.options.appendTo),\n appendToOffset,\n width = outerWidth(element),\n height = outerHeight(element) || outerHeight(element.children().first()),\n anchorWidth = outerWidth(anchor),\n anchorHeight = outerHeight(anchor),\n top = that.options.omitOriginOffsets ? 0 : anchorOffset.top,\n left = that.options.omitOriginOffsets ? 0 : anchorOffset.left,\n round = Math.round;\n\n if (appendTo[0] != document.body) {\n appendToOffset = getOffset(appendTo);\n top -= appendToOffset.top;\n left -= appendToOffset.left;\n }\n\n\n if (verticalOrigin === BOTTOM) {\n top += anchorHeight;\n }\n\n if (verticalOrigin === CENTER) {\n top += round(anchorHeight / 2);\n }\n\n if (verticalPosition === BOTTOM) {\n top -= height;\n }\n\n if (verticalPosition === CENTER) {\n top -= round(height / 2);\n }\n\n if (horizontalOrigin === RIGHT) {\n left += anchorWidth;\n }\n\n if (horizontalOrigin === CENTER) {\n left += round(anchorWidth / 2);\n }\n\n if (horizontalPosition === RIGHT) {\n left -= width;\n }\n\n if (horizontalPosition === CENTER) {\n left -= round(width / 2);\n }\n\n return {\n top: top,\n left: left\n };\n }\n });\n\n ui.plugin(Popup);\n\n var stableSort = kendo.support.stableSort;\n var tabKeyTrapNS = \"kendoTabKeyTrap\";\n var focusableNodesSelector = \"a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex], *[contenteditable]\";\n var TabKeyTrap = Class.extend({\n init: function(element) {\n this.element = $(element);\n this.element.autoApplyNS(tabKeyTrapNS);\n },\n\n trap: function() {\n this.element.on(\"keydown\", proxy(this._keepInTrap, this));\n },\n\n removeTrap: function() {\n this.element.kendoDestroy(tabKeyTrapNS);\n },\n\n destroy: function() {\n this.element.kendoDestroy(tabKeyTrapNS);\n this.element = undefined;\n },\n\n shouldTrap: function () {\n return true;\n },\n\n _keepInTrap: function(e) {\n if (e.which !== 9 || !this.shouldTrap() || e.isDefaultPrevented()) {\n return;\n }\n\n var elements = this._focusableElements();\n var sortedElements = this._sortFocusableElements(elements);\n var next = this._nextFocusable(e, sortedElements);\n\n this._focus(next);\n\n e.preventDefault();\n },\n _focusableElements: function(){\n var elements = this.element.find(focusableNodesSelector).filter(function(i, item){\n return item.tabIndex >= 0 && $(item).is(':visible') && !$(item).is('[disabled]');\n });\n\n if (this.element.is(\"[tabindex]\")) {\n elements.push(this.element[0]);\n }\n\n return elements;\n },\n _sortFocusableElements: function(elements){\n var sortedElements;\n\n if (stableSort) {\n sortedElements = elements.sort(function(prev, next) {\n return prev.tabIndex - next.tabIndex;\n });\n } else {\n var attrName = \"__k_index\";\n elements.each(function(i, item){\n item.setAttribute(attrName, i);\n });\n\n sortedElements = elements.sort(function(prev, next) {\n return prev.tabIndex === next.tabIndex ?\n parseInt(prev.getAttribute(attrName), 10) - parseInt(next.getAttribute(attrName), 10) :\n prev.tabIndex - next.tabIndex;\n });\n\n elements.removeAttr(attrName);\n }\n\n return sortedElements;\n },\n _nextFocusable: function(e, elements){\n var count = elements.length;\n var current = elements.index(e.target);\n\n return elements.get((current + (e.shiftKey ? -1 : 1)) % count);\n },\n _focus: function(element){\n if (element.nodeName == \"IFRAME\") {\n element.contentWindow.document.body.focus();\n return;\n }\n\n element.focus();\n\n if (element.nodeName == \"INPUT\" && element.setSelectionRange && this._haveSelectionRange(element)) {\n element.setSelectionRange(0, element.value.length);\n }\n },\n _haveSelectionRange: function(element){\n var elementType = element.type.toLowerCase();\n\n return elementType === \"text\" || elementType === \"search\" ||\n elementType === \"url\" || elementType === \"tel\" ||\n elementType === \"password\";\n }\n });\n ui.Popup.TabKeyTrap = TabKeyTrap;\n})(window.kendo.jQuery);\n\n\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define) {\n define('kendo.list',[ \"./kendo.data\", \"./kendo.popup\" ], f);\n})(function() {\n\nvar __meta__ = { // jshint ignore:line\n id: \"list\",\n name: \"List\",\n category: \"framework\",\n depends: [ \"data\", \"popup\" ],\n hidden: true\n};\n\n/*jshint evil: true*/\n(function($, undefined) {\n var kendo = window.kendo,\n ui = kendo.ui,\n outerHeight = kendo._outerHeight,\n percentageUnitsRegex = /^\\d+(\\.\\d+)?%$/i,\n Widget = ui.Widget,\n keys = kendo.keys,\n support = kendo.support,\n htmlEncode = kendo.htmlEncode,\n activeElement = kendo._activeElement,\n outerWidth = kendo._outerWidth,\n ObservableArray = kendo.data.ObservableArray,\n ID = \"id\",\n CHANGE = \"change\",\n FOCUSED = \"k-focus\",\n HOVER = \"k-hover\",\n KSELECTED = \"k-selected\",\n LOADING = \"k-i-loading\",\n LIST = \"k-list\",\n TABLE = \"k-table\",\n DATA_TABLE = \"k-data-table\",\n TABLE_MD = \"k-table-md\",\n LIST_UL = \"k-list-ul\",\n TABLE_LIST = \"k-table-list\",\n FIXED_GROUP_HEADER = \".k-list-group-sticky-header\",\n GROUP_LABEL = \".k-list-item-group-label\",\n ITEMSELECTOR = \".k-list-item\",\n LABELIDPART = \"_label\",\n OPEN = \"open\",\n CLOSE = \"close\",\n CASCADE = \"cascade\",\n SELECT = \"select\",\n CLICK = \"click\",\n MOUSELEAVE = \"mouseleave\",\n MOUSEENTER = \"mouseenter\",\n ACTIVATE = \"activate\",\n DEACTIVATE = \"deactivate\",\n DATA_BINDING = \"dataBinding\",\n DATA_BOUND = \"dataBound\",\n SELECTED_ITEM_CHANGE = \"selectedItemChange\",\n SELECTED = \"selected\",\n REQUESTSTART = \"requestStart\",\n REQUESTEND = \"requestEnd\",\n BLUR = \"blur\",\n FOCUS = \"focus\",\n FOCUSOUT = \"focusout\",\n extend = $.extend,\n proxy = $.proxy,\n isArray = Array.isArray,\n browser = support.browser,\n HIDDENCLASS = \"k-hidden\",\n WIDTH = \"width\",\n TEXT = \"text\",\n VALUE = \"value\",\n isIE = browser.msie,\n quotRegExp = /\"/g,\n alternativeNames = {\n \"ComboBox\": [ \"DropDownList\", \"MultiColumnComboBox\" ],\n \"DropDownList\": [ \"ComboBox\", \"MultiColumnComboBox\" ],\n \"MultiColumnComboBox\": [ \"ComboBox\", \"DropDownList\" ]\n },\n\n UL_EL = '
      ',\n LIST_EL = \"
      \",\n NO_DATA_EL = '
      ',\n LIST_FOOTER_EL = '
      ',\n TABLE_FOOTER_EL = '
      ' +\n '' +\n '
      ',\n MOUSEDOWN = \"mousedown\",\n LIST_SUFFIX = \"-list\",\n LISTBOX_SUFFIX = \"_listbox\",\n ARIA_LABELLEDBY = \"aria-labelledby\",\n ARIA_LABEL = \"aria-label\",\n ARIA_ACTIVEDESCENDANT = \"aria-activedescendant\",\n ARIA_AUTOCOMPLETE = \"aria-autocomplete\",\n ARIA_CONTROLS = \"aria-controls\",\n ARIA_LIVE = \"aria-live\",\n ARIA_EXPANDED = \"aria-expanded\",\n ARIA_HIDDEN = \"aria-hidden\",\n ARIA_BUSY = \"aria-busy\",\n ARIA_MULTISELECTABLE = \"aria-multiselectable\",\n ARIA_SELECTED = \"aria-selected\",\n GROUP_ROW_SEL = \".k-table-group-row\";\n\n var List = kendo.ui.DataBoundWidget.extend({\n init: function(element, options) {\n var that = this,\n id;\n\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n\n that._isSelect = element.is(SELECT);\n\n if (that._isSelect && that.element[0].length) {\n if (!options.dataSource) {\n options.dataTextField = options.dataTextField || TEXT;\n options.dataValueField = options.dataValueField || VALUE;\n }\n }\n\n that._listSize = kendo.cssProperties.getValidClass({\n widget: \"List\",\n propName: \"size\",\n value: options.size\n });\n\n that.ul = $(UL_EL).attr({\n tabIndex: -1,\n \"aria-hidden\": true\n });\n\n that.list = $(LIST_EL)\n .addClass(that._listSize)\n .append(that.ul);\n\n id = element.attr(ID);\n\n if (!id) {\n id = kendo.guid();\n }\n\n that.list.attr(ID, id + LIST_SUFFIX);\n that.ul.attr(ID, id + LISTBOX_SUFFIX);\n\n if (options.columns && options.columns.length) {\n that.list.removeClass(LIST).addClass(DATA_TABLE);\n that.list.removeClass(that._listSize).addClass(TABLE_MD);\n\n that.ul.removeClass(LIST_UL).addClass(TABLE);\n\n that._columnsHeader();\n }\n\n that._header();\n that._noData();\n that._footer();\n that._accessors();\n that._initValue();\n },\n\n options: {\n valuePrimitive: false,\n footerTemplate: \"\",\n headerTemplate: \"\",\n noDataTemplate: true,\n size: \"medium\",\n messages: {\n \"noData\": \"No data found.\",\n \"clear\": \"clear\"\n }\n },\n\n setOptions: function(options) {\n Widget.fn.setOptions.call(this, options);\n\n if (options && options.enable !== undefined) {\n options.enabled = options.enable;\n }\n\n if (options.columns && options.columns.length) {\n this._columnsHeader();\n }\n\n this._header();\n this._noData();\n this._footer();\n\n this._renderFooter();\n this._renderNoData();\n },\n\n focus: function() {\n this._focused.trigger(FOCUS);\n },\n\n readonly: function(readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n },\n\n enable: function(enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n },\n\n _header: function() {\n var list = this;\n var header = $(list.header);\n var template = list.options.headerTemplate;\n\n this._angularElement(header, \"cleanup\");\n kendo.destroy(header);\n header.remove();\n\n if (!template) {\n list.header = null;\n return;\n }\n\n var headerTemplate = typeof template !== \"function\" ? kendo.template(template) : template;\n header = $(headerTemplate({}));\n\n list.header = header[0] ? header : null;\n\n if (list.list.parent.length > 0) {\n list.list.before(header);\n }\n\n this._angularElement(list.header, \"compile\");\n },\n\n _columnsHeader: function() {\n var list = this;\n var columnsHeader = $(list.columnsHeader);\n\n this._angularElement(columnsHeader, \"cleanup\");\n kendo.destroy(columnsHeader);\n columnsHeader.remove();\n\n var header = \"
      \";\n var colGroup = \"\";\n var row = \"\";\n\n for (var idx = 0; idx < this.options.columns.length; idx++) {\n var currentColumn = this.options.columns[idx];\n var title = currentColumn.title || currentColumn.field || \"\";\n var template = currentColumn.headerTemplate || title;\n var columnsHeaderTemplate = typeof template !== \"function\" ? kendo.template(template) : template;\n var currentWidth = currentColumn.width;\n var currentWidthInt = parseInt(currentWidth, 10);\n var widthStyle = '';\n\n if (currentWidth && !isNaN(currentWidthInt)) {\n widthStyle += \"style='width:\";\n widthStyle += currentWidthInt;\n widthStyle += percentageUnitsRegex.test(currentWidth) ? \"%\" : \"px\";\n widthStyle += \";'\";\n }\n\n colGroup += \"\";\n\n row += \"\";\n }\n colGroup += \"\";\n row += \"\";\n header += colGroup;\n header += \"\";\n header += row;\n header += \"
      \";\n\n list.columnsHeader = columnsHeader = $(header);\n list.list.prepend(columnsHeader);\n\n this._angularElement(list.columnsHeader, \"compile\");\n },\n\n _noData: function() {\n var list = this;\n var noData = $(list.noData);\n var template = list.options.noDataTemplate === true ? list.options.messages.noData : list.options.noDataTemplate;\n\n list.angular(\"cleanup\", function() { return { elements: noData }; });\n kendo.destroy(noData);\n noData.remove();\n\n if (!template) {\n list.noData = null;\n return;\n }\n\n list.noData = $(NO_DATA_EL).appendTo(list.list);\n list.noDataTemplate = typeof template !== \"function\" ? kendo.template(template) : template;\n },\n\n _footer: function() {\n var list = this;\n var footer = $(list.footer);\n var template = list.options.footerTemplate;\n var footerEl = this.options.columns && this.options.columns.length ? TABLE_FOOTER_EL : LIST_FOOTER_EL;\n\n this._angularElement(footer, \"cleanup\");\n kendo.destroy(footer);\n footer.remove();\n\n if (!template) {\n list.footer = null;\n return;\n }\n\n list.footer = $(footerEl).appendTo(list.list);\n list.footerTemplate = typeof template !== \"function\" ? kendo.template(template) : template;\n },\n\n _listOptions: function(options) {\n var that = this;\n var currentOptions = that.options;\n var virtual = currentOptions.virtual;\n var changeEventOption = { change: proxy(that._listChange, that) };\n var listBoundHandler = proxy(that._listBound, that);\n var focusedElm = that._focused;\n var inputId = that.element.attr(\"id\");\n var labelElm = $(\"label[for=\\\"\" + that.element.attr(\"id\") + \"\\\"]\");\n var labelledBy = focusedElm.attr(ARIA_LABELLEDBY);\n\n if (!labelledBy && labelElm.length) {\n labelledBy = labelElm.attr(\"id\") || that._generateLabelId(labelElm, inputId || kendo.guid());\n }\n\n virtual = typeof virtual === \"object\" ? virtual : {};\n\n options = $.extend({\n autoBind: false,\n selectable: true,\n dataSource: that.dataSource,\n click: proxy(that._click, that),\n activate: proxy(that._activateItem, that),\n columns: currentOptions.columns,\n deactivate: proxy(that._deactivateItem, that),\n dataBinding: function() {\n that.trigger(DATA_BINDING);\n },\n dataBound: listBoundHandler,\n height: currentOptions.height,\n dataValueField: currentOptions.dataValueField,\n dataTextField: currentOptions.dataTextField,\n groupTemplate: currentOptions.groupTemplate,\n fixedGroupTemplate: currentOptions.fixedGroupTemplate,\n template: currentOptions.template,\n ariaLabel: focusedElm.attr(ARIA_LABEL),\n ariaLabelledBy: labelledBy,\n listSize: that._listSize\n }, options, virtual, changeEventOption);\n\n if (!options.template) {\n options.template = \"#:\" + kendo.expr(options.dataTextField, \"data\") + \"#\";\n }\n\n if (currentOptions.$angular) {\n options.$angular = currentOptions.$angular;\n }\n\n return options;\n },\n\n _initList: function() {\n var that = this;\n var listOptions = that._listOptions({\n selectedItemChange: proxy(that._listChange, that)\n });\n\n if (!that.options.virtual) {\n that.listView = new kendo.ui.StaticList(that.ul, listOptions);\n } else {\n that.listView = new kendo.ui.VirtualList(that.ul, listOptions);\n that.list.addClass(\"k-virtual-list\");\n }\n\n that.listView.bind(\"listBound\", proxy(that._listBound, that));\n that._setListValue();\n },\n\n _setListValue: function(value) {\n value = value || this.options.value;\n\n if (value !== undefined) {\n this.listView.value(value)\n .done(proxy(this._updateSelectionState, this));\n }\n },\n\n _updateSelectionState: $.noop,\n\n _listMousedown: function(e) {\n if (!this.filterInput || this.filterInput[0] !== e.target) {\n e.preventDefault();\n }\n },\n\n _isFilterEnabled: function() {\n var filter = this.options.filter;\n return filter && filter !== \"none\";\n },\n\n _hideClear: function() {\n var list = this;\n\n if (list._clear) {\n list._clear.addClass(HIDDENCLASS);\n }\n },\n\n _showClear: function() {\n if (this._clear) {\n this._clear.removeClass(HIDDENCLASS);\n }\n },\n\n _clearValue: function() {\n this._clearText();\n this._accessor(\"\");\n this.listView.value([]);\n\n if (this._isSelect) {\n this._customOption = undefined;\n }\n\n if (this._isFilterEnabled() && !this.options.enforceMinLength) {\n this._filter({ word: \"\", open: false });\n\n if (this.options.highlightFirst) {\n this.listView.focus(0);\n }\n }\n this._change();\n },\n\n _clearText: function() {\n this.text(\"\");\n },\n\n _clearFilter: function() {\n if (!this.options.virtual) {\n this.listView.bound(false);\n }\n\n this._filterSource();\n },\n\n _filterSource: function(filter, force) {\n var that = this;\n var options = that.options;\n var isMultiColumnFiltering = options.filterFields && filter && filter.logic && filter.filters && filter.filters.length;\n var dataSource = that.dataSource;\n var expression = extend({}, dataSource.filter() || {});\n var resetPageSettings = filter || (expression.filters && expression.filters.length && !filter);\n\n var removed = removeFiltersForField(expression, options.dataTextField);\n\n this._clearFilterExpressions(expression);\n\n if ((filter || removed) && that.trigger(\"filtering\", { filter: filter })) {\n return $.Deferred().reject().promise();\n }\n\n var newExpression = {\n filters: [],\n logic: \"and\"\n };\n\n if (isMultiColumnFiltering) {\n newExpression.filters.push(filter);\n } else {\n this._pushFilterExpression(newExpression, filter);\n }\n\n if (isValidFilterExpr(expression)) {\n if (newExpression.logic === expression.logic) {\n newExpression.filters = newExpression.filters.concat(expression.filters);\n } else {\n newExpression.filters.push(expression);\n }\n }\n\n if (that._cascading) {\n this.listView.setDSFilter(newExpression);\n }\n\n var dataSourceState = extend({}, {\n page: resetPageSettings ? 1 : dataSource.page(),\n pageSize: resetPageSettings ? dataSource.options.pageSize : dataSource.pageSize(),\n sort: dataSource.sort(),\n filter: dataSource.filter(),\n group: dataSource.group(),\n aggregate: dataSource.aggregate()\n }, { filter: newExpression });\n\n return dataSource[force ? \"read\" : \"query\"](dataSource._mergeState(dataSourceState));\n },\n\n _pushFilterExpression: function(newExpression, filter) {\n if (isValidFilterExpr(filter) && filter.value !== \"\") {\n newExpression.filters.push(filter);\n }\n },\n\n _clearFilterExpressions: function(expression) {\n if (!expression.filters) {\n return;\n }\n\n var filtersToRemove;\n\n for (var i = 0; i < expression.filters.length; i++) {\n if (\"fromFilter\" in expression.filters[i]) {\n filtersToRemove = i;\n }\n }\n\n if (!isNaN(filtersToRemove)) {\n expression.filters.splice(filtersToRemove, 1);\n }\n },\n\n _angularElement: function(element, action) {\n if (!element) {\n return;\n }\n\n this.angular(action, function() {\n return { elements: element };\n });\n },\n\n _renderNoData: function() {\n var list = this;\n var noData = list.noData;\n\n if (!noData) {\n return;\n }\n\n this._angularElement(noData, \"cleanup\");\n noData.html(list.noDataTemplate({ instance: list }));\n this._angularElement(noData, \"compile\");\n },\n\n _toggleNoData: function(show) {\n $(this.noData).toggle(show);\n },\n\n _toggleHeader: function(show) {\n var groupHeader = this.listView.content.prev(FIXED_GROUP_HEADER);\n groupHeader.toggle(show);\n },\n\n _renderFooter: function() {\n var list = this,\n footer = list.footer ? this.options.columns && this.options.columns.length ? list.footer.children().first() : list.footer : null;\n\n if (!footer) {\n return;\n }\n\n this._angularElement(footer, \"cleanup\");\n footer.html(list.footerTemplate({ instance: list }));\n this._angularElement(footer, \"compile\");\n },\n\n _allowOpening: function() {\n return this.options.noDataTemplate || this.dataSource.flatView().length;\n },\n\n _initValue: function() {\n var that = this,\n value = that.options.value;\n\n if (value !== null) {\n that.element.val(value);\n } else {\n value = that._accessor();\n that.options.value = value;\n }\n\n that._old = value;\n },\n\n _ignoreCase: function() {\n var that = this,\n model = that.dataSource.reader.model,\n field;\n\n if (model && model.fields) {\n field = model.fields[that.options.dataTextField];\n\n if (field && field.type && field.type !== \"string\") {\n that.options.ignoreCase = false;\n }\n }\n },\n\n _focus: function(candidate) {\n return this.listView.focus(candidate);\n },\n\n _filter: function(options) {\n var that = this;\n var widgetOptions = that.options;\n var word = options.word;\n var filterFields = widgetOptions.filterFields;\n var field = widgetOptions.dataTextField;\n var expression;\n\n if (filterFields && filterFields.length) {\n expression = {\n logic: \"or\",\n filters: [],\n fromFilter: true\n };\n for (var i = 0; i < filterFields.length; i++) {\n this._pushFilterExpression(expression, that._buildExpression(word, filterFields[i]));\n }\n } else {\n expression = that._buildExpression(word, field);\n }\n\n that._open = options.open;\n that._filterSource(expression);\n },\n\n _buildExpression: function(value, field) {\n var that = this;\n var widgetOptions = that.options;\n var ignoreCase = widgetOptions.ignoreCase;\n var accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering;\n\n return {\n value: ignoreCase ? (accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase()) : value,\n field: field,\n operator: widgetOptions.filter,\n ignoreCase: ignoreCase\n };\n },\n\n _clearButton: function() {\n var list = this;\n var clearTitle = list.options.messages.clear;\n\n if (!list._clear) {\n list._clear = $('').attr({\n \"role\": \"button\",\n \"tabIndex\": -1\n });\n }\n\n if (!list.options.clearButton) {\n list._clear.remove();\n }\n this._hideClear();\n },\n\n search: function(word) {\n var options = this.options;\n\n word = typeof word === \"string\" ? word : this._inputValue();\n\n clearTimeout(this._typingTimeout);\n\n if ((!options.enforceMinLength && !word.length) || word.length >= options.minLength) {\n this._state = \"filter\";\n if (this.listView) {\n this.listView._emptySearch = !kendo.trim(word).length;\n }\n\n if (!this._isFilterEnabled()) {\n this._searchByWord(word);\n } else {\n this._filter({ word: word, open: true });\n }\n }\n },\n\n current: function(candidate) {\n return this._focus(candidate);\n },\n\n items: function() {\n return this.ul[0].children;\n },\n\n destroy: function() {\n var that = this;\n var ns = that.ns;\n\n Widget.fn.destroy.call(that);\n\n that._unbindDataSource();\n\n that.listView.destroy();\n that.list.off(ns);\n\n that.popup.destroy();\n\n if (that._form) {\n that._form.off(\"reset\", that._resetHandler);\n }\n },\n\n dataItem: function(index) {\n var that = this;\n\n if (index === undefined) {\n return that.listView.selectedDataItems()[0];\n }\n\n if (typeof index !== \"number\") {\n if (that.options.virtual) {\n return that.dataSource.getByUid($(index).data(\"uid\"));\n }\n\n index = $(that.items()).index(index);\n }\n\n return that.dataSource.flatView()[index];\n },\n\n _activateItem: function() {\n var current = this.listView.focus();\n if (current) {\n this._focused.add(this.filterInput).attr(ARIA_ACTIVEDESCENDANT, current.attr(\"id\"));\n }\n },\n\n _deactivateItem: function() {\n this._focused.add(this.filterInput).removeAttr(ARIA_ACTIVEDESCENDANT);\n },\n\n _accessors: function() {\n var that = this;\n var element = that.element;\n var options = that.options;\n var getter = kendo.getter;\n var textField = element.attr(kendo.attr(\"text-field\"));\n var valueField = element.attr(kendo.attr(\"value-field\"));\n\n if (!options.dataTextField && textField) {\n options.dataTextField = textField;\n }\n\n if (!options.dataValueField && valueField) {\n options.dataValueField = valueField;\n }\n\n that._text = getter(options.dataTextField);\n that._value = getter(options.dataValueField);\n },\n\n _aria: function(id) {\n var that = this,\n options = that.options,\n element = that._focused,\n autocomplete;\n\n if (options.suggest !== undefined) {\n if (options.filter === \"none\") {\n if (options.suggest === true) {\n autocomplete = \"inline\";\n } else {\n autocomplete = \"none\";\n }\n } else {\n if (options.suggest === true) {\n autocomplete = \"both\";\n } else {\n autocomplete = \"list\";\n }\n }\n\n element.attr(ARIA_AUTOCOMPLETE, autocomplete);\n }\n\n id = id ? id + \" \" + that.ul[0].id : that.ul[0].id;\n\n element.attr({\n \"aria-owns\": id,\n \"aria-controls\": id\n });\n\n if (that.filterInput && that.filterInput.length > 0) {\n that.filterInput.attr(ARIA_CONTROLS, id);\n }\n\n that.ul.attr(ARIA_LIVE, !that._isFilterEnabled() ? \"off\" : \"polite\");\n\n that._ariaLabel();\n },\n\n _ariaLabel: function() {\n var that = this;\n var focusedElm = that._focused;\n var inputElm = that.element;\n var inputId = inputElm.attr(\"id\");\n var labelElm = $(\"label[for=\\\"\" + inputId + \"\\\"]\");\n var ariaLabel = inputElm.attr(ARIA_LABEL);\n var ariaLabelledBy = inputElm.attr(ARIA_LABELLEDBY);\n\n if (focusedElm === inputElm) {\n return;\n }\n\n if (ariaLabel) {\n focusedElm.attr(ARIA_LABEL, ariaLabel);\n } else if (ariaLabelledBy) {\n focusedElm.attr(ARIA_LABELLEDBY, ariaLabelledBy);\n } else if (labelElm.length) {\n var labelId = labelElm.attr(\"id\") || that._generateLabelId(labelElm, inputId || kendo.guid());\n focusedElm.attr(ARIA_LABELLEDBY, labelId);\n }\n },\n\n _generateLabelId: function(label, inputId) {\n var labelId = inputId + LABELIDPART;\n label.attr(\"id\", labelId);\n\n return labelId;\n },\n\n _blur: function() {\n var that = this;\n\n that._change();\n that.close();\n that._userTriggered = false;\n },\n\n _isValueChanged: function(value) {\n return value !== unifyType(this._old, typeof value);\n },\n\n _change: function() {\n var that = this;\n var index = that.selectedIndex;\n var optionValue = that.options.value;\n var value = that.value();\n var trigger;\n\n if (that._isSelect && !that.listView.bound() && optionValue) {\n value = optionValue;\n }\n\n if (that._isValueChanged(value)) {\n trigger = true;\n } else if (that._valueBeforeCascade !== undefined && that._valueBeforeCascade !== unifyType(that._old, typeof that._valueBeforeCascade) && that._userTriggered) {\n trigger = true;\n } else if (index !== undefined && index !== that._oldIndex && !that.listView.isFiltered()) {\n trigger = true;\n }\n\n if (trigger) {\n\n if (that._old === null || that._old === \"\" || value === \"\") {\n that._valueBeforeCascade = that._old = value;\n } else {\n if (that.dataItem()) {\n that._valueBeforeCascade = that._old = that.options.dataValueField ? that.dataItem()[that.options.dataValueField] : that.dataItem();\n } else {\n that._valueBeforeCascade = that._old = null;\n }\n }\n that._oldIndex = index;\n\n if (!that._typing) {\n // trigger the DOM change event so any subscriber gets notified\n that.element.trigger(CHANGE);\n }\n\n that.trigger(CHANGE);\n }\n\n that.typing = false;\n },\n\n _data: function() {\n return this.dataSource.view();\n },\n\n _enable: function() {\n var that = this,\n options = that.options,\n disabled = that.element.is(\"[disabled]\");\n\n if (options.enable !== undefined) {\n options.enabled = options.enable;\n }\n\n if (!options.enabled || disabled) {\n that.enable(false);\n } else {\n that.readonly(that.element.is(\"[readonly]\"));\n }\n },\n\n _dataValue: function(dataItem) {\n var value = this._value(dataItem);\n\n if (value === undefined) {\n value = this._text(dataItem);\n }\n\n return value;\n },\n\n _offsetHeight: function() {\n var offsetHeight = 0;\n var siblings = this.listView.content.parent().prevAll(\":visible\");\n\n siblings.each(function() {\n var element = $(this);\n\n offsetHeight += outerHeight(element, true);\n });\n\n return offsetHeight;\n },\n\n _height: function(length) {\n var that = this;\n var list = that.list;\n var height = that.options.height;\n var visible = that.popup.visible();\n var isMccb = this.options.columns && this.options.columns.length;\n var offsetTop, popups;\n\n if (length || that.options.noDataTemplate) {\n // Check where animation container stays\n popups = list.parent().add(list.closest(\".k-animation-container\")).show();\n\n if (!list.parent().is(\":visible\")) {\n popups.hide();\n return;\n }\n\n height = that.listView.content[0].scrollHeight > height ? height : \"auto\";\n\n popups.height(height);\n\n if (height !== \"auto\") {\n offsetTop = that._offsetHeight();\n\n height = height - offsetTop;\n\n if (isMccb) {\n height = height - (outerHeight($(that.footer)) || 0) - (outerHeight($(that.columnsHeader)) || 0);\n }\n }\n\n if (isMccb) {\n that.listView.content.outerHeight(height);\n } else {\n that.listView.content.parent().outerHeight(height);\n }\n\n if (!visible) {\n popups.hide();\n }\n }\n\n return height;\n },\n\n _openHandler: function(e) {\n this._adjustListWidth();\n\n if (this.trigger(OPEN)) {\n e.preventDefault();\n } else {\n this._focused.attr(ARIA_EXPANDED, true);\n this.ul.attr(ARIA_HIDDEN, false);\n }\n },\n\n _adjustListWidth: function() {\n var that = this,\n list = that.list.parent(),\n width = list[0].style.width,\n wrapper = that.wrapper,\n computedStyle, computedWidth;\n\n if (!list.data(WIDTH) && width) {\n return;\n }\n\n computedStyle = window.getComputedStyle ? window.getComputedStyle(wrapper[0], null) : 0;\n computedWidth = parseFloat(computedStyle && computedStyle.width) || outerWidth(wrapper);\n\n if (computedStyle && browser.msie) { // getComputedStyle returns different box in IE.\n computedWidth += parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight) + parseFloat(computedStyle.borderLeftWidth) + parseFloat(computedStyle.borderRightWidth);\n }\n\n if (list.css(\"box-sizing\") !== \"border-box\") {\n width = computedWidth - (outerWidth(list) - list.width());\n } else {\n width = computedWidth;\n }\n\n list.css({\n fontFamily: wrapper.css(\"font-family\"),\n width: that.options.autoWidth ? \"auto\" : width,\n minWidth: width,\n whiteSpace: that.options.autoWidth ? \"nowrap\" : \"normal\"\n })\n .data(WIDTH, width);\n\n return true;\n },\n\n _closeHandler: function(e) {\n if (this.trigger(CLOSE)) {\n e.preventDefault();\n } else {\n this._focused.attr(ARIA_EXPANDED, false);\n this.ul.attr(ARIA_HIDDEN, true);\n }\n },\n\n _focusItem: function() {\n var listView = this.listView;\n var noFocusedItem = !listView.focus();\n var index = last(listView.select());\n\n if (index === undefined && this.options.highlightFirst && noFocusedItem) {\n index = 0;\n }\n\n if (index !== undefined) {\n listView.focus(index);\n } else if (noFocusedItem) {\n listView.scrollToIndex(0);\n }\n },\n\n _calculateGroupPadding: function(height) {\n var li = this.ul.children(\".k-first\").first();\n var groupHeader = this.listView.content.prev(FIXED_GROUP_HEADER);\n var padding = 0;\n var direction = 'right';\n\n if (groupHeader[0] && groupHeader[0].style.display !== \"none\") {\n if (height !== \"auto\") {\n padding = kendo.support.scrollbar();\n }\n\n if (this.element.parents('.k-rtl').length) {\n direction = 'left';\n }\n\n padding += parseFloat(li.css(\"border-\" + direction + \"-width\"), 10) + parseFloat(li.children(GROUP_LABEL).css(\"padding-\" + direction), 10);\n groupHeader.css(\"padding-\" + direction, padding);\n }\n },\n\n _calculatePopupHeight: function(force) {\n var height = this._height(this.dataSource.flatView().length || force);\n this._calculateGroupPadding(height);\n this._calculateColumnsHeaderPadding(height);\n },\n\n _calculateColumnsHeaderPadding: function(height) {\n if (this.options.columns && this.options.columns.length) {\n var list = this;\n var isRtl = support.isRtl(list.wrapper);\n var scrollbar = kendo.support.scrollbar();\n\n list.columnsHeader.css((isRtl ? \"padding-left\" : \"padding-right\"), height !== \"auto\" ? scrollbar : 0);\n }\n },\n\n _refreshScroll: function() {\n var listView = this.listView;\n var enableYScroll = listView.element.height() > listView.content.height();\n\n if (this.options.autoWidth) {\n listView.content.css({\n overflowX: \"hidden\",\n overflowY: enableYScroll ? \"scroll\" : \"auto\"\n });\n }\n },\n\n _resizePopup: function(force) {\n if (this.options.virtual) {\n return;\n }\n\n if (!this.popup.element.is(\":visible\")) {\n this.popup.one(\"open\", (function(force) {\n return proxy(function() {\n this._calculatePopupHeight(force);\n }, this);\n }).call(this, force));\n\n this.popup.one(ACTIVATE, proxy(this._refreshScroll, this));\n } else {\n this._calculatePopupHeight(force);\n }\n },\n\n _popup: function() {\n var list = this;\n\n list.list.wrap(\"
      \");\n\n list.popup = new ui.Popup(list.list.parent(), extend({}, list.options.popup, {\n anchor: list.wrapper,\n open: proxy(list._openHandler, list),\n close: proxy(list._closeHandler, list),\n animation: list.options.animation,\n isRtl: support.isRtl(list.wrapper),\n autosize: list.options.autoWidth\n }));\n\n list.popup.element.prepend(list.header)\n .on(MOUSEDOWN + this.ns, proxy(this._listMousedown, this));\n },\n\n _toggleHover: function(e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === MOUSEENTER);\n },\n\n _toggle: function(open, preventFocus) {\n var that = this;\n var touchEnabled = support.mobileOS && (support.touch || support.MSPointers || support.pointers);\n\n open = open !== undefined ? open : !that.popup.visible();\n\n if (!preventFocus && !touchEnabled && that._focused[0] !== activeElement()) {\n that._prevent = true;\n that._focused.trigger(FOCUS);\n that._prevent = false;\n }\n\n that[open ? OPEN : CLOSE]();\n },\n\n _triggerCascade: function() {\n var that = this;\n\n if (!that._cascadeTriggered || that.value() !== unifyType(that._cascadedValue, typeof that.value())) {\n that._cascadedValue = that.value();\n that._cascadeTriggered = true;\n that.trigger(CASCADE, { userTriggered: that._userTriggered });\n }\n },\n\n _triggerChange: function() {\n if (this._valueBeforeCascade !== this.value()) {\n this.trigger(CHANGE);\n }\n },\n\n _unbindDataSource: function() {\n var that = this;\n\n that.dataSource.unbind(REQUESTSTART, that._requestStartHandler)\n .unbind(REQUESTEND, that._requestEndHandler)\n .unbind(\"error\", that._errorHandler);\n },\n\n requireValueMapper: function(options, value) {\n var hasValue = (options.value instanceof Array ? options.value.length : options.value) || (value instanceof Array ? value.length : value);\n if (hasValue && options.virtual && typeof options.virtual.valueMapper !== \"function\") {\n throw new Error(\"ValueMapper is not provided while the value is being set. See http://docs.telerik.com/kendo-ui/controls/editors/combobox/virtualization#the-valuemapper-function\");\n }\n }\n });\n\n function unifyType(value, type) {\n if (value !== undefined && value !== \"\" && value !== null) {\n if (type === \"boolean\") {\n if (typeof value !== \"boolean\") {\n value = value.toString().toLowerCase() === \"true\";\n }\n value = Boolean(value);\n } else if (type === \"number\") {\n value = Number(value);\n } else if (type === \"string\") {\n value = value.toString();\n }\n }\n\n return value;\n }\n\n extend(List, {\n inArray: function(node, parentNode) {\n var idx, length, siblings = parentNode.children;\n\n if (!node || node.parentNode !== parentNode) {\n return -1;\n }\n\n for (idx = 0, length = siblings.length; idx < length; idx++) {\n if (node === siblings[idx]) {\n return idx;\n }\n }\n\n return -1;\n },\n unifyType: unifyType\n });\n\n kendo.ui.List = List;\n\n ui.Select = List.extend({\n init: function(element, options) {\n List.fn.init.call(this, element, options);\n this._initial = this.element.val();\n },\n\n setDataSource: function(dataSource) {\n var that = this;\n var parent;\n\n that.options.dataSource = dataSource;\n\n that._dataSource();\n\n if (that.listView.bound()) {\n that._initialIndex = null;\n that.listView._current = null;\n }\n\n that.listView.setDataSource(that.dataSource);\n\n if (that.options.autoBind) {\n that.dataSource.fetch();\n }\n\n parent = that._parentWidget();\n\n if (parent) {\n that._cascadeSelect(parent);\n }\n },\n\n close: function() {\n this.popup.close();\n },\n\n select: function(candidate) {\n var that = this;\n\n if (candidate === undefined) {\n return that.selectedIndex;\n } else {\n return that._select(candidate).done(function() {\n that._cascadeValue = that._old = that._accessor();\n that._oldIndex = that.selectedIndex;\n });\n }\n },\n\n _accessor: function(value, idx) {\n return this[this._isSelect ? \"_accessorSelect\" : \"_accessorInput\"](value, idx);\n },\n\n _accessorInput: function(value) {\n var element = this.element[0];\n\n if (value === undefined) {\n return element.value;\n } else {\n if (value === null) {\n value = \"\";\n }\n element.value = value;\n }\n },\n\n _accessorSelect: function(value, idx) {\n var element = this.element[0];\n var hasValue;\n\n if (value === undefined) {\n return getSelectedOption(element).value || \"\";\n }\n\n getSelectedOption(element).selected = false;\n\n if (idx === undefined) {\n idx = -1;\n }\n\n hasValue = (value !== null && value !== \"\");\n\n if (hasValue && idx == -1) {\n this._custom(value);\n } else {\n if (value) {\n element.value = value;\n } else {\n element.selectedIndex = idx;\n }\n }\n },\n\n _syncValueAndText: function() {\n return true;\n },\n\n _custom: function(value) {\n var that = this;\n var element = that.element;\n var custom = that._customOption;\n\n if (!custom) {\n custom = $(\"\";\n options += option;\n }\n\n element.html(options);\n\n if (value !== undefined) {\n htmlElement.value = value;\n if (htmlElement.value && !value) {\n htmlElement.selectedIndex = -1;\n }\n }\n\n if (htmlElement.selectedIndex !== -1) {\n option = getSelectedOption(htmlElement);\n\n if (option) {\n option.setAttribute(SELECTED, SELECTED);\n }\n }\n },\n\n _reset: function() {\n var that = this,\n element = that.element,\n formId = element.attr(\"form\"),\n form = formId ? $(\"#\" + formId) : element.closest(\"form\");\n\n if (form[0]) {\n that._resetHandler = function() {\n setTimeout(function() {\n that.value(that._initial);\n });\n };\n\n that._form = form.on(\"reset\", that._resetHandler);\n }\n },\n\n _parentWidget: function() {\n var name = this.options.name;\n\n if (!this.options.cascadeFrom) {\n return;\n }\n\n var parentElement = $(\"#\" + this.options.cascadeFrom);\n var parent = parentElement.data(\"kendo\" + name);\n\n if (!parent) {\n for (var i = 0; i < alternativeNames[name].length; i += 1) {\n parent = parentElement.data(\"kendo\" + alternativeNames[name][i]);\n\n if (!!parent) {\n break;\n }\n }\n }\n\n return parent;\n },\n\n _cascade: function() {\n var that = this;\n var options = that.options;\n var cascade = options.cascadeFrom;\n var parent;\n\n if (cascade) {\n parent = that._parentWidget();\n\n if (!parent) {\n return;\n }\n\n that._cascadeHandlerProxy = proxy(that._cascadeHandler, that);\n that._cascadeFilterRequests = [];\n\n options.autoBind = false;\n\n parent.bind(\"set\", function() { //will cascade\n that.one(\"set\", function(e) { //get your value\n that._selectedValue = e.value || that._accessor();\n });\n });\n\n parent.first(CASCADE, that._cascadeHandlerProxy);\n\n //refresh was called\n if (parent.listView.bound()) {\n that._toggleCascadeOnFocus();\n that._cascadeSelect(parent);\n } else {\n parent.one(DATA_BOUND, function() {\n that._toggleCascadeOnFocus();\n if (parent.popup.visible()) {\n parent._focused.trigger(FOCUS);\n }\n });\n\n if (!parent.value()) {\n that.enable(false);\n }\n }\n }\n },\n\n _toggleCascadeOnFocus: function() {\n var that = this;\n var parent = that._parentWidget();\n var focusout = isIE && parent instanceof ui.DropDownList ? BLUR : FOCUSOUT;\n\n parent._focused.add(parent.filterInput).on(FOCUS, function() {\n parent.unbind(CASCADE, that._cascadeHandlerProxy);\n parent.unbind(CHANGE, that._cascadeHandlerProxy);\n parent.first(CHANGE, that._cascadeHandlerProxy);\n });\n\n parent._focused.add(parent.filterInput).on(focusout, function() {\n parent.unbind(CHANGE, that._cascadeHandlerProxy);\n parent.unbind(CASCADE, that._cascadeHandlerProxy);\n parent.first(CASCADE, that._cascadeHandlerProxy);\n });\n },\n\n _cascadeHandler: function(e) {\n var parent = this._parentWidget();\n var valueBeforeCascade = this.value();\n\n this._userTriggered = e.userTriggered || parent._userTriggered;\n\n if (this.listView.bound()) {\n this._clearSelection(parent, true);\n }\n\n this._cascadeSelect(parent, valueBeforeCascade);\n },\n\n _cascadeChange: function(parent) {\n var that = this;\n var value = that._accessor() || that._selectedValue;\n\n if (!that._cascadeFilterRequests.length) {\n that._selectedValue = null;\n }\n\n if (that._userTriggered) {\n that._clearSelection(parent, true);\n } else if (value) {\n if (value !== unifyType(that.listView.value()[0], typeof value)) {\n that.value(value);\n }\n\n if (!that.dataSource.view()[0] || that.selectedIndex === -1) {\n that._clearSelection(parent, true);\n }\n } else if (that.dataSource.flatView().length) {\n that.select(that.options.index);\n }\n\n that.enable();\n that._triggerCascade();\n that._triggerChange();\n that._userTriggered = false;\n },\n\n _cascadeSelect: function(parent, valueBeforeCascade) {\n var that = this;\n var dataItem = parent.dataItem();\n var filterValue = dataItem ? dataItem[that.options.cascadeFromParentField] || parent._value(dataItem) : null;\n var valueField = that.options.cascadeFromField || parent.options.dataValueField;\n var expressions;\n\n that._valueBeforeCascade = valueBeforeCascade !== undefined ? valueBeforeCascade : that.value();\n\n if (filterValue || filterValue === 0) {\n expressions = that.dataSource.filter() || {};\n removeFiltersForField(expressions, valueField);\n\n var handler = function() {\n var currentHandler = that._cascadeFilterRequests.shift();\n if (currentHandler) {\n that.unbind('dataBound', currentHandler);\n }\n\n currentHandler = that._cascadeFilterRequests[0];\n if (currentHandler) {\n that.first('dataBound', currentHandler);\n }\n\n that._cascadeChange(parent);\n };\n\n that._cascadeFilterRequests.push(handler);\n\n if (that._cascadeFilterRequests.length === 1) {\n that.first('dataBound', handler);\n }\n\n that._cascading = true;\n that._filterSource({\n field: valueField,\n operator: \"eq\",\n value: filterValue\n });\n that._cascading = false;\n } else {\n that.enable(false);\n that._clearSelection(parent);\n that._triggerCascade();\n that._triggerChange();\n that._userTriggered = false;\n }\n }\n });\n\n var STATIC_LIST_NS = \".StaticList\";\n\n var StaticList = kendo.ui.DataBoundWidget.extend({\n init: function(element, options) {\n Widget.fn.init.call(this, element, options);\n\n this.element.attr(\"role\", \"listbox\")\n .on(CLICK + STATIC_LIST_NS, \"li\", proxy(this._click, this))\n .on(MOUSEENTER + STATIC_LIST_NS, \"li\", function() { $(this).addClass(HOVER); })\n .on(MOUSELEAVE + STATIC_LIST_NS, \"li\", function() { $(this).removeClass(HOVER); });\n\n if (options && options.ariaLabel) {\n this.element.attr(ARIA_LABEL, options.ariaLabel);\n } else if (options && options.ariaLabelledBy) {\n this.element.attr(ARIA_LABELLEDBY, options.ariaLabelledBy);\n }\n\n if (support.touch) {\n this._touchHandlers();\n }\n\n if (this.options.selectable === \"multiple\") {\n this.element.attr(ARIA_MULTISELECTABLE, true);\n }\n\n if (this.options.columns && this.options.columns.length) {\n var thead = this.element.parent().find('.k-table-thead');\n var row = $('' +\n '' +\n '');\n\n thead.append(row);\n\n this.header = row.find(\".k-table-th\");\n\n this.content = this.element.wrap(\"
      \").parent();\n\n this.element.addClass(TABLE_LIST);\n } else {\n this.content = this.element.wrap(\"
      \").parent();\n this.header = this.content.before('
      ').prev();\n this.element.addClass(LIST_UL);\n }\n\n this.bound(false);\n\n this._optionID = kendo.guid();\n\n this._selectedIndices = [];\n\n this._view = [];\n this._dataItems = [];\n this._values = [];\n\n var value = this.options.value;\n\n if (value) {\n this._values = Array.isArray(value) ? value.slice(0) : [value];\n }\n\n this._getter();\n this._templates();\n\n this.setDataSource(this.options.dataSource);\n\n this._onScroll = proxy(function() {\n var that = this;\n clearTimeout(that._scrollId);\n\n that._scrollId = setTimeout(function() {\n that._renderHeader();\n }, 50);\n }, this);\n },\n\n options: {\n name: \"StaticList\",\n dataValueField: null,\n valuePrimitive: false,\n selectable: true,\n template: null,\n groupTemplate: null,\n fixedGroupTemplate: null,\n ariaLabel: null,\n ariaLabelledBy: null\n },\n\n events: [\n CLICK,\n CHANGE,\n ACTIVATE,\n DEACTIVATE,\n DATA_BINDING,\n DATA_BOUND,\n SELECTED_ITEM_CHANGE\n ],\n\n setDataSource: function(source) {\n var that = this;\n var dataSource = source || {};\n var value;\n\n dataSource = Array.isArray(dataSource) ? { data: dataSource } : dataSource;\n dataSource = kendo.data.DataSource.create(dataSource);\n\n if (that.dataSource) {\n that.dataSource.unbind(CHANGE, that._refreshHandler);\n\n value = that.value();\n\n that.value([]);\n that.bound(false);\n\n that.value(value);\n } else {\n that._refreshHandler = proxy(that.refresh, that);\n }\n\n that.setDSFilter(dataSource.filter());\n\n that.dataSource = dataSource.bind(CHANGE, that._refreshHandler);\n that._fixedHeader();\n },\n\n _touchHandlers: function() {\n var that = this;\n var startY;\n var endY;\n var tapPosition = function(event) {\n return (event.originalEvent || event).changedTouches[0].pageY;\n };\n\n that.element.on(\"touchstart\" + STATIC_LIST_NS, function(e) {\n startY = tapPosition(e);\n });\n\n that.element.on(\"touchend\" + STATIC_LIST_NS, function(e) {\n if (e.isDefaultPrevented()) {\n return;\n }\n\n endY = tapPosition(e);\n\n if (Math.abs(endY - startY) < 10) {\n that._touchTriggered = true;\n that._triggerClick($(e.target).closest(ITEMSELECTOR).get(0));\n }\n });\n },\n\n skip: function() {\n return this.dataSource.skip();\n },\n\n setOptions: function(options) {\n Widget.fn.setOptions.call(this, options);\n\n this._getter();\n this._templates();\n this._render();\n },\n\n destroy: function() {\n this.element.off(STATIC_LIST_NS);\n\n if (this._refreshHandler) {\n this.dataSource.unbind(CHANGE, this._refreshHandler);\n }\n\n clearTimeout(this._scrollId);\n\n Widget.fn.destroy.call(this);\n },\n\n dataItemByIndex: function(index) {\n return this.dataSource.flatView()[index];\n },\n\n screenHeight: function() {\n return this.content[0].clientHeight;\n },\n\n scrollToIndex: function(index) {\n var item = this.element[0].children[index];\n\n if (item) {\n this.scroll(item);\n }\n },\n\n scrollWith: function(value) {\n this.content.scrollTop(this.content.scrollTop() + value);\n },\n\n scroll: function(item) {\n if (!item) {\n return;\n }\n\n if (item[0]) {\n item = item[0];\n }\n\n var content = this.content[0],\n itemOffsetTop = item.offsetTop,\n itemOffsetHeight = item.offsetHeight,\n contentScrollTop = content.scrollTop,\n contentOffsetHeight = content.clientHeight,\n bottomDistance = itemOffsetTop + itemOffsetHeight;\n\n if (contentScrollTop > itemOffsetTop) {\n contentScrollTop = itemOffsetTop;\n } else if (bottomDistance > (contentScrollTop + contentOffsetHeight)) {\n contentScrollTop = (bottomDistance - contentOffsetHeight);\n }\n\n content.scrollTop = contentScrollTop;\n },\n\n selectedDataItems: function(dataItems) {\n if (dataItems === undefined) {\n return this._dataItems.slice();\n }\n\n this._dataItems = dataItems;\n this._values = this._getValues(dataItems);\n },\n\n _getValues: function(dataItems) {\n var getter = this._valueGetter;\n\n return $.map(dataItems, function(dataItem) {\n return getter(dataItem);\n });\n },\n\n focusNext: function() {\n var current = this.focus();\n\n if (!current) {\n current = 0;\n } else {\n current = current.next();\n }\n\n this.focus(current);\n },\n\n focusPrev: function() {\n var current = this.focus();\n\n if (!current) {\n current = this.element[0].children.length - 1;\n } else {\n current = current.prev();\n }\n\n this.focus(current);\n },\n\n focusFirst: function() {\n this.focus(this.element[0].children[0]);\n },\n\n focusLast: function() {\n this.focus(last(this.element[0].children));\n },\n\n focus: function(candidate) {\n var that = this;\n var id = that._optionID;\n var hasCandidate;\n\n if (candidate === undefined) {\n return that._current;\n }\n\n candidate = last(that._get(candidate));\n candidate = $(this.element[0].children[candidate]);\n\n if (that._current) {\n that._current\n .removeClass(FOCUSED)\n .removeAttr(ID);\n\n that.trigger(DEACTIVATE);\n }\n\n hasCandidate = !!candidate[0];\n\n if (hasCandidate) {\n candidate.addClass(FOCUSED);\n that.scroll(candidate);\n\n candidate.attr(\"id\", id);\n }\n\n that._current = hasCandidate ? candidate : null;\n that.trigger(ACTIVATE);\n },\n\n focusIndex: function() {\n return this.focus() ? this.focus().index() : undefined;\n },\n\n skipUpdate: function(skipUpdate) {\n this._skipUpdate = skipUpdate;\n },\n\n select: function(indices) {\n var that = this;\n var selectable = that.options.selectable;\n var singleSelection = selectable !== \"multiple\" && selectable !== false;\n var selectedIndices = that._selectedIndices;\n var uiSelectedIndices = [this.element.find(\".k-selected\").index()];\n\n var added = [];\n var removed = [];\n var result;\n\n if (indices === undefined) {\n return selectedIndices.slice();\n }\n\n indices = that._get(indices);\n\n if (indices.length === 1 && indices[0] === -1) {\n indices = [];\n }\n\n var deferred = $.Deferred().resolve();\n var filtered = that.isFiltered();\n\n if (filtered && !singleSelection && that._deselectFiltered(indices)) {\n return deferred;\n }\n\n if (singleSelection && !filtered &&\n $.inArray(last(indices), selectedIndices) !== -1 && $.inArray(last(indices), uiSelectedIndices) !== -1) {\n\n if (that._dataItems.length && that._view.length) {\n that._dataItems = [that._view[selectedIndices[0]].item];\n }\n\n return deferred;\n }\n\n result = that._deselect(indices);\n\n removed = result.removed;\n indices = result.indices;\n\n if (indices.length) {\n if (singleSelection) {\n indices = [last(indices)];\n }\n\n added = that._select(indices);\n }\n\n if (added.length || removed.length) {\n that._valueComparer = null;\n that.trigger(CHANGE, {\n added: added,\n removed: removed\n });\n }\n\n return deferred;\n },\n\n removeAt: function(position) {\n this._selectedIndices.splice(position, 1);\n this._values.splice(position, 1);\n this._valueComparer = null;\n\n return {\n position: position,\n dataItem: this._dataItems.splice(position, 1)[0]\n };\n },\n\n setValue: function(value) {\n value = Array.isArray(value) || value instanceof ObservableArray ? value.slice(0) : [value];\n\n this._values = value;\n\n this._valueComparer = null;\n },\n\n value: function(value) {\n var that = this;\n var deferred = that._valueDeferred;\n var indices;\n\n if (value === undefined) {\n return that._values.slice();\n }\n\n that.setValue(value);\n\n if (!deferred || deferred.state() === \"resolved\") {\n that._valueDeferred = deferred = $.Deferred();\n }\n\n if (that.bound()) {\n indices = that._valueIndices(that._values);\n\n if (that.options.selectable === \"multiple\") {\n that.select(-1);\n }\n\n that.select(indices);\n\n deferred.resolve();\n }\n\n that._skipUpdate = false;\n\n return deferred;\n },\n\n items: function() {\n return this.element.children(ITEMSELECTOR);\n },\n\n _click: function(e) {\n if (this._touchTriggered)\n {\n this._touchTriggered = false;\n return;\n }\n\n if (!e.isDefaultPrevented()) {\n this._triggerClick(e.currentTarget);\n }\n },\n\n _triggerClick: function(item) {\n if (!this.trigger(CLICK, { item: $(item) })) {\n this.select(item);\n }\n },\n\n _valueExpr: function(type, values) {\n var that = this;\n var idx = 0;\n\n var body;\n var comparer;\n var normalized = [];\n\n if (!that._valueComparer || that._valueType !== type) {\n that._valueType = type;\n\n for (; idx < values.length; idx++) {\n normalized.push(unifyType(values[idx], type));\n }\n\n body = \"for (var idx = 0; idx < \" + normalized.length + \"; idx++) {\" +\n \" if (current === values[idx]) {\" +\n \" return idx;\" +\n \" }\" +\n \"} \" +\n \"return -1;\";\n\n comparer = new Function(\"current\", \"values\", body);\n\n that._valueComparer = function(current) {\n return comparer(current, normalized);\n };\n }\n\n return that._valueComparer;\n },\n\n _dataItemPosition: function(dataItem, values) {\n var value = this._valueGetter(dataItem);\n\n var valueExpr = this._valueExpr(typeof value, values);\n\n return valueExpr(value);\n },\n\n _getter: function() {\n this._valueGetter = kendo.getter(this.options.dataValueField);\n },\n\n _deselect: function(indices) {\n var that = this;\n var children = that.element[0].children;\n var selectable = that.options.selectable;\n var selectedIndices = that._selectedIndices;\n var dataItems = that._dataItems;\n var values = that._values;\n var removed = [];\n var i = 0;\n var j;\n\n var index, selectedIndex;\n var removedIndices = 0;\n\n indices = indices.slice();\n\n if (selectable === true || !indices.length) {\n for (; i < selectedIndices.length; i++) {\n $(children[selectedIndices[i]]).removeClass(KSELECTED).attr(ARIA_SELECTED, false);\n\n removed.push({\n position: i,\n dataItem: dataItems[i]\n });\n }\n\n that._values = [];\n that._dataItems = [];\n that._selectedIndices = [];\n } else if (selectable === \"multiple\") {\n for (; i < indices.length; i++) {\n index = indices[i];\n\n if (!$(children[index]).hasClass(KSELECTED)) {\n continue;\n }\n\n for (j = 0; j < selectedIndices.length; j++) {\n selectedIndex = selectedIndices[j];\n\n if (selectedIndex === index) {\n $(children[selectedIndex]).removeClass(KSELECTED).attr(ARIA_SELECTED, false);\n var dataItem = this._view[index].item;\n var position = this._dataItemPosition(dataItem, this._values);\n\n removed.push({\n position: position,\n dataItem: dataItem\n });\n\n dataItems.splice(j, 1);\n selectedIndices.splice(j, 1);\n indices.splice(i, 1);\n values.splice(j, 1);\n\n removedIndices += 1;\n i -= 1;\n j -= 1;\n break;\n }\n }\n }\n }\n\n return {\n indices: indices,\n removed: removed\n };\n },\n\n _deselectFiltered: function(indices) {\n var children = this.element[0].children;\n var dataItem, index, position;\n var removed = [];\n var idx = 0;\n\n for (; idx < indices.length; idx++) {\n index = indices[idx];\n\n dataItem = this._view[index].item;\n position = this._dataItemPosition(dataItem, this._values);\n\n if (position > -1) {\n removed.push(this.removeAt(position));\n $(children[index]).removeClass(KSELECTED);\n }\n }\n\n if (removed.length) {\n this.trigger(CHANGE, {\n added: [],\n removed: removed\n });\n\n return true;\n }\n\n return false;\n },\n\n _select: function(indices) {\n var that = this;\n var children = that.element[0].children;\n var data = that._view;\n var dataItem, index;\n var added = [];\n var idx = 0;\n\n if (last(indices) !== -1) {\n that.focus(indices);\n }\n\n for (; idx < indices.length; idx++) {\n index = indices[idx];\n dataItem = data[index];\n\n if (index === -1 || !dataItem) {\n continue;\n }\n\n dataItem = dataItem.item;\n\n that._selectedIndices.push(index);\n that._dataItems.push(dataItem);\n that._values.push(that._valueGetter(dataItem));\n\n $(children[index]).addClass(KSELECTED).attr(ARIA_SELECTED, true);\n\n added.push({\n dataItem: dataItem\n });\n }\n\n return added;\n },\n\n getElementIndex: function(element) {\n return $(element).data(\"offset-index\");\n },\n\n _get: function(candidate) {\n if (typeof candidate === \"number\") {\n candidate = [candidate];\n } else if (!isArray(candidate)) {\n candidate = this.getElementIndex(candidate);\n candidate = [candidate !== undefined ? candidate : -1];\n }\n\n return candidate;\n },\n\n _template: function() {\n var that = this;\n var options = that.options;\n var template = options.template;\n\n if (!template) {\n template = kendo.template('
    • ${' + kendo.expr(options.dataTextField, \"data\") + \"}
    • \", { useWithBlock: false });\n } else {\n template = kendo.template(template);\n template = function(data) {\n return '
    • ' + template(data) + \"
    • \";\n };\n }\n\n return template;\n },\n\n _templates: function() {\n var template;\n var options = this.options;\n var templates = {\n template: options.template,\n groupTemplate: options.groupTemplate,\n fixedGroupTemplate: options.fixedGroupTemplate\n };\n\n if (options.columns) {\n for (var i = 0; i < options.columns.length; i++) {\n var currentColumn = options.columns[i];\n var templateText = currentColumn.field ? currentColumn.field.toString() : TEXT;\n\n templates[\"column\" + i] = currentColumn.template || \"#: \" + templateText + \"#\";\n }\n }\n\n for (var key in templates) {\n template = templates[key];\n if (template && typeof template !== \"function\") {\n templates[key] = kendo.template(template);\n }\n }\n\n this.templates = templates;\n },\n\n _normalizeIndices: function(indices) {\n var newIndices = [];\n var idx = 0;\n\n for (; idx < indices.length; idx++) {\n if (indices[idx] !== undefined) {\n newIndices.push(indices[idx]);\n }\n }\n\n return newIndices;\n },\n\n _valueIndices: function(values, indices) {\n var data = this._view;\n var idx = 0;\n var index;\n\n indices = indices ? indices.slice() : [];\n\n if (!values.length) {\n return [];\n }\n\n for (; idx < data.length; idx++) {\n index = this._dataItemPosition(data[idx].item, values);\n\n if (index !== -1) {\n indices[index] = idx;\n }\n }\n\n return this._normalizeIndices(indices);\n },\n\n _firstVisibleItem: function() {\n var element = this.element[0];\n var content = this.content[0];\n var scrollTop = content.scrollTop;\n var itemHeight = $(element.children[0]).height();\n var itemIndex = Math.floor(scrollTop / itemHeight) || 0;\n var item = element.children[itemIndex] || element.lastChild;\n var forward = item.offsetTop < scrollTop;\n\n while (item) {\n if (forward) {\n if ((item.offsetTop + itemHeight) > scrollTop || !item.nextSibling) {\n break;\n }\n\n item = item.nextSibling;\n } else {\n if (item.offsetTop <= scrollTop || !item.previousSibling) {\n break;\n }\n\n item = item.previousSibling;\n }\n }\n\n return this._view[$(item).data(\"offset-index\")];\n },\n\n _fixedHeader: function() {\n if (this.isGrouped() && this.templates.fixedGroupTemplate) {\n if (this.header.closest(GROUP_ROW_SEL).length) {\n this.header.closest(GROUP_ROW_SEL).show();\n } else {\n this.header.show();\n }\n\n this.content.scroll(this._onScroll);\n } else {\n if (this.header.closest(GROUP_ROW_SEL).length) {\n this.header.closest(GROUP_ROW_SEL).hide();\n } else {\n this.header.hide();\n }\n\n this.content.off(\"scroll\", this._onScroll);\n }\n },\n\n _renderHeader: function() {\n var template = this.templates.fixedGroupTemplate;\n if (!template) {\n return;\n }\n\n var visibleItem = this._firstVisibleItem();\n\n if (visibleItem && visibleItem.group.toString().length) {\n this.header.html(template(visibleItem.group));\n }\n },\n\n _renderItem: function(context) {\n var item = '
    • ';\n if (hasColumns) {\n item += this._renderColumns(dataItem);\n } else {\n item += '';\n item += this.templates.template(dataItem);\n item += '';\n }\n\n if (notFirstItem && context.newGroup) {\n if (hasColumns) {\n item += '' + this.templates.groupTemplate(context.group) + '';\n } else {\n item += '
      ' + this.templates.groupTemplate(context.group) + '
      ';\n }\n } else if (isGrouped && hasColumns) {\n item += '';\n }\n\n return item + \"
    • \";\n },\n\n _renderColumns: function(dataItem) {\n var item = \"\";\n\n for (var i = 0; i < this.options.columns.length; i++) {\n var currentWidth = this.options.columns[i].width;\n var currentWidthInt = parseInt(currentWidth, 10);\n var widthStyle = '';\n\n if (currentWidth && !isNaN(currentWidthInt)) {\n widthStyle += \"style='width:\";\n widthStyle += currentWidthInt;\n widthStyle += percentageUnitsRegex.test(currentWidth) ? \"%\" : \"px\";\n widthStyle += \";'\";\n }\n item += \"\";\n item += this.templates[\"column\" + i](dataItem);\n item += \"\";\n }\n\n return item;\n },\n\n _render: function() {\n var html = \"\";\n\n var i = 0;\n var idx = 0;\n var context;\n var dataContext = [];\n var view = this.dataSource.view();\n var values = this.value();\n\n var group, newGroup, j;\n var isGrouped = this.isGrouped();\n\n if (isGrouped) {\n for (i = 0; i < view.length; i++) {\n group = view[i];\n newGroup = true;\n\n for (j = 0; j < group.items.length; j++) {\n context = {\n selected: this._selected(group.items[j], values),\n item: group.items[j],\n group: group.value,\n newGroup: newGroup,\n isLastGroupedItem: j === group.items.length - 1,\n index: idx };\n dataContext[idx] = context;\n idx += 1;\n\n html += this._renderItem(context);\n newGroup = false;\n }\n }\n } else {\n for (i = 0; i < view.length; i++) {\n context = { selected: this._selected(view[i], values), item: view[i], index: i };\n\n dataContext[i] = context;\n\n html += this._renderItem(context);\n }\n }\n\n this._view = dataContext;\n\n this.element[0].innerHTML = html;\n\n if (isGrouped && dataContext.length) {\n this._renderHeader();\n }\n },\n\n _selected: function(dataItem, values) {\n var select = !this.isFiltered() || this.options.selectable === \"multiple\";\n return select && this._dataItemPosition(dataItem, values) !== -1;\n },\n\n setDSFilter: function(filter) {\n this._lastDSFilter = extend({}, filter);\n },\n\n isFiltered: function() {\n if (!this._lastDSFilter) {\n this.setDSFilter(this.dataSource.filter());\n }\n\n return !kendo.data.Query.compareFilters(this.dataSource.filter(), this._lastDSFilter);\n },\n\n refresh: function(e) {\n var that = this;\n var action = e && e.action;\n var skipUpdateOnBind = that.options.skipUpdateOnBind;\n var isItemChange = action === \"itemchange\";\n var result;\n\n that.trigger(DATA_BINDING);\n that._angularItems(\"cleanup\");\n\n that._fixedHeader();\n\n that._render();\n\n that.bound(true);\n\n if (isItemChange || action === \"remove\") {\n result = mapChangedItems(that._dataItems, e.items);\n\n if (result.changed.length) {\n if (isItemChange) {\n that.trigger(SELECTED_ITEM_CHANGE, {\n items: result.changed\n });\n } else {\n that.value(that._getValues(result.unchanged));\n }\n }\n } else if (that.isFiltered() || that._skipUpdate || that._emptySearch) {\n that.focus(0);\n if (that._skipUpdate) {\n that._skipUpdate = false;\n that._selectedIndices = that._valueIndices(that._values, that._selectedIndices);\n }\n } else if (!skipUpdateOnBind && (!action || action === \"add\")) {\n that.value(that._values);\n }\n\n if (that._valueDeferred) {\n that._valueDeferred.resolve();\n }\n\n that._angularItems(\"compile\");\n that.trigger(DATA_BOUND);\n },\n\n bound: function(bound) {\n if (bound === undefined) {\n return this._bound;\n }\n\n this._bound = bound;\n },\n\n isGrouped: function() {\n return (this.dataSource.group() || []).length;\n }\n });\n\n ui.plugin(StaticList);\n\n function last(list) {\n return list[list.length - 1];\n }\n\n function getSelectedOption(select) {\n var index = select.selectedIndex;\n return index > -1 ? select.options[index] : {};\n }\n\n function mapChangedItems(selected, itemsToMatch) {\n var itemsLength = itemsToMatch.length;\n var selectedLength = selected.length;\n var dataItem;\n var found;\n var i, j;\n\n var changed = [];\n var unchanged = [];\n\n if (selectedLength) {\n for (i = 0; i < selectedLength; i++) {\n dataItem = selected[i];\n found = false;\n\n for (j = 0; j < itemsLength; j++) {\n if (dataItem === itemsToMatch[j]) {\n found = true;\n changed.push({ index: i, item: dataItem });\n break;\n }\n }\n\n if (!found) {\n unchanged.push(dataItem);\n }\n }\n }\n\n return {\n changed: changed,\n unchanged: unchanged\n };\n }\n\n function isValidFilterExpr(expression) {\n if (!expression || $.isEmptyObject(expression)) {\n return false;\n }\n\n if (expression.filters && !expression.filters.length) {\n return false;\n }\n\n return true;\n }\n\n function removeFiltersForField(expression, field) {\n var filters;\n var found = false;\n\n if (expression.filters) {\n filters = $.grep(expression.filters, function(filter) {\n found = removeFiltersForField(filter, field);\n if (filter.filters) {\n return filter.filters.length;\n } else {\n return filter.field != field;\n }\n });\n\n if (!found && expression.filters.length !== filters.length) {\n found = true;\n }\n\n expression.filters = filters;\n }\n\n return found;\n }\n\n kendo.cssProperties.registerPrefix(\"List\", \"k-list-\");\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3) { (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.fx',[ \"./kendo.core\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"fx\",\n name: \"Effects\",\n category: \"framework\",\n description: \"Required for animation effects in all Kendo UI widgets.\",\n depends: [ \"core\" ]\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n fx = kendo.effects,\n each = $.each,\n extend = $.extend,\n proxy = $.proxy,\n support = kendo.support,\n browser = support.browser,\n transforms = support.transforms,\n transitions = support.transitions,\n scaleProperties = { scale: 0, scalex: 0, scaley: 0, scale3d: 0 },\n translateProperties = { translate: 0, translatex: 0, translatey: 0, translate3d: 0 },\n hasZoom = (typeof document.documentElement.style.zoom !== \"undefined\") && !transforms,\n matrix3dRegExp = /matrix3?d?\\s*\\(.*,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?,\\s*([\\d\\.\\-]+)\\w*?/i,\n cssParamsRegExp = /^(-?[\\d\\.\\-]+)?[\\w\\s]*,?\\s*(-?[\\d\\.\\-]+)?[\\w\\s]*/i,\n translateXRegExp = /translatex?$/i,\n oldEffectsRegExp = /(zoom|fade|expand)(\\w+)/,\n singleEffectRegExp = /(zoom|fade|expand)/,\n unitRegExp = /[xy]$/i,\n transformProps = [\"perspective\", \"rotate\", \"rotatex\", \"rotatey\", \"rotatez\", \"rotate3d\", \"scale\", \"scalex\", \"scaley\", \"scalez\", \"scale3d\", \"skew\", \"skewx\", \"skewy\", \"translate\", \"translatex\", \"translatey\", \"translatez\", \"translate3d\", \"matrix\", \"matrix3d\"],\n transform2d = [\"rotate\", \"scale\", \"scalex\", \"scaley\", \"skew\", \"skewx\", \"skewy\", \"translate\", \"translatex\", \"translatey\", \"matrix\"],\n transform2units = { \"rotate\": \"deg\", scale: \"\", skew: \"px\", translate: \"px\" },\n cssPrefix = transforms.css,\n round = Math.round,\n BLANK = \"\",\n PX = \"px\",\n NONE = \"none\",\n AUTO = \"auto\",\n WIDTH = \"width\",\n HEIGHT = \"height\",\n HIDDEN = \"hidden\",\n ORIGIN = \"origin\",\n ABORT_ID = \"abortId\",\n OVERFLOW = \"overflow\",\n TRANSLATE = \"translate\",\n POSITION = \"position\",\n COMPLETE_CALLBACK = \"completeCallback\",\n TRANSITION = cssPrefix + \"transition\",\n TRANSFORM = cssPrefix + \"transform\",\n BACKFACE = cssPrefix + \"backface-visibility\",\n PERSPECTIVE = cssPrefix + \"perspective\",\n DEFAULT_PERSPECTIVE = \"1500px\",\n TRANSFORM_PERSPECTIVE = \"perspective(\" + DEFAULT_PERSPECTIVE + \")\",\n directions = {\n left: {\n reverse: \"right\",\n property: \"left\",\n transition: \"translatex\",\n vertical: false,\n modifier: -1\n },\n right: {\n reverse: \"left\",\n property: \"left\",\n transition: \"translatex\",\n vertical: false,\n modifier: 1\n },\n down: {\n reverse: \"up\",\n property: \"top\",\n transition: \"translatey\",\n vertical: true,\n modifier: 1\n },\n up: {\n reverse: \"down\",\n property: \"top\",\n transition: \"translatey\",\n vertical: true,\n modifier: -1\n },\n top: {\n reverse: \"bottom\"\n },\n bottom: {\n reverse: \"top\"\n },\n \"in\": {\n reverse: \"out\",\n modifier: -1\n },\n out: {\n reverse: \"in\",\n modifier: 1\n },\n\n vertical: {\n reverse: \"vertical\"\n },\n\n horizontal: {\n reverse: \"horizontal\"\n }\n };\n\n kendo.directions = directions;\n\n extend($.fn, {\n kendoStop: function(clearQueue, gotoEnd) {\n if (transitions) {\n return fx.stopQueue(this, clearQueue || false, gotoEnd || false);\n } else {\n return this.stop(clearQueue, gotoEnd);\n }\n }\n });\n\n /* jQuery support for all transform animations (FF 3.5/3.6, Opera 10.x, IE9 */\n\n if (transforms && !transitions) {\n each(transform2d, function(idx, value) {\n $.fn[value] = function(val) {\n if (typeof val == \"undefined\") {\n return animationProperty(this, value);\n } else {\n var that = $(this)[0],\n transformValue = value + \"(\" + val + transform2units[value.replace(unitRegExp, \"\")] + \")\";\n\n if (that.style.cssText.indexOf(TRANSFORM) == -1) {\n $(this).css(TRANSFORM, transformValue);\n } else {\n that.style.cssText = that.style.cssText.replace(new RegExp(value + \"\\\\(.*?\\\\)\", \"i\"), transformValue);\n }\n }\n return this;\n };\n\n $.fx.step[value] = function (fx) {\n $(fx.elem)[value](fx.now);\n };\n });\n\n var curProxy = $.fx.prototype.cur;\n $.fx.prototype.cur = function () {\n if (transform2d.indexOf(this.prop) != -1) {\n return parseFloat($(this.elem)[this.prop]());\n }\n\n return curProxy.apply(this, arguments);\n };\n }\n\n kendo.toggleClass = function(element, classes, options, add) {\n if (classes) {\n classes = classes.split(\" \");\n\n if (transitions) {\n options = extend({\n exclusive: \"all\",\n duration: 400,\n ease: \"ease-out\"\n }, options);\n\n element.css(TRANSITION, options.exclusive + \" \" + options.duration + \"ms \" + options.ease);\n setTimeout(function() {\n element.css(TRANSITION, \"\").css(HEIGHT);\n }, options.duration); // TODO: this should fire a kendoAnimate session instead.\n }\n\n each(classes, function(idx, value) {\n element.toggleClass(value, add);\n });\n }\n\n return element;\n };\n\n kendo.parseEffects = function(input, mirror) {\n var effects = {};\n\n if (typeof input === \"string\") {\n each(input.split(\" \"), function(idx, value) {\n var redirectedEffect = !singleEffectRegExp.test(value),\n resolved = value.replace(oldEffectsRegExp, function(match, $1, $2) {\n return $1 + \":\" + $2.toLowerCase();\n }), // Support for old zoomIn/fadeOut style, now deprecated.\n effect = resolved.split(\":\"),\n direction = effect[1],\n effectBody = {};\n\n if (effect.length > 1) {\n effectBody.direction = (mirror && redirectedEffect ? directions[direction].reverse : direction);\n }\n\n effects[effect[0]] = effectBody;\n });\n } else {\n each(input, function(idx) {\n var direction = this.direction;\n\n if (direction && mirror && !singleEffectRegExp.test(idx)) {\n this.direction = directions[direction].reverse;\n }\n\n effects[idx] = this;\n });\n }\n\n return effects;\n };\n\n function parseInteger(value) {\n return parseInt(value, 10);\n }\n\n function parseCSS(element, property) {\n return parseInteger(element.css(property));\n }\n\n function keys(obj) {\n var acc = [];\n for (var propertyName in obj) {\n acc.push(propertyName);\n }\n return acc;\n }\n\n function strip3DTransforms(properties) {\n for (var key in properties) {\n if (transformProps.indexOf(key) != -1 && transform2d.indexOf(key) == -1) {\n delete properties[key];\n }\n }\n\n return properties;\n }\n\n function normalizeCSS(element, properties) {\n var transformation = [], cssValues = {}, lowerKey, key, value, isTransformed;\n\n for (key in properties) {\n lowerKey = key.toLowerCase();\n isTransformed = transforms && transformProps.indexOf(lowerKey) != -1;\n\n if (!support.hasHW3D && isTransformed && transform2d.indexOf(lowerKey) == -1) {\n delete properties[key];\n } else {\n value = properties[key];\n\n if (isTransformed) {\n transformation.push(key + \"(\" + value + \")\");\n } else {\n cssValues[key] = value;\n }\n }\n }\n\n if (transformation.length) {\n cssValues[TRANSFORM] = transformation.join(\" \");\n }\n\n return cssValues;\n }\n\n if (transitions) {\n extend(fx, {\n transition: function(element, properties, options) {\n var css,\n delay = 0,\n oldKeys = element.data(\"keys\") || [],\n timeoutID;\n\n options = extend({\n duration: 200,\n ease: \"ease-out\",\n complete: null,\n exclusive: \"all\"\n },\n options\n );\n\n var stopTransitionCalled = false;\n\n var stopTransition = function() {\n if (!stopTransitionCalled) {\n stopTransitionCalled = true;\n\n if (timeoutID) {\n clearTimeout(timeoutID);\n timeoutID = null;\n }\n\n element\n .removeData(ABORT_ID)\n .dequeue()\n .css(TRANSITION, \"\")\n .css(TRANSITION);\n\n options.complete.call(element);\n }\n };\n\n options.duration = $.fx ? $.fx.speeds[options.duration] || options.duration : options.duration;\n\n css = normalizeCSS(element, properties);\n\n $.merge(oldKeys, keys(css));\n\n if ($.hasOwnProperty(\"uniqueSort\")) {\n element\n .data(\"keys\", $.uniqueSort(oldKeys))\n .height();\n } else {\n element\n .data(\"keys\", $.unique(oldKeys))\n .height();\n }\n\n element.css(TRANSITION, options.exclusive + \" \" + options.duration + \"ms \" + options.ease).css(TRANSITION);\n element.css(css).css(TRANSFORM);\n\n /**\n * Use transitionEnd event for browsers who support it - but duplicate it with setTimeout, as the transitionEnd event will not be triggered if no CSS properties change.\n * This should be cleaned up at some point (widget by widget), and refactored to widgets not relying on the complete callback if no transition occurs.\n *\n * For IE9 and below, resort to setTimeout.\n */\n if (transitions.event) {\n element.one(transitions.event, stopTransition);\n if (options.duration !== 0) {\n delay = 500;\n }\n }\n\n timeoutID = setTimeout(stopTransition, options.duration + delay);\n element.data(ABORT_ID, timeoutID);\n element.data(COMPLETE_CALLBACK, stopTransition);\n },\n\n stopQueue: function(element, clearQueue, gotoEnd) {\n var cssValues,\n taskKeys = element.data(\"keys\"),\n retainPosition = (!gotoEnd && taskKeys),\n completeCallback = element.data(COMPLETE_CALLBACK);\n\n if (retainPosition) {\n cssValues = kendo.getComputedStyles(element[0], taskKeys);\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n if (retainPosition) {\n element.css(cssValues);\n }\n\n return element\n .removeData(\"keys\")\n .stop(clearQueue);\n }\n });\n }\n\n function animationProperty(element, property) {\n if (transforms) {\n var transform = element.css(TRANSFORM);\n if (transform == NONE) {\n return property == \"scale\" ? 1 : 0;\n }\n\n var match = transform.match(new RegExp(property + \"\\\\s*\\\\(([\\\\d\\\\w\\\\.]+)\")),\n computed = 0;\n\n if (match) {\n computed = parseInteger(match[1]);\n } else {\n match = transform.match(matrix3dRegExp) || [0, 0, 0, 0, 0];\n property = property.toLowerCase();\n\n if (translateXRegExp.test(property)) {\n computed = parseFloat(match[3] / match[2]);\n } else if (property == \"translatey\") {\n computed = parseFloat(match[4] / match[2]);\n } else if (property == \"scale\") {\n computed = parseFloat(match[2]);\n } else if (property == \"rotate\") {\n computed = parseFloat(Math.atan2(match[2], match[1]));\n }\n }\n\n return computed;\n } else {\n return parseFloat(element.css(property));\n }\n }\n\n var EffectSet = kendo.Class.extend({\n init: function(element, options) {\n var that = this;\n\n that.element = element;\n that.effects = [];\n that.options = options;\n that.restore = [];\n },\n\n run: function(effects) {\n var that = this,\n effect,\n idx, jdx,\n length = effects.length,\n element = that.element,\n options = that.options,\n deferred = $.Deferred(),\n start = {},\n end = {},\n target,\n children,\n childrenLength;\n\n that.effects = effects;\n\n deferred.done($.proxy(that, \"complete\"));\n\n element.data(\"animating\", true);\n\n for (idx = 0; idx < length; idx ++) {\n effect = effects[idx];\n\n effect.setReverse(options.reverse);\n effect.setOptions(options);\n\n that.addRestoreProperties(effect.restore);\n\n effect.prepare(start, end);\n\n children = effect.children();\n\n for (jdx = 0, childrenLength = children.length; jdx < childrenLength; jdx ++) {\n children[jdx].duration(options.duration).run();\n }\n }\n\n // legacy support for options.properties\n for (var effectName in options.effects) {\n extend(end, options.effects[effectName].properties);\n }\n\n // Show the element initially\n if (!element.is(\":visible\")) {\n extend(start, { display: element.data(\"olddisplay\") || \"block\" });\n }\n\n if (transforms && !options.reset) {\n target = element.data(\"targetTransform\");\n\n if (target) {\n start = extend(target, start);\n }\n }\n\n start = normalizeCSS(element, start);\n\n if (transforms && !transitions) {\n start = strip3DTransforms(start);\n }\n\n element.css(start)\n .css(TRANSFORM); // Nudge\n\n for (idx = 0; idx < length; idx ++) {\n effects[idx].setup();\n }\n\n if (options.init) {\n options.init();\n }\n\n element.data(\"targetTransform\", end);\n fx.animate(element, end, extend({}, options, { complete: deferred.resolve }));\n\n return deferred.promise();\n },\n\n stop: function() {\n $(this.element).kendoStop(true, true);\n },\n\n addRestoreProperties: function(restore) {\n var element = this.element,\n value,\n i = 0,\n length = restore.length;\n\n for (; i < length; i ++) {\n value = restore[i];\n\n this.restore.push(value);\n\n if (!element.data(value)) {\n element.data(value, element.css(value));\n }\n }\n },\n\n restoreCallback: function() {\n var element = this.element;\n\n for (var i = 0, length = this.restore.length; i < length; i ++) {\n var value = this.restore[i];\n element.css(value, element.data(value));\n }\n },\n\n complete: function() {\n var that = this,\n idx = 0,\n element = that.element,\n options = that.options,\n effects = that.effects,\n length = effects.length;\n\n element\n .removeData(\"animating\")\n .dequeue(); // call next animation from the queue\n\n if (options.hide) {\n element.data(\"olddisplay\", element.css(\"display\")).hide();\n }\n\n this.restoreCallback();\n\n if (hasZoom && !transforms) {\n setTimeout($.proxy(this, \"restoreCallback\"), 0); // Again jQuery callback in IE8-\n }\n\n for (; idx < length; idx ++) {\n effects[idx].teardown();\n }\n\n if (options.completeCallback) {\n options.completeCallback(element);\n }\n }\n });\n\n fx.promise = function(element, options) {\n var effects = [],\n effectClass,\n effectSet = new EffectSet(element, options),\n parsedEffects = kendo.parseEffects(options.effects),\n effect;\n\n options.effects = parsedEffects;\n\n for (var effectName in parsedEffects) {\n effectClass = fx[capitalize(effectName)];\n\n if (effectClass) {\n effect = new effectClass(element, parsedEffects[effectName].direction);\n effects.push(effect);\n }\n }\n\n if (effects[0]) {\n effectSet.run(effects);\n } else { // Not sure how would an fx promise reach this state - means that you call kendoAnimate with no valid effects? Why?\n if (!element.is(\":visible\")) {\n element.css({ display: element.data(\"olddisplay\") || \"block\" }).css(\"display\");\n }\n\n if (options.init) {\n options.init();\n }\n\n element.dequeue();\n effectSet.complete();\n }\n };\n\n extend(fx, {\n animate: function(elements, properties, options) {\n var useTransition = options.transition !== false;\n delete options.transition;\n\n if (transitions && \"transition\" in fx && useTransition) {\n fx.transition(elements, properties, options);\n } else {\n if (transforms) {\n elements.animate(strip3DTransforms(properties), { queue: false, show: false, hide: false, duration: options.duration, complete: options.complete }); // Stop animate from showing/hiding the element to be able to hide it later on.\n } else {\n elements.each(function() {\n var element = $(this),\n multiple = {};\n\n each(transformProps, function(idx, value) { // remove transforms to avoid IE and older browsers confusion\n var params,\n currentValue = properties ? properties[value]+ \" \" : null; // We need to match\n\n if (currentValue) {\n var single = properties;\n\n if (value in scaleProperties && properties[value] !== undefined) {\n params = currentValue.match(cssParamsRegExp);\n if (transforms) {\n extend(single, { scale: +params[0] });\n }\n } else {\n if (value in translateProperties && properties[value] !== undefined) {\n var position = element.css(POSITION),\n isFixed = (position == \"absolute\" || position == \"fixed\");\n\n if (!element.data(TRANSLATE)) {\n if (isFixed) {\n element.data(TRANSLATE, {\n top: parseCSS(element, \"top\") || 0,\n left: parseCSS(element, \"left\") || 0,\n bottom: parseCSS(element, \"bottom\"),\n right: parseCSS(element, \"right\")\n });\n } else {\n element.data(TRANSLATE, {\n top: parseCSS(element, \"marginTop\") || 0,\n left: parseCSS(element, \"marginLeft\") || 0\n });\n }\n }\n\n var originalPosition = element.data(TRANSLATE);\n\n params = currentValue.match(cssParamsRegExp);\n if (params) {\n\n var dX = value == TRANSLATE + \"y\" ? +null : +params[1],\n dY = value == TRANSLATE + \"y\" ? +params[1] : +params[2];\n\n if (isFixed) {\n if (!isNaN(originalPosition.right)) {\n if (!isNaN(dX)) { extend(single, { right: originalPosition.right - dX }); }\n } else {\n if (!isNaN(dX)) { extend(single, { left: originalPosition.left + dX }); }\n }\n\n if (!isNaN(originalPosition.bottom)) {\n if (!isNaN(dY)) { extend(single, { bottom: originalPosition.bottom - dY }); }\n } else {\n if (!isNaN(dY)) { extend(single, { top: originalPosition.top + dY }); }\n }\n } else {\n if (!isNaN(dX)) { extend(single, { marginLeft: originalPosition.left + dX }); }\n if (!isNaN(dY)) { extend(single, { marginTop: originalPosition.top + dY }); }\n }\n }\n }\n }\n\n if (!transforms && value != \"scale\" && value in single) {\n delete single[value];\n }\n\n if (single) {\n extend(multiple, single);\n }\n }\n });\n\n if (browser.msie) {\n delete multiple.scale;\n }\n\n element.animate(multiple, { queue: false, show: false, hide: false, duration: options.duration, complete: options.complete }); // Stop animate from showing/hiding the element to be able to hide it later on.\n });\n }\n }\n }\n });\n\n fx.animatedPromise = fx.promise;\n\n var Effect = kendo.Class.extend({\n init: function(element, direction) {\n var that = this;\n that.element = element;\n that._direction = direction;\n that.options = {};\n that._additionalEffects = [];\n\n if (!that.restore) {\n that.restore = [];\n }\n },\n\n// Public API\n reverse: function() {\n this._reverse = true;\n return this.run();\n },\n\n play: function() {\n this._reverse = false;\n return this.run();\n },\n\n add: function(additional) {\n this._additionalEffects.push(additional);\n return this;\n },\n\n direction: function(value) {\n this._direction = value;\n return this;\n },\n\n duration: function(duration) {\n this._duration = duration;\n return this;\n },\n\n compositeRun: function() {\n var that = this,\n effectSet = new EffectSet(that.element, { reverse: that._reverse, duration: that._duration }),\n effects = that._additionalEffects.concat([ that ]);\n\n return effectSet.run(effects);\n },\n\n run: function() {\n if (this._additionalEffects && this._additionalEffects[0]) {\n return this.compositeRun();\n }\n\n var that = this,\n element = that.element,\n idx = 0,\n restore = that.restore,\n length = restore.length,\n value,\n deferred = $.Deferred(),\n start = {},\n end = {},\n target,\n children = that.children(),\n childrenLength = children.length;\n\n deferred.done($.proxy(that, \"_complete\"));\n\n element.data(\"animating\", true);\n\n for (idx = 0; idx < length; idx ++) {\n value = restore[idx];\n\n if (!element.data(value)) {\n element.data(value, element.css(value));\n }\n }\n\n for (idx = 0; idx < childrenLength; idx ++) {\n children[idx].duration(that._duration).run();\n }\n\n that.prepare(start, end);\n\n if (!element.is(\":visible\")) {\n extend(start, { display: element.data(\"olddisplay\") || \"block\" });\n }\n\n if (transforms) {\n target = element.data(\"targetTransform\");\n\n if (target) {\n start = extend(target, start);\n }\n }\n\n start = normalizeCSS(element, start);\n\n if (transforms && !transitions) {\n start = strip3DTransforms(start);\n }\n\n element.css(start).css(TRANSFORM); // Trick webkit into re-rendering\n\n that.setup();\n\n element.data(\"targetTransform\", end);\n fx.animate(element, end, { duration: that._duration, complete: deferred.resolve });\n\n return deferred.promise();\n },\n\n stop: function() {\n var idx = 0,\n children = this.children(),\n childrenLength = children.length;\n\n for (idx = 0; idx < childrenLength; idx ++) {\n children[idx].stop();\n }\n\n $(this.element).kendoStop(true, true);\n return this;\n },\n\n restoreCallback: function() {\n var element = this.element;\n\n for (var i = 0, length = this.restore.length; i < length; i ++) {\n var value = this.restore[i];\n element.css(value, element.data(value));\n }\n },\n\n _complete: function() {\n var that = this,\n element = that.element;\n\n element\n .removeData(\"animating\")\n .dequeue(); // call next animation from the queue\n\n that.restoreCallback();\n\n if (that.shouldHide()) {\n element.data(\"olddisplay\", element.css(\"display\")).hide();\n }\n\n if (hasZoom && !transforms) {\n setTimeout($.proxy(that, \"restoreCallback\"), 0); // Again jQuery callback in IE8-\n }\n\n that.teardown();\n },\n\n /////////////////////////// Support for kendo.animate;\n setOptions: function(options) {\n extend(true, this.options, options);\n },\n\n children: function() {\n return [];\n },\n\n shouldHide: $.noop,\n\n setup: $.noop,\n prepare: $.noop,\n teardown: $.noop,\n directions: [],\n\n setReverse: function(reverse) {\n this._reverse = reverse;\n return this;\n }\n });\n\n function capitalize(word) {\n return word.charAt(0).toUpperCase() + word.substring(1);\n }\n\n function createEffect(name, definition) {\n var effectClass = Effect.extend(definition),\n directions = effectClass.prototype.directions;\n\n fx[capitalize(name)] = effectClass;\n\n fx.Element.prototype[name] = function(direction, opt1, opt2, opt3) {\n return new effectClass(this.element, direction, opt1, opt2, opt3);\n };\n\n each(directions, function(idx, theDirection) {\n fx.Element.prototype[name + capitalize(theDirection)] = function(opt1, opt2, opt3) {\n return new effectClass(this.element, theDirection, opt1, opt2, opt3);\n };\n });\n }\n\n var FOUR_DIRECTIONS = [\"left\", \"right\", \"up\", \"down\"],\n IN_OUT = [\"in\", \"out\"];\n\n createEffect(\"slideIn\", {\n directions: FOUR_DIRECTIONS,\n\n divisor: function(value) {\n this.options.divisor = value;\n return this;\n },\n\n prepare: function(start, end) {\n var that = this,\n tmp,\n element = that.element,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n direction = directions[that._direction],\n offset = -direction.modifier * (direction.vertical ? outerHeight(element) : outerWidth(element)),\n startValue = offset / (that.options && that.options.divisor || 1) + PX,\n endValue = \"0px\";\n\n if (that._reverse) {\n tmp = start;\n start = end;\n end = tmp;\n }\n\n if (transforms) {\n start[direction.transition] = startValue;\n end[direction.transition] = endValue;\n } else {\n start[direction.property] = startValue;\n end[direction.property] = endValue;\n }\n }\n });\n\n createEffect(\"tile\", {\n directions: FOUR_DIRECTIONS,\n\n init: function(element, direction, previous) {\n Effect.prototype.init.call(this, element, direction);\n this.options = { previous: previous };\n },\n\n previousDivisor: function(value) {\n this.options.previousDivisor = value;\n return this;\n },\n\n children: function() {\n var that = this,\n reverse = that._reverse,\n previous = that.options.previous,\n divisor = that.options.previousDivisor || 1,\n dir = that._direction;\n\n var children = [ kendo.fx(that.element).slideIn(dir).setReverse(reverse) ];\n\n if (previous) {\n children.push( kendo.fx(previous).slideIn(directions[dir].reverse).divisor(divisor).setReverse(!reverse) );\n }\n\n return children;\n }\n });\n\n function createToggleEffect(name, property, defaultStart, defaultEnd) {\n createEffect(name, {\n directions: IN_OUT,\n\n startValue: function(value) {\n this._startValue = value;\n return this;\n },\n\n endValue: function(value) {\n this._endValue = value;\n return this;\n },\n\n shouldHide: function() {\n return this._shouldHide;\n },\n\n prepare: function(start, end) {\n var that = this,\n startValue,\n endValue,\n out = this._direction === \"out\",\n startDataValue = that.element.data(property),\n startDataValueIsSet = !(isNaN(startDataValue) || startDataValue == defaultStart);\n\n if (startDataValueIsSet) {\n startValue = startDataValue;\n } else if (typeof this._startValue !== \"undefined\") {\n startValue = this._startValue;\n } else {\n startValue = out ? defaultStart : defaultEnd;\n }\n\n if (typeof this._endValue !== \"undefined\") {\n endValue = this._endValue;\n } else {\n endValue = out ? defaultEnd : defaultStart;\n }\n\n if (this._reverse) {\n start[property] = endValue;\n end[property] = startValue;\n } else {\n start[property] = startValue;\n end[property] = endValue;\n }\n\n that._shouldHide = end[property] === defaultEnd;\n }\n });\n }\n\n createToggleEffect(\"fade\", \"opacity\", 1, 0);\n createToggleEffect(\"zoom\", \"scale\", 1, 0.01);\n\n createEffect(\"slideMargin\", {\n prepare: function(start, end) {\n var that = this,\n element = that.element,\n options = that.options,\n origin = element.data(ORIGIN),\n offset = options.offset,\n margin,\n reverse = that._reverse;\n\n if (!reverse && origin === null) {\n element.data(ORIGIN, parseFloat(element.css(\"margin-\" + options.axis)));\n }\n\n margin = (element.data(ORIGIN) || 0);\n end[\"margin-\" + options.axis] = !reverse ? margin + offset : margin;\n }\n });\n\n createEffect(\"slideTo\", {\n prepare: function(start, end) {\n var that = this,\n element = that.element,\n options = that.options,\n offset = options.offset.split(\",\"),\n reverse = that._reverse;\n\n if (transforms) {\n end.translatex = !reverse ? offset[0] : 0;\n end.translatey = !reverse ? offset[1] : 0;\n } else {\n end.left = !reverse ? offset[0] : 0;\n end.top = !reverse ? offset[1] : 0;\n }\n element.css(\"left\");\n }\n });\n\n createEffect(\"expand\", {\n directions: [\"horizontal\", \"vertical\"],\n\n restore: [ OVERFLOW ],\n\n prepare: function(start, end) {\n var that = this,\n element = that.element,\n options = that.options,\n reverse = that._reverse,\n property = that._direction === \"vertical\" ? HEIGHT : WIDTH,\n setLength = element[0].style[property],\n oldLength = element.data(property),\n length = parseFloat(oldLength || setLength),\n realLength = round(element.css(property, AUTO)[property]());\n\n start.overflow = HIDDEN;\n\n length = (options && options.reset) ? realLength || length : length || realLength;\n\n end[property] = (reverse ? 0 : length) + PX;\n start[property] = (reverse ? length : 0) + PX;\n\n if (oldLength === undefined) {\n element.data(property, setLength);\n }\n },\n\n shouldHide: function() {\n return this._reverse;\n },\n\n teardown: function() {\n var that = this,\n element = that.element,\n property = that._direction === \"vertical\" ? HEIGHT : WIDTH,\n length = element.data(property);\n\n if (length == AUTO || length === BLANK) {\n setTimeout(function() { element.css(property, AUTO).css(property); }, 0); // jQuery animate complete callback in IE is called before the last animation step!\n }\n }\n });\n\n var TRANSFER_START_STATE = { position: \"absolute\", marginLeft: 0, marginTop: 0, scale: 1 };\n /**\n * Intersection point formulas are taken from here - http://zonalandeducation.com/mmts/intersections/intersectionOfTwoLines1/intersectionOfTwoLines1.html\n * Formula for a linear function from two points from here - http://demo.activemath.org/ActiveMath2/search/show.cmd?id=mbase://AC_UK_calculus/functions/ex_linear_equation_two_points\n * The transform origin point is the intersection point of the two lines from the top left corners/top right corners of the element and target.\n * The math and variables below MAY BE SIMPLIFIED (zeroes removed), but this would make the formula too cryptic.\n */\n createEffect(\"transfer\", {\n init: function(element, target) {\n this.element = element;\n this.options = { target: target };\n this.restore = [];\n },\n\n setup: function() {\n this.element.appendTo(document.body);\n },\n\n prepare: function(start, end) {\n var that = this,\n element = that.element,\n outerBox = fx.box(element),\n innerBox = fx.box(that.options.target),\n currentScale = animationProperty(element, \"scale\"),\n scale = fx.fillScale(innerBox, outerBox),\n transformOrigin = fx.transformOrigin(innerBox, outerBox);\n\n extend(start, TRANSFER_START_STATE);\n end.scale = 1;\n\n element.css(TRANSFORM, \"scale(1)\").css(TRANSFORM);\n element.css(TRANSFORM, \"scale(\" + currentScale + \")\");\n\n start.top = outerBox.top;\n start.left = outerBox.left;\n start.transformOrigin = transformOrigin.x + PX + \" \" + transformOrigin.y + PX;\n\n if (that._reverse) {\n start.scale = scale;\n } else {\n end.scale = scale;\n }\n }\n });\n\n\n var CLIPS = {\n top: \"rect(auto auto $size auto)\",\n bottom: \"rect($size auto auto auto)\",\n left: \"rect(auto $size auto auto)\",\n right: \"rect(auto auto auto $size)\"\n };\n\n var ROTATIONS = {\n top: { start: \"rotatex(0deg)\", end: \"rotatex(180deg)\" },\n bottom: { start: \"rotatex(-180deg)\", end: \"rotatex(0deg)\" },\n left: { start: \"rotatey(0deg)\", end: \"rotatey(-180deg)\" },\n right: { start: \"rotatey(180deg)\", end: \"rotatey(0deg)\" }\n };\n\n function clipInHalf(container, direction) {\n var vertical = kendo.directions[direction].vertical,\n size = (container[vertical ? HEIGHT : WIDTH]() / 2) + \"px\";\n\n return CLIPS[direction].replace(\"$size\", size);\n }\n\n createEffect(\"turningPage\", {\n directions: FOUR_DIRECTIONS,\n\n init: function(element, direction, container) {\n Effect.prototype.init.call(this, element, direction);\n this._container = container;\n },\n\n prepare: function(start, end) {\n var that = this,\n reverse = that._reverse,\n direction = reverse ? directions[that._direction].reverse : that._direction,\n rotation = ROTATIONS[direction];\n\n start.zIndex = 1;\n\n if (that._clipInHalf) {\n start.clip = clipInHalf(that._container, kendo.directions[direction].reverse);\n }\n\n start[BACKFACE] = HIDDEN;\n\n end[TRANSFORM] = TRANSFORM_PERSPECTIVE + (reverse ? rotation.start : rotation.end);\n start[TRANSFORM] = TRANSFORM_PERSPECTIVE + (reverse ? rotation.end : rotation.start);\n },\n\n setup: function() {\n this._container.append(this.element);\n },\n\n face: function(value) {\n this._face = value;\n return this;\n },\n\n shouldHide: function() {\n var that = this,\n reverse = that._reverse,\n face = that._face;\n\n return (reverse && !face) || (!reverse && face);\n },\n\n clipInHalf: function(value) {\n this._clipInHalf = value;\n return this;\n },\n\n temporary: function() {\n this.element.addClass('temp-page');\n return this;\n }\n });\n\n createEffect(\"staticPage\", {\n directions: FOUR_DIRECTIONS,\n\n init: function(element, direction, container) {\n Effect.prototype.init.call(this, element, direction);\n this._container = container;\n },\n\n restore: [\"clip\"],\n\n prepare: function(start, end) {\n var that = this,\n direction = that._reverse ? directions[that._direction].reverse : that._direction;\n\n start.clip = clipInHalf(that._container, direction);\n start.opacity = 0.999;\n end.opacity = 1;\n },\n\n shouldHide: function() {\n var that = this,\n reverse = that._reverse,\n face = that._face;\n\n return (reverse && !face) || (!reverse && face);\n },\n\n face: function(value) {\n this._face = value;\n return this;\n }\n });\n\n createEffect(\"pageturn\", {\n directions: [\"horizontal\", \"vertical\"],\n\n init: function(element, direction, face, back) {\n Effect.prototype.init.call(this, element, direction);\n this.options = {};\n this.options.face = face;\n this.options.back = back;\n },\n\n children: function() {\n var that = this,\n options = that.options,\n direction = that._direction === \"horizontal\" ? \"left\" : \"top\",\n reverseDirection = kendo.directions[direction].reverse,\n reverse = that._reverse,\n temp,\n faceClone = options.face.clone(true).removeAttr(\"id\"),\n backClone = options.back.clone(true).removeAttr(\"id\"),\n element = that.element;\n\n if (reverse) {\n temp = direction;\n direction = reverseDirection;\n reverseDirection = temp;\n }\n\n return [\n kendo.fx(options.face).staticPage(direction, element).face(true).setReverse(reverse),\n kendo.fx(options.back).staticPage(reverseDirection, element).setReverse(reverse),\n kendo.fx(faceClone).turningPage(direction, element).face(true).clipInHalf(true).temporary().setReverse(reverse),\n kendo.fx(backClone).turningPage(reverseDirection, element).clipInHalf(true).temporary().setReverse(reverse)\n ];\n },\n\n prepare: function(start, end) {\n start[PERSPECTIVE] = DEFAULT_PERSPECTIVE;\n start.transformStyle = \"preserve-3d\";\n // hack to trigger transition end.\n start.opacity = 0.999;\n end.opacity = 1;\n },\n\n teardown: function() {\n this.element.find(\".temp-page\").remove();\n }\n });\n\n createEffect(\"flip\", {\n directions: [\"horizontal\", \"vertical\"],\n\n init: function(element, direction, face, back) {\n Effect.prototype.init.call(this, element, direction);\n this.options = {};\n this.options.face = face;\n this.options.back = back;\n },\n\n children: function() {\n var that = this,\n options = that.options,\n direction = that._direction === \"horizontal\" ? \"left\" : \"top\",\n reverseDirection = kendo.directions[direction].reverse,\n reverse = that._reverse,\n temp,\n element = that.element;\n\n if (reverse) {\n temp = direction;\n direction = reverseDirection;\n reverseDirection = temp;\n }\n\n return [\n kendo.fx(options.face).turningPage(direction, element).face(true).setReverse(reverse),\n kendo.fx(options.back).turningPage(reverseDirection, element).setReverse(reverse)\n ];\n },\n\n prepare: function(start) {\n start[PERSPECTIVE] = DEFAULT_PERSPECTIVE;\n start.transformStyle = \"preserve-3d\";\n }\n });\n\n var RESTORE_OVERFLOW = !support.mobileOS.android;\n var IGNORE_TRANSITION_EVENT_SELECTOR = \".km-touch-scrollbar, .km-actionsheet-wrapper\";\n\n createEffect(\"replace\", {\n _before: $.noop,\n _after: $.noop,\n init: function(element, previous, transitionClass) {\n Effect.prototype.init.call(this, element);\n this._previous = $(previous);\n this._transitionClass = transitionClass;\n },\n\n duration: function() {\n throw new Error(\"The replace effect does not support duration setting; the effect duration may be customized through the transition class rule\");\n },\n\n beforeTransition: function(callback) {\n this._before = callback;\n return this;\n },\n\n afterTransition: function(callback) {\n this._after = callback;\n return this;\n },\n\n _both: function() {\n return $().add(this._element).add(this._previous);\n },\n\n _containerClass: function() {\n var direction = this._direction,\n containerClass = \"k-fx k-fx-start k-fx-\" + this._transitionClass;\n\n if (direction) {\n containerClass += \" k-fx-\" + direction;\n }\n\n if (this._reverse) {\n containerClass += \" k-fx-reverse\";\n }\n\n return containerClass;\n },\n\n complete: function(e) {\n if (!this.deferred || (e && $(e.target).is(IGNORE_TRANSITION_EVENT_SELECTOR))) {\n return;\n }\n\n var container = this.container;\n\n container\n .removeClass(\"k-fx-end\")\n .removeClass(this._containerClass())\n .off(transitions.event, this.completeProxy);\n\n this._previous.hide().removeClass(\"k-fx-current\");\n this.element.removeClass(\"k-fx-next\");\n\n if (RESTORE_OVERFLOW) {\n container.css(OVERFLOW, \"\");\n }\n\n if (!this.isAbsolute) {\n this._both().css(POSITION, \"\");\n }\n\n this.deferred.resolve();\n delete this.deferred;\n },\n\n run: function() {\n if (this._additionalEffects && this._additionalEffects[0]) {\n return this.compositeRun();\n }\n\n var that = this,\n element = that.element,\n previous = that._previous,\n container = element.parents().filter(previous.parents()).first(),\n both = that._both(),\n deferred = $.Deferred(),\n originalPosition = element.css(POSITION),\n originalOverflow;\n\n // edge case for grid/scheduler, where the previous is already destroyed.\n if (!container.length) {\n container = element.parent();\n }\n\n this.container = container;\n this.deferred = deferred;\n this.isAbsolute = originalPosition == \"absolute\";\n\n if (!this.isAbsolute) {\n both.css(POSITION, \"absolute\");\n }\n\n if (RESTORE_OVERFLOW) {\n originalOverflow = container.css(OVERFLOW);\n container.css(OVERFLOW, \"hidden\");\n }\n\n if (!transitions) {\n this.complete();\n } else {\n element.addClass(\"k-fx-hidden\");\n\n container.addClass(this._containerClass());\n\n this.completeProxy = $.proxy(this, \"complete\");\n container.on(transitions.event, this.completeProxy);\n\n kendo.animationFrame(function() {\n element.removeClass(\"k-fx-hidden\").addClass(\"k-fx-next\");\n previous.css(\"display\", \"\").addClass(\"k-fx-current\");\n that._before(previous, element);\n kendo.animationFrame(function() {\n container.removeClass(\"k-fx-start\").addClass(\"k-fx-end\");\n that._after(previous, element);\n });\n });\n }\n\n return deferred.promise();\n },\n\n stop: function() {\n this.complete();\n }\n });\n\n var Animation = kendo.Class.extend({\n init: function() {\n var that = this;\n that._tickProxy = proxy(that._tick, that);\n that._started = false;\n },\n\n tick: $.noop,\n done: $.noop,\n onEnd: $.noop,\n onCancel: $.noop,\n\n start: function() {\n if (!this.enabled()) {\n return;\n }\n\n if (!this.done()) {\n this._started = true;\n kendo.animationFrame(this._tickProxy);\n } else {\n this.onEnd();\n }\n },\n\n enabled: function() {\n return true;\n },\n\n cancel: function() {\n this._started = false;\n this.onCancel();\n },\n\n _tick: function() {\n var that = this;\n if (!that._started) { return; }\n\n that.tick();\n\n if (!that.done()) {\n kendo.animationFrame(that._tickProxy);\n } else {\n that._started = false;\n that.onEnd();\n }\n }\n });\n\n var Transition = Animation.extend({\n init: function(options) {\n var that = this;\n extend(that, options);\n Animation.fn.init.call(that);\n },\n\n done: function() {\n return this.timePassed() >= this.duration;\n },\n\n timePassed: function() {\n return Math.min(this.duration, (new Date()) - this.startDate);\n },\n\n moveTo: function(options) {\n var that = this,\n movable = that.movable;\n\n that.initial = movable[that.axis];\n that.delta = options.location - that.initial;\n\n that.duration = typeof options.duration == \"number\" ? options.duration : 300;\n\n that.tick = that._easeProxy(options.ease);\n\n that.startDate = new Date();\n that.start();\n },\n\n _easeProxy: function(ease) {\n var that = this;\n\n return function() {\n that.movable.moveAxis(that.axis, ease(that.timePassed(), that.initial, that.delta, that.duration));\n };\n }\n });\n\n extend(Transition, {\n easeOutExpo: function (t, b, c, d) {\n return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;\n },\n\n easeOutBack: function (t, b, c, d, s) {\n s = 1.70158;\n return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;\n }\n });\n\n fx.Animation = Animation;\n fx.Transition = Transition;\n fx.createEffect = createEffect;\n\n fx.box = function(element) {\n element = $(element);\n var result = element.offset();\n result.width = kendo._outerWidth(element);\n result.height = kendo._outerHeight(element);\n return result;\n };\n\n fx.transformOrigin = function(inner, outer) {\n var x = (inner.left - outer.left) * outer.width / (outer.width - inner.width),\n y = (inner.top - outer.top) * outer.height / (outer.height - inner.height);\n\n return {\n x: isNaN(x) ? 0 : x,\n y: isNaN(y) ? 0 : y\n };\n };\n\n fx.fillScale = function(inner, outer) {\n return Math.min(inner.width / outer.width, inner.height / outer.height);\n };\n\n fx.fitScale = function(inner, outer) {\n return Math.max(inner.width / outer.width, inner.height / outer.height);\n };\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.userevents',[ \"./kendo.core\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"userevents\",\n name: \"User Events\",\n category: \"framework\",\n depends: [ \"core\" ],\n hidden: true\n};\n\n(function ($, undefined) {\n var kendo = window.kendo,\n support = kendo.support,\n Class = kendo.Class,\n Observable = kendo.Observable,\n now = Date.now,\n extend = $.extend,\n OS = support.mobileOS,\n invalidZeroEvents = OS && OS.android,\n DEFAULT_MIN_HOLD = 800,\n CLICK_DELAY = 300,\n DEFAULT_THRESHOLD = support.browser.msie ? 5 : 0, // WP8 and W8 are very sensitive and always report move.\n\n // UserEvents events\n PRESS = \"press\",\n HOLD = \"hold\",\n SELECT = \"select\",\n START = \"start\",\n MOVE = \"move\",\n END = \"end\",\n CANCEL = \"cancel\",\n TAP = \"tap\",\n DOUBLETAP = \"doubleTap\",\n RELEASE = \"release\",\n GESTURESTART = \"gesturestart\",\n GESTURECHANGE = \"gesturechange\",\n GESTUREEND = \"gestureend\",\n GESTURETAP = \"gesturetap\";\n\n var THRESHOLD = {\n \"api\": 0,\n \"touch\": 0,\n \"mouse\": 9,\n \"pointer\": 9\n };\n\n var ENABLE_GLOBAL_SURFACE = (!support.touch || support.mouseAndTouchPresent);\n\n function touchDelta(touch1, touch2) {\n var x1 = touch1.x.location,\n y1 = touch1.y.location,\n x2 = touch2.x.location,\n y2 = touch2.y.location,\n dx = x1 - x2,\n dy = y1 - y2;\n\n return {\n center: {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n },\n\n distance: Math.sqrt(dx*dx + dy*dy)\n };\n }\n\n function getTouches(e) {\n var touches = [],\n originalEvent = e.originalEvent,\n currentTarget = e.currentTarget,\n idx = 0, length,\n changedTouches,\n touch;\n\n if (e.api) {\n touches.push({\n id: 2, // hardcoded ID for API call;\n event: e,\n target: e.target,\n currentTarget: e.target,\n location: e,\n type: \"api\"\n });\n }\n else if (e.type.match(/touch/)) {\n changedTouches = originalEvent ? originalEvent.changedTouches : [];\n for (length = changedTouches.length; idx < length; idx ++) {\n touch = changedTouches[idx];\n touches.push({\n location: touch,\n event: e,\n target: touch.target,\n currentTarget: currentTarget,\n id: touch.identifier,\n type: \"touch\"\n });\n }\n }\n else if (support.pointers || support.msPointers) {\n touches.push({\n location: originalEvent,\n event: e,\n target: e.target,\n currentTarget: currentTarget,\n id: originalEvent.pointerId,\n type: \"pointer\"\n });\n } else {\n touches.push({\n id: 1, // hardcoded ID for mouse event;\n event: e,\n target: e.target,\n currentTarget: currentTarget,\n location: e,\n type: \"mouse\"\n });\n }\n\n return touches;\n }\n\n var TouchAxis = Class.extend({\n init: function(axis, location) {\n var that = this;\n\n that.axis = axis;\n\n that._updateLocationData(location);\n\n that.startLocation = that.location;\n that.velocity = that.delta = 0;\n that.timeStamp = now();\n },\n\n move: function(location) {\n var that = this,\n offset = location[\"page\" + that.axis],\n timeStamp = now(),\n timeDelta = (timeStamp - that.timeStamp) || 1; // Firing manually events in tests can make this 0;\n\n if (!offset && invalidZeroEvents) {\n return;\n }\n\n that.delta = offset - that.location;\n\n that._updateLocationData(location);\n\n that.initialDelta = offset - that.startLocation;\n that.velocity = that.delta / timeDelta;\n that.timeStamp = timeStamp;\n },\n\n _updateLocationData: function(location) {\n var that = this, axis = that.axis;\n\n that.location = location[\"page\" + axis];\n that.client = location[\"client\" + axis];\n that.screen = location[\"screen\" + axis];\n }\n });\n\n var Touch = Class.extend({\n init: function(userEvents, target, touchInfo) {\n extend(this, {\n x: new TouchAxis(\"X\", touchInfo.location),\n y: new TouchAxis(\"Y\", touchInfo.location),\n type: touchInfo.type,\n useClickAsTap: userEvents.useClickAsTap,\n threshold: userEvents.threshold || THRESHOLD[touchInfo.type],\n userEvents: userEvents,\n target: target,\n currentTarget: touchInfo.currentTarget,\n initialTouch: touchInfo.target,\n id: touchInfo.id,\n pressEvent: touchInfo,\n _clicks: userEvents._clicks,\n supportDoubleTap: userEvents.supportDoubleTap,\n _moved: false,\n _finished: false\n });\n },\n\n press: function() {\n this._holdTimeout = setTimeout($.proxy(this, \"_hold\"), this.userEvents.minHold);\n this._trigger(PRESS, this.pressEvent);\n },\n\n _tap: function(touchInfo) {\n var that = this;\n that.userEvents._clicks++;\n if (that.userEvents._clicks == 1) {\n that._clickTimeout = setTimeout(function() {\n if (that.userEvents._clicks == 1) {\n that._trigger(TAP, touchInfo);\n }\n else {\n that._trigger(DOUBLETAP, touchInfo);\n }\n that.userEvents._clicks = 0;\n }, CLICK_DELAY);\n }\n },\n\n _hold: function() {\n this._trigger(HOLD, this.pressEvent);\n },\n\n move: function(touchInfo) {\n var that = this;\n var preventMove = touchInfo.type !== \"api\" && that.userEvents._shouldNotMove;\n\n if (that._finished || preventMove) { return; }\n\n that.x.move(touchInfo.location);\n that.y.move(touchInfo.location);\n\n if (!that._moved) {\n if (that._withinIgnoreThreshold()) {\n return;\n }\n\n if (!UserEvents.current || UserEvents.current === that.userEvents) {\n that._start(touchInfo);\n } else {\n return that.dispose();\n }\n }\n\n // Event handlers may cancel the drag in the START event handler, hence the double check for pressed.\n if (!that._finished) {\n that._trigger(MOVE, touchInfo);\n }\n },\n\n end: function(touchInfo) {\n this.endTime = now();\n\n if (this._finished) { return; }\n\n // Mark the object as finished if there are blocking operations in the event handlers (alert/confirm)\n this._finished = true;\n\n this._trigger(RELEASE, touchInfo); // Release should be fired before TAP (as click is after mouseup/touchend)\n\n if (this._moved) {\n this._trigger(END, touchInfo);\n } else {\n if (!this.useClickAsTap) {\n if (this.supportDoubleTap) {\n this._tap(touchInfo);\n }\n else {\n this._trigger(TAP, touchInfo);\n }\n }\n }\n\n clearTimeout(this._holdTimeout);\n\n this.dispose();\n },\n\n dispose: function() {\n var userEvents = this.userEvents,\n activeTouches = userEvents.touches;\n\n this._finished = true;\n this.pressEvent = null;\n clearTimeout(this._holdTimeout);\n\n activeTouches.splice($.inArray(this, activeTouches), 1);\n },\n\n skip: function() {\n this.dispose();\n },\n\n cancel: function() {\n this.dispose();\n },\n\n isMoved: function() {\n return this._moved;\n },\n\n _start: function(touchInfo) {\n clearTimeout(this._holdTimeout);\n\n this.startTime = now();\n this._moved = true;\n this._trigger(START, touchInfo);\n },\n\n _trigger: function(name, touchInfo) {\n var that = this,\n jQueryEvent = touchInfo.event,\n data = {\n touch: that,\n x: that.x,\n y: that.y,\n target: that.target,\n event: jQueryEvent\n };\n\n if(that.userEvents.notify(name, data)) {\n jQueryEvent.preventDefault();\n }\n },\n\n _withinIgnoreThreshold: function() {\n var xDelta = this.x.initialDelta,\n yDelta = this.y.initialDelta;\n\n return Math.sqrt(xDelta * xDelta + yDelta * yDelta) <= this.threshold;\n }\n });\n\n function withEachUpEvent(callback) {\n var downEvents = kendo.eventMap.up.split(\" \"),\n idx = 0,\n length = downEvents.length;\n\n for(; idx < length; idx ++) {\n callback(downEvents[idx]);\n }\n }\n\n var UserEvents = Observable.extend({\n init: function(element, options) {\n var that = this,\n filter,\n ns = kendo.guid();\n\n options = options || {};\n filter = that.filter = options.filter;\n that.threshold = options.threshold || DEFAULT_THRESHOLD;\n that.minHold = options.minHold || DEFAULT_MIN_HOLD;\n that.touches = [];\n that._maxTouches = options.multiTouch ? 2 : 1;\n that.allowSelection = options.allowSelection;\n that.captureUpIfMoved = options.captureUpIfMoved;\n that.useClickAsTap = !options.fastTap && !support.delayedClick();\n that.eventNS = ns;\n that._clicks = 0;\n that.supportDoubleTap = options.supportDoubleTap;\n\n element = $(element).handler(that);\n Observable.fn.init.call(that);\n\n extend(that, {\n element: element,\n // the touch events lock to the element anyway, so no need for the global setting\n surface: options.global && ENABLE_GLOBAL_SURFACE ? $(element[0].ownerDocument.documentElement) : $(options.surface || element),\n stopPropagation: options.stopPropagation,\n pressed: false\n });\n\n that.surface.handler(that)\n .on(kendo.applyEventMap(\"move\", ns), \"_move\")\n .on(kendo.applyEventMap(\"up cancel\", ns), \"_end\");\n\n element.on(kendo.applyEventMap(\"down\", ns), filter, \"_start\");\n\n if (that.useClickAsTap) {\n element.on(kendo.applyEventMap(\"click\", ns), filter, \"_click\");\n }\n\n if (support.pointers || support.msPointers) {\n //touch-action:none will not work for IE10\n if (support.browser.version < 11) {\n var defaultAction = \"pinch-zoom double-tap-zoom\";\n element.css(\"-ms-touch-action\", options.touchAction && options.touchAction != \"none\" ? defaultAction + \" \" + options.touchAction : defaultAction);\n } else {\n element.css(\"touch-action\", options.touchAction || \"none\");\n }\n }\n\n if (options.preventDragEvent) {\n element.on(kendo.applyEventMap(\"dragstart\", ns), kendo.preventDefault);\n }\n\n element.on(kendo.applyEventMap(\"mousedown\", ns), filter, { root: element }, \"_select\");\n\n if (that.captureUpIfMoved && support.eventCapture) {\n var surfaceElement = that.surface[0],\n preventIfMovingProxy = $.proxy(that.preventIfMoving, that);\n\n withEachUpEvent(function(eventName) {\n surfaceElement.addEventListener(eventName, preventIfMovingProxy, true);\n });\n }\n\n that.bind([\n PRESS,\n HOLD,\n TAP,\n DOUBLETAP,\n START,\n MOVE,\n END,\n RELEASE,\n CANCEL,\n GESTURESTART,\n GESTURECHANGE,\n GESTUREEND,\n GESTURETAP,\n SELECT\n ], options);\n },\n\n preventIfMoving: function(e) {\n if (this._isMoved()) {\n e.preventDefault();\n }\n },\n\n destroy: function() {\n var that = this;\n\n if (that._destroyed) {\n return;\n }\n\n that._destroyed = true;\n\n if (that.captureUpIfMoved && support.eventCapture) {\n var surfaceElement = that.surface[0];\n withEachUpEvent(function(eventName) {\n surfaceElement.removeEventListener(eventName, that.preventIfMoving);\n });\n }\n\n that.element.kendoDestroy(that.eventNS);\n that.surface.kendoDestroy(that.eventNS);\n that.element.removeData(\"handler\");\n that.surface.removeData(\"handler\");\n that._disposeAll();\n\n that.unbind();\n delete that.surface;\n delete that.element;\n delete that.currentTarget;\n },\n\n capture: function() {\n UserEvents.current = this;\n },\n\n cancel: function() {\n this._disposeAll();\n this.trigger(CANCEL);\n },\n\n notify: function(eventName, data) {\n var that = this,\n touches = that.touches;\n\n if (this._isMultiTouch()) {\n switch(eventName) {\n case MOVE:\n eventName = GESTURECHANGE;\n break;\n case END:\n eventName = GESTUREEND;\n break;\n case TAP:\n eventName = GESTURETAP;\n break;\n }\n\n extend(data, {touches: touches}, touchDelta(touches[0], touches[1]));\n }\n\n return this.trigger(eventName, extend(data, {type: eventName}));\n },\n\n // API\n press: function(x, y, target) {\n this._apiCall(\"_start\", x, y, target);\n },\n\n move: function(x, y) {\n this._apiCall(\"_move\", x, y);\n },\n\n end: function(x, y) {\n this._apiCall(\"_end\", x, y);\n },\n\n _isMultiTouch: function() {\n return this.touches.length > 1;\n },\n\n _maxTouchesReached: function() {\n return this.touches.length >= this._maxTouches;\n },\n\n _disposeAll: function() {\n var touches = this.touches;\n while (touches.length > 0) {\n touches.pop().dispose();\n }\n },\n\n _isMoved: function() {\n return $.grep(this.touches, function(touch) {\n return touch.isMoved();\n }).length;\n },\n\n _select: function(e) {\n if (!this.allowSelection || this.trigger(SELECT, { event: e })) {\n e.preventDefault();\n }\n },\n\n _start: function(e) {\n var that = this,\n idx = 0,\n filter = that.filter,\n target,\n touches = getTouches(e),\n length = touches.length,\n touch,\n which = e.which;\n\n if ((which && which > 1) || (that._maxTouchesReached())){\n return;\n }\n\n UserEvents.current = null;\n\n that.currentTarget = e.currentTarget;\n\n if (that.stopPropagation) {\n e.stopPropagation();\n }\n\n for (; idx < length; idx ++) {\n if (that._maxTouchesReached()) {\n break;\n }\n\n touch = touches[idx];\n\n if (filter) {\n target = $(touch.currentTarget); // target.is(filter) ? target : target.closest(filter, that.element);\n } else {\n target = that.element;\n }\n\n if (!target.length) {\n continue;\n }\n\n touch = new Touch(that, target, touch);\n that.touches.push(touch);\n touch.press();\n\n if (that._isMultiTouch()) {\n that.notify(\"gesturestart\", {});\n }\n }\n },\n\n _move: function(e) {\n this._eachTouch(\"move\", e);\n },\n\n _end: function(e) {\n this._eachTouch(\"end\", e);\n },\n\n _click: function(e) {\n var data = {\n touch: {\n initialTouch: e.target,\n target: $(e.currentTarget),\n endTime: now(),\n x: {\n location: e.pageX,\n client: e.clientX\n },\n y: {\n location: e.pageY,\n client: e.clientY\n }\n },\n x: e.pageX,\n y: e.pageY,\n target: $(e.currentTarget),\n event: e,\n type: \"tap\"\n };\n\n if (this.trigger(\"tap\", data)) {\n e.preventDefault();\n }\n },\n\n _eachTouch: function(methodName, e) {\n var that = this,\n dict = {},\n touches = getTouches(e),\n activeTouches = that.touches,\n idx,\n touch,\n touchInfo,\n matchingTouch;\n\n for (idx = 0; idx < activeTouches.length; idx ++) {\n touch = activeTouches[idx];\n dict[touch.id] = touch;\n }\n\n for (idx = 0; idx < touches.length; idx ++) {\n touchInfo = touches[idx];\n matchingTouch = dict[touchInfo.id];\n\n if (matchingTouch) {\n matchingTouch[methodName](touchInfo);\n }\n }\n },\n\n _apiCall: function(type, x, y, target) {\n this[type]({\n api: true,\n pageX: x,\n pageY: y,\n clientX: x,\n clientY: y,\n target: $(target || this.element)[0],\n stopPropagation: $.noop,\n preventDefault: $.noop\n });\n }\n });\n\n UserEvents.defaultThreshold = function(value) {\n DEFAULT_THRESHOLD = value;\n };\n\n UserEvents.minHold = function(value) {\n DEFAULT_MIN_HOLD = value;\n };\n\n kendo.getTouches = getTouches;\n kendo.touchDelta = touchDelta;\n kendo.UserEvents = UserEvents;\n })(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.draganddrop',[ \"./kendo.core\", \"./kendo.userevents\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"draganddrop\",\n name: \"Drag & drop\",\n category: \"framework\",\n description: \"Drag & drop functionality for any DOM element.\",\n depends: [ \"core\", \"userevents\" ]\n};\n\n(function ($, undefined) {\n var kendo = window.kendo,\n support = kendo.support,\n document = window.document,\n $window = $(window),\n Class = kendo.Class,\n Widget = kendo.ui.Widget,\n Observable = kendo.Observable,\n UserEvents = kendo.UserEvents,\n proxy = $.proxy,\n extend = $.extend,\n getOffset = kendo.getOffset,\n draggables = {},\n dropTargets = {},\n dropAreas = {},\n lastDropTarget,\n elementUnderCursor = kendo.elementUnderCursor,\n KEYUP = \"keyup\",\n CHANGE = \"change\",\n\n // Draggable events\n DRAGSTART = \"dragstart\",\n HOLD = \"hold\",\n DRAG = \"drag\",\n DRAGEND = \"dragend\",\n DRAGCANCEL = \"dragcancel\",\n HINTDESTROYED = \"hintDestroyed\",\n\n // DropTarget events\n DRAGENTER = \"dragenter\",\n DRAGLEAVE = \"dragleave\",\n DROP = \"drop\";\n\n function contains(parent, child) {\n try {\n return $.contains(parent, child) || parent == child;\n } catch (e) {\n return false;\n }\n }\n\n function numericCssPropery(element, property) {\n return parseInt(element.css(property), 10) || 0;\n }\n\n function within(value, range) {\n return Math.min(Math.max(value, range.min), range.max);\n }\n\n function containerBoundaries(container, element) {\n var offset = getOffset(container),\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n minX = offset.left + numericCssPropery(container, \"borderLeftWidth\") + numericCssPropery(container, \"paddingLeft\"),\n minY = offset.top + numericCssPropery(container, \"borderTopWidth\") + numericCssPropery(container, \"paddingTop\"),\n maxX = minX + container.width() - outerWidth(element, true),\n maxY = minY + container.height() - outerHeight(element, true);\n\n return {\n x: { min: minX, max: maxX },\n y: { min: minY, max: maxY }\n };\n }\n\n function checkTarget(target, targets, areas) {\n var theTarget, theFilter, i = 0,\n targetLen = targets && targets.length,\n areaLen = areas && areas.length;\n\n while (target && target.parentNode) {\n for (i = 0; i < targetLen; i ++) {\n theTarget = targets[i];\n if (theTarget.element[0] === target) {\n return { target: theTarget, targetElement: target };\n }\n }\n\n for (i = 0; i < areaLen; i ++) {\n theFilter = areas[i];\n if ($.contains(theFilter.element[0], target) && support.matchesSelector.call(target, theFilter.options.filter)) {\n return { target: theFilter, targetElement: target };\n }\n }\n\n target = target.parentNode;\n }\n\n return undefined;\n }\n\n var TapCapture = Observable.extend({\n init: function(element, options) {\n var that = this,\n domElement = element[0];\n\n that.capture = false;\n\n if (domElement.addEventListener) {\n $.each(kendo.eventMap.down.split(\" \"), function() {\n domElement.addEventListener(this, proxy(that._press, that), true);\n });\n $.each(kendo.eventMap.up.split(\" \"), function() {\n domElement.addEventListener(this, proxy(that._release, that), true);\n });\n } else {\n $.each(kendo.eventMap.down.split(\" \"), function() {\n domElement.attachEvent(this, proxy(that._press, that));\n });\n $.each(kendo.eventMap.up.split(\" \"), function() {\n domElement.attachEvent(this, proxy(that._release, that));\n });\n }\n\n Observable.fn.init.call(that);\n\n that.bind([\"press\", \"release\"], options || {});\n },\n\n captureNext: function() {\n this.capture = true;\n },\n\n cancelCapture: function() {\n this.capture = false;\n },\n\n _press: function(e) {\n var that = this;\n that.trigger(\"press\");\n if (that.capture) {\n e.preventDefault();\n }\n },\n\n _release: function(e) {\n var that = this;\n that.trigger(\"release\");\n\n if (that.capture) {\n e.preventDefault();\n that.cancelCapture();\n }\n }\n });\n\n var PaneDimension = Observable.extend({\n init: function(options) {\n var that = this;\n Observable.fn.init.call(that);\n\n that.forcedEnabled = false;\n\n $.extend(that, options);\n\n that.scale = 1;\n\n if (that.horizontal) {\n that.measure = \"offsetWidth\";\n that.scrollSize = \"scrollWidth\";\n that.axis = \"x\";\n } else {\n that.measure = \"offsetHeight\";\n that.scrollSize = \"scrollHeight\";\n that.axis = \"y\";\n }\n },\n\n makeVirtual: function() {\n $.extend(this, {\n virtual: true,\n forcedEnabled: true,\n _virtualMin: 0,\n _virtualMax: 0\n });\n },\n\n virtualSize: function(min, max) {\n if (this._virtualMin !== min || this._virtualMax !== max) {\n this._virtualMin = min;\n this._virtualMax = max;\n this.update();\n }\n },\n\n outOfBounds: function(offset) {\n return offset > this.max || offset < this.min;\n },\n\n forceEnabled: function() {\n this.forcedEnabled = true;\n },\n\n getSize: function() {\n return this.container[0][this.measure];\n },\n\n getTotal: function() {\n return this.element[0][this.scrollSize];\n },\n\n rescale: function(scale) {\n this.scale = scale;\n },\n\n update: function(silent) {\n var that = this,\n total = that.virtual ? that._virtualMax : that.getTotal(),\n scaledTotal = total * that.scale,\n size = that.getSize();\n\n if (total === 0 && !that.forcedEnabled) {\n return; // we are not visible.\n }\n\n that.max = that.virtual ? -that._virtualMin : 0;\n that.size = size;\n that.total = scaledTotal;\n that.min = Math.min(that.max, size - scaledTotal);\n that.minScale = size / total;\n that.centerOffset = (scaledTotal - size) / 2;\n\n that.enabled = that.forcedEnabled || (scaledTotal > size);\n\n if (!silent) {\n that.trigger(CHANGE, that);\n }\n }\n });\n\n var PaneDimensions = Observable.extend({\n init: function(options) {\n var that = this;\n\n Observable.fn.init.call(that);\n\n that.x = new PaneDimension(extend({horizontal: true}, options));\n that.y = new PaneDimension(extend({horizontal: false}, options));\n that.container = options.container;\n that.forcedMinScale = options.minScale;\n that.maxScale = options.maxScale || 100;\n\n that.bind(CHANGE, options);\n },\n\n rescale: function(newScale) {\n this.x.rescale(newScale);\n this.y.rescale(newScale);\n this.refresh();\n },\n\n centerCoordinates: function() {\n return { x: Math.min(0, -this.x.centerOffset), y: Math.min(0, -this.y.centerOffset) };\n },\n\n refresh: function() {\n var that = this;\n that.x.update();\n that.y.update();\n that.enabled = that.x.enabled || that.y.enabled;\n that.minScale = that.forcedMinScale || Math.min(that.x.minScale, that.y.minScale);\n that.fitScale = Math.max(that.x.minScale, that.y.minScale);\n that.trigger(CHANGE);\n }\n });\n\n var PaneAxis = Observable.extend({\n init: function(options) {\n var that = this;\n extend(that, options);\n Observable.fn.init.call(that);\n },\n\n outOfBounds: function() {\n return this.dimension.outOfBounds(this.movable[this.axis]);\n },\n\n dragMove: function(delta) {\n var that = this,\n dimension = that.dimension,\n axis = that.axis,\n movable = that.movable,\n position = movable[axis] + delta;\n\n if (!dimension.enabled) {\n return;\n }\n\n if ((position < dimension.min && delta < 0) || (position > dimension.max && delta > 0)) {\n delta *= that.resistance;\n }\n\n movable.translateAxis(axis, delta);\n that.trigger(CHANGE, that);\n }\n });\n\n var Pane = Class.extend({\n\n init: function(options) {\n var that = this,\n x,\n y,\n resistance,\n movable;\n\n extend(that, {elastic: true}, options);\n\n resistance = that.elastic ? 0.5 : 0;\n movable = that.movable;\n\n that.x = x = new PaneAxis({\n axis: \"x\",\n dimension: that.dimensions.x,\n resistance: resistance,\n movable: movable\n });\n\n that.y = y = new PaneAxis({\n axis: \"y\",\n dimension: that.dimensions.y,\n resistance: resistance,\n movable: movable\n });\n\n that.userEvents.bind([\"press\", \"move\", \"end\", \"gesturestart\", \"gesturechange\"], {\n gesturestart: function(e) {\n that.gesture = e;\n that.offset = that.dimensions.container.offset();\n },\n\n press: function(e) {\n if ($(e.event.target).closest(\"a\").is(\"[data-navigate-on-press=true]\")) {\n e.sender.cancel();\n }\n },\n\n gesturechange: function(e) {\n var previousGesture = that.gesture,\n previousCenter = previousGesture.center,\n\n center = e.center,\n\n scaleDelta = e.distance / previousGesture.distance,\n\n minScale = that.dimensions.minScale,\n maxScale = that.dimensions.maxScale,\n coordinates;\n\n if (movable.scale <= minScale && scaleDelta < 1) {\n // Resist shrinking. Instead of shrinking from 1 to 0.5, it will shrink to 0.5 + (1 /* minScale */ - 0.5) * 0.8 = 0.9;\n scaleDelta += (1 - scaleDelta) * 0.8;\n }\n\n if (movable.scale * scaleDelta >= maxScale) {\n scaleDelta = maxScale / movable.scale;\n }\n\n var offsetX = movable.x + that.offset.left,\n offsetY = movable.y + that.offset.top;\n\n coordinates = {\n x: (offsetX - previousCenter.x) * scaleDelta + center.x - offsetX,\n y: (offsetY - previousCenter.y) * scaleDelta + center.y - offsetY\n };\n\n movable.scaleWith(scaleDelta);\n\n x.dragMove(coordinates.x);\n y.dragMove(coordinates.y);\n\n that.dimensions.rescale(movable.scale);\n that.gesture = e;\n e.preventDefault();\n },\n\n move: function(e) {\n if (e.event.target.tagName.match(/textarea|input/i)) {\n return;\n }\n\n if (x.dimension.enabled || y.dimension.enabled) {\n x.dragMove(e.x.delta);\n y.dragMove(e.y.delta);\n e.preventDefault();\n } else {\n e.touch.skip();\n }\n },\n\n end: function(e) {\n e.preventDefault();\n }\n });\n }\n });\n\n var TRANSFORM_STYLE = support.transitions.prefix + \"Transform\",\n translate;\n\n\n if (support.hasHW3D) {\n translate = function(x, y, scale) {\n return \"translate3d(\" + x + \"px,\" + y +\"px,0) scale(\" + scale + \")\";\n };\n } else {\n translate = function(x, y, scale) {\n return \"translate(\" + x + \"px,\" + y +\"px) scale(\" + scale + \")\";\n };\n }\n\n var Movable = Observable.extend({\n init: function(element) {\n var that = this;\n\n Observable.fn.init.call(that);\n\n that.element = $(element);\n that.element[0].style.webkitTransformOrigin = \"left top\";\n that.x = 0;\n that.y = 0;\n that.scale = 1;\n that._saveCoordinates(translate(that.x, that.y, that.scale));\n },\n\n translateAxis: function(axis, by) {\n this[axis] += by;\n this.refresh();\n },\n\n scaleTo: function(scale) {\n this.scale = scale;\n this.refresh();\n },\n\n scaleWith: function(scaleDelta) {\n this.scale *= scaleDelta;\n this.refresh();\n },\n\n translate: function(coordinates) {\n this.x += coordinates.x;\n this.y += coordinates.y;\n this.refresh();\n },\n\n moveAxis: function(axis, value) {\n this[axis] = value;\n this.refresh();\n },\n\n moveTo: function(coordinates) {\n extend(this, coordinates);\n this.refresh();\n },\n\n refresh: function() {\n var that = this,\n x = that.x,\n y = that.y,\n newCoordinates;\n\n if (that.round) {\n x = Math.round(x);\n y = Math.round(y);\n }\n\n newCoordinates = translate(x, y, that.scale);\n\n if (newCoordinates != that.coordinates) {\n if (kendo.support.browser.msie && kendo.support.browser.version < 10) {\n that.element[0].style.position = \"absolute\";\n that.element[0].style.left = that.x + \"px\";\n that.element[0].style.top = that.y + \"px\";\n\n } else {\n that.element[0].style[TRANSFORM_STYLE] = newCoordinates;\n }\n that._saveCoordinates(newCoordinates);\n that.trigger(CHANGE);\n }\n },\n\n _saveCoordinates: function(coordinates) {\n this.coordinates = coordinates;\n }\n });\n\n function destroyDroppable(collection, widget) {\n var groupName = widget.options.group,\n droppables = collection[groupName],\n i;\n\n Widget.fn.destroy.call(widget);\n\n if (droppables.length > 1) {\n for (i = 0; i < droppables.length; i++) {\n if (droppables[i] == widget) {\n droppables.splice(i, 1);\n break;\n }\n }\n } else {\n droppables.length = 0; // WTF, porting this from the previous destroyGroup\n delete collection[groupName];\n }\n }\n\n var DropTarget = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n var group = that.options.group;\n\n if (!(group in dropTargets)) {\n dropTargets[group] = [ that ];\n } else {\n dropTargets[group].push( that );\n }\n },\n\n events: [\n DRAGENTER,\n DRAGLEAVE,\n DROP\n ],\n\n options: {\n name: \"DropTarget\",\n group: \"default\"\n },\n\n destroy: function() {\n destroyDroppable(dropTargets, this);\n },\n\n _trigger: function(eventName, e) {\n var that = this,\n draggable = draggables[that.options.group];\n\n if (draggable) {\n return that.trigger(eventName, extend({}, e.event, {\n draggable: draggable,\n dropTarget: e.dropTarget\n }));\n }\n },\n\n _over: function(e) {\n this._trigger(DRAGENTER, e);\n },\n\n _out: function(e) {\n this._trigger(DRAGLEAVE, e);\n },\n\n _drop: function(e) {\n var that = this,\n draggable = draggables[that.options.group];\n\n if (draggable) {\n draggable.dropped = !that._trigger(DROP, e);\n }\n }\n });\n\n DropTarget.destroyGroup = function(groupName) {\n var group = dropTargets[groupName] || dropAreas[groupName],\n i;\n\n if (group) {\n for (i = 0; i < group.length; i++) {\n Widget.fn.destroy.call(group[i]);\n }\n\n group.length = 0;\n delete dropTargets[groupName];\n delete dropAreas[groupName];\n }\n };\n\n DropTarget._cache = dropTargets;\n\n var DropTargetArea = DropTarget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n var group = that.options.group;\n\n if (!(group in dropAreas)) {\n dropAreas[group] = [ that ];\n } else {\n dropAreas[group].push( that );\n }\n },\n\n destroy: function() {\n destroyDroppable(dropAreas, this);\n },\n\n options: {\n name: \"DropTargetArea\",\n group: \"default\",\n filter: null\n }\n });\n\n var Draggable = Widget.extend({\n init: function (element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n that._activated = false;\n\n that.userEvents = new UserEvents(that.element, {\n global: true,\n allowSelection: true,\n filter: that.options.filter,\n threshold: that.options.distance,\n start: proxy(that._start, that),\n hold: proxy(that._hold, that),\n move: proxy(that._drag, that),\n end: proxy(that._end, that),\n cancel: proxy(that._cancel, that),\n select: proxy(that._select, that)\n });\n\n if (kendo.support.touch) {\n that.element.find(that.options.filter).css('touch-action', 'none');\n }\n\n that._afterEndHandler = proxy(that._afterEnd, that);\n that._captureEscape = proxy(that._captureEscape, that);\n },\n\n events: [\n HOLD,\n DRAGSTART,\n DRAG,\n DRAGEND,\n DRAGCANCEL,\n HINTDESTROYED\n ],\n\n options: {\n name: \"Draggable\",\n distance: ( kendo.support.touch ? 0 : 5),\n group: \"default\",\n cursorOffset: null,\n axis: null,\n container: null,\n filter: null,\n ignore: null,\n holdToDrag: false,\n autoScroll: false,\n dropped: false\n },\n\n cancelHold: function() {\n this._activated = false;\n },\n\n _captureEscape: function(e) {\n var that = this;\n\n if (e.keyCode === kendo.keys.ESC) {\n that._trigger(DRAGCANCEL, { event: e });\n that.userEvents.cancel();\n }\n },\n\n _updateHint: function(e) {\n var that = this,\n coordinates,\n options = that.options,\n boundaries = that.boundaries,\n axis = options.axis,\n cursorOffset = that.options.cursorOffset;\n\n if (cursorOffset) {\n coordinates = { left: e.x.location + cursorOffset.left, top: e.y.location + cursorOffset.top };\n } else {\n that.hintOffset.left += e.x.delta;\n that.hintOffset.top += e.y.delta;\n coordinates = $.extend({}, that.hintOffset);\n }\n\n if (boundaries) {\n coordinates.top = within(coordinates.top, boundaries.y);\n coordinates.left = within(coordinates.left, boundaries.x);\n }\n\n if (axis === \"x\") {\n delete coordinates.top;\n } else if (axis === \"y\") {\n delete coordinates.left;\n }\n\n that.hint.css(coordinates);\n },\n\n _shouldIgnoreTarget: function(target) {\n var ignoreSelector = this.options.ignore;\n return ignoreSelector && $(target).is(ignoreSelector);\n },\n\n _select: function(e) {\n if (!this._shouldIgnoreTarget(e.event.target)) {\n e.preventDefault();\n }\n },\n\n _start: function(e) {\n var that = this,\n options = that.options,\n container = options.container ? $(options.container): null,\n hint = options.hint;\n\n if (this._shouldIgnoreTarget(e.touch.initialTouch) || (options.holdToDrag && !that._activated)) {\n that.userEvents.cancel();\n return;\n }\n\n that.currentTarget = e.target;\n that.currentTargetOffset = getOffset(that.currentTarget);\n\n if (hint) {\n if (that.hint) {\n that.hint.stop(true, true).remove();\n }\n\n that.hint = kendo.isFunction(hint) ? $(hint.call(that, that.currentTarget)) : hint;\n\n var offset = getOffset(that.currentTarget);\n that.hintOffset = offset;\n\n that.hint.css( {\n position: \"absolute\",\n zIndex: 20000, // the Window's z-index is 10000 and can be raised because of z-stacking\n left: offset.left,\n top: offset.top\n })\n .appendTo(document.body);\n\n that.angular(\"compile\", function(){\n that.hint.removeAttr(\"ng-repeat\");\n var scopeTarget = $(e.target);\n\n while (!scopeTarget.data(\"$$kendoScope\") && scopeTarget.length) {\n scopeTarget = scopeTarget.parent();\n }\n\n return {\n elements: that.hint.get(),\n scopeFrom: scopeTarget.data(\"$$kendoScope\")\n };\n });\n }\n\n draggables[options.group] = that;\n\n that.dropped = false;\n\n if (container) {\n that.boundaries = containerBoundaries(container, that.hint);\n }\n\n $(document).on(KEYUP, that._captureEscape);\n\n if (that._trigger(DRAGSTART, e)) {\n that.userEvents.cancel();\n that._afterEnd();\n }\n\n that.userEvents.capture();\n },\n\n _hold: function(e) {\n this.currentTarget = e.target;\n\n if (this._trigger(HOLD, e)) {\n this.userEvents.cancel();\n } else {\n this._activated = true;\n }\n },\n\n _drag: function(e) {\n e.preventDefault();\n\n var cursorElement = this._elementUnderCursor(e);\n\n if (this.options.autoScroll && this._cursorElement !== cursorElement) {\n this._scrollableParent = findScrollableParent(cursorElement);\n this._cursorElement = cursorElement;\n }\n\n this._lastEvent = e;\n this._processMovement(e, cursorElement);\n\n if (this.options.autoScroll) {\n // chrome seems to trigger mousemove when mouse is moved outside of the window (over the Chrome), too.\n if (this._scrollableParent[0]) {\n var velocity = autoScrollVelocity(e.x.location, e.y.location, scrollableViewPort(this._scrollableParent));\n\n\n this._scrollCompenstation = $.extend({}, this.hintOffset);\n this._scrollVelocity = velocity;\n\n if (velocity.y === 0 && velocity.x === 0) {\n clearInterval(this._scrollInterval);\n this._scrollInterval = null;\n } else if(!this._scrollInterval) {\n this._scrollInterval = setInterval($.proxy(this, \"_autoScroll\"), 50);\n }\n }\n }\n\n if (this.hint) {\n this._updateHint(e);\n }\n },\n\n _processMovement: function(e, cursorElement) {\n this._withDropTarget(cursorElement, function(target, targetElement) {\n if (!target) {\n if (lastDropTarget) {\n lastDropTarget._trigger(DRAGLEAVE, extend(e, { dropTarget: $(lastDropTarget.targetElement) }));\n lastDropTarget = null;\n }\n return;\n }\n\n if (lastDropTarget) {\n if (targetElement === lastDropTarget.targetElement) {\n return;\n }\n\n lastDropTarget._trigger(DRAGLEAVE, extend(e, { dropTarget: $(lastDropTarget.targetElement) }));\n }\n\n target._trigger(DRAGENTER, extend(e, { dropTarget: $(targetElement) }));\n lastDropTarget = extend(target, { targetElement: targetElement });\n });\n\n this._trigger(DRAG, extend(e, { dropTarget: lastDropTarget, elementUnderCursor: cursorElement }));\n },\n\n _autoScroll: function() {\n var parent = this._scrollableParent[0],\n velocity = this._scrollVelocity,\n compensation = this._scrollCompenstation;\n\n if (!parent) {\n return;\n }\n\n var cursorElement = this._elementUnderCursor(this._lastEvent);\n this._processMovement(this._lastEvent, cursorElement);\n\n var yIsScrollable, xIsScrollable;\n\n var isRootNode = parent === scrollableRoot()[0];\n\n if (isRootNode) {\n yIsScrollable = document.body.scrollHeight > $window.height();\n xIsScrollable = document.body.scrollWidth > $window.width();\n } else {\n yIsScrollable = parent.offsetHeight <= parent.scrollHeight;\n xIsScrollable = parent.offsetWidth <= parent.scrollWidth;\n }\n\n var yDelta = parent.scrollTop + velocity.y;\n var yInBounds = yIsScrollable && yDelta > 0 && yDelta < parent.scrollHeight;\n\n var xDelta = parent.scrollLeft + velocity.x;\n var xInBounds = xIsScrollable && xDelta > 0 && xDelta < parent.scrollWidth;\n\n if (yInBounds) {\n parent.scrollTop += velocity.y;\n } else if (yIsScrollable && yDelta < 0) {\n parent.scrollTop = 0;\n }\n\n if (xInBounds) {\n parent.scrollLeft += velocity.x;\n } else if (xIsScrollable && xDelta < 0) {\n parent.scrollLeft = 0;\n }\n\n if (this.hint && isRootNode && (xInBounds || yInBounds)) {\n if (yInBounds) {\n compensation.top += velocity.y;\n }\n\n if (xInBounds) {\n compensation.left += velocity.x;\n }\n\n this.hint.css(compensation);\n }\n },\n\n _end: function(e) {\n this._withDropTarget(this._elementUnderCursor(e), function(target, targetElement) {\n if (target) {\n target._drop(extend({}, e, { dropTarget: $(targetElement) }));\n lastDropTarget = null;\n }\n });\n\n clearInterval(this._scrollInterval);\n this._scrollInterval = null;\n this._cancel(this._trigger(DRAGEND, e));\n },\n\n _cancel: function(isDefaultPrevented) {\n var that = this;\n\n that._scrollableParent = null;\n this._cursorElement = null;\n clearInterval(this._scrollInterval);\n that._activated = false;\n\n if (that.hint && !that.dropped) {\n setTimeout(function() {\n that.hint.stop(true, true);\n\n if (isDefaultPrevented) {\n that._afterEndHandler();\n } else {\n that.hint.animate(that.currentTargetOffset, \"fast\", that._afterEndHandler);\n }\n }, 0);\n\n } else {\n that._afterEnd();\n }\n },\n\n _trigger: function(eventName, e) {\n var that = this;\n\n return that.trigger(\n eventName, extend(\n {},\n e.event,\n {\n x: e.x,\n y: e.y,\n currentTarget: that.currentTarget,\n initialTarget: e.touch ? e.touch.initialTouch : null,\n dropTarget: e.dropTarget,\n elementUnderCursor: e.elementUnderCursor\n }\n ));\n },\n\n _elementUnderCursor: function(e) {\n var target = elementUnderCursor(e),\n hint = this.hint;\n\n if (hint && contains(hint[0], target)) {\n hint.hide();\n target = elementUnderCursor(e);\n // IE8 does not return the element in iframe from first attempt\n if (!target) {\n target = elementUnderCursor(e);\n }\n hint.show();\n }\n\n return target;\n },\n\n _withDropTarget: function(element, callback) {\n var result,\n group = this.options.group,\n targets = dropTargets[group],\n areas = dropAreas[group];\n\n if (targets && targets.length || areas && areas.length) {\n result = checkTarget(element, targets, areas);\n\n if (result) {\n callback(result.target, result.targetElement);\n } else {\n callback();\n }\n }\n },\n\n destroy: function() {\n var that = this;\n\n Widget.fn.destroy.call(that);\n\n that._afterEnd();\n\n that.userEvents.destroy();\n\n this._scrollableParent = null;\n this._cursorElement = null;\n clearInterval(this._scrollInterval);\n\n that.currentTarget = null;\n },\n\n _afterEnd: function() {\n var that = this;\n\n if (that.hint) {\n that.hint.remove();\n }\n\n delete draggables[that.options.group];\n\n that.trigger(\"destroy\");\n that.trigger(HINTDESTROYED);\n $(document).off(KEYUP, that._captureEscape);\n }\n });\n\n kendo.ui.plugin(DropTarget);\n kendo.ui.plugin(DropTargetArea);\n kendo.ui.plugin(Draggable);\n kendo.TapCapture = TapCapture;\n kendo.containerBoundaries = containerBoundaries;\n\n extend(kendo.ui, {\n Pane: Pane,\n PaneDimensions: PaneDimensions,\n Movable: Movable\n });\n\n function scrollableViewPort(element) {\n var root = scrollableRoot()[0],\n offset,\n top,\n left;\n\n if (element[0] === root) {\n top = root.scrollTop;\n left = root.scrollLeft;\n\n return {\n top: top,\n left: left,\n bottom: top + $window.height(),\n right: left + $window.width()\n };\n } else {\n offset = element.offset();\n offset.bottom = offset.top + element.height();\n offset.right = offset.left + element.width();\n return offset;\n }\n }\n\n function scrollableRoot() {\n return $(kendo.support.browser.edge || kendo.support.browser.safari ? document.body : document.documentElement);\n }\n\n function findScrollableParent(element) {\n var root = scrollableRoot();\n\n if (!element || element === document.body || element === document.documentElement) {\n return root;\n }\n\n var parent = $(element)[0];\n\n while (parent && !kendo.isScrollable(parent) && parent !== document.body) {\n parent = parent.parentNode;\n }\n\n if (parent === document.body) {\n return root;\n }\n\n return $(parent);\n }\n\n function autoScrollVelocity(mouseX, mouseY, rect) {\n var velocity = { x: 0, y: 0 };\n\n var AUTO_SCROLL_AREA = 50;\n\n if (mouseX - rect.left < AUTO_SCROLL_AREA) {\n velocity.x = -(AUTO_SCROLL_AREA - (mouseX - rect.left));\n } else if (rect.right - mouseX < AUTO_SCROLL_AREA) {\n velocity.x = AUTO_SCROLL_AREA - (rect.right - mouseX);\n }\n\n if (mouseY - rect.top < AUTO_SCROLL_AREA) {\n velocity.y = -(AUTO_SCROLL_AREA - (mouseY - rect.top));\n } else if (rect.bottom - mouseY < AUTO_SCROLL_AREA) {\n velocity.y = AUTO_SCROLL_AREA - (rect.bottom - mouseY);\n }\n\n return velocity;\n }\n\n // export for testing\n kendo.ui.Draggable.utils = {\n autoScrollVelocity: autoScrollVelocity,\n scrollableViewPort: scrollableViewPort,\n findScrollableParent: findScrollableParent\n };\n\n })(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.mobile.scroller',[ \"./kendo.fx\", \"./kendo.draganddrop\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"mobile.scroller\",\n name: \"Scroller\",\n category: \"mobile\",\n description: \"The Kendo Mobile Scroller widget enables touch friendly kinetic scrolling for the contents of a given DOM element.\",\n depends: [ \"fx\", \"draganddrop\" ]\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n mobile = kendo.mobile,\n fx = kendo.effects,\n ui = mobile.ui,\n proxy = $.proxy,\n extend = $.extend,\n Widget = ui.Widget,\n Class = kendo.Class,\n Movable = kendo.ui.Movable,\n Pane = kendo.ui.Pane,\n PaneDimensions = kendo.ui.PaneDimensions,\n Transition = fx.Transition,\n Animation = fx.Animation,\n abs = Math.abs,\n SNAPBACK_DURATION = 500,\n SCROLLBAR_OPACITY = 0.7,\n FRICTION = 0.96,\n VELOCITY_MULTIPLIER = 10,\n MAX_VELOCITY = 55,\n OUT_OF_BOUNDS_FRICTION = 0.5,\n ANIMATED_SCROLLER_PRECISION = 5,\n RELEASECLASS = \"km-scroller-release\",\n REFRESHCLASS = \"km-scroller-refresh\",\n PULL = \"pull\",\n CHANGE = \"change\",\n RESIZE = \"resize\",\n SCROLL = \"scroll\",\n MOUSE_WHEEL_ID = 2;\n\n var ZoomSnapBack = Animation.extend({\n init: function(options) {\n var that = this;\n Animation.fn.init.call(that);\n extend(that, options);\n\n that.userEvents.bind(\"gestureend\", proxy(that.start, that));\n that.tapCapture.bind(\"press\", proxy(that.cancel, that));\n },\n\n enabled: function() {\n return this.movable.scale < this.dimensions.minScale;\n },\n\n done: function() {\n return this.dimensions.minScale - this.movable.scale < 0.01;\n },\n\n tick: function() {\n var movable = this.movable;\n movable.scaleWith(1.1);\n this.dimensions.rescale(movable.scale);\n },\n\n onEnd: function() {\n var movable = this.movable;\n movable.scaleTo(this.dimensions.minScale);\n this.dimensions.rescale(movable.scale);\n }\n });\n\n var DragInertia = Animation.extend({\n init: function(options) {\n var that = this;\n\n Animation.fn.init.call(that);\n\n extend(that, options, {\n transition: new Transition({\n axis: options.axis,\n movable: options.movable,\n onEnd: function() { that._end(); }\n })\n });\n\n that.tapCapture.bind(\"press\", function() { that.cancel(); });\n that.userEvents.bind(\"end\", proxy(that.start, that));\n that.userEvents.bind(\"gestureend\", proxy(that.start, that));\n that.userEvents.bind(\"tap\", proxy(that.onEnd, that));\n },\n\n onCancel: function() {\n this.transition.cancel();\n },\n\n freeze: function(location) {\n var that = this;\n that.cancel();\n that._moveTo(location);\n },\n\n onEnd: function() {\n var that = this;\n if (that.paneAxis.outOfBounds()) {\n that._snapBack();\n } else {\n that._end();\n }\n },\n\n done: function() {\n return abs(this.velocity) < 1;\n },\n\n start: function(e) {\n var that = this,\n velocity;\n\n if (!that.dimension.enabled) { return; }\n\n if (that.paneAxis.outOfBounds()) {\n if(that.transition._started){\n that.transition.cancel();\n that.velocity = Math.min(e.touch[that.axis].velocity * that.velocityMultiplier, MAX_VELOCITY);\n\n Animation.fn.start.call(that);\n }else{\n that._snapBack();\n }\n } else {\n velocity = e.touch.id === MOUSE_WHEEL_ID ? 0 : e.touch[that.axis].velocity;\n that.velocity = Math.max(Math.min(velocity * that.velocityMultiplier, MAX_VELOCITY), -MAX_VELOCITY);\n\n that.tapCapture.captureNext();\n Animation.fn.start.call(that);\n }\n },\n\n tick: function() {\n var that = this,\n dimension = that.dimension,\n friction = that.paneAxis.outOfBounds() ? OUT_OF_BOUNDS_FRICTION : that.friction,\n delta = (that.velocity *= friction),\n location = that.movable[that.axis] + delta;\n\n if (!that.elastic && dimension.outOfBounds(location)) {\n location = Math.max(Math.min(location, dimension.max), dimension.min);\n that.velocity = 0;\n }\n\n that.movable.moveAxis(that.axis, location);\n },\n\n _end: function() {\n this.tapCapture.cancelCapture();\n this.end();\n },\n\n _snapBack: function() {\n var that = this,\n dimension = that.dimension,\n snapBack = that.movable[that.axis] > dimension.max ? dimension.max : dimension.min;\n that._moveTo(snapBack);\n },\n\n _moveTo: function(location) {\n this.transition.moveTo({ location: location, duration: SNAPBACK_DURATION, ease: Transition.easeOutExpo });\n }\n });\n\n var AnimatedScroller = Animation.extend({\n init: function(options) {\n var that = this;\n\n kendo.effects.Animation.fn.init.call(this);\n\n extend(that, options, {\n origin: {},\n destination: {},\n offset: {}\n });\n },\n\n tick: function() {\n this._updateCoordinates();\n this.moveTo(this.origin);\n },\n\n done: function() {\n return abs(this.offset.y) < ANIMATED_SCROLLER_PRECISION && abs(this.offset.x) < ANIMATED_SCROLLER_PRECISION;\n },\n\n onEnd: function() {\n this.moveTo(this.destination);\n if (this.callback) {\n this.callback.call();\n }\n },\n\n setCoordinates: function(from, to) {\n this.offset = {};\n this.origin = from;\n this.destination = to;\n },\n\n setCallback: function(callback) {\n if (callback && kendo.isFunction(callback)) {\n this.callback = callback;\n } else {\n callback = undefined;\n }\n },\n\n _updateCoordinates: function() {\n this.offset = {\n x: (this.destination.x - this.origin.x) / 4,\n y: (this.destination.y - this.origin.y) / 4\n };\n\n this.origin = {\n y: this.origin.y + this.offset.y,\n x: this.origin.x + this.offset.x\n };\n }\n });\n\n var ScrollBar = Class.extend({\n init: function(options) {\n var that = this,\n horizontal = options.axis === \"x\",\n element = $('
      ');\n\n if(horizontal) {\n element.attr(\"aria-orientation\", \"horizontal\");\n }\n\n extend(that, options, {\n element: element,\n elementSize: 0,\n movable: new Movable(element),\n scrollMovable: options.movable,\n alwaysVisible: options.alwaysVisible,\n size: horizontal ? \"width\" : \"height\"\n });\n\n that.scrollMovable.bind(CHANGE, proxy(that.refresh, that));\n that.container.append(element);\n if (options.alwaysVisible) {\n that.show();\n }\n },\n\n refresh: function() {\n var that = this,\n axis = that.axis,\n dimension = that.dimension,\n paneSize = dimension.size,\n scrollMovable = that.scrollMovable,\n sizeRatio = paneSize / dimension.total,\n position = Math.round(-scrollMovable[axis] * sizeRatio),\n size = Math.round(paneSize * sizeRatio);\n\n if (sizeRatio >= 1) {\n this.element.css(\"display\", \"none\");\n } else {\n this.element.css(\"display\", \"\");\n }\n\n if (position + size > paneSize) {\n size = paneSize - position;\n } else if (position < 0) {\n size += position;\n position = 0;\n }\n\n if (that.elementSize != size) {\n that.element.css(that.size, size + \"px\");\n that.elementSize = size;\n }\n\n that._ariaValue(position, dimension.size - that.elementSize);\n\n that.movable.moveAxis(axis, position);\n },\n\n show: function() {\n this.element.css({opacity: SCROLLBAR_OPACITY, visibility: \"visible\"});\n },\n\n hide: function() {\n if (!this.alwaysVisible) {\n this.element.css({opacity: 0});\n }\n },\n\n _ariaValue: function(current, total) {\n var element = this.element;\n\n if(current > total) {\n current = total;\n }\n\n element.attr(\"aria-valuemax\", total);\n element.attr(\"aria-valuenow\", current);\n }\n });\n\n var Scroller = Widget.extend({\n init: function(element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n\n element = that.element;\n\n that._native = that.options.useNative && kendo.support.hasNativeScrolling;\n if (that._native) {\n element.addClass(\"km-native-scroller\")\n .prepend('
      ');\n\n extend(that, {\n scrollElement: element,\n fixedContainer: element.children().first()\n });\n\n return;\n }\n\n element\n .css(\"overflow\", \"hidden\")\n .addClass(\"km-scroll-wrapper\")\n .wrapInner('
      ')\n .prepend('
      ');\n\n var inner = element.children().eq(1),\n\n tapCapture = new kendo.TapCapture(element),\n\n movable = new Movable(inner),\n\n dimensions = new PaneDimensions({\n element: inner,\n container: element,\n forcedEnabled: that.options.zoom\n }),\n\n avoidScrolling = this.options.avoidScrolling,\n\n userEvents = new kendo.UserEvents(element, {\n touchAction: \"pan-y\",\n fastTap: true,\n allowSelection: true,\n preventDragEvent: true,\n captureUpIfMoved: true,\n multiTouch: that.options.zoom,\n supportDoubleTap: that.options.supportDoubleTap,\n start: function(e) {\n dimensions.refresh();\n\n var velocityX = abs(e.x.velocity),\n velocityY = abs(e.y.velocity),\n horizontalSwipe = velocityX * 2 >= velocityY,\n originatedFromFixedContainer = $.contains(that.fixedContainer[0], e.event.target),\n verticalSwipe = velocityY * 2 >= velocityX;\n\n\n if (!originatedFromFixedContainer && !avoidScrolling(e) && that.enabled && (dimensions.x.enabled && horizontalSwipe || dimensions.y.enabled && verticalSwipe)) {\n userEvents.capture();\n } else {\n userEvents.cancel();\n }\n }\n }),\n\n pane = new Pane({\n movable: movable,\n dimensions: dimensions,\n userEvents: userEvents,\n elastic: that.options.elastic\n }),\n\n zoomSnapBack = new ZoomSnapBack({\n movable: movable,\n dimensions: dimensions,\n userEvents: userEvents,\n tapCapture: tapCapture\n }),\n\n animatedScroller = new AnimatedScroller({\n moveTo: function(coordinates) {\n that.scrollTo(coordinates.x, coordinates.y);\n }\n });\n\n movable.bind(CHANGE, function() {\n that.scrollTop = - movable.y;\n that.scrollLeft = - movable.x;\n\n that.trigger(SCROLL, {\n scrollTop: that.scrollTop,\n scrollLeft: that.scrollLeft\n });\n });\n\n if (that.options.mousewheelScrolling) {\n element.on(\"DOMMouseScroll mousewheel\", proxy(this, \"_wheelScroll\"));\n }\n\n extend(that, {\n movable: movable,\n dimensions: dimensions,\n zoomSnapBack: zoomSnapBack,\n animatedScroller: animatedScroller,\n userEvents: userEvents,\n pane: pane,\n tapCapture: tapCapture,\n pulled: false,\n enabled: true,\n scrollElement: inner,\n scrollTop: 0,\n scrollLeft: 0,\n fixedContainer: element.children().first()\n });\n\n that._initAxis(\"x\");\n that._initAxis(\"y\");\n\n // build closure\n that._wheelEnd = function() {\n that._wheel = false;\n that.userEvents.end(0, that._wheelY);\n };\n\n dimensions.refresh();\n\n if (that.options.pullToRefresh) {\n that._initPullToRefresh();\n }\n },\n\n _wheelScroll: function(e) {\n if (e.ctrlKey) {\n return;\n }\n\n if (!this._wheel) {\n this._wheel = true;\n this._wheelY = 0;\n this.userEvents.press(0, this._wheelY);\n }\n\n clearTimeout(this._wheelTimeout);\n this._wheelTimeout = setTimeout(this._wheelEnd, 50);\n\n var delta = kendo.wheelDeltaY(e);\n\n if (delta) {\n this._wheelY += delta;\n this.userEvents.move(0, this._wheelY);\n }\n\n e.preventDefault();\n },\n\n makeVirtual: function() {\n this.dimensions.y.makeVirtual();\n },\n\n virtualSize: function(min, max) {\n this.dimensions.y.virtualSize(min, max);\n },\n\n height: function() {\n return this.dimensions.y.size;\n },\n\n scrollHeight: function() {\n return this.scrollElement[0].scrollHeight;\n },\n\n scrollWidth: function() {\n return this.scrollElement[0].scrollWidth;\n },\n\n options: {\n name: \"Scroller\",\n zoom: false,\n pullOffset: 140,\n visibleScrollHints: false,\n elastic: true,\n useNative: false,\n mousewheelScrolling: true,\n avoidScrolling: function() { return false; },\n pullToRefresh: false,\n messages: {\n pullTemplate: \"Pull to refresh\",\n releaseTemplate: \"Release to refresh\",\n refreshTemplate: \"Refreshing\"\n }\n },\n\n events: [\n PULL,\n SCROLL,\n RESIZE\n ],\n\n _resize: function() {\n if (!this._native) {\n this.contentResized();\n }\n },\n\n setOptions: function(options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n if (options.pullToRefresh) {\n that._initPullToRefresh();\n }\n },\n\n reset: function() {\n if (this._native) {\n this.scrollElement.scrollTop(0);\n } else {\n this.movable.moveTo({x: 0, y: 0});\n this._scale(1);\n }\n },\n\n contentResized: function() {\n this.dimensions.refresh();\n if (this.pane.x.outOfBounds()) {\n this.movable.moveAxis(\"x\", this.dimensions.x.min);\n }\n\n if (this.pane.y.outOfBounds()) {\n this.movable.moveAxis(\"y\", this.dimensions.y.min);\n }\n },\n\n zoomOut: function() {\n var dimensions = this.dimensions;\n dimensions.refresh();\n this._scale(dimensions.fitScale);\n this.movable.moveTo(dimensions.centerCoordinates());\n },\n\n enable: function() {\n this.enabled = true;\n },\n\n disable: function() {\n this.enabled = false;\n },\n\n scrollTo: function(x, y) {\n if (this._native) {\n kendo.scrollLeft(this.scrollElement, abs(x));\n this.scrollElement.scrollTop(abs(y));\n } else {\n this.dimensions.refresh();\n this.movable.moveTo({x: x, y: y});\n }\n },\n\n animatedScrollTo: function(x, y, callback) {\n var from,\n to;\n\n if(this._native) {\n this.scrollTo(x, y);\n } else {\n from = { x: this.movable.x, y: this.movable.y };\n to = { x: x, y: y };\n\n this.animatedScroller.setCoordinates(from, to);\n this.animatedScroller.setCallback(callback);\n this.animatedScroller.start();\n }\n },\n\n pullHandled: function() {\n var that = this;\n that.refreshHint.removeClass(REFRESHCLASS);\n that.hintContainer.html(that.pullTemplate({}));\n that.yinertia.onEnd();\n that.xinertia.onEnd();\n that.userEvents.cancel();\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n if (this.userEvents) {\n this.userEvents.destroy();\n }\n },\n\n _scale: function(scale) {\n this.dimensions.rescale(scale);\n this.movable.scaleTo(scale);\n },\n\n _initPullToRefresh: function() {\n var that = this;\n\n that.dimensions.y.forceEnabled();\n that.pullTemplate = kendo.template(that.options.messages.pullTemplate);\n that.releaseTemplate = kendo.template(that.options.messages.releaseTemplate);\n that.refreshTemplate = kendo.template(that.options.messages.refreshTemplate);\n\n that.scrollElement.prepend('' + that.pullTemplate({}) + '');\n that.refreshHint = that.scrollElement.children().first();\n that.hintContainer = that.refreshHint.children(\".km-template\");\n\n that.pane.y.bind(\"change\", proxy(that._paneChange, that));\n that.userEvents.bind(\"end\", proxy(that._dragEnd, that));\n },\n\n _dragEnd: function() {\n var that = this;\n\n if(!that.pulled) {\n return;\n }\n\n that.pulled = false;\n that.refreshHint.removeClass(RELEASECLASS).addClass(REFRESHCLASS);\n that.hintContainer.html(that.refreshTemplate({}));\n that.yinertia.freeze(that.options.pullOffset / 2);\n that.trigger(\"pull\");\n },\n\n _paneChange: function() {\n var that = this;\n\n if (that.movable.y / OUT_OF_BOUNDS_FRICTION > that.options.pullOffset) {\n if (!that.pulled) {\n that.pulled = true;\n that.refreshHint.removeClass(REFRESHCLASS).addClass(RELEASECLASS);\n that.hintContainer.html(that.releaseTemplate({}));\n }\n } else if (that.pulled) {\n that.pulled = false;\n that.refreshHint.removeClass(RELEASECLASS);\n that.hintContainer.html(that.pullTemplate({}));\n }\n },\n\n _initAxis: function(axis) {\n var that = this,\n elementId = that.element.attr(\"id\"),\n movable = that.movable,\n dimension = that.dimensions[axis],\n tapCapture = that.tapCapture,\n paneAxis = that.pane[axis],\n scrollBar;\n\n if(!elementId) {\n elementId = kendo.guid();\n that.element.attr(\"id\", elementId);\n }\n\n scrollBar = new ScrollBar({\n axis: axis,\n movable: movable,\n dimension: dimension,\n container: that.element,\n alwaysVisible: that.options.visibleScrollHints,\n controlsId: elementId\n });\n\n dimension.bind(CHANGE, function() {\n scrollBar.refresh();\n });\n\n paneAxis.bind(CHANGE, function() {\n scrollBar.show();\n });\n\n that[axis + \"inertia\"] = new DragInertia({\n axis: axis,\n paneAxis: paneAxis,\n movable: movable,\n tapCapture: tapCapture,\n userEvents: that.userEvents,\n dimension: dimension,\n elastic: that.options.elastic,\n friction: that.options.friction || FRICTION,\n velocityMultiplier: that.options.velocityMultiplier || VELOCITY_MULTIPLIER,\n end: function() {\n scrollBar.hide();\n that.trigger(\"scrollEnd\", {\n axis: axis,\n scrollTop: that.scrollTop,\n scrollLeft: that.scrollLeft\n });\n }\n });\n }\n });\n\n ui.plugin(Scroller);\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.virtuallist',[ \"./kendo.data\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"virtuallist\",\n name: \"VirtualList\",\n category: \"framework\",\n depends: [ \"data\" ],\n hidden: true\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n DataBoundWidget = ui.DataBoundWidget,\n proxy = $.proxy,\n percentageUnitsRegex = /^\\d+(\\.\\d+)?%$/i,\n LIST_CONTENT = \"k-list-content k-virtual-content\",\n TABLE_CONTENT = \"k-table-body k-table-scroller\",\n HEADER = \"k-list-group-sticky-header\",\n LIST_ITEM = \"k-list-item\",\n TABLE_ITEM = \"k-table-row\",\n HEIGHTCONTAINER = \"k-height-container\",\n GROUPITEM = \"k-list-item-group-label\",\n LIST_UL = \"k-list-ul\",\n TABLE_LIST = \"k-table-list\",\n\n SELECTED = \"k-selected\",\n FOCUSED = \"k-focus\",\n HOVER = \"k-hover\",\n CHANGE = \"change\",\n CLICK = \"click\",\n LISTBOUND = \"listBound\",\n ITEMCHANGE = \"itemChange\",\n\n ACTIVATE = \"activate\",\n DEACTIVATE = \"deactivate\",\n\n GROUP_ROW_SEL = \".k-table-group-row\",\n\n VIRTUAL_LIST_NS = \".VirtualList\";\n\n function lastFrom(array) {\n return array[array.length - 1];\n }\n\n function toArray(value) {\n return value instanceof Array ? value : [value];\n }\n\n function isPrimitive(dataItem) {\n return typeof dataItem === \"string\" || typeof dataItem === \"number\" || typeof dataItem === \"boolean\";\n }\n\n function getItemCount(screenHeight, listScreens, itemHeight) {\n return Math.ceil(screenHeight * listScreens / itemHeight);\n }\n\n function appendChild(parent, className, tagName) {\n var element = document.createElement(tagName || \"div\");\n if (className) {\n element.className = className;\n }\n parent.appendChild(element);\n\n return element;\n }\n\n function getDefaultItemHeight(listSize) {\n var mockList = $('
      ' +\n '
      ' +\n '
        ' +\n '
      • ' +\n 'test' +\n '
      • ' +\n '
      ' +\n '
      ' +\n '
      ');\n var lineHeight;\n\n mockList.css({\n position: \"absolute\",\n left: \"-200000px\",\n visibility: \"hidden\"\n });\n mockList.appendTo(document.body);\n lineHeight = parseFloat(kendo.getComputedStyles(mockList.find(\".k-list-item\")[0], [\"height\"]).height);\n mockList.remove();\n\n return lineHeight;\n }\n\n function bufferSizes(screenHeight, listScreens, opposite) { //in pixels\n return {\n down: screenHeight * opposite,\n up: screenHeight * (listScreens - 1 - opposite)\n };\n }\n\n function listValidator(options, screenHeight) {\n var downThreshold = (options.listScreens - 1 - options.threshold) * screenHeight;\n var upThreshold = options.threshold * screenHeight;\n\n return function(list, scrollTop, lastScrollTop) {\n if (scrollTop > lastScrollTop) {\n return scrollTop - list.top < downThreshold;\n } else {\n return list.top === 0 || scrollTop - list.top > upThreshold;\n }\n };\n }\n\n function scrollCallback(element, callback) {\n return function(force) {\n return callback(element.scrollTop, force);\n };\n }\n\n function syncList(reorder) {\n return function(list, force) {\n reorder(list.items, list.index, force);\n return list;\n };\n }\n\n function position(element, y) {\n element.style.webkitTransform = 'translateY(' + y + \"px)\";\n element.style.transform = 'translateY(' + y + \"px)\";\n }\n\n function map2(callback, templates) {\n return function(arr1, arr2) {\n for (var i = 0, len = arr1.length; i < len; i++) {\n callback(arr1[i], arr2[i], templates);\n if (arr2[i].item) {\n this.trigger(ITEMCHANGE, { item: $(arr1[i]), data: arr2[i].item, ns: kendo.ui });\n }\n }\n };\n }\n\n function reshift(items, diff) {\n var range;\n\n if (diff > 0) { // down\n range = items.splice(0, diff);\n items.push.apply(items, range);\n } else { // up\n range = items.splice(diff, -diff);\n items.unshift.apply(items, range);\n }\n\n return range;\n }\n\n function render(element, data, templates) {\n var itemTemplate = templates.template,\n hasColumns = this.options.columns && this.options.columns.length,\n altRow = data.index % 2 === 1 ? \"k-table-alt-row\" : \"\";\n\n element = $(element);\n\n if (!data.item) {\n itemTemplate = templates.placeholderTemplate;\n }\n\n if (data.index === 0 && this.header && data.group) {\n this.header.html(templates.fixedGroupTemplate(data.group));\n }\n\n this.angular(\"cleanup\", function() {\n return { elements: [ element ]};\n });\n\n element\n .attr(\"data-uid\", data.item ? data.item.uid : \"\")\n .attr(\"data-offset-index\", data.index);\n\n if (hasColumns && data.item) {\n if (altRow.length > 0) {\n element.addClass(altRow);\n } else {\n element.removeClass(\"k-table-alt-row\");\n }\n element.html(renderColumns(this.options, data.item, templates));\n } else {\n element.find(\".\" + GROUPITEM).remove();\n element.find(\".k-list-item-text\").html(itemTemplate(data.item || {}));\n }\n\n element.toggleClass(FOCUSED, data.current);\n element.toggleClass(SELECTED, data.selected);\n element.toggleClass(\"k-first\", data.newGroup);\n element.toggleClass(\"k-last\", data.isLastGroupedItem);\n element.toggleClass(\"k-loading-item\", !data.item);\n\n if (data.index !== 0 && data.newGroup) {\n if (hasColumns) {\n $('' + templates.groupTemplate(data.group) + '')\n .appendTo(element);\n } else {\n $(\"
      \")\n .appendTo(element)\n .html(templates.groupTemplate(data.group));\n }\n } else if (data.group && hasColumns) {\n element.append($(''));\n }\n\n if (data.top !== undefined) {\n position(element[0], data.top);\n }\n\n this.angular(\"compile\", function() {\n return { elements: [ element ], data: [ { dataItem: data.item, group: data.group, newGroup: data.newGroup } ]};\n });\n }\n\n function renderColumns(options, dataItem, templates) {\n var item = \"\";\n\n for (var i = 0; i < options.columns.length; i++) {\n var currentWidth = options.columns[i].width;\n var currentWidthInt = parseInt(currentWidth, 10);\n var widthStyle = '';\n\n if(currentWidth){\n widthStyle += \"style='width:\";\n widthStyle += currentWidthInt;\n widthStyle += percentageUnitsRegex.test(currentWidth) ? \"%\" : \"px\";\n widthStyle += \";'\";\n }\n item += \"\";\n item += templates[\"column\"+ i](dataItem);\n item += \"\";\n }\n\n return item;\n }\n\n function mapChangedItems(selected, itemsToMatch) {\n var itemsLength = itemsToMatch.length;\n var selectedLength = selected.length;\n var dataItem;\n var found;\n var i, j;\n\n var changed = [];\n var unchanged = [];\n\n if (selectedLength) {\n for (i = 0; i < selectedLength; i++) {\n dataItem = selected[i];\n found = false;\n\n for (j = 0; j < itemsLength; j++) {\n if (dataItem === itemsToMatch[j]) {\n found = true;\n changed.push({ index: i, item: dataItem });\n break;\n }\n }\n\n if (!found) {\n unchanged.push(dataItem);\n }\n }\n }\n\n return {\n changed: changed,\n unchanged: unchanged\n };\n }\n\n function isActivePromise(promise) {\n return promise && promise.state() !== \"resolved\";\n }\n\n var VirtualList = DataBoundWidget.extend({\n init: function(element, options) {\n var that = this,\n contentClasses = options.columns && options.columns.length ? TABLE_CONTENT : LIST_CONTENT;\n\n that.bound(false);\n that._fetching = false;\n\n Widget.fn.init.call(that, element, options);\n\n if (!that.options.itemHeight) {\n that.options.itemHeight = getDefaultItemHeight(options.listSize);\n }\n\n options = that.options;\n\n that.element.attr(\"role\", \"listbox\");\n\n that.content = that.wrapper = that.element.wrap(\"
      \").parent();\n\n if(that.options.columns && that.options.columns.length) {\n var thead = that.element.closest(\".k-data-table\").find('.k-table-thead');\n var row = $('' +\n '' +\n '');\n\n thead.append(row);\n\n that.header = row.find(\".k-table-th\");\n that.element.addClass(TABLE_LIST + \" k-virtual-table\");\n } else {\n that.header = that.content.before(\"
      \").prev();\n that.element.addClass(LIST_UL);\n }\n\n if(options.ariaLabel) {\n this.element.attr(\"aria-label\", options.ariaLabel);\n } else if(options.ariaLabelledBy) {\n this.element.attr(\"aria-labelledby\", options.ariaLabelledBy);\n }\n\n that.element.on(\"mouseenter\" + VIRTUAL_LIST_NS, \"li:not(.k-loading-item)\", function() { $(this).addClass(HOVER); })\n .on(\"mouseleave\" + VIRTUAL_LIST_NS, \"li\", function() { $(this).removeClass(HOVER); });\n\n that._values = toArray(that.options.value);\n that._selectedDataItems = [];\n that._selectedIndexes = [];\n that._rangesList = {};\n that._promisesList = [];\n that._optionID = kendo.guid();\n\n that._templates();\n\n that.setDataSource(options.dataSource);\n\n that.content.on(\"scroll\" + VIRTUAL_LIST_NS, kendo.throttle(function() {\n that._renderItems();\n that._triggerListBound();\n }, options.delay));\n\n that._selectable();\n },\n\n options: {\n name: \"VirtualList\",\n autoBind: true,\n delay: 100,\n height: null,\n listScreens: 4,\n threshold: 0.5,\n itemHeight: null,\n oppositeBuffer: 1,\n type: \"flat\",\n selectable: false,\n value: [],\n dataValueField: null,\n template: \"#:data#\",\n placeholderTemplate: \"loading...\",\n groupTemplate: \"#:data#\",\n fixedGroupTemplate: \"#:data#\",\n mapValueTo: \"index\",\n valueMapper: null,\n ariaLabel: null,\n ariaLabelledBy: null\n },\n\n events: [\n CHANGE,\n CLICK,\n LISTBOUND,\n ITEMCHANGE,\n ACTIVATE,\n DEACTIVATE\n ],\n\n setOptions: function(options) {\n var itemClass = this.options.columns && this.options.columns.length ? TABLE_ITEM : LIST_ITEM;\n\n Widget.fn.setOptions.call(this, options);\n\n if (this._selectProxy && this.options.selectable === false) {\n this.element.off(CLICK, \".\" + itemClass, this._selectProxy);\n } else if (!this._selectProxy && this.options.selectable) {\n this._selectable();\n }\n\n this._templates();\n this.refresh();\n },\n\n items: function() {\n return $(this._items);\n },\n\n destroy: function() {\n this.wrapper.off(VIRTUAL_LIST_NS);\n this.dataSource.unbind(CHANGE, this._refreshHandler);\n Widget.fn.destroy.call(this);\n },\n\n setDataSource: function(source) {\n var that = this;\n var dataSource = source || {};\n var value;\n\n dataSource = Array.isArray(dataSource) ? {data: dataSource} : dataSource;\n dataSource = kendo.data.DataSource.create(dataSource);\n\n if (that.dataSource) {\n that.dataSource.unbind(CHANGE, that._refreshHandler);\n\n that._clean();\n that.bound(false);\n\n that._deferValueSet = true;\n value = that.value();\n\n that.value([]);\n that.mute(function() {\n that.value(value);\n });\n } else {\n that._refreshHandler = $.proxy(that.refresh, that);\n }\n\n that.dataSource = dataSource.bind(CHANGE, that._refreshHandler);\n\n that.setDSFilter(dataSource.filter());\n\n if (dataSource.view().length !== 0) {\n that.refresh();\n } else if (that.options.autoBind) {\n dataSource.fetch();\n }\n },\n\n skip: function() {\n return this.dataSource.currentRangeStart();\n },\n\n _triggerListBound: function () {\n var that = this;\n var skip = that.skip();\n\n if (that.bound() && !that._selectingValue && that._skip !== skip) {\n that._skip = skip;\n that.trigger(LISTBOUND);\n }\n },\n\n _getValues: function(dataItems) {\n var getter = this._valueGetter;\n\n return $.map(dataItems, function(dataItem) {\n return getter(dataItem);\n });\n },\n\n _highlightSelectedItems: function () {\n for (var i = 0; i < this._selectedDataItems.length; i++) {\n var item = this._getElementByDataItem(this._selectedDataItems[i]);\n if(item.length){\n item.addClass(SELECTED);\n }\n }\n },\n\n refresh: function(e) {\n var that = this;\n var action = e && e.action;\n var isItemChange = action === \"itemchange\";\n var filtered = this.isFiltered();\n var result;\n\n if (that._mute) { return; }\n\n that._deferValueSet = false;\n\n if (!that._fetching) {\n if (filtered) {\n that.focus(0);\n }\n\n that._createList();\n if (!action && that._values.length && !filtered &&\n !that.options.skipUpdateOnBind && !that._emptySearch) {\n that._selectingValue = true;\n\n that.bound(true);\n that.value(that._values, true).done(function () {\n that._selectingValue = false;\n that._triggerListBound();\n });\n } else {\n that.bound(true);\n that._highlightSelectedItems();\n that._triggerListBound();\n }\n } else {\n if (that._renderItems) {\n that._renderItems(true);\n }\n\n that._triggerListBound();\n }\n\n if (isItemChange || action === \"remove\") {\n result = mapChangedItems(that._selectedDataItems, e.items);\n if (result.changed.length) {\n if (isItemChange) {\n that.trigger(\"selectedItemChange\", {\n items: result.changed\n });\n } else {\n that.value(that._getValues(result.unchanged));\n }\n }\n }\n\n that._fetching = false;\n },\n\n removeAt: function(position) {\n var value = this._values.splice(position, 1)[0];\n\n return {\n position: position,\n dataItem: this._removeSelectedDataItem(value)\n };\n },\n\n _removeSelectedDataItem: function (value) {\n var that = this,\n valueGetter = that._valueGetter;\n\n for (var idx in that._selectedDataItems) {\n if(valueGetter(that._selectedDataItems[idx]) === value) {\n that._selectedIndexes.splice(idx, 1);\n return that._selectedDataItems.splice(idx, 1)[0];\n }\n }\n },\n\n setValue: function(value) {\n this._values = toArray(value);\n },\n\n value: function(value, _forcePrefetch) {\n var that = this;\n\n if (value === undefined) {\n return that._values.slice();\n }\n\n if (value === null) {\n value = [];\n }\n\n value = toArray(value);\n\n if (!that._valueDeferred || that._valueDeferred.state() === \"resolved\") {\n that._valueDeferred = $.Deferred();\n }\n\n var shouldClear = that.options.selectable === \"multiple\" && that.select().length && value.length;\n\n if (shouldClear || !value.length) {\n that.select(-1);\n }\n\n that._values = value;\n\n if ((that.bound() && !that._mute && !that._deferValueSet) || _forcePrefetch) {\n that._prefetchByValue(value);\n }\n\n return that._valueDeferred;\n },\n\n _checkValuesOrder: function (value) {\n if (this._removedAddedIndexes &&\n this._removedAddedIndexes.length === value.length) {\n var newValue = this._removedAddedIndexes.slice();\n this._removedAddedIndexes = null;\n return newValue;\n }\n\n return value;\n },\n\n _prefetchByValue: function(value) {\n var that = this,\n dataView = that._dataView,\n valueGetter = that._valueGetter,\n mapValueTo = that.options.mapValueTo,\n item, match = false,\n forSelection = [];\n\n //try to find the items in the loaded data\n for (var i = 0; i < value.length; i++) {\n for (var idx = 0; idx < dataView.length; idx++) {\n item = dataView[idx].item;\n if (item) {\n match = isPrimitive(item) ? value[i] === item : value[i] === valueGetter(item);\n\n if (match) {\n forSelection.push(dataView[idx].index);\n }\n }\n }\n }\n\n if (forSelection.length === value.length) {\n that._values = [];\n that.select(forSelection);\n return;\n }\n\n //prefetch the items\n if (typeof that.options.valueMapper === \"function\") {\n that.options.valueMapper({\n value: (this.options.selectable === \"multiple\") ? value : value[0],\n success: function(response) {\n if (mapValueTo === \"index\") {\n that.mapValueToIndex(response);\n } else if (mapValueTo === \"dataItem\") {\n that.mapValueToDataItem(response);\n }\n }\n });\n } else {\n if (!that.value()[0]) {\n that.select([-1]);\n } else {\n that._selectingValue = false;\n that._triggerListBound();\n }\n }\n },\n\n mapValueToIndex: function(indexes) {\n if (indexes === undefined || indexes === -1 || indexes === null) {\n indexes = [];\n } else {\n indexes = toArray(indexes);\n }\n\n if (!indexes.length) {\n indexes = [-1];\n } else {\n var removed = this._deselect([]).removed;\n if (removed.length) {\n this._triggerChange(removed, []);\n }\n }\n\n this.select(indexes);\n },\n\n mapValueToDataItem: function(dataItems) {\n var removed, added;\n\n if (dataItems === undefined || dataItems === null) {\n dataItems = [];\n } else {\n dataItems = toArray(dataItems);\n }\n\n if (!dataItems.length) {\n this.select([-1]);\n } else {\n removed = $.map(this._selectedDataItems, function(item, index) {\n return { index: index, dataItem: item };\n });\n\n added = $.map(dataItems, function(item, index) {\n return { index: index, dataItem: item };\n });\n\n this._selectedDataItems = dataItems;\n\n this._selectedIndexes = [];\n\n for (var i = 0; i < this._selectedDataItems.length; i++) {\n var item = this._getElementByDataItem(this._selectedDataItems[i]);\n this._selectedIndexes.push(this._getIndecies(item)[0]);\n item.addClass(SELECTED);\n }\n\n this._triggerChange(removed, added);\n\n if (this._valueDeferred) {\n this._valueDeferred.resolve();\n }\n }\n },\n\n deferredRange: function(index) {\n var dataSource = this.dataSource;\n var take = this.itemCount;\n var ranges = this._rangesList;\n var result = $.Deferred();\n var defs = [];\n\n var low = Math.floor(index / take) * take;\n var high = Math.ceil(index / take) * take;\n\n var pages = high === low ? [ high ] : [ low, high ];\n\n $.each(pages, function(_, skip) {\n var end = skip + take;\n var existingRange = ranges[skip];\n var deferred;\n\n if (!existingRange || (existingRange.end !== end)) {\n deferred = $.Deferred();\n ranges[skip] = { end: end, deferred: deferred };\n\n dataSource._multiplePrefetch(skip, take, function() {\n deferred.resolve();\n });\n } else {\n deferred = existingRange.deferred;\n }\n\n defs.push(deferred);\n });\n\n $.when.apply($, defs).then(function() {\n result.resolve();\n });\n\n return result;\n },\n\n prefetch: function(indexes) {\n var that = this,\n take = this.itemCount,\n isEmptyList = !that._promisesList.length;\n\n if (!isActivePromise(that._activeDeferred)) {\n that._activeDeferred = $.Deferred();\n that._promisesList = [];\n }\n\n $.each(indexes, function(_, index) {\n that._promisesList.push(that.deferredRange(that._getSkip(index, take)));\n });\n\n if (isEmptyList) {\n $.when.apply($, that._promisesList).done(function() {\n that._promisesList = [];\n that._activeDeferred.resolve();\n });\n }\n\n return that._activeDeferred;\n },\n\n _findDataItem: function(view, index) {\n var group;\n\n //find in grouped view\n if (this.options.type === \"group\") {\n for (var i = 0; i < view.length; i++) {\n group = view[i].items;\n if (group.length <= index) {\n index = index - group.length;\n } else {\n return group[index];\n }\n }\n }\n\n //find in flat view\n return view[index];\n },\n\n _getRange: function(skip, take) {\n return this.dataSource._findRange(skip, Math.min(skip + take, this.dataSource.total()));\n },\n\n dataItemByIndex: function(index) {\n var that = this;\n var take = that.itemCount;\n var skip = that._getSkip(index, take);\n var view = this._getRange(skip, take);\n\n //should not return item if data is not loaded\n if (!that._getRange(skip, take).length) {\n return null;\n }\n\n if (that.options.type === \"group\") {\n kendo.ui.progress($(that.wrapper), true);\n that.mute(function() {\n that.dataSource.range(skip, take, function () {\n kendo.ui.progress($(that.wrapper), false);\n });\n view = that.dataSource.view();\n });\n }\n\n return that._findDataItem(view, [index - skip]);\n },\n\n selectedDataItems: function() {\n return this._selectedDataItems.slice();\n },\n\n scrollWith: function(value) {\n this.content.scrollTop(this.content.scrollTop() + value);\n },\n\n scrollTo: function(y) {\n this.content.scrollTop(y); //works only if the element is visible\n },\n\n scrollToIndex: function(index) {\n this.scrollTo(index * this.options.itemHeight);\n },\n\n focus: function(candidate) {\n var element,\n index,\n data,\n current,\n itemHeight = this.options.itemHeight,\n id = this._optionID,\n triggerEvent = true;\n\n if (candidate === undefined) {\n current = this.element.find(\".\" + FOCUSED);\n return current.length ? current : null;\n }\n\n if (typeof candidate === \"function\") {\n data = this.dataSource.flatView();\n for (var idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n break;\n }\n }\n }\n\n if (candidate instanceof Array) {\n candidate = lastFrom(candidate);\n }\n\n if (isNaN(candidate)) {\n element = $(candidate);\n index = parseInt($(element).attr(\"data-offset-index\"), 10);\n } else {\n index = candidate;\n element = this._getElementByIndex(index);\n }\n\n if (index === -1) {\n this.element.find(\".\" + FOCUSED).removeClass(FOCUSED);\n this._focusedIndex = undefined;\n return;\n }\n\n if (element.length) { /*focus rendered item*/\n if (element.hasClass(FOCUSED)) {\n triggerEvent = false;\n }\n if (this._focusedIndex !== undefined) {\n current = this._getElementByIndex(this._focusedIndex);\n current\n .removeClass(FOCUSED)\n .removeAttr(\"id\");\n\n if (triggerEvent) {\n this.trigger(DEACTIVATE);\n }\n }\n\n this._focusedIndex = index;\n\n element\n .addClass(FOCUSED)\n .attr(\"id\", id);\n\n var position = this._getElementLocation(index);\n\n if (position === \"top\") {\n this.scrollTo(index * itemHeight);\n } else if (position === \"bottom\") {\n this.scrollTo((index * itemHeight + itemHeight) - this._screenHeight);\n } else if (position === \"outScreen\") {\n this.scrollTo(index * itemHeight);\n }\n\n if (triggerEvent) {\n this.trigger(ACTIVATE);\n }\n } else { /*focus non rendered item*/\n this._focusedIndex = index;\n this.items().removeClass(FOCUSED);\n this.scrollToIndex(index);\n }\n },\n\n focusIndex: function() {\n return this._focusedIndex;\n },\n\n focusFirst: function() {\n this.scrollTo(0);\n this.focus(0);\n },\n\n focusLast: function() {\n var lastIndex = this.dataSource.total();\n this.scrollTo(this.heightContainer.offsetHeight);\n this.focus(lastIndex - 1);\n },\n\n focusPrev: function() {\n var index = this._focusedIndex;\n var current;\n\n if (!isNaN(index) && index > 0) {\n index -= 1;\n this.focus(index);\n\n current = this.focus();\n if (current && current.hasClass(\"k-loading-item\")) {\n index += 1;\n this.focus(index);\n }\n\n return index;\n } else {\n index = this.dataSource.total() - 1;\n this.focus(index);\n return index;\n }\n },\n\n focusNext: function() {\n var index = this._focusedIndex;\n var lastIndex = this.dataSource.total() - 1;\n var current;\n\n if (!isNaN(index) && index < lastIndex) {\n index += 1;\n this.focus(index);\n\n current = this.focus();\n if (current && current.hasClass(\"k-loading-item\")) {\n index -= 1;\n this.focus(index);\n }\n\n return index;\n } else {\n index = 0;\n this.focus(index);\n return index;\n }\n },\n\n _triggerChange: function(removed, added) {\n removed = removed || [];\n added = added || [];\n\n if (removed.length || added.length) {\n this.trigger(CHANGE, {\n removed: removed,\n added: added\n });\n }\n },\n\n select: function(candidate) {\n var that = this,\n indices,\n initialIndices,\n singleSelection = that.options.selectable !== \"multiple\",\n prefetchStarted = isActivePromise(that._activeDeferred),\n filtered = this.isFiltered(),\n isAlreadySelected,\n deferred,\n result,\n removed = [];\n\n if (candidate === undefined) {\n return that._selectedIndexes.slice();\n }\n\n if (!that._selectDeferred || that._selectDeferred.state() === \"resolved\") {\n that._selectDeferred = $.Deferred();\n }\n\n indices = that._getIndecies(candidate);\n isAlreadySelected = singleSelection && !filtered && lastFrom(indices) === lastFrom(this._selectedIndexes);\n removed = that._deselectCurrentValues(indices);\n\n if (removed.length || !indices.length || isAlreadySelected) {\n that._triggerChange(removed);\n\n if (that._valueDeferred) {\n that._valueDeferred.resolve().promise();\n }\n\n return that._selectDeferred.resolve().promise();\n }\n\n if (indices.length === 1 && indices[0] === -1) {\n indices = [];\n }\n\n initialIndices = indices;\n result = that._deselect(indices);\n removed = result.removed;\n indices = result.indices;\n\n if (singleSelection) {\n prefetchStarted = false;\n if (indices.length) {\n indices = [lastFrom(indices)];\n }\n }\n\n var done = function() {\n var added = that._select(indices);\n\n if (initialIndices.length === indices.length || singleSelection) {\n that.focus(indices);\n }\n\n that._triggerChange(removed, added);\n\n if (that._valueDeferred) {\n that._valueDeferred.resolve();\n }\n\n that._selectDeferred.resolve();\n };\n\n deferred = that.prefetch(indices);\n\n if (!prefetchStarted) {\n if (deferred) {\n deferred.done(done);\n } else {\n done();\n }\n }\n\n return that._selectDeferred.promise();\n },\n\n bound: function(bound) {\n if (bound === undefined) {\n return this._listCreated;\n }\n\n this._listCreated = bound;\n },\n\n mute: function(callback) {\n this._mute = true;\n proxy(callback(), this);\n this._mute = false;\n },\n\n setDSFilter: function(filter) {\n this._lastDSFilter = $.extend({}, filter);\n },\n\n isFiltered: function() {\n if (!this._lastDSFilter) {\n this.setDSFilter(this.dataSource.filter());\n }\n\n return !kendo.data.Query.compareFilters(this.dataSource.filter(), this._lastDSFilter);\n },\n\n skipUpdate: $.noop,\n\n _getElementByIndex: function(index) {\n return this.items().filter(function(idx, element) {\n return index === parseInt($(element).attr(\"data-offset-index\"), 10);\n });\n },\n\n _getElementByDataItem: function(dataItem) {\n var dataView = this._dataView,\n valueGetter = this._valueGetter,\n element, match;\n\n for (var i = 0; i < dataView.length; i++) {\n match = dataView[i].item && isPrimitive(dataView[i].item) ? dataView[i].item === dataItem : dataView[i].item && dataItem && valueGetter(dataView[i].item) == valueGetter(dataItem);\n if (match) {\n element = dataView[i];\n break;\n }\n }\n\n return element ? this._getElementByIndex(element.index) : $();\n },\n\n _clean: function() {\n this.result = undefined;\n this._lastScrollTop = undefined;\n this._skip = undefined;\n $(this.heightContainer).remove();\n this.heightContainer = undefined;\n this.element.empty();\n },\n\n _height: function() {\n var hasData = !!this.dataSource.view().length,\n height = this.options.height,\n itemHeight = this.options.itemHeight,\n total = this.dataSource.total();\n\n if (!hasData) {\n height = 0;\n } else if (height/itemHeight > total) {\n height = total * itemHeight;\n }\n\n return height;\n },\n\n setScreenHeight: function() {\n var height = this._height();\n\n this.content.height(height);\n this._screenHeight = height;\n },\n\n screenHeight: function() {\n return this._screenHeight;\n },\n\n _getElementLocation: function(index) {\n var scrollTop = this.content.scrollTop(),\n screenHeight = this._screenHeight,\n itemHeight = this.options.itemHeight,\n yPosition = index * itemHeight,\n yDownPostion = yPosition + itemHeight,\n screenEnd = scrollTop + screenHeight,\n position;\n\n if (yPosition === (scrollTop - itemHeight) || (yDownPostion > scrollTop && yPosition < scrollTop)) {\n position = \"top\";\n } else if (yPosition === screenEnd || (yPosition < screenEnd && screenEnd < yDownPostion)) {\n position = \"bottom\";\n } else if ((yPosition >= scrollTop) && (yPosition <= scrollTop + (screenHeight - itemHeight))) {\n position = \"inScreen\";\n } else {\n position = \"outScreen\";\n }\n\n return position;\n },\n\n _templates: function() {\n var options = this.options;\n var templates = {\n template: options.template,\n placeholderTemplate: options.placeholderTemplate,\n groupTemplate: options.groupTemplate,\n fixedGroupTemplate: options.fixedGroupTemplate\n };\n\n if (options.columns) {\n for (var i = 0; i < options.columns.length; i++) {\n var currentColumn = options.columns[i];\n var templateText = currentColumn.field ? currentColumn.field.toString(): \"text\";\n\n templates[\"column\"+ i] = currentColumn.template || \"#: \" + templateText + \"#\";\n }\n }\n\n for (var key in templates) {\n if (typeof templates[key] !== \"function\") {\n templates[key] = kendo.template(templates[key] || \"\");\n }\n }\n\n this.templates = templates;\n },\n\n _generateItems: function(element, count) {\n var items = [],\n item, text,\n itemHeight = this.options.itemHeight + \"px\",\n itemClass = this.options.columns && this.options.columns.length ? TABLE_ITEM : LIST_ITEM;\n\n while(count-- > 0) {\n text = document.createElement(\"span\");\n text.className = \"k-list-item-text\";\n\n item = document.createElement(\"li\");\n item.tabIndex = -1;\n item.className = itemClass;\n item.setAttribute(\"role\", \"option\");\n item.style.height = itemHeight;\n item.style.minHeight = itemHeight;\n item.appendChild(text);\n\n element.appendChild(item);\n\n items.push(item);\n }\n\n return items;\n },\n\n _saveInitialRanges: function() {\n var ranges = this.dataSource._ranges;\n var deferred = $.Deferred();\n deferred.resolve();\n\n this._rangesList = {};\n for (var i = 0; i < ranges.length; i++) {\n this._rangesList[ranges[i].start] = { end: ranges[i].end, deferred: deferred };\n }\n },\n\n _createList: function() {\n var that = this,\n content = that.content.get(0),\n options = that.options,\n dataSource = that.dataSource;\n\n if (that.bound()) {\n that._clean();\n }\n\n that._saveInitialRanges();\n that._buildValueGetter();\n that.setScreenHeight();\n that.itemCount = getItemCount(that._screenHeight, options.listScreens, options.itemHeight);\n\n if (that.itemCount > dataSource.total()) {\n that.itemCount = dataSource.total();\n }\n\n that._items = that._generateItems(that.element[0], that.itemCount);\n\n that._setHeight(options.itemHeight * dataSource.total());\n that.options.type = (dataSource.group() || []).length ? \"group\" : \"flat\";\n\n if (that.options.type === \"flat\") {\n if (that.header.closest(GROUP_ROW_SEL).length) {\n that.header.closest(GROUP_ROW_SEL).hide();\n } else {\n that.header.hide();\n }\n } else {\n if (that.header.closest(GROUP_ROW_SEL).length) {\n that.header.closest(GROUP_ROW_SEL).show();\n } else {\n that.header.show();\n }\n }\n\n that.getter = that._getter(function() {\n that._renderItems(true);\n });\n\n that._onScroll = function(scrollTop, force) {\n var getList = that._listItems(that.getter);\n return that._fixedHeader(scrollTop, getList(scrollTop, force));\n };\n\n that._renderItems = that._whenChanged(\n scrollCallback(content, that._onScroll),\n syncList(that._reorderList(that._items, $.proxy(render, that)))\n );\n\n that._renderItems();\n that._calculateGroupPadding(that._screenHeight);\n that._calculateColumnsHeaderPadding();\n },\n\n _setHeight: function(height) {\n var currentHeight,\n heightContainer = this.heightContainer;\n\n if (!heightContainer) {\n heightContainer = this.heightContainer = appendChild(this.content[0], HEIGHTCONTAINER);\n } else {\n currentHeight = heightContainer.offsetHeight;\n }\n\n if (height !== currentHeight) {\n heightContainer.innerHTML = \"\";\n\n while (height > 0) {\n var padHeight = Math.min(height, 250000); //IE workaround, should not create elements with height larger than 250000px\n appendChild(heightContainer).style.height = padHeight + \"px\";\n height -= padHeight;\n }\n }\n },\n\n _getter: function() {\n var lastRequestedRange = null,\n dataSource = this.dataSource,\n lastRangeStart = dataSource.skip(),\n type = this.options.type,\n pageSize = this.itemCount,\n flatGroups = {};\n\n if (dataSource.pageSize() < pageSize) {\n this.mute(function() {\n dataSource.pageSize(pageSize);\n });\n }\n\n return function(index, rangeStart) {\n var that = this;\n if (!dataSource.inRange(rangeStart, pageSize)) {\n if (lastRequestedRange !== rangeStart) {\n lastRequestedRange = rangeStart;\n lastRangeStart = rangeStart;\n\n if (that._getterDeferred) {\n that._getterDeferred.reject();\n }\n\n that._getterDeferred = that.deferredRange(rangeStart);\n that._getterDeferred.then(function() {\n var firstItemIndex = that._indexConstraint(that.content[0].scrollTop);\n\n that._getterDeferred = null;\n\n if (rangeStart <= firstItemIndex && firstItemIndex <= (rangeStart + pageSize)) {\n that._fetching = true;\n dataSource.range(rangeStart, pageSize);\n }\n });\n }\n\n return null;\n } else {\n if (lastRangeStart !== rangeStart) {\n this.mute(function() {\n dataSource.range(rangeStart, pageSize);\n lastRangeStart = rangeStart;\n });\n }\n\n var result;\n if (type === \"group\") { //grouped list\n if (!flatGroups[rangeStart]) {\n var flatGroup = flatGroups[rangeStart] = [];\n var groups = dataSource.view();\n for (var i = 0, len = groups.length; i < len; i++) {\n var group = groups[i];\n for (var j = 0, groupLength = group.items.length; j < groupLength; j++) {\n flatGroup.push({ item: group.items[j], group: group.value });\n }\n }\n }\n\n result = flatGroups[rangeStart][index - rangeStart];\n } else { //flat list\n result = dataSource.view()[index - rangeStart];\n }\n\n return result;\n }\n };\n },\n\n _fixedHeader: function(scrollTop, list) {\n var group = this.currentVisibleGroup,\n itemHeight = this.options.itemHeight,\n firstVisibleDataItemIndex = Math.floor((scrollTop - list.top) / itemHeight),\n firstVisibleDataItem = list.items[firstVisibleDataItemIndex];\n\n if (firstVisibleDataItem && firstVisibleDataItem.item) {\n var firstVisibleGroup = firstVisibleDataItem.group;\n\n if (firstVisibleGroup !== group) {\n var fixedGroupText = firstVisibleGroup || \"\";\n this.header.html(this.templates.fixedGroupTemplate(fixedGroupText));\n this.currentVisibleGroup = firstVisibleGroup;\n }\n }\n\n return list;\n },\n\n _itemMapper: function(item, index, value) {\n var listType = this.options.type,\n itemHeight = this.options.itemHeight,\n currentIndex = this._focusedIndex,\n selected = false,\n current = false,\n newGroup = false,\n group = null,\n match = false,\n valueGetter = this._valueGetter;\n\n if (listType === \"group\") {\n if (item) {\n newGroup = index === 0 || (this._currentGroup !== false && this._currentGroup !== item.group);\n this._currentGroup = item.group;\n }\n\n group = item ? item.group : null;\n item = item ? item.item : null;\n }\n\n if (this.options.mapValueTo === \"dataItem\" && this._selectedDataItems.length && item) {\n for (var i = 0; i < this._selectedDataItems.length; i++) {\n match = valueGetter(this._selectedDataItems[i]) === valueGetter(item);\n if (match) {\n selected = true;\n break;\n }\n }\n } else if (!this.isFiltered() && value.length && item) {\n for (var j = 0; j < value.length; j++) {\n match = isPrimitive(item) ? value[j] === item : value[j] === valueGetter(item);\n if (match) {\n value.splice(j , 1);\n selected = true;\n break;\n }\n }\n }\n\n if (currentIndex === index) {\n current = true;\n }\n\n return {\n item: item ? item : null,\n group: group,\n newGroup: newGroup,\n selected: selected,\n current: current,\n index: index,\n top: index * itemHeight\n };\n },\n\n _range: function(index) {\n var itemCount = this.itemCount,\n value = this._values.slice(),\n items = [],\n item;\n\n this._view = {};\n this._currentGroup = false;\n\n for (var i = index, length = index + itemCount; i < length; i++) {\n item = this._itemMapper(this.getter(i, index), i, value);\n if(items[items.length - 1]){\n items[items.length - 1].isLastGroupedItem = item.newGroup;\n }\n items.push(item);\n this._view[item.index] = item;\n }\n\n this._dataView = items;\n return items;\n },\n\n _getDataItemsCollection: function(scrollTop, lastScrollTop) {\n var items = this._range(this._listIndex(scrollTop, lastScrollTop));\n return {\n index: items.length ? items[0].index : 0,\n top: items.length ? items[0].top : 0,\n items: items\n };\n },\n\n _listItems: function() {\n var screenHeight = this._screenHeight,\n options = this.options;\n\n var theValidator = listValidator(options, screenHeight);\n\n return $.proxy(function(value, force) {\n var result = this.result,\n lastScrollTop = this._lastScrollTop;\n\n if (force || !result || !theValidator(result, value, lastScrollTop)) {\n result = this._getDataItemsCollection(value, lastScrollTop);\n }\n\n this._lastScrollTop = value;\n this.result = result;\n\n return result;\n }, this);\n },\n\n _whenChanged: function(getter, callback) {\n var current;\n\n return function(force) {\n var theNew = getter(force);\n\n if (theNew !== current) {\n current = theNew;\n callback(theNew, force);\n }\n };\n },\n\n _reorderList: function(list, reorder) {\n var that = this;\n var length = list.length;\n var currentOffset = -Infinity;\n reorder = $.proxy(map2(reorder, this.templates), this);\n\n return function(list2, offset, force) {\n var diff = offset - currentOffset;\n var range, range2;\n\n if (force || Math.abs(diff) >= length) { // full reorder\n range = list;\n range2 = list2;\n } else { // partial reorder\n range = reshift(list, diff);\n range2 = diff > 0 ? list2.slice(-diff) : list2.slice(0, -diff);\n }\n\n reorder(range, range2, that.bound());\n\n currentOffset = offset;\n };\n },\n\n _bufferSizes: function() {\n var options = this.options;\n\n return bufferSizes(this._screenHeight, options.listScreens, options.oppositeBuffer);\n },\n\n _indexConstraint: function(position) {\n var itemCount = this.itemCount,\n itemHeight = this.options.itemHeight,\n total = this.dataSource.total();\n\n return Math.min(Math.max(total - itemCount, 0), Math.max(0, Math.floor(position / itemHeight )));\n },\n\n _listIndex: function(scrollTop, lastScrollTop) {\n var buffers = this._bufferSizes(),\n position;\n\n position = scrollTop - ((scrollTop > lastScrollTop) ? buffers.down : buffers.up);\n\n return this._indexConstraint(position);\n },\n\n _selectable: function() {\n var itemClass = this.options.columns && this.options.columns.length ? TABLE_ITEM : LIST_ITEM;\n\n if (this.options.selectable) {\n this._selectProxy = $.proxy(this, \"_clickHandler\");\n this.element.on(CLICK + VIRTUAL_LIST_NS, \".\" + itemClass, this._selectProxy);\n }\n },\n\n getElementIndex: function(element) {\n if (!(element instanceof jQuery)) {\n return undefined;\n }\n\n return parseInt(element.attr(\"data-offset-index\"), 10);\n },\n\n _getIndecies: function(candidate) {\n var result = [], data;\n\n if (typeof candidate === \"function\") {\n data = this.dataSource.flatView();\n for (var idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n result.push(idx);\n break;\n }\n }\n }\n\n if (typeof candidate === \"number\") {\n result.push(candidate);\n }\n\n var elementIndex = this.getElementIndex(candidate);\n if (!isNaN(elementIndex)) {\n result.push(elementIndex);\n }\n\n if (candidate instanceof Array) {\n result = candidate;\n }\n\n return result;\n },\n\n _deselect: function(indices) {\n var removed = [],\n selectedIndex,\n dataItem,\n selectedIndexes = this._selectedIndexes,\n selectedDataItems = this._selectedDataItems,\n position = 0,\n selectable = this.options.selectable,\n removedindexesCounter = 0,\n valueGetter = this._valueGetter,\n item, match,\n result = null;\n\n indices = indices.slice();\n\n if (selectable === true || !indices.length) { //deselect everything\n for (var idx = 0; idx < selectedIndexes.length; idx++) {\n if (selectedIndexes[idx] !== undefined) {\n this._getElementByIndex(selectedIndexes[idx]).removeClass(SELECTED);\n } else if (selectedDataItems[idx]) {\n this._getElementByDataItem(selectedDataItems[idx]).removeClass(SELECTED);\n }\n\n removed.push({\n index: selectedIndexes[idx],\n position: idx,\n dataItem: selectedDataItems[idx]\n });\n }\n\n this._values = [];\n this._selectedDataItems = [];\n this._selectedIndexes = [];\n } else if (selectable === \"multiple\") {\n for (var i = 0; i < indices.length; i++) {\n result = null;\n position = $.inArray(indices[i], selectedIndexes);\n dataItem = this.dataItemByIndex(indices[i]);\n\n if (position === -1 && dataItem) {\n for (var j = 0; j < selectedDataItems.length; j++) {\n match = isPrimitive(dataItem) ? selectedDataItems[j] === dataItem : valueGetter(selectedDataItems[j]) === valueGetter(dataItem);\n if (match) {\n item = this._getElementByIndex(indices[i]);\n result = this._deselectSingleItem(item, j, indices[i], removedindexesCounter);\n }\n }\n } else {\n selectedIndex = selectedIndexes[position];\n\n if (selectedIndex !== undefined) {\n item = this._getElementByIndex(selectedIndex);\n result = this._deselectSingleItem(item, position, selectedIndex, removedindexesCounter);\n }\n }\n\n if (result) {\n indices.splice(i, 1);\n removed.push(result);\n\n removedindexesCounter++;\n i--;\n }\n }\n }\n\n return {\n indices: indices,\n removed: removed\n };\n },\n\n _deselectSingleItem: function(item, position, selectedIndex, removedindexesCounter) {\n var dataItem;\n\n if (!item.hasClass(SELECTED)) {\n return;\n }\n\n item.removeClass(SELECTED);\n this._values.splice(position, 1);\n this._selectedIndexes.splice(position, 1);\n dataItem = this._selectedDataItems.splice(position, 1)[0];\n\n return {\n index: selectedIndex,\n position: position + removedindexesCounter,\n dataItem: dataItem\n };\n },\n\n _deselectCurrentValues: function(indices) {\n var children = this.element[0].children;\n var value, index, position;\n var values = this._values;\n var removed = [];\n var idx = 0;\n var j;\n\n if (this.options.selectable !== \"multiple\" || !this.isFiltered()) {\n return [];\n }\n\n if (indices[0] === -1) {\n $(children).removeClass(SELECTED);\n removed = $.map(this._selectedDataItems.slice(0), function(dataItem, idx) {\n return {\n dataItem: dataItem,\n position: idx\n };\n });\n this._selectedIndexes = [];\n this._selectedDataItems = [];\n this._values = [];\n return removed;\n }\n\n for (; idx < indices.length; idx++) {\n position = -1;\n index = indices[idx];\n if (this.dataItemByIndex(index)) {\n value = this._valueGetter(this.dataItemByIndex(index));\n }\n\n for (j = 0; j < values.length; j++) {\n if (value == values[j]) {\n position = j;\n break;\n }\n }\n\n if (position > -1) {\n removed.push(this.removeAt(position));\n $(children[index]).removeClass(SELECTED);\n }\n }\n\n return removed;\n },\n\n _getSkip: function(index, take) {\n var page = index < take ? 1 : Math.floor(index / take) + 1;\n\n return (page - 1) * take;\n },\n\n _select: function(indexes) {\n var that = this,\n singleSelection = this.options.selectable !== \"multiple\",\n dataSource = this.dataSource,\n dataItem, oldSkip,\n take = this.itemCount,\n valueGetter = this._valueGetter,\n added = [];\n\n if (singleSelection) {\n that._selectedIndexes = [];\n that._selectedDataItems = [];\n that._values = [];\n }\n\n oldSkip = dataSource.skip();\n\n $.each(indexes, function(_, index) {\n var skip = that._getSkip(index, take);\n\n that.mute(function() {\n dataSource.range(skip, take); //switch the range to get the dataItem\n\n dataItem = that._findDataItem(dataSource.view(), [index - skip]);\n that._selectedIndexes.push(index);\n that._selectedDataItems.push(dataItem);\n that._values.push(isPrimitive(dataItem) ? dataItem : valueGetter(dataItem));\n\n added.push({\n index: index,\n dataItem: dataItem\n });\n\n that._getElementByIndex(index).addClass(SELECTED);\n\n dataSource.range(oldSkip, take); //switch back the range\n });\n });\n\n that._values = that._checkValuesOrder(that._values);\n\n return added;\n },\n\n _clickHandler: function(e) {\n var item = $(e.currentTarget);\n\n if (!e.isDefaultPrevented() && item.attr(\"data-uid\")) {\n this.trigger(CLICK, { item: item });\n }\n },\n\n _buildValueGetter: function() {\n this._valueGetter = kendo.getter(this.options.dataValueField);\n },\n\n _calculateGroupPadding: function (height) {\n var firstItem = this.items().first(),\n groupHeader = this.header,\n padding = 0;\n\n if (groupHeader[0] && groupHeader[0].style.display !== \"none\") {\n if (height !== \"auto\") {\n padding = kendo.support.scrollbar();\n }\n\n padding += parseFloat(firstItem.css(\"border-right-width\"), 10) + parseFloat(firstItem.children(\".k-group\").css(\"right\"), 10);\n\n groupHeader.css(\"padding-right\", padding);\n }\n },\n\n _calculateColumnsHeaderPadding: function () {\n if(this.options.columns && this.options.columns.length){\n var isRtl = kendo.support.isRtl(this.wrapper);\n var scrollbar = kendo.support.scrollbar();\n var columnsHeader = this.content.parent().parent().find(\".k-table-header\");\n var total = this.dataSource.total();\n\n columnsHeader.css((isRtl ? \"padding-left\" : \"padding-right\"), total ? scrollbar : 0);\n }\n }\n\n });\n\n kendo.ui.VirtualList = VirtualList;\n kendo.ui.plugin(VirtualList);\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.html.base',[\n \"./kendo.core\"\n ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"html.base\",\n name: \"Html.Base\",\n category: \"web\",\n description: \"\",\n depends: [\"core\"],\n features: []\n};\n\n(function ($, undefined) {\n var kendo = window.kendo,\n Class = kendo.Class;\n\n kendo.html = kendo.html || {};\n\n var HTMLBase = Class.extend({\n init: function (element, options) {\n var that = this;\n that.element = $(element);\n options = options || {};\n delete options.name;\n that._initOptions(options);\n },\n options: {\n stylingOptions: []\n },\n _addClasses: function () {\n var that = this,\n options = that.options,\n stylingOptions = options.stylingOptions;\n\n stylingOptions = stylingOptions.map(function(option){\n var validFill;\n\n if (option === \"themeColor\") {\n validFill = kendo.cssProperties.getValidClass({\n widget: options.name,\n propName: \"fillMode\",\n value: options.fillMode\n });\n\n if (!validFill || validFill.length === 0) {\n return \"\";\n }\n }\n\n return kendo.cssProperties.getValidClass({\n widget: options.name,\n propName: option,\n value: options[option],\n fill: options.fillMode\n });\n });\n\n that.wrapper.addClass(stylingOptions.join(\" \"));\n },\n html: function () {\n var that = this;\n\n return that.wrapper[0].outerHTML;\n }\n });\n\n $.extend(kendo.html, {\n HTMLBase: HTMLBase\n });\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.html.button',[\n \"./kendo.html.base\"\n ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"html.button\",\n name: \"Html.Button\",\n category: \"web\",\n description: \"HTML rendering utility for Kendo UI for jQuery.\",\n depends: [ \"html.base\" ],\n features: []\n};\n\n(function ($, undefined) {\n var kendo = window.kendo,\n HTMLBase = kendo.html.HTMLBase,\n\n KBUTTON = \"k-button\",\n KBUTTONICON = \"k-button-icon\",\n KBUTTONTEXT = \"k-button-text\";\n\n var renderButton = function (element, options) {\n if (arguments[0] === undefined || $.isPlainObject(arguments[0])) {\n options = element;\n element = $(\"\");\n }\n\n return (new HTMLButton(element, options)).html();\n };\n\n var HTMLButton = HTMLBase.extend({\n init: function (element, options) {\n var that = this;\n HTMLBase.fn.init.call(that, element, options);\n that.wrapper = that.element.addClass(KBUTTON);\n\n if (!that.element.attr(\"type\")) {\n that.element.attr(\"type\", that.options.type);\n }\n\n that._addClasses();\n that.iconElement();\n that._textElement();\n },\n options: {\n name: \"HTMLButton\",\n type: \"button\",\n icon: \"\",\n iconClass: \"\",\n spriteCssClass: \"\",\n imageUrl: \"\",\n size: \"medium\",\n shape: \"rectangle\",\n rounded: \"medium\",\n fillMode: \"solid\",\n themeColor: \"base\",\n stylingOptions: [ \"size\", \"shape\", \"rounded\", \"fillMode\", \"themeColor\" ]\n },\n iconElement: function() {\n var that = this,\n element = that.element,\n options = that.options,\n icon = options.icon,\n iconClass = options.iconClass,\n spriteCssClass = options.spriteCssClass,\n imageUrl = options.imageUrl,\n span, img, isEmpty;\n\n if (spriteCssClass || imageUrl || icon || iconClass) {\n isEmpty = true;\n\n element.contents().filter(function() {\n return (!$(this).hasClass(\"k-sprite\") && !$(this).hasClass(\"k-icon\") && !$(this).hasClass(\"k-image\"));\n }).each(function(idx, el){\n if (el.nodeType == 1 || el.nodeType == 3 && kendo.trim(el.nodeValue).length > 0) {\n isEmpty = false;\n }\n });\n }\n\n if (isEmpty) {\n that.element.addClass(\"k-icon-button\");\n }\n\n if (imageUrl) {\n img = element.children(\"img.k-image\").first();\n if (!img[0]) {\n img = $('\"icon\"').prependTo(element);\n }\n img.attr(\"src\", imageUrl);\n img.addClass(KBUTTONICON);\n } else if (icon || iconClass) {\n span = element.children(\"span.k-icon\").first();\n if (!span[0]) {\n span = $('').prependTo(element);\n }\n span.attr(\"class\", icon ? \"k-icon k-i-\" + icon : iconClass);\n span.addClass(KBUTTONICON);\n } else if (spriteCssClass) {\n span = element.children(\"span.k-sprite\").first();\n if (!span[0]) {\n span = $('').prependTo(element);\n }\n span.addClass(spriteCssClass + \" \" + KBUTTONICON);\n }\n },\n _textElement: function() {\n var element = this.element;\n\n element.contents().filter(function() {\n return (!$(this).hasClass(KBUTTONICON) && !$(this).hasClass(\"k-sprite\") && !$(this).hasClass(\"k-icon\") && !$(this).hasClass(\"k-image\"));\n }).each(function(idx, el){\n if (el.nodeType == 1 || el.nodeType == 3 && kendo.trim(el.nodeValue).length > 0) {\n if (el.nodeType === 3) {\n var parent = el.parentNode;\n var newSpan = document.createElement('span');\n\n newSpan.appendChild(document.createTextNode(el.nodeValue));\n parent.replaceChild(newSpan, el);\n\n el = newSpan;\n }\n\n el.classList.add(KBUTTONTEXT);\n }\n });\n }\n });\n\n $.extend(kendo.html, {\n renderButton: renderButton,\n HTMLButton: HTMLButton\n });\n\n kendo.cssProperties.registerPrefix(\"HTMLButton\", \"k-button-\");\n\n kendo.cssProperties.registerValues(\"HTMLButton\", [{\n prop: \"fillMode\",\n values: kendo.cssProperties.fillModeValues.concat([\"link\"])\n }, {\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.combobox',[ \"./kendo.list\", \"./kendo.mobile.scroller\", \"./kendo.virtuallist\", \"./kendo.html.button\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"combobox\",\n name: \"ComboBox\",\n category: \"web\",\n description: \"The ComboBox widget allows the selection from pre-defined values or entering a new value.\",\n depends: [ \"list\", \"html.button\" ],\n features: [ {\n id: \"mobile-scroller\",\n name: \"Mobile scroller\",\n description: \"Support for kinetic scrolling in mobile device\",\n depends: [ \"mobile.scroller\" ]\n }, {\n id: \"virtualization\",\n name: \"VirtualList\",\n description: \"Support for virtualization\",\n depends: [ \"virtuallist\" ]\n } ]\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n ui = kendo.ui,\n html = kendo.html,\n List = ui.List,\n Select = ui.Select,\n caret = kendo.caret,\n support = kendo.support,\n placeholderSupported = support.placeholder,\n activeElement = kendo._activeElement,\n keys = kendo.keys,\n ns = \".kendoComboBox\",\n nsFocusEvent = ns + \"FocusEvent\",\n CLICK = \"click\" + ns,\n MOUSEDOWN = \"mousedown\" + ns,\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n CHANGE = \"change\",\n LOADING = \"k-i-loading\",\n FOCUSED = \"k-focus\",\n STATEDISABLED = \"k-disabled\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_READONLY = \"aria-readonly\",\n AUTOCOMPLETEVALUE = \"off\",\n STATE_FILTER = \"filter\",\n STATE_ACCEPT = \"accept\",\n STATE_REBIND = \"rebind\",\n HOVEREVENTS = \"mouseenter\" + ns + \" mouseleave\" + ns,\n proxy = $.proxy,\n newLineRegEx = /(\\r\\n|\\n|\\r)/gm,\n NON_PRINTABLE_KEYS = [16,17,18,19,20,33,34,37,39,45,91,92,144,145];\n\n var ComboBox = Select.extend({\n init: function(element, options) {\n var that = this, text, disabled;\n\n that.ns = ns;\n\n options = Array.isArray(options) ? { dataSource: options } : options;\n\n Select.fn.init.call(that, element, options);\n\n options = that.options;\n element = that.element.on(\"focus\" + ns, proxy(that._focusHandler, that));\n\n options.placeholder = options.placeholder || element.attr(\"placeholder\");\n\n that._reset();\n\n that._wrapper();\n\n that._input();\n\n that._clearButton();\n\n that._tabindex(that.input);\n\n that._popup();\n\n that._dataSource();\n that._ignoreCase();\n\n that._enable();\n\n that._attachFocusEvents();\n\n that._oldIndex = that.selectedIndex = -1;\n\n that._aria();\n\n that._initialIndex = options.index;\n\n that.requireValueMapper(that.options);\n that._initList();\n\n that._cascade();\n\n if (options.autoBind) {\n that._filterSource();\n } else {\n text = options.text;\n\n if (!text && that._isSelect) {\n text = element.children(\":selected\").text();\n }\n\n if (text) {\n that._setText(text);\n }\n }\n\n if (!text) {\n that._placeholder();\n }\n\n disabled = $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n }\n\n kendo.notify(that);\n that._toggleCloseVisibility();\n that._applyCssClasses();\n },\n\n options: {\n name: \"ComboBox\",\n enabled: true,\n index: -1,\n text: null,\n value: null,\n autoBind: true,\n delay: 200,\n dataTextField: \"\",\n dataValueField: \"\",\n minLength: 1,\n enforceMinLength: false,\n height: 200,\n highlightFirst: true,\n filter: \"none\",\n placeholder: \"\",\n suggest: false,\n cascadeFrom: \"\",\n cascadeFromField: \"\",\n cascadeFromParentField: \"\",\n ignoreCase: true,\n animation: {},\n virtual: false,\n template: null,\n groupTemplate: \"#:data#\",\n fixedGroupTemplate: \"#:data#\",\n clearButton: true,\n syncValueAndText: true,\n autoWidth: false,\n popup: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\"\n },\n\n events:[\n \"open\",\n \"close\",\n CHANGE,\n \"select\",\n \"filtering\",\n \"dataBinding\",\n \"dataBound\",\n \"cascade\",\n \"set\"\n ],\n\n setOptions: function(options) {\n var listOptions = this._listOptions(options);\n\n Select.fn.setOptions.call(this, options);\n\n this.listView.setOptions(listOptions);\n\n this._accessors();\n this._aria();\n this._clearButton();\n },\n\n destroy: function() {\n var that = this;\n\n that.input.off(ns);\n that.input.off(nsFocusEvent);\n that.element.off(ns);\n that.wrapper.off(ns);\n clearTimeout(that._pasteTimeout);\n\n that._arrow.off(CLICK + \" \" + MOUSEDOWN);\n that._clear.off(CLICK + \" \" + MOUSEDOWN);\n\n Select.fn.destroy.call(that);\n },\n\n _isValueChanged: function(value) {\n return value !== List.unifyType(this._old, typeof value) &&\n value !== List.unifyType(this._oldText, typeof value);\n },\n\n _change: function() {\n var that = this;\n var text = that.text();\n var hasText = text && text !== that._oldText && text !== that.options.placeholder;\n var index = that.selectedIndex;\n var isCustom = index === -1;\n\n if (!that.options.syncValueAndText && !that.value() && isCustom && hasText) {\n that._old = \"\";\n that._oldIndex = index;\n that._oldText = text;\n\n if (!that._typing) {\n // trigger the DOM change event so any subscriber gets notified\n that.element.trigger(CHANGE);\n }\n\n that.trigger(CHANGE);\n that._typing = false;\n return;\n }\n\n Select.fn._change.call(that);\n\n that._oldText = that.text && that.text();\n\n that._toggleCloseVisibility();\n },\n\n _attachFocusEvents: function() {\n var that = this;\n that.input.on(\"focus\" + nsFocusEvent, proxy(that._inputFocus, that))\n .on(\"focusout\" + nsFocusEvent, proxy(that._inputFocusout, that));\n },\n\n _focusHandler: function(e) {\n if(e.target === this.element[0]) {\n this.input.trigger(\"focus\");\n }\n },\n\n _arrowClick: function() {\n this._toggle();\n },\n\n _inputFocus: function() {\n this.wrapper.addClass(FOCUSED);\n this._placeholder(false);\n },\n\n _inputFocusout: function(e) {\n var that = this;\n var value = that.value();\n var isClearButton = !$(e.relatedTarget).closest('.k-clear-value').length;\n\n that._userTriggered = true;\n that.wrapper.removeClass(FOCUSED);\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n\n if (isClearButton) {\n that.text(that.text());\n }\n\n var item = that._focus();\n var dataItem = this.listView.dataItemByIndex(this.listView.getElementIndex(item));\n\n if (value !== that.value() && that.trigger(\"select\", { dataItem: dataItem, item: item })) {\n that.value(value);\n return;\n }\n\n that._placeholder();\n that._valueBeforeCascade = that._old;\n\n if (isClearButton) {\n that._blur();\n\n that.element.trigger(\"blur\");\n }\n },\n\n _inputPaste: function() {\n var that = this;\n clearTimeout(that._pasteTimeout);\n that._pasteTimeout = null;\n\n that._pasteTimeout = setTimeout(function() {\n that.search();\n });\n },\n\n _editable: function(options) {\n var that = this,\n disable = options.disable,\n readonly = options.readonly,\n wrapper = that.wrapper.off(ns),\n input = that.element.add(that.input.off(ns)),\n arrow = that._arrow.off(CLICK + \" \" + MOUSEDOWN),\n clear = that._clear;\n\n if (!readonly && !disable) {\n wrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n input.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false)\n .attr(ARIA_READONLY, false);\n\n arrow.on(CLICK, proxy(that._arrowClick, that))\n .on(MOUSEDOWN, function(e) { e.preventDefault(); });\n\n clear.on(CLICK + \" touchend\" + ns, proxy(that._clearValue, that));\n\n that.input\n .on(\"keydown\" + ns, proxy(that._keydown, that))\n .on(\"input\" + ns, proxy(that._search, that))\n .on(\"paste\" + ns, proxy(that._inputPaste, that));\n\n that.wrapper.on(CLICK + ns, proxy(that._focusHandler, that));\n } else {\n wrapper\n .addClass(disable ? STATEDISABLED : \"\")\n .removeClass(disable ? \"\" : STATEDISABLED);\n\n input.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable)\n .attr(ARIA_READONLY, readonly);\n }\n\n that._toggleCloseVisibility();\n },\n\n open: function() {\n var that = this;\n var state = that._state;\n var isFiltered = that.dataSource.filter() ? that.dataSource.filter().filters.length > 0 : false;\n var reinitialized = !that.ul.find(that.listView.focus()).length;\n\n if (that.popup.visible()) {\n return;\n }\n\n if ((!that.listView.bound() && state !== STATE_FILTER) || state === STATE_ACCEPT) {\n that._open = true;\n that._state = STATE_REBIND;\n\n if ((that.options.minLength !== 1 && !isFiltered) || (isFiltered && that.value() && that.selectedIndex === -1 )) {\n that.refresh();\n that._openPopup();\n if (!this.options.virtual) {\n that.listView.bound(false);\n }\n } else {\n that._filterSource();\n }\n } else if (that._allowOpening()) {\n // In some cases when the popup is opened resize is triggered which will cause it to close\n // Setting the below flag will prevent this from happening\n that.popup._hovered = true;\n that._openPopup();\n if(that.options.virtual) {\n that._focusItem();\n } else if (reinitialized && that.options.highlightFirst) {\n that.listView.focus(0);\n }\n }\n },\n\n _scrollToFocusedItem: function() {\n var listView = this.listView;\n\n listView.scrollToIndex(listView.getElementIndex(listView.focus()));\n },\n\n _openPopup: function() {\n this.popup.one(\"activate\", proxy(this._scrollToFocusedItem, this));\n this.popup.open();\n },\n\n _updateSelectionState: function() {\n var that = this;\n var text = that.options.text;\n var value = that.options.value;\n\n if (that.listView.isFiltered()) {\n return;\n }\n\n if (that.selectedIndex === -1) {\n if (text === undefined || text === null) {\n text = value;\n }\n\n that._accessor(value);\n that.input.val(text || that.input.val());\n that._placeholder();\n } else if (that._oldIndex === -1) {\n that._oldIndex = that.selectedIndex;\n }\n },\n\n _buildOptions: function(data) {\n var that = this;\n if (!that._isSelect) {\n return;\n }\n\n var custom = that._customOption;\n\n if (that._state === STATE_REBIND) {\n that._state = \"\";\n }\n\n that._customOption = undefined;\n that._options(data, \"\", that.value());\n\n if (custom && custom[0].selected && !that.listView._emptySearch) {\n that._custom(custom.val());\n }\n },\n\n _updateSelection: function() {\n var that = this;\n var listView = that.listView;\n var initialIndex = that._initialIndex;\n var hasInitialIndex = initialIndex !== null && initialIndex > -1;\n var filtered = that._state === STATE_FILTER;\n\n if (filtered) {\n $(listView.focus()).removeClass(\"k-selected\");\n return;\n }\n\n if (that._fetch) {\n return;\n }\n\n if (!listView.value().length) {\n if (hasInitialIndex) {\n that.select(initialIndex);\n } else if (that._accessor()) {\n listView.value(that._accessor());\n }\n }\n\n that._initialIndex = null;\n var dataItem = listView.selectedDataItems()[0];\n\n if (!dataItem) {\n return;\n }\n\n if (that._value(dataItem) !== that.value()) {\n that._custom(that._value(dataItem));\n } else if (that._value(dataItem) !== that.element[0].value){\n that._accessor(that._value(dataItem));\n }\n\n if (that.text() && that.text() !== that._text(dataItem)) {\n that._selectValue(dataItem);\n }\n },\n\n _updateItemFocus: function() {\n var listView = this.listView;\n\n if (!this.options.highlightFirst) {\n listView.focus(-1);\n } else if (!listView.focus() && !listView.focusIndex()) {\n listView.focus(0);\n }\n },\n\n _listBound: function() {\n var that = this;\n var isActive = that.input[0] === activeElement();\n\n var data = that.dataSource.flatView();\n var skip = that.listView.skip();\n var length = data.length;\n var groupsLength = that.dataSource._group ? that.dataSource._group.length : 0;\n var isFirstPage = skip === undefined || skip === 0;\n\n that._presetValue = false;\n\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!length);\n that._toggleHeader(!!groupsLength && !!length);\n\n that._resizePopup();\n\n that.popup.position();\n\n that._buildOptions(data);\n\n that._updateSelection();\n\n if (data.length && isFirstPage) {\n that._updateItemFocus();\n\n if (that.options.suggest && isActive && that.input.val()) {\n that.suggest(data[0]);\n }\n }\n\n if (that._open) {\n that._open = false;\n\n if (that._typingTimeout && !isActive) {\n that.popup.close();\n } else {\n that.toggle(that._allowOpening());\n }\n\n that._typingTimeout = null;\n }\n\n that._hideBusy();\n that.trigger(\"dataBound\");\n },\n\n _listChange: function() {\n this._selectValue(this.listView.selectedDataItems()[0]);\n\n if (this._presetValue) {\n this._oldIndex = this.selectedIndex;\n }\n },\n\n _get: function(candidate) {\n var data, found, idx;\n\n if (typeof candidate === \"function\") {\n data = this.dataSource.flatView();\n\n for (idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n found = true;\n break;\n }\n }\n\n if (!found) {\n candidate = -1;\n }\n }\n\n if (!this.dataSource.total() && !candidate) {\n candidate = -1;\n }\n\n return candidate;\n },\n\n _select: function(candidate, keepState) {\n var that = this;\n\n candidate = that._get(candidate);\n\n if (candidate === -1) {\n that.input[0].value = \"\";\n that._accessor(\"\");\n }\n\n return that.listView.select(candidate).done(function() {\n if (!keepState && that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n });\n },\n\n _selectValue: function(dataItem) {\n var idx = this.listView.select();\n var value = \"\";\n var text = \"\";\n\n idx = idx[idx.length - 1];\n if (idx === undefined) {\n idx = -1;\n }\n\n this.selectedIndex = idx;\n\n if (this.listView.isFiltered() && idx !== -1) {\n this._valueBeforeCascade = this._old;\n }\n\n if (idx === -1 && !dataItem) {\n if (this.options.syncValueAndText) {\n if (this.options.dataTextField === this.options.dataValueField) {\n text = this._accessor();\n } else {\n text = this.input[0].value;\n }\n value = text;\n }\n else {\n text = this.text();\n }\n this.listView.focus(-1);\n } else {\n if (dataItem || dataItem === 0) {\n value = this._dataValue(dataItem);\n text = this._text(dataItem);\n }\n\n if (value === null) {\n value = \"\";\n }\n }\n\n this._setDomInputValue(text);\n this._accessor(value !== undefined ? value : text, idx);\n\n this._placeholder();\n this._triggerCascade();\n },\n\n _setDomInputValue: function(text){\n var that = this;\n var currentCaret = caret(this.input);\n var caretStart;\n\n if(currentCaret && currentCaret.length){\n caretStart = currentCaret[0];\n }\n\n this._prev = this.input[0].value = text;\n\n if(caretStart && this.selectedIndex === -1){\n var mobile = support.mobileOS;\n if(mobile.wp || mobile.android) {// without the timeout the caret is at the end of the input\n setTimeout(function() { that.input[0].setSelectionRange(caretStart, caretStart); }, 0);\n }\n else {\n this.input[0].setSelectionRange(caretStart, caretStart);\n }\n }\n },\n\n refresh: function() {\n this.listView.refresh();\n },\n\n _toggleCloseVisibility: function() {\n var preventShow = this.element.is(\":disabled\") || this.element.is(\"[readonly]\");\n\n if (this.text() && !preventShow) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n\n suggest: function(word) {\n var that = this;\n var element = that.input[0];\n var value = that.text();\n var caretIdx = caret(element)[0];\n var key = that._last;\n var idx;\n var accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering;\n\n if (key == keys.BACKSPACE || key == keys.DELETE) {\n that._last = undefined;\n return;\n }\n\n word = word || \"\";\n\n if (typeof word !== \"string\") {\n if (word[0]) {\n word = that.dataSource.view()[List.inArray(word[0], that.ul[0])];\n }\n\n word = word ? that._text(word) : \"\";\n }\n\n if (caretIdx <= 0) {\n caretIdx = (accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase()).indexOf(accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()) + 1;\n }\n\n if (word) {\n word = word.toString();\n idx = (accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()).indexOf(accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase());\n if (idx > -1) {\n value += word.substring(idx + value.length);\n }\n } else {\n value = value.substring(0, caretIdx);\n }\n\n if (value.length !== caretIdx || !word) {\n element.value = value;\n if (element === activeElement()) {\n caret(element, caretIdx, value.length);\n }\n }\n },\n\n text: function (text) {\n text = text === null ? \"\" : text;\n\n var that = this;\n var input = that.input[0];\n var ignoreCase = that.options.ignoreCase;\n var loweredText = text;\n var dataItem;\n var value;\n\n if (text === undefined) {\n return input.value;\n }\n\n if (that.options.autoBind === false && !that.listView.bound()) {\n that._setText(text);\n return;\n }\n\n dataItem = that.dataItem();\n\n if (dataItem && that._text(dataItem).replace && that._text(dataItem).replace(newLineRegEx,\"\") === text) {\n value = that._value(dataItem);\n\n if (value === List.unifyType(that._old, typeof value)) {\n that._triggerCascade();\n return;\n }\n }\n\n if (ignoreCase) {\n loweredText = loweredText.toLowerCase();\n }\n\n if(that.dataItem() && that._text(that.dataItem()) === text){\n return;\n }\n\n that._select(function(data) {\n data = that._text(data);\n if (ignoreCase) {\n data = (data + \"\").toLowerCase();\n }\n\n return data === loweredText;\n }).done(function() {\n if (that.selectedIndex < 0) {\n input.value = text;\n\n if (that.options.syncValueAndText) {\n that._accessor(text);\n }\n\n that._cascadeTriggered = true;\n that._triggerCascade();\n }\n\n that._prev = input.value;\n });\n\n that._toggleCloseVisibility();\n },\n\n toggle: function(toggle) {\n this._toggle(toggle, true);\n },\n\n value: function(value) {\n var that = this;\n var options = that.options;\n var listView = that.listView;\n\n if (value === undefined) {\n value = that._accessor() || that.listView.value()[0];\n return value === undefined || value === null ? \"\" : value;\n }\n\n that.requireValueMapper(that.options, value);\n\n that.trigger(\"set\", { value: value });\n\n if (value === options.value && that.input.val() === options.text &&\n !that.options.cascadeFrom) {\n return;\n }\n\n that._accessor(value);\n\n if (that._isFilterEnabled() && listView.bound() && listView.isFiltered()) {\n that._clearFilter();\n } else {\n that._fetchData();\n }\n\n listView\n .value(value)\n .done(function() {\n if (that.selectedIndex === -1 && (!listView._selectedDataItems || !listView._selectedDataItems.length)) {\n that._accessor(value);\n that.input.val(value);\n that._placeholder(true);\n }\n\n if(that._userTriggered) {\n that._old = that._accessor();\n } else {\n that._old = that._valueBeforeCascade = that._accessor();\n }\n\n that._oldIndex = that.selectedIndex;\n\n that._prev = that._oldText = that.input.val();\n\n if (that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n });\n },\n\n _hideBusy: function () {\n var that = this;\n clearTimeout(that._busy);\n that._arrowIcon.removeClass(LOADING);\n that._focused.attr(\"aria-busy\", false);\n that._busy = null;\n that._toggleCloseVisibility();\n },\n\n _click: function(e) {\n var that = this;\n var item = e.item;\n var dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(item));\n var shouldTrigger = true;\n e.preventDefault();\n\n if(dataItem){\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n\n if(!shouldTrigger){\n that.input.val(that._text(dataItem));\n }\n }\n\n if (shouldTrigger && that.trigger(\"select\", { dataItem: dataItem, item: item })) {\n that.close();\n return;\n }\n\n that._userTriggered = true;\n\n that._select(item).done(function() {\n that._blur();\n });\n },\n\n _syncValueAndText: function () {\n return this.options.syncValueAndText;\n },\n\n _inputValue: function() {\n return this.text();\n },\n\n _searchByWord: function(word) {\n var that = this;\n var options = that.options;\n var dataSource = that.dataSource;\n var ignoreCase = options.ignoreCase;\n var predicate = function (dataItem) {\n var text = that._text(dataItem);\n if (text !== undefined) {\n text = text + \"\";\n if (text !== \"\" && word === \"\") {\n return false;\n }\n\n if (ignoreCase) {\n text = text.toLowerCase();\n }\n\n return text.indexOf(word) === 0;\n }\n };\n\n if (ignoreCase) {\n word = word.toLowerCase();\n }\n\n if (!that.ul[0].firstChild) {\n dataSource.one(CHANGE, function () {\n if (dataSource.view()[0]) {\n that.search(word);\n }\n }).fetch();\n return;\n }\n\n this.listView.focus(this._get(predicate));\n\n var current = this.listView.focus();\n\n if (current) {\n if (options.suggest) {\n that.suggest(current);\n }\n\n this.open();\n }\n\n if (this.options.highlightFirst && !word) {\n this.listView.focusFirst();\n }\n },\n\n _input: function() {\n var that = this,\n element = that.element.removeClass(\"k-input-inner\")[0],\n accessKey = element.accessKey,\n wrapper = that.wrapper,\n SELECTOR = \"input.k-input-inner\",\n name = element.name || \"\",\n options = that.options,\n input,\n maxLength,\n arrowBtn;\n\n if (name) {\n name = 'name=\"' + name + '_input\" ';\n }\n\n input = wrapper.find(SELECTOR);\n\n if (!input[0]) {\n arrowBtn = html.renderButton('', {\n icon: \"arrow-s\",\n size: options.size,\n fillMode: options.fillMode,\n shape: null,\n rounded: null,\n });\n\n wrapper.append('')\n .append(arrowBtn)\n .append(that.element);\n\n input = wrapper.find(SELECTOR);\n }\n\n input[0].style.cssText = element.style.cssText;\n input[0].title = element.title;\n\n maxLength = parseInt(this.element.prop(\"maxlength\") || this.element.attr(\"maxlength\"), 10);\n if (maxLength > -1) {\n input[0].maxLength = maxLength;\n }\n\n input.addClass(element.className)\n .css({\n width: \"\",\n height: element.style.height,\n position: \"\"\n })\n .attr({\n \"role\": \"combobox\",\n \"aria-expanded\": false\n })\n .show();\n\n if (placeholderSupported) {\n input.attr(\"placeholder\", that.options.placeholder);\n }\n\n if (accessKey) {\n element.accessKey = \"\";\n input[0].accessKey = accessKey;\n }\n\n that._focused = that.input = input;\n that._arrow = wrapper.find(\".k-select\")\n .attr({\n \"role\": \"button\",\n \"tabIndex\": -1\n });\n that._arrowIcon = that._arrow.find(\".k-icon\");\n\n if (element.id) {\n that._arrow.attr(\"aria-controls\", that.ul[0].id);\n }\n },\n\n _clearButton: function() {\n List.fn._clearButton.call(this);\n\n if (this.options.clearButton) {\n this._clear.insertAfter(this.input);\n this.wrapper.addClass(\"k-combobox-clearable\");\n }\n },\n\n _keydown: function(e) {\n var that = this,\n key = e.keyCode,\n textField = that.options.dataTextField || \"text\",\n isFkey = key >= 112 && key <= 135,\n isNonPrintableKey = NON_PRINTABLE_KEYS.indexOf(key) > -1;\n\n that._last = key;\n\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n\n if (key === keys.HOME) {\n that._firstItem();\n } else if (key === keys.END) {\n that._lastItem();\n } else if (key === keys.ENTER || (key === keys.TAB && that.popup.visible())) {\n var current = that.listView.focus();\n var dataItem = that.dataItem();\n var shouldTrigger = true;\n\n if (!that.popup.visible() && (!dataItem || that.text() !== that._text(dataItem))) {\n current = null;\n }\n\n if (current) {\n if (that.popup.visible()) {\n e.preventDefault();\n }\n\n dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(current));\n\n if(dataItem){\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n }\n\n if (shouldTrigger && that.trigger(\"select\", { dataItem: dataItem, item: current })) {\n return;\n }\n\n that._userTriggered = true;\n\n that._select(current).done(function() {\n that._blur();\n that._valueBeforeCascade = that._old = that.value();\n });\n } else {\n if(that._syncValueAndText() || that._isSelect){\n if(!that.dataItem() || that.dataItem()[textField] !== that.input.val()) {\n that._accessor(that.input.val());\n }\n }\n\n if (that.options.highlightFirst) {\n that.listView.value(that.input.val());\n that._blur();\n } else {\n that._oldText = that.text();\n }\n }\n } else if (key != keys.TAB && !that._move(e) && !isNonPrintableKey && !isFkey && !e.ctrlKey) {\n that._search();\n } else if (key === keys.ESC && !that.popup.visible() && that.text()) {\n that._clearValue();\n }\n },\n\n _placeholder: function(show) {\n if (placeholderSupported) {\n return;\n }\n\n var that = this,\n input = that.input,\n placeholder = that.options.placeholder,\n value;\n\n if (placeholder) {\n value = that.value();\n\n if (show === undefined) {\n show = !value;\n }\n\n input.toggleClass(\"k-readonly\", show);\n\n if (!show) {\n if (!value) {\n placeholder = \"\";\n } else {\n return;\n }\n }\n\n input.val(placeholder);\n\n if (!placeholder && input[0] === activeElement()) {\n caret(input[0], 0, 0);\n }\n }\n },\n\n _search: function() {\n var that = this;\n\n clearTimeout(that._typingTimeout);\n\n that._typingTimeout = setTimeout(function() {\n var value = that.text();\n\n if (value !== \"\" && that._prev !== value) {\n that._prev = value;\n\n if (that.options.filter === \"none\" && that.options.virtual) {\n that.listView.select(-1);\n }\n\n that.search(value);\n\n that._toggleCloseVisibility();\n }\n else if (value === \"\" && that._prev !== \"\" && that._prev !== undefined) {\n that._clearValue();\n that._open = true;\n that._state = STATE_REBIND;\n }\n\n that._typingTimeout = null;\n }, that.options.delay);\n },\n\n _setText: function(text) {\n this.input.val(text);\n this._prev = text;\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n wrapper = element.parent();\n\n if (!wrapper.is(\"span.k-input\")) {\n wrapper = element.hide().wrap(\"\").parent();\n wrapper[0].style.cssText = element[0].style.cssText;\n }\n\n that.wrapper = wrapper.addClass(\"k-input k-combobox k-widget\")\n .addClass(element[0].className)\n .removeClass('input-validation-error')\n .css(\"display\", \"\");\n },\n\n _clearSelection: function(parent, isFiltered) {\n var that = this;\n var hasValue = parent.value();\n var custom = hasValue && parent.selectedIndex === -1;\n\n if (this.selectedIndex == -1 && this.value()) {\n return;\n }\n\n if (isFiltered || !hasValue || custom) {\n that.options.value = \"\";\n that.value(\"\");\n }\n },\n\n _preselect: function(value, text) {\n this.input.val(text);\n this._accessor(value);\n\n this._old = this._accessor();\n this._oldIndex = this.selectedIndex;\n\n this.listView.setValue(value);\n this._placeholder();\n\n this._initialIndex = null;\n this._presetValue = true;\n this._toggleCloseVisibility();\n },\n\n _clearText: function() {\n this._old = this.value();\n this.text(\"\");\n },\n\n _clearValue: function() {\n Select.fn._clearValue.call(this);\n this.input.trigger(\"focus\");\n }\n });\n\n ui.plugin(ComboBox);\n\n kendo.cssProperties.registerPrefix(\"ComboBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"ComboBox\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.dropdownlist',[ \"./kendo.list\", \"./kendo.mobile.scroller\", \"./kendo.virtuallist\", \"./kendo.html.button\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"dropdownlist\",\n name: \"DropDownList\",\n category: \"web\",\n description: \"The DropDownList widget displays a list of values and allows the selection of a single value from the list.\",\n depends: [ \"list\", \"html.button\" ],\n features: [ {\n id: \"mobile-scroller\",\n name: \"Mobile scroller\",\n description: \"Support for kinetic scrolling in mobile device\",\n depends: [ \"mobile.scroller\" ]\n }, {\n id: \"virtualization\",\n name: \"VirtualList\",\n description: \"Support for virtualization\",\n depends: [ \"virtuallist\" ]\n } ]\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n ui = kendo.ui,\n html = kendo.html,\n List = ui.List,\n Select = ui.Select,\n support = kendo.support,\n activeElement = kendo._activeElement,\n ObservableObject = kendo.data.ObservableObject,\n keys = kendo.keys,\n ns = \".kendoDropDownList\",\n nsFocusEvent = ns + \"FocusEvent\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n CHANGE = \"change\",\n FOCUSED = \"k-focus\",\n STATEDISABLED = \"k-disabled\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_READONLY = \"aria-readonly\",\n CLICKEVENTS = \"click\" + ns + \" touchend\" + ns,\n HOVEREVENTS = \"mouseenter\" + ns + \" mouseleave\" + ns,\n TABINDEX = \"tabindex\",\n STATE_FILTER = \"filter\",\n STATE_ACCEPT = \"accept\",\n MSG_INVALID_OPTION_LABEL = \"The `optionLabel` option is not valid due to missing fields. Define a custom optionLabel as shown here http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#configuration-optionLabel\",\n proxy = $.proxy,\n OPEN = \"open\",\n CLOSE = \"close\";\n\n var DropDownList = Select.extend( {\n init: function(element, options) {\n var that = this;\n var index = options && options.index;\n var optionLabel, text, disabled;\n\n that.ns = ns;\n options = Array.isArray(options) ? { dataSource: options } : options;\n\n Select.fn.init.call(that, element, options);\n\n options = that.options;\n element = that.element.on(\"focus\" + ns, proxy(that._focusHandler, that));\n\n that._focusInputHandler = $.proxy(that._focusInput, that);\n\n that.optionLabel = $();\n that._optionLabel();\n\n that._inputTemplate();\n\n that._reset();\n\n that._prev = \"\";\n that._word = \"\";\n\n that._wrapper();\n\n that._tabindex();\n that.wrapper.data(TABINDEX, that.wrapper.attr(TABINDEX));\n\n that._span();\n\n that._popup();\n\n that._mobile();\n\n that._dataSource();\n\n that._ignoreCase();\n\n that._filterHeader();\n\n that._aria();\n\n //should read changed value of closed dropdownlist\n that.wrapper.attr(\"aria-live\", \"polite\");\n\n that._enable();\n\n that._attachFocusHandlers();\n\n that._oldIndex = that.selectedIndex = -1;\n\n if (index !== undefined) {\n options.index = index;\n }\n\n that._initialIndex = options.index;\n\n that.requireValueMapper(that.options);\n that._initList();\n that.listView.one(\"dataBound\", proxy(that._attachAriaActiveDescendant, that));\n\n that._cascade();\n\n that.one(\"set\", function(e) {\n if (!e.sender.listView.bound() && that.hasOptionLabel()) {\n that._textAccessor(that._optionLabelText());\n }\n });\n\n if (options.autoBind) {\n that.dataSource.fetch();\n } else if (that.selectedIndex === -1) { //selectedIndex !== -1 when cascade functionality happens instantly\n text = options.text || \"\";\n if (!text) {\n optionLabel = options.optionLabel;\n\n if (optionLabel && options.index === 0) {\n text = optionLabel;\n } else if (that._isSelect) {\n text = element.children(\":selected\").text();\n }\n }\n\n that._textAccessor(text);\n }\n\n disabled = $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n }\n\n that.listView.bind(\"click\", function(e) { e.preventDefault(); });\n\n kendo.notify(that);\n that._applyCssClasses();\n },\n\n options: {\n name: \"DropDownList\",\n enabled: true,\n autoBind: true,\n index: 0,\n text: null,\n value: null,\n delay: 500,\n height: 200,\n dataTextField: \"\",\n dataValueField: \"\",\n optionLabel: \"\",\n cascadeFrom: \"\",\n cascadeFromField: \"\",\n cascadeFromParentField: \"\",\n ignoreCase: true,\n animation: {},\n filter: \"none\",\n minLength: 1,\n enforceMinLength: false,\n virtual: false,\n template: null,\n valueTemplate: null,\n optionLabelTemplate: null,\n groupTemplate: \"#:data#\",\n fixedGroupTemplate: \"#:data#\",\n autoWidth: false,\n popup: null,\n filterTitle: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\"\n },\n\n events: [\n \"open\",\n \"close\",\n CHANGE,\n \"select\",\n \"filtering\",\n \"dataBinding\",\n \"dataBound\",\n \"cascade\",\n \"set\",\n \"kendoKeydown\"\n ],\n\n setOptions: function(options) {\n Select.fn.setOptions.call(this, options);\n\n this.listView.setOptions(this._listOptions(options));\n\n this._optionLabel();\n this._inputTemplate();\n this._accessors();\n this._filterHeader();\n this._enable();\n this._aria();\n\n if (!this.value() && this.hasOptionLabel()) {\n this.select(0);\n }\n },\n\n destroy: function() {\n var that = this;\n\n Select.fn.destroy.call(that);\n\n that.wrapper.off(ns);\n that.wrapper.off(nsFocusEvent);\n that.element.off(ns);\n\n that._arrow.off();\n that._arrow = null;\n that._arrowIcon = null;\n\n that.optionLabel.off();\n\n if(that.filterInput){\n that.filterInput.off(nsFocusEvent);\n }\n },\n\n open: function() {\n var that = this;\n var isFiltered = that.dataSource.filter() ? that.dataSource.filter().filters.length > 0 : false;\n var listView = this.listView;\n\n if (that.popup.visible()) {\n return;\n }\n\n if (!that.listView.bound() || that._state === STATE_ACCEPT) {\n that._open = true;\n that._state = \"rebind\";\n\n if (that.filterInput) {\n that.filterInput.val(\"\");\n that._prev = \"\";\n }\n\n if (that.filterInput && that.options.minLength !== 1 && !isFiltered) {\n that.refresh();\n that.popup.one(\"activate\", that._focusInputHandler);\n that.wrapper.attr(\"aria-activedescendant\", listView._optionID);\n that.popup.open();\n that._resizeFilterInput();\n } else {\n that._filterSource();\n }\n } else if (that._allowOpening()) {\n that._focusFilter = true;\n that.popup.one(\"activate\", that._focusInputHandler);\n // In some cases when the popup is opened resize is triggered which will cause it to close\n // Setting the below flag will prevent this from happening\n that.popup._hovered = true;\n that.wrapper.attr(\"aria-activedescendant\", listView._optionID);\n that.popup.open();\n that._resizeFilterInput();\n that._focusItem();\n }\n },\n\n close: function() {\n this._attachAriaActiveDescendant();\n this.popup.close();\n },\n\n _attachAriaActiveDescendant: function() {\n var wrapper = this.wrapper,\n inputId = wrapper.find(\".k-input-inner\").attr('id');\n\n wrapper.attr(\"aria-activedescendant\", inputId);\n },\n\n _focusInput: function () {\n this._focusElement(this.filterInput);\n },\n\n _resizeFilterInput: function () {\n var filterInput = this.filterInput;\n var originalPrevent = this._prevent;\n\n if (!filterInput) {\n return;\n }\n\n var isInputActive = this.filterInput[0] === activeElement();\n var caret = kendo.caret(this.filterInput[0])[0];\n\n this._prevent = true;\n\n filterInput.addClass(\"k-hidden\");\n filterInput.closest(\".k-list-filter\").css(\"width\", this.popup.element.css(\"width\"));\n filterInput.removeClass(\"k-hidden\");\n\n if (isInputActive) {\n filterInput.trigger(\"focus\");\n kendo.caret(filterInput[0], caret);\n }\n\n this._prevent = originalPrevent;\n },\n\n _allowOpening: function() {\n return this.hasOptionLabel() || this.filterInput || Select.fn._allowOpening.call(this);\n },\n\n toggle: function(toggle) {\n this._toggle(toggle, true);\n },\n\n current: function(candidate) {\n var current;\n\n if (candidate === undefined) {\n current = this.listView.focus();\n\n if (!current && this.selectedIndex === 0 && this.hasOptionLabel()) {\n return this.optionLabel;\n }\n\n return current;\n }\n\n this._focus(candidate);\n },\n\n dataItem: function(index) {\n var that = this;\n var dataItem = null;\n\n if (index === null) { return index; }\n\n if (index === undefined) {\n dataItem = that.listView.selectedDataItems()[0];\n } else {\n if (typeof index !== \"number\") {\n if (that.options.virtual) {\n return that.dataSource.getByUid($(index).data(\"uid\"));\n }\n if (index.hasClass(\"k-list-optionlabel\")) {\n index = -1;\n } else {\n index = $(that.items()).index(index);\n }\n } else if (that.hasOptionLabel()) {\n index -= 1;\n }\n\n dataItem = that.dataSource.flatView()[index];\n }\n\n if (!dataItem) {\n dataItem = that._optionLabelDataItem();\n }\n\n return dataItem;\n },\n\n refresh: function() {\n this.listView.refresh();\n },\n\n text: function (text) {\n var that = this;\n var loweredText;\n var ignoreCase = that.options.ignoreCase;\n\n text = text === null ? \"\" : text;\n\n if (text !== undefined) {\n if (typeof text !== \"string\") {\n that._textAccessor(text);\n return;\n }\n\n loweredText = ignoreCase ? text.toLowerCase() : text;\n\n that._select(function(data) {\n data = that._text(data);\n\n if (ignoreCase) {\n data = (data + \"\").toLowerCase();\n }\n\n return data === loweredText;\n }).done(function() {\n that._textAccessor(that.dataItem() || text);\n });\n\n } else {\n return that._textAccessor();\n }\n },\n\n _clearFilter: function() {\n $(this.filterInput).val(\"\");\n Select.fn._clearFilter.call(this);\n },\n\n value: function(value) {\n var that = this;\n var listView = that.listView;\n var dataSource = that.dataSource;\n\n if (value === undefined) {\n value = that._accessor() || that.listView.value()[0];\n return value === undefined || value === null ? \"\" : value;\n }\n\n that.requireValueMapper(that.options, value);\n\n if (value || !that.hasOptionLabel()) {\n that._initialIndex = null;\n }\n\n this.trigger(\"set\", { value: value });\n\n if (that._request && that.options.cascadeFrom && that.listView.bound()) {\n if (that._valueSetter) {\n dataSource.unbind(CHANGE, that._valueSetter);\n }\n\n that._valueSetter = proxy(function() { that.value(value); }, that);\n\n dataSource.one(CHANGE, that._valueSetter);\n return;\n }\n\n if (that._isFilterEnabled() && listView.bound() && listView.isFiltered()) {\n that._clearFilter();\n } else {\n that._fetchData();\n }\n\n listView.value(value).done(function() {\n that._old = that._valueBeforeCascade = that._accessor();\n that._oldIndex = that.selectedIndex;\n });\n },\n\n hasOptionLabel: function() {\n return this.optionLabel && !!this.optionLabel[0];\n },\n\n _optionLabel: function() {\n var that = this;\n var options = that.options;\n var optionLabel = options.optionLabel;\n var template = options.optionLabelTemplate;\n\n if (!optionLabel) {\n that.optionLabel.off().remove();\n that.optionLabel = $();\n return;\n }\n\n if (!template) {\n template = \"#:\";\n\n if (typeof optionLabel === \"string\") {\n template += \"data\";\n } else {\n template += kendo.expr(options.dataTextField, \"data\");\n }\n\n template += \"#\";\n }\n\n if (typeof template !== \"function\") {\n template = kendo.template(template);\n }\n\n that.optionLabelTemplate = template;\n\n if (!that.hasOptionLabel()) {\n that.optionLabel = $('
      ').prependTo(that.list);\n }\n\n that.optionLabel.html(template(optionLabel))\n .off()\n .on(CLICKEVENTS, proxy(that._click, that))\n .on(HOVEREVENTS, that._toggleHover);\n\n that.angular(\"compile\", function() {\n return { elements: that.optionLabel, data: [{ dataItem: that._optionLabelDataItem() }] };\n });\n },\n\n _optionLabelText: function() {\n var optionLabel = this.options.optionLabel;\n return (typeof optionLabel === \"string\") ? optionLabel : this._text(optionLabel);\n },\n\n _optionLabelDataItem: function() {\n var that = this;\n var optionLabel = that.options.optionLabel;\n\n if (that.hasOptionLabel()) {\n return $.isPlainObject(optionLabel) ? new ObservableObject(optionLabel) : that._assignInstance(that._optionLabelText(), \"\");\n }\n\n return undefined;\n },\n\n _buildOptions: function(data) {\n var that = this;\n if (!that._isSelect) {\n return;\n }\n\n var value = that.listView.value()[0];\n var optionLabel = that._optionLabelDataItem();\n var optionLabelValue = optionLabel && that._value(optionLabel);\n\n if (value === undefined || value === null) {\n value = \"\";\n }\n\n if (optionLabel) {\n if (optionLabelValue === undefined || optionLabelValue === null) {\n optionLabelValue = \"\";\n }\n\n optionLabel = '\";\n }\n\n that._options(data, optionLabel, value);\n\n if (value !== List.unifyType(that._accessor(), typeof value)) {\n that._customOption = null;\n that._custom(value);\n }\n },\n\n _listBound: function() {\n\n var that = this;\n var initialIndex = that._initialIndex;\n var filtered = that._state === STATE_FILTER;\n\n var data = that.dataSource.flatView();\n var dataItem;\n\n that._presetValue = false;\n\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!data.length);\n\n that._resizePopup(true);\n\n that.popup.position();\n\n that._buildOptions(data);\n\n if (!filtered) {\n if (that._open) {\n that.toggle(that._allowOpening());\n }\n\n that._open = false;\n\n if (!that._fetch) {\n if (data.length) {\n if (!that.listView.value().length && initialIndex > -1 && initialIndex !== null) {\n that.select(initialIndex);\n }\n\n that._initialIndex = null;\n dataItem = that.listView.selectedDataItems()[0];\n if (dataItem && that.text() !== that._text(dataItem)) {\n that._selectValue(dataItem);\n }\n } else if (that._textAccessor() !== that._optionLabelText()) {\n that.listView.value(\"\");\n that._selectValue(null);\n that._oldIndex = that.selectedIndex;\n }\n }\n }\n\n that._hideBusy();\n that.trigger(\"dataBound\");\n },\n\n _listChange: function() {\n this._selectValue(this.listView.selectedDataItems()[0]);\n\n if (this._presetValue || (this._old && this._oldIndex === -1)) {\n this._oldIndex = this.selectedIndex;\n }\n },\n\n _filterPaste: function() {\n this._search();\n },\n\n _attachFocusHandlers: function() {\n var that = this;\n var wrapper = that.wrapper;\n\n wrapper.on(\"focusin\" + nsFocusEvent, proxy(that._focusinHandler, that))\n .on(\"focusout\" + nsFocusEvent, proxy(that._focusoutHandler, that));\n if(that.filterInput) {\n that.filterInput.on(\"focusin\" + nsFocusEvent, proxy(that._focusinHandler, that))\n .on(\"focusout\" + nsFocusEvent, proxy(that._focusoutHandler, that));\n }\n },\n\n _focusHandler: function() {\n this.wrapper.trigger(\"focus\");\n },\n\n _focusinHandler: function() {\n this.wrapper.addClass(FOCUSED);\n this._prevent = false;\n },\n\n _focusoutHandler: function() {\n var that = this;\n var isIFrame = window.self !== window.top;\n\n if (!that._prevent) {\n clearTimeout(that._typingTimeout);\n\n if (support.mobileOS.ios && isIFrame) {\n that._change();\n } else {\n that._blur();\n }\n\n that.wrapper.removeClass(FOCUSED);\n that._prevent = true;\n that._open = false;\n that.element.trigger(\"blur\");\n }\n },\n\n _wrapperMousedown: function() {\n this._prevent = !!this.filterInput;\n },\n\n _wrapperClick: function(e) {\n e.preventDefault();\n this.popup.unbind(\"activate\", this._focusInputHandler);\n this._focused = this.wrapper;\n this._prevent = false;\n this._toggle();\n },\n\n _editable: function(options) {\n var that = this;\n var element = that.element;\n var disable = options.disable;\n var readonly = options.readonly;\n var wrapper = that.wrapper.add(that.filterInput).off(ns);\n var dropDownWrapper = that.wrapper.off(HOVEREVENTS);\n\n if (!readonly && !disable) {\n element.prop(DISABLED, false).prop(READONLY, false);\n\n dropDownWrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n wrapper\n .attr(TABINDEX, wrapper.data(TABINDEX))\n .attr(ARIA_DISABLED, false)\n .attr(ARIA_READONLY, false)\n .on(\"keydown\" + ns, that, proxy(that._keydown, that))\n .on(kendo.support.mousedown + ns, proxy(that._wrapperMousedown, that))\n .on(\"paste\" + ns, proxy(that._filterPaste, that));\n\n that.wrapper.on(\"click\" + ns, proxy(that._wrapperClick, that));\n\n if (!that.filterInput) {\n wrapper.on(\"keypress\" + ns, proxy(that._keypress, that));\n } else {\n wrapper.on(\"input\" + ns, proxy(that._search, that));\n }\n\n } else if (disable) {\n wrapper.removeAttr(TABINDEX);\n dropDownWrapper.addClass(STATEDISABLED);\n } else {\n dropDownWrapper.removeClass(STATEDISABLED);\n }\n\n element.attr(DISABLED, disable)\n .attr(READONLY, readonly);\n\n wrapper.attr(ARIA_DISABLED, disable)\n .attr(ARIA_READONLY, readonly);\n },\n\n _keydown: function(e) {\n var that = this;\n var key = e.keyCode;\n var altKey = e.altKey;\n var isInputActive;\n var handled;\n\n var isPopupVisible = that.popup.visible();\n\n if (that.filterInput) {\n isInputActive = that.filterInput[0] === activeElement();\n }\n\n if (key === keys.LEFT) {\n key = keys.UP;\n handled = true;\n } else if (key === keys.RIGHT) {\n key = keys.DOWN;\n handled = true;\n }\n\n if (handled && isInputActive) {\n return;\n }\n\n e.keyCode = key;\n\n if ((altKey && key === keys.UP) || key === keys.ESC) {\n that._focusElement(that.wrapper);\n }\n\n if (that._state === STATE_FILTER && key === keys.ESC) {\n that._clearFilter();\n that._open = false;\n that._state = STATE_ACCEPT;\n }\n\n if (key === keys.ENTER && that._typingTimeout && that.filterInput && isPopupVisible) {\n e.preventDefault();\n return;\n }\n\n if (key === keys.SPACEBAR && !isInputActive) {\n that.toggle(!isPopupVisible);\n e.preventDefault();\n }\n\n handled = that._move(e);\n\n if (handled) {\n return;\n }\n\n if (!isPopupVisible || !that.filterInput) {\n var current = that._focus();\n\n if (key === keys.HOME) {\n handled = true;\n that._firstItem();\n } else if (key === keys.END) {\n handled = true;\n that._lastItem();\n }\n\n if (handled) {\n if (that.trigger(\"select\", { dataItem: that._getElementDataItem(that._focus()), item: that._focus() })) {\n that._focus(current);\n return;\n }\n\n that._select(that._focus(), true).done(function() {\n if (!isPopupVisible) {\n that._blur();\n }\n });\n e.preventDefault();\n }\n }\n\n if (!altKey && !handled && that.filterInput) {\n that._search();\n }\n },\n\n _matchText: function(text, word) {\n var ignoreCase = this.options.ignoreCase;\n\n if (text === undefined || text === null) {\n return false;\n }\n\n text = text + \"\";\n\n if (ignoreCase) {\n text = text.toLowerCase();\n }\n\n return text.indexOf(word) === 0;\n },\n\n _shuffleData: function(data, splitIndex) {\n var optionDataItem = this._optionLabelDataItem();\n\n if (optionDataItem) {\n data = [optionDataItem].concat(data);\n }\n\n return data.slice(splitIndex).concat(data.slice(0, splitIndex));\n },\n\n _selectNext: function() {\n var that = this;\n var data = that.dataSource.flatView();\n var dataLength = data.length + (that.hasOptionLabel() ? 1 : 0);\n var isInLoop = sameCharsOnly(that._word, that._last);\n var startIndex = that.selectedIndex;\n var oldFocusedItem;\n var text;\n\n if (startIndex === -1) {\n startIndex = 0;\n } else {\n startIndex += isInLoop ? 1 : 0;\n startIndex = normalizeIndex(startIndex, dataLength);\n }\n\n data = data.toJSON ? data.toJSON() : data.slice();\n data = that._shuffleData(data, startIndex);\n\n for (var idx = 0; idx < dataLength; idx++) {\n text = that._text(data[idx]);\n\n if (isInLoop && that._matchText(text, that._last)) {\n break;\n } else if (that._matchText(text, that._word)) {\n break;\n }\n }\n\n if (idx !== dataLength) {\n oldFocusedItem = that._focus();\n\n that._select(normalizeIndex(startIndex + idx, dataLength)).done(function() {\n var done = function() {\n if (!that.popup.visible()) {\n that._change();\n }\n };\n\n if (that.trigger(\"select\", { dataItem: that._getElementDataItem(that._focus()), item: that._focus() })) {\n that._select(oldFocusedItem).done(done);\n } else {\n done();\n }\n });\n }\n },\n\n _keypress: function(e) {\n var that = this;\n\n if (e.which === 0 || e.keyCode === kendo.keys.ENTER) {\n return;\n }\n\n var character = String.fromCharCode(e.charCode || e.keyCode);\n\n if (that.options.ignoreCase) {\n character = character.toLowerCase();\n }\n\n if (character === \" \") {\n e.preventDefault();\n }\n\n that._word += character;\n that._last = character;\n\n that._search();\n },\n\n _popupOpen: function() {\n var popup = this.popup;\n\n popup.wrapper = kendo.wrap(popup.element);\n\n if (popup.element.closest(\".km-root\")[0]) {\n popup.wrapper.addClass(\"km-popup km-widget\");\n this.wrapper.addClass(\"km-widget\");\n }\n },\n\n _popup: function() {\n Select.fn._popup.call(this);\n this.popup.one(\"open\", proxy(this._popupOpen, this));\n },\n\n _getElementDataItem: function(element) {\n if (!element || !element[0]) {\n return null;\n }\n\n if (element[0] === this.optionLabel[0]) {\n return this._optionLabelDataItem();\n }\n\n return this.listView.dataItemByIndex(this.listView.getElementIndex(element));\n },\n\n _click: function (e) {\n var that = this;\n var item = e.item || $(e.currentTarget);\n\n e.preventDefault();\n\n if (that.trigger(\"select\", { dataItem: that._getElementDataItem(item), item: item })) {\n that.close();\n return;\n }\n\n that._userTriggered = true;\n\n that._select(item).done(function() {\n that._blur();\n that._focusElement(that.wrapper);\n });\n },\n\n _focusElement: function(element) {\n var active = activeElement();\n var wrapper = this.wrapper;\n var filterInput = this.filterInput;\n var compareElement = element === filterInput ? wrapper : filterInput;\n var touchEnabled = support.mobileOS && (support.touch || support.MSPointers || support.pointers);\n\n if (filterInput && filterInput[0] === element[0] && touchEnabled) {\n return;\n }\n\n if (filterInput && (compareElement[0] === active || this._focusFilter)) {\n this._focusFilter = false;\n this._prevent = true;\n this._focused = element.trigger(\"focus\");\n }\n },\n\n _searchByWord: function(word) {\n if (!word) {\n return;\n }\n\n var that = this;\n var ignoreCase = that.options.ignoreCase;\n\n if (ignoreCase) {\n word = word.toLowerCase();\n }\n\n that._select(function(dataItem) {\n return that._matchText(that._text(dataItem), word);\n });\n },\n\n _inputValue: function() {\n return this.text();\n },\n\n _search: function() {\n var that = this;\n var dataSource = that.dataSource;\n\n clearTimeout(that._typingTimeout);\n\n if (that._isFilterEnabled()) {\n that._typingTimeout = setTimeout(function() {\n var value = that.filterInput.val();\n\n if (that._prev !== value) {\n that._prev = value;\n that.search(value);\n that._resizeFilterInput();\n }\n\n that._typingTimeout = null;\n }, that.options.delay);\n } else {\n that._typingTimeout = setTimeout(function() {\n that._word = \"\";\n }, that.options.delay);\n\n if (!that.listView.bound()) {\n dataSource.fetch().done(function () {\n that._selectNext();\n });\n return;\n }\n\n that._selectNext();\n }\n },\n\n _get: function(candidate) {\n var data, found, idx;\n var isFunction = typeof candidate === \"function\";\n var jQueryCandidate = !isFunction ? $(candidate) : $();\n\n if (this.hasOptionLabel()) {\n if (typeof candidate === \"number\") {\n if (candidate > -1) {\n candidate -= 1;\n }\n } else if (jQueryCandidate.hasClass(\"k-list-optionlabel\")) {\n candidate = -1;\n }\n }\n\n if (isFunction) {\n data = this.dataSource.flatView();\n\n for (idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n found = true;\n break;\n }\n }\n\n if (!found) {\n candidate = -1;\n }\n }\n\n return candidate;\n },\n\n _firstItem: function() {\n if (this.hasOptionLabel()) {\n this._focus(this.optionLabel);\n } else {\n this.listView.focusFirst();\n }\n },\n\n _lastItem: function() {\n this._resetOptionLabel();\n this.listView.focusLast();\n },\n\n _nextItem: function() {\n var focusIndex;\n\n if (this.optionLabel.hasClass(\"k-focus\")) {\n this._resetOptionLabel();\n this.listView.focusFirst();\n focusIndex = 1;\n } else {\n focusIndex = this.listView.focusNext();\n }\n\n return focusIndex;\n },\n\n _prevItem: function() {\n var focusIndex;\n\n if (this.optionLabel.hasClass(\"k-focus\")) {\n return;\n }\n\n focusIndex = this.listView.focusPrev();\n\n if (!this.listView.focus() && !this.options.virtual) {\n this._focus(this.optionLabel);\n }\n\n return focusIndex;\n },\n\n _focusItem: function() {\n var options = this.options;\n var listView = this.listView;\n var focusedItem = listView.focus();\n var index = listView.select();\n\n index = index[index.length - 1];\n\n if (index === undefined && options.highlightFirst && !focusedItem) {\n index = 0;\n }\n\n if (index !== undefined) {\n listView.focus(index);\n } else {\n if (options.optionLabel && (!options.virtual || options.virtual.mapValueTo !== \"dataItem\")) {\n this._focus(this.optionLabel);\n this._select(this.optionLabel);\n this.listView.content.scrollTop(0);\n } else {\n listView.scrollToIndex(0);\n }\n }\n },\n\n _resetOptionLabel: function(additionalClass) {\n this.optionLabel.removeClass(\"k-focus\" + (additionalClass || \"\")).removeAttr(\"id\");\n },\n\n _focus: function(candidate) {\n var listView = this.listView;\n var optionLabel = this.optionLabel;\n\n if (candidate === undefined) {\n candidate = listView.focus();\n\n if (!candidate && optionLabel.hasClass(\"k-focus\")) {\n candidate = optionLabel;\n }\n\n return candidate;\n }\n\n this._resetOptionLabel();\n\n candidate = this._get(candidate);\n\n listView.focus(candidate);\n\n if (candidate === -1) {\n optionLabel.addClass(\"k-focus\")\n .attr(\"id\", listView._optionID);\n\n this._focused.add(this.filterInput)\n .removeAttr(\"aria-activedescendant\")\n .attr(\"aria-activedescendant\", listView._optionID);\n }\n },\n\n _select: function(candidate, keepState) {\n var that = this;\n\n candidate = that._get(candidate);\n\n return that.listView.select(candidate).done(function() {\n if (!keepState && that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n\n if (candidate === -1) {\n that._selectValue(null);\n }\n });\n },\n\n _selectValue: function(dataItem) {\n var that = this;\n var optionLabel = that.options.optionLabel;\n var idx = that.listView.select();\n\n var value = \"\";\n var text = \"\";\n\n idx = idx[idx.length - 1];\n if (idx === undefined) {\n idx = -1;\n }\n\n this._resetOptionLabel(\" k-selected\");\n\n if (dataItem || dataItem === 0) {\n text = dataItem;\n value = that._dataValue(dataItem);\n if (optionLabel) {\n idx += 1;\n }\n } else if (optionLabel) {\n that._focus(that.optionLabel.addClass(\"k-selected\"));\n\n text = that._optionLabelText();\n\n if (typeof optionLabel === \"string\") {\n value = \"\";\n } else {\n value = that._value(optionLabel);\n }\n\n idx = 0;\n }\n\n that.selectedIndex = idx;\n\n if (value === null) {\n value = \"\";\n }\n\n that._textAccessor(text);\n that._accessor(value, idx);\n\n that._triggerCascade();\n },\n\n _mobile: function() {\n var that = this,\n popup = that.popup,\n mobileOS = support.mobileOS,\n root = popup.element.parents(\".km-root\").eq(0);\n\n if (root.length && mobileOS) {\n popup.options.animation.open.effects = (mobileOS.android || mobileOS.meego) ? \"fadeIn\" : (mobileOS.ios || mobileOS.wp) ? \"slideIn:up\" : popup.options.animation.open.effects;\n }\n },\n\n _filterHeader: function() {\n var filterTemplate = '
      ' +\n '' +\n '' +\n '' +\n '
      ';\n\n if (this.filterInput) {\n this.filterInput\n .off(ns)\n .closest(\".k-list-filter\")\n .remove();\n\n this.filterInput = null;\n }\n\n if (this._isFilterEnabled()) {\n this.filterInput = $('')\n .attr({\n placeholder: this.element.attr(\"placeholder\"),\n title: this.options.filterTitle || this.element.attr(\"title\"),\n role: \"searchbox\",\n \"aria-label\": this.options.filterTitle,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\"\n });\n\n this.list\n .parent()\n .prepend($(filterTemplate))\n .find(\".k-searchbox\")\n .append(this.filterInput);\n }\n },\n\n _span: function() {\n var that = this,\n wrapper = that.wrapper,\n SELECTOR = \"span.k-input-value-text\",\n id = kendo.guid(),\n options = that.options,\n span, arrowBtn;\n\n span = wrapper.find(SELECTOR);\n\n if (!span[0]) {\n arrowBtn = html.renderButton('', {\n icon: \"arrow-s\",\n size: options.size,\n fillMode: options.fillMode,\n shape: null,\n rounded: null\n });\n\n wrapper.append('' +\n '' +\n '')\n .append(arrowBtn)\n .append(that.element);\n\n span = wrapper.find(SELECTOR);\n }\n\n that.span = span;\n that._arrow = wrapper.find(\".k-select\");\n that._arrowIcon = that._arrow.find(\".k-icon\");\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n DOMelement = element[0],\n wrapper;\n\n wrapper = element.parent();\n\n if (!wrapper.is(\"span.k-picker\")) {\n wrapper = element.wrap(\"\").parent();\n wrapper[0].style.cssText = DOMelement.style.cssText;\n wrapper[0].title = DOMelement.title;\n }\n\n that._focused = that.wrapper = wrapper\n .addClass(\"k-picker k-dropdown k-widget\")\n .addClass(DOMelement.className)\n .removeClass('input-validation-error')\n .css(\"display\", \"\")\n .attr({\n accesskey: element.attr(\"accesskey\"),\n unselectable: \"on\",\n role: \"listbox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": false\n });\n\n element.hide().removeAttr(\"accesskey\");\n },\n\n _clearSelection: function(parent) {\n this.select(parent.value() ? 0 : -1);\n },\n\n _openHandler: function(e) {\n this._adjustListWidth();\n\n if (this.trigger(OPEN)) {\n e.preventDefault();\n } else {\n this.wrapper.attr(\"aria-expanded\", true);\n this.ul.attr(\"aria-hidden\", false);\n }\n },\n\n _closeHandler: function(e) {\n if (this.trigger(CLOSE)) {\n e.preventDefault();\n } else {\n this.wrapper.attr(\"aria-expanded\", false);\n this.ul.attr(\"aria-hidden\", true);\n }\n },\n\n _inputTemplate: function() {\n var that = this,\n template = that.options.valueTemplate;\n\n\n if (!template) {\n template = $.proxy(kendo.template('#:this._text(data)#', { useWithBlock: false }), that);\n } else {\n template = kendo.template(template);\n }\n\n that.valueTemplate = template;\n\n if (that.hasOptionLabel() && !that.options.optionLabelTemplate) {\n try {\n that.valueTemplate(that._optionLabelDataItem());\n } catch(e) {\n throw new Error(MSG_INVALID_OPTION_LABEL);\n }\n }\n },\n\n _textAccessor: function(text) {\n var dataItem = null;\n var template = this.valueTemplate;\n var optionLabelText = this._optionLabelText();\n var span = this.span;\n\n if (text === undefined) {\n return span.text();\n }\n\n if ($.isPlainObject(text) || text instanceof ObservableObject) {\n dataItem = text;\n } else if (optionLabelText && optionLabelText === text) {\n dataItem = this.options.optionLabel;\n }\n\n if (!dataItem) {\n dataItem = this._assignInstance(text, this._accessor());\n }\n\n if (this.hasOptionLabel()) {\n if (dataItem === optionLabelText || this._text(dataItem) === optionLabelText) {\n template = this.optionLabelTemplate;\n\n if (typeof this.options.optionLabel === \"string\" && !this.options.optionLabelTemplate) {\n dataItem = optionLabelText;\n }\n }\n }\n\n var getElements = function(){\n return {\n elements: span.get(),\n data: [ { dataItem: dataItem } ]\n };\n };\n\n this.angular(\"cleanup\", getElements);\n\n try {\n span.html(template(dataItem));\n } catch(e) {\n //dataItem has missing fields required in custom template\n span.html(\"\");\n }\n\n this.angular(\"compile\", getElements);\n },\n\n _preselect: function(value, text) {\n if (!value && !text) {\n text = this._optionLabelText();\n }\n\n this._accessor(value);\n this._textAccessor(text);\n\n this._old = this._accessor();\n this._oldIndex = this.selectedIndex;\n\n this.listView.setValue(value);\n\n this._initialIndex = null;\n this._presetValue = true;\n },\n\n _assignInstance: function(text, value) {\n var dataTextField = this.options.dataTextField;\n var dataItem = {};\n\n if (dataTextField) {\n assign(dataItem, dataTextField.split(\".\"), text);\n assign(dataItem, this.options.dataValueField.split(\".\"), value);\n dataItem = new ObservableObject(dataItem);\n } else {\n dataItem = text;\n }\n\n return dataItem;\n }\n });\n\n function assign(instance, fields, value) {\n var idx = 0,\n lastIndex = fields.length - 1,\n field;\n\n for (; idx < lastIndex; ++idx) {\n field = fields[idx];\n\n if (!(field in instance)) {\n instance[field] = {};\n }\n\n instance = instance[field];\n }\n\n instance[fields[lastIndex]] = value;\n }\n\n function normalizeIndex(index, length) {\n if (index >= length) {\n index -= length;\n }\n return index;\n }\n\n function sameCharsOnly(word, character) {\n for (var idx = 0; idx < word.length; idx++) {\n if (word.charAt(idx) !== character) {\n return false;\n }\n }\n return true;\n }\n\n ui.plugin(DropDownList);\n\n kendo.cssProperties.registerPrefix(\"DropDownList\", \"k-picker-\");\n\n kendo.cssProperties.registerValues(\"DropDownList\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\r\n define('kendo.resizable',[ \"./kendo.core\", \"./kendo.draganddrop\" ], f);\r\n})(function(){\r\n\r\nvar __meta__ = { // jshint ignore:line\r\n id: \"resizable\",\r\n name: \"Resizable\",\r\n category: \"framework\",\r\n depends: [ \"core\", \"draganddrop\" ],\r\n advanced: true\r\n};\r\n\r\n(function($, undefined) {\r\n var kendo = window.kendo,\r\n ui = kendo.ui,\r\n Widget = ui.Widget,\r\n proxy = $.proxy,\r\n isFunction = kendo.isFunction,\r\n extend = $.extend,\r\n HORIZONTAL = \"horizontal\",\r\n VERTICAL = \"vertical\",\r\n START = \"start\",\r\n RESIZE = \"resize\",\r\n RESIZEEND = \"resizeend\";\r\n\r\n var Resizable = Widget.extend({\r\n init: function(element, options) {\r\n var that = this;\r\n\r\n Widget.fn.init.call(that, element, options);\r\n\r\n that.orientation = that.options.orientation.toLowerCase() != VERTICAL ? HORIZONTAL : VERTICAL;\r\n that._positionMouse = that.orientation == HORIZONTAL ? \"x\" : \"y\";\r\n that._position = that.orientation == HORIZONTAL ? \"left\" : \"top\";\r\n that._sizingDom = that.orientation == HORIZONTAL ? \"outerWidth\" : \"outerHeight\";\r\n\r\n that.draggable = new ui.Draggable(options.draggableElement || element, {\r\n distance: 1,\r\n filter: options.handle,\r\n drag: proxy(that._resize, that),\r\n dragcancel: proxy(that._cancel, that),\r\n dragstart: proxy(that._start, that),\r\n dragend: proxy(that._stop, that)\r\n });\r\n\r\n that.userEvents = that.draggable.userEvents;\r\n },\r\n\r\n events: [\r\n RESIZE,\r\n RESIZEEND,\r\n START\r\n ],\r\n\r\n options: {\r\n name: \"Resizable\",\r\n orientation: HORIZONTAL\r\n },\r\n\r\n resize: function() {\r\n // Overrides base widget resize\r\n },\r\n\r\n _max: function(e) {\r\n var that = this,\r\n hintSize = that.hint ? that.hint[that._sizingDom]() : 0,\r\n size = that.options.max;\r\n\r\n return isFunction(size) ? size(e) : size !== undefined ? (that._initialElementPosition + size) - hintSize : size;\r\n },\r\n\r\n _min: function(e) {\r\n var that = this,\r\n size = that.options.min;\r\n\r\n return isFunction(size) ? size(e) : size !== undefined ? that._initialElementPosition + size : size;\r\n },\r\n\r\n _start: function(e) {\r\n var that = this,\r\n hint = that.options.hint,\r\n el = $(e.currentTarget);\r\n\r\n that._initialElementPosition = el.position()[that._position];\r\n that._initialMousePosition = e[that._positionMouse].startLocation;\r\n\r\n if (hint) {\r\n that.hint = isFunction(hint) ? $(hint(el)) : hint;\r\n\r\n that.hint.css({\r\n position: \"absolute\"\r\n })\r\n .css(that._position, that._initialElementPosition)\r\n .appendTo(that.element);\r\n }\r\n\r\n that.trigger(START, e);\r\n\r\n that._maxPosition = that._max(e);\r\n that._minPosition = that._min(e);\r\n\r\n $(document.body).css(\"cursor\", el.css(\"cursor\"));\r\n },\r\n\r\n _resize: function(e) {\r\n var that = this,\r\n maxPosition = that._maxPosition,\r\n minPosition = that._minPosition,\r\n currentPosition = that._initialElementPosition + (e[that._positionMouse].location - that._initialMousePosition),\r\n position;\r\n\r\n position = minPosition !== undefined ? Math.max(minPosition, currentPosition) : currentPosition;\r\n that.position = position = maxPosition !== undefined ? Math.min(maxPosition, position) : position;\r\n\r\n if(that.hint) {\r\n that.hint.toggleClass(that.options.invalidClass || \"\", position == maxPosition || position == minPosition)\r\n .css(that._position, position);\r\n }\r\n\r\n that.resizing = true;\r\n that.trigger(RESIZE, extend(e, { position: position }));\r\n },\r\n\r\n _stop: function(e) {\r\n var that = this;\r\n\r\n if(that.hint) {\r\n that.hint.remove();\r\n }\r\n\r\n that.resizing = false;\r\n that.trigger(RESIZEEND, extend(e, { position: that.position }));\r\n $(document.body).css(\"cursor\", \"\");\r\n },\r\n\r\n _cancel: function(e) {\r\n var that = this;\r\n\r\n if (that.hint) {\r\n that.position = undefined;\r\n that.hint.css(that._position, that._initialElementPosition);\r\n that._stop(e);\r\n }\r\n },\r\n\r\n destroy: function() {\r\n var that = this;\r\n\r\n Widget.fn.destroy.call(that);\r\n\r\n if (that.draggable) {\r\n that.draggable.destroy();\r\n }\r\n },\r\n\r\n press: function(target) {\r\n if (!target) {\r\n return;\r\n }\r\n\r\n var position = target.position(),\r\n that = this;\r\n\r\n that.userEvents.press(position.left, position.top, target[0]);\r\n that.targetPosition = position;\r\n that.target = target;\r\n },\r\n\r\n move: function(delta) {\r\n var that = this,\r\n orientation = that._position,\r\n position = that.targetPosition,\r\n current = that.position;\r\n\r\n if (current === undefined) {\r\n current = position[orientation];\r\n }\r\n\r\n position[orientation] = current + delta;\r\n\r\n that.userEvents.move(position.left, position.top);\r\n },\r\n\r\n end: function() {\r\n this.userEvents.end();\r\n this.target = this.position = undefined;\r\n }\r\n });\r\n\r\n kendo.ui.plugin(Resizable);\r\n\r\n})(window.kendo.jQuery);\r\n\r\nreturn window.kendo;\r\n\r\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\r\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.window',[ \"./kendo.draganddrop\", \"./kendo.popup\"], f);\n})(function(){\n\n var __meta__ = { // jshint ignore:line\n id: \"window\",\n name: \"Window\",\n category: \"web\",\n description: \"The Window widget displays content in a modal or non-modal HTML window.\",\n depends: [ \"draganddrop\", \"popup\" ],\n features: [ {\n id: \"window-fx\",\n name: \"Animation\",\n description: \"Support for animation\",\n depends: [ \"fx\" ]\n } ]\n };\n\n (function($, undefined) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n TabKeyTrap = kendo.ui.Popup.TabKeyTrap,\n Draggable = kendo.ui.Draggable,\n isPlainObject = $.isPlainObject,\n activeElement = kendo._activeElement,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n proxy = $.proxy,\n extend = $.extend,\n each = $.each,\n template = kendo.template,\n BODY = \"body\",\n templates,\n NS = \".kendoWindow\",\n MODAL_NS = \".kendoWindowModal\",\n // classNames\n KWINDOW = \".k-window\",\n KWINDOWTITLE = \".k-window-title\",\n KWINDOWTITLEBAR = KWINDOWTITLE + \"bar\",\n KWINDOWCONTENT = \".k-window-content\",\n KDIALOGCONTENT = \".k-dialog-content\",\n KWINDOWRESIZEHANDLES = \".k-resize-handle\",\n KOVERLAY = \".k-overlay\",\n KCONTENTFRAME = \"k-content-frame\",\n LOADING = \"k-i-loading\",\n KHOVERSTATE = \"k-hover\",\n KFOCUSEDSTATE = \"k-state-focused\",\n MAXIMIZEDSTATE = \"k-window-maximized\",\n INLINE_FLEX = \"k-display-inline-flex\",\n // constants\n VISIBLE = \":visible\",\n HIDDEN = \"hidden\",\n CURSOR = \"cursor\",\n // events\n OPEN = \"open\",\n ACTIVATE = \"activate\",\n DEACTIVATE = \"deactivate\",\n CLOSE = \"close\",\n REFRESH = \"refresh\",\n MINIMIZE = \"minimize\",\n MAXIMIZE = \"maximize\",\n RESIZESTART = \"resizeStart\",\n RESIZE = \"resize\",\n RESIZEEND = \"resizeEnd\",\n DRAGSTART = \"dragstart\",\n DRAGEND = \"dragend\",\n RESTORE = \"restore\",\n KENDOKEYDOWN = \"kendoKeydown\",\n ERROR = \"error\",\n OVERFLOW = \"overflow\",\n DATADOCOVERFLOWRULE = \"original-overflow-rule\",\n ZINDEX = \"zIndex\",\n MINIMIZE_MAXIMIZE = \".k-window-actions .k-i-window-minimize,.k-window-actions .k-i-window-maximize\",\n KPIN = \".k-i-pin\",\n KUNPIN = \".k-i-unpin\",\n PIN_UNPIN = KPIN + \",\" + KUNPIN,\n TITLEBAR_BUTTONS = \".k-window-titlebar .k-window-action\",\n REFRESHICON = \".k-window-titlebar .k-i-refresh\",\n WINDOWEVENTSHANDLED = \"WindowEventsHandled\",\n zero = /^0[a-z]*$/i,\n isLocalUrl = kendo.isLocalUrl,\n SIZE = {\n small: \"k-window-sm\",\n medium: \"k-window-md\",\n large: \"k-window-lg\"\n };\n\n function defined(x) {\n return (typeof x != \"undefined\");\n }\n\n function toInt(element, property) {\n return parseInt(element.css(property), 10) || 0;\n }\n\n function constrain(value, low, high) {\n var normalizedValue;\n\n if (value && isNaN(value) && value.toString().indexOf(\"px\") < 0) {\n normalizedValue = value;\n } else {\n normalizedValue = Math.max(\n Math.min(parseInt(value, 10), high === Infinity ? high : parseInt(high, 10)),\n low === -Infinity ? low : parseInt(low, 10)\n );\n }\n\n return normalizedValue;\n }\n\n function executableScript() {\n return !this.type || this.type.toLowerCase().indexOf(\"script\") >= 0;\n }\n\n\n function getPosition(elem) {\n var result = { top: elem.offsetTop, left: elem.offsetLeft },\n parent = elem.offsetParent;\n\n while (parent) {\n result.top += parent.offsetTop;\n result.left += parent.offsetLeft;\n\n var parentOverflowX = $(parent).css(\"overflowX\");\n var parentOverflowY = $(parent).css(\"overflowY\");\n\n if (parentOverflowY === \"auto\" || parentOverflowY === \"scroll\") {\n result.top -= parent.scrollTop;\n }\n\n if (parentOverflowX === \"auto\" || parentOverflowX === \"scroll\") {\n result.left -= parent.scrollLeft;\n }\n\n parent = parent.offsetParent;\n }\n\n return result;\n }\n\n var Window = Widget.extend({\n init: function(element, options) {\n var that = this,\n wrapper,\n offset = {},\n visibility, display, position,\n isVisible = false,\n content,\n windowContent,\n windowFrame,\n globalWindow,\n suppressActions = options && options.actions && !options.actions.length,\n id;\n\n Widget.fn.init.call(that, element, options);\n options = that.options;\n position = options.position;\n element = that.element;\n content = options.content;\n globalWindow = $(window);\n\n if (suppressActions) {\n options.actions = [];\n }\n\n that.appendTo = $(options.appendTo);\n\n that.containment = options.draggable.containment ? $(options.draggable.containment).first() : null;\n\n if (content && !isPlainObject(content)) {\n content = options.content = { url: content };\n }\n\n // remove script blocks to prevent double-execution\n element.find(\"script\").filter(executableScript).remove();\n\n if (!element.parent().is(that.appendTo) && !that.containment && (position.top === undefined || position.left === undefined)) {\n if (element.is(VISIBLE)) {\n offset = element.offset();\n isVisible = true;\n } else {\n visibility = element.css(\"visibility\");\n display = element.css(\"display\");\n\n element.css({ visibility: HIDDEN, display: \"\" });\n\n if (document.body.contains(element[0])) {\n offset = element.offset();\n } else {\n offset = { top: 0, left: 0 };\n }\n\n element.css({ visibility: visibility, display: display });\n }\n\n if (position.top === undefined) {\n position.top = offset.top;\n }\n if (position.left === undefined) {\n position.left = offset.left;\n }\n }\n\n if (!defined(options.visible) || options.visible === null) {\n options.visible = element.is(VISIBLE);\n }\n\n wrapper = that.wrapper = element.closest(KWINDOW);\n\n if (!element.is(\".k-window-content\") || !wrapper[0]) {\n element.addClass(\"k-window-content\");\n that._createWindow(element, options);\n wrapper = that.wrapper = element.closest(KWINDOW);\n\n that.title(that.options.title);\n that._dimensions();\n }\n\n that.minTop = that.minLeft = -Infinity;\n that.maxTop = that.maxLeft = Infinity;\n that._position();\n\n if (content) {\n that.refresh(content);\n }\n\n if (options.visible) {\n that.toFront(null, !options.modal);\n }\n\n windowContent = wrapper.children(KWINDOWCONTENT);\n\n if (options.visible && options.modal) {\n that._overlay(wrapper.is(VISIBLE)).css({ opacity: 0.5 });\n }\n\n wrapper\n .on(\"mouseenter\" + NS, TITLEBAR_BUTTONS, proxy(that._buttonEnter, that))\n .on(\"mouseleave\" + NS, TITLEBAR_BUTTONS, proxy(that._buttonLeave, that))\n .on(\"click\" + NS, \"> \" + TITLEBAR_BUTTONS, proxy(that._windowActionHandler, that))\n .on(\"keydown\" + NS, that, proxy(that._keydown, that))\n .on(\"focus\" + NS, proxy(that._focus, that))\n .on(\"blur\" + NS, proxy(that._blur, that));\n\n windowContent\n .on(\"keydown\" + NS, that, proxy(that._keydownContent, that));\n\n windowFrame = windowContent.find(\".\" + KCONTENTFRAME)[0];\n\n if(windowFrame && !globalWindow.data(WINDOWEVENTSHANDLED)){\n\n globalWindow.on(\"blur\" + NS, function(){\n var element = $(document.activeElement).parent(KWINDOWCONTENT);\n if (element.length) {\n var windowInstance = kendo.widgetInstance(element);\n windowInstance._focus();\n }\n });\n\n globalWindow.on(\"focus\" + NS, function(){\n $(KWINDOWCONTENT).not(KDIALOGCONTENT).each(function(i, element){\n kendo.widgetInstance($(element))._blur();\n });\n });\n\n globalWindow.data(WINDOWEVENTSHANDLED, true);\n }\n\n this._resizable();\n\n this._draggable();\n\n if (options.pinned && this.wrapper.is(\":visible\")) {\n that.pin();\n }\n\n id = element.attr(\"id\");\n if (id) {\n id = id + \"_wnd_title\";\n wrapper.attr({\n \"role\": \"dialog\",\n \"aria-labelledby\": id\n }).children(KWINDOWTITLEBAR)\n .children(KWINDOWTITLE)\n .attr(\"id\", id);\n }\n\n wrapper.add(wrapper.children(\".k-resize-handle,\" + KWINDOWTITLEBAR))\n .on(kendo.support.mousedown + NS, proxy(that.toFront, that));\n\n that.touchScroller = kendo.touchScroller(element);\n\n that._resizeHandler = proxy(that._onDocumentResize, that);\n\n that._marker = kendo.guid().substring(0, 8);\n\n $(window).on(\"resize\" + NS + that._marker, that._resizeHandler);\n\n if (options.visible) {\n that.trigger(OPEN);\n that.trigger(ACTIVATE);\n }\n\n kendo.notify(that);\n\n if(this.options.modal) {\n this._tabKeyTrap = new TabKeyTrap(wrapper);\n this._tabKeyTrap.trap();\n this._tabKeyTrap.shouldTrap = function () {\n return wrapper.data(\"isFront\");\n };\n }\n },\n\n _buttonEnter: function(e) {\n $(e.currentTarget).addClass(KHOVERSTATE);\n },\n\n _buttonLeave: function(e) {\n $(e.currentTarget).removeClass(KHOVERSTATE);\n },\n\n _focus: function() {\n this.wrapper.addClass(KFOCUSEDSTATE);\n },\n\n _blur: function() {\n this.wrapper.removeClass(KFOCUSEDSTATE);\n },\n\n _dimensions: function() {\n var wrapper = this.wrapper;\n var options = this.options;\n var width = options.width;\n var height = options.height;\n var maxHeight = options.maxHeight;\n var sizeClass = options.size;\n var dimensions = [\"minWidth\",\"minHeight\",\"maxWidth\",\"maxHeight\"];\n var contentBoxSizing = wrapper.css(\"box-sizing\") == \"content-box\";\n\n var lrBorderWidth = contentBoxSizing ? toInt(wrapper, \"border-left-width\") + toInt(wrapper, \"border-right-width\") : 0;\n var tbBorderWidth = contentBoxSizing ? toInt(wrapper, \"border-top-width\") + toInt(wrapper, \"border-bottom-width\") : 0;\n var paddingTop = contentBoxSizing ? toInt(wrapper, \"padding-top\") : 0;\n\n if (this.containment && !this._isPinned) {\n this._updateBoundaries();\n options.maxHeight = Math.min(this.containment.height - (tbBorderWidth + paddingTop), maxHeight);\n options.maxWidth = Math.min(this.containment.width - lrBorderWidth, options.maxWidth);\n }\n\n for (var i = 0; i < dimensions.length; i++) {\n var value = options[dimensions[i]] || \"\";\n if (value != Infinity) {\n wrapper.css(dimensions[i], value);\n }\n }\n\n if (maxHeight != Infinity) {\n this.element.css(\"maxHeight\", maxHeight);\n }\n\n if (width) {\n wrapper.outerWidth(constrain(width, options.minWidth, options.maxWidth));\n }\n else {\n wrapper.outerWidth(\"\");\n }\n\n if (height) {\n wrapper.outerHeight(constrain(height, options.minHeight, options.maxHeight));\n }\n else {\n wrapper.outerHeight(\"\");\n }\n\n if (!options.visible) {\n wrapper.removeClass(INLINE_FLEX).hide();\n }\n\n if (sizeClass && SIZE[sizeClass]) {\n wrapper.addClass(SIZE[sizeClass]);\n }\n },\n\n _position: function() {\n var wrapper = this.wrapper,\n position = this.options.position,\n containmentTop, containmentLeft;\n\n this._updateBoundaries();\n\n if (this.containment) {\n position.top = position.top || 0;\n position.left = position.left || 0;\n\n containmentTop = position.top.toString().indexOf(\"%\") > 0 ?\n parseInt(this.containment.height * (parseFloat(position.top) / 100), 10) :\n position.top;\n\n containmentLeft = position.left.toString().indexOf(\"%\") > 0 ?\n parseInt(this.containment.width * (parseFloat(position.left) / 100), 10) :\n position.left;\n\n position.top = constrain(containmentTop, this.minTop, this.maxTop);\n position.left = constrain(containmentLeft, this.minLeft, this.maxLeft);\n }\n\n if (position.top && position.top.toString().indexOf(\"px\") > 0) {\n position.top = Number(position.top.replace(\"px\", \"\"));\n }\n\n if (position.left && position.left.toString().indexOf(\"px\") > 0) {\n position.left = Number(position.left.replace(\"px\", \"\"));\n }\n\n if (position.top === 0) {\n position.top = position.top.toString();\n }\n\n if (position.left === 0) {\n position.left = position.left.toString();\n }\n\n wrapper.css({\n top: position.top || \"\",\n left: position.left || \"\"\n });\n },\n\n _updateBoundaries: function() {\n var containment = this.containment;\n\n if (!containment) {\n return null;\n }\n\n containment.width = containment.innerWidth();\n containment.height = containment.innerHeight();\n\n if (parseInt(containment.width, 10) > containment[0].clientWidth) {\n containment.width -= kendo.support.scrollbar();\n }\n\n if (parseInt(containment.height, 10) > containment[0].clientHeight) {\n containment.height -= kendo.support.scrollbar();\n }\n\n containment.position = getPosition(containment[0]);\n\n if (this._isPinned) {\n this.minTop = this.minLeft = -Infinity;\n this.maxTop = this.maxLeft = Infinity;\n } else {\n this.minTop = containment.scrollTop();\n this.minLeft = containment.scrollLeft();\n this.maxLeft = this.minLeft + containment.width - outerWidth(this.wrapper, true);\n this.maxTop = this.minTop + containment.height - outerHeight(this.wrapper, true);\n }\n },\n\n _animationOptions: function(id) {\n var animation = this.options.animation;\n var basicAnimation = {\n open: { effects: {} },\n close: { hide: true, effects: {} }\n };\n\n return animation && animation[id] || basicAnimation[id];\n },\n\n _resize: function() {\n kendo.resize(this.element.children());\n },\n\n _resizable: function() {\n var resizable = this.options.resizable;\n var wrapper = this.wrapper;\n\n if (this.resizing) {\n wrapper\n .off(\"dblclick\" + NS)\n .children(KWINDOWRESIZEHANDLES).remove();\n\n this.resizing.destroy();\n this.resizing = null;\n }\n\n if (resizable) {\n wrapper.on(\"dblclick\" + NS, KWINDOWTITLEBAR, proxy(function(e) {\n if (!$(e.target).closest(\".k-window-action\").length) {\n this.toggleMaximization();\n }\n }, this));\n\n each(\"n e s w se sw ne nw\".split(\" \"), function(index, handler) {\n wrapper.append(templates.resizeHandle(handler));\n });\n\n this.resizing = new WindowResizing(this);\n }\n\n wrapper = null;\n },\n\n _draggable: function() {\n var draggable = this.options.draggable;\n\n if (this.dragging) {\n this.dragging.destroy();\n this.dragging = null;\n }\n if (draggable) {\n this.dragging = new WindowDragging(this, draggable.dragHandle || KWINDOWTITLEBAR);\n }\n },\n\n _actions: function() {\n var options = this.options;\n var actions = options.actions;\n var pinned = options.pinned;\n var titlebar = this.wrapper.children(KWINDOWTITLEBAR);\n var container = titlebar.find(\".k-window-actions\");\n var windowSpecificCommands = [ \"maximize\", \"minimize\" ];\n\n actions = $.map(actions, function(action) {\n action = pinned && action.toLowerCase() === \"pin\" ? \"unpin\" : action;\n return { name: (windowSpecificCommands.indexOf(action.toLowerCase()) > - 1) ? \"window-\" + action : action };\n });\n\n container.html(kendo.render(templates.action, actions));\n },\n\n setOptions: function(options) {\n var that = this;\n var sizeClass = that.options.size;\n var doc = this.containment && !that._isPinned ? this.containment : $(document);\n // make a deep extend over options.position telerik/kendo-ui-core#844\n var cachedOptions = JSON.parse(JSON.stringify(options));\n extend(options.position, that.options.position);\n extend(options.position, cachedOptions.position);\n\n that._containerScrollTop = doc.scrollTop();\n that._containerScrollLeft = doc.scrollLeft();\n\n Widget.fn.setOptions.call(that, options);\n var scrollable = that.options.scrollable !== false;\n\n that.restore();\n\n if (typeof options.title !== \"undefined\") {\n that.title(options.title);\n }\n\n that.wrapper.removeClass(SIZE[sizeClass]);\n that._dimensions();\n\n that._position();\n that._resizable();\n that._draggable();\n that._actions();\n if (typeof options.modal !== \"undefined\") {\n var visible = that.options.visible !== false;\n that._enableDocumentScrolling();\n that._overlay(options.modal && visible);\n }\n\n that.element.css(OVERFLOW, scrollable ? \"\" : \"hidden\");\n },\n\n events:[\n OPEN,\n ACTIVATE,\n DEACTIVATE,\n CLOSE,\n MINIMIZE,\n MAXIMIZE,\n REFRESH,\n RESTORE,\n RESIZESTART,\n RESIZE,\n RESIZEEND,\n DRAGSTART,\n DRAGEND,\n KENDOKEYDOWN,\n ERROR\n ],\n\n options: {\n name: \"Window\",\n animation: {\n open: {\n effects: { zoom: { direction: \"in\" }, fade: { direction: \"in\" } },\n duration: 350\n },\n close: {\n effects: { zoom: { direction: \"out\", properties: { scale: 0.7 } }, fade: { direction: \"out\" } },\n duration: 350,\n hide: true\n }\n },\n title: \"\",\n actions: [\"Close\"],\n autoFocus: true,\n modal: false,\n size: \"auto\",\n resizable: true,\n draggable: true,\n minWidth: 90,\n minHeight: 50,\n maxWidth: Infinity,\n maxHeight: Infinity,\n pinned: false,\n scrollable: true,\n position: {},\n content: null,\n visible: null,\n height: null,\n width: null,\n appendTo: \"body\",\n isMaximized: false,\n isMinimized: false\n },\n\n _closable: function() {\n return $.inArray(\"close\", $.map(this.options.actions, function(x) { return x.toLowerCase(); })) > -1;\n },\n\n _keydownContent: function(e) {\n var that = this,\n keys = kendo.keys,\n keyCode = e.keyCode;\n\n if (keyCode == keys.ESC && that._closable()) {\n e.stopPropagation();\n that._close(false);\n }\n },\n\n _keydown: function(e) {\n var that = this,\n options = that.options,\n keys = kendo.keys,\n keyCode = e.keyCode,\n wrapper = that.wrapper,\n offset, handled,\n distance = 10,\n isMaximized = options.isMaximized,\n isMinimized = options.isMinimized,\n newWidth, newHeight, w, h;\n\n if (keyCode == keys.ESC && that._closable()) {\n e.stopPropagation();\n that._close(false);\n }\n\n if (e.target != e.currentTarget || that._closing) {\n return;\n }\n\n // Refresh\n if (e.altKey && keyCode == 82) {// Alt + R\n that.refresh();\n }\n\n // Pin/Unpin\n if (e.altKey && keyCode == 80) {// Alt + P\n if(that.options.pinned){\n that.unpin();\n } else {\n that.pin();\n }\n }\n\n // Maximize/Restore/Miminimize\n if(e.altKey && keyCode == keys.UP){\n if (isMinimized) {\n that.restore();\n that.wrapper.trigger(\"focus\");\n } else if (!isMaximized) {\n that.maximize();\n that.wrapper.trigger(\"focus\");\n }\n\n } else if (e.altKey && keyCode == keys.DOWN){\n if (!isMinimized && !isMaximized) {\n that.minimize();\n that.wrapper.trigger(\"focus\");\n } else if (isMaximized) {\n that.restore();\n }\n\n }\n\n offset = kendo.getOffset(wrapper);\n\n if (that.containment && !that._isPinned) {\n offset = that.options.position;\n }\n\n if (options.draggable && !e.ctrlKey && !e.altKey && !isMaximized) {\n that._updateBoundaries();\n if (keyCode == keys.UP) {\n offset.top = constrain(offset.top - distance, that.minTop, that.maxTop);\n handled = wrapper.css(\"top\", offset.top);\n } else if (keyCode == keys.DOWN) {\n offset.top = constrain(offset.top + distance, that.minTop, that.maxTop);\n handled = wrapper.css(\"top\", offset.top);\n } else if (keyCode == keys.LEFT) {\n offset.left = constrain(offset.left - distance, that.minLeft, that.maxLeft);\n handled = wrapper.css(\"left\", offset.left);\n } else if (keyCode == keys.RIGHT) {\n offset.left = constrain(offset.left + distance, that.minLeft, that.maxLeft);\n handled = wrapper.css(\"left\", offset.left);\n }\n }\n\n if (options.resizable && e.ctrlKey && !isMaximized && !isMinimized) {\n if (keyCode == keys.UP) {\n handled = true;\n newHeight = wrapper.outerHeight() - distance;\n } else if (keyCode == keys.DOWN) {\n handled = true;\n if (that.containment && !that._isPinned) {\n newHeight = Math.min(wrapper.outerHeight() + distance,\n that.containment.height - offset.top - toInt(wrapper, \"padding-top\") -\n toInt(wrapper, \"borderBottomWidth\") - toInt(wrapper, \"borderTopWidth\"));\n } else {\n newHeight = wrapper.outerHeight() + distance;\n }\n } if (keyCode == keys.LEFT) {\n handled = true;\n newWidth = wrapper.outerWidth() - distance;\n } else if (keyCode == keys.RIGHT) {\n handled = true;\n if (that.containment && !that._isPinned) {\n newWidth = Math.min(wrapper.outerWidth() + distance,\n that.containment.width - offset.left -\n toInt(wrapper, \"borderLeftWidth\") - toInt(wrapper, \"borderRightWidth\"));\n } else {\n newWidth = wrapper.outerWidth() + distance;\n }\n }\n\n if (handled) {\n w = constrain(newWidth, options.minWidth, options.maxWidth);\n h = constrain(newHeight, options.minHeight, options.maxHeight);\n\n if (!isNaN(w)) {\n wrapper.outerWidth(w);\n that.options.width = w + \"px\";\n }\n if (!isNaN(h)) {\n wrapper.outerHeight(h);\n that.options.height = h + \"px\";\n }\n\n that.resize();\n }\n }\n\n if (handled) {\n e.preventDefault();\n }\n },\n\n _overlay: function (visible) {\n var overlay = this.containment ? this.containment.children(KOVERLAY) : this.appendTo.children(KOVERLAY),\n wrapper = this.wrapper,\n display = visible ? \"block\" : \"none\",\n zIndex = parseInt(wrapper.css(ZINDEX), 10) - 1;\n\n if (!overlay.length) {\n overlay = $(\"
      \");\n }\n\n overlay\n .insertBefore(wrapper[0])\n .css({\n zIndex: zIndex,\n display: display\n });\n\n if (this.options.modal.preventScroll && !this.containment) {\n this._stopDocumentScrolling();\n }\n\n return overlay;\n },\n\n _actionForIcon: function(icon) {\n var iconClass = /\\bk-i(-\\w+)+\\b/.exec(icon[0].className)[0];\n return {\n \"k-i-close\": \"_close\",\n \"k-i-window-maximize\": \"maximize\",\n \"k-i-window-minimize\": \"minimize\",\n \"k-i-window-restore\": \"restore\",\n \"k-i-refresh\": \"refresh\",\n \"k-i-pin\": \"pin\",\n \"k-i-unpin\": \"unpin\"\n }[iconClass];\n },\n\n _windowActionHandler: function (e) {\n if (this._closing) {\n return;\n }\n var icon = $(e.target).closest(\".k-window-action\").find(\".k-icon\");\n var action = this._actionForIcon(icon);\n\n if (action) {\n e.preventDefault();\n this[action]();\n return false;\n }\n },\n\n _modals: function() {\n var that = this,\n windowElements = $(KWINDOW + VISIBLE),\n windowInstance,\n modals = [];\n\n for (var i = 0; i < windowElements.length; i += 1) {\n windowInstance = that._object($(windowElements[i]));\n\n if (windowInstance &&\n windowInstance.options &&\n windowInstance.options.modal &&\n windowInstance.options.visible &&\n windowInstance.options.appendTo === that.options.appendTo &&\n (!windowInstance.containment || (that.containment && windowInstance.containment[0] === that.containment[0]))) {\n modals.push(windowInstance.wrapper[0]);\n }\n }\n\n modals.sort(function(a, b) {\n return a.style.zIndex - b.style.zIndex;\n });\n\n that = null;\n\n return $(modals);\n },\n\n _object: function(element) {\n var content = element.children(KWINDOWCONTENT);\n var widget = kendo.widgetInstance(content);\n\n if (widget) {\n return widget;\n }\n\n return undefined;\n },\n\n center: function () {\n var that = this,\n position = that.options.position,\n wrapper = that.wrapper,\n documentWindow = $(window),\n scrollTop = 0,\n scrollLeft = 0,\n newTop, newLeft;\n\n if (that.options.isMaximized) {\n return that;\n }\n\n if(that.options.pinned && !that._isPinned) {\n that.pin();\n }\n\n if (!that.options.pinned) {\n scrollTop = documentWindow.scrollTop();\n scrollLeft = documentWindow.scrollLeft();\n }\n\n if (this.containment && !that.options.pinned) {\n newTop = this.minTop + (this.maxTop - this.minTop) / 2;\n newLeft = this.minLeft + (this.maxLeft - this.minLeft) / 2;\n } else {\n that._scrollIsAppended = true;\n newLeft = scrollLeft + Math.max(0, (documentWindow.width() - wrapper.outerWidth()) / 2);\n newTop = scrollTop + Math.max(0, (documentWindow.height() - wrapper.outerHeight() - toInt(wrapper, \"paddingTop\")) / 2);\n }\n\n wrapper.css({\n left: newLeft,\n top: newTop\n });\n\n position.top = newTop;\n position.left = newLeft;\n\n return that;\n },\n\n title: function (title) {\n var that = this,\n value,\n encoded = true,\n wrapper = that.wrapper,\n titleBar = wrapper.children(KWINDOWTITLEBAR),\n titleElement = titleBar.children(KWINDOWTITLE);\n\n if (!arguments.length) {\n return titleElement.html();\n }\n\n if ($.isPlainObject(title)) {\n value = typeof title.text !== \"undefined\" ? title.text : \"\";\n encoded = title.encoded !== false;\n } else {\n value = title;\n }\n\n if (value === false) {\n wrapper.addClass(\"k-window-titleless\");\n wrapper.css(\"padding-top\", 0);\n titleBar.remove();\n } else {\n if (!titleBar.length) {\n wrapper.prepend(templates.titlebar({\n title: encoded ? kendo.htmlEncode(value) : value\n }));\n that._actions();\n titleBar = wrapper.children(KWINDOWTITLEBAR);\n } else {\n titleElement.html(encoded ? kendo.htmlEncode(value) : value);\n }\n }\n\n that.options.title = value;\n\n return that;\n },\n\n content: function (html, data) {\n var content = this.wrapper.children(KWINDOWCONTENT),\n scrollContainer = content.children(\".km-scroll-container\");\n\n content = scrollContainer[0] ? scrollContainer : content;\n\n if (!defined(html)) {\n return content.html();\n }\n\n this.angular(\"cleanup\", function(){\n return { elements: content.children() };\n });\n\n kendo.destroy(this.element.children());\n\n content.empty().html(html);\n\n this.angular(\"compile\", function(){\n var a = [];\n for (var i = content.length; --i >= 0;) {\n a.push({ dataItem: data });\n }\n return {\n elements: content.children(),\n data: a\n };\n });\n\n return this;\n },\n\n open: function () {\n var that = this,\n wrapper = that.wrapper,\n options = that.options,\n showOptions = this._animationOptions(\"open\"),\n contentElement = wrapper.children(KWINDOWCONTENT),\n overlay, otherModalsVisible,\n containmentContext = this.containment && !that._isPinned,\n doc = containmentContext ? this.containment : $(document);\n\n if (!that.trigger(OPEN)) {\n if (that._closing) {\n wrapper.kendoStop(true, true);\n }\n\n that._closing = false;\n\n that.toFront();\n\n if (options.autoFocus) {\n that.wrapper.trigger(\"focus\");\n }\n\n options.visible = true;\n\n if (options.modal) {\n otherModalsVisible = !!that._modals().length;\n overlay = that._overlay(otherModalsVisible);\n\n overlay.kendoStop(true, true);\n\n if (showOptions.duration && kendo.effects.Fade && !otherModalsVisible) {\n var overlayFx = kendo.fx(overlay).fadeIn();\n overlayFx.duration(showOptions.duration || 0);\n overlayFx.endValue(0.5);\n overlayFx.play();\n } else {\n overlay.css(\"opacity\", 0.5);\n }\n\n overlay.show();\n\n $(window).on(\"focus\" + MODAL_NS, function() {\n if (wrapper.data(\"isFront\") && !$(document.activeElement).closest(wrapper).length) {\n that.wrapper.trigger(\"focus\");\n }\n });\n }\n\n if (!wrapper.is(VISIBLE)) {\n contentElement.css(OVERFLOW, HIDDEN);\n\n that.wrapper.find(TITLEBAR_BUTTONS).addClass(\"k-button-flat\");\n\n wrapper.addClass(INLINE_FLEX).kendoStop().kendoAnimate({\n effects: showOptions.effects,\n duration: showOptions.duration,\n complete: proxy(this._activate, this)\n });\n }\n }\n\n if (options.isMaximized) {\n that._containerScrollTop = doc.scrollTop();\n that._containerScrollLeft = doc.scrollLeft();\n that._stopDocumentScrolling();\n }\n\n if(this.options.pinned && !this._isPinned){\n this.pin();\n }\n\n return that;\n },\n\n _activate: function() {\n var scrollable = this.options.scrollable !== false;\n\n if (this.options.autoFocus) {\n this.wrapper.trigger(\"focus\");\n }\n\n this.element.css(OVERFLOW, scrollable ? \"\" : \"hidden\");\n kendo.resize(this.element.children());\n\n this.trigger(ACTIVATE);\n },\n\n _removeOverlay: function(suppressAnimation) {\n var modals = this._modals();\n var options = this.options;\n var hideOverlay = options.modal && !modals.length;\n var hideOptions = this._animationOptions(\"close\");\n\n if (hideOverlay) {\n if (!suppressAnimation && hideOptions.duration && kendo.effects.Fade) {\n var overlayFx = kendo.fx(options.modal ? this._overlay(true) : $(undefined)).fadeOut();\n overlayFx.duration(hideOptions.duration || 0);\n overlayFx.startValue(0.5);\n overlayFx.play();\n } else {\n this._overlay(false).remove();\n }\n if (options.modal.preventScroll) {\n this._enableDocumentScrolling();\n }\n } else if (modals.length) {\n this._object(modals.last())._overlay(true);\n\n if (options.modal.preventScroll) {\n this._stopDocumentScrolling();\n }\n }\n },\n\n _close: function(systemTriggered) {\n var that = this,\n wrapper = that.wrapper,\n options = that.options,\n showOptions = this._animationOptions(\"open\"),\n hideOptions = this._animationOptions(\"close\"),\n containmentContext = this.containment && !that._isPinned,\n doc = containmentContext ? this.containment : $(document),\n defaultPrevented;\n\n if (that._closing) {\n return;\n }\n\n defaultPrevented = that.trigger(CLOSE, { userTriggered: !systemTriggered });\n that._closing = !defaultPrevented;\n\n if (wrapper.is(VISIBLE) && !defaultPrevented) {\n options.visible = false;\n\n $(KWINDOW).each(function(i, element) {\n var contentElement = $(element).children(KWINDOWCONTENT);\n\n // Remove overlay set by toFront\n if (element != wrapper && contentElement.find(\"> .\" + KCONTENTFRAME).length > 0) {\n contentElement.children(KOVERLAY).remove();\n }\n });\n\n this._removeOverlay();\n\n // Prevent close animation from stopping\n that.wrapper.find(TITLEBAR_BUTTONS).removeClass(\"k-button-flat\");\n\n wrapper.kendoStop().kendoAnimate({\n effects: hideOptions.effects || showOptions.effects,\n reverse: hideOptions.reverse === true,\n duration: hideOptions.duration,\n complete: proxy(this._deactivate, this)\n });\n $(window).off(MODAL_NS);\n }\n\n if (that.options.isMaximized) {\n that._enableDocumentScrolling();\n if (that._containerScrollTop && that._containerScrollTop > 0) {\n doc.scrollTop(that._containerScrollTop);\n }\n if (that._containerScrollLeft && that._containerScrollLeft > 0) {\n doc.scrollLeft(that._containerScrollLeft);\n }\n }\n\n if (that.options.iframe) {\n that.wrapper.trigger(\"blur\");\n }\n },\n\n _deactivate: function () {\n var that = this;\n\n that.wrapper\n .removeClass(INLINE_FLEX)\n .hide()\n .css(\"opacity\", \"\");\n\n that.trigger(DEACTIVATE);\n\n if (that.options.modal) {\n var lastModal = that._object(that._modals().last());\n if (lastModal) {\n lastModal.toFront();\n }\n }\n },\n\n close: function () {\n this._close(true);\n return this;\n },\n\n _actionable: function(element) {\n return $(element).is(TITLEBAR_BUTTONS + \",\" + TITLEBAR_BUTTONS + \" .k-icon, :input, a, .k-input, .k-icon, [role='gridcell']\");\n },\n\n _shouldFocus: function(target) {\n var active = activeElement(),\n element = this.wrapper;\n\n return this.options.autoFocus &&\n !$(active).is(element) &&\n !this._actionable(target) &&\n (!element.find(active).length || !element.find(target).length);\n },\n\n toFront: function (e, avoidFocus) {\n var that = this,\n wrapper = that.wrapper,\n currentWindow = wrapper[0],\n containmentContext = that.containment && !that._isPinned,\n openAnimation = this._animationOptions(\"open\"),\n zIndex = +wrapper.css(ZINDEX),\n originalZIndex = zIndex,\n target = (e && e.target) || null;\n\n $(KWINDOW).each(function(i, element) {\n var windowObject = $(element),\n zIndexNew = windowObject.css(ZINDEX),\n contentElement = windowObject.children(KWINDOWCONTENT);\n\n if (!isNaN(zIndexNew)) {\n zIndex = Math.max(+zIndexNew, zIndex);\n }\n\n wrapper.data(\"isFront\", element == currentWindow);\n // Add overlay to windows with iframes and lower z-index to prevent\n // trapping of events when resizing / dragging\n\n if (element != currentWindow &&\n contentElement.find(\".\" + KCONTENTFRAME).length &&\n !contentElement.find(KOVERLAY).length) {\n contentElement.append(templates.overlay);\n }\n });\n\n if (!wrapper[0].style.zIndex || originalZIndex < zIndex) {\n wrapper.css(ZINDEX, zIndex + 2);\n }\n that.element.find(\"> .k-overlay\").remove();\n\n if (that._shouldFocus(target)) {\n if(!avoidFocus) {\n setTimeout(function() {\n that.wrapper.focus();\n }, openAnimation ? openAnimation.duration : 0);\n }\n\n var scrollTop = containmentContext ? that.containment.scrollTop() : $(window).scrollTop(),\n windowTop = parseInt(wrapper.position().top, 10);\n\n if (!that.options.pinned && windowTop > 0 && windowTop < scrollTop) {\n if (scrollTop > 0) {\n $(window).scrollTop(windowTop);\n } else {\n wrapper.css(\"top\", scrollTop);\n }\n }\n }\n\n wrapper = null;\n\n return that;\n },\n\n toggleMaximization: function () {\n if (this._closing) {\n return this;\n }\n\n return this[this.options.isMaximized ? \"restore\" : \"maximize\"]();\n },\n\n restore: function () {\n var that = this;\n var options = that.options;\n var minHeight = options.minHeight;\n var restoreOptions = that.restoreOptions;\n var shouldRestrictTop;\n var container = that.containment && !that._isPinned ? that.containment : $(document);\n\n if (!options.isMaximized && !options.isMinimized) {\n return that;\n }\n\n if (minHeight && minHeight != Infinity) {\n that.wrapper.css(\"min-height\", minHeight);\n }\n\n if (restoreOptions && !options.isMaximized) {\n restoreOptions.height = constrain(restoreOptions.height, that.options.minHeight, that.options.maxHeight);\n\n shouldRestrictTop = options.position.top + parseInt(restoreOptions.height, 10) > that.maxTop;\n\n if (shouldRestrictTop) {\n options.position.top = constrain(options.position.top, that.minTop, that.maxTop - parseInt(restoreOptions.height, 10));\n\n extend(restoreOptions, {\n left: options.position.left,\n top: options.position.top\n });\n }\n }\n\n that.wrapper\n .css({\n position: options.pinned ? \"fixed\" : \"absolute\",\n left: restoreOptions.left,\n top: restoreOptions.top,\n width: restoreOptions.width,\n height: restoreOptions.height\n })\n .removeClass(MAXIMIZEDSTATE)\n .find(\".k-window-content,.k-resize-handle\").show().end()\n .find(\".k-window-titlebar .k-i-window-restore\").parent().remove().end().end()\n .find(MINIMIZE_MAXIMIZE).parent().show().end().end()\n .find(PIN_UNPIN).parent().show();\n\n if (options.isMaximized) {\n that.wrapper.find(\".k-i-window-maximize\").parent().trigger(\"focus\");\n } else if (options.isMinimized) {\n that.wrapper.find(\".k-i-window-minimize\").parent().trigger(\"focus\");\n }\n\n that.options.width = restoreOptions.width;\n that.options.height = restoreOptions.height;\n\n if (!that.options.modal.preventScroll) {\n that._enableDocumentScrolling();\n }\n\n if (that._containerScrollTop && that._containerScrollTop > 0) {\n container.scrollTop(that._containerScrollTop);\n }\n if (that._containerScrollLeft && that._containerScrollLeft > 0) {\n container.scrollLeft(that._containerScrollLeft);\n }\n\n options.isMaximized = options.isMinimized = false;\n\n that.wrapper.removeAttr(\"aria-labelled-by\");\n\n that.resize();\n\n that.trigger(RESTORE);\n\n return that;\n },\n\n _sizingAction: function(actionId, callback) {\n var that = this,\n wrapper = that.wrapper,\n style = wrapper[0].style,\n options = that.options;\n\n if (options.isMaximized || options.isMinimized) {\n return that;\n }\n\n that.restoreOptions = {\n width: style.width,\n height: style.height\n };\n\n wrapper\n .children(KWINDOWRESIZEHANDLES).hide().end()\n .children(KWINDOWTITLEBAR).find(MINIMIZE_MAXIMIZE).parent().hide()\n .eq(0).before(templates.action({ name: \"window-restore\" }));\n\n callback.call(that);\n\n that.wrapper.children(KWINDOWTITLEBAR).find(PIN_UNPIN).parent().toggle(actionId !== \"maximize\");\n\n that.trigger(actionId);\n\n wrapper.find(\".k-i-window-restore\").parent().trigger(\"focus\");\n\n return that;\n },\n\n maximize: function() {\n this._sizingAction(\"maximize\", function() {\n var that = this,\n wrapper = that.wrapper,\n containmentContext = this.containment && !that._isPinned,\n position = wrapper.position(),\n doc = $(document);\n\n extend(that.restoreOptions, {\n left: position.left + (containmentContext ? this.containment.scrollLeft() : 0),\n top: position.top + (containmentContext ? this.containment.scrollTop() : 0)\n });\n\n this._containerScrollTop = containmentContext ? this.containment.scrollTop() : doc.scrollTop();\n this._containerScrollLeft = containmentContext ? this.containment.scrollLeft() : doc.scrollLeft();\n\n that._stopDocumentScrolling();\n\n wrapper\n .css({\n top: containmentContext ? this.containment.scrollTop() : 0,\n left: containmentContext ? this.containment.scrollLeft() : 0,\n position: containmentContext ? \"absolute\" : \"fixed\"\n })\n .addClass(MAXIMIZEDSTATE);\n\n that.options.isMaximized = true;\n\n that._onDocumentResize();\n });\n\n return this;\n },\n\n _stopDocumentScrolling: function(){\n var that = this;\n var containment = that.containment;\n\n if (containment && !that._isPinned) {\n that._storeOverflowRule(containment);\n containment.css(OVERFLOW, HIDDEN);\n that.wrapper.css({\n maxWidth: containment.innerWidth(),\n maxHeight: containment.innerHeight()\n });\n return;\n }\n\n var $body = $(\"body\");\n that._storeOverflowRule($body);\n $body.css(OVERFLOW, HIDDEN);\n\n var $html = $(\"html\");\n that._storeOverflowRule($html);\n $html.css(OVERFLOW, HIDDEN);\n },\n\n _enableDocumentScrolling: function(){\n var that = this;\n var containment = that.containment;\n\n if (containment && !that._isPinned) {\n that._restoreOverflowRule(containment);\n that.wrapper.css({\n maxWidth: containment.width,\n maxHeight: containment.height\n });\n return;\n }\n\n that._restoreOverflowRule($(document.body));\n that._restoreOverflowRule($(\"html\"));\n },\n\n _storeOverflowRule: function($element){\n if(this._isOverflowStored($element)){\n return;\n }\n\n var overflowRule = $element.get(0).style.overflow;\n\n if(typeof overflowRule === \"string\"){\n $element.data(DATADOCOVERFLOWRULE, overflowRule);\n }\n },\n\n _isOverflowStored: function ($element){\n return typeof $element.data(DATADOCOVERFLOWRULE) === \"string\";\n },\n\n _restoreOverflowRule: function($element){\n var overflowRule = $element.data(DATADOCOVERFLOWRULE);\n\n if(overflowRule !== null && overflowRule !== undefined){\n $element.css(OVERFLOW, overflowRule);\n $element.removeData(DATADOCOVERFLOWRULE);\n } else {\n $element.css(OVERFLOW, \"\");\n }\n },\n\n isMaximized: function() {\n return this.options.isMaximized;\n },\n\n minimize: function() {\n this._sizingAction(\"minimize\", function() {\n var that = this;\n\n that.wrapper.css({\n height: \"\",\n minHeight: \"\"\n });\n\n that.element.hide();\n\n that.options.isMinimized = true;\n });\n\n this.wrapper.attr(\"aria-labelled-by\", this.element.attr(\"aria-labelled-by\"));\n\n this._updateBoundaries();\n\n return this;\n },\n\n isMinimized: function() {\n return this.options.isMinimized;\n },\n\n pin: function() {\n var that = this,\n win = $(window),\n wrapper = that.wrapper,\n options = that.options,\n position = options.position,\n top = this.containment ? getPosition(wrapper[0]).top + toInt(this.containment, \"borderTopWidth\") : toInt(wrapper, \"top\"),\n left = this.containment ? getPosition(wrapper[0]).left + toInt(this.containment, \"borderLeftWidth\") : toInt(wrapper, \"left\");\n\n if (!that.options.isMaximized) {\n position.top = top;\n position.left = left;\n\n if (that._scrollIsAppended && (!this.containment || this.containment.css(\"position\") !== \"fixed\")) {\n\n position.top -= win.scrollTop();\n position.left -= win.scrollLeft();\n that._scrollIsAppended = false;\n }\n\n wrapper.css(extend(position, {position: \"fixed\"}));\n wrapper.children(KWINDOWTITLEBAR).find(KPIN).addClass(\"k-i-unpin\").removeClass(\"k-i-pin\");\n\n that._isPinned = true;\n that.options.pinned = true;\n\n if (this.containment) {\n options.maxWidth = options.maxHeight = Infinity;\n wrapper.css({\n maxWidth: \"\",\n maxHeight: \"\"\n });\n }\n }\n },\n\n unpin: function() {\n var that = this,\n win = $(window),\n wrapper = that.wrapper,\n options = that.options,\n position = that.options.position,\n containment = that.containment,\n top = parseInt(wrapper.css(\"top\"), 10) + win.scrollTop(),\n left = parseInt(wrapper.css(\"left\"), 10) + win.scrollLeft();\n\n if (!that.options.isMaximized) {\n that._isPinned = false;\n that._scrollIsAppended = true;\n that.options.pinned = false;\n\n if (containment) {\n that._updateBoundaries();\n\n options.maxWidth = Math.min(containment.width, options.maxWidth);\n options.maxHeight = Math.min(containment.height - toInt(wrapper, \"padding-top\"), options.maxHeight);\n\n wrapper.css({\n maxWidth: options.maxWidth,\n maxHeight: options.maxHeight\n });\n\n if (top < containment.position.top) {\n top = that.minTop;\n } else if (top > containment.position.top + containment.height) {\n top = that.maxTop;\n } else {\n top = top + containment.scrollTop() - (containment.position.top + toInt(containment, \"border-top-width\"));\n }\n\n if (left < containment.position.left) {\n left = that.minLeft;\n } else if (left > containment.position.left + containment.width) {\n left = that.maxLeft;\n } else {\n left = left + containment.scrollLeft() - (containment.position.left + toInt(containment, \"border-left-width\"));\n }\n\n }\n\n position.top = constrain(top, that.minTop, that.maxTop);\n position.left = constrain(left, that.minLeft, that.maxLeft);\n\n wrapper.css(extend(position, {position: \"\"}));\n wrapper.children(KWINDOWTITLEBAR).find(KUNPIN).addClass(\"k-i-pin\").removeClass(\"k-i-unpin\");\n }\n },\n\n _onDocumentResize: function () {\n var that = this,\n wrapper = that.wrapper,\n wnd = $(window),\n zoomLevel = kendo.support.zoomLevel(),\n contentBoxSizing = wrapper.css(\"box-sizing\") == \"content-box\",\n w, h;\n\n if (!that.options.isMaximized) {\n return;\n }\n\n var lrBorderWidth = contentBoxSizing ? toInt(wrapper, \"border-left-width\") + toInt(wrapper, \"border-right-width\") : 0;\n var tbBorderWidth = contentBoxSizing ? toInt(wrapper, \"border-top-width\") + toInt(wrapper, \"border-bottom-width\") : 0;\n var paddingTop = contentBoxSizing ? toInt(wrapper, \"padding-top\") : 0;\n\n if (that.containment && !that._isPinned) {\n w = that.containment.innerWidth() - lrBorderWidth;\n h = that.containment.innerHeight() - (tbBorderWidth + paddingTop);\n } else {\n w = wnd.width() / zoomLevel - lrBorderWidth;\n h = wnd.height() / zoomLevel - (tbBorderWidth + paddingTop);\n }\n\n wrapper.css({\n width: w,\n height: h\n });\n that.options.width = w;\n that.options.height = h;\n\n that.resize();\n },\n\n refresh: function (options) {\n var that = this,\n initOptions = that.options,\n element = $(that.element),\n iframe,\n showIframe,\n url;\n\n if (!isPlainObject(options)) {\n options = { url: options };\n }\n\n options = extend(initOptions.content, options);\n\n showIframe = defined(initOptions.iframe) ? initOptions.iframe : options.iframe;\n\n url = options.url;\n\n if (url) {\n if (!defined(showIframe)) {\n showIframe = !isLocalUrl(url);\n }\n\n if (!showIframe) {\n // perform AJAX request\n that._ajaxRequest(options);\n } else {\n iframe = element.find(\".\" + KCONTENTFRAME)[0];\n\n if (iframe) {\n // refresh existing iframe\n iframe.src = url || iframe.src;\n } else {\n // render new iframe\n element.html(templates.contentFrame(extend({}, initOptions, { content: options })));\n }\n\n element.find(\".\" + KCONTENTFRAME)\n .off(\"load\" + NS)\n .on(\"load\" + NS, proxy(this._triggerRefresh, this));\n }\n } else {\n if (options.template) {\n // refresh template\n that.content(template(options.template)({}));\n }\n\n that.trigger(REFRESH);\n }\n\n element.toggleClass(\"k-window-iframecontent\", !!showIframe);\n\n return that;\n },\n\n _triggerRefresh: function() {\n this.trigger(REFRESH);\n },\n\n _ajaxComplete: function() {\n clearTimeout(this._loadingIconTimeout);\n this.wrapper.find(REFRESHICON).removeClass(LOADING);\n },\n\n _ajaxError: function (xhr, status) {\n this.trigger(ERROR, { status: status, xhr: xhr });\n },\n\n _ajaxSuccess: function (contentTemplate) {\n return function (data) {\n var html = data;\n if (contentTemplate) {\n html = template(contentTemplate)(data || {});\n }\n\n this.content(html, data);\n this.element.prop(\"scrollTop\", 0);\n\n this.trigger(REFRESH);\n };\n },\n\n _showLoading: function() {\n this.wrapper.find(REFRESHICON).addClass(LOADING);\n },\n\n _ajaxRequest: function (options) {\n this._loadingIconTimeout = setTimeout(proxy(this._showLoading, this), 100);\n\n $.ajax(extend({\n type: \"GET\",\n dataType: \"html\",\n cache: false,\n error: proxy(this._ajaxError, this),\n complete: proxy(this._ajaxComplete, this),\n success: proxy(this._ajaxSuccess(options.template), this)\n }, options));\n },\n\n _destroy: function() {\n if (this.resizing) {\n this.resizing.destroy();\n }\n\n if (this.dragging) {\n this.dragging.destroy();\n }\n\n this.wrapper.off(NS)\n .children(KWINDOWCONTENT).off(NS).end()\n .find(\".k-resize-handle,.k-window-titlebar\").off(NS);\n\n $(window).off(\"resize\" + NS + this._marker);\n $(window).off(MODAL_NS);\n $(window).off(NS);\n\n clearTimeout(this._loadingIconTimeout);\n\n Widget.fn.destroy.call(this);\n\n this.unbind(undefined);\n\n kendo.destroy(this.wrapper);\n },\n\n destroy: function() {\n this._destroy();\n\n if (this.options.modal) {\n this._removeOverlay(true);\n }\n\n this.wrapper.empty().remove();\n\n this.wrapper = this.appendTo = this.element = $();\n },\n\n _createWindow: function() {\n var contentHtml = this.element,\n options = this.options,\n iframeSrcAttributes,\n wrapper,\n isRtl = kendo.support.isRtl(contentHtml);\n\n if (options.scrollable === false) {\n contentHtml.css(\"overflow\", \"hidden\");\n }\n\n wrapper = $(templates.wrapper(options));\n\n // Collect the src attributes of all iframes and then set them to empty string.\n // This seems to fix this IE9 \"feature\": http://msdn.microsoft.com/en-us/library/gg622929%28v=VS.85%29.aspx?ppud=4\n iframeSrcAttributes = contentHtml.find(\"iframe:not(.k-content-frame)\").map(function() {\n var src = this.getAttribute(\"src\");\n this.src = \"\";\n return src;\n });\n\n // Make sure the wrapper is appended to the body only once. IE9+ will throw exceptions if you move iframes in DOM\n wrapper\n .toggleClass(\"k-rtl\", isRtl)\n .attr(\"tabindex\", 0)\n .append(contentHtml)\n .find(\"iframe:not(.k-content-frame)\").each(function(index) {\n // Restore the src attribute of the iframes when they are part of the live DOM tree\n this.src = iframeSrcAttributes[index];\n });\n\n if (this.containment) {\n this.containment.prepend(wrapper);\n } else if (this.appendTo) {\n wrapper.appendTo(this.appendTo);\n }\n\n wrapper.find(\".k-window-title\")\n .css(isRtl ? \"left\" : \"right\", outerWidth(wrapper.find(\".k-window-actions\")) + 10);\n\n contentHtml.css(\"visibility\", \"\").show();\n\n contentHtml.find(\"[data-role=editor]\").each(function() {\n var editor = $(this).data(\"kendoEditor\");\n\n if (editor) {\n editor.refresh();\n }\n });\n\n wrapper = contentHtml = null;\n }\n });\n\n templates = {\n wrapper: template(\"
      \"),\n action: template(\n \"\" +\n \"\" +\n \"\"\n ),\n titlebar: template(\n \"
      \" +\n \"#= title #\" +\n \"
      \" +\n \"
      \"\n ),\n overlay: \"
      \",\n contentFrame: template(\n \"\"\n ),\n resizeHandle: template(\"
      \")\n };\n\n\n function WindowResizing(wnd) {\n var that = this;\n that.owner = wnd;\n that._preventDragging = false;\n that._draggable = new Draggable(wnd.wrapper, {\n filter: \">\" + KWINDOWRESIZEHANDLES,\n group: wnd.wrapper.id + \"-resizing\",\n dragstart: proxy(that.dragstart, that),\n drag: proxy(that.drag, that),\n dragend: proxy(that.dragend, that)\n });\n\n that._draggable.userEvents.bind(\"press\", proxy(that.addOverlay, that));\n that._draggable.userEvents.bind(\"release\", proxy(that.removeOverlay, that));\n }\n\n WindowResizing.prototype = {\n addOverlay: function () {\n this.owner.wrapper.append(templates.overlay);\n },\n removeOverlay: function () {\n this.owner.wrapper.find(KOVERLAY).remove();\n },\n dragstart: function (e) {\n var that = this;\n var wnd = that.owner;\n var wrapper = wnd.wrapper;\n\n that._preventDragging = wnd.trigger(RESIZESTART);\n if (that._preventDragging) {\n return;\n }\n\n that.elementPadding = parseInt(wrapper.css(\"padding-top\"), 10);\n that.initialPosition = kendo.getOffset(wrapper, \"position\");\n\n that.resizeDirection = e.currentTarget.prop(\"className\").replace(\"k-resize-handle k-resize-\", \"\");\n\n that.initialSize = {\n width: wrapper.outerWidth(),\n height: wrapper.outerHeight()\n };\n\n wnd._updateBoundaries();\n\n that.containerOffset = wnd.containment ? wnd.containment.position : kendo.getOffset(wnd.appendTo);\n\n var offsetParent = wrapper.offsetParent();\n\n if (offsetParent.is(\"html\")) {\n that.containerOffset.top = that.containerOffset.left = 0;\n } else {\n var marginTop = offsetParent.css(\"margin-top\");\n var marginLeft = offsetParent.css(\"margin-left\");\n var hasMargin = !zero.test(marginTop) || !zero.test(marginLeft);\n if (hasMargin) {\n var wrapperPosition = getPosition(wrapper[0]);\n var relativeElMarginLeft = wrapperPosition.left - that.containerOffset.left - that.initialPosition.left;\n var relativeElMarginTop = wrapperPosition.top - that.containerOffset.top - that.initialPosition.top;\n\n that._relativeElMarginLeft = relativeElMarginLeft > 1 ? relativeElMarginLeft : 0;\n that._relativeElMarginTop = relativeElMarginTop > 1 ? relativeElMarginTop : 0;\n\n that.initialPosition.left += that._relativeElMarginLeft;\n that.initialPosition.top += that._relativeElMarginTop;\n }\n }\n\n wrapper\n .children(KWINDOWRESIZEHANDLES).not(e.currentTarget).hide();\n\n $(BODY).css(CURSOR, e.currentTarget.css(CURSOR));\n },\n drag: function (e) {\n if (this._preventDragging) {\n return;\n }\n var that = this,\n wnd = that.owner,\n wrapper = wnd.wrapper,\n options = wnd.options,\n position = options.position,\n direction = that.resizeDirection,\n containerOffset = that.containerOffset,\n initialPosition = that.initialPosition,\n initialSize = that.initialSize,\n containmentContext = wnd.containment && !wnd._isPinned,\n rtl = kendo.support.isRtl(wnd.containment),\n leftRtlOffset = containmentContext && rtl && wnd.containment.innerWidth() > wnd.containment.width ? kendo.support.scrollbar() : 0,\n scrollOffset = containmentContext ? { top: wnd.containment.scrollTop(), left: wnd.containment.scrollLeft()} : { top: 0, left: 0},\n newWidth, newHeight,\n windowBottom, windowRight,\n x = Math.max(e.x.location, 0),\n y = Math.max(e.y.location, 0);\n\n if (direction.indexOf(\"e\") >= 0) {\n\n if (wnd.containment && x - initialSize.width >= wnd.maxLeft - scrollOffset.left + containerOffset.left + leftRtlOffset) {\n newWidth = wnd.maxLeft + leftRtlOffset - initialPosition.left + initialSize.width - scrollOffset.left;\n } else {\n newWidth = x - initialPosition.left - containerOffset.left;\n }\n\n wrapper.outerWidth(constrain(newWidth, options.minWidth, options.maxWidth));\n } else if (direction.indexOf(\"w\") >= 0) {\n windowRight = initialPosition.left + initialSize.width + containerOffset.left;\n newWidth = constrain(windowRight - x, options.minWidth, options.maxWidth);\n position.left = windowRight - newWidth - containerOffset.left - leftRtlOffset - (that._relativeElMarginLeft || 0) + scrollOffset.left;\n\n if (wnd.containment && position.left <= wnd.minLeft) {\n position.left = wnd.minLeft;\n newWidth = constrain(windowRight - leftRtlOffset - position.left - containerOffset.left + scrollOffset.left, options.minWidth, options.maxWidth);\n }\n\n wrapper.css({\n left: position.left,\n width: newWidth\n });\n }\n\n var newWindowTop = y;\n if (wnd.options.pinned) {\n newWindowTop -= $(window).scrollTop();\n }\n if (direction.indexOf(\"s\") >= 0) {\n newHeight = newWindowTop - initialPosition.top - that.elementPadding - containerOffset.top;\n\n if (newWindowTop - initialSize.height - that.elementPadding >= wnd.maxTop + containerOffset.top - scrollOffset.top) {\n newHeight = wnd.maxTop - initialPosition.top + initialSize.height - scrollOffset.top;\n }\n\n wrapper.outerHeight(constrain(newHeight, options.minHeight, options.maxHeight));\n } else if (direction.indexOf(\"n\") >= 0) {\n windowBottom = initialPosition.top + initialSize.height + containerOffset.top;\n newHeight = constrain(windowBottom - newWindowTop, options.minHeight, options.maxHeight);\n position.top = windowBottom - newHeight - containerOffset.top - (that._relativeElMarginTop || 0) + scrollOffset.top;\n\n if (position.top <= wnd.minTop && wnd.containment) {\n position.top = wnd.minTop;\n newHeight = constrain(windowBottom - position.top - containerOffset.top + scrollOffset.top, options.minHeight, options.maxHeight);\n }\n\n wrapper.css({\n top: position.top,\n height: newHeight\n });\n }\n\n if (newWidth) {\n wnd.options.width = newWidth + \"px\";\n }\n if (newHeight) {\n wnd.options.height = newHeight + \"px\";\n }\n\n wnd.resize();\n },\n dragend: function (e) {\n if (this._preventDragging) {\n return;\n }\n\n var that = this,\n wnd = that.owner,\n wrapper = wnd.wrapper;\n\n wrapper\n .children(KWINDOWRESIZEHANDLES).not(e.currentTarget).show();\n\n $(BODY).css(CURSOR, \"\");\n\n if (wnd.touchScroller) {\n wnd.touchScroller.reset();\n }\n\n if (e.keyCode == 27) {\n wrapper.css(that.initialPosition)\n .css(that.initialSize);\n }\n\n wnd.trigger(RESIZEEND);\n\n return false;\n },\n destroy: function() {\n if (this._draggable) {\n this._draggable.destroy();\n }\n\n this._draggable = this.owner = null;\n }\n };\n\n function WindowDragging(wnd, dragHandle) {\n var that = this;\n that.owner = wnd;\n that._preventDragging = false;\n that._draggable = new Draggable(wnd.wrapper, {\n filter: dragHandle,\n group: wnd.wrapper.id + \"-moving\",\n dragstart: proxy(that.dragstart, that),\n drag: proxy(that.drag, that),\n dragend: proxy(that.dragend, that),\n dragcancel: proxy(that.dragcancel, that)\n });\n\n that._draggable.userEvents.stopPropagation = false;\n }\n\n WindowDragging.prototype = {\n dragstart: function (e) {\n var wnd = this.owner,\n draggable = wnd.options.draggable,\n element = wnd.element,\n actions = element.find(\".k-window-actions\"),\n containerOffset = kendo.getOffset(wnd.appendTo);\n\n this._preventDragging = wnd.trigger(DRAGSTART) || !draggable;\n if (this._preventDragging || wnd.isMaximized()) {\n return;\n }\n\n wnd.initialWindowPosition = kendo.getOffset(wnd.wrapper, \"position\");\n\n wnd.initialPointerPosition = {\n left: wnd.options.position.left,\n top: wnd.options.position.top\n };\n\n wnd.startPosition = {\n left: e.x.client - wnd.initialWindowPosition.left,\n top: e.y.client - wnd.initialWindowPosition.top\n };\n\n wnd._updateBoundaries();\n if (!wnd.containment) {\n if (actions.length > 0) {\n wnd.minLeft = outerWidth(actions) + parseInt(actions.css(\"right\"), 10) - outerWidth(element);\n } else {\n wnd.minLeft = 20 - outerWidth(element); // at least 20px remain visible\n }\n\n wnd.minLeft -= containerOffset.left;\n wnd.minTop = -containerOffset.top;\n }\n\n $(templates.overlay).appendTo(wnd.wrapper).css({ opacity: 0 });\n\n wnd.wrapper.children(KWINDOWRESIZEHANDLES).hide();\n\n $(BODY).css(CURSOR, e.currentTarget.css(CURSOR));\n },\n\n drag: function (e) {\n var wnd = this.owner;\n var position = wnd.options.position;\n var axis = wnd.options.draggable.axis;\n var left;\n var top;\n\n if (this._preventDragging || wnd.isMaximized()) {\n return;\n }\n\n if (!axis || axis.toLowerCase() === \"x\") {\n left = e.x.client - wnd.startPosition.left;\n\n if (wnd.containment && !wnd._isPinned) {\n left += wnd.containment.scrollLeft();\n }\n\n position.left = constrain(left, wnd.minLeft, wnd.maxLeft);\n }\n\n if (!axis || axis.toLowerCase() === \"y\") {\n top = e.y.client - wnd.startPosition.top;\n\n if (wnd.containment && !wnd._isPinned) {\n top += wnd.containment.scrollTop();\n }\n\n position.top = constrain(top, wnd.minTop, wnd.maxTop);\n }\n\n if (kendo.support.transforms) {\n $(wnd.wrapper).css(\n \"transform\", \"translate(\" +\n (position.left - wnd.initialPointerPosition.left) + \"px, \" +\n (position.top - wnd.initialPointerPosition.top) + \"px)\"\n );\n } else {\n $(wnd.wrapper).css(position);\n }\n\n },\n\n _finishDrag: function() {\n var wnd = this.owner;\n\n wnd.wrapper\n .children(KWINDOWRESIZEHANDLES).toggle(!wnd.options.isMinimized).end()\n .find(KOVERLAY).remove();\n\n $(BODY).css(CURSOR, \"\");\n },\n\n dragcancel: function (e) {\n if (this._preventDragging) {\n return;\n }\n this._finishDrag();\n\n e.currentTarget.closest(KWINDOW).css(this.owner.initialWindowPosition);\n },\n\n dragend: function () {\n var wnd = this.owner;\n\n if (this._preventDragging || wnd.isMaximized()) {\n return;\n }\n\n $(wnd.wrapper)\n .css(wnd.options.position)\n .css(\"transform\", \"\");\n\n this._finishDrag();\n\n wnd.trigger(DRAGEND);\n\n return false;\n },\n destroy: function() {\n if (this._draggable) {\n this._draggable.destroy();\n }\n\n this._draggable = this.owner = null;\n }\n };\n\n kendo.ui.plugin(Window);\n\n })(window.kendo.jQuery);\n\n return window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n/***********************************************************************\n * WARNING: this file is auto-generated. If you change it directly,\n * your modifications will eventually be lost. The source code is in\n * `kendo-drawing` repository, you should make your changes there and\n * run `src-modules/sync.sh` in this repository.\n */\n(function(f, define){\n define('kendo.color',[ \"./kendo.core\" ], f);\n})(function(){\n\n var __meta__ = { // jshint ignore:line\n id: \"color\",\n name: \"Color utils\",\n category: \"framework\",\n advanced: true,\n description: \"Color utilities used across components\",\n depends: [ \"core\" ]\n };\n\n/*jshint eqnull:true */\n\nwindow.kendo = window.kendo || {};\n\nvar Class = kendo.Class;\nvar support = kendo.support;\n\nvar namedColors = {\n aliceblue: \"f0f8ff\", antiquewhite: \"faebd7\", aqua: \"00ffff\",\n aquamarine: \"7fffd4\", azure: \"f0ffff\", beige: \"f5f5dc\",\n bisque: \"ffe4c4\", black: \"000000\", blanchedalmond: \"ffebcd\",\n blue: \"0000ff\", blueviolet: \"8a2be2\", brown: \"a52a2a\",\n burlywood: \"deb887\", cadetblue: \"5f9ea0\", chartreuse: \"7fff00\",\n chocolate: \"d2691e\", coral: \"ff7f50\", cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\", crimson: \"dc143c\", cyan: \"00ffff\",\n darkblue: \"00008b\", darkcyan: \"008b8b\", darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\", darkgrey: \"a9a9a9\", darkgreen: \"006400\",\n darkkhaki: \"bdb76b\", darkmagenta: \"8b008b\", darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\", darkorchid: \"9932cc\", darkred: \"8b0000\",\n darksalmon: \"e9967a\", darkseagreen: \"8fbc8f\", darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\", darkslategrey: \"2f4f4f\", darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\", deeppink: \"ff1493\", deepskyblue: \"00bfff\",\n dimgray: \"696969\", dimgrey: \"696969\", dodgerblue: \"1e90ff\",\n firebrick: \"b22222\", floralwhite: \"fffaf0\", forestgreen: \"228b22\",\n fuchsia: \"ff00ff\", gainsboro: \"dcdcdc\", ghostwhite: \"f8f8ff\",\n gold: \"ffd700\", goldenrod: \"daa520\", gray: \"808080\",\n grey: \"808080\", green: \"008000\", greenyellow: \"adff2f\",\n honeydew: \"f0fff0\", hotpink: \"ff69b4\", indianred: \"cd5c5c\",\n indigo: \"4b0082\", ivory: \"fffff0\", khaki: \"f0e68c\",\n lavender: \"e6e6fa\", lavenderblush: \"fff0f5\", lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\", lightblue: \"add8e6\", lightcoral: \"f08080\",\n lightcyan: \"e0ffff\", lightgoldenrodyellow: \"fafad2\", lightgray: \"d3d3d3\",\n lightgrey: \"d3d3d3\", lightgreen: \"90ee90\", lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\", lightseagreen: \"20b2aa\", lightskyblue: \"87cefa\",\n lightslategray: \"778899\", lightslategrey: \"778899\", lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\", lime: \"00ff00\", limegreen: \"32cd32\",\n linen: \"faf0e6\", magenta: \"ff00ff\", maroon: \"800000\",\n mediumaquamarine: \"66cdaa\", mediumblue: \"0000cd\", mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\", mediumseagreen: \"3cb371\", mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\", mediumturquoise: \"48d1cc\", mediumvioletred: \"c71585\",\n midnightblue: \"191970\", mintcream: \"f5fffa\", mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\", navajowhite: \"ffdead\", navy: \"000080\",\n oldlace: \"fdf5e6\", olive: \"808000\", olivedrab: \"6b8e23\",\n orange: \"ffa500\", orangered: \"ff4500\", orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\", palegreen: \"98fb98\", paleturquoise: \"afeeee\",\n palevioletred: \"d87093\", papayawhip: \"ffefd5\", peachpuff: \"ffdab9\",\n peru: \"cd853f\", pink: \"ffc0cb\", plum: \"dda0dd\",\n powderblue: \"b0e0e6\", purple: \"800080\", red: \"ff0000\",\n rosybrown: \"bc8f8f\", royalblue: \"4169e1\", saddlebrown: \"8b4513\",\n salmon: \"fa8072\", sandybrown: \"f4a460\", seagreen: \"2e8b57\",\n seashell: \"fff5ee\", sienna: \"a0522d\", silver: \"c0c0c0\",\n skyblue: \"87ceeb\", slateblue: \"6a5acd\", slategray: \"708090\",\n slategrey: \"708090\", snow: \"fffafa\", springgreen: \"00ff7f\",\n steelblue: \"4682b4\", tan: \"d2b48c\", teal: \"008080\",\n thistle: \"d8bfd8\", tomato: \"ff6347\", turquoise: \"40e0d0\",\n violet: \"ee82ee\", wheat: \"f5deb3\", white: \"ffffff\",\n whitesmoke: \"f5f5f5\", yellow: \"ffff00\", yellowgreen: \"9acd32\"\n};\n\nvar browser = support.browser;\n\nvar matchNamedColor = function (color) {\n var colorNames = Object.keys(namedColors);\n colorNames.push(\"transparent\");\n\n var regexp = new RegExp(\"^(\" + colorNames.join(\"|\") + \")(\\\\W|$)\", \"i\");\n matchNamedColor = function (color) { return regexp.exec(color); };\n\n return regexp.exec(color);\n};\n\nvar BaseColor = Class.extend({\n init: function() { },\n\n toHSV: function() { return this; },\n\n toRGB: function() { return this; },\n\n toHex: function(options) { return this.toBytes().toHex(options); },\n\n toBytes: function() { return this; },\n\n toCss: function(options) { return \"#\" + this.toHex(options); },\n\n toCssRgba: function() {\n var rgb = this.toBytes();\n return (\"rgba(\" + (rgb.r) + \", \" + (rgb.g) + \", \" + (rgb.b) + \", \" + (parseFloat((Number(this.a)).toFixed(3))) + \")\");\n },\n\n toDisplay: function() {\n if (browser.msie && browser.version < 9) {\n return this.toCss(); // no RGBA support; does it support any opacity in colors?\n }\n return this.toCssRgba();\n },\n\n equals: function(c) {\n return c === this || c !== null && this.toCssRgba() === parseColor(c).toCssRgba();\n },\n\n diff: function(other) {\n if (other === null) {\n return NaN;\n }\n\n var c1 = this.toBytes();\n var c2 = other.toBytes();\n\n return Math.sqrt(Math.pow((c1.r - c2.r) * 0.30, 2) +\n Math.pow((c1.g - c2.g) * 0.59, 2) +\n Math.pow((c1.b - c2.b) * 0.11, 2));\n },\n\n clone: function() {\n var c = this.toBytes();\n if (c === this) {\n c = new Bytes(c.r, c.g, c.b, c.a);\n }\n\n return c;\n }\n});\n\nvar RGB = BaseColor.extend({\n init: function(r, g, b, a) {\n BaseColor.fn.init.call(this);\n\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n },\n\n toHSV: function() {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var v = max;\n var h, s;\n\n if (delta === 0) {\n return new HSV(0, 0, v, this.a);\n }\n\n if (max !== 0) {\n s = delta / max;\n if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else {\n h = 4 + (r - g) / delta;\n }\n\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n } else {\n s = 0;\n h = -1;\n }\n\n return new HSV(h, s, v, this.a);\n },\n\n toHSL: function() {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0;\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n default: break;\n }\n }\n\n return new HSL(h * 60, s * 100, l * 100, this.a);\n },\n\n toBytes: function() {\n return new Bytes(this.r * 255, this.g * 255, this.b * 255, this.a);\n }\n});\n\nvar Bytes = RGB.extend({\n init: function(r, g, b, a) {\n RGB.fn.init.call(this, Math.round(r), Math.round(g), Math.round(b), a);\n },\n\n toRGB: function() {\n return new RGB(this.r / 255, this.g / 255, this.b / 255, this.a);\n },\n\n toHSV: function() {\n return this.toRGB().toHSV();\n },\n\n toHSL: function() {\n return this.toRGB().toHSL();\n },\n\n toHex: function(options) {\n var value = hex(this.r, 2) + hex(this.g, 2) + hex(this.b, 2);\n\n if (options && options.alpha) {\n value += hex(Math.round(this.a * 255), 2);\n }\n\n return value;\n },\n\n toBytes: function() {\n return this;\n }\n});\n\nfunction hex(n, width, pad) {\n if (pad === void 0) { pad = \"0\"; }\n\n var result = n.toString(16);\n while (width > result.length) {\n result = pad + result;\n }\n\n return result;\n}\n\nvar HSV = BaseColor.extend({\n init: function(h, s, v, a) {\n BaseColor.fn.init.call(this);\n\n this.h = h;\n this.s = s;\n this.v = v;\n this.a = a;\n },\n\n toRGB: function() {\n var ref = this;\n var h = ref.h;\n var s = ref.s;\n var v = ref.v;\n var r, g, b;\n\n if (s === 0) {\n r = g = b = v;\n } else {\n h /= 60;\n\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: r = v; g = t; b = p; break;\n case 1: r = q; g = v; b = p; break;\n case 2: r = p; g = v; b = t; break;\n case 3: r = p; g = q; b = v; break;\n case 4: r = t; g = p; b = v; break;\n default: r = v; g = p; b = q; break;\n }\n }\n\n return new RGB(r, g, b, this.a);\n },\n\n toHSL: function() {\n return this.toRGB().toHSL();\n },\n\n toBytes: function() {\n return this.toRGB().toBytes();\n }\n});\n\nvar HSL = BaseColor.extend({\n init: function(h, s, l, a) {\n BaseColor.fn.init.call(this);\n\n this.h = h;\n this.s = s;\n this.l = l;\n this.a = a;\n },\n\n toRGB: function() {\n var h = this.h / 360;\n var s = this.s / 100;\n var l = this.l / 100;\n var r, g, b;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return new RGB(r, g, b, this.a);\n },\n\n toHSV: function() {\n return this.toRGB().toHSV();\n },\n\n toBytes: function() {\n return this.toRGB().toBytes();\n }\n});\n\nfunction hue2rgb(p, q, s) {\n var t = s;\n\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n}\n\nfunction alphaFromHex(a) {\n return parseFloat(parseFloat(parseInt(a, 16) / 255 ).toFixed(3));\n}\n\nfunction parseColor(value, safe) {\n var m, ret;\n\n if (value == null || value === \"none\") {\n return null;\n }\n\n if (value instanceof BaseColor) {\n return value;\n }\n\n var color = value.toLowerCase();\n if ((m = matchNamedColor(color))) {\n if (m[1] === \"transparent\") {\n color = new RGB(1, 1, 1, 0);\n } else {\n color = parseColor(namedColors[m[1]], safe);\n }\n color.match = [ m[1] ];\n return color;\n }\n if ((m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\\b/i.exec(color))) {\n ret = new Bytes(parseInt(m[1], 16),\n parseInt(m[2], 16),\n parseInt(m[3], 16), 1);\n } else if ((m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])\\b/i.exec(color))) {\n ret = new Bytes(parseInt(m[1] + m[1], 16),\n parseInt(m[2] + m[2], 16),\n parseInt(m[3] + m[3], 16), 1);\n } else if ((m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])\\b/i.exec(color))) { // Parse 4 digit hex color\n ret = new Bytes(parseInt(m[1] + m[1], 16),\n parseInt(m[2] + m[2], 16),\n parseInt(m[3] + m[3], 16),\n alphaFromHex(m[4] + m[4]));\n } else if ((m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\\b/i.exec(color))) { // Parse 8 digit hex color\n ret = new Bytes(parseInt(m[1], 16),\n parseInt(m[2], 16),\n parseInt(m[3], 16),\n alphaFromHex(m[4]));\n } else if ((m = /^rgb\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/.exec(color))) {\n ret = new Bytes(parseInt(m[1], 10),\n parseInt(m[2], 10),\n parseInt(m[3], 10), 1);\n } else if ((m = /^rgba\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color))) {\n ret = new Bytes(parseInt(m[1], 10),\n parseInt(m[2], 10),\n parseInt(m[3], 10), parseFloat(m[4]));\n } else if ((m = /^rgb\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*\\)/.exec(color))) {\n ret = new RGB(parseFloat(m[1]) / 100,\n parseFloat(m[2]) / 100,\n parseFloat(m[3]) / 100, 1);\n } else if ((m = /^rgba\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color))) {\n ret = new RGB(parseFloat(m[1]) / 100,\n parseFloat(m[2]) / 100,\n parseFloat(m[3]) / 100, parseFloat(m[4]));\n }\n\n if (ret) {\n ret.match = m;\n } else if (!safe) {\n throw new Error(\"Cannot parse color: \" + color);\n }\n\n return ret;\n}\n\nvar DARK_TRESHOLD = 180;\n\nvar Color = Class.extend({\n init: function(value) {\n var this$1 = this;\n\n if (arguments.length === 1) {\n var formats = Color.formats;\n var resolvedColor = this.resolveColor(value);\n\n for (var idx = 0; idx < formats.length; idx++) {\n var formatRegex = formats[idx].re;\n var processor = formats[idx].process;\n var parts = formatRegex.exec(resolvedColor);\n\n if (parts) {\n var channels = processor(parts);\n this$1.r = channels[0];\n this$1.g = channels[1];\n this$1.b = channels[2];\n }\n }\n } else {\n this.r = arguments[0];\n this.g = arguments[1];\n this.b = arguments[2];\n }\n\n this.r = this.normalizeByte(this.r);\n this.g = this.normalizeByte(this.g);\n this.b = this.normalizeByte(this.b);\n },\n\n toHex: function() {\n var pad = this.padDigit;\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n\n return \"#\" + pad(r) + pad(g) + pad(b);\n },\n\n resolveColor: function(value) {\n var color = value || \"black\";\n\n if (color.charAt(0) === \"#\") {\n color = color.substr(1, 6);\n }\n\n color = color.replace(/ /g, \"\");\n color = color.toLowerCase();\n color = Color.namedColors[color] || color;\n\n return color;\n },\n\n normalizeByte: function(value) {\n if (value < 0 || isNaN(value)) {\n return 0;\n }\n\n return value > 255 ? 255 : value;\n },\n\n padDigit: function(value) {\n return (value.length === 1) ? \"0\" + value : value;\n },\n\n brightness: function(value) {\n var round = Math.round;\n\n this.r = round(this.normalizeByte(this.r * value));\n this.g = round(this.normalizeByte(this.g * value));\n this.b = round(this.normalizeByte(this.b * value));\n\n return this;\n },\n\n percBrightness: function() {\n return Math.sqrt(0.241 * this.r * this.r + 0.691 * this.g * this.g + 0.068 * this.b * this.b);\n },\n\n isDark: function() {\n return this.percBrightness() < DARK_TRESHOLD;\n }\n});\n\nColor.fromBytes = function(r, g, b, a) {\n return new Bytes(r, g, b, a != null ? a : 1);\n};\n\nColor.fromRGB = function(r, g, b, a) {\n return new RGB(r, g, b, a != null ? a : 1);\n};\n\nColor.fromHSV = function(h, s, v, a) {\n return new HSV(h, s, v, a != null ? a : 1);\n};\n\nColor.fromHSL = function(h, s, l, a) {\n return new HSL(h, s, l, a != null ? a : 1);\n};\n\nColor.formats = [ {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n process: function(parts) {\n return [\n parseInt(parts[1], 10), parseInt(parts[2], 10), parseInt(parts[3], 10)\n ];\n }\n}, {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n process: function(parts) {\n return [\n parseInt(parts[1], 16), parseInt(parts[2], 16), parseInt(parts[3], 16)\n ];\n }\n}, {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n process: function(parts) {\n return [\n parseInt(parts[1] + parts[1], 16),\n parseInt(parts[2] + parts[2], 16),\n parseInt(parts[3] + parts[3], 16)\n ];\n }\n} ];\n\nColor.namedColors = namedColors;\n\nkendo.deepExtend(kendo, {\n parseColor: parseColor,\n namedColors: namedColors,\n Color: Color\n});\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define) {\n define('kendo.slider',[ \"./kendo.draganddrop\" ], f);\n})(function() {\n\nvar __meta__ = { // jshint ignore:line\n id: \"slider\",\n name: \"Slider\",\n category: \"web\",\n description: \"The Slider widget provides a rich input for selecting values or ranges of values.\",\n depends: [ \"draganddrop\" ]\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n Draggable = kendo.ui.Draggable,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n extend = $.extend,\n format = kendo.format,\n parse = kendo.parseFloat,\n proxy = $.proxy,\n isArray = Array.isArray,\n math = Math,\n support = kendo.support,\n pointers = support.pointers,\n msPointers = support.msPointers,\n CHANGE = \"change\",\n SLIDE = \"slide\",\n NS = \".slider\",\n MOUSE_DOWN = \"touchstart\" + NS + \" mousedown\" + NS,\n TRACK_MOUSE_DOWN = pointers ? \"pointerdown\" + NS : (msPointers ? \"MSPointerDown\" + NS : MOUSE_DOWN),\n MOUSE_UP = \"touchend\" + NS + \" mouseup\" + NS,\n TRACK_MOUSE_UP = pointers ? \"pointerup\" : (msPointers ? \"MSPointerUp\" + NS : MOUSE_UP),\n MOVE_SELECTION = \"moveSelection\",\n KEY_DOWN = \"keydown\" + NS,\n CLICK = \"click\" + NS,\n MOUSE_OVER = \"mouseover\" + NS,\n FOCUS = \"focus\" + NS,\n BLUR = \"blur\" + NS,\n DRAG_HANDLE = \".k-draghandle\",\n TRACK_SELECTOR = \".k-slider-track\",\n TICK_SELECTOR = \".k-tick\",\n STATE_SELECTED = \"k-state-selected\",\n STATE_FOCUSED = \"k-state-focused\",\n STATE_DISABLED = \"k-state-disabled\",\n DISABLED = \"disabled\",\n UNDEFINED = \"undefined\",\n TABINDEX = \"tabindex\",\n getTouches = kendo.getTouches,\n\n ARIA_VALUETEXT = \"aria-valuetext\",\n ARIA_VALUENOW = \"aria-valuenow\";\n\n var SliderBase = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n options = that.options;\n that._isHorizontal = options.orientation == \"horizontal\";\n that._isRtl = that._isHorizontal && kendo.support.isRtl(element);\n that._position = that._isHorizontal ? \"left\" : \"bottom\";\n that._sizeFn = that._isHorizontal ? \"width\" : \"height\";\n that._outerSize = that._isHorizontal ? outerWidth : outerHeight;\n\n options.tooltip.format = options.tooltip.enabled ? options.tooltip.format || \"{0}\" : \"{0}\";\n\n if (options.smallStep <= 0) {\n throw new Error('Kendo UI Slider smallStep must be a positive number.');\n }\n\n that._createHtml();\n that._trackDiv = that.wrapper.find(TRACK_SELECTOR);\n\n that._maxSelection = that._trackDiv[that._sizeFn]();\n\n that._sliderItemsInit();\n\n that._reset();\n\n that._tabindex(that.wrapper.find(DRAG_HANDLE));\n that[options.enabled ? \"enable\" : \"disable\"]();\n\n var rtlDirectionSign = kendo.support.isRtl(that.wrapper) ? -1 : 1;\n\n that._keyMap = {\n 37: step(-1 * rtlDirectionSign * options.smallStep), // left arrow\n 40: step(-options.smallStep), // down arrow\n 39: step(+1 * rtlDirectionSign * options.smallStep), // right arrow\n 38: step(+options.smallStep), // up arrow\n 35: setValue(options.max), // end\n 36: setValue(options.min), // home\n 33: step(+options.largeStep), // page up\n 34: step(-options.largeStep) // page down\n };\n\n kendo.notify(that);\n },\n\n events: [\n CHANGE,\n SLIDE\n ],\n\n options: {\n enabled: true,\n min: 0,\n max: 10,\n smallStep: 1,\n largeStep: 5,\n orientation: \"horizontal\",\n tickPlacement: \"both\",\n tooltip: { enabled: true, format: \"{0}\" }\n },\n\n _distance: function() {\n return round(this.options.max - this.options.min);\n },\n\n _resize: function() {\n this.wrapper.find(\".k-slider-items\").remove();\n\n this._maxSelection = this._trackDiv[this._sizeFn]();\n this._sliderItemsInit();\n this._refresh();\n\n if (this.options.enabled) {\n this.enable(true);\n }\n },\n\n _sliderItemsInit: function() {\n var that = this,\n options = that.options;\n\n // [Backwards compatibilty]: maxSelection is reduced with 2 to compensate new styling and preserve automatic calculation to not show ticks.\n var sizeBetweenTicks = (that._maxSelection - 2)/ ((options.max - options.min) / options.smallStep);\n\n var pixelWidths = that._calculateItemsWidth(math.floor(removeFraction(that._distance()) / removeFraction(options.smallStep)));\n\n if (options.tickPlacement != \"none\" && sizeBetweenTicks >= 2) {\n $(this.element).parent().find(\".k-slider-items\").remove();\n that._trackDiv.before(createSliderItems(options, that._distance()));\n that._setItemsTitle();\n }\n\n that._calculateSteps(pixelWidths);\n\n if (options.tickPlacement != \"none\" && sizeBetweenTicks >= 2 &&\n options.largeStep >= options.smallStep) {\n that._setItemsLargeTick();\n that.wrapper.find(TICK_SELECTOR).first().addClass(\"k-first\");\n that.wrapper.find(TICK_SELECTOR).last().addClass(\"k-last\");\n }\n },\n\n getSize: function() {\n return kendo.dimensions(this.wrapper);\n },\n\n _setItemsTitle: function() {\n var that = this,\n options = that.options,\n items = that.wrapper.find(TICK_SELECTOR),\n titleNumber = options.min,\n count = items.length;\n\n for (var i = 0; i <= count; i += 1) {\n $(items[i]).attr(\"title\", format(options.tooltip.format, round(titleNumber)));\n titleNumber += options.smallStep;\n }\n },\n\n _setItemsLargeTick: function() {\n var that = this,\n options = that.options,\n items = that.wrapper.find(TICK_SELECTOR),\n i = 0, item, value;\n\n if (removeFraction(options.largeStep) % removeFraction(options.smallStep) === 0 || that._distance() / options.largeStep >= 3) {\n if (!that._isHorizontal && !that._isRtl) {\n items = $.makeArray(items).reverse();\n }\n\n for (i = 0; i < items.length; i++) {\n item = $(items[i]);\n value = that._values[i];\n var valueWithoutFraction = round(removeFraction(value - this.options.min));\n if (valueWithoutFraction % removeFraction(options.smallStep) === 0 && valueWithoutFraction % removeFraction(options.largeStep) === 0) {\n item.addClass(\"k-tick-large\")\n .html(\"\" + item.attr(\"title\") + \"\");\n\n if (i !== 0 && i !== items.length - 1) {\n item.css(\"line-height\", item[that._sizeFn]() + \"px\");\n }\n }\n }\n }\n },\n\n _calculateItemsWidth: function(itemsCount) {\n var that = this,\n options = that.options,\n trackDivSize = parseFloat(that._trackDiv.css(that._sizeFn)) + 1,\n distance = that._distance(),\n preciseItemsCount = removeFraction(distance) / removeFraction(options.smallStep),\n pixelStep = trackDivSize / removeFraction(distance),\n itemWidth,\n pixelWidths,\n i;\n\n if (preciseItemsCount - itemsCount > 0) {\n trackDivSize -= ((removeFraction(distance) % removeFraction(options.smallStep)) * pixelStep);\n }\n\n itemWidth = trackDivSize / itemsCount;\n pixelWidths = [];\n\n for (i = 0; i < itemsCount - 1; i++) {\n pixelWidths[i] = itemWidth;\n }\n\n pixelWidths[itemsCount - 1] = pixelWidths[itemsCount] = itemWidth / 2;\n return that._roundWidths(pixelWidths);\n },\n\n _roundWidths: function(pixelWidthsArray) {\n var balance = 0,\n count = pixelWidthsArray.length,\n i;\n\n for (i = 0; i < count; i++) {\n balance += (pixelWidthsArray[i] - math.floor(pixelWidthsArray[i]));\n pixelWidthsArray[i] = math.floor(pixelWidthsArray[i]);\n }\n\n balance = math.round(balance);\n\n return this._addAdditionalSize(balance, pixelWidthsArray);\n },\n\n _addAdditionalSize: function(additionalSize, pixelWidthsArray) {\n if (additionalSize === 0) {\n return pixelWidthsArray;\n }\n\n //set step size\n var step = parseFloat(pixelWidthsArray.length - 1) / parseFloat(additionalSize == 1 ? additionalSize : additionalSize - 1),\n i;\n\n for (i = 0; i < additionalSize; i++) {\n pixelWidthsArray[parseInt(math.round(step * i), 10)] += 1;\n }\n\n return pixelWidthsArray;\n },\n\n _calculateSteps: function(pixelWidths) {\n var that = this,\n options = that.options,\n val = options.min,\n selection = 0,\n distance = that._distance(),\n itemsCount = math.ceil(removeFraction(distance) / removeFraction(options.smallStep)),\n i = 1,\n lastItem;\n\n itemsCount += (removeFraction(distance) / removeFraction(options.smallStep)) % 1 === 0 ? 1 : 0;\n pixelWidths.splice(0, 0, pixelWidths[itemsCount - 2] * 2);\n pixelWidths.splice(itemsCount - 1, 1, pixelWidths.pop() * 2);\n\n that._pixelSteps = [selection];\n that._values = [val];\n\n if (itemsCount === 0) {\n return;\n }\n\n while (i < itemsCount) {\n selection += (pixelWidths[i - 1] + pixelWidths[i]) / 2;\n that._pixelSteps[i] = selection;\n val += options.smallStep;\n that._values[i] = round(val);\n\n i++;\n }\n\n lastItem = (removeFraction(distance) % removeFraction(options.smallStep)) === 0 ? itemsCount - 1 : itemsCount;\n\n that._pixelSteps[lastItem] = that._maxSelection;\n that._values[lastItem] = options.max;\n\n if (that._isRtl) {\n that._pixelSteps.reverse();\n that._values.reverse();\n }\n },\n\n _getValueFromPosition: function(mousePosition, draggableArea) {\n var that = this,\n options = that.options,\n step = math.max(options.smallStep * (that._maxSelection / that._distance()), 0),\n position = 0,\n halfStep = (step / 2),\n i;\n\n if (that._isHorizontal) {\n position = mousePosition - draggableArea.startPoint;\n if (that._isRtl) {\n position = that._maxSelection - position;\n }\n } else {\n position = draggableArea.startPoint - mousePosition;\n }\n\n if (that._maxSelection - ((parseInt(that._maxSelection % step, 10) - 3) / 2) < position) {\n return options.max;\n }\n\n for (i = 0; i < that._pixelSteps.length; i++) {\n if (math.abs(that._pixelSteps[i] - position) - 1 <= halfStep) {\n return round(that._values[i]);\n }\n }\n },\n\n _getFormattedValue: function(val, drag) {\n var that = this,\n html = \"\",\n tooltip = that.options.tooltip,\n tooltipTemplate,\n selectionStart,\n selectionEnd;\n\n if (isArray(val)) {\n selectionStart = val[0];\n selectionEnd = val[1];\n } else if (drag && drag.type) {\n selectionStart = drag.selectionStart;\n selectionEnd = drag.selectionEnd;\n }\n\n if (drag) {\n tooltipTemplate = drag.tooltipTemplate;\n }\n\n if (!tooltipTemplate && tooltip.template) {\n tooltipTemplate = kendo.template(tooltip.template);\n }\n\n if (isArray(val) || (drag && drag.type)) {\n\n if (tooltipTemplate) {\n html = tooltipTemplate({\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n });\n } else {\n selectionStart = format(tooltip.format, selectionStart);\n selectionEnd = format(tooltip.format, selectionEnd);\n html = selectionStart + \" - \" + selectionEnd;\n }\n } else {\n if (drag) {\n drag.val = val;\n }\n\n if (tooltipTemplate) {\n html = tooltipTemplate({\n value: val\n });\n } else {\n html = format(tooltip.format, val);\n }\n }\n return html;\n },\n\n _getDraggableArea: function() {\n var that = this,\n offset = kendo.getOffset(that._trackDiv);\n\n return {\n startPoint: that._isHorizontal ? offset.left : offset.top + that._maxSelection,\n endPoint: that._isHorizontal ? offset.left + that._maxSelection : offset.top\n };\n },\n\n _createHtml: function() {\n var that = this,\n element = that.element,\n options = that.options,\n inputs = element.find(\"input\");\n\n if (inputs.length == 2) {\n inputs.eq(0).prop(\"value\", formatValue(options.selectionStart));\n inputs.eq(1).prop(\"value\", formatValue(options.selectionEnd));\n } else {\n element.prop(\"value\", formatValue(options.value));\n }\n\n that.wrapper = element.wrap(createWrapper(options, element, that._isHorizontal)).hide().parents(\".k-slider\");\n\n if (options.showButtons) {\n that.wrapper.find(\".k-slider-track-wrap\")\n .after(createButton(options, \"increase\", that._isHorizontal, that._isRtl))\n .before(createButton(options, \"decrease\", that._isHorizontal, that._isRtl));\n }\n\n element.before(createTrack(options, element, that._isHorizontal));\n },\n\n _focus: function(e) {\n var that = this,\n target = e.target,\n val = that.value(),\n drag = that._drag;\n\n if (!drag) {\n if (target == that.wrapper.find(DRAG_HANDLE).eq(0)[0]) {\n drag = that._firstHandleDrag;\n that._activeHandle = 0;\n } else {\n drag = that._lastHandleDrag;\n that._activeHandle = 1;\n }\n val = val[that._activeHandle];\n }\n\n $(target).addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n\n if (drag) {\n that._activeHandleDrag = drag;\n\n drag.selectionStart = that.options.selectionStart;\n drag.selectionEnd = that.options.selectionEnd;\n\n drag._updateTooltip(val);\n }\n },\n\n _focusWithMouse: function(target) {\n target = $(target);\n\n var that = this,\n idx = target.is(DRAG_HANDLE) ? target.index() : 0;\n\n window.setTimeout(function() {\n that.wrapper.find(DRAG_HANDLE)[idx == 2 ? 1 : 0].focus();\n }, 1);\n\n that._setTooltipTimeout();\n },\n\n _blur: function(e) {\n var that = this,\n drag = that._activeHandleDrag;\n\n $(e.target).removeClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n\n if (drag) {\n drag._removeTooltip();\n delete that._activeHandleDrag;\n delete that._activeHandle;\n }\n },\n\n _setTooltipTimeout: function() {\n var that = this;\n that._tooltipTimeout = window.setTimeout(function() {\n var drag = that._drag || that._activeHandleDrag;\n if (drag) {\n drag._removeTooltip();\n }\n }, 300);\n },\n\n _clearTooltipTimeout: function() {\n var that = this;\n window.clearTimeout(this._tooltipTimeout);\n var drag = that._drag || that._activeHandleDrag;\n if (drag && drag.tooltipDiv) {\n drag.tooltipDiv.stop(true, false).css(\"opacity\", 1);\n }\n },\n\n _reset: function() {\n var that = this,\n element = that.element,\n formId = element.attr(\"form\"),\n form = formId ? $(\"#\" + formId) : element.closest(\"form\");\n\n if (form[0]) {\n that._form = form.on(\"reset\", proxy(that._formResetHandler, that));\n }\n },\n\n min: function(value) {\n if (!value) {\n return this.options.min;\n }\n this.setOptions({ \"min\": value });\n },\n\n max: function(value) {\n if (!value) {\n return this.options.max;\n }\n this.setOptions({ \"max\": value });\n },\n\n setOptions: function(options) {\n Widget.fn.setOptions.call(this, options);\n this._sliderItemsInit();\n this._refresh();\n },\n\n destroy: function() {\n if (this._form) {\n this._form.off(\"reset\", this._formResetHandler);\n }\n Widget.fn.destroy.call(this);\n }\n });\n\n function createWrapper(options, element, isHorizontal) {\n var orientationCssClass = isHorizontal ? \" k-slider-horizontal\" : \" k-slider-vertical\",\n style = options.style ? options.style : element.attr(\"style\"),\n cssClasses = element.attr(\"class\") ? (\" \" + element.attr(\"class\")) : \"\",\n tickPlacementCssClass = \"\";\n\n if (options.tickPlacement == \"bottomRight\") {\n tickPlacementCssClass = \" k-slider-bottomright\";\n } else if (options.tickPlacement == \"topLeft\") {\n tickPlacementCssClass = \" k-slider-topleft\";\n }\n\n style = style ? \" style='\" + style + \"'\" : \"\";\n\n return \"
      \" +\n \"
      \";\n }\n\n function createButton(options, type, isHorizontal) {\n var buttonCssClass = \"\";\n\n if (isHorizontal) {\n if (type === \"increase\") {\n buttonCssClass = \"k-i-arrow-e\";\n } else {\n buttonCssClass = \"k-i-arrow-w\";\n }\n } else {\n if (type == \"increase\") {\n buttonCssClass = \"k-i-arrow-n\";\n } else {\n buttonCssClass = \"k-i-arrow-s\";\n }\n }\n\n return \"\" +\n \"\";\n }\n\n function createSliderItems(options, distance) {\n var result = \"\";\n\n return result;\n }\n\n function createTrack(options, element, isHorizontal) {\n var dragHandleCount = element.is(\"input\") ? 1 : 2,\n firstDragHandleTitle = dragHandleCount == 2 ? options.leftDragHandleTitle : options.dragHandleTitle,\n value = options.value,\n min = options.selectionStart,\n max = options.selectionEnd,\n elementValue, minElementValue, maxElementValue;\n\n if (dragHandleCount === 1) {\n elementValue = element.val();\n\n if (elementValue !== null && elementValue !== undefined && elementValue !== 'null') {\n if (value === null || value === undefined) {\n value = elementValue;\n }\n }\n } else {\n minElementValue = element.find(\"input\").eq(0).val();\n maxElementValue = element.find(\"input\").eq(1).val();\n\n if (minElementValue !== null && minElementValue !== undefined && minElementValue !== 'null') {\n if (min === null || min === undefined) {\n min = minElementValue;\n }\n }\n\n if (maxElementValue !== null && maxElementValue !== undefined && maxElementValue !== 'null') {\n if (max === null || max === undefined) {\n max = maxElementValue;\n }\n }\n }\n\n var result = \"
      \" +\n \"\" +\n (dragHandleCount > 1 ? \"\" : \"\") +\n \"
      \";\n\n return result;\n }\n\n function step(stepValue) {\n return function(value) {\n return value + stepValue;\n };\n }\n\n function setValue(value) {\n return function() {\n return value;\n };\n }\n\n function formatValue(value) {\n return (value + \"\").replace(\".\", kendo.cultures.current.numberFormat[\".\"]);\n }\n\n function calculatePrecision(value) {\n var number = value.toString();\n var precision = 0;\n\n number = number.split(\".\");\n\n if (number[1]) {\n precision = number[1].length;\n }\n\n precision = precision > 10 ? 10 : precision;\n return precision;\n }\n\n function round(value) {\n var precision, power;\n\n value = parseFloat(value, 10);\n precision = calculatePrecision(value);\n power = math.pow(10, precision || 0);\n\n return math.round(value * power) / power;\n }\n\n function parseAttr(element, name) {\n var value = parse(element.getAttribute(name));\n if (value === null) {\n value = undefined;\n }\n return value;\n }\n\n function defined(value) {\n return typeof value !== UNDEFINED;\n }\n\n function removeFraction(value) {\n return value * 10000;\n }\n\n var Slider = SliderBase.extend({\n init: function(element, options) {\n var that = this,\n dragHandle;\n\n element.type = \"text\";\n options = extend({}, {\n value: parseAttr(element, \"value\"),\n min: parseAttr(element, \"min\"),\n max: parseAttr(element, \"max\"),\n smallStep: parseAttr(element, \"step\")\n }, options);\n\n element = $(element);\n\n if (options && options.enabled === undefined) {\n options.enabled = !element.is(\"[disabled]\");\n }\n\n SliderBase.fn.init.call(that, element, options);\n options = that.options;\n if (!defined(options.value) || options.value === null) {\n options.value = options.min;\n element.prop(\"value\", formatValue(options.min));\n }\n options.value = math.max(math.min(options.value, options.max), options.min);\n\n dragHandle = that.wrapper.find(DRAG_HANDLE);\n\n that._selection = new Slider.Selection(dragHandle, that, options);\n that._drag = new Slider.Drag(dragHandle, \"\", that, options);\n\n that._refreshAriaAttr(options.value);\n },\n\n options: {\n name: \"Slider\",\n showButtons: true,\n increaseButtonTitle: \"Increase\",\n decreaseButtonTitle: \"Decrease\",\n dragHandleTitle: \"drag\",\n tooltip: { format: \"{0:#,#.##}\" },\n value: null\n },\n\n enable: function(enable) {\n var that = this,\n options = that.options,\n clickHandler,\n move;\n\n that.disable();\n if (enable === false) {\n return;\n }\n\n that.wrapper\n .removeClass(STATE_DISABLED);\n\n that.wrapper.find(\"input\").prop(DISABLED, false);\n\n clickHandler = function(e) {\n var touch = getTouches(e)[0];\n\n if (!touch) {\n return;\n }\n\n var mousePosition = that._isHorizontal ? touch.location.pageX : touch.location.pageY,\n draggableArea = that._getDraggableArea(),\n target = $(e.target);\n\n if (target.hasClass(\"k-draghandle\")) {\n target.addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n return;\n }\n\n that._update(that._getValueFromPosition(mousePosition, draggableArea));\n\n that._focusWithMouse(e.target);\n\n that._drag.dragstart(e);\n e.preventDefault();\n };\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR)\n .on(TRACK_MOUSE_DOWN, clickHandler)\n .end()\n .on(TRACK_MOUSE_DOWN, function() {\n $(document.documentElement).one(\"selectstart\", kendo.preventDefault);\n })\n .on(TRACK_MOUSE_UP, function() {\n that._drag._end();\n });\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, 0)\n .on(MOUSE_UP, function() {\n that._setTooltipTimeout();\n })\n .on(CLICK, function(e) {\n that._focusWithMouse(e.target);\n e.preventDefault();\n })\n .on(FOCUS, proxy(that._focus, that))\n .on(BLUR, proxy(that._blur, that));\n\n move = proxy(function(sign) {\n var newVal = that._nextValueByIndex(that._valueIndex + (sign * 1));\n that._setValueInRange(newVal);\n that._drag._updateTooltip(newVal);\n }, that);\n\n if (options.showButtons) {\n var mouseDownHandler = proxy(function(e, sign) {\n this._clearTooltipTimeout();\n if (e.which === 1 || (support.touch && e.which === 0)) {\n move(sign);\n\n this.timeout = setTimeout(proxy(function() {\n this.timer = setInterval(function() {\n move(sign);\n }, 60);\n }, this), 200);\n }\n }, that);\n\n that.wrapper.find(\".k-button\")\n .on(MOUSE_UP, proxy(function(e) {\n this._clearTimer();\n that._focusWithMouse(e.target);\n }, that))\n .on(MOUSE_OVER, function(e) {\n $(e.currentTarget).addClass(\"k-state-hover\");\n })\n .on(\"mouseout\" + NS, proxy(function(e) {\n $(e.currentTarget).removeClass(\"k-state-hover\");\n this._clearTimer();\n }, that))\n .on(MOUSE_DOWN, proxy(function(e) {\n var sign = $(e.target).closest(\".k-button\").is(\".k-button-increase\") ? 1 : -1;\n mouseDownHandler(e, sign);\n }, that))\n .on(\"click\", kendo.preventDefault);\n }\n\n that.wrapper\n .find(DRAG_HANDLE)\n .off(KEY_DOWN, false)\n .on(KEY_DOWN, proxy(this._keydown, that));\n\n options.enabled = true;\n },\n\n disable: function() {\n var that = this;\n\n that.wrapper\n .addClass(STATE_DISABLED);\n\n $(that.element).prop(DISABLED, DISABLED);\n\n that.wrapper\n .find(\".k-button\")\n .off(MOUSE_DOWN)\n .on(MOUSE_DOWN, function(e) {\n e.preventDefault();\n $(this).addClass(\"k-state-active\");\n })\n .off(MOUSE_UP)\n .on(MOUSE_UP, function(e) {\n e.preventDefault();\n $(this).removeClass(\"k-state-active\");\n })\n .off(\"mouseleave\" + NS)\n .on(\"mouseleave\" + NS, kendo.preventDefault)\n .off(MOUSE_OVER)\n .on(MOUSE_OVER, kendo.preventDefault);\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(TRACK_MOUSE_DOWN).off(TRACK_MOUSE_UP);\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, -1)\n .off(MOUSE_UP)\n .off(KEY_DOWN)\n .off(CLICK)\n .off(FOCUS)\n .off(BLUR);\n\n that.options.enabled = false;\n },\n\n _update: function(val) {\n var that = this,\n change = that.value() != val;\n\n that.value(val);\n\n if (change) {\n that.trigger(CHANGE, { value: that.options.value });\n }\n },\n\n value: function(value) {\n var that = this,\n options = that.options;\n\n value = round(value);\n if (isNaN(value)) {\n return options.value;\n }\n\n if (value >= options.min && value <= options.max) {\n if (options.value != value) {\n that.element.prop(\"value\", formatValue(value));\n options.value = value;\n that._refreshAriaAttr(value);\n that._refresh();\n }\n }\n },\n\n _refresh: function() {\n this.trigger(MOVE_SELECTION, { value: this.options.value });\n },\n\n _refreshAriaAttr: function(value) {\n var that = this,\n drag = that._drag,\n formattedValue;\n\n if (drag && drag._tooltipDiv) {\n formattedValue = drag._tooltipDiv.text();\n } else {\n formattedValue = that._getFormattedValue(value, null);\n }\n this.wrapper.find(DRAG_HANDLE).attr(ARIA_VALUENOW, value).attr(ARIA_VALUETEXT, formattedValue);\n },\n\n _clearTimer: function() {\n clearTimeout(this.timeout);\n clearInterval(this.timer);\n },\n\n _keydown: function(e) {\n var that = this;\n\n if (e.keyCode in that._keyMap) {\n that._clearTooltipTimeout();\n that._setValueInRange(that._keyMap[e.keyCode](that.options.value));\n that._drag._updateTooltip(that.value());\n e.preventDefault();\n }\n },\n\n _setValueInRange: function(val) {\n var that = this,\n options = that.options;\n\n val = round(val);\n if (isNaN(val)) {\n that._update(options.min);\n return;\n }\n\n val = math.max(math.min(val, options.max), options.min);\n that._update(val);\n },\n\n _nextValueByIndex: function(index) {\n var count = this._values.length;\n if (this._isRtl) {\n index = count - 1 - index;\n }\n return this._values[math.max(0, math.min(index, count - 1))];\n },\n\n _formResetHandler: function() {\n var that = this,\n min = that.options.min;\n\n setTimeout(function() {\n var value = that.element[0].value;\n that.value(value === \"\" || isNaN(value) ? min : value);\n });\n },\n\n destroy: function() {\n var that = this;\n\n SliderBase.fn.destroy.call(that);\n\n that.wrapper.off(NS)\n .find(\".k-button\").off(NS)\n .end()\n .find(DRAG_HANDLE).off(NS)\n .end()\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(NS)\n .end();\n\n that._drag.draggable.destroy();\n that._drag._removeTooltip(true);\n }\n });\n\n Slider.Selection = function(dragHandle, that, options) {\n function moveSelection(val) {\n var selectionValue = val - options.min,\n index = that._valueIndex = math.ceil(round(selectionValue / options.smallStep)),\n selection = parseInt(that._pixelSteps[index], 10),\n selectionDiv = that._trackDiv.find(\".k-slider-selection\"),\n rtlCorrection = that._isRtl ? 2 : 0;\n\n selectionDiv[that._sizeFn](that._isRtl ? that._maxSelection - selection : selection);\n dragHandle.css(that._position, selection - rtlCorrection);\n }\n\n moveSelection(options.value);\n\n that.bind([SLIDE, MOVE_SELECTION], function(e) {\n moveSelection(parseFloat(e.value, 10));\n });\n\n that.bind(CHANGE, function(e) {\n moveSelection(parseFloat(e.sender.value(), 10));\n });\n };\n\n Slider.Drag = function(element, type, owner, options) {\n var that = this;\n that.owner = owner;\n that.options = options;\n that.element = element;\n that.type = type;\n\n that.draggable = new Draggable(element, {\n distance: 0,\n dragstart: proxy(that._dragstart, that),\n drag: proxy(that.drag, that),\n dragend: proxy(that.dragend, that),\n dragcancel: proxy(that.dragcancel, that)\n });\n\n element.click(false);\n\n // Disable link dragging\n element.on(\"dragstart\", function(e) {\n e.preventDefault();\n });\n };\n\n Slider.Drag.prototype = {\n dragstart: function(e) {\n // add reference to the last active drag handle.\n this.owner._activeDragHandle = this;\n // HACK to initiate click on the line\n this.draggable.userEvents.cancel();\n this._dragstart(e);\n this.dragend();\n },\n\n _dragstart: function(e) {\n var that = this,\n owner = that.owner,\n options = that.options;\n\n if (!options.enabled) {\n e.preventDefault();\n return;\n }\n\n // add reference to the last active drag handle.\n this.owner._activeDragHandle = this;\n\n owner.element.off(MOUSE_OVER);\n owner.wrapper.find(\".\" + STATE_FOCUSED).removeClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n that.element.addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n $(document.documentElement).css(\"cursor\", \"pointer\");\n\n that.draggableArea = owner._getDraggableArea();\n that.step = math.max(options.smallStep * (owner._maxSelection / owner._distance()), 0);\n\n if (that.type) {\n that.selectionStart = options.selectionStart;\n that.selectionEnd = options.selectionEnd;\n owner._setZIndex(that.type);\n } else {\n that.oldVal = that.val = options.value;\n }\n\n that._removeTooltip(true);\n that._createTooltip();\n },\n\n _createTooltip: function() {\n var that = this,\n owner = that.owner,\n tooltip = that.options.tooltip,\n html = '',\n wnd = $(window),\n tooltipTemplate, calloutCssClass;\n\n if (!tooltip.enabled) {\n return;\n }\n\n if (tooltip.template) {\n tooltipTemplate = that.tooltipTemplate = kendo.template(tooltip.template);\n }\n\n $(\".k-slider-tooltip\").remove(); // if user changes window while tooltip is visible, a second one will be created\n that.tooltipDiv = $(\"
      \").appendTo(document.body);\n\n html = owner._getFormattedValue(that.val || owner.value(), that);\n\n if (!that.type) {\n calloutCssClass = \"k-callout-\" + (owner._isHorizontal ? 's' : 'e');\n that.tooltipInnerDiv = \"
      \";\n html += that.tooltipInnerDiv;\n }\n\n that.tooltipDiv.html(html);\n\n that._scrollOffset = {\n top: wnd.scrollTop(),\n left: kendo.scrollLeft(wnd)\n };\n\n that.moveTooltip();\n },\n\n drag: function(e) {\n var that = this,\n owner = that.owner,\n x = e.x.location,\n y = e.y.location,\n startPoint = that.draggableArea.startPoint,\n endPoint = that.draggableArea.endPoint,\n slideParams;\n\n e.preventDefault();\n\n if (owner._isHorizontal) {\n if (owner._isRtl) {\n that.val = that.constrainValue(x, startPoint, endPoint, x < endPoint);\n } else {\n that.val = that.constrainValue(x, startPoint, endPoint, x >= endPoint);\n }\n } else {\n that.val = that.constrainValue(y, endPoint, startPoint, y <= endPoint);\n }\n\n if (that.oldVal != that.val) {\n that.oldVal = that.val;\n\n if (that.type) {\n if (that.type == \"firstHandle\") {\n if (that.val < that.selectionEnd) {\n that.selectionStart = that.val;\n } else {\n that.selectionStart = that.selectionEnd = that.val;\n }\n } else {\n if (that.val > that.selectionStart) {\n that.selectionEnd = that.val;\n } else {\n that.selectionStart = that.selectionEnd = that.val;\n }\n }\n slideParams = {\n values: [that.selectionStart, that.selectionEnd],\n value: [that.selectionStart, that.selectionEnd]\n };\n } else {\n slideParams = { value: that.val };\n }\n\n owner.trigger(SLIDE, slideParams);\n }\n that._updateTooltip(that.val);\n },\n\n _updateTooltip: function(val) {\n var that = this,\n options = that.options,\n tooltip = options.tooltip,\n html = \"\";\n\n if (!tooltip.enabled) {\n return;\n }\n\n if (!that.tooltipDiv) {\n that._createTooltip();\n }\n\n html = that.owner._getFormattedValue(round(val), that);\n\n if (!that.type) {\n html += that.tooltipInnerDiv;\n }\n\n that.tooltipDiv.html(html);\n that.moveTooltip();\n },\n\n dragcancel: function() {\n this.owner._refresh();\n $(document.documentElement).css(\"cursor\", \"\");\n return this._end();\n },\n\n dragend: function() {\n var that = this,\n owner = that.owner;\n\n $(document.documentElement).css(\"cursor\", \"\");\n\n if (that.type) {\n owner._update(that.selectionStart, that.selectionEnd);\n } else {\n owner._update(that.val);\n that.draggable.userEvents._disposeAll();\n }\n\n that.draggable.userEvents.cancel();\n return that._end();\n },\n\n _end: function() {\n var that = this,\n owner = that.owner;\n\n owner._focusWithMouse(that.element);\n\n owner.element.on(MOUSE_OVER);\n\n return false;\n },\n\n _removeTooltip: function(noAnimation) {\n var that = this,\n owner = that.owner;\n\n if (that.tooltipDiv && owner.options.tooltip.enabled && owner.options.enabled) {\n if (noAnimation) {\n that.tooltipDiv.remove();\n that.tooltipDiv = null;\n } else {\n that.tooltipDiv.fadeOut(\"slow\", function() {\n $(this).remove();\n that.tooltipDiv = null;\n });\n }\n }\n },\n\n moveTooltip: function() {\n var that = this,\n owner = that.owner,\n top = 0,\n left = 0,\n element = that.element,\n offset = kendo.getOffset(element),\n margin = 8,\n viewport = $(window),\n callout = that.tooltipDiv.find(\".k-callout\"),\n width = outerWidth(that.tooltipDiv),\n height = outerHeight(that.tooltipDiv),\n dragHandles, sdhOffset, diff, anchorSize;\n\n if (that.type) {\n dragHandles = owner.wrapper.find(DRAG_HANDLE);\n offset = kendo.getOffset(dragHandles.eq(0));\n sdhOffset = kendo.getOffset(dragHandles.eq(1));\n\n if (owner._isHorizontal) {\n top = sdhOffset.top;\n left = offset.left + ((sdhOffset.left - offset.left) / 2);\n } else {\n top = offset.top + ((sdhOffset.top - offset.top) / 2);\n left = sdhOffset.left;\n }\n\n anchorSize = outerWidth(dragHandles.eq(0)) + 2 * margin;\n } else {\n top = offset.top;\n left = offset.left;\n anchorSize = outerWidth(element) + 2 * margin;\n }\n\n if (owner._isHorizontal) {\n left -= parseInt((width - owner._outerSize(element)) / 2, 10);\n top -= height + margin + (callout.length ? callout.height() : 0);\n } else {\n top -= parseInt((height - owner._outerSize(element)) / 2, 10);\n left -= width + margin + (callout.length ? callout.width() : 0);\n }\n\n if (owner._isHorizontal) {\n diff = that._flip(top, height, anchorSize, outerHeight(viewport) + that._scrollOffset.top);\n top += diff;\n left += that._fit(left, width, outerWidth(viewport) + that._scrollOffset.left);\n } else {\n diff = that._flip(left, width, anchorSize, outerWidth(viewport) + that._scrollOffset.left);\n top += that._fit(top, height, outerHeight(viewport) + that._scrollOffset.top);\n left += diff;\n }\n\n if (diff > 0 && callout) {\n callout.removeClass();\n callout.addClass(\"k-callout k-callout-\" + (owner._isHorizontal ? \"n\" : \"w\"));\n }\n\n that.tooltipDiv.css({ top: top, left: left });\n },\n\n _fit: function(position, size, viewPortEnd) {\n var output = 0;\n\n if (position + size > viewPortEnd) {\n output = viewPortEnd - (position + size);\n }\n\n if (position < 0) {\n output = -position;\n }\n\n return output;\n },\n\n _flip: function(offset, size, anchorSize, viewPortEnd) {\n var output = 0;\n\n if (offset + size > viewPortEnd) {\n output += -(anchorSize + size);\n }\n\n if (offset + output < 0) {\n output += anchorSize + size;\n }\n\n return output;\n },\n\n constrainValue: function(position, min, max, maxOverflow) {\n var that = this,\n val = 0;\n\n if (min < position && position < max) {\n val = that.owner._getValueFromPosition(position, that.draggableArea);\n } else {\n if (maxOverflow ) {\n val = that.options.max;\n } else {\n val = that.options.min;\n }\n }\n\n return val;\n }\n\n };\n\n kendo.ui.plugin(Slider);\n\n var RangeSlider = SliderBase.extend({\n init: function(element, options) {\n var that = this,\n inputs = $(element).find(\"input\"),\n firstInput = inputs.eq(0)[0],\n secondInput = inputs.eq(1)[0];\n\n firstInput.type = \"text\";\n secondInput.type = \"text\";\n\n if (options && options.showButtons) {\n if (window.console) {\n window.console.warn(\"showbuttons option is not supported for the range slider, ignoring\");\n }\n\n options.showButtons = false;\n }\n\n options = extend({}, {\n selectionStart: parseAttr(firstInput, \"value\"),\n min: parseAttr(firstInput, \"min\"),\n max: parseAttr(firstInput, \"max\"),\n smallStep: parseAttr(firstInput, \"step\")\n }, {\n selectionEnd: parseAttr(secondInput, \"value\"),\n min: parseAttr(secondInput, \"min\"),\n max: parseAttr(secondInput, \"max\"),\n smallStep: parseAttr(secondInput, \"step\")\n }, options);\n\n if (options && options.enabled === undefined) {\n options.enabled = !inputs.is(\"[disabled]\");\n }\n\n SliderBase.fn.init.call(that, element, options);\n options = that.options;\n if (!defined(options.selectionStart) || options.selectionStart === null) {\n options.selectionStart = options.min;\n inputs.eq(0).prop(\"value\", formatValue(options.min));\n }\n\n if (!defined(options.selectionEnd) || options.selectionEnd === null) {\n options.selectionEnd = options.max;\n inputs.eq(1).prop(\"value\", formatValue(options.max));\n }\n\n var dragHandles = that.wrapper.find(DRAG_HANDLE);\n\n this._selection = new RangeSlider.Selection(dragHandles, that, options);\n that._firstHandleDrag = new Slider.Drag(dragHandles.eq(0), \"firstHandle\", that, options);\n that._lastHandleDrag = new Slider.Drag(dragHandles.eq(1), \"lastHandle\" , that, options);\n\n that._refreshAriaAttr(options.selectionStart , options.selectionEnd);\n },\n\n options: {\n name: \"RangeSlider\",\n leftDragHandleTitle: \"drag\",\n rightDragHandleTitle: \"drag\",\n tooltip: { format: \"{0:#,#.##}\" },\n selectionStart: null,\n selectionEnd: null\n },\n\n enable: function(enable) {\n var that = this,\n options = that.options,\n clickHandler;\n\n that.disable();\n if (enable === false) {\n return;\n }\n\n that.wrapper\n .removeClass(STATE_DISABLED);\n\n that.wrapper.find(\"input\").prop(DISABLED, false);\n\n clickHandler = function(e) {\n var touch = getTouches(e)[0];\n\n if (!touch) {\n return;\n }\n\n var mousePosition = that._isHorizontal ? touch.location.pageX : touch.location.pageY,\n draggableArea = that._getDraggableArea(),\n val = that._getValueFromPosition(mousePosition, draggableArea),\n target = $(e.target),\n from, to, drag;\n\n if (target.hasClass(\"k-draghandle\")) {\n that.wrapper.find(\".\" + STATE_FOCUSED).removeClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n target.addClass(STATE_FOCUSED + \" \" + STATE_SELECTED);\n return;\n }\n\n if (val < options.selectionStart) {\n from = val;\n to = options.selectionEnd;\n drag = that._firstHandleDrag;\n } else if (val > that.selectionEnd) {\n from = options.selectionStart;\n to = val;\n drag = that._lastHandleDrag;\n } else {\n if (val - options.selectionStart <= options.selectionEnd - val) {\n from = val;\n to = options.selectionEnd;\n drag = that._firstHandleDrag;\n } else {\n from = options.selectionStart;\n to = val;\n drag = that._lastHandleDrag;\n }\n }\n\n drag.dragstart(e);\n that._setValueInRange(from, to);\n that._focusWithMouse(drag.element);\n };\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR)\n .on(TRACK_MOUSE_DOWN, clickHandler)\n .end()\n .on(TRACK_MOUSE_DOWN, function() {\n $(document.documentElement).one(\"selectstart\", kendo.preventDefault);\n })\n .on(TRACK_MOUSE_UP, function() {\n if (that._activeDragHandle) {\n that._activeDragHandle._end();\n }\n });\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, 0)\n .on(MOUSE_UP, function() {\n that._setTooltipTimeout();\n })\n .on(CLICK, function(e) {\n that._focusWithMouse(e.target);\n e.preventDefault();\n })\n .on(FOCUS, proxy(that._focus, that))\n .on(BLUR, proxy(that._blur, that));\n\n that.wrapper.find(DRAG_HANDLE)\n .off(KEY_DOWN, kendo.preventDefault)\n .eq(0).on(KEY_DOWN,\n proxy(function(e) {\n this._keydown(e, \"firstHandle\");\n }, that)\n )\n .end()\n .eq(1).on(KEY_DOWN,\n proxy(function(e) {\n this._keydown(e, \"lastHandle\");\n }, that)\n );\n\n that.options.enabled = true;\n },\n\n disable: function() {\n var that = this;\n\n that.wrapper\n .addClass(STATE_DISABLED);\n\n that.wrapper.find(\"input\").prop(DISABLED, DISABLED);\n\n that.wrapper\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(TRACK_MOUSE_DOWN).off(TRACK_MOUSE_UP);\n\n that.wrapper\n .find(DRAG_HANDLE)\n .attr(TABINDEX, -1)\n .off(MOUSE_UP)\n .off(KEY_DOWN)\n .off(CLICK)\n .off(FOCUS)\n .off(BLUR);\n\n that.options.enabled = false;\n },\n\n _keydown: function(e, handle) {\n var that = this,\n selectionStartValue = that.options.selectionStart,\n selectionEndValue = that.options.selectionEnd,\n dragSelectionStart,\n dragSelectionEnd,\n activeHandleDrag;\n\n if (e.keyCode in that._keyMap) {\n\n that._clearTooltipTimeout();\n\n if (handle == \"firstHandle\") {\n activeHandleDrag = that._activeHandleDrag = that._firstHandleDrag;\n selectionStartValue = that._keyMap[e.keyCode](selectionStartValue);\n\n if (selectionStartValue > selectionEndValue) {\n selectionEndValue = selectionStartValue;\n }\n } else {\n activeHandleDrag = that._activeHandleDrag = that._lastHandleDrag;\n selectionEndValue = that._keyMap[e.keyCode](selectionEndValue);\n\n if (selectionStartValue > selectionEndValue) {\n selectionStartValue = selectionEndValue;\n }\n }\n\n that._setValueInRange(round(selectionStartValue), round(selectionEndValue));\n\n dragSelectionStart = Math.max(selectionStartValue, that.options.selectionStart);\n dragSelectionEnd = Math.min(selectionEndValue, that.options.selectionEnd);\n\n activeHandleDrag.selectionEnd = Math.max(dragSelectionEnd, that.options.selectionStart);\n activeHandleDrag.selectionStart = Math.min(dragSelectionStart, that.options.selectionEnd);\n\n activeHandleDrag._updateTooltip(that.value()[that._activeHandle]);\n\n e.preventDefault();\n }\n },\n\n _update: function(selectionStart, selectionEnd) {\n var that = this,\n values = that.value();\n\n var change = values[0] != selectionStart || values[1] != selectionEnd;\n\n that.value([selectionStart, selectionEnd]);\n\n if (change) {\n that.trigger(CHANGE, {\n values: [selectionStart, selectionEnd],\n value: [selectionStart, selectionEnd]\n });\n }\n },\n\n value: function(value) {\n if (value && value.length) {\n return this._value(value[0], value[1]);\n } else {\n return this._value();\n }\n },\n\n _value: function(start, end) {\n var that = this,\n options = that.options,\n selectionStart = options.selectionStart,\n selectionEnd = options.selectionEnd;\n\n if (isNaN(start) && isNaN(end)) {\n return [selectionStart, selectionEnd];\n } else {\n start = round(start);\n end = round(end);\n }\n\n if (start >= options.min && start <= options.max &&\n end >= options.min && end <= options.max && start <= end) {\n if (selectionStart != start || selectionEnd != end) {\n that.element.find(\"input\")\n .eq(0).prop(\"value\", formatValue(start))\n .end()\n .eq(1).prop(\"value\", formatValue(end));\n\n options.selectionStart = start;\n options.selectionEnd = end;\n that._refresh();\n that._refreshAriaAttr(start, end);\n }\n }\n },\n\n values: function(start, end) {\n if (isArray(start)) {\n return this._value(start[0], start[1]);\n } else {\n return this._value(start, end);\n }\n },\n\n _refresh: function() {\n var that = this,\n options = that.options;\n\n that.trigger(MOVE_SELECTION, {\n values: [options.selectionStart, options.selectionEnd],\n value: [options.selectionStart, options.selectionEnd]\n });\n\n if (options.selectionStart == options.max && options.selectionEnd == options.max) {\n that._setZIndex(\"firstHandle\");\n }\n },\n\n _refreshAriaAttr: function(start, end) {\n var that = this,\n dragHandles = that.wrapper.find(DRAG_HANDLE),\n drag = that._activeHandleDrag,\n formattedValue;\n\n formattedValue = that._getFormattedValue([start, end], drag);\n\n dragHandles.eq(0).attr(ARIA_VALUENOW, start);\n dragHandles.eq(1).attr(ARIA_VALUENOW, end);\n dragHandles.attr(ARIA_VALUETEXT, formattedValue);\n },\n\n _setValueInRange: function(selectionStart, selectionEnd) {\n var options = this.options;\n\n selectionStart = math.max(math.min(selectionStart, options.max), options.min);\n\n selectionEnd = math.max(math.min(selectionEnd, options.max), options.min);\n\n if (selectionStart == options.max && selectionEnd == options.max) {\n this._setZIndex(\"firstHandle\");\n }\n\n this._update(math.min(selectionStart, selectionEnd), math.max(selectionStart, selectionEnd));\n },\n\n _setZIndex: function(type) {\n this.wrapper.find(DRAG_HANDLE).each(function(index) {\n $(this).css(\"z-index\", type == \"firstHandle\" ? 1 - index : index);\n });\n },\n\n _formResetHandler: function() {\n var that = this,\n options = that.options;\n\n setTimeout(function() {\n var inputs = that.element.find(\"input\");\n var start = inputs[0].value;\n var end = inputs[1].value;\n that.values(start === \"\" || isNaN(start) ? options.min : start, end === \"\" || isNaN(end) ? options.max : end);\n });\n },\n\n destroy: function() {\n var that = this;\n\n SliderBase.fn.destroy.call(that);\n\n that.wrapper.off(NS)\n .find(TICK_SELECTOR + \", \" + TRACK_SELECTOR).off(NS)\n .end()\n .find(DRAG_HANDLE).off(NS);\n\n that._firstHandleDrag.draggable.destroy();\n that._lastHandleDrag.draggable.destroy();\n }\n });\n\n RangeSlider.Selection = function(dragHandles, that, options) {\n function moveSelection(value) {\n value = value || [];\n var selectionStartValue = value[0] - options.min,\n selectionEndValue = value[1] - options.min,\n selectionStartIndex = math.ceil(round(selectionStartValue / options.smallStep)),\n selectionEndIndex = math.ceil(round(selectionEndValue / options.smallStep)),\n selectionStart = that._pixelSteps[selectionStartIndex],\n selectionEnd = that._pixelSteps[selectionEndIndex],\n rtlCorrection = that._isRtl ? 2 : 0;\n\n dragHandles.eq(0).css(that._position, selectionStart - rtlCorrection)\n .end()\n .eq(1).css(that._position, selectionEnd - rtlCorrection);\n\n makeSelection(selectionStart, selectionEnd);\n }\n\n function makeSelection(selectionStart, selectionEnd) {\n var selection,\n selectionPosition,\n selectionDiv = that._trackDiv.find(\".k-slider-selection\");\n\n selection = math.abs(selectionStart - selectionEnd);\n\n selectionDiv[that._sizeFn](selection);\n if (that._isRtl) {\n selectionPosition = math.max(selectionStart, selectionEnd);\n selectionDiv.css(\"right\", that._maxSelection - selectionPosition - 1);\n } else {\n selectionPosition = math.min(selectionStart, selectionEnd);\n selectionDiv.css(that._position, selectionPosition - 1);\n }\n }\n\n moveSelection(that.value());\n\n that.bind([ CHANGE, SLIDE, MOVE_SELECTION ], function(e) {\n moveSelection(e.values);\n });\n };\n\n kendo.ui.plugin(RangeSlider);\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3) { (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.badge',[\"./kendo.core\"], f);\n})(function () {\n\nvar __meta__ = {// jshint ignore:line\n id: \"badge\",\n name: \"Badge\",\n category: \"web\", // suite\n description: \"The Badge decorates avatars, navigation menus, or other components in the application when visual notification is needed\",\n depends: [\"core\"] // dependencies\n};\n\n(function ($, undefined) {\n var kendo = window.kendo;\n var Widget = kendo.ui.Widget;\n var ui = kendo.ui;\n var HIDDEN = 'k-hidden';\n\n var iconTemplate = '';\n var svgIconTemplate = '#= icon #';\n\n var Badge = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n that._content();\n\n that._appearance();\n\n kendo.notify(that);\n },\n\n destroy: function() {\n var that = this;\n\n Widget.fn.destroy.call(that);\n },\n\n options: {\n name: 'Badge',\n cutoutBorder: false,\n data: {},\n fill: 'solid',\n icon: '',\n max: Infinity,\n position: 'inline',\n align: '',\n sizes: {\n 'small': 'sm',\n 'medium': 'md',\n 'large': 'lg'\n },\n size: 'medium',\n shape: 'rounded',\n template: null,\n text: '',\n themeColor: 'secondary',\n visible: true,\n _classNames: []\n },\n\n _content: function() {\n var that = this;\n var text = that.options.text;\n var template = that.options.template;\n var data = that.options.data;\n var icon = that.options.icon;\n\n // Order of precedence\n // 1) template\n // 2) icon\n // 3) text\n // 4) content\n\n if (template !== null) {\n that._text = text;\n that._template = kendo.template(template).bind(that);\n that.element.html( that._template(data) );\n\n return;\n }\n\n if (icon !== '') {\n that.icon(icon);\n\n return;\n }\n\n if (text !== '') {\n that.text(text);\n\n return;\n }\n\n that.text(that.element.html());\n },\n\n _appearance: function() {\n var that = this;\n that._themeColor = that.options.themeColor;\n that._shape = that.options.shape;\n that._sizes = that.options.sizes;\n that._size = that.options.size;\n that._fill = that.options.fill;\n that._cutoutBorder = that.options.cutoutBorder;\n that._align = that.options.align;\n that._position = that.options.position;\n that._visible = that.options.visible;\n\n that._updateClassNames();\n },\n\n _updateClassNames: function() {\n var that = this;\n var classNames = ['k-badge'];\n var keepClassNames = that.options._classNames;\n var themeColor = that._themeColor;\n var shape = that._shape;\n var sizes = that._sizes;\n var size = that._size;\n var sizeAbbr = sizes[size] === undefined ? size : sizes[size];\n var fill = that._fill;\n var cutoutBorder = that._cutoutBorder;\n var align = that._align;\n var position = that._position;\n var visible = that._visible;\n\n // Remove all class names\n that.element.removeClass(function(index, className) {\n if (className.indexOf('k-') === 0 && keepClassNames.indexOf(className) === -1) {\n that.element.removeClass(className);\n }\n });\n\n // Fill\n if (typeof fill === 'string' && fill !== '') {\n classNames.push('k-badge-' + fill);\n }\n\n // Color\n if (typeof themeColor === 'string' && themeColor !== '') {\n classNames.push('k-badge-' + themeColor);\n }\n\n // Size\n if (typeof size === 'string' && size !== '') {\n classNames.push('k-badge-' + sizeAbbr);\n }\n\n // Shape\n if (typeof shape === 'string' && shape !== '') {\n classNames.push('k-badge-' + shape);\n }\n\n // Cutout border\n if (typeof cutoutBorder === 'boolean' && cutoutBorder === true) {\n classNames.push('k-badge-border-cutout');\n }\n\n // Position\n if (typeof position === 'string' && position !== '') {\n classNames.push('k-badge-' + position);\n }\n\n // Align\n if (typeof position === 'string' && position !== '' && position !== 'inline' && typeof align === 'string' && align.split(' ').length == 2) {\n classNames.push('k-' + align.replace(' ', '-'));\n }\n\n // Visibility\n if (visible === false) {\n classNames.push(HIDDEN);\n }\n\n // Apply classnames\n that.element.addClass(classNames.join(' '));\n },\n\n setOptions: function(options) {\n var that = this;\n\n that.element.removeClass(function(index, className) {\n if (className.indexOf('k-') >= 0) {\n that.element.removeClass(className);\n }\n });\n\n Widget.fn.setOptions.call(that, options);\n\n that._content();\n\n that._appearance();\n },\n\n text: function(text) {\n var that = this;\n var max = that.options.max;\n\n // handle badge.text()\n if (arguments.length === 0 || text === undefined) {\n return that._text;\n }\n\n that._text = text;\n\n // handle badge.text(true|false|null)\n if (text === true || text === false || text === null) {\n that.element.html('');\n\n return;\n }\n\n // handle badge.text('string')\n if (typeof text === 'string') {\n that.element.html(text);\n\n return;\n }\n\n // handle badge.text(1)\n if (typeof text === 'number') {\n if (text > max) {\n that.element.html(max + '+');\n } else {\n that.element.html(text);\n }\n\n return;\n }\n\n // handle other objects\n if (typeof text === 'object' && 'toString' in text) {\n that.element.html(text.toString());\n\n return;\n }\n\n },\n\n icon: function(icon) {\n var that = this;\n var iconTemplateFunction;\n\n // handle badge.icon()\n if (arguments.length === 0 || icon === undefined) {\n return that._icon;\n }\n\n that._icon = icon;\n\n // Handle badge.icon()\n if (icon.indexOf('').appendTo(that.element);\n that.badge = new ui.Badge(badgeEelement, badgeOptions);\n }\n });\n\n if (Button.fn.hasOwnProperty(\"defaults\") === false) {\n Object.defineProperty(Button.fn, \"defaults\", {\n get: function() {\n return kendo.defaults.button;\n }\n });\n }\n\n kendo.cssProperties.registerPrefix(\"Button\", \"k-button-\");\n\n kendo.cssProperties.registerValues(\"Button\", [{\n prop: \"fillMode\",\n values: kendo.cssProperties.fillModeValues.concat([\"link\"])\n }, {\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n kendo.ui.plugin(Button);\n\n })(window.kendo.jQuery);\n\n return window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.binder',[ \"./kendo.core\", \"./kendo.data\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"binder\",\n name: \"MVVM\",\n category: \"framework\",\n description: \"Model View ViewModel (MVVM) is a design pattern which helps developers separate the Model (the data) from the View (the UI).\",\n depends: [ \"core\", \"data\" ]\n};\n\n/*jshint eqnull: true */\n(function ($, undefined) {\n var kendo = window.kendo,\n Observable = kendo.Observable,\n ObservableObject = kendo.data.ObservableObject,\n ObservableArray = kendo.data.ObservableArray,\n toString = {}.toString,\n binders = {},\n Class = kendo.Class,\n proxy = $.proxy,\n VALUE = \"value\",\n SOURCE = \"source\",\n EVENTS = \"events\",\n CHECKED = \"checked\",\n CSS = \"css\",\n deleteExpando = true,\n FUNCTION = \"function\",\n CHANGE = \"change\";\n\n (function() {\n var a = document.createElement(\"a\");\n\n try {\n delete a.test;\n } catch(e) {\n deleteExpando = false;\n }\n })();\n\n var Binding = Observable.extend( {\n init: function(parents, path) {\n var that = this;\n\n Observable.fn.init.call(that);\n\n that.source = parents[0];\n that.parents = parents;\n that.path = path;\n that.dependencies = {};\n that.dependencies[path] = true;\n that.observable = that.source instanceof Observable;\n\n that._access = function(e) {\n that.dependencies[e.field] = true;\n };\n\n if (that.observable) {\n that._change = function(e) {\n that.change(e);\n };\n\n that.source.bind(CHANGE, that._change);\n }\n },\n\n _parents: function() {\n var parents = this.parents;\n var value = this.get();\n\n if (value && typeof value.parent == \"function\") {\n var parent = value.parent();\n\n if ($.inArray(parent, parents) < 0) {\n parents = [parent].concat(parents);\n }\n }\n\n return parents;\n },\n\n change: function(e) {\n var dependency,\n ch,\n field = e.field,\n that = this;\n\n if (that.path === \"this\") {\n that.trigger(CHANGE, e);\n } else {\n for (dependency in that.dependencies) {\n if (dependency.indexOf(field) === 0) {\n ch = dependency.charAt(field.length);\n\n if (!ch || ch === \".\" || ch === \"[\") {\n that.trigger(CHANGE, e);\n break;\n }\n }\n }\n }\n },\n\n start: function(source) {\n source.bind(\"get\", this._access);\n },\n\n stop: function(source) {\n source.unbind(\"get\", this._access);\n },\n\n get: function() {\n\n var that = this,\n source = that.source,\n index = 0,\n path = that.path,\n result = source;\n\n if (!that.observable) {\n return result;\n }\n\n that.start(that.source);\n\n result = source.get(path);\n\n // Traverse the observable hierarchy if the binding is not resolved at the current level.\n while (result === undefined && source) {\n\n source = that.parents[++index];\n\n if (source instanceof ObservableObject) {\n result = source.get(path);\n }\n }\n\n // second pass try to get the parent from the object hierarchy\n if (result === undefined) {\n source = that.source; //get the initial source\n\n while (result === undefined && source) {\n source = source.parent();\n\n if (source instanceof ObservableObject) {\n result = source.get(path);\n }\n }\n }\n\n // If the result is a function - invoke it\n if (typeof result === \"function\") {\n index = path.lastIndexOf(\".\");\n\n // If the function is a member of a nested observable object make that nested observable the context (this) of the function\n if (index > 0) {\n source = source.get(path.substring(0, index));\n }\n\n // Invoke the function\n that.start(source);\n\n if (source !== that.source) {\n result = result.call(source, that.source);\n } else {\n result = result.call(source);\n }\n\n that.stop(source);\n }\n\n // If the binding is resolved by a parent object\n if (source && source !== that.source) {\n\n that.currentSource = source; // save parent object\n\n // Listen for changes in the parent object\n source.unbind(CHANGE, that._change)\n .bind(CHANGE, that._change);\n }\n\n that.stop(that.source);\n\n return result;\n },\n\n set: function(value) {\n var source = this.currentSource || this.source;\n\n var field = kendo.getter(this.path)(source);\n\n if (typeof field === \"function\") {\n if (source !== this.source) {\n field.call(source, this.source, value);\n } else {\n field.call(source, value);\n }\n } else {\n source.set(this.path, value);\n }\n },\n\n destroy: function() {\n if (this.observable) {\n this.source.unbind(CHANGE, this._change);\n if(this.currentSource) {\n this.currentSource.unbind(CHANGE, this._change);\n }\n }\n\n this.unbind();\n }\n });\n\n var EventBinding = Binding.extend( {\n get: function() {\n var source = this.source,\n path = this.path,\n index = 0,\n handler;\n\n handler = source.get(path);\n\n while (!handler && source) {\n source = this.parents[++index];\n\n if (source instanceof ObservableObject) {\n handler = source.get(path);\n }\n }\n\n return proxy(handler, source);\n }\n });\n\n var TemplateBinding = Binding.extend( {\n init: function(source, path, template) {\n var that = this;\n\n Binding.fn.init.call(that, source, path);\n\n that.template = template;\n },\n\n render: function(value) {\n var html;\n\n this.start(this.source);\n\n html = kendo.render(this.template, value);\n\n this.stop(this.source);\n\n return html;\n }\n });\n\n var Binder = Class.extend({\n init: function(element, bindings, options) {\n this.element = element;\n this.bindings = bindings;\n this.options = options;\n },\n\n bind: function(binding, attribute) {\n var that = this;\n\n binding = attribute ? binding[attribute] : binding;\n\n binding.bind(CHANGE, function(e) {\n that.refresh(attribute || e);\n });\n\n that.refresh(attribute);\n },\n\n destroy: function() {\n }\n });\n\n var TypedBinder = Binder.extend({\n dataType: function() {\n var dataType = this.element.getAttribute(\"data-\" + kendo.ns + \"type\") || this.element.type || \"text\";\n return dataType.toLowerCase();\n },\n\n parsedValue: function() {\n return this._parseValue(this.element.value, this.dataType());\n },\n\n _parseValue: function (value, dataType){\n if (dataType == \"date\") {\n value = kendo.parseDate(value, \"yyyy-MM-dd\");\n } else if (dataType == \"datetime-local\") {\n value = kendo.parseDate(value, [\"yyyy-MM-ddTHH:mm:ss\", \"yyyy-MM-ddTHH:mm\"] );\n } else if (dataType == \"number\") {\n value = kendo.parseFloat(value);\n } else if (dataType == \"boolean\"){\n value = value.toLowerCase();\n if(kendo.parseFloat(value) !== null){\n value = Boolean(kendo.parseFloat(value));\n }else{\n value = (value.toLowerCase() === \"true\");\n }\n }\n return value;\n }\n });\n\n binders.attr = Binder.extend({\n refresh: function(key) {\n this.element.setAttribute(key, this.bindings.attr[key].get());\n }\n });\n\n binders.css = Binder.extend({\n init: function(element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n this.classes = {};\n },\n refresh: function(className) {\n var element = $(this.element),\n binding = this.bindings.css[className],\n hasClass = this.classes[className] = binding.get();\n if(hasClass){\n element.addClass(className);\n }else{\n element.removeClass(className);\n }\n }\n });\n\n binders.style = Binder.extend({\n refresh: function(key) {\n this.element.style[key] = this.bindings.style[key].get() || \"\";\n }\n });\n\n binders.enabled = Binder.extend({\n refresh: function() {\n if (this.bindings.enabled.get()) {\n this.element.removeAttribute(\"disabled\");\n } else {\n this.element.setAttribute(\"disabled\", \"disabled\");\n }\n }\n });\n\n binders.readonly = Binder.extend({\n refresh: function() {\n if (this.bindings.readonly.get()) {\n this.element.setAttribute(\"readonly\", \"readonly\");\n } else {\n this.element.removeAttribute(\"readonly\");\n }\n }\n });\n\n binders.disabled = Binder.extend({\n refresh: function() {\n if (this.bindings.disabled.get()) {\n this.element.setAttribute(\"disabled\", \"disabled\");\n } else {\n this.element.removeAttribute(\"disabled\");\n }\n }\n });\n\n binders.events = Binder.extend({\n init: function(element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n this.handlers = {};\n },\n\n refresh: function(key) {\n var element = $(this.element),\n binding = this.bindings.events[key],\n handler = this.handlers[key];\n\n if (handler) {\n element.off(key, handler);\n }\n\n handler = this.handlers[key] = binding.get();\n\n element.on(key, binding.source, handler);\n },\n\n destroy: function() {\n var element = $(this.element),\n handler;\n\n for (handler in this.handlers) {\n element.off(handler, this.handlers[handler]);\n }\n }\n });\n\n binders.text = Binder.extend({\n refresh: function() {\n var text = this.bindings.text.get();\n var dataFormat = this.element.getAttribute(\"data-\" + kendo.ns + \"format\") || \"\";\n if (text == null) {\n text = \"\";\n }\n\n $(this.element).text(kendo.toString(text, dataFormat));\n }\n });\n\n binders.visible = Binder.extend({\n refresh: function() {\n if (this.bindings.visible.get()) {\n this.element.style.display = \"\";\n } else {\n this.element.style.display = \"none\";\n }\n }\n });\n\n binders.invisible = Binder.extend({\n refresh: function() {\n if (!this.bindings.invisible.get()) {\n this.element.style.display = \"\";\n } else {\n this.element.style.display = \"none\";\n }\n }\n });\n\n binders.html = Binder.extend({\n refresh: function() {\n this.element.innerHTML = this.bindings.html.get();\n }\n });\n\n binders.value = TypedBinder.extend({\n init: function(element, bindings, options) {\n TypedBinder.fn.init.call(this, element, bindings, options);\n\n this._change = proxy(this.change, this);\n this.eventName = options.valueUpdate || CHANGE;\n\n $(this.element).on(this.eventName, this._change);\n\n this._initChange = false;\n },\n\n change: function() {\n this._initChange = this.eventName != CHANGE;\n\n this.bindings[VALUE].set(this.parsedValue());\n\n this._initChange = false;\n },\n\n refresh: function() {\n if (!this._initChange) {\n var value = this.bindings[VALUE].get();\n\n if (value == null) {\n value = \"\";\n }\n\n var type = this.dataType();\n\n if (type == \"date\") {\n value = kendo.toString(value, \"yyyy-MM-dd\");\n } else if (type == \"datetime-local\") {\n value = kendo.toString(value, \"yyyy-MM-ddTHH:mm:ss\");\n }\n\n this.element.value = value;\n }\n\n this._initChange = false;\n },\n\n destroy: function() {\n $(this.element).off(this.eventName, this._change);\n }\n });\n\n binders.source = Binder.extend({\n init: function(element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n\n var source = this.bindings.source.get();\n\n if (source instanceof kendo.data.DataSource && options.autoBind !== false) {\n source.fetch();\n }\n },\n\n refresh: function(e) {\n var that = this,\n source = that.bindings.source.get();\n\n if (source instanceof ObservableArray || source instanceof kendo.data.DataSource) {\n e = e || {};\n\n if (e.action == \"add\") {\n that.add(e.index, e.items);\n } else if (e.action == \"remove\") {\n that.remove(e.index, e.items);\n } else if (e.action != \"itemchange\") {\n that.render();\n }\n } else {\n that.render();\n }\n },\n\n container: function() {\n var element = this.element;\n\n if (element.nodeName.toLowerCase() == \"table\") {\n if (!element.tBodies[0]) {\n element.appendChild(document.createElement(\"tbody\"));\n }\n element = element.tBodies[0];\n }\n\n return element;\n },\n\n template: function() {\n var options = this.options,\n template = options.template,\n nodeName = this.container().nodeName.toLowerCase();\n\n if (!template) {\n if (nodeName == \"select\") {\n if (options.valueField || options.textField) {\n template = kendo.format('',\n options.valueField || options.textField, options.textField || options.valueField);\n } else {\n template = \"\";\n }\n } else if (nodeName == \"tbody\") {\n template = \"#:data#\";\n } else if (nodeName == \"ul\" || nodeName == \"ol\") {\n template = \"
    • #:data#
    • \";\n } else {\n template = \"#:data#\";\n }\n template = kendo.template(template);\n }\n\n return template;\n },\n\n add: function(index, items) {\n var element = this.container(),\n parents,\n idx,\n length,\n child,\n clone = element.cloneNode(false),\n reference = element.children[index];\n\n $(clone).html(kendo.render(this.template(), items));\n\n if (clone.children.length) {\n parents = this.bindings.source._parents();\n\n for (idx = 0, length = items.length; idx < length; idx++) {\n child = clone.children[0];\n element.insertBefore(child, reference || null);\n bindElement(child, items[idx], this.options.roles, [items[idx]].concat(parents));\n }\n }\n },\n\n remove: function(index, items) {\n var idx, element = this.container();\n\n for (idx = 0; idx < items.length; idx++) {\n var child = element.children[index];\n unbindElementTree(child, true);\n if (child.parentNode == element) {\n element.removeChild(child);\n }\n }\n },\n\n render: function() {\n var source = this.bindings.source.get(),\n parents,\n idx,\n length,\n element = this.container(),\n template = this.template();\n\n if (source == null) {\n return;\n }\n\n if (source instanceof kendo.data.DataSource) {\n source = source.view();\n }\n\n if (!(source instanceof ObservableArray) && toString.call(source) !== \"[object Array]\") {\n source = [source];\n }\n\n if (this.bindings.template) {\n unbindElementChildren(element, true);\n\n $(element).html(this.bindings.template.render(source));\n\n if (element.children.length) {\n parents = this.bindings.source._parents();\n\n for (idx = 0, length = source.length; idx < length; idx++) {\n bindElement(element.children[idx], source[idx], this.options.roles, [source[idx]].concat(parents));\n }\n }\n } else {\n $(element).html(kendo.render(template, source));\n }\n }\n });\n\n binders.input = {\n checked: TypedBinder.extend({\n init: function(element, bindings, options) {\n TypedBinder.fn.init.call(this, element, bindings, options);\n this._change = proxy(this.change, this);\n\n $(this.element).change(this._change);\n },\n\n change: function() {\n var element = this.element;\n var value = this.value();\n\n if (element.type == \"radio\") {\n value = this.parsedValue();\n this.bindings[CHECKED].set(value);\n } else if (element.type == \"checkbox\") {\n var source = this.bindings[CHECKED].get();\n var index;\n\n if (source instanceof ObservableArray) {\n value = this.parsedValue();\n if (value instanceof Date) {\n for(var i = 0; i < source.length; i++){\n if(source[i] instanceof Date && +source[i] === +value){\n index = i;\n break;\n }\n }\n }else{\n index = source.indexOf(value);\n }\n if (index > -1) {\n source.splice(index, 1);\n } else {\n source.push(value);\n }\n } else {\n this.bindings[CHECKED].set(value);\n }\n }\n },\n\n refresh: function() {\n var value = this.bindings[CHECKED].get(),\n source = value,\n type = this.dataType(),\n element = this.element;\n\n if (element.type == \"checkbox\") {\n if (source instanceof ObservableArray) {\n var index = -1;\n value = this.parsedValue();\n if(value instanceof Date){\n for(var i = 0; i < source.length; i++){\n if(source[i] instanceof Date && +source[i] === +value){\n index = i;\n break;\n }\n }\n }else{\n index = source.indexOf(value);\n }\n element.checked = (index >= 0);\n }else{\n element.checked = source;\n }\n } else if (element.type == \"radio\") {\n if (type == \"date\") {\n value = kendo.toString(value, \"yyyy-MM-dd\");\n } else if (type == \"datetime-local\") {\n value = kendo.toString(value, \"yyyy-MM-ddTHH:mm:ss\");\n }\n\n if (value !== null && typeof(value) !== \"undefined\" && element.value === value.toString()) {\n element.checked = true;\n } else {\n element.checked = false;\n }\n }\n },\n\n value: function() {\n var element = this.element,\n value = element.value;\n\n if (element.type == \"checkbox\") {\n value = element.checked;\n }\n\n return value;\n },\n destroy: function() {\n $(this.element).off(CHANGE, this._change);\n }\n })\n };\n\n binders.select = {\n source: binders.source.extend({\n refresh: function(e) {\n var that = this,\n source = that.bindings.source.get();\n\n if (source instanceof ObservableArray || source instanceof kendo.data.DataSource) {\n e = e || {};\n if (e.action == \"add\") {\n that.add(e.index, e.items);\n } else if (e.action == \"remove\") {\n that.remove(e.index, e.items);\n } else if (e.action == \"itemchange\" || e.action === undefined) {\n that.render();\n if(that.bindings.value){\n if (that.bindings.value) {\n var val = retrievePrimitiveValues(that.bindings.value.get(), $(that.element).data(\"valueField\"));\n if(val === null) {\n that.element.selectedIndex = -1;\n } else {\n that.element.value = val;\n }\n }\n }\n }\n } else {\n that.render();\n }\n }\n }),\n value: TypedBinder.extend({\n init: function(target, bindings, options) {\n TypedBinder.fn.init.call(this, target, bindings, options);\n\n this._change = proxy(this.change, this);\n $(this.element).change(this._change);\n },\n\n parsedValue : function() {\n var dataType = this.dataType();\n var values = [];\n var value, option, idx, length;\n for (idx = 0, length = this.element.options.length; idx < length; idx++) {\n option = this.element.options[idx];\n\n if (option.selected) {\n value = option.attributes.value;\n\n if (value && value.specified) {\n value = option.value;\n } else {\n value = option.text;\n }\n\n values.push(this._parseValue(value, dataType));\n }\n }\n return values;\n },\n\n change: function() {\n var values = [],\n element = this.element,\n source,\n field = this.options.valueField || this.options.textField,\n valuePrimitive = this.options.valuePrimitive,\n option,\n valueIndex,\n value,\n idx,\n length;\n\n for (idx = 0, length = element.options.length; idx < length; idx++) {\n option = element.options[idx];\n\n if (option.selected) {\n value = option.attributes.value;\n\n if (value && value.specified) {\n value = option.value;\n } else {\n value = option.text;\n }\n\n if (field) {\n values.push(value);\n } else {\n values.push(this._parseValue(value, this.dataType()));\n }\n\n }\n }\n\n if (field) {\n source = this.bindings.source.get();\n if (source instanceof kendo.data.DataSource) {\n source = source.view();\n }\n\n for (valueIndex = 0; valueIndex < values.length; valueIndex++) {\n for (idx = 0, length = source.length; idx < length; idx++) {\n var sourceValue = source[idx].get(field);\n var match = (String(sourceValue) === values[valueIndex]);\n if (match) {\n values[valueIndex] = source[idx];\n break;\n }\n }\n }\n }\n\n value = this.bindings[VALUE].get();\n if (value instanceof ObservableArray) {\n value.splice.apply(value, [0, value.length].concat(values));\n } else if (!valuePrimitive && (value instanceof ObservableObject || value === null || value === undefined || !field)) {\n this.bindings[VALUE].set(values[0]);\n } else {\n this.bindings[VALUE].set(values[0].get(field));\n }\n },\n refresh: function() {\n var optionIndex,\n element = this.element,\n options = element.options,\n value = this.bindings[VALUE].get(),\n values = value,\n field = this.options.valueField || this.options.textField,\n found = false,\n type = this.dataType(),\n optionValue;\n\n if (!(values instanceof ObservableArray)) {\n values = new ObservableArray([value]);\n }\n\n element.selectedIndex = -1;\n\n for (var valueIndex = 0; valueIndex < values.length; valueIndex++) {\n value = values[valueIndex];\n\n\n if (field && value instanceof ObservableObject) {\n value = value.get(field);\n }\n\n if (type == \"date\") {\n value = kendo.toString(values[valueIndex], \"yyyy-MM-dd\");\n } else if (type == \"datetime-local\") {\n value = kendo.toString(values[valueIndex], \"yyyy-MM-ddTHH:mm:ss\");\n }\n\n for (optionIndex = 0; optionIndex < options.length; optionIndex++) {\n optionValue = options[optionIndex].value;\n\n if (optionValue === \"\" && value !== \"\") {\n optionValue = options[optionIndex].text;\n }\n\n if (value != null && optionValue == value.toString()) {\n options[optionIndex].selected = true;\n found = true;\n }\n }\n }\n },\n destroy: function() {\n $(this.element).off(CHANGE, this._change);\n }\n })\n };\n\n function dataSourceBinding(bindingName, fieldName, setter) {\n return Binder.extend({\n init: function(widget, bindings, options) {\n var that = this;\n\n Binder.fn.init.call(that, widget.element[0], bindings, options);\n\n that.widget = widget;\n that._dataBinding = proxy(that.dataBinding, that);\n that._dataBound = proxy(that.dataBound, that);\n that._itemChange = proxy(that.itemChange, that);\n },\n\n itemChange: function(e) {\n bindElement(e.item[0], e.data, this._ns(e.ns), [e.data].concat(this.bindings[bindingName]._parents()));\n },\n\n dataBinding: function(e) {\n var idx,\n length,\n widget = this.widget,\n items = e.removedItems || widget.items();\n\n for (idx = 0, length = items.length; idx < length; idx++) {\n unbindElementTree(items[idx], false);\n }\n },\n\n _ns: function(ns) {\n ns = ns || kendo.ui;\n var all = [ kendo.ui, kendo.dataviz.ui, kendo.mobile.ui ];\n all.splice($.inArray(ns, all), 1);\n all.unshift(ns);\n\n return kendo.rolesFromNamespaces(all);\n },\n\n dataBound: function(e) {\n var idx,\n length,\n widget = this.widget,\n items = e.addedItems || widget.items(),\n dataSource = widget[fieldName],\n view,\n parents,\n hds = kendo.data.HierarchicalDataSource;\n\n if (hds && dataSource instanceof hds) {\n // suppress binding of HDS items, because calling view() on root\n // will return only root items, and widget.items() returns all items\n return;\n }\n\n if (items.length) {\n view = e.addedDataItems || dataSource.flatView();\n parents = this.bindings[bindingName]._parents();\n\n for (idx = 0, length = view.length; idx < length; idx++) {\n if (items[idx]) {\n bindElement(items[idx], view[idx], this._ns(e.ns), [view[idx]].concat(parents));\n }\n }\n }\n },\n\n refresh: function(e) {\n var that = this,\n source,\n widget = that.widget,\n select, multiselect, dropdowntree;\n\n e = e || {};\n\n if (!e.action) {\n that.destroy();\n\n widget.bind(\"dataBinding\", that._dataBinding);\n widget.bind(\"dataBound\", that._dataBound);\n widget.bind(\"itemChange\", that._itemChange);\n\n source = that.bindings[bindingName].get();\n\n if (widget[fieldName] instanceof kendo.data.DataSource && widget[fieldName] != source) {\n if (source instanceof kendo.data.DataSource) {\n widget[setter](source);\n } else if (source && source._dataSource) {\n widget[setter](source._dataSource);\n } else {\n select = kendo.ui.Select && widget instanceof kendo.ui.Select;\n multiselect = kendo.ui.MultiSelect && widget instanceof kendo.ui.MultiSelect;\n dropdowntree = kendo.ui.DropDownTree && widget instanceof kendo.ui.DropDownTree;\n\n if(!dropdowntree){\n widget[fieldName].data(source);\n }else{\n widget.treeview[fieldName].data(source);\n }\n\n if (that.bindings.value && (select || multiselect)) {\n widget.value(retrievePrimitiveValues(that.bindings.value.get(), widget.options.dataValueField));\n }\n }\n }\n }\n },\n\n destroy: function() {\n var widget = this.widget;\n\n widget.unbind(\"dataBinding\", this._dataBinding);\n widget.unbind(\"dataBound\", this._dataBound);\n widget.unbind(\"itemChange\", this._itemChange);\n }\n });\n }\n\n binders.widget = {\n events : Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this.widget = widget;\n this.handlers = {};\n },\n\n refresh: function(key) {\n var binding = this.bindings.events[key],\n handler = this.handlers[key];\n\n if (handler) {\n this.widget.unbind(key, handler);\n }\n\n handler = binding.get();\n\n this.handlers[key] = function(e) {\n e.data = binding.source;\n\n handler(e);\n\n if (e.data === binding.source) {\n delete e.data;\n }\n };\n\n this.widget.bind(key, this.handlers[key]);\n },\n\n destroy: function() {\n var handler;\n\n for (handler in this.handlers) {\n this.widget.unbind(handler, this.handlers[handler]);\n }\n }\n }),\n\n checked: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n this._change = proxy(this.change, this);\n this.widget.bind(CHANGE, this._change);\n },\n change: function() {\n this.bindings[CHECKED].set(this.value());\n },\n\n refresh: function() {\n if (this.element.type === \"radio\") {\n this.widget.check(this.bindings[CHECKED].get().toString() === this.value());\n } else {\n this.widget.check(this.bindings[CHECKED].get() === true);\n }\n },\n\n value: function() {\n var element = this.element,\n value = element.value;\n\n if (value == \"on\" || value == \"off\" || this.element.type == \"checkbox\") {\n value = element.checked;\n }\n\n return value;\n },\n\n destroy: function() {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n\n start: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this._change = proxy(this.change, this);\n this.widget = widget;\n this.widget.bind(CHANGE, this._change);\n },\n\n change: function() {\n this.bindings.start.set(this.widget.range().start);\n },\n\n refresh: function() {\n var that = this;\n var start = this.bindings.start.get();\n var end = that.widget._range ? that.widget._range.end: null;\n this.widget.range({start: start, end: end});\n },\n\n destroy: function() {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n\n end: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n this._change = proxy(this.change, this);\n this.widget = widget;\n this.widget.bind(CHANGE, this._change);\n },\n\n change: function() {\n this.bindings.end.set(this.widget.range().end);\n },\n\n refresh: function() {\n var that = this;\n var end = this.bindings.end.get();\n var start = that.widget._range ? that.widget._range.start: null;\n this.widget.range({start: start, end: end});\n },\n\n destroy: function() {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n\n visible: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n },\n\n refresh: function() {\n var visible = this.bindings.visible.get();\n this.widget.wrapper[0].style.display = visible ? \"\" : \"none\";\n }\n }),\n\n invisible: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n },\n\n refresh: function() {\n var invisible = this.bindings.invisible.get();\n this.widget.wrapper[0].style.display = invisible ? \"none\" : \"\";\n }\n }),\n\n floatingLabel: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n if (!widget.floatingLabel) {\n return;\n }\n\n widget.floatingLabel.refresh();\n }\n }),\n\n enabled: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n },\n\n refresh: function() {\n if (this.widget.enable) {\n this.widget.enable(this.bindings.enabled.get());\n }\n }\n }),\n\n disabled: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n },\n\n refresh: function() {\n if (this.widget.enable) {\n this.widget.enable(!this.bindings.disabled.get());\n }\n }\n }),\n\n source: dataSourceBinding(\"source\", \"dataSource\", \"setDataSource\"),\n\n value: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n this._change = $.proxy(this.change, this);\n this.widget.first(CHANGE, this._change);\n\n var value = this.bindings.value.get();\n\n this._valueIsObservableObject = !options.valuePrimitive && (value == null || value instanceof ObservableObject);\n this._valueIsObservableArray = value instanceof ObservableArray;\n this._initChange = false;\n },\n\n _source: function() {\n var source;\n\n if (this.widget.dataItem) {\n source = this.widget.dataItem();\n if (source && source instanceof ObservableObject) {\n return [source];\n }\n }\n\n if (this.bindings.source) {\n source = this.bindings.source.get();\n }\n\n if (!source || source instanceof kendo.data.DataSource) {\n source = this.widget.dataSource.flatView();\n }\n\n return source;\n },\n\n change: function() {\n var value = this.widget.value(),\n field = this.options.dataValueField || this.options.dataTextField,\n isArray = toString.call(value) === \"[object Array]\",\n isObservableObject = this._valueIsObservableObject,\n valueIndex, valueLength, values = [],\n sourceItem, sourceValue,\n idx, length, source;\n\n this._initChange = true;\n\n if (field) {\n\n if (value === \"\" && (isObservableObject || this.options.valuePrimitive)) {\n value = null;\n } else {\n source = this._source();\n\n if (isArray) {\n valueLength = value.length;\n values = value.slice(0);\n }\n\n for (idx = 0, length = source.length; idx < length; idx++) {\n sourceItem = source[idx];\n sourceValue = sourceItem.get(field);\n\n if (isArray) {\n for (valueIndex = 0; valueIndex < valueLength; valueIndex++) {\n if (sourceValue == values[valueIndex]) {\n values[valueIndex] = sourceItem;\n break;\n }\n }\n } else if (sourceValue == value) {\n value = isObservableObject ? sourceItem : sourceValue;\n break;\n }\n }\n\n if (values[0]) {\n if (this._valueIsObservableArray) {\n value = values;\n } else if (isObservableObject || !field) {\n value = values[0];\n } else {\n value = values[0].get(field);\n }\n }\n }\n }\n\n this.bindings.value.set(value);\n this._initChange = false;\n },\n\n refresh: function() {\n if (!this._initChange) {\n var widget = this.widget;\n var options = widget.options;\n var textField = options.dataTextField;\n var valueField = options.dataValueField || textField;\n var value = this.bindings.value.get();\n var text = options.text || \"\";\n var idx = 0, length;\n var values = [];\n\n if (value === undefined) {\n value = null;\n }\n\n if (valueField) {\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n values[idx] = value[idx].get(valueField);\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n text = value.get(textField);\n value = value.get(valueField);\n }\n }\n\n if (options.autoBind === false && !options.cascadeFrom && widget.listView && !widget.listView.bound()) {\n if (textField === valueField && !text) {\n text = value;\n }\n\n if (!text && (value || value === 0) && options.valuePrimitive) {\n widget.value(value);\n } else {\n widget._preselect(value, text);\n }\n } else {\n widget.value(value);\n }\n }\n\n this._initChange = false;\n },\n\n destroy: function() {\n this.widget.unbind(CHANGE, this._change);\n }\n }),\n dropdowntree: {\n value: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n this._change = $.proxy(this.change, this);\n this.widget.first(CHANGE, this._change);\n this._initChange = false;\n },\n\n change: function() {\n var that = this,\n oldValues = that.bindings[VALUE].get(),\n valuePrimitive = that.options.valuePrimitive,\n selectedNode = that.widget.treeview.select(),\n nonPrimitiveValues = that.widget._isMultipleSelection() ? that.widget._getAllChecked(): (that.widget.treeview.dataItem(selectedNode) || that.widget.value()),\n newValues = (valuePrimitive || that.widget.options.autoBind === false) ? that.widget.value() : nonPrimitiveValues;\n\n var field = this.options.dataValueField || this.options.dataTextField;\n\n newValues = newValues.slice ? newValues.slice(0): newValues;\n\n that._initChange = true;\n\n if (oldValues instanceof ObservableArray) {\n var remove = [];\n var newLength = newValues.length;\n var i = 0, j = 0;\n var old = oldValues[i];\n var same = false;\n var removeIndex;\n var newValue;\n var found;\n\n while (old !== undefined) {\n found = false;\n for (j = 0; j < newLength; j++) {\n if (valuePrimitive) {\n same = newValues[j] == old;\n } else {\n newValue = newValues[j];\n\n newValue = newValue.get ? newValue.get(field) : newValue;\n same = newValue == (old.get ? old.get(field) : old);\n }\n\n if (same) {\n newValues.splice(j, 1);\n newLength -= 1;\n found = true;\n break;\n }\n }\n\n if (!found) {\n remove.push(old);\n arraySplice(oldValues, i, 1);\n removeIndex = i;\n } else {\n i += 1;\n }\n\n old = oldValues[i];\n }\n\n arraySplice(oldValues, oldValues.length, 0, newValues);\n\n if (remove.length) {\n oldValues.trigger(\"change\", {\n action: \"remove\",\n items: remove,\n index: removeIndex\n });\n }\n\n if (newValues.length) {\n oldValues.trigger(\"change\", {\n action: \"add\",\n items: newValues,\n index: oldValues.length - 1\n });\n }\n } else {\n that.bindings[VALUE].set(newValues);\n }\n\n that._initChange = false;\n },\n\n refresh: function() {\n if (!this._initChange) {\n var options = this.options,\n widget = this.widget,\n field = options.dataValueField || options.dataTextField,\n value = this.bindings.value.get(),\n data = value,\n idx = 0, length,\n values = [],\n selectedValue;\n\n if (field) {\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n selectedValue = value[idx];\n values[idx] = selectedValue.get ? selectedValue.get(field) : selectedValue;\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n value = value.get(field);\n }\n }\n if (options.autoBind === false && options.valuePrimitive !== true) {\n widget._preselect(data, value);\n } else {\n widget.value(value);\n }\n }\n },\n\n destroy: function() {\n this.widget.unbind(CHANGE, this._change);\n }\n })\n },\n gantt: {\n dependencies: dataSourceBinding(\"dependencies\", \"dependencies\", \"setDependenciesDataSource\")\n },\n\n multiselect: {\n value: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n this._change = $.proxy(this.change, this);\n this.widget.first(CHANGE, this._change);\n this._initChange = false;\n },\n\n change: function() {\n var that = this,\n oldValues = that.bindings[VALUE].get(),\n valuePrimitive = that.options.valuePrimitive,\n newValues = valuePrimitive ? that.widget.value() : that.widget.dataItems();\n\n var field = this.options.dataValueField || this.options.dataTextField;\n\n newValues = newValues.slice(0);\n\n that._initChange = true;\n\n if (oldValues instanceof ObservableArray) {\n var remove = [];\n\n var newLength = newValues.length;\n\n var i = 0, j = 0;\n var old = oldValues[i];\n var same = false;\n var removeIndex;\n var newValue;\n var found;\n\n while (old !== undefined) {\n found = false;\n for (j = 0; j < newLength; j++) {\n if (valuePrimitive) {\n same = newValues[j] == old;\n } else {\n newValue = newValues[j];\n\n newValue = newValue.get ? newValue.get(field) : newValue;\n same = newValue == (old.get ? old.get(field) : old);\n }\n\n if (same) {\n newValues.splice(j, 1);\n newLength -= 1;\n found = true;\n break;\n }\n }\n\n if (!found) {\n remove.push(old);\n arraySplice(oldValues, i, 1);\n removeIndex = i;\n } else {\n i += 1;\n }\n\n old = oldValues[i];\n }\n\n arraySplice(oldValues, oldValues.length, 0, newValues);\n\n if (remove.length) {\n oldValues.trigger(\"change\", {\n action: \"remove\",\n items: remove,\n index: removeIndex\n });\n }\n\n if (newValues.length) {\n oldValues.trigger(\"change\", {\n action: \"add\",\n items: newValues,\n index: oldValues.length - 1\n });\n }\n } else {\n that.bindings[VALUE].set(newValues);\n }\n\n that._initChange = false;\n },\n\n refresh: function() {\n if (!this._initChange) {\n var options = this.options,\n widget = this.widget,\n field = options.dataValueField || options.dataTextField,\n value = this.bindings.value.get(),\n data = value,\n idx = 0, length,\n values = [],\n selectedValue;\n\n if (value === undefined) {\n value = null;\n }\n\n if (field) {\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n selectedValue = value[idx];\n values[idx] = selectedValue.get ? selectedValue.get(field) : selectedValue;\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n value = value.get(field);\n }\n }\n\n if (options.autoBind === false && options.valuePrimitive !== true && !widget._isBound()) {\n widget._preselect(data, value);\n } else {\n widget.value(value);\n }\n }\n },\n\n destroy: function() {\n this.widget.unbind(CHANGE, this._change);\n }\n\n })\n },\n scheduler: {\n source: dataSourceBinding(\"source\", \"dataSource\", \"setDataSource\").extend({\n dataBound: function(e) {\n var idx;\n var length;\n var widget = this.widget;\n var elements = e.addedItems || widget.items();\n var data, parents;\n\n if (elements.length) {\n data = e.addedDataItems || widget.dataItems();\n parents = this.bindings.source._parents();\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n bindElement(elements[idx], data[idx], this._ns(e.ns), [data[idx]].concat(parents));\n }\n }\n }\n })\n },\n\n grid: {\n source: dataSourceBinding(\"source\", \"dataSource\", \"setDataSource\").extend({\n dataBound: function(e) {\n var idx,\n length,\n widget = this.widget,\n elements = e.addedItems || widget.items(),\n parents,\n data;\n\n if (elements.length) {\n data = e.addedDataItems || widget.dataItems();\n parents = this.bindings.source._parents();\n\n for (idx = 0, length = data.length; idx < length; idx++) {\n bindElement(elements[idx], data[idx], this._ns(e.ns), [data[idx]].concat(parents));\n }\n }\n }\n })\n },\n\n badge: {\n text: Binder.extend({\n init: function(widget, bindings, options) {\n Binder.fn.init.call(this, widget.element[0], bindings, options);\n\n this.widget = widget;\n },\n refresh: function() {\n var text = this.bindings.text.get();\n\n if (text == null) {\n text = \"\";\n }\n this.widget.text(text);\n }\n })\n }\n };\n\n var arraySplice = function(arr, idx, remove, add) {\n add = add || [];\n remove = remove || 0;\n\n var addLength = add.length;\n var oldLength = arr.length;\n\n var shifted = [].slice.call(arr, idx + remove);\n var shiftedLength = shifted.length;\n var index;\n\n if (addLength) {\n addLength = idx + addLength;\n index = 0;\n\n for (; idx < addLength; idx++) {\n arr[idx] = add[index];\n index++;\n }\n\n arr.length = addLength;\n } else if (remove) {\n arr.length = idx;\n\n remove += idx;\n while (idx < remove) {\n delete arr[--remove];\n }\n }\n\n if (shiftedLength) {\n shiftedLength = idx + shiftedLength;\n index = 0;\n\n for (; idx < shiftedLength; idx++) {\n arr[idx] = shifted[index];\n index++;\n }\n\n arr.length = shiftedLength;\n }\n\n idx = arr.length;\n\n while (idx < oldLength) {\n delete arr[idx];\n idx++;\n }\n };\n\n var BindingTarget = Class.extend( {\n init: function(target, options) {\n this.target = target;\n this.options = options;\n this.toDestroy = [];\n },\n\n bind: function(bindings) {\n var key,\n hasValue,\n hasSource,\n hasEvents,\n hasChecked,\n hasCss,\n widgetBinding = this instanceof WidgetBindingTarget,\n specificBinders = this.binders();\n\n for (key in bindings) {\n if (key == VALUE) {\n hasValue = true;\n } else if (key == SOURCE) {\n hasSource = true;\n } else if (key == EVENTS && !widgetBinding) {\n hasEvents = true;\n } else if (key == CHECKED) {\n hasChecked = true;\n } else if (key == CSS) {\n hasCss = true;\n } else {\n this.applyBinding(key, bindings, specificBinders);\n }\n }\n if (hasSource) {\n this.applyBinding(SOURCE, bindings, specificBinders);\n }\n\n if (hasValue) {\n this.applyBinding(VALUE, bindings, specificBinders);\n }\n\n if (hasChecked) {\n this.applyBinding(CHECKED, bindings, specificBinders);\n }\n\n if (hasEvents && !widgetBinding) {\n this.applyBinding(EVENTS, bindings, specificBinders);\n }\n\n if (hasCss && !widgetBinding) {\n this.applyBinding(CSS, bindings, specificBinders);\n }\n\n if (widgetBinding && this.target && this.target.floatingLabel) {\n this.applyBinding(\"floatingLabel\", bindings, specificBinders);\n }\n },\n\n binders: function() {\n return binders[this.target.nodeName.toLowerCase()] || {};\n },\n\n applyBinding: function(name, bindings, specificBinders) {\n var binder = specificBinders[name] || binders[name],\n toDestroy = this.toDestroy,\n attribute,\n binding = bindings[name];\n\n if (binder) {\n binder = new binder(this.target, bindings, this.options);\n\n toDestroy.push(binder);\n\n if (binding instanceof Binding) {\n binder.bind(binding);\n toDestroy.push(binding);\n } else {\n for (attribute in binding) {\n binder.bind(binding, attribute);\n toDestroy.push(binding[attribute]);\n }\n }\n } else if (name !== \"template\") {\n throw new Error(\"The \" + name + \" binding is not supported by the \" + this.target.nodeName.toLowerCase() + \" element\");\n }\n },\n\n destroy: function() {\n var idx,\n length,\n toDestroy = this.toDestroy;\n\n for (idx = 0, length = toDestroy.length; idx < length; idx++) {\n toDestroy[idx].destroy();\n }\n }\n });\n\n var WidgetBindingTarget = BindingTarget.extend( {\n binders: function() {\n return binders.widget[this.target.options.name.toLowerCase()] || {};\n },\n\n applyBinding: function(name, bindings, specificBinders) {\n var binder = specificBinders[name] || binders.widget[name],\n toDestroy = this.toDestroy,\n attribute,\n binding = bindings[name];\n\n if (binder) {\n binder = new binder(this.target, bindings, this.target.options);\n\n toDestroy.push(binder);\n\n\n if (binding instanceof Binding) {\n binder.bind(binding);\n toDestroy.push(binding);\n } else {\n for (attribute in binding) {\n binder.bind(binding, attribute);\n toDestroy.push(binding[attribute]);\n }\n }\n } else {\n throw new Error(\"The \" + name + \" binding is not supported by the \" + this.target.options.name + \" widget\");\n }\n }\n });\n\n function bindingTargetForRole(element, roles) {\n var widget = kendo.initWidget(element, {}, roles);\n\n if (widget) {\n return new WidgetBindingTarget(widget);\n }\n }\n\n var keyValueRegExp = /[A-Za-z0-9_\\-]+:(\\{([^}]*)\\}|[^,}]+)/g,\n whiteSpaceRegExp = /\\s/g;\n\n function parseBindings(bind) {\n var result = {},\n idx,\n length,\n token,\n colonIndex,\n key,\n value,\n tokens;\n\n tokens = bind.match(keyValueRegExp);\n\n for (idx = 0, length = tokens.length; idx < length; idx++) {\n token = tokens[idx];\n colonIndex = token.indexOf(\":\");\n\n key = token.substring(0, colonIndex);\n value = token.substring(colonIndex + 1);\n\n if (value.charAt(0) == \"{\") {\n value = parseBindings(value);\n }\n\n result[key] = value;\n }\n\n return result;\n }\n\n function createBindings(bindings, source, type) {\n var binding,\n result = {};\n\n for (binding in bindings) {\n result[binding] = new type(source, bindings[binding]);\n }\n\n return result;\n }\n\n function bindElement(element, source, roles, parents) {\n\n if(!element || element.getAttribute(\"data-\" + kendo.ns + \"stop\")){\n return;\n }\n\n var role = element.getAttribute(\"data-\" + kendo.ns + \"role\"),\n idx,\n bind = element.getAttribute(\"data-\" + kendo.ns + \"bind\"),\n childrenCopy = [],\n deep = true,\n bindings,\n options = {},\n target;\n\n parents = parents || [source];\n\n if (role || bind) {\n unbindElement(element, false);\n }\n\n if (role) {\n target = bindingTargetForRole(element, roles);\n }\n\n if (bind) {\n bind = parseBindings(bind.replace(whiteSpaceRegExp, \"\"));\n\n if (!target) {\n options = kendo.parseOptions(element, {textField: \"\", valueField: \"\", template: \"\", valueUpdate: CHANGE, valuePrimitive: false, autoBind: true}, source);\n options.roles = roles;\n target = new BindingTarget(element, options);\n }\n\n target.source = source;\n\n bindings = createBindings(bind, parents, Binding);\n\n if (options.template) {\n bindings.template = new TemplateBinding(parents, \"\", options.template);\n }\n\n if (bindings.click) {\n bind.events = bind.events || {};\n bind.events.click = bind.click;\n bindings.click.destroy();\n delete bindings.click;\n }\n\n if (bindings.source) {\n deep = false;\n }\n\n if (bind.attr) {\n bindings.attr = createBindings(bind.attr, parents, Binding);\n }\n\n if (bind.style) {\n bindings.style = createBindings(bind.style, parents, Binding);\n }\n\n if (bind.events) {\n bindings.events = createBindings(bind.events, parents, EventBinding);\n }\n\n if (bind.css) {\n bindings.css = createBindings(bind.css, parents, Binding);\n }\n\n target.bind(bindings);\n }\n\n if (target) {\n element.kendoBindingTarget = target;\n }\n\n var children = element.children;\n if (deep && children && !element.getAttribute(\"data-\" + kendo.ns + \"stop\")) {\n // https://github.com/telerik/kendo/issues/1240 for the weirdness.\n for (idx = 0; idx < children.length; idx++) {\n childrenCopy[idx] = children[idx];\n }\n\n for (idx = 0; idx < childrenCopy.length; idx++) {\n bindElement(childrenCopy[idx], source, roles, parents);\n }\n }\n }\n\n function bind(dom, object) {\n var idx,\n length,\n node,\n roles = kendo.rolesFromNamespaces([].slice.call(arguments, 2));\n\n object = kendo.observable(object);\n dom = $(dom);\n\n for (idx = 0, length = dom.length; idx < length; idx++) {\n node = dom[idx];\n if (node.nodeType === 1) {\n bindElement(node, object, roles);\n }\n }\n }\n\n function unbindElement(element, destroyWidget) {\n var bindingTarget = element.kendoBindingTarget;\n\n if (bindingTarget) {\n bindingTarget.destroy();\n\n if (deleteExpando) {\n delete element.kendoBindingTarget;\n } else if (element.removeAttribute) {\n element.removeAttribute(\"kendoBindingTarget\");\n } else {\n element.kendoBindingTarget = null;\n }\n }\n\n if(destroyWidget) {\n var widget = kendo.widgetInstance($(element));\n if (widget && typeof widget.destroy === FUNCTION) {\n widget.destroy();\n }\n }\n }\n\n function unbindElementTree(element, destroyWidgets) {\n unbindElement(element, destroyWidgets);\n\n unbindElementChildren(element, destroyWidgets);\n }\n\n function unbindElementChildren(element, destroyWidgets) {\n var children = element.children;\n\n if (children) {\n for (var idx = 0, length = children.length; idx < length; idx++) {\n unbindElementTree(children[idx], destroyWidgets);\n }\n }\n }\n\n function unbind(dom) {\n var idx, length;\n\n dom = $(dom);\n\n for (idx = 0, length = dom.length; idx < length; idx++ ) {\n unbindElementTree(dom[idx], false);\n }\n }\n\n function notify(widget, namespace) {\n var element = widget.element,\n bindingTarget = element[0].kendoBindingTarget;\n\n if (bindingTarget) {\n bind(element, bindingTarget.source, namespace);\n }\n }\n\n function retrievePrimitiveValues(value, valueField) {\n var values = [];\n var idx = 0;\n var length;\n var item;\n\n if (!valueField) {\n return value;\n }\n\n if (value instanceof ObservableArray) {\n for (length = value.length; idx < length; idx++) {\n item = value[idx];\n values[idx] = item.get ? item.get(valueField) : item[valueField];\n }\n value = values;\n } else if (value instanceof ObservableObject) {\n value = value.get(valueField);\n }\n\n return value;\n }\n\n kendo.unbind = unbind;\n kendo.bind = bind;\n kendo.data.binders = binders;\n kendo.data.Binder = Binder;\n kendo.notify = notify;\n\n kendo.observable = function(object) {\n if (!(object instanceof ObservableObject)) {\n object = new ObservableObject(object);\n }\n\n return object;\n };\n\n kendo.observableHierarchy = function(array) {\n var dataSource = kendo.data.HierarchicalDataSource.create(array);\n\n function recursiveRead(data) {\n var i, children;\n\n for (i = 0; i < data.length; i++) {\n data[i]._initChildren();\n\n children = data[i].children;\n\n children.fetch();\n\n data[i].items = children.data();\n\n recursiveRead(data[i].items);\n }\n }\n\n dataSource.fetch();\n\n recursiveRead(dataSource.data());\n\n dataSource._data._dataSource = dataSource;\n\n return dataSource._data;\n };\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.floatinglabel',[\"./kendo.core\"], f);\n})(function () {\n\nvar __meta__ = {// jshint ignore:line\n id: \"floatinglabel\",\n name: \"FloatingLabel\",\n category: \"framework\",\n depends: [\"core\"],\n hidden: true\n};\n\n(function ($, undefined) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n ui = kendo.ui,\n NS = \".kendoFloatingLabel\",\n FLOATINGLABELCONTAINER = \"k-floating-label-container\",\n EMPTY = \"k-state-empty\",\n FOCUSED = \"k-focus\",\n STATEDISABLED = \"k-disabled\",\n NOCLICKCLASS = \"k-no-click\",\n STATEREADONLY = \"k-readonly\",\n proxy = $.proxy;\n\n var FloatingLabel = Widget.extend({\n init: function (element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n\n that.refresh();\n that._editable({\n readonly: that.options.widget.options.readonly !== undefined ? that.options.widget.options.readonly : false,\n disable: that.options.widget.options.enable !== undefined ? !(that.options.widget.options.enable) : false\n });\n\n that.element.addClass(FLOATINGLABELCONTAINER);\n\n kendo.notify(that);\n },\n\n options: {\n name: 'FloatingLabel',\n widget: null,\n useReadOnlyClass: false\n },\n\n readonly: function(readonly) {\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n },\n\n enable: function(enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n },\n\n refresh: function () {\n var that = this;\n var element = that.element;\n\n element\n .removeClass(EMPTY)\n .removeClass(FOCUSED);\n\n\n if (!that.options.widget.element.val()) {\n element.addClass(EMPTY);\n }\n\n if (document.activeElement === that.options.widget.element[0]) {\n element.addClass(FOCUSED);\n }\n },\n\n destroy: function() {\n var that = this;\n\n that.element.off(NS);\n Widget.fn.destroy.call(that);\n },\n\n _editable: function(options) {\n var that = this;\n var element = that.element;\n var disable = options.disable;\n var readonly = options.readonly;\n\n element.off(NS);\n\n if (!readonly && !disable) {\n element\n .removeClass(STATEDISABLED)\n .removeClass(that.options.useReadOnlyClass ? STATEREADONLY : NOCLICKCLASS);\n\n element.on(\"focusin\" + NS, proxy(that.refresh, that));\n element.on(\"focusout\" + NS, proxy(that.refresh, that));\n } else {\n element\n .toggleClass(STATEDISABLED, disable)\n .toggleClass(that.options.useReadOnlyClass ? STATEREADONLY : NOCLICKCLASS, readonly);\n }\n }\n });\n ui.plugin(FloatingLabel);\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) { (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.textbox',[\"./kendo.core\", \"./kendo.floatinglabel\"], f);\n})(function () {\n\nvar __meta__ = {// jshint ignore:line\n id: \"textbox\",\n name: \"TextBox\",\n category: \"web\",\n description: \"The TextBox widget enables you to style and provide a floating label functionality to input elements\",\n depends: [\"core\", \"floatinglabel\"]\n};\n\n(function ($, undefined) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n ui = kendo.ui,\n isPlainObject = $.isPlainObject,\n NS = \".kendoTextBox\",\n CHANGE = \"change\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n INPUT = \"k-input-inner\",\n FOCUSED = \"k-focus\",\n LABELCLASSES = \"k-label k-input-label\",\n STATEDISABLED = \"k-disabled\",\n NOCLICKCLASS = \"k-no-click\",\n ARIA_DISABLED = \"aria-disabled\",\n proxy = $.proxy;\n\n var TextBox = Widget.extend({\n init: function (element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n\n that.options.value = options.value || that.element.val();\n that.options.readonly = options.readonly !== undefined ? options.readonly : Boolean(that.element.attr(\"readonly\"));\n that.options.enable = options.enable !== undefined ? options.enable : !(Boolean(that.element.attr(\"disabled\")));\n that.options.placeholder = options.placeholder || that.element.attr(\"placeholder\");\n\n that.value(that.options.value);\n that._wrapper();\n that._label();\n that._editable({\n readonly: that.options.readonly,\n disable: !(that.options.enable)\n });\n\n that.element\n .addClass(INPUT)\n .attr(\"placeholder\", that.options.placeholder)\n .attr(\"autocomplete\", \"off\");\n\n kendo.notify(that);\n that._applyCssClasses();\n },\n\n events: [\n CHANGE\n ],\n\n options: {\n name: 'TextBox',\n value: '',\n readonly: false,\n enable: true,\n placeholder: '',\n label: null,\n rounded: \"medium\",\n size: \"medium\",\n fillMode: \"solid\"\n },\n\n value: function(value) {\n var that = this;\n\n if (value === undefined) {\n return that._value;\n }\n\n that._value = value;\n that.element.val(value);\n },\n\n readonly: function(readonly) {\n var that = this;\n\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.readonly(readonly === undefined ? true : readonly);\n }\n },\n\n enable: function(enable) {\n var that = this;\n\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.enable(enable = enable === undefined ? true : enable);\n }\n },\n\n focus: function() {\n var that = this;\n\n that.element[0].focus();\n },\n\n destroy: function() {\n var that = this;\n\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n }\n\n that.element.off(NS);\n that.element[0].style.width = \"\";\n that.element.removeClass(INPUT);\n Widget.fn.destroy.call(that);\n },\n\n setOptions: function(options) {\n this.destroy();\n\n this.element.unwrap();\n if (this._floatingLabelContainer) {\n this._inputLabel.remove();\n this._inputLabel = null;\n this.element.unwrap();\n this._floatingLabelContainer = null;\n }\n\n kendo.deepExtend(this.options, options);\n this.init(this.element, this.options);\n },\n\n _editable: function(options) {\n var that = this;\n var element = that.element;\n var wrapper = that.wrapper;\n var disable = options.disable;\n var readonly = options.readonly;\n\n element.off(NS);\n\n if (!readonly && !disable) {\n element.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false);\n\n wrapper.removeClass(STATEDISABLED)\n .removeClass(NOCLICKCLASS);\n\n element.on(\"focusin\" + NS, proxy(that._focusin, that));\n element.on(\"focusout\" + NS, proxy(that._focusout, that));\n element.on(\"change\" + NS, proxy(that._change, that));\n } else {\n element.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable);\n\n wrapper.toggleClass(STATEDISABLED, disable)\n .toggleClass(NOCLICKCLASS, readonly);\n }\n },\n\n _label: function() {\n var that = this;\n var element = that.element;\n var options = that.options;\n var id = element.attr(\"id\");\n var floating;\n var labelText;\n\n if (options.label !== null) {\n floating = isPlainObject(options.label) ? options.label.floating : false;\n labelText = isPlainObject(options.label) ? options.label.content : options.label;\n\n if (floating) {\n that._floatingLabelContainer = that.wrapper.wrap(\"\").parent();\n that.floatingLabel = new kendo.ui.FloatingLabel(that._floatingLabelContainer, { widget: that });\n }\n\n if (kendo.isFunction(labelText)) {\n labelText = labelText.call(that);\n }\n\n if (!labelText) {\n labelText = \"\";\n }\n\n if (!id) {\n id = options.name + \"_\" + kendo.guid();\n element.attr(\"id\", id);\n }\n\n that._inputLabel = $(\"'\").insertBefore(that.wrapper);\n }\n },\n\n _focusin: function() {\n var that = this;\n\n that.wrapper.addClass(FOCUSED);\n },\n\n _focusout: function() {\n var that = this;\n\n that.wrapper.removeClass(FOCUSED);\n },\n\n _change: function(e) {\n var that = this;\n var newValue = that.element.val();\n\n that._value = newValue;\n\n that.trigger(CHANGE, {value: newValue, originalEvent: e});\n },\n\n _wrapper: function () {\n var that = this;\n var element = that.element;\n var DOMElement = element[0];\n var wrapper;\n\n wrapper = element.wrap(\"\").parent();\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = \"100%\";\n that.wrapper = wrapper.addClass(DOMElement.className).removeClass('input-validation-error');\n }\n });\n\n kendo.cssProperties.registerPrefix(\"TextBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"TextBox\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n ui.plugin(TextBox);\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) { (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('kendo.numerictextbox',[ \"./kendo.core\", \"./kendo.userevents\", \"./kendo.floatinglabel\", \"./kendo.html.button\" ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"numerictextbox\",\n name: \"NumericTextBox\",\n category: \"web\",\n description: \"The NumericTextBox widget can format and display numeric, percentage or currency textbox.\",\n depends: [ \"core\", \"userevents\", \"floatinglabel\", \"html.button\" ]\n};\n\n(function($, undefined) {\n var kendo = window.kendo,\n caret = kendo.caret,\n keys = kendo.keys,\n html = kendo.html,\n ui = kendo.ui,\n Widget = ui.Widget,\n activeElement = kendo._activeElement,\n extractFormat = kendo._extractFormat,\n parse = kendo.parseFloat,\n placeholderSupported = kendo.support.placeholder,\n getCulture = kendo.getCulture,\n CHANGE = \"change\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n INPUT = \"k-input-inner\",\n SPIN = \"spin\",\n ns = \".kendoNumericTextBox\",\n TOUCHEND = \"touchend\",\n MOUSELEAVE = \"mouseleave\" + ns,\n HOVEREVENTS = \"mouseenter\" + ns + \" \" + MOUSELEAVE,\n FOCUSED = \"k-focus\",\n HOVER = \"k-hover\",\n FOCUS = \"focus\",\n POINT = \".\",\n SYMBOL = \"symbol\",\n CLASS_ICON = \"k-icon\",\n LABELCLASSES = \"k-label k-input-label\",\n SELECTED = \"k-selected\",\n STATEDISABLED = \"k-disabled\",\n STATEINVALID = \"k-invalid\",\n ARIA_DISABLED = \"aria-disabled\",\n INTEGER_REGEXP = /^(-)?(\\d*)$/,\n NULL = null,\n proxy = $.proxy,\n isPlainObject = $.isPlainObject,\n extend = $.extend;\n\n var NumericTextBox = Widget.extend({\n init: function(element, options) {\n var that = this,\n isStep = options && options.step !== undefined,\n min, max, step, value, disabled;\n var inputType;\n\n Widget.fn.init.call(that, element, options);\n\n options = that.options;\n element = that.element\n .on(\"focusout\" + ns, proxy(that._focusout, that))\n .attr(\"role\", \"spinbutton\");\n\n options.placeholder = options.placeholder || element.attr(\"placeholder\");\n\n min = that.min(element.attr(\"min\"));\n max = that.max(element.attr(\"max\"));\n step = that._parse(element.attr(\"step\"));\n\n if (options.min === NULL && min !== NULL) {\n options.min = min;\n }\n\n if (options.max === NULL && max !== NULL) {\n options.max = max;\n }\n\n if (!isStep && step !== NULL) {\n options.step = step;\n }\n\n that._initialOptions = extend({}, options);\n\n inputType = element.attr(\"type\");\n\n that._reset();\n that._wrapper();\n that._arrows();\n that._validation();\n that._input();\n\n if (!kendo.support.mobileOS) {\n that._text.on(FOCUS + ns, proxy(that._click, that));\n } else {\n that._text.on(TOUCHEND + ns + \" \" + FOCUS + ns, function() {\n if (kendo.support.browser.edge) {\n that._text.one(FOCUS + ns, function() {\n that._focusin();\n });\n } else {\n that._focusin();\n }\n that.selectValue();\n });\n }\n\n element.attr(\"aria-valuemin\", options.min !== NULL ? options.min*options.factor : options.min)\n .attr(\"aria-valuemax\", options.max !== NULL ? options.max*options.factor : options.max);\n\n options.format = extractFormat(options.format);\n\n value = options.value;\n\n if (value == NULL) {\n if (inputType == \"number\") {\n value = parseFloat(element.val());\n } else {\n value = element.val();\n }\n }\n\n that.value(value);\n\n disabled = !options.enable || element.is(\"[disabled]\") || $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n } else {\n that.readonly(element.is(\"[readonly]\"));\n }\n\n that.angular(\"compile\", function(){\n return {\n elements: that._text.get()\n };\n });\n\n that._label();\n that._ariaLabel();\n that._applyCssClasses();\n\n kendo.notify(that);\n },\n\n options: {\n name: \"NumericTextBox\",\n decimals: NULL,\n enable: true,\n restrictDecimals: false,\n min: NULL,\n max: NULL,\n value: NULL,\n step: 1,\n round: true,\n culture: \"\",\n format: \"n\",\n spinners: true,\n placeholder: \"\",\n selectOnFocus: false,\n factor: 1,\n upArrowText: \"Increase value\",\n downArrowText: \"Decrease value\",\n label: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\"\n },\n events: [\n CHANGE,\n SPIN\n ],\n\n _editable: function(options) {\n var that = this,\n element = that.element,\n disable = options.disable,\n readonly = options.readonly,\n text = that._text.add(element),\n wrapper = that.wrapper.off(HOVEREVENTS);\n\n that._toggleText(true);\n\n that._upArrowEventHandler.unbind(\"press\");\n that._downArrowEventHandler.unbind(\"press\");\n element\n .off(\"keydown\" + ns)\n .off(\"keyup\" + ns)\n .off(\"input\" + ns)\n .off(\"paste\" + ns);\n\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n }\n\n if (!readonly && !disable) {\n wrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n text.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false);\n\n that._upArrowEventHandler.bind(\"press\", function(e) {\n e.preventDefault();\n that._spin(1);\n that._upArrow.addClass(SELECTED);\n });\n\n that._downArrowEventHandler.bind(\"press\", function(e) {\n e.preventDefault();\n that._spin(-1);\n that._downArrow.addClass(SELECTED);\n });\n\n that.element\n .on(\"keydown\" + ns, proxy(that._keydown, that))\n .on(\"keyup\" + ns, proxy(that._keyup, that))\n .on(\"paste\" + ns, proxy(that._paste, that))\n .on(\"input\" + ns, proxy(that._inputHandler, that));\n\n if (that._inputLabel) {\n that._inputLabel.on(\"click\" + ns, proxy(that.focus, that));\n }\n\n } else {\n wrapper\n .addClass(disable ? STATEDISABLED : \"\")\n .removeClass(disable ?\"\" : STATEDISABLED);\n\n text.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable);\n }\n },\n\n readonly: function(readonly) {\n var that = this;\n\n this._editable({\n readonly: readonly === undefined ? true : readonly,\n disable: false\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.readonly(readonly === undefined ? true : readonly);\n }\n },\n\n enable: function(enable) {\n var that = this;\n\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined ? true : enable)\n });\n\n if (that.floatingLabel) {\n that.floatingLabel.enable(enable = enable === undefined ? true : enable);\n }\n },\n\n setOptions: function (options) {\n var that = this;\n Widget.fn.setOptions.call(that, options);\n\n that._arrowsWrap.toggle(that.options.spinners);\n that.wrapper.toggleClass(\"k-expand-padding\", !that.options.spinners);\n that._text.prop(\"placeholder\", that.options.placeholder);\n that._placeholder(that.options.placeholder);\n that.element.attr({\n \"aria-valuemin\": that.options.min !== NULL ? that.options.min*that.options.factor : that.options.min,\n \"aria-valuemax\": that.options.max !== NULL ? that.options.max*that.options.factor : that.options.max\n });\n\n that.options.format = extractFormat(that.options.format);\n that._applyCssClasses();\n\n if (options.value !== undefined) {\n that.value(options.value);\n }\n },\n\n destroy: function() {\n var that = this;\n\n if (that._inputLabel) {\n that._inputLabel.off(ns);\n\n if (that.floatingLabel) {\n that.floatingLabel.destroy();\n }\n }\n\n that.element\n .add(that._text)\n .add(that._upArrow)\n .add(that._downArrow)\n .off(ns);\n\n that._upArrowEventHandler.destroy();\n that._downArrowEventHandler.destroy();\n\n if (that._form) {\n that._form.off(\"reset\", that._resetHandler);\n }\n\n Widget.fn.destroy.call(that);\n },\n\n min: function(value) {\n return this._option(\"min\", value);\n },\n\n max: function(value) {\n return this._option(\"max\", value);\n },\n\n step: function(value) {\n return this._option(\"step\", value);\n },\n\n value: function(value) {\n var that = this, adjusted;\n\n if (value === undefined) {\n return that._value;\n }\n\n value = that._parse(value);\n adjusted = that._adjust(value);\n\n if (value !== adjusted) {\n return;\n }\n\n that._update(value);\n that._old = that._value;\n },\n\n focus: function() {\n this._focusin();\n },\n\n _adjust: function(value) {\n var that = this,\n options = that.options,\n min = options.min,\n max = options.max;\n\n if (value === NULL) {\n return value;\n }\n\n if (min !== NULL && value < min) {\n value = min;\n } else if (max !== NULL && value > max) {\n value = max;\n }\n\n return value;\n },\n\n _arrows: function() {\n var that = this,\n arrows,\n _release = function() {\n clearTimeout( that._spinning );\n arrows.removeClass(SELECTED);\n },\n options = that.options,\n spinners = options.spinners,\n element = that.element;\n\n arrows = element.siblings(\".\" + CLASS_ICON);\n\n if (!arrows[0]) {\n arrows = $(buttonHtml(\"increase\", options.upArrowText) + buttonHtml(\"decrease\", options.downArrowText))\n .insertAfter(element);\n\n that._arrowsWrap = arrows.wrapAll('').parent();\n }\n\n if (!spinners) {\n arrows.parent().toggle(spinners);\n that.wrapper.addClass(\"k-expand-padding\");\n }\n\n that._upArrow = arrows.eq(0);\n that._upArrowEventHandler = new kendo.UserEvents(that._upArrow, { release: _release });\n that._downArrow = arrows.eq(1);\n that._downArrowEventHandler = new kendo.UserEvents(that._downArrow, { release: _release });\n },\n\n _validation: function () {\n var that = this;\n var element = that.element;\n\n that._validationIcon = $(\"\").insertAfter(element);\n },\n\n _blur: function() {\n var that = this;\n\n that._toggleText(true);\n\n that._change(that.element.val());\n },\n\n _click: function(e) {\n var that = this;\n\n clearTimeout(that._focusing);\n that._focusing = setTimeout(function() {\n var input = e.target,\n idx = caret(input)[0],\n value = input.value.substring(0, idx),\n format = that._format(that.options.format),\n group = format[\",\"],\n result, groupRegExp, extractRegExp,\n caretPosition = 0;\n\n if (group) {\n groupRegExp = new RegExp(\"\\\\\" + group, \"g\");\n extractRegExp = new RegExp(\"(-)?(\" + format[SYMBOL] + \")?([\\\\d\\\\\" + group + \"]+)(\\\\\" + format[POINT] + \")?(\\\\d+)?\");\n }\n\n if (extractRegExp) {\n result = extractRegExp.exec(value);\n }\n\n if (result) {\n caretPosition = result[0].replace(groupRegExp, \"\").length;\n\n if (value.indexOf(\"(\") != -1 && that._value < 0) {\n caretPosition++;\n }\n }\n\n that._focusin();\n\n caret(that.element[0], caretPosition);\n that.selectValue();\n });\n },\n\n selectValue: function(){\n if (this.options.selectOnFocus) {\n this.element[0].select();\n }\n },\n\n _getFactorValue: function (value) {\n var that = this,\n factor = that.options.factor;\n\n if (factor && factor !== 1) {\n value = kendo.parseFloat(value);\n if (value !== null) {\n value = value/factor;\n }\n }\n\n return value;\n },\n\n _change: function(value) {\n var that = this;\n\n value = that._getFactorValue(value);\n that._update(value);\n value = that._value;\n\n if (that._old != value) {\n that._old = value;\n\n if (!that._typing) {\n // trigger the DOM change event so any subscriber gets notified\n that.element.trigger(CHANGE);\n }\n\n that.trigger(CHANGE);\n }\n\n that._typing = false;\n },\n\n _culture: function(culture) {\n return culture || getCulture(this.options.culture);\n },\n\n _focusin: function() {\n var that = this;\n that.wrapper.addClass(FOCUSED);\n that._toggleText(false);\n that.element[0].focus();\n },\n\n _focusout: function() {\n var that = this;\n\n clearTimeout(that._focusing);\n that.wrapper.removeClass(FOCUSED).removeClass(HOVER);\n that._blur();\n that._removeInvalidState();\n },\n\n _format: function(format, culture) {\n var numberFormat = this._culture(culture).numberFormat;\n\n format = format.toLowerCase();\n\n if (format.indexOf(\"c\") > -1) {\n numberFormat = numberFormat.currency;\n } else if (format.indexOf(\"p\") > -1) {\n numberFormat = numberFormat.percent;\n }\n\n return numberFormat;\n },\n\n _input: function() {\n var that = this,\n options = that.options,\n element = that.element.addClass(INPUT).show()[0],\n accessKey = element.accessKey,\n wrapper = that.wrapper,\n inputs = wrapper.find(POINT + INPUT),\n text;\n\n text = inputs.first();\n\n if (text.length < 2) {\n text = $('').insertBefore(element);\n }\n\n try {\n element.setAttribute(\"type\", \"text\");\n } catch(e) {\n element.type = \"text\";\n }\n\n text[0].title = element.title;\n text[0].tabIndex = element.tabIndex;\n text[0].style.cssText = element.style.cssText;\n text.prop(\"placeholder\", options.placeholder);\n\n if (accessKey) {\n text.attr(\"accesskey\", accessKey);\n element.accessKey = \"\";\n }\n\n\n that._text = text.addClass(element.className)\n .attr({\n \"role\": \"spinbutton\",\n \"aria-valuemin\": options.min !== NULL ? options.min*options.factor : options.min,\n \"aria-valuemax\": options.max !== NULL ? options.max*options.factor : options.max,\n \"autocomplete\": \"off\"\n });\n },\n\n _keydown: function(e) {\n var that = this,\n key = e.keyCode;\n\n if (key === keys.NUMPAD_DOT) {\n that._numPadDot = true;\n }\n\n if (key == keys.DOWN) {\n that._step(-1);\n return;\n } else if (key == keys.UP) {\n that._step(1);\n return;\n } else if (key == keys.ENTER) {\n that._change(that.element.val());\n return;\n }\n\n if (key != keys.TAB) {\n that._typing = true;\n }\n that._cachedCaret = caret(that.element);\n },\n\n _keyup: function () {\n this._removeInvalidState();\n },\n\n _inputHandler: function () {\n var element = this.element;\n var value = element.val();\n var min = this.options.min;\n var numberFormat = this._format(this.options.format);\n var decimalSeparator = numberFormat[POINT];\n var minInvalid = (min !== null && min >= 0 && value.charAt(0) === \"-\");\n\n if (this._numPadDot && decimalSeparator !== POINT) {\n value = value.replace(POINT, decimalSeparator);\n this.element.val(value);\n this._numPadDot = false;\n }\n\n if (this._isPasted) {\n value = this._parse(value)\n .toString()\n .replace(POINT, numberFormat[POINT]);\n }\n\n if (this._numericRegex(numberFormat).test(value) && !minInvalid) {\n this._oldText = value;\n } else {\n this._blinkInvalidState();\n this.element.val(this._oldText);\n if (this._cachedCaret) {\n caret(element, this._cachedCaret[0]);\n this._cachedCaret = null;\n }\n }\n\n this._isPasted = false;\n },\n\n _blinkInvalidState: function () {\n var that = this;\n\n that._addInvalidState();\n clearTimeout(that._invalidStateTimeout);\n that._invalidStateTimeout = setTimeout(proxy(that._removeInvalidState, that), 100);\n },\n\n _addInvalidState: function () {\n var that = this;\n\n that.wrapper.addClass(STATEINVALID);\n that._validationIcon.removeClass('k-hidden');\n },\n\n _removeInvalidState: function () {\n var that = this;\n\n that.wrapper.removeClass(STATEINVALID);\n that._validationIcon.addClass('k-hidden');\n that._invalidStateTimeout = null;\n },\n\n _numericRegex: function(numberFormat) {\n var that = this;\n var separator = numberFormat[POINT];\n var precision = that.options.decimals;\n var fractionRule = \"*\";\n\n if (separator === POINT) {\n separator = \"\\\\\" + separator;\n }\n\n if (precision === NULL) {\n precision = numberFormat.decimals;\n }\n\n if (precision === 0 && that.options.restrictDecimals) {\n return INTEGER_REGEXP;\n }\n\n if (that.options.restrictDecimals) {\n fractionRule = \"{0,\" + precision + \"}\";\n }\n\n if (that._separator !== separator) {\n that._separator = separator;\n that._floatRegExp = new RegExp(\"^(-)?(((\\\\d+(\" + separator + \"\\\\d\" + fractionRule + \")?)|(\" + separator + \"\\\\d\" + fractionRule + \")))?$\");\n }\n\n return that._floatRegExp;\n },\n\n _paste: function(e) {\n var that = this;\n var element = e.target;\n var value = element.value;\n var numberFormat = that._format(that.options.format);\n\n that._isPasted = true;\n\n setTimeout(function() {\n var result = that._parse(element.value);\n\n if (result === NULL) {\n that._update(value);\n } else {\n element.value = result.toString().replace(POINT, numberFormat[POINT]);\n if (that._adjust(result) !== result || !that._numericRegex(numberFormat).test(element.value)) {\n value = that._getFactorValue(element.value);\n that._update(value);\n }\n }\n });\n },\n\n _option: function(option, value) {\n var that = this,\n element = that.element,\n options = that.options;\n\n if (value === undefined) {\n return options[option];\n }\n\n value = that._parse(value);\n\n if (!value && option === \"step\") {\n return;\n }\n\n options[option] = value;\n element\n .add(that._text)\n .attr(\"aria-value\" + option, value);\n\n element.attr(option, value);\n },\n\n _ariaLabel: function(){\n var that = this;\n var text = that._text;\n var inputElm = that.element;\n var id = inputElm.attr(\"id\");\n var labelElm = $(\"label[for=\\'\" + id + \"\\']\");\n var ariaLabel = inputElm.attr(\"aria-label\");\n var ariaLabelledBy = inputElm.attr(\"aria-labelledby\");\n var labelId;\n\n if (ariaLabel) {\n text.attr(\"aria-label\", ariaLabel);\n } else if (ariaLabelledBy){\n text.attr(\"aria-labelledby\", ariaLabelledBy);\n } else if (labelElm.length){\n labelId = labelElm.attr(\"id\");\n if (labelId) {\n text.attr(\"aria-labelledby\", labelId);\n } else {\n labelId = kendo.guid();\n labelElm.attr(\"id\", labelId);\n text.attr(\"aria-labelledby\", labelId);\n }\n }\n },\n\n _spin: function(step, timeout) {\n var that = this;\n\n timeout = timeout || 500;\n\n clearTimeout( that._spinning );\n that._spinning = setTimeout(function() {\n that._spin(step, 50);\n }, timeout );\n\n that._step(step);\n },\n\n _step: function(step) {\n var that = this,\n element = that.element,\n originalValue = that._value,\n value = that._parse(element.val()) || 0,\n precision = that.options.decimals || 2;\n\n if (activeElement() != element[0]) {\n that._focusin();\n }\n\n if(that.options.factor && value) {\n value = value/that.options.factor;\n }\n\n value = +(value + that.options.step * step).toFixed(precision);\n value = that._adjust(value);\n that._update(value);\n that._typing = false;\n\n if (originalValue !== value) {\n that.trigger(SPIN);\n }\n },\n\n _toggleHover: function(e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === \"mouseenter\");\n },\n\n _toggleText: function(toggle) {\n var that = this;\n\n that._text.toggle(toggle);\n if (toggle) {\n that._text.removeAttr(\"aria-hidden\");\n } else {\n that._text.attr(\"aria-hidden\", \"true\");\n }\n that.element.toggle(!toggle);\n },\n\n _parse: function(value, culture) {\n return parse(value, this._culture(culture), this.options.format);\n },\n\n _round: function(value, precision) {\n var rounder = this.options.round ? kendo._round : truncate;\n\n return rounder(value, precision);\n },\n\n _update: function(value) {\n var that = this,\n options = that.options,\n factor = options.factor,\n format = options.format,\n decimals = options.decimals,\n culture = that._culture(),\n numberFormat = that._format(format, culture),\n originalValue,\n isNotNull;\n\n if (decimals === NULL) {\n decimals = numberFormat.decimals;\n }\n\n value = that._parse(value, culture);\n\n isNotNull = value !== NULL;\n\n if (isNotNull) {\n value = parseFloat(that._round(value, decimals), 10);\n }\n\n that._value = value = that._adjust(value);\n that._placeholder(kendo.toString(value, format, culture));\n\n if (isNotNull) {\n if(factor) {\n value = parseFloat(that._round(value*factor, decimals), 10);\n }\n value = value.toString();\n if (value.indexOf(\"e\") !== -1) {\n value = that._round(+value, decimals);\n }\n originalValue = value;\n value = value.replace(POINT, numberFormat[POINT]);\n } else {\n value = null;\n originalValue = null;\n }\n\n that.element.val(value);\n that._oldText = value;\n that.element.add(that._text).attr(\"aria-valuenow\", originalValue);\n },\n\n _placeholder: function(value) {\n var input = this._text;\n\n input.val(value);\n if (!placeholderSupported && !value) {\n input.val(this.options.placeholder);\n }\n\n input.attr(\"title\", this.element.attr(\"title\") || input.val());\n },\n\n _label: function() {\n var that = this;\n var element = that.element;\n var options = that.options;\n var id = element.attr(\"id\");\n var floating;\n var labelText;\n\n if (options.label !== null) {\n floating = isPlainObject(options.label) ? options.label.floating : false;\n labelText = isPlainObject(options.label) ? options.label.content : options.label;\n\n if (floating) {\n that._floatingLabelContainer = that.wrapper.wrap(\"\").parent();\n that.floatingLabel = new kendo.ui.FloatingLabel(that._floatingLabelContainer, { widget: that });\n }\n\n if (kendo.isFunction(labelText)) {\n labelText = labelText.call(that);\n }\n\n if (!labelText) {\n labelText = \"\";\n }\n\n if (!id) {\n id = options.name + \"_\" + kendo.guid();\n element.attr(\"id\", id);\n }\n\n that._inputLabel = $(\"'\").insertBefore(that.wrapper);\n\n if ((that.element.attr(\"disabled\") === undefined) && (that.element.attr(\"readonly\") === undefined)) {\n that._inputLabel.on(\"click\" + ns, proxy(that.focus, that));\n }\n }\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n DOMElement = element[0],\n wrapper;\n\n wrapper = element.parents(\".k-numerictextbox\");\n\n if (!wrapper.is(\"span.k-numerictextbox\")) {\n wrapper = element.hide().wrap(\"\").parent();\n }\n\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = \"\";\n that.wrapper = wrapper.addClass(\"k-numerictextbox k-input\")\n .addClass(DOMElement.className)\n .removeClass('input-validation-error')\n .css(\"display\", \"\");\n },\n\n _reset: function() {\n var that = this,\n element = that.element,\n formId = element.attr(\"form\"),\n form = formId ? $(\"#\" + formId) : element.closest(\"form\");\n\n if (form[0]) {\n that._resetHandler = function() {\n setTimeout(function() {\n that.value(element[0].value);\n that.max(that._initialOptions.max);\n that.min(that._initialOptions.min);\n });\n };\n\n that._form = form.on(\"reset\", that._resetHandler);\n }\n }\n });\n\n kendo.cssProperties.registerPrefix(\"NumericTextBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"NumericTextBox\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n function buttonHtml(direction, text) {\n var className = direction === \"increase\" ? \"arrow-n\" : \"arrow-s\";\n var dir = direction === \"increase\" ? \"increase\" : \"decrease\";\n\n return html.renderButton('', extend({}, this.options, {\n icon: className,\n shape: null,\n rounded: null\n }));\n }\n\n function truncate(value, precision) {\n var parts = parseFloat(value, 10).toString().split(POINT);\n\n if (parts[1]) {\n parts[1] = parts[1].substring(0, precision);\n }\n\n return parts.join(POINT);\n\n }\n\n ui.plugin(NumericTextBox);\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n/** \n * Kendo UI v2022.1.301 (http://www.telerik.com/kendo-ui) \n * Copyright 2022 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. \n * \n * Kendo UI commercial licenses may be obtained at \n * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete \n * If you do not own a commercial license, this file shall be governed by the trial license terms. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function(f, define){\n define('colorpicker/colorselector',[ \"../kendo.core\" ], f);\n})(function(){\n\n(function($, undefined) {\n // WARNING: removing the following jshint declaration and turning\n // == into === to make JSHint happy will break functionality.\n /*jshint eqnull:true */\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n parseColor = kendo.parseColor,\n\n extend = $.extend,\n\n NS = \".kendoColorTools\",\n DISABLED = \"k-disabled\";\n\n var ColorSelector = Widget.extend({\n init: function(element, options) {\n var that = this, ariaId;\n\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n that._value = options.value = parseColor(options.value);\n that._tabIndex = element.attr(\"tabIndex\") || 0;\n\n ariaId = that._ariaId = options.ariaId;\n if (ariaId) {\n element.attr(\"aria-labelledby\", ariaId);\n }\n\n if (options._standalone) {\n that._triggerSelect = that._triggerChange;\n }\n },\n options: {\n name: \"ColorSelector\",\n value: null,\n _standalone: true\n },\n events: [\n \"change\",\n \"select\",\n \"forceSelect\",\n \"cancel\"\n ],\n color: function(value) {\n if (value !== undefined) {\n // this.options.value = value;\n this._value = parseColor(value);\n this._updateUI(this._value);\n }\n\n return this._value;\n },\n value: function(color) {\n color = this.color(color);\n\n if (color) {\n if (this.options.opacity) {\n color = color.toCssRgba();\n } else {\n color = color.toCss();\n }\n }\n\n return color || null;\n },\n enable: function(enable) {\n if (arguments.length === 0) {\n enable = true;\n }\n\n this.wrapper.toggleClass(DISABLED, !enable);\n\n this._onEnable(enable);\n },\n _select: function(color, nohooks) {\n var prev = this._value;\n\n color = this.color(color);\n\n if (!nohooks) {\n if ((color && !color.equals(prev)) || (color === null && color !== prev)) {\n this.element.trigger(\"change\");\n this.trigger(\"change\", { value: this.value() });\n } else if (!this._standalone) {\n this.trigger(\"cancel\");\n }\n }\n },\n _triggerSelect: function(color) {\n triggerEvent(this, \"select\", color);\n },\n _triggerChange: function(color) {\n triggerEvent(this, \"change\", color);\n },\n destroy: function() {\n if (this.element) {\n this.element.off(NS);\n }\n if (this.wrapper) {\n this.wrapper.off(NS).find(\"*\").off(NS);\n }\n this.wrapper = null;\n Widget.fn.destroy.call(this);\n },\n _updateUI: $.noop,\n _selectOnHide: function() {\n return null;\n },\n _cancel: function() {\n this.trigger(\"cancel\");\n }\n });\n\n function triggerEvent(self, type, color) {\n color = parseColor(color);\n\n if ((color && !color.equals(self.color())) || color !== self.color()) {\n if (type == \"change\") {\n // UI is already updated. setting _value directly\n // rather than calling self.color(color) to avoid an\n // endless loop.\n self._value = color;\n }\n if (color && color.a != 1) {\n color = color.toCssRgba();\n } else if (color) {\n color = color.toCss();\n }\n\n self.trigger(type, { value: color });\n }\n }\n\n extend(ui, {\n colorpicker: {\n ColorSelector: ColorSelector\n }\n });\n\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n(function(f, define){\n define('colorpicker/contrastToolUtils',[\n \"../kendo.core\"\n ], f);\n})(function(){\n\n(function($, undefined){\n var colorpicker = kendo.ui.colorpicker,\n extend = $.extend,\n Color = kendo.Color,\n parseColor = kendo.parseColor,\n\n AA_CONTRAST = 4.5,\n AAA_CONTRAST = 7,\n STEP_COUNT = 16;\n\n // Color utils - calc contrast\n\n function getContrast(luminance1, luminance2) {\n var brightest = Math.max(luminance1, luminance2);\n var darkest = Math.min(luminance1, luminance2);\n return (brightest + 0.05) / (darkest + 0.05);\n }\n\n function getContrastFromTwoRGBAs(a, b) {\n return getContrast(\n getLuminance(getRGBFromRGBA(a, b)),\n getLuminance(getRGBFromRGBA(b, { r: 0, g: 0, b: 0, a: 1 })));\n }\n\n function getLuminance (rgb) {\n var a = [rgb.r, rgb.g, rgb.b].map(function (v) {\n v /= 255;\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\n });\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n }\n\n function getRGBFromRGBA(foregroundColor, backgroundColor) {\n var r1 = fitIntoBounds(foregroundColor.r, 0, 255);\n var g1 = fitIntoBounds(foregroundColor.g, 0, 255);\n var b1 = fitIntoBounds(foregroundColor.b, 0, 255);\n var a1 = fitIntoBounds(foregroundColor.a, 0, 1);\n\n var r2 = fitIntoBounds(backgroundColor.r, 0, 255);\n var g2 = fitIntoBounds(backgroundColor.g, 0, 255);\n var b2 = fitIntoBounds(backgroundColor.b, 0, 255);\n\n return {\n r: Math.round(((1 - a1) * r2) + (a1 * r1)),\n g: Math.round(((1 - a1) * g2) + (a1 * g1)),\n b: Math.round(((1 - a1) * b2) + (a1 * b1))\n };\n }\n\n function fitIntoBounds(contender, min, max) {\n if (!isPresent(contender) || isNaN(contender)) {\n return min;\n }\n\n return contender <= min ? min : contender >= max ? max : contender;\n }\n\n function isPresent(value) { return value !== null && value !== undefined; }\n\n\n // Color utils - Contrast tool SVG path\n\n function renderSvgCurveLine(gradientRectMetrics, hsva, backgroundColor) {\n var findValue = function (contrast, saturation, low, high, comparer) {\n var mid = (low + high) / 2;\n var currentHsva = extend({}, hsva, { s: saturation / gradientRectMetrics.width, v: 1 - mid / gradientRectMetrics.height });\n var currentContrast = getContrastFromTwoRGBAs(parseColor(getColorFromHSV(currentHsva)).toBytes(), parseColor(backgroundColor).toBytes());\n\n if (low + 0.5 > high) {\n if (currentContrast < contrast + 1 && currentContrast > contrast - 1) {\n return mid;\n } else {\n return null;\n }\n }\n\n if (comparer(currentContrast, contrast)) {\n return findValue(contrast, saturation, low, high - (high - low) / 2, comparer);\n }\n return findValue(contrast, saturation, low + (high - low) / 2, high, comparer);\n };\n\n var comparer = function (a, b) {\n return a > b;\n };\n\n var reversedComparer = function (a, b) {\n return a < b;\n };\n\n var getPaths = function (contrast, stepCount, reversed) {\n var points = [];\n for (var i = 0; i <= gradientRectMetrics.width; i += gradientRectMetrics.width/stepCount) {\n var value = findValue(contrast, i, 0, gradientRectMetrics.height, reversed ? reversedComparer : comparer);\n if (value !== null){\n points.push([i, value]);\n }\n }\n return points;\n };\n\n var bezierCommandCalc = bezierCommand(controlPoint(line));\n var paths = svgPath(getPaths(AA_CONTRAST, STEP_COUNT, false), bezierCommandCalc) +\n svgPath(getPaths(AA_CONTRAST, STEP_COUNT, true), bezierCommandCalc) +\n svgPath(getPaths(AAA_CONTRAST, STEP_COUNT, false), bezierCommandCalc) +\n svgPath(getPaths(AAA_CONTRAST, STEP_COUNT, true), bezierCommandCalc);\n\n return '' +\n paths + '';\n }\n\n function svgPath(points, command) {\n if (points.length === 0){\n return '';\n }\n\n var reducer = function (acc, point, i, a) {\n return i === 0 ?\n // if first point\n kendo.format(\"M {0},{1}\", point[0], point[1]) :\n // else\n kendo.format(\"{0} {1}\", acc, command(point, i, a));\n };\n\n // build the d attributes by looping over the points\n var d = points.reduce(reducer, \"\");\n\n return kendo.format('', d);\n }\n\n function bezierCommand(controlPointCalc) {\n return function(point, i, a) {\n // start control point\n var cps = controlPointCalc(a[i - 1], a[i - 2], point); // [cpsX, cpsY]\n\n // end control point\n var cpe = controlPointCalc(point, a[i - 1], a[i + 1], true); // [cpeX, cpeY]\n\n return kendo.format(\"C {0},{1} {2},{3} {4},{5}\", cps[0], cps[1], cpe[0], cpe[1], point[0], point[1]);\n };\n }\n\n function controlPoint(lineCalc) {\n return function (current, previous, next, reverse) {\n // when 'current' is the first or last point of the array\n // 'previous' and 'next' are undefined\n // replace with 'current'\n var p = previous || current;\n var n = next || current;\n var smooth = 0.1;\n\n // properties of the line between previous and next\n var l = lineCalc(p, n);\n\n // If is end-control-point, add PI to the angle to go backward\n var angle = l.angle + (reverse ? Math.PI : 0);\n var length = l.length * smooth;\n\n // The control point position is relative to the current point\n var x = current[0] + Math.cos(angle) * length;\n var y = current[1] + Math.sin(angle) * length;\n\n return [x, y];\n };\n }\n\n function line (pointA, pointB) {\n var lengthX = pointB[0] - pointA[0];\n var lengthY = pointB[1] - pointA[1];\n\n return {\n length: Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthY, 2)),\n angle: Math.atan2(lengthY, lengthX)\n };\n }\n\n function getColorFromHSV (hsva) {\n var hue = fitIntoBounds(hsva.h, 0, 359.9);\n var saturation = fitIntoBounds(hsva.s, 0, 1);\n var value = fitIntoBounds(hsva.v, 0, 1);\n var alpha = fitIntoBounds(hsva.a, 0, 1);\n\n return Color.fromHSV(hue, saturation, value, alpha).toCssRgba();\n }\n\n extend(colorpicker, {\n contrastToolUtils: {\n getContrastFromTwoRGBAs: getContrastFromTwoRGBAs,\n renderSvgCurveLine: renderSvgCurveLine\n }\n });\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n(function(f, define){\n define('colorpicker/colorgradient',[ \"../kendo.core\", \"./contrastToolUtils\" ], f);\n})(function(){\n\n(function($, undefined) {\n // WARNING: removing the following jshint declaration and turning\n // == into === to make JSHint happy will break functionality.\n /*jshint eqnull:true */\n var kendo = window.kendo,\n ui = kendo.ui,\n Observable = kendo.Observable,\n parseColor = kendo.parseColor,\n extend = $.extend,\n Color = kendo.Color,\n KEYS = kendo.keys,\n BACKGROUNDCOLOR = \"background-color\",\n WHITE = \"#ffffff\",\n BLACK = \"#000000\",\n NS = \".kendoColorTools\",\n KEYDOWN_NS = \"keydown\" + NS,\n ColorSelector = ui.colorpicker.ColorSelector,\n\n contrastToolUtils = ui.colorpicker.contrastToolUtils;\n\n function preventDefault(ev) { ev.preventDefault(); }\n\n function bind(callback, obj) {\n return function() {\n return callback.apply(obj, arguments);\n };\n }\n\n var ColorInput = Observable.extend({\n init: function(element, options) {\n var that = this;\n\n that.element = element;\n that.options = options;\n\n that._viewModel = kendo.observable({\n switchMode: that.switchMode.bind(that),\n keydown: that.keydown.bind(that),\n mode: function (mode) {\n return mode === this.get(\"format\");\n },\n format: options.format,\n formats: options.formats,\n rgb: null,\n hex: function () {\n return this.get(\"rgb\") !== null && this.get(\"rgb\").toCss({alpha: options.opacity});\n }\n });\n\n that._changeHandler = that.change.bind(that);\n\n that._viewModel.bind(\"change\", that._changeHandler);\n\n that._render();\n\n that.element.on(KEYDOWN_NS, that.keydown.bind(that));\n\n Observable.fn.init.call(that);\n },\n\n _template: kendo.template(\n '# if (options.formats && options.formats.length > 1) { #' +\n '
      ' +\n '' +\n '
      ' +\n '# } #' +\n\n\n // HEX input\n '# if (options.formats && options.formats.indexOf(\"hex\") >= 0) { #' +\n '
      ' +\n '' +\n '' +\n '
      ' +\n '# } #' +\n\n // RGBA input\n '# if (options.formats && options.formats.indexOf(\"rgb\") >= 0) { #' +\n '
      ' +\n '' +\n '' +\n '
      ' +\n '
      ' +\n '' +\n '' +\n '
      ' +\n '
      ' +\n '' +\n '' +\n '
      ' +\n '#if(options.opacity){#' +\n '
      ' +\n '' +\n '' +\n '
      ' +\n '# } #' +\n '# } #'),\n destroy: function(){\n var that = this;\n\n\n that._viewModel.unbind(\"change\", that._changeHandler);\n kendo.unbind(that.element);\n kendo.destroy(that.element);\n that.element.off(KEYDOWN_NS);\n delete that._viewModel;\n delete that._changeHandler;\n },\n _render: function() {\n var that = this;\n\n that.element\n .append(that._template({ ns: kendo.ns, guid: kendo.guid(), options: that.options }))\n .parent();\n\n kendo.bind(that.element, that._viewModel);\n that.element.attr(\"data-\" + kendo.ns + \"stop\", \"stop\");\n },\n value: function (color) {\n var that = this;\n\n that._color = (color && color.toBytes()) || parseColor(BLACK);\n that._preventChangeEvent = true;\n that._viewModel.set(\"rgb\", that._color);\n delete that._preventChangeEvent;\n },\n reset: function () {\n var that = this;\n\n that._preventChangeEvent = true;\n that._viewModel.set(\"rgb\", parseColor(BLACK));\n delete that._preventChangeEvent;\n },\n switchMode: function() {\n var that = this,\n model = that._viewModel,\n currentFormat = model.format,\n index = model.formats.indexOf(currentFormat) + 1;\n\n index = index >= model.formats.length ? 0 : index;\n\n that._preventChangeEvent = true;\n that._viewModel.set(\"format\", model.formats[index]);\n delete that._preventChangeEvent;\n },\n change: function (ev) {\n var that = this;\n\n if (ev.field.indexOf(\"rgb\") >= 0) {\n that._color = that._tryParseColor(that._viewModel.rgb.toCssRgba());\n that._viewModel.set(\"hex\", that._color.toCss({ alpha: that.options.opacity }));\n } else if (ev.field === \"hex\") {\n that._color = that._tryParseColor(ev.sender[ev.field]);\n that._viewModel.set(\"rgb\", that._color);\n }\n\n if (!that._preventChangeEvent) {\n that.trigger(\"change\", {value: that._color});\n }\n },\n _tryParseColor: function (color) {\n var that = this;\n\n try {\n color = parseColor(color) || that._color;\n } catch (error) {\n color = that._color;\n }\n\n return color;\n },\n keydown: function (ev) {\n var that = this,\n textbox = $(ev.target).data(\"kendoTextBox\");\n\n if (ev.keyCode === KEYS.ENTER && $(ev.target).is(\"input\")) {\n if(textbox && textbox._change) {\n textbox._change();\n }\n\n that.trigger(\"change\", {value: that._color});\n that.trigger(\"select\", {value: that._color});\n }\n }\n });\n\n var ColorGradient = ColorSelector.extend({\n init: function (element, options) {\n var that = this,\n value;\n\n ColorSelector.fn.init.call(that, element, options);\n\n options = that.options = kendo.deepExtend({}, that.options, options);\n\n if(options.messages.previewInput) {\n options.messages.hex = options.messages.previewInput;\n }\n\n options.messages = options.messages ? $.extend(that.options.messages, options.messages) : that.options.messages;\n element = that.element;\n\n that.wrapper = element.addClass(\"k-colorgradient\")\n .append(that._template(options));\n\n that._hueElements = $(\".k-hsv-rectangle, .k-alpha-slider .k-slider-track\", element);\n that._colorgradientInputs = $(\".k-colorgradient-inputs\", element);\n that._contrastTool = $(\".k-colorgradient-color-contrast\", element);\n\n that._sliders();\n\n that._hsvArea();\n\n value = that._value;\n\n if(that._colorgradientInputs.length) {\n that._colorInput = new ColorInput(that._colorgradientInputs, extend({}, options, {\n tabindex: this._tabIndex\n }));\n\n that._colorInput.bind(\"change\", function(ev){\n that._updateUI(ev.value, true);\n });\n\n that._colorInput.bind(\"select\", function(ev){\n var color = parseColor(ev.value);\n that._select(color);\n that.trigger(\"forceSelect\", { value: that.value() });\n });\n }\n\n that._updateUI(value);\n },\n options: {\n name : \"ColorGradient\",\n opacity : false,\n input : true,\n format: \"hex\",\n formats: [\"rgb\", \"hex\"],\n contrastTool: false,\n size: \"medium\",\n messages: {\n contrastRatio: \"Contrast ratio:\",\n fail: \"Fail\",\n pass: \"Pass\",\n hex: \"HEX\",\n toggleFormat: \"Toggle format\",\n red: \"Red\",\n green: \"Green\",\n blue: \"Blue\",\n alpha: \"Alpha\"\n }\n },\n _template: kendo.template(\n '
      ' +\n '
      ' +\n\n '
      ' +\n '' +\n '# if (opacity) { #' +\n '' +\n '# } #' +\n '
      ' +\n '
      ' +\n\n '# if (input) { #' +\n '
      ' +\n '
      ' +\n '# } #' +\n\n '# if (contrastTool) { #' +\n '
      ' +\n '
      ' +\n '# } #'\n ),\n _onEnable: function(enable) {\n this._hueSlider.enable(enable);\n\n if (this._opacitySlider) {\n this._opacitySlider.enable(enable);\n }\n\n this.wrapper.find(\"input\").attr(\"disabled\", !enable);\n\n var handle = this._hsvRect.find(\".k-draghandle\");\n\n if (enable) {\n handle.attr(\"tabIndex\", this._tabIndex);\n } else {\n handle.removeAttr(\"tabIndex\");\n }\n },\n _sliders: function() {\n var that = this,\n element = that.element,\n hueSlider = element.find(\".k-hue-slider\"),\n opacitySlider = element.find(\".k-alpha-slider\");\n\n function hueChange(e) {\n that._updateUI(that._getHSV(e.value, null, null, null));\n }\n\n hueSlider.attr(\"aria-label\", \"hue saturation\");\n that._hueSlider = hueSlider.kendoSlider({\n min: 0,\n max: 360,\n tickPlacement: \"none\",\n showButtons: false,\n orientation: \"vertical\",\n slide: hueChange,\n change: hueChange\n }).data(\"kendoSlider\");\n\n function opacityChange(e) {\n that._updateUI(that._getHSV(null, null, null, e.value / 100));\n }\n\n opacitySlider.attr(\"aria-label\", \"opacity\");\n that._opacitySlider = opacitySlider.kendoSlider({\n min: 0,\n max: 100,\n tickPlacement: \"none\",\n showButtons: false,\n orientation: \"vertical\",\n slide: opacityChange,\n change: opacityChange\n }).data(\"kendoSlider\");\n },\n _hsvArea: function() {\n var that = this,\n element = that.element,\n hsvRect = element.find(\".k-hsv-rectangle\"),\n hsvHandle = hsvRect.find(\".k-draghandle\").attr(\"tabIndex\", 0).on(KEYDOWN_NS, bind(that._keydown, that));\n\n function update(x, y) {\n var offset = this.offset,\n dx = x - offset.left, dy = y - offset.top,\n rw = this.width, rh = this.height;\n\n dx = dx < 0 ? 0 : dx > rw ? rw : dx;\n dy = dy < 0 ? 0 : dy > rh ? rh : dy;\n that._svChange(dx / rw, 1 - dy / rh);\n }\n\n that._hsvEvents = new kendo.UserEvents(hsvRect, {\n global: true,\n press: function(e) {\n this.offset = kendo.getOffset(hsvRect);\n this.width = hsvRect.width();\n this.height = hsvRect.height();\n hsvHandle.focus();\n update.call(this, e.x.location, e.y.location);\n },\n start: function() {\n hsvRect.addClass(\"k-dragging\");\n hsvHandle.focus();\n },\n move: function(e) {\n e.preventDefault();\n update.call(this, e.x.location, e.y.location);\n },\n end: function() {\n hsvRect.removeClass(\"k-dragging\");\n }\n });\n\n that._hsvRect = hsvRect;\n that._hsvHandle = hsvHandle;\n },\n setBackgroundColor: function (color) {\n var that = this;\n\n if (that.options.contrastTool) {\n that.options.contrastTool = $.isPlainObject(that.options.contrastTool) ? extend({}, that.options.contrastTool, {\n backgroundColor: color\n }) : {\n backgroundColor: color\n };\n\n that._updateColorContrast(that.color() || parseColor(WHITE));\n }\n },\n _updateUI: function(color, dontChangeInput) {\n var that = this;\n\n if (!color) {\n that._reset();\n return;\n }\n\n if (!dontChangeInput && that._colorInput) {\n that._colorInput.value(color);\n }\n\n that._triggerSelect(color);\n that._updateHsv(color);\n\n if(that._contrastTool.length) {\n that._updateColorContrast(color);\n }\n },\n _reset: function () {\n var that = this;\n\n if (that._colorInput) {\n that._colorInput.reset();\n }\n\n that._resetHsv();\n that._resetColorContrast();\n },\n _resetHsv: function () {\n var that = this,\n color = parseColor(BLACK);\n\n that._updateHsv(color);\n },\n _updateHsv: function (color) {\n var that = this,\n rect = that._hsvRect;\n\n color = color.toHSV();\n\n that._hsvHandle.css({\n // saturation is 0 on the left side, full (1) on the right\n left: color.s * rect.width() + \"px\",\n // value is 0 on the bottom, full on the top.\n top: (1 - color.v) * rect.height() + \"px\"\n });\n\n that._hueElements.css(BACKGROUNDCOLOR, Color.fromHSV(color.h, 1, 1, 1).toCss());\n that._hueSlider.value(color.h);\n\n if (that._opacitySlider) {\n that._opacitySlider.wrapper.find(\".k-slider-track\").css(\"background\", \"linear-gradient(to top, transparent, \" + Color.fromHSV(color.h, 1, 1, 1).toCss());\n that._opacitySlider.value(100 * color.a);\n }\n },\n _resetColorContrast: function () {\n var that = this,\n contrastOptions = that.options.contrastTool;\n\n if(that._contrastTool.length) {\n that._updateColorContrast(contrastOptions.backgroundColor ? parseColor(contrastOptions.backgroundColor) : parseColor(WHITE));\n }\n },\n _updateColorContrast: function (color) {\n var that = this,\n contrastOptions = that.options.contrastTool,\n backgroundColor = contrastOptions.backgroundColor ? parseColor(contrastOptions.backgroundColor) : parseColor(WHITE),\n contrastRatio = contrastToolUtils.getContrastFromTwoRGBAs(parseColor(color.toCssRgba()), backgroundColor),\n contrastRatioTemplate = kendo.template('
      ' +\n '#:messages.contrastRatio# #:kendo.toString(ratio, \"n2\")#' +\n '' +\n '#if (ratio > 4.5) {#' +\n '' +\n '#}#' +\n '#if (ratio > 7) {#' +\n '' +\n '#}#' +\n '
      '),\n labelTemplate = kendo.template('
      ' +\n '#:level#: #:limit# ' +\n '#if (ratio > limit) {#' +\n '#:messages.pass# ' +\n '#} else {#' +\n '#:messages.fail# ' +\n '#}#' +\n '
      '),\n output = \"\";\n\n output += contrastRatioTemplate({\n messages: that.options.messages,\n ratio: contrastRatio,\n });\n\n output += labelTemplate({\n messages: that.options.messages,\n ratio: contrastRatio,\n limit: 4.5,\n level: \"AA\"\n });\n\n output += labelTemplate({\n messages: that.options.messages,\n ratio: contrastRatio,\n limit: 7,\n level: \"AAA\"\n });\n\n that._contrastTool.find(\".k-contrast-ratio, div\").remove();\n that._contrastTool.append(output);\n\n that._updateContrastSvg(backgroundColor);\n },\n _updateContrastSvg: function (backgroundColor) {\n var that = this,\n hsvRect = that._hsvRect,\n svgClassName = \"k-color-contrast-svg\",\n metrics = { width: hsvRect.width(), height: hsvRect.height() },\n newSvg;\n\n if(!metrics.width || !metrics.height) {\n return;\n }\n\n newSvg = $(contrastToolUtils.renderSvgCurveLine(metrics, that._getHSV(), backgroundColor)).addClass(svgClassName);\n\n hsvRect.find(\".\" + svgClassName).remove();\n hsvRect.append(newSvg);\n },\n _keydown: function(ev) {\n var that = this;\n function move(prop, d) {\n var c = that._getHSV();\n c[prop] += d * (ev.shiftKey ? 0.01 : 0.05);\n if (c[prop] < 0) { c[prop] = 0; }\n if (c[prop] > 1) { c[prop] = 1; }\n that._updateUI(c);\n preventDefault(ev);\n }\n function hue(d) {\n var c = that._getHSV();\n c.h += d * (ev.shiftKey ? 1 : 5);\n if (c.h < 0) { c.h = 0; }\n if (c.h > 359) { c.h = 359; }\n that._updateUI(c);\n preventDefault(ev);\n }\n switch (ev.keyCode) {\n case KEYS.LEFT:\n if (ev.ctrlKey) {\n hue(-1);\n } else {\n move(\"s\", -1);\n }\n break;\n case KEYS.RIGHT:\n if (ev.ctrlKey) {\n hue(1);\n } else {\n move(\"s\", 1);\n }\n break;\n case KEYS.UP:\n move(ev.ctrlKey && that._opacitySlider ? \"a\" : \"v\", 1);\n break;\n case KEYS.DOWN:\n move(ev.ctrlKey && that._opacitySlider ? \"a\" : \"v\", -1);\n break;\n case KEYS.ENTER:\n that._select(that._getHSV());\n break;\n case KEYS.F2:\n that._colorInput.element.find(\"input\").trigger(\"focus\").select();\n break;\n case KEYS.ESC:\n that._cancel();\n break;\n }\n },\n focus: function() {\n this._hsvHandle.focus();\n },\n _getHSV: function(h, s, v, a) {\n var that = this,\n rect = that._hsvRect,\n width = rect.width(),\n height = rect.height(),\n handlePosition = this._hsvHandle.position();\n\n if(!width || !height) {\n return that.color() ? that.color().toHSV() : parseColor(BLACK);\n }\n\n if (h == null) {\n h = that._hueSlider.value();\n }\n if (s == null) {\n s = handlePosition.left / width;\n }\n if (v == null) {\n v = 1 - handlePosition.top / height;\n }\n if (a == null) {\n a = that._opacitySlider ? that._opacitySlider.value() / 100 : 1;\n }\n return Color.fromHSV(h, s, v, a);\n },\n _svChange: function(s, v) {\n var color = this._getHSV(null, s, v, null);\n this._updateUI(color);\n },\n destroy: function (){\n this._hsvEvents.destroy();\n\n this._hueSlider.destroy();\n if (this._opacitySlider) {\n this._opacitySlider.destroy();\n }\n\n if(this._colorInput) {\n this._colorInput.destroy();\n }\n\n this._hueSlider = this._opacitySlider = this._hsvRect = this._hsvHandle =\n this._hueElements = this._selectedColor = this._colorAsText =\n this._contrastTool = null;\n\n ColorSelector.fn.destroy.call(this);\n }\n });\n\n ui.plugin(ColorGradient);\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n(function(f, define){\n define('colorpicker/colorpalette',[\n \"../kendo.core\"\n ], f);\n})(function(){\n\n(function($, undefined){\n // WARNING: removing the following jshint declaration and turning\n // == into === to make JSHint happy will break functionality.\n /*jshint eqnull:true */\n var kendo = window.kendo,\n ui = kendo.ui,\n parseColor = kendo.parseColor,\n KEYS = kendo.keys,\n BACKGROUNDCOLOR = \"background-color\",\n ITEMSELECTEDCLASS = \"k-state-selected\",\n ITEMSFOCUSEDCLASS = \"k-state-focus\",\n SIMPLEPALETTE = \"000000,7f7f7f,880015,ed1c24,ff7f27,fff200,22b14c,00a2e8,3f48cc,a349a4,ffffff,c3c3c3,b97a57,ffaec9,ffc90e,efe4b0,b5e61d,99d9ea,7092be,c8bfe7\",\n WEBPALETTE = \"FFFFFF,FFCCFF,FF99FF,FF66FF,FF33FF,FF00FF,CCFFFF,CCCCFF,CC99FF,CC66FF,CC33FF,CC00FF,99FFFF,99CCFF,9999FF,9966FF,9933FF,9900FF,FFFFCC,FFCCCC,FF99CC,FF66CC,FF33CC,FF00CC,CCFFCC,CCCCCC,CC99CC,CC66CC,CC33CC,CC00CC,99FFCC,99CCCC,9999CC,9966CC,9933CC,9900CC,FFFF99,FFCC99,FF9999,FF6699,FF3399,FF0099,CCFF99,CCCC99,CC9999,CC6699,CC3399,CC0099,99FF99,99CC99,999999,996699,993399,990099,FFFF66,FFCC66,FF9966,FF6666,FF3366,FF0066,CCFF66,CCCC66,CC9966,CC6666,CC3366,CC0066,99FF66,99CC66,999966,996666,993366,990066,FFFF33,FFCC33,FF9933,FF6633,FF3333,FF0033,CCFF33,CCCC33,CC9933,CC6633,CC3333,CC0033,99FF33,99CC33,999933,996633,993333,990033,FFFF00,FFCC00,FF9900,FF6600,FF3300,FF0000,CCFF00,CCCC00,CC9900,CC6600,CC3300,CC0000,99FF00,99CC00,999900,996600,993300,990000,66FFFF,66CCFF,6699FF,6666FF,6633FF,6600FF,33FFFF,33CCFF,3399FF,3366FF,3333FF,3300FF,00FFFF,00CCFF,0099FF,0066FF,0033FF,0000FF,66FFCC,66CCCC,6699CC,6666CC,6633CC,6600CC,33FFCC,33CCCC,3399CC,3366CC,3333CC,3300CC,00FFCC,00CCCC,0099CC,0066CC,0033CC,0000CC,66FF99,66CC99,669999,666699,663399,660099,33FF99,33CC99,339999,336699,333399,330099,00FF99,00CC99,009999,006699,003399,000099,66FF66,66CC66,669966,666666,663366,660066,33FF66,33CC66,339966,336666,333366,330066,00FF66,00CC66,009966,006666,003366,000066,66FF33,66CC33,669933,666633,663333,660033,33FF33,33CC33,339933,336633,333333,330033,00FF33,00CC33,009933,006633,003333,000033,66FF00,66CC00,669900,666600,663300,660000,33FF00,33CC00,339900,336600,333300,330000,00FF00,00CC00,009900,006600,003300,000000\",\n NS = \".kendoColorTools\",\n CLICK_NS = \"click\" + NS,\n KEYDOWN_NS = \"keydown\" + NS,\n BLUR_NS = \"blur\" + NS,\n ColorSelector = ui.colorpicker.ColorSelector;\n\n function preventDefault(ev) { ev.preventDefault(); }\n\n function bind(callback, obj) {\n return function() {\n return callback.apply(obj, arguments);\n };\n }\n\n function relative(array, element, delta) {\n array = Array.prototype.slice.call(array);\n var n = array.length;\n var pos = array.indexOf(element);\n if (pos < 0) {\n return delta < 0 ? array[n - 1] : array[0];\n }\n pos += delta;\n if (pos < 0) {\n pos += n;\n } else {\n pos %= n;\n }\n return array[pos];\n }\n\n var ColorPalette = ColorSelector.extend({\n init: function(element, options) {\n var that = this;\n ColorSelector.fn.init.call(that, element, options);\n element = that.wrapper = that.element;\n options = that.options;\n\n var colors = options.palette || \"basic\";\n\n if (colors == \"websafe\") {\n colors = WEBPALETTE;\n options.columns = 18;\n } else if (colors == \"basic\") {\n colors = SIMPLEPALETTE;\n }\n\n if (typeof colors == \"string\") {\n colors = colors.split(\",\");\n }\n\n if ($.isArray(colors)) {\n colors = $.map(colors, function(x) { return parseColor(x); });\n }\n\n that._selectedID = (options.ariaId || kendo.guid()) + \"_selected\";\n\n element.addClass(\"k-colorpalette\")\n .attr(\"role\", \"grid\")\n .attr(\"aria-readonly\", \"true\")\n .append($(that._template({\n colors : colors,\n columns : options.columns,\n tileSize : options.tileSize,\n value : that._value,\n id : options.ariaId\n })))\n .on(CLICK_NS, \".k-colorpalette-tile\", function(ev){\n that._select(ev.currentTarget);\n })\n .attr(\"tabIndex\", that._tabIndex)\n .on(KEYDOWN_NS, bind(that._keydown, that))\n .on(BLUR_NS, function(){\n that.wrapper.find(\".k-colorpalette-tile\").removeClass(ITEMSFOCUSEDCLASS);\n });\n\n var tileSize = options.tileSize, width, height;\n if (tileSize) {\n if (/number|string/.test(typeof tileSize)) {\n width = height = parseFloat(tileSize);\n } else if (typeof tileSize == \"object\") {\n width = parseFloat(tileSize.width);\n height = parseFloat(tileSize.height);\n } else {\n throw new Error(\"Unsupported value for the 'tileSize' argument\");\n }\n element.find(\".k-colorpalette-tile\").css({ width: width, height: height });\n }\n },\n focus: function(){\n if (this.wrapper && !this.wrapper.is(\"[unselectable='on']\")) {\n this.wrapper.trigger(\"focus\");\n }\n },\n options: {\n name: \"ColorPalette\",\n columns: 10,\n tileSize: null,\n palette: \"basic\"\n },\n _onEnable: function(enable) {\n if (enable) {\n this.wrapper.attr(\"tabIndex\", this._tabIndex);\n } else {\n this.wrapper.removeAttr(\"tabIndex\");\n }\n },\n _keydown: function(e) {\n var selected,\n wrapper = this.wrapper,\n items = wrapper.find(\".k-colorpalette-tile\"),\n current = items.filter(\".\" + ITEMSFOCUSEDCLASS).get(0) || items.filter(\".\" + ITEMSELECTEDCLASS).get(0),\n keyCode = e.keyCode;\n\n if (keyCode == KEYS.LEFT) {\n selected = relative(items, current, -1);\n } else if (keyCode == KEYS.RIGHT) {\n selected = relative(items, current, 1);\n } else if (keyCode == KEYS.DOWN) {\n selected = relative(items, current, this.options.columns);\n } else if (keyCode == KEYS.UP) {\n selected = relative(items, current, -this.options.columns);\n } else if (keyCode == KEYS.ENTER) {\n preventDefault(e);\n if (current) {\n this._select(current);\n this.trigger(\"forceSelect\", { value: this.value() });\n return;\n }\n } else if (keyCode == KEYS.ESC) {\n this._cancel();\n }\n\n if (selected) {\n preventDefault(e);\n\n this._current(selected);\n\n try {\n var color = parseColor(selected.css(BACKGROUNDCOLOR));\n this._triggerSelect(color);\n } catch(ex) {}\n }\n },\n _select: function(item) {\n var that = this,\n items = that.wrapper.find(\".k-colorpalette-tile\");\n\n item = $(item);\n\n ColorSelector.fn._select.call(that, item.css(BACKGROUNDCOLOR));\n\n items.removeClass(ITEMSELECTEDCLASS);\n item.addClass(ITEMSELECTEDCLASS);\n },\n _current: function(item) {\n this.wrapper.find(\".\" + ITEMSFOCUSEDCLASS)\n .removeClass(ITEMSFOCUSEDCLASS)\n .attr(\"aria-selected\", false)\n .removeAttr(\"id\");\n\n $(item)\n .addClass(ITEMSFOCUSEDCLASS)\n .attr(\"aria-selected\", true)\n .attr(\"id\", this._selectedID);\n\n this.element\n .removeAttr(\"aria-activedescendant\")\n .attr(\"aria-activedescendant\", this._selectedID);\n },\n _updateUI: function(color) {\n var item = null,\n items = this.wrapper.find(\".k-colorpalette-tile\");\n\n this.wrapper.find(\".k-colorpalette-tile\").each(function(){\n var c = parseColor($(this).css(BACKGROUNDCOLOR));\n\n if (c && c.equals(color)) {\n item = this;\n\n return false;\n }\n });\n\n this._current(item);\n\n items.removeClass(ITEMSELECTEDCLASS);\n\n if(item) {\n $(item).addClass(ITEMSELECTEDCLASS);\n }\n },\n _template: kendo.template(\n '
      ' +\n '' +\n '# for (var i = 0; i < colors.length; ++i) { #' +\n '# var selected = colors[i].equals(value); #' +\n '# if (i && i % columns == 0) { # # } #' +\n '' +\n '# } #' +\n '
      '\n )\n });\n\n\n ui.plugin(ColorPalette);\n\n\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define){\n define('colorpicker/flatcolorpicker',[\n \"./colorgradient\",\n \"./colorpalette\",\n \"../kendo.html.button\"\n ], f);\n})(function(){\n\n(function($, undefined){\n // WARNING: removing the following jshint declaration and turning\n // == into === to make JSHint happy will break functionality.\n /*jshint eqnull:true */\n var kendo = window.kendo,\n ui = kendo.ui,\n html = kendo.html,\n Color = kendo.Color,\n extend = $.extend,\n BACKGROUNDCOLOR = \"background-color\",\n MESSAGES = {\n apply : \"Apply\",\n cancel : \"Cancel\",\n noColor: \"no color\",\n clearColor: \"Clear color\",\n previewInput: null,\n contrastRatio: \"Contrast ratio:\",\n fail: \"Fail\",\n pass: \"Pass\",\n hex: \"HEX\",\n toggleFormat: \"Toggle format\",\n red: \"Red\",\n green: \"Green\",\n blue: \"Blue\",\n alpha: \"Alpha\",\n gradient: \"Gradient view\",\n palette: \"Palette view\"\n },\n NS = \".kendoColorTools\",\n CLICK_NS = \"click\" + NS,\n KEYDOWN_NS = \"keydown\" + NS,\n ColorSelector = ui.colorpicker.ColorSelector,\n KEYS = kendo.keys,\n\n NO_COLOR = \"k-no-color\",\n SELECTED = \"k-selected\",\n PREVIEW_MASK = \".k-color-preview-mask\",\n\n VIEWS = {\n \"gradient\": ui.ColorGradient,\n \"palette\": ui.ColorPalette\n };\n\n function bind(callback, obj) {\n return function() {\n return callback.apply(obj, arguments);\n };\n }\n\n var FlatColorPicker = ColorSelector.extend({\n init: function(element, options) {\n var that = this;\n\n if (options && options.autoupdate === false) {\n options._standalone = false;\n }\n\n ColorSelector.fn.init.call(that, element, options);\n options = that.options = kendo.deepExtend({}, that.options, options);\n element = that.element;\n\n that.wrapper = element.addClass(\"k-flatcolorpicker k-coloreditor\")\n .append(that._template());\n\n that._selectedColor = $(\".k-coloreditor-preview-color\", element);\n that._previousColor = $(\".k-coloreditor-current-color\", element);\n that._viewsContainer = $(\".k-coloreditor-views\", element);\n\n element.find(\".k-button[data-view=\" + that.options.view + \"]\").addClass(SELECTED);\n\n var value = that.color();\n\n that._changeView(options.view);\n\n that._setViewSize();\n\n if (value) {\n that._updateUI(value);\n that._previousColor.children(PREVIEW_MASK).css(BACKGROUNDCOLOR, value.toDisplay());\n that._selectedColor.children(PREVIEW_MASK).css(BACKGROUNDCOLOR, value.toDisplay());\n } else {\n that._selectedColor.addClass(NO_COLOR);\n that._previousColor.addClass(NO_COLOR);\n }\n\n element\n .on(KEYDOWN_NS, bind(that._keydown, that))\n .on(CLICK_NS, \".k-coloreditor-reset\", function () {\n that._clearColor = true;\n that._updateUI(null);\n that._view.value(null);\n })\n .on(CLICK_NS, \".k-coloreditor-apply\", function(){\n if(that._clearColor) {\n that._select(null);\n } else {\n that._select(that._view.color());\n }\n })\n .on(CLICK_NS, \".k-coloreditor-cancel\", function(){\n delete that._clearColor;\n that._updateUI(that.color());\n that._cancel();\n })\n .on(CLICK_NS, \".k-button[data-view]\", function(ev){\n var viewButton = $(ev.target).closest(\"[data-view]\");\n\n if(viewButton.is(\".\" + SELECTED)) {\n return;\n }\n\n element.find(\".k-button[data-view]\").removeClass(SELECTED);\n viewButton.addClass(SELECTED);\n that._changeView(viewButton.data(\"view\"));\n });\n },\n destroy: function() {\n var that = this;\n\n ColorSelector.fn.destroy.call(this);\n\n if (that._view) {\n that._view.destroy();\n that._viewsContainer.empty();\n }\n\n that.element.off(NS);\n\n that._selectedColor = that._previousColor = that._viewsContainer = that._view = null;\n },\n options: {\n name: \"FlatColorPicker\",\n opacity: false,\n buttons: false,\n input: true,\n preview: true,\n clearButton: false,\n format: \"hex\",\n formats: [\"rgb\", \"hex\"],\n view: \"gradient\",\n views: [\"gradient\", \"palette\"],\n palette: null,\n autoupdate : true,\n backgroundColor: null,\n columns: 10,\n tileSize: 24,\n messages : MESSAGES,\n size: \"medium\" // Fake styling option to accomplish colorpicker's size for textbox and button\n },\n setBackgroundColor: function (color) {\n var that = this;\n\n if(that._view && that._view.setBackgroundColor) {\n that._view.setBackgroundColor(color);\n }\n },\n _select: function(value) {\n var that = this;\n\n ColorSelector.fn._select.call(that, value);\n\n that._updatePreviousColor(value);\n },\n _updatePreviousColor: function (value) {\n var that = this;\n\n if (value) {\n that._previousColor.removeClass(NO_COLOR);\n that._previousColor.children(PREVIEW_MASK).css(BACKGROUNDCOLOR, value.toDisplay());\n } else {\n that._previousColor.addClass(NO_COLOR);\n that._previousColor.children(PREVIEW_MASK).css(BACKGROUNDCOLOR, \"\");\n }\n },\n _changeView: function (mode) {\n var that = this,\n options = $.extend({}, that.options),\n selector = VIEWS[mode],\n selectedColor, hsvColor;\n\n if(that._view && that._view._colorInput) {\n that.options.format = that._view._colorInput._viewModel.format;\n }\n\n that.options.view = mode;\n\n delete options.name;\n delete options.change;\n delete options.select;\n delete options.cancel;\n delete options._standalone;\n\n if (that._view) {\n selectedColor = that._view.color();\n that._view.destroy();\n that._viewsContainer.empty();\n }\n\n if (selectedColor) {\n selectedColor = selectedColor.toHSV();\n hsvColor = Color.fromHSV(that._cachedHue || 0, selectedColor.s, selectedColor.v, selectedColor.a);\n that._cachedHue = selectedColor.toHSV().h;\n selectedColor = selectedColor.equals(hsvColor) ? hsvColor : selectedColor;\n }\n\n if (selector) {\n that._view = new VIEWS[mode]($(\"
      \").appendTo(that._viewsContainer), options);\n that._view.value(selectedColor);\n\n that._view.bind(\"change\", function (ev) {\n delete that._clearColor;\n that._updateUI(ev.sender.color(), true);\n });\n\n that._view.bind(\"forceSelect\", function (ev) {\n delete that._clearColor;\n that._select(ev.sender.color());\n });\n }\n },\n _onEnable: function(enable) {\n var that = this;\n\n if (that._view) {\n that._view._onEnable(enable);\n }\n },\n focus: function() {\n var that = this;\n\n if (that._view) {\n that._view.focus();\n }\n },\n _updateUI: function(color, dontChangeView) {\n var that = this;\n\n if (color && color.toDisplay) {\n that._selectedColor.removeClass(NO_COLOR);\n that._selectedColor.children(PREVIEW_MASK).css(BACKGROUNDCOLOR, color.toDisplay());\n } else {\n that._selectedColor.addClass(NO_COLOR);\n that._selectedColor.children(PREVIEW_MASK).css(BACKGROUNDCOLOR, \"\");\n }\n\n that._triggerSelect(color);\n\n if (that.options.autoupdate) {\n that._updatePreviousColor(color);\n }\n\n if(!dontChangeView) {\n that._view.value(color);\n }\n },\n _setViewSize: function() {\n var that = this,\n wrapper = that.wrapper[0],\n previewWidth = parseInt((that.options.tileSize.width || that.options.tileSize), 10),\n previewHeight = parseInt((that.options.tileSize.width || that.options.tileSize), 10),\n previewColumns = that.options.columns;\n\n wrapper.style.setProperty(\"--kendo-color-preview-columns\", previewColumns);\n wrapper.style.setProperty(\"--kendo-color-preview-width\", previewWidth + \"px\");\n wrapper.style.setProperty(\"--kendo-color-preview-height\", previewHeight + \"px\");\n },\n _keydown: function(e) {\n\n if (e.keyCode == KEYS.ESC) {\n this._cancel();\n }\n },\n _template: function () {\n var that = this,\n options = that.options,\n buttonOptions = extend({}, options, {\n fillMode: \"flat\",\n themeColor: \"base\",\n rounded: \"medium\"\n });\n\n return kendo.template(\n '
      ' +\n '# if (views && views.length > 1) { #' +\n '
      ' +\n '
      ' +\n html.renderButton('', extend({ icon: \"color-canvas\" }, buttonOptions)) +\n html.renderButton('', extend({ icon: \"palette\" }, buttonOptions)) +\n '
      ' +\n '
      ' +\n '# } #' +\n '
      ' +\n '
      ' +\n '# if (clearButton) { #' +\n html.renderButton('', extend({ icon: \"reset-color\" }, buttonOptions)) +\n '# } #' +\n '# if (preview) { #' +\n '
      ' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '
      ' +\n '# } #' +\n '
      ' +\n '
      ' +\n '
      ' +\n '# if (buttons) { #' +\n '' +\n '# } #'\n )(options);\n }\n });\n\n ui.plugin(FlatColorPicker);\n})(window.kendo.jQuery);\n\nreturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define){\n define('kendo.colorpicker',[\n \"./kendo.core\",\n \"./kendo.color\",\n \"./kendo.popup\",\n \"./kendo.slider\",\n \"./kendo.userevents\",\n \"./kendo.button\",\n \"./kendo.binder\",\n \"./kendo.textbox\",\n \"./kendo.numerictextbox\",\n \"./kendo.html.button\",\n\n \"./colorpicker/colorselector\",\n \"./colorpicker/flatcolorpicker\"\n ], f);\n})(function(){\n\nvar __meta__ = { // jshint ignore:line\n id: \"colorpicker\",\n name: \"Color tools\",\n category: \"web\",\n description: \"Color selection widgets\",\n depends: [ \"core\", \"color\", \"popup\", \"slider\", \"userevents\", \"button\", \"binder\", \"textbox\", \"numerictextbox\", \"html.button\" ]\n};\n\n(function($, undefined){\n // WARNING: removing the following jshint declaration and turning\n // == into === to make JSHint happy will break functionality.\n /*jshint eqnull:true */\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n Color = kendo.Color,\n parseColor = kendo.parseColor,\n KEYS = kendo.keys,\n BACKGROUNDCOLOR = \"background-color\",\n MESSAGES = {\n apply : \"Apply\",\n cancel : \"Cancel\",\n noColor: \"no color\",\n clearColor: \"Clear color\",\n previewInput: null,\n contrastRatio: \"Contrast ratio:\",\n fail: \"Fail\",\n pass: \"Pass\",\n hex: \"HEX\",\n toggleFormat: \"Toggle format\",\n red: \"Red\",\n green: \"Green\",\n blue: \"Blue\",\n alpha: \"Alpha\",\n gradient: \"Gradient view\",\n palette: \"Palette view\"\n },\n NS = \".kendoColorTools\",\n CLICK_NS = \"click\" + NS,\n KEYDOWN_NS = \"keydown\" + NS,\n ColorSelector = ui.colorpicker.ColorSelector,\n FlatColorPicker = ui.FlatColorPicker;\n\n /* -----[ The ColorPicker widget ]----- */\n\n var ColorPicker = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n // Legacy support for the cases where only palette is defined\n if(options && options.palette && !options.view){\n options.view =\"palette\";\n }\n\n Widget.fn.init.call(that, element, options);\n options = that.options = kendo.deepExtend({}, that.options, options);\n element = that.element;\n\n var value = element.attr(\"value\") || element.val();\n if (value) {\n value = parseColor(value, true);\n } else {\n value = parseColor(options.value, true);\n }\n that._value = options.value = value;\n\n var _buttonHtml = kendo.html.renderButton('', $.extend({}, that.options, {\n icon: \"arrow-s\"\n }));\n\n var content = that._inputWrapper = that.wrapper = $(that._template($.extend({}, that.options, {\n _buttonHtml: _buttonHtml\n })));\n\n that._applyCssClasses();\n element.hide().after(content);\n\n if (element.is(\"input\")) {\n element.appendTo(content);\n\n // if there exists a
    ');\n\n var block = this.isBlock(html);\n\n editor.focus();\n var range = editor.getRange();\n range.deleteContents();\n\n if (range.startContainer == editor.document) {\n range.selectNodeContents(editor.body);\n }\n\n var marker = new Marker();\n var caret = marker.addCaret(range);\n\n var parent = this.splittableParent(block, caret);\n var unwrap = false;\n var splittable = parent != editor.body && !dom.is(parent, \"td\");\n\n if (options.split && splittable && (block || dom.isInline(parent))) {\n range.selectNode(caret);\n RangeUtils.split(range, parent, true);\n unwrap = true;\n }\n\n var fragment = this.htmlToFragment(html);\n\n if (fragment.firstChild && fragment.firstChild.className === \"k-paste-container\") {\n var fragmentsHtml = [];\n for (i = 0, l = fragment.childNodes.length; i < l; i++) {\n fragmentsHtml.push(fragment.childNodes[i].innerHTML);\n }\n\n fragment = this.htmlToFragment(fragmentsHtml.join('
    '));\n }\n\n childNodes = fragment.childNodes;\n\n $(childNodes)\n .filter(\"table\").addClass(\"k-table\").end()\n .find(\"table\").addClass(\"k-table\");\n\n $(childNodes).each(function(index, elm){\n if (dom.isBlock(elm) && !dom.isSelfClosing(elm) && elm.innerHTML === \"\") {\n elm.appendChild(editor.document.createTextNode(\"\\ufeff\"));\n }\n });\n\n range.insertNode(fragment);\n\n parent = this.splittableParent(block, caret);\n if (unwrap) {\n while (caret.parentNode != parent) {\n dom.unwrap(caret.parentNode);\n }\n\n dom.unwrap(caret.parentNode);\n }\n\n dom.normalize(range.commonAncestorContainer);\n caret.style.display = 'inline';\n dom.restoreScrollTop(editor.document);\n dom.scrollTo(caret);\n marker.removeCaret(range);\n\n var rangeEnd = range.commonAncestorContainer.parentNode;\n if (range.collapsed && dom.name(rangeEnd) == \"tbody\" || range.collapsed && dom.name(rangeEnd) == \"thead\") {\n range.setStartAfter($(rangeEnd).closest(\"table\")[0]);\n range.collapse(true);\n }\n\n var focusedTable = $(range.commonAncestorContainer.parentNode).closest(\"table\");\n\n if(focusedTable.get(0)) {\n var siblingNodes = focusedTable.parent().contents();\n var lastSiblingIndex = siblingNodes.length - 1;\n var lastSibling = siblingNodes.get(lastSiblingIndex);\n\n while(lastSibling.nodeValue !== null && (lastSibling.nodeValue === \" \" || lastSibling.nodeValue === \"\")) {\n lastSiblingIndex -= 1;\n lastSibling = siblingNodes.get(lastSiblingIndex);\n }\n\n if(lastSibling === focusedTable.get(0) && !focusedTable.parents(\"table\").length) {\n dom.insertAfter(dom.createEmptyNode(editor.document, \"p\"), focusedTable[0]);\n }\n }\n\n editor.selectRange(range);\n }\n});\n\nvar Cleaner = Class.extend({\n init: function(options) {\n this.options = options || {};\n this.replacements = [];\n },\n\n clean: function(html, customReplacements) {\n var that = this,\n replacements = customReplacements || that.replacements,\n i, l;\n\n for (i = 0, l = replacements.length; i < l; i += 2) {\n html = html.replace(replacements[i], replacements[i+1]);\n }\n\n return html;\n }\n});\n\nvar ScriptCleaner = Cleaner.extend({\n init: function(options) {\n Cleaner.fn.init.call(this, options);\n\n this.replacements = [\n /<(\\/?)script([^>]*)>/i, \"<$1telerik:script$2>\"\n ];\n },\n\n applicable: function(html) {\n return !this.options.none && (/]*>/i).test(html);\n }\n});\n\nvar TabCleaner = Cleaner.extend({\n init: function(options) {\n Cleaner.fn.init.call(this, options);\n\n var replacement = ' ';\n this.replacements = [\n /]*>\\s*<\\/span>/gi, replacement,\n /\\t/gi, replacement,\n /    /gi, replacement\n ];\n },\n\n applicable: function(html) {\n return (/    |class=\"?Apple-tab-span/i).test(html);\n }\n});\n\nvar MSWordFormatCleaner = Cleaner.extend({\n init: function(options) {\n Cleaner.fn.init.call(this, options);\n\n this.junkReplacements = [\n /<\\?xml[^>]*>/gi, '',\n //g, '', /* comments */\n /"/g, \"'\", /* encoded quotes (in attributes) */\n / <\\/o:p>/ig, ' ',\n /<\\/?(meta|link|style|o:|v:|x:)[^>]*>((?:.|\\n)*?<\\/(meta|link|style|o:|v:|x:)[^>]*>)?/ig, '', /* external references and namespaced tags */\n /<\\/o>/g, ''\n ];\n this.replacements = this.junkReplacements.concat([\n /(?:
     [\\s\\r\\n]+|
    )*(<\\/?(h[1-6]|hr|p|div|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|address|pre|form|blockquote|dl|dt|dd|dir|fieldset)[^>]*>)(?:
     [\\s\\r\\n]+|
    )*/g, '$1',\n /

    /g, '

    ',\n /
    \\n/g, '
    ',\n /
    (?!\\n)/g, ' ',\n /]*)>(\\s| )+]*>(\\s| )*<\\/tr>/gi, '',\n /]*>(\\s| )*<\\/tbody>/gi, '',\n /]*>(\\s| )*<\\/table>/gi, '',\n /

    /g, '
    ',\n /^\\s*( )+/gi, '',\n /( |]*>)+\\s*$/gi, '',\n /mso-[^;\"]*;?/ig, '', /* office-related CSS attributes */\n /<(\\/?)b(\\s[^>]*)?>/ig, '<$1strong$2>',\n /<(\\/?)font(\\s[^>]*)?>/ig, this.convertFontMatch,\n /<(\\/?)i(\\s[^>]*)?>/ig, '<$1em$2>',\n /style=([\"|'])\\s*\\1/g, '', /* empty style attributes */\n /(]*>)?\\n/g, function ($0, $1) { return $1 ? $0 : ' '; } /* phantom extra line feeds */\n ]);\n },\n\n convertFontMatch: function(match, closing, args) {\n var faceRe = /face=['\"]([^'\"]+)['\"]/i;\n var face = faceRe.exec(args);\n var family = args && face && face[1];\n\n if (closing) {\n return '';\n } else if (family) {\n return '';\n } else {\n return '';\n }\n },\n\n applicable: function(html) {\n return (/class=\"?Mso/i).test(html) ||\n (/style=\"[^\"]*mso-/i).test(html) ||\n (/urn:schemas-microsoft-com:office/).test(html);\n },\n\n stripEmptyAnchors: function(html) {\n return html.replace(/]*)>\\s*<\\/a>/ig, function(a, attributes) {\n if (!attributes || attributes.indexOf(\"href\") < 0) {\n return \"\";\n }\n\n return a;\n });\n },\n\n listType: function(p, listData) {\n var html = p.innerHTML;\n var text = dom.innerText(p);\n\n var startingSymbol;\n var matchSymbol = html.match(/^(?:]*texhtml[^>]*>)?]*(?:Symbol|Wingdings)[^>]*>([^<]+)/i);\n var symbol = matchSymbol && matchSymbol[1];\n var isNumber = /^[a-z\\d]/i.test(symbol);//including alpha-numeric and roman numerals\n\n var trimStartText = function(text) {\n return text.replace(/^(?: |[\\u00a0\\n\\r\\s])+/, '');\n };\n\n if (matchSymbol) {\n startingSymbol = true;\n }\n\n html = html.replace(/<\\/?\\w+[^>]*>/g, '').replace(/ /g, '\\u00a0');\n\n if ((!startingSymbol && /^[\\u2022\\u00b7\\u00a7\\u00d8o]\\u00a0+/.test(html)) ||\n (startingSymbol && /^.\\u00a0+/.test(html)) ||\n (symbol && !isNumber && listData)) {\n return {\n tag: 'ul',\n style: this._guessUnorderedListStyle(trimStartText(text))\n };\n }\n\n if (/^\\s*\\w+[\\.\\)][\\u00a0 ]{2,}/.test(html)) {\n return {\n tag: 'ol',\n style: this._guessOrderedListStyle(trimStartText(text))\n };\n }\n },\n\n _convertToLi: function(p) {\n var content;\n\n if (p.childNodes.length == 1) {\n content = p.firstChild.nodeType === dom.nodeTypes.TEXT_NODE ? dom.innerText(p) : p.firstChild.innerHTML.replace(/^\\w+[\\.\\)]( )+ /, \"\");\n content = this._checkForBullet(content);\n } else {\n content = this._getHtmlNoBullet(p);\n }\n\n dom.remove(p);\n\n return dom.create(document, 'li', { innerHTML: content });\n },\n\n _checkForBullet: function (html) {\n var p = dom.create(document, 'p', { innerHTML: html });\n var bulletRgx = /^\\s*\\w+[\\.\\)]\\s+/;\n\n if(bulletRgx.test(p.innerText)) {\n return this._getHtmlNoBullet(p);\n }\n\n return html;\n },\n\n _getHtmlNoBullet: function (element) {\n var content,\n name = dom.name(element);\n\n dom.remove(element.firstChild);\n\n // check for roman numerals\n if (element.firstChild.nodeType == 3) {\n if (/^[ivxlcdm]+\\.$/i.test(element.firstChild.nodeValue)) {\n dom.remove(element.firstChild);\n }\n }\n\n if (/^( |\\s)+$/i.test(element.firstChild.innerHTML)) {\n dom.remove(element.firstChild);\n }\n\n if (name != \"p\") {\n content = \"<\" + name + \">\" + element.innerHTML + \"\";\n } else {\n content = element.innerHTML;\n }\n\n return content;\n },\n\n _guessUnorderedListStyle: function(symbol) {\n if (/^[\\u2022\\u00b7\\u00FC\\u00D8\\u002dv-]/.test(symbol)) {\n return null;//return \"disc\"; //default CSS value\n } else if (/^o/.test(symbol)) {\n return \"circle\";\n } else {\n return \"square\";\n }\n },\n _guessOrderedListStyle: function(symbol) {\n var listType = null;\n if (!/^\\d/.test(symbol)) {\n listType = (/^[a-z]/.test(symbol) ? 'lower-' : 'upper-') +\n (/^[ivxlcdm]/i.test(symbol) ? 'roman' : 'alpha');\n }\n\n return listType;\n },\n\n extractListLevels: function(html) {\n var msoListRegExp = /style=['\"]?[^'\"]*?mso-list:\\s?[a-zA-Z]+(\\d+)\\s[a-zA-Z]+(\\d+)\\s(\\w+)/gi;\n\n html = html.replace(msoListRegExp, function(match, list, level) {\n return kendo.format('data-list=\"{0}\" data-level=\"{1}\" {2}', list, level, match);\n });\n\n return html;\n },\n\n _createList: function(type, styleType) {\n return dom.create(document, type, {\n style: { listStyleType: styleType }\n });\n },\n\n lists: function(placeholder) {\n var blockChildren = $(placeholder).find(dom.blockElements.join(',')),\n lastMargin = -1,\n name,\n levels = {},\n li,\n rootMargin,\n rootIndex,\n lastRootLi,\n isLastRootLi,\n rootList,\n i, p, type, margin, list, listData,\n acceptedNameTags = [\"p\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"],\n isParentTable = false;\n\n for (i = 0; i < blockChildren.length; i++) {\n p = blockChildren[i];\n listData = $(p).data();\n var listIndex = listData.list;\n name = dom.name(p);\n isParentTable = !!$(p).parents(\"table\").length;\n\n if (isParentTable) {\n continue;\n }\n\n var listType = this.listType(p, listData);\n type = listType && listType.tag;\n\n if (!type || acceptedNameTags.indexOf(name) < 0) {\n if (!p.innerHTML) {\n dom.remove(p);\n } else if (li && !isLastRootLi) {\n li.appendChild(p);\n }\n continue;\n }\n\n // not supported list levels in ie\n if (browser.msie) {\n continue;\n }\n\n margin = listData.level || parseFloat(p.style.marginLeft || 0);\n\n var levelType = type + listIndex;\n if (!levels[margin]) {\n levels[margin] = {};\n }\n\n if (!rootMargin || rootMargin < 0) {\n rootMargin = margin;\n rootIndex = listIndex;\n lastRootLi = $(placeholder).find(\"[data-list='\" + rootIndex + \"']\").last()[0];\n rootList = this._createList(type, listType.style);\n dom.insertBefore(rootList, p);\n lastMargin = margin;\n levels[margin][levelType] = rootList;\n }\n\n isLastRootLi = lastRootLi === p;\n\n list = levels[margin][levelType];\n\n if (margin > lastMargin || !list) {\n list = this._createList(type, listType.style);\n levels[margin][levelType] = list;\n li.appendChild(list);\n }\n\n li = this._convertToLi(p);\n list.appendChild(li);\n\n if (isLastRootLi) {\n rootMargin = lastMargin = -1;\n } else {\n lastMargin = margin;\n }\n }\n },\n\n removeAttributes: function(element) {\n var attributes = element.attributes,\n i = attributes.length,\n borderStyles = [],\n addBorderStyles = function(val) {\n if (val.trim().indexOf(\"border\") === 0) {\n borderStyles.push(val.trim());\n }\n },\n attr, attributeName, attributeValues;\n\n while (i--) {\n if (dom.name(attributes[i]) != \"colspan\") {\n attr = attributes[i];\n attributeName = attr.name;\n\n if (attributeName === \"style\" && (element.nodeName === \"TD\" || element.nodeName === \"TH\")) {\n attributeValues = attr.value.split(\";\");\n\n attributeValues.forEach(addBorderStyles);\n }\n\n element.removeAttributeNode(attributes[i]);\n }\n }\n\n if (borderStyles.length > 0) {\n element.setAttribute(\"style\", borderStyles.join(\";\"));\n }\n },\n\n createColGroup: function(row) {\n var cells = row.cells;\n var table = $(row).closest(\"table\");\n var colgroup = table.children(\"colgroup\");\n\n if (cells.length < 2) {\n return;\n } else if (colgroup.length) {\n cells = colgroup.children();\n colgroup[0].parentNode.removeChild(colgroup[0]);\n }\n\n colgroup = $($.map(cells, function(cell) {\n var width = cell.width;\n if (width && parseInt(width, 10) !== 0) {\n return kendo.format('', width);\n }\n\n return \"\";\n }).join(\"\"));\n\n // jquery 1.9/2.0 discrepancy\n if (!colgroup.is(\"colgroup\")) {\n colgroup = $(\"\").append(colgroup);\n }\n\n colgroup.prependTo(table);\n },\n\n convertHeaders: function(row) {\n var cells = row.cells,\n i,\n boldedCells = $.map(cells, function(cell) {\n var child = $(cell).children(\"p\").children(\"strong\")[0];\n\n if (child && dom.name(child) == \"strong\") {\n return child;\n }\n });\n\n if (boldedCells.length == cells.length) {\n for (i = 0; i < boldedCells.length; i++) {\n dom.unwrap(boldedCells[i]);\n }\n\n $(row).closest(\"table\")\n .find(\"colgroup\").after(\"\").end()\n .find(\"thead\").append(row);\n\n for (i = 0; i < cells.length; i++) {\n dom.changeTag(cells[i], \"th\");\n }\n }\n },\n\n removeParagraphs: function(cells) {\n var i, j, len, cell, paragraphs;\n\n for (i = 0; i < cells.length; i++) {\n this.removeAttributes(cells[i]);\n\n // remove paragraphs and insert line breaks between them\n cell = $(cells[i]);\n paragraphs = cell.children(\"p\");\n\n for (j = 0, len = paragraphs.length; j < len; j++) {\n if (j < len - 1) {\n dom.insertAfter(dom.create(document, \"br\"), paragraphs[j]);\n }\n\n dom.unwrap(paragraphs[j]);\n }\n }\n },\n\n removeDefaultColors: function(spans) {\n for (var i = 0; i < spans.length; i++) {\n if (/^\\s*color:\\s*[^;]*;?$/i.test(spans[i].style.cssText)) {\n dom.unwrap(spans[i]);\n }\n }\n },\n\n removeTextNodes: function(trs) {\n var i, j, childNodes, currentNode, row;\n\n for(i = 0; i < trs.length; i++) {\n row = trs[i];\n childNodes = row.childNodes;\n\n for(j = 0; j < childNodes.length; j++) {\n currentNode = childNodes[j];\n\n if(currentNode.nodeType === dom.nodeTypes.TEXT_NODE) {\n row.removeChild(currentNode);\n }\n }\n }\n },\n\n tables: function(placeholder) {\n var tables = $(placeholder).find(\"table\"),\n that = this,\n rows,\n firstRow, longestRow, i, j;\n\n for (i = 0; i < tables.length; i++) {\n rows = tables[i].rows;\n longestRow = firstRow = rows[0];\n\n for (j = 1; j < rows.length; j++) {\n if (rows[j].cells.length > longestRow.cells.length) {\n longestRow = rows[j];\n }\n }\n\n that.createColGroup(longestRow);\n that.convertHeaders(firstRow);\n\n that.removeAttributes(tables[i]);\n\n that.removeParagraphs(tables.eq(i).find(\"td,th\"));\n that.removeDefaultColors(tables.eq(i).find(\"span\"));\n\n that.removeTextNodes(tables.eq(i).find(\"tr\"));\n }\n },\n\n headers: function(placeholder) {\n var titles = $(placeholder).find(\"p.MsoTitle\");\n\n for (var i = 0; i < titles.length; i++) {\n dom.changeTag(titles[i], \"h1\");\n }\n },\n\n removeFormatting: function (placeholder) {\n $(placeholder).find(\"*\").each(function() {\n $(this).css({\n fontSize: \"\",\n fontFamily: \"\"\n });\n\n if (!this.getAttribute(\"style\") && !this.style.cssText) {\n this.removeAttribute(\"style\");\n }\n });\n },\n\n clean: function(html) {\n var that = this, placeholder;\n var filters = this.options;\n\n if (filters.none) {\n html = Cleaner.fn.clean.call(that, html, this.junkReplacements);\n html = that.stripEmptyAnchors(html);\n } else {\n\n html = filters.msConvertLists ? this.extractListLevels(html) : html;\n html = Cleaner.fn.clean.call(that, html);\n html = that.stripEmptyAnchors(html);\n\n placeholder = dom.create(document, 'div', {innerHTML: html});\n that.headers(placeholder);\n\n if (filters.msConvertLists) {\n that.lists(placeholder);\n }\n that.tables(placeholder);\n\n if (filters.msAllFormatting) {\n that.removeFormatting(placeholder);\n }\n\n html = placeholder.innerHTML.replace(/(<[^>]*)\\s+class=\"?[^\"\\s>]*\"?/ig, '$1');\n }\n\n return html;\n }\n});\n\nvar WebkitFormatCleaner = Cleaner.extend({\n init: function(options) {\n Cleaner.fn.init.call(this, options);\n\n this.replacements = [\n /\\s+class=\"Apple-style-span[^\"]*\"/gi, '',\n /<(div|p|h[1-6])\\s+style=\"[^\"]*\"/gi, '<$1',\n /^
    (.*)<\\/div>$/, '$1'\n ];\n },\n\n applicable: function(html) {\n return (/class=\"?Apple-style-span|style=\"[^\"]*-webkit-nbsp-mode/i).test(html);\n }\n});\n\nvar DomCleaner = Cleaner.extend({\n clean: function(html) {\n var container = dom.create(document, 'div', {innerHTML: html});\n container = this.cleanDom(container);\n return container.innerHTML;\n },\n\n cleanDom: function(container) {\n return container;\n }\n});\n\nvar HtmlTagsCleaner = DomCleaner.extend({\n cleanDom: function(container) {\n var tags = this.collectTags();\n\n $(container).find(tags).each(function() {\n dom.unwrap(this);\n });\n\n return container;\n },\n\n collectTags: function() {\n if (this.options.span) {\n return \"span\";\n }\n },\n\n applicable: function() {\n return this.options.span;\n }\n});\n\nvar HtmlAttrCleaner = DomCleaner.extend({\n cleanDom: function(container) {\n var attributes = this.collectAttr();\n var nodes = $(container).find(\"[\" + attributes.join(\"],[\") + \"]\");\n nodes.removeAttr(attributes.join(\" \"));\n\n return container;\n },\n\n collectAttr: function() {\n if (this.options.css) {\n return [\"class\", \"style\"];\n }\n\n return [];\n },\n\n applicable: function() {\n return this.options.css;\n }\n});\n\nvar TextContainer = function() {\n this.text = \"\";\n this.add = function(text) {\n this.text += text;\n };\n};\n\nvar HtmlTextLines = Class.extend({\n init: function(separators) {\n this.separators = separators || {\n text: \" \",\n line: \"
    \"\n };\n this.lines = [];\n this.inlineBlockText = [];\n this.resetLine();\n },\n\n appendText: function(text) {\n if (text.nodeType === 3) {\n text = text.nodeValue;\n }\n\n this.textContainer.add(text);\n },\n\n appendInlineBlockText: function(text) {\n this.inlineBlockText.push(text);\n },\n\n flashInlineBlockText: function() {\n if (this.inlineBlockText.length) {\n this.appendText(this.inlineBlockText.join(\" \"));\n this.inlineBlockText = [];\n }\n },\n\n endLine: function() {\n this.flashInlineBlockText();\n this.resetLine();\n },\n\n html: function() {\n var separators = this.separators;\n var result = \"\";\n var lines = this.lines;\n\n this.flashInlineBlockText();\n\n for (var i = 0, il = lines.length, il1 = il - 1; i < il; i++) {\n var line = lines[i];\n for (var j = 0, jl = line.length, jl1 = jl - 1; j < jl; j++) {\n var text = line[j].text;\n result += text;\n if (j !== jl1) {\n result += separators.text;\n }\n }\n if (i !== il1) {\n result += separators.line;\n }\n }\n\n return result;\n },\n\n resetLine: function() {\n this.textContainer = new TextContainer();\n this.line = [];\n this.line.push(this.textContainer);\n this.lines.push(this.line);\n }\n});\n\nvar DomEnumerator = Class.extend({\n init: function(callback) {\n this.callback = callback;\n },\n enumerate: function(node) {\n if (!node) {\n return;\n }\n\n var preventDown = this.callback(node);\n\n var child = node.firstChild;\n if (!preventDown && child) {\n this.enumerate(child);\n }\n\n this.enumerate(node.nextSibling);\n }\n});\n\nvar HtmlContentCleaner = Cleaner.extend({\n init: function(options) {\n Cleaner.fn.init.call(this, options);\n this.hasText = false; //unpleasant flag to prevent an empty line at the beginning of the generated content.\n this.enumerator = new DomEnumerator($.proxy(this.buildText, this));\n },\n\n clean: function(html) {\n var container = dom.create(document, 'div', {innerHTML: html});\n\n return this.cleanDom(container);\n },\n\n cleanDom: function(container) {\n this.separators = this.getDefaultSeparators();\n this.htmlLines = new HtmlTextLines(this.separators);\n this.enumerator.enumerate(container.firstChild);\n this.hasText = false;\n\n return this.htmlLines.html();\n },\n\n buildText: function(node) {\n if (dom.isDataNode(node)) {\n if (dom.isEmptyspace(node)) {\n return;\n }\n this.htmlLines.appendText(node.nodeValue.replace('\\n', this.separators.line));\n this.hasText = true;\n } else if (dom.isBlock(node) && this.hasText) {\n var action = this.actions[dom.name(node)] || this.actions.block;\n return action(this, node);\n } else if (dom.isBr(node)) {\n this.htmlLines.appendText(this.separators.line);\n }\n },\n\n applicable: function() {\n var o = this.options;\n return o.all || o.keepNewLines;\n },\n\n getDefaultSeparators: function() {\n if (this.options.all) {\n return {text: \" \", line: \" \"};\n } else {\n return {text: \" \", line: \"
    \"};\n }\n },\n\n actions: {\n ul: $.noop,\n ol: $.noop,\n table: $.noop,\n thead: $.noop,\n tbody: $.noop,\n td: function(cleaner, node) {\n var tdCleaner = new HtmlContentCleaner({all: true});\n\n var cellText = tdCleaner.cleanDom(node);\n cleaner.htmlLines.appendInlineBlockText(cellText);\n\n return true;\n },\n\n block: function(cleaner) {\n cleaner.htmlLines.endLine();\n }\n }\n});\n\nvar CustomCleaner = Cleaner.extend({\n clean: function(html) {\n return this.options.custom(html);\n },\n\n applicable: function() {\n return typeof(this.options.custom) === \"function\";\n }\n});\n\nextend(editorNS, {\n Clipboard: Clipboard,\n Cleaner: Cleaner,\n ScriptCleaner: ScriptCleaner,\n TabCleaner: TabCleaner,\n MSWordFormatCleaner: MSWordFormatCleaner,\n WebkitFormatCleaner: WebkitFormatCleaner,\n HtmlTagsCleaner: HtmlTagsCleaner,\n HtmlAttrCleaner: HtmlAttrCleaner,\n HtmlContentCleaner: HtmlContentCleaner,\n HtmlTextLines: HtmlTextLines,\n CustomCleaner: CustomCleaner\n});\n\n})(window.kendo.jQuery);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define){\n define('editor/plugins/keyboard',[ \"../command\" ], f);\n})(function(){\n\n(function($) {\n\n// Imports ================================================================\nvar kendo = window.kendo,\n Class = kendo.Class,\n editorNS = kendo.ui.editor,\n RangeUtils = editorNS.RangeUtils,\n dom = editorNS.Dom,\n RestorePoint = editorNS.RestorePoint,\n Marker = editorNS.Marker,\n browser = kendo.support.browser,\n bomSpan = \"\\ufeff\",\n extend = $.extend;\nvar nodeTypes = dom.nodeTypes;\nvar PREVIOUS_SIBLING = \"previousSibling\";\n\nfunction selected(node, range) {\n return range.startContainer === node && range.endContainer === node &&\n range.startOffset === 0 && range.endOffset == node.childNodes.length;\n}\n\nfunction getSibling(node, direction, condition) {\n var sibling = node ? node[direction] : null;\n\n while (sibling && !condition(sibling)) {\n sibling = sibling[direction];\n }\n\n return sibling;\n}\n\nvar tableCells = \"td,th,caption\";\nvar tableCellsWrappers = \"table,tbody,thead,tfoot,tr\";\nvar tableElements = tableCellsWrappers + \",\" + tableCells;\nvar inTable = function (range) { return !range.collapsed && $(range.commonAncestorContainer).is(tableCellsWrappers); };\n\nvar RemoveTableContent = Class.extend({\n remove: function(range) {\n var that = this;\n var marker = new Marker();\n marker.add(range, false);\n\n var nodes = RangeUtils.getAll(range, function (node) { return $(node).is(tableElements); });\n var doc = RangeUtils.documentFromRange(range);\n var start = marker.start;\n var end = marker.end;\n var cellsTypes = tableCells.split(\",\");\n var startCell = dom.parentOfType(start, cellsTypes);\n var endCell = dom.parentOfType(end, cellsTypes);\n that._removeContent(start, startCell, true);\n that._removeContent(end, endCell, false);\n $(nodes).each(function(i, node) {\n node = $(node);\n (node.is(tableCells) ? node : node.find(tableCells)).each(function(j, cell) {\n cell.innerHTML = \"\";\n });\n });\n if (startCell && !start.previousSibling) {\n dom.insertBefore(doc.createTextNode(\"\\ufeff\"), start);\n }\n if (endCell && !end.nextSibling) {\n dom.insertAfter(doc.createTextNode(\"\\ufeff\"), end);\n }\n if (startCell) {\n range.setStartBefore(start);\n } else if (nodes[0]) {\n startCell = $(nodes[0]);\n startCell = startCell.is(tableCells) ? startCell : startCell.find(tableCells).first();\n if (startCell.length) {\n range.setStart(startCell.get(0), 0);\n }\n }\n\n range.collapse(true);\n\n dom.remove(start);\n dom.remove(end);\n },\n _removeContent: function (start, top, forwards) {\n if (top) {\n var sibling = forwards ? \"nextSibling\" : \"previousSibling\",\n next,\n getNext = function (node) {\n while (node && !node[sibling]) {\n node = node.parentNode;\n }\n return node && $.contains(top, node) ? node[sibling] : null;\n };\n start = getNext(start);\n while (start) {\n next = getNext(start);\n dom.remove(start);\n start = next;\n }\n }\n }\n});\n\nvar TypingHandler = Class.extend({\n init: function(editor) {\n this.editor = editor;\n },\n\n keydown: function (e) {\n var that = this,\n editor = that.editor,\n keyboard = editor.keyboard,\n isTypingKey = keyboard.isTypingKey(e),\n evt = extend($.Event(), e);\n\n that.editor.trigger(\"keydown\", evt);\n\n if (evt.isDefaultPrevented()) {\n e.preventDefault();\n return true;\n }\n\n if (!evt.isDefaultPrevented() && isTypingKey && !keyboard.isTypingInProgress()) {\n var range = editor.getRange();\n var body = editor.body;\n that.startRestorePoint = new RestorePoint(range, body);\n\n if (inTable(range)) {\n var removeTableContent = new RemoveTableContent(editor);\n removeTableContent.remove(range);\n editor.selectRange(range);\n }\n\n if (browser.webkit && !range.collapsed && selected(body, range)) {\n body.innerHTML = \"\";\n }\n\n if (editor.immutables && editorNS.Immutables.immutablesContext(range)) {\n var backspaceHandler = new editorNS.BackspaceHandler(editor);\n backspaceHandler.deleteSelection(range);\n }\n\n keyboard.startTyping(function () {\n that._removeBomSpan();\n that.endRestorePoint = editorNS._finishUpdate(editor, that.startRestorePoint);\n });\n\n return true;\n }\n\n return false;\n },\n\n keyup: function (e) {\n var keyboard = this.editor.keyboard;\n\n this.editor.trigger(\"keyup\", e);\n\n if (keyboard.isTypingInProgress()) {\n keyboard.endTyping();\n return true;\n }\n\n return false;\n },\n\n _removeBomSpan: function () {\n var node = this.editor.getRange().commonAncestorContainer;\n\n if(!dom.emptyNode(node)) {\n if(node.nodeType === 3) {\n node = node.parentNode;\n }\n\n if(dom.insignificant(node)) {\n // typing in an insignificant node\n // make it significant\n node.textContent = dom.stripBom(node.textContent);\n dom.unwrap(node);\n }\n }\n }\n});\n\nvar BackspaceHandler = Class.extend({\n init: function(editor) {\n this.editor = editor;\n },\n _addCaret: function(container) {\n var caret = dom.create(this.editor.document, \"a\");\n\n // Only if not Chrome: Make sure to include cared in the formatted inline node\n if (!kendo.support.browser.chrome && container.firstChild &&\n container.firstChild.nodeType === nodeTypes.ELEMENT_NODE) {\n\n container = container.firstChild;\n }\n\n dom.insertAt(container, caret, 0);\n dom.stripBomNode(caret.previousSibling);\n dom.stripBomNode(caret.nextSibling);\n return caret;\n },\n _restoreCaret: function(caret) {\n var range = this.editor.createRange();\n\n if (!caret.nextSibling && dom.isDataNode(caret.previousSibling)) {\n range.setStart(caret.previousSibling, caret.previousSibling.length);\n } else {\n range.setStartAfter(caret);\n }\n\n range.collapse(true);\n this.editor.selectRange(range);\n dom.remove(caret);\n },\n _handleDelete: function(range) {\n var node = range.endContainer;\n var block = dom.closestEditableOfType(node, dom.blockElements);\n\n if (block && editorNS.RangeUtils.isEndOf(range, block)) {\n // join with next sibling\n var next = dom.next(block);\n if (!next || dom.name(next) != \"p\") {\n return false;\n }\n\n var caretPlaceholder = dom.significantChildNodes(next)[0];\n caretPlaceholder = (caretPlaceholder && dom.isInline(caretPlaceholder)) ? caretPlaceholder : next;\n var caret = this._addCaret(caretPlaceholder);\n\n this._merge(block, next);\n\n this._restoreCaret(caret);\n\n return true;\n }\n\n return false;\n },\n _cleanBomBefore: function(range) {\n var offset = range.startOffset;\n var node = range.startContainer;\n var text = node.nodeValue;\n var count = 0;\n while (offset-count >= 0 && text[offset-count-1] == \"\\ufeff\") {\n count++;\n }\n\n if (count > 0) {\n node.deleteData(offset-count, count);\n\n range.setStart(node, Math.max(0, offset-count));\n range.collapse(true);\n\n this.editor.selectRange(range);\n }\n },\n _handleBackspace: function(range) {\n var node = range.startContainer;\n var li = dom.closestEditableOfType(node, ['li']);\n var block = dom.closestEditableOfType(node, 'p,h1,h2,h3,h4,h5,h6'.split(','));\n var editor = this.editor;\n var previousSibling;\n\n if (dom.isDataNode(node)) {\n if (range.collapsed && /^\\s[\\ufeff]+$/.test(node.nodeValue)) {\n range.setStart(node, 0);\n range.setEnd(node, node.length);\n editor.selectRange(range);\n return false;\n }\n this._cleanBomBefore(range);\n }\n\n previousSibling = getSibling(block, PREVIOUS_SIBLING, function(sibling) {\n return !dom.htmlIndentSpace(sibling);\n });\n\n //deleting the first list item with empty content in IE results in invalid range\n if (range.collapsed && range.startOffset !== range.endOffset && range.startOffset < 0) {\n range.startOffset = 0;\n range.endOffset = 0;\n editor.selectRange(range);\n }\n\n var startAtLi = li && editorNS.RangeUtils.isStartOf(range, li);\n var liIndex = li && $(li).index();\n var startAtNonFirstLi = startAtLi && liIndex > 0;\n if (startAtNonFirstLi) {\n block = li;\n previousSibling = dom.prev(li);\n }\n\n if(block && previousSibling && dom.is(previousSibling, 'table') && editorNS.RangeUtils.isStartOf(range, block)) {\n if(block.innerText === ''){\n block.innerHTML = '\\ufeff';\n }\n return true;\n }\n\n // outdent\n if (editorNS.RangeUtils.isStartOf(range, block) && parseInt(block.style.marginLeft,10) > 0) {\n editor.exec(\"outdent\");\n return true;\n }\n\n // unwrap block\n if ((block && previousSibling && editorNS.RangeUtils.isStartOf(range, block)) || startAtNonFirstLi) {\n var caretPlaceholder = dom.significantChildNodes(block)[0];\n caretPlaceholder = (caretPlaceholder && dom.isInline(caretPlaceholder)) ? caretPlaceholder : block;\n var caret = this._addCaret(caretPlaceholder);\n this._merge(previousSibling, block);\n this._restoreCaret(caret);\n\n return true;\n }\n\n // unwrap li element\n if (startAtLi && liIndex === 0) {\n var child = li.firstChild;\n if (!child) {\n li.innerHTML = editorNS.emptyElementContent;\n child = li.firstChild;\n }\n\n var formatter = new editorNS.ListFormatter(dom.name(li.parentNode), \"p\");\n range.selectNodeContents(li);\n formatter.toggle(range);\n\n if (dom.insignificant(child)) {\n range.setStartBefore(child);\n } else {\n range.setStart(child, 0);\n }\n\n editor.selectRange(range);\n\n return true;\n }\n\n var rangeStartNode = node.childNodes[range.startOffset - 1];\n var linkRange = range;\n var anchor = rangeStartNode && dom.closestEditableOfType(rangeStartNode, ['a']);\n var previousNode = getSibling(rangeStartNode || node, PREVIOUS_SIBLING, function(sibling) {\n return !dom.isDataNode(sibling) || (!dom.isBom(sibling) && sibling.length > 0);\n });\n if (anchor || ((range.startOffset === 0 || rangeStartNode) && dom.is(previousNode, \"a\"))) {\n anchor = anchor || previousNode;\n linkRange = editor.createRange();\n linkRange.setStart(anchor, anchor.childNodes.length);\n linkRange.collapse(true);\n }\n\n anchor = anchor || dom.closestEditableOfType(rangeStartNode || linkRange.startContainer, ['a']);\n var isEndOfLink = anchor && editorNS.RangeUtils.isEndOf(linkRange, anchor);\n if (isEndOfLink) {\n var command = new editorNS.UnlinkCommand({ range: linkRange, body: editor.body, immutables: !!editor.immutables });\n editor.execCommand(command);\n editor._selectionChange();\n }\n return false;\n },\n _handleSelection: function(range) {\n var ancestor = range.commonAncestorContainer;\n var table = dom.closest(ancestor, \"table\");\n var emptyParagraphContent = editorNS.emptyElementContent;\n var editor = this.editor;\n var parentElementOrNode;\n\n if (inTable(range)) {\n var removeTableContent = new RemoveTableContent(editor);\n removeTableContent.remove(range);\n editor.selectRange(range);\n return true;\n }\n\n var marker = new Marker();\n marker.add(range, false);\n\n if(range.commonAncestorContainer === editor.body) {\n this._surroundFullyContent(marker, range);\n }\n\n if (editor.immutables) {\n this._handleImmutables(marker);\n }\n\n this._surroundFullySelectedAnchor(marker, range);\n\n range.setStartAfter(marker.start);\n range.setEndBefore(marker.end);\n\n var start = range.startContainer;\n var end = range.endContainer;\n\n range.deleteContents();\n\n if(end.tagName.toLocaleLowerCase() === \"li\" && dom.emptyNode(end)) {\n range.selectNode(end);\n range.deleteContents();\n }\n\n if (table && $(table).text() === \"\") {\n range.selectNode(table);\n range.deleteContents();\n }\n\n ancestor = range.commonAncestorContainer;\n\n if (dom.name(ancestor) === \"p\" && ancestor.innerHTML === \"\") {\n ancestor.innerHTML = emptyParagraphContent;\n range.setStart(ancestor, 0);\n }\n\n this._join(start, end);\n\n dom.insertAfter(editor.document.createTextNode(\"\\ufeff\"), marker.start);\n marker.remove(range);\n\n start = range.startContainer;\n if (dom.name(start) == \"tr\") {\n start = start.childNodes[Math.max(0, range.startOffset-1)];\n range.setStart(start, dom.getNodeLength(start));\n }\n\n range.collapse(true);\n\n editor.selectRange(range);\n\n parentElementOrNode = start.parentElement || start.parentNode;\n\n if (dom.isDataNode(start) && !dom.emptyNode(parentElementOrNode)) {\n this._cleanBomBefore(range);\n }\n\n return true;\n },\n _handleImmutables: function (marker) {\n var immutableParent = editorNS.Immutables.immutableParent;\n var startImmutable = immutableParent(marker.start);\n var endImmutable = immutableParent(marker.start);\n if (startImmutable) {\n dom.insertBefore(marker.start, startImmutable);\n }\n if (endImmutable) {\n dom.insertAfter(marker.end, endImmutable);\n }\n if (startImmutable) {\n dom.remove(startImmutable);\n }\n if (endImmutable && endImmutable.parentNode) {\n dom.remove(endImmutable);\n }\n },\n _surroundFullyContent: function(marker, range) {\n var children = range.commonAncestorContainer.children,\n startParent = children[0],\n endParent = children[children.length - 1];\n\n this._moveMarker(marker, range, startParent, endParent);\n },\n _surroundFullySelectedAnchor: function(marker, range) {\n var start = marker.start,\n startParent = $(start).closest(\"a\").get(0),\n end = marker.end,\n endParent = $(end).closest(\"a\").get(0);\n\n this._moveMarker(marker, range, startParent, endParent);\n },\n _moveMarker: function(marker, range, startParent, endParent) {\n var start = marker.start,\n end = marker.end;\n\n if(startParent && RangeUtils.isStartOf(range, startParent)){\n dom.insertBefore(start, startParent);\n }\n\n if(endParent && RangeUtils.isEndOf(range, endParent)){\n dom.insertAfter(end, endParent);\n }\n },\n _root: function(node) {\n while (node && dom.name(node) != \"body\" && node.parentNode && dom.name(node.parentNode) != \"body\") {\n node = node.parentNode;\n }\n\n return node;\n },\n _join: function(start, end) {\n start = this._root(start);\n end = this._root(end);\n\n if (start != end && dom.is(end, \"p\")) {\n this._merge(start, end);\n }\n },\n _merge: function(dest, src) {\n dom.removeTrailingBreak(dest);\n\n while (dest && src.firstChild) {\n if (dest.nodeType == 1) {\n dest = dom.list(dest) ? dest.children[dest.children.length - 1] : dest;\n\n if (dest) {\n dest.appendChild(src.firstChild);\n }\n } else if (dest.nodeType === nodeTypes.TEXT_NODE) {\n this._mergeWithTextNode(dest, src.firstChild);\n } else {\n dest.parentNode.appendChild(src.firstChild);\n }\n }\n\n dom.remove(src);\n },\n\n _mergeWithTextNode: function(textNode, appendedNode) {\n if (textNode && textNode.nodeType === nodeTypes.TEXT_NODE) {\n if (textNode.nextSibling && this._isCaret(textNode.nextSibling)) {\n dom.insertAfter(appendedNode, textNode.nextSibling);\n }\n else {\n dom.insertAfter(appendedNode, textNode);\n }\n }\n },\n\n _isCaret: function(element) {\n return $(element).is(\"a\");\n },\n\n keydown: function(e) {\n var method, startRestorePoint;\n var editor = this.editor;\n var range = editor.getRange();\n var keyCode = e.keyCode;\n var keys = kendo.keys;\n var backspace = keyCode === keys.BACKSPACE;\n var del = keyCode == keys.DELETE;\n\n if (editor.immutables && editor.immutables.keydown(e, range)) {\n return;\n }\n\n if ((backspace || del) && !range.collapsed) {\n method = \"_handleSelection\";\n } else if (backspace) {\n method = \"_handleBackspace\";\n } else if (del) {\n method = \"_handleDelete\";\n }\n\n if (!method) {\n return;\n }\n\n startRestorePoint = new RestorePoint(range, editor.body);\n\n if (this[method](range)) {\n e.preventDefault();\n\n editorNS._finishUpdate(editor, startRestorePoint);\n }\n },\n deleteSelection: function (range) {\n this._handleSelection(range);\n },\n keyup: $.noop\n});\n\nvar SystemHandler = Class.extend({\n init: function(editor) {\n this.editor = editor;\n this.systemCommandIsInProgress = false;\n },\n\n createUndoCommand: function () {\n this.startRestorePoint = this.endRestorePoint = editorNS._finishUpdate(this.editor, this.startRestorePoint);\n },\n\n changed: function () {\n if (this.startRestorePoint) {\n return this.startRestorePoint.html != this.editor.body.innerHTML;\n }\n\n return false;\n },\n\n keydown: function (e) {\n var that = this,\n editor = that.editor,\n keyboard = editor.keyboard;\n\n if (keyboard.isModifierKey(e)) {\n\n if (keyboard.isTypingInProgress()) {\n keyboard.endTyping(true);\n }\n\n that.startRestorePoint = new RestorePoint(editor.getRange(), editor.body);\n return true;\n }\n\n if (keyboard.isSystem(e)) {\n that.systemCommandIsInProgress = true;\n\n if (that.changed()) {\n that.systemCommandIsInProgress = false;\n that.createUndoCommand();\n }\n\n return true;\n }\n\n return false;\n },\n\n keyup: function () {\n var that = this;\n\n if (that.systemCommandIsInProgress && that.changed()) {\n that.systemCommandIsInProgress = false;\n that.createUndoCommand();\n return true;\n }\n\n return false;\n }\n});\n\nvar SelectAllHandler = Class.extend({\n init: function(editor) {\n this.editor = editor;\n },\n\n keydown: function (e) {\n if (!browser.webkit || e.isDefaultPrevented() ||\n !(e.ctrlKey && e.keyCode == 65 && !e.altKey && !e.shiftKey)) {\n return;\n }\n if (this.editor.options.immutables) {\n this._toSelectableImmutables();\n }\n this._selectEditorBody();\n },\n\n _selectEditorBody: function() {\n var editor = this.editor;\n var range = editor.getRange();\n range.selectNodeContents(editor.body);\n\n setTimeout(function() {\n editor.selectRange(range);\n });\n },\n\n _toSelectableImmutables: function() {\n var editor = this.editor,\n body = editor.body,\n immutable = editorNS.Immutables.immutable,\n emptyTextNode = dom.emptyTextNode,\n first = body.firstChild,\n last = body.lastChild;\n\n while (emptyTextNode(first)){\n first = first.nextSibling;\n }\n\n while (emptyTextNode(last)){\n last = last.previousSibling;\n }\n\n if (first && immutable(first)) {\n $(bomSpan).prependTo(body);\n }\n\n if (last && immutable(last)) {\n $(bomSpan).appendTo(body);\n }\n },\n\n keyup: $.noop\n});\n\nvar Keyboard = Class.extend({\n init: function(handlers) {\n this.handlers = handlers;\n this.typingInProgress = false;\n },\n\n isCharacter: function(keyCode) {\n return (keyCode >= 48 && keyCode <= 90) || (keyCode >= 96 && keyCode <= 111) ||\n (keyCode >= 186 && keyCode <= 192) || (keyCode >= 219 && keyCode <= 222) ||\n keyCode == 229;\n },\n\n toolFromShortcut: function (tools, e) {\n var key = String.fromCharCode(e.keyCode),\n toolName,\n toolOptions,\n modifier = this._getShortcutModifier(e, navigator.platform);\n\n for (toolName in tools) {\n toolOptions = $.extend({ ctrl: false, alt: false, shift: false }, tools[toolName].options);\n\n if ((toolOptions.key == key || toolOptions.key == e.keyCode) &&\n toolOptions.ctrl == modifier &&\n toolOptions.alt == e.altKey &&\n toolOptions.shift == e.shiftKey) {\n return toolName;\n }\n }\n },\n\n _getShortcutModifier: function (e, platform) {\n var mac = platform.toUpperCase().indexOf('MAC') >= 0;\n return mac ? e.metaKey : e.ctrlKey;\n },\n\n toolsFromShortcut: function (tools, e) {\n var key = String.fromCharCode(e.keyCode),\n toolName,\n o,\n matchesKey,\n found = [];\n var matchKey = function (toolKey) { return toolKey == key || toolKey == e.keyCode || toolKey == e.charCode; };\n\n for (toolName in tools) {\n o = $.extend({ ctrl: false, alt: false, shift: false }, tools[toolName].options);\n\n matchesKey = Array.isArray(o.key) ? $.grep(o.key, matchKey).length > 0 : matchKey(o.key);\n if (matchesKey &&\n o.ctrl == e.ctrlKey &&\n o.alt == e.altKey &&\n o.shift == e.shiftKey) {\n found.push(tools[toolName]);\n }\n }\n\n return found;\n },\n\n isTypingKey: function (e) {\n var keyCode = e.keyCode;\n return (this.isCharacter(keyCode) && !e.ctrlKey && !e.altKey) ||\n keyCode == 32 || keyCode == 13 || keyCode == 8 ||\n (keyCode == 46 && !e.shiftKey && !e.ctrlKey && !e.altKey);\n },\n\n isModifierKey: function (e) {\n var keyCode = e.keyCode;\n return (keyCode == 17 && !e.shiftKey && !e.altKey) ||\n (keyCode == 16 && !e.ctrlKey && !e.altKey) ||\n (keyCode == 18 && !e.ctrlKey && !e.shiftKey);\n },\n\n isSystem: function (e) {\n return e.keyCode == 46 && e.ctrlKey && !e.altKey && !e.shiftKey;\n },\n\n startTyping: function (callback) {\n this.onEndTyping = callback;\n this.typingInProgress = true;\n },\n\n stopTyping: function() {\n if (this.typingInProgress && this.onEndTyping) {\n this.onEndTyping();\n }\n this.typingInProgress = false;\n },\n\n endTyping: function (force) {\n var that = this;\n that.clearTimeout();\n if (force) {\n that.stopTyping();\n } else {\n that.timeout = window.setTimeout($.proxy(that.stopTyping, that), 1000);\n }\n },\n\n isTypingInProgress: function () {\n return this.typingInProgress;\n },\n\n clearTimeout: function () {\n window.clearTimeout(this.timeout);\n },\n\n notify: function(e, what) {\n var i, handlers = this.handlers;\n\n for (i = 0; i < handlers.length; i++) {\n if (handlers[i][what](e)) {\n break;\n }\n }\n },\n\n keydown: function (e) {\n this.notify(e, 'keydown');\n },\n\n keyup: function (e) {\n this.notify(e, 'keyup');\n }\n});\n\nextend(editorNS, {\n TypingHandler: TypingHandler,\n SystemHandler: SystemHandler,\n BackspaceHandler: BackspaceHandler,\n SelectAllHandler: SelectAllHandler,\n Keyboard: Keyboard\n});\n\n})(window.kendo.jQuery);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define){\n define('editor/plugins/exportpdf',[ \"../command\" ], f);\n})(function(){\n\n(function($) {\n\n // Imports ================================================================\n var kendo = window.kendo,\n editorNS = kendo.ui.editor,\n Command = editorNS.Command,\n EditorUtils = editorNS.EditorUtils,\n registerTool = EditorUtils.registerTool,\n Tool = editorNS.Tool,\n ToolTemplate = editorNS.ToolTemplate,\n extend = $.extend;\n\nvar ExportPdfCommand = Command.extend({\n init: function(options) {\n this.async = true;\n Command.fn.init.call(this, options);\n },\n\n exec: function() {\n var that = this;\n var range = that.lockRange(true);\n var editor = that.editor;\n\n editor._destroyResizings();\n\n editor.saveAsPDF().then(function() {\n that.releaseRange(range);\n editor._initializeColumnResizing();\n editor._initializeRowResizing();\n editor._initializeElementResizing();\n });\n }\n});\n\nextend(editorNS, {\n ExportPdfCommand: ExportPdfCommand\n});\n\nregisterTool(\"pdf\", new Tool({ command: ExportPdfCommand, template: new ToolTemplate({template: EditorUtils.buttonTemplate, title: \"Export PDF\"})}));\n\n})(window.kendo.jQuery);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define){\r\n define('editor/plugins/print',[ \"../command\" ], f);\r\n})(function(){\r\n\r\n(function($) {\r\n\r\n // Imports ================================================================\r\n var kendo = window.kendo,\r\n editorNS = kendo.ui.editor,\r\n Command = editorNS.Command,\r\n EditorUtils = editorNS.EditorUtils,\r\n registerTool = EditorUtils.registerTool,\r\n Tool = editorNS.Tool,\r\n ToolTemplate = editorNS.ToolTemplate,\r\n extend = $.extend;\r\n\r\nvar PrintCommand = Command.extend({\r\n init: function(options) {\r\n Command.fn.init.call(this, options);\r\n\r\n this.managesUndoRedo = true;\r\n },\r\n\r\n exec: function() {\r\n var editor = this.editor;\r\n\r\n if (kendo.support.browser.msie) {\r\n editor.document.execCommand(\"print\", false, null);\r\n } else if (editor.window.print) {\r\n editor.window.print();\r\n }\r\n }\r\n});\r\n\r\nextend(editorNS, {\r\n PrintCommand: PrintCommand\r\n});\r\n\r\nregisterTool(\"print\", new Tool({ command: PrintCommand, template: new ToolTemplate({template: EditorUtils.buttonTemplate, title: \"Print\"})}));\r\n\r\n})(window.kendo.jQuery);\r\n\r\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\r\n\n(function(f, define){\n define('editor/plugins/formatpainter',[ \"../command\" ], f);\n})(function(){\n\n(function($) {\n\nvar kendo = window.kendo,\n Editor = kendo.ui.editor,\n Tool = Editor.Tool,\n Command = Editor.Command,\n ToolTemplate = Editor.ToolTemplate,\n EditorUtils = Editor.EditorUtils,\n dom = Editor.Dom,\n RangeUtils = Editor.RangeUtils,\n registerTool = EditorUtils.registerTool;\n\nvar CopyFormatCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n },\n\n exec: function(){\n var range = this.lockRange(true);\n this.inlineStyles = [];\n this.blockStyles = [];\n this.collectStyles(range);\n this.editor.inlineStyles = this.inlineStyles;\n this.editor.blockStyles = this.blockStyles;\n this.releaseRange(range);\n },\n\n collectStyles: function(range) {\n var rangeNodes = RangeUtils.nodes(range);\n var node;\n\n if(rangeNodes.length === 1) {\n node = rangeNodes[0].parentNode;\n } else {\n node = range.startContainer;\n }\n\n while(node && !dom.is(node, \"body\") && node.getAttribute(\"data-role\") !== \"editor\") {\n if(dom.isBlock(node)) {\n this.populateStyles(node, \"blockStyles\");\n if (dom.is(node, \"li\")) {\n node = node.parentNode;\n } else {\n node = null;\n }\n } else {\n this.populateStyles(node, \"inlineStyles\");\n node = node.parentNode;\n }\n }\n },\n\n populateStyles: function(node, destination) {\n var styles = node.style;\n var attributes = node.attributes;\n var nodeStyles = {\n tags: [ node.tagName ],\n attr: {\n style: {}\n }\n };\n var styleValue, styleKey, attributeKey, attributeValue, i;\n\n for(i = 0; styles && i < styles.length; i++) {\n styleKey = styles[i];\n styleValue = styles[styleKey];\n nodeStyles.attr.style[styleKey] = styleValue;\n }\n\n for(i = 0; attributes && i < attributes.length; i++) {\n attributeKey = attributes[i].nodeName;\n attributeValue = attributes[i].nodeValue;\n if(attributeKey === \"style\") {\n continue;\n } else if(attributeKey === \"class\") {\n nodeStyles.attr.className = attributeValue;\n } else {\n nodeStyles.attr[attributeKey] = attributeValue;\n }\n }\n\n this[destination].push(nodeStyles);\n }\n});\n\nvar ApplyFormatCommand = Command.extend({\n init: function (options) {\n Command.fn.init.call(this, options);\n },\n\n exec: function(){\n var range = this.lockRange(true);\n var markers = RangeUtils.getMarkers(range);\n var editor = this.editor;\n var inlineStyles = editor.inlineStyles;\n var blockStyles = editor.blockStyles;\n var nodes;\n\n if((!inlineStyles || inlineStyles.length === 0) && (!blockStyles || blockStyles.length === 0)) {\n return;\n }\n\n if(markers.length === 3) {\n this.marker.removeCaret(range);\n this.marker.caret = null;\n }\n\n this.removeEmptyElementsFromRange(range);\n nodes = RangeUtils.nodes(range);\n this.cleanInlineParents(nodes);\n dom.normalize(range.commonAncestorContainer);\n\n if(markers.length === 2) {\n range.setStartAfter(markers[0]);\n range.setEndBefore(markers[1]);\n } else {\n range.setStartBefore(nodes[0]);\n range.setEndAfter(nodes[0]);\n }\n\n nodes = RangeUtils.nodes(range);\n\n if(nodes && blockStyles && blockStyles.length) {\n this.applyBlockStyles(nodes, blockStyles);\n }\n\n if(nodes && inlineStyles && inlineStyles.length) {\n this.applyInlineStyles(nodes, inlineStyles);\n }\n\n this.releaseRange(range);\n },\n\n removeEmptyElementsFromRange: function(range) {\n var isEmptyInline = function(node) {\n return dom.isInline(node) && !node.firstChild && !dom.isMarker(node);\n };\n var emptyElements, i;\n\n emptyElements = RangeUtils.getAll(range, isEmptyInline);\n\n if (emptyElements && emptyElements.length > 0) {\n for(i = 0; i < emptyElements.length; i++) {\n emptyElements[i].parentNode.removeChild(emptyElements[i]);\n }\n }\n },\n\n cleanInlineParents: function(nodes) {\n var i, node, parent, children, j, child, newNode;\n\n for(i = 0; i < nodes.length; i++) {\n node = nodes[i];\n parent = node.parentNode;\n\n if(this.immutableParent(node)) {\n continue;\n }\n\n while(parent && dom.isInline(parent)) {\n children = parent.childNodes;\n\n for(j = 0; j < children.length; j++) {\n child = children[j];\n\n if(!dom.isMarker(child) && child !== node) {\n newNode = parent.cloneNode(true);\n newNode.innerHTML = \"\";\n dom.wrap(child, newNode);\n }\n }\n\n dom.unwrap(parent);\n parent = node.parentNode;\n }\n }\n },\n\n applyBlockStyles: function(nodes, blockStyles) {\n var formatTag = blockStyles[0].tags[0];\n var attr = blockStyles[0].attr;\n var document = this.editor.document;\n var i, len, node, wrapper, blockParent, outerWrapper;\n var previousNodes, nextNodes, previous, next, prevWrapper, nextWrapper, child, j, listItems;\n\n for (i = 0, len = nodes.length; i < len; i++) {\n node = nodes[i];\n\n if(dom.isWhitespace(node) || this.immutableParent(node)) {\n continue;\n }\n\n blockParent = dom.blockParentOrBody(node);\n\n if (blockParent.tagName !== \"BODY\" && blockParent.tagName !== formatTag) {\n if(blockParent.tagName !== \"LI\" && blockParent.tagName !== \"TD\" && blockParent.tagName !== \"TH\") {\n previousNodes = [];\n nextNodes = [];\n previous = node.previousSibling;\n next = node.nextSibling;\n\n while(previous) {\n if(!dom.isMarker(previous)) {\n previousNodes.push(previous);\n }\n\n previous = previous.previousSibling;\n }\n\n if(previousNodes.length) {\n prevWrapper = blockParent.cloneNode(true);\n prevWrapper.innerHTML = \"\";\n dom.insertBefore(prevWrapper, previousNodes[0]);\n\n for(j = 0; j < previousNodes.length; j++) {\n child = previousNodes[j];\n dom.insertAt(prevWrapper, child, 0);\n }\n }\n\n while(next) {\n if(!dom.isMarker(next)) {\n nextNodes.push(next);\n }\n\n next = next.nextSibling;\n }\n\n if(nextNodes.length) {\n nextWrapper = blockParent.cloneNode(true);\n nextWrapper.innerHTML = \"\";\n dom.insertBefore(nextWrapper, nextNodes[0]);\n\n for(j = 0; j < nextNodes.length; j++) {\n child = nextNodes[j];\n nextWrapper.appendChild(child);\n }\n }\n\n dom.unwrap(blockParent);\n }\n\n wrapper = dom.create(document, formatTag, attr);\n dom.wrap(node, wrapper);\n } else if (blockParent.tagName === formatTag) {\n dom.attr(blockParent, attr);\n }\n }\n\n if(blockParent && blockStyles.length === 2 && blockParent.tagName !== \"LI\" && formatTag === \"LI\") {\n listItems = [];\n\n while(dom.is(wrapper, \"li\")) {\n listItems.push(wrapper);\n wrapper = dom.prev(wrapper);\n }\n\n outerWrapper = dom.create(document, blockStyles[1].tags[0], blockStyles[1].attr);\n dom.insertBefore(outerWrapper, listItems[listItems.length - 1]);\n outerWrapper.appendChild(listItems[0]);\n\n for (i = 1, len = listItems.length; i < len; i++) {\n dom.insertBefore(listItems[i], outerWrapper.firstChild);\n }\n } else if(blockParent && blockStyles.length === 2 && blockParent.tagName !== \"LI\") {\n outerWrapper = dom.create(document, blockStyles[1].tags[0], blockStyles[1].attr);\n dom.wrap(wrapper, outerWrapper);\n }\n },\n\n applyInlineStyles: function(nodes, inlineStyles) {\n var document = this.editor.document;\n var currentStyle, createdNode, topNode, i, newNode, node;\n\n for(i = 0; i < inlineStyles.length; i++) {\n currentStyle = inlineStyles[i];\n createdNode = dom.create(document, currentStyle.tags[0], currentStyle.attr);\n\n if(topNode) {\n createdNode.appendChild(topNode);\n }\n\n topNode = createdNode;\n }\n\n if(topNode) {\n for(i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if(dom.isWhitespace(node) || this.immutableParent(node)) {\n continue;\n }\n newNode = topNode.cloneNode(true);\n dom.insertBefore(newNode, node);\n\n while(newNode.children && newNode.children.length) {\n newNode = newNode.children[0];\n }\n\n newNode.appendChild(node);\n }\n }\n },\n\n immutables: function() {\n return this.editor && this.editor.options.immutables;\n },\n\n immutableParent: function(node) {\n return this.immutables() && Editor.Immutables.immutableParent(node);\n }\n});\n\nvar CopyFormatTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n },\n\n command: function (commandArguments) {\n return new CopyFormatCommand(commandArguments);\n }\n});\n\nvar ApplyFormatTool = Tool.extend({\n init: function (options) {\n Tool.fn.init.call(this, options);\n },\n\n command: function (commandArguments) {\n return new ApplyFormatCommand(commandArguments);\n }\n});\n\n$.extend(Editor, {\n CopyFormatCommand: CopyFormatCommand,\n ApplyFormatCommand: ApplyFormatCommand,\n CopyFormatTool: CopyFormatTool,\n ApplyFormatTool: ApplyFormatTool\n});\n\nregisterTool(\"copyFormat\", new CopyFormatTool({ template: new ToolTemplate({ template: EditorUtils.buttonTemplate, title: \"Copy format\" }) }));\nregisterTool(\"applyFormat\", new ApplyFormatTool({ template: new ToolTemplate({ template: EditorUtils.buttonTemplate, title: \"Apply format\" }) }));\n\n})(window.kendo.jQuery);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define) {\r\n define('editor/resizing/resizing-utils',[\"../main\"], f);\r\n})(function() {\r\n\r\n(function(kendo, undefined) {\r\n var global = window;\r\n var math = global.Math;\r\n var min = math.min;\r\n var max = math.max;\r\n var parseFloat = global.parseFloat;\r\n\r\n var $ = kendo.jQuery;\r\n var extend = $.extend;\r\n\r\n var Editor = kendo.ui.editor;\r\n\r\n var PERCENTAGE = \"%\";\r\n var PIXEL = \"px\";\r\n var REGEX_NUMBER_IN_PERCENTAGES = /(\\d+)(\\.?)(\\d*)%/;\r\n var REGEX_NUMBER_IN_PIXELS = /(\\d+)(\\.?)(\\d*)px/;\r\n var STRING = \"string\";\r\n\r\n function constrain(options) {\r\n var value = options.value;\n var lowerBound = options.min;\n var upperBound = options.max;\n\n return max(min(parseFloat(value), parseFloat(upperBound)), parseFloat(lowerBound));\r\n }\r\n\r\n function getScrollBarWidth(element) {\r\n if (element && !$(element).is(\"body\") && element.scrollHeight > element.clientHeight) {\r\n return kendo.support.scrollbar();\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n function calculatePercentageRatio(value, total) {\r\n if (inPercentages(value)) {\r\n return parseFloat(value);\r\n }\r\n else {\r\n return ((parseFloat(value) / total) * 100);\r\n }\r\n }\r\n\r\n function inPercentages(value) {\r\n return (typeof(value) === STRING && REGEX_NUMBER_IN_PERCENTAGES.test(value));\r\n }\r\n\r\n function inPixels(value) {\r\n return (typeof(value) === STRING && REGEX_NUMBER_IN_PIXELS.test(value));\r\n }\r\n\r\n function toPercentages(value) {\r\n return (parseFloat(value) + PERCENTAGE);\r\n }\r\n\r\n function toPixels(value) {\r\n return (parseFloat(value) + PIXEL);\r\n }\r\n\r\n var ResizingUtils = {\r\n constrain: constrain,\r\n getScrollBarWidth: getScrollBarWidth,\r\n calculatePercentageRatio: calculatePercentageRatio,\r\n inPercentages: inPercentages,\r\n inPixels: inPixels,\r\n toPercentages: toPercentages,\r\n toPixels: toPixels\r\n };\r\n\r\n extend(Editor, {\r\n ResizingUtils: ResizingUtils\r\n });\r\n})(window.kendo);\r\n\r\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\r\n\n(function(f, define) {\n define('editor/resizing/table-element-resizing',[\"../main\", \"../../kendo.resizable\", \"./resizing-utils\"], f);\n})(function() {\n\n(function(kendo, undefined) {\n var $ = kendo.jQuery;\n var extend = $.extend;\n var noop = $.noop;\n var proxy = $.proxy;\n\n var Editor = kendo.ui.editor;\n var Class = kendo.Class;\n\n var KEY_DOWN = \"keydown\";\n var MOUSE_DOWN = \"mousedown\";\n var MOUSE_ENTER = \"mouseenter\";\n var MOUSE_LEAVE = \"mouseleave\";\n var MOUSE_MOVE = \"mousemove\";\n var MOUSE_UP = \"mouseup\";\n\n var COMMA = \",\";\n var DOT = \".\";\n var LAST_CHILD = \":last-child\";\n\n var TABLE = \"table\";\n\n var TableElementResizing = Class.extend({\n init: function(element, options) {\n var that = this;\n\n that.options = extend({}, that.options, options);\n\n that.options.tags = Array.isArray(that.options.tags) ? that.options.tags : [that.options.tags];\n\n if ($(element).is(TABLE)) {\n that.element = element;\n that._attachEventHandlers();\n }\n },\n\n destroy: function() {\n var that = this;\n var eventNamespace = that.options.eventNamespace;\n\n if (that.element) {\n $(that.element).off(eventNamespace);\n that.element = null;\n }\n\n $(that.options.rootElement).off(KEY_DOWN + eventNamespace);\n\n that._destroyResizeHandle();\n },\n\n options: {\n tags: [],\n min: 0,\n rootElement: null,\n eventNamespace: \"\",\n rtl: false,\n handle: {\n dataAttribute: \"\",\n height: 0,\n width: 0,\n classNames: {},\n template: \"\"\n }\n },\n\n _attachEventHandlers: function() {\n var that = this;\n var options = that.options;\n\n $(that.element).on(MOUSE_MOVE + options.eventNamespace, options.tags.join(COMMA), proxy(that.detectElementBorderHovering, that));\n },\n\n resizingInProgress: function() {\n var that = this;\n var resizable = that._resizable;\n\n if (resizable) {\n return !!resizable.resizing;\n }\n\n return false;\n },\n\n resize: noop,\n\n detectElementBorderHovering: function(e) {\n var that = this;\n var options = that.options;\n var handleOptions = options.handle;\n var tableElement = $(e.currentTarget);\n var resizeHandle = that.resizeHandle;\n var dataAttribute = handleOptions.dataAttribute;\n\n if (!that.resizingInProgress()) {\n if (!tableElement.is(LAST_CHILD) && that.elementBorderHovered(tableElement, e)) {\n if (resizeHandle) {\n if (resizeHandle.data(dataAttribute) && resizeHandle.data(dataAttribute) !== tableElement[0]) {\n that.showResizeHandle(tableElement, e);\n }\n }\n else {\n that.showResizeHandle(tableElement, e);\n }\n }\n else {\n if (resizeHandle) {\n that._destroyResizeHandle();\n }\n }\n }\n },\n\n elementBorderHovered: noop,\n\n showResizeHandle: function(tableElement, e) {\n var that = this;\n\n if (e.buttons !== 0) {\n //prevent showing when a mouse button is still being pressed\n return;\n }\n\n that._initResizeHandle();\n that.setResizeHandlePosition(tableElement);\n that.setResizeHandleDimensions();\n that.setResizeHandleDataAttributes(tableElement[0]);\n that._attachResizeHandleEventHandlers();\n\n that._initResizable(tableElement);\n\n that._hideResizeMarker();\n that.resizeHandle.show();\n },\n\n _initResizeHandle: function() {\n var that = this;\n var options = that.options;\n\n that._destroyResizeHandle();\n\n that.resizeHandle = $(options.handle.template).appendTo(options.rootElement);\n },\n\n setResizeHandlePosition: noop,\n\n setResizeHandleDimensions: noop,\n\n setResizeHandleDataAttributes: function(tableElement) {\n var that = this;\n\n that.resizeHandle.data(that.options.handle.dataAttribute, tableElement);\n },\n\n _attachResizeHandleEventHandlers: function() {\n var that = this;\n var options = that.options;\n var eventNamespace = options.eventNamespace;\n var markerClass = options.handle.classNames.marker;\n var resizeHandle = that.resizeHandle;\n\n that.resizeHandle\n .on(MOUSE_DOWN + eventNamespace, function() {\n resizeHandle.find(DOT + markerClass).show();\n })\n .on(MOUSE_UP + eventNamespace, function() {\n resizeHandle.find(DOT + markerClass).hide();\n });\n },\n\n _hideResizeMarker: function() {\n var that = this;\n\n that.resizeHandle.find(DOT + that.options.handle.classNames.marker).hide();\n },\n\n _destroyResizeHandle: function() {\n var that = this;\n\n if (that.resizeHandle) {\n that._destroyResizable();\n that.resizeHandle.off(that.options.eventNamespace).remove();\n that.resizeHandle = null;\n }\n },\n\n _initResizable: function(tableElement) {\n var that = this;\n\n if (!that.resizeHandle) {\n return;\n }\n\n that._destroyResizable();\n\n that._resizable = new kendo.ui.Resizable(tableElement, {\n draggableElement: that.resizeHandle[0],\n start: proxy(that.onResizeStart, that),\n resize: proxy(that.onResize, that),\n resizeend: proxy(that.onResizeEnd, that)\n });\n },\n\n _destroyResizable: function() {\n var that = this;\n\n if (that._resizable) {\n that._resizable.destroy();\n that._resizable = null;\n }\n },\n\n onResizeStart: function() {\n this._disableKeyboard();\n },\n\n onResize: function(e) {\n this.setResizeHandleDragPosition(e);\n },\n\n setResizeHandleDragPosition: noop,\n\n onResizeEnd: function(e) {\n var that = this;\n\n that.resize(e);\n that._destroyResizeHandle();\n that._enableKeyboard();\n },\n\n _enableKeyboard: function() {\n var options = this.options;\n\n $(options.rootElement).off(KEY_DOWN + options.eventNamespace);\n },\n\n _disableKeyboard: function() {\n var options = this.options;\n\n $(options.rootElement).on(KEY_DOWN + options.eventNamespace, function(e) {\n e.preventDefault();\n });\n },\n\n _forceResizing: function(e) {\n var resizable = this._resizable;\n\n if (resizable && resizable.userEvents) {\n resizable.userEvents._end(e);\n }\n }\n });\n\n var ResizingFactory = Class.extend({\n create: function(editor, options) {\n var that = this;\n var resizingName = options.name;\n var NS = options.eventNamespace;\n\n $(editor.body)\n .on(MOUSE_ENTER + NS, TABLE, function(e) {\n var table = e.currentTarget;\n var resizing = editor[resizingName];\n\n e.stopPropagation();\n\n if (resizing) {\n if (resizing.element !== table && !resizing.resizingInProgress()) {\n that._destroyResizing(editor, options);\n that._initResizing(editor, table, options);\n }\n }\n else {\n that._initResizing(editor, table, options);\n }\n })\n .on(MOUSE_LEAVE + NS, TABLE, function(e) {\n var parentTable;\n var resizing = editor[resizingName];\n\n e.stopPropagation();\n\n if (resizing && !resizing.resizingInProgress() && !resizing.resizeHandle) {\n parentTable = $(resizing.element).parents(TABLE)[0];\n\n if (parentTable) {\n that._destroyResizing(editor, options);\n that._initResizing(editor, parentTable, options);\n }\n }\n })\n .on(MOUSE_LEAVE + NS, function() {\n var resizing = editor[resizingName];\n\n if (resizing && !resizing.resizingInProgress()) {\n that._destroyResizing(editor, options);\n }\n })\n .on(MOUSE_UP + NS, function(e) {\n var resizing = editor[resizingName];\n var parentTable;\n\n if (resizing && resizing.resizingInProgress()) {\n parentTable = $(e.target).parents(TABLE)[0];\n\n if (parentTable) {\n resizing._forceResizing(e);\n that._destroyResizing(editor, options);\n that._initResizing(editor, parentTable, options);\n }\n }\n });\n },\n\n dispose: function(editor, options) {\n $(editor.body).off(options.eventNamespace);\n },\n\n _initResizing: function(editor, tableElement, options) {\n var resizingName = options.name;\n var resizingType = options.type;\n\n editor[resizingName] = new resizingType(tableElement, {\n rtl: kendo.support.isRtl(editor.element),\n rootElement: editor.body\n });\n },\n\n _destroyResizing: function(editor, options) {\n var resizingName = options.name;\n\n if (editor[resizingName]) {\n editor[resizingName].destroy();\n editor[resizingName] = null;\n }\n }\n });\n ResizingFactory.current = new ResizingFactory();\n\n TableElementResizing.create = function(editor, options) {\n ResizingFactory.current.create(editor, options);\n };\n\n TableElementResizing.dispose = function(editor, options) {\n ResizingFactory.current.dispose(editor, options);\n };\n\n extend(Editor, {\n TableElementResizing: TableElementResizing\n });\n\n})(window.kendo);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define) {\n define('editor/resizing/column-resizing',[\"../main\", \"./resizing-utils\", \"./table-element-resizing\", \"../dom\"], f);\n})(function() {\n\n(function(kendo, undefined) {\n var global = window;\n var math = global.Math;\n var abs = math.abs;\n\n var $ = kendo.jQuery;\n var extend = $.extend;\n\n var Editor = kendo.ui.editor;\n var dom = Editor.Dom;\n var TableElementResizing = Editor.TableElementResizing;\n var ResizingUtils = Editor.ResizingUtils;\n var constrain = ResizingUtils.constrain;\n var calculatePercentageRatio = ResizingUtils.calculatePercentageRatio;\n var getScrollBarWidth = ResizingUtils.getScrollBarWidth;\n var inPercentages = ResizingUtils.inPercentages;\n var toPercentages = ResizingUtils.toPercentages;\n var toPixels = ResizingUtils.toPixels;\n var outerWidth = kendo._outerWidth;\n\n var NS = \".kendoEditorColumnResizing\";\n var RESIZE_HANDLE_CLASS = \"k-column-resize-handle\";\n var RESIZE_MARKER_CLASS = \"k-column-resize-marker\";\n\n var BODY = \"body\";\n var TBODY = \"tbody\";\n var THEAD = \"thead\";\n var TD = \"td\";\n var TH = \"th\";\n var TR = \"tr\";\n\n var COLATTR = \"col-index\";\n\n var COMMA = \",\";\n var WIDTH = \"width\";\n\n var ColumnResizing = TableElementResizing.extend({\n options: {\n tags: [TD, TH],\n min: 20,\n rootElement: null,\n eventNamespace: NS,\n rtl: false,\n handle: {\n dataAttribute: \"column\",\n width: 10,\n height: 0,\n classNames: {\n handle: RESIZE_HANDLE_CLASS,\n marker: RESIZE_MARKER_CLASS\n },\n template:\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    '\n }\n },\n\n elementBorderHovered: function(column, e) {\n var that = this;\n var options = that.options;\n var handleWidth = options.handle.width;\n var borderOffset = column.offset().left + (options.rtl ? 0 : outerWidth(column));\n\n\n var mousePosition = e.clientX + $(column[0].ownerDocument).scrollLeft();\n\n if ((mousePosition > (borderOffset - handleWidth)) && (mousePosition < (borderOffset + handleWidth))) {\n return true;\n }\n else {\n return false;\n }\n },\n\n setResizeHandlePosition: function(column) {\n var that = this;\n var tableInnerElement = $(that.element.tHead || that.element.tBodies[0]);\n var options = that.options;\n var rtl = options.rtl;\n var handleWidth = options.handle.width;\n var rootElement = $(options.rootElement);\n var scrollTopOffset = rootElement.is(BODY) ? 0 : rootElement.scrollTop();\n var scrollLeftOffset = rootElement.is(BODY) ? 0 : kendo.scrollLeft(rootElement);\n var columnWidthOffset = rtl ? 0 : outerWidth(column);\n var scrollBarWidth = rtl ? getScrollBarWidth(rootElement[0]) : 0;\n var columnOffsetLeft = column.offset().left -\n (rootElement.offset().left + parseFloat(rootElement.css(\"borderLeftWidth\"))) -\n parseFloat(column.css(\"marginLeft\"));\n var innerElementOffsetTop = tableInnerElement.offset().top -\n (rootElement.offset().top + parseFloat(rootElement.css(\"borderTopWidth\"))) -\n parseFloat(tableInnerElement.css(\"marginTop\"));\n var browser = kendo.support.browser;\n\n if(rtl && (browser.mozilla || (browser.webkit && browser.version >= 85))) {\n scrollLeftOffset = scrollLeftOffset * -1;\n }\n\n that.resizeHandle.css({\n top: innerElementOffsetTop + scrollTopOffset,\n left: columnOffsetLeft + columnWidthOffset + (scrollLeftOffset - scrollBarWidth) - (handleWidth / 2),\n position: \"absolute\"\n });\n },\n\n setResizeHandleDimensions: function() {\n var that = this;\n var tableHead = $(that.element).children(THEAD);\n var tableBody = $(that.element).children(TBODY);\n var fullHeight = tableHead.length > 0 ? tableHead.height() + tableBody.height() : tableBody.height();\n\n that.resizeHandle.css({\n width: that.options.handle.width,\n height: fullHeight\n });\n },\n\n setResizeHandleDragPosition: function(e) {\n var that = this;\n var column = $($(e.currentTarget).data(that.options.handle.dataAttribute));\n var options = that.options;\n var rootElement = $(options.rootElement);\n var handleWidth = options.handle ? options.handle.width : 0;\n var min = options.min;\n var rtl = options.rtl;\n var columnWidth = outerWidth(column);\n var columnLeftOffset = column.offset().left -\n (rootElement.offset().left + parseFloat(rootElement.css(\"borderLeftWidth\"))) -\n parseFloat(column.css(\"marginLeft\"));\n var adjacentColumnWidth = outerWidth(column.next());\n var resizeHandle = $(that.resizeHandle);\n var scrollLeftOffset = rootElement.is(BODY) ? 0 : kendo.scrollLeft(rootElement);\n var scrollBarWidth = rtl ? getScrollBarWidth(rootElement[0]) : 0;\n var resizeHandleOffsetLeft = resizeHandle.offset().left -\n (rootElement.offset().left + parseFloat(rootElement.css(\"borderLeftWidth\"))) -\n parseFloat(resizeHandle.css(\"marginLeft\"));\n var browser = kendo.support.browser;\n\n if(rtl && (browser.mozilla || (browser.webkit && browser.version >= 85))) {\n scrollLeftOffset = scrollLeftOffset * -1;\n }\n\n var handleOffset = constrain({\n value: resizeHandleOffsetLeft + (scrollLeftOffset - scrollBarWidth) + e.x.delta,\n min: columnLeftOffset + (scrollLeftOffset - scrollBarWidth) - (rtl ? adjacentColumnWidth : 0) + min,\n max: columnLeftOffset + columnWidth + (scrollLeftOffset - scrollBarWidth) + (rtl ? 0 : adjacentColumnWidth) - handleWidth - min\n });\n\n resizeHandle.css({ left: handleOffset });\n },\n\n resize: function(e) {\n var that = this;\n var column = $($(e.currentTarget).data(that.options.handle.dataAttribute));\n var options = that.options;\n var rtlModifier = options.rtl ? (-1) : 1;\n var min = options.min;\n var initialDeltaX = rtlModifier * e.x.initialDelta;\n var newWidth;\n var initialAdjacentColumnWidth;\n var initialColumnWidth;\n var colIndex;\n var nextColumn;\n\n dom.reMapTableColumns(that.element, COLATTR);\n\n colIndex = parseInt(column.attr(COLATTR), 10);\n\n if(column.prop(\"colSpan\") > 1) {\n column = $(that.element).find(\"[\" + COLATTR + \"=\" + (colIndex + column.prop(\"colSpan\") - 1) + \"]\").eq(0);\n colIndex = parseInt(column.attr(COLATTR), 10);\n }\n\n nextColumn = $(that.element).find(\"[\" + COLATTR + \"=\" + (colIndex + 1) + \"]:not([colspan])\");\n\n that._setTableComputedWidth();\n that._setColumnsComputedWidth();\n\n initialColumnWidth = outerWidth(column);\n initialAdjacentColumnWidth = outerWidth(nextColumn);\n\n newWidth = constrain({\n value: initialColumnWidth + initialDeltaX,\n min: min,\n max: initialColumnWidth + initialAdjacentColumnWidth - min\n });\n\n that._resizeColumn(column[0], newWidth);\n that._resizeTopAndBottomColumns(column[0], newWidth);\n that._resizeAdjacentColumns(parseInt(column.attr(COLATTR),10), initialAdjacentColumnWidth, initialColumnWidth, (initialColumnWidth - newWidth));\n\n dom.clearTableMappings(that.element, COLATTR);\n },\n\n _setTableComputedWidth: function() {\n var element = this.element;\n\n if (element.style[WIDTH] === \"\") {\n element.style[WIDTH] = toPixels(outerWidth($(element)));\n }\n },\n\n _setColumnsComputedWidth: function() {\n var that = this;\n var tableInnerElement = $(that.element.tHead || that.element.tBodies[0]);\n var innerElementWidth = outerWidth(tableInnerElement);\n var columns = tableInnerElement.children(TR).children(TD);\n var length = columns.length;\n var currentColumnsWidths = columns.map(function() {\n return outerWidth($(this));\n });\n var i;\n\n for (i = 0; i < length; i++) {\n if (inPercentages(columns[i].style[WIDTH])) {\n columns[i].style[WIDTH] = toPercentages(calculatePercentageRatio(currentColumnsWidths[i], innerElementWidth));\n }\n else {\n columns[i].style[WIDTH] = toPixels(currentColumnsWidths[i]);\n }\n }\n },\n\n _resizeTopAndBottomColumns: function(column, newWidth) {\n var that = this;\n var columnIndex = $(column).attr(COLATTR);\n var topAndBottomColumns = $(that.element).children(TBODY + COMMA + THEAD).children(TR).children(that.options.tags.join(COMMA))\n .filter(function() {\n var cell = this;\n return ($(cell).attr(COLATTR) === columnIndex && cell !== column);\n });\n var length = topAndBottomColumns.length;\n var i;\n\n for (i = 0; i < length; i++) {\n that._resizeColumn(topAndBottomColumns[i], newWidth);\n }\n },\n\n _resizeColumn: function(column, newWidth) {\n var innerTableElement = $(this.element.tHead || this.element.tBodies[0]);\n if (inPercentages(column.style[WIDTH])) {\n column.style[WIDTH] = toPercentages(calculatePercentageRatio(newWidth, outerWidth(innerTableElement)));\n }\n else {\n column.style[WIDTH] = toPixels(newWidth);\n }\n },\n\n _resizeAdjacentColumns: function(columnIndex, initialAdjacentColumnWidth, initialColumnWidth, deltaWidth) {\n var that = this;\n var adjacentColumns = $(that.element).children(TBODY + COMMA + THEAD).children(TR).children(that.options.tags.join(COMMA))\n .filter(function() {\n return (parseInt($(this).attr(COLATTR),10) === (columnIndex + 1));\n });\n var length = adjacentColumns.length;\n var i;\n\n for (i = 0; i < length; i++) {\n that._resizeAdjacentColumn(adjacentColumns[i], initialAdjacentColumnWidth, initialColumnWidth, deltaWidth);\n }\n },\n\n _resizeAdjacentColumn: function(adjacentColumn, initialAdjacentColumnWidth, initialColumnWidth, deltaWidth) {\n var that = this;\n var min = that.options.min;\n var newWidth;\n\n newWidth = constrain({\n value: initialAdjacentColumnWidth + deltaWidth,\n min: min,\n max: abs(initialColumnWidth + initialAdjacentColumnWidth - min)\n });\n\n that._resizeColumn(adjacentColumn, newWidth);\n }\n });\n\n ColumnResizing.create = function(editor) {\n TableElementResizing.create(editor, {\n name: \"columnResizing\",\n type: ColumnResizing,\n eventNamespace: NS\n });\n };\n\n ColumnResizing.dispose = function(editor) {\n TableElementResizing.dispose(editor, {\n eventNamespace: NS\n });\n };\n\n extend(Editor, {\n ColumnResizing: ColumnResizing\n });\n\n})(window.kendo);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define) {\n define('editor/resizing/row-resizing',[\"../main\", \"./resizing-utils\", \"./table-element-resizing\"], f);\n})(function() {\n\n(function(kendo, undefined) {\n var math = window.Math;\n var abs = math.abs;\n\n var $ = kendo.jQuery;\n var extend = $.extend;\n\n var Editor = kendo.ui.editor;\n var TableElementResizing = Editor.TableElementResizing;\n var ResizingUtils = Editor.ResizingUtils;\n var getScrollBarWidth = ResizingUtils.getScrollBarWidth;\n var constrain = ResizingUtils.constrain;\n var calculatePercentageRatio = ResizingUtils.calculatePercentageRatio;\n var inPercentages = ResizingUtils.inPercentages;\n var toPercentages = ResizingUtils.toPercentages;\n var toPixels = ResizingUtils.toPixels;\n var outerHeight = kendo._outerHeight;\n\n var NS = \".kendoEditorRowResizing\";\n var RESIZE_HANDLE_CLASS = \"k-row-resize-handle\";\n var RESIZE_HANDLE_MARKER_WRAPPER_CLASS = \"k-row-resize-marker-wrapper\";\n var RESIZE_MARKER_CLASS = \"k-row-resize-marker\";\n\n var BODY = \"body\";\n var TR = \"tr\";\n var TBODY = \"tbody\";\n var THEAD = \"thead\";\n\n var COMMA = \",\";\n var HEIGHT = \"height\";\n\n var RowResizing = TableElementResizing.extend({\n options: {\n tags: [TR],\n min: 20,\n rootElement: null,\n eventNamespace: NS,\n rtl: false,\n handle: {\n dataAttribute: \"row\",\n width: 0,\n height: 10,\n classNames: {\n handle: RESIZE_HANDLE_CLASS,\n marker: RESIZE_MARKER_CLASS\n },\n template:\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    '+\n '
    ' +\n '
    '\n }\n },\n\n elementBorderHovered: function(tableElement, e) {\n var that = this;\n var handleHeight = that.options.handle[HEIGHT];\n var borderOffset = tableElement.offset().top + outerHeight(tableElement);\n var mousePosition = e.clientY + $(tableElement[0].ownerDocument).scrollTop();\n\n if ((mousePosition > (borderOffset - handleHeight)) && (mousePosition < (borderOffset + handleHeight))) {\n return true;\n }\n else {\n return false;\n }\n },\n\n setResizeHandlePosition: function(row) {\n var that = this;\n var options = that.options;\n var handleHeight = options.handle[HEIGHT];\n var rootElement = $(options.rootElement);\n var scrollTopOffset = rootElement.is(BODY) ? 0 : rootElement.scrollTop();\n var scrollLeftOffset = rootElement.is(BODY) ? 0 : kendo.scrollLeft(rootElement);\n var scrollBarWidth = options.rtl ? getScrollBarWidth(rootElement[0]) : 0;\n\n var rowOffsetLeft = row.offset().left -\n (rootElement.offset().left + parseFloat(rootElement.css(\"borderLeftWidth\"))) -\n parseFloat(row.css(\"marginLeft\"));\n var rowOffsetTop = row.offset().top -\n (rootElement.offset().top + parseFloat(rootElement.css(\"borderTopWidth\"))) -\n parseFloat(row.css(\"marginTop\"));\n var browser = kendo.support.browser;\n\n if(options.rtl && (browser.mozilla || (browser.webkit && browser.version >= 85))) {\n scrollLeftOffset = scrollLeftOffset * -1;\n }\n\n that.resizeHandle.css({\n top: rowOffsetTop + outerHeight(row) + scrollTopOffset - (handleHeight / 2),\n left: rowOffsetLeft + (scrollLeftOffset - scrollBarWidth),\n position: \"absolute\"\n });\n },\n\n setResizeHandleDimensions: function() {\n var that = this;\n var innerTableElement = $(that.element.tHead || that.element.tBodies[0]);\n\n that.resizeHandle.css({\n width: innerTableElement.width(),\n height: that.options.handle[HEIGHT]\n });\n },\n\n setResizeHandleDragPosition: function(e) {\n var that = this;\n var options = that.options;\n var min = options.min;\n var tableHead = $(that.element).children(THEAD);\n var tableBody = $(that.element).children(TBODY);\n var topInnerTableElement = tableHead.length > 0 ? tableHead : tableBody;\n var resizeHandle = $(that.resizeHandle);\n var row = $(e.currentTarget).data(options.handle.dataAttribute);\n var $row = $(row);\n var rootElement = $(options.rootElement);\n var scrollTopOffset = rootElement.is(BODY) ? 0 : rootElement.scrollTop();\n var tableTopOffset = topInnerTableElement.offset().top -\n (rootElement.offset().top + parseFloat(rootElement.css(\"borderTopWidth\"))) -\n parseFloat(topInnerTableElement.css(\"marginTop\"));\n\n var rowOffsetTop = $row.offset().top -\n (rootElement.offset().top + parseFloat(rootElement.css(\"borderTopWidth\"))) -\n parseFloat($row.css(\"marginTop\"));\n\n var resizeHandleOffsetTop = resizeHandle.offset().top -\n (Math.max(0 , rootElement.offset().top) + parseFloat(rootElement.css(\"borderTopWidth\"))) -\n parseFloat(resizeHandle.css(\"marginTop\"));\n\n var handleOffset = constrain({\n value: resizeHandleOffsetTop + scrollTopOffset + e.y.delta,\n min: rowOffsetTop + scrollTopOffset + min,\n max: tableTopOffset + outerHeight(tableHead) + outerHeight(tableBody) + scrollTopOffset - options.handle[HEIGHT] - min\n });\n\n resizeHandle.css({ top: handleOffset });\n },\n\n resize: function(e) {\n var that = this;\n var options = that.options;\n var row = $(e.currentTarget).data(options.handle.dataAttribute);\n var currentRowHeight = outerHeight($(row));\n var element = $(that.element);\n var initialTableHeight = outerHeight(element);\n var tableHead = element.children(THEAD);\n var tableHeadHeight = tableHead.length > 0 ? tableHead.height() : 0;\n var tableBody = element.children(TBODY);\n var tableBodyHeight = tableBody.height();\n var initialStyleHeight = row.style[HEIGHT];\n var newRowHeight = constrain({\n value: currentRowHeight + e.y.initialDelta,\n min: options.min,\n max: abs(tableHeadHeight + tableBodyHeight - options.min)\n });\n\n that._setRowsHeightInPixels();\n row.style[HEIGHT] = toPixels(newRowHeight);\n that._setTableHeight(initialTableHeight + (newRowHeight - currentRowHeight));\n\n if (inPercentages(initialStyleHeight)) {\n //resize rows in percentages as late as possible to prevent incorrect precision calculations\n that._setRowsHeightInPercentages();\n }\n },\n\n _setRowsHeightInPixels: function() {\n var that = this;\n var rows = $(that.element).children(TBODY + COMMA + THEAD).children(TR);\n var length = rows.length;\n var currentRowsHeights = rows.map(function() {\n return outerHeight($(this));\n });\n var i;\n\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPixels(currentRowsHeights[i]);\n }\n },\n\n _setRowsHeightInPercentages: function() {\n var that = this;\n var tableHead = $(that.element).children(THEAD);\n var tableHeadHeight = tableHead.length > 0 ? tableHead.height() : 0;\n var tableBody = $(that.element).children(TBODY);\n var tableBodyHeight = tableBody.height();\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(TR);\n var length = rows.length;\n var currentRowsHeights = rows.map(function() {\n return outerHeight($(this));\n });\n var i;\n\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPercentages(calculatePercentageRatio(currentRowsHeights[i], tableHeadHeight + tableBodyHeight));\n }\n },\n\n _setTableHeight: function(newHeight) {\n var element = this.element;\n\n if (inPercentages(element.style[HEIGHT])) {\n element.style[HEIGHT] = toPercentages(calculatePercentageRatio(newHeight, $(element).parent().height()));\n }\n else {\n element.style[HEIGHT] = toPixels(newHeight);\n }\n }\n });\n\n RowResizing.create = function(editor) {\n TableElementResizing.create(editor, {\n name: \"rowResizing\",\n type: RowResizing,\n eventNamespace: NS\n });\n };\n\n RowResizing.dispose = function(editor) {\n TableElementResizing.dispose(editor, {\n eventNamespace: NS\n });\n };\n\n extend(Editor, {\n RowResizing: RowResizing\n });\n\n})(window.kendo);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define) {\n define('editor/resizing/element-resize-handle',[\"../main\", \"../../kendo.draganddrop\", \"./resizing-utils\"], f);\n})(function() {\n\n(function(kendo, undefined) {\n var $ = kendo.jQuery;\n var extend = $.extend;\n var noop = $.noop;\n var proxy = $.proxy;\n\n var Editor = kendo.ui.editor;\n var Class = kendo.Class;\n var Draggable = kendo.ui.Draggable;\n var Observable = kendo.Observable;\n var getScrollBarWidth = Editor.ResizingUtils.getScrollBarWidth;\n var outerWidth = kendo._outerWidth;\n var outerHeight = kendo._outerHeight;\n\n var NS = \".kendoEditorElementResizeHandle\";\n var RESIZE_HANDLE_CLASS = \"k-element-resize-handle\";\n\n var DRAG_START = \"dragStart\";\n var DRAG = \"drag\";\n var DRAG_END = \"dragEnd\";\n var HALF_INSIDE = \"halfInside\";\n var MOUSE_OVER = \"mouseover\";\n var MOUSE_OUT = \"mouseout\";\n\n var BODY = \"body\";\n var TABLE = \"table\";\n\n var EAST = \"east\";\n var NORTH = \"north\";\n var NORTHEAST = \"northeast\";\n var NORTHWEST = \"northwest\";\n var SOUTH = \"south\";\n var SOUTHEAST = \"southeast\";\n var SOUTHWEST = \"southwest\";\n var WEST = \"west\";\n\n var DOT = \".\";\n\n var ElementResizeHandle = Observable.extend({\n init: function(options) {\n var that = this;\n\n Observable.fn.init.call(that);\n\n that.options = extend({}, that.options, options);\n that.element = $(that.options.template).appendTo(that.options.appendTo)[0];\n\n that._attachEventHandlers();\n that._addStyles();\n that._initDraggable();\n that._initPositioningStrategy();\n that._initDraggingStrategy();\n\n $(that.element).data(TABLE, that.options.resizableElement);\n },\n\n destroy: function() {\n var that = this;\n\n $(that.element).off(NS).remove();\n that.element = null;\n\n that._destroyDraggable();\n\n that.unbind();\n },\n\n options: {\n appendTo: null,\n direction: SOUTHEAST,\n resizableElement: null,\n rtl: false,\n template:\n \"
    \"+\n \"
    \" +\n \"
    \"\n },\n\n events: [\n DRAG_START,\n DRAG,\n DRAG_END,\n MOUSE_OVER,\n MOUSE_OUT\n ],\n\n show: function() {\n this._setPosition();\n },\n\n _setPosition: function() {\n var that = this;\n var position = that._positioningStrategy.getPosition();\n\n $(that.element).css({\n top: position.top,\n left: position.left,\n position: \"absolute\"\n });\n },\n\n _attachEventHandlers: function() {\n var that = this;\n\n $(that.element)\n .on(MOUSE_OVER + NS, proxy(that._onMouseOver, that))\n .on(MOUSE_OUT + NS, proxy(that._onMouseOut, that));\n },\n\n _onMouseOver: function() {\n this.trigger(MOUSE_OVER);\n },\n\n _onMouseOut: function() {\n this.trigger(MOUSE_OUT);\n },\n\n _addStyles: function() {\n var that = this;\n $(that.element).children(DOT + RESIZE_HANDLE_CLASS).addClass(\"k-resize-\" + that.options.direction);\n },\n\n _initPositioningStrategy: function() {\n var that = this;\n var options = that.options;\n\n that._positioningStrategy = HandlePositioningStrategy.create({\n name: options.direction,\n handle: that.element,\n resizableElement: options.resizableElement,\n rootElement: options.rootElement,\n rtl: options.rtl\n });\n },\n\n _initDraggable: function() {\n var that = this;\n var element = that.element;\n\n if (that._draggable || !element) {\n return;\n }\n\n that._draggable = new Draggable(element, {\n dragstart: proxy(that._onDragStart, that),\n drag: proxy(that._onDrag, that),\n dragend: proxy(that._onDragEnd, that)\n });\n },\n\n _onDragStart: function() {\n this.trigger(DRAG_START);\n },\n\n _onDrag: function(e) {\n var that = this;\n\n that.trigger(DRAG, that._draggingStrategy.adjustDragDelta({\n deltaX: e.x.delta,\n deltaY: e.y.delta,\n initialDeltaX: e.x.initialDelta,\n initialDeltaY: e.y.initialDelta\n }));\n },\n\n _onDragEnd: function() {\n this.trigger(DRAG_END);\n },\n\n _destroyDraggable : function() {\n var that = this;\n\n if (that._draggable) {\n that._draggable.destroy();\n that._draggable = null;\n }\n },\n\n _initDraggingStrategy: function() {\n var that = this;\n\n that._draggingStrategy = HandleDraggingStrategy.create({\n name: that.options.direction\n });\n }\n });\n\n var StrategyFactory = Class.extend({\n init: function() {\n this._items = [];\n },\n\n register: function(name, type) {\n this._items.push({\n name: name,\n type: type\n });\n },\n\n create: function(options) {\n var items = this._items;\n var itemsLength = items.length;\n var name = options.name ? options.name.toLowerCase() : \"\";\n var match;\n var item;\n var i;\n\n for (i = 0; i < itemsLength; i++) {\n item = items[i];\n\n if (item.name.toLowerCase() === name) {\n match = item;\n break;\n }\n }\n\n if (match) {\n return new match.type(options);\n }\n }\n });\n\n var PositioningStrategyFactory = StrategyFactory.extend({});\n PositioningStrategyFactory.current = new PositioningStrategyFactory();\n\n var HandlePositioningStrategy = Class.extend({\n init: function(options) {\n var that = this;\n that.options = extend({}, that.options, options);\n },\n\n options: {\n handle: null,\n offset: HALF_INSIDE,\n resizableElement: null,\n rootElement: null,\n rtl: false\n },\n\n getPosition: function() {\n var that = this;\n\n var position = that.calculatePosition();\n var handleOffsetPosition = that.applyHandleOffset(position);\n var scrollOffsetPosition = that.applyScrollOffset(handleOffsetPosition);\n\n return scrollOffsetPosition;\n },\n\n calculatePosition: noop,\n\n applyHandleOffset: function(position) {\n var options = this.options;\n var handle = $(options.handle);\n\n if (options.offset === HALF_INSIDE) {\n return {\n top: position.top - (outerHeight(handle) / 2),\n left: position.left - (outerWidth(handle) / 2)\n };\n }\n\n return position;\n },\n\n applyScrollOffset: function(position) {\n var options = this.options;\n var rootElement = $(options.rootElement);\n var scrollBarWidth = options.rtl ? getScrollBarWidth(rootElement[0]) : 0;\n var browser = kendo.support.browser;\n var rootLeft;\n\n if (!rootElement.is(BODY)) {\n rootLeft = kendo.scrollLeft(rootElement) || 0;\n\n if(options.rtl && (browser.mozilla || (browser.webkit && browser.version >= 85))) {\n rootLeft = rootLeft * -1;\n }\n\n return {\n top: position.top + (rootElement.scrollTop() || 0),\n left: position.left + rootLeft - scrollBarWidth\n };\n }\n\n return position;\n }\n });\n\n HandlePositioningStrategy.create = function(options) {\n return PositioningStrategyFactory.current.create(options);\n };\n\n var EastPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top + (outerHeight(resizableElement) / 2),\n left: offset.left + outerWidth(resizableElement) + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(EAST, EastPositioningStrategy);\n\n var NorthPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top,\n left: offset.left + (outerWidth(resizableElement) / 2) + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(NORTH, NorthPositioningStrategy);\n\n var NortheastPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top,\n left: offset.left + outerWidth(resizableElement) + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(NORTHEAST, NortheastPositioningStrategy);\n\n var NorthwestPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top,\n left: offset.left + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(NORTHWEST, NorthwestPositioningStrategy);\n\n var SouthPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top + outerHeight(resizableElement),\n left: offset.left + (outerWidth(resizableElement) / 2) + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(SOUTH, SouthPositioningStrategy);\n\n var SoutheastPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top + outerHeight(resizableElement),\n left: offset.left + outerWidth(resizableElement) + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(SOUTHEAST, SoutheastPositioningStrategy);\n\n var SouthwestPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top + outerHeight(resizableElement),\n left: offset.left + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(SOUTHWEST, SouthwestPositioningStrategy);\n\n var WestPositioningStrategy = HandlePositioningStrategy.extend({\n calculatePosition: function() {\n var resizableElement = $(this.options.resizableElement);\n var offset = resizableElement.position();\n var marginLeft = parseInt(resizableElement.css(\"marginLeft\"), 10);\n\n return {\n top: offset.top + (outerHeight(resizableElement) / 2),\n left: offset.left + marginLeft\n };\n }\n });\n PositioningStrategyFactory.current.register(WEST, WestPositioningStrategy);\n\n var DraggingStrategyFactory = StrategyFactory.extend({});\n DraggingStrategyFactory.current = new DraggingStrategyFactory();\n\n var HandleDraggingStrategy = Class.extend({\n init: function(options) {\n var that = this;\n that.options = extend({}, that.options, options);\n },\n\n options: {\n deltaX: {\n adjustment: null,\n modifier: null\n },\n deltaY: {\n adjustment: null,\n modifier: null\n }\n },\n\n adjustDragDelta: function(deltas) {\n var options = this.options;\n var xAxisAdjustment = options.deltaX.adjustment * options.deltaX.modifier;\n var yAxisAdjustment = options.deltaY.adjustment * options.deltaY.modifier;\n\n return {\n deltaX: deltas.deltaX * xAxisAdjustment,\n deltaY: deltas.deltaY * yAxisAdjustment,\n initialDeltaX: deltas.initialDeltaX * xAxisAdjustment,\n initialDeltaY: deltas.initialDeltaY * yAxisAdjustment\n };\n }\n });\n\n HandleDraggingStrategy.create = function(options) {\n return DraggingStrategyFactory.current.create(options);\n };\n\n var HorizontalDraggingStrategy = HandleDraggingStrategy.extend({\n options: {\n deltaX: {\n adjustment: 1,\n modifier: 1\n },\n deltaY: {\n adjustment: 0,\n modifier: 0\n }\n }\n });\n\n var EastDraggingStrategy = HorizontalDraggingStrategy.extend({\n options: {\n deltaX: {\n modifier: 1\n }\n }\n });\n DraggingStrategyFactory.current.register(EAST, EastDraggingStrategy);\n\n var WestDraggingStrategy = HorizontalDraggingStrategy.extend({\n options: {\n deltaX: {\n modifier: (-1)\n }\n }\n });\n DraggingStrategyFactory.current.register(WEST, WestDraggingStrategy);\n\n var VerticalDraggingStrategy = HandleDraggingStrategy.extend({\n options: {\n deltaX: {\n adjustment: 0,\n modifier: 0\n },\n deltaY: {\n adjustment: 1,\n modifier: 1\n }\n }\n });\n\n var NorthDraggingStrategy = VerticalDraggingStrategy.extend({\n options: {\n deltaY: {\n modifier: (-1)\n }\n }\n });\n DraggingStrategyFactory.current.register(NORTH, NorthDraggingStrategy);\n\n var SouthDraggingStrategy = VerticalDraggingStrategy.extend({\n options: {\n deltaY: {\n modifier: 1\n }\n }\n });\n DraggingStrategyFactory.current.register(SOUTH, SouthDraggingStrategy);\n\n var HorizontalAndVerticalDraggingStrategy = HandleDraggingStrategy.extend({\n options: {\n deltaX: {\n adjustment: 1,\n modifier: 1\n },\n deltaY: {\n adjustment: 1,\n modifier: 1\n }\n }\n });\n\n var NorthEastDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: {\n modifier: 1\n },\n deltaY: {\n modifier: (-1)\n }\n }\n });\n DraggingStrategyFactory.current.register(NORTHEAST, NorthEastDraggingStrategy);\n\n var NorthWestDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: {\n modifier: (-1)\n },\n deltaY: {\n modifier: (-1)\n }\n }\n });\n DraggingStrategyFactory.current.register(NORTHWEST, NorthWestDraggingStrategy);\n\n var SouthEastDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: {\n modifier: 1\n },\n deltaY: {\n modifier: 1\n }\n }\n });\n DraggingStrategyFactory.current.register(SOUTHEAST, SouthEastDraggingStrategy);\n\n var SouthWestDraggingStrategy = HorizontalAndVerticalDraggingStrategy.extend({\n options: {\n deltaX: {\n modifier: (-1)\n },\n deltaY: {\n modifier: 1\n }\n }\n });\n DraggingStrategyFactory.current.register(SOUTHWEST, SouthWestDraggingStrategy);\n\n extend(Editor, {\n ElementResizeHandle: ElementResizeHandle\n });\n})(window.kendo);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define) {\n define('editor/resizing/element-resizing',[\"../main\", \"./element-resize-handle\", \"./resizing-utils\"], f);\n})(function() {\n\n(function(kendo, undefined) {\n var global = window;\n var math = global.Math;\n var min = math.min;\n var max = math.max;\n\n var $ = kendo.jQuery;\n var contains = $.contains;\n var extend = $.extend;\n var proxy = $.proxy;\n\n var browser = kendo.support.browser;\n var Editor = kendo.ui.editor;\n var Class = kendo.Class;\n var ElementResizeHandle = Editor.ElementResizeHandle;\n var ResizingUtils = Editor.ResizingUtils;\n var calculatePercentageRatio = ResizingUtils.calculatePercentageRatio;\n var constrain = ResizingUtils.constrain;\n var inPercentages = ResizingUtils.inPercentages;\n var inPixels = ResizingUtils.inPixels;\n var toPercentages = ResizingUtils.toPercentages;\n var toPixels = ResizingUtils.toPixels;\n var outerWidth = kendo._outerWidth;\n var outerHeight = kendo._outerHeight;\n var RangeUtils = Editor.RangeUtils;\n\n var NS = \".kendoEditorElementResizing\";\n var RESIZE_HANDLE_WRAPPER_CLASS = \"k-element-resize-handle-wrapper\";\n var TABLE_CLASS = \"k-table\";\n var ELEMENT_RESIZING_CLASS = \"k-element-resizing\";\n\n var DRAG_START = \"dragStart\";\n var DRAG = \"drag\";\n var DRAG_END = \"dragEnd\";\n var KEY_DOWN = \"keydown\";\n var MOUSE_DOWN = \"mousedown\";\n var MOUSE_OVER = \"mouseover\";\n var MOUSE_OUT = \"mouseout\";\n var SELECT = \"select\";\n var DROP = \"drop\";\n\n var COLUMN = \"td\";\n var ROW = \"tr\";\n var TBODY = \"tbody\";\n var THEAD = \"thead\";\n var TABLE = \"table\";\n var IMG = \"img\";\n var ELEMENT_TYPES = [\"TABLE\", \"IMG\"];\n\n var COMMA = \",\";\n var WIDTH = \"width\";\n var HEIGHT = \"height\";\n\n var EAST = \"east\";\n var NORTH = \"north\";\n var NORTHEAST = \"northeast\";\n var NORTHWEST = \"northwest\";\n var SOUTH = \"south\";\n var SOUTHEAST = \"southeast\";\n var SOUTHWEST = \"southwest\";\n var WEST = \"west\";\n\n var DOT = \".\";\n\n function isUndefined(value) {\n return typeof(value) === \"undefined\";\n }\n\n var ElementResizing = Class.extend({\n init: function(element, options) {\n var that = this;\n\n that.options = extend({}, that.options, options);\n that.handles = [];\n\n // Check whether the element is TABLE or IMG\n if (ELEMENT_TYPES.indexOf(element.nodeName) >= 0) {\n that.element = element;\n }\n },\n\n destroy: function() {\n var that = this;\n\n $(that.element).off(NS);\n that.element = null;\n\n $(that.options.rootElement).off(KEY_DOWN + NS);\n\n that._destroyResizeHandles();\n },\n\n options: {\n appendHandlesTo: null,\n rtl: false,\n rootElement: null,\n minWidth: 10,\n minHeight: 10,\n handles: [{\n direction: NORTHWEST\n }, {\n direction: NORTH\n }, {\n direction: NORTHEAST\n }, {\n direction: EAST\n }, {\n direction: SOUTHEAST\n }, {\n direction: SOUTH\n }, {\n direction: SOUTHWEST\n }, {\n direction: WEST\n }]\n },\n\n resize: function(args) {\n var that = this;\n var deltas = extend({}, {\n deltaX: 0,\n deltaY: 0,\n initialDeltaX: 0,\n initialDeltaY: 0\n }, args);\n\n that._resizeWidth(deltas.deltaX, deltas.initialDeltaX);\n that._resizeHeight(deltas.deltaY, deltas.initialDeltaY);\n\n that.showResizeHandles();\n },\n\n _resizeWidth: function() {\n return false;\n },\n\n _resizeHeight: function() {\n return false;\n },\n\n _getMaxDimensionValue: function(dimension) {\n var that = this;\n var element = $(that.element);\n var dimensionLowercase = dimension.toLowerCase();\n var rtlModifier = that.options.rtl ? (-1) : 1;\n var parent = $(that.element).parent();\n var parentElement = parent[0];\n var parentDimension = parent[dimensionLowercase]();\n var parentScrollOffset = rtlModifier * (dimension === WIDTH ? kendo.scrollLeft(parent) : parent.scrollTop());\n\n if (parentElement && parentElement === element.closest(COLUMN)[0]) {\n if (parentElement.style[dimensionLowercase] === \"\" && !inPercentages(that.element.style[dimensionLowercase])) {\n return Infinity;\n }\n else {\n return (parentDimension + parentScrollOffset);\n }\n }\n else {\n return (parentDimension + parentScrollOffset);\n }\n },\n\n showResizeHandles: function() {\n var that = this;\n\n that._initResizeHandles();\n that._showResizeHandles();\n },\n\n _initResizeHandles: function() {\n var that = this;\n var handles = that.handles;\n var options = that.options;\n var handleOptions = that.options.handles;\n var length = handleOptions.length;\n var i;\n\n if (handles && handles.length > 0) {\n return;\n }\n\n for (i = 0; i < length; i++) {\n that.handles.push(new ElementResizeHandle(extend({\n appendTo: options.appendHandlesTo,\n resizableElement: that.element,\n rootElement: options.rootElement,\n rtl: options.rtl\n }, handleOptions[i])));\n }\n\n that._bindToResizeHandlesEvents();\n },\n\n _destroyResizeHandles: function() {\n var that = this;\n var length = that.handles ? that.handles.length : 0;\n\n for (var i = 0; i < length; i++) {\n that.handles[i].destroy();\n }\n\n that.handles = [];\n },\n\n _showResizeHandles: function() {\n var that = this;\n var handles = that.handles || [];\n var length = handles.length;\n var i;\n\n for (i = 0; i < length; i++) {\n that.handles[i].show();\n }\n },\n\n _bindToResizeHandlesEvents: function() {\n return false;\n },\n\n _onResizeHandleDragStart: function() {\n var that = this;\n var element = $(that.element);\n\n element.addClass(ELEMENT_RESIZING_CLASS);\n\n that._initialElementHeight = outerHeight(element);\n that._initialElementWidth = outerWidth(element);\n that._disableKeyboard();\n },\n\n _onResizeHandleDrag: function(e) {\n this.resize(e);\n },\n\n _onResizeHandleDragEnd: function() {\n var that = this;\n $(that.element).removeClass(ELEMENT_RESIZING_CLASS);\n that._enableKeyboard();\n },\n\n _enableKeyboard: function() {\n $(this.options.rootElement).off(KEY_DOWN + NS);\n },\n\n _disableKeyboard: function() {\n $(this.options.rootElement).on(KEY_DOWN + NS, function(e) {\n e.preventDefault();\n });\n }\n });\n\n var TableResizing = ElementResizing.extend({\n _bindToResizeHandlesEvents: function() {\n var that = this;\n var handles = that.handles || [];\n var length = handles.length;\n var i;\n var handle;\n\n for (i = 0; i < length; i++) {\n handle = handles[i];\n handle.bind(DRAG_START, proxy(that._onResizeHandleDragStart, that));\n handle.bind(DRAG, proxy(that._onResizeHandleDrag, that));\n handle.bind(DRAG_END, proxy(that._onResizeHandleDragEnd, that));\n handle.bind(MOUSE_OVER, proxy(that._onResizeHandleMouseOver, that));\n handle.bind(MOUSE_OUT, proxy(that._onResizeHandleMouseOut, that));\n }\n },\n\n _hasRowsInPixels: function() {\n var that = this;\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(ROW);\n\n for (var i = 0; i < rows.length; i++) {\n if (rows[i].style.height === \"\" || inPixels(rows[i].style.height)) {\n return true;\n }\n }\n\n return false;\n },\n\n _resizeWidth: function(delta, initialDelta) {\n var that = this;\n var element = $(that.element);\n var styleWidth = element[0].style[WIDTH];\n var currentWidth = outerWidth(element);\n var parentWidth = element.parent().width();\n var maxWidth = that._getMaxDimensionValue(WIDTH);\n var newWidth;\n var ratioValue;\n var ratioTotalValue;\n var constrainedWidth;\n\n if (delta === 0) {\n return;\n }\n\n if (isUndefined(that._initialElementWidth)) {\n that._initialElementWidth = currentWidth;\n }\n\n //use initial delta instead of delta as changing the width with a small value (e.g. 1px)\n //on each drag does not work due to browser calculation of computed styles\n constrainedWidth = constrain({\n value: that._initialElementWidth + initialDelta,\n min: that.options.minWidth,\n max: maxWidth\n });\n\n if (inPercentages(styleWidth)) {\n //detect resizing greater than 100%\n if (currentWidth + delta > parentWidth) {\n ratioValue = max(constrainedWidth, parentWidth);\n ratioTotalValue = min(constrainedWidth, parentWidth);\n }\n else {\n ratioValue = min(constrainedWidth, parentWidth);\n ratioTotalValue = max(constrainedWidth, parentWidth);\n }\n\n newWidth = toPercentages(calculatePercentageRatio(ratioValue, ratioTotalValue));\n }\n else {\n newWidth = toPixels(constrainedWidth);\n }\n\n that._setColumnsWidth();\n\n element[0].style[WIDTH] = newWidth;\n },\n\n _resizeHeight: function(delta, initialDelta) {\n var that = this;\n var element = $(that.element);\n var styleHeight = element[0].style[HEIGHT];\n var currentHeight = outerHeight(element);\n var parent = element.parent();\n var parentHeight = parent.height();\n var maxHeight = that._getMaxDimensionValue(HEIGHT);\n var newHeight;\n var ratioValue;\n var ratioTotalValue;\n var constrainedHeight;\n var minHeight = that.options.minHeight;\n var hasRowsInPixels = that._hasRowsInPixels();\n\n if (delta === 0) {\n return;\n }\n\n if (isUndefined(that._initialElementHeight)) {\n that._initialElementHeight = currentHeight;\n }\n\n //use initial delta instead of delta as changing the height with a small value (e.g. 1px)\n //on each drag does not work due to browser calculation of computed styles\n constrainedHeight = constrain({\n value: that._initialElementHeight + initialDelta,\n min: minHeight,\n max: maxHeight\n });\n\n if (hasRowsInPixels && delta < 0) {\n //decreasing table height when rows are sized in pixels is not possible\n that._setRowsHeightInPercentages();\n }\n\n if (inPercentages(styleHeight)) {\n //detect resizing greater than 100%\n if (currentHeight + delta > parentHeight) {\n ratioValue = max(constrainedHeight, parentHeight);\n ratioTotalValue = min(constrainedHeight, parentHeight);\n }\n else {\n ratioValue = min(constrainedHeight, parentHeight);\n ratioTotalValue = max(constrainedHeight, parentHeight);\n }\n\n newHeight = toPercentages(calculatePercentageRatio(ratioValue, ratioTotalValue));\n }\n else {\n newHeight = toPixels(constrainedHeight);\n }\n\n element[0].style[HEIGHT] = newHeight;\n\n if (hasRowsInPixels && delta < 0) {\n //restore original rows height unit\n that._setRowsHeightInPixels();\n }\n },\n\n _setColumnsWidth: function() {\n var that = this;\n var element = $(that.element);\n var parentElement = element.parent()[0];\n var parentColumn = element.closest(COLUMN);\n var columns = parentColumn.closest(ROW).children();\n var columnsLength = columns.length;\n var i;\n\n function isWidthInPercentages(element) {\n var styleWidth = element.style.width;\n\n if (styleWidth !== \"\") {\n return inPercentages(styleWidth) ? true : false;\n }\n else {\n return $(element).hasClass(TABLE_CLASS) ? true : false;\n }\n }\n\n if (isWidthInPercentages(element[0]) && parentElement === parentColumn[0] && parentElement.style[WIDTH] === \"\") {\n for (i = 0; i < columnsLength; i++) {\n columns[i].style[WIDTH] = toPixels($(columns[i]).width());\n }\n }\n },\n\n _setRowsHeightInPercentages: function() {\n var that = this;\n var tableHead = $(that.element).children(THEAD);\n var tableHeadHeight = tableHead.length > 0 ? tableHead.height() : 0;\n var tableBody = $(that.element).children(TBODY);\n var tableBodyHeight = tableBody.height();\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(ROW);\n var length = rows.length;\n var currentRowsHeights = rows.map(function() {\n return outerHeight($(this));\n });\n var i;\n\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPercentages(calculatePercentageRatio(currentRowsHeights[i], tableHeadHeight + tableBodyHeight));\n }\n },\n\n _setRowsHeightInPixels: function() {\n var that = this;\n var rows = $(that.element).children(THEAD + COMMA + TBODY).children(ROW);\n var length = rows.length;\n var currentRowsHeights = rows.map(function() {\n return outerHeight($(this));\n });\n var i;\n\n for (i = 0; i < length; i++) {\n rows[i].style[HEIGHT] = toPixels(currentRowsHeights[i]);\n }\n }\n });\n\n var ImageResizing = ElementResizing.extend({\n _bindToResizeHandlesEvents: function() {\n var that = this;\n var handles = that.handles || [];\n var length = handles.length;\n var i;\n var handle;\n\n for (i = 0; i < length; i++) {\n handle = handles[i];\n handle.bind(DRAG_START, proxy(that._onResizeHandleDragStart, that));\n\n if(handle.options.direction === \"north\" || handle.options.direction === \"south\") {\n handle.bind(DRAG, proxy(that._onResizeHandleDragVertical, that));\n } else if(handle.options.direction === \"east\" || handle.options.direction === \"west\") {\n handle.bind(DRAG, proxy(that._onResizeHandleDragHorizontal, that));\n } else {\n handle.bind(DRAG, proxy(that._onResizeHandleDragLocked, that));\n }\n\n handle.bind(DRAG_END, proxy(that._onResizeHandleDragEnd, that));\n handle.bind(MOUSE_OVER, proxy(that._onResizeHandleMouseOver, that));\n handle.bind(MOUSE_OUT, proxy(that._onResizeHandleMouseOut, that));\n }\n },\n\n _getDeltas: function(args) {\n return extend({}, {\n deltaX: 0,\n deltaY: 0,\n initialDeltaX: 0,\n initialDeltaY: 0\n }, args);\n },\n\n _onResizeHandleDragVertical: function(args) {\n var deltas = this._getDeltas(args);\n\n this._resizeHeight(deltas.deltaY, deltas.initialDeltaY);\n this.showResizeHandles();\n },\n\n _onResizeHandleDragHorizontal: function(args) {\n var deltas = this._getDeltas(args);\n\n this._resizeWidth(deltas.deltaX, deltas.initialDeltaX);\n this.showResizeHandles();\n },\n\n _onResizeHandleDragLocked: function(args) {\n var min = Math.min(Math.abs(args.initialDeltaX), Math.abs(args.initialDeltaY)),\n initialWidth = this._initialElementWidth,\n initialHeight = this._initialElementHeight,\n deltas;\n\n if(min === args.initialDeltaX || min === args.initialDeltaX * -1) {\n args.initialDeltaY = args.initialDeltaX * initialHeight / initialWidth;\n args.deltaY = args.deltaX;\n } else if (min === args.initialDeltaY || min === args.initialDeltaY * -1) {\n args.initialDeltaX = args.initialDeltaY * initialWidth / initialHeight;\n args.deltaX = args.deltaY;\n }\n\n deltas = this._getDeltas(args);\n\n this._resizeWidth(deltas.deltaX, deltas.initialDeltaX);\n this._resizeHeight(deltas.deltaY, deltas.initialDeltaY);\n\n this.showResizeHandles();\n },\n\n _resizeWidth: function(delta, initialDelta) {\n var that = this;\n var element = $(that.element);\n var currentWidth = outerWidth(element);\n var newWidth;\n var constrainedWidth;\n\n if (delta === 0) {\n return;\n }\n\n if (isUndefined(that._initialElementWidth)) {\n that._initialElementWidth = currentWidth;\n }\n\n //use initial delta instead of delta as changing the width with a small value (e.g. 1px)\n //on each drag does not work due to browser calculation of computed styles\n constrainedWidth = constrain({\n value: that._initialElementWidth + initialDelta,\n min: that.options.minWidth,\n max: that._getMaxDimensionValue(WIDTH)\n });\n\n newWidth = toPixels(constrainedWidth);\n element[0].style[WIDTH] = newWidth;\n element.attr(WIDTH, Math.floor(constrainedWidth));\n },\n\n _resizeHeight: function(delta, initialDelta) {\n var that = this;\n var element = $(that.element);\n var currentHeight = outerHeight(element);\n var newHeight;\n var constrainedHeight;\n\n if (delta === 0) {\n return;\n }\n\n if (isUndefined(that._initialElementHeight)) {\n that._initialElementHeight = currentHeight;\n }\n\n //use initial delta instead of delta as changing the height with a small value (e.g. 1px)\n //on each drag does not work due to browser calculation of computed styles\n constrainedHeight = constrain({\n value: that._initialElementHeight + initialDelta,\n min: that.options.minHeight,\n max: Number.MAX_SAFE_INTEGER\n });\n\n newHeight = toPixels(constrainedHeight);\n element[0].style[HEIGHT] = newHeight;\n element.attr(HEIGHT, Math.floor(constrainedHeight));\n }\n });\n\n var ElementResizingFactory = Class.extend({\n create: function(editor) {\n var factory = this;\n\n $(editor.body)\n .on(\"dragstart\" + NS, function() {\n var nodes = RangeUtils.nodes(editor.getRange()),\n hasImg = false;\n\n nodes.forEach(function(node) {\n if(node.nodeName === \"IMG\") {\n hasImg = true;\n }\n });\n\n if(hasImg && nodes.length > 1) {\n editor.elementResizing._destroyResizeHandles();\n }\n })\n .on(DROP + NS, function() {\n setTimeout(function() {\n var image = RangeUtils.image(editor.getRange());\n\n if(image) {\n editor.elementResizing._destroyResizeHandles();\n editor.elementResizing.element = image;\n editor.elementResizing.showResizeHandles();\n }\n });\n })\n .on(MOUSE_DOWN + NS, TABLE + COMMA + IMG, function(e) {\n var eventTarget = e.target;\n var eventCurrentTarget = e.currentTarget;\n var elementResizing = editor.elementResizing;\n var element = elementResizing ? elementResizing.element : null;\n\n if (elementResizing) {\n if (element && eventCurrentTarget !== element) {\n if (contains(eventCurrentTarget, element) && element !== eventTarget && contains(element, eventTarget)) {\n //prevent a parent table resizing init when clicking on a nested table when the event bubbles\n //instead of stopping event propagation\n return;\n }\n else {\n if (element !== eventTarget) {\n editor._destroyElementResizing();\n factory._initResizing(editor, eventCurrentTarget);\n }\n }\n }\n }\n else {\n factory._initResizing(editor, eventCurrentTarget);\n }\n\n editor._showElementResizeHandles();\n })\n .on(MOUSE_DOWN + NS, function(e) {\n var elementResizing = editor.elementResizing;\n var element = elementResizing ? elementResizing.element : null;\n var target = e.target;\n var isResizeHandleOrChild = $(target).hasClass(RESIZE_HANDLE_WRAPPER_CLASS) || $(target).parents(DOT + RESIZE_HANDLE_WRAPPER_CLASS).length > 0;\n\n if (elementResizing && element !== target && !contains(element, target) && !isResizeHandleOrChild) {\n editor._destroyElementResizing();\n }\n });\n },\n\n dispose: function(editor) {\n $(editor.body).off(NS);\n },\n\n _initResizing: function(editor, element) {\n // table and image resizing is natively supported in IE\n // https://stackoverflow.com/questions/53831846/resizing-images-in-contenteditable-div-stopped-working-in-firefox\n // Enable custom resize handlers for FF too\n if (!browser.msie) {\n if($(element).is(TABLE)) {\n editor.elementResizing = editor.tableResizing = new TableResizing(element, {\n appendHandlesTo: editor.body,\n rtl: kendo.support.isRtl(editor.element),\n rootElement: editor.body\n });\n } else if($(element).is(IMG)) {\n editor.elementResizing = new ImageResizing(element, {\n appendHandlesTo: editor.body,\n rtl: kendo.support.isRtl(editor.element),\n rootElement: editor.body\n });\n }\n\n if (editor._showElementResizeHandlesProxy) {\n editor.unbind(SELECT, editor._showElementResizeHandlesProxy);\n editor.bind(SELECT, editor._showElementResizeHandlesProxy);\n }\n }\n }\n });\n\n ElementResizingFactory.current = new ElementResizingFactory();\n\n extend(Editor, {\n TableResizing: TableResizing,\n ImageResizing: ImageResizing,\n ElementResizing: ElementResizing,\n ElementResizingFactory: ElementResizingFactory\n });\n\n})(window.kendo);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n(function(f, define) {\n define('editor/table-wizard/table-wizard-command',[\"./../plugins/tables\"], f);\n})(function() {\n\n(function($, undefined) {\n\nvar kendo = window.kendo,\n Editor = kendo.ui.editor,\n EditorUtils = Editor.EditorUtils,\n RangeUtils = Editor.RangeUtils,\n dom = Editor.Dom,\n registerTool = EditorUtils.registerTool,\n ToolTemplate = Editor.ToolTemplate,\n Command = Editor.Command;\n\nvar tableFormatFinder = new Editor.BlockFormatFinder([{tags:[\"table\"]}]);\nvar cellsFormatFinder = new Editor.BlockFormatFinder([{tags:[\"td\",\"th\"]}]);\nvar reUnit = /([a-z]+|%)$/i;\n\nvar COL = \"col\";\nvar ROW = \"row\";\nvar COLGROUP = \"colgroup\";\nvar SCOPE = \"scope\";\nvar COL_INDEX = \"col-index\";\nvar TH = \"th\";\nvar TD = \"td\";\nvar THEAD = \"thead\";\nvar HEADERS = \"headers\";\nvar TABLE = \"table\";\n\nvar TableWizardCommand = Command.extend({\n exec: function() {\n var cmd = this;\n var editor = cmd.editor;\n var range = cmd.range = cmd.lockRange();\n var selectedTable = cmd._sourceTable = !cmd.options.insertNewTable ? cmd._selectedTable(range) : undefined;\n var selectedCells = cmd._selectedTableCells = selectedTable ? cmd._selectedCells(range) : undefined;\n var options = {\n visible: false,\n messages: editor.options.messages,\n closeCallback: $.proxy(cmd.onDialogClose, cmd),\n table: cmd.parseTable(selectedTable, selectedCells),\n dialogOptions: editor.options.dialogOptions,\n isRtl: kendo.support.isRtl(editor.wrapper)\n };\n\n var dialog = new Editor.TableWizardDialog(options);\n dialog.open();\n },\n\n onDialogClose: function(data) {\n var cmd = this;\n cmd.releaseRange(cmd.range);\n\n if (data) { //Ok button pressed\n if (cmd.options.insertNewTable) {\n cmd.insertTable(cmd.createNewTable(data));\n } else {\n cmd.updateTable(data, cmd._sourceTable, cmd._selectedTableCells);\n }\n }\n },\n releaseRange: function(range) {\n var cmd = this;\n var doc = cmd.editor.document;\n dom.windowFromDocument(doc).focus();\n Command.fn.releaseRange.call(cmd, range);\n },\n insertTable: function(table) {\n var range = this.range;\n\n range.insertNode(table);\n range.collapse(true);\n this.editor.selectRange(range);\n\n this._ensureFocusableAfterTable(table);\n },\n _ensureFocusableAfterTable: function (table) {\n var siblingNodes = $(table).parent().contents();\n var lastSiblingIndex = siblingNodes.length - 1;\n var lastSibling = siblingNodes.get(lastSiblingIndex);\n\n while(lastSibling.nodeValue !== null && (lastSibling.nodeValue === \" \" || lastSibling.nodeValue === \"\")) {\n lastSiblingIndex -= 1;\n lastSibling = siblingNodes.get(lastSiblingIndex);\n }\n\n if(lastSibling === table) {\n dom.insertAfter(dom.createEmptyNode(this.editor.document, \"p\"), table);\n }\n },\n updateTable: function(data, table, selectedCells) {\n var cmd = this;\n var tableRows = $(table.rows).toArray();\n var tableProp = data.tableProperties;\n var rows = tableProp.rows;\n var tHead = table.tHead;\n var last = cmd._lastInCollection;\n var lastSelectedRow, cellProp;\n\n //Leave only first selected cell\n while (selectedCells.length > 1) {\n selectedCells.pop();\n }\n\n lastSelectedRow = selectedCells.length ? last(selectedCells).parentNode : last(tableRows);\n\n cmd._deleteTableRows(tableRows, tableRows.length - rows);\n\n if (tableRows.length < rows) {\n cmd._addRows(lastSelectedRow, rows, tableRows);\n }\n\n dom.reMapTableColumns(table, COL_INDEX);\n cmd._updateColumns(tableRows, tableProp.columns, selectedCells, lastSelectedRow);\n cmd._updateTableProperties(table, tableProp);\n\n cellProp = data.cellProperties;\n if (selectedCells[0]) {\n dom.attr(selectedCells[0], {id: cellProp.id || null});\n }\n (cellProp.selectAllCells ? $(tableRows).children() : $(selectedCells)).each(function(i, cell){\n cmd._updateCellProperties(cell, cellProp);\n });\n\n cmd._updateCaption(table, tableProp);\n\n if(tHead) {\n cmd._updateHeadersWithThead(table, data);\n } else {\n cmd._updateHeadersNoThead(table, data);\n }\n\n cmd._updateHeaderAssociates(table, tableProp);\n dom.clearTableMappings(table, COL_INDEX);\n },\n _isHeadingRow: function(row) {\n return dom.is(row.cells[0], TH) && dom.is(row.parentNode, THEAD);\n },\n _isHeadingCell: function(cell) {\n return dom.is(cell, TH);\n },\n cellsWithHeadersAssociated: function(table) {\n var cells = $(table.rows).children();\n var headingIds = [];\n var checkHeader = function(header){\n return headingIds.indexOf(header) > -1;\n };\n\n cells.each(function(c, cell) {\n if (cell.id && dom.is(cell, TH)) {\n headingIds.push(cell.id);\n }\n });\n\n var associatedCells = cells.filter(function(c, cell) {\n var headersAttr = cell.getAttribute(HEADERS);\n var headersArray;\n\n if(headersAttr && !dom.is(cell, TH)) {\n headersArray = headersAttr.split(\" \");\n\n if(headersArray && headersArray.length > 0) {\n return headersArray.some(checkHeader);\n }\n }\n\n return false;\n });\n\n return !!associatedCells.length;\n },\n _insertCells: function(count, row, index) {\n index = isNaN(index) ? -1 : index;\n for (var i = 0, cell; i < count; i++) {\n cell = row.insertCell(index);\n cell.innerHTML = \" \";\n }\n },\n _deleteTableRows: function(rows, count){\n for (var i = 0, row, rowParent; i < count; i++) {\n row = rows.pop();\n rowParent = row.parentNode;\n rowParent.removeChild(row);\n if (!rowParent.rows.length) {\n dom.remove(rowParent);\n }\n }\n },\n createNewTable: function(data) {\n var cmd = this;\n var doc = cmd.editor.document;\n var tableProp = data.tableProperties;\n var table = dom.create(doc, TABLE);\n var rowIndex = 0;\n var thead;\n\n cmd._updateTableProperties(table, tableProp);\n cmd._updateCaption(table, tableProp);\n\n if(tableProp.headerRows && tableProp.headerRows > 0) {\n thead = table.createTHead();\n cmd._createTableRows(data, thead, rowIndex, true);\n rowIndex += tableProp.headerRows;\n }\n\n var tbody = table.createTBody();\n cmd._createTableRows(data, tbody, rowIndex, false);\n\n dom.reMapTableColumns(table, COL_INDEX);\n\n if (tableProp.cellsWithHeaders === \"ids\") {\n dom.associateWithIds(table);\n } else if(tableProp.cellsWithHeaders === \"scope\") {\n cmd._addScopes(table, tableProp.headerRows, tableProp.headerColumns);\n }\n\n dom.clearTableMappings(table, COL_INDEX);\n\n return table;\n },\n _createTableRows: function(data, container, initialIndex, headerRows) {\n var cmd = this;\n var tableProp = data.tableProperties;\n var cellProp = data.cellProperties;\n var columns = tableProp.columns;\n var rows = headerRows ? tableProp.headerRows : tableProp.rows;\n var cellPropToAll = cellProp.selectAllCells;\n var headerColumns = tableProp.headerColumns;\n\n for (var r = initialIndex, row; r < rows; r++) {\n row = container.insertRow();\n\n for (var c = 0, cell; c < columns; c++) {\n if(headerRows || headerColumns > c) {\n cell = document.createElement(TH);\n } else {\n cell = document.createElement(TD);\n }\n\n row.appendChild(cell);\n cell.innerHTML = \" \";\n if (r === 0 && c === 0 && cellProp.id) {\n cell.id = cellProp.id;\n }\n cmd._updateCellProperties(cell, (cellPropToAll || (r === 0 && c === 0)) ? cellProp : {});\n }\n }\n },\n _addRows: function(lastSelectedRow, rows, tableRows) {\n var cmd = this;\n var rowIndex = $(lastSelectedRow).index();\n var cellsLength = lastSelectedRow.cells.length;\n var newRowsCount = rows - tableRows.length;\n var parent = lastSelectedRow.parentNode;\n var row;\n\n while (newRowsCount) {\n row = parent.insertRow(rowIndex + 1);\n cmd._insertCells(cellsLength - row.cells.length, row);\n newRowsCount--;\n }\n },\n _updateColumns: function(tableRows, columns, selectedCells, lastSelectedRow) {\n var cmd = this;\n var last = cmd._lastInCollection;\n var firstRowLastCell = last(tableRows[0].cells);\n var numberOfColumns = Number(firstRowLastCell.getAttribute(COL_INDEX)) + firstRowLastCell.colSpan;\n\n if (numberOfColumns > columns) {\n $(tableRows).each(function(i, row){\n var lastCurrentCell = last(row.cells);\n var rowColumns = Number(lastCurrentCell.getAttribute(COL_INDEX)) + lastCurrentCell.colSpan;\n\n while(rowColumns > columns) {\n if(lastCurrentCell.colSpan && lastCurrentCell.colSpan > 1) {\n lastCurrentCell.colSpan -= 1;\n } else {\n row.deleteCell(-1);\n }\n\n lastCurrentCell = last(row.cells);\n rowColumns = Number(lastCurrentCell.getAttribute(COL_INDEX)) + lastCurrentCell.colSpan;\n }\n });\n }\n\n if (numberOfColumns < columns) {\n var cellIndex = $(last(selectedCells) || last(lastSelectedRow.cells)).index();\n $(tableRows).each(function(i, row) {\n var lastCurrentCell = last(row.cells);\n cmd._insertCells(columns - Number(lastCurrentCell.getAttribute(COL_INDEX)) - lastCurrentCell.colSpan, row, cellIndex + 1);\n });\n }\n },\n _updateTableProperties: function(table, data){\n var style = this._getStylesData(data);\n dom.attr(table, {\n cellSpacing: data.cellSpacing || null,\n cellPadding: data.cellPadding || null,\n className: data.className || null,\n id: data.id || null,\n summary: data.summary || null,\n style: style || null\n });\n $(table).addClass(\"k-table\");\n },\n _updateCellProperties: function(cell, data) {\n var style = this._getStylesData(data);\n style.padding = data.cellPadding || null;\n style.margin = data.cellMargin || null;\n dom.attr(cell, {\n style: style || null,\n className: data.className || null\n });\n },\n _updateCaption: function(table, data){\n if (table.caption && !data.captionContent) {\n table.deleteCaption();\n } else if (data.captionContent) {\n var caption = table.createCaption();\n caption.innerHTML = data.captionContent;\n var alignment = this._getAlignmentData(data.captionAlignment);\n dom.attr(caption, {\n style: {\n textAlign: alignment.textAlign,\n verticalAlign: alignment.verticalAlign\n }\n });\n }\n },\n _updateHeadersNoThead: function(table, data) {\n var cmd = this;\n var tableProp = data.tableProperties;\n var rows = table.rows;\n var row, cells, cell, i, j;\n\n for(i = 0; i < rows.length; i++) {\n row = rows[i];\n cells = row.cells;\n\n for(j = 0; j < cells.length; j++) {\n cell = cells[j];\n if(!cmd._isHeadingCell(cell) && (i < tableProp.headerRows || tableProp.headerColumns > cell.getAttribute(COL_INDEX))) {\n dom.changeTag(cell, TH, false);\n } else if(cmd._isHeadingCell(cell) && i >= tableProp.headerRows && tableProp.headerColumns <= cell.getAttribute(COL_INDEX)) {\n dom.changeTag(cell, TD, false);\n }\n }\n }\n },\n _updateHeadersWithThead: function(table, data) {\n var cmd = this;\n var tableProp = data.tableProperties;\n var thead = table.tHead;\n var rowIndex = 0;\n var tbody = table.tBodies[0];\n var row, cell, i;\n\n if (!tbody) {\n tbody = table.createTBody();\n }\n\n if(tableProp.headerRows && tableProp.headerRows > 0) {\n if (!thead) {\n thead = table.createTHead();\n }\n\n while(thead.rows.length < tableProp.headerRows) {\n thead.appendChild(tbody.rows[0]);\n }\n\n while(thead.rows.length > tableProp.headerRows) {\n tbody.appendChild(thead.rows[0]);\n }\n\n cmd._swapToHeaderCells(thead);\n } else if(thead) {\n while(thead.rows.length > 0) {\n tbody.appendChild(thead.rows[thead.rows.length - 1]);\n }\n\n table.deleteTHead();\n }\n\n while(tbody.rows.length > rowIndex) {\n row = tbody.rows[rowIndex];\n for(i = 0; i < row.cells.length; i++) {\n cell = row.cells[i];\n if (cmd._isHeadingCell(cell) && tableProp.headerColumns <= cell.getAttribute(COL_INDEX)) {\n dom.changeTag(cell, TD, false);\n } else if(!cmd._isHeadingCell(cell) && tableProp.headerColumns > cell.getAttribute(COL_INDEX)) {\n dom.changeTag(cell, TH, false);\n }\n }\n rowIndex += 1;\n }\n },\n _updateHeaderAssociates: function(table, tableProp) {\n var cmd = this;\n\n if (tableProp.cellsWithHeaders === \"ids\") {\n if(!cmd.cellsWithHeadersAssociated(table)) {\n cmd._removeScopes(table);\n }\n dom.associateWithIds(table);\n } else if (tableProp.cellsWithHeaders === \"scope\") {\n if(cmd.cellsWithHeadersAssociated(table)) {\n cmd._removeAssociates(table);\n }\n cmd._addScopes(table, tableProp.headerRows, tableProp.headerColumns);\n } else {\n if(cmd.cellsWithHeadersAssociated(table)) {\n cmd._removeAssociates(table);\n } else {\n cmd._removeScopes(table);\n }\n }\n },\n _addScopes: function(table, headerRows, headerCols) {\n var rows = table.rows;\n var i, j, row, cell;\n\n for(i = 0; i < rows.length; i++) {\n row = rows[i];\n\n for(j = 0; j < row.cells.length; j++) {\n cell = row.cells[j];\n\n if (i < headerRows) {\n cell.setAttribute(SCOPE, COL);\n } else if(cell.getAttribute(COL_INDEX) < headerCols) {\n cell.setAttribute(SCOPE, ROW);\n }\n }\n }\n },\n _removeScopes: function(table) {\n $(table).find(TH).removeAttr(SCOPE);\n $(table).find(COL).remove();\n $(table).find(COLGROUP).remove();\n },\n _removeAssociates: function(table) {\n $(table).find(\"th, td\").removeAttr(\"id headers\");\n },\n _swapToHeaderCells: function(thead) {\n var tds = $(thead).find(\"td\");\n var swapCell = function(index, cell) {\n dom.changeTag(cell, TH, false);\n };\n tds.each(swapCell);\n },\n _getStylesData: function(data) {\n var alignment = this._getAlignmentData(data.alignment);\n var whiteSpace = \"wrapText\" in data ? (data.wrapText ? \"\" : \"nowrap\") : null;\n\n return {\n width: data.width ? data.width + data.widthUnit : null,\n height: data.height ? data.height + data.heightUnit : null,\n textAlign: alignment.textAlign,\n verticalAlign: alignment.verticalAlign,\n backgroundColor: data.bgColor || \"\",\n borderWidth: data.borderWidth,\n borderStyle: data.borderStyle,\n borderColor: data.borderColor || \"\",\n borderCollapse: data.collapseBorders ? \"collapse\" : null,\n whiteSpace: whiteSpace\n };\n },\n _getAlignmentData: function(alignment) {\n var textAlign = \"\";\n var verticalAlign = textAlign;\n\n if (alignment) {\n if (alignment.indexOf(\" \") != -1) {\n var align = alignment.split(\" \");\n textAlign = align[0];\n verticalAlign = align[1];\n } else {\n textAlign = alignment;\n }\n }\n return {textAlign: textAlign, verticalAlign: verticalAlign};\n },\n parseTable: function(table, selectedCells) {\n if (!table) {\n return { tableProperties: {}, selectedCells: [] };\n }\n\n var cmd = this;\n var tStyle = table.style;\n var rows = table.rows;\n var caption = table.caption;\n var captionClone = $(caption ? caption.cloneNode(true) : undefined);\n captionClone.find(\".k-marker\").remove();\n\n var cssClass = table.className;\n cssClass = cssClass.replace(/^k-table\\s|\\sk-table$/, \"\");\n cssClass = cssClass.replace(/\\sk-table\\s/, \" \");\n cssClass = cssClass.replace(/^k-table$/, \"\");\n\n var tableAlignment = cmd._getAlignment(table, true);\n var captionAlignment = caption ? cmd._getAlignment(caption) : undefined;\n var numberOfHeaderRows = dom._getNumberOfHeaderRows(table);\n\n var cellsWithHeaders;\n if(cmd.cellsWithHeadersAssociated(table)) {\n cellsWithHeaders = \"ids\";\n } else if ($(table).find(\"th[scope]\").length > 0) {\n cellsWithHeaders = \"scope\";\n } else {\n cellsWithHeaders = \"none\";\n }\n\n dom.reMapTableColumns(table, COL_INDEX);\n var numberOfColumns = dom._getNumberOfColumns(table);\n var numberOfHeaderColumns = dom._getNumberOfHeaderColumns(table, numberOfHeaderRows);\n dom.clearTableMappings(table, COL_INDEX);\n\n var tableJson = {\n tableProperties: {\n width: tStyle.width || table.width ? parseFloat(tStyle.width || table.width) : null,\n height: tStyle.height || table.height ? parseFloat(tStyle.height || table.height) : null,\n columns: numberOfColumns,\n rows: rows.length,\n widthUnit: cmd._getUnit(tStyle.width),\n heightUnit: cmd._getUnit(tStyle.height),\n cellSpacing: table.cellSpacing,\n cellPadding: table.cellPadding,\n alignment: tableAlignment.textAlign,\n bgColor: tStyle.backgroundColor || table.bgColor,\n className: cssClass,\n id: table.id,\n borderWidth: tStyle.borderWidth || table.border,\n borderColor: tStyle.borderColor,\n borderStyle: tStyle.borderStyle || \"\",\n collapseBorders: !!tStyle.borderCollapse,\n summary: table.summary,\n captionContent: caption ? captionClone.html() : \"\",\n captionAlignment: caption && captionAlignment.textAlign ? captionAlignment.textAlign + \" \" + captionAlignment.verticalAlign : \"\",\n headerRows: numberOfHeaderRows,\n headerColumns: numberOfHeaderColumns,\n cellsWithHeaders: cellsWithHeaders\n },\n selectedCells: []\n };\n\n tableJson.rows = cmd.parseTableRows(rows, selectedCells, tableJson);\n\n return tableJson;\n },\n parseTableRows: function(rows, selectedCells, tableJson) {\n var cmd = this;\n var data = [], row, rowData, cells, cell, cellData;\n for (var i = 0; i < rows.length; i++) {\n row = rows[i];\n rowData = {cells: []};\n cells = row.cells;\n data.push(rowData);\n for (var j = 0; j < cells.length; j++) {\n cell = cells[j];\n cellData = cmd.parseCell(cell);\n if ($.inArray(cell, selectedCells) != -1) {\n tableJson.selectedCells.push(cellData);\n }\n rowData.cells.push(cellData);\n }\n }\n return data;\n },\n parseCell: function(cell) {\n var cmd = this;\n var cStyle = cell.style;\n var alignment = cmd._getAlignment(cell);\n alignment = alignment.textAlign ? alignment.textAlign + \" \" + alignment.verticalAlign : \"\";\n\n var data = {\n width: cStyle.width || cell.width ? parseFloat(cStyle.width || cell.width) : null,\n height: cStyle.height || cell.height ? parseFloat(cStyle.height || cell.height) : null,\n widthUnit: cmd._getUnit(cStyle.width),\n heightUnit: cmd._getUnit(cStyle.height),\n cellMargin: cStyle.margin,\n cellPadding: cStyle.padding,\n alignment: alignment,\n bgColor: cStyle.backgroundColor || cell.bgColor,\n className: cell.className,\n id: cell.id,\n borderWidth: cStyle.borderWidth || cell.border,\n borderColor: cStyle.borderColor,\n borderStyle: cStyle.borderStyle,\n wrapText: cStyle.whiteSpace != \"nowrap\"\n };\n\n return data;\n },\n _getAlignment: function(element, horizontalOnly) {\n var style = element.style;\n var hAlign = style.textAlign || element.align || \"\";\n if (horizontalOnly) {\n return {textAlign: hAlign};\n }\n var vAlign = style.verticalAlign || element.vAlign || \"\";\n if(hAlign && vAlign) {\n return {textAlign: hAlign, verticalAlign: vAlign};\n }\n if(!hAlign && vAlign) {\n return {textAlign: \"left\", verticalAlign: vAlign};\n }\n if(hAlign && !vAlign) {\n return {textAlign: hAlign, verticalAlign: \"top\"};\n }\n return {textAlign: \"\", verticalAlign: \"\"};\n },\n _getUnit: function(value) {\n var unit = (value || \"\").match(reUnit);\n return unit ? unit[0] : \"px\";\n },\n _selectedTable: function(range) {\n var nodes = dom.filterBy(RangeUtils.nodes(range), dom.htmlIndentSpace, true);\n return tableFormatFinder.findSuitable(nodes)[0];\n },\n _selectedCells: function(range) {\n var nodes = dom.filterBy(RangeUtils.nodes(range), dom.htmlIndentSpace, true);\n return cellsFormatFinder.findSuitable(nodes);\n },\n _lastInCollection: function(collection) {\n return collection[collection.length - 1];\n }\n});\n\nvar TableWizardTool = Editor.Tool.extend({\n command: function (options) {\n options.insertNewTable = this.options.insertNewTable;\n return new TableWizardCommand(options);\n }\n});\n\nvar TableWizardEditTool = TableWizardTool.extend({\n update: function(ui, nodes) {\n var isFormatted = !tableFormatFinder.isFormatted(nodes);\n\n if (isFormatted === true) {\n ui.parent().addClass(\"k-hidden k-disabled\");\n ui.attr(\"disabled\", \"disabled\");\n ui.addClass(\"k-disabled\");\n } else {\n ui.parent().removeClass(\"k-hidden k-disabled\");\n ui.prop(\"disabled\", false);\n ui.removeClass(\"k-disabled\");\n }\n }\n});\n\nkendo.ui.editor.TableWizardTool = TableWizardTool;\nkendo.ui.editor.TableWizardCommand = TableWizardCommand;\n\nregisterTool(\"tableWizard\", new TableWizardEditTool({ command: TableWizardCommand, insertNewTable: false, template: new ToolTemplate({template: EditorUtils.buttonTemplate, title: \"Table Wizard\"})}));\n\n})(window.kendo.jQuery);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3) {\n (a3 || a2)(); });\n(function(f, define) {\n define('editor/table-wizard/table-wizard-dialog',[\"./table-wizard-command\", \"../../kendo.tabstrip\"], f);\n})(function() {\n\n(function($, undefined) {\n\nvar kendo = window.kendo,\n numericTextBoxSettings = { format: \"0\", min: 0 },\n units = [\"px\", \"em\"],\n borderStyles = [\"solid\", \"dotted\", \"dashed\", \"double\", \"groove\", \"ridge\", \"inset\", \"outset\", \"initial\", \"inherit\", \"none\", \"hidden\"];\n\nvar DEFAULT_NUMBER_OF_COLS_AND_ROWS = 4;\n\nvar tableAlignmentDropDownSettings = {\n dataSource: [{\n className: \"k-icon k-i-table-align-middle-left\",\n value: \"left\"\n }, {\n className: \"k-icon k-i-table-align-middle-center\",\n value: \"center\"\n }, {\n className: \"k-icon k-i-table-align-middle-right\",\n value: \"right\"\n }, {\n className: \"k-icon k-i-align-remove\",\n value: \"\"\n }],\n dataTextField: \"className\",\n dataValueField: \"value\",\n template: \"\",\n valueTemplate: \"\"\n};\n\nvar cellAlignmentDropDownSettings = {\n dataSource: [{\n className: \"k-icon k-i-table-align-top-left\",\n value: \"left top\"\n }, {\n className: \"k-icon k-i-table-align-top-center\",\n value: \"center top\"\n }, {\n className: \"k-icon k-i-table-align-top-right\",\n value: \"right top\"\n }, {\n className: \"k-icon k-i-table-align-middle-left\",\n value: \"left middle\"\n }, {\n className: \"k-icon k-i-table-align-middle-center\",\n value: \"center middle\"\n }, {\n className: \"k-icon k-i-table-align-middle-right\",\n value: \"right middle\"\n }, {\n className: \"k-icon k-i-table-align-bottom-left\",\n value: \"left bottom\"\n }, {\n className: \"k-icon k-i-table-align-bottom-center\",\n value: \"center bottom\"\n }, {\n className: \"k-icon k-i-table-align-bottom-right\",\n value: \"right bottom\"\n }, {\n className: \"k-icon k-i-align-remove\",\n value: \"\"\n }],\n dataTextField: \"className\",\n dataValueField: \"value\",\n template: \"\",\n valueTemplate: \"\"\n};\n\nvar accessibilityAlignmentDropDownSettings = {\n dataSource: [{\n className: \"k-icon k-i-table-align-top-left\",\n value: \"left top\"\n }, {\n className: \"k-icon k-i-table-align-top-center\",\n value: \"center top\"\n }, {\n className: \"k-icon k-i-table-align-top-right\",\n value: \"right top\"\n }, {\n className: \"k-icon k-i-table-align-bottom-left\",\n value: \"left bottom\"\n }, {\n className: \"k-icon k-i-table-align-bottom-center\",\n value: \"center bottom\"\n }, {\n className: \"k-icon k-i-table-align-bottom-right\",\n value: \"right bottom\"\n }, {\n className: \"k-icon k-i-align-remove\",\n value: \"\"\n }],\n dataTextField: \"className\",\n dataValueField: \"value\",\n template: \"\",\n valueTemplate: \"\"\n};\n\nvar dialogTemplate =\n '
    ' +\n '
    ' +\n '
    ' +\n '
      ' +\n '
    • #= messages.tableTab #
    • ' +\n '
    • #= messages.cellTab #
    • ' +\n '
    • #= messages.accessibilityTab #
    • ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
     
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n\n '
    ' +\n\n '
    ' +\n '' +\n '' +\n '
    ' +\n\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
     
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '' +\n '
    ' +\n '
    ' +\n '
    ' +\n '
    ' +\n '' +\n '' +\n '
    ' +\n '
    ' +\n '
    ';\n\nvar TableWizardDialog = kendo.Class.extend({\n init: function(options) {\n this.options = options;\n },\n open: function() {\n var that = this,\n options = that.options,\n dialogOptions = options.dialogOptions,\n tableData = options.table,\n dialog,\n messages = options.messages,\n isIE = kendo.support.browser.msie;\n\n function close(e) {\n e.preventDefault();\n that.destroy();\n dialog.destroy();\n }\n\n function okHandler(e) {\n that.collectDialogValues(tableData);\n\n close(e);\n\n if (that.change) {\n that.change();\n }\n\n options.closeCallback(tableData);\n }\n\n function closeHandler(e) {\n close(e);\n options.closeCallback();\n }\n\n dialogOptions.close = closeHandler;\n dialogOptions.title = messages.tableWizard;\n dialogOptions.visible = options.visible;\n\n dialog = $(that._dialogTemplate(messages)).appendTo(document.body)\n .kendoWindow(dialogOptions)\n .closest(\".k-window\").toggleClass(\"k-rtl\", options.isRtl).end()\n .find(\".k-dialog-ok\").on(\"click\", okHandler).end()\n .find(\".k-dialog-close\").on(\"click\", closeHandler).end()\n .data(\"kendoWindow\");\n\n var element = dialog.element;\n that._initTabStripComponent(element);\n that._initTableViewComponents(element, tableData);\n that._initCellViewComponents(element, tableData);\n that._initAccessibilityViewComponents(element, tableData);\n\n dialog.center();\n dialog.open();\n\n if(isIE) {\n var dialogHeight = element.closest(\".k-window\").height();\n element.css(\"max-height\", dialogHeight);\n }\n },\n\n _initTabStripComponent: function(element){\n var components = this.components = {};\n components.tabStrip = element.find(\"#k-table-wizard-tabs\").kendoTabStrip({\n animation: false\n }).data(\"kendoTabStrip\");\n },\n\n collectDialogValues: function() {\n var that = this;\n var data = that.options.table;\n that._collectTableViewValues(data);\n that._collectCellViewValues(data);\n that._collectAccessibilityViewValues(data);\n },\n\n _collectTableViewValues: function(tableData) {\n var tableView = this.components.tableView;\n var tableProperties = tableData.tableProperties;\n tableProperties.width = tableView.width.value();\n tableProperties.widthUnit = tableView.widthUnit.value();\n tableProperties.height = tableView.height.value();\n tableProperties.columns = tableView.columns.value();\n tableProperties.rows = tableView.rows.value();\n tableProperties.heightUnit = tableView.heightUnit.value();\n tableProperties.cellSpacing = tableView.cellSpacing.value();\n tableProperties.cellPadding = tableView.cellPadding.value();\n tableProperties.alignment = tableView.alignment.value();\n tableProperties.bgColor = tableView.bgColor.value();\n tableProperties.className = tableView.className.value;\n tableProperties.id = tableView.id.value;\n tableProperties.borderWidth = tableView.borderWidth.value();\n tableProperties.borderColor = tableView.borderColor.value();\n tableProperties.borderStyle = tableView.borderStyle.value();\n tableProperties.collapseBorders = tableView.collapseBorders.checked;\n },\n\n _collectCellViewValues: function(table) {\n var cellData = table.cellProperties = {};\n var cellView = this.components.cellView;\n\n cellData.selectAllCells = cellView.selectAllCells.checked;\n cellData.width = cellView.width.value();\n cellData.widthUnit = cellView.widthUnit.value();\n cellData.height = cellView.height.value();\n cellData.heightUnit = cellView.heightUnit.value();\n cellData.cellMargin = cellView.cellMargin.value();\n cellData.cellPadding = cellView.cellPadding.value();\n cellData.alignment = cellView.alignment.value();\n cellData.bgColor = cellView.bgColor.value();\n cellData.className = cellView.className.value;\n cellData.id = cellView.id.value;\n cellData.borderWidth = cellView.borderWidth.value();\n cellData.borderColor = cellView.borderColor.value();\n cellData.borderStyle = cellView.borderStyle.value();\n cellData.wrapText = cellView.wrapText.checked;\n\n if (!cellData.width) {\n cellData.selectAllCells = true;\n cellData.width = 100 / table.tableProperties.columns;\n cellData.widthUnit = \"%\";\n }\n },\n\n _collectAccessibilityViewValues: function(table) {\n var tableProperties = table.tableProperties;\n var accessibilityView = this.components.accessibilityView;\n tableProperties.captionContent = accessibilityView.captionContent.value;\n tableProperties.captionAlignment = accessibilityView.captionAlignment.value();\n tableProperties.summary = accessibilityView.summary.value;\n tableProperties.cellsWithHeaders = accessibilityView.cellsWithHeaders.value();\n\n tableProperties.headerRows = accessibilityView.headerRows.value();\n tableProperties.headerColumns = accessibilityView.headerColumns.value();\n },\n _addUnit: function(units, value){\n if (value && $.inArray(value, units) == -1) {\n units.push(value);\n }\n },\n _initTableViewComponents: function(element, table) {\n var that = this;\n var components = that.components;\n var tableView = components.tableView = {};\n var tableProperties = table.tableProperties = table.tableProperties || {};\n tableProperties.borderStyle = tableProperties.borderStyle || \"\";\n\n var onColumnsNumberChange = function(args) {\n var accessibilityView = that.components.accessibilityView;\n var headerColumnsNumeric = accessibilityView.headerColumns;\n var currentNumberOfColumnsHeaders = headerColumnsNumeric.value();\n var numberOfColumns = args.sender.value();\n\n if(numberOfColumns < currentNumberOfColumnsHeaders) {\n headerColumnsNumeric.value(numberOfColumns);\n }\n\n headerColumnsNumeric.max(numberOfColumns);\n };\n\n var onRowsNumberChange = function(args) {\n var accessibilityView = that.components.accessibilityView;\n var headerRowsNumeric = accessibilityView.headerRows;\n var currentNumberOfRowHeaders = headerRowsNumeric.value();\n var numberOfRows = args.sender.value();\n\n if(numberOfRows < currentNumberOfRowHeaders) {\n headerRowsNumeric.value(numberOfRows);\n }\n\n headerRowsNumeric.max(numberOfRows);\n };\n\n that._addUnit(units, tableProperties.widthUnit);\n that._addUnit(units, tableProperties.heightUnit);\n\n that._initNumericTextbox(element.find(\"#k-editor-table-width\"), \"width\", tableProperties, tableView);\n that._initNumericTextbox(element.find(\"#k-editor-table-height\"), \"height\", tableProperties, tableView);\n that._initNumericTextbox(element.find(\"#k-editor-table-columns\"), \"columns\", tableProperties, tableView, {min: 1, value: DEFAULT_NUMBER_OF_COLS_AND_ROWS, change: onColumnsNumberChange});\n that._initNumericTextbox(element.find(\"#k-editor-table-rows\"), \"rows\", tableProperties, tableView, {min: 1, value: DEFAULT_NUMBER_OF_COLS_AND_ROWS, change: onRowsNumberChange});\n that._initDropDownList(element.find(\"#k-editor-table-width-type\"), \"widthUnit\", tableProperties, tableView, units);\n that._initDropDownList(element.find(\"#k-editor-table-height-type\"), \"heightUnit\", tableProperties, tableView, units);\n that._initNumericTextbox(element.find(\"#k-editor-table-cell-spacing\"), \"cellSpacing\", tableProperties, tableView);\n that._initNumericTextbox(element.find(\"#k-editor-table-cell-padding\"), \"cellPadding\", tableProperties, tableView);\n that._initTableAlignmentDropDown(element.find(\"#k-editor-table-alignment\"), tableProperties);\n that._initColorPicker(element.find(\"#k-editor-table-bg\"), \"bgColor\", tableProperties, tableView);\n that._initInput(element.find(\"#k-editor-css-class\"), \"className\", tableProperties, tableView);\n that._initInput(element.find(\"#k-editor-id\"), \"id\", tableProperties, tableView);\n that._initNumericTextbox(element.find(\"#k-editor-border-width\"), \"borderWidth\", tableProperties, tableView);\n that._initColorPicker(element.find(\"#k-editor-border-color\"), \"borderColor\", tableProperties, tableView);\n that._initBorderStyleDropDown(element.find(\"#k-editor-border-style\"), \"borderStyle\", tableProperties, tableView, borderStyles);\n that._initCheckbox(element.find(\"#k-editor-collapse-borders\"), \"collapseBorders\", tableProperties, tableView);\n },\n\n _initCellViewComponents: function(element, table) {\n var components = this.components;\n var cellView = components.cellView = {};\n table.selectedCells = table.selectedCells = table.selectedCells || [];\n var cellProperties = table.selectedCells[0] || {borderStyle: \"\", wrapText: true};\n this._addUnit(units, cellProperties.widthUnit);\n this._addUnit(units, cellProperties.heightUnit);\n\n this._initCheckbox(element.find(\"#k-editor-selectAllCells\"), \"selectAllCells\", table.tableProperties, cellView);\n this._initNumericTextbox(element.find(\"#k-editor-cell-width\"), \"width\", cellProperties, cellView);\n this._initNumericTextbox(element.find(\"#k-editor-cell-height\"), \"height\", cellProperties, cellView);\n this._initDropDownList(element.find(\"#k-editor-cell-width-type\"), \"widthUnit\", cellProperties, cellView, units);\n this._initDropDownList(element.find(\"#k-editor-cell-height-type\"), \"heightUnit\", cellProperties, cellView, units);\n this._initNumericTextbox(element.find(\"#k-editor-table-cell-margin\"), \"cellMargin\", cellProperties, cellView);\n this._initNumericTextbox(element.find(\"#k-editor-table-cells-padding\"), \"cellPadding\", cellProperties, cellView);\n this._initCellAlignmentDropDown(element.find(\"#k-editor-cell-alignment\"), cellProperties);\n this._initColorPicker(element.find(\"#k-editor-cell-bg\"), \"bgColor\", cellProperties, cellView);\n this._initInput(element.find(\"#k-editor-cell-css-class\"), \"className\", cellProperties, cellView);\n this._initInput(element.find(\"#k-editor-cell-id\"), \"id\", cellProperties, cellView);\n this._initNumericTextbox(element.find(\"#k-editor-cell-border-width\"), \"borderWidth\", cellProperties, cellView);\n this._initColorPicker(element.find(\"#k-editor-cell-border-color\"), \"borderColor\", cellProperties, cellView);\n this._initBorderStyleDropDown(element.find(\"#k-editor-cell-border-style\"), \"borderStyle\", cellProperties, cellView, borderStyles);\n this._initCheckbox(element.find(\"#k-editor-wrap-text\"), \"wrapText\", cellProperties, cellView);\n },\n\n _initAccessibilityViewComponents: function(element, table) {\n var components = this.components;\n var accessibilityView = components.accessibilityView = {};\n var tableProperties = table.tableProperties;\n\n this._initInput(element.find(\"#k-editor-table-caption\"), \"captionContent\", tableProperties, accessibilityView);\n this._initAccessibilityAlignmentDropDown(element.find(\"#k-editor-accessibility-alignment\"), tableProperties);\n this._initInput(element.find(\"#k-editor-accessibility-summary\"), \"summary\", tableProperties, accessibilityView);\n this._initAssociationDropDown(element.find(\"#k-editor-cells-headers\"), \"cellsWithHeaders\", { valuePrimitive: true }, tableProperties, accessibilityView);\n this._initNumericTextbox(element.find(\"#k-editor-table-header-rows\"), \"headerRows\", tableProperties, accessibilityView, { max: tableProperties.rows || DEFAULT_NUMBER_OF_COLS_AND_ROWS });\n this._initNumericTextbox(element.find(\"#k-editor-table-header-columns\"), \"headerColumns\", tableProperties, accessibilityView, { max: tableProperties.columns || DEFAULT_NUMBER_OF_COLS_AND_ROWS });\n },\n\n _initNumericTextbox: function(element, property, data, storage, settings) {\n var component = storage[property] = element.kendoNumericTextBox(\n settings ? $.extend({}, numericTextBoxSettings, settings) : numericTextBoxSettings\n ).data(\"kendoNumericTextBox\");\n if (property in data) {\n component.value(parseInt(data[property], 10));\n }\n },\n\n _initDropDownList: function(element, property, data, storage, dataSource) {\n var component = storage[property] = element.kendoDropDownList({\n dataSource: dataSource\n }).data(\"kendoDropDownList\");\n this._setComponentValue(component, data, property);\n },\n\n _initBorderStyleDropDown: function(element, property, data, storage, dataSource) {\n var component = storage[property] = element.kendoDropDownList({\n dataSource: dataSource,\n optionLabel: this.options.messages.borderNone\n }).data(\"kendoDropDownList\");\n this._setComponentValue(component, data, property);\n },\n\n _initTableAlignmentDropDown: function (element, data) {\n var messages = this.options.messages;\n var tableView = this.components.tableView;\n var dataSource = tableAlignmentDropDownSettings.dataSource;\n dataSource[0].tooltip = messages.alignLeft;\n dataSource[1].tooltip = messages.alignCenter;\n dataSource[2].tooltip = messages.alignRight;\n dataSource[3].tooltip = messages.alignRemove;\n\n this._initAlignmentDropDown(element, tableAlignmentDropDownSettings, \"alignment\", data, tableView);\n },\n\n _initCellAlignmentDropDown: function (element, data) {\n var messages = this.options.messages;\n var cellView = this.components.cellView;\n var dataSource = cellAlignmentDropDownSettings.dataSource;\n dataSource[0].tooltip = messages.alignLeftTop;\n dataSource[1].tooltip = messages.alignCenterTop;\n dataSource[2].tooltip = messages.alignRightTop;\n dataSource[3].tooltip = messages.alignLeftMiddle;\n dataSource[4].tooltip = messages.alignCenterMiddle;\n dataSource[5].tooltip = messages.alignRightMiddle;\n dataSource[6].tooltip = messages.alignLeftBottom;\n dataSource[7].tooltip = messages.alignCenterBottom;\n dataSource[8].tooltip = messages.alignRightBottom;\n dataSource[9].tooltip = messages.alignRemove;\n\n this._initAlignmentDropDown(element, cellAlignmentDropDownSettings, \"alignment\", data, cellView);\n },\n\n _initAccessibilityAlignmentDropDown: function (element, data) {\n var messages = this.options.messages;\n var accessibilityView = this.components.accessibilityView;\n var dataSource = accessibilityAlignmentDropDownSettings.dataSource;\n dataSource[0].tooltip = messages.alignLeftTop;\n dataSource[1].tooltip = messages.alignCenterTop;\n dataSource[2].tooltip = messages.alignRightTop;\n dataSource[3].tooltip = messages.alignLeftBottom;\n dataSource[4].tooltip = messages.alignCenterBottom;\n dataSource[5].tooltip = messages.alignRightBottom;\n dataSource[6].tooltip = messages.alignRemove;\n\n this._initAlignmentDropDown(element, accessibilityAlignmentDropDownSettings, \"captionAlignment\", data, accessibilityView);\n },\n _initAlignmentDropDown: function(element, settings, name, data, storage) {\n var component = storage[name] =\n element.kendoDropDownList(settings).data(\"kendoDropDownList\");\n\n component.list.addClass('k-align').css('width', '110px');\n this._setComponentValue(component, data, name);\n },\n _initAssociationDropDown: function(element, name, settings, data, storage) {\n var component = storage[name] =\n element.kendoDropDownList(settings).data(\"kendoDropDownList\");\n\n this._setComponentValue(component, data, name);\n },\n _setComponentValue: function(component, data, property){\n if (property in data) {\n component.value(data[property]);\n }\n },\n\n _initColorPicker: function(element, property, data, storage) {\n var component = storage[property] =\n element.kendoColorPicker({buttons: false, clearButton: true}).data(\"kendoColorPicker\");\n\n if (data[property]) {\n component.value(data[property]);\n }\n },\n _initInput: function(element, property, data, storage) {\n var component = storage[property] = element.get(0);\n if (property in data) {\n component.value = data[property];\n }\n },\n\n _initCheckbox: function(element, property, data, storage) {\n var component = storage[property] = element.get(0);\n if (property in data) {\n component.checked = data[property];\n }\n },\n\n destroy: function() {\n this._destroyComponents(this.components.tableView);\n this._destroyComponents(this.components.cellView);\n this._destroyComponents(this.components.accessibilityView);\n this._destroyComponents(this.components);\n\n delete this.components;\n },\n _destroyComponents: function(components) {\n for (var widget in components) {\n if (components[widget].destroy) {\n components[widget].destroy();\n }\n delete components[widget];\n }\n },\n\n _dialogTemplate: function(messages) {\n return kendo.template(dialogTemplate)({ messages: messages });\n }\n});\n\nkendo.ui.editor.TableWizardDialog = TableWizardDialog;\n\n})(window.kendo.jQuery);\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3) {\n (a3 || a2)(); });\n(function(f, define){\n define('kendo.editor',[\n \"./kendo.combobox\", \"./kendo.dropdownlist\", \"./kendo.resizable\", \"./kendo.window\", \"./kendo.colorpicker\", \"./kendo.imagebrowser\", \"./kendo.numerictextbox\",\n\n \"./util/undoredostack\",\n \"./editor/main\",\n \"./editor/dom\",\n \"./editor/serializer\",\n \"./editor/range\",\n \"./editor/command\",\n \"./editor/components\",\n \"./editor/toolbar\",\n \"./editor/immutables\",\n\n \"./editor/plugins/viewhtml\",\n \"./editor/plugins/link\",\n \"./editor/plugins/lists\",\n \"./editor/plugins/formatting\",\n \"./editor/plugins/image\",\n \"./editor/plugins/import\",\n \"./editor/plugins/insert\",\n \"./editor/plugins/export\",\n \"./editor/plugins/indent\",\n \"./editor/plugins/linebreak\",\n \"./editor/plugins/format\",\n \"./editor/plugins/inlineformat\",\n \"./editor/plugins/formatblock\",\n \"./editor/plugins/file\",\n \"./editor/plugins/tables\",\n \"./editor/plugins/clipboard\",\n \"./editor/plugins/keyboard\",\n \"./editor/plugins/exportpdf\",\n \"./editor/plugins/print\",\n \"./editor/plugins/formatpainter\",\n\n \"./editor/resizing/column-resizing\",\n \"./editor/resizing/row-resizing\",\n \"./editor/resizing/element-resizing\",\n \"./editor/resizing/element-resize-handle\",\n \"./editor/table-wizard/table-wizard-command\",\n \"./editor/table-wizard/table-wizard-dialog\"\n ], f);\n})(function(){\n\n var __meta__ = { // jshint ignore:line\n id: \"editor\",\n name: \"Editor\",\n category: \"web\",\n description: \"Rich text editor component\",\n depends: [ \"combobox\", \"dropdownlist\", \"window\", \"colorpicker\" ],\n features: [ {\n id: \"editor-imagebrowser\",\n name: \"Image Browser\",\n description: \"Support for uploading and inserting images\",\n depends: [ \"imagebrowser\" ]\n }, {\n id: \"editor-resizable\",\n name: \"Resize handle\",\n description: \"Support for resizing the content area via a resize handle\",\n depends: [ \"resizable\" ]\n }, {\n id: \"editor-tablewizard\",\n name: \"Table wizard dialog\",\n description: \"Support for table properties configuration\",\n depends: [ \"tabstrip\", \"button\", \"numerictextbox\" ]\n }, {\n id: \"editor-pdf-export\",\n name: \"PDF export\",\n description: \"Export Editor content as PDF\",\n depends: [ \"pdf\", \"drawing\" ]\n }]\n };\n\n\treturn window.kendo;\n\n}, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n\n\n(function(f, define){\n define('kendo.custom',[\"./kendo.editor\"], f);\n })(function(){\n \"bundle all\";\n return window.kendo;\n }, typeof define == 'function' && define.amd ? define : function(a1, a2, a3){ (a3 || a2)(); });\n"],"names":["define","__meta__","id","name","category","description","$","jQuery","window","undefined","kendo","cultures","extend","each","isArray","Array","proxy","noop","math","Math","Template","JSON","support","percentRegExp","formatRegExp","boxShadowRegExp","numberRegExp","FUNCTION","STRING","NUMBER","OBJECT","NULL","BOOLEAN","UNDEFINED","PREFIX","getterCache","setterCache","slice","cssPropertiesNames","noDepricateExtend","src","copyIsArray","copy","options","clone","target","arguments","i","length","deep","this","isPlainObject","Class","version","replace","proto","base","member","that","subclass","init","apply","fn","prototype","constructor","Object","_initOptions","deepExtend","isFunction","preventDefault","_defaultPrevented","isDefaultPrevented","Observable","_events","bind","eventName","handlers","one","idx","eventNames","original","handler","handlersIsFunction","events","unbind","push","first","unshift","trigger","e","sender","call","splice","compilePart","part","stringPart","split","join","charAt","rest","substring","argumentNameRegExp","encodeRegExp","escapedCurlyRegExp","curlyRegExp","escapedSharpRegExp","sharpRegExp","zeros","pad","number","digits","end","paramName","useWithBlock","render","template","data","html","compile","settings","argumentName","match","functionBody","parts","Function","_slotCount","floor","Error","format","escapable","gap","indent","meta","\b","\t","\n","\f","\r","\"","\\","rep","toString","Date","toJSON","isFinite","valueOf","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","String","Number","Boolean","quote","string","lastIndex","test","a","c","charCodeAt","str","key","holder","k","v","mind","partial","value","type","hasOwnProperty","stringify","replacer","space","","dateFormatRegExp","standardFormatRegExp","literalRegExp","commaRegExp","EMPTY","POINT","COMMA","SHARP","ZERO","PLACEHOLDER","EN","objectToString","findCulture","culture","numberFormat","getCulture","current","formatDate","date","calendar","calendars","standard","days","months","patterns","minutes","result","sign","getDate","namesAbbr","getDay","names","getMonth","getFullYear","getHours","getMinutes","getSeconds","getMilliseconds","AM","PM","getTimezoneOffset","abs","formatNumber","decimal","precision","decimals","pattern","literals","symbol","isCurrency","isPercent","customPrecision","formatAndPrecision","negative","integer","fraction","integerLength","fractionLength","replacement","ch","hasGroup","hasNegativeFormat","decimalIndex","sharpIndex","zeroIndex","hasZero","hasSharp","percentIndex","currencyIndex","startZeroIndex","start","toLocaleString","exec","toLowerCase","currency","percent","exp","toExponential","round","groupInteger","indexOf","quoteChar","literal","lastIndexOf","rounded","max",",",".","groupSize","abbr","namesShort","d","D","F","g","G","m","M","s","t","T","u","y","Y","/",":","firstDay","twoDigitYearMax","cultureName","groupSizes","shift","newGroupSize","reverse","toFixed","min","fmt","nonBreakingSpaceRegExp","values","index","placeholderFormat","parseInt","_extractFormat","_activeElement","document","activeElement","documentElement","_round","_outerWidth","element","includeMargin","outerWidth","_outerHeight","outerHeight","spaceRegExp","exponentRegExp","shortTimeZoneRegExp","longTimeZoneRegExp","dateRegExp","offsetRegExp","FORMATS_SEQUENCE","STANDARD_FORMATS","2","3","4","outOfRange","designatorPredicate","designator","mapDesignators","designators","map","adjustDST","hours","setHours","lowerArray","array","lowerLocalInfo","localInfo","newLocalInfo","property","parseExact","strict","lookAhead","getNumber","size","rg","RegExp","substr","valueIdx","getIndexByName","lower","nameLength","matchLength","matchIdx","subValue","checkLiteral","year","month","day","seconds","milliseconds","defaultYear","count","pmHour","UTC","matches","amDesignators","pmDesignators","hoursOffset","minutesOffset","hasTime","_lowerDays","_lowerMonths","parseFloat","isNaN","setFullYear","parseMicrosoftFormatOffset","offset","getDefaultFormats","cultureFormats","formatIdx","formats","concat","internalParseDate","tzoffset","timezone","convert","getShadows","shadow","css","transitions","radius","blur","left","right","bottom","wrap","autosize","percentage","parent","windowOuterWidth","removeClass","hasClass","width","style","height","percentWidth","percentHeight","forceWidth","is","addClass","boxSizing","mozBoxSizing","webkitBoxSizing","wrapResize","wrapper","wrapperStyle","display","position","destination","deepExtendOne","source","ObservableArray","LazyObservableArray","DataSource","HierarchicalDataSource","propValue","propType","propInit","destProp","ArrayBuffer","getTime","testRx","agent","rxs","dflt","rx","toHyphens","toCamelCase","strMatch","g1","toUpperCase","getComputedStyles","properties","styles","computedStyle","defaultView","getComputedStyle","getPropertyValue","currentStyle","isScrollable","className","overflow","scrollLeft","webkit","browser","mozila","mozilla","browserVersion","el","isRtl","safari","scrollWidth","clientWidth","parseDate","parseExactDate","percentSymbol","_scrollbar","scrollbar","refresh","div","createElement","cssText","innerHTML","body","appendChild","offsetWidth","removeChild","closest","table","tbodyInnerHtml","touch","docStyle","transforms","elementProto","HTMLElement","hasHW3D","WebKitCSSMatrix","cssFlexbox","prefix","hasTransitions","lowPrefix","event","devicePixelRatio","screenWidth","screen","availWidth","innerWidth","screenHeight","availHeight","innerHeight","detectOS","ua","os","minorVersion","notAndroidPhone","agentRxs","wp","fire","android","iphone","ipad","meego","webos","blackberry","playbook","windows","tizen","sailfish","ffos","osRxs","ios","flat","formFactorRxs","tablet","browserRxs","omini","omobile","firefox","mobilesafari","ie","chrome","navigator","device","majorVersion","flatVersion","cordova","PhoneGap","appMode","standalone","location","protocol","mobileOS","userAgent","wpDevicePixelRatio","hasNativeScrolling","delayedClick","attr","mouseAndTouchPresent","detectBrowser","chromiumEdgeMatch","edge","opera","msie","documentMode","chromiumEdge","detectClipboardAccess","commands","queryCommandSupported","cut","paste","clipboard","zoomLevel","ie11WidthCorrection","docEl","scrollHeight","clientHeight","top","cssClass","docElement","eventCapture","addEventListener","input","placeholder","propertyChangeEvent","types","setAttribute","cssFloat","stableSort","threshold","sorted","field","sort","b","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","nodeList","querySelectorAll","parentNode","matchMedia","pushState","history","hashChange","customElements","mobileChrome","crios","obj","getOffset","positioned","pointers","msPointers","pageYOffset","pageXOffset","MSPointerEvent","PointerEvent","kineticScrollNeeded","directions","down","up","in","out","parseEffects","effects","fx","Element","prepareAnimationOptions","duration","complete","teardown","hide","completeCallback","animate","instance","queue","promise","toggleClass","classes","add","enabled","dequeue","disable","promiseShim","enable","animatedPromise","kendoStop","clearQueue","gotoEnd","stop","kendoAnimate","kendoAddClass","kendoRemoveClass","kendoToggleClass","toggle","ampRegExp","ltRegExp","quoteRegExp","aposRegExp","gtRegExp","htmlEncode","unescape","decodeURIComponent","error","_","m1","m2","fromCharCode","eventTarget","touches","originalEvent","changedTouches","elementFromPoint","clientX","clientY","callback","on","mousedown","mouseup","mousemove","mousecancel","click","resize","wrapExpression","members","localUrlRe","Widget","widgets","_widgetRegisteredCallbacks","ui","mobile","dataviz","drawing","spreadsheet","messages","keys","INSERT","DELETE","BACKSPACE","TAB","ENTER","ESC","LEFT","UP","RIGHT","DOWN","END","HOME","SPACEBAR","PAGEUP","PAGEDOWN","F2","F10","F12","NUMPAD_PLUS","NUMPAD_MINUS","NUMPAD_DOT","ns","isLocalUrl","url","expr","expression","safe","getter","setter","accessor","get","set","guid","random","chars","roleSelector","role","directiveSelector","directives","selectors","triggeredByInput","tagName","onWidgetRegistered","len","logToConsole","message","console","suppressLog","log","angular","dataSource","props","componentTypes","componentType","defaults","_hasBindingTarget","kendoBindingTarget","_tabindex","TABINDEX","tabindex","removeAttr","setOptions","_clearCssClasses","_setEvents","_applyCssClasses","force","getSize","currentSize","_size","_resize","dimensions","setSize","destroy","removeData","_destroy","_muteAngularRebind","_muteRebind","protoOptions","__proto__","prop","validFill","widgetName","cssProperties","propertyDictionary","_altname","getValidClass","widget","propName","fillMode","fill","newOptions","currentOptions","themeColor","DataBoundWidget","dataItems","flatView","_angularItems","cmd","elements","items","dataItem","templateRegExp","domElement","offsetHeight","notify","jsonRegExp","jsonFormatRegExp","dashRegExp","parseOption","option","getAttribute","parseOptions","containmentComparer","contains","resizableWidget","inArray","initWidget","roles","fullPath","widgetKeyRegExp","nodeType","widgetKey","isEmptyObject","rolesFromNamespaces","namespaces","find","addBack","filter","widgetsArray","makeArray","widgetInstance","progress","container","mask","leftRight","webkitCorrection","containerScrollLeft","scrollTop","opacity","loading","prependTo","remove","plugin","register","widgetEntry","args","method","ContainerNullObject","nullObject","MobileWidget","autoApplyNS","kendoDestroy","view","viewElement","viewHasNativeScrolling","useNativeScrolling","eq","focusable","isTabIndexNotNaN","nodeName","disabled","href","visible","pseudos","parents","appLevelNativeScrolling","application","themes","views","touchScroller","useNative","Scroller","kendoMobileScroller","suites","elementData","editorToolbar","onResize","setTimeout","unbindResize","off","attrValue","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","kendoFocusable","MOUSE_EVENTS","EXCLUDE_BUST_CLICK_SELECTOR","MouseEventNormalizer","setupMouseMute","mouseTrap","bustClick","captureMouse","stopPropagation","muteMouse","clearTimeout","mouseTrapTimeoutID","unMuteMouse","eventMap","move","cancel","MSPointerEnter","MSPointerLeave","orig","fix","special","delegateType","bindType","handle","ret","related","relatedTarget","handleObj","origType","getEventMap","eventRegEx","applyEventMap","keyDownHandler","kendoKeydown","preventKendoKeydown","kendoJQuery","context","rootjQuery","animationFrame","pop","search","touchstart","touchend","keyDownCallBack","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Sun","Mon","Tue","Wed","Thu","Fri","Sat","ruleToDate","rule","targetDay","ourDay","time","cache","getUTCDay","setUTCDate","findRule","utcTime","rules","zone","grep","from","to","findZone","zones","zoneRules","until","zoneAndRule","info","fromOffset","toOffset","tempToOffset","diff","fromLocalOffset","toLocalOffset","toLocalDate","MS_PER_MINUTE","MS_PER_DAY","setDayOfWeek","dir","setDate","dayOfWeek","firstDayOfMonth","lastDayOfMonth","last","timeOffset","firstDayOfYear","lastDayOfYear","moveDateToWeekStart","weekStartDay","addDays","calcWeekInYear","firstWeekInYear","newDate","diffInMS","weekInYear","prevWeekDate","nextWeekDate","weekNumber","toUtcTime","toInvariantTime","isInTimeRange","msMin","msMax","msValue","isInDateRange","setTime","ignoreDST","difference","today","isToday","staticDate","addYear","currentDate","nextDay","previousDay","MS_PER_HOUR","nextYear","previousYear","stripWhitespace","createNodeIterator","iterator","NodeFilter","SHOW_TEXT","node","FILTER_ACCEPT","FILTER_REJECT","nextNode","referenceNode","textContent","trim","childNodes","child","nodeValue","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","animationQueue","themeColorValues","queueAnimation","runNextAnimation","parseQueryStringParams","queryString","params","paramParts","elementUnderCursor","x","client","wheelDeltaY","jQueryEvent","deltaY","delta","wheelDelta","detail","axis","VERTICAL_AXIS","throttle","delay","timeout","lastExecTime","throttled","elapsed","caret","rangeElement","isPosition","selectionStart","focus","setSelectionRange","selectionEnd","selection","createTextRange","collapse","moveStart","moveEnd","select","rangeDuplicated","duplicate","moveToBookmark","createRange","getBookmark","setEndPoint","text","compileMobileDirective","scope","injector","invoke","$compile","$$phase","$digest","antiForgeryTokens","tokens","csrf_token","csrf_param","cycleForm","form","firstElement","lastElement","keyCode","shiftKey","focusElement","scrollTopPositions","scrollableParents","parentsUntil","setActive","focusNextElement","focussable","nextElement","getWidgetFocusableElement","nextFocusable","addAttribute","attribute","removeAttribute","toggleAttribute","matchesMedia","mediaQuery","media","_bootstrapToMedia","bootstrapMedia","xs","sm","md","lg","xl","fileGroupMap","audio","video","image","txt","presentation","programming","pdf","config","zip","disc-image","getFileGroup","extension","withPrefix","fileTypeMap","groups","extensions","getFileSizeMessage","sizes","pow","selectorFromClasses","fillValues","shapeValues","sizeValues","roundedValues","positionModeValues","resizeValues","overflowValues","postToProxy","dataURI","fileName","proxyURL","proxyTarget","action","contentType","base64","appendTo","submit","defaultValues","registerPrefix","dict","registerValues","j","newValues","currentValue","registerCssClass","shorthand","registerCssClasses","arr","widgetProperties","widgetValues","validValue","fillModeValues","propertyToCssClassMap","getValidCssClass","whenAll","resolveValues","remaining","deferred","Deferred","failed","rejectContexts","rejectValues","resolveContexts","updateFunc","contexts","notifyWith","done","fail","resolveWith","fileSaver","downloadAttribute","saveAsBlob","blob","atob","Uint8Array","Blob","buffer","msSaveBlob","saveAsDataURI","URL","createObjectURL","download","createEvent","initMouseEvent","dispatchEvent","revokeObjectURL","saveAs","save","forceProxy","proxyModelSetters","observable","forEach","defineProperty","dirty","getSeriesColors","seriesColorsTemplate","series","colors","item","isElement","HTMLDocument","setDefaults","path","curr","class2type","_i","amd","a1","a2","a3","depends","hidden","NEWLINE","DOUBLELINE","odataFilters","neq","gt","gte","lt","lte","doesnotcontain","endswith","startswith","isnull","isnotnull","isnullorempty","isnotnullorempty","isempty","isnotempty","odataFiltersVersionFour","mappers","pageSize","page","useVersionFour","toOdataFilter","$filter","orderby","order","$orderby","skip","$skip","take","$top","defaultDataType","read","dataType","useOdataFour","logic","operator","ignoreCase","filters","stripMetadata","hex16","createBoundary","createDelimeter","boundary","close","createCommand","transport","httpVerb","command","transportUrl","commandPrefix","getOperationHeader","changeset","changeId","header","getOperationContent","content","getOperations","collection","skipContent","requestBody","processCollection","colection","getBoundary","createBatchRequest","colections","batch","batchURL","headers","Content-Type","updated","destroyed","created","parseBatchResponse","responseText","responseMarkers","markerIndex","collections","changeBody","status","code","marker","jsonModel","models","passed","parse","schemas","odata","results","total","transports","jsonp","update","create","parameterMap","$inlinecount","$format","odata-v4","$count","ajax","success","response","responses","XmlDataReader","model","errors","serialize","modelBase","Model","fields","idField","xpathToMember","evaluate","modelInstance","record","_parse","xmlParse","xml","parseDOM","parsedNode","attributes","attributeCount","firstChild","nextSibling","intermediateResult","tree","parseXML","raw","readers","features","ASCENDING","CREATE","READ","UPDATE","DESTROY","CHANGE","SYNC","GET","ERROR","REQUESTSTART","PROGRESS","REQUESTEND","crud","identity","o","objectKeys","ObservableObject","wrapAll","at","serializeFunctions","json","object","omitChangeEvent","howMany","children","thisArg","reduce","reduceRight","every","some","empty","Symbol","_parent","eventHandler","_notifyChange","ownKeys","ignoreObjectKeys","filteredObjectKeys","getOwnPropertyNames","getPrototypeOf","_handlers","uid","shouldSerialize","f","_set","composite","paths","isSetPrevented","change","isObservableArray","isDataSource","equal","xtype","ytype","parsers","boolean","default","getFieldByName","fieldName","_initializers","dirtyFields","_defaultId","editable","accept","isNew","Comparer","originalName","functionFields","nullable","defaultValue","compare","localeCompare","combine","comparers","StableComparer","asc","valueA","valueB","__position","desc","operators","textOp","impl","ignore","accentFoldingFiltering","toLocaleLowerCase","op","getMatchRegexp","esc","doesnotstartwith","n","doesnotendwith","doesnotmatch","Query","normalizeSort","descriptor","descriptors","sortFields","sorts","sortObject","filterExpr","expressions","and","or","fieldFunctions","operatorFunctions","operatorMap","==","equals","isequalto","equalto","!=","ne","notequals","isnotequalto","notequalto","notequal","<","islessthan","lessthan","less","<=","le","islessthanorequalto","lessthanequal",">","isgreaterthan","greaterthan","greater",">=","isgreaterthanorequalto","greaterthanequal","ge","notsubstringof","normalizeOperator","normalizeFilter","compareDescriptor","f1","f2","normalizeDescriptor","fieldComparer","compareFilters","expr1","expr2","filters1","filters2","normalizeAggregate","normalizeGroup","skipItemSorting","aggregates","normalizeGroupWithoutCompare","anyGroupDescriptorHasCompare","groupDescriptors","groupValueComparer","calculateAggregate","accumulator","state","aggr","functionName","aggregate","functions","toArray","range","inPlace","orderBy","orderByDescending","comparer","compiled","predicate","group","allData","groupPaging","groupAllData","hasSubgroups","itemCount","subgroupCount","groupBy","_sortForGrouping","groupValue","_sortGroups","sum","isNumber","average","isDate","val","process","customGroupSort","query","groupDescriptorsWithoutCompare","normalizedSort","groupDescriptorsWithoutSort","filterCallback","flatGroups","groupDescriptor","LocalTransport","RemoteTransport","Cache","setup","parameters","operation","_store","clear","serializeRecords","getters","originalFieldNames","fieldNames","setters","convertRecords","convertGroup","wrapDataAccess","originalFunction","converter","wrapDataAccessBase","store","inmemory","DataReader","schema","dataFunction","_dataAccessFunction","groupsFunction","serializeFunction","serializeGetters","fromName","_wrapDataAccessBase","fillLastGroup","originalGroup","newGroup","currOriginal","currentNew","mergeGroups","dest","indexFunction","groupsLength","indexFn","groupIndex","itemIndex","flattenGroups","wrapGroupItems","eachGroupItems","func","replaceInRanges","ranges","replaceInRange","replaceWithObservable","serverGrouping","viewIndex","removeModel","indexOfPristineModel","indexOfModel","fieldNameFromModel","convertFilterDescriptorsField","convertDescriptorsField","_map","_prefetch","_data","_pristineData","_ranges","_view","_pristineTotal","_destroyed","_pageSize","_page","_sort","_sortFields","_filter","_group","_aggregate","_total","_groupPaging","_groupsState","_shouldDetachObservableParents","Transport","pushCreate","_pushCreate","pushUpdate","_pushUpdate","pushDestroy","_pushDestroy","offlineStorage","_storage","getItem","localStorage","setItem","reader","_detachObservableParents","_observe","_online","serverSorting","serverPaging","serverFiltering","serverAggregates","inPlaceSort","online","sync","resolve","offlineData","_isServerGrouped","_isServerGroupPaged","_isGroupPaged","_push","_readData","_flatData","useRanges","getByUid","_getByUid","_storeData","_addRange","_process","_observeView","insert","_createNewModel","_wrapInEmptyGroup","_insertModelInRange","pushInsert","rangeSpan","_getCurrentRangeSpan","pushed","autoSync","pristine","pristineData","_updatePristineForModel","_removeItems","removePristine","shouldRemovePristine","found","_eachItem","_removePristineForModel","pushMove","_moveItems","moved","hasGroups","_removeModelFromRanges","promises","_sendSubmit","_send","when","then","_accept","_syncEnd","_change","cancelChanges","_cancelModel","_changesCanceled","_markOfflineUpdatesAsDirty","__state__","hasChanges","serverGroup","_handleCustomErrors","_executeOnPristineForModel","_eachPristineItem","_pristineForModel","_modelCanceled","_submit","reject","_promise","converted","_params","_queueRequest","isPrevented","_dequeueRequest","_readAggregates","replaceSubset","_serverGroupsTotal","_aggregateResult","itemIds","_skip","endless","_changeHandler","updatePristine","timestamp","_timeStamp","outerStart","outerEnd","_sortRanges","_groupsFlat","_appendToGroupsFlat","_updateOuterRangesLength","_getGroupByUid","xhr","errorThrown","_requestInProgress","_pending","_shouldWrap","arrayType","_updateTotalForAction","_calculateAggregates","_take","currentRangeStart","_clearEmptyGroups","_queryProcess","dataToAggregate","_setView","_setFilterTotal","_mergeState","_currentRangeStart","remote","moreItemsCount","_hasExpandedSubGroups","_findGroupedRange","itemsLength","groupCount","itemsToSkip","taken","_fetchGroupItems","_fetchingGroupItems","skipped","includeParents","excludeHeader","currentItems","_expandedSubGroupItemsCount","includeCurrentItems","subGroup","endSpecified","temp","groupItemsSkip","firstItem","lastItem","groupItemCount","expandedSubGroupItemsCount","getGroupItems","notFetched","subgroups","_composeItemsFilter","findSubgroups","_timeout","_groupItemsSuccessHandler","totalField","totalCount","_updateRangePristineData","countAdded","_currentRequestTimeStamp","_skipRequestsInProgress","indexOfCurrentGroup","rangesLength","currentGroup","dataLength","indexes","currIdx","_containsSubGroup","_cloneGroup","subgroup","currentSubGroup","filterTotal","setDefaultValue","fetch","_query","next","totalPages","prev","_pageableQueryOptions","getGroupsFlat","groupsTotal","includeExpanded","_calculateGroupsTotal","itemsField","ignoreState","_groupsTotal","countGroupRange","_emptyAggregates","ceil","inRange","_findRange","lastRange","firstItemUid","enableRequestsInProgress","pageSkip","_processRangeData","_originalPageSkip","_originalSize","_adjustPageSkip","_groupRangeExists","_rangeExists","prefetch","skipIdx","takeIdx","startIndex","endIndex","rangeData","rangeEnd","processed","flatData","groupMapOptions","prevRangeEnd","isGroupPaged","startField","endField","currentDataLength","_mergeGroups","_getRangesMismatch","mismatch","prevGroup","eventData","_omitPrefetch","paging","sorting","filtering","_prefetchSuccessHandler","_multiplePrefetch","prevRange","_getPrevRange","_getNextRange","availableItemsCount","_removeModelFromRange","_updateRangesLength","mismatchFound","mismatchLength","lengthDifference","rangeLength","inferSelect","firstField","secondField","optgroup","label","specified","inferTable","tbody","tBodies","rows","fieldIndex","fieldCount","cells","cell","transportOptions","Node","hasChildren","childrenField","childrenOptions","hasChildrenObject","_childrenOptions","_initChildren","_loaded","_updateChildrenField","append","loaded","level","_childrenLoaded","load","_matchFilter","dataMethod","_attachBubbleHandlers","_hierarchicalFilter","_markHierarchicalQuery","_updateHierarchicalFilter","_find","inferList","list","textField","urlField","spriteCssClassField","imageUrlField","textChild","_dataSource","Buffer","viewSize","disablePrefetch","_prefetching","_reset","_syncWithDataSource","setViewSize","_recalculate","itemPresent","dataOffset","prefetchThreshold","midPageThreshold","nextMidRange","nextPageThreshold","nextFullRange","pullBackThreshold","previousMidRange","previousFullRange","_goToRange","nextRange","syncDataSource","prefetchOffset","expanding","_expanding","_syncPending","_firstItemUid","BatchBuffer","batchSize","batchBuffer","endreached","prefetching","prefetched","reset","advanced","OPEN","CLOSE","DEACTIVATE","ACTIVATE","CENTER","TOP","BOTTOM","ABSOLUTE","HIDDEN","BODY","LOCATION","POSITION","VISIBLE","EFFECTS","ACTIVE","ACTIVEBORDER","ACTIVEBORDERREGEXP","ACTIVECHILDREN","MOUSEDOWN","DOCUMENT_ELEMENT","WINDOW","SCROLL","cssPrefix","TRANSFORM","NS","Popup","parentPopup","origin","collisions","collision","downEvent","anchor","_hovered","scrollArea","animation","open","_activated","_trigger","_animationClose","_mousedownProxy","_mousedown","_resizeProxy","toggleTarget","toggleEvent","viewport","copyAnchorStyles","modal","adjustSize","transition","omitOriginOffsets","_hideDirClass","_closing","_toggleResize","fixed","isFixed","flipped","_position","_openAnimation","_showDirClass","show","_location","direction","dirClass","slideIn","skipEffects","openEffects","closeEffects","popup","ev","_resizeTimeout","_scrollableParents","_fit","viewPortSize","output","_flip","anchorSize","boxSize","isWindow","origins","positions","siblingContainer","parentZIndex","zIndex","viewportOffset","viewportWidth","viewportHeight","siblings","_align","pos","offsetParent","anchorParent","offsets","flipPos","elementHeight","wrapperHeight","verticalOrigin","horizontalOrigin","verticalPosition","horizontalPosition","anchorOffset","appendToOffset","anchorWidth","anchorHeight","tabKeyTrapNS","focusableNodesSelector","TabKeyTrap","trap","_keepInTrap","removeTrap","shouldTrap","which","_focusableElements","sortedElements","_sortFocusableElements","_nextFocusable","_focus","tabIndex","attrName","contentWindow","_haveSelectionRange","elementType","percentageUnitsRegex","ID","FOCUSED","HOVER","KSELECTED","LOADING","LIST","TABLE","DATA_TABLE","TABLE_MD","LIST_UL","TABLE_LIST","FIXED_GROUP_HEADER","GROUP_LABEL","ITEMSELECTOR","LABELIDPART","CASCADE","SELECT","CLICK","MOUSELEAVE","MOUSEENTER","DATA_BINDING","DATA_BOUND","SELECTED_ITEM_CHANGE","SELECTED","BLUR","FOCUS","FOCUSOUT","HIDDENCLASS","WIDTH","TEXT","VALUE","isIE","quotRegExp","alternativeNames","ComboBox","DropDownList","MultiColumnComboBox","UL_EL","LIST_EL","NO_DATA_EL","LIST_FOOTER_EL","TABLE_FOOTER_EL","LIST_SUFFIX","LISTBOX_SUFFIX","ARIA_LABELLEDBY","ARIA_LABEL","ARIA_ACTIVEDESCENDANT","ARIA_AUTOCOMPLETE","ARIA_CONTROLS","ARIA_LIVE","ARIA_EXPANDED","ARIA_HIDDEN","ARIA_BUSY","ARIA_MULTISELECTABLE","ARIA_SELECTED","GROUP_ROW_SEL","List","_isSelect","dataTextField","dataValueField","_listSize","ul","aria-hidden","columns","_columnsHeader","_header","_noData","_footer","_accessors","_initValue","valuePrimitive","footerTemplate","headerTemplate","noDataTemplate","noData","_renderFooter","_renderNoData","_focused","readonly","_editable","_angularElement","before","columnsHeader","colGroup","row","currentColumn","title","columnsHeaderTemplate","currentWidth","currentWidthInt","widthStyle","prepend","footer","footerEl","_listOptions","virtual","changeEventOption","_listChange","listBoundHandler","_listBound","focusedElm","inputId","labelElm","labelledBy","_generateLabelId","autoBind","selectable","_click","activate","_activateItem","deactivate","_deactivateItem","dataBinding","dataBound","groupTemplate","fixedGroupTemplate","ariaLabel","ariaLabelledBy","listSize","$angular","_initList","listOptions","selectedItemChange","listView","StaticList","VirtualList","_setListValue","_updateSelectionState","_listMousedown","filterInput","_isFilterEnabled","_hideClear","_clear","_showClear","_clearValue","_clearText","_accessor","_customOption","enforceMinLength","word","highlightFirst","_clearFilter","bound","_filterSource","isMultiColumnFiltering","filterFields","resetPageSettings","removed","removeFiltersForField","_clearFilterExpressions","newExpression","_pushFilterExpression","isValidFilterExpr","_cascading","setDSFilter","dataSourceState","filtersToRemove","_toggleNoData","_toggleHeader","groupHeader","_allowOpening","_old","_ignoreCase","candidate","widgetOptions","fromFilter","_buildExpression","_open","_clearButton","clearTitle","clearButton","_inputValue","_typingTimeout","minLength","_state","_emptySearch","_searchByWord","_unbindDataSource","_form","_resetHandler","selectedDataItems","valueField","_text","_value","_aria","autocomplete","suggest","aria-owns","aria-controls","_ariaLabel","inputElm","labelId","_blur","_userTriggered","_isValueChanged","unifyType","selectedIndex","optionValue","_valueBeforeCascade","_oldIndex","isFiltered","_typing","typing","_enable","_dataValue","_offsetHeight","prevAll","_height","isMccb","offsetTop","popups","_openHandler","_adjustListWidth","computedWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","fontFamily","autoWidth","minWidth","whiteSpace","_closeHandler","_focusItem","noFocusedItem","scrollToIndex","_calculateGroupPadding","li","padding","_calculatePopupHeight","_calculateColumnsHeaderPadding","_refreshScroll","enableYScroll","overflowX","overflowY","_resizePopup","_popup","_toggleHover","currentTarget","_toggle","preventFocus","touchEnabled","MSPointers","_prevent","_triggerCascade","_cascadeTriggered","_cascadedValue","userTriggered","_triggerChange","_requestStartHandler","_requestEndHandler","_errorHandler","requireValueMapper","hasValue","valueMapper","Select","_initial","setDataSource","_initialIndex","_current","_parentWidget","_cascadeSelect","_select","_cascadeValue","_accessorInput","_accessorSelect","getSelectedOption","selected","_custom","_syncValueAndText","custom","_hideBusy","_busy","_arrowIcon","_showBusy","_request","_requestEnd","_firstItem","focusFirst","_lastItem","focusLast","_nextItem","focusNext","_prevItem","focusPrev","_getNormalizedDataItem","isIndex","hasOptionLabel","optionLabel","getElementIndex","dataItemByIndex","_getNormalizedSelectCandidate","normalizedCandidate","_move","isVirtual","pressed","moveIndex","selectCandidate","altKey","_fetch","_get","activeFilter","shouldTrigger","_focusElement","focusout","scrollWith","_fetchData","hasItems","cascadeFrom","_options","htmlElement","dataText","dataValue","formId","parentElement","_cascade","cascade","_cascadeHandlerProxy","_cascadeHandler","_cascadeFilterRequests","_selectedValue","_toggleCascadeOnFocus","valueBeforeCascade","_clearSelection","_cascadeChange","filterValue","cascadeFromParentField","cascadeFromField","currentHandler","STATIC_LIST_NS","_touchHandlers","thead","_optionID","_selectedIndices","_dataItems","_values","_getter","_templates","_onScroll","_scrollId","_renderHeader","_refreshHandler","_fixedHeader","startY","endY","tapPosition","pageY","_touchTriggered","_triggerClick","_render","scroll","itemOffsetTop","itemOffsetHeight","contentScrollTop","contentOffsetHeight","bottomDistance","_getValues","_valueGetter","hasCandidate","focusIndex","skipUpdate","_skipUpdate","indices","singleSelection","selectedIndices","uiSelectedIndices","added","filtered","_deselectFiltered","_deselect","_valueComparer","removeAt","setValue","_valueDeferred","_valueIndices","_valueExpr","normalized","_valueType","_dataItemPosition","valueExpr","removedIndices","_template","templates","templateText","_normalizeIndices","newIndices","_firstVisibleItem","itemHeight","lastChild","forward","previousSibling","isGrouped","visibleItem","_renderItem","notFirstItem","hasColumns","altRow","isLastGroupedItem","_renderColumns","dataContext","_selected","_lastDSFilter","skipUpdateOnBind","isItemChange","mapChangedItems","changed","unchanged","_bound","itemsToMatch","selectedLength","scaleProperties","scale","scalex","scaley","scale3d","translateProperties","translate","translatex","translatey","translate3d","hasZoom","zoom","matrix3dRegExp","cssParamsRegExp","translateXRegExp","oldEffectsRegExp","singleEffectRegExp","unitRegExp","transformProps","transform2d","transform2units","rotate","skew","BLANK","PX","NONE","AUTO","HEIGHT","ORIGIN","ABORT_ID","OVERFLOW","TRANSLATE","COMPLETE_CALLBACK","TRANSITION","BACKFACE","PERSPECTIVE","DEFAULT_PERSPECTIVE","TRANSFORM_PERSPECTIVE","vertical","modifier","horizontal","stopQueue","animationProperty","transformValue","step","elem","now","curProxy","cur","parseInteger","parseCSS","acc","propertyName","strip3DTransforms","normalizeCSS","transformation","cssValues","lowerKey","isTransformed","exclusive","ease","mirror","redirectedEffect","resolved","$1","$2","effect","effectBody","oldKeys","timeoutID","stopTransitionCalled","stopTransition","speeds","merge","uniqueSort","unique","taskKeys","retainPosition","transform","computed","atan2","EffectSet","restore","run","jdx","childrenLength","setReverse","addRestoreProperties","prepare","effectName","restoreCallback","Effect","effectClass","effectSet","parsedEffects","capitalize","useTransition","multiple","single","originalPosition","dX","dY","marginLeft","marginTop","_direction","_additionalEffects","_reverse","play","additional","_duration","compositeRun","_complete","shouldHide","createEffect","definition","opt1","opt2","opt3","theDirection","FOUR_DIRECTIONS","IN_OUT","createToggleEffect","defaultStart","defaultEnd","startValue","_startValue","endValue","_endValue","_shouldHide","startDataValue","startDataValueIsSet","divisor","tmp","previous","previousDivisor","margin","setLength","oldLength","realLength","TRANSFER_START_STATE","CLIPS","outerBox","box","innerBox","currentScale","fillScale","transformOrigin","ROTATIONS","clipInHalf","_container","rotation","_clipInHalf","clip","face","_face","temporary","back","reverseDirection","faceClone","backClone","staticPage","turningPage","transformStyle","RESTORE_OVERFLOW","IGNORE_TRANSITION_EVENT_SELECTOR","Animation","_before","_after","transitionClass","_previous","_transitionClass","beforeTransition","afterTransition","_both","_element","_containerClass","containerClass","completeProxy","isAbsolute","both","originalOverflow","_tickProxy","_tick","_started","tick","onEnd","onCancel","Transition","timePassed","startDate","moveTo","movable","initial","_easeProxy","moveAxis","easeOutExpo","easeOutBack","inner","outer","fitScale","OS","invalidZeroEvents","DEFAULT_MIN_HOLD","CLICK_DELAY","DEFAULT_THRESHOLD","PRESS","HOLD","START","MOVE","CANCEL","TAP","DOUBLETAP","RELEASE","GESTURESTART","GESTURECHANGE","GESTUREEND","GESTURETAP","THRESHOLD","api","mouse","pointer","ENABLE_GLOBAL_SURFACE","touchDelta","touch1","touch2","x1","y1","x2","y2","dx","dy","center","distance","sqrt","getTouches","identifier","pointerId","TouchAxis","_updateLocationData","startLocation","velocity","timeStamp","timeDelta","initialDelta","Touch","userEvents","touchInfo","useClickAsTap","initialTouch","pressEvent","_clicks","supportDoubleTap","_moved","_finished","press","_holdTimeout","minHold","_tap","_clickTimeout","_hold","preventMove","_shouldNotMove","_withinIgnoreThreshold","UserEvents","_start","dispose","endTime","activeTouches","isMoved","startTime","xDelta","yDelta","withEachUpEvent","downEvents","_maxTouches","multiTouch","allowSelection","captureUpIfMoved","fastTap","eventNS","surface","global","ownerDocument","defaultAction","touchAction","preventDragEvent","root","surfaceElement","preventIfMovingProxy","preventIfMoving","_isMoved","removeEventListener","_disposeAll","capture","_isMultiTouch","_apiCall","_maxTouchesReached","_eachTouch","_end","pageX","methodName","matchingTouch","defaultThreshold","$window","draggables","dropTargets","dropAreas","lastDropTarget","KEYUP","DRAGSTART","DRAG","DRAGEND","DRAGCANCEL","HINTDESTROYED","DRAGENTER","DRAGLEAVE","DROP","numericCssPropery","within","containerBoundaries","minX","minY","maxX","maxY","checkTarget","targets","areas","theTarget","theFilter","targetLen","areaLen","targetElement","TapCapture","_press","_release","attachEvent","captureNext","cancelCapture","PaneDimension","forcedEnabled","measure","scrollSize","makeVirtual","_virtualMin","_virtualMax","virtualSize","outOfBounds","forceEnabled","getTotal","rescale","silent","scaledTotal","minScale","centerOffset","PaneDimensions","forcedMinScale","maxScale","newScale","centerCoordinates","PaneAxis","dimension","dragMove","resistance","translateAxis","Pane","elastic","gesturestart","gesture","gesturechange","previousGesture","previousCenter","scaleDelta","coordinates","offsetX","offsetY","scaleWith","TRANSFORM_STYLE","Movable","webkitTransformOrigin","_saveCoordinates","by","scaleTo","newCoordinates","destroyDroppable","groupName","droppables","DropTarget","draggable","dropTarget","_over","_out","_drop","dropped","DropTargetArea","destroyGroup","_cache","Draggable","hold","_drag","_cancel","_afterEndHandler","_afterEnd","_captureEscape","cursorOffset","holdToDrag","autoScroll","cancelHold","_updateHint","boundaries","hintOffset","hint","_shouldIgnoreTarget","ignoreSelector","currentTargetOffset","scopeTarget","scopeFrom","cursorElement","_elementUnderCursor","_cursorElement","_scrollableParent","findScrollableParent","_lastEvent","_processMovement","autoScrollVelocity","scrollableViewPort","_scrollCompenstation","_scrollVelocity","clearInterval","_scrollInterval","setInterval","_withDropTarget","_autoScroll","compensation","yIsScrollable","xIsScrollable","isRootNode","scrollableRoot","yInBounds","xInBounds","initialTarget","mouseX","mouseY","rect","AUTO_SCROLL_AREA","utils","SNAPBACK_DURATION","SCROLLBAR_OPACITY","FRICTION","VELOCITY_MULTIPLIER","MAX_VELOCITY","OUT_OF_BOUNDS_FRICTION","ANIMATED_SCROLLER_PRECISION","RELEASECLASS","REFRESHCLASS","PULL","RESIZE","MOUSE_WHEEL_ID","ZoomSnapBack","tapCapture","DragInertia","freeze","_moveTo","paneAxis","_snapBack","velocityMultiplier","friction","snapBack","AnimatedScroller","_updateCoordinates","setCoordinates","setCallback","ScrollBar","controlsId","elementSize","scrollMovable","alwaysVisible","paneSize","sizeRatio","_ariaValue","visibility","_native","scrollElement","fixedContainer","wrapInner","avoidScrolling","velocityX","velocityY","horizontalSwipe","originatedFromFixedContainer","verticalSwipe","pane","zoomSnapBack","animatedScroller","scrollTo","mousewheelScrolling","pulled","_initAxis","_wheelEnd","_wheel","_wheelY","pullToRefresh","_initPullToRefresh","_wheelScroll","ctrlKey","_wheelTimeout","pullOffset","visibleScrollHints","pullTemplate","releaseTemplate","refreshTemplate","contentResized","_scale","zoomOut","animatedScrollTo","pullHandled","refreshHint","hintContainer","yinertia","xinertia","_paneChange","_dragEnd","elementId","scrollBar","LIST_CONTENT","TABLE_CONTENT","HEADER","LIST_ITEM","TABLE_ITEM","HEIGHTCONTAINER","GROUPITEM","LISTBOUND","ITEMCHANGE","VIRTUAL_LIST_NS","lastFrom","isPrimitive","getItemCount","listScreens","getDefaultItemHeight","mockList","lineHeight","bufferSizes","opposite","listValidator","downThreshold","upThreshold","lastScrollTop","scrollCallback","syncList","reorder","webkitTransform","map2","arr1","arr2","reshift","itemTemplate","placeholderTemplate","renderColumns","isActivePromise","contentClasses","_fetching","_selectedDataItems","_selectedIndexes","_rangesList","_promisesList","_renderItems","_triggerListBound","_selectable","oppositeBuffer","mapValueTo","itemClass","_selectProxy","_items","_clean","_deferValueSet","mute","_selectingValue","_highlightSelectedItems","_getElementByDataItem","_mute","_createList","_removeSelectedDataItem","valueGetter","_forcePrefetch","shouldClear","_prefetchByValue","_checkValuesOrder","_removedAddedIndexes","newValue","dataView","_dataView","forSelection","mapValueToIndex","mapValueToDataItem","_getIndecies","deferredRange","defs","low","high","pages","existingRange","isEmptyList","_activeDeferred","_getSkip","_findDataItem","_getRange","triggerEvent","_getElementByIndex","_focusedIndex","_getElementLocation","_screenHeight","heightContainer","initialIndices","prefetchStarted","isAlreadySelected","_selectDeferred","_deselectCurrentValues","_listCreated","_lastScrollTop","hasData","setScreenHeight","yPosition","yDownPostion","screenEnd","_generateItems","minHeight","_saveInitialRanges","_buildValueGetter","_setHeight","getList","_listItems","_whenChanged","_reorderList","currentHeight","padHeight","lastRequestedRange","lastRangeStart","rangeStart","_getterDeferred","firstItemIndex","_indexConstraint","flatGroup","groupLength","currentVisibleGroup","firstVisibleDataItemIndex","firstVisibleDataItem","firstVisibleGroup","fixedGroupText","_itemMapper","listType","currentIndex","_currentGroup","_range","_getDataItemsCollection","_listIndex","theValidator","theNew","currentOffset","Infinity","list2","range2","_bufferSizes","buffers","elementIndex","selectedIndexes","removedindexesCounter","_deselectSingleItem","oldSkip","_clickHandler","HTMLBase","stylingOptions","_addClasses","outerHTML","KBUTTON","KBUTTONICON","KBUTTONTEXT","renderButton","HTMLButton","iconElement","_textElement","icon","iconClass","spriteCssClass","imageUrl","shape","span","img","isEmpty","contents","newSpan","createTextNode","replaceChild","classList","placeholderSupported","nsFocusEvent","DISABLED","READONLY","STATEDISABLED","ARIA_DISABLED","ARIA_READONLY","AUTOCOMPLETEVALUE","STATE_FILTER","STATE_ACCEPT","STATE_REBIND","HOVEREVENTS","newLineRegEx","NON_PRINTABLE_KEYS","_focusHandler","_wrapper","_input","_attachFocusEvents","_setText","_placeholder","_toggleCloseVisibility","syncValueAndText","_pasteTimeout","_arrow","_oldText","hasText","isCustom","_inputFocus","_inputFocusout","_arrowClick","isClearButton","_inputPaste","arrow","_keydown","_search","reinitialized","_openPopup","_scrollToFocusedItem","_buildOptions","_updateSelection","initialIndex","hasInitialIndex","_selectValue","_updateItemFocus","isActive","isFirstPage","_presetValue","keepState","_setDomInputValue","currentCaret","caretStart","_prev","preventShow","caretIdx","_last","loweredText","accessKey","SELECTOR","maxLength","arrowBtn","aria-expanded","insertAfter","isFkey","isNonPrintableKey","_preselect","CLICKEVENTS","MSG_INVALID_OPTION_LABEL","_focusInputHandler","_focusInput","_optionLabel","_inputTemplate","_word","_span","_mobile","_filterHeader","_attachFocusHandlers","_attachAriaActiveDescendant","_textAccessor","_optionLabelText","valueTemplate","optionLabelTemplate","filterTitle","_resizeFilterInput","_focusFilter","originalPrevent","isInputActive","_optionLabelDataItem","_valueSetter","_assignInstance","optionLabelValue","_filterPaste","_focusinHandler","_focusoutHandler","isIFrame","self","_wrapperMousedown","_wrapperClick","dropDownWrapper","_keypress","handled","isPopupVisible","_getElementDataItem","_matchText","_shuffleData","splitIndex","optionDataItem","_selectNext","isInLoop","sameCharsOnly","oldFocusedItem","normalizeIndex","character","charCode","_popupOpen","active","compareElement","jQueryCandidate","_resetOptionLabel","focusedItem","additionalClass","filterTemplate","aria-label","aria-haspopup","aria-autocomplete","DOMelement","accesskey","unselectable","optionLabelText","getElements","assign","HORIZONTAL","VERTICAL","RESIZEEND","Resizable","orientation","_positionMouse","_sizingDom","draggableElement","drag","dragcancel","dragstart","dragend","_stop","_max","hintSize","_initialElementPosition","_min","_initialMousePosition","_maxPosition","_minPosition","maxPosition","minPosition","currentPosition","invalidClass","resizing","targetPosition","MODAL_NS","KWINDOW","KWINDOWTITLE","KWINDOWTITLEBAR","KWINDOWCONTENT","KDIALOGCONTENT","KWINDOWRESIZEHANDLES","KOVERLAY","KCONTENTFRAME","KHOVERSTATE","KFOCUSEDSTATE","MAXIMIZEDSTATE","INLINE_FLEX","CURSOR","REFRESH","MINIMIZE","MAXIMIZE","RESIZESTART","RESTORE","KENDOKEYDOWN","DATADOCOVERFLOWRULE","ZINDEX","MINIMIZE_MAXIMIZE","KPIN","KUNPIN","PIN_UNPIN","TITLEBAR_BUTTONS","REFRESHICON","WINDOWEVENTSHANDLED","zero","SIZE","small","medium","large","defined","toInt","constrain","normalizedValue","executableScript","getPosition","offsetLeft","parentOverflowX","parentOverflowY","Window","isVisible","windowContent","windowFrame","globalWindow","suppressActions","actions","containment","_createWindow","_dimensions","minTop","minLeft","maxTop","maxLeft","toFront","_overlay","_buttonEnter","_buttonLeave","_windowActionHandler","_keydownContent","windowInstance","not","_resizable","_draggable","pinned","pin","aria-labelledby","_resizeHandler","_onDocumentResize","_marker","_tabKeyTrap","maxHeight","sizeClass","contentBoxSizing","lrBorderWidth","tbBorderWidth","paddingTop","_isPinned","_updateBoundaries","maxWidth","containmentTop","containmentLeft","_animationOptions","basicAnimation","resizable","toggleMaximization","resizeHandle","WindowResizing","dragging","WindowDragging","dragHandle","_actions","titlebar","windowSpecificCommands","doc","cachedOptions","_containerScrollTop","_containerScrollLeft","scrollable","_enableDocumentScrolling","fade","autoFocus","isMaximized","isMinimized","_closable","_close","newWidth","newHeight","w","h","unpin","maximize","minimize","overlay","insertBefore","preventScroll","_stopDocumentScrolling","_actionForIcon","k-i-close","k-i-window-maximize","k-i-window-minimize","k-i-window-restore","k-i-refresh","k-i-pin","k-i-unpin","_modals","windowElements","modals","_object","documentWindow","newTop","newLeft","_scrollIsAppended","encoded","titleBar","titleElement","scrollContainer","showOptions","contentElement","otherModalsVisible","containmentContext","Fade","overlayFx","fadeIn","_activate","_removeOverlay","suppressAnimation","hideOverlay","hideOptions","fadeOut","systemTriggered","defaultPrevented","_deactivate","iframe","lastModal","_actionable","_shouldFocus","avoidFocus","currentWindow","openAnimation","originalZIndex","windowObject","zIndexNew","windowTop","restoreOptions","shouldRestrictTop","_sizingAction","actionId","_storeOverflowRule","$body","$html","_restoreOverflowRule","$element","_isOverflowStored","overflowRule","win","wnd","initOptions","showIframe","_ajaxRequest","contentFrame","_triggerRefresh","_ajaxComplete","_loadingIconTimeout","_ajaxError","_ajaxSuccess","contentTemplate","_showLoading","contentHtml","iframeSrcAttributes","editor","owner","_preventDragging","addOverlay","removeOverlay","elementPadding","initialPosition","resizeDirection","initialSize","containerOffset","hasMargin","wrapperPosition","relativeElMarginLeft","relativeElMarginTop","_relativeElMarginLeft","_relativeElMarginTop","rtl","leftRtlOffset","scrollOffset","windowBottom","windowRight","newWindowTop","initialWindowPosition","initialPointerPosition","startPosition","_finishDrag","namedColors","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","matchNamedColor","color","colorNames","regexp","BaseColor","toHSV","toRGB","toHex","toBytes","toCss","toCssRgba","rgb","toDisplay","parseColor","other","NaN","c1","c2","r","Bytes","RGB","ref","HSV","toHSL","l","HSL","hex","alpha","p","q","hue2rgb","alphaFromHex","DARK_TRESHOLD","Color","this$1","resolvedColor","resolveColor","formatRegex","re","processor","channels","normalizeByte","padDigit","brightness","percBrightness","isDark","fromBytes","fromRGB","fromHSV","fromHSL","SLIDE","MOUSE_DOWN","TRACK_MOUSE_DOWN","MOUSE_UP","TRACK_MOUSE_UP","MOVE_SELECTION","KEY_DOWN","MOUSE_OVER","DRAG_HANDLE","TRACK_SELECTOR","TICK_SELECTOR","STATE_SELECTED","STATE_FOCUSED","STATE_DISABLED","ARIA_VALUETEXT","ARIA_VALUENOW","SliderBase","_isHorizontal","_isRtl","_sizeFn","_outerSize","tooltip","smallStep","_createHtml","_trackDiv","_maxSelection","_sliderItemsInit","rtlDirectionSign","_keyMap","37","40","39","38","35","36","33","largeStep","34","tickPlacement","_distance","_refresh","sizeBetweenTicks","pixelWidths","_calculateItemsWidth","removeFraction","createSliderItems","_setItemsTitle","_calculateSteps","_setItemsLargeTick","titleNumber","valueWithoutFraction","itemsCount","trackDivSize","preciseItemsCount","pixelStep","itemWidth","_roundWidths","pixelWidthsArray","balance","_addAdditionalSize","additionalSize","_pixelSteps","_getValueFromPosition","mousePosition","draggableArea","halfStep","startPoint","_getFormattedValue","tooltipTemplate","_getDraggableArea","endPoint","inputs","formatValue","createWrapper","showButtons","after","createButton","createTrack","_firstHandleDrag","_activeHandle","_lastHandleDrag","_activeHandleDrag","_updateTooltip","_focusWithMouse","_setTooltipTimeout","_removeTooltip","_tooltipTimeout","_clearTooltipTimeout","tooltipDiv","_formResetHandler","isHorizontal","orientationCssClass","cssClasses","tickPlacementCssClass","buttonCssClass","dragHandleCount","firstDragHandleTitle","leftDragHandleTitle","dragHandleTitle","elementValue","minElementValue","maxElementValue","rightDragHandleTitle","stepValue","calculatePrecision","power","parseAttr","Slider","_selection","Selection","Drag","_refreshAriaAttr","increaseButtonTitle","decreaseButtonTitle","clickHandler","_update","newVal","_nextValueByIndex","_valueIndex","_setValueInRange","mouseDownHandler","timer","_clearTimer","formattedValue","_tooltipDiv","RangeSlider","moveSelection","selectionValue","selectionDiv","rtlCorrection","_dragstart","_activeDragHandle","_setZIndex","oldVal","_createTooltip","calloutCssClass","tooltipInnerDiv","_scrollOffset","moveTooltip","slideParams","constrainValue","noAnimation","callout","dragHandles","sdhOffset","viewPortEnd","maxOverflow","firstInput","secondInput","warn","selectionStartValue","selectionEndValue","dragSelectionStart","dragSelectionEnd","activeHandleDrag","selectionStartIndex","selectionEndIndex","makeSelection","selectionPosition","iconTemplate","svgIconTemplate","Badge","_content","_appearance","cutoutBorder","align","_classNames","_themeColor","_shape","_sizes","_fill","_cutoutBorder","_visible","_updateClassNames","classNames","keepClassNames","sizeAbbr","iconTemplateFunction","_icon","MOUSEUP","MOUSEOUT","DISABLEDSTATE","FOCUSEDSTATE","SELECTEDSTATE","BUTTON_DEFAULTS","Button","badge","_badge","_removeActive","_addActive","_isNativeButton","err","badgeOptions","badgeEelement","button","binders","SOURCE","EVENTS","CHECKED","CSS","deleteExpando","Binding","dependencies","_access","_parents","dependency","currentSource","EventBinding","TemplateBinding","Binder","bindings","binding","TypedBinder","parsedValue","_parseValue","dataSourceBinding","bindingName","_dataBinding","_dataBound","_itemChange","itemChange","bindElement","_ns","removedItems","unbindElementTree","all","addedItems","hds","addedDataItems","multiselect","dropdowntree","MultiSelect","DropDownTree","treeview","retrievePrimitiveValues","dataFormat","invisible","valueUpdate","_initChange","cloneNode","reference","unbindElementChildren","checked","valueIndex","sourceValue","optionIndex","check","floatingLabel","_valueIsObservableObject","_valueIsObservableArray","_source","isObservableObject","valueLength","sourceItem","oldValues","selectedNode","nonPrimitiveValues","_isMultipleSelection","_getAllChecked","newLength","old","same","removeIndex","arraySplice","selectedValue","gantt","_isBound","scheduler","grid","addLength","shifted","shiftedLength","BindingTarget","toDestroy","hasSource","hasEvents","hasChecked","hasCss","widgetBinding","WidgetBindingTarget","specificBinders","applyBinding","binder","bindingTargetForRole","keyValueRegExp","whiteSpaceRegExp","parseBindings","token","colonIndex","createBindings","childrenCopy","unbindElement","dom","destroyWidget","bindingTarget","destroyWidgets","namespace","observableHierarchy","recursiveRead","FLOATINGLABELCONTAINER","NOCLICKCLASS","STATEREADONLY","FloatingLabel","useReadOnlyClass","INPUT","LABELCLASSES","TextBox","_label","unwrap","_floatingLabelContainer","_inputLabel","_focusin","_focusout","floating","labelText","DOMElement","extractFormat","SPIN","TOUCHEND","SYMBOL","CLASS_ICON","STATEINVALID","INTEGER_REGEXP","NumericTextBox","isStep","inputType","_initialOptions","_arrows","_validation","selectValue","factor","restrictDecimals","spinners","selectOnFocus","upArrowText","downArrowText","_toggleText","_upArrowEventHandler","_downArrowEventHandler","_spin","_upArrow","_downArrow","_keyup","_paste","_inputHandler","_arrowsWrap","aria-valuemin","aria-valuemax","_option","adjusted","_adjust","arrows","_spinning","buttonHtml","release","_validationIcon","_focusing","_format","groupRegExp","extractRegExp","caretPosition","_getFactorValue","_culture","_removeInvalidState","_numPadDot","_step","_cachedCaret","decimalSeparator","minInvalid","_isPasted","_numericRegex","_blinkInvalidState","_addInvalidState","_invalidStateTimeout","separator","fractionRule","_separator","_floatRegExp","originalValue","rounder","truncate","isNotNull","ColorSelector","ariaId","_tabIndex","_ariaId","_standalone","_triggerSelect","_updateUI","_onEnable","nohooks","_selectOnHide","colorpicker","AA_CONTRAST","AAA_CONTRAST","STEP_COUNT","getContrast","luminance1","luminance2","brightest","darkest","getContrastFromTwoRGBAs","getLuminance","getRGBFromRGBA","foregroundColor","backgroundColor","r1","fitIntoBounds","b1","r2","g2","b2","contender","isPresent","renderSvgCurveLine","gradientRectMetrics","hsva","findValue","contrast","saturation","mid","currentHsva","currentContrast","getColorFromHSV","reversedComparer","getPaths","stepCount","reversed","points","bezierCommandCalc","bezierCommand","controlPoint","line","svgPath","reducer","point","controlPointCalc","cps","cpe","lineCalc","smooth","angle","PI","cos","sin","pointA","pointB","lengthX","lengthY","hue","contrastToolUtils","KEYS","BACKGROUNDCOLOR","WHITE","BLACK","KEYDOWN_NS","ColorInput","_viewModel","switchMode","keydown","mode","_color","_preventChangeEvent","currentFormat","_tryParseColor","textbox","ColorGradient","previewInput","_hueElements","_colorgradientInputs","_contrastTool","_sliders","_hsvArea","_colorInput","contrastTool","contrastRatio","pass","toggleFormat","_hueSlider","_opacitySlider","_hsvRect","hueSlider","opacitySlider","hueChange","_getHSV","kendoSlider","slide","opacityChange","hsvRect","hsvHandle","rw","rh","_svChange","_hsvEvents","_hsvHandle","setBackgroundColor","_updateColorContrast","dontChangeInput","_updateHsv","_resetHsv","_resetColorContrast","contrastOptions","contrastRatioTemplate","labelTemplate","ratio","limit","_updateContrastSvg","svgClassName","metrics","newSvg","handlePosition","_selectedColor","_colorAsText","ITEMSELECTEDCLASS","ITEMSFOCUSEDCLASS","SIMPLEPALETTE","WEBPALETTE","CLICK_NS","BLUR_NS","relative","ColorPalette","palette","_selectedID","tileSize","ex","MESSAGES","NO_COLOR","PREVIEW_MASK","VIEWS","gradient","FlatColorPicker","autoupdate","_previousColor","_viewsContainer","_changeView","_setViewSize","_clearColor","viewButton","buttons","preview","noColor","clearColor","_updatePreviousColor","selectedColor","hsvColor","_cachedHue","dontChangeView","previewWidth","previewHeight","previewColumns","setProperty","buttonOptions","ColorPicker","_buttonHtml","_inputWrapper","_selector","closeOnSelect","toolIcon","ARIATemplate","_getPopup","selOptions","_noColorIcon","_isInputTypeColor","dontChangeSelector","_ariaTemplate","selectorType","selectorWrapper","kendoPopup","clickedOutside","MouseEvent","ToggleInputBase","_initSettings","_attachEvents","RENDER_INPUT","inputMethod","renderCheckBox","HTMLCheckBox","renderRadioButton","HTMLRadioButton","HTMLInput","labelPosition","inputClass","labelEl","labelClass","wrapperHtml","CheckBox","ARIASELECTED","SELECTABLE","UNSELECT","UNSELECTING","INPUTSELECTOR","supportEventDelegation","Selectable","_marquee","_lastActive","tap","inputSelectors","ignoreOverlapped","addIdToRanges","_isElement","metaKey","selectedClass","whichCode","buttonCode","_allowSelection","selectRange","_firstSelectee","_unselect","_notify","_downTarget","currentElement","useAllItems","_selectElement","_invalidateSelectables","rangeSelectedAttr","_currentlyActive","toSelect","_collidesWithActiveElement","marqueeRect","activeElements","elemRect","getBoundingClientRect","activeElementRect","tempRect","overlaps","selectElement","selectedRanges","rangeId","mapLocation","selectedSingleItems","preventNotify","aria","resetTouchEvents","continuousItems","elementPosition","firstRect","secondRect","selectableMode","asLowerString","transitionOrigin","cellTemplate","emptyCellTemplate","otherMonthCellTemplate","weekNumberTemplate","MIN","MONTH","CENTURY","NAVIGATE","OTHERMONTH","OUTOFRANGE","TODAY","CELLSELECTOR","CELLSELECTORVALID","WEEKCOLUMNSELECTOR","FOCUS_WITH_NS","MOUSEENTER_WITH_NS","PREVARROW","NEXTARROW","DATE","decade","century","HEADERSELECTOR","CLASSIC_HEADER_TEMPLATE","MODERN_HEADER_TEMPLATE","Calendar","disableDates","getDisabledExpr","_viewWrapper","hasFooter","_today","mousetoggle","link","toDateObject","_focusView","focusOnNav","_setCurrent","normalize","_selectDates","_index","restrictValue","_addClassProxy","_active","_cell","todayString","toDateString","getToday","_cellByDate","_removeClassProxy","selectDates","dates","depth","weekColumnHeader","classic","linksSelector","modern","_destroySelectable","navigate","_title","_table","_bindTable","navigateToPast","_navigate","navigateToFuture","navigateUp","navigateDown","isEqualDate","_oldTable","future","currentView","viewWrapper","otherMonth","isWeekColumnVisible","addClassToViewContainer","_animate","_visualizeSelectedDatesInView","_selectCell","validSelectedDates","datesUnique","_validateValue","createDate","isInRange","selectedDates","selectableOptions","_onSelect","_onRelatedTarget","eventArgs","_toggleSelection","_cellsBySelector","_addSelectedCellsToArray","_rangeSelection","currentCell","toDateCell","fromDate","toDate","daysDifference","daysBetweenTwoDates","addDaysToArray","currentDateIndex","_dateInView","firstDateInView","lastDateInView","_isNavigatable","cellIndex","isDisabled","prevent","_keyboardToggleSelection","focusedDate","_nextNavigatable","_keyboardRangeSelection","navigatableDate","_horizontal","viewWidth","float","margin-left","_vertical","_selectedCell","actionAttr","_todayClick","firstDayCurrentMonth","has","isBigger","isEqualMonth","isTodayDisabled","todayClass","_todayClass","_updateAria","ariaTemplate","valueType","firstVisibleDay","calendarInfo","tzOffsetBefore","resultDATE","tzOffsetDiff","getCalendarInfo","navigateUrl","showHeader","hasUrl","currentCalendar","firstDayIdx","shiftArray","shortNames","perRow","build","linkClass","dateString","weekNumberBuild","date1","date2","month1","year1","month2","year2","setMonth","minYear","maxYear","modular","cellsPerRow","otherMonthTemplate","multiplier","endDate","fromDateUTC","endDateUTC","numberOfDays","dateObject","isEqualDatePart","value1","value2","createDisabledExpr","convertDatesArray","disabledDates","searchExpression","oldValue","viewsEnum","INPUT_EVENT_NAME","knownSymbols","DateInput","wrapperClass","skipWrapping","weekday","hour","minute","second","dayperiod","_unbindInput","_bindInput","_updateElementValue","_formElement","_dateTime","getDateObject","customDateTime","_oldValue","stringAndFromat","toPair","_mouseUp","_scroll","blinkInvalid","approximateStringMatching","navigationOnly","valid","parsePart","_selectSegment","difSym","newEvent","_selectNearestSegment","returnValue","initialValue","interval","modifyPart","keycode","begin","initDate","initFormat","initCulture","initMessages","typedMonthPart","typedDayPeriodPart","placeholders","returnsFormat","matcher","mins","formatResult","generateMatcher","retFormat","setExisting","getValue","newMonth","setMinutes","setSeconds","currentChar","lastDateOfMonth","newHours","monthNames","newYear","newMinutes","newSeconds","sampleFormat","oldText","oldFormat","newText","oldTextSeparator","deletedSymbol","DIV","SPAN","MAX","parseFormats","DateView","omitPopup","dateDiv","_dateViewID","DatePicker","_calendar","_setOptions","popupHovered","selectIsClicked","disabledDate","dateView","_updateARIA","_createDateInput","dateInput","_dateIcon","_dateInput","eventType","dateChanged","valueUpdated","textFormatted","stopImmediatePropagation","isSameType","optionsValue","INVALIDMSG","invalidMsgRegExp","INVALIDINPUT","VALIDINPUT","VALIDATIONSUMMARY","INVALIDLABEL","MESSAGEBOX","INPUTINNER","INPUTWRAPPER","ARIAINVALID","ARIADESCRIBEDBY","emailRegExp","urlRegExp","CHECKBOXSELECTOR","NUMBERINPUTSELECTOR","NAME","FORM","NOVALIDATE","VALIDATE","VALIDATE_INPUT","patternMatcher","hasAttribute","validator","allowSubmit","validateOnInit","resolveRules","resolvers","ruleResolvers","decode","numberOfDecimalDigits","parseHtml","parseHTML","searchForMessageContainer","containers","isLabelFor","SUMMARYTEMPLATE","Validator","validateAttributeSelector","_errorTemplate","errorTemplate","_summaryTemplate","validationSummary","_inputSelector","_checkboxSelector","_errors","_isValidated","_validateOnInit","validate","required","email","dateCompare","captcha","noNameCheckbox","namedCheckbox","checkbox","radio","raise","isValidated","isValid","getCaptchaId","_validating","_checkElement","validateOnBlur","_allowSubmit","validateInput","invalid","showValidationSummary","_checkValidity","lbl","_findMessageContainer","messageText","_extractMessage","messageLabel","wasValid","isInputInner","inputWrapper","lblId","_decorateMessageContainer","replaceWith","prevElement","inputWrap","inputLabel","errorId","_associateMessageContainer","hideMessages","_disassociateMessageContainers","labels","hideValidationSummary","locators","messageLocators","getElementsByTagName","locate","decorate","ruleKey","customMessage","nonDefaultMessage","_getInputNames","_errorsByName","inputNames","_renderSummary","_summaryClick","summary","errorsList","nameSpecialCharRegExp","ERRORTEMPLATE","EQUAL_SET","specialRules","fieldType","convertToValueBinding","bindAttr","isAntiForgeryToken","Editable","antiForgeryTokenName","createAttributes","validation","ruleName","DATATYPE","BINDING","stringRule","attributeName","addIdAttribute","convertItems","getEditorTag","tag","checkboxes","kendoEditors","editors","mobileEditors","addValidationRules","modelField","renderHiddenForMvcCheckbox","addHidden","shouldRenderHidden","_isMobile","_validateProxy","_validate","kendoNumericTextBox","kendoDatePicker","kendoTextBox","kendoCheckBox","kendoEditor","editorOptions","tagElement","clearContainer","skipFocus","isObject","isValuesEditor","isHidden","isCustomEditor","isKendoEditor","preventChangeTrigger","_validationEventInProgress","bindAttribute","bindingRegex","validatable","modelFields","FIRST","LAST","PREV","NEXT","FOCUSABLE","KEYDOWN","MAX_VALUE","numeric","navigatable","selectOption","wrapClassName","Pager","sizeClassName","_createDataSource","linkTemplate","selectTemplate","currentPageTemplate","numericSelectItemTemplate","_id","previousNext","_numericWrap","_numericSelect","navigatalbe","pageButtonLabel","of","pageSizes","pageItems","allPages","itemsPerPage","pageSizeDropDownLabel","kendoDropDownList","_refreshClick","_numericSelectChange","_getWidthSizeClass","_navigatable","numericItemTemplate","buttonCount","responsive","morePages","reminder","selectHtml","collapsedTotal","_collapsedTotal","hasAll","selectAll","_restoreFocus","_excludeChildrenFromTab","_focusSelected","_focusMore","_restoreTabIndexes","_keyDown","allFocusable","focusedIndex","KENDO_KEYDOWN","DATABOUND","DATABINDING","EMPTY_STRING","DOT","FOCUSSELECTOR","KEDITITEM","PAGER_CLASS","ITEM_CLASS","ARIA_SETSIZE","ARIA_POSINSET","ARIA_ROLE","EDIT","REMOVE","SAVE","TOUCHSTART","ListView","_itemId","_layout","_setContentHeight","_pageable","_crudHandlers","_scrollable","pageable","altTemplate","editTemplate","bordered","borders","layout","flex","_item","_bindScrollable","_progressHandler","_progress","_error","elementClassNames","contentClassNames","contentPadding","cols","rowHeight","gutter","endlessAppend","_endlessFetchInProgress","_skipRerenderItemsCount","_destroyEditable","_focusNext","pagerWrap","pager","pagerId","multi","overflow-y","-webkit-overflow-scrolling","originalPageSize","_endlessPageSize","_scrollTo","UseJQueryoffset","scrollDirectionFunc","elementOffset","elementDimension","containerScrollAmount","containerDimension","clickCallback","canHandle","isTextBox","editItem","focusAgain","edit","clearSelection","_modelFromElement","_closeEditable","kendoEditable","mousedownNs","touchstartNs","clickNs","rFileExtension","UPLOAD","SUCCESS","COMPLETE","CLEAR","PAUSE","RESUME","VALIDATIONERRORS","INVALIDMAXFILESIZE","INVALIDMINFILESIZE","INVALIDFILEEXTENSION","PROGRESSHIDEDELAY","PROGRESSHIDEDURATION","FOCUS_STATE","headerStatusIcon","warning","Upload","directory","localization","activeInput","_wrapInput","_activeInput","_onParentFormSubmit","_onParentFormReset","_initUploadModule","_toggleDropZone","_onFileAction","_onClearSelected","_onUploadSelected","_onKeyDown","_onInputChange","showFileList","files","async","autoRetryAfter","bufferChunkSize","maxAutoRetries","removeVerb","autoUpload","withCredentials","useArrayBuffer","retry","pause","resume","clearSelectedFiles","uploadSelectedFiles","dropFilesHere","invalidFiles","statusUploading","statusUploaded","statusWarning","statusFailed","headerStatusUploading","headerStatusPaused","headerStatusUploaded","uploadSuccess","uploadFail","invalidMaxFileSize","invalidMinFileSize","invalidFileExtension","allowedExtensions","maxFileSize","minFileSize","dropZone","saveUrl","_module","_supportsFormData","formDataUploadModule","iframeUploadModule","_async","initialFiles","_renderInitialFiles","syncUploadModule","_supportsMultiple","customDropZone","fileEntry","onPause","pauseIcon","onResume","playIcon","upload","onSaveSelected","getFiles","filesData","allFiles","listItems","clearAllFiles","file","_removeFileByDomElement","removeAllFiles","removeFileByUid","_removeFileByUid","clearFileByUid","shouldSendRemoveRequest","clearFile","_removeFile","removeFile","fileData","onRemove","_hideHeaderUploadstatus","_updateHeaderUploadStatus","_addInput","sourceInput","_adjustFocusState","toFocus","_arrowKeyNavigation","kendoKeys","_preventFocusRemove","_asyncCommandKeyNavigation","_retryClicked","_checkAllComplete","chunkSize","concurrent","finish","metaData","prepareChunk","onRetry","_commandKeyNavigation","hasValidationErrors","_filesContainValidationErrors","commandKeys","assignGuidToFiles","_inputFiles","_isAsyncNonBatch","validateFiles","prevented","onSelect","_readDirectory","dirReader","createReader","allFolderFiles","readEntries","entries","_readFile","fullpath","relativePath","droppedFolderFiles","droppedFolderCounter","_proceedDroppedItems","_traverseFileTree","skipCounter","isFile","isDirectory","_onDrop","dt","dataTransfer","droppedFiles","stopEvent","directoryDrop","webkitGetAsEntry","entry","getAllFileInfo","hasErrors","currentFile","_enqueueFile","fileNames","_supportsRemove","_fileAction","_prepareTemplateData","templateData","totalSize","_prepareDefaultSingleFileEntryTemplate","fileSize","getTotalFilesSizeMessage","fileGroup","_prepareDefaultMultipleFileEntriesTemplate","filesHaveValidationErrors","totalFileSize","existingFileEntries","fileUid","fileList","removeEventArgs","_removeFileEntry","allCompletedFiles","allInvalidFiles","_hideActionButtons","fileElement","actionKey","skipClear","classDictionary","iconsClassDictionary","firstActionButton","_clearFileAction","_renderAction","_fileState","stateKey","states","uploading","uploaded","currentState","actionClass","actionText","clearEventArgs","_onFileProgress","percentComplete","progressPct","getFileEntry","_onUploadSuccess","fileInfo","XMLHttpRequest","_setUploadErrorState","_hideUploadProgress","_onUploadError","module","_decreasePosition","_autoRetryAfter","retries","performUpload","uploadPercentage","_updateUploadProgress","fileMetaData","totalChunks","_showActionButtons","actionsWrapper","uploadButton","_showHeaderUploadStatus","isUploading","headerUploadStatus","currentlyUploading","currentlyInvalid","currentlyFailed","currentlyPaused","failedUploads","headerUploadStatusIcon","onAbort","_userAgent","_supportsDrop","isChrome","isSafari","isWindowsSafari","_setupDropZone","dropEffect","bindDragEventWrappers","_bindDocumentDragEventWrappers","_setupCustomDropZone","removeUrl","_submitRemove","onSuccess","onError","removeField","dataFilter","normalizeJSON","traditional","xhrFields","hasLabel","inputFiles","filesContainErrors","relatedInput","getFileName","iframes","_frameId","prepareUpload","saveField","createFrame","registerFrame","createForm","frame","fileValidation","dataInput","onIframeLoad","cleanupFrame","unregisterFrame","started","isFileUploadStarted","processResponse","fakeXHR","tryParseJSON","jsonResult","statusText","stopFrameSubmit","removeUploadedFile","execCommand","cancelled","paused","$input","stripPath","getFileExtension","rawFiles","getFileInfo","rawFile","slashIndex","validationInfo","parseAllowedExtensions","validateFileExtension","validateFileSize","ext","parsedExt","validationErrors","shouldRemoveFileEntry","textStatus","onDragEnter","onDragLeave","hideInterval","lastDrag","sinceLastDrag","sourceElement","fileEntries","enqueueFiles","filesLength","webkitRelativePath","formData","createFormData","createXHR","populateFormData","FileReader","postFormData","removeFileEntry","onload","fileArrayBuffer","_appendBuffer","onerror","readAsArrayBuffer","_getCurrentChunk","buffer1","buffer2","byteLength","prevEntry","stopUploadRequest","_increaseChunkIndex","onRequestSuccess","onRequestError","onRequestProgress","setRequestHeader","send","FormData","chunk","serializedMetaData","raiseError","parseSuccess","_resetChunkIndex","cleanupFileEntry","uploadComplete","isUploadButtonVisible","abort","chunkIndex","uploadUid","_decreaseChunkIndex","oldPosition","methodToInvoke","_getChunker","mozSlice","webkitSlice","BREADCRUMB","breadcrumbStyles","textboxWrapper","delimiter","rootItem","rootLink","overflowIcon","focused","Breadcrumb","bindToLocation","navigational","rootIcon","delimiterIcon","rootTitle","_segments","_generateSegments","segments","_split","_path","previousDomItems","previousItems","_getItems","segment","isRoot","innerText","_edit","shouldRestoreValue","isEnter","isEsc","isNavigational","canNavigate","_wrapperKeydown","_wrapperFocus","_wrapperBlur","elementIsInput","isOnlyRoot","isLastSegment","showIcon","showText","renderDelimiter","lastSegment","_displayOverflowIcons","_shrinkItems","availableWidth","_showItem","overlayWidth","_stretchItems","trail","trimSlashesRegExp","APPLY","SEARCHBOXNS","NAMEFIELD","SIZEFIELD","TYPEFIELD","DEFAULTSORTORDER","EMPTYTILE","TOOLBARTMPL","concatPaths","sizeFormatter","suffix","filebrowser","_call","FileBrowser","_deleteClick","_addClick","_directoryKeyDown","_directoryBlur","uploadFile","orderByName","orderBySize","directoryNotFound","emptyFolder","deleteFile","invalidFileType","overwriteFile","fileTypes","toolbar","_selectedItem","fileUrl","encodeURIComponent","_toolbar","arrangeBy","showUpload","uploadUrl","showCreate","showDelete","kendoUpload","_fileUpload","searchBox","kendoSearchBox","_attachDropzoneEvents","_dropEnter","_dropLeave","_scrollHandler","_positionDropzone","_removeDropzone","_showMessage","createDirectory","_getFieldName","filterRegExp","fileNameField","sizeField","_createFile","_insertFileToList","_override","_tiles","_findFile","typeField","nameField","lastDirectoryIdx","_nameDirectory","_nameExists","directoryNames","_dblClick","_itemTmpl","_editTmpl","_listViewChange","folder","breadcrumbs","typeSortOrder","nameSortOrder","_navigation","navigation","kendoBreadcrumb","SearchBox","_updateValue","_toggleLabel","imagebrowser","ImageBrowser","_uploading","_loadImage","thumbnailUrl","alt","urlJoin","viewTop","viewBottom","excludedNodesRegExp","IMG","HREF","SHOW","LINK","IMAGE","CONTENT","CONTENTURL","CONTENTLOAD","ACTIVESTATE","HOVERSTATE","TABONTOP","NAVIGATABLEITEMS","KEYBOARDNAVIGATABLEITEMS","HOVERABLEITEMS","DEFAULTDISTANCE","itemWrapper","sprite","rendering","wrapperCssClass","textAttributes","contentAttributes","contentUrl","updateTabClasses","tabs","updateFirstLast","tabGroup","scrollButtonHtml","buttonClass","TabStrip","_animations","_contentUrls","contentUrls","_updateClasses","_tabPosition","_processContentUrls","_initialActivate","dataEncodedField","dataContentField","dataImageUrlField","dataUrlField","dataSpriteCssClass","dataContentUrlField","tabPosition","collapsible","_keyDownProxy","activateTab","animationSettings","hasCloseAnimation","neighbours","oldTab","isAnimationEnabled","contentAnimators","inRequest","_scrollableModeActive","_scrollTabsToItem","visibleContents","contentHolder","tabsHeight","isAjaxContent","showContentElement","showContent","ajaxRequest","oldMinHeight","ajaxSettings","halfWidth","fakeProgress","statusIcon","endState","oldProgressAnimation","ajaxOptions","request","progressUpload","evt","noProgress","lengthComputable","stopProgress","tab","inserted","_create","tabWrapper","_updateContentElements","contentElements","deactivateTab","_scrollPrevButton","_scrollNextButton","_toggleDisabled","referenceTab","referenceContent","fromIndex","newTabsCreated","_moveUrlItem","reload","_removeUrlItem","_endItem","_appendUrlItem","_itemClick","isAnchor","oldFocusedTab","renderItem","renderContent","_elementId","wrapperId","tabStripID","_getItem","selectedItems","endItem","wr","wrapperOffsetWidth","tabGroupScrollWidth","scrollPrevButton","scrollNextButton","_scrollableAllowed","_nowScrollingTabs","mouseDown","mouseUp","isRtlScrollDirection","_scrollTabsByDelta","_toggleScrollButtons","currentScrollOffset","itemOffset","tabGroupWidth","itemPosition","scrLeft","activeItem","activeTab","isInitialUpdate","contentId","tabId","currentContent","tabStrip","UndoRedoStack","stack","currentCommandIndex","undo","canUndo","redo","canRedo","util","SELECT_OVERLAY_SELECTOR","PLACEHOLDER_CLASS","PLACEHOLDER_TAG_ID","REFRESH_INTERVAL","DEFAULT_LANGUAGE","ToolTemplate","getHtml","EditorUtils","editorWrapperTemplate","buttonTemplate","iconTextButtonTemplate","tableWizardButtonTemplate","colorPickerTemplate","comboBoxTemplate","dropDownListTemplate","separatorTemplate","overflowAnchorTemplate","formatByName","tags","getToolCssClass","toolCssClassNames","superscript","subscript","justifyLeft","justifyCenter","justifyRight","justifyFull","insertUnorderedList","insertOrderedList","insertUpperRomanList","insertLowerRomanList","import","outdent","createLink","unlink","insertImage","insertFile","viewHtml","foreColor","backColor","createTable","addColumnLeft","addColumnRight","addRowAbove","addRowBelow","deleteRow","deleteColumn","mergeCellsHorizontally","mergeCellsVertically","splitCellHorizontally","splitCellVertically","tableWizard","tableWizardInsert","tableAlignLeft","tableAlignCenter","tableAlignRight","cleanFormatting","copyFormat","applyFormat","registerTool","toolName","tool","toolOptions","Editor","defaultTools","registerFormat","formatName","cacheComments","comments","retrieveComments","supportedBrowser","toolGroups","basic","alignment","lists","indenting","formatPainter","links","tables","editorNS","toolbarContainer","toolbarOptions","Dom","tools","_registerHandler","_wrapTextarea","Toolbar","bindTo","heightStyle","expectedHeight","actualHeight","_initializeContentElement","keyboard","Keyboard","BackspaceHandler","TypingHandler","SystemHandler","SelectAllHandler","Clipboard","undoRedoStack","textarea","deserializedRoot","Serializer","htmlToDom","deserialization","getAllComments","_endTyping","_mouseup","_initializeImmutables","_initializePlaceholder","_togglePlaceholder","isTypingInProgress","endTyping","saveSelection","_selectionChange","_selectionStarted","isResizable","kendoResizable","newSize","resizeend","getKendoResizable","_initializeElementResizing","ElementResizingFactory","_showElementResizeHandlesProxy","_showElementResizeHandles","_destroyElementResizing","elementResizing","showResizeHandles","_initializeColumnResizing","ColumnResizing","_destroyColumnResizing","columnResizing","_initializeRowResizing","RowResizing","_destroyRowResizing","rowResizing","editorWrap","editArea","_createContentElement","stylesheets","specifiedDomain","domain","domainScript","lang","editAreaTitle","frameBorder","hostname","contentDocument","decorateFrom","write","encodedValue","_spellCorrect","beforeCorrection","falseTrigger","contextmenu","_spellCorrectTimeout","RestorePoint","getRange","_finishUpdate","_deregisterHandlers","blurTrigger","mousedownTrigger","mouseover dragenter","htmlHeight","_cachedHeight","mouseout dragleave drop contextmenu","restoreHeight","preventPopupHide","nextChar","setStart","toolFromShortcut","keyPressCommand","_runPostContentKeyCommands","keypress","keyup","selectionCodes","_refreshInterval","selectNode","cut copy paste drop dragover","focusin","toolbarContainerElement","$head","head","immutables","Immutables","gecko","toolsFromShortcut","changesContent","_destroyResizings","bold","italic","underline","strikethrough","insertHtml","fontName","fontNameInherit","fontSize","fontSizeInherit","formatBlock","formatting","overflowAnchor","imageWebAddress","imageAltText","imageWidth","imageHeight","fileWebAddress","fileTitle","fileText","linkWebAddress","linkText","linkToolTip","linkOpenInNewWindow","dialogUpdate","dialogInsert","dialogOk","dialogCancel","createTableHint","tableTab","cellTab","accessibilityTab","caption","units","cellSpacing","cellPadding","cellMargin","background","border","borderStyle","collapseBorders","wrapText","associateCellsWithHeaders","alignLeft","alignCenter","alignRight","alignLeftTop","alignCenterTop","alignRightTop","alignLeftMiddle","alignCenterMiddle","alignRightMiddle","alignLeftBottom","alignCenterBottom","alignRightBottom","alignRemove","selectAllCells","exportAs","print","headerRows","headerColumns","tableSummaryPlaceholder","associateNone","associateScope","associateIds","borderNone","serialization","entities","semantic","scripts","pasteCleanup","keepNewLines","msAllFormatting","msConvertLists","msTags","none","dialogOptions","imageBrowser","fileBrowser","_focusOutside","_destroyUploadWidget","tempInput","_uploadWidget","finder","RangeUtils","textNodes","collapsed","startContainer","getFormat","isFormatted","currentHtml","domToXhtml","selectionRestorePoint","refreshTools","commonAncestorContainer","_focusBody","restoreSelection","toRange","encode","getSelection","SelectionUtils","selectionFromDocument","removeAllRanges","addRange","rangeCount","getRangeAt","endContainer","startOffset","endOffset","_containsRange","isAncestorOrSelf","_deleteSavedRange","selectedHtml","cloneContents","InsertHtmlCommand","toolById","managesUndoRedo","Tool","initialize","commandArguments","UndoTool","nodes","emptyElementContent","ctrl","emptyTableCellContent","PDFMixin","_drawPDF","drawDOM","saveAsPDF","exportPDF","STYLE","FLOAT","CSSFLOAT","STYLEFLOAT","CLASS","KMARKER","makeMap","nonListBlockElements","blockElements","block","selfClosing","inlineElements","inline","fillAttrs","whitespace","emptyspace","bom","whitespaceOrBom","persistedScrollTop","cssAttributes","htmlRe","entityRe","entityTable","60","62","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","402","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","931","932","933","934","935","936","937","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","977","978","982","8226","8230","8242","8243","8254","8260","8472","8465","8476","8482","8501","8592","8593","8594","8595","8596","8629","8656","8657","8658","8659","8660","8704","8706","8707","8709","8711","8712","8713","8715","8719","8721","8722","8727","8730","8733","8734","8736","8743","8744","8745","8746","8747","8756","8764","8773","8776","8800","8801","8804","8805","8834","8835","8836","8838","8839","8853","8855","8869","8901","8968","8969","8970","8971","9001","9002","9674","9824","9827","9829","9830","338","339","352","353","376","710","732","8194","8195","8201","8204","8205","8206","8207","8211","8212","8216","8217","8218","8220","8221","8222","8224","8225","8240","8249","8250","8364","findNodeIndex","skipText","isDataNode","isAncestorOf","findClosestAncestor","rootElem","SHOW_COMMENT","curNode","getNodeLength","splitDataNode","newNode","denormalizedText","deleteData","attrEquals","blockParentOrBody","parentOfType","blockParents","blocks","windowFromDocument","parentWindow","nodeTypes","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","encodableChars","entity","isBom","stripBom","stripBomNode","insignificant","_moz_dirty","_moz_editor_bogus_node","tableCell","significantNodes","emptyTextNode","emptyNode","significantChildNodes","isWhitespace","lastTextNode","isMarker","allWhitespaceContent","isEmptyspace","htmlIndentSpace","sibling","isBlock","isPrevBlock","isNextBlock","isSelfClosing","isInline","isBr","compatMode","scrollingElement","toStart","windowHeight","elementTop","persistScrollTop","restoreScrollTop","insertAt","newElement","referenceElement","removeChildren","removeTextSiblings","closestBy","condition","rootCondition","ofType","changeTag","skipAttributes","editableParent","contentEditable","createEmptyNode","mergeAttributes","traverseCss","unstyle","inlineStyle","getEffectiveBackground","backgroundStyle","commonAncestor","minPathLength","ancestors","closestSplittableParent","editableParents","editableAncestor","closestEditable","closestEditableOfType","invert","filterFn","filterBy","ensureTrailingBreaks","ensureTrailingBreak","removeTrailingBreak","br","reMapTableColumns","colAttr","_mapColIndices","clearTableMappings","registeredColumns","rowIndex","colIndex","rowSpan","_mapColspan","colSpan","ci","ri","associateWithIds","numberOfTheadRows","tableRows","numberOfTableRows","theadMatrix","tbodyMatrix","theadRows","tHead","_getNumberOfHeaderRows","_generateIdsForColumns","_generateIdsForRows","_assignIds","col","colspan","rowspan","pushHeaderId","_onlyUnique","_getNumberOfColumns","numberOfCols","_getNumberOfHeaderColumns","numberOfHeaderRows","fontSizeMappings","quoteRe","brRe","pixelRe","emptyPRe","cssDeclaration","sizzleAttr","scriptAttr","onerrorRe","bomSpan","supportsLeadingWhitespace","TD","toEditableHtml","_toEditableImmutables","immutable","_fillEmptyElements","_removeSystemElements","_resetOrderedLists","ols","ol","originalStart","_preventScriptExecution","attributesToRemove","deserialize","semanticFilter","mapStart","tagMap","k:script","skipEncoding","specifiedAttributes","semanticAttributes","textDecoration","font","strong","em","styleObj","script","styleAttr","$node","childNode","isEmptyBomNode","mapper","jqNode","textOnly","childrenCount","runCustom","SelectBox","_initSelectOverlay","autoSize","listWidth","_listWidth","selectBox","selectionFromWindow","W3CSelection","selectionFromRange","rangeDocument","documentFromRange","W3CRange","updateRangeProperties","fixIvalidRange","setEnd","setStartBefore","setStartAfter","setEndBefore","setEndAfter","selectNodeContents","deleteContents","cloneRange","deleteSubtree","hasPartialSubtree","getSubtreeIterator","RangeIterator","cloneSubtree","frag","createDocumentFragment","extractContents","extractSubtree","originalRange","insertNode","startNodeName","endNodeName","compareBoundaries","startAncestor","endAncestor","isInvalidRange","fromNode","_next","hasNext","traverse","inStartContainer","inEndContainer","nodeIndex","getSubRange","subRange","textRange","adoptContainer","textRangeContainer","adoptEndPoint","compareEndPoints","movedStart","movedEnd","textOffset","isData","anchorNode","cursor","cursorNode","moveToElementText","comparison","appended","RangeEnumerator","enumerate","visit","ImmutablesRangeIterator","ImmutablesRangeEnumerator","rootNode","getEditable","nodeToPath","serializedImmutables","removeImmutables","restoreImmutables","lastType","restoreHtml","toRangePoint","denormalizedOffset","Marker","addCaret","removeCaret","containerIndex","textNode","expand","isExpandable","rangeBoundary","_removeDeadMarkers","_normalizedIndex","shouldNormalizeStart","shouldNormalizeEnd","shouldNormalize","isBomSelected","collapsedToStart","startParent","endParent","editableTextNodes","immutableParent","partition","partitionRange","mapAll","mapped","getAll","getMarkers","isStartOf","isEndOf","wrapSelectedElements","startEditable","endEditable","isEnd","beforeCaret","afterCaret","complexBlocks","toolsToBeUpdated","IMMUTABALE","IMMUTABALE_MARKER_SELECTOR","IMMUTABLE_SELECTOR","expandImmutablesIn","startImmutableParent","endImmutableParent","immutablesContext","editableNodes","randomId","serialized","deletingKey","updateToolOptions","_toHtml","serializationType","isDeleting","shouldCancelEvent","_cancelDeleting","_cancelTyping","typingInProgress","isTypingKey","backspace","del","cancelDeleting","nextImmutable","closestSelectionLi","closestImmutableLi","_removeImmutable","forwards","commonContainer","_nextNode","startRestorePoint","finishUpdate","endRestorePoint","GenericCommand","Command","restorePoint","formatter","lockRange","releaseRange","createDialog","kendoWindow","OVERFLOWANCHOR","toolNamesByCssClass","k-i-sup-script","k-i-sub-script","k-i-align-left","k-i-align-center","k-i-align-right","k-i-align-justify","k-i-list-unordered","k-i-list-ordered","k-i-list-roman-upper","k-i-list-roman-lower","k-i-import","k-i-indent-increase","k-i-indent-decrease","k-i-link-horizontal","k-i-unlink-horizontal","k-i-image","k-i-file-add","k-i-html","k-i-foreground-color","k-i-paint","k-i-table-insert","k-i-table-column-insert-left","k-i-table-column-insert-right","k-i-table-row-insert-above","k-i-table-row-insert-below","k-i-table-row-delete","k-i-table-column-delete","k-i-table-properties","k-i-table-wizard","k-i-table-position-left","k-i-table-position-center","k-i-table-position-right","k-i-clear-css","k-i-cells-merge-horizontally","k-i-cells-merge-vertically","k-i-cell-split-horizontally","k-i-cell-split-vertically","k-i-copy-format","k-i-apply-format",".k-i-undo","k-i-redo","OverflowAnchorTool","overflowPopup","_initPopup","tablesInsert","tablesAddDelete","tablesMerge","tablesPosition","fonts","overflowFlaseTools","_toggleOverflowStyles","_initOverflowPopup","popupTemplate","focusOverflowPopup","toolGroupFor","isCustomTool","_editor","expandTools","combobox","dropDown","isOpened","initializeTool","_toolName","inheritText","_appendShortcutSequence","editorElement","editorOffset","_getWindowWidth","_overlaps","toolbarWrapper","toolbarWrapperOffset","toolbarWrapperLeft","toolbarWrapperTop","boxOffset","boxOffsetLeft","boxOffsetTop","localizedText","res","_nativeTools","currentTool","nativeTools","toolElement","newGroupName","toolConfig","groupPosition","endGroup","startGroup","updateGroups","popupElement","attachToolsEvents","enabledButtons","disabledButtons","dropdown","editorTools","focusableItems","currentContainer","_executeToolCommand","toolname","_immutablesContext","_updateImmutablesState","uiElement","trackImmutables","uiData","groupUi","containerWidth","toolbarWindow","_refreshWidths","_shrink","_stretch","visibleGroups","_groupsWidth","_visibleGroups","_hideGroup","hiddenGroups","_hiddenGroups","_showGroup","detach","groupWidth","ViewHtmlCommand","dialog","FormatCommand","FormatTool","MOUSEDOWN_NS","InlineFormatFinder","numberOfSiblings","textNodesCount","elementNodesCount","markerCount","findSuitable","sourceNode","findFormat","InlineFormatter","formatNodes","formatNode","consolidate","outerMostInline","GreedyInlineFormatFinder","greedyProperty","fontAttr","getInlineCssValue","attributeValue","pair","cssIndex","propertyAndValue","getFormatInner","GreedyInlineFormatter","InlineFormatTool","DelayedExecutionTool","FontTool","cssAttr","domAttr","newRange","ColorTool","_widget","storedRange","_inputFocused","picker","fontWeight","fontStyle","HTTP_PROTOCOL","protocolRegExp","endLinkCharsRegExp","LinkFormatFinder","LinkFormatter","markers","UnlinkCommand","LinkCommand","_dialogTemplate","_initialText","_apply","linkUrl","_dialog","textInput","AutoLinkCommand","detectedLink","detectLink","linkMarker","linkRange","_ensureWebProtocol","startNode","traverser","LeftDomTextTraverser","cancelAtNode","detection","DomTextLinkDetection","hasProtocol","_hasProtocolPrefix","_prefixWithWebProtocol","UnlinkTool","DomPos","_detectEnd","blank","_detectStart","_isLinkDetected","puntuationOptions","extendOptions","puntuationTraverser","RightDomTextTraverser","_skipStartPuntuation","lastIndexOfRegExp","ii","indexOfRegExp","DomTextTraverser","_traverse","subText","edgeNode","BlockFormatFinder","suitable","_resolveListsItems","ImmutablesNS","BlockFormatter","ancestor","_handleImmutables","images","imageFormat","imageAttributes","nonImages","applyFormatting","immutableFormat","namedFormat","GreedyBlockFormatter","formatTag","immutalbeParent","ListFormatter","blockFormatter","BlockFormatTool","listElements","textAlign","marginRight","listStylePosition","ListFormatFinder","altAttr","matchesType","isList","unwrapTag","isImmutable","containsAny","_parentLists","breakable","findSuitableNode","applyOnSection","section","pushAncestor","listStyleType","sections","lastSection","lastNodes","addLastSection","fragment","ListCommand","ListTool","FormattingTool","toFormattingItem","dot","kendoSelectBox","getFormattingValue","_ancestor","CleanFormatCommand","tagsToClean","clean","listFormatter","unwrapListItem","KEDITORIMAGEURL","KEDITORIMAGETITLE","KEDITORIMAGEWIDTH","KEDITORIMAGEHEIGHT","ImageCommand","removeIEAttributes","showBrowser","applied","keyDown","_imageBrowser","dialogHeight","loadingOverlay","ImportCommand","_initializeUploadWidget","importOptions","_onUploadProgress","_onUploadSelect","_onUploadComplete","getKendoUpload","_removeLoadingOverlay","_initLoadingOverlay","uploadEvent","_iframeWrapper","postProcess","genericCommand","InsertHtmlTool","_selectBox","selectbox","defaultExportAsItems","ExportAsCommand","exportType","generateForm","exportAsOptions","valueInput","exportTypeInput","fileNameInput","ExportAsTool","changeHandler","displayName","_exec","indentDirection","IndentFormatter","parentList","mapImmutables","siblingList","nestedList","getListTypeAttr","targetIndex","styleType","targetNode","listParent","nextAll","IndentCommand","indentFormatter","OutdentCommand","OutdentTool","suitableNodes","isOutdentable","listParentsCount","ParagraphCommand","_insertMarker","_moveFocus","focusNode","shouldTrim","startInBlock","endInBlock","_blankAfter","emptyParagraphContent","paragraph","heading","tableNode","rng","parentChildrenLength","_insertParagraphAfter","NewLineCommand","filler","oldIE","kbrParent","KEDITORFILEURL","KEDITORFILETEXT","KEDITORFILETITLE","FileCommand","_fileBrowser","SCOPE","ROW","COL","ROWGROUP","COLGROUP","COLSPAN","ROWSPAN","THEAD","TBODY","TR","TH","columnTemplate","tableFormatFinder","TableCommand","skipCleaners","_tableHtml","columnHtml","insertedTable","PopupTool","TableWizardTool","TableWizardCommand","insertNewTable","twTool","InsertTableTool","firstCell","lastCell","cellWidth","cellHeight","tableFromLocation","_setTableSize","_valid","selectedRows","selectedColumns","tableSize","TableModificationCommand","_clearColIndexAttr","_findRowSpanCell","_resetElementResizing","_findNextTdInRow","lastTd","td","_adjustColgroups","colElements","colgroupElements","numberOfCells","colgroup","_associateHeaderIds","InsertRowCommand","cellCount","newRow","rowSpanIndex","createdCell","_appendCell","newCell","InsertColumnCommand","columnIndex","_processForColSpan","_resizeCells","selectedCell","colSpanEffect","parsedWidth","unit","calculatedWidth","DeleteRowCommand","rowParent","_handleRowSpanCells","adjacentCell","nextRow","firstRow","_reduceRowSpan","rowSpanValue","DeleteColumnCommand","columnCount","_handleColSpanCells","_reduceColSpan","colSpanValue","MergeCellsHorizontallyCommand","nextTd","_getColspan","MergeCellsVerticallyCommand","tr","targetRow","bottomTd","_getRowspan","SplitCellCommand","emptyTd","_splitCellHorizontally","_splitCellVertically","_getRowspanValue","_getColspanValue","tdToAdd","colSpanResult","rowSpanResult","TableModificationTool","commandsMap","delete","column","TableFormatCommand","_showResizeHandles","TableFormatTool","isTable","cleaners","ScriptCleaner","TabCleaner","MSWordFormatCleaner","WebkitFormatCleaner","HtmlTagsCleaner","HtmlAttrCleaner","HtmlContentCleaner","CustomCleaner","htmlToFragment","_startModification","_inProgress","_endModification","modificationInfo","_contentModification","_removeBomNodes","_onBeforeCopy","oncopy","oncut","_fileToDataURL","File","getAsFile","readAsDataURL","_triggerPaste","_handleImagePaste","clipboardData","_insertImages","onpaste","beforePaste","clipboardNode","_decoreateClipboardNode","_moveToCaretPosition","clipboardRange","afterPaste","ondragover","ondrop","borderWidth","fontVariant","lineSpacing","nodeOffset","caretOffset","_caretOffset","translateX","translateY","-webkit-transform","rangeChanged","isStartTextNode","prevLength","bomNode","splittableParent","applicable","splittable","fragmentsHtml","elm","focusedTable","siblingNodes","lastSiblingIndex","lastSibling","Cleaner","replacements","customReplacements","junkReplacements","convertFontMatch","$0","closing","faceRe","family","stripEmptyAnchors","listData","startingSymbol","matchSymbol","trimStartText","_guessUnorderedListStyle","_guessOrderedListStyle","_convertToLi","_checkForBullet","_getHtmlNoBullet","bulletRgx","extractListLevels","msoListRegExp","blockChildren","lastMargin","levels","rootMargin","rootIndex","lastRootLi","isLastRootLi","rootList","acceptedNameTags","isParentTable","listIndex","levelType","removeAttributes","borderStyles","addBorderStyles","attributeValues","removeAttributeNode","createColGroup","convertHeaders","boldedCells","removeParagraphs","paragraphs","removeDefaultColors","spans","removeTextNodes","trs","currentNode","longestRow","titles","removeFormatting","DomCleaner","cleanDom","collectTags","collectAttr","TextContainer","HtmlTextLines","separators","lines","inlineBlockText","resetLine","appendText","textContainer","appendInlineBlockText","flashInlineBlockText","endLine","il","il1","jl","jl1","DomEnumerator","preventDown","enumerator","buildText","getDefaultSeparators","htmlLines","cleaner","tdCleaner","cellText","PREVIOUS_SIBLING","getSibling","tableCells","tableCellsWrappers","tableElements","inTable","RemoveTableContent","cellsTypes","startCell","endCell","_removeContent","getNext","Event","removeTableContent","backspaceHandler","deleteSelection","startTyping","_removeBomSpan","_addCaret","_restoreCaret","_handleDelete","caretPlaceholder","_merge","_cleanBomBefore","_handleBackspace","startAtLi","liIndex","startAtNonFirstLi","rangeStartNode","previousNode","isEndOfLink","_handleSelection","parentElementOrNode","_surroundFullyContent","_surroundFullySelectedAnchor","_join","startImmutable","endImmutable","_moveMarker","_root","_mergeWithTextNode","appendedNode","_isCaret","systemCommandIsInProgress","createUndoCommand","isModifierKey","isSystem","_toSelectableImmutables","_selectEditorBody","isCharacter","_getShortcutModifier","platform","mac","matchesKey","matchKey","toolKey","onEndTyping","stopTyping","what","ExportPdfCommand","PrintCommand","CopyFormatCommand","inlineStyles","blockStyles","collectStyles","rangeNodes","populateStyles","nodeStyles","styleValue","styleKey","attributeKey","ApplyFormatCommand","removeEmptyElementsFromRange","cleanInlineParents","applyBlockStyles","applyInlineStyles","isEmptyInline","emptyElements","blockParent","outerWrapper","previousNodes","nextNodes","prevWrapper","nextWrapper","createdNode","topNode","CopyFormatTool","ApplyFormatTool","PERCENTAGE","PIXEL","REGEX_NUMBER_IN_PERCENTAGES","REGEX_NUMBER_IN_PIXELS","ResizingUtils","lowerBound","upperBound","getScrollBarWidth","calculatePercentageRatio","inPercentages","inPixels","toPercentages","toPixels","MOUSE_ENTER","MOUSE_LEAVE","MOUSE_MOVE","LAST_CHILD","TableElementResizing","_attachEventHandlers","eventNamespace","rootElement","_destroyResizeHandle","dataAttribute","detectElementBorderHovering","resizingInProgress","handleOptions","tableElement","elementBorderHovered","showResizeHandle","_initResizeHandle","setResizeHandlePosition","setResizeHandleDimensions","setResizeHandleDataAttributes","_attachResizeHandleEventHandlers","_initResizable","_hideResizeMarker","markerClass","_destroyResizable","onResizeStart","onResizeEnd","_disableKeyboard","setResizeHandleDragPosition","_enableKeyboard","_forceResizing","ResizingFactory","resizingName","_destroyResizing","_initResizing","parentTable","resizingType","RESIZE_HANDLE_CLASS","RESIZE_MARKER_CLASS","COLATTR","handleWidth","borderOffset","tableInnerElement","scrollTopOffset","scrollLeftOffset","columnWidthOffset","scrollBarWidth","columnOffsetLeft","innerElementOffsetTop","tableHead","tableBody","fullHeight","columnWidth","columnLeftOffset","adjacentColumnWidth","resizeHandleOffsetLeft","handleOffset","rtlModifier","initialDeltaX","initialAdjacentColumnWidth","initialColumnWidth","nextColumn","_setTableComputedWidth","_setColumnsComputedWidth","_resizeColumn","_resizeTopAndBottomColumns","_resizeAdjacentColumns","innerElementWidth","currentColumnsWidths","topAndBottomColumns","innerTableElement","deltaWidth","adjacentColumns","_resizeAdjacentColumn","adjacentColumn","RESIZE_HANDLE_MARKER_WRAPPER_CLASS","handleHeight","rowOffsetLeft","rowOffsetTop","topInnerTableElement","$row","tableTopOffset","resizeHandleOffsetTop","currentRowHeight","initialTableHeight","tableHeadHeight","tableBodyHeight","initialStyleHeight","newRowHeight","_setRowsHeightInPixels","_setTableHeight","_setRowsHeightInPercentages","currentRowsHeights","DRAG_START","DRAG_END","HALF_INSIDE","MOUSE_OUT","EAST","NORTH","NORTHEAST","NORTHWEST","SOUTH","SOUTHEAST","SOUTHWEST","WEST","ElementResizeHandle","_addStyles","_initDraggable","_initPositioningStrategy","_initDraggingStrategy","resizableElement","_destroyDraggable","_setPosition","_positioningStrategy","_onMouseOver","_onMouseOut","HandlePositioningStrategy","_onDragStart","_onDrag","_onDragEnd","_draggingStrategy","adjustDragDelta","deltaX","initialDeltaY","HandleDraggingStrategy","StrategyFactory","PositioningStrategyFactory","calculatePosition","handleOffsetPosition","applyHandleOffset","scrollOffsetPosition","applyScrollOffset","rootLeft","EastPositioningStrategy","NorthPositioningStrategy","NortheastPositioningStrategy","NorthwestPositioningStrategy","SouthPositioningStrategy","SoutheastPositioningStrategy","SouthwestPositioningStrategy","WestPositioningStrategy","DraggingStrategyFactory","adjustment","deltas","xAxisAdjustment","yAxisAdjustment","HorizontalDraggingStrategy","EastDraggingStrategy","WestDraggingStrategy","VerticalDraggingStrategy","NorthDraggingStrategy","SouthDraggingStrategy","HorizontalAndVerticalDraggingStrategy","NorthEastDraggingStrategy","NorthWestDraggingStrategy","SouthEastDraggingStrategy","SouthWestDraggingStrategy","RESIZE_HANDLE_WRAPPER_CLASS","TABLE_CLASS","ELEMENT_RESIZING_CLASS","COLUMN","ELEMENT_TYPES","isUndefined","ElementResizing","handles","_destroyResizeHandles","appendHandlesTo","_resizeWidth","_resizeHeight","_getMaxDimensionValue","dimensionLowercase","parentDimension","parentScrollOffset","_initResizeHandles","_bindToResizeHandlesEvents","_onResizeHandleDragStart","_initialElementHeight","_initialElementWidth","_onResizeHandleDrag","_onResizeHandleDragEnd","TableResizing","_onResizeHandleMouseOver","_onResizeHandleMouseOut","_hasRowsInPixels","styleWidth","parentWidth","ratioValue","ratioTotalValue","constrainedWidth","_setColumnsWidth","styleHeight","parentHeight","constrainedHeight","hasRowsInPixels","parentColumn","columnsLength","isWidthInPercentages","ImageResizing","_onResizeHandleDragVertical","_onResizeHandleDragHorizontal","_onResizeHandleDragLocked","_getDeltas","initialWidth","initialHeight","MAX_SAFE_INTEGER","factory","hasImg","eventCurrentTarget","isResizeHandleOrChild","tableResizing","cellsFormatFinder","reUnit","COL_INDEX","HEADERS","selectedTable","_sourceTable","_selectedTable","selectedCells","_selectedTableCells","_selectedCells","closeCallback","onDialogClose","parseTable","TableWizardDialog","insertTable","createNewTable","updateTable","_ensureFocusableAfterTable","tableProp","tableProperties","_lastInCollection","lastSelectedRow","cellProp","_deleteTableRows","_addRows","_updateColumns","_updateTableProperties","cellProperties","_updateCellProperties","_updateCaption","_updateHeadersWithThead","_updateHeadersNoThead","_updateHeaderAssociates","_isHeadingRow","_isHeadingCell","cellsWithHeadersAssociated","headingIds","checkHeader","associatedCells","headersAttr","headersArray","_insertCells","insertCell","createTHead","_createTableRows","createTBody","cellsWithHeaders","_addScopes","cellPropToAll","insertRow","cellsLength","newRowsCount","firstRowLastCell","numberOfColumns","lastCurrentCell","rowColumns","deleteCell","_getStylesData","captionContent","deleteCaption","createCaption","_getAlignmentData","captionAlignment","verticalAlign","_swapToHeaderCells","deleteTHead","_removeScopes","_removeAssociates","headerCols","tds","swapCell","widthUnit","heightUnit","bgColor","borderColor","borderCollapse","tStyle","captionClone","tableAlignment","_getAlignment","numberOfHeaderColumns","tableJson","_getUnit","parseTableRows","rowData","cellData","parseCell","cStyle","horizontalOnly","hAlign","vAlign","TableWizardEditTool","numericTextBoxSettings","DEFAULT_NUMBER_OF_COLS_AND_ROWS","tableAlignmentDropDownSettings","cellAlignmentDropDownSettings","accessibilityAlignmentDropDownSettings","dialogTemplate","tableData","okHandler","collectDialogValues","closeHandler","_initTabStripComponent","_initTableViewComponents","_initCellViewComponents","_initAccessibilityViewComponents","components","kendoTabStrip","_collectTableViewValues","_collectCellViewValues","_collectAccessibilityViewValues","tableView","cellView","accessibilityView","_addUnit","onColumnsNumberChange","headerColumnsNumeric","currentNumberOfColumnsHeaders","onRowsNumberChange","headerRowsNumeric","currentNumberOfRowHeaders","numberOfRows","_initNumericTextbox","_initDropDownList","_initTableAlignmentDropDown","_initColorPicker","_initInput","_initBorderStyleDropDown","_initCheckbox","_initCellAlignmentDropDown","_initAccessibilityAlignmentDropDown","_initAssociationDropDown","storage","component","_setComponentValue","_initAlignmentDropDown","kendoColorPicker","_destroyComponents"],"mappings":"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rR,MAAO,cACR,CACCqR,UAAW,mCACXrR,MAAO,aACR,CACCqR,UAAW,qCACXrR,MAAO,eACR,CACCqR,UAAW,uCACXrR,MAAO,iBACR,CACCqR,UAAW,sCACXrR,MAAO,gBACR,CACCqR,UAAW,qCACXrR,MAAO,eACR,CACCqR,UAAW,uCACXrR,MAAO,iBACR,CACCqR,UAAW,sCACXrR,MAAO,gBACR,CACCqR,UAAW,0BACXrR,MAAO,KAEX+5D,cAAe,YACfC,eAAgB,QAChBt9D,SAAU,4DACVwjG,cAAe,2EAGf4nI,EAAyC,CACzC1kN,WAAY,CAAC,CACT/R,UAAW,kCACXrR,MAAO,YACR,CACCqR,UAAW,oCACXrR,MAAO,cACR,CACCqR,UAAW,mCACXrR,MAAO,aACR,CACCqR,UAAW,qCACXrR,MAAO,eACR,CACCqR,UAAW,uCACXrR,MAAO,iBACR,CACCqR,UAAW,sCACXrR,MAAO,gBACR,CACCqR,UAAW,0BACXrR,MAAO,KAEX+5D,cAAe,YACfC,eAAgB,QAChBt9D,SAAU,4DACVwjG,cAAe,2EAGf6nI,EACA,+FACI,sCACI,qDACI,OACI,yDACA,iCACA,0CACJ,QACA,gCACI,6BACI,gEACJ,SACA,6BACI,qDACA,4EACJ,SACA,6BACI,kEACJ,SACA,6BACI,sDACA,6EACJ,SAEA,6BACI,oEACJ,SACA,6BACI,uDACJ,SAEA,6BACI,8DACJ,SACA,6BACI,oDACJ,SAEA,6BACI,6EACJ,SACA,6BACI,4DACJ,SACA,6BACI,6EACJ,SACA,6BACI,4DACJ,SACA,6BACI,wEACJ,SACA,6BACI,0DACJ,SACA,6BACI,kEACJ,SACA,6BACI,mCACJ,SACA,6BACI,iEACJ,SACA,6BACI,mJACJ,SACA,6BACI,oDACJ,SACA,6BACI,4IACJ,SACA,6BACI,kEACJ,SACA,6BACI,sDACA,uCACJ,SACA,6BACI,uEACJ,SACA,6BACI,uCACJ,SACA,yCACA,6BACI,yGACA,wGACJ,SACJ,SAEA,+BAEI,6BACI,uGACA,qGACJ,SAEA,6BACI,+DACJ,SACA,6BACI,oDACA,2EACJ,SACA,6BACI,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"} \ No newline at end of file diff --git a/AdminApp/elements.3064df6786e9bade0507.bundle.js b/AdminApp/elements.3064df6786e9bade0507.bundle.js new file mode 100644 index 00000000..32e53096 --- /dev/null +++ b/AdminApp/elements.3064df6786e9bade0507.bundle.js @@ -0,0 +1,2725 @@ +!function(){var BM={907:function(){(function(){"use strict";var je=window.Document.prototype.createElement,en=window.Document.prototype.createElementNS,Pe=window.Document.prototype.importNode,ut=window.Document.prototype.prepend,st=window.Document.prototype.append,De=window.DocumentFragment.prototype.prepend,k=window.DocumentFragment.prototype.append,oe=window.Node.prototype.cloneNode,Re=window.Node.prototype.appendChild,xt=window.Node.prototype.insertBefore,qe=window.Node.prototype.removeChild,xn=window.Node.prototype.replaceChild,S=Object.getOwnPropertyDescriptor(window.Node.prototype,"textContent"),Ln=window.Element.prototype.attachShadow,pr=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),or=window.Element.prototype.getAttribute,dn=window.Element.prototype.setAttribute,Bn=window.Element.prototype.removeAttribute,re=window.Element.prototype.getAttributeNS,p=window.Element.prototype.setAttributeNS,et=window.Element.prototype.removeAttributeNS,h=window.Element.prototype.insertAdjacentElement,Br=window.Element.prototype.insertAdjacentHTML,Zt=window.Element.prototype.prepend,ki=window.Element.prototype.append,kn=window.Element.prototype.before,no=window.Element.prototype.after,Xt=window.Element.prototype.replaceWith,go=window.Element.prototype.remove,We=window.HTMLElement,Me=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),oi=window.HTMLElement.prototype.insertAdjacentElement,Dn=window.HTMLElement.prototype.insertAdjacentHTML,zn=new Set;function ce(g){var _=zn.has(g);return g=/^[a-z][.0-9_a-z]*-[-.0-9_a-z]*$/.test(g),!_&&g}"annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" ").forEach(function(g){return zn.add(g)});var Q=document.contains?document.contains.bind(document):document.documentElement.contains.bind(document.documentElement);function $(g){var _=g.isConnected;if(void 0!==_)return _;if(Q(g))return!0;for(;g&&!(g.__CE_isImportDocument||g instanceof Document);)g=g.parentNode||(window.ShadowRoot&&g instanceof ShadowRoot?g.host:void 0);return!(!g||!(g.__CE_isImportDocument||g instanceof Document))}function Ee(g){var _=g.children;if(_)return Array.prototype.slice.call(_);for(_=[],g=g.firstChild;g;g=g.nextSibling)g.nodeType===Node.ELEMENT_NODE&&_.push(g);return _}function me(g,_){for(;_&&_!==g&&!_.nextSibling;)_=_.parentNode;return _&&_!==g?_.nextSibling:null}function ie(g,_,C){for(var T=g;T;){if(T.nodeType===Node.ELEMENT_NODE){var w=T;_(w);var P=w.localName;if("link"===P&&"import"===w.getAttribute("rel")){if(T=w.import,void 0===C&&(C=new Set),T instanceof Node&&!C.has(T))for(C.add(T),T=T.firstChild;T;T=T.nextSibling)ie(T,_,C);T=me(g,w);continue}if("template"===P){T=me(g,w);continue}if(w=w.__CE_shadowRoot)for(w=w.firstChild;w;w=w.nextSibling)ie(w,_,C)}T=T.firstChild?T.firstChild:me(g,T)}}function _t(){var g=!(null==E||!E.noDocumentConstructionObserver),_=!(null==E||!E.shadyDomFastWalk);this.m=[],this.g=[],this.j=!1,this.shadyDomFastWalk=_,this.I=!g}function Ke(g,_,C,T){var w=window.ShadyDOM;if(g.shadyDomFastWalk&&w&&w.inUse){if(_.nodeType===Node.ELEMENT_NODE&&C(_),_.querySelectorAll)for(g=w.nativeMethods.querySelectorAll.call(_,"*"),_=0;_0)return!0;var Ie=dn.get(q);return Ie.delete(te),Ie.size>0||dn.delete(q),!0}function Xt(L,q){for(var te=L.length-1;te>=0;--te){var Ie=(0,L[te])(q);if(!me(Ie)&&!ie(Ie)){if(!$n(Ie))throw new TypeError;q=Ie}}return q}function go(L,q,te,fe){for(var Ie=L.length-1;Ie>=0;--Ie){var E=(0,L[Ie])(q,te,fe);if(!me(E)&&!ie(E)){if(!Ke(E))throw new TypeError;fe=E}}return fe}function We(L,q,te){var fe=dn.get(L);if(me(fe)){if(!te)return;fe=new Ln,dn.set(L,fe)}var Ie=fe.get(q);if(me(Ie)){if(!te)return;Ie=new Ln,fe.set(q,Ie)}return Ie}function Me(L,q,te){if(oi(L,q,te))return!0;var Ie=xa(q);return!ie(Ie)&&Me(L,Ie,te)}function oi(L,q,te){var fe=We(q,te,!1);return!me(fe)&&Dr(fe.has(L))}function Dn(L,q,te){if(oi(L,q,te))return zn(L,q,te);var Ie=xa(q);return ie(Ie)?void 0:Dn(L,Ie,te)}function zn(L,q,te){var fe=We(q,te,!1);if(!me(fe))return fe.get(L)}function ce(L,q,te,fe){We(te,fe,!0).set(L,q)}function Q(L,q){var te=$(L,q),fe=xa(L);if(null===fe)return te;var Ie=Q(fe,q);if(Ie.length<=0)return te;if(te.length<=0)return Ie;for(var D=new pr,E=[],R=0,g=te;R=0&&R=this._keys.length?(this._index=-1,this._keys=q,this._values=q):this._index++,{value:g,done:!1}}return{value:void 0,done:!0}},E.prototype.throw=function(R){throw this._index>=0&&(this._index=-1,this._keys=q,this._values=q),R},E.prototype.return=function(R){return this._index>=0&&(this._index=-1,this._keys=q,this._values=q),{value:R,done:!0}},E}();return function(){function E(){this._keys=[],this._values=[],this._cacheKey=L,this._cacheIndex=-2}return Object.defineProperty(E.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),E.prototype.has=function(R){return this._find(R,!1)>=0},E.prototype.get=function(R){var g=this._find(R,!1);return g>=0?this._values[g]:void 0},E.prototype.set=function(R,g){var _=this._find(R,!0);return this._values[_]=g,this},E.prototype.delete=function(R){var g=this._find(R,!1);if(g>=0){for(var _=this._keys.length,C=g+1;C<_;C++)this._keys[C-1]=this._keys[C],this._values[C-1]=this._values[C];return this._keys.length--,this._values.length--,R===this._cacheKey&&(this._cacheKey=L,this._cacheIndex=-2),!0}return!1},E.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=L,this._cacheIndex=-2},E.prototype.keys=function(){return new te(this._keys,this._values,fe)},E.prototype.values=function(){return new te(this._keys,this._values,Ie)},E.prototype.entries=function(){return new te(this._keys,this._values,D)},E.prototype["@@iterator"]=function(){return this.entries()},E.prototype[k]=function(){return this.entries()},E.prototype._find=function(R,g){return this._cacheKey!==R&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=R)),this._cacheIndex<0&&g&&(this._cacheIndex=this._keys.length,this._keys.push(R),this._values.push(void 0)),this._cacheIndex},E}();function fe(E,R){return E}function Ie(E,R){return R}function D(E,R){return[E,R]}}function us(){return function(){function L(){this._map=new Ln}return Object.defineProperty(L.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),L.prototype.has=function(q){return this._map.has(q)},L.prototype.add=function(q){return this._map.set(q,q),this},L.prototype.delete=function(q){return this._map.delete(q)},L.prototype.clear=function(){this._map.clear()},L.prototype.keys=function(){return this._map.keys()},L.prototype.values=function(){return this._map.values()},L.prototype.entries=function(){return this._map.entries()},L.prototype["@@iterator"]=function(){return this.keys()},L.prototype[k]=function(){return this.keys()},L}()}function Di(){var L=16,q=qe.create(),te=fe();return function(){function g(){this._key=fe()}return g.prototype.has=function(_){var C=Ie(_,!1);return void 0!==C&&qe.has(C,this._key)},g.prototype.get=function(_){var C=Ie(_,!1);return void 0!==C?qe.get(C,this._key):void 0},g.prototype.set=function(_,C){return Ie(_,!0)[this._key]=C,this},g.prototype.delete=function(_){var C=Ie(_,!1);return void 0!==C&&delete C[this._key]},g.prototype.clear=function(){this._key=fe()},g}();function fe(){var g;do{g="@@WeakMap@@"+R()}while(qe.has(q,g));return q[g]=!0,g}function Ie(g,_){if(!ut.call(g,te)){if(!_)return;Object.defineProperty(g,te,{value:qe.create()})}return g[te]}function D(g,_){for(var C=0;C<_;++C)g[C]=255*Math.random()|0;return g}function E(g){return"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(g)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(g)):D(new Uint8Array(g),g):D(new Array(g),g)}function R(){var g=E(L);g[6]=79&g[6]|64,g[8]=191&g[8]|128;for(var _="",C=0;C=0;--me){var ie=this.tryEntries[me],_t=ie.completion;if("root"===ie.tryLoc)return Ee("end");if(ie.tryLoc<=this.prev){var Ke=st.call(ie,"catchLoc"),An=st.call(ie,"finallyLoc");if(Ke&&An){if(this.prev=0;--Ee){var me=this.tryEntries[Ee];if(me.tryLoc<=this.prev&&st.call(me,"finallyLoc")&&this.prev=0;--$){var Ee=this.tryEntries[$];if(Ee.finallyLoc===Q)return this.complete(Ee.completion,Ee.afterLoc),Me(Ee),Bn}},catch:function(Q){for(var $=this.tryEntries.length-1;$>=0;--$){var Ee=this.tryEntries[$];if(Ee.tryLoc===Q){var me=Ee.completion;if("throw"===me.type){var ie=me.arg;Me(Ee)}return ie}}throw new Error("illegal catch attempt")},delegateYield:function(Q,$,Ee){return this.delegate={iterator:Dn(Q),resultName:$,nextLoc:Ee},"next"===this.method&&(this.arg=De),Bn}},Pe}(je.exports);try{regeneratorRuntime=en}catch(Pe){"object"==typeof globalThis?globalThis.regeneratorRuntime=en:Function("r","regeneratorRuntime = r")(en)}},277:function(je,en,Pe){"use strict"; +/** + * @license Angular v14.0.0-next.5 + * (c) 2010-2022 Google LLC. https://angular.io/ + * License: MIT + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var ut=Pe(554).default,st=Pe(725).default,De=Pe(560).default;!function(D){var E=D.performance;function R(xe){E&&E.mark&&E.mark(xe)}function g(xe,he){E&&E.measure&&E.measure(xe,he)}R("Zone");var _=D.__Zone_symbol_prefix||"__zone_symbol__";function C(xe){return _+xe}var T=!0===D[C("forceDuplicateZoneCheck")];if(D.Zone){if(T||"function"!=typeof D.Zone.__symbol__)throw new Error("Zone already loaded.");return D.Zone}var w=function(){function xe(he,M){st(this,xe),this._parent=he,this._name=M?M.name||"unnamed":"",this._properties=M&&M.properties||{},this._zoneDelegate=new j(this,this._parent&&this._parent._zoneDelegate,M)}return De(xe,[{key:"parent",get:function(){return this._parent}},{key:"name",get:function(){return this._name}},{key:"get",value:function(M){var V=this.getZoneWith(M);if(V)return V._properties[M]}},{key:"getZoneWith",value:function(M){for(var V=this;V;){if(V._properties.hasOwnProperty(M))return V;V=V._parent}return null}},{key:"fork",value:function(M){if(!M)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,M)}},{key:"wrap",value:function(M,V){if("function"!=typeof M)throw new Error("Expecting function got: "+M);var ve=this._zoneDelegate.intercept(this,M,V),Ge=this;return function(){return Ge.runGuarded(ve,this,arguments,V)}}},{key:"run",value:function(M,V,ve,Ge){mn={parent:mn,zone:this};try{return this._zoneDelegate.invoke(this,M,V,ve,Ge)}finally{mn=mn.parent}}},{key:"runGuarded",value:function(M){var V=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,ve=arguments.length>2?arguments[2]:void 0,Ge=arguments.length>3?arguments[3]:void 0;mn={parent:mn,zone:this};try{try{return this._zoneDelegate.invoke(this,M,V,ve,Ge)}catch(On){if(this._zoneDelegate.handleError(this,On))throw On}}finally{mn=mn.parent}}},{key:"runTask",value:function(M,V,ve){if(M.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(M.zone||we).name+"; Execution: "+this.name+")");if(M.state!==pn||M.type!==Ye&&M.type!==Ze){var Ge=M.state!=tn;Ge&&M._transitionTo(tn,hn),M.runCount++;var On=Bt;Bt=M,mn={parent:mn,zone:this};try{M.type==Ze&&M.data&&!M.data.isPeriodic&&(M.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,M,V,ve)}catch(ae){if(this._zoneDelegate.handleError(this,ae))throw ae}}finally{M.state!==pn&&M.state!==jn&&(M.type==Ye||M.data&&M.data.isPeriodic?Ge&&M._transitionTo(hn,tn):(M.runCount=0,this._updateTaskCount(M,-1),Ge&&M._transitionTo(pn,tn,pn))),mn=mn.parent,Bt=On}}}},{key:"scheduleTask",value:function(M){if(M.zone&&M.zone!==this)for(var V=this;V;){if(V===M.zone)throw Error("can not reschedule task to ".concat(this.name," which is descendants of the original zone ").concat(M.zone.name));V=V.parent}M._transitionTo(Wn,pn);var ve=[];M._zoneDelegates=ve,M._zone=this;try{M=this._zoneDelegate.scheduleTask(this,M)}catch(Ge){throw M._transitionTo(jn,Wn,pn),this._zoneDelegate.handleError(this,Ge),Ge}return M._zoneDelegates===ve&&this._updateTaskCount(M,1),M.state==Wn&&M._transitionTo(hn,Wn),M}},{key:"scheduleMicroTask",value:function(M,V,ve,Ge){return this.scheduleTask(new G(lt,M,V,ve,Ge,void 0))}},{key:"scheduleMacroTask",value:function(M,V,ve,Ge,On){return this.scheduleTask(new G(Ze,M,V,ve,Ge,On))}},{key:"scheduleEventTask",value:function(M,V,ve,Ge,On){return this.scheduleTask(new G(Ye,M,V,ve,Ge,On))}},{key:"cancelTask",value:function(M){if(M.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(M.zone||we).name+"; Execution: "+this.name+")");M._transitionTo(Ve,hn,tn);try{this._zoneDelegate.cancelTask(this,M)}catch(V){throw M._transitionTo(jn,Ve),this._zoneDelegate.handleError(this,V),V}return this._updateTaskCount(M,-1),M._transitionTo(pn,Ve),M.runCount=0,M}},{key:"_updateTaskCount",value:function(M,V){var ve=M._zoneDelegates;-1==V&&(M._zoneDelegates=null);for(var Ge=0;Ge2&&void 0!==arguments[2]&&arguments[2];if(Ae.hasOwnProperty(M)){if(!ve&&T)throw Error("Already loaded patch: "+M)}else if(!D["__Zone_disable_"+M]){var Ge="Zone:"+M;R(Ge),Ae[M]=V(D,xe,vn),g(Ge,Ge)}}}]),xe}();w.__symbol__=C;var Vr,P={name:"",onHasTask:function(he,M,V,ve){return he.hasTask(V,ve)},onScheduleTask:function(he,M,V,ve){return he.scheduleTask(V,ve)},onInvokeTask:function(he,M,V,ve,Ge,On){return he.invokeTask(V,ve,Ge,On)},onCancelTask:function(he,M,V,ve){return he.cancelTask(V,ve)}},j=function(){function xe(he,M,V){st(this,xe),this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=he,this._parentDelegate=M,this._forkZS=V&&(V&&V.onFork?V:M._forkZS),this._forkDlgt=V&&(V.onFork?M:M._forkDlgt),this._forkCurrZone=V&&(V.onFork?this.zone:M._forkCurrZone),this._interceptZS=V&&(V.onIntercept?V:M._interceptZS),this._interceptDlgt=V&&(V.onIntercept?M:M._interceptDlgt),this._interceptCurrZone=V&&(V.onIntercept?this.zone:M._interceptCurrZone),this._invokeZS=V&&(V.onInvoke?V:M._invokeZS),this._invokeDlgt=V&&(V.onInvoke?M:M._invokeDlgt),this._invokeCurrZone=V&&(V.onInvoke?this.zone:M._invokeCurrZone),this._handleErrorZS=V&&(V.onHandleError?V:M._handleErrorZS),this._handleErrorDlgt=V&&(V.onHandleError?M:M._handleErrorDlgt),this._handleErrorCurrZone=V&&(V.onHandleError?this.zone:M._handleErrorCurrZone),this._scheduleTaskZS=V&&(V.onScheduleTask?V:M._scheduleTaskZS),this._scheduleTaskDlgt=V&&(V.onScheduleTask?M:M._scheduleTaskDlgt),this._scheduleTaskCurrZone=V&&(V.onScheduleTask?this.zone:M._scheduleTaskCurrZone),this._invokeTaskZS=V&&(V.onInvokeTask?V:M._invokeTaskZS),this._invokeTaskDlgt=V&&(V.onInvokeTask?M:M._invokeTaskDlgt),this._invokeTaskCurrZone=V&&(V.onInvokeTask?this.zone:M._invokeTaskCurrZone),this._cancelTaskZS=V&&(V.onCancelTask?V:M._cancelTaskZS),this._cancelTaskDlgt=V&&(V.onCancelTask?M:M._cancelTaskDlgt),this._cancelTaskCurrZone=V&&(V.onCancelTask?this.zone:M._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var ve=V&&V.onHasTask,Ge=M&&M._hasTaskZS;(ve||Ge)&&(this._hasTaskZS=ve?V:P,this._hasTaskDlgt=M,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=he,V.onScheduleTask||(this._scheduleTaskZS=P,this._scheduleTaskDlgt=M,this._scheduleTaskCurrZone=this.zone),V.onInvokeTask||(this._invokeTaskZS=P,this._invokeTaskDlgt=M,this._invokeTaskCurrZone=this.zone),V.onCancelTask||(this._cancelTaskZS=P,this._cancelTaskDlgt=M,this._cancelTaskCurrZone=this.zone))}return De(xe,[{key:"fork",value:function(M,V){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,M,V):new w(M,V)}},{key:"intercept",value:function(M,V,ve){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,M,V,ve):V}},{key:"invoke",value:function(M,V,ve,Ge,On){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,M,V,ve,Ge,On):V.apply(ve,Ge)}},{key:"handleError",value:function(M,V){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,M,V)}},{key:"scheduleTask",value:function(M,V){var ve=V;if(this._scheduleTaskZS)this._hasTaskZS&&ve._zoneDelegates.push(this._hasTaskDlgtOwner),(ve=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,M,V))||(ve=V);else if(V.scheduleFn)V.scheduleFn(V);else{if(V.type!=lt)throw new Error("Task is missing scheduleFn.");Nn(V)}return ve}},{key:"invokeTask",value:function(M,V,ve,Ge){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,M,V,ve,Ge):V.callback.apply(ve,Ge)}},{key:"cancelTask",value:function(M,V){var ve;if(this._cancelTaskZS)ve=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,M,V);else{if(!V.cancelFn)throw Error("Task is not cancelable");ve=V.cancelFn(V)}return ve}},{key:"hasTask",value:function(M,V){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,M,V)}catch(ve){this.handleError(M,ve)}}},{key:"_updateTaskCount",value:function(M,V){var ve=this._taskCounts,Ge=ve[M],On=ve[M]=Ge+V;if(On<0)throw new Error("More tasks executed then were scheduled.");if(0==Ge||0==On){var ae={microTask:ve.microTask>0,macroTask:ve.macroTask>0,eventTask:ve.eventTask>0,change:M};this.hasTask(this.zone,ae)}}}]),xe}(),G=function(){function xe(he,M,V,ve,Ge,On){if(st(this,xe),this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=he,this.source=M,this.data=ve,this.scheduleFn=Ge,this.cancelFn=On,!V)throw new Error("callback is not defined");this.callback=V;var ae=this;he===Ye&&ve&&ve.useG?this.invoke=xe.invokeTask:this.invoke=function(){return xe.invokeTask.call(D,ae,this,arguments)}}return De(xe,[{key:"zone",get:function(){return this._zone}},{key:"state",get:function(){return this._state}},{key:"cancelScheduleRequest",value:function(){this._transitionTo(pn,Wn)}},{key:"_transitionTo",value:function(M,V,ve){if(this._state!==V&&this._state!==ve)throw new Error("".concat(this.type," '").concat(this.source,"': can not transition to '").concat(M,"', expecting state '").concat(V,"'").concat(ve?" or '"+ve+"'":"",", was '").concat(this._state,"'."));this._state=M,M==pn&&(this._zoneDelegates=null)}},{key:"toString",value:function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}},{key:"toJSON",value:function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}],[{key:"invokeTask",value:function(M,V,ve){M||(M=this),jr++;try{return M.runCount++,M.zone.runTask(M,V,ve)}finally{1==jr&&Vn(),jr--}}}]),xe}(),Y=C("setTimeout"),ee=C("Promise"),Se=C("then"),pt=[],Et=!1;function Mn(xe){if(Vr||D[ee]&&(Vr=D[ee].resolve(0)),Vr){var he=Vr[Se];he||(he=Vr.then),he.call(Vr,xe)}else D[Y](xe,0)}function Nn(xe){0===jr&&0===pt.length&&Mn(Vn),xe&&pt.push(xe)}function Vn(){if(!Et){for(Et=!0;pt.length;){var xe=pt;pt=[];for(var he=0;he=0;R--)"function"==typeof D[R]&&(D[R]=re(D[R],E+"_"+R));return D}function Xt(D){return!D||!1!==D.writable&&!("function"==typeof D.get&&void 0===D.set)}var go="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,We=!("nw"in Zt)&&void 0!==Zt.process&&"[object process]"==={}.toString.call(Zt.process),Me=!We&&!go&&!(!h||!Br.HTMLElement),oi=void 0!==Zt.process&&"[object process]"==={}.toString.call(Zt.process)&&!go&&!(!h||!Br.HTMLElement),Dn={},zn=function(E){if(E=E||Zt.event){var R=Dn[E.type];R||(R=Dn[E.type]=et("ON_PROPERTY"+E.type));var C,g=this||E.target||Zt,_=g[R];if(Me&&g===Br&&"error"===E.type){var T=E;!0===(C=_&&_.call(this,T.message,T.filename,T.lineno,T.colno,T.error))&&E.preventDefault()}else null!=(C=_&&_.apply(this,arguments))&&!C&&E.preventDefault();return C}};function ce(D,E,R){var g=k(D,E);!g&&R&&(k(R,E)&&(g={enumerable:!0,configurable:!0}));if(g&&g.configurable){var C=et("on"+E+"patched");if(!D.hasOwnProperty(C)||!D[C]){delete g.writable,delete g.value;var T=g.get,w=g.set,P=E.substr(2),j=Dn[P];j||(j=Dn[P]=et("ON_PROPERTY"+P)),g.set=function(G){var Y=this;(!Y&&D===Zt&&(Y=Zt),Y)&&("function"==typeof Y[j]&&Y.removeEventListener(P,zn),w&&w.call(Y,null),Y[j]=G,"function"==typeof G&&Y.addEventListener(P,zn,!1))},g.get=function(){var G=this;if(!G&&D===Zt&&(G=Zt),!G)return null;var Y=G[j];if(Y)return Y;if(T){var ee=T.call(this);if(ee)return g.set.call(this,ee),"function"==typeof G.removeAttribute&&G.removeAttribute(E),ee}return null},oe(D,E,g),D[C]=!0}}}function Q(D,E,R){if(E)for(var g=0;g=0&&"function"==typeof w[P.cbIdx]?p(P.name,w[P.cbIdx],P,_):C.apply(T,w)}})}function _t(D,E){D[et("OriginalDelegate")]=E}var Ke=!1,An=!1;function Dr(){if(Ke)return An;Ke=!0;try{var D=Br.navigator.userAgent;(-1!==D.indexOf("MSIE ")||-1!==D.indexOf("Trident/")||-1!==D.indexOf("Edge/"))&&(An=!0)}catch(E){}return An} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Zone.__load_patch("ZoneAwarePromise",function(D,E,R){var g=Object.getOwnPropertyDescriptor,_=Object.defineProperty;var T=R.symbol,w=[],P=!0===D[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],j=T("Promise"),G=T("then");R.onUnhandledError=function(ae){if(R.showUncaughtError()){var Ue=ae&&ae.rejection;Ue?console.error("Unhandled Promise rejection:",Ue instanceof Error?Ue.message:Ue,"; Zone:",ae.zone.name,"; Task:",ae.task&&ae.task.source,"; Value:",Ue,Ue instanceof Error?Ue.stack:void 0):console.error(ae)}},R.microtaskDrainDone=function(){for(var ae=function(){var ye=w.shift();try{ye.zone.runGuarded(function(){throw ye.throwOriginal?ye.rejection:ye})}catch(ue){!function Se(ae){R.onUnhandledError(ae);try{var Ue=E[ee];"function"==typeof Ue&&Ue.call(this,ae)}catch(ye){}}(ue)}};w.length;)ae()};var ee=T("unhandledPromiseRejectionHandler");function pt(ae){return ae&&ae.then}function Et(ae){return ae}function Vr(ae){return M.reject(ae)}var Mn=T("state"),Nn=T("value"),Vn=T("finally"),we=T("parentPromiseValue"),pn=T("parentPromiseState"),hn=null,Ve=!1;function lt(ae,Ue){return function(ye){try{vn(ae,Ue,ye)}catch(ue){vn(ae,!1,ue)}}}var Ae=T("currentTaskTrace");function vn(ae,Ue,ye){var ue=function(){var Ue=!1;return function(ue){return function(){Ue||(Ue=!0,ue.apply(null,arguments))}}}();if(ae===ye)throw new TypeError("Promise resolved with itself");if(ae[Mn]===hn){var X=null;try{("object"==typeof ye||"function"==typeof ye)&&(X=ye&&ye.then)}catch(Qe){return ue(function(){vn(ae,!1,Qe)})(),ae}if(Ue!==Ve&&ye instanceof M&&ye.hasOwnProperty(Mn)&&ye.hasOwnProperty(Nn)&&ye[Mn]!==hn)Bt(ye),vn(ae,ye[Mn],ye[Nn]);else if(Ue!==Ve&&"function"==typeof X)try{X.call(ye,ue(lt(ae,Ue)),ue(lt(ae,!1)))}catch(Qe){ue(function(){vn(ae,!1,Qe)})()}else{ae[Mn]=Ue;var ke=ae[Nn];if(ae[Nn]=ye,ae[Vn]===Vn&&true===Ue&&(ae[Mn]=ae[pn],ae[Nn]=ae[we]),Ue===Ve&&ye instanceof Error){var He=E.currentTask&&E.currentTask.data&&E.currentTask.data.__creationTrace__;He&&_(ye,Ae,{configurable:!0,enumerable:!1,writable:!0,value:He})}for(var Be=0;Be4&&void 0!==arguments[4]&&arguments[4],Qe=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return function(){var ht=this||D,Vt=arguments[0];we&&we.transferEventName&&(Vt=we.transferEventName(Vt));var gt=arguments[1];if(!gt)return X.apply(this,arguments);if(We&&"uncaughtException"===Vt)return X.apply(this,arguments);var Sn=!1;if("function"!=typeof gt){if(!gt.handleEvent)return X.apply(this,arguments);Sn=!0}if(!Wn||Wn(X,gt,ht,arguments)){var si=Jn&&!!Ue&&-1!==Ue.indexOf(Vt),gn=Bt(arguments[2],si);if(ae)for(var hr=0;hr2}).map(function(E){return E.substring(2)})}function ka(D,E){if((!We||oi)&&!Zone[D.symbol("patchEvents")]){var R=E.__Zone_ignore_on_properties,g=[];if(Me){var _=window;g=g.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);var C=function Qn(){try{var D=Br.navigator.userAgent;if(-1!==D.indexOf("MSIE ")||-1!==D.indexOf("Trident/"))return!0}catch(E){}return!1}()?[{target:_,ignoreProperties:["error"]}]:[];us(_,Di(_),R&&R.concat(C),Re(_))}g=g.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(var T=0;T0){var ar=Ze.invoke;Ze.invoke=function(){for(var xe=Ae[E.__symbol__("loadfalse")],he=0;hePe.length)&&(ut=Pe.length);for(var st=0,De=new Array(ut);st=De.length?{done:!0}:{done:!1,value:De[Re++]}},e:function(pr){throw pr},f:xt}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var S,qe=!0,xn=!1;return{s:function(){oe=oe.call(De)},n:function(){var pr=oe.next();return qe=pr.done,pr},e:function(pr){xn=!0,S=pr},f:function(){try{!qe&&null!=oe.return&&oe.return()}finally{if(xn)throw S}}}},je.exports.__esModule=!0,je.exports.default=je.exports},466:function(je,en,Pe){var ut=Pe(795);je.exports=function st(De,k){if(De){if("string"==typeof De)return ut(De,k);var oe=Object.prototype.toString.call(De).slice(8,-1);if("Object"===oe&&De.constructor&&(oe=De.constructor.name),"Map"===oe||"Set"===oe)return Array.from(De);if("Arguments"===oe||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(oe))return ut(De,k)}},je.exports.__esModule=!0,je.exports.default=je.exports},774:function(je,en,Pe){je.exports=Pe(941)},686:function(je){"use strict";je.exports='\n \n\n
    \n \n \n
    \n
    \n
    \n {{gotItLinkText}}\n \n \n \n \n Skip this tutorial\n
    \n
    \n'},514:function(je){"use strict";je.exports='@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root:root:root sf-tooltip-element {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:root:root:root sf-tooltip-element {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:root:root:root sf-tooltip-element {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:root:root:root sf-tooltip-element {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:root:root:root sf-tooltip-element {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:root:root:root sf-tooltip-element {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:root:root:root sf-tooltip-element {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:root:root:root sf-tooltip-element {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.8rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:root:root:root sf-tooltip-element {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:root:root:root sf-tooltip-element {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:root:root:root sf-tooltip-element {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:root:root:root sf-tooltip-element {\n --select-arrow-color: #777;\n}\n:root:root:root sf-tooltip-element {\n --input-box-shadow-hover: #e4e4e4;\n}\n:root:root:root sf-tooltip-element {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:root:root:root sf-tooltip-element {\n --secondary-text-color: #999;\n}\n:root:root:root sf-tooltip-element {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:root:root:root sf-tooltip-element {\n --tree-list-expander-color: #777;\n}\n:root:root:root sf-tooltip-element {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 48px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n:root:root:root sf-tooltip-element {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n font-family: "Open Sans", sans-serif;\n font-size: var(--font-size-base);\n line-height: 1.4;\n color: #333;\n}\n:root:root:root sf-tooltip-element {\n /*\n Default lists\n\n Markup:\n
      \n
    • Item 1
    • \n
    • Item 2
    • \n
    \n
    \n
      \n
    1. Item 1
    2. \n
    3. Item 2
    4. \n
    \n\n Styleguide: List.default\n */\n /*\n List with list-style: none:\n\n Markup:\n
      \n
    • Item 1
    • \n
    • Item 2
    • \n
    \n
    \n
      \n
    1. Item 1
    2. \n
    3. Item 2
    4. \n
    \n\n Styleguide: List.list-style-none\n */\n /*\n Default Link\n\n Default and secondary links\n\n Markup:\n Default link
    \n Secondary link\n\n Styleguide: Link.default\n */\n /*\n Navigation links\n\n Markup:\n Navigation link
    \n Settings link\n\n Styleguide: Link.navigation\n */\n /*\n Section nav links\n\n Markup:\n Categories and tags
    \n Search engine optimi...
    \n Social media
    \n\n Styleguide: Link.section-nav-links\n */\n /*\n Basic links\n\n Markup:\n Categories and tags
    \n\n Styleguide: Link.basic-links\n */\n /*\n Toolbar links\n\n Markup:\n
    \n Categories and tags
    \n Categories and tags
    \n
    \n\n Styleguide: Link.toolbar-links\n */\n /*\n Typography\n\n Headings\n\n Markup:\n

    H1 List Page Title

    \n

    H1 Detail Page Title

    \n

    H2 Group Title

    \n

    H3 Item Title

    \n

    H4 Form Label

    \n

    H4 Regular Label

    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings\n */\n /*\n Heading CSS Classes\n\n Markup:\n
    H1 List Page Title
    \n
    H1 Detail Page Title
    \n
    H2 Group Title
    \n
    H3 Item Title
    \n
    H4 Form Label
    \n
    H4 Regular Label
    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings-classes\n */\n /*\n Paragraph\n\n Markup:\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat. Nulla iaculis id sem eget ullamcorper. In ac euismod nunc. Fusce at tortor viverra, maximus quam quis, interdum velit. Mauris varius risus ut ante porttitor tempor.

    \n\n Styleguide: Typography.Paragraph\n */\n /*\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n /*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n /*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n */\n /*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n */\n /*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs \u2014 5px
    \n -size-4xs \u2014 11px
    \n -size-3xs \u2014 12px
    \n -size-2xs \u2014 13px
    \n -size-xs \u2014 14px
    \n -size-s \u2014 16px
    \n -size-m \u2014 18px
    \n -size-l \u2014 20px
    \n -size-xl \u2014 22px
    \n -size-2xl \u2014 28px
    \n -size-3xl \u2014 36px
    \n -size-4xl \u2014 48px
    \n -size-5xl \u2014 60px
    \n\n Styleguide: Icon.sizes\n */\n /*\n Stacked icons\n\n `.sf-stack {.sf-stack__in,.sf-stack__out}`\n\n Markup:\n
    \n \n \n
    \n
    \n \n \n \n
    \n\n Styleguide: Icon.stacked\n */\n /*\n Notification\n */\n /*\n info Notification\n\n `.sf-notification.-info`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n success Notification\n\n `.sf-notification.-success`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n error Notification\n\n `.sf-notification.-error`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n warning Notification\n\n `.sf-notification.-warning`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n black Notification\n\n `.sf-notification.-black`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n transparent Notification\n\n `.sf-notification.-transparent`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n * info notification with close button\n\n `.sf-notification.-success`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.with-close\n */\n /*\n Inline notification (as wide as the content in it)\n\n `.sf-notification.-inline`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.inline\n */\n /*\n Notification with bottom up\n\n `.sf-notification.-info.-up`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.bottom-up\n */\n /*\n Notification with top arrow\n\n `.sf-notification.-info.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.loader-big\n */\n /*\n Notification with right arrow\n\n `.sf-notification.-info.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.right-arrow\n */\n /*\n Notification with left arrow\n\n `.sf-notification.-info.-right`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.left-arrow\n */\n /*\n Notification as tooltip\n\n `.sf-notification.-tooltip`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip\n */\n /*\n Notification as tooltip with top left arrow\n\n `.sf-notification.-tooltip.-down-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n Styleguide: Notification.tooltip-with-top-left-arrow\n */\n /*\n Notification as tooltip with top right arrow and close button\n\n `.sf-notification.-tooltip.-down-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-top-right-arrow\n */\n /*\n Notification as tooltip with left arrow\n\n `.sf-notification.-tooltip.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-left-arrow\n */\n /*\n Notification as tooltip with right arrow\n\n `.sf-notification.-tooltip.-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-right-arrow\n */\n /*\n Notification as tooltip with down arrow\n\n `.sf-notification.-tooltip.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-down-arrow\n */\n /*\n Notification as tooltip with up arrow\n\n `.sf-notification.-tooltip.-up`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-up-arrow\n */\n /*\n Edit item notification\n\n `.sf-notification.-success.-fixed.-inline`\n\n Markup:\n
    \n \t
    \n \t
    \n \t\tContent has been published successfully.\n \t
    \n
    \n\n Styleguide: Notification.edit-item\n */\n /*\n Notification as toolset for link\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n https://drive.google.com/drive/folders/\n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-link\n */\n /*\n Notification as toolset for other objects\n\n `.sf-notification.-toolset.-black.-up`\n\n Markup:\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-other-objects\n */\n /*\n Notification as toolset for styles menu\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-styles-menu\n */\n /*\n Info icon and tooltip\n\n `.sf-tooltip`\n\n Markup:\n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n\n Styleguide: Tooltip.tooltip\n */\n /*\n Info icon and tooltip opens on click\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-click\n */\n /*\n Tooltip on the right\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-the-right\n */\n /*\n Tooltip on the left\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-the-left\n */\n /*\n Tooltip on top\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n \n
    \n
    \n\n `Styleguide: Tooltip.on-top\n */\n /*\n Tooltip on bottom\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-bottom\n */\n /*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n /*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n /*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n /*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n /*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n /*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n /*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n /*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n /*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n /*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\n Styleguide: Spacing.margin-classes\n */\n /*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n /*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n /*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n /*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n /* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n */\n /*\n Visibility utility classes\n\n Hide classes\n\n `-sf-hidden, -sf-invisible, -sf-transparent`\n\n Markup:\n
    .-sf-hidden
    \n
    .-sf-invisible
    \n
    .-sf-transparent
    \n\n Styleguide: Visibility.hide\n */\n /*\n Visually hidden but accessible to screen readers\n\n `-sf-visually-hidden`\n\n Markup:\n
    This text is visually hidden but accessible to screen readers
    \n\n Styleguide: Visibility.visually-hidden\n */\n /*\n Image fit cover\n\n `-sf-img-fit-cover`\n\n Markup:\n
    \n\n Styleguide: Visibility.img-fit-cover\n */\n /*\n Positions\n\n `-sf-absolute, -sf-relative`\n\n Markup:\n
    Absolute position
    \n
    Relative position
    \n
    Static position
    \n\n Styleguide: Visibility.positions\n */\n /*\n Rotate\n\n `-sf-rotate-90, sf-rotate--90, sf-rotate-180`\n\n Markup:\n
    Rotate 90deg
    \n
    Rotate -90deg
    \n
    Rotate 180deg
    \n\n Styleguide: Visibility.rotate\n */\n /*\n Cursor/Disabled utility classes\n\n Disabled link\n\n `-sf-disabled`\n\n Markup:\n Disabled link\n\n Styleguide: Disabled.disabled\n */\n /*\n Element which looks clickable\n\n `-sf-clickable`\n\n Markup:\n Clickable element\n\n Styleguide: Disabled.clickable\n */\n /*\n Element with cursor text\n\n `-sf-cursor-text`\n\n Markup:\n Cursor text\n\n Styleguide: Disabled.cursor-text\n */\n /*\n Element that cannot be selected\n\n `-sf-user-select-none`\n\n Markup:\n User selection none\n\n Styleguide: Disabled.user-select-none\n */\n /*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n /*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n /*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n /*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n /*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n /*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n /*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n /*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n /*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n /*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n /*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n /*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n /*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n /*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n font-family: open_sansregular, "Open Sans", Arial, Verdana, sans-serif;\n font-size: var(--font-size-base);\n box-sizing: border-box;\n}\n:root:root:root sf-tooltip-element ul.-list-style-none, :root:root:root sf-tooltip-element ol.-list-style-none {\n list-style: none;\n}\n:root:root:root sf-tooltip-element ul.-list-style-disc, :root:root:root sf-tooltip-element ol.-list-style-disc {\n list-style-type: disc;\n}\n:root:root:root sf-tooltip-element ul.-list-style-decimal, :root:root:root sf-tooltip-element ol.-list-style-decimal {\n list-style-type: decimal;\n}\n:root:root:root sf-tooltip-element ul.-list-inline li, :root:root:root sf-tooltip-element ol.-list-inline li {\n display: inline-block;\n}\n:root:root:root sf-tooltip-element ul.-full-height, :root:root:root sf-tooltip-element ol.-full-height {\n height: 100%;\n}\n:root:root:root sf-tooltip-element ul.-full-height li, :root:root:root sf-tooltip-element ol.-full-height li {\n height: 100%;\n}\n:root:root:root sf-tooltip-element a {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element a.-secondary {\n color: var(--link-secondary-color);\n}\n:root:root:root sf-tooltip-element a:hover, :root:root:root sf-tooltip-element a:active, :root:root:root sf-tooltip-element a:focus {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-no-hover:hover, :root:root:root sf-tooltip-element a.-no-hover:active, :root:root:root sf-tooltip-element a.-no-hover:focus {\n color: var(--link-color);\n}\n:root:root:root sf-tooltip-element a.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-side.-active, :root:root:root sf-tooltip-element a.-side:focus, :root:root:root sf-tooltip-element a.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\n:root:root:root sf-tooltip-element a.-side-secondary {\n color: var(--link-side-secondary-color);\n}\n:root:root:root sf-tooltip-element a.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\n:root:root:root sf-tooltip-element a.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\n:root:root:root sf-tooltip-element a.-basic {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-basic:hover, :root:root:root sf-tooltip-element a.-basic:active, :root:root:root sf-tooltip-element a.-basic:focus {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\n:root:root:root sf-tooltip-element a.-top-toolbar.-active, :root:root:root sf-tooltip-element a.-top-toolbar:focus, :root:root:root sf-tooltip-element a.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n:root:root:root sf-tooltip-element h1,\n:root:root:root sf-tooltip-element .h1 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h2,\n:root:root:root sf-tooltip-element .h2 {\n font-size: var(--font-size-h2);\n font-weight: 300;\n line-height: 1.3;\n color: var(--color-h2);\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h3,\n:root:root:root sf-tooltip-element .h3 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h4,\n:root:root:root sf-tooltip-element .h4 {\n font-size: var(--font-size-h4);\n font-weight: bold;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h5,\n:root:root:root sf-tooltip-element .h5 {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n:root:root:root sf-tooltip-element .h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n:root:root:root sf-tooltip-element h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n:root:root:root sf-tooltip-element .h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n:root:root:root sf-tooltip-element p {\n margin-bottom: calc(var(--font-size-base) * 1.4);\n}\n:root:root:root sf-tooltip-element .sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-close::before {\n content: "\\2716";\n}\n:root:root:root sf-tooltip-element .sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n:root:root:root sf-tooltip-element .sf-icon.-light {\n color: var(--icon-light-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n:root:root:root sf-tooltip-element .sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n:root:root:root sf-tooltip-element .sf-icon.-lightest {\n color: #ccc;\n}\n:root:root:root sf-tooltip-element .sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-darker {\n color: #999;\n}\n:root:root:root sf-tooltip-element .sf-icon.-darkest {\n color: #777;\n}\n:root:root:root sf-tooltip-element .sf-icon.-black {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-icon.-color-inherit {\n color: inherit;\n}\n:root:root:root sf-tooltip-element .sf-icon.-white {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n:root:root:root sf-tooltip-element .sf-icon.-warning {\n color: #ED8527;\n}\n:root:root:root sf-tooltip-element .sf-icon.-svg {\n width: auto;\n height: auto;\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n:root:root:root sf-tooltip-element .sf-icon__svg {\n width: 1em;\n height: 1em;\n fill: currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon__svg-template {\n width: 100%;\n max-height: 77px;\n max-width: 300px;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack {\n position: relative;\n display: inline-flex;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack__in {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 10;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack .sf-icon-stack__in + .sf-icon-stack__in {\n z-index: 5;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack__out {\n position: relative;\n}\n:root:root:root sf-tooltip-element .sf-notification {\n position: relative;\n display: flex;\n text-align: left;\n vertical-align: middle;\n padding: 10px 9px;\n border-radius: 3px;\n background-color: currentcolor;\n border-color: currentcolor;\n color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification > * {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-info {\n color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-info > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-success {\n color: #CAEED8;\n}\n:root:root:root sf-tooltip-element .sf-notification.-success > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-error {\n color: #FFCCCC;\n}\n:root:root:root sf-tooltip-element .sf-notification.-error > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-warning {\n color: #FFFFCC;\n}\n:root:root:root sf-tooltip-element .sf-notification.-warning > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-black {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-black > *:not(.sf-notification__close-button) {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-notification.-transparent {\n color: transparent;\n}\n:root:root:root sf-tooltip-element .sf-notification.-transparent > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-small {\n padding: 0 20px;\n height: 32px;\n align-items: center;\n}\n:root:root:root sf-tooltip-element .sf-notification.-inline {\n display: inline-flex;\n}\n:root:root:root sf-tooltip-element .sf-notification.-preline .sf-notification__content {\n white-space: pre-line;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up, :root:root:root sf-tooltip-element .sf-notification.-up-right, :root:root:root sf-tooltip-element .sf-notification.-up-left {\n margin-bottom: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:after, :root:root:root sf-tooltip-element .sf-notification.-up:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:after {\n border-width: 10px;\n border-top-color: inherit;\n bottom: -20px;\n right: 50%;\n margin-right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:before {\n border-width: 11px;\n border-top-color: #e4e4e4;\n bottom: -22px;\n right: 50%;\n margin-right: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down, :root:root:root sf-tooltip-element .sf-notification.-down-right, :root:root:root sf-tooltip-element .sf-notification.-down-left {\n margin-top: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:after, :root:root:root sf-tooltip-element .sf-notification.-down:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:after, :root:root:root sf-tooltip-element .sf-notification.-down-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:after, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-down-left:after {\n border-width: 10px;\n border-bottom-color: inherit;\n top: -20px;\n right: 50%;\n margin-right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:before {\n border-width: 11px;\n border-bottom-color: #e4e4e4;\n top: -22px;\n right: 50%;\n margin-right: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left, :root:root:root sf-tooltip-element .sf-notification.-left-up, :root:root:root sf-tooltip-element .sf-notification.-left-down {\n margin-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:after, :root:root:root sf-tooltip-element .sf-notification.-left:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:after, :root:root:root sf-tooltip-element .sf-notification.-left-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:after, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-left-down:after {\n border-width: 10px;\n border-left-color: inherit;\n right: -20px;\n top: 50%;\n margin-top: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:before {\n border-width: 11px;\n border-left-color: #e4e4e4;\n right: -22px;\n top: 50%;\n margin-top: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right, :root:root:root sf-tooltip-element .sf-notification.-right-up, :root:root:root sf-tooltip-element .sf-notification.-right-down {\n margin-left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:after, :root:root:root sf-tooltip-element .sf-notification.-right:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:after {\n border-width: 10px;\n border-right-color: inherit;\n left: -20px;\n top: 50%;\n margin-top: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:before {\n border-width: 11px;\n border-right-color: #e4e4e4;\n left: -22px;\n top: 50%;\n margin-top: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down-left:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:after {\n right: auto;\n left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:after {\n right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left-down:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:after {\n bottom: 10px;\n top: auto;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:after {\n top: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip {\n padding: 20px;\n border: 1px solid #e4e4e4;\n border-radius: 0;\n box-shadow: 0 0 8px rgba(228, 228, 228, 0.6);\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip .sf-notification__close-button {\n position: absolute;\n top: 10px;\n right: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down-left:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down-right:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up-left:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up-right:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left-down:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left-up:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right-down:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right-up:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-help {\n display: block;\n padding: 30px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-faq {\n position: absolute;\n margin-bottom: 5px;\n bottom: 100%;\n right: 0;\n width: 290px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-fixed {\n max-width: 850px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset {\n display: inline-block;\n padding: 0;\n height: 55px;\n line-height: 55px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__content {\n display: flex;\n height: 100%;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool {\n padding-left: 20px;\n padding-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group {\n display: inline-flex;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button {\n padding: 5px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button:not(:first-of-type) {\n margin-left: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n color: #ccc;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover.-active {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button.-active {\n background-color: #999;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-dropdown {\n min-width: 200px;\n margin-left: 20px;\n padding: 5px;\n color: inherit;\n background-color: inherit;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-link {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n display: inline-block;\n max-width: 200px;\n vertical-align: middle;\n padding-left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-separator {\n display: inline-block;\n width: 1px;\n background-color: #777;\n}\n:root:root:root sf-tooltip-element .sf-notification.-narrow {\n width: 250px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-medium {\n width: 350px;\n}\n:root:root:root sf-tooltip-element .sf-notification__close-button {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n display: block;\n margin-left: 10px;\n order: 4;\n line-height: inherit;\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .sf-notification__close-button .sf-icon:hover {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification__content {\n flex: 1;\n order: 2;\n max-width: 100%;\n word-break: normal;\n}\n:root:root:root sf-tooltip-element .sf-notification__separator {\n vertical-align: middle;\n margin-left: 10px;\n margin-right: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification-wrapper {\n position: fixed;\n top: 60px;\n left: 0;\n width: 100%;\n text-align: center;\n z-index: 10000;\n height: 0;\n}\n:root:root:root sf-tooltip-element .sf-row {\n display: flex;\n flex-wrap: wrap;\n padding: 0;\n width: 100%;\n max-width: 100%;\n list-style-type: none;\n /*\n Row with auto sized columns (default)\n\n `.sf-row .sf-row__col`\n\n Markup:\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row.auto-sized\n */\n /*\n Nested rows\n\n `.sf-row .sf-row`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row.nested-rows\n */\n /*\n Row with no gutter\n\n `.sf-row.-no-gutter`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.no-gutter\n */\n /*\n Row inline\n\n `.sf-row.-inline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.inline\n */\n /*\n Row full height\n\n `.sf-row.-full-height`\n\n Markup:\n
    \n
    \n I am tall\n
    \n
    \n I am tall\n
    \n
    \n\n Styleguide: Row.full-height\n */\n /*\n Width auto\n\n `.sf-row.-auto-width`\n\n Markup:\n
    \n
    \n\n Styleguide: Row.width-auto\n */\n /*\n flex-wrap: wrap (Default)\n\n `.sf-row.-wrap`\n\n If emitted flex-wrap: wrap\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.flex-wrap-wrap\n */\n /*\n flex-wrap: no-wrap\n\n `.sf-row.-no-wrap`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.no-wrap\n */\n /*\n flex-wrap: wrap-reverse\n\n `.sf-row.-wrap-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.wrap-reverse\n */\n /*\n flex-direction: row (default)\n\n `.sf-row.-row`\n\n If emitted flex-direction: row\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.flex-direction-row\n */\n /*\n flex-direction: row-reverse\n\n `.sf-row.-row-reverse `\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.row-reverse\n */\n /*\n flex-direction: column\n\n `.sf-row.-column`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column\n */\n /*\n flex-direction: column-reverse\n\n `.sf-row.-column-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column-reverse\n */\n /*\n align-items: stretch (default)\n\n `.sf-row.-align-items-stretch`\n\n If emitted align-items: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-stretch\n\n */\n /*\n align-items: flex-start\n\n `.sf-row.-align-items-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-start\n */\n /*\n align-items: flex-end\n\n `.sf-row.-align-items-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-end\n */\n /*\n align-items: center\n\n `.sf-row.-align-items-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-center\n */\n /*\n align-items: baseline\n\n `.sf-row.-align-items-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-baseline\n */\n /*\n align-content: stretch (default)\n\n `.sf-row.-align-content-stretch`\n\n If emitted align-content: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-stretch\n */\n /*\n align-content: flex-start\n\n `.sf-row.-align-content-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-start\n */\n /*\n align-content: flex-end\n\n `.sf-row.-align-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-end\n */\n /*\n align-content: center\n\n `.sf-row.-align-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-center\n */\n /*\n align-content: space-between\n\n `.sf-row.-align-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-between\n */\n /*\n align-content: space-around\n\n `.sf-row.-align-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-around\n */\n /*\n justify-content: flex-start (default)\n\n `.sf-row.-justify-content-start`\n\n If emitted justify-content: flex-start\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-start\n */\n /*\n justify-content: flex-end\n\n `.sf-row.-justify-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-end\n */\n /*\n justify-content: center\n\n `.theme.-row.-justify-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-center\n */\n /*\n justify-content: space-between\n\n `.sf-row.-justify-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-between\n */\n /*\n justify-content: space-around\n\n `.sf-row.-justify-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-around\n */\n /*\n Columns with flexible width\n\n `sf-row.-adjustable-ellipsis`\n\n Markup:\n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n\n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n\n Styleguide: Row.adjustable-ellipsis\n */\n /*\n Row \u2014 Single Column\n */\n /*\n Columns with no gutter\n\n `.sf-row__col.-no-gutter`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-gutter\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-gutter\n */\n /*\n Columns which are not flexible (\'flex: none\')\n\n `.sf-row__col.-no-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-flex\n */\n /*\n Columns which are auto flexible (\'flex: auto\')\n\n `.sf-row__col.-auto-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-auto-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.flex-auto\n */\n /*\n Columns hide\n\n `.sf-row__col.-hidden`\n\n Markup:\n
    \n
    \n .sf-row__col.-hidden: I am hidden for all resolutions\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row-single.hidden\n */\n /*\n Columns align-self: stretch (default)\n\n `.sf-row__col.-align-self-stretch`\n\n If emitted align-self: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-stretch\n */\n /*\n Columns align-self: flex-start\n\n `.sf-row__col.-align-self-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.flex-start\n */\n /*\n Columns align-self: flex-end\n\n `.sf-row__col.-align-self-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-end\n */\n /*\n Columns align-self: center\n\n `.sf-row__col.-align-self-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-center\n */\n /*\n Columns align-self: baseline\n\n `.sf-row__col.-align-self-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-baseline\n */\n}\n:root:root:root sf-tooltip-element .sf-row.-no-gutter .sf-row__col {\n padding: 0;\n}\n:root:root:root sf-tooltip-element .sf-row.-inline {\n display: inline-flex;\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-full-height {\n height: 100%;\n}\n:root:root:root sf-tooltip-element .sf-row.-auto-width {\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-wrap {\n flex-wrap: wrap;\n}\n:root:root:root sf-tooltip-element .sf-row.-no-wrap {\n flex-wrap: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-row.-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-row {\n flex-direction: row;\n}\n:root:root:root sf-tooltip-element .sf-row.-row-reverse {\n flex-direction: row-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-column {\n flex-direction: column;\n}\n:root:root:root sf-tooltip-element .sf-row.-column-reverse {\n flex-direction: column-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-stretch {\n align-items: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-start {\n align-items: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-end {\n align-items: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-center {\n align-items: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-baseline {\n align-items: baseline;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-stretch {\n align-content: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-start {\n align-content: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-end {\n align-content: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-center {\n align-content: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-between {\n align-content: space-between;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-around {\n align-content: space-around;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-start {\n justify-content: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-end {\n justify-content: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-center {\n justify-content: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-between {\n justify-content: space-between;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-around {\n justify-content: space-around;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis {\n display: inline-flex;\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis .sf-row__col.-truncatable {\n min-width: 0;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis .sf-row__col.-full-width {\n flex: none;\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-row__col {\n padding: 0;\n flex: 1;\n max-width: 100%;\n /*\n Row \u2014 Grid System\n\n Columns sizes\n\n `.sf-row__col.-col-{1, 2, 3,..., 12}`\n\n Column sizes applies for all devices unless overridden\n\n Markup:\n
    \n
    \n .sf-row__col.-col-12\n
    \n
    \n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n\n Styleguide: Row-grid.Columns-sizes\n */\n /*\n Columns order\n\n `.sf-row__col.-order-{1, 2, 3,..., 12}`\n\n Markup:\n
    \n
    \n .sf-row__col.-order-2\n

    I am first in the markup but ordered second on the screen

    \n
    \n
    \n .sf-row__col.-order-3\n

    I am second in the markup but ordered third on the screen

    \n
    \n
    \n .sf-row__col.-order-1\n

    I am third in the markup but ordered first on the screen

    \n
    \n
    \n\n Styleguide: Row-grid.Columns-order\n */\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-1 {\n flex: 0 0 8.3333333333%;\n max-width: 8.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-2 {\n flex: 0 0 16.6666666667%;\n max-width: 16.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-4 {\n flex: 0 0 33.3333333333%;\n max-width: 33.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-5 {\n flex: 0 0 41.6666666667%;\n max-width: 41.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-7 {\n flex: 0 0 58.3333333333%;\n max-width: 58.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-8 {\n flex: 0 0 66.6666666667%;\n max-width: 66.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-10 {\n flex: 0 0 83.3333333333%;\n max-width: 83.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-11 {\n flex: 0 0 91.6666666667%;\n max-width: 91.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-1 {\n order: 1;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-2 {\n order: 2;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-3 {\n order: 3;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-4 {\n order: 4;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-5 {\n order: 5;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-6 {\n order: 6;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-7 {\n order: 7;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-8 {\n order: 8;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-9 {\n order: 9;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-10 {\n order: 10;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-11 {\n order: 11;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-12 {\n order: 12;\n}\n:root:root:root sf-tooltip-element .sf-row .-no-gutter {\n padding: 0;\n}\n:root:root:root sf-tooltip-element .sf-row .-no-flex {\n flex: none;\n}\n:root:root:root sf-tooltip-element .sf-row .-auto-flex {\n flex: auto;\n}\n:root:root:root sf-tooltip-element .sf-row .-hidden {\n display: none;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-stretch {\n align-self: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-start {\n align-self: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-end {\n align-self: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-center {\n align-self: center;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-baseline {\n align-self: baseline;\n}\n:root:root:root sf-tooltip-element .sf-tooltip {\n position: relative;\n}\n:root:root:root sf-tooltip-element .sf-tooltip:not(:hover):not(:focus):not(:active):not(.-dropped) .sf-tooltip__content, :root:root:root sf-tooltip-element .sf-tooltip.-open-on-click:not(.-dropped) .sf-tooltip__content {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n left: -1000px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content {\n position: absolute;\n top: 100%;\n left: 0;\n font-size: var(--font-size-base);\n font-weight: normal;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down, :root:root:root sf-tooltip-element .sf-tooltip__content.-up {\n left: 50%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down {\n transform: translateX(-50%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-up {\n top: auto;\n transform: translate(-50%, -100%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-right, :root:root:root sf-tooltip-element .sf-tooltip__content.-left {\n top: 50%;\n transform: translateY(-50%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-right {\n left: 100%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-left {\n left: auto;\n right: 100%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-right, :root:root:root sf-tooltip-element .sf-tooltip__content.-down-left {\n transform: translateY(5px);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-right {\n left: auto;\n right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-left {\n left: -20px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content:not(.-toolset) {\n min-width: 250px;\n z-index: 1000000;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-toolset {\n z-index: 1000;\n}\n:root:root:root sf-tooltip-element .-side-content .sf-tooltip__content {\n left: auto;\n right: 0;\n}\n:root:root:root sf-tooltip-element .-sf-mt-zero {\n margin-top: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-4xs {\n margin-top: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-3xs {\n margin-top: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-2xs {\n margin-top: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-xs {\n margin-top: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-s {\n margin-top: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-m {\n margin-top: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-l {\n margin-top: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-xl {\n margin-top: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-2xl {\n margin-top: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-3xl {\n margin-top: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-4xl {\n margin-top: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-5xl {\n margin-top: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-6xl {\n margin-top: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-7xl {\n margin-top: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-8xl {\n margin-top: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-9xl {\n margin-top: 140px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-10xl {\n margin-top: 160px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-11xl {\n margin-top: 180px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-12xl {\n margin-top: 200px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-s {\n margin-bottom: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-m {\n margin-bottom: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-l {\n margin-bottom: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-zero {\n margin-left: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-4xs {\n margin-left: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-3xs {\n margin-left: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-2xs {\n margin-left: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-xs {\n margin-left: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-s {\n margin-left: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-m {\n margin-left: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-l {\n margin-left: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-xl {\n margin-left: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-2xl {\n margin-left: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-3xl {\n margin-left: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-4xl {\n margin-left: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-5xl {\n margin-left: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-6xl {\n margin-left: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-7xl {\n margin-left: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-8xl {\n margin-left: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-zero {\n margin-right: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-4xs {\n margin-right: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-3xs {\n margin-right: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-2xs {\n margin-right: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-xs {\n margin-right: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-s {\n margin-right: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-m {\n margin-right: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-l {\n margin-right: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-xl {\n margin-right: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-2xl {\n margin-right: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-3xl {\n margin-right: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-4xl {\n margin-right: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-5xl {\n margin-right: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-6xl {\n margin-right: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-7xl {\n margin-right: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-8xl {\n margin-right: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-zero {\n margin: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-4xs {\n margin: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-3xs {\n margin: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-2xs {\n margin: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-xs {\n margin: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-s {\n margin: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-m {\n margin: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-l {\n margin: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-xl {\n margin: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-2xl {\n margin: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-3xl {\n margin: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-4xl {\n margin: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-5xl {\n margin: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-6xl {\n margin: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-7xl {\n margin: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-8xl {\n margin: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-8xs {\n margin-top: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-7xs {\n margin-top: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-6xs {\n margin-top: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-5xs {\n margin-top: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-8xs {\n margin-left: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-7xs {\n margin-left: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-6xs {\n margin-left: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-5xs {\n margin-left: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-8xs {\n margin-right: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-7xs {\n margin-right: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-6xs {\n margin-right: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-5xs {\n margin-right: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--4xs {\n margin-top: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--3xs {\n margin-top: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--2xs {\n margin-top: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--xs {\n margin-top: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--s {\n margin-top: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--m {\n margin-top: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--l {\n margin-top: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--xl {\n margin-top: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--2xl {\n margin-top: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--3xl {\n margin-top: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--4xl {\n margin-top: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--5xl {\n margin-top: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--6xl {\n margin-top: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--s {\n margin-bottom: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--m {\n margin-bottom: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--l {\n margin-bottom: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--4xs {\n margin-left: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--3xs {\n margin-left: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--2xs {\n margin-left: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--xs {\n margin-left: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--s {\n margin-left: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--m {\n margin-left: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--l {\n margin-left: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--xl {\n margin-left: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--2xl {\n margin-left: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--3xl {\n margin-left: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--4xl {\n margin-left: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--5xl {\n margin-left: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--6xl {\n margin-left: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--4xs {\n margin-right: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--3xs {\n margin-right: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--2xs {\n margin-right: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--xs {\n margin-right: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--s {\n margin-right: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--m {\n margin-right: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--l {\n margin-right: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--xl {\n margin-right: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--2xl {\n margin-right: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--3xl {\n margin-right: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--4xl {\n margin-right: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--5xl {\n margin-right: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--6xl {\n margin-right: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-zero {\n padding-top: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-4xs {\n padding-top: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-3xs {\n padding-top: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-2xs {\n padding-top: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-xs {\n padding-top: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-s {\n padding-top: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-m {\n padding-top: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-l {\n padding-top: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-xl {\n padding-top: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-2xl {\n padding-top: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-3xl {\n padding-top: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-4xl {\n padding-top: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-5xl {\n padding-top: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-6xl {\n padding-top: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-7xl {\n padding-top: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-8xl {\n padding-top: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-s {\n padding-bottom: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-m {\n padding-bottom: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-l {\n padding-bottom: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-zero {\n padding-left: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-4xs {\n padding-left: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-3xs {\n padding-left: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-2xs {\n padding-left: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-xs {\n padding-left: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-s {\n padding-left: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-m {\n padding-left: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-l {\n padding-left: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-xl {\n padding-left: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-2xl {\n padding-left: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-3xl {\n padding-left: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-4xl {\n padding-left: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-5xl {\n padding-left: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-6xl {\n padding-left: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-7xl {\n padding-left: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-8xl {\n padding-left: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-zero {\n padding-right: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-4xs {\n padding-right: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-3xs {\n padding-right: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-2xs {\n padding-right: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-xs {\n padding-right: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-s {\n padding-right: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-m {\n padding-right: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-l {\n padding-right: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-xl {\n padding-right: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-2xl {\n padding-right: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-3xl {\n padding-right: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-4xl {\n padding-right: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-5xl {\n padding-right: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-6xl {\n padding-right: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-7xl {\n padding-right: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-8xl {\n padding-right: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-zero {\n padding: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-4xs {\n padding: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-3xs {\n padding: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-2xs {\n padding: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-xs {\n padding: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-s {\n padding: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-m {\n padding: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-l {\n padding: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-xl {\n padding: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-2xl {\n padding: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-3xl {\n padding: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-4xl {\n padding: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-5xl {\n padding: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-6xl {\n padding: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-7xl {\n padding: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-8xl {\n padding: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-8xs {\n padding-top: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-7xs {\n padding-top: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-6xs {\n padding-top: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-5xs {\n padding-top: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-8xs {\n padding-left: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-7xs {\n padding-left: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-6xs {\n padding-left: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-5xs {\n padding-left: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-8xs {\n padding-right: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-7xs {\n padding-right: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-6xs {\n padding-right: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-5xs {\n padding-right: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-auto {\n margin-left: auto !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-auto {\n margin-right: auto !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-50 {\n margin-left: 50% !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-50 {\n margin-right: 50% !important;\n}\n:root:root:root sf-tooltip-element .-sf-hidden {\n display: none !important;\n}\n:root:root:root sf-tooltip-element .-sf-invisible {\n visibility: hidden !important;\n}\n:root:root:root sf-tooltip-element .-sf-block {\n display: block !important;\n}\n:root:root:root sf-tooltip-element .-sf-inline-block {\n display: inline-block !important;\n}\n:root:root:root sf-tooltip-element .-sf-flex {\n display: flex !important;\n}\n:root:root:root sf-tooltip-element .-sf-inline-flex {\n display: inline-flex !important;\n}\n:root:root:root sf-tooltip-element .-sf-absolute {\n position: absolute !important;\n}\n:root:root:root sf-tooltip-element .-sf-relative {\n position: relative !important;\n}\n:root:root:root sf-tooltip-element .-sf-static {\n position: static !important;\n}\n:root:root:root sf-tooltip-element .-sf-transparent {\n opacity: 0;\n}\n:root:root:root sf-tooltip-element .-sf-align-self-center {\n align-self: center !important;\n}\n:root:root:root sf-tooltip-element .-sf-align-self-start {\n align-self: flex-start !important;\n}\n:root:root:root sf-tooltip-element .-sf-visually-hidden {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n}\n:root:root:root sf-tooltip-element .-sf-img-fit-cover {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n overflow: hidden;\n}\n:root:root:root sf-tooltip-element .-sf-rotate-90 {\n transform: rotate(90deg);\n}\n:root:root:root sf-tooltip-element .-sf-rotate--90 {\n transform: rotate(-90deg);\n}\n:root:root:root sf-tooltip-element .-sf-rotate-180 {\n transform: rotate(180deg);\n}\n:root:root:root sf-tooltip-element .-sf-disabled {\n pointer-events: none;\n cursor: default;\n}\n:root:root:root sf-tooltip-element .-sf-clickable {\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .-sf-cursor-text {\n cursor: text;\n}\n:root:root:root sf-tooltip-element .-sf-user-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n:root:root:root sf-tooltip-element .-sf-overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100000000;\n}\n:root:root:root sf-tooltip-element .-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n:root:root:root sf-tooltip-element .-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n:root:root:root sf-tooltip-element .-sf-txt-success {\n color: var(--color-success);\n}\n:root:root:root sf-tooltip-element .-sf-txt-failure {\n color: var(--color-error);\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-left {\n text-align: left;\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-right {\n text-align: right;\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-center {\n text-align: center;\n}\n:root:root:root sf-tooltip-element .-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n:root:root:root sf-tooltip-element .-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n:root:root:root sf-tooltip-element .-sf-txt-nowrap {\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n:root:root:root sf-tooltip-element .-sf-txt-lower-case {\n text-transform: lowercase;\n}\n:root:root:root sf-tooltip-element .-sf-txt-upper-case {\n text-transform: uppercase;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-hidden {\n overflow: hidden;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-auto {\n overflow: auto;\n}\n:root:root:root sf-tooltip-element .-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n:root:root:root sf-tooltip-element .-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n:root:root:root sf-tooltip-element .-sf-word-break-all {\n word-break: break-all;\n}\n:root:root:root sf-tooltip-element .-sf-word-break-word {\n word-break: break-word;\n}\n:root:root:root sf-tooltip-element .-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n:root:root:root sf-tooltip-element .-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n:root:root:root sf-tooltip-element .-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n:root:root:root sf-tooltip-element .-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n:root:root:root sf-tooltip-element .-sf-txt-base {\n font-size: var(--font-size-base);\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root:root:root sf-tooltip-element .sf-help {\n white-space: normal;\n}\n:root:root:root sf-tooltip-element .sf-help__col1 {\n width: 195px;\n}\n:root:root:root sf-tooltip-element .sf-help__col2 {\n width: 150px;\n}\n:root:root:root sf-tooltip-element h4 {\n font-family: open_sanssemibold, Arial, Verdana, sans-serif;\n font-size: var(--font-size-h4-lg);\n}'}},iw={};function as(je){var en=iw[je];if(void 0!==en)return en.exports;var Pe=iw[je]={exports:{}};return BM[je](Pe,Pe.exports,as),Pe.exports}!function(){"use strict";as(320),as(277),as(210),as(907),as(586);function De(t,n){return(De=Object.setPrototypeOf||function(r,i){return r.__proto__=i,r})(t,n)}function k(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),n&&De(t,n)}function oe(t){return(oe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(t)}function Re(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}function xt(t){return(xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(t)}function qe(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function xn(t,n){if(n&&("object"===xt(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return qe(t)}function S(t){var n=Re();return function(){var i,r=oe(t);if(n){var o=oe(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return xn(this,i)}}function Ln(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(l){throw l},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,a=!1;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,s=l},f:function(){try{!o&&null!=e.return&&e.return()}finally{if(a)throw s}}}}var Dn,t,oi=as(774); +/** + * @license Angular v13.3.3 + * (c) 2010-2022 Google LLC. https://angular.io/ + * License: MIT + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function zn(t){if(":"!=t[0])return[null,t];var n=t.indexOf(":",1);if(-1===n)throw new Error('Unsupported format "'.concat(t,'" expecting ":namespace:name"'));return[t.slice(1,n),t.slice(n+1)]}function ce(t){return"ng-container"===zn(t)[1]}function Q(t){return"ng-content"===zn(t)[1]}function Ee(t){return null===t?null:zn(t)[0]}function me(t,n){return t?":".concat(t,":").concat(n):n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(t=Dn||(Dn={}))[t.RAW_TEXT=0]="RAW_TEXT",t[t.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",t[t.PARSABLE_DATA=2]="PARSABLE_DATA";var _t,Ke,ie=function(){function t(){var n=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.closedByChildren,i=e.implicitNamespacePrefix,o=e.contentType,a=void 0===o?Dn.PARSABLE_DATA:o,s=e.closedByParent,u=void 0!==s&&s,l=e.isVoid,c=void 0!==l&&l,f=e.ignoreFirstLf,d=void 0!==f&&f,v=e.preventNamespaceInheritance,y=void 0!==v&&v;p(this,t),this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,r&&r.length>0&&r.forEach(function(b){return n.closedByChildren[b]=!0}),this.isVoid=c,this.closedByParent=u||c,this.implicitNamespacePrefix=i||null,this.contentType=a,this.ignoreFirstLf=d,this.preventNamespaceInheritance=y}return h(t,[{key:"isClosedByChild",value:function(e){return this.isVoid||e.toLowerCase()in this.closedByChildren}},{key:"getContentType",value:function(e){if("object"==typeof this.contentType){var r=void 0===e?void 0:this.contentType[e];return null!=r?r:this.contentType.default}return this.contentType}}]),t}();function An(t){var n,e;return Ke||(_t=new ie,Ke={base:new ie({isVoid:!0}),meta:new ie({isVoid:!0}),area:new ie({isVoid:!0}),embed:new ie({isVoid:!0}),link:new ie({isVoid:!0}),img:new ie({isVoid:!0}),input:new ie({isVoid:!0}),param:new ie({isVoid:!0}),hr:new ie({isVoid:!0}),br:new ie({isVoid:!0}),source:new ie({isVoid:!0}),track:new ie({isVoid:!0}),wbr:new ie({isVoid:!0}),p:new ie({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new ie({closedByChildren:["tbody","tfoot"]}),tbody:new ie({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new ie({closedByChildren:["tbody"],closedByParent:!0}),tr:new ie({closedByChildren:["tr"],closedByParent:!0}),td:new ie({closedByChildren:["td","th"],closedByParent:!0}),th:new ie({closedByChildren:["td","th"],closedByParent:!0}),col:new ie({isVoid:!0}),svg:new ie({implicitNamespacePrefix:"svg"}),foreignObject:new ie({implicitNamespacePrefix:"svg",preventNamespaceInheritance:!0}),math:new ie({implicitNamespacePrefix:"math"}),li:new ie({closedByChildren:["li"],closedByParent:!0}),dt:new ie({closedByChildren:["dt","dd"]}),dd:new ie({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new ie({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new ie({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new ie({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new ie({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new ie({closedByChildren:["optgroup"],closedByParent:!0}),option:new ie({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new ie({ignoreFirstLf:!0}),listing:new ie({ignoreFirstLf:!0}),style:new ie({contentType:Dn.RAW_TEXT}),script:new ie({contentType:Dn.RAW_TEXT}),title:new ie({contentType:{default:Dn.ESCAPABLE_RAW_TEXT,svg:Dn.PARSABLE_DATA}}),textarea:new ie({contentType:Dn.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),null!==(e=null!==(n=Ke[t])&&void 0!==n?n:Ke[t.toLowerCase()])&&void 0!==e?e:_t +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}var $n,Ui,Qn=new RegExp("(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=([\"']?)([^\\]\"']*)\\5)?\\])|(\\))|(\\s*,\\s*)","g"),Dr=function(){function t(){p(this,t),this.element=null,this.classNames=[],this.attrs=[],this.notSelectors=[]}return h(t,[{key:"unescapeAttribute",value:function(e){for(var r="",i=!1,o=0;o0&&void 0!==arguments[0]?arguments[0]:null;this.element=e}},{key:"getMatchingElementTemplate",value:function(){for(var e=this.element||"div",r=this.classNames.length>0?' class="'.concat(this.classNames.join(" "),'"'):"",i="",o=0;o"):"<".concat(e).concat(r).concat(i,">")}},{key:"getAttrs",value:function(){var e=[];return this.classNames.length>0&&e.push("class",this.classNames.join(" ")),e.concat(this.attrs)}},{key:"addAttribute",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.attrs.push(e,r&&r.toLowerCase()||"")}},{key:"addClassName",value:function(e){this.classNames.push(e.toLowerCase())}},{key:"toString",value:function(){var e=this.element||"";if(this.classNames&&this.classNames.forEach(function(a){return e+=".".concat(a)}),this.attrs)for(var r=0;r0&&!y.element&&0==y.classNames.length&&0==y.attrs.length&&(y.element="*"),v.push(y)},o=new t,s=o,u=!1;for(Qn.lastIndex=0;a=Qn.exec(e);){if(a[1]){if(u)throw new Error("Nesting :not in a selector is not allowed");u=!0,s=new t,o.notSelectors.push(s)}var l=a[2];if(l){var c=a[3];"#"===c?s.addAttribute("id",l.substr(1)):"."===c?s.addClassName(l.substr(1)):s.setElement(l)}var f=a[4];if(f&&s.addAttribute(s.unescapeAttribute(f),a[6]),a[7]&&(u=!1,s=o),a[8]){if(u)throw new Error("Multiple selectors in :not are not supported");i(r,o),o=s=new t}}return i(r,o),r}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}($n||($n={})),function(t){t[t.OnPush=0]="OnPush",t[t.Default=1]="Default"}(Ui||(Ui={}));var Yt,un,ai={name:"custom-elements"},Po={name:"no-errors-schema"};function us(t){var n=function xa(t){var n=t.classNames&&t.classNames.length?[8].concat(re(t.classNames)):[];return[t.element&&"*"!==t.element?t.element:""].concat(re(t.attrs),re(n))}(t),e=t.notSelectors&&t.notSelectors.length?t.notSelectors.map(function(r){return function ss(t){var n=t.classNames&&t.classNames.length?[8].concat(re(t.classNames)):[];return t.element?[5,t.element].concat(re(t.attrs),re(n)):t.attrs.length?[3].concat(re(t.attrs),re(n)):t.classNames&&t.classNames.length?[9].concat(re(t.classNames)):[]}(r)}):[];return n.concat.apply(n,re(e))}function Di(t){return t?Dr.parse(t).map(us):[]}!function(t){t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL"}(Yt||(Yt={})),function(t){t[t.Error=0]="Error",t[t.Warning=1]="Warning",t[t.Ignore=2]="Ignore"}(un||(un={}));var L=/-+([a-z0-9])/g; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function te(t,n){return Ie(t,":",n)}function Ie(t,n,e){var r=t.indexOf(n);return-1==r?e:[t.slice(0,r).trim(),t.slice(r+1).trim()]}function D(t){return void 0===t?null:t}function E(t){throw new Error("Internal Error: ".concat(t))}function g(t){for(var n=[],e=0;e=55296&&r<=56319&&t.length>e+1){var i=t.charCodeAt(e+1);i>=56320&&i<=57343&&(e++,r=(r-55296<<10)+i-56320+65536)}r<=127?n.push(r):r<=2047?n.push(r>>6&31|192,63&r|128):r<=65535?n.push(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&n.push(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128)}return n}function _(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(_).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return"".concat(t.overriddenName);if(t.name)return"".concat(t.name);if(!t.toString)return"object";var n=t.toString();if(null==n)return""+n;var e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}var C=h(function t(n){p(this,t),this.full=n;var e=n.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}),T="undefined"!=typeof window&&window,w="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,j="undefined"!=typeof global&&global||T||w; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var ee=function(){function t(n){p(this,t),this.digits=n}return h(t,[{key:"clone",value:function(){return new t(this.digits.slice())}},{key:"add",value:function(e){var r=this.clone();return r.addToSelf(e),r}},{key:"addToSelf",value:function(e){for(var r=Math.max(this.digits.length,e.digits.length),i=0,o=0;o=10?(this.digits[o]=a-10,i=1):(this.digits[o]=a,i=0)}i>0&&(this.digits[r]=1)}},{key:"toString",value:function(){for(var e="",r=this.digits.length-1;r>=0;r--)e+=this.digits[r];return e}}],[{key:"zero",value:function(){return new t([0])}},{key:"one",value:function(){return new t([1])}}]),t}(),Se=function(){function t(n){p(this,t),this.powerOfTwos=[n]}return h(t,[{key:"getValue",value:function(){return this.powerOfTwos[0]}},{key:"multiplyBy",value:function(e){var r=ee.zero();return this.multiplyByAndAddTo(e,r),r}},{key:"multiplyByAndAddTo",value:function(e,r){for(var i=0;0!==e;e>>>=1,i++)if(1&e){var o=this.getMultipliedByPowerOfTwo(i);r.addToSelf(o)}}},{key:"getMultipliedByPowerOfTwo",value:function(e){for(var r=this.powerOfTwos.length;r<=e;r++){var i=this.powerOfTwos[r-1];this.powerOfTwos[r]=i.add(i)}return this.powerOfTwos[e]}}]),t}(),pt=function(){function t(n){p(this,t),this.base=n,this.exponents=[new Se(ee.one())]}return h(t,[{key:"toThePowerOf",value:function(e){for(var r=this.exponents.length;r<=e;r++){var i=this.exponents[r-1].multiplyBy(this.base);this.exponents[r]=new Se(i)}return this.exponents[e]}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Vr(t){return function hn(t){var n=g(t),e=function xe(t,n){for(var e=t.length+3>>>2,r=[],i=0;i>5]|=128<<24-r%32,e[15+(r+64>>9<<4)]=r;for(var c=0;c>>4).toString(16)+(15&r).toString(16)}return n.toLowerCase()}(function V(t){return t.reduce(function(n,e){return n.concat(function ve(t){for(var n=[],e=0;e<4;e++)n.push(t>>>8*(3-e)&255);return n}(e))},[])}([o,a,s,u,l]))}(function pn(t){return t.map(function(n){return n.visit(we,null)})}(t.nodes).join("")+"[".concat(t.meaning,"]"))}function Mn(t){return t.id||Nn(t)}function Nn(t){var n=new Wn;return jn(t.nodes.map(function(r){return r.visit(n,null)}).join(""),t.meaning)}var Vn=function(){function t(){p(this,t)}return h(t,[{key:"visitText",value:function(e,r){return e.value}},{key:"visitContainer",value:function(e,r){var i=this;return"[".concat(e.children.map(function(o){return o.visit(i)}).join(", "),"]")}},{key:"visitIcu",value:function(e,r){var i=this,o=Object.keys(e.cases).map(function(a){return"".concat(a," {").concat(e.cases[a].visit(i),"}")});return"{".concat(e.expression,", ").concat(e.type,", ").concat(o.join(", "),"}")}},{key:"visitTagPlaceholder",value:function(e,r){var i=this;return e.isVoid?''):'').concat(e.children.map(function(o){return o.visit(i)}).join(", "),'')}},{key:"visitPlaceholder",value:function(e,r){return e.value?'').concat(e.value,""):'')}},{key:"visitIcuPlaceholder",value:function(e,r){return'').concat(e.value.visit(this),"")}}]),t}(),we=new Vn;var Ye,Wn=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"visitIcu",value:function(i,o){var a=this,s=Object.keys(i.cases).map(function(u){return"".concat(u," {").concat(i.cases[u].visit(a),"}")});return"{".concat(i.type,", ").concat(s.join(", "),"}")}}]),e}(Vn);function tn(t,n,e,r){return t<20?[n&e|~n&r,1518500249]:t<40?[n^e^r,1859775393]:t<60?[n&e|n&r|e&r,2400959708]:[n^e^r,3395469782]}function Ve(t){var n=g(t),e=lt(n,0),r=lt(n,102072);return 0==e&&(0==r||1==r)&&(e^=319790063,r^=-1801410264),[e,r]}function jn(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",e=Ve(t);if(n){var r=Ve(n);e=mn(ar(e,1),r)}var i=e[0],o=e[1];return ae(2147483647&i,o)}function lt(t,n){var i,e=2654435769,r=2654435769,o=t.length;for(i=0;i+12<=o;i+=12){var a=Ze(e=Ae(e,M(t,i,Ye.Little)),r=Ae(r,M(t,i+4,Ye.Little)),n=Ae(n,M(t,i+8,Ye.Little)));e=a[0],r=a[1],n=a[2]}return e=Ae(e,M(t,i,Ye.Little)),r=Ae(r,M(t,i+4,Ye.Little)),n=Ae(n,o),Ze(e,r,n=Ae(n,M(t,i+8,Ye.Little)<<8))[2]}function Ze(t,n,e){return t=Bt(t,n),t=Bt(t,e),t^=e>>>13,n=Bt(n,e),n=Bt(n,t),n^=t<<8,e=Bt(e,t),e=Bt(e,n),e^=n>>>13,t=Bt(t,n),t=Bt(t,e),t^=e>>>12,n=Bt(n,e),n=Bt(n,t),n^=t<<16,e=Bt(e,t),e=Bt(e,n),e^=n>>>5,t=Bt(t,n),t=Bt(t,e),t^=e>>>3,n=Bt(n,e),n=Bt(n,t),n^=t<<10,e=Bt(e,t),e=Bt(e,n),[t,n,e^=n>>>15]}function Ae(t,n){return vn(t,n)[1]}function vn(t,n){var e=(65535&t)+(65535&n),r=(t>>>16)+(n>>>16)+(e>>>16);return[r>>>16,r<<16|65535&e]}function mn(t,n){var e=t[0],r=t[1],i=n[0],a=vn(r,n[1]),s=a[0],u=a[1];return[Ae(Ae(e,i),s),u]}function Bt(t,n){var e=(65535&t)-(65535&n);return(t>>16)-(n>>16)+(e>>16)<<16|65535&e}function jr(t,n){return t<>>32-n}function ar(t,n){var e=t[0],r=t[1];return[e<>>32-n,r<>>32-n]}function he(t,n){return n>=t.length?0:t[n]}function M(t,n,e){var r=0;if(e===Ye.Big)for(var i=0;i<4;i++)r+=he(t,n+i)<<24-8*i;else for(var o=0;o<4;o++)r+=he(t,n+o)<<8*o;return r}!function(t){t[t.Little=0]="Little",t[t.Big=1]="Big"}(Ye||(Ye={}));var Ue,On=new pt(256);function ae(t,n){var e=On.toThePowerOf(0).multiplyBy(n);return On.toThePowerOf(4).multiplyByAndAddTo(t,e),e.toString() +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}!function(t){t[t.None=0]="None",t[t.Const=1]="Const"}(Ue||(Ue={}));var ue,ye=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ue.None;p(this,t),this.modifiers=n}return h(t,[{key:"hasModifier",value:function(e){return 0!=(this.modifiers&e)}}]),t}();!function(t){t[t.Dynamic=0]="Dynamic",t[t.Bool=1]="Bool",t[t.String=2]="String",t[t.Int=3]="Int",t[t.Number=4]="Number",t[t.Function=5]="Function",t[t.Inferred=6]="Inferred",t[t.None=7]="None"}(ue||(ue={}));var hr,ge,X=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,i)).name=r,o}return h(e,[{key:"visitType",value:function(i,o){return i.visitBuiltinType(this,o)}}]),e}(ye),ke=function(t){k(e,t);var n=S(e);function e(r,i){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return p(this,e),(o=n.call(this,i)).value=r,o.typeParams=a,o}return h(e,[{key:"visitType",value:function(i,o){return i.visitExpressionType(this,o)}}]),e}(ye),ze=new X(ue.Dynamic),Qe=new X(ue.Inferred),ht=new X(ue.Bool),gt=(new X(ue.Int),new X(ue.Number)),Sn=new X(ue.String),gn=(new X(ue.Function),new X(ue.None));function Da(t,n){return null==t||null==n?t==n:t.isEquivalent(n)}function Si(t,n,e){var r=t.length;if(r!==n.length)return!1;for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2?arguments[2]:void 0;return new uw(this,e,r,null,i)}},{key:"equals",value:function(e,r){return new Hn(ge.Equals,this,e,null,r)}},{key:"notEquals",value:function(e,r){return new Hn(ge.NotEquals,this,e,null,r)}},{key:"identical",value:function(e,r){return new Hn(ge.Identical,this,e,null,r)}},{key:"notIdentical",value:function(e,r){return new Hn(ge.NotIdentical,this,e,null,r)}},{key:"minus",value:function(e,r){return new Hn(ge.Minus,this,e,null,r)}},{key:"plus",value:function(e,r){return new Hn(ge.Plus,this,e,null,r)}},{key:"divide",value:function(e,r){return new Hn(ge.Divide,this,e,null,r)}},{key:"multiply",value:function(e,r){return new Hn(ge.Multiply,this,e,null,r)}},{key:"modulo",value:function(e,r){return new Hn(ge.Modulo,this,e,null,r)}},{key:"and",value:function(e,r){return new Hn(ge.And,this,e,null,r)}},{key:"bitwiseAnd",value:function(e,r){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return new Hn(ge.BitwiseAnd,this,e,null,r,i)}},{key:"or",value:function(e,r){return new Hn(ge.Or,this,e,null,r)}},{key:"lower",value:function(e,r){return new Hn(ge.Lower,this,e,null,r)}},{key:"lowerEquals",value:function(e,r){return new Hn(ge.LowerEquals,this,e,null,r)}},{key:"bigger",value:function(e,r){return new Hn(ge.Bigger,this,e,null,r)}},{key:"biggerEquals",value:function(e,r){return new Hn(ge.BiggerEquals,this,e,null,r)}},{key:"isBlank",value:function(e){return this.equals(tp,e)}},{key:"nullishCoalesce",value:function(e,r){return new Hn(ge.NullishCoalesce,this,e,null,r)}},{key:"toStmt",value:function(){return new ef(this,null)}}]),t}(),ro=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,i,o)).name=r,a}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.name===i.name}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitReadVarExpr(this,o)}},{key:"set",value:function(i){return new wl(this.name,i,null,this.sourceSpan)}}]),e}(Ot),Yc=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,i,o)).expr=r,a}return h(e,[{key:"visitExpression",value:function(i,o){return i.visitTypeofExpr(this,o)}},{key:"isEquivalent",value:function(i){return i instanceof e&&i.expr.isEquivalent(this.expr)}},{key:"isConstant",value:function(){return this.expr.isConstant()}}]),e}(Ot),$e=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,i,o)).node=r,a}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.node===i.node}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitWrappedNodeExpr(this,o)}}]),e}(Ot),wl=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,o||i.type,a)).name=r,s.value=i,s}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.name===i.name&&this.value.isEquivalent(i.value)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitWriteVarExpr(this,o)}},{key:"toDeclStmt",value:function(i,o){return new xl(this.name,this.value,i,o,this.sourceSpan)}},{key:"toConstDecl",value:function(){return this.toDeclStmt(Qe,io.Final)}}]),e}(Ot),Qd=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,a||o.type,s)).receiver=r,u.index=i,u.value=o,u}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.receiver.isEquivalent(i.receiver)&&this.index.isEquivalent(i.index)&&this.value.isEquivalent(i.value)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitWriteKeyExpr(this,o)}}]),e}(Ot),Jd=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,a||o.type,s)).receiver=r,u.name=i,u.value=o,u}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.receiver.isEquivalent(i.receiver)&&this.name===i.name&&this.value.isEquivalent(i.value)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitWritePropExpr(this,o)}}]),e}(Ot),Ro=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s,u=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return p(this,e),(s=n.call(this,o,a)).fn=r,s.args=i,s.pure=u,s}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.fn.isEquivalent(i.fn)&&sr(this.args,i.args)&&this.pure===i.pure}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitInvokeFunctionExpr(this,o)}}]),e}(Ot),Fo=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,o,a)).tag=r,s.template=i,s}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.tag.isEquivalent(i.tag)&&Si(this.template.elements,i.template.elements,function(o,a){return o.text===a.text})&&sr(this.template.expressions,i.template.expressions)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitTaggedTemplateExpr(this,o)}}]),e}(Ot),zh=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,o,a)).classExpr=r,s.args=i,s}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.classExpr.isEquivalent(i.classExpr)&&sr(this.args,i.args)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitInstantiateExpr(this,o)}}]),e}(Ot),ls=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,i,o)).value=r,a}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.value===i.value}},{key:"isConstant",value:function(){return!0}},{key:"visitExpression",value:function(i,o){return i.visitLiteralExpr(this,o)}}]),e}(Ot),Lg=h(function t(n,e){p(this,t),this.elements=n,this.expressions=e}),Bg=h(function t(n,e,r){var i;p(this,t),this.text=n,this.sourceSpan=e,this.rawText=null!==(i=null!=r?r:null==e?void 0:e.toString())&&void 0!==i?i:Vg($h(n))}),Qc=h(function t(n,e){p(this,t),this.text=n,this.sourceSpan=e}),ep=h(function t(n,e,r){p(this,t),this.text=n,this.sourceSpan=e,this.associatedMessage=r}),aw=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,Sn,s)).metaBlock=r,u.messageParts=i,u.placeHolderNames=o,u.expressions=a,u}return h(e,[{key:"isEquivalent",value:function(i){return!1}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitLocalizedString(this,o)}},{key:"serializeI18nHead",value:function(){var i=this.metaBlock.description||"";return this.metaBlock.meaning&&(i="".concat(this.metaBlock.meaning).concat("|").concat(i)),this.metaBlock.customId&&(i="".concat(i).concat("@@").concat(this.metaBlock.customId)),this.metaBlock.legacyIds&&this.metaBlock.legacyIds.forEach(function(o){i="".concat(i).concat("\u241f").concat(o)}),sw(i,this.messageParts[0].text,this.getMessagePartSourceSpan(0))}},{key:"getMessagePartSourceSpan",value:function(i){var o,a;return null!==(a=null===(o=this.messageParts[i])||void 0===o?void 0:o.sourceSpan)&&void 0!==a?a:this.sourceSpan}},{key:"getPlaceholderSourceSpan",value:function(i){var o,a,s,u;return null!==(u=null!==(a=null===(o=this.placeHolderNames[i])||void 0===o?void 0:o.sourceSpan)&&void 0!==a?a:null===(s=this.expressions[i])||void 0===s?void 0:s.sourceSpan)&&void 0!==u?u:this.sourceSpan}},{key:"serializeI18nTemplatePart",value:function(i){var o,a=this.placeHolderNames[i-1],s=this.messageParts[i],u=a.text;return 0===(null===(o=a.associatedMessage)||void 0===o?void 0:o.legacyIds.length)&&(u+="".concat("@@").concat(jn(a.associatedMessage.messageString,a.associatedMessage.meaning))),sw(u,s.text,this.getMessagePartSourceSpan(i))}}]),e}(Ot),$h=function(n){return n.replace(/\\/g,"\\\\")},HM=function(n){return n.replace(/^:/,"\\:")},UM=function(n){return n.replace(/:/g,"\\:")},Vg=function(n){return n.replace(/`/g,"\\`").replace(/\${/g,"$\\{")};function sw(t,n,e){return""===t?{cooked:n,raw:Vg(HM($h(n))),range:e}:{cooked:":".concat(t,":").concat(n),raw:Vg(":".concat(UM($h(t)),":").concat($h(n))),range:e}}var io,jg=function(t){k(e,t);var n=S(e);function e(r,i){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3?arguments[3]:void 0;return p(this,e),(o=n.call(this,i,s)).value=r,o.typeParams=a,o}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.value.name===i.value.name&&this.value.moduleName===i.value.moduleName&&this.value.runtime===i.value.runtime}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitExternalExpr(this,o)}}]),e}(Ot),uw=function(t){k(e,t);var n=S(e);function e(r,i){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3?arguments[3]:void 0,u=arguments.length>4?arguments[4]:void 0;return p(this,e),(o=n.call(this,s||i.type,u)).condition=r,o.falseCase=a,o.trueCase=i,o}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.condition.isEquivalent(i.condition)&&this.trueCase.isEquivalent(i.trueCase)&&Da(this.falseCase,i.falseCase)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitConditionalExpr(this,o)}}]),e}(Ot),lw=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,ht,i)).condition=r,o}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.condition.isEquivalent(i.condition)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitNotExpr(this,o)}}]),e}(Ot),qi=function(){function t(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;p(this,t),this.name=n,this.type=e}return h(t,[{key:"isEquivalent",value:function(e){return this.name===e.name}}]),t}(),Wh=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,o,a)).params=r,u.statements=i,u.name=s,u}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&sr(this.params,i.params)&&sr(this.statements,i.statements)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitFunctionExpr(this,o)}},{key:"toDeclStmt",value:function(i,o){return new fw(i,this.params,this.statements,this.type,o,this.sourceSpan)}}]),e}(Ot),Hg=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s,u=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return p(this,e),(s=n.call(this,o||gt,a)).operator=r,s.expr=i,s.parens=u,s}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.operator===i.operator&&this.expr.isEquivalent(i.expr)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitUnaryOperatorExpr(this,o)}}]),e}(Ot),Hn=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u,l=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];return p(this,e),(u=n.call(this,a||i.type,s)).operator=r,u.rhs=o,u.parens=l,u.lhs=i,u}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.operator===i.operator&&this.lhs.isEquivalent(i.lhs)&&this.rhs.isEquivalent(i.rhs)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitBinaryOperatorExpr(this,o)}}]),e}(Ot),Ug=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,o,a)).receiver=r,s.name=i,s}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.receiver.isEquivalent(i.receiver)&&this.name===i.name}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitReadPropExpr(this,o)}},{key:"set",value:function(i){return new Jd(this.receiver,this.name,i,null,this.sourceSpan)}}]),e}(Ot),cw=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,o,a)).receiver=r,s.index=i,s}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.receiver.isEquivalent(i.receiver)&&this.index.isEquivalent(i.index)}},{key:"isConstant",value:function(){return!1}},{key:"visitExpression",value:function(i,o){return i.visitReadKeyExpr(this,o)}},{key:"set",value:function(i){return new Qd(this.receiver,this.index,i,null,this.sourceSpan)}}]),e}(Ot),Kh=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,i,o)).entries=r,a}return h(e,[{key:"isConstant",value:function(){return this.entries.every(function(i){return i.isConstant()})}},{key:"isEquivalent",value:function(i){return i instanceof e&&sr(this.entries,i.entries)}},{key:"visitExpression",value:function(i,o){return i.visitLiteralArrayExpr(this,o)}}]),e}(Ot),qg=function(){function t(n,e,r){p(this,t),this.key=n,this.value=e,this.quoted=r}return h(t,[{key:"isEquivalent",value:function(e){return this.key===e.key&&this.value.isEquivalent(e.value)}}]),t}(),Gg=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,i,o)).entries=r,a.valueType=null,i&&(a.valueType=i.valueType),a}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&sr(this.entries,i.entries)}},{key:"isConstant",value:function(){return this.entries.every(function(i){return i.value.isConstant()})}},{key:"visitExpression",value:function(i,o){return i.visitLiteralMapExpr(this,o)}}]),e}(Ot),Zh=new ls(null,null,null),tp=new ls(null,Qe,null);!function(t){t[t.None=0]="None",t[t.Final=1]="Final",t[t.Private=2]="Private",t[t.Exported=4]="Exported",t[t.Static=8]="Static"}(io||(io={}));var zg=function(){function t(n,e,r){p(this,t),this.text=n,this.multiline=e,this.trailingNewline=r}return h(t,[{key:"toString",value:function(){return this.multiline?" ".concat(this.text," "):this.text}}]),t}(),$g=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this,"",!0,!0)).tags=r,i}return h(e,[{key:"toString",value:function(){return function ZM(t){if(0===t.length)return"";if(1===t.length&&t[0].tagName&&!t[0].text)return"*".concat(mw(t[0])," ");var r,n="*\n",e=Me(t);try{for(e.s();!(r=e.n()).done;){var i=r.value;n+=" *",n+=mw(i).replace(/\n/g,"\n * "),n+="\n"}}catch(o){e.e(o)}finally{e.f()}return n+" "}(this.tags)}}]),e}(zg),Jc=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:io.None,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2?arguments[2]:void 0;p(this,t),this.modifiers=n,this.sourceSpan=e,this.leadingComments=r}return h(t,[{key:"hasModifier",value:function(e){return 0!=(this.modifiers&e)}},{key:"addLeadingComment",value:function(e){var r;this.leadingComments=null!==(r=this.leadingComments)&&void 0!==r?r:[],this.leadingComments.push(e)}}]),t}(),xl=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s,u){var l;return p(this,e),(l=n.call(this,a,s,u)).name=r,l.value=i,l.type=o||i&&i.type||null,l}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.name===i.name&&(this.value?!!i.value&&this.value.isEquivalent(i.value):!i.value)}},{key:"visitStatement",value:function(i,o){return i.visitDeclareVarStmt(this,o)}}]),e}(Jc),fw=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s,u,l){var c;return p(this,e),(c=n.call(this,s,u,l)).name=r,c.params=i,c.statements=o,c.type=a||null,c}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&sr(this.params,i.params)&&sr(this.statements,i.statements)}},{key:"visitStatement",value:function(i,o){return i.visitDeclareFunctionStmt(this,o)}}]),e}(Jc),ef=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,io.None,i,o)).expr=r,a}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.expr.isEquivalent(i.expr)}},{key:"visitStatement",value:function(i,o){return i.visitExpressionStmt(this,o)}}]),e}(Jc),Ti=function(t){k(e,t);var n=S(e);function e(r){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2?arguments[2]:void 0;return p(this,e),(i=n.call(this,io.None,o,a)).value=r,i}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.value.isEquivalent(i.value)}},{key:"visitStatement",value:function(i,o){return i.visitReturnStmt(this,o)}}]),e}(Jc),dw=function(t){k(e,t);var n=S(e);function e(r,i){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],s=arguments.length>3?arguments[3]:void 0,u=arguments.length>4?arguments[4]:void 0;return p(this,e),(o=n.call(this,io.None,s,u)).condition=r,o.trueCase=i,o.falseCase=a,o}return h(e,[{key:"isEquivalent",value:function(i){return i instanceof e&&this.condition.isEquivalent(i.condition)&&sr(this.trueCase,i.trueCase)&&sr(this.falseCase,i.falseCase)}},{key:"visitStatement",value:function(i,o){return i.visitIfStmt(this,o)}}]),e}(Jc);function pw(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return new $g(t)}function wt(t,n,e){return new ro(t,n,e)}function _e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,e=arguments.length>2?arguments[2]:void 0;return new jg(t,null,n,e)}function yo(t,n,e){return new ke(t,n,e)}function Wg(t){return new Yc(t)}function kt(t,n,e){return new Kh(t,n,e)}function Gi(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return new Gg(t.map(function(e){return new qg(e.key,e.value,e.quoted)}),n,null)}function hw(t,n){return new lw(t,n)}function Xr(t,n,e,r,i){return new Wh(t,n,e,r,i)}function Xh(t,n,e,r,i){return new dw(t,n,e,r,i)}function Kg(t,n,e,r){return new Fo(t,n,e,r)}function H(t,n,e){return new ls(t,n,e)}function vw(t,n,e,r,i){return new aw(t,n,e,r,i)}function Zg(t){return t instanceof ls&&null===t.value}function mw(t){var n="";if(t.tagName&&(n+=" @".concat(t.tagName)),t.text){if(t.text.match(/\/\*|\*\//))throw new Error('JSDoc text cannot contain "/*" and "*/"');n+=" "+t.text.replace(/@/g,"\\@")}return n}var gw=wt(""),yw={},_w=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this,r.type)).resolved=r,i.original=r,i}return h(e,[{key:"visitExpression",value:function(i,o){return o===yw?this.original.visitExpression(i,o):this.resolved.visitExpression(i,o)}},{key:"isEquivalent",value:function(i){return i instanceof e&&this.resolved.isEquivalent(i.resolved)}},{key:"isConstant",value:function(){return!0}},{key:"fixup",value:function(i){this.resolved=i,this.shared=!0}}]),e}(Ot),Cw=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];p(this,t),this.isClosureCompilerEnabled=n,this.statements=[],this.literals=new Map,this.literalFactories=new Map,this.nextNameIndex=0}return h(t,[{key:"getConstLiteral",value:function(e,r){if(e instanceof ls&&!bw(e)||e instanceof _w)return e;var i=this.keyOf(e),o=this.literals.get(i),a=!1;if(o||(o=new _w(e),this.literals.set(i,o),a=!0),!a&&!o.shared||a&&r){var u,l,s=this.freshName();this.isClosureCompilerEnabled&&bw(e)?(u=wt(s).set(new Wh([],[new Ti(e)])),l=wt(s).callFn([])):(u=wt(s).set(e),l=wt(s)),this.statements.push(u.toDeclStmt(Qe,io.Final)),o.fixup(l)}return o}},{key:"getLiteralFactory",value:function(e){if(e instanceof Kh){var r=e.entries.map(function(s){return s.isConstant()?s:gw}),i=this.keyOf(kt(r));return this._getLiteralFactory(i,e.entries,function(s){return kt(s)})}var o=Gi(e.entries.map(function(s){return{key:s.key,value:s.value.isConstant()?s.value:gw,quoted:s.quoted}})),a=this.keyOf(o);return this._getLiteralFactory(a,e.entries.map(function(s){return s.value}),function(s){return Gi(s.map(function(u,l){return{key:e.entries[l].key,value:u,quoted:e.entries[l].quoted}}))})}},{key:"_getLiteralFactory",value:function(e,r,i){var o=this,a=this.literalFactories.get(e),s=r.filter(function(d){return!d.isConstant()});if(!a){var u=r.map(function(d,v){return d.isConstant()?o.getConstLiteral(d,!0):wt("a".concat(v))}),c=Xr(u.filter(JM).map(function(d){return new qi(d.name,ze)}),[new Ti(i(u))],Qe),f=this.freshName();this.statements.push(wt(f).set(c).toDeclStmt(Qe,io.Final)),a=wt(f),this.literalFactories.set(e,a)}return{literalFactory:a,literalFactoryArguments:s}}},{key:"uniqueName",value:function(e){return"".concat(e).concat(this.nextNameIndex++)}},{key:"freshName",value:function(){return this.uniqueName("_c")}},{key:"keyOf",value:function(e){return e.visitExpression(new QM,yw)}}]),t}(),QM=function(){function t(){p(this,t),this.visitWrappedNodeExpr=Hr,this.visitWriteVarExpr=Hr,this.visitWriteKeyExpr=Hr,this.visitWritePropExpr=Hr,this.visitInvokeFunctionExpr=Hr,this.visitTaggedTemplateExpr=Hr,this.visitInstantiateExpr=Hr,this.visitConditionalExpr=Hr,this.visitNotExpr=Hr,this.visitAssertNotNullExpr=Hr,this.visitCastExpr=Hr,this.visitFunctionExpr=Hr,this.visitUnaryOperatorExpr=Hr,this.visitBinaryOperatorExpr=Hr,this.visitReadPropExpr=Hr,this.visitReadKeyExpr=Hr,this.visitCommaExpr=Hr,this.visitLocalizedString=Hr}return h(t,[{key:"visitLiteralExpr",value:function(e){return"".concat("string"==typeof e.value?'"'+e.value+'"':e.value)}},{key:"visitLiteralArrayExpr",value:function(e,r){var i=this;return"[".concat(e.entries.map(function(o){return o.visitExpression(i,r)}).join(","),"]")}},{key:"visitLiteralMapExpr",value:function(e,r){var i=this;return"{".concat(e.entries.map(function(u){return"".concat(function(u){var l=u.quoted?'"':"";return"".concat(l).concat(u.key).concat(l)}(u),":").concat(u.value.visitExpression(i,r))}).join(","))}},{key:"visitExternalExpr",value:function(e){return e.value.moduleName?"EX:".concat(e.value.moduleName,":").concat(e.value.name):"EX:".concat(e.value.runtime.name)}},{key:"visitReadVarExpr",value:function(e){return"VAR:".concat(e.name)}},{key:"visitTypeofExpr",value:function(e,r){return"TYPEOF:".concat(e.expr.visitExpression(this,r))}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Hr(t){throw new Error("Invalid state: Visitor ".concat(this.constructor.name," doesn't handle ").concat(t.constructor.name))}function JM(t){return t instanceof ro}function bw(t){return t instanceof ls&&"string"==typeof t.value&&t.value.length>=50} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var F="@angular/core",m=h(function t(){p(this,t)});m.NEW_METHOD="factory",m.TRANSFORM_METHOD="transform",m.PATCH_DEPS="patchedDeps",m.core={name:null,moduleName:F},m.namespaceHTML={name:"\u0275\u0275namespaceHTML",moduleName:F},m.namespaceMathML={name:"\u0275\u0275namespaceMathML",moduleName:F},m.namespaceSVG={name:"\u0275\u0275namespaceSVG",moduleName:F},m.element={name:"\u0275\u0275element",moduleName:F},m.elementStart={name:"\u0275\u0275elementStart",moduleName:F},m.elementEnd={name:"\u0275\u0275elementEnd",moduleName:F},m.advance={name:"\u0275\u0275advance",moduleName:F},m.syntheticHostProperty={name:"\u0275\u0275syntheticHostProperty",moduleName:F},m.syntheticHostListener={name:"\u0275\u0275syntheticHostListener",moduleName:F},m.attribute={name:"\u0275\u0275attribute",moduleName:F},m.attributeInterpolate1={name:"\u0275\u0275attributeInterpolate1",moduleName:F},m.attributeInterpolate2={name:"\u0275\u0275attributeInterpolate2",moduleName:F},m.attributeInterpolate3={name:"\u0275\u0275attributeInterpolate3",moduleName:F},m.attributeInterpolate4={name:"\u0275\u0275attributeInterpolate4",moduleName:F},m.attributeInterpolate5={name:"\u0275\u0275attributeInterpolate5",moduleName:F},m.attributeInterpolate6={name:"\u0275\u0275attributeInterpolate6",moduleName:F},m.attributeInterpolate7={name:"\u0275\u0275attributeInterpolate7",moduleName:F},m.attributeInterpolate8={name:"\u0275\u0275attributeInterpolate8",moduleName:F},m.attributeInterpolateV={name:"\u0275\u0275attributeInterpolateV",moduleName:F},m.classProp={name:"\u0275\u0275classProp",moduleName:F},m.elementContainerStart={name:"\u0275\u0275elementContainerStart",moduleName:F},m.elementContainerEnd={name:"\u0275\u0275elementContainerEnd",moduleName:F},m.elementContainer={name:"\u0275\u0275elementContainer",moduleName:F},m.styleMap={name:"\u0275\u0275styleMap",moduleName:F},m.styleMapInterpolate1={name:"\u0275\u0275styleMapInterpolate1",moduleName:F},m.styleMapInterpolate2={name:"\u0275\u0275styleMapInterpolate2",moduleName:F},m.styleMapInterpolate3={name:"\u0275\u0275styleMapInterpolate3",moduleName:F},m.styleMapInterpolate4={name:"\u0275\u0275styleMapInterpolate4",moduleName:F},m.styleMapInterpolate5={name:"\u0275\u0275styleMapInterpolate5",moduleName:F},m.styleMapInterpolate6={name:"\u0275\u0275styleMapInterpolate6",moduleName:F},m.styleMapInterpolate7={name:"\u0275\u0275styleMapInterpolate7",moduleName:F},m.styleMapInterpolate8={name:"\u0275\u0275styleMapInterpolate8",moduleName:F},m.styleMapInterpolateV={name:"\u0275\u0275styleMapInterpolateV",moduleName:F},m.classMap={name:"\u0275\u0275classMap",moduleName:F},m.classMapInterpolate1={name:"\u0275\u0275classMapInterpolate1",moduleName:F},m.classMapInterpolate2={name:"\u0275\u0275classMapInterpolate2",moduleName:F},m.classMapInterpolate3={name:"\u0275\u0275classMapInterpolate3",moduleName:F},m.classMapInterpolate4={name:"\u0275\u0275classMapInterpolate4",moduleName:F},m.classMapInterpolate5={name:"\u0275\u0275classMapInterpolate5",moduleName:F},m.classMapInterpolate6={name:"\u0275\u0275classMapInterpolate6",moduleName:F},m.classMapInterpolate7={name:"\u0275\u0275classMapInterpolate7",moduleName:F},m.classMapInterpolate8={name:"\u0275\u0275classMapInterpolate8",moduleName:F},m.classMapInterpolateV={name:"\u0275\u0275classMapInterpolateV",moduleName:F},m.styleProp={name:"\u0275\u0275styleProp",moduleName:F},m.stylePropInterpolate1={name:"\u0275\u0275stylePropInterpolate1",moduleName:F},m.stylePropInterpolate2={name:"\u0275\u0275stylePropInterpolate2",moduleName:F},m.stylePropInterpolate3={name:"\u0275\u0275stylePropInterpolate3",moduleName:F},m.stylePropInterpolate4={name:"\u0275\u0275stylePropInterpolate4",moduleName:F},m.stylePropInterpolate5={name:"\u0275\u0275stylePropInterpolate5",moduleName:F},m.stylePropInterpolate6={name:"\u0275\u0275stylePropInterpolate6",moduleName:F},m.stylePropInterpolate7={name:"\u0275\u0275stylePropInterpolate7",moduleName:F},m.stylePropInterpolate8={name:"\u0275\u0275stylePropInterpolate8",moduleName:F},m.stylePropInterpolateV={name:"\u0275\u0275stylePropInterpolateV",moduleName:F},m.nextContext={name:"\u0275\u0275nextContext",moduleName:F},m.templateCreate={name:"\u0275\u0275template",moduleName:F},m.text={name:"\u0275\u0275text",moduleName:F},m.enableBindings={name:"\u0275\u0275enableBindings",moduleName:F},m.disableBindings={name:"\u0275\u0275disableBindings",moduleName:F},m.getCurrentView={name:"\u0275\u0275getCurrentView",moduleName:F},m.textInterpolate={name:"\u0275\u0275textInterpolate",moduleName:F},m.textInterpolate1={name:"\u0275\u0275textInterpolate1",moduleName:F},m.textInterpolate2={name:"\u0275\u0275textInterpolate2",moduleName:F},m.textInterpolate3={name:"\u0275\u0275textInterpolate3",moduleName:F},m.textInterpolate4={name:"\u0275\u0275textInterpolate4",moduleName:F},m.textInterpolate5={name:"\u0275\u0275textInterpolate5",moduleName:F},m.textInterpolate6={name:"\u0275\u0275textInterpolate6",moduleName:F},m.textInterpolate7={name:"\u0275\u0275textInterpolate7",moduleName:F},m.textInterpolate8={name:"\u0275\u0275textInterpolate8",moduleName:F},m.textInterpolateV={name:"\u0275\u0275textInterpolateV",moduleName:F},m.restoreView={name:"\u0275\u0275restoreView",moduleName:F},m.pureFunction0={name:"\u0275\u0275pureFunction0",moduleName:F},m.pureFunction1={name:"\u0275\u0275pureFunction1",moduleName:F},m.pureFunction2={name:"\u0275\u0275pureFunction2",moduleName:F},m.pureFunction3={name:"\u0275\u0275pureFunction3",moduleName:F},m.pureFunction4={name:"\u0275\u0275pureFunction4",moduleName:F},m.pureFunction5={name:"\u0275\u0275pureFunction5",moduleName:F},m.pureFunction6={name:"\u0275\u0275pureFunction6",moduleName:F},m.pureFunction7={name:"\u0275\u0275pureFunction7",moduleName:F},m.pureFunction8={name:"\u0275\u0275pureFunction8",moduleName:F},m.pureFunctionV={name:"\u0275\u0275pureFunctionV",moduleName:F},m.pipeBind1={name:"\u0275\u0275pipeBind1",moduleName:F},m.pipeBind2={name:"\u0275\u0275pipeBind2",moduleName:F},m.pipeBind3={name:"\u0275\u0275pipeBind3",moduleName:F},m.pipeBind4={name:"\u0275\u0275pipeBind4",moduleName:F},m.pipeBindV={name:"\u0275\u0275pipeBindV",moduleName:F},m.hostProperty={name:"\u0275\u0275hostProperty",moduleName:F},m.property={name:"\u0275\u0275property",moduleName:F},m.propertyInterpolate={name:"\u0275\u0275propertyInterpolate",moduleName:F},m.propertyInterpolate1={name:"\u0275\u0275propertyInterpolate1",moduleName:F},m.propertyInterpolate2={name:"\u0275\u0275propertyInterpolate2",moduleName:F},m.propertyInterpolate3={name:"\u0275\u0275propertyInterpolate3",moduleName:F},m.propertyInterpolate4={name:"\u0275\u0275propertyInterpolate4",moduleName:F},m.propertyInterpolate5={name:"\u0275\u0275propertyInterpolate5",moduleName:F},m.propertyInterpolate6={name:"\u0275\u0275propertyInterpolate6",moduleName:F},m.propertyInterpolate7={name:"\u0275\u0275propertyInterpolate7",moduleName:F},m.propertyInterpolate8={name:"\u0275\u0275propertyInterpolate8",moduleName:F},m.propertyInterpolateV={name:"\u0275\u0275propertyInterpolateV",moduleName:F},m.i18n={name:"\u0275\u0275i18n",moduleName:F},m.i18nAttributes={name:"\u0275\u0275i18nAttributes",moduleName:F},m.i18nExp={name:"\u0275\u0275i18nExp",moduleName:F},m.i18nStart={name:"\u0275\u0275i18nStart",moduleName:F},m.i18nEnd={name:"\u0275\u0275i18nEnd",moduleName:F},m.i18nApply={name:"\u0275\u0275i18nApply",moduleName:F},m.i18nPostprocess={name:"\u0275\u0275i18nPostprocess",moduleName:F},m.pipe={name:"\u0275\u0275pipe",moduleName:F},m.projection={name:"\u0275\u0275projection",moduleName:F},m.projectionDef={name:"\u0275\u0275projectionDef",moduleName:F},m.reference={name:"\u0275\u0275reference",moduleName:F},m.inject={name:"\u0275\u0275inject",moduleName:F},m.injectAttribute={name:"\u0275\u0275injectAttribute",moduleName:F},m.directiveInject={name:"\u0275\u0275directiveInject",moduleName:F},m.invalidFactory={name:"\u0275\u0275invalidFactory",moduleName:F},m.invalidFactoryDep={name:"\u0275\u0275invalidFactoryDep",moduleName:F},m.templateRefExtractor={name:"\u0275\u0275templateRefExtractor",moduleName:F},m.forwardRef={name:"forwardRef",moduleName:F},m.resolveForwardRef={name:"resolveForwardRef",moduleName:F},m.\u0275\u0275defineInjectable={name:"\u0275\u0275defineInjectable",moduleName:F},m.declareInjectable={name:"\u0275\u0275ngDeclareInjectable",moduleName:F},m.InjectableDeclaration={name:"\u0275\u0275InjectableDeclaration",moduleName:F},m.resolveWindow={name:"\u0275\u0275resolveWindow",moduleName:F},m.resolveDocument={name:"\u0275\u0275resolveDocument",moduleName:F},m.resolveBody={name:"\u0275\u0275resolveBody",moduleName:F},m.defineComponent={name:"\u0275\u0275defineComponent",moduleName:F},m.declareComponent={name:"\u0275\u0275ngDeclareComponent",moduleName:F},m.setComponentScope={name:"\u0275\u0275setComponentScope",moduleName:F},m.ChangeDetectionStrategy={name:"ChangeDetectionStrategy",moduleName:F},m.ViewEncapsulation={name:"ViewEncapsulation",moduleName:F},m.ComponentDeclaration={name:"\u0275\u0275ComponentDeclaration",moduleName:F},m.FactoryDeclaration={name:"\u0275\u0275FactoryDeclaration",moduleName:F},m.declareFactory={name:"\u0275\u0275ngDeclareFactory",moduleName:F},m.FactoryTarget={name:"\u0275\u0275FactoryTarget",moduleName:F},m.defineDirective={name:"\u0275\u0275defineDirective",moduleName:F},m.declareDirective={name:"\u0275\u0275ngDeclareDirective",moduleName:F},m.DirectiveDeclaration={name:"\u0275\u0275DirectiveDeclaration",moduleName:F},m.InjectorDef={name:"\u0275\u0275InjectorDef",moduleName:F},m.InjectorDeclaration={name:"\u0275\u0275InjectorDeclaration",moduleName:F},m.defineInjector={name:"\u0275\u0275defineInjector",moduleName:F},m.declareInjector={name:"\u0275\u0275ngDeclareInjector",moduleName:F},m.NgModuleDeclaration={name:"\u0275\u0275NgModuleDeclaration",moduleName:F},m.ModuleWithProviders={name:"ModuleWithProviders",moduleName:F},m.defineNgModule={name:"\u0275\u0275defineNgModule",moduleName:F},m.declareNgModule={name:"\u0275\u0275ngDeclareNgModule",moduleName:F},m.setNgModuleScope={name:"\u0275\u0275setNgModuleScope",moduleName:F},m.PipeDeclaration={name:"\u0275\u0275PipeDeclaration",moduleName:F},m.definePipe={name:"\u0275\u0275definePipe",moduleName:F},m.declarePipe={name:"\u0275\u0275ngDeclarePipe",moduleName:F},m.declareClassMetadata={name:"\u0275\u0275ngDeclareClassMetadata",moduleName:F},m.setClassMetadata={name:"\u0275setClassMetadata",moduleName:F},m.queryRefresh={name:"\u0275\u0275queryRefresh",moduleName:F},m.viewQuery={name:"\u0275\u0275viewQuery",moduleName:F},m.loadQuery={name:"\u0275\u0275loadQuery",moduleName:F},m.contentQuery={name:"\u0275\u0275contentQuery",moduleName:F},m.NgOnChangesFeature={name:"\u0275\u0275NgOnChangesFeature",moduleName:F},m.InheritDefinitionFeature={name:"\u0275\u0275InheritDefinitionFeature",moduleName:F},m.CopyDefinitionFeature={name:"\u0275\u0275CopyDefinitionFeature",moduleName:F},m.ProvidersFeature={name:"\u0275\u0275ProvidersFeature",moduleName:F},m.listener={name:"\u0275\u0275listener",moduleName:F},m.getInheritedFactory={name:"\u0275\u0275getInheritedFactory",moduleName:F},m.sanitizeHtml={name:"\u0275\u0275sanitizeHtml",moduleName:F},m.sanitizeStyle={name:"\u0275\u0275sanitizeStyle",moduleName:F},m.sanitizeResourceUrl={name:"\u0275\u0275sanitizeResourceUrl",moduleName:F},m.sanitizeScript={name:"\u0275\u0275sanitizeScript",moduleName:F},m.sanitizeUrl={name:"\u0275\u0275sanitizeUrl",moduleName:F},m.sanitizeUrlOrResourceUrl={name:"\u0275\u0275sanitizeUrlOrResourceUrl",moduleName:F},m.trustConstantHtml={name:"\u0275\u0275trustConstantHtml",moduleName:F},m.trustConstantResourceUrl={name:"\u0275\u0275trustConstantResourceUrl",moduleName:F}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var nN=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;p(this,t),this.file=n,this.sourcesContent=new Map,this.lines=[],this.lastCol0=0,this.hasMappings=!1}return h(t,[{key:"addSource",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.sourcesContent.has(e)||this.sourcesContent.set(e,r),this}},{key:"addLine",value:function(){return this.lines.push([]),this.lastCol0=0,this}},{key:"addMapping",value:function(e,r,i,o){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(null!=r&&!this.sourcesContent.has(r))throw new Error('Unknown source file "'.concat(r,'"'));if(null==e)throw new Error("The column in the generated code must be provided");if(e>2),n+=np((3&i)<<4|(null===o?0:o>>4)),n+=null===o?"=":np((15&o)<<2|(null===a?0:a>>6)),n+=null===o||null===a?"=":np(63&a)}return n}(JSON.stringify(this,null,0)):""}}]),t}();function Yh(t){t=t<0?1+(-t<<1):t<<1;var n="";do{var e=31&t;(t>>=5)>0&&(e|=32),n+=np(e)}while(t>0);return n}function np(t){if(t<0||t>=64)throw new Error("Can only encode value in the range [0, 63]");return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[t]} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var oN=/'|\\|\n|\r|\$/g,aN=/^[$A-Z_][0-9A-Z_$]*$/i,Ew=h(function t(n){p(this,t),this.indent=n,this.partsLength=0,this.parts=[],this.srcSpans=[]}),sN=function(){function t(n){p(this,t),this._indent=n,this._lines=[new Ew(n)]}return h(t,[{key:"_currentLine",get:function(){return this._lines[this._lines.length-1]}},{key:"println",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.print(e||null,r,!0)}},{key:"lineIsEmpty",value:function(){return 0===this._currentLine.parts.length}},{key:"lineLength",value:function(){return this._currentLine.indent*" ".length+this._currentLine.partsLength}},{key:"print",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];r.length>0&&(this._currentLine.parts.push(r),this._currentLine.partsLength+=r.length,this._currentLine.srcSpans.push(e&&e.sourceSpan||null)),i&&this._lines.push(new Ew(this._indent))}},{key:"removeEmptyLastLine",value:function(){this.lineIsEmpty()&&this._lines.pop()}},{key:"incIndent",value:function(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}},{key:"decIndent",value:function(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}},{key:"toSource",value:function(){return this.sourceLines.map(function(e){return e.parts.length>0?ww(e.indent)+e.parts.join(""):""}).join("\n")}},{key:"toSourceMapGenerator",value:function(e){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=new nN(e),o=!1,a=function(){o||(i.addSource(e," ").addMapping(0,e,0,0),o=!0)},s=0;so)return i.srcSpans[a];o-=s.length}return null}},{key:"sourceLines",get:function(){return this._lines.length&&0===this._lines[this._lines.length-1].parts.length?this._lines.slice(0,-1):this._lines}}],[{key:"createRoot",value:function(){return new t(0)}}]),t}(),uN=function(){function t(n){p(this,t),this._escapeDollarInStrings=n}return h(t,[{key:"printLeadingComments",value:function(e,r){if(void 0!==e.leadingComments){var o,i=Me(e.leadingComments);try{for(i.s();!(o=i.n()).done;){var a=o.value;a instanceof $g?r.print(e,"/*".concat(a.toString(),"*/"),a.trailingNewline):a.multiline?r.print(e,"/* ".concat(a.text," */"),a.trailingNewline):a.text.split("\n").forEach(function(s){r.println(e,"// ".concat(s))})}}catch(s){i.e(s)}finally{i.f()}}}},{key:"visitExpressionStmt",value:function(e,r){return this.printLeadingComments(e,r),e.expr.visitExpression(this,r),r.println(e,";"),null}},{key:"visitReturnStmt",value:function(e,r){return this.printLeadingComments(e,r),r.print(e,"return "),e.value.visitExpression(this,r),r.println(e,";"),null}},{key:"visitIfStmt",value:function(e,r){this.printLeadingComments(e,r),r.print(e,"if ("),e.condition.visitExpression(this,r),r.print(e,") {");var i=null!=e.falseCase&&e.falseCase.length>0;return e.trueCase.length<=1&&!i?(r.print(e," "),this.visitAllStatements(e.trueCase,r),r.removeEmptyLastLine(),r.print(e," ")):(r.println(),r.incIndent(),this.visitAllStatements(e.trueCase,r),r.decIndent(),i&&(r.println(e,"} else {"),r.incIndent(),this.visitAllStatements(e.falseCase,r),r.decIndent())),r.println(e,"}"),null}},{key:"visitWriteVarExpr",value:function(e,r){var i=r.lineIsEmpty();return i||r.print(e,"("),r.print(e,"".concat(e.name," = ")),e.value.visitExpression(this,r),i||r.print(e,")"),null}},{key:"visitWriteKeyExpr",value:function(e,r){var i=r.lineIsEmpty();return i||r.print(e,"("),e.receiver.visitExpression(this,r),r.print(e,"["),e.index.visitExpression(this,r),r.print(e,"] = "),e.value.visitExpression(this,r),i||r.print(e,")"),null}},{key:"visitWritePropExpr",value:function(e,r){var i=r.lineIsEmpty();return i||r.print(e,"("),e.receiver.visitExpression(this,r),r.print(e,".".concat(e.name," = ")),e.value.visitExpression(this,r),i||r.print(e,")"),null}},{key:"visitInvokeFunctionExpr",value:function(e,r){return e.fn.visitExpression(this,r),r.print(e,"("),this.visitAllExpressions(e.args,r,","),r.print(e,")"),null}},{key:"visitTaggedTemplateExpr",value:function(e,r){e.tag.visitExpression(this,r),r.print(e,"`"+e.template.elements[0].rawText);for(var i=1;i0&&(i.lineLength()>80?(i.print(null,o,!0),a||(i.incIndent(),i.incIndent(),a=!0)):i.print(null,o,!1)),e(r[s]);a&&(i.decIndent(),i.decIndent())}},{key:"visitAllStatements",value:function(e,r){var i=this;e.forEach(function(o){return o.visitStatement(i,r)})}}]),t}();function kl(t,n){var e=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(null==t)return null;var r=t.replace(oN,function(){return"$"==(arguments.length<=0?void 0:arguments[0])?n?"\\$":"$":"\n"==(arguments.length<=0?void 0:arguments[0])?"\\n":"\r"==(arguments.length<=0?void 0:arguments[0])?"\\r":"\\".concat(arguments.length<=0?void 0:arguments[0])}),i=e||!aN.test(r);return i?"'".concat(r,"'"):r}function ww(t){for(var n="",e=0;e0?Gi(n):null}(r);return null!==i?(n=!0,i):H(null)});return n?yo(kt(e)):gn}(t.deps):gn;return yo(_e(m.FactoryDeclaration,[Qh(t.type.type,t.typeArgumentCount),n]))}function Iw(t,n){return t.map(function(e,r){return function pN(t,n,e){if(null===t.token)return _e(m.invalidFactoryDep).callFn([H(e)]);if(null===t.attributeNameType){var r=0|(t.self?2:0)|(t.skipSelf?4:0)|(t.host?1:0)|(t.optional?8:0)|(n===Bo.Pipe?16:0),i=0!==r||t.optional?H(r):null,o=[t.token];i&&o.push(i);var a=function gN(t){switch(t){case Bo.Component:case Bo.Directive:case Bo.Pipe:return m.directiveInject;case Bo.NgModule:case Bo.Injectable:default:return m.inject}} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(n);return _e(a).callFn(o)}return _e(m.injectAttribute).callFn([t.token])}(e,n,r)})}function Aw(t){return void 0!==t.delegateType}!function(t){t[t.Class=0]="Class",t[t.Function=1]="Function"}(rp||(rp={})),function(t){t[t.Directive=0]="Directive",t[t.Component=1]="Component",t[t.Injectable=2]="Injectable",t[t.Pipe=3]="Pipe",t[t.NgModule=4]="NgModule"}(Bo||(Bo={}));var yN=function(){function t(n,e){p(this,t),this.value=n,this.sourceSpan=e}return h(t,[{key:"visit",value:function(e){throw new Error("visit() not implemented for Comment")}}]),t}(),Jh=function(){function t(n,e){p(this,t),this.value=n,this.sourceSpan=e}return h(t,[{key:"visit",value:function(e){return e.visitText(this)}}]),t}(),Jg=function(){function t(n,e,r){p(this,t),this.value=n,this.sourceSpan=e,this.i18n=r}return h(t,[{key:"visit",value:function(e){return e.visitBoundText(this)}}]),t}(),ey=function(){function t(n,e,r,i,o,a){p(this,t),this.name=n,this.value=e,this.sourceSpan=r,this.keySpan=i,this.valueSpan=o,this.i18n=a}return h(t,[{key:"visit",value:function(e){return e.visitTextAttribute(this)}}]),t}(),Mw=function(){function t(n,e,r,i,o,a,s,u,l){p(this,t),this.name=n,this.type=e,this.securityContext=r,this.value=i,this.unit=o,this.sourceSpan=a,this.keySpan=s,this.valueSpan=u,this.i18n=l}return h(t,[{key:"visit",value:function(e){return e.visitBoundAttribute(this)}}],[{key:"fromBoundElementProperty",value:function(e,r){if(void 0===e.keySpan)throw new Error("Unexpected state: keySpan must be defined for bound attributes but was not for ".concat(e.name,": ").concat(e.sourceSpan));return new t(e.name,e.type,e.securityContext,e.value,e.unit,e.sourceSpan,e.keySpan,e.valueSpan,r)}}]),t}(),Nw=function(){function t(n,e,r,i,o,a,s,u){p(this,t),this.name=n,this.type=e,this.handler=r,this.target=i,this.phase=o,this.sourceSpan=a,this.handlerSpan=s,this.keySpan=u}return h(t,[{key:"visit",value:function(e){return e.visitBoundEvent(this)}}],[{key:"fromParsedEvent",value:function(e){var r=0===e.type?e.targetOrPhase:null,i=1===e.type?e.targetOrPhase:null;if(void 0===e.keySpan)throw new Error("Unexpected state: keySpan must be defined for bound event but was not for ".concat(e.name,": ").concat(e.sourceSpan));return new t(e.name,e.type,e.handler,r,i,e.sourceSpan,e.handlerSpan,e.keySpan)}}]),t}(),ev=function(){function t(n,e,r,i,o,a,s,u,l,c){p(this,t),this.name=n,this.attributes=e,this.inputs=r,this.outputs=i,this.children=o,this.references=a,this.sourceSpan=s,this.startSourceSpan=u,this.endSourceSpan=l,this.i18n=c}return h(t,[{key:"visit",value:function(e){return e.visitElement(this)}}]),t}(),tv=function(){function t(n,e,r,i,o,a,s,u,l,c,f,d){p(this,t),this.tagName=n,this.attributes=e,this.inputs=r,this.outputs=i,this.templateAttrs=o,this.children=a,this.references=s,this.variables=u,this.sourceSpan=l,this.startSourceSpan=c,this.endSourceSpan=f,this.i18n=d}return h(t,[{key:"visit",value:function(e){return e.visitTemplate(this)}}]),t}(),_N=function(){function t(n,e,r,i){p(this,t),this.selector=n,this.attributes=e,this.sourceSpan=r,this.i18n=i,this.name="ng-content"}return h(t,[{key:"visit",value:function(e){return e.visitContent(this)}}]),t}(),Ow=function(){function t(n,e,r,i,o){p(this,t),this.name=n,this.value=e,this.sourceSpan=r,this.keySpan=i,this.valueSpan=o}return h(t,[{key:"visit",value:function(e){return e.visitVariable(this)}}]),t}(),CN=function(){function t(n,e,r,i,o){p(this,t),this.name=n,this.value=e,this.sourceSpan=r,this.keySpan=i,this.valueSpan=o}return h(t,[{key:"visit",value:function(e){return e.visitReference(this)}}]),t}(),Pw=function(){function t(n,e,r,i){p(this,t),this.vars=n,this.placeholders=e,this.sourceSpan=r,this.i18n=i}return h(t,[{key:"visit",value:function(e){return e.visitIcu(this)}}]),t}();function Rw(t,n){var e=[];if(t.visit){var i,r=Me(n);try{for(r.s();!(i=r.n()).done;){var o=i.value;t.visit(o)||o.visit(t)}}catch(f){r.e(f)}finally{r.f()}}else{var u,s=Me(n);try{for(s.s();!(u=s.n()).done;){var c=u.value.visit(t);c&&e.push(c)}}catch(f){s.e(f)}finally{s.f()}}return e} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var lu=h(function t(n,e,r,i,o,a){p(this,t),this.nodes=n,this.placeholders=e,this.placeholderToMessage=r,this.meaning=i,this.description=o,this.customId=a,this.id=this.customId,this.legacyIds=[],this.messageString=function EN(t){var n=new wN,e=t.map(function(r){return r.visit(n)}).join("");return e}(this.nodes),n.length?this.sources=[{filePath:n[0].sourceSpan.start.file.url,startLine:n[0].sourceSpan.start.line+1,startCol:n[0].sourceSpan.start.col+1,endLine:n[n.length-1].sourceSpan.end.line+1,endCol:n[0].sourceSpan.start.col+1}]:this.sources=[]}),nv=function(){function t(n,e){p(this,t),this.value=n,this.sourceSpan=e}return h(t,[{key:"visit",value:function(e,r){return e.visitText(this,r)}}]),t}(),ip=function(){function t(n,e){p(this,t),this.children=n,this.sourceSpan=e}return h(t,[{key:"visit",value:function(e,r){return e.visitContainer(this,r)}}]),t}(),Fw=function(){function t(n,e,r,i){p(this,t),this.expression=n,this.type=e,this.cases=r,this.sourceSpan=i}return h(t,[{key:"visit",value:function(e,r){return e.visitIcu(this,r)}}]),t}(),bN=function(){function t(n,e,r,i,o,a,s,u,l){p(this,t),this.tag=n,this.attrs=e,this.startName=r,this.closeName=i,this.children=o,this.isVoid=a,this.sourceSpan=s,this.startSourceSpan=u,this.endSourceSpan=l}return h(t,[{key:"visit",value:function(e,r){return e.visitTagPlaceholder(this,r)}}]),t}(),Lw=function(){function t(n,e,r){p(this,t),this.value=n,this.name=e,this.sourceSpan=r}return h(t,[{key:"visit",value:function(e,r){return e.visitPlaceholder(this,r)}}]),t}(),rv=function(){function t(n,e,r){p(this,t),this.value=n,this.name=e,this.sourceSpan=r}return h(t,[{key:"visit",value:function(e,r){return e.visitIcuPlaceholder(this,r)}}]),t}();var wN=function(){function t(){p(this,t)}return h(t,[{key:"visitText",value:function(e){return e.value}},{key:"visitContainer",value:function(e){var r=this;return e.children.map(function(i){return i.visit(r)}).join("")}},{key:"visitIcu",value:function(e){var r=this,i=Object.keys(e.cases).map(function(o){return"".concat(o," {").concat(e.cases[o].visit(r),"}")});return"{".concat(e.expressionPlaceholder,", ").concat(e.type,", ").concat(i.join(" "),"}")}},{key:"visitTagPlaceholder",value:function(e){var r=this,i=e.children.map(function(o){return o.visit(r)}).join("");return"{$".concat(e.startName,"}").concat(i,"{$").concat(e.closeName,"}")}},{key:"visitPlaceholder",value:function(e){return"{$".concat(e.name,"}")}},{key:"visitIcuPlaceholder",value:function(e){return"{$".concat(e.name,"}")}}]),t}(),xN=function(){function t(){p(this,t)}return h(t,[{key:"visitTag",value:function(e){var r=this,i=this._serializeAttributes(e.attrs);if(0==e.children.length)return"<".concat(e.name).concat(i,"/>");var o=e.children.map(function(a){return a.visit(r)});return"<".concat(e.name).concat(i,">").concat(o.join(""),"")}},{key:"visitText",value:function(e){return e.value}},{key:"visitDeclaration",value:function(e){return"")}},{key:"_serializeAttributes",value:function(e){var r=Object.keys(e).map(function(i){return"".concat(i,'="').concat(e[i],'"')}).join(" ");return r.length>0?" "+r:""}},{key:"visitDoctype",value:function(e){return"")}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */new xN;function TN(t){return t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var ty="i18n-";function jw(t){return"i18n"===t||t.startsWith(ty)}function op(t){return t instanceof lu}function iv(t){return op(t)&&1===t.nodes.length&&t.nodes[0]instanceof Fw}function ON(t){return!!t.i18n}function Hw(t){return t.nodes[0]}function ov(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,e=n>0?":".concat(n):"";return"".concat("\ufffd").concat(t).concat(e).concat("\ufffd")}function FN(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=t;return function(){return n++}}function Uw(t){var n={};return t.forEach(function(e,r){n[r]=H(e.length>1?"[".concat(e.join("|"),"]"):e[0])}),n}function av(t,n){for(var e=t.get(n)||[],r=arguments.length,i=new Array(r>2?r-2:0),o=2;o1&&void 0!==arguments[1]?arguments[1]:0,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=n,i=new Map,o=t instanceof lu?t.nodes.find(function(a){return a instanceof ip}):t;return o&&o.children.filter(function(a){return a instanceof Lw}).forEach(function(a,s){var u=ov(r+s,e);av(i,a.name,u)}),i}function ny(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,e={};return t&&Object.keys(t).length&&Object.keys(t).forEach(function(r){return e[sv(r,n)]=t[r]}),e}function sv(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=TN(t);if(!n)return e;var i,r=e.split("_");if(1===r.length)return t.toLowerCase();/^\d+$/.test(r[r.length-1])&&(i=r.pop());var o=r.shift().toLowerCase();return r.length&&(o+=r.map(function(a){return a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()}).join("")),i?"".concat(o,"_").concat(i):o}function Gw(t){return"".concat("MSG_").concat(t).toUpperCase()}function LN(t){return new xl(t.name,void 0,Qe,void 0,t.sourceSpan)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var BN=/[-.]/,ry="_t",Vo="ctx",ap="rf",zw="restoredCtx",qN=new Set([m.element,m.elementStart,m.elementEnd,m.elementContainer,m.elementContainerStart,m.elementContainerEnd,m.i18nExp,m.listener,m.classProp,m.syntheticHostListener,m.hostProperty,m.syntheticHostProperty,m.property,m.propertyInterpolate1,m.propertyInterpolate2,m.propertyInterpolate3,m.propertyInterpolate4,m.propertyInterpolate5,m.propertyInterpolate6,m.propertyInterpolate7,m.propertyInterpolate8,m.propertyInterpolateV,m.attribute,m.attributeInterpolate1,m.attributeInterpolate2,m.attributeInterpolate3,m.attributeInterpolate4,m.attributeInterpolate5,m.attributeInterpolate6,m.attributeInterpolate7,m.attributeInterpolate8,m.attributeInterpolateV,m.styleProp,m.stylePropInterpolate1,m.stylePropInterpolate2,m.stylePropInterpolate3,m.stylePropInterpolate4,m.stylePropInterpolate5,m.stylePropInterpolate6,m.stylePropInterpolate7,m.stylePropInterpolate8,m.stylePropInterpolateV,m.textInterpolate,m.textInterpolate1,m.textInterpolate2,m.textInterpolate3,m.textInterpolate4,m.textInterpolate5,m.textInterpolate6,m.textInterpolate7,m.textInterpolate8,m.textInterpolateV]);function sp(t,n,e){return _e(n,null,t).callFn(e,t)}function $w(t,n){var e=null;return function(){return e||(t.push(new xl("_t",void 0,ze)),e=wt(n)),e}}function up(t){throw new Error("Invalid state: Visitor ".concat(this.constructor.name," doesn't handle ").concat(t.constructor.name))}function _o(t){return Array.isArray(t)?kt(t.map(_o)):H(t,Qe)}function uv(t,n){return Object.getOwnPropertyNames(t).length>0?function GN(t,n){return Gi(Object.getOwnPropertyNames(t).map(function(e){var i,o,a,s,r=t[e];if(Array.isArray(r)){var u=Xt(r,2);a=e,s=(o=u[0])!==(i=u[1])}else{var c=Xt(te(e,[e,r]),2);a=i=c[0],s=(o=c[1])!==i&&e.includes(":")}return{key:a,quoted:BN.test(a),value:n&&s?kt([_o(o),_o(i)]):_o(o)}}))}(t,n):null}function iy(t){for(;Zg(t[t.length-1]);)t.pop();return t}function zN(t,n){if(Array.isArray(t.predicate)){var e=[];return t.predicate.forEach(function(r){var i=r.split(",").map(function(o){return H(o.trim())});e.push.apply(e,re(i))}),n.getConstLiteral(kt(e),!0)}switch(t.predicate.forwardRef){case 0:case 2:return t.predicate.expression;case 1:return _e(m.resolveForwardRef).callFn([t.predicate.expression])}}var Yr=function(){function t(){p(this,t),this.values=[]}return h(t,[{key:"set",value:function(e,r){r&&this.values.push({key:e,value:r,quoted:!1})}},{key:"toLiteralMap",value:function(){return Gi(this.values)}}]),t}();function Sl(t){var n=t.expressions,e=t.strings;return 1===n.length&&2===e.length&&""===e[0]&&""===e[1]?1:n.length+e.length}function lv(t){var n,s,e=[],r=null,i=null,o=0,a=Me(t);try{for(a.s();!(s=a.n()).done;){var u=s.value,l=null!==(n="function"==typeof u.paramsOrFn?u.paramsOrFn():u.paramsOrFn)&&void 0!==n?n:[],c=Array.isArray(l)?l:[l];o<500&&i===u.reference&&qN.has(i)?(r=r.callFn(c,r.sourceSpan),o++):(null!==r&&e.push(r.toStmt()),r=sp(u.span,u.reference,c),i=u.reference,o=0)}}catch(f){a.e(f)}finally{a.f()}return null!==r&&e.push(r.toStmt()),e +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}function Ww(t,n){var e=null,r={name:t.name,type:t.type,internalType:t.internalType,typeArgumentCount:t.typeArgumentCount,deps:[],target:Bo.Injectable};if(void 0!==t.useClass){var i=t.useClass.expression.isEquivalent(t.internalType),o=void 0;void 0!==t.deps&&(o=t.deps),e=void 0!==o?Dl(Object.assign(Object.assign({},r),{delegate:t.useClass.expression,delegateDeps:o,delegateType:rp.Class})):i?Dl(r):{statements:[],expression:Zw(t.type.value,t.useClass.expression,n)}}else e=void 0!==t.useFactory?void 0!==t.deps?Dl(Object.assign(Object.assign({},r),{delegate:t.useFactory,delegateDeps:t.deps||[],delegateType:rp.Function})):{statements:[],expression:Xr([],[new Ti(t.useFactory.callFn([]))])}:void 0!==t.useValue?Dl(Object.assign(Object.assign({},r),{expression:t.useValue.expression})):void 0!==t.useExisting?Dl(Object.assign(Object.assign({},r),{expression:_e(m.inject).callFn([t.useExisting.expression])})):{statements:[],expression:Zw(t.type.value,t.internalType,n)};var a=t.internalType,s=new Yr;return s.set("token",a),s.set("factory",e.expression),null!==t.providedIn.expression.value&&s.set("providedIn",tf(t.providedIn)),{expression:_e(m.\u0275\u0275defineInjectable).callFn([s.toLiteralMap()],void 0,!0),type:Kw(t),statements:e.statements}}function Kw(t){return new ke(_e(m.InjectableDeclaration,[Qh(t.type.type,t.typeArgumentCount)]))}function Zw(t,n,e){return t.node===n.node?n.prop("\u0275fac"):Xw(e?_e(m.resolveForwardRef).callFn([n]):n)}function Xw(t){return Xr([new qi("t",ze)],[new Ti(t.prop("\u0275fac").callFn([wt("t")]))])} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var $N=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Yw=function(){function t(n,e){p(this,t),this.start=n,this.end=e}return h(t,null,[{key:"fromArray",value:function(e){return e?(function WN(t,n){if(null!=n&&(!Array.isArray(n)||2!=n.length))throw new Error("Expected '".concat(t,"' to be an array, [start, end]."));if(null!=n){var e=n[0],r=n[1];$N.forEach(function(i){if(i.test(e)||i.test(r))throw new Error("['".concat(e,"', '").concat(r,"'] contains unusable interpolation symbol."))})}}("interpolation",e),new t(e[0],e[1])):jo}}]),t}(),jo=new Yw("{{","}}"),du=123,Sa=125; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function dy(t){return t>=9&&t<=32||160==t}function pu(t){return 48<=t&&t<=57}function py(t){return t>=97&&t<=122||t>=65&&t<=90}function hx(t){return 10===t||13===t}function vx(t){return 48<=t&&t<=55}function hy(t){return 39===t||34===t||96===t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var ps,vp=function(){function t(n,e,r,i){p(this,t),this.file=n,this.offset=e,this.line=r,this.col=i}return h(t,[{key:"toString",value:function(){return null!=this.offset?"".concat(this.file.url,"@").concat(this.line,":").concat(this.col):this.file.url}},{key:"moveBy",value:function(e){for(var r=this.file.content,i=r.length,o=this.offset,a=this.line,s=this.col;o>0&&e<0;){if(o--,e++,10==r.charCodeAt(o)){a--;var l=r.substr(0,o-1).lastIndexOf(String.fromCharCode(10));s=l>0?o-l:o}else s--}for(;o0;){var c=r.charCodeAt(o);o++,e--,10==c?(a++,s=0):s++}return new t(this.file,o,a,s)}},{key:"getContext",value:function(e,r){var i=this.file.content,o=this.offset;if(null!=o){o>i.length-1&&(o=i.length-1);for(var a=o,s=0,u=0;s0&&(s++,"\n"!=i[--o]||++u!=r););for(s=0,u=0;s2&&void 0!==arguments[2]?arguments[2]:n,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;p(this,t),this.start=n,this.end=e,this.fullStart=r,this.details=i}return h(t,[{key:"toString",value:function(){return this.start.file.content.substring(this.start.offset,this.end.offset)}}]),t}();!function(t){t[t.WARNING=0]="WARNING",t[t.ERROR=1]="ERROR"}(ps||(ps={}));var mp=function(){function t(n,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ps.ERROR;p(this,t),this.span=n,this.msg=e,this.level=r}return h(t,[{key:"contextualMessage",value:function(){var e=this.span.start.getContext(100,3);return e?"".concat(this.msg,' ("').concat(e.before,"[").concat(ps[this.level]," ->]").concat(e.after,'")'):this.msg}},{key:"toString",value:function(){var e=this.span.details?", ".concat(this.span.details):"";return"".concat(this.contextualMessage(),": ").concat(this.span.start).concat(e)}}]),t}();var sO=0;function sf(t){return t.replace(/\W/g,"_")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var hv,mx='(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})',lO=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.call(this,!1)}return h(e,[{key:"visitWrappedNodeExpr",value:function(i,o){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")}},{key:"visitDeclareVarStmt",value:function(i,o){return o.print(i,"var ".concat(i.name)),i.value&&(o.print(i," = "),i.value.visitExpression(this,o)),o.println(i,";"),null}},{key:"visitTaggedTemplateExpr",value:function(i,o){var a=this,s=i.template.elements;return i.tag.visitExpression(this,o),o.print(i,"(".concat(mx,"(")),o.print(i,"[".concat(s.map(function(u){return kl(u.text,!1)}).join(", "),"], ")),o.print(i,"[".concat(s.map(function(u){return kl(u.rawText,!1)}).join(", "),"])")),i.template.expressions.forEach(function(u){o.print(i,", "),u.visitExpression(a,o)}),o.print(i,")"),null}},{key:"visitFunctionExpr",value:function(i,o){return o.print(i,"function".concat(i.name?" "+i.name:"","(")),this._visitParams(i.params,o),o.println(i,") {"),o.incIndent(),this.visitAllStatements(i.statements,o),o.decIndent(),o.print(i,"}"),null}},{key:"visitDeclareFunctionStmt",value:function(i,o){return o.print(i,"function ".concat(i.name,"(")),this._visitParams(i.params,o),o.println(i,") {"),o.incIndent(),this.visitAllStatements(i.statements,o),o.decIndent(),o.println(i,"}"),null}},{key:"visitLocalizedString",value:function(i,o){var a=this;o.print(i,"$localize(".concat(mx,"("));for(var s=[i.serializeI18nHead()],u=1;u0&&!function hO(t){return t.isEquivalent(H("use strict").toStmt())} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(r[0])&&(r=[H("use strict").toStmt()].concat(re(r))),a.visitAllStatements(r,s),a.createReturnStmt(s),this.evaluateCode(e,s,a.getArgs(),o)}},{key:"evaluateCode",value:function(e,r,i,o){var a='"use strict";'.concat(r.toSource(),"\n//# sourceURL=").concat(e),s=[],u=[];for(var l in i)u.push(i[l]),s.push(l);if(o){var c=gx.apply(void 0,re(s.concat("return null;"))).toString(),f=c.slice(0,c.indexOf("return null;")).split("\n").length-1;a+="\n".concat(r.toSourceMapGenerator(e,f).toJsComment())}var d=gx.apply(void 0,re(s.concat(a)));return this.executeFunction(d,u)}},{key:"executeFunction",value:function(e,r){return e.apply(void 0,re(r))}}]),t}(),pO=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this)).refResolver=r,i._evalArgNames=[],i._evalArgValues=[],i._evalExportedVars=[],i}return h(e,[{key:"createReturnStmt",value:function(i){new Ti(new Gg(this._evalExportedVars.map(function(a){return new qg(a,wt(a),!1)}))).visitStatement(this,i)}},{key:"getArgs",value:function(){for(var i={},o=0;o=0?(e="anonymous_".concat(sO++),n.__anonymousType=e):e=sf(e),e}({reference:o})||"val";this._evalArgNames.push("jit_".concat(u,"_").concat(s))}a.print(i,this._evalArgNames[s])}}]),e}(lO);function yx(t){var n=new Yr;return null!==t.providers&&n.set("providers",t.providers),t.imports.length>0&&n.set("imports",kt(t.imports)),{expression:_e(m.defineInjector).callFn([n.toLiteralMap()],void 0,!0),type:_x(t),statements:[]}}function _x(t){return new ke(_e(m.InjectorDeclaration,[new ke(t.type.type)]))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var vO=function(){function t(n){p(this,t),this.context=n}return h(t,[{key:"resolveExternalReference",value:function(e){if("@angular/core"!==e.moduleName)throw new Error("Cannot resolve external reference to ".concat(e.moduleName,", only references to @angular/core are supported."));if(!this.context.hasOwnProperty(e.name))throw new Error("No value provided for @angular/core symbol '".concat(e.name,"'."));return this.context[e.name]}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function mO(t){var n=t.internalType,e=t.bootstrap,r=t.declarations,i=t.imports,o=t.exports,a=t.schemas,s=t.containsForwardDecls,u=t.emitInline,l=t.id,c=[],f=new Yr;if(f.set("type",n),e.length>0&&f.set("bootstrap",Lo(e,s)),u)r.length>0&&f.set("declarations",Lo(r,s)),i.length>0&&f.set("imports",Lo(i,s)),o.length>0&&f.set("exports",Lo(o,s));else{var d=function yO(t){var n=t.adjacentType,e=t.declarations,r=t.imports,i=t.exports,o=t.containsForwardDecls,a=new Yr;if(e.length>0&&a.set("declarations",Lo(e,o)),r.length>0&&a.set("imports",Lo(r,o)),i.length>0&&a.set("exports",Lo(i,o)),0===Object.keys(a.values).length)return null;var u=function fN(t){return Sw("ngJitMode",t)}(new Ro(_e(m.setNgModuleScope),[n,a.toLiteralMap()])),l=new Wh([],[u.toStmt()]);return new Ro(l,[]).toStmt()}(t);null!==d&&c.push(d)}return null!==a&&a.length>0&&f.set("schemas",kt(a.map(function(b){return b.value}))),null!==l&&f.set("id",l),{expression:_e(m.defineNgModule).callFn([f.toLiteralMap()],void 0,!0),type:Cx(t),statements:c}}function Cx(t){var n=t.type,e=t.declarations,r=t.imports,i=t.exports;return new ke(_e(m.NgModuleDeclaration,[new ke(n.type),my(e),my(r),my(i)]))}function my(t){var n=t.map(function(e){return Wg(e.type)});return t.length>0?yo(kt(n)):gn} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function bx(t){var n=[];return n.push({key:"name",value:H(t.pipeName),quoted:!1}),n.push({key:"type",value:t.type.value,quoted:!1}),n.push({key:"pure",value:H(t.pure),quoted:!1}),{expression:_e(m.definePipe).callFn([Gi(n)],void 0,!0),type:Ex(t),statements:[]}}function Ex(t){return new ke(_e(m.PipeDeclaration,[Qh(t.type.type,t.typeArgumentCount),new ke(new ls(t.pipeName))]))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Al,gy=h(function t(n,e,r,i){p(this,t),this.input=e,this.errLocation=r,this.ctxLocation=i,this.message="Parser Error: ".concat(n," ").concat(r," [").concat(e,"] in ").concat(i)}),uf=function(){function t(n,e){p(this,t),this.start=n,this.end=e}return h(t,[{key:"toAbsolute",value:function(e){return new Ho(e+this.start,e+this.end)}}]),t}(),Tr=function(){function t(n,e){p(this,t),this.span=n,this.sourceSpan=e}return h(t,[{key:"toString",value:function(){return"AST"}}]),t}(),vv=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,r,i)).nameSpan=o,a}return h(e)}(Tr),wx=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i)).prefix=o,u.uninterpretedExpression=a,u.location=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitQuote(this,o)}},{key:"toString",value:function(){return"Quote"}}]),e}(Tr),Co=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"visit",value:function(i){arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}]),e}(Tr),gp=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitImplicitReceiver(this,o)}}]),e}(Tr),yy=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"visit",value:function(i){var a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return null===(a=i.visitThisReceiver)||void 0===a?void 0:a.call(i,this,o)}}]),e}(gp),_y=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,r,i)).expressions=o,a}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitChain(this,o)}}]),e}(Tr),Cy=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i)).condition=o,u.trueExp=a,u.falseExp=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitConditional(this,o)}}]),e}(Tr),hu=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i,o)).receiver=a,u.name=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitPropertyRead(this,o)}}]),e}(vv),by=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s,u){var l;return p(this,e),(l=n.call(this,r,i,o)).receiver=a,l.name=s,l.value=u,l}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitPropertyWrite(this,o)}}]),e}(vv),Ey=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i,o)).receiver=a,u.name=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitSafePropertyRead(this,o)}}]),e}(vv),mv=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,r,i)).receiver=o,s.key=a,s}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitKeyedRead(this,o)}}]),e}(Tr),gv=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,r,i)).receiver=o,s.key=a,s}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitSafeKeyedRead(this,o)}}]),e}(Tr),wy=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i)).receiver=o,u.key=a,u.value=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitKeyedWrite(this,o)}}]),e}(Tr),yv=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s,u){var l;return p(this,e),(l=n.call(this,r,i,u)).exp=o,l.name=a,l.args=s,l}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitPipe(this,o)}}]),e}(vv),oo=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,r,i)).value=o,a}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitLiteralPrimitive(this,o)}}]),e}(Tr),_v=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,r,i)).expressions=o,a}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitLiteralArray(this,o)}}]),e}(Tr),xy=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,r,i)).keys=o,s.values=a,s}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitLiteralMap(this,o)}}]),e}(Tr),Ii=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,r,i)).strings=o,s.expressions=a,s}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitInterpolation(this,o)}}]),e}(Tr),Ta=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i)).operation=o,u.left=a,u.right=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitBinary(this,o)}}]),e}(Tr),lf=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s,u,l){var c;return p(this,e),(c=n.call(this,r,i,s,u,l)).operator=o,c.expr=a,c.left=null,c.right=null,c.operation=null,c}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return void 0!==i.visitUnary?i.visitUnary(this,o):i.visitBinary(this,o)}}],[{key:"createMinus",value:function(i,o,a){return new e(i,o,"-",a,"-",new oo(i,o,0),a)}},{key:"createPlus",value:function(i,o,a){return new e(i,o,"+",a,"-",a,new oo(i,o,0))}}]),e}(Ta),ky=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,r,i)).expression=o,a}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitPrefixNot(this,o)}}]),e}(Tr),Dy=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,r,i)).expression=o,a}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitNonNullAssert(this,o)}}]),e}(Tr),cf=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i)).receiver=o,u.args=a,u.argumentSpan=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitCall(this,o)}}]),e}(Tr),Cv=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,r,i)).receiver=o,u.args=a,u.argumentSpan=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitSafeCall(this,o)}}]),e}(Tr),Ho=h(function t(n,e){p(this,t),this.start=n,this.end=e}),vu=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this,new uf(0,null===i?0:i.length),new Ho(a,null===i?a:a+i.length))).ast=r,u.source=i,u.location=o,u.errors=s,u}return h(e,[{key:"visit",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return i.visitASTWithSource?i.visitASTWithSource(this,o):this.ast.visit(i,o)}},{key:"toString",value:function(){return"".concat(this.source," in ").concat(this.location)}}]),e}(Tr),Sy=h(function t(n,e,r){p(this,t),this.sourceSpan=n,this.key=e,this.value=r}),_O=h(function t(n,e,r){p(this,t),this.sourceSpan=n,this.key=e,this.value=r}),CO=function(){function t(){p(this,t)}return h(t,[{key:"visit",value:function(e,r){e.visit(this,r)}},{key:"visitUnary",value:function(e,r){this.visit(e.expr,r)}},{key:"visitBinary",value:function(e,r){this.visit(e.left,r),this.visit(e.right,r)}},{key:"visitChain",value:function(e,r){this.visitAll(e.expressions,r)}},{key:"visitConditional",value:function(e,r){this.visit(e.condition,r),this.visit(e.trueExp,r),this.visit(e.falseExp,r)}},{key:"visitPipe",value:function(e,r){this.visit(e.exp,r),this.visitAll(e.args,r)}},{key:"visitImplicitReceiver",value:function(e,r){}},{key:"visitThisReceiver",value:function(e,r){}},{key:"visitInterpolation",value:function(e,r){this.visitAll(e.expressions,r)}},{key:"visitKeyedRead",value:function(e,r){this.visit(e.receiver,r),this.visit(e.key,r)}},{key:"visitKeyedWrite",value:function(e,r){this.visit(e.receiver,r),this.visit(e.key,r),this.visit(e.value,r)}},{key:"visitLiteralArray",value:function(e,r){this.visitAll(e.expressions,r)}},{key:"visitLiteralMap",value:function(e,r){this.visitAll(e.values,r)}},{key:"visitLiteralPrimitive",value:function(e,r){}},{key:"visitPrefixNot",value:function(e,r){this.visit(e.expression,r)}},{key:"visitNonNullAssert",value:function(e,r){this.visit(e.expression,r)}},{key:"visitPropertyRead",value:function(e,r){this.visit(e.receiver,r)}},{key:"visitPropertyWrite",value:function(e,r){this.visit(e.receiver,r),this.visit(e.value,r)}},{key:"visitSafePropertyRead",value:function(e,r){this.visit(e.receiver,r)}},{key:"visitSafeKeyedRead",value:function(e,r){this.visit(e.receiver,r),this.visit(e.key,r)}},{key:"visitCall",value:function(e,r){this.visit(e.receiver,r),this.visitAll(e.args,r)}},{key:"visitSafeCall",value:function(e,r){this.visit(e.receiver,r),this.visitAll(e.args,r)}},{key:"visitQuote",value:function(e,r){}},{key:"visitAll",value:function(e,r){var o,i=Me(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;this.visit(a,r)}}catch(s){i.e(s)}finally{i.f()}}}]),t}(),bO=function(){function t(){p(this,t)}return h(t,[{key:"visitImplicitReceiver",value:function(e,r){return e}},{key:"visitThisReceiver",value:function(e,r){return e}},{key:"visitInterpolation",value:function(e,r){return new Ii(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}},{key:"visitLiteralPrimitive",value:function(e,r){return new oo(e.span,e.sourceSpan,e.value)}},{key:"visitPropertyRead",value:function(e,r){return new hu(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}},{key:"visitPropertyWrite",value:function(e,r){return new by(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}},{key:"visitSafePropertyRead",value:function(e,r){return new Ey(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}},{key:"visitLiteralArray",value:function(e,r){return new _v(e.span,e.sourceSpan,this.visitAll(e.expressions))}},{key:"visitLiteralMap",value:function(e,r){return new xy(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}},{key:"visitUnary",value:function(e,r){switch(e.operator){case"+":return lf.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return lf.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error("Unknown unary operator ".concat(e.operator))}}},{key:"visitBinary",value:function(e,r){return new Ta(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}},{key:"visitPrefixNot",value:function(e,r){return new ky(e.span,e.sourceSpan,e.expression.visit(this))}},{key:"visitNonNullAssert",value:function(e,r){return new Dy(e.span,e.sourceSpan,e.expression.visit(this))}},{key:"visitConditional",value:function(e,r){return new Cy(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}},{key:"visitPipe",value:function(e,r){return new yv(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}},{key:"visitKeyedRead",value:function(e,r){return new mv(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}},{key:"visitKeyedWrite",value:function(e,r){return new wy(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this),e.value.visit(this))}},{key:"visitCall",value:function(e,r){return new cf(e.span,e.sourceSpan,e.receiver.visit(this),this.visitAll(e.args),e.argumentSpan)}},{key:"visitSafeCall",value:function(e,r){return new Cv(e.span,e.sourceSpan,e.receiver.visit(this),this.visitAll(e.args),e.argumentSpan)}},{key:"visitAll",value:function(e){for(var r=[],i=0;i=0;r--)e.unshift(Tx(n,r))}(u.temporaryCount,r,l),u.usesImplicitReceiver&&t.notifyImplicitReceiverUse();var c=l.length-1;if(c>=0){var f=l[c];f instanceof ef&&(l[c]=new Ti(f.expr))}return l}Iy.event=wt("$event");var $t,DO=h(function t(n,e){p(this,t),this.stmts=n,this.currValExpr=e});function Dx(t,n,e,r){t||(t=new Mx);var i=new My(t,n,r,!1),o=e.visit(i,$t.Expression),a=Sx(i,r);return i.usesImplicitReceiver&&t.notifyImplicitReceiverUse(),new DO(a,o)}function Sx(t,n){for(var e=[],r=0;r":i=ge.Bigger;break;case"<=":i=ge.LowerEquals;break;case">=":i=ge.BiggerEquals;break;case"??":return this.convertNullishCoalesce(e,r);default:throw new Error("Unsupported operation ".concat(e.operation))}return Ai(r,new Hn(i,this._visit(e.left,$t.Expression),this._visit(e.right,$t.Expression),void 0,this.convertSourceSpan(e.span)))}},{key:"visitChain",value:function(e,r){return function AO(t,n){if(t!==$t.Statement)throw new Error("Expected a statement, but saw ".concat(n))}(r,e),this.visitAll(e.expressions,r)}},{key:"visitConditional",value:function(e,r){return Ai(r,this._visit(e.condition,$t.Expression).conditional(this._visit(e.trueExp,$t.Expression),this._visit(e.falseExp,$t.Expression),this.convertSourceSpan(e.span)))}},{key:"visitPipe",value:function(e,r){throw new Error("Illegal state: Pipes should have been converted into functions. Pipe: ".concat(e.name))}},{key:"visitImplicitReceiver",value:function(e,r){return Ix(r,e),this.usesImplicitReceiver=!0,this._implicitReceiver}},{key:"visitThisReceiver",value:function(e,r){return this.visitImplicitReceiver(e,r)}},{key:"visitInterpolation",value:function(e,r){if(!this.supportsInterpolation)throw new Error("Unexpected interpolation");Ix(r,e);for(var i=[],o=0;o=9&&(i=[kt(i)]),new NO(i)}},{key:"visitKeyedRead",value:function(e,r){var i=this.leftMostSafeNode(e);return i?this.convertSafeAccess(e,i,r):Ai(r,this._visit(e.receiver,$t.Expression).key(this._visit(e.key,$t.Expression)))}},{key:"visitKeyedWrite",value:function(e,r){var i=this._visit(e.receiver,$t.Expression),o=this._visit(e.key,$t.Expression),a=this._visit(e.value,$t.Expression);return i===this._implicitReceiver&&this._localResolver.maybeRestoreView(),Ai(r,i.key(o).set(a))}},{key:"visitLiteralArray",value:function(e,r){throw new Error("Illegal State: literal arrays should have been converted into functions")}},{key:"visitLiteralMap",value:function(e,r){throw new Error("Illegal State: literal maps should have been converted into functions")}},{key:"visitLiteralPrimitive",value:function(e,r){var i=null===e.value||void 0===e.value||!0===e.value||!0===e.value?Qe:void 0;return Ai(r,H(e.value,i,this.convertSourceSpan(e.span)))}},{key:"_getLocal",value:function(e,r){var i;return(null===(i=this._localResolver.globals)||void 0===i?void 0:i.has(e))&&r instanceof yy?null:this._localResolver.getLocal(e)}},{key:"visitPrefixNot",value:function(e,r){return Ai(r,hw(this._visit(e.expression,$t.Expression)))}},{key:"visitNonNullAssert",value:function(e,r){return Ai(r,this._visit(e.expression,$t.Expression))}},{key:"visitPropertyRead",value:function(e,r){var i=this.leftMostSafeNode(e);if(i)return this.convertSafeAccess(e,i,r);var o=null,a=this.usesImplicitReceiver,s=this._visit(e.receiver,$t.Expression);return s===this._implicitReceiver&&((o=this._getLocal(e.name,e.receiver))&&(this.usesImplicitReceiver=a,this.addImplicitReceiverAccess(e.name))),null==o&&(o=s.prop(e.name,this.convertSourceSpan(e.span))),Ai(r,o)}},{key:"visitPropertyWrite",value:function(e,r){var i=this._visit(e.receiver,$t.Expression),o=this.usesImplicitReceiver,a=null;if(i===this._implicitReceiver){var s=this._getLocal(e.name,e.receiver);if(s){if(!(s instanceof Ug)){var u=e.name,l=e.value instanceof hu?e.value.name:void 0;throw new Error('Cannot assign value "'.concat(l,'" to template variable "').concat(u,'". Template variables are read-only.'))}a=s,this.usesImplicitReceiver=o,this.addImplicitReceiverAccess(e.name)}}return null===a&&(a=i.prop(e.name,this.convertSourceSpan(e.span))),Ai(r,a.set(this._visit(e.value,$t.Expression)))}},{key:"visitSafePropertyRead",value:function(e,r){return this.convertSafeAccess(e,this.leftMostSafeNode(e),r)}},{key:"visitSafeKeyedRead",value:function(e,r){return this.convertSafeAccess(e,this.leftMostSafeNode(e),r)}},{key:"visitAll",value:function(e,r){var i=this;return e.map(function(o){return i._visit(o,r)})}},{key:"visitQuote",value:function(e,r){throw new Error("Quotes are not supported for evaluation!\n Statement: ".concat(e.uninterpretedExpression," located at ").concat(e.location))}},{key:"visitCall",value:function(e,r){var i=this.leftMostSafeNode(e);if(i)return this.convertSafeAccess(e,i,r);var o=this.visitAll(e.args,$t.Expression);if(e instanceof ff)return Ai(r,e.converter(o));var a=e.receiver;if(a instanceof hu&&a.receiver instanceof gp&&!(a.receiver instanceof yy)&&"$any"===a.name){if(1!==o.length)throw new Error("Invalid call to $any, expected 1 argument but received ".concat(o.length||"none"));return Ai(r,o[0])}return Ai(r,this._visit(a,$t.Expression).callFn(o,this.convertSourceSpan(e.span)))}},{key:"visitSafeCall",value:function(e,r){return this.convertSafeAccess(e,this.leftMostSafeNode(e),r)}},{key:"_visit",value:function(e,r){return this._resultMap.get(e)||(this._nodeMap.get(e)||e).visit(this,r)}},{key:"convertSafeAccess",value:function(e,r,i){var o=this._visit(r.receiver,$t.Expression),a=void 0;this.needsTemporaryInSafeAccess(r.receiver)&&(o=(a=this.allocateTemporary()).set(o),this._resultMap.set(r.receiver,a));var s=o.isBlank();r instanceof Cv?this._nodeMap.set(r,new cf(r.span,r.sourceSpan,r.receiver,r.args,r.argumentSpan)):r instanceof gv?this._nodeMap.set(r,new mv(r.span,r.sourceSpan,r.receiver,r.key)):this._nodeMap.set(r,new hu(r.span,r.sourceSpan,r.nameSpan,r.receiver,r.name));var u=this._visit(e,$t.Expression);return this._nodeMap.delete(r),a&&this.releaseTemporary(a),Ai(i,s.conditional(Zh,u))}},{key:"convertNullishCoalesce",value:function(e,r){var i=this._visit(e.left,$t.Expression),o=this._visit(e.right,$t.Expression),a=this.allocateTemporary();return this.releaseTemporary(a),Ai(r,a.set(i).notIdentical(Zh).and(a.notIdentical(H(void 0))).conditional(a,o))}},{key:"leftMostSafeNode",value:function(e){var r=this,i=function(a,s){return(r._nodeMap.get(s)||s).visit(a)};return e.visit({visitUnary:function(a){return null},visitBinary:function(a){return null},visitChain:function(a){return null},visitConditional:function(a){return null},visitCall:function(a){return i(this,a.receiver)},visitSafeCall:function(a){return i(this,a.receiver)||a},visitImplicitReceiver:function(a){return null},visitThisReceiver:function(a){return null},visitInterpolation:function(a){return null},visitKeyedRead:function(a){return i(this,a.receiver)},visitKeyedWrite:function(a){return null},visitLiteralArray:function(a){return null},visitLiteralMap:function(a){return null},visitLiteralPrimitive:function(a){return null},visitPipe:function(a){return null},visitPrefixNot:function(a){return null},visitNonNullAssert:function(a){return null},visitPropertyRead:function(a){return i(this,a.receiver)},visitPropertyWrite:function(a){return null},visitQuote:function(a){return null},visitSafePropertyRead:function(a){return i(this,a.receiver)||a},visitSafeKeyedRead:function(a){return i(this,a.receiver)||a}})}},{key:"needsTemporaryInSafeAccess",value:function(e){var r=this,i=function(s,u){return u&&(r._nodeMap.get(u)||u).visit(s)};return e.visit({visitUnary:function(s){return i(this,s.expr)},visitBinary:function(s){return i(this,s.left)||i(this,s.right)},visitChain:function(s){return!1},visitConditional:function(s){return i(this,s.condition)||i(this,s.trueExp)||i(this,s.falseExp)},visitCall:function(s){return!0},visitSafeCall:function(s){return!0},visitImplicitReceiver:function(s){return!1},visitThisReceiver:function(s){return!1},visitInterpolation:function(s){return function(s,u){return u.some(function(l){return i(s,l)})}(this,s.expressions)},visitKeyedRead:function(s){return!1},visitKeyedWrite:function(s){return!1},visitLiteralArray:function(s){return!0},visitLiteralMap:function(s){return!0},visitLiteralPrimitive:function(s){return!1},visitPipe:function(s){return!0},visitPrefixNot:function(s){return i(this,s.expression)},visitNonNullAssert:function(s){return i(this,s.expression)},visitPropertyRead:function(s){return!1},visitPropertyWrite:function(s){return!1},visitQuote:function(s){return!1},visitSafePropertyRead:function(s){return!1},visitSafeKeyedRead:function(s){return!1}})}},{key:"allocateTemporary",value:function(){var e=this._currentTemporary++;return this.temporaryCount=Math.max(this._currentTemporary,this.temporaryCount),new ro(Ay(this.bindingId,e))}},{key:"releaseTemporary",value:function(e){if(this._currentTemporary--,e.name!=Ay(this.bindingId,this._currentTemporary))throw new Error("Temporary ".concat(e.name," released out of order"))}},{key:"convertSourceSpan",value:function(e){if(this.baseSourceSpan){var r=this.baseSourceSpan.start.moveBy(e.start),i=this.baseSourceSpan.start.moveBy(e.end),o=this.baseSourceSpan.fullStart.moveBy(e.start);return new Ur(r,i,o)}return null}},{key:"addImplicitReceiverAccess",value:function(e){this.implicitReceiverAccesses&&this.implicitReceiverAccesses.add(e)}}]),t}();function Ax(t,n){Array.isArray(t)?t.forEach(function(e){return Ax(e,n)}):n.push(t)}function Ny(){throw new Error("Unsupported operation")}var NO=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this,null,null)).args=r,i.isConstant=Ny,i.isEquivalent=Ny,i.visitExpression=Ny,i}return h(e)}(Ot),Mx=function(){function t(n){p(this,t),this.globals=n}return h(t,[{key:"notifyImplicitReceiverUse",value:function(){}},{key:"maybeRestoreView",value:function(){}},{key:"getLocal",value:function(e){return e===Iy.event.name?Iy.event:null}}]),t}(),ff=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,r,i,new Co(r,i),o,null)).converter=a,s}return h(e)}(cf),OO=function(){function t(){p(this,t),this.strictStyling=!0}return h(t,[{key:"shimCssText",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=WO(e);e=zO(e),e=this._insertDirectives(e);var a=this._scopeCssText(e,r,i);return[a].concat(re(o)).join("\n")}},{key:"_insertDirectives",value:function(e){return e=this._insertPolyfillDirectivesInCssText(e),this._insertPolyfillRulesInCssText(e)}},{key:"_insertPolyfillDirectivesInCssText",value:function(e){return e.replace(RO,function(){return(arguments.length<=2?void 0:arguments[2])+"{"})}},{key:"_insertPolyfillRulesInCssText",value:function(e){return e.replace(FO,function(){for(var r=arguments.length,i=new Array(r),o=0;o0;)for(var o=i.length,a=t.pop(),s=0;s-1)Te=o._applySimpleSelectorScope(pe,r,i);else{var Oe=pe.replace(df,"");if(Oe.length>0){var mt=Oe.match(/([^:]*)(:*)(.*)/);mt&&(Te=mt[1]+s+mt[2]+mt[3])}}return Te},l=new PO(e),c="",f=0,v=/( |>|\+|~(?!=))\s*/g,b=!((e=l.content()).indexOf(Ml)>-1);null!==(d=v.exec(e));){var x=d[1],O=e.slice(f,d.index).trim(),N=(b=b||O.indexOf(Ml)>-1)?u(O):O;c+="".concat(N," ").concat(x," "),f=v.lastIndex}var z=e.substring(f);return c+=(b=b||z.indexOf(Ml)>-1)?u(z):z,l.restore(c)}},{key:"_insertPolyfillHostInCssText",value:function(e){return e.replace(qO,Oy).replace(UO,bv)}}]),t}(),PO=function(){function t(n){var e=this;p(this,t),this.placeholders=[],this.index=0,n=this._escapeRegexMatches(n,/(\[[^\]]*\])/g),n=this._escapeRegexMatches(n,/(\\.)/g),this._content=n.replace(/(:nth-[-\w]+)(\([^)]+\))/g,function(r,i,o){var a="__ph-".concat(e.index,"__");return e.placeholders.push(o),e.index++,i+a})}return h(t,[{key:"restore",value:function(e){var r=this;return e.replace(/__ph-(\d+)__/g,function(i,o){return r.placeholders[+o]})}},{key:"content",value:function(){return this._content}},{key:"_escapeRegexMatches",value:function(e,r){var i=this;return e.replace(r,function(o,a){var s="__ph-".concat(i.index,"__");return i.placeholders.push(a),i.index++,s})}}]),t}(),RO=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,FO=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Nx=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,bv="-shadowcsshost",Oy="-shadowcsscontext",Py="(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",LO=new RegExp(bv+Py,"gim"),BO=new RegExp(Oy+Py,"gim"),VO=new RegExp(Oy+Py,"im"),Ml=bv+"-no-combinator",Ox=/-shadowcsshost-no-combinator([^\s]*)/,jO=[/::shadow/g,/::content/g,/\/shadow-deep\//g,/\/shadow\//g],Px=/(?:>>>)|(?:\/deep\/)|(?:::ng-deep)/g,HO="([>\\s~+[.,{:][\\s\\S]*)?$",df=/-shadowcsshost/gim,UO=/:host/gim,qO=/:host-context/gim,GO=/\/\*[\s\S]*?\*\//g; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function zO(t){return t.replace(GO,"")}var $O=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;function WO(t){return t.match($O)||[]}var Ry="%BLOCK%",ZO=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,XO=/%QUOTED%/g,YO=new Map([["{","}"]]),QO=new Map([['"','"'],["'","'"]]),Fy=h(function t(n,e){p(this,t),this.selector=n,this.content=e});function Rx(t,n){var e=Fx(t,QO,"%QUOTED%"),r=Fx(e.escapedString,YO,Ry),i=0,o=0;return r.escapedString.replace(ZO,function(){var a=arguments.length<=2?void 0:arguments[2],s="",u=arguments.length<=4?void 0:arguments[4],l="";u&&u.startsWith("{"+Ry)&&(s=r.blocks[i++],u=u.substring(Ry.length+1),l="{");var c=n(new Fy(a,s));return"".concat(arguments.length<=1?void 0:arguments[1]).concat(c.selector).concat(arguments.length<=3?void 0:arguments[3]).concat(l).concat(c.content).concat(u)}).replace(XO,function(){return e.blocks[o++]})}var JO=h(function t(n,e){p(this,t),this.escapedString=n,this.blocks=e});function Fx(t,n,e){for(var u,l,r=[],i=[],o=0,a=0,s=-1,c=0;c0,0===i?i=39:39===i&&92!==t.charCodeAt(e-1)&&(i=0);break;case 34:u=u||o>0,0===i?i=34:34===i&&92!==t.charCodeAt(e-1)&&(i=0);break;case 58:!s&&0===r&&0===i&&(s=Bx(t.substring(a,e-1).trim()),o=e);break;case 59:if(s&&o>0&&0===r&&0===i){var c=t.substring(o,e-1).trim();n.push(s,u?Lx(c):c),a=e,o=0,s=null,u=!1}}if(s&&o){var f=t.substr(o).trim();n.push(s,u?Lx(f):f)}return n}(e),this._hasInitialValues=!0}},{key:"registerClassAttr",value:function(e){this._initialClassValues=e.trim().split(/\s+/g),this._hasInitialValues=!0}},{key:"populateInitialStylingAttrs",value:function(e){if(this._initialClassValues.length){e.push(H(1));for(var r=0;r0?t.substring(0,e):"",n=!0);var r=null,i=t,o=t.lastIndexOf(".");return o>0&&(r=t.substr(o+1),i=t.substring(0,o)),{property:i,suffix:r,hasOverrideFlag:n}}function aP(t){switch(Sl(t)){case 1:return m.styleProp;case 3:return m.stylePropInterpolate1;case 5:return m.stylePropInterpolate2;case 7:return m.stylePropInterpolate3;case 9:return m.stylePropInterpolate4;case 11:return m.stylePropInterpolate5;case 13:return m.stylePropInterpolate6;case 15:return m.stylePropInterpolate7;case 17:return m.stylePropInterpolate8;default:return m.stylePropInterpolateV}}function Ux(t){return t instanceof vu&&(t=t.ast),t instanceof Co +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}!function(t){t[t.Character=0]="Character",t[t.Identifier=1]="Identifier",t[t.PrivateIdentifier=2]="PrivateIdentifier",t[t.Keyword=3]="Keyword",t[t.String=4]="String",t[t.Operator=5]="Operator",t[t.Number=6]="Number",t[t.Error=7]="Error"}(vt||(vt={}));var uP=["var","let","as","null","undefined","true","false","if","else","this"],qx=function(){function t(){p(this,t)}return h(t,[{key:"tokenize",value:function(e){for(var r=new zx(e),i=[],o=r.scanToken();null!=o;)i.push(o),o=r.scanToken();return i}}]),t}(),hs=function(){function t(n,e,r,i,o){p(this,t),this.index=n,this.end=e,this.type=r,this.numValue=i,this.strValue=o}return h(t,[{key:"isCharacter",value:function(e){return this.type==vt.Character&&this.numValue==e}},{key:"isNumber",value:function(){return this.type==vt.Number}},{key:"isString",value:function(){return this.type==vt.String}},{key:"isOperator",value:function(e){return this.type==vt.Operator&&this.strValue==e}},{key:"isIdentifier",value:function(){return this.type==vt.Identifier}},{key:"isPrivateIdentifier",value:function(){return this.type==vt.PrivateIdentifier}},{key:"isKeyword",value:function(){return this.type==vt.Keyword}},{key:"isKeywordLet",value:function(){return this.type==vt.Keyword&&"let"==this.strValue}},{key:"isKeywordAs",value:function(){return this.type==vt.Keyword&&"as"==this.strValue}},{key:"isKeywordNull",value:function(){return this.type==vt.Keyword&&"null"==this.strValue}},{key:"isKeywordUndefined",value:function(){return this.type==vt.Keyword&&"undefined"==this.strValue}},{key:"isKeywordTrue",value:function(){return this.type==vt.Keyword&&"true"==this.strValue}},{key:"isKeywordFalse",value:function(){return this.type==vt.Keyword&&"false"==this.strValue}},{key:"isKeywordThis",value:function(){return this.type==vt.Keyword&&"this"==this.strValue}},{key:"isError",value:function(){return this.type==vt.Error}},{key:"toNumber",value:function(){return this.type==vt.Number?this.numValue:-1}},{key:"toString",value:function(){switch(this.type){case vt.Character:case vt.Identifier:case vt.Keyword:case vt.Operator:case vt.PrivateIdentifier:case vt.String:case vt.Error:return this.strValue;case vt.Number:return this.numValue.toString();default:return null}}}]),t}();function Gx(t,n,e){return new hs(t,n,vt.Character,e,String.fromCharCode(e))}function Ly(t,n,e){return new hs(t,n,vt.Operator,0,e)}var By=new hs(-1,-1,vt.Character,0,""),zx=function(){function t(n){p(this,t),this.input=n,this.peek=0,this.index=-1,this.length=n.length,this.advance()}return h(t,[{key:"advance",value:function(){this.peek=++this.index>=this.length?0:this.input.charCodeAt(this.index)}},{key:"scanToken",value:function(){for(var e=this.input,r=this.length,i=this.peek,o=this.index;i<=32;){if(++o>=r){i=0;break}i=e.charCodeAt(o)}if(this.peek=i,this.index=o,o>=r)return null;if(Vy(i))return this.scanIdentifier();if(pu(i))return this.scanNumber(o);var a=o;switch(i){case 46:return this.advance(),pu(this.peek)?this.scanNumber(a):Gx(a,this.index,46);case 40:case 41:case du:case Sa:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(a,i);case 39:case 34:return this.scanString();case 35:return this.scanPrivateIdentifier();case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(a,String.fromCharCode(i));case 63:return this.scanQuestion(a);case 60:case 62:return this.scanComplexOperator(a,String.fromCharCode(i),61,"=");case 33:case 61:return this.scanComplexOperator(a,String.fromCharCode(i),61,"=",61,"=");case 38:return this.scanComplexOperator(a,"&",38,"&");case 124:return this.scanComplexOperator(a,"|",124,"|");case 160:for(;dy(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error("Unexpected character [".concat(String.fromCharCode(i),"]"),0)}},{key:"scanCharacter",value:function(e,r){return this.advance(),Gx(e,this.index,r)}},{key:"scanOperator",value:function(e,r){return this.advance(),Ly(e,this.index,r)}},{key:"scanComplexOperator",value:function(e,r,i,o,a,s){this.advance();var u=r;return this.peek==i&&(this.advance(),u+=o),null!=a&&this.peek==a&&(this.advance(),u+=s),Ly(e,this.index,u)}},{key:"scanIdentifier",value:function(){var e=this.index;for(this.advance();jy(this.peek);)this.advance();var r=this.input.substring(e,this.index);return uP.indexOf(r)>-1?function fP(t,n,e){return new hs(t,n,vt.Keyword,0,e)}(e,this.index,r):function lP(t,n,e){return new hs(t,n,vt.Identifier,0,e)}(e,this.index,r)}},{key:"scanPrivateIdentifier",value:function(){var e=this.index;if(this.advance(),!Vy(this.peek))return this.error("Invalid character [#]",-1);for(;jy(this.peek);)this.advance();var r=this.input.substring(e,this.index);return function cP(t,n,e){return new hs(t,n,vt.PrivateIdentifier,0,e)}(e,this.index,r)}},{key:"scanNumber",value:function(e){var r=this.index===e,i=!1;for(this.advance();;){if(!pu(this.peek))if(95===this.peek){if(!pu(this.input.charCodeAt(this.index-1))||!pu(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);i=!0}else if(46===this.peek)r=!1;else{if(!mP(this.peek))break;if(this.advance(),gP(this.peek)&&this.advance(),!pu(this.peek))return this.error("Invalid exponent",-1);r=!1}this.advance()}var o=this.input.substring(e,this.index);i&&(o=o.replace(/_/g,""));var a=r?function _P(t){var n=parseInt(t);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+t);return n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(o):parseFloat(o);return function pP(t,n,e){return new hs(t,n,vt.Number,e,"")}(e,this.index,a)}},{key:"scanString",value:function(){var e=this.index,r=this.peek;this.advance();for(var i="",o=this.index,a=this.input;this.peek!=r;)if(92==this.peek){i+=a.substring(o,this.index),this.advance();var s=void 0;if(this.peek=this.peek,117==this.peek){var u=a.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(u))return this.error("Invalid unicode escape [\\u".concat(u,"]"),0);s=parseInt(u,16);for(var l=0;l<5;l++)this.advance()}else s=yP(this.peek),this.advance();i+=String.fromCharCode(s),o=this.index}else{if(0==this.peek)return this.error("Unterminated quote",0);this.advance()}var c=a.substring(o,this.index);return this.advance(),function dP(t,n,e){return new hs(t,n,vt.String,0,e)}(e,this.index,i+c)}},{key:"scanQuestion",value:function(e){this.advance();var r="?";return(63===this.peek||46===this.peek)&&(r+=46===this.peek?".":"?",this.advance()),Ly(e,this.index,r)}},{key:"error",value:function(e,r){var i=this.index+r;return function hP(t,n,e){return new hs(t,n,vt.Error,0,e)}(i,this.index,"Lexer Error: ".concat(e," at column ").concat(i," in expression [").concat(this.input,"]"))}}]),t}();function Vy(t){return 97<=t&&t<=122||65<=t&&t<=90||95==t||36==t}function jy(t){return py(t)||pu(t)||95==t||36==t}function mP(t){return 101==t||69==t}function gP(t){return 45==t||43==t}function yP(t){switch(t){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return t}}var pf,CP=h(function t(n,e,r){p(this,t),this.strings=n,this.expressions=e,this.offsets=r}),bP=h(function t(n,e,r){p(this,t),this.templateBindings=n,this.warnings=e,this.errors=r}),$x=function(){function t(n){p(this,t),this._lexer=n,this.errors=[]}return h(t,[{key:"parseAction",value:function(e,r,i,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:jo;this._checkNoInterpolation(e,i,a);var s=this._stripComments(e),u=this._lexer.tokenize(s),l=1;r&&(l|=2);var c=new yp(e,i,o,u,l,this.errors,0).parseChain();return new vu(c,e,i,o,this.errors)}},{key:"parseBinding",value:function(e,r,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:jo,a=this._parseBindingAst(e,r,i,o);return new vu(a,e,r,i,this.errors)}},{key:"checkSimpleExpression",value:function(e){var r=new EP;return e.visit(r),r.errors}},{key:"parseSimpleBinding",value:function(e,r,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:jo,a=this._parseBindingAst(e,r,i,o),s=this.checkSimpleExpression(a);return s.length>0&&this._reportError("Host binding expression cannot contain ".concat(s.join(" ")),e,r),new vu(a,e,r,i,this.errors)}},{key:"_reportError",value:function(e,r,i,o){this.errors.push(new gy(e,r,i,o))}},{key:"_parseBindingAst",value:function(e,r,i,o){var a=this._parseQuote(e,r,i);if(null!=a)return a;this._checkNoInterpolation(e,r,o);var s=this._stripComments(e),u=this._lexer.tokenize(s);return new yp(e,r,i,u,0,this.errors,0).parseChain()}},{key:"_parseQuote",value:function(e,r,i){if(null==e)return null;var o=e.indexOf(":");if(-1==o)return null;var a=e.substring(0,o).trim();if(!function vP(t){if(0==t.length)return!1;var n=new zx(t);if(!Vy(n.peek))return!1;for(n.advance();0!==n.peek;){if(!jy(n.peek))return!1;n.advance()}return!0}(a))return null;var s=e.substring(o+1),u=new uf(0,e.length);return new wx(u,u.toAbsolute(i),a,s,r)}},{key:"parseTemplateBindings",value:function(e,r,i,o,a){var s=this._lexer.tokenize(r);return new yp(r,i,a,s,0,this.errors,0).parseTemplateBindings({source:e,span:new Ho(o,o+e.length)})}},{key:"parseInterpolation",value:function(e,r,i,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:jo,s=this.splitInterpolation(e,r,o,a),u=s.strings,l=s.expressions,c=s.offsets;if(0===l.length)return null;for(var f=[],d=0;d3&&void 0!==arguments[3]?arguments[3]:jo,s=[],u=[],l=[],c=i?wP(i):null,f=0,d=!1,v=!1,y=o.start,b=o.end;f-1)break}}catch(d){l.e(d)}finally{l.f()}s>-1&&u>-1&&this._reportError("Got interpolation (".concat(o).concat(a,") where expression was expected"),e,"at column ".concat(s," in"),r)}},{key:"_getInterpolationEndIndex",value:function(e,r,i){var a,o=Me(this._forEachUnquotedChar(e,i));try{for(o.s();!(a=o.n()).done;){var s=a.value;if(e.startsWith(r,s))return s;if(e.startsWith("//",s))return e.indexOf(r,s)}}catch(u){o.e(u)}finally{o.f()}return-1}},{key:"_forEachUnquotedChar",value:oi.mark(function n(e,r){var i,o,a,s;return oi.wrap(function(l){for(;;)switch(l.prev=l.next){case 0:i=null,o=0,a=r;case 3:if(!(a=this.tokens.length}},{key:"inputIndex",get:function(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}},{key:"currentEndIndex",get:function(){return this.index>0?this.peek(-1).end+this.offset:0===this.tokens.length?this.input.length+this.offset:this.next.index+this.offset}},{key:"currentAbsoluteOffset",get:function(){return this.absoluteOffset+this.inputIndex}},{key:"span",value:function(e,r){var i=this.currentEndIndex;if(void 0!==r&&r>this.currentEndIndex&&(i=r),e>i){var o=i;i=e,e=o}return new uf(e,i)}},{key:"sourceSpan",value:function(e,r){var i="".concat(e,"@").concat(this.inputIndex,":").concat(r);return this.sourceSpanCache.has(i)||this.sourceSpanCache.set(i,this.span(e,r).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(i)}},{key:"advance",value:function(){this.index++}},{key:"withContext",value:function(e,r){this.context|=e;var i=r();return this.context^=e,i}},{key:"consumeOptionalCharacter",value:function(e){return!!this.next.isCharacter(e)&&(this.advance(),!0)}},{key:"peekKeywordLet",value:function(){return this.next.isKeywordLet()}},{key:"peekKeywordAs",value:function(){return this.next.isKeywordAs()}},{key:"expectCharacter",value:function(e){this.consumeOptionalCharacter(e)||this.error("Missing expected ".concat(String.fromCharCode(e)))}},{key:"consumeOptionalOperator",value:function(e){return!!this.next.isOperator(e)&&(this.advance(),!0)}},{key:"expectOperator",value:function(e){this.consumeOptionalOperator(e)||this.error("Missing expected operator ".concat(e))}},{key:"prettyPrintToken",value:function(e){return e===By?"end of input":"token ".concat(e)}},{key:"expectIdentifierOrKeyword",value:function(){var e=this.next;return e.isIdentifier()||e.isKeyword()?(this.advance(),e.toString()):(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error("Unexpected ".concat(this.prettyPrintToken(e),", expected identifier or keyword")),null)}},{key:"expectIdentifierOrKeywordOrString",value:function(){var e=this.next;return e.isIdentifier()||e.isKeyword()||e.isString()?(this.advance(),e.toString()):(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error("Unexpected ".concat(this.prettyPrintToken(e),", expected identifier, keyword, or string")),"")}},{key:"parseChain",value:function(){for(var e=[],r=this.inputIndex;this.index":case"<=":case">=":this.advance();var o=this.parseAdditive();r=new Ta(this.span(e),this.sourceSpan(e),i,r,o);continue}break}return r}},{key:"parseAdditive",value:function(){for(var e=this.inputIndex,r=this.parseMultiplicative();this.next.type==vt.Operator;){var i=this.next.strValue;switch(i){case"+":case"-":this.advance();var o=this.parseMultiplicative();r=new Ta(this.span(e),this.sourceSpan(e),i,r,o);continue}break}return r}},{key:"parseMultiplicative",value:function(){for(var e=this.inputIndex,r=this.parsePrefix();this.next.type==vt.Operator;){var i=this.next.strValue;switch(i){case"*":case"%":case"/":this.advance();var o=this.parsePrefix();r=new Ta(this.span(e),this.sourceSpan(e),i,r,o);continue}break}return r}},{key:"parsePrefix",value:function(){if(this.next.type==vt.Operator){var i,e=this.inputIndex;switch(this.next.strValue){case"+":return this.advance(),i=this.parsePrefix(),lf.createPlus(this.span(e),this.sourceSpan(e),i);case"-":return this.advance(),i=this.parsePrefix(),lf.createMinus(this.span(e),this.sourceSpan(e),i);case"!":return this.advance(),i=this.parsePrefix(),new ky(this.span(e),this.sourceSpan(e),i)}}return this.parseCallChain()}},{key:"parseCallChain",value:function(){for(var e=this.inputIndex,r=this.parsePrimary();;)if(this.consumeOptionalCharacter(46))r=this.parseAccessMember(r,e,!1);else if(this.consumeOptionalOperator("?."))r=this.consumeOptionalCharacter(40)?this.parseCall(r,e,!0):this.consumeOptionalCharacter(91)?this.parseKeyedReadOrWrite(r,e,!0):this.parseAccessMember(r,e,!0);else if(this.consumeOptionalCharacter(91))r=this.parseKeyedReadOrWrite(r,e,!1);else if(this.consumeOptionalCharacter(40))r=this.parseCall(r,e,!1);else{if(!this.consumeOptionalOperator("!"))return r;r=new Dy(this.span(e),this.sourceSpan(e),r)}}},{key:"parsePrimary",value:function(){var e=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;var r=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),r}if(this.next.isKeywordNull())return this.advance(),new oo(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new oo(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new oo(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new oo(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new yy(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;var i=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new _v(this.span(e),this.sourceSpan(e),i)}if(this.next.isCharacter(du))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMember(new gp(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){var o=this.next.toNumber();return this.advance(),new oo(this.span(e),this.sourceSpan(e),o)}if(this.next.isString()){var a=this.next.toString();return this.advance(),new oo(this.span(e),this.sourceSpan(e),a)}return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new Co(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error("Unexpected end of expression: ".concat(this.input)),new Co(this.span(e),this.sourceSpan(e))):(this.error("Unexpected token ".concat(this.next)),new Co(this.span(e),this.sourceSpan(e)))}},{key:"parseExpressionList",value:function(e){var r=[];do{if(this.next.isCharacter(e))break;r.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return r}},{key:"parseLiteralMap",value:function(){var e=[],r=[],i=this.inputIndex;if(this.expectCharacter(du),!this.consumeOptionalCharacter(Sa)){this.rbracesExpected++;do{var o=this.inputIndex,a=this.next.isString(),s=this.expectIdentifierOrKeywordOrString();if(e.push({key:s,quoted:a}),a)this.expectCharacter(58),r.push(this.parsePipe());else if(this.consumeOptionalCharacter(58))r.push(this.parsePipe());else{var u=this.span(o),l=this.sourceSpan(o);r.push(new hu(u,l,l,new gp(u,l),s))}}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(Sa)}return new xy(this.span(i),this.sourceSpan(i),e,r)}},{key:"parseAccessMember",value:function(e,r,i){var l,o=this,a=this.inputIndex,s=this.withContext(pf.Writable,function(){var f,d=null!==(f=o.expectIdentifierOrKeyword())&&void 0!==f?f:"";return 0===d.length&&o.error("Expected identifier for property access",e.span.end),d}),u=this.sourceSpan(a);if(i)this.consumeOptionalAssignment()?(this.error("The '?.' operator cannot be used in the assignment"),l=new Co(this.span(r),this.sourceSpan(r))):l=new Ey(this.span(r),this.sourceSpan(r),u,e,s);else if(this.consumeOptionalAssignment()){if(!(1&this.parseFlags))return this.error("Bindings cannot contain assignments"),new Co(this.span(r),this.sourceSpan(r));var c=this.parseConditional();l=new by(this.span(r),this.sourceSpan(r),u,e,s,c)}else l=new hu(this.span(r),this.sourceSpan(r),u,e,s);return l}},{key:"parseCall",value:function(e,r,i){var o=this.inputIndex;this.rparensExpected++;var a=this.parseCallArguments(),s=this.span(o,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(41),this.rparensExpected--;var u=this.span(r),l=this.sourceSpan(r);return i?new Cv(u,l,e,a,s):new cf(u,l,e,a,s)}},{key:"consumeOptionalAssignment",value:function(){return 2&this.parseFlags&&this.next.isOperator("!")&&this.peek(1).isOperator("=")?(this.advance(),this.advance(),!0):this.consumeOptionalOperator("=")}},{key:"parseCallArguments",value:function(){if(this.next.isCharacter(41))return[];var e=[];do{e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return e}},{key:"expectTemplateBindingKey",value:function(){var e="",r=!1,i=this.currentAbsoluteOffset;do{e+=this.expectIdentifierOrKeywordOrString(),(r=this.consumeOptionalOperator("-"))&&(e+="-")}while(r);return{source:e,span:new Ho(i,i+e.length)}}},{key:"parseTemplateBindings",value:function(e){var r=[];for(r.push.apply(r,re(this.parseDirectiveKeywordBindings(e)));this.index1&&void 0!==arguments[1]?arguments[1]:null;this.errors.push(new gy(e,this.input,this.locationText(r),this.location)),this.skip()}},{key:"locationText",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null==e&&(e=this.index),e5&&void 0!==arguments[5]?arguments[5]:null,c=arguments.length>6?arguments[6]:void 0;return p(this,e),(u=n.call(this,a,c)).name=r,u.attrs=i,u.children=o,u.startSourceSpan=s,u.endSourceSpan=l,u}return h(e,[{key:"visit",value:function(i,o){return i.visitElement(this,o)}}]),e}(_p),kv=function(){function t(n,e){p(this,t),this.value=n,this.sourceSpan=e}return h(t,[{key:"visit",value:function(e,r){return e.visitComment(this,r)}}]),t}();function Uo(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=[],i=t.visit?function(o){return t.visit(o,e)||o.visit(t,e)}:function(o){return o.visit(t,e)};return n.forEach(function(o){var a=i(o);a&&r.push(a)}),r}var Dv={AElig:"\xc6",AMP:"&",amp:"&",Aacute:"\xc1",Abreve:"\u0102",Acirc:"\xc2",Acy:"\u0410",Afr:"\ud835\udd04",Agrave:"\xc0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2a53",Aogon:"\u0104",Aopf:"\ud835\udd38",ApplyFunction:"\u2061",af:"\u2061",Aring:"\xc5",angst:"\xc5",Ascr:"\ud835\udc9c",Assign:"\u2254",colone:"\u2254",coloneq:"\u2254",Atilde:"\xc3",Auml:"\xc4",Backslash:"\u2216",setminus:"\u2216",setmn:"\u2216",smallsetminus:"\u2216",ssetmn:"\u2216",Barv:"\u2ae7",Barwed:"\u2306",doublebarwedge:"\u2306",Bcy:"\u0411",Because:"\u2235",becaus:"\u2235",because:"\u2235",Bernoullis:"\u212c",Bscr:"\u212c",bernou:"\u212c",Beta:"\u0392",Bfr:"\ud835\udd05",Bopf:"\ud835\udd39",Breve:"\u02d8",breve:"\u02d8",Bumpeq:"\u224e",HumpDownHump:"\u224e",bump:"\u224e",CHcy:"\u0427",COPY:"\xa9",copy:"\xa9",Cacute:"\u0106",Cap:"\u22d2",CapitalDifferentialD:"\u2145",DD:"\u2145",Cayleys:"\u212d",Cfr:"\u212d",Ccaron:"\u010c",Ccedil:"\xc7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010a",Cedilla:"\xb8",cedil:"\xb8",CenterDot:"\xb7",centerdot:"\xb7",middot:"\xb7",Chi:"\u03a7",CircleDot:"\u2299",odot:"\u2299",CircleMinus:"\u2296",ominus:"\u2296",CirclePlus:"\u2295",oplus:"\u2295",CircleTimes:"\u2297",otimes:"\u2297",ClockwiseContourIntegral:"\u2232",cwconint:"\u2232",CloseCurlyDoubleQuote:"\u201d",rdquo:"\u201d",rdquor:"\u201d",CloseCurlyQuote:"\u2019",rsquo:"\u2019",rsquor:"\u2019",Colon:"\u2237",Proportion:"\u2237",Colone:"\u2a74",Congruent:"\u2261",equiv:"\u2261",Conint:"\u222f",DoubleContourIntegral:"\u222f",ContourIntegral:"\u222e",conint:"\u222e",oint:"\u222e",Copf:"\u2102",complexes:"\u2102",Coproduct:"\u2210",coprod:"\u2210",CounterClockwiseContourIntegral:"\u2233",awconint:"\u2233",Cross:"\u2a2f",Cscr:"\ud835\udc9e",Cup:"\u22d3",CupCap:"\u224d",asympeq:"\u224d",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040f",Dagger:"\u2021",ddagger:"\u2021",Darr:"\u21a1",Dashv:"\u2ae4",DoubleLeftTee:"\u2ae4",Dcaron:"\u010e",Dcy:"\u0414",Del:"\u2207",nabla:"\u2207",Delta:"\u0394",Dfr:"\ud835\udd07",DiacriticalAcute:"\xb4",acute:"\xb4",DiacriticalDot:"\u02d9",dot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",dblac:"\u02dd",DiacriticalGrave:"`",grave:"`",DiacriticalTilde:"\u02dc",tilde:"\u02dc",Diamond:"\u22c4",diam:"\u22c4",diamond:"\u22c4",DifferentialD:"\u2146",dd:"\u2146",Dopf:"\ud835\udd3b",Dot:"\xa8",DoubleDot:"\xa8",die:"\xa8",uml:"\xa8",DotDot:"\u20dc",DotEqual:"\u2250",doteq:"\u2250",esdot:"\u2250",DoubleDownArrow:"\u21d3",Downarrow:"\u21d3",dArr:"\u21d3",DoubleLeftArrow:"\u21d0",Leftarrow:"\u21d0",lArr:"\u21d0",DoubleLeftRightArrow:"\u21d4",Leftrightarrow:"\u21d4",hArr:"\u21d4",iff:"\u21d4",DoubleLongLeftArrow:"\u27f8",Longleftarrow:"\u27f8",xlArr:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",Longleftrightarrow:"\u27fa",xhArr:"\u27fa",DoubleLongRightArrow:"\u27f9",Longrightarrow:"\u27f9",xrArr:"\u27f9",DoubleRightArrow:"\u21d2",Implies:"\u21d2",Rightarrow:"\u21d2",rArr:"\u21d2",DoubleRightTee:"\u22a8",vDash:"\u22a8",DoubleUpArrow:"\u21d1",Uparrow:"\u21d1",uArr:"\u21d1",DoubleUpDownArrow:"\u21d5",Updownarrow:"\u21d5",vArr:"\u21d5",DoubleVerticalBar:"\u2225",par:"\u2225",parallel:"\u2225",shortparallel:"\u2225",spar:"\u2225",DownArrow:"\u2193",ShortDownArrow:"\u2193",darr:"\u2193",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",duarr:"\u21f5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",leftharpoondown:"\u21bd",lhard:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",rhard:"\u21c1",rightharpoondown:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",top:"\u22a4",DownTeeArrow:"\u21a7",mapstodown:"\u21a7",Dscr:"\ud835\udc9f",Dstrok:"\u0110",ENG:"\u014a",ETH:"\xd0",Eacute:"\xc9",Ecaron:"\u011a",Ecirc:"\xca",Ecy:"\u042d",Edot:"\u0116",Efr:"\ud835\udd08",Egrave:"\xc8",Element:"\u2208",in:"\u2208",isin:"\u2208",isinv:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25fb",EmptyVerySmallSquare:"\u25ab",Eogon:"\u0118",Eopf:"\ud835\udd3c",Epsilon:"\u0395",Equal:"\u2a75",EqualTilde:"\u2242",eqsim:"\u2242",esim:"\u2242",Equilibrium:"\u21cc",rightleftharpoons:"\u21cc",rlhar:"\u21cc",Escr:"\u2130",expectation:"\u2130",Esim:"\u2a73",Eta:"\u0397",Euml:"\xcb",Exists:"\u2203",exist:"\u2203",ExponentialE:"\u2147",ee:"\u2147",exponentiale:"\u2147",Fcy:"\u0424",Ffr:"\ud835\udd09",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",blacksquare:"\u25aa",squarf:"\u25aa",squf:"\u25aa",Fopf:"\ud835\udd3d",ForAll:"\u2200",forall:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",gt:">",Gamma:"\u0393",Gammad:"\u03dc",Gbreve:"\u011e",Gcedil:"\u0122",Gcirc:"\u011c",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\ud835\udd0a",Gg:"\u22d9",ggg:"\u22d9",Gopf:"\ud835\udd3e",GreaterEqual:"\u2265",ge:"\u2265",geq:"\u2265",GreaterEqualLess:"\u22db",gel:"\u22db",gtreqless:"\u22db",GreaterFullEqual:"\u2267",gE:"\u2267",geqq:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",gl:"\u2277",gtrless:"\u2277",GreaterSlantEqual:"\u2a7e",geqslant:"\u2a7e",ges:"\u2a7e",GreaterTilde:"\u2273",gsim:"\u2273",gtrsim:"\u2273",Gscr:"\ud835\udca2",Gt:"\u226b",NestedGreaterGreater:"\u226b",gg:"\u226b",HARDcy:"\u042a",Hacek:"\u02c7",caron:"\u02c7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210c",Poincareplane:"\u210c",HilbertSpace:"\u210b",Hscr:"\u210b",hamilt:"\u210b",Hopf:"\u210d",quaternions:"\u210d",HorizontalLine:"\u2500",boxh:"\u2500",Hstrok:"\u0126",HumpEqual:"\u224f",bumpe:"\u224f",bumpeq:"\u224f",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xcd",Icirc:"\xce",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Im:"\u2111",image:"\u2111",imagpart:"\u2111",Igrave:"\xcc",Imacr:"\u012a",ImaginaryI:"\u2148",ii:"\u2148",Int:"\u222c",Integral:"\u222b",int:"\u222b",Intersection:"\u22c2",bigcap:"\u22c2",xcap:"\u22c2",InvisibleComma:"\u2063",ic:"\u2063",InvisibleTimes:"\u2062",it:"\u2062",Iogon:"\u012e",Iopf:"\ud835\udd40",Iota:"\u0399",Iscr:"\u2110",imagline:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xcf",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\ud835\udd0d",Jopf:"\ud835\udd41",Jscr:"\ud835\udca5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040c",Kappa:"\u039a",Kcedil:"\u0136",Kcy:"\u041a",Kfr:"\ud835\udd0e",Kopf:"\ud835\udd42",Kscr:"\ud835\udca6",LJcy:"\u0409",LT:"<",lt:"<",Lacute:"\u0139",Lambda:"\u039b",Lang:"\u27ea",Laplacetrf:"\u2112",Lscr:"\u2112",lagran:"\u2112",Larr:"\u219e",twoheadleftarrow:"\u219e",Lcaron:"\u013d",Lcedil:"\u013b",Lcy:"\u041b",LeftAngleBracket:"\u27e8",lang:"\u27e8",langle:"\u27e8",LeftArrow:"\u2190",ShortLeftArrow:"\u2190",larr:"\u2190",leftarrow:"\u2190",slarr:"\u2190",LeftArrowBar:"\u21e4",larrb:"\u21e4",LeftArrowRightArrow:"\u21c6",leftrightarrows:"\u21c6",lrarr:"\u21c6",LeftCeiling:"\u2308",lceil:"\u2308",LeftDoubleBracket:"\u27e6",lobrk:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",dharl:"\u21c3",downharpoonleft:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",lfloor:"\u230a",LeftRightArrow:"\u2194",harr:"\u2194",leftrightarrow:"\u2194",LeftRightVector:"\u294e",LeftTee:"\u22a3",dashv:"\u22a3",LeftTeeArrow:"\u21a4",mapstoleft:"\u21a4",LeftTeeVector:"\u295a",LeftTriangle:"\u22b2",vartriangleleft:"\u22b2",vltri:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",ltrie:"\u22b4",trianglelefteq:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",uharl:"\u21bf",upharpoonleft:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",leftharpoonup:"\u21bc",lharu:"\u21bc",LeftVectorBar:"\u2952",LessEqualGreater:"\u22da",leg:"\u22da",lesseqgtr:"\u22da",LessFullEqual:"\u2266",lE:"\u2266",leqq:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",lg:"\u2276",LessLess:"\u2aa1",LessSlantEqual:"\u2a7d",leqslant:"\u2a7d",les:"\u2a7d",LessTilde:"\u2272",lesssim:"\u2272",lsim:"\u2272",Lfr:"\ud835\udd0f",Ll:"\u22d8",Lleftarrow:"\u21da",lAarr:"\u21da",Lmidot:"\u013f",LongLeftArrow:"\u27f5",longleftarrow:"\u27f5",xlarr:"\u27f5",LongLeftRightArrow:"\u27f7",longleftrightarrow:"\u27f7",xharr:"\u27f7",LongRightArrow:"\u27f6",longrightarrow:"\u27f6",xrarr:"\u27f6",Lopf:"\ud835\udd43",LowerLeftArrow:"\u2199",swarr:"\u2199",swarrow:"\u2199",LowerRightArrow:"\u2198",searr:"\u2198",searrow:"\u2198",Lsh:"\u21b0",lsh:"\u21b0",Lstrok:"\u0141",Lt:"\u226a",NestedLessLess:"\u226a",ll:"\u226a",Map:"\u2905",Mcy:"\u041c",MediumSpace:"\u205f",Mellintrf:"\u2133",Mscr:"\u2133",phmmat:"\u2133",Mfr:"\ud835\udd10",MinusPlus:"\u2213",mnplus:"\u2213",mp:"\u2213",Mopf:"\ud835\udd44",Mu:"\u039c",NJcy:"\u040a",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041d",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",ZeroWidthSpace:"\u200b",NewLine:"\n",Nfr:"\ud835\udd11",NoBreak:"\u2060",NonBreakingSpace:"\xa0",nbsp:"\xa0",Nopf:"\u2115",naturals:"\u2115",Not:"\u2aec",NotCongruent:"\u2262",nequiv:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",npar:"\u2226",nparallel:"\u2226",nshortparallel:"\u2226",nspar:"\u2226",NotElement:"\u2209",notin:"\u2209",notinva:"\u2209",NotEqual:"\u2260",ne:"\u2260",NotEqualTilde:"\u2242\u0338",nesim:"\u2242\u0338",NotExists:"\u2204",nexist:"\u2204",nexists:"\u2204",NotGreater:"\u226f",ngt:"\u226f",ngtr:"\u226f",NotGreaterEqual:"\u2271",nge:"\u2271",ngeq:"\u2271",NotGreaterFullEqual:"\u2267\u0338",ngE:"\u2267\u0338",ngeqq:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",nGtv:"\u226b\u0338",NotGreaterLess:"\u2279",ntgl:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",NotGreaterTilde:"\u2275",ngsim:"\u2275",NotHumpDownHump:"\u224e\u0338",nbump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",nbumpe:"\u224f\u0338",NotLeftTriangle:"\u22ea",nltri:"\u22ea",ntriangleleft:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",nltrie:"\u22ec",ntrianglelefteq:"\u22ec",NotLess:"\u226e",nless:"\u226e",nlt:"\u226e",NotLessEqual:"\u2270",nle:"\u2270",nleq:"\u2270",NotLessGreater:"\u2278",ntlg:"\u2278",NotLessLess:"\u226a\u0338",nLtv:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",NotLessTilde:"\u2274",nlsim:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",NotPrecedes:"\u2280",npr:"\u2280",nprec:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",npre:"\u2aaf\u0338",npreceq:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",nprcue:"\u22e0",NotReverseElement:"\u220c",notni:"\u220c",notniva:"\u220c",NotRightTriangle:"\u22eb",nrtri:"\u22eb",ntriangleright:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",nrtrie:"\u22ed",ntrianglerighteq:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",nsqsube:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",nsqsupe:"\u22e3",NotSubset:"\u2282\u20d2",nsubset:"\u2282\u20d2",vnsub:"\u2282\u20d2",NotSubsetEqual:"\u2288",nsube:"\u2288",nsubseteq:"\u2288",NotSucceeds:"\u2281",nsc:"\u2281",nsucc:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",nsce:"\u2ab0\u0338",nsucceq:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",nsccue:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",nsupset:"\u2283\u20d2",vnsup:"\u2283\u20d2",NotSupersetEqual:"\u2289",nsupe:"\u2289",nsupseteq:"\u2289",NotTilde:"\u2241",nsim:"\u2241",NotTildeEqual:"\u2244",nsime:"\u2244",nsimeq:"\u2244",NotTildeFullEqual:"\u2247",ncong:"\u2247",NotTildeTilde:"\u2249",nap:"\u2249",napprox:"\u2249",NotVerticalBar:"\u2224",nmid:"\u2224",nshortmid:"\u2224",nsmid:"\u2224",Nscr:"\ud835\udca9",Ntilde:"\xd1",Nu:"\u039d",OElig:"\u0152",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"\u041e",Odblac:"\u0150",Ofr:"\ud835\udd12",Ograve:"\xd2",Omacr:"\u014c",Omega:"\u03a9",ohm:"\u03a9",Omicron:"\u039f",Oopf:"\ud835\udd46",OpenCurlyDoubleQuote:"\u201c",ldquo:"\u201c",OpenCurlyQuote:"\u2018",lsquo:"\u2018",Or:"\u2a54",Oscr:"\ud835\udcaa",Oslash:"\xd8",Otilde:"\xd5",Otimes:"\u2a37",Ouml:"\xd6",OverBar:"\u203e",oline:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",tbrk:"\u23b4",OverParenthesis:"\u23dc",PartialD:"\u2202",part:"\u2202",Pcy:"\u041f",Pfr:"\ud835\udd13",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",plusmn:"\xb1",pm:"\xb1",Popf:"\u2119",primes:"\u2119",Pr:"\u2abb",Precedes:"\u227a",pr:"\u227a",prec:"\u227a",PrecedesEqual:"\u2aaf",pre:"\u2aaf",preceq:"\u2aaf",PrecedesSlantEqual:"\u227c",prcue:"\u227c",preccurlyeq:"\u227c",PrecedesTilde:"\u227e",precsim:"\u227e",prsim:"\u227e",Prime:"\u2033",Product:"\u220f",prod:"\u220f",Proportional:"\u221d",prop:"\u221d",propto:"\u221d",varpropto:"\u221d",vprop:"\u221d",Pscr:"\ud835\udcab",Psi:"\u03a8",QUOT:'"',quot:'"',Qfr:"\ud835\udd14",Qopf:"\u211a",rationals:"\u211a",Qscr:"\ud835\udcac",RBarr:"\u2910",drbkarow:"\u2910",REG:"\xae",circledR:"\xae",reg:"\xae",Racute:"\u0154",Rang:"\u27eb",Rarr:"\u21a0",twoheadrightarrow:"\u21a0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211c",Rfr:"\u211c",real:"\u211c",realpart:"\u211c",ReverseElement:"\u220b",SuchThat:"\u220b",ni:"\u220b",niv:"\u220b",ReverseEquilibrium:"\u21cb",leftrightharpoons:"\u21cb",lrhar:"\u21cb",ReverseUpEquilibrium:"\u296f",duhar:"\u296f",Rho:"\u03a1",RightAngleBracket:"\u27e9",rang:"\u27e9",rangle:"\u27e9",RightArrow:"\u2192",ShortRightArrow:"\u2192",rarr:"\u2192",rightarrow:"\u2192",srarr:"\u2192",RightArrowBar:"\u21e5",rarrb:"\u21e5",RightArrowLeftArrow:"\u21c4",rightleftarrows:"\u21c4",rlarr:"\u21c4",RightCeiling:"\u2309",rceil:"\u2309",RightDoubleBracket:"\u27e7",robrk:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",dharr:"\u21c2",downharpoonright:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",rfloor:"\u230b",RightTee:"\u22a2",vdash:"\u22a2",RightTeeArrow:"\u21a6",map:"\u21a6",mapsto:"\u21a6",RightTeeVector:"\u295b",RightTriangle:"\u22b3",vartriangleright:"\u22b3",vrtri:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",rtrie:"\u22b5",trianglerighteq:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",uharr:"\u21be",upharpoonright:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",rharu:"\u21c0",rightharpoonup:"\u21c0",RightVectorBar:"\u2953",Ropf:"\u211d",reals:"\u211d",RoundImplies:"\u2970",Rrightarrow:"\u21db",rAarr:"\u21db",Rscr:"\u211b",realine:"\u211b",Rsh:"\u21b1",rsh:"\u21b1",RuleDelayed:"\u29f4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042c",Sacute:"\u015a",Sc:"\u2abc",Scaron:"\u0160",Scedil:"\u015e",Scirc:"\u015c",Scy:"\u0421",Sfr:"\ud835\udd16",ShortUpArrow:"\u2191",UpArrow:"\u2191",uarr:"\u2191",uparrow:"\u2191",Sigma:"\u03a3",SmallCircle:"\u2218",compfn:"\u2218",Sopf:"\ud835\udd4a",Sqrt:"\u221a",radic:"\u221a",Square:"\u25a1",squ:"\u25a1",square:"\u25a1",SquareIntersection:"\u2293",sqcap:"\u2293",SquareSubset:"\u228f",sqsub:"\u228f",sqsubset:"\u228f",SquareSubsetEqual:"\u2291",sqsube:"\u2291",sqsubseteq:"\u2291",SquareSuperset:"\u2290",sqsup:"\u2290",sqsupset:"\u2290",SquareSupersetEqual:"\u2292",sqsupe:"\u2292",sqsupseteq:"\u2292",SquareUnion:"\u2294",sqcup:"\u2294",Sscr:"\ud835\udcae",Star:"\u22c6",sstarf:"\u22c6",Sub:"\u22d0",Subset:"\u22d0",SubsetEqual:"\u2286",sube:"\u2286",subseteq:"\u2286",Succeeds:"\u227b",sc:"\u227b",succ:"\u227b",SucceedsEqual:"\u2ab0",sce:"\u2ab0",succeq:"\u2ab0",SucceedsSlantEqual:"\u227d",sccue:"\u227d",succcurlyeq:"\u227d",SucceedsTilde:"\u227f",scsim:"\u227f",succsim:"\u227f",Sum:"\u2211",sum:"\u2211",Sup:"\u22d1",Supset:"\u22d1",Superset:"\u2283",sup:"\u2283",supset:"\u2283",SupersetEqual:"\u2287",supe:"\u2287",supseteq:"\u2287",THORN:"\xde",TRADE:"\u2122",trade:"\u2122",TSHcy:"\u040b",TScy:"\u0426",Tab:"\t",Tau:"\u03a4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\ud835\udd17",Therefore:"\u2234",there4:"\u2234",therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",thinsp:"\u2009",Tilde:"\u223c",sim:"\u223c",thicksim:"\u223c",thksim:"\u223c",TildeEqual:"\u2243",sime:"\u2243",simeq:"\u2243",TildeFullEqual:"\u2245",cong:"\u2245",TildeTilde:"\u2248",ap:"\u2248",approx:"\u2248",asymp:"\u2248",thickapprox:"\u2248",thkap:"\u2248",Topf:"\ud835\udd4b",TripleDot:"\u20db",tdot:"\u20db",Tscr:"\ud835\udcaf",Tstrok:"\u0166",Uacute:"\xda",Uarr:"\u219f",Uarrocir:"\u2949",Ubrcy:"\u040e",Ubreve:"\u016c",Ucirc:"\xdb",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\ud835\udd18",Ugrave:"\xd9",Umacr:"\u016a",UnderBar:"_",lowbar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",bbrk:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",bigcup:"\u22c3",xcup:"\u22c3",UnionPlus:"\u228e",uplus:"\u228e",Uogon:"\u0172",Uopf:"\ud835\udd4c",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",udarr:"\u21c5",UpDownArrow:"\u2195",updownarrow:"\u2195",varr:"\u2195",UpEquilibrium:"\u296e",udhar:"\u296e",UpTee:"\u22a5",bot:"\u22a5",bottom:"\u22a5",perp:"\u22a5",UpTeeArrow:"\u21a5",mapstoup:"\u21a5",UpperLeftArrow:"\u2196",nwarr:"\u2196",nwarrow:"\u2196",UpperRightArrow:"\u2197",nearr:"\u2197",nearrow:"\u2197",Upsi:"\u03d2",upsih:"\u03d2",Upsilon:"\u03a5",Uring:"\u016e",Uscr:"\ud835\udcb0",Utilde:"\u0168",Uuml:"\xdc",VDash:"\u22ab",Vbar:"\u2aeb",Vcy:"\u0412",Vdash:"\u22a9",Vdashl:"\u2ae6",Vee:"\u22c1",bigvee:"\u22c1",xvee:"\u22c1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",mid:"\u2223",shortmid:"\u2223",smid:"\u2223",VerticalLine:"|",verbar:"|",vert:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",wr:"\u2240",wreath:"\u2240",VeryThinSpace:"\u200a",hairsp:"\u200a",Vfr:"\ud835\udd19",Vopf:"\ud835\udd4d",Vscr:"\ud835\udcb1",Vvdash:"\u22aa",Wcirc:"\u0174",Wedge:"\u22c0",bigwedge:"\u22c0",xwedge:"\u22c0",Wfr:"\ud835\udd1a",Wopf:"\ud835\udd4e",Wscr:"\ud835\udcb2",Xfr:"\ud835\udd1b",Xi:"\u039e",Xopf:"\ud835\udd4f",Xscr:"\ud835\udcb3",YAcy:"\u042f",YIcy:"\u0407",YUcy:"\u042e",Yacute:"\xdd",Ycirc:"\u0176",Ycy:"\u042b",Yfr:"\ud835\udd1c",Yopf:"\ud835\udd50",Yscr:"\ud835\udcb4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017d",Zcy:"\u0417",Zdot:"\u017b",Zeta:"\u0396",Zfr:"\u2128",zeetrf:"\u2128",Zopf:"\u2124",integers:"\u2124",Zscr:"\ud835\udcb5",aacute:"\xe1",abreve:"\u0103",ac:"\u223e",mstpos:"\u223e",acE:"\u223e\u0333",acd:"\u223f",acirc:"\xe2",acy:"\u0430",aelig:"\xe6",afr:"\ud835\udd1e",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03b1",amacr:"\u0101",amalg:"\u2a3f",and:"\u2227",wedge:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",angle:"\u2220",ange:"\u29a4",angmsd:"\u2221",measuredangle:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angzarr:"\u237c",aogon:"\u0105",aopf:"\ud835\udd52",apE:"\u2a70",apacir:"\u2a6f",ape:"\u224a",approxeq:"\u224a",apid:"\u224b",apos:"'",aring:"\xe5",ascr:"\ud835\udcb6",ast:"*",midast:"*",atilde:"\xe3",auml:"\xe4",awint:"\u2a11",bNot:"\u2aed",backcong:"\u224c",bcong:"\u224c",backepsilon:"\u03f6",bepsi:"\u03f6",backprime:"\u2035",bprime:"\u2035",backsim:"\u223d",bsim:"\u223d",backsimeq:"\u22cd",bsime:"\u22cd",barvee:"\u22bd",barwed:"\u2305",barwedge:"\u2305",bbrktbrk:"\u23b6",bcy:"\u0431",bdquo:"\u201e",ldquor:"\u201e",bemptyv:"\u29b0",beta:"\u03b2",beth:"\u2136",between:"\u226c",twixt:"\u226c",bfr:"\ud835\udd1f",bigcirc:"\u25ef",xcirc:"\u25ef",bigodot:"\u2a00",xodot:"\u2a00",bigoplus:"\u2a01",xoplus:"\u2a01",bigotimes:"\u2a02",xotime:"\u2a02",bigsqcup:"\u2a06",xsqcup:"\u2a06",bigstar:"\u2605",starf:"\u2605",bigtriangledown:"\u25bd",xdtri:"\u25bd",bigtriangleup:"\u25b3",xutri:"\u25b3",biguplus:"\u2a04",xuplus:"\u2a04",bkarow:"\u290d",rbarr:"\u290d",blacklozenge:"\u29eb",lozf:"\u29eb",blacktriangle:"\u25b4",utrif:"\u25b4",blacktriangledown:"\u25be",dtrif:"\u25be",blacktriangleleft:"\u25c2",ltrif:"\u25c2",blacktriangleright:"\u25b8",rtrif:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bnot:"\u2310",bopf:"\ud835\udd53",bowtie:"\u22c8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255d",boxUR:"\u255a",boxUl:"\u255c",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256c",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256b",boxVl:"\u2562",boxVr:"\u255f",boxbox:"\u29c9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250c",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252c",boxhu:"\u2534",boxminus:"\u229f",minusb:"\u229f",boxplus:"\u229e",plusb:"\u229e",boxtimes:"\u22a0",timesb:"\u22a0",boxuL:"\u255b",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256a",boxvL:"\u2561",boxvR:"\u255e",boxvh:"\u253c",boxvl:"\u2524",boxvr:"\u251c",brvbar:"\xa6",bscr:"\ud835\udcb7",bsemi:"\u204f",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bumpE:"\u2aae",cacute:"\u0107",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",caps:"\u2229\ufe00",caret:"\u2041",ccaps:"\u2a4d",ccaron:"\u010d",ccedil:"\xe7",ccirc:"\u0109",ccups:"\u2a4c",ccupssm:"\u2a50",cdot:"\u010b",cemptyv:"\u29b2",cent:"\xa2",cfr:"\ud835\udd20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03c7",cir:"\u25cb",cirE:"\u29c3",circ:"\u02c6",circeq:"\u2257",cire:"\u2257",circlearrowleft:"\u21ba",olarr:"\u21ba",circlearrowright:"\u21bb",orarr:"\u21bb",circledS:"\u24c8",oS:"\u24c8",circledast:"\u229b",oast:"\u229b",circledcirc:"\u229a",ocir:"\u229a",circleddash:"\u229d",odash:"\u229d",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",clubs:"\u2663",clubsuit:"\u2663",colon:":",comma:",",commat:"@",comp:"\u2201",complement:"\u2201",congdot:"\u2a6d",copf:"\ud835\udd54",copysr:"\u2117",crarr:"\u21b5",cross:"\u2717",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",curlyeqprec:"\u22de",cuesc:"\u22df",curlyeqsucc:"\u22df",cularr:"\u21b6",curvearrowleft:"\u21b6",cularrp:"\u293d",cup:"\u222a",cupbrcap:"\u2a48",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curvearrowright:"\u21b7",curarrm:"\u293c",curlyvee:"\u22ce",cuvee:"\u22ce",curlywedge:"\u22cf",cuwed:"\u22cf",curren:"\xa4",cwint:"\u2231",cylcty:"\u232d",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",dash:"\u2010",hyphen:"\u2010",dbkarow:"\u290f",rBarr:"\u290f",dcaron:"\u010f",dcy:"\u0434",ddarr:"\u21ca",downdownarrows:"\u21ca",ddotseq:"\u2a77",eDDot:"\u2a77",deg:"\xb0",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",dfr:"\ud835\udd21",diamondsuit:"\u2666",diams:"\u2666",digamma:"\u03dd",gammad:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",djcy:"\u0452",dlcorn:"\u231e",llcorner:"\u231e",dlcrop:"\u230d",dollar:"$",dopf:"\ud835\udd55",doteqdot:"\u2251",eDot:"\u2251",dotminus:"\u2238",minusd:"\u2238",dotplus:"\u2214",plusdo:"\u2214",dotsquare:"\u22a1",sdotb:"\u22a1",drcorn:"\u231f",lrcorner:"\u231f",drcrop:"\u230c",dscr:"\ud835\udcb9",dscy:"\u0455",dsol:"\u29f6",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",triangledown:"\u25bf",dwangle:"\u29a6",dzcy:"\u045f",dzigrarr:"\u27ff",eacute:"\xe9",easter:"\u2a6e",ecaron:"\u011b",ecir:"\u2256",eqcirc:"\u2256",ecirc:"\xea",ecolon:"\u2255",eqcolon:"\u2255",ecy:"\u044d",edot:"\u0117",efDot:"\u2252",fallingdotseq:"\u2252",efr:"\ud835\udd22",eg:"\u2a9a",egrave:"\xe8",egs:"\u2a96",eqslantgtr:"\u2a96",egsdot:"\u2a98",el:"\u2a99",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",eqslantless:"\u2a95",elsdot:"\u2a97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",varnothing:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014b",ensp:"\u2002",eogon:"\u0119",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",epsilon:"\u03b5",epsiv:"\u03f5",straightepsilon:"\u03f5",varepsilon:"\u03f5",equals:"=",equest:"\u225f",questeq:"\u225f",equivDD:"\u2a78",eqvparsl:"\u29e5",erDot:"\u2253",risingdotseq:"\u2253",erarr:"\u2971",escr:"\u212f",eta:"\u03b7",eth:"\xf0",euml:"\xeb",euro:"\u20ac",excl:"!",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",ffr:"\ud835\udd23",filig:"\ufb01",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",fopf:"\ud835\udd57",fork:"\u22d4",pitchfork:"\u22d4",forkv:"\u2ad9",fpartint:"\u2a0d",frac12:"\xbd",half:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",sfrown:"\u2322",fscr:"\ud835\udcbb",gEl:"\u2a8c",gtreqqless:"\u2a8c",gacute:"\u01f5",gamma:"\u03b3",gap:"\u2a86",gtrapprox:"\u2a86",gbreve:"\u011f",gcirc:"\u011d",gcy:"\u0433",gdot:"\u0121",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",gfr:"\ud835\udd24",gimel:"\u2137",gjcy:"\u0453",glE:"\u2a92",gla:"\u2aa5",glj:"\u2aa4",gnE:"\u2269",gneqq:"\u2269",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gneq:"\u2a88",gnsim:"\u22e7",gopf:"\ud835\udd58",gscr:"\u210a",gsime:"\u2a8e",gsiml:"\u2a90",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtrdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrarr:"\u2978",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",hardcy:"\u044a",harrcir:"\u2948",harrw:"\u21ad",leftrightsquigarrow:"\u21ad",hbar:"\u210f",hslash:"\u210f",planck:"\u210f",plankv:"\u210f",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",mldr:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",hksearow:"\u2925",searhk:"\u2925",hkswarow:"\u2926",swarhk:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",larrhk:"\u21a9",hookrightarrow:"\u21aa",rarrhk:"\u21aa",hopf:"\ud835\udd59",horbar:"\u2015",hscr:"\ud835\udcbd",hstrok:"\u0127",hybull:"\u2043",iacute:"\xed",icirc:"\xee",icy:"\u0438",iecy:"\u0435",iexcl:"\xa1",ifr:"\ud835\udd26",igrave:"\xec",iiiint:"\u2a0c",qint:"\u2a0c",iiint:"\u222d",tint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012b",imath:"\u0131",inodot:"\u0131",imof:"\u22b7",imped:"\u01b5",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",intcal:"\u22ba",intercal:"\u22ba",intlarhk:"\u2a17",intprod:"\u2a3c",iprod:"\u2a3c",iocy:"\u0451",iogon:"\u012f",iopf:"\ud835\udd5a",iota:"\u03b9",iquest:"\xbf",iscr:"\ud835\udcbe",isinE:"\u22f9",isindot:"\u22f5",isins:"\u22f4",isinsv:"\u22f3",itilde:"\u0129",iukcy:"\u0456",iuml:"\xef",jcirc:"\u0135",jcy:"\u0439",jfr:"\ud835\udd27",jmath:"\u0237",jopf:"\ud835\udd5b",jscr:"\ud835\udcbf",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03ba",kappav:"\u03f0",varkappa:"\u03f0",kcedil:"\u0137",kcy:"\u043a",kfr:"\ud835\udd28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045c",kopf:"\ud835\udd5c",kscr:"\ud835\udcc0",lAtail:"\u291b",lBarr:"\u290e",lEg:"\u2a8b",lesseqqgtr:"\u2a8b",lHar:"\u2962",lacute:"\u013a",laemptyv:"\u29b4",lambda:"\u03bb",langd:"\u2991",lap:"\u2a85",lessapprox:"\u2a85",laquo:"\xab",larrbfs:"\u291f",larrfs:"\u291d",larrlp:"\u21ab",looparrowleft:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",leftarrowtail:"\u21a2",lat:"\u2aab",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lcub:"{",lbrack:"[",lsqb:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",lcaron:"\u013e",lcedil:"\u013c",lcy:"\u043b",ldca:"\u2936",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",leq:"\u2264",leftleftarrows:"\u21c7",llarr:"\u21c7",leftthreetimes:"\u22cb",lthree:"\u22cb",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessdot:"\u22d6",ltdot:"\u22d6",lfisht:"\u297c",lfr:"\ud835\udd29",lgE:"\u2a91",lharul:"\u296a",lhblk:"\u2584",ljcy:"\u0459",llhard:"\u296b",lltri:"\u25fa",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnE:"\u2268",lneqq:"\u2268",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lneq:"\u2a87",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",longmapsto:"\u27fc",xmap:"\u27fc",looparrowright:"\u21ac",rarrlp:"\u21ac",lopar:"\u2985",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",loz:"\u25ca",lozenge:"\u25ca",lpar:"(",lparlt:"\u2993",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",lsime:"\u2a8d",lsimg:"\u2a8f",lsquor:"\u201a",sbquo:"\u201a",lstrok:"\u0142",ltcc:"\u2aa6",ltcir:"\u2a79",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltrPar:"\u2996",ltri:"\u25c3",triangleleft:"\u25c3",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",mDDot:"\u223a",macr:"\xaf",strns:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",marker:"\u25ae",mcomma:"\u2a29",mcy:"\u043c",mdash:"\u2014",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",midcir:"\u2af0",minus:"\u2212",minusdu:"\u2a2a",mlcp:"\u2adb",models:"\u22a7",mopf:"\ud835\udd5e",mscr:"\ud835\udcc2",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nGg:"\u22d9\u0338",nGt:"\u226b\u20d2",nLeftarrow:"\u21cd",nlArr:"\u21cd",nLeftrightarrow:"\u21ce",nhArr:"\u21ce",nLl:"\u22d8\u0338",nLt:"\u226a\u20d2",nRightarrow:"\u21cf",nrArr:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",nacute:"\u0144",nang:"\u2220\u20d2",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",natur:"\u266e",natural:"\u266e",ncap:"\u2a43",ncaron:"\u0148",ncedil:"\u0146",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",ncy:"\u043d",ndash:"\u2013",neArr:"\u21d7",nearhk:"\u2924",nedot:"\u2250\u0338",nesear:"\u2928",toea:"\u2928",nfr:"\ud835\udd2b",nharr:"\u21ae",nleftrightarrow:"\u21ae",nhpar:"\u2af2",nis:"\u22fc",nisd:"\u22fa",njcy:"\u045a",nlE:"\u2266\u0338",nleqq:"\u2266\u0338",nlarr:"\u219a",nleftarrow:"\u219a",nldr:"\u2025",nopf:"\ud835\udd5f",not:"\xac",notinE:"\u22f9\u0338",notindot:"\u22f5\u0338",notinvb:"\u22f7",notinvc:"\u22f6",notnivb:"\u22fe",notnivc:"\u22fd",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",nrarr:"\u219b",nrightarrow:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nscr:"\ud835\udcc3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsubseteqq:"\u2ac5\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupseteqq:"\u2ac6\u0338",ntilde:"\xf1",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22ad",nvHarr:"\u2904",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwArr:"\u21d6",nwarhk:"\u2923",nwnear:"\u2927",oacute:"\xf3",ocirc:"\xf4",ocy:"\u043e",odblac:"\u0151",odiv:"\u2a38",odsold:"\u29bc",oelig:"\u0153",ofcir:"\u29bf",ofr:"\ud835\udd2c",ogon:"\u02db",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",olcir:"\u29be",olcross:"\u29bb",olt:"\u29c0",omacr:"\u014d",omega:"\u03c9",omicron:"\u03bf",omid:"\u29b6",oopf:"\ud835\udd60",opar:"\u29b7",operp:"\u29b9",or:"\u2228",vee:"\u2228",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",oscr:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oslash:"\xf8",osol:"\u2298",otilde:"\xf5",otimesas:"\u2a36",ouml:"\xf6",ovbar:"\u233d",para:"\xb6",parsim:"\u2af3",parsl:"\u2afd",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",pertenk:"\u2031",pfr:"\ud835\udd2d",phi:"\u03c6",phiv:"\u03d5",straightphi:"\u03d5",varphi:"\u03d5",phone:"\u260e",pi:"\u03c0",piv:"\u03d6",varpi:"\u03d6",planckh:"\u210e",plus:"+",plusacir:"\u2a23",pluscir:"\u2a22",plusdu:"\u2a25",pluse:"\u2a72",plussim:"\u2a26",plustwo:"\u2a27",pointint:"\u2a15",popf:"\ud835\udd61",pound:"\xa3",prE:"\u2ab3",prap:"\u2ab7",precapprox:"\u2ab7",precnapprox:"\u2ab9",prnap:"\u2ab9",precneqq:"\u2ab5",prnE:"\u2ab5",precnsim:"\u22e8",prnsim:"\u22e8",prime:"\u2032",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prurel:"\u22b0",pscr:"\ud835\udcc5",psi:"\u03c8",puncsp:"\u2008",qfr:"\ud835\udd2e",qopf:"\ud835\udd62",qprime:"\u2057",qscr:"\ud835\udcc6",quatint:"\u2a16",quest:"?",rAtail:"\u291c",rHar:"\u2964",race:"\u223d\u0331",racute:"\u0155",raemptyv:"\u29b3",rangd:"\u2992",range:"\u29a5",raquo:"\xbb",rarrap:"\u2975",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21a3",rightarrowtail:"\u21a3",rarrw:"\u219d",rightsquigarrow:"\u219d",ratail:"\u291a",ratio:"\u2236",rbbrk:"\u2773",rbrace:"}",rcub:"}",rbrack:"]",rsqb:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdsh:"\u21b3",rect:"\u25ad",rfisht:"\u297d",rfr:"\ud835\udd2f",rharul:"\u296c",rho:"\u03c1",rhov:"\u03f1",varrho:"\u03f1",rightrightarrows:"\u21c9",rrarr:"\u21c9",rightthreetimes:"\u22cc",rthree:"\u22cc",ring:"\u02da",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",ropar:"\u2986",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rsaquo:"\u203a",rscr:"\ud835\udcc7",rtimes:"\u22ca",rtri:"\u25b9",triangleright:"\u25b9",rtriltri:"\u29ce",ruluhar:"\u2968",rx:"\u211e",sacute:"\u015b",scE:"\u2ab4",scap:"\u2ab8",succapprox:"\u2ab8",scaron:"\u0161",scedil:"\u015f",scirc:"\u015d",scnE:"\u2ab6",succneqq:"\u2ab6",scnap:"\u2aba",succnapprox:"\u2aba",scnsim:"\u22e9",succnsim:"\u22e9",scpolint:"\u2a13",scy:"\u0441",sdot:"\u22c5",sdote:"\u2a66",seArr:"\u21d8",sect:"\xa7",semi:";",seswar:"\u2929",tosa:"\u2929",sext:"\u2736",sfr:"\ud835\udd30",sharp:"\u266f",shchcy:"\u0449",shcy:"\u0448",shy:"\xad",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",varsigma:"\u03c2",simdot:"\u2a6a",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",smashp:"\u2a33",smeparsl:"\u29e4",smile:"\u2323",ssmile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",sqcaps:"\u2293\ufe00",sqcups:"\u2294\ufe00",sscr:"\ud835\udcc8",star:"\u2606",sub:"\u2282",subset:"\u2282",subE:"\u2ac5",subseteqq:"\u2ac5",subdot:"\u2abd",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subsetneqq:"\u2acb",subne:"\u228a",subsetneq:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supE:"\u2ac6",supseteqq:"\u2ac6",supdot:"\u2abe",supdsub:"\u2ad8",supedot:"\u2ac4",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supsetneqq:"\u2acc",supne:"\u228b",supsetneq:"\u228b",supplus:"\u2ac0",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swArr:"\u21d9",swnwar:"\u292a",szlig:"\xdf",target:"\u2316",tau:"\u03c4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",telrec:"\u2315",tfr:"\ud835\udd31",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",vartheta:"\u03d1",thorn:"\xfe",times:"\xd7",timesbar:"\u2a31",timesd:"\u2a30",topbot:"\u2336",topcir:"\u2af1",topf:"\ud835\udd65",topfork:"\u2ada",tprime:"\u2034",triangle:"\u25b5",utri:"\u25b5",triangleq:"\u225c",trie:"\u225c",tridot:"\u25ec",triminus:"\u2a3a",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",tscr:"\ud835\udcc9",tscy:"\u0446",tshcy:"\u045b",tstrok:"\u0167",uHar:"\u2963",uacute:"\xfa",ubrcy:"\u045e",ubreve:"\u016d",ucirc:"\xfb",ucy:"\u0443",udblac:"\u0171",ufisht:"\u297e",ufr:"\ud835\udd32",ugrave:"\xf9",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",umacr:"\u016b",uogon:"\u0173",uopf:"\ud835\udd66",upsi:"\u03c5",upsilon:"\u03c5",upuparrows:"\u21c8",uuarr:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",uring:"\u016f",urtri:"\u25f9",uscr:"\ud835\udcca",utdot:"\u22f0",utilde:"\u0169",uuml:"\xfc",uwangle:"\u29a7",vBar:"\u2ae8",vBarv:"\u2ae9",vangrt:"\u299c",varsubsetneq:"\u228a\ufe00",vsubne:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",vsubnE:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",vsupne:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vsupnE:"\u2acc\ufe00",vcy:"\u0432",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",vfr:"\ud835\udd33",vopf:"\ud835\udd67",vscr:"\ud835\udccb",vzigzag:"\u299a",wcirc:"\u0175",wedbar:"\u2a5f",wedgeq:"\u2259",weierp:"\u2118",wp:"\u2118",wfr:"\ud835\udd34",wopf:"\ud835\udd68",wscr:"\ud835\udccc",xfr:"\ud835\udd35",xi:"\u03be",xnis:"\u22fb",xopf:"\ud835\udd69",xscr:"\ud835\udccd",yacute:"\xfd",yacy:"\u044f",ycirc:"\u0177",ycy:"\u044b",yen:"\xa5",yfr:"\ud835\udd36",yicy:"\u0457",yopf:"\ud835\udd6a",yscr:"\ud835\udcce",yucy:"\u044e",yuml:"\xff",zacute:"\u017a",zcaron:"\u017e",zcy:"\u0437",zdot:"\u017c",zeta:"\u03b6",zfr:"\ud835\udd37",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Dv.ngsp="\ue500"; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Uy=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,o,r)).tokenType=i,a}return h(e)}(mp),DP=h(function t(n,e,r){p(this,t),this.tokens=n,this.errors=e,this.nonNormalizedIcuExpressions=r});var Sv,TP=/\r\n?/g;function Cp(t){var n=0===t?"EOF":String.fromCharCode(t);return'Unexpected character "'.concat(n,'"')}function Kx(t){return'Unknown entity "'.concat(t,'" - use the "&#;" or "&#x;" syntax')}!function(t){t.HEX="hexadecimal",t.DEC="decimal"}(Sv||(Sv={}));var qy=h(function t(n){p(this,t),this.error=n}),AP=function(){function t(n,e,r){p(this,t),this._getTagDefinition=e,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this.nonNormalizedIcuExpressions=[],this._tokenizeIcu=r.tokenizeExpansionForms||!1,this._interpolationConfig=r.interpolationConfig||jo,this._leadingTriviaCodePoints=r.leadingTriviaChars&&r.leadingTriviaChars.map(function(o){return o.codePointAt(0)||0});var i=r.range||{endPos:n.content.length,startPos:0,startLine:0,startCol:0};this._cursor=r.escapedString?new LP(n,i):new Yx(n,i),this._preserveLineEndings=r.preserveLineEndings||!1,this._escapedString=r.escapedString||!1,this._i18nNormalizeLineEndingsInICUs=r.i18nNormalizeLineEndingsInICUs||!1;try{this._cursor.init()}catch(o){this.handleError(o)}}return h(t,[{key:"_processCarriageReturns",value:function(e){return this._preserveLineEndings?e:e.replace(TP,"\n")}},{key:"tokenize",value:function(){for(var e=this;0!==this._cursor.peek();){var r=this._cursor.clone();try{this._attemptCharCode(60)?this._attemptCharCode(33)?this._attemptCharCode(91)?this._consumeCdata(r):this._attemptCharCode(45)?this._consumeComment(r):this._consumeDocType(r):this._attemptCharCode(47)?this._consumeTagClose(r):this._consumeTagOpen(r):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeWithInterpolation(5,8,function(){return e._isTextEnd()},function(){return e._isTagStart()})}catch(i){this.handleError(i)}}this._beginToken(24),this._endToken([])}},{key:"_tokenizeExpansionForm",value:function(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(function PP(t){return t!==Sa}(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===Sa){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}},{key:"_beginToken",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._cursor.clone();this._currentTokenStart=r,this._currentTokenType=e}},{key:"_endToken",value:function(e,r){if(null===this._currentTokenStart)throw new Uy("Programming error - attempted to end a token when there was no start to the token",this._currentTokenType,this._cursor.getSpan(r));if(null===this._currentTokenType)throw new Uy("Programming error - attempted to end a token which has no token type",null,this._cursor.getSpan(this._currentTokenStart));var i={type:this._currentTokenType,parts:e,sourceSpan:(null!=r?r:this._cursor).getSpan(this._currentTokenStart,this._leadingTriviaCodePoints)};return this.tokens.push(i),this._currentTokenStart=null,this._currentTokenType=null,i}},{key:"_createError",value:function(e,r){this._isInExpansionForm()&&(e+=' (Do you have an unescaped "{" in your template? Use "{{ \'{\' }}") to escape it.)');var i=new Uy(e,this._currentTokenType,r);return this._currentTokenStart=null,this._currentTokenType=null,new qy(i)}},{key:"handleError",value:function(e){if(e instanceof Gy&&(e=this._createError(e.msg,this._cursor.getSpan(e.cursor))),!(e instanceof qy))throw e;this.errors.push(e.error)}},{key:"_attemptCharCode",value:function(e){return this._cursor.peek()===e&&(this._cursor.advance(),!0)}},{key:"_attemptCharCodeCaseInsensitive",value:function(e){return!!function RP(t,n){return Xx(t)===Xx(n)}(this._cursor.peek(),e)&&(this._cursor.advance(),!0)}},{key:"_requireCharCode",value:function(e){var r=this._cursor.clone();if(!this._attemptCharCode(e))throw this._createError(Cp(this._cursor.peek()),this._cursor.getSpan(r))}},{key:"_attemptStr",value:function(e){var r=e.length;if(this._cursor.charsLeft()")}),this._beginToken(13),this._requireStr("]]>"),this._endToken([])}},{key:"_consumeDocType",value:function(e){this._beginToken(18,e);var r=this._cursor.clone();this._attemptUntilChar(62);var i=this._cursor.getChars(r);this._cursor.advance(),this._endToken([i])}},{key:"_consumePrefixAndName",value:function(){for(var e=this._cursor.clone(),r="";58!==this._cursor.peek()&&!MP(this._cursor.peek());)this._cursor.advance();var i;return 58===this._cursor.peek()?(r=this._cursor.getChars(e),this._cursor.advance(),i=this._cursor.clone()):i=e,this._requireCharCodeUntilFn(Zx,""===r?0:1),[r,this._cursor.getChars(i)]}},{key:"_consumeTagOpen",value:function(e){var r,i,o;try{if(!py(this._cursor.peek()))throw this._createError(Cp(this._cursor.peek()),this._cursor.getSpan(e));for(i=(o=this._consumeTagOpenStart(e)).parts[0],r=o.parts[1],this._attemptCharCodeUntilFn(ao);47!==this._cursor.peek()&&62!==this._cursor.peek()&&60!==this._cursor.peek()&&0!==this._cursor.peek();)this._consumeAttributeName(),this._attemptCharCodeUntilFn(ao),this._attemptCharCode(61)&&(this._attemptCharCodeUntilFn(ao),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(ao);this._consumeTagOpenEnd()}catch(s){if(s instanceof qy)return void(o?o.type=4:(this._beginToken(5,e),this._endToken(["<"])));throw s}var a=this._getTagDefinition(r).getContentType(i);a===Dn.RAW_TEXT?this._consumeRawTextWithTagClose(i,r,!1):a===Dn.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(i,r,!0)}},{key:"_consumeRawTextWithTagClose",value:function(e,r,i){var o=this;this._consumeRawText(i,function(){return!!(o._attemptCharCode(60)&&o._attemptCharCode(47)&&(o._attemptCharCodeUntilFn(ao),o._attemptStrCaseInsensitive(r)))&&(o._attemptCharCodeUntilFn(ao),o._attemptCharCode(62))}),this._beginToken(3),this._requireCharCodeUntilFn(function(a){return 62===a},3),this._cursor.advance(),this._endToken([e,r])}},{key:"_consumeTagOpenStart",value:function(e){this._beginToken(0,e);var r=this._consumePrefixAndName();return this._endToken(r)}},{key:"_consumeAttributeName",value:function(){var e=this._cursor.peek();if(39===e||34===e)throw this._createError(Cp(e),this._cursor.getSpan());this._beginToken(14);var r=this._consumePrefixAndName();this._endToken(r)}},{key:"_consumeAttributeValue",value:function(){var e=this;if(39===this._cursor.peek()||34===this._cursor.peek()){var i=this._cursor.peek();this._consumeQuote(i);var o=function(){return e._cursor.peek()===i};this._consumeWithInterpolation(16,17,o,o),this._consumeQuote(i)}else{var a=function(){return Zx(e._cursor.peek())};this._consumeWithInterpolation(16,17,a,a)}}},{key:"_consumeQuote",value:function(e){this._beginToken(15),this._requireCharCode(e),this._endToken([String.fromCodePoint(e)])}},{key:"_consumeTagOpenEnd",value:function(){var e=this._attemptCharCode(47)?2:1;this._beginToken(e),this._requireCharCode(62),this._endToken([])}},{key:"_consumeTagClose",value:function(e){this._beginToken(3,e),this._attemptCharCodeUntilFn(ao);var r=this._consumePrefixAndName();this._attemptCharCodeUntilFn(ao),this._requireCharCode(62),this._endToken(r)}},{key:"_consumeExpansionFormStart",value:function(){this._beginToken(19),this._requireCharCode(du),this._endToken([]),this._expansionCaseStack.push(19),this._beginToken(7);var e=this._readUntil(44),r=this._processCarriageReturns(e);if(this._i18nNormalizeLineEndingsInICUs)this._endToken([r]);else{var i=this._endToken([e]);r!==e&&this.nonNormalizedIcuExpressions.push(i)}this._requireCharCode(44),this._attemptCharCodeUntilFn(ao),this._beginToken(7);var o=this._readUntil(44);this._endToken([o]),this._requireCharCode(44),this._attemptCharCodeUntilFn(ao)}},{key:"_consumeExpansionCaseStart",value:function(){this._beginToken(20);var e=this._readUntil(du).trim();this._endToken([e]),this._attemptCharCodeUntilFn(ao),this._beginToken(21),this._requireCharCode(du),this._endToken([]),this._attemptCharCodeUntilFn(ao),this._expansionCaseStack.push(21)}},{key:"_consumeExpansionCaseEnd",value:function(){this._beginToken(22),this._requireCharCode(Sa),this._endToken([]),this._attemptCharCodeUntilFn(ao),this._expansionCaseStack.pop()}},{key:"_consumeExpansionFormEnd",value:function(){this._beginToken(23),this._requireCharCode(Sa),this._endToken([]),this._expansionCaseStack.pop()}},{key:"_consumeWithInterpolation",value:function(e,r,i,o){this._beginToken(e);for(var a=[];!i();){var s=this._cursor.clone();this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(this._endToken([this._processCarriageReturns(a.join(""))],s),a.length=0,this._consumeInterpolation(r,s,o),this._beginToken(e)):38===this._cursor.peek()?(this._endToken([this._processCarriageReturns(a.join(""))]),a.length=0,this._consumeEntity(e),this._beginToken(e)):a.push(this._readChar())}this._inInterpolation=!1,this._endToken([this._processCarriageReturns(a.join(""))])}},{key:"_consumeInterpolation",value:function(e,r,i){var o=[];this._beginToken(e,r),o.push(this._interpolationConfig.start);for(var a=this._cursor.clone(),s=null,u=!1;0!==this._cursor.peek()&&(null===i||!i());){var l=this._cursor.clone();if(this._isTagStart())return this._cursor=l,o.push(this._getProcessedChars(a,l)),void this._endToken(o);if(null===s){if(this._attemptStr(this._interpolationConfig.end))return o.push(this._getProcessedChars(a,l)),o.push(this._interpolationConfig.end),void this._endToken(o);this._attemptStr("//")&&(u=!0)}var c=this._cursor.peek();this._cursor.advance(),92===c?this._cursor.advance():c===s?s=null:!u&&null===s&&hy(c)&&(s=c)}o.push(this._getProcessedChars(a,this._cursor)),this._endToken(o)}},{key:"_getProcessedChars",value:function(e,r){return this._processCarriageReturns(r.getChars(e))}},{key:"_isTextEnd",value:function(){return!!(this._isTagStart()||0===this._cursor.peek()||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===Sa&&this._isInExpansionCase()))}},{key:"_isTagStart",value:function(){if(60===this._cursor.peek()){var e=this._cursor.clone();e.advance();var r=e.peek();if(97<=r&&r<=122||65<=r&&r<=90||47===r||33===r)return!0}return!1}},{key:"_readUntil",value:function(e){var r=this._cursor.clone();return this._attemptUntilChar(e),this._cursor.getChars(r)}},{key:"_isInExpansionCase",value:function(){return this._expansionCaseStack.length>0&&21===this._expansionCaseStack[this._expansionCaseStack.length-1]}},{key:"_isInExpansionForm",value:function(){return this._expansionCaseStack.length>0&&19===this._expansionCaseStack[this._expansionCaseStack.length-1]}},{key:"isExpansionFormStart",value:function(){if(this._cursor.peek()!==du)return!1;if(this._interpolationConfig){var e=this._cursor.clone(),r=this._attemptStr(this._interpolationConfig.start);return this._cursor=e,!r}return!0}}]),t}();function ao(t){return!dy(t)||0===t}function Zx(t){return dy(t)||62===t||60===t||47===t||39===t||34===t||61===t||0===t}function MP(t){return(t<97||12257)}function NP(t){return 59===t||0===t||!function oO(t){return t>=97&&t<=102||t>=65&&t<=70||pu(t)}(t)}function OP(t){return 59===t||0===t||!py(t)}function Xx(t){return t>=97&&t<=122?t-97+65:t}function FP(t){for(var n=[],e=void 0,r=0;r0&&-1!==r.indexOf(e.peek());)i===e&&(e=e.clone()),e.advance();var o=this.locationFromCursor(e),a=this.locationFromCursor(this),s=i!==e?this.locationFromCursor(i):o;return new Ur(o,a,s)}},{key:"getChars",value:function(e){return this.input.substring(e.state.offset,this.state.offset)}},{key:"charAt",value:function(e){return this.input.charCodeAt(e)}},{key:"advanceState",value:function(e){if(e.offset>=this.end)throw this.state=e,new Gy('Unexpected character "EOF"',this);var r=this.charAt(e.offset);10===r?(e.line++,e.column=0):hx(r)||e.column++,e.offset++,this.updatePeek(e)}},{key:"updatePeek",value:function(e){e.peek=e.offset>=this.end?0:this.charAt(e.offset)}},{key:"locationFromCursor",value:function(e){return new vp(e.file,e.state.offset,e.state.line,e.state.column)}}]),t}(),LP=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),r instanceof e?(o=n.call(this,r)).internalState=Object.assign({},r.internalState):(o=n.call(this,r,i)).internalState=o.state,xn(o)}return h(e,[{key:"advance",value:function(){this.state=this.internalState,We(oe(e.prototype),"advance",this).call(this),this.processEscapeSequence()}},{key:"init",value:function(){We(oe(e.prototype),"init",this).call(this),this.processEscapeSequence()}},{key:"clone",value:function(){return new e(this)}},{key:"getChars",value:function(i){for(var o=i.clone(),a="";o.internalState.offset3&&void 0!==arguments[3]?arguments[3]:{},i=new AP(new vy(t,n),e,r);return i.tokenize(),new DP(FP(i.tokens),i.errors,i.nonNormalizedIcuExpressions)}(e,r,this.getTagDefinition,i),a=new VP(o.tokens,this.getTagDefinition);return a.build(),new zy(a.rootNodes,o.errors.concat(a.errors))}}]),t}(),VP=function(){function t(n,e){p(this,t),this.tokens=n,this.getTagDefinition=e,this._index=-1,this._elementStack=[],this.rootNodes=[],this.errors=[],this._advance()}return h(t,[{key:"build",value:function(){for(;24!==this._peek.type;)0===this._peek.type||4===this._peek.type?this._consumeStartTag(this._advance()):3===this._peek.type?this._consumeEndTag(this._advance()):12===this._peek.type?(this._closeVoidElement(),this._consumeCdata(this._advance())):10===this._peek.type?(this._closeVoidElement(),this._consumeComment(this._advance())):5===this._peek.type||7===this._peek.type||6===this._peek.type?(this._closeVoidElement(),this._consumeText(this._advance())):19===this._peek.type?this._consumeExpansion(this._advance()):this._advance()}},{key:"_advance",value:function(){var e=this._peek;return this._index0)return this.errors=this.errors.concat(a.errors),null;var s=new Ur(e.sourceSpan.start,o.sourceSpan.end,e.sourceSpan.fullStart),u=new Ur(r.sourceSpan.start,o.sourceSpan.end,r.sourceSpan.fullStart);return new xP(e.parts[0],a.rootNodes,s,e.sourceSpan,u)}},{key:"_collectExpansionExpTokens",value:function(e){for(var r=[],i=[21];;){if((19===this._peek.type||21===this._peek.type)&&i.push(this._peek.type),22===this._peek.type){if(!Qx(i,21))return this.errors.push(vs.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(i.pop(),0===i.length)return r}if(23===this._peek.type){if(!Qx(i,19))return this.errors.push(vs.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;i.pop()}if(24===this._peek.type)return this.errors.push(vs.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;r.push(this._advance())}}},{key:"_consumeText",value:function(e){var r=[e],i=e.sourceSpan,o=e.parts[0];if(o.length>0&&"\n"===o[0]){var a=this._getParentElement();null!=a&&0===a.children.length&&this.getTagDefinition(a.name).ignoreFirstLf&&(o=o.substring(1),r[0]={type:e.type,sourceSpan:e.sourceSpan,parts:[o]})}for(;8===this._peek.type||5===this._peek.type||9===this._peek.type;)e=this._advance(),r.push(e),8===e.type?o+=e.parts.join("").replace(/&([^;]+);/g,Jx):9===e.type?o+=e.parts[0]:o+=e.parts.join("");if(o.length>0){var s=e.sourceSpan;this._addToParent(new wv(o,new Ur(i.start,s.end,i.fullStart,i.details),r))}}},{key:"_closeVoidElement",value:function(){var e=this._getParentElement();e&&this.getTagDefinition(e.name).isVoid&&this._elementStack.pop()}},{key:"_consumeStartTag",value:function(e){for(var r=Xt(e.parts,2),i=r[0],o=r[1],a=[];14===this._peek.type;)a.push(this._consumeAttr(this._advance()));var s=this._getElementFullName(i,o,this._getParentElement()),u=!1;if(2===this._peek.type){this._advance(),u=!0;var l=this.getTagDefinition(s);l.canSelfClose||null!==Ee(s)||l.isVoid||this.errors.push(vs.create(s,e.sourceSpan,'Only void and foreign elements can be self closed "'.concat(e.parts[1],'"')))}else 1===this._peek.type&&(this._advance(),u=!1);var c=this._peek.sourceSpan.fullStart,f=new Ur(e.sourceSpan.start,c,e.sourceSpan.fullStart),d=new Ur(e.sourceSpan.start,c,e.sourceSpan.fullStart),v=new Hy(s,a,[],f,d,void 0);this._pushElement(v),u?this._popElement(s,f):4===e.type&&(this._popElement(s,null),this.errors.push(vs.create(s,f,'Opening tag "'.concat(s,'" not terminated.'))))}},{key:"_pushElement",value:function(e){var r=this._getParentElement();r&&this.getTagDefinition(r.name).isClosedByChild(e.name)&&this._elementStack.pop(),this._addToParent(e),this._elementStack.push(e)}},{key:"_consumeEndTag",value:function(e){var r=this._getElementFullName(e.parts[0],e.parts[1],this._getParentElement());if(this.getTagDefinition(r).isVoid)this.errors.push(vs.create(r,e.sourceSpan,'Void elements do not have end tags "'.concat(e.parts[1],'"')));else if(!this._popElement(r,e.sourceSpan)){var i='Unexpected closing tag "'.concat(r,'". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags');this.errors.push(vs.create(r,e.sourceSpan,i))}}},{key:"_popElement",value:function(e,r){for(var i=!1,o=this._elementStack.length-1;o>=0;o--){var a=this._elementStack[o];if(a.name===e)return a.endSourceSpan=r,a.sourceSpan.end=null!==r?r.end:a.sourceSpan.end,this._elementStack.splice(o,this._elementStack.length-o),!i;this.getTagDefinition(a.name).closedByParent||(i=!0)}return!1}},{key:"_consumeAttr",value:function(e){var r=me(e.parts[0],e.parts[1]),i=e.sourceSpan.end;15===this._peek.type&&this._advance();var o="",a=[],s=void 0,u=void 0;if(16===this._peek.type)for(s=this._peek.sourceSpan,u=this._peek.sourceSpan.end;16===this._peek.type||17===this._peek.type||9===this._peek.type;){var c=this._advance();a.push(c),17===c.type?o+=c.parts.join("").replace(/&([^;]+);/g,Jx):9===c.type?o+=c.parts[0]:o+=c.parts.join(""),u=i=c.sourceSpan.end}15===this._peek.type&&(i=this._advance().sourceSpan.end);var d=s&&u&&new Ur(s.start,u,s.fullStart);return new kP(r,o,new Ur(e.sourceSpan.start,i,e.sourceSpan.fullStart),e.sourceSpan,d,a.length>0?a:void 0,void 0)}},{key:"_getParentElement",value:function(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}},{key:"_addToParent",value:function(e){var r=this._getParentElement();null!=r?r.children.push(e):this.rootNodes.push(e)}},{key:"_getElementFullName",value:function(e,r,i){if(""===e&&(""===(e=this.getTagDefinition(r).implicitNamespacePrefix||"")&&null!=i)){var o=zn(i.name)[1];this.getTagDefinition(o).preventNamespaceInheritance||(e=Ee(i.name))}return me(e,r)}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Qx(t,n){return t.length>0&&t[t.length-1]===n}function Jx(t,n){return void 0!==Dv[n]?Dv[n]||t:/^#x[a-f0-9]+$/i.test(n)?String.fromCodePoint(parseInt(n.slice(2),16)):/^#\d+$/.test(n)?String.fromCodePoint(parseInt(n.slice(1),10)):t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var jP=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.call(this,An)}return h(e,[{key:"parse",value:function(i,o,a){return We(oe(e.prototype),"parse",this).call(this,i,o,a)}}]),e}(BP),ek="ngPreserveWhitespaces",HP=new Set(["pre","template","textarea","script","style"]),tk=" \f\n\r\t\v\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff",UP=new RegExp("[^".concat(tk,"]")),qP=new RegExp("[".concat(tk,"]{2,}"),"g"); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function nk(t){return t.replace(new RegExp("\ue500","g")," ")}var Tv,rk=function(){function t(){p(this,t)}return h(t,[{key:"visitElement",value:function(e,r){return HP.has(e.name)||function GP(t){return t.some(function(n){return n.name===ek})}(e.attrs)?new Hy(e.name,Uo(this,e.attrs),e.children,e.sourceSpan,e.startSourceSpan,e.endSourceSpan,e.i18n):new Hy(e.name,e.attrs,function $P(t,n){var e=[];return n.forEach(function(r,i){var o={prev:n[i-1],next:n[i+1]},a=r.visit(t,o);a&&e.push(a)}),e +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}(this,e.children),e.sourceSpan,e.startSourceSpan,e.endSourceSpan,e.i18n)}},{key:"visitAttribute",value:function(e,r){return e.name!==ek?e:null}},{key:"visitText",value:function(e,r){var i=e.value.match(UP),o=r&&(r.prev instanceof xv||r.next instanceof xv);if(i||o){var a=e.tokens.map(function(u){return 5===u.type?function zP(t){var n=t.type,e=t.parts,r=t.sourceSpan;return{type:n,parts:[ik(e[0])],sourceSpan:r}}(u):u}),s=ik(e.value);return new wv(s,e.sourceSpan,a,e.i18n)}return null}},{key:"visitComment",value:function(e,r){return e}},{key:"visitExpansion",value:function(e,r){return e}},{key:"visitExpansionCase",value:function(e,r){return e}}]),t}();function ik(t){return nk(t).replace(qP," ")}function $y(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Gi(Object.keys(t).map(function(e){return{key:e,quoted:n,value:t[e]}}))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function ok(){return Tv||(Tv={},Iv(Yt.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),Iv(Yt.STYLE,["*|style"]),Iv(Yt.URL,["*|formAction","area|href","area|ping","audio|src","a|href","a|ping","blockquote|cite","body|background","del|cite","form|action","img|src","img|srcset","input|src","ins|cite","q|cite","source|src","source|srcset","track|src","video|poster","video|src"]),Iv(Yt.RESOURCE_URL,["applet|code","applet|codebase","base|href","embed|src","frame|src","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"])),Tv}function Iv(t,n){var r,e=Me(n);try{for(e.s();!(r=e.n()).done;){var i=r.value;Tv[i.toLowerCase()]=t}}catch(o){e.e(o)}finally{e.f()}} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var WP=h(function t(){p(this,t)}),QP=["[Element]|textContent,%classList,className,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*copy,*cut,*paste,*search,*selectstart,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerHTML,#scrollLeft,#scrollTop,slot,*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored","[HTMLElement]^[Element]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*auxclick,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,outerText,!spellcheck,%style,#tabIndex,title,!translate","abbr,address,article,aside,b,bdi,bdo,cite,code,dd,dfn,dt,em,figcaption,figure,footer,header,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*auxclick,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,outerText,!spellcheck,%style,#tabIndex,title,!translate","media^[HTMLElement]|!autoplay,!controls,%controlsList,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,*waitingforkey,#playbackRate,preload,src,%srcObject,#volume",":svg:^[HTMLElement]|*abort,*auxclick,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,%style,#tabIndex",":svg:graphics^:svg:|",":svg:animation^:svg:|*begin,*end,*repeat",":svg:geometry^:svg:|",":svg:componentTransferFunction^:svg:|",":svg:gradient^:svg:|",":svg:textContent^:svg:graphics|",":svg:textPositioning^:svg:textContent|","a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,rev,search,shape,target,text,type,username","area^[HTMLElement]|alt,coords,download,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,rel,search,shape,target,username","audio^media|","br^[HTMLElement]|clear","base^[HTMLElement]|href,target","body^[HTMLElement]|aLink,background,bgColor,link,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink","button^[HTMLElement]|!autofocus,!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value","canvas^[HTMLElement]|#height,#width","content^[HTMLElement]|select","dl^[HTMLElement]|!compact","datalist^[HTMLElement]|","details^[HTMLElement]|!open","dialog^[HTMLElement]|!open,returnValue","dir^[HTMLElement]|!compact","div^[HTMLElement]|align","embed^[HTMLElement]|align,height,name,src,type,width","fieldset^[HTMLElement]|!disabled,name","font^[HTMLElement]|color,face,size","form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target","frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src","frameset^[HTMLElement]|cols,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows","hr^[HTMLElement]|align,color,!noShade,size,width","head^[HTMLElement]|","h1,h2,h3,h4,h5,h6^[HTMLElement]|align","html^[HTMLElement]|version","iframe^[HTMLElement]|align,!allowFullscreen,frameBorder,height,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width","img^[HTMLElement]|align,alt,border,%crossOrigin,#height,#hspace,!isMap,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width","input^[HTMLElement]|accept,align,alt,autocapitalize,autocomplete,!autofocus,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width","li^[HTMLElement]|type,#value","label^[HTMLElement]|htmlFor","legend^[HTMLElement]|align","link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,integrity,media,referrerPolicy,rel,%relList,rev,%sizes,target,type","map^[HTMLElement]|name","marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width","menu^[HTMLElement]|!compact","meta^[HTMLElement]|content,httpEquiv,name,scheme","meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value","ins,del^[HTMLElement]|cite,dateTime","ol^[HTMLElement]|!compact,!reversed,#start,type","object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width","optgroup^[HTMLElement]|!disabled,label","option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value","output^[HTMLElement]|defaultValue,%htmlFor,name,value","p^[HTMLElement]|align","param^[HTMLElement]|name,type,value,valueType","picture^[HTMLElement]|","pre^[HTMLElement]|#width","progress^[HTMLElement]|#max,#value","q,blockquote,cite^[HTMLElement]|","script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,src,text,type","select^[HTMLElement]|autocomplete,!autofocus,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value","shadow^[HTMLElement]|","slot^[HTMLElement]|name","source^[HTMLElement]|media,sizes,src,srcset,type","span^[HTMLElement]|","style^[HTMLElement]|!disabled,media,type","caption^[HTMLElement]|align","th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width","col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width","table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width","tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign","tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign","template^[HTMLElement]|","textarea^[HTMLElement]|autocapitalize,autocomplete,!autofocus,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap","title^[HTMLElement]|text","track^[HTMLElement]|!default,kind,label,src,srclang","ul^[HTMLElement]|!compact,type","unknown^[HTMLElement]|","video^media|#height,poster,#width",":svg:a^:svg:graphics|",":svg:animate^:svg:animation|",":svg:animateMotion^:svg:animation|",":svg:animateTransform^:svg:animation|",":svg:circle^:svg:geometry|",":svg:clipPath^:svg:graphics|",":svg:defs^:svg:graphics|",":svg:desc^:svg:|",":svg:discard^:svg:|",":svg:ellipse^:svg:geometry|",":svg:feBlend^:svg:|",":svg:feColorMatrix^:svg:|",":svg:feComponentTransfer^:svg:|",":svg:feComposite^:svg:|",":svg:feConvolveMatrix^:svg:|",":svg:feDiffuseLighting^:svg:|",":svg:feDisplacementMap^:svg:|",":svg:feDistantLight^:svg:|",":svg:feDropShadow^:svg:|",":svg:feFlood^:svg:|",":svg:feFuncA^:svg:componentTransferFunction|",":svg:feFuncB^:svg:componentTransferFunction|",":svg:feFuncG^:svg:componentTransferFunction|",":svg:feFuncR^:svg:componentTransferFunction|",":svg:feGaussianBlur^:svg:|",":svg:feImage^:svg:|",":svg:feMerge^:svg:|",":svg:feMergeNode^:svg:|",":svg:feMorphology^:svg:|",":svg:feOffset^:svg:|",":svg:fePointLight^:svg:|",":svg:feSpecularLighting^:svg:|",":svg:feSpotLight^:svg:|",":svg:feTile^:svg:|",":svg:feTurbulence^:svg:|",":svg:filter^:svg:|",":svg:foreignObject^:svg:graphics|",":svg:g^:svg:graphics|",":svg:image^:svg:graphics|",":svg:line^:svg:geometry|",":svg:linearGradient^:svg:gradient|",":svg:mpath^:svg:|",":svg:marker^:svg:|",":svg:mask^:svg:|",":svg:metadata^:svg:|",":svg:path^:svg:geometry|",":svg:pattern^:svg:|",":svg:polygon^:svg:geometry|",":svg:polyline^:svg:geometry|",":svg:radialGradient^:svg:gradient|",":svg:rect^:svg:geometry|",":svg:svg^:svg:graphics|#currentScale,#zoomAndPan",":svg:script^:svg:|type",":svg:set^:svg:animation|",":svg:stop^:svg:|",":svg:style^:svg:|!disabled,media,title,type",":svg:switch^:svg:graphics|",":svg:symbol^:svg:|",":svg:tspan^:svg:textPositioning|",":svg:text^:svg:textPositioning|",":svg:textPath^:svg:textContent|",":svg:title^:svg:|",":svg:use^:svg:graphics|",":svg:view^:svg:|#zoomAndPan","data^[HTMLElement]|value","keygen^[HTMLElement]|!autofocus,challenge,!disabled,form,keytype,name","menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default","summary^[HTMLElement]|","time^[HTMLElement]|dateTime",":svg:cursor^:svg:|"],Wy={class:"className",for:"htmlFor",formaction:"formAction",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},JP=Object.keys(Wy).reduce(function(t,n){return t[Wy[n]]=n,t},{}),ak=function(t){k(e,t);var n=S(e);function e(){var r;return p(this,e),(r=n.call(this))._schema={},r._eventSchema={},QP.forEach(function(i){var o={},a=new Set,u=Xt(i.split("|"),2),l=u[0],f=u[1].split(","),v=Xt(l.split("^"),2),y=v[0],b=v[1];y.split(",").forEach(function(ne){r._schema[ne.toLowerCase()]=o,r._eventSchema[ne.toLowerCase()]=a});var x=b&&r._schema[b.toLowerCase()];if(x){Object.keys(x).forEach(function(ne){o[ne]=x[ne]});var N,O=Me(r._eventSchema[b.toLowerCase()]);try{for(O.s();!(N=O.n()).done;){var z=N.value;a.add(z)}}catch(ne){O.e(ne)}finally{O.f()}}f.forEach(function(ne){if(ne.length>0)switch(ne[0]){case"*":a.add(ne.substring(1));break;case"!":o[ne.substring(1)]="boolean";break;case"#":o[ne.substring(1)]="number";break;case"%":o[ne.substring(1)]="object";break;default:o[ne]="string"}})}),r}return h(e,[{key:"hasProperty",value:function(i,o,a){if(a.some(function(u){return u.name===Po.name}))return!0;if(i.indexOf("-")>-1){if(ce(i)||Q(i))return!1;if(a.some(function(u){return u.name===ai.name}))return!0}return!!(this._schema[i.toLowerCase()]||this._schema.unknown)[o]}},{key:"hasElement",value:function(i,o){return!!(o.some(function(a){return a.name===Po.name})||i.indexOf("-")>-1&&(ce(i)||Q(i)||o.some(function(a){return a.name===ai.name})))||!!this._schema[i.toLowerCase()]}},{key:"securityContext",value:function(i,o,a){a&&(o=this.getMappedPropName(o)),i=i.toLowerCase(),o=o.toLowerCase();var s=ok()[i+"|"+o];return s||((s=ok()["*|"+o])||Yt.NONE)}},{key:"getMappedPropName",value:function(i){return Wy[i]||i}},{key:"getDefaultComponentElementName",value:function(){return"ng-component"}},{key:"validateProperty",value:function(i){return i.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event property '".concat(i,"' is disallowed for security reasons, ")+"please use (".concat(i.slice(2),")=...")+"\nIf '".concat(i,"' is a directive input, make sure the directive is imported by the")+" current module."}:{error:!1}}},{key:"validateAttribute",value:function(i){return i.toLowerCase().startsWith("on")?{error:!0,msg:"Binding to event attribute '".concat(i,"' is disallowed for security reasons, ")+"please use (".concat(i.slice(2),")=...")}:{error:!1}}},{key:"allKnownElementNames",value:function(){return Object.keys(this._schema)}},{key:"allKnownAttributesOfElement",value:function(i){var o=this._schema[i.toLowerCase()]||this._schema.unknown;return Object.keys(o).map(function(a){var s;return null!==(s=JP[a])&&void 0!==s?s:a})}},{key:"allKnownEventsOfElement",value:function(i){var o;return Array.from(null!==(o=this._eventSchema[i.toLowerCase()])&&void 0!==o?o:[])}},{key:"normalizeAnimationStyleProperty",value:function(i){return function q(t){return t.replace(L,function(){for(var n=arguments.length,e=new Array(n),r=0;r2&&void 0!==arguments[2]&&arguments[2],o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(r.isAnimation)return new kx(r.name,4,Yt.NONE,r.expression,null,r.sourceSpan,r.keySpan,r.valueSpan);var a=null,s=void 0,u=null,l=r.name.split("."),c=void 0;if(l.length>1)if("attr"==l[0]){u=l.slice(1).join("."),i||this._validatePropertyOrAttributeName(u,r.sourceSpan,!0),c=Xy(this._schemaRegistry,e,u,!0);var f=u.indexOf(":");if(f>-1){var d=u.substring(0,f),v=u.substring(f+1);u=me(d,v)}s=1}else"class"==l[0]?(u=l[1],s=2,c=[Yt.NONE]):"style"==l[0]&&(a=l.length>2?l[2]:null,u=l[1],s=3,c=[Yt.STYLE]);if(null===u){var y=this._schemaRegistry.getMappedPropName(r.name);u=o?y:r.name,c=Xy(this._schemaRegistry,e,y,!1),s=0,i||this._validatePropertyOrAttributeName(y,r.sourceSpan,!1)}return new kx(u,s,c[0],r.expression,a,r.sourceSpan,r.keySpan,r.valueSpan)}},{key:"parseEvent",value:function(e,r,i,o,a,s,u,l){0===e.length&&this._reportError("Event name is missing in binding",o),Zy(e)?(e=e.substr(1),void 0!==l&&(l=mu(l,new Ho(l.start.offset+1,l.end.offset))),this._parseAnimationEvent(e,r,i,o,a,u,l)):this._parseRegularEvent(e,r,i,o,a,s,u,l)}},{key:"calcPossibleSecurityContexts",value:function(e,r,i){var o=this._schemaRegistry.getMappedPropName(r);return Xy(this._schemaRegistry,e,o,i)}},{key:"_parseAnimationEvent",value:function(e,r,i,o,a,s,u){var l=function fe(t,n){return Ie(t,".",n)}(e,[e,""]),c=l[0],f=l[1].toLowerCase(),d=this._parseAction(r,i,a);s.push(new xx(c,f,1,d,o,a,u)),0===c.length&&this._reportError("Animation event name is missing in binding",o),f?"start"!==f&&"done"!==f&&this._reportError('The provided animation output phase value "'.concat(f,'" for "@').concat(c,'" is not supported (use start or done)'),o):this._reportError("The animation trigger output event (@".concat(c,") is missing its phase value name (start or done are currently supported)"),o)}},{key:"_parseRegularEvent",value:function(e,r,i,o,a,s,u,l){var f=Xt(te(e,[null,e]),2),d=f[0],v=f[1],y=this._parseAction(r,i,a);s.push([e,y.source]),u.push(new xx(v,d,0,y,o,a,l))}},{key:"_parseAction",value:function(e,r,i){var o=(i&&i.start||"(unknown").toString(),a=i&&i.start?i.start.offset:0;try{var s=this._exprParser.parseAction(e,r,o,a,this._interpolationConfig);return s&&this._reportExpressionParserErrors(s.errors,i),!s||s.ast instanceof Co?(this._reportError("Empty expressions are not allowed",i),this._exprParser.wrapLiteralPrimitive("ERROR",o,a)):s}catch(u){return this._reportError("".concat(u),i),this._exprParser.wrapLiteralPrimitive("ERROR",o,a)}}},{key:"_reportError",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ps.ERROR;this.errors.push(new mp(r,e,i))}},{key:"_reportExpressionParserErrors",value:function(e,r){var o,i=Me(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;this._reportError(a.message,r)}}catch(s){i.e(s)}finally{i.f()}}},{key:"_validatePropertyOrAttributeName",value:function(e,r,i){var o=i?this._schemaRegistry.validateAttribute(e):this._schemaRegistry.validateProperty(e);o.error&&this._reportError(o.msg,r,ps.ERROR)}}]),t}();function Zy(t){return"@"==t[0]}function Xy(t,n,e,r){var i=[];return Dr.parse(n).forEach(function(o){var a=o.element?[o.element]:t.allKnownElementNames(),s=new Set(o.notSelectors.filter(function(l){return l.isElementSelector()}).map(function(l){return l.element})),u=a.filter(function(l){return!s.has(l)});i.push.apply(i,re(u.map(function(l){return t.securityContext(l,e,r)})))}),0===i.length?[Yt.NONE]:Array.from(new Set(i)).sort()}function mu(t,n){var e=n.start-t.start.offset,r=n.end-t.end.offset;return new Ur(t.start.moveBy(e),t.end.moveBy(r),t.fullStart.moveBy(e),t.details)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var $i,sR=/^([^:/?#]+):/; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function ck(t){var n=null,e=null,r=null,i=!1,o="";t.attrs.forEach(function(u){var l=u.name.toLowerCase();"select"==l?n=u.value:"href"==l?e=u.value:"rel"==l?r=u.value:"ngNonBindable"==u.name?i=!0:"ngProjectAs"==u.name&&u.value.length>0&&(o=u.value)}),n=function yR(t){return null===t||0===t.length?"*":t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(n);var a=t.name.toLowerCase(),s=$i.OTHER;return Q(a)?s=$i.NG_CONTENT:"style"==a?s=$i.STYLE:"script"==a?s=$i.SCRIPT:"link"==a&&"stylesheet"==r&&(s=$i.STYLESHEET),new gR(s,n,e,i,o)}!function(t){t[t.NG_CONTENT=0]="NG_CONTENT",t[t.STYLE=1]="STYLE",t[t.STYLESHEET=2]="STYLESHEET",t[t.SCRIPT=3]="SCRIPT",t[t.OTHER=4]="OTHER"}($i||($i={}));var gR=h(function t(n,e,r,i,o){p(this,t),this.type=n,this.selectAttr=e,this.hrefAttr=r,this.nonBindable=i,this.projectAs=o});var _R=/^(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*)$/,gu_BANANA_BOX={start:"[(",end:")]"},gu_PROPERTY={start:"[",end:"]"},gu_EVENT={start:"(",end:")"};function bR(t,n,e){var r=new ER(n,e),a={nodes:Uo(r,t),errors:n.errors.concat(r.errors),styleUrls:r.styleUrls,styles:r.styles,ngContentSelectors:r.ngContentSelectors};return e.collectCommentNodes&&(a.commentNodes=r.commentNodes),a}var Ia,ER=function(){function t(n,e){p(this,t),this.bindingParser=n,this.options=e,this.errors=[],this.styles=[],this.styleUrls=[],this.ngContentSelectors=[],this.commentNodes=[],this.inI18nBlock=!1}return h(t,[{key:"visitElement",value:function(e){var r=this,i=op(e.i18n);i&&(this.inI18nBlock&&this.reportError("Cannot mark an element as translatable inside of a translatable section. Please remove the nested i18n marker.",e.sourceSpan),this.inI18nBlock=!0);var o=ck(e);if(o.type===$i.SCRIPT)return null;if(o.type===$i.STYLE){var a=function SR(t){return 1===t.children.length&&t.children[0]instanceof wv?t.children[0].value:null} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(e);return null!==a&&this.styles.push(a),null}if(o.type===$i.STYLESHEET&&function aR(t){if(null==t||0===t.length||"/"==t[0])return!1;var n=t.match(sR);return null===n||"package"==n[1]||"asset"==n[1]}(o.hrefAttr))return this.styleUrls.push(o.hrefAttr),null;var N,s=function $(t){return"ng-template"===zn(t)[1]}(e.name),u=[],l=[],c=[],f=[],d=[],v={},y=[],b=[],x=!1,O=Me(e.attrs);try{for(O.s();!(N=O.n()).done;){var z=N.value,ne=!1,pe=gk(z.name),Te=!1;if(z.i18n&&(v[z.name]=z.i18n),pe.startsWith("*")){x&&this.reportError("Can't have multiple template bindings on one element. Use only one attribute prefixed with *",z.sourceSpan),Te=!0,x=!0;var Oe=z.value,mt=pe.substring("*".length),It=[],an=z.valueSpan?z.valueSpan.start.offset:z.sourceSpan.start.offset+z.name.length;this.bindingParser.parseInlineTemplateBinding(mt,Oe,z.sourceSpan,an,[],y,It,!0),b.push.apply(b,re(It.map(function(sn){return new Ow(sn.name,sn.value,sn.sourceSpan,sn.keySpan,sn.valueSpan)})))}else ne=this.parseAttribute(s,z,[],u,l,c,f);!ne&&!Te&&d.push(this.visitAttribute(z))}}catch(sn){O.e(sn)}finally{O.f()}var yt,xr=Uo(o.nonBindable?xR:this,e.children);if(o.type===$i.NG_CONTENT){e.children&&!e.children.every(function(sn){return function kR(t){return t instanceof wv&&0==t.value.trim().length}(sn)||function DR(t){return t instanceof kv}(sn)})&&this.reportError(" element cannot have content.",e.sourceSpan);var Fn=o.selectAttr,Gn=e.attrs.map(function(sn){return r.visitAttribute(sn)});yt=new _N(Fn,Gn,e.sourceSpan,e.i18n),this.ngContentSelectors.push(Fn)}else if(s){var ir=this.extractAttributes(e.name,u,v);yt=new tv(e.name,d,ir.bound,l,[],xr,f,c,e.sourceSpan,e.startSourceSpan,e.endSourceSpan,e.i18n)}else{var Lr=this.extractAttributes(e.name,u,v);yt=new ev(e.name,d,Lr.bound,l,xr,f,e.sourceSpan,e.startSourceSpan,e.endSourceSpan,e.i18n)}if(x){var to=this.extractAttributes("ng-template",y,v),Kr=[];to.literal.forEach(function(sn){return Kr.push(sn)}),to.bound.forEach(function(sn){return Kr.push(sn)});var wi=yt instanceof ev?{attributes:yt.attributes,inputs:yt.inputs,outputs:yt.outputs}:{attributes:[],inputs:[],outputs:[]},Zr=s&&i?void 0:e.i18n,mo=yt instanceof tv?null:yt.name;yt=new tv(mo,wi.attributes,wi.inputs,wi.outputs,Kr,[yt],[],b,e.sourceSpan,e.startSourceSpan,e.endSourceSpan,Zr)}return i&&(this.inI18nBlock=!1),yt}},{key:"visitAttribute",value:function(e){return new ey(e.name,e.value,e.sourceSpan,e.keySpan,e.valueSpan,e.i18n)}},{key:"visitText",value:function(e){return this._visitTextWithInterpolation(e.value,e.sourceSpan,e.tokens,e.i18n)}},{key:"visitExpansion",value:function(e){var r=this;if(!e.i18n)return null;if(!op(e.i18n))throw new Error('Invalid type "'.concat(e.i18n.constructor,'" for "i18n" property of ').concat(e.sourceSpan.toString(),'. Expected a "Message"'));var i=e.i18n,o={},a={};return Object.keys(i.placeholders).forEach(function(s){var u=i.placeholders[s];if(s.startsWith("VAR_")){var l=s.trim(),c=r.bindingParser.parseInterpolationExpression(u.text,u.sourceSpan);o[l]=new Jg(c,u.sourceSpan)}else a[s]=r._visitTextWithInterpolation(u.text,u.sourceSpan,null)}),new Pw(o,a,e.sourceSpan,i)}},{key:"visitExpansionCase",value:function(e){return null}},{key:"visitComment",value:function(e){return this.options.collectCommentNodes&&this.commentNodes.push(new yN(e.value||"",e.sourceSpan)),null}},{key:"extractAttributes",value:function(e,r,i){var o=this,a=[],s=[];return r.forEach(function(u){var l=i[u.name];if(u.isLiteral)s.push(new ey(u.name,u.expression.source||"",u.sourceSpan,u.keySpan,u.valueSpan,l));else{var c=o.bindingParser.createBoundElementProperty(e,u,!0,!1);a.push(Mw.fromBoundElementProperty(c,l))}}),{bound:a,literal:s}}},{key:"parseAttribute",value:function(e,r,i,o,a,s,u){var l,c=gk(r.name),f=r.value,d=r.sourceSpan,v=r.valueSpan?r.valueSpan.start.offset:d.start.offset;function y(Kr,wi,Zr){var mo=r.name.length-c.length,sn=Kr.start.moveBy(wi.length+mo),wa=sn.moveBy(Zr.length);return new Ur(sn,wa,sn,Zr)}var b=c.match(_R);if(b){if(null!=b[1]){var x=b[7],O=y(d,b[1],x);this.bindingParser.parsePropertyBinding(x,f,!1,d,v,r.valueSpan,i,o,O)}else if(b[2])if(e){var N=b[7],z=y(d,b[2],N);this.parseVariable(N,f,d,z,r.valueSpan,s)}else this.reportError('"let-" is only supported on ng-template elements.',d);else if(b[3]){var ne=b[7],pe=y(d,b[3],ne);this.parseReference(ne,f,d,pe,r.valueSpan,u)}else if(b[4]){var Te=[],Oe=b[7],mt=y(d,b[4],Oe);this.bindingParser.parseEvent(Oe,f,!1,d,r.valueSpan||d,i,Te,mt),Yy(Te,a)}else if(b[5]){var It=b[7],an=y(d,b[5],It);this.bindingParser.parsePropertyBinding(It,f,!1,d,v,r.valueSpan,i,o,an),this.parseAssignmentEvent(It,f,d,r.valueSpan,i,a,an)}else if(b[6]){var xr=y(d,"",c);this.bindingParser.parseLiteralAttr(c,f,d,v,r.valueSpan,i,o,xr)}return!0}var yt=null;if(c.startsWith(gu_BANANA_BOX.start)?yt=gu_BANANA_BOX:c.startsWith(gu_PROPERTY.start)?yt=gu_PROPERTY:c.startsWith(gu_EVENT.start)&&(yt=gu_EVENT),null!==yt&&c.endsWith(yt.end)&&c.length>yt.start.length+yt.end.length){var Fn=c.substring(yt.start.length,c.length-yt.end.length),Gn=y(d,yt.start,Fn);if(yt.start===gu_BANANA_BOX.start)this.bindingParser.parsePropertyBinding(Fn,f,!1,d,v,r.valueSpan,i,o,Gn),this.parseAssignmentEvent(Fn,f,d,r.valueSpan,i,a,Gn);else if(yt.start===gu_PROPERTY.start)this.bindingParser.parsePropertyBinding(Fn,f,!1,d,v,r.valueSpan,i,o,Gn);else{var ir=[];this.bindingParser.parseEvent(Fn,f,!1,d,r.valueSpan||d,i,ir,Gn),Yy(ir,a)}return!0}var Lr=y(d,"",c);return this.bindingParser.parsePropertyInterpolation(c,f,d,r.valueSpan,i,o,Lr,null!==(l=r.valueTokens)&&void 0!==l?l:null)}},{key:"_visitTextWithInterpolation",value:function(e,r,i,o){var a=nk(e),s=this.bindingParser.parseInterpolation(a,r,i);return s?new Jg(s,r,o):new Jh(a,r)}},{key:"parseVariable",value:function(e,r,i,o,a,s){e.indexOf("-")>-1?this.reportError('"-" is not allowed in variable names',i):0===e.length&&this.reportError("Variable does not have a name",i),s.push(new Ow(e,r,i,o,a))}},{key:"parseReference",value:function(e,r,i,o,a,s){e.indexOf("-")>-1?this.reportError('"-" is not allowed in reference names',i):0===e.length?this.reportError("Reference does not have a name",i):s.some(function(u){return u.name===e})&&this.reportError('Reference "#'.concat(e,'" is defined more than once'),i),s.push(new CN(e,r,i,o,a))}},{key:"parseAssignmentEvent",value:function(e,r,i,o,a,s,u){var l=[];this.bindingParser.parseEvent("".concat(e,"Change"),"".concat(r," =$event"),!0,i,o||i,a,l,u),Yy(l,s)}},{key:"reportError",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ps.ERROR;this.errors.push(new mp(r,e,i))}}]),t}(),wR=function(){function t(){p(this,t)}return h(t,[{key:"visitElement",value:function(e){var r=ck(e);if(r.type===$i.SCRIPT||r.type===$i.STYLE||r.type===$i.STYLESHEET)return null;var i=Uo(this,e.children,null);return new ev(e.name,Uo(this,e.attrs),[],[],i,[],e.sourceSpan,e.startSourceSpan,e.endSourceSpan)}},{key:"visitComment",value:function(e){return null}},{key:"visitAttribute",value:function(e){return new ey(e.name,e.value,e.sourceSpan,e.keySpan,e.valueSpan,e.i18n)}},{key:"visitText",value:function(e){return new Jh(e.value,e.sourceSpan)}},{key:"visitExpansion",value:function(e){return null}},{key:"visitExpansionCase",value:function(e){return null}}]),t}(),xR=new wR;function gk(t){return/^data-/i.test(t)?t.substring(5):t}function Yy(t,n){n.push.apply(n,re(t.map(function(e){return Nw.fromParsedEvent(e)})))}function TR(){return{getUniqueId:FN(),icus:new Map}}!function(t){t[t.ELEMENT=0]="ELEMENT",t[t.TEMPLATE=1]="TEMPLATE"}(Ia||(Ia={}));var IR=function(){function t(n,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0;p(this,t),this.index=n,this.ref=e,this.level=r,this.templateIndex=i,this.meta=o,this.registry=a,this.bindings=new Set,this.placeholders=new Map,this.isEmitted=!1,this._unresolvedCtxCount=0,this._registry=a||TR(),this.id=this._registry.getUniqueId()}return h(t,[{key:"appendTag",value:function(e,r,i,o){if(!r.isVoid||!o){var a=r.isVoid||!o?r.startName:r.closeName,s={type:e,index:i,ctx:this.id,isVoid:r.isVoid,closed:o};av(this.placeholders,a,s)}}},{key:"icus",get:function(){return this._registry.icus}},{key:"isRoot",get:function(){return 0===this.level}},{key:"isResolved",get:function(){return 0===this._unresolvedCtxCount}},{key:"getSerializedPlaceholders",value:function(){var e=new Map;return this.placeholders.forEach(function(r,i){return e.set(i,r.map(AR))}),e}},{key:"appendBinding",value:function(e){this.bindings.add(e)}},{key:"appendIcu",value:function(e,r){av(this._registry.icus,e,r)}},{key:"appendBoundText",value:function(e){var r=this;qw(e,this.bindings.size,this.id).forEach(function(o,a){return av.apply(void 0,[r.placeholders,a].concat(re(o)))})}},{key:"appendTemplate",value:function(e,r){this.appendTag(Ia.TEMPLATE,e,r,!1),this.appendTag(Ia.TEMPLATE,e,r,!0),this._unresolvedCtxCount++}},{key:"appendElement",value:function(e,r,i){this.appendTag(Ia.ELEMENT,e,r,i)}},{key:"appendProjection",value:function(e,r){this.appendTag(Ia.ELEMENT,e,r,!1),this.appendTag(Ia.ELEMENT,e,r,!0)}},{key:"forkChildContext",value:function(e,r,i){return new t(e,this.ref,this.level+1,r,i,this._registry)}},{key:"reconcileChildContext",value:function(e){var r=this;["start","close"].forEach(function(o){var a=e.meta["".concat(o,"Name")],u=(r.placeholders.get(a)||[]).find(yk(r.id,e.templateIndex));u&&(u.ctx=e.id)}),e.placeholders.forEach(function(o,a){var s=r.placeholders.get(a);if(s){var u=s.findIndex(yk(e.id,e.templateIndex));if(u>=0){var l=a.startsWith("CLOSE");if(a.endsWith("NG-TEMPLATE"))s.splice.apply(s,[u+(l?0:1),0].concat(re(o)));else o[l?o.length-1:0].tmpl=s[u],s.splice.apply(s,[u,1].concat(re(o)))}else s.push.apply(s,re(o));r.placeholders.set(a,s)}else r.placeholders.set(a,o)}),this._unresolvedCtxCount--}}]),t}();function Qy(t,n,e,r){var i=r?"/":"";return ov("".concat(i).concat(t).concat(n),e)}function Jy(t,n,e){var r=n.index,i=n.ctx;return n.isVoid?Qy(t,r,i)+Qy(t,r,i,!0):Qy(t,r,i,e)}function yk(t,n){return function(e){return"object"==typeof e&&e.type===Ia.TEMPLATE&&e.index===n&&e.ctx===t}}function AR(t){var n=function(o,a){return Jy("#",o,a)},e=function(o,a){return Jy("*",o,a)};switch(t.type){case Ia.ELEMENT:return t.closed?n(t,!0)+(t.tmpl?e(t.tmpl,!0):""):t.tmpl?e(t.tmpl)+n(t)+(t.isVoid?e(t.tmpl,!0):""):n(t);case Ia.TEMPLATE:return e(t,t.closed);default:return t}} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var MR=function(){function t(){p(this,t)}return h(t,[{key:"visitText",value:function(e){return e.value}},{key:"visitContainer",value:function(e){var r=this;return e.children.map(function(i){return i.visit(r)}).join("")}},{key:"visitIcu",value:function(e){var r=this,i=Object.keys(e.cases).map(function(a){return"".concat(a," {").concat(e.cases[a].visit(r),"}")});return"{".concat(e.expressionPlaceholder,", ").concat(e.type,", ").concat(i.join(" "),"}")}},{key:"visitTagPlaceholder",value:function(e){var r=this;return e.isVoid?this.formatPh(e.startName):"".concat(this.formatPh(e.startName)).concat(e.children.map(function(i){return i.visit(r)}).join("")).concat(this.formatPh(e.closeName))}},{key:"visitPlaceholder",value:function(e){return this.formatPh(e.name)}},{key:"visitIcuPlaceholder",value:function(e,r){return this.formatPh(e.name)}},{key:"formatPh",value:function(e){return"{".concat(sv(e,!1),"}")}}]),t}(),NR=new MR;function _k(t){return t.visit(NR)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Ck={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"},OR=function(){function t(){p(this,t),this._placeHolderNameCounts={},this._signatureToName={}}return h(t,[{key:"getStartTagPlaceholderName",value:function(e,r,i){var o=this._hashTag(e,r,i);if(this._signatureToName[o])return this._signatureToName[o];var a=e.toUpperCase(),s=Ck[a]||"TAG_".concat(a),u=this._generateUniqueName(i?s:"START_".concat(s));return this._signatureToName[o]=u,u}},{key:"getCloseTagPlaceholderName",value:function(e){var r=this._hashClosingTag(e);if(this._signatureToName[r])return this._signatureToName[r];var i=e.toUpperCase(),o=Ck[i]||"TAG_".concat(i),a=this._generateUniqueName("CLOSE_".concat(o));return this._signatureToName[r]=a,a}},{key:"getPlaceholderName",value:function(e,r){var i=e.toUpperCase(),o="PH: ".concat(i,"=").concat(r);if(this._signatureToName[o])return this._signatureToName[o];var a=this._generateUniqueName(i);return this._signatureToName[o]=a,a}},{key:"getUniquePlaceholder",value:function(e){return this._generateUniqueName(e.toUpperCase())}},{key:"_hashTag",value:function(e,r,i){return"<".concat(e)+Object.keys(r).sort().map(function(u){return" ".concat(u,"=").concat(r[u])}).join("")+(i?"/>":">"))}},{key:"_hashClosingTag",value:function(e){return this._hashTag("/".concat(e),{},!1)}},{key:"_generateUniqueName",value:function(e){if(!this._placeHolderNameCounts.hasOwnProperty(e))return this._placeHolderNameCounts[e]=1,e;var i=this._placeHolderNameCounts[e];return this._placeHolderNameCounts[e]=i+1,"".concat(e,"_").concat(i)}}]),t}(),PR=new $x(new qx); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function RR(t){var n=new LR(PR,t);return function(e,r,i,o,a){return n.toI18nMessage(e,r,i,o,a)}}function FR(t,n){return n}var LR=function(){function t(n,e){p(this,t),this._expressionParser=n,this._interpolationConfig=e}return h(t,[{key:"toI18nMessage",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4?arguments[4]:void 0,s={isIcu:1==e.length&&e[0]instanceof xv,icuDepth:0,placeholderRegistry:new OR,placeholderToContent:{},placeholderToMessage:{},visitNodeFn:a||FR},u=Uo(this,e,s);return new lu(u,s.placeholderToContent,s.placeholderToMessage,r,i,o)}},{key:"visitElement",value:function(e,r){var i,o=Uo(this,e.children,r),a={};e.attrs.forEach(function(f){a[f.name]=f.value});var s=An(e.name).isVoid,u=r.placeholderRegistry.getStartTagPlaceholderName(e.name,a,s);r.placeholderToContent[u]={text:e.startSourceSpan.toString(),sourceSpan:e.startSourceSpan};var l="";s||(l=r.placeholderRegistry.getCloseTagPlaceholderName(e.name),r.placeholderToContent[l]={text:""),sourceSpan:null!==(i=e.endSourceSpan)&&void 0!==i?i:e.sourceSpan});var c=new bN(e.name,a,u,l,o,s,e.sourceSpan,e.startSourceSpan,e.endSourceSpan);return r.visitNodeFn(e,c)}},{key:"visitAttribute",value:function(e,r){var i=void 0===e.valueTokens||1===e.valueTokens.length?new nv(e.value,e.valueSpan||e.sourceSpan):this._visitTextWithInterpolation(e.valueTokens,e.valueSpan||e.sourceSpan,r,e.i18n);return r.visitNodeFn(e,i)}},{key:"visitText",value:function(e,r){var i=1===e.tokens.length?new nv(e.value,e.sourceSpan):this._visitTextWithInterpolation(e.tokens,e.sourceSpan,r,e.i18n);return r.visitNodeFn(e,i)}},{key:"visitComment",value:function(e,r){return null}},{key:"visitExpansion",value:function(e,r){var i=this;r.icuDepth++;var o={},a=new Fw(e.switchValue,e.type,o,e.sourceSpan);if(e.cases.forEach(function(c){o[c.value]=new ip(c.expression.map(function(f){return f.visit(i,r)}),c.expSourceSpan)}),r.icuDepth--,r.isIcu||r.icuDepth>0){var s=r.placeholderRegistry.getUniquePlaceholder("VAR_".concat(e.type));return a.expressionPlaceholder=s,r.placeholderToContent[s]={text:e.switchValue,sourceSpan:e.switchValueSourceSpan},r.visitNodeFn(e,a)}var u=r.placeholderRegistry.getPlaceholderName("ICU",e.sourceSpan.toString());r.placeholderToMessage[u]=this.toI18nMessage([e],"","","",void 0);var l=new rv(a,u,e.sourceSpan);return r.visitNodeFn(e,l)}},{key:"visitExpansionCase",value:function(e,r){throw new Error("Unreachable code")}},{key:"_visitTextWithInterpolation",value:function(e,r,i,o){var l,a=[],s=!1,u=Me(e);try{for(u.s();!(l=u.n()).done;){var c=l.value;switch(c.type){case 8:case 17:s=!0;var f=c.parts[1],d=UR(f)||"INTERPOLATION",v=i.placeholderRegistry.getPlaceholderName(d,f);i.placeholderToContent[v]={text:c.parts.join(""),sourceSpan:c.sourceSpan},a.push(new Lw(f,v,c.sourceSpan));break;default:if(c.parts[0].length>0){var y=a[a.length-1];y instanceof nv?(y.value+=c.parts[0],y.sourceSpan=new Ur(y.sourceSpan.start,c.sourceSpan.end,y.sourceSpan.fullStart,y.sourceSpan.details)):a.push(new nv(c.parts[0],c.sourceSpan))}}}}catch(b){u.e(b)}finally{u.f()}return s?(function BR(t,n){if(n instanceof lu&&(function VR(t){var n=t.nodes;if(1!==n.length||!(n[0]instanceof ip))throw new Error("Unexpected previous i18n message - expected it to consist of only a single `Container` node.")}(n),n=n.nodes[0]),n instanceof ip){!function jR(t,n){if(t.length!==n.length)throw new Error("The number of i18n message children changed between first and second pass.");if(t.some(function(e,r){return n[r].constructor!==e.constructor}))throw new Error("The types of the i18n message children changed between first and second pass.")}(n.children,t);for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:jo,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];p(this,t),this.interpolationConfig=n,this.keepI18nAttrs=e,this.enableI18nLegacyMessageIdFormat=r,this.hasI18nMeta=!1,this._errors=[],this._createI18nMessage=RR(this.interpolationConfig)}return h(t,[{key:"_generateI18nMessage",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0,o=this._parseMetadata(r),a=o.meaning,s=o.description,u=o.customId,l=this._createI18nMessage(e,a,s,u,i);return this._setMessageId(l,r),this._setLegacyIds(l,r),l}},{key:"visitAllWithErrors",value:function(e){var r=this,i=e.map(function(o){return o.visit(r,null)});return new zy(i,this._errors)}},{key:"visitElement",value:function(e){var r=void 0;if(function PN(t){return t.attrs.some(function(n){return jw(n.name)})}(e)){this.hasI18nMeta=!0;var s,i=[],o={},a=Me(e.attrs);try{for(a.s();!(s=a.n()).done;){var u=s.value;if("i18n"===u.name){var l=e.i18n||u.value;0===(r=this._generateI18nMessage(e.children,l,GR)).nodes.length&&(r=void 0),e.i18n=r}else if(u.name.startsWith(ty)){var c=u.name.slice(ty.length);uk(e.name,c)?this._reportError(u,"Translating attribute '".concat(c,"' is disallowed for security reasons.")):o[c]=u.value}else i.push(u)}}catch(b){a.e(b)}finally{a.f()}if(Object.keys(o).length){var d,f=Me(i);try{for(f.s();!(d=f.n()).done;){var v=d.value,y=o[v.name];void 0!==y&&v.value&&(v.i18n=this._generateI18nMessage([v],v.i18n||y))}}catch(b){f.e(b)}finally{f.f()}}this.keepI18nAttrs||(e.attrs=i)}return Uo(this,e.children,r),e}},{key:"visitExpansion",value:function(e,r){var i,o=e.i18n;if(this.hasI18nMeta=!0,o instanceof rv){var a=o.name;Hw(i=this._generateI18nMessage([e],o)).name=a,null!==r&&(r.placeholderToMessage[a]=i)}else i=this._generateI18nMessage([e],r||o);return e.i18n=i,e}},{key:"visitText",value:function(e){return e}},{key:"visitAttribute",value:function(e){return e}},{key:"visitComment",value:function(e){return e}},{key:"visitExpansionCase",value:function(e){return e}},{key:"_parseMetadata",value:function(e){return"string"==typeof e?function WR(){var n,e,r,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(t=t.trim()){var a,i=t.indexOf("@@"),o=t.indexOf("|"),u=Xt(i>-1?[t.slice(0,i),t.slice(i+2)]:[t,""],2);a=u[0],n=u[1];var c=Xt(o>-1?[a.slice(0,o),a.slice(o+1)]:["",a],2);e=c[0],r=c[1]}return{customId:n,meaning:e,description:r}}(e):e instanceof lu?e:{}}},{key:"_setMessageId",value:function(e,r){e.id||(e.id=r instanceof lu&&r.id||Mn(e))}},{key:"_setLegacyIds",value:function(e,r){if(this.enableI18nLegacyMessageIdFormat)e.legacyIds=[Vr(e),Nn(e)];else if("string"!=typeof r){var i=r instanceof lu?r:r instanceof rv?r.previousMessage:void 0;e.legacyIds=i?i.legacyIds:[]}}},{key:"_reportError",value:function(e,r){this._errors.push(new qR(e.sourceSpan,r))}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function XR(t,n,e,r){var i=function JR(t){return t.nodes.map(function(n){return n.visit(QR,null)}).join("")}(n),o=[H(i)];Object.keys(r).length&&o.push($y(r,!0));var a=e.set(wt("goog.getMsg").callFn(o)).toConstDecl();return a.addLeadingComment(function KR(t){var n=[];return t.description?n.push({tagName:"desc",text:t.description}):n.push({tagName:"suppress",text:"{msgDescriptions}"}),t.meaning&&n.push({tagName:"meaning",text:t.meaning}),pw(n)}(n)),[a,new ef(t.set(e))]}var YR=function(){function t(){p(this,t)}return h(t,[{key:"formatPh",value:function(e){return"{$".concat(sv(e),"}")}},{key:"visitText",value:function(e){return e.value}},{key:"visitContainer",value:function(e){var r=this;return e.children.map(function(i){return i.visit(r)}).join("")}},{key:"visitIcu",value:function(e){return _k(e)}},{key:"visitTagPlaceholder",value:function(e){var r=this;return e.isVoid?this.formatPh(e.startName):"".concat(this.formatPh(e.startName)).concat(e.children.map(function(i){return i.visit(r)}).join("")).concat(this.formatPh(e.closeName))}},{key:"visitPlaceholder",value:function(e){return this.formatPh(e.name)}},{key:"visitIcuPlaceholder",value:function(e,r){return this.formatPh(e.name)}}]),t}(),QR=new YR;function eF(t,n,e){var r=function nF(t){var n=[],e=new tF(t.placeholderToMessage,n);return t.nodes.forEach(function(r){return r.visit(e)}),function iF(t){var n=[],e=[];t[0]instanceof ep&&n.push(e_(t[0].sourceSpan.start));for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:null,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.type,i=t.name,o=t.target,a=t.phase,s=t.handler;if(o&&!t_.has(o))throw new Error("Unexpected global target '".concat(o,"' defined for '").concat(i,"' event.\n Supported list of global targets: ").concat(Array.from(t_.keys()),"."));var u="$event",l=new Set,c=null===e||0===e.bindingLevel?wt(Vo):e.getOrCreateSharedContextVar(0),f=xO(e,c,s,"b",t.handlerSpan,l,Ek),d=[];e&&(d.push.apply(d,re(e.variableDeclarations())),d.unshift.apply(d,re(e.restoreViewStatement()))),d.push.apply(d,re(f));var v=1===r?lN(i,a):i,y=n&&sf(n),b=[];l.has(u)&&b.push(new qi(u,ze));var x=Xr(b,d,Qe,null,y),O=[H(v),x];return o&&O.push(H(!1),_e(t_.get(o))),O}function uF(){return{prepareStatements:[],constExpressions:[],i18nVarRefsCache:new Map}}var lF=function(){function t(n,e){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0,u=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,c=arguments.length>8?arguments[8]:void 0,f=arguments.length>9?arguments[9]:void 0,d=arguments.length>10&&void 0!==arguments[10]?arguments[10]:uF();p(this,t),this.constantPool=n,this.level=i,this.contextName=o,this.i18nContext=a,this.templateIndex=s,this.templateName=u,this._namespace=l,this.i18nUseExternalIds=f,this._constants=d,this._dataIndex=0,this._bindingContext=0,this._prefixCode=[],this._creationCodeFns=[],this._updateCodeFns=[],this._currentIndex=0,this._tempVariables=[],this._nestedTemplateFns=[],this.i18n=null,this._pureFunctionSlots=0,this._bindingSlots=0,this._ngContentReservedSlots=[],this._ngContentSelectorsOffset=0,this._implicitReceiverExpr=null,this.visitReference=up,this.visitVariable=up,this.visitTextAttribute=up,this.visitBoundAttribute=up,this.visitBoundEvent=up,this._bindingScope=e.nestedScope(i),this.fileBasedI18nSuffix=c.replace(/[^A-Za-z0-9]/g,"_")+"_",this._valueConverter=new xk(n,function(){return r.allocateDataSlot()},function(v){return r.allocatePureFunctionSlots(v)},function(v,y,b,x){r._bindingScope.set(r.level,y,x),r.creationInstruction(null,m.pipe,[H(b),H(v)])})}return h(t,[{key:"buildTemplateFunction",value:function(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3?arguments[3]:void 0;this._ngContentSelectorsOffset=o,this._namespace!==m.namespaceHTML&&this.creationInstruction(null,this._namespace),r.forEach(function(O){return i.registerContextVariables(O)});var s=this.i18nContext||op(a)&&!iv(a)&&!(CF(e)&&e[0].i18n===a),u=r_(e);if(s&&this.i18nStart(null,a,u),Rw(this,e),this._pureFunctionSlots+=this._bindingSlots,this._valueConverter.updatePipeSlotOffsets(this._bindingSlots),this._nestedTemplateFns.forEach(function(O){return O()}),0===this.level&&this._ngContentReservedSlots.length){var l=[];if(this._ngContentReservedSlots.length>1||"*"!==this._ngContentReservedSlots[0]){var c=this._ngContentReservedSlots.map(function(O){return"*"!==O?Di(O):O});l.push(this.constantPool.getConstLiteral(_o(c),!0))}this.creationInstruction(null,m.projectionDef,l,!0)}s&&this.i18nEnd(null,u);var f=lv(this._creationCodeFns),d=lv(this._updateCodeFns),v=this._bindingScope.viewSnapshotStatements(),y=this._bindingScope.variableDeclarations().concat(this._tempVariables),b=f.length>0?[yu(1,v.concat(f))]:[],x=d.length>0?[yu(2,y.concat(d))]:[];return Xr([new qi(ap,gt),new qi(Vo,null)],[].concat(re(this._prefixCode),b,x),Qe,null,this.templateName)}},{key:"getLocal",value:function(e){return this._bindingScope.get(e)}},{key:"notifyImplicitReceiverUse",value:function(){this._bindingScope.notifyImplicitReceiverUse()}},{key:"maybeRestoreView",value:function(){this._bindingScope.maybeRestoreView()}},{key:"i18nTranslate",value:function(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,s=o||this.i18nGenerateMainBlockVar(),u=this.i18nGenerateClosureVar(e.id),l=EF(e,s,u,i,a);return(r=this._constants.prepareStatements).push.apply(r,re(l)),s}},{key:"registerContextVariables",value:function(e){var r=this._bindingScope.freshReferenceName(),i=this.level,o=wt(e.name+r);this._bindingScope.set(i,e.name,o,1,function(a,s){var u;a.bindingLevel===i?a.isListenerScope()&&a.hasRestoreViewVariable()?(u=wt(zw),a.notifyRestoredViewContextUse()):u=wt(Vo):u=a.getSharedContextName(i)||n_(s);return[o.set(u.prop(e.value||"$implicit")).toConstDecl()]})}},{key:"i18nAppendBindings",value:function(e){var r=this;e.length>0&&e.forEach(function(i){return r.i18n.appendBinding(i)})}},{key:"i18nBindProps",value:function(e){var r=this,i={};return Object.keys(e).forEach(function(o){var a=e[o];if(a instanceof Jh)i[o]=H(a.value);else{var s=a.value.visit(r._valueConverter);if(r.allocateBindingSlots(s),s instanceof Ii){var u=s.strings,l=s.expressions,c=r.i18n,f=c.id,v=function RN(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!t.length)return"";for(var r="",i=t.length-1,o=0;o1})||Object.keys(l).length)&&(d=function(y){var b=[y];return Object.keys(l).length&&b.push($y(l,!0)),sp(null,m.i18nPostprocess,b)}),this.i18nTranslate(i,c,e.ref,d)}}},{key:"i18nStart",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0,o=this.allocateDataSlot();this.i18n=this.i18nContext?this.i18nContext.forkChildContext(o,this.templateIndex,r):new IR(o,this.i18nGenerateMainBlockVar(),0,this.templateIndex,r);var a=this.i18n,s=a.id,u=a.ref,l=[H(o),this.addToConsts(u)];s>0&&l.push(H(s)),this.creationInstruction(e,i?m.i18n:m.i18nStart,l)}},{key:"i18nEnd",value:function(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=arguments.length>1?arguments[1]:void 0;if(!this.i18n)throw new Error("i18nEnd is executed with no i18n context present");this.i18nContext?(this.i18nContext.reconcileChildContext(this.i18n),this.i18nUpdateRef(this.i18nContext)):this.i18nUpdateRef(this.i18n);var o=this.i18n,a=o.index,s=o.bindings;if(s.size){var l,u=Me(s);try{var c=function(){var d=l.value;e.updateInstructionWithAdvance(e.getConstCount()-1,r,m.i18nExp,function(){return e.convertPropertyBinding(d)})};for(u.s();!(l=u.n()).done;)c()}catch(f){u.e(f)}finally{u.f()}this.updateInstruction(r,m.i18nApply,[H(a)])}i||this.creationInstruction(r,m.i18nEnd),this.i18n=null}},{key:"i18nAttributesInstruction",value:function(e,r,i){var o=this,a=!1,s=[];if(r.forEach(function(c){var f=c.i18n,d=c.value.visit(o._valueConverter);if(o.allocateBindingSlots(d),d instanceof Ii){var y=Uw(qw(f));s.push(H(c.name),o.i18nTranslate(f,y)),d.expressions.forEach(function(b){a=!0,o.updateInstructionWithAdvance(e,i,m.i18nExp,function(){return o.convertPropertyBinding(b)})})}}),s.length>0){var u=H(this.allocateDataSlot()),l=this.addToConsts(kt(s));this.creationInstruction(i,m.i18nAttributes,[u,l]),a&&this.updateInstruction(i,m.i18nApply,[u])}}},{key:"getNamespaceInstruction",value:function(e){switch(e){case"math":return m.namespaceMathML;case"svg":return m.namespaceSVG;default:return m.namespaceHTML}}},{key:"addNamespaceInstruction",value:function(e,r){this._namespace=e,this.creationInstruction(r.startSourceSpan,e)}},{key:"interpolatedUpdateInstruction",value:function(e,r,i,o,a,s){var u=this;this.updateInstructionWithAdvance(r,o.sourceSpan,e,function(){return[H(i)].concat(re(u.getUpdateInstructionArguments(a)),re(s))})}},{key:"visitContent",value:function(e){var r=this.allocateDataSlot(),i=this._ngContentSelectorsOffset+this._ngContentReservedSlots.length,o=[H(r)];this._ngContentReservedSlots.push(e.selector);var a=e.attributes.filter(function(u){return"select"!==u.name.toLowerCase()}),s=this.getAttributeExpressions(e.name,a,[],[]);s.length>0?o.push(H(i),kt(s)):0!==i&&o.push(H(i)),this.creationInstruction(e.sourceSpan,m.projection,o),this.i18n&&this.i18n.appendProjection(e.i18n,r)}},{key:"visitElement",value:function(e){var i,o,O,r=this,a=this.allocateDataSlot(),s=new Vx(null),u=!1,l=op(e.i18n)&&!iv(e.i18n),c=[],d=Xt(zn(e.name),2),v=d[0],y=d[1],b=ce(e.name),x=Me(e.attributes);try{for(x.s();!(O=x.n()).done;){var N=O.value,z=N.name,ne=N.value;"ngNonBindable"===z?u=!0:"style"===z?s.registerStyleAttr(ne):"class"===z?s.registerClassAttr(ne):c.push(N)}}catch(Kt){x.e(Kt)}finally{x.f()}var pe=[H(a)];b||pe.push(H(y));var Te=[],Oe=[];e.inputs.forEach(function(Kt){s.registerBoundInput(Kt)||(0===Kt.type&&Kt.i18n?Oe.push(Kt):Te.push(Kt))});var mt=this.getAttributeExpressions(e.name,c,Te,e.outputs,s,[],Oe);pe.push(this.addAttrsToConsts(mt));var It=this.prepareRefsArray(e.references);pe.push(this.addToConsts(It));var an=this._namespace,xr=this.getNamespaceInstruction(v);xr!==an&&this.addNamespaceInstruction(xr,e),this.i18n&&this.i18n.appendElement(e.i18n,a);var yt=!l&&this.i18n?!r_(e.children):e.children.length>0,Fn=!s.hasBindingsWithPipes&&0===e.outputs.length&&0===Oe.length&&!yt,Gn=!Fn&&r_(e.children);if(Fn)this.creationInstruction(e.sourceSpan,b?m.elementContainer:m.element,iy(pe));else{if(this.creationInstruction(e.startSourceSpan,b?m.elementContainerStart:m.elementStart,iy(pe)),u&&this.creationInstruction(e.startSourceSpan,m.disableBindings),Oe.length>0&&this.i18nAttributesInstruction(a,Oe,null!==(i=e.startSourceSpan)&&void 0!==i?i:e.sourceSpan),e.outputs.length>0){var Lr,ir=Me(e.outputs);try{for(ir.s();!(Lr=ir.n()).done;){var to=Lr.value;this.creationInstruction(to.sourceSpan,m.listener,this.prepareListenerParameter(e.name,to,a))}}catch(Kt){ir.e(Kt)}finally{ir.f()}}l&&this.i18nStart(e.startSourceSpan,e.i18n,Gn)}for(var Kr=s.buildUpdateLevelInstructions(this._valueConverter),wi=Kr.length-1,Zr=0;Zr<=wi;Zr++){var mo=Kr[Zr];this._bindingSlots+=this.processStylingUpdateInstruction(a,mo)}var sn=H(void 0),wa=[],ns=[];Te.forEach(function(Kt){var kr=Kt.type;if(4===kr){var ii=Kt.value.visit(r._valueConverter),au=!(ii instanceof oo)||!!ii.value;r.allocateBindingSlots(ii),wa.push({span:Kt.sourceSpan,paramsOrFn:Mv(function(){return au?r.convertPropertyBinding(ii):sn},kw(Kt.name))})}else{if(Kt.i18n)return;var Yn=Kt.value.visit(r._valueConverter);if(void 0!==Yn){var xi=[],Zd=Xt(zn(Kt.name),2),Xd=Zd[0],su=Zd[1],qh=1===kr,Xc=Ik(Kt.securityContext,qh);if(Xc&&xi.push(Xc),Xd){var Yd=H(Xd);Xc?xi.push(Yd):xi.push(H(null),Yd)}if(r.allocateBindingSlots(Yn),0===kr)Yn instanceof Ii?r.interpolatedUpdateInstruction(Sk(Yn),a,su,Kt,Yn,xi):wa.push({span:Kt.sourceSpan,paramsOrFn:Mv(function(){return r.convertPropertyBinding(Yn)},su,xi)});else if(1===kr)if(Yn instanceof Ii&&Sl(Yn)>1)r.interpolatedUpdateInstruction(function mF(t){switch(Sl(t)){case 3:return m.attributeInterpolate1;case 5:return m.attributeInterpolate2;case 7:return m.attributeInterpolate3;case 9:return m.attributeInterpolate4;case 11:return m.attributeInterpolate5;case 13:return m.attributeInterpolate6;case 15:return m.attributeInterpolate7;case 17:return m.attributeInterpolate8;default:return m.attributeInterpolateV}}(Yn),a,su,Kt,Yn,xi);else{var Gh=Yn instanceof Ii?Yn.expressions[0]:Yn;ns.push({span:Kt.sourceSpan,paramsOrFn:Mv(function(){return r.convertPropertyBinding(Gh)},su,xi)})}else r.updateInstructionWithAdvance(a,Kt.sourceSpan,m.classProp,function(){return[H(a),H(su),r.convertPropertyBinding(Yn)].concat(xi)})}}});for(var rs=0,Cl=wa;rs0&&this.i18nAttributesInstruction(a,x,null!==(i=e.startSourceSpan)&&void 0!==i?i:e.sourceSpan),O.length>0&&this.templatePropertyBindings(a,O);var z,N=Me(e.outputs);try{for(N.s();!(z=N.n()).done;){var ne=z.value;this.creationInstruction(ne.sourceSpan,m.listener,this.prepareListenerParameter("ng_template",ne,a))}}catch(pe){N.e(pe)}finally{N.f()}}}},{key:"visitBoundText",value:function(e){var r=this;if(this.i18n){var i=e.value.visit(this._valueConverter);return this.allocateBindingSlots(i),void(i instanceof Ii&&(this.i18n.appendBoundText(e.i18n),this.i18nAppendBindings(i.expressions)))}var o=this.allocateDataSlot();this.creationInstruction(e.sourceSpan,m.text,[H(o)]);var a=e.value.visit(this._valueConverter);this.allocateBindingSlots(a),a instanceof Ii?this.updateInstructionWithAdvance(o,e.sourceSpan,function gF(t){switch(Sl(t)){case 1:return m.textInterpolate;case 3:return m.textInterpolate1;case 5:return m.textInterpolate2;case 7:return m.textInterpolate3;case 9:return m.textInterpolate4;case 11:return m.textInterpolate5;case 13:return m.textInterpolate6;case 15:return m.textInterpolate7;case 17:return m.textInterpolate8;default:return m.textInterpolateV}}(a),function(){return r.getUpdateInstructionArguments(a)}):E("Text nodes should be interpolated and never bound directly.")}},{key:"visitText",value:function(e){this.i18n||this.creationInstruction(e.sourceSpan,m.text,[H(this.allocateDataSlot()),H(e.value)])}},{key:"visitIcu",value:function(e){var r=!1;this.i18n||(r=!0,this.i18nStart(null,e.i18n,!0));var i=this.i18n,o=this.i18nBindProps(e.vars),a=this.i18nBindProps(e.placeholders),s=e.i18n,u=function(f){var v=ny(Object.assign(Object.assign({},o),a),!1);return sp(null,m.i18nPostprocess,[f,$y(v,!0)])};if(iv(i.meta))this.i18nTranslate(s,{},i.ref,u);else{var l=this.i18nTranslate(s,{},void 0,u);i.appendIcu(Hw(s).name,l)}return r&&this.i18nEnd(null,!0),null}},{key:"allocateDataSlot",value:function(){return this._dataIndex++}},{key:"getConstCount",value:function(){return this._dataIndex}},{key:"getVarCount",value:function(){return this._pureFunctionSlots}},{key:"getConsts",value:function(){return this._constants}},{key:"getNgContentSelectors",value:function(){return this._ngContentReservedSlots.length?this.constantPool.getConstLiteral(_o(this._ngContentReservedSlots),!0):null}},{key:"bindingContext",value:function(){return"".concat(this._bindingContext++)}},{key:"templatePropertyBindings",value:function(e,r){var s,i=this,o=[],a=Me(r);try{var u=function(){var y=s.value;if(!(y instanceof Mw))return"continue";var b=y.value.visit(i._valueConverter);if(void 0===b)return"continue";if(i.allocateBindingSlots(b),b instanceof Ii){i.interpolatedUpdateInstruction(Sk(b),e,y.name,y,b,[])}else o.push({span:y.sourceSpan,paramsOrFn:Mv(function(){return i.convertPropertyBinding(b)},y.name)})};for(a.s();!(s=a.n()).done;)u()}catch(v){a.e(v)}finally{a.f()}for(var c=0,f=o;c4&&void 0!==arguments[4]&&arguments[4];e[a?"unshift":"push"]({span:r,reference:i,paramsOrFn:o})}},{key:"processStylingUpdateInstruction",value:function(e,r){var i=this,o=0;if(r){var s,a=Me(r.calls);try{var u=function(){var c=s.value;o+=c.allocateBindingSlots,i.updateInstructionWithAdvance(e,c.sourceSpan,r.reference,function(){return c.params(function(f){return c.supportsInterpolation&&f instanceof Ii?i.getUpdateInstructionArguments(f):i.convertPropertyBinding(f)})})};for(a.s();!(s=a.n()).done;)u()}catch(l){a.e(l)}finally{a.f()}}return o}},{key:"creationInstruction",value:function(e,r,i,o){this.instructionFn(this._creationCodeFns,e,r,i||[],o)}},{key:"updateInstructionWithAdvance",value:function(e,r,i,o){this.addAdvanceInstructionIfNecessary(e,r),this.updateInstruction(r,i,o)}},{key:"updateInstruction",value:function(e,r,i){this.instructionFn(this._updateCodeFns,e,r,i||[])}},{key:"addAdvanceInstructionIfNecessary",value:function(e,r){if(e!==this._currentIndex){var i=e-this._currentIndex;if(i<1)throw new Error("advance instruction can only go forwards");this.instructionFn(this._updateCodeFns,r,m.advance,[H(i)]),this._currentIndex=e}}},{key:"allocatePureFunctionSlots",value:function(e){var r=this._pureFunctionSlots;return this._pureFunctionSlots+=e,r}},{key:"allocateBindingSlots",value:function(e){this._bindingSlots+=e instanceof Ii?e.expressions.length:1}},{key:"getImplicitReceiverExpr",value:function(){return this._implicitReceiverExpr?this._implicitReceiverExpr:this._implicitReceiverExpr=0===this.level?wt(Vo):this._bindingScope.getOrCreateSharedContextVar(0)}},{key:"convertPropertyBinding",value:function(e){var r,i=Dx(this,this.getImplicitReceiverExpr(),e,this.bindingContext()),o=i.currValExpr;return(r=this._tempVariables).push.apply(r,re(i.stmts)),o}},{key:"getUpdateInstructionArguments",value:function(e){var r,i=function SO(t,n,e,r){var i=new My(t,n,r,!0),o=i.visitInterpolation(e,$t.Expression);return i.usesImplicitReceiver&&t.notifyImplicitReceiverUse(),{stmts:Sx(i,r),args:o.args}}(this,this.getImplicitReceiverExpr(),e,this.bindingContext()),o=i.args,a=i.stmts;return(r=this._tempVariables).push.apply(r,re(a)),o}},{key:"getAttributeExpressions",value:function(e,r,i,o,a){var f,v,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],u=arguments.length>6&&void 0!==arguments[6]?arguments[6]:[],l=new Set,c=[],d=Me(r);try{for(d.s();!(v=d.n()).done;){var y=v.value;if(y.name===aF&&(f=y),y.i18n){var b=this._constants.i18nVarRefsCache,x=void 0;b.has(y.i18n)?x=b.get(y.i18n):(x=this.i18nTranslate(y.i18n),b.set(y.i18n,x)),c.push(H(y.name),x)}else c.push.apply(c,re(Dk(y.name)).concat([_F(e,y)]))}}catch(Oe){d.e(Oe)}finally{d.f()}function O(Oe,mt){"string"==typeof Oe?l.has(Oe)||(c.push.apply(c,re(Dk(Oe))),void 0!==mt&&c.push(mt),l.add(Oe)):c.push(H(Oe))}if(f&&c.push.apply(c,re(vF(f))),a&&a.populateInitialStylingAttrs(c),i.length||o.length){for(var N=c.length,z=0;z0?this.addToConsts(kt(e)):tp}},{key:"prepareRefsArray",value:function(e){var r=this;return e&&0!==e.length?_o(Mk(e.map(function(o){var a=r.allocateDataSlot(),s=r._bindingScope.freshReferenceName(),u=r.level,l=wt(s);return r._bindingScope.set(u,o.name,l,0,function(c,f){var d=f>0?[n_(f).toStmt()]:[],v=l.set(_e(m.reference).callFn([H(a)]));return d.concat(v.toConstDecl())},!0),[o.name,o.value]}))):tp}},{key:"prepareListenerParameter",value:function(e,r,i){var o=this;return function(){var a=r.name,s=1===r.type?Dw(a,r.phase):sf(a),u="".concat(o.templateName,"_").concat(e,"_").concat(s,"_").concat(i,"_listener"),l=o._bindingScope.nestedScope(o._bindingScope.bindingLevel,Ek);return wk(r,u,l)}}}]),t}(),xk=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this)).constantPool=r,s.allocateSlot=i,s.allocatePureFunctionSlots=o,s.definePipe=a,s._pipeBindExprs=[],s}return h(e,[{key:"visitPipe",value:function(i,o){var a=this.allocateSlot(),s="PIPE:".concat(a),u=this.allocatePureFunctionSlots(2+i.args.length),l=new hu(i.span,i.sourceSpan,i.nameSpan,new gp(i.span,i.sourceSpan),s),c=function fF(t){var n=cF[t.length];return{identifier:n||m.pipeBindV,isVarLength:!n}}(i.args),f=c.identifier,d=c.isVarLength;this.definePipe(i.name,s,a,_e(f));var v=[i.exp].concat(re(i.args)),y=d?this.visitAll([new _v(i.span,i.sourceSpan,v)]):this.visitAll(v),b=new cf(i.span,i.sourceSpan,l,[new oo(i.span,i.sourceSpan,a),new oo(i.span,i.sourceSpan,u)].concat(re(y)),null);return this._pipeBindExprs.push(b),b}},{key:"updatePipeSlotOffsets",value:function(i){this._pipeBindExprs.forEach(function(o){o.args[1].value+=i})}},{key:"visitLiteralArray",value:function(i,o){var a=this;return new ff(i.span,i.sourceSpan,this.visitAll(i.expressions),function(s){var u=kt(s);return kk(a.constantPool,u,a.allocatePureFunctionSlots)})}},{key:"visitLiteralMap",value:function(i,o){var a=this;return new ff(i.span,i.sourceSpan,this.visitAll(i.values),function(s){var u=Gi(s.map(function(l,c){return{key:i.keys[c].key,value:l,quoted:i.keys[c].quoted}}));return kk(a.constantPool,u,a.allocatePureFunctionSlots)})}}]),e}(EO),cF=[m.pipeBind1,m.pipeBind2,m.pipeBind3,m.pipeBind4];var dF=[m.pureFunction0,m.pureFunction1,m.pureFunction2,m.pureFunction3,m.pureFunction4,m.pureFunction5,m.pureFunction6,m.pureFunction7,m.pureFunction8];function n_(t){return _e(m.nextContext).callFn(t>1?[H(t)]:[])}function kk(t,n,e){var r=t.getLiteralFactory(n),i=r.literalFactory,o=r.literalFactoryArguments,a=e(1+o.length),s=function pF(t){var n=dF[t.length];return{identifier:n||m.pureFunctionV,isVarLength:!n}}(o),u=s.identifier,l=s.isVarLength,c=[H(a),i];return l?c.push(kt(o)):c.push.apply(c,re(o)),_e(u).callFn(c)}function Dk(t){var e=Xt(zn(t),2),r=e[0],o=H(e[1]);return r?[H(0),H(r),o]:[o]}var hf="$$shared_ctx$$",hF=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2?arguments[2]:void 0;if(p(this,t),this.bindingLevel=n,this.parent=e,this.globals=r,this.map=new Map,this.referenceNameIndex=0,this.restoreViewVariable=null,this.usesRestoredViewContext=!1,void 0!==r){var o,i=Me(r);try{for(i.s();!(o=i.n()).done;){var a=o.value;this.set(0,a,wt(a))}}catch(s){i.e(s)}finally{i.f()}}}return h(t,[{key:"get",value:function(e){for(var r=this;r;){var i=r.map.get(e);if(null!=i)return r!==this&&(i={retrievalLevel:i.retrievalLevel,lhs:i.lhs,declareLocalCallback:i.declareLocalCallback,declare:!1,priority:i.priority},this.map.set(e,i),this.maybeGenerateSharedContextVar(i),this.maybeRestoreView()),i.declareLocalCallback&&!i.declare&&(i.declare=!0),i.lhs;r=r.parent}return 0===this.bindingLevel?null:this.getComponentProperty(e)}},{key:"set",value:function(e,r,i){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0;if(this.map.has(r)){if(s)return this;E("The name ".concat(r," is already defined in scope to be ").concat(this.map.get(r)))}return this.map.set(r,{retrievalLevel:e,lhs:i,declare:!1,declareLocalCallback:a,priority:o}),this}},{key:"getLocal",value:function(e){return this.get(e)}},{key:"notifyImplicitReceiverUse",value:function(){0!==this.bindingLevel&&(this.map.get(hf+0).declare=!0)}},{key:"nestedScope",value:function(e,r){var i=new t(e,this,r);return e>0&&i.generateSharedContextVar(0),i}},{key:"getOrCreateSharedContextVar",value:function(e){var r=hf+e;return this.map.has(r)||this.generateSharedContextVar(e),this.map.get(r).lhs}},{key:"getSharedContextName",value:function(e){var r=this.map.get(hf+e);return r&&r.declare?r.lhs:null}},{key:"maybeGenerateSharedContextVar",value:function(e){if(1===e.priority&&e.retrievalLevel0&&void 0!==arguments[0]?arguments[0]:jo;return new oR(new $x(new qx),t,Tk,[])}function Ik(t,n){switch(t){case Yt.HTML:return _e(m.sanitizeHtml);case Yt.SCRIPT:return _e(m.sanitizeScript);case Yt.STYLE:return n?_e(m.sanitizeStyle):null;case Yt.URL:return _e(m.sanitizeUrl);case Yt.RESOURCE_URL:return _e(m.sanitizeResourceUrl);default:return null}}function _F(t,n){var e=_o(n.value);if(!uk(t,n.name))return e;switch(Tk.securityContext(t,n.name,!0)){case Yt.HTML:return Kg(_e(m.trustConstantHtml),new Lg([new Bg(n.value)],[]),void 0,n.valueSpan);case Yt.RESOURCE_URL:return Kg(_e(m.trustConstantResourceUrl),new Lg([new Bg(n.value)],[]),void 0,n.valueSpan);default:return e}}function CF(t){return 1===t.length&&t[0]instanceof ev}function bF(t){return t instanceof Jh||t instanceof Jg||t instanceof Pw}function r_(t){return t.every(bF)}function Mv(t,n,e){return function(){var r=t(),i=Array.isArray(r)?r:[r];return e&&i.push.apply(i,re(e)),n&&i.unshift(H(n)),i}}var Ak="ngI18nClosureMode";function EF(t,n,e){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4?arguments[4]:void 0,o=[LN(n),Xh(wF(),XR(n,t,e,ny(r,!0)),eF(n,t,ny(r,!1)))];return i&&o.push(new ef(n.set(i(n)))),o}function wF(){return Wg(wt(Ak)).notIdentical(H("undefined",Sn)).and(wt(Ak))}function Mk(t){return t.reduce(function(n,e){var r=Array.isArray(e)?Mk(e):e;return n.concat(r)},[])} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var xF=/attr\.([^\]]+)/,kF="_nghost-".concat("%COMP%"),DF="_ngcontent-".concat("%COMP%");function Ok(t,n,e){var r=new Yr,i=Di(t.selector);return r.set("type",t.internalType),i.length>0&&r.set("selectors",_o(i)),t.queries.length>0&&r.set("contentQueries",function MF(t,n,e){var s,r=[],i=[],o=$w(i,"_t"),a=Me(t);try{for(a.s();!(s=a.n()).done;){var u=s.value;r.push(_e(m.contentQuery).callFn([wt("dirIndex")].concat(re(Lk(u,n)))).toStmt());var l=o(),c=_e(m.loadQuery).callFn([]),f=_e(m.queryRefresh).callFn([l.set(c)]),d=wt(Vo).prop(u.propertyName).set(u.first?l.prop("first"):l);i.push(f.and(d).toStmt())}}catch(y){a.e(y)}finally{a.f()}var v=e?"".concat(e,"_ContentQueries"):null;return Xr([new qi(ap,gt),new qi(Vo,null),new qi("dirIndex",null)],[yu(1,r),yu(2,i)],Qe,null,v)}(t.queries,n,t.name)),t.viewQueries.length&&r.set("viewQuery",function OF(t,n,e){var r=[],i=[],o=$w(i,ry);t.forEach(function(s){var u=_e(m.viewQuery).callFn(Lk(s,n));r.push(u.toStmt());var l=o(),c=_e(m.loadQuery).callFn([]),f=_e(m.queryRefresh).callFn([l.set(c)]),d=wt(Vo).prop(s.propertyName).set(s.first?l.prop("first"):l);i.push(f.and(d).toStmt())});var a=e?"".concat(e,"_Query"):null;return Xr([new qi(ap,gt),new qi(Vo,null)],[yu(1,r),yu(2,i)],Qe,null,a)}(t.viewQueries,n,t.name)),r.set("hostBindings",function PF(t,n,e,r,i,o,a){var s=wt(Vo),u=new Vx(s),l=t.specialAttributes,c=l.styleAttr,f=l.classAttr;void 0!==c&&u.registerStyleAttr(c),void 0!==f&&u.registerClassAttr(f);var d=[],v=[],y=[],b=n,x=e.createDirectiveHostEventAsts(t.listeners,b);x&&x.length&&d.push.apply(d,re(function LF(t,n){var a,e=[],r=[],i=[],o=Me(t);try{for(o.s();!(a=o.n()).done;){var s=a.value,u=s.name&&sf(s.name),l=1===s.type?Dw(u,s.targetOrPhase):u,c=n&&u?"".concat(n,"_").concat(l,"_HostBindingHandler"):null,f=wk(Nw.fromParsedEvent(s),c);1==s.type?r.push(f):e.push(f)}}catch(N){o.e(N)}finally{o.f()}for(var d=0,v=r;d-1&&Kr.indexOf(Yt.RESOURCE_URL)>-1?_e(m.sanitizeUrlOrResourceUrl):Ik(Kr[0],to));var Zr=[H(ir),Fn.currValExpr];wi&&Zr.push(wi),y.push.apply(y,re(Fn.stmts)),Lr===m.hostProperty?Te.push(Zr):Lr===m.attribute?Oe.push(Zr):Lr===m.syntheticHostProperty?mt.push(Zr):v.push({reference:Lr,paramsOrFn:Zr,span:null})}for(var mo=0,sn=Te;mo0||v.length>0){var ou=o?"".concat(o,"_HostBindings"):null,Kt=[];return d.length>0&&Kt.push(yu(1,lv(d))),v.length>0&&Kt.push(yu(2,y.concat(lv(v)))),Xr([new qi(ap,gt),new qi(Vo,null)],Kt,Qe,null,ou)}return null}(t.host,t.typeSourceSpan,e,n,t.selector||"",t.name,r)),r.set("inputs",uv(t.inputs,!0)),r.set("outputs",uv(t.outputs)),null!==t.exportAs&&r.set("exportAs",kt(t.exportAs.map(function(o){return H(o)}))),r}function Pk(t,n){var e=[],r=n.providers,i=n.viewProviders;if(r||i){var o=[r||new Kh([])];i&&o.push(i),e.push(_e(m.ProvidersFeature).callFn(o))}n.usesInheritance&&e.push(_e(m.InheritDefinitionFeature)),n.fullInheritance&&e.push(_e(m.CopyDefinitionFeature)),n.lifecycle.usesOnChanges&&e.push(_e(m.NgOnChangesFeature)),e.length&&t.set("features",kt(e))}function TF(t,n,e){var r=Ok(t,n,e);Pk(r,t);var i=t.selector&&Dr.parse(t.selector),o=i&&i[0];if(o){var a=o.getAttrs();a.length&&r.set("attrs",n.getConstLiteral(kt(a.map(function(an){return H(null!=an?an:void 0)})),!0))}var s=t.name,u=s?"".concat(s,"_Template"):null,l=t.changeDetection,c=t.template,f=new lF(n,hF.createRootScope(),0,s,null,null,u,m.namespaceHTML,t.relativeContextFilePath,t.i18nUseExternalIds),d=f.buildTemplateFunction(c.nodes,[]),v=f.getNgContentSelectors();v&&r.set("ngContentSelectors",v),r.set("decls",H(f.getConstCount())),r.set("vars",H(f.getVarCount()));var y=f.getConsts(),b=y.constExpressions,x=y.prepareStatements;if(b.length>0){var O=kt(b);x.length>0&&(O=Xr([],[].concat(re(x),[new Ti(O)]))),r.set("consts",O)}if(r.set("template",d),t.directives.length>0){var z=Fk(kt(t.directives.map(function(an){return an.type})),t.declarationListEmitMode);r.set("directives",z)}if(t.pipes.size>0){var pe=Fk(kt(Array.from(t.pipes.values())),t.declarationListEmitMode);r.set("pipes",pe)}if(null===t.encapsulation&&(t.encapsulation=$n.Emulated),t.styles&&t.styles.length){var Te=t.encapsulation==$n.Emulated?function HF(t,n,e){var r=new OO;return t.map(function(i){return r.shimCssText(i,n,e)})} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(t.styles,DF,kF):t.styles,Oe=Te.map(function(an){return n.getConstLiteral(H(an))});r.set("styles",kt(Oe))}else t.encapsulation===$n.Emulated&&(t.encapsulation=$n.None);return t.encapsulation!==$n.Emulated&&r.set("encapsulation",H(t.encapsulation)),null!==t.animations&&r.set("data",Gi([{key:"animation",value:t.animations,quoted:!1}])),null!=l&&l!==Ui.Default&&r.set("changeDetection",H(l)),{expression:_e(m.defineComponent).callFn([r.toLiteralMap()],void 0,!0),type:Rk(t),statements:[]}}function Rk(t){var n=Vk(t);return n.push(i_(t.template.ngContentSelectors)),yo(_e(m.ComponentDeclaration,n))}function Fk(t,n){switch(n){case 0:return t;case 1:return Xr([],[new Ti(t)]);case 2:var e=t.prop("map").callFn([_e(m.resolveForwardRef)]);return Xr([],[new Ti(e)])}}function Lk(t,n){var e=[zN(t,n),H(IF(t))];return t.read&&e.push(t.read),e}function IF(t){return(t.descendants?1:0)|(t.static?2:0)|(t.emitDistinctChangesOnly?4:0)}function NF(t){return yo(H(t))}function Bk(t){return yo(Gi(Object.keys(t).map(function(e){return{key:e,value:H(Array.isArray(t[e])?t[e][0]:t[e]),quoted:!0}})))}function i_(t){return t.length>0?yo(kt(t.map(function(n){return H(n)}))):gn}function Vk(t){var n=null!==t.selector?t.selector.replace(/\n/g,""):null;return[Qh(t.type.type,t.typeArgumentCount),null!==n?NF(n):gn,null!==t.exportAs?i_(t.exportAs):gn,Bk(t.inputs),Bk(t.outputs),i_(t.queries.map(function(e){return e.propertyName}))]}function jk(t){var n=Vk(t);return yo(_e(m.DirectiveDeclaration,n))}function Hk(t,n){return Dx(null,t,n,"b")}function RF(t,n,e){return t.params(function(r){return e(n,r).currValExpr})}function FF(t){var e,n=t.name,r=n.match(xF);return r?(n=r[1],e=m.attribute):t.isAnimation?(n=kw(n),e=m.syntheticHostProperty):e=m.hostProperty,{bindingName:n,instruction:e,isAttribute:!!r}}var BF=/^(?:\[([^\]]+)\])|(?:\(([^\)]+)\))$/;var Ep=h(function t(){p(this,t)}),UF=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new dO;p(this,t),this.jitEvaluator=n,this.FactoryTarget=Bo,this.ResourceLoader=Ep,this.elementSchemaRegistry=new ak}return h(t,[{key:"compilePipe",value:function(e,r,i){var a=bx({name:i.name,type:ui(i.type),internalType:new $e(i.type),typeArgumentCount:0,deps:null,pipeName:i.pipeName,pure:i.pure});return this.jitExpression(a.expression,e,r,[])}},{key:"compilePipeDeclaration",value:function(e,r,i){var o=function eL(t){var n;return{name:t.type.name,type:ui(t.type),internalType:new $e(t.type),typeArgumentCount:0,pipeName:t.name,deps:null,pure:null===(n=t.pure)||void 0===n||n}}(i),a=bx(o);return this.jitExpression(a.expression,e,r,[])}},{key:"compileInjectable",value:function(e,r,i){var o,a=Ww({name:i.name,type:ui(i.type),internalType:new $e(i.type),typeArgumentCount:i.typeArgumentCount,providedIn:Jk(i.providedIn),useClass:vf(i,Uk),useFactory:Qk(i,qk),useValue:vf(i,Gk),useExisting:vf(i,zk),deps:null===(o=i.deps)||void 0===o?void 0:o.map(e0)},!0),s=a.expression,u=a.statements;return this.jitExpression(s,e,r,u)}},{key:"compileInjectableDeclaration",value:function(e,r,i){var o,a=Ww({name:i.type.name,type:ui(i.type),internalType:new $e(i.type),typeArgumentCount:0,providedIn:Jk(i.providedIn),useClass:vf(i,Uk),useFactory:Qk(i,qk),useValue:vf(i,Gk),useExisting:vf(i,zk),deps:null===(o=i.deps)||void 0===o?void 0:o.map(t0)},!0),s=a.expression,u=a.statements;return this.jitExpression(s,e,r,u)}},{key:"compileInjector",value:function(e,r,i){var a=yx({name:i.name,type:ui(i.type),internalType:new $e(i.type),providers:new $e(i.providers),imports:i.imports.map(function(s){return new $e(s)})});return this.jitExpression(a.expression,e,r,[])}},{key:"compileInjectorDeclaration",value:function(e,r,i){var o=function tL(t){return{name:t.type.name,type:ui(t.type),internalType:new $e(t.type),providers:void 0!==t.providers?new $e(t.providers):null,imports:void 0!==t.imports?t.imports.map(function(n){return new $e(n)}):[]}}(i),a=yx(o);return this.jitExpression(a.expression,e,r,[])}},{key:"compileNgModule",value:function(e,r,i){var a=mO({type:ui(i.type),internalType:new $e(i.type),adjacentType:new $e(i.type),bootstrap:i.bootstrap.map(ui),declarations:i.declarations.map(ui),imports:i.imports.map(ui),exports:i.exports.map(ui),emitInline:!0,containsForwardDecls:!1,schemas:i.schemas?i.schemas.map(ui):null,id:i.id?new $e(i.id):null});return this.jitExpression(a.expression,e,r,[])}},{key:"compileNgModuleDeclaration",value:function(e,r,i){var o=function gO(t){var n=new Yr;return n.set("type",new $e(t.type)),void 0!==t.bootstrap&&n.set("bootstrap",new $e(t.bootstrap)),void 0!==t.declarations&&n.set("declarations",new $e(t.declarations)),void 0!==t.imports&&n.set("imports",new $e(t.imports)),void 0!==t.exports&&n.set("exports",new $e(t.exports)),void 0!==t.schemas&&n.set("schemas",new $e(t.schemas)),void 0!==t.id&&n.set("id",new $e(t.id)),_e(m.defineNgModule).callFn([n.toLiteralMap()])}(i);return this.jitExpression(o,e,r,[])}},{key:"compileDirective",value:function(e,r,i){var o=Zk(i);return this.compileDirectiveFromMeta(e,r,o)}},{key:"compileDirectiveDeclaration",value:function(e,r,i){var a=Xk(i,this.createParseSourceSpan("Directive",i.type.name,r));return this.compileDirectiveFromMeta(e,r,a)}},{key:"compileDirectiveFromMeta",value:function(e,r,i){var o=new Cw,s=function SF(t,n,e){var r=Ok(t,n,e);return Pk(r,t),{expression:_e(m.defineDirective).callFn([r.toLiteralMap()],void 0,!0),type:jk(t),statements:[]}}(i,o,Av());return this.jitExpression(s.expression,e,r,o.statements)}},{key:"compileComponent",value:function(e,r,i){var o=Yk(i.template,i.name,r,i.preserveWhitespaces,i.interpolation),a=o.template,s=o.interpolation,u=Object.assign(Object.assign(Object.assign({},i),Zk(i)),{selector:i.selector||this.elementSchemaRegistry.getDefaultComponentElementName(),template:a,declarationListEmitMode:0,styles:[].concat(re(i.styles),re(a.styles)),encapsulation:i.encapsulation,interpolation:s,changeDetection:i.changeDetection,animations:null!=i.animations?new $e(i.animations):null,viewProviders:null!=i.viewProviders?new $e(i.viewProviders):null,relativeContextFilePath:"",i18nUseExternalIds:!0}),l="ng:///".concat(i.name,".js");return this.compileComponentFromMeta(e,l,u)}},{key:"compileComponentDeclaration",value:function(e,r,i){var a=function zF(t,n,e){var r,i,o,a,s,u,l=Yk(t.template,t.type.name,e,null!==(r=t.preserveWhitespaces)&&void 0!==r&&r,t.interpolation),c=l.template,f=l.interpolation;return Object.assign(Object.assign({},Xk(t,n)),{template:c,styles:null!==(i=t.styles)&&void 0!==i?i:[],directives:(null!==(o=t.components)&&void 0!==o?o:[]).concat(null!==(a=t.directives)&&void 0!==a?a:[]).map($F),pipes:WF(t.pipes),viewProviders:void 0!==t.viewProviders?new $e(t.viewProviders):null,animations:void 0!==t.animations?new $e(t.animations):null,changeDetection:null!==(s=t.changeDetection)&&void 0!==s?s:Ui.Default,encapsulation:null!==(u=t.encapsulation)&&void 0!==u?u:$n.Emulated,interpolation:f,declarationListEmitMode:2,relativeContextFilePath:"",i18nUseExternalIds:!0})}(i,this.createParseSourceSpan("Component",i.type.name,r),r);return this.compileComponentFromMeta(e,r,a)}},{key:"compileComponentFromMeta",value:function(e,r,i){var o=new Cw,s=TF(i,o,Av(i.interpolation));return this.jitExpression(s.expression,e,r,o.statements)}},{key:"compileFactory",value:function(e,r,i){var o=Dl({name:i.name,type:ui(i.type),internalType:new $e(i.type),typeArgumentCount:i.typeArgumentCount,deps:KF(i.deps),target:i.target});return this.jitExpression(o.expression,e,r,o.statements)}},{key:"compileFactoryDeclaration",value:function(e,r,i){var o=Dl({name:i.type.name,type:ui(i.type),internalType:new $e(i.type),typeArgumentCount:0,deps:Array.isArray(i.deps)?i.deps.map(t0):i.deps,target:i.target});return this.jitExpression(o.expression,e,r,o.statements)}},{key:"createParseSourceSpan",value:function(e,r,i){return function aO(t,n,e){var r="in ".concat(t," ").concat(n," in ").concat(e),i=new vy("",r);return new Ur(new vp(i,-1,-1,-1),new vp(i,-1,-1,-1))}(e,r,i)}},{key:"jitExpression",value:function(e,r,i,o){var a=[].concat(re(o),[new xl("$def",e,void 0,io.Exported)]);return this.jitEvaluator.evaluateStatements(i,a,new vO(r),!0).$def}}]),t}(),Uk=Object.keys({useClass:null})[0],qk=Object.keys({useFactory:null})[0],Gk=Object.keys({useValue:null})[0],zk=Object.keys({useExisting:null})[0]; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function $k(t){return Object.assign(Object.assign({},t),{predicate:Kk(t.predicate),read:t.read?new $e(t.read):null,static:t.static,emitDistinctChangesOnly:t.emitDistinctChangesOnly})}function Wk(t){var n,e,r,i;return{propertyName:t.propertyName,first:null!==(n=t.first)&&void 0!==n&&n,predicate:Kk(t.predicate),descendants:null!==(e=t.descendants)&&void 0!==e&&e,read:t.read?new $e(t.read):null,static:null!==(r=t.static)&&void 0!==r&&r,emitDistinctChangesOnly:null===(i=t.emitDistinctChangesOnly)||void 0===i||i}}function Kk(t){return Array.isArray(t)?t:Yg(new $e(t),1)}function Zk(t){var n=r0(t.inputs||[]),e=r0(t.outputs||[]),r=t.propMetadata,i={},o={},a=function(l){r.hasOwnProperty(l)&&r[l].forEach(function(c){!function QF(t){return"Input"===t.ngMetadataName}(c)?function JF(t){return"Output"===t.ngMetadataName}(c)&&(o[l]=c.bindingPropertyName||l):i[l]=c.bindingPropertyName?[c.bindingPropertyName,l]:l})};for(var s in r)a(s);return Object.assign(Object.assign({},t),{typeArgumentCount:0,typeSourceSpan:t.typeSourceSpan,type:ui(t.type),internalType:new $e(t.type),deps:null,host:ZF(t.propMetadata,t.typeSourceSpan,t.host),inputs:Object.assign(Object.assign({},n),i),outputs:Object.assign(Object.assign({},e),o),queries:t.queries.map($k),providers:null!=t.providers?new $e(t.providers):null,viewQueries:t.viewQueries.map($k),fullInheritance:!1})}function Xk(t,n){var e,r,i,o,a,s,u,l;return{name:t.type.name,type:ui(t.type),typeSourceSpan:n,internalType:new $e(t.type),selector:null!==(e=t.selector)&&void 0!==e?e:null,inputs:null!==(r=t.inputs)&&void 0!==r?r:{},outputs:null!==(i=t.outputs)&&void 0!==i?i:{},host:qF(t.host),queries:(null!==(o=t.queries)&&void 0!==o?o:[]).map(Wk),viewQueries:(null!==(a=t.viewQueries)&&void 0!==a?a:[]).map(Wk),providers:void 0!==t.providers?new $e(t.providers):null,exportAs:null!==(s=t.exportAs)&&void 0!==s?s:null,usesInheritance:null!==(u=t.usesInheritance)&&void 0!==u&&u,lifecycle:{usesOnChanges:null!==(l=t.usesOnChanges)&&void 0!==l&&l},deps:null,typeArgumentCount:0,fullInheritance:!1}}function qF(){var n,e,r,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{attributes:GF(null!==(n=t.attributes)&&void 0!==n?n:{}),listeners:null!==(e=t.listeners)&&void 0!==e?e:{},properties:null!==(r=t.properties)&&void 0!==r?r:{},specialAttributes:{classAttr:t.classAttribute,styleAttr:t.styleAttribute}}}function GF(t){for(var n={},e=0,r=Object.keys(t);e2&&void 0!==arguments[2]?arguments[2]:{},r=e.interpolationConfig,i=e.preserveWhitespaces,o=e.enableI18nLegacyMessageIdFormat,a=Av(r),u=(new jP).parse(t,n,Object.assign(Object.assign({leadingTriviaChars:sF},e),{tokenizeExpansionForms:!0}));if(!e.alwaysAttemptHtmlToR3AstConversion&&u.errors&&u.errors.length>0){var l={interpolationConfig:r,preserveWhitespaces:i,errors:u.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(l.commentNodes=[]),l}var c=u.rootNodes,f=new bk(r,!i,o),d=f.visitAllWithErrors(c);if(!e.alwaysAttemptHtmlToR3AstConversion&&d.errors&&d.errors.length>0){var v={interpolationConfig:r,preserveWhitespaces:i,errors:d.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(v.commentNodes=[]),v}c=d.rootNodes,i||(c=Uo(new rk,c),f.hasI18nMeta&&(c=Uo(new bk(r,!1),c)));var y=bR(c,a,{collectCommentNodes:!!e.collectCommentNodes}),b=y.nodes,x=y.errors,O=y.styleUrls,N=y.styles,z=y.ngContentSelectors,ne=y.commentNodes;x.push.apply(x,re(u.errors).concat(re(d.errors)));var pe={interpolationConfig:r,preserveWhitespaces:i,errors:x.length>0?x:null,nodes:b,styleUrls:O,styles:N,ngContentSelectors:z};return e.collectCommentNodes&&(pe.commentNodes=ne),pe}(t,e,{preserveWhitespaces:r,interpolationConfig:o});if(null!==a.errors){var s=a.errors.map(function(u){return u.toString()}).join(", ");throw new Error("Errors during JIT compilation of template for ".concat(n,": ").concat(s))}return{template:a,interpolation:o}}function vf(t,n){if(t.hasOwnProperty(n))return Yg(new $e(t[n]),0)}function Qk(t,n){if(t.hasOwnProperty(n))return new $e(t[n])}function Jk(t){return Yg("function"==typeof t?new $e(t):new ls(null!=t?t:null),0)}function KF(t){return null==t?null:t.map(e0)}function e0(t){var n=null!=t.attribute,e=null===t.token?null:new $e(t.token);return n0(n?new $e(t.attribute):e,n,t.host,t.optional,t.self,t.skipSelf)}function t0(t){var n,e,r,i,o,a=null!==(n=t.attribute)&&void 0!==n&&n;return n0(null===t.token?null:new $e(t.token),a,null!==(e=t.host)&&void 0!==e&&e,null!==(r=t.optional)&&void 0!==r&&r,null!==(i=t.self)&&void 0!==i&&i,null!==(o=t.skipSelf)&&void 0!==o&&o)}function n0(t,n,e,r,i,o){return{token:t,attributeNameType:n?H("unknown"):null,host:e,optional:r,self:i,skipSelf:o}}function ZF(t,n,e){var r=function VF(t){for(var n={},e={},r={},i={},o=0,a=Object.keys(t);o0&&void 0!==arguments[0]?arguments[0]:{},e=n.defaultEncapsulation,r=void 0===e?$n.Emulated:e,i=n.useJit,o=void 0===i||i,a=n.jitDevMode,s=void 0!==a&&a,u=n.missingTranslation,l=void 0===u?null:u,c=n.preserveWhitespaces,f=n.strictInjectionParameters;p(this,t),this.defaultEncapsulation=r,this.useJit=!!o,this.jitDevMode=!!s,this.missingTranslation=l,this.preserveWhitespaces=rL(D(c)),this.strictInjectionParameters=!0===f});function rL(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return null===t?n:t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var o0;!function(t){t[t.Extract=0]="Extract",t[t.Merge=1]="Merge"}(o0||(o0={})); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var sL=function(){function t(){p(this,t),this.closedByParent=!1,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0,this.preventNamespaceInheritance=!1}return h(t,[{key:"requireExtraParent",value:function(e){return!1}},{key:"isClosedByChild",value:function(e){return!1}},{key:"getContentType",value:function(){return Dn.PARSABLE_DATA}}]),t}();new sL; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var s0; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){t[t.Directive=0]="Directive",t[t.Component=1]="Component",t[t.Injectable=2]="Injectable",t[t.Pipe=3]="Pipe",t[t.NgModule=4]="NgModule"}(s0||(s0={})); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Pn(t,n,e){return n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function li(t){var n="function"==typeof Map?new Map:void 0;return li=function(r){if(null===r||!function IL(t){return-1!==Function.toString.call(t).indexOf("[native code]")}(r))return r;if("function"!=typeof r)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(r))return n.get(r);n.set(r,i)}function i(){return kn(r,arguments,oe(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),De(i,r)},li(t)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +!function nL(t){(t.ng||(t.ng={})).\u0275compilerFacade=new UF}(j);var a_=Array.isArray||function(t){return t&&"number"==typeof t.length};function s_(t){return null!==t&&"object"==typeof t}function u_(t){return"function"==typeof t}var AL=function(){function t(n){return Error.call(this),this.message=n?"".concat(n.length," errors occurred during unsubscription:\n").concat(n.map(function(e,r){return"".concat(r+1,") ").concat(e.toString())}).join("\n ")):"",this.name="UnsubscriptionError",this.errors=n,this}return t.prototype=Object.create(Error.prototype),t}(),Nv=AL,ci=function(){function t(n){p(this,t),this.closed=!1,this._parentOrParents=null,this._subscriptions=null,n&&(this._ctorUnsubscribe=!0,this._unsubscribe=n)}return h(t,[{key:"unsubscribe",value:function(){var e;if(!this.closed){var r=this._parentOrParents,i=this._ctorUnsubscribe,o=this._unsubscribe,a=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,r instanceof t)r.remove(this);else if(null!==r)for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return"function"==typeof n?function(r){return r.pipe(T0(function(i,o){return Fv(t(i,o)).pipe(kp(function(a,s){return n(i,a,o,s)}))},e))}:("number"==typeof n&&(e=n),function(r){return r.lift(new $L(t,e))})}var $L=function(){function t(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY;p(this,t),this.project=n,this.concurrent=e}return h(t,[{key:"call",value:function(e,r){return r.subscribe(new WL(e,this.project,this.concurrent))}}]),t}(),WL=function(t){k(e,t);var n=S(e);function e(r,i){var o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return p(this,e),(o=n.call(this,r)).project=i,o.concurrent=a,o.hasCompleted=!1,o.buffer=[],o.active=0,o.index=0,o}return h(e,[{key:"_next",value:function(i){this.active0?this._next(i.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}]),e}(D0);function KL(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;return T0(h0,t)}function I0(t,n){return n?c_(t,n):new ur(b0(t))}function A0(){for(var t=Number.POSITIVE_INFINITY,n=null,e=arguments.length,r=new Array(e),i=0;i1&&"number"==typeof r[r.length-1]&&(t=r.pop())):"number"==typeof o&&(t=r.pop()),null===n&&1===r.length&&r[0]instanceof ur?r[0]:KL(t)(I0(r,n))}function M0(){return function(n){return n.lift(new ZL(n))}}var ZL=function(){function t(n){p(this,t),this.connectable=n}return h(t,[{key:"call",value:function(e,r){var i=this.connectable;i._refCount++;var o=new XL(e,i),a=r.subscribe(o);return o.closed||(o.connection=i.connect()),a}}]),t}(),XL=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,r)).connectable=i,o}return h(e,[{key:"_unsubscribe",value:function(){var i=this.connectable;if(i){this.connectable=null;var o=i._refCount;if(o<=0)this.connection=null;else if(i._refCount=o-1,o>1)this.connection=null;else{var a=this.connection,s=i._connection;this.connection=null,s&&(!a||s===a)&&s.unsubscribe()}}else this.connection=null}}]),e}(bo),YL=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this)).source=r,o.subjectFactory=i,o._refCount=0,o._isComplete=!1,o}return h(e,[{key:"_subscribe",value:function(i){return this.getSubject().subscribe(i)}},{key:"getSubject",value:function(){var i=this._subject;return(!i||i.isStopped)&&(this._subject=this.subjectFactory()),this._subject}},{key:"connect",value:function(){var i=this._connection;return i||(this._isComplete=!1,(i=this._connection=new ci).add(this.source.subscribe(new JL(this.getSubject(),this))),i.closed&&(this._connection=null,i=ci.EMPTY)),i}},{key:"refCount",value:function(){return M0()(this)}}]),e}(ur),QL=function(){var t=YL.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}}(),JL=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,r)).connectable=i,o}return h(e,[{key:"_error",value:function(i){this._unsubscribe(),We(oe(e.prototype),"_error",this).call(this,i)}},{key:"_complete",value:function(){this.connectable._isComplete=!0,this._unsubscribe(),We(oe(e.prototype),"_complete",this).call(this)}},{key:"_unsubscribe",value:function(){var i=this.connectable;if(i){this.connectable=null;var o=i._connection;i._refCount=0,i._subject=null,i._connection=null,o&&o.unsubscribe()}}}]),e}(y0);var t3=function(){function t(n,e){p(this,t),this.subjectFactory=n,this.selector=e}return h(t,[{key:"call",value:function(e,r){var i=this.selector,o=this.subjectFactory(),a=i(o).subscribe(e);return a.add(r.subscribe(o)),a}}]),t}();function n3(){return new Ol}function r3(){return function(t){return M0()(function e3(t,n){return function(r){var i;if(i="function"==typeof t?t:function(){return t},"function"==typeof n)return r.lift(new t3(i,n));var o=Object.create(r,QL);return o.source=r,o.subjectFactory=i,o}}(n3)(t))}} +/** + * @license Angular v13.3.3 + * (c) 2010-2022 Google LLC. https://angular.io/ + * License: MIT + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function yn(t){for(var n in t)if(t[n]===yn)return n;throw Error("Could not find renamed property on target object.")}function f_(t,n){for(var e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function nn(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(nn).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return"".concat(t.overriddenName);if(t.name)return"".concat(t.name);var n=t.toString();if(null==n)return""+n;var e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function d_(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var i3=yn({__forward_ref__:yn});function _n(t){return t.__forward_ref__=_n,t.toString=function(){return nn(this())},t}function ct(t){return N0(t)?t():t}function N0(t){return"function"==typeof t&&t.hasOwnProperty(i3)&&t.__forward_ref__===_n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Mt=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,p_(r,i))).code=r,o}return h(e)}(li(Error)); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function p_(t,n){var e="NG0".concat(Math.abs(t));return"".concat(e).concat(n?": "+n:"")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function nt(t){return"string"==typeof t?t:null==t?"":String(t)}function Mi(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():nt(t)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Lv(t,n){var e=n?" in ".concat(n):"";throw new Mt(-201,"No provider for ".concat(Mi(t)," found").concat(e))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function ms(t,n,e){t!=n&&Rn(e,t,n,"==")}function uo(t,n){null==t&&Rn(n,t,null,"!=")}function Rn(t,n,e,r){throw new Error("ASSERTION ERROR: ".concat(t)+(null==r?"":" [Expected=> ".concat(e," ").concat(r," ").concat(n," <=Actual]")))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Xe(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Qt(t){return{providers:t.providers||[],imports:t.imports||[]}}function h_(t){return O0(t,Bv)||O0(t,R0)}function O0(t,n){return t.hasOwnProperty(n)?t[n]:null}function P0(t){return t&&(t.hasOwnProperty(v_)||t.hasOwnProperty(f3))?t[v_]:null}var jt,m_,Pl,L0,Go,Bv=yn({"\u0275prov":yn}),v_=yn({"\u0275inj":yn}),R0=yn({ngInjectableDef:yn}),f3=yn({ngInjectorDef:yn}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function d3(){return m_}function _u(t){var n=m_;return m_=t,n}function F0(t,n,e){var r=h_(t);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:e&jt.Optional?null:void 0!==n?n:void Lv(nn(t),"Injector")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Cu(t){return{toString:t}.toString()} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional"}(jt||(jt={})),function(t){t[t.OnPush=0]="OnPush",t[t.Default=1]="Default"}(Pl||(Pl={})),function(t){t[t.CheckOnce=0]="CheckOnce",t[t.Checked=1]="Checked",t[t.CheckAlways=2]="CheckAlways",t[t.Detached=3]="Detached",t[t.Errored=4]="Errored",t[t.Destroyed=5]="Destroyed"}(L0||(L0={})),function(t){t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(Go||(Go={})); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var p3="undefined"!=typeof globalThis&&globalThis,h3="undefined"!=typeof window&&window,v3="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,m3="undefined"!=typeof global&&global,rn=p3||m3||h3||v3; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var gf={},Cn=[],Vv=yn({"\u0275cmp":yn}),g_=yn({"\u0275dir":yn}),y_=yn({"\u0275pipe":yn}),B0=yn({"\u0275mod":yn}),gs=yn({"\u0275fac":yn}),Dp=yn({__NG_ELEMENT_ID__:yn}),g3=0; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Pt(t){return Cu(function(){var e={},r={type:t.type,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:e,inputs:null,outputs:null,exportAs:t.exportAs||null,onPush:t.changeDetection===Pl.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||Cn,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||Go.Emulated,id:"c",styles:t.styles||Cn,_:null,setInput:null,schemas:t.schemas||null,tView:null},i=t.directives,o=t.features,a=t.pipes;return r.id+=g3++,r.inputs=U0(t.inputs,e),r.outputs=U0(t.outputs),o&&o.forEach(function(s){return s(r)}),r.directiveDefs=i?function(){return("function"==typeof i?i():i).map(V0)}:null,r.pipeDefs=a?function(){return("function"==typeof a?a():a).map(j0)}:null,r})}function y3(t,n,e){var r=t.\u0275cmp;r.directiveDefs=function(){return n.map(V0)},r.pipeDefs=function(){return e.map(j0)}}function V0(t){return fi(t)||bu(t)}function j0(t){return Rl(t)}var H0={};function on(t){return Cu(function(){var n={type:t.type,bootstrap:t.bootstrap||Cn,declarations:t.declarations||Cn,imports:t.imports||Cn,exports:t.exports||Cn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&(H0[t.id]=t.type),n})}function vr(t,n){return Cu(function(){var e=Eo(t,!0);e.declarations=n.declarations||Cn,e.imports=n.imports||Cn,e.exports=n.exports||Cn})}function U0(t,n){if(null==t)return gf;var e={};for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],o=i;Array.isArray(i)&&(o=i[1],i=i[0]),e[i]=r,n&&(n[i]=o)}return e}var Fe=Pt;function mr(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,onDestroy:t.type.prototype.ngOnDestroy||null}}function fi(t){return t[Vv]||null}function bu(t){return t[g_]||null}function Rl(t){return t[y_]||null}function Eo(t,n){var e=t[B0]||null;if(!e&&!0===n)throw new Error("Type ".concat(nn(t)," does not have '\u0275mod' property."));return e} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Aa(t){return Array.isArray(t)&&"object"==typeof t[1]}function $o(t){return Array.isArray(t)&&!0===t[1]}function b_(t){return 0!=(8&t.flags)}function qv(t){return 2==(2&t.flags)}function Gv(t){return 1==(1&t.flags)}function Wo(t){return null!==t.template}function E3(t){return 0!=(512&t[2])} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Vl(t,n){return t.hasOwnProperty(gs)?t[gs]:null} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var G0=function(){function t(n,e,r){p(this,t),this.previousValue=n,this.currentValue=e,this.firstChange=r}return h(t,[{key:"isFirstChange",value:function(){return this.firstChange}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function gr(){return z0}function z0(t){return t.type.prototype.ngOnChanges&&(t.setInput=D3),k3}function k3(){var t=W0(this),n=null==t?void 0:t.current;if(n){var e=t.previous;if(e===gf)t.previous=n;else for(var r in n)e[r]=n[r];t.current=null,this.ngOnChanges(n)}}function D3(t,n,e,r){var i=W0(t)||function S3(t,n){return t[$0]=n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(t,{previous:gf,current:null}),o=i.current||(i.current={}),a=i.previous,s=this.declaredInputs[e],u=a[s];o[s]=new G0(u&&u.currentValue,n,a===gf),t[r]=n}gr.ngInherit=!0;var $0="__ngSimpleChanges__";function W0(t){return t[$0]||null}var w_=null,xo=function(n,e,r){null!=w_&&w_(n,e,r)},k_="math"; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var K0,D_=void 0;function S_(){return void 0!==D_?D_:"undefined"!=typeof document?document:void 0} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function er(t){return!!t.listen}!function(t){t[t.Important=1]="Important",t[t.DashCase=2]="DashCase"}(K0||(K0={}));var Z0={createRenderer:function(n,e){return S_()}}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function yr(t){for(;Array.isArray(t);)t=t[0];return t}function zv(t,n){return yr(n[t])}function ko(t,n){return yr(n[t.index])}function T_(t,n){return t.data[n]}function Ef(t,n){return t[n]}function co(t,n){var e=n[t];return Aa(e)?e:e[0]}function X0(t){return 4==(4&t[2])}function I_(t){return 128==(128&t[2])}function Eu(t,n){return null==n?null:t[n]}function Y0(t){t[18]=0}function A_(t,n){t[5]+=n;for(var e=t,r=t[3];null!==r&&(1===n&&1===e[5]||-1===n&&0===e[5]);)r[5]+=n,e=r,r=r[3] +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}var Je={lFrame:oD(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Q0(){return Je.bindingsEnabled}function j3(){Je.bindingsEnabled=!0}function H3(){Je.bindingsEnabled=!1}function J(){return Je.lFrame.lView}function Nt(){return Je.lFrame.tView}function se(t){return Je.lFrame.contextLView=t,t[8]}function Ir(){for(var t=J0();null!==t&&64===t.type;)t=t.parent;return t}function J0(){return Je.lFrame.currentTNode}function Ap(){var t=Je.lFrame,n=t.currentTNode;return t.isParent?n:n.parent}function Ma(t,n){var e=Je.lFrame;e.currentTNode=t,e.isParent=n}function M_(){return Je.lFrame.isParent}function N_(){Je.lFrame.isParent=!1}function $v(){return Je.isInCheckNoChangesMode}function Wv(t){Je.isInCheckNoChangesMode=t}function Ni(){var t=Je.lFrame,n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function ys(){return Je.lFrame.bindingIndex}function eD(t){return Je.lFrame.bindingIndex=t}function wf(){return Je.lFrame.bindingIndex++}function _s(t){var n=Je.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function tD(t){Je.lFrame.inI18n=t}function G3(t,n){var e=Je.lFrame;e.bindingIndex=e.bindingRootIndex=t,O_(n)}function O_(t){Je.lFrame.currentDirectiveIndex=t}function P_(t){var n=Je.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function nD(){return Je.lFrame.currentQueryIndex}function R_(t){Je.lFrame.currentQueryIndex=t}function $3(t){var n=t[1];return 2===n.type?n.declTNode:1===n.type?t[6]:null}function rD(t,n,e){if(e&jt.SkipSelf){for(var r=n,i=t;null===(r=r.parent)&&!(e&jt.Host)&&!(null===(r=$3(i))||(i=i[15],10&r.type)););if(null===r)return!1;n=r,t=i}var o=Je.lFrame=iD();return o.currentTNode=n,o.lView=t,!0}function Kv(t){var n=iD(),e=t[1];Je.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function iD(){var t=Je.lFrame,n=null===t?null:t.child;return null===n?oD(t):n}function oD(t){var n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function aD(){var t=Je.lFrame;return Je.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}var sD=aD;function Zv(){var t=aD();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function W3(t){var n=Je.lFrame.contextLView=function K3(t,n){for(;t>0;)n=n[15],t--;return n}(t,Je.lFrame.contextLView);return n[8]}function Oi(){return Je.lFrame.selectedIndex}function wu(t){Je.lFrame.selectedIndex=t}function tr(){var t=Je.lFrame;return T_(t.tView,t.selectedIndex)}function Xv(){Je.lFrame.currentNamespace="svg"}function Z3(){Je.lFrame.currentNamespace=k_}function X3(){!function Y3(){Je.lFrame.currentNamespace=null}()}function Yv(t,n){for(var e=n.directiveStart,r=n.directiveEnd;e=r)break}else n[u]<0&&(t[18]+=65536),(s>11>16&&(3&t[2])===n){t[2]+=2048,xo(4,s,o);try{o.call(s)}finally{xo(5,s,o)}}}else{xo(4,s,o);try{o.call(s)}finally{xo(5,s,o)}}} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Mp=h(function t(n,e,r){p(this,t),this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=r});function em(t,n,e){for(var r=er(t),i=0;in){a=o-1;break}}}for(;o>16}(t),r=n;e>0;)r=r[15],e--;return r} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var V_=!0;function nm(t){var n=V_;return V_=t,n}var sB=0;function Op(t,n){var e=H_(t,n);if(-1!==e)return e;var r=n[1];r.firstCreatePass&&(t.injectorIndex=n.length,j_(r.data,t),j_(n,null),j_(r.blueprint,null));var i=rm(t,n),o=t.injectorIndex;if(fD(i))for(var a=xf(i),s=kf(i,n),u=s[1].data,l=0;l<8;l++)n[o+l]=s[a+l]|u[a+l];return n[o+8]=i,o}function j_(t,n){t.push(0,0,0,0,0,0,0,0,n)}function H_(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function rm(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;for(var e=0,r=null,i=n;null!==i;){var o=i[1],a=o.type;if(null===(r=2===a?o.declTNode:1===a?i[6]:null))return-1;if(e++,i=i[15],-1!==r.injectorIndex)return r.injectorIndex|e<<16}return-1}function im(t,n,e){!function uB(t,n,e){var r;"string"==typeof e?r=e.charCodeAt(0)||0:e.hasOwnProperty(Dp)&&(r=e[Dp]),null==r&&(r=e[Dp]=sB++);var i=255&r,o=1<>5)]|=o}(t,n,e)}function hD(t,n,e){if(e&jt.Optional)return t;Lv(n,"NodeInjector")}function vD(t,n,e,r){if(e&jt.Optional&&void 0===r&&(r=null),0==(e&(jt.Self|jt.Host))){var i=t[9],o=_u(void 0);try{return i?i.get(n,r,e&jt.Optional):F0(n,r,e&jt.Optional)}finally{_u(o)}}return hD(r,n,e)}function mD(t,n,e){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:jt.Default,i=arguments.length>4?arguments[4]:void 0;if(null!==t){var o=dB(e);if("function"==typeof o){if(!rD(n,t,r))return r&jt.Host?hD(i,e,r):vD(n,e,r,i);try{var a=o(r);if(null!=a||r&jt.Optional)return a;Lv(e)}finally{sD()}}else if("number"==typeof o){var s=null,u=H_(t,n),l=-1,c=r&jt.Host?n[16][6]:null;for((-1===u||r&jt.SkipSelf)&&(-1!==(l=-1===u?rm(t,n):n[u+8])&&_D(r,!1)?(s=n[1],u=xf(l),n=kf(l,n)):u=-1);-1!==u;){var f=n[1];if(yD(o,u,f.data)){var d=fB(u,n,e,s,r,c);if(d!==gD)return d}-1!==(l=n[u+8])&&_D(r,n[1].data[u+8]===c)&&yD(o,u,n)?(s=f,u=xf(l),n=kf(l,n)):u=-1}}}return vD(n,e,r,i)}var gD={};function cB(){return new Df(Ir(),J())}function fB(t,n,e,r,i,o){var a=n[1],s=a.data[t+8],c=om(s,a,e,null==r?qv(s)&&V_:r!=a&&0!=(3&s.type),i&jt.Host&&o===s);return null!==c?Pp(n,a,c,s):gD}function om(t,n,e,r,i){for(var o=t.providerIndexes,a=n.data,s=1048575&o,u=t.directiveStart,l=t.directiveEnd,c=o>>20,d=i?s+c:l,v=r?s:s+c;v=u&&y.type===e)return v}if(i){var b=a[u];if(b&&Wo(b)&&b.type===e)return u}return null}function Pp(t,n,e,r){var i=t[e],o=n.data;if(function tB(t){return t instanceof Mp}(i)){var a=i;a.resolving&&function o3(t,n){var e=n?". Dependency path: ".concat(n.join(" > ")," > ").concat(t):"";throw new Mt(-200,"Circular dependency in DI detected for ".concat(t).concat(e))}(Mi(o[e]));var s=nm(a.canSeeViewProviders);a.resolving=!0;var u=a.injectImpl?_u(a.injectImpl):null;rD(t,r,jt.Default);try{i=t[e]=a.factory(void 0,o,t,r),n.firstCreatePass&&e>=r.directiveStart&& +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function J3(t,n,e){var r=n.type.prototype,i=r.ngOnChanges,o=r.ngOnInit,a=r.ngDoCheck;if(i){var s=z0(n);(e.preOrderHooks||(e.preOrderHooks=[])).push(t,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(t,s)}o&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-t,o),a&&((e.preOrderHooks||(e.preOrderHooks=[])).push(t,a),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(t,a))}(e,o[e],n)}finally{null!==u&&_u(u),nm(s),a.resolving=!1,sD()}}return i}function dB(t){if("string"==typeof t)return t.charCodeAt(0)||0;var n=t.hasOwnProperty(Dp)?t[Dp]:void 0;return"number"==typeof n?n>=0?255&n:cB:n}function yD(t,n,e){var r=1<>5)]&r)}function _D(t,n){return!(t&jt.Self||t&jt.Host&&n)}var Df=function(){function t(n,e){p(this,t),this._tNode=n,this._lView=e}return h(t,[{key:"get",value:function(e,r,i){return mD(this._tNode,this._lView,e,i,r)}}]),t}();function _r(t){return Cu(function(){for(var n=t.prototype.constructor,e=n[gs]||U_(n),r=Object.prototype,i=Object.getPrototypeOf(t.prototype).constructor;i&&i!==r;){var o=i[gs]||U_(i);if(o&&o!==e)return o;i=Object.getPrototypeOf(i)}return function(a){return new a}})}function U_(t){return N0(t)?function(){var n=U_(ct(t));return n&&n()}:Vl(t)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function q_(t){return function lB(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;var e=t.attrs;if(e)for(var r=e.length,i=0;i1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign({selector:t,first:!1,isViewQuery:!1,descendants:!1,emitDistinctChangesOnly:true},n)},am),ku("ContentChild",function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign({selector:t,first:!0,isViewQuery:!1,descendants:!0},n)},am)),hB=(ku("ViewChildren",function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign({selector:t,first:!1,isViewQuery:!0,descendants:!0,emitDistinctChangesOnly:true},n)},am),ku("ViewChild",function(t,n){return Object.assign({selector:t,first:!0,isViewQuery:!0,descendants:!0},n)},am)); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Ar(t){var n=rn.ng;if(n&&n.\u0275compilerFacade)return n.\u0275compilerFacade;throw new Error("JIT compiler unavailable")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){t[t.Directive=0]="Directive",t[t.Component=1]="Component",t[t.Injectable=2]="Injectable",t[t.Pipe=3]="Pipe",t[t.NgModule=4]="NgModule"}(jl||(jl={})),function(t){t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(bD||(bD={}));var z_=Function;function Fp(t){return"function"==typeof t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Do(t,n){void 0===n&&(n=t);for(var e=0;e=t.length?t.push(e):t.splice(n,0,e)}function um(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function Lp(t,n){for(var e=[],r=0;r=0?t[1|r]=e:function gB(t,n,e,r){var i=t.length;if(i==n)t.push(e,r);else if(1===i)t.push(r,t[0]),t[0]=e;else{for(i--,t.push(t[i-1],t[i]);i>n;){var o=i-2;t[i]=t[o],i--}t[n]=e,t[n+1]=r}}(t,r=~r,n,e),r}function $_(t,n){var e=Mf(t,n);if(e>=0)return t[1|e]}function Mf(t,n){return kD(t,n,1)}function kD(t,n,e){for(var r=0,i=t.length>>e;i!==r;){var o=r+(i-r>>1),a=t[o<n?i=o:r=o+1}return~(i<1&&void 0!==arguments[1]?arguments[1]:jt.Default;if(void 0===Bp){var e="";throw new Mt(203,e)}return null===Bp?F0(t,void 0,n):Bp.get(t,n&jt.Optional?null:void 0,n)}function Ne(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:jt.Default;return(d3()||TB)(ct(t),n)}function ID(t){throw new Error("invalid")}var IB=Ne;function Z_(t){for(var n=[],e=0;e3&&void 0!==arguments[3]?arguments[3]:null;t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.substr(2):t;var i=nn(n);if(Array.isArray(n))i=n.map(nn).join(" -> ");else if("object"==typeof n){var o=[];for(var a in n)if(n.hasOwnProperty(a)){var s=n[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):nn(s)))}i="{".concat(o.join(", "),"}")}return"".concat(e).concat(r?"("+r+")":"","[").concat(i,"]: ").concat(t.replace(kB,"\n "))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */("\n"+t.message,i,e,r),t.ngTokenPath=i,t[cm]=null,t}var X_=Vp(Af("Inject",function(t){return{token:t}}),-1),jp=Vp(Af("Optional"),8),Y_=Vp(Af("Self"),2),Hp=Vp(Af("SkipSelf"),4),OB=Vp(Af("Host"),1),AD=null; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Q_(){return AD=AD||new DD}function fm(t){return MD(Q_().parameters(t))}function MD(t){return t.map(function(n){return function PB(t){var n={token:null,attribute:null,host:!1,optional:!1,self:!1,skipSelf:!1};if(Array.isArray(t)&&t.length>0)for(var e=0;e"),!0}},{key:"endElement",value:function(e){var r=e.nodeName.toLowerCase();tC.hasOwnProperty(r)&&!VD.hasOwnProperty(r)&&(this.buf.push(""))}},{key:"chars",value:function(e){this.buf.push(qD(e))}},{key:"checkClobberedElement",value:function(e,r){if(r&&(e.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: ".concat(e.outerHTML));return r}}]),t}(),fV=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,dV=/([^\#-~ |!])/g;function qD(t){return t.replace(/&/g,"&").replace(fV,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(dV,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}function GD(t,n){var e=null;try{hm=hm||LD(t);var r=n?String(n):"";e=hm.getInertBodyElement(r);var i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=e.innerHTML,e=hm.getInertBodyElement(r)}while(r!==o);return Of((new cV).sanitizeChildren(iC(e)||e))}finally{if(e)for(var u=iC(e)||e;u.firstChild;)u.removeChild(u.firstChild)}}function iC(t){return"content"in t&&function pV(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(t)?t.content:null} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Pf(t){var n=zp();return n?OD(n.sanitize(Gr.HTML,t)||""):Oa(t,"HTML")?OD(po(t)):GD(S_(),nt(t))}function hV(t){var n=zp();return n?n.sanitize(Gr.STYLE,t)||"":Oa(t,"Style")?po(t):nt(t)}function oC(t){var n=zp();return n?n.sanitize(Gr.URL,t)||"":Oa(t,"URL")?po(t):qp(nt(t))}function zD(t){var n=zp();if(n)return RD(n.sanitize(Gr.RESOURCE_URL,t)||"");if(Oa(t,"ResourceURL"))return RD(po(t));throw new Mt(904,"")}function vV(t){var n=zp();if(n)return PD(n.sanitize(Gr.SCRIPT,t)||"");if(Oa(t,"Script"))return PD(po(t));throw new Mt(905,"")}function mV(t){return Of(t[0])}function gV(t){return function UB(t){var n;return(null===(n=J_())||void 0===n?void 0:n.createScriptURL(t))||t}(t[0])}function _V(t,n,e){return function yV(t,n){return"src"===n&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===n&&("base"===t||"link"===t)?zD:oC}(n,e)(t)}function zp(){var t=J();return t&&t[12]} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL"}(Gr||(Gr={}));var WD="__ngContext__";function pi(t,n){t[WD]=n}function $p(t){return t[WD]||null}function sC(t){var n=$p(t);return n?Array.isArray(n)?n:n.lView:null} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var uC="ngOriginalError";function lC(t){return t[uC]}function IV(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r|^->||--!>|)/; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function YD(t){return t.replace(NV,function(n){return n.replace(OV,"\u200b$1\u200b")})} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var VV=("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(rn);function QD(t){return t.ownerDocument.defaultView}function jV(t){return t.ownerDocument}function cC(t){return t.ownerDocument.body}var Su,fC;function Ra(t){return t instanceof Function?t():t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function dC(t,n){return fC(t,n)}!function(t){t[t.Important=1]="Important",t[t.DashCase=2]="DashCase"}(Su||(Su={})); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Kp(t){var n=t[3];return $o(n)?n[3]:n}function pC(t){return r1(t[13])}function hC(t){return r1(t[4])}function r1(t){for(;null!==t&&!$o(t);)t=t[4];return t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Ff(t,n,e,r,i){if(null!=r){var o,a=!1;$o(r)?o=r:Aa(r)&&(a=!0,r=r[0]);var s=yr(r);0===t&&null!==e?null==i?l1(n,e,s):Ul(n,e,s,i||null,!0):1===t&&null!==e?Ul(n,e,s,i||null,!0):2===t?m1(n,s,a):3===t&&n.destroyNode(s),null!=o&&function e4(t,n,e,r,i){var o=e[7],a=yr(e);o!==a&&Ff(n,t,r,o,i);for(var s=10;s0&&(e[i-1][4]=n),r0&&(t[e-1][4]=r[4]);var o=um(t,10+n);!function qV(t,n){Zp(t,n,n[11],2,null,null),n[0]=null,n[6]=null}(r[1],r);var a=o[19];null!==a&&a.detachView(o[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}}function a1(t,n){if(!(256&n[2])){var e=n[11];er(e)&&e.destroyNode&&Zp(t,n,e,3,null,null),function $V(t){var n=t[13];if(!n)return yC(t[1],t);for(;n;){var e=null;if(Aa(n))e=n[13];else{var r=n[10];r&&(e=r)}if(!e){for(;n&&!n[4]&&n!==t;)Aa(n)&&yC(n[1],n),n=n[3];null===n&&(n=t),Aa(n)&&yC(n[1],n),e=n&&n[4]}n=e}}(n)}}function yC(t,n){if(!(256&n[2])){n[2]&=-129,n[2]|=256,function XV(t,n){var e;if(null!=t&&null!=(e=t.destroyHooks))for(var r=0;r=0?r[i=l]():r[i=-l].unsubscribe(),o+=2}else{var c=r[i=e[o+1]];e[o].call(c)}if(null!==r){for(var f=i+1;fo?"":i[f+1].toLowerCase();var v=8&r?d:null;if(v&&-1!==_1(v,l,0)||2&r&&l!==d){if(Ko(r))return!1;a=!0}}}}else{if(!a&&!Ko(r)&&!Ko(u))return!1;if(a&&Ko(u))continue;a=!1,r=u|1&r}}return Ko(r)||a}function Ko(t){return 0==(1&t)}function o4(t,n,e,r){if(null===n)return-1;var i=0;if(r||!e){for(var o=!1;i-1)for(e++;e2&&void 0!==arguments[2]&&arguments[2],r=0;r0?'="'+s+'"':"")+"]"}else 8&r?i+="."+a:4&r&&(i+=" "+a);else""!==i&&!Ko(a)&&(n+=w1(o,i),i=""),r=a,o=o||!Ko(r);e++}return""!==i&&(n+=w1(o,i)),n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var rt={}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function B(t){x1(Nt(),J(),Oi()+t,$v())}function x1(t,n,e,r){if(!r)if(3==(3&n[2])){var o=t.preOrderCheckHooks;null!==o&&Qv(n,o,e)}else{var a=t.preOrderHooks;null!==a&&Jv(n,a,0,e)}wu(e)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function ym(t,n){return t<<17|n<<2}function Zo(t){return t>>17&32767}function D1(t){return 2==(2&t)}function wC(t){return 2|t}function Cs(t){return(131068&t)>>2}function xC(t,n){return-131069&t|n<<2}function S1(t){return 1==(1&t)}function kC(t){return 1|t}var OC=Promise.resolve(null);function R1(t,n){var e=t.contentQueries;if(null!==e)for(var r=0;r20&&x1(t,n,20,$v()),xo(a?2:0,i),e(r,i)}finally{wu(o),xo(a?3:1,i)}}function L1(t,n,e){if(b_(n))for(var r=n.directiveStart,i=n.directiveEnd,o=r;o2&&void 0!==arguments[2]?arguments[2]:ko,r=n.localNames;if(null!==r)for(var i=n.index+1,o=0;o0;){var e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(s)!=u&&s.push(u),s.push(r,i,a)}}function z1(t,n){null!==t.hostBindings&&t.hostBindings(1,n)}function $1(t,n){n.flags|=2,(t.components||(t.components=[])).push(n.index)}function V4(t,n,e){if(e){if(n.exportAs)for(var r=0;r0&&VC(e)}}function VC(t){for(var n=pC(t);null!==n;n=hC(n))for(var e=10;e0&&VC(r)}var a=t[1].components;if(null!==a)for(var s=0;s0&&VC(u)}}function $4(t,n){var e=co(n,t),r=e[1];(function W4(t,n){for(var e=n.length;e1&&void 0!==arguments[1]?arguments[1]:Du;if(r===Du){var i=new Error("NullInjectorError: No provider for ".concat(nn(e),"!"));throw i.name="NullInjectorError",i}return r}}]),t}(),zC=new bt("Set Injector scope."),Qp={},e5={},$C=void 0; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function rS(){return void 0===$C&&($C=new nS),$C}function iS(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3?arguments[3]:void 0,i=oS(t,n,e,r);return i._resolveInjectorDefTypes(),i}function oS(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3?arguments[3]:void 0;return new t5(t,e,n||rS(),r)}var t5=function(){function t(n,e,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;p(this,t),this.parent=r,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;var a=[];e&&Na(e,function(u){return i.processProvider(u,n,e)}),Na([n],function(u){return i.processInjectorType(u,[],a)}),this.records.set(GC,jf(void 0,this));var s=this.records.get(zC);this.scope=null!=s?s.value:null,this.source=o||("object"==typeof n?null:nn(n))}return h(t,[{key:"destroyed",get:function(){return this._destroyed}},{key:"destroy",value:function(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(function(e){return e.ngOnDestroy()})}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}},{key:"get",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Du,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:jt.Default;this.assertNotDestroyed();var o=TD(this),a=_u(void 0);try{if(!(i&jt.SkipSelf)){var s=this.records.get(e);if(void 0===s){var u=l5(e)&&h_(e);s=u&&this.injectableDefInScope(u)?jf(WC(e),Qp):null,this.records.set(e,s)}if(null!=s)return this.hydrate(e,s)}var l=i&jt.Self?rS():this.parent;return r=i&jt.Optional&&r===Du?null:r,l.get(e,r)}catch(f){if("NullInjectorError"===f.name){var c=f[cm]=f[cm]||[];if(c.unshift(nn(e)),o)throw f;return MB(f,e,"R3InjectorError",this.source)}throw f}finally{_u(a),TD(o)}}},{key:"_resolveInjectorDefTypes",value:function(){var e=this;this.injectorDefTypes.forEach(function(r){return e.get(r)})}},{key:"toString",value:function(){var e=[];return this.records.forEach(function(i,o){return e.push(nn(o))}),"R3Injector[".concat(e.join(", "),"]")}},{key:"assertNotDestroyed",value:function(){if(this._destroyed)throw new Mt(205,!1)}},{key:"processInjectorType",value:function(e,r,i){var o=this;if(!(e=ct(e)))return!1;var a=P0(e),s=null==a&&e.ngModule||void 0,u=void 0===s?e:s,f=-1!==i.indexOf(u);if(void 0!==s&&(a=P0(s)),null==a)return!1;if(null!=a.imports&&!f){var d;i.push(u);try{Na(a.imports,function(N){o.processInjectorType(N,r,i)&&(void 0===d&&(d=[]),d.push(N))})}finally{}if(void 0!==d)for(var v=function(z){var ne=d[z],pe=ne.ngModule,Te=ne.providers;Na(Te,function(Oe){return o.processProvider(Oe,pe,Te||Cn)})},y=0;y0){Lp(n,"?");throw new Mt(204,!1)}var r=function l3(t){var n=t&&(t[Bv]||t[R0]);if(n){var e=function c3(t){if(t.hasOwnProperty("name"))return t.name;var n=(""+t).match(/^function\s*([^\s(]+)/);return null===n?"":n[1]}(t);return console.warn('DEPRECATED: DI is instantiating a token "'.concat(e,'" that inherits its @Injectable decorator but does not provide one itself.\n')+'This will become an error in a future version of Angular. Please add @Injectable() to the "'.concat(e,'" class.')),n}return null}(t);return null!==r?function(){return r.factory(t)}:function(){return new t}}(t);throw new Mt(204,!1)}function aS(t,n,e){var r=void 0;if(Hf(t)){var i=ct(t);return Vl(i)||WC(i)}if(sS(t))r=function(){return ct(t.useValue)};else if(function o5(t){return!(!t||!t.useFactory)}(t))r=function(){return t.useFactory.apply(t,re(Z_(t.deps||[])))};else if(function i5(t){return!(!t||!t.useExisting)}(t))r=function(){return Ne(ct(t.useExisting))};else{var o=ct(t&&(t.useClass||t.provide));if(!function s5(t){return!!t.deps}(t))return Vl(o)||WC(o);r=function(){return kn(o,re(Z_(t.deps)))}}return r}function jf(t,n){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{factory:t,value:n,multi:e?[]:void 0}}function sS(t){return null!==t&&"object"==typeof t&&SB in t}function Hf(t){return"function"==typeof t}function l5(t){return"function"==typeof t||"object"==typeof t&&t instanceof bt} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var nr=function(){function t(){p(this,t)}return h(t,null,[{key:"create",value:function(e,r){var i;if(Array.isArray(e))return iS({name:""},r,e,"");var o=null!==(i=e.name)&&void 0!==i?i:"";return iS({name:o},e.parent,e.providers,o)}}]),t}();nr.THROW_IF_NOT_FOUND=Du,nr.NULL=new nS,nr.\u0275prov=Xe({token:nr,providedIn:"any",factory:function(){return Ne(GC)}}),nr.__NG_ELEMENT_ID__=-1;function dS(t,n,e,r,i,o){var a=e[1];e[20]=t;var u=Lf(a,20,2,"#host",null),l=u.mergedAttrs=n.hostAttrs;null!==l&&(wm(u,l,!0),null!==t&&(em(i,t,l),null!==u.classes&&EC(i,t,u.classes),null!==u.styles&&y1(i,t,u.styles)));var c=r.createRenderer(t,n),f=Xp(e,B1(n),null,n.onPush?64:16,e[20],u,r,c,o||null,null);return a.firstCreatePass&&(im(Op(u,e),a,n.type),$1(a,u),W1(u,e.length,1)),Em(e,f),e[20]=f}function pS(t,n,e,r,i){var o=e[1],a=function O4(t,n,e){var r=Ir();t.firstCreatePass&&(e.providersResolver&&e.providersResolver(e),K1(t,r,n,Bf(t,n,1,null),e));var o=Pp(n,t,r.directiveStart,r);pi(o,n);var a=ko(r,n);return a&&pi(a,n),o}(o,e,n);if(r.components.push(a),t[8]=a,i&&i.forEach(function(c){return c(a,n)}),n.contentQueries){var s=Ir();n.contentQueries(1,a,s.directiveStart)}var u=Ir();!o.firstCreatePass||null===n.hostBindings&&null===n.hostAttrs||(wu(u.index),G1(e[1],u,0,u.directiveStart,u.directiveEnd,n),z1(n,a));return a}function hS(t,n){return{components:[],scheduler:t||VV,clean:Y4,playerHandler:n||null,flags:0}}function C5(t,n){Yv(sC(t)[1],Ir())} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function vS(t){return Object.getPrototypeOf(t.prototype).constructor}function Rt(t){for(var n=vS(t.type),e=!0,r=[t];n;){var i=void 0;if(Wo(t))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp){throw new Mt(903,"")}i=n.\u0275dir}if(i){if(e){r.push(i);var a=t;a.inputs=ZC(t.inputs),a.declaredInputs=ZC(t.declaredInputs),a.outputs=ZC(t.outputs);var s=i.hostBindings;s&&x5(t,s);var u=i.viewQuery,l=i.contentQueries;if(u&&E5(t,u),l&&w5(t,l),f_(t.inputs,i.inputs),f_(t.declaredInputs,i.declaredInputs),f_(t.outputs,i.outputs),Wo(i)&&i.data.animation){var c=t.data;c.animation=(c.animation||[]).concat(i.data.animation)}}var f=i.features;if(f)for(var d=0;d=0;r--){var i=t[r];i.hostVars=n+=i.hostVars,i.hostAttrs=tm(i.hostAttrs,e=tm(e,i.hostAttrs))}}(r)}function ZC(t){return t===gf?{}:t===Cn?[]:t}function E5(t,n){var e=t.viewQuery;t.viewQuery=e?function(r,i){n(r,i),e(r,i)}:n}function w5(t,n){var e=t.contentQueries;t.contentQueries=e?function(r,i,o){n(r,i,o),e(r,i,o)}:n}function x5(t,n){var e=t.hostBindings;t.hostBindings=e?function(r,i){n(r,i),e(r,i)}:n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var k5=["providersResolver"],D5=["template","decls","consts","vars","onPush","ngContentSelectors","styles","encapsulation","schemas"];function S5(t){var n=vS(t.type),e=void 0;e=Wo(t)?n.\u0275cmp:n.\u0275dir;var o,r=t,i=Me(k5);try{for(i.s();!(o=i.n()).done;){var a=o.value;r[a]=e[a]}}catch(c){i.e(c)}finally{i.f()}if(Wo(e)){var u,s=Me(D5);try{for(s.s();!(u=s.n()).done;){var l=u.value;r[l]=e[l]}}catch(c){s.e(c)}finally{s.f()}}} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var xm=null;function Uf(){if(!xm){var t=rn.Symbol;if(t&&t.iterator)xm=t.iterator;else for(var n=Object.getOwnPropertyNames(Map.prototype),e=0;e1){var n=function V5(t){for(var n=[],e=0;e-1)return n.push(t[e]),n;n.push(t[e])}return n}(t.slice().reverse());return" ("+n.map(function(r){return nn(r.token)}).join(" -> ")+")"}return""}function QC(t,n,e,r){var i=[n],o=e(i),a=r?function SV(t,n){var e="".concat(t," caused by: ").concat(n instanceof Error?n.message:n),r=Error(e);return r[uC]=n,r}(o,r):Error(o);return a.addKey=j5,a.keys=i,a.injectors=[t],a.constructResolvingMessage=e,a[uC]=r,a}function j5(t,n){this.injectors.push(t),this.keys.push(n),this.message=this.constructResolvingMessage(this.keys)}function TS(t,n){for(var e=[],r=0,i=n.length;r1&&void 0!==arguments[1]?arguments[1]:Du;return this._getByKey(Au.get(e),null,r)}},{key:"resolveAndCreateChild",value:function(e){var r=FS.resolve(e);return this.createChildFromResolved(r)}},{key:"createChildFromResolved",value:function(e){var r=new t(e);return r.parent=this,r}},{key:"resolveAndInstantiate",value:function(e){return this.instantiateResolved(FS.resolve([e])[0])}},{key:"instantiateResolved",value:function(e){return this._instantiateProvider(e)}},{key:"getProviderAtIndex",value:function(e){if(e<0||e>=this._providers.length)throw function z5(t){return Error("Index ".concat(t," is out-of-bounds."))}(e);return this._providers[e]}},{key:"_new",value:function(e){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function U5(t,n){return QC(t,n,function(e){return"Cannot instantiate cyclic dependency!".concat(YC(e))})}(this,e.key);return this._instantiateProvider(e)}},{key:"_getMaxNumberOfObjects",value:function(){return this.objs.length}},{key:"_instantiateProvider",value:function(e){if(e.multiProvider){for(var r=[],i=0;i1&&void 0!==arguments[1]?arguments[1]:jt.Default,e=J();if(null===e)return Ne(t,n);var r=Ir();return mD(r,e,ct(t),n)}function r8(){throw new Error("invalid")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function I(t,n,e){var r=J();hi(r,wf(),n)&&ho(Nt(),tr(),r,t,n,r[11],e,!1);return I}function eb(t,n,e,r,i){var a=i?"class":"style";tS(t,e,n.inputs[a],a,r)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function K(t,n,e,r){var i=J(),o=Nt(),a=20+t,s=i[11],u=i[a]=mC(s,n,function Q3(){return Je.lFrame.currentNamespace}()),l=o.firstCreatePass?function i8(t,n,e,r,i,o,a){var s=n.consts,l=Lf(n,t,2,i,Eu(s,o));return LC(n,e,l,Eu(s,a)),null!==l.attrs&&wm(l,l.attrs,!1),null!==l.mergedAttrs&&wm(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(a,o,i,0,n,e,r):o.data[a];Ma(l,!0);var c=l.mergedAttrs;null!==c&&em(s,u,c);var f=l.classes;null!==f&&EC(s,u,f);var d=l.styles;return null!==d&&y1(s,u,d),64!=(64&l.flags)&&mm(o,i,u,l),0===function L3(){return Je.lFrame.elementDepthCount}()&&pi(u,i),function B3(){Je.lFrame.elementDepthCount++}(),Gv(l)&&(RC(o,i,l),L1(o,l,i)),null!==r&&FC(i,l),K}function Z(){var t=Ir();M_()?N_():Ma(t=t.parent,!1);var n=t;!function V3(){Je.lFrame.elementDepthCount--}();var e=Nt();return e.firstCreatePass&&(Yv(e,t),b_(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function rB(t){return 0!=(16&t.flags)}(n)&&eb(e,n,J(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function iB(t){return 0!=(32&t.flags)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(n)&&eb(e,n,J(),n.stylesWithoutHost,!1),Z}function it(t,n,e,r){return K(t,n,e,r),Z(),it}function ln(t,n,e){var r=J(),i=Nt(),o=t+20,a=i.firstCreatePass? +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function o8(t,n,e,r,i){var o=n.consts,a=Eu(o,r),s=Lf(n,t,8,"ng-container",a);return null!==a&&wm(s,a,!0),LC(n,e,s,Eu(o,i)),null!==n.queries&&n.queries.elementStart(n,s),s}(o,i,r,n,e):i.data[o];Ma(a,!0);var s=r[o]=r[11].createComment("");return mm(i,r,s,a),pi(s,r),Gv(a)&&(RC(i,r,a),L1(i,a,r)),null!=e&&FC(r,a),ln}function cn(){var t=Ir(),n=Nt();return M_()?N_():Ma(t=t.parent,!1),n.firstCreatePass&&(Yv(n,t),b_(t)&&n.queries.elementEnd(t)),cn}function Kn(t,n,e){return ln(t,n,e),cn(),Kn}function Wt(){return J()} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Dm(t){return!!t&&"function"==typeof t.then}function BS(t){return!!t&&"function"==typeof t.subscribe}LS.INJECTOR_KEY=Au.get(nr);var VS=BS; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Le(t,n,e,r){var i=J(),o=Nt(),a=Ir();return HS(o,i,i[11],a,t,n,!!e,r),Le}function jS(t,n){var e=Ir(),r=J(),i=Nt();return HS(i,r,J1(P_(i.data),e,r),e,t,n,!1),jS}function HS(t,n,e,r,i,o,a,s){var u=Gv(r),c=t.firstCreatePass&&Q1(t),f=n[8],d=Y1(n),v=!0;if(3&r.type||s){var y=ko(r,n),b=s?s(y):y,x=d.length,O=s?function(ir){return s(yr(ir[r.index]))}:r.index;if(er(e)){var N=null;if(!s&&u&&(N=function a8(t,n,e,r){var i=t.cleanup;if(null!=i)for(var o=0;ou?s[u]:null}"string"==typeof a&&(o+=2)}return null}(t,n,i,r.index)),null!==N){(N.__ngLastListenerFn__||N).__ngNextListenerFn__=o,N.__ngLastListenerFn__=o,v=!1}else{o=tb(r,n,f,o,!1);var ne=e.listen(b,i,o);d.push(o,ne),c&&c.push(i,O,x,x+1)}}else o=tb(r,n,f,o,!0),b.addEventListener(i,o,a),d.push(o),c&&c.push(i,O,x,a)}else o=tb(r,n,f,o,!1);var Te,pe=r.outputs;if(v&&null!==pe&&(Te=pe[i])){var Oe=Te.length;if(Oe)for(var mt=0;mt0&&void 0!==arguments[0]?arguments[0]:1;return W3(t)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function s8(t,n){for(var e=null,r=function a4(t){var n=t.attrs;if(null!=n){var e=n.indexOf(5);if(0==(1&e))return n[e+1]}return null}(t),i=0;i1&&void 0!==arguments[1]?arguments[1]:0,e=arguments.length>2?arguments[2]:void 0,r=J(),i=Nt(),o=Lf(i,20+t,16,null,e||null);null===o.projection&&(o.projection=n),N_(),64!=(64&o.flags)&&JV(i,r,o)}function Yo(t,n,e){return Sm(t,"",n,"",e),Yo}function Sm(t,n,e,r,i){var o=J(),a=Gf(o,n,e,r);a!==rt&&ho(Nt(),tr(),o,t,a,o[11],i,!1);return Sm}function qS(t,n,e,r,i,o,a){var s=J(),u=zf(s,n,e,r,i,o);u!==rt&&ho(Nt(),tr(),s,t,u,s[11],a,!1);return qS}function GS(t,n,e,r,i,o,a,s,u){var l=J(),c=$f(l,n,e,r,i,o,a,s);c!==rt&&ho(Nt(),tr(),l,t,c,l[11],u,!1);return GS}function zS(t,n,e,r,i,o,a,s,u,l,c){var f=J(),d=Wf(f,n,e,r,i,o,a,s,u,l);d!==rt&&ho(Nt(),tr(),f,t,d,f[11],c,!1);return zS}function $S(t,n,e,r,i,o,a,s,u,l,c,f,d){var v=J(),y=Kf(v,n,e,r,i,o,a,s,u,l,c,f);y!==rt&&ho(Nt(),tr(),v,t,y,v[11],d,!1);return $S}function WS(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y){var b=J(),x=Zf(b,n,e,r,i,o,a,s,u,l,c,f,d,v);x!==rt&&ho(Nt(),tr(),b,t,x,b[11],y,!1);return WS}function KS(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x){var O=J(),N=Xf(O,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b);N!==rt&&ho(Nt(),tr(),O,t,N,O[11],x,!1);return KS}function ZS(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x,O,N){var z=J(),ne=Yf(z,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x,O);ne!==rt&&ho(Nt(),tr(),z,t,ne,z[11],N,!1);return ZS}function XS(t,n,e){var r=J(),i=qf(r,n);i!==rt&&ho(Nt(),tr(),r,t,i,r[11],e,!1);return XS} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function u8(t,n,e,r,i,o){var a=o?n.classBindings:n.styleBindings,s=Zo(a),u=Cs(a);t[r]=e;var c,l=!1;if(Array.isArray(e)){var f=e;(null===(c=f[1])||Mf(f,c)>0)&&(l=!0)}else c=e;if(i)if(0!==u){var v=Zo(t[s+1]);t[r+1]=ym(v,s),0!==v&&(t[v+1]=xC(t[v+1],r)),t[s+1]=function p4(t,n){return 131071&t|n<<17}(t[s+1],r)}else t[r+1]=ym(s,0),0!==s&&(t[s+1]=xC(t[s+1],r)),s=r;else t[r+1]=ym(u,0),0===s?s=r:t[u+1]=xC(t[u+1],r),u=r;l&&(t[r+1]=wC(t[r+1])),YS(t,c,r,!0,o),YS(t,c,r,!1,o),function l8(t,n,e,r,i){var o=i?t.residualClasses:t.residualStyles;null!=o&&"string"==typeof n&&Mf(o,n)>=0&&(e[r+1]=kC(e[r+1]))}(n,c,t,r,o),a=ym(s,u),o?n.classBindings=a:n.styleBindings=a}function YS(t,n,e,r,i){for(var o=t[e+1],a=null===n,s=r?Zo(o):Cs(o),u=!1;0!==s&&(!1===u||a);){var l=t[s],c=t[s+1];c8(l,n)&&(u=!0,t[s+1]=r?kC(c):wC(c)),s=r?Zo(c):Cs(c)}u&&(t[e+1]=r?wC(o):kC(o))}function c8(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&Mf(t,n)>=0} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Mr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function QS(t){return t.substring(Mr.key,Mr.keyEnd)}function f8(t){return t.substring(Mr.value,Mr.valueEnd)}function JS(t,n){var e=Mr.textEnd;return e===n?-1:(n=Mr.keyEnd=function h8(t,n,e){for(;n32;)n++;return n}(t,Mr.key=n,e),Qf(t,n,e))}function eT(t,n){var e=Mr.textEnd,r=Mr.key=Qf(t,n,e);return e===r?-1:(r=Mr.keyEnd=function v8(t,n,e){for(var r;n=65&&(-33&r)<=90||r>=48&&r<=57);)n++;return n}(t,r,e),r=nT(t,r,e,58),r=Mr.value=Qf(t,r,e),r=Mr.valueEnd=function m8(t,n,e){for(var r=-1,i=-1,o=-1,a=n,s=a;a32&&(s=a),o=i,i=r,r=-33&u}return s}(t,r,e),nT(t,r,e,59))}function tT(t){Mr.key=0,Mr.keyEnd=0,Mr.value=0,Mr.valueEnd=0,Mr.textEnd=t.length}function Qf(t,n,e){for(;n=0;e=eT(n,e))sT(t,QS(n),f8(n))}function iT(t){Jo(fo,ja,t,!0)}function ja(t,n){for(var e=function d8(t){return tT(t),JS(t,Qf(t,0,Mr.textEnd))}(n);e>=0;e=JS(n,e))fo(t,QS(n),!0)}function Qo(t,n,e,r){var i=J(),o=Nt(),a=_s(2);(o.firstUpdatePass&&aT(o,t,a,r),n!==rt&&hi(i,a,n))&&uT(o,o.data[Oi()],i,i[11],t,i[a+1]=function x8(t,n){return null==t||("string"==typeof n?t+=n:"object"==typeof t&&(t=nn(po(t)))),t}(n,e),r,a)}function Jo(t,n,e,r){var i=Nt(),o=_s(2);i.firstUpdatePass&&aT(i,null,o,r);var a=J();if(e!==rt&&hi(a,o,e)){var s=i.data[Oi()];if(cT(s,r)&&!oT(i,o)){var l=r?s.classesWithoutHost:s.stylesWithoutHost;null!==l&&(e=d_(l,e||"")),eb(i,s,a,e,r)}else!function w8(t,n,e,r,i,o,a,s){i===rt&&(i=Cn);for(var u=0,l=0,c=0=t.expandoStartIndex}function aT(t,n,e,r){var i=t.data;if(null===i[e+1]){var o=i[Oi()],a=oT(t,e);cT(o,r)&&null===n&&!a&&(n=!1),n=function y8(t,n,e,r){var i=P_(t),o=r?n.residualClasses:n.residualStyles;if(null===i){0===(r?n.classBindings:n.styleBindings)&&(e=nh(e=nb(null,t,n,e,r),n.attrs,r),o=null)}else{var s=n.directiveStylingLast;if(-1===s||t[s]!==i)if(e=nb(i,t,n,e,r),null===o){var l=function _8(t,n,e){var r=e?n.classBindings:n.styleBindings;if(0!==Cs(r))return t[Zo(r)]}(t,n,r);void 0!==l&&Array.isArray(l)&&function C8(t,n,e,r){var i=e?n.classBindings:n.styleBindings;t[Zo(i)]=r}(t,n,r,l=nh(l=nb(null,t,n,l[1],r),n.attrs,r))}else o=function b8(t,n,e){for(var r=void 0,i=n.directiveEnd,o=1+n.directiveStylingLast;o0;){var u=t[i],l=Array.isArray(u),c=l?u[1]:u,f=null===c,d=e[i+1];d===rt&&(d=f?Cn:void 0);var v=f?$_(d,r):c===r?d:void 0;if(l&&!Tm(v)&&(v=$_(u,r)),Tm(v)&&(s=v,a))return s;var y=t[i+1];i=a?Zo(y):Cs(y)}if(null!==n){var b=o?n.residualClasses:n.residualStyles;null!=b&&(s=$_(b,r))}return s}function Tm(t){return void 0!==t}function cT(t,n){return 0!=(t.flags&(n?16:32))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function St(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",e=J(),r=Nt(),i=t+20,o=r.firstCreatePass?Lf(r,i,1,n,null):r.data[i],a=e[i]=vC(e[11],n);mm(r,e,a,o),Ma(o,!1)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function vi(t){return Ki("",t,""),vi}function Ki(t,n,e){var r=J(),i=Gf(r,t,n,e);return i!==rt&&bs(r,Oi(),i),Ki}function fT(t,n,e,r,i){var o=J(),a=zf(o,t,n,e,r,i);return a!==rt&&bs(o,Oi(),a),fT}function dT(t,n,e,r,i,o,a){var s=J(),u=$f(s,t,n,e,r,i,o,a);return u!==rt&&bs(s,Oi(),u),dT}function pT(t,n,e,r,i,o,a,s,u){var l=J(),c=Wf(l,t,n,e,r,i,o,a,s,u);return c!==rt&&bs(l,Oi(),c),pT}function hT(t,n,e,r,i,o,a,s,u,l,c){var f=J(),d=Kf(f,t,n,e,r,i,o,a,s,u,l,c);return d!==rt&&bs(f,Oi(),d),hT}function vT(t,n,e,r,i,o,a,s,u,l,c,f,d){var v=J(),y=Zf(v,t,n,e,r,i,o,a,s,u,l,c,f,d);return y!==rt&&bs(v,Oi(),y),vT}function mT(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y){var b=J(),x=Xf(b,t,n,e,r,i,o,a,s,u,l,c,f,d,v,y);return x!==rt&&bs(b,Oi(),x),mT}function gT(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x){var O=J(),N=Yf(O,t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x);return N!==rt&&bs(O,Oi(),N),gT}function yT(t){var n=J(),e=qf(n,t);return e!==rt&&bs(n,Oi(),e),yT +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}function ws(t,n,e){Jo(fo,ja,Gf(J(),t,n,e),!0)}function k8(t,n,e,r,i){Jo(fo,ja,zf(J(),t,n,e,r,i),!0)}function D8(t,n,e,r,i,o,a){Jo(fo,ja,$f(J(),t,n,e,r,i,o,a),!0)}function S8(t,n,e,r,i,o,a,s,u){Jo(fo,ja,Wf(J(),t,n,e,r,i,o,a,s,u),!0)}function T8(t,n,e,r,i,o,a,s,u,l,c){Jo(fo,ja,Kf(J(),t,n,e,r,i,o,a,s,u,l,c),!0)}function I8(t,n,e,r,i,o,a,s,u,l,c,f,d){Jo(fo,ja,Zf(J(),t,n,e,r,i,o,a,s,u,l,c,f,d),!0)}function A8(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y){Jo(fo,ja,Xf(J(),t,n,e,r,i,o,a,s,u,l,c,f,d,v,y),!0)}function M8(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x){Jo(fo,ja,Yf(J(),t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x),!0)}function N8(t){Jo(fo,ja,qf(J(),t),!0)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function O8(t,n,e){Va(Gf(J(),t,n,e))}function P8(t,n,e,r,i){Va(zf(J(),t,n,e,r,i))}function R8(t,n,e,r,i,o,a){Va($f(J(),t,n,e,r,i,o,a))}function F8(t,n,e,r,i,o,a,s,u){Va(Wf(J(),t,n,e,r,i,o,a,s,u))}function L8(t,n,e,r,i,o,a,s,u,l,c){Va(Kf(J(),t,n,e,r,i,o,a,s,u,l,c))}function B8(t,n,e,r,i,o,a,s,u,l,c,f,d){Va(Zf(J(),t,n,e,r,i,o,a,s,u,l,c,f,d))}function V8(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y){Va(Xf(J(),t,n,e,r,i,o,a,s,u,l,c,f,d,v,y))}function j8(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x){Va(Yf(J(),t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x))}function H8(t){Va(qf(J(),t))} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function _T(t,n,e,r,i){return Qo(t,Gf(J(),n,e,r),i,!1),_T}function CT(t,n,e,r,i,o,a){return Qo(t,zf(J(),n,e,r,i,o),a,!1),CT}function bT(t,n,e,r,i,o,a,s,u){return Qo(t,$f(J(),n,e,r,i,o,a,s),u,!1),bT}function ET(t,n,e,r,i,o,a,s,u,l,c){return Qo(t,Wf(J(),n,e,r,i,o,a,s,u,l),c,!1),ET}function wT(t,n,e,r,i,o,a,s,u,l,c,f,d){return Qo(t,Kf(J(),n,e,r,i,o,a,s,u,l,c,f),d,!1),wT}function xT(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y){return Qo(t,Zf(J(),n,e,r,i,o,a,s,u,l,c,f,d,v),y,!1),xT}function kT(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x){return Qo(t,Xf(J(),n,e,r,i,o,a,s,u,l,c,f,d,v,y,b),x,!1),kT}function DT(t,n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x,O,N){return Qo(t,Yf(J(),n,e,r,i,o,a,s,u,l,c,f,d,v,y,b,x,O),N,!1),DT}function ST(t,n,e){return Qo(t,qf(J(),n),e,!1),ST +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}function rb(t,n,e){var r=J();hi(r,wf(),n)&&ho(Nt(),tr(),r,t,n,r[11],e,!0);return rb}function TT(t,n,e){var r=J();if(hi(r,wf(),n)){var o=Nt(),a=tr();ho(o,a,r,t,n,J1(P_(o.data),a,r),e,!0)}return TT} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var zl=void 0;var bn,q8=["en",[["a","p"],["AM","PM"],zl],[["AM","PM"],zl,zl],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],zl,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],zl,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",zl,"{1} 'at' {0}",zl],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function U8(t){var e=Math.floor(Math.abs(t)),r=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===r?1:5}],Jf={}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Pi(t){var n=function G8(t){return t.toLowerCase().replace(/_/g,"-")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(t),e=AT(n);if(e)return e;var r=n.split("-")[0];if(e=AT(r))return e;if("en"===r)return q8;throw new Error('Missing locale data for the locale "'.concat(t,'".'))}function IT(t){return Pi(t)[bn.PluralCase]}function AT(t){return t in Jf||(Jf[t]=rn.ng&&rn.ng.common&&rn.ng.common.locales&&rn.ng.common.locales[t]),Jf[t]}!function(t){t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData"}(bn||(bn={}));var z8=["zero","one","two","few","many"];var Ri,Im="en-US",Am={marker:"element"},Mm={marker:"ICU"}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){t[t.SHIFT=2]="SHIFT",t[t.APPEND_EAGERLY=1]="APPEND_EAGERLY",t[t.COMMENT=2]="COMMENT"}(Ri||(Ri={}));var MT=Im; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function NT(t,n,e){var r=n.insertBeforeIndex,i=Array.isArray(r)?r[0]:r;return null===i?d1(t,0,e):yr(e[i])}function OT(t,n,e,r,i){var o=n.insertBeforeIndex;if(Array.isArray(o)){var a=r,s=null;if(3&n.type||(s=a,a=i),null!==a&&0==(2&n.flags))for(var u=1;u1)for(var e=t.length-2;e>=0;e--){var r=t[e];RT(r)||X8(r,n)&&null===Y8(r)&&Q8(r,n.index)}}function RT(t){return!(64&t.type)}function X8(t,n){return RT(n)||t.index>n.index}function Y8(t){var n=t.insertBeforeIndex;return Array.isArray(n)?n[0]:n}function Q8(t,n){var e=t.insertBeforeIndex;Array.isArray(e)?e[0]=n:(h1(NT,OT),t.insertBeforeIndex=n)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function rh(t,n){var e=t.data[n];return null===e||"string"==typeof e?null:e.hasOwnProperty("currentCaseLViewIndex")?e:e.value}function t6(t,n,e){var r=PC(t,e,64,null,null);return PT(n,r),r}function Nm(t,n){var e=n[t.currentCaseLViewIndex];return null===e?e:e<0?~e:e}function FT(t){return t>>>17}function LT(t){return(131070&t)>>>1} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var ih=0,oh=0;function o6(t,n,e,r){for(var i=t[11],o=0;o>>Ri.SHIFT,f=t[c];null===f&&(f=t[c]=u?i.createComment(s):vC(i,s)),l&&null!==e&&Ul(i,e,f,r,!1)}}function VT(t,n,e,r){for(var a,i=e[11],o=null,s=0;s>>1,N=n[++s],z=n[++s];BC(i,zv(O,e),null,null,N,z,null)}else switch(u){case Mm:var ne=n[++s],pe=n[++s];if(null===e[pe])pi(e[pe]=UV(i,ne),e);break;case Am:var Oe=n[++s],mt=n[++s];if(null===e[mt])pi(e[mt]=mC(i,Oe,null),e)}}}function jT(t,n,e,r,i){for(var o=0;o>>2;switch(3&c){case 1:var d=e[++l],v=e[++l],y=t.data[f];"string"==typeof y?BC(n[11],n[f],null,y,d,u,v):ho(t,y,n,d,u,n[11],v,!1);break;case 0:var b=n[f];null!==b&&i1(n[11],b,u);break;case 2:a6(t,rh(t,f),n,u);break;case 3:HT(t,rh(t,f),r,n)}}}else{var x=e[o+1];if(x>0&&3==(3&x)){var N=rh(t,x>>>2);n[N.currentCaseLViewIndex]<0&&HT(t,N,r,n)}}o+=s}}function HT(t,n,e,r){var i=r[n.currentCaseLViewIndex];if(null!==i){var o=ih;i<0&&(i=r[n.currentCaseLViewIndex]=~i,o=-1),jT(t,r,n.update[i],e,o)}}function a6(t,n,e,r){var i=function s6(t,n){var e=t.cases.indexOf(n);if(-1===e)switch(t.type){case 1:var r=function $8(t,n){var e=IT(n)(parseInt(t,10)),r=z8[e];return void 0!==r?r:"other"}(n,function Z8(){return MT}());-1===(e=t.cases.indexOf(r))&&"other"!==r&&(e=t.cases.indexOf("other"));break;case 0:e=t.cases.indexOf("other")}return-1===e?null:e} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(n,r);if(Nm(n,e)!==i&&(UT(t,n,e),e[n.currentCaseLViewIndex]=null===i?null:~i,null!==i)){var a=e[n.anchorIdx];a&&VT(t,n.create[i],e,a)}}function UT(t,n,e){var r=Nm(n,e);if(null!==r)for(var i=n.remove[r],o=0;o0){var s=zv(a,e);null!==s&&m1(e[11],s)}else UT(t,rh(t,~a),e)}}function u6(){var e,r,t=[],n=-1;function o(s,u){n=0;var l=Nm(s,u);r=null!==l?s.remove[l]:Cn}function a(){if(n0)return e[s];t.push(n,r);var l=~s;return o(e[1].data[l],e),a()}return 0===t.length?null:(r=t.pop(),n=t.pop(),a())}return function i(s,u){for(e=u;t.length;)t.pop();return o(s.value,u),a}} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Om=/\ufffd(\d+):?\d*\ufffd/gi,l6=/({\s*\ufffd\d+:?\d*\ufffd\s*,\s*\S{6}\s*,[\s\S]*})/gi,c6=/\ufffd(\d+)\ufffd/,GT=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,ah="\ufffd",f6=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,d6=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,p6=/\uE500/g; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function v6(t,n,e,r,i,o){var a=Ap(),s=[],u=[],l=[[]];i=function C6(t,n){if(function _6(t){return-1===t}(n))return WT(t);var e=t.indexOf(":".concat(n).concat(ah))+2+n.toString().length,r=t.search(new RegExp("".concat(ah,"\\/\\*\\d+:").concat(n).concat(ah)));return WT(t.substring(e,r))}(i,o);for(var c=function h6(t){return t.replace(p6," ")}(i).split(d6),f=0;fe.length&&e.push(u)}return{type:r,mainBinding:i,cases:n,values:e}}function ib(t){if(!t)return[];var o,n=0,e=[],r=[],i=/[{}]/g;for(i.lastIndex=0;o=i.exec(t);){var a=o.index;if("}"==o[0]){if(e.pop(),0==e.length){var s=t.substring(n,a);GT.test(s)?r.push(b6(s)):r.push(s),n=a+1}}else{if(0==e.length){var u=t.substring(n,a);r.push(u),n=a+1}e.push("{")}}var l=t.substring(n);return r.push(l),r}function E6(t,n,e,r,i,o,a,s){var u=[],l=[],c=[];n.cases.push(o),n.create.push(u),n.remove.push(l),n.update.push(c);var d=LD(S_()).getInertBodyElement(a),v=iC(d)||d;return v?ZT(t,n,e,r,u,l,c,v,i,s,0):0}function ZT(t,n,e,r,i,o,a,s,u,l,c){for(var f=0,d=s.firstChild;d;){var v=Bf(t,e,1,null);switch(d.nodeType){case Node.ELEMENT_NODE:var y=d,b=y.tagName.toLowerCase();if(tC.hasOwnProperty(b)){ob(i,Am,b,u,v),t.data[v]=b;for(var x=y.attributes,O=0;O1&&void 0!==arguments[1]?arguments[1]:{},e=t;if(S6.test(t)){var r={},i=[0];e=e.replace(T6,function(o,a,s){var u=a||s,l=r[u]||[];if(l.length||(u.split("|").forEach(function(O){var N=O.match(O6),z=N?parseInt(N[1],10):0,ne=N6.test(O);l.push([z,ne,O])}),r[u]=l),!l.length)throw new Error("i18n postprocess: unmatched placeholder - ".concat(u));for(var c=i[i.length-1],f=0,d=0;d2&&void 0!==arguments[2]?arguments[2]:-1,r=Nt(),i=J(),o=20+t,a=Eu(r.consts,n),s=Ap();r.firstCreatePass&&v6(r,null===s?0:s.index,i,o,a,e);var u=r.data[o],l=s===i[6]?null:s,c=u1(r,l,i),f=s&&8&s.type?i[s.index]:null;o6(i,u.create,c,f),tD(!0)}function JT(){tD(!1)}function R6(t,n,e){QT(t,n,e),JT()}function F6(t,n){var e=Nt();!function g6(t,n,e){var i=Ir().index,o=[];if(t.firstCreatePass&&null===t.data[n]){for(var a=0;a0){var r=t.data[e];jT(t,n,Array.isArray(r)?r:r.update,ys()-oh-1,ih)}ih=0,oh=0}(Nt(),J(),t+20)}function B6(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return P6(t,n)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function V6(t,n,e){var r=Nt();if(r.firstCreatePass){var i=Wo(t);ab(e,r.data,r.blueprint,i,!0),ab(n,r.data,r.blueprint,i,!1)}}function ab(t,n,e,r,i){if(t=ct(t),Array.isArray(t))for(var o=0;o>20;if(Hf(t)||!t.multi){var y=new Mp(l,i,W),b=ub(u,n,i?f:f+v,d);-1===b?(im(Op(c,s),a,u),sb(a,t,n.length),n.push(u),c.directiveStart++,c.directiveEnd++,i&&(c.providerIndexes+=1048576),e.push(y),s.push(y)):(e[b]=y,s[b]=y)}else{var x=ub(u,n,f+v,d),O=ub(u,n,f,f+v),N=x>=0&&e[x],z=O>=0&&e[O];if(i&&!z||!i&&!N){im(Op(c,s),a,u);var ne=function U6(t,n,e,r,i){var o=new Mp(t,e,W);return o.multi=[],o.index=n,o.componentProviders=0,tI(o,i,r&&!e),o}(i?H6:j6,e.length,i,r,l);!i&&z&&(e[O].providerFactory=ne),sb(a,t,n.length,0),n.push(u),c.directiveStart++,c.directiveEnd++,i&&(c.providerIndexes+=1048576),e.push(ne),s.push(ne)}else{sb(a,t,x>-1?x:O,tI(e[i?O:x],l,!i&&r))}!i&&r&&z&&e[O].componentProviders++}}}function sb(t,n,e,r){var i=Hf(n),o=function a5(t){return!!t.useClass}(n);if(i||o){var u=(o?ct(n.useClass):n).prototype.ngOnDestroy;if(u){var l=t.destroyHooks||(t.destroyHooks=[]);if(!i&&n.multi){var c=l.indexOf(e);-1===c?l.push(e,[r,u]):l[c+1].push(r,u)}else l.push(e,u)}}}function tI(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function ub(t,n,e,r){for(var i=e;i1&&void 0!==arguments[1]?arguments[1]:[];return function(e){e.providersResolver=function(r,i){return V6(r,i?i(t):t,n)}}} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var q6=h(function t(){p(this,t)}),nI=h(function t(){p(this,t)}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var rI="ngComponent";var z6=function(){function t(){p(this,t)}return h(t,[{key:"resolveComponentFactory",value:function(e){throw function G6(t){var n=Error("No component factory found for ".concat(nn(t),". Did you add it to @NgModule.entryComponents?"));return n[rI]=t,n}(e)}}]),t}(),xs=h(function t(){p(this,t)});function td(t,n){return new qn(ko(t,n))}xs.NULL=new z6;var qn=h(function t(n){p(this,t),this.nativeElement=n});function W6(t){return t instanceof qn?t.nativeElement:t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */qn.__NG_ELEMENT_ID__= +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function $6(){return td(Ir(),J())};new bt("Renderer2Interceptor");var cb=h(function t(){p(this,t)}),mi=h(function t(){p(this,t)});mi.__NG_ELEMENT_ID__=function(){return function Z6(){var t=J(),e=co(Ir().index,t);return function K6(t){return t[11]}(Aa(e)?e:t)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */()};var fb=h(function t(){p(this,t)});fb.\u0275prov=Xe({token:fb,providedIn:"root",factory:function(){return null}}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var nd=h(function t(n){p(this,t),this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}),X6=new nd("13.3.3"),db={}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Pm(t,n,e,r){for(var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];null!==e;){var o=n[e.index];if(null!==o&&r.push(yr(o)),$o(o))for(var a=10;a-1&&(gC(e,i),um(r,i))}this._attachedToViewContainer=!1}a1(this._lView[1],this._lView)}},{key:"onDestroy",value:function(e){H1(this._lView[1],this._lView,null,e)}},{key:"markForCheck",value:function(){jC(this._cdRefInjectingView||this._lView)}},{key:"detach",value:function(){this._lView[2]&=-129}},{key:"reattach",value:function(){this._lView[2]|=128}},{key:"detectChanges",value:function(){UC(this._lView[1],this._lView,this.context)}},{key:"checkNoChanges",value:function(){!function Z4(t,n,e){Wv(!0);try{UC(t,n,e)}finally{Wv(!1)}}(this._lView[1],this._lView,this.context)}},{key:"attachToViewContainerRef",value:function(){if(this._appRef){throw new Mt(902,"")}this._attachedToViewContainer=!0}},{key:"detachFromAppRef",value:function(){this._appRef=null,function zV(t,n){Zp(t,n,n[11],2,null,null)}(this._lView[1],this._lView)}},{key:"attachToAppRef",value:function(e){if(this._attachedToViewContainer){throw new Mt(902,"")}this._appRef=e}}]),t}(),Y6=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this,r))._view=r,i}return h(e,[{key:"detectChanges",value:function(){X1(this._view)}},{key:"checkNoChanges",value:function(){!function X4(t){Wv(!0);try{X1(t)}finally{Wv(!1)}}(this._view)}},{key:"context",get:function(){return null}}]),e}(sh),iI=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this)).ngModule=r,i}return h(e,[{key:"resolveComponentFactory",value:function(i){var o=fi(i);return new pb(o,this.ngModule)}}]),e}(xs); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function oI(t){var n=[];for(var e in t)if(t.hasOwnProperty(e)){var r=t[e];n.push({propName:r,templateName:e})}return n}var pb=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this)).componentDef=r,o.ngModule=i,o.componentType=r.type,o.selector=function f4(t){return t.map(c4).join(",")}(r.selectors),o.ngContentSelectors=r.ngContentSelectors?r.ngContentSelectors:[],o.isBoundToModule=!!i,o}return h(e,[{key:"inputs",get:function(){return oI(this.componentDef.inputs)}},{key:"outputs",get:function(){return oI(this.componentDef.outputs)}},{key:"create",value:function(i,o,a,s){var N,z,u=(s=s||this.ngModule)?function J6(t,n){return{get:function(r,i,o){var a=t.get(r,db,o);return a!==db||i===db?a:n.get(r,i,o)}}}(i,s.injector):i,l=u.get(cb,Z0),c=u.get(fb,null),f=l.createRenderer(null,this.componentDef),d=this.componentDef.selectors[0][0]||"div",v=a?j1(f,a,this.componentDef.encapsulation):mC(l.createRenderer(null,this.componentDef),d,function Q6(t){var n=t.toLowerCase();return"svg"===n?"svg":"math"===n?k_:null}(d)),y=this.componentDef.onPush?576:528,b=hS(),x=bm(0,null,null,1,0,null,null,null,null,null),O=Xp(null,x,b,y,null,null,l,f,c,u);Kv(O);try{var ne=dS(v,this.componentDef,O,l,f);if(v)if(a)em(f,v,["ng-version",X6.full]);else{var pe=function d4(t){for(var n=[],e=[],r=1,i=2;r0&&EC(f,v,Oe.join(" "))}if(z=T_(x,20),void 0!==o)for(var mt=z.projection=[],It=0;It1&&void 0!==arguments[1]?arguments[1]:nr.THROW_IF_NOT_FOUND,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:jt.Default;return i===nr||i===rd||i===GC?this:this._r3Injector.get(i,o,a)}},{key:"destroy",value:function(){var i=this._r3Injector;!i.destroyed&&i.destroy(),this.destroyCbs.forEach(function(o){return o()}),this.destroyCbs=null}},{key:"onDestroy",value:function(i){this.destroyCbs.push(i)}}]),e}(rd),hb=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this)).moduleType=r,null!==Eo(r)&&function ij(t){var n=new Set;!function e(r){var i=Eo(r,!0),o=i.id;null!==o&&(aI(o,id.get(o),r),id.set(o,r));var l,u=Me(Ra(i.imports));try{for(u.s();!(l=u.n()).done;){var c=l.value;n.has(c)||(n.add(c),e(c))}}catch(f){u.e(f)}finally{u.f()}}(t)}(r),i}return h(e,[{key:"create",value:function(i){return new uI(this.moduleType,i)}}]),e}(rj); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function ks(t,n,e){var r=Ni()+t,i=J();return i[r]===rt?La(i,r,e?n.call(e):n()):eh(i,r)}function Ha(t,n,e,r){return cI(J(),Ni(),t,n,e,r)}function vb(t,n,e,r,i){return fI(J(),Ni(),t,n,e,r,i)}function Rm(t,n,e,r,i,o){return dI(J(),Ni(),t,n,e,r,i,o)}function Fm(t,n,e,r,i,o,a){return pI(J(),Ni(),t,n,e,r,i,o,a)}function oj(t,n,e,r,i,o,a,s){var u=Ni()+t,l=J(),c=To(l,u,e,r,i,o);return hi(l,u+4,a)||c?La(l,u+5,s?n.call(s,e,r,i,o,a):n(e,r,i,o,a)):eh(l,u+5)}function lI(t,n,e,r,i,o,a,s,u){var l=Ni()+t,c=J(),f=To(c,l,e,r,i,o);return ql(c,l+4,a,s)||f?La(c,l+6,u?n.call(u,e,r,i,o,a,s):n(e,r,i,o,a,s)):eh(c,l+6)}function aj(t,n,e,r,i,o,a,s,u,l){var c=Ni()+t,f=J(),d=To(f,c,e,r,i,o);return km(f,c+4,a,s,u)||d?La(f,c+7,l?n.call(l,e,r,i,o,a,s,u):n(e,r,i,o,a,s,u)):eh(f,c+7)}function sj(t,n,e,r,i,o,a,s,u,l,c){var f=Ni()+t,d=J(),v=To(d,f,e,r,i,o);return To(d,f+4,a,s,u,l)||v?La(d,f+8,c?n.call(c,e,r,i,o,a,s,u,l):n(e,r,i,o,a,s,u,l)):eh(d,f+8)}function uj(t,n,e,r){return hI(J(),Ni(),t,n,e,r)}function uh(t,n){var e=t[n];return e===rt?void 0:e}function cI(t,n,e,r,i,o){var a=n+e;return hi(t,a,i)?La(t,a+1,o?r.call(o,i):r(i)):uh(t,a+1)}function fI(t,n,e,r,i,o,a){var s=n+e;return ql(t,s,i,o)?La(t,s+2,a?r.call(a,i,o):r(i,o)):uh(t,s+2)}function dI(t,n,e,r,i,o,a,s){var u=n+e;return km(t,u,i,o,a)?La(t,u+3,s?r.call(s,i,o,a):r(i,o,a)):uh(t,u+3)}function pI(t,n,e,r,i,o,a,s,u){var l=n+e;return To(t,l,i,o,a,s)?La(t,l+4,u?r.call(u,i,o,a,s):r(i,o,a,s)):uh(t,l+4)}function hI(t,n,e,r,i,o){for(var a=n+e,s=!1,u=0;u=0;e--){var r=n[e];if(t===r.name)return r}}(n,e.pipeRegistry),e.data[i]=r,r.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(i,r.onDestroy)):r=e.data[i];var o=r.factory||(r.factory=Vl(r.type)),a=_u(W);try{var s=nm(!1),u=o();return nm(s),function N5(t,n,e,r){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=r}(e,J(),i,u),u}finally{_u(a)}}function mb(t,n,e){var r=t+20,i=J(),o=Ef(i,r);return lh(i,r)?cI(i,Ni(),n,o.transform,e,o):o.transform(e)}function gb(t,n,e,r){var i=t+20,o=J(),a=Ef(o,i);return lh(o,i)?fI(o,Ni(),n,a.transform,e,r,a):a.transform(e,r)}function cj(t,n,e,r,i){var o=t+20,a=J(),s=Ef(a,o);return lh(a,o)?dI(a,Ni(),n,s.transform,e,r,i,s):s.transform(e,r,i)}function vI(t,n,e,r,i,o){var a=t+20,s=J(),u=Ef(s,a);return lh(s,a)?pI(s,Ni(),n,u.transform,e,r,i,o,u):u.transform(e,r,i,o)}function fj(t,n,e){var r=t+20,i=J(),o=Ef(i,r);return lh(i,r)?hI(i,Ni(),n,o.transform,e,o):o.transform.apply(o,e)}function lh(t,n){return t[1].data[n].pure} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var dj=function(t){k(e,t);var n=S(e);function e(){var r,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return p(this,e),(r=n.call(this)).__isAsync=i,r}return h(e,[{key:"emit",value:function(i){We(oe(e.prototype),"next",this).call(this,i)}},{key:"subscribe",value:function(i,o,a){var s,u,l,c=i,f=o||function(){return null},d=a;if(i&&"object"==typeof i){var v=i;c=null===(s=v.next)||void 0===s?void 0:s.bind(v),f=null===(u=v.error)||void 0===u?void 0:u.bind(v),d=null===(l=v.complete)||void 0===l?void 0:l.bind(v)}this.__isAsync&&(f=yb(f),c&&(c=yb(c)),d&&(d=yb(d)));var y=We(oe(e.prototype),"subscribe",this).call(this,{next:c,error:f,complete:d});return i instanceof ci&&i.add(y),y}}]),e}(Ol);function yb(t){return function(n){setTimeout(t,void 0,n)}}var be=dj; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function pj(){return this._results[Uf()]()}var hj=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];p(this,t),this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;var e=Uf(),r=t.prototype;r[e]||(r[e]=pj)}return h(t,[{key:"changes",get:function(){return this._changes||(this._changes=new be)}},{key:"get",value:function(e){return this._results[e]}},{key:"map",value:function(e){return this._results.map(e)}},{key:"filter",value:function(e){return this._results.filter(e)}},{key:"find",value:function(e){return this._results.find(e)}},{key:"reduce",value:function(e,r){return this._results.reduce(e,r)}},{key:"forEach",value:function(e){this._results.forEach(e)}},{key:"some",value:function(e){return this._results.some(e)}},{key:"toArray",value:function(){return this._results.slice()}},{key:"toString",value:function(){return this._results.toString()}},{key:"reset",value:function(e,r){var i=this;i.dirty=!1;var o=Do(e);(this._changesDetected=!function vB(t,n,e){if(t.length!==n.length)return!1;for(var r=0;r0;)this.remove(this.length-1)}},{key:"get",value:function(i){var o=gI(this._lContainer);return null!==o&&o[i]||null}},{key:"length",get:function(){return this._lContainer.length-10}},{key:"createEmbeddedView",value:function(i,o,a){var s=i.createEmbeddedView(o||{});return this.insert(s,a),s}},{key:"createComponent",value:function(i,o,a,s,u){var c,l=i&&!Fp(i);if(l)c=o;else{var f=o||{};c=f.index,a=f.injector,s=f.projectableNodes,u=f.ngModuleRef}var d=l?i:new pb(fi(i)),v=a||this.parentInjector;if(!u&&null==d.ngModule){var b=(l?v:this.parentInjector).get(rd,null);b&&(u=b)}var x=d.create(v,s,void 0,u);return this.insert(x.hostView,c),x}},{key:"insert",value:function(i,o){var a=i._lView,s=a[1];if(function F3(t){return $o(t[3])}(a)){var u=this.indexOf(i);if(-1!==u)this.detach(u);else{var l=a[3],c=new mI(l,l[6],l[3]);c.detach(c.indexOf(i))}}var f=this._adjustIndex(o),d=this._lContainer;WV(s,a,d,f);var v=CC(f,d),y=a[11],b=vm(y,d[7]);return null!==b&&function GV(t,n,e,r,i,o){r[0]=i,r[6]=n,Zp(t,r,e,1,i,o)}(s,d[6],y,a,b,v),i.attachToViewContainerRef(),ED(_b(d),f,i),i}},{key:"move",value:function(i,o){return this.insert(i,o)}},{key:"indexOf",value:function(i){var o=gI(this._lContainer);return null!==o?o.indexOf(i):-1}},{key:"remove",value:function(i){var o=this._adjustIndex(i,-1),a=gC(this._lContainer,o);a&&(um(_b(this._lContainer),o),a1(a[1],a))}},{key:"detach",value:function(i){var o=this._adjustIndex(i,-1),a=gC(this._lContainer,o);return a&&null!=um(_b(this._lContainer),o)?new sh(a):null}},{key:"_adjustIndex",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return null==i?this.length+o:i}}]),e}(gi);function gI(t){return t[8]}function _b(t){return t[8]||(t[8]=[])}function yI(t,n){var e,r=n[t.index];if($o(r))e=r;else{var i;if(8&t.type)i=yr(r);else{var o=n[11];i=o.createComment("");var a=ko(t,n);Ul(o,vm(o,a),i,function QV(t,n){return er(t)?t.nextSibling(n):n.nextSibling}(o,a),!1)}n[t.index]=e=Z1(r,n,i,t),Em(n,e)}return new mI(e,t,n)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Ej=function(){function t(n){p(this,t),this.queryList=n,this.matches=null}return h(t,[{key:"clone",value:function(){return new t(this.queryList)}},{key:"setDirty",value:function(){this.queryList.setDirty()}}]),t}(),wj=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];p(this,t),this.queries=n}return h(t,[{key:"createEmbeddedView",value:function(e){var r=e.queries;if(null!==r){for(var i=null!==e.contentQueries?e.contentQueries[0]:r.length,o=[],a=0;a2&&void 0!==arguments[2]?arguments[2]:null;p(this,t),this.predicate=n,this.flags=e,this.read=r}),xj=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];p(this,t),this.queries=n}return h(t,[{key:"elementStart",value:function(e,r){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:-1;p(this,t),this.metadata=n,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=e}return h(t,[{key:"elementStart",value:function(e,r){this.isApplyingToNode(r)&&this.matchTNode(e,r)}},{key:"elementEnd",value:function(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}},{key:"template",value:function(e,r){this.elementStart(e,r)}},{key:"embeddedTView",value:function(e,r){return this.isApplyingToNode(e)?(this.crossesNgTemplate=!0,this.addMatch(-e.index,r),new t(this.metadata)):null}},{key:"isApplyingToNode",value:function(e){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){for(var r=this._declarationNodeIndex,i=e.parent;null!==i&&8&i.type&&i.index!==r;)i=i.parent;return r===(null!==i?i.index:-1)}return this._appliesToNextNode}},{key:"matchTNode",value:function(e,r){var i=this.metadata.predicate;if(Array.isArray(i))for(var o=0;o0)r.push(a[s/2]);else{for(var l=o[s+1],c=n[-u],f=10;f2&&void 0!==arguments[2]&&arguments[2];var r=Do(n.declarations||Cn),i=null;Object.defineProperty(t,B0,{configurable:!0,get:function(){if(null===i){var u=Ar();(i=u.compileNgModule(Li,"ng:///".concat(t.name,"/\u0275mod.js"),{type:t,bootstrap:Do(n.bootstrap||Cn).map(ct),declarations:r.map(ct),imports:Do(n.imports||Cn).map(ct).map(II),exports:Do(n.exports||Cn).map(ct).map(II),schemas:n.schemas?Do(n.schemas):null,id:n.id||null})).schemas||(i.schemas=[])}return i}});var o=null;Object.defineProperty(t,gs,{get:function(){if(null===o){var u=Ar();o=u.compileFactory(Li,"ng:///".concat(t.name,"/\u0275fac.js"),{name:t.name,type:t,deps:fm(t),target:u.FactoryTarget.NgModule,typeArgumentCount:0})}return o},configurable:!1});var a=null;Object.defineProperty(t,v_,{get:function(){if(null===a){var u={name:t.name,type:t,providers:n.providers||Cn,imports:[(n.imports||Cn).map(ct),(n.exports||Cn).map(ct)]},l=Ar();a=l.compileInjector(Li,"ng:///".concat(t.name,"/\u0275inj.js"),u)}return a},configurable:!1})}function Bj(t,n){var e=Do(n.declarations||Cn),r=Vm(t);e.forEach(function(i){i.hasOwnProperty(Vv)?TI(fi(i),r):!i.hasOwnProperty(g_)&&!i.hasOwnProperty(y_)&&(i.ngSelectorScope=t)})}function TI(t,n){t.directiveDefs=function(){return Array.from(n.compilation.directives).map(function(e){return e.hasOwnProperty(Vv)?fi(e):bu(e)}).filter(function(e){return!!e})},t.pipeDefs=function(){return Array.from(n.compilation.pipes).map(function(e){return Rl(e)})},t.schemas=n.schemas,t.tView=null}function Vm(t){if(!xb(t))throw new Error("".concat(t.name," does not have a module def (\u0275mod property)"));var n=Eo(t);if(null!==n.transitiveCompileScopes)return n.transitiveCompileScopes;var e={schemas:n.schemas||null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set}};return Ra(n.imports).forEach(function(r){var i=r;if(!xb(i))throw new Error("Importing ".concat(i.name," which does not have a \u0275mod property"));var o=Vm(i);o.exported.directives.forEach(function(a){return e.compilation.directives.add(a)}),o.exported.pipes.forEach(function(a){return e.compilation.pipes.add(a)})}),Ra(n.declarations).forEach(function(r){Rl(r)?e.compilation.pipes.add(r):e.compilation.directives.add(r)}),Ra(n.exports).forEach(function(r){var i=r;if(xb(i)){var o=Vm(i);o.exported.directives.forEach(function(a){e.compilation.directives.add(a),e.exported.directives.add(a)}),o.exported.pipes.forEach(function(a){e.compilation.pipes.add(a),e.exported.pipes.add(a)})}else Rl(i)?e.exported.pipes.add(i):e.exported.directives.add(i)}),n.transitiveCompileScopes=e,e}function II(t){return function Vj(t){return void 0!==t.ngModule}(t)?t.ngModule:t}function xb(t){return!!Eo(t)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var kb=0;function jj(t,n){var e=null;(function FB(t,n){ND(n)&&(Nf.set(t,n),Up.add(t))})(t,n),NI(t,n),Object.defineProperty(t,Vv,{get:function(){if(null===e){var i=Ar();if(ND(n)){var o=["Component '".concat(t.name,"' is not resolved:")];throw n.templateUrl&&o.push(" - templateUrl: ".concat(n.templateUrl)),n.styleUrls&&n.styleUrls.length&&o.push(" - styleUrls: ".concat(JSON.stringify(n.styleUrls))),o.push("Did you run and wait for 'resolveComponentResources()'?"),new Error(o.join("\n"))}var a=function Oj(){return sd}(),s=n.preserveWhitespaces;void 0===s&&(s=null!==a&&void 0!==a.preserveWhitespaces&&a.preserveWhitespaces);var u=n.encapsulation;void 0===u&&(u=null!==a&&void 0!==a.defaultEncapsulation?a.defaultEncapsulation:Go.Emulated);var l=n.templateUrl||"ng:///".concat(t.name,"/template.html"),c=Object.assign(Object.assign({},OI(t,n)),{typeSourceSpan:i.createParseSourceSpan("Component",t.name,l),template:n.template||"",preserveWhitespaces:s,styles:n.styles||Cn,animations:n.animations,directives:[],changeDetection:n.changeDetection,pipes:new Map,encapsulation:u,interpolation:n.interpolation,viewProviders:n.viewProviders||null});kb++;try{c.usesInheritance&&PI(t),e=i.compileComponent(Li,l,c)}finally{kb--}if(0===kb&&function Rj(){if(!bb){bb=!0;try{for(var t=ch.length-1;t>=0;t--){var n=ch[t],e=n.moduleType,r=n.ngModule;r.declarations&&r.declarations.every(xI)&&(ch.splice(t,1),Bj(e,r))}}finally{bb=!1}}}(),function Hj(t){return void 0!==t.ngSelectorScope}(t)){var f=Vm(t.ngSelectorScope);TI(e,f)}}return e},configurable:!1})}function AI(t,n){var e=null;NI(t,n||{}),Object.defineProperty(t,g_,{get:function(){if(null===e){var i=MI(t,n||{}),o=Ar();e=o.compileDirective(Li,i.sourceMapUrl,i.metadata)}return e},configurable:!1})}function MI(t,n){var e=t&&t.name,r="ng:///".concat(e,"/\u0275dir.js"),i=Ar(),o=OI(t,n);return o.typeSourceSpan=i.createParseSourceSpan("Directive",e,r),o.usesInheritance&&PI(t),{metadata:o,sourceMapUrl:r}}function NI(t,n){var e=null;Object.defineProperty(t,gs,{get:function(){if(null===e){var i=MI(t,n),o=Ar();e=o.compileFactory(Li,"ng:///".concat(t.name,"/\u0275fac.js"),{name:i.metadata.name,type:i.metadata.type,typeArgumentCount:0,deps:fm(t),target:o.FactoryTarget.Directive})}return e},configurable:!1})}function Uj(t){return Object.getPrototypeOf(t.prototype)===Object.prototype}function OI(t,n){var e=Q_(),r=e.ownPropMetadata(t);return{name:t.name,type:t,selector:void 0!==n.selector?n.selector:null,host:n.host||gf,propMetadata:r,inputs:n.inputs||Cn,outputs:n.outputs||Cn,queries:RI(t,r,FI),lifecycle:{usesOnChanges:e.hasLifecycleHook(t,"ngOnChanges")},typeSourceSpan:null,usesInheritance:!Uj(t),exportAs:zj(n.exportAs),providers:n.providers||null,viewQueries:RI(t,r,LI)}}function PI(t){for(var n=Object.prototype,e=Object.getPrototypeOf(t.prototype).constructor;e&&e!==n;)!bu(e)&&!fi(e)&&Wj(e)&&AI(e,null),e=Object.getPrototypeOf(e)}function qj(t){return"string"==typeof t?VI(t):ct(t)}function RI(t,n,e){var r=[],i=function(s){if(n.hasOwnProperty(s)){var u=n[s];u.forEach(function(l){if(e(l)){if(!l.selector)throw new Error("Can't construct a query for the property \"".concat(s,'" of ')+'"'.concat(Mi(t),"\" since the query selector wasn't defined."));if(u.some(BI))throw new Error("Cannot combine @Input decorators with query decorators");r.push(function Gj(t,n){return{propertyName:t,predicate:qj(n.selector),descendants:n.descendants,first:n.first,read:n.read?n.read:null,static:!!n.static,emitDistinctChangesOnly:!!n.emitDistinctChangesOnly}}(s,l))}})}};for(var o in n)i(o);return r}function zj(t){return void 0===t?null:VI(t)}function FI(t){var n=t.ngMetadataName;return"ContentChild"===n||"ContentChildren"===n}function LI(t){var n=t.ngMetadataName;return"ViewChild"===n||"ViewChildren"===n}function BI(t){return"Input"===t.ngMetadataName}function VI(t){return t.split(",").map(function(n){return n.trim()})}var $j=["ngOnChanges","ngOnInit","ngOnDestroy","ngDoCheck","ngAfterViewInit","ngAfterViewChecked","ngAfterContentInit","ngAfterContentChecked"];function Wj(t){var n=Q_();if($j.some(function(u){return n.hasLifecycleHook(t,u)}))return!0;var e=n.propMetadata(t);for(var r in e)for(var i=e[r],o=0;o0&&void 0!==arguments[0]?arguments[0]:{};return t},void 0,void 0,function(t,n){return AI(t,n)}),Xj=Rp("Component",function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({changeDetection:Pl.Default},t)},Zj,void 0,function(t,n){return jj(t,n)}),ot=(Rp("Pipe",function(t){return Object.assign({pure:!0},t)},void 0,void 0,function(t,n){return function Kj(t,n){var e=null,r=null;Object.defineProperty(t,gs,{get:function(){if(null===r){var o=jI(t,n),a=Ar(o.type);r=a.compileFactory(Li,"ng:///".concat(o.name,"/\u0275fac.js"),{name:o.name,type:o.type,typeArgumentCount:0,deps:fm(t),target:a.FactoryTarget.Pipe})}return r},configurable:!1}),Object.defineProperty(t,y_,{get:function(){if(null===e){var o=jI(t,n),a=Ar(o.type);e=a.compilePipe(Li,"ng:///".concat(o.name,"/\u0275pipe.js"),o)}return e},configurable:!1})}(t,n)}),ku("Input",function(t){return{bindingPropertyName:t}})),Zn=ku("Output",function(t){return{bindingPropertyName:t}}),Db=ku("HostBinding",function(t){return{hostPropertyName:t}}),fh=ku("HostListener",function(t,n){return{eventName:t,args:n}}),Sb=Rp("NgModule",function(t){return t},void 0,void 0,function(t,n){return function Fj(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Lj(t,n),Pj(t,n)}(t,n)}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function jm(){} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var HI=new bt("Application Initializer"),Mu=function(){function t(n){var e=this;p(this,t),this.appInits=n,this.resolve=jm,this.reject=jm,this.initialized=!1,this.done=!1,this.donePromise=new Promise(function(r,i){e.resolve=r,e.reject=i})}return h(t,[{key:"runInitializers",value:function(){var e=this;if(!this.initialized){var r=[],i=function(){e.done=!0,e.resolve()};if(this.appInits)for(var o=function(u){var l=e.appInits[u]();if(Dm(l))r.push(l);else if(VS(l)){var c=new Promise(function(f,d){l.subscribe({complete:f,error:d})});r.push(c)}},a=0;a0&&(a=setTimeout(function(){o._callbacks=o._callbacks.filter(function(s){return s.timeoutId!==a}),e(o._didWork,o.getPendingTasks())},r)),this._callbacks.push({doneCb:e,timeoutId:a,updateCb:i})}},{key:"whenStable",value:function(e,r,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,r,i),this._runCallbacksIfReady()}},{key:"getPendingRequestCount",value:function(){return this._pendingCount}},{key:"findProviders",value:function(e,r,i){return[]}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Pu.\u0275fac=function(n){return new(n||Pu)(Ne(Qr))},Pu.\u0275prov=Xe({token:Pu,factory:Pu.\u0275fac});var ld=function(){function t(){p(this,t),this._applications=new Map,Pb.addToWindow(this)}return h(t,[{key:"registerApplication",value:function(e,r){this._applications.set(e,r)}},{key:"unregisterApplication",value:function(e){this._applications.delete(e)}},{key:"unregisterAllApplications",value:function(){this._applications.clear()}},{key:"getTestability",value:function(e){return this._applications.get(e)||null}},{key:"getAllTestabilities",value:function(){return Array.from(this._applications.values())}},{key:"getAllRootElements",value:function(){return Array.from(this._applications.keys())}},{key:"findTestabilityInTree",value:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Pb.findTestabilityInTree(this,e,r)}}]),t}();ld.\u0275fac=function(n){return new(n||ld)},ld.\u0275prov=Xe({token:ld,factory:ld.\u0275fac,providedIn:"platform"});var lH=function(){function t(){p(this,t)}return h(t,[{key:"addToWindow",value:function(e){}},{key:"findTestabilityInTree",value:function(e,r,i){return null}}]),t}();var ea,Pb=new lH; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function fH(t,n,e){var r=new hb(e);if("undefined"!=typeof ngJitMode&&!ngJitMode)return Promise.resolve(r);var i=t.get(Hm,[]).concat(n);if(function Nj(t){null!==sd&&(t.defaultEncapsulation!==sd.defaultEncapsulation||t.preserveWhitespaces!==sd.preserveWhitespaces)||(sd=t)}({defaultEncapsulation:ZI(i.map(function(l){return l.defaultEncapsulation})),preserveWhitespaces:ZI(i.map(function(l){return l.preserveWhitespaces}))}),function BB(){return 0===Nf.size}())return Promise.resolve(r);var o=function gH(t){var n=[];return t.forEach(function(e){return e&&n.push.apply(n,re(e))}),n +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}(i.map(function(l){return l.providers}));if(0===o.length)return Promise.resolve(r);var a=Ar(),u=nr.create({providers:o}).get(a.ResourceLoader);return RB(function(l){return Promise.resolve(u.get(l))}).then(function(){return r})}var $I=new bt("AllowMultipleToken");function pH(t){if(ea&&!ea.destroyed&&!ea.injector.get($I,!1)){throw new Mt(400,"")}ea=t.get(cd);var e=t.get(qI,null);return e&&e.forEach(function(r){return r()}),ea}function Um(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r="Platform: ".concat(n),i=new bt(r);return function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=WI();if(!a||a.injector.get($I,!1))if(t)t(e.concat(o).concat({provide:i,useValue:!0}));else{var s=e.concat(o).concat({provide:i,useValue:!0},{provide:zC,useValue:"platform"});pH(nr.create({providers:s,name:r}))}return hH(i)}}function hH(t){var n=WI();if(!n){throw new Mt(401,"")}return n}function WI(){return ea&&!ea.destroyed?ea:null}var cd=function(){function t(n){p(this,t),this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return h(t,[{key:"bootstrapModuleFactory",value:function(e,r){var i=this,u=function vH(t,n){var e;return e="noop"===t?new uH:("zone.js"===t?void 0:t)||new Qr({enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!!(null==n?void 0:n.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==n?void 0:n.ngZoneRunCoalescing)}),e}(r?r.ngZone:void 0,{ngZoneEventCoalescing:r&&r.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:r&&r.ngZoneRunCoalescing||!1}),l=[{provide:Qr,useValue:u}];return u.run(function(){var c=nr.create({providers:l,parent:i.injector,name:e.moduleType.name}),f=e.create(c),d=f.injector.get(Wp,null);if(!d){throw new Mt(402,"")}return u.runOutsideAngular(function(){var y=u.onError.subscribe({next:function(x){d.handleError(x)}});f.onDestroy(function(){Rb(i._modules,f),y.unsubscribe()})}),function mH(t,n,e){try{var r=e();return Dm(r)?r.catch(function(i){throw n.runOutsideAngular(function(){return t.handleError(i)}),i}):r}catch(i){throw n.runOutsideAngular(function(){return t.handleError(i)}),i}}(d,u,function(){var y=f.injector.get(Mu);return y.runInitializers(),y.donePromise.then(function(){return function K8(t){uo(t,"Expected localeId to be defined"),"string"==typeof t&&(MT=t.toLowerCase().replace(/_/g,"-"))}(f.injector.get(Nu,Im)||Im),i._moduleDoBootstrap(f),f})})})}},{key:"bootstrapModule",value:function(e){var r=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=KI({},i);return fH(this.injector,o,e).then(function(a){return r.bootstrapModuleFactory(a,o)})}},{key:"_moduleDoBootstrap",value:function(e){var r=e.injector.get(Ru);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(function(o){return r.bootstrap(o)});else{if(!e.instance.ngDoBootstrap){throw new Mt(403,"")}e.instance.ngDoBootstrap(r)}this._modules.push(e)}},{key:"onDestroy",value:function(e){this._destroyListeners.push(e)}},{key:"injector",get:function(){return this._injector}},{key:"destroy",value:function(){if(this._destroyed){throw new Mt(404,"")}this._modules.slice().forEach(function(r){return r.destroy()}),this._destroyListeners.forEach(function(r){return r()}),this._destroyed=!0}},{key:"destroyed",get:function(){return this._destroyed}}]),t}();function KI(t,n){return t=Array.isArray(n)?n.reduce(KI,t):Object.assign(Object.assign({},t),n)}cd.\u0275fac=function(n){return new(n||cd)(Ne(nr))},cd.\u0275prov=Xe({token:cd,factory:cd.\u0275fac,providedIn:"platform"});var Ru=function(){function t(n,e,r,i){var o=this;p(this,t),this._zone=n,this._injector=e,this._exceptionHandler=r,this._initStatus=i,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:function(){o._zone.run(function(){o.tick()})}});var a=new ur(function(u){o._stable=o._zone.isStable&&!o._zone.hasPendingMacrotasks&&!o._zone.hasPendingMicrotasks,o._zone.runOutsideAngular(function(){u.next(o._stable),u.complete()})}),s=new ur(function(u){var l;o._zone.runOutsideAngular(function(){l=o._zone.onStable.subscribe(function(){Qr.assertNotInAngularZone(),Mb(function(){!o._stable&&!o._zone.hasPendingMacrotasks&&!o._zone.hasPendingMicrotasks&&(o._stable=!0,u.next(!0))})})});var c=o._zone.onUnstable.subscribe(function(){Qr.assertInAngularZone(),o._stable&&(o._stable=!1,o._zone.runOutsideAngular(function(){u.next(!1)}))});return function(){l.unsubscribe(),c.unsubscribe()}});this.isStable=A0(a,s.pipe(r3()))}return h(t,[{key:"bootstrap",value:function(e,r){var a,i=this;if(!this._initStatus.done){throw new Mt(405,"")}e instanceof nI?a=e:a=this._injector.get(xs).resolveComponentFactory(e);this.componentTypes.push(a.componentType);var u=function dH(t){return t.isBoundToModule}(a)?void 0:this._injector.get(rd),l=r||a.selector,c=a.create(nr.NULL,[],l,u),f=c.location.nativeElement,d=c.injector.get(Pu,null),v=d&&c.injector.get(ld);return d&&v&&v.registerApplication(f,d),c.onDestroy(function(){i.detachView(c.hostView),Rb(i.components,c),v&&v.unregisterApplication(f)}),this._loadComponent(c),c}},{key:"tick",value:function(){var e=this;if(this._runningTick){throw new Mt(101,"")}try{this._runningTick=!0;var o,i=Me(this._views);try{for(i.s();!(o=i.n()).done;){o.value.detectChanges()}}catch(c){i.e(c)}finally{i.f()}}catch(c){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(c)})}finally{this._runningTick=!1}}},{key:"attachView",value:function(e){var r=e;this._views.push(r),r.attachToAppRef(this)}},{key:"detachView",value:function(e){var r=e;Rb(this._views,r),r.detachFromAppRef()}},{key:"_loadComponent",value:function(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Yj,[]).concat(this._bootstrapListeners).forEach(function(i){return i(e)})}},{key:"ngOnDestroy",value:function(){this._views.slice().forEach(function(e){return e.destroy()}),this._onMicrotaskEmptySubscription.unsubscribe()}},{key:"viewCount",get:function(){return this._views.length}}]),t}();function Rb(t,n){var e=t.indexOf(n);e>-1&&t.splice(e,1)}function ZI(t){for(var n=t.length-1;n>=0;n--)if(void 0!==t[n])return t[n]}Ru.\u0275fac=function(n){return new(n||Ru)(Ne(Qr),Ne(nr),Ne(Wp),Ne(Mu))},Ru.\u0275prov=Xe({token:Ru,factory:Ru.\u0275fac,providedIn:"root"});var XI=!0;function yH(){return!0,XI} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var fd=h(function t(){p(this,t)});fd.__NG_ELEMENT_ID__=function _H(t){return function CH(t,n,e){if(qv(t)&&!e){var r=co(t.index,n);return new sh(r,r)}if(47&t.type){var i=n[16];return new sh(i,n)}return null} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(Ir(),J(),16==(16&t))}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var t2=function(){function t(){p(this,t)}return h(t,[{key:"supports",value:function(e){return Jp(e)}},{key:"create",value:function(e){return new xH(e)}}]),t}(),wH=function(n,e){return e},xH=function(){function t(n){p(this,t),this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||wH}return h(t,[{key:"forEachItem",value:function(e){var r;for(r=this._itHead;null!==r;r=r._next)e(r)}},{key:"forEachOperation",value:function(e){for(var r=this._itHead,i=this._removalsHead,o=0,a=null;r||i;){var s=!i||r&&r.currentIndex0&&void 0!==arguments[0]?arguments[0]:0;this._history.go(i)}},{key:"getState",value:function(){return this._history.state}}]),e}(Ua);function u2(){return!!window.history.pushState} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function Hb(t,n){if(0==t.length)return n;if(0==n.length)return t;var e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function l2(t){var n=t.match(/#|\?|$/),e=n&&n.index||t.length,r=e-("/"===t[e-1]?1:0);return t.slice(0,r)+t.slice(e)}function Ds(t){return t&&"?"!==t[0]?"?"+t:t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */pd.\u0275fac=function(n){return new(n||pd)(Ne(cr))},pd.\u0275prov=Xe({token:pd,factory:function(){return function RH(){return new pd(Ne(cr))}()},providedIn:"platform"});var Fu=function(){function t(){p(this,t)}return h(t,[{key:"historyGo",value:function(e){throw new Error("Not implemented")}}]),t}();Fu.\u0275fac=function(n){return new(n||Fu)},Fu.\u0275prov=Xe({token:Fu,factory:function(){return function FH(t){var n=Ne(cr).location;return new hd(Ne(Ua),n&&n.origin||"")}()},providedIn:"root"});var c2=new bt("appBaseHref"),hd=function(t){k(e,t);var n=S(e);function e(r,i){var o;if(p(this,e),(o=n.call(this))._platformLocation=r,o._removeListenerFns=[],null==i&&(i=o._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return o._baseHref=i,o}return h(e,[{key:"ngOnDestroy",value:function(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}},{key:"onPopState",value:function(i){this._removeListenerFns.push(this._platformLocation.onPopState(i),this._platformLocation.onHashChange(i))}},{key:"getBaseHref",value:function(){return this._baseHref}},{key:"prepareExternalUrl",value:function(i){return Hb(this._baseHref,i)}},{key:"path",value:function(){var i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],o=this._platformLocation.pathname+Ds(this._platformLocation.search),a=this._platformLocation.hash;return a&&i?"".concat(o).concat(a):o}},{key:"pushState",value:function(i,o,a,s){var u=this.prepareExternalUrl(a+Ds(s));this._platformLocation.pushState(i,o,u)}},{key:"replaceState",value:function(i,o,a,s){var u=this.prepareExternalUrl(a+Ds(s));this._platformLocation.replaceState(i,o,u)}},{key:"forward",value:function(){this._platformLocation.forward()}},{key:"back",value:function(){this._platformLocation.back()}},{key:"historyGo",value:function(){var o,a,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(a=(o=this._platformLocation).historyGo)||void 0===a||a.call(o,i)}}]),e}(Fu);hd.\u0275fac=function(n){return new(n||hd)(Ne(Ua),Ne(c2,8))},hd.\u0275prov=Xe({token:hd,factory:hd.\u0275fac}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var dh=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this))._platformLocation=r,o._baseHref="",o._removeListenerFns=[],null!=i&&(o._baseHref=i),o}return h(e,[{key:"ngOnDestroy",value:function(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}},{key:"onPopState",value:function(i){this._removeListenerFns.push(this._platformLocation.onPopState(i),this._platformLocation.onHashChange(i))}},{key:"getBaseHref",value:function(){return this._baseHref}},{key:"path",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];var o=this._platformLocation.hash;return null==o&&(o="#"),o.length>0?o.substring(1):o}},{key:"prepareExternalUrl",value:function(i){var o=Hb(this._baseHref,i);return o.length>0?"#"+o:o}},{key:"pushState",value:function(i,o,a,s){var u=this.prepareExternalUrl(a+Ds(s));0==u.length&&(u=this._platformLocation.pathname),this._platformLocation.pushState(i,o,u)}},{key:"replaceState",value:function(i,o,a,s){var u=this.prepareExternalUrl(a+Ds(s));0==u.length&&(u=this._platformLocation.pathname),this._platformLocation.replaceState(i,o,u)}},{key:"forward",value:function(){this._platformLocation.forward()}},{key:"back",value:function(){this._platformLocation.back()}},{key:"historyGo",value:function(){var o,a,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(a=(o=this._platformLocation).historyGo)||void 0===a||a.call(o,i)}}]),e}(Fu);dh.\u0275fac=function(n){return new(n||dh)(Ne(Ua),Ne(c2,8))},dh.\u0275prov=Xe({token:dh,factory:dh.\u0275fac}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Lu=function(){function t(n,e){var r=this;p(this,t),this._subject=new be,this._urlChangeListeners=[],this._platformStrategy=n;var i=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=l2(f2(i)),this._platformStrategy.onPopState(function(o){r._subject.emit({url:r.path(!0),pop:!0,state:o.state,type:o.type})})}return h(t,[{key:"path",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.normalize(this._platformStrategy.path(e))}},{key:"getState",value:function(){return this._platformLocation.getState()}},{key:"isCurrentPathEqualTo",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.path()==this.normalize(e+Ds(r))}},{key:"normalize",value:function(e){return t.stripTrailingSlash(function BH(t,n){return t&&n.startsWith(t)?n.substring(t.length):n}(this._baseHref,f2(e)))}},{key:"prepareExternalUrl",value:function(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}},{key:"go",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.pushState(i,"",e,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Ds(r)),i)}},{key:"replaceState",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.replaceState(i,"",e,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Ds(r)),i)}},{key:"forward",value:function(){this._platformStrategy.forward()}},{key:"back",value:function(){this._platformStrategy.back()}},{key:"historyGo",value:function(){var r,i,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(i=(r=this._platformStrategy).historyGo)||void 0===i||i.call(r,e)}},{key:"onUrlChange",value:function(e){var r=this;this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(function(i){r._notifyUrlChangeListeners(i.url,i.state)}))}},{key:"_notifyUrlChangeListeners",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1?arguments[1]:void 0;this._urlChangeListeners.forEach(function(i){return i(e,r)})}},{key:"subscribe",value:function(e,r,i){return this._subject.subscribe({next:e,error:r,complete:i})}}]),t}();function f2(t){return t.replace(/\/index.html$/,"")} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Lu.normalizeQueryParams=Ds,Lu.joinWithSlash=Hb,Lu.stripTrailingSlash=l2,Lu.\u0275fac=function(n){return new(n||Lu)(Ne(Fu),Ne(Ua))},Lu.\u0275prov=Xe({token:Lu,factory:function(){return function LH(){return new Lu(Ne(Fu),Ne(Ua))}()},providedIn:"root"});var ph,Xl,yi,fn,Xi,rr,p2,d2={ADP:[void 0,void 0,0],AFN:[void 0,"\u060b",0],ALL:[void 0,void 0,0],AMD:[void 0,"\u058f",2],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],AZN:[void 0,"\u20bc"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"\u09f3"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,"\u0440.",2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN\xa5","\xa5"],COP:[void 0,"$",2],CRC:[void 0,"\u20a1",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"K\u010d",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E\xa3"],ESP:[void 0,"\u20a7",0],EUR:["\u20ac"],FJD:[void 0,"$"],FKP:[void 0,"\xa3"],GBP:["\xa3"],GEL:[void 0,"\u20be"],GHS:[void 0,"GH\u20b5"],GIP:[void 0,"\xa3"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",2],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",2],ILS:["\u20aa"],INR:["\u20b9"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["\xa5",void 0,0],KHR:[void 0,"\u17db"],KMF:[void 0,"CF",0],KPW:[void 0,"\u20a9",0],KRW:["\u20a9",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"\u20b8"],LAK:[void 0,"\u20ad",0],LBP:[void 0,"L\xa3",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"\u20ae",2],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",2],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"\u20a6"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:["\u20b1"],PKR:[void 0,"Rs",2],PLN:[void 0,"z\u0142"],PYG:[void 0,"\u20b2",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"\u20bd"],RUR:[void 0,"\u0440."],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"\xa3"],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"\xa3"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"\xa3",0],THB:[void 0,"\u0e3f"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"\u20ba"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,2],UAH:[void 0,"\u20b4"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UYW:[void 0,void 0,4],UZS:[void 0,void 0,2],VEF:[void 0,"Bs",2],VND:["\u20ab",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["F\u202fCFA",void 0,0],XPF:["CFPF",void 0,0],XXX:["\xa4"],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Gm(t,n){return Ao(Pi(t)[bn.DateFormat],n)}function zm(t,n){return Ao(Pi(t)[bn.TimeFormat],n)}function $m(t,n){return Ao(Pi(t)[bn.DateTimeFormat],n)}function Io(t,n){var e=Pi(t),r=e[bn.NumberSymbols][n];if(void 0===r){if(n===rr.CurrencyDecimal)return e[bn.NumberSymbols][rr.Decimal];if(n===rr.CurrencyGroup)return e[bn.NumberSymbols][rr.Group]}return r}function Ub(t,n){return Pi(t)[bn.NumberFormats][n]}function GH(t){return Pi(t)[bn.Currencies]}!function(t){t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific"}(ph||(ph={})),function(t){t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other"}(Xl||(Xl={})),function(t){t[t.Format=0]="Format",t[t.Standalone=1]="Standalone"}(yi||(yi={})),function(t){t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short"}(fn||(fn={})),function(t){t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full"}(Xi||(Xi={})),function(t){t[t.Decimal=0]="Decimal",t[t.Group=1]="Group",t[t.List=2]="List",t[t.PercentSign=3]="PercentSign",t[t.PlusSign=4]="PlusSign",t[t.MinusSign=5]="MinusSign",t[t.Exponential=6]="Exponential",t[t.SuperscriptingExponent=7]="SuperscriptingExponent",t[t.PerMille=8]="PerMille",t[t.Infinity=9]="Infinity",t[t.NaN=10]="NaN",t[t.TimeSeparator=11]="TimeSeparator",t[t.CurrencyDecimal=12]="CurrencyDecimal",t[t.CurrencyGroup=13]="CurrencyGroup"}(rr||(rr={})),function(t){t[t.Sunday=0]="Sunday",t[t.Monday=1]="Monday",t[t.Tuesday=2]="Tuesday",t[t.Wednesday=3]="Wednesday",t[t.Thursday=4]="Thursday",t[t.Friday=5]="Friday",t[t.Saturday=6]="Saturday"}(p2||(p2={}));var zH=IT;function h2(t){if(!t[bn.ExtraData])throw new Error('Missing extra locale data for the locale "'.concat(t[bn.LocaleId],'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.'))}function Ao(t,n){for(var e=n;e>-1;e--)if(void 0!==t[e])return t[e];throw new Error("Locale data API: locale data undefined")}function qb(t){var e=Xt(t.split(":"),2);return{hours:+e[0],minutes:+e[1]}}function KH(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",r=GH(e)[t]||d2[t]||[],i=r[1];return"narrow"===n&&"string"==typeof i?i:r[0]||t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var qa,Ht,Ut,YH=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,hh={},QH=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;function JH(t,n,e,r){var i=function uU(t){if(g2(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){var e=Xt(t.split("-").map(function(f){return+f}),3),r=e[0],i=e[1],o=void 0===i?1:i,a=e[2];return Wm(r,o-1,void 0===a?1:a)}var l,u=parseFloat(t);if(!isNaN(t-u))return new Date(u);if(l=t.match(YH))return function lU(t){var n=new Date(0),e=0,r=0,i=t[8]?n.setUTCFullYear:n.setFullYear,o=t[8]?n.setUTCHours:n.setHours;t[9]&&(e=Number(t[9]+t[10]),r=Number(t[9]+t[11])),i.call(n,Number(t[1]),Number(t[2])-1,Number(t[3]));var a=Number(t[4]||0)-e,s=Number(t[5]||0)-r,u=Number(t[6]||0),l=Math.floor(1e3*parseFloat("0."+(t[7]||0)));return o.call(n,a,s,u,l),n}(l)}var c=new Date(t);if(!g2(c))throw new Error('Unable to convert "'.concat(t,'" into a date'));return c}(t);n=Ss(e,n)||n;for(var s,a=[];n;){if(!(s=QH.exec(n))){a.push(n);break}var u=(a=a.concat(s.slice(1))).pop();if(!u)break;n=u}var l=i.getTimezoneOffset();r&&(l=m2(r,l),i=function sU(t,n,e){var r=e?-1:1,i=t.getTimezoneOffset(),o=m2(n,i);return function aU(t,n){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+n),t}(t,r*(o-i))}(i,r,!0));var c="";return a.forEach(function(f){var d=function oU(t){if(zb[t])return zb[t];var n;switch(t){case"G":case"GG":case"GGG":n=In(Ut.Eras,fn.Abbreviated);break;case"GGGG":n=In(Ut.Eras,fn.Wide);break;case"GGGGG":n=In(Ut.Eras,fn.Narrow);break;case"y":n=br(Ht.FullYear,1,0,!1,!0);break;case"yy":n=br(Ht.FullYear,2,0,!0,!0);break;case"yyy":n=br(Ht.FullYear,3,0,!1,!0);break;case"yyyy":n=br(Ht.FullYear,4,0,!1,!0);break;case"Y":n=Ym(1);break;case"YY":n=Ym(2,!0);break;case"YYY":n=Ym(3);break;case"YYYY":n=Ym(4);break;case"M":case"L":n=br(Ht.Month,1,1);break;case"MM":case"LL":n=br(Ht.Month,2,1);break;case"MMM":n=In(Ut.Months,fn.Abbreviated);break;case"MMMM":n=In(Ut.Months,fn.Wide);break;case"MMMMM":n=In(Ut.Months,fn.Narrow);break;case"LLL":n=In(Ut.Months,fn.Abbreviated,yi.Standalone);break;case"LLLL":n=In(Ut.Months,fn.Wide,yi.Standalone);break;case"LLLLL":n=In(Ut.Months,fn.Narrow,yi.Standalone);break;case"w":n=Gb(1);break;case"ww":n=Gb(2);break;case"W":n=Gb(1,!0);break;case"d":n=br(Ht.Date,1);break;case"dd":n=br(Ht.Date,2);break;case"c":case"cc":n=br(Ht.Day,1);break;case"ccc":n=In(Ut.Days,fn.Abbreviated,yi.Standalone);break;case"cccc":n=In(Ut.Days,fn.Wide,yi.Standalone);break;case"ccccc":n=In(Ut.Days,fn.Narrow,yi.Standalone);break;case"cccccc":n=In(Ut.Days,fn.Short,yi.Standalone);break;case"E":case"EE":case"EEE":n=In(Ut.Days,fn.Abbreviated);break;case"EEEE":n=In(Ut.Days,fn.Wide);break;case"EEEEE":n=In(Ut.Days,fn.Narrow);break;case"EEEEEE":n=In(Ut.Days,fn.Short);break;case"a":case"aa":case"aaa":n=In(Ut.DayPeriods,fn.Abbreviated);break;case"aaaa":n=In(Ut.DayPeriods,fn.Wide);break;case"aaaaa":n=In(Ut.DayPeriods,fn.Narrow);break;case"b":case"bb":case"bbb":n=In(Ut.DayPeriods,fn.Abbreviated,yi.Standalone,!0);break;case"bbbb":n=In(Ut.DayPeriods,fn.Wide,yi.Standalone,!0);break;case"bbbbb":n=In(Ut.DayPeriods,fn.Narrow,yi.Standalone,!0);break;case"B":case"BB":case"BBB":n=In(Ut.DayPeriods,fn.Abbreviated,yi.Format,!0);break;case"BBBB":n=In(Ut.DayPeriods,fn.Wide,yi.Format,!0);break;case"BBBBB":n=In(Ut.DayPeriods,fn.Narrow,yi.Format,!0);break;case"h":n=br(Ht.Hours,1,-12);break;case"hh":n=br(Ht.Hours,2,-12);break;case"H":n=br(Ht.Hours,1);break;case"HH":n=br(Ht.Hours,2);break;case"m":n=br(Ht.Minutes,1);break;case"mm":n=br(Ht.Minutes,2);break;case"s":n=br(Ht.Seconds,1);break;case"ss":n=br(Ht.Seconds,2);break;case"S":n=br(Ht.FractionalSeconds,1);break;case"SS":n=br(Ht.FractionalSeconds,2);break;case"SSS":n=br(Ht.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":n=Zm(qa.Short);break;case"ZZZZZ":n=Zm(qa.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=Zm(qa.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":n=Zm(qa.Long);break;default:return null}return zb[t]=n,n}(f);c+=d?d(i,e,l):"''"===f?"'":f.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}function Wm(t,n,e){var r=new Date(0);return r.setFullYear(t,n,e),r.setHours(0,0,0),r}function Ss(t,n){var e=function VH(t){return Pi(t)[bn.LocaleId]}(t);if(hh[e]=hh[e]||{},hh[e][n])return hh[e][n];var r="";switch(n){case"shortDate":r=Gm(t,Xi.Short);break;case"mediumDate":r=Gm(t,Xi.Medium);break;case"longDate":r=Gm(t,Xi.Long);break;case"fullDate":r=Gm(t,Xi.Full);break;case"shortTime":r=zm(t,Xi.Short);break;case"mediumTime":r=zm(t,Xi.Medium);break;case"longTime":r=zm(t,Xi.Long);break;case"fullTime":r=zm(t,Xi.Full);break;case"short":var i=Ss(t,"shortTime"),o=Ss(t,"shortDate");r=Km($m(t,Xi.Short),[i,o]);break;case"medium":var a=Ss(t,"mediumTime"),s=Ss(t,"mediumDate");r=Km($m(t,Xi.Medium),[a,s]);break;case"long":var u=Ss(t,"longTime"),l=Ss(t,"longDate");r=Km($m(t,Xi.Long),[u,l]);break;case"full":var c=Ss(t,"fullTime"),f=Ss(t,"fullDate");r=Km($m(t,Xi.Full),[c,f])}return r&&(hh[e][n]=r),r}function Km(t,n){return n&&(t=t.replace(/\{([^}]+)}/g,function(e,r){return null!=n&&r in n?n[r]:e})),t}function na(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,o="";(t<0||i&&t<=0)&&(i?t=1-t:(t=-t,o=e));for(var a=String(t);a.length2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return function(o,a){var s=tU(t,o);if((e>0||s>-e)&&(s+=e),t===Ht.Hours)0===s&&-12===e&&(s=12);else if(t===Ht.FractionalSeconds)return eU(s,n);var u=Io(a,rr.MinusSign);return na(s,n,u,r,i)}}function tU(t,n){switch(t){case Ht.FullYear:return n.getFullYear();case Ht.Month:return n.getMonth();case Ht.Date:return n.getDate();case Ht.Hours:return n.getHours();case Ht.Minutes:return n.getMinutes();case Ht.Seconds:return n.getSeconds();case Ht.FractionalSeconds:return n.getMilliseconds();case Ht.Day:return n.getDay();default:throw new Error('Unknown DateType value "'.concat(t,'".'))}}function In(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:yi.Format,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(i,o){return nU(i,o,t,n,e,r)}}function nU(t,n,e,r,i,o){switch(e){case Ut.Months:return function UH(t,n,e){var r=Pi(t),o=Ao([r[bn.MonthsFormat],r[bn.MonthsStandalone]],n);return Ao(o,e)}(n,i,r)[t.getMonth()];case Ut.Days:return function HH(t,n,e){var r=Pi(t),o=Ao([r[bn.DaysFormat],r[bn.DaysStandalone]],n);return Ao(o,e)}(n,i,r)[t.getDay()];case Ut.DayPeriods:var a=t.getHours(),s=t.getMinutes();if(o){var u=function $H(t){var n=Pi(t);return h2(n),(n[bn.ExtraData][2]||[]).map(function(r){return"string"==typeof r?qb(r):[qb(r[0]),qb(r[1])]})}(n),l=function WH(t,n,e){var r=Pi(t);h2(r);var o=Ao([r[bn.ExtraData][0],r[bn.ExtraData][1]],n)||[];return Ao(o,e)||[]}(n,i,r),c=u.findIndex(function(d){if(Array.isArray(d)){var v=Xt(d,2),y=v[0],b=v[1],x=a>=y.hours&&s>=y.minutes,O=a0?Math.floor(i/60):Math.ceil(i/60);switch(t){case qa.Short:return(i>=0?"+":"")+na(a,2,o)+na(Math.abs(i%60),2,o);case qa.ShortGMT:return"GMT"+(i>=0?"+":"")+na(a,1,o);case qa.Long:return"GMT"+(i>=0?"+":"")+na(a,2,o)+":"+na(Math.abs(i%60),2,o);case qa.Extended:return 0===r?"Z":(i>=0?"+":"")+na(a,2,o)+":"+na(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'.concat(t,'"'))}}}!function(t){t[t.Short=0]="Short",t[t.ShortGMT=1]="ShortGMT",t[t.Long=2]="Long",t[t.Extended=3]="Extended"}(qa||(qa={})),function(t){t[t.FullYear=0]="FullYear",t[t.Month=1]="Month",t[t.Date=2]="Date",t[t.Hours=3]="Hours",t[t.Minutes=4]="Minutes",t[t.Seconds=5]="Seconds",t[t.FractionalSeconds=6]="FractionalSeconds",t[t.Day=7]="Day"}(Ht||(Ht={})),function(t){t[t.DayPeriods=0]="DayPeriods",t[t.Days=1]="Days",t[t.Months=2]="Months",t[t.Eras=3]="Eras"}(Ut||(Ut={}));function iU(t){var n=Wm(t,0,1).getDay();return Wm(t,0,1+(n<=4?4:11)-n)}function v2(t){return Wm(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function Gb(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(e,r){var i;if(n){var o=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,a=e.getDate();i=1+Math.floor((a+o)/7)}else{var s=v2(e),u=iU(s.getFullYear()),l=s.getTime()-u.getTime();i=1+Math.round(l/6048e5)}return na(i,t,Io(r,rr.MinusSign))}}function Ym(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(e,r){return na(v2(e).getFullYear(),t,Io(r,rr.MinusSign),n)}}var zb={};function m2(t,n){t=t.replace(/:/g,"");var e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function g2(t){return t instanceof Date&&!isNaN(t.valueOf())} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var cU=/^(\d+)?\.((\d+)(-(\d+))?)?$/,vh="0";function Wb(t,n,e,r,i,o){var a=arguments.length>6&&void 0!==arguments[6]&&arguments[6],s="",u=!1;if(isFinite(t)){var l=yU(t);a&&(l=gU(l));var c=n.minInt,f=n.minFrac,d=n.maxFrac;if(o){var v=o.match(cU);if(null===v)throw new Error("".concat(o," is not a valid digit info"));var y=v[1],b=v[3],x=v[5];null!=y&&(c=Zb(y)),null!=b&&(f=Zb(b)),null!=x?d=Zb(x):null!=b&&f>d&&(d=f)}_U(l,f,d);var O=l.digits,N=l.integerLen,z=l.exponent,ne=[];for(u=O.every(function(Te){return!Te});N0?ne=O.splice(N,O.length):(ne=O,O=[0]);var pe=[];for(O.length>=n.lgSize&&pe.unshift(O.splice(-n.lgSize,O.length).join(""));O.length>n.gSize;)pe.unshift(O.splice(-n.gSize,O.length).join(""));O.length&&pe.unshift(O.join("")),s=pe.join(Io(e,r)),ne.length&&(s+=Io(e,i)+ne.join("")),z&&(s+=Io(e,rr.Exponential)+"+"+z)}else s=Io(e,rr.Infinity);return s=t<0&&!u?n.negPre+s+n.negSuf:n.posPre+s+n.posSuf}function hU(t,n,e,r,i){var a=Kb(Ub(n,ph.Currency),Io(n,rr.MinusSign));return a.minFrac=function XH(t){var n,e=d2[t];return e&&(n=e[2]),"number"==typeof n?n:2}(r),a.maxFrac=a.minFrac,Wb(t,a,n,rr.CurrencyGroup,rr.CurrencyDecimal,i).replace("\xa4",e).replace("\xa4","").trim()}function Kb(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-",e={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=t.split(";"),i=r[0],o=r[1],a=-1!==i.indexOf(".")?i.split("."):[i.substring(0,i.lastIndexOf(vh)+1),i.substring(i.lastIndexOf(vh)+1)],s=a[0],u=a[1]||"";e.posPre=s.substr(0,s.indexOf("#"));for(var l=0;l-1&&(n=n.replace(".","")),(o=n.search(/e/i))>0?(i<0&&(i=o),i+=+n.slice(o+1),n=n.substring(0,o)):i<0&&(i=n.length),o=0;n.charAt(o)===vh;o++);if(o===(s=n.length))r=[0],i=1;else{for(s--;n.charAt(s)===vh;)s--;for(i-=o,r=[],a=0;o<=s;o++,a++)r[a]=Number(n.charAt(o))}return i>22&&(r=r.splice(0,21),e=i-1,i=1),{digits:r,exponent:e,integerLen:i}}function _U(t,n,e){if(n>e)throw new Error("The minimum number of digits after fraction (".concat(n,") is higher than the maximum (").concat(e,")."));var r=t.digits,i=r.length-t.integerLen,o=Math.min(Math.max(n,i),e),a=o+t.integerLen,s=r[a];if(a>0){r.splice(Math.max(t.integerLen,a));for(var u=a;u=5)if(a-1<0){for(var c=0;c>a;c--)r.unshift(0),t.integerLen++;r.unshift(1),t.integerLen++}else r[a-1]++;for(;i=d?O.pop():f=!1),b>=10?1:0},0);v&&(r.unshift(v),t.integerLen++)}function Zb(t){var n=parseInt(t);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+t);return n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Yl=h(function t(){p(this,t)});function C2(t,n,e,r){var i="=".concat(t);if(n.indexOf(i)>-1||(i=e.getPluralCategory(t,r),n.indexOf(i)>-1))return i;if(n.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'.concat(t,'"'))}Yl.\u0275fac=function(n){return new(n||Yl)},Yl.\u0275prov=Xe({token:Yl,factory:function(n){var r,e=null;return n?e=new n:(r=Ne(Nu),e=new vd(r)),e},providedIn:"root"});var vd=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this)).locale=r,i}return h(e,[{key:"getPluralCategory",value:function(i,o){switch(zH(o||this.locale)(i)){case Xl.Zero:return"zero";case Xl.One:return"one";case Xl.Two:return"two";case Xl.Few:return"few";case Xl.Many:return"many";default:return"other"}}}]),e}(Yl);vd.\u0275fac=function(n){return new(n||vd)(Ne(Nu))},vd.\u0275prov=Xe({token:vd,factory:vd.\u0275fac}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Jr=function(){function t(n,e,r,i){p(this,t),this._iterableDiffers=n,this._keyValueDiffers=e,this._ngEl=r,this._renderer=i,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return h(t,[{key:"klass",set:function(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}},{key:"ngClass",set:function(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Jp(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}},{key:"ngDoCheck",value:function(){if(this._iterableDiffer){var e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){var r=this._keyValueDiffer.diff(this._rawClass);r&&this._applyKeyValueChanges(r)}}},{key:"_applyKeyValueChanges",value:function(e){var r=this;e.forEachAddedItem(function(i){return r._toggleClass(i.key,i.currentValue)}),e.forEachChangedItem(function(i){return r._toggleClass(i.key,i.currentValue)}),e.forEachRemovedItem(function(i){i.previousValue&&r._toggleClass(i.key,!1)})}},{key:"_applyIterableChanges",value:function(e){var r=this;e.forEachAddedItem(function(i){if("string"!=typeof i.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got ".concat(nn(i.item)));r._toggleClass(i.item,!0)}),e.forEachRemovedItem(function(i){return r._toggleClass(i.item,!1)})}},{key:"_applyClasses",value:function(e){var r=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(i){return r._toggleClass(i,!0)}):Object.keys(e).forEach(function(i){return r._toggleClass(i,!!e[i])}))}},{key:"_removeClasses",value:function(e){var r=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(i){return r._toggleClass(i,!1)}):Object.keys(e).forEach(function(i){return r._toggleClass(i,!1)}))}},{key:"_toggleClass",value:function(e,r){var i=this;(e=e.trim())&&e.split(/\s+/g).forEach(function(o){r?i._renderer.addClass(i._ngEl.nativeElement,o):i._renderer.removeClass(i._ngEl.nativeElement,o)})}}]),t}();Jr.\u0275fac=function(n){return new(n||Jr)(W(dd),W(Kl),W(qn),W(mi))},Jr.\u0275dir=Fe({type:Jr,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Ql=function(){function t(n){p(this,t),this._viewContainerRef=n,this._componentRef=null,this._moduleRef=null}return h(t,[{key:"ngOnChanges",value:function(e){if(this._viewContainerRef.clear(),this._componentRef=null,this.ngComponentOutlet){var r=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;if(e.ngComponentOutletNgModuleFactory)if(this._moduleRef&&this._moduleRef.destroy(),this.ngComponentOutletNgModuleFactory){var i=r.get(rd);this._moduleRef=this.ngComponentOutletNgModuleFactory.create(i.injector)}else this._moduleRef=null;var a=(this._moduleRef?this._moduleRef.componentFactoryResolver:r.get(xs)).resolveComponentFactory(this.ngComponentOutlet);this._componentRef=this._viewContainerRef.createComponent(a,this._viewContainerRef.length,r,this.ngComponentOutletContent)}}},{key:"ngOnDestroy",value:function(){this._moduleRef&&this._moduleRef.destroy()}}]),t}();Ql.\u0275fac=function(n){return new(n||Ql)(W(gi))},Ql.\u0275dir=Fe({type:Ql,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},features:[gr]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var bU=function(){function t(n,e,r,i){p(this,t),this.$implicit=n,this.ngForOf=e,this.index=r,this.count=i}return h(t,[{key:"first",get:function(){return 0===this.index}},{key:"last",get:function(){return this.index===this.count-1}},{key:"even",get:function(){return this.index%2==0}},{key:"odd",get:function(){return!this.even}}]),t}(),ei=function(){function t(n,e,r){p(this,t),this._viewContainer=n,this._template=e,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return h(t,[{key:"ngForOf",set:function(e){this._ngForOf=e,this._ngForOfDirty=!0}},{key:"ngForTrackBy",get:function(){return this._trackByFn},set:function(e){this._trackByFn=e}},{key:"ngForTemplate",set:function(e){e&&(this._template=e)}},{key:"ngDoCheck",value:function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){var r=this._differ.diff(this._ngForOf);r&&this._applyChanges(r)}}},{key:"_applyChanges",value:function(e){var r=this,i=this._viewContainer;e.forEachOperation(function(l,c,f){if(null==l.previousIndex)i.createEmbeddedView(r._template,new bU(l.item,r._ngForOf,-1,-1),null===f?void 0:f);else if(null==f)i.remove(null===c?void 0:c);else if(null!==c){var d=i.get(c);i.move(d,f),b2(d,l)}});for(var o=0,a=i.length;o1&&void 0!==arguments[1]?arguments[1]:"mediumDate",i=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0;if(null==e||""===e||e!=e)return null;try{return JH(e,r,o||this.locale,null!==(a=null!=i?i:this.defaultTimezone)&&void 0!==a?a:void 0)}catch(s){throw ra(0,s.message)}}}]),t}();sc.\u0275fac=function(n){return new(n||sc)(W(Nu,16),W(TU,24))},sc.\u0275pipe=mr({name:"date",type:sc,pure:!0}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var IU=/#/g,uc=function(){function t(n){p(this,t),this._localization=n}return h(t,[{key:"transform",value:function(e,r,i){if(null==e)return"";if("object"!=typeof r||null===r)throw ra();return r[C2(e,Object.keys(r),this._localization,i)].replace(IU,e.toString())}}]),t}();uc.\u0275fac=function(n){return new(n||uc)(W(Yl,16))},uc.\u0275pipe=mr({name:"i18nPlural",type:uc,pure:!0}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var lc=function(){function t(){p(this,t)}return h(t,[{key:"transform",value:function(e,r){if(null==e)return"";if("object"!=typeof r||"string"!=typeof e)throw ra();return r.hasOwnProperty(e)?r[e]:r.hasOwnProperty("other")?r.other:""}}]),t}();lc.\u0275fac=function(n){return new(n||lc)},lc.\u0275pipe=mr({name:"i18nSelect",type:lc,pure:!0}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var cc=function(){function t(){p(this,t)}return h(t,[{key:"transform",value:function(e){return JSON.stringify(e,null,2)}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function AU(t,n){return{key:t,value:n}}cc.\u0275fac=function(n){return new(n||cc)},cc.\u0275pipe=mr({name:"json",type:cc,pure:!1});var fc=function(){function t(n){p(this,t),this.differs=n,this.keyValues=[],this.compareFn=w2}return h(t,[{key:"transform",value:function(e){var r=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:w2;if(!e||!(e instanceof Map)&&"object"!=typeof e)return null;this.differ||(this.differ=this.differs.find(e).create());var o=this.differ.diff(e),a=i!==this.compareFn;return o&&(this.keyValues=[],o.forEachItem(function(s){r.keyValues.push(AU(s.key,s.currentValue))})),(o||a)&&(this.keyValues.sort(i),this.compareFn=i),this.keyValues}}]),t}();function w2(t,n){var e=t.key,r=n.key;if(e===r)return 0;if(void 0===e)return 1;if(void 0===r)return-1;if(null===e)return 1;if(null===r)return-1;if("string"==typeof e&&"string"==typeof r)return e1&&void 0!==arguments[1]?arguments[1]:"USD";p(this,t),this._locale=n,this._defaultCurrencyCode=e}return h(t,[{key:"transform",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._defaultCurrencyCode,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"symbol",o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!Yb(e))return null;a=a||this._locale,"boolean"==typeof i&&(i=i?"symbol":"code");var s=r||this._defaultCurrencyCode;"code"!==i&&(s="symbol"===i||"symbol-narrow"===i?KH(s,"symbol"===i?"wide":"narrow",a):i);try{var u=Qb(e);return hU(u,a,s,r,o)}catch(l){throw ra(0,l.message)}}}]),t}();function Yb(t){return!(null==t||""===t||t!=t)}function Qb(t){if("string"==typeof t&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if("number"!=typeof t)throw new Error("".concat(t," is not a number"));return t} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */hc.\u0275fac=function(n){return new(n||hc)(W(Nu,16),W(eH,16))},hc.\u0275pipe=mr({name:"currency",type:hc,pure:!0});var vc=function(){function t(){p(this,t)}return h(t,[{key:"transform",value:function(e,r,i){if(null==e)return null;if(!this.supports(e))throw ra();return e.slice(r,i)}},{key:"supports",value:function(e){return"string"==typeof e||Array.isArray(e)}}]),t}();vc.\u0275fac=function(n){return new(n||vc)},vc.\u0275pipe=mr({name:"slice",type:vc,pure:!1}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var tt=h(function t(){p(this,t)}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */tt.\u0275fac=function(n){return new(n||tt)},tt.\u0275mod=on({type:tt,declarations:[Jr,Ql,ei,qt,Rr,nc,Ts,Jl,ec,Bu,tc,rc,ac,ic,cc,vc,dc,pc,oc,hc,sc,uc,lc,fc],exports:[Jr,Ql,ei,qt,Rr,nc,Ts,Jl,ec,Bu,tc,rc,ac,ic,cc,vc,dc,pc,oc,hc,sc,uc,lc,fc]}),tt.\u0275inj=Qt({}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Jb="browser"; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +new nd("13.3.3"); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var x2=h(function t(){p(this,t)});x2.\u0275prov=Xe({token:x2,providedIn:"root",factory:function(){return new PU(Ne(cr),window)}});var PU=function(){function t(n,e){p(this,t),this.document=n,this.window=e,this.offset=function(){return[0,0]}}return h(t,[{key:"setOffset",value:function(e){Array.isArray(e)?this.offset=function(){return e}:this.offset=e}},{key:"getScrollPosition",value:function(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}},{key:"scrollToPosition",value:function(e){this.supportsScrolling()&&this.window.scrollTo(e[0],e[1])}},{key:"scrollToAnchor",value:function(e){if(this.supportsScrolling()){var r=function RU(t,n){var e=t.getElementById(n)||t.getElementsByName(n)[0];if(e)return e;if("function"==typeof t.createTreeWalker&&t.body&&(t.body.createShadowRoot||t.body.attachShadow))for(var r=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT),i=r.currentNode;i;){var o=i.shadowRoot;if(o){var a=o.getElementById(n)||o.querySelector('[name="'.concat(n,'"]'));if(a)return a}i=r.nextNode()}return null}(this.document,e);r&&(this.scrollToElement(r),r.focus())}}},{key:"setHistoryScrollRestoration",value:function(e){if(this.supportScrollRestoration()){var r=this.window.history;r&&r.scrollRestoration&&(r.scrollRestoration=e)}}},{key:"scrollToElement",value:function(e){var r=e.getBoundingClientRect(),i=r.left+this.window.pageXOffset,o=r.top+this.window.pageYOffset,a=this.offset();this.window.scrollTo(i-a[0],o-a[1])}},{key:"supportScrollRestoration",value:function(){try{if(!this.supportsScrolling())return!1;var e=k2(this.window.history)||k2(Object.getPrototypeOf(this.window.history));return!(!e||!e.writable&&!e.set)}catch(r){return!1}}},{key:"supportsScrolling",value:function(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(e){return!1}}}]),t}();function k2(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}var Jm,FU=h(function t(){p(this,t)}),LU=function(t){k(e,t);var n=S(e);function e(){var r;return p(this,e),(r=n.apply(this,arguments)).supportsDOMEvents=!0,r}return h(e)}(OH),BU=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"onAndCancel",value:function(i,o,a){return i.addEventListener(o,a,!1),function(){i.removeEventListener(o,a,!1)}}},{key:"dispatchEvent",value:function(i,o){i.dispatchEvent(o)}},{key:"remove",value:function(i){i.parentNode&&i.parentNode.removeChild(i)}},{key:"createElement",value:function(i,o){return(o=o||this.getDefaultDocument()).createElement(i)}},{key:"createHtmlDocument",value:function(){return document.implementation.createHTMLDocument("fakeTitle")}},{key:"getDefaultDocument",value:function(){return document}},{key:"isElementNode",value:function(i){return i.nodeType===Node.ELEMENT_NODE}},{key:"isShadowRoot",value:function(i){return i instanceof DocumentFragment}},{key:"getGlobalEventTarget",value:function(i,o){return"window"===o?window:"document"===o?i:"body"===o?i.body:null}},{key:"getBaseHref",value:function(i){var o=function VU(){return(mh=mh||document.querySelector("base"))?mh.getAttribute("href"):null}();return null==o?null:function jU(t){(Jm=Jm||document.createElement("a")).setAttribute("href",t);var n=Jm.pathname;return"/"===n.charAt(0)?n:"/".concat(n)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(o)}},{key:"resetBaseElement",value:function(){mh=null}},{key:"getUserAgent",value:function(){return window.navigator.userAgent}},{key:"getCookie",value:function(i){ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +return function CU(t,n){n=encodeURIComponent(n);var r,e=Me(t.split(";"));try{for(e.s();!(r=e.n()).done;){var i=r.value,o=i.indexOf("="),s=Xt(-1==o?[i,""]:[i.slice(0,o),i.slice(o+1)],2),u=s[0],l=s[1];if(u.trim()===n)return decodeURIComponent(l)}}catch(c){e.e(c)}finally{e.f()}return null}(document.cookie,i)}}],[{key:"makeCurrent",value:function(){!function NH(t){qm||(qm=t)}(new e)}}]),e}(LU),mh=null; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var D2=new bt("TRANSITION_ID");var UU=[{provide:HI,useFactory:function HU(t,n,e){return function(){e.get(Mu).donePromise.then(function(){for(var r=ta(),i=n.querySelectorAll('style[ng-transition="'.concat(t,'"]')),o=0;o1&&void 0!==arguments[1])||arguments[1],a=e.findTestabilityInTree(i,o);if(null==a)throw new Error("Could not find testability for element.");return a},rn.getAllAngularTestabilities=function(){return e.getAllTestabilities()},rn.getAllAngularRootElements=function(){return e.getAllRootElements()};rn.frameworkStabilizers||(rn.frameworkStabilizers=[]),rn.frameworkStabilizers.push(function(o){var a=rn.getAllAngularTestabilities(),s=a.length,u=!1,l=function(f){u=u||f,0==--s&&o(u)};a.forEach(function(c){c.whenStable(l)})})}},{key:"findTestabilityInTree",value:function(e,r,i){if(null==r)return null;var o=e.getTestability(r);return null!=o?o:i?ta().isShadowRoot(r)?this.findTestabilityInTree(e,r.host,!0):this.findTestabilityInTree(e,r.parentElement,!0):null}}],[{key:"init",value:function(){!function cH(t){Pb=t}(new t)}}]),t}(),md=function(){function t(){p(this,t)}return h(t,[{key:"build",value:function(){return new XMLHttpRequest}}]),t}(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */md.\u0275fac=function(n){return new(n||md)},md.\u0275prov=Xe({token:md,factory:md.\u0275fac}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var gh=new bt("EventManagerPlugins"),Is=function(){function t(n,e){var r=this;p(this,t),this._zone=e,this._eventNameToPlugin=new Map,n.forEach(function(i){return i.manager=r}),this._plugins=n.slice().reverse()}return h(t,[{key:"addEventListener",value:function(e,r,i){return this._findPluginFor(r).addEventListener(e,r,i)}},{key:"addGlobalEventListener",value:function(e,r,i){return this._findPluginFor(r).addGlobalEventListener(e,r,i)}},{key:"getZone",value:function(){return this._zone}},{key:"_findPluginFor",value:function(e){var r=this._eventNameToPlugin.get(e);if(r)return r;for(var i=this._plugins,o=0;o-1&&(o.splice(f,1),u+=c+".")}),u+=s,0!=o.length||0===s.length)return null;var l={};return l.domEventName=a,l.fullKey=u,l}},{key:"getEventFullKey",value:function(i){var o="",a=function e9(t){var n=t.key;if(null==n){if(null==(n=t.keyIdentifier))return"Unidentified";n.startsWith("U+")&&(n=String.fromCharCode(parseInt(n.substring(2),16)),3===t.location&&O2.hasOwnProperty(n)&&(n=O2[n]))}return QU[n]||n} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(i);return" "===(a=a.toLowerCase())?a="space":"."===a&&(a="dot"),N2.forEach(function(s){s!=a&&((0,JU[s])(i)&&(o+=s+"."))}),o+=a}},{key:"eventCallback",value:function(i,o,a){return function(s){e.getEventFullKey(s)===i&&a.runGuarded(function(){return o(s)})}}},{key:"_normalizeKey",value:function(i){return"esc"===i?"escape":i}}]),e}(eE);yd.\u0275fac=function(n){return new(n||yd)(Ne(cr))},yd.\u0275prov=Xe({token:yd,factory:yd.\u0275fac});var P2=[{provide:Ib,useValue:Jb},{provide:qI,useValue:function t9(){BU.makeCurrent(),qU.init()},multi:!0},{provide:cr,useFactory:function r9(){return function N3(t){D_=t}(document),document},deps:[]}],i9=(Um(s2,"browser",P2),[{provide:zC,useValue:"root"},{provide:Wp,useFactory:function n9(){return new Wp},deps:[]},{provide:gh,useClass:gd,multi:!0,deps:[cr,Qr,Ib]},{provide:gh,useClass:yd,multi:!0,deps:[cr]},{provide:Vu,useClass:Vu,deps:[Is,Ga,ud]},{provide:cb,useExisting:Vu},{provide:mc,useExisting:Ga},{provide:Ga,useClass:Ga,deps:[cr]},{provide:Pu,useClass:Pu,deps:[Qr]},{provide:Is,useClass:Is,deps:[gh,Qr]},{provide:FU,useClass:md,deps:[]}]),gc=function(){function t(n){if(p(this,t),n)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return h(t,null,[{key:"withServerTransition",value:function(e){return{ngModule:t,providers:[{provide:ud,useValue:e.appId},{provide:D2,useExisting:ud},UU]}}}]),t}();gc.\u0275fac=function(n){return new(n||gc)(Ne(gc,12))},gc.\u0275mod=on({type:gc,exports:[tt,Zl]}),gc.\u0275inj=Qt({providers:i9,imports:[tt,Zl]});var yh=function(){function t(n){p(this,t),this._doc=n,this._dom=ta()}return h(t,[{key:"addTag",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?this._getOrCreateElement(e,r):null}},{key:"addTags",value:function(e){var r=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?e.reduce(function(o,a){return a&&o.push(r._getOrCreateElement(a,i)),o},[]):[]}},{key:"getTag",value:function(e){return e&&this._doc.querySelector("meta[".concat(e,"]"))||null}},{key:"getTags",value:function(e){if(!e)return[];var r=this._doc.querySelectorAll("meta[".concat(e,"]"));return r?[].slice.call(r):[]}},{key:"updateTag",value:function(e,r){if(!e)return null;r=r||this._parseSelector(e);var i=this.getTag(r);return i?this._setMetaElementAttributes(e,i):this._getOrCreateElement(e,!0)}},{key:"removeTag",value:function(e){this.removeTagElement(this.getTag(e))}},{key:"removeTagElement",value:function(e){e&&this._dom.remove(e)}},{key:"_getOrCreateElement",value:function(e){var r=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!i){var o=this._parseSelector(e),a=this.getTags(o).filter(function(l){return r._containsAttributes(e,l)})[0];if(void 0!==a)return a}var s=this._dom.createElement("meta");this._setMetaElementAttributes(e,s);var u=this._doc.getElementsByTagName("head")[0];return u.appendChild(s),s}},{key:"_setMetaElementAttributes",value:function(e,r){var i=this;return Object.keys(e).forEach(function(o){return r.setAttribute(i._getMetaKeyMap(o),e[o])}),r}},{key:"_parseSelector",value:function(e){var r=e.name?"name":"property";return"".concat(r,'="').concat(e[r],'"')}},{key:"_containsAttributes",value:function(e,r){var i=this;return Object.keys(e).every(function(o){return r.getAttribute(i._getMetaKeyMap(o))===e[o]})}},{key:"_getMetaKeyMap",value:function(e){return a9[e]||e}}]),t}();yh.\u0275fac=function(n){return new(n||yh)(Ne(cr))},yh.\u0275prov=Xe({token:yh,factory:function(n){return n?new n: +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function o9(){return new yh(Ne(cr))}()},providedIn:"root"});var a9={httpEquiv:"http-equiv"}; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var _h=function(){function t(n){p(this,t),this._doc=n}return h(t,[{key:"getTitle",value:function(){return this._doc.title}},{key:"setTitle",value:function(e){this._doc.title=e||""}}]),t}();_h.\u0275fac=function(n){return new(n||_h)(Ne(cr))},_h.\u0275prov=Xe({token:_h,factory:function(n){return n?new n:function s9(){return new _h(Ne(cr))}()},providedIn:"root"}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +"undefined"!=typeof window&&window; +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var yc=function(){function t(){p(this,t),this.store={},this.onSerializeCallbacks={}}return h(t,[{key:"get",value:function(e,r){return void 0!==this.store[e]?this.store[e]:r}},{key:"set",value:function(e,r){this.store[e]=r}},{key:"remove",value:function(e){delete this.store[e]}},{key:"hasKey",value:function(e){return this.store.hasOwnProperty(e)}},{key:"onSerialize",value:function(e,r){this.onSerializeCallbacks[e]=r}},{key:"toJson",value:function(){for(var e in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(e))try{this.store[e]=this.onSerializeCallbacks[e]()}catch(r){console.warn("Exception in onSerialize callback: ",r)}return JSON.stringify(this.store)}}],[{key:"init",value:function(e){var r=new t;return r.store=e,r}}]),t}();yc.\u0275fac=function(n){return new(n||yc)},yc.\u0275prov=Xe({token:yc,factory:yc.\u0275fac});var Ch=h(function t(){p(this,t)});Ch.\u0275fac=function(n){return new(n||Ch)},Ch.\u0275mod=on({type:Ch}),Ch.\u0275inj=Qt({providers:[{provide:yc,useFactory:function d9(t,n){var e=t.getElementById(n+"-state"),r={};if(e&&e.textContent)try{r=JSON.parse(function f9(t){var n={"&a;":"&","&q;":'"',"&s;":"'","&l;":"<","&g;":">"};return t.replace(/&[^;]+;/g,function(e){return n[e]})}(e.textContent))}catch(i){console.warn("Exception while restoring TransferState for app "+n,i)}return yc.init(r)},deps:[cr,ud]}]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var p9={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0,doubletap:!0},oE=new bt("HammerGestureConfig"),L2=new bt("HammerLoader"),_d=function(){function t(){p(this,t),this.events=[],this.overrides={}}return h(t,[{key:"buildHammer",value:function(e){var r=new Hammer(e,this.options);for(var i in r.get("pinch").set({enable:!0}),r.get("rotate").set({enable:!0}),this.overrides)r.get(i).set(this.overrides[i]);return r}}]),t}();_d.\u0275fac=function(n){return new(n||_d)},_d.\u0275prov=Xe({token:_d,factory:_d.\u0275fac});var Cd=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,r))._config=i,s.console=o,s.loader=a,s._loaderPromise=null,s}return h(e,[{key:"supports",value:function(i){return!(!p9.hasOwnProperty(i.toLowerCase())&&!this.isCustomEvent(i)||!window.Hammer&&!this.loader)}},{key:"addEventListener",value:function(i,o,a){var s=this,u=this.manager.getZone();if(o=o.toLowerCase(),!window.Hammer&&this.loader){this._loaderPromise=this._loaderPromise||this.loader();var l=!1,c=function(){l=!0};return this._loaderPromise.then(function(){window.Hammer?l||(c=s.addEventListener(i,o,a)):c=function(){}}).catch(function(){c=function(){}}),function(){c()}}return u.runOutsideAngular(function(){var f=s._config.buildHammer(i),d=function(y){u.runGuarded(function(){a(y)})};return f.on(o,d),function(){f.off(o,d),"function"==typeof f.destroy&&f.destroy()}})}},{key:"isCustomEvent",value:function(i){return this._config.events.indexOf(i)>-1}}]),e}(eE);Cd.\u0275fac=function(n){return new(n||Cd)(Ne(cr),Ne(oE),Ne($l),Ne(L2,8))},Cd.\u0275prov=Xe({token:Cd,factory:Cd.\u0275fac});var bh=h(function t(){p(this,t)});bh.\u0275fac=function(n){return new(n||bh)},bh.\u0275mod=on({type:bh}),bh.\u0275inj=Qt({providers:[{provide:gh,useClass:Cd,multi:!0,deps:[cr,oE,$l,[new jp,L2]]},{provide:oE,useClass:_d,deps:[]}]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var ju=h(function t(){p(this,t)});ju.\u0275fac=function(n){return new(n||ju)},ju.\u0275prov=Xe({token:ju,factory:function(n){return n?new(n||ju):Ne(bd)},providedIn:"root"});var bd=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this))._doc=r,i}return h(e,[{key:"sanitize",value:function(i,o){if(null==o)return null;switch(i){case Gr.NONE:return o;case Gr.HTML:return Oa(o,"HTML")?po(o):GD(this._doc,String(o)).toString();case Gr.STYLE:return Oa(o,"Style")?po(o):o;case Gr.SCRIPT:if(Oa(o,"Script"))return po(o);throw new Error("unsafe value used in a script context");case Gr.URL:FD(o);return Oa(o,"URL")?po(o):qp(String(o));case Gr.RESOURCE_URL:if(Oa(o,"ResourceURL"))return po(o);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext ".concat(i," (see https://g.co/ng/security#xss)"))}}},{key:"bypassSecurityTrustHtml",value:function(i){return function KB(t){return new qB(t)}(i)}},{key:"bypassSecurityTrustStyle",value:function(i){return function ZB(t){return new GB(t)}(i)}},{key:"bypassSecurityTrustScript",value:function(i){return function XB(t){return new zB(t)}(i)}},{key:"bypassSecurityTrustUrl",value:function(i){return function YB(t){return new $B(t)}(i)}},{key:"bypassSecurityTrustResourceUrl",value:function(i){return function QB(t){return new WB(t)}(i)}}]),e}(ju);bd.\u0275fac=function(n){return new(n||bd)(Ne(cr))},bd.\u0275prov=Xe({token:bd,factory:function(n){var e=null;return e=n?new n:function h9(t){return new bd(t.get(cr))}(Ne(nr)),e},providedIn:"root"}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +new nd("13.3.3"),new bt("ErrorCollector") +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license Angular v13.3.3 + * (c) 2010-2022 Google LLC. https://angular.io/ + * License: MIT + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */;var v9=[{provide:Ou,useFactory:function(){return new Ou}}],m9=function(){function t(n){p(this,t);var e={useJit:!0,defaultEncapsulation:Go.Emulated,missingTranslation:Ab.Warning};this._defaultOptions=[e].concat(re(n))}return h(t,[{key:"createCompiler",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=g9(this._defaultOptions.concat(e)),i=nr.create([v9,{provide:i0,useFactory:function(){return new i0({useJit:r.useJit,jitDevMode:yH(),defaultEncapsulation:r.defaultEncapsulation,missingTranslation:r.missingTranslation,preserveWhitespaces:r.preserveWhitespaces})},deps:[]},r.providers]);return i.get(Ou)}}]),t}();function g9(t){return{useJit:tg(t.map(function(n){return n.useJit})),defaultEncapsulation:tg(t.map(function(n){return n.defaultEncapsulation})),providers:y9(t.map(function(n){return n.providers})),missingTranslation:tg(t.map(function(n){return n.missingTranslation})),preserveWhitespaces:tg(t.map(function(n){return n.preserveWhitespaces}))}}function tg(t){for(var n=t.length-1;n>=0;n--)if(void 0!==t[n])return t[n]}function y9(t){var n=[];return t.forEach(function(e){return e&&n.push.apply(n,re(e))}),n +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}var _9=Um(s2,"coreDynamic",[{provide:Hm,useValue:{},multi:!0},{provide:nH,useClass:m9,deps:[Hm]}]),_c=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"get",value:function(i){var o,a,s=new Promise(function(l,c){o=l,a=c}),u=new XMLHttpRequest;return u.open("GET",i,!0),u.responseType="text",u.onload=function(){var l=u.response||u.responseText,c=1223===u.status?204:u.status;0===c&&(c=l?200:0),200<=c&&c<=300?o(l):a("Failed to load ".concat(i))},u.onerror=function(){a("Failed to load ".concat(i))},u.send(),s}}]),e}(Ep); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */_c.\u0275fac=function(){var t;return function(e){return(t||(t=_r(_c)))(e||_c)}}(),_c.\u0275prov=Xe({token:_c,factory:_c.\u0275fac}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var C9=[P2,{provide:Hm,useValue:{providers:[{provide:Ep,useClass:_c,deps:[]}]},multi:!0},{provide:Ib,useValue:Jb}],E9=(new nd("13.3.3"),Um(_9,"browserDynamic",C9)); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function Eh(t,n,e,r){var a,i=arguments.length,o=i<3?n:null===r?r=Object.getOwnPropertyDescriptor(n,e):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,n,e,r);else for(var s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i<3?a(o):i>3?a(n,e,o):a(n,e))||o);return i>3&&o&&Object.defineProperty(n,e,o),o}function sE(t,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,n)}Object.create;Object.create;var k9=as(686),D9=as(514);function uE(t){return null!=t&&"false"!=="".concat(t)}var Ed=function(){function t(n,e){p(this,t),this.element=n,this.ref=e,this.close=new be,this.skipAll=new be,this.gotItLinkText="Got it",this.isLastElement=!1,this.zIndexValue=99999,this.isHidden=!0,this._appendToParent=!1,this._seen=!1,this._showOnce=!1}return h(t,[{key:"appendToParent",get:function(){return this._appendToParent},set:function(e){this._appendToParent=uE(e)}},{key:"seen",get:function(){return this._seen},set:function(e){this._seen=uE(e)}},{key:"showOnce",get:function(){return this._showOnce},set:function(e){this._showOnce=uE(e)}},{key:"fixedDimensions",set:function(e){if(e){var r;try{r=JSON.parse(e)}catch(i){r=e}this._fixedDimensions={top:r.top,right:r.right,bottom:r.bottom,left:r.left,position:r.position}}}},{key:"targetDimensions",set:function(e){var r;try{r=JSON.parse(e)}catch(i){r=e}this._targetDimensions={top:Math.floor(Number(r.top)),right:Math.floor(Number(r.right)),bottom:Math.floor(Number(r.bottom)),left:Math.floor(Number(r.left)),height:Math.floor(Number(r.height)),width:Math.floor(Number(r.width))}}},{key:"boxModelDimensions",set:function(e){this._boxModelDimensions=e}},{key:"ngOnChanges",value:function(){this._isInitialized&&(this.initializeTooltip(),this.positionTooltip())}},{key:"ngOnInit",value:function(){this.initializeTooltip(),this._isInitialized=!0}},{key:"initializeTooltip",value:function(){this.showContent=this.showOnce&&!this.seen,this.cssClassList=this.generateCssClassList(),this.look&&this.look.includes("faq")?(this.zIndexValue=99998,this.iconLook="size-2xl light faq"):this.iconLook="size-xs",this._fixedDimensions?(this.setDimensions(this._fixedDimensions),this._fixedDimensions.position?this.element.nativeElement.style.position=this._fixedDimensions.position:this.element.nativeElement.style.position="fixed"):this.element.nativeElement.style.position="absolute",this.zIndex&&(this.zIndexValue=this.zIndex)}},{key:"positionTooltip",value:function(){var e=this.element.nativeElement.getBoundingClientRect();this.tooltipDimensions={top:Math.floor(e.top),right:Math.floor(e.right),bottom:Math.floor(e.bottom),left:Math.floor(e.left),height:Math.floor(e.height),width:Math.floor(e.width)},this._fixedDimensions||this.appendToParent||this.look&&this.look.includes("faq")?(this.isHidden=!1,this.appendToParent&&(this.element.nativeElement.style.display="inline-block")):this.calculatePosition(),this._boxModelDimensions&&this.setDimensions(this._boxModelDimensions)}},{key:"ngAfterViewInit",value:function(){this.positionTooltip()}},{key:"toggleContent",value:function(e){this.showContent=!this.showContent,this.ref.detectChanges(),e&&e.stopPropagation()}},{key:"onTooltipClick",value:function(e){e.stopPropagation()}},{key:"calculatePosition",value:function(){var e=0,r=0;this.look&&(this.look.startsWith("up")&&(r+=this._targetDimensions.top-this.tooltipDimensions.bottom),this.look.startsWith("down")&&(r+=-this.tooltipDimensions.top+this._targetDimensions.bottom),this.look.startsWith("left")&&(e+=this._targetDimensions.left-this.tooltipDimensions.right),this.look.startsWith("right")&&(e+=this._targetDimensions.right-this.tooltipDimensions.left),this.look.includes("-right")&&(e+=this._targetDimensions.right-this.tooltipDimensions.right),this.look.includes("-left")&&(e+=this._targetDimensions.left-this.tooltipDimensions.left),this.look.includes("-up")&&(r+=this._targetDimensions.top-this.tooltipDimensions.top),this.look.includes("-down")&&(r+=this._targetDimensions.bottom-this.tooltipDimensions.top-this.tooltipDimensions.height),("right"===this.look||"left"===this.look)&&(r+=this._targetDimensions.bottom-this.tooltipDimensions.top-(this.tooltipDimensions.height+this._targetDimensions.height)/2),("up"===this.look||"down"===this.look)&&(e+=this._targetDimensions.left-this.tooltipDimensions.left+(this._targetDimensions.width-this.tooltipDimensions.width)/2),this.transform="translate3d("+e+"px, "+r+"px, 0)"),this.isHidden=!1}},{key:"setDimensions",value:function(e){for(var r=0,i=Object.keys(e);r1&&void 0!==arguments[1]&&arguments[1];return this}}]),e}(ci),A9=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,r,i)).scheduler=r,o.work=i,o.pending=!1,o}return h(e,[{key:"schedule",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(this.closed)return this;this.state=i;var a=this.id,s=this.scheduler;return null!=a&&(this.id=this.recycleAsyncId(s,a,o)),this.pending=!0,this.delay=o,this.id=this.id||this.requestAsyncId(s,this.id,o),this}},{key:"requestAsyncId",value:function(i,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return setInterval(i.flush.bind(i,this),a)}},{key:"recycleAsyncId",value:function(i,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==a&&this.delay===a&&!1===this.pending)return o;clearInterval(o)}},{key:"execute",value:function(i,o){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var a=this._execute(i,o);if(a)return a;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}},{key:"_execute",value:function(i,o){var a=!1,s=void 0;try{this.work(i)}catch(u){a=!0,s=!!u&&u||new Error(u)}if(a)return this.unsubscribe(),s}},{key:"_unsubscribe",value:function(){var i=this.id,o=this.scheduler,a=o.actions,s=a.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==s&&a.splice(s,1),null!=i&&(this.id=this.recycleAsyncId(o,i,null)),this.delay=null}}]),e}(I9),M9=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,r,i)).scheduler=r,o.work=i,o}return h(e,[{key:"schedule",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return o>0?We(oe(e.prototype),"schedule",this).call(this,i,o):(this.delay=o,this.state=i,this.scheduler.flush(this),this)}},{key:"execute",value:function(i,o){return o>0||this.closed?We(oe(e.prototype),"execute",this).call(this,i,o):this._execute(i,o)}},{key:"requestAsyncId",value:function(i,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return null!==a&&a>0||null===a&&this.delay>0?We(oe(e.prototype),"requestAsyncId",this).call(this,i,o,a):i.flush(this)}}]),e}(A9),cE=function(){function t(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.now;p(this,t),this.SchedulerAction=n,this.now=e}return h(t,[{key:"schedule",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2?arguments[2]:void 0;return new this.SchedulerAction(this,e).schedule(i,r)}}]),t}();cE.now=function(){return Date.now()};var H2,N9=function(t){k(e,t);var n=S(e);function e(r){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:cE.now;return p(this,e),(i=n.call(this,r,function(){return e.delegate&&e.delegate!==qe(i)?e.delegate.now():o()})).actions=[],i.active=!1,i.scheduled=void 0,i}return h(e,[{key:"schedule",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2?arguments[2]:void 0;return e.delegate&&e.delegate!==this?e.delegate.schedule(i,o,a):We(oe(e.prototype),"schedule",this).call(this,i,o,a)}},{key:"flush",value:function(i){var o=this.actions;if(this.active)o.push(i);else{var a;this.active=!0;do{if(a=i.execute(i.state,i.delay))break}while(i=o.shift());if(this.active=!1,a){for(;i=o.shift();)i.unsubscribe();throw a}}}}]),e}(cE),O9=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e)}(N9),R9=new O9(M9),F9=new ur(function(t){return t.complete()});function L9(t){return t?function B9(t){return new ur(function(n){return t.schedule(function(){return n.complete()})})}(t):F9}function H9(t){var n=t.error;t.subscriber.error(n)}!function(t){t.NEXT="N",t.ERROR="E",t.COMPLETE="C"}(H2||(H2={}));var Cc=function(){function t(n,e,r){p(this,t),this.kind=n,this.value=e,this.error=r,this.hasValue="N"===n}return h(t,[{key:"observe",value:function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}}},{key:"do",value:function(e,r,i){switch(this.kind){case"N":return e&&e(this.value);case"E":return r&&r(this.error);case"C":return i&&i()}}},{key:"accept",value:function(e,r,i){return e&&"function"==typeof e.next?this.observe(e):this.do(e,r,i)}},{key:"toObservable",value:function(){switch(this.kind){case"N":return function V9(){for(var t=arguments.length,n=new Array(t),e=0;e2&&void 0!==arguments[2]?arguments[2]:0;return p(this,e),(o=n.call(this,r)).scheduler=i,o.delay=a,o}return h(e,[{key:"scheduleMessage",value:function(i){this.destination.add(this.scheduler.schedule(e.dispatch,this.delay,new G9(i,this.destination)))}},{key:"_next",value:function(i){this.scheduleMessage(Cc.createNext(i))}},{key:"_error",value:function(i){this.scheduleMessage(Cc.createError(i)),this.unsubscribe()}},{key:"_complete",value:function(){this.scheduleMessage(Cc.createComplete()),this.unsubscribe()}}],[{key:"dispatch",value:function(i){var o=i.notification,a=i.destination;o.observe(a),this.unsubscribe()}}]),e}(bo),G9=h(function t(n,e){p(this,t),this.notification=n,this.destination=e}),z9=function(t){k(e,t);var n=S(e);function e(){var r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY,a=arguments.length>2?arguments[2]:void 0;return p(this,e),(r=n.call(this)).scheduler=a,r._events=[],r._infiniteTimeWindow=!1,r._bufferSize=i<1?1:i,r._windowTime=o<1?1:o,o===Number.POSITIVE_INFINITY?(r._infiniteTimeWindow=!0,r.next=r.nextInfiniteTimeWindow):r.next=r.nextTimeWindow,r}return h(e,[{key:"nextInfiniteTimeWindow",value:function(i){if(!this.isStopped){var o=this._events;o.push(i),o.length>this._bufferSize&&o.shift()}We(oe(e.prototype),"next",this).call(this,i)}},{key:"nextTimeWindow",value:function(i){this.isStopped||(this._events.push(new $9(this._getNow(),i)),this._trimBufferThenGetEvents()),We(oe(e.prototype),"next",this).call(this,i)}},{key:"_subscribe",value:function(i){var l,o=this._infiniteTimeWindow,a=o?this._events:this._trimBufferThenGetEvents(),s=this.scheduler,u=a.length;if(this.closed)throw new Nl;if(this.isStopped||this.hasError?l=ci.EMPTY:(this.observers.push(i),l=new g0(this,i)),s&&i.add(i=new q9(i,s)),o)for(var c=0;co&&(l=Math.max(l,u-o)),l>0&&s.splice(0,l),s}}]),e}(Ol),$9=h(function t(n,e){p(this,t),this.time=n,this.value=e});function U2(t,n){return"function"==typeof n?function(e){return e.pipe(U2(function(r,i){return Fv(t(r,i)).pipe(kp(function(o,a){return n(r,o,i,a)}))}))}:function(e){return e.lift(new W9(t))}}var fE,W9=function(){function t(n){p(this,t),this.project=n}return h(t,[{key:"call",value:function(e,r){return r.subscribe(new K9(e,this.project))}}]),t}(),K9=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this,r)).project=i,o.index=0,o}return h(e,[{key:"_next",value:function(i){var o,a=this.index++;try{o=this.project(i,a)}catch(s){return void this.destination.error(s)}this._innerSub(o)}},{key:"_innerSub",value:function(i){var o=this.innerSubscription;o&&o.unsubscribe();var a=new k0(this),s=this.destination;s.add(a),this.innerSubscription=S0(i,a),this.innerSubscription!==a&&s.add(this.innerSubscription)}},{key:"_complete",value:function(){var i=this.innerSubscription;(!i||i.closed)&&We(oe(e.prototype),"_complete",this).call(this),this.unsubscribe()}},{key:"_unsubscribe",value:function(){this.innerSubscription=void 0}},{key:"notifyComplete",value:function(){this.innerSubscription=void 0,this.isStopped&&We(oe(e.prototype),"_complete",this).call(this)}},{key:"notifyNext",value:function(i){this.destination.next(i)}}]),e}(D0),rg={schedule:function(n,e){var r=setTimeout(n,e);return function(){return clearTimeout(r)}},scheduleBeforeRender:function(n){if("undefined"==typeof window)return rg.schedule(n,0);if(void 0===window.requestAnimationFrame){return rg.schedule(n,16)}var r=window.requestAnimationFrame(n);return function(){return window.cancelAnimationFrame(r)}}}; +/** + * @license Angular v13.3.3 + * (c) 2010-2022 Google LLC. https://angular.io/ + * License: MIT + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function rq(t,n,e){var r=e;return function X9(t){return!!t&&t.nodeType===Node.ELEMENT_NODE}(t)&&n.some(function(i,o){return!("*"===i||!function Q9(t,n){if(!fE){var e=Element.prototype;fE=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}return t.nodeType===Node.ELEMENT_NODE&&fE.call(t,n)}(t,i))&&(r=o,!0)}),r +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */}var oq=function(){function t(n,e){p(this,t),this.componentFactory=e.get(xs).resolveComponentFactory(n)}return h(t,[{key:"create",value:function(e){return new aq(this.componentFactory,e)}}]),t}(),aq=function(){function t(n,e){p(this,t),this.componentFactory=n,this.injector=e,this.eventEmitters=new z9(1),this.events=this.eventEmitters.pipe(U2(function(r){return A0.apply(void 0,re(r))})),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(function(r){return r.propName})),this.ngZone=this.injector.get(Qr),this.elementZone="undefined"==typeof Zone?null:this.ngZone.run(function(){return Zone.current})}return h(t,[{key:"connect",value:function(e){var r=this;this.runInZone(function(){if(null!==r.scheduledDestroyFn)return r.scheduledDestroyFn(),void(r.scheduledDestroyFn=null);null===r.componentRef&&r.initializeComponent(e)})}},{key:"disconnect",value:function(){var e=this;this.runInZone(function(){null===e.componentRef||null!==e.scheduledDestroyFn||(e.scheduledDestroyFn=rg.schedule(function(){null!==e.componentRef&&(e.componentRef.destroy(),e.componentRef=null,e.viewChangeDetectorRef=null)},10))})}},{key:"getInputValue",value:function(e){var r=this;return this.runInZone(function(){return null===r.componentRef?r.initialInputValues.get(e):r.componentRef.instance[e]})}},{key:"setInputValue",value:function(e,r){var i=this;this.runInZone(function(){null!==i.componentRef?function J9(t,n){return t===n||t!=t&&n!=n}(r,i.getInputValue(e))&&(void 0!==r||!i.unchangedInputs.has(e))||(i.recordInputChange(e,r),i.unchangedInputs.delete(e),i.hasInputChanges=!0,i.componentRef.instance[e]=r,i.scheduleDetectChanges()):i.initialInputValues.set(e,r)})}},{key:"initializeComponent",value:function(e){var r=nr.create({providers:[],parent:this.injector}),i= +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function nq(t,n){var e=t.childNodes,r=n.map(function(){return[]}),i=-1;n.some(function(l,c){return"*"===l&&(i=c,!0)});for(var o=0,a=e.length;o1&&void 0!==arguments[1]?arguments[1]:null,i=r;if(!i){var o=this.resolver.resolveComponentFactory(e);i="".concat(o.selector,"-element")}var a=customElements.get(i);if(!a){var s=uq(e,{injector:this.injector});s instanceof Function&&customElements.define(i,s)}}}]),t}();wd.ctorParameters=function(){return[{type:nr},{type:xs}]},wd=Eh([B5(),sE("design:paramtypes",[nr,xs])],wd);var dE=function(t){k(e,t);var n=S(e);function e(r){var i;return p(this,e),(i=n.call(this))._value=r,i}return h(e,[{key:"value",get:function(){return this.getValue()}},{key:"_subscribe",value:function(i){var o=We(oe(e.prototype),"_subscribe",this).call(this,i);return o&&!o.closed&&i.next(this._value),o}},{key:"getValue",value:function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Nl;return this._value}},{key:"next",value:function(i){We(oe(e.prototype),"next",this).call(this,this._value=i)}}]),e}(Ol);function ig(t,n){return new ur(function(e){var r=t.length;if(0!==r)for(var i=new Array(r),o=0,a=0,s=function(c){var f=Fv(t[c]),d=!1;e.add(f.subscribe({next:function(y){d||(d=!0,a++),i[c]=y},error:function(y){return e.error(y)},complete:function(){(++o===r||!d)&&(a===r&&e.next(n?n.reduce(function(y,b,x){return y[b]=i[x],y},{}):i),e.complete())}}))},u=0;ut?{max:{max:t,actual:n.value}}:null}}function gq(t){return Hu(t.value)?{required:!0}:null}function yq(t){return!0===t.value?null:{required:!0}}function _q(t){return Hu(t.value)||hq.test(t.value)?null:{email:!0}}function Cq(t){return function(n){return Hu(n.value)||!q2(n.value)?null:n.value.lengtht?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}}function Eq(t){return t?("string"==typeof t?(e="","^"!==t.charAt(0)&&(e+="^"),e+=t,"$"!==t.charAt(t.length-1)&&(e+="$"),n=new RegExp(e)):(e=t.toString(),n=t),function(r){if(Hu(r.value))return null;var i=r.value;return n.test(i)?null:{pattern:{requiredPattern:e,actualValue:i}}}):pE;var n,e}function pE(t){return null}function G2(t){return null!=t}function z2(t){var n=Dm(t)?Fv(t):t;return VS(n),n}function $2(t){var n={};return t.forEach(function(e){n=null!=e?Object.assign(Object.assign({},n),e):n}),0===Object.keys(n).length?null:n}function W2(t,n){return n.map(function(e){return e(t)})}function K2(t){return t.map(function(n){return function wq(t){return!t.validate}(n)?n:function(e){return n.validate(e)}})}function hE(t){return null!=t?function xq(t){if(!t)return null;var n=t.filter(G2);return 0==n.length?null:function(e){return $2(W2(e,n))}}(K2(t)):null}function kq(t){if(!t)return null;var n=t.filter(G2);return 0==n.length?null:function(e){return function lq(){for(var t=arguments.length,n=new Array(t),e=0;e0&&void 0!==arguments[0]?arguments[0]:void 0;this.control&&this.control.reset(e)}},{key:"hasError",value:function(e,r){return!!this.control&&this.control.hasError(e,r)}},{key:"getError",value:function(e,r){return this.control?this.control.getError(e,r):null}}]),t}(),qu=function(t){k(e,t);var n=S(e);function e(){var r;return p(this,e),(r=n.apply(this,arguments))._parent=null,r.name=null,r.valueAccessor=null,r}return h(e)}(eA),Bi=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"formDirective",get:function(){return null}},{key:"path",get:function(){return null}}]),e}(eA),tA=function(){function t(n){p(this,t),this._cd=n}return h(t,[{key:"is",value:function(e){var r,i,o;return"submitted"===e?!!(null===(r=this._cd)||void 0===r?void 0:r.submitted):!!(null===(o=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===o?void 0:o[e])}}]),t}(),za=function(t){k(e,t);var n=S(e);function e(r){return p(this,e),n.call(this,r)}return h(e)}(tA); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */za.\u0275fac=function(n){return new(n||za)(W(qu,2))},za.\u0275dir=Fe({type:za,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,e){2&n&&zr("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))},features:[Rt]});var bc=function(t){k(e,t);var n=S(e);function e(r){return p(this,e),n.call(this,r)}return h(e)}(tA);bc.\u0275fac=function(n){return new(n||bc)(W(Bi,10))},bc.\u0275dir=Fe({type:bc,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,e){2&n&&zr("ng-untouched",e.is("untouched"))("ng-touched",e.is("touched"))("ng-pristine",e.is("pristine"))("ng-dirty",e.is("dirty"))("ng-valid",e.is("valid"))("ng-invalid",e.is("invalid"))("ng-pending",e.is("pending"))("ng-submitted",e.is("submitted"))},features:[Rt]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function sg(t,n){return[].concat(re(n.path),[t])}function wh(t,n){_E(t,n),n.valueAccessor.writeValue(t.value),function Oq(t,n){n.valueAccessor.registerOnChange(function(e){t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&rA(t,n)})}(t,n),function Rq(t,n){var e=function(i,o){n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(function(){t._unregisterOnChange(e)})}(t,n),function Pq(t,n){n.valueAccessor.registerOnTouched(function(){t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&rA(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function Nq(t,n){if(n.valueAccessor.setDisabledState){var e=function(i){n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(function(){t._unregisterOnDisabledChange(e)})}}(t,n)}function ug(t,n){!(arguments.length>2&&void 0!==arguments[2])||arguments[2];var r=function(){};n.valueAccessor&&(n.valueAccessor.registerOnChange(r),n.valueAccessor.registerOnTouched(r)),cg(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(function(){}))}function lg(t,n){t.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function _E(t,n){var e=X2(t);null!==n.validator?t.setValidators(Z2(e,n.validator)):"function"==typeof e&&t.setValidators([e]);var r=Y2(t);null!==n.asyncValidator?t.setAsyncValidators(Z2(r,n.asyncValidator)):"function"==typeof r&&t.setAsyncValidators([r]);var i=function(){return t.updateValueAndValidity()};lg(n._rawValidators,i),lg(n._rawAsyncValidators,i)}function cg(t,n){var e=!1;if(null!==t){if(null!==n.validator){var r=X2(t);if(Array.isArray(r)&&r.length>0){var i=r.filter(function(u){return u!==n.validator});i.length!==r.length&&(e=!0,t.setValidators(i))}}if(null!==n.asyncValidator){var o=Y2(t);if(Array.isArray(o)&&o.length>0){var a=o.filter(function(u){return u!==n.asyncValidator});a.length!==o.length&&(e=!0,t.setAsyncValidators(a))}}}var s=function(){};return lg(n._rawValidators,s),lg(n._rawAsyncValidators,s),e}function rA(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function iA(t,n){_E(t,n)}function CE(t,n){if(!t.hasOwnProperty("model"))return!1;var e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}function aA(t,n){t._syncPendingControls(),n.forEach(function(e){var r=e.control;"submit"===r.updateOn&&r._pendingChange&&(e.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}function bE(t,n){if(!n)return null;Array.isArray(n);var e=void 0,r=void 0,i=void 0;return n.forEach(function(o){o.constructor===oa?e=o:function Bq(t){return Object.getPrototypeOf(t.constructor)===Mo}(o)?r=o:i=o}),i||r||e||null}function EE(t,n){var e=t.indexOf(n);e>-1&&t.splice(e,1)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var xh="VALID",fg="INVALID",kd="PENDING",kh="DISABLED";function xE(t){return(dg(t)?t.validators:t)||null}function sA(t){return Array.isArray(t)?hE(t):t||null}function kE(t,n){return(dg(n)?n.asyncValidators:t)||null}function uA(t){return Array.isArray(t)?vE(t):t||null}function dg(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var DE=function(n){return n instanceof TE},pg=function(n){return n instanceof hg},lA=function(n){return n instanceof pA};function cA(t){return DE(t)?t.value:t.getRawValue()}function fA(t,n){var e=pg(t),r=t.controls;if(!(e?Object.keys(r):r).length)throw new Mt(1e3,"");if(!r[n])throw new Mt(1001,"")}function dA(t,n){pg(t);t._forEachChild(function(r,i){if(void 0===n[i])throw new Mt(1002,"")})}var SE=function(){function t(n,e){p(this,t),this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=function(){},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=n,this._rawAsyncValidators=e,this._composedValidatorFn=sA(this._rawValidators),this._composedAsyncValidatorFn=uA(this._rawAsyncValidators)}return h(t,[{key:"validator",get:function(){return this._composedValidatorFn},set:function(e){this._rawValidators=this._composedValidatorFn=e}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn},set:function(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}},{key:"parent",get:function(){return this._parent}},{key:"valid",get:function(){return this.status===xh}},{key:"invalid",get:function(){return this.status===fg}},{key:"pending",get:function(){return this.status==kd}},{key:"disabled",get:function(){return this.status===kh}},{key:"enabled",get:function(){return this.status!==kh}},{key:"dirty",get:function(){return!this.pristine}},{key:"untouched",get:function(){return!this.touched}},{key:"updateOn",get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}},{key:"setValidators",value:function(e){this._rawValidators=e,this._composedValidatorFn=sA(e)}},{key:"setAsyncValidators",value:function(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=uA(e)}},{key:"addValidators",value:function(e){this.setValidators(Q2(e,this._rawValidators))}},{key:"addAsyncValidators",value:function(e){this.setAsyncValidators(Q2(e,this._rawAsyncValidators))}},{key:"removeValidators",value:function(e){this.setValidators(J2(e,this._rawValidators))}},{key:"removeAsyncValidators",value:function(e){this.setAsyncValidators(J2(e,this._rawAsyncValidators))}},{key:"hasValidator",value:function(e){return og(this._rawValidators,e)}},{key:"hasAsyncValidator",value:function(e){return og(this._rawAsyncValidators,e)}},{key:"clearValidators",value:function(){this.validator=null}},{key:"clearAsyncValidators",value:function(){this.asyncValidator=null}},{key:"markAsTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}},{key:"markAllAsTouched",value:function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(e){return e.markAllAsTouched()})}},{key:"markAsUntouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(r){r.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"markAsDirty",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}},{key:"markAsPristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(r){r.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"markAsPending",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.status=kd,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}},{key:"disable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._parentMarkedDirty(e.onlySelf);this.status=kh,this.errors=null,this._forEachChild(function(i){i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:r})),this._onDisabledChange.forEach(function(i){return i(!0)})}},{key:"enable",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._parentMarkedDirty(e.onlySelf);this.status=xh,this._forEachChild(function(i){i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:r})),this._onDisabledChange.forEach(function(i){return i(!1)})}},{key:"_updateAncestors",value:function(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}},{key:"setParent",value:function(e){this._parent=e}},{key:"updateValueAndValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===xh||this.status===kd)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}},{key:"_updateTreeValidity",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{emitEvent:!0};this._forEachChild(function(r){return r._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}},{key:"_setInitialStatus",value:function(){this.status=this._allControlsDisabled()?kh:xh}},{key:"_runValidator",value:function(){return this.validator?this.validator(this):null}},{key:"_runAsyncValidator",value:function(e){var r=this;if(this.asyncValidator){this.status=kd,this._hasOwnPendingAsyncValidator=!0;var i=z2(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(function(o){r._hasOwnPendingAsyncValidator=!1,r.setErrors(o,{emitEvent:e})})}}},{key:"_cancelExistingSubscription",value:function(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}},{key:"setErrors",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.errors=e,this._updateControlsErrors(!1!==r.emitEvent)}},{key:"get",value:function(e){return function Vq(t,n,e){if(null==n||(Array.isArray(n)||(n=n.split(e)),Array.isArray(n)&&0===n.length))return null;var r=t;return n.forEach(function(i){r=pg(r)?r.controls.hasOwnProperty(i)?r.controls[i]:null:lA(r)&&r.at(i)||null}),r}(this,e,".")}},{key:"getError",value:function(e,r){var i=r?this.get(r):this;return i&&i.errors?i.errors[e]:null}},{key:"hasError",value:function(e,r){return!!this.getError(e,r)}},{key:"root",get:function(){for(var e=this;e._parent;)e=e._parent;return e}},{key:"_updateControlsErrors",value:function(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}},{key:"_initObservables",value:function(){this.valueChanges=new be,this.statusChanges=new be}},{key:"_calculateStatus",value:function(){return this._allControlsDisabled()?kh:this.errors?fg:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(kd)?kd:this._anyControlsHaveStatus(fg)?fg:xh}},{key:"_anyControlsHaveStatus",value:function(e){return this._anyControls(function(r){return r.status===e})}},{key:"_anyControlsDirty",value:function(){return this._anyControls(function(e){return e.dirty})}},{key:"_anyControlsTouched",value:function(){return this._anyControls(function(e){return e.touched})}},{key:"_updatePristine",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}},{key:"_updateTouched",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}},{key:"_isBoxedValue",value:function(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}},{key:"_registerOnCollectionChange",value:function(e){this._onCollectionChange=e}},{key:"_setUpdateStrategy",value:function(e){dg(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}},{key:"_parentMarkedDirty",value:function(e){var r=this._parent&&this._parent.dirty;return!e&&!!r&&!this._parent._anyControlsDirty()}}]),t}(),TE=function(t){k(e,t);var n=S(e);function e(){var r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0;return p(this,e),(r=n.call(this,xE(o),kE(a,o))).defaultValue=null,r._onChange=[],r._pendingChange=!1,r._applyFormState(i),r._setUpdateStrategy(o),r._initObservables(),r.updateValueAndValidity({onlySelf:!0,emitEvent:!!r.asyncValidator}),dg(o)&&o.initialValueIsDefault&&(r._isBoxedValue(i)?r.defaultValue=i.value:r.defaultValue=i),r}return h(e,[{key:"setValue",value:function(i){var o=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.value=this._pendingValue=i,this._onChange.length&&!1!==a.emitModelToViewChange&&this._onChange.forEach(function(s){return s(o.value,!1!==a.emitViewToModelChange)}),this.updateValueAndValidity(a)}},{key:"patchValue",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.setValue(i,o)}},{key:"reset",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.defaultValue,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._applyFormState(i),this.markAsPristine(o),this.markAsUntouched(o),this.setValue(this.value,o),this._pendingChange=!1}},{key:"_updateValue",value:function(){}},{key:"_anyControls",value:function(i){return!1}},{key:"_allControlsDisabled",value:function(){return this.disabled}},{key:"registerOnChange",value:function(i){this._onChange.push(i)}},{key:"_unregisterOnChange",value:function(i){EE(this._onChange,i)}},{key:"registerOnDisabledChange",value:function(i){this._onDisabledChange.push(i)}},{key:"_unregisterOnDisabledChange",value:function(i){EE(this._onDisabledChange,i)}},{key:"_forEachChild",value:function(i){}},{key:"_syncPendingControls",value:function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)}},{key:"_applyFormState",value:function(i){this._isBoxedValue(i)?(this.value=this._pendingValue=i.value,i.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=i}}]),e}(SE),hg=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,xE(i),kE(o,i))).controls=r,a._initObservables(),a._setUpdateStrategy(i),a._setUpControls(),a.updateValueAndValidity({onlySelf:!0,emitEvent:!!a.asyncValidator}),a}return h(e,[{key:"registerControl",value:function(i,o){return this.controls[i]?this.controls[i]:(this.controls[i]=o,o.setParent(this),o._registerOnCollectionChange(this._onCollectionChange),o)}},{key:"addControl",value:function(i,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.registerControl(i,o),this.updateValueAndValidity({emitEvent:a.emitEvent}),this._onCollectionChange()}},{key:"removeControl",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),delete this.controls[i],this.updateValueAndValidity({emitEvent:o.emitEvent}),this._onCollectionChange()}},{key:"setControl",value:function(i,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),delete this.controls[i],o&&this.registerControl(i,o),this.updateValueAndValidity({emitEvent:a.emitEvent}),this._onCollectionChange()}},{key:"contains",value:function(i){return this.controls.hasOwnProperty(i)&&this.controls[i].enabled}},{key:"setValue",value:function(i){var o=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dA(this,i),Object.keys(i).forEach(function(s){fA(o,s),o.controls[s].setValue(i[s],{onlySelf:!0,emitEvent:a.emitEvent})}),this.updateValueAndValidity(a)}},{key:"patchValue",value:function(i){var o=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=i&&(Object.keys(i).forEach(function(s){o.controls[s]&&o.controls[s].patchValue(i[s],{onlySelf:!0,emitEvent:a.emitEvent})}),this.updateValueAndValidity(a))}},{key:"reset",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(a,s){a.reset(i[s],{onlySelf:!0,emitEvent:o.emitEvent})}),this._updatePristine(o),this._updateTouched(o),this.updateValueAndValidity(o)}},{key:"getRawValue",value:function(){return this._reduceChildren({},function(i,o,a){return i[a]=cA(o),i})}},{key:"_syncPendingControls",value:function(){var i=this._reduceChildren(!1,function(o,a){return!!a._syncPendingControls()||o});return i&&this.updateValueAndValidity({onlySelf:!0}),i}},{key:"_forEachChild",value:function(i){var o=this;Object.keys(this.controls).forEach(function(a){var s=o.controls[a];s&&i(s,a)})}},{key:"_setUpControls",value:function(){var i=this;this._forEachChild(function(o){o.setParent(i),o._registerOnCollectionChange(i._onCollectionChange)})}},{key:"_updateValue",value:function(){this.value=this._reduceValue()}},{key:"_anyControls",value:function(i){for(var o=0,a=Object.keys(this.controls);o0||this.disabled}}]),e}(SE),pA=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this,xE(i),kE(o,i))).controls=r,a._initObservables(),a._setUpdateStrategy(i),a._setUpControls(),a.updateValueAndValidity({onlySelf:!0,emitEvent:!!a.asyncValidator}),a}return h(e,[{key:"at",value:function(i){return this.controls[i]}},{key:"push",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls.push(i),this._registerControl(i),this.updateValueAndValidity({emitEvent:o.emitEvent}),this._onCollectionChange()}},{key:"insert",value:function(i,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls.splice(i,0,o),this._registerControl(o),this.updateValueAndValidity({emitEvent:a.emitEvent})}},{key:"removeAt",value:function(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:o.emitEvent})}},{key:"setControl",value:function(i,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),this.controls.splice(i,1),o&&(this.controls.splice(i,0,o),this._registerControl(o)),this.updateValueAndValidity({emitEvent:a.emitEvent}),this._onCollectionChange()}},{key:"length",get:function(){return this.controls.length}},{key:"setValue",value:function(i){var o=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};dA(this,i),i.forEach(function(s,u){fA(o,u),o.at(u).setValue(s,{onlySelf:!0,emitEvent:a.emitEvent})}),this.updateValueAndValidity(a)}},{key:"patchValue",value:function(i){var o=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=i&&(i.forEach(function(s,u){o.at(u)&&o.at(u).patchValue(s,{onlySelf:!0,emitEvent:a.emitEvent})}),this.updateValueAndValidity(a))}},{key:"reset",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(a,s){a.reset(i[s],{onlySelf:!0,emitEvent:o.emitEvent})}),this._updatePristine(o),this._updateTouched(o),this.updateValueAndValidity(o)}},{key:"getRawValue",value:function(){return this.controls.map(function(i){return cA(i)})}},{key:"clear",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.controls.length<1||(this._forEachChild(function(o){return o._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity({emitEvent:i.emitEvent}))}},{key:"_syncPendingControls",value:function(){var i=this.controls.reduce(function(o,a){return!!a._syncPendingControls()||o},!1);return i&&this.updateValueAndValidity({onlySelf:!0}),i}},{key:"_forEachChild",value:function(i){this.controls.forEach(function(o,a){i(o,a)})}},{key:"_updateValue",value:function(){var i=this;this.value=this.controls.filter(function(o){return o.enabled||i.disabled}).map(function(o){return o.value})}},{key:"_anyControls",value:function(i){return this.controls.some(function(o){return o.enabled&&i(o)})}},{key:"_setUpControls",value:function(){var i=this;this._forEachChild(function(o){return i._registerControl(o)})}},{key:"_allControlsDisabled",value:function(){var o,i=Me(this.controls);try{for(i.s();!(o=i.n()).done;){if(o.value.enabled)return!1}}catch(s){i.e(s)}finally{i.f()}return this.controls.length>0||this.disabled}},{key:"_registerControl",value:function(i){i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange)}}]),e}(SE),jq={provide:Bi,useExisting:_n(function(){return Ms})},Dh=Promise.resolve(null),Ms=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this)).submitted=!1,o._directives=new Set,o.ngSubmit=new be,o.form=new hg({},hE(r),vE(i)),o}return h(e,[{key:"ngAfterViewInit",value:function(){this._setUpdateStrategy()}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"controls",get:function(){return this.form.controls}},{key:"addControl",value:function(i){var o=this;Dh.then(function(){var a=o._findContainer(i.path);i.control=a.registerControl(i.name,i.control),wh(i.control,i),i.control.updateValueAndValidity({emitEvent:!1}),o._directives.add(i)})}},{key:"getControl",value:function(i){return this.form.get(i.path)}},{key:"removeControl",value:function(i){var o=this;Dh.then(function(){var a=o._findContainer(i.path);a&&a.removeControl(i.name),o._directives.delete(i)})}},{key:"addFormGroup",value:function(i){var o=this;Dh.then(function(){var a=o._findContainer(i.path),s=new hg({});iA(s,i),a.registerControl(i.name,s),s.updateValueAndValidity({emitEvent:!1})})}},{key:"removeFormGroup",value:function(i){var o=this;Dh.then(function(){var a=o._findContainer(i.path);a&&a.removeControl(i.name)})}},{key:"getFormGroup",value:function(i){return this.form.get(i.path)}},{key:"updateModel",value:function(i,o){var a=this;Dh.then(function(){a.form.get(i.path).setValue(o)})}},{key:"setValue",value:function(i){this.control.setValue(i)}},{key:"onSubmit",value:function(i){return this.submitted=!0,aA(this.form,this._directives),this.ngSubmit.emit(i),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;this.form.reset(i),this.submitted=!1}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}},{key:"_findContainer",value:function(i){return i.pop(),i.length?this.form.get(i):this.form}}]),e}(Bi); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Ms.\u0275fac=function(n){return new(n||Ms)(W(_i,10),W(Uu,10))},Ms.\u0275dir=Fe({type:Ms,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(n,e){1&n&&Le("submit",function(i){return e.onSubmit(i)})("reset",function(){return e.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[En([jq]),Rt]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Ec=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"ngOnInit",value:function(){this._checkParentType(),this.formDirective.addFormGroup(this)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeFormGroup(this)}},{key:"control",get:function(){return this.formDirective.getFormGroup(this)}},{key:"path",get:function(){return sg(null==this.name?this.name:this.name.toString(),this._parent)}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"_checkParentType",value:function(){}}]),e}(Bi);Ec.\u0275fac=function(){var t;return function(e){return(t||(t=_r(Ec)))(e||Ec)}}(),Ec.\u0275dir=Fe({type:Ec,features:[Rt]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Hq={provide:Bi,useExisting:_n(function(){return Gu})},Gu=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this))._parent=r,a._setValidators(i),a._setAsyncValidators(o),a}return h(e,[{key:"_checkParentType",value:function(){!(this._parent instanceof e)&&this._parent}}]),e}(Ec);Gu.\u0275fac=function(n){return new(n||Gu)(W(Bi,5),W(_i,10),W(Uu,10))},Gu.\u0275dir=Fe({type:Gu,selectors:[["","ngModelGroup",""]],inputs:{name:["ngModelGroup","name"]},exportAs:["ngModelGroup"],features:[En([Hq]),Rt]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Uq={provide:qu,useExisting:_n(function(){return aa})},hA=Promise.resolve(null),aa=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this))._changeDetectorRef=s,u.control=new TE,u._registered=!1,u.update=new be,u._parent=r,u._setValidators(i),u._setAsyncValidators(o),u.valueAccessor=bE(qe(u),a),u}return h(e,[{key:"ngOnChanges",value:function(i){if(this._checkForErrors(),!this._registered||"name"in i){if(this._registered&&(this._checkName(),this.formDirective)){var o=i.name.previousValue;this.formDirective.removeControl({name:o,path:this._getPath(o)})}this._setUpControl()}"isDisabled"in i&&this._updateDisabled(i),CE(i,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"path",get:function(){return this._getPath(this.name)}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"viewToModelUpdate",value:function(i){this.viewModel=i,this.update.emit(i)}},{key:"_setUpControl",value:function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}},{key:"_isStandalone",value:function(){return!this._parent||!(!this.options||!this.options.standalone)}},{key:"_setUpStandalone",value:function(){wh(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}},{key:"_checkForErrors",value:function(){this._isStandalone()||this._checkParentType(),this._checkName()}},{key:"_checkParentType",value:function(){}},{key:"_checkName",value:function(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}},{key:"_updateValue",value:function(i){var o=this;hA.then(function(){var a;o.control.setValue(i,{emitViewToModelChange:!1}),null===(a=o._changeDetectorRef)||void 0===a||a.markForCheck()})}},{key:"_updateDisabled",value:function(i){var o=this,a=i.isDisabled.currentValue,s=""===a||a&&"false"!==a;hA.then(function(){var u;s&&!o.control.disabled?o.control.disable():!s&&o.control.disabled&&o.control.enable(),null===(u=o._changeDetectorRef)||void 0===u||u.markForCheck()})}},{key:"_getPath",value:function(i){return this._parent?sg(i,this._parent):[i]}}]),e}(qu);aa.\u0275fac=function(n){return new(n||aa)(W(Bi,9),W(_i,10),W(Uu,10),W(ia,10),W(fd,8))},aa.\u0275dir=Fe({type:aa,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[En([Uq]),Rt,gr]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var wc=h(function t(){p(this,t)});wc.\u0275fac=function(n){return new(n||wc)},wc.\u0275dir=Fe({type:wc,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var qq={provide:ia,useExisting:_n(function(){return Ns}),multi:!0},Ns=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"writeValue",value:function(i){var o=null==i?"":i;this.setProperty("value",o)}},{key:"registerOnChange",value:function(i){this.onChange=function(o){i(""==o?null:parseFloat(o))}}}]),e}(Mo);Ns.\u0275fac=function(){var t;return function(e){return(t||(t=_r(Ns)))(e||Ns)}}(),Ns.\u0275dir=Fe({type:Ns,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(n,e){1&n&&Le("input",function(i){return e.onChange(i.target.value)})("blur",function(){return e.onTouched()})},features:[En([qq]),Rt]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Gq={provide:ia,useExisting:_n(function(){return $u}),multi:!0};var zu=h(function t(){p(this,t)});zu.\u0275fac=function(n){return new(n||zu)},zu.\u0275mod=on({type:zu}),zu.\u0275inj=Qt({});var Dd=function(){function t(){p(this,t),this._accessors=[]}return h(t,[{key:"add",value:function(e,r){this._accessors.push([e,r])}},{key:"remove",value:function(e){for(var r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===e)return void this._accessors.splice(r,1)}},{key:"select",value:function(e){var r=this;this._accessors.forEach(function(i){r._isSameGroup(i,e)&&i[1]!==e&&i[1].fireUncheck(e.value)})}},{key:"_isSameGroup",value:function(e,r){return!!e[0].control&&(e[0]._parent===r._control._parent&&e[1].name===r.name)}}]),t}();Dd.\u0275fac=function(n){return new(n||Dd)},Dd.\u0275prov=Xe({token:Dd,factory:Dd.\u0275fac,providedIn:zu});var $u=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this,r,i))._registry=o,s._injector=a,s.onChange=function(){},s}return h(e,[{key:"ngOnInit",value:function(){this._control=this._injector.get(qu),this._checkName(),this._registry.add(this._control,this)}},{key:"ngOnDestroy",value:function(){this._registry.remove(this)}},{key:"writeValue",value:function(i){this._state=i===this.value,this.setProperty("checked",this._state)}},{key:"registerOnChange",value:function(i){var o=this;this._fn=i,this.onChange=function(){i(o.value),o._registry.select(o)}}},{key:"fireUncheck",value:function(i){this.writeValue(i)}},{key:"_checkName",value:function(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}}]),e}(Mo);$u.\u0275fac=function(n){return new(n||$u)(W(mi),W(qn),W(Dd),W(nr))},$u.\u0275dir=Fe({type:$u,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(n,e){1&n&&Le("change",function(){return e.onChange()})("blur",function(){return e.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[En([Gq]),Rt]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var zq={provide:ia,useExisting:_n(function(){return Os}),multi:!0},Os=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"writeValue",value:function(i){this.setProperty("value",parseFloat(i))}},{key:"registerOnChange",value:function(i){this.onChange=function(o){i(""==o?null:parseFloat(o))}}}]),e}(Mo);Os.\u0275fac=function(){var t;return function(e){return(t||(t=_r(Os)))(e||Os)}}(),Os.\u0275dir=Fe({type:Os,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(n,e){1&n&&Le("change",function(i){return e.onChange(i.target.value)})("input",function(i){return e.onChange(i.target.value)})("blur",function(){return e.onTouched()})},features:[En([zq]),Rt]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var IE=new bt("NgModelWithFormControlWarning"),$q={provide:qu,useExisting:_n(function(){return Ps})},Ps=function(t){k(e,t);var n=S(e);function e(r,i,o,a){var s;return p(this,e),(s=n.call(this))._ngModelWarningConfig=a,s.update=new be,s._ngModelWarningSent=!1,s._setValidators(r),s._setAsyncValidators(i),s.valueAccessor=bE(qe(s),o),s}return h(e,[{key:"isDisabled",set:function(i){}},{key:"ngOnChanges",value:function(i){if(this._isControlChanged(i)){var o=i.form.previousValue;o&&ug(o,this,!1),wh(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}CE(i,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.form&&ug(this.form,this,!1)}},{key:"path",get:function(){return[]}},{key:"control",get:function(){return this.form}},{key:"viewToModelUpdate",value:function(i){this.viewModel=i,this.update.emit(i)}},{key:"_isControlChanged",value:function(i){return i.hasOwnProperty("form")}}]),e}(qu);Ps._ngModelWarningSentOnce=!1,Ps.\u0275fac=function(n){return new(n||Ps)(W(_i,10),W(Uu,10),W(ia,10),W(IE,8))},Ps.\u0275dir=Fe({type:Ps,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[En([$q]),Rt,gr]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Wq={provide:Bi,useExisting:_n(function(){return Rs})},Rs=function(t){k(e,t);var n=S(e);function e(r,i){var o;return p(this,e),(o=n.call(this)).validators=r,o.asyncValidators=i,o.submitted=!1,o._onCollectionChange=function(){return o._updateDomValue()},o.directives=[],o.form=null,o.ngSubmit=new be,o._setValidators(r),o._setAsyncValidators(i),o}return h(e,[{key:"ngOnChanges",value:function(i){this._checkFormPresent(),i.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}},{key:"ngOnDestroy",value:function(){this.form&&(cg(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(function(){}))}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"addControl",value:function(i){var o=this.form.get(i.path);return wh(o,i),o.updateValueAndValidity({emitEvent:!1}),this.directives.push(i),o}},{key:"getControl",value:function(i){return this.form.get(i.path)}},{key:"removeControl",value:function(i){ug(i.control||null,i,!1),EE(this.directives,i)}},{key:"addFormGroup",value:function(i){this._setUpFormContainer(i)}},{key:"removeFormGroup",value:function(i){this._cleanUpFormContainer(i)}},{key:"getFormGroup",value:function(i){return this.form.get(i.path)}},{key:"addFormArray",value:function(i){this._setUpFormContainer(i)}},{key:"removeFormArray",value:function(i){this._cleanUpFormContainer(i)}},{key:"getFormArray",value:function(i){return this.form.get(i.path)}},{key:"updateModel",value:function(i,o){this.form.get(i.path).setValue(o)}},{key:"onSubmit",value:function(i){return this.submitted=!0,aA(this.form,this.directives),this.ngSubmit.emit(i),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;this.form.reset(i),this.submitted=!1}},{key:"_updateDomValue",value:function(){var i=this;this.directives.forEach(function(o){var a=o.control,s=i.form.get(o.path);a!==s&&(ug(a||null,o),DE(s)&&(wh(s,o),o.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}},{key:"_setUpFormContainer",value:function(i){var o=this.form.get(i.path);iA(o,i),o.updateValueAndValidity({emitEvent:!1})}},{key:"_cleanUpFormContainer",value:function(i){if(this.form){var o=this.form.get(i.path);if(o){var a=function Fq(t,n){return cg(t,n)}(o,i);a&&o.updateValueAndValidity({emitEvent:!1})}}}},{key:"_updateRegistrations",value:function(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){})}},{key:"_updateValidators",value:function(){_E(this.form,this),this._oldForm&&cg(this._oldForm,this)}},{key:"_checkFormPresent",value:function(){this.form}}]),e}(Bi);Rs.\u0275fac=function(n){return new(n||Rs)(W(_i,10),W(Uu,10))},Rs.\u0275dir=Fe({type:Rs,selectors:[["","formGroup",""]],hostBindings:function(n,e){1&n&&Le("submit",function(i){return e.onSubmit(i)})("reset",function(){return e.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[En([Wq]),Rt,gr]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Kq={provide:Bi,useExisting:_n(function(){return Fs})},Fs=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this))._parent=r,a._setValidators(i),a._setAsyncValidators(o),a}return h(e,[{key:"_checkParentType",value:function(){vA(this._parent)}}]),e}(Ec);Fs.\u0275fac=function(n){return new(n||Fs)(W(Bi,13),W(_i,10),W(Uu,10))},Fs.\u0275dir=Fe({type:Fs,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[En([Kq]),Rt]});var Zq={provide:Bi,useExisting:_n(function(){return Ls})},Ls=function(t){k(e,t);var n=S(e);function e(r,i,o){var a;return p(this,e),(a=n.call(this))._parent=r,a._setValidators(i),a._setAsyncValidators(o),a}return h(e,[{key:"ngOnInit",value:function(){this._checkParentType(),this.formDirective.addFormArray(this)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeFormArray(this)}},{key:"control",get:function(){return this.formDirective.getFormArray(this)}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"path",get:function(){return sg(null==this.name?this.name:this.name.toString(),this._parent)}},{key:"_checkParentType",value:function(){vA(this._parent)}}]),e}(Bi);function vA(t){return!(t instanceof Fs||t instanceof Rs||t instanceof Ls)} +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Ls.\u0275fac=function(n){return new(n||Ls)(W(Bi,13),W(_i,10),W(Uu,10))},Ls.\u0275dir=Fe({type:Ls,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[En([Zq]),Rt]});var Xq={provide:qu,useExisting:_n(function(){return Bs})},Bs=function(t){k(e,t);var n=S(e);function e(r,i,o,a,s){var u;return p(this,e),(u=n.call(this))._ngModelWarningConfig=s,u._added=!1,u.update=new be,u._ngModelWarningSent=!1,u._parent=r,u._setValidators(i),u._setAsyncValidators(o),u.valueAccessor=bE(qe(u),a),u}return h(e,[{key:"isDisabled",set:function(i){}},{key:"ngOnChanges",value:function(i){this._added||this._setUpControl(),CE(i,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"viewToModelUpdate",value:function(i){this.viewModel=i,this.update.emit(i)}},{key:"path",get:function(){return sg(null==this.name?this.name:this.name.toString(),this._parent)}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"_checkParentType",value:function(){}},{key:"_setUpControl",value:function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}]),e}(qu);Bs._ngModelWarningSentOnce=!1,Bs.\u0275fac=function(n){return new(n||Bs)(W(Bi,13),W(_i,10),W(Uu,10),W(ia,10),W(IE,8))},Bs.\u0275dir=Fe({type:Bs,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[En([Xq]),Rt,gr]}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Yq={provide:ia,useExisting:_n(function(){return $a}),multi:!0};function mA(t,n){return null==t?"".concat(n):(n&&"object"==typeof n&&(n="Object"),"".concat(t,": ").concat(n).slice(0,50))}var $a=function(t){k(e,t);var n=S(e);function e(){var r;return p(this,e),(r=n.apply(this,arguments))._optionMap=new Map,r._idCounter=0,r._compareWith=Object.is,r}return h(e,[{key:"compareWith",set:function(i){this._compareWith=i}},{key:"writeValue",value:function(i){this.value=i;var a=mA(this._getOptionId(i),i);this.setProperty("value",a)}},{key:"registerOnChange",value:function(i){var o=this;this.onChange=function(a){o.value=o._getOptionValue(a),i(o.value)}}},{key:"_registerOption",value:function(){return(this._idCounter++).toString()}},{key:"_getOptionId",value:function(i){for(var o=0,a=Array.from(this._optionMap.keys());o-1)}}else a=function(l,c){l._setSelected(!1)};this._optionMap.forEach(a)}},{key:"registerOnChange",value:function(i){var o=this;this.onChange=function(a){var s=[],u=a.selectedOptions;if(void 0!==u)for(var l=u,c=0;c1&&void 0!==arguments[1]?arguments[1]:null,i=this._reduceControls(e),o=null,a=null,s=void 0;return null!=r&&(c7(r)?(o=null!=r.validators?r.validators:null,a=null!=r.asyncValidators?r.asyncValidators:null,s=null!=r.updateOn?r.updateOn:void 0):(o=null!=r.validator?r.validator:null,a=null!=r.asyncValidator?r.asyncValidator:null)),new hg(i,{asyncValidators:a,updateOn:s,validators:o})}},{key:"control",value:function(e,r,i){return new TE(e,r,i)}},{key:"array",value:function(e,r,i){var o=this,a=e.map(function(s){return o._createControl(s)});return new pA(a,r,i)}},{key:"_reduceControls",value:function(e){var r=this,i={};return Object.keys(e).forEach(function(o){i[o]=r._createControl(e[o])}),i}},{key:"_createControl",value:function(e){if(DE(e)||pg(e)||lA(e))return e;if(Array.isArray(e)){var r=e[0],i=e.length>1?e[1]:null,o=e.length>2?e[2]:null;return this.control(r,i,o)}return this.control(e)}}]),t}();Sh.\u0275fac=function(n){return new(n||Sh)},Sh.\u0275prov=Xe({token:Sh,factory:Sh.\u0275fac,providedIn:Sd}); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +new nd("13.3.3"); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */var AE=function(n,e){return(AE=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])})(n,e)};function CA(t,n){function e(){this.constructor=t}AE(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}var Vi=function(){return Vi=Object.assign||function(e){for(var r,i=1,o=arguments.length;i0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(a)throw a.error}}return o}function ME(){for(var t=[],n=0;n2&&zs("box");var r=Nd(e);return new Xu(n,_g(r),r.name,!0,r.equals)},shallowBox:function(n,e){return arguments.length>2&&zs("shallowBox"),Ft.box(n,{name:e,deep:!1})},array:function(n,e){arguments.length>2&&zs("array");var r=Nd(e);return new Ws(n,_g(r),r.name)},shallowArray:function(n,e){return arguments.length>2&&zs("shallowArray"),Ft.array(n,{name:e,deep:!1})},map:function(n,e){arguments.length>2&&zs("map");var r=Nd(e);return new Tg(n,_g(r),r.name)},shallowMap:function(n,e){return arguments.length>2&&zs("shallowMap"),Ft.map(n,{name:e,deep:!1})},set:function(n,e){arguments.length>2&&zs("set");var r=Nd(e);return new Ag(n,_g(r),r.name)},object:function(n,e,r){"string"==typeof arguments[1]&&zs("object");var i=Nd(r);return XA({},n,e,i)},shallowObject:function(n,e){return"string"==typeof arguments[1]&&zs("shallowObject"),Ft.object(n,{},{name:e,deep:!1})},ref:IA,shallow:T7,deep:VE,struct:I7},Ft=function A7(t,n,e){if("string"==typeof arguments[1])return VE.apply(null,arguments);if(Sg(t))return t;var r=Id(t)?Ft.object(t,n,e):Array.isArray(t)?Ft.array(t,n):Ad(t)?Ft.map(t,n):Ih(t)?Ft.set(t,n):t;if(r!==t)return r;dt(!1)};function zs(t){dt("Expected one or two arguments to observable."+t+". Did you accidentally try to use observable."+t+" as decorator?")}Object.keys(AA).forEach(function(t){return Ft[t]=AA[t]});var Gt,fa,Cg=DA(!1,function(t,n,e,r,i){var o=e.get,a=e.set,s=i[0]||{};!function CG(t,n,e){var r=ZE(t);e.name=r.name+"."+n,e.context=t,r.values[n]=new Yu(e),Object.defineProperty(t,n,function EG(t){return uM[t]||(uM[t]={configurable:le.computedConfigurable,enumerable:!1,get:function(){return lM(this).read(this,t)},set:function(e){lM(this).write(this,t,e)}})}(n))}(t,n,Vi({get:o,set:a},s))}),M7=Cg({equals:Md.structural}),Er=function(n,e,r){if("string"==typeof e||null!==n&&"object"==typeof n&&1===arguments.length)return Cg.apply(null,arguments);var i="object"==typeof e?e:{};return i.get=n,i.set="function"==typeof e?e:i.set,i.name=i.name||n.name||"",new Yu(i)};Er.struct=M7,function(t){t[t.NOT_TRACKING=-1]="NOT_TRACKING",t[t.UP_TO_DATE=0]="UP_TO_DATE",t[t.POSSIBLY_STALE=1]="POSSIBLY_STALE",t[t.STALE=2]="STALE"}(Gt||(Gt={})),function(t){t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK"}(fa||(fa={}));var bg=function t(n){this.cause=n};function Oh(t){return t instanceof bg}function jE(t){switch(t.dependenciesState){case Gt.UP_TO_DATE:return!1;case Gt.NOT_TRACKING:case Gt.STALE:return!0;case Gt.POSSIBLY_STALE:for(var n=Od(),e=t.observing,r=e.length,i=0;i0;le.computationDepth>0&&n&&dt(!1),!le.allowStateChanges&&(n||"strict"===le.enforceActions)&&dt(!1)}function MA(t,n,e){var r=OA(!0);RA(t),t.newObserving=new Array(t.observing.length+100),t.unboundDepsCount=0,t.runId=++le.runId;var o,i=le.trackingDerivation;if(le.trackingDerivation=t,!0===le.disableErrorBoundaries)o=n.call(e);else try{o=n.call(e)}catch(a){o=new bg(a)}return le.trackingDerivation=i,function N7(t){for(var n=t.observing,e=t.observing=t.newObserving,r=Gt.UP_TO_DATE,i=0,o=t.unboundDepsCount,a=0;ar&&(r=s.dependenciesState)}for(e.length=i,t.newObserving=null,o=n.length;o--;){0===(s=n[o]).diffValue&&VA(s,t),s.diffValue=0}for(;i--;){var s;1===(s=e[i]).diffValue&&(s.diffValue=0,j7(s,t))}r!==Gt.UP_TO_DATE&&(t.dependenciesState=r,t.onBecomeStale())}(t),t.observing.length,PA(r),o}function HE(t){var n=t.observing;t.observing=[];for(var e=n.length;e--;)VA(n[e],t);t.dependenciesState=Gt.NOT_TRACKING}function NA(t){var n=Od(),e=t();return Ku(n),e}function Od(){var t=le.trackingDerivation;return le.trackingDerivation=null,t}function Ku(t){le.trackingDerivation=t}function OA(t){var n=le.allowStateReads;return le.allowStateReads=t,n}function PA(t){le.allowStateReads=t}function RA(t){if(t.dependenciesState!==Gt.UP_TO_DATE){t.dependenciesState=Gt.UP_TO_DATE;for(var n=t.observing,e=n.length;e--;)n[e].lowestObserverState=Gt.UP_TO_DATE}}var wg=0,O7=1;function Zu(t,n){var e=function(){return FA(t,n,this,arguments)};return e.isMobxAction=!0,e}function FA(t,n,e,r){var i=function P7(t,n,e){var r=ti()&&!!t,i=0;if(r){i=Date.now();var o=e&&e.length||0,a=new Array(o);if(o>0)for(var s=0;s0&&!t.__mobxGlobals&&(xg=!1),t.__mobxGlobals&&t.__mobxGlobals.version!==(new Ph).version&&(xg=!1),xg?t.__mobxGlobals?(t.__mobxInstanceCount+=1,t.__mobxGlobals.UNCHANGED||(t.__mobxGlobals.UNCHANGED={}),t.__mobxGlobals):(t.__mobxInstanceCount=1,t.__mobxGlobals=new Ph):(setTimeout(function(){BA||dt("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")},1),new Ph)}();function j7(t,n){var e=t.observers.length;e&&(t.observersIndexes[n.__mapid]=e),t.observers[e]=n,t.lowestObserverState>n.dependenciesState&&(t.lowestObserverState=n.dependenciesState)}function VA(t,n){if(1===t.observers.length)t.observers.length=0,jA(t);else{var e=t.observers,r=t.observersIndexes,i=e.pop();if(i!==n){var o=r[n.__mapid]||0;o?r[i.__mapid]=o:delete r[i.__mapid],e[o]=i}delete r[n.__mapid]}}function jA(t){!1===t.isPendingUnobservation&&(t.isPendingUnobservation=!0,le.pendingUnobservations.push(t))}function da(){le.inBatch++}function pa(){if(0==--le.inBatch){zA();for(var t=le.pendingUnobservations,n=0;n0&&jA(t),!1)}function UA(t,n){if(console.log("[mobx.trace] '"+t.name+"' is invalidated due to a change in: '"+n.name+"'"),t.isTracing===fa.BREAK){var e=[];qA(function eG(t,n){return YA(ya(t,n))}(t),e,1),new Function("debugger;\n/*\nTracing '"+t.name+"'\n\nYou are entering this break point because derivation '"+t.name+"' is being traced and '"+n.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(t instanceof Yu?t.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+e.join("\n")+"\n*/\n ")()}}function qA(t,n,e){n.length>=1e3?n.push("(and many more)"):(n.push(""+new Array(e).join("\t")+t.name),t.dependencies&&t.dependencies.forEach(function(r){return qA(r,n,e+1)}))}var kg=function(){function t(n,e,r,i){void 0===n&&(n="Reaction@"+ji()),void 0===i&&(i=!1),this.name=n,this.onInvalidate=e,this.errorHandler=r,this.requiresObservable=i,this.observing=[],this.newObserving=[],this.dependenciesState=Gt.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+ji(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=fa.NONE}return t.prototype.onBecomeStale=function(){this.schedule()},t.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,le.pendingReactions.push(this),zA())},t.prototype.isScheduled=function(){return this._isScheduled},t.prototype.runReaction=function(){if(!this.isDisposed){if(da(),this._isScheduled=!1,jE(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending&&ti()&&Ic({name:this.name,type:"scheduled-reaction"})}catch(n){this.reportExceptionInDerivation(n)}}pa()}},t.prototype.track=function(n){da();var r,e=ti();e&&(r=Date.now(),ha({name:this.name,type:"reaction"})),this._isRunning=!0;var i=MA(this,n,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&HE(this),Oh(i)&&this.reportExceptionInDerivation(i.cause),e&&va({time:Date.now()-r}),pa()},t.prototype.reportExceptionInDerivation=function(n){var e=this;if(this.errorHandler)this.errorHandler(n,this);else{if(le.disableErrorBoundaries)throw n;var r="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";le.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(r,n),ti()&&Ic({type:"error",name:this.name,message:r,error:""+n}),le.globalReactionErrorHandlers.forEach(function(i){return i(n,e)})}},t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(da(),HE(this),pa()))},t.prototype.getDisposer=function(){var n=this.dispose.bind(this);return n.$mobx=this,n},t.prototype.toString=function(){return"Reaction["+this.name+"]"},t.prototype.trace=function(n){void 0===n&&(n=!1),function lG(){for(var t=[],n=0;n0||le.isRunningReactions||GE(G7)}function G7(){le.isRunningReactions=!0;for(var t=le.pendingReactions,n=0;t.length>0;){100==++n&&(console.error("Reaction doesn't converge to a stable state after 100 iterations. Probably there is a cycle in the reactive function: "+t[0]),t.splice(0));for(var e=t.splice(0),r=0,i=e.length;r",n):2===arguments.length&&"function"==typeof e?Zu(n,e):1===arguments.length&&"string"==typeof n?$A(n):!0!==i?$A(e).apply(null,arguments):void(n[e]=Zu(n.name||e,r.value))};function zE(t,n,e){Sc(t,n,Zu(n,e.bind(t)))}function Rh(t,n){void 0===n&&(n=NE);var i,e=n&&n.name||t.name||"Autorun@"+ji();if(!n.scheduler&&!n.delay)i=new kg(e,function(){this.track(s)},n.onError,n.requiresObservable);else{var o=WA(n),a=!1;i=new kg(e,function(){a||(a=!0,o(function(){a=!1,i.isDisposed||i.track(s)}))},n.onError,n.requiresObservable)}function s(){t(i)}return i.schedule(),i.getDisposer()}Tt.bound=function X7(t,n,e,r){return!0===r?(zE(t,n,e.value),null):e?{configurable:!0,enumerable:!1,get:function(){return zE(this,n,e.value||e.initializer.call(this)),this[n]},set:K7}:{enumerable:!1,configurable:!0,set:function(o){zE(this,n,o)},get:function(){}}};var Y7=function(n){return n()};function WA(t){return t.scheduler?t.scheduler:t.delay?function(n){return setTimeout(n,t.delay)}:Y7}function Rd(t,n,e){void 0===e&&(e=NE),"boolean"==typeof e&&(e={fireImmediately:e});var l,r=e.name||"Reaction@"+ji(),i=Tt(r,e.onError?function Q7(t,n){return function(){try{return n.apply(this,arguments)}catch(e){t.call(this,e)}}}(e.onError,n):n),o=!e.scheduler&&!e.delay,a=WA(e),s=!0,u=!1,c=e.compareStructural?Md.structural:e.equals||Md.default,f=new kg(r,function(){s||o?d():u||(u=!0,a(d))},e.onError,e.requiresObservable);function d(){if(u=!1,!f.isDisposed){var v=!1;f.track(function(){var y=t(f);v=s||!c(l,y),l=y}),s&&e.fireImmediately&&i(l,f),!s&&!0===v&&i(l,f),s&&(s=!1)}}return f.schedule(),f.getDisposer()}function KA(t,n,e){return ZA("onBecomeUnobserved",t,n,e)}function ZA(t,n,e,r){var i="function"==typeof r?ya(n,e):ya(n),o="function"==typeof r?r:e,a=i[t];return"function"!=typeof a?dt(!1):(i[t]=function(){a.call(this),o.call(this)},function(){i[t]=a})}function XA(t,n,e,r){var o=(r=Nd(r)).defaultDecorator||(!1===r.deep?IA:VE);Tc(t),ZE(t,r.name,o.enhancer),da();try{for(var i in n){var a=Object.getOwnPropertyDescriptor(n,i),u=(e&&i in e?e[i]:a.get?Cg:o)(t,i,a,!0);u&&Object.defineProperty(t,i,u)}}finally{pa()}return t}function YA(t){var n={name:t.name};return t.observing&&t.observing.length>0&&(n.dependencies=function p7(t){var n=[];return t.forEach(function(e){-1===n.indexOf(e)&&n.push(e)}),n}(t.observing).map(YA)),n}function tM(t,n){if(null==t)return!1;if(void 0!==n){if(Ji(t)){var e=t.$mobx;return e.values&&!!e.values[n]}return!1}return Ji(t)||!!t.$mobx||BE(t)||Dg(t)||Pd(t)}function Sg(t){return 1!==arguments.length&&dt(!1),tM(t)}function cG(t){switch(t.length){case 0:return le.trackingDerivation;case 1:return ya(t[0]);case 2:return ya(t[0],t[1])}}function $s(t,n){void 0===n&&(n=void 0),da();try{return t.apply(n)}finally{pa()}}function Ya(t){return void 0!==t.interceptors&&t.interceptors.length>0}function Lh(t,n){var e=t.interceptors||(t.interceptors=[]);return e.push(n),OE(function(){var r=e.indexOf(n);-1!==r&&e.splice(r,1)})}function Qa(t,n){var e=Od();try{var r=t.interceptors;if(r)for(var i=0,o=r.length;i0}function Bh(t,n){var e=t.changeListeners||(t.changeListeners=[]);return e.push(n),OE(function(){var r=e.indexOf(n);-1!==r&&e.splice(r,1)})}function ga(t,n){var e=Od(),r=t.changeListeners;if(r){for(var i=0,o=(r=r.slice()).length;i0?n.map(this.dehancer):n},t.prototype.intercept=function(n){return Lh(this,n)},t.prototype.observe=function(n,e){return void 0===e&&(e=!1),e&&n({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),Bh(this,n)},t.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},t.prototype.setArrayLength=function(n){if("number"!=typeof n||n<0)throw new Error("[mobx.array] Out of range: "+n);var e=this.values.length;if(n!==e)if(n>e){for(var r=new Array(n-e),i=0;i0&&n+e+1>$E&&KE(n+e+1)},t.prototype.spliceWithArray=function(n,e,r){var i=this;Eg(this.atom);var o=this.values.length;if(void 0===n?n=0:n>o?n=o:n<0&&(n=Math.max(0,o+n)),e=1===arguments.length?o-n:null==e?0:Math.max(0,Math.min(e,o-n)),void 0===r&&(r=vg),Ya(this)){var a=Qa(this,{object:this.array,type:"splice",index:n,removedCount:e,added:r});if(!a)return vg;e=a.removedCount,r=a.added}var s=(r=0===r.length?r:r.map(function(l){return i.enhancer(l,void 0)})).length-e;this.updateArrayLength(o,s);var u=this.spliceItemsIntoValues(n,e,r);return(0!==e||0!==r.length)&&this.notifyArraySplice(n,r,u),this.dehanceValues(u)},t.prototype.spliceItemsIntoValues=function(n,e,r){var i;if(r.length<1e4)return(i=this.values).splice.apply(i,ME([n,e],r));var o=this.values.slice(n,n+e);return this.values=this.values.slice(0,n).concat(r,this.values.slice(n+e)),o},t.prototype.notifyArrayChildUpdate=function(n,e,r){var i=!this.owned&&ti(),o=ma(this),a=o||i?{object:this.array,type:"update",index:n,newValue:e,oldValue:r}:null;i&&ha(Vi({},a,{name:this.atom.name})),this.atom.reportChanged(),o&&ga(this,a),i&&va()},t.prototype.notifyArraySplice=function(n,e,r){var i=!this.owned&&ti(),o=ma(this),a=o||i?{object:this.array,type:"splice",index:n,removed:r,added:e,removedCount:r.length,addedCount:e.length}:null;i&&ha(Vi({},a,{name:this.atom.name})),this.atom.reportChanged(),o&&ga(this,a),i&&va()},t}(),Ws=function(t){function n(e,r,i,o){void 0===i&&(i="ObservableArray@"+ji()),void 0===o&&(o=!1);var a=t.call(this)||this,s=new rM(i,r,a,o);if(Th(a,"$mobx",s),e&&e.length){var u=UE(!0);a.spliceWithArray(0,0,e),qE(u)}return pG&&Object.defineProperty(s.array,"0",vG),a}return CA(n,t),n.prototype.intercept=function(e){return this.$mobx.intercept(e)},n.prototype.observe=function(e,r){return void 0===r&&(r=!1),this.$mobx.observe(e,r)},n.prototype.clear=function(){return this.splice(0)},n.prototype.concat=function(){for(var e=[],r=0;r-1&&(this.splice(r,1),!0)},n.prototype.move=function(e,r){function i(s){if(s<0)throw new Error("[mobx.array] Index out of bounds: "+s+" is negative");var u=this.$mobx.values.length;if(s>=u)throw new Error("[mobx.array] Index out of bounds: "+s+" is not smaller than "+u)}if(i.call(this,e),i.call(this,r),e!==r){var a,o=this.$mobx.values;a=e0&&void 0!==arguments[0]?arguments[0]:{};p(this,t),this.options=e,this.actionMapping={mouse:{click:null!==(a=null===(o=null===(i=null===(r=this.options)||void 0===r?void 0:r.actionMapping)||void 0===i?void 0:i.mouse)||void 0===o?void 0:o.click)&&void 0!==a?a:Bd.mouse.click,dblClick:null!==(c=null===(l=null===(u=null===(s=this.options)||void 0===s?void 0:s.actionMapping)||void 0===u?void 0:u.mouse)||void 0===l?void 0:l.dblClick)&&void 0!==c?c:Bd.mouse.dblClick,contextMenu:null!==(y=null===(v=null===(d=null===(f=this.options)||void 0===f?void 0:f.actionMapping)||void 0===d?void 0:d.mouse)||void 0===v?void 0:v.contextMenu)&&void 0!==y?y:Bd.mouse.contextMenu,expanderClick:null!==(N=null===(O=null===(x=null===(b=this.options)||void 0===b?void 0:b.actionMapping)||void 0===x?void 0:x.mouse)||void 0===O?void 0:O.expanderClick)&&void 0!==N?N:Bd.mouse.expanderClick,checkboxClick:null!==(Te=null===(pe=null===(ne=null===(z=this.options)||void 0===z?void 0:z.actionMapping)||void 0===ne?void 0:ne.mouse)||void 0===pe?void 0:pe.checkboxClick)&&void 0!==Te?Te:Bd.mouse.checkboxClick,drop:null!==(an=null===(It=null===(mt=null===(Oe=this.options)||void 0===Oe?void 0:Oe.actionMapping)||void 0===mt?void 0:mt.mouse)||void 0===It?void 0:It.drop)&&void 0!==an?an:Bd.mouse.drop,dragStart:null!==(Gn=null===(Fn=null===(yt=null===(xr=this.options)||void 0===xr?void 0:xr.actionMapping)||void 0===yt?void 0:yt.mouse)||void 0===Fn?void 0:Fn.dragStart)&&void 0!==Gn?Gn:void 0,drag:null!==(Kr=null===(to=null===(Lr=null===(ir=this.options)||void 0===ir?void 0:ir.actionMapping)||void 0===Lr?void 0:Lr.mouse)||void 0===to?void 0:to.drag)&&void 0!==Kr?Kr:void 0,dragEnd:null!==(sn=null===(mo=null===(Zr=null===(wi=this.options)||void 0===wi?void 0:wi.actionMapping)||void 0===Zr?void 0:Zr.mouse)||void 0===mo?void 0:mo.dragEnd)&&void 0!==sn?sn:void 0,dragOver:null!==(Cl=null===(rs=null===(ns=null===(wa=this.options)||void 0===wa?void 0:wa.actionMapping)||void 0===ns?void 0:ns.mouse)||void 0===rs?void 0:rs.dragOver)&&void 0!==Cl?Cl:void 0,dragLeave:null!==(El=null===(bl=null===(os=null===(is=this.options)||void 0===is?void 0:is.actionMapping)||void 0===os?void 0:os.mouse)||void 0===bl?void 0:bl.dragLeave)&&void 0!==El?El:void 0,dragEnter:null!==(ii=null===(kr=null===(Kt=null===(ou=this.options)||void 0===ou?void 0:ou.actionMapping)||void 0===Kt?void 0:Kt.mouse)||void 0===kr?void 0:kr.dragEnter)&&void 0!==ii?ii:void 0,mouseOver:null!==(Uh=null===(xi=null===(Yn=null===(au=this.options)||void 0===au?void 0:au.actionMapping)||void 0===Yn?void 0:Yn.mouse)||void 0===xi?void 0:xi.mouseOver)&&void 0!==Uh?Uh:void 0,mouseOut:null!==(qh=null===(su=null===(Xd=null===(Zd=this.options)||void 0===Zd?void 0:Zd.actionMapping)||void 0===Xd?void 0:Xd.mouse)||void 0===su?void 0:su.mouseOut)&&void 0!==qh?qh:void 0},keys:(n={},Pn(n,wr_RIGHT,Xn.DRILL_DOWN),Pn(n,wr_LEFT,Xn.DRILL_UP),Pn(n,wr_DOWN,Xn.NEXT_NODE),Pn(n,wr_UP,Xn.PREVIOUS_NODE),Pn(n,wr_SPACE,Xn.TOGGLE_ACTIVE),Pn(n,wr_ENTER,Xn.TOGGLE_ACTIVE),n)},(null===(Yd=null===(Xc=this.options)||void 0===Xc?void 0:Xc.actionMapping)||void 0===Yd?void 0:Yd.keys)&&(this.actionMapping.keys=Object.assign(Object.assign({},this.actionMapping.keys),this.options.actionMapping.keys)),e.rtl&&(this.actionMapping.keys[wr_RIGHT]=(null===(Gh=e.actionMapping)||void 0===Gh?void 0:Gh.keys[wr_RIGHT])||Xn.DRILL_UP,this.actionMapping.keys[wr_LEFT]=(null===(rw=e.actionMapping)||void 0===rw?void 0:rw.keys[wr_LEFT])||Xn.DRILL_DOWN)}return h(t,[{key:"hasChildrenField",get:function(){return this.options.hasChildrenField||"hasChildren"}},{key:"childrenField",get:function(){return this.options.childrenField||"children"}},{key:"displayField",get:function(){return this.options.displayField||"name"}},{key:"idField",get:function(){return this.options.idField||"id"}},{key:"isExpandedField",get:function(){return this.options.isExpandedField||"isExpanded"}},{key:"getChildren",get:function(){return this.options.getChildren}},{key:"levelPadding",get:function(){return this.options.levelPadding||0}},{key:"useVirtualScroll",get:function(){return this.options.useVirtualScroll}},{key:"animateExpand",get:function(){return this.options.animateExpand}},{key:"animateSpeed",get:function(){return this.options.animateSpeed||1}},{key:"animateAcceleration",get:function(){return this.options.animateAcceleration||1.2}},{key:"scrollOnActivate",get:function(){return void 0===this.options.scrollOnActivate||this.options.scrollOnActivate}},{key:"rtl",get:function(){return!!this.options.rtl}},{key:"rootId",get:function(){return this.options.rootId}},{key:"useCheckbox",get:function(){return this.options.useCheckbox}},{key:"useTriState",get:function(){return void 0===this.options.useTriState||this.options.useTriState}},{key:"scrollContainer",get:function(){return this.options.scrollContainer}},{key:"allowDragoverStyling",get:function(){return void 0===this.options.allowDragoverStyling||this.options.allowDragoverStyling}},{key:"getNodeClone",value:function(e){if(this.options.getNodeClone)return this.options.getNodeClone(e);var r=Object.assign({},e.data);return r.id&&delete r.id,r}},{key:"allowDrop",value:function(e,r,i){return this.options.allowDrop instanceof Function?this.options.allowDrop(e,r,i):void 0===this.options.allowDrop||this.options.allowDrop}},{key:"allowDrag",value:function(e){return this.options.allowDrag instanceof Function?this.options.allowDrag(e):this.options.allowDrag}},{key:"nodeClass",value:function(e){return this.options.nodeClass?this.options.nodeClass(e):""}},{key:"nodeHeight",value:function(e){if(e.data.virtual)return 0;var r=this.options.nodeHeight||22;return"function"==typeof r&&(r=r(e)),r+(0===e.index?2:1)*this.dropSlotHeight}},{key:"dropSlotHeight",get:function(){return"number"==typeof this.options.dropSlotHeight?this.options.dropSlotHeight:2}}]),t}(),fr={toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",initialized:"initialized",updateData:"updateData",moveNode:"moveNode",copyNode:"copyNode",event:"event",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",stateChange:"stateChange"},bi=function(t,n,e,r){var a,i=arguments.length,o=i<3?n:null===r?r=Object.getOwnPropertyDescriptor(n,e):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,n,e,r);else for(var s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i<3?a(o):i>3?a(n,e,o):a(n,e))||o);return i>3&&o&&Object.defineProperty(n,e,o),o},Jt=function(t,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,n)},$r=function(){function t(n,e,r,i){var o=this;p(this,t),this.data=n,this.parent=e,this.treeModel=r,this.position=0,this.allowDrop=function(a,s){return o.options.allowDrop(a,{parent:o,index:0},s)},this.allowDragoverStyling=function(){return o.options.allowDragoverStyling},(void 0===this.id||null===this.id)&&(this.id=function _z(){return Math.floor(1e13*Math.random())}()),this.index=i,this.getField("children")&&this._initChildren(),this.autoLoadChildren()}return h(t,[{key:"isHidden",get:function(){return this.treeModel.isHidden(this)}},{key:"isExpanded",get:function(){return this.treeModel.isExpanded(this)}},{key:"isActive",get:function(){return this.treeModel.isActive(this)}},{key:"isFocused",get:function(){return this.treeModel.isNodeFocused(this)}},{key:"isSelected",get:function(){return this.isSelectable()?this.treeModel.isSelected(this):this.children.some(function(e){return e.isSelected})}},{key:"isAllSelected",get:function(){return this.isSelectable()?this.treeModel.isSelected(this):this.children.every(function(e){return e.isAllSelected})}},{key:"isPartiallySelected",get:function(){return this.isSelected&&!this.isAllSelected}},{key:"level",get:function(){return this.parent?this.parent.level+1:0}},{key:"path",get:function(){return this.parent?[].concat(re(this.parent.path),[this.id]):[]}},{key:"elementRef",get:function(){throw"Element Ref is no longer supported since introducing virtual scroll\n\n You may use a template to obtain a reference to the element"}},{key:"originalNode",get:function(){return this._originalNode}},{key:"hasChildren",get:function(){return!!(this.getField("hasChildren")||this.children&&this.children.length>0)}},{key:"isCollapsed",get:function(){return!this.isExpanded}},{key:"isLeaf",get:function(){return!this.hasChildren}},{key:"isRoot",get:function(){return this.parent.data.virtual}},{key:"realParent",get:function(){return this.isRoot?null:this.parent}},{key:"options",get:function(){return this.treeModel.options}},{key:"fireEvent",value:function(e){this.treeModel.fireEvent(e)}},{key:"displayField",get:function(){return this.getField("display")}},{key:"id",get:function(){return this.getField("id")},set:function(e){this.setField("id",e)}},{key:"getField",value:function(e){return this.data[this.options["".concat(e,"Field")]]}},{key:"setField",value:function(e,r){this.data[this.options["".concat(e,"Field")]]=r}},{key:"_findAdjacentSibling",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this._getParentsChildren(r),o=i.indexOf(this);return i.length>o+e?i[o+e]:null}},{key:"findNextSibling",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._findAdjacentSibling(1,e)}},{key:"findPreviousSibling",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._findAdjacentSibling(-1,e)}},{key:"getVisibleChildren",value:function(){return this.visibleChildren}},{key:"visibleChildren",get:function(){return(this.children||[]).filter(function(e){return!e.isHidden})}},{key:"getFirstChild",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=e?this.visibleChildren:this.children;return null!=r&&r.length?r[0]:null}},{key:"getLastChild",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=e?this.visibleChildren:this.children;return null!=r&&r.length?r[r.length-1]:null}},{key:"findNextNode",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&this.isExpanded&&this.getFirstChild(r)||this.findNextSibling(r)||this.parent&&this.parent.findNextNode(!1,r)}},{key:"findPreviousNode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=this.findPreviousSibling(e);return r?r._getLastOpenDescendant(e):this.realParent}},{key:"_getLastOpenDescendant",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=this.getLastChild(e);return this.isCollapsed||!r?this:r._getLastOpenDescendant(e)}},{key:"_getParentsChildren",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=this.parent&&(e?this.parent.getVisibleChildren():this.parent.children);return r||[]}},{key:"getIndexInParent",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._getParentsChildren(e).indexOf(this)}},{key:"isDescendantOf",value:function(e){return this===e||this.parent&&this.parent.isDescendantOf(e)}},{key:"getNodePadding",value:function(){return this.options.levelPadding*(this.level-1)+"px"}},{key:"getClass",value:function(){return[this.options.nodeClass(this),"tree-node-level-".concat(this.level)].join(" ")}},{key:"onDrop",value:function(e){this.mouseAction("drop",e.event,{from:e.element,to:{parent:this,index:0,dropOnNode:!0}})}},{key:"allowDrag",value:function(){return this.options.allowDrag(this)}},{key:"loadNodeChildren",value:function(){var e=this;return this.options.getChildren?Promise.resolve(this.options.getChildren(this)).then(function(r){r&&(e.setField("children",r),e._initChildren(),e.options.useTriState&&e.treeModel.isSelected(e)&&e.setIsSelected(!0),e.children.forEach(function(i){i.getField("isExpanded")&&i.hasChildren&&i.expand()}))}).then(function(){e.fireEvent({eventName:fr.loadNodeChildren,node:e})}):Promise.resolve()}},{key:"expand",value:function(){return this.isExpanded||this.toggleExpanded(),this}},{key:"collapse",value:function(){return this.isExpanded&&this.toggleExpanded(),this}},{key:"doForAll",value:function(e){var r=this;Promise.resolve(e(this)).then(function(){r.children&&r.children.forEach(function(i){return i.doForAll(e)})})}},{key:"expandAll",value:function(){this.doForAll(function(e){return e.expand()})}},{key:"collapseAll",value:function(){this.doForAll(function(e){return e.collapse()})}},{key:"ensureVisible",value:function(){return this.realParent&&(this.realParent.expand(),this.realParent.ensureVisible()),this}},{key:"toggleExpanded",value:function(){return this.setIsExpanded(!this.isExpanded),this}},{key:"setIsExpanded",value:function(e){return this.hasChildren&&this.treeModel.setExpandedNode(this,e),this}},{key:"autoLoadChildren",value:function(){var e=this;this.handler=Rd(function(){return e.isExpanded},function(r){!e.children&&e.hasChildren&&r&&e.loadNodeChildren()},{fireImmediately:!0})}},{key:"dispose",value:function(){this.children&&this.children.forEach(function(e){return e.dispose()}),this.handler&&this.handler(),this.parent=null,this.children=null}},{key:"setIsActive",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.treeModel.setActiveNode(this,e,r),e&&this.focus(this.options.scrollOnActivate),this}},{key:"isSelectable",value:function(){return this.isLeaf||!this.children||!this.options.useTriState}},{key:"setIsSelected",value:function(e){return this.isSelectable()?this.treeModel.setSelectedNode(this,e):this.visibleChildren.forEach(function(r){return r.setIsSelected(e)}),this}},{key:"toggleSelected",value:function(){return this.setIsSelected(!this.isSelected),this}},{key:"toggleActivated",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.setIsActive(!this.isActive,e),this}},{key:"setActiveAndVisible",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.setIsActive(!0,e).ensureVisible(),setTimeout(this.scrollIntoView.bind(this)),this}},{key:"scrollIntoView",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.treeModel.virtualScroll.scrollIntoView(this,e)}},{key:"focus",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(this),e&&this.scrollIntoView(),r&&this.fireEvent({eventName:fr.blur,node:r}),this.fireEvent({eventName:fr.focus,node:this}),this}},{key:"blur",value:function(){var e=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(null),e&&this.fireEvent({eventName:fr.blur,node:this}),this}},{key:"setIsHidden",value:function(e){this.treeModel.setIsHidden(this,e)}},{key:"hide",value:function(){this.setIsHidden(!0)}},{key:"show",value:function(){this.setIsHidden(!1)}},{key:"mouseAction",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.treeModel.setFocus(!0);var o=this.options.actionMapping.mouse,a=o[e];a&&a(this.treeModel,this,r,i)}},{key:"getSelfHeight",value:function(){return this.options.nodeHeight(this)}},{key:"_initChildren",value:function(){var e=this;this.children=this.getField("children").map(function(r,i){return new t(r,e,e.treeModel,i)})}}]),t}();bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"isHidden",null),bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"isExpanded",null),bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"isActive",null),bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"isFocused",null),bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"isSelected",null),bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"isAllSelected",null),bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"isPartiallySelected",null),bi([Ft,Jt("design:type",Array)],$r.prototype,"children",void 0),bi([Ft,Jt("design:type",Number)],$r.prototype,"index",void 0),bi([Ft,Jt("design:type",Object)],$r.prototype,"position",void 0),bi([Ft,Jt("design:type",Number)],$r.prototype,"height",void 0),bi([Er,Jt("design:type",Number),Jt("design:paramtypes",[])],$r.prototype,"level",null),bi([Er,Jt("design:type",Array),Jt("design:paramtypes",[])],$r.prototype,"path",null),bi([Er,Jt("design:type",Object),Jt("design:paramtypes",[])],$r.prototype,"visibleChildren",null),bi([Tt,Jt("design:type",Function),Jt("design:paramtypes",[Object]),Jt("design:returntype",void 0)],$r.prototype,"setIsSelected",null),bi([Tt,Jt("design:type",Function),Jt("design:paramtypes",[]),Jt("design:returntype",void 0)],$r.prototype,"_initChildren",null);var Lt=function(t,n,e,r){var a,i=arguments.length,o=i<3?n:null===r?r=Object.getOwnPropertyDescriptor(n,e):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,n,e,r);else for(var s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i<3?a(o):i>3?a(n,e,o):a(n,e))||o);return i>3&&o&&Object.defineProperty(n,e,o),o},de=function(t,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,n)},at=function(){function t(){p(this,t),this.options=new hM,this.eventNames=Object.keys(fr),this.expandedNodeIds={},this.selectedLeafNodeIds={},this.activeNodeIds={},this.hiddenNodeIds={},this.focusedNodeId=null,this.firstUpdate=!0,this.subscriptions=[]}return h(t,[{key:"fireEvent",value:function(e){e.treeModel=this,this.events[e.eventName].emit(e),this.events.event.emit(e)}},{key:"subscribe",value:function(e,r){var i=this.events[e].subscribe(r);this.subscriptions.push(i)}},{key:"getFocusedNode",value:function(){return this.focusedNode}},{key:"getActiveNode",value:function(){return this.activeNodes[0]}},{key:"getActiveNodes",value:function(){return this.activeNodes}},{key:"getVisibleRoots",value:function(){return this.virtualRoot.visibleChildren}},{key:"getFirstRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=e?this.getVisibleRoots():this.roots;return null!=r&&r.length?r[0]:null}},{key:"getLastRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=e?this.getVisibleRoots():this.roots;return null!=r&&r.length?r[r.length-1]:null}},{key:"isFocused",get:function(){return t.focusedTree===this}},{key:"isNodeFocused",value:function(e){return this.focusedNode===e}},{key:"isEmptyTree",value:function(){return this.roots&&0===this.roots.length}},{key:"focusedNode",get:function(){return this.focusedNodeId?this.getNodeById(this.focusedNodeId):null}},{key:"expandedNodes",get:function(){var e=this;return Object.keys(this.expandedNodeIds).filter(function(i){return e.expandedNodeIds[i]}).map(function(i){return e.getNodeById(i)}).filter(Boolean)}},{key:"activeNodes",get:function(){var e=this;return Object.keys(this.activeNodeIds).filter(function(i){return e.activeNodeIds[i]}).map(function(i){return e.getNodeById(i)}).filter(Boolean)}},{key:"hiddenNodes",get:function(){var e=this;return Object.keys(this.hiddenNodeIds).filter(function(i){return e.hiddenNodeIds[i]}).map(function(i){return e.getNodeById(i)}).filter(Boolean)}},{key:"selectedLeafNodes",get:function(){var e=this;return Object.keys(this.selectedLeafNodeIds).filter(function(i){return e.selectedLeafNodeIds[i]}).map(function(i){return e.getNodeById(i)}).filter(Boolean)}},{key:"getNodeByPath",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e)return null;if(r=r||this.virtualRoot,0===e.length)return r;if(!r.children)return null;var i=e.shift(),o=r.children.find(function(a){return a.id===i});return o?this.getNodeByPath(e,o):null}},{key:"getNodeById",value:function(e){var r=e.toString();return this.getNodeBy(function(i){return i.id.toString()===r})}},{key:"getNodeBy",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(r=r||this.virtualRoot).children)return null;var i=r.children.find(e);if(i)return i;var a,o=Me(r.children);try{for(o.s();!(a=o.n()).done;){var s=a.value,u=this.getNodeBy(e,s);if(u)return u}}catch(l){o.e(l)}finally{o.f()}}},{key:"isExpanded",value:function(e){return this.expandedNodeIds[e.id]}},{key:"isHidden",value:function(e){return this.hiddenNodeIds[e.id]}},{key:"isActive",value:function(e){return this.activeNodeIds[e.id]}},{key:"isSelected",value:function(e){return this.selectedLeafNodeIds[e.id]}},{key:"ngOnDestroy",value:function(){this.dispose(),this.unsubscribeAll()}},{key:"dispose",value:function(){this.virtualRoot&&this.virtualRoot.dispose()}},{key:"unsubscribeAll",value:function(){this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions=[]}},{key:"setData",value:function(e){var r=e.nodes,i=e.options,o=void 0===i?null:i,a=e.events,s=void 0===a?null:a;o&&(this.options=new hM(o)),s&&(this.events=s),r&&(this.nodes=r),this.update()}},{key:"update",value:function(){var e=Pn({id:this.options.rootId,virtual:!0},this.options.childrenField,this.nodes);this.dispose(),this.virtualRoot=new $r(e,null,this,0),this.roots=this.virtualRoot.children,this.firstUpdate?this.roots&&(this.firstUpdate=!1,this._calculateExpandedNodes()):this.fireEvent({eventName:fr.updateData})}},{key:"setFocusedNode",value:function(e){this.focusedNodeId=e?e.id:null}},{key:"setFocus",value:function(e){t.focusedTree=e?this:null}},{key:"doForAll",value:function(e){this.roots.forEach(function(r){return r.doForAll(e)})}},{key:"focusNextNode",value:function(){var e=this.getFocusedNode(),r=e?e.findNextNode(!0,!0):this.getFirstRoot(!0);r&&r.focus()}},{key:"focusPreviousNode",value:function(){var e=this.getFocusedNode(),r=e?e.findPreviousNode(!0):this.getLastRoot(!0);r&&r.focus()}},{key:"focusDrillDown",value:function(){var e=this.getFocusedNode();if(e&&e.isCollapsed&&e.hasChildren)e.toggleExpanded();else{var r=e?e.getFirstChild(!0):this.getFirstRoot(!0);r&&r.focus()}}},{key:"focusDrillUp",value:function(){var e=this.getFocusedNode();if(e)if(e.isExpanded)e.toggleExpanded();else{var r=e.realParent;r&&r.focus()}}},{key:"setActiveNode",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i?this._setActiveNodeMulti(e,r):this._setActiveNodeSingle(e,r),r?(e.focus(this.options.scrollOnActivate),this.fireEvent({eventName:fr.activate,node:e}),this.fireEvent({eventName:fr.nodeActivate,node:e})):(this.fireEvent({eventName:fr.deactivate,node:e}),this.fireEvent({eventName:fr.nodeDeactivate,node:e}))}},{key:"setSelectedNode",value:function(e,r){this.selectedLeafNodeIds=Object.assign({},this.selectedLeafNodeIds,Pn({},e.id,r)),r?(e.focus(),this.fireEvent({eventName:fr.select,node:e})):this.fireEvent({eventName:fr.deselect,node:e})}},{key:"setExpandedNode",value:function(e,r){this.expandedNodeIds=Object.assign({},this.expandedNodeIds,Pn({},e.id,r)),this.fireEvent({eventName:fr.toggleExpanded,node:e,isExpanded:r})}},{key:"expandAll",value:function(){this.roots.forEach(function(e){return e.expandAll()})}},{key:"collapseAll",value:function(){this.roots.forEach(function(e){return e.collapseAll()})}},{key:"setIsHidden",value:function(e,r){this.hiddenNodeIds=Object.assign({},this.hiddenNodeIds,Pn({},e.id,r))}},{key:"setHiddenNodeIds",value:function(e){this.hiddenNodeIds=e.reduce(function(r,i){return Object.assign(r,Pn({},i,!0))},{})}},{key:"performKeyAction",value:function(e,r){var i=this.options.actionMapping.keys[r.keyCode];return!!i&&(r.preventDefault(),i(this,e,r),!0)}},{key:"filterNodes",value:function(e){var o,r=this,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!e)return this.clearFilter();if(e&&"string"==typeof e.valueOf())o=function(u){return-1!==u.displayField.toLowerCase().indexOf(e.toLowerCase())};else{if(!e||"function"!=typeof e)return console.error("Don't know what to do with filter",e),void console.error("Should be either a string or function");o=e}var a={};this.roots.forEach(function(s){return r._filterNode(a,s,o,i)}),this.hiddenNodeIds=a,this.fireEvent({eventName:fr.changeFilter})}},{key:"clearFilter",value:function(){this.hiddenNodeIds={},this.fireEvent({eventName:fr.changeFilter})}},{key:"moveNode",value:function(e,r){var i=e.getIndexInParent(),o=e.parent;if(this.canMoveNode(e,r,i)){var a=o.getField("children");r.parent.getField("children")||r.parent.setField("children",[]);var s=r.parent.getField("children"),u=a.splice(i,1)[0],l=o===r.parent&&r.index>i?r.index-1:r.index;s.splice(l,0,u),o.treeModel.update(),r.parent.treeModel!==o.treeModel&&r.parent.treeModel.update(),this.fireEvent({eventName:fr.moveNode,node:u,to:{parent:r.parent.data,index:l},from:{parent:o.data,index:i}})}}},{key:"copyNode",value:function(e,r){var i=e.getIndexInParent();if(this.canMoveNode(e,r,i)){r.parent.getField("children")||r.parent.setField("children",[]);var o=r.parent.getField("children"),a=this.options.getNodeClone(e);o.splice(r.index,0,a),e.treeModel.update(),r.parent.treeModel!==e.treeModel&&r.parent.treeModel.update(),this.fireEvent({eventName:fr.copyNode,node:a,to:{parent:r.parent.data,index:r.index}})}}},{key:"getState",value:function(){return{expandedNodeIds:this.expandedNodeIds,selectedLeafNodeIds:this.selectedLeafNodeIds,activeNodeIds:this.activeNodeIds,hiddenNodeIds:this.hiddenNodeIds,focusedNodeId:this.focusedNodeId}}},{key:"setState",value:function(e){!e||Object.assign(this,{expandedNodeIds:e.expandedNodeIds||{},selectedLeafNodeIds:e.selectedLeafNodeIds||{},activeNodeIds:e.activeNodeIds||{},hiddenNodeIds:e.hiddenNodeIds||{},focusedNodeId:e.focusedNodeId})}},{key:"subscribeToState",value:function(e){var r=this;Rh(function(){return e(r.getState())})}},{key:"canMoveNode",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;i||e.getIndexInParent();return(e.parent!==r.parent||i!==r.index)&&!r.parent.isDescendantOf(e)}},{key:"calculateExpandedNodes",value:function(){this._calculateExpandedNodes()}},{key:"_filterNode",value:function(e,r,i,o){var a=this,s=i(r);return r.children&&r.children.forEach(function(u){a._filterNode(e,u,i,o)&&(s=!0)}),s||(e[r.id]=!0),o&&s&&r.ensureVisible(),s}},{key:"_calculateExpandedNodes",value:function(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;(r=r||this.virtualRoot).data[this.options.isExpandedField]&&(this.expandedNodeIds=Object.assign({},this.expandedNodeIds,Pn({},r.id,!0))),r.children&&r.children.forEach(function(i){return e._calculateExpandedNodes(i)})}},{key:"_setActiveNodeSingle",value:function(e,r){var i=this;this.activeNodes.filter(function(o){return o!==e}).forEach(function(o){i.fireEvent({eventName:fr.deactivate,node:o}),i.fireEvent({eventName:fr.nodeDeactivate,node:o})}),this.activeNodeIds=r?Pn({},e.id,!0):{}}},{key:"_setActiveNodeMulti",value:function(e,r){this.activeNodeIds=Object.assign({},this.activeNodeIds,Pn({},e.id,r))}}]),t}();at.\u0275fac=function(n){return new(n||at)},at.\u0275prov=Xe({token:at,factory:at.\u0275fac}),at.focusedTree=null,Lt([Ft,de("design:type",Array)],at.prototype,"roots",void 0),Lt([Ft,de("design:type",Object)],at.prototype,"expandedNodeIds",void 0),Lt([Ft,de("design:type",Object)],at.prototype,"selectedLeafNodeIds",void 0),Lt([Ft,de("design:type",Object)],at.prototype,"activeNodeIds",void 0),Lt([Ft,de("design:type",Object)],at.prototype,"hiddenNodeIds",void 0),Lt([Ft,de("design:type",Object)],at.prototype,"focusedNodeId",void 0),Lt([Ft,de("design:type",$r)],at.prototype,"virtualRoot",void 0),Lt([Er,de("design:type",Object),de("design:paramtypes",[])],at.prototype,"focusedNode",null),Lt([Er,de("design:type",Object),de("design:paramtypes",[])],at.prototype,"expandedNodes",null),Lt([Er,de("design:type",Object),de("design:paramtypes",[])],at.prototype,"activeNodes",null),Lt([Er,de("design:type",Object),de("design:paramtypes",[])],at.prototype,"hiddenNodes",null),Lt([Er,de("design:type",Object),de("design:paramtypes",[])],at.prototype,"selectedLeafNodes",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object]),de("design:returntype",void 0)],at.prototype,"setData",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"update",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object]),de("design:returntype",void 0)],at.prototype,"setFocusedNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object]),de("design:returntype",void 0)],at.prototype,"setFocus",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object]),de("design:returntype",void 0)],at.prototype,"doForAll",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"focusNextNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"focusPreviousNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"focusDrillDown",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"focusDrillUp",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object,Object,Object]),de("design:returntype",void 0)],at.prototype,"setActiveNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object,Object]),de("design:returntype",void 0)],at.prototype,"setSelectedNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object,Object]),de("design:returntype",void 0)],at.prototype,"setExpandedNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"expandAll",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"collapseAll",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object,Object]),de("design:returntype",void 0)],at.prototype,"setIsHidden",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object]),de("design:returntype",void 0)],at.prototype,"setHiddenNodeIds",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object,Object]),de("design:returntype",void 0)],at.prototype,"filterNodes",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[]),de("design:returntype",void 0)],at.prototype,"clearFilter",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object,Object]),de("design:returntype",void 0)],at.prototype,"moveNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object,Object]),de("design:returntype",void 0)],at.prototype,"copyNode",null),Lt([Tt,de("design:type",Function),de("design:paramtypes",[Object]),de("design:returntype",void 0)],at.prototype,"setState",null);var No=function(){function t(){p(this,t),this._draggedElement=null}return h(t,[{key:"set",value:function(e){this._draggedElement=e}},{key:"get",value:function(){return this._draggedElement}},{key:"isDragging",value:function(){return!!this.get()}}]),t}();No.\u0275fac=function(n){return new(n||No)},No.\u0275prov=Xe({factory:function(){return new No},token:No,providedIn:"root"});var Zs=function(t,n,e,r){var a,i=arguments.length,o=i<3?n:null===r?r=Object.getOwnPropertyDescriptor(n,e):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,n,e,r);else for(var s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i<3?a(o):i>3?a(n,e,o):a(n,e))||o);return i>3&&o&&Object.defineProperty(n,e,o),o},Fr=function(t,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,n)},Wr=function(){function t(n){var e=this;p(this,t),this.treeModel=n,this.yBlocks=0,this.x=0,this.viewportHeight=null,this.viewport=null,n.virtualScroll=this,this._dispose=[Rh(function(){return e.fixScroll()})]}return h(t,[{key:"y",get:function(){return 150*this.yBlocks}},{key:"totalHeight",get:function(){return this.treeModel.virtualRoot?this.treeModel.virtualRoot.height:0}},{key:"fireEvent",value:function(e){this.treeModel.fireEvent(e)}},{key:"init",value:function(){var e=this,r=this.recalcPositions.bind(this);r(),this._dispose=[].concat(re(this._dispose),[Rd(function(){return e.treeModel.roots},r),Rd(function(){return e.treeModel.expandedNodeIds},r),Rd(function(){return e.treeModel.hiddenNodeIds},r)]),this.treeModel.subscribe(fr.loadNodeChildren,r)}},{key:"isEnabled",value:function(){return this.treeModel.options.useVirtualScroll}},{key:"_setYBlocks",value:function(e){this.yBlocks=e}},{key:"recalcPositions",value:function(){this.treeModel.virtualRoot.height=this._getPositionAfter(this.treeModel.getVisibleRoots(),0)}},{key:"_getPositionAfter",value:function(e,r){var i=this,o=r;return e.forEach(function(a){a.position=o,o=i._getPositionAfterNode(a,o)}),o}},{key:"_getPositionAfterNode",value:function(e,r){var i=e.getSelfHeight()+r;return e.children&&e.isExpanded&&(i=this._getPositionAfter(e.visibleChildren,i)),e.height=i-r,i}},{key:"clear",value:function(){this._dispose.forEach(function(e){return e()})}},{key:"setViewport",value:function(e){Object.assign(this,{viewport:e,x:e.scrollLeft,yBlocks:Math.round(e.scrollTop/150),viewportHeight:e.getBoundingClientRect?e.getBoundingClientRect().height:0})}},{key:"scrollIntoView",value:function(e,r){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e.options.scrollContainer){var o=e.options.scrollContainer,a=o.getBoundingClientRect().height,s=o.getBoundingClientRect().top,u=this.viewport.getBoundingClientRect().top+e.position-s;(r||uo.scrollTop+a)&&(o.scrollTop=i?u-a/2:u)}else(r||e.positionthis.y+this.viewportHeight)&&this.viewport&&(this.viewport.scrollTop=i?e.position-this.viewportHeight/2:e.position,this._setYBlocks(Math.floor(this.viewport.scrollTop/150)))}},{key:"getViewportNodes",value:function(e){var r=this;if(!e)return[];var i=e.filter(function(c){return!c.isHidden});if(!this.isEnabled())return i;if(!this.viewportHeight||!i.length)return[];var o=i.slice(-1)[0];if(!o.height&&0===o.position)return[];for(var a=mM(i,function(c){return c.position+500>r.y||c.position+c.height>r.y}),s=mM(i,function(c){return c.position-500>r.y+r.viewportHeight},a),u=[],l=a;l<=s;l++)u.push(i[l]);return u}},{key:"fixScroll",value:function(){var e=Math.max(0,this.totalHeight-this.viewportHeight);this.y<0&&this._setYBlocks(0),this.y>e&&this._setYBlocks(e/150)}}]),t}();function mM(t,n){for(var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e,i=t.length-1;r!==i;){var o=Math.floor((r+i)/2);n(t[o])?i=o:r=r===o?i:o}return r}Wr.\u0275fac=function(n){return new(n||Wr)(Ne(at))},Wr.\u0275prov=Xe({token:Wr,factory:Wr.\u0275fac}),Wr.ctorParameters=function(){return[{type:at}]},Zs([Ft,Fr("design:type",Object)],Wr.prototype,"yBlocks",void 0),Zs([Ft,Fr("design:type",Object)],Wr.prototype,"x",void 0),Zs([Ft,Fr("design:type",Object)],Wr.prototype,"viewportHeight",void 0),Zs([Er,Fr("design:type",Object),Fr("design:paramtypes",[])],Wr.prototype,"y",null),Zs([Er,Fr("design:type",Object),Fr("design:paramtypes",[])],Wr.prototype,"totalHeight",null),Zs([Tt,Fr("design:type",Function),Fr("design:paramtypes",[Object]),Fr("design:returntype",void 0)],Wr.prototype,"_setYBlocks",null),Zs([Tt,Fr("design:type",Function),Fr("design:paramtypes",[]),Fr("design:returntype",void 0)],Wr.prototype,"recalcPositions",null),Zs([Tt,Fr("design:type",Function),Fr("design:paramtypes",[Object]),Fr("design:returntype",void 0)],Wr.prototype,"setViewport",null),Zs([Tt,Fr("design:type",Function),Fr("design:paramtypes",[Object,Object,Object]),Fr("design:returntype",void 0)],Wr.prototype,"scrollIntoView",null);var el=h(function t(){p(this,t)});el.\u0275fac=function(n){return new(n||el)},el.\u0275cmp=Pt({type:el,selectors:[["tree-loading-component"]],inputs:{template:"template",node:"node"},decls:2,vars:5,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,e){1&n&&(U(0,TG,2,0,"span",0),Kn(1,1)),2&n&&(I("ngIf",!e.template),B(1),I("ngTemplateOutlet",e.template)("ngTemplateOutletContext",Ha(3,IG,e.node)))},directives:[qt,Rr],encapsulation:2}),el.propDecorators={template:[{type:ot}],node:[{type:ot}]};var tl=function(){function t(n,e){var r=this;p(this,t),this.elementRef=n,this.virtualScroll=e,this.setViewport=this.throttle(function(){r.virtualScroll.setViewport(r.elementRef.nativeElement)},17),this.scrollEventHandler=this.setViewport.bind(this)}return h(t,[{key:"ngOnInit",value:function(){this.virtualScroll.init()}},{key:"ngAfterViewInit",value:function(){var e=this;setTimeout(function(){e.setViewport(),e.virtualScroll.fireEvent({eventName:fr.initialized})}),this.elementRef.nativeElement.addEventListener("scroll",this.scrollEventHandler)}},{key:"ngOnDestroy",value:function(){this.virtualScroll.clear(),this.elementRef.nativeElement.removeEventListener("scroll",this.scrollEventHandler)}},{key:"getTotalHeight",value:function(){return this.virtualScroll.isEnabled()&&this.virtualScroll.totalHeight+"px"||"auto"}},{key:"throttle",value:function(e,r){var i=0;return function(){var o=Date.now();o-i>=r&&(e(),i=o)}}}]),t}();tl.\u0275fac=function(n){return new(n||tl)(W(qn),W(Wr))},tl.\u0275cmp=Pt({type:tl,selectors:[["tree-viewport"]],features:[En([Wr])],ngContentSelectors:["*"],decls:1,vars:2,consts:[[4,"treeMobxAutorun"]],template:function(n,e){1&n&&(Gl(),U(0,AG,3,2,"ng-container",0)),2&n&&I("treeMobxAutorun",ks(1,Ld))},directives:[eo],encapsulation:2}),tl.ctorParameters=function(){return[{type:qn},{type:Wr}]};var Ja=function(){function t(n,e){var r=this;p(this,t),this.treeModel=n,this.treeDraggedElement=e,n.eventNames.forEach(function(i){return r[i]=new be}),n.subscribeToState(function(i){return r.stateChange.emit(i)})}return h(t,[{key:"nodes",set:function(e){}},{key:"options",set:function(e){}},{key:"focused",set:function(e){this.treeModel.setFocus(e)}},{key:"state",set:function(e){this.treeModel.setState(e)}},{key:"onKeydown",value:function(e){if(this.treeModel.isFocused&&!["input","textarea"].includes(document.activeElement.tagName.toLowerCase())){var r=this.treeModel.getFocusedNode();this.treeModel.performKeyAction(r,e)}}},{key:"onMousedown",value:function(e){(function r(i,o){return!i||i.localName!==o&&r(i.parentElement,o)})(e.target,"tree-root")&&this.treeModel.setFocus(!1)}},{key:"ngOnChanges",value:function(e){(e.options||e.nodes)&&this.treeModel.setData({options:e.options&&e.options.currentValue,nodes:e.nodes&&e.nodes.currentValue,events:this.pick(this,this.treeModel.eventNames)})}},{key:"sizeChanged",value:function(){this.viewportComponent.setViewport()}},{key:"pick",value:function(e,r){return r.reduce(function(i,o){return e&&e.hasOwnProperty(o)&&(i[o]=e[o]),i},{})}}]),t}();Ja.\u0275fac=function(n){return new(n||Ja)(W(at),W(No))},Ja.\u0275cmp=Pt({type:Ja,selectors:[["Tree"],["tree-root"]],contentQueries:function(n,e,r){var i;(1&n&&(ad(r,NG,5),ad(r,OG,5),ad(r,PG,5),ad(r,RG,5)),2&n)&&(Nr(i=Or())&&(e.loadingTemplate=i.first),Nr(i=Or())&&(e.treeNodeTemplate=i.first),Nr(i=Or())&&(e.treeNodeWrapperTemplate=i.first),Nr(i=Or())&&(e.treeNodeFullTemplate=i.first))},viewQuery:function(n,e){var r;(1&n&&Zi(FG,5),2&n)&&(Nr(r=Or())&&(e.viewportComponent=r.first))},hostBindings:function(n,e){1&n&&Le("keydown",function(i){return e.onKeydown(i)},!1,cC)("mousedown",function(i){return e.onMousedown(i)},!1,cC)},inputs:{nodes:"nodes",options:"options",focused:"focused",state:"state"},outputs:{toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",updateData:"updateData",initialized:"initialized",moveNode:"moveNode",copyNode:"copyNode",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",event:"event",stateChange:"stateChange"},features:[En([at]),gr],decls:5,vars:6,consts:[["viewport",""],[1,"angular-tree-component"],[3,"nodes","treeModel","templates",4,"ngIf"],["class","empty-tree-drop-slot",3,"dropIndex","node",4,"ngIf"],[3,"nodes","treeModel","templates"],[1,"empty-tree-drop-slot",3,"dropIndex","node"]],template:function(n,e){1&n&&(K(0,"tree-viewport",null,0)(2,"div",1),U(3,BG,1,8,"tree-node-collection",2),U(4,VG,1,2,"tree-node-drop-slot",3),Z()()),2&n&&(B(2),zr("node-dragging",e.treeDraggedElement.isDragging())("angular-tree-component-rtl",e.treeModel.options.rtl),B(1),I("ngIf",e.treeModel.roots),B(1),I("ngIf",e.treeModel.isEmptyTree()))},directives:function(){return[tl,qt,vo,Xs]},encapsulation:2}),Ja.ctorParameters=function(){return[{type:at},{type:No}]},Ja.propDecorators={loadingTemplate:[{type:sm,args:["loadingTemplate",{static:!1}]}],treeNodeTemplate:[{type:sm,args:["treeNodeTemplate",{static:!1}]}],treeNodeWrapperTemplate:[{type:sm,args:["treeNodeWrapperTemplate",{static:!1}]}],treeNodeFullTemplate:[{type:sm,args:["treeNodeFullTemplate",{static:!1}]}],viewportComponent:[{type:hB,args:["viewport",{static:!1}]}],nodes:[{type:ot}],options:[{type:ot}],focused:[{type:ot}],state:[{type:ot}],toggleExpanded:[{type:Zn}],activate:[{type:Zn}],deactivate:[{type:Zn}],nodeActivate:[{type:Zn}],nodeDeactivate:[{type:Zn}],select:[{type:Zn}],deselect:[{type:Zn}],focus:[{type:Zn}],blur:[{type:Zn}],updateData:[{type:Zn}],initialized:[{type:Zn}],moveNode:[{type:Zn}],copyNode:[{type:Zn}],loadNodeChildren:[{type:Zn}],changeFilter:[{type:Zn}],event:[{type:Zn}],stateChange:[{type:Zn}],onKeydown:[{type:fh,args:["body: keydown",["$event"]]}],onMousedown:[{type:fh,args:["body: mousedown",["$event"]]}]};var nl=h(function t(){p(this,t)});nl.\u0275fac=function(n){return new(n||nl)},nl.\u0275cmp=Pt({type:nl,selectors:[["TreeNode"],["tree-node"]],inputs:{node:"node",index:"index",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"class","tree-node","tree-node-expanded","tree-node-collapsed","tree-node-leaf","tree-node-active","tree-node-focused",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"dropIndex","node",4,"ngIf"],[3,"node","index","templates"],[3,"node","templates"],[3,"dropIndex","node"]],template:function(n,e){1&n&&U(0,UG,3,8,"ng-container",0),2&n&&I("treeMobxAutorun",ks(1,Ld))},directives:function(){return[eo,qt,Xs,al,ol,Rr]},encapsulation:2}),nl.propDecorators={node:[{type:ot}],index:[{type:ot}],templates:[{type:ot}]};var rl=h(function t(){p(this,t)});rl.\u0275fac=function(n){return new(n||rl)},rl.\u0275cmp=Pt({type:rl,selectors:[["tree-node-content"]],inputs:{node:"node",index:"index",template:"template"},decls:2,vars:7,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,e){1&n&&(U(0,qG,2,1,"span",0),Kn(1,1)),2&n&&(I("ngIf",!e.template),B(1),I("ngTemplateOutlet",e.template)("ngTemplateOutletContext",Rm(3,GG,e.node,e.node,e.index)))},directives:[qt,Rr],encapsulation:2}),rl.propDecorators={node:[{type:ot}],index:[{type:ot}],template:[{type:ot}]};var Xs=function(){function t(){p(this,t)}return h(t,[{key:"onDrop",value:function(e){this.node.mouseAction("drop",e.event,{from:e.element,to:{parent:this.node,index:this.dropIndex}})}},{key:"allowDrop",value:function(e,r){return this.node.options.allowDrop(e,{parent:this.node,index:this.dropIndex},r)}}]),t}();Xs.\u0275fac=function(n){return new(n||Xs)},Xs.\u0275cmp=Pt({type:Xs,selectors:[["TreeNodeDropSlot"],["tree-node-drop-slot"]],inputs:{node:"node",dropIndex:"dropIndex"},decls:1,vars:2,consts:[[1,"node-drop-slot",3,"treeAllowDrop","allowDragoverStyling","treeDrop"]],template:function(n,e){1&n&&(K(0,"div",0),Le("treeDrop",function(i){return e.onDrop(i)}),Z()),2&n&&I("treeAllowDrop",e.allowDrop.bind(e))("allowDragoverStyling",!0)},directives:function(){return[es]},encapsulation:2}),Xs.propDecorators={node:[{type:ot}],dropIndex:[{type:ot}]};var il=h(function t(){p(this,t)});il.\u0275fac=function(n){return new(n||il)},il.\u0275cmp=Pt({type:il,selectors:[["tree-node-expander"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["class","toggle-children-wrapper",3,"toggle-children-wrapper-expanded","toggle-children-wrapper-collapsed","click",4,"ngIf"],["class","toggle-children-placeholder",4,"ngIf"],[1,"toggle-children-wrapper",3,"click"],[1,"toggle-children"],[1,"toggle-children-placeholder"]],template:function(n,e){1&n&&U(0,WG,3,2,"ng-container",0),2&n&&I("treeMobxAutorun",ks(1,Ld))},directives:[eo,qt],encapsulation:2}),il.propDecorators={node:[{type:ot}]};var ol=h(function t(){p(this,t)});ol.\u0275fac=function(n){return new(n||ol)},ol.\u0275cmp=Pt({type:ol,selectors:[["tree-node-children"]],inputs:{node:"node",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"tree-children","tree-children-no-padding",4,"treeAnimateOpen","treeAnimateOpenSpeed","treeAnimateOpenAcceleration","treeAnimateOpenEnabled"],[3,"nodes","templates","treeModel",4,"ngIf"],["class","tree-node-loading",3,"padding-left","template","node",4,"ngIf"],[3,"nodes","templates","treeModel"],[1,"tree-node-loading",3,"template","node"]],template:function(n,e){1&n&&U(0,YG,2,4,"ng-container",0),2&n&&I("treeMobxAutorun",ks(1,Ld))},directives:function(){return[eo,Qs,qt,vo,el]},encapsulation:2}),ol.propDecorators={node:[{type:ot}],templates:[{type:ot}]};var bz=Object.assign(function Cz(){return Tt.apply(void 0,arguments)},Tt);var wz=Object.assign(function Ez(){return Er.apply(void 0,arguments)},Er);var gM=Object.assign(function xz(){return Ft.apply(void 0,arguments)},Ft),Ng=function(t,n,e,r){var a,i=arguments.length,o=i<3?n:null===r?r=Object.getOwnPropertyDescriptor(n,e):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,n,e,r);else for(var s=t.length-1;s>=0;s--)(a=t[s])&&(o=(i<3?a(o):i>3?a(n,e,o):a(n,e))||o);return i>3&&o&&Object.defineProperty(n,e,o),o},Ac=function(t,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,n)},vo=function(){function t(){p(this,t),this._dispose=[]}return h(t,[{key:"nodes",get:function(){return this._nodes},set:function(e){this.setNodes(e)}},{key:"marginTop",get:function(){var e=this.viewportNodes&&this.viewportNodes.length&&this.viewportNodes[0],r=e&&e.parent?e.position-e.parent.position-e.parent.getSelfHeight():0;return"".concat(r,"px")}},{key:"setNodes",value:function(e){this._nodes=e}},{key:"ngOnInit",value:function(){var e=this;this.virtualScroll=this.treeModel.virtualScroll,this._dispose=[Rd(function(){return e.virtualScroll.getViewportNodes(e.nodes).map(function(r){return r.index})},function(r){e.viewportNodes=r.map(function(i){return e.nodes[i]})},{compareStructural:!0,fireImmediately:!0}),Rd(function(){return e.nodes},function(r){e.viewportNodes=e.virtualScroll.getViewportNodes(r)})]}},{key:"ngOnDestroy",value:function(){this._dispose.forEach(function(e){return e()})}},{key:"trackNode",value:function(e,r){return r.id}}]),t}();vo.\u0275fac=function(n){return new(n||vo)},vo.\u0275cmp=Pt({type:vo,selectors:[["tree-node-collection"]],inputs:{nodes:"nodes",treeModel:"treeModel",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"node","index","templates",4,"ngFor","ngForOf","ngForTrackBy"],[3,"node","index","templates"]],template:function(n,e){1&n&&U(0,JG,3,4,"ng-container",0),2&n&&I("treeMobxAutorun",ks(1,Ld))},directives:[eo,ei,nl],encapsulation:2}),vo.propDecorators={nodes:[{type:ot}],treeModel:[{type:ot}],templates:[{type:ot}]},Ng([gM,Ac("design:type",Object)],vo.prototype,"_nodes",void 0),Ng([gM,Ac("design:type",Array)],vo.prototype,"viewportNodes",void 0),Ng([wz,Ac("design:type",String),Ac("design:paramtypes",[])],vo.prototype,"marginTop",null),Ng([bz,Ac("design:type",Function),Ac("design:paramtypes",[Object]),Ac("design:returntype",void 0)],vo.prototype,"setNodes",null);var al=h(function t(){p(this,t)});al.\u0275fac=function(n){return new(n||al)},al.\u0275cmp=Pt({type:al,selectors:[["tree-node-wrapper"]],inputs:{node:"node",index:"index",templates:"templates"},decls:2,vars:8,consts:[["class","node-wrapper",3,"padding-left",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"node-wrapper"],[3,"node",4,"ngIf"],[3,"node"],[1,"node-content-wrapper",3,"treeAllowDrop","allowDragoverStyling","treeDrag","treeDragEnabled","click","dblclick","mouseover","mouseout","contextmenu","treeDrop","treeDropDragOver","treeDropDragLeave","treeDropDragEnter"],[3,"node","index","template"]],template:function(n,e){1&n&&(U(0,tz,5,15,"div",0),Kn(1,1)),2&n&&(I("ngIf",!e.templates.treeNodeWrapperTemplate),B(1),I("ngTemplateOutlet",e.templates.treeNodeWrapperTemplate)("ngTemplateOutletContext",Fm(3,pM,e.node,e.node,e.index,e.templates)))},directives:function(){return[qt,sl,il,Ys,es,rl,Rr]},encapsulation:2}),al.propDecorators={node:[{type:ot}],index:[{type:ot}],templates:[{type:ot}]};var sl=h(function t(){p(this,t)});sl.\u0275fac=function(n){return new(n||sl)},sl.\u0275cmp=Pt({type:sl,selectors:[["tree-node-checkbox"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["type","checkbox",1,"tree-node-checkbox",3,"checked","indeterminate","click"]],template:function(n,e){1&n&&U(0,nz,2,2,"ng-container",0),2&n&&I("treeMobxAutorun",ks(1,Ld))},directives:[eo],encapsulation:2}),sl.propDecorators={node:[{type:ot}]};var yM="is-dragging-over",_M="is-dragging-over-disabled",es=function(){function t(n,e,r,i){p(this,t),this.el=n,this.renderer=e,this.treeDraggedElement=r,this.ngZone=i,this.allowDragoverStyling=!0,this.onDropCallback=new be,this.onDragOverCallback=new be,this.onDragLeaveCallback=new be,this.onDragEnterCallback=new be,this._allowDrop=function(o,a){return!0},this.dragOverEventHandler=this.onDragOver.bind(this),this.dragEnterEventHandler=this.onDragEnter.bind(this),this.dragLeaveEventHandler=this.onDragLeave.bind(this)}return h(t,[{key:"treeAllowDrop",set:function(e){this._allowDrop=e instanceof Function?e:function(r,i){return e}}},{key:"allowDrop",value:function(e){return this._allowDrop(this.treeDraggedElement.get(),e)}},{key:"ngAfterViewInit",value:function(){var e=this,r=this.el.nativeElement;this.ngZone.runOutsideAngular(function(){r.addEventListener("dragover",e.dragOverEventHandler),r.addEventListener("dragenter",e.dragEnterEventHandler),r.addEventListener("dragleave",e.dragLeaveEventHandler)})}},{key:"ngOnDestroy",value:function(){var e=this.el.nativeElement;e.removeEventListener("dragover",this.dragOverEventHandler),e.removeEventListener("dragenter",this.dragEnterEventHandler),e.removeEventListener("dragleave",this.dragLeaveEventHandler)}},{key:"onDragOver",value:function(e){if(!this.allowDrop(e))return this.allowDragoverStyling?this.addDisabledClass():void 0;this.onDragOverCallback.emit({event:e,element:this.treeDraggedElement.get()}),e.preventDefault(),this.allowDragoverStyling&&this.addClass()}},{key:"onDragEnter",value:function(e){!this.allowDrop(e)||(e.preventDefault(),this.onDragEnterCallback.emit({event:e,element:this.treeDraggedElement.get()}))}},{key:"onDragLeave",value:function(e){if(!this.allowDrop(e))return this.allowDragoverStyling?this.removeDisabledClass():void 0;this.onDragLeaveCallback.emit({event:e,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass()}},{key:"onDrop",value:function(e){!this.allowDrop(e)||(e.preventDefault(),this.onDropCallback.emit({event:e,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass(),this.treeDraggedElement.set(null))}},{key:"addClass",value:function(){this.renderer.addClass(this.el.nativeElement,yM)}},{key:"removeClass",value:function(){this.renderer.removeClass(this.el.nativeElement,yM)}},{key:"addDisabledClass",value:function(){this.renderer.addClass(this.el.nativeElement,_M)}},{key:"removeDisabledClass",value:function(){this.renderer.removeClass(this.el.nativeElement,_M)}}]),t}();es.\u0275fac=function(n){return new(n||es)(W(qn),W(mi),W(No),W(Qr))},es.\u0275dir=Fe({type:es,selectors:[["","treeDrop",""]],hostBindings:function(n,e){1&n&&Le("drop",function(i){return e.onDrop(i)})},inputs:{allowDragoverStyling:"allowDragoverStyling",treeAllowDrop:"treeAllowDrop"},outputs:{onDropCallback:"treeDrop",onDragOverCallback:"treeDropDragOver",onDragLeaveCallback:"treeDropDragLeave",onDragEnterCallback:"treeDropDragEnter"}}),es.ctorParameters=function(){return[{type:qn},{type:mi},{type:No},{type:Qr}]},es.propDecorators={allowDragoverStyling:[{type:ot}],onDropCallback:[{type:Zn,args:["treeDrop"]}],onDragOverCallback:[{type:Zn,args:["treeDropDragOver"]}],onDragLeaveCallback:[{type:Zn,args:["treeDropDragLeave"]}],onDragEnterCallback:[{type:Zn,args:["treeDropDragEnter"]}],treeAllowDrop:[{type:ot}],onDrop:[{type:fh,args:["drop",["$event"]]}]};var Ys=function(){function t(n,e,r,i){p(this,t),this.el=n,this.renderer=e,this.treeDraggedElement=r,this.ngZone=i,this.dragEventHandler=this.onDrag.bind(this)}return h(t,[{key:"ngAfterViewInit",value:function(){var e=this,r=this.el.nativeElement;this.ngZone.runOutsideAngular(function(){r.addEventListener("drag",e.dragEventHandler)})}},{key:"ngDoCheck",value:function(){this.renderer.setAttribute(this.el.nativeElement,"draggable",this.treeDragEnabled?"true":"false")}},{key:"ngOnDestroy",value:function(){this.el.nativeElement.removeEventListener("drag",this.dragEventHandler)}},{key:"onDragStart",value:function(e){e.dataTransfer.setData("text",e.target.id),this.treeDraggedElement.set(this.draggedElement),this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragStart",e)}},{key:"onDrag",value:function(e){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("drag",e)}},{key:"onDragEnd",value:function(){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragEnd"),this.treeDraggedElement.set(null)}}]),t}();Ys.\u0275fac=function(n){return new(n||Ys)(W(qn),W(mi),W(No),W(Qr))},Ys.\u0275dir=Fe({type:Ys,selectors:[["","treeDrag",""]],hostBindings:function(n,e){1&n&&Le("dragstart",function(i){return e.onDragStart(i)})("dragend",function(){return e.onDragEnd()})},inputs:{draggedElement:["treeDrag","draggedElement"],treeDragEnabled:"treeDragEnabled"}}),Ys.ctorParameters=function(){return[{type:qn},{type:mi},{type:No},{type:Qr}]},Ys.propDecorators={draggedElement:[{type:ot,args:["treeDrag"]}],treeDragEnabled:[{type:ot}],onDragStart:[{type:fh,args:["dragstart",["$event"]]}],onDragEnd:[{type:fh,args:["dragend"]}]};var Qs=function(){function t(n,e,r){p(this,t),this.renderer=n,this.templateRef=e,this.viewContainerRef=r}return h(t,[{key:"isOpen",set:function(e){e?(this._show(),this.isEnabled&&!1===this._isOpen&&this._animateOpen()):this.isEnabled?this._animateClose():this._hide(),this._isOpen=!!e}},{key:"_show",value:function(){this.innerElement||(this.innerElement=this.viewContainerRef.createEmbeddedView(this.templateRef).rootNodes[0])}},{key:"_hide",value:function(){this.viewContainerRef.clear(),this.innerElement=null}},{key:"_animateOpen",value:function(){var e=this,r=this.animateSpeed,i=this.animateAcceleration,o=0;this.renderer.setStyle(this.innerElement,"max-height","0"),setTimeout(function(){var a=setInterval(function(){if(!e._isOpen||!e.innerElement)return clearInterval(a);o+=r;var s=Math.round(o);e.renderer.setStyle(e.innerElement,"max-height","".concat(s,"px"));var u=e.innerElement.getBoundingClientRect?e.innerElement.getBoundingClientRect().height:0;r*=i,i*=1.005,u1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:250,a=null;if(e&&e.nativeElement){var s=this.calculateOffset();a=e.nativeElement.offsetHeight+s0&&void 0!==arguments[0])||arguments[0],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:250;r?this.zone.runOutsideAngular(function(){e.scrollToPoint(0,i)}):this.window.pageYOffset>0&&(this.window.scrollTo(0,0),this.scrollCompleted.next(!0))}},{key:"scrollToPoint",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:250,i=wM_END/r,o=this.window.document.documentElement.scrollTop||0===this.window.document.documentElement.scrollTop?this.window.document.documentElement:this.window.document.body;this.scrollElementToPoint(o,o.scrollTop,e,i)}},{key:"calculateOffset",value:function(){return.25*this.window.innerHeight}},{key:"scrollElementToPoint",value:function(e,r,i,o){var a=this,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:wM_START;if(s<0||s>1)return e.scrollTop=i,void this.scrollCompleted.next(!0);e.scrollTop=r-(r-i)*this.easeOutMotion(s),s+=25*o,this.window.setTimeout(function(){a.scrollElementToPoint(e,r,i,o,s)},25)}},{key:"easeOutMotion",value:function(e){return--e*e*e+1}}]),t}();Oc.\u0275fac=function(n){return new(n||Oc)(Ne(Mc),Ne(Qr))},Oc.\u0275prov=Xe({token:Oc,factory:Oc.\u0275fac});var Vd=function(){function t(n,e){var r=this;p(this,t),this.window=n,this.rendererFactory=e,this.storeScroll=function(){r.window.document.documentElement.dataset.scroll=r.window.scrollY.toString(),r.isScrolling=r.window.scrollY>0},this.renderer=e.createRenderer(null,null),this.storeScroll(),this.renderer.listen("window","scroll",function(){r.debounce(r.storeScroll)()})}return h(t,[{key:"debounce",value:function(e){var r;return function(){r&&cancelAnimationFrame(r),r=requestAnimationFrame(function(){e()})}}}]),t}();Vd.\u0275fac=function(n){return new(n||Vd)(Ne(Mc),Ne(cb))},Vd.\u0275prov=Xe({token:Vd,factory:Vd.\u0275fac});var Vh_HTML="html",Vh_STYLE="style",Vh_SCRIPT="script",Vh_URL="url",Vh_RESOURCE_URL="resourceUrl",Pc=function(){function t(n){p(this,t),this.sanitizer=n}return h(t,[{key:"transform",value:function(e,r){switch(r){case Vh_HTML:return this.sanitizer.bypassSecurityTrustHtml(e);case Vh_STYLE:return this.sanitizer.bypassSecurityTrustStyle(e);case Vh_SCRIPT:return this.sanitizer.bypassSecurityTrustScript(e);case Vh_URL:return this.sanitizer.bypassSecurityTrustUrl(e);case Vh_RESOURCE_URL:return this.sanitizer.bypassSecurityTrustResourceUrl(e);default:throw new Error("Invalid safe type specified: ".concat(r))}}}]),t}();Pc.\u0275fac=function(n){return new(n||Pc)(W(ju,16))},Pc.\u0275pipe=mr({name:"sfSafe",type:Pc,pure:!0});var Rc=function(){function t(){p(this,t)}return h(t,[{key:"transform",value:function(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}}]),t}();Rc.\u0275fac=function(n){return new(n||Rc)},Rc.\u0275pipe=mr({name:"sfCapitalize",type:Rc,pure:!0});var ni_EMPTY_STRING="",ni_FORWARD_SLASH="/",Nz=[" ","(","[","-",'"'],Rz=/&[a-z0-9]+;/gim,Fz=new RegExp("^[^+".concat("A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\u02b8\u0300-\u0590\u0800-\u1fff\u2c00-\ufb1c\ufdfe-\ufe6f\ufefd-\uffff","+]*[").concat("\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc","]")),Lz=/[a-z]+/i,Og="-sf-direction-rtl",Js=function(){function t(n){p(this,t),this.element=n}return h(t,[{key:"textDirectionValue",set:function(e){var r=this.element.nativeElement;if(e&&"string"==typeof e){e=e.replace(/<[^>]*>/gim,"");var i=this.getFirstLetter(e);this.determineDirection(i,r)}else r.classList.remove(Og)}},{key:"determineDirection",value:function(e,r){e?this.setDirection(e,r):r.classList.remove(Og)}},{key:"setDirection",value:function(e,r){this.shouldBeRTL(e)?r.classList.add(Og):r.classList.remove(Og)}},{key:"getFirstLetter",value:function(e){var o,i=Me(e.replace(Rz,ni_EMPTY_STRING));try{for(i.s();!(o=i.n()).done;){var a=o.value;if(this.isLetter(a))return a}}catch(s){i.e(s)}finally{i.f()}return null}},{key:"shouldBeRTL",value:function(e){return Fz.test(e)}},{key:"isLetter",value:function(e){return Lz.test(e)||this.shouldBeRTL(e)}}]),t}();Js.\u0275fac=function(n){return new(n||Js)(W(qn))},Js.\u0275dir=Fe({type:Js,selectors:[["","sfTextDirection",""]],inputs:{textDirectionValue:"textDirectionValue"},exportAs:["sfTextDirection"]});var ll=function(){function t(){p(this,t)}return h(t,[{key:"innerHtml",get:function(){if(this.sfUnit)return this.wrapInSuperscript(this.sfUnit)}},{key:"wrapInSuperscript",value:function(e){var r=e.substring(0,e.length-1),i=e.slice(-1);return isNaN(parseInt(i))||(e="".concat(r,'').concat(i,"")),e}}]),t}();ll.\u0275fac=function(n){return new(n||ll)},ll.\u0275dir=Fe({type:ll,selectors:[["","sfUnit",""]],hostVars:1,hostBindings:function(n,e){2&n&&rb("innerHtml",e.innerHtml,Pf)},inputs:{sfUnit:"sfUnit"}});var cl="px",jh="auto",fl=function(){function t(n,e){p(this,t),this.window=n,this.element=e,this.bottomTolerance=0,this.movingDirections=new be,this.movingDirectionsInfo={movedLeft:void 0,movedRight:void 0,movedTop:void 0}}return h(t,[{key:"isLeftAligned",get:function(){return-1===this.element.nativeElement.offsetLeft}},{key:"ngAfterViewInit",value:function(){if(this.viewportHeight=this.window.document.documentElement.clientHeight,this.viewportWidth=this.window.document.documentElement.clientWidth,this.elementBoundaries=this.element.nativeElement.getBoundingClientRect(),this.element.nativeElement.offsetParent){this.parentBoundaries=this.element.nativeElement.offsetParent.getBoundingClientRect();var e=this.checkIfInBoundaries();(e.isOutsideLeft||e.isOutsideRight||e.isOutsideBottom||e.isOutsideTop)&&this.returnInBoundaries(e)}}},{key:"returnInBoundaries",value:function(e){this.checkAvailableSpaceAround();var r=this.elementBoundaries.width-this.parentBoundaries.width;if(e.isOutsideLeft&&this.setLeftOrRightPosition(this.availableSpace.rightSpaceAvailable,r,"0"),e.isOutsideRight&&this.setLeftOrRightPosition(this.availableSpace.leftSpaceAvailable,r,jh,"0"),e.isOutsideBottom){var i=this.elementBoundaries.bottom-this.viewportHeight+this.bottomTolerance,o=this.viewportHeight-this.elementBoundaries.bottom-this.bottomTolerance+this.element.nativeElement.offsetTop+cl;this.setTopOrBottomPosition(this.availableSpace.topSpaceAvailable,i,o)}if(e.isOutsideTop){var a=Math.abs(this.elementBoundaries.top);this.setTopOrBottomPosition(this.availableSpace.bottomAvailable,a,cl)}this.movingDirections.emit(this.movingDirectionsInfo)}},{key:"checkIfInBoundaries",value:function(){return{isOutsideTop:this.elementBoundaries.top<0,isOutsideBottom:this.elementBoundaries.bottom>this.viewportHeight-this.bottomTolerance,isOutsideLeft:this.elementBoundaries.left<0,isOutsideRight:this.elementBoundaries.right>this.viewportWidth}}},{key:"checkAvailableSpaceAround",value:function(){this.availableSpace={bottomAvailable:this.viewportHeight-this.parentBoundaries.bottom,topSpaceAvailable:this.parentBoundaries.top,leftSpaceAvailable:this.parentBoundaries.left,rightSpaceAvailable:this.viewportWidth-this.parentBoundaries.right}}},{key:"setLeftOrRightPosition",value:function(e,r,i,o){e>r?this.setLeftOrRight(i,o):this.fallbackLeft()}},{key:"setLeftOrRight",value:function(e,r){e&&(this.handleMoveIndependently||(this.element.nativeElement.style.left=e),this.movingDirectionsInfo.movedLeft=e),r&&(this.handleMoveIndependently||(this.element.nativeElement.style.right=r),this.movingDirectionsInfo.movedRight=r)}},{key:"setTopOrBottomPosition",value:function(e,r,i){e>r?(this.handleMoveIndependently||(this.element.nativeElement.style.top=i),this.movingDirectionsInfo.movedTop=i,this.isLeftAligned?this.availableSpace.rightSpaceAvailable>this.elementBoundaries.width?this.setLeftOrRight(Math.round(this.parentBoundaries.width)+cl,jh):this.setLeftOrRight(jh,Math.round(this.parentBoundaries.width)+cl):this.availableSpace.leftSpaceAvailable>this.elementBoundaries.width?this.setLeftOrRight(jh,Math.round(this.parentBoundaries.width)+cl):this.availableSpace.rightSpaceAvailable>this.elementBoundaries.width?this.setLeftOrRight(Math.round(this.parentBoundaries.width)+cl,jh):this.fallbackLeft()):this.fallbackTop()}},{key:"fallbackLeft",value:function(){var e=this.parentBoundaries.left;this.handleMoveIndependently||(this.element.nativeElement.style.left=-e+cl),this.movingDirectionsInfo.movedLeft=-e+cl}},{key:"fallbackTop",value:function(){var e=this.parentBoundaries.top;this.handleMoveIndependently||(this.element.nativeElement.style.top=-e+"px"),this.movingDirectionsInfo.movedTop=-e+"px"}}]),t}();fl.\u0275fac=function(n){return new(n||fl)(W(Mc),W(qn))},fl.\u0275dir=Fe({type:fl,selectors:[["","sfMoveInViewport",""]],inputs:{bottomTolerance:"bottomTolerance",handleMoveIndependently:"handleMoveIndependently"},outputs:{movingDirections:"movingDirections"},exportAs:["sfMoveInViewport"]});var dl=function(){function t(n,e,r){p(this,t),this.element=n,this.window=e,this.document=r}return h(t,[{key:"onFocus",value:function(){this.placeCaretAtEnd()}},{key:"placeCaretAtEnd",value:function(){if(void 0!==this.window.getSelection&&void 0!==this.document.createRange){var e=this.document.createRange();e.selectNodeContents(this.element.nativeElement),e.collapse(!1);var r=this.window.getSelection();r.removeAllRanges(),r.addRange(e)}}}]),t}();dl.\u0275fac=function(n){return new(n||dl)(W(qn),W(Mc),W(QE))},dl.\u0275dir=Fe({type:dl,selectors:[["","sfCarretPosition",""]],hostBindings:function(n,e){1&n&&Le("focus",function(i){return e.onFocus(i.target)})}});var Pg,Hz="",pl=function(){function t(){p(this,t)}return h(t,[{key:"transform",value:function(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o1){var u=i[1];if(u===Pg.StartsWith&&0!==s){var c,l=Me(Nz);try{for(l.s();!(c=l.n()).done;){var f=c.value,d=f+a;if(-1!==(s=e.toLowerCase().indexOf(d.toLowerCase()))){s++;break}}}catch(N){l.e(N)}finally{l.f()}}}if(-1!==s){var v=a.length,y=e.substr(s,v),b=e.substr(s+v),x=0!==s?e.substr(0,s):ni_EMPTY_STRING,O="".concat("").concat(x).concat("").concat(y).concat("").concat(b).concat(Hz);return O}}return e}}]),t}();pl.\u0275fac=function(n){return new(n||pl)},pl.\u0275pipe=mr({name:"sfBoldText",type:pl,pure:!0}),function(t){t[t.Contains=0]="Contains",t[t.StartsWith=1]="StartsWith"}(Pg||(Pg={}));var Oo=function(){function t(){p(this,t),this.element=document.createElement("span")}return h(t,[{key:"transform",value:function(e){var i,r=this;return Array.isArray(e)?(i=new Array,e.forEach(function(o){r.element.textContent=o,i.push(r.element.innerHTML)})):(this.element.textContent=e,i=this.element.innerHTML),i}}]),t}();Oo.\u0275fac=function(n){return new(n||Oo)},Oo.\u0275pipe=mr({name:"sfHtmlEscape",type:Oo,pure:!0}),Oo.\u0275prov=Xe({token:Oo,factory:Oo.\u0275fac});var kM='',$z="On top level",hl=function(){function t(n){p(this,t),this.htmlEscape=n}return h(t,[{key:"transform",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return"";var a=o?ni_EMPTY_STRING:"".concat("Under"," "),s=this.escapeAndUnifyBreadcrumb(e);return 0===e.length?$z:i?this.directParentBreadcrumb(s,a):r?this.toHtml(s,a):this.fullBreadcrumb(s," > ",a)}},{key:"toHtml",value:function(e,r){return e.length>2?this.shortenedBreadcrumb(e,kM,r):this.fullBreadcrumb(e,kM,r)}},{key:"escapeAndUnifyBreadcrumb",value:function(e){var r=this;return e.map(function(i){return i.Title?r.htmlEscape.transform(i.Title):r.htmlEscape.transform(i)})}},{key:"shortenedBreadcrumb",value:function(e,r,i){var o=e[0],a=e[e.length-1];return"".concat(i).concat(o).concat(r,"...").concat(r).concat(a)}},{key:"fullBreadcrumb",value:function(e,r,i){var o=e.slice().toString().replace(/,/g,r);return"".concat(i).concat(o)}},{key:"directParentBreadcrumb",value:function(e,r){var i=e[e.length-1];return"".concat(r).concat(i)}}]),t}();hl.\u0275fac=function(n){return new(n||hl)(W(Oo,16))},hl.\u0275pipe=mr({name:"sfBreadcrumb",type:hl,pure:!0});var vl=function(){function t(n){p(this,t),this.sanitizer=n}return h(t,[{key:"transform",value:function(e,r){switch(r){case"html":return this.sanitizer.sanitize(Gr.HTML,e);case"style":return this.sanitizer.sanitize(Gr.STYLE,e);case"script":return this.sanitizer.sanitize(Gr.SCRIPT,e);case"url":return this.sanitizer.sanitize(Gr.URL,e);case"resourceUrl":return this.sanitizer.sanitize(Gr.RESOURCE_URL,e);default:throw new Error("Invalid safe type specified: ".concat(r))}}}]),t}();vl.\u0275fac=function(n){return new(n||vl)(W(ju,16))},vl.\u0275pipe=mr({name:"sfSanitizer",type:vl,pure:!0});var DM=[Pc,Rc,pl,Oo,hl,vl],Wz=([_a,Js,ll,fl,dl].concat(DM),[Oc,Vd]),dr=h(function t(){p(this,t)});function Kz(t,n){1&t&&Es(0,0,["*ngIf","!name"])}dr.\u0275fac=function(n){return new(n||dr)},dr.\u0275mod=on({type:dr}),dr.\u0275inj=Qt({providers:[Dz,Az].concat(DM,Wz),imports:[[]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(dr,{declarations:[_a,Js,ll,fl,dl,Pc,Rc,pl,Oo,hl,vl],exports:[_a,Js,ll,fl,dl,Pc,Rc,pl,Oo,hl,vl]});var Ei=function(){function t(){p(this,t)}return h(t,[{key:"ngOnInit",value:function(){this.iconCssClassList=this.generateCssClassList()}},{key:"ngOnChanges",value:function(){this.iconCssClassList=this.generateCssClassList()}},{key:"generateCssClassList",value:function(){var e="sf-icon";return this.name?e+=" sf-fa sf-fa-"+this.name:e+=" -sf-inline-block",this.look&&(e+=" -"+this.look.split(" ").join(" -")),e}}]),t}();Ei.\u0275fac=function(n){return new(n||Ei)},Ei.\u0275cmp=Pt({type:Ei,selectors:[["sf-icon"]],inputs:{name:"name",look:"look"},features:[gr],ngContentSelectors:["*"],decls:2,vars:2,consts:[[4,"ngIf"]],template:function(n,e){1&n&&(Gl(),K(0,"span"),U(1,Kz,1,0,"ng-content",0),Z()),2&n&&(Dt("class",e.iconCssClassList),B(1),I("ngIf",!e.name))},directives:[qt],encapsulation:2});var wn=h(function t(){p(this,t)});wn.\u0275fac=function(n){return new(n||wn)},wn.\u0275mod=on({type:wn}),wn.\u0275inj=Qt({imports:[[tt]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(wn,{declarations:[Ei],imports:[tt],exports:[Ei]});var Yz=["contentWrapper"];function Qz(t,n){if(1&t&&(K(0,"span",4),St(1),Z()),2&t){var e=A();B(1),Ki(" ",e.content," ")}}function Jz(t,n){if(1&t&&(ln(0),St(1),cn()),2&t){var e=A();B(1),vi(e.content)}}function e$(t,n){if(1&t&&it(0,"sf-icon",5),2&t){var e=A();I("name",e.iconName)("look",e.iconName)}}var jd=function(){function t(){p(this,t),this.isAnimated=!1,this.hasIcon=!1}return h(t,[{key:"look",get:function(){return this._look},set:function(e){this._look=e,this.badgeCssClassList=this.generateCssClassList()}},{key:"ngOnInit",value:function(){this.hasIcon=!(!this.iconLook&&!this.iconName),this.isAnimated=this.content&&this.content.length>3,this.badgeCssClassList=this.generateCssClassList()}},{key:"generateCssClassList",value:function(){var e="sf-badge";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.hasIcon&&(e+=" -icon"),this.isAnimated&&(e+=" -floating-txt"),e}}]),t}();jd.\u0275fac=function(n){return new(n||jd)},jd.\u0275cmp=Pt({type:jd,selectors:[["sf-badge"]],viewQuery:function(n,e){var r;(1&n&&Zi(Yz,7),2&n)&&(Nr(r=Or())&&(e.contentWrapper=r.first))},inputs:{look:"look",iconLook:"iconLook",iconName:"iconName",content:"content",color:"color"},decls:5,vars:6,consts:[["contentWrapper",""],["class","sf-badge__animated-content",4,"ngIf"],[4,"ngIf"],[3,"name","look",4,"ngIf"],[1,"sf-badge__animated-content"],[3,"name","look"]],template:function(n,e){1&n&&(K(0,"i",null,0),U(2,Qz,2,1,"span",1),U(3,Jz,2,1,"ng-container",2),U(4,e$,1,2,"sf-icon",3),Z()),2&n&&(Ba("background-color",e.color),Dt("class",e.badgeCssClassList),B(2),I("ngIf",e.isAnimated),B(1),I("ngIf",!e.isAnimated),B(1),I("ngIf",e.hasIcon))},directives:[qt,Ei],encapsulation:2});var Fc=h(function t(){p(this,t)});function r$(t,n){(1&t&&it(0,"div"),2&t)&&ws("sf-loader__rect ",n.$implicit,"")}function i$(t,n){if(1&t&&(ln(0),K(1,"div")(2,"div",1),U(3,r$,1,3,"div",2),Z()(),cn()),2&t){var e=A();B(1),Ba("height",e.height,"px")("width",e.width,"px"),Dt("class",e.generateCssClassList()),B(2),I("ngForOf",e.rectClasses)}}Fc.\u0275fac=function(n){return new(n||Fc)},Fc.\u0275mod=on({type:Fc}),Fc.\u0275inj=Qt({imports:[[tt,wn]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Fc,{declarations:[jd],imports:[tt,wn],exports:[jd]});var TM="-second",eu=function(){function t(){p(this,t),this.iterations=[0]}return h(t,[{key:"ngOnInit",value:function(){this.count&&(this.iterations=Array(this.count).fill(0)),this.rectClasses=["-first",TM,"-third"],this.look&&((this.look.includes("progressbar")||this.look.includes("skeleton")||this.look.includes("solid-block"))&&(this.rectClasses.length=0),this.look.includes("media")&&(this.rectClasses=["-first",TM,"-third","-fourth","-fifth","-sixth"])),this.height&&!this.width&&(this.iterations.length=1,this.rectClasses.length=Math.floor(this.height/16))}},{key:"generateCssClassList",value:function(){var e="sf-loader";return this.look&&(e+=" -"+this.look.split(" ").join(" -"),this.look.includes("solid-block")&&this.width&&this.height&&(e+=" -sf-static")),e}}]),t}();eu.\u0275fac=function(n){return new(n||eu)},eu.\u0275cmp=Pt({type:eu,selectors:[["sf-loader"]],inputs:{look:"look",count:"count",height:"height",width:"width"},decls:1,vars:1,consts:[[4,"ngFor","ngForOf"],[1,"sf-loader__content"],[3,"class",4,"ngFor","ngForOf"]],template:function(n,e){1&n&&U(0,i$,4,6,"ng-container",0),2&n&&I("ngForOf",e.iterations)},directives:[ei],styles:[".sf-loader.-list.-grid[_ngcontent-%COMP%]{border-top:1px solid #eee}.sf-loader.-list.-grid[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid #eee}"]});var c$=["dropdownButton"];function f$(t,n){1&t&&Kn(0)}function d$(t,n){(1&t&&it(0,"sf-loader",8),2&t)&&Yo("look",A(2).loader)}function p$(t,n){1&t&&Kn(0)}function h$(t,n){if(1&t&&(K(0,"span",9),U(1,p$,1,0,"ng-container",10),Z()),2&t){A(2);var e=Cr(6);B(1),I("ngTemplateOutlet",e)}}function v$(t,n){if(1&t&&it(0,"i"),2&t){var e=A(2);Dt("class",e.iconClassName)("title",e.iconTitle)}}function m$(t,n){if(1&t){var e=Wt();K(0,"button",4),Le("click",function(o){return se(e),A().handleClick(o)})("mouseenter",function(o){return se(e),A().handleMouseEnter(o)})("mousedown",function(o){return se(e),A().handleMouseDown(o)}),U(1,d$,1,1,"sf-loader",5),U(2,h$,2,1,"span",6),U(3,v$,1,2,"i",7),Z()}if(2&t){var r=A();Dt("type",r.type)("disabled",!!(r.disabled||r.loader||r.feedback)||null)("class",r.buttonClassName)("title",r.title)("aria-label",r.ariaLabel),B(1),I("ngIf",r.loader),B(1),I("ngIf",!r.icon),B(1),I("ngIf",r.icon||r.feedback)}}function g$(t,n){(1&t&&it(0,"sf-loader",8),2&t)&&Yo("look",A(2).loader)}function y$(t,n){1&t&&Kn(0)}function _$(t,n){if(1&t&&it(0,"i"),2&t){var e=A(2);Dt("class",e.iconClassName)("title",e.iconTitle)}}function C$(t,n){(1&t&&(K(0,"div",14),Es(1),Z()),2&t)&&I("bottomTolerance",A(2).moveInViewportTolerance)}var b$=function(n){return{"-dropdown -dropped":n}};function E$(t,n){if(1&t){var e=Wt();K(0,"div",11,12),Le("contentFocusOut",function(){return se(e),A().toggleIsDropped()})("contentFocusIn",function(){return se(e),A().toggleIsDropped()})("keyup.enter",function(){return se(e),A().toggleIsDropped()})("mouseenter",function(a){return se(e),A().handleMouseEnter(a)})("focus",function(a){return se(e),A().handleMouseEnter(a)})("mousedown",function(a){return se(e),A().handleMouseDown(a)}),U(2,g$,1,1,"sf-loader",5),K(3,"span",9),U(4,y$,1,0,"ng-container",10),Z(),U(5,_$,1,2,"i",7),U(6,C$,2,1,"div",13),Z()}if(2&t){var r=A(),i=Cr(6);I("ngClass",Ha(9,b$,r.dropped)),Dt("disabled",!!(r.disabled||r.loader||r.feedback)||null)("class",r.buttonClassName)("aria-expanded",r.dropped)("aria-label",r.ariaLabel),B(2),I("ngIf",r.loader),B(2),I("ngTemplateOutlet",i),B(1),I("ngIf",r.icon||r.feedback),B(1),I("ngIf",r.dropdown&&r.dropped&&!r.loader)}}function w$(t,n){1&t&&Es(0,1)}var x$=[[["","dropdown",""]],"*"],ts=function(){function t(){p(this,t),this.type="button",this.iconLook="size-xs",this.dropdown=!1,this.dropped=!1,this.onClick=new be,this.onDropdownBtnClick=new be,this.onMouseEnter=new be,this.onMouseDown=new be}return h(t,[{key:"ngOnInit",value:function(){this.generateCssClasses()}},{key:"ngOnChanges",value:function(){this.generateCssClasses()}},{key:"handleMouseEnter",value:function(e){this.onMouseEnter.emit(e)}},{key:"handleMouseDown",value:function(e){this.onMouseDown.emit(e)}},{key:"handleClick",value:function(e){this.disabled?e.stopImmediatePropagation():this.dropdown||this.onClick.emit(e)}},{key:"toggleIsDropped",value:function(){this.dropped=!this.dropped;var e={isDropped:this.dropped,target:this.dropdownButton.nativeElement};this.onClick.emit(this.dropped),this.onDropdownBtnClick.emit(e)}},{key:"generateCssClassList",value:function(){var e="sf-button";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.icon&&!this.feedback&&(e+=" -icon"),this.loader&&(e+=" -loader -inprogress"),this.feedback&&(e+=" -feedback -done"),this.dropped&&(e+=" -dropdown -dropped"),e}},{key:"generateIconCssClassList",value:function(){var e="sf-button__icon sf-icon sf-fa sf-fa-";return this.feedback?e+="check":e+=this.icon,this.iconLook&&(e+=" -"+this.iconLook.split(" ").join(" -")),e}},{key:"generateCssClasses",value:function(){this.buttonClassName=this.generateCssClassList(),this.iconClassName=this.generateIconCssClassList()}}]),t}();ts.\u0275fac=function(n){return new(n||ts)},ts.\u0275cmp=Pt({type:ts,selectors:[["sf-button"]],viewQuery:function(n,e){var r;(1&n&&Zi(c$,5),2&n)&&(Nr(r=Or())&&(e.dropdownButton=r.first))},inputs:{look:"look",type:"type",icon:"icon",iconLook:"iconLook",iconTitle:"iconTitle",loader:"loader",moveInViewportTolerance:"moveInViewportTolerance",feedback:"feedback",dropdown:"dropdown",dropped:"dropped",disabled:"disabled",title:"title",ariaLabel:"ariaLabel"},outputs:{onClick:"onClick",onDropdownBtnClick:"onDropdownBtnClick",onMouseEnter:"onMouseEnter",onMouseDown:"onMouseDown"},features:[gr],ngContentSelectors:["[dropdown]","*"],decls:7,vars:3,consts:[[4,"ngIf","ngIfThen","ngIfElse"],["buttonTlp",""],["dropdownTlp",""],["contentTpl",""],[3,"click","mouseenter","mousedown"],[3,"look",4,"ngIf"],["class","sf-button__content",4,"ngIf"],[4,"ngIf"],[3,"look"],[1,"sf-button__content"],[4,"ngTemplateOutlet"],["sfTrackFocus","","role","listbox","aria-haspopup","true","tabindex","0","data-sftest","sf-dropdown-button",3,"ngClass","contentFocusOut","contentFocusIn","keyup.enter","mouseenter","focus","mousedown"],["dropdownButton",""],["sfMoveInViewport","","class","sf-button__dropdown",3,"bottomTolerance",4,"ngIf"],["sfMoveInViewport","",1,"sf-button__dropdown",3,"bottomTolerance"]],template:function(n,e){if(1&n&&(Gl(x$),U(0,f$,1,0,"ng-container",0),U(1,m$,4,8,"ng-template",null,1,Pr),U(3,E$,7,11,"ng-template",null,2,Pr),U(5,w$,1,0,"ng-template",null,3,Pr)),2&n){var r=Cr(2),i=Cr(4);I("ngIf",e.dropdown)("ngIfThen",i)("ngIfElse",r)}},directives:[qt,eu,Rr,_a,Jr,fl],encapsulation:2});var I$=["donut"],A$=["heatMap"],M$=["lineChart"];function N$(t,n){1&t&&Kn(0)}var Hh,O$=function(){return{class:"sf-chart-loader__content"}};function P$(t,n){if(1&t&&(K(0,"div"),U(1,N$,1,0,"ng-container",4),Z()),2&t){var e=A();Dt("class",e.loaderCssClass),B(1),I("ngTemplateOutlet",e.loaderTemplate)("ngTemplateOutletContext",ks(3,O$))}}function R$(t,n){(1&t&&(Xv(),K(0,"svg",5)(1,"title"),St(2,"Donut chart skeleton"),Z(),K(3,"desc"),St(4,"A skeleton loader for donut look charts"),Z(),K(5,"g",6),it(6,"path",7),Z()()),2&t)&&I("ngClass",n.class)}function F$(t,n){(1&t&&(Xv(),K(0,"svg",8)(1,"title"),St(2,"Heat map skeleton"),Z(),K(3,"desc"),St(4,"A skeleton loader for heat map"),Z(),K(5,"g",6)(6,"g",9),it(7,"rect",10)(8,"rect",11)(9,"rect",12)(10,"rect",13)(11,"rect",14)(12,"rect",15)(13,"rect",16)(14,"rect",17)(15,"rect",18)(16,"rect",19)(17,"rect",20)(18,"rect",21)(19,"rect",22)(20,"rect",23)(21,"rect",24)(22,"rect",25)(23,"rect",26)(24,"rect",27)(25,"rect",28)(26,"rect",29)(27,"rect",30)(28,"rect",31)(29,"rect",32)(30,"rect",33)(31,"rect",34),Z()()()),2&t)&&I("ngClass",n.class)}function L$(t,n){(1&t&&(Xv(),K(0,"svg",35)(1,"title"),St(2,"Line chart skeleton"),Z(),K(3,"desc"),St(4,"A skeleton loader for line look charts"),Z(),K(5,"g",6)(6,"g",36),it(7,"rect",37)(8,"rect",38)(9,"rect",39)(10,"rect",40)(11,"rect",41)(12,"rect",42),Z()()()),2&t)&&I("ngClass",n.class)}!function(t){t.Donut="donut",t.Line="line",t.HeatMap="heat-map"}(Hh||(Hh={}));var Hd=function(){function t(){p(this,t),this.loaderCssClass="sf-chart-loader"}return h(t,[{key:"ngOnInit",value:function(){switch(this.type){case Hh.Donut:this.loaderTemplate=this.donut;break;case Hh.HeatMap:this.loaderTemplate=this.heatMap;break;case Hh.Line:this.loaderTemplate=this.lineChart}this.generateCssClassList()}},{key:"generateCssClassList",value:function(){this.look&&(this.loaderCssClass+=" -"+this.look.split(" ").join(" -")),this.type&&(this.loaderCssClass+=" -".concat(this.type))}}]),t}();Hd.\u0275fac=function(n){return new(n||Hd)},Hd.\u0275cmp=Pt({type:Hd,selectors:[["sf-chart-loader"]],viewQuery:function(n,e){var r;(1&n&&(Zi(I$,7),Zi(A$,7),Zi(M$,7)),2&n)&&(Nr(r=Or())&&(e.donut=r.first),Nr(r=Or())&&(e.heatMap=r.first),Nr(r=Or())&&(e.lineChart=r.first))},inputs:{type:"type",look:"look"},decls:7,vars:1,consts:[[4,"ngIf"],["donut",""],["heatMap",""],["lineChart",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["viewBox","0 0 400 400","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Page-1","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["d","M200,400 C89.54305,400 0,310.45695 0,200 C0,89.54305 89.54305,0 200,0 C310.45695,0 400,89.54305 400,200 C400,310.45695 310.45695,400 200,400 Z M199.115044,286.956522 C247.501053,286.956522 286.725664,247.635443 286.725664,199.130435 C286.725664,150.625426 247.501053,111.304348 199.115044,111.304348 C150.729035,111.304348 111.504425,150.625426 111.504425,199.130435 C111.504425,247.635443 150.729035,286.956522 199.115044,286.956522 Z","id","Combined-Shape","fill","#F0F0F0"],["preserveAspectRatio","none","viewBox","0 0 1440 166","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Group-32","fill","#F0F0F0"],["id","Rectangle","x","139","y","46","width","1301","height","120"],["id","Rectangle","x","139","y","0","width","100","height","10"],["id","Rectangle","x","139","y","16","width","80.8333333","height","10"],["id","Rectangle","x","269","y","0","width","100","height","10"],["id","Rectangle","x","269","y","16","width","80.8333333","height","10"],["id","Rectangle","x","399","y","0","width","100","height","10"],["id","Rectangle","x","399","y","16","width","80.8333333","height","10"],["id","Rectangle","x","530","y","0","width","100","height","10"],["id","Rectangle","x","530","y","16","width","80.8333333","height","10"],["id","Rectangle","x","660","y","0","width","100","height","10"],["id","Rectangle","x","660","y","16","width","80.8333333","height","10"],["id","Rectangle","x","790","y","0","width","100","height","10"],["id","Rectangle","x","790","y","16","width","80.8333333","height","10"],["id","Rectangle","x","920","y","0","width","100","height","10"],["id","Rectangle","x","920","y","16","width","80.8333333","height","10"],["id","Rectangle","x","1051","y","0","width","100","height","10"],["id","Rectangle","x","1051","y","16","width","80.8333333","height","10"],["id","Rectangle","x","1181","y","0","width","100","height","10"],["id","Rectangle","x","1181","y","16","width","80.8333333","height","10"],["id","Rectangle","x","1311","y","0","width","100","height","10"],["id","Rectangle","x","1311","y","16","width","80.8333333","height","10"],["id","Rectangle","x","0","y","46","width","120","height","10"],["id","Rectangle","x","23","y","83","width","97","height","10"],["id","Rectangle","x","3","y","119","width","117","height","10"],["id","Rectangle","x","23","y","156","width","97","height","10"],["preserveAspectRatio","none","viewBox","0 0 1301 140","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Group-31","fill","#F0F0F0"],["id","Rectangle","x","0","y","0","width","1301","height","120"],["id","Rectangle","x","0","y","130","width","50","height","10"],["id","Rectangle","x","313","y","130","width","50","height","10"],["id","Rectangle","x","626","y","130","width","50","height","10"],["id","Rectangle","x","938","y","130","width","50","height","10"],["id","Rectangle","x","1251","y","130","width","50","height","10"]],template:function(n,e){1&n&&(U(0,P$,2,4,"div",0),U(1,R$,7,1,"ng-template",null,1,Pr),U(3,F$,32,1,"ng-template",null,2,Pr),U(5,L$,13,1,"ng-template",null,3,Pr)),2&n&&I("ngIf",e.loaderTemplate)},directives:[qt,Rr,Jr],styles:[".sf-chart-loader__content[_ngcontent-%COMP%]{will-change:opacity;animation:sfLoadingSkeleton 1s linear infinite}@keyframes sfLoadingSkeleton{0%{opacity:.5}50%{opacity:.8}to{opacity:.9}}@media (prefers-reduced-motion: reduce){@keyframes sfLoadingSkeleton{0%{opacity:1}}}.sf-chart-loader[_ngcontent-%COMP%]{position:relative;box-sizing:border-box}.sf-chart-loader.-donut[_ngcontent-%COMP%]{height:350px}.sf-chart-loader.-donut.-height-100[_ngcontent-%COMP%]{height:100%}.sf-chart-loader.-heat-map[_ngcontent-%COMP%]{height:166px}.sf-chart-loader.-line[_ngcontent-%COMP%]{height:140px}.sf-chart-loader__content[_ngcontent-%COMP%]{position:relative;height:100%;width:100%}"]});var Hi=h(function t(){p(this,t)});Hi.\u0275fac=function(n){return new(n||Hi)},Hi.\u0275mod=on({type:Hi}),Hi.\u0275inj=Qt({imports:[[tt]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Hi,{declarations:[eu,Hd],imports:[tt],exports:[eu,Hd]});var ri=h(function t(){p(this,t)});function B$(t,n){if(1&t){var e=Wt();K(0,"span",4),Le("click",function(o){se(e);var a=A();return a.disabled?null:a.onSelectionChanged(o)}),St(1),Z()}if(2&t){var r=A();zr("-sf-clickable",!r.disabled),B(1),vi(r.getOnOrOffText())}}function V$(t,n){if(1&t&&it(0,"sf-icon",5),2&t){var e=A();I("name",e.getOnOrOffButtonIconName())("look",e.getOnOrOffButtonLook())}}function j$(t,n){1&t&&it(0,"sf-loader",6)}ri.\u0275fac=function(n){return new(n||ri)},ri.\u0275mod=on({type:ri}),ri.\u0275inj=Qt({imports:[[tt,dr,Hi]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(ri,{declarations:[ts],imports:[tt,dr,Hi],exports:[ts]});var Ud=function(){function t(){p(this,t),this.isOn=!1,this.showText=!0,this.isLoading=!1,this.disabled=!1,this.selectionChange=new be}return h(t,[{key:"ngOnInit",value:function(){this.cssClassList=this.generateSwitchCssClass()}},{key:"onSelectionChanged",value:function(e){e&&e.preventDefault(),this.isOn=!this.isOn,this.selectionChange.emit(this.isOn)}},{key:"getOnOrOffText",value:function(){return this.isOn?this.onText:this.offText}},{key:"getOnOrOffButtonIconName",value:function(){return this.isOn?"toggle-on":"toggle-off"}},{key:"getOnOrOffButtonLook",value:function(){var e="";return this.isOn?e="positive":this.disabled&&(e="lightest"),e+" size-xl sf-ml-3xs"}},{key:"generateSwitchCssClass",value:function(){var e="sf-switch";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.disabled&&(e+=" -disabled"),e}}]),t}();Ud.\u0275fac=function(n){return new(n||Ud)},Ud.\u0275cmp=Pt({type:Ud,selectors:[["sf-switch"]],inputs:{id:"id",onText:"onText",offText:"offText",isOn:"isOn",showText:"showText",isLoading:"isLoading",disabled:"disabled",look:"look"},outputs:{selectionChange:"selectionChange"},decls:5,vars:7,consts:[["class","-sf-txt-base",3,"-sf-clickable","click",4,"ngIf"],["role","switch",3,"disabled","id","click"],[3,"name","look",4,"ngIf"],["class","-sf-flex","look","inline sf-ml-3xs",4,"ngIf"],[1,"-sf-txt-base",3,"click"],[3,"name","look"],["look","inline sf-ml-3xs",1,"-sf-flex"]],template:function(n,e){1&n&&(K(0,"div"),U(1,B$,2,3,"span",0),K(2,"button",1),Le("click",function(i){return e.onSelectionChanged(i)}),U(3,V$,1,2,"sf-icon",2),U(4,j$,1,0,"sf-loader",3),Z()()),2&n&&(Dt("class",e.cssClassList),B(1),I("ngIf",e.showText),B(1),Yo("id",e.id),I("disabled",e.disabled),Dt("aria-checked",e.isOn),B(1),I("ngIf",!e.isLoading),B(1),I("ngIf",e.isLoading))},directives:[qt,Ei,eu],encapsulation:2});var Lc=h(function t(){p(this,t)});function H$(t,n){1&t&&Kn(0)}function U$(t,n){if(1&t&&(K(0,"div",2),U(1,H$,1,0,"ng-container",3),Z()),2&t){A();var e=Cr(2);B(1),I("ngTemplateOutlet",e)}}function q$(t,n){if(1&t){var e=Wt();K(0,"sf-icon",7),Le("click",function(o){return se(e),A(2).onCloseButtonClick(o)}),Z()}if(2&t){var r=A(2);I("name",r.isTooltip?null:"times")("look",r.isTooltip?"size-2xs black close":"size-3xs darkest")("title",r.isTooltip?"Hide":"Remove")}}function G$(t,n){if(1&t&&(K(0,"h4",8),St(1),Z()),2&t){var e=A(2);B(1),vi(e.caption)}}function z$(t,n){if(1&t&&(K(0,"div"),U(1,q$,1,3,"sf-icon",4),K(2,"div",5),U(3,G$,2,1,"h4",6),Es(4),Z()()),2&t){var e=A();Dt("class",e.notificationCssClassList),B(1),I("ngIf",e.checkObservers()),B(2),I("ngIf",e.caption)}}Lc.\u0275fac=function(n){return new(n||Lc)},Lc.\u0275mod=on({type:Lc}),Lc.\u0275inj=Qt({imports:[[tt,wn,ri,Hi]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Lc,{declarations:[Ud],imports:[tt,wn,ri,Hi],exports:[Ud]});var ml=function(){function t(){p(this,t),this.onClose=new be,this.isTooltip=!1,this.isFixed=!1}return h(t,[{key:"ngOnInit",value:function(){this.isTooltip=this.look&&this.look.includes("tooltip"),this.isFixed=this.look&&this.look.includes("fixed"),this.notificationCssClassList=this.generateCssClassList()}},{key:"ngOnChanges",value:function(e){e&&this.handleChanges(e)}},{key:"generateCssClassList",value:function(){var e="sf-notification";return this.look&&(e+=" -"+this.look.split(" ").join(" -"),this.isFixed&&!this.look.includes("inline")&&(e+=" -inline")),e}},{key:"checkObservers",value:function(){return this.onClose.observers.length}},{key:"onCloseButtonClick",value:function(e){this.onClose.emit(e)}},{key:"handleChanges",value:function(e){e.look&&e.look.previousValue!==e.look.currentValue&&(this.notificationCssClassList=this.generateCssClassList()),e.caption&&e.caption.previousValue!==e.caption.currentValue&&(this.caption=e.caption.currentValue)}}]),t}();ml.\u0275fac=function(n){return new(n||ml)},ml.\u0275cmp=Pt({type:ml,selectors:[["sf-notification"]],inputs:{look:"look",caption:"caption"},outputs:{onClose:"onClose"},features:[gr],ngContentSelectors:["*"],decls:3,vars:2,consts:[["class","sf-notification-wrapper",4,"ngIf","ngIfElse"],["noWrapperTemplate",""],[1,"sf-notification-wrapper"],[4,"ngTemplateOutlet"],["class","sf-notification__close-button",3,"name","look","title","click",4,"ngIf"],["data-sftest","notificationContent",1,"sf-notification__content"],["class","-sf-h-large",4,"ngIf"],[1,"sf-notification__close-button",3,"name","look","title","click"],[1,"-sf-h-large"]],template:function(n,e){if(1&n&&(Gl(),U(0,U$,2,1,"div",0),U(1,z$,5,3,"ng-template",null,1,Pr)),2&n){var r=Cr(2);I("ngIf",e.isFixed)("ngIfElse",r)}},directives:[qt,Rr,Ei],encapsulation:2});var Rg=h(function t(){p(this,t)});Rg.Up="up",Rg.Down="down",Rg.Left="left",Rg.Right="right";var Ca=h(function t(){p(this,t)});function X$(t,n){if(1&t&&(ln(0),St(1),it(2,"br"),cn()),2&t){var e=n.$implicit;B(1),vi(e)}}function Y$(t,n){if(1&t&&(ln(0,null,1),U(2,X$,3,1,"ng-container",2),cn()),2&t){var e=A();B(2),I("ngForOf",e.filteredMessages)}}Ca.\u0275fac=function(n){return new(n||Ca)},Ca.\u0275mod=on({type:Ca}),Ca.\u0275inj=Qt({imports:[[tt,wn]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Ca,{declarations:[ml],imports:[tt,wn],exports:[ml]});var Bc=function(){function t(){p(this,t),this.errorClass=!0}return h(t,[{key:"ngOnChanges",value:function(e){e&&e.messages&&(this.filteredMessages=Array.from(new Set(this.messages)))}}]),t}();Bc.\u0275fac=function(n){return new(n||Bc)},Bc.\u0275cmp=Pt({type:Bc,selectors:[["sf-error"]],hostVars:2,hostBindings:function(n,e){2&n&&zr("sf-error",e.errorClass)},inputs:{messages:"messages"},features:[gr],decls:1,vars:1,consts:[[4,"ngIf"],["wrapper",""],[4,"ngFor","ngForOf"]],template:function(n,e){1&n&&U(0,Y$,3,1,"ng-container",0),2&n&&I("ngIf",e.filteredMessages)},directives:[qt,ei],encapsulation:2});var gl,qd,tu=h(function t(){p(this,t)});tu.\u0275fac=function(n){return new(n||tu)},tu.\u0275mod=on({type:tu}),tu.\u0275inj=Qt({imports:[[tt]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(tu,{declarations:[Bc],imports:[tt],exports:[Bc]}),function(t){t[t.Bold=0]="Bold",t[t.Italic=1]="Italic",t[t.NewLine=2]="NewLine",t[t.GrayedOut=3]="GrayedOut",t[t.Title=4]="Title",t[t.HtmlCode=5]="HtmlCode"}(gl||(gl={})),function(t){t[t.List=0]="List",t[t.Text=1]="Text",t[t.Html=2]="Html"}(qd||(qd={}));var Q$={sectionTypes:qd,chunkPresentation:gl};function J$(t,n){1&t&&Kn(0)}var ew=function(n){return{textSection:n}};function eW(t,n){if(1&t&&(K(0,"li"),U(1,J$,1,0,"ng-container",8),Z()),2&t){var e=n.$implicit;A(2);var r=Cr(5);B(1),I("ngTemplateOutlet",r)("ngTemplateOutletContext",Ha(2,ew,e))}}function tW(t,n){if(1&t&&(K(0,"ul",6),U(1,eW,2,4,"li",7),Z()),2&t){var e=A().$implicit;B(1),I("ngForOf",e.Items)}}function nW(t,n){1&t&&Kn(0)}function rW(t,n){if(1&t&&(ln(0),U(1,nW,1,0,"ng-container",8),cn()),2&t){var e=A().$implicit,r=Cr(5);B(1),I("ngTemplateOutlet",r)("ngTemplateOutletContext",Ha(2,ew,e))}}function iW(t,n){1&t&&Kn(0)}function oW(t,n){if(1&t&&(ln(0),U(1,iW,1,0,"ng-container",8),cn()),2&t){var e=A().$implicit,r=Cr(7);B(1),I("ngTemplateOutlet",r)("ngTemplateOutletContext",Ha(2,ew,e))}}function aW(t,n){if(1&t&&(ln(0),K(1,"span",1),St(2),Z(),cn()),2&t){var e=n.$implicit,r=A(3);B(1),I("ngClass",r.getClasses(e)),B(1),Ki(" ",e.Value," ")}}function sW(t,n){if(1&t&&(K(0,"div"),U(1,aW,3,2,"ng-container",7),Z()),2&t){var e=n.textSection;B(1),I("ngForOf",e.Chunks)}}function uW(t,n){if(1&t&&(ln(0),it(1,"span",9),cn()),2&t){var e=n.$implicit,r=A(3);B(1),I("ngClass",r.getClasses(e))("innerHtml",e.Value,Pf)}}function lW(t,n){if(1&t&&(K(0,"div"),U(1,uW,2,2,"ng-container",7),Z()),2&t){var e=n.textSection;B(1),I("ngForOf",e.Chunks)}}var cW=function(n){return{"-sf-mb-xs":n}};function fW(t,n){if(1&t&&(K(0,"div",1),U(1,tW,2,1,"ul",2),U(2,rW,2,4,"ng-container",3),U(3,oW,2,4,"ng-container",3),U(4,sW,2,1,"ng-template",null,4,Pr),U(6,lW,2,1,"ng-template",null,5,Pr),Z()),2&t){var e=n.$implicit,r=n.last,i=A();I("ngClass",Ha(4,cW,!r)),B(1),I("ngIf",e.Type===i.markupTypes.sectionTypes.List),B(1),I("ngIf",e.Type===i.markupTypes.sectionTypes.Text),B(1),I("ngIf",e.Type===i.markupTypes.sectionTypes.Html)}}var MM="h4 -sf-h-large",NM="-sf-block",Vc=function(){function t(){p(this,t),this.markupModel=[],this.markupTypes=Q$,this.classesCache=new Map}return h(t,[{key:"ngOnChanges",value:function(e){e.markupModel&&this.initClasses()}},{key:"getClasses",value:function(e){return this.classesCache.get(e)}},{key:"initClasses",value:function(){var i,e=this,r=Me(this.markupModel);try{for(r.s();!(i=r.n()).done;){var o=i.value;switch(o.Type){case qd.List:o.Items.forEach(function(a){return e.setClasses(a)});break;case qd.Text:case qd.Html:this.setClasses(o)}}}catch(a){r.e(a)}finally{r.f()}}},{key:"setClasses",value:function(e){var i,r=Me(e.Chunks);try{for(r.s();!(i=r.n()).done;){var o=i.value;if(this.getClasses(o))return;var u,a=[],s=Me(o.Presentation);try{for(s.s();!(u=s.n()).done;){switch(u.value){case gl.GrayedOut:a.push("-sf-txt-dimmed");break;case gl.Bold:a.push(MM);break;case gl.NewLine:a.push(NM);break;case gl.Title:a.push(MM,NM);break;case gl.HtmlCode:a.push("-sf-txt-code")}}}catch(c){s.e(c)}finally{s.f()}this.classesCache.set(o,a)}}catch(c){r.e(c)}finally{r.f()}}}]),t}();Vc.\u0275fac=function(n){return new(n||Vc)},Vc.\u0275cmp=Pt({type:Vc,selectors:[["sf-markup-generator"]],inputs:{markupModel:"markupModel"},features:[gr],decls:1,vars:1,consts:[[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],["class","-sf-ml-2xs -list-style-disc",4,"ngIf"],[4,"ngIf"],["textSectionTemplate",""],["htmlSectionTemplate",""],[1,"-sf-ml-2xs","-list-style-disc"],[4,"ngFor","ngForOf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngClass","innerHtml"]],template:function(n,e){1&n&&U(0,fW,8,6,"div",0),2&n&&I("ngForOf",e.markupModel)},directives:[ei,Jr,qt,Rr],encapsulation:2,changeDetection:0});var hW=["input"];function vW(t,n){if(1&t&&(K(0,"label",14),St(1),Z()),2&t){var e=A();Dt("for",e.name),B(1),vi(e.label)}}function mW(t,n){if(1&t){var e=Wt();K(0,"sf-button",15),Le("click",function(){return se(e),A().stepDown()}),St(1,"Down"),Z()}if(2&t){var r=A();I("disabled",r.disableStepDown)("look",r.steppersButtonLook)}}function gW(t,n){if(1&t){var e=Wt();K(0,"input",16,17),Le("ngModelChange",function(o){return se(e),A().value=o})("blur",function(o){return se(e),A().handleBlur(o)})("focus",function(o){return se(e),A().handleFocus(o)})("input",function(o){return se(e),A().handleInput(o)})("keyup.enter",function(o){return se(e),A().handleEnter(o)})("keydown.escape",function(o){return se(e),A().handleEscape(o)})("keydown.arrowUp",function(o){return se(e),A().handleArrowUp(o)})("keydown.arrowDown",function(o){return se(e),A().handleArrowDown(o)}),Z()}if(2&t){var r=A();I("textDirectionValue",r.value)("pattern",r.pattern)("required",r.required)("readonly",r.readonly)("disabled",r.disabled)("autofocus",r.autofocus)("ngModel",r.value),Dt("id",r.name)("type",r.type)("name",r.name)("placeholder",r.placeholder)("aria-label",r.ariaLabelValue)("aria-labelledby",r.ariaLabelledby)("autocomplete",r.autocomplete)("autofocus",r.autofocus)("minlength",r.minlength)("maxlength",r.maxlength)("min",r.min)("max",r.max)("step",r.step)}}function yW(t,n){if(1&t){var e=Wt();K(0,"sf-button",18),Le("click",function(){return se(e),A().stepUp()}),St(1,"Up"),Z()}if(2&t){var r=A();I("disabled",r.disableStepUp)("look",r.steppersButtonLook)}}function _W(t,n){if(1&t){var e=Wt();K(0,"textarea",19,17),Le("ngModelChange",function(o){return se(e),A().value=o})("blur",function(o){return se(e),A().handleBlur(o)})("focus",function(o){return se(e),A().handleFocus(o)})("input",function(o){return se(e),A().handleInput(o)})("keyup.enter",function(o){return se(e),A().handleEnter(o)})("keydown.escape",function(o){return se(e),A().handleEscape(o)})("keydown.arrowUp",function(o){return se(e),A().handleArrowUp(o)})("keydown.arrowDown",function(o){return se(e),A().handleArrowDown(o)}),St(2," "),Z()}if(2&t){var r=A();I("textDirectionValue",r.value)("pattern",r.pattern)("required",r.required)("readonly",r.readonly)("disabled",r.disabled)("autofocus",r.autofocus)("ngModel",r.value),Dt("id",r.name)("name",r.name)("rows",r.rows)("placeholder",r.placeholder)("aria-label",r.ariaLabelValue)("aria-labelledby",r.ariaLabelledby)("minlength",r.minlength)("maxlength",r.maxlength)}}function CW(t,n){if(1&t){var e=Wt();K(0,"h1",20,17),Le("blur",function(o){return se(e),A().handleBlur(o)})("focus",function(o){return se(e),A().handleFocus(o)})("input",function(o){return se(e),A().handleInput(o)})("textinput",function(o){return se(e),A().handleInput(o)})("keydown.enter",function(o){return se(e),A().handleEnter(o)})("keydown.escape",function(o){return se(e),A().handleEscape(o)})("keydown.arrowUp",function(o){return se(e),A().handleArrowUp(o)})("keydown.arrowDown",function(o){return se(e),A().handleArrowDown(o)})("paste",function(o){return se(e),A().handlePaste(o)}),Z()}if(2&t){var r=A();zr("-placeholder",null===r.value||""===r.value),I("textDirectionValue",r.value),Dt("contenteditable",!r.readonly)("aria-label",r.ariaLabelValue)("aria-labelledby",r.ariaLabelledby)("data-placeholder",r.placeholder)}}function bW(t,n){if(1&t&&(K(0,"label",21),St(1),Z()),2&t){var e=A();I("sfUnit",e.unit),Dt("class",e.unitCssClass)("for",e.name),B(1),Ki(" ",e.unit," ")}}function EW(t,n){if(1&t&&(K(0,"div",22),it(1,"sf-error",23),Z()),2&t){var e=A();B(1),I("messages",e.validationMessages)}}function wW(t,n){if(1&t&&(ln(0),St(1),cn()),2&t){var e=A(2);B(1),Ki(" ",e.hint," ")}}function xW(t,n){if(1&t&&(K(0,"p",24),U(1,wW,2,1,"ng-container",25),Z()),2&t){var e=A(),r=Cr(14);B(1),I("ngIf",e.isHintString)("ngIfElse",r)}}function kW(t,n){if(1&t){var e=Wt();K(0,"span",26),Le("click",function(){return se(e),A().handleClear()}),it(1,"sf-icon",27),Z()}2&t&&zr("-show",A().value)}function DW(t,n){if(1&t&&(ln(0),St(1),cn()),2&t){var e=A(2);B(1),Ki(" ",e.hint," ")}}function SW(t,n){if(1&t){var e=Wt();K(0,"div",28)(1,"div",29)(2,"sf-icon",30),Le("click",function(){return se(e),A().onToggleTooltip()}),Z(),K(3,"sf-notification",31),U(4,DW,2,1,"ng-container",25),Z()()()}if(2&t){var r=A(),i=Cr(14);B(1),zr("-dropped",r.droppedTooltip),B(3),I("ngIf",r.isHintString)("ngIfElse",i)}}var TW=function(n){return{"-error":n}};function IW(t,n){if(1&t&&(K(0,"span",32),St(1),Z()),2&t){var e=A();I("ngClass",Ha(2,TW,e.exceedRecommendedCharacters)),B(1),Ki(" ",e.innerValue.toString().trim().length," ")}}function AW(t,n){(1&t&&it(0,"sf-markup-generator",33),2&t)&&I("markupModel",A().hint)}var OM=function(){},NW={provide:ia,useExisting:_n(function(){return nu}),multi:!0},nu=function(){function t(n){p(this,t),this.window=n,this.type="text",this.onFocus=new be,this.onBlur=new be,this.onInput=new be,this.onEnter=new be,this.onEscape=new be,this.onArrowUp=new be,this.onArrowDown=new be,this.onClear=new be,this.innerValue="",this.enableCharCounter=!1,this.onTouchedCallback=OM,this.onChangeCallback=OM,this.helperInput=this.window.document.createElement("input")}return h(t,[{key:"charCounterVisible",get:function(){return(void 0!==this.recommendedCharacters||this.showCharCounter)&&this.enableCharCounter&&this.innerValue&&this.innerValue.toString().length>0}},{key:"exceedRecommendedCharacters",get:function(){return this.innerValue&&this.innerValue.length>this.recommendedCharacters}},{key:"ngOnInit",value:function(){this.steppersButtonLook=this.generateSteppersLook(),this.unitCssClass=this.generateUnitCssClassList(),this.ariaLabelValue=this.getAriaLabel(),this.checkHintType()}},{key:"ngOnChanges",value:function(e){e&&e.hint&&this.checkHintType()}},{key:"ngAfterViewInit",value:function(){this.inputElement&&this.autofocus&&"title"===this.type&&this.focusTitle(),this.autofocus&&this.inputElement.nativeElement.focus()}},{key:"value",get:function(){return this.innerValue},set:function(e){"number"===this.type&&(this.min||this.max)&&(e=this.enforceMinMax(e),this.enableStepperArrows&&(this.disableStepUp=this.checkShouldDisableSteps(e),this.disableStepDown=this.checkShouldDisableSteps(e,!1))),e!==this.innerValue&&(this.innerValue=e,this.onChangeCallback(e))}},{key:"showClearButton",get:function(){return("text"===this.type||"search"===this.type)&&this.look&&this.look.includes("clearable")}},{key:"handleBlur",value:function(e){this.onBlur.emit(e),this.onTouchedCallback(),this.enableCharCounter=this.exceedRecommendedCharacters}},{key:"handleInput",value:function(e){"title"===this.type&&(this.value=e.target.textContent),e.value=this.value,this.onInput.emit(e)}},{key:"handleEnter",value:function(e){"title"===this.type&&e.preventDefault(),this.onEnter.emit(e)}},{key:"handleEscape",value:function(e){this.onEscape.emit(e)}},{key:"handleArrowUp",value:function(e){this.onArrowUp.emit(e)}},{key:"handleArrowDown",value:function(e){this.onArrowDown.emit(e)}},{key:"handlePaste",value:function(e){if("title"===this.type){e.preventDefault();var r=e.clipboardData.getData("text/plain");this.window.document.execCommand("insertText",!1,r),this.helperInput.value=this.inputElement.nativeElement.textContent.trim().replace(/\s\s+/g," "),this.inputElement.nativeElement.innerText=this.helperInput.value.trim(),this.focusTitle()}}},{key:"handleFocus",value:function(e){this.onFocus.emit(e),this.enableCharCounter=!0}},{key:"handleClear",value:function(){this.value="",this.onClear.emit(this.value)}},{key:"writeValue",value:function(e){e!==this.innerValue&&(this.innerValue=e,this.value=e,this.enableCharCounter=this.exceedRecommendedCharacters,"title"===this.type&&this.inputElement&&(this.inputElement.nativeElement.textContent=this.value))}},{key:"registerOnChange",value:function(e){this.onChangeCallback=e}},{key:"registerOnTouched",value:function(e){this.onTouchedCallback=e}},{key:"onToggleTooltip",value:function(){this.droppedTooltip=!this.droppedTooltip}},{key:"generateCssClassList",value:function(){var e="sf-input";return this.showCharCounter&&(e+=" -char-counter"),this.validationMessages&&this.validationMessages.length>0?e+=" ng-invalid ng-dirty":e+=" ng-valid",this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.required&&(e+=" -required"),("title"===this.type||"textarea"===this.type)&&(e+=" -"+this.type),this.hint&&this.hint.length>0&&"title"===this.type&&(e+=" -side-content"),this.unit&&"title"!==this.type&&"textarea"!==this.type&&(e+=" -unit",this.unitPosition&&(e+=" -".concat(this.unitPosition))),e}},{key:"generateUnitCssClassList",value:function(){var e="sf-icon -darker sf-input__unit";return this.unitLook&&(e+=" -"+this.unitLook.split(" ").join(" -")),e}},{key:"generateSteppersLook",value:function(){var e="no-border sf-mr-zero sf-full-height ";return this.steppersLook&&(e+=this.steppersLook),e}},{key:"focusTitle",value:function(){var e=this;setTimeout(function(){return e.placeCaretAtEnd(e.inputElement.nativeElement)})}},{key:"stepUp",value:function(){this.inputElement.nativeElement.stepUp(),this.value=this.inputElement.nativeElement.value,this.onInput.emit({value:this.value})}},{key:"stepDown",value:function(){this.inputElement.nativeElement.stepDown(),this.value=this.inputElement.nativeElement.value,this.onInput.emit({value:this.value})}},{key:"checkShouldDisableSteps",value:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=r?this.max:this.min;return i&&i===parseFloat(e)}},{key:"focus",value:function(){this.inputElement&&(this.inputElement.nativeElement.focus(),"title"===this.type&&this.inputElement.nativeElement.click())}},{key:"placeCaretAtEnd",value:function(e){var r,i;e.focus(),void 0!==this.window.getSelection&&void 0!==this.window.document.createRange&&((i=this.window.document.createRange()).selectNodeContents(e),i.collapse(!1),(r=this.window.getSelection()).removeAllRanges(),r.addRange(i))}},{key:"checkHintType",value:function(){this.isHintString="string"==typeof this.hint}},{key:"enforceMinMax",value:function(e){return this.min&&parseInt(e)this.max&&(e=this.max),e}},{key:"getAriaLabel",value:function(){return this.ariaLabel||this.label||this.placeholder}}]),t}();nu.\u0275fac=function(n){return new(n||nu)(W(Mc))},nu.\u0275cmp=Pt({type:nu,selectors:[["sf-input"]],viewQuery:function(n,e){var r;(1&n&&Zi(hW,5),2&n)&&(Nr(r=Or())&&(e.inputElement=r.first))},inputs:{label:"label",placeholder:"placeholder",recommendedCharacters:"recommendedCharacters",enableStepperArrows:"enableStepperArrows",showCharCounter:"showCharCounter",type:"type",look:"look",name:"name",hint:"hint",validationMessages:"validationMessages",minlength:"minlength",maxlength:"maxlength",min:"min",max:"max",step:"step",pattern:"pattern",required:"required",readonly:"readonly",disabled:"disabled",autofocus:"autofocus",unit:"unit",unitPosition:"unitPosition",unitLook:"unitLook",steppersLook:"steppersLook",autocomplete:"autocomplete",rows:"rows",ariaLabel:"ariaLabel",ariaLabelledby:"ariaLabelledby"},outputs:{onFocus:"onFocus",onBlur:"onBlur",onInput:"onInput",onEnter:"onEnter",onEscape:"onEscape",onArrowUp:"onArrowUp",onArrowDown:"onArrowDown",onClear:"onClear"},features:[En([NW]),gr],decls:15,vars:13,consts:[[1,"sf-input"],["class","sf-input__label",4,"ngIf"],["icon","chevron-left","iconLook","color-inherit sf-mr--3xs",3,"disabled","look","click",4,"ngIf"],["sfTextDirection","directive","class","sf-input__field sf-field__input",3,"textDirectionValue","pattern","required","readonly","disabled","autofocus","ngModel","ngModelChange","blur","focus","input","keyup.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown",4,"ngIf"],["icon","chevron-right","iconLook","color-inherit sf-ml--3xs",3,"disabled","look","click",4,"ngIf"],["sfTextDirection","","class","sf-input__textarea sf-field__input",3,"textDirectionValue","pattern","required","readonly","disabled","autofocus","ngModel","ngModelChange","blur","focus","input","keyup.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown",4,"ngIf"],["data-sf-tooltip","input-title","sfTextDirection","","class","sf-input__title","role","input",3,"textDirectionValue","-placeholder","blur","focus","input","textinput","keydown.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown","paste",4,"ngIf"],[3,"sfUnit",4,"ngIf"],["class","sf-input__required",4,"ngIf"],["class","sf-input__hint",4,"ngIf"],["class","sf-input__clear-button",3,"-show","click",4,"ngIf"],["class","sf-input__side-content",4,"ngIf"],["class","sf-input__char-counter",3,"ngClass",4,"ngIf"],["markupSection",""],[1,"sf-input__label"],["icon","chevron-left","iconLook","color-inherit sf-mr--3xs",3,"disabled","look","click"],["sfTextDirection","directive",1,"sf-input__field","sf-field__input",3,"textDirectionValue","pattern","required","readonly","disabled","autofocus","ngModel","ngModelChange","blur","focus","input","keyup.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown"],["input",""],["icon","chevron-right","iconLook","color-inherit sf-ml--3xs",3,"disabled","look","click"],["sfTextDirection","",1,"sf-input__textarea","sf-field__input",3,"textDirectionValue","pattern","required","readonly","disabled","autofocus","ngModel","ngModelChange","blur","focus","input","keyup.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown"],["data-sf-tooltip","input-title","sfTextDirection","","role","input",1,"sf-input__title",3,"textDirectionValue","blur","focus","input","textinput","keydown.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown","paste"],[3,"sfUnit"],[1,"sf-input__required"],[3,"messages"],[1,"sf-input__hint"],[4,"ngIf","ngIfElse"],[1,"sf-input__clear-button",3,"click"],["name","times","look","size-3xs"],[1,"sf-input__side-content"],[1,"sf-tooltip","-open-on-click"],["name","question-circle","look","size-xs sf-clickable",3,"click"],["look","tooltip",1,"sf-tooltip__content"],[1,"sf-input__char-counter",3,"ngClass"],[3,"markupModel"]],template:function(n,e){1&n&&(K(0,"div",0),U(1,vW,2,2,"label",1),U(2,mW,2,2,"sf-button",2),U(3,gW,2,20,"input",3),U(4,yW,2,2,"sf-button",4),U(5,_W,3,15,"textarea",5),U(6,CW,2,7,"h1",6),U(7,bW,2,4,"label",7),U(8,EW,2,1,"div",8),U(9,xW,2,2,"p",9),U(10,kW,2,2,"span",10),U(11,SW,5,4,"div",11),U(12,IW,2,4,"span",12),Z(),U(13,AW,1,1,"ng-template",null,13,Pr)),2&n&&(Dt("class",e.generateCssClassList()),B(1),I("ngIf",e.label),B(1),I("ngIf",e.enableStepperArrows&&"number"===e.type),B(1),I("ngIf","textarea"!==e.type&&"title"!==e.type),B(1),I("ngIf",e.enableStepperArrows&&"number"===e.type),B(1),I("ngIf","textarea"===e.type),B(1),I("ngIf","title"==e.type),B(1),I("ngIf",e.unit&&"textarea"!=e.type&&"title"!=e.type),B(1),I("ngIf",e.validationMessages&&e.validationMessages.length>0),B(1),I("ngIf",e.hint&&"title"!=e.type),B(1),I("ngIf",e.showClearButton),B(1),I("ngIf",e.hint&&"title"==e.type),B(1),I("ngIf",e.charCounterVisible))},directives:[qt,ts,oa,Js,Xa,Ka,Za,ua,za,aa,ll,Bc,Ei,ml,Jr,Vc],encapsulation:2});var ba=h(function t(){p(this,t)});ba.\u0275fac=function(n){return new(n||ba)},ba.\u0275mod=on({type:ba}),ba.\u0275inj=Qt({imports:[[tt]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(ba,{declarations:[Vc],imports:[tt],exports:[Vc]});var Ea=h(function t(){p(this,t)});Ea.\u0275fac=function(n){return new(n||Ea)},Ea.\u0275mod=on({type:Ea}),Ea.\u0275inj=Qt({imports:[[tt,tu,la,dr,wn,Hi,ri,ba,Ca]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Ea,{declarations:[nu],imports:[tt,tu,la,dr,wn,Hi,ri,ba,Ca],exports:[nu]});var OW=["input"];function PW(t,n){1&t&&it(0,"sf-icon",5)}function RW(t,n){if(1&t){var e=Wt();K(0,"sf-button",6),Le("onClick",function(){return se(e),A().search()}),Z()}}var Gd=function(){function t(){p(this,t),this.showButton=!0,this.emitAfterInputNumber=0,this.searchValueChange=new be,this.onClear=new be,this.searchInputLook="",this.searchWrapperLook="sf-button-group -search",this.inputEmitCount=0}return h(t,[{key:"ngOnInit",value:function(){this.generateInputLook(),this.generateWrapperLook(),this.placeholderText=this.placeholderText||"Search...",this.clearable&&(this.showButton=!1,this.showIcon=!0)}},{key:"generateInputLook",value:function(){this.inputLook&&(this.searchInputLook+=this.inputLook),this.clearable&&(this.searchInputLook+=" clearable")}},{key:"generateWrapperLook",value:function(){this.wrapperLook&&(this.searchWrapperLook+=" -"+this.wrapperLook.split(" ").join(" -"))}},{key:"search",value:function(){this.inputEmitCount++,!(this.inputEmitCount<=this.emitAfterInputNumber)&&this.searchValueChange.emit(this.searchValue)}},{key:"focus",value:function(){this.inputElement.focus()}},{key:"clear",value:function(e){this.onClear.emit(e)}}]),t}();Gd.\u0275fac=function(n){return new(n||Gd)},Gd.\u0275cmp=Pt({type:Gd,selectors:[["sf-search"]],viewQuery:function(n,e){var r;(1&n&&Zi(OW,5),2&n)&&(Nr(r=Or())&&(e.inputElement=r.first))},inputs:{searchValue:"searchValue",clearable:"clearable",showIcon:"showIcon",showButton:"showButton",placeholderText:"placeholderText",inputLook:"inputLook",emitAfterInputNumber:"emitAfterInputNumber",wrapperLook:"wrapperLook",ariaLabel:"ariaLabel",ariaLabelledby:"ariaLabelledby"},outputs:{searchValueChange:"searchValueChange",onClear:"onClear"},decls:5,vars:8,consts:[["role","search"],["name","search","look","size-s light",4,"ngIf"],["type","search","autocomplete","off","ngDefaultControl","",1,"sf-button-group__input",3,"look","placeholder","ariaLabel","ariaLabelledby","ngModel","onEnter","onClear","ngModelChange"],["input",""],["title","Search","icon","search","iconLook","size-s",3,"onClick",4,"ngIf"],["name","search","look","size-s light"],["title","Search","icon","search","iconLook","size-s",3,"onClick"]],template:function(n,e){1&n&&(K(0,"div",0),U(1,PW,1,0,"sf-icon",1),K(2,"sf-input",2,3),Le("onEnter",function(){return e.search()})("onClear",function(i){return e.clear(i)})("ngModelChange",function(i){return e.searchValue=i})("ngModelChange",function(){return e.clearable&&e.search()}),Z(),U(4,RW,1,0,"sf-button",4),Z()),2&n&&(Dt("class",e.searchWrapperLook),B(1),I("ngIf",e.showIcon),B(1),I("look",e.searchInputLook)("placeholder",e.placeholderText)("ariaLabel",e.ariaLabel)("ariaLabelledby",e.ariaLabelledby)("ngModel",e.searchValue),B(2),I("ngIf",e.showButton))},directives:[qt,Ei,nu,oa,za,aa,ts],encapsulation:2});var jc=h(function t(){p(this,t)});jc.\u0275fac=function(n){return new(n||jc)},jc.\u0275mod=on({type:jc}),jc.\u0275inj=Qt({imports:[[tt,la,dr,wn,ri,Ea]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(jc,{declarations:[Gd],imports:[tt,la,dr,wn,ri,Ea],exports:[Gd]});var FW=["componentContainer"],Hc=function(){function t(n){p(this,t),this.renderer=n,this._componentInstance$=new dE(null),this.componentCache=new Map,this.componentInit=new be}return h(t,[{key:"currentInstance",get:function(){return this._componentInstance$.getValue()}},{key:"instance$",get:function(){return this._componentInstance$.asObservable()}},{key:"ngOnInit",value:function(){if(this.templateData)this.initEmbeddedView(this.templateData);else{if(!this.componentData)throw new Error("No templateData or componentData specified");this.initComponent(this.componentData)}}},{key:"ngOnChanges",value:function(e){var i=e.componentData;if(i)this.handleComponentDataChange(i);else{var a=e.templateData;a&&this.handleTemplateDataChange(a)}}},{key:"ngOnDestroy",value:function(){this.destroy()}},{key:"destroy",value:function(e){if(e){var r=this.componentCache.get(e);r&&r.destroy()}else this.componentCache.forEach(function(i){i&&i.destroy()}),this._embeddedViewRef&&this._embeddedViewRef.destroy()}},{key:"handleTemplateDataChange",value:function(e){if(!e||!e.isFirstChange()){var r=e.previousValue,i=e.currentValue;r&&i&&(r.template!==i.template||r.context!==i.context)&&(this._embeddedViewRef&&this._embeddedViewRef.destroy(),this.initEmbeddedView(e.currentValue))}}},{key:"handleComponentDataChange",value:function(e){if(!e||!e.isFirstChange()){var r=e.previousValue,i=e.currentValue;r&&i&&r.type===i.type&&!i.updatePropertiesOnChange||this.initComponent(i)}}},{key:"initComponent",value:function(e){var r=this;if(!this.componentCache.has(e)){var i=this.viewContainer.createComponent(e.type),o=i.instance;this.setProperties(e,o),this.componentData.afterComponentInit&&this.componentData.afterComponentInit(o),this.componentInit.emit(o),this.componentCache.set(e,i)}var a=null;this.componentCache.forEach(function(s,u){var l=!1;if(u===e&&(l=!0,a=s.instance),!l&&e.removePreviousView){var c=r.viewContainer.indexOf(s.hostView);-1!==c&&(r.viewContainer.remove(c),r.componentCache.delete(u))}else{var f=s.location.nativeElement,d=l?ni_EMPTY_STRING:"none";r.renderer.setStyle(f,"display",d)}}),this._componentInstance$.next(a)}},{key:"setProperties",value:function(e,r){e&&e.properties&&r&&Object.keys(e.properties).forEach(function(i){r[i]=e.properties[i]})}},{key:"initEmbeddedView",value:function(e){this._embeddedViewRef=this.viewContainer.createEmbeddedView(e.template,{context:e.context})}}]),t}();Hc.\u0275fac=function(n){return new(n||Hc)(W(mi))},Hc.\u0275cmp=Pt({type:Hc,selectors:[["sf-component-loader"]],viewQuery:function(n,e){var r;(1&n&&Zi(FW,7,gi),2&n)&&(Nr(r=Or())&&(e.viewContainer=r.first))},inputs:{componentData:"componentData",templateData:"templateData"},outputs:{componentInit:"componentInit"},features:[gr],decls:2,vars:0,consts:[["componentContainer",""]],template:function(n,e){1&n&&Kn(0,null,0)},encapsulation:2});var ru=h(function t(){p(this,t)});ru.\u0275fac=function(n){return new(n||ru)},ru.\u0275mod=on({type:ru}),ru.\u0275inj=Qt({imports:[[tt]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(ru,{declarations:[Hc],imports:[tt],exports:[Hc]});var Uc=h(function t(n){p(this,t),this.templateRef=n,this.tabClick=new be});function LW(t,n){if(1&t&&(K(0,"span",6),St(1),Z()),2&t){var e=A(2).$implicit;zr("-positive",e.count>0),B(1),vi(e.count)}}function BW(t,n){if(1&t&&(ln(0),St(1),U(2,LW,2,3,"span",5),cn()),2&t){var e=A().$implicit;B(1),Ki(" ",e.title," "),B(1),I("ngIf",e.count>=0)}}function VW(t,n){if(1&t){var e=Wt();ln(0),K(1,"span")(2,"sf-component-loader",7),Le("componentInit",function(o){se(e);var a=A().$implicit;return A(2).loaderInit(o,a)}),Z()(),cn()}if(2&t){var r=A().$implicit;B(2),I("componentData",r.componentData)}}function jW(t,n){if(1&t){var e=Wt();K(0,"span",4),Le("click",function(a){var u=se(e).$implicit;return A(2).onSelectTab(u,a)})("keyup.enter",function(a){var u=se(e).$implicit;return A(2).onSelectTab(u,a)}),U(1,BW,3,2,"ng-container",1),U(2,VW,3,1,"ng-container",1),Z()}if(2&t){var r=n.$implicit;zr("-selected",A(2).currentTab.name===r.name),I("ngClass",r.look),Dt("tabindex",r.title?0:-1),B(1),I("ngIf",!(r.componentData&&r.componentData.type)),B(1),I("ngIf",r.componentData&&r.componentData.type)}}function HW(t,n){if(1&t&&(K(0,"div",2),ln(1),U(2,jW,3,6,"span",3),cn(),Z()),2&t){var e=A();Dt("class",e.cssClassList),B(2),I("ngForOf",e.tabList)}}function UW(t,n){}function qW(t,n){(1&t&&U(0,UW,0,0,"ng-template",8),2&t)&&I("ngTemplateOutlet",A().currentTab.templateRef)}Uc.\u0275fac=function(n){return new(n||Uc)(W(Fi))},Uc.\u0275dir=Fe({type:Uc,selectors:[["","sfTab",""]],inputs:{title:"title",name:"name",count:"count",look:"look",componentData:"componentData"},outputs:{tabClick:"tabClick"}});var qc=function(t){k(e,t);var n=S(e);function e(){var r;return p(this,e),(r=n.apply(this,arguments)).cssClassList=ni_EMPTY_STRING,r.hasTabsListSection=!0,r}return h(e,[{key:"ngOnChanges",value:function(i){i.tabsLook&&(this.cssClassList=this.generateCssClassList())}},{key:"ngAfterContentInit",value:function(){(0===this.tabList.length||this.tabList.first.title===ni_EMPTY_STRING)&&this.tabList.some(function(i){return!i.componentData})&&(this.hasTabsListSection=!1),this.initialTabName?this.selectTabByName(this.initialTabName):this.selectFirstTab()}},{key:"onSelectTab",value:function(i,o){this.currentTab!==i&&(this.currentTab=i),i.tabClick&&i.tabClick.emit(o)}},{key:"selectTabByName",value:function(i){var o=this.tabList.find(function(a){return a.name===i});o?this.currentTab=o:this.currentTab||this.selectFirstTab()}},{key:"isSelected",value:function(i){return this.currentTab.name===i}},{key:"loaderInit",value:function(i,o){var a=this,s=i.onChange.subscribe(function(l){a.onTabSelectorChange(l,o)}),u=i.onInit.subscribe(function(l){a.onTabSelectorChange(l,o)});this.registerSubscription(s),this.registerSubscription(u)}},{key:"onTabSelectorChange",value:function(i,o){i.triggerTabSelection&&this.onSelectTab(o,event)}},{key:"selectFirstTab",value:function(){this.currentTab=this.tabList.first}},{key:"generateCssClassList",value:function(){var i="sf-tabs";return this.tabsLook&&(i+=" -"+this.tabsLook.split(" ").join(" -")),i}}]),e}(Nc);qc.\u0275fac=function(){var t;return function(e){return(t||(t=_r(qc)))(e||qc)}}(),qc.\u0275cmp=Pt({type:qc,selectors:[["sf-tabs"]],contentQueries:function(n,e,r){var i;(1&n&&ad(r,Uc,4),2&n)&&(Nr(i=Or())&&(e.tabList=i))},inputs:{tabsLook:"tabsLook",initialTabName:"initialTabName"},features:[Rt,gr],decls:2,vars:2,consts:[["role","tablist",4,"ngIf"],[4,"ngIf"],["role","tablist"],["role","tab","class","sf-tabs__item sf-link",3,"-selected","ngClass","click","keyup.enter",4,"ngFor","ngForOf"],["role","tab",1,"sf-tabs__item","sf-link",3,"ngClass","click","keyup.enter"],["class","sf-tabs__badge sf-badge -ellipse","aria-live","polite",3,"-positive",4,"ngIf"],["aria-live","polite",1,"sf-tabs__badge","sf-badge","-ellipse"],[3,"componentData","componentInit"],[3,"ngTemplateOutlet"]],template:function(n,e){1&n&&(U(0,HW,3,2,"div",0),U(1,qW,1,1,null,1)),2&n&&(I("ngIf",e.hasTabsListSection),B(1),I("ngIf",e.currentTab))},directives:[qt,ei,Jr,Hc,Rr],encapsulation:2});var Gc=h(function t(){p(this,t)});Gc.\u0275fac=function(n){return new(n||Gc)},Gc.\u0275mod=on({type:Gc}),Gc.\u0275inj=Qt({imports:[[tt,ru]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Gc,{declarations:[Uc,qc],imports:[tt,ru],exports:[Uc,qc]});var GW=["contentArea"];function zW(t,n){if(1&t&&(K(0,"span"),it(1,"img",7),Z()),2&t){var e=A();ws("sf-chip__avatar ",e.avatarClassList,""),B(1),Sm("alt","",e.avatarConfig.alt," avatar"),I("src",e.avatarConfig.src,oC)}}function $W(t,n){if(1&t&&(K(0,"span"),it(1,"sf-icon",8),Z()),2&t){var e=A();ws("sf-chip__icon ",e.iconWrapperClassList,""),B(1),I("look",e.iconLook)("name",e.iconConfig.name)}}function WW(t,n){if(1&t&&(K(0,"span",9),St(1),Z()),2&t){var e=A();B(1),Ki(" ",e.initials," ")}}function KW(t,n){if(1&t&&(ln(0),K(1,"div",10),St(2),Es(3,1),Z(),cn()),2&t){var e=A();B(2),Ki(" ",e.content," ")}}function ZW(t,n){if(1&t){var e=Wt();K(0,"sf-icon",11),Le("click",function(i){return se(e),A().handleRemoveButtonClick(i)}),Z()}}var XW=[[["",8,"sf-chip__dropdown"]],"*"],zd=function(){function t(){p(this,t),this.focusConfig={focusSubscription:new dE(!1),closeOnEscape:!1,closeOnEnterKey:!1,closeOnContentClick:!1},this.onRemove=new be,this.onEnter=new be,this.onEscape=new be,this.onArrowUp=new be,this.onArrowDown=new be,this.onFocusout=new be,this.onInput=new be,this.chipContentClassList="",this.chipWrapperClassList="",this.iconWrapperClassList="",this.iconLook="size-xs",this.avatarClassList=""}return h(t,[{key:"ngOnInit",value:function(){this.iconConfig&&(this.iconWrapperClassList=this.generateClassList(this.iconConfig.wrapperLook),this.iconLook=this.iconConfig.look||this.iconLook),this.avatarConfig&&(this.avatarClassList=this.generateClassList(this.avatarConfig.look));var e=this.generateMainWrapperLook();this.chipContentClassList=this.generateClassList(this.contentLook),this.chipWrapperClassList=this.generateClassList(this.wrapperLook,e)}},{key:"ngOnChanges",value:function(e){(e&&e.editable&&!e.editable.firstChange||e.dropped&&!e.dropped.firstChange)&&this.updateWrapperClassList()}},{key:"focus",value:function(){this.contentArea.nativeElement.focus()}},{key:"handleRemoveButtonClick",value:function(e){this.onRemove.emit(e)}},{key:"handleInput",value:function(e){this.onInput.emit(e)}},{key:"handleEnter",value:function(e){this.onEnter.emit(e)}},{key:"handleEscape",value:function(e){this.onEscape.emit(e)}},{key:"handleArrowUp",value:function(e){this.onArrowUp.emit(e)}},{key:"handleArrowDown",value:function(e){this.onArrowDown.emit(e)}},{key:"handleFocusOut",value:function(e){this.editable&&this.onFocusout.emit(e)}},{key:"updateWrapperClassList",value:function(){var e=this.generateMainWrapperLook();this.chipWrapperClassList=this.generateClassList(this.wrapperLook,e)}},{key:"generateMainWrapperLook",value:function(){var e="";return this.iconConfig&&(e+=" icon"),this.avatarConfig&&(e+=" avatar"),this.initials&&(e+=" initials"),this.editable&&(e+=" editable"),this.dropped&&(e+=" dropped editable"),this.removable&&(e+=" removable"),e.trim()}},{key:"generateClassList",value:function(e,r){var i="";return e&&(i+=" -"+e.split(" ").join(" -")),r&&(i+=" -"+r.split(" ").join(" -")),i}}]),t}();zd.\u0275fac=function(n){return new(n||zd)},zd.\u0275cmp=Pt({type:zd,selectors:[["sf-chip"]],viewQuery:function(n,e){var r;(1&n&&Zi(GW,5),2&n)&&(Nr(r=Or())&&(e.contentArea=r.first))},inputs:{title:"title",content:"content",wrapperLook:"wrapperLook",contentLook:"contentLook",editable:"editable",removable:"removable",dropped:"dropped",avatarConfig:"avatarConfig",iconConfig:"iconConfig",focusConfig:"focusConfig",initials:"initials",ariaActivedescendant:"ariaActivedescendant"},outputs:{onRemove:"onRemove",onEnter:"onEnter",onEscape:"onEscape",onArrowUp:"onArrowUp",onArrowDown:"onArrowDown",onFocusout:"onFocusout",onInput:"onInput"},features:[gr],ngContentSelectors:[".sf-chip__dropdown","*"],decls:9,vars:19,consts:[["sfTrackFocus","",3,"focusSubscription","closeOnContentClick","closeOnEnterKey","closeOnEscape","contentFocusOut"],[3,"class",4,"ngIf"],["class","sf-chip__initials",4,"ngIf"],["sfCarretPosition","","sfTextDirection","","data-sftest","sf-chips-edit-content",3,"textDirectionValue","input","keydown.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown"],["contentArea",""],[4,"ngIf"],["name","close","title","Remove","look","black size-2xs","class","sf-chip__remove-button",3,"click",4,"ngIf"],[1,"sf-chip__image",3,"src","alt"],[3,"look","name"],[1,"sf-chip__initials"],[1,"sf-chip__inner-content"],["name","close","title","Remove","look","black size-2xs",1,"sf-chip__remove-button",3,"click"]],template:function(n,e){1&n&&(Gl(XW),K(0,"span",0),Le("contentFocusOut",function(i){return e.handleFocusOut(i)}),U(1,zW,2,5,"span",1),U(2,$W,2,5,"span",1),U(3,WW,2,1,"span",2),K(4,"span",3,4),Le("input",function(i){return e.handleInput(i)})("keydown.enter",function(i){return e.handleEnter(i)})("keydown.escape",function(i){return e.handleEscape(i)})("keydown.arrowUp",function(i){return e.handleArrowUp(i)})("keydown.arrowDown",function(i){return e.handleArrowDown(i)}),U(6,KW,4,1,"ng-container",5),Z(),U(7,ZW,1,0,"sf-icon",6),Es(8),Z()),2&n&&(ws("sf-chip ",e.chipWrapperClassList,""),I("focusSubscription",e.focusConfig.focusSubscription)("closeOnContentClick",e.focusConfig.closeOnContentClick)("closeOnEnterKey",e.focusConfig.closeOnEnterKey)("closeOnEscape",e.focusConfig.closeOnEscape),B(1),I("ngIf",e.avatarConfig),B(1),I("ngIf",e.iconConfig),B(1),I("ngIf",e.initials),B(1),ws("sf-chip__content ",e.chipContentClassList,""),I("textDirectionValue",e.content),Dt("title",e.title)("contenteditable",e.editable)("aria-activedescendant",e.ariaActivedescendant),B(2),I("ngIf",!e.editable),B(1),I("ngIf",e.removable))},directives:[_a,qt,Ei,dl,Js],encapsulation:2});var zc=h(function t(){p(this,t)});zc.\u0275fac=function(n){return new(n||zc)},zc.\u0275mod=on({type:zc}),zc.\u0275inj=Qt({imports:[[tt,dr,wn]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(zc,{declarations:[zd],imports:[tt,dr,wn],exports:[zd]});var QW=["createField"];function JW(t,n){if(1&t){var e=Wt();ln(0),K(1,"div",9),Le("click",function(){se(e);var o=A().index;return A(2).onEditTrigger(o)})("keyup.enter",function(){se(e);var o=A().index;return A(2).onEditTrigger(o)}),St(2),Z(),K(3,"sf-icon",10),Le("click",function(){se(e);var o=A().$implicit;return A(2).removeItem(o.value)})("keyup.enter",function(){se(e);var o=A().$implicit;return A(2).removeItem(o.value)}),Z(),cn()}if(2&t){var r=A().$implicit;B(2),vi(r.value)}}function eK(t,n){if(1&t){var e=Wt();K(0,"sf-input",11),Le("ngModelChange",function(a){return se(e),A().$implicit.value=a})("onBlur",function(){se(e);var a=A().index;return A(2).onItemEdit(a)})("onEnter",function(){se(e);var a=A().index;return A(2).onItemEdit(a)}),Z()}if(2&t){var r=A().$implicit,i=A(2);I("ngModel",r.value)("name",i.createFieldName)}}var tK=function(n,e){return{"sf-error-block -error":n,"-edit":e}};function nK(t,n){if(1&t&&(K(0,"div",6),U(1,JW,4,1,"ng-container",7),U(2,eK,1,2,"sf-input",8),Z()),2&t){var e=n.$implicit;I("ngClass",vb(3,tK,!e.isValid,e.show)),B(1),I("ngIf",!e.show),B(1),I("ngIf",e.show)}}function rK(t,n){if(1&t&&(K(0,"div",4),U(1,nK,3,6,"div",5),Z()),2&t){var e=A();zr("-sf-mb-3xs",!e.showCreateField),B(1),I("ngForOf",e.items)}}function iK(t,n){if(1&t){var e=Wt();K(0,"sf-input",12,13),Le("ngModelChange",function(o){return se(e),A().newValue=o}),Z()}if(2&t){var r=A();I("name",r.createFieldName)("ngModel",r.newValue)}}function oK(t,n){if(1&t){var e=Wt();K(0,"sf-button",14),Le("onClick",function(){return se(e),A().toggleEditableField(!0,!0)}),Z()}2&t&&I("title",A().addButtonTitle)}var $d=function(){function t(n){p(this,t),this.scrollService=n,this.showCreateButton=!0,this.newValue=ni_EMPTY_STRING,this.onEscapeKey=new be,this.onFocus=new be,this.onBlur=new be,this.onItemsChange=new be}return h(t,[{key:"handleFocus",value:function(e){this.onFocus.emit(e)}},{key:"handleBlur",value:function(e){if(this.onBlur.emit(e),this.newValue&&!this.isItemValueEmpty(this.newValue)){var r=this.items?this.items.length:0;this.items[r]={show:!1,value:this.newValue,isValid:!0},this.onItemsChange.emit(this.items)}this.newValue=ni_EMPTY_STRING,this.collapseCreateField()}},{key:"handleOnEscapeKey",value:function(e){this.handleBlur(),e.stopPropagation(),this.onEscapeKey.emit(e)}},{key:"onEditTrigger",value:function(e){this.closeAllEditFields(),this.previousValue=this.items[e].value,this.items[e].show=!this.items[e].show}},{key:"closeAllEditFields",value:function(){this.items.forEach(function(e){return e.show=!1})}},{key:"toggleEditableField",value:function(e,r){var i=this;this.showCreateField=!0,this.showCreateButton=!1,setTimeout(function(){i.scrollService.scrollTo(i.createField),r?(i.createField.focus(),i.onFocus.emit()):i.onBlur.emit()})}},{key:"removeItem",value:function(e){var r=this.items.map(function(i){return i.value}).indexOf(e);-1!==r&&(this.items.splice(r,1),this.onItemsChange.emit(this.items))}},{key:"onItemEdit",value:function(e){var r=this.items[e];this.pushValue(r,e),this.closeAllEditFields(),this.previousValue=null}},{key:"commitValue",value:function(){var e=this;this.items.forEach(function(r,i){e.pushValue(r,i,!0)}),this.previousValue=null}},{key:"isItemValueEmpty",value:function(e){return e===ni_FORWARD_SLASH||e===ni_EMPTY_STRING}},{key:"collapseCreateField",value:function(){this.newValue||(this.showCreateButton=!0,this.showCreateField=!1)}},{key:"pushValue",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=e.value;this.isItemValueEmpty(o)&&(o=this.previousValue,this.items[r].value=this.previousValue,i&&(this.previousValue=null)),o&&o!==this.previousValue&&(this.items[r].value=o,this.onItemsChange.emit(this.items))}}]),t}();$d.\u0275fac=function(n){return new(n||$d)(W(Oc))},$d.\u0275cmp=Pt({type:$d,selectors:[["sf-list-builder"]],viewQuery:function(n,e){var r;(1&n&&Zi(QW,5),2&n)&&(Nr(r=Or())&&(e.createField=r.first))},inputs:{createFieldName:"createFieldName",addButtonTitle:"addButtonTitle",items:"items"},outputs:{onEscapeKey:"onEscapeKey",onFocus:"onFocus",onBlur:"onBlur",onItemsChange:"onItemsChange"},decls:4,vars:4,consts:[["sfTrackFocus","",3,"closeOnContentClick","keydown.escape","contentFocusIn","contentFocusOut"],["class","sf-list -vertical",3,"-sf-mb-3xs",4,"ngIf"],["look","sf-mb-3xs -sf-full-width",3,"name","ngModel","ngModelChange",4,"ngIf"],["look","circle small","icon","plus","iconLook","size-xs",3,"title","onClick",4,"ngIf"],[1,"sf-list","-vertical"],["class","sf-list__item",3,"ngClass",4,"ngFor","ngForOf"],[1,"sf-list__item",3,"ngClass"],[4,"ngIf"],["class","-sf-full-width","autofocus","true","look","sf-mb-zero",3,"ngModel","name","ngModelChange","onBlur","onEnter",4,"ngIf"],["tabindex","0",1,"sf-list__content","-editable",3,"click","keyup.enter"],["look","close size-2xs black","tabindex","0","title","Remove",1,"sf-list__remove",3,"click","keyup.enter"],["autofocus","true","look","sf-mb-zero",1,"-sf-full-width",3,"ngModel","name","ngModelChange","onBlur","onEnter"],["look","sf-mb-3xs -sf-full-width",3,"name","ngModel","ngModelChange"],["createField",""],["look","circle small","icon","plus","iconLook","size-xs",3,"title","onClick"]],template:function(n,e){1&n&&(K(0,"div",0),Le("keydown.escape",function(i){return e.handleOnEscapeKey(i)})("contentFocusIn",function(){return e.handleFocus()})("contentFocusOut",function(){return e.handleBlur()}),U(1,rK,2,3,"div",1),U(2,iK,2,2,"sf-input",2),U(3,oK,1,1,"sf-button",3),Z()),2&n&&(I("closeOnContentClick",!1),B(1),I("ngIf",(null==e.items?null:e.items.length)>0),B(1),I("ngIf",e.showCreateField),B(1),I("ngIf",e.showCreateButton))},directives:[_a,qt,ei,Jr,Ei,nu,za,aa,ts],encapsulation:2});var $c=h(function t(){p(this,t)});$c.\u0275fac=function(n){return new(n||$c)},$c.\u0275mod=on({type:$c}),$c.\u0275inj=Qt({imports:[[tt,la,dr,wn,Ea,ri]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr($c,{declarations:[$d],imports:[tt,la,dr,wn,Ea,ri],exports:[$d]});var aK=["virtualizationWrapper"];function sK(t,n){1&t&&Kn(0)}function uK(t,n){1&t&&Kn(0)}function lK(t,n){if(1&t){var e=Wt();K(0,"div",null,5)(2,"div",6),Le("resize",function(){return se(e),A().onResize()}),U(3,uK,1,0,"ng-container",7),Z()()}if(2&t){var r=A(),i=Cr(4);Ba("height",r.treeVirtualHeight,"px")("padding-top",r.paddingTop,"px"),B(2),Ba("height",r.wrapperHeight,"px"),B(1),I("ngTemplateOutlet",i)}}function cK(t,n){1&t&&Kn(0)}var fK=function(n,e,r,i,o,a){return{$implicit:n,textToMatch:e,textMatchType:r,dataProperties:i,justAddedProperty:o,config:a}};function dK(t,n){if(1&t&&U(0,cK,1,0,"ng-container",12),2&t){var e=n.$implicit,r=A(2),i=Cr(7);I("ngTemplateOutlet",r.itemTemplate?r.itemTemplate:i)("ngTemplateOutletContext",lI(2,fK,e,r.textToMatch,r.textMatchType,r.dataProperties,r.justAddedProperty,r.config))}}function pK(t,n){1&t&&it(0,"sf-loader",13),2&t&&I("count",3)}function hK(t,n){if(1&t){var e=Wt();K(0,"Tree",8,9),Le("focus",function(){return se(e),A().focusTree()})("focusout",function(){return se(e),A().focusOutTree()})("initialized",function(){return se(e),A().onInitialized()})("updateData",function(){return se(e),A().onDataUpdate()})("moveNode",function(o){return se(e),A().onMoveNode(o)})("loadNodeChildren",function(){return se(e),A().onDataUpdate()})("toggleExpanded",function(o){return se(e),A().onToggleExpanded(o)})("stateChange",function(){return se(e),A().onStateChange()}),U(2,dK,1,9,"ng-template",null,10,Pr),U(4,pK,1,1,"ng-template",null,11,Pr),Z()}if(2&t){var r=A();I("nodes",r.nodesToDisplay)("options",r.options),Dt("class",r.treeClassName)("tabindex",r.config.noSelection?null:0)("aria-activedescendant",r.config.noSelection?null:"tree_active_node")}}function vK(t,n){1&t&&(ln(0),it(1,"sf-loader",15)(2,"hr",16),cn())}var mK=function(){return[0,0,0]};function gK(t,n){1&t&&(ln(0),U(1,vK,3,0,"ng-container",14),cn()),2&t&&(B(1),I("ngForOf",ks(1,mK)))}function yK(t,n){1&t&&(K(0,"div",27),it(1,"i",28),Z())}function _K(t,n){if(1&t&&it(0,"sf-icon",29),2&t){var e=A().$implicit;I("name",e.data.icon)("look",e.data.iconLook)}}function CK(t,n){if(1&t&&(K(0,"span",30),it(1,"i"),Z()),2&t){var e=A().$implicit;B(1),ws("sf-status__icon ",e.data.statusName,"")}}function bK(t,n){if(1&t&&(K(0,"div",31),St(1),Z()),2&t){var e=A().$implicit,r=A();B(1),Ki(" ",e.data[r.dataProperties.descriptionField],"")}}function EK(t,n){if(1&t&&(K(0,"div",32),it(1,"span",33),od(2,"sfBreadcrumb"),od(3,"sfBreadcrumb"),Z()),2&t){var e=A().$implicit,r=A();B(1),I("title",mb(2,2,e.data[r.dataProperties.breadcrumbField]))("innerHTML",vI(3,4,e.data[r.dataProperties.breadcrumbField],!0,!1,e.data.removeBreadcrumbPrefix),Pf)}}function wK(t,n){if(1&t){var e=Wt();K(0,"sf-icon",36),Le("click",function(i){se(e);var o=A(2).$implicit;return A().onTreeNodeRemoveClicked(o,i)})("keyup.enter",function(i){se(e);var o=A(2).$implicit;return A().onTreeNodeRemoveClicked(o,i)}),Z()}}function xK(t,n){if(1&t&&(K(0,"span",34),U(1,wK,1,0,"sf-icon",35),Z()),2&t){var e=A().config;B(1),I("ngIf",e.deletion)}}var kK=function(n){return{"-sf-just-added":n}},DK=function(n,e,r){return{"-link":n,"-no-pointer":e,"-inactive":r}};function SK(t,n){if(1&t&&(K(0,"div",17),U(1,yK,2,0,"div",18),K(2,"div",19),U(3,_K,1,2,"sf-icon",20),U(4,CK,2,3,"span",21),K(5,"div",22),it(6,"span",23),od(7,"sfBoldText"),od(8,"sfHtmlEscape"),U(9,bK,2,1,"div",24),U(10,EK,4,9,"div",25),Z(),U(11,xK,2,1,"span",26),Z()()),2&t){var e=n.$implicit,r=n.config,i=n.justAddedProperty,o=n.textToMatch,a=A();I("ngClass",Ha(14,kK,e.data[i])),B(1),I("ngIf",r.drag),B(1),I("ngClass",Rm(16,DK,e.data.isLink,r.noSelection&&!r.clickable||e.data.isSelectionDisabled,e.data.inactive)),B(1),I("ngIf",e.data.icon),B(1),I("ngIf",r.status),B(2),I("innerHtml",o?gb(7,9,mb(8,12,e.displayField),o):e.displayField,Pf),B(3),I("ngIf",r.description&&a.dataProperties&&e.data[a.dataProperties.descriptionField]),B(1),I("ngIf",r.showBreadcrumb&&a.dataProperties&&e.data[a.dataProperties.breadcrumbField]),B(1),I("ngIf",r.deletion)}}var PM_ID="Id",PM_IS_EXPANDED="expanded",RM="-sf-tree-dragging",Wd=function(){function t(n,e){var i,r=this;p(this,t),this.renderer=n,this.documentProvider=e,this.focusFirstNode=!1,this.isLoadingMore=!1,this.config={},this.justAddedProperty="__sf__justAdded",this.treeNodePressEnter=new be,this.treeNodeClicked=new be,this.removeNode=new be,this.onViewNode=new be,this.dataUpdate=new be,this.reorderNodes=new be,this.moveNode=new be,this.initialized=new be,this.checkBoxClicked=new be,this.expandedNodesChanged=new be,this.visibleNodesCountChanged=new be,this.options={isExpandedField:PM_IS_EXPANDED,idField:PM_ID,useTriState:!1,actionMapping:{mouse:{click:function(a,s,u){r.toggleSelected(a,s,u)},checkboxClick:function(a,s){r.toggleSelectedCheckbox(s)},dragStart:function(a,s,u){u.stopImmediatePropagation(),u.stopPropagation(),r.dragIndex=a.nodes.indexOf(s.data),r.renderer.addClass(window.document.body,RM),r.isDragEndTriggered=!1},dragEnd:function(a,s){r.onDragEnd(s,a)},dragEnter:function(a,s,u){!r.dragTimeoutId&&s!==u.element&&(r.dragTimeoutId=setTimeout(function(){r.dragTimeoutId=void 0,s.expand()},1e3))},dragLeave:function(a,s,u){var c=u.event.target.closest("tree-node-wrapper").getBoundingClientRect();(c.right0?a:0}}},{key:"onResize",value:function(){this.updateTreeWrapperHeight()}},{key:"ngOnChanges",value:function(e){var r=e.config;r&&!r.isFirstChange()&&(this.options.useCheckbox=r.currentValue.multiSelection),this.treeClassName=this.generateCssClassList()}},{key:"onViewDataClicked",value:function(e,r){r.preventDefault(),r.stopImmediatePropagation(),this.onViewNode.emit(e)}},{key:"onTreeNodeRemoveClicked",value:function(e,r){r.preventDefault(),r.stopImmediatePropagation(),this.removeNode.emit(e)}},{key:"showHiddenNodes",value:function(){var e=this;Object.keys(this.tree.treeModel.hiddenNodeIds).forEach(function(r){e.tree.treeModel.hiddenNodeIds[r]=!1}),this.updateTreeModel()}},{key:"search",value:function(e){this.tree.treeModel.filterNodes(e,!0)}},{key:"toggleSelected",value:function(e,r,i){if(r){if(r.data&&r.data.isSelectionDisabled&&r.data.action)return void this.treeNodeClicked.emit(r);if(!r.data||!r.data.isSelectionDisabled){if(!this.config.noSelection){if(!this.config.multiSelection&&r.isActive)return;this.config.multiSelection&&Xn.TOGGLE_SELECTED(e,r,i),r.toggleActivated(this.config.multiSelection)}this.config.stopPropagationOnClick&&i&&(i.stopPropagation(),i.stopImmediatePropagation()),this.treeNodeClicked.emit(r)}}}},{key:"toggleSelectedCheckbox",value:function(e){!e||!e.data||e.data.isSelectionDisabled||(e.toggleSelected(),e.toggleActivated(this.config.multiSelection),this.checkBoxClicked.emit(e),this.treeNodeClicked.emit(e),this.clearFocusedNode())}},{key:"selectNodesById",value:function(e){var r={};e.forEach(function(i){r[i]=!0}),this.tree.treeModel.selectedLeafNodeIds=r,this.tree.treeModel.activeNodeIds=r,this.clearFocusedNode()}},{key:"getSelectedNodeIds",value:function(){var e=[],r=this.tree.treeModel.getState().selectedLeafNodeIds;for(var i in r)r[i]&&e.push(i);return e}},{key:"selectAllNodes",value:function(e){var a,i={},o=Me(this.tree.treeModel.nodes);try{for(o.s();!(a=o.n()).done;){var s=a.value;s.dataItem.data.disableCheckbox||(!e||-1===e.indexOf(s.dataItem.data.Id))&&(i[s.id]=!0)}}catch(u){o.e(u)}finally{o.f()}this.tree.treeModel.selectedLeafNodeIds=i,this.tree.treeModel.activeNodeIds=i,this.clearFocusedNode()}},{key:"clearAllSelectedNodes",value:function(){this.tree.treeModel.selectedLeafNodeIds={},this.tree.treeModel.activeNodeIds={},this.clearFocusedNode()}},{key:"setExpandedNode",value:function(e,r){this.tree.treeModel.expandedNodeIds[e]=r}},{key:"setHiddenNodeById",value:function(e,r){this.tree.treeModel.hiddenNodeIds[e]=r}},{key:"getNodeById",value:function(e){return this.tree.treeModel.getNodeById(e)}},{key:"getNodeBy",value:function(e,r){return this.tree.treeModel.getNodeBy(e,r)}},{key:"getIsNodeExpandedById",value:function(e){return this.tree.treeModel.expandedNodeIds[e]}},{key:"getIsNodeActiveById",value:function(e){return this.tree.treeModel.activeNodeIds[e]}},{key:"getActiveNodeIds",value:function(){return this.tree.treeModel.activeNodeIds}},{key:"getIsSelectedById",value:function(e){return this.tree.treeModel.isSelected(e)}},{key:"setExpandedNodes",value:function(e){this.tree.treeModel.expandedNodeIds=e}},{key:"getExpandedNodes",value:function(){return this.tree.treeModel.expandedNodeIds}},{key:"setSelectedLeafNodeId",value:function(e){this.tree.treeModel.selectedLeafNodeIds[e]=!0}},{key:"setActiveNodeId",value:function(e){this.tree.treeModel.activeNodeIds[e]=!0}},{key:"selectAndActivateNodeById",value:function(e){if(void 0!==e){var r=this.tree.treeModel.getNodeById(e);r&&(r.setIsSelected(!0),r.setIsActive(!0,this.config.multiSelection))}}},{key:"onPressEnter",value:function(e,r){!r||this.treeNodePressEnter.emit(r)}},{key:"onInitialized",value:function(){var r,e=this;if((null===(r=this.config.virtualizationOptions)||void 0===r?void 0:r.isVirtualized)&&this.nodesToDisplay.length>0)var i=setInterval(function(){e.wrapper&&e.wrapper.nativeElement.offsetParent&&(e.treeVirtualHeight=e.tree.treeModel.virtualRoot.height,e.updateTreeWrapperHeight(),e.tree.sizeChanged(),clearInterval(i))},0);this.initialized.emit(),this.onFocusFirstNode(),this.calculateVisibleNodesCount()}},{key:"onFocusFirstNode",value:function(){if(this.focusFirstNode){this.focusTree();var e=this.tree.treeModel.roots;e&&null!=e[0]&&this.tree.treeModel.roots[0].focus()}}},{key:"onStateChange",value:function(){this.tree.treeModel.virtualRoot.height&&(this.treeVirtualHeight=this.tree.treeModel.virtualRoot.height,this.updateTreeWrapperHeight())}},{key:"onDataUpdate",value:function(){this.dataUpdate.emit(),this.onFocusFirstNode(),this.calculateVisibleNodesCount()}},{key:"onMoveNode",value:function(e){this.moveNode.emit(e),this.onDragEnd(e.node,e.treeModel)}},{key:"onToggleExpanded",value:function(e){var r=this.tree.treeModel.expandedNodeIds,i=Object.keys(r).filter(function(o){return r[o]});this.expandedNodesChanged.emit({event:e,expandedNodeIds:i}),this.calculateVisibleNodesCount()}},{key:"getFocusNodeValue",value:function(){var e=this.tree.treeModel.getFocusedNode();return e?e.data:null}},{key:"getActiveNodeValue",value:function(){var e=this.tree.treeModel.getActiveNode();return e?e.data:null}},{key:"clearFocusedNode",value:function(){this.tree.treeModel.setFocusedNode(null)}},{key:"focusTree",value:function(){this.tree.focused=!0}},{key:"focusOutTree",value:function(){this.tree.focused=!1}},{key:"focusNextNode",value:function(){this.focusTree(),this.tree.treeModel.focusNextNode()}},{key:"focusPreviousNode",value:function(){this.focusTree(),this.tree.treeModel.focusPreviousNode()}},{key:"selectCurrentNode",value:function(){var e=this.tree.treeModel.getFocusedNode();e&&this.treeNodeClicked.emit(e)}},{key:"generateCssClassList",value:function(){var e="sf-tree";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.config&&(this.config.multiSelection&&(e+=" -checkbox"),this.config.drag&&(e+=" -drag"),this.config.status&&(e+=" -status")),this.config&&this.config.isHierarchical||(e+=" -flat"),e}},{key:"updateTreeModel",value:function(){this.tree.treeModel.update()}},{key:"expandAndSelect",value:function(e,r){this.expandAndSelectChildren(e.children,r)}},{key:"expandAllNodes",value:function(){this.tree.treeModel.expandAll()}},{key:"updateTreeWrapperHeight",value:function(){var e=this.documentProvider.querySelector("tree-viewport");this.treeVirtualHeight>0&&this.treeVirtualHeight0&&r){var o=e.filter(function(a){return a&&a.children&&a.children.length&&r[a.id]}).map(function(a){return a.children}).reduce(function(a,s){return a.concat(s)},[]).filter(function(a){return a.dataItem&&a.dataItem.data&&!a.dataItem.data.isLink});return i+this.getNodesCountRecursively(o,r)}return i}},{key:"onDragEnd",value:function(e,r){var i=this;if(this.renderer.removeClass(window.document.body,RM),clearTimeout(this.dragTimeoutId),!this.isDragEndTriggered){var o=r.nodes.indexOf(e);this.dragIndex!==o&&(this.reorderNodes.emit(r.nodes),e&&(e[this.justAddedProperty]=!0,setTimeout(function(){e[i.justAddedProperty]=!1},1e3))),this.dragIndex=-1,this.isDragEndTriggered=!0}}},{key:"expandAndSelectChildren",value:function(e,r,i){var o=this;Object.keys(e).forEach(function(a){var s=e[a],u=s.children,l=s.isSelected,d=(i&&i.children&&i.children.length?i.children:o.tree.treeModel.roots).find(function(v){return v.data[r]===a});d&&(l&&(d.setIsSelected(!0),d.setIsActive(!0,o.config.multiSelection)),d.isCollapsed&&Object.keys(u).length?d.children?(d.expand(),o.expandAndSelectChildren(u,r,d)):d.loadNodeChildren().then(function(){d.setIsExpanded(!0),o.expandAndSelectChildren(u,r,d)}):o.expandAndSelectChildren(u,r,d))})}},{key:"bindTreeProperties",value:function(){if(this.config.treeProperties){var e={};if(this.getChildrenOverrideFunc&&this.config.treeProperties.getChildren)e={getChildren:this.getChildrenOverrideFunc};Object.assign(this.options,this.config.treeProperties,e)}}},{key:"bindDataProperties",value:function(){this.config.dataProperties&&Object.assign(this.dataProperties,this.config.dataProperties)}}]),t}();Wd.\u0275fac=function(n){return new(n||Wd)(W(mi),W(QE))},Wd.\u0275cmp=Pt({type:Wd,selectors:[["sf-tree"]],viewQuery:function(n,e){var r;(1&n&&(Zi(aK,5),Zi(Ja,5)),2&n)&&(Nr(r=Or())&&(e.wrapper=r.first),Nr(r=Or())&&(e.tree=r.first))},hostBindings:function(n,e){1&n&&Le("scroll",function(i){return e.onWindowScroll(i)},!1,QD)},inputs:{focusFirstNode:"focusFirstNode",isLoadingMore:"isLoadingMore",config:"config",textToMatch:"textToMatch",look:"look",itemTemplate:"itemTemplate",loadChildren:"loadChildren",treeDisplayField:["displayField","treeDisplayField"],nodesToDisplay:"nodesToDisplay",getChildrenOverrideFunc:"getChildrenOverrideFunc",nodeHeight:"nodeHeight",justAddedProperty:"justAddedProperty",dataProperties:"dataProperties"},outputs:{treeNodePressEnter:"treeNodePressEnter",treeNodeClicked:"treeNodeClicked",removeNode:"removeNode",onViewNode:"onViewNode",dataUpdate:"dataUpdate",reorderNodes:"reorderNodes",moveNode:"moveNode",initialized:"initialized",checkBoxClicked:"checkBoxClicked",expandedNodesChanged:"expandedNodesChanged",visibleNodesCountChanged:"visibleNodesCountChanged"},features:[gr],decls:8,vars:4,consts:[[4,"ngIf","ngIfThen","ngIfElse"],["virtualized",""],["treeTemplate",""],[4,"ngIf"],["defaultTemplate",""],["virtualizationWrapper",""],["sfResize","",1,"-sf-virtualized__tree",3,"resize"],[4,"ngTemplateOutlet"],["role","tree",3,"nodes","options","focus","focusout","initialized","updateData","moveNode","loadNodeChildren","toggleExpanded","stateChange"],["tree",""],["treeNodeTemplate",""],["loadingTemplate",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["look","skeleton content list",3,"count"],[4,"ngFor","ngForOf"],["look","skeleton content list"],[1,"-sf-mt-zero","-sf-mb-zero"],[1,"sf-tree__row",3,"ngClass"],["class","sf-tree__outer",4,"ngIf"],[1,"sf-tree__inner",3,"ngClass"],["class","sf-tree__icon",3,"name","look",4,"ngIf"],["class","sf-tree__status",4,"ngIf"],[1,"sf-tree__content"],[1,"sf-tree__item-title","-sf-overflow-ellipsis",3,"innerHtml"],["class","sf-tree__description -sf-txt-hint -sf-overflow-ellipsis",4,"ngIf"],["class","sf-tree__description sf-breadcrumb -sf-overflow-ellipsis",4,"ngIf"],["class","sf-tree__right-align sf-tree__action -size-2xs",4,"ngIf"],[1,"sf-tree__outer"],["aria-hidden","true",1,"sf-fa","sf-fa-ellipsis-v","sf-drag-handle"],[1,"sf-tree__icon",3,"name","look"],[1,"sf-tree__status"],[1,"sf-tree__description","-sf-txt-hint","-sf-overflow-ellipsis"],[1,"sf-tree__description","sf-breadcrumb","-sf-overflow-ellipsis"],[3,"title","innerHTML"],[1,"sf-tree__right-align","sf-tree__action","-size-2xs"],["look","close size-2xs black sf-ml-3xs","tabindex","0","title","Remove",3,"click","keyup.enter",4,"ngIf"],["look","close size-2xs black sf-ml-3xs","tabindex","0","title","Remove",3,"click","keyup.enter"]],template:function(n,e){if(1&n&&(U(0,sK,1,0,"ng-container",0),U(1,lK,4,7,"ng-template",null,1,Pr),U(3,hK,6,5,"ng-template",null,2,Pr),U(5,gK,2,2,"ng-container",3),U(6,SK,12,20,"ng-template",null,4,Pr)),2&n){var r=Cr(2),i=Cr(4);I("ngIf",e.options.useVirtualScroll)("ngIfThen",r)("ngIfElse",i),B(5),I("ngIf",e.isLoadingMore)}},directives:[qt,Rr,Ja,eu,ei,Jr,Ei],pipes:[pl,Oo,hl],encapsulation:2});var Wc=h(function t(){p(this,t)});function MK(t,n){if(1&t&&it(0,"sf-icon",9),2&t){var e=A().$implicit;I("name",e.Icon.Name)("look",e.Icon.Look)}}function NK(t,n){if(1&t&&(K(0,"span"),St(1),Z()),2&t){var e=A().$implicit,r=A();ws("sf-radio__text ",r.settings&&r.settings.textCssClass,""),B(1),vi(e.Name)}}function OK(t,n){if(1&t&&(K(0,"p",10),St(1),Z()),2&t){var e=A().$implicit;B(1),vi(e.Description)}}function PK(t,n){1&t&&Kn(0)}Wc.\u0275fac=function(n){return new(n||Wc)},Wc.\u0275mod=on({type:Wc}),Wc.\u0275inj=Qt({providers:[No],imports:[[tt,dr,Hi,wn,ul]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Wc,{declarations:[Wd],imports:[tt,dr,Hi,wn,ul],exports:[Wd]});var RK=function(n){return{choice:n}};function FK(t,n){if(1&t&&(ln(0),U(1,PK,1,0,"ng-container",11),cn()),2&t){var e=A().$implicit;B(1),I("ngTemplateOutlet",e.ExpandedTemplate)("ngTemplateOutletContext",Ha(2,RK,e))}}function LK(t,n){if(1&t){var e=Wt();K(0,"li",1)(1,"input",2),Le("change",function(){var u=se(e).index;return A().onSelectionChange(u)}),Z(),K(2,"label",3),it(3,"span",4),U(4,MK,1,2,"sf-icon",5),U(5,NK,2,4,"span",6),Z(),U(6,OK,2,1,"p",7),U(7,FK,2,4,"ng-container",8),Z()}if(2&t){var r=n.$implicit,i=n.index,o=A();I("ngClass",o.settings&&o.settings.choiceCssClass)("title",r.Title||r.Name),B(1),Yo("id",o.settings&&o.settings.key?o.settings.key+"_"+i:r.Name),I("name",o.settings&&o.settings.key?o.settings.key:r.Name)("value",r.Value)("checked",r.Selected),Dt("disabled",!(!o.settings||!o.settings.readOnlyMode)||null),B(1),ws("sf-radio__label ",o.settings&&o.settings.labelCssClass,""),Yo("for",o.settings&&o.settings.key?o.settings.key+"_"+i:r.Name),B(2),I("ngIf",r.Icon),B(1),I("ngIf",!r.Icon),B(1),I("ngIf",r.Description),B(1),I("ngIf",r.ExpandedTemplate&&r.Selected||o.settings&&o.settings.showExpandedTemplateAlways)}}var FM="sf-choice-group -chip",iu=function(){function t(){p(this,t),this.selectionChange=new be}return h(t,[{key:"ngOnInit",value:function(){if(this.settings&&this.settings.isChip){var e=this.getChipWidthLook();e&&(this.settings.choiceCssClass=this.settings.choiceCssClass?this.settings.choiceCssClass+" ".concat(e):e),this.settings.wrapperCssClass=this.settings.wrapperCssClass?this.settings.wrapperCssClass+" ".concat(FM):FM}}},{key:"getChipWidthLook",value:function(){var e=0,r=null;return this.choices.forEach(function(i){!i.Icon&&i.Name&&i.Name.length>e&&(e=i.Name.length)}),e>3&&(r="-size-m"),e>6&&(r="-size-l"),r}},{key:"onSelectionChange",value:function(e){this.selectionChange.emit(e)}}]),t}();function UK(t,n){1&t&&Kn(0)}iu.\u0275fac=function(n){return new(n||iu)},iu.\u0275cmp=Pt({type:iu,selectors:[["sf-radio-group"]],inputs:{choices:"choices",settings:"settings"},outputs:{selectionChange:"selectionChange"},decls:2,vars:2,consts:[["class","sf-radio",3,"ngClass","title",4,"ngFor","ngForOf"],[1,"sf-radio",3,"ngClass","title"],["type","radio",1,"sf-radio__input",3,"name","id","value","checked","change"],[3,"for"],[1,"sf-radio__icon"],[3,"name","look",4,"ngIf"],[3,"class",4,"ngIf"],["class","sf-radio__description",4,"ngIf"],[4,"ngIf"],[3,"name","look"],[1,"sf-radio__description"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,e){1&n&&(K(0,"ul"),U(1,LK,8,15,"li",0),Z()),2&n&&(Dt("class",e.settings&&e.settings.wrapperCssClass),B(1),I("ngForOf",e.choices))},directives:[ei,Jr,qt,Ei,Rr],encapsulation:2});var qK=function(n,e,r){return{settings:n,choice:e,idx:r}};function GK(t,n){if(1&t&&(K(0,"li",5),U(1,UK,1,0,"ng-container",6),Z()),2&t){var e=n.$implicit,r=n.index,i=A(2),o=Cr(3);I("ngClass",i.settings&&i.settings.choiceCssClass)("title",e.Name),B(1),I("ngTemplateOutlet",o)("ngTemplateOutletContext",Rm(4,qK,i.settings,e,r))}}function zK(t,n){if(1&t&&(K(0,"ul",3),U(1,GK,2,8,"li",4),Z()),2&t){var e=A();I("ngClass",e.settings&&e.settings.wrapperCssClass),B(1),I("ngForOf",e.choices)}}function $K(t,n){1&t&&Kn(0)}var WK=function(n,e){return{settings:n,choice:e,idx:null}};function KK(t,n){if(1&t&&(K(0,"div",7),U(1,$K,1,0,"ng-container",6),Z()),2&t){var e=A(),r=Cr(3);I("ngClass",e.settings&&e.settings.choiceCssClass),B(1),I("ngTemplateOutlet",r)("ngTemplateOutletContext",vb(3,WK,e.settings,e.choices[0]))}}function ZK(t,n){if(1&t&&(K(0,"span",14),St(1),Z()),2&t){var e=A().choice;B(1),vi(e.Description)}}function XK(t,n){1&t&&Kn(0)}function YK(t,n){if(1&t&&(ln(0),U(1,XK,1,0,"ng-container",15),cn()),2&t){var e=A().choice;B(1),I("ngTemplateOutlet",e.ExpandedTemplate)}}function QK(t,n){if(1&t){var e=Wt();K(0,"input",8),Le("change",function(){var u=se(e).idx,l=A();return u?l.onSelectionChange(u):l.onSelectionChange(0)}),Z(),K(1,"label",9),it(2,"span",10),K(3,"span",11),St(4),U(5,ZK,2,1,"span",12),Z()(),U(6,YK,2,1,"ng-container",13)}if(2&t){var r=n.settings,i=n.choice,o=n.idx;Yo("id",r&&r.key?null!==o?r.key+"_"+o:r.key:i.Name),I("name",r&&r.key?r.key:i.Name)("value",i.Value)("checked",i.Selected),Dt("disabled",!(!r||!r.readOnlyMode)||null),B(1),Yo("for",r&&r.key?null!==o?r.key+"_"+o:r.key:i.Name),B(3),Ki("",i.Name," "),B(1),I("ngIf",i.Description),B(1),I("ngIf",i.ExpandedTemplate&&i.Selected||r&&r.showExpandedTemplateAlways)}}var yl=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e,[{key:"ngOnInit",value:function(){this.choices&&(this.isSingleChoice=1===this.choices.length)}}]),e}(iu);function JK(t,n){if(1&t&&(K(0,"option",4),St(1),Z()),2&t){var e=n.$implicit;Yo("value",e.Value),I("selected",e.Selected),B(1),vi(e.Name)}}function eZ(t,n){if(1&t&&(K(0,"option",5),St(1),Z()),2&t){var e=A();Yo("value",e.settings.unsupportedValue),I("selected",!0),B(1),vi(e.settings.unsupportedValueText)}}yl.\u0275fac=function(){var t;return function(e){return(t||(t=_r(yl)))(e||yl)}}(),yl.\u0275cmp=Pt({type:yl,selectors:[["sf-checkboxes"]],features:[Rt],decls:4,vars:2,consts:[[3,"ngClass",4,"ngIf"],["class","sf-checkbox",3,"ngClass",4,"ngIf"],["single",""],[3,"ngClass"],["class","sf-checkbox",3,"ngClass","title",4,"ngFor","ngForOf"],[1,"sf-checkbox",3,"ngClass","title"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"sf-checkbox",3,"ngClass"],["type","checkbox",1,"sf-checkbox__input",3,"name","id","value","checked","change"],[1,"sf-checkbox__label",3,"for"],[1,"sf-checkbox__icon"],[1,"sf-checkbox__text"],["class","-sf-txt-dimmed",4,"ngIf"],[4,"ngIf"],[1,"-sf-txt-dimmed"],[4,"ngTemplateOutlet"]],template:function(n,e){1&n&&(U(0,zK,2,2,"ul",0),U(1,KK,2,6,"div",1),U(2,QK,7,9,"ng-template",null,2,Pr)),2&n&&(I("ngIf",!e.isSingleChoice),B(1),I("ngIf",e.settings&&e.isSingleChoice))},directives:[qt,Jr,ei,Rr],encapsulation:2});var _l=function(t){k(e,t);var n=S(e);function e(){return p(this,e),n.apply(this,arguments)}return h(e)}(iu);_l.\u0275fac=function(){var t;return function(e){return(t||(t=_r(_l)))(e||_l)}}(),_l.\u0275cmp=Pt({type:_l,selectors:[["sf-select"]],inputs:{settings:"settings"},features:[Rt],decls:4,vars:4,consts:[[1,"sf-select",3,"ngClass"],[1,"sf-field__input","sf-select__item",3,"id","change"],[3,"value","selected",4,"ngFor","ngForOf"],[3,"selected","value",4,"ngIf"],[3,"value","selected"],[3,"selected","value"]],template:function(n,e){1&n&&(K(0,"div",0)(1,"select",1),Le("change",function(i){return e.onSelectionChange(i.target.selectedIndex)}),U(2,JK,2,3,"option",2),U(3,eZ,2,3,"option",3),Z()()),2&n&&(I("ngClass",e.settings&&e.settings.wrapperCssClass),B(1),I("id",e.settings&&e.settings.key),B(1),I("ngForOf",e.choices),B(1),I("ngIf",e.settings&&e.settings.unsupportedValueText))},directives:[Jr,ei,qt],encapsulation:2});var Kc=h(function t(){p(this,t)});function tZ(t,n){1&t&&Kn(0)}function nZ(t,n){if(1&t&&(K(0,"sf-notification",6),it(1,"div",7),od(2,"sfSanitizer"),Es(3),Z()),2&t){var e=A(2);I("caption",e.tooltipConfig.caption)("look",e.tooltipConfig.look),B(1),I("title",e.tooltipConfig.tooltip)("innerHtml",gb(2,4,e.tooltipConfig.description,"html"),Pf)}}function rZ(t,n){if(1&t){var e=Wt();K(0,"span",3),Le("contentFocusOut",function(){return se(e),A().onFocusOutHandler()}),U(1,tZ,1,0,"ng-container",4),U(2,nZ,4,7,"sf-notification",5),Z()}if(2&t){var r=A(),i=Cr(2),o=Cr(4);zr("-dropped",r.isTooltipVisible),I("closeOnContentClick",r.shouldCloseOnContentClick),B(1),I("ngIf",r.tooltipConfig.isLink)("ngIfThen",i)("ngIfElse",o),B(1),I("ngIf",r.isTooltipVisible)}}function iZ(t,n){if(1&t){var e=Wt();K(0,"sf-button",8),Le("onClick",function(){return se(e),A().onClickHandler()}),St(1),Z()}if(2&t){var r=A();Dt("aria-label",r.tooltipConfig.ariaLabel),B(1),vi(r.tooltipConfig.linkText)}}function oZ(t,n){if(1&t){var e=Wt();K(0,"sf-icon",9),Le("click",function(){return se(e),A().onClickHandler()})("keyup.enter",function(){return se(e),A().onClickHandler()}),Z()}2&t&&Dt("aria-label",A().tooltipConfig.ariaLabel)}Kc.\u0275fac=function(n){return new(n||Kc)},Kc.\u0275mod=on({type:Kc}),Kc.\u0275inj=Qt({imports:[[tt,wn]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Kc,{declarations:[yl,iu,_l],imports:[tt,wn],exports:[yl,iu,_l]});var Kd=function(){function t(){p(this,t),this.tooltipConfig={isVisible:!0,look:"tooltip down-left"},this.isTooltipVisible=!1,this.shouldCloseOnContentClick=!1,this.onClick=new be,this.onFocusOut=new be}return h(t,[{key:"onClickHandler",value:function(){this.isTooltipVisible=!this.isTooltipVisible,this.onClick.emit(this.isTooltipVisible)}},{key:"onFocusOutHandler",value:function(){this.isTooltipVisible=!1,this.onFocusOut.emit(this.isTooltipVisible)}}]),t}();Kd.\u0275fac=function(n){return new(n||Kd)},Kd.\u0275cmp=Pt({type:Kd,selectors:[["sf-tooltip"]],inputs:{tooltipConfig:"tooltipConfig"},outputs:{onClick:"onClick",onFocusOut:"onFocusOut"},ngContentSelectors:["*"],decls:5,vars:1,consts:[["class","sf-tooltip -open-on-click","sfTrackFocus","",3,"closeOnContentClick","-dropped","contentFocusOut",4,"ngIf"],["link",""],["icon",""],["sfTrackFocus","",1,"sf-tooltip","-open-on-click",3,"closeOnContentClick","contentFocusOut"],[4,"ngIf","ngIfThen","ngIfElse"],["class","sf-tooltip__content",3,"caption","look",4,"ngIf"],[1,"sf-tooltip__content",3,"caption","look"],[1,"-sf-wrap-ellipsis",3,"title","innerHtml"],["data-sftest","clickNotification","look","link","tabindex","0",3,"onClick"],["name","question-circle","look","size-xs sf-clickable","tabindex","0","data-sftest","hint-icon",3,"click","keyup.enter"]],template:function(n,e){1&n&&(Gl(),U(0,rZ,3,7,"span",0),U(1,iZ,2,2,"ng-template",null,1,Pr),U(3,oZ,1,1,"ng-template",null,2,Pr)),2&n&&I("ngIf",e.tooltipConfig.isVisible)},directives:[qt,_a,ml,ts,Ei],pipes:[vl],encapsulation:2});var Zc=h(function t(){p(this,t)});Zc.\u0275fac=function(n){return new(n||Zc)},Zc.\u0275mod=on({type:Zc}),Zc.\u0275inj=Qt({imports:[[tt,dr,ba,wn,ri,Ca]]}),("undefined"==typeof ngJitMode||ngJitMode)&&vr(Zc,{declarations:[Kd],imports:[tt,dr,ba,wn,ri,Ca],exports:[Kd]});var LM=[dr,zc,wn,Lc,Ea,jc,tu,Fc,ri,Hi,Ca,ru,Gc,ba,$c,Wc,Zc,Kc],tw=h(function t(){p(this,t)});tw=Eh([Sb({imports:LM,exports:LM})],tw);var Fg=h(function t(n){p(this,t),this.factory=n,this.factory.createCustomElementDefinition(Ed)});Fg.ctorParameters=function(){return[{type:wd}]},Fg=Eh([Sb({declarations:[Ed],imports:[tt,tw]}),sE("design:paramtypes",[wd])],Fg);var lZ={provide:new bt("Window"),useFactory:function uZ(){return"undefined"!=typeof window?window:null}};var dZ={provide:new bt("Document"),useFactory:function fZ(){return"undefined"!=typeof window?window.document:null}},nw=function(){function t(){p(this,t)}return h(t,[{key:"ngDoBootstrap",value:function(e){}}]),t}();nw=Eh([Sb({imports:[gc,tt,Fg],providers:[wd,lZ,dZ]})],nw),E9().bootstrapModule(nw).catch(function(t){return console.log(t)})}()}(); \ No newline at end of file diff --git a/AdminApp/index.html b/AdminApp/index.html index 803f0283..f97f9f5b 100644 --- a/AdminApp/index.html +++ b/AdminApp/index.html @@ -1,17 +1,14 @@ - - - - + - + - - - + - + + +
    @@ -20,6 +17,7 @@
    - + + - + \ No newline at end of file diff --git a/AdminApp/main.06e08b6aa62883de.js b/AdminApp/main.06e08b6aa62883de.js new file mode 100644 index 00000000..0b785d15 --- /dev/null +++ b/AdminApp/main.06e08b6aa62883de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkiris=self.webpackChunkiris||[]).push([["main"],[,function(e,t,n){var i=n(5),o=n(4),a=n(65),r=n(104),s=n(146),l=n(7),c=n(2),d=n(66),u=n(77),f=n(8),p=n(10),A=n(79),m=n(249),g=n(80),h=n(81),v=n(67),b=n(83),y=n(221),E=n(242),I=function(e){(0,f.Z)(MainFieldComponent,e);var t=(0,p.Z)(MainFieldComponent);function MainFieldComponent(e,n){var o;return(0,i.Z)(this,MainFieldComponent),(o=t.call(this)).route=e,o.filterService=n,o.breakTitleWords=!0,o.hasStatusIcon=!0,o.showStatusText=!0,o.textMatchType=E.cU.StartsWith,o.showBreadcrumbInStatus=!1,o.hasThumbnail=!1,o.rowCssClass="sf-row -no-wrap",o.titleWrapperCssClass="sf-row__col",o.titleCssClass="-sf-mt-zero -sf-mb-zero",o.statusCssClass="sf-row__col -no-flex",o}return(0,o.Z)(MainFieldComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.statusLook=this.calculateStatusLook(),this.context.dataItem.metadata.isSelfReferencing&&this.context.dataItem.data[h.E.BREADCRUMB]&&(this.showBreadcrumbInStatus=!0),this.context.dataItem.data[h.E.THUMBNAIL_URL]&&!y.xe.isMediaEntity(this.context.dataItem)&&(this.hasThumbnail=!0),this.thumbnailLabelProperty&&!this.context.dataItem.data[h.E.RENDERER]&&(this.thumbnailLabel=this.context.dataItem.data[this.thumbnailLabelProperty]);var t=this.route.queryParams.subscribe((function(t){var n=t[g.V5.SEARCH];n&&e.filterService.deserializeQueryParams(n).forEach((function(t){t.value.length&&(e.searchParameter=t.value[0].toString())}));var i=!!t[g.V5.SEARCH],o=!!t[g.V5.FILTER],a=!!t[g.V5.SORT];e.showBreadcrumbInStatus&&(i||o||a)?e.showBreadcrumbInStatus=!0:e.showBreadcrumbInStatus=!1}));this.registerSubscription(t),this.generateCssClassList()}},{key:"generateCssClassList",value:function generateCssClassList(){this.breakTitleWords?(this.titleCssClass+=" -sf-word-break-word",this.context.dataItem.metadata.hasChildren&&!this.context.dataItem.metadata.isSelfReferencing?this.titleCssClass+=" h3":(this.titleCssClass+=" -sf-txt-large",this.statusCssClass+=" -sf-mt-4xs")):(this.rowCssClass+=" -align-items-center",this.titleWrapperCssClass+=" -sf-overflow-hidden",this.titleCssClass+=" -sf-overflow-ellipsis -sf-block"),this.context.dataItem.isTranslated||(this.titleWrapperCssClass+=" -sf-txt-dimmed")}},{key:"calculateStatusLook",value:function calculateStatusLook(){var e=["sf-mr-xs"];return this.context.dataItem.isTranslated&&!this.context.dataItem.data.inactive||e.push("dimmed"),this.breakTitleWords&&e.push("sf-mt-6xs"),e.join(v.WP.INTERVAL)}}]),MainFieldComponent}(E.zu);I.ctorParameters=function(){return[{type:m.gz},{type:b.y}]},I.propDecorators={context:[{type:l.IIB}],breakTitleWords:[{type:l.IIB}],hasStatusIcon:[{type:l.IIB}],showStatusText:[{type:l.IIB}]},I=(0,a.gn)([(0,l.wA2)({selector:"sf-main-field",template:A}),(0,a.w6)("design:paramtypes",[m.gz,b.y])],I);var w=n(58),k=new l.OlP("columns_token"),x=Object.freeze({Page:"Page"}),C={MAIN_COL_ORDINAL:Number.MIN_SAFE_INTEGER,ACTIONS_COL_ORDINAL:Number.MAX_SAFE_INTEGER,ANALYTICS_COL_ORDINAL:Number.MAX_SAFE_INTEGER-1,INSIGHT_COL_ORDINAL:Number.MAX_SAFE_INTEGER-2},S="Insight",B="Analytics",D="Actions",T="Letter",M="Main",N="TaxaMain",F="TitleStatus",P="AlbumsMain",R="MediaTitleStatus",Q="DocumentsLibraryMain",U="VideosLibraryMain",L="PageTemplatesMain",O=function(){function CompositeColumnsProvider(e,t){(0,i.Z)(this,CompositeColumnsProvider),this.columnProviders=e,this.logger=t}return(0,o.Z)(CompositeColumnsProvider,[{key:"getColumns",value:function getColumns(e){return this.columnProviders?this.initColumns(e):(0,r.of)([])}},{key:"getColumnsToRemove",value:function getColumnsToRemove(e){return(0,r.of)([])}},{key:"initColumns",value:function initColumns(e){var t=this,n=this.columnProviders.map((function(t){return t.getColumns(e)})),i=this.columnProviders.map((function(t){return t.getColumnsToRemove?t.getColumnsToRemove(e):(0,r.of)([])})),o=(0,s.aj)(i),a=(0,s.aj)(n);return(0,s.aj)([a,o]).pipe((0,w.U)((function(n){return t.mergeColumns(n,e.metadata.setName)})))}},{key:"mergeColumns",value:function mergeColumns(e,t){var n=this,i=(0,d.d3)(e[0]),o=(0,d.d3)(e[1]),a=[];return i.forEach((function(e,i){n.isColumnValid(e,a)&&!n.shouldRemoveColumn(o,e)&&(e.ordinal=n.handleColumnOrdinal(e,t,i),a.push(e))})),a=a.sort((function(e,t){return e.ordinal-t.ordinal}))}},{key:"shouldRemoveColumn",value:function shouldRemoveColumn(e,t){var n=[D,T,M,N,F,P,R,Q,U,L],i=e.some((function(e){return e===t.name})),o=!n.includes(t.name);return!o&&i&&this.logger.warn("Column with name ".concat(t.name," cannot be removed.")),o&&i}},{key:"isColumnValid",value:function isColumnValid(e,t){return x.hasOwnProperty(e.name)?(this.logger.warn("Custom column with name ".concat(e.name," is reserved. Please choose another.")),!1):!t.find((function(t){return t.name===e.name}))||(this.logger.warn("Custom column with name ".concat(e.name," is already taken. Please choose another.")),!1)}},{key:"handleColumnOrdinal",value:function handleColumnOrdinal(e,t,n){for(var i=0,o=[new _,new V,new G];i=C.INSIGHT_COL_ORDINAL&&!i.includes(e.name))return e.ordinal=C.INSIGHT_COL_ORDINAL-1,!0;if(e.ordinal<=C.MAIN_COL_ORDINAL&&!o)return e.ordinal=C.MAIN_COL_ORDINAL+1,!0}return!1}}]),DefaultColumnRules}(),H=n(230),Z=n(235),Y=n(228),j=n(197),W=(0,o.Z)((function OperationsData(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;(0,i.Z)(this,OperationsData),this.dataItem=e,this.target=t,this.parentItem=n,this.contextData=o,this.additionalQueryParams=a}));!function(e){e[e.List=1]="List",e[e.Edit=2]="Edit",e[e.EditLocked=3]="EditLocked",e[e.Bulk=4]="Bulk",e[e.Create=5]="Create"}(z||(z={}));var J=n(17),q=n(26),X=n(147),K=n(111),$=n(204),ee=n(193),te=new l.OlP("operations_filter"),ne=n(6),ie=n(250),oe=n(207),ae=n(206),re=n(120),se="size-xl sf-txt-small sf-txt-upper-case edit-variation",le="TRANSLATIONS",ce="ADD TRANSLATION",de=function(e){(0,f.Z)(LanguagesDropdownComponent,e);var t=(0,p.Z)(LanguagesDropdownComponent);function LanguagesDropdownComponent(e,n){var o;return(0,i.Z)(this,LanguagesDropdownComponent),(o=t.call(this)).route=e,o.detector=n,o.onChange=new l.vpe,o.operations=new re.t(1),o}return(0,o.Z)(LanguagesDropdownComponent,[{key:"cultureOperations",get:function get(){return this.operations.asObservable()}},{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.item){var t=this.item.subscribe((function(t){return e.onItemChanged(t)}));this.registerSubscription(t)}}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){e.context.additionalText!==this.selectedCulture.Name&&this.onChange.emit(e)}},{key:"onItemChanged",value:function onItemChanged(e){var t=this,n=this.route.parent.snapshot.data.siteDataStore;if(n.ContentCultures.length>1){var i=n.ContentCultures,o=[];e.data&&(o=e.data.AvailableLanguages),this.actionMenuOptions=new oe.gP(Number.NEGATIVE_INFINITY,ae.fT,!0),this.selectedCulture=n.ContentCultures.find((function(t){return t.Name===e.culture})),this.selectedOperationName="".concat($.q.changeCulture,"_").concat(this.selectedCulture.Name);var a=this.generateCultureOperations(this.selectedCulture.Name,i,o,e);this.detector.detectChanges(),this.customOperations?(this.customOperationsSubscription&&this.customOperationsSubscription.unsubscribe(),this.customOperationsSubscription=this.customOperations.subscribe((function(e){t.operations.next(e.concat(a))})),this.registerSubscription(this.customOperationsSubscription)):this.operations.next(a)}}},{key:"generateCultureOperations",value:function generateCultureOperations(e,t,n,i){var o=[],a=[],r=[];return t.forEach((function(e,t){var i=n.some((function(t){return t===e.Name})),o={Title:e.DisplayName,Category:i?{Name:le,Title:le}:{Name:ce,Title:ce},Name:"".concat($.q.changeCulture,"_").concat(e.Name),Ordinal:t,Description:v.WP.EMPTY_STRING,Link:null,Parameters:null,context:{additionalText:e.Name,look:i?se:"size-xl sf-txt-small sf-txt-upper-case add-variation"},RequiresConfirmation:!1};i?a.push(o):r.push(o)})),o=o.concat(a),!i.metadata.hasContent&&i.data&&i.data.AvailableLanguages.length>0&&o.push({Title:"Compare translations",Category:{Name:"COMPARE TRANSLATIONS"},Name:$.q.compareTranslations,Ordinal:100,Description:v.WP.EMPTY_STRING,Link:null,Parameters:null,context:{additionalText:null,look:se},RequiresConfirmation:!1}),o=o.concat(r)}}]),LanguagesDropdownComponent}(E.zu);de.ctorParameters=function(){return[{type:m.gz},{type:l.sBO}]},de.propDecorators={item:[{type:l.IIB}],customOperations:[{type:l.IIB}],onChange:[{type:l.r_U}]},de=(0,a.gn)([(0,l.wA2)({selector:"sf-languages-dropdown",template:ie}),(0,a.w6)("design:paramtypes",[m.gz,l.sBO])],de);var ue=new l.OlP("operations_token"),fe=function(){function CompositeOperationsProvider(e,t,n){(0,i.Z)(this,CompositeOperationsProvider),this.operationProviders=e,this.operationFilters=t,this.window=n}return(0,o.Z)(CompositeOperationsProvider,[{key:"getOperations",value:function getOperations(e){return(0,s.aj)([this.loadOperations(e),this.processCommands(e)]).pipe((0,w.U)((function(e){var t=(0,q.Z)(e,2),n=t[0],i=t[1];return n.concat(i)})))}},{key:"getCommands",value:function getCommands(e){return null}},{key:"getCategories",value:function getCategories(e){return null}},{key:"getListMainOperations",value:function getListMainOperations(e,t,n){var i=new W(ee.zw.emptyItem(e),z.List,t,{origin:this.window.location.href,isHierarchicalView:n});return this.getOperations(i).pipe((0,w.U)((function(e){return e.filter((function(e){return e.Category&&e.Category.Name===$.si.default}))})))}},{key:"getListItemOperations",value:function getListItemOperations(e,t){var n=new W(e,z.List,t,{origin:this.window.location.href});return this.getOperations(n)}},{key:"getBulkOperations",value:function getBulkOperations(e,t){var n=new W(ee.zw.emptyItem(e),z.Bulk,t,{origin:this.window.location.href});return this.getOperations(n)}},{key:"getCreateItemOperations",value:function getCreateItemOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new W(ee.zw.emptyItem(e),z.Create,t,Object.assign(n,{origin:this.window.location.href}));return this.getOperations(i)}},{key:"getEditItemOperations",value:function getEditItemOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=new W(e,z.Edit,t,Object.assign(n,{origin:this.window.location.href}),i);return this.getOperations(o)}},{key:"getCreateItemMainOperations",value:function getCreateItemMainOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.filterCreateEditMainOperations(this.getCreateItemOperations(e,t,n))}},{key:"getEditItemMainOperations",value:function getEditItemMainOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return this.filterCreateEditMainOperations(this.getEditItemOperations(e,t,n,i))}},{key:"filterCreateEditMainOperations",value:function filterCreateEditMainOperations(e){return e.pipe((0,w.U)((function(e){return e.filter((function(e){return e.Name!==$.q.preview&&e.Name!==$.q.stopSyncing&&e.Category.Name!==$.si.personalizedWidgets&&e.Category.Name!==$.si.personalization&&e.Category.Name!==$.si.personalized}))})))}},{key:"getEditItemCustomOperations",value:function getEditItemCustomOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return this.filterCreateEditCustomOperations(this.getEditItemOperations(e,t,n,i))}},{key:"getCreateItemCustomOperations",value:function getCreateItemCustomOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.filterCreateEditCustomOperations(this.getCreateItemOperations(e,t,n))}},{key:"filterCreateEditCustomOperations",value:function filterCreateEditCustomOperations(e){return e.pipe((0,w.U)((function(e){var t=[],n=e.find((function(e){return e.Name===$.q.stopSyncing}));return n&&(n.context={additionalText:null,look:se},t.push(n)),t})))}},{key:"getCreateItemDialogOperations",value:function getCreateItemDialogOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.filterCreateEditDialogOperations(this.getCreateItemOperations(e,t,n),ee.zw.emptyItem(e))}},{key:"getEditItemDialogOperations",value:function getEditItemDialogOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.filterCreateEditDialogOperations(this.getEditItemOperations(e,t,n),e)}},{key:"filterCreateEditDialogOperations",value:function filterCreateEditDialogOperations(e,t){return e.pipe((0,w.U)((function(e){var n={Title:$.Oi.cancel,Category:{Name:$.si.default},Name:$.q.cancel,Ordinal:0,Description:null,Link:null,Parameters:null,RequiresConfirmation:!1};if(!t.isEmpty){var i=e.find((function(e){return e.Name===$.q.unlock}));(e.find((function(e){return e.Name===$.q.edit||null!=e.ParentOperation&&e.ParentOperation.Name===$.q.edit}))||i)&&e.push(n)}return e=e.filter((function(e){return e.Name!==$.q.preview&&e.Name!==$.q.shareTaxonomyWithSite})),t.metadata.hasContent&&(e=e.filter((function(e){return e.Category.Name!==$.si.workflow&&e.Category.Name!==$.si.settings}))),e})))}},{key:"getEditItemAdditionalOperations",value:function getEditItemAdditionalOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return this.filterCreateEditAdditionalOperations(this.getEditItemOperations(e,t,n,i))}},{key:"getCreateItemAdditionalOperations",value:function getCreateItemAdditionalOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.filterCreateEditAdditionalOperations(this.getCreateItemOperations(e,t,n))}},{key:"filterCreateEditAdditionalOperations",value:function filterCreateEditAdditionalOperations(e){return e.pipe((0,w.U)((function(e){return e.filter((function(e){return e.Name===$.q.preview}))})))}},{key:"getEditItemPersonalizationOperations",value:function getEditItemPersonalizationOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return this.filterCreateEditPersonalizationOperations(this.getEditItemOperations(e,t,n,i))}},{key:"getCreateItemPersonalizationOperations",value:function getCreateItemPersonalizationOperations(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.filterCreateEditPersonalizationOperations(this.getCreateItemOperations(e,t,n))}},{key:"filterCreateEditPersonalizationOperations",value:function filterCreateEditPersonalizationOperations(e){return e.pipe((0,w.U)((function(e){return e.filter((function(e){return e.Category.Name===$.si.personalization||e.Category.Name===$.si.personalized||e.Category.Name===$.si.personalizedWidgets}))})))}},{key:"processCommands",value:function processCommands(e){var t=this.operationProviders.map((function(t){return t.getCommands(e)}));return(0,s.aj)((0,J.Z)(t)).pipe((0,w.U)((function(e){return e.reduce((function(e,t){return e.concat(t)}))}))).pipe((0,K.M)(this.loadCategories(e),(function(e,t){return e.map((function(e){var n={Name:e.name,Title:e.title,Ordinal:e.ordinal,token:e.token};n.Category={Name:e.category};var i=t.find((function(t){return t.name===e.category}));return i&&(n.Category.Title=i.title),n}))})))}},{key:"loadCategories",value:function loadCategories(e){var t=this.operationProviders.map((function(t){return t.getCategories(e)}));return(0,s.aj)((0,J.Z)(t)).pipe((0,w.U)((function(e){return e.reduce((function(e,t){return e.concat(t)}))})))}},{key:"loadOperations",value:function loadOperations(e){var t=this;return(0,X.P)((function(){var n=t.operationProviders.map((function(t){return t.getOperations?t.getOperations(e):(0,r.of)([])}));return(0,s.aj)((0,J.Z)(n)).pipe((0,w.U)((function(e){return e.reduce((function(e,t){return e.concat(t)}))}))).pipe((0,w.U)((function(n){return n.forEach((function(e){return t.propNamesToCammelCase(e)})),t.applyFilters(n,e)})))}))}},{key:"propNamesToCammelCase",value:function propNamesToCammelCase(e){Object.keys(e).forEach((function(t){var n=t.charAt(0).toLowerCase()+t.slice(1);e[n]=e[t]}))}},{key:"applyFilters",value:function applyFilters(e,t){return this.operationFilters&&this.operationFilters.forEach((function(n){e=n.filter(e,t)})),e}}],[{key:"getOperationSingularName",value:function getOperationSingularName(e,t){var n=e.singularName;if(t){var i=t.find((function(e){return"SingularName"===e.Name}));i&&(n=i.Value)}return n}},{key:"getOperationPluralName",value:function getOperationPluralName(e,t){var n=e.displayName;if(t){var i=t.find((function(e){return"PluralName"===e.Name}));i&&(n=i.Value)}return n}}]),CompositeOperationsProvider}();fe.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[ue]}]},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[te]}]},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},fe=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array,Array,Window])],fe);var pe=n(84),Ae=n(25),me=n(251),ge=n(227),he=n(101),ve=function(){function ChipsComponent(e){(0,i.Z)(this,ChipsComponent),this.changeDetectorRef=e,this.newChipAdded=new l.vpe,this.focus=new l.vpe,this.moreButtonClicked=new l.vpe,this.selectChip=new l.vpe,this.removeChip=new l.vpe,this.searchChips=new l.vpe,this.showAllData=new l.vpe,this.displayMode=ge.B.NORMAL,this.isHierarchical=!1,this.displayField="Title",this.treeConfig={showBreadcrumb:!0,noSelection:!1},this.closeOnContentSelect=!1,this.showMoreButton=!1,this.config={showRecentLabel:!0,searchPlaceholder:"type to search"},this.closeOnEscape=!0,this.hasDropDownItems=!1,this.isEditing=!1,this.showEditableField=!1,this.triggeringSubscription=new he.X(!1)}return(0,o.Z)(ChipsComponent,[{key:"dropdownChips",get:function get(){return this._dropdownChips},set:function set(e){var t,n,i=this;if(e){this.hasDropDownItems=e.filter((function(e){return e.isSeparator||e.isLink})).length!==e.length;var o=e.slice();if(this.config.actions&&this.config.actions.length&&this.config.actions.forEach((function(e){var t;o.push({isSeparator:!0}),o.push((t={isLink:!0},(0,Ae.Z)(t,i.displayField,e.label),(0,Ae.Z)(t,"action",e.action),t))})),null===(n=null===(t=this.treeConfig)||void 0===t?void 0:t.dataProperties)||void 0===n?void 0:n.alternativeTitleField){var a=o.findIndex((function(e){return e[i.treeConfig.dataProperties.alternativeTitleField.toString()]}));a>-1&&o.splice(a,0,{isSeparator:!0},(0,Ae.Z)({isSelectionDisabled:!0,isHeading:!0},this.displayField,this.treeConfig.dataProperties.alternativeTitleField))}this._dropdownChips=o}else this._dropdownChips=e}},{key:"onNewInputValue",value:function onNewInputValue(e){this.triggeringSubscription.next(!0);var t=e.target||e.srcElement;this.searchText=t.textContent||t.value,this.searchChips.emit(this.searchText),this.tree.clearFocusedNode()}},{key:"OnMoreButtonClicked",value:function OnMoreButtonClicked(e){this.moreButtonClicked.emit(e)}},{key:"onShowAllData",value:function onShowAllData(){this.showAllData.emit()}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.queryContents.changes.subscribe((function(t){e.editableElement=t.first,e.tryFocus()||(e.resetValue(),e.changeDetectorRef.detectChanges())}))}},{key:"toggleEditableField",value:function toggleEditableField(){this.showEditableField=!this.showEditableField,this.showEditableField&&this.searchChips.emit(this.searchText),this.focus.emit(this.showEditableField)}},{key:"initEditableField",value:function initEditableField(){if(this.triggeringSubscription.next(!0),this.searchText)this.showEditableField=!0,this.searchChips.emit(this.searchText),this.selectChip.emit(null);else if(null!==this.selectedChips&&this.selectedChips.length>0){this.showEditableField=!1,this.searchChips.emit(null);var e=this.selectedChips[0];if(e){var t=this.dropdownChips.find((function(t){return t.Id===e.Id}));t.isLink&&t.isSeparator||this.selectChip.emit(t)}}else null!==this.selectedChips&&0!==this.selectedChips.length||(this.searchChips.emit(null),this.showEditableField=!0)}},{key:"onContentFocusOut",value:function onContentFocusOut(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];!this.isHierarchical&&e&&this.onNewChipAdded(this.searchText),this.showEditableField=!1,this.isEditing=!1,this.focus.emit(this.showEditableField)}},{key:"onNewChipAdded",value:function onNewChipAdded(e){e&&(e=e.trim(),this.newChipAdded.emit(e),this.searchChips.emit(null)),this.tryFocus(),this.resetValue()}},{key:"onNewChipSelected",value:function onNewChipSelected(e){if(e){var t=this.dropdownChips.find((function(t){return t.Id===e.id}));this.selectChip.emit(t),this.searchChips.emit(null)}this.closeOnContentSelect||e.data&&e.data.isLink?this.toggleEditableField():(this.tryFocus(),this.resetValue())}},{key:"onEditClick",value:function onEditClick(){this.triggeringSubscription.next(!1),this.showEditableField=!0,this.isEditing=!0,this.searchChips.emit(this.searchText)}},{key:"onInitialized",value:function onInitialized(){if(this.isSingleSelection&&this.selectedChips&&this.selectedChips.length>0&&this.config.showSelectedItemAsActive){var e=this.selectedChips[0];this.tree.selectAndActivateNodeById(e.Id)}}},{key:"onEnterKey",value:function onEnterKey(){var e=this.tree.getFocusNodeValue();e?this.displayMode===ge.B.INPUT&&(this.selectChip.emit(e),this.resetValue(),this.closeOnContentSelect&&this.toggleEditableField()):this.onNewChipAdded(this.searchText)}},{key:"onEscapeKey",value:function onEscapeKey(e){this.onContentFocusOut(),e.stopPropagation()}},{key:"onFocusTree",value:function onFocusTree(){this.tree.focusTree()}},{key:"onFocusNextNode",value:function onFocusNextNode(){this.tree.focusNextNode()}},{key:"onFocusPreviousNode",value:function onFocusPreviousNode(){this.tree.focusPreviousNode()}},{key:"onRemoveChip",value:function onRemoveChip(e){this.removeChip.emit(e),this.focus.emit(this.showEditableField)}},{key:"shouldShowAddButton",value:function shouldShowAddButton(){var e=!this.showEditableField&&!this.isSingleSelection,t=!this.showEditableField&&this.isSingleSelection&&this.selectedChips&&0===this.selectedChips.length;return e||t}},{key:"generateCssClassListFromLook",value:function generateCssClassListFromLook(){var e="";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e}},{key:"tryFocus",value:function tryFocus(){return!!this.editableElement&&(this.editableElement.focus(),!0)}},{key:"resetValue",value:function resetValue(){this.searchText=null,this.editableElement&&(this.displayMode===ge.B.NORMAL?this.editableElement.contentArea.nativeElement.textContent=null:this.displayMode===ge.B.INPUT&&(this.editableElement.value=null))}}]),ChipsComponent}();ve.ctorParameters=function(){return[{type:l.sBO}]},ve.propDecorators={tree:[{type:l.i9L,args:["tree",{static:!1}]}],queryContents:[{type:l.vR,args:["editableElement"]}],selectedChips:[{type:l.IIB}],isLoading:[{type:l.IIB}],isReadOnly:[{type:l.IIB}],isSingleSelection:[{type:l.IIB}],isRemovable:[{type:l.IIB}],look:[{type:l.IIB}],newChipAdded:[{type:l.r_U}],focus:[{type:l.r_U}],moreButtonClicked:[{type:l.r_U}],selectChip:[{type:l.r_U}],removeChip:[{type:l.r_U}],searchChips:[{type:l.r_U}],showAllData:[{type:l.r_U}],isSearchPending:[{type:l.IIB}],displayMode:[{type:l.IIB}],chipAddButtonTitle:[{type:l.IIB}],chipContentName:[{type:l.IIB}],isHierarchical:[{type:l.IIB}],displayField:[{type:l.IIB}],treeConfig:[{type:l.IIB}],selectedChipTemplate:[{type:l.IIB}],closeOnContentSelect:[{type:l.IIB}],showMoreButton:[{type:l.IIB}],moreButtonText:[{type:l.IIB}],config:[{type:l.IIB}],dropdownChips:[{type:l.IIB}]},ve=(0,a.gn)([(0,l.wA2)({selector:"sf-chips",template:me}),(0,a.w6)("design:paramtypes",[l.sBO])],ve);var be=n(252),ye=n(253),Ee=(0,o.Z)((function PopupComponent(){(0,i.Z)(this,PopupComponent)}));Ee.propDecorators={isOpen:[{type:l.IIB}],verticalOffset:[{type:l.IIB}],horizontalOffset:[{type:l.IIB}]},Ee=(0,a.gn)([(0,l.wA2)({selector:"sf-popup",template:be,encapsulation:l.ifc.None,styles:[ye]})],Ee);var Ie=n(78);function convertIsoStringToUTCDate(e){var t=new Date(e);return t.setMinutes(t.getMinutes()+t.getTimezoneOffset()),t}function getDateWithTimeZoneOffset(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=new Date(e);return null!==t&&n.setMinutes(n.getMinutes()-t),n}function isCurrency(e){var t=d.tT.buildRegex("^[A-Z]{3}$","g");return!(!e||!t.test(e))}var we=function(){function LocalizedNumDirective(e){(0,i.Z)(this,LocalizedNumDirective),this.isCurrency=!1,this.locale=Ie.MV,this.element=e}return(0,o.Z)(LocalizedNumDirective,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e,t;(0,d.Ew)(this.value)||(e=+this.value,isNaN(e)||(this.unit&&isCurrency(this.unit)?(t=e.toLocaleString(this.locale,{style:"currency",currency:this.unit}),this.isCurrency=!0):t=e.toLocaleString(this.locale),this.element.nativeElement.innerText=t))}}]),LocalizedNumDirective}();we.ctorParameters=function(){return[{type:l.SBq}]},we.propDecorators={unit:[{type:l.IIB}],locale:[{type:l.IIB}],value:[{type:l.IIB}]},we=(0,a.gn)([(0,l.Xek)({selector:"[sfLocalizedNum]",exportAs:"sfLocalizedNum"}),(0,a.w6)("design:paramtypes",[l.SBq])],we);var ke=n(254),xe=function(e){(0,f.Z)(WarningComponent,e);var t=(0,p.Z)(WarningComponent);function WarningComponent(){return(0,i.Z)(this,WarningComponent),t.apply(this,arguments)}return(0,o.Z)(WarningComponent)}(E.no);xe=(0,a.gn)([(0,l.wA2)({selector:"sf-warning",template:ke})],xe);var Ce=n(149),Se=new l.OlP("Document");var Be={provide:Se,useFactory:function provideDocumentFactory(){return"undefined"!=typeof window?window.document:null}},De=function(e){(0,f.Z)(ClickOutsideDirective,e);var t=(0,p.Z)(ClickOutsideDirective);function ClickOutsideDirective(e,n){var o;return(0,i.Z)(this,ClickOutsideDirective),(o=t.call(this)).element=e,o.documentProvider=n,o.clickOutside=new l.vpe,o}return(0,o.Z)(ClickOutsideDirective,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=(0,Ce.R)(this.documentProvider,"mousedown").subscribe((function(t){e.element.nativeElement.contains(t.target)||e.clickOutside.emit(t)}));this.registerSubscription(t)}}]),ClickOutsideDirective}(E.zu);De.ctorParameters=function(){return[{type:l.SBq},{type:Document,decorators:[{type:l.tBr,args:[Se]}]}]},De.propDecorators={clickOutside:[{type:l.r_U}]},De=(0,a.gn)([(0,l.Xek)({selector:"[sfClickOutside]"}),(0,a.w6)("design:paramtypes",[l.SBq,Document])],De);var Te=n(255),Me=n(161),Ne=function(){function ResizeDirective(e){(0,i.Z)(this,ResizeDirective),this.element=e,this.delay=33,this.resize=new l.vpe}return(0,o.Z)(ResizeDirective,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=window.ResizeObserver||Te.do,n=new he.X({entries:[],observer:null});this.resizeObserver=new t((function(e,t){var i={entries:e,observer:t};n.next(i)})),this.resizeObserver.observe(this.element.nativeElement),n.pipe((0,Me.b)(this.delay)).subscribe((function(t){var n=t.entries[0];n&&n.contentRect.width>0&&n.contentRect.height>0&&e.resize.emit(n)}))}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.resizeObserver.unobserve(this.element.nativeElement)}}]),ResizeDirective}();Ne.ctorParameters=function(){return[{type:l.SBq}]},Ne.propDecorators={delay:[{type:l.IIB}],resize:[{type:l.r_U}]},Ne=(0,a.gn)([(0,l.Xek)({selector:"[sfResize]"}),(0,a.w6)("design:paramtypes",[l.SBq])],Ne);var Fe=function(){function RespondToVisibility(e){(0,i.Z)(this,RespondToVisibility),this.el=e,this.elementIsVisible=new l.vpe,this.elementIsHidden=new l.vpe}return(0,o.Z)(RespondToVisibility,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.respondToVisibility(this.el.nativeElement,this.onChangeVisibility)}},{key:"respondToVisibility",value:function respondToVisibility(e,t){var n=this;this.observer=new IntersectionObserver((function(i){i.forEach((function(i){i.intersectionRatio>0?t(e,n.elementIsVisible):t(e,n.elementIsHidden)}))})),this.observer.observe(e)}},{key:"onChangeVisibility",value:function onChangeVisibility(e,t){t.next(e)}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.observer.disconnect()}}]),RespondToVisibility}();Fe.ctorParameters=function(){return[{type:l.SBq}]},Fe.propDecorators={elementIsVisible:[{type:l.r_U}],elementIsHidden:[{type:l.r_U}]};Fe=(0,a.gn)([(0,l.Xek)({selector:"[sfRespondToVisibility]",exportAs:"sfRespondToVisibility"}),(0,a.w6)("design:paramtypes",[l.SBq])],Fe);var Pe=n(232),Re=n(27),Qe=n(12),Ue=n(256),Le=n(257),Oe=n(259),ze=n(199),_e=(0,o.Z)((function SelectorConstants(){(0,i.Z)(this,SelectorConstants)}));_e.SF_IMMUTABLE="data-sf-ec-immutable",_e.SF_IMMUTABLE_DOCUMENT="data-sf-ec-document-immutable",_e.SF_EDITABLE_IMAGE_WRAPPER="sf-editable-image-wrapper",_e.SF_IMMUTABLE_SELECTED="sf-immutable-selected",_e.SF_HIDDEN="-sf-hidden",_e.HORIZONTAL_RULE="Insert a horizontal rule",_e.SF_DISABLE_LINK_EVENT="data-sf-disable-link-event",_e.INSERT_IMAGE="Insert image",_e.INSERT_DOCUMENT="Insert document",_e.INSERT_LINK="Insert link",_e.DONE="Done",_e.USE_SELECTED="Use selected",_e.CANCEL="Cancel",_e.CLOSE="Close",_e.ON_DROP_ATTRIBUTE="ondrop",_e.ADD_BUTTON="Add",_e.SELECT_BUTTON="Select",_e.DISCARD="Discard",_e.UPLOAD="Upload",_e.BACK="Back",_e.ALL_ITEMS="All items",_e.SAVE="Save",_e.SAVE_ALL_TRANSLATIONS="Save All Translations",_e.COPY_LINK="Copy link",_e.MOVE="Move",_e.MERGE="Merge",_e.USE_CURRENTLY_DISPLAYED_FRAME="Use currently displayed frame";var Ve="external-link",Ge="pencil",He="unlink",Ze="link",Ye="align-left",je="align-center",We="align-right",Je="Open link",qe="Edit link",Xe="Edit document",Ke="Edit image",$e="Edit embed",et="Remove link",tt="Align left",nt="Center",it="Align right",ot={DIV_ELEMENT:"DIV",SPAN_ELEMENT:"SPAN",TEXT_AREA_ELEMENT:"TEXTAREA",IMAGE_ELEMENT:"IMG",ANCHOR_ELEMENT:"A",PROGRESS_ELEMENT:"PROGRESS",ICON_ELEMENT:"I",BUTTON_ELEMENT:"BUTTON",LINK_ELEMENT:"LINK",STYLE_ELEMENT:"STYLE",PICTURE:"PICTURE"},at="iframe",rt="Insert a link",st="Edit link",lt="href",ct="title",dt="target",ut="sfref",ft="sf-tweet-url",pt=":enter",At="200ms ease-out",mt="
    ",gt="k-br",ht=function ensureTrailingBreaks(e){return"".concat(mt).concat(e).concat(mt)},vt=function removeTrailingBreaks(e){e.previousElementSibling&&e.nextElementSibling&&e.previousElementSibling.classList.contains(gt)&&e.nextElementSibling.classList.contains(gt)&&(e.nextElementSibling.remove(),e.previousElementSibling.remove())},bt=function isImageHyperlink(e){if(e)return e.parentElement&&e instanceof HTMLImageElement&&e.parentElement instanceof HTMLAnchorElement},yt=function isImageImmutableSelected(e){if(e)return!!(e instanceof HTMLImageElement||e instanceof HTMLAnchorElement&&e.querySelector(ot.IMAGE_ELEMENT))},Et=["-".concat(je),"-".concat(Ye),"-".concat(We)],It=["margin","margin-top","margin-right","margin-bottom","margin-left"],wt="justifyleft",kt="justifyright",xt="justifycenter",Ct=function handleKendoAlignCommand(e,t,n){if(yt(t)||function isEmbedImmutableSelected(e){if(e)return!(!e.attributes[_e.SF_IMMUTABLE]||!e.querySelector(at))}(t)){var i=[];switch(e){case wt:t.classList.toggle("-".concat(Ye)),t.classList.remove("-".concat(je)),t.classList.remove("-".concat(We)),t.classList.contains("-".concat(Ye))||(t.style.float=v.WP.EMPTY_STRING);break;case kt:t.classList.toggle("-".concat(We)),t.classList.remove("-".concat(Ye)),t.classList.remove("-".concat(je)),t.classList.contains("-".concat(We))||(t.style.float=v.WP.EMPTY_STRING);break;case xt:t.classList.toggle("-".concat(je)),t.classList.remove("-".concat(Ye)),t.classList.remove("-".concat(We)),t.classList.contains("-".concat(je))?(t.style.float=v.WP.EMPTY_STRING,i=["margin-left","margin-right"]):(t.style.marginLeft=v.WP.EMPTY_STRING,t.style.marginRight=v.WP.EMPTY_STRING)}Bt(t,n,i)}},St=function transferKendoAlignInlineStyles(e,t){var n=e instanceof HTMLAnchorElement?["display"]:[],i=Dt(e,null,null,It);Bt(t,i,n);var o=Et.find((function(t){return e.classList.contains(t)}));o&&(t.classList.add(o),e.classList.remove(o))},Bt=function setInlineStyles(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];e&&Object.keys(t).forEach((function(i){-1===n.indexOf(i)&&(e.style[i]=t[i])}))},Dt=function getInlineStyles(e,t,n,i){if(e)return Array.from(e.style).reduce((function(o,a){var r=!0;return t&&(r=t.indexOf(a)>-1)&&n&&(r=e.style[a].indexOf(n)>-1),r&&(o[a]=e.style[a]),i&&i.indexOf(a)>-1&&(e.style[a]=null),o}),{})},Tt=new l.OlP("operations_token"),Mt=function(){function CompositeEditorConfigProvider(e){(0,i.Z)(this,CompositeEditorConfigProvider),this.editorConfigProviders=e}return(0,o.Z)(CompositeEditorConfigProvider,[{key:"getToolBarItems",value:function getToolBarItems(e){return null!==this.editorConfigProviders?this.editorConfigProviders.map((function(t){return t.getToolBarItems(e)})).reduce((function(e,t){return e.concat(t)})):[]}},{key:"getToolBarItemsNamesToRemove",value:function getToolBarItemsNamesToRemove(){if(null!==this.editorConfigProviders)return this.editorConfigProviders.map((function(e){return e.getToolBarItemsNamesToRemove()})).reduce((function(e,t){return e.concat(t)}))}},{key:"configureEditor",value:function configureEditor(e){return null!==this.editorConfigProviders?this.editorConfigProviders.reduce((function(e,t){return t.configureEditor?t.configureEditor(e):e}),e):e}}]),CompositeEditorConfigProvider}();Mt.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Tt]}]}]},Mt=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],Mt);var Nt=n(258),Ft=n(33),Pt=function groupToolbarButtons(e,t,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=jQuery(e).find(n).parent(),a=jQuery(e).find(t).parent(),r=a.closest(".k-button-group");i?(o.closest(".k-button-group").find(".k-group-end").removeClass("k-group-end"),a.removeClass("k-group-start")):a.removeClass("k-group-start k-group-end"),a.insertAfter(o),r.remove()},Rt=n(191),Qt=n(86),Ut=n(130),Lt=new l.OlP("UrlService"),Ot=function(){function UrlService(e,t,n){(0,i.Z)(this,UrlService),this.window=e,this.locationStrategy=t,this.resourcePath=n.resourcePath}return(0,o.Z)(UrlService,[{key:"getResourceUrl",value:function getResourceUrl(e){return this.resourcePath?"".concat(this.resourcePath).concat(e):e}},{key:"getAbsoluteResourceUrl",value:function getAbsoluteResourceUrl(e){return this.resourcePath?"".concat(this.window.location.origin).concat(this.resourcePath).concat(e):e}},{key:"getServerRelativeUrl",value:function getServerRelativeUrl(e){var t="/adminapp",n=this.resourcePath||v.WP.EMPTY_STRING;return n.endsWith(t)&&(n=n.replace(t,v.WP.EMPTY_STRING)),"".concat(n,"/Sitefinity").concat(e)}},{key:"getAbsoluteUrl",value:function getAbsoluteUrl(e){var t=this.locationStrategy.getBaseHref(),n=this.trimForwardSlash(e),i=this.window.location.origin;return t!==v.WP.FORWARD_SLASH&&(i+=t),0===n.length?i:(i.endsWith(v.WP.FORWARD_SLASH)||(i+=v.WP.FORWARD_SLASH),i+=n)}},{key:"trimForwardSlash",value:function trimForwardSlash(e){for(var t=e;t.startsWith(v.WP.FORWARD_SLASH);)t=t.substring(v.WP.FORWARD_SLASH.length);for(;t.endsWith(v.WP.FORWARD_SLASH);)t=t.substring(0,t.length-v.WP.FORWARD_SLASH.length);return t}}]),UrlService}();Ot.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ut.b0},{type:Qt.Zr}]},Ot=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Window,Ut.b0,Qt.Zr])],Ot);var zt=n(92),_t=n(94),Vt=function(){function ExternalStyleSheetService(e,t,n,o){(0,i.Z)(this,ExternalStyleSheetService),this.documentProvider=e,this.adminAppConfigService=t,this.urlService=n,this.envService=o,this.loadedStyleSheets=[]}return(0,o.Z)(ExternalStyleSheetService,[{key:"applyExternalStyleSheets",value:function applyExternalStyleSheets(){var e=this;if(!this.loadedStyleSheets$){this.loadedStyleSheets$=new re.t(1);var t=this.adminAppConfigService.externalConfig;if(this.externalStyleSheets=t&&t.editorSettings&&t.editorSettings.stylesheets?t.editorSettings.stylesheets:null,this.externalStyleSheets){var n=[];this.externalStyleSheets.forEach((function(t){n.push(e.loadStyleSheet(t))})),s.aj.apply(void 0,n).subscribe((function(t){e.loadedStyleSheets$.next(t)}))}}return this.loadedStyleSheets$.pipe((0,w.U)((function(e){return!0})))}},{key:"destroyExternalStyleSheets",value:function destroyExternalStyleSheets(){this.loadedStyleSheets.length&&(this.loadedStyleSheets.forEach((function(e){e.remove()})),this.loadedStyleSheets.length=0,this.loadedStyleSheets$=null)}},{key:"loadStyleSheet",value:function loadStyleSheet(e){this.isAbsoluteUrl(e)||(e=this.getRelativePath(e));var t=new Ft.xQ,n=this.documentProvider.createElement(ot.LINK_ELEMENT);return n.rel="stylesheet",n.href=e,n.onload=function(){t.next(!0),t.complete()},this.loadedStyleSheets.push(n),this.documentProvider.head.appendChild(n),t.asObservable()}},{key:"isAbsoluteUrl",value:function isAbsoluteUrl(e){var t;try{t=new URL(e)}catch(e){t=e}return t instanceof URL}},{key:"getRelativePath",value:function getRelativePath(e){var t=e;return this.envService.getEnvironment()===_t.H.integration?(e.startsWith(v.WP.FORWARD_SLASH)||(e="".concat(v.WP.FORWARD_SLASH).concat(e)),t=this.urlService.getResourceUrl(e)):t=this.urlService.getAbsoluteUrl(e),t}}]),ExternalStyleSheetService}();Vt.ctorParameters=function(){return[{type:Document,decorators:[{type:l.tBr,args:[Se]}]},{type:Rt.V},{type:Ot},{type:zt.L}]},Vt=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Document,Rt.V,Ot,zt.L])],Vt);var Gt,Ht=function(){function EmbedMediaParser(){(0,i.Z)(this,EmbedMediaParser)}return(0,o.Z)(EmbedMediaParser,[{key:"getMediaHtml",value:function getMediaHtml(e,t,n,i){if(e.isValid){var o=v.WP.EMPTY_STRING;return t&&(o+="width: ".concat(t,"px; ")),n&&(o+="height: ".concat(n,"px; ")),i&&(o+=i),"
    ").concat(e.html,"
    ")}}},{key:"getValue",value:function getValue(e){return e}},{key:"isExactMatch",value:function isExactMatch(e){return!1}},{key:"initEmbeddedData",value:function initEmbeddedData(){}},{key:"insertScript",value:function insertScript(e){if(!this.scriptExists(e)){var t=document.createElement("script");t.type="text/javascript",t.src=e,t.async=!0,document.body.appendChild(t)}}},{key:"getNullableInteger",value:function getNullableInteger(e){var t=e.toString().replace("px",v.WP.EMPTY_STRING),n=Number(t),i={hasValue:t!==v.WP.EMPTY_STRING&&!isNaN(n),value:null};return i.hasValue&&(i.value=n),i}},{key:"scriptExists",value:function scriptExists(e){for(var t=document.querySelectorAll("script"),n=0;n
    ',ln="-sf-editor-hidden",cn=function(e){(0,f.Z)(EditorComponent,e);var t=(0,p.Z)(EditorComponent);function EditorComponent(e,n,o,a,r,s,c,d,u){var f;return(0,i.Z)(this,EditorComponent),(f=t.call(this)).editorConfigProvider=n,f.windowProvider=o,f.scrollService=a,f.adminAppConfigService=r,f.externalStyleSheetService=s,f.renderer=c,f.compositeMediaParser=d,f.zone=u,f.blur=new l.vpe,f.select=new l.vpe,f.contentKeydown=new l.vpe,f.contentKeyup=new l.vpe,f.load=new l.vpe,f.deletedUploadingImage=new l.vpe,f.retryUploadingImage=new l.vpe,f.selectionChange=new l.vpe,f.editImage=new l.vpe,f.serializedImmutables=new l.vpe,f.deselectImmutables=new l.vpe,f.isReady$=new Ft.xQ,f.isCollapsed=!0,f.isExpandButtonVisible=!1,f.expandButtonText=Jt,f.collapseButtonText=qt,f.initialValue=en,f.shouldFocusEditor=!1,f.editorNS=kendo.ui.editor,f.EditorNS=kendo.ui.Editor,f.deleteUploads=[],f.hasSelectedImmutable=!1,f.valueToWriteFirst=v.WP.EMPTY_STRING,f.isValueSetForFirstTime=!0,f.isFirstUserInput=!1,f.shouldTriggerValueChange=!1,f.tweets={},f.element=e,f}return(0,o.Z)(EditorComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.adminAppConfigService.externalConfig;this.externalConfig=t&&t.editorSettings?t.editorSettings:{};var n=this.windowProvider.setInterval((function(){!e.kendoEditor&&e.element.nativeElement.offsetParent&&e.externalConfig?(e.setupKendoEditor(),e.isReady$.next(!0)):e.kendoEditor&&(e.writeValue(e.valueToWriteFirst),e.valueToWriteFirst!==en&&e.checkContentCollapse(),e.windowProvider.clearInterval(n))}),100)}},{key:"respondToVisibility",value:function respondToVisibility(){var e=this;this.visibilityObserver=new IntersectionObserver((function(t){1===t.length&&(t[0].intersectionRatio>0?(e.shouldFocusEditor&&e.focus(),e.shouldFocusEditor=!1,e.editorComponentConfig&&e.editorComponentConfig.alwaysShowToolbar&&e.renderer.removeClass(e.windowProvider.document.body,ln)):e.editorComponentConfig&&e.editorComponentConfig.alwaysShowToolbar&&e.renderer.addClass(e.windowProvider.document.body,ln))})),this.visibilityObserver.observe(this.editorHostRef.nativeElement)}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(EditorComponent.prototype),"ngOnDestroy",this).call(this),this.visibilityObserver&&this.visibilityObserver.disconnect(),this.windowProvider.document.body.classList.contains(ln)&&this.renderer.removeClass(this.windowProvider.document.body,ln),this.kendoEditor&&this.kendoEditor.destroy(),this.externalStyleSheetService.destroyExternalStyleSheets()}},{key:"fixFormatDropdownWidth",value:function fixFormatDropdownWidth(){var e=jQuery(".k-formatting").data("kendoSelectBox");e&&e.setOptions({autoWidth:!0})}},{key:"inserthtml",value:function inserthtml(e){this.isFirstUserInput=!0,this.kendoEditor.exec("inserthtml",e)}},{key:"insertUncleanedHtml",value:function insertUncleanedHtml(e){e=e.value||e,this.inserthtml({value:v.WP.INTERVAL}),this.triggerValueChanged(),this.inserthtml({value:e,skipCleaners:!0})}},{key:"insertEmbed",value:function insertEmbed(e){this.storeTweetsFromValue(e),this.insertUncleanedHtml(e)}},{key:"unlink",value:function unlink(e){this.kendoEditor.exec("unlink"),this.triggerValueChanged()}},{key:"focus",value:function focus(){this.kendoEditor.focus(),this.checkContentCollapse(!1)}},{key:"getValue",value:function getValue(){return this.kendoEditor?this.kendoEditor.value():this.initialValue}},{key:"writeValue",value:function writeValue(e){if(this.valueToWriteFirst=e,this.kendoEditor&&null!=e){var t=this.initialValue===en,n=this.initialValue!==e;this.kendoEditor.value(e),this.initialValue=this.kendoEditor.value(),this.load.emit(this),n&&!t&&this.serializedImmutables.emit(this.initialValue),this.isFirstUserInput=!1,this.isValueSetForFirstTime&&(this.storeTweetsFromValue(e),this.isValueSetForFirstTime=!1),this.compositeMediaParser.initEmbeddedData()}}},{key:"postProcessValue",value:function postProcessValue(e){if(!e)return e;var t=e;return t=this.replaceTweetWidget(t),t=this.handleNonBreakingSpaces(t)}},{key:"preProcessValue",value:function preProcessValue(e){if(!e)return e;var t=e,n=e;return this.getTweets(e).forEach((function(e){n=n.replace(e,v.WP.EMPTY_STRING)})),dn.getElementsByTag(n,ot.ANCHOR_ELEMENT).forEach((function(e){if(!(e.indexOf(_e.SF_IMMUTABLE)>-1)){var n=dn.insertTextAtFirstEmptyPosition(e,"".concat(_e.SF_IMMUTABLE,'=""'));t=t.replace(e,n)}})),dn.getElementsByTag(n,ot.IMAGE_ELEMENT,!0).forEach((function(e){if(!(e.indexOf(_e.SF_IMMUTABLE)>-1)){var n=dn.insertTextAtFirstEmptyPosition(e,"".concat(_e.SF_IMMUTABLE,'=""'));t=t.replace(e,n)}})),this.initialValue=t,t}},{key:"onEdit",value:function onEdit(){this.editImage.emit()}},{key:"getCurrentRange",value:function getCurrentRange(){return this.kendoEditor.getRange()}},{key:"setCurrentRange",value:function setCurrentRange(e){this.kendoEditor.selectRange(e)}},{key:"checkContentCollapse",value:function checkContentCollapse(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.editorHostRef.nativeElement.scrollHeight>Kt,n=this.editorComponentConfig&&void 0!==this.editorComponentConfig.collapsible,i=n?this.editorComponentConfig.collapsible&&t:t;i&&(this.collapseAnimationState="closed",this.isCollapsed=e),this.isExpandButtonVisible=i}},{key:"embedValueChanged",value:function embedValueChanged(){this.isFirstUserInput=!0,this.triggerValueChanged(),this.compositeMediaParser.initEmbeddedData()}},{key:"delete",value:function _delete(e){if(e&&e.parentElement){var t=new this.editorNS.RestorePoint(this.kendoEditor.getRange(),this.kendoEditor.body);vt(e),e.parentElement.removeChild(e),this.pushCurrentStateInUndoRedo(t)}}},{key:"removeUndoRedoCommand",value:function removeUndoRedoCommand(e,t){var n="Wrapper"+e,i=this.kendoEditor.undoRedoStack.stack.length,o=this.kendoEditor.undoRedoStack.stack[this.kendoEditor.undoRedoStack.stack.length-1].startRestorePoint.html,a=t||dn.findElementById(o,n);this.updateUndoRedoStack(0,n,i,!0,a)}},{key:"toggleExpandButton",value:function toggleExpandButton(){if(this.isCollapsed=!this.isCollapsed,this.isCollapsed){var e=this.editorHostRef.nativeElement.getBoundingClientRect(),t=document.documentElement.scrollTop-Math.abs(e.top)-150;this.scrollService.scrollToPoint(t,tn)}else this.focus()}},{key:"getSelectedText",value:function getSelectedText(){var e={range:this.kendoEditor.getRange(),body:this.kendoEditor.body,immutables:this.kendoEditor.immutables};this.editorNS.Command.fn.init(e);var t=this.editorNS.Command.fn.lockRange(!0),n=this.editorNS.RangeUtils.textNodes(t);return{selectedText:this.editorNS.LinkCommand.fn.linkText(n),selectedTextWrapper:this.getMarkedText(t.commonAncestorContainer.innerHTML),range:t}}},{key:"cleanMarkers",value:function cleanMarkers(e){var t=new RegExp(sn,"g");return e.replace(t,v.WP.EMPTY_STRING)}},{key:"getMarkedText",value:function getMarkedText(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;var n=e.indexOf(sn),i=e.lastIndexOf(sn);return n<0?null:t?e.substring(n,i+sn.length):e.substring(n+sn.length,i)}},{key:"getHtmlCode",value:function getHtmlCode(){this.kendoEditor.options.serialization.immutables=this.kendoEditor.immutables;var e=this.kendoEditor.value();return this.kendoEditor.options.serialization.immutables=void 0,e}},{key:"executeInDeserializationZone",value:function executeInDeserializationZone(e){this.kendoEditor.options.deserialization.immutables=void 0,e(),this.kendoEditor.options.deserialization.immutables=this.kendoEditor.immutables}},{key:"onContentClick",value:function onContentClick(e){if(this.mousePosition={x:e.clientX,y:e.clientY},e.target){var t=e.target.getAttribute("data");if(t&&e.target.nodeName===ot.BUTTON_ELEMENT){var n=document.getElementById(t);n&&(this.deleteUploads.push(t),vt(n),n.remove(),this.triggerValueChanged(),this.updateUndoRedoStack(0,t))}else{if(t&&e.target.nodeName===ot.ANCHOR_ELEMENT){var i=e.target.parentElement.parentElement;return i&&(vt(i),i.remove(),this.triggerValueChanged()),void this.retryUploadingImage.emit(t)}var o=e.target;this.select.emit({selectedElement:o,parentPosition:this.kendoEditor.body.getBoundingClientRect(),mousePosition:this.mousePosition}),this.mousePosition=null,this.triggerValueChanged(),this.onTouchedCallback()}}}},{key:"onContentKeydown",value:function onContentKeydown(e){this.contentKeydown.emit(e)}},{key:"onContentKeyup",value:function onContentKeyup(e){this.contentKeyup.emit(e)}},{key:"onTableWizardOpen",value:function onTableWizardOpen(){this.kendoEditor.exec("tableWizard");var e=document.querySelector(".k-editor-table-wizard-dialog");e.classList.add("sf-form","-medium","-sf-centered-box");var t=jQuery(e).data("kendoWindow"),n=e.querySelector(".k-dialog-ok"),i=e.querySelector(".k-dialog-close");n.innerHTML=_e.DONE,t.setOptions({draggable:!1,title:Wt}),t.maximize(),[n,i].forEach((function(e){e.addEventListener("click",(function(){t.close()}))}))}},{key:"onDrop",value:function onDrop(e){e.preventDefault(),e.stopImmediatePropagation()}},{key:"justifyLeft",value:function justifyLeft(e){this.triggerJustifyCommand(wt,e)}},{key:"justifyCenter",value:function justifyCenter(e){this.triggerJustifyCommand(xt,e)}},{key:"justifyRight",value:function justifyRight(e){this.triggerJustifyCommand(kt,e)}},{key:"getActiveAlignToolName",value:function getActiveAlignToolName(e){var t=e;bt(e)&&(t=e.parentElement);var n=null;return t.classList.contains("-".concat(Ye))&&(n=Ye),t.classList.contains("-".concat(We))&&(n=We),t.classList.contains("-".concat(je))&&(n=je),n}},{key:"triggerUserValueChanged",value:function triggerUserValueChanged(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isFirstUserInput=!0,this.triggerValueChanged(e)}},{key:"hideToolbar",value:function hideToolbar(){this.kendoEditor.toolbar.hide()}},{key:"triggerValueChanged",value:function triggerValueChanged(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.kendoEditor.value();e&&this.checkContentCollapse(!1),this.initialValue!==t&&this.isFirstUserInput&&(this.initialValue=t,this.onChangeCallback(t))}},{key:"handleDeletedUploads",value:function handleDeletedUploads(){var e=this;this.deleteUploads.length>0&&(this.deleteUploads.forEach((function(t){e.updateUndoRedoStack(0,t)})),this.deleteUploads=[],this.triggerValueChanged())}},{key:"updateUndoRedoStack",value:function updateUndoRedoStack(e,t,n,i,o){var a;this.deletedUploadingImage.emit(t.slice(7));for(var r=n||this.kendoEditor.undoRedoStack.stack.length,s=e;s0){a=dn.findElementById(l.restorePoint.html,t);var d=i?l.restorePoint.html.replace(a,o):l.restorePoint.html.slice(0,c)+l.restorePoint.html.slice(c+a.length);l.restorePoint.html=d}}else{var u=dn.findIdStartingIndex(l.startRestorePoint.html,rn,t),f=dn.findIdStartingIndex(l.endRestorePoint.html,rn,t);if(u>0){a=dn.findElementById(l.startRestorePoint.html,t);var p=i?l.startRestorePoint.html.replace(a,o):l.startRestorePoint.html.slice(0,u)+l.startRestorePoint.html.slice(u+a.length);l.startRestorePoint.html=p}if(f>0){a=dn.findElementById(l.endRestorePoint.html,t);var A=l.endRestorePoint.html;l.endRestorePoint=l.startRestorePoint;var m=i?l.endRestorePoint.html.replace(a,o):A.slice(0,f)+A.slice(f+a.length);l.endRestorePoint.html=m}}this.kendoEditor.undoRedoStack.stack[s]=l}}},{key:"hasDifference",value:function hasDifference(e,t,n){return(e.match(n)||[]).length!==(t.match(n)||[]).length}},{key:"pushCurrentStateInUndoRedo",value:function pushCurrentStateInUndoRedo(e){this.inserthtml(v.WP.EMPTY_STRING),this.triggerValueChanged()}},{key:"processCustomTools",value:function processCustomTools(e,t){e.sort((function(e,t){return void 0===e.ordinal?-1:void 0===t.ordinal?1:e.ordinal-t.ordinal})).forEach((function(e){var n={name:e.name,tooltip:e.tooltip,template:e.template,exec:function exec(t){t.preventDefault(),t.stopPropagation(),e.exec()}},i=t.indexOf(e.name);i>-1&&(void 0===e.ordinal&&(e.ordinal=i),t.splice(i,1)),void 0!==e.ordinal?t.splice(e.ordinal,0,n):t.push(n)}))}},{key:"setupKendoEditor",value:function setupKendoEditor(){var e=this,t=this.editorConfigProvider.getToolBarItems(jQuery(this.editorHostRef.nativeElement)),n=this.editorConfigProvider.getToolBarItemsNamesToRemove();n=n||[];var i,o=this.getToolsNames().filter((function(e){return-1===n.indexOf(e)}));this.customTools?(this.customTools=this.customTools.filter((function(e){return-1!==o.indexOf(e.name)})),this.customTools=this.customTools.filter((function(e){return-1===n.indexOf(e.name)})),(i=this.customTools).push.apply(i,(0,J.Z)(t))):this.customTools=t;this.customTools&&this.processCustomTools(this.customTools,o);var a,r={tools:o,pasteCleanup:{all:!1,css:!0,keepNewLines:!1,msAllFormatting:!1,msConvertLists:!0,msTags:!0,none:!1,span:!0},resizable:{content:!0,toolbar:!0},serialization:{semantic:!0},immutables:!0,keydown:function keydown(t){!e.hasSelectedImmutable||t.key!==an&&t.key!==on||t.stopPropagation()},keyup:function keyup(){e.isFirstUserInput=!0,e.triggerValueChanged()},paste:function paste(t){var n=t.html;e.storeTweetsFromValue(n),t.html=v.WP.EMPTY_STRING,e.tryRecognizePaste(n).then((function(t){t||(e.inserthtml({value:n}),e.triggerValueChanged())}))},change:function change(){e.triggerUserValueChanged(),e.blur.emit(e)},execute:function execute(t){e.onEditorCommandExecute(t.name,t)},select:function select(){e.shouldTriggerValueChange&&(e.triggerUserValueChanged(),e.shouldTriggerValueChange=!1)},culture:this.culture};(r=Object.assign(Object.assign({},r),this.externalConfig)).tools=o,r=this.editorConfigProvider.configureEditor(r),this.zone.runOutsideAngular((function(){a=jQuery(e.editorHostRef.nativeElement).kendoEditor(r)})),this.kendoEditor=a.getKendoEditor();var s=this.kendoEditor.toolbar.element;Pt(s,".k-i-table-properties",".k-i-table-insert"),Pt(s,".k-i-embed",".k-i-image"),Pt(s,".k-i-insert-document",".k-i-image");var l=this;this.kendoEditor.undoRedoStack.bind("redo",(function(e){l.handleDeletedUploads()})),this.kendoEditor.undoRedoStack.bind("undo",(function(e){l.handleDeletedUploads();var t=e.command;if(t.startRestorePoint&&t.endRestorePoint&&l.hasDifference(t.startRestorePoint.html,t.endRestorePoint.html,nn)){var n=dn.findFirstDifferentWrapperId(t.startRestorePoint.html,t.endRestorePoint.html),i=-1!==t.endRestorePoint.html.indexOf("2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i=e;if(bt(e)){var o=e,a=e.parentElement,r=Dt(e);Bt(a,r),a.style.display="block",a.style.width="".concat(o.width,"px"),a.style.height="".concat(o.height,"px"),i=a}Ct(t,i,n)}}},{key:"onEditorCommandExecute",value:function onEditorCommandExecute(e,t){switch(this.triggerUserValueChanged(),e){case"unlink":this.deselectImmutables.emit();break;case"createtable":this.shouldTriggerValueChange=!0;break;case"createlink":t.preventDefault()}}},{key:"storeTweetsFromValue",value:function storeTweetsFromValue(e){var t=this,n=this.getTweets(e);n.length&&n.forEach((function(e){var n=dn.getAttributeValue(e,ft);t.tweets[n]=e}))}},{key:"getTweets",value:function getTweets(e){return dn.getElementsByTypeAndAttribute(e,"div",!1,ft,v.WP.EMPTY_STRING)}},{key:"replaceTweetWidget",value:function replaceTweetWidget(e){var t=this,n=this.getTweets(e);return n&&n.forEach((function(n){var i=dn.getAttributeValue(n,ft);t.tweets[i]&&(e=e.replace(n,t.tweets[i]))})),e}},{key:"handleNonBreakingSpaces",value:function handleNonBreakingSpaces(e){var t=e;if(this.externalConfig&&this.externalConfig.removeNonBreakingSpaces){t=t.replace(/ \s*/gi,v.WP.EMPTY_STRING)}return t}}]),EditorComponent}(Z.F);cn.ctorParameters=function(){return[{type:l.SBq},{type:Mt},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Nt.a},{type:Rt.V},{type:Vt},{type:l.Qsj},{type:jt},{type:l.R0b}]},cn.propDecorators={editorHostRef:[{type:l.i9L,args:["editorHost",{static:!0}]}],customTools:[{type:l.IIB}],editorComponentConfig:[{type:l.IIB}],selectedItem:[{type:l.IIB}],culture:[{type:l.IIB}],blur:[{type:l.r_U}],select:[{type:l.r_U}],contentKeydown:[{type:l.r_U}],contentKeyup:[{type:l.r_U}],load:[{type:l.r_U}],deletedUploadingImage:[{type:l.r_U}],retryUploadingImage:[{type:l.r_U}],selectionChange:[{type:l.r_U}],editImage:[{type:l.r_U}],serializedImmutables:[{type:l.r_U}],deselectImmutables:[{type:l.r_U}]},cn=(0,a.gn)([(0,l.wA2)({selector:"sf-editor",template:Ue,providers:[$t],encapsulation:l.ifc.None,animations:[(0,Oe.X$)("slideOpen",[(0,Oe.SB)("open",(0,Oe.oB)({height:"*"})),(0,Oe.SB)("closed",(0,Oe.oB)({height:"".concat(Xt,"px")})),(0,Oe.eR)("closed <=> open",[(0,Oe.jt)("".concat(tn,"ms ease"))]),(0,Oe.eR)(pt,[(0,Oe.jt)(0)])])],styles:[Le]}),(0,a.w6)("design:paramtypes",[l.SBq,Mt,Window,Nt.a,Rt.V,Vt,l.Qsj,jt,l.R0b])],cn);var dn=function(){function HtmlHelper(){(0,i.Z)(this,HtmlHelper)}return(0,o.Z)(HtmlHelper,null,[{key:"findElementById",value:function findElementById(e,t){for(var n=ot.IMAGE_ELEMENT.toLocaleLowerCase(),i=this.findIdStartingIndex(e,rn,t),o=this.getElementType(e,i),a=o===n?">":""),r=e.indexOf(a,i),s=new RegExp("<".concat(o," "),"g"),l=e.substring(i,r).match(s).length-1;0!==l;)r=e.indexOf(a,r+1),l--;return e.slice(i,r+a.length)}},{key:"getElementType",value:function getElementType(e,t){var n=e.indexOf(v.WP.INTERVAL,t);return e.substring(t+1,n)}},{key:"findFirstDifferentWrapperId",value:function findFirstDifferentWrapperId(e,t){var n=this.getAllWrapperIds(e);return this.getAllWrapperIds(t).filter((function(e){return n.indexOf(e)<0}))[0]}},{key:"findIdStartingIndex",value:function findIdStartingIndex(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o="".concat(t,'="')+n,a=e.indexOf(o,i);return-1!==a&&(a=e.slice(0,a).lastIndexOf("<")),a}},{key:"getElementsByTag",value:function getElementsByTag(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=t.toLocaleLowerCase();for(var i=n?">":""),o=new Array,a=e.indexOf("<".concat(t));a>-1;){var r=e.indexOf(i,a);if(-1===r)break;var s=e.substring(a,r+i.length);o.push(s),a=e.indexOf("<".concat(t),r)}return o}},{key:"getElementsByTypeAndAttribute",value:function getElementsByTypeAndAttribute(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"";t=t.toLocaleLowerCase();for(var a=new Array,r=this.findIdStartingIndex(e,i,o);r>=0;){var s=-1,l=e.substring(r+1,e.indexOf(v.WP.INTERVAL,r));if(l===t){var c=n?">":"");if((s=e.indexOf(c,r))>-1){var d=new RegExp("<".concat(t," "),"g"),u=0,f=e.substring(r,s).match(d);for(null!=f&&(u=f.length-1);0!==u;)s=e.indexOf(c,s+1),u--;var p=e.slice(r,s+c.length);r=this.findIdStartingIndex(e,i,o,s),a.push(p)}}if(-1===s){var A="".concat(i,'="')+o,m=e.indexOf(A,r);if(-1===m)break;var g=this.findIdStartingIndex(e,i,o,m+A.length+1);if(g<=r)break;r=g}}return a}},{key:"insertTextAtFirstEmptyPosition",value:function insertTextAtFirstEmptyPosition(e,t){var n=v.WP.FORWARD_SLASH+v.WP.GREATER_THAN,i=e.indexOf(n);return i<0&&(i=e.indexOf(v.WP.GREATER_THAN)),"".concat(e.substr(0,i)," ").concat(t).concat(e.substr(i))}},{key:"getAttributeValue",value:function getAttributeValue(e,t){var n="".concat(t,'="'),i="".concat(n,'.*?"'),o=new RegExp(i,"g").exec(e);return o?o[0].slice(n.length,o[0].length-1):null}},{key:"setInlineMargins",value:function setInlineMargins(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];Object.keys(t).forEach((function(i){-1===n.indexOf(i)&&(e.style[i]=t[i])}))}},{key:"getAllWrapperIds",value:function getAllWrapperIds(e){for(var t=[],n=/\id="Wrapper.*?\"/g,i=n.exec(e);null!==i;)t.push(i[0].slice(4,i[0].length-1)),i=n.exec(e);return t}}]),HtmlHelper}(),un=(0,o.Z)((function ToolBarItem(e,t,n){(0,i.Z)(this,ToolBarItem),this.name=e,this.tooltip=t,this.exec=n})),fn=function(){function FileSizePipe(){(0,i.Z)(this,FileSizePipe)}return(0,o.Z)(FileSizePipe,[{key:"transform",value:function transform(e){if(0===e)return"0 Bytes";var t=Math.floor(Math.log(e)/Math.log(1024)),n=e/Math.pow(1024,t);return"".concat(parseFloat(n.toFixed(2))," ").concat(["Bytes","KB","MB","GB","TB"][t])}}]),FileSizePipe}();fn=(0,a.gn)([(0,l.E6H)({name:"sfFileSize"})],fn);var pn={day:86400,hour:3600,minute:60,second:1},An=String(0),mn=v.WP.COLON,gn=function(){function SecondsToTimePipe(){(0,i.Z)(this,SecondsToTimePipe)}return(0,o.Z)(SecondsToTimePipe,[{key:"transform",value:function transform(e){if(e===1/0||isNaN(e))return v.WP.EMPTY_STRING;v.WP.EMPTY_STRING;var t=[],n=0;return Object.keys(pn).forEach((function(i){if(0!==(n=Math.floor(e/pn[i]))||0!==t.length){var o=n<10&&(t.length>0||"second"===i)?An:v.WP.EMPTY_STRING;t.push(o+n.toString()),e-=pn[i]*n}})),1===t.length&&t.unshift(An),t.join(mn)}}]),SecondsToTimePipe}();gn=(0,a.gn)([(0,l.E6H)({name:"sfSecondsToTime"})],gn);var hn=function(){function FocusDirective(e){(0,i.Z)(this,FocusDirective),this.element=e}return(0,o.Z)(FocusDirective,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;setTimeout((function(){e.element.nativeElement.focus(),e.element.nativeElement.setSelectionRange(0,0)}),0)}}]),FocusDirective}();hn.ctorParameters=function(){return[{type:l.SBq}]},hn=(0,a.gn)([(0,l.Xek)({selector:"[sfFocus]"}),(0,a.w6)("design:paramtypes",[l.SBq])],hn);var vn=n(260),bn=new l.OlP("related_data_custom_component_token"),yn=function(){function TreeNodeComponentCompositeProvider(e){(0,i.Z)(this,TreeNodeComponentCompositeProvider),this.providers=e}return(0,o.Z)(TreeNodeComponentCompositeProvider,[{key:"getComponentData",value:function getComponentData(e,t){var n,i;if(!e||(0,d.Ew)(t)||!this.providers||0===(null===(n=this.providers)||void 0===n?void 0:n.length))return null;for(var o=0;o-1}}return(0,o.Z)(TreeWrapperComponent,[{key:"nodes",get:function get(){return this._nodes},set:function set(e){this._nodes=e,this.syncNodesToDisplay()}},{key:"loadChildren",get:function get(){return this._loadChildren},set:function set(e){this._loadChildren=function delayedCallback(t){return(0,In.D)(e(t)).pipe((0,Cn._)(),Dn(Nn),(0,kn.P)((function(e){return!e.isLoading})),(0,w.U)((function(e){return e.content}))).toPromise()}}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.syncNodesToDisplay()}},{key:"ngOnInit",value:function ngOnInit(){this.config?(this.config.drop||(this.config.drop=this.allowDrop),void 0===this.config.skipNodeMappingToDefaultModel&&(this.config.skipNodeMappingToDefaultModel=!this.itemTemplate),this.nodes&&this.mapCustomComponentData()):this.config={drop:this.allowDrop},this.treeTemplate=this.itemTemplate?this.itemTemplate:this.defaultTemplate,this.setExpandChildrenOverride(),1==Date.now()&&this.setVirtualizationNodeHeight()}},{key:"setExpandChildrenOverride",value:function setExpandChildrenOverride(){var e;if(null===(e=this.config.treeProperties)||void 0===e?void 0:e.getChildren){var t=this.config.treeProperties.getChildren;this.getChildrenOverrideFunc=function(e){if(e.sfCachedItems)return new wn.y((function(t){return t.next(e.sfCachedItems),t.complete()})).pipe((0,xn.g)(0)).toPromise();var n=t(e);return new Promise((function promiseExecutor(e,t){n.then((function(t){var n=t.map((function(e){return e instanceof ee.zw&&e.data?{id:e.key,dataItem:e,hasChildren:e.data.hasOwnProperty(h.E.HAS_CHILDREN)&&e.data[h.E.HAS_CHILDREN]}:e}));e(n)})).catch((function(e){t(e)}))}))}}}},{key:"setVirtualizationNodeHeight",value:function setVirtualizationNodeHeight(){var e=this;this.nodeHeight=function(t){return t.data.dataItem&&t.data.dataItem.data.Renderer?Math.max(e.config.virtualizationOptions.nodeHeight,76):e.config.virtualizationOptions.nodeHeight}}},{key:"hasChildById",value:function hasChildById(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return!!i||(t.forEach((function(t){if(t.key===e&&t.hasChildren)return i=!0;t._children&&(i=n.hasChildById(e,t._children,i))})),i)}},{key:"syncNodesToDisplay",value:function syncNodesToDisplay(){var e=this;this.itemTemplate&&this.nodes&&!this.config.skipNodeMappingToDefaultModel?this.mapNodes(this.nodes):this.nodesToDisplay=this.nodes,this.nodesToDisplay&&this.nodesToDisplay.forEach((function(e){e.hasOwnProperty("showViewUrl")||(e.showViewUrl=!0)})),this.config.expandedNodeIds&&this.config.isHierarchical&&this.config.expandedNodeIds.forEach((function(t){e.hasChildById(t,e.nodes)&&e.innerTree.setExpandedNode(t,!0)})),this.config.selectedNodeIds&&(this.config.selectedNodeIds.forEach((function(t){e.innerTree.setSelectedLeafNodeId(t),e.innerTree.setActiveNodeId(t)})),this.clearFocusedNode(),this.updateTreeModel())}},{key:"mapNodes",value:function mapNodes(e){var t=this,n=[];e.forEach((function(e){var i=t.nodesToDisplay.find((function(t){return t.dataItem.data?t.dataItem.data===e.data:t.dataItem?t.dataItem===e:t===e}));if(i)n.push(i);else if(e instanceof ee.$F){var o=t.constructHierarchy(e);n.push(o)}else{var a={dataItem:e,hasChildren:e.data&&e.data.hasOwnProperty(h.E.HAS_CHILDREN)&&e.data[h.E.HAS_CHILDREN]};n.push(a)}})),this.nodesToDisplay=n}},{key:"constructHierarchy",value:function constructHierarchy(e){var t=this,n={id:e.key,dataItem:e,hasChildren:e.hasChildren};return e.children.length>0&&(n.children=e.children.map((function(e){return t.constructHierarchy(e)}))),n}},{key:"onTreeNodePressEnter",value:function onTreeNodePressEnter(e){this.treeNodePressEnter.emit(e)}},{key:"onTreeNodeClicked",value:function onTreeNodeClicked(e){this.treeNodeClicked.emit(e)}},{key:"onRemoveNode",value:function onRemoveNode(e){this.removeNode.emit(e)}},{key:"handleViewNode",value:function handleViewNode(e){this.onViewNode.emit(e)}},{key:"onDataUpdate",value:function onDataUpdate(){this.dataUpdate.emit()}},{key:"onReorderNodes",value:function onReorderNodes(e){this.reorderNodes.emit(e)}},{key:"onMoveNode",value:function onMoveNode(e){this.moveNode.emit(e)}},{key:"onInitialized",value:function onInitialized(){this.initialized.emit()}},{key:"onCheckBoxClicked",value:function onCheckBoxClicked(e){this.checkBoxClicked.emit(e)}},{key:"onExpandedNodesChanged",value:function onExpandedNodesChanged(e){var t=e.event;this.config.treeProperties&&this.config.treeProperties.getChildren&&!t.isExpanded&&t.node.children&&(t.node.sfCachedItems=t.node.children.map((function(e){return e.data})),t.node.children=null),this.expandedNodesChanged.emit(e.expandedNodeIds)}},{key:"onVisibleNodesCountChanged",value:function onVisibleNodesCountChanged(e){this.visibleNodesCountChanged.emit(e)}},{key:"updateTreeModel",value:function updateTreeModel(){this.innerTree.updateTreeModel()}},{key:"selectAndActivateNodeById",value:function selectAndActivateNodeById(e){this.innerTree.selectAndActivateNodeById(e)}},{key:"showHiddenNodes",value:function showHiddenNodes(){this.innerTree.showHiddenNodes()}},{key:"onTreeNodeRemoveClicked",value:function onTreeNodeRemoveClicked(e,t){this.innerTree.onTreeNodeRemoveClicked(e,t)}},{key:"onViewDataClicked",value:function onViewDataClicked(e,t){this.innerTree.onViewDataClicked(e,t)}},{key:"generateUserInitials",value:function generateUserInitials(e){var t="";return e.displayField&&(t=e.displayField.split(" ",3).map((function(e){return e.charAt(0)})).join("")),t}},{key:"getFocusNodeValue",value:function getFocusNodeValue(){return this.innerTree.getFocusNodeValue()}},{key:"getSelectedNodeIds",value:function getSelectedNodeIds(){return this.innerTree.getSelectedNodeIds()}},{key:"selectAllNodes",value:function selectAllNodes(e){return this.innerTree.selectAllNodes(e)}},{key:"clearAllSelectedNodes",value:function clearAllSelectedNodes(){this.innerTree.clearAllSelectedNodes()}},{key:"onPressEnter",value:function onPressEnter(e,t,n){t&&this.treeNodePressEnter.emit(t)}},{key:"clearFocusedNode",value:function clearFocusedNode(){this.innerTree.clearFocusedNode()}},{key:"focusTree",value:function focusTree(){this.innerTree.focusTree()}},{key:"focusOutTree",value:function focusOutTree(){this.innerTree.focusOutTree()}},{key:"focusNextNode",value:function focusNextNode(){this.innerTree.focusNextNode()}},{key:"focusPreviousNode",value:function focusPreviousNode(){this.innerTree.focusPreviousNode()}},{key:"selectCurrentNode",value:function selectCurrentNode(){this.innerTree.selectCurrentNode()}},{key:"expandAndSelect",value:function expandAndSelect(e,t){this.innerTree.expandAndSelect(e,t)}},{key:"expandAllNodes",value:function expandAllNodes(){this.innerTree.expandAllNodes()}},{key:"getCustomComponentData",value:function getCustomComponentData(e){var t=this.treeNodeComponentCompositeProvider.getComponentData(this.config.customComponentOriginatingFeature,this.config.customComponentEntitySet);if(!t)return null;var n=e;return t.properties={item:ee.zw.from(n,this.metaDataStore.getEntity(this.config.customComponentEntitySet),n.provider,this.route.snapshot.parent.queryParams[g.Tx.CULTURE])},t}},{key:"getNodeById",value:function getNodeById(e){return this.innerTree.getNodeById(e)}},{key:"getNodeBy",value:function getNodeBy(e,t){return this.innerTree.getNodeBy(e,t)}},{key:"getIsNodeExpandedById",value:function getIsNodeExpandedById(e){return this.innerTree.getIsNodeExpandedById(e)}},{key:"getIsNodeActiveById",value:function getIsNodeActiveById(e){return this.innerTree.getIsNodeActiveById(e)}},{key:"getActiveNodeIds",value:function getActiveNodeIds(){return this.innerTree.getActiveNodeIds()}},{key:"getIsSelectedById",value:function getIsSelectedById(e){return this.innerTree.getIsSelectedById(e)}},{key:"setExpandedNode",value:function setExpandedNode(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.innerTree.setExpandedNode(e,t)}},{key:"getExpandedNodes",value:function getExpandedNodes(){return this.innerTree.getExpandedNodes()}},{key:"setHiddenNodeById",value:function setHiddenNodeById(e,t){this.innerTree.setHiddenNodeById(e,t)}},{key:"setExpandedNodes",value:function setExpandedNodes(e){this.innerTree.setExpandedNodes(e)}},{key:"mapCustomComponentData",value:function mapCustomComponentData(){var e=this;this.nodes.forEach((function(t){var n=e.getCustomComponentData(t);n&&(t.customComponentData=n)}))}}]),TreeWrapperComponent}();Pn.ctorParameters=function(){return[{type:yn},{type:pe.EY},{type:m.gz}]},Pn.propDecorators={innerTree:[{type:l.i9L,args:[E.rV,{static:!1}]}],wrapper:[{type:l.i9L,args:["virtualizationWrapper",{static:!1}]}],defaultTemplate:[{type:l.i9L,args:["defaultTemplate",{static:!0}]}],focusFirstNode:[{type:l.IIB}],isLoadingMore:[{type:l.IIB}],config:[{type:l.IIB}],itemTemplate:[{type:l.IIB}],textToMatch:[{type:l.IIB}],look:[{type:l.IIB}],nodes:[{type:l.IIB}],loadChildren:[{type:l.IIB}],displayField:[{type:l.IIB}],treeNodePressEnter:[{type:l.r_U}],treeNodeClicked:[{type:l.r_U}],removeNode:[{type:l.r_U}],onViewNode:[{type:l.r_U}],dataUpdate:[{type:l.r_U}],reorderNodes:[{type:l.r_U}],moveNode:[{type:l.r_U}],initialized:[{type:l.r_U}],checkBoxClicked:[{type:l.r_U}],expandedNodesChanged:[{type:l.r_U}],visibleNodesCountChanged:[{type:l.r_U}]},Pn=(0,a.gn)([(0,l.wA2)({selector:"sf-tree-wrapper",template:vn}),(0,a.w6)("design:paramtypes",[yn,pe.EY,m.gz])],Pn);var Rn,Qn=n(21),Un=n(261),Ln=function(){function DateService(){(0,i.Z)(this,DateService)}return(0,o.Z)(DateService,[{key:"getDate",value:function getDate(){return new Date}}]),DateService}();Ln=(0,a.gn)([(0,l.GSi)()],Ln);var On=Rn=function(){function RelativeDatePipe(e){(0,i.Z)(this,RelativeDatePipe),this.dateService=e,this.explicitFormats=[Rn.FULL_DATE,Rn.FULL_DATE_WEEKDAY,Rn.DATE_WITHOUT_YEAR,Rn.FULL_DATE_SHORT_MONTH_AND_TIME,Rn.MONTH_AND_YEAR,Rn.TIME]}return(0,o.Z)(RelativeDatePipe,[{key:"transform",value:function transform(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=getDateWithTimeZoneOffset("string"==typeof e&&null!==n?convertIsoStringToUTCDate(e):new Date(e),n),o=getDateWithTimeZoneOffset(this.dateService.getDate(),n),a=6e4,r=60*a,s=24*r,l=i.getTime(),c=o.getTime(),d=Math.abs(c-l);if(this.explicitFormats.indexOf(t)>-1)return this.format(t,i);var u=t===Rn.AUTO_DETAILED;if(u){if(d1&&void 0!==arguments[1]&&arguments[1];if(n.alreadyExpandedNodes.indexOf(e.data.Id)>-1&&!t)return(0,r.of)(void 0);n.alreadyExpandedNodes.push(e.data.Id),Array.isArray(e.data.children)&&n.removeLoadMoreItem(e.data.children);var i=e.data.children?e.data.children.length:0,o={parentId:e.data.Id,skip:i,targetDataItem:n.targetDataItem};return n.serviceAware.expand(o).pipe((0,w.U)((function(i){var o=[];Array.isArray(e.data.children)&&(o=e.data.children);var a=o,r=0;return Array.isArray(i)?a=a.concat(i):(a=a.concat(i.dataItems),r=i.totalCount),e.data.hasChildren=0!==a.length,e.data.children=a,r>e.data.children.length&&n.addLoadMoreItem(e.data.children.length,e.data.children),t&&n.tree.updateTreeModel(),a})))},n}return(0,o.Z)(SelectorComponent,[{key:"selected",get:function get(){return this._selected},set:function set(e){this._selected=e,this.expandSelectedItems()}},{key:"loading",set:function set(e){this.isTreeLoading=e,this.tree&&(this.tree.isLoadingMore=e)}},{key:"allItemsTabTypePropertyValues",get:function get(){return this._allItemsTabTypePropertyValues},set:function set(e){var t=this;this._allItemsTabTypePropertyValues=e,this.allItemsTabComponentData={type:this.allItemsTabType,properties:this.allItemsTabTypePropertyValues,afterComponentInit:function afterComponentInit(e){e.onChange.subscribe((function(e){e!==t.allItemsTabValue&&(t.allItemsTabValue=e.tabValue,t.shouldLoadMore=!0,t.value=[],t.requestDataOnFirstLoad=!0,t.providerChanged.emit(e.tabValue))}))}}}},{key:"ngOnInit",value:function ngOnInit(){var e,t,n,i=this;this.mainTreeConfig=(0,d.kI)(this.treeConfig),this.isParentSelection&&(this.selectionText="Select parent",this.withIndefiniteArticle=!1),this.formattedTypeName||(this.formattedTypeName=(0,d.Q7)(this.typeNames,this.mainTreeConfig.multiSelection,this.withIndefiniteArticle)),this.title=this.mainTreeConfig.multiSelection?"All ".concat(this.typeNames.plural):v.WP.EMPTY_STRING,this.config&&(this.selectionText=this.config.selectionText,this.formattedTypeName=this.config.formattedTypeName,this.config.mainTabConfig&&(this.title=this.config.mainTabConfig.title)),this.shouldLoadMore=this.checkShouldLoadMore(),this.registerSubscription(this.search$.pipe((0,Me.b)(300),(0,Xn.w)((function(e){return(0,s.aj)([i.serviceAware.loadMore({skip:0,searchText:e,allItemsTabValue:i.allItemsTabValue,filterValue:i.getFilterValue()}),(0,r.of)(e)])}))).subscribe((function(e){var t=(0,q.Z)(e,2),n=t[0],o=t[1];i.searchTreeConfig?i.mainTreeConfig=o?i.searchTreeConfig:(0,d.kI)(i.treeConfig):(i.mainTreeConfig.showBreadcrumb=!!o,i.mainTreeConfig.isHierarchical=!o.length),i.tree&&(i.tree.isLoadingMore=!1,i.tree.setExpandedNodes({}),i.alreadyExpandedNodes=[]);var a=n;a&&!Array.isArray(a)&&(a=n.dataItems),i.value=a||[],i.totalItemsCount=n&&n.totalCount?n.totalCount:0,i.shouldLoadMore=i.checkShouldLoadMore(),i.tree&&i.tree.updateTreeModel()}))),this.registerSubscription(this.value$.subscribe((function(e){i.isTreeLoading&&(i.value=e.dataItems,null!=e.totalCount&&(i.totalItemsCount=e.totalCount),i.loading=!1)}))),this.selectedTreeConfig={deletion:!0,status:this.mainTreeConfig?this.mainTreeConfig.status:null,noSelection:!0,showBreadcrumb:!0,customComponentOriginatingFeature:null===(e=this.mainTreeConfig)||void 0===e?void 0:e.customComponentOriginatingFeature,customComponentEntitySet:null===(t=this.mainTreeConfig)||void 0===t?void 0:t.customComponentEntitySet,dataProperties:null===(n=this.mainTreeConfig)||void 0===n?void 0:n.dataProperties},this.config&&this.config.customTabConfig&&this.config.customTabConfig.componentData&&(this.hasCustomTab=!0),this.noItemsCreatedLabel||(this.noItemsCreatedLabel="No ".concat(this.typeNames?this.typeNames.plural:"items"," found")),this.noItemsFoundLabel="No ".concat(this.typeNames?this.typeNames.plural:"items"," found")}},{key:"checkShouldLoadMore",value:function checkShouldLoadMore(){return this.value.length=0&&e.splice(t,1)}},{key:"addLoadMoreItem",value:function addLoadMoreItem(e,t){var n={Title:"Load more",Id:"loadMoreItem",action:"loadMoreChildItems",isSelectionDisabled:!0,isLink:!0,icon:"repeat",iconLook:"size-xs color-inherit"};t.splice(e,0,n)}},{key:"getFilterValue",value:function getFilterValue(){return this.selectorFilterConfig&&this.selectorFilterConfig.selectedFilterItems&&this.selectorFilterConfig.selectedFilterItems[0]?this.selectorFilterConfig.selectedFilterItems[0]:null}}]),SelectorComponent}(E.zu);ei.ctorParameters=function(){return[{type:Nt.a}]},ei.propDecorators={tree:[{type:l.i9L,args:["mainTree",{static:!1}]}],selectedTree:[{type:l.i9L,args:["selectedTree",{static:!1}]}],mainTabs:[{type:l.i9L,args:["mainTabs",{static:!1}]}],value:[{type:l.IIB}],allItemsTabType:[{type:l.IIB}],totalItemsCount:[{type:l.IIB}],selected:[{type:l.IIB}],serviceAware:[{type:l.IIB}],typeNames:[{type:l.IIB}],treeConfig:[{type:l.IIB}],defaultField:[{type:l.IIB}],keyField:[{type:l.IIB}],newItemSelected:[{type:l.r_U}],urlPropertyName:[{type:l.IIB}],expandPathPair:[{type:l.IIB}],hasStickyBuffer:[{type:l.IIB}],searchTreeConfig:[{type:l.IIB}],isParentSelection:[{type:l.IIB}],formattedTypeName:[{type:l.IIB}],loading:[{type:l.IIB}],targetDataItem:[{type:l.IIB}],providerChanged:[{type:l.r_U}],tabChange:[{type:l.r_U}],initialTabName:[{type:l.IIB}],config:[{type:l.IIB}],allItemsTabLook:[{type:l.IIB}],allItemsTabTypePropertyValues:[{type:l.IIB}],titleTemplate:[{type:l.IIB}],descriptionTemplate:[{type:l.IIB}],notificationText:[{type:l.IIB}],notificationLook:[{type:l.IIB}],title:[{type:l.IIB}],description:[{type:l.IIB}],selectionText:[{type:l.IIB}],itemTemplate:[{type:l.IIB}],selectorFilterConfig:[{type:l.IIB}]},ei=(0,a.gn)([(0,l.wA2)({selector:"sf-show-all",template:Jn}),(0,a.w6)("design:paramtypes",[Nt.a])],ei);var ti=function(){function ServiceContract(e,t){(0,i.Z)(this,ServiceContract),this.loadFunc=e,this.expandFunc=t}return(0,o.Z)(ServiceContract,[{key:"loadMore",value:function loadMore(e){return this.loadFunc(e)}},{key:"expand",value:function expand(e){return this.expandFunc?this.expandFunc(e):(0,qn._)("Not implemented!")}}]),ServiceContract}(),ni="scroll",ii=function(){function InfiniteScrollerDirective(e){var t=this;(0,i.Z)(this,InfiniteScrollerDirective),this.window=e,this.scrolledToBottom=new l.vpe,this.scrollOffset=200,this.previousScrollPosition=0,this.scrollEventListener=function(e){return t.onWindowScroll(e)},this.window.addEventListener(ni,this.scrollEventListener)}return(0,o.Z)(InfiniteScrollerDirective,[{key:"ngOnDestroy",value:function ngOnDestroy(){this.window.removeEventListener(ni,this.scrollEventListener)}},{key:"onWindowScroll",value:function onWindowScroll(e){var t=window.scrollY+window.innerHeight;window.scrollY&&t>=document.body.scrollHeight-this.scrollOffset&&this.previousScrollPosition+600-1?this.loaderIconLook+=" size-5xl":this.loaderIconLook+=" size-3xl"}}]),VideoPlayerComponent}(ri);si.propDecorators={player:[{type:l.i9L,args:["player",{static:!1}]}],src:[{type:l.IIB}],customThumbnailUrl:[{type:l.IIB}],isLoaded:[{type:l.IIB}],createThumbFromFrameIdentifier:[{type:l.IIB}]},si=(0,a.gn)([(0,l.wA2)({selector:"sf-video-player",template:oi,styles:[ai]})],si);var li=n(265),ci="sf-flickr-gallery__image",di=function(e){(0,f.Z)(ImageComponent,e);var t=(0,p.Z)(ImageComponent);function ImageComponent(){var e;return(0,i.Z)(this,ImageComponent),(e=t.apply(this,arguments)).showErrorMessage=!0,e.look=ci,e.isWide=!1,e.loaded=new l.vpe,e.error=new l.vpe,e}return(0,o.Z)(ImageComponent,[{key:"isAbsoluteSvg",get:function get(){return this.isSvg&&this.isAbsoluteImage}},{key:"isSvg",get:function get(){return this.type===y.LO.SVG}},{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(ImageComponent.prototype),"ngOnInit",this).call(this),this.doesNotSupportPreview?this.error.emit():(this.isSvg&&!this.src.changingThisBreaksApplicationSecurity&&(this.shouldBypassSecurity=!0),this.cssClass=this.generateCssClassList())}},{key:"onError",value:function onError(){(0,Re.Z)((0,Qe.Z)(ImageComponent.prototype),"onError",this).call(this),this.error.emit()}},{key:"onImageLoad",value:function onImageLoad(e){this.processDimensions&&e.target.naturalWidth>e.target.naturalHeight&&(this.isWide=!0),this.loaded.emit(e)}},{key:"generateCssClassList",value:function generateCssClassList(){var e="";if(this.look){var t=this.look.split(" "),n=t.indexOf(ci);n>-1&&(e=t.splice(n,1).toString()),t.length>0&&(e+=" -"+t.join(" -"))}return e}}]),ImageComponent}(ri);di.propDecorators={type:[{type:l.IIB}],showErrorMessage:[{type:l.IIB}],processDimensions:[{type:l.IIB}],isAbsoluteImage:[{type:l.IIB}],look:[{type:l.IIB}],isWide:[{type:l.pfw,args:["class.-wide"]}],isAbsoluteSvg:[{type:l.pfw,args:["class.sf-media__svg-wrapper"]}],loaded:[{type:l.r_U}],error:[{type:l.r_U}]},di=(0,a.gn)([(0,l.wA2)({template:li,selector:"sf-image"})],di);var ui=n(266),fi=function(e){(0,f.Z)(DocumentComponent,e);var t=(0,p.Z)(DocumentComponent);function DocumentComponent(e){var n;return(0,i.Z)(this,DocumentComponent),(n=t.call(this)).metadataStore=e,n.onTitleBlur=new l.vpe,n.inGridView=!1,n.setName=u.gl.DOCUMENTS,n}return(0,o.Z)(DocumentComponent,[{key:"ngOnInit",value:function ngOnInit(){var e,t=this;this.documentThumbnailIcon=y.xe.getDocumentThumbnailIcon(this.item.extension),this.documentThumbnailIconLook="size-4xl "+(!1===this.item.isTranslated?"lighter":"light"),this.documentStatusLook=!1===this.item.isTranslated?"dimmed":null,this.displayTitle=this.item.title||this.item.name,this.entity=this.metadataStore.getEntity(this.setName);var n=this.item.data?this.item.data:this.item;this.dataItem=ee.zw.from(n,this.entity,null===(e=this.entity)||void 0===e?void 0:e.selectedProvider,null);var i=this.item.form;if(i){var o=i.get("Title").valueChanges.subscribe((function(e){t.item.title=e,t.displayTitle=e}));this.registerSubscription(o)}}},{key:"handleTitleBlur",value:function handleTitleBlur(){this.onTitleBlur.emit(),this.item.errors=this.item.title.trim()?[]:["Enter Title"]}}]),DocumentComponent}(E.zu);fi.ctorParameters=function(){return[{type:pe.EY}]},fi.propDecorators={multiple:[{type:l.IIB}],item:[{type:l.IIB}],onTitleBlur:[{type:l.r_U}]},fi=(0,a.gn)([(0,l.wA2)({template:ui,selector:"sf-document"}),(0,a.w6)("design:paramtypes",[pe.EY])],fi);var pi,Ai=n(267),mi=n(133),gi=n.n(mi),hi=function(){function MediaRecognizerService(){(0,i.Z)(this,MediaRecognizerService),this.specificFieldsData={}}return(0,o.Z)(MediaRecognizerService,[{key:"hasSpecificField",value:function hasSpecificField(e){return this.specificFieldsData[e.contentType]}},{key:"hasPreview",value:function hasPreview(e){return e===u.gl.IMAGES||e===u.gl.VIDEOS}},{key:"getPreviewUrlProperty",value:function getPreviewUrlProperty(e){return e===u.gl.IMAGES?"ThumbnailUrl":"Url"}},{key:"getComponentData",value:function getComponentData(e){switch(e.isMultimedia?this.getMediaType(e):pi.Document){case pi.Image:return{properties:e,type:di};case pi.Video:return{properties:e,type:si,removePreviousView:!0};case pi.Document:return{properties:e,type:fi};case pi.Broken:return e.doesNotSupportPreview=!0,{properties:e,type:e.isVideo?si:di}}}},{key:"getMediaType",value:function getMediaType(e){var t=new RegExp("video[s]?/"),n=new RegExp("image[s]?/"),i=e.type||e.contentType,o=t.test(i),a=n.test(i),r=e.isVideo&&!o,s=!e.isVideo&&e.isMultimedia&&!a;return!i||r||s?pi.Broken:a?pi.Image:o?pi.Video:pi.Document}},{key:"getMediaMimeType",value:function getMediaMimeType(e){return(0,a.mG)(this,void 0,void 0,gi().mark((function _callee(){var t,n;return gi().wrap((function _callee$(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,fetch(e);case 2:return t=i.sent,i.next=5,t.blob();case 5:return n=i.sent,i.abrupt("return",n.type);case 7:case"end":return i.stop()}}),_callee)})))}}]),MediaRecognizerService}();hi.ctorParameters=function(){return[]},hi=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[])],hi),function(e){e[e.Video=0]="Video",e[e.Image=1]="Image",e[e.Document=2]="Document",e[e.Broken=4]="Broken"}(pi||(pi={}));var vi=function(e){(0,f.Z)(ThumbnailComponent,e);var t=(0,p.Z)(ThumbnailComponent);function ThumbnailComponent(e){var n;return(0,i.Z)(this,ThumbnailComponent),(n=t.call(this)).mediaRecognizerService=e,n.hasTooltip=!0,n.isPlaceholder=!0,n.dimNotTranslated=!1,n.showNotTranslatedLabel=!0,n.isSmallThumbnail=!1,n.playable=!1,n.badgesList=[],n.removeButtonClicked=new l.vpe,n.onClick=new l.vpe,n.onSelect=new l.vpe,n.imageWrapperClass="",n.tooltipMinOffsetFromBottom=67,n.availableLanguageTranslationLook="down-right",n}return(0,o.Z)(ThumbnailComponent,[{key:"ngOnChanges",value:function ngOnChanges(e){(e.src||e.alt)&&(this.setComponentData(),this.cssClass=this.generateCssClassList()),(e.isTranslated||e.dimNotTranslated)&&(this.cssClass=this.generateCssClassList())}},{key:"ngOnInit",value:function ngOnInit(){this.setComponentData(),this.cssClass=this.generateCssClassList()}},{key:"onFileRemoveClick",value:function onFileRemoveClick(e){this.removeButtonClicked.emit(e)}},{key:"onClicked",value:function onClicked(){this.onClick.emit()}},{key:"onSelected",value:function onSelected(e){e.preventDefault(),e.stopImmediatePropagation(),this.onSelect.emit()}},{key:"onMovingDirections",value:function onMovingDirections(e){void 0!==e.movedLeft&&(this.availableLanguageTranslationLook="down-left")}},{key:"setComponentData",value:function setComponentData(){var e=this.generateComponentProperties();this.mediaData=this.mediaRecognizerService.getComponentData(e),this.mediaData.updatePropertiesOnChange=!0,this.mediaData.removePreviousView=!0}},{key:"generateComponentProperties",value:function generateComponentProperties(){this.isWidePhoto=this.width>this.height;var e={name:this.title,src:this.src,alt:this.alt,size:this.size,type:this.type,extension:this.extension?this.extension.split(".").pop():null,LockedStatus:this.lockedStatus,DisplayStatus:this.status,isTranslated:this.isTranslated,isAbsoluteImage:!0,isVideo:this.isVideo},t={isMultimedia:this.isMultimedia};return this.isMultimedia?(e.playable=this.playable,e.customThumbnailUrl=this.customThumbnailUrl,e.src=this.src,t=Object.assign(t,e)):t=Object.assign(t,{item:e}),t}},{key:"generateCssClassList",value:function generateCssClassList(){var e=[];if(this.height<145&&e.push("-centered"),this.look){var t=this.look.split(" ").map((function(e){return"-"+e}));e.push.apply(e,(0,J.Z)(t))}return this.showRemoveButtonAlways&&e.push("-remove-button-visible"),this.selected&&e.push("-selected"),this.selectable&&e.push("-selectable"),this.isPlaceholder&&e.push("sf-placeholder"),this.isMultimedia?(e.push("sf-media"),this.imageWrapperClass="sf-thumbnail"):(e.push("-document"),e.push("sf-media")),this.isSmallThumbnail&&(e.push("sf-media -cropped -smaller -no-zindex"),this.height>60&&(this.imageWrapperClass+=" -sf-full-height"),this.isWidePhoto&&e.push("-wide")),this.isVideo&&e.push("-video"),(this.failedValidation||this.dimNotTranslated)&&e.push("-dimmed"),this.showPropertiesLabel&&e.push("-dimmed-hover"),e.join(v.WP.INTERVAL)}}]),ThumbnailComponent}(E.zu);vi.ctorParameters=function(){return[{type:hi}]},vi.propDecorators={customThumbnailUrl:[{type:l.IIB}],title:[{type:l.IIB}],size:[{type:l.IIB}],src:[{type:l.IIB}],alt:[{type:l.IIB}],width:[{type:l.IIB}],height:[{type:l.IIB}],selected:[{type:l.IIB}],library:[{type:l.IIB}],lockedStatus:[{type:l.IIB}],status:[{type:l.IIB}],selectable:[{type:l.IIB}],extension:[{type:l.IIB}],type:[{type:l.IIB}],hasTooltip:[{type:l.IIB}],isMultimedia:[{type:l.IIB}],isVideo:[{type:l.IIB}],isPlaceholder:[{type:l.IIB}],isTranslated:[{type:l.IIB}],dimNotTranslated:[{type:l.IIB}],showNotTranslatedLabel:[{type:l.IIB}],showPropertiesLabel:[{type:l.IIB}],isSmallThumbnail:[{type:l.IIB}],playable:[{type:l.IIB}],look:[{type:l.IIB}],failedValidation:[{type:l.IIB}],removeButtonAreaLabel:[{type:l.IIB}],showRemoveButton:[{type:l.IIB}],showRemoveButtonAlways:[{type:l.IIB}],badgesList:[{type:l.IIB}],removeButtonClicked:[{type:l.r_U}],onClick:[{type:l.r_U}],onSelect:[{type:l.r_U}]},vi=(0,a.gn)([(0,l.wA2)({selector:"sf-thumbnail",template:Ai}),(0,a.w6)("design:paramtypes",[hi])],vi);var bi="sf-sticky",yi="-sf-sticky",Ei=function(){function StickyDirective(e,t,n){(0,i.Z)(this,StickyDirective),this.element=e,this.window=t,this.renderer=n,this.stickyDisabled=!1,this.stickWithDelay=!0,this.alwaysSticky=!1,this.isSticky=!1,this.className=bi,this.scrollMin=150,this.position="top",this.timeoutId=null}return(0,o.Z)(StickyDirective,[{key:"stickyPosition",set:function set(e){this.position=e||this.position}},{key:"stickyScrollMin",set:function set(e){this.scrollMin=e||this.scrollMin}},{key:"ngOnInit",value:function ngOnInit(){this.typeClass="-".concat(this.position)}},{key:"ngOnChanges",value:function ngOnChanges(e){var t=e.stickyDisabled;e.alwaysSticky&&this.alwaysSticky&&(this.isSticky=!0),t&&!t.previousValue!=!t.currentValue&&this.updateSticky(!1)}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.renderer.removeStyle(this.window.document.body,"min-height"),this.renderer.removeClass(this.window.document.body,yi)}},{key:"onWindowScroll",value:function onWindowScroll(){var e=this;if(!this.stickyDisabled&&!this.alwaysSticky)if(this.stickWithDelay){if(null!==this.timeoutId)return;this.timeoutId=this.window.setTimeout((function(){e.calculateScrollAndUpdateSticky(),e.timeoutId=null}),200)}else this.calculateScrollAndUpdateSticky()}},{key:"calculateScrollAndUpdateSticky",value:function calculateScrollAndUpdateSticky(){var e=this.window.document.documentElement.clientHeight,t=this.window.document.documentElement.scrollHeight,n=this.window.pageYOffset,i=this.isSticky,o="top"===this.position&&n>this.scrollMin||"bottom"===this.position&&t>e;i!==o&&this.updateSticky(o)}},{key:"updateSticky",value:function updateSticky(e){this.isSticky=e;var t=this.window.document.body;e?this.stick(t):this.unstick(t)}},{key:"stick",value:function stick(e){this.element.nativeElement.classList.add(this.className,this.typeClass),this.renderer.addClass(this.window.document.body,yi),this.renderer.setStyle(e,"min-height","calc(100vh + ".concat(this.scrollMin+1,"px)")),this.window.pageYOffset<=this.scrollMin&&this.window.scrollTo(0,this.scrollMin+1)}},{key:"unstick",value:function unstick(e){this.element.nativeElement.classList.remove(this.className,this.typeClass),this.renderer.removeClass(this.window.document.body,yi),this.renderer.removeStyle(e,"min-height"),this.window.pageYOffset>=this.scrollMin&&this.window.scrollTo(0,this.scrollMin-1)}}]),StickyDirective}();Ei.ctorParameters=function(){return[{type:l.SBq},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:l.Qsj}]},Ei.propDecorators={stickyDisabled:[{type:l.IIB}],stickWithDelay:[{type:l.IIB}],alwaysSticky:[{type:l.IIB}],stickyPosition:[{type:l.IIB,args:["stickyPosition"]}],stickyScrollMin:[{type:l.IIB,args:["stickyScrollMin"]}],onWindowScroll:[{type:l.L6J,args:["window:scroll",[]]}]},Ei=(0,a.gn)([(0,l.Xek)({selector:"[sfSticky]",exportAs:"sfSticky"}),(0,a.w6)("design:paramtypes",[l.SBq,Window,l.Qsj])],Ei);var Ii=function(){function TooltipPositionDirective(e,t){(0,i.Z)(this,TooltipPositionDirective),this.window=e,this.element=t,this.positionChange=new l.vpe}return(0,o.Z)(TooltipPositionDirective,[{key:"ngOnChanges",value:function ngOnChanges(e){this.positionToolset()}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.tooltipBoundingRect=this.element.nativeElement.getBoundingClientRect(),this.positionToolset()}},{key:"positionToolset",value:function positionToolset(){this.tooltipBoundingRect&&(this.element.nativeElement.style.top=this.setToolsetTop(),this.element.nativeElement.style.left=this.setToolsetLeft(),this.tooltipPositionParams.position&&this.positionChange.emit(this.tooltipPositionParams.position),this.tooltipBoundingRect=this.element.nativeElement.getBoundingClientRect(),this.checkIfToolsetOverflowing())}},{key:"setToolsetTop",value:function setToolsetTop(){var e=this.tooltipPositionParams.elementPosition.top+this.tooltipPositionParams.elementPosition.height;return this.tooltipPositionParams.position===E.EC.Up&&(e=this.tooltipPositionParams.elementPosition.top),"".concat(e,"px")}},{key:"setToolsetLeft",value:function setToolsetLeft(){var e=this.tooltipPositionParams.elementPosition.left+this.tooltipPositionParams.elementPosition.width/2;return this.tooltipPositionParams.elementPosition.left+this.tooltipPositionParams.elementPosition.width>this.tooltipPositionParams.parentPosition.width&&(e=this.tooltipPositionParams.parentPosition.width/2),"".concat(e,"px")}},{key:"checkIfToolsetOverflowing",value:function checkIfToolsetOverflowing(){return this.tooltipBoundingRect.right>this.window.innerWidth?(this.element.nativeElement.style.top="".concat(this.tooltipPositionParams.elementPosition.top+this.tooltipPositionParams.elementPosition.height/2,"px"),this.element.nativeElement.style.left="".concat(this.tooltipPositionParams.elementPosition.left-this.tooltipBoundingRect.width-20,"px"),void this.positionChange.emit(E.EC.Left)):this.tooltipBoundingRect.left<0?(this.element.nativeElement.style.top="".concat(this.tooltipPositionParams.elementPosition.top+this.tooltipPositionParams.elementPosition.height/2,"px"),this.element.nativeElement.style.left="".concat(this.tooltipPositionParams.elementPosition.left+this.tooltipPositionParams.elementPosition.width,"px"),void this.positionChange.emit(E.EC.Right)):void(this.tooltipBoundingRect.bottom>this.window.innerHeight&&(this.element.nativeElement.style.top="".concat(this.tooltipPositionParams.elementPosition.top,"px"),this.positionChange.emit(E.EC.Up)))}}]),TooltipPositionDirective}();Ii.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:l.SBq}]},Ii.propDecorators={tooltipPositionParams:[{type:l.IIB}],positionChange:[{type:l.r_U}]},Ii=(0,a.gn)([(0,l.Xek)({selector:"[sfTooltipPosition]",exportAs:"sfTooltipPosition"}),(0,a.w6)("design:paramtypes",[Window,l.SBq])],Ii);var wi=n(268),ki=n(269),xi=n(203),Ci=n(192),Si=n(287),Bi=n(121),Di=function(){function ComponentCommunicationService(){(0,i.Z)(this,ComponentCommunicationService),this.communicator=new Map}return(0,o.Z)(ComponentCommunicationService,[{key:"subscribe",value:function subscribe(e,t){return this.getEventStream(e).subscribe(t)}},{key:"getEventStream",value:function getEventStream(e){return this.getOrCreateCommunicationEventStreamByType(e).pipe((0,Bi.h)((function(e){return!!e})))}},{key:"next",value:function next(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e){var n=this.getOrCreateCommunicationEventStreamByItem(e);n.next(e),t||n.next(null)}}},{key:"getOrCreateCommunicationEventStreamByType",value:function getOrCreateCommunicationEventStreamByType(e){var t=this.communicator.get(e);return t||(t=new re.t(1),this.communicator.set(e,t)),t}},{key:"getOrCreateCommunicationEventStreamByItem",value:function getOrCreateCommunicationEventStreamByItem(e){var t=this.communicator.get(e.constructor);return t||(t=new re.t(1),this.communicator.set(e.constructor,t)),t}}]),ComponentCommunicationService}();Di=(0,a.gn)([(0,l.GSi)()],Di);var Ti=n(223),Mi=n(288),Ni="color mini",Fi=function(e){(0,f.Z)(ActionMenuComponent,e);var t=(0,p.Z)(ActionMenuComponent);function ActionMenuComponent(e,n,o,a){var r;return(0,i.Z)(this,ActionMenuComponent),(r=t.call(this)).actionButtonsResolver=e,r.window=n,r.injector=o,r.detector=a,r.dropdownButtonTemplateData=null,r.isDropdownOpened=!1,r.executeCommandOnClick=!0,r.buttonClicked=new l.vpe,r.loader=null,r.isDropdownDropped=!1,r.outsideMenuButtons=[],r.buttonGroups=[],r.insideMenuButtons=[],r.hasPendingInitialization=!1,r.areOperationsInitialized=!1,r}return(0,o.Z)(ActionMenuComponent,[{key:"dropdownButton",set:function set(e){e&&this.isDropdownOpened&&(this.dropdownButtonBoundingRect=e.dropdownButton.nativeElement.getBoundingClientRect(),this.detector.detectChanges())}},{key:"ngOnInit",value:function ngOnInit(){this.lazy||this.initOperations()}},{key:"ngOnChanges",value:function ngOnChanges(e){var t=this,n=e.buttonsState,i=e.buttonsLook,o=e.selectedOperationName;n&&n.currentValue&&this.actionButtonsResolver.updateButtonState(n.currentValue),i&&!i.isFirstChange()&&this.outsideMenuButtons.map((function(e){return e})).forEach((function(e){e.enhancedLook=t.generateButtonsLook(e.look)})),o&&o.currentValue&&this.handleSelectedOperation(this.insideMenuButtons)}},{key:"reinitialize",value:function reinitialize(){this.areOperationsInitialized=!1,this.hasPendingInitialization=!1,this.lazy||this.initOperations()}},{key:"handleOnDropdownClick",value:function handleOnDropdownClick(e){this.isDropdownOpened=!0;var t=e.isDropped;this.isDropdownDropped=t,!this.areOperationsInitialized&&t&&(this.loader=Ni)}},{key:"onButtonClick",value:function onButtonClick(e,t){var n=this;if(t){if(1!==t.which)return;e.isSubAction&&t.stopPropagation()}var i=e.token;if(i&&this.executeCommandOnClick){var o=this.injector.get(i.type),a={model:null,data:i.properties,currentRoute:null};o.execute(a).subscribe()}else this.window.setTimeout((function(){n.buttonClicked.emit(e)}),0)}},{key:"isSection",value:function isSection(e){return e instanceof oe.I8}},{key:"generateButtonsLook",value:function generateButtonsLook(e){var t=[];return e&&t.push(e),this.isToolset&&t.push("no-hover no-active no-focus-visible no-border"),this.buttonsLook&&t.push(this.buttonsLook),t.length>0?t.join(" "):null}},{key:"initOperations",value:function initOperations(){var e=this;if(!this.areOperationsInitialized&&!this.hasPendingInitialization){this.hasPendingInitialization=!0;var t=this.operations.subscribe((function(t){var n,i;e.insideMenuButtons.length=0,e.outsideMenuButtons.length=0,e.buttonGroups.length=0,new Set(t.filter((function(e){return e.GroupName})).map((function(e){return e.GroupName}))).forEach((function(n){var i,o,a={ariaLabel:n,iconTitle:n,insideButtons:[],dropdownButtonIconName:e.dropdownButtonIconName,dropdownButtonIconLook:e.dropdownButtonIconLook,dropdownButtonText:e.dropdownButtonText,dropdownItemHeadingText:e.dropdownItemHeadingText};e.buttonGroups.push(a);var r=t.filter((function(e){return e.GroupName===n})),s=e.actionButtonsResolver.getActionButtons(r,e.categories,!e.isToolset);e.handleSelectedOperation(s);var l=e.processButtons(s),c=(i=(o=[]).concat.apply(o,(0,J.Z)(l.insideButtons))).concat.apply(i,(0,J.Z)(l.outsideButtons));a.insideButtons=c.filter((function(e){return!e.sourceOperation||!e.sourceOperation.IsGroup}));var d=c.filter((function(e){return e.sourceOperation&&e.sourceOperation.IsGroup}))[0];a.iconTitle=d.title,a.ariaLabel=d.title,a.dropdownButtonIconName=d.context.icon||a.dropdownButtonIconName,a.dropdownButtonIconLook=d.context.iconLook||a.dropdownButtonIconLook}));var o=t.filter((function(e){return!e.GroupName})),a=e.actionButtonsResolver.getActionButtons(o,e.categories,!e.isToolset),r=e.processButtons(a);(n=e.outsideMenuButtons).push.apply(n,(0,J.Z)(r.outsideButtons)),e.outsideMenuButtons.forEach((function(t){e.isToolset?t.context&&(t.context.icon&&"Section"!==t.context.icon&&(t.icon=t.context.icon),t.iconLook=t.context.iconLook||"size-xs color-inherit"):(t.icon=null,t.iconLook="size-xs")})),(i=e.insideMenuButtons).push.apply(i,(0,J.Z)(r.insideButtons)),e.trimSections(e.insideMenuButtons),e.handleSelectedOperation(a),e.areOperationsInitialized=!0,e.loader=null,e.buttonGroups=[].concat(e.buttonGroups)}));this.registerSubscription(t)}}},{key:"handleSelectedOperation",value:function handleSelectedOperation(e){var t=this;if(this.selectedOperationName){var n=e.find((function(e){return e.name===t.selectedOperationName}));n&&n instanceof oe.Kk&&(e.filter((function(e){return e instanceof oe.Kk})).forEach((function(e){e.look=null})),n.look="active",this.dropDownButtonTemplateRef&&(this.dropdownButtonTemplateData={template:this.dropDownButtonTemplateRef,context:n}))}else this.dropdownButtonTemplateData=null}},{key:"processButtons",value:function processButtons(e){var t=this,n=[],i=[];return e.forEach((function(e){if(e instanceof oe.I8)n.push(e);else{var o=e;e.loading&&(o.loader=e.loading.pipe((0,w.U)((function(t){return t?e.look&&e.look.includes(ae.cG)?"transparent":"color":null})))),o.enhancedLook=t.generateButtonsLook(e.look),t.isWithinBoundries(e)&&(e.ordinal>ae.fT||t.options&&t.options.showAllAsDropdown?n.push(e):t.options&&t.options.showAllAsDropdown||i.push(e))}})),{insideButtons:n,outsideButtons:i}}},{key:"trimSections",value:function trimSections(e){for(var t=[],n=0;n=0&&this.isSection(e[o]);o--)e.pop()}},{key:"isWithinBoundries",value:function isWithinBoundries(e){return!this.options||this.options.showAllAsDropdown||e.ordinal>=this.options.minOrdinal&&e.ordinal<=this.options.maxOrdinal}}]),ActionMenuComponent}(E.zu);Fi.ctorParameters=function(){return[{type:ae._U},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:l.zs3},{type:l.sBO}]},Fi.propDecorators={insideMenuButtonTemplateRef:[{type:l.aQ5,args:["insideMenuButtonTemplate",{static:!0}]}],dropDownButtonTemplateRef:[{type:l.aQ5,args:["dropDownButtonTemplate",{static:!0}]}],dropdownButton:[{type:l.i9L,args:["actionsButton",{static:!1}]}],isToolset:[{type:l.IIB}],iconTitle:[{type:l.IIB}],ariaLabel:[{type:l.IIB}],buttonsLook:[{type:l.IIB}],operations:[{type:l.IIB}],categories:[{type:l.IIB}],selectedOperationName:[{type:l.IIB}],options:[{type:l.IIB}],dropdownButtonText:[{type:l.IIB}],dropdownButtonIconLook:[{type:l.IIB}],dropdownButtonIconName:[{type:l.IIB}],dropdownItemHeadingText:[{type:l.IIB}],executeCommandOnClick:[{type:l.IIB}],moveInViewportTolerance:[{type:l.IIB}],renderContentWhenNoOperations:[{type:l.IIB}],renderDropdownInBody:[{type:l.IIB}],lazy:[{type:l.IIB}],buttonsState:[{type:l.IIB}],buttonClicked:[{type:l.r_U}]},Fi=(0,a.gn)([(0,l.wA2)({selector:"sf-action-menu",template:Mi,providers:[ae._U]}),(0,a.w6)("design:paramtypes",[ae._U,Window,l.zs3,l.sBO])],Fi);var Pi=function(e){(0,f.Z)(WorkflowOperationsMenuComponent,e);var t=(0,p.Z)(WorkflowOperationsMenuComponent);function WorkflowOperationsMenuComponent(e,n,o,a){var r;return(0,i.Z)(this,WorkflowOperationsMenuComponent),(r=t.call(this)).communicationService=e,r.operationsProvider=n,r.changeDetector=o,r.window=a,r.buttonState$=new re.t,r}return(0,o.Z)(WorkflowOperationsMenuComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=new W(this.dataItem,this.operationsTarget,void 0,{origin:this.window.location.href});this.operations$=this.operationsProvider.getOperations(t).pipe((0,w.U)((function(e){return e.filter((function(e){return e.Category.Name===$.si.workflow}))})));var n=this.communicationService.subscribe(Ti.HA,(function(t){t.data&&(e.actionMenu.loader=t.data.primary?Ni:null,e.buttonState$.next(t.data),e.changeDetector.detectChanges())}));this.registerSubscription(n)}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){this.communicationService.next(new Ti.YS({button:e,itemType:this.dataItem.metadata.typeFullName}),!1)}}]),WorkflowOperationsMenuComponent}(E.zu);Pi.ctorParameters=function(){return[{type:Di},{type:fe},{type:l.sBO},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Pi.propDecorators={dataItem:[{type:l.IIB}],operationsTarget:[{type:l.IIB}],iconTitle:[{type:l.IIB}],ariaLabel:[{type:l.IIB}],dropdownButtonIconName:[{type:l.IIB}],options:[{type:l.IIB}],buttonsLook:[{type:l.IIB}],actionMenu:[{type:l.i9L,args:[Fi,{static:!0}]}]},Pi=(0,a.gn)([(0,l.wA2)({selector:"sf-wrokflow-operations-menu",template:Si}),(0,a.w6)("design:paramtypes",[Di,fe,l.sBO,Window])],Pi);var Ri=n(85),Qi=function(){function SiteDataStore(e,t){(0,i.Z)(this,SiteDataStore),this.http=e,this.dynamicService=t}return(0,o.Z)(SiteDataStore,[{key:"getValue",value:function getValue(){return this.initialize()}},{key:"isEntitySetAccessible",value:function isEntitySetAccessible(e){return this.getAccessibleEntitySets().pipe((0,w.U)((function(t){return t.indexOf(e)>-1})))}},{key:"isModuleAvailable",value:function isModuleAvailable(e){return this.getEntitySetAvailability(e).pipe()}},{key:"getAllowedProvidersFromSiteData",value:function getAllowedProvidersFromSiteData(e,t){var n=t.Modules,i=Object.keys(n).map((function(e){return n[e]})).find((function(t){return t.ModuleTypes.indexOf(e)>-1})),o=[];return i?o=i.Providers:e!==u.gl.FORMS&&e!==u.gl.SITES||(o=[v.WP.ASTERISK]),o}},{key:"getAllowedProviders",value:function getAllowedProviders(e){var t=this;return this.getValue().pipe((0,kn.P)(),(0,w.U)((function(n){return t.getAllowedProvidersFromSiteData(e,n)})))}},{key:"getAllSites",value:function getAllSites(e){var t={entityData:e,additionalQueryParams:(0,Ae.Z)({},g.Tx.GET_ALL_ITEMS,"true"),order:"Name"};return this.dynamicService.getItemList(t)}},{key:"initialize",value:function initialize(){var e=this;return this.siteData||(this.siteData=new re.t(1),this.http.get("sites/current").then((function(t){e.siteData.next(t.value),e.siteData.complete()}))),this.siteData.asObservable()}},{key:"getAccessibleEntitySets",value:function getAccessibleEntitySets(){var e=this;return this.accessibleEntitySets||(this.accessibleEntitySets=new re.t(1),this.getValue().pipe((0,kn.P)()).subscribe((function(t){var n=t.Modules,i=Object.keys(n).map((function(e){return n[e].AccessibleTypes})).reduce((function(e,t){return e.concat(t)}));e.accessibleEntitySets.next(i),e.accessibleEntitySets.complete()}))),this.accessibleEntitySets.asObservable()}},{key:"getEntitySetAvailability",value:function getEntitySetAvailability(e){var t=this;return this.isSetAvailable||(this.isSetAvailable=new re.t(1),this.getValue().pipe((0,kn.P)()).subscribe((function(n){var i=n.Modules,o=Object.keys(i).some((function(t){return t.indexOf(e)>-1}));t.isSetAvailable.next(o),t.isSetAvailable.complete()}))),this.isSetAvailable.asObservable()}}]),SiteDataStore}();Qi.ctorParameters=function(){return[{type:Ri.q},{type:Ci.dg}]},Qi=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ri.q,Ci.dg])],Qi);var Ui,Li=n(289),Oi=n(290),zi=n(291),_i=function(e){(0,f.Z)(ChoiceSettings,e);var t=(0,p.Z)(ChoiceSettings);function ChoiceSettings(){var e;return(0,i.Z)(this,ChoiceSettings),(e=t.apply(this,arguments)).choices=[],e.optionName=null,e.isInverted=!1,e.showFriendlyName=!1,e.emptyChoiceValues=[0,"0"],e}return(0,o.Z)(ChoiceSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(ChoiceSettings.prototype),"init",this).call(this,e),null===this.defaultValue&&e.default&&(this.defaultValue=e.default),e[u.t9]&&e[u.t9].toLowerCase()===u.jz&&(this.markAsDirty=!0),e[u.t9]&&e[u.t9].toLowerCase()===u.BQ&&(this.useDefaultValue=!1),this.assignEmptyChoiceValues(e.choices)}},{key:"assignEmptyChoiceValues",value:function assignEmptyChoiceValues(e){var t=this,n=this.choices;try{n=[].concat((0,J.Z)(n),(0,J.Z)(JSON.parse(e)))}catch(e){}this.emptyChoiceValues.forEach((function(e){n&&-1===n.findIndex((function(t){return t.Value===e}))&&t.emptyValues.push(e)}))}},{key:"updateHasFieldset",value:function updateHasFieldset(e){if(null===e&&this.choices&&this.choices.length>=63)return this.hasFieldset=!0;var t=e&&/^[0-1]{2,}$/.test(e.toString());if(this.type===Y.U.choiceDropDown&&!t)return this.hasFieldset=!1;this.hasFieldset=!0}}]),ChoiceSettings}(j.P1),Vi=n(292);!function(e){e.Checked="1",e.Unchecked="0"}(Ui||(Ui={}));var Gi,Hi,Zi=n(159),Yi=n(240),ji=Gi=function(e){(0,f.Z)(ChoiceComponent,e);var t=(0,p.Z)(ChoiceComponent);function ChoiceComponent(e,n){var o;return(0,i.Z)(this,ChoiceComponent),(o=t.call(this)).httpRequestWrapper=e,o.logger=n,o.selectionChange=new l.vpe,o.choicesLoaded=new re.t(1),o.choicesData=[],o.warnings=[],o.choiceSettings={},o.choices=[],o}return(0,o.Z)(ChoiceComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(ChoiceComponent.prototype),"ngOnInit",this).call(this),this.initChoicesData(),this.cssClassList=this.generateCssClassList(),this.settings&&(this.choiceSettings={key:this.settings.key,choiceCssClass:this.cssClassList,wrapperCssClass:this.wrapperCssClass,isChip:this.isChip}),this.registerSubscription(this.outputTemplateCallback.subscribe((function(t){t&&e.choices.forEach((function(n){var i=t.find((function(t){return t.conditionalFieldRule.conditions.findIndex((function(t){return t.fieldName===e.settings.key&&t.value===n.Value}))>-1}));i&&(n.ExpandedTemplate=i.templateRef)}))}))),this.reloadChoices()}},{key:"getWarnings",value:function getWarnings(){return this.warnings}},{key:"reloadChoices",value:function reloadChoices(){var e=this;this.registerSubscription(this.loadChoices().subscribe((function(){if(e.choices&&0===e.choices.length&&e.settings.choiceServiceUrl)e.settings.choiceServiceWarningMessage?(e.warnings=[e.settings.choiceServiceWarningMessage],e.emitStatus({type:Yi.i.Warning})):e.setHidden(!0),e.writeValue(null);else{var t=(0,Re.Z)((0,Qe.Z)(ChoiceComponent.prototype),"getValue",e).call(e);e.warnings=[],e.setHidden(!1),null!==t&&e.writeValue(t)}})))}},{key:"clearChoices",value:function clearChoices(e){var t=[];this.settings.placeholder&&!e&&t.unshift({Name:this.settings.placeholder,Value:null}),e&&this.setHidden(!0),this.settings.choices=t,this.mapChoiceItems(),this.choicesLoaded.next(),this.writeValue(null)}},{key:"ngOnChanges",value:function ngOnChanges(e){e&&e.settings&&this.initChoicesData()}},{key:"isChecked",value:function isChecked(e){return this.choicesData[e]===Ui.Checked}},{key:"onSelectionChange",value:function onSelectionChange(e){this.updateChoicesData(e),this.setSelected(),this.updateValueOnSelectionChange(e);var t=this.choices[e];t&&this.selectionChange.emit(t.Value)}},{key:"generateCssClassList",value:function generateCssClassList(){var e="";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.settings&&this.settings.look&&(e+=" -"+this.settings.look.split(" ").join(" -")),e}},{key:"writeValue",value:function writeValue(e){var t=!1;null!==e&&(t=e&&/^[0-1]{2,}$/.test(e.toString())&&this.choices.findIndex((function(t){return t.Value===e||+t.Value===e}))<0);if(this.settings&&!this.settings.hasFieldset&&this.choices&&!t){var n=this.choices.findIndex((function(t){return t.Value===e||+t.Value===e}));this.choicesData=new Array(this.choices.length).fill("0"),n>=0&&(this.choicesData[n]=Ui.Checked)}else t&&(this.choicesData=e.split(v.WP.EMPTY_STRING));this.setSelected(),(0,Re.Z)((0,Qe.Z)(ChoiceComponent.prototype),"writeValue",this).call(this,e)}},{key:"updateChoicesData",value:function updateChoicesData(e){var t=this.choicesData.indexOf(Ui.Checked);t>=0&&(this.choicesData[t]=Ui.Unchecked),this.choicesData[e]=Ui.Checked}},{key:"loadChoices",value:function loadChoices(){var e=this,t=!1;return this.settings.choiceServiceCallParameters&&JSON.parse(this.settings.choiceServiceCallParameters).forEach((function(n){var i=Object.keys(n)[0];e.settings.choiceServiceUrl.indexOf(n[i])>-1&&(t=!0)})),this.settings.choiceServiceUrl&&!t?this.httpRequestWrapper.get$(this.settings.choiceServiceUrl).pipe((0,kn.P)((function(e){return!e.isLoading})),(0,Xn.w)((function(t){var n=JSON.parse(JSON.stringify(t.content.value));return e.settings.placeholder&&n.length&&n.unshift({Name:e.settings.placeholder,Value:null}),e.settings.choices=n,e.mapChoiceItems(),e.settings.assignEmptyChoiceValues(n),e.choicesLoaded.next(),(0,r.of)(null)})),(0,Zi.K)((function(t){return e.settings.choices=[],e.choices=[],e.logger.error(t),e.choicesLoaded.next(),(0,r.of)(null)}))):(this.choicesLoaded.next(),(0,r.of)(null))}},{key:"mapChoiceItems",value:function mapChoiceItems(){var e=this;this.choices=this.settings.choices.map((function(t){return{Name:e.settings.showFriendlyName?t.Title:t.Name,Value:t.Value,Selected:t.Selected,Title:t.Title,Description:t.Description,ExpandedTemplate:t.ExpandedTemplate,Icon:t.Icon}}))}},{key:"setSelected",value:function setSelected(){for(var e=0;e=0&&(this.choicesData[n]=Ui.Checked)}else this.choicesData=t.split(v.WP.EMPTY_STRING);this.mapChoiceItems(),this.setSelected()}}}]),ChoiceComponent}(Z.F);ji.ctorParameters=function(){return[{type:Ri.q},{type:c.Y}]},ji.propDecorators={choiceWrapper:[{type:l.i9L,args:["choiceWrapper",{static:!0}]}],look:[{type:l.IIB}],isChip:[{type:l.IIB}],wrapperCssClass:[{type:l.IIB}],selectionChange:[{type:l.r_U}],choicesLoaded:[{type:l.r_U}]};var Wi,Ji=Hi=function(e){(0,f.Z)(ChoiceDropdownComponent,e);var t=(0,p.Z)(ChoiceDropdownComponent);function ChoiceDropdownComponent(){var e;return(0,i.Z)(this,ChoiceDropdownComponent),(e=t.apply(this,arguments)).showUnsupportedValueOption=!1,e}return(0,o.Z)(ChoiceDropdownComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(ChoiceDropdownComponent.prototype),"ngOnInit",this).call(this),this.registerSubscription(this.choicesLoaded.subscribe((function(){if(!e.settings.choices||0!==e.settings.choices.length||!e.settings.choiceServiceUrl){var t={key:e.settings.key,wrapperCssClass:e.settings.look};e.choiceSettings=t}})))}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(ChoiceDropdownComponent.prototype),"writeValue",this).call(this,e),this.showUnsupportedValueOption=this.getShowUnsupportedValueOption(e);var t=Object.assign({},this.choiceSettings);t.unsupportedValueText=this.showUnsupportedValueOption?this.settings.unsupportedValueText:null,t.unsupportedValue=this.showUnsupportedValueOption?this.value:null,this.choiceSettings=t}},{key:"getShowUnsupportedValueOption",value:function getShowUnsupportedValueOption(e){if(e&&(this.settings&&this.settings.unsupportedValueText&&!(this.choices&&this.choices.some((function(t){return t.Value===e})))))return!0;return!1}}],[{key:"createFieldSettings",value:function createFieldSettings(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=new _i(n,!1);return a.choices=e,i&&(a.look=" -"+i.split(" ").join(" -")),a.defaultValue=t,a.unsupportedValueText=o,a}}]),ChoiceDropdownComponent}(ji=Gi=(0,a.gn)([(0,l.wA2)({selector:"sf-choice",template:Vi,providers:[(0,Z.A)(Gi)]}),(0,a.w6)("design:paramtypes",[Ri.q,c.Y])],ji));Ji=Hi=(0,a.gn)([(0,l.wA2)({selector:"sf-dropdown-choice",template:zi,providers:[(0,Z.A)(Hi)]})],Ji);var qi="sf-button -no-border -left -icon",Xi=Wi=function(e){(0,f.Z)(ChoiceDropdownListComponent,e);var t=(0,p.Z)(ChoiceDropdownListComponent);function ChoiceDropdownListComponent(){var e;return(0,i.Z)(this,ChoiceDropdownListComponent),(e=t.apply(this,arguments)).dropped=!1,e.cssClass=qi,e}return(0,o.Z)(ChoiceDropdownListComponent,[{key:"ngOnInit",value:function ngOnInit(){this.mapChoiceItems(),this.look&&(this.cssClass+=this.generateCssClassList())}},{key:"ngOnChanges",value:function ngOnChanges(e){e&&e.settings&&this.generateDisplayName()}},{key:"onSelectionChangeMimic",value:function onSelectionChangeMimic(e,t){this.value!==t.Value&&(this.value=t.Value,this.displayName=t.Name,e instanceof KeyboardEvent&&(this.dropped=!1),this.selectionChange.emit(this.value))}},{key:"onArrowUpDown",value:function onArrowUpDown(e,t){if(e.preventDefault(),!this.dropped){var n=this.choices,i=this.getIndex(n);t?i!==n.length-1?i++:i=0:0!==i?i--:i=n.length-1,n[i]&&n[i].Value&&(this.value=n[i].Value,this.displayName=n[i].Name),this.selectionChange.emit(this.value)}}},{key:"onFocusSibling",value:function onFocusSibling(e,t){var n=document.activeElement;if(n){var i=t?n.nextElementSibling:n.previousElementSibling;i&&i.focus()}}},{key:"onExpandDropdown",value:function onExpandDropdown(e){e.preventDefault(),this.dropped||(this.choiceDropdownButton.dropped=!0,this.dropped=!0)}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(ChoiceDropdownListComponent.prototype),"writeValue",this).call(this,e),this.generateDisplayName()}},{key:"getNameByValue",value:function getNameByValue(e,t){return e&&t?e.find((function(e){return e.Value===t})).Name:null}},{key:"getIndex",value:function getIndex(e){var t=this;return e.indexOf(e.filter((function(e){return e.Value===t.value}))[0])}},{key:"generateDisplayName",value:function generateDisplayName(){var e=this;this.settings&&this.settings.choices&&(this.value&&!this.settings.choices.some((function(t){return t.Value===e.value}))&&(this.value=null),this.value?this.displayName=this.getNameByValue(this.settings.choices,this.value):this.settings.defaultValue?(this.value=this.settings.defaultValue,this.displayName=this.getNameByValue(this.settings.choices,this.settings.defaultValue)):this.settings.choices.length>0&&(this.value=this.settings.choices[0].Value,this.displayName=this.settings.choices[0].Name))}}]),ChoiceDropdownListComponent}(Ji);Xi.propDecorators={choiceDropdownButton:[{type:l.i9L,args:["choiceDropdownButton",{static:!0}]}],optgroup:[{type:l.IIB}],ariaLabel:[{type:l.IIB}]},Xi=Wi=(0,a.gn)([(0,l.wA2)({selector:"sf-dropdown-list-choice",template:Oi,providers:[(0,Z.A)(Wi)]})],Xi);var Ki=function(){function ProviderService(e){(0,i.Z)(this,ProviderService),this.httpRequestWrapper=e}return(0,o.Z)(ProviderService,[{key:"getProviders",value:function getProviders(e,t){var n=new re.t(1);return this.httpRequestWrapper.get("".concat(e,"/sfproviders"),t).then((function(e){n.next(e.value)})),n}}]),ProviderService}();Ki.ctorParameters=function(){return[{type:Ri.q}]},Ki=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ri.q])],Ki);var $i=function(){function CacheStore(){(0,i.Z)(this,CacheStore),this.cache={}}return(0,o.Z)(CacheStore,[{key:"getItemInternal",value:function getItemInternal(e){var t=this.getCacheKey(e),n=this.cache[t];return n||(n=this.requestItem(e),this.cache[t]=n),n.pipe((0,kn.P)())}},{key:"invalidateCache",value:function invalidateCache(e){var t=this.getCacheKey(e);delete this.cache[t]}}]),CacheStore}(),eo=function(e){(0,f.Z)(ProviderStore,e);var t=(0,p.Z)(ProviderStore);function ProviderStore(e){var n;return(0,i.Z)(this,ProviderStore),(n=t.call(this)).service=e,n.providerChanged=new Ft.xQ,n}return(0,o.Z)(ProviderStore,[{key:"currentProvider",get:function get(){return this._currentProvider},set:function set(e){var t=this._currentProvider;this._currentProvider=e,e!==t&&this.providerChanged.next(e)}},{key:"getCacheKey",value:function getCacheKey(e){return e}},{key:"requestItem",value:function requestItem(e){return this.service.getProviders(e)}},{key:"getProviders",value:function getProviders(e){return this.getItemInternal(e)}}]),ProviderStore}($i);eo.ctorParameters=function(){return[{type:Ki}]},eo=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ki])],eo);var to=function(e){(0,f.Z)(ProviderSelectorBaseComponent,e);var t=(0,p.Z)(ProviderSelectorBaseComponent);function ProviderSelectorBaseComponent(e){var n;return(0,i.Z)(this,ProviderSelectorBaseComponent),(n=t.call(this)).store=e,n.onChange=new l.vpe,n.onInit=new l.vpe,n}return(0,o.Z)(ProviderSelectorBaseComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initializeProviders()}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.store.invalidateCache(this.lastUsedProviderSet),(0,Re.Z)((0,Qe.Z)(ProviderSelectorBaseComponent.prototype),"ngOnDestroy",this).call(this)}},{key:"initializeProviders",value:function initializeProviders(e){var t=this;if(this.entitySetName||this.providers)if(this.entitySetName){var n=this.store.getProviders(this.entitySetName).subscribe((function(n){t.initialActiveProvider=t.getDefaultProvider(n,e),n.length>1?t.dropdownOptions=t.getDropDownOptions(n):t.dropdownOptions=[],t.onInitializedProviders(n),t.onInit.emit({tabValue:t.initialActiveProvider.name,triggerTabSelection:!1})}));this.registerSubscription(n),this.store.invalidateCache(this.lastUsedProviderSet),this.lastUsedProviderSet=this.entitySetName}else this.initialActiveProvider=this.getDefaultProvider(this.providers,e),this.providers.length>1?this.dropdownOptions=this.getDropDownOptions(this.providers):this.dropdownOptions=[],this.onInitializedProviders(this.providers),this.onInit.emit({tabValue:this.initialActiveProvider.name,triggerTabSelection:!1})}},{key:"onProviderSelectionChange",value:function onProviderSelectionChange(e){this.onChange.emit({tabValue:e,triggerTabSelection:!0})}},{key:"onInitializedProviders",value:function onInitializedProviders(e){}},{key:"getDefaultProvider",value:function getDefaultProvider(e,t){var n=e.find((function(e){return e.isDefault}));return t&&(n=e.find((function(e){return e.name===t}))),n||e[0]}},{key:"getDropDownOptions",value:function getDropDownOptions(e){return e.map((function(e){return{Name:e.title,Value:e.name}}))}}]),ProviderSelectorBaseComponent}(E.zu);to.ctorParameters=function(){return[{type:eo}]},to.propDecorators={onChange:[{type:l.r_U}],onInit:[{type:l.r_U}],entitySetName:[{type:l.IIB}],providers:[{type:l.IIB}]};var no=function(e){(0,f.Z)(ProviderSelectorComponent,e);var t=(0,p.Z)(ProviderSelectorComponent);function ProviderSelectorComponent(e){var n;return(0,i.Z)(this,ProviderSelectorComponent),(n=t.call(this,e)).displayMode=v.WP.EMPTY_STRING,n.onChange=new l.vpe,n.onInit=new l.vpe,n.selectedChips=[],n.chipConfig={showRecentLabel:!1,showSelectedItemAsActive:!0,showNoResultsLabel:!0},n}return(0,o.Z)(ProviderSelectorComponent,[{key:"ngOnInit",value:function ngOnInit(){this.providersCollection&&(this.providers=this.providersCollection),this.entityData?(this.entitySetName=this.entityData.metadata.setName,this.initializeProviders(this.entityData.metadata.selectedProvider||this.entityData.provider)):this.initializeProviders()}},{key:"ngOnChanges",value:function ngOnChanges(e){var t=e.entityData;t&&(this.entityData=t.currentValue,this.entityData&&(this.entitySetName=this.entityData.metadata.setName,this.initializeProviders(this.entityData.metadata.selectedProvider||this.entityData.provider)))}},{key:"onSearchChips",value:function onSearchChips(e){this.filteredChipsProviders=e?this.chipsProviders.filter((function(t){return t.Title.includes(e.trim())})):null}},{key:"onProviderChipChange",value:function onProviderChipChange(e){this.onChange.emit({tabValue:e.Name}),this.selectedChips=[{Title:e.Title,Id:e.Name}]}},{key:"onInitializedProviders",value:function onInitializedProviders(e){this.providerSettings=this.getDropdownChoices(),"chips"===this.displayMode&&this.initChips(e,this.initialActiveProvider.name)}},{key:"getDropdownChoices",value:function getDropdownChoices(){return this.dropdownOptions.length>0?Xi.createFieldSettings(this.dropdownOptions,this.initialActiveProvider.name):null}},{key:"initChips",value:function initChips(e,t){this.chipsProviders=e.map((function(e){return{Name:e.name,Title:e.title,Id:e.name}}));var n=e.find((function(e){return e.name===t}));this.selectedChips=[{Title:n.title,Id:n.name}]}}]),ProviderSelectorComponent}(to=(0,a.gn)([(0,l.Xek)(),(0,a.w6)("design:paramtypes",[eo])],to));no.ctorParameters=function(){return[{type:eo}]},no.propDecorators={entityData:[{type:l.IIB}],providersCollection:[{type:l.IIB}],displayMode:[{type:l.IIB}],onChange:[{type:l.r_U}],onInit:[{type:l.r_U}]},no=(0,a.gn)([(0,l.wA2)({selector:"sf-provider-selector",template:Li}),(0,a.w6)("design:paramtypes",[eo])],no);var io=n(293),oo="-sf-mr-3xl",ao=function(e){(0,f.Z)(ProviderTabSelectorComponent,e);var t=(0,p.Z)(ProviderTabSelectorComponent);function ProviderTabSelectorComponent(e){return(0,i.Z)(this,ProviderTabSelectorComponent),t.call(this,e)}return(0,o.Z)(ProviderTabSelectorComponent,[{key:"onDropdownClicked",value:function onDropdownClicked(e){e&&e.stopPropagation()}},{key:"onSplitButtonChange",value:function onSplitButtonChange(e){this.onChange.emit({tabValue:e,triggerTabSelection:!0})}}]),ProviderTabSelectorComponent}(to);ao.ctorParameters=function(){return[{type:eo}]},ao=(0,a.gn)([(0,l.wA2)({selector:"sf-provider-tab-selector",template:io}),(0,a.w6)("design:paramtypes",[eo])],ao);var ro=n(294),so=n(295),lo="adminapp",co="",uo="home",fo="content",po="pages",Ao="templates",mo="Template",go="not-found",ho="access-denied",vo="features",bo="itemsGrid",yo="*",Eo=null,Io="menu",wo="forms",ko="config",xo="sfedit",Co="integrations",So={ROOT_PREFIX:lo,HOME:"".concat(lo,"/").concat(co),MENU_HOME:"".concat(lo,"/").concat(uo),CONTENT:"".concat(lo,"/").concat(fo),PAGES:"".concat(lo,"/").concat(po),TEMPLATES:"".concat(lo,"/").concat(Ao),NOT_FOUND:"".concat(lo,"/").concat(go),ACCESS_DENIED:"".concat(lo,"/").concat(ho),FEATURES:"".concat(lo,"/").concat(vo),ITEMS_GRID:"".concat(lo,"/").concat(bo),CONFIG:"".concat(lo,"/").concat(ko),INTEGRATIONS:"".concat(lo,"/").concat(Co),FORMS:"".concat(lo,"/").concat(wo)},Bo="".concat(So.ROOT_PREFIX,"/no-preview"),Do=function(){function NoPreviewComponent(e,t,n){var o=this;(0,i.Z)(this,NoPreviewComponent),this.messages=new re.t,this.pagesUrl="".concat(e.url,"Sitefinity/Pages");var a="content type",r=t.snapshot.queryParams.contentType;r?n.initialize().subscribe((function(e){var t=e.entitiesByFullTypeName[r];t?o.messages.next(o.getMessages(t.singularName.toLowerCase())):o.messages.next(o.getMessages(a))})):this.messages.next(this.getMessages(a))}return(0,o.Z)(NoPreviewComponent,[{key:"getMessages",value:function getMessages(e){return{description:"There are no pages set to display this ".concat(e,". To enable preview:"),secondStep:"On a page, drop a widget displaying this ".concat(e)}}}],[{key:"getPreviewUrl",value:function getPreviewUrl(e,t){var n=e.getAbsoluteUrl(Bo);return t&&(n+="?".concat("contentType","=").concat(t.metadata.typeFullName)),n}}]),NoPreviewComponent}();Do.ctorParameters=function(){return[{type:Qt.Zr},{type:m.gz},{type:pe.EY}]},Do=(0,a.gn)([(0,l.wA2)({selector:"sf-no-preview",template:ro,styles:[so]}),(0,a.w6)("design:paramtypes",[Qt.Zr,m.gz,pe.EY])],Do);var To=n(296),Mo=function(){function ToolbarComponent(){(0,i.Z)(this,ToolbarComponent),this.header=v.WP.EMPTY_STRING,this.superScript=null}return(0,o.Z)(ToolbarComponent,[{key:"ngOnInit",value:function ngOnInit(){this.headerText=this.header||"".concat(this.dataItem.metadata.singularName," properties")}}]),ToolbarComponent}();Mo.propDecorators={dataItem:[{type:l.IIB}],cultureData:[{type:l.IIB}],header:[{type:l.IIB}],superScript:[{type:l.IIB}]},Mo=(0,a.gn)([(0,l.wA2)({selector:"sf-item-toolbar",template:To})],Mo);var No=function(){function DynamicItemStrategyBase(){(0,i.Z)(this,DynamicItemStrategyBase)}return(0,o.Z)(DynamicItemStrategyBase,null,[{key:"getSet",value:function getSet(e){var t=e.params;return t[g.UY.CHILD_SET_SEGMENT]||t[g.UY.TYPE_NAME_SEGMENT]||e.data[g.UY.TYPE_NAME_SEGMENT]}}]),DynamicItemStrategyBase}();No=(0,a.gn)([(0,l.GSi)()],No);var Fo=function(){function BaseResolver(e,t,n,o){(0,i.Z)(this,BaseResolver),this.store=e,this.router=t,this.settings=n,this.entityDataResolver=o,this.persistCulture=!1,this.skipProviderValidation=!1}return(0,o.Z)(BaseResolver,[{key:"resolve",value:function resolve(e,t){var n=e.parent.data[g.u0.siteDataStore];n||(n=e.data[g.u0.siteDataStore]);var i=n.DefaultContentCulture,o=this.entityDataResolver.resolveEntityData(e,e.parent.data[g.u0.metadata],i,this.store.currentProvider);if(!o)return this.router.navigate([So.NOT_FOUND]),null;if(o.metadata.isMultilingual){if(i=this.getCultureFromRoute(e)){if(!n.ContentCultures.find((function(e){return e.Name===i})))return this.navigateAndRemoveParam(e,t,g.Tx.CULTURE),null}else i=this.getCulture(n);this.persistCulture&&this.settings.setSiteCulture(n.Id,i)}if((o={metadata:o.metadata,provider:o.provider,culture:i},this.shouldHandleParentRelationship(o.metadata))&&!e.parent.params[g.UY.PARENT_ID_SEGMENT])return this.router.navigate([So.NOT_FOUND]),null;return o}},{key:"canActivate",value:function canActivate(e,t){var n=this,i=e.parent.queryParams[g.Tx.PROVIDER],o=this.getEntitySet(e),canActivate=this.store.getProviders(o).pipe((0,w.U)((function(o){var a=o.find((function(e){return e.isDefault}));return i||a?(!i&&a&&(i=a.name),n.skipProviderValidation||o.findIndex((function(e){return e.name===i}))>=0?(n.store.currentProvider=i,!0):(i?n.navigateAndRemoveParam(e,t,g.Tx.PROVIDER):n.router.navigate([So.NOT_FOUND]),!1)):(n.router.navigate([So.NOT_FOUND]),!1)})));return canActivate}},{key:"shouldHandleParentRelationship",value:function shouldHandleParentRelationship(e){return e.hasParent&&!e.ignoreParentChildRelationship&&!e.isSelfReferencing}},{key:"clearFilter",value:function clearFilter(e,t){this.navigateAndRemoveParam(e,t,g.V5.FILTER)}},{key:"getEntitySet",value:function getEntitySet(e){return No.getSet(e.parent)}},{key:"getCultureFromRoute",value:function getCultureFromRoute(e){return e.parent.queryParams[g.Tx.CULTURE]}},{key:"navigateAndRemoveParam",value:function navigateAndRemoveParam(e,t,n){var i=Object.assign({},e.parent.queryParams),o=Object.keys(i);i.hasOwnProperty(n)&&delete i[n];var a=t.url;o.length>0&&(a=t.url.substring(0,t.url.indexOf("?")));var r=a.split(v.WP.FORWARD_SLASH).filter((function(e){return e})).map((function(e){return e.trim()}));this.router.navigate(r,{queryParams:i})}},{key:"getCulture",value:function getCulture(e){var t=this.settings.getSiteCulture(e.Id);return e.ContentCultures.some((function(e){return e.Name===t}))?t:e.DefaultContentCulture}}]),BaseResolver}(),Po=function(){function PageService(e,t){(0,i.Z)(this,PageService),this.httpWrapper=e,this.settings=t}return(0,o.Z)(PageService,[{key:"getByUrl",value:function getByUrl(e,t){var n=this.getPageAbsoluteUrl(e).replace(/'/g,"''");return this.httpWrapper.get$("".concat(t.metadata.setName,"/Default.GetPageByUrl(url=@param)?@param='").concat(n,"'")).pipe((0,Bi.h)((function(e){return!e.isLoading})),(0,w.U)((function(e){return ee.zw.from(e.content,t.metadata,t.provider,t.culture)})))}},{key:"getPageAbsoluteUrl",value:function getPageAbsoluteUrl(e){var t=this.settings.url;return t.endsWith(v.WP.FORWARD_SLASH)&&(t=t.substr(0,t.length-1)),"".concat(t).concat(e)}}]),PageService}();Po.ctorParameters=function(){return[{type:Ri.q},{type:Qt.Zr}]},Po=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ri.q,Qt.Zr])],Po);var Ro=(0,o.Z)((function EntityDataResolver(){(0,i.Z)(this,EntityDataResolver)})),Qo=function(){function CompositeEntityDataResolver(e){(0,i.Z)(this,CompositeEntityDataResolver),this.resolvers=e}return(0,o.Z)(CompositeEntityDataResolver,[{key:"resolveEntityData",value:function resolveEntityData(e,t,n,i){var o=this.getEntitySet(e),a=this.resolvers.find((function(e){return e.canResolve(o)}));if(a)return a.resolve(e,t,n,i);var r=t.entities[o];return r?{metadata:r,provider:i,culture:n}:null}},{key:"getEntitySet",value:function getEntitySet(e){return No.getSet(e.parent)}}]),CompositeEntityDataResolver}();Qo.ctorParameters=function(){return[{type:Array,decorators:[{type:l.tBr,args:[Ro]}]}]},Qo=(0,a.gn)([(0,l.GSi)({providedIn:"root"}),(0,a.w6)("design:paramtypes",[Array])],Qo);var Uo={EDIT:"Edit"},Lo="pages",Oo=function(e){(0,f.Z)(PageResolver,e);var t=(0,p.Z)(PageResolver);function PageResolver(e,n,o,a,r){var s;return(0,i.Z)(this,PageResolver),(s=t.call(this,o,n,a,r)).service=e,s.persistCulture=!0,s}return(0,o.Z)(PageResolver,[{key:"canActivate",value:function canActivate(e,t){var n=e.url.map((function(e){return e.path.toLowerCase()})),i=n.lastIndexOf("Action".toLowerCase()),o=n.lastIndexOf(Uo.EDIT.toLowerCase()),canActivate=i>0&&o>0&&i+1===o&&o>=n.length-1-2;return canActivate||this.router.navigate([So.NOT_FOUND]),(0,r.of)(canActivate)}},{key:"resolve",value:function resolve(e,t){var n=this,i=(0,Re.Z)((0,Qe.Z)(PageResolver.prototype),"resolve",this).call(this,e,t),o=e.url.map((function(e){return e.path})).join(v.WP.FORWARD_SLASH);return this.service.getByUrl("/".concat(o),i).pipe((0,w.U)((function(e){return{item:e,entityData:i}})),(0,Zi.K)((function(e){return n.router.navigate([So.NOT_FOUND]),(0,r.of)(e)})))}},{key:"getCultureFromRoute",value:function getCultureFromRoute(e){var t=e.url.map((function(e){return e.path})),n=t.map((function(e){return e.toLowerCase()})),i=t[n.lastIndexOf(Uo.EDIT.toLowerCase())+1];return i||(i=(0,Re.Z)((0,Qe.Z)(PageResolver.prototype),"getCultureFromRoute",this).call(this,e)),i}},{key:"getEntitySet",value:function getEntitySet(e){return Lo}},{key:"shouldHandleParentRelationship",value:function shouldHandleParentRelationship(e){return!1}}]),PageResolver}(Fo);Oo.ctorParameters=function(){return[{type:Po},{type:m.F0},{type:eo},{type:Qt.Zr},{type:Qo}]},Oo=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Po,m.F0,eo,Qt.Zr,Qo])],Oo);var zo=function(){function EditInDialogCommand(e,t){(0,i.Z)(this,EditInDialogCommand),this.modalWindowService=e,this.router=t}return(0,o.Z)(EditInDialogCommand,[{key:"execute",value:function execute(e){var t=this,n=e.data,i=n.siteData,o=n.dataItem,a=o.isEmpty,r=i.ContentCultures,s=n.dialogType,l=n.mediaFieldLimitationsConstraints,c=n.navigateToChildrenAfterCreate,u=n.headComponentData,f=null;o.metadata.isTranslatable&&r.length>0&&(f=r.find((function(e){return e.Name===o.culture})));var p={type:s,properties:{dataItem:o,cultureData:f,parentId:n.parentId,mediaFieldLimitationsConstraints:l,prepopulatedFields:n.prepopulatedFields},updatePropertiesOnChange:!0},A=new re.t(1),m=new ki.np(p,(function doneCb(i){if(i.data){if((a||!o.isTranslated)&&c){var r=t.getChildItemUrl(i.data);if(r){var s=t.getProviderAndCultureQueryParams(i.data),l={relativeTo:i.data.metadata.ignoreParentChildRelationship?e.currentRoute:e.currentRoute.firstChild,queryParams:s};return n.replaceUrl&&(l.replaceUrl=!0),t.router.navigate([r],l).then((function(){A.next({success:!0})})).catch((function(e){return A.error(e)}))}}A.next({success:!0,dataItem:i.data,isLoading:!1})}else A.next({success:!1,isLoading:!1})}));m.headComponentData=u;var g=e.data.singularName?e.data.singularName:o.metadata.singularName;m.toolbarData={type:Mo,properties:{dataItem:o,cultureData:f,header:o.metadata.setName===Lo?"Page title and properties":o.isEmpty?"Creating ".concat((0,d.Ao)(g)," ").concat(g.toLowerCase()):"".concat(g," properties")}};var h="edit";n.duplicate&&(h="duplicate");var v="".concat(h,"_").concat(o.key,"_").concat(o.metadata.setName,"_").concat(o.provider||void 0,"_").concat(o.culture);return this.modalWindowService.setMapping(m,v),this.modalWindowService.show(v,e.currentRoute.firstChild),A.asObservable()}},{key:"getChildItemUrl",value:function getChildItemUrl(e){return e.metadata.hasChildren?e.metadata.ignoreParentChildRelationship?e.metadata.setName:"".concat(e.data.Id,"/").concat(e.childSetName):null}},{key:"getProviderAndCultureQueryParams",value:function getProviderAndCultureQueryParams(e){var t={};return t[g.Tx.PROVIDER]=e.provider,t[g.Tx.CULTURE]=e.culture,t}}]),EditInDialogCommand}();function getQueryParams(e,t){var n={};n[g.Tx.PROVIDER]=e.provider,n[g.Tx.CULTURE]=e.culture;var i=t.snapshot.queryParams[g.V5.FILTER];i&&(n[g.V5.FILTER]=i);var o=t.snapshot.queryParams[g.Tx.SORT];return o&&(n[g.Tx.SORT]=o),n}function buildQueryString(e){var t=Object.keys(e);if(t.length>0){for(var n=v.WP.QUESTION_MARK,i=0;i2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=e.metadata,a=e.metadata.hasParent&&t,r=i?g.UY.UNLOCK_SEGMENT:g.UY.EDIT_SEGMENT;return a?e.isEmpty?"".concat(o.parent,"/").concat(t,"/").concat(o.setName,"/").concat(g.UY.CREATE_SEGMENT):n?"".concat(o.parent,"/").concat(t,"/").concat(o.setName,"/").concat(e.key,"/").concat(g.UY.DUPLICATE_SEGMENT):"".concat(o.parent,"/").concat(t,"/").concat(o.setName,"/").concat(e.key,"/").concat(r):e.isEmpty?"".concat(o.setName,"/").concat(g.UY.CREATE_SEGMENT):n?"".concat(o.setName,"/").concat(e.key,"/").concat(g.UY.DUPLICATE_SEGMENT):"".concat(o.setName,"/").concat(e.key,"/").concat(r)}(a,a.data.ParentId,void 0,!0),s=getQueryParams(a,t),l="".concat(n.openInNewWindowArgs.baseUrl,"/").concat(r).concat(buildQueryString(s));o.window.open(l,a.data.ParentId),i.next({success:!1})}else o.service.unlockItem(a).subscribe((function(){o.service.executeOperation(a,n.commandName).subscribe((function(e){if(e.success&&e.link)return i.next({success:!1,isLoading:!0}),void o.window.open(e.link,v.Mw);i.next({success:!0})}))}));return}if(e.data.data.name===$.q.view&&a.metadata.hasContent)return void o.service.executeOperation(a,$.q.preview).subscribe((function(e){e.success&&(e.link?o.window.open(e.link,v.Mw):i.next({success:!0}))}))}i.next({success:!0})}else i.next({success:!1});else i.next({success:!1})}};if(e.availableActions){var r=n.dataItem;e.availableActions.forEach((function(e){var t=null,n=new ki.DQ({name:e},!0);if(e===$.q.view){var i="View as read-only";r.metadata.hasContent&&(i="View"),t=new ki.pu(i,(function(){return n}))}else t=new ki.pu(e,(function(){return n}),"large");a.buttons.push(t)})),(1===e.availableActions.length&&e.availableActions[0]===$.q.unlock||0===e.availableActions.length)&&a.buttons.unshift(new ki.pu("Go back",(function(){return new ki.DQ({name:"back"},!0)})))}return a}},{key:"getLocalizedLockedStatusMessage",value:function getLocalizedLockedStatusMessage(e,t,n){var i=e;if(n.data.LockedStatus){var o=new Date(n.data.LockedStatus.Date),a=this.datePipe.transform(o,On.FULL_DATE_WEEKDAY);i='"'.concat(n.title,'" is locked by ').concat(n.data.LockedStatus.User," on ").concat(a)}return i}}]),ConfirmationCommand}();Vo.ctorParameters=function(){return[{type:Ci.dg},{type:ki.bL},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Vo=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,ki.bL,Window])],Vo);var Go=n(14),Ho=n(297),Zo=n(148),Yo=n(224),jo=n(82),Wo=n(272),Jo=(0,o.Z)((function CustomTweaksHandler(){(0,i.Z)(this,CustomTweaksHandler)})),qo=function(){function FieldsGeneratorService(e,t){(0,i.Z)(this,FieldsGeneratorService),this.metadataParser=e,this.tweaksHandlers=t}return(0,o.Z)(FieldsGeneratorService,[{key:"generateFields",value:function generateFields(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=this.generateFieldModels(e,e.setName,t,n,i,o),r=n&&!n.isEmpty?g.jc.EDIT:g.jc.INSERT,s=this.groupFields(e,a,t.getFormByType(e.setName,r),i);return s}},{key:"generateFieldsFromTweaks",value:function generateFieldsFromTweaks(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=this.metadataParser.getFieldsDefinition(e,t,n,i,o),r=this.groupFields(e,a,t,i);return r}},{key:"generateFieldModels",value:function generateFieldModels(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],r=i&&!i.isEmpty?g.jc.EDIT:g.jc.INSERT,s=n.getFormByType(t,r),l=this.metadataParser.getFieldsDefinition(e,s,i,o,a);return l}},{key:"createFieldModel",value:function createFieldModel(e){return new jo.W({key:e.key,selector:e.selector||Y.U.shortText,settings:e.settings||{},value:e.value||v.WP.EMPTY_STRING,registration:e.registration})}},{key:"configureTitle",value:function configureTitle(e,t,n){var i=e.settings.showTitle;switch(e.selector){case Y.U.html:t.settings.isMain&&(0===t.fields.length||1===t.fields.length&&t.fields[0].settings.key===n)&&(e.settings.showTitle=!0,e.settings.visibleTitle=!1);break;case Y.U.shortTextDefault:case Y.U.address:case Y.U.mediaData:i=!1}e.settings.showTitle=i}},{key:"groupFields",value:function groupFields(e,t,n,i){var o=this;if(t.length<1)return[];var a,r=[],s=new Set;return n.forEach((function(n){if(!s.has(n.name)){if(n.isSection)return a=new Wo.h({title:n.title,hideTitle:!n.title&&n.isExpandedByDefault,name:n.name,isExpanded:n.isExpandedByDefault,isMain:0===r.length,insertHorizontalRule:!0}),void r.push(a);var i,l=(0,Qn.Z)(o.tweaksHandlers);try{for(l.s();!(i=l.n()).done;){var c=i.value;if(c.canProcess(e.typeFullName)){var d=c.handleFormTweak(r,n.name,t);if(d.forEach((function(e){return s.add(e)})),d.length)return}}}catch(e){l.e(e)}finally{l.f()}var u,f=r[0],p=(0,Qn.Z)(t);try{for(p.s();!(u=p.n()).done;){var A=u.value;if(n.name===A.key){var m=e.defaultFieldName;A.settings.title=n.title,o.configureTitle(A,a,m),A.key!==m||e.isMedia?a.fields.push(A):f.fields.unshift(A);break}}}catch(e){p.e(e)}finally{p.f()}}})),r}}]),FieldsGeneratorService}();qo.ctorParameters=function(){return[{type:Yo.F},{type:Array,decorators:[{type:l.tBr,args:[Jo]}]}]},qo=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Yo.F,Array])],qo);var Xo=n(273),Ko=n(211),$o=n(220),ea=n(216),ta=(0,o.Z)((function Action(e,t){(0,i.Z)(this,Action),this.name=e,this.operation=t})),na=function(e){(0,f.Z)(ItemMetaResolver,e);var t=(0,p.Z)(ItemMetaResolver);function ItemMetaResolver(e,n,o,a,r){var s;return(0,i.Z)(this,ItemMetaResolver),(s=t.call(this,n,o,a,r)).service=e,s}return(0,o.Z)(ItemMetaResolver,[{key:"resolve",value:function resolve(e,t){var n=(0,Re.Z)((0,Qe.Z)(ItemMetaResolver.prototype),"resolve",this).call(this,e,t),i=this.getItemKey(e);return this.service.executeBoundFunction(ee.zw.fromKey(i,n),itemMetaSegment(null))}},{key:"getItemKey",value:function getItemKey(e){var t=e.params[g.UY.ITEM_ID],n=e.url[e.url.length-1].path;return t&&n!==g.UY.DUPLICATE_SEGMENT||(t=v.WP.DEFAULT_GUID),t}}]),ItemMetaResolver}(Fo);function itemMetaSegment(e){return"Default.itemmeta(state='".concat(e,"')")}na.ctorParameters=function(){return[{type:Ci.dg},{type:eo},{type:m.F0},{type:Qt.Zr},{type:Qo}]},na=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,eo,m.F0,Qt.Zr,Qo])],na);var ia=n(280),oa=n(49),aa=n(298),ra=n(186),sa=function(){function ChildrenCountStore(e){(0,i.Z)(this,ChildrenCountStore),this.service=e,this.cache={}}return(0,o.Z)(ChildrenCountStore,[{key:"getChildrenCount",value:function getChildrenCount(e,t){var n=this.getCacheKey(e),i=this.cache[n];if(!i){var o=new re.t(1);this.service.getItemsChildrenCount(e,t).subscribe((function(e){o.next(e)})),i=this.cache[n]=o}return i.asObservable()}},{key:"invalidateCachedChidrenCountByChildItem",value:function invalidateCachedChidrenCountByChildItem(e){this.invalidateCachedChidrenCount(e.provider,e.parentKey)}},{key:"invalidateCachedChidrenCountByParentItem",value:function invalidateCachedChidrenCountByParentItem(e){this.invalidateCachedChidrenCount(e.provider,e.key)}},{key:"invalidateCachedChidrenCount",value:function invalidateCachedChidrenCount(e,t){var n=Object.keys(this.cache).find((function(n){return e&&n.startsWith(e)&&t&&n.endsWith(t)}));delete this.cache[n]}},{key:"getCacheKey",value:function getCacheKey(e){return"".concat(e.provider,"_").concat(e.key)}}]),ChildrenCountStore}();sa.ctorParameters=function(){return[{type:Ci.dg}]},sa=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg])],sa);var la=function(){function DynamicItemStoreState(){(0,i.Z)(this,DynamicItemStoreState),this.dynamicItemsInternal=new he.X(ca.empty())}return(0,o.Z)(DynamicItemStoreState,[{key:"getValue",value:function getValue(){return this.dynamicItemsInternal.getValue()}},{key:"next",value:function next(e){var t=ca.wrap(e);this.dynamicItemsInternal.next(t)}},{key:"getDynamicItems",value:function getDynamicItems(){return this.dynamicItemsInternal.asObservable()}}]),DynamicItemStoreState}(),ca=function(){function StateWrapper(e,t,n,o,a,r,s,l){(0,i.Z)(this,StateWrapper),this.dataItems=e,this.totalCount=t,this.loadingItemsCount=n,this.query=o,this.skip=a,this.take=r,this.order=s,this.action=l,this.loadingItemsCount=n||0,this.query=o,this.skip=a||0,this.take=r||0,this.order=s,this.action=l}return(0,o.Z)(StateWrapper,[{key:"isLoading",get:function get(){return this.isLoadingItems}},{key:"hasLoadedItems",get:function get(){return this.dataItems.length>0}},{key:"isLoadingItems",get:function get(){return this.loadingItemsCount>0}},{key:"hasItems",get:function get(){return this.totalCount>0}},{key:"leftItemsCount",get:function get(){return this.totalCount-this.dataItems.length}},{key:"loadedItemsCount",get:function get(){return this.dataItems.length}},{key:"getNextBatchCount",value:function getNextBatchCount(e){var t=this.leftItemsCount;return t>e?e:t}},{key:"getCurrentPage",value:function getCurrentPage(e){return Math.ceil(this.loadedItemsCount/e)}}],[{key:"wrap",value:function wrap(e){var t=new StateWrapper(e.dataItems.slice(),e.totalCount,e.loadingItemsCount,e.query,e.skip,e.take,e.order,e.action);return Object.freeze(t)}},{key:"empty",value:function empty(){return StateWrapper.wrap({dataItems:[],totalCount:0})}}]),StateWrapper}(),da=n(205),ua="Ordinal asc",fa="LastModified desc",pa="DateCreated desc",Aa=function(){function SortService(){(0,i.Z)(this,SortService)}return(0,o.Z)(SortService,[{key:"getDefaultSort",value:function getDefaultSort(e){return y.xe.isLibrary(e.metadata.setName)?pa:e.metadata.isSelfReferencing?fa:e.metadata.isOrderable&&!e.metadata.isMedia?ua:fa}}]),SortService}();Aa=(0,a.gn)([(0,l.GSi)()],Aa);var ma,ga=function(){function DynamicItemStore(e,t,n){(0,i.Z)(this,DynamicItemStore),this.logger=e,this.dynamicItemService=t,this.childrenCountStore=n,this.stateCache=new Map,this.itemChanges$=new Ft.xQ}return(0,o.Z)(DynamicItemStore,[{key:"service",get:function get(){return this.dynamicItemService}},{key:"getLeftItemsCount",value:function getLeftItemsCount(e){var t=this.getTotalCount(e)-this.getLoadedItemsCount(e);return t>Ci.$d?Ci.$d:t}},{key:"getTotalCount",value:function getTotalCount(e){return this.getState(e).itemsCount}},{key:"getLoadedItemsCount",value:function getLoadedItemsCount(e){return this.getState(e).getValue().dataItems.length}},{key:"getItems",value:function getItems(e){return this.getState(e).getDynamicItems()}},{key:"executeOperation",value:function executeOperation(e,t){var n=this;return this.dynamicItemService.executeOperation(e,t).pipe((0,ra.b)((function(){n.notifyItemChange(e.key,e,t)})))}},{key:"executeEntityOperation",value:function executeEntityOperation(e,t,n){var i=this;return this.dynamicItemService.executeEntityOperation(e,t,n).pipe((0,ra.b)((function(){i.notifyItemChange(null,e,t)})))}},{key:"restoreItem",value:function restoreItem(e){var t=this;return this.dynamicItemService.restoreItem(e).pipe((0,ra.b)((function(){t.notifyItemChange(e.key,e,da.VX.Restore)})))}},{key:"getItem",value:function getItem(e){var t=this;return this.dynamicItemService.getItem(e).pipe((0,ra.b)((function(e){t.refreshItem(e,Ci.t5.Current)})),(0,Zi.K)((function(n){return n instanceof $o.d&&t.deleteItemFromMemory(e.itemKey,e.entityData),(0,qn._)(n)})))}},{key:"getItemList",value:function getItemList(e){var t=this;return this.dynamicItemService.getItemList(e).pipe((0,Zi.K)((function(n){return t.logger.error({message:"An error was encountered retrieving dynamic items of type: '".concat(e.entityData.metadata.setName,"'"),code:"getItemList"}),(0,qn._)(n)})))}},{key:"deleteItem",value:function deleteItem(e){var t=this,n=e.dataItem,i=this.dynamicItemService.deleteItem(e);return i.subscribe((function(){t.notifyItemChange(n.key,n,da.VX.Delete),e.skipItemStateUpdate||(t.deleteItemFromMemory(n.key,n,e.deleteAllTranslations,e.itemPosition),t.childrenCountStore.invalidateCachedChidrenCountByChildItem(n))}),(function(i){i instanceof $o.d&&!e.skipItemStateUpdate&&t.deleteItemFromMemory(n.key,n,e.deleteAllTranslations,e.itemPosition)})),i}},{key:"saveItemWithOperationResult",value:function saveItemWithOperationResult(e,t,n,i,o){var a=this,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Ci.t5.Default,s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],l=arguments.length>7&&void 0!==arguments[7]&&arguments[7],c=arguments.length>8?arguments[8]:void 0;return(e.isEmpty?this.createItem({data:t,operation:n.operation,entityData:e,fallbackProperties:i,itemPosition:r,doNotRefreshItem:l,additionalQueryParams:c}):this.updateItem({dataItem:e,data:t,operation:n?n.operation:null,fallbackProperties:i,dataFieldNames:o,itemPosition:r,skipUpdate:s,doNotRefreshItem:l,additionalQueryParams:c})).pipe((0,ra.b)((function(){a.notifyItemChange(e.key,e,n?n.name:null)})))}},{key:"saveItem",value:function saveItem(e,t,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Ci.t5.Default;return this.saveItemWithOperationResult(e,t,n,i,o,a).pipe((0,w.U)((function(e){return e.dataItem})))}},{key:"unlockItem",value:function unlockItem(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.dynamicItemService.unlockItem(e,n);return i.subscribe((function(e){t.refreshItem(e)}),(function(n){n instanceof $o.d&&t.deleteItemFromMemory(e.key,e)})),i}},{key:"loadItems",value:function loadItems(e){var t=this,n=this.getState(e.entityData),i=n.getValue();e.order=e.order||fa,e.take=e.take||Ci.$d,e.skip=e.skip||0;var o=this.getItemList(e),a={dataItems:i.dataItems,loadingItemsCount:e.take,query:e.query,skip:e.skip,take:e.take,order:e.order,action:e.action,totalCount:i.totalCount};0===e.skip&&(a.dataItems=[]),n.next(a),o.subscribe((function(i){n.itemsCount=i.totalCount;var o=n.getValue(),a=o.dataItems,r=i.dataItems;0!==e.skip&&(r=a.concat(r)),n.next(t.getNewState(r,i.totalCount,o))}),(function(n){t.logger.error({message:"An error was encountered retrieving dynamic items of type: '".concat(e.entityData.metadata.setName,"'"),code:"loadItems"})}))}},{key:"getItemChanges",value:function getItemChanges(){return this.itemChanges$}},{key:"notifyItemChange",value:function notifyItemChange(e,t,n){this.itemChanges$.next({key:e,entityData:t,action:n})}},{key:"deleteItemFromMemory",value:function deleteItemFromMemory(e,t){var n,i,o=this,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ci.t5.Default,s=this.getState(t),l=s.getValue(),c=l.dataItems,d=[],u=[];if(c.forEach((function(t,o){t.key===e?(i=o,n=t,u=t.data[h.E.AvailableLanguages]):d.push(t)})),u.length>1&&!a){var f={keys:[n.key],entityData:t,fallbackProperties:[t.metadata.defaultFieldName],keyProperty:t.metadata.key};this.dynamicItemService.getItemsByKeys(f).pipe((0,Kn.x)((function(){s.next(o.getNewState(d,s.itemsCount,l))}))).subscribe((function(e){var n=e.dataItems;n&&n.length&&(r===Ci.t5.Default&&(r=o.getItemPosition(l)),r===Ci.t5.Bottom&&l.totalCount>d.length+1?o.reloadState(l,t):o.insertItem(n[0],d,r,i))}))}else s.itemsCount-=1,s.next(this.getNewState(d,s.itemsCount,l))}},{key:"createItem",value:function createItem(e){var t=this,n=this.dynamicItemService.createItemWithOperationResult(e);return n.subscribe((function(n){var i=t.getState(e.entityData);i.itemsCount+=1;var o=i.getValue(),a=o.dataItems;t.insertItem(n.dataItem,a,e.itemPosition);var r=a.length>Ci.$d,s=(a.length-1)%Ci.$d==0;r&&s&&a.pop(),t.childrenCountStore.invalidateCachedChidrenCountByChildItem(n.dataItem),i.next(t.getNewState(a,i.itemsCount,o))}),(function(e){})),n}},{key:"insertItem",value:function insertItem(e,t,n,i){n===Ci.t5.Current&&i>=0?t.splice(i,0,e):n===Ci.t5.Bottom?t.push(e):t.unshift(e)}},{key:"updateItem",value:function updateItem(e){var t=this,n=this.dynamicItemService.updateItemWithOperationResult(e);return n.subscribe((function(n){t.refreshItem(n.dataItem,e.itemPosition)}),(function(n){n instanceof $o.d&&t.deleteItemFromMemory(e.dataItem.key,e.dataItem)})),n}},{key:"refreshItem",value:function refreshItem(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ci.t5.Default,n=this.getState(e),i=this.getState(e).getValue(),o=i.dataItems,a=o.findIndex((function(t){return t.key===e.key}));if(e instanceof ee.$F)return this.refreshHierarchicalItem(e,n);-1!==a&&(t===Ci.t5.Default&&(t=this.getItemPosition(i)),t===Ci.t5.Current?o[a]=e:(o.splice(a,1),t===Ci.t5.Top?o.unshift(e):t===Ci.t5.Bottom?i.totalCount>o.length+1?this.reloadState(i,e):o.push(e):o.unshift(e)),n.next(this.getNewState(o,i.totalCount,i)))}},{key:"refreshHierarchicalItem",value:function refreshHierarchicalItem(e,t){var n,i=t.getValue(),o=(0,Qn.Z)(i.dataItems);try{for(o.s();!(n=o.n()).done;){var a=n.value;this.findAndReplaceHierarchicalItem(a,e,i.dataItems)}}catch(e){o.e(e)}finally{o.f()}t.next(i)}},{key:"findAndReplaceHierarchicalItem",value:function findAndReplaceHierarchicalItem(e,t,n){if(e.key!==t.key){if(e instanceof ee.$F&&e.children&&e.children.length){var i,o=(0,Qn.Z)(e.children);try{for(o.s();!(i=o.n()).done;){var a=i.value;this.findAndReplaceHierarchicalItem(a,t,e.children)}}catch(e){o.e(e)}finally{o.f()}}}else{var r=n.findIndex((function(e){return e.key===t.key}));n.splice(r,1,t)}}},{key:"reloadState",value:function reloadState(e,t){this.loadItems({entityData:t,fallbackProperties:[t.metadata.defaultFieldName],action:e.action,query:e.query,skip:0,take:e.take,order:e.order})}},{key:"getItemPosition",value:function getItemPosition(e){return e.order===fa?Ci.t5.Top:"LastModified asc"===e.order?Ci.t5.Bottom:Ci.t5.Current}},{key:"getNewState",value:function getNewState(e,t,n){return{dataItems:e,totalCount:t||0,query:n.query,order:n.order,skip:n.skip,take:n.take,action:n.action}}},{key:"getState",value:function getState(e){var t="default";return this.stateCache.has(t)||this.stateCache.set(t,new la),this.stateCache.get(t)}}]),DynamicItemStore}();ga.ctorParameters=function(){return[{type:c.Y},{type:Ci.dg},{type:sa}]},ga=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[c.Y,Ci.dg,sa])],ga),function(e){e[e.Custom=0]="Custom",e[e.Search=1]="Search",e[e.SingleProperty=2]="SingleProperty"}(ma||(ma={}));var ha,va,ba=function(){function ChangeTemplateComponent(e){(0,i.Z)(this,ChangeTemplateComponent),this.dynamicItemStore=e,this.selectedPagesIds=[]}return(0,o.Z)(ChangeTemplateComponent,[{key:"showTemplateCounter",value:function showTemplateCounter(e){return!("00000000-0000-0000-0000-000000000000"===e.Id&&!e.Name)}},{key:"ngOnInit",value:function ngOnInit(){var e=this.entityData.metadata.setName===u.gl.PAGES;this.changeMode=this.determineChangeMode(),this.viewModel={Title:this.changeMode===ha.Create?"Select a ".concat(e?"":"base ","template"):"Change ".concat(e?"page":"base"," template"),ShowNotification:this.changeMode!==ha.Create,NotificationMessage:e?"Changing the template may break the layout of the page.":"Changing the base template may break the layout of this template and pages using it",ShowCounter:this.changeMode===ha.Bulk,ShowItemTitle:this.changeMode===ha.Single},this.loadTemplates()}},{key:"setCloseModalCallback",value:function setCloseModalCallback(e){this._closeModalCallback=e}},{key:"onTemplateSelection",value:function onTemplateSelection(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.onTemplateSelectionCallback(e,this.changeMode,t),this._closeModalCallback({templateId:e,changeMode:this.changeMode,templateName:t})}},{key:"loadTemplates",value:function loadTemplates(){var e=this,t=this.selectedPagesIds.map((function(e){return"'".concat(e.toString(),"'")})).join(", ");this.templateCategories=this.dynamicItemStore.getItemList({action:"Default.GetPageTemplates(selectedPages=[".concat(t,"])"),entityData:this.entityData,dataFieldNames:[]}).pipe((0,w.U)((function(t){var n=t.dataItems,i=n.length>0?n.map((function(e){return e.data})):[];return e.handleSpecialCategories(i),i})))}},{key:"handleSpecialCategories",value:function handleSpecialCategories(e){e.length>0&&(e[0].Type===va.CurrentlyUsed||1===e[0].Type)&&(e[0].Templates[0].isSelected=!0)}},{key:"determineChangeMode",value:function determineChangeMode(){switch(this.selectedPagesIds.length){case 0:return ha.Create;case 1:return ha.Single;default:return ha.Bulk}}}]),ChangeTemplateComponent}();ba.ctorParameters=function(){return[{type:ga}]},ba.propDecorators={entityData:[{type:l.IIB}],selectedPagesIds:[{type:l.IIB}],onTemplateSelectionCallback:[{type:l.IIB}]},ba=(0,a.gn)([(0,l.wA2)({template:aa}),(0,a.w6)("design:paramtypes",[ga])],ba),function(e){e.Single="single",e.Bulk="bulk",e.Create="create"}(ha||(ha={})),function(e){e.CurrentlyUsed="CurrentlyUsed"}(va||(va={}));var ya={SUCCESS:"success",ERROR:"error",WARNING:"warning"},Ea="empty-filter",Ia="all-filters",wa=Object.freeze({1:ya.SUCCESS,2:ya.ERROR,3:ya.WARNING}),ka=n(106),xa=n(299),Ca="item-selection-changed",Sa="child-navigate",Ba="create-child",Da="change-culture",Ta="item-action-button-clicked",Ma="sort-expression-changed",Na="load-more-children",Fa="close",Pa="refresh",Ra="removeItem",Qa=function(){function BasicNotificationComponent(e){(0,i.Z)(this,BasicNotificationComponent),this.service=e,this.onCommand=new l.vpe}return(0,o.Z)(BasicNotificationComponent,[{key:"executeAction",value:function executeAction(){var e=this;this.isExecutingAction=!0,this.service.executeOperation(this.dataItem,this.operation.Name).subscribe((function(){e.onCommand.emit(Pa),e.onCommand.emit(Fa),e.isExecutingAction=!1}))}}]),BasicNotificationComponent}();Qa.ctorParameters=function(){return[{type:Ci.dg}]},Qa.propDecorators={message:[{type:l.IIB}],operation:[{type:l.IIB}],dataItem:[{type:l.IIB}],onCommand:[{type:l.r_U}]},Qa=(0,a.gn)([(0,l.wA2)({template:xa}),(0,a.w6)("design:paramtypes",[Ci.dg])],Qa);var Ua=new l.OlP("NotificationService"),La=function(){function NotificationService(e){(0,i.Z)(this,NotificationService),this.windowProvider=e,this.notificationMap=new Map,this.notificationHandlesMap=new Map,this.notification$=new re.t(1),this.notificationClose$=new re.t(1)}return(0,o.Z)(NotificationService,[{key:"getNotification",value:function getNotification(){return this.notification$.asObservable()}},{key:"getCloseNotification",value:function getCloseNotification(){return this.notificationClose$.asObservable()}},{key:"publishNotificationFromOperationResult",value:function publishNotificationFromOperationResult(e,t){var n;e.notificationData?n=e.notificationData:e.operationResult&&e.operationResult.Message&&void 0===(n={type:Qa,duration:g.Jd,filterParam:t,properties:{message:e.operationResult.Message,operation:e.operationResult.UndoOperation,dataItem:e.dataItem},look:wa[e.operationResult.Type]}).look&&e.operationResult.Success&&(n.look=ya.SUCCESS),n&&this.publishNotification(n)}},{key:"publishNotification",value:function publishNotification(e){if(e){void 0===e.removePreviousView&&(e.removePreviousView=!0),void 0===e.updatePropertiesOnChange&&(e.updatePropertiesOnChange=!0);var t=this.getNotificationFilter(e);this.closeNotificationByFilter(t),this.notificationMap.set(t,e),e.duration&&e.duration>0&&this.setTimeout(e),this.notification$.next(e)}}},{key:"publishBasicNotification",value:function publishBasicNotification(e){var t={id:e.id||"notification",type:Qa,properties:{message:e.message},look:e.look,duration:e.duration,closeButton:e.closeButton,filterParam:e.filterParam,removePreviousView:!0,updatePropertiesOnChange:!0};void 0===t.duration&&(t.duration=g.Jd),void 0===t.closeButton&&(t.closeButton=!0),this.publishNotification(t)}},{key:"publishInfiniteError",value:function publishInfiniteError(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.publishBasicNotification({message:e,look:ya.ERROR,duration:g.De,filterParam:t})}},{key:"catchErrorAndShowNotification",value:function catchErrorAndShowNotification(e){var t=this;return(0,Zi.K)((function(n){return t.publishBasicNotification({message:n.message,look:ya.ERROR,filterParam:e}),ka.E}))}},{key:"closeMultiple",value:function closeMultiple(e){var t=this;e.forEach((function(e){t.closeNotificationByFilter(e)}))}},{key:"close",value:function close(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ia;if(e===Ia)for(var t=this.notificationMap.keys();;){var n=t.next();if(n.done)break;this.closeNotificationByFilter(n.value)}else this.closeNotificationByFilter(e)}},{key:"closeNotificationByFilter",value:function closeNotificationByFilter(e){var t=this.notificationMap.get(e||Ea);t&&this.closeSpecificNotification(t)}},{key:"closeSpecificNotification",value:function closeSpecificNotification(e){this.notificationClose$.next(e),this.notificationMap.delete(this.getNotificationFilter(e));var t=this.notificationHandlesMap.get(this.getNotificationFilter(e));this.windowProvider.clearTimeout(t),this.notificationHandlesMap.delete(this.getNotificationFilter(e)),this.notification$.next(null)}},{key:"setTimeout",value:function setTimeout(e){var t=this,n=this.windowProvider.setTimeout((function(){t.close(t.getNotificationFilter(e))}),e.duration);this.notificationHandlesMap.set(this.getNotificationFilter(e),n)}},{key:"getNotificationFilter",value:function getNotificationFilter(e){return e.filterParam||Ea}}]),NotificationService}();La.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},La=(0,a.gn)([(0,l.GSi)({providedIn:"root"}),(0,a.w6)("design:paramtypes",[Window])],La);var Oa=n(300),za=n(301),_a=n(302),Va=function(e){(0,f.Z)(ItemListSettings,e);var t=(0,p.Z)(ItemListSettings);function ItemListSettings(){var e;return(0,i.Z)(this,ItemListSettings),(e=t.apply(this,arguments)).showTitle=!0,e}return(0,o.Z)(ItemListSettings)}(j.P1),Ga=function(e){(0,f.Z)(ItemListComponent,e);var t=(0,p.Z)(ItemListComponent);function ItemListComponent(e){var n;return(0,i.Z)(this,ItemListComponent),(n=t.call(this)).dynamicItemService=e,n.dataItemsIds=[],n.shouldFetchItems=!0,n.showTitle=!0,n.dataItems$=new re.t(1),n.dataItems=[],n.treeConfig={status:!0,noSelection:!0,description:!0,treeProperties:{displayField:"Title"}},n}return(0,o.Z)(ItemListComponent,[{key:"ngOnInit",value:function ngOnInit(){if(this.configurePropertiesFromSettings(),this.entityData&&(this.displayField=this.entityData.metadata.defaultFieldName,this.treeConfig.treeProperties.displayField=this.displayField),this.dataItems.length&&(this.dataItems$.next({dataItems:this.dataItems,isLoading:!1}),this.shouldFetchItems=!1),this.shouldFetchItems){var e=this.dataItemsIds.slice(0,50),t=this.loadDataItems(e);this.registerSubscription(t)}}},{key:"writeValue",value:function writeValue(e){if(Array.isArray(e)){var t=e.map((function(e){return(0,d.kI)(e.data)}));this.dataItems$.next({dataItems:t,isLoading:!1}),this.entityData=e[0],this.shouldFetchItems=!1}(0,Re.Z)((0,Qe.Z)(ItemListComponent.prototype),"writeValue",this).call(this,e)}},{key:"onRemoveNode",value:function onRemoveNode(e){var t=this.getValue().filter((function(t){return t.data.Id!==e.data.Id}));this.writeValue(t)}},{key:"requestMoreItems",value:function requestMoreItems(){if(!(this.dataItems.length>=this.dataItemsIds.length)){var e=this.dataItems.length;this.loadItems(e)}}},{key:"loadItems",value:function loadItems(e){var t=this.dataItemsIds.slice(e,e+50),n=this.loadDataItems(t);this.registerSubscription(n)}},{key:"configurePropertiesFromSettings",value:function configurePropertiesFromSettings(){var e=this.settings;e&&(this.treeConfig.deletion=e.showRemoveButton,this.showTitle=e.showTitle,this.treeConfig.status=e.showStatus)}},{key:"loadDataItems",value:function loadDataItems(e){var t=this,n=new E.qp(new E.JP);return this.dynamicItemService.getItemsByKeys({entityData:this.entityData,fallbackProperties:[this.entityData.metadata.defaultFieldName],keyProperty:this.entityData.metadata.key,keys:e}).pipe((0,Cn._)(),Dn(g.oN)).subscribe((function(e){if(e){if(e.content){var i=e.content.dataItems.map((function(e){var i=t.entityData.metadata.isSelfReferencing&&e.data&&e.data.Breadcrumb?n.transform(e.data.Breadcrumb,!1,!0):e.metadata.singularName,o=(0,d.kI)(e.data);return o.description=i,o.isTranslated=e.isTranslated,o}));t.dataItems=t.dataItems.concat(i)}t.dataItems$.next({dataItems:t.dataItems,isLoading:e.isLoading})}}))}}]),ItemListComponent}(Z.F);Ga.ctorParameters=function(){return[{type:Ci.dg}]},Ga.propDecorators={dataItemsIds:[{type:l.IIB}],entityData:[{type:l.IIB}],componentTitle:[{type:l.IIB}],componentSubtitle:[{type:l.IIB}],listAdditionalLook:[{type:l.IIB}]};var Ha={writeComponent:Ga=(0,a.gn)([(0,l.wA2)({selector:"sf-item-list",template:_a}),(0,a.w6)("design:paramtypes",[Ci.dg])],Ga),readComponent:Ga,settingsType:Va},Za=function(){function BulkOperationsNotificationComponent(e,t){(0,i.Z)(this,BulkOperationsNotificationComponent),this.modalService=e,this.route=t}return(0,o.Z)(BulkOperationsNotificationComponent,[{key:"ngOnInit",value:function ngOnInit(){this.operationNamePastTense=(0,d.xi)(this.operationName),this.operationPartiallySucceeded=this.succeededItemsIds&&this.succeededItemsIds.length>0&&this.failedItemsIds&&this.failedItemsIds.length>0,this.operationFailed=!this.operationPartiallySucceeded&&this.failedItemsIds&&this.failedItemsIds.length>0,this.operationSucceeded=!this.operationPartiallySucceeded&&this.succeededItemsIds&&this.succeededItemsIds.length>0,this.failedItemsComponentTitle="Items failed to ".concat(this.operationName.toLowerCase())}},{key:"onFailedItemsClick",value:function onFailedItemsClick(){var e={type:Ga,properties:{dataItemsIds:this.failedItemsIds,entityData:this.entityData,componentTitle:this.failedItemsComponentTitle,listAdditionalLook:"sf-mt-2xl"}},t=new ki.np(e,null,[],null,"-bottom");this.modalService.setMapping(t),this.modalService.open(this.route)}}]),BulkOperationsNotificationComponent}();Za.ctorParameters=function(){return[{type:ki.bL},{type:m.gz}]},Za.propDecorators={failedItemsIds:[{type:l.IIB}],succeededItemsIds:[{type:l.IIB}],entityData:[{type:l.IIB}],operationName:[{type:l.IIB}]};var Ya=function(e){(0,f.Z)(BulkChangeTemplateNotificationComponent,e);var t=(0,p.Z)(BulkChangeTemplateNotificationComponent);function BulkChangeTemplateNotificationComponent(){return(0,i.Z)(this,BulkChangeTemplateNotificationComponent),t.apply(this,arguments)}return(0,o.Z)(BulkChangeTemplateNotificationComponent,[{key:"ngOnInit",value:function ngOnInit(){if((0,Re.Z)((0,Qe.Z)(BulkChangeTemplateNotificationComponent.prototype),"ngOnInit",this).call(this),this.operationFailed||this.operationPartiallySucceeded){var e=this.message.split(v.WP.INTERVAL);this.failedItemsMessage=e.splice(-2).join(v.WP.INTERVAL),this.message=e.join(v.WP.INTERVAL),this.failedItemsComponentTitle="Pages failed to change template"}}}]),BulkChangeTemplateNotificationComponent}(Za=(0,a.gn)([(0,l.wA2)({selector:"sf-bulk-operations-notification",template:za}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz])],Za));Ya.propDecorators={message:[{type:l.IIB}]},Ya=(0,a.gn)([(0,l.wA2)({selector:"sf-bulk-change-template-notification",template:Oa})],Ya);var ja=function(){function ChangeTemplateCommand(e,t,n){(0,i.Z)(this,ChangeTemplateCommand),this.modalWindowService=e,this.dynamicItemStore=t,this.notificationService=n,this.executeOnceInBulk=!0}return(0,o.Z)(ChangeTemplateCommand,[{key:"execute",value:function execute(e){var t=this,n=new re.t(1),i=this.getChangeTemplateComponentData(e,n),o=new ki.np(i,(function(i){i.type===ki.EZ.CloseClicked?n.next({success:!1,reload:!1}):i.type===ki.EZ.DoneCalled&&i.data.changeMode===ha.Create&&(e.data.onTemplateSelection(i.data.templateId,i.data.templateName),n.next({success:!0,reload:!0}),t.modalWindowService.hide(e.currentRoute,!0))}));return this.modalWindowService.setMapping(o),this.modalWindowService.show(ki.yD,e.currentRoute.parent),n.pipe((0,kn.P)())}},{key:"getNotification",value:function getNotification(e,t,n){var i=e&&e.length>0&&t&&t.length>0,o=!i&&t&&t.length>0,a=!i&&e&&e.length>0,r={type:Ya,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:n.action.name.toLowerCase(),message:this.resultMessage},id:"bulkChangeTemplateNotification",look:ya.SUCCESS};return a?(r.look=ya.SUCCESS,r.duration=5e3):o?(r.look=ya.ERROR,r.closeButton=!0):i&&(r.look=ya.WARNING,r.closeButton=!0),r}},{key:"getChangeTemplateComponentData",value:function getChangeTemplateComponentData(e,t){var n=this;return{type:ba,properties:{selectedPagesIds:e.data.selectedItems.map((function(e){return e.key})),entityData:e.data.entityData,onTemplateSelectionCallback:function onTemplateSelectionCallback(i,o,a){return n.handleSelectedTemplate(i,a,o,e,t)}}}}},{key:"handleSelectedTemplate",value:function handleSelectedTemplate(e,t,n,i,o){var a=this,r={templateId:e,selectedPages:i.data.selectedItems.map((function(e){return e.key})),templateName:t};n!==ha.Create&&this.dynamicItemStore.executeEntityOperation(i.data.entityData,"Default.ChangePageTemplate",r).subscribe((function(e){a.resultMessage=e.Message;var t={success:!0,failedItemsIds:e.FailedItemsIds,succeededItemsIds:e.SucceededItemsIds,failedItemsErrors:{},reload:!0};o.next(t),n===ha.Single&&a.notificationService.publishBasicNotification({message:e.Message,look:ya[e.Type.toUpperCase()]})}))}}]),ChangeTemplateCommand}();ja.ctorParameters=function(){return[{type:ki.bL},{type:ga},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]};var Wa=n(303),Ja=n(276),qa=n(304),Xa=new l.OlP("hierarchical_service"),Ka="Title",$a="ParentId",er="Id",tr="LastModified",nr=(0,o.Z)((function HierarchicalService(e){(0,i.Z)(this,HierarchicalService),this.dynamicItemService=e}));nr.ctorParameters=function(){return[{type:Ci.dg}]},nr=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg])],nr);var ir=n(190),or="pages",ar=function(e){(0,f.Z)(HierarchicalPagesService,e);var t=(0,p.Z)(HierarchicalPagesService);function HierarchicalPagesService(){return(0,i.Z)(this,HierarchicalPagesService),t.apply(this,arguments)}return(0,o.Z)(HierarchicalPagesService,[{key:"showStatusIcons",value:function showStatusIcons(){return!0}},{key:"isHierarchical",value:function isHierarchical(e){return!0}},{key:"getSetName",value:function getSetName(){return or}},{key:"isTypeSupported",value:function isTypeSupported(e){return"Page"===e.metadata.singularName}},{key:"getName",value:function getName(e,t){return(0,r.of)({entityData:e,totalCount:0,dataItems:[]})}},{key:"getItemTaxa",value:function getItemTaxa(e,t,n){var i=(0,ir.r)().where().and().or();return e&&e.forEach((function(e){return i=i.eq(er,e)})),i=i.done().done().done(),this.dynamicItemService.getItemListBatch({entityData:t,take:e?e.length:null,fallbackProperties:[t.metadata.defaultFieldName],query:i,siteId:this.siteId})}},{key:"getRecent",value:function getRecent(e,t,n){var i=t.id||v.WP.DEFAULT_GUID;return this.dynamicItemService.getItemList({entityData:e,action:"".concat(i,"/Default.GetAvailableParentPages(parentId='").concat(v.WP.DEFAULT_GUID,"',search='',recent=",!0,",excludeOptions=2)"),fallbackProperties:[e.metadata.defaultFieldName],take:5,siteId:this.siteId})}},{key:"expandChildren",value:function expandChildren(e,t,n){var i=e.excludeLevel||2,o=e.skip||0,a=n||v.WP.DEFAULT_GUID;return this.dynamicItemService.getItemList({entityData:t,action:"".concat(a,"/Default.GetAvailableParentPages(parentId='").concat(e.parentId,"',search='',recent=",!1,",excludeOptions=").concat(i,")?$skip=").concat(o),fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId})}},{key:"loadMore",value:function loadMore(e,t,n){var i=e.searchText||v.WP.EMPTY_STRING,o=e.skip||0,a=e.excludeLevel||2,r=e.parentId||v.WP.DEFAULT_GUID;return this.dynamicItemService.getItemList({entityData:t,action:"".concat(r,"/Default.GetAvailableParentPages(parentId='").concat(v.WP.DEFAULT_GUID,"',search='").concat(i,"',recent=",!1,",excludeOptions=").concat(a,")?$skip=").concat(o),fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId})}},{key:"getModalItems",value:function getModalItems(e,t){var n=t||v.WP.DEFAULT_GUID;return this.dynamicItemService.getItemsByKeys({entityData:e,action:"".concat(n,"/Default.GetAvailableParentPages(parentId='").concat(v.WP.DEFAULT_GUID,"',search='',recent=",!1,",excludeOptions=2)"),fallbackProperties:[e.metadata.defaultFieldName],keys:[],keyProperty:null,siteId:this.siteId})}},{key:"getSearchedItems",value:function getSearchedItems(e,t){var n=e.excludeLevel||2,i=e.taxaId||v.WP.DEFAULT_GUID;return this.dynamicItemService.getItemsByKeys({entityData:t.entityData,action:"".concat(i,"/Default.GetAvailableParentPages(parentId='").concat(v.WP.DEFAULT_GUID,"',search='").concat(e.searchText,"',recent=",!1,",excludeOptions=").concat(n,")"),fallbackProperties:[t.entityData.metadata.defaultFieldName],take:t.take,skip:t.skip,keys:[],keyProperty:null,siteId:this.siteId})}}]),HierarchicalPagesService}(nr);ar=(0,a.gn)([(0,l.GSi)()],ar);var rr={multi:!0,provide:Xa,useClass:ar},sr=n(305),lr=n(229),cr=n(198),dr="selectedUrl",ur="shouldOpenInNewWindow",fr="URL",pr="Open this link in a new window",Ar="invalidURL",mr=function(){function WebAddressComponent(e){var t,n;(0,i.Z)(this,WebAddressComponent),this.fieldsProvider=e,this.fieldChange=new l.vpe,this.selectedUrl=v.WP.EMPTY_STRING,this.shouldOpenInNewWindow=!1,this.entity={properties:(n={},(0,Ae.Z)(n,dr,(t={},(0,Ae.Z)(t,Ie.yH,"Example: http://weather.com"),(0,Ae.Z)(t,cr.IK,"http://"),(0,Ae.Z)(t,Ie.uX,v.SV.VALID_URL_PATTERN_MANDATORY_PROTOCOL),t)),(0,Ae.Z)(n,ur,{}),n)}}return(0,o.Z)(WebAddressComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.initBaseFieldsSection();this.fieldsSections=[e]}},{key:"onFieldChange",value:function onFieldChange(e){e.key===dr?this.selectedUrl=e.value:e.key===ur&&(this.shouldOpenInNewWindow=e.value),this.webAdressFields.valid()||(e.value=Ar),this.fieldChange.emit(e)}},{key:"initBaseFieldsSection",value:function initBaseFieldsSection(){var e=this.getBaseFields(),t={isMain:!0,isExpanded:!1,insertHorizontalRule:!0,title:v.WP.EMPTY_STRING,name:"webAddressFieldsSection"},n=new Wo.h(t);return n.fields=e,n}},{key:"getBaseFields",value:function getBaseFields(){return this.selectedUrlModel=this.createField(Y.U.shortText,Lo,dr,this.selectedUrl,this.entity,fr),this.shouldOpenInNewWindowModel=this.createField(Y.U.choiceYesNo,Lo,ur,this.shouldOpenInNewWindow,this.entity,pr),this.shouldOpenInNewWindowModel.settings.showTitle=!1,[this.selectedUrlModel,this.shouldOpenInNewWindowModel]}},{key:"createField",value:function createField(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=arguments.length>5?arguments[5]:void 0;return(0,h.ax)(this.fieldsProvider,t,e,n,i,o,a)}}]),WebAddressComponent}();mr.ctorParameters=function(){return[{type:lr.H}]},mr.propDecorators={webAdressFields:[{type:l.i9L,args:["webAdressFields",{static:!0}]}],fieldChange:[{type:l.r_U}],selectedUrl:[{type:l.IIB}],shouldOpenInNewWindow:[{type:l.IIB}]},mr=(0,a.gn)([(0,l.wA2)({selector:"sf-web-address",template:sr}),(0,a.w6)("design:paramtypes",[lr.H])],mr);var gr="webaddress",hr="Web address",vr=function(){function PageSelectorComponent(e,t){(0,i.Z)(this,PageSelectorComponent),this.route=e,this.hierarchicalPagesService=t,this.selected=[],this.selectedUrl=v.WP.EMPTY_STRING,this.shouldOpenInNewWindow=!1,this.overrideSelectorConfig=!1,this.selectorConfig=null,this.selectedTab=v.WP.EMPTY_STRING,this.shouldSelectHomePage=!1,this.expandPathPair={key:"Breadcrumb",value:"Title"},this.parentId=v.WP.DEFAULT_GUID,this.items=[],this.itemId=v.WP.DEFAULT_GUID}return(0,o.Z)(PageSelectorComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initialize()}},{key:"initialTab",get:function get(){return this.selectedUrl&&this.selectedUrl!==Ar?gr:null}},{key:"webAddressChange",value:function webAddressChange(e){"selectedUrl"===e.key?this.selectedUrl=e.value:"shouldOpenInNewWindow"===e.key&&(this.shouldOpenInNewWindow=e.value)}},{key:"tabChange",value:function tabChange(e){this.selectedTab=e}},{key:"canCloseCallback",value:function canCloseCallback(e){return!e.data||!e.data.data||(this.selectedTab!==hr||this.selectedUrl!==Ar)}},{key:"initialize",value:function initialize(){var e=this;this.treeConfig={multiSelection:!1,isHierarchical:!0,status:!0},this.entityData=this.getEntityData(u.gl.PAGES),this.defaultFieldName=this.entityData.metadata.defaultFieldName,this.getItems(),this.names={plural:this.entityData.metadata.displayName.toLowerCase(),singular:this.entityData.metadata.singularName.toLowerCase()},this.serviceAware=new ti((function(t){return e.loadMore(t)}),(function(t){return e.expandChildren(t)})),this.selectedUrl&&this.selectedUrl!==Ar&&(this.selectedTab=hr),this.overrideSelectorConfig&&(this.selectorConfig={selectionText:"Select page to redirect to",formattedTypeName:v.WP.EMPTY_STRING,mainTabConfig:{title:"Pages from this site"},customTabConfig:{name:gr,title:hr,componentData:{type:mr,properties:{selectedUrl:this.selectedUrl,shouldOpenInNewWindow:this.shouldOpenInNewWindow},afterComponentInit:function afterComponentInit(t){t.fieldChange.subscribe((function(t){e.webAddressChange(t)}))}}}})}},{key:"getItems",value:function getItems(){var e=this;this.isLoading=!0,this.hierarchicalPagesService.getModalItems(this.entityData,this.itemId).subscribe((function(t){e.totalCount=t.totalCount,e.items=t.dataItems.map((function(t){return e.addFieldsToDataItem(t)})),e.isLoading=!1}))}},{key:"getEntityData",value:function getEntityData(e){var t=this.route.parent.snapshot.data.metaStore.entities[e];return{culture:this.culture,provider:void 0,metadata:t}}},{key:"expandChildren",value:function expandChildren(e){var t=this;return void 0===e.take&&(e.take=g.P$),e.excludeLevel=1,this.hierarchicalPagesService.expandChildren(e,this.entityData,this.itemId).pipe((0,w.U)((function(e){return{dataItems:e.dataItems.map((function(e){return t.addFieldsToDataItem(e)})),totalCount:e.totalCount}})))}},{key:"loadMore",value:function loadMore(e){var t=this;return e.excludeLevel=1,e.parentId=this.itemId,this.hierarchicalPagesService.loadMore(e,this.entityData,void 0).pipe((0,w.U)((function(e){return{dataItems:e.dataItems.map((function(e){return t.addFieldsToDataItem(e)})),totalCount:e.totalCount}})))}},{key:"addFieldsToDataItem",value:function addFieldsToDataItem(e){var t=(0,d.kI)(e.data);return t.hasChildren=t.HasChildren,t.isTranslated=e.isTranslated,this.shouldSelectHomePage&&t.IsHomePage&&(this.selected=[t]),this.parentId===t.Id&&(t.isSelectionDisabled=!0),t}}]),PageSelectorComponent}();vr.ctorParameters=function(){return[{type:m.gz},{type:ar}]},vr.propDecorators={culture:[{type:l.IIB}],selected:[{type:l.IIB}],formattedTypeName:[{type:l.IIB}],selectedUrl:[{type:l.IIB}],shouldOpenInNewWindow:[{type:l.IIB}],overrideSelectorConfig:[{type:l.IIB}]},vr=(0,a.gn)([(0,l.wA2)({selector:"sf-page-selector",template:qa}),(0,a.w6)("design:paramtypes",[m.gz,ar])],vr);var br="ShowInNavigation",yr="PageType",Er="RedirectPage",Ir="Marketing",wr="Standard",kr="Group",xr="Redirect",Cr="isGroup",Sr="isRedirect",Br=function(e){(0,f.Z)(NavigationOptionsCompositeComponent,e);var t=(0,p.Z)(NavigationOptionsCompositeComponent);function NavigationOptionsCompositeComponent(e,n,o){var a;return(0,i.Z)(this,NavigationOptionsCompositeComponent),(a=t.call(this)).modalService=e,a.route=n,a.dynamicItemService=o,a.form=new ze.cw({}),a.selectedRedirectPage=v.WP.EMPTY_STRING,a.isRedirectPageSelected=!1,a.errorMessages=[],a.selectedUrl=v.WP.EMPTY_STRING,a.shouldOpenInNewWindow=!1,a}return(0,o.Z)(NavigationOptionsCompositeComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(NavigationOptionsCompositeComponent.prototype),"ngOnInit",this).call(this),this.initialize(),this.initializeForm()}},{key:"writeValue",value:function writeValue(e){if(e){var t=(0,d.kI)(this.getValue());null!==t&&Object.keys(t).length||(t={});var n=Object.assign({},t,e);if(n.hasOwnProperty(Cr)){var i=n[Cr];i?(this.groupFieldData.value=!0,i=kr):(this.groupFieldData.value=!1,i=!0===this.redirectFieldData.value?xr:wr),n[yr]=i,delete n[Cr]}if(n.hasOwnProperty(Sr)){this.showPageSelector=n[Sr];var o=n[Sr];o?(this.redirectFieldData.value=!0,o=xr):(this.redirectFieldData.value=!1,this.selectedRedirectPage=v.WP.EMPTY_STRING,this.isRedirectPageSelected=!1,o=!0===this.groupFieldData.value?kr:wr),n[yr]=o,delete n[Sr]}(0,Re.Z)((0,Qe.Z)(NavigationOptionsCompositeComponent.prototype),"writeValue",this).call(this,n)}}},{key:"openPageSelection",value:function openPageSelection(){var e=this,t={type:vr,properties:{culture:this.settings.culture,selected:this.selectedItem?[this.selectedItem]:[],parentId:this.settings.itemId,selectedUrl:this.selectedUrl,shouldOpenInNewWindow:this.shouldOpenInNewWindow,overrideSelectorConfig:!0}},n=[new ki.pu(_e.DONE),new ki.Lw(_e.CANCEL)],i=new ki.np(t,(function(t){return e.onDone(t)}),n,null);this.modalService.setMapping(i),this.modalService.open(this.route)}},{key:"validate",value:function validate(){return!0===this.redirectFieldData.value&&this.selectedRedirectPage===v.WP.EMPTY_STRING?(this.errorMessages.push("Select a redirect page"),this.emitStatus({type:Yi.i.Error}),!1):(this.errorMessages.length=0,this.emitStatus({type:Yi.i.ErrorCleared}),!0)}},{key:"onDone",value:function onDone(e){if(e.data&&e.data.data){var t;e.component.selectedTab&&e.component.selectedTab===hr?e.component.selectedUrl&&(t={NodeId:v.WP.DEFAULT_GUID,OpenInNewWindow:e.component.shouldOpenInNewWindow,ProviderName:null,RedirectUrl:e.component.selectedUrl},this.selectedRedirectPage=e.component.selectedUrl,this.selectedUrl=e.component.selectedUrl,this.shouldOpenInNewWindow=e.component.shouldOpenInNewWindow,this.isRedirectPageSelected=!0,this.validate()):e.component.selected[0]&&(t={NodeId:e.component.selected[0].Id,OpenInNewWindow:!1,ProviderName:null,RedirectUrl:v.WP.EMPTY_STRING},this.selectedRedirectPage=e.component.selected[0].Title,this.selectedUrl=v.WP.EMPTY_STRING,this.shouldOpenInNewWindow=!1,this.isRedirectPageSelected=!0,this.validate());var n={RedirectPage:t};this.writeValue(n)}}},{key:"initializeForm",value:function initializeForm(){var e=this;Object.keys(this.settings.innerFields).forEach((function(t){var n=e.settings.innerFields[t];if(null!==n){var i=n.value,o=new ze.NI(i);if(e.form.setControl(n.key,o),t===yr){n.settings.tooltipModels=e.getTooltip("This page doesn't have content and redirects to the first subpage."),e.groupFieldData=new jo.W({key:Cr,settings:n.settings,selector:Y.U.choiceYesNo,registration:n.registration,value:i===kr});var a=new ze.NI(e.groupFieldData.value);e.form.setControl(e.groupFieldData.key,a)}if(t===Er){n.settings.tooltipModels=e.getTooltip("This page doesn't have content and redirects to another page in the website or to an external URL."),e.redirectFieldData=new jo.W({key:Sr,settings:n.settings,selector:Y.U.choiceYesNo,registration:n.registration,value:e.settings.innerFields[yr].value===xr});var r=new ze.NI(e.redirectFieldData.value);e.form.setControl(e.redirectFieldData.key,r),e.showPageSelector=e.redirectFieldData.value}}}))}},{key:"getTooltip",value:function getTooltip(e){var t={Type:E.ID.Text,Chunks:[{Value:e,Presentation:[]}]};return new Map([[E.Eu,[t]]])}},{key:"initialize",value:function initialize(){var e=this,t=this.settings.innerFields[Er].value;if(t&&(t.NodeId!==v.WP.DEFAULT_GUID||t.RedirectUrl!==v.WP.EMPTY_STRING)){var n=this.route.parent.snapshot.data.metaStore.entities.pages,i={culture:this.settings.culture,provider:void 0,metadata:n};t.NodeId!==v.WP.DEFAULT_GUID?this.dynamicItemService.getItem({itemKey:t.NodeId,entityData:i,fallbackProperties:[this.route.parent.snapshot.data.metaStore.entities.pages.defaultFieldName]}).subscribe((function(n){t.NodeId!==v.WP.DEFAULT_GUID&&(e.selectedRedirectPage=n.title,e.isRedirectPageSelected=e.selectedRedirectPage!==v.WP.EMPTY_STRING,e.selectedItem=n.data)})):t.RedirectUrl!==v.WP.EMPTY_STRING&&(this.selectedRedirectPage=t.RedirectUrl,this.isRedirectPageSelected=this.selectedRedirectPage!==v.WP.EMPTY_STRING,this.selectedUrl=t.RedirectUrl,this.shouldOpenInNewWindow=t.OpenInNewWindow)}}}]),NavigationOptionsCompositeComponent}(Z.F);Br.ctorParameters=function(){return[{type:ki.bL},{type:m.gz},{type:Ci.dg}]},Br.propDecorators={fields:[{type:l.vR,args:[Ja.l]}]},Br=(0,a.gn)([(0,l.wA2)({selector:"sf-navigation-options-composite-field",template:Wa}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz,Ci.dg])],Br);var Dr=n(212),Tr=function(){function BackendTweaksService(e,t){(0,i.Z)(this,BackendTweaksService),this.metadataStore=e,this.httpRequestWrapper=t}return(0,o.Z)(BackendTweaksService,[{key:"getGridTweaks",value:function getGridTweaks(e){return this.getServiceData({typeName:e,viewName:g.jc.LIST})}},{key:"getFormTweaks",value:function getFormTweaks(e,t,n,i,o,a){var r=this;return this.getServiceData({typeName:e,viewName:t,sf_item_id:n,sf_provider:i,sf_culture:o,sf_parent_id:a}).then((function(e){return r.loadFormData(e)}))}},{key:"getServiceData",value:function getServiceData(e){var t=this.metadataStore.getValue().entities[e.typeName];e.typeName=t.typeFullName;var n="sfui?";return n+=Object.keys(e).filter((function(t){return t&&e[t]})).map((function(t){return"".concat(t,"=").concat(e[t])})).join("&"),this.httpRequestWrapper.get(n)}},{key:"loadFormData",value:function loadFormData(e){return(e.value||[]).map((function(e){return Object.freeze({id:e.Id,isExpandedByDefault:e.IsExpandedByDefault,isSection:e.IsSection,name:e.Name,title:e.Title,renderChoicesAs:e.RenderChoicesAs,isHtml:e.IsHtml,maximumAllowedSize:e.MaximumAllowedSize,allowedFileExtensions:e.AllowedFileExtensions,acceptableMediaTypes:e.AcceptableMediaTypes,metadata:e.Metadata,tooltipModels:new Map(Object.entries(e.TooltipModels||{}))})}))}}]),BackendTweaksService}();Tr.ctorParameters=function(){return[{type:pe.EY},{type:Ri.q}]},Tr=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Ri.q])],Tr);var Mr=n(122),Nr=n(155),Fr=n(169),Pr=n(91),Rr=n(87),Qr=function(){function UserDataStore(e){(0,i.Z)(this,UserDataStore),this.http=e,this.userData=new he.X(null)}return(0,o.Z)(UserDataStore,[{key:"userId",get:function get(){var e=this.userData.getValue();return e?e.Id:null}},{key:"getValue",value:function getValue(){return this.userData.getValue()}},{key:"initialize",value:function initialize(){var e=this;return null!==this.userData.getValue()?this.userData.getValue():(this.http.get("users/current").then((function(t){e.userData.next(t.value),e.userData.complete()}),(function(e){return(0,qn._)(e)})),new wn.y((function(t){return e.userData.subscribe(t)})))}},{key:"getPreference",value:function getPreference(e){var t=this.getValue();if(!e||!t.Preferences)return null;var n=encodeURIComponent(e),i=t.Preferences[n];return i?decodeURIComponent(i):null}},{key:"setPreference",value:function setPreference(e,t){var n=this,i={key:encodeURIComponent(e),value:encodeURIComponent(t)};this.http.post$("userpreference",i).pipe((0,Bi.h)((function(e){return!e.isLoading})),(0,w.U)((function(e){return e.content}))).subscribe((function(e){n.getValue().Preferences=e}))}},{key:"deletePreference",value:function deletePreference(e){this.setPreference(e,null)}}]),UserDataStore}();Qr.ctorParameters=function(){return[{type:Ri.q}]},Qr=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ri.q])],Qr);var Ur=n(209),Lr=function(){function FilterService(e,t,n,o){(0,i.Z)(this,FilterService),this.sitefinitySdk=e,this.storageService=t,this.userStore=n,this.queryParamsExtenders=o}return(0,o.Z)(FilterService,[{key:"getFilters",value:function getFilters(e){var t=new re.t(1);return t.next({isLoading:!0,filters:null}),this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,Ur.B5)(e.metadata,null,this.queryParamsExtenders)}).get({action:"filters",successCb:function successCb(e){var n="Filters";e.hasOwnProperty(n)||(n="value");var i=e[n].map((function(e){var t=null;return e.Parameters&&(t={type:e.Parameters.Type,contentSingularName:e.Parameters.ContentSingularName,contentPluralName:e.Parameters.ContentPluralName}),{title:e.Title,name:e.Name,category:e.Category,parameters:t,count:e.Count,isDynamicFilter:e.IsDynamicFilter}}));t.next({isLoading:!1,filters:i})},failureCb:function failureCb(e){return t.error(e)}}),t.asObservable()}},{key:"getDynamicFilters",value:function getDynamicFilters(e,t){var n=new re.t(1);return t=t||v.WP.EMPTY_STRING,this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,Ur.B5)(e.metadata,null,this.queryParamsExtenders)}).get({action:g.aO.DYNAMIC_FILTERS(t),successCb:function successCb(e){var t=e.value.map((function(e){return{title:e.Title,name:e.Name,count:e.Count,category:e.Category}}));n.next(t)},failureCb:function failureCb(e){return n.error(e)}}),n.pipe((0,kn.P)())}},{key:"getFiltersByParameters",value:function getFiltersByParameters(e,t){return this.getFilters(e).pipe((0,w.U)((function(e){return e.filters&&e.filters.length&&(e.filters=e.filters.filter((function(e){return!!e.parameters===t}))),e})))}},{key:"getFilterValues",value:function getFilterValues(e,t,n){var i=new re.t(1),o=this.buildQuery(n),a=t;return n.keys&&n.keys.length&&(a="".concat(t).concat(g.k_.COMMA).concat(n.keys.join(g.k_.COMMA))),this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,Ur.B5)(e.metadata,null,this.queryParamsExtenders)}).get({query:o,action:g.aO.FILTER_VALUES(a),successCb:function successCb(e){var t=e.value.map((function(e){return{key:e.Key,userAvatar:e.ImageUrl,title:e.Title,description:e.Description}}));i.next({dataItems:t,totalCount:e["@odata.count"]})},failureCb:function failureCb(e){return i.error(e)}}),i.pipe((0,kn.P)())}},{key:"getFiltersCount",value:function getFiltersCount(e,t,n){var i=new re.t(1),o=(0,ir.r)(),a=g.aO.FILTERS_COUNT(t);if(n)if(y.xe.isMediaEntity(e)){var r=this.storageService.getItem(Rr.SA),s=this.userStore.userId;(0,d.Ek)(r,s)===d.wf.Timeline?a+="&recursiveLibraryId=".concat(n.value):o=o.where().or().and().eq(h.E.PARENT_ID,n.value).eq(h.E.FOLDER_ID,null).done().eq(h.E.FOLDER_ID,n.value).done().done()}else o=o.where().eq(n.key,n.value).done();return this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,Ur.B5)(e.metadata,null,this.queryParamsExtenders)}).get({query:o,action:a,successCb:function successCb(e){var t={count:e.value};i.next(t)},failureCb:function failureCb(e){return i.error(e)}}),i.pipe((0,Cn._)())}},{key:"buildQuery",value:function buildQuery(e){var t=(0,ir.r)();if(e){var n=e.skip;n&&n>0&&(t=t.skip(n));var i=e.take;i&&i>=0&&(t=t.take(i));var o=e.search;o&&(t=t.search(encodeURIComponent(o))),t=t.count()}return t}}]),FilterService}();Lr.ctorParameters=function(){return[{type:Pr.l},{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:Qr},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Ur.R5]}]}]},Lr=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Pr.l,Rr.V1,Qr,Array])],Lr);var Or="all-filters",zr="custom-filter",_r="predifined-filter",Vr=function(){function FilterStore(e,t,n){(0,i.Z)(this,FilterStore),this.service=e,this.filterService=t,this.metadataStore=n,this.cache=new Map,this.dynamicCache=new Map}return(0,o.Z)(FilterStore,[{key:"getAllFilters",value:function getAllFilters(e){var t=this.modifyEntityData(e);this.lastEntityData=t;var n=this.getCacheKey(t,Or);if(!this.cache.has(n)){var i=new re.t(1);this.cache.set(n,i.asObservable()),this.service.getFilters(t).subscribe((function(e){return i.next(e)}))}return this.cache.get(n)}},{key:"getPredefinedFilters",value:function getPredefinedFilters(e){var t=this.modifyEntityData(e);this.lastEntityData=t;var n=this.getCacheKey(t,_r);if(!this.cache.has(n)){var i=new re.t(1);this.cache.set(n,i.asObservable()),this.service.getFiltersByParameters(t,!1).subscribe((function(e){return i.next(e)}))}return this.cache.get(n)}},{key:"getCustomFilters",value:function getCustomFilters(e){var t=this.modifyEntityData(e);this.lastEntityData=t;var n=this.getCacheKey(t,zr);if(!this.cache.has(n)){var i=new re.t(1);this.cache.set(n,i.asObservable()),this.service.getFiltersByParameters(t,!0).subscribe((function(e){return i.next(e)}))}return this.cache.get(n)}},{key:"getDynamicFilters",value:function getDynamicFilters(e,t){var n=this.service.getDynamicFilters(e,t).pipe((0,w.U)((function(e){return e}))),i=this.getCacheKey(e,t);return this.dynamicCache.set(i,n),n}},{key:"getDynamicFiltersCache",value:function getDynamicFiltersCache(e,t){var n=this.getCacheKey(e,t);return this.dynamicCache.has(n)?this.dynamicCache.get(n):this.getDynamicFilters(e,t)}},{key:"getFilterValues",value:function getFilterValues(e,t,n){var i=this.modifyEntityData(e);return this.service.getFilterValues(i,t,n)}},{key:"getFiltersCount",value:function getFiltersCount(e,t,n){var i=this.modifyEntityData(e);return this.service.getFiltersCount(i,t,n)}},{key:"filterValid",value:function filterValid(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=this.modifyEntityData(e),a=new re.t(1);if(t&&this.stateChanged(o)){var s=this.getPredefinedFilters(o).pipe((0,Bi.h)((function(e){return!e.isLoading}))),l=this.getDynamicFiltersCache(e,i);(0,Nr.$R)(s,l).pipe((0,oa.zg)((function(e){var i=e[0].filters.concat(e[1]);return n.containsFilter(i,t)?(0,r.of)(!0):n.allCustomFilterValuesValid(o,t)})),(0,kn.P)()).subscribe((function(e){a.next(e)}),(function(e){a.next(!1)}))}else a.next(!0);return a.pipe((0,kn.P)())}},{key:"allCustomFilterValuesValid",value:function allCustomFilterValuesValid(e,t){var n=this,i=this.filterService.deserializeQueryParams(t);return(0,In.D)(i).pipe((0,Bi.h)((function(e){return"last-modified"!==e.key})),(0,oa.zg)((function(t){return n.getFilterValues(e,t.key,{keys:t.value}).pipe((0,w.U)((function(e){return e.dataItems.length===t.value.length})))})),(0,Fr.y)((function(e){return e})))}},{key:"containsFilter",value:function containsFilter(e,t){return!(!e||!e.length)&&e.some((function(e){return e.name===t}))}},{key:"stateChanged",value:function stateChanged(e){var stateChanged=!this.lastEntityData||e&&(this.lastEntityData.metadata.setName!==e.metadata.setName||this.lastEntityData.culture!==e.culture||this.lastEntityData.provider!==e.provider);return stateChanged}},{key:"getCacheKey",value:function getCacheKey(e,t){return"".concat(e.provider,"_").concat(e.culture,"_").concat(e.metadata.setName,"_").concat(t)}},{key:"modifyEntityData",value:function modifyEntityData(e){return y.xe.isAlbumEntity(e)||y.xe.isVideosLibraryEntity(e)?{metadata:this.metadataStore.getEntity(y.xe.getChildSetName(e)),culture:e.culture,provider:e.provider}:e}}]),FilterStore}();Vr.ctorParameters=function(){return[{type:Lr},{type:b.y},{type:pe.EY}]},Vr=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Lr,b.y,pe.EY])],Vr);var Gr,Hr=new l.OlP("item_hooks_token"),Zr={},Yr=function(){function CompositeItemHooksProvider(e){(0,i.Z)(this,CompositeItemHooksProvider),this.itemHooksProviders=e}return(0,o.Z)(CompositeItemHooksProvider,[{key:"onItemLoaded",value:function onItemLoaded(e){this.executeHooks(e,"onItemLoaded").pipe((0,kn.P)()).subscribe()}},{key:"executeObservableHook",value:function executeObservableHook(e,t,n){var i=this;return e.pipe((0,Xn.w)((function(e){var o=n?n(e):e;return i.executeHooks(o,t).pipe((0,w.U)((function(){return e})))})))}},{key:"executeHooks",value:function executeHooks(e,t){if(null===this.itemHooksProviders)return(0,r.of)(Zr);var n=this.itemHooksProviders.map((function(n){var i=n[t]&&n[t](e),o=new re.t;return i?i.pipe((0,kn.P)()).subscribe((function(){return o.next(Zr)})):o.next(Zr),o}));return(0,s.aj)(n)}}]),CompositeItemHooksProvider}();Yr.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Hr]}]}]},Yr=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],Yr);var jr=Gr=function(e){(0,f.Z)(DynamicItemResolver,e);var t=(0,p.Z)(DynamicItemResolver);function DynamicItemResolver(e,n,o,a,r,s,l,c){var d;return(0,i.Z)(this,DynamicItemResolver),(d=t.call(this,n,o,r,c)).service=e,d.windowProvider=a,d.filterStore=s,d.itemHooksProvider=l,d}return(0,o.Z)(DynamicItemResolver,[{key:"resolve",value:function resolve(e,t){var n=this,i=(0,Re.Z)((0,Qe.Z)(DynamicItemResolver.prototype),"resolve",this).call(this,e,t);if(!i)return(0,Mr.F)();var o=e.parent.queryParams[g.V5.FILTER],a=e.parent.params[g.UY.PARENT_ID_SEGMENT];return this.filterStore.filterValid(i,o,a).pipe((0,oa.zg)((function(o){if(o){var a=null,s=e.params[g.UY.ITEM_ID],l=e.parent.queryParams[g.Tx.VERSION],c=Gr.getFallbackProperties(i,e);if(s){var d=null;l&&(d="version(id='".concat(l,"')"));var u=e.parent.queryParams[g.Tx.SEGMENT],f=null;u&&(f=(0,Ae.Z)({},g.Tx.SEGMENT,u)),a=n.service.getItem({itemKey:s,entityData:i,action:d,fallbackProperties:c,additionalQueryParams:f})}else a=(0,r.of)(ee.zw.emptyItem(i));return a.pipe((0,w.U)((function(e){var t={item:e,entityData:i,fallbackProperties:c};return n.itemHooksProvider.onItemLoaded(e),t})),(0,Zi.K)((function(e){return e instanceof $o.d&&(n.windowProvider.alert("The item you are trying to access does not exist"),n.router.navigate([So.CONTENT,i.metadata.setName])),(0,r.of)(null)})))}return n.clearFilter(e,t),(0,r.of)(null)})))}}],[{key:"getFallbackProperties",value:function getFallbackProperties(e,t){var n=e.metadata.relations,i=null!=t.parent&&null!=t.parent.data?t.parent.data[g.u0.metadata]:null,o=[];return i&&(o=n.map((function(e){var t=i.entities[e.setName].defaultFieldName;return"".concat(e.propName,".").concat(t)}))),o}}]),DynamicItemResolver}(Fo);function getSetNameFromRoute(e){var t=null;return e.snapshot&&e.snapshot.params&&(t=No.getSet(e.snapshot)),!t&&e.parent&&e.parent.snapshot&&e.parent.snapshot.params&&(t=No.getSet(e.parent.snapshot)),t}jr.ctorParameters=function(){return[{type:Ci.dg},{type:eo},{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Qt.Zr},{type:Vr},{type:Yr},{type:Qo}]},jr=Gr=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,eo,m.F0,Window,Qt.Zr,Vr,Yr,Qo])],jr);var Wr="Compare Translations",Jr=new l.OlP("edit_extender_token"),qr="cmp-translations",Xr="siblings",Kr=function(){function EditExtender(){(0,i.Z)(this,EditExtender)}return(0,o.Z)(EditExtender,[{key:"modify",value:function modify(e){return this.handleFewerFields(e),(0,r.of)(null)}},{key:"handleAction",value:function handleAction(e,t){return{handled:(0,r.of)(!1)}}},{key:"isSupportedType",value:function isSupportedType(e){return!1}},{key:"overrideNavigationMenuOptions",value:function overrideNavigationMenuOptions(e,t){}},{key:"getFormClasses",value:function getFormClasses(){return v.WP.EMPTY_STRING}},{key:"showHeader",value:function showHeader(e){return!1}},{key:"getSidebarButtons",value:function getSidebarButtons(e,t){return[{title:"Browse other ".concat(e.metadata.displayName.toLowerCase()),icon:"th-list",name:Xr,data:t.browse},{title:Wr,data:t.compareTranslations,name:qr,icon:null}]}},{key:"handleFewerFields",value:function handleFewerFields(e){var t=e.sections;e.viewName&&1===t.length&&t[0].fields.length<=3&&(t[0].fields[0].settings.look+=" "+g.Yu.MARGIN_BOTTOM_SHORT_FORM)}},{key:"includedProperties",value:function includedProperties(e){return[]}},{key:"excludedProperties",value:function excludedProperties(e){return[]}},{key:"hasCreateActionFromEdit",value:function hasCreateActionFromEdit(){return!1}},{key:"forceUpdateFieldModel",value:function forceUpdateFieldModel(e,t,n){return!1}},{key:"getStatusToDisplay",value:function getStatusToDisplay(e){return e.data.DisplayStatus.find((function(e){return e.Message.Description}))}}]),EditExtender}(),$r=function(){function CompositeEditExtender(e){(0,i.Z)(this,CompositeEditExtender),this.extenders=e}return(0,o.Z)(CompositeEditExtender,[{key:"overrideNavigationMenuOptions",value:function overrideNavigationMenuOptions(e,t){var n=this.getExtender(e);n&&n.overrideNavigationMenuOptions(e,t)}},{key:"getSidebarButtons",value:function getSidebarButtons(e,t){var n=this.getExtender(e);return n?n.getSidebarButtons(e,t):null}},{key:"modify",value:function modify(e){return this.getExtender(e.dataItem)?this.getExtender(e.dataItem).modify(e):(0,r.of)(void 0)}},{key:"handleAction",value:function handleAction(e,t){var n=this.getExtender(e.item);return n?n.handleAction(e,t):{handled:(0,r.of)(!1)}}},{key:"getFormClasses",value:function getFormClasses(e){var t=this.getExtender(e);return t?t.getFormClasses():v.WP.EMPTY_STRING}},{key:"showHeader",value:function showHeader(e){var t=this.getExtender(e);return!t||t.showHeader(e)}},{key:"includedProperties",value:function includedProperties(e){var t=this.getExtender(e);return t?t.includedProperties(e):[]}},{key:"excludedProperties",value:function excludedProperties(e){var t=this.getExtender(e);return t?t.excludedProperties(e):[]}},{key:"hasCreateActionFromEdit",value:function hasCreateActionFromEdit(e){var t=this.getExtender(e);return t?t.hasCreateActionFromEdit():null}},{key:"forceUpdateFieldModel",value:function forceUpdateFieldModel(e,t,n,i){var o=this.getExtender(e);return o?o.forceUpdateFieldModel(t,n,i):null}},{key:"getStatusToDisplay",value:function getStatusToDisplay(e){var t=this.getExtender(e);return t?t.getStatusToDisplay(e):null}},{key:"getExtender",value:function getExtender(e){return this.extenders.find((function(t){return e&&t.isSupportedType(e)}))}}]),CompositeEditExtender}();$r.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Jr]}]}]},$r=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],$r);var es=n(270),ts=n(202),ns=n(93),is=function(e){(0,f.Z)(DynamicItemBase,e);var t=(0,p.Z)(DynamicItemBase);function DynamicItemBase(e,n,o,a,r,s,l,c,d){var u;return(0,i.Z)(this,DynamicItemBase),(u=t.call(this)).dynamicItemStore=e,u.modalWindowService=n,u.route=o,u.window=a,u.router=r,u.operationsProvider=s,u.location=l,u.editNavigationService=c,u.parentService=d,u.autoTriggerLoading=!0,u.operations=new he.X([]),u.contentRoute=u.route.parent.parent,u.isNavigationEmbedded=ns.N.env===_t.H.integration,u}return(0,o.Z)(DynamicItemBase,[{key:"parentId",get:function get(){return this.route.parent.snapshot.params[g.UY.PARENT_ID_SEGMENT]||null}},{key:"notificationFilter",get:function get(){return this.entityData.metadata.typeFullName}},{key:"handleNonExistentItem",value:function handleNonExistentItem(e){this.window.confirm("The item you are trying to edit does not exist anymore")}},{key:"getItemPosition",value:function getItemPosition(){return Ci.t5.Default}},{key:"navigate",value:function navigate(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.router.navigate(e,t)}},{key:"navigateToEdit",value:function navigateToEdit(e){return e.parentId=e.parentId||this.parentId,e.route=this.route,e.singularName=this.singularName,this.editNavigationService.navigateToEdit(e)}}]),DynamicItemBase}(E.zu),os=Object.freeze((0,Ae.Z)({},$.q.schedule,ts.bH.validate)),as=function(){function WorkflowOperationSettingsProvider(){(0,i.Z)(this,WorkflowOperationSettingsProvider)}return(0,o.Z)(WorkflowOperationSettingsProvider,null,[{key:"getConfirmationSettings",value:function getConfirmationSettings(e,t,n,i){return{title:e.title,detailedTitle:e.detailedTitle,icon:da.A[e.name]||"info",parameters:e.parameters,contextParameters:e.contextParameters,description:null,formValidators:os[e.name],action:e.name,buttons:WorkflowOperationSettingsProvider.getButtons(e),doneCallback:function doneCallback(o){return i(o,e,t,n)}}}},{key:"getFields",value:function getFields(e){if(e.data&&e.data.data&&e.component&&e.component instanceof es.X){var t=e.component;if(!t.editableFields)return null;var n=null!==t.editableFields.getFields();return t.action!==$.q.schedule||n?t.editableFields.getFields(!1):null}return null}},{key:"getButtons",value:function getButtons(e){return new Array(new ki.pu(da.gY[e.name]||"Save changes",(function(e){if(e.component instanceof es.X&&e.component.parameters&&e.component.editableFields){var t=e.component;return new ki.DQ(!0,t.editableFields.valid())}return new ki.DQ(!0,!0)})),new ki.Lw)}}]),WorkflowOperationSettingsProvider}(),rs=(0,o.Z)((function PropertyEditorConstants(){(0,i.Z)(this,PropertyEditorConstants)}));rs.STOP_SHARING="Stop sharing content",rs.SHARE_CONTENT="Share content",rs.SHARED_TITLE_DESCRIPTION="type a title of this content block...",rs.SELECT_SHARED_TITLE="Select shared content block",rs.ADVANCED_SETTINGS_LABEL="Advanced settings for ",rs.BASIC_SETTINGS_LABEL="Basic settings for ",rs.SHARING_IS_DISABLED_TITLE="Sharing is disabled",rs.ADVANCED_SETTINGS_COG_BUTTON_TITLE="Advanced settings";var ss=(0,o.Z)((function PropertyEditorOperations(){(0,i.Z)(this,PropertyEditorOperations)}));ss.SAVE="Save",ss.SAVE_ALL="SaveAll",ss.CANCEL="Cancel";var ls=(0,o.Z)((function PropertyEditorViewModes(){(0,i.Z)(this,PropertyEditorViewModes)}));ls.BASIC="Basic",ls.ADVANCED="Advanced",ls.USE_SHARED="UseShared",ls.SHARE="Share",ls.UNSHARE="Unshare",ls.NOT_SHAREABLE="NotShareable",ls.COLUMNS_PROPORTIONS="ColumnsProportions";var cs={share:ls.SHARE,unshare:ls.UNSHARE,"use-shared":ls.USE_SHARED,"not-sharable":ls.NOT_SHAREABLE},ds=(0,o.Z)((function PropertyEditorCustomEvents(){(0,i.Z)(this,PropertyEditorCustomEvents)}));ds.MODAL_DIALOG_CLOSED="modalDialogClosed",ds.NEED_MODAL_DIALOG="needsModalDialog";var us=(0,o.Z)((function PropertyEditorWidgets(){(0,i.Z)(this,PropertyEditorWidgets)}));us.IMAGE="SitefinityImage",us.CONTENT_LIST="SitefinityContentList",us.CONTENT_BLOCK="SitefinityContentBlock",us.CONTENT_BLOCK_MVC="ContentBlock",us.SECTION="SitefinitySection",us.FORM_SECTION="SitefinityFormSection",us.FORM_CONTENT_BLOCK="SitefinityFormContentBlock",us.FIELD_TYPE_KEY="widget-";var fs=(0,o.Z)((function FieldConstants(){(0,i.Z)(this,FieldConstants)}));fs.YES_LABEL="Yes",fs.NO_LABEL="No";var ps,As="sfModalDialogOpened",ms="sfModalDialogClosed",gs="Mac",hs={SHIFT_LEFT:"ShiftLeft",SHIFT_RIGHT:"ShiftRight",CTRL_LEFT:"ControlLeft",CTRL_RIGHT:"ControlRight",ALT_LEFT:"AltLeft",ALT_RIGHT:"AltRight",CMD_LEFT:"MetaLeft",CMD_RIGHT:"MetaRight"},vs="Escape",bs="Delete",ys="Backspace",Es="Enter",Is="NumpadEnter",ws="KeyA",ks="KeyD",xs="KeyJ",Cs="KeyK",Ss="KeyL",Bs="KeyN",Ds="KeyP",Ts="KeyR",Ms="KeyS",Ns="KeyU",Fs="KeyX",Ps="F5",Rs="F2";!function(e){e[e.Refresh=0]="Refresh",e[e.Save=1]="Save",e[e.Escape=2]="Escape",e[e.Publish=3]="Publish",e[e.Unpublish=4]="Unpublish",e[e.Schedule=5]="Schedule",e[e.Delete=6]="Delete",e[e.Preview=7]="Preview",e[e.Create=8]="Create",e[e.SelectAll=9]="SelectAll",e[e.InsertImage=10]="InsertImage",e[e.InsertLink=11]="InsertLink",e[e.CommonConfirm=12]="CommonConfirm"}(ps||(ps={}));var Qs=[{ActionType:ps.Refresh,ShortcutSettings:{code:Ps}},{ActionType:ps.Refresh,ShortcutSettings:{code:Ts,ctrlKey:!0}},{ActionType:ps.Save,ShortcutSettings:{code:Ms,ctrlKey:!0}},{ActionType:ps.Save,ShortcutSettings:{code:ks,altKey:!0}},{ActionType:ps.Escape,ShortcutSettings:{code:vs}},{ActionType:ps.Publish,ShortcutSettings:{code:Ds,altKey:!0}},{ActionType:ps.Unpublish,ShortcutSettings:{code:Ns,altKey:!0}},{ActionType:ps.Schedule,ShortcutSettings:{code:Ms,altKey:!0}},{ActionType:ps.Delete,ShortcutSettings:{code:bs,altKey:!0}},{ActionType:ps.Preview,ShortcutSettings:{code:Rs,altKey:!0}},{ActionType:ps.Create,ShortcutSettings:{code:Bs,altKey:!0}},{ActionType:ps.SelectAll,ShortcutSettings:{code:ws,altKey:!0,shiftKey:!0}},{ActionType:ps.CommonConfirm,ShortcutSettings:{code:Es,ctrlKey:!0}},{ActionType:ps.CommonConfirm,ShortcutSettings:{code:Is,ctrlKey:!0}}],Us="keydown",Ls=[ps.Refresh,ps.CommonConfirm],Os=function(){function KeyboardShortcutsService(e,t){(0,i.Z)(this,KeyboardShortcutsService),this.windowProvider=e,this.actionButtonsResolver=t,this.subscribers=new Array,this.shortcuts=Qs,this.isSfModalOpen=!1,this.name=""}return(0,o.Z)(KeyboardShortcutsService,[{key:"init",value:function init(){this.removeEventListeners(),this.isMacOS=-1!==navigator.appVersion.indexOf(gs),this.addEventListeners(),this.populateShortcutsKeyValues()}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.removeEventListeners()}},{key:"addListener",value:function addListener(e,t,n){var i=this,o=new Ft.xQ;return e.subscribe((function(e){var a={componentName:t,fallback:n,keyboardAction:o};e&&(a.actionButtons=i.actionButtonsResolver.getActionButtons(e));var r=i.subscribers.findIndex((function(e){return e.componentName===t}));r>-1&&i.subscribers.splice(r,1),i.subscribers.unshift(a)})),o}},{key:"removeListener",value:function removeListener(e){var t=this.subscribers.findIndex((function(t){return t.componentName===e}));t>-1&&this.subscribers.splice(t,1)}},{key:"addEventListeners",value:function addEventListeners(){var e=this;this.keyDownEventListener=function(t){return e.onKeyDown(t)},this.sfModalOpenedEventListener=function(t){return e.toggleSfModalState(t,!0)},this.sfModalClosedEventListener=function(t){return e.toggleSfModalState(t,!1)},this.irisModalClosedEventListener=function(t){return e.toggleSfModalState(t,!1)},this.windowProvider.addEventListener(Us,this.keyDownEventListener),this.windowProvider.document.addEventListener(As,this.sfModalOpenedEventListener),this.windowProvider.document.addEventListener(ms,this.sfModalClosedEventListener),this.windowProvider.document.addEventListener(ds.MODAL_DIALOG_CLOSED,this.irisModalClosedEventListener)}},{key:"removeEventListeners",value:function removeEventListeners(){this.windowProvider.removeEventListener(Us,this.keyDownEventListener),this.windowProvider.document.removeEventListener(As,this.sfModalOpenedEventListener),this.windowProvider.document.removeEventListener(ms,this.sfModalClosedEventListener),this.windowProvider.document.removeEventListener(ds.MODAL_DIALOG_CLOSED,this.irisModalClosedEventListener)}},{key:"toggleSfModalState",value:function toggleSfModalState(e,t){e.detail&&e.detail.openNewEditor||(this.isSfModalOpen=t)}},{key:"onKeyDown",value:function onKeyDown(e){var t=this,n=this.shortcuts.find((function(n){var i=t.isMacOS?n.ShortcutSettings.ctrlKey===e.metaKey:n.ShortcutSettings.ctrlKey===e.ctrlKey;if(n.ShortcutSettings.code===e.code&&n.ShortcutSettings.altKey===e.altKey&&n.ShortcutSettings.shiftKey===e.shiftKey&&i)return n}));if(n){var i,o=(0,Qn.Z)(this.subscribers);try{var a=function _loop(){var o=i.value,a=t.handleKeyboardAction(n,o,e);if(!(Ls.some((function(e){return e===a.type}))||o.fallback)||a.action)return"break"};for(o.s();!(i=o.n()).done;){if("break"===a())break}}catch(e){o.e(e)}finally{o.f()}}}},{key:"handleKeyboardAction",value:function handleKeyboardAction(e,t,n){var i={type:e.ActionType,event:n},o=!1;switch(e.ActionType){case ps.Escape:case ps.CommonConfirm:case ps.Refresh:case ps.SelectAll:o=!0;break;case ps.Create:i.action=this.getCreateOperation(t.actionButtons),o=!0;break;case ps.Publish:i.action=this.getPublishWorkflowOperation(t.actionButtons),o=!0;break;case ps.Save:i.action=this.getSaveAsDraftWorkflowOperation(t.actionButtons),o=!0;break;case ps.Delete:i.action=this.getButtonOperation($.q.delete,t.actionButtons),o=!!i.action;break;case ps.Unpublish:i.action=this.getButtonOperation($.q.unpublish,t.actionButtons),o=!!i.action;break;case ps.Schedule:i.action=this.getButtonOperation($.q.schedule,t.actionButtons),o=!!i.action;break;case ps.Preview:i.action=this.getButtonOperation($.q.preview,t.actionButtons),o=!!i.action;break;case ps.Refresh:case ps.InsertImage:case ps.InsertLink:o=!0}return o&&!this.isSfModalOpen&&(t.keyboardAction.next(i),o=!1),i}},{key:"getButtonOperation",value:function getButtonOperation(e,t){return t?t.find((function(t){return t.name===e})):null}},{key:"getCreateOperation",value:function getCreateOperation(e){var t=[$.q.createMedia,$.q.create];return this.getFirstAvailableAction(t,e)}},{key:"getPublishWorkflowOperation",value:function getPublishWorkflowOperation(e){var t=[$.q.publish,$.q.sendForPublishing,$.q.sendForApproval,$.q.sendForReview];return this.getFirstAvailableAction(t,e)}},{key:"getSaveAsDraftWorkflowOperation",value:function getSaveAsDraftWorkflowOperation(e){var t=[$.q.saveDraft,$.q.saveAsAwaitingPublishing,$.q.saveAsAwaitingApproval,$.q.saveAsAwaitingReview,$.q.create,$.q.edit];return this.getFirstAvailableAction(t,e)}},{key:"getFirstAvailableAction",value:function getFirstAvailableAction(e,t){if(!t)return null;var n,i,o=(0,Qn.Z)(e);try{var a=function _loop2(){var e=i.value,o=t.find((function(t){return t.name===e}));if(o)return n=o,"break"};for(o.s();!(i=o.n()).done;){if("break"===a())break}}catch(e){o.e(e)}finally{o.f()}return n}},{key:"populateShortcutsKeyValues",value:function populateShortcutsKeyValues(){this.shortcuts.forEach((function(e){e.ShortcutSettings.ctrlKey=e.ShortcutSettings.ctrlKey||!1,e.ShortcutSettings.altKey=e.ShortcutSettings.altKey||!1,e.ShortcutSettings.shiftKey=e.ShortcutSettings.shiftKey||!1}))}}]),KeyboardShortcutsService}();Os.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:ae._U}]},Os=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Window,ae._U])],Os);var zs=n(210),_s=n(167),Vs=function(){function CanvasService(){(0,i.Z)(this,CanvasService)}return(0,o.Z)(CanvasService,[{key:"renderElement",value:function renderElement(e,t,n){var i=document.createElement("canvas");return i.width=t,i.height=n,i.getContext("2d").drawImage(e,0,0,t,n),i.toDataURL()}}]),CanvasService}();Vs=(0,a.gn)([(0,l.GSi)()],Vs);var Gs,Hs=n(97),Zs=n(119),Ys=n(100),js=n(44),Ws={foldersData:(0,Ys.Ys)((0,Ys.P1)((function(e){return e.media}),(function(e){return e.foldersData}))),filesData:(0,Ys.Ys)((0,Ys.P1)((function(e){return e.media}),(function(e){return e.filesData}))),uploadsData:(0,js.z)((0,Ys.Ys)((0,Ys.P1)((function(e){return e.media}),(function(e){return e.uploadsData}))),(0,w.U)((function(e){if(e){for(var t=(0,d.kI)(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o={entityData:e,order:pa,skip:t,take:n||null,siteId:i,fallbackProperties:[h.E.TITLE]};return this.dynamicItemService.getItemList(o)}},{key:"getFolders",value:function getFolders(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0,l=arguments.length>6?arguments[6]:void 0,c=arguments.length>7?arguments[7]:void 0,d=arguments.length>8?arguments[8]:void 0,f=arguments.length>9&&void 0!==arguments[9]&&arguments[9],p=arguments.length>10?arguments[10]:void 0,A=arguments.length>11&&void 0!==arguments[11]&&arguments[11],m=arguments.length>12?arguments[12]:void 0,h=arguments.length>13?arguments[13]:void 0,v=arguments.length>14?arguments[14]:void 0;if(d&&d[g.V5.FILTER]&&v||h)return(0,r.of)({dataItems:[],totalCount:0,entityData:e});var b=(0,ir.r)(),E=null!==(t=void 0===t?null:t);return c&&(E=!0,b=b.search(c)),b=this.applyQueryParams(b,d,E),this.dynamicItemService.getItemList({entityData:e,action:"Default.FoldersRecursiveSearch(parentId=".concat(t,")?recursive=").concat(i,"&includeParent=").concat(o,"&filterByCreateChildPermissions=").concat(f,"&excludedItemIds=").concat(p?p.join(","):" ","&").concat(g.Tx.GET_MEDIA_ITEMS,"=").concat(A,"&useLiveData=").concat(m?"true":"false"),fallbackProperties:[e.metadata.defaultFieldName],siteId:l,skip:a,take:s,query:b}).pipe((0,w.U)((function(e){return{dataItems:e.dataItems.map((function(e){var t=e.metadata;e.data.RootId?t=n.metadataStore.getEntity(u.gl.FOLDERS):y.xe.isLibrary(e.metadata.setName)||(t=n.metadataStore.getEntity(y.xe.getParentSetName(e)));var i={Items:e.data.PreviewItems,TotalItems:e.data[y.uT.CHILDREN_COUNT],TotalFolders:e.data[y.uT.FOLDERS_COUNT]};return ee.zw.from(Object.assign(Object.assign({},e.data),i),t,e.provider,e.culture)})),totalCount:e.totalCount,entityData:e.entityData}})))}},{key:"getFoldersAndContent",value:function getFoldersAndContent(e,t,n,i,o,a,r,s,l,c,d,u,f){var p=this,A=new re.t(1);return null!==t&&this.getFolders(e,t,!1,!1,n,i,null,c,a,null,null,f,null,d,u).subscribe((function(n){var d=n.dataItems,u=d.length===i?0:l-d.length,f=0===u&&!r,m=ee.zw.emptyItem(e);(c?p.search(m,c,s,u,t):p.getMediaForLibrary(m,t,s,u,null,o,a,r,f,c)).subscribe((function(e){A.next([n,e]),A.complete()}))})),A}},{key:"getFolderById",value:function getFolderById(e,t,n){var i=this,o=this.metadataStore.getEntity(e.metadata.parent),a=ee.zw.from(null,o,e.provider,e.culture);return this.dynamicItemService.executeBoundFunction(a,"Default.FolderSearchById(id=".concat(t,")"),[h.E.TITLE]).pipe((0,w.U)((function(t){var n={culture:e.culture,provider:e.provider,metadata:i.metadataStore.getEntity(y.xe.resolveLibrarySetName(e.metadata.setName))};return t.RootId&&(n.metadata=i.metadataStore.getEntity(u.gl.FOLDERS)),y.xe.isLibrary(e.metadata.setName)||(n.metadata=i.metadataStore.getEntity(y.xe.getParentSetName(e))),ee.zw.fromEntityData(t,n)})))}},{key:"getRecentMedia",value:function getRecentMedia(e,t,n,i,o){var a,r=i?i[g.V5.SORT]:pa,s=this.sitefinity.query.order(r),l=i?i[g.V5.FILTER]:null;return l&&(a="".concat(g.aO.FILTER(l))),this.queryItems(e,s,t,n,void 0,a,void 0,void 0,o)}},{key:"getMediaForLibrary",value:function getMediaForLibrary(e,t,n,i,o,a,r,s,l,c,d){var u=this.sitefinity.query,f=s&&t?t:null;u=this.applyQueryParams(u,r);var p,A=!1;if(c){var m=this.filterService.getSearchFieldsAsString(e);p="Default.Search(searchFields='".concat(m,"')"),u=(u=this.sitefinity.query).search(c).order(pa)}t&&!f&&(A||(A=!0,u=u.where()),u=u.or().and().eq(h.E.PARENT_ID,t).eq(h.E.FOLDER_ID,null).done().eq(h.E.FOLDER_ID,t).done()),A&&(u=u.done());var v=r?r[g.V5.FILTER]:null;return v&&(p="".concat(g.aO.FILTER(v))),this.queryItems(e,u,n,i,o,p,f,l,d,a)}},{key:"search",value:function search(e,t,n,i,o,a){var r=null,s=e;if(o){var l=this.metadataStore.getEntity(e.metadata.parent);s=ee.zw.from(null,l,e.provider,e.culture),r="Default.mediaItemsRecursiveSearch(parentId=".concat(o,")")}else{var c=this.filterService.getSearchFieldsAsString(e);r="Default.Search(searchFields='".concat(c,"')")}var d=this.sitefinity.query.search(t).order(pa);return this.queryItems(s,d,n,i,null,r,void 0,void 0,a).pipe((0,w.U)((function(t){return t.dataItems=t.dataItems.map((function(t){return ee.zw.fromEntityData(t.data,e)})),t})))}},{key:"getThumbnails",value:function getThumbnails(e,t){return this.dynamicItemService.executeBoundFunction(ee.zw.emptyItem(e),"sfthumbnails",void 0,{imageurl:encodeURIComponent(t)})}},{key:"importDamAssets",value:function importDamAssets(e,t){var n=this,i=new re.t,o={dataItems:[],error:null},a=this.sitefinity.instance.batch((function resultCb(n){var a=[];if(n.data.forEach((function(n,i){if(n.isSuccessful){var r=n.response[0].data,s=ee.zw.from(r,e.metadata,r.Provider,e.culture);o.dataItems.push(s)}else{var l=t[i];a.push("".concat(l.title).concat(l.extension))}})),1===a.length)o.error="".concat(e.metadata.singularName," failed to be selected.");else if(a.length>1){var r=(0,d._6)(e.metadata.singularName.toLocaleLowerCase());o.error="".concat(a.length," ").concat(r," failed to be selected: ").concat(a.join(","))}i.next(o)}),(function errorCb(e){var t=n.errorParserService.parseError(e);i.error(t)}),(function(){}),{culture:e.culture});return t.forEach((function(t){var n=a.beginTransaction();n.create({entitySet:e.metadata.setName,action:"Default.ImportDamAsset",data:{asset:t}}),a.endTransaction(n)})),a.execute(),i.pipe((0,kn.P)())}},{key:"upload",value:function upload(e,t,n,i){var o=this,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:$.q.publish,l=!(arguments.length>7&&void 0!==arguments[7])||arguments[7],c=Array.isArray(n)?n:[n],d=null,u=1,f=[],p=[];c.forEach((function(n,A){if(y.xe.isVideoEntity(e)){if(!d){var m=o.document.querySelectorAll("sf-modal-window video");m.length!==c.length&&(u=1.5),d=Array.from(m).filter((function(e){return e.offsetParent}))}var g=d[A];if(g){var v=o.canvasService.renderElement(g,g.clientWidth*u,g.clientHeight*u);n.data[h.E.THUMBNAIL_SOURCE]=v}}o.prepareItemForUpload(n,!1),p.push({key:t,upload:n,parentId:i,folderId:a,directUpload:r});var b=o.uploadFile(e,n,i,a,r,s,l);f.push(b)})),this.appStore.pipe(Ws.uploadsData,(0,_s.q)(1)).subscribe((function(e){var n={uploadedItemsCount:c.length,fieldName:t},i=e.items.concat(p);o.appStore.dispatch(Zs.p.setUploads({items:i,uploadFieldState:n}))})),f.forEach((function(e){e.subscribe((function(e){o.appStore.pipe(Ws.uploadsData,(0,_s.q)(1)).subscribe((function(n){var i=n.items.find((function(t){return t.upload.id===e.id}));i&&(i.upload=e);var a={uploadedItemsCount:c.length,fieldName:t};o.appStore.dispatch(Zs.p.setUploads({items:n.items,updatedItem:e,uploadFieldState:a}))}))}))}))}},{key:"clearUploads",value:function clearUploads(){var e=this;this.appStore.pipe(Ws.uploadsData,(0,_s.q)(1)).subscribe((function(t){var n=t.items.filter((function(e){return!e.upload.failure}));e.appStore.dispatch(Zs.p.setUploads({items:n,uploadFieldState:{uploadedItemsCount:n.length}}))}))}},{key:"emptyUploads",value:function emptyUploads(){this.appStore.dispatch(Zs.p.setUploads({items:[],uploadFieldState:{uploadedItemsCount:0}}))}},{key:"retryUpload",value:function retryUpload(e,t){var n=this;this.appStore.pipe(Ws.uploadsData,(0,_s.q)(1)).subscribe((function(i){var o=i.items,a=o.findIndex((function(e){return e.upload.id===t.id}));if(a>=0){t.loaded=0,t.total=Gs.uploadTotal,t.success=!1,t.failure=!1,n.prepareItemForUpload(t,!0);var r=ee.zw.emptyItem(e),s=n.uploadFile(r,t,o[a].parentId,o[a].folderId,o[a].directUpload);n.updateItemProgress(s)}}))}},{key:"retryUploadById",value:function retryUploadById(e,t){var n=this;this.appStore.pipe(Ws.uploadsData,(0,_s.q)(1)).subscribe((function(i){var o,a=i.items,r=a.find((function(e){return e.upload.imageId===t})),s=-1;if(r&&(o=r.upload,s=a.findIndex((function(e){return e.upload===o}))),s>=0){n.prepareItemForUpload(o,!0);var l=n.uploadFile(e,o,a[s].parentId,a[s].folderId,a[s].directUpload);n.updateItemProgress(l)}}))}},{key:"removeUploadById",value:function removeUploadById(e){var t=this;this.appStore.pipe(Ws.uploadsData,(0,_s.q)(1)).subscribe((function(n){var i=n.items.findIndex((function(t){return t.upload.id===e}));i>=0&&(n.items.splice(i,1),t.appStore.dispatch(Zs.p.setUploads(n)))}))}},{key:"getParentEntityData",value:function getParentEntityData(e){var t=e.metadata.parent||e.metadata.setName;return{metadata:this.metadataStore.getEntity(t),culture:e.culture,provider:e.metadata.selectedProvider||e.provider}}},{key:"getMediaFileLinks",value:function getMediaFileLinks(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n="".concat(Js,"=").concat(t);return this.dynamicItemService.executeBoundFunction(e,"Default.GetMediaFileLinks()?".concat(n))}},{key:"applyQueryParams",value:function applyQueryParams(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&e){var i=t[g.Tx.SORT];i&&(!n||-1===i.indexOf("DateCreated")&&-1===i.indexOf("Ordinal")||(i=i.replace("DateCreated","LastModified").replace(ua,fa)),e=e.order(i))}return e}},{key:"queryItems",value:function queryItems(e,t,n,i,o,a,r,s){var l=arguments.length>8&&void 0!==arguments[8]&&arguments[8],c=arguments.length>9?arguments[9]:void 0;t=t.expand("Parent($select=Title)");var d={metadata:e.metadata,culture:e.culture,provider:e.metadata.selectedProvider||e.provider},u={entityData:d,query:t,action:a,skip:n,take:i||0===i&&s?i:null,siteId:o,additionalQueryParams:r?{recursiveLibraryId:r}:null,fallbackProperties:[h.E.TITLE],dataFieldNames:c,serviceUrl:l?this.settings.webServiceLiveUrl:null};return this.dynamicItemService.getItemList(u)}},{key:"uploadFile",value:function uploadFile(e,t,n,i,o){var a=this,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:$.q.publish,s=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],l=new he.X(t),c=function success(n){var i=n.data[0].response[0].data;n.isSuccessful?s?a.sitefinity.instance.data({entitySet:e.metadata.setName,provider:e.metadata.selectedProvider||e.provider,culture:e.culture}).getSingle({key:i.Id,successCb:function successCb(e){t.result=e,t.success=!0,l.next(t)},failureCb:function failureCb(){t.failure=!0,l.next(t)}}):(t.result={Id:i.Id},t.success=!0,l.next(t)):(t.failure=!0,t.errorMessage=a.getErrorMessage(i.error),l.next(t))},d=function reject(e){t.failure=!0,l.next(t)},u=Gs.processingIncrementInitialMaximum,f=function progress(e){e.lengthComputable&&(t.loaded=e.loaded/e.total*u*t.total,e.total===e.loaded&&t.success&&(t.loaded=t.total),a.zone.run((function(){l.next(t)})),u0&&r>=this.totalFolders?(r3&&void 0!==arguments[3]?arguments[3]:this.libraryId,o=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,r=arguments.length>6?arguments[6]:void 0;i||t||(this.libraryId=i,this.libraries.next([]),this.isLoadMorePending=!1,this.loadLibrariesAndSiblingPhotos(e,n,t,o,a,r))}},{key:"loadMore",value:function loadMore(e,t,n){var i=this,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:this.libraryId,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]&&arguments[7],c=arguments.length>8&&void 0!==arguments[8]?arguments[8]:[];this.libraryId=r;var d=this.folders.getValue(),u=0;if(!this.isLoadMorePending){if(this.isLoadMorePending=!0,!this.libraryId){if(t)return this.loadLibrariesAndSiblingPhotos(e,n,t,s,l);var f=this.libraries.getValue(),p=f.length;if(p>=this.totalFolders)return;return this.getLibraryFolders(e,p,n,t,void 0,void 0,void 0,s,void 0,void 0,l).pipe((0,kn.P)()).subscribe((function(e){var t=f.concat(e);i.libraries.next(t)}))}return this.libraryId?(u=d.length)>=this.totalFolders?this.loadFiles(e,t,n,s,c):this.getLibraryFolders(e,u,n,t,this.libraryId,o,a,s,void 0,void 0,l).pipe((0,kn.P)()).subscribe((function(o){var a=d.concat(o);d.length!==a.length&&i.folders.next(a),i.isLoadMorePending=!1;var r=o.length===n?0:n-o.length;i.totalFolders<=a.length&&r>0?i.loadFiles(e,t,r,s,c):i.files.next([])})):void 0}}},{key:"loadMoreRecent",value:function loadMoreRecent(e,t,n){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=[],s=this.recentFiles.subscribe((function(e){r=e}));if(s.unsubscribe(),r.length%50==0||a){var l=this.getLibraryFiles(e,r.length,n,void 0,null,o,!1,!1,t);return l.subscribe((function(e){i.recentFiles.next(r.concat(e))})),l}}},{key:"search",value:function search(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=arguments.length>5?arguments[5]:void 0;this.folders.next([]),this.files.next([]),this.libraries.next([]),this.totalFolders=1/0,this.totalFiles=1/0,this.totalRecentFiles=1/0,this.totalLibraries=1/0,this.loadMore(e,t,n,!0,o,a,void 0,i)}},{key:"searchRecent",value:function searchRecent(e,t,n,i,o){var a=this;this.searchForRecentFiles(e,t,void 0,n,i,o).pipe((0,kn.P)()).subscribe((function(e){return a.recentFiles.next(e)}))}},{key:"uploadFiles",value:function uploadFiles(e,t,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:$.q.publish,s=!(arguments.length>7&&void 0!==arguments[7])||arguments[7],l=ee.zw.emptyItem(e);this.mediaService.upload(l,t,n,i,o,a,r,s)}},{key:"getThumbnails",value:function getThumbnails(e,t){return this.mediaService.getThumbnails(e,t)}},{key:"getFoldersByParentId",value:function getFoldersByParentId(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]&&arguments[7],c=arguments.length>8&&void 0!==arguments[8]&&arguments[8];return this.getLibraryFolders(e,0,i,r,t,o,a,s,void 0,l,c).pipe((0,w.U)((function(e){return n.libraries.next(e),e})))}},{key:"getFolderById",value:function getFolderById(e,t){var n=this;return this.mediaService.getFolderById(e,t,e.metadata.selectedProvider||e.provider,null).pipe((0,w.U)((function(e){return n.totalFolders=e.data.error?0:1,e})))}},{key:"getLibraryFolders",value:function getLibraryFolders(e,t,n,i){var o=this,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.libraryId,s=arguments.length>5?arguments[5]:void 0,l=arguments.length>6?arguments[6]:void 0,c=arguments.length>7?arguments[7]:void 0,d=arguments.length>8?arguments[8]:void 0,u=arguments.length>9?arguments[9]:void 0,f=arguments.length>10?arguments[10]:void 0,p=arguments.length>11?arguments[11]:void 0,A=arguments.length>12?arguments[12]:void 0;if(c&&c[g.V5.FILTER]&&d||p)return this.totalFolders=0,(0,r.of)([]);var m={metadata:e.metadata,culture:e.culture,provider:e.metadata.selectedProvider||e.provider};return this.mediaService.getFolders(m,a,s,l,t,n,null,i,c,u,void 0,f,A).pipe((0,w.U)((function(e){return o.totalFolders=e.totalCount,o.isLoadMorePending=!1,e.dataItems.map((function(e){var t={Items:e.data.PreviewItems,TotalItems:e.data[y.uT.CHILDREN_COUNT],TotalFolders:e.data[y.uT.FOLDERS_COUNT]};return ee.zw.fromEntityData(Object.assign(Object.assign({},e.data),t),e)}))})))}},{key:"getMediaFileLinks",value:function getMediaFileLinks(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.mediaService.getMediaFileLinks(e,t)}},{key:"loadLibrariesAndSiblingPhotos",value:function loadLibrariesAndSiblingPhotos(e,t,n,i,o,a){var r=this,s=this.libraries.getValue(),l=s.length;return this.getLibraryFolders(e,l,t,n,void 0,void 0,void 0,i,void 0,void 0,o,void 0,a).pipe((0,kn.P)()).subscribe((function(t){var o=s.concat(t);r.libraries.next(o),r.totalFolders<=o.length?r.loadFiles(e,n,50,i):r.files.next([])}))}},{key:"loadFiles",value:function loadFiles(e,t,n){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=[];this.files.subscribe((function(e){r=e})).unsubscribe();var s=r.length;if(!this.totalFiles||s4&&void 0!==arguments[4]?arguments[4]:this.libraryId,r=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,c=arguments.length>8?arguments[8]:void 0,d=arguments.length>9?arguments[9]:void 0,u=ee.zw.emptyItem(e);return this.mediaService.getMediaForLibrary(u,a,t,n,null,i,r,s,l,c,d).pipe((0,w.U)((function(e){return o.totalFiles=e.totalCount,o.totalRecentFiles=o.totalFiles,o.isLoadMorePending=!1,e.dataItems})))}},{key:"getRecentFiles",value:function getRecentFiles(e,t,n,i,o){var a=this,r=ee.zw.emptyItem(e);return this.mediaService.getRecentMedia(r,t,n,i,o).pipe((0,w.U)((function(e){return a.totalRecentFiles=e.totalCount,e.dataItems})))}}]),LibraryStore}();Ks.ctorParameters=function(){return[{type:qs}]},Ks=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[qs])],Ks);var $s=function(){function ParentService(e,t,n,o){(0,i.Z)(this,ParentService),this.metadataStore=e,this.dynamicItemService=t,this.libraryStore=n,this.siteDataStore=o}return(0,o.Z)(ParentService,[{key:"getParentItem",value:function getParentItem(e,t){var n=this,i=(0,r.of)(null);if(t&&t!==v.WP.DEFAULT_GUID&&(e.metadata.hasParent||e.metadata.ignoreParentChildRelationship)){var o=this.getParentEntity(e);this.siteDataStore.getValue().pipe((0,kn.P)()).subscribe((function(a){e.metadata.ignoreParentChildRelationship||t===a.SiteMapRootNodeId?e.metadata.isMedia&&!e.metadata.isSelfReferencing&&(i=n.libraryStore.getFolderById(e,t)):i=n.dynamicItemService.getItem({itemKey:t,entityData:{metadata:o,provider:e.provider,culture:e.culture},fallbackProperties:[e.metadata.defaultFieldName]})}))}return i}},{key:"getParentEntity",value:function getParentEntity(e){return e.metadata.ignoreParentChildRelationship?e.metadata.hasParent?this.metadataStore.getValue().entities[e.metadata.parent]:this.metadataStore.getValue().entities[e.metadata.children[0]]:this.metadataStore.getValue().entities[e.metadata.parent]}}]),ParentService}();$s.ctorParameters=function(){return[{type:pe.EY},{type:Ci.dg},{type:Ks},{type:Qi}]},$s=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Ci.dg,Ks,Qi])],$s);var el=1e3,tl=function(){function ActionButtonsStateService(e){(0,i.Z)(this,ActionButtonsStateService),this.window=e,this.buttonsState$=new re.t(1),this.buttonCounter=0,this.lastButtonEmission=null,this.lastButtonState=null}return(0,o.Z)(ActionButtonsStateService,[{key:"getState$",value:function getState$(){return this.buttonsState$.asObservable()}},{key:"updateActionButtonsState",value:function updateActionButtonsState(e,t){var n=this,i=new re.t(1),o={primary:e,stateForOthers:t};if(null===this.lastButtonEmission)return this.setButtonsState(i,o),i.asObservable();var a=(new Date).getTime()-this.lastButtonEmission;if(a>=el&&0===this.buttonCounter||this.lastButtonState===oe.BN.Default)return this.setButtonsState(i,o),i.asObservable();var r=el-a+this.buttonCounter*el;return this.window.setTimeout((function(){n.buttonsState$.next(o),i.next(),n.buttonCounter--,n.lastButtonEmission=(new Date).getTime()}),r),this.buttonCounter++,i.asObservable()}},{key:"setButtonsState",value:function setButtonsState(e,t){this.buttonsState$.next(t),this.lastButtonEmission=(new Date).getTime(),this.lastButtonState=t.primary?t.primary.state:t.stateForOthers,e.next()}}]),ActionButtonsStateService}();tl.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},tl=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Window])],tl);var nl=n(306),il=n(307),ol=function(e){(0,f.Z)(AuxHostComponent,e);var t=(0,p.Z)(AuxHostComponent);function AuxHostComponent(e){var n;return(0,i.Z)(this,AuxHostComponent),(n=t.call(this)).route=e,n}return(0,o.Z)(AuxHostComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.route.params.subscribe((function(t){var n=t.name,i=e.service.getData(n),o=!e.service.currentActivityStatus;i?(e.onMappingChanged(i,n),o&&e.onClose()):e.onClose()}));this.registerSubscription(t)}},{key:"onClose",value:function onClose(){return this.service.hide(this.route.parent)}}]),AuxHostComponent}(E.zu);ol.ctorParameters=function(){return[{type:m.gz}]},ol=(0,a.gn)([(0,l.Xek)(),(0,a.w6)("design:paramtypes",[m.gz])],ol);var al=n(308),rl=function(e){(0,f.Z)(NotificationLoaderComponent,e);var t=(0,p.Z)(NotificationLoaderComponent);function NotificationLoaderComponent(e){var n;return(0,i.Z)(this,NotificationLoaderComponent),(n=t.call(this)).notificationService=e,n.onCommand=new l.vpe,n.hide=!1,n.notification$=new he.X(null),n}return(0,o.Z)(NotificationLoaderComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.notificationService.getNotification().subscribe((function(t){if(t){if(!e.filter&&t.filterParam)return;if(e.filter&&t.filterParam!==e.filter)return}e.notification$.next(t),e.enhanceNotification(t)})),n=this.notificationService.getCloseNotification().subscribe((function(t){e.notification$.getValue()===t&&e.notification$.next(null)}));this.registerSubscription(n),this.registerSubscription(t)}},{key:"ngOnChanges",value:function ngOnChanges(e){e.hide&&!e.hide.firstChange&&e.hide.currentValue&&this.notificationService.close(null)}},{key:"onClose",value:function onClose(e){e.closeButton&&this.notificationService.close(e.filterParam)}},{key:"getLook",value:function getLook(e){var t=e.look+v.WP.INTERVAL;return this.isInHeader&&(t+=v.WP.INTERVAL+"small"),t}},{key:"enhanceNotification",value:function enhanceNotification(e){var t=this;e&&(e.afterComponentInit||(e.afterComponentInit=function(n){n.onCommand&&t.registerSubscription(n.onCommand.subscribe((function(n){n===Fa?t.notificationService.close(e.filterParam):t.onCommand.emit(n)})))}),e.look=e.look||"",this.look&&(e.look+=" ".concat(this.look)))}}]),NotificationLoaderComponent}(E.zu);rl.ctorParameters=function(){return[{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},rl.propDecorators={onCommand:[{type:l.r_U}],isInHeader:[{type:l.IIB}],hide:[{type:l.IIB}],filter:[{type:l.IIB}],look:[{type:l.IIB}]},rl=(0,a.gn)([(0,l.wA2)({selector:"sf-notification-loader",template:al}),(0,a.w6)("design:paramtypes",[La])],rl);var sl="-sf-modal-window-open",ll=" -no-selection",cl="transparent",dl="show-buttons",ul="show-heading-buttons",fl="show-close-buttons",pl="modal-window",Al=function(e){(0,f.Z)(ModalWindowComponent,e);var t=(0,p.Z)(ModalWindowComponent);function ModalWindowComponent(e,n,o,a,r,s,l,c){var d;return(0,i.Z)(this,ModalWindowComponent),(d=t.call(this,e)).environtmentService=o,d.windowProvider=a,d.scrollService=r,d.renderer=s,d.keyboardShortcutsService=l,d.elementRef=c,d.notificationLoaderComponent={type:rl,properties:{filter:pl,look:"fixed"}},d.closeButtonDisabled=!1,d._isModalClosable=new he.X(!0),d._closed=!1,d.renderer.addClass(d.windowProvider.document.documentElement,sl),d.service=n,d.dropDownMenuOptions=new oe.gP(void 0,void 0,!0),d}return(0,o.Z)(ModalWindowComponent,[{key:"areButtonsVisible",get:function get(){return this._areButtonsVisible.asObservable()}},{key:"areHeadingButtonsVisible",get:function get(){return this._areHeadingButtonsVisible.asObservable()}},{key:"isModalClosable",get:function get(){return this._isModalClosable.asObservable()}},{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(ModalWindowComponent.prototype),"ngOnInit",this).call(this),this.handleKeyboardShortcuts()}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.focusModalWrapper()}},{key:"onMappingChanged",value:function onMappingChanged(e,t){var n=this;if(this.currentData=Object.assign({},e),this.focusModalWrapper(),this.service.currentActivityStatus){this._areButtonsVisible=new he.X(this.currentData.showButtonsOnInit),this._areHeadingButtonsVisible=new he.X(this.currentData.showButtonsOnInit),this._isModalClosable=new he.X(this.currentData.isModalClosable),this._visibilitySubscription&&this._visibilitySubscription.unsubscribe();var i=this.service.currentActivityStatus.route;this._visibilitySubscription=this.service.getCommands(i).subscribe((function(e){e.name===dl&&n._areButtonsVisible.next(e.data),e.name===ul&&n._areHeadingButtonsVisible.next(e.data),e.name===fl&&n._isModalClosable.next(e.data)})),this.registerSubscription(this._visibilitySubscription),this.service.ensureRouteState(t),this.modalWindowClassList=this.currentData.contentClass}}},{key:"ngOnDestroy",value:function ngOnDestroy(){this._closed||this.onCloseClicked(),(0,Re.Z)((0,Qe.Z)(ModalWindowComponent.prototype),"ngOnDestroy",this).call(this),this.keyboardShortcutsService.removeListener(g.Xm.MODAL_WINDOW),this.renderer.removeClass(this.windowProvider.document.documentElement,sl)}},{key:"onComponentInit",value:function onComponentInit(e){this.setCloseModalCallback(e)}},{key:"onCloseClicked",value:function onCloseClicked(){if(this._isModalClosable.getValue()){var e=this.buildContext(ki.EZ.CloseClicked);this.close(e)}}},{key:"invokeButtonClick",value:function invokeButtonClick(e,t){var n=this,i=e.handlers.click;if(!i)throw new Error("Invalid click handler provided for button ".concat(e.content));var o=i({event:t,component:this.hostedInstance});if(o instanceof wn.y){var a=o.subscribe((function(e){n.processClickResult(e,e.load,n.currentData.disableUserInteractionOnLoading)}));this.registerSubscription(a)}else this.processClickResult(o,!1)}},{key:"onBackToTopClicked",value:function onBackToTopClicked(){this.scrollService.scrollToTop(!0,250)}},{key:"canClose",value:function canClose(e){var t=this.hostedInstance;if(t&&t.canCloseCallback){var n=t.canCloseCallback(e);return n instanceof wn.y?n:(0,r.of)(n)}return(0,r.of)(!0)}},{key:"setCloseModalCallback",value:function setCloseModalCallback(e){e&&e.setCloseModalCallback&&e.setCloseModalCallback(this.closeModalCallback.bind(this))}},{key:"closeModalCallback",value:function closeModalCallback(e){var t=this.buildContext(ki.EZ.DoneCalled,e);this.close(t)}},{key:"processClickResult",value:function processClickResult(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e.hasErrors)this.toggleButtonLoading(null,!1,!1,!1);else{var o=n?1e3:0;if(o&&this.toggleButtonLoading(cl,!0,!1,i),e.isSuccessful){var a=this.buildContext(ki.EZ.ButtonClicked,e);o?(this.toggleButtonLoading(null,!1,!0,!1),this.windowProvider.setTimeout((function(){return t.close(a)}),o)):this.close(a)}}}},{key:"toggleButtonLoading",value:function toggleButtonLoading(e,t,n,i){var o=this.currentData.buttons,a=o.find((function(e){return e instanceof ki.pu})),r=o.find((function(e){return e instanceof ki.Lw}));a&&(a.loader.next(e),a.disabled.next(t),a.checked.next(n)),r&&r.disabled.next(t),this.closeButtonDisabled=i,this.toggleNoSelectionOverlay(i)}},{key:"toggleNoSelectionOverlay",value:function toggleNoSelectionOverlay(e){this.modalWindowClassList=this.modalWindowClassList||v.WP.EMPTY_STRING,e?this.modalWindowClassList+=ll:this.modalWindowClassList.replace(ll,v.WP.EMPTY_STRING)}},{key:"close",value:function close(e){var t=this,n=this.currentData;this.canClose(e).subscribe((function(i){i&&((0,Re.Z)((0,Qe.Z)(ModalWindowComponent.prototype),"onClose",t).call(t).then((function(){n&&(n.doneCallback&&n.doneCallback(e),n.componentData&&t.componentLoader&&t.componentLoader.destroy(n.componentData))})),t._closed=!0)}))}},{key:"buildContext",value:function buildContext(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:e,data:t,component:this.hostedInstance}}},{key:"hostedInstance",get:function get(){return this.componentLoader?this.componentLoader.currentInstance:null}},{key:"handleKeyboardShortcuts",value:function handleKeyboardShortcuts(){var e=this,t=this.keyboardShortcutsService.addListener((0,r.of)(null),g.Xm.MODAL_WINDOW,!1).subscribe((function(t){var n;if(t)switch(t.type){case ps.Escape:e.onCloseClicked();break;case ps.CommonConfirm:t.event.preventDefault(),e.handleCommonConfirmation();break;case ps.Refresh&&_t.H.integration===e.environtmentService.getEnvironment():e.handleRefreshFromModal(t.event);break;case ps.Save:n=e.currentData.buttons.find((function(e){return e.name===$.q.uploadDraft})),e.triggerKeyboardAction(n,t.event);break;case ps.Publish:n=e.currentData.buttons.find((function(e){return e.name===$.q.upload||e.name===$.q.uploadPublished})),e.triggerKeyboardAction(n,t.event)}}));this.registerSubscription(t)}},{key:"handleCommonConfirmation",value:function handleCommonConfirmation(){var e=this,t=this.elementRef.nativeElement.querySelectorAll("".concat(".sf-button.-action",",").concat(".sf-button.-delete"));if(t.length>0){var n=Array.from(t).find((function(t){return(0,d.Jv)(e.windowProvider,t)}));n&&n.click()}}},{key:"triggerKeyboardAction",value:function triggerKeyboardAction(e,t){e&&(t.preventDefault(),this.invokeButtonClick(e,t))}},{key:"handleRefreshFromModal",value:function handleRefreshFromModal(e){var t=this.windowProvider.location.href,n=t.indexOf("dialog:");if(-1!==n){for(;t[n-1]===v.WP.FORWARD_SLASH;)n--;var i=t.lastIndexOf(g.k_.CLOSE_BRACKET),o=t.substring(n,i);t=(t=(t=t.replace(o,v.WP.EMPTY_STRING)).replace(g.k_.OPEN_BRACKET,v.WP.EMPTY_STRING)).replace(g.k_.CLOSE_BRACKET,v.WP.EMPTY_STRING),e.preventDefault(),this.windowProvider.open(t,v.Mw)}}},{key:"focusModalWrapper",value:function focusModalWrapper(){this.modal&&this.modal.nativeElement.focus()}}]),ModalWindowComponent}(ol);Al.ctorParameters=function(){return[{type:m.gz},{type:ki.bL},{type:zt.L},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Nt.a},{type:l.Qsj},{type:Os},{type:l.SBq}]},Al.propDecorators={componentLoader:[{type:l.i9L,args:["mainContentLoader",{static:!1}]}],modal:[{type:l.i9L,args:["modal",{static:!1}]}]},Al=(0,a.gn)([(0,l.wA2)({selector:"sf-modal-window",template:nl,encapsulation:l.ifc.None,styles:[il]}),(0,a.w6)("design:paramtypes",[m.gz,ki.bL,zt.L,Window,Nt.a,l.Qsj,Os,l.SBq])],Al);var ml,gl=function(e){(0,f.Z)(DynamicUpdateItemComponent,e);var t=(0,p.Z)(DynamicUpdateItemComponent);function DynamicUpdateItemComponent(e,n,o,a,r,s,l,c,d,u,f,p,A,m,g){var h;return(0,i.Z)(this,DynamicUpdateItemComponent),(h=t.call(this)).modalWindowService=e,h.fieldsGeneratorService=n,h.backendTweaksService=o,h.service=a,h.operationsProvider=r,h.route=s,h.dynamicItemStore=l,h.notificationService=c,h.editExtender=d,h.communicationService=u,h.keyboardShortcutsService=f,h.scrollService=p,h.parentService=A,h.itemHooksProvider=m,h.buttonStateService=g,h.formClasses=v.WP.EMPTY_STRING,h.hasMultipleContentCultures=!1,h.allowDialogOpenCallback=h.triggerLock.bind((0,Go.Z)(h)),h.operations=new he.X([]),h.isLocked=!1,h.bottomActionMenuOptions=new oe.gP(Number.NEGATIVE_INFINITY,ae.fT),h}return(0,o.Z)(DynamicUpdateItemComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.itemHooksProvider.executeObservableHook((0,r.of)(this.dataItem).pipe((0,kn.P)()),"onEditItemInitializing",(function(e){return{item:e}})).subscribe();var t=this.getSiteData();t&&t.ContentCultures&&t.ContentCultures.length>1&&this.dataItem.metadata.isMultilingual&&(this.hasMultipleContentCultures=!0),this.handleFormClasses(),this.handleKeyboardShortcuts();var n=this.communicationService.subscribe(Ti.YS,(function(t){t.data.itemType===e.dataItem.metadata.typeFullName&&e.onActionButtonClicked(t.data.button)})),i=this.communicationService.subscribe(Ti.D4,(function(t){e.buttonStateService.updateActionButtonsState(null,t.data)})),o=this.buttonStateService.getState$().subscribe((function(t){e.buttonsState=t,e.communicationService.next(new Ti.HA(t))}));this.registerSubscription(o),this.registerSubscription(n),this.registerSubscription(i),this.route.snapshot.data[g.u0.itemData]={entityData:this.dataItem},this.viewName=g.jc.EDIT,this.dataItem.isEmpty&&(this.viewName=g.jc.INSERT),(this.route.snapshot.paramMap.get("name")||v.WP.EMPTY_STRING).startsWith(g.UY.DUPLICATE_SEGMENT)&&(this.viewName=g.jc.DUPLICATE,this.editableFields.copyMode=!0),this.dataItem.metadata.isMedia&&(this.headerText="".concat(this.dataItem.metadata.singularName," properties"),this.headerClass="-justify-content-center sf-row -sf-mb-l"),this.buttonStateService.updateActionButtonsState(null,oe.BN.Loading),this.backendTweaksService.getFormTweaks(this.dataItem.metadata.setName,this.viewName,this.dataItem.key,this.dataItem.provider,this.dataItem.culture,this.parentId).then((function(t){e.formData=t;var n=e.dataItem.key||v.WP.DEFAULT_GUID;e.viewName===g.jc.DUPLICATE&&(n=v.WP.DEFAULT_GUID),e.registerSubscription(e.parentService.getParentItem(e.dataItem,e.parentId).subscribe((function(t){var i=e.viewName===g.jc.EDIT?e.operationsProvider.getEditItemDialogOperations(e.dataItem,t):e.operationsProvider.getCreateItemDialogOperations(e.dataItem,t,{viewName:e.viewName}),o=e.service.executeBoundFunction(ee.zw.fromKey(n,e.dataItem),itemMetaSegment(null));(0,Zo.D)([e.getItem(),i,o]).pipe((0,oa.zg)((function(t){e.dataItem=t[0],e.itemMeta=t[2],e.operations.next(t[1]);var n=e.dataItem;if(e.viewName===g.jc.DUPLICATE){var i=e.editExtender.includedProperties(e.dataItem),o=e.editExtender.excludedProperties(e.dataItem);n=ee.zw.duplicate(e.dataItem,i,o)}else e.prepopulatedFields&&(n=ee.zw.fromEntityData(e.prepopulatedFields,e.dataItem));return e.initFields(n,e.itemMeta,e.formData)}))).subscribe((function(){e.buttonStateService.updateActionButtonsState(null,oe.BN.Default)}))})))})),this.setModuleNameIdentificator()}},{key:"ngOnDestroy",value:function ngOnDestroy(){var e=this;this.itemHooksProvider.executeObservableHook((0,r.of)(this.dataItem).pipe((0,kn.P)()),"onEditItemUnloading",(function(e){return{item:e}})).subscribe((function(){(0,Re.Z)((0,Qe.Z)(DynamicUpdateItemComponent.prototype),"ngOnDestroy",e).call(e),e.keyboardShortcutsService.removeListener(g.Xm.DYNAMIC_UPDATE_ITEM),e.notificationService.close(g.wC)})),this.notificationService.close(pl)}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;if(!this.dataItem.isEmpty){var t=this.editableFields.dirty.subscribe((function(t){t&&e.triggerLock()}));this.registerSubscription(t),this.itemHooksProvider.executeObservableHook((0,r.of)(this.dataItem).pipe((0,kn.P)()),"afterEditItemInit",(function(e){return{item:e}})).subscribe()}}},{key:"setCloseModalCallback",value:function setCloseModalCallback(e){this.callback=e}},{key:"canCloseCallback",value:function canCloseCallback(e){var t=this;if(e.type===ki.EZ.CloseClicked&&this.isLocked){var n=new Ft.xQ;return this.registerSubscription(this.service.unlockItem(this.dataItem).subscribe((function(){t.isLocked=!1,n.next(!0)}))),n}return!0}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){e.name===$.q.cancel?this.onCancelClick():e.name===$.q.unlock?this.onUnlockClick():this.onSubmitClick(e)}},{key:"onFieldChange",value:function onFieldChange(e){var t=this;this.registerSubscription(this.editExtender.modify({sections:this.fieldSections,dataItem:ee.zw.fromEntityData(this.editableFields.getFields(!1),this.dataItem),parentId:this.parentId,isInit:!1,viewName:this.viewName,setName:getSetNameFromRoute(this.route)}).subscribe((function(){if(t.viewName!==g.jc.DUPLICATE&&e.key===br){var n=t.operations.getValue(),i=n.find((function(e){return e.Name===$.q.create}));i&&(i.Title=e.value.PageType&&e.value.PageType!==wr?$.Oi.create:$.Oi.continue,t.operations.next(n))}})))}},{key:"triggerLock",value:function triggerLock(){var e=this;if(!this.isItemLockable()||this.dataItem.isEmpty||this.isLocked)return(0,r.of)(!0);var t=new re.t(1);return this.registerSubscription(this.dynamicItemStore.saveItem(this.dataItem,{},null,this.fallbackProperties).pipe((0,Zi.K)((function(n,i){return $o.d,n instanceof ea.E?(e.editableFields.reset(),t.next(!1),t.complete(),(0,r.of)(ee.zw.fromEntityData(n.data,e.dataItem))):(e.buttonStateService.updateActionButtonsState(null,oe.BN.Default),i)})),(0,oa.zg)((function(t){return e.isLocked=!0,(0,Zo.D)([e.service.executeBoundFunction(t,itemMetaSegment(e.itemMeta.state)),(0,r.of)(t)])})),(0,oa.zg)((function(t){var n=(0,q.Z)(t,2),i=n[0],o=n[1];return e.itemMeta=i,e.initFields(o,i,e.formData)}))).subscribe((function(){e.buttonStateService.updateActionButtonsState(null,oe.BN.Default),t.next(!0)}))),t.asObservable()}},{key:"isItemLockable",value:function isItemLockable(){return this.dataItem.metadata.hasLifecycle&&this.dataItem.metadata.setName!==u.gl.PAGES}},{key:"executeCommandOnSubmit",value:function executeCommandOnSubmit(e,t){var n=this;if(!(this.dataItem.metadata.setName===u.gl.PAGES&&this.dataItem.isEmpty&&(!t.PageType||t.PageType===wr)||this.dataItem.metadata.setName===u.gl.TEMPLATES&&this.dataItem.isEmpty))return!1;this.buttonStateService.updateActionButtonsState({name:e,state:oe.BN.Loading},oe.BN.Disabled);var i={forceFullValidation:!1,properties:{}},o=this.service.getFieldValues(this.dataItem.metadata,t).primitives;for(var a in o)Array.isArray(t[a])||(i.properties[a]=t[a]);return this.registerSubscription(this.service.executeEntityOperation(this.dataItem,v.gL.VALIDATE,i).subscribe((function(i){if(Object.keys(i.Errors).length>0){n.buttonStateService.updateActionButtonsState(null,oe.BN.Default);var o=Object.keys(i.Errors),a=new Ko.p({code:zs.J,message:v.WP.EMPTY_STRING,status:0}),r=o.map((function(e){var t=i.Errors[e];return new Dr.c(e,t)}));a.fieldErrors=r,n.editableFields.addModelErrors(a),n.editableFields.valid()}else{var s={currentRoute:n.route,data:{selectedItems:[],entityData:n.dataItem,onTemplateSelection:function onTemplateSelection(i,o){t.TemplateName=o,t.TemplateId=i,n.service.upsert({data:t,dataItem:n.dataItem,operation:n.getOperation(e)}).subscribe((function(e){n.callback(e)}))}},model:null},l=new ja(n.modalWindowService,n.dynamicItemStore,n.notificationService);n.registerSubscription(l.execute(s).subscribe((function(e){e.success||n.callback(e.success)})))}}),(function(e){n.buttonStateService.updateActionButtonsState(null,oe.BN.Default),e instanceof Ko.p&&(n.editableFields.addModelErrors(e),n.editableFields.valid())}))),!0}},{key:"onSubmitClick",value:function onSubmitClick(e){var t=this,n=!this.dataItem.isEmpty;this.dataItem.metadata.setName===u.gl.PAGES&&(n=!this.dataItem.isEmpty&&this.viewName!==g.jc.DUPLICATE);var i=this.editableFields.getFields(n);this.setParentPropertyId(i);var o=this.tryHandleActionWithoutValidation(e);if(this.editableFields.valid()){var a,r=this.dataItem;if(e.name!==$.q.sendForApproval&&e.name!==$.q.sendForReview||(o=this.onWorkflowOperation(e)),this.viewName===g.jc.DUPLICATE&&(i.Duplicate=!0,i.DuplicateSourceId=r.key,r=ee.zw.emptyItem(this.dataItem)),!this.executeCommandOnSubmit(e.name,i))this.buttonStateService.updateActionButtonsState({name:e.name,state:oe.BN.Loading},oe.BN.Disabled),o?this.handleResult(o,e,a):(a=this.editExtender.handleAction({actionName:e.name,changedFields:i,item:r,route:this.route,siteData:this.getSiteData()},this.notificationService),this.registerSubscription(a.handled.subscribe((function(n){if(n)o=a.result;else{var s=t.service.getFieldValues(t.dataItem.metadata,i).primitives;o=t.service.upsert({data:i,dataItem:r,operation:t.getOperation(e.name),skipSaveTemp:0===Object.keys(s).length&&!t.isItemLockable()})}t.handleResult(o,e,a)}))))}}},{key:"handleResult",value:function handleResult(e,t,n){var i=this;this.itemHooksProvider.executeObservableHook(e,"onEditItemChanged",(function(e){return{item:e}})).subscribe((function(e){i.isLocked=!1,i.buttonStateService.updateActionButtonsState({name:t.name,state:oe.BN.Checked},oe.BN.Disabled),i.buttonStateService.updateActionButtonsState(null,oe.BN.Default),i.buttonStateService.getState$().pipe((0,Bi.h)((function(e){return null===e.primary})),(0,kn.P)()).subscribe((function(t){n&&n.closeHandler?n.closeHandler.next():i.callback(e)}))}),(function(e){i.buttonStateService.updateActionButtonsState(null,oe.BN.Default),e instanceof Ko.p?(i.editableFields.addModelErrors(e),i.editableFields.valid()):(i.notificationService.publishBasicNotification({message:e.message,look:ya.ERROR,duration:g.De,filterParam:g.wC}),i.scrollService.scrollToTop())}))}},{key:"tryHandleActionWithoutValidation",value:function tryHandleActionWithoutValidation(e){return e.name===$.q.schedule?this.onWorkflowOperation(e):null}},{key:"onWorkflowOperation",value:function onWorkflowOperation(e){var t=this,n=new re.t,i=as.getConfirmationSettings(e,this.dataItem,this.editableFields.getFields(!0),(function(e,i,o,a){return t.onDone(e,i,o,a,n)}));return this.modalWindowService.openModalConfirmation(this.route.parent,i,this.dataItem),n}},{key:"onDone",value:function onDone(e,t,n,i,o){if(e.data&&e.data.data){var a=as.getFields(e);if(this.editableFields.valid()){var r=new ta(t.name,{action:t.name,actionParameters:a||{}}),s=this.dynamicItemStore.saveItemWithOperationResult(n,i,r,void 0,void 0,Ci.t5.Default,!1,!1).subscribe((function(e){return o.next(e.dataItem)}));this.registerSubscription(s)}}else this.buttonStateService.updateActionButtonsState(null,oe.BN.Default)}},{key:"onCancelClick",value:function onCancelClick(){var e=this;this.isLocked?this.registerSubscription(this.service.unlockItem(this.dataItem).subscribe((function(){e.isLocked=!1,e.callback(null)}))):this.callback(null)}},{key:"onUnlockClick",value:function onUnlockClick(){var e=this;this.registerSubscription(this.service.unlockItem(this.dataItem).subscribe((function(){e.ngOnInit()})))}},{key:"getItem",value:function getItem(){if(this.dataItem.isEmpty)return(0,r.of)(this.dataItem);this.fallbackProperties=jr.getFallbackProperties(this.dataItem,this.route.snapshot);var e={itemKey:this.dataItem.data.Id,entityData:this.dataItem,fallbackProperties:this.fallbackProperties};return this.service.getItem(e)}},{key:"initFields",value:function initFields(e,t,n){var i=this;if(this.fieldSections&&!t.hasChanges)return(0,r.of)(void 0);t.message?this.notificationService.publishBasicNotification({message:t.message,look:"sf-mt--2xl sf-mb-2xl",filterParam:g.wC}):this.notificationService.close();var o,a=[],s=(0,Qn.Z)(n);try{for(s.s();!(o=s.n()).done;){var l=o.value,c=JSON.parse(JSON.stringify(l));c.tooltipModels=new Map(l.tooltipModels),a.push(c)}}catch(e){s.e(e)}finally{s.f()}var d=t.properties;a.forEach((function(e){var t=d.find((function(t){return t.name===e.name}));t&&(e.hidden=t.hidden,e.readonly=t.readonly,e.allowCreate=t.allowCreate,e.allowAdd=t.allowAdd,e.allowView=t.allowView,e.allowRemove=t.allowRemove,e.status=t.status,e.statusMessage=t.statusMessage,e.predefinedValue=t.predefinedValue)})),this.mediaFieldLimitationsConstraints&&this.mediaFieldLimitationsConstraints.settings&&a.forEach((function(e){return e.name===u.tX&&(e.allowedFileExtensions=i.mediaFieldLimitationsConstraints.settings.allowedFileExtensions,e.maximumAllowedSize=i.mediaFieldLimitationsConstraints.settings.maximumAllowedSize,e.acceptableMediaTypes=i.mediaFieldLimitationsConstraints.settings.acceptableMediaTypes),e}));var f=this.fieldsGeneratorService.generateFieldsFromTweaks(this.dataItem.metadata,a,e.data,t.readonly);return f.forEach((function(t){t.fields.forEach((function(t){t.settings.culture=e.culture,i.hasMultipleContentCultures&&void 0===t.settings.showForAllTranslationsLabel&&t.selector!==Y.U.address&&(t.settings.showForAllTranslationsLabel=!0),t.settings.entityData=e,t.settings.dataItem=e}))})),this.fieldSections=f,this.editableFields.updateMirroring(this.fieldSections,e),this.editExtender.modify({sections:this.fieldSections,dataItem:this.dataItem,parentId:this.parentId,isInit:!0,viewName:this.viewName,setName:getSetNameFromRoute(this.route)})}},{key:"setModuleNameIdentificator",value:function setModuleNameIdentificator(){this.moduleNameIdentificator=this.dataItem.metadata.setName,this.parentId&&this.dataItem.metadata.parent===u.gl.CLASSIFICATIONS&&(this.moduleNameIdentificator+=v.WP.DASH+this.parentId)}},{key:"getOperation",value:function getOperation(e){return e===$.q.create||e===$.q.edit?null:{action:e}}},{key:"setParentPropertyId",value:function setParentPropertyId(e){var t,n=this.dataItem.metadata.parentIdProperty,i=this.dataItem.metadata.isPropertyUpdatable(n),o=e&&!e.hasOwnProperty(n),a=this.prepopulatedFields&&this.prepopulatedFields[n]||this.parentId;i&&o&&a&&(this.dataItem.metadata.isMedia&&(a=null!==(t=this.dataItem.data.FolderId)&&void 0!==t?t:a),e[n]=a)}},{key:"handleFormClasses",value:function handleFormClasses(){this.formClasses=this.editExtender.getFormClasses(this.dataItem)}},{key:"handleKeyboardShortcuts",value:function handleKeyboardShortcuts(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,g.Xm.DYNAMIC_UPDATE_ITEM,!0).subscribe((function(t){if(t)switch(t.type){case ps.Publish:case ps.Save:case ps.Schedule:e.triggerKeyboardShortcutAction(t)}}));this.registerSubscription(t)}},{key:"triggerKeyboardShortcutAction",value:function triggerKeyboardShortcutAction(e){this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.editableFields.triggerValidCheck()&&(this.buttonsState&&this.buttonsState.primary&&this.buttonsState.primary.state!==oe.BN.Default||this.onActionButtonClicked(e.action)))}},{key:"getSiteData",value:function getSiteData(){var e=null;return this.route&&(e=this.route.parent?this.route.parent.snapshot.data.siteDataStore:null),e}}]),DynamicUpdateItemComponent}(E.zu);gl.ctorParameters=function(){return[{type:ki.bL},{type:qo},{type:Tr},{type:Ci.dg},{type:fe},{type:m.gz},{type:ga},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:$r},{type:Di},{type:Os},{type:Nt.a},{type:$s},{type:Yr},{type:tl}]},gl.propDecorators={editableFields:[{type:l.i9L,args:[Xo.I,{static:!0}]}],dataItem:[{type:l.IIB}],parentId:[{type:l.IIB}],prepopulatedFields:[{type:l.IIB}],mediaFieldLimitationsConstraints:[{type:l.IIB}],cultureData:[{type:l.IIB}]},gl=(0,a.gn)([(0,l.wA2)({template:Ho,providers:[ia.R,Os,ae._U,tl],selector:"sf-dynamic-update-item"}),(0,a.w6)("design:paramtypes",[ki.bL,qo,Tr,Ci.dg,fe,m.gz,ga,La,$r,Di,Os,Nt.a,$s,Yr,tl])],gl),function(e){e[e.Upload=0]="Upload",e[e.Select=1]="Select"}(ml||(ml={}));var hl=n(309),vl=n(310),bl=n(116),yl=function(){function BackendTweaksStore(e){(0,i.Z)(this,BackendTweaksStore),this.backendTweaksService=e,this.gridSubjects={},this.gridSortSubject={},this.formSubjects={},this.initializedGrids={},this.initializedForms={}}return(0,o.Z)(BackendTweaksStore,[{key:"getGridByType",value:function getGridByType(e){return this.getBehaviorSubject(this.gridSubjects,e).getValue()}},{key:"getGridSortExpression",value:function getGridSortExpression(e){return this.getBehaviorSubject(this.gridSortSubject,e).getValue()[0]}},{key:"getFormByType",value:function getFormByType(e,t){var n="".concat(e,"-").concat(t);return this.getBehaviorSubject(this.formSubjects,n).getValue()}},{key:"initializeGrid",value:function initializeGrid(e){var t=this;return!!this.initializedGrids[e]||(this.initializedGrids[e]=!0,this.backendTweaksService.getGridTweaks(e).then((function(n){return t.getBehaviorSubject(t.gridSubjects,e).next(t.loadGridData(n)),n.sortExpression&&t.getBehaviorSubject(t.gridSortSubject,e).next([n.sortExpression]),!0}),(function(e){return!1})))}},{key:"initializeForm",value:function initializeForm(e,t,n,i,o){var a=this,r="".concat(e,"-").concat(t);return this.initializedForms[r]?Promise.resolve(!0):this.backendTweaksService.getFormTweaks(e,t||g.jc.EDIT,n,i,o).then((function(e){return a.getBehaviorSubject(a.formSubjects,r).next(e),!0}),(function(e){return!1}))}},{key:"getBehaviorSubject",value:function getBehaviorSubject(e,t){var n=e[t];return n||(n=e[t]=new he.X([])),n}},{key:"loadGridData",value:function loadGridData(e){return(e.value||[]).map((function(e){return Object.freeze({name:e.Name,title:e.Title,visible:e.ShowInGrid,ordinal:e.ColumnOrdinal,boundPropertyName:e.BoundPropertyName,fieldMeta:e.FieldMetadata,isGrouping:e.IsGrouping})}))}}]),BackendTweaksStore}();yl.ctorParameters=function(){return[{type:Tr}]},yl=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Tr])],yl);var El={single:{title:{select:function select(e){return"Select ".concat(e)},upload:function upload(e){return"Upload ".concat(e)}},upload:function upload(e){return"Upload ".concat(e," from your computer")},drop:function drop(e){return"Drop ".concat(e," to upload")},select:function select(e){return"Select ".concat(e," from library")},use:{select:function select(e){return"Use this ".concat(e)},upload:function upload(e){return"Use this ".concat(e)}}},multiple:{title:{select:function select(e){return"Select ".concat(e)},upload:function upload(e){return"Upload ".concat(e)}},upload:function upload(e){return"Upload ".concat(e," from your computer")},drop:function drop(e){return"Drop ".concat(e," to upload")},select:function select(e){return"Select ".concat(e," from library")},dragAndDrop:function dragAndDrop(e){return"Drag and drop ".concat(e," here or")},use:{select:function select(e){return"Use selected"},upload:function upload(e){return"Use ".concat(e)}}}},Il=n(311),wl=function(){function MediaValidationHelper(){(0,i.Z)(this,MediaValidationHelper),this.fileSizePipe=new fn}return(0,o.Z)(MediaValidationHelper,[{key:"validate",value:function validate(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.mediaEntity=e,this.files=t,this.errorMessages=[];var i=!0;if(this.validFiles=[],0===this.files.length)return!1;for(var o=0;o=n}},{key:"getValidFiles",value:function getValidFiles(){return this.validFiles}},{key:"getErrorMessages",value:function getErrorMessages(){return this.errorMessages}},{key:"getAcceptableFileTypes",value:function getAcceptableFileTypes(e){return 1===e.length&&"*"===e[0]?"*":e.map((function(e){return".".concat(e)})).join(", ")}},{key:"getValidateExtensionsErrorMessage",value:function getValidateExtensionsErrorMessage(){return(0,d.TI)(this.mediaEntity.acceptableFileTypes)}},{key:"getValidateMediaTypeErrorMessage",value:function getValidateMediaTypeErrorMessage(e){var t="Invalid file type";return e.type&&(t+=" ".concat(e.type)),this.mediaEntity.acceptableMediaTypes&&this.mediaEntity.acceptableMediaTypes.length>0&&(t+=". Allowed file types: ".concat(this.mediaEntity.acceptableMediaTypes.join(", "))),"".concat(t,".")}},{key:"getValidateFileSizeErrorMessage",value:function getValidateFileSizeErrorMessage(){return"Invalid file size. Max size: "+this.fileSizePipe.transform(this.mediaEntity.maxSize)}},{key:"validateFileMediaType",value:function validateFileMediaType(e){var t=!0;if(this.mediaEntity.mediaFilterEnabled){var n=e.type&&e.type.length?e.type.split(";").shift():e.type;t=(0,d.aA)(n,this.mediaEntity.acceptableMediaTypes)}return t}},{key:"validateFileExtension",value:function validateFileExtension(e){var t=!0;return this.mediaEntity.mediaFilterEnabled&&(t=!e.name||(0,d.aA)((0,d.LG)(e.name),this.mediaEntity.acceptableFileTypes)),t}},{key:"validateFileSize",value:function validateFileSize(e){return 0===this.mediaEntity.maxSize||e.size<=this.mediaEntity.maxSize}}]),MediaValidationHelper}();wl=(0,a.gn)([(0,l.GSi)()],wl);var kl="recent",xl="libraries",Cl="selected",Sl=50,Bl="fileSelect",Dl=function(e){(0,f.Z)(FileSelectComponent,e);var t=(0,p.Z)(FileSelectComponent);function FileSelectComponent(e,n,o,a,r){var s;return(0,i.Z)(this,FileSelectComponent),(s=t.call(this)).scrollService=e,s.modalService=n,s.mediaValidationHelper=o,s.providersStore=a,s.notificationService=r,s.uploadEnabled=!0,s.fromUpload=null,s.allowCreate=!0,s.parentLibraryTitle="All libraries",s.showParentLibrary=!0,s.showTranslations=!1,s.path=[],s.showBreadcrumb=!1,s.isNonTranslatedSelectable=!0,s.hasLoadedRecentFiles=!1,s.search$=new Ft.xQ,s.searchRecent$=new Ft.xQ,s.defaultSortingParam=(0,Ae.Z)({},g.Tx.SORT,"".concat(g.hh.LAST_MODIFIED," ").concat(g.mX.DESCENDING)),s.onUploadFiles=new l.vpe,s}return(0,o.Z)(FileSelectComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.mediaEntity=this.mediaEntityData.metadata,this.toggleShowBreadcrumb(),this.initializeParentLibrary(),this.libraries=this.store.libraries,this.recentFiles=this.getFilteredFiles(this.store.recentFiles,this.mediaFilterEnabled,this.acceptableFileTypes,this.maxSize);var t=this.store.recentFiles.subscribe((function(){e.hasLoadedRecentFiles=!0,e.modalService.sendCommand(Bl,{name:dl,data:!0})}));this.registerSubscription(t),this.files=this.getFilteredFiles(this.store.files,this.mediaFilterEnabled,this.acceptableFileTypes,this.maxSize);var n=this.files.subscribe((function(){e.searchInProgress=!1}));if(this.registerSubscription(n),this.translations=new re.t(1),this.culturesByFile=new re.t(1),this.showTranslations){var i=this.mediaEntityData,o=ee.zw.fromEntityData(null,this.mediaEntityData),a={};this.store.getMediaFileLinks(i).subscribe((function(t){var n=t.value.map((function(e){return a[e.Id]=e.Cultures,ee.zw.fromEntityData(e,o)}));e.translations.next(n),e.culturesByFile.next(a)}));var r=this.translations.subscribe((function(){e.searchInProgress=!1}));this.registerSubscription(r)}else{var s=this.mediaEntityData;s.key&&this.store.getMediaFileLinks(s,!0).subscribe((function(t){if(t.value.length>0){var n=t.value[0].Cultures;if(n&&n.length>0){var i=n.length,o=i>1?"translations are":"translation is",a=i>1?"them":"it";e.notificationService.publishBasicNotification({message:"".concat(i," more ").concat(o," using current file and any changes will be applied to ").concat(a," too."),look:ya.WARNING,duration:g.De,filterParam:pl,closeButton:!1})}}}))}this.folders=this.store.folders,this.messages=this.multiple?El.multiple:El.single,this.formattedTypeName=this.formattedTypeName?this.formattedTypeName:(0,d.Q7)({plural:this.mediaEntity.setName,singular:this.mediaEntity.singularName.toLowerCase()},this.multiple,!0),this.acceptFileTypes=this.mediaValidationHelper.getAcceptableFileTypes(this.acceptableFileTypes),this.mediaEntityData.provider===v.VT?this.showProviderSelector?(this.librariesTabLook=oo,this.librariesTabComponentData={type:ao,properties:{entitySetName:this.mediaEntity.setName},afterComponentInit:function afterComponentInit(t){t.onChange.subscribe((function(t){e.mediaEntityData.metadata.selectedProvider=t.tabValue,e.mediaEntity.selectedProvider=t.tabValue,e.parentLibraryId&&e.store.getFolderById(e.mediaEntityData,e.parentLibraryId).subscribe((function(t){return e.parentLibraryTitle=t.data.Title})),e.store.loadRecentFiles(e.mediaEntityData,e.recentSearchTerm,Sl,void 0,void 0,e.useLiveData).subscribe(),e.onBackClick()})),t.onInit.subscribe((function(t){e.mediaEntityData.metadata.selectedProvider=t.tabValue,e.mediaEntity.selectedProvider=t.tabValue,e.initializeParentLibrary(),e.store.loadRecentFiles(e.mediaEntityData,e.recentSearchTerm,Sl,void 0,void 0,e.useLiveData).subscribe(),e.store.loadLibraries(e.mediaEntityData,e.searchTerm,Sl,null,e.defaultSortingParam,!0,e.useLiveData)}))}}):this.providersStore.getProviders(this.mediaEntity.setName).subscribe((function(t){var n=t.find((function(e){return e.isDefault}));n&&(e.mediaEntityData={metadata:e.mediaEntityData.metadata,culture:e.mediaEntityData.culture,provider:n.name},e.initializeParentLibrary(),e.store.loadRecentFiles(e.mediaEntityData,e.recentSearchTerm,Sl,void 0,void 0,e.useLiveData).subscribe(),e.store.loadLibraries(e.mediaEntityData,e.searchTerm,Sl,null,e.defaultSortingParam,!0,e.useLiveData))})):(this.store.loadRecentFiles(this.mediaEntityData,this.recentSearchTerm,Sl,void 0,void 0,this.useLiveData).subscribe(),this.store.loadLibraries(this.mediaEntityData,this.searchTerm,Sl,null,this.defaultSortingParam,!0,this.useLiveData)),this.initializeSearch()}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(FileSelectComponent.prototype),"ngOnDestroy",this).call(this),this.notificationService.close(pl)}},{key:"onUploadClick",value:function onUploadClick(e){var t=this.mediaValidationHelper.validate(this.mediaEntity,Array.from(e),!1);this.fileUploadErrorMessages=this.mediaValidationHelper.getErrorMessages(),t&&this.onUploadFiles.emit(e)}},{key:"onSelectSelectedTab",value:function onSelectSelectedTab(){this.scrollService.scrollToTop(!1),this.mainTabs.selectTabByName(Cl)}},{key:"isSelected",value:function isSelected(e){return!!this.mainTabs&&this.mainTabs.isSelected(e)}},{key:"onSearch",value:function onSearch(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v.WP.EMPTY_STRING;e===v.WP.EMPTY_STRING&&this.currentLibraryId?this.store.getFoldersAndContent(this.mediaEntityData,this.currentLibraryId,Sl,void 0,void 0,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData):this.search$.next(e)}},{key:"onSearchRecent",value:function onSearchRecent(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v.WP.EMPTY_STRING;this.searchRecent$.next(e)}},{key:"onSelectFile",value:function onSelectFile(e){if(this.isNonTranslatedSelectable||e.data.isTranslated)if(this.multiple){var t=this.value.findIndex((function(t){return t.data.Id===e.data.Id}));t<0?this.value.push(e):this.value.splice(t,1)}else this.value=[e]}},{key:"onSelectLibrary",value:function onSelectLibrary(e){this.path=[e],this.folders.next([]),this.currentLibraryId=e.data.Id,this.searchTerm=null,this.store.getFoldersAndContent(this.mediaEntityData,e.data.Id,Sl,null,this.defaultSortingParam,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.toggleShowBreadcrumb()}},{key:"onSelectFolder",value:function onSelectFolder(e){var t=this.path.findIndex((function(t){return t.data.Id===e.data.Id}));t>=0?this.path=this.path.slice(0,t+1):this.path.push(e),this.folders.next([]),this.currentLibraryId=e.data.Id,this.searchTerm=null,this.store.getFoldersAndContent(this.mediaEntityData,e.data.Id,Sl,null,this.defaultSortingParam,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.toggleShowBreadcrumb()}},{key:"onBackClick",value:function onBackClick(){this.searchTerm=null,this.folders.next([]),this.parentLibraryId?(this.store.getFoldersAndContent(this.mediaEntityData,this.parentLibraryId,Sl,null,this.defaultSortingParam,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.currentLibraryId=this.parentLibraryId):(this.currentLibraryId=null,this.store.loadLibraries(this.mediaEntityData,null,Sl,null,this.defaultSortingParam,!0,this.useLiveData)),this.toggleShowBreadcrumb()}},{key:"onRemoveFile",value:function onRemoveFile(e){var t=this.value.findIndex((function(t){return t.data.Id===e.data.Id}));this.value.splice(t,1)}},{key:"onCancelClick",value:function onCancelClick(){this.modalService.close()}},{key:"requestMoreItems",value:function requestMoreItems(){this.loadMore()}},{key:"onScroll",value:function onScroll(e){e.target.scrollHeight-e.target.scrollTop<=e.target.offsetHeight&&this.loadMore()}},{key:"toggleShowBreadcrumb",value:function toggleShowBreadcrumb(){this.showBreadcrumb=this.parentLibraryId!==this.currentLibraryId}},{key:"initializeSearch",value:function initializeSearch(){var e=this,t=this.search$.pipe((0,Me.b)(500)).subscribe((function(t){e.searchInProgress=!0;var n=t?t.trim():t;e.store.search(e.mediaEntityData,n,Sl,!0,e.showParentLibrary,e.showParentLibrary?void 0:e.parentLibraryId)}));this.registerSubscription(t);var n=this.searchRecent$.pipe((0,Me.b)(500)).subscribe((function(t){var n=t?t.trim():t;e.store.searchRecent(e.mediaEntityData,n,Sl,e.useLiveData,e.showParentLibrary?void 0:e.parentLibraryId)}));this.registerSubscription(n)}},{key:"loadMore",value:function loadMore(){this.isSelected(kl)&&this.hasLoadedRecentFiles?this.store.loadMoreRecent(this.mediaEntityData,this.recentSearchTerm,Sl):this.isSelected(xl)&&this.store.loadMore(this.mediaEntityData,this.searchTerm,Sl,!1,!1,void 0,this.defaultSortingParam,!0)}},{key:"markTranslated",value:function markTranslated(e){var t=e.culture,n=(0,d.iK)(e.data);return n.isTranslated=!t||e.data.AvailableLanguages.some((function(e){return e===t})),ee.zw.fromEntityData(n,e)}},{key:"markAvailable",value:function markAvailable(e,t,n,i){var o={},a=!0;i&&!(0,d.aA)(e.data.Extension?e.data.Extension.substr(1):v.WP.EMPTY_STRING,t)&&(o.acceptableFileTypes=this.mediaValidationHelper.getAcceptableFileTypes(t),a=!1),n>0&&e.data.TotalSize>n&&(o.maxSize=n,a=!1);var r=(0,d.iK)(e.data);return r.failedValidation=a?null:o,ee.zw.fromEntityData(r,e)}},{key:"setProvider",value:function setProvider(e){return ee.zw.from(e.data,e.metadata,this.mediaEntity.selectedProvider||this.mediaEntityData.provider,e.culture)}},{key:"getFilteredFiles",value:function getFilteredFiles(e,t,n,i){var o=this;return e.pipe((0,w.U)((function(e){return e.map((function(e){return o.markTranslated(e)}))})),(0,w.U)((function(e){return e.map((function(e){return o.setProvider(e)}))})),(0,w.U)((function(e){return e.map((function(e){return o.markAvailable(e,n,i,t)}))})))}},{key:"initializeParentLibrary",value:function initializeParentLibrary(){var e=this;this.parentLibraryId&&(this.store.getFoldersAndContent(this.mediaEntityData,this.parentLibraryId,Sl,void 0,void 0,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.store.getFolderById(this.mediaEntityData,this.parentLibraryId).subscribe((function(t){return e.parentLibraryTitle=t.data.Title})))}}]),FileSelectComponent}(E.zu);Dl.ctorParameters=function(){return[{type:Nt.a},{type:ki.bL},{type:wl},{type:eo},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},Dl.propDecorators={mainTabs:[{type:l.i9L,args:["mainTabs",{static:!0}]}],onUploadFiles:[{type:l.r_U}]},Dl=(0,a.gn)([(0,l.wA2)({template:Il}),(0,a.w6)("design:paramtypes",[Nt.a,ki.bL,wl,eo,La])],Dl);var Tl=n(312),Ml=n(208),Nl=n(313),Fl=n(222),Pl=function(e){(0,f.Z)(BulkComponent,e);var t=(0,p.Z)(BulkComponent);function BulkComponent(){var e;return(0,i.Z)(this,BulkComponent),(e=t.apply(this,arguments)).onFieldChange=new re.t(1),e.wrapperClass="-medium",e.bulkWrapperMap=new Map([[Fl.A.document.single,"-normal"],[Fl.A.video.single,"-normal"]]),e}return(0,o.Z)(BulkComponent,[{key:"ngOnInit",value:function ngOnInit(){this.title="Bulk edit of ".concat(this.type," properties");var e=this.bulkWrapperMap.get(this.type);e&&(this.wrapperClass=e)}},{key:"canCloseCallback",value:function canCloseCallback(e){var t=!0,n=null;return e.data&&e.data.data&&this.wrapperComponents.forEach((function(e){var i=!e.hasErrors();t&&(t=i),n||i||(n=e)})),n&&n.scrollToField(),t}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.wrapperComponents=this.formwrapperComponentsQuery.toArray();var t=this.formwrapperComponentsQuery.changes.subscribe((function(t){e.wrapperComponents=t.toArray()}));this.registerSubscription(t),this.items.forEach((function(t){if(t.form){var n=t.form.valueChanges.subscribe((function(){e.onFieldChange.next(t)}));e.registerSubscription(n)}}))}},{key:"generateCssClass",value:function generateCssClass(e){var t=[],n=[Fl.A.document.single,Fl.A.video.single];return t.push(v.WP.DASH+e.selector),n.indexOf(e.key)>-1&&t.push(v.WP.DASH+e.key),e.cssClass&&t.push(e.cssClass),this.isColumnWide(e)&&t.push("-wide"),t.join(v.WP.INTERVAL)}},{key:"isColumnWide",value:function isColumnWide(e){if(e.settings&&e.settings.type){if(e.settings.type===u.w_.VIDEO)return!0;if(e.settings.type===u.w_.IMAGE&&!e.settings.allowMultiple)return!0}return!1}}]),BulkComponent}(E.zu);Pl.propDecorators={formwrapperComponentsQuery:[{type:l.vR,args:[Ja.l]}]},Pl=(0,a.gn)([(0,l.wA2)({selector:"sf-bulk-edit-properties",template:Nl})],Pl);var Rl=n(314),Ql=function(e){(0,f.Z)(SimpleMediaComponent,e);var t=(0,p.Z)(SimpleMediaComponent);function SimpleMediaComponent(e){var n;return(0,i.Z)(this,SimpleMediaComponent),(n=t.call(this)).mediaRecognizerService=e,n}return(0,o.Z)(SimpleMediaComponent,[{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(SimpleMediaComponent.prototype),"writeValue",this).call(this,e),e&&(this.previewerData=this.mediaRecognizerService.getComponentData(e))}}]),SimpleMediaComponent}(Z.F);Ql.ctorParameters=function(){return[{type:hi}]},Ql=(0,a.gn)([(0,l.wA2)({selector:"sf-simple-media",template:Rl}),(0,a.w6)("design:paramtypes",[hi])],Ql);var Ul=n(315),Ll=150,Ol=10,zl={width:100,height:100};function mapForLayout(e,t,n){var i=zl;if(t)switch(t.singularName.toLowerCase()){case Fl.A.document.single:i={width:200,height:260};break;case Fl.A.image.single:var o=e.Width||e.width||160,a=e.Height||e.height||160;o2&&void 0!==arguments[2]?arguments[2]:Ll,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ol,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Number.POSITIVE_INFINITY,a=arguments.length>5?arguments[5]:void 0,r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,s=arguments.length>7?arguments[7]:void 0,l={containerWidth:t,targetRowHeight:n,maxNumRows:o,targetRowHeightTolerance:0,containerPadding:0,boxSpacing:i},layout=Ul(e.map((function(e){return mapForLayout(e,a,s?n:null)})),l);return layout.boxes=layout.boxes.map((function(e,t){return e.index=t,e})),layout.index=r,layout.containerWidth=this.getLayoutContianerWidth(layout,i),layout}},{key:"getLayoutContianerWidth",value:function getLayoutContianerWidth(e,t){for(var n=0,i=0,o=0;o0&&e.boxes[o].top>e.boxes[o-1].top&&n++,0===n&&(i+=e.boxes[o].width+t);return i-t}}]),LayoutService}();_l=(0,a.gn)([(0,l.GSi)()],_l);var Vl,Gl=function(e){(0,f.Z)(FileLayoutBaseComponent,e);var t=(0,p.Z)(FileLayoutBaseComponent);function FileLayoutBaseComponent(e){var n;return(0,i.Z)(this,FileLayoutBaseComponent),(n=t.call(this)).layoutService=e,n.imageInputOffset=55,n}return(0,o.Z)(FileLayoutBaseComponent,[{key:"recalculateLayout",value:function recalculateLayout(e,t){if(this.multiple&&t){var n=Ll;this.mediaEntityData.metadata.isMultimedia||(n=290),"auto"!==t.nativeElement.style.width&&(t.nativeElement.style.width="auto"),this.layout=this.layoutService.layout(e,t.nativeElement.offsetWidth,n,Ol,Number.POSITIVE_INFINITY,this.mediaEntityData.metadata);for(var i=0,o=0,a=0;a0&&this.layout.boxes[a].top>this.layout.boxes[a-1].top&&i++,this.layout.boxes[a].row=i,0===i&&(o+=this.layout.boxes[a].width+Ol);0===i&&o>0&&(t.nativeElement.style.width=o+"px")}}}]),FileLayoutBaseComponent}(E.zu),Hl="librarySelect",Zl="bulkEditRequired",Yl=[h.E.URL_NAME,h.E.TITLE,h.E.ALTERNATIVE_TEXT,h.E.MEDIA_FILE_URL_NAME],jl=Vl=function(e){(0,f.Z)(FileUploadComponent,e);var t=(0,p.Z)(FileUploadComponent);function FileUploadComponent(e,n,o,a,r,s,c,d,u,f,p,A){var m;return(0,i.Z)(this,FileUploadComponent),(m=t.call(this,o)).mediaRecognizerService=e,m.fileInfoService=n,m.layoutService=o,m.modalService=a,m.route=r,m.mediaValidationHelper=s,m.router=c,m.communicationService=d,m.notificationService=u,m.window=f,m.store=p,m.hierarchicalServices=A,m.search=new l.vpe,m.selectedProvider=new l.vpe,m.chipsConfig={showRecentLabel:!1,showSelectedItemAsActive:!0,focusFirstNode:!1,showNoResultsLabel:!0,actions:[]},m.libraryChipContentName="library",m.isSingleSelection=!0,m.parentId=null,m.folderId=null,m.targetLibraryId=null,m.centerLibraryLabel=!0,m.allowCreate=!1,m.areDropdownChipsFiltered=!1,m.isAllFieldsValid=!1,m.bulkFiles=[],m.modalItems$=new re.t(1),m.isInCreate=!1,m.showAllLibrariesLoading=!0,m}return(0,o.Z)(FileUploadComponent,[{key:"files",get:function get(){return this._files},set:function set(e){this._files=e,this.bulkFiles=this.cloneArray(e)}},{key:"selectedLibrary",get:function get(){return this._selectedLibrary},set:function set(e){!e||e.isSeparator||e.isLink||(this.errorMessage=null,this._selectedLibrary=e,e.isTranslated=!0,this.selectedLibraries=[e],this.parentId=e.RootId?e.RootId:e.Id,this.folderId=e.RootId?e.Id:null)}},{key:"displayedLibraries",get:function get(){return this.dropdownChips.slice(0,-2)},set:function set(e){this.dropdownChips=e.slice().filter((function(e){return!e.inactive}))}},{key:"lastUsedLibrary",get:function get(){return Vl.lastUsedLibraryCache[this.mediaEntity.singularName.toLowerCase()]},set:function set(e){Vl.lastUsedLibraryCache[this.mediaEntity.singularName.toLowerCase()]=e}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.mediaEntity=this.mediaEntityData.metadata,this.messages=this.multiple?El.multiple:El.single,this.formattedTypeName=(0,d.Q7)({plural:this.mediaEntity.setName,singular:this.mediaEntity.singularName.toLowerCase()},this.multiple,!0),this.acceptFileTypes=this.mediaValidationHelper.getAcceptableFileTypes(this.mediaEntity.acceptableFileTypes),this.initializeLibraries=this.initializeLibraries&&!this.selectedLibrary,this.initializeLibraries||this.selectedLibrary||(this.selectedLibraries=[]),this.registerSubscription(this.libraries.subscribe((function(t){e.initializeLibraries&&(e.initLibraries(t),e.initializeLibraries=!1),e.areDropdownChipsFiltered?e.chipsConfig.focusFirstNode=t&&t.length>0:e.chipsConfig.focusFirstNode=!1,e.displayedLibraries=t?t.map((function(e){return(0,d.kI)(e.data)})):[],t&&1===t.length&&e.targetLibraryId&&(e.chipsConfig.hideEditButton=!0),(t&&0===t.length||e.chipsConfig.hideEditButton)&&(e.centerLibraryLabel=!1),e.chipsConfig.actions=[],e.allowCreate&&e.chipsConfig.actions.push({label:"Create a library",action:e.onCreateLibraries.bind(e)}),e.chipsConfig.actions.push({label:"Show all libraries",action:e.onShowAllLibraries.bind(e)})}))),this.uniqueInputId=(0,d.M8)(),this.files=[],this.onSelectedForUpload(this.selectedFiles)}},{key:"initLibraries",value:function initLibraries(e){var t=this;if(e&&e.length){var n=e.slice().filter((function(e){return!e.data.inactive}));n.length?this.lastUsedLibrary&&n.some((function(e){return e.data.Id===t.lastUsedLibrary.Id}))?this.selectedLibrary=this.lastUsedLibrary:this.selectedLibrary=(0,d.kI)(n[0].data):this.selectedLibraries=[]}else this.selectedLibraries=[]}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.wrapperComponents=this.formwrapperComponentsQuery.toArray(),this.wrapperSubscriptions=this.formwrapperComponentsQuery.changes.subscribe((function(t){e.wrapperComponents=t.toArray()}))}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.wrapperSubscriptions&&this.wrapperSubscriptions.unsubscribe(),this.notificationService.close(pl)}},{key:"canCloseCallback",value:function canCloseCallback(e){var t=!0;return e.data&&e.data.data&&(this.wrapperComponents.forEach((function(e){var n=!e.hasErrors();t&&(t=n)})),this.files.length&&this.multiple&&!this.isAllFieldsValid&&(t=!1,this.openRequiredFieldsBulkEdit(e.data.data))),t}},{key:"setCloseModalCallback",value:function setCloseModalCallback(e){this._closeModalCallback=e}},{key:"onSelectedForUpload",value:function onSelectedForUpload(e){var t=this;return new Promise((function(n,i){t.libraries.pipe((0,kn.P)()).subscribe((function(o){var a=o.find((function(e){return e.key===t.parentId}));t.mediaValidationHelper.validate(t.mediaEntity,Array.from(e),!0);var r=t.mediaValidationHelper.getValidFiles();t.justAddedFiles=r,t.fileUploadErrorMessages=t.mediaValidationHelper.getErrorMessages(),t.recalculateLayout(t.files.concat(t.justAddedFiles),t.wrapper);var s=r.map((function(e){return t.fileInfoService.createFileInfo(e,t.mediaEntity)}));return Promise.all(s).then((function(e){var i=[];e.forEach((function(e){e.isCorrupted?t.fileUploadErrorMessages.push("Invalid file."):i.push(e)})),t.files=t.files.concat(i),t.fileUploadErrorMessages=Array.from(new Set(t.fileUploadErrorMessages)),t.initFields(),t.justAddedFiles=[],t.recalculateLayout(t.files,t.wrapper),t.validateLibrarySize(t.files,a),n()})).catch(i)}))}))}},{key:"onTitleBlur",value:function onTitleBlur(e){this.resetWhenEmpty(e.form,h.E.TITLE,e.data[h.E.TITLE])}},{key:"onResize",value:function onResize(){this.window.document.fullscreenElement||this.recalculateLayout(this.files.concat(this.justAddedFiles),this.wrapper)}},{key:"onRemoveClick",value:function onRemoveClick(e){var t=this;this.libraries.pipe((0,kn.P)()).subscribe((function(n){var i=n.find((function(e){return e.key===t.parentId})),o=t.files.findIndex((function(t){return t===e}));t.files.splice(o,1),t.bulkFiles.splice(o,1),t.selectedFiles.splice(o,1),t.fileUploadErrorMessages=[],t.validateLibrarySize(t.files,i),t.recalculateLayout(t.files,t.wrapper)}))}},{key:"getFilesForUpload",value:function getFilesForUpload(){var e=this;if(this.files)return this.lastUsedLibrary=this.selectedLibrary,this.files.map((function(t){var n=Object.keys(t.form.value).reduce((function(n,i){var o=t.form.value[i];return null!==o&&e.mediaEntity.singularName.toLowerCase()!==i&&(n[i]=o),n}),{});return{name:t.name,title:t.title,content:t.content,contentType:t.contentType,width:t.width,height:t.height,total:t.size,data:n,dataUrl:t.dataUrl,extension:t.extension,size:t.size}}))}},{key:"onSelectLibrary",value:function onSelectLibrary(e){e.action&&"function"==typeof e.action?e.action():this.selectedLibrary=(0,d.kI)(e),this.validateLibrarySize(this.files,this.selectedLibrary)}},{key:"onSearchChips",value:function onSearchChips(e){this.areDropdownChipsFiltered=!!e,this.search.emit(e)}},{key:"onShowAllLibraries",value:function onShowAllLibraries(){var e=this;this.defaultFieldName=this.mediaEntityData.metadata.defaultFieldName,this.isInCreate=this.route.snapshot.data.itemData&&this.route.snapshot.data.itemData.entityData.isEmpty;var t=this.route.parent.snapshot.data[g.u0.metadata],n=y.xe.getParentSetName(this.mediaEntityData),i=t.entities[n];this.serviceAware=new ti((function(t){return e.loadMore(t,e.mediaEntityData,e.isInCreate)}),(function(t){return e.expandChildren(t,e.mediaEntityData)})),this.hierarchicalServices&&this.hierarchicalServices.forEach((function(t){t.isTypeSupported(e.mediaEntityData)&&(e.hierarchicalService=t)}));var o=this.route.snapshot.parent.data[g.u0.siteDataStore];this.hierarchicalService.siteId=o.Id,this.getModalItems(this.mediaEntityData);var a={type:ei,properties:{value$:this.modalItems$,treeConfig:{multiSelection:!1,isHierarchical:!0,dataProperties:{toolTipField:"tooltip"}},serviceAware:this.serviceAware,typeNames:{plural:i.displayName,singular:i.singularName},defaultField:i.defaultFieldName,loading:this.showAllLibrariesLoading},removePreviousView:!1},r=[new ki.pu(_e.USE_SELECTED),new ki.Lw(_e.CANCEL)],s=new ki.np(a,(function(t){if(t.data&&t.data.data){var n=t.component;n&&n.selected&&1===n.selected.length&&e.onSelectLibrary(n.selected[0])}}),r,null,"-bottom");this.modalService.setMapping(s,Hl),this.modalService.open(this.route,Hl)}},{key:"onCreateLibraries",value:function onCreateLibraries(){var e=this,t=this.route.parent.snapshot.data[g.u0.metadata],n=y.xe.getParentSetName(this.mediaEntityData),i=t.entities[n],o=ee.zw.emptyItem({metadata:i,provider:this.mediaEntityData.metadata.selectedProvider||this.mediaEntityData.provider,culture:this.mediaEntityData.culture}),a=new zo(this.modalService,this.router),r={dataItem:o,siteData:this.route.parent.snapshot.data.siteDataStore,dialogType:gl};this.communicationService.next(new y.sx({hideStorageProvider:!0})),a.execute({currentRoute:this.route.parent.parent,data:r,model:null}).subscribe((function(t){t.success&&(e.selectedLibrary=(0,d.kI)(t.dataItem.data),e.store.getFolderById(e.mediaEntityData,e.selectedLibrary.Id).subscribe((function(t){e.validateLibrarySize(e.files,t.data)}))),e.communicationService.next(new y.sx({hideStorageProvider:!1}))}))}},{key:"onProviderSelectionChange",value:function onProviderSelectionChange(e){this.initializeLibraries=!0,this.selectedProvider.emit(e.tabValue)}},{key:"resetWhenEmpty",value:function resetWhenEmpty(e,t,n){var i=e.getRawValue();(i[t]||v.WP.EMPTY_STRING).trim().length||e.setValue(Object.assign(i,(0,Ae.Z)({},t,n||v.WP.EMPTY_STRING)))}},{key:"initFields",value:function initFields(){var e=this,t=this.fields.find((function(e){return e.key===h.E.ALTERNATIVE_TEXT})),n=this.fields.filter((function(t){return Yl.indexOf(t.key)<0&&!e.multiple&&t.settings.required})),i=this.fields.filter((function(e){return Yl.indexOf(e.key)<0&&e.settings.required}));if(this.isAllFieldsValid=n.length===i.length,t){var o=t.settings;t.settings.title="Alternative text",this.multiple&&(o.placeholder="Alt text",o.look="inline sf-mt-4xs"),n.unshift(t),i.unshift(t)}this.multiple&&(i.unshift(this.createMediaModel()),i.forEach((function(e){e.selector!==Y.U.shortText&&e.selector!==Y.U.textArea||(e.settings.placeholder="Add "+e.settings.title.toLowerCase(),e.settings.look="inline"),e.settings.showTitle=!1}))),this.files.length>0&&(this.assignFields(this.files,n),this.assignFields(this.bulkFiles,i))}},{key:"assignFields",value:function assignFields(e,t){var n,i=this,o=(0,Qn.Z)(e);try{var a=function _loop(){var e=n.value;e.fields=new Array,t.forEach((function(t){var n=(0,d.I8)(t);t.key===i.mediaEntity.singularName.toLowerCase()&&(e.src=e.dataUrl,e.item=e,e.playable=!1,e.inGridView=!0,n.value=e),n.settings.key=e.title,n.settings.culture=i.mediaEntityData.culture,e.fields.push(n),e.form.setControl(t.key,new ze.NI(n.value,t.settings.validators))}))};for(o.s();!(n=o.n()).done;)a()}catch(e){o.e(e)}finally{o.f()}}},{key:"openRequiredFieldsBulkEdit",value:function openRequiredFieldsBulkEdit(e){var t=this;this.updateBulkFields();var n=[new ki.pu(El.multiple.use.select(null)),new ki.Lw(_e.CANCEL)],i={type:Pl,properties:{type:this.mediaEntity.singularName.toLowerCase(),items:this.bulkFiles,parentComponent:this}},o=new ki.np(i,(function(n){if(n.data&&n.data.data){t.isAllFieldsValid=!0;var i=Object.assign(Object.assign({},n.data),{data:e});t._closeModalCallback({component:t,data:i})}}),n,null,null);this.modalService.setMapping(o,Zl),this.modalService.open(this.route,Zl)}},{key:"updateBulkFields",value:function updateBulkFields(){var e=this;this.files.forEach((function(t){var n=e.bulkFiles.find((function(e){return e.content===t.content}));n&&Object.keys(t.form.controls).forEach((function(e){var i=t.form.controls[e],o=n.fields.find((function(t){return t.key===e}));o&&(o.value=i.value)}))}))}},{key:"createMediaModel",value:function createMediaModel(){var e=new j.P1(this.mediaEntity.singularName.toLowerCase(),!1);return new jo.W({key:this.mediaEntity.singularName.toLowerCase(),selector:"sf-simple-media",settings:e,registration:{writeComponent:Ql}})}},{key:"cloneArray",value:function cloneArray(e){if(!e)return e;var t=[];return e.forEach((function(e){var n={};Object.assign(n,e),t.push(n)})),t}},{key:"validateLibrarySize",value:function validateLibrarySize(e,t){if(t){var n,i=0;e.forEach((function(e){return i+=e.size})),i/=1024,n=t.data?t.data:t;var o=this.mediaValidationHelper.validateLibrarySizeExceeded(i,n.TotalLibrarySizeInKb,n.MaxLibrarySizeInKb),a=n.MaxLibrarySizeInKb/1024,r="The selected ".concat(this.formattedTypeName," exceed the maximum allowed size of"),s="".concat(r," ").concat(a," MB.");o?(this.notificationService.publishBasicNotification({message:s,look:ya.ERROR,duration:g.De,filterParam:pl,closeButton:!0}),this.files.forEach((function(e){Array.isArray(e.errors)?e.errors.some((function(e){return e.includes(s)}))||e.errors.push(s):e.errors=[s]}))):(this.notificationService.close(pl),this.files.forEach((function(e){if(Array.isArray(e.errors)){var t=e.errors.findIndex((function(e){return e.includes(r)}));e.errors.splice(t,1)}})))}}},{key:"loadMore",value:function loadMore(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e.parentId=this.targetLibraryId,this.showAllLibrariesLoading=!0,this.hierarchicalService.loadMore(e,t,null,null,i).pipe((0,kn.P)(),(0,w.U)((function(e){return n.mapAndUnlockItems(e)})))}},{key:"expandChildren",value:function expandChildren(e,t){var n=this;return this.showAllLibrariesLoading=!0,this.hierarchicalService.expandChildren(e,t,null).pipe((0,kn.P)(),(0,w.U)((function(e){return n.mapAndUnlockItems(e)})))}},{key:"getModalItems",value:function getModalItems(e){var t=this;this.showAllLibrariesLoading=!0,this.hierarchicalService.getModalItems(e,null).pipe((0,kn.P)()).subscribe((function(e){t.modalItems$.next(t.mapAndUnlockItems(e))}))}},{key:"mapAndUnlockItems",value:function mapAndUnlockItems(e){return(0,d.I8)({dataItems:e.dataItems.map((function(e){return e.data})),totalCount:e.totalCount})}}]),FileUploadComponent}(Gl);jl.lastUsedLibraryCache={},jl.ctorParameters=function(){return[{type:hi},{type:Ml.w},{type:_l},{type:ki.bL},{type:m.gz},{type:wl},{type:m.F0},{type:Di},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ks},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Xa]}]}]},jl.propDecorators={wrapper:[{type:l.i9L,args:["wrapper",{static:!0}]}],search:[{type:l.r_U}],selectedProvider:[{type:l.r_U}],formwrapperComponentsQuery:[{type:l.vR,args:[Ja.l]}],onResize:[{type:l.L6J,args:["window:resize"]}]},jl=Vl=(0,a.gn)([(0,l.wA2)({selector:"sf-file-upload",template:Tl}),(0,a.w6)("design:paramtypes",[hi,Ml.w,_l,ki.bL,m.gz,wl,m.F0,Di,La,Window,Ks,Array])],jl);var Wl,Jl,ql,Xl,Kl=n(317),$l="fileUploadProgress",ec="retryFailedUpload",tc=function(e){(0,f.Z)(FileUploadProgressComponent,e);var t=(0,p.Z)(FileUploadProgressComponent);function FileUploadProgressComponent(e,n){var o;return(0,i.Z)(this,FileUploadProgressComponent),(o=t.call(this,e)).layoutService=e,o.modalWindowService=n,o.files=[],o.fileUploads=[],o.multiple=!0,o.selectedLibraries=[],o.chipsConfig={showRecentLabel:!1,showSelectedItemAsActive:!0,focusFirstNode:!1,showNoResultsLabel:!0,hideEditButton:!0},o.isFirstRun=!0,o}return(0,o.Z)(FileUploadProgressComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.uploadingFiles.subscribe((function(t){var n=t.items;0===e.files.length&&n.length>0||e.files.length!==n.length?(e.files=n.map((function(t){return t.contentType="".concat(e.mediaEntityData.metadata.singularName.toLocaleLowerCase(),"/"),t})),e.fileUploads=n.map((function(e){return e.upload}))):n.forEach((function(t){var n=e.files.find((function(e){return e.upload.id===t.upload.id}));n&&(n.upload=t.upload)}));var i=!0;e.files.forEach((function(e,t){e.upload.loaded=n[t].upload.loaded,e.upload.failure=n[t].upload.failure,e.upload.total=n[t].upload.total,e.upload.success=n[t].upload.success,e.upload.success||e.upload.failure||(i=!1)})),i&&(e.modalWindowService.sendCommand($l,{name:dl,data:!0}),e.modalWindowService.sendCommand($l,{name:fl,data:!0})),e.isFirstRun&&(e.isFirstRun=!1,e.recalculateLayout(e.fileUploads,e.wrapper))}));this.registerSubscription(t),this.messages=this.multiple?El.multiple:El.single,this.formattedTypeName=(0,d.Q7)({plural:this.mediaEntityData.metadata.setName,singular:this.mediaEntityData.metadata.singularName},this.multiple,!0)}},{key:"onResize",value:function onResize(){this.recalculateLayout(this.fileUploads,this.wrapper)}},{key:"retryUpload",value:function retryUpload(e){this.modalWindowService.sendCommand($l,{name:ec,data:e})}},{key:"showProgressLabels",value:function showProgressLabels(){return y.xe.isImageEntity(this.mediaEntityData)}}]),FileUploadProgressComponent}(Gl);tc.ctorParameters=function(){return[{type:_l},{type:ki.bL}]},tc.propDecorators={wrapper:[{type:l.i9L,args:["wrapper",{static:!0}]}],uploadingFiles:[{type:l.IIB}],onResize:[{type:l.L6J,args:["window:resize"]}]},tc=(0,a.gn)([(0,l.wA2)({selector:"sf-file-upload-progress",template:Kl}),(0,a.w6)("design:paramtypes",[_l,ki.bL])],tc),function(e){e.RegenerateThumbnails="RegenerateThumbnails",e.MoveLibrary="MoveLibrary",e.Reindex="Reindex"}(Wl||(Wl={})),function(e){e[e.Restart=0]="Restart",e[e.Stop=1]="Stop",e[e.Resume=2]="Resume",e[e.Delete=3]="Delete"}(Jl||(Jl={})),function(e){e[e.Pending=0]="Pending",e[e.Started=1]="Started",e[e.Failed=2]="Failed",e[e.Stopped=3]="Stopped",e[e.Done=4]="Done"}(ql||(ql={})),function(e){e.RegenerateThumbnails="Telerik.Sitefinity.Modules.Libraries.LibraryThumbnailsRegenerateTask",e.MoveLibrary="Telerik.Sitefinity.Modules.Libraries.LibraryMoveTask",e.MoveLibraryAlternative="LibraryMoveTask",e.StorageRelocation="Telerik.Sitefinity.Modules.Libraries.LibraryRelocationTask",e.StorageRelocationAlternative="LibraryRelocationTask",e.TaxonMove="Telerik.Sitefinity.Taxonomies.ScheduledTasks.TaxonMoveTask",e.FlatTaxonMerge="Telerik.Sitefinity.Taxonomies.ScheduledTasks.FlatTaxonMergeTask",e.Reindex="Telerik.Sitefinity.Publishing.ReindexTask",e.ChangeLibraryUrl="",e.DamMigrationTask="Telerik.Sitefinity.Libraries.DamMigration.DamMigrationTask"}(Xl||(Xl={}));var nc,ic=function(){function BackgroundTaskDataParser(){(0,i.Z)(this,BackgroundTaskDataParser)}return(0,o.Z)(BackgroundTaskDataParser,null,[{key:"parse",value:function parse(e){if(e.TaskName===Xl.RegenerateThumbnails){var t=e.TaskData.split(";");return{libraryId:t[0],provider:t[1],thumbnailProfiles:t.slice(2,t.length-2),siteId:t[t.length-1]}}if(e.TaskName===Xl.MoveLibraryAlternative){var n=JSON.parse(e.TaskData);return{itemId:n.ItemId,itemIds:n.ItemIDs,libraryId:n.ParentId,provider:n.LibraryProvider,newItemId:n.NewItemId,libraryTitle:n.LibraryTitle,siteId:null}}if(e.TaskName===Xl.StorageRelocationAlternative){var i=e.TaskData.split(";");return{libraryId:i[0],provider:i[1],libraryTitle:i[2]}}if(e.TaskName===Xl.DamMigrationTask){var o=JSON.parse(e.TaskData);return{libraryId:o.LibraryId,provider:o.ProviderName}}return e.TaskData}}]),BackgroundTaskDataParser}(),oc=function(){function SearchBackgroundTaskDataParser(){(0,i.Z)(this,SearchBackgroundTaskDataParser)}return(0,o.Z)(SearchBackgroundTaskDataParser,null,[{key:"parse",value:function parse(e){var t={};if(e.TaskName===Xl.Reindex){var n=JSON.parse(e.TaskData);t={indexId:n.PublishingPointId,siteIds:n.SiteIds}}return t}}]),SearchBackgroundTaskDataParser}(),ac="longRunningTaskStarted",rc="longRunningTaskCompleted",sc=nc=function(){function LongRunningTasksService(e,t,n,o,a){var r=this;(0,i.Z)(this,LongRunningTasksService),this.dynamicItemStore=e,this.window=t,this.zone=n,this.providerStore=o,this.communicationService=a,this.progress=new he.X([]),this.onProgress=new Ft.xQ,nc.subscription&&nc.subscription.unsubscribe(),this.stopService(),nc.subscription=this.onProgress.subscribe((function(e){var t=r.progress.getValue();t.forEach((function(n,i){e.find((function(e){return n.Id===e.Id}))||r.processCompletedOrDeletedTask(t,n,i)})),e.forEach((function(e){var n=t.findIndex((function(t){return e.Id===t.Id}));if(n>=0){var i=t[n];r.updateTaskValues(i,e)}else t.push(Object.assign(e,{lastUpdateDate:Date.now()}))})),r.progress.next(t),r.initTimer(t)}))}return(0,o.Z)(LongRunningTasksService,[{key:"init",value:function init(e){this.entityData=e,this.progressSubscription&&this.progressSubscription.unsubscribe(),this.progress.next([]),this.getProgress(e)}},{key:"getTasks",value:function getTasks(e){var t=this;return new wn.y((function(n){t.executeServiceCall(e).subscribe((function(e){n.next(e)}))}))}},{key:"refresh",value:function refresh(){this.getProgress(this.entityData)}},{key:"start",value:function start(e,t){var n=this;return this.manageTask(e,t,null).pipe((0,ra.b)((function(e){var t=new CustomEvent(ac);n.window.dispatchEvent(t),n.addTask(e[0])})))}},{key:"stop",value:function stop(e){var t=this;this.manageTask(e,null,Jl.Stop).subscribe((function(e){t.updateTask(e[0])}))}},{key:"resume",value:function resume(e){var t=this;this.manageTask(e,null,Jl.Resume).subscribe((function(e){t.updateTask(e[0])}))}},{key:"retry",value:function retry(e){var t=this;this.manageTask(e,null,Jl.Restart).subscribe((function(e){t.updateTask(e[0])}))}},{key:"delete",value:function _delete(e){var t=this;this.manageTask(e,null,Jl.Delete).subscribe((function(n){var i=t.progress.getValue(),o=i.findIndex((function(t){return t.Id===e}));o>-1&&(i[o].Status=ql[ql.Failed.toString()],t.onProgress.next(i.filter((function(t){return t.Id!==e}))))}))}},{key:"stopService",value:function stopService(){this.entityData=null,nc.timerId&&this.window.clearInterval(nc.timerId)}},{key:"initTimer",value:function initTimer(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];nc.timerId&&this.window.clearInterval(nc.timerId);var n=this.determineTimeout(t);this.zone.runOutsideAngular((function(){nc.timerId=e.window.setInterval((function(){return e.getProgress(e.entityData)}),n)}))}},{key:"addTask",value:function addTask(e){var t=this.progress.getValue();this.onProgress.next([].concat((0,J.Z)(t),[e]))}},{key:"updateTask",value:function updateTask(e){var t=this.progress.getValue();this.onProgress.next(t.map((function(t){return t.Id===e.Id?e:t})))}},{key:"updateTaskValues",value:function updateTaskValues(e,t){var n=e.Status;e.Description=t.Description,e.ProgressStatus=t.ProgressStatus,e.Status=t.Status,e.StatusMessage=t.StatusMessage,e.TaskName=t.TaskName,e.lastUpdateDate=Date.now(),n!==t.Status&&this.triggerUpdateGrid(e)}},{key:"determineTimeout",value:function determineTimeout(e){var t=3e3;return 0===e.filter((function(e){return ql[e.Status.toString()]!==ql.Failed&&ql[e.Status.toString()]!==ql.Stopped})).length&&(t=6e4),t}},{key:"getProgress",value:function getProgress(e){var t=this;e?this.progressSubscription&&!this.progressSubscription.closed||(this.progressSubscription=this.executeServiceCall(e).subscribe((function(e){t.onProgress.next(e)}))):this.stopService()}},{key:"executeServiceCall",value:function executeServiceCall(e){return this.dynamicItemStore.service.executeBoundFunction(ee.zw.emptyItem(e),"Default.BackgroundTasks(taskType='".concat(v.WP.EMPTY_STRING,"')")).pipe((0,w.U)((function(e){return e.value})))}},{key:"manageTask",value:function manageTask(e,t,n){var i=new re.t(1),o={data:{itemId:e,taskType:Object.values(Wl).includes(t)?t.toString():v.WP.EMPTY_STRING,action:Object.values(Jl).includes(n)?n.toString():v.WP.EMPTY_STRING},culture:null,provider:this.providerStore.currentProvider};return this.dynamicItemStore.service.executeUnboundFunction("Default.ManageBackgroundTasks",o).subscribe((function(e){i.next(e.value),i.complete()}),(function(e){i.error(e)})),i.pipe((0,kn.P)())}},{key:"processCompletedOrDeletedTask",value:function processCompletedOrDeletedTask(e,t,n){switch(ql[t.Status.toString()]){case ql.Failed:e.splice(n,1),this.triggerUpdateGrid(t);break;case ql.Pending:t.ProgressStatus="50",t.Status=ql[ql.Started.toString()],t.lastUpdateDate=Date.now();break;case ql.Started:t.ProgressStatus="100",t.Status=ql[ql.Done.toString()],t.lastUpdateDate=Date.now();break;case ql.Done:Date.now()-t.lastUpdateDate>5e3&&(e.splice(n,1),this.triggerUpdateGrid(t))}}},{key:"triggerUpdateGrid",value:function triggerUpdateGrid(e){var t=new CustomEvent(rc,{detail:{taskStatus:e.Status,taskName:e.TaskName}});this.window.dispatchEvent(t),this.communicationService.next(new Ti.QT)}}]),LongRunningTasksService}();function getRunningTasksAndMap(e){var t={};return e.forEach((function(e){(function getItemsFromTaskData(e){var t=[];if(e.TaskName===Xl.MoveLibraryAlternative){var n=ic.parse(e);(t=n.itemIds?n.itemIds.concat(n.libraryId):[n.itemId]).push(n.newItemId)}else t=e.TaskName===Xl.Reindex?[oc.parse(e).indexId]:[ic.parse(e).libraryId];return t.filter((function(e){return e!==v.WP.DEFAULT_GUID}))})(e).forEach((function(n){t[n]=e}))})),t}sc.subscription=null,sc.ctorParameters=function(){return[{type:ga},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:l.R0b},{type:eo},{type:Di}]},sc=nc=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ga,Window,l.R0b,eo,Di])],sc);var lc=new l.OlP("data-extender"),cc=(0,o.Z)((function DataExtenderBase(){(0,i.Z)(this,DataExtenderBase)})),dc=function(){function CompositeDataExtender(e){(0,i.Z)(this,CompositeDataExtender),this.dataExtenders=e}return(0,o.Z)(CompositeDataExtender,[{key:"enhanceDataItems",value:function enhanceDataItems(e,t,n,i){var o=this.getExtender(e);return o?o.enhanceDataItems(t,n,i):t}},{key:"getExtender",value:function getExtender(e){return this.dataExtenders.find((function(t){return e&&t.isSupportedType(e)}))}}]),CompositeDataExtender}();dc.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[lc]}]}]},dc=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],dc);var uc=function(e){(0,f.Z)(HierarchicalLibrariesService,e);var t=(0,p.Z)(HierarchicalLibrariesService);function HierarchicalLibrariesService(e,n,o,a){var r;return(0,i.Z)(this,HierarchicalLibrariesService),(r=t.call(this,e)).dynamicItemService=e,r.longRunningTasksService=n,r.compositeDataExtender=o,r.metadataStore=a,r}return(0,o.Z)(HierarchicalLibrariesService,[{key:"showStatusIcons",value:function showStatusIcons(){return!1}},{key:"isHierarchical",value:function isHierarchical(e){return!0}},{key:"getSetName",value:function getSetName(){return u.gl.ALBUMS}},{key:"isTypeSupported",value:function isTypeSupported(e){return y.xe.isLibrary(e.metadata.setName)||y.xe.isMediaEntity(e)}},{key:"getName",value:function getName(e,t){return(0,r.of)({entityData:e,totalCount:0,dataItems:[]})}},{key:"getItemTaxa",value:function getItemTaxa(e,t,n,i){var o=null;return e&&(o=e[0]===v.WP.DEFAULT_GUID?null:e[0]),this.dynamicItemService.getItemList({entityData:t,action:"Default.FoldersRecursiveSearch(parentId=".concat(o,")?filterByCreateChildPermissions=").concat(i||!1,"&recursive=",!1,"&includeParent=",!0),fallbackProperties:[t.metadata.defaultFieldName],take:1,siteId:this.siteId})}},{key:"getRecent",value:function getRecent(e,t,n,i,o){var a=this.getExcludedRootId(o),r=this.dynamicItemService.getItemList({entityData:e,action:"Default.FoldersRecursiveSearch(parentId=".concat(null,")?filterByCreateChildPermissions=true&recursive=",!0,"&excludedRootId=",a),fallbackProperties:[e.metadata.defaultFieldName],take:5,siteId:this.siteId});return this.combineItemsAndLongRunningTasks(r,e)}},{key:"expandChildren",value:function expandChildren(e,t,n,i){var o=e.parentId||null,a=this.getExcludedRootId(e.targetDataItem),r=this.dynamicItemService.getItemList({entityData:t,action:"Default.FoldersRecursiveSearch(parentId=".concat(o,")?recursive=",!1,"&excludedRootId=").concat(a),fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId,skip:e.skip,take:50});return this.combineItemsAndLongRunningTasks(r,t)}},{key:"loadMore",value:function loadMore(e,t,n,i,o){var a=(0,ir.r)(),r=o?v.WP.EMPTY_STRING:(null==n?void 0:n.id)||v.WP.EMPTY_STRING;e.searchText&&(a=a.search(e.searchText));var s=this.dynamicItemService.getItemList({entityData:t,action:"Default.FoldersRecursiveSearch(parentId=".concat(null,")?filterByCreateChildPermissions=true&recursive=",!1,"&excludedRootId=",r),fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId,query:a,skip:e.skip,take:50});return this.combineItemsAndLongRunningTasks(s,t)}},{key:"getModalItems",value:function getModalItems(e,t,n,i){var o=this.dynamicItemService.getItemList({entityData:e,action:"Default.FoldersRecursiveSearch(parentId=".concat(null,")?filterByCreateChildPermissions=true&recursive=",!1,"&excludedRootId=",this.getExcludedRootId(i)),fallbackProperties:[e.metadata.defaultFieldName],siteId:this.siteId});return this.combineItemsAndLongRunningTasks(o,e)}},{key:"getSearchedItems",value:function getSearchedItems(e,t){var n,i=(0,ir.r)();e.searchText&&(i=i.search(e.searchText));var o=!0;(null===(n=t.payload)||void 0===n?void 0:n.skipFilterByCreateChildPermissions)&&(o=!1);var a=e.parentId||null,r=e.taxaId||v.WP.EMPTY_STRING,s="Default.FoldersRecursiveSearch(parentId=".concat(a,")?filterByCreateChildPermissions=").concat(o,"&recursive=",!1,"&includeParent=").concat(!!e.includeParent);r&&(s="".concat(s,"&excludedRootId=").concat(r));var l={entityData:t.entityData,action:s,fallbackProperties:[t.entityData.metadata.defaultFieldName],take:t.take,siteId:this.siteId,query:i};(0,d.Uh)(t.skip)&&(l.skip=t.skip),t.order&&(l.order=t.order);var c=this.dynamicItemService.getItemList(l);return this.combineItemsAndLongRunningTasks(c,t.entityData)}},{key:"combineItemsAndLongRunningTasks",value:function combineItemsAndLongRunningTasks(e,t){var n=this,i=new re.t,o=this.getLongRunningTasks(t);return(0,s.aj)([o,e]).pipe((0,kn.P)()).subscribe((function(e){var o=(0,q.Z)(e,2),a=o[0],r=o[1];i.next({dataItems:n.mapDataItemsAndBackgroundTasks(a,r.dataItems,t),totalCount:r.totalCount,entityData:t})})),i}},{key:"getChildEntityData",value:function getChildEntityData(e){var t=this.metadataStore.getValue(),n=y.xe.getChildSetName(e),i=t.entities[n];return{provider:e.provider,metadata:i,culture:e.culture}}},{key:"getExcludedRootId",value:function getExcludedRootId(e){var t=v.WP.EMPTY_STRING;return e&&y.xe.isLibrary(e.metadata.setName)&&!e.isEmpty&&(t=e.data[h.E.ID]),t}},{key:"getLongRunningTasks",value:function getLongRunningTasks(e){var t=this.getChildEntityData(e);return this.longRunningTasksService.getTasks(t)}},{key:"mapDataItemsAndBackgroundTasks",value:function mapDataItemsAndBackgroundTasks(e,t,n){return this.compositeDataExtender.enhanceDataItems(n,t,{inactive:!0,tooltip:function tooltip(e){return e},isSelectionDisabled:!0},{tasks:e,whiteListedTasks:[Xl.RegenerateThumbnails]}).map((function(e){var t=(0,d.kI)(e.data);return t.hasChildren=e.data.FoldersCount>0,ee.zw.fromEntityData(t,n)}))}}]),HierarchicalLibrariesService}(nr);uc.ctorParameters=function(){return[{type:Ci.dg},{type:sc},{type:dc},{type:pe.EY}]},uc=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,sc,dc,pe.EY])],uc);var fc={multi:!0,provide:Xa,useClass:uc},pc={REPLACE_FILE:"Replace file",REPLACE_FILE_FOR_CURRENT_TRANSLATION:"Replace file for current translation"},Ac=function(){function MediaHandler(e,t,n){(0,i.Z)(this,MediaHandler),this.modalWindowService=e,this.http=t,this.communicationService=n}return(0,o.Z)(MediaHandler,[{key:"canHandle",value:function canHandle(e){return!0}},{key:"executeOperation",value:function executeOperation(e){switch(e.operationName){case pc.REPLACE_FILE:case pc.REPLACE_FILE_FOR_CURRENT_TRANSLATION:return this.handleReplaceFile(e)}}},{key:"getEditOperations",value:function getEditOperations(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return t.length>1?Object.values(pc):[pc.REPLACE_FILE]}},{key:"handleReplaceFile",value:function handleReplaceFile(e){var t=this;this.replaceFile$=new re.t;var n=e.operationName===pc.REPLACE_FILE_FOR_CURRENT_TRANSLATION,i=e.mediaDataItem.data.IsDamMedia,o={type:bc,properties:{multiple:!1,allowCreate:!0,skipUpload:!0,mediaEntityData:e.mediaDataItem,initialViewMode:ml.Select,showTranslations:n,enableDamPicker:i,damNotificationFilter:pl,isReplaceFile:!0,importAssetsOnSelect:!1}},a=new ki.np(o,(function(e){if(e&&e.data){if(e.data.data&&!1===e.component.fromUpload){var o,a=e.data,r=a.data,s=a.culture,l=a.data.FileId?a.data.FileId:null,c=a.data.MediaContentId?a.data.MediaContentId:a.key;a.data.Cultures&&a.data.Cultures.length>0&&(s=a.data.Cultures[0]);var d=(o={},(0,Ae.Z)(o,g.Tx.CULTURE,s),(0,Ae.Z)(o,g.Tx.PROVIDER,a.provider),o);t.communicationService.next(new Ti.D4(oe.BN.Loading)),t.http.get("".concat(a.metadata.setName,"(").concat(c,")/$value"),{responseType:"blob",params:d}).then((function(e){var i=l?"sf-fileId:".concat(l).concat(r.Extension):r.Title+r.Extension,o=new File([e],i,{type:r.MimeType}),a=(r.MediaFileUrlName?r.MediaFileUrlName:r.Title)+r.Extension,s={files:[o],preserveFileName:n,originalFileNames:[a]};t.replaceFile$.next(s),t.communicationService.next(new Ti.D4(oe.BN.Default))}))}else if(e.data instanceof File&&e.component.fromUpload){var u={files:[e.data],preserveFileName:n};t.replaceFile$.next(u)}else if(e.data instanceof gc&&i){var f={files:[e.data],preserveFileName:n};t.replaceFile$.next(f)}}else t.replaceFile$.next(null)}),[],"-prompt");return this.modalWindowService.setMapping(a,hc),this.modalWindowService.open(e.route,hc),this.replaceFile$.asObservable()}}]),MediaHandler}();Ac.ctorParameters=function(){return[{type:ki.bL},{type:Ri.q},{type:Di}]};var mc={provide:Ac=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,Ri.q,Di])],Ac),useClass:Ac,multi:!0},gc=function(){function FileWrapper(e,t,n,o,a){(0,i.Z)(this,FileWrapper),this.file=new File(e,t,n),this.asset=o,this.size=this.file.size,this.type=this.file.type,this.lastModified=this.file.lastModified,this.name=this.file.name,this.preserveFileName=a}return(0,o.Z)(FileWrapper,[{key:"arrayBuffer",value:function arrayBuffer(){return this.file.arrayBuffer()}},{key:"slice",value:function slice(e,t,n){return this.file.slice(e,t,n)}},{key:"stream",value:function stream(){return this.file.stream()}},{key:"text",value:function text(){return this.file.text()}}]),FileWrapper}(),hc="filePicker",vc="fileSelect",bc=function(e){(0,f.Z)(FilePickerComponent,e);var t=(0,p.Z)(FilePickerComponent);function FilePickerComponent(e,n,o,a,r,s,l,c,u,f,p,A,m,g,h,v){var b;return(0,i.Z)(this,FilePickerComponent),(b=t.call(this)).metadataStore=e,b.fieldsGeneratorService=n,b.backendTweaksStore=o,b.store=a,b.route=r,b.modalService=s,b.mediaValidationHelper=l,b.operationsProvider=c,b.hierarchicalLibrariesService=u,b.longRunningTasksService=f,b.keyboardShortcutsService=p,b.compositeDataExtender=A,b.notificationService=m,b.window=g,b.mediaService=h,b.appStore=v,b.value=[],b.multiple=!1,b.isDragOver=!1,b.allowCreate=!0,b.skipUpload=!1,b.showTranslations=!1,b.recentLibraries=new re.t(1),b.selectedFilesForUpload=Array(),b.acceptableMediaTypes=Array(),b.sourceLibraryId=null,b.targetLibraryId=null,b.useOnlySelectMode=!1,b.showSelectLink=!0,b.createMedia=!1,b.isNonTranslatedSelectable=!0,b.getImageAfterUpload=!0,b.uniqueId=(0,d.M8)(),b.fileUpload="".concat(b.uniqueId,"_fileUpload"),b.showParentLibrary=!0,b.enableDamPicker=!1,b.showDamPicker=!1,b.damNotificationFilter=null,b.importAssetsOnSelect=!0,b.recentLibraries$=new Ft.xQ,b}return(0,o.Z)(FilePickerComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.handleKeyboardShortcuts(),this.mediaEntity=this.mediaEntityData.metadata,this.toggleShowSelectLink();var t=this.recentLibraries$.subscribe((function(t){var n={culture:e.mediaEntityData.culture,metadata:e.mediaEntityData.metadata,provider:e.mediaEntityData.metadata.selectedProvider||e.mediaEntityData.provider};e.longRunningTasksService.getTasks(n).subscribe((function(n){var i=e.compositeDataExtender.enhanceDataItems(e.mediaEntityData,t,{isSelectionDisabled:!0,inactive:!0,tooltip:function tooltip(e){return e}},{tasks:n,whiteListedTasks:[Xl.RegenerateThumbnails]});e.recentLibraries.next(i.filter((function(e){return!e.data.inactive})).slice(0,5))}))}));this.registerSubscription(t);var n=this.metadataStore.getValue().entities[this.mediaEntityData.metadata.setName];this.mediaFilterEnabled=this.mediaEntity.mediaFilterEnabled,this.acceptableMediaTypes=this.mediaEntity.acceptableMediaTypes,this.acceptableFileTypes=this.mediaEntity.acceptableFileTypes,this.acceptFileTypes=this.mediaValidationHelper.getAcceptableFileTypes(this.acceptableFileTypes),this.maxSize=this.mediaEntity.maxSize,this.store.getFoldersAndContent(this.mediaEntityData,null,0),this.fields=this.fieldsGeneratorService.generateFieldModels(n,this.mediaEntityData.metadata.setName,this.backendTweaksStore,null),this.defaultFieldName=this.metadataStore.getValue().entities[this.mediaEntityData.metadata.setName].defaultFieldName,this.messages=this.multiple?El.multiple:El.single,this.formattedTypeName=this.formattedTypeName?this.formattedTypeName:(0,d.Q7)({plural:this.mediaEntityData.metadata.setName,singular:this.mediaEntityData.metadata.singularName.toLowerCase()},this.multiple,!0),this.enableDamPicker&&(this.showDamPicker=this.mediaEntityData.metadata.isDamEnabled),this.showDamPicker||this.selectExistingOnSelectViewMode()}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(FilePickerComponent.prototype),"ngOnDestroy",this).call(this),this.keyboardShortcutsService.removeListener(g.Xm.FILE_PICKER)}},{key:"setCloseModalCallback",value:function setCloseModalCallback(e){this._closeModalCallback=e}},{key:"onUploadFiles",value:function onUploadFiles(e){var t=this;if(this.skipUpload)this.onDone([e[0]]);else{var n=new re.t;this.selectedLibrary?this.hierarchicalLibrariesService.getItemTaxa([this.selectedLibrary.key],this.mediaEntityData,null,!0).subscribe((function(e){n.next(e.dataItems.length>0?e.dataItems[0]:null)})):n.next(this.selectedLibrary),this.mediaEntityData.provider===v.VT&&(this.mediaEntityData={metadata:this.mediaEntityData.metadata,culture:this.mediaEntityData.culture,provider:v.WP.EMPTY_STRING}),this.store.getFoldersByParentId(this.mediaEntityData,this.targetLibraryId,10,!0,!0,void 0,void 0,!0).subscribe((function(e){t.recentLibraries$.next(e)}));var i=this.mediaValidationHelper.validate(this.mediaEntityData.metadata,Array.from(e),!1);this.fileUploadErrorMessages=this.mediaValidationHelper.getErrorMessages(),i&&n.subscribe((function(n){var i=[];t.createMedia?i.push(new ki.Lw(_e.DISCARD)):i.push(new ki.pu(t.multiple?El.multiple.use.select(t.mediaEntityData.metadata.setName):El.single.use.select(t.mediaEntityData.metadata.singularName.toLowerCase())),new ki.Lw(_e.DISCARD));var o={type:jl,afterComponentInit:function afterComponentInit(i){i.multiple=t.multiple,i.mediaEntityData=t.mediaEntityData,i.fields=t.fields,i.libraries=t.recentLibraries.asObservable(),i.targetLibraryId=t.targetLibraryId,i.selectedLibrary=n?(0,d.kI)(n.data):null,i.initializeLibraries=!(t.createMedia&&t.selectedLibrary),i.selectedFiles=Array.from(e),i.defaultFieldName=t.defaultFieldName,i.showProviderSelector=t.showProviderSelector,i.allowCreate=y.xe.isMediaEntity(t.mediaEntityData),t.registerSubscription(i.search.pipe((0,Me.b)(150),(0,bl.x)()).subscribe((function(e){var n=e||v.WP.EMPTY_STRING;t.store.getFoldersByParentId(t.mediaEntityData,t.targetLibraryId,10,!0,!0,n.trim(),void 0,!0).subscribe((function(e){t.recentLibraries$.next(e)}))}))),t.registerSubscription(i.selectedProvider.pipe((0,bl.x)()).subscribe((function(e){t.mediaEntityData.metadata.selectedProvider=e,t.store.getFoldersByParentId(t.mediaEntityData,t.targetLibraryId,10,!0,!0,void 0,void 0,!0).subscribe((function(e){t.recentLibraries$.next(e)}))}))),i.libraries.pipe((0,kn.P)()).subscribe((function(){t.modalService.sendCommand(t.fileUpload,{name:dl,data:!0})}))}},a=new ki.np(o,t.createMedia?function doneDialogCallbackForLifecycleMedia(e){if(e.data&&e.data.data){var n=e.component instanceof jl?e.component:e.component.parentComponent;if(n.parentId||n.folderId){var i=n.getFilesForUpload();t.multiple||t.mediaService.clearUploads();var o=e.component instanceof Pl?e.data.data:e.data;t.store.uploadFiles(t.mediaEntityData,t.name,i,n.parentId,n.folderId,!1,o.data,t.getImageAfterUpload),t.displayFileUploadProgress(t.appStore.pipe(Ws.uploadsData),n)}}else t.onDone()}:function doneDialogCallback(e){if(e.data&&e.data.data){var n=e.component instanceof jl?e.component:e.component.parentComponent;if(n.parentId||n.folderId){var i=n.getFilesForUpload();t.multiple||t.mediaService.clearUploads(),t.store.uploadFiles(t.mediaEntityData,t.name,i,n.parentId,n.folderId,!0,$.q.uploadPublished,t.getImageAfterUpload)}}t.onDone()},i,null,t.multiple?"-sf-mt-xl":null);if(a.toolbarData=t.generatedFileUploadToolbarData(),a.showButtonsOnInit=!1,t.createMedia){var r=t.mediaEntityData.metadata.selectedProvider||t.mediaEntityData.provider===v.VT?null:t.mediaEntityData.provider,s=ee.zw.from(null,t.mediaEntityData.metadata,r,t.mediaEntityData.culture),l=z.Create,c=new W(s,l,n,{origin:t.window.location.href});t.operationsProvider.getOperations(c).subscribe((function(e){var n=e.map((function(e){var t="large",n=e.Title;return e.Name!==$.q.upload&&e.Name!==$.q.uploadPublished||(t="action large",e.Title===$.Oi.publish&&(n=$.Oi.uploadAndPublish)),new ki.pu(n,(function(t){var n=t.component instanceof jl?t.component:t.component.parentComponent;return n.parentId?t.component.files.some((function(e){return e.errors&&e.errors.length}))?{data:e.Name,hasErrors:!0,isSuccessful:!1}:{data:e.Name,hasErrors:!1,isSuccessful:!0}:(n.errorMessage="Select a parent library",{data:e.Name,hasErrors:!0,isSuccessful:!1})}),t,e.Name)}));a.buttons=n.concat(i),t.displayDialog(a,t.fileUpload)}))}else t.displayDialog(a,t.fileUpload)}))}}},{key:"displayDialog",value:function displayDialog(e,t){this.modalService.setMapping(e,t),this.modalService.open(this.route,t)}},{key:"displayFileUploadProgress",value:function displayFileUploadProgress(e,t){var n=this,i={type:tc,properties:{uploadingFiles:e,mediaEntityData:t.mediaEntityData,selectedLibraries:t.selectedLibraries}},o=new ki.np(i,(function(){n.appStore.pipe(Ws.uploadsData,(0,_s.q)(1)).subscribe((function(e){var t=e.items.map((function(e){return e.upload.result}));n.mediaService.emptyUploads(),n.onDone(t)}))}),[new ki.Lw(_e.CLOSE)],null,"-sf-mt-xl");o.toolbarData=this.generatedFileUploadToolbarData(),o.showButtonsOnInit=!1,o.isModalClosable=!1,o.stickWithDelay=!1,this.modalService.setMapping(o,$l),this.modalService.open(this.route,$l),this.modalService.getCommands($l).subscribe((function(e){e.name===ec&&n.mediaService.retryUpload(n.mediaEntityData,e.data)}))}},{key:"onDone",value:function onDone(e){e&&(e=this.multiple?e:e[0]),this._closeModalCallback&&this._closeModalCallback(e)}},{key:"onSelectExisting",value:function onSelectExisting(){var e=this,t=[new ki.pu(_e.USE_SELECTED),new ki.Lw(_e.CANCEL)],n={type:Dl,properties:{formattedTypeName:this.formattedTypeName},afterComponentInit:function afterComponentInit(t){t.multiple=e.multiple,t.mediaEntityData=e.mediaEntityData,t.parentLibraryId=e.sourceLibraryId,t.currentLibraryId=e.sourceLibraryId,t.uploadEnabled=!e.useOnlySelectMode,t.mediaFilterEnabled=e.mediaFilterEnabled,t.acceptableMediaTypes=e.acceptableMediaTypes,t.acceptableFileTypes=e.acceptableFileTypes,t.maxSize=e.maxSize,t.useLiveData=e.useLiveData,t.value=e.value,t.store=e.store,t.allowCreate=e.allowCreate,t.showProviderSelector=e.showProviderSelector,t.isNonTranslatedSelectable=e.isNonTranslatedSelectable,t.showTranslations=e.showTranslations,t.showParentLibrary=e.showParentLibrary,t.onUploadFiles.pipe((0,kn.P)()).subscribe((function(t){return e.onUploadFiles(t)}))}},i=new ki.np(n,(function(t){var n,i=t.component;t.data&&!0===t.data.data&&i instanceof Dl?(n=i.value,i.fromUpload=!1):t.data&&t.data instanceof File&&(n=[t.data],i instanceof Dl&&(i.fromUpload=!0)),t.data&&i instanceof tc&&(n=e.multiple?t.data:[t.data]),e.onDone(n)}),t,null,"-bottom");i.showButtonsOnInit=!1,this.modalService.setMapping(i,vc),this.modalService.open(this.route,vc)}},{key:"onDrop",value:function onDrop(e){e.preventDefault(),this.isDragOver=!1,this.onUploadFiles(e.dataTransfer.files)}},{key:"onDragEnter",value:function onDragEnter(e){e.preventDefault(),this.isDragOver=!0}},{key:"onDragLeave",value:function onDragLeave(e){e.preventDefault();var t=e.fromElement||e.target,n=e.currentTarget;this.isChildByCssSelector(t,n)||(this.isDragOver=!1)}},{key:"toggleShowSelectLink",value:function toggleShowSelectLink(){this.showSelectLink=this.initialViewMode!==ml.Upload}},{key:"onDamMediaImportComplete",value:function onDamMediaImportComplete(e){var t,n=e.dataItems,i=n;this.multiple&&(i=null!==(t=this.value)&&void 0!==t?t:[],n.forEach((function(e){i.find((function(t){return e.key===t.key}))||i.push(e)}))),e.error&&this.notificationService.publishInfiniteError(e.error),this.onDone(i)}},{key:"onDamMediaSelectComplete",value:function onDamMediaSelectComplete(e){return(0,a.mG)(this,void 0,void 0,gi().mark((function _callee(){var t,n,i,o;return gi().wrap((function _callee$(a){for(;;)switch(a.prev=a.next){case 0:return t=e[0],a.prev=1,a.next=4,this.fetchResponse(t.url);case 4:return n=a.sent,a.next=7,n.blob();case 7:i=a.sent,o=new gc([i],"".concat(t.title).concat(t.extension),{type:i.type},t),this.onDone([o]),a.next=16;break;case 12:a.prev=12,a.t0=a.catch(1),this.notificationService.publishInfiniteError(a.t0.message),this.onDone();case 16:case"end":return a.stop()}}),_callee,this,[[1,12]])})))}},{key:"onCancelDamMediaSelection",value:function onCancelDamMediaSelection(){this.onDone()}},{key:"onDamSelectorLoadingError",value:function onDamSelectorLoadingError(){this.showDamPicker=!1,this.selectExistingOnSelectViewMode()}},{key:"selectExistingOnSelectViewMode",value:function selectExistingOnSelectViewMode(){this.initialViewMode===ml.Select&&this.onSelectExisting()}},{key:"generatedFileUploadToolbarData",value:function generatedFileUploadToolbarData(){return{type:Mo,properties:{header:(this.multiple?El.multiple:El.single).title.upload(this.formattedTypeName)}}}},{key:"isChildByCssSelector",value:function isChildByCssSelector(e,t){return!!(e&&t&&t.contains(e))}},{key:"handleKeyboardShortcuts",value:function handleKeyboardShortcuts(){var e=this,t=this.keyboardShortcutsService.addListener((0,r.of)(null),g.Xm.FILE_PICKER,!0).subscribe((function(t){if(t&&t.type===ps.Create)t.event.preventDefault(),e.fileInput.nativeElement.click()}));this.registerSubscription(t)}},{key:"fetchResponse",value:function fetchResponse(e){return(0,a.mG)(this,void 0,void 0,gi().mark((function _callee2(){return gi().wrap((function _callee2$(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,fetch(e);case 3:case 10:return t.abrupt("return",t.sent);case 6:return t.prev=6,t.t0=t.catch(0),t.next=10,fetch(e,{mode:"no-cors"});case 11:case"end":return t.stop()}}),_callee2,null,[[0,6]])})))}}]),FilePickerComponent}(E.zu);bc.ctorParameters=function(){return[{type:pe.EY},{type:qo},{type:yl},{type:Ks},{type:m.gz},{type:ki.bL},{type:wl},{type:fe},{type:uc},{type:sc},{type:Os},{type:dc},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:qs},{type:Hs.dk}]},bc.propDecorators={fileInput:[{type:l.i9L,args:["fileInput"]}]},bc=(0,a.gn)([(0,l.wA2)({template:hl,providers:[Ks],styles:[vl]}),(0,a.w6)("design:paramtypes",[pe.EY,qo,yl,Ks,m.gz,ki.bL,wl,fe,uc,sc,Os,dc,La,Window,qs,Hs.dk])],bc);var yc=function(e){(0,f.Z)(MediaEditInDialogCommand,e);var t=(0,p.Z)(MediaEditInDialogCommand);function MediaEditInDialogCommand(e,n,o,a){var r;return(0,i.Z)(this,MediaEditInDialogCommand),(r=t.call(this,e,n)).service=o,r.window=a,r}return(0,o.Z)(MediaEditInDialogCommand,[{key:"execute",value:function execute(e){var t=e.data.dataItem,n=new re.t(1),i={type:bc,properties:{multiple:!0,value:[],name:"this.settings.name",allowCreate:!0,mediaEntityData:{metadata:t.metadata.clone(),provider:t.provider,culture:t.culture},initialViewMode:ml.Upload,useOnlySelectMode:!1,createMedia:!0,getImageAfterUpload:!1,selectedLibrary:e.data.parentItem}},o=new ki.np(i,(function(){n.next({dataItem:ee.zw.emptyItem(t),forceReload:!0,success:!0,isLoading:!1})}),[],"-prompt"),a="".concat("edit","_").concat(t.key,"_").concat(t.metadata.setName,"_").concat(t.provider,"_").concat(t.culture);return this.modalWindowService.setMapping(o,a),this.modalWindowService.show(a,e.currentRoute.firstChild),n.asObservable()}}]),MediaEditInDialogCommand}(zo);yc.ctorParameters=function(){return[{type:ki.bL},{type:m.F0},{type:Ci.dg},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},yc=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,m.F0,Ci.dg,Window])],yc);var Ec="openIrisContent",Ic=function(){function EditNavigationService(e,t,n,o,a,r){(0,i.Z)(this,EditNavigationService),this.router=e,this.location=t,this.dynamicItemStore=n,this.urlService=o,this.window=a,this.modalWindowService=r}return(0,o.Z)(EditNavigationService,[{key:"openDialogForRelatedData",value:function openDialogForRelatedData(e,t,n,i,o,a){var r=new ee.vi({dataItem:e,route:t,parentId:e.parentKey,openDialog:!0,mediaFieldLimitationsConstraints:n,navigateToChildrenAfterCreate:i,headComponentData:o,commandName:a});return this.navigateToEdit(r).pipe((0,Bi.h)((function(e){return e.success})))}},{key:"openDialogForRelatedDataAndLoadFieldData",value:function openDialogForRelatedDataAndLoadFieldData(e,t,n,i,o,a){var r=this,s=new re.t;return this.openDialogForRelatedData(t,n,i,o,a,$.q.edit).subscribe((function(){r.loadFieldData(e,t,s)})),s}},{key:"navigateToEditOfRelatedData",value:function navigateToEditOfRelatedData(e,t){var n=this.router.createUrlTree([So.CONTENT]).toString();ns.N.env===_t.H.integration&&(n=this.urlService.getAbsoluteUrl(n));var i={baseUrl:n,openInNewTab:!0},o=new ee.vi({dataItem:e,parentId:e.parentKey,openInNewWindowArgs:i});return o.route=t,this.navigateToEdit(o)}},{key:"navigateToEdit",value:function navigateToEdit(e){var t,n=this.getContext(e);!e.dataItem.metadata.hasLifecycle||e.openDialog||e.dataItem.metadata.isSelfReferencing?(t=new zo(this.modalWindowService,this.router),y.xe.isMediaEntity(e.dataItem)&&e.dataItem.isEmpty&&(t=new yc(this.modalWindowService,this.router,this.dynamicItemStore.service,this.window),n.data.parentItem=e.parentItem),n.data.headComponentData=e.headComponentData):t=new _o(this.router,this.location,this.window);var i=new Ft.xQ;return n.data.duplicate||e.dataItem.isEmpty?t.execute(n).subscribe((function(e){i.next(e)})):this.confirm(e).subscribe((function(e){e.success?t.execute(n).subscribe((function(e){i.next(e)})):i.next({dataItem:null,forceReload:!1,isLoading:e.isLoading,success:e.success})})),i}},{key:"confirm",value:function confirm(e){return new Vo(this.dynamicItemStore.service,this.modalWindowService,this.window).execute(this.getContext(e))}},{key:"handleEditAllPropertiesFromMVCWidgets",value:function handleEditAllPropertiesFromMVCWidgets(e){var t=this;this.window.document.removeEventListener(Ec,(function(n){return t.openMediaDialogEventHandler(n,e)})),this.window.document.addEventListener(Ec,(function(n){return t.openMediaDialogEventHandler(n,e)}))}},{key:"loadFieldData",value:function loadFieldData(e,t,n){this.dynamicItemStore.service.getItemsByKeys({keyProperty:t.metadata.key,keys:e,entityData:t,fallbackProperties:[t.metadata.defaultFieldName]}).subscribe((function(e){var t=e.dataItems.map((function(e){return(0,d.kI)(e.data)}));n.next(t)}))}},{key:"getContext",value:function getContext(e){var t={currentRoute:e.route.parent.parent,model:null,data:{dataItem:e.dataItem,siteData:e.route.parent.snapshot.data.siteDataStore,replaceUrl:e.replaceUrl,wasInCreate:e.wasInCreate,reload:e.reload,dialogType:gl,openInNewWindowArgs:e.openInNewWindowArgs,mediaFieldLimitationsConstraints:e.mediaFieldLimitationsConstraints,navigateToChildrenAfterCreate:e.navigateToChildrenAfterCreate,prepopulatedFields:e.prepopulatedFields,commandName:e.commandName,translationCultureSource:e.translationCultureSource}},n=e.parentId,i=e.route.snapshot.queryParams[g.V5.FILTER];e.dataItem.metadata.ignoreParentChildRelationship&&i&&i.indexOf("Parent,")>-1&&(n=i=i.replace("Parent,",""));var o=e.commandName===$.q.duplicate;return t.data.duplicate=o,t.data.parentId=n,t.data.singularName=e.singularName,t}},{key:"openMediaDialogEventHandler",value:function openMediaDialogEventHandler(e,t){var n=this,i=e.detail;e.preventDefault();var o={metadata:t.parent.snapshot.data.metaStore.entities[i.mediaType],provider:i.provider,culture:i.culture};this.dynamicItemStore.getItem({entityData:o,itemKey:i.itemId}).pipe((0,kn.P)()).subscribe((function(e){var o=new ee.vi({dataItem:e,route:t,parentId:i.parentId,openDialog:!0,replaceUrl:!1,wasInCreate:!1,reload:!1});n.navigateToEdit(o).subscribe((function(){var e=new CustomEvent("forceAngularJsDigest");n.window.document.dispatchEvent(e)}))}))}}]),EditNavigationService}();Ic.ctorParameters=function(){return[{type:m.F0},{type:Ut.Ye},{type:ga},{type:Ot},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:ki.bL}]},Ic=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,Ut.Ye,ga,Ot,Window,ki.bL])],Ic);var wc=function(e){(0,f.Z)(RelatedDataComponent,e);var t=(0,p.Z)(RelatedDataComponent);function RelatedDataComponent(e,n,o,a,r,s,l,c,d,u,f,p){var A;return(0,i.Z)(this,RelatedDataComponent),(A=t.call(this)).dynamicService=e,A.modalService=n,A.route=o,A.siteDataStore=a,A.metadataStore=r,A.renderer=s,A.element=l,A.filterService=c,A.window=d,A.urlService=u,A.editNavigationService=f,A.settingsService=p,A.isInputVisible=!1,A.isAddButtonVisible=!0,A.isPopupVisible=!0,A.triggeringSubscription=new he.X(!1),A.retrieveItems=!0,A.parentIdProperty=h.E.PARENT_ID,A.rootIdProperty=h.E.ROOT_ID,A.allSites=[],A.currentSiteId=null,A.retrieveRecentItems=!0,A.hiddenItems=new Set,A.visibleItems$=new he.X([]),A.visibleItemsFilter$=A.visibleItems$.asObservable().pipe((0,w.U)((function(e){return A.filterVisibleItems(e)}))),A._recentItemsSubject$=new he.X([]),A._recentItems$=A._recentItemsSubject$.asObservable(),A.hasContentItems=A._recentItems$.pipe((0,w.U)((function(e){return e.filter((function(e){return!e.isSeparator&&!e.isLink}))})),(0,w.U)((function(e){return e.length>0}))),A}return(0,o.Z)(RelatedDataComponent,[{key:"recentItems$",get:function get(){return this._recentItems$}},{key:"initiallyShownItems",get:function get(){return this._initiallyShownItems}},{key:"hasHiddenItems",get:function get(){return this.hiddenItems.size>0}},{key:"hiddenItemsCount",get:function get(){return this.hiddenItems.size}},{key:"visibleItems",get:function get(){return this.visibleItemsFilter$}},{key:"canSelectItems",get:function get(){return!(!this.settings.allowMultiple&&this.value&&this.value.length>0)}},{key:"showSiteSelector",get:function get(){return this.settings.showSiteSelector&&this.allSites&&this.allSites.length>1}},{key:"ngOnInit",value:function ngOnInit(){var e=this;if((0,Re.Z)((0,Qe.Z)(RelatedDataComponent.prototype),"ngOnInit",this).call(this),this.value&&!Array.isArray(this.value)&&(this.value=[this.value]),this._relatedDataEntity=this.metadataStore.getEntity(this.settings.type),this._defaultFieldName=this.settings.displayFieldName?this.settings.displayFieldName:this.metadataStore.getDefaultFieldName(this.settings.type),this.value&&this.value.forEach((function(t){return e.markTranslated(t)})),this.populateHiddenItems(this.value,20),this._initiallyShownItems=20,this.fallbackProperties=this.getFallbackProperties(this.settings.type),this.evaluateBreadcrumbVisibility(),this.settings&&this.settings.type){this.displayNames={plural:this.metadataStore.getPropertyMetadata(this.settings.type,pe.Yw).toLowerCase(),singular:this.metadataStore.getPropertyMetadata(this.settings.type,pe.Me).toLowerCase()};var t=this.hiddenItemsCount>1?this.displayNames.plural.toLocaleLowerCase():this.displayNames.singular.toLocaleLowerCase();this.loadMoreText="".concat(this.hiddenItemsCount," more ").concat(t),this.setAddEditButtonTitle()}this.parentIdProperty=this._relatedDataEntity.parentIdProperty||null,this.siteDataStore.getValue().pipe((0,kn.P)()).subscribe((function(t){(e.currentSiteId=t.Id,e.settings.type===u.gl.PAGES&&(e.rootId=t.SiteMapRootNodeId,e.parentId=t.SiteMapRootNodeId),e.allowedProviders=e.siteDataStore.getAllowedProvidersFromSiteData(e._relatedDataEntity.setName,t),e.settings.provider===v.VT)&&(e.settings.provider=v.WP.EMPTY_STRING,e.allowedProviders.filter((function(e){return e!==v.VT&&e!==v.Xd})).length>1&&(e.allItemsTabType=no,e.settings.allowMultiple&&(e.allItemsTabType=ao,e.allItemsTabLook=oo),e.allItemsTabTypePropertyValues={entitySetName:e.settings.type}));var n=e.getWarnings();if(!(n&&n.length>0)){e.relatedEntityData={culture:e.settings.culture,provider:e.settings.provider,metadata:e._relatedDataEntity};var i=new wn.y((function(t){e.settings.showSiteSelector?e.getAllSites().pipe((0,kn.P)()).subscribe((function(n){e.allSites=n.map((function(e){return Object.assign({},e.data)})),t.next()})):t.next()}));e.retrieveRecentItems=!e.settings.skipInputSelection,i.pipe((0,kn.P)()).subscribe((function(){e.retrieveItems&&e.retrieveRecentItems&&e.getRecentRelatedData(e.value)}))}})),this.treeConfig=this.treeConfig||{deletion:this.settings.allowRemove,drag:this.settings.allowMultiple&&!this.settings.disableInteraction,previewUrl:!this.settings.disableInteraction,status:!this.settings.hideStatus,noSelection:!0,showBreadcrumb:this.showBreadcrumb,clickable:!this.settings.disableInteraction,customComponentOriginatingFeature:En.RelatedData,customComponentEntitySet:this.settings.type},this.popupTreeConfig={showBreadcrumb:this.treeConfig.showBreadcrumb,status:!this.settings.hideStatus,noSelection:!1,customComponentOriginatingFeature:En.RelatedData,customComponentEntitySet:this.settings.type},this.serviceAware=new ti((function(t){return e.loadMoreModalItems(t)}),(function(t){return e.loadMoreModalItems(t)})),this.settings.displayMode===ge.B.INPUT&&(this.isAddButtonVisible=!1,this.value.forEach((function(t){t.NotFound&&!0===t.NotFound&&(e.isAddButtonVisible=!0)})),this.canSelectItems&&this.onToggleAddControl(!0)),this.settings.type===u.gl.PIPE_SETTINGS&&this.route.snapshot.data.itemData&&(this.additionalQueryParams=(0,Ae.Z)({},g.Tx.SEARCHINDEXID,this.route.snapshot.data.itemData.entityData.Id))}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.queryContents.changes.subscribe((function(t){e.editableElement=t.first,e.focusEditableElement(),e.isDisplayModeInputAndCanSelect()&&e.triggeringSubscription.next(!0)}))}},{key:"getRequiredErrorMessage",value:function getRequiredErrorMessage(){return["".concat(_e.SELECT_BUTTON," ").concat(this.settings.title)]}},{key:"onViewNodeFunkWrapper",value:function onViewNodeFunkWrapper(e){this.onViewNodeFunk(e,!0)}},{key:"treeNodeClickedFunk",value:function treeNodeClickedFunk(e){this.onViewNodeFunk(e,!1)}},{key:"onViewNodeFunk",value:function onViewNodeFunk(e,t){if(this.element){var n;this._relatedDataEntity.hasParent&&(e.data.parentType=this._relatedDataEntity.parent);var i=e.data.provider||this.settings.provider;if(t){if(!this.isViewUrlAllowed(this._relatedDataEntity,e.data))return;n=ee.zw.from(e.data,this._relatedDataEntity,i,this.settings.culture),this.openPreview(n)}else{if(!this._relatedDataEntity.enabled)return;if(!this.isEditAllowed(this._relatedDataEntity,e.data))return;e.data.entitySet=this.settings.type,n=ee.zw.from(e.data,this._relatedDataEntity,i,this.settings.culture),this.onEdit(n)}}}},{key:"onReorderNodes",value:function onReorderNodes(e){this.writeValue(e)}},{key:"onMoveNode",value:function onMoveNode(e){var t=e.node;t[Fn]=!0,setTimeout((function(){t[Fn]=!1}),E.$5)}},{key:"writeValue",value:function writeValue(e){var t=this;e&&e.length&&e.forEach((function(e){void 0===e.isTranslated&&t.markTranslated(e),t.setProviderFromServer(e)}));(0,Re.Z)((0,Qe.Z)(RelatedDataComponent.prototype),"writeValue",this).call(this,e),this.visibleItems$.next(e),this.setAddEditButtonTitle()}},{key:"onShowAdditionalItems",value:function onShowAdditionalItems(){this.hiddenItems.clear(),this.writeValue(this.value)}},{key:"onNewInputValue",value:function onNewInputValue(e){this.popupTree.clearFocusedNode(),this.retrieveRecentItems&&this.getRecentRelatedData(this.value),this.settings.displayMode===ge.B.INPUT&&(this.isPopupVisible=!0)}},{key:"onRemove",value:function onRemove(e){var t;e?t=e.data:this.settings.allowMultiple||(t=this.value[0]);var n=this.value.indexOf(t);if(!(n<0))return t.Failure||this.returnRemovedItemToRecentItems(t),this.value.splice(n,1),this.tree.updateTreeModel(),this.onChangeCallback(this.value),this.writeValue(this.value),this.settings.displayMode===ge.B.INPUT&&this.onToggleAddControl(!0),t}},{key:"onToggleAddControl",value:function onToggleAddControl(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.isInputVisible=e,this.isPopupVisible=e,this.searchTerm&&(this.searchTerm=null,this.retrieveRecentItems&&this.getRecentRelatedData(this.value)),this.settings.displayMode!==ge.B.INPUT&&(this.isAddButtonVisible=!this.isPopupVisible),t&&this.isDisplayModeInputAndCanSelect()&&(this.isInputVisible=!0,this.isPopupVisible=!1),this.handleFocus(this.isPopupVisible)}},{key:"onEscapeKey",value:function onEscapeKey(){this.onToggleAddControl(!1,!0)}},{key:"onFocusTree",value:function onFocusTree(){this.popupTree.focusTree()}},{key:"onFocusNextNode",value:function onFocusNextNode(){this.popupTree.focusNextNode()}},{key:"onFocusPreviousNode",value:function onFocusPreviousNode(){this.popupTree.focusPreviousNode()}},{key:"onEnterKey",value:function onEnterKey(){this.popupTree.selectCurrentNode()}},{key:"onNewItemSelected",value:function onNewItemSelected(e){var t=e.node||e;if(!t.isSeparator){if(!(t.isLink||t.data&&t.data.action)){this.canSelectItems||this.onRemove(),this.onToggleAddControl();var n=e.data,i=this.value.concat(n);return this.onChangeCallback(i),this.retrieveRecentItems&&this.getRecentRelatedData(i),n[Fn]=!0,this.tree.updateTreeModel(),setTimeout((function(){n[Fn]=!1}),E.$5),this.writeValue(i),t.data}this[t.data.action]()}}},{key:"onShowAllRelatedData",value:function onShowAllRelatedData(){var e=this;this.loadInitialModalItems().pipe((0,kn.P)()).subscribe((function(t){var n=e._relatedDataEntity.properties.hasOwnProperty(h.E.PARENT),i=e._relatedDataEntity.properties.hasOwnProperty(h.E.PARENT_ID)&&!n,o=e.showBreadcrumb&&!i,a={type:ei,properties:{value:t.dataItems,selected:e.value.map((function(e){return e})),totalItemsCount:t.totalCount,treeConfig:{multiSelection:e.settings.allowMultiple,isHierarchical:i,showBreadcrumb:o,status:!e.settings.hideStatus,customComponentOriginatingFeature:En.RelatedData,customComponentEntitySet:e.settings.type},searchTreeConfig:{multiSelection:e.settings.allowMultiple,isHierarchical:!1,showBreadcrumb:e.showBreadcrumb,status:!e.settings.hideStatus,customComponentOriginatingFeature:En.RelatedData,customComponentEntitySet:e.settings.type},serviceAware:e.serviceAware,typeNames:e.displayNames,defaultField:e._defaultFieldName,keyField:e.relatedEntityData.metadata.key,allItemsTabType:e.allItemsTabType,allItemsTabLook:e.allItemsTabLook,allItemsTabTypePropertyValues:e.allItemsTabTypePropertyValues}};e.showSiteSelector&&(a.properties.selectorFilterConfig={filterChipsConfig:{showSelectedItemAsActive:!0},selectedFilterItems:e.allSites.filter((function(t){return t.Id===e.currentSiteId})),filterItems:e.allSites,filterLabel:"Site",defaultField:"Name"});var r=[new ki.pu(_e.USE_SELECTED),new ki.Lw(_e.CANCEL)],s=new ki.np(a,(function(t){return e.onDone(t)}),r,null,"-bottom");e.modalService.setMapping(s,$n),e.modalService.open(e.route,$n)}))}},{key:"onShowCreateScreen",value:function onShowCreateScreen(){var e=this,t={culture:this.settings.culture,provider:this.settings.provider,metadata:this._relatedDataEntity},n=ee.zw.emptyItem(t);this.invokeAllowDialogOpenCallback().subscribe((function(){e.editNavigationService.openDialogForRelatedData(n,e.route,null,!1,e.getHeadComponentData()).subscribe((function(t){if(t.dataItem&&t.dataItem.data){var n=(0,d.kI)(t.dataItem.data),i=e.settings.allowMultiple?e.value.concat(n):[n];e.onChangeCallback(i),i[Fn]=!0,e.tree.updateTreeModel(),setTimeout((function(){i[Fn]=!1}),E.$5),e.writeValue(i)}}))}))}},{key:"onDone",value:function onDone(e){var t=this;e.data&&e.data.data&&(e.component.selected.forEach((function(e){var n=e.data||e;t.value.includes(n)||(n[Fn]=!0),n.isActive=!1})),this.value=e.component.selected,this.retrieveRecentItems&&this.getRecentRelatedData(this.value),this.tree.updateTreeModel(),setTimeout((function(){t.value.forEach((function(e){e[Fn]&&(e[Fn]=!1)}))}),E.$5),this.onChangeCallback(this.value))}},{key:"getWarnings",value:function getWarnings(){return this.settings.allowView?this.settings.provider&&-1===this.allowedProviders.indexOf(this.settings.provider)&&-1===this.allowedProviders.indexOf(v.WP.ASTERISK)||this.settings.provider===v.WP.EMPTY_STRING&&0===this.allowedProviders.length?[v.qf]:(0,Re.Z)((0,Qe.Z)(RelatedDataComponent.prototype),"getWarnings",this).call(this):[this.getNoPermissionMessage(this.settings.type)]}},{key:"getActionLinks",value:function getActionLinks(e,t){var n,i=[];(e||t||this.showSiteSelector)&&i.push((n={isLink:!0},(0,Ae.Z)(n,this._defaultFieldName,"Show all ".concat(this.displayNames.plural)),(0,Ae.Z)(n,"action","onShowAllRelatedData"),n));var o,a=!0;if(this.route.snapshot.outlet.includes("dialog")){var r=this.settings.entityData;r&&(a=!r.metadata.hasLifecycle||r.metadata.setName===u.gl.PAGES)}a&&this.settings.allowCreate&&this.isCreatePossible(this._relatedDataEntity)&&i.push((o={isLink:!0},(0,Ae.Z)(o,this._defaultFieldName,"Create ".concat((0,d.Ao)(this.displayNames.singular)," ").concat(this.displayNames.singular)),(0,Ae.Z)(o,"action","onShowCreateScreen"),o));return i}},{key:"handleFocus",value:function handleFocus(e){e?this.onFocus():this.onBlur()}},{key:"createBaseServiceInfo",value:function createBaseServiceInfo(){return{type:this.settings.type,provider:this.settings.provider,fallbackProperties:this.fallbackProperties,culture:this.settings.culture}}},{key:"getRecentRelatedData",value:function getRecentRelatedData(e){var t=this,n=this.getWarnings();if(!(n&&n.length>0)){var i=this.createBaseServiceInfo(),o={entityData:this.relatedEntityData,fallbackProperties:this.fallbackProperties,filter:this.settings.filter?(0,d.kI)(this.settings.filter):[]};if(i.action)o.take=5,o.order="".concat(h.E.LAST_MODIFIED," ").concat(g.mX.DESCENDING),o.action=i.action,this.searchTerm&&(o.filter=this.filterService.buildSearchFilter(this.relatedEntityData,this.searchTerm)),this.showSiteSelector&&(o.siteId=this.currentSiteId),e&&e.length&&(o.itemsToExclude={key:er,value:e.map((function(e){return e.Id}))}),this.getItemList(o).pipe((0,w.U)((function(e){t.parseGetRecentResult(e)}))).subscribe();else{o.action="Default.GetRecent";var a=this.relatedEntityData?this.relatedEntityData.metadata.defaultFieldName:h.E.TITLE;o.additionalQueryParams=(0,Ae.Z)({},g.Tx.FALLBACK_PROPERTIES,a),this.searchTerm&&(o.additionalQueryParams[g.Tx.SEARCH]=this.searchTerm),this.relatedEntityData&&y.xe.isLibraryOrMedia(this.relatedEntityData.metadata.setName)&&(o.additionalQueryParams[g.Tx.SKIP_DAM]="true"),o.payload={excludedItemIds:[]},e&&e.length&&(o.payload.excludedItemIds=e.map((function(e){return e.Id}))),this.showSiteSelector&&(o.siteId=this.currentSiteId),this.dynamicService.getRecent(o).subscribe((function(e){t.parseGetRecentResult(e)}))}}}},{key:"cloneAndAddFieldsToDataItem",value:function cloneAndAddFieldsToDataItem(e){var t=JSON.parse(JSON.stringify(e.data));return t.isTranslated=e.isTranslated,t.hasChildren=t.HasChildren,t.setName=e.metadata.setName,t}},{key:"addItemsToRecentItems",value:function addItemsToRecentItems(e){var t=this.getActionLinks(e.length>0,this.searchTerm);e=e.concat(t),this._recentItemsSubject$.next(e)}},{key:"getHeadComponentData",value:function getHeadComponentData(){var e={culture:this.settings.culture,provider:this.settings.provider,metadata:this._relatedDataEntity},t=ee.zw.emptyItem(e);return{type:Pi,properties:{dataItem:t,operationsTarget:z.Create,iconTitle:"More Options",ariaLabel:"More Options",buttonsLook:"circle",dropdownButtonIconName:"ellipsis-h",options:new oe.gP(ae.fT,Number.POSITIVE_INFINITY,!0)}}}},{key:"onEdit",value:function onEdit(e){var t=this,n=this.getValue().map((function(t){return t[e.metadata.key]}));this.editNavigationService.openDialogForRelatedDataAndLoadFieldData(n,e,this.route,null,!1,this.getHeadComponentData()).subscribe((function(e){t.writeValue(e)}))}},{key:"openPreview",value:function openPreview(e){var t=this,n=this.window.open(v.WP.EMPTY_STRING,v.yX);this.dynamicService.executeOperation(e,$.q.preview).subscribe((function(i){if(i.success&&i.link)n.location.href=i.link;else{var o=Do.getPreviewUrl(t.urlService,e);n.location.href=o}}))}},{key:"setAddEditButtonTitle",value:function setAddEditButtonTitle(){this.displayNames&&(this.settings.allowMultiple?this.addEditButtonTitle="Select ".concat(this.displayNames.plural):(this.addEditButtonTitle="Select ".concat(this.displayNames.singular),this.value&&this.value.length>0&&(this.addEditButtonTitle="Edit")))}},{key:"loadInitialModalItems",value:function loadInitialModalItems(){var e=this,t=this.createBaseServiceInfo(),n=Object.assign({},t);return this.showSiteSelector&&(n.filterValue=this.allSites.filter((function(t){return t.Id===e.currentSiteId}))[0]),this.loadMoreModalItems(n)}},{key:"loadMoreModalItems",value:function loadMoreModalItems(e){var t,n=this,i=this.createBaseServiceInfo(),o=e.allItemsTabValue||this.relatedEntityData.provider,a={entityData:{culture:this.relatedEntityData.culture,metadata:this.relatedEntityData.metadata,provider:o},skip:e.skip,take:e.take,order:"".concat(this._defaultFieldName," desc"),filter:this.settings.filter?(0,d.kI)(this.settings.filter):[],action:i.action,fallbackProperties:this.fallbackProperties,additionalQueryParams:this.additionalQueryParams};e.searchText&&(t=a.filter).push.apply(t,(0,J.Z)(this.filterService.buildSearchFilter(this.relatedEntityData,e.searchText)));if(e.filterValue&&e.filterValue.Id&&(a.siteId=e.filterValue.Id),this._relatedDataEntity.hasChildren&&!e.searchText){var r=e.parentId||this.parentId;r&&this.addHierarchicalFilters(a,r)}return this.getItemList(a).pipe((0,w.U)((function(e){return{dataItems:e.dataItems.map((function(e){return n.cloneAndAddFieldsToDataItem(e)})),totalCount:e.totalCount}})))}},{key:"getItemList",value:function getItemList(e){return this.settings.useLiveData&&(e.serviceUrl=this.settingsService.webServiceLiveUrl),this.dynamicService.getItemList(e)}},{key:"returnRemovedItemToRecentItems",value:function returnRemovedItemToRecentItems(e){var t=this._recentItemsSubject$.getValue().slice().filter((function(t){return t.Id!==e.Id}));t.length-1>=5?t[0]=e:t.splice(0,0,e),this._recentItemsSubject$.next(t)}},{key:"populateHiddenItems",value:function populateHiddenItems(e,t){if(e)for(var n=t;n0&&void 0!==arguments[0]&&arguments[0];return e?!!this.loadCount&&this.currentItemsCount+this.loadCount0&&void 0!==arguments[0])||arguments[0],t=this.editorHostRef.nativeElement.scrollHeight>Kt;t&&(this.collapseAnimationState="closed",this.isCollapsed=e),this.isExpandButtonVisible=t}},{key:"toggleExpandButton",value:function toggleExpandButton(){if(this.isCollapsed=!this.isCollapsed,this.isCollapsed){var e=this.editorHostRef.nativeElement.getBoundingClientRect(),t=document.documentElement.scrollTop-Math.abs(e.top)-150;this.scrollService.scrollToPoint(t,tn)}else this.checkContentCollapse(!1)}}]),EditorReadonlyComponent}(Z.F);Zc.ctorParameters=function(){return[{type:Nt.a},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Zc.propDecorators={editorHostRef:[{type:l.i9L,args:["editorHost",{static:!0}]}]},Zc=(0,a.gn)([(0,l.wA2)({template:Hc,encapsulation:l.ifc.None,animations:[(0,Oe.X$)("slideOpen",[(0,Oe.SB)("open",(0,Oe.oB)({height:"*"})),(0,Oe.SB)("closed",(0,Oe.oB)({height:"".concat(Xt,"px")})),(0,Oe.eR)("closed <=> open",[(0,Oe.jt)("".concat(tn,"ms ease"))]),(0,Oe.eR)(pt,[(0,Oe.jt)(0)])])],styles:[Le]}),(0,a.w6)("design:paramtypes",[Nt.a,Window])],Zc);var Yc=n(324),jc=function(e){(0,f.Z)(DateTimePickerReadOnlyComponent,e);var t=(0,p.Z)(DateTimePickerReadOnlyComponent);function DateTimePickerReadOnlyComponent(e,n,o){var a;return(0,i.Z)(this,DateTimePickerReadOnlyComponent),(a=t.call(this,o,n)).datePipe=e,a.dateTimeFormatsProvider=n,a}return(0,o.Z)(DateTimePickerReadOnlyComponent,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.dateTimeFormatsProvider.getDateAndTimeFormats().subscribe((function(t){e.dateValue&&!isNaN(e.dateValue.getTime())&&e.showDate&&(e.date=e.datePipe.transform(e.dateValue,t.dateFormat)),e.timeValue&&!isNaN(e.timeValue.getTime())&&e.showTime&&(e.time=e.datePipe.transform(e.timeValue,t.timeFormat))}))}}]),DateTimePickerReadOnlyComponent}(Oc);jc.ctorParameters=function(){return[{type:Ut.uU},{type:Lc},{type:Mc}]},jc.propDecorators={displayAsRelativeDate:[{type:l.IIB}]},jc=(0,a.gn)([(0,l.wA2)({selector:"sf-date-time-read",template:Yc}),(0,a.w6)("design:paramtypes",[Ut.uU,Lc,Mc])],jc);var Wc=n(325),Jc="file-text-o",qc=Object.freeze({image:"picture-o",document:Jc,video:"film","hierarchy-taxa":"folder-o","flat-taxa":"tag",servicehooks:Jc,"servicehooks-history":"search",notifications:"bell-o"}),Xc=function(){function NavigateCommand(e){(0,i.Z)(this,NavigateCommand),this.router=e}return(0,o.Z)(NavigateCommand,[{key:"execute",value:function execute(e){var t=e.data,n=t.dataItem,i=t.metadata,o=v.WP.EMPTY_STRING;o=t.navigateToGrid&&t.parentSetName||!i.metadata.ignoreParentChildRelationship?this.getParentIndexUrl(n,i.metadata,t.isChildNavigate,t.parentSetName,t.childSetName):this.getAllItemsUrl(i.metadata);var a=this.getQueryParamsOrDefault(n,i,e.currentRoute.parent,i.metadata.ignoreParentChildRelationship,t.additionalQueryParams),r=this.router.navigate([o],{relativeTo:e.currentRoute.parent.parent,queryParams:a});return(0,In.D)(r)}},{key:"getParentIndexUrl",value:function getParentIndexUrl(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=this.getRouteState(e,t,n,o);return"".concat(i||a.parentSetName,"/").concat(a.parentKey||v.WP.EMPTY_STRING,"/").concat(a.childSetName||v.WP.EMPTY_STRING)}},{key:"getAllItemsUrl",value:function getAllItemsUrl(e){return"".concat(e.parent||e.children[0])}},{key:"getRouteState",value:function getRouteState(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(!e)return{childSetName:i,parentSetName:t.parent||t.children[0]};var o=e.parentKey,a=e.key,r=e.metadata.parent,s=e.metadata.setName,l=e.childSetName;return n?{parentSetName:s,childSetName:i||l||s,parentKey:a}:e&&e.metadata.hasParent?{parentSetName:r,childSetName:s,parentKey:o}:{parentSetName:s,childSetName:null,parentKey:null}}},{key:"getQueryParamsOrDefault",value:function getQueryParamsOrDefault(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a={};if(e)a[g.Tx.PROVIDER]=t.provider,a[g.Tx.CULTURE]=t.culture,i&&!y.xe.isLibraryOrMedia(t.metadata.setName)&&(a[g.V5.FILTER]="Parent,".concat(e.data.Id));else{var r=n.snapshot.queryParams;a[g.Tx.PROVIDER]=r[g.Tx.PROVIDER],a[g.Tx.CULTURE]=r[g.Tx.CULTURE]}if(o)for(var s in o)o.hasOwnProperty(s)&&(a[s]=o[s]);return a}}]),NavigateCommand}(),Kc=n(326),$c=(0,o.Z)((function GridNavigationComponent(){(0,i.Z)(this,GridNavigationComponent),this.parentDisplayName=v.WP.EMPTY_STRING}));$c.propDecorators={entityData:[{type:l.IIB}],parentItem:[{type:l.IIB}],itemsState$:[{type:l.IIB}],clickHandler:[{type:l.IIB}],enterButtonHandler:[{type:l.IIB}],parentDisplayName:[{type:l.IIB}]},$c=(0,a.gn)([(0,l.wA2)({template:Kc,selector:"sf-grid-navigation"})],$c);var ed="Default.Analytics",td="Default.SharedInCount",nd=function(){function BundleDataService(e,t){(0,i.Z)(this,BundleDataService),this.sitefinitySdk=e,this.errorParserService=t,this.responses=new he.X(null),this._data={}}return(0,o.Z)(BundleDataService,[{key:"data",get:function get(){return Object.assign({},this._data)}},{key:"requestBatch",value:function requestBatch(e,t,n){var i=this,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(o){var a=e.map((function(e){return e.action})).reduce((function(e,t){return-1===e.indexOf(t)&&e.push(t),e}),[]);a.forEach((function(e){i._data[e]={}}))}else e=e.filter((function(e){return!i.data[e.action]||!i.data[e.action][e.id]}));for(var r=[],s=0;s4&&void 0!==arguments[4])||arguments[4],r=e;if(a?this._data[n]={}:r=r.filter((function(e){return!o.data[n][e.key]})),r.length>0){var s="".concat(n,"(keys=[").concat(r.map((function(e){return"'".concat(e.key,"'")})).join(","),"])"),l=this.sitefinitySdk.instance.batch((function(e){var t,i;o._data[n]||(o._data[n]={}),null===(i=null===(t=e.data[0])||void 0===t?void 0:t.response.data.value)||void 0===i||i.forEach((function(e){o._data[n][e.Id]={data:e}})),o.responses.next({cleanRequest:a})}),(function(e){throw o.errorParserService.parseError(e)}),void 0,{provider:t.provider,culture:t.culture,siteId:i});l.get({entitySet:t.metadata.setName,action:s}),l.execute()}}}]),BundleDataService}();nd.ctorParameters=function(){return[{type:Pr.l},{type:zs.k}]},nd=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Pr.l,zs.k])],nd);var id,od=5e3,ad=function(){function BulkCommand(e){(0,i.Z)(this,BulkCommand),this.innerCommand=e}return(0,o.Z)(BulkCommand,[{key:"confirm",value:function confirm(e){var t=this.innerCommand;return t.confirm?t.confirm(e):(e.data.confirmed=!0,(0,r.of)(e))}},{key:"execute",value:function execute(e){var t=this;if(!e.data.bulk||function instanceOfExecuteOnceInBulkCommand(e){return"executeOnceInBulk"in e}(this.innerCommand))return this.innerCommand.execute(e);var n=(0,In.D)(e.data.selectedItems),i=new re.t(1),o={success:!0,failedItemsIds:[],succeededItemsIds:[],failedItemsErrors:{}};return n.pipe((0,oa.zg)((function(n){return t.getOperationExecutionResult(n,e)}),null,5)).subscribe((function(e){e.success?o.succeededItemsIds.push(e.key):(o.failedItemsIds.push(e.key),o.failedItemsErrors[e.key]=e.error)}),(function(e){throw e}),(function(){i.next(o)})),i}},{key:"getNotification",value:function getNotification(e,t,n){if(!e&&!t)return null;var i=e&&e.length>0&&t&&t.length>0,o=!i&&t&&t.length>0,a=!i&&e&&e.length>0,r={type:Za,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:n.action.name.toLowerCase()},id:"bulkOperationsNotification",look:ya.SUCCESS};return a?(r.look=ya.SUCCESS,r.duration=od):o?(r.look=ya.ERROR,r.closeButton=!0):i&&(r.look=ya.WARNING,r.closeButton=!0),r}},{key:"getOperationExecutionResult",value:function getOperationExecutionResult(e,t){var n=new re.t(1),i=Object.assign({},t);return i.data=Object.assign({},t.data),i.data.dataItem=e,this.innerCommand.execute(i).subscribe((function(e){return n.next(e)}),(function(t){return n.next({key:e.key,success:!1,error:t})})),n.pipe((0,kn.P)())}}]),BulkCommand}();!function(e){e.Success="Success",e.Warning="Warning",e.Error="Error"}(id||(id={}));var rd=n(327),sd=function(){function ChangeOwnerComponent(e){(0,i.Z)(this,ChangeOwnerComponent),this.dynamicItemStore=e,this.users=[],this.selectorConfig=null,this.selected=[],this.allItemsTabType=no,this.currentOwnerId=null}return(0,o.Z)(ChangeOwnerComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.viewModel={Title:"Change ".concat(this.selectedItems.length>1?this.entityData.metadata.displayName.toLowerCase():this.entityData.metadata.singularName.toLowerCase()," owner"),DefaultField:"FullName",TypeNames:{plural:"users",singular:"user"}},this.treeConfig={multiSelection:!1,isHierarchical:!1,avatar:!0,description:!0,treeProperties:{displayField:this.viewModel.DefaultField}},this.selectorConfig={selectionText:this.viewModel.Title,formattedTypeName:v.WP.EMPTY_STRING,mainTabConfig:{title:this.viewModel.Title}},this.serviceAware=new ti((function(t){return e.loadMore(t)})),this.loadProviders()}},{key:"providerChanged",value:function providerChanged(e){this.selectedProviderName=e,this.loadMore({})}},{key:"loadProviders",value:function loadProviders(){var e=this;this.isLoading=!0,this.providersAsync=new re.t(1),this.dynamicItemStore.service.executeUnboundFunction("Default.GetUserProviders()").pipe((0,w.U)((function(t){var n=t.value.find((function(e){return e.isDefault}));e.selectedProviderName=n.name,e.dynamicItemStore.service.executeBoundFunction(e.selectedItems[0],"Default.GetOwner()").subscribe((function(n){e.currentOwnerId=n.value,e.dynamicItemStore.service.executeUnboundFunction("Default.GetUsers(provider='".concat(e.selectedProviderName,"',search='')")).subscribe((function(n){e.totalCount=n["@odata.count"];var i=n.value;e.users=e.addFieldsToOwners(i),e.providersAsync.next({providersCollection:t.value}),1===e.selectedItems.length&&e.selectCurrentOwner(e.users),e.isLoading=!1}))}))}))).subscribe()}},{key:"loadMore",value:function loadMore(e){var t,n=this,i=(null===(t=e.searchText)||void 0===t?void 0:t.trim())||v.WP.EMPTY_STRING,o=e.skip||v.WP.EMPTY_STRING,a=e.take||v.WP.EMPTY_STRING;return this.dynamicItemStore.service.executeUnboundFunction("Default.GetUsers(provider='".concat(this.selectedProviderName,"',search='").concat(i,"')?$skip=").concat(o,"&$top=").concat(a)).pipe((0,w.U)((function(e){var t=e.value,i=n.addFieldsToOwners(t);return 0===n.selected.length&&n.selectCurrentOwner(i),{dataItems:i,totalCount:e["@odata.count"]}})))}},{key:"selectCurrentOwner",value:function selectCurrentOwner(e){var t=this,n=e.find((function(e){return e.Id===t.currentOwnerId}));void 0!==n&&(this.selected=[n])}},{key:"addFieldsToOwners",value:function addFieldsToOwners(e){return e.map((function(e){return Object.assign({},e,{showViewUrl:!1,searchDescription:!0,description:e.UserEmail,userAvatar:e.ImageUrl})}))}}]),ChangeOwnerComponent}();sd.ctorParameters=function(){return[{type:ga}]},sd.propDecorators={entityData:[{type:l.IIB}],selectedItems:[{type:l.IIB}]},sd=(0,a.gn)([(0,l.wA2)({template:rd}),(0,a.w6)("design:paramtypes",[ga])],sd);var ld=function(){function ChangeOwnerCommand(e,t,n){(0,i.Z)(this,ChangeOwnerCommand),this.modalWindowService=e,this.dynamicItemStore=t,this.notificationService=n,this.executeOnceInBulk=!0}return(0,o.Z)(ChangeOwnerCommand,[{key:"execute",value:function execute(e){var t=this,n=new re.t(1),i=this.getChangeOwnerComponentData(e,n),o=[new ki.pu(_e.USE_SELECTED,(function(i){return t.onDoneClicked(e,i.component,n)})),new ki.Lw],a=new ki.np(i,(function(e){e.type===ki.EZ.ButtonClicked&&e.data&&e.data.data?n.next(e.data.data):n.next({success:!1})}),o,null,"-bottom");return this.modalWindowService.setMapping(a),this.modalWindowService.show(ki.yD,e.currentRoute.parent),n.pipe((0,kn.P)())}},{key:"getNotification",value:function getNotification(e,t,n){var i=t&&t.length>0,o=e&&e.length>0,a={type:Za,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:"update"},id:"bulkOperationsNotification",look:ya.SUCCESS};return o?(a.look=ya.SUCCESS,a.duration=od):i&&(a.look=ya.ERROR,a.closeButton=!0),a}},{key:"getChangeOwnerComponentData",value:function getChangeOwnerComponentData(e,t){return{type:sd,properties:{entityData:e.data.entityData,selectedItems:e.data.selectedItems}}}},{key:"onDoneClicked",value:function onDoneClicked(e,t,n){var i=this,o=new re.t(1);if(t.selected.length>0){var a=t.selectedItems.map((function(e){return e.key})),r=t.selected[0].Id,s={itemIds:a,userId:r};this.dynamicItemStore.executeEntityOperation(e.data.entityData,"Default.ChangeOwner",s).subscribe((function(){var e={success:!0,succeededItemsIds:a};1===a.length&&i.notificationService.publishBasicNotification({message:"Owner changed successfully.",look:ya.SUCCESS}),o.next(new ki.DQ(e,!0))}),(function(){var e={success:!0,failedItemsIds:a};1===a.length&&i.notificationService.publishBasicNotification({message:"Failed to change owner.",look:ya.ERROR}),o.next(new ki.DQ(e,!0))}))}return o}}]),ChangeOwnerCommand}();ld.ctorParameters=function(){return[{type:ki.bL},{type:ga},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]};var cd=function(){function GridReloadService(){(0,i.Z)(this,GridReloadService),this.reloadRequest$=new re.t(1),this.reloadRequested=this.reloadRequest$.asObservable()}return(0,o.Z)(GridReloadService,[{key:"requestReload",value:function requestReload(){this.reloadRequest$.next(null)}}]),GridReloadService}();cd.ctorParameters=function(){return[]},cd=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[])],cd);var dd=[$.q.moveTaxon,$.q.mergeTaxon,$.q.bulkEditProperties,$.q.assignTaxons],ud=new l.OlP("grid-extender"),fd=function(){function GridExtenderBase(e,t,n,o,a,r,s,l){(0,i.Z)(this,GridExtenderBase),this.contentFilterService=e,this.dynamicItemStore=t,this.settings=n,this.sortService=o,this.backendTweaksStore=a,this.reloadService=r,this.modalWindowService=s,this.notificationService=l}return(0,o.Z)(GridExtenderBase,[{key:"getSidebarsExternalKeys",value:function getSidebarsExternalKeys(e){return[e.metadata.setName]}},{key:"getCustomSidebars",value:function getCustomSidebars(e){return(0,r.of)([])}},{key:"getSettingsSidebarSections",value:function getSettingsSidebarSections(e,t){var n=new re.t(1);return e.pipe((0,kn.P)()).subscribe((function(e){var i=e.filter((function(e){return e.Category.Name===$.si.settings&&e.Name!==$.q.sendForTranslation&&e.Name!==$.q.move&&e.Name!==$.q.assignTaxons}));if(Array.isArray(i)&&i.length>0){var o="Manage settings";t.metadata.setName!==u.gl.PAGES&&t.metadata.setName!==u.gl.IMAGES&&t.metadata.setName!==u.gl.ALBUMS||(o="More options"),n.next([{operations:i,ordinal:100,title:o}])}else n.next([]);n.complete()})),n.asObservable()}},{key:"getQuickNavigationSidebarSections",value:function getQuickNavigationSidebarSections(e,t){return(0,r.of)([])}},{key:"initialize",value:function initialize(e){var t=e?e.url.split("?")[0]:null;t!==this.previousUrl&&(this.clearTemporaryData(),this.previousUrl=t)}},{key:"getNavigationComponentData",value:function getNavigationComponentData(e,t){var n=t.entityData.metadata;return n.hasParent||n.ignoreParentChildRelationship?{type:$c,properties:Object.assign({},t),updatePropertiesOnChange:!0,removePreviousView:!0}:null}},{key:"openEditItemInDialog",value:function openEditItemInDialog(e){return!1}},{key:"getParentSetName",value:function getParentSetName(e){return null}},{key:"modifySingleItemOperations",value:function modifySingleItemOperations(e,t,n){return t}},{key:"modifyOperations",value:function modifyOperations(e,t,n){return t=this.filterOperationsAccordingToBulkLimit(t,n)}},{key:"shouldNavigateToChildGrid",value:function shouldNavigateToChildGrid(e){return e.metadata.hasChildren&&!e.metadata.isSelfReferencing}},{key:"shouldReloadItemsAfterEdit",value:function shouldReloadItemsAfterEdit(e,t){var n=e.dataItem.isEmpty&&t.success&&t.dataItem&&!t.dataItem.isEmpty,i=e.dataItem;return{reloadGrid:!i.metadata.hasLifecycle&&(!i.isEmpty||i.metadata.ignoreParentChildRelationship)||n}}},{key:"shouldReloadItemsOnViewModeChanged",value:function shouldReloadItemsOnViewModeChanged(e,t){return!1}},{key:"getTitle",value:function getTitle(e){return(0,r.of)("".concat(e.entityData.metadata.displayName))}},{key:"tryHandleAction",value:function tryHandleAction(e){return e.actionName===$.q.changeOwner?(0,r.of)(this.tryHandleChangeOwnerAction(e)):(0,r.of)(!1)}},{key:"getItemsData",value:function getItemsData(e,t,n){return null}},{key:"getChildren",value:function getChildren(e,t,n,i){return new Promise((function(e){return e(null)}))}},{key:"isHierarchical",value:function isHierarchical(e){return!1}},{key:"getVirtualizationOptions",value:function getVirtualizationOptions(e){return{isVirtualized:!1}}},{key:"getTotalItemsCountWithChildren",value:function getTotalItemsCountWithChildren(e,t){return(0,r.of)(e)}},{key:"showFilters",value:function showFilters(e){return!0}},{key:"disableSelectAll",value:function disableSelectAll(e,t){return this.isHierarchical(e)}},{key:"getExpandedNodeIds",value:function getExpandedNodeIds(e){return(0,r.of)([])}},{key:"setExpandedNodeIds",value:function setExpandedNodeIds(e){}},{key:"syncExpandedNodeIds",value:function syncExpandedNodeIds(e){}},{key:"getCurrentPaging",value:function getCurrentPaging(e){if(this.isPagingPersistenceEnabled()){var t=e.entityData.metadata.typeFullName+e.entityData.provider;return this.settings.getPaging(t)}return null}},{key:"setCurrentPaging",value:function setCurrentPaging(e){if(this.isPagingPersistenceEnabled()){var t=e.entityData.metadata.typeFullName+e.entityData.provider;this.settings.setPaging(t,e.itemPaging)}}},{key:"getSingleItemName",value:function getSingleItemName(e){var t=e.entityData.metadata.singularName;return(0,r.of)({primary:t,secondary:t})}},{key:"getPluralItemName",value:function getPluralItemName(e){var t=e.entityData.metadata.displayName;return(0,r.of)({primary:t,secondary:t})}},{key:"getEmptyScreenIcon",value:function getEmptyScreenIcon(e){return Jc}},{key:"getDefaultSort",value:function getDefaultSort(e){return this.backendTweaksStore.getGridSortExpression(e.metadata.setName)||this.sortService.getDefaultSort(e)}},{key:"showSorters",value:function showSorters(e){return!0}},{key:"getDisabledFilterLoaders",value:function getDisabledFilterLoaders(e){return null}},{key:"executeNavigateCommand",value:function executeNavigateCommand(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return new Xc(e).execute({currentRoute:t,data:{dataItem:n,metadata:i,parentSetName:this.getParentSetName(i),childSetName:o,navigateToGrid:n&&this.shouldNavigateToChildGrid(n),isChildNavigate:n&&n.metadata.setName===i.metadata.setName},model:null})}},{key:"modifyActionContext",value:function modifyActionContext(e,t){return(0,r.of)(e)}},{key:"modifyEntityDataForBulkOperations",value:function modifyEntityDataForBulkOperations(e,t){return e}},{key:"getPresenterTemplate",value:function getPresenterTemplate(e){return"List"}},{key:"hideLoadMore",value:function hideLoadMore(e,t){return!1}},{key:"processEntityData",value:function processEntityData(e){return e}},{key:"executeServerAction",value:function executeServerAction(e,t){return e.execute(t)}},{key:"getEmptyScreenText",value:function getEmptyScreenText(e,t){return t.pipe((0,w.U)((function(e){return"No ".concat((new Ut.i8).transform(e?e.primary:"items")," have been created")})))}},{key:"getFilterSidebarTitle",value:function getFilterSidebarTitle(e,t){return"Filter ".concat(this.getSidebarDisplayName(e,t).toLowerCase())}},{key:"getSortDropdownTitle",value:function getSortDropdownTitle(e,t){var n=t||this.getSidebarDisplayName(e,null);return"Sort ".concat(n.toLowerCase())}},{key:"getSettingsSidebarTitle",value:function getSettingsSidebarTitle(e,t){return"Settings for ".concat(this.getSidebarDisplayName(e,t).toLowerCase())}},{key:"getQuickNavigationSidebarTitle",value:function getQuickNavigationSidebarTitle(e,t){return"Browse ".concat(this.getSidebarDisplayName(e,t).toLowerCase())}},{key:"getSidebarDisplayName",value:function getSidebarDisplayName(e,t){return e.metadata.displayName}},{key:"hasLongRunningTasks",value:function hasLongRunningTasks(e){return!1}},{key:"getNotificationServiceFilter",value:function getNotificationServiceFilter(e){return e.metadata.typeFullName}},{key:"getTakeItemsCount",value:function getTakeItemsCount(){return Ci.$d}},{key:"getDataFieldNames",value:function getDataFieldNames(e,t){var n=[t.metadata.key];return e.filter((function(e){return e.dataFieldNames})).forEach((function(e){e.dataFieldNames.forEach((function(e){t.metadata.properties.hasOwnProperty(e)&&n.indexOf(e)<0&&n.push(e)}))})),t.metadata.hasParent&&n.push(t.metadata.parentIdProperty),n}},{key:"getAsyncColumnsValues",value:function getAsyncColumnsValues(e,t,n,i,o){var a=this;if(e.find((function(e){return"Analytics"===e.name}))){var r=n.dataItems.filter((function(e){return e.isTranslated}));n.dataItems.forEach((function(e){var t=a.getExpandedChildItems(e);r.push.apply(r,(0,J.Z)(t))})),o.requestSingle(r,t,ed,i,!n.skip)}e.find((function(e){return e.name===h.E.USED_ON}))&&o.requestBatch(n.dataItems.map((function(e){return{id:e.key,action:td,entityData:t}})),t,i,!n.skip)}},{key:"reloadItems",value:function reloadItems(e,t,n,i,o){var a=this.contentFilterService.getLoadArguments(e,t,n,i,o);return this.dynamicItemStore.loadItems(a),Mr.C}},{key:"loadMore",value:function loadMore(e){var t=this,n=null,i=this.dynamicItemStore.getLoadedItemsCount(e.entityData),o=this.dynamicItemStore.getLeftItemsCount(e.entityData);return e.treeConfig.isHierarchical?this.getExpandedNodeIds({entityData:e.entityData}).subscribe((function(n){e.treeConfig.expandedNodeIds=n;var a=t.getItemsData(e.route,e.dataFieldNames,{expandedNodeIds:n,action:e.action,skip:i,take:o,order:e.order});t.dynamicItemStore.loadItems(a)})):((e.executedSearchParameter||e.parentId&&e.entityData.metadata.hasParent)&&(n=(0,ir.r)().where().and(),e.parentId&&e.entityData.metadata.hasParent&&(n=n.eq(e.entityData.metadata.parentIdProperty,e.parentId)),e.executedSearchParameter&&(n=this.contentFilterService.applySearch(e.executedSearchParameter,e.entityData,n)),n=n.done().done()),this.dynamicItemStore.loadItems({entityData:e.entityData,query:n,action:e.action,order:e.order,skip:i,take:o,fallbackProperties:[e.entityData.metadata.defaultFieldName],dataFieldNames:e.dataFieldNames})),Mr.C}},{key:"isPagingPersistenceEnabled",value:function isPagingPersistenceEnabled(){return!1}},{key:"clearTemporaryData",value:function clearTemporaryData(){this.settings.clearPaging()}},{key:"filterOperationsAccordingToBulkLimit",value:function filterOperationsAccordingToBulkLimit(e,t){return this.areCurrentSelectedItemsMoreThanBulkLimit(t)&&(e=e.filter((function(e){return!dd.includes(e.Name)}))),e}},{key:"areCurrentSelectedItemsMoreThanBulkLimit",value:function areCurrentSelectedItemsMoreThanBulkLimit(e){var t=e.currentItemSelectionInfo.selectedItems.size;return e.previousItemSelectionInfo.allItemsSelected&&(t=e.currentItemSelectionInfo.deselectedItems.size>0?e.itemsState.totalCount-e.currentItemSelectionInfo.deselectedItems.size:e.itemsState.totalCount),t>g.tj}},{key:"getExpandedChildItems",value:function getExpandedChildItems(e){var t=this,n=[];return e.data.Children&&e.data.Children.forEach((function(i){var o=ee.zw.from(i,e.metadata,e.provider,e.culture);o.isTranslated&&n.push(o),n.push.apply(n,(0,J.Z)(t.getExpandedChildItems(o)))})),n}},{key:"tryHandleChangeOwnerAction",value:function tryHandleChangeOwnerAction(e){var t=this,n={currentRoute:e.route,data:{selectedItems:e.item.data?[e.item]:[],entityData:e.item},model:null};return new ld(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n).subscribe((function(){t.reloadService.requestReload()})),!0}}]),GridExtenderBase}();fd.ctorParameters=function(){return[{type:b.y},{type:ga},{type:Qt.Zr},{type:Aa},{type:yl},{type:cd},{type:ki.bL},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},fd=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[b.y,ga,Qt.Zr,Aa,yl,cd,ki.bL,La])],fd);var pd=function(){function CompositeGridExtender(e){(0,i.Z)(this,CompositeGridExtender),this.gridExtenders=e}return(0,o.Z)(CompositeGridExtender,[{key:"initialize",value:function initialize(e,t){return this.getExtender(t).initialize(e)}},{key:"openEditItemInDialog",value:function openEditItemInDialog(e){return this.getExtender(e).openEditItemInDialog(e)}},{key:"getParentSetName",value:function getParentSetName(e){return this.getExtender(e).getParentSetName(e)}},{key:"reloadItems",value:function reloadItems(e,t,n,i,o){return this.getExtender(n).reloadItems(e,t,n,i,o)}},{key:"loadMore",value:function loadMore(e){return this.getExtender(e.entityData).loadMore(e)}},{key:"shouldNavigateToChildGrid",value:function shouldNavigateToChildGrid(e){return this.getExtender(e).shouldNavigateToChildGrid(e)}},{key:"getExpandedNodeIds",value:function getExpandedNodeIds(e){return this.getExtender(e.entityData).getExpandedNodeIds(e)}},{key:"syncExpandedNodeIds",value:function syncExpandedNodeIds(e){this.getExtender(e.entityData).syncExpandedNodeIds(e)}},{key:"setExpandedNodeIds",value:function setExpandedNodeIds(e){this.getExtender(e.entityData).setExpandedNodeIds(e)}},{key:"getCurrentPaging",value:function getCurrentPaging(e){return this.getExtender(e.entityData).getCurrentPaging(e)}},{key:"setCurrentPaging",value:function setCurrentPaging(e){this.getExtender(e.entityData).setCurrentPaging(e)}},{key:"getTitle",value:function getTitle(e){return this.getExtender(e.entityData).getTitle(e)}},{key:"isHierarchical",value:function isHierarchical(e){return this.getExtenderByRoute(e).isHierarchical(e)}},{key:"getVirtualizationOptions",value:function getVirtualizationOptions(e){return this.getExtenderByRoute(e).getVirtualizationOptions(e)}},{key:"getTotalItemsCountWithChildren",value:function getTotalItemsCountWithChildren(e,t){return this.getExtenderByRoute(t).getTotalItemsCountWithChildren(e,t)}},{key:"showFilters",value:function showFilters(e){return this.getExtender(e).showFilters(e)}},{key:"disableSelectAll",value:function disableSelectAll(e,t){return this.getExtenderByRoute(e).disableSelectAll(e,t)}},{key:"getChildren",value:function getChildren(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=this.getExtender(e);return o.getChildren(e,t,n,i)}},{key:"getItemsData",value:function getItemsData(e,t,n){return this.getExtenderByRoute(e).getItemsData(e,t,n)}},{key:"tryHandleAction",value:function tryHandleAction(e){var t=this.getExtender(e.item);return t?t.tryHandleAction(e):(0,r.of)(!1)}},{key:"showSorters",value:function showSorters(e){return this.getExtender(e).showSorters(e)}},{key:"getSingleItemName",value:function getSingleItemName(e){return this.getExtender(e.entityData).getSingleItemName(e)}},{key:"getPluralItemName",value:function getPluralItemName(e){return this.getExtender(e.entityData).getPluralItemName(e)}},{key:"getEmptyScreenIcon",value:function getEmptyScreenIcon(e){var t=this.getExtender(e),n=e.metadata.setName;return t.getEmptyScreenIcon(n)}},{key:"getDefaultSort",value:function getDefaultSort(e){return this.getExtender(e).getDefaultSort(e)}},{key:"getDisabledFilterLoaders",value:function getDisabledFilterLoaders(e){return this.getExtenderByRoute(e).getDisabledFilterLoaders(e)}},{key:"executeNavigateCommand",value:function executeNavigateCommand(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=this.getExtender(i);return a.executeNavigateCommand(e,t,n,i,o)}},{key:"modifyActionContext",value:function modifyActionContext(e,t){return this.getExtender(e.item).modifyActionContext(e,t)}},{key:"modifyEntityDataForBulkOperations",value:function modifyEntityDataForBulkOperations(e,t){return this.getExtender(e).modifyEntityDataForBulkOperations(e,t)}},{key:"getSettingsSidebarSections",value:function getSettingsSidebarSections(e,t){return this.getExtender(t).getSettingsSidebarSections(e,t)}},{key:"getCustomSidebars",value:function getCustomSidebars(e){return this.getExtender(e.entityData).getCustomSidebars(e)}},{key:"getSidebarsExternalKeys",value:function getSidebarsExternalKeys(e){return this.getExtender(e).getSidebarsExternalKeys(e)}},{key:"getFilterSidebarTitle",value:function getFilterSidebarTitle(e,t){return this.getExtender(e).getFilterSidebarTitle(e,t)}},{key:"getSortDropdownTitle",value:function getSortDropdownTitle(e,t){return this.getExtender(e).getSortDropdownTitle(e,t)}},{key:"getSettingsSidebarTitle",value:function getSettingsSidebarTitle(e,t){return this.getExtender(e).getSettingsSidebarTitle(e,t)}},{key:"getQuickNavigationSidebarSections",value:function getQuickNavigationSidebarSections(e,t){return this.getExtender(e).getQuickNavigationSidebarSections(e,t)}},{key:"getQuickNavigationSidebarTitle",value:function getQuickNavigationSidebarTitle(e,t){return this.getExtender(e).getQuickNavigationSidebarTitle(e,t)}},{key:"getSidebarDisplayName",value:function getSidebarDisplayName(e,t){return this.getExtender(e).getSidebarDisplayName(e,t)}},{key:"getNavigationComponentData",value:function getNavigationComponentData(e,t){return this.getExtender(e).getNavigationComponentData(e,t)}},{key:"shouldReloadItemsAfterEdit",value:function shouldReloadItemsAfterEdit(e,t){return this.getExtender(e.dataItem).shouldReloadItemsAfterEdit(e,t)}},{key:"shouldReloadItemsOnViewModeChanged",value:function shouldReloadItemsOnViewModeChanged(e,t){return this.getExtender(t).shouldReloadItemsOnViewModeChanged(e,t)}},{key:"getPresenterTemplate",value:function getPresenterTemplate(e){return this.getExtender(e).getPresenterTemplate(e)}},{key:"hideLoadMore",value:function hideLoadMore(e,t){return this.getExtenderByRoute(e).hideLoadMore(e,t)}},{key:"processEntityData",value:function processEntityData(e){return this.getExtender(e).processEntityData(e)}},{key:"executeServerAction",value:function executeServerAction(e,t){return this.getExtenderByRoute(t.route).executeServerAction(e,t)}},{key:"getEmptyScreenText",value:function getEmptyScreenText(e,t){return this.getExtender(e).getEmptyScreenText(e,t)}},{key:"hasLongRunningTasks",value:function hasLongRunningTasks(e){return this.getExtender(e).hasLongRunningTasks(e)}},{key:"modifySingleItemOperations",value:function modifySingleItemOperations(e,t,n){return this.getExtender(e).modifySingleItemOperations(e,t,n)}},{key:"modifyOperations",value:function modifyOperations(e,t,n){return this.getExtender(e).modifyOperations(e,t,n)}},{key:"getNotificationServiceFilter",value:function getNotificationServiceFilter(e){return this.getExtender(e).getNotificationServiceFilter(e)}},{key:"getTakeItemsCount",value:function getTakeItemsCount(e){return this.getExtenderByRoute(e).getTakeItemsCount()}},{key:"getDataFieldNames",value:function getDataFieldNames(e,t){return this.getExtender(t).getDataFieldNames(e,t)}},{key:"getAsyncColumnsValues",value:function getAsyncColumnsValues(e,t,n,i,o){return this.getExtender(t).getAsyncColumnsValues(e,t,n,i,o)}},{key:"getExtenderByRoute",value:function getExtenderByRoute(e){var t=e.snapshot.data.dynamicItems;return this.getExtender(t)}},{key:"getExtender",value:function getExtender(e){return this.gridExtenders.find((function(t){return e&&t.isSupportedType(e)}))}}]),CompositeGridExtender}();pd.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[ud]}]}]},pd=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],pd);var Ad,md=n(226),gd=function(e){(0,f.Z)(ReorderComponent,e);var t=(0,p.Z)(ReorderComponent);function ReorderComponent(e,n,o,a,r){var s;return(0,i.Z)(this,ReorderComponent),(s=t.call(this))._scrollService=e,s.dynamicItemService=n,s.gridExtender=o,s.route=a,s.mediaService=r,s.treeConfig={drag:!0,status:!0,statusText:!0,noSelection:!0,multiSelection:!1,hideExtensions:!0},s.treeItems=[],s.isInitialLoading=!0,s.reorderActions=[],s.dirty=!1,s.loadItems$=new Ft.xQ,s.scrollService=s._scrollService,s}return(0,o.Z)(ReorderComponent,[{key:"parentId",get:function get(){return this.route.parent.snapshot.params[g.UY.PARENT_ID_SEGMENT]||null}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.displayField=this.entityData.metadata.defaultFieldName,this.initPluralName(),null!=this.parentItem&&this.initParentTitle();var t=this.loadItems$.pipe((0,Xn.w)((function(e){return e}))).subscribe((function(t){if(t){var n=t.dataItems.map((function(t){var n=(0,d.kI)(t.data);return n.isTranslated=t.isTranslated,e.isMedia()&&n.Extension&&(n.icon=y.xe.getDocumentThumbnailIcon(n.Extension),n.iconLook="size-3xl ".concat(!1===n.isTranslated?"lighter":"light")),n}));e.treeItems=e.treeItems.concat(n),e.totalItemsCount=t.totalCount,e.loadAdditionalItems(),e.isInitialLoading=!1}}));this.registerSubscription(t),this.loadItems(0)}},{key:"onMoveNode",value:function onMoveNode(e){var t,n,i,o,a;(this.dirty=!0,0===e.from.parent.children.length&&(e.from.parent.HasChildren=!1),1===e.to.parent.children.length)?(i=Ad.Under,o=e.to.parent[this.entityData.metadata.key]):(0===e.to.index?(i=Ad.Before,a=1):(i=Ad.After,a=e.to.index-1),o=e.to.parent.children[a][this.entityData.metadata.key]);var r=null===(t=e.treeModel)||void 0===t?void 0:t.getNodeById(e.to.parent.Id),s=null===(n=e.treeModel)||void 0===n?void 0:n.getNodeById(e.from.parent.Id);r!==s&&(s?r||this.totalItemsCount++:this.totalItemsCount--);var l={Id:e.node[this.entityData.metadata.key],Position:i,TargetId:o};this.reorderActions.push(l)}},{key:"treeNodeClicked",value:function treeNodeClicked(e){e.data.isLink&&this.loadMoreChildren(e)}},{key:"checkShouldLoadMore",value:function checkShouldLoadMore(){return this.treeItems.length>0&&this.treeItems.length1&&void 0!==arguments[1])||arguments[1];Array.isArray(e.data.children)&&this.removeLoadMoreLink(e.data.children);var i=e.data.children?e.data.children.length:0,o={parentId:e.data.Id,skip:i};return this.gridExtender.getChildren(this.entityData,this.route.snapshot.parent.firstChild.params.parentId,o).then((function(i){return t.loadMoreChildNodes(i,e,n)}))}},{key:"loadMoreChildNodes",value:function loadMoreChildNodes(e,t,n){var i=[];return Array.isArray(t.data.children)&&(i=t.data.children),i=i.concat(e.dataItems.map((function(e){return Object.assign({},e.data)}))),t.data.hasChildren=0!==i.length,t.data.children=i,this.addLoadMoreLink(t.data.children,t.data.Id,e.totalCount,e.entityData),n||this.tree.updateTreeModel(),i}},{key:"addLoadMoreLink",value:function addLoadMoreLink(e,t,n,i){if(e.length>0&&n>e.length){var o={Title:"Load more",Id:"".concat(t,"_loadMore"),action:Na,isSelectionDisabled:!0,isLink:!0,icon:"repeat",iconLook:"size-xs color-inherit"};e.push(o)}}},{key:"removeLoadMoreLink",value:function removeLoadMoreLink(e){var t=e.findIndex((function(e){if(e){return e&&!!e.action}}));t>=0&&e.splice(t,1)}}]),ReorderComponent}(E.zu);gd.ctorParameters=function(){return[{type:Nt.a},{type:Ci.dg},{type:pd},{type:m.gz},{type:qs}]},gd.propDecorators={tree:[{type:l.i9L,args:["tree",{static:!1}]}]},gd=(0,a.gn)([(0,l.wA2)({template:Wc}),(0,a.w6)("design:paramtypes",[Nt.a,Ci.dg,pd,m.gz,qs])],gd),function(e){e.Before="0",e.After="1",e.Under="2"}(Ad||(Ad={}));var hd=function(){function InfiniteScrollerOnElementDirective(e){var t=this;(0,i.Z)(this,InfiniteScrollerOnElementDirective),this.el=e,this.scrolledToBottom=new l.vpe,this.previousScrollPosition=0,this.scrollEventListener=function(e){return t.onWindowScroll(e)},this.el.nativeElement.addEventListener(ni,this.scrollEventListener)}return(0,o.Z)(InfiniteScrollerOnElementDirective,[{key:"ngOnDestroy",value:function ngOnDestroy(){this.el.nativeElement.removeEventListener(ni,this.scrollEventListener)}},{key:"onWindowScroll",value:function onWindowScroll(e){this.el.nativeElement.scrollTop+this.el.nativeElement.clientHeight>=this.el.nativeElement.scrollHeight-200&&this.previousScrollPosition+6000})).length>=n?this.isVisible=!0:this.isVisible=!1}},{key:"onScrollCompleted",value:function onScrollCompleted(){this.isScrollingFromItemClick=!1}},{key:"onFieldViewPortChanges",value:function onFieldViewPortChanges(e){var t=this.items.find((function(t){return t.originalModel.equals(e.model)}));if(t){var n=this.visibleFieldSectionsIndexes.findIndex((function(e){return e===t.index}));e.isInViewPort?-1===n&&this.visibleFieldSectionsIndexes.push(t.index):n>-1&&this.visibleFieldSectionsIndexes.splice(n,1),this.isScrollingFromItemClick||this.updateHighlightedItemIndex()}else this.isScrollingFromItemClick||this.updateHighlightedItemIndex()}},{key:"updateHighlightedItemIndex",value:function updateHighlightedItemIndex(){if(this.items.forEach((function(e){e.isActive=!1})),this.visibleFieldSectionsIndexes.length>0){var e,t=this.visibleFieldSectionsIndexes.sort()[0],n=(0,Qn.Z)(this.items);try{for(n.s();!(e=n.n()).done;){var i=e.value;if(i.index===t){i.isActive=!0;break}}}catch(e){n.e(e)}finally{n.f()}}}},{key:"processFieldSectionModels",value:function processFieldSectionModels(e){var t=[];return e?(e.forEach((function(e,n){var i=new Sd;i.originalModel=e,i.index=n,!e.settings.isMain&&e.fields.length>0&&t.push(i)})),t):t}}]),ContentSectionMenuComponent}(E.zu);Cd.ctorParameters=function(){return[{type:Nt.a},{type:xd},{type:Rt.V}]},Cd.propDecorators={sections:[{type:l.IIB}],requestFieldSectionsCalulations:[{type:l.L6J,args:["window:scroll"]}]},Cd=(0,a.gn)([(0,l.wA2)({selector:"sf-content-section-menu",template:kd}),(0,a.w6)("design:paramtypes",[Nt.a,xd,Rt.V])],Cd);var Sd=function(e){(0,f.Z)(ContentSectionMenuItemModel,e);var t=(0,p.Z)(ContentSectionMenuItemModel);function ContentSectionMenuItemModel(){var e;return(0,i.Z)(this,ContentSectionMenuItemModel),(e=t.apply(this,arguments)).isActive=!1,e}return(0,o.Z)(ContentSectionMenuItemModel)}(Wo.h),Bd=new l.OlP("edit-menu-token"),Dd=function(){function CompositeEditMenuProvider(e){(0,i.Z)(this,CompositeEditMenuProvider),this.editMenuProviders=e}return(0,o.Z)(CompositeEditMenuProvider,[{key:"getButtons",value:function getButtons(e){if(null!==this.editMenuProviders)return this.editMenuProviders.map((function(t){return t.getButtons(e)})).reduce((function(e,t){return e.concat(t)}))}}]),CompositeEditMenuProvider}();Dd.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Bd]}]}]},Dd=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],Dd);var Td=n(330),Md="hidden",Nd=function(e){(0,f.Z)(HiddenComponent,e);var t=(0,p.Z)(HiddenComponent);function HiddenComponent(){var e;return(0,i.Z)(this,HiddenComponent),(e=t.apply(this,arguments)).type=Md,e}return(0,o.Z)(HiddenComponent)}(Z.F);Nd.propDecorators={inputComponent:[{type:l.i9L,args:[E.pP,{static:!0}]}]},Nd=(0,a.gn)([(0,l.wA2)({selector:"sf-hidden",template:Td})],Nd);var Fd="More",Pd=function(){function TextOverflowDirective(e){(0,i.Z)(this,TextOverflowDirective),this.element=e,this.trimLength=256,this.isTrimmed=!1}return(0,o.Z)(TextOverflowDirective,[{key:"onclick",value:function onclick(e){e.target.id===this.toggleButtonId&&(e.stopImmediatePropagation(),this.toggleTextOverflow())}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){if(this.createToggleButton(),this.longValue=this.element.nativeElement.innerText,this.longValue.length>this.trimLength){var e=this.longValue.substr(0,this.longValue.lastIndexOf(v.WP.INTERVAL,this.trimLength)).trim();e.endsWith(v.WP.COMMA)&&(e=e.substring(0,e.length-1)),this.shortValue=e.concat("".concat(v.WP.INTERVAL).concat(v.WP.ELLIPSIS)),this.isTrimmed=!0,this.setText("".concat(this.shortValue," ").concat(this.toggleButton.outerHTML))}}},{key:"toggleTextOverflow",value:function toggleTextOverflow(){var e;this.isTrimmed?(this.toggleButton.innerText="Less",e=this.longValue):(this.toggleButton.innerText=Fd,e=this.shortValue),this.isTrimmed=!this.isTrimmed,this.setText("".concat(e," ").concat(this.toggleButton.outerHTML))}},{key:"setText",value:function setText(e){this.element.nativeElement.innerHTML=e}},{key:"createToggleButton",value:function createToggleButton(){this.toggleButtonId="".concat("sfToggleButton").concat(Math.random().toString()),this.toggleButton=document.createElement(ot.ANCHOR_ELEMENT),this.toggleButton.id=this.toggleButtonId,this.toggleButton.classList.add("-sf-txt-nowrap"),this.toggleButton.innerText=Fd}}]),TextOverflowDirective}();Pd.ctorParameters=function(){return[{type:l.SBq}]},Pd.propDecorators={trimLength:[{type:l.IIB}],onclick:[{type:l.L6J,args:["click",["$event"]]}]},Pd=(0,a.gn)([(0,l.Xek)({selector:"[sfTextOverflow]"}),(0,a.w6)("design:paramtypes",[l.SBq])],Pd);var Rd=n(331),Qd=function(e){(0,f.Z)(ClickNotificationComponent,e);var t=(0,p.Z)(ClickNotificationComponent);function ClickNotificationComponent(){var e;return(0,i.Z)(this,ClickNotificationComponent),(e=t.apply(this,arguments)).tooltipContext={isVisible:!1,isLink:!0,look:"tooltip down-left"},e}return(0,o.Z)(ClickNotificationComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.item){var t=this.item.subscribe((function(t){if(!t.isEmpty){var n=t.data[h.E.DISPLAY_STATUS];if(n){var i=n.find((function(e){var t;return(null===(t=e.Message)||void 0===t?void 0:t.Description)&&e.Name!==_n}));i?(-1!==i.Name.indexOf("Rejected")?e.tooltipContext.linkText="See why?":e.tooltipContext.linkText="View notes",e.tooltipContext.isVisible=!0,e.tooltipContext.caption=i.Message.Title,e.tooltipContext.description=i.Message.Description):e.tooltipContext.isVisible=!1}}}));this.registerSubscription(t)}}}]),ClickNotificationComponent}(E.zu);Qd.propDecorators={item:[{type:l.IIB}],tooltipContext:[{type:l.IIB}]},Qd=(0,a.gn)([(0,l.wA2)({selector:"sf-click-notification",template:Rd})],Qd);var Ud=n(332),Ld=function(){function SplitButtonComponent(){(0,i.Z)(this,SplitButtonComponent),this.dropdownClicked=new l.vpe,this.selectionChanged=new l.vpe}return(0,o.Z)(SplitButtonComponent,[{key:"ngOnInit",value:function ngOnInit(){this.generateCssClasses()}},{key:"ngOnChanges",value:function ngOnChanges(e){this.generateCssClasses()}},{key:"handleOnDropdownClick",value:function handleOnDropdownClick(e){this.dropdownClicked.emit(e)}},{key:"handleItemSelect",value:function handleItemSelect(e){this.title=e.Name,this.selectionChanged.emit(e.Value)}},{key:"generateCssClasses",value:function generateCssClasses(){this.wrapperClassName=this.generateWrapperCssClassList()}},{key:"generateWrapperCssClassList",value:function generateWrapperCssClassList(){var e="sf-split-button";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e}}]),SplitButtonComponent}();Ld.propDecorators={data:[{type:l.IIB}],title:[{type:l.IIB}],look:[{type:l.IIB}],dropdownClicked:[{type:l.r_U}],selectionChanged:[{type:l.r_U}]},Ld=(0,a.gn)([(0,l.wA2)({selector:"sf-split-button",template:Ud})],Ld);var Od=n(333),zd=function(e){(0,f.Z)(RelatedDataGridComponent,e);var t=(0,p.Z)(RelatedDataGridComponent);function RelatedDataGridComponent(){return(0,i.Z)(this,RelatedDataGridComponent),t.apply(this,arguments)}return(0,o.Z)(RelatedDataGridComponent,[{key:"ngOnInit",value:function ngOnInit(){this.retrieveItems=!1,this.settings.culture=this.context.dataItem.culture,(0,Re.Z)((0,Qe.Z)(RelatedDataGridComponent.prototype),"ngOnInit",this).call(this),this.showCount=this.settings.allowMultiple,this.settings.allowAdd=!1,this.settings.allowRemove=!1}},{key:"onShowAllRelatedData",value:function onShowAllRelatedData(){var e={type:Ga,properties:{dataItemsIds:this.value.map((function(e){return e.Id})),dataItems:this.value,componentTitle:this.settings.title,componentSubtitle:this.context.dataItem.title,showCount:!0,treeConfig:{status:!0,noSelection:!0,description:!0,treeProperties:{displayField:this._defaultFieldName},dataProperties:{breadcrumbField:"Breadcrumb"},isHierarchical:!1,showBreadcrumb:this.showBreadcrumb}}},t=new ki.np(e,null,[],null,"-bottom");this.modalService.setMapping(t),this.modalService.open(this.route)}}]),RelatedDataGridComponent}(Sc);zd=(0,a.gn)([(0,l.wA2)({selector:"sf-related-data-grid",template:Od})],zd);var _d,Vd=n(334),Gd=_d=function(e){(0,f.Z)(SwitchWrapperComponent,e);var t=(0,p.Z)(SwitchWrapperComponent);function SwitchWrapperComponent(){return(0,i.Z)(this,SwitchWrapperComponent),t.apply(this,arguments)}return(0,o.Z)(SwitchWrapperComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(SwitchWrapperComponent.prototype),"ngOnInit",this).call(this);var e=this.settings;this.id=e.key,this.onText=e.onText,this.offText=e.offText,this.isOn=(0,Re.Z)((0,Qe.Z)(SwitchWrapperComponent.prototype),"getValue",this).call(this)}},{key:"onSelectionChange",value:function onSelectionChange(){this.isLoading=!0,(0,Re.Z)((0,Qe.Z)(SwitchWrapperComponent.prototype),"writeValue",this).call(this,!this.isOn)}},{key:"writeValue",value:function writeValue(e){this.isLoading&&(0,Re.Z)((0,Qe.Z)(SwitchWrapperComponent.prototype),"writeValue",this).call(this,e),this.isLoading=!1,this.isOn=e}}]),SwitchWrapperComponent}(Z.F);Gd=_d=(0,a.gn)([(0,l.wA2)({selector:"sf-switch-wrapper",template:Vd,providers:[(0,Z.A)(_d)]})],Gd);var Hd=[u.gl.CLASSIFICATIONS,u.gl.ALBUMS,u.gl.IMAGES,u.gl.DOCUMENT_LIBRARIES,u.gl.DOCUMENTS,u.gl.VIDEO_LIBRARIES,u.gl.VIDEOS,u.gl.CONTENT_ITEMS],Zd=function(e){(0,f.Z)(StatusResolver,e);var t=(0,p.Z)(StatusResolver);function StatusResolver(){return(0,i.Z)(this,StatusResolver),t.apply(this,arguments)}return(0,o.Z)(StatusResolver,[{key:"getLabel",value:function getLabel(e){var t=this.getStatusInfo(e),n=t.main,i=t.secondary;if(!n)return null;var o=n.Name,a=this.getStatusLabel(n);return i&&(a="".concat(a," | ").concat(this.getStatusLabel(i))),e.LockedStatus&&(a=this.getLockedByLabel(e.LockedStatus.User,a)),{StatusName:o=this.isForTranslation(e)?Hn:o,Label:a}}},{key:"canProcess",value:function canProcess(e){return-1===Hd.indexOf(e)}},{key:"getDetailedLabel",value:function getDetailedLabel(e){var t=null,n=null,i=null,o=this.getStatusInfo(e).main;if(o)switch(i=this.getDetailedStatus(o.DetailedLabel,o.Date),o.Name){case Vn:t=this.getLastModifiedData(e),n=this.getFirstPublishedData(e);break;case"Unpublished":t=this.getStatusData(o),n=this.getFirstPublishedData(e);break;case"AwaitingApproval":case"AwaitingPublishing":case"Rejected":case"RejectedForPublishing":t=this.getStatusData(o),n=this.getCreatedData(e);break;default:t=this.getLastModifiedData(e),n=this.getCreatedData(e)}else i=this.getDetailedStatus("Last modified",e.LastModified),t=this.getLastModifiedData(e),n=this.getCreatedData(e);return{StatusText:i,FirstDate:t,SecondDate:n,LockedText:null}}},{key:"getDetailedStatusText",value:function getDetailedStatusText(e){var t=this.getStatusInfo(e).main;return this.getDetailedStatus(t.DetailedLabel,t.Date)}},{key:"getDetailedStatus",value:function getDetailedStatus(e,t){var n=this.formatDate(t,On.AUTO_DETAILED);return"".concat(e," ").concat(n)}},{key:"getStatusInfo",value:function getStatusInfo(e){var t={main:null,secondary:null},n=e.DisplayStatus;return n&&n.length>0&&(t.main=n[0],n.length>1&&(t.secondary=n[1])),t}},{key:"getStatusLabel",value:function getStatusLabel(e){var t=e.Name,n=e.Label;if(t===_n){var i=null,o=null;e.PublicationDate&&(i=this.formatDate(e.PublicationDate,On.FULL_DATE)),e.ExpirationDate&&(o=this.formatDate(e.ExpirationDate,On.FULL_DATE)),n=n&&n.endsWith(Gn)?"".concat(this.getScheduledLabel(i,o),", ").concat(Gn):this.getScheduledLabel(i,o)}return n}},{key:"getLastModifiedData",value:function getLastModifiedData(e){return{Name:"Last modified",Date:this.formatToFullDate(e.LastModified),User:e.LastModifiedBy}}},{key:"getCreatedData",value:function getCreatedData(e){return{Name:"Created",Date:this.formatToFullDate(e.DateCreated),User:e.CreatedBy}}},{key:"getFirstPublishedData",value:function getFirstPublishedData(e){return e.FirstPublished?{Name:"First published",Date:this.formatToFullDate(e.FirstPublished.Date),User:e.FirstPublished.User}:null}},{key:"getStatusData",value:function getStatusData(e){return{Name:e.DetailedLabel,Date:this.formatToFullDate(e.Date),User:e.User}}},{key:"formatToFullDate",value:function formatToFullDate(e){return this.formatDate(e,On.FULL_DATE)}},{key:"formatDate",value:function formatDate(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(e){var n=this.datePipe.transform(e,t);return n=this.lowerFirstLetterPipe.transform(n)}return e}},{key:"getLockedByLabel",value:function getLockedByLabel(e,t){return"Locked by ".concat(e," | ").concat(t)}},{key:"getScheduledLabel",value:function getScheduledLabel(e,t){return e&&!t?"Scheduled publish ".concat(e):t&&!e?"Scheduled unpublish ".concat(t):t&&e?"Scheduled publish ".concat(e,", unpublish ").concat(t):null}},{key:"isForTranslation",value:function isForTranslation(e){return!(!e||!e.DisplayStatus)&&e.DisplayStatus.some((function(e){return e.Name.toLowerCase().indexOf(Hn.toLowerCase())>-1}))}}]),StatusResolver}(Yn);Zd=(0,a.gn)([(0,l.GSi)()],Zd);var Yd=function(e){(0,f.Z)(TaxonomyStatusResolver,e);var t=(0,p.Z)(TaxonomyStatusResolver);function TaxonomyStatusResolver(){return(0,i.Z)(this,TaxonomyStatusResolver),t.apply(this,arguments)}return(0,o.Z)(TaxonomyStatusResolver,[{key:"getLabel",value:function getLabel(e){var t=e&&e.Type?"".concat("Flat"===e.Type?"Simple":e.Type," list"):null,n=(0,Re.Z)((0,Qe.Z)(TaxonomyStatusResolver.prototype),"getLabel",this).call(this,e);n&&(t=t?"".concat(t," | ").concat(n.Label):n.Label);var i=e&&e.Type?e.Type:null;return t?{Label:t,StatusName:i,HideIcon:!i}:null}},{key:"canProcess",value:function canProcess(e){return e===u.gl.CLASSIFICATIONS}}]),TaxonomyStatusResolver}(Zd);Yd=(0,a.gn)([(0,l.GSi)()],Yd);var jd=function(){function TrimTextLengthPipe(){(0,i.Z)(this,TrimTextLengthPipe)}return(0,o.Z)(TrimTextLengthPipe,[{key:"transform",value:function transform(e){if(!e)return v.WP.EMPTY_STRING;var t=e.toString(),n=(arguments.length<=1?void 0:arguments[1])||10;return t&&t.length>n&&(t=t.substring(0,n)+"..."),t}}]),TrimTextLengthPipe}();jd=(0,a.gn)([(0,l.E6H)({name:"sfTrimTextLength"})],jd);var Wd=n(335),Jd=function(e){(0,f.Z)(EditorGridComponent,e);var t=(0,p.Z)(EditorGridComponent);function EditorGridComponent(){return(0,i.Z)(this,EditorGridComponent),t.apply(this,arguments)}return(0,o.Z)(EditorGridComponent)}(Zc);Jd=(0,a.gn)([(0,l.wA2)({selector:"sf-editor-grid-component",template:Wd,encapsulation:l.ifc.None,styles:[Le]})],Jd);var qd=function(){function NumberOverflowDirective(e){(0,i.Z)(this,NumberOverflowDirective),this.element=e,this.trimLength=10}return(0,o.Z)(NumberOverflowDirective,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;setTimeout((function(){var t=e.element.nativeElement.innerText;if(t.length>e.trimLength){var n=t.substr(0,e.getTrimLength()).trim();(function textEndsWithNumber(e){var t=d.tT.buildRegex("\\d","g");if(e){var n=e[e.length-1];if(t.test(n))return!0}return!1})(n)||(n=n.substring(0,n.length-1)),e.setShortTextAndTooltip(n)}}),0)}},{key:"setShortTextAndTooltip",value:function setShortTextAndTooltip(e){var t=document.createAttribute("title");t.value=this.createTooltip(),this.element.nativeElement.setAttributeNode(t),this.element.nativeElement.innerHTML="".concat(e).concat("…")}},{key:"getTrimLength",value:function getTrimLength(){var e=this.trimLength;return!isCurrency(this.unit)&&this.unit&&(e-=this.unit.length+1),e}},{key:"createTooltip",value:function createTooltip(){var e=this.element.nativeElement.innerText;return isCurrency(this.unit)||(e+=this.unit||v.WP.EMPTY_STRING),e}}]),NumberOverflowDirective}();qd.ctorParameters=function(){return[{type:l.SBq}]},qd.propDecorators={trimLength:[{type:l.IIB}],unit:[{type:l.IIB}]},qd=(0,a.gn)([(0,l.Xek)({selector:"[sfNumberOverflow]"}),(0,a.w6)("design:paramtypes",[l.SBq])],qd);var Xd=n(336),Kd=function(e){(0,f.Z)(MediaStatusResolver,e);var t=(0,p.Z)(MediaStatusResolver);function MediaStatusResolver(){return(0,i.Z)(this,MediaStatusResolver),t.apply(this,arguments)}return(0,o.Z)(MediaStatusResolver,[{key:"canProcess",value:function canProcess(e){return y.xe.isLibraryOrMedia(e)}},{key:"getLabel",value:function getLabel(e,t,n){if(y.uT.FOLDERS_COUNT in e){if(!t)throw new Error("Parameter 'setName' cannot be empty.");t=this.getEntitySetNameFromRoute(n,e);var i=y.xe.resolveMediaLabels(t),o=1===e.ChildrenCount?i.singular:i.plural,a=1===e.FoldersCount?"library":"libraries",r=[];return e.ChildrenCount>0&&r.push("".concat(e.ChildrenCount," ").concat(o)),e.FoldersCount>0&&r.push("".concat(e.FoldersCount," ").concat(a)),{Label:r.length>0?r.join(" | "):"No ".concat(i.plural),StatusName:"Hierarchical"}}return(0,Re.Z)((0,Qe.Z)(MediaStatusResolver.prototype),"getLabel",this).call(this,e)}},{key:"getEntitySetNameFromRoute",value:function getEntitySetNameFromRoute(e,t){var n,i=e.params[g.UY.TYPE_NAME_SEGMENT];return i||(i=null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.params[g.UY.TYPE_NAME_SEGMENT]),i}}]),MediaStatusResolver}(Zd);Kd=(0,a.gn)([(0,l.GSi)()],Kd);var $d=function(){function ExtensionPipe(){(0,i.Z)(this,ExtensionPipe)}return(0,o.Z)(ExtensionPipe,[{key:"transform",value:function transform(e){return e?e.replace(/^\./,""):""}}]),ExtensionPipe}();$d=(0,a.gn)([(0,l.E6H)({name:"sfExtension"})],$d);var eu=(0,o.Z)((function StickyHeadingDirective(e){(0,i.Z)(this,StickyHeadingDirective),this.templateRef=e}));eu.ctorParameters=function(){return[{type:l.Rgc}]},eu=(0,a.gn)([(0,l.Xek)({selector:"[sfStickyHeading]"}),(0,a.w6)("design:paramtypes",[l.Rgc])],eu);var tu=n(337),nu=function(){function StickyComponent(e){(0,i.Z)(this,StickyComponent),this.scrollService=e,this.badgeLook="positive",this.hasStickyBuffer=!0}return(0,o.Z)(StickyComponent,[{key:"ngOnInit",value:function ngOnInit(){this.headingCssClass=this.generateCssClassList(this.headingLook)}},{key:"onBackToTopClicked",value:function onBackToTopClicked(){this.scrollService.scrollToTop(!0,250)}},{key:"isSticky",get:function get(){return this.alwaysSticky?this.alwaysSticky:!!this.stickyDirective&&this.stickyDirective.isSticky}},{key:"generateCssClassList",value:function generateCssClassList(e){var t=this.superScript?"-justify-content-center":"";return e&&""!==e?t+=" -"+e.split(" ").join(" -"):this.superScript||this.removeBottomOffset?t+=" -sf-mb-3xs":t+=" -sf-mb-3xl",t}}]),StickyComponent}();nu.ctorParameters=function(){return[{type:Nt.a}]},nu.propDecorators={heading:[{type:l.IIB}],headingLook:[{type:l.IIB}],stickyDisabled:[{type:l.IIB}],stickWithDelay:[{type:l.IIB}],alwaysSticky:[{type:l.IIB}],superScript:[{type:l.IIB}],removeBottomOffset:[{type:l.IIB}],hasStickyBuffer:[{type:l.IIB}],hideBackToTopButton:[{type:l.IIB}],badgeLook:[{type:l.IIB}],stickyDirective:[{type:l.i9L,args:[Ei,{static:!1}]}],stickyHeading:[{type:l.aQ5,args:[eu,{static:!1}]}]},nu=(0,a.gn)([(0,l.wA2)({selector:"sf-sticky-component",template:tu}),(0,a.w6)("design:paramtypes",[Nt.a])],nu);var iu=n(338),ou=function(){function CardComponent(e){(0,i.Z)(this,CardComponent),this.renderer=e,this.onCardSelected=new l.vpe}return(0,o.Z)(CardComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.cssClass=this.generateCssClassList(),this.dataAttributes&&this.dataAttributes.length>0&&this.dataAttributes.forEach((function(t){e.addDataAttributeToCard(t)}))}},{key:"onCardSelect",value:function onCardSelect(e){this.onCardSelected.emit(e)}},{key:"addDataAttributeToCard",value:function addDataAttributeToCard(e){this.renderer.setAttribute(this.card.nativeElement,"data-".concat(e.key),e.value)}},{key:"generateCssClassList",value:function generateCssClassList(){var e="sf-card";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e}}]),CardComponent}();ou.ctorParameters=function(){return[{type:l.Qsj}]},ou.propDecorators={look:[{type:l.IIB}],cardLabel:[{type:l.IIB}],buttonText:[{type:l.IIB}],selected:[{type:l.IIB}],cardTitle:[{type:l.IIB}],dataAttributes:[{type:l.IIB}],onCardSelected:[{type:l.r_U}],card:[{type:l.i9L,args:["card",{static:!0}]}]},ou=(0,a.gn)([(0,l.wA2)({selector:"sf-card",template:iu}),(0,a.w6)("design:paramtypes",[l.Qsj])],ou);var au=n(339),ru=n(340),su=n(341),lu=function(){function ZoneSplitterComponent(e){(0,i.Z)(this,ZoneSplitterComponent),this.changeDetectorRef=e,this.panesCount="2",this.gridSize=12,this.gridColumnsSizeChange=new l.vpe,this.panesList=new he.X([]),this.showSplitter=!0,this.inputUniqueId="input-".concat((0,su.M8)()),this.showError=!1}return(0,o.Z)(ZoneSplitterComponent,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=parseInt(this.panesCount);e<=1&&(this.showSplitter=!1),this.gridColumnSize&&this.gridColumnSize.length>0&&this.gridColumnSize.length===e?this.initializePanes():this.configurePanes(e),this.changeDetectorRef.detectChanges()}},{key:"onColumnNumberChanged",value:function onColumnNumberChanged(e){e&&!Number.isNaN(parseInt(e.value))&&(this.panesCount=e.value,this.configurePanes(parseInt(this.panesCount)))}},{key:"handleSizeChange",value:function handleSizeChange(e,t,n){var i=t.element,o=parseFloat(e),a=100/this.gridSize,r=Math.round(o/a),s=r*a;t.size="".concat(s,"%");var l=Math.round(s);this.setPaneAttributes(i,l,r);var c,d=t.order/2,u=d-1>=0?this.splitterElement.splitterService.pane(d-1):null,f=d+11,this.numberOfColsPerPane=Math.floor(this.gridSize/e);var t=this.gridSize%e;this.sizeOfOneGridColumnPercent=100/this.gridSize;for(var n=this.sizeOfOneGridColumnPercent*this.numberOfColsPerPane,i=t?this.numberOfColsPerPane+t:this.numberOfColsPerPane,o=i*this.sizeOfOneGridColumnPercent,a=[],r=0;r4&&!e.settings.choiceNotResponsive&&(e.hasMoreOptions=!0)})))}},{key:"onSelectionChange",value:function onSelectionChange(e){var t=this.settings.choices.findIndex((function(t){return t.Value===e}));(0,Re.Z)((0,Qe.Z)(ChoiceChipComponent.prototype),"onSelectionChange",this).call(this,t)}}]),ChoiceChipComponent}(ji);Hu.propDecorators={selectionChange:[{type:l.r_U}],innerChoice:[{type:l.i9L,args:["innerChoiceComponent",{static:!1}]}]},Hu=Vu=(0,a.gn)([(0,l.wA2)({selector:"sf-chip-choice",template:Gu,providers:[(0,Z.A)(Vu)]})],Hu);var Zu=function(e){(0,f.Z)(LockedItemStatusResolver,e);var t=(0,p.Z)(LockedItemStatusResolver);function LockedItemStatusResolver(e){var n;return(0,i.Z)(this,LockedItemStatusResolver),(n=t.call(this)).userDataStore=e,n}return(0,o.Z)(LockedItemStatusResolver,[{key:"getDetailedLabel",value:function getDetailedLabel(e){var t=(0,Re.Z)((0,Qe.Z)(LockedItemStatusResolver.prototype),"getDetailedLabel",this).call(this,e);return e.LockedStatus&&e.LockedStatus.Id!==this.userDataStore.getValue().Id&&(t.LockedText=this.getDetailedStatus("Locked by ".concat(e.LockedStatus.User),e.LockedStatus.Date)),t}}]),LockedItemStatusResolver}(Zd);Zu.ctorParameters=function(){return[{type:Qr}]},Zu=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qr])],Zu);var Yu="Saved",ju=function(e){(0,f.Z)(ContentItemStatusResolver,e);var t=(0,p.Z)(ContentItemStatusResolver);function ContentItemStatusResolver(){return(0,i.Z)(this,ContentItemStatusResolver),t.apply(this,arguments)}return(0,o.Z)(ContentItemStatusResolver,[{key:"getLabel",value:function getLabel(e){return{StatusName:v.WP.EMPTY_STRING,Label:this.getStatusLabelInternal(e),HideIcon:!0}}},{key:"canProcess",value:function canProcess(e){return e===u.gl.CONTENT_ITEMS}},{key:"getStatusLabelInternal",value:function getStatusLabelInternal(e){if(e.LockedStatus)return"Locked by ".concat(e.LockedStatus.User);var t=e[h.E.DISPLAY_STATUS];return(null==t?void 0:t.length)?1===t.length&&t[0].Name===Yu?v.WP.EMPTY_STRING:t[t.length-1].Label:v.WP.EMPTY_STRING}}]),ContentItemStatusResolver}(Zd);ju=(0,a.gn)([(0,l.GSi)()],ju);var Wu=function(){function InsertBodyComponent(e,t){(0,i.Z)(this,InsertBodyComponent),this.window=t,this.dropdownTransitionX=0,this.dropdownTransitionY=0,this.viewContainerRef=e}return(0,o.Z)(InsertBodyComponent,[{key:"ngOnChanges",value:function ngOnChanges(e){e&&e.referenceNodeBoundingRect&&e.referenceNodeBoundingRect.currentValue&&this.embedNodeInDom()}},{key:"ngOnDestroy",value:function ngOnDestroy(){var e,t=(0,Qn.Z)(this.embeddedViewRef.rootNodes);try{for(t.s();!(e=t.n()).done;){e.value.remove()}}catch(e){t.e(e)}finally{t.f()}}},{key:"calculateDropdownPosition",value:function calculateDropdownPosition(e){var t=e.getBoundingClientRect();this.leftAligned?this.dropdownTransitionX=this.referenceNodeBoundingRect.left:this.dropdownTransitionX=this.referenceNodeBoundingRect.right-t.width;var n=this.window.document.documentElement.clientHeight-this.referenceNodeBoundingRect.bottom;n>t.height?this.dropdownTransitionY=this.referenceNodeBoundingRect.bottom+window.scrollY:(this.dropdownTransitionY=this.referenceNodeBoundingRect.bottom-(t.height-n)+window.scrollY-20,this.dropdownTransitionX=this.referenceNodeBoundingRect.left-t.width-10),this.setDropdownTransition()}},{key:"setDropdownTransition",value:function setDropdownTransition(){this.dropdownTransition="translate("+this.dropdownTransitionX+"px,"+this.dropdownTransitionY+"px)"}},{key:"onElementIsVisible",value:function onElementIsVisible(e){var t=e.getBoundingClientRect();0===t.width&&0===t.height||(this.calculateDropdownPosition(e),e.style.visibility="visible")}},{key:"embedNodeInDom",value:function embedNodeInDom(){this.embeddedViewRef=this.viewContainerRef.createEmbeddedView(this.contentRef),this.embeddedViewRef.detectChanges();var e,t=(0,Qn.Z)(this.embeddedViewRef.rootNodes);try{for(t.s();!(e=t.n()).done;){var n=e.value;(this.window.document.body.querySelector("sf-app")||this.window.document.body).appendChild(n),this.calculateDropdownPosition(n)}}catch(e){t.e(e)}finally{t.f()}}}]),InsertBodyComponent}();Wu.ctorParameters=function(){return[{type:l.s_b},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Wu.propDecorators={referenceNodeBoundingRect:[{type:l.IIB}],leftAligned:[{type:l.IIB}],containerName:[{type:l.IIB}],contentRef:[{type:l.i9L,args:["contentRef",{static:!0}]}]},Wu=(0,a.gn)([(0,l.wA2)({selector:"sf-insert-body",template:'\n \n
    \n \n
    \n
    \n '}),(0,a.w6)("design:paramtypes",[l.s_b,Window])],Wu);var Ju=function(){function IsoWeekDatesPipe(){(0,i.Z)(this,IsoWeekDatesPipe)}return(0,o.Z)(IsoWeekDatesPipe,[{key:"transform",value:function transform(e){if(e){var t=e.split("-W");if(2===t.length){var n=t[0],i=t[1];e="".concat("Week").concat(v.WP.INTERVAL).concat(i).concat(v.WP.COMMA).concat(v.WP.INTERVAL).concat(n)}}return e}}]),IsoWeekDatesPipe}();Ju=(0,a.gn)([(0,l.E6H)({name:"sfIsoWeekDates"})],Ju);var qu=(0,o.Z)((function PipesModule(){(0,i.Z)(this,PipesModule)}));qu=(0,a.gn)([(0,l.LVF)({declarations:[On,zn,Ju],exports:[On,zn,Ju]})],qu);var Xu,Ku,$u=n(353),ef=function(e){(0,f.Z)(RangeSettings,e);var t=(0,p.Z)(RangeSettings);function RangeSettings(){return(0,i.Z)(this,RangeSettings),t.apply(this,arguments)}return(0,o.Z)(RangeSettings)}(j.P1),tf=Xu=function(e){(0,f.Z)(RangeComponent,e);var t=(0,p.Z)(RangeComponent);function RangeComponent(){return(0,i.Z)(this,RangeComponent),t.apply(this,arguments)}return(0,o.Z)(RangeComponent,[{key:"ngOnInit",value:function ngOnInit(){this.suffix=this.settings.suffixValue}},{key:"onMinInput",value:function onMinInput(e){var t=this.getValue(),n=parseInt(e);this.writeValue({Min:n,Max:t?t.Max:null})}},{key:"onMaxInput",value:function onMaxInput(e){var t=this.getValue(),n=parseInt(e);this.writeValue({Min:t?t.Min:null,Max:n})}},{key:"writeValue",value:function writeValue(e){e&&(this.minFieldValue=e.Min,this.maxFieldValue=e.Max),(0,Re.Z)((0,Qe.Z)(RangeComponent.prototype),"writeValue",this).call(this,e)}},{key:"validate",value:function validate(){var e=this.getValue();if(e&&null!==e.Min&&null!==e.Max&&e.Max1&&(n.buttons.forEach((function(e){e.isActive&&e!==t&&(e.isActive=!1)})),t.isActive=!t.isActive,this.detector.detectChanges()),t.action(),this.closeMenu.emit(t.closeMenuOnClick))}},{key:"updateToolsetLookAndClass",value:function updateToolsetLookAndClass(){this.toolsetLook=this.getLook(),this.toolsetClass=this.getClasses()}},{key:"getLook",value:function getLook(){var e="toolset black";return this.toolsetPosition&&(e+=" ".concat(this.toolsetPosition)),e}},{key:"getClasses",value:function getClasses(){var e="sf-tooltip__content -toolset";return this.toolsetPosition&&(e+=" -".concat(this.toolsetPosition)),e}}]),ImmutableEditMenuComponent}();Ef.ctorParameters=function(){return[{type:l.sBO}]},Ef.propDecorators={buttonSections:[{type:l.IIB}],toolsetPositionParams:[{type:l.IIB}],closeMenu:[{type:l.r_U}]},Ef=(0,a.gn)([(0,l.wA2)({selector:"sf-edit-menu",template:yf}),(0,a.w6)("design:paramtypes",[l.sBO])],Ef);var If,wf=(0,o.Z)((function EditMenuButton(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];(0,i.Z)(this,EditMenuButton),this.name=e,this.action=t,this.tooltip=n,this.isActive=o,this.closeMenuOnClick=a})),kf=function(e){(0,f.Z)(EditMenuTextButton,e);var t=(0,p.Z)(EditMenuTextButton);function EditMenuTextButton(e,n,o){var a,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return(0,i.Z)(this,EditMenuTextButton),(a=t.call(this,e,n,r,void 0,s)).text=o,a.tooltip=r,a.closeMenuOnClick=s,a}return(0,o.Z)(EditMenuTextButton)}(wf),xf=function(){function EditMenuSection(){(0,i.Z)(this,EditMenuSection);for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]&&arguments[1],n=new DOMParser,i=n.parseFromString(e,v.Fq.HTML).querySelector("iframe");return t&&this.sanitizeIframe(i),i}},{key:"sanitizeIframe",value:function sanitizeIframe(e){e.innerHTML=v.WP.EMPTY_STRING;for(var t=e.attributes.length-1;t>=0;t--){var n=e.attributes[t];v.KX.indexOf(n.name)<0&&e.removeAttribute(n.name)}}}]),IFrameMediaParser}(Ht);Ff=(0,a.gn)([(0,l.GSi)()],Ff);var Pf=Nf=function(e){(0,f.Z)(TwitterMediaParser,e);var t=(0,p.Z)(TwitterMediaParser);function TwitterMediaParser(e){var n;return(0,i.Z)(this,TwitterMediaParser),(n=t.call(this)).http=e,Nf.tweetUrlRegex=new RegExp("(https?:\\/\\/twitter.com\\/(\\w+)\\/status\\/(\\d+))"),Nf.tweetUrlRegexExact=new RegExp("(^https?:\\/\\/twitter.com\\/(\\w+)\\/status\\/(\\d+))"),n}return(0,o.Z)(TwitterMediaParser,[{key:"isExactMatch",value:function isExactMatch(e){return!!e&&(e=e.trim(),!!Nf.tweetUrlRegexExact.test(e))}},{key:"canProcess",value:function canProcess(e){return!!Nf.tweetUrlRegex.test(e)||this.canLoadTweetFromHtml(e)}},{key:"initEmbeddedData",value:function initEmbeddedData(){try{twttr&&twttr.widgets.load()}catch(e){if(!e.message.includes("twttr is not defined"))throw e}}},{key:"parse",value:function parse(e){var t=e;return Nf.tweetUrlRegexExact.test(e)||(t=this.getTweetUrlFromHtml(e)),this.getTweetDataByUrl(t).then((function(e){var n=!!e&&e.url===t,i=new Zt;if(i.type=Gt.Tweet,i.isValid=n,n){var o=document.createElement(ot.DIV_ELEMENT),a=document.createElement(ot.DIV_ELEMENT);i.data=e,o.appendChild(a),o.setAttribute(ft,i.data.url),a.outerHTML=e.html,i.html=o.outerHTML}return i}))}},{key:"getMediaFromElement",value:function getMediaFromElement(e){return e?e.querySelector("twitterwidget"):null}},{key:"updateMediaElement",value:function updateMediaElement(e,t,n){e.style[t]=n}},{key:"getTweetDataByUrl",value:function getTweetDataByUrl(e){var t=this;return new Promise((function(n){var i="https://publish.twitter.com/oembed?url=".concat(e,"&omit_script=true&callback=JSONP_CALLBACK");t.http.get(i).toPromise().then((function(e){return n(e)})).catch((function(){return n(null)}))}))}},{key:"getTweetUrlFromHtml",value:function getTweetUrlFromHtml(e){if(e){var t=e.match(Nf.tweetUrlRegex);if(t)return t[0]}var n=(new DOMParser).parseFromString(e,v.Fq.HTML),i=n.body.querySelector("blockquote.twitter-tweet");if(i)for(var o=i.querySelectorAll("a"),a=0;a]*?(?:\/>|>[^<]*?<\/iframe>)/},CLASSES:"-sf-hidden",PLAYER_ELEMENT_ID:"player",VIDEO_URL_ATTRUBUTE_NAME:"sf-youtube-url",DUMMY_VIDEO_ID:"XXXXXXXXXXX"},Uf=function(e){(0,f.Z)(YoutubeMediaParser,e);var t=(0,p.Z)(YoutubeMediaParser);function YoutubeMediaParser(e){var n;return(0,i.Z)(this,YoutubeMediaParser),(n=t.call(this)).youtubePlayer=e,n.insertScript("https://www.youtube.com/iframe_api"),n}return(0,o.Z)(YoutubeMediaParser,[{key:"canProcess",value:function canProcess(e){return!!e&&(e=e.trim(),!!this.shouldProcessIfIFrame(e)&&(!!this.isPlayList(e)||!!this.hasId(e)&&!!this.isYoutubeLink(e)))}},{key:"getValue",value:function getValue(e){return this.getUrlMatches(e)}},{key:"isExactMatch",value:function isExactMatch(e){if(!e)return!1;var t=null;return!(!(t=(e=e.trim()).match(Qf.REGEX_CONSTANTS.REGULAR_VIDEO_URL_EXACT_PATTERN))||t[0]!==e)||(!(!(t=e.match(Qf.REGEX_CONSTANTS.EMBED_VIDEO_URL_PATTERN))||t[0]!==e)||(!(!(t=e.match(Qf.REGEX_CONSTANTS.SHORT_URL_PATTERN))||t[0]!==e)||!(!(t=e.match(Qf.REGEX_CONSTANTS.PLAY_LIST_PATTERN))||t[0]!==e)))}},{key:"parse",value:function parse(e){var t=this;return new Promise((function(n){t.isPlayList(e)?t.parsePlaylist(e,n):t.parseVideo(e,n)}))}},{key:"getMediaFromElement",value:function getMediaFromElement(e){return e}},{key:"updateMediaElement",value:function updateMediaElement(e,t,n){var i=e.querySelector(at);i&&i.setAttribute(t,n)}},{key:"getVideoId",value:function getVideoId(e){return Qf.REGEX_CONSTANTS.VIDEO_ID_PATTERN.exec(e)?this.extractUrlIDFromReguralYouTubeURL(e,Qf.REGEX_CONSTANTS.VIDEO_ID_PATTERN,g.k_.EQUALS_SIGN):!!Qf.REGEX_CONSTANTS.SHORT_URL_PATTERN.exec(e)?this.extractUrlIDFromReguralYouTubeURL(e,Qf.REGEX_CONSTANTS.SHORT_URL_ID_SEGMENT,v.WP.FORWARD_SLASH):this.extractUrlIDFromReguralYouTubeURL(e,Qf.REGEX_CONSTANTS.EMBED_VIDEO_SEGMENT_PATTERN,v.WP.FORWARD_SLASH)}},{key:"createHiddenVideoWrapper",value:function createHiddenVideoWrapper(e){var t=document.getElementById(Qf.PLAYER_ELEMENT_ID);if(t){var n=t.parentElement;n.parentElement.removeChild(n)}var i=document.createElement(ot.DIV_ELEMENT),o=document.createElement(ot.DIV_ELEMENT);return i.appendChild(o),i.classList.add(Qf.CLASSES),o.id=e,(document.querySelector(".sf-app")||document.querySelector(".sf-main")).appendChild(i),i}},{key:"getUrlFromTag",value:function getUrlFromTag(e){return e.match(Qf.REGEX_CONSTANTS.VIDEO_ATTRIBUTE_VALUE_PATTERN)?this.getUrlMatches(e):null}},{key:"extractUrlIDFromReguralYouTubeURL",value:function extractUrlIDFromReguralYouTubeURL(e,t,n){return e.match(t)[0].split(n)[1].trim()}},{key:"parsePlaylist",value:function parsePlaylist(e,t){var n=this,i=this.getUrlFromTag(e)||e,o={domElementId:Qf.PLAYER_ELEMENT_ID,videoUrl:i,playerVars:this.getQueryParams(e)};this.setInitDataWidthAndHeight(o,e),this.createHiddenVideoWrapper(Qf.PLAYER_ELEMENT_ID),this.youtubePlayer.init(o).then((function(e){var i=e.target.getIframe();(0,Re.Z)((0,Qe.Z)(YoutubeMediaParser.prototype),"parse",n).call(n,i.outerHTML).then((function(e){e=n.handleIFrame(o,e),t(e)}))}))}},{key:"parseVideo",value:function parseVideo(e,t){var n=e,i=this.getUrlFromTag(n);i&&(n=i),this.createHiddenVideoWrapper(Qf.PLAYER_ELEMENT_ID);var o={domElementId:Qf.PLAYER_ELEMENT_ID,videoId:this.getVideoId(n),videoUrl:n,playerVars:this.getQueryParams(n)};this.setInitDataWidthAndHeight(o,e),this.initVideoPlayer(o,t,Qf.REGEX_CONSTANTS.IFRAME_REGEX.test(e))}},{key:"initVideoPlayer",value:function initVideoPlayer(e,t,n){var i=this;this.youtubePlayer.init(e).then((function(o){var a=o.target.getIframe();a.title=n?e.title:o.target.getVideoData().title,(0,Re.Z)((0,Qe.Z)(YoutubeMediaParser.prototype),"parse",i).call(i,a.outerHTML).then((function(n){n=i.handleIFrame(e,n),t(n)}))}))}},{key:"handleIFrame",value:function handleIFrame(e,t){var n=document.createElement(ot.DIV_ELEMENT);return n.innerHTML=t.html,n.setAttribute(Qf.VIDEO_URL_ATTRUBUTE_NAME,e.videoUrl),t.html=n.outerHTML,t}},{key:"getUrlMatches",value:function getUrlMatches(e){var t=document.createElement(ot.DIV_ELEMENT);t.innerHTML=e;var n=t.querySelector("".concat(ot.DIV_ELEMENT,"[").concat(Qf.VIDEO_URL_ATTRUBUTE_NAME,"]"));return n?n.getAttribute(Qf.VIDEO_URL_ATTRUBUTE_NAME):t.getAttribute("src")}},{key:"getQueryParams",value:function getQueryParams(e){var t=e.match(Qf.REGEX_CONSTANTS.QUERY_PARAMS_PATTERN);if(!t||!t.length)return{};var n=t[1],i={};return n.split(g.k_.AMPERSAND).forEach((function(e){var t=e.split(g.k_.EQUALS_SIGN),n=t[0],o=t[1],a=+o;i[n]=isNaN(a)?o:a})),delete i.autoplay,i}},{key:"isPlayList",value:function isPlayList(e){var isPlayList=Qf.REGEX_CONSTANTS.PLAY_LIST_PATTERN.test(e);return isPlayList}},{key:"shouldProcessIfIFrame",value:function shouldProcessIfIFrame(e){if(!Qf.REGEX_CONSTANTS.IFRAME_REGEX.test(e))return!0;var t=Qf.REGEX_CONSTANTS.VIDEO_ATTRIBUTE_VALUE_PATTERN.test(e);return!!t||!(!e.includes(_e.SF_IMMUTABLE_SELECTED)||!t)}},{key:"hasId",value:function hasId(e){if(!this.isYoutubeLink(e))return!1;var hasId=Qf.REGEX_CONSTANTS.VIDEO_ID_PATTERN.test(e)||Qf.REGEX_CONSTANTS.EMBED_VIDEO_SEGMENT_PATTERN.test(e)||Qf.REGEX_CONSTANTS.SHORT_URL_ID_SEGMENT.test(e);return hasId}},{key:"isYoutubeLink",value:function isYoutubeLink(e){var t=Qf.REGEX_CONSTANTS.VIDEO_ATTRIBUTE_VALUE_PATTERN.test(e),n=Qf.REGEX_CONSTANTS.REGULAR_VIDEO_URL_EXACT_PATTERN.test(e),i=Qf.REGEX_CONSTANTS.EMBED_VIDEO_URL_PATTERN.test(e),o=Qf.REGEX_CONSTANTS.SHORT_URL_PATTERN.test(e);return t||n||i||o}},{key:"setInitDataWidthAndHeight",value:function setInitDataWidthAndHeight(e,t){if(Qf.REGEX_CONSTANTS.IFRAME_REGEX.test(t)){var n=document.createElement(ot.DIV_ELEMENT);n.innerHTML=t;var i=n.querySelector(at),o=i.width,a=i.height,r=i.title;e.width=o,e.height=a,e.title=r}}}]),YoutubeMediaParser}(Ff);Uf.ctorParameters=function(){return[{type:Rf}]},Uf=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Rf])],Uf);var Lf=n(281),IRIS_MANIFEST={"./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js":772,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js":773,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js":774,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js":775,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js":776,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js":777,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js":778,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-call.js":779,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-native.js":780,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js":781,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js":782,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js":783,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js":784,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-uncurry-this.js":785,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js":786,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js":787,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-property-key.js":788,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js":789,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js":790,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-callable.js":791,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-symbol.js":792,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js":793,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-is-prototype-of.js":794,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js":795,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js":796,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js":797,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-user-agent.js":798,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-method.js":799,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-callable.js":800,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/try-to-string.js":801,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ordinary-to-primitive.js":802,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js":803,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js":804,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js":805,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js":806,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js":807,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has-own-property.js":808,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js":809,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js":810,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js":811,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js":812,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js":813,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js":814,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/v8-prototype-define-bug.js":815,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js":816,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js":817,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js":818,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js":819,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js":820,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js":821,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js":822,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-name.js":823,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js":824,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js":825,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js":826,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js":827,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js":828,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js":829,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer-or-infinity.js":830,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/length-of-array-like.js":831,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js":832,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js":833,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js":834,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js":835,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js":836,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js":837,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js":838,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js":839,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names-external.js":840,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-slice-simple.js":841,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js":842,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-is-extensible.js":843,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-buffer-non-extensible.js":844,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js":845,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js":846,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js":847,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js":848,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js":849,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator.js":850,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js":851,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js":852,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js":853,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterator-close.js":854,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js":855,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js":856,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js":857,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js":858,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js":859,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js":860,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js":861,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js":862,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js":863,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js":864,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js":865,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js":866,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js":867,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js":868,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js":869,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js":870,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js":871,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js":872,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js":873,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js":874,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js":875,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js":876,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-constructor.js":877,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js":878,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-constructor.js":879,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js":880,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js":881,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js":882,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-unique-by.js":883,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js":884,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js":885,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js":886,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js":887,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js":888,"./node_modules/@angular/core/fesm2015/core.mjs":7,"./node_modules/@angular/core/fesm5/core.mjs":7,"./node_modules/rxjs/_esm2015/internal/Subscription.js":28,"./node_modules/rxjs/_esm5/internal/Subscription.js":28,"./node_modules/rxjs/_esm2015/internal/util/isFunction.js":29,"./node_modules/rxjs/_esm5/internal/util/isFunction.js":29,"./node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js":30,"./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js":30,"./node_modules/rxjs/_esm2015/internal/util/isArray.js":31,"./node_modules/rxjs/_esm5/internal/util/isArray.js":31,"./node_modules/rxjs/_esm2015/internal/util/isObject.js":32,"./node_modules/rxjs/_esm5/internal/util/isObject.js":32,"./node_modules/rxjs/_esm2015/internal/Subject.js":33,"./node_modules/rxjs/_esm5/internal/Subject.js":33,"./node_modules/rxjs/_esm2015/internal/Subscriber.js":34,"./node_modules/rxjs/_esm5/internal/Subscriber.js":34,"./node_modules/rxjs/_esm2015/internal/Observer.js":35,"./node_modules/rxjs/_esm5/internal/Observer.js":35,"./node_modules/rxjs/_esm2015/internal/config.js":36,"./node_modules/rxjs/_esm5/internal/config.js":36,"./node_modules/rxjs/_esm2015/internal/util/hostReportError.js":37,"./node_modules/rxjs/_esm5/internal/util/hostReportError.js":37,"./node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js":38,"./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js":38,"./node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js":39,"./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js":39,"./node_modules/rxjs/_esm2015/internal/SubjectSubscription.js":40,"./node_modules/rxjs/_esm5/internal/SubjectSubscription.js":40,"./node_modules/rxjs/_esm2015/internal/Observable.js":41,"./node_modules/rxjs/_esm5/internal/Observable.js":41,"./node_modules/rxjs/_esm2015/internal/util/canReportError.js":42,"./node_modules/rxjs/_esm5/internal/util/canReportError.js":42,"./node_modules/rxjs/_esm2015/internal/symbol/observable.js":43,"./node_modules/rxjs/_esm5/internal/symbol/observable.js":43,"./node_modules/rxjs/_esm2015/internal/util/pipe.js":44,"./node_modules/rxjs/_esm5/internal/util/pipe.js":44,"./node_modules/rxjs/_esm2015/internal/util/identity.js":45,"./node_modules/rxjs/_esm5/internal/util/identity.js":45,"./node_modules/rxjs/_esm2015/internal/observable/merge.js":46,"./node_modules/rxjs/_esm5/internal/observable/merge.js":46,"./node_modules/rxjs/_esm2015/internal/util/isScheduler.js":47,"./node_modules/rxjs/_esm5/internal/util/isScheduler.js":47,"./node_modules/rxjs/_esm2015/internal/operators/mergeAll.js":48,"./node_modules/rxjs/_esm5/internal/operators/mergeAll.js":48,"./node_modules/rxjs/_esm2015/internal/operators/mergeMap.js":49,"./node_modules/rxjs/_esm5/internal/operators/mergeMap.js":49,"./node_modules/rxjs/_esm2015/internal/observable/from.js":50,"./node_modules/rxjs/_esm5/internal/observable/from.js":50,"./node_modules/rxjs/_esm2015/internal/util/subscribeTo.js":51,"./node_modules/rxjs/_esm5/internal/util/subscribeTo.js":51,"./node_modules/rxjs/_esm2015/internal/util/isArrayLike.js":52,"./node_modules/rxjs/_esm5/internal/util/isArrayLike.js":52,"./node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js":53,"./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js":53,"./node_modules/rxjs/_esm2015/internal/util/isPromise.js":54,"./node_modules/rxjs/_esm5/internal/util/isPromise.js":54,"./node_modules/rxjs/_esm2015/internal/symbol/iterator.js":55,"./node_modules/rxjs/_esm5/internal/symbol/iterator.js":55,"./node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js":56,"./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js":56,"./node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js":57,"./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js":57,"./node_modules/rxjs/_esm2015/internal/operators/map.js":58,"./node_modules/rxjs/_esm5/internal/operators/map.js":58,"./node_modules/rxjs/_esm2015/internal/innerSubscribe.js":59,"./node_modules/rxjs/_esm5/internal/innerSubscribe.js":59,"./node_modules/rxjs/_esm2015/internal/observable/fromArray.js":60,"./node_modules/rxjs/_esm5/internal/observable/fromArray.js":60,"./node_modules/rxjs/_esm2015/internal/operators/share.js":61,"./node_modules/rxjs/_esm5/internal/operators/share.js":61,"./node_modules/rxjs/_esm2015/internal/operators/refCount.js":62,"./node_modules/rxjs/_esm5/internal/operators/refCount.js":62,"./node_modules/rxjs/_esm2015/internal/operators/multicast.js":63,"./node_modules/rxjs/_esm5/internal/operators/multicast.js":63,"./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js":64,"./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js":64,"./node_modules/tslib/tslib.es6.js":65,"./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js":101,"./node_modules/rxjs/_esm5/internal/BehaviorSubject.js":101,"./node_modules/rxjs/_esm2015/internal/operators/observeOn.js":102,"./node_modules/rxjs/_esm5/internal/operators/observeOn.js":102,"./node_modules/rxjs/_esm2015/internal/Notification.js":103,"./node_modules/rxjs/_esm5/internal/Notification.js":103,"./node_modules/rxjs/_esm2015/internal/observable/of.js":104,"./node_modules/rxjs/_esm5/internal/observable/of.js":104,"./node_modules/rxjs/_esm2015/internal/observable/throwError.js":105,"./node_modules/rxjs/_esm5/internal/observable/throwError.js":105,"./node_modules/rxjs/_esm2015/internal/observable/empty.js":106,"./node_modules/rxjs/_esm5/internal/observable/empty.js":106,"./node_modules/rxjs/_esm2015/internal/scheduler/queue.js":107,"./node_modules/rxjs/_esm5/internal/scheduler/queue.js":107,"./node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js":108,"./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js":108,"./node_modules/rxjs/_esm2015/internal/Scheduler.js":109,"./node_modules/rxjs/_esm5/internal/Scheduler.js":109,"./node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js":110,"./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js":110,"./node_modules/rxjs/_esm2015/internal/operators/withLatestFrom.js":111,"./node_modules/rxjs/_esm5/internal/operators/withLatestFrom.js":111,"./node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js":112,"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js":112,"./node_modules/rxjs/_esm2015/internal/OuterSubscriber.js":113,"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js":113,"./node_modules/rxjs/_esm2015/internal/operators/scan.js":114,"./node_modules/rxjs/_esm5/internal/operators/scan.js":114,"./node_modules/rxjs/_esm2015/internal/operators/pluck.js":115,"./node_modules/rxjs/_esm5/internal/operators/pluck.js":115,"./node_modules/rxjs/_esm2015/internal/operators/distinctUntilChanged.js":116,"./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js":116,"./node_modules/rxjs/_esm2015/internal/ReplaySubject.js":120,"./node_modules/rxjs/_esm5/internal/ReplaySubject.js":120,"./node_modules/rxjs/_esm2015/internal/operators/filter.js":121,"./node_modules/rxjs/_esm5/internal/operators/filter.js":121,"./node_modules/rxjs/_esm2015/internal/observable/never.js":122,"./node_modules/rxjs/_esm5/internal/observable/never.js":122,"./node_modules/rxjs/_esm2015/internal/util/noop.js":123,"./node_modules/rxjs/_esm5/internal/util/noop.js":123,"./node_modules/rxjs/_esm2015/internal/operators/startWith.js":125,"./node_modules/rxjs/_esm5/internal/operators/startWith.js":125,"./node_modules/rxjs/_esm2015/internal/observable/concat.js":126,"./node_modules/rxjs/_esm5/internal/observable/concat.js":126,"./node_modules/rxjs/_esm2015/internal/operators/concatAll.js":127,"./node_modules/rxjs/_esm5/internal/operators/concatAll.js":127,"./node_modules/@angular/common/fesm2015/http.mjs":128,"./node_modules/@angular/common/fesm5/http.mjs":128,"./node_modules/rxjs/_esm2015/internal/operators/concatMap.js":129,"./node_modules/rxjs/_esm5/internal/operators/concatMap.js":129,"./node_modules/@angular/common/fesm2015/common.mjs":130,"./node_modules/@angular/common/fesm5/common.mjs":130,"./node_modules/@angular/compiler/fesm2015/compiler.mjs":132,"./node_modules/@angular/compiler/fesm5/compiler.mjs":132,"./node_modules/@angular/platform-browser-dynamic/fesm2015/platform-browser-dynamic.mjs":135,"./node_modules/@angular/platform-browser-dynamic/fesm5/platform-browser-dynamic.mjs":135,"./node_modules/@angular/platform-browser/fesm2015/platform-browser.mjs":136,"./node_modules/@angular/platform-browser/fesm5/platform-browser.mjs":136,"./node_modules/rxjs/_esm2015/index.js":137,"./node_modules/rxjs/_esm5/index.js":137,"./node_modules/rxjs/_esm2015/internal/operators/groupBy.js":138,"./node_modules/rxjs/_esm5/internal/operators/groupBy.js":138,"./node_modules/rxjs/_esm2015/internal/AsyncSubject.js":139,"./node_modules/rxjs/_esm5/internal/AsyncSubject.js":139,"./node_modules/rxjs/_esm2015/internal/scheduler/asap.js":140,"./node_modules/rxjs/_esm5/internal/scheduler/asap.js":140,"./node_modules/rxjs/_esm2015/internal/scheduler/async.js":141,"./node_modules/rxjs/_esm5/internal/scheduler/async.js":141,"./node_modules/rxjs/_esm2015/internal/scheduler/animationFrame.js":142,"./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js":142,"./node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js":143,"./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js":143,"./node_modules/rxjs/_esm2015/internal/util/EmptyError.js":144,"./node_modules/rxjs/_esm5/internal/util/EmptyError.js":144,"./node_modules/rxjs/_esm2015/internal/util/TimeoutError.js":145,"./node_modules/rxjs/_esm5/internal/util/TimeoutError.js":145,"./node_modules/rxjs/_esm2015/internal/observable/combineLatest.js":146,"./node_modules/rxjs/_esm5/internal/observable/combineLatest.js":146,"./node_modules/rxjs/_esm2015/internal/observable/defer.js":147,"./node_modules/rxjs/_esm5/internal/observable/defer.js":147,"./node_modules/rxjs/_esm2015/internal/observable/forkJoin.js":148,"./node_modules/rxjs/_esm5/internal/observable/forkJoin.js":148,"./node_modules/rxjs/_esm2015/internal/observable/fromEvent.js":149,"./node_modules/rxjs/_esm5/internal/observable/fromEvent.js":149,"./node_modules/rxjs/_esm2015/internal/observable/interval.js":150,"./node_modules/rxjs/_esm5/internal/observable/interval.js":150,"./node_modules/rxjs/_esm2015/internal/util/isNumeric.js":151,"./node_modules/rxjs/_esm5/internal/util/isNumeric.js":151,"./node_modules/rxjs/_esm2015/internal/util/not.js":152,"./node_modules/rxjs/_esm5/internal/util/not.js":152,"./node_modules/rxjs/_esm2015/internal/observable/race.js":153,"./node_modules/rxjs/_esm5/internal/observable/race.js":153,"./node_modules/rxjs/_esm2015/internal/observable/timer.js":154,"./node_modules/rxjs/_esm5/internal/observable/timer.js":154,"./node_modules/rxjs/_esm2015/internal/observable/zip.js":155,"./node_modules/rxjs/_esm5/internal/observable/zip.js":155,"./node_modules/rxjs/_esm2015/operators/index.js":156,"./node_modules/rxjs/_esm5/operators/index.js":156,"./node_modules/rxjs/_esm2015/internal/operators/audit.js":157,"./node_modules/rxjs/_esm5/internal/operators/audit.js":157,"./node_modules/rxjs/_esm2015/internal/operators/auditTime.js":158,"./node_modules/rxjs/_esm5/internal/operators/auditTime.js":158,"./node_modules/rxjs/_esm2015/internal/operators/catchError.js":159,"./node_modules/rxjs/_esm5/internal/operators/catchError.js":159,"./node_modules/rxjs/_esm2015/internal/operators/combineLatest.js":160,"./node_modules/rxjs/_esm5/internal/operators/combineLatest.js":160,"./node_modules/rxjs/_esm2015/internal/operators/debounceTime.js":161,"./node_modules/rxjs/_esm5/internal/operators/debounceTime.js":161,"./node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js":162,"./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js":162,"./node_modules/rxjs/_esm2015/internal/operators/delay.js":163,"./node_modules/rxjs/_esm5/internal/operators/delay.js":163,"./node_modules/rxjs/_esm2015/internal/util/isDate.js":164,"./node_modules/rxjs/_esm5/internal/util/isDate.js":164,"./node_modules/rxjs/_esm2015/internal/operators/delayWhen.js":165,"./node_modules/rxjs/_esm5/internal/operators/delayWhen.js":165,"./node_modules/rxjs/_esm2015/internal/operators/dematerialize.js":166,"./node_modules/rxjs/_esm5/internal/operators/dematerialize.js":166,"./node_modules/rxjs/_esm2015/internal/operators/take.js":167,"./node_modules/rxjs/_esm5/internal/operators/take.js":167,"./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js":168,"./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js":168,"./node_modules/rxjs/_esm2015/internal/operators/every.js":169,"./node_modules/rxjs/_esm5/internal/operators/every.js":169,"./node_modules/rxjs/_esm2015/internal/operators/exhaustMap.js":170,"./node_modules/rxjs/_esm5/internal/operators/exhaustMap.js":170,"./node_modules/rxjs/_esm2015/internal/operators/finalize.js":171,"./node_modules/rxjs/_esm5/internal/operators/finalize.js":171,"./node_modules/rxjs/_esm2015/internal/operators/first.js":172,"./node_modules/rxjs/_esm5/internal/operators/first.js":172,"./node_modules/rxjs/_esm2015/internal/operators/ignoreElements.js":173,"./node_modules/rxjs/_esm5/internal/operators/ignoreElements.js":173,"./node_modules/rxjs/_esm2015/internal/operators/last.js":174,"./node_modules/rxjs/_esm5/internal/operators/last.js":174,"./node_modules/rxjs/_esm2015/internal/operators/takeLast.js":175,"./node_modules/rxjs/_esm5/internal/operators/takeLast.js":175,"./node_modules/rxjs/_esm2015/internal/operators/materialize.js":176,"./node_modules/rxjs/_esm5/internal/operators/materialize.js":176,"./node_modules/rxjs/_esm2015/internal/operators/reduce.js":177,"./node_modules/rxjs/_esm5/internal/operators/reduce.js":177,"./node_modules/rxjs/_esm2015/internal/operators/publishReplay.js":178,"./node_modules/rxjs/_esm5/internal/operators/publishReplay.js":178,"./node_modules/rxjs/_esm2015/internal/operators/shareReplay.js":179,"./node_modules/rxjs/_esm5/internal/operators/shareReplay.js":179,"./node_modules/rxjs/_esm2015/internal/operators/skip.js":180,"./node_modules/rxjs/_esm5/internal/operators/skip.js":180,"./node_modules/rxjs/_esm2015/internal/operators/skipWhile.js":181,"./node_modules/rxjs/_esm5/internal/operators/skipWhile.js":181,"./node_modules/rxjs/_esm2015/internal/operators/switchMap.js":182,"./node_modules/rxjs/_esm5/internal/operators/switchMap.js":182,"./node_modules/rxjs/_esm2015/internal/operators/switchMapTo.js":183,"./node_modules/rxjs/_esm5/internal/operators/switchMapTo.js":183,"./node_modules/rxjs/_esm2015/internal/operators/takeUntil.js":184,"./node_modules/rxjs/_esm5/internal/operators/takeUntil.js":184,"./node_modules/rxjs/_esm2015/internal/operators/takeWhile.js":185,"./node_modules/rxjs/_esm5/internal/operators/takeWhile.js":185,"./node_modules/rxjs/_esm2015/internal/operators/tap.js":186,"./node_modules/rxjs/_esm5/internal/operators/tap.js":186,"./node_modules/rxjs/_esm2015/internal/operators/timeout.js":187,"./node_modules/rxjs/_esm5/internal/operators/timeout.js":187,"./node_modules/rxjs/_esm2015/internal/operators/timeoutWith.js":188,"./node_modules/rxjs/_esm5/internal/operators/timeoutWith.js":188,"./node_modules/@angular/forms/fesm2015/forms.mjs":199,"./node_modules/@angular/forms/fesm5/forms.mjs":199,"./node_modules/@angular/router/fesm2015/router.mjs":249,"./node_modules/@angular/router/fesm5/router.mjs":249,"./node_modules/@angular/animations/fesm2015/animations.mjs":259,"./node_modules/@angular/animations/fesm5/animations.mjs":259,"./node_modules/rxjs/internal/operators/index.js":431,"./node_modules/rxjs/internal/operators/audit.js":432,"./node_modules/rxjs/internal/innerSubscribe.js":433,"./node_modules/rxjs/internal/Subscriber.js":434,"./node_modules/rxjs/internal/util/isFunction.js":435,"./node_modules/rxjs/internal/Observer.js":436,"./node_modules/rxjs/internal/config.js":437,"./node_modules/rxjs/internal/util/hostReportError.js":438,"./node_modules/rxjs/internal/Subscription.js":439,"./node_modules/rxjs/internal/util/isArray.js":440,"./node_modules/rxjs/internal/util/isObject.js":441,"./node_modules/rxjs/internal/util/UnsubscriptionError.js":442,"./node_modules/rxjs/internal/symbol/rxSubscriber.js":443,"./node_modules/rxjs/internal/Observable.js":444,"./node_modules/rxjs/internal/util/canReportError.js":445,"./node_modules/rxjs/internal/util/toSubscriber.js":446,"./node_modules/rxjs/internal/symbol/observable.js":447,"./node_modules/rxjs/internal/util/pipe.js":448,"./node_modules/rxjs/internal/util/identity.js":449,"./node_modules/rxjs/internal/util/subscribeTo.js":450,"./node_modules/rxjs/internal/util/subscribeToArray.js":451,"./node_modules/rxjs/internal/util/subscribeToPromise.js":452,"./node_modules/rxjs/internal/util/subscribeToIterable.js":453,"./node_modules/rxjs/internal/symbol/iterator.js":454,"./node_modules/rxjs/internal/util/subscribeToObservable.js":455,"./node_modules/rxjs/internal/util/isArrayLike.js":456,"./node_modules/rxjs/internal/util/isPromise.js":457,"./node_modules/rxjs/internal/operators/auditTime.js":458,"./node_modules/rxjs/internal/scheduler/async.js":459,"./node_modules/rxjs/internal/scheduler/AsyncAction.js":460,"./node_modules/rxjs/internal/scheduler/Action.js":461,"./node_modules/rxjs/internal/scheduler/AsyncScheduler.js":462,"./node_modules/rxjs/internal/Scheduler.js":463,"./node_modules/rxjs/internal/observable/timer.js":464,"./node_modules/rxjs/internal/util/isNumeric.js":465,"./node_modules/rxjs/internal/util/isScheduler.js":466,"./node_modules/rxjs/internal/operators/buffer.js":467,"./node_modules/rxjs/internal/operators/bufferCount.js":468,"./node_modules/rxjs/internal/operators/bufferTime.js":469,"./node_modules/rxjs/internal/operators/bufferToggle.js":470,"./node_modules/rxjs/internal/util/subscribeToResult.js":471,"./node_modules/rxjs/internal/InnerSubscriber.js":472,"./node_modules/rxjs/internal/OuterSubscriber.js":473,"./node_modules/rxjs/internal/operators/bufferWhen.js":474,"./node_modules/rxjs/internal/operators/catchError.js":475,"./node_modules/rxjs/internal/operators/combineAll.js":476,"./node_modules/rxjs/internal/observable/combineLatest.js":477,"./node_modules/rxjs/internal/observable/fromArray.js":478,"./node_modules/rxjs/internal/scheduled/scheduleArray.js":479,"./node_modules/rxjs/internal/operators/combineLatest.js":480,"./node_modules/rxjs/internal/observable/from.js":481,"./node_modules/rxjs/internal/scheduled/scheduled.js":482,"./node_modules/rxjs/internal/scheduled/scheduleObservable.js":483,"./node_modules/rxjs/internal/scheduled/schedulePromise.js":484,"./node_modules/rxjs/internal/scheduled/scheduleIterable.js":485,"./node_modules/rxjs/internal/util/isInteropObservable.js":486,"./node_modules/rxjs/internal/util/isIterable.js":487,"./node_modules/rxjs/internal/operators/concat.js":488,"./node_modules/rxjs/internal/observable/concat.js":489,"./node_modules/rxjs/internal/observable/of.js":490,"./node_modules/rxjs/internal/operators/concatAll.js":491,"./node_modules/rxjs/internal/operators/mergeAll.js":492,"./node_modules/rxjs/internal/operators/mergeMap.js":493,"./node_modules/rxjs/internal/operators/map.js":494,"./node_modules/rxjs/internal/operators/concatMap.js":495,"./node_modules/rxjs/internal/operators/concatMapTo.js":496,"./node_modules/rxjs/internal/operators/count.js":497,"./node_modules/rxjs/internal/operators/debounce.js":498,"./node_modules/rxjs/internal/operators/debounceTime.js":499,"./node_modules/rxjs/internal/operators/defaultIfEmpty.js":500,"./node_modules/rxjs/internal/operators/delay.js":501,"./node_modules/rxjs/internal/util/isDate.js":502,"./node_modules/rxjs/internal/Notification.js":503,"./node_modules/rxjs/internal/observable/empty.js":504,"./node_modules/rxjs/internal/observable/throwError.js":505,"./node_modules/rxjs/internal/operators/delayWhen.js":506,"./node_modules/rxjs/internal/operators/dematerialize.js":507,"./node_modules/rxjs/internal/operators/distinct.js":508,"./node_modules/rxjs/internal/operators/distinctUntilChanged.js":509,"./node_modules/rxjs/internal/operators/distinctUntilKeyChanged.js":510,"./node_modules/rxjs/internal/operators/elementAt.js":511,"./node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js":512,"./node_modules/rxjs/internal/operators/filter.js":513,"./node_modules/rxjs/internal/operators/throwIfEmpty.js":514,"./node_modules/rxjs/internal/util/EmptyError.js":515,"./node_modules/rxjs/internal/operators/take.js":516,"./node_modules/rxjs/internal/operators/every.js":517,"./node_modules/rxjs/internal/operators/exhaust.js":518,"./node_modules/rxjs/internal/operators/exhaustMap.js":519,"./node_modules/rxjs/internal/operators/expand.js":520,"./node_modules/rxjs/internal/operators/finalize.js":521,"./node_modules/rxjs/internal/operators/find.js":522,"./node_modules/rxjs/internal/operators/findIndex.js":523,"./node_modules/rxjs/internal/operators/first.js":524,"./node_modules/rxjs/internal/operators/groupBy.js":525,"./node_modules/rxjs/internal/Subject.js":526,"./node_modules/rxjs/internal/util/ObjectUnsubscribedError.js":527,"./node_modules/rxjs/internal/SubjectSubscription.js":528,"./node_modules/rxjs/internal/operators/ignoreElements.js":529,"./node_modules/rxjs/internal/operators/isEmpty.js":530,"./node_modules/rxjs/internal/operators/last.js":531,"./node_modules/rxjs/internal/operators/takeLast.js":532,"./node_modules/rxjs/internal/operators/mapTo.js":533,"./node_modules/rxjs/internal/operators/materialize.js":534,"./node_modules/rxjs/internal/operators/max.js":535,"./node_modules/rxjs/internal/operators/reduce.js":536,"./node_modules/rxjs/internal/operators/scan.js":537,"./node_modules/rxjs/internal/operators/merge.js":538,"./node_modules/rxjs/internal/observable/merge.js":539,"./node_modules/rxjs/internal/operators/mergeMapTo.js":540,"./node_modules/rxjs/internal/operators/mergeScan.js":541,"./node_modules/rxjs/internal/operators/min.js":542,"./node_modules/rxjs/internal/operators/multicast.js":543,"./node_modules/rxjs/internal/observable/ConnectableObservable.js":544,"./node_modules/rxjs/internal/operators/refCount.js":545,"./node_modules/rxjs/internal/operators/observeOn.js":546,"./node_modules/rxjs/internal/operators/onErrorResumeNext.js":547,"./node_modules/rxjs/internal/operators/pairwise.js":548,"./node_modules/rxjs/internal/operators/partition.js":549,"./node_modules/rxjs/internal/util/not.js":550,"./node_modules/rxjs/internal/operators/pluck.js":551,"./node_modules/rxjs/internal/operators/publish.js":552,"./node_modules/rxjs/internal/operators/publishBehavior.js":553,"./node_modules/rxjs/internal/BehaviorSubject.js":554,"./node_modules/rxjs/internal/operators/publishLast.js":555,"./node_modules/rxjs/internal/AsyncSubject.js":556,"./node_modules/rxjs/internal/operators/publishReplay.js":557,"./node_modules/rxjs/internal/ReplaySubject.js":558,"./node_modules/rxjs/internal/scheduler/queue.js":559,"./node_modules/rxjs/internal/scheduler/QueueAction.js":560,"./node_modules/rxjs/internal/scheduler/QueueScheduler.js":561,"./node_modules/rxjs/internal/operators/race.js":562,"./node_modules/rxjs/internal/observable/race.js":563,"./node_modules/rxjs/internal/operators/repeat.js":564,"./node_modules/rxjs/internal/operators/repeatWhen.js":565,"./node_modules/rxjs/internal/operators/retry.js":566,"./node_modules/rxjs/internal/operators/retryWhen.js":567,"./node_modules/rxjs/internal/operators/sample.js":568,"./node_modules/rxjs/internal/operators/sampleTime.js":569,"./node_modules/rxjs/internal/operators/sequenceEqual.js":570,"./node_modules/rxjs/internal/operators/share.js":571,"./node_modules/rxjs/internal/operators/shareReplay.js":572,"./node_modules/rxjs/internal/operators/single.js":573,"./node_modules/rxjs/internal/operators/skip.js":574,"./node_modules/rxjs/internal/operators/skipLast.js":575,"./node_modules/rxjs/internal/operators/skipUntil.js":576,"./node_modules/rxjs/internal/operators/skipWhile.js":577,"./node_modules/rxjs/internal/operators/startWith.js":578,"./node_modules/rxjs/internal/operators/subscribeOn.js":579,"./node_modules/rxjs/internal/observable/SubscribeOnObservable.js":580,"./node_modules/rxjs/internal/scheduler/asap.js":581,"./node_modules/rxjs/internal/scheduler/AsapAction.js":582,"./node_modules/rxjs/internal/util/Immediate.js":583,"./node_modules/rxjs/internal/scheduler/AsapScheduler.js":584,"./node_modules/rxjs/internal/operators/switchAll.js":585,"./node_modules/rxjs/internal/operators/switchMap.js":586,"./node_modules/rxjs/internal/operators/switchMapTo.js":587,"./node_modules/rxjs/internal/operators/takeUntil.js":588,"./node_modules/rxjs/internal/operators/takeWhile.js":589,"./node_modules/rxjs/internal/operators/tap.js":590,"./node_modules/rxjs/internal/util/noop.js":591,"./node_modules/rxjs/internal/operators/throttle.js":592,"./node_modules/rxjs/internal/operators/throttleTime.js":593,"./node_modules/rxjs/internal/operators/timeInterval.js":594,"./node_modules/rxjs/internal/observable/defer.js":595,"./node_modules/rxjs/internal/operators/timeout.js":596,"./node_modules/rxjs/internal/util/TimeoutError.js":597,"./node_modules/rxjs/internal/operators/timeoutWith.js":598,"./node_modules/rxjs/internal/operators/timestamp.js":599,"./node_modules/rxjs/internal/operators/toArray.js":600,"./node_modules/rxjs/internal/operators/window.js":601,"./node_modules/rxjs/internal/operators/windowCount.js":602,"./node_modules/rxjs/internal/operators/windowTime.js":603,"./node_modules/rxjs/internal/operators/windowToggle.js":604,"./node_modules/rxjs/internal/operators/windowWhen.js":605,"./node_modules/rxjs/internal/operators/withLatestFrom.js":606,"./node_modules/rxjs/internal/operators/zip.js":607,"./node_modules/rxjs/internal/observable/zip.js":608,"./node_modules/rxjs/internal/operators/zipAll.js":609,"./node_modules/@angular/elements/fesm2015/elements.mjs":726,"./node_modules/@angular/elements/fesm5/elements.mjs":726,"./node_modules/@angular/platform-browser/fesm2015/animations.mjs":761,"./node_modules/@angular/platform-browser/fesm5/animations.mjs":761};window.__iris_require__=function(e){if(!IRIS_MANIFEST)throw new Error("Manifest has not been loaded yet.");var t=e;if(t.indexOf("__ivy_ngcc__")>0&&(t=t.replace("__ivy_ngcc__/","").replace(".js",".mjs")),IRIS_MANIFEST.hasOwnProperty(t)){var i=IRIS_MANIFEST[t];return n(i)}return n(e)};var Of=function(){function SitefinityExtensionStore(){(0,i.Z)(this,SitefinityExtensionStore),this.extensionModules=[]}return(0,o.Z)(SitefinityExtensionStore,[{key:"addExtensionModule",value:function addExtensionModule(e){this.extensionModules.push(e)}},{key:"getExtensionModules",value:function getExtensionModules(){return this.extensionModules}}]),SitefinityExtensionStore}();window.sitefinityExtensionsStore=new Of;var zf,_f=n(363),Vf="data-sf",Gf="".concat(Vf,"is"),Hf="".concat(Vf,"id"),Zf="".concat(Vf,"name"),Yf=("".concat(Vf,"title"),"".concat(Vf,"isEmpty")),jf="".concat(Vf,"orphans"),Wf=("".concat(Vf,"isOrphaned"),"".concat(Vf,"error"),"".concat(Vf,"isContentWidget"),"".concat(Vf,"container")),Jf="".concat(Vf,"emptyLink"),qf=("".concat(Vf,"emptyLinkAction"),"".concat(Vf,"placeholderlabel"),"".concat(Vf,"emptyIconText"),"".concat(Vf,"emptyIcon"),"-sf-empty"),Xf="-no-outline",Kf="-no-border",$f="-root",ep="-sf-orphan",tp="-sf-dragged-over",np="-sf-hidden",ip="-sf-inline-block",op="-sf-contrast",ap="sf-zone-ui",rp="sf-zone-widget",sp="".concat(ap," ").concat(rp,"__toolbar"),lp="".concat(ap," ").concat(rp,"__quick-edit"),cp="".concat(ap," ").concat(rp,"__label"),dp="-sf-hovered",up="-sf-focused",fp="personalized",pp="-visible",Ap="SF-ADD-WIDGET",mp="SF-EMPTY-WIDGET",gp="SF-INLINE-TOOLBAR";!function(e){e.EDIT="Edit",e.NONE="None"}(zf||(zf={}));var hp=function(){function ComponentModel(e){var t=this;if((0,i.Z)(this,ComponentModel),this.emptyicontext="Create content",this.emptyicon="pencil",this.emptyiconaction=zf.EDIT,this.editAllowed=!0,this.moveAllowed=!0,this.isExpanded=!0,this.childContainers=[],this.addWidgetComponents=[],this.wrappingCommentElements=[],this.listeners={},this.domElement=e,this.domElement){this.domElement.classList.add(rp),populateFromAttributes(this);var n={iscontentwidget:"-sf-content",isempty:qf,isorphaned:ep,isemptyvisualhidden:"-sf-no-content"};Object.keys(n).forEach((function(e){t[e]&&t.domElement.classList.add(n[e])}))}}return(0,o.Z)(ComponentModel,[{key:"children",get:function get(){var e=[];return this.childContainers.forEach((function(t){e=e.concat(t.children)})),e}},{key:"isRoot",get:function get(){return this.parentContainer&&this.parentContainer.isRoot}},{key:"hasChildren",get:function get(){return this.children.length>0}},{key:"removeListeners",value:function removeListeners(){var e=this;Object.keys(this.listeners).forEach((function(t){e.listeners[t].forEach((function(n){e.domElement.removeEventListener(t,n)}))})),this.toolbarSubscription&&this.toolbarSubscription.unsubscribe(),delete this.toolbarSubscription,this.focusToolbarSubscription&&this.focusToolbarSubscription.unsubscribe(),delete this.focusToolbarSubscription}},{key:"addEventListener",value:function addEventListener(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t),this.domElement.addEventListener(e,t)}},{key:"clearAddWidgets",value:function clearAddWidgets(){this.addWidgetComponents.forEach((function(e){e.location.nativeElement.remove(),e.destroy()})),this.addWidgetComponents=[]}},{key:"clearOrphaned",value:function clearOrphaned(){this.domElement.classList.remove(ep),this.isorphaned=!1}},{key:"clear",value:function clear(){this.errorWidget&&(this.errorWidget.destroy(),this.errorWidget=void 0),this.clearAddWidgets(),this.wrappingCommentElements.forEach((function(e){e.parentNode.removeChild(e)})),this.label&&(this.label.remove(),this.label=void 0),this.childContainers.forEach((function(e){e.clear()})),this.removeListeners(),this.domElement.remove(),this.inlineToolbarComponent&&(this.inlineToolbarComponent.destroy(),this.inlineToolbarComponent=void 0)}},{key:"assignState",value:function assignState(e){var t=this;e&&(Object.keys(e).forEach((function(n){var i=n[0].toLowerCase()+n.substr(1);t[i]=e[n]})),this.handlePropertyChange())}},{key:"handlePropertyChange",value:function handlePropertyChange(){this.isPersonalized&&this.domElement.classList.add("-".concat(fp))}}]),ComponentModel}(),vp=function(){function ContainerModel(e){(0,i.Z)(this,ContainerModel),this.emptyicontext="Add widget here...",this.emptyicon="plus-circle",this.emptyiconaction=zf.EDIT,this.children=[],this.childContainers=[],this.listeners={},this.domElement=e,this.domElement&&(this.domElement.classList.add("sf-zone-column"),populateFromAttributes(this),this.placeholdername=this.domElement.getAttribute(Wf))}return(0,o.Z)(ContainerModel,[{key:"isempty",get:function get(){return 0===this.children.length&&0===this.childContainers.length}},{key:"isRoot",get:function get(){return"Body"===this.placeholdername}},{key:"hasOnlyOrphans",value:function hasOnlyOrphans(){if(this.children.length>0){var e=!0;return this.children.forEach((function(t){e=t.isorphaned&&e})),e}return!1}},{key:"hasAnyOrphans",value:function hasAnyOrphans(){for(var e=this.getDirectChildrenAndChildrenFromChildContainers(),t=0;t0?this.errorMessage=e.fieldErrors[0].errorType.message:e&&e.message?this.errorMessage=e.message:e.innerError&&e.innerError.message?this.errorMessage=e.innerError.message:e.innerError&&e.innerErrors.length>0&&e.innerErrors[0]&&e.innerErrors[0].message?this.errorMessage=e.innerErrors[0].message:e&&(this.errorMessage=e),this.errorMessage&&(this.showError=!0)}}]),FeedbackInfo}(),Pp=n(370),Rp=new Map([["string",Y.U.shortText],["bool",Y.U.choiceList],["number",Y.U.number],["datetime",Y.U.dateTime],["chipchoice",Y.U.choiceChip],["choices",Y.U.choiceDropDown],["radioChoices",Y.U.choice],["multipleChoices",Y.U.choiceMultiple],["related",Y.U.relatedData],["dictionary",Y.U.complex],["enumerable",Y.U.complex],["dynamicChoicePerItemType",Y.U.choiceServiceUrl],["range",Y.U.range],["attributes",Y.U.attributes],["fileTypes",Y.U.fileTypes]]),Qp=new Map([["ImagePosition","-col-size-2xs"],["ImageItem","-col-size-sm"]]),Up=new Map([["StylePrimary","-col-size-3xl"],["PositionCTA","-col-size-3xl"]]),Lp=(0,o.Z)((function SitefinityContentTypes(){(0,i.Z)(this,SitefinityContentTypes)}));Lp.NewsItem="Telerik.Sitefinity.News.Model.NewsItem",Lp.Blog="Telerik.Sitefinity.Blogs.Model.Blog",Lp.BlogPost="Telerik.Sitefinity.Blogs.Model.BlogPost",Lp.List="Telerik.Sitefinity.Lists.Model.List",Lp.ListItem="Telerik.Sitefinity.Lists.Model.ListItem",Lp.MODULE_BUILDER_FAQ_QUESTION="Telerik.Sitefinity.DynamicTypes.Model.FAQ.Question",Lp.Event="Telerik.Sitefinity.Events.Model.Event",Lp.ContentBlock="Telerik.Sitefinity.GenericContent.Model.ContentItem",Lp.ImageLibrary="Telerik.Sitefinity.Libraries.Model.Album",Lp.Image="Telerik.Sitefinity.Libraries.Model.Image",Lp.DocumentLibrary="Telerik.Sitefinity.Libraries.Model.DocumentLibrary",Lp.Document="Telerik.Sitefinity.Libraries.Model.Document",Lp.VideoLibrary="Telerik.Sitefinity.Libraries.Model.VideoLibrary",Lp.Video="Telerik.Sitefinity.Libraries.Model.Video",Lp.Forum="Telerik.Sitefinity.Forums.Model.Forum",Lp.ForumThread="Telerik.Sitefinity.Forums.Model.ForumThread",Lp.Form="Telerik.Sitefinity.Forms.Model.FormDescription",Lp.FlatTaxonomy="Telerik.Sitefinity.Taxonomies.Model.FlatTaxonomy",Lp.FlatTaxon="Telerik.Sitefinity.Taxonomies.Model.FlatTaxon",Lp.HierarchicalTaxonomy="Telerik.Sitefinity.Taxonomies.Model.HierarchicalTaxonomy",Lp.HierarchicalTaxon="Telerik.Sitefinity.Taxonomies.Model.HierarchicalTaxon",Lp.Comment="Telerik.Sitefinity.GenericContent.Model.Comment";var Op=n(196),zp=new Map([["images",u.w_.IMAGE],["videos",u.w_.VIDEO],["documents",u.w_.DOCUMENT]]),_p=(0,o.Z)((function SfLink(){(0,i.Z)(this,SfLink)})),Vp=(0,o.Z)((function ContentItemModel(){(0,i.Z)(this,ContentItemModel),this.itemName=v.WP.EMPTY_STRING,this.entityName=v.WP.EMPTY_STRING,this.sfLink=new _p,this.validationErrors=[]})),Gp=function(){function LinkInputType(e,t,n){(0,i.Z)(this,LinkInputType),this.regex=e,this.name=t,this.title=n}return(0,o.Z)(LinkInputType,[{key:"isMatch",value:function isMatch(e){return this.regex.test(e)}}]),LinkInputType}(),Hp="URL",Zp="URL_NO_SCHEME",Yp="EMAIL",jp=[new Gp(v.SV.EMAIL_PATTERN,Yp,Yp),new Gp(/^(?!(?:https?|ftp|file):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9][-_~]*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9][-_~]*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i,Zp,Hp),new Gp(v.SV.VALID_URL_PATTERN,Hp,Hp)],Wp=function(){function ContentLinkInputModel(e){(0,i.Z)(this,ContentLinkInputModel),this.isUrlRequired=!0,this._href=v.WP.EMPTY_STRING,e&&(e.sfLink.sfref&&(this.contentItemModel=new Vp,this.contentItemModel.sfLink=e.sfLink),this.href=e.sfLink.href,this.determineLinkType())}return(0,o.Z)(ContentLinkInputModel,[{key:"href",get:function get(){return this._href},set:function set(e){this._href=e,this.determineLinkType()}},{key:"getErrors",value:function getErrors(){return this.hasErrors=!1,this.isLoading?[]:this.contentItemModel?this.contentItemModel.validationErrors.length>0?(this.hasErrors=!0,this.contentItemModel.validationErrors):[]:this.isUrlRequired&&!this.href?(this.hasErrors=!0,[{errorType:Tc.v.REQUIRED,error:{message:"You must enter a url or email."}}]):this.href&&!this.linkType?(this.hasErrors=!0,[{errorType:Tc.v.REQUIRED,error:{message:"You must enter a valid url or email."}}]):[]}},{key:"determineLinkType",value:function determineLinkType(){if(this.linkType=v.WP.EMPTY_STRING,this.href)for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:null;try{return JSON.parse(e)}catch(e){}return t}},{key:"getEunmerableValue",value:function getEunmerableValue(e){var t=this.parseJsonValue(e);if(!Array.isArray(t)){var n={};t.forEach((function(e,t){n[t.toString()]=e})),t=n}return t}}]),PropertyValueParserService}();Jp=(0,a.gn)([(0,l.GSi)({providedIn:"root"})],Jp);var qp="-group",Xp=new Map([["Meta_Description_Description",Ie.hf],["Meta_Placeholder_Text","placeholder"],["DefaultValue","default"],["Meta_Choices","choices"],["Meta_Choice_Choices","choices"],["Meta_Content_Type","itemType"],["Meta_MediaItem_ItemType","itemType"],["Meta_MediaItem_AllowMultipleSelection","allowMultiple"],["Meta_MediaItem_Standalone","openPickerWhenEmpty"],["Meta_LengthDependsOn_ExtraRecords","dependsOnExtraRecords"],["Meta_ConditionalVisibility_Condition","conditionalRule"],["Meta_Mirror_FieldName","mirroredFieldName"],["Meta_Mirror_FieldProperty","mirroredFieldProperty"],["Meta_Mirror_EnableMirroring","enableMirroring"],["Meta_Description_InlineDescription","inlineDescription"],["Meta_Description_InstructionalNotes","instructionalNotes"],["Meta_EmptyValues_EmptyValues","emptyValues"]]),Kp=new Map([["Validations_Required",Ie.kA],["Validations_ReadOnly",Ie.fs],["Validations_Regex",Ie.uX],["Validations_MaxValue",Ie.Zq],["Validations_MinValue",Ie.PL],["Validations_DecimalPlaces",Ie.Hu]]),$p=new Map([["Validations_RangeErrorMsg",Tc.v.VALUE_RANGE],["Validations_RegexErrorMsg",Tc.v.PATTERN],["Validations_RequiredErrorMsg",Tc.v.REQUIRED],["Validations_MinLengthErrorMsg",Tc.v.MIN_LENGTH],["Validations_MaxLengthErrorMsg",Tc.v.MAX_LENGTH],["Validations_StringLengthErrorMsg",Tc.v.MAX_LENGTH]]),eA=function(){function CreateFieldService(e,t,n){(0,i.Z)(this,CreateFieldService),this.fieldsProvider=e,this.metadataStore=t,this.propertyValueParserService=n}return(0,o.Z)(CreateFieldService,[{key:"createField",value:function createField(e,t,n,i,o,a,r,s,l){var c={properties:(0,Ae.Z)({},t,(0,Ae.Z)({},Ie.af,{}))},d=c.properties[t];e===Y.U.html&&(d[lr.W]=!0),Xp.forEach((function(e,t){i.Properties.hasOwnProperty(t)&&(d[e]=i.Properties[t])}));var u="Meta_";Object.keys(i.Properties).filter((function(e){return e.startsWith(u)})).forEach((function(e){d[e]=i.Properties[e]})),d.typeChildProperties=i.TypeChildProperties,this.addValidations(i,d),e===Y.U.media&&this.setAcceptableFileAndMediaTypes(i,d),e===Y.U.complex&&(d.Meta_Type=i.Type);var f=e;e=this.changeFieldTypes(e,d);var p=this.propertyValueParserService.parsePropertyToFieldValue(n,e,i),A=this.propertyValueParserService.parsePropertyToFieldValue(i.DefaultValue,e,i);i.DefaultValue&&(c.properties[t].default=A);var m=(0,h.ax)(this.fieldsProvider,a,e,t,p,c,o,null,!1,l);if(f===Y.U.media){var g=null;switch(d.itemType){case"images":g="Telerik.Sitefinity.Libraries.Model.Image";break;case"videos":g="Telerik.Sitefinity.Libraries.Model.Video";break;case"documents":g="Telerik.Sitefinity.Libraries.Model.Document"}m.settings.contentType=g,m.settings.actAsWrappingMediaField=!0,m.settings.contentAllowMultipleItemsSelection=d.allowMultiple,m.settings.openPickerWhenEmpty="True"===d.openPickerWhenEmpty,m.value&&(m.value={Content:[{Type:g,Variations:[{Filter:{Key:"ByIds",Value:m.value.Id},Source:m.value.Provider||m.value.provider}]}],ItemIdsOrdered:[m.value.Id]})}return d[Ie.fs]&&(m.settings.readOnlyMode=!0),m.settings.showTitle=""!==o&&e!==Y.U.choiceYesNo&&("complex"!==i.Type||"True"===i.Properties.Meta_TableView_Enabled&&i.TypeChildProperties&&i.TypeChildProperties.length<=5),m.settings.culture=s,m.selector===Y.U.choiceChip&&(m.settings.look="inline sf-txt-base"),e===Y.U.relatedData&&(m.settings.type=d.itemType,m.settings.allowMultiple=d.allowMultiple,m.settings.look="inline"),e===Y.U.content&&(m.settings.look=m.settings.readOnlyMode?"sf-p-zero":"sf-p-zero sf-ml-xs sf-mb-zero"),e===Y.U.choiceDropDown&&(m.settings.defaultValue=A),this.setGroupSettings(m,e),this.populateMetadata(i,m,r),m}},{key:"addValidations",value:function addValidations(e,t){Kp.forEach((function(n,i){e.Properties.hasOwnProperty(i)&&(t[n]=e.Properties[i])})),$p.forEach((function(n,i){e.Properties.hasOwnProperty(i)&&(t[Ie.af][n]=e.Properties[i])}))}},{key:"setAcceptableFileAndMediaTypes",value:function setAcceptableFileAndMediaTypes(e,t){var n=this.metadataStore.getEntity(e.Properties.Meta_MediaItem_ItemType);t.acceptableMediaTypes=n.acceptableMediaTypes,t.acceptableFileTypes=n.acceptableFileTypes}},{key:"setGroupSettings",value:function setGroupSettings(e,t){var n=e.settings;t===Y.U.choiceYesNo&&n.groupName&&(n.groupFirst?(e.cssClass="".concat(qp," ").concat("-first"),n.optionName=e.settings.title,e.settings.showTitle=!0,e.settings.title=n.groupName):n.groupLast?e.cssClass="".concat(qp," ").concat("-last"):e.cssClass=qp)}},{key:"populateMetadata",value:function populateMetadata(e,t,n){var i=e.Properties.Meta_ConditionalVisibility_Condition;if(i&&(t.settings.conditionalRule=JSON.parse(i)),(0,Op.my)(t.settings)&&e.Properties){var o=t.settings;o.mirroredFieldName=e.Properties.Meta_Mirror_FieldName,o.mirroredFieldProperty=e.Properties.Meta_Mirror_FieldProperty||o.Meta_Mirror_FieldProperty,o.enableMirroring="True"===e.Properties.Meta_Mirror_EnableMirroring}var a=e.Properties.Meta_Description_Description;if(a)try{var r=JSON.parse(a);t.settings.tooltipModels=new Map([[E.Eu,r]])}catch(e){var s={Type:E.ID.Text,Chunks:[{Value:a,Presentation:[]}]};t.settings.tooltipModels=new Map([[E.Eu,[s]]])}var l=e.Properties.Meta_LengthDependsOn_PropertyName;if(l){var c=n[l],d=parseInt(c);t.settings.dependsOnLength=d}var u=e.Properties.Validations_Readonly;u&&"True"===u&&(t.settings.readOnlyMode=!0)}},{key:"changeFieldTypes",value:function changeFieldTypes(e,t){return e!==Y.U.content||t.itemType||(e=Y.U.contentAll),e===Y.U.media&&(e=Y.U.content),e}}]),CreateFieldService}();eA.ctorParameters=function(){return[{type:lr.H},{type:pe.EY},{type:Jp}]},eA=(0,a.gn)([(0,l.GSi)({providedIn:"root"}),(0,a.w6)("design:paramtypes",[lr.H,pe.EY,Jp])],eA);var tA=["SitefinityImage",g.Zn.SEARCH_INDEX],nA=[us.SECTION],iA="sf-form -medium -sf-centered-box -sf-pb-zero",oA=function(e){(0,f.Z)(BasicEditorViewComponent,e);var t=(0,p.Z)(BasicEditorViewComponent);function BasicEditorViewComponent(e,n){var o;return(0,i.Z)(this,BasicEditorViewComponent),(o=t.call(this)).dynamicService=e,o.createFieldService=n,o.shouldHaveTopPadding=!0,o}return(0,o.Z)(BasicEditorViewComponent,[{key:"initialize",value:function initialize(e){var t=this,n=this.headingPrefix||v.WP.EMPTY_STRING;this.cssClass=this.shouldHaveTopPadding?"".concat(iA," -sf-pt-7xl"):"".concat(iA," -sf-pt-zero"),this.heading="".concat(n).concat(e.caption),this.shouldShowTopBorder=this.handleTopBorderVisibility(e.name);var i=[],o=[],a=[];e.propertyMetadata.forEach((function(n,r,s){if(n){t.organizeGroups(n);var l=t.getFields(n.Properties,e.propertyValues,a),c=e.propertyMetadata.length>0&&0===r,d={isMain:null===n.Title,isExpanded:c,insertHorizontalRule:!t.shouldHideBottomBorder||r-1),t}},{key:"getProperties",value:function getProperties(e){var t=this,n=this.editableFieldsComponent.getFields(e),i=[];return n&&Object.keys(n).forEach((function(e){if(void 0!==n[e])if(t.editableFieldsComponent.fieldSections.some((function(t){return t.fields.some((function(t){return("sf-related-data"===t.selector||"sf-media"===t.selector)&&t.key===e}))}))){var o=n[e],a=t.editableFieldsComponent.fieldSections.some((function(t){return t.fields.some((function(t){return"sf-related-data"===t.selector&&t.key===e&&t.settings.allowMultiple}))}));o&&o instanceof Array&&!a&&(o=o[0]),i.push({Name:e,Value:o})}else i.push({Name:e,Value:n[e]})})),i}},{key:"updatedContentFormFieldSettings",value:function updatedContentFormFieldSettings(e){this.context.entityData&&"NetCore"===this.context.entityData.data[h.E.RENDERER]&&e.settings.contentType===Lp.Form&&(e.settings.filter=[{key:h.E.RENDERER,value:["NetCore"],operation:xi.O.eq}])}},{key:"organizeGroups",value:function organizeGroups(e){var t="Meta_Group_Name",n=e.Properties.filter((function(e){return e.Properties.hasOwnProperty(t)})),i={};n.forEach((function(e){var n=e.Properties[t];i[n]=i[n]||[],i[n].push(e)})),Object.keys(i).forEach((function(e){var t=i[e];t.length>0&&(t[0].Properties.Meta_Group_First=!0),t.length>1&&(t[t.length-1].Properties.Meta_Group_Last=!0)}))}}]),BasicEditorViewComponent}(E.zu);oA.ctorParameters=function(){return[{type:Ci.dg},{type:eA}]},oA.propDecorators={editableFieldsComponent:[{type:l.i9L,args:[Xo.I,{static:!0}]}]},oA=(0,a.gn)([(0,l.wA2)({selector:"sf-basic-view",template:Pp}),(0,a.w6)("design:paramtypes",[Ci.dg,eA])],oA);var aA=new l.OlP("widget_view_token"),rA=function(){function CustomViewRegistrationProvider(e){(0,i.Z)(this,CustomViewRegistrationProvider),this.editorViewProviders=e}return(0,o.Z)(CustomViewRegistrationProvider,[{key:"getView",value:function getView(e){var t=ls.BASIC;if(e.viewName===t){var n=this.editorViewProviders.map((function(t){return t.overrideView(e)})).filter((function(e){return e&&e.componentData}));if(n.length>0){var i={key:e,componentData:n[0].componentData};return(0,r.of)(i)}}return this.getRegisteredViews().pipe((0,w.U)((function(t){return t.find((function(t){return t.key.widgetName===e.widgetName&&t.key.viewName===e.viewName}))})))}},{key:"getRegisteredViews",value:function getRegisteredViews(){return this.editorViewProviders?this.initViews():(0,r.of)([])}},{key:"initViews",value:function initViews(){var e=this,t=this.editorViewProviders.map((function(e){var t=e;if(t.getViews)return t.getViews()})).filter((function(e){return e}));return s.aj.apply(void 0,(0,J.Z)(t)).pipe((0,w.U)((function(t){return e.mergeViews(t)})))}},{key:"mergeViews",value:function mergeViews(e){var t=[];return e.forEach((function(e){e.forEach((function(e){t.push(e)}))})),t}}]),CustomViewRegistrationProvider}();rA.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[aA]}]}]},rA=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],rA);var sA=function(){function WebFormsAndMvcRendererContract(){(0,i.Z)(this,WebFormsAndMvcRendererContract)}return(0,o.Z)(WebFormsAndMvcRendererContract,[{key:"getWidgetMetadata",value:function getWidgetMetadata(e){return new Promise((function(e){return e({Caption:null,Name:null,PropertyMetadata:[],PropertyMetadataFlat:[]})}))}},{key:"renderWidget",value:function renderWidget(e){return new Promise((function(e){return e(null)}))}},{key:"getWidgets",value:function getWidgets(e){return new Promise((function(e){return e({dataItems:[],totalCount:0})}))}},{key:"getCategories",value:function getCategories(e){return new Promise((function(e){return e([])}))}}]),WebFormsAndMvcRendererContract}();sA=(0,a.gn)([(0,l.GSi)()],sA);var lA=function(){function RendererService(e,t){(0,i.Z)(this,RendererService),this.legacyContract=e,this.authService=t}return(0,o.Z)(RendererService,[{key:"initialize",value:function initialize(e){this.contract=e}},{key:"getWidgetMetadata",value:function getWidgetMetadata(e){return e.token=this.authService.getToken(),(0,In.D)(this.getContract().getWidgetMetadata(e))}},{key:"getCategories",value:function getCategories(e){return e.token=this.authService.getToken(),(0,In.D)(this.getContract().getCategories(e))}},{key:"renderWidget",value:function renderWidget(e){return e.token=this.authService.getToken(),(0,In.D)(this.getContract().renderWidget(e))}},{key:"getWidgets",value:function getWidgets(e){return e.token=this.authService.getToken(),(0,In.D)(this.getContract().getWidgets(e))}},{key:"getContract",value:function getContract(){return this.contract||this.legacyContract}}]),RendererService}();lA.ctorParameters=function(){return[{type:sA},{type:gf.e}]},lA=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[sA,gf.e])],lA);var cA=function(){function WidgetMetadataMergerService(e,t){(0,i.Z)(this,WidgetMetadataMergerService),this.zoneEditorContract=e,this.renderer=t}return(0,o.Z)(WidgetMetadataMergerService,[{key:"getWidgetMetadata",value:function getWidgetMetadata(e){var t=new re.t,n=this.renderer.getWidgetMetadata(e),i=this.zoneEditorContract.getWidgetMetadata(e);return(0,Zo.D)([n,i]).subscribe((function(e){var n=e[0],i=e[1];if(i){var o;if(0===n.PropertyMetadata.length)return void t.next(i);n.PropertyMetadata.forEach((function(e){var t=i.PropertyMetadata.find((function(t){return t.Name===e.Name}));t&&e.Sections.forEach((function(e){var n,i=t.Sections.find((function(t){return t.Name===e.Name}));i&&(n=e.Properties).push.apply(n,(0,J.Z)(i.Properties))}))})),(o=n.PropertyMetadataFlat).push.apply(o,(0,J.Z)(i.PropertyMetadataFlat))}t.next(n)})),t.asObservable()}}]),WidgetMetadataMergerService}();cA.ctorParameters=function(){return[{type:Dp},{type:lA}]},cA=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Dp,lA])],cA);var dA,uA="sf-modal-window__buttons",fA="SfWidgetLabel",pA=function(e){(0,f.Z)(WidgetEditorComponent,e);var t=(0,p.Z)(WidgetEditorComponent);function WidgetEditorComponent(e,n,o,a,r,s,l){var c;return(0,i.Z)(this,WidgetEditorComponent),(c=t.call(this)).zoneEditorContract=e,c.widgetMetadataService=n,c.viewsProvider=o,c.buttonStateService=a,c.siteDataStore=r,c.propertyValueParserService=s,c.windowProvider=l,c.feedback=new Fp,c.footerButtonsClass=uA,c.widgetEditorComponent$=new re.t(1),c.hasAdvancedOptions=new re.t(1),c.focusTriggeringSubscription=new he.X(!1),c.loading=new re.t(1),c.saving=new re.t(1),c}return(0,o.Z)(WidgetEditorComponent,[{key:"keyEvent",value:function keyEvent(e){var t=this,n=e.keyCode||e.which,i=e.ctrlKey&&e.altKey;!i||67!==n&&"c"!==e.key||(e.preventDefault(),this.windowProvider.navigator.clipboard.writeText(JSON.stringify(this.widgetProps.propertyValues))),!i||86!==n&&"v"!==e.key||(e.preventDefault(),this.windowProvider.navigator.clipboard.readText().then((function(e){t.widgetViewComponent.setValues(JSON.parse(e))})))}},{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.loading.pipe(Dn(600),(0,w.U)((function(e){return e.isLoading})),(0,ra.b)((function(t){e.feedback.showViewLoadingIndicator=t}))).subscribe();this.registerSubscription(t),this.loading.next({isLoading:!0,content:null});var n=(0,s.aj)(this.initializeView(),this.initializeViewData()).subscribe((function(t){var n=(0,q.Z)(t,2),i=n[0],o=n[1];i.componentData.afterComponentInit=function(t){e.focusTriggeringSubscription.next(!0),e.editorViewInstance=t,e.widgetProps=o;var n=t.initialize(o).subscribe((function(){e.feedback.reset(),e.loading.next({isLoading:!1,content:null})}),(function(t){e.feedback.setError(t)}));e.registerSubscription(n);var i=t;if(i.notifyStatusChange$){var a=i.notifyStatusChange$.subscribe((function(t){e.feedback=t}));e.registerSubscription(a)}e.configureActions(t,o),e.widgetViewComponent=t},e.widgetEditorComponent$.next(i)}),(function(t){e.feedback.setError(t)}));this.registerSubscription(n)}},{key:"setCloseModalCallback",value:function setCloseModalCallback(e){this._closeModalCallback=e}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){var t=e.name;switch(t){case ss.SAVE:var n=this.context.localizationMode===Tp.AlwaysSaveAllTranslations?dA.AllTranslations:dA.CurrentTranslationOnly,i=this.context.culture?n:dA.Default;this.saveContentClick(i,t);break;case ss.SAVE_ALL:this.saveContentClick(dA.AllTranslations,t);break;case ss.CANCEL:this.cancelClick();break;default:this.saveContentClick(0,t)}}},{key:"focusOut",value:function focusOut(){this.context.isQuickEdit&&this.cancelClick()}},{key:"ondragstart",value:function ondragstart(e){e.preventDefault(),e.stopPropagation()}},{key:"onclick",value:function onclick(e){this.context.isQuickEdit&&(e.preventDefault(),e.stopPropagation())}},{key:"configureActions",value:function configureActions(e,t){var n;this.footerButtonsClass=uA;var i=e.getActions?e.getActions():{};i.cssClass&&(this.footerButtonsClass+=v.WP.INTERVAL+i.cssClass),i.operations?n=i.operations:((n=new Array).push(this.createOperation(_e.SAVE,ss.SAVE,-1)),"AllTranslations"===t.propertyLocalizationMode&&this.context.localizationMode===Tp.Both&&n.push(this.createOperation(_e.SAVE_ALL_TRANSLATIONS,ss.SAVE_ALL,0)));var o=0===n.length?_e.CLOSE:_e.CANCEL;n.push(this.createOperation(o,_e.CANCEL,0)),this.operations=(0,r.of)(n),this.updateActionButtonsState(null,oe.BN.Default),this.buttonsState$=this.buttonStateService.getState$()}},{key:"createOperation",value:function createOperation(e,t,n){return{Title:e,Category:{Name:"default"},Name:t,Ordinal:n,Description:v.WP.EMPTY_STRING,Link:v.WP.EMPTY_STRING,Parameters:[{}],RequiresConfirmation:!1}}},{key:"saveContentClick",value:function saveContentClick(e,t){var n=this;if(this.editorViewInstance){this.updateActionButtonsState({name:t,state:oe.BN.Loading},oe.BN.Disabled);var i=this.editorViewInstance.validate().subscribe((function(i){if(i&&i.isValid){var o=n.editorViewInstance.actionExecuting({processChanges:!0}).pipe((0,Xn.w)((function(){return n.saveProperties(n.editorViewInstance,e)}))).subscribe((function(){return n.onComplete(t)}),(function(e){return n.onError(t,e)}));n.registerSubscription(o)}else{var a=i&&null!=i.message?i.message:"The form is not valid!";n.onError(t,a)}}),(function(e){return n.onError(t,e)}));this.registerSubscription(i)}}},{key:"cancelClick",value:function cancelClick(){var e=this;if(this.editorViewInstance){this.focusTriggeringSubscription.next(!1);var t=this.editorViewInstance.actionExecuting({processChanges:!1}).subscribe({error:function error(t){return e.onError(ss.CANCEL,t)},complete:function complete(){return e.onComplete(ss.CANCEL)}});this.registerSubscription(t)}}},{key:"updateActionButtonsState",value:function updateActionButtonsState(e,t){return this.buttonStateService.updateActionButtonsState(e,t)}},{key:"initializeViewData",value:function initializeViewData(){var e=this;this.feedback.reset();var t=this.zoneEditorContract.getWidgetPropertyValues(this.context.entityData,this.context.widgetId,this.context.segmentId,this.context.widgetSegmentId).pipe((0,w.U)((function(t){if(t&&t.Properties){var n=e.toAssociativeArray(t.Properties);return{caption:t.Caption,properties:n,propertyLocalizationMode:t.PropertyLocalizationMode}}}))),n=new re.t;return this.siteDataStore.getValue().subscribe((function(t){var i={dataItem:e.context.entityData,widgetKey:e.context.widgetId,widgetName:e.context.widgetName,siteId:t.Id};e.widgetMetadataService.getWidgetMetadata(i).subscribe((function(t){if(t){e.getModule(ls.ADVANCED,t.PropertyMetadata)&&e.hasAdvancedOptions.next(!0);var i=e.getSectionsPerMode(e.context.sectionName,t.PropertyMetadata)||[];t.PropertyMetadata=[i],n.next(t)}}))})),(0,s.aj)(n,t).pipe((0,w.U)((function(t){var n=t[0],i=t[1],o=i.caption||n.Caption;if(o){var a=n.PropertyMetadataFlat.find((function(e){return e.Name===fA}));a&&(a.DefaultValue=o)}var r=e.setDefaultProperties(i.properties,n.PropertyMetadataFlat);return{propertyLocalizationMode:i.propertyLocalizationMode,propertyMetadata:n.PropertyMetadata[0].Sections,propertyMetadataFlat:n.PropertyMetadataFlat,propertyValues:r,name:n.Name,caption:o}})))}},{key:"initializeView",value:function initializeView(){var e=this,t=new re.t(1),n=this.saving.pipe((0,Me.b)(500)).subscribe((function(){if(e.context.isQuickEdit){var t=e.context.localizationMode===Tp.AlwaysSaveAllTranslations?dA.AllTranslations:dA.CurrentTranslationOnly,n=e.context.culture?t:dA.Default;e.saveContentClick(n,ss.SAVE)}}));if(this.registerSubscription(n),this.context.sectionName===ls.ADVANCED)t.next({componentData:{type:oA,properties:{fieldChange:function fieldChange(){return e.saving.next({isLoading:!0})},headingPrefix:rs.ADVANCED_SETTINGS_LABEL}}});else{var i=this.context.viewKey,o=this.viewsProvider.getView(i).subscribe((function(n){var i={fieldChange:function fieldChange(){return e.saving.next({isLoading:!0})}};n||(n={}),n.componentData||(n.componentData={type:oA}),n.componentData.properties=i,t.next(n)}));this.registerSubscription(o)}return t.pipe((0,ra.b)((function(t){t.componentData.properties||(t.componentData.properties={}),t.componentData.properties.context=e.context})))}},{key:"saveProperties",value:function saveProperties(e,t){var n=e.getModifiedProperties();if(n&&n.length>0){this.stringifyProperties(n);var i=this.widgetProps.propertyMetadataFlat.map((function(e){return{Name:e.Name,Title:e.Title,Type:e.Type,DefaultValue:e.DefaultValue,Properties:e.Properties}})),o={ComponentId:this.context.widgetId,Properties:n,PropertyMetadata:i,PropertyLocalizationMode:t.toString()};if(this.context.widgetName===us.SECTION){var a=n.find((function(e){return"Labels"===e.Name}));if(a&&a.Value){var s=o.Caption=JSON.parse(a.Value).Section;s&&(o.Caption=s.Label)}}else{var l=n.find((function(e){return e.Name===fA}));if(l){o.Caption=l.Value;var c=o.Properties.indexOf(l);o.Properties.splice(c,1)}}return this.zoneEditorContract.setWidgetPropertyValues(this.context.entityData,o,this.context.segmentId,this.context.widgetSegmentId)}return(0,r.of)(null)}},{key:"onComplete",value:function onComplete(e){var t=this;if(e!==ss.CANCEL){var n=function closeModalFunction(){t._closeModalCallback({Success:!0,SourceOperation:{Name:e}})};if(this.context.isQuickEdit)n();else{this.updateActionButtonsState({name:e,state:oe.BN.Checked},oe.BN.Default);var i=this.updateActionButtonsState(null,oe.BN.Default).subscribe((function(){n()}));this.registerSubscription(i)}}else this._closeModalCallback({Success:!0,SourceOperation:{Name:e}});this.feedback.showError=!1}},{key:"onError",value:function onError(e,t){this.updateActionButtonsState({name:e,state:oe.BN.Default},oe.BN.Default),this.feedback.setError(t)}},{key:"setDefaultProperties",value:function setDefaultProperties(e,t){return t.forEach((function(t){void 0===e[t.Name]&&t.DefaultValue&&(e[t.Name]=t.DefaultValue)})),e}},{key:"toAssociativeArray",value:function toAssociativeArray(e){for(var t={},n=0;n0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;e>=t||this.skip===e||(this.skip=e,this.loadItems(this.filter,this.searchValue,this.skip))}},{key:"onSearch",value:function onSearch(e){1!==e.length&&this.search$.next(e)}},{key:"onClearSearch",value:function onClearSearch(){this.search$.next(null),this.searchInput.focus()}},{key:"loadItems",value:function loadItems(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:20,o=this.getSearchQuery(t),a=null;e&&(a=g.aO.FILTER(e)),this.dynamicItemStore.loadItems({entityData:this.entityData,action:a,query:o,fallbackProperties:[this.entityData.metadata.defaultFieldName],skip:n,take:i,order:this.sortParameter})}},{key:"getSearchQuery",value:function getSearchQuery(e){var t;if(e||this.parentId&&this.entityData.metadata.hasParent){if(t=(0,ir.r)().where().and(),e){var n=e.trim();t=t.or().startsWith(this.defaultFieldName,n).contains(this.defaultFieldName,"".concat(v.WP.INTERVAL).concat(n)).done()}this.parentId&&this.entityData.metadata.hasParent&&(t=t.eq(h.E.PARENT_ID,this.parentId)),t=t.done().done()}return t}},{key:"searchInternal",value:function searchInternal(e){e=e||v.WP.EMPTY_STRING,this.isSearched=!!e,this.filterValue=null,this.onClearFilter&&this.onClearFilter(),this.loadItems(null,e)}},{key:"clearInternal",value:function clearInternal(){this.isSearched&&(this.isSearched=!1,this.loadItems(),this.areItemsCleared=!0)}}]),DynamicSidebarComponent}(E.zu);bA.ctorParameters=function(){return[{type:ga},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},bA.propDecorators={selectionChanged:[{type:l.IIB}],onClearFilter:[{type:l.IIB}],selectedItem:[{type:l.IIB}],parentId:[{type:l.IIB}],data$:[{type:l.IIB}],sortParameter:[{type:l.IIB}],searchInput:[{type:l.i9L,args:[E.pP,{static:!1}]}]},bA=(0,a.gn)([(0,l.wA2)({template:hA}),(0,a.w6)("design:paramtypes",[ga,Window])],bA);var yA=n(373),EA=n(180),IA=function(e){(0,f.Z)(ChoiceListSettings,e);var t=(0,p.Z)(ChoiceListSettings);function ChoiceListSettings(){return(0,i.Z)(this,ChoiceListSettings),t.apply(this,arguments)}return(0,o.Z)(ChoiceListSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(ChoiceListSettings.prototype),"init",this).call(this,e),this.dataItem=e.dataItem,this.translatable=!1,this.arguments=e.arguments}}]),ChoiceListSettings}(j.P1),wA={writeComponent:ji,readComponent:Iu,settingsType:_i},kA={writeComponent:Ji,readComponent:Iu,settingsType:_i},xA={writeComponent:Xi,settingsType:_i},CA={writeComponent:xu,readComponent:Bu,settingsType:_i},SA={writeComponent:Mu,readComponent:Pu,settingsType:_i},BA={writeComponent:zu,settingsType:IA},DA={writeComponent:_u,settingsType:IA},TA={writeComponent:Hu,settingsType:_i},MA=n(374),NA=n(375),FA=function(e){(0,f.Z)(CustomFilterSidebarComponent,e);var t=(0,p.Z)(CustomFilterSidebarComponent);function CustomFilterSidebarComponent(e,n,o){var a;return(0,i.Z)(this,CustomFilterSidebarComponent),(a=t.call(this)).filterStore=e,a.filterService=n,a.route=o,a.dateRangeType="date-range",a.isLoading=!0,a.filterProperties$=new re.t(1),a.currentFilters={},a.readyFilters={},a.readyFilters$=new re.t(1),a}return(0,o.Z)(CustomFilterSidebarComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.entityData$.subscribe((function(t){(!e.entityData||e.entityData.provider!==t.provider||e.entityData.culture!==t.culture)&&(e.isLoading=!0,e.entityData=t,e.parseQueryParameters(),e.loadFilters())}));this.registerSubscription(t)}},{key:"onFilter",value:function onFilter(e){e.name&&(this.currentFilters[e.name]=e.keys,this.currentQueryString=this.filterService.serializeQueryParams(this.currentFilters),this.onFilterSelect&&this.onFilterSelect(this.currentQueryString))}},{key:"onFilterReady",value:function onFilterReady(e){this.readyFilters[e]=!0,Object.keys(this.readyFilters).length===Object.keys(this.currentFilters).length&&this.readyFilters$.next(!0)}},{key:"loadFilters",value:function loadFilters(){var e=this;this.filtersSubscription&&this.filtersSubscription.unsubscribe(),this.filtersSubscription=this.filterStore.getCustomFilters(this.entityData).subscribe((function(t){var n=null;!t.isLoading&&t.filters&&(n=t.filters.map((function(t){return{filterName:t.name,filterTitle:t.title,entityData:e.entityData,parameters:t.parameters}}))),e.filterProperties$.next(n)})),this.registerSubscription(this.filtersSubscription)}},{key:"parseQueryParameters",value:function parseQueryParameters(){var e=this;this.paramsSubsription&&this.paramsSubsription.unsubscribe(),this.paramsSubsription=this.route.queryParams.subscribe((function(t){var n=t[g.V5.FILTER];if(!e.currentQueryString||!n||n!==e.currentQueryString){if(e.currentQueryString=n,e.currentFilters={},e.readyFilters={},n)e.isLoading=!0,e.filterService.deserializeQueryParams(n).forEach((function(t){t.value&&t.value.length&&(e.currentFilters[t.key]=t.value)}));e.initLoadingSubscription(),0===Object.keys(e.currentFilters).length&&e.readyFilters$.next(!0)}})),this.registerSubscription(this.paramsSubsription)}},{key:"initLoadingSubscription",value:function initLoadingSubscription(){var e=this;this.loadingSubscription&&this.loadingSubscription.unsubscribe(),this.readyFilters$.next(!1),this.loadingSubscription=(0,s.aj)(this.readyFilters$,this.filterProperties$,(0,Sn.H)(g.gn)).subscribe((function(t){t[0]&&t[1]&&(e.isLoading=!1)})),this.registerSubscription(this.loadingSubscription)}}]),CustomFilterSidebarComponent}(E.zu);FA.ctorParameters=function(){return[{type:Vr},{type:b.y},{type:m.gz}]},FA.propDecorators={entityData$:[{type:l.IIB}],onFilterSelect:[{type:l.IIB}]},FA=(0,a.gn)([(0,l.wA2)({template:NA}),(0,a.w6)("design:paramtypes",[Vr,b.y,m.gz])],FA);var PA=function(){function SortersStore(e){(0,i.Z)(this,SortersStore),this.sitefinitySdk=e,this.cache=new Map}return(0,o.Z)(SortersStore,[{key:"getSorters",value:function getSorters(e){var t=e.metadata.setName;if(!this.cache.has(t)){var n=new re.t(1);return this.cache.set(t,n.asObservable()),this.sitefinitySdk.executeUnboundFunction("".concat(e.metadata.setName,"/Default.Sorters()")).subscribe((function(e){var t={isLoading:!1,sorters:e.value};n.next(t)})),n}return this.cache.get(t)}}]),SortersStore}();PA.ctorParameters=function(){return[{type:Ci.dg}]},PA=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg])],PA);var RA=n(98),QA="sortDropdown",UA="small",LA="languageDropdown",OA=function(e){(0,f.Z)(ListItemFilterSidebarComponent,e);var t=(0,p.Z)(ListItemFilterSidebarComponent);function ListItemFilterSidebarComponent(e,n,o,a,r,s){var l;return(0,i.Z)(this,ListItemFilterSidebarComponent),(l=t.call(this)).route=e,l.router=n,l.settings=o,l.sortersStore=a,l.gridExtender=r,l.store=s,l.allowOrderingByTitle=!0,l.showSorters=!0,l.dropdownFieldModels=new Map,l.isCustomFilterEnabled=!0,l}return(0,o.Z)(ListItemFilterSidebarComponent,[{key:"sortDropdownWrapper",set:function set(e){this.setSortDropdownWrapper(e)}},{key:"languagesDropdownWrapper",set:function set(e){this.setLanguagesDropdownWrapper(e)}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.entityData$.pipe((0,kn.P)()).subscribe((function(t){e.entityData=t,e.initializeLanguagesDropdown(),e.initializeSortDropdown(),e.entityData&&e.entityData.metadata&&e.entityData.metadata.hasCustomFilterEnabledProperty&&(e.isCustomFilterEnabled=e.entityData.metadata.isCustomFilterEnabled),e.isCustomFilterEnabled&&e.initSidebar(),setTimeout((function(){var t=e.route.snapshot.queryParams[g.V5.FILTER];t&&t.includes(",")&&e.openCustomFilter()}))}));var t=this.entityData$.pipe((0,EA.T)(1)).subscribe((function(t){var n=e.entityData.culture!==t.culture;(e.entityData.provider!==t.provider||n)&&(e.entityData=t,e.languagesDropdownWrapperRef&&n&&e.languagesDropdownWrapperRef.getValue()!==e.entityData.culture&&e.languagesDropdownWrapperRef.writeValue(e.entityData.culture))}));this.registerSubscription(t)}},{key:"onFilterSelectHandler",value:function onFilterSelectHandler(e){this.onFilterSelect&&this.onFilterSelect(e)}},{key:"initSidebar",value:function initSidebar(){var e={type:FA,title:"All filters",hasBackNavigation:!0,properties:{entityData$:this.entityData$,onFilterSelect:this.onFilterSelect},updatePropertiesOnChange:!0};this.customFilterSidebar={title:"All filters",data:e,name:"custom-filter",icon:"filter"}}},{key:"openCustomFilter",value:function openCustomFilter(){this.store.dispatch(RA.Oc.change(this.customFilterSidebar))}},{key:"setSortDropdownWrapper",value:function setSortDropdownWrapper(e){var t=this;e&&e.registerOnChange((function(e){if(t.dropdownFieldModels.get(QA).value!==e){t.dropdownFieldModels.get(QA).value=e;var n=Object.assign({},t.route.snapshot.queryParams);e?n[g.Tx.SORT]=e:(delete n[g.V5.SORT],delete n[g.V5.SEARCH],delete n[g.V5.FILTER]),t.router.navigate([],{queryParams:n})}}))}},{key:"setLanguagesDropdownWrapper",value:function setLanguagesDropdownWrapper(e){var t=this;e&&(e.registerOnChange((function(e){t.router.navigate([],{queryParams:(0,Ae.Z)({},g.Tx.CULTURE,e),queryParamsHandling:"merge"})})),this.languagesDropdownWrapperRef=e)}},{key:"getSelectedOptionFromQueryString",value:function getSelectedOptionFromQueryString(e,t){return this.route.queryParams.pipe((0,w.U)((function(e){return e[t]})))}},{key:"initializeLanguagesDropdown",value:function initializeLanguagesDropdown(){var e=this.route.parent.snapshot.data.siteDataStore,t=e.ContentCultures;if(!(t.length<2)&&this.entityData.metadata.isMultilingual){var n=t.map((function(e){return{Name:e.DisplayName,Value:e.Name}})),i=Ji.createFieldSettings(n,null,LA,UA),o=new jo.W({key:LA,settings:i,selector:Y.U.choiceDropDown,registration:kA}),a=this.settings.getSiteCulture(e.Id)||e.DefaultContentCulture;o.settings.title="Languages",o.value=a,this.dropdownFieldModels.set(LA,o)}}},{key:"initializeSortDropdown",value:function initializeSortDropdown(){var e=this;this.sortersStore.getSorters(this.entityData).subscribe((function(t){var n=t.sorters.map((function(e){return{Name:e.Name,Value:e.Value}})),i=n.length>0?n[0].Value:null,o=Ji.createFieldSettings(n,i,QA,UA,"Custom sorting"),a=new jo.W({key:QA,settings:o,selector:Y.U.choiceDropDown,registration:kA}),r=e.displayName?e.displayName:e.entityData.metadata.displayName;a.settings.title=e.gridExtender.getSortDropdownTitle(e.entityData,r),e.dropdownFieldModels.set(QA,a);var s=e.getSelectedOptionFromQueryString(o.choices,"sortKey").subscribe((function(t){var n=e.dropdownFieldModels.get(QA);if(n.value!==t){var o=new jo.W({key:n.key,settings:n.settings,selector:n.selector,registration:n.registration,value:t||i});e.dropdownFieldModels.set(QA,o)}}));e.registerSubscription(s)}))}}]),ListItemFilterSidebarComponent}(E.zu);OA.ctorParameters=function(){return[{type:m.gz},{type:m.F0},{type:Qt.Zr},{type:PA},{type:pd},{type:Hs.dk}]},OA.propDecorators={sortDropdownWrapper:[{type:l.i9L,args:["sortDropdown",{static:!1}]}],languagesDropdownWrapper:[{type:l.i9L,args:["languagesDropdown",{static:!1}]}],entityData$:[{type:l.IIB}],filterValue:[{type:l.IIB}],displayName:[{type:l.IIB}],allowOrderingByTitle:[{type:l.IIB}],disabledFilterLoaders:[{type:l.IIB}],showFilters:[{type:l.IIB}],showSorters:[{type:l.IIB}],onFilterSelect:[{type:l.IIB}],loadFiltersCount:[{type:l.IIB}]},OA=(0,a.gn)([(0,l.wA2)({template:MA,selector:"sf-list-item-filter-sidebar"}),(0,a.w6)("design:paramtypes",[m.gz,m.F0,Qt.Zr,PA,pd,Hs.dk])],OA);var zA=n(279),_A=function(e){(0,f.Z)(FilePreviewEditSettings,e);var t=(0,p.Z)(FilePreviewEditSettings);function FilePreviewEditSettings(){return(0,i.Z)(this,FilePreviewEditSettings),t.apply(this,arguments)}return(0,o.Z)(FilePreviewEditSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(FilePreviewEditSettings.prototype),"init",this).call(this,e),this.showForAllTranslationsLabel=!1}}]),FilePreviewEditSettings}(j.P1),VA=function(e){(0,f.Z)(CompareTranslationsComponent,e);var t=(0,p.Z)(CompareTranslationsComponent);function CompareTranslationsComponent(e,n,o,a){var r;return(0,i.Z)(this,CompareTranslationsComponent),(r=t.call(this)).route=e,r.fieldsGeneratorService=n,r.backendTweaksStore=o,r.dynamicItemService=a,r.model$=new re.t,r}return(0,o.Z)(CompareTranslationsComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.route.parent.snapshot.data.siteDataStore,n=t.ContentCultures,i=this.dataItem.culture;this.currentLanguage=this.determineInitialLanguage(t.DefaultContentCulture,i,this.dataItem),this.fieldModel=this.initLanguagesDropdown(n,this.currentLanguage,this.dataItem),this.loadItem(this.currentLanguage);var o=this.itemChanged$.pipe((0,EA.T)(1)).subscribe((function(){e.loadItem(e.currentLanguage)}));this.registerSubscription(o)}},{key:"onLanguageSelectionChange",value:function onLanguageSelectionChange(e){this.loadItem(e)}},{key:"loadItem",value:function loadItem(e){e&&(this.model$.next({isLoading:!0}),this.handleLoadingItem(e))}},{key:"determineInitialLanguage",value:function determineInitialLanguage(e,t,n){var i=n.data.AvailableLanguages,o=i.some((function(t){return t===e}));return t===e&&i.length>1?i.find((function(t){return t!==e})):o?e:i.length>1?i.find((function(e){return e!==t})):i[0]}},{key:"handleLoadingItem",value:function handleLoadingItem(e){var t=this,n=this.getItem$(e),i=(0,In.D)(this.backendTweaksStore.initializeForm(this.dataItem.metadata.setName,g.jc.EDIT,this.dataItem.key,this.dataItem.provider,this.dataItem.culture));(0,s.aj)(n,i).subscribe((function(e){var n=e[0],i=t.fieldsGeneratorService.generateFields(n.metadata,t.backendTweaksStore,n.data,!0).map((function(e){return t.configureSection(e,n)}));t.model$.next({isLoading:!1,fieldSections:i})}))}},{key:"configureSection",value:function configureSection(e,t){return e.fields.forEach((function(e){var n=e.settings instanceof zA.b,i=e.settings instanceof _A;if(e.settings.showForAllTranslationsLabel=!n&&!i,e.settings.culture=t.culture,e.settings.entityData=t,e.settings.dataItem=t,e.selector===Y.U.relatedData){var o=e.settings;o.provider===v.VT&&(o.provider=v.WP.EMPTY_STRING)}})),e.settings.isExpanded=!0,e.settings.hideTitle=!0,e}},{key:"getItem$",value:function getItem$(e){return this.dynamicItemService.getItem({entityData:{culture:e,metadata:this.dataItem.metadata,provider:this.dataItem.provider},itemKey:this.dataItem.key,fallbackProperties:this.route.snapshot.data.itemData.fallbackProperties})}},{key:"initLanguagesDropdown",value:function initLanguagesDropdown(e,t,n){var i=n.data.AvailableLanguages.map((function(t){var n=e.find((function(e){return e.Name===t}));return{Name:n.DisplayName,Value:n.Name}})),o=Ji.createFieldSettings(i,null,LA,UA),a=new jo.W({key:LA,settings:o,selector:Y.U.choiceDropDown,registration:kA}),r=e.find((function(e){return e.Name===t})).Name;return a.settings.title="Translate from",a.settings.defaultValue=r,a.settings.translatable=!1,a}}]),CompareTranslationsComponent}(E.zu);VA.ctorParameters=function(){return[{type:m.gz},{type:qo},{type:yl},{type:Ci.dg}]},VA.propDecorators={itemChanged$:[{type:l.IIB}],dataItem:[{type:l.IIB}]},VA=(0,a.gn)([(0,l.wA2)({template:yA}),(0,a.w6)("design:paramtypes",[m.gz,qo,yl,Ci.dg])],VA);var GA,HA=n(217);!function(e){e[e.None=0]="None",e[e.Success=1]="Success",e[e.Error=2]="Error",e[e.Warning=3]="Warning"}(GA||(GA={}));var ZA=function(){function SiteSyncCommand(e,t){(0,i.Z)(this,SiteSyncCommand),this.dynamicItemStore=e,this.modalWindowService=t,this.hasTemplateError=!1,this.isPublished=!1,this.executeOnceInBulk=!0}return(0,o.Z)(SiteSyncCommand,[{key:"execute",value:function execute(e){var t=e.data;this.currentRoute=e.currentRoute;var n=new Ft.xQ,i=e.data.action;this.publishParams=t.publishParams;var o=!(!this.publishParams||!this.publishParams.fields)&&this.publishParams.fields[e.data.entityData.metadata.defaultFieldName];o&&(i.contextParameters[$.ze.currentTitle]=o);var a=this.generateConfirmationSettings(i,t,n);return this.modalWindowService.openModalConfirmation(this.currentRoute,a,t.dataItem),n.asObservable()}},{key:"getNotification",value:function getNotification(e){var t={look:ya.SUCCESS,type:Qa,properties:{message:v.WP.EMPTY_STRING,route:null!=e?e:this.currentRoute},closeButton:!0,duration:1e4,updatePropertiesOnChange:!0,id:"syncNotification"};return this.hasTemplateError?(t.look=ya.ERROR,t):this.syncOperationResult?(this.syncOperationResult.isSuccessfull&&(t.closeButton=!1),t.look=this.getNotificationLook(GA[this.syncOperationResult.notificationType]),t.properties.message=this.syncOperationResult.message,t):null}},{key:"getNotificationLook",value:function getNotificationLook(e){switch(e){case GA.Success:return ya.SUCCESS;case GA.Error:return ya.ERROR;case GA.Warning:case GA.None:default:return ya.WARNING}}},{key:"generateConfirmationSettings",value:function generateConfirmationSettings(e,t,n){var i,o,a=this,r=e.title,s=null===(o=null===(i=e.sourceOperation)||void 0===i?void 0:i.Actions)||void 0===o?void 0:o.find((function(e){return e.Name===$.q.siteSync}));s&&(r=s.Title);var l=t.bulk?new ki.pu(e.title,(function(e){return a.startBulkSync(t,e)})):new ki.pu(r,(function(e){return a.startSiteSync(e)}));return{title:e.title,detailedTitle:e.detailedTitle,icon:da.A[e.name],parameters:e.parameters,contextParameters:e.contextParameters,description:e.description,formValidators:os[e.name],action:e.name,descriptionAllowHtml:!0,buttons:new Array(l,new ki.Lw),disableUserInteractionOnLoading:!0,innerFormLook:"sf-pb-zero sf-pt-zero",doneCallback:function doneCallback(e){if(e.data&&e.data.data){if(a.commandResult&&a.commandResult.error){var t=a.commandResult.error;if(a.hasTemplateError=a.isTemplateSyncError(t),a.hasTemplateError){a.commandResult.hasTemplateErrors=a.hasTemplateError;var i=a.generateTemplateErrorSettings(t.result.Title,t.result.Message);a.modalWindowService.openModalConfirmation(a.currentRoute,i,e.component.dataItem)}}n.next(a.commandResult)}else n.next({isPublished:!1,dataItem:null,operationMessage:null,success:!1})}}}},{key:"startSiteSync",value:function startSiteSync(e){var t,n,i=this,o=new re.t(1);if(e&&e.component&&e.component.dataItem){o.next(new ki.DQ(!0,!1));var a=null===(t=e.component.editableFields)||void 0===t?void 0:t.wrapperComponents[0].currentInstance,r=!1;if(e.component.contextParameters){var s=e.component.contextParameters.find((function(e){return"ShouldPublish"===e.Name}));s&&(r="True"===s.Value)}var l=null===(n=e.component.editableFields)||void 0===n?void 0:n.getFields(!1);l&&(l.SiteSync=null!=a?a.targetSiteId:null,l.ShouldPublish=r);var c,d=new ta($.q.siteSync,{action:$.q.siteSync,actionParameters:l}),u=e.component.dataItem;if(this.isPublished=!1,r){var f=new ta($.q.publish,{action:$.q.publish});c=this.dynamicItemStore.saveItemWithOperationResult(e.component.dataItem,this.publishParams.fields,f,this.publishParams.fallbackPropertyNames,this.publishParams.dataFieldNames,this.publishParams.itemPosition,this.publishParams.skipUpdate||!1).pipe((0,Xn.w)((function(e){return u=e.dataItem,i.isPublished=!0,i.dynamicItemStore.saveItemWithOperationResult(e.dataItem,null,d)})))}else c=this.dynamicItemStore.saveItemWithOperationResult(e.component.dataItem,null,d);var p={};return c.subscribe((function(e){p=e.operationData,i.syncOperationResult={isSuccessfull:p.Success,message:p.Message,notificationType:GA[p.Type]},i.commandResult={isPublished:!0,dataItem:u,operationMessage:null,operationData:p},o.next(new ki.DQ(!0,!0,!1,!1))}),(function(e){i.syncOperationResult={isSuccessfull:!1,generalErrors:e.message,message:"Content failed to be sent for syncing. ".concat(e.message),notificationType:GA[GA.Error]},i.commandResult={isPublished:i.isPublished,error:e,dataItem:u,operationMessage:null,operationData:e.result||{}},o.next(new ki.DQ(!0,!0,!1,!1))})),o}}},{key:"startBulkSync",value:function startBulkSync(e,t){var n,i=this,o=new re.t(1);if(t&&t.component){o.next(new ki.DQ(!0,!1));var a="".concat($.si.default).concat(v.WP.DOT,"BulkSync"),r=null===(n=t.component.editableFields)||void 0===n?void 0:n.wrapperComponents[0].currentInstance,s=!1;y.xe.isMediaEntity(e.entityData)&&e.selectedItems.forEach((function(e){y.xe.isFolderItem(e.data)&&(s=!0)}));var l={data:{SelectedItemsIds:e.selectedItems.map((function(e){return e.data.Id})),TargetServerId:null!=r?r.targetSiteId:null,ContainsFoldersItems:s,AllItemsSelected:e.allItemsSelected,Culture:e.entityData.culture}},c=this.dynamicItemStore.executeEntityOperation(e.entityData,a,l),d={};c.subscribe((function(e){if(d=e,i.syncOperationResult={isSuccessfull:e.Success,message:e.Message,notificationType:e.Type},e.Success)i.commandResult={isPublished:!1,dataItem:null,operationMessage:null,operationData:d,success:!0},o.next(new ki.DQ(!0,!0,!1,!1));else{var t={result:e};i.commandResult={isPublished:!1,error:t,dataItem:null,operationMessage:null,operationData:d,success:!1},o.next(new ki.DQ(!0,!0,!1,!1))}}),(function(e){i.syncOperationResult={isSuccessfull:!1,message:"Items failed to to be sent for syncing. ".concat(e.message),notificationType:GA[GA.Error]},i.commandResult={isPublished:!1,error:e,dataItem:null,operationMessage:null,operationData:d,success:!0},o.next(new ki.DQ(!0,!0,!1,!1))}))}return o}},{key:"generateTemplateErrorSettings",value:function generateTemplateErrorSettings(e,t){return{title:e,action:$.q.siteSync,icon:da.A[$.q.siteSync],descriptionAllowHtml:!0,description:t,buttons:new Array(new ki.Lw("Close"))}}},{key:"isTemplateSyncError",value:function isTemplateSyncError(e){return e&&e.result&&e.result.AvailableActions&&e.result.AvailableActions.indexOf("syncTemplateError")>=0}}]),SiteSyncCommand}();ZA.ctorParameters=function(){return[{type:ga},{type:ki.bL}]},ZA=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ga,ki.bL])],ZA);var YA=n(376),jA=n(377),WA=function(){function SiteTitleResolver(e,t){(0,i.Z)(this,SiteTitleResolver),this.siteDataStore=e,this.title=t,this.map={},this.titlePatternPage="{1} - {0}",this.titlePatternEmpty="{0}",this.map[co]="Home",this.map[uo]="Home",this.map[fo]="Content",this.map[po]="Pages"}return(0,o.Z)(SiteTitleResolver,[{key:"resolve",value:function resolve(e,t){var n=this;return this.siteDataStore.getValue().subscribe((function(t){n.updateBrowserTitle(e,t.Name)}))}},{key:"getTitlePattern",value:function getTitlePattern(e){var t="";e&&e.url.length>0&&(t=e.url[0].path);var n=this.map[t];return n?this.titlePatternPage.replace("{1}",n):this.titlePatternEmpty}},{key:"updateBrowserTitle",value:function updateBrowserTitle(e,t){var n=this.getTitlePattern(e).replace("{0}",t);this.title.setTitle(n)}}]),SiteTitleResolver}();WA.ctorParameters=function(){return[{type:Qi},{type:vd.Dx}]},WA=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qi,vd.Dx])],WA);var JA="searchindexes",qA=function(e){(0,f.Z)(SiteTitleDynamicResolver,e);var t=(0,p.Z)(SiteTitleDynamicResolver);function SiteTitleDynamicResolver(e,n,o){var a;return(0,i.Z)(this,SiteTitleDynamicResolver),(a=t.call(this,e,n)).siteDataStore=e,a.title=n,a.metadataStore=o,a.specificTitlesMap={},a.specificTitlesMap[JA]="Search indexes",a}return(0,o.Z)(SiteTitleDynamicResolver,[{key:"getTitlePattern",value:function getTitlePattern(e){var t=e.parent,n=t.params[g.UY.TYPE_NAME_SEGMENT]||t.data[g.UY.TYPE_NAME_SEGMENT],i=this.specificTitlesMap[n];if(null!=i)return this.titlePatternPage.replace("{1}",i);var o=this.metadataStore.getValue().entities[n];if(null!=o){if(o.isSelfReferencing){var a=e.data[g.u0.itemData];if(a)return a.item.data[o.defaultFieldName]}return this.titlePatternPage.replace("{1}",o.displayName)}return this.titlePatternEmpty}}]),SiteTitleDynamicResolver}(WA);qA.ctorParameters=function(){return[{type:Qi},{type:vd.Dx},{type:pe.EY}]},qA=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qi,vd.Dx,pe.EY])],qA);var XA,KA,$A=function(){function NavigationMenuComponent(e,t,n,o,a){(0,i.Z)(this,NavigationMenuComponent),this.scrollService=e,this.route=t,this.router=n,this.siteTitleDynamicResolver=o,this.siteDataStore=a,this.operationStatus=new he.X(!1),this.disableLeftNavbarButton=!1,this.navbarModes=XA,this.leftNavButtonClick=new l.vpe(!0),this.scroll=new l.vpe(!0),this.subscriptions=[]}return(0,o.Z)(NavigationMenuComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;void 0===this.configuration.isScrollEnabled&&(this.configuration.isScrollEnabled=!0),this.configuration.leftNavbarButtonData&&this.configuration.leftNavbarButtonData.mode===KA.Close&&this.route.outlet===Io&&(this.configuration.leftNavbarButtonData.show=!0),this.configuration.look&&(this.navbarCssClassList=this.generateCssClassList(this.configuration.look)),this.additionalActionsMenuClassList=this.generateAdditionalActionsMenuClassList();var t=this.siteDataStore.getValue().subscribe((function(t){e.siteTitleDynamicResolver.updateBrowserTitle(e.route.snapshot,t.Name)}));this.subscriptions.push(t)}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this,t=this.stickyDirective.changes.subscribe((function(t){e.scroll.emit(t.first.isSticky)}));this.subscriptions.push(t)}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.subscriptions.forEach((function(e){return e.unsubscribe()}))}},{key:"onLeftNavButtonClick",value:function onLeftNavButtonClick(e){switch(this.configuration.leftNavbarButtonData.mode){case KA.Back:this.onBackClick(e);break;case KA.Close:this.onCloseClick()}}},{key:"generateAdditionalActionsMenuClassList",value:function generateAdditionalActionsMenuClassList(){var e=["-col-2","-align-self-center","-sf-txt-align-center"];return this.configuration.additionalActionsComponentData||e.unshift("sf-row__col"),e.join(" ")}},{key:"onBackClick",value:function onBackClick(e){this.scrollService.scrollToTop(!1),this.leftNavButtonClick.emit(e)}},{key:"onCloseClick",value:function onCloseClick(){return(0,a.mG)(this,void 0,void 0,gi().mark((function _callee(){return gi().wrap((function _callee$(e){for(;;)switch(e.prev=e.next){case 0:this.router.navigate([{outlets:{menu:null}}],{relativeTo:this.route.parent,queryParamsHandling:"merge"});case 1:case"end":return e.stop()}}),_callee,this)})))}},{key:"generateCssClassList",value:function generateCssClassList(e){var t="";return e&&(t+=" -"+e.split(" ").join(" -")),t}}]),NavigationMenuComponent}();$A.ctorParameters=function(){return[{type:Nt.a},{type:m.gz},{type:m.F0},{type:qA},{type:Qi}]},$A.propDecorators={configuration:[{type:l.IIB}],operationStatus:[{type:l.IIB}],disableLeftNavbarButton:[{type:l.IIB}],leftNavButtonClick:[{type:l.r_U}],scroll:[{type:l.r_U}],stickyDirective:[{type:l.vR,args:[Ei]}]},$A=(0,a.gn)([(0,l.wA2)({selector:"sf-navigation-menu",template:jA,animations:[(0,Oe.X$)("stickyAnimation",[(0,Oe.SB)("active",(0,Oe.oB)({opacity:"1"})),(0,Oe.eR)(pt,[(0,Oe.oB)({opacity:"0"}),(0,Oe.jt)("500ms ease-out")])])]}),(0,a.w6)("design:paramtypes",[Nt.a,m.gz,m.F0,qA,Qi])],$A),function(e){e[e.None=0]="None",e[e.OneColumn=1]="OneColumn",e[e.TwoColumns=2]="TwoColumns",e[e.ThreeColumns=3]="ThreeColumns"}(XA||(XA={})),function(e){e[e.Back=0]="Back",e[e.Close=1]="Close"}(KA||(KA={}));var em=function(){function BackNavigationService(e,t){(0,i.Z)(this,BackNavigationService),this.settings=e,this.router=t}return(0,o.Z)(BackNavigationService,[{key:"navigateBack",value:function navigateBack(e){var t=this.getIndexUrl(e);this.router.navigate([t],{relativeTo:e.route.parent.parent,queryParams:this.getQueryParams(e)})}},{key:"getIndexUrl",value:function getIndexUrl(e){var t=e.entityData.metadata;return t.hasParent&&e.parentId?t.isMedia?"".concat(t.setName,"/").concat(e.parentId,"/").concat(t.setName):"".concat(t.parent,"/").concat(e.parentId,"/").concat(t.setName):t.setName}},{key:"getQueryParams",value:function getQueryParams(e){var t={};t[g.Tx.PROVIDER]=e.entityData.provider;var n=e.route.parent.snapshot.queryParams[g.V5.FILTER];n&&!e.filterCleared&&(t[g.V5.FILTER]=n);var i=e.route.parent.snapshot.queryParams[g.Tx.SORT];i&&(t[g.Tx.SORT]=i);var o=e.route.parent.snapshot.data[g.u0.siteDataStore];return t[g.Tx.CULTURE]=e.entityData.metadata.isMultilingual?this.settings.getSiteCulture(o.Id):o.DefaultContentCulture,t}}]),BackNavigationService}();em.ctorParameters=function(){return[{type:Qt.Zr},{type:m.F0}]},em=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qt.Zr,m.F0])],em);var tm=n(99),nm={isOpen:(0,Ys.Ys)((0,Ys.P1)((function(e){return e.sidebar}),(function(e){return e.isOpen}))),isLoading:(0,Ys.Ys)((0,Ys.P1)((function(e){return e.sidebar}),(function(e){return e.isLoading}))),activeConfig:(0,js.z)((0,Ys.Ys)((0,Ys.P1)((function(e){return e.sidebar}),(function(e){return e.activeConfig}))),(0,w.U)((function(e){var t=e;return t&&(t=(0,d.kI)(e))&&(t.data=tm.v.get(e.name)),t}))),sidebarData:(0,js.z)((0,Ys.Ys)((0,Ys.P1)((function(e){return e.sidebar}),(function(e){return e.sidebarData}))),(0,w.U)((function(e){var t=(0,d.kI)(e);return t.buttons.map((function(e){return e.data=tm.v.get(e.name),e})),t}))),shouldAnimate:(0,js.z)((0,Ys.Ys)((0,Ys.P1)((function(e){return e.sidebar}),(function(e){return e.shouldAnimate}))))},im=function(e){(0,f.Z)(EditItemMenuComponent,e);var t=(0,p.Z)(EditItemMenuComponent);function EditItemMenuComponent(e,n,o){var a;return(0,i.Z)(this,EditItemMenuComponent),(a=t.call(this)).route=e,a.backNavigationService=n,a.store=o,a.isNavigationEmbedded=ns.N.env===_t.H.integration,a.onBackButtonClick=new l.vpe,a.onActionButtonClick=new l.vpe,a}return(0,o.Z)(EditItemMenuComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=!this.entityData||!this.entityData.metadata||this.entityData.metadata.isMultilingual;this.hasContentCultures=this.route.parent.snapshot.data.siteDataStore.ContentCultures.length>1&&t,this.configureNavbar(this.navbarConfiguration),this.registerSubscription(this.store.pipe(nm.sidebarData).subscribe((function(t){return e.showSidebarButtons=!!t})))}},{key:"onLeftNavButtonClick",value:function onLeftNavButtonClick(){this.navbarConfiguration.leftNavbarButtonData.autoNavigateBack?this.backNavigationService.navigateBack({entityData:this.entityData,filterCleared:this.filterCleared,parentId:this.parentId,route:this.route}):this.onBackButtonClick.emit(),this.store.dispatch(RA.Oc.change(null))}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){this.onActionButtonClick.emit(e)}},{key:"configureNavbar",value:function configureNavbar(e){var t=this,n={mode:XA.ThreeColumns,leftNavbarButtonData:{show:!0,look:"toggle",icon:"angle-left",iconLook:"size-2xl",mode:KA.Back,title:_e.ALL_ITEMS,autoNavigateBack:!0},isScrollEnabled:!1,look:this.isNavigationEmbedded?"integration-detail":v.WP.EMPTY_STRING,templates:[this.itemStatusTemplate,this.additionalActionsTemplate,this.generalActionsTemplate]};this.copy(n,e),n.leftNavbarButtonData.disable&&n.leftNavbarButtonData.disable.subscribe((function(e){t.disableLeftNavbarButton=e})),this.navbarConfiguration=n}},{key:"copy",value:function copy(e,t){var n=this;t&&Object.keys(t).forEach((function(i){var o=e[i],a=t[i];"object"==typeof o?n.copy(o,a):e[i]=a}))}}]),EditItemMenuComponent}(E.zu);im.ctorParameters=function(){return[{type:m.gz},{type:em},{type:Hs.dk}]},im.propDecorators={navbarConfiguration:[{type:l.IIB}],item$:[{type:l.IIB}],customOperations:[{type:l.IIB}],generalActionOperations:[{type:l.IIB}],additionalActionOperations:[{type:l.IIB}],personalizationOperations:[{type:l.IIB}],buttonsState:[{type:l.IIB}],entityData:[{type:l.IIB}],parentId:[{type:l.IIB}],filterCleared:[{type:l.IIB}],enableClickNotification:[{type:l.IIB}],onBackButtonClick:[{type:l.r_U}],onActionButtonClick:[{type:l.r_U}],itemStatusTemplate:[{type:l.i9L,args:["itemStatus",{static:!0}]}],additionalActionsTemplate:[{type:l.i9L,args:["additionalActions",{static:!0}]}],generalActionsTemplate:[{type:l.i9L,args:["generalActions",{static:!0}]}]},im=(0,a.gn)([(0,l.wA2)({selector:"sf-edit-item-menu",template:YA}),(0,a.w6)("design:paramtypes",[m.gz,em,Hs.dk])],im);var om=n(378),am=function(e){(0,f.Z)(ModalListComponent,e);var t=(0,p.Z)(ModalListComponent);function ModalListComponent(e,n,o,a,r,s,c,d){var u;return(0,i.Z)(this,ModalListComponent),(u=t.call(this)).window=e,u.itemService=n,u.settings=o,u.editNavigationService=a,u.route=r,u.metaDataStore=s,u.mediaRecognizerService=c,u.notificationService=d,u.openItemEdit=!0,u.showDataItemTitle=!0,u.isLoading=!0,u.ignoreDelay=!1,u.showCounter=!0,u.items=[],u.isSearchVisible=!1,u.itemTemplate=null,u.customNoItemsTemplate=null,u.treeNodeClickedEvent=u.onItemClicked,u.treeConfig={noSelection:!0},u.counterLook="positive",u.itemsLoaded=new l.vpe,u.notificationFilter="modal-list",u.itemsState=ca.empty(!0),u.isLoadingMore=!1,u.itemsModified=!1,u.showMedia=!0,u.loadItems$=new re.t(1),u}return(0,o.Z)(ModalListComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.dataItem?(this.title=this.actionTitle.replace("this item",this.dataItem.metadata.singularName.toLowerCase()),this.title=this.title.replace("this ",v.WP.EMPTY_STRING),this.noItemsLabel="".concat(this.actionTitle.replace("item",this.dataItem.metadata.singularName.toLowerCase())," will appear here"),this.previewUrl=this.mediaRecognizerService.getPreviewUrlProperty(this.dataItem.metadata.setName)):(this.title=this.actionTitle,this.noItemsLabel="".concat(this.actionTitle," will appear here")),this.action===$.q.linkItems&&(this.treeConfig={status:!0,description:!0,showBreadcrumb:!0,noSelection:!0,clickable:!0},this.template=null),this.itemTemplate&&(this.template=this.itemTemplate);var t=this.loadItems$.pipe((0,Xn.w)((function(e){return e}))).subscribe((function(t){var n=[];e.itemsLoaded.emit(t);var i=t.value;if(e.modalListMapper){var o=e.modalListMapper.map(t);e.description=o.additionalTitle,e.counterLook=o.counterLook,i=o.items;var a=o.notificationData;a&&(a.filterParam=e.notificationFilter,e.notificationService.publishNotification(a))}i.forEach((function(e){e&&(e.description=e.FriendlyContentType,e.data={},e.data.Status=e.Status,e.data.Result=e.ErrorMessage,n.push(e))})),e.tabsConfig?(e.tabsConfig.forEach((function(e){if(e.items||(e.items=[]),e.items=e.items.concat(n.filter(e.itemsFilter)),e.itemsModifier&&e.items.forEach(e.itemsModifier),e.selectedFilter){var t=e.items.filter(e.selectedFilter).map((function(e){return e.Id}));e.treeConfig.selectedNodeIds=t}})),e.treeConfig=e.tabsConfig[0].treeConfig,e.items=e.tabsConfig[0].items):e.items=e.items.concat(n),e.isLoading=!1,e.isLoadingMore=!1,e.columns&&(e.itemsState=e.getItemsState(),e.isLoadingMore=e.itemsState.isLoadingItems)}));this.registerSubscription(t),this.columns&&(this.itemsState=this.getItemsState(50)),this.loadItems(this.items.length),this.contentLook=this.generateContentLook();var n=this.count.subscribe((function(t){e.totalCount=t,e.toggleShowDataItemTitle(t),0===t&&(e.showMedia=!1)}));this.registerSubscription(n)}},{key:"reloadItems",value:function reloadItems(){this.isLoading=!0;var e=this.items.length;this.items=[],this.loadItems(0,e)}},{key:"onItemClicked",value:function onItemClicked(e){var t=e.data?e.data.dataItem||e.data:e;if(t.Url){var n=this.window.open(v.WP.EMPTY_STRING,t.Url);this.isFullUrl(t.Url)?n.location.href=t.Url:n.location.href="".concat(this.settings.url.substring(0,this.settings.url.length-1)).concat(t.Url)}else{var i=this.metaDataStore.getEntity(t.ContentType);if(i&&i.enabled){var o=ee.zw.from(t,i,t.Provider,this.dataItem.culture);this.editNavigationService.navigateToEditOfRelatedData(o,this.route)}}}},{key:"onTreeInitialized",value:function onTreeInitialized(){var e=this;this.treeConfig.multiSelection&&this.items.forEach((function(t){t.isSelected&&e.tree.selectAndActivateNodeById(t.Name)}))}},{key:"viewNodeClicked",value:function viewNodeClicked(e){this.onViewNodeFunc&&this.onViewNodeFunc(e)}},{key:"onTabChange",value:function onTabChange(e){this.items=e.items,this.treeConfig=e.treeConfig,this.noItemsLabel=e.noItemsLabel}},{key:"onSourceChange",value:function onSourceChange(e){var t=this.sourceSelector.settings.choices.findIndex((function(t){return t.Value===e})),n=this.tabsConfig[t];this.items=n.items}},{key:"requestMoreItems",value:function requestMoreItems(){this.items.length>0&&this.totalCount>this.items.length&&(this.isLoadingMore=!0,this.dataItem&&(this.itemsState=this.getItemsState(this.totalCount-this.items.length)),this.loadItems(this.items.length))}},{key:"onCommand",value:function onCommand(e){if(e&&e.name===Ra){var t=e.data;if(this.itemsState.dataItems.findIndex((function(e){return e.key===t.key}))>=0){var n={dataItems:this.itemsState.dataItems.filter((function(e){return e.key!==t.key})),totalCount:this.itemsState.totalCount-1};this.itemsState=ca.wrap(n),this.count.next(this.count.getValue()-1),this.itemsModified=!0}}}},{key:"onSearch",value:function onSearch(e){var t,n,i=this;if(e){var o=(null===(t=this.treeConfig.treeProperties)||void 0===t?void 0:t.idField)||"Id",a=(null===(n=this.treeConfig.treeProperties)||void 0===n?void 0:n.displayField)||"Title";this.items.forEach((function(t){var n=t[a.toString()].trim().toLowerCase(),r=n.startsWith(e.toLowerCase())||n.indexOf(" ".concat(e))>-1;i.tree.setHiddenNodeById(t[o.toString()],!r)})),this.tree.updateTreeModel()}else this.tree.showHiddenNodes()}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.notificationService.closeMultiple([this.notificationFilter])}},{key:"loadItems",value:function loadItems(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;if(this.action){var n,i="".concat(this.action,"?$skip=").concat(e,"&$top=").concat(t);n=this.dataItem?this.itemService.executeBoundFunction(this.dataItem,i):this.itemService.executeUnboundFunction(i),this.loadItems$.next(n)}}},{key:"generateContentLook",value:function generateContentLook(){var e="sf-form -sf-centered-box -sf-pt-zero";return this.contentLook&&(e+=" -"+this.contentLook.split(" ").join(" -")),e}},{key:"getItemsState",value:function getItemsState(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n={dataItems:[],totalCount:0,loadingItemsCount:t};return this.items.forEach((function(t){var i=ee.zw.from(t,e.metadata,t.Provider,e.dataItem.culture);n.dataItems.push(i)})),n.totalCount=this.items.length,ca.wrap(n)}},{key:"isFullUrl",value:function isFullUrl(e){return new RegExp("^https?:\\/\\/").test(e)}},{key:"toggleShowDataItemTitle",value:function toggleShowDataItemTitle(e){null!=this.dataItem&&y.xe.isMediaEntity(this.dataItem)&&(0===e||y.xe.isImageEntity(this.dataItem)||y.xe.isVideoEntity(this.dataItem))&&(this.showDataItemTitle=!1)}}]),ModalListComponent}(E.zu);am.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ci.dg},{type:Qt.Zr},{type:Ic},{type:m.gz},{type:pe.EY},{type:hi},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},am.propDecorators={template:[{type:l.i9L,args:["itemTemplate",{static:!0}]}],tree:[{type:l.i9L,args:["tree",{static:!1}]}],action:[{type:l.IIB}],actionTitle:[{type:l.IIB}],count:[{type:l.IIB}],dataItem:[{type:l.IIB}],openItemEdit:[{type:l.IIB}],showDataItemTitle:[{type:l.IIB}],columns:[{type:l.IIB}],metadata:[{type:l.IIB}],contentLook:[{type:l.IIB}],isLoading:[{type:l.IIB}],ignoreDelay:[{type:l.IIB}],showCounter:[{type:l.IIB}],items:[{type:l.IIB}],listLook:[{type:l.IIB}],onViewNodeFunc:[{type:l.IIB}],tabsConfig:[{type:l.IIB}],sourceSelector:[{type:l.IIB}],isSearchVisible:[{type:l.IIB}],searchValue:[{type:l.IIB}],itemTemplate:[{type:l.IIB}],customNoItemsTemplate:[{type:l.IIB}],treeNodeClickedEvent:[{type:l.IIB}],treeConfig:[{type:l.IIB}],counterLook:[{type:l.IIB}],modalListMapper:[{type:l.IIB}],itemsLoaded:[{type:l.r_U}]},am=(0,a.gn)([(0,l.wA2)({selector:"sf-modal-list",template:om}),(0,a.w6)("design:paramtypes",[Window,Ci.dg,Qt.Zr,Ic,m.gz,pe.EY,hi,La])],am);var rm=n(283),sm=function(){function ActionExecutorService(e,t,n,o,a){(0,i.Z)(this,ActionExecutorService),this.childrenCountStore=e,this.urlService=t,this.window=n,this.dynamicItemStore=o,this.modalWindowService=a}return(0,o.Z)(ActionExecutorService,[{key:"execute",value:function execute(e){if(e.actionButton.link){var t="true"===this.getOperationParameterValue(e,$.g_.openLinkInNewTab),n="true"===this.getOperationParameterValue(e,$.g_.skipReload);return this.openUrl(e.actionButton.link,t),(0,r.of)({dataItem:e.updateItem.dataItem,operationData:{skipReload:n},operationMessage:null})}return e.actionButton.context&&e.actionButton.context.count?(this.actionWithCountHandler(e),(0,r.of)({dataItem:e.updateItem.dataItem,operationData:null,operationMessage:null})):e.actionButton.sourceOperation.ExecuteOnServer?e.actionButton.sourceOperation.RequiresConfirmation?this.actionConfirmForDataItemHandler(e):this.updateItemWithOperationResult(e):(0,r.of)({dataItem:e.updateItem.dataItem,operationData:null,operationMessage:null})}},{key:"shouldStayAfterPublish",value:function shouldStayAfterPublish(e){if(e.sourceOperation&&e.sourceOperation.ContextParameters&&e.sourceOperation.ContextParameters.length){var t=e.sourceOperation.ContextParameters.find((function(e){return e.Name===$.ze.stayAfterPublish}));if(t)return"true"===t.Value.toString().toLowerCase()}return!0}},{key:"actionConfirmHandler",value:function actionConfirmHandler(e){var t=new Ft.xQ,n=this.getSettings(e,t);return this.modalWindowService.openModalConfirmation(e.route.parent,n,null,void 0,e.window),t.asObservable()}},{key:"getOperationParameterValue",value:function getOperationParameterValue(e,t){if(e.actionButton.sourceOperation&&e.actionButton.sourceOperation.ContextParameters){var n=e.actionButton.sourceOperation.ContextParameters.find((function(e){return e.Name===t}));return n?n.Value:null}}},{key:"actionConfirmForDataItemHandler",value:function actionConfirmForDataItemHandler(e){var t=this;if(e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState(null,oe.BN.Default),e.updateItem.data){var n=e.actionButton.contextParameters;(n=n||{})[$.ze.currentTitle]=e.updateItem.data[e.updateItem.dataItem.metadata.defaultFieldName]}var i=new Ft.xQ,o=this.getSettings(e,i);this.modalWindowService.openModalConfirmation(e.route.parent,o,e.updateItem.dataItem);var a=new Ft.xQ;return i.subscribe((function(e){var n=e.confirmContext;n.actionParameters?t.updateItemWithOperationResult(n).subscribe((function(e){a.next(e)}),(function(e){a.error(e)})):a.next(null)})),a.asObservable()}},{key:"updateItemWithOperationResult",value:function updateItemWithOperationResult(e){var t=this,n=e.updateItem,i=e.actionButton,o={dataItem:n.dataItem,operation:{action:i.name,actionParameters:e.actionParameters||{}}};i.sourceOperation.RequiresItemUpdate&&(o.fallbackProperties=n.fallbackProperties,o.skipUpdate=e.updateItem.skipUpdate||!1),i.sourceOperation.PerformsDelete&&(o.skipUpdate=!0),e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState({name:i.name,state:oe.BN.Loading},oe.BN.Disabled),void 0===n.doNotRefreshItem&&(n.doNotRefreshItem=e.actionButton.sourceOperation.PerformsDelete);var a=this.dynamicItemStore.saveItemWithOperationResult(n.dataItem,n.data,new ta(i.name,o.operation),n.fallbackProperties,n.dataFieldNames,void 0,o.skipUpdate,n.doNotRefreshItem,n.additionalQueryParams);return a.subscribe((function(n){if(i.sourceOperation.PerformsDelete&&t.childrenCountStore.invalidateCachedChidrenCountByChildItem(n.dataItem),i.sourceOperation.HasLinkResult){e.window||(e.window=t.window.open(v.WP.EMPTY_STRING,v.Mw));var o=n.operationData,a=e.window.location;o.Success&&o.Link&&(a.href=o.Link)}e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState({name:i.name,state:oe.BN.Checked},oe.BN.Disabled)}),(function(n){if(e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState(null,oe.BN.Default),n instanceof HA.I&&i.sourceOperation.HasLinkResult&&!n.result.success){var o=Do.getPreviewUrl(t.urlService,e.updateItem.dataItem);e.window.location.href=o}})),a}},{key:"getDialogEnteredParameters",value:function getDialogEnteredParameters(e){if(e.data&&e.data.data&&e.component)return e.data.data}},{key:"getSettings",value:function getSettings(e,t){var n=e.actionButton,i={title:n.title,descriptionAllowHtml:!0,detailedTitle:n.detailedTitle,icon:da.A[n.name]||"info",parameters:n.parameters,contextParameters:n.contextParameters,description:n.sourceOperation.Description,warning:n.sourceOperation.Warning,formValidators:os[n.name],action:n.name,buttons:this.getButtons(n),doneCallback:this.getDoneCallback(e,t)};return e.actionButton.name!==$.q.stopSyncing&&e.actionButton.name!==$.q.delete||(i.hideItemTitle=!0),e.actionButton.name===$.q.shareTaxonomyWithSite&&(i.hideItemTitle=!0,i.innerFormLook="medium sf-pt-zero sf-pb-zero sf-txt-align-left sf-centered-box"),e.actionButton.name===$.q.createPersonalizedVersion&&(i.hideItemTitle=!0,i.title="Add personalized page"),e.actionButton.name.startsWith($.q.deletePersonalizedVersion)&&(i.hideItemTitle=!0,i.icon="trash",i.mainFormSize=rm.D.Small),e.actionButton.name===$.q.unpublish&&this.isHomePage(e.actionButton)&&(i.hideItemTitle=!0),i}},{key:"getButtons",value:function getButtons(e){if(e.sourceOperation.Actions&&e.sourceOperation.Actions.length>0){var t=e.sourceOperation.Actions.map((function(t){var n="large";t.Type===$.r4.Success?n="action large":t.Type===$.r4.Error&&(n="delete large");return new ki.pu(t.Title,(function clickResultHandler(n){var i=!0,o=n.component,a=null;o instanceof es.X&&o.parameters&&o.editableFields&&((i=o.editableFields.valid())&&(a=e.sourceOperation.Name===$.q.schedule?null!==o.editableFields.getFields()?o.editableFields.getFields(!1):null:e.sourceOperation.Name===$.q.createPersonalizedVersion?o.editableFields.getFields(!1):o.editableFields.getFields()));return e.sourceOperation.Name!==$.q.schedule&&(a||(a={}),a.actionName=t.Name),new ki.DQ(a,i)}),n)}));return t.push(new ki.Lw),t}return[new ki.Lw("Close")]}},{key:"getDoneCallback",value:function getDoneCallback(e,t){var n=this;return function(i){var o=n.getDialogEnteredParameters(i);e.actionParameters=o,t.next({dialogResult:i,confirmContext:e})}}},{key:"openUrl",value:function openUrl(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=v.Mw;t&&(n=v.yX);try{this.window.open(e,n)}catch(e){if("Unspecified error."!==e.message)throw e}}},{key:"actionWithCountHandler",value:function actionWithCountHandler(e){var t=e.actionButton.context?e.actionButton.context.count:null,n={type:am,properties:{contentLook:"medium",actionTitle:e.actionButton.title,action:e.actionButton.name,count:t,dataItem:e.updateItem.dataItem,showDataItemTitle:!0}},i=new ki.np(n);this.modalWindowService.setMapping(i),this.modalWindowService.open(e.route)}},{key:"isHomePage",value:function isHomePage(e){var t,n,i=null===(t=e.contextParameters)||void 0===t?void 0:t.find((function(e){return"isHomePage"===e.Name}));return!(!i||"true"!==(null===(n=i.Value)||void 0===n?void 0:n.toLowerCase()))}}]),ActionExecutorService}();sm.ctorParameters=function(){return[{type:sa},{type:Ot},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:ga},{type:ki.bL}]},sm=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[sa,Ot,Window,ga,ki.bL])],sm);var lm=n(379),cm=function(){function ActionNotificationComponent(){(0,i.Z)(this,ActionNotificationComponent),this.onActionButtonClicked=new l.vpe}return(0,o.Z)(ActionNotificationComponent,[{key:"onActionButtonClickedHandler",value:function onActionButtonClickedHandler(e){this.onActionButtonClicked.emit(e)}}]),ActionNotificationComponent}();cm.propDecorators={title:[{type:l.IIB}],description:[{type:l.IIB}],operations:[{type:l.IIB}],onActionButtonClicked:[{type:l.r_U}]},cm=(0,a.gn)([(0,l.wA2)({template:lm})],cm);var dm=n(380),um=n(381),fm=n(117),pm=[{width:360,iconName:"mobile",iconLook:"black size-2xl"},{width:480,iconName:"mobile",iconLook:"black size-2xl"},{width:640,iconName:"mobile",iconLook:"black size-2xl sf-rotate--90"},{width:768,iconName:"tablet",iconLook:"black size-2xl"},{width:1024,iconName:"tablet",iconLook:"black size-2xl sf-rotate--90"}],Am=function(e){(0,f.Z)(MobilePreviewResizerComponent,e);var t=(0,p.Z)(MobilePreviewResizerComponent);function MobilePreviewResizerComponent(e,n){var o;return(0,i.Z)(this,MobilePreviewResizerComponent),(o=t.call(this)).store=e,o.documentProvider=n,o.maxZIndex=1e5,o.breakpoints=pm.sort((function(e,t){return e.width-t.width})),o.iconName=o.breakpoints[0].iconName,o.iconLook=o.breakpoints[0].iconLook,o.minSliderValue=o.breakpoints[0].width,o.maxSliderValue=o.breakpoints[o.breakpoints.length-1].width,o.dragArrowColor="light",o}return(0,o.Z)(MobilePreviewResizerComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.registerSubscription(this.store.pipe((0,kn.P)(),(0,Ys.Ys)((function(t){var n=t.mobilePreview.width;e.initialPreviewWidth=n,e.sliderValue=n,e.changeIconBasedOnWidth(n)}))).subscribe()),this.mouseMoveSubscription=(0,Ce.R)(this.documentProvider,"mousemove").subscribe((function(t){e.isDragging&&e.onArrowDrag(t,e.isDraggingLeftArrow)})),this.mouseUpSubscription=(0,Ce.R)(this.documentProvider,"mouseup").subscribe((function(t){e.isDragging&&e.onArrowDragEnd(t)})),this.registerSubscription(this.mouseMoveSubscription),this.registerSubscription(this.mouseUpSubscription)}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.mouseMoveSubscription.unsubscribe(),this.mouseUpSubscription.unsubscribe()}},{key:"onResize",value:function onResize(e){this.sliderValue=e,this.changeIconBasedOnWidth(e),this.store.dispatch(fm.K.changeWidth({width:e}))}},{key:"onArrowDragStart",value:function onArrowDragStart(e,t){this.isDragging=!0,this.dragArrowColor="black",this.isDraggingLeftArrow=t}},{key:"onArrowDragEnd",value:function onArrowDragEnd(e){this.isDragging=!1,this.dragArrowColor="light"}},{key:"focusDragArrow",value:function focusDragArrow(e,t){this.dragArrowColor=t?"black":"light"}},{key:"onArrowDrag",value:function onArrowDrag(e,t){if(e.clientX>0){var n=this.documentProvider.documentElement.clientWidth,i=2*(n/2-(t?e.clientX:n-e.clientX));i>=this.maxSliderValue?i=this.maxSliderValue:i<=this.minSliderValue&&(i=this.minSliderValue),this.onResize(i)}}},{key:"changeIconBasedOnWidth",value:function changeIconBasedOnWidth(e){var t=this.breakpoints.find((function(t){return t.width>=e}));t&&(this.iconName=t.iconName,this.iconLook=t.iconLook)}}]),MobilePreviewResizerComponent}(E.zu);Am.ctorParameters=function(){return[{type:Hs.dk},{type:Document,decorators:[{type:l.tBr,args:[Se]}]}]},Am=(0,a.gn)([(0,l.wA2)({selector:"sf-mobile-preview-resizer",template:dm,styles:[um]}),(0,a.w6)("design:paramtypes",[Hs.dk,Document])],Am);var mm=n(382),gm={changeWidth:(0,Ys.Ys)((0,Ys.P1)((function(e){return e.mobilePreview}),(function(e){return e.width})))},hm=function(e){(0,f.Z)(MobilePreviewComponent,e);var t=(0,p.Z)(MobilePreviewComponent);function MobilePreviewComponent(e){var n;return(0,i.Z)(this,MobilePreviewComponent),(n=t.call(this)).store=e,n.frameHeight=0,n.showLoading=!0,n}return(0,o.Z)(MobilePreviewComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.registerSubscription(this.store.pipe((0,kn.P)(),(0,Ys.Ys)((function(t){e.frameWidth=t.mobilePreview.width}))).subscribe()),this.registerSubscription(this.store.pipe(gm.changeWidth).subscribe((function(t){e.frameWidth=t,e.isFrameReady()&&(e.frame.nativeElement.contentWindow.document.body.style.overflow="hidden")})))}},{key:"onLoad",value:function onLoad(){this.calculateFrameHeight(),this.frame&&this.frame.nativeElement.contentWindow.document.head&&(this.addRequiredStylesInsideFrame(this.frame.nativeElement.contentWindow.document.head),this.showLoading=!1)}},{key:"onResize",value:function onResize(){this.calculateFrameHeight()}},{key:"calculateFrameHeight",value:function calculateFrameHeight(){this.isFrameReady()&&(this.frameHeight=this.frame.nativeElement.contentWindow.document.body.scrollHeight+46)}},{key:"isFrameReady",value:function isFrameReady(){return!(!this.frame||!this.frame.nativeElement.contentWindow.document.body)}},{key:"addRequiredStylesInsideFrame",value:function addRequiredStylesInsideFrame(e){var t=document.createElement("style");t.appendChild(document.createTextNode(v.WP.EMPTY_STRING)),e.appendChild(t),t.sheet.insertRule('body { overflow: "hidden" }'),t.sheet.insertRule("img { pointer-events: none }")}}]),MobilePreviewComponent}(E.zu);hm.ctorParameters=function(){return[{type:Hs.dk}]},hm.propDecorators={frame:[{type:l.i9L,args:["frame"]}],pagePreviewUrl:[{type:l.IIB}]},hm=(0,a.gn)([(0,l.wA2)({selector:"sf-mobile-preview",template:mm}),(0,a.w6)("design:paramtypes",[Hs.dk])],hm);var vm="segment",bm=function(){function MobilePreviewCommand(e){(0,i.Z)(this,MobilePreviewCommand),this.modalWindowService=e,this.mobilePreviewRoute="mobile-preview"}return(0,o.Z)(MobilePreviewCommand,[{key:"execute",value:function execute(e){var t,n=e.data.previewUrl,i=e.currentRoute,o=new Ft.xQ;n=this.appendPageSegment(n,null===(t=i.snapshot)||void 0===t?void 0:t.queryParams);var a={type:hm,properties:{pagePreviewUrl:n}},r=new ki.np(a,(function(){o.next()}));return r.alwaysSticky=!0,r.hideBackToTopButton=!0,r.contentClass="-preview",r.toolbarData={type:Am},this.modalWindowService.setMapping(r,this.mobilePreviewRoute),this.modalWindowService.show(this.mobilePreviewRoute,i),o.asObservable()}},{key:"appendPageSegment",value:function appendPageSegment(e,t){return!e.includes(vm)&&t&&t.segment?"".concat(e,"?").concat(vm,"=").concat(t.segment):e}}]),MobilePreviewCommand}(),ym=function(){function ContentItemInfo(e){(0,i.Z)(this,ContentItemInfo),this.DefaultFieldName=e.metadata.defaultFieldName,this.Title=e.data[this.DefaultFieldName],this.Id=e.data.Id,this.Provider=e.provider,this.HasChildren=e.childTypes.length>0,this.CurrentCulture=e.culture,this.ContentType=ContentItemInfo.getContentTypeFromFullTypeName(e.metadata.typeFullName),this.SfSetName=e.metadata.setName,this.AvailableLanguages=e.data.AvailableLanguages||[]}return(0,o.Z)(ContentItemInfo,null,[{key:"getContentTypeFromFullTypeName",value:function getContentTypeFromFullTypeName(e){var t=e.lastIndexOf(".")+1;return e.substring(t)}}]),ContentItemInfo}(),Em=n(189),Im=function(){function SitefinityInsightMenuCommand(e){(0,i.Z)(this,SitefinityInsightMenuCommand),this.modalWindowService=e}return(0,o.Z)(SitefinityInsightMenuCommand,[{key:"execute",value:function execute(e){var t=new ym(e.data.dataItem),n=new ki.np({type:null,properties:{externalTouchpointLoad$:null,contentItemInfo:t,notifyGridCellForNewTouchpointFunc:function notifyGridCellForNewTouchpointFunc(){}}});return this.modalWindowService.setMapping(n,Em.E6.routeKey),this.modalWindowService.show(Em.E6.routeKey,e.currentRoute),(0,r.of)(!0)}}]),SitefinityInsightMenuCommand}();Im.ctorParameters=function(){return[{type:ki.bL}]},Im=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL])],Im);var wm="sf-main -details",km="sf-mt--2xl sf-mb-2xl",xm="dynamic-item",Cm="There are unsaved changes for this item. Are you sure you want to discard them and leave?",Sm=function(e){(0,f.Z)(DynamicItemComponent,e);var t=(0,p.Z)(DynamicItemComponent);function DynamicItemComponent(e,n,o,a,s,l,c,d,u,f,p,A,m,h,b,y,E,I,k,x){var C;return(0,i.Z)(this,DynamicItemComponent),(C=t.call(this,e,n,o,d,s,l,u,m,E)).fieldsGeneratorService=a,C.editExtender=c,C.notificationService=f,C.settings=p,C.buttonStateService=A,C.serverOperationExecutor=h,C.sortService=b,C.keyboardShortcutsService=y,C.parentService=E,C.store=I,C.itemHooksProvider=k,C.communicationService=x,C.fieldSections=null,C.defaultSidebarRoutePath=g.j3.DEFAULT,C.sidebarClasses$=new he.X(wm),C.formClasses=v.WP.EMPTY_STRING,C.isLocked=!1,C.filterCleared=!1,C.allowDialogOpenCallback=C.triggerLock.bind((0,Go.Z)(C)),C.isActionInProgress=new Ft.xQ,C.item=new he.X({content:null,isLoading:!0}),C.fieldSectionsInternal$=new re.t(1),C.areEditableFieldsDirty=!1,C.isInitialLoad=!0,C.datePipe=new On(new Ln),C.dynamicSidebarData$=new re.t(1),C.triggerLock$=(0,r.of)(!1),C.hasSwitchedToEditMode=!1,C.serverOperationPending=!1,C.item$=C.item.pipe((0,Bi.h)((function(e){return null!==e.content})),(0,w.U)((function(e){return e.content}))),C.bottomActionMenuOptions=new oe.gP(Number.NEGATIVE_INFINITY,ae.fT),C.generalActionOperations=new he.X([]),C.customOperations=new he.X([]),C.additionalActionOperations=new he.X([]),C.personalizationOperations=new he.X([]),C.fieldSections$=C.fieldSectionsInternal$.pipe(Dn(g.oN),(0,w.U)((function(e){return e.content}))),C}return(0,o.Z)(DynamicItemComponent,[{key:"hasVersion",get:function get(){return!!this.route.parent.snapshot.queryParams[g.Tx.VERSION]}},{key:"handler",value:function handler(e){this.areEditableFieldsDirty&&(e.returnValue=Cm)}},{key:"currentItem",get:function get(){return this.item.getValue().content}},{key:"isEditMode",get:function get(){if(this.hasSwitchedToEditMode)return!0;var e=this.location.path();return e.includes(g.UY.EDIT_SEGMENT)&&this.currentItem&&e.includes(this.currentItem.key)}},{key:"typeSetName",get:function get(){return this.entityData.metadata.setName}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.registerSubscription(this.configureNavbar().subscribe()),this.registerSubscription(this.store.pipe(nm.sidebarData).subscribe((function(t){e.hasSidebar=!!t}))),this.handleRouteData(),this.handleActivityStatus(),this.handleItemChanges(),this.handleButtons(),this.setContentLoaderHeight(),this.handleFormClasses(),this.handleKeyboardShortcuts(),this.store.pipe(nm.activeConfig,(0,_s.q)(1)).subscribe((function(t){var n=e.getSegment()===g.UY.DUPLICATE_SEGMENT&&(null==t?void 0:t.name)===qr;t&&!n||e.store.dispatch(RA.Oc.close(!1))})),this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$.pipe((0,kn.P)()),"onEditItemInitializing",(function(e){return{item:e}})).subscribe()),this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$,"onEditItemChanged",(function(e){return{item:e}})).subscribe()),this.registerSubscription(this.communicationService.subscribe(Ti.D4,(function(t){e.updateActionButtonsState(null,t.data)})))}},{key:"ngOnDestroy",value:function ngOnDestroy(){var e=this;this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$.pipe((0,kn.P)()),"onEditItemUnloading",(function(e){return{item:e}})).subscribe((function(){(0,Re.Z)((0,Qe.Z)(DynamicItemComponent.prototype),"ngOnDestroy",e).call(e),e.keyboardShortcutsService.removeListener(g.Xm.DYNAMIC_ITEM)})))}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this,t=this.editableFields.dirty.subscribe((function(t){e.areEditableFieldsDirty=t,t&&(e.triggerLock$=e.triggerLock())}));this.registerSubscription(t),this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$.pipe((0,kn.P)()),"afterEditItemInit",(function(e){return{item:e}})).subscribe())}},{key:"canDeactivate",value:function canDeactivate(){var e=this;if(this.areEditableFieldsDirty&&!this.window.confirm(Cm))return!1;if(this.clearNotifications(),!this.isLocked&&!this.areEditableFieldsDirty)return!0;if(!this.isEditMode)return!0;var t=this.dynamicItemStore.unlockItem(this.currentItem,!0),n=new Ft.xQ;return this.registerSubscription(t.subscribe((function(){e.isLocked=!1,n.next(!0)}),(function(t){if(t instanceof $o.d)n.next(!0);else{if(!(t instanceof HA.I))throw new Error("An error was encountered while unlocking dynamic item of type: '".concat(e.entityData.metadata.setName,"'. Error: '").concat(t.message,"'"));n.next(!0)}}))),n.asObservable()}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){var t=this,n=e.name.split("_")[0],i={actionName:n,item:this.currentItem,changedFields:null,route:this.route,siteData:this.route.parent.snapshot.data.siteDataStore};n===$.q.changeCulture&&(i.actionName=Da,i.data={culture:e.context.additionalText}),this.registerSubscription(this.editExtender.handleAction(i,this.notificationService).handled.subscribe((function(i){i||t.onActionButtonClickedFallback(e,n)})))}},{key:"handleSingleSync",value:function handleSingleSync(e){var t=this;this.registerSubscription(this.initSave(e).pipe((0,mA.n)((function(e){return!e})),(0,kn.P)()).subscribe((function(){t.sync(e)})))}},{key:"sync",value:function sync(e){var t=this,n=!this.isEditMode,i=this.getUpdatedFields(n),o=0===this.editableFields.getDirtyFields().length,a={fields:i,fallbackPropertyNames:this.fallbackProperties,dataFieldNames:null,itemPosition:this.getItemPosition(),skipUpdate:o},s=new ZA(this.dynamicItemStore,this.modalWindowService),l=s.execute({currentRoute:this.route.parent,model:null,data:{entityData:this.entityData,dataItem:this.currentItem,action:e,publishParams:a}}).pipe((0,Xn.w)((function(e){return e&&!e.hasTemplateErrors&&(e.notificationData=s.getNotification(t.route)),(0,r.of)(e)})));this.handleSaveOperation(l,e,n,$.q.publish)}},{key:"handleServerOperation",value:function handleServerOperation(e){var t=this,n=new re.t(1);if(this.serverOperationPending)return n.asObservable();var i,o=!this.isEditMode;return e.sourceOperation.HasLinkResult&&(i=this.window.open(v.WP.EMPTY_STRING,v.yX)),this.registerSubscription(this.initSave(e).subscribe((function(a){(a||e.sourceOperation.PerformsDelete)&&(t.updateActionButtonsState({name:e.name,state:oe.BN.Loading},oe.BN.Disabled),t.registerSubscription(t.triggerLock$.subscribe((function(a){t.serverOperationPending=!0;var r=t.getUpdatedFields(o),s=0===t.editableFields.getDirtyFields().length||e.sourceOperation.PerformsDelete,l=t.serverOperationExecutor.execute({actionButton:e,actionButtonStateService:t.buttonStateService,route:t.route,updateItem:{dataItem:t.currentItem,fallbackProperties:t.fallbackProperties,data:r,skipUpdate:s},window:i}),c=e.sourceOperation.PerformsDelete;t.registerSubscription(l.subscribe((function(i){(t.serverOperationPending=!1,i)&&(c&&t.notificationService.publishNotificationFromOperationResult(i,i.dataItem.metadata.typeFullName),t.serverOperationExecutor.shouldStayAfterPublish(e)?n.next(i):t.registerSubscription((0,Sn.H)(2e3).subscribe((function(){t.editMenu.onLeftNavButtonClick()}))))}),(function(e){t.serverOperationPending=!1,n.error(e)}))),c||t.handleSaveOperation(l,e,o)}))))}))),n.asObservable()}},{key:"handleNonExistentItem",value:function handleNonExistentItem(){(0,Re.Z)((0,Qe.Z)(DynamicItemComponent.prototype),"handleNonExistentItem",this).call(this,this.currentItem),this.navigate([So.CONTENT,this.typeSetName])}},{key:"navigateToEdit",value:function navigateToEdit(e){return e.wasInCreate||this.clearNotifications(),(0,Re.Z)((0,Qe.Z)(DynamicItemComponent.prototype),"navigateToEdit",this).call(this,e)}},{key:"onFieldChange",value:function onFieldChange(e){this.registerSubscription(this.editExtender.modify({sections:this.fieldSections,dataItem:ee.zw.fromEntityData(this.editableFields.getFields(!1),this.currentItem),parentId:this.parentId,isInit:!1,viewName:null,setName:getSetNameFromRoute(this.route)}).subscribe())}},{key:"configureNavbar",value:function configureNavbar(){var e=this;return this.item$.pipe((0,kn.P)(),(0,ra.b)((function(t){var n={leftNavbarButtonData:{disable:e.isActionInProgress.asObservable()},title:e.item$.pipe((0,w.U)((function(e){return e.title}))),item$:e.item$};e.editExtender.overrideNavigationMenuOptions(t,n),e.navbarConfiguration=n})))}},{key:"updateActionButtonsState",value:function updateActionButtonsState(e,t){return this.buttonStateService.updateActionButtonsState(e,t)}},{key:"getItemPosition",value:function getItemPosition(){return this.entityData.metadata.isOrderable?this.isEditMode?Ci.t5.Current:Ci.t5.Bottom:Ci.t5.Top}},{key:"handleButtons",value:function handleButtons(){var e=this,t=this.buttonStateService.getState$().subscribe((function(t){e.buttonsState=t;var n=!1;t.primary&&(n=(t.primary.state&oe.BN.Loading)===oe.BN.Loading||(t.primary.state&oe.BN.Checked)===oe.BN.Checked),t.stateForOthers&oe.BN.Loading&&(n=!0),e.window.setTimeout((function(){e.isActionInProgress.next(n)}))}));this.registerSubscription(t)}},{key:"resetActionButtons",value:function resetActionButtons(){return this.updateActionButtonsState(null,oe.BN.Default)}},{key:"handleItemChanges",value:function handleItemChanges(){var e=this,t=this.item.subscribe((function(t){return e.onItemChanged(t)}));this.registerSubscription(t)}},{key:"getOperationsDataContext",value:function getOperationsDataContext(){return{}}},{key:"handleSaveOperationSuccess",value:function handleSaveOperationSuccess(e,t,n){var i=this;if(!e||!e.operationData)return this.serverOperationPending=!1,void this.resetActionButtons();var o,a=e.dataItem;this.editableFields.reset(),this.isLocked=!1,this.itemMeta&&this.registerSubscription(this.dynamicItemStore.service.executeBoundFunction(a,"Default.itemmeta(state='".concat(this.itemMeta.state,"')")).subscribe((function(e){i.itemMeta=e,i.initFields(a,i.itemMeta,i.formData)}))),n?(this.hasSwitchedToEditMode=!0,o=this.navigateToEdit(new ee.vi({dataItem:a,parentId:this.parentId,wasInCreate:!0,replaceUrl:!0}))):o=this.hasVersion?this.navigateToEdit(new ee.vi({dataItem:this.currentItem,parentId:this.parentId,replaceUrl:!0})):(0,r.of)(!0),this.clearNotifications(),e.notificationData&&(e.notificationData.filterParam=xm),this.notificationService.publishNotificationFromOperationResult(e,xm),this.registerSubscription(o.subscribe((function(){i.item.next({isLoading:!1,content:a})})))}},{key:"handleKeyboardShortcuts",value:function handleKeyboardShortcuts(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,g.Xm.DYNAMIC_ITEM,!1).subscribe((function(t){if(t)switch(t.type){case ps.Delete:case ps.Publish:case ps.Save:case ps.Unpublish:case ps.Schedule:case ps.Preview:e.triggerKeyboardShortcutAction(t);break;case ps.Create:e.triggerKeyboardShortcutNavigateToCreate(t)}}));this.registerSubscription(t)}},{key:"triggerKeyboardShortcutNavigateToCreate",value:function triggerKeyboardShortcutNavigateToCreate(e){if(this.editExtender.hasCreateActionFromEdit(this.entityData)){var t;e.event.preventDefault(),this.hasSwitchedToEditMode=!1;var n=this.route.snapshot.queryParams[g.V5.FILTER];this.navigateToCreate(Object.assign((t={},(0,Ae.Z)(t,g.Tx.CULTURE,this.currentItem.culture),(0,Ae.Z)(t,g.Tx.PROVIDER,this.entityData.provider),(0,Ae.Z)(t,g.Tx.CREATE_DATE,Date.now()),t),n&&(0,Ae.Z)({},g.V5.FILTER,n)))}}},{key:"triggerKeyboardShortcutAction",value:function triggerKeyboardShortcutAction(e){!this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.editableFields.triggerValidCheck()&&(this.buttonsState&&this.buttonsState.primary&&this.buttonsState.primary.state!==oe.BN.Default||this.onActionButtonClicked(e.action)))}},{key:"clearNotifications",value:function clearNotifications(){this.notificationService.closeMultiple([g.wC,Ea])}},{key:"onActionButtonClickedFallback",value:function onActionButtonClickedFallback(e,t){var n=this;switch(t){case $.q.changeCulture:if(this.isEditMode){var i=ee.zw.fromCulture(this.currentItem,e.context.additionalText);this.navigateToEdit(new ee.vi({dataItem:i,translationCultureSource:this.currentItem.culture}))}else{var o;this.navigateToCreate((o={},(0,Ae.Z)(o,g.Tx.CULTURE,e.context.additionalText),(0,Ae.Z)(o,g.Tx.PROVIDER,this.entityData.provider),o))}break;case $.q.compareTranslations:this.openCompareTranslations();break;case $.q.duplicate:this.hasSwitchedToEditMode=!1,this.navigateToEdit(new ee.vi({dataItem:this.currentItem,parentId:this.parentId,commandName:$.q.duplicate}));break;case $.q.unlock:this.registerSubscription(this.dynamicItemStore.unlockItem(this.currentItem).subscribe((function(){n.navigateToEdit(new ee.vi({dataItem:n.currentItem,parentId:n.parentId,openDialog:!1,reload:!0})).subscribe()})));break;case $.q.siteSync:this.handleSingleSync(e);break;case $.q.mobilePreview:this.handleMobilePreview(e);break;case $.q.insightViewsAndAttribution:this.handleInsightViewsAndAttribution();break;default:this.registerSubscription(this.handleServerOperation(e).subscribe((function(t){if(e.sourceOperation.PerformsDelete)return n.isLocked=!1,n.areEditableFieldsDirty=!1,void n.editMenu.onLeftNavButtonClick()}),(function(e){if(e instanceof $o.d&&n.handleNonExistentItem(),e instanceof ea.E){var t=new ee.vi({dataItem:n.currentItem,parentId:n.parentId,openDialog:!0});n.navigateToEdit(t)}})))}}},{key:"handleMobilePreview",value:function handleMobilePreview(e){var t=this;this.handleServerOperation(e).subscribe((function(e){var n,i;(null===(n=e.operationData)||void 0===n?void 0:n.PreviewUrl)&&new bm(t.modalWindowService).execute({currentRoute:t.route.parent,model:null,data:{previewUrl:null===(i=e.operationData)||void 0===i?void 0:i.PreviewUrl}})}))}},{key:"triggerLock",value:function triggerLock(){var e=this;if(!this.isEditMode||this.isLocked)return(0,r.of)(!0);var t=new re.t(1);return this.registerSubscription(this.dynamicItemStore.saveItem(this.currentItem,{},null,this.fallbackProperties).pipe((0,Zi.K)((function(n,i){return n instanceof $o.d&&e.handleNonExistentItem(),n instanceof ea.E?(e.editableFields.reset(),t.next(!1),t.complete(),(0,r.of)(ee.zw.fromEntityData(n.data,e.entityData))):i}))).subscribe((function(n){e.isLocked=!0,e.registerSubscription(e.dynamicItemStore.service.executeBoundFunction(n,itemMetaSegment(e.itemMeta.state)).subscribe((function(i){e.itemMeta=i,e.item.next({isLoading:!1,content:n}),e.initFields(e.currentItem,i,e.formData),t.next(!0)})))}))),t.asObservable()}},{key:"handleInsightViewsAndAttribution",value:function handleInsightViewsAndAttribution(){new Im(this.modalWindowService).execute({currentRoute:this.route.parent,model:null,data:{dataItem:this.currentItem}})}},{key:"initSidebar",value:function initSidebar(){var e=this,t={type:bA,title:this.entityData.metadata.displayName,updatePropertiesOnChange:!0,properties:{data$:this.dynamicSidebarData$.asObservable(),parentId:this.parentId,selectedItem:this.currentItem,sortParameter:this.route.snapshot.queryParams[g.Tx.SORT]||this.sortService.getDefaultSort(this.entityData),selectionChanged:function selectionChanged(t){e.navigateToEditSubscription&&e.navigateToEditSubscription.unsubscribe(),e.navigateToEditSubscription=e.navigateToEdit(new ee.vi({dataItem:t})).subscribe(),e.registerSubscription(e.navigateToEditSubscription)},onClearFilter:function onClearFilter(){e.filterCleared=!0,e.dynamicSidebarData$.next({entityData:e.entityData,filterValue:null})}}},n={type:VA,title:Wr,wide:!0,updatePropertiesOnChange:!0,properties:{itemChanged$:this.item,dataItem:this.currentItem}},i=this.editExtender.getSidebarButtons(this.entityData,{compareTranslations:n,browse:t});this.sidebarData={externalKey:null,buttons:i,entityType:this.entityData.metadata.typeFullName},this.store.dispatch(RA.Oc.configure({externalKey:null,buttons:i,entityType:this.entityData.metadata.typeFullName}))}},{key:"handleOperationsChange",value:function handleOperationsChange(e){var t=this;e.isLoading?e.action?this.updateActionButtonsState({name:e.action,state:oe.BN.Loading},oe.BN.Disabled):this.setAllActionButtons(oe.BN.Loading):this.registerSubscription(this.parentService.getParentItem(this.entityData,this.parentId).subscribe((function(e){var n=t.getOperations(e);t.registerSubscription(n.pipe((0,xn.g)(0)).subscribe((function(n){if(0===n.length||t.currentItem.isEmpty&&!n.find((function(e){return e.Name===$.q.create||e.ParentOperation.Name===$.q.create})))t.router.navigate([So.ACCESS_DENIED]);else{var i=t.operations.getValue();i&&0!==i.length?t.registerSubscription(t.resetActionButtons().subscribe((function(){t.operations.next(n),t.loadMainOperations(e),t.loadCustomOperations(e),t.loadAdditionalActionOperations(e),t.loadPersonalizationOperations(e)}))):(t.operations.next(n),t.loadMainOperations(e),t.loadCustomOperations(e),t.loadAdditionalActionOperations(e),t.loadPersonalizationOperations(e))}})))})))}},{key:"getOperations",value:function getOperations(e){var t=this.getOperationsDataContext();return this.isEditMode?this.operationsProvider.getEditItemOperations(this.currentItem,e,t):this.operationsProvider.getCreateItemOperations(this.entityData,e,t)}},{key:"loadMainOperations",value:function loadMainOperations(e){var t,n=this,i=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemMainOperations(this.currentItem,e,i):this.operationsProvider.getCreateItemMainOperations(this.entityData,e,i),this.registerSubscription(t.subscribe((function(e){n.generalActionOperations.next(e)})))}},{key:"loadCustomOperations",value:function loadCustomOperations(e){var t,n=this,i=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemCustomOperations(this.currentItem,e,i):this.operationsProvider.getCreateItemCustomOperations(this.entityData,e,i),this.registerSubscription(t.subscribe((function(e){n.customOperations.next(e)})))}},{key:"loadAdditionalActionOperations",value:function loadAdditionalActionOperations(e){var t,n=this,i=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemAdditionalOperations(this.currentItem,e,i):this.operationsProvider.getCreateItemAdditionalOperations(this.entityData,e,i),this.registerSubscription(t.subscribe((function(e){n.additionalActionOperations.next(e)})))}},{key:"loadPersonalizationOperations",value:function loadPersonalizationOperations(e){var t,n=this,i=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemPersonalizationOperations(this.currentItem,e,i):this.operationsProvider.getCreateItemPersonalizationOperations(this.entityData,e,i),this.registerSubscription(t.subscribe((function(e){n.personalizationOperations.next(e)})))}},{key:"handleSaveOperation",value:function handleSaveOperation(e,t,n){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;this.registerSubscription(e.subscribe((function(e){i.handleSaveOperationSuccess(e,t,n,o)}),(function(e){e instanceof Ko.p?(i.editableFields.addModelErrors(e),i.editableFields.valid()):e instanceof $o.d?i.handleNonExistentItem():t.name!==$.q.preview&&i.notificationService.publishBasicNotification({message:e.message,look:"".concat(km," ").concat(ya.ERROR),duration:g.De,filterParam:xm}),i.resetActionButtons()})))}},{key:"initSave",value:function initSave(e){var t=this;e.sourceOperation.PerformsDelete||this.editableFields.enableRequiredErrorCheck();var n=!1;this.editableFields.status.pipe((0,kn.P)()).subscribe((function(i){i===Yi.i.Pending&&(t.updateActionButtonsState({name:e.name,state:oe.BN.Loading},oe.BN.Disabled),n=!0)}));var i=new re.t(1),o=!1;return this.registerSubscription(this.editableFields.status.pipe((0,Bi.h)((function(e){return e!==Yi.i.Pending}))).subscribe((function(e){if(e===Yi.i.Error&&(o=!0),!o)if(e!==Yi.i.Done);else{o=!0;var a=t.editableFields.valid();a?i.next(!0):n?t.resetActionButtons():a||i.next(!1)}}))),i.asObservable()}},{key:"getUpdatedFields",value:function getUpdatedFields(e){var t=this.editableFields.getFields();return e&&this.entityData.metadata.hasParent&&!this.entityData.metadata.ignoreParentChildRelationship&&(t[h.E.PARENT_ID]=this.parentId),t}},{key:"initFields",value:function initFields(e,t,n){var i=this;if(null===this.fieldSections||t.hasChanges){t.message&&this.notificationService.publishBasicNotification({message:t.message,look:km});var o,a=[],r=(0,Qn.Z)(n);try{for(r.s();!(o=r.n()).done;){var s=o.value,l=JSON.parse(JSON.stringify(s));l.tooltipModels=new Map(s.tooltipModels),a.push(l)}}catch(e){r.e(e)}finally{r.f()}var c=t.properties;a.forEach((function(e){var t=c.find((function(t){return t.name===e.name}));t&&(e.hidden=t.hidden,e.readonly=t.readonly,e.allowCreate=t.allowCreate,e.allowAdd=t.allowAdd,e.allowView=t.allowView,e.allowRemove=t.allowRemove,e.status=t.status,e.statusMessage=t.statusMessage,e.predefinedValue=t.predefinedValue)}));var d=this.fieldsGeneratorService.generateFieldsFromTweaks(this.entityData.metadata,a,e.data,t.readonly),u=this.route.parent.snapshot.data.siteDataStore;d.forEach((function(t){!i.entityData.metadata.ignoreParentChildRelationship&&t.settings.isMain&&(t.fields=t.fields.filter((function(e){return e.key!==h.E.PARENT_ID}))),t.fields.forEach((function(t){if(t.cssClass=h.CB.get(t.key),t.settings.culture=e.culture,u.ContentCultures.length>1&&i.entityData.metadata.isMultilingual&&void 0===t.settings.showForAllTranslationsLabel&&t.selector!==Y.U.address&&(t.settings.showForAllTranslationsLabel=!0),t.selector===Y.U.parentDropdownSelector&&i.entityData.metadata.ignoreParentChildRelationship){var n=i.route.snapshot.queryParams[g.V5.FILTER];if(!(e&&e.data&&e.data.ParentId)&&n&&n.indexOf("Parent,")>-1){var o=n.replace("Parent,","");t.settings.markAsDirty=!0,t.settings.defaultValue=o}}if(t.selector===Y.U.shortTextDefault){var a=t.settings,r=i.route.snapshot.queryParams[g.Tx.CREATE_DATE];a.shouldBeFocusedByDefault=i.isInitialLoad||r}t.settings.entityData=i.entityData,t.settings.dataItem=e}))})),this.editableFields.updateMirroring(d,e),!this.fieldSections||d.length!==this.fieldSections.length||t.readonly?this.fieldSections=d:this.processSectionsAndFieldChanges(d),this.editableFields.ngOnChanges({fieldSections:{currentValue:this.fieldSections}}),this.fieldSectionsInternal$.next({content:this.fieldSections,isLoading:!1}),this.isInitialLoad=!1,this.registerSubscription(this.editExtender.modify({sections:this.fieldSections,dataItem:e,parentId:this.parentId,isInit:!1,viewName:null,setName:getSetNameFromRoute(this.route)}).subscribe())}}},{key:"processSectionsAndFieldChanges",value:function processSectionsAndFieldChanges(e){var t=this,n=[];this.areEditableFieldsDirty&&(n=this.editableFields.getDirtyFields());var i={};e.forEach((function(e,o){e.fields.forEach((function(e,a){var r=t.fieldSections[o].fields[a],s=t.editExtender.forceUpdateFieldModel(t.currentItem,e.selector,e.settings.dataItem,r.settings.dataItem);if(!e.settings.equals(r.settings)||s)t.editableFields.updateFieldModel(e);else if(!n.some((function(e){return e===r.key}))&&!t.areFieldValuesTheSame(e.value,r.value)){var l=r;for(var c in i[l.key]=e.value,l)l[c]!==e[c]&&(t.fieldSections[o].fields[a][c]=e[c])}}))})),this.editableFields.updateValues(i)}},{key:"areFieldValuesTheSame",value:function areFieldValuesTheSame(e,t){return Array.isArray(e)&&Array.isArray(t)||typeof e==typeof{}&&typeof t==typeof{}?JSON.stringify(e)===JSON.stringify(t):e===t}},{key:"onItemChanged",value:function onItemChanged(e){e&&(e.content&&this.processDisplayableStatuses(e.content),this.handleOperationsChange(e))}},{key:"processDisplayableStatuses",value:function processDisplayableStatuses(e){var t=this;if(e&&e.data&&e.data.DisplayStatus){var n=this.editExtender.getStatusToDisplay(e);if(n){var i=n.Message,o=i.Description;o=o.replace(/\$\{(\w+)\}/g,(function(e,n){var i=t.currentItem.data.DisplayStatus.find((function(e){return e.Name===_n}))[n];return Date.parse(i)&&(i=t.datePipe.transform(i,On.FULL_DATE)),i})),this.notificationService.publishNotification({look:km,type:cm,filterParam:g.wC,properties:{title:i.Title,description:o,operations:(0,In.D)([i.Operations||[]])},removePreviousView:!0,updatePropertiesOnChange:!0,afterComponentInit:function afterComponentInit(e){t.registerSubscription(e.onActionButtonClicked.subscribe((function(e){t.onActionButtonClicked(e)})))}})}}}},{key:"handleRouteData",value:function handleRouteData(){var e=this,t=this.route.data.subscribe((function(t){e.handleSnapshotRouteData(t)}));this.registerSubscription(t)}},{key:"handleSnapshotRouteData",value:function handleSnapshotRouteData(e){var t=e.itemData,n=t.item,i=t.item,o=this.getSegment()===g.UY.DUPLICATE_SEGMENT;if(o){n=ee.zw.emptyItem(t.item);var a=this.editExtender.includedProperties(t.item),r=this.editExtender.excludedProperties(t.item);i=ee.zw.duplicate(t.item,a,r),this.areEditableFieldsDirty=!0}this.editableFields.copyMode=this.hasVersion||o,this.entityData=t.entityData;var s=null;this.filterCleared||(s=this.route.snapshot.queryParams[g.V5.FILTER]||null),this.dynamicSidebarData$.next({entityData:this.entityData,filterValue:s}),this.fallbackProperties=t.fallbackProperties,this.formData=e[g.u0.formResolved],this.itemMeta=e[g.u0.itemmeta],this.isLocked=!this.itemMeta.readonly&&n.data&&n.data[h.E.LOCKED_STATUS],this.resetActionButtons(),this.fieldSections=null,this.fieldSectionsInternal$.next({content:null,isLoading:!0}),this.editableFields.reset(),this.clearNotifications(),this.initFields(i,this.itemMeta,this.formData),this.item.next({content:n,isLoading:!1}),this.initSidebar(),t.item.isEmpty||t.item.isTranslated||this.openCompareTranslations()}},{key:"getSegment",value:function getSegment(){return 2===this.route.snapshot.url.length?this.route.snapshot.url[1].path:null}},{key:"handleActivityStatus",value:function handleActivityStatus(){var e=this,t=this.store.pipe(nm.isOpen),n=this.store.pipe(nm.activeConfig).pipe((0,gA.a)(t)).subscribe((function(t){var n=t[1],i=t[0],o=wm;i&&n&&(o+=" -shrink",i.data&&i.data.wide&&(o+=" -narrow")),e.sidebarClasses$.next(o)}));this.registerSubscription(n)}},{key:"setAllActionButtons",value:function setAllActionButtons(e){this.updateActionButtonsState(null,e)}},{key:"openCompareTranslations",value:function openCompareTranslations(){var e=this.sidebarData.buttons.find((function(e){return e.name===qr}));e.data.properties.dataItem=this.currentItem,this.store.dispatch(RA.Oc.changeAndOpen(e,!0))}},{key:"setContentLoaderHeight",value:function setContentLoaderHeight(){this.contentLoaderHeight=this.currentItem&&this.currentItem.data?((0,d.Wd)(g.v6.EDITOR_COLLAPSE_HEIGHT,"sf-app")||450)+15:((0,d.Wd)(g.v6.EDITOR_INLINE_HEIGHT_LONG,"sf-app")||300)-15}},{key:"handleFormClasses",value:function handleFormClasses(){this.formClasses=this.editExtender.getFormClasses(this.currentItem)}},{key:"navigateToCreate",value:function navigateToCreate(e){this.navigate([g.UY.CREATE_SEGMENT],{queryParams:e,relativeTo:this.route.parent})}}]),DynamicItemComponent}(is);Sm.ctorParameters=function(){return[{type:ga},{type:ki.bL},{type:m.gz},{type:qo},{type:m.F0},{type:fe},{type:$r},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ut.Ye},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:Qt.Zr},{type:tl},{type:Ic},{type:sm},{type:Aa},{type:Os},{type:$s},{type:Hs.dk},{type:Yr},{type:Di}]},Sm.propDecorators={editMenu:[{type:l.i9L,args:[im,{static:!0}]}],editableFields:[{type:l.i9L,args:[Xo.I,{static:!0}]}],handler:[{type:l.L6J,args:["window:beforeunload",["$event"]]}]},Sm=(0,a.gn)([(0,l.wA2)({template:AA,providers:[ia.R,tl,Os,ae._U]}),(0,a.w6)("design:paramtypes",[ga,ki.bL,m.gz,qo,m.F0,fe,$r,Window,Ut.Ye,La,Qt.Zr,tl,Ic,sm,Aa,Os,$s,Hs.dk,Yr,Di])],Sm);var Bm=function(){function WidgetPropertyEditorService(e,t,n,o){(0,i.Z)(this,WidgetPropertyEditorService),this.dynamicItemService=e,this.router=t,this.modalService=n,this.window=o}return(0,o.Z)(WidgetPropertyEditorService,[{key:"initialize",value:function initialize(e){var t=this;this.window.document.addEventListener(ds.NEED_MODAL_DIALOG,(function(n){var i=n.detail;if(i.openNewEditor){n.preventDefault();var o=Np.fromSitefinityContext(i,t.router,e);t.initializeViewData(e,o).subscribe((function(e){var n,i,o,a=e.component.context.widgetId,r=!(!(null===(n=e.data)||void 0===n?void 0:n.Success)||(null===(o=null===(i=e.data)||void 0===i?void 0:i.SourceOperation)||void 0===o?void 0:o.Name)===$.q.cancel),s=new CustomEvent(ds.MODAL_DIALOG_CLOSED,{detail:{changes:r,widgetId:a}});t.window.document.dispatchEvent(s)}))}}),!0)}},{key:"initializeViewData",value:function initializeViewData(e,t){return t.viewName===ls.ADVANCED?this.createDialog(ls.ADVANCED,!1,e,t):this.createDialog(ls.BASIC,!1,e,t)}},{key:"initialzieQuickEdit",value:function initialzieQuickEdit(e,t){var n=this,i=e.firstChild.snapshot.data.itemData;return t.entityData=i?i.item:null,t.sectionName="QuickEdit",{type:pA,properties:{context:t},afterComponentInit:function afterComponentInit(e){e.context=t,e.hasAdvancedOptions.subscribe((function(e){n.modalService.sendCommand("editWidgetPropsBasic",{name:ul,data:e})}))},updatePropertiesOnChange:!0}}},{key:"createDialog",value:function createDialog(e,t,n,i){var o=this,a=n.firstChild.snapshot.data.itemData;i.entityData=a?ee.zw.fromCulture(a.item,i.culture||a.item.culture):null,i.sectionName=e;var r=i.viewName===ls.UNSHARE||i.viewName===ls.SHARE||i.viewName===ls.NOT_SHAREABLE?"-prompt":"-no-padding-top -no-padding-horizontal",s={type:pA,afterComponentInit:function afterComponentInit(e){e.context=i,e.hasAdvancedOptions.subscribe((function(e){o.modalService.sendCommand("editWidgetPropsBasic",{name:ul,data:e})}))},updatePropertiesOnChange:!0},l=i.widgetName,c=new Ft.xQ,d=new Ft.xQ,u=this.getHeadButtons(t,n,i,d),f=new ki.np(s);f.doneCallback=function(e){return c.next(e)},f.contentClass=r,f.heading.title=l,f.headButtons=u,f.showButtonsOnInit=!1,f.hideStickyContent=!0;var p,A="editWidgetProps"+e;return this.modalService.setMapping(f,A),this.modalService.show(A,n,i.window),d.subscribe((function(e){!e.data||e.data.SourceOperation.Name!==ss.SAVE&&e.data.SourceOperation.Name!==ss.SAVE_ALL||(p=e)})),c.pipe((0,w.U)((function(e){return p&&p.data&&!e.data&&(e.data=p.data),e})))}},{key:"getHeadButtons",value:function getHeadButtons(e,t,n,i){var o=this,a=[];if(n.viewName===v.WP.EMPTY_STRING&&!e){var r={click:function click(){return o.openDialogClick(ls.ADVANCED,t,n,i)}};a.push(new ki.zx(r,"cog",v.WP.EMPTY_STRING,rs.ADVANCED_SETTINGS_COG_BUTTON_TITLE))}return a}},{key:"openDialogClick",value:function openDialogClick(e,t,n,i){return this.createDialog(e,!0,t,n).subscribe((function(e){return i.next(e)})),new ki.DQ(null,!0,!1)}}]),WidgetPropertyEditorService}();Bm.ctorParameters=function(){return[{type:Ci.dg},{type:m.F0},{type:ki.bL},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Bm=(0,a.gn)([(0,l.GSi)({providedIn:"root"}),(0,a.w6)("design:paramtypes",[Ci.dg,m.F0,ki.bL,Window])],Bm);var Dm="widget-settings",Tm="paste-".concat(Dm),Mm="copy-".concat(Dm),Nm=function(){function InlineToolbarComponent(e,t,n,o,a,r,s,c){(0,i.Z)(this,InlineToolbarComponent),this.storage=e,this.actionService=t,this.route=n,this.widgetPropertyEditorService=o,this.contract=a,this.metadataService=r,this.siteDataStore=s,this.zoneEditorDomService=c,this.focusTriggeringSubscription=new he.X(!1),this.onOperationExecuted=new l.vpe,this.onFocusOut=new l.vpe,this.widgetOperations=new he.X([]),this.originalOperations=[]}return(0,o.Z)(InlineToolbarComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.getWidgetSettings();if(e){(new Date).getTime()-e.time>36e5&&this.storage.removeItem(Dm)}}},{key:"loadOperations",value:function loadOperations(e){if(this.component.name!==us.SECTION&&this.component.name!==us.FORM_SECTION||e.splice(1,0,{Name:ae.lG,Title:"Change layout",Category:{Name:"General"}}),this.originalOperations=e,e=this.filterOperations(e),this.component.isPersonalized){for(var t=0;t0){var i=n.ContextParameters.find((function(e){return e.Name===g.Tx.WIDGET_SEGMENT_ID}));i&&this.component.widgetSegmentId===i.Value&&(this.selectedOperationName=n.Name)}}this.selectedOperationName||(this.selectedOperationName=v.WP.DEFAULT_GUID)}this.focusTriggeringSubscription.next(!0),this.widgetOperations.next(e)}},{key:"refreshOperations",value:function refreshOperations(){var e=this.filterOperations(this.originalOperations);e.length!==this.widgetOperations.getValue().length&&this.widgetOperations.next(e)}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){var t=this.component.id;if("edit"===e.sourceOperation.Name)this.handleEdit(t,e);else if(e.sourceOperation.Name===ae.lG)this.handleQuickEdit(t,e);else if(e.sourceOperation.Name===Mm)this.handleCopySettings(t,e);else if(e.sourceOperation.Name.startsWith(Tm))this.handlePasteSettings(t,e);else if(cs[e.sourceOperation.Name]){var n=cs[e.sourceOperation.Name];this.openSpecialOperationsDialog(t,e,n)}else this.handleGeneric(t,e)}},{key:"focusOut",value:function focusOut(){this.onFocusOut.next(),this.focusTriggeringSubscription.next(!1)}},{key:"openEditDialog",value:function openEditDialog(e,t){var n=this.getWidgetContext(e,t);return n.localizationMode=this.component.iscontentwidget?Tp.Both:Tp.AlwaysSaveAllTranslations,n.viewName=v.WP.EMPTY_STRING,n.viewKey={viewName:"Basic",widgetName:n.widgetName},this.widgetPropertyEditorService.initializeViewData(this.route.parent,n)}},{key:"openQuickEditDialog",value:function openQuickEditDialog(e,t){var n=this.getWidgetContext(e,t);return n.isQuickEdit=!0,n.localizationMode=Tp.AlwaysSaveAllTranslations,n.viewName=ls.COLUMNS_PROPORTIONS,n.viewKey={viewName:ls.COLUMNS_PROPORTIONS,widgetName:n.widgetName},this.widgetPropertyEditorService.initialzieQuickEdit(this.route.parent,n)}},{key:"openSpecialOperationsDialog",value:function openSpecialOperationsDialog(e,t,n){var i=this,o=this.getWidgetContext(e,this.component.name);o.viewName=n,o.viewKey={viewName:n,widgetName:o.widgetName},this.widgetPropertyEditorService.initializeViewData(this.route.parent,o).subscribe((function(n){n&&n.data?i.handleGeneric(e,t,[]):i.focusOut()}))}},{key:"handlePasteSettings",value:function handlePasteSettings(e,t){var n=this.storage.getItem(Dm);if(n){var i=JSON.parse(n);this.handleGeneric(e,t,i.properties)}}},{key:"handleCopySettings",value:function handleCopySettings(e,t){var n=this;this.handleGeneric(e,t,void 0,(function(e){var t={time:(new Date).getTime(),widgetType:n.component.name,properties:e.Properties};n.storage.setItem(Dm,JSON.stringify(t)),e.SkipRerender=!0}))}},{key:"filterOperations",value:function filterOperations(e){var t=this.filterPasteOperations(e);return t=this.filterEditOperations(t)}},{key:"filterPasteOperations",value:function filterPasteOperations(e){var t=!1,n=this.getWidgetSettings();return n?n.widgetType!==this.component.name&&(t=!0):t=!0,t?e.filter((function(e){return!e.Name.startsWith(Tm)})):e}},{key:"filterEditOperations",value:function filterEditOperations(e){return this.component.isemptyentity?e.filter((function(e){return"edit"!==e.Name})):e}},{key:"getWidgetSettings",value:function getWidgetSettings(){var e=this.storage.getItem(Dm);return e?JSON.parse(e):null}},{key:"getWidgetContext",value:function getWidgetContext(e,t){var n=new Np;return n.widgetId=e,n.entityId=this.dataItem.key,n.widgetName=t,n.culture=this.dataItem.culture,n.component=this.component,n.window=this.windowElement,n.segmentId=this.segmentId,n.widgetSegmentId=this.component.widgetSegmentId,n}},{key:"handleEdit",value:function handleEdit(e,t){var n=this;this.openEditDialog(e,this.component.name).subscribe((function(e){e&&e.data?n.onOperationExecuted.next({Success:!0,SourceOperation:t.sourceOperation}):n.focusOut()}))}},{key:"handleQuickEdit",value:function handleQuickEdit(e,t){var n=this,i=this.openQuickEditDialog(e,this.component.name),o=this.zoneEditorDomService.createComponent(i.type,i.properties);o.instance.setCloseModalCallback((function(e){e.SourceOperation.Name!==ss.CANCEL?n.onOperationExecuted.next({Success:!0,SourceOperation:t.sourceOperation}):(n.component.quickEditMenu=null,n.zoneEditorDomService.removeComponent(o))})),this.component.quickEditMenu=o,this.zoneEditorDomService.attachComponentAsFirstChild(o,this.component.domElement,lp,null)}},{key:"handleGeneric",value:function handleGeneric(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3?arguments[3]:void 0,a=function executeAction(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n.siteDataStore.getValue().subscribe((function(r){var s={dataItem:n.dataItem,widgetKey:e,widgetName:n.component.name,siteId:r.Id};n.metadataService.getWidgetMetadata(s).subscribe((function(r){var s=r.PropertyMetadataFlat.map((function(e){return{Name:e.Name,Title:e.Title,Type:e.Type,DefaultValue:e.DefaultValue,Properties:e.Properties}}));if(Object.keys(a).forEach((function(e){i.push({Name:e,Value:a[e]})})),t.sourceOperation.ExecuteOnServer){var l=t.sourceOperation.ContextParameters.find((function(e){return e.Name===g.Tx.WIDGET_SEGMENT_ID}));n.contract.executeWidgetOperation(n.dataItem,e,t.sourceOperation,i,s,n.segmentId,(null==l?void 0:l.Value)||n.component.widgetSegmentId).subscribe((function(e){e.SourceOperation=t.sourceOperation,o&&o(e),n.onOperationExecuted.next(e)}))}else n.onOperationExecuted.next({Success:!0,SourceOperation:t.sourceOperation})}))}))};t.sourceOperation.RequiresConfirmation?this.actionService.actionConfirmHandler({route:this.route,actionButton:t,actionButtonStateService:null,window:this.windowElement}).subscribe((function(e){var t=e.dialogResult.data;if(t&&t.data){var n,i=e.dialogResult.component.editableFields;i&&(n=i.getFields(!1)),a(n)}})):a()}}]),InlineToolbarComponent}();Nm.ctorParameters=function(){return[{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:sm},{type:m.gz},{type:Bm},{type:Dp},{type:cA},{type:Qi},{type:yp}]},Nm.propDecorators={onOperationExecuted:[{type:l.r_U}],onFocusOut:[{type:l.r_U}]},Nm=(0,a.gn)([(0,l.wA2)({providers:[tl],selector:"sf-inline-toolbar",template:Sp,encapsulation:l.ifc.ShadowDom,styles:[Bp]}),(0,a.w6)("design:paramtypes",[Rr.V1,sm,m.gz,Bm,Dp,cA,Qi,yp])],Nm);var Fm=n(383),Pm=(0,o.Z)((function ErrorWidgetComponent(){(0,i.Z)(this,ErrorWidgetComponent),this.classes="sf-zone-ui"}));Pm.propDecorators={error:[{type:l.IIB}],warning:[{type:l.IIB}],classes:[{type:l.pfw,args:["class"]}]},Pm=(0,a.gn)([(0,l.wA2)({selector:"sf-error-widget",template:Fm,encapsulation:l.ifc.None})],Pm);var Rm=n(384),Qm=n(385),Um=function(){function WidgetLabelComponent(){(0,i.Z)(this,WidgetLabelComponent),this.classes=cp}return(0,o.Z)(WidgetLabelComponent,[{key:"ngOnInit",value:function ngOnInit(){this.cssClasses=this.generateCssClassList()}},{key:"generateCssClassList",value:function generateCssClassList(){var e="sf-widget-label";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e}}]),WidgetLabelComponent}();Um.propDecorators={label:[{type:l.IIB}],tooltip:[{type:l.IIB}],hideDraggableIcon:[{type:l.IIB}],look:[{type:l.IIB}],classes:[{type:l.pfw,args:["class"]}]},Um=(0,a.gn)([(0,l.wA2)({selector:"sf-widget-label",template:Rm,encapsulation:l.ifc.ShadowDom,styles:[Qm]})],Um);var Lm=["VIDEO","IMG","IFRAME","AUDIO","FIGURE","OBJECT","MAP","EMBED","CANVAS","INPUT","OUTPUT","METER","TEXTAREA"],Om=function(){function DocumentEnhancerService(){(0,i.Z)(this,DocumentEnhancerService)}return(0,o.Z)(DocumentEnhancerService,[{key:"buildModel",value:function buildModel(e,t,n){return this.enhance(t),e.hasAttribute(Zf)?this.buildModelFromWidget(e,n):e.hasAttribute(Wf)?this.buildModelFromContainer(e,n):null}},{key:"enhance",value:function enhance(e){for(var t=0;t=0&&!t?(n.splice(i,0,e),n[i+1]&&(n[i+1].siblingId=e.id)):(n[n.length-1]&&(e.siblingId=n[n.length-1].id),n.push(e)),n}},{key:"removeFromParent",value:function removeFromParent(e){var t=e.parentContainer.children,n=t.findIndex((function(t){return t.id===e.id}));n>-1&&(t.splice(n,1),0===n?e.siblingId=null:t[n]&&(t[n].siblingId=t[n-1].id))}},{key:"addComments",value:function addComments(e){if(0===e.wrappingCommentElements.length){for(var t=e.domElement;8!==t.nodeType||-1===t.nodeValue.indexOf(e.id);)t=t.previousSibling;for(e.wrappingCommentElements.push(t),t=e.domElement;8!==t.nodeType||-1===t.nodeValue.indexOf(e.id);)t=t.nextSibling;e.wrappingCommentElements.push(t)}}},{key:"regenerateQuickEditMenu",value:function regenerateQuickEditMenu(e){e.quickEditMenu&&this.zoneEditorDomService.attachComponentAsFirstChild(e.quickEditMenu,e.domElement,lp,null)}},{key:"insertAddWidgetBetweenSections",value:function insertAddWidgetBetweenSections(e,t){if(!e.isorphaned){var n,i=e.domElement.previousElementSibling,o=e.domElement.nextElementSibling,a=this.isInlineElement(e.domElement)?e.domElement.lastElementChild:e.domElement,r=i&&this.isInlineElement(i)?i.lastElementChild:i,s=a&&this.isFakeOrAddWidget(a)||o&&this.isFakeOrAddWidget(o),l=r&&this.isFakeOrAddWidget(r);if(s||l)if(l){if(s)return;n=bp.InsertAfter}else n=bp.InsertBefore;else n=bp.InsertBeforeAndAfter;this.insertAddWidget(n,e,t)}}},{key:"insertAddWidget",value:function insertAddWidget(e,t,n){var i=this,o=[],a=t.isRoot?{addWidgetLabel:this.addMessageLabel}:null,r={ATTR_DRAGGABLE:!1},s=wp;n&&(r=null,a=null,s=zm),e===bp.InsertAsFirstAndLastChild?(o.push(this.addWidget(s,t.domElement,a,bp.InsertBefore,null,r)),o.push(this.addWidget(s,t.domElement.parentElement,a,bp.InsertAsLastChild,null,r))):e===bp.InsertBeforeAndAfter?(o.push(this.addWidget(s,t.wrappingCommentElements[0]||t.domElement,a,bp.InsertBefore,null,r)),o.push(this.addWidget(s,t.wrappingCommentElements[1]||t.domElement,a,bp.InsertAfter,null,r))):e===bp.InsertBefore?o.push(this.addWidget(s,t.wrappingCommentElements[0]||t.domElement,a,e,null,r)):e===bp.InsertAfter?o.push(this.addWidget(s,t.wrappingCommentElements[1]||t.domElement,a,e,null,r)):o.push(this.addWidget(s,t.domElement,a,e,null,r)),o.forEach((function(e){if(t.addWidgetComponents.push(e),!n){var o=e.location.nativeElement.previousElementSibling;o&&i.isInlineElement(o)&&i.modifyAddWidgetElement(e.location.nativeElement);var a=e;i.addWidgetAdded.emit({addWidget:a,component:t})}}))}},{key:"modifyAddWidgetElement",value:function modifyAddWidgetElement(e){var t=e.previousElementSibling,n=e.nextElementSibling,i=t;t.lastElementChild&&this.isFakeOrAddWidget(t.lastElementChild)&&this.isInlineElement(n)&&!this.isFakeOrAddWidget(n.lastElementChild)&&(i=n),i.append(e)}},{key:"addWidget",value:function addWidget(e,t,n,i,o,a){var r=this.zoneEditorDomService.createComponent(e,n);switch(i){case bp.InsertAsFirstChild:this.zoneEditorDomService.attachComponentAsFirstChild(r,t,o,a);break;case bp.InsertAsLastChild:this.zoneEditorDomService.attachComponentAsLastChild(r,t,o,a);break;case bp.InsertAfter:this.zoneEditorDomService.attachComponentAfterElement(r,t,o,a);break;default:this.zoneEditorDomService.attachComponentBeforeElement(r,t,o,a)}return r}},{key:"insertHtmlAndEnhance",value:function insertHtmlAndEnhance(e,t,n){var i=this.insertWrappedHtmlBeforeNode(e,t);this.documentEnhancer.enhance(i);var o=i.firstElementChild,a=this.documentEnhancer.buildModel(o,o,n);return this.unwrapHtml(i),a}},{key:"insertWrappedHtmlBeforeNode",value:function insertWrappedHtmlBeforeNode(e,t){var n=document.createElement("div");return n.innerHTML=t,this.isInlineElement(e.parentElement)?this.handleInlineAddElement(e.parentElement,[n]):e.parentElement.insertBefore(n,e),n}},{key:"handleInlineAddElement",value:function handleInlineAddElement(e,t){var n=Array.isArray(t)?t:[t],i=e.parentElement,o=e.nextElementSibling;o?this.zoneEditorDomService.handleMultipleInsertBefore(n,o):this.zoneEditorDomService.handleMultipleAppend(n,i)}},{key:"unwrapHtml",value:function unwrapHtml(e){var t=[];e.childNodes.forEach((function(e){t.push(e)})),t.forEach((function(t){e.parentElement.insertBefore(t,e)})),e.remove()}}]),ZoneEditorTreeService}();_m.ctorParameters=function(){return[{type:yp},{type:Om}]},_m.propDecorators={emptyContainerAdded:[{type:l.r_U}],widgetAdded:[{type:l.r_U}],addWidgetAdded:[{type:l.r_U}]},_m=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[yp,Om])],_m);var Vm,Gm=n(386),Hm=n(387),Zm=function(){function SvgIconHandlerComponent(e){(0,i.Z)(this,SvgIconHandlerComponent),this.urlService=e}return(0,o.Z)(SvgIconHandlerComponent,[{key:"ngOnInit",value:function ngOnInit(){if(this.iconType===Vm.Template)this.name="".concat(this.name,"__").concat(this.iconType),this.svgClassList=jm;else this.svgClassList=Ym;var e=Jm[this.name]||Wm,t="assets/images/selectors-sprite.svg#".concat(e);this.src=this.urlService.getResourceUrl("/".concat(t))}}]),SvgIconHandlerComponent}();Zm.ctorParameters=function(){return[{type:Ot}]},Zm.propDecorators={name:[{type:l.IIB}],look:[{type:l.IIB}],title:[{type:l.IIB}],iconType:[{type:l.IIB}]},Zm=(0,a.gn)([(0,l.wA2)({selector:"sf-svg-icon-handler",template:Hm}),(0,a.w6)("design:paramtypes",[Ot])],Zm),function(e){e.Icon="icon",e.Template="template"}(Vm||(Vm={}));var Ym="-sf-block sf-icon__svg",jm="-sf-block sf-icon__svg-template",Wm="custom-widget-icon",Jm={SitefinityLoginForm__template:"login-form__template",Accordion__template:"accordion-nav__template",Horizontal__template:"horizontal-nav__template",Tabs__template:"tabs-nav__template",Vertical__template:"vertical-nav__template",SitefinityChangePassword__template:"change-pass__template",SitefinityForgottenPassword__template:"forgot-pass__template",SitefinityResetPassword__template:"reset-pass__template",SitefinityAccountActivation__template:"account-activation__template",SitefinityRegistration__template:"register__template",SitefinityLoginButton__template:"login-button__template",SitefinitySearchBox__template:"search-box__template",SitefinitySection:"layout-icon",SitefinityFormSection:"layout-icon",SitefinityContentBlock:"content-icon",SitefinityFormContentBlock:"content-icon",SitefinityLoginForm:"login",SitefinityLoginButton:"login",SitefinityImage:"image",SitefinityButton:"cta",SitefinityRegistration:"registration",SitefinityAccountActivation:"registration",SitefinityForgottenPassword:"password",SitefinityResetPassword:"password",SitefinityChangePassword:"password",SitefinityNavigation:"navigation",SitefinityContentList:"content-list",SitefinityForm:"form",SitefinityTextField:"textbox",SitefinitySubmitButton:"button",SitefinityParagraph:"paragraph",SitefinityMultipleChoice:"multiple-choice",SitefinityCheckboxes:"checkboxes",SitefinityDropdown:"dropdown",SitefinityFileField:"file-upload",SitefinitySearchBox:"search",SitefinitySearchResults:"search"},qm=["Accordion","Horizontal","Vertical","Tabs","SitefinityLoginForm","SitefinityChangePassword","SitefinityForgottenPassword","SitefinityResetPassword","SitefinityRegistration","SitefinitySearchBox"],Xm=["SitefinityContentList","SitefinitySearchResults"],Km=function(){function WidgetPreviewComponent(e){(0,i.Z)(this,WidgetPreviewComponent),this.urlService=e,this.iconLook="square",this.showText=!0,this.isPreset=!1}return(0,o.Z)(WidgetPreviewComponent,[{key:"ngOnInit",value:function ngOnInit(){this.generateMainLook()}},{key:"onPngHandlerError",value:function onPngHandlerError(e){this.isPreset=!1,this.showText=!0}},{key:"generateMainLook",value:function generateMainLook(){this.text=this.addWidgetTitle||this.text;var e=this.addWidgetName||this.name;Xm.indexOf(this.name)>-1?this.handlePresetPreviewLook(this.addWidgetName||this.name):qm.indexOf(e)>-1&&this.handleStaticTemplatePreviewLook()}},{key:"handleStaticTemplatePreviewLook",value:function handleStaticTemplatePreviewLook(){this.iconLook=null,this.showText=!1,this.name=this.addWidgetName||this.name,this.svgIconType=Vm.Template}},{key:"handlePresetPreviewLook",value:function handlePresetPreviewLook(e){this.isPreset=!0,this.showText=!1;var t="assets/images/preset-".concat(e.toLowerCase(),".png");this.presetSrc=this.urlService.getResourceUrl("/".concat(t))}}]),WidgetPreviewComponent}();Km.ctorParameters=function(){return[{type:Ot}]},Km.propDecorators={text:[{type:l.IIB}],name:[{type:l.IIB}],addWidgetTitle:[{type:l.IIB}],addWidgetName:[{type:l.IIB}]},Km=(0,a.gn)([(0,l.wA2)({selector:"sf-widget-preview",template:Gm}),(0,a.w6)("design:paramtypes",[Ot])],Km);var $m={SitefinitySection:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NCOTQ3MjM1RjhCMTFFQUFFOEFBMzIxMzQwQjg3NzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NCOTQ3MjQ1RjhCMTFFQUFFOEFBMzIxMzQwQjg3NzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0I5NDcyMTVGOEIxMUVBQUU4QUEzMjEzNDBCODc3NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0I5NDcyMjVGOEIxMUVBQUU4QUEzMjEzNDBCODc3NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pl0oTtgAAACCSURBVHja7NqxCYAwEAXQRFzICZzCKZ3CNo2tUziDjfUVQgwh77eBg8eFFJ/kcl+p50yp8wAAAAAAjA2Yg7NzPz7PXba16jRXCAAAAAAAAAAAAAAAAAAAoHGiWiUoM2wAAADgh1eoUh1rAwAAAAAAAAAAAG+yT38AAAAAAAAN8wgwAG8FD2hXzbOaAAAAAElFTkSuQmCC",SitefinityFormSection:"iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAIAAADz89W0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjREOTVFNzFCNjM4QzExRUFBMEM3QzMwMTVFQjM5RDlBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjREOTVFNzFDNjM4QzExRUFBMEM3QzMwMTVFQjM5RDlBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEQ5NUU3MTk2MzhDMTFFQUEwQzdDMzAxNUVCMzlEOUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEQ5NUU3MUE2MzhDMTFFQUEwQzdDMzAxNUVCMzlEOUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6okhdcAAABDUlEQVR42uzbsQqCQBzH8bsyMhWh4VqKlqLmiKKtoWfoKXuKtrChoSVocGhLaSuQsivoAWy4SPH7G0X43Yc/esOpDC4HUaZURMkCGDBgwIABAwYM+FexMu/YrdZGmpRSk9n0XL+mUn+uVLVsJe52E0RRZKRitJwzYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw4N8l+2zJaXpGmmqefZdPnX/wcDE2UyVFLG4FmPB7oTzDgAEDLs62pBLHTJNl2W7jlMQPneYafNyb+aDa9/3eoC+EzvuEwzA00qSUanc7uq7/u8/x0gIMGDBgwIABAwYMGDBgwGUES/4QBwwYMGDAgAEDBgwY8Dd5CTAAT5sq2OWG8OgAAAAASUVORK5CYII=",SitefinityContentBlock:"iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAIAAADz89W0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYyQTkxOTJBNjM4QjExRUFCM0U2RTRGOTM5QzlDQzJDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYyQTkxOTJCNjM4QjExRUFCM0U2RTRGOTM5QzlDQzJDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjJBOTE5Mjg2MzhCMTFFQUIzRTZFNEY5MzlDOUNDMkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjJBOTE5Mjk2MzhCMTFFQUIzRTZFNEY5MzlDOUNDMkMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7+yGKNAAABN0lEQVR42uzbsWqEMBzH8Us9dHBSxw6+gEufoE/Rp+xTdL2li0PBtQUVVFASMOa0wa3DpXD0eq33/a35Q/yQ8EMQxaF9291S7nY3FsCAAQMGDBgwYMCAfyj7byden1/+C+bh6ZETBgwYMGDAgAED/sOvlo74vn+/JgiCSz/oOI4fa7TWVwN7nhdFUZqmYRheGiylVEqVZcmVBgyYlj43xpi6roUQ7pa2q0mSxHF8aqBt26ZpbA+7W9ruZXe8Jniapvc17jHb5FmWOcBVVeV53nUdVxowYMCAAQMGDBgwYMCAAQMGDBgwYMCAAW8s+1/YY55nrbWU8tSAXbUz2wErpYqicHzaHYbBzmwHbIzp+95xwsc12wEvy2LWUFqAAQMGDBjwlwh+iQcMGDBgwIABAwYM+Kx8CjAAjbl6tFeL2oMAAAAASUVORK5CYII=",SitefinityImage:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOENERDU0M0FBNzExMUVBODAzMkI2OUU1OUFEOEMyQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOENERDU0MkFBNzExMUVBODAzMkI2OUU1OUFEOEMyQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bFETxQAAAeJJREFUeNrsmq9vwkAUx2FZ6qpQraqqQywoMEWBaeUM/+JkXVUxkGBml6opVDuDatW+6SVNU+Bo727cNXtPNOGau3uf9xvC9PTzNRmzvExGLgRAAARAAATwvwFeOe8+P/aGaPn2HlAIEQABqAawLMt1XTzNrUL3ZDabrVYrx3HYx6Iojsfj+XwehwegfRRFjfZsJQxDeGMcALD9zbAJgmAEALZtt23fedXTCWrTZjCA5H2It91upzDehgFcLheZy2D79XqN52azkbeFIMA9hqqq8jznb99ut/AAIwGDklganMT7/e0J73A4gIGzcblcdmoXvKEBAPU+SZK2H6B3mqZZlnF2+b4/n887i57nLRYLDY3su5YmER+2MI6xAQBb8OHVA/TUu0lcND5+YylqMXGYY9rzk1Uyof8WANZlZedhe+F7SQ8Asha527/BiRUlWQBcjGJyvY5F1M1BR/m1PBWAhS8s14kTYXNi19ApQwoAnRXh28nCZl4QOxNHPQkAWjadtZ2Fzbwg7NVn9IHreGVhU5blvXnbrK+UN0NcIAU1zEIyNVs/gMIxWA9Az85qKAAmRy1RrgxA1w8nOoc5AiAAAjBplIjjmDxAAARAAATQkSn96Y8ACIAACIAACECj/AowACAVf0yg8gshAAAAAElFTkSuQmCC",SitefinityButton:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQzkwMDk2NUFCQ0IxMUVBQUY5RTg4OUIxQ0FCNjk1NCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQzkwMDk2NEFCQ0IxMUVBQUY5RTg4OUIxQ0FCNjk1NCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhFMjU4MjQ0NzJBQUVBMTFCRTZGRkUwNzREOUM3NkUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7BP0QgAAA+FJREFUeNrsmslLHFEQxp2x3RX3XRG9eBCRQbyIGEH/hfyVuXkURAIimEsOikZwQcVdZ9xw7XHyixWKR5vpOC2vo+S9g9Tr9X1VX1V9r8fEt/SPoo88kkUffDgADoAD4AA4AP83AC/k3PcvX9/JKlOfPzkKOQAOgAPgADgAlgA8PT29004cPrLZ7MPDA6uvr6/PZDKe55WUlCSTybu7u7zeSiZLS0t1en9/7/u+2JWVlYlEIj4ArL62tjaVStXV1bEmkOzt7S0tLbGmiYmJfHddXFysrq7qdGRkpKenR+yZmRnujQlALpdrbGycnJxsaGhQtzU1NbGaubm5gYGBfDceHBwoAB7S29vb2toqU4ydnZ34cmB8fBwMZtDhT3Nz8+3tbXH+Ac30eqbg1yn440tiPNfW1qZTJf3l5WVIAjDKy8vVhoFg1qn5QLsUImuHh4fFfnx8nJ+fv76+lnw4PDwkJrOzs3K2r68PqBhbW1ubm5sYxCffiqEQeUVYrAOoqqqCPGIvLCzAadjMus/PzyULV1ZW5GxNTY0AODk5kYNUIfV6R0eHGMDjMo5TzYihdQD6YtiytramtN7d3QUG07KyMmW5GnpQM1jSl/K1vb0tODs7OyMAKDgH8JMYFA3WYSaxmaPhg8pLJDEyz0MOUgPiSGIFwIujtR5Zq9x7dnbGc8QRMNP0iC0AtEwxrq6uInfxlpYWMY6OjqgE8ihcY/ZpWwBU+dzc3LwdABEgFJSvX+noefT1+MRcZP7ggvb2dtEjFChqK3msxdR6FdJ1m22ooFFdXS1FCcYPDQ1RW2kjgchYBABltcxHA9DV1fX73Z43OjpqnqK7ER8gWaSQlmp1W4QSFBIcKa8WASCJtaOZWxlsOP0aJRvOE0kPixSi8ImBluzu7ib/cs8DRlVUVCAo/vI+z1PhubGxYbYXEafER4STLQCnp6eICNGVY2NjGIg5khJm85f9QPjtFEopAwin6elpPT44ODg1NSWFSMSVRTWKBKJ6SBqwraEO4numx8fHr0+A/f19k+7pdFpDQZRew8aIOYBvUKCmMJbVC7//WHBNdyrFA2Sjo0lGEcaC2lmURoZ6WVxchDmB8hoQF1ljmFyXI1oMVLESBDll7tSs7Il52fLyMkHo7+8ndynbvBU5vb6+bl5Gl5UdMIYehGYiHKBQ4LFcLEqxoN19IuRfDcJ/4PB9H6/LBoBoyJbX3FL5z0Mqjypt3XOi2wINSz7SBK6XEfIDR/TvQvIaeI/7VaK+vCBkW/xykxDrh603Sjr3bdQBcAAcAAfgXYyE+6c/B8ABcAAcAAfAAfiH46cAAwDSuNSUL5BMWgAAAABJRU5ErkJggg==",SitefinityNavigation:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMjI4MTFCNTMzQkYxMUVCODY3MjgyQkY1MDQwNDlDOCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMjI4MTFCNDMzQkYxMUVCODY3MjgyQkY1MDQwNDlDOCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE1NDk3RTM4QjMzMEVCMTFBM0I0REY4MEY4NEVCRUZEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Brw0ZQAAAopJREFUeNrsmsmqIjEUhm85TwsHEARxIagbB0RQUNEHcH1f0U2Dz1ANKtgKoii0G1FRnEAocZ66D+2mScqqi6RKw81ZJqaor/Kf/5wEuV+r3x80h+aD8mAADIABMAAG8L0BdBJzzR8/3+Qt4595JiEGwAC+oQtJxJ9/If5JNF/6KLfb7bmFZADMZrPRaBSdWq1WWq1W9gkOhwMZEQRBPYBAIBCJRESneJ6fTCYcx0k/oVAoICPFYlE9APj8NptNdCqTyZRKpev1Kv2ER8tVSuJHCXDXRj6fP5/PFLuQ3+8PBoN4mlIDAH6STqdNJpPERr17HbBarblcjmKAu5DC4fDlcqEDoNvt4oOJRMLpdCq6D8QA+v1+r9fD6102m32uxKoNYDAYGo3GZrNBxr1ebzweV85ViQHY7fb1el2pVPCpWCzm8XgUclViAHq9HlogEBKeDDAFQoItUiIZiAHcXw7kXq/XoZ9DZt1uNwjprQHuAT3c4XAol8t4LxSNRn0+n2yP9Po6AJswGo3a7TYyDgJLpVLQw5HdB0UMDuTebDYXiwUy7nK5kskk2WxWyqFPpxMICXfPUCgEFZpgeVYKAIQ0nU5brZbogQHKM6nKoGCNBPcEIY3HY/woA0La7XYU3EqA3EFIx+MR7/MgTygAAFeFmgD7gDsPtEl03AvpdDoAGA6H9J0H/k/oarW63+9pBQAhCYJQq9WU6Oc0T7+T7AhShjudzmAwIC/R55aBi0PPg4zIlmdotqHrtlgsrwcAd0eMHO9A8dhutzzP45eKLwBYLpfz+RzJVNmjI/wAVs1ms0d+pR7AV173UTLQ50K03gsxAAbAANQIjv3pjwEwAAbAABgAA3hh/BVgAL/t+RVQREniAAAAAElFTkSuQmCC",SitefinityContentList:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowNzQyMTFBQ0IxN0IxMUVBQjc2MUQ3Q0VCMDI1RDUzNiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNzQyMTFBQkIxN0IxMUVBQjc2MUQ3Q0VCMDI1RDUzNiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkEyNDYzRUMzMzlCMUVBMTE4OEM5ODMwNTlEMkI3QjU3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+437qRwAAAH1JREFUeNrs17ENgCAQBVAwLMQETuGUTmFLY8sUzOAChigd+n57IeTlrvmxtBpmzhImDwAAAADAvwGpMzv3ozPN2/r2yXBu/3JCAAAAAAAfAESdGAAAAEChcUIAAAAAAAqNDQAAACg0Co0TAgAAANAHbAAAAAAAAOB5LgEGAFg0HMGZQj7QAAAAAElFTkSuQmCC",SitefinityCustom:"iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAIAAADz89W0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3NjJCRDg2NjM4QzExRUFCOTRFRDFENDZGQjhEMTMyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI3NjJCRDg3NjM4QzExRUFCOTRFRDFENDZGQjhEMTMyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjc2MkJEODQ2MzhDMTFFQUI5NEVEMUQ0NkZCOEQxMzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Mjc2MkJEODU2MzhDMTFFQUI5NEVEMUQ0NkZCOEQxMzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6k3+BnAAADK0lEQVR42uybTW/aQBCGY6/ttcHgEEhCkkZNq7SHtlLvrdT/r6rnfkg5tJGakrSQAAZjsNcdQ3vKwW55TXbFjjhwQIMf7cy8M7tr4/3g8842mbmzZaaBNbAG1sAaWANrYA2sgasyq/AXvy6uomGoBIwX+J3z43WBR9eD4VVfCeDguA0ANshMNSKfnhQQ0ha3eY2rkZ/cBgB3XzwWz0/VqMCWCQC2PTWWF1alk3gh0lSNFWasMKqLgSe/hnEYKQHMfS846awL3P/aU0iWCoF1p3W/fdn1RSrU6LR2fQBws7tXK+FIitVzHQBwvd3crpCmeM6yDNwD5k0CW33PRCYEJmXyJpiZaw8PP/rxeAoWTJu1z46ImVhn4+kIpAK8Udt9tL/+tHQb3tyim16ndXpAwEJk8Tgi5YO49Q9aAOBkNo/DGRY4T5NVFGdZukhR/t3mHJDDVQ90lmuj6iKFtPTAzCTNo4FMovGw6hW2XU4pDav+kgOvnrLMTsXmdLhSW8pSNL7GqACvu4BpqVIjWSId/nnxHeKtcdCSHZhkSSzS+QQjS0lcLEt6PNysUbNF09j5u9cgWbJkB17KklPmQVG6pEN60zUrS2aL2WiKCunCTY+HlqUkHfUGlx++QLwFx+2nb1/pkJZKhw3DtJlTd1FjtvSyZBpuo7Z/foJqLaWXJdP0gjp9tiak80q9A9skLDF4ySBL82g4QW0A1FoNuYFTMb0Lrz9dQrzVO4H0wMvGY9IfoVYYkMOW63DfBVcO7hjmH1liNkP5xxy1NA9b8DsepL0mYytZ4g2vfdbFyBJk17J51M66e2A1+nvUQrLkNurOMw81ewGAC09r1pZig5ZbIh2mikLKoUaf7DqFe/olzpZ6A1QVrdqIFgAc3YWobdTKO/MS2afHw3tGmuF3AiVguO8BgKlf81q+IiHNAMDLfs3eopBeRLFIwNeWSHvtGt/kGdo/APc+fgtv7uCC+eTNyzK9/gMAJ/EinsbYf83vBaFvBsGA80cT4JDOHWay5nDzcM92Hey/Mtsqc5n7YYALX5tQy/SLWhpYA2tgDayBNbAG1sAaWAP/n/0WYABdlO5k1DzsBQAAAABJRU5ErkJggg==",SitefinityForm:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNUIxMEUyMTMwQjMxMUVCQjgxNkZGRkNCRDcyRjc2QiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNUIxMEUyMDMwQjMxMUVCQjgxNkZGRkNCRDcyRjc2QiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhCRTlFMTFFN0JCMUVBMTE4QjMzREEwRkZFNDA4QThDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+5MHEtwAAAQZJREFUeNrs2jELgkAAhmGNwCXn0DZB93Bs6Ae3+gcaWoKjNRwcbZGWEwKHyJxDDu48uXy/NTh78vOuO/Svz7vnclae4wEAAAAAAACcznrks9vpbOQacRxvDyl3YIEVMhUpZVS1OiO8k83MACGEzgj75Mgz4PQzkOf5SAun+mmrVqV4VAgAAAAOTKNlWYaP0PI369dvYwA5hApZr1C/EXEbMN02igoBAABAZRbavcysvkEQVKtmBkBRFEauwcEW/0Y10zSNd9EaYaSBNgBd19V1rQXw0mVXKBxif0OjsglRAmRZZv9gK+JgCwAAAH+zDnynM8EdAPAzPi/9AQAAAAAAADPmI8AALrxGPTmuzNIAAAAASUVORK5CYII=",SitefinityTextField:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNTNCNjMzQzJDMjgxMUVDOTRDQjkzNTk0QzE2OTQ5MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNTNCNjMzQjJDMjgxMUVDOTRDQjkzNTk0QzE2OTQ5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjkzODA5NTMyMDIyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+zo/2BwAAAV9JREFUeNrs2rtqhEAUBuBV1wsWXrCx0EKwtAmWFnmKvKR5irRpAjYGC8FCEJQUlmI0wxaWYQad3ZH9/1YYzzccPSMoff58X84c+XLyAAAAAAAA8NyA6z/Xvt4/BKny5e0VLQQAAAAAAAAAANz5LLRlmqZlWRh2RZY1TRMIkCSJZVn0i47jWFWVQIA4jn3fp1+06zqxANdb6BdVFIV03f7iaPqQqqx1XVlvHEXRfkDbtscAWGPbdpZl+9fJ8/wxANJvjuMI9Axs+b2Fa0GSJKmqygvQNE1d11wBruumacoL0Pd9WZZcAUEQcASQ5tZ1nSuAqX9wmDvLYW4LOdLN88y1INa3HBvANE3P87gCmE6NzIAwDMmU5QpgfUlQAchw2baHdYeEeAZI3/MewHwBZPoOw3BiQFEUTJ+UR8UwjGMAd/vAfcZBBgAAAAAAAACnjoSf/gAAAAAAAADggfkTYAAWnFTQuWGxkwAAAABJRU5ErkJggg==",SitefinitySubmitButton:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowNzAzNjAyQjJDMzAxMUVDQjY4ODg2NTY4ODE1NzcwNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNzAzNjAyQTJDMzAxMUVDQjY4ODg2NTY4ODE1NzcwNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1ODA5NTMyMDIyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+8ADb6AAAAs9JREFUeNrsmmuroVEUx4+7h1wLkVtKSYnxQik1L/kC8ynnU1CUkSTSJHeKyIky7sz8o3TO8xyX43KerdnrxUn7LLV+a6/rjuDX6++XZxbhy5MLBaAAFIACUID/G0B84n+5n3FCrPz24zsNIQpAAT6fxBfK352cd5VQSCiASqWSSCRn1YbD4XK5FAgEwp2IRCJSAMLhsNFoPKu22WxwUa87abVa7XZbvBP+ARiGUSqVFyqr1Wqr1erxeCaTST6fL5fLUqmU/xy4XBkhJNkJmCORiFarzWazt4QTn1VIoVAEAgGTyURcGd1ut3/eyzFNxE8wGOQ5hLiCNE0kEm9PZDIZoiUUCnHrlc1mIw4A5bLX67HyBM4ej8exWIzVEG6spw8JIWSq+L3A8YgrVE90g2cdJUC1Xq/xl7hO/GFhRRSxDmG92+1GJrDOB4MBcQBIWYfD8fYEIYRu7XK5uK03l8sRB6DRaNCkWJmKHszVrNfrzWaTOAC4WafTnVBAOHW7XYxDtVoNyX1LYvDTifcWj3fyqUnki27grCCi0L8QaRaLJZPJYFC9+hIeArBareBaVlAhB1gtDCd+vx+HqVSKrBuA9clkkpsV8LfT6WQp+3y+SqVydTF91CjR6XRYnQFWogmABPsAS9/r9cbjcYIA9kM/93w6nabTaS7A6ZJFUBVC7o5Gow+3zecAgKEGg+FYVSVrFkKr4lqJHEDZue8NPAQAo7/ZbOau8xjm7HY7V7/f75MFoNfro9EodwM+VrLK5TJZAOhNx8zlBluhUMAKevVexs8osZfZbIYdDaPELVvlHQA+W0PgdZi+WCywCRSLRSwPPA9zMGU+n5/WORQljEkImGq1Ct/ji3K5nP+VslQqNRqN0zqHRwp82L/sQi55Ev4KAFh/dqY/zKEMwxC31N/rofyZNjIKQAEowP2WJ/qjPwpAASgABaAAFIBH+SfAAGSfJzu/qNHFAAAAAElFTkSuQmCC",SitefinityParagraph:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDNDY4QkY0RDJDMjgxMUVDQTNBQ0NGNjE2NTgwNzc3MiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDNDY4QkY0QzJDMjgxMUVDQTNBQ0NGNjE2NTgwNzc3MiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjkzODA5NTMyMDIyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WOn+LgAAAUZJREFUeNrs2rFqhEAQBuBbXVEUsRGFvINCeiEWvkKeMo9gFbAKQirhamuxUBBBNFmuuDLccDfcLvmnVZb51tmdVRRf4/lkclgnwwMAAAAAAID/DZB/XPv++NQky9f3N5QQAAAAAAAA1EZ2jXVdj+MgzIpleZ6nEaCqqjiObx90GIamaTQCqOyTJDG4hPZ9Jw26bZuquvuTu6UOJcesRFFUFMX947Rt+xxAEAR5nhsMEEJIKTVaA9eY53maJtaEXNcl7Xg0QN/3XdexAtR2V5YlF2BZFrXHcz8BxhJSLZa7uG3bxmEOAAAAAAAApkb2cwnWhKjj0wCqTTqOwzujxE5PuztN0yzLWAFhGDICXi5h3iKmHrC0W8TjOKpzqMGAuq6pHyYeEr7vPwZAfclAIwMAAAAAMCYEfvoDAAAAAAAAgCfGrwADAE/CSX9WeXJWAAAAAElFTkSuQmCC",SitefinityMultipleChoice:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMTUwMEI4NDJDMzIxMUVDQkIwMzkxNjlDNDAyRDVENiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDMTUwMEI4MzJDMzIxMUVDQkIwMzkxNjlDNDAyRDVENiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1ODA5NTMyMDIyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0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",SitefinityCheckboxes:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2RUQwNURDMDJDMkExMUVDQTA4RkM4MDkzNEJBQkUzRSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2RUQwNURCRjJDMkExMUVDQTA4RkM4MDkzNEJBQkUzRSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1ODA5NTMyMDIyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+qk9aFAAABKxJREFUeNrsmsdOM0kUhTEYk0zOYIIQmQ0skMjBK15gXpLZeMOGnDNCiJwxIAyyyNhkmE9TUgtBd08HG/g1XQtU7W73PefWuaHK2GYvNiL+5BEZ8YcPi4BFwCJgEbAI/L8J2FXuLf498ktQ1v3VbknIIvADMaAy3t/f397ezDovMtJms303AaA/Pz+npqbm5uY6HA7Dhp+enrxeL39NctBHAK/HxMS43e78/PyoqCgztnFEY2NjT0/PxcUFl6+vr/iFSXR0NG8OF4HExMSuri7cz+qbl+/Dw8P9/b1AX1hY2NLSwnx8fPzw8FA7Bx0EXl5esJGeni6tBpaE2/QO3Ox0OkdGRuDAawsKCjo7O+Pj47nFZGBg4OjoyG63h5hAcXExlsR8fX19ZWXl8fERJRgggPbw8c3NDb53uVxoUqBnMOESDj6fT4tEdRBglYVy/H7/3NxcIBAwGX+sIbGEyxMSEj5+ziUfejweIbCQEUD6YrKxsREMBnWFmqwg8/LyAEpcyQYb5rQQ0BGLEuLr62uTQQx6sjDok5KSZB8gtG5vb0NciY3JXRZ9Tk5OR0dHcnKyEvq+vr67u7vvayUwSUnSUptBn52dDXpJkF8fIILJbxr9ZTePnlxEfJMZT09PoaGiLsBlZWW1t7enpaUpPTA4OLi/vx+WOqCEvqampra2FpPn5+fDw8NKHACXmZkJ+oyMDCX0fH13dzeMlfgr+urq6oaGBpHF0TQqojyhqE8cAAdu0MNB9lUUhNHR0e3tbb3JzVQMVFZWSujFKC0tbW1tRU4f4wH01O+2tjb0o4R+bGyM7GwgNZsi0NTU9KkGMcrLy+k4JA4SejKPEnr6n7W1NY29QygJfEUvRkVFBdwAhJaIV/iQ9ZWK8eTk5OrqquGyaCoGMEwEy96qqqoC3NbWVn19Pf2CEvqpqanl5WVRZIw1JqYIYJ5gBavsXbgRskq6B/3MzMzS0hITVkm0pd8tIUwigM3NTaUHVNDTDi4uLjIvKipqbm5GdT8gIdyPyglBVp/Y1d6ELiwszM/PEyQpKSnEN/mXjR6C/IFTCcGBJLizs6MRPY6fnZ0FPbTZYyh1RN93rCI4UIb29vb+Ez2in56eFujF1sxkpxiaZg4OdBA0AgcHByroSTjEjIQ+JB1uyA62BAdaMRpJWfRIfGJi4iP6X3cyJzjQDB8fH39Czx6aODF5EhMyAirrDgc6vP7+/pOTE+lh8iwdnix66VWGiekgINkg5alzoCr19vayDpeXl7RoQ0NDSuilDgLaYa8Dko2ysjKEThOmQpX9uMfjocT6/f7Y2Niv68Yl8SB112yGwk6ArQZVUxwQlZSUqHMQENnXOp1O2bsOh4MeyeVyiSfFAWN4CSCJq6sraicOdrvd1KNAIGA4+NgZs5JifnZ2xjbSWDut4zuogjwI9Li4OC7r6upCkkaCwSAJyhh63UGMbIhIHE/pNVmDyK3kXJRDuLOZNvwefbxJGl6vt7u7m1aZPYrS4YKWQdT6fD6qG44wc0yme+HggOdoJ3GhmUVgPcFtvrTZjdmO+ndE/IJh/UppETA5bNY//VkELAIWAYuARcAi8IPjHwEGAG+pkVZ+vij4AAAAAElFTkSuQmCC",SitefinityDropdown:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MEVGMTU2MzJDMjYxMUVDQTAyRkI0OUVCRDcwMUY3QyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MEVGMTU2MjJDMjYxMUVDQTAyRkI0OUVCRDcwMUY3QyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjkzODA5NTMyMDIyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+jwpPRAAAAhNJREFUeNrsmstqwkAUho1Gwbug4gUVERURFKJ4Q6FLfYG+pH2K7KQLu3DTjVuX2URw4SX+VJBSaZzYmMzQc7YOh/lm/nPmP0HpXfv0iBxej+BBAARAAARAAP8bQDb57eNN5WSXyusLSYgACIAACMDxd+Aap9PJndP1eu0BiEQiPp/PeQBd1+0BGAwG6XTaeYD5fG4PQCwWSyQSAhexLMtiF/FqtYpGo+xJsbher3MEsF6vJUliT5rL5fgCOBwOhmGwJ8V6viQkfQV70utiTdN2u52lDeHNSSaToVDIToC/vESqqlrqAcFgcDqd2nwDD0c8Hi8Wi8vl0u/3M2pvNpsFAgFeAKCl4XAIIW02m7tv+X6/73a7Vqv/6WYOZz8ej8PhsHkbgPQzmUy/3+fRjaZSKRytiSMEGzgnkwmj0lyw081ms1ar/dZewdbpdLLZLL/zAIphNBqhP97eA6iq1aqiKLwPNCgDFMMPkUA8oAKbGBNZoVBotVrfLwFPBLw65g1hRsperweM4/F4kX6j0SiXyyLNxJdiwJGDIZ/PP9A3HwEwrIdJNogeXRUT0m1JPMvMQamWzNxd84OuiksAiUNutFKpWKozlumnVCo5Z6fb7bYtp+XaTOzkgPKUG9B1HTZdYIDFYsHthwmmbW23W3f0bdenRZZEXBcxz0EABEAAgodEf/ojAAIgAAIgAAJwMc4CDABkTLYtENoW8wAAAABJRU5ErkJggg==",SitefinityLoginForm:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4NzFEODQxMzJDMEMxMUVDOTI3RkIzNzc0NDQwMDAxRSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NzFEODQxMjJDMEMxMUVDOTI3RkIzNzc0NDQwMDAxRSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyQjA1MDFCQzEzM0VCMTE4Njg5QzkwOTI3RTU1NjA5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+UfElhQAAA4NJREFUeNrsWk1P4lAU1Yp8iDEoEjCRGFzo+LFwYCEhyEQTF+7Y8CtnwY64Mk6Uj2AIEhKCSgBZQINJFUFBRWdO6IQw0BZKCqWZd1ePvtLe89659577YDrKpKeUbNSUwo0AIAAIAAKAAPi/AagE5uI/f02Il999PwiFCAACQHwQS2u/W9Z7fbplkw4Aruv1eo1G0zv19vbGMMzMzIxKpRoCyZgAwHuv18vpH7DV6/VCoZBIJN7f3ymKmkQABoNhfn6ebxZTuGFtbS0QCACMqH2QMoi/vr4+Pj4+Pz97pyqVCmYFvjs7O7u8vHxycqJWq2XbASzkysrK4+MjTdNdfry+vvr9fhCd84vfWoaByWSy2+2RSGTwTZASwN7e3vr6Onh8fX2dTCY7QxZEL5fLnFkIVq1WQf2NjQ2Mt7a2rq6uhLdrVBQyGo1zc3Ng8/7+PhYSbO70mM0znPby8hKNRlmnsXV4jsyFTKfTORyOo6MjxAPfqv/jBEXVajUkU/ajqDAYVRbSarW7u7sYhMNhLG3f5IgbwL0230YFAI8WYGfXixGIOzs7qADn5+eoVnwR3Hn/OCoxHOKb6nUR64qwxuDy8hIkAd1l1kKHh4cIU4FqxXkdGEDrUCj08PCAfC8nADbTDWGrq6sejwep5v7+nlMRKUBOWywWt9u9ubmJeFCknIYtLS25XC4ERjabVWpDA7lxcHCg7I4MoaxUCsFubm6glBQJABUwk8mgICCIJSwI4ij0/Pw8tPfxePzi4gINg7TlTNyzIGxsNhvfrNVqhYzj7HpTqRRUPkq12I5RYgB3d3dwhW/W5/OhYHVdhKiOxWLod4fr2SUGoG7Z4Fro6ekp0TJU377eixKh4whi9JbBYDCXy0FaD6Jz27EhaqOkBND5YiR7JJxisTiI8oH3EHkLCwvsx2azKQ+A9otLpdLp6SnY36k9OU8r/jqhUm1vb7MbhXxVqVTkAZDP55GF8Hqky65kjzVeXFzkS0Fms9npdLJjyFVRR0NSAkCJTafT6NBBmy5fEfrHx8d8dGqfebHdvWwxAC/BE85SgDXue9YA78/OzhD6omqFxFmIb/HQTzYaDb6zUcBGwsXa0zTdt3WWRwsxDIOUytlPQlxgFq4jZsR6Pz4AYMXt7a3A7wND95njU6NDrO6ENjQEAAEwUTZN/vRHABAABAABQAAQADLaHwEGAKnTgZqotI8sAAAAAElFTkSuQmCC",SitefinityRegistration:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0NTM1N0U2MjJDMDExMUVDOEY3RDg4M0VBRDE5MDJBMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0NTM1N0U2MTJDMDExMUVDOEY3RDg4M0VBRDE5MDJBMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyQjA1MDFCQzEzM0VCMTE4Njg5QzkwOTI3RTU1NjA5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1WQ0IgAABApJREFUeNrsmtkvJFEUxillHUEjRGxBCEEQWyKReed5/srxyBMehkgnHUnHAxk7sbWt0bZBY37pO65KSbdaW3WmzoNU3Xu6+3z3bN+pkh2K/s7KZFGyMlx8AD4AH4APwAfwfwNQU+yFf/7yiJV9P777IZSJIWRWXl5eXl9fxXX2m2QGAEx/fn5uaGioqKgQK4+Pjzs7O7e3t6qqugrDAQBPT0/19fXDw8NlZWWK8h6TrBweHs7Pzz88PLiHwS6AeDw+MjLS0dFRUFCg28rNzW1qaiovL5+amrq7u/NiEhPxbW1t3d3dH63/9+2KEggExsbGPFqFsG9oaIgoT62GE/r7+2V+ewgAEVJSUmJEEy/l5OR4DkBra6tBzby8vOrqas8ByM/PN65cVVXlxSR2CW2aAHyavlqJxWKeA3BycmJc+fT01HMANjY2DGpeXV1dXl56DsDZ2dnBwYERzVAoRM/2HABsWlhY+PRoV1ZWIHYu0SFbALAJJ8zNzUUikWQsNRwOLy4ucpGMCP55E2ut2i6ZoxDt7e1hR21tbU1NDcxH8KLr62sRYFtbW+wma8ONjY2yl6MJCU8HAI4Km0RM4wS6bCQhWF9aWirqPZPAxcUFMOCk3N7f3/MplEHCigynzs7Ouro6cX1+fm6hUpkGQDDw883NzYIa4Pr19fWbmxtcQTJEo1ERCfA8bAUbh8qcAGlFAczHx8d4TE45RUVFAqGgG66HEMbx21DLlpYW6Xo4wtraGmYJbCJauMZLGAdf4piZeIQyrlhdXV1aWmLKEWrW+rpFABg3ODjY09Ojo3R4gwg+OjpicBGWEUhEFES6vb2daZNCxPEDT02IdnBL60RGzumsF4I3ent7QULQc8asFBYW4hkM5XZ2dnZ3dzeeEI6cRRJdhJD21NnVJbE2W5wBMDAwkGL3W0J0i3iG6CK+8QkO0SloRzmKmI7w4dJP258JAIGEmHUxQSXTFC/JZJBn/P74ra9PlwaTk5OUJscAMH9ZGzu1kZaCVH+sQslGbYuduLKyMrOfzBkcfz/2DS0npfBrd8l12aRJd+qVdlcUNMcA0I8sACguLpYY4EWbm5va0KIqkNliZXl5mT6o/azu1i4Aa8WblofRgrFyxlAMmdz87erqkpr7+/s6cm7ksaTqdoySmuPj49vb27r1mZkZQaW05mqLUprYqEHWDXf6+idzboxU9qccEwBgbI4DEFkhRFeCnA8hKCRTC4zfvt2y4waDQRn38Ch3AcRisenp6dHRUd17ALPCScvBBaMlGGvfqZqKV6bEiYkJ7ZsYC8KAz7AmDt7+ayhzVUhJCNWamm097RTFQrl0sow6OI588WMVH4ATncT/pz8fgA/AB+AD8AH4AL5Q/gowAK6H4Cru28zdAAAAAElFTkSuQmCC",SitefinityChangePassword:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpENzVGQjM3QTJDMEUxMUVDQkU2QkVCNDQ5N0Y2QzRFRiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpENzVGQjM3OTJDMEUxMUVDQkU2QkVCNDQ5N0Y2QzRFRiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjEyQjA1MDFCQzEzM0VCMTE4Njg5QzkwOTI3RTU1NjA5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+aUEqEQAAAppJREFUeNrsmkmrGkEUhZ/Tcx5AEWdENy5cmKUIBvwP+ZVZuXLhKm6UbKILxYUDzhOoiLMx5vA6NIXmvSTa9VrJvQspqmy6vu57z7klKr5Oq0+PHMqnBw8CIAACIAAC+L8B1G+sffv85U52+eHTR0ohAiAAAiCAd/eByzidTsfjEZ8cn6hSqVKpuAD8eIlwOKzRaPgBzGazXq+n1WoVCoXEACaTKZVKWa1WtVrND2C32w0Gg1wu95fv+R+2EovFPB4PBpvNhtPukTwWi8VsNne73Xq9LjGA3W4XBplMhhOAw+FIJpNIHpvNxqWIhRgOh/zeAF8V+nUNtxq4AoCM7LGM7NLX9vs9q3fIAcElvr+EOI+6xDxM6vISTD4/P8sDgIhGo6yvjcfjyWSC7UJPBM0V4nA4tFotbB3jSCSi1+vFpcVi0W63gSEDQDAYjMfjbOXBR9PpNB4w5l0ulziPBsRoNBaLRZ/PhyUYrbi0Xq+n0yk+ZagBbFGn02mYcDqdgoT7/X52Hl8LBAKYd7vdcHR2CdYO85KniNksFwNP+h3Uk2T0dUe7IptRIfKoEDRnu92yGPP5HHWMAboxtoiRbJ1OR2hDVqvVWRFDiOQBaDQakHBWRkejEc4MkNF8Pu/1elkZbTabGACjUCicyehyuZRHRhGlUumsHAUeuAHaenYJqMIuK5XKvRgZnjT08bXy+G2F4BI2f6gXuuoN3CIafzx2cwQQ6+wW43w7DAbD2b2kBBAFPpFIcAIQKwpSKz1AuVzGsRgKiB6OX06jY4WT1Go16QHQ9Gaz2VAoJK2MnAU8oVqt7nY76X8XgizCevv9PldVwb5xIy41IPjULZ0jnYkJgAAIgADuLhT0pz8CIAACIAACIAAZ46cAAwChGABJOwBj7gAAAABJRU5ErkJggg==",SitefinityFileField:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0QzY0OEI4RTJDMkQxMUVDOTBCNUNDNEI4RDk4QzkxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0QzY0OEI4RDJDMkQxMUVDOTBCNUNDNEI4RDk4QzkxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1ODA5NTMyMDIyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+CzVwnAAAAzZJREFUeNrsmrtPIlEUh2EAgSAQJds4IgEDDUFeBSaCGy2Mhnr/yi0IDdZbAGETYqMJBSUEArpReQR8wP52JpkQhFk4M+sw2XuqO/ecC/cb7nldNf78VTPoWTiDzoUBMAAGwAAYwP8NYJbR3Xz/sSG7jH/7yo6QHo+QQplOp+/v7xiYTCaj0ag/ALvdfnV1hcH19fVoNNLfETo/P/8iCAY684HX19fLy0ue58VHDPCISX0AvLy8HB8fe71e6dxjgEdMQrXpAG9vb6lU6ujoaM5r8YhJqGCwuQDY3P7+fjQatVgsH7WYhAoG6jKoBjCZTLC5s7Ozra2tZTZQwQBmMN4sAGzIZrOdnJw4nU55SxjADMZqMagAgISFkH9xceHxeFaxhxmMwYCF2gOI6RYRZm9vb/VVMD49PcVC5QwqAGQymWAwuO7CQCCAhdoDRCKRcDjMcZTPwUIs1xggFArRdv/nuzkOyzUu5prNpsvlmov3y5AQeeYKCizXGOD29rbdbs/OIN3u7OwsNH56eqpUKrMz9/f3GgP0er3Hx8c5r1gGMBwO6/X67IxJEC0BPu5AxiWgksnTnwowFcQoiPJALAZTWjDgyF+JVKpW52kThFbkUX4BHIN4PI7yod/vV6tVhQAHBweHh4cY3N3dEXyaAuB2u2OxmDhWDoB05vP5MBgMBgQAyhGyWq0yWhmvWKhSeBSJPkDTLlRJdTWtLlK/J354eCCoNuheqFarbW9vL1PpAKDT6eRyuWXOYzabtQeQT15mQQyfJRQfUPFaQUrDf30vagI8Pz/P5gRyV4WFqKOkoEy79qIAoKhE0hHHiUQCgRzd7WR9wUlDYyleBQCm0Wh8ng8gniSTSYzRDePNoQoQb9LXasd4nk+n05LrIw0T6jmit6GC8Pv9u7u7Yi0AmT1Xq4jD4ZDq8NFoVC6XadUoPVwUCoVsNut0OsWYM9dYru4G2H2pVGq1WrTOhg4AN8jn8yhLcYpoLw+7x7FBk9ntdsl9GR0AnjAej4vFInaw4p3cx3YUb0FhV6ko44BBPD/k3nzhPbYGpcS/+xueBtUoA1jzx2f/9McAGAADYAAMgAFoKL8FGAAyPoDNtwwWoAAAAABJRU5ErkJggg==",SitefinitySearchBox:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2OUJENkZBQzk0QjQxMUVDQjY3MEEwQzU1QjVDODgzQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2OUJENkZBQjk0QjQxMUVDQjY3MEEwQzU1QjVDODgzQyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI2MkNDQkYxMzMyQ0VDMTE5QUVFQzkzNzZERTAxNjk3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+KJuuuwAABGRJREFUeNrsmllLG1EUx5tptEajouBuiuIC7hRFEB+iiOYT9BP62FeXF1GLiFARd4wLKnVFSYz7Eqv9Nbekt9c4zSQyk9A5D+KcORPP/57/2SY6vgX979JZtHdpLjYAG4ANwAZgA/i/ATh17s1/+ZoiXn767LUpZAOwAZgO4Onp6fn52coqlID8iAiu83tZWdn9/X0wGPx1Tpr2PiIpCoCTxm+Hw/ExIqWlpZmZmU6nU+gfHh6Oj4+/RwQN+tQCIKjS0NDQ1NTkdruF64pNQUFBTU3N1dXV6urq8vIyNsQkJQDgfXZ2dk9PT3FxcVZW1qt/JiJY5uXlVVZWzszM3NzcvAkGLUnvXS6Xz+eDNjrey4JZbW0tj/CgSBXLAEAbnBgYGCgpKTH0IKnCIzxIQJIvU0lRyOv1UmoUJdzY2Ng4ODgQlxkZGbCrvr4ed2UzHuzq6hofH7cGACeHT1VVVYp+bm6OUnN+fn59ff07xJp2eHi4s7NDEre2tsrGaHZ3d7e3t4mJ2QAoI52dnYqS1FxbW7u7u8NpDj6qR0NYBCpO/Q99Na29vR1sFuQAWZuTk/PX7D0/T4mk5FNtlPLCJUpgYICZfKuwsJCiZAGAuro6+TIQCCwsLNCzdCojtzDALMqumB9lBgD8UHJ3cXGRqeGfVMYAM7/frwQzmVqUCADiLlOcP08uxtmVMCNPZM2HiJgKIDc3V74MhUJQP/7HLy8vyWlZk5+fbyoApYPCaUNDATMpmJUgmApAcZfpwBCJwa/E8PHx0VQAShlhPjM0IXPeCgBahKkAIACFSG5qFKU4g8DxV1dXy5pwOKyciBk5cHJyImtaWlriHAcoX21tbbJmb28vmbk6kSfxdXNzU9Z4PB4WGsKiEwexnTU2NrLcyPr19XULOjGFn9DLGoYc0VNldsmui6bb0dGhpBPbpgUAKOQrKyvKzsVe1tzczAFTVcKSiJWSWxjIHRCZnZ2lN1swTsNaJufy8nJ5mwFDd3c3nN7a2mL9Fe0CSzo38wI0e/k5t7e3li00sGJ6erq3t1fhtCciIggia3WKbF9f39jYGCtEwnmcePqTytB3cnIyZhXHaVdE9FsEJbi/v5+JOuH9OKmlHueOjo4mJibYuV7mbkwhLLBLKazsxxUVFYlhSPbFBhjwfmRkhBlTf6rj1tnZ2dLS0tTUFPOcEgcwxN8N3/jFFhg4ftbzoqIi1lwSgOlIfovIXWhG7wPkxcUFt4gD7Jd3OuYLn883OjqKmaEV2aHzvxJGv6GBA+Qu7uKZ2+2O6uGMeI0V3TYxAycYlFcVrJ1DQ0PidaosJn1Dg3OQgcQFQ0gSLomJ/DoRJPv7+ySPMgVhRk6bmgOvFShNkpiUgEhUT5JH2Q2MLjdWfsEBhkAgAAYSI6o8PT1NGwCCdVSk4eFhMDBT8JO+ZnYVSp5v+D04OMiWAxjSw1AVsh6AwEA7owQpo14aUOgNSJjuABz2P/3ZAGwANgAbgA3ABmCh/BRgANeMT12zCp0RAAAAAElFTkSuQmCC"};$m.SitefinityFormContentBlock=$m.SitefinityContentBlock,$m.SitefinityLoginButton=$m.SitefinityLoginForm,$m.SitefinityForgottenPassword=$m.SitefinityChangePassword,$m.SitefinityResetPassword=$m.SitefinityChangePassword,$m.SitefinitySearchResults=$m.SitefinitySearchBox;var eg,tg=$m;!function(e){e[e.Before=0]="Before",e[e.After=1]="After"}(eg||(eg={}));var ng=function(){function StyleSheetService(e){(0,i.Z)(this,StyleSheetService),this.documentProvider=e}return(0,o.Z)(StyleSheetService,[{key:"insertLinkTag",value:function insertLinkTag(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.documentProvider,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=new Ft.xQ,o=t.createElement(ot.LINK_ELEMENT);return o.rel="stylesheet",o.href=e,o.onload=function(){i.next(!0),i.complete()},o.onerror=function(){i.next(!1),i.complete()},n&&this.setAttributes(o,n),t.head.appendChild(o),i.asObservable()}},{key:"insertStyleTag",value:function insertStyleTag(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.documentProvider,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=document.createElement(ot.STYLE_ELEMENT);i.type="text/css",n&&this.setAttributes(i,n),i.appendChild(document.createTextNode(e)),t.head.appendChild(i)}},{key:"setAttributes",value:function setAttributes(e,t){t.forEach((function(t){e.setAttribute(t.key,t.value)}))}}]),StyleSheetService}();ng.ctorParameters=function(){return[{type:Document,decorators:[{type:l.tBr,args:[Se]}]}]},ng=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Document])],ng);var ig=n(96),og=["pointermove","pointercancel","pointerup"],ag=n(388),rg="zone-editor",sg=function(e){(0,f.Z)(EnhancedPageComponent,e);var t=(0,p.Z)(EnhancedPageComponent);function EnhancedPageComponent(e,n,o,a,r,s,c,d,u,f){var p;return(0,i.Z)(this,EnhancedPageComponent),(p=t.call(this)).siteDataStore=e,p.modalWindowService=n,p.route=o,p.zoneEditorContract=a,p.renderer=r,p.treeService=s,p.styleSheetService=c,p.notificationService=d,p.windowProvider=u,p.scrollService=f,p.frameLoaded=new l.vpe,p.layoutChanged=new l.vpe,p.addWidgetClicked=new l.vpe,p.editWidgetClicked=new l.vpe,p.onComponentClicked=new l.vpe,p.onComponentOperationExecuted=new l.vpe,p.isInitialized=!1,p.notificationFilter=rg,p.currentlyDraggedElementTitle=new re.t(1),p.dragImagesMap=new Map,p.dragImagesSrcList=tg,p.waitForInsert=!1,p}return(0,o.Z)(EnhancedPageComponent,[{key:"documentProvider",get:function get(){return this.windowProvider.document}},{key:"documentIFrameElement",get:function get(){return this.iframe.nativeElement.contentWindow.document}},{key:"commonToolbarOptions",get:function get(){return{widget:null,dataItem:this.dataItem,iframe:this.iframe,route:this.route,windowElement:this.iframe.nativeElement.contentWindow,segmentId:this.state.SegmentId}}},{key:"ngOnChanges",value:function ngOnChanges(e){e.iFrameUrl&&(this.isInitialized=!1)}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(EnhancedPageComponent.prototype),"ngOnDestroy",this).call(this),this.removeListeners()}},{key:"onContentLoaded",value:function onContentLoaded(){if(this.iframe){if(this.frameLoaded.emit(),!this.state.EditAllowed)return;var e=this.documentIFrameElement.title.toLowerCase();if(e.includes("404")||e.includes("cannot process page")){this.removeListeners();return void this.showNotificationMessage('
    Page cannot be displayed. Enable .NET Core renderer or contact your administrator.
    How to set up .NET Core renderer?
    What is .NET Core renderer?
    ',ya.WARNING,!0,!0)}if(e.includes("internal server error"))return this.removeListeners(),void(this.isInitialized=!0);var t=this.documentIFrameElement.querySelector("body"),n=this.iframe.nativeElement.contentWindow.rendererContract;if(!n)return void this.showErrorMessage("No contract for communication with the zone editor was found on the rendered page.",!0);this.renderer.initialize(n);try{(0,Re.Z)((0,Qe.Z)(EnhancedPageComponent.prototype),"removeSubscriptions",this).call(this),this.subscribeEmptyLinks(),this.loadResources(),this.mirrorMainBodyClasses(),this.subscribeToDocumentEvents(),this.treeService.commonToolbarOptions=this.commonToolbarOptions,this.treeService.emptyMessageLabel=this.state.EmptyMessageLabel,this.treeService.addMessageLabel=this.state.AddMessageLabel,this.treeService.addMessageForEmptyScreenLabel=this.state.AddMessageForEmptyScreenLabel,this.treeService.emptyRootClasses=this.emptyRootCssClasses;var i=this.documentIFrameElement.body;this.rootContainer=this.treeService.initializeTree(i,i.parentElement,this.state),this.enhance(this.rootContainer),this.onLayoutChanged(),this.isInitialized=!0}catch(e){return e=e||"Unhandled error occured",this.showErrorMessage(e.toString()),void this.removeListeners()}t.hasAttribute(jf)&&this.showNotificationMessage("Some of the widgets are placed outside the page template and will not be displayed on the public site.",ya.WARNING,!1,!0),this.addSplitterEvents(),this.prepareDragImages()}}},{key:"addSplitterEvents",value:function addSplitterEvents(){var e=this;og.forEach((function(t){e.iframe.nativeElement.contentDocument.removeEventListener(t,e,!1)})),og.forEach((function(t){e.iframe.nativeElement.contentDocument.addEventListener(t,e,!1)}))}},{key:"handleEvent",value:function handleEvent(e){var t=new PointerEvent(e.type,e);document.dispatchEvent(t)}},{key:"prepareDragImages",value:function prepareDragImages(){var e=this;Object.keys(this.dragImagesSrcList).forEach((function(t){var n=e.documentProvider.createElement(ot.IMAGE_ELEMENT);n.src="data:image/gif;base64,"+e.dragImagesSrcList[t],e.dragImagesMap.set(t,n)}))}},{key:"focusWidget",value:function focusWidget(e){var t=this.treeService.findComponent(this.rootContainer,e);if(t){var n=this.iframe.nativeElement.contentWindow.pageYOffset+t.domElement.getBoundingClientRect().top-30;this.scrollService.scrollToPoint(n,void 0,this.iframe.nativeElement.contentWindow),this.onWidgetClicked(null,t)}}},{key:"reloadPersonalizedWidgets",value:function reloadPersonalizedWidgets(e,t){var n=this;this.zoneEditorContract.getLazyComponents(this.dataItem,e,t).subscribe((function(e){n.siteDataStore.getValue().subscribe((function(t){var i=e.Components.map((function(e){return n.renderer.renderWidget({siteId:t.Id,dataItem:n.dataItem,model:e}).pipe((0,w.U)((function(t){return{model:e,renderResult:t}})))}));(0,Zo.D)(i).subscribe((function(t){t.forEach((function(t){var i=n.treeService.findComponent(n.rootContainer,t.model.Id),o=n.treeService.refreshNode(i,e.WidgetState,t.renderResult.content,!0);n.enhance(o),n.loadScriptsAndDispatchEvent(t.renderResult,t.model,o.domElement)}))}))}))}))}},{key:"enhance",value:function enhance(e){this.treeService.iterateTree(e,this.enhanceWidget.bind(this),this.enhanceContainer.bind(this))}},{key:"enhanceContainer",value:function enhanceContainer(e){var t=this;e.enhanced||(e.parentComponent||(e.domElement.classList.add("-sf-static"),e.addEventListener("mouseover",(function(n){return t.onMouseOver(n,e)})),e.addEventListener("mouseout",(function(n){return t.onMouseOver(n,e,!1)})),e.addEventListener("mousemove",(function(n){return t.onMouseMove(n,e)})),e.isRoot&&this.useNarrowLook&&e.domElement.classList.add("-narrowed","-center-horizontal")),this.enhanceWithDrop(e,e,!1))}},{key:"enhanceWidget",value:function enhanceWidget(e){var t=this;e.enhanced||(e.removeListeners(),e.domElement.setAttribute("draggable",e.moveAllowed.toString()),e.moveAllowed&&(e.addEventListener("dragstart",(function(n){return t.drag(n,e)})),e.addEventListener("dragend",(function(n){return t.dragEnd(n,e)}))),e.addEventListener("mousedown",(function(t){e.moveAllowed?(t.stopImmediatePropagation(),t.stopPropagation()):t.preventDefault()})),e.addEventListener("mouseover",(function(n){return t.onMouseOver(n,e)})),e.addEventListener("mouseout",(function(n){return t.onMouseOver(n,e,!1)})),e.addEventListener("mousemove",(function(n){return t.onMouseMove(n,e)})),e.iscontentwidget&&this.setCssPositionAndDisplay(e),e.addEventListener("click",(function(n){return t.onWidgetClicked(n,e)})),e.editAllowed&&e.quickEditMenu&&e.quickEditMenu.instance.setCloseModalCallback((function(n){t.handleQuickEditOperation(e,n)})),e.iscontentwidget&&this.enhanceWithDrop(e,e.parentContainer,e.iscontentwidget),e.enhanced=!0)}},{key:"setCssPositionAndDisplay",value:function setCssPositionAndDisplay(e){var t=e.domElement,n=this.windowProvider.getComputedStyle(t);"static"===n.position&&t.classList.add("-sf-relative"),"inline"!==n.display&&"inline-block"!==n.display||(t.classList.add(ip),this.handleSvgImageStyles(e.domElement))}},{key:"handleSvgImageStyles",value:function handleSvgImageStyles(e){var t=e.nodeName===ot.IMAGE_ELEMENT?[e]:e.querySelectorAll(ot.IMAGE_ELEMENT);if(t)for(var n=!1,i=0;!n&&i-1&&(a=a.replace(a.slice(r,a.length),""));var c=a.endsWith(".svg")||s>-1||l===y.iK.SVG,d=0===o.clientWidth&&0===o.clientHeight;c&&d&&(o.closest("[".concat(Hf,"]")).classList.add("-sf-width-100"),n=!0),i++}}},{key:"enhanceWithDrop",value:function enhanceWithDrop(e,t,n){var i=this;e.addEventListener("drop",(function(e){return i.drop(e,t,n,n)})),e.addEventListener("dragover",(function(t){return i.dragOver(t,e,n)})),e.addEventListener("dragleave",(function(e){return i.dragLeave(e,n)}))}},{key:"handleQuickEditOperation",value:function handleQuickEditOperation(e,t){t.SourceOperation.Name!==ss.CANCEL?this.handleWidgetOperationExecution(e,{Success:!0,SourceOperation:{Name:ae.lG}}):this.treeService.removeQuickEditMenu(e)}},{key:"handleWidgetOperationExecution",value:function handleWidgetOperationExecution(e,t){var n=this,i=this.handlePersonlalizationChange(e,t);i.handleAction&&(t.SourceOperation.PerformsDelete&&t.Success&&!i.isDeletingPersonalization?(this.treeService.removeNode(e),this.onLayoutChanged()):t.Link?this.windowProvider.open(t.Link,"_self"):this.siteDataStore.getValue().subscribe((function(o){var a=!0;t.Message&&(n.notificationService.publishBasicNotification({message:t.Message,look:t.Type.toLowerCase(),filterParam:rg}),a=!1),t.SkipRerender||("duplicate"!==t.SourceOperation.Name?n.getModelAndRender(o,n.dataItem,e.id,i.widgetSegmentId).subscribe((function(i){var o=n.treeService.refreshNode(e,i.model.WidgetState,i.renderResult.content,!0);n.enhance(o),t.SourceOperation.KeepFocus&&n.onWidgetClicked(null,o),t.SourceOperation.Name!==ae.lG&&n.onLayoutChanged(a),n.loadScriptsAndDispatchEvent(i.renderResult,i.model,o.domElement)})):n.getModelAndRender(o,n.dataItem,t.State.Key,i.widgetSegmentId).subscribe((function(t){var i=n.treeService.addNodeFromHtml(e.parentContainer,t.model.WidgetState,t.renderResult.content,e.addWidgetComponents[e.addWidgetComponents.length-1].location.nativeElement);n.enhance(i),n.onLayoutChanged(a),n.loadScriptsAndDispatchEvent(t.renderResult,t.model,i.domElement)})))})))}},{key:"handlePersonlalizationChange",value:function handlePersonlalizationChange(e,t){var n=null,i=!0,o=!1,a=null;return t.SourceOperation.ContextParameters&&(a=t.SourceOperation.ContextParameters.find((function(e){return e.Name===g.Tx.WIDGET_SEGMENT_ID})))&&(t.SourceOperation.PerformsDelete?(o=!0,n=null,a=null):n=a.Value),!a&&t.AvailableActions&&1===t.AvailableActions.length&&(n=t.AvailableActions[0]),e.widgetSegmentId&&n&&e.widgetSegmentId===n&&!o&&(i=!1),n||(n=e.widgetSegmentId),{widgetSegmentId:n,handleAction:i,isDeletingPersonalization:o}}},{key:"getModelAndRender",value:function getModelAndRender(e,t,n,i){var o=this,a=new Ft.xQ;return this.zoneEditorContract.getHierarchicalWidgetModel(t,n,this.state.SegmentId,i).pipe(this.catchErrorAndShowNotification()).subscribe((function(n){o.renderer.renderWidget({siteId:e.Id,dataItem:t,model:n}).pipe(o.catchErrorAndShowNotification()).subscribe((function(e){a.next({renderResult:e,model:n})}))})),a.asObservable()}},{key:"onLayoutChanged",value:function onLayoutChanged(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];!this.rootContainer.hasAnyOrphans()&&e&&this.hideNotificationMessage(),this.layoutChanged.next(this.rootContainer)}},{key:"onMouseOver",value:function onMouseOver(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e.stopPropagation();var i=t.domElement;this.treeService.isInlineElement(i)&&this.treeService.isFakeOrAddWidget(e.target)&&(i=i.parentElement.closest(".sf-zone-widget")||i.parentElement),n?i.classList.add(dp):i.classList.remove(dp),t instanceof hp&&this.initComponent(t),n||this.deactivateAddWidget(null,pp,"".concat(Ap,".").concat(pp))}},{key:"onMouseMove",value:function onMouseMove(e,t){e.stopPropagation();var n=e.target,i=e.target.closest(".".concat(rp));this.canShowAddWidget(n,t)&&this.activatePreviousOrNextAddWidget(i,e.clientY,!1,t)}},{key:"initComponent",value:function initComponent(e){this.treeService.initAddWidgets(e),this.treeService.addLabelElement(e)}},{key:"initComponentForEditing",value:function initComponentForEditing(e){var t;return this.initComponent(e),e.editAllowed&&(t=this.initOperations(e),this.initToolbarSubscriptions(e)),t}},{key:"initOperations",value:function initOperations(e){var t;return e.operationsInitialized?e.inlineToolbarComponent.instance.refreshOperations():(this.treeService.addInlineToolbar(e),(t=new re.t(1)).pipe((0,Zi.K)((function(t){return e.operationsInitialized=!1,(0,qn._)(t)})),this.catchErrorAndShowNotification()).subscribe((function(t){e.inlineToolbarComponent.instance.loadOperations(t)})),e.operationsInitialized=!0),t}},{key:"initToolbarSubscriptions",value:function initToolbarSubscriptions(e){var t=this;if(e.inlineToolbarComponent){var n=e.inlineToolbarComponent.instance.onOperationExecuted;e.toolbarSubscription||(e.toolbarSubscription=n.subscribe((function(n){t.handleWidgetOperationExecution(e,n),t.onComponentOperationExecuted.emit({component:e,result:n})}))),e.focusToolbarSubscription||(e.focusToolbarSubscription=e.inlineToolbarComponent.instance.onFocusOut.subscribe((function(){e.domElement.classList.remove(up)})))}}},{key:"onWidgetClicked",value:function onWidgetClicked(e,t){e&&(e.stopPropagation(),e.preventDefault(),this.dispatchClickToRootDocument(e)),this.documentIFrameElement.querySelectorAll(".".concat(up)).forEach((function(e){e.classList.remove(up)})),t.domElement.classList.add(up);var n=this.initComponentForEditing(t);this.onComponentClicked.emit({widgetId:t.id,segmentId:this.state.SegmentId,widgetSegmentId:t.widgetSegmentId,dataItem:this.dataItem,ready:n})}},{key:"drag",value:function drag(e,t){if(e.stopPropagation(),t.quickEditMenu)return e.preventDefault(),void e.stopImmediatePropagation();this.currentlyDraggedId!==t.id&&(this.currentlyDraggedId=t.id,this.currentlyDraggedElementTitle.next(t.title));var n=new Ft.xQ;n.pipe((0,Zi.K)((function(t){return e.preventDefault(),(0,qn._)(t)})),this.catchErrorAndShowNotification()).subscribe(),this.editWidgetClicked.emit({ready:n});var i=this.dragImagesMap.get(t.name)?this.dragImagesMap.get(t.name):this.dragImagesMap.get("Custom");e.dataTransfer.effectAllowed="move",e.dataTransfer.setDragImage(i,0,0),setTimeout((function(){return t.domElement.classList.add(np)}),0);var o=t.parentContainer;1!==o.children.length||0!==o.childContainers.length||o.emptyWidget||this.treeService.addEmptyWidget(t.parentContainer)}},{key:"dragEnd",value:function dragEnd(e,t){this.waitForInsert||(t.parentContainer.emptyWidget&&this.treeService.removeEmptyWidget(t.parentContainer),setTimeout((function(){t.domElement.classList.remove(np)}),0),this.deactivateAddWidget(),this.activatedAddWidgetPosition=null)}},{key:"dragOver",value:function dragOver(e,t,n){e.preventDefault(),e.stopPropagation();var i=e.currentTarget;if(n){var o=this.treeService.getPreviousInlineComponent(t);this.initComponent(t),o&&this.treeService.initAddWidgets(o),this.activatePreviousOrNextAddWidget(i,e.clientY)}else i.classList.add(tp)}},{key:"dragLeave",value:function dragLeave(e,t){e.preventDefault(),e.stopPropagation();var n=e.currentTarget;n&&n.classList.contains(tp)&&n.classList.remove(tp),t||this.deactivateAddWidget(),this.activatedAddWidgetPosition=null}},{key:"activatePreviousOrNextAddWidget",value:function activatePreviousOrNextAddWidget(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0,o=e.getBoundingClientRect(),a=o.height/100*10,r=o.top+Math.round(o.height/2-a),s=o.top+Math.round(o.height/2+a),l=null;t<=r?l=eg.Before:t>=s&&(l=eg.After),null!==l&&this.togglePreviousOrNextAddWidget(e,l,n,i)}},{key:"canShowAddWidget",value:function canShowAddWidget(e,t){var n=!1;return!e.closest(".".concat(rp))||this.treeService.isInlineToolbar(e)||this.treeService.isAddWidget(e)||this.treeService.isEmtpyWidget(e)||!this.treeService.isZoneWidget(t.domElement)||(n=!0),n}},{key:"togglePreviousOrNextAddWidget",value:function togglePreviousOrNextAddWidget(e,t){var n,i,o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=arguments.length>3?arguments[3]:void 0;this.activatedAddWidgetPosition!==t&&(o?(this.deactivateAddWidget(),n=t===eg.Before?this.getActiveAddWidgetDrop(e,!0):this.getActiveAddWidgetDrop(e,!1),this.activatedAddWidgetPosition=t):(this.deactivateAddWidget(null,pp,"".concat(Ap,".").concat(pp)),n=this.treeService.getSibligAddWidgetElement(a,!!t),i=pp),this.activateAddWidget(n,i))}},{key:"getActiveAddWidgetDrop",value:function getActiveAddWidgetDrop(e,t){var n;if(t){var i=this.treeService.isInlineElement(e.previousElementSibling)&&e.previousElementSibling.classList.contains(np)?e.previousElementSibling.previousElementSibling:e.previousElementSibling;n=i&&this.treeService.isInlineElement(i)?i.lastElementChild:i}else n=this.treeService.isInlineElement(e)?e.lastElementChild:e.nextElementSibling;return n}},{key:"activateAddWidget",value:function activateAddWidget(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tp;e&&e.classList.add(t)}},{key:"deactivateAddWidget",value:function deactivateAddWidget(e,t,n){t=t||tp,n=n||".".concat(t),e?e.classList.remove(t):this.documentIFrameElement.querySelectorAll(n).forEach((function(e){e.classList.remove(t)}))}},{key:"drop",value:function drop(e,t,n){var i,o=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.waitForInsert=!0,e.preventDefault(),e.stopPropagation(),(i=a?this.activatedAddWidgetPosition===eg.Before?e.currentTarget.previousElementSibling:e.currentTarget.nextElementSibling:e.currentTarget)&&i.classList.contains(tp)&&(i.classList.remove(tp),i&&i.nodeName===Ap&&i.parentElement&&i.parentElement.classList.contains(tp)&&i.parentElement.classList.remove(tp));var r=function dragEndFunc(){o.waitForInsert=!1,o.dragEnd(e,s)},s=this.treeService.findComponent(this.rootContainer,this.currentlyDraggedId);if(s)if(s.domElement.contains(i))r();else{var l=n?this.treeService.getPreviousSibling(i):null;this.zoneEditorContract.moveWidget({dataItem:this.dataItem,widgetId:s.id,widgetName:null,placeholderName:t.placeholdername,parentPlaceholderKey:t.parentComponent?t.parentComponent.id:null,siblingKey:l,properties:[],segmentId:this.state.SegmentId}).pipe(((0,Zi.K)((function(e){return r(),(0,qn._)(e)})),this.catchErrorAndShowNotification())).subscribe((function(){var e=n?i:null;o.treeService.moveNode(s,t,e),s.enhanced=!1,o.enhance(s),r(),o.onLayoutChanged()}))}}},{key:"subscribeEmptyLinks",value:function subscribeEmptyLinks(){var e=this,t=this.treeService.emptyContainerAdded.subscribe((function(t){t.container.emptyWidget.instance.onAddClick.subscribe((function(){var n=e.getInitialTabName(t.container.parentComponent);e.openWidgetSelector(t.container,n,t.container.emptyWidget)}))}));this.registerSubscription(t);var n=this.treeService.widgetAdded.subscribe((function(t){var n=t.component.domElement.querySelector(mp),i=n?n.querySelector("[".concat(Jf,"='true']")):null;i&&t.component.emptyiconaction!==zf.NONE&&i.addEventListener("click",(function(n){if(!t.component.hasChildren){n.preventDefault(),n.stopPropagation(),e.initComponentForEditing(t.component);var i=new re.t(1);e.editWidgetClicked.emit({ready:i}),i.pipe(e.catchErrorAndShowNotification()).subscribe((function(){var n=new oe.Kk("Edit","edit");n.sourceOperation={Name:"edit",Category:{Name:"General"}},e.treeService.addInlineToolbar(t.component),t.component.inlineToolbarComponent.instance.onActionButtonClicked(n)}))}}))}));this.registerSubscription(n);var i=this.treeService.addWidgetAdded.subscribe((function(t){var n=t.addWidget,i=t.component;n.instance.addWidgetDraggedOverLabel=e.currentlyDraggedElementTitle.asObservable(),n.location.nativeElement.addEventListener("drop",(function(t){return e.drop(t,i.parentContainer,!0)})),n.location.nativeElement.addEventListener("dragover",(function(t){return e.onAddWidgetDragOver(t)})),n.location.nativeElement.addEventListener("dragleave",(function(t){return e.onAddWidgetDragLeave(t)})),n.instance.onAddClick.subscribe((function(){var t=e.getInitialTabName(i.parentComponent);e.openWidgetSelector(i.parentContainer,t,n)}))}));this.registerSubscription(i)}},{key:"loadResources",value:function loadResources(){this.documentIFrameElement.querySelector("[data-sfstyles='zone-edit']")||this.styleSheetService.insertStyleTag(ag,this.documentIFrameElement,[{key:"data-sfstyles",value:"zone-edit"}])}},{key:"mirrorMainBodyClasses",value:function mirrorMainBodyClasses(){var e=document.body.classList.contains(op);this.documentIFrameElement.body.classList.toggle(op,e)}},{key:"onAddWidgetDragOver",value:function onAddWidgetDragOver(e){var t=e.currentTarget;t.classList.contains(tp)||(this.deactivateAddWidget(),this.activateAddWidget(t))}},{key:"onAddWidgetDragLeave",value:function onAddWidgetDragLeave(e){var t=e.currentTarget;t&&t.classList.contains(tp)&&this.deactivateAddWidget(t)}},{key:"openWidgetSelector",value:function openWidgetSelector(e,t,n){var i=this,o=new re.t(1);o.pipe(this.catchErrorAndShowNotification()).subscribe((function(){i.renderer.getCategories({toolbox:i.state.Toolbox}).pipe(i.catchErrorAndShowNotification()).subscribe((function(o){var a={multiSelect:!1,heading:{title:"Select widget"},tabsConfig:{initialTabName:t,tabs:o.map((function(e){return{name:e}}))},doneCallback:function doneCallback(t){if(t.data){var o=t.data;i.insertSingleRendererWidget(n,e,o)}},data:{singleSelectionText:"Select widget",load:function load(e){return i.getAndMapWidgetResponse(e)}},window:i.iframe.nativeElement.contentWindow};i.modalWindowService.openModalSelector(i.route,a)}))})),this.addWidgetClicked.emit({ready:o})}},{key:"getAndMapWidgetResponse",value:function getAndMapWidgetResponse(e){return this.renderer.getWidgets({dataItem:this.dataItem,category:e.tab.name,search:e.searchVal,skip:0,take:50,toolbox:this.state.Toolbox}).pipe(this.catchErrorAndShowNotification(!0)).pipe((0,w.U)((function(e){return{dataItems:e.dataItems.map((function(e){var t=e.widgets.map((function(e){return{dataItem:e,selectButtonText:e.name===us.SECTION?"Select section":"Select widget",componentData:{type:Km,properties:{text:e.title,name:e.name,addWidgetTitle:e.addWidgetTitle,addWidgetName:e.addWidgetName,initialProperties:e.initialProperties}}}}));return{title:e.title,items:t}})),totalCount:e.totalCount}})))}},{key:"insertSingleRendererWidget",value:function insertSingleRendererWidget(e,t,n){var i=this,o=t.placeholdername,a=t.parentComponent?t.parentComponent.id:null,r=this.treeService.getPreviousSibling(e.location.nativeElement),s=(n.initialProperties||[]).map((function(e){return{Name:e.name,Value:e.value}}));this.zoneEditorContract.addWidget({widgetId:null,dataItem:this.dataItem,widgetName:n.name,placeholderName:o,parentPlaceholderKey:a,siblingKey:r,properties:s,segmentId:this.state.SegmentId}).pipe(this.catchErrorAndShowNotification()).subscribe((function(n){i.siteDataStore.getValue().subscribe((function(o){var a={};s.forEach((function(e){a[e.Name]=e.Value})),i.renderer.renderWidget({siteId:o.Id,dataItem:i.dataItem,model:{Id:n.Key,Name:n.Name,Properties:a}}).pipe(i.catchErrorAndShowNotification()).subscribe((function(o){var r=i.treeService.addNodeFromHtml(t,[n],o.content,e.location.nativeElement);i.onLayoutChanged(),i.loadScriptsAndDispatchEvent(o,{Name:n.Name,Id:n.Key,Properties:a},r.domElement),i.enhance(r)}))}))}))}},{key:"catchErrorAndShowNotification",value:function catchErrorAndShowNotification(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=e?null:rg;return this.notificationService.catchErrorAndShowNotification(t)}},{key:"showErrorMessage",value:function showErrorMessage(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.showNotificationMessage(e,ya.ERROR,!1,t)}},{key:"showNotificationMessage",value:function showNotificationMessage(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o={message:e,look:t,filterParam:rg};i&&(o.duration=null),this.notificationService.publishBasicNotification(o),n&&(this.iframe.nativeElement.contentDocument.body.innerHTML="")}},{key:"hideNotificationMessage",value:function hideNotificationMessage(){this.notificationService.close()}},{key:"subscribeToDocumentEvents",value:function subscribeToDocumentEvents(){var e=this;this.removeListeners(),this.documentInsideIframeMouseClickListener=function(t){e.dispatchClickToRootDocument(t)}.bind(this),this.documentIFrameElement.addEventListener("click",this.documentInsideIframeMouseClickListener),this.outsideWindowMouseClickListener=function(t){e.treeService.iterateTree(e.rootContainer,(function(e){e.inlineToolbarComponent&&e.inlineToolbarComponent.instance.focusOut()}),null)}.bind(this),this.iframe.nativeElement.contentWindow.parent.addEventListener("click",this.outsideWindowMouseClickListener)}},{key:"removeListeners",value:function removeListeners(){this.iframe&&(this.documentInsideIframeMouseClickListener&&this.documentIFrameElement.removeEventListener("click",this.documentInsideIframeMouseClickListener),this.outsideWindowMouseClickListener&&this.iframe.nativeElement.contentWindow.parent.removeEventListener("click",this.outsideWindowMouseClickListener))}},{key:"dispatchClickToRootDocument",value:function dispatchClickToRootDocument(e){for(var t=!1,n=e.target;n&&n.parentElement;){if(n.nodeName===gp){t=!0;break}n=n.parentElement}if(!t){var i=new MouseEvent(e.type,e);this.documentProvider.dispatchEvent(i)}}},{key:"loadScriptsAndDispatchEvent",value:function loadScriptsAndDispatchEvent(e,t,n){var i=this,o=e.scripts.length,a=function fireEvent(){if(0==--o){var e=new CustomEvent("widgetLoaded",{detail:{element:n,model:t}});i.documentIFrameElement.dispatchEvent(e)}};e.scripts.length>0?e.scripts.forEach((function(e){var t=i.documentIFrameElement.getElementById(e.id);t?a():((t=i.documentIFrameElement.createElement("script")).src=e.src,t.id=e.id,t.onload=a,t.onerror=a,i.documentIFrameElement.body.appendChild(t))})):(o=1,a())}},{key:"getInitialTabName",value:function getInitialTabName(e){return e?ig.WP.EMPTY_STRING:this.initialWidgetSelectorTabName}}]),EnhancedPageComponent}(E.zu);sg.ctorParameters=function(){return[{type:Qi},{type:ki.bL},{type:m.gz},{type:Dp},{type:lA},{type:_m},{type:ng},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Nt.a}]},sg.propDecorators={iframe:[{type:l.i9L,args:["iframe",{static:!1}]}],iFrameUrl:[{type:l.IIB}],isFullWidth:[{type:l.IIB}],dataItem:[{type:l.IIB}],state:[{type:l.IIB}],emptyRootCssClasses:[{type:l.IIB}],useNarrowLook:[{type:l.IIB}],initialWidgetSelectorTabName:[{type:l.IIB}],frameLoaded:[{type:l.r_U}],layoutChanged:[{type:l.r_U}],addWidgetClicked:[{type:l.r_U}],editWidgetClicked:[{type:l.r_U}],onComponentClicked:[{type:l.r_U}],onComponentOperationExecuted:[{type:l.r_U}]},sg=(0,a.gn)([(0,l.wA2)({selector:"sf-enhanced-page",template:_f}),(0,a.w6)("design:paramtypes",[Qi,ki.bL,m.gz,Dp,lA,_m,ng,La,Window,Nt.a])],sg);var lg=new l.OlP("system_notification_icon_token"),cg=Object.freeze({FORM_RESPONSE:"subscribed-responses",REJECTED_ITEM:"rejected",SEND_FOR_APPROVAL_ITEM:"sent-to-me",SITE_SYNC_COMPLETED:"site-sync-completed",MY_OUTDATED_CONTENT:"my-outdated-content",OUTDATED_LAST_MODIFIED:"outdated-content-last-modified-by-me",ANY_OUTDATED_CONTENT:"any-outdated-content",TRIAL:"trial"}),dg=Object.freeze({FAIL:"fail"}),ug=function(){function CompositeSystemNotificationIconProvider(e){(0,i.Z)(this,CompositeSystemNotificationIconProvider),this.systemNotificationIconProviders=e}return(0,o.Z)(CompositeSystemNotificationIconProvider,[{key:"parseIcon",value:function parseIcon(e){return this.parseIconInternal(e,null)}},{key:"parseIconInternal",value:function parseIconInternal(e,t){var n=E.WP.EMPTY_STRING;switch(e){case cg.FORM_RESPONSE:n="check-square-o";break;case cg.REJECTED_ITEM:case cg.SEND_FOR_APPROVAL_ITEM:n=Jc;break;case cg.SITE_SYNC_COMPLETED:n="upload",t===dg.FAIL&&(n="exclamation-circle");break;case cg.MY_OUTDATED_CONTENT:case cg.OUTDATED_LAST_MODIFIED:case cg.ANY_OUTDATED_CONTENT:n="hourglass-end";break;case cg.TRIAL:n="lightbulb-o"}return this.systemNotificationIconProviders&&this.systemNotificationIconProviders.forEach((function(t){var i=t.parseIcon(e);i&&(n=i)})),n||Jc}},{key:"getIconColor",value:function getIconColor(e){var t="gray";if(e===dg.FAIL)t="negative";return t}}]),CompositeSystemNotificationIconProvider}();ug.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[lg]}]}]},ug=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],ug);var fg=function(){function AuthGuard(e){(0,i.Z)(this,AuthGuard),this.service=e}return(0,o.Z)(AuthGuard,[{key:"canActivate",value:function canActivate(e,t){return this.service.tryLogIn(t.url)}}]),AuthGuard}();fg.ctorParameters=function(){return[{type:gf.e}]},fg=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[gf.e])],fg);var pg=function(){function ConfigurationGuard(e,t,n){(0,i.Z)(this,ConfigurationGuard),this.router=e,this.settings=t,this.externalAppConfigService=n}return(0,o.Z)(ConfigurationGuard,[{key:"canActivate",value:function canActivate(){return(0,a.mG)(this,void 0,void 0,gi().mark((function _callee(){return gi().wrap((function _callee$(e){for(;;)switch(e.prev=e.next){case 0:if(!this.settings.url){e.next=6;break}return e.next=3,this.externalAppConfigService.init();case 3:return e.abrupt("return",!0);case 6:return this.router.navigate([So.CONFIG]),e.abrupt("return",!1);case 8:case"end":return e.stop()}}),_callee,this)})))}}]),ConfigurationGuard}();pg.ctorParameters=function(){return[{type:m.F0},{type:Qt.Zr},{type:Rt.V}]},pg=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,Qt.Zr,Rt.V])],pg);var Ag=new l.OlP("dam-provider"),mg="Failed to insert media asset.",gg=function(){function DamProviderBase(e){(0,i.Z)(this,DamProviderBase),this.zone=e,this.onMediaSelected=new Ft.xQ,this.onError=new Ft.xQ,this.onDone=new Ft.xQ,this.onCancel=new Ft.xQ,this.settings=null,this.priority=1}return(0,o.Z)(DamProviderBase,[{key:"getPropertyValue",value:function getPropertyValue(e){if(this.settings)for(var t in this.settings.Properties)if(this.settings.Properties[t].Name===e)return this.settings.Properties[t].Value;return null}},{key:"loadDynamicScript",value:function loadDynamicScript(e){return new wn.y((function(t){if(e&&!document.getElementById(e)){var n=document.createElement("script");n.src=e,n.innerHTML=v.WP.EMPTY_STRING,n.type="text/javascript",n.id=e,n.async=!0,n.defer=!0,document.body.appendChild(n),n.onload=function(){t.next(),t.complete()},n.onerror=function(){t.error()}}else t.next(),t.complete()}))}},{key:"mediaSelected",value:function mediaSelected(){this.onMediaSelected.next()}},{key:"error",value:function error(e){var t=this;this.zone.run((function(){t.onError.next(e)}))}},{key:"assetsSelected",value:function assetsSelected(e){var t=this;this.zone.run((function(){t.onDone.next(e)}))}},{key:"cancel",value:function cancel(){var e=this;this.zone.run((function(){e.onCancel.next()}))}}]),DamProviderBase}();gg.ctorParameters=function(){return[{type:l.R0b}]},gg=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[l.R0b])],gg);var hg=n(131),vg=n(761),bg=n(389),yg=(0,o.Z)((function ListColumnDirective(e){(0,i.Z)(this,ListColumnDirective),this.templateRef=e}));yg.ctorParameters=function(){return[{type:l.Rgc}]},yg.propDecorators={class:[{type:l.IIB}],name:[{type:l.IIB}],title:[{type:l.IIB}],clickable:[{type:l.IIB}]},yg=(0,a.gn)([(0,l.Xek)({selector:"[sfColumnTemplate]"}),(0,a.w6)("design:paramtypes",[l.Rgc])],yg);var Eg=n(390),Ig=function(e){(0,f.Z)(AnalyticsColumnComponent,e);var t=(0,p.Z)(AnalyticsColumnComponent);function AnalyticsColumnComponent(e){var n;return(0,i.Z)(this,AnalyticsColumnComponent),(n=t.call(this)).bundleDataService=e,n.analyticsItemResult={isLoading:!0,analyticsItemUrl:null},n}return(0,o.Z)(AnalyticsColumnComponent,[{key:"ngOnInit",value:function ngOnInit(){this.getResponseFromService()}},{key:"getResponseFromService",value:function getResponseFromService(){var e=this,t=this.bundleDataService.responses.pipe((0,xn.g)(g.gn)).subscribe((function(t){if(t){t.cleanRequest&&(e.analyticsItemResult={isLoading:!0,analyticsItemUrl:null});var n=e.bundleDataService.data[ed];if(n&&n[e.context.dataItem.data.Id]&&n[e.context.dataItem.data.Id].data){var i=n[e.context.dataItem.data.Id].data;e.analyticsItemResult={isLoading:!1,analyticsItemUrl:i?i.AnalyticsUrl:null}}else e.analyticsItemResult.isLoading&&(e.analyticsItemResult={isLoading:!1,analyticsItemUrl:null})}}));this.registerSubscription(t)}}]),AnalyticsColumnComponent}(E.zu);Ig.ctorParameters=function(){return[{type:nd}]},Ig.propDecorators={context:[{type:l.IIB}]},Ig=(0,a.gn)([(0,l.wA2)({selector:"sf-analytics",template:Eg}),(0,a.w6)("design:paramtypes",[nd])],Ig);var wg=function(){function TaxonomyService(e,t){(0,i.Z)(this,TaxonomyService),this.sitefinitySdk=e,this.errorParserService=t}return(0,o.Z)(TaxonomyService,[{key:"getTaxonomies",value:function getTaxonomies(e){var t=this,n=this.sitefinitySdk.query.where();n=n.or();for(var i=0;i0&&n>e.length){var o={Title:"Load more",Id:"".concat(t,"_loadMore"),action:Na,isSelectionDisabled:!1,isLink:!0,icon:"repeat",iconLook:"size-xs color-inherit"},a={dataItem:ee.zw.fromEntityData(o,i),hasChildren:!1};e.push(a)}}},{key:"removeLoadMoreLink",value:function removeLoadMoreLink(e){var t=e.findIndex((function(e){if(e.dataItem.data){var t=e.dataItem.data;return t&&!!t.action}}));t>=0&&e.splice(t,1)}},{key:"wrapDataItems",value:function wrapDataItems(e){return e.map((function(e){return{dataItem:e,hasChildren:e.data&&e.data.hasOwnProperty(h.E.HAS_CHILDREN)&&e.data[h.E.HAS_CHILDREN]}}))}},{key:"invoke",value:function invoke(e){this.onCommand.emit(e)}},{key:"getModel",value:function getModel(e){return this.columnsNameTemplateMap.get(e)}},{key:"initColumns",value:function initColumns(){var e=this;this.columns||(this.columns=this.columnsTemplate.toArray().map((function(e){return{name:e.name,title:e.title||e.name,clickable:e.clickable}}))),this.columns=this.columns.filter((function(e){return!e.hidden})),this.columns.forEach((function(t){var n={column:t,componentData:t.componentData,invoker:e,css:t.css},i=e.columnsTemplate.find((function(e){return e.name===t.name}));i&&(n.template=i.templateRef,n.css=n.css?n.css+" "+i.class:i.class,n.column.clickable&&(n.css?n.css+=" -sf-clickable":n.css=Qg)),e.columnsNameTemplateMap.set(t.name,n)})),this.setColumnsHeaderCssClass()}},{key:"updateHeaderCssClass",value:function updateHeaderCssClass(e){var t=this;["itemsState","sortExpression","treeConfig"].forEach((function(n){e[n]&&!e[n].isFirstChange()&&t.setColumnsHeaderCssClass()}))}},{key:"setColumnsHeaderCssClass",value:function setColumnsHeaderCssClass(){var e=this;this.columns&&this.columns.forEach((function(t){var n=e.columnsNameTemplateMap.get(t.name);e.setCellModelHeaderCssClass(t,n)}))}},{key:"setCellModelHeaderCssClass",value:function setCellModelHeaderCssClass(e,t){if(t){var n=[];if(t.css&&(n=n.concat(t.css.split(" "))),t.sortableFieldIcon=null,e.sortableFieldName){n.push(Qg);var i=this.getSortExpression(e.sortableFieldName,g.mX.ASCENDING),o=this.getSortExpression(e.sortableFieldName,g.mX.DESCENDING);this.sortExpression&&(this.areEqual(this.sortExpression,i)?t.sortableFieldIcon="caret-up":this.areEqual(this.sortExpression,o)&&(t.sortableFieldIcon="caret-down"))}e.css&&e.css.indexOf(Sg)>-1&&(n=this.toggleHierarchicalTitleClass(n)),t.headerCss=n.join(" ")}}},{key:"toggleHierarchicalTitleClass",value:function toggleHierarchicalTitleClass(e){var t=e.indexOf(Cg);return this.treeConfig.isHierarchical&&t<0&&e.push(Cg),!this.treeConfig.isHierarchical&&t>-1&&e.splice(t,1),e}},{key:"areEqual",value:function areEqual(e,t){return!!(!e&&!t&&e===t||e&&t&&e.toLowerCase()===t.toLowerCase())}},{key:"getSortExpression",value:function getSortExpression(e,t){return"".concat(e," ").concat(t)}},{key:"generateCssClassList",value:function generateCssClassList(){var e="sf-tree-list";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e}}]),ListComponent}();Ug.propDecorators={treeWrapperComponent:[{type:l.i9L,args:["sfTree",{static:!1}]}],treeConfig:[{type:l.IIB}],selectedItem:[{type:l.IIB}],shouldHideHeader:[{type:l.IIB}],look:[{type:l.IIB}],ignoreLoaderDelay:[{type:l.IIB}],itemsState:[{type:l.IIB}],columns:[{type:l.IIB}],sortExpression:[{type:l.IIB}],itemSelectionChanged:[{type:l.r_U}],itemSelected:[{type:l.r_U}],onCommand:[{type:l.r_U}],expandedItemsChanged:[{type:l.r_U}],visibleNodesCountChanged:[{type:l.r_U}],columnsTemplate:[{type:l.AcB,args:[yg]}]},Ug=(0,a.gn)([(0,l.wA2)({selector:"sf-list",template:bg,encapsulation:l.ifc.None})],Ug);var Lg=n(391),Og=function(e){(0,f.Z)(HeadingStatusComponent,e);var t=(0,p.Z)(HeadingStatusComponent);function HeadingStatusComponent(e){var n;return(0,i.Z)(this,HeadingStatusComponent),(n=t.call(this)).statusResolver=e,n.dataItem=null,n}return(0,o.Z)(HeadingStatusComponent,[{key:"ngDoCheck",value:function ngDoCheck(){this.isEditMode&&this.dataItem&&this.dataItem.data&&(this.dataContextItem.StatusText=this.statusResolver.getDetailedStatusText(this.dataItem.data))}},{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.item){var t=this.item.subscribe((function(t){if(e.dataItem=t,e.isEditMode=!1,t.data){var n=t.data[h.E.AvailableLanguages];n&&-1===n.indexOf(t.culture)?e.dataContextItem={StatusText:"Translating ".concat(e.getName(t))}:(e.updateStatus(t),e.isEditMode=!0)}else e.dataContextItem={StatusText:"Creating ".concat(e.getName(t))}}));this.registerSubscription(t)}}},{key:"getName",value:function getName(e){return"".concat((0,d.Ao)(e.metadata.singularName)," ").concat(e.metadata.singularName.toLowerCase(),"...")}},{key:"updateStatus",value:function updateStatus(e){var t=this.statusResolver.getDetailedLabel(e.data);JSON.stringify(t)!==JSON.stringify(this.dataContextItem)&&(this.dataContextItem=t)}}]),HeadingStatusComponent}(E.zu);Og.ctorParameters=function(){return[{type:Zu}]},Og.propDecorators={item:[{type:l.IIB}]},Og=(0,a.gn)([(0,l.wA2)({selector:"sf-heading-status",template:Lg}),(0,a.w6)("design:paramtypes",[Zu])],Og);var zg=function(){function TextFieldComponent(){(0,i.Z)(this,TextFieldComponent)}return(0,o.Z)(TextFieldComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem,t=this.context.model,n=e.data[t.name];this.propertyPath&&(n=this.getPropertyValue(n,this.propertyPath)),this.setCurrentValue(n)}},{key:"getPropertyValue",value:function getPropertyValue(e,t){var n=e;t&&t.split(".").filter((function(e){return!!e})).forEach((function(e){n&&(n=n[e])}));return n instanceof Object?JSON.stringify(n):n}},{key:"setCurrentValue",value:function setCurrentValue(e){this.value=e instanceof Object?JSON.stringify(e):e}}]),TextFieldComponent}();zg.propDecorators={context:[{type:l.IIB}],propertyPath:[{type:l.IIB}]},zg=(0,a.gn)([(0,l.wA2)({selector:"sf-text-field",template:"{{value}}"})],zg);var _g=n(392),Vg=function(){function HomeComponent(){(0,i.Z)(this,HomeComponent),this.classes="sf-host -animated"}return(0,o.Z)(HomeComponent,[{key:"ngOnInit",value:function ngOnInit(){this.navbarConfiguration={leftNavbarButtonData:{look:"toggle",icon:"times",show:!1,mode:KA.Close,title:_e.BACK},mode:XA.None,look:"in-menu",isScrollEnabled:!1}}}]),HomeComponent}();Vg.propDecorators={classes:[{type:l.pfw,args:["class"]}]},Vg=(0,a.gn)([(0,l.wA2)({selector:"sf-home",template:_g})],Vg);var Gg=n(393),Hg=function(){function ErrorPageBase(e,t,n){(0,i.Z)(this,ErrorPageBase),this.router=t,this.window=n,this.settingsUrl=e.url}return(0,o.Z)(ErrorPageBase,[{key:"onNavigateToHome",value:function onNavigateToHome(){if(this.getEnvironmentVariables().ENV===_t.H.integration){var e="".concat(this.settingsUrl,"/Sitefinity");this.window.open(e,v.Mw)}else this.router.navigate([So.HOME])}},{key:"getEnvironmentVariables",value:function getEnvironmentVariables(){return{ENV:ns.N.env}}}]),ErrorPageBase}(),Zg=function(e){(0,f.Z)(NotFoundComponent,e);var t=(0,p.Z)(NotFoundComponent);function NotFoundComponent(e,n,o){return(0,i.Z)(this,NotFoundComponent),t.call(this,e,n,o)}return(0,o.Z)(NotFoundComponent)}(Hg);Zg.ctorParameters=function(){return[{type:Qt.Zr},{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Zg=(0,a.gn)([(0,l.wA2)({selector:"sf-not-found",template:Gg}),(0,a.w6)("design:paramtypes",[Qt.Zr,m.F0,Window])],Zg);var Yg=n(394),jg=function(){function HomeNavigationComponent(e,t,n,o){(0,i.Z)(this,HomeNavigationComponent),this.authService=e,this.route=t,this.router=n,this.siteDataStore=o,this.config=[{title:"Dashboard",url:null,icon:"sf-fa-th-large"},{title:"Pages",url:So.PAGES,icon:"sf-fa-file-text-o"},{title:"Content",url:fo,icon:"sf-fa-list"},{title:"Ecommerce",url:null,icon:"sf-fa-shopping-basket"},{title:"Marketing",url:null,icon:"sf-fa-bullhorn"},{title:"Administration",url:null,icon:"sf-fa-cogs"}]}return(0,o.Z)(HomeNavigationComponent,[{key:"ngOnInit",value:function ngOnInit(){this.siteInfo=this.siteDataStore.getValue()}},{key:"onLogout",value:function onLogout(){this.authService.signOut()}},{key:"onOpen",value:function onOpen(e){var t=this;setTimeout((function(){e.indexOf(So.PAGES)>-1?t.router.navigate([e],{queryParamsHandling:"merge"}):t.route.outlet===Io?t.router.navigate([{outlets:{menu:e}}],{relativeTo:t.route.parent,queryParamsHandling:"merge"}):t.router.navigate([e],{relativeTo:t.route.parent,queryParamsHandling:"merge"})}))}}]),HomeNavigationComponent}();jg.ctorParameters=function(){return[{type:gf.e},{type:m.gz},{type:m.F0},{type:Qi}]},jg=(0,a.gn)([(0,l.wA2)({selector:"sf-home-navigation",template:Yg}),(0,a.w6)("design:paramtypes",[gf.e,m.gz,m.F0,Qi])],jg);var Wg=n(395),Jg=n(286),qg="sidebar",Xg=function(e){(0,f.Z)(SidebarComponentRepo,e);var t=(0,p.Z)(SidebarComponentRepo);function SidebarComponentRepo(e,n){var o;return(0,i.Z)(this,SidebarComponentRepo),(o=t.call(this,e)).storage=n,o}return(0,o.Z)(SidebarComponentRepo,[{key:"activityStatus",get:function get(){var e=this;return this._activityStatus.pipe((0,w.U)((function(t){var n=e.getComponentMapping(t.route);return{active:t.active,route:t.route,wide:!!n&&n.wide}})))}},{key:"addComponentMapping",value:function addComponentMapping(e,t){t.wide&&(t.look=t.look||v.WP.EMPTY_STRING,t.look+=" wide"),this.setData(e,t)}},{key:"getComponentMapping",value:function getComponentMapping(e){return this.getData(e)}},{key:"show",value:function show(e,t){var n=this,i=Object.create(null,{show:{get:function get(){return(0,Re.Z)((0,Qe.Z)(SidebarComponentRepo.prototype),"show",n)}}});return(0,a.mG)(this,void 0,void 0,gi().mark((function _callee(){return gi().wrap((function _callee$(n){for(;;)switch(n.prev=n.next){case 0:if(!this.currentActivityStatus||!this.currentActivityStatus.active||this.currentActivityStatus.route===e){n.next=3;break}return n.next=3,this.hide(t,!0);case 3:i.show.call(this,e,t);case 4:case"end":return n.stop()}}),_callee,this)})))}},{key:"hide",value:function hide(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,Re.Z)((0,Qe.Z)(SidebarComponentRepo.prototype),"hide",this).call(this,e,t).then((function(e){return e}))}},{key:"getOpenedSidebarForCurrentType",value:function getOpenedSidebarForCurrentType(e){return this.getOpenedSidebars()[e]}},{key:"getOpenedSidebars",value:function getOpenedSidebars(){var e=this.storage.getItem(qg);return e=e?JSON.parse(e):{}}},{key:"updateOpenedSidebars",value:function updateOpenedSidebars(e,t,n){n&&(e[t]=n),this.storage.setItem(qg,JSON.stringify(e))}},{key:"removeItemFromOpenedSidebars",value:function removeItemFromOpenedSidebars(e,t){e[t]&&(delete e[t],this.updateOpenedSidebars(e,t))}},{key:"getSettings",value:function getSettings(){return{outletName:"sidebar",prefix:"host"}}}]),SidebarComponentRepo}(Jg.p);Xg.ctorParameters=function(){return[{type:m.F0},{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]}]},Xg=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,Rr.V1])],Xg);var Kg,$g=n(396);!function(e){e.left="left",e.right="right",e.leftInner="leftInner",e.rightInner="rightInner"}(Kg||(Kg={}));var eh=[(0,Oe.IO)(".-one,.-two",(0,Oe.oB)({}),{optional:!0}),(0,Oe.ru)([(0,Oe.IO)(".-one",[(0,Oe.oB)({transform:"translateX(100%)"}),(0,Oe.jt)(".5s ease-out",(0,Oe.oB)({transform:"translateX(0%)"}))],{optional:!0}),(0,Oe.IO)(".-two",[(0,Oe.oB)({transform:"translateX(0%)"}),(0,Oe.jt)(".5s ease-out",(0,Oe.oB)({transform:"translateX(-100%)"}))],{optional:!0})])],th=[(0,Oe.IO)(".-one,.-two",(0,Oe.oB)({}),{optional:!0}),(0,Oe.ru)([(0,Oe.IO)(".-one",[(0,Oe.oB)({transform:"translateX(-100%)"}),(0,Oe.jt)(".5s ease-out",(0,Oe.oB)({transform:"translateX(0%)"}))],{optional:!0}),(0,Oe.IO)(".-two",[(0,Oe.oB)({transform:"translateX(0%)"}),(0,Oe.jt)(".5s ease-out",(0,Oe.oB)({transform:"translateX(100%)"}))],{optional:!0})])],nh=function(e){(0,f.Z)(SidebarSliderInitialized,e);var t=(0,p.Z)(SidebarSliderInitialized);function SidebarSliderInitialized(){return(0,i.Z)(this,SidebarSliderInitialized),t.apply(this,arguments)}return(0,o.Z)(SidebarSliderInitialized)}(Ti.b6),ih=function(){function SidebarSliderComponent(e){(0,i.Z)(this,SidebarSliderComponent),this.eventsService=e,this.animationData$=new re.t(1),this.windowsZIndexes={firstWindow:0,secondWindow:0},this.eventsService.next(new nh({instance:this}))}return(0,o.Z)(SidebarSliderComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.animationData$.subscribe((function(t){!(0,d.Uh)(e.firstWindowComponentData)?(e.firstWindowComponentData=t.componentData,e.windowsZIndexes.firstWindow=1,e.windowsZIndexes.secondWindow=e.windowsZIndexes.firstWindow-1,e.firstWindowCssClass="-one",e.secondWindowCssClass="-two"):(e.secondWindowComponentData=t.componentData,e.windowsZIndexes.secondWindow=1,e.windowsZIndexes.firstWindow=e.windowsZIndexes.secondWindow-1,e.firstWindowCssClass="-two",e.secondWindowCssClass="-one"),e.sliderDirection=t.slideDirection}))}},{key:"clearOldWindow",value:function clearOldWindow(){var e=this.windowsZIndexes,t=e.firstWindow,n=e.secondWindow;t!==n&&(t right",eh),(0,Oe.eR)("left => right",eh),(0,Oe.eR)("left => rightInner",eh),(0,Oe.eR)("right => rightInner",eh),(0,Oe.eR)("rightInner => right",eh),(0,Oe.eR)("* => left",th),(0,Oe.eR)("right => left",th),(0,Oe.eR)("right => leftInner",th),(0,Oe.eR)("leftInner => left",th),(0,Oe.eR)("left => leftInner",th)])]}),(0,a.w6)("design:paramtypes",[Di])],ih);var oh="sf-sidebar",ah=function(e){(0,f.Z)(SidebarHostComponent,e);var t=(0,p.Z)(SidebarHostComponent);function SidebarHostComponent(e,n,o){var a;return(0,i.Z)(this,SidebarHostComponent),(a=t.call(this,n)).store=o,a.title="Sidebar",a.enabled=!0,a.hasBackNavigation=!1,a.sidebarCssClass="sf-sidebar -hidden",a.sidebars=[],a.service=e,a}return(0,o.Z)(SidebarHostComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.sidebarCssClass=this.generateCssClassList(),this.hasToggle&&(this.hideCloseButton=!0),this.registerSubscription(this.store.pipe(nm.sidebarData).subscribe((function(t){t&&(e.sidebarData=t)}))),this.registerSubscription(this.store.pipe(nm.isLoading).subscribe((function(t){e.isProgressLoading=t}))),this.registerSubscription(this.store.pipe(nm.isOpen).subscribe((function(t){e.isOpen=t,e.sidebarCssClass=e.generateCssClassList()}))),this.registerSubscription(this.store.pipe(nm.shouldAnimate).subscribe((function(t){e.shouldAnimate=t,e.sidebarCssClass=e.generateCssClassList()}))),this.registerSubscription(this.store.pipe(nm.activeConfig).subscribe((function(t){e.isConfigChanging=!1,e.currentConfig=t,t&&t.data?(e.sidebars.push(t),e.title=t.title,e.hasBackNavigation=t.data.hasBackNavigation,e.componentMapping=null,e.componentMapping=t.data,e.notInitialLoad=!0):(e.componentMapping=null,e.isConfigChanging=!0,e.sidebars=[]),e.sidebarCssClass=e.generateCssClassList()}))),(0,Re.Z)((0,Qe.Z)(SidebarHostComponent.prototype),"ngOnInit",this).call(this)}},{key:"backToSidebar",value:function backToSidebar(){this.sidebars.length>1&&(this.sidebars.pop(),this.store.dispatch(RA.Oc.change(this.sidebars.pop())))}},{key:"onClose",value:function onClose(){return this.sidebarData?Promise.resolve(!0):(0,Re.Z)((0,Qe.Z)(SidebarHostComponent.prototype),"onClose",this).call(this)}},{key:"close",value:function close(){this.sidebarData&&this.store.dispatch(RA.Oc.close())}},{key:"toggleVisibility",value:function toggleVisibility(){this.isOpen||1!==this.sidebarData.buttons.length?this.store.dispatch(RA.Oc.close()):this.store.dispatch(RA.Oc.changeAndOpen(this.sidebarData.buttons[0],!0))}},{key:"onMappingChanged",value:function onMappingChanged(e){this.title=e.title,this.look=e.look,this.hasBackNavigation=e.hasBackNavigation,this.componentMapping=e,this.sidebarCssClass=this.generateCssClassList()}},{key:"generateCssClassList",value:function generateCssClassList(){var e=oh;return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.hasToggle&&(e+=" -toggle"),this.shouldAnimate&&(e+=" -animate"),this.isOpen||(e+=" -hidden"),this.isOpen&&this.componentMapping&&this.componentMapping.wide&&(e+=" -wide"),e}}]),SidebarHostComponent}(ol);ah.ctorParameters=function(){return[{type:Xg},{type:m.gz},{type:Hs.dk}]},ah.propDecorators={title:[{type:l.IIB}],look:[{type:l.IIB}],enabled:[{type:l.IIB}],hasBackNavigation:[{type:l.IIB}],hideCloseButton:[{type:l.IIB}],hasToggle:[{type:l.IIB}],loader:[{type:l.i9L,args:[E.iG,{static:!1}]}],slider:[{type:l.i9L,args:[ih,{static:!1}]}]},ah=(0,a.gn)([(0,l.wA2)({selector:"sf-sidebar-host",template:Wg}),(0,a.w6)("design:paramtypes",[Xg,m.gz,Hs.dk])],ah);var rh=n(397),sh="true",lh="tooltips.loadMoreSearchTooltip",ch=function(e){(0,f.Z)(LoadMoreSearchComponent,e);var t=(0,p.Z)(LoadMoreSearchComponent);function LoadMoreSearchComponent(e){var n;return(0,i.Z)(this,LoadMoreSearchComponent),(n=t.call(this)).storage=e,n.isSearchEnabled=!0,n.isFilterEnabled=!0,n.onFilterSelected=new l.vpe,n.onSearch=new l.vpe,n.isTooltipVisible=!1,n.isSearchVisible=!1,n.clickedCounter=0,n.wasTooltipShown=!1,n.wasTooltipShown=n.storage.getItem(lh)===sh,n}return(0,o.Z)(LoadMoreSearchComponent,[{key:"ngOnChanges",value:function ngOnChanges(e){(e.loadCount||e.allItemsCount)&&this.updateLoadButtonVisibility(),e.loadCount?this.updateLoadButtonText(e.loadCount.currentValue):(e.singularTitle||e.pluralTitle)&&this.updateLoadButtonText()}},{key:"onFilterClicked",value:function onFilterClicked(){this.hideNotification(),this.onFilterSelected.emit()}},{key:"onSearchClicked",value:function onSearchClicked(){this.hideNotification(),this.isSearchVisible=!0}},{key:"search",value:function search(e){this.onSearch.emit(e)}},{key:"loadMore",value:function loadMore(){this.clickedCounter++,this.updateLoadButtonVisibility(!0),this.onLoadMore.emit()}},{key:"hideNotification",value:function hideNotification(){this.wasTooltipShown||(this.isTooltipVisible=!1,this.wasTooltipShown=!0,this.storage.setItem(lh,sh))}},{key:"getType",value:function getType(e){return 1===e?this.singularTitle:this.pluralTitle}},{key:"updateHintVisibility",value:function updateHintVisibility(){2!==this.clickedCounter?3!==this.clickedCounter||this.hideNotification():this.showHint()}},{key:"showHint",value:function showHint(){this.wasTooltipShown?this.isSearchVisible=!0:this.isTooltipVisible=!0}},{key:"updateLoadButtonVisibility",value:function updateLoadButtonVisibility(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isLoadButtonVisible=this.getLoadButtonVisibility(e),this.isLoadButtonVisible&&this.isSearchEnabled?this.updateHintVisibility():this.isSearchVisible=!1}},{key:"updateLoadButtonText",value:function updateLoadButtonText(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.loadCount,t=this.getType(e);this.loadMoreButtonText="Load ".concat(e," more ").concat(t?t.toLocaleLowerCase():t)}}]),LoadMoreSearchComponent}(xc);ch.ctorParameters=function(){return[{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]}]},ch.propDecorators={searchValue:[{type:l.IIB}],singularTitle:[{type:l.IIB}],pluralTitle:[{type:l.IIB}],isSearchEnabled:[{type:l.IIB}],isFilterEnabled:[{type:l.IIB}],onFilterSelected:[{type:l.r_U}],onSearch:[{type:l.r_U}]},ch=(0,a.gn)([(0,l.wA2)({selector:"sf-load-more-search",template:rh}),(0,a.w6)("design:paramtypes",[Rr.V1])],ch);var dh=n(398),uh=function(){function CreateHierarchicalTaxaComponent(e,t){(0,i.Z)(this,CreateHierarchicalTaxaComponent),this.fieldsGeneratorService=e,this.backendTweaksService=t}return(0,o.Z)(CreateHierarchicalTaxaComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initFieldSections()}},{key:"initFieldSections",value:function initFieldSections(){var e=this;this.backendTweaksService.getFormTweaks(this.entityData.metadata.setName,g.jc.INSERT,null,this.entityData.provider,this.entityData.culture,this.parentId).then((function(t){var n=e.fieldsGeneratorService.generateFieldsFromTweaks(e.entityData.metadata,t);e.fieldSections=n,1===e.fieldSections.length&&e.fieldSections[0].fields.length<=3&&(e.fieldSections[0].fields[0].settings.look+=" "+g.Yu.MARGIN_BOTTOM_SHORT_FORM),e.modifyFields(),e.fieldSections.forEach((function(t){t.fields.forEach((function(t){e.adjustSettings(t)}))})),e.fieldSections[e.fieldSections.length-1].settings.insertHorizontalRule=!1;var i=ee.zw.fromEntityData(null,e.entityData);e.editableFieldsComponent.updateMirroring(e.fieldSections,i)}))}},{key:"modifyFields",value:function modifyFields(){var e=this.fieldSections.find((function(e){return e.settings.name===Wo.H.advancedSection})),t=this.fieldSections.find((function(e){return e.settings.name===Wo.H.mainSection}));e||(t.fields=t.fields.filter((function(e){return e.key!==h.E.URL_NAME}))),this.otherTaxaExist||(t.fields=t.fields.filter((function(e){return e.key!==h.E.PARENT_ID})))}},{key:"adjustSettings",value:function adjustSettings(e){switch(e.key){case h.E.TITLE:e.settings.placeholder="Type ".concat((0,d.Q7)(this.taxaNames,!1,!0)," name"),e.settings.title="".concat((0,d.Q7)(this.taxaNames,!1,!0)," name"),e.settings.showTitle=!1,e.settings.look="large",e.value=this.title;break;case h.E.PARENT_ID:var t=e.settings,n=Object.assign({},this.hierarchicalTaxaSettings);n.look=null,t.hierarchicalTaxaSettings=n,t.selectorNames=this.taxaNames,t.culture=n.culture,e.settings=t}}}]),CreateHierarchicalTaxaComponent}();uh.ctorParameters=function(){return[{type:qo},{type:Tr}]},uh.propDecorators={editableFieldsComponent:[{type:l.i9L,args:[Xo.I,{static:!0}]}],hierarchicalTaxaSettings:[{type:l.IIB}],typeName:[{type:l.IIB}],title:[{type:l.IIB}],taxaNames:[{type:l.IIB}],otherTaxaExist:[{type:l.IIB}],entityData:[{type:l.IIB}],parentId:[{type:l.IIB}]},uh=(0,a.gn)([(0,l.wA2)({selector:"sf-create-hierarchical-taxa",template:dh}),(0,a.w6)("design:paramtypes",[qo,Tr])],uh);var fh=function(){function MetadataStoreResolver(e){(0,i.Z)(this,MetadataStoreResolver),this.metadataStore=e}return(0,o.Z)(MetadataStoreResolver,[{key:"resolve",value:function resolve(e,t){return this.metadataStore.initialize().pipe((0,kn.P)())}}]),MetadataStoreResolver}();fh.ctorParameters=function(){return[{type:pe.EY}]},fh=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY])],fh);var ph=function(){function UserDataStoreResolver(e){(0,i.Z)(this,UserDataStoreResolver),this.userDataStore=e}return(0,o.Z)(UserDataStoreResolver,[{key:"resolve",value:function resolve(e,t){return this.userDataStore.initialize()}}]),UserDataStoreResolver}();ph.ctorParameters=function(){return[{type:Qr}]},ph=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qr])],ph);var Ah=function(){function SiteDataStoreResolver(e){(0,i.Z)(this,SiteDataStoreResolver),this.siteDataStore=e}return(0,o.Z)(SiteDataStoreResolver,[{key:"resolve",value:function resolve(e,t){return this.siteDataStore.getValue()}}]),SiteDataStoreResolver}();Ah.ctorParameters=function(){return[{type:Qi}]},Ah=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qi])],Ah);var mh=function(){function FeatureToggleService(){(0,i.Z)(this,FeatureToggleService),this.staticConfig={sidebar:!1}}return(0,o.Z)(FeatureToggleService,[{key:"isEnabled",value:function isEnabled(e){var t=this.featureConfig.getValue().find((function(t){return t.name===e}));return!t||t.enabled}},{key:"setFeatureState",value:function setFeatureState(e,t){var n=this.featureConfig.getValue();n.filter((function(t){return t.name===e})).map((function(e){return e.enabled=t})),this.featureConfigField.next(n)}},{key:"featureConfig",get:function get(){if(null==this.featureConfigField){var e=this.initConfig(this.staticConfig);this.featureConfigField=new he.X(e)}return this.featureConfigField}},{key:"initConfig",value:function initConfig(e){var t=[];return Object.keys(e).forEach((function(n){t.push({name:n,enabled:e[n]})})),t}}]),FeatureToggleService}();mh=(0,a.gn)([(0,l.GSi)()],mh);var gh=function(){function FeatureDirective(e,t,n){(0,i.Z)(this,FeatureDirective),this.featureService=e,this.templateRef=t,this.viewContainer=n}return(0,o.Z)(FeatureDirective,[{key:"sfFeature",set:function set(e){this.featureService.isEnabled(e)?this.viewContainer.createEmbeddedView(this.templateRef):this.viewContainer.clear()}}]),FeatureDirective}();gh.ctorParameters=function(){return[{type:mh},{type:l.Rgc},{type:l.s_b}]},gh.propDecorators={sfFeature:[{type:l.IIB}]},gh=(0,a.gn)([(0,l.Xek)({selector:"[sfFeature]"}),(0,a.w6)("design:paramtypes",[mh,l.Rgc,l.s_b])],gh);var hh=n(399),vh="LastUploadedOn",bh=function(){function DateAndUserComponent(){(0,i.Z)(this,DateAndUserComponent),this.TOOLTIP_DATE_FORMAT=On.FULL_DATE_WEEKDAY}return(0,o.Z)(DateAndUserComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem,t=this.context.model;switch(this.showBy=this.context.dataItem.metadata.setName!==Lo,t.name){case vh:if(this.date=e.data.LastUploaded,this.user=e.data.LastUploadedBy,e.metadata.hasParent){this.date=e.data.LastModified,this.user=e.data.LastModifiedBy;break}case h.E.PUBLICATION_DATE:e.data.LastPublished&&(this.date=e.data.LastPublished.Date,this.user=e.data.LastPublished.User);break;case h.E.DATE_CREATED:this.date=e.data.DateCreated,this.user=e.data.CreatedBy;break;case h.E.LAST_MODIFIED:this.date=e.data.LastModified,this.user=e.data.LastModifiedBy;break;case h.E.START_TIME:this.date=e.data.StartTime}}}]),DateAndUserComponent}();bh.propDecorators={context:[{type:l.IIB}]},bh=(0,a.gn)([(0,l.wA2)({selector:"sf-date-user",template:hh})],bh);var yh=new l.OlP("HttpWebRequestWrapper"),Eh=function(){function HttpWebRequestWrapper(e,t){(0,i.Z)(this,HttpWebRequestWrapper),this.http=e,this.settings=t}return(0,o.Z)(HttpWebRequestWrapper,[{key:"get",value:function get(e){var t=this;return new Promise((function promiseExecutor(n,i){if(e){e.startsWith(ig.WP.FORWARD_SLASH)&&(e=e.substring(0,e.length-1));var o="".concat(t.settings.url).concat(e),a=(0,Ae.Z)({},g.Tx.SITE,t.settings.siteId);t.http.get(o,{params:a}).subscribe(n,i)}}))}},{key:"post",value:function post(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function promiseExecutor(i,o){if(e){e.startsWith(ig.WP.FORWARD_SLASH)&&(e=e.substring(0,e.length-1));var a="".concat(t.settings.url).concat(e),r=(0,Ae.Z)({},g.Tx.SITE,t.settings.siteId);t.http.post(a,n,{params:r}).subscribe(i,o)}};return new Promise(i)}}]),HttpWebRequestWrapper}();Eh.ctorParameters=function(){return[{type:Uc.eN},{type:Qt.Zr}]},Eh=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Uc.eN,Qt.Zr])],Eh);var Ih=n(278),wh=n(400),kh=function(e){(0,f.Z)(AccessDeniedComponent,e);var t=(0,p.Z)(AccessDeniedComponent);function AccessDeniedComponent(e,n,o){return(0,i.Z)(this,AccessDeniedComponent),t.call(this,e,n,o)}return(0,o.Z)(AccessDeniedComponent)}(Hg);kh.ctorParameters=function(){return[{type:Qt.Zr},{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},kh=(0,a.gn)([(0,l.wA2)({selector:"sf-access-denied",template:wh}),(0,a.w6)("design:paramtypes",[Qt.Zr,m.F0,Window])],kh);var xh=n(3),Ch=function(e){(0,f.Z)(ConsoleLoggerSource,e);var t=(0,p.Z)(ConsoleLoggerSource);function ConsoleLoggerSource(e){var n;return(0,i.Z)(this,ConsoleLoggerSource),(n=t.call(this)).windowProvider=e,n}return(0,o.Z)(ConsoleLoggerSource,[{key:"process",value:function process(e){var t=this;e.forEach((function(e){switch(e.category){case xh.W.Any:t.windowProvider.console.log(e.data.message);break;case xh.W.Error:t.windowProvider.console.error("".concat(e.data.message,"\n").concat(e.data.stackTrace));break;case xh.W.Warn:t.windowProvider.console.warn(e.data.message)}}))}}]),ConsoleLoggerSource}(xh.l);Ch.ctorParameters=function(){return[{type:void 0,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Ch=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Object])],Ch);var Sh="notifications-preferences-event",Bh="notifications-site-sync-event",Dh="".concat(v.YS).concat(v.sK).concat("/log-webclient-error"),Th=function(e){(0,f.Z)(BackendLoggerSource,e);var t=(0,p.Z)(BackendLoggerSource);function BackendLoggerSource(e){var n;return(0,i.Z)(this,BackendLoggerSource),(n=t.call(this)).http=e,n}return(0,o.Z)(BackendLoggerSource,[{key:"process",value:function process(e){var t=e.filter((function(e){return!!e.data.stackTrace})).map((function(e){return{message:e.data.message,stackTrace:e.data.stackTrace}}));t.length&&this.http.post(Dh,t)}}]),BackendLoggerSource}(xh.l);Th.ctorParameters=function(){return[{type:Eh}]},Th=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Eh])],Th);var Mh={provide:xh.l,useFactory:function loggerFactory(e,t){var n=[new Ch(t)];if(ns.N.env===_t.H.integration){var i=new Th(e);n.push(i)}return n},deps:[Eh,ne.SC]};var Nh=n(194),Fh=n(401),Ph=function(e){(0,f.Z)(TaxaInfoStore,e);var t=(0,p.Z)(TaxaInfoStore);function TaxaInfoStore(e,n){var o;return(0,i.Z)(this,TaxaInfoStore),(o=t.call(this)).sitefinitySdk=e,o.errorParserService=n,o}return(0,o.Z)(TaxaInfoStore,[{key:"getCacheKey",value:function getCacheKey(e){return e.metadata.setName+e.data.Id}},{key:"requestItem",value:function requestItem(e){var t=this,n=new re.t(1);return this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,culture:e.culture}).getProperty({key:e.data.Id,property:"appliedTo",successCb:function successCb(e){return n.next(e)},failureCb:function failureCb(e){return n.error(t.errorParserService.parseError(e))}}),n.asObservable()}},{key:"getAppliedToCount",value:function getAppliedToCount(e){return this.getItemInternal(e)}},{key:"getMarkedItems",value:function getMarkedItems(e){return this.getItemInternal(e)}}]),TaxaInfoStore}($i);Ph.ctorParameters=function(){return[{type:Pr.l},{type:zs.k}]},Ph=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Pr.l,zs.k])],Ph);var Rh=n(402),Qh=function(){function RemoveComponent(e,t,n){(0,i.Z)(this,RemoveComponent),this.modalWindowService=e,this.route=t,this.itemService=n,this.title="Remove"}return(0,o.Z)(RemoveComponent,[{key:"ngOnInit",value:function ngOnInit(){this.itemToRemove&&this.context.dataItem&&(this.title='Remove "'.concat(this.itemToRemove.title,'" from item'))}},{key:"remove",value:function remove(){var e=this.context.dataItem,t=this.generateConfirmationSettings(e);this.modalWindowService.openModalConfirmation(this.route.parent,t,this.itemToRemove,"remove")}},{key:"generateConfirmationSettings",value:function generateConfirmationSettings(e){var t=this,n=new ki.m1("Remove",!0);return{title:'Remove "'.concat(this.itemToRemove.title,'" from...'),icon:"unlink",parameters:[],action:"remove",description:e.title,hideItemTitle:!0,buttons:new Array(n,new ki.Lw),doneCallback:function doneCallback(n){n.data&&n.data.data&&t.itemService.executeBoundAction(t.itemToRemove,t.action,{provider:e.data.Provider,id:e.data.Id,contentType:e.data.ContentType}).subscribe((function(e){var n=t.context.dataItem;t.context.invoker.invoke({name:Ra,data:n})}))}}}}]),RemoveComponent}();Qh.ctorParameters=function(){return[{type:ki.bL},{type:m.gz},{type:Ci.dg}]},Qh.propDecorators={context:[{type:l.IIB}],itemToRemove:[{type:l.IIB}],action:[{type:l.IIB}],onRemove:[{type:l.IIB}]},Qh=(0,a.gn)([(0,l.wA2)({selector:"sf-remove",template:Rh}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz,Ci.dg])],Qh);var Uh=n(403),Lh=function(){function TypeInfoComponent(){(0,i.Z)(this,TypeInfoComponent)}return(0,o.Z)(TypeInfoComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem;this.typeTitle=e.data.ContentTypeInfo?e.data.ContentTypeInfo.DisplayName:"",this.providerTitle=e.data.ContentTypeInfo?e.data.ContentTypeInfo.ProviderDisplayName:""}}]),TypeInfoComponent}();Lh.propDecorators={context:[{type:l.IIB}]},Lh=(0,a.gn)([(0,l.wA2)({selector:"sf-type-info",template:Uh})],Lh);var Oh=function(){function AppliedToComponent(e,t,n,o,a){(0,i.Z)(this,AppliedToComponent),this.route=e,this.store=t,this.modalService=n,this.operationsProvider=o,this.window=a,this.itemCount=0,this.badgeLook="ellipse"}return(0,o.Z)(AppliedToComponent,[{key:"ngOnInit",value:function ngOnInit(){this.itemCount=this.context.dataItem.data.AppliedTo,this.itemCount&&(this.badgeLook+=" positive")}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.store.invalidateCache(this.context.dataItem)}},{key:"onDetailsSelected",value:function onDetailsSelected(){var e=this;this.getOperations().subscribe((function(t){var n=e.route.parent.snapshot.data[g.u0.metadata],i=new he.X(e.itemCount),o=new pe.JH("Telerik.Sitefinity.Web.Api.OData.Operations.Taxonomies.Models.MarkedItem",{keys:["Id"],properties:(0,Ae.Z)({},pe.U6,"Title")}),a={type:am,properties:{contentLook:"large",listLook:"read-only",actionTitle:e.getModalTitle(e.context.dataItem.metadata.setName,e.context.dataItem.title),action:"Default.GetMarkedItems()",hideItemTitle:!0,metadataContainer:n,dataItem:e.context.dataItem,count:i,treeConfig:{multiSelection:!1,isHierarchical:!1,showBreadcrumb:!1,status:!0,clickable:!0,noSelection:!0},template:e.template,openItemEdit:!1,showDataItemTitle:!1,columns:e.getModalColumns(e.context.dataItem,t),metadata:o}},r=new ki.np(a,(function(t){t.component&&t.component.itemsModified&&e.context.invoker&&e.context.invoker.invoke({name:Pa})}),[],null,"-bottom");e.modalService.setMapping(r),e.modalService.open(e.route)}))}},{key:"getOperations",value:function getOperations(){var e=this;if(this.operations)return(0,r.of)(this.operations);var t=new W(this.context.dataItem,z.List,void 0,{origin:this.window.location.href});return this.operationsProvider.getOperations(t).pipe((0,ra.b)((function(t){return e.operations=t})))}},{key:"getModalTitle",value:function getModalTitle(e,t){var n='Items tagged with "'.concat(t,'"');return e===md.ZP.HIERARCHY_TAXA&&(n='Items categorized with "'.concat(t,'"')),n}},{key:"getModalColumns",value:function getModalColumns(e,t){var n=[{name:"ITEM TITLE",title:"ITEM TITLE",css:"-title -status",componentData:{type:I,properties:{hasStatusIcon:!0,showStatusText:!1}}},{name:h.E.PUBLICATION_DATE,title:"CREATED ON",css:"-col-size-s",componentData:{type:bh}},{name:"ContentTypeInfo",title:"CONTENT TYPE",css:"-col-size-s",componentData:{type:Lh}}];return t.find((function(e){return e.Name===$.q.delete}))&&n.push({name:"REMOVE",title:"REMOVE",css:"-col-size-2xs -action -sf-mr-xs",componentData:{type:Qh,properties:{itemToRemove:e,action:"Default.RemoveItemFromTaxon()"}}}),n}}]),AppliedToComponent}();Oh.ctorParameters=function(){return[{type:m.gz},{type:Ph},{type:ki.bL},{type:fe},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Oh.propDecorators={context:[{type:l.IIB}],template:[{type:l.i9L,args:["itemTemplate",{static:!0}]}]},Oh=(0,a.gn)([(0,l.wA2)({selector:"sf-applied-to",template:Fh}),(0,a.w6)("design:paramtypes",[m.gz,Ph,ki.bL,fe,Window])],Oh);var zh=n(404),_h="toggle",Vh=function(e){(0,f.Z)(SidebarButtonsComponent,e);var t=(0,p.Z)(SidebarButtonsComponent);function SidebarButtonsComponent(e){var n;return(0,i.Z)(this,SidebarButtonsComponent),(n=t.call(this)).store=e,n.activeIndex=-1,n}return(0,o.Z)(SidebarButtonsComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.store.pipe(nm.sidebarData).subscribe((function(t){t&&(e.sidebarData=t,e.sidebarData.buttons=e.sidebarData.buttons.map((function(e){return e.look=_h,e}))),e.isSidebarOpened||(e.activeIndex=-1)})),n=this.store.pipe(nm.isOpen).subscribe((function(t){t||(e.activeIndex=-1),e.isSidebarOpened=t})),i=this.store.pipe(nm.activeConfig).subscribe((function(t){t&&t.name&&e.sidebarData&&(e.activeIndex=e.sidebarData.buttons.findIndex((function(e){return e.name===t.name||e.name.includes("filter")&&t.name.includes("filter")})))}));this.registerSubscription(t),this.registerSubscription(n),this.registerSubscription(i)}},{key:"onButtonClickHandler",value:function onButtonClickHandler(e,t){if(-1===this.activeIndex||this.activeIndex!==t){var n=!0;this.isSidebarOpened&&(n=!1),this.store.dispatch(RA.Oc.changeAndOpen(e,n)),this.activeIndex=t}else this.activeIndex=-1,this.store.dispatch(RA.Oc.close())}}]),SidebarButtonsComponent}(E.zu);Vh.ctorParameters=function(){return[{type:Hs.dk}]},Vh=(0,a.gn)([(0,l.wA2)({selector:"sf-sidebar-buttons",template:zh}),(0,a.w6)("design:paramtypes",[Hs.dk])],Vh);var Gh=n(405),Hh=function(){function CountryProvider(e){(0,i.Z)(this,CountryProvider),this.service=e}return(0,o.Z)(CountryProvider,[{key:"getCountries",value:function getCountries(){return this.cachedCountries||(this.cachedCountries=this.service.executeUnboundFunction("".concat("Default.SfCountries()")).pipe((0,w.U)((function(e){return e.value.map((function(e){return{name:e.name,isoCode:e.isoCode,hasStates:e.hasStates,states:e.states}}))})))),this.cachedCountries}}]),CountryProvider}();Hh.ctorParameters=function(){return[{type:Ci.dg}]},Hh=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg])],Hh);var Zh,Yh="City",jh="Zip",Wh="Street",Jh="Latitude",qh="Longitude",Xh="MapZoomLevel",Kh="Country",$h="CountryCode",ev="State",tv="StateCode";!function(e){e[e.FormOnly=0]="FormOnly",e[e.MapOnly=1]="MapOnly",e[e.Hybrid=2]="Hybrid"}(Zh||(Zh={}));var nv=function(e){(0,f.Z)(AddressComponent,e);var t=(0,p.Z)(AddressComponent);function AddressComponent(e,n){var o;return(0,i.Z)(this,AddressComponent),(o=t.call(this)).fieldsProvider=e,o.countryProvider=n,o}return(0,o.Z)(AddressComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(AddressComponent.prototype),"ngOnInit",this).call(this),this.registerSubscription(this.countryProvider.getCountries().subscribe((function(t){t.unshift({name:"- Select country -",isoCode:null,hasStates:!1,states:null}),e.countries=t;var n=e.initFieldSection();e.fieldSections=[n]})))}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.registerSubscription(this.editableFields.fieldChange.subscribe((function(t){t.value===v.WP.EMPTY_STRING&&(t.value=null),e.updateFieldSettings(t);var n=Object.assign({},e.value);n[t.key]=t.value,e.emitStatus({type:Yi.i.Done}),e.writeValue(n)})))}},{key:"isAllFieldsValid",value:function isAllFieldsValid(e){var t=!0;return this.settings.required&&(e?this.fieldSections[0].fields.forEach((function(n){n.settings.isVisible&&!e[n.key]&&(t=!1)})):t=!1),t}},{key:"validate",value:function validate(){return this.editableFields.enableRequiredErrorCheck(),this.editableFields.triggerErrors(),this.updateStatus(this.value)}},{key:"updateFieldSettings",value:function updateFieldSettings(e){if(e.key===$h){var t=(0,q.Z)(this.fieldSections,1)[0].fields.find((function(e){return e.key===tv})),n=t.settings,i=this.getCountryStatesDropOptions(e.value);i.length?(n.choices=i,n.isVisible=!0):(n.choices=[],n.isVisible=!1),this.value&&(this.value[t.key]=null)}}},{key:"initFieldSection",value:function initFieldSection(){var e=this.getFields(),t=new Wo.h({isMain:!0,isExpanded:!1,insertHorizontalRule:!1});return t.fields=e,t}},{key:"getFields",value:function getFields(){var e=new Array,t=this.settings;if(t.mapMode===Zh.FormOnly||t.mapMode===Zh.Hybrid){var n=this.countries.map((function(e){return{Name:e.name,Value:e.isoCode}}));e.push(this.createDropDownField(Kh,$h,n));var i=this.getFieldValue($h),o=this.getCountryStatesDropOptions(i),a=this.createDropDownField(ev,tv,o);a.settings.isVisible=o.length>0,e.push(a),e.push(this.createField(Y.U.shortText,Yh,this.getFieldValue(Yh))),e.push(this.createField(Y.U.shortText,jh,this.getFieldValue(jh))),e.push(this.createField(Y.U.shortText,Wh,this.getFieldValue(Wh)))}return t.mapMode!==Zh.MapOnly&&t.mapMode!==Zh.Hybrid||(e.push(this.createField(Y.U.shortText,Jh,this.getFieldValue(Jh))),e.push(this.createField(Y.U.shortText,qh,this.getFieldValue(qh))),e.push(this.createField(Y.U.shortText,Xh,this.getFieldValue(Xh)))),e}},{key:"updateStatus",value:function updateStatus(e){return this.isAllFieldsValid(e)?(this.emitStatus({type:Yi.i.Done}),!0):(this.emitStatus({type:Yi.i.Error}),!1)}},{key:"createDropDownField",value:function createDropDownField(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=Ji.createFieldSettings(n);i.title=e,i.validators=this.settings.validators,i.readOnlyMode=this.settings.readOnlyMode;var o=new jo.W({key:t,value:this.getFieldValue(t),settings:i,selector:Y.U.choiceDropDown,registration:kA});return this.settings.status&&(i.status=this.settings.status),this.settings.statusMessage&&(i.statusMessage=this.settings.statusMessage),o}},{key:"createField",value:function createField(e,t,n){var i=(0,h.ax)(this.fieldsProvider,this.settings.type,e,t,n,{},null,null,this.settings.readOnlyMode);return i.settings.validators=this.settings.validators,this.settings.status&&(i.settings.status=this.settings.status),this.settings.statusMessage&&(i.settings.statusMessage=this.settings.statusMessage),i}},{key:"getFieldValue",value:function getFieldValue(e){return this.value?this.value[e]:null}},{key:"getCountryStatesDropOptions",value:function getCountryStatesDropOptions(e){if(!e)return[];var t=this.countries.find((function(t){return t.isoCode===e})).states.map((function(e){return{Name:e.stateProvinceName,Value:e.abbreviation}}));return t.length>0&&t.unshift({Name:"- Select state -",Value:null}),t}}]),AddressComponent}(Z.F);nv.ctorParameters=function(){return[{type:lr.H},{type:Hh}]},nv.propDecorators={editableFields:[{type:l.i9L,args:["editableFields",{static:!0}]}]},nv=(0,a.gn)([(0,l.wA2)({selector:"sf-address",template:Gh}),(0,a.w6)("design:paramtypes",[lr.H,Hh])],nv);var iv=function(){function UnlockRedirectComponent(e,t,n){(0,i.Z)(this,UnlockRedirectComponent),this.dynamicItemStore=e,this.route=t,this.router=n}return(0,o.Z)(UnlockRedirectComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.route.data.subscribe((function(t){e.handleRedirect(t.itemData.item)}))}},{key:"handleRedirect",value:function handleRedirect(e){var t=this;this.dynamicItemStore.unlockItem(e).subscribe((function(e){t.router.navigate(["../edit"],{relativeTo:t.route,queryParamsHandling:"preserve"})}))}}]),UnlockRedirectComponent}();iv.ctorParameters=function(){return[{type:ga},{type:m.gz},{type:m.F0}]},iv=(0,a.gn)([(0,l.wA2)({template:''}),(0,a.w6)("design:paramtypes",[ga,m.gz,m.F0])],iv);var ov=n(406),av=function(){function TimeZonesProvider(e,t){(0,i.Z)(this,TimeZonesProvider),this.siteData=e,this.service=t}return(0,o.Z)(TimeZonesProvider,[{key:"getTimeZones",value:function getTimeZones(){return this.service.executeUnboundFunction("".concat(rv,"()")).pipe((0,w.U)((function(e){return e.value.map((function(e){return{name:e.name,timeZoneId:e.id}}))})))}},{key:"getDefaultTimeZone",value:function getDefaultTimeZone(){var e=this;return this.siteData.getValue().pipe((0,oa.zg)((function(t){return e.service.executeUnboundFunction("".concat(sv,"(siteId='").concat(t.Id,"')")).pipe((0,w.U)((function(e){return{name:e.name,timeZoneId:e.id}})))})))}}]),TimeZonesProvider}();av.ctorParameters=function(){return[{type:Qi},{type:Ci.dg}]},av=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qi,Ci.dg])],av);var rv="Default.SfTimeZones",sv="Default.SfDefaultTimeZone",lv=function(e){(0,f.Z)(TimeZonesComponent,e);var t=(0,p.Z)(TimeZonesComponent);function TimeZonesComponent(e){var n;return(0,i.Z)(this,TimeZonesComponent),(n=t.call(this)).timeZonesProvider=e,n}return(0,o.Z)(TimeZonesComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.registerSubscription(this.initializeComponent().subscribe((function(t){if(!t.isLoading){var n=t.content;e.choicesSettings=Ji.createFieldSettings(e.options,n,cv),e.isLoaded=!0}})))}},{key:"writeValue",value:function writeValue(e){var t=this;void 0===this.firstValue&&(this.firstValue=e);var n=function action(){return(0,Re.Z)((0,Qe.Z)(TimeZonesComponent.prototype),"writeValue",t).call(t,e)},i=this.getValue();null===i&&null===this.firstValue?setTimeout(n):i!==e&&n()}},{key:"initializeComponent",value:function initializeComponent(){var e=this;return this.timeZonesProvider.getTimeZones().pipe((0,oa.zg)((function(t){e.options=t.map((function(e){return{Name:e.name,Value:e.timeZoneId}}));var n=e.getValue();return n?(0,r.of)(n):e.timeZonesProvider.getDefaultTimeZone().pipe((0,w.U)((function(e){return e.timeZoneId})),(0,ra.b)((function(t){return e.writeValue(t)})))})),(0,Cn._)(),Dn(Id))}}]),TimeZonesComponent}(Z.F);lv.ctorParameters=function(){return[{type:av}]},lv=(0,a.gn)([(0,l.wA2)({selector:"sf-timezones",template:ov,providers:[av]}),(0,a.w6)("design:paramtypes",[av])],lv);var cv="TIMEZONES_DROPDOWN",dv=n(407),uv=n(241),fv=function(e){(0,f.Z)(DropdownSelectorComponent,e);var t=(0,p.Z)(DropdownSelectorComponent);function DropdownSelectorComponent(e,n){var o;return(0,i.Z)(this,DropdownSelectorComponent),(o=t.call(this)).dynamicItemService=e,o.route=n,o.choicesSettings=Ji.createFieldSettings([],null,pv),o}return(0,o.Z)(DropdownSelectorComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.route.snapshot.data.itemData){var t=this.route.snapshot.data.itemData.entityData.metadata,n=this.route.parent.snapshot.data.metaStore.entities[t.parent];this.dynamicItemService.getItemList({entityData:{metadata:n,culture:this.settings.entityData.culture,provider:this.settings.entityData.provider},fallbackProperties:[n.defaultFieldName],order:"".concat(n.defaultFieldName," ").concat(g.mX.ASCENDING)}).subscribe((function(t){var i=e.settings.dataItem,o=t.dataItems,a=null,r=i.parentKey;r||(r=e.settings.defaultValue?e.settings.defaultValue:o.length>0?o[0].key:null);var s=o.find((function(e){return e.key===r}));s&&(e.selectedParentTitle=s.title,a=s.key);var l=o.map((function(e){return{Name:e.data[n.defaultFieldName],Value:e.key}}));e.choicesSettings=Ji.createFieldSettings(l,a,pv),e.writeValue(new uv.e(a))}))}}}]),DropdownSelectorComponent}(Z.F);fv.ctorParameters=function(){return[{type:Ci.dg},{type:m.gz}]},fv=(0,a.gn)([(0,l.wA2)({selector:"sf-parent-dropdown-selector",template:dv}),(0,a.w6)("design:paramtypes",[Ci.dg,m.gz])],fv);var pv="PARENTS_DROPDOWN",Av=n(408),mv=function(e){(0,f.Z)(DropdownSelectorReadonlyComponent,e);var t=(0,p.Z)(DropdownSelectorReadonlyComponent);function DropdownSelectorReadonlyComponent(){return(0,i.Z)(this,DropdownSelectorReadonlyComponent),t.apply(this,arguments)}return(0,o.Z)(DropdownSelectorReadonlyComponent)}(fv);mv=(0,a.gn)([(0,l.wA2)({template:Av})],mv);var gv=n(409),hv=function(e){(0,f.Z)(TimeZonesReadonlyComponent,e);var t=(0,p.Z)(TimeZonesReadonlyComponent);function TimeZonesReadonlyComponent(){return(0,i.Z)(this,TimeZonesReadonlyComponent),t.apply(this,arguments)}return(0,o.Z)(TimeZonesReadonlyComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.registerSubscription(this.initializeComponent().subscribe((function(t){if(!t.isLoading){var n=e.options.find((function(e){return e.Value===t.content}));e.selectedTimeZone=n.Name,e.isLoaded=!0}})))}}]),TimeZonesReadonlyComponent}(lv);hv=(0,a.gn)([(0,l.wA2)({template:gv,providers:[av]})],hv);var vv=n(239),bv=[{sectionName:"MainSection",fields:[vv.hj.EVENT_START,vv.hj.EVENT_END,vv.hj.ALL_DAY_EVENT],fieldType:Y.U.eventTimeCompositeField}],yv=function(e){(0,f.Z)(EventsTweaksHandler,e);var t=(0,p.Z)(EventsTweaksHandler);function EventsTweaksHandler(){return(0,i.Z)(this,EventsTweaksHandler),t.apply(this,arguments)}return(0,o.Z)(EventsTweaksHandler,[{key:"handleFormTweak",value:function handleFormTweak(e,t,n){var i=bv.find((function(e){return!!e.fields.find((function(e){return e===t}))}));if(i){var o=e.find((function(e){return e.settings.name===i.sectionName})),a=n.find((function(e){return e.selector===i.fieldType}));return o.fields.push(a),i.fields}return[]}},{key:"canProcess",value:function canProcess(e){return e===u.Iu}}]),EventsTweaksHandler}(Jo);yv=(0,a.gn)([(0,l.GSi)()],yv);var Ev={provide:Jo,useClass:yv,multi:!0},Iv=n(410),wv=n(411),kv="#DCECF5",xv=function(e){(0,f.Z)(ColorPickerComponent,e);var t=(0,p.Z)(ColorPickerComponent);function ColorPickerComponent(){var e;return(0,i.Z)(this,ColorPickerComponent),(e=t.apply(this,arguments)).selectionChange=new l.vpe,e.palette=Bv,e}return(0,o.Z)(ColorPickerComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(ColorPickerComponent.prototype),"ngOnInit",this).call(this),this.selectedColor=this.value||this.settings.defaultValue||kv,this.inputSelectedColor=this.selectedColor}},{key:"onColorClick",value:function onColorClick(e){this.selectedColor=e,this.emitSelectedColor()}},{key:"onInputFocus",value:function onInputFocus(e){e.stopImmediatePropagation()}},{key:"onInputFocusout",value:function onInputFocusout(){this.emitSelectedColor()}},{key:"onInputChange",value:function onInputChange(){var e=this.prependHexSymbol(this.inputSelectedColor);this.inputSelectedColor=e,this.setSelectedColor(e)}},{key:"onButtonClick",value:function onButtonClick(e){this.inputSelectedColor=this.selectedColor}},{key:"emitSelectedColor",value:function emitSelectedColor(){this.writeValue(this.selectedColor),this.selectionChange.emit(this.selectedColor)}},{key:"prependHexSymbol",value:function prependHexSymbol(e){var t=e;return e[0]!==v.WP.HASH&&(t="".concat(v.WP.HASH).concat(e)),t}},{key:"setSelectedColor",value:function setSelectedColor(e){null!==e.match(/^#?([0-9a-fA-F]{3})([0-9a-fA-F]{3})?$/)&&(this.selectedColor=this.convertHex(e))}},{key:"convertHex",value:function convertHex(e){var t=e;return e.length<7&&(t=v.WP.HASH+t.split(v.WP.EMPTY_STRING).map((function(e){if(e!==v.WP.HASH)return e+e})).join(v.WP.EMPTY_STRING)),t.toUpperCase()}}]),ColorPickerComponent}(Z.F);xv.propDecorators={selectionChange:[{type:l.r_U}]},xv=(0,a.gn)([(0,l.wA2)({selector:"sf-color-picker",template:Iv,styles:[wv]})],xv);var Cv=function(e){(0,f.Z)(ColorPickerSettings,e);var t=(0,p.Z)(ColorPickerSettings);function ColorPickerSettings(){var e;return(0,i.Z)(this,ColorPickerSettings),(e=t.apply(this,arguments)).markAsDirty=!0,e.defaultValue=kv,e.useDefaultValue=!0,e}return(0,o.Z)(ColorPickerSettings)}(j.P1),Sv={writeComponent:xv,readComponent:xv,settingsType:Cv},Bv=["#FFADAD","#FFA4E1","#F59AFF","#8BF4FF","#92FFFB","#9EFFC9","#FFFFAE","#FFEB8D","#E4CFC5","#DCECF5","#FFFFFF","#FF7A7B","#FF71AD","#C267DC","#57C1FF","#5FD0C8","#6BDE96","#FFFF7B","#FFB85A","#B19D92","#A9B9C2","#cccccc","#FF4848","#DC3E7B","#8F34A9","#238EFC","#2C9D95","#38AB63","#FFE048","#ED8527","#7E6A5F","#76868F","#000000"],Dv=n(231),Tv=function(e){(0,f.Z)(EventsMetadataHandler,e);var t=(0,p.Z)(EventsMetadataHandler);function EventsMetadataHandler(e){var n;return(0,i.Z)(this,EventsMetadataHandler),(n=t.call(this,e)).fieldsProvider=e,n.fieldGroups=vv.y3,n}return(0,o.Z)(EventsMetadataHandler,[{key:"getFieldType",value:function getFieldType(e,t,n,i){if(this.isCalendarDropdown(i,e))return Y.U.parentDropdownSelector;if(i===vv.hj.RECURRENCE_EXPRESSION)return Y.U.recurringEvent;if(i===vv.H2.COLOR)return Y.U.color;var o=vv.KX[i];return o||null}},{key:"canProcess",value:function canProcess(e){return e===u.Iu||e===u._I}},{key:"updateInnerFieldsSettings",value:function updateInnerFieldsSettings(e,t,n){Object.keys(e).forEach((function(i){var o=e[i].settings;i===vv.hj.ALL_DAY_EVENT?(o.showTitle=!1,o.showForAllTranslationsLabel=!1):o.showForAllTranslationsLabel=!0;var a=t.find((function(e){return e.name===i})).readonly;o.readOnlyMode=n||a}))}},{key:"updateAdditionalSettings",value:function updateAdditionalSettings(e,t,n){e===vv.hj.EVENT_START&&(n.value=null)}},{key:"isCalendarDropdown",value:function isCalendarDropdown(e,t){return!!this.hasIgnoreParentChildRelationship(t)&&e===vv.hj.PARENT_ID}},{key:"hasIgnoreParentChildRelationship",value:function hasIgnoreParentChildRelationship(e){return e.ignoreParentChildRelationship}}]),EventsMetadataHandler}(Dv.a);Tv.ctorParameters=function(){return[{type:lr.H}]},Tv=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[lr.H])],Tv);var Mv={provide:Dv.a,useClass:Tv,multi:!0},Nv=n(412),Fv=n(125),Pv=function(){function UrlHelper(){(0,i.Z)(this,UrlHelper)}return(0,o.Z)(UrlHelper,null,[{key:"mergeUrlQueryParams",value:function mergeUrlQueryParams(e,t){var n={},i=e,o=e.indexOf("?");o>-1&&(e.substr(o+1).split("&").forEach((function(e){var t=e.indexOf("="),i=e.substr(0,t),o=e.substr(t+1);n[i]=o})),i=e.substr(0,o));for(var a in t)if(t.hasOwnProperty(a)){var r=t[a];n[a]=r}var s=UrlHelper.convertToQueryString(n);return s.length?"".concat(i,"?").concat(s):i}},{key:"convertToQueryString",value:function convertToQueryString(e){var t=v.WP.EMPTY_STRING;for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];t=t!==v.WP.EMPTY_STRING?"".concat(t,"&").concat(n,"=").concat(i):"".concat(n,"=").concat(i)}return t}},{key:"removeProtocol",value:function removeProtocol(e){var t=e.indexOf("://");return-1!==t?e.substring(t+3):e}}]),UrlHelper}(),Rv=function(e){(0,f.Z)(SiteSyncItemInfoComponent,e);var t=(0,p.Z)(SiteSyncItemInfoComponent);function SiteSyncItemInfoComponent(e,n,o){var a;return(0,i.Z)(this,SiteSyncItemInfoComponent),(a=t.call(this)).modalService=e,a.route=n,a.itemService=o,a.targetSiteId$=new re.t(1),a.isLoading=!1,a.dependenciesTotalCount=0,a.targetServers=[],a.targetSiteId=v.WP.EMPTY_STRING,a.dependenciesCountText=v.WP.EMPTY_STRING,a}return(0,o.Z)(SiteSyncItemInfoComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.tryParseJSON(this.getValue());t&&(this.targetServers=t.TargetServers.map((function(e){var t=Pv.removeProtocol(e.ServerAddress),n=e.ServerId;return{Name:e.ServerUserFriendlyName||t,Address:e.ServerAddress,Value:n}})),this.targetServersDropDownSettings=Ji.createFieldSettings(this.targetServers,null,null,"inline sf-mt-4xs"),this.targetSiteId=this.targetServers[0].Value,this.additionalDescription=t.AdditionalDescription,this.itemTypeName=t.TypeNameTitle,this.syncDependenciesCountSubscription=this.targetSiteId$.pipe((0,Fv.O)(this.targetSiteId)).subscribe((function(t){e.targetSiteId=t,e.settings.dataItem&&e.getDependantItemsCount(t)})),this.registerSubscription(this.syncDependenciesCountSubscription))}},{key:"onDialogOpen",value:function onDialogOpen(){var e=new he.X(this.dependenciesTotalCount),t={type:am,properties:{contentLook:"medium",actionTitle:"Related items that will be synced",action:"Default.GetSyncDependencies(targetSiteId='".concat(this.targetSiteId,"')"),dataItem:this.settings.dataItem,count:e,treeConfig:{description:!0,noSelection:!0},template:null,openItemEdit:!1}},n=new ki.np(t,(function(e){}),[],null,"-bottom");this.modalService.setMapping(n,"syncDependencies"),this.modalService.open(this.route,"syncDependencies")}},{key:"getDependantItemsCount",value:function getDependantItemsCount(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v.WP.EMPTY_STRING;this.isLoading=!0;var n=this.itemService.executeBoundFunction(this.settings.dataItem,"Default.GetSyncDependencies(targetSiteId='".concat(t,"')")).pipe((0,Cn._)(),Dn(700)).subscribe((function(t){t&&t.content&&(e.dependenciesTotalCount=t.content.value.length,e.dependenciesCountText=e.computeDependenciesCountText(e.dependenciesTotalCount),e.isLoading=!1)}));this.registerSubscription(n)}},{key:"onTargetServerChange",value:function onTargetServerChange(e){e&&this.targetSiteId$.next(e)}},{key:"computeDependenciesCountText",value:function computeDependenciesCountText(e){return 1===e?"".concat(e," updated item"):e>1?"".concat(e," updated items"):v.WP.EMPTY_STRING}},{key:"tryParseJSON",value:function tryParseJSON(e){var t=!1;try{t=JSON.parse(e)}catch(e){return!1}return t}}]),SiteSyncItemInfoComponent}(Z.F);Rv.ctorParameters=function(){return[{type:ki.bL},{type:m.gz},{type:Ci.dg}]},Rv=(0,a.gn)([(0,l.wA2)({template:Nv,selector:"sf-site-sync-item-info"}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz,Ci.dg])],Rv);var Qv=function(e){(0,f.Z)(SiteSyncSettings,e);var t=(0,p.Z)(SiteSyncSettings);function SiteSyncSettings(){return(0,i.Z)(this,SiteSyncSettings),t.apply(this,arguments)}return(0,o.Z)(SiteSyncSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(SiteSyncSettings.prototype),"init",this).call(this,e),this.dataItem=e.dataItem,this.allowHtml=!0}}]),SiteSyncSettings}(j.P1),Uv={writeComponent:Rv,readComponent:Rv,settingsType:Qv},Lv=n(413),Ov="outline",zv="contrast",_v="-sf-outline",Vv="-sf-contrast",Gv=function(){function UserPreferencesService(e,t,n,o){(0,i.Z)(this,UserPreferencesService),this.dynamicItemStore=e,this.windowProvider=n,this.keyboardShortcutsService=o,this.renderer=t.createRenderer(null,null)}return(0,o.Z)(UserPreferencesService,[{key:"checkAccessibility",value:function checkAccessibility(){var e=this;this.dynamicItemStore.service.executeUnboundFunction("Default.GetPreference(keys=['".concat(Ov,"','").concat(zv,"'])")).subscribe((function(t){var n=JSON.parse(t.value),i="true"===n.outline.toLowerCase(),o="true"===n.contrast.toLowerCase();i?e.renderer.addClass(e.windowProvider.document.body,_v):e.windowProvider.document.body.classList.contains(_v)&&e.renderer.removeClass(e.windowProvider.document.body,_v),o?e.renderer.addClass(e.windowProvider.document.body,Vv):e.windowProvider.document.body.classList.contains(Vv)&&e.renderer.removeClass(e.windowProvider.document.body,Vv),e.keyboardShortcutsService.init()}))}}]),UserPreferencesService}();Gv.ctorParameters=function(){return[{type:ga},{type:l.FYo},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Os}]},Gv=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ga,l.FYo,Window,Os])],Gv);var Hv={ONBOARDING_TIPS:"onboardingTips",STAY_AFTER_PUBLISH:"stayAfterPublish",OUTLINE:"outline",CONTRAST:"contrast",QUICK_CREATE:"quickCreate"},Zv="Onboarding tips",Yv="Stay on the same page after Publish",jv="Outline elements when navigating with keyboard",Wv="Increase contrast",Jv="Use quick create for Pages, Libraries and Classifications",qv=function(e){(0,f.Z)(UserPreferencesComponent,e);var t=(0,p.Z)(UserPreferencesComponent);function UserPreferencesComponent(e,n,o){var a;return(0,i.Z)(this,UserPreferencesComponent),(a=t.call(this)).fieldsProvider=e,a.dynamicItemStore=n,a.userPreferencesService=o,a}return(0,o.Z)(UserPreferencesComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initialize()}},{key:"onChange",value:function onChange(e,t,n){var i=this,o=this.dynamicItemStore.service.executeUnboundFunction("Default.SetPreference(key='".concat(t,"',value='").concat(e,"')")).pipe((0,Cn._)(),Dn(Id),(0,w.U)((function(e){return e.isLoading})),(0,ra.b)((function(o){if(!o){if(n.writeValue(e),t===Hv.ONBOARDING_TIPS){var a=new Event("reset-tooltip-service");window.dispatchEvent(a)}t!==Hv.OUTLINE&&t!==Hv.CONTRAST||i.userPreferencesService.checkAccessibility()}}))).subscribe();this.registerSubscription(o)}},{key:"initialize",value:function initialize(){var e=this,t=this.getPreferenceKeys();this.dynamicItemStore.service.executeUnboundFunction("Default.GetPreference(keys=[".concat(t,"])")).subscribe((function(t){var n=JSON.parse(t.value);e.onboarding="true"===n[Hv.ONBOARDING_TIPS].toLowerCase(),e.stayAfterPublish="true"===n[Hv.STAY_AFTER_PUBLISH].toLowerCase(),e.outline="true"===n[Hv.OUTLINE].toLowerCase(),e.contrast="true"===n[Hv.CONTRAST].toLowerCase(),e.quickCreate="true"===n[Hv.QUICK_CREATE].toLowerCase(),e.initSections()}))}},{key:"initSections",value:function initSections(){var e=this.getGeneralSection(),t=this.getAccessibilitySection();this.fieldsSections=[e,t]}},{key:"getGeneralSection",value:function getGeneralSection(){var e=[(0,h.ax)(this.fieldsProvider,null,Y.U.switch,Hv.ONBOARDING_TIPS,this.onboarding,null,Zv),(0,h.ax)(this.fieldsProvider,null,Y.U.switch,Hv.STAY_AFTER_PUBLISH,this.stayAfterPublish,null,Yv),(0,h.ax)(this.fieldsProvider,null,Y.U.switch,Hv.QUICK_CREATE,this.quickCreate,null,Jv)],t=new Wo.h({isMain:!1,isExpanded:!0,insertHorizontalRule:!0,title:"General settings",name:"GeneralSettings"});return t.fields=e,t}},{key:"getAccessibilitySection",value:function getAccessibilitySection(){var e=[(0,h.ax)(this.fieldsProvider,null,Y.U.switch,Hv.OUTLINE,this.outline,null,jv),(0,h.ax)(this.fieldsProvider,null,Y.U.switch,Hv.CONTRAST,this.contrast,null,Wv)],t=new Wo.h({isMain:!1,isExpanded:!1,insertHorizontalRule:!0,title:"Accessibility",name:"Accessibility"});return t.fields=e,t}},{key:"getPreferenceKeys",value:function getPreferenceKeys(){var e=[];return Object.keys(Hv).forEach((function(t){e.push("'".concat(Hv[t],"'"))})),e.join(",")}}]),UserPreferencesComponent}(E.zu);qv.ctorParameters=function(){return[{type:lr.H},{type:ga},{type:Gv}]},qv=(0,a.gn)([(0,l.wA2)({selector:"sf-user-preferences",template:Lv}),(0,a.w6)("design:paramtypes",[lr.H,ga,Gv])],qv);var Xv=n(414),Kv=function(e){(0,f.Z)(AddressGridComponent,e);var t=(0,p.Z)(AddressGridComponent);function AddressGridComponent(){return(0,i.Z)(this,AddressGridComponent),t.apply(this,arguments)}return(0,o.Z)(AddressGridComponent,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.city=this.getFieldValue(Yh),this.country=this.getFieldValue($h),this.street=this.getFieldValue(Wh)}},{key:"getFieldValue",value:function getFieldValue(e){return this.value?this.value[e]:null}}]),AddressGridComponent}(Z.F);Kv=(0,a.gn)([(0,l.wA2)({selector:"sf-address",template:Xv})],Kv);var $v=new l.OlP("bulk_operations_extender_token"),eb=function(){function CompositeDeleteCommandExtender(e){(0,i.Z)(this,CompositeDeleteCommandExtender),this.deleteCommandExtenders=e}return(0,o.Z)(CompositeDeleteCommandExtender,[{key:"showMultilingualButtons",value:function showMultilingualButtons(e){return this.getExtender(e.entityData).showMultilingualButtons(e)}},{key:"permanentDelete",value:function permanentDelete(e){return this.getExtender(e.entityData).permanentDelete(e)}},{key:"getTitle",value:function getTitle(e){return this.getExtender(e.entityData).getTitle(e)}},{key:"getDisplayName",value:function getDisplayName(e){return this.getExtender(e.entityData).getDisplayName(e)}},{key:"getExtender",value:function getExtender(e){return this.deleteCommandExtenders.find((function(t){return e&&t.isSupportedType(e)}))}}]),CompositeDeleteCommandExtender}();eb.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[$v]}]}]},eb=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],eb);var tb,nb=n(415),ib=n(416),ob=n(417),ab=tb=function(e){(0,f.Z)(UrlNameComponent,e);var t=(0,p.Z)(UrlNameComponent);function UrlNameComponent(){var e;return(0,i.Z)(this,UrlNameComponent),(e=t.call(this)).showEditableField=!1,e.showCreateButton=!0,e.showReadOnlyField=!1,e}return(0,o.Z)(UrlNameComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(UrlNameComponent.prototype),"ngOnInit",this).call(this),this.showCreateButton=!this.settings.readOnlyMode&&null==this.value,this.showReadOnlyField=!this.showCreateButton}},{key:"writeValue",value:function writeValue(e){e||this.showEditableField?this.showEditableField||(this.showReadOnlyField=!0,this.showCreateButton=!1):(this.showReadOnlyField=!1,this.showCreateButton=!0),(0,Re.Z)((0,Qe.Z)(UrlNameComponent.prototype),"writeValue",this).call(this,e)}},{key:"toggleEditableField",value:function toggleEditableField(){this.onFocus()}},{key:"onFocus",value:function onFocus(){(0,Re.Z)((0,Qe.Z)(UrlNameComponent.prototype),"onFocus",this).call(this),this.settings.readOnlyMode||(this.showEditableField=!0,this.showCreateButton=this.showReadOnlyField=!1)}},{key:"onBlur",value:function onBlur(){(0,Re.Z)((0,Qe.Z)(UrlNameComponent.prototype),"onBlur",this).call(this),this.value?(this.showCreateButton=!1,this.showReadOnlyField=!0):(this.showCreateButton=!0,this.showReadOnlyField=!1),this.showEditableField=!1}}]),UrlNameComponent}(uu.V);ab.ctorParameters=function(){return[]};var rb=function(e){(0,f.Z)(StructureUrlNameComponent,e);var t=(0,p.Z)(StructureUrlNameComponent);function StructureUrlNameComponent(e,n){var o;return(0,i.Z)(this,StructureUrlNameComponent),(o=t.call(this)).sanitizeService=e,o.window=n,o.isCustomStructure=!1,o.extension=null,o.parentUrlPath=new he.X(v.WP.EMPTY_STRING),o.parentUrlPath$=o.parentUrlPath.pipe((0,w.U)((function(e){return e+"/"}))),o}return(0,o.Z)(StructureUrlNameComponent,[{key:"ngOnInit",value:function ngOnInit(){this.urlStructureSettings=this.settings,(0,Re.Z)((0,Qe.Z)(StructureUrlNameComponent.prototype),"ngOnInit",this).call(this),!this.settings.dataItem||this.settings.dataItem.isEmpty?this.parentUrlPath.next(v.WP.EMPTY_STRING):this.fetchAndSetParentUrl(this.settings.dataItem,this.settings.dataItem.data[h.E.PARENT_ID])}},{key:"handleParentChange",value:function handleParentChange(e){this.fetchAndSetParentUrl(this.settings.dataItem,e)}},{key:"writeValue",value:function writeValue(e){var t=this;if(e){e.startsWith("~")&&(this.isCustomStructure=!0,e=e.substring(1));var n=null,i=this.settings;n=this.isCustomStructure?i.customStructureRegex:i.regex;var o=Yi.i.ErrorCleared,a=n.test(e),r=new RegExp(/^\/+$/,"g");a&&this.isCustomStructure&&r.test(e.trim())&&(a=!1),a||(o=Yi.i.Error),this.window.setTimeout((function(){t.emitStatus({type:o,data:(0,Ae.Z)({},Tc.v.PATTERN,!0)})}),0)}(0,Re.Z)((0,Qe.Z)(StructureUrlNameComponent.prototype),"writeValue",this).call(this,e)}},{key:"onEditStructureClick",value:function onEditStructureClick(){var e=this.getValue();if(this.isCustomStructure=!this.isCustomStructure,this.isCustomStructure){var t=this.parentUrlPath.getValue();return e&&(t+="/"+e),this.writeValue(t)}return this.restoreStructure()}},{key:"postProcessValue",value:function postProcessValue(e){if(this.isCustomStructure){var t="~";e.startsWith("~")?t=v.WP.EMPTY_STRING:e.startsWith("/")||(t="~/"),e="".concat(t).concat(e)}return e}},{key:"restoreStructure",value:function restoreStructure(){var e=this.settings,t=this.settings.dataItem.data?this.settings.dataItem.data[this.settings.dataItem.metadata.defaultFieldName]:this.getValue();t=this.sanitizeService.sanitizeValue(t,e.sanitizeRegex,e.sanitizeRegexReplaceCharacter),this.writeValue(t)}},{key:"fetchAndSetParentUrl",value:function fetchAndSetParentUrl(e,t){var n=this;t?this.urlStructureSettings.getUrlStructureData(e).subscribe((function(e){n.extension=e.extension,n.parentUrlPath.next(e.parentUrl),e.editableUrl&&n.writeValue(e.editableUrl)})):this.parentUrlPath.next(v.WP.EMPTY_STRING)}}]),StructureUrlNameComponent}(ab=tb=(0,a.gn)([(0,l.wA2)({selector:"sf-url-name",template:ob,providers:[(0,Z.A)(tb)]}),(0,a.w6)("design:paramtypes",[])],ab));rb.ctorParameters=function(){return[{type:Nh.U},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},rb=(0,a.gn)([(0,l.wA2)({selector:"sf-url-name-structure",template:nb,providers:[(0,Z.A)(ab)],styles:[ib]}),(0,a.w6)("design:paramtypes",[Nh.U,Window])],rb);var sb=n(284),lb=n(418),cb=function(e){(0,f.Z)(MultipleChoiceChipSettings,e);var t=(0,p.Z)(MultipleChoiceChipSettings);function MultipleChoiceChipSettings(){return(0,i.Z)(this,MultipleChoiceChipSettings),t.apply(this,arguments)}return(0,o.Z)(MultipleChoiceChipSettings)}(_i),db=function(e){(0,f.Z)(MultipleChoiceChipComponent,e);var t=(0,p.Z)(MultipleChoiceChipComponent);function MultipleChoiceChipComponent(e,n,o,a){var r;return(0,i.Z)(this,MultipleChoiceChipComponent),(r=t.call(this,o,a)).route=e,r.modalService=n,r.selectedChips=[],r}return(0,o.Z)(MultipleChoiceChipComponent,[{key:"loadChoices",value:function loadChoices(){var e=this;return(0,Re.Z)((0,Qe.Z)(MultipleChoiceChipComponent.prototype),"loadChoices",this).call(this).pipe((0,ra.b)((function(){var t=e.getValue();t&&(e.selectedChips=e.settings.choices.filter((function(e){return t.indexOf(e.Name)>-1})).map((function(e){return{Title:e.Value}})))})))}},{key:"openDialog",value:function openDialog(e){var t,n=this;if(e){var i=new he.X(this.settings.choices.length),o=this.getValue(),a={type:am,properties:{actionTitle:null!==(t=this.actionTitle)&&void 0!==t?t:this.settings.title,treeConfig:{multiSelection:!0,treeProperties:{displayField:"Value",idField:"Name"}},count:i,template:null,openItemEdit:!1,isLoading:!1,ignoreDelay:!0,showCounter:!1,dataItem:this.settings.dataItem,items:this.settings.choices.map((function(e){return e.isSelected=o&&o.indexOf(e.Name)>-1,e}))}},r=[new ki.pu(_e.USE_SELECTED),new ki.Lw(_e.CANCEL)],s=new ki.np(a,(function(e){return n.onDone(e)}),r,null,"-bottom");this.modalService.setMapping(s,"multiple-choice-chip"),this.modalService.open(this.route,"multiple-choice-chip")}}},{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(MultipleChoiceChipComponent.prototype),"ngOnInit",this).call(this),this.actionTitle=this.settings.choiceActionTitle,this.buttonTitle=this.settings.choiceButtonTitle}},{key:"onDone",value:function onDone(e){if(e.data&&e.data.data){var t=Object.keys(e.component.tree.getActiveNodeIds());t=t.filter((function(t){return e.component.tree.getIsNodeActiveById(t)})),this.writeValue(t)}}},{key:"writeValue",value:function writeValue(e){var t=this;(0,Re.Z)((0,Qe.Z)(MultipleChoiceChipComponent.prototype),"writeValue",this).call(this,e),e&&this.settings&&(this.selectedChips=this.settings.choices.filter((function(e){return t.value.indexOf(e.Name)>-1})).map((function(e){return{Title:e.Value}})))}},{key:"onRemove",value:function onRemove(e){var t=this.getValue(),n=this.settings.choices.find((function(t){return t.Value===e.Title}));this.writeValue(t.filter((function(e){return e!==n.Name})))}}]),MultipleChoiceChipComponent}(ji);db.ctorParameters=function(){return[{type:m.gz},{type:ki.bL},{type:Ri.q},{type:c.Y}]};var ub={writeComponent:db=(0,a.gn)([(0,l.wA2)({selector:"sf-multiple-choice-chip",template:lb}),(0,a.w6)("design:paramtypes",[m.gz,ki.bL,Ri.q,c.Y])],db),readComponent:db,settingsType:cb},fb=new l.OlP("bulk_command_extender_token"),pb=function(){function CompositeBulkCommandExtender(e){(0,i.Z)(this,CompositeBulkCommandExtender),this.bulkCommandExtenders=e}return(0,o.Z)(CompositeBulkCommandExtender,[{key:"getEntityDatasForBulkOperation",value:function getEntityDatasForBulkOperation(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.getExtender(e);return n.getEntityDatasForBulkOperation(e,t)}},{key:"getFilterByParentQuery",value:function getFilterByParentQuery(e,t,n){return this.getExtender(e).getFilterByParentQuery(e,t,n)}},{key:"tryHandleCommand",value:function tryHandleCommand(e,t,n,i,o){return this.getExtender(e).tryHandleCommand(t,{dataItems:n,entityData:e,notificationFilter:i,bulkItemSelectionInfo:o})}},{key:"getExtender",value:function getExtender(e){return this.bulkCommandExtenders.find((function(t){return e&&t.isSupportedType(e)}))}}]),CompositeBulkCommandExtender}();pb.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[fb]}]}]},pb=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],pb);var Ab=n(419),mb=function(e){(0,f.Z)(FieldSectionComponent,e);var t=(0,p.Z)(FieldSectionComponent);function FieldSectionComponent(e,n,o,a){var r;(0,i.Z)(this,FieldSectionComponent),(r=t.call(this)).elementRef=e,r.window=n,r.scrollService=o,r.componenentSectionMenuService=a,r.sectionToggle=new l.vpe,r.isInViewPort=!1;var s=r.componenentSectionMenuService.requestBringIntoView$.subscribe((function(e){r.requestedBringIntoView(e)}));r.registerSubscription(s);var c=r.componenentSectionMenuService.requestFieldSectionPositionCalculation$.subscribe((function(){r.checkAndUpdateIsInViewPort(!0)}));return r.registerSubscription(c),r}return(0,o.Z)(FieldSectionComponent,[{key:"insertHorizontalRule",get:function get(){return this.section.settings&&this.section.settings.insertHorizontalRule}},{key:"toggleExpand",value:function toggleExpand(){this.section.settings.isExpanded=!this.section.settings.isExpanded,this.toggleSection()}},{key:"bringIntoView",value:function bringIntoView(){var e=this;this.section.settings.isExpanded?this.scrollService.scrollTo(this.elementRef,!0):(this.section.settings.isExpanded=!0,setTimeout((function(){e.scrollService.scrollTo(e.elementRef,!0,500)}),200))}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.checkAndUpdateIsInViewPort(!1)}},{key:"toggleSection",value:function toggleSection(){var e={sectionName:this.section.settings.name,isExpanded:this.section.settings.isExpanded};this.sectionToggle.emit(e)}},{key:"requestedBringIntoView",value:function requestedBringIntoView(e){this.section.equals(e)&&this.bringIntoView()}},{key:"checkAndUpdateIsInViewPort",value:function checkAndUpdateIsInViewPort(e){var t=this.isInViewport(this.elementRef.nativeElement,e);if(this.isInViewPort!==t){this.isInViewPort=t;var n={model:this.section,isInViewPort:t};this.componenentSectionMenuService.fieldViewPortChanges(n)}}},{key:"isInViewport",value:function isInViewport(e,t){var n=this.scrollService.calculateOffset(),i=this.window.innerHeight-100;n+=this.window.scrollY,i+=this.window.scrollY,t&&e.children.length>0&&(e=e.children[0]);var o=e.offsetTop,a=e.offsetTop+e.offsetHeight;return o>n&&oi}}]),FieldSectionComponent}(E.zu);mb.ctorParameters=function(){return[{type:l.SBq},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Nt.a},{type:xd}]},mb.propDecorators={section:[{type:l.IIB}],sectionToggle:[{type:l.r_U}]},mb=(0,a.gn)([(0,l.wA2)({selector:"sf-field-section",template:Ab,animations:[(0,Oe.X$)("slideOpen",[(0,Oe.SB)("open",(0,Oe.oB)({height:"*",overflow:"visible"})),(0,Oe.SB)("closed",(0,Oe.oB)({height:0,overflow:"hidden"})),(0,Oe.eR)("closed <=> open",[(0,Oe.jt)("500ms ease")])])]}),(0,a.w6)("design:paramtypes",[l.SBq,Window,Nt.a,xd])],mb);var gb=n(420),hb=function(){function KeyboardShortcutsComponent(){(0,i.Z)(this,KeyboardShortcutsComponent),this.title="Keyboard shortcuts",this.mappedShortcuts=new Map,this.keyboardShortcutsType=ps,this.kendoKeyboardShortcuts=[{keyCombination:"".concat(this.ctrlKey,"+Z"),description:"Undo"},{keyCombination:"".concat(this.ctrlKey,"+Y"),description:"Redo"},{keyCombination:"".concat(this.ctrlKey,"+C"),description:"Copy"},{keyCombination:"".concat(this.ctrlKey,"+X"),description:"Cut"},{keyCombination:"".concat(this.ctrlKey,"+V"),description:"Paste"},{keyCombination:"".concat(this.ctrlKey,"+K"),description:"Insert link"},{keyCombination:"".concat(this.ctrlKey,"+J"),description:"Insert image"},{keyCombination:"".concat(this.ctrlKey,"+L"),description:"Insert document"},{keyCombination:"".concat(this.ctrlKey,"+B"),description:"Apply bold formatting"},{keyCombination:"".concat(this.ctrlKey,"+I"),description:"Apply italic formatting"},{keyCombination:"".concat(this.ctrlKey,"+U"),description:"Apply underline formatting"}],this.defaultShortcuts=Qs}return(0,o.Z)(KeyboardShortcutsComponent,[{key:"ctrlKey",get:function get(){return-1!==navigator.appVersion.indexOf(gs)?"CMD":"CTRL"}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.defaultShortcuts.forEach((function(t){var n="",i="Key";t.ShortcutSettings.ctrlKey&&(n+="".concat(e.ctrlKey,"+")),t.ShortcutSettings.shiftKey&&(n+="SHIFT+"),t.ShortcutSettings.altKey&&(n+="ALT+");var o=t.ShortcutSettings.code,a=new Map([[bs,"DEL"],[vs,"ESC"],[Es,"ENTER"]]).get(o);a&&(o=a),o.substring(0,i.length)===i?n+=o.substring(i.length,o.length):n+=o;var r=e.keyboardShortcutsType[t.ActionType].toString();e.mappedShortcuts.get(r)?e.mappedShortcuts.set("".concat(r,"Alias"),n):e.mappedShortcuts.set(r,n)})),this.listItemsShortcuts=[{description:"Create new item",keyCombination:this.mappedShortcuts.get("Create")},{description:"Close dialog",keyCombination:this.mappedShortcuts.get("Escape")},{description:"Confirm action in dialog",keyCombination:this.mappedShortcuts.get("CommonConfirm")},{description:"Select all items on current page",keyCombination:this.mappedShortcuts.get("SelectAll")},{description:"Clear selection",keyCombination:this.mappedShortcuts.get("Escape")},{description:"Publish selected items",keyCombination:this.mappedShortcuts.get("Publish")},{description:"Unpublish selected items",keyCombination:this.mappedShortcuts.get("Unpublish")},{description:"Schedule selected items",keyCombination:this.mappedShortcuts.get("Schedule")},{description:"Delete selected items",keyCombination:this.mappedShortcuts.get("Delete")}],this.editContentShortcuts=[{description:"Preview",keyCombination:this.mappedShortcuts.get("Preview")},{description:"Close dialog",keyCombination:this.mappedShortcuts.get("Escape")},{description:"Confirm action in dialog",keyCombination:this.mappedShortcuts.get("CommonConfirm")},{description:"Publish",keyCombination:this.mappedShortcuts.get("Publish")},{description:"Save as draft",keyCombination:"".concat(this.mappedShortcuts.get("SaveAlias")," or ").concat(this.mappedShortcuts.get("Save"))},{description:"Unpublish",keyCombination:this.mappedShortcuts.get("Unpublish")},{description:"Schedule",keyCombination:this.mappedShortcuts.get("Schedule")},{description:"Delete",keyCombination:this.mappedShortcuts.get("Delete")},{description:"Create new item",keyCombination:this.mappedShortcuts.get("Create")}]}}]),KeyboardShortcutsComponent}();hb=(0,a.gn)([(0,l.wA2)({selector:"sf-keyboard-shortcuts",template:gb})],hb);var vb=n(421),bb=function(){function MarkAllNotificationsAsReadCommand(e,t){(0,i.Z)(this,MarkAllNotificationsAsReadCommand),this.dynamicItemService=e,this.notificationService=t}return(0,o.Z)(MarkAllNotificationsAsReadCommand,[{key:"execute",value:function execute(){var e=this;return this.dynamicItemService.executeUnboundFunction("Default.MarkAllNotificationsAsRead()").pipe((0,kn.P)()).subscribe((function(){e.notificationService.onUpdate.next(!0)})),(0,r.of)(!0)}}]),MarkAllNotificationsAsReadCommand}();bb.ctorParameters=function(){return[{type:Ci.dg,decorators:[{type:l.tBr,args:[Ci.dg]}]},{type:Ib}]},bb=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,Ib])],bb);var yb=function(){function OpenNotificationsPreferencesCommand(e){(0,i.Z)(this,OpenNotificationsPreferencesCommand),this.window=e}return(0,o.Z)(OpenNotificationsPreferencesCommand,[{key:"execute",value:function execute(e){var t=new CustomEvent(Sh);return this.window.dispatchEvent(t),(0,r.of)(!0)}}]),OpenNotificationsPreferencesCommand}();yb.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},yb=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Window])],yb);var Eb="Notification preferences",Ib=function(){function NotificationsService(){(0,i.Z)(this,NotificationsService),this.onUpdate=new Ft.xQ}return(0,o.Z)(NotificationsService,[{key:"createNotificationsDialogData",value:function createNotificationsDialogData(e,t,n){var i=this.getDialogData(e,t,n);return i.headButtons=this.createHeadButtons(),i.showButtonsOnInit=!0,i.doneCallback=function(){return window.dispatchEvent(new Event("notifications-dialog-close-event"))},i}},{key:"getDialogData",value:function getDialogData(e,t,n){var i=new ki.np({type:e,properties:{}},null,[]);return i.heading={title:t},i.key=n,i}},{key:"createHeadButtons",value:function createHeadButtons(){var e={ariaLabel:Eb,iconTitle:Eb,insideButtons:[],dropdownButtonIconName:"cog",dropdownButtonIconLook:"size-m",dropdownButtonText:"",dropdownItemHeadingText:"",operations:this.prepareOperations(),buttonsLook:"circle"},t=[];return t.push(e),t}},{key:"prepareOperations",value:function prepareOperations(){var e={Name:"Mark all as read",Category:{Name:Eb}},t={Name:"Edit preferences",Category:{Name:Eb}};return t.token={type:yb},e.token={type:bb},(0,r.of)([e,t])}}]),NotificationsService}();Ib.ctorParameters=function(){return[]},Ib=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[])],Ib);var wb=function(e){(0,f.Z)(SiteSyncResultMapper,e);var t=(0,p.Z)(SiteSyncResultMapper);function SiteSyncResultMapper(){return(0,i.Z)(this,SiteSyncResultMapper),t.apply(this,arguments)}return(0,o.Z)(SiteSyncResultMapper,[{key:"map",value:function map(e){var t=e.Items.find((function(e){return"Successful"!==e.Status}))?"negative":"positive",n=null;return e.GeneralErrors&&(n={look:ya.ERROR+" sf-mb-m",type:Qa,properties:{message:e.GeneralErrors},duration:null,updatePropertiesOnChange:!0,id:"generalErrorNotification"}),{additionalTitle:e.DateOfCompletion,items:e.Items,counterLook:t,notificationData:n}}}]),SiteSyncResultMapper}((0,o.Z)((function ResultMapperBase(){(0,i.Z)(this,ResultMapperBase)}))),kb=n(422),xb=function(){function SiteSyncNotificationComponent(){(0,i.Z)(this,SiteSyncNotificationComponent),this.treeConfig={noSelection:!0},this.errorLabel="Why?"}return(0,o.Z)(SiteSyncNotificationComponent,[{key:"onItemsLoaded",value:function onItemsLoaded(e){e&&e.GeneralErrors&&(this.errorLabel=E.WP.EMPTY_STRING)}}]),SiteSyncNotificationComponent}();xb.propDecorators={action:[{type:l.IIB}],count:[{type:l.IIB}],treeConfig:[{type:l.IIB}],actionTitle:[{type:l.IIB}],contentLook:[{type:l.IIB}],modalListMapper:[{type:l.IIB}]},xb=(0,a.gn)([(0,l.wA2)({template:kb})],xb);var Cb=function(){function SiteSyncNotificationReslover(e,t){(0,i.Z)(this,SiteSyncNotificationReslover),this.window=e,this.modalService=t}return(0,o.Z)(SiteSyncNotificationReslover,[{key:"execute",value:function execute(e,t){var n=JSON.parse(e),i=Object.keys(n).map((function(e){return n[e]})),o=i[0].SyncSummaryId,a=i[0].TotalItems;if(o&&!(a<=0))if(0===Object.keys(t.parent.snapshot.data).length){var r=new CustomEvent(Bh,{detail:{syncSummaryId:o,count:a}});this.window.dispatchEvent(r)}else{var s=this.getDialogData(o,a,"site-sync-notification");this.modalService.setMapping(s,"itemsSendForSync"),this.modalService.open(t,"itemsSendForSync")}}},{key:"canProcess",value:function canProcess(e){return"site-sync-completed"===e}},{key:"getDialogData",value:function getDialogData(e,t,n){var i=new he.X(t),o=this.getDialogComponentData(e,i),a=new ki.np(o,(function(e){}),[],null,"-bottom");return a.key=n,a}},{key:"getDialogComponentData",value:function getDialogComponentData(e,t){return{type:xb,properties:{contentLook:"medium",actionTitle:"Synced items",action:"GetItemsSendForSync(summaryId=".concat(e,")"),count:t,treeConfig:{description:!0,noSelection:!0},openItemEdit:!1,modalListMapper:new wb}}}}]),SiteSyncNotificationReslover}();Cb.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:ki.bL}]},Cb=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Window,ki.bL])],Cb);var Sb=new l.OlP("SiteSyncResolverToken"),Bb={multi:!0,provide:Sb,useClass:Cb},Db="Default.SetNotificationStatus",Tb=function(e){(0,f.Z)(NotificationsComponent,e);var t=(0,p.Z)(NotificationsComponent);function NotificationsComponent(e,n,o,a,r){var s;return(0,i.Z)(this,NotificationsComponent),(s=t.call(this)).dynamicItemService=e,s.window=n,s.notificationService=o,s.notificationsResolvers=a,s.route=r,s.ACTION="Default.GetNotifications()",s.notificationsTitle="Notifications",s.showCounter=!1,s.notifications$=new re.t(1),s.emptyScreenIcon=qc.notifications,s.emptyListMessage="No new notifications",s.treeConfig={status:!1,description:!0,noSelection:!0,skipNodeMappingToDefaultModel:!0},s.onTreeNodeClicked=function(e){!0!==e.data.IsRead?s.dynamicItemService.executeUnboundFunction("".concat(Db,"(messageJobId=").concat(e.data.MessageJobId,", isRead=true)")).subscribe((function(t){s.executeNotificationResolver(e),e.data.SystemUrl&&s.window.open(e.data.SystemUrl,v.Mw)})):(s.executeNotificationResolver(e),e.data.SystemUrl&&s.window.open(e.data.SystemUrl,v.Mw))},s}return(0,o.Z)(NotificationsComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.dynamicItemService.executeUnboundFunction("Default.GetNotificationsCount(unreadOnly=false)").subscribe((function(t){e.count=new he.X(t.value),e.notifications$.next([])}));var t=this.notificationService.onUpdate.subscribe((function(){e.modalList.reloadItems()}));this.registerSubscription(t)}},{key:"executeNotificationResolver",value:function executeNotificationResolver(e){var t=e.data.NotificationKey,n=this.notificationsResolvers.find((function(e){return e.canProcess(t)}));n&&n.execute(e.data.AdditionalMessageData,this.route)}}]),NotificationsComponent}(E.zu);Tb.ctorParameters=function(){return[{type:Ci.dg},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ib},{type:Array,decorators:[{type:l.tBr,args:[Sb]}]},{type:m.gz}]},Tb.propDecorators={modalList:[{type:l.i9L,args:["modalList",{static:!1}]}]},Tb=(0,a.gn)([(0,l.wA2)({selector:"sf-notifications",template:vb}),(0,a.w6)("design:paramtypes",[Ci.dg,Window,Ib,Array,m.gz])],Tb);var Mb=n(423),Nb="Notifications",Fb="SystemNotification",Pb=function(e){(0,f.Z)(NotificationsPreferencesComponent,e);var t=(0,p.Z)(NotificationsPreferencesComponent);function NotificationsPreferencesComponent(e,n){var o;return(0,i.Z)(this,NotificationsPreferencesComponent),(o=t.call(this)).fieldsProvider=e,o.dynamicItemStore=n,o}return(0,o.Z)(NotificationsPreferencesComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initialize()}},{key:"onChange",value:function onChange(e,t,n){var i={data:{preferenceParameters:{Key:t,Value:e,PreferenceType:Nb,PreferenceName:Fb}}},o=this.dynamicItemStore.service.executeUnboundFunction("Default.SetUserPreference",i).pipe((0,Cn._)(),Dn(Id),(0,w.U)((function(e){return e.isLoading})),(0,ra.b)((function(t){t||n.writeValue(e)}))).subscribe();this.registerSubscription(o)}},{key:"initialize",value:function initialize(){var e=this;this.dynamicItemStore.service.executeUnboundFunction("Default.GetUserPreferences(preferenceType='".concat(Nb,"')")).subscribe((function(t){var n=JSON.parse(t.value);e.fieldsSections=[],n.forEach((function(t){var n=[];t.Fields.filter((function(e){return e.PreferenceName===Fb})).forEach((function(t){var i=(0,h.ax)(e.fieldsProvider,null,Y.U.switch,t.Key,t.Value,null,t.Title);n.push(i)}));var i={isMain:!1,isExpanded:!1,insertHorizontalRule:!0,title:t.Title,name:t.Name},o=new Wo.h(i);o.fields=n,e.fieldsSections.push(o)})),e.fieldsSections.length>0&&(e.fieldsSections[0].settings.isExpanded=!0)}))}}]),NotificationsPreferencesComponent}(E.zu);Pb.ctorParameters=function(){return[{type:lr.H},{type:ga}]},Pb=(0,a.gn)([(0,l.wA2)({selector:"sf-notifications-preferences",template:Mb}),(0,a.w6)("design:paramtypes",[lr.H,ga])],Pb);var Rb=function(){function HeaderMenuService(e,t){(0,i.Z)(this,HeaderMenuService),this.windowProvider=e,this.notificationsService=t,this._onUserDialogOpen=new Ft.xQ,this.actionList=[],this.attachListeners()}return(0,o.Z)(HeaderMenuService,[{key:"onUserDialogOpen",get:function get(){return this._onUserDialogOpen.asObservable()}},{key:"ngOnDestroy",value:function ngOnDestroy(){var e=this;this.actionList.forEach((function(t){return e.windowProvider.removeEventListener(t.customEventName,t.customEventListener)}))}},{key:"attachListeners",value:function attachListeners(){var e=this;this.userPreferencesListener=function(){return e._onUserDialogOpen.next(e.setDialogData(qv,"User preferences","user-preferences"))},this.keyboardShortcutsListener=function(){return e._onUserDialogOpen.next(e.setDialogData(hb,"Keyboard shortcuts","keyboard-shortcuts"))},this.notificationsListener=function(){return e._onUserDialogOpen.next(e.notificationsService.createNotificationsDialogData(Tb,null,"notifications"))},this.notificationsPreferencesListener=function(){return e._onUserDialogOpen.next(e.notificationsService.getDialogData(Pb,"Notify me for updates for...","notifications-preferences"))},this.siteSyncNotificationsListener=function(t){return e._onUserDialogOpen.next(e.getSiteSyncDialogData(t.detail.syncSummaryId,t.detail.count,"site-sync-notification"))},this.actionList.push({customEventName:Bh,customEventListener:this.siteSyncNotificationsListener}),this.actionList.push({customEventName:Sh,customEventListener:this.notificationsPreferencesListener}),this.actionList.push({customEventName:"notifications-event",customEventListener:this.notificationsListener}),this.actionList.push({customEventName:"user-preferences-event",customEventListener:this.userPreferencesListener}),this.actionList.push({customEventName:"keyboard-shortcuts-event",customEventListener:this.keyboardShortcutsListener}),this.actionList.forEach((function(t){return e.windowProvider.addEventListener(t.customEventName,t.customEventListener)}))}},{key:"setDialogData",value:function setDialogData(e,t,n){var i=new ki.np({type:e},null,[]);return i.heading={title:t},i.key=n,i}},{key:"getSiteSyncDialogData",value:function getSiteSyncDialogData(e,t,n){var i=new he.X(t),o=this.getSiteSyncDialogComponentData(e,i),a=new ki.np(o,(function(e){}),[],null,"-bottom");return a.key=n,a}},{key:"getSiteSyncDialogComponentData",value:function getSiteSyncDialogComponentData(e,t){return{type:xb,properties:{contentLook:"medium",actionTitle:"Synced items",action:"GetItemsSendForSync(summaryId=".concat(e,")"),count:t,treeConfig:{description:!0,noSelection:!0},openItemEdit:!1,modalListMapper:new wb}}}}]),HeaderMenuService}();Rb.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ib}]},Rb=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Window,Ib])],Rb);var Qb=n(424),Ub=n(425),Lb=function(){function AddManyComponent(e){(0,i.Z)(this,AddManyComponent),this.fieldsProvider=e}return(0,o.Z)(AddManyComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initPredefinedListsField(),this.initValuesField()}},{key:"onListChange",value:function onListChange(e){var t=this.predefinedLists[e];this.value=t?t.join(v.WP.NEWLINE):null}},{key:"initValuesField",value:function initValuesField(){this.valuesFieldModel=(0,h.ax)(this.fieldsProvider,null,Y.U.textArea,"values",void 0,{},"or Add/paste options - one item per line"),this.valuesFieldModel.settings.rows=10,this.predefinedListsFormControl=new ze.NI}},{key:"initPredefinedListsField",value:function initPredefinedListsField(){this.predefinedListsFieldModel=(0,h.ax)(this.fieldsProvider,null,Y.U.choiceDropDown,"predefinedList",this.value,{},"Import predefined list");var e=[{Name:"- Select -",Value:"select"}];e.push.apply(e,(0,J.Z)(Object.keys(this.predefinedLists).map((function(e){return{Name:e,Value:e}})))),this.predefinedListsFieldModel.settings.choices=e}}]),AddManyComponent}();Lb.ctorParameters=function(){return[{type:lr.H}]},Lb.propDecorators={predefinedLists:[{type:l.IIB}]},Lb=(0,a.gn)([(0,l.wA2)({selector:"sf-add-many",template:Ub}),(0,a.w6)("design:paramtypes",[lr.H])],Lb);var Ob="-dragged",zb=function(e){(0,f.Z)(EditableTableComponent,e);var t=(0,p.Z)(EditableTableComponent);function EditableTableComponent(e,n,o,a,r,s,c){var d;return(0,i.Z)(this,EditableTableComponent),(d=t.call(this,e,n,o,a,r)).window=e,d.mirrorService=n,d.detector=o,d.storage=a,d.fieldChangeHandlers=r,d.modalService=s,d.route=c,d.nodesReordered=new l.vpe,d.lastSectionIndex=-1,d}return(0,o.Z)(EditableTableComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(this.generateTableLook(),this.defaultSectionName=this.defaultSection?this.defaultSection.settings.name:"",this.defaultValue&&Object.values(this.defaultValue).length>0)?Array.isArray(this.defaultValue)?this.defaultValue.forEach((function(t,n){e.addSection(n.toString(),t)})):Object.getOwnPropertyNames(this.defaultValue).forEach((function(t){var n=e.defaultValue[t];e.addSection(t.toString(),n)})):this.defaultSection&&this.addSection("0",null,!1,!0);this.ngOnChanges({fieldSections:{currentValue:this.fieldSections}})}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){(0,Re.Z)((0,Qe.Z)(EditableTableComponent.prototype),"ngAfterViewInit",this).call(this),this.updateCheckboxesDefaultValues()}},{key:"addRow",value:function addRow(){this.addSection((this.lastSectionIndex+1).toString(),{},!0,!0),this.ngOnChanges({fieldSections:{currentValue:this.fieldSections}})}},{key:"removeRow",value:function removeRow(e){var t={key:null,value:null,sectionTitle:this.fieldSections[e].settings.title,sectionName:this.fieldSections[e].settings.name,isSectionRemoved:!0};this.fieldChange.emit(t),e>-1&&this.fieldSections.splice(e,1)}},{key:"generateTableLook",value:function generateTableLook(){this.tableClass="sf-field__table -sf-mt-3xs",this.look&&(this.tableClass+=" -"+this.look.split(" ").join(" -"))}},{key:"addSubRow",value:function addSubRow(e,t){e.settings.insertHorizontalRule=!1;var n=new Wo.h;(n=Object.assign({},e)).settings=Object.assign({},e.settings),n.settings.name=e.settings.name,n.settings.insertHorizontalRule=!0,n.settings.title=v.WP.EMPTY_STRING,n.fields=[],e.fields.forEach((function(e){var t=Object.assign({},e);t.settings=Object.assign({},e.settings),t.value=null;var i=e.key.replace(e.settings.friendlyTitle,"");t.key=t.settings.friendlyTitle+(Number(i)+1),t.settings.key=t.key,n.fields.push(t)})),this.fieldSections.splice(t+1,0,n),this.ngOnChanges({fieldSections:{currentValue:this.fieldSections}})}},{key:"removeSubRow",value:function removeSubRow(e,t){this.fieldSections[t+1].settings.title=e.settings.title,this.removeRow(t)}},{key:"onChange",value:function onChange(e,t,n){(0,Re.Z)((0,Qe.Z)(EditableTableComponent.prototype),"onChange",this).call(this,e,t,n),n.fields.find((function(e){return e.key===t})).value=e}},{key:"onSelectionChange",value:function onSelectionChange(e,t,n){var i=this;this.multipleSelect||!e?(0,Re.Z)((0,Qe.Z)(EditableTableComponent.prototype),"onChange",this).call(this,e,t,n):this.multipleSelect||this.selectedRadioName!==t?this.fieldSections.forEach((function(o){o.settings.name===n.settings.name?((0,Re.Z)((0,Qe.Z)(EditableTableComponent.prototype),"onChange",i).call(i,e,t,n),i.selectedRadioName=t):i.resetRadioInput(t.replace(n.settings.name,o.settings.name),o)})):(this.resetRadioInput(t,n),this.selectedRadioName=null)}},{key:"dragstart",value:function dragstart(e,t){e.target.classList.add(Ob),this.draggedSection=t,e.stopPropagation()}},{key:"dragend",value:function dragend(e){e.target.classList.remove(Ob)}},{key:"dragover",value:function dragover(e,t){e.preventDefault();var n=this.fieldSections.indexOf(this.draggedSection),i=this.fieldSections.indexOf(t);i!==n&&(this.fieldSections.splice(n,1),this.fieldSections.splice(i,0,this.draggedSection),this.nodesReordered.emit(this.fieldSections))}},{key:"addMany",value:function addMany(){var e=this,t=[new ki.pu(_e.DONE),new ki.Lw(_e.CANCEL)],n={type:Lb,properties:{predefinedLists:this.predefinedLists}},i=new ki.np(n,(function(t){var n=t.component.value;n&&(n.split(v.WP.NEWLINE).forEach((function(t){var n={};e.defaultSection.fields.forEach((function(i){var o=i.key.replace(e.defaultSectionName,"");n[o]=t})),e.addSection((e.lastSectionIndex+1).toString(),n,!1,!0)})),e.ngOnChanges({fieldSections:{currentValue:e.fieldSections}}))}),t,null);i.heading={title:"Add many options"},this.modalService.setMapping(i,"addMany"),this.modalService.open(this.route,"addMany")}},{key:"resetRadioInput",value:function resetRadioInput(e,t){(0,Re.Z)((0,Qe.Z)(EditableTableComponent.prototype),"onChange",this).call(this,!1,e,t),this.checkboxes.find((function(e){return e.nativeElement.attributes["data-sf-section-name"].value===t.settings.name})).nativeElement.checked=!1}},{key:"addSection",value:function addSection(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=new Wo.h;(a=Object.assign({},this.defaultSection)).settings=Object.assign({},this.defaultSection.settings),a.settings.name=this.defaultSectionName+e,a.fields=[],this.defaultSection.fields.forEach((function(e){var r=Object.assign({},e),s=e.key.replace(n.defaultSectionName,"");r.settings=Object.assign({},e.settings);var l=r.settings.defaultValue,c=t?t[s]:null;r.selector===Y.U.choiceDropDown?r.value=c||r.settings.defaultValue:(r.settings.defaultValue=i?null:l,r.value=i?null:c||r.settings.defaultValue),r.key=a.settings.name+s,r.settings.key=a.settings.name+s,o&&(0,Re.Z)((0,Qe.Z)(EditableTableComponent.prototype),"onChange",n).call(n,r.value,r.key,a),a.fields.push(r)})),this.fieldSections.push(a),this.lastSectionIndex++}},{key:"updateCheckboxesDefaultValues",value:function updateCheckboxesDefaultValues(){var e=this;this.checkboxes.forEach((function(t){var n,i=t.nativeElement.attributes["data-sf-section-name"].value;i=i.replace(e.defaultSectionName,""),t.nativeElement.checked=null===(n=e.defaultValue[i])||void 0===n?void 0:n.Selected}))}}]),EditableTableComponent}(Xo.I);zb.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:ia.R},{type:l.sBO},{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:Array,decorators:[{type:l.tBr,args:[Lf.q]}]},{type:ki.bL},{type:m.gz}]},zb.propDecorators={allowModify:[{type:l.IIB}],reorderable:[{type:l.IIB}],selectable:[{type:l.IIB}],multipleSelect:[{type:l.IIB}],predefinedLists:[{type:l.IIB}],defaultSection:[{type:l.IIB}],defaultValue:[{type:l.IIB}],allowAddSubRow:[{type:l.IIB}],look:[{type:l.IIB}],nodesReordered:[{type:l.r_U}],checkboxes:[{type:l.vR,args:["checkbox"]}]},zb=(0,a.gn)([(0,l.wA2)({selector:"sf-editable-table",template:Qb,encapsulation:l.ifc.None}),(0,a.w6)("design:paramtypes",[Window,ia.R,l.sBO,Rr.V1,Array,ki.bL,m.gz])],zb);var _b=n(282),Vb=n(426),Gb=function(e){(0,f.Z)(SharedInComponent,e);var t=(0,p.Z)(SharedInComponent);function SharedInComponent(e,n,o,a){var r;return(0,i.Z)(this,SharedInComponent),(r=t.call(this)).route=e,r.bundleDataService=n,r.modalService=o,r.windowProvider=a,r.showBadge=!0,r.isLoading=!0,r.showNotUsedLabel=!1,r.badgeLook="ellipse",r.countInternal=0,r}return(0,o.Z)(SharedInComponent,[{key:"count",get:function get(){return this.countInternal},set:function set(e){e&&(this.badgeLook+=" positive"),this.countInternal=e}},{key:"ngOnInit",value:function ngOnInit(){this.context&&(this.isContentType()?this.getResponseFromService():this.isTemplatesType()&&this.getDataFromItem())}},{key:"onClick",value:function onClick(){var e=new he.X(this.count),t={type:am,properties:{contentLook:"medium",action:this.isContentType()?"Default.SharedIn()":"Default.UsedOnPages()",actionTitle:this.getTitle(),dataItem:this.context.dataItem,count:e,showDataItemTitle:!0,template:null,listLook:"actions-on-hover",tabsConfig:this.generateTabs({status:!0,showBreadcrumb:!0,noSelection:!0,clickable:!0,previewUrl:!0}),onViewNodeFunc:this.viewNodeCliked.bind(this),sourceSelector:this.generateSourceSelector()}},n=new ki.np(t);this.modalService.setMapping(n,"sharedIn"),this.modalService.show("sharedIn",this.modalService.currentActivityStatus.active||this.useParentRouteForNavigation?this.route.parent:this.route)}},{key:"generateTabs",value:function generateTabs(e){var t=[];return this.isContentType()?t=[{title:"Pages",noItemsLabel:"Pages sharing content block will appear here",treeConfig:e,itemsFilter:function itemsFilter(e){return e.IsPage},itemsModifier:function itemsModifier(e){e.isTranslated=!0,e.showViewUrl=e.DisplayStatus[0].Name!==Zn,e.isSelectionDisabled=e.DisplayStatus[0].Name===Zn,e.removeBreadcrumbPrefix=e.DisplayStatus[0].Name===Zn}},{title:"Templates",noItemsLabel:"Templates sharing content block will appear here",treeConfig:Object.assign({},e,{showBreadcrumb:!1}),itemsFilter:function itemsFilter(e){return!e.IsPage},itemsModifier:function itemsModifier(e){return e.isTranslated=!0}}]:this.sources.forEach((function(n){t.push({title:null,treeConfig:e,noItemsLabel:"Pages using this template will appear here",itemsFilter:function itemsFilter(e){return e.IsPage&&e.SiteId===n.Value},itemsModifier:function itemsModifier(e){e.isTranslated=!0,e.showViewUrl=e.DisplayStatus[0].Name!==Zn,e.isSelectionDisabled=e.DisplayStatus[0].Name===Zn,e.removeBreadcrumbPrefix=e.DisplayStatus[0].Name===Zn}})})),t}},{key:"viewNodeCliked",value:function viewNodeCliked(e){var t=e.data?e.data.dataItem||e.data:e;t.Url&&(this.windowProvider.open(v.WP.EMPTY_STRING,t.Url).location.href=t.Url)}},{key:"getResponseFromService",value:function getResponseFromService(){var e=this,t=this.bundleDataService.responses.pipe().subscribe((function(t){if(t){t.cleanRequest&&(e.isLoading=!0);var n=e.bundleDataService.data[td];if(n&&n[e.context.dataItem.key]&&n[e.context.dataItem.key].data){var i=n[e.context.dataItem.key].data;e.count=i?i.value:0,e.isLoading=!1}}}));this.registerSubscription(t)}},{key:"getDataFromItem",value:function getDataFromItem(){var e=this.context.dataItem.data[h.E.PAGES_COUNT];this.count=e.Count,this.tooltip=e.Tooltip,this.sources=e.Sites.map((function(e){return{Name:e.Title,Value:e.Id}})),this.isLoading=!1}},{key:"generateSourceSelector",value:function generateSourceSelector(){return this.isContentType()?null:{label:"Sites",settings:{choices:this.sources}}}},{key:"getTitle",value:function getTitle(){return this.isContentType()?"Pages sharing content block":"Pages using template"}},{key:"isContentType",value:function isContentType(){return this.context.dataItem.metadata.setName===u.gl.CONTENT_ITEMS}},{key:"isTemplatesType",value:function isTemplatesType(){return this.context.dataItem.metadata.setName===u.gl.TEMPLATES}}]),SharedInComponent}(E.zu);Gb.ctorParameters=function(){return[{type:m.gz},{type:nd},{type:ki.bL},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Gb.propDecorators={context:[{type:l.IIB}],showBadge:[{type:l.IIB}],count:[{type:l.IIB}],isLoading:[{type:l.IIB}],showNotUsedLabel:[{type:l.IIB}],useParentRouteForNavigation:[{type:l.IIB}]},Gb=(0,a.gn)([(0,l.wA2)({selector:"sf-shared-in",template:Vb}),(0,a.w6)("design:paramtypes",[m.gz,nd,ki.bL,Window])],Gb);var Hb=n(427),Zb=function(e){(0,f.Z)(ContentBlocksNotificationComponent,e);var t=(0,p.Z)(ContentBlocksNotificationComponent);function ContentBlocksNotificationComponent(e){var n;return(0,i.Z)(this,ContentBlocksNotificationComponent),(n=t.call(this)).dynamicItemService=e,n}return(0,o.Z)(ContentBlocksNotificationComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.registerSubscription(this.item$.subscribe((function(t){t.data&&(e.initContentMessage(t),e.initSharedInCount(t))})))}},{key:"initContentMessage",value:function initContentMessage(e){var t='"'.concat(e.title,'"');this.isFromEditScreen&&(t="This content"),this.sharedContentMessage="".concat(t).concat(" is shared. Any changes will be reflected on the following ")}},{key:"initSharedInCount",value:function initSharedInCount(e){var t=this;this.registerSubscription(this.dynamicItemService.executeBoundFunction(e,td).subscribe((function(e){t.sharedInCount=e.value,t.sharedInLoading=!1})))}}]),ContentBlocksNotificationComponent}(E.zu);Zb.ctorParameters=function(){return[{type:Ci.dg}]},Zb.propDecorators={item$:[{type:l.IIB}]},Zb=(0,a.gn)([(0,l.wA2)({selector:"sf-content-blocks-notification",template:Hb}),(0,a.w6)("design:paramtypes",[Ci.dg])],Zb);var Yb=function(e){(0,f.Z)(ContentBlocksEditExtender,e);var t=(0,p.Z)(ContentBlocksEditExtender);function ContentBlocksEditExtender(){return(0,i.Z)(this,ContentBlocksEditExtender),t.apply(this,arguments)}return(0,o.Z)(ContentBlocksEditExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.typeFullName===u.In}},{key:"overrideNavigationMenuOptions",value:function overrideNavigationMenuOptions(e,t){t.title=null,t.hideAdditionalActionsMenu=!0;var n={type:Zb,properties:{isFromEditScreen:!0,item$:t.item$}};t.additionalActionsComponentData=n}}]),ContentBlocksEditExtender}(Kr);Yb=(0,a.gn)([(0,l.GSi)()],Yb);var jb={multi:!0,provide:Jr,useClass:Yb},Wb=function(e){(0,f.Z)(ContentBlocksGridExtender,e);var t=(0,p.Z)(ContentBlocksGridExtender);function ContentBlocksGridExtender(){return(0,i.Z)(this,ContentBlocksGridExtender),t.apply(this,arguments)}return(0,o.Z)(ContentBlocksGridExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.typeFullName===u.In}}]),ContentBlocksGridExtender}(fd);Wb=(0,a.gn)([(0,l.GSi)()],Wb);var Jb={multi:!0,provide:ud,useClass:Wb},qb=n(428),Xb="toggle left fixed-width",Kb="no-hover",$b=function(e){(0,f.Z)(PersonalizationDropdownComponent,e);var t=(0,p.Z)(PersonalizationDropdownComponent);function PersonalizationDropdownComponent(e,n,o,a,r){var s;return(0,i.Z)(this,PersonalizationDropdownComponent),(s=t.call(this)).route=e,s.detector=n,s.modalService=o,s.actionButtonsResolver=a,s.urlService=r,s.onChange=new l.vpe,s.filteredPersonalizedOperations=new re.t(1),s.iconConfig={name:"user",look:"white size-xs",wrapperLook:"transparent"},s}return(0,o.Z)(PersonalizationDropdownComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.item){var t=this.item.subscribe((function(t){return e.onItemChanged(t)}));this.registerSubscription(t)}this.personalizationOperations.subscribe((function(t){var n=t.filter((function(e){return e.Category.Name===$.si.personalization})),i=t.filter((function(e){return e.Category.Name===$.si.personalized})),o=t.filter((function(e){return e.Category.Name===$.si.personalizedWidgets}));if(e.hasNoWidgetOrPagePersonalizations=!1,e.dropdownButtonIconLook=null,e.dropdownButtonIconName=null,e.personalizationOperationName=null,0===i.length&&n.length>=0)if(e.createPersonalizedButton=e.actionButtonsResolver.getActionButtons(n)[0],e.personalizationButtonLook=Xb,e.dropdownButtonIconName="user",e.dropdownButtonIconLook="size-xs badge",o.length>0)e.filteredPersonalizedOperations.next(t),e.dropdownButtonIconLook+=" ".concat("edit-variation");else{e.filteredPersonalizedOperations.next([]),e.hasNoWidgetOrPagePersonalizations=!0;var a=n.find((function(e){return e.Name===$.q.createPersonalizedVersion}));a&&a.ContextParameters&&a.ContextParameters.find((function(e){return"WidgetsToolTip"===e.Name}))&&(e.showOnlyWidgetsTooltip=!0),e.setPreviewImageSrc()}else{e.personalizationButtonLook="".concat(Xb," ").concat("auto-width");var r=$.q.loadPersonalizedVersion+"_",s=e.route.snapshot.queryParams[g.Tx.SEGMENT];e.personalizationOperationName=r+(s||"Default"),e.filteredPersonalizedOperations.next(t)}e.detector.detectChanges()}))}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){this.removeButtonHoverClass(),this.onChange.emit(e)}},{key:"onHover",value:function onHover(e){this.personalizationButtonLook&&(e?this.addButtonHoverClass():this.removeButtonHoverClass())}},{key:"addButtonHoverClass",value:function addButtonHoverClass(){this.personalizationButtonLook.includes(Kb)&&(this.personalizationButtonLook=this.personalizationButtonLook.replace(" ".concat(Kb),v.WP.EMPTY_STRING))}},{key:"removeButtonHoverClass",value:function removeButtonHoverClass(){this.personalizationButtonLook.includes(Kb)||(this.personalizationButtonLook+=" ".concat(Kb))}},{key:"onItemChanged",value:function onItemChanged(e){this.actionMenuOptions=new oe.gP(Number.NEGATIVE_INFINITY,ae.fT,!0),this.detector.detectChanges()}},{key:"setPreviewImageSrc",value:function setPreviewImageSrc(){this.previewImageSrc=this.urlService.getResourceUrl("/".concat("assets/images/preview-personalize-widget.png"))}}]),PersonalizationDropdownComponent}(E.zu);$b.ctorParameters=function(){return[{type:m.gz},{type:l.sBO},{type:ki.bL},{type:ae._U},{type:Ot}]},$b.propDecorators={actionMenu:[{type:l.i9L,args:["actionMenu",{static:!1}]}],item:[{type:l.IIB}],personalizationOperations:[{type:l.IIB}],onChange:[{type:l.r_U}]},$b=(0,a.gn)([(0,l.wA2)({selector:"sf-personalization-dropdown",template:qb}),(0,a.w6)("design:paramtypes",[m.gz,l.sBO,ki.bL,ae._U,Ot])],$b);var ey=function(){function ConfigOperationsFilter(e){(0,i.Z)(this,ConfigOperationsFilter),this.configService=e}return(0,o.Z)(ConfigOperationsFilter,[{key:"filter",value:function filter(e,t){var n,i=(null!==(n=this.configService.externalConfig.changeOwnerAllowedTypes)&&void 0!==n?n:[]).indexOf(t.dataItem.metadata.setName)>-1;return t.dataItem.metadata.setName===u.gl.PAGES||i?e:e.filter((function(e){return e.Name!==$.q.changeOwner}))}}]),ConfigOperationsFilter}();ey.ctorParameters=function(){return[{type:Rt.V}]},ey=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Rt.V])],ey);var ty={multi:!0,provide:te,useClass:ey},ny=n(429),iy=function(){function ListIndexContract(e,t,n){(0,i.Z)(this,ListIndexContract),this.entityData=e,this.dynamicItemService=t,this.router=n}return(0,o.Z)(ListIndexContract,[{key:"getListItems",value:function getListItems(e){return this.dynamicItemService.getItemList(e.loadData)}},{key:"getItem",value:function getItem(e){return this.dynamicItemService.getItem(e)}},{key:"setPropertyValues",value:function setPropertyValues(e,t){var n={};return t.forEach((function(e){n[e.Name]=e.Value})),this.dynamicItemService.upsert({data:n,dataItem:e})}},{key:"tryExecuteOperation",value:function tryExecuteOperation(e,t,n){return(0,r.of)({isExecuted:!1,requiresReload:!1})}}]),ListIndexContract}(),oy="create",ay="edit",ry=n(236),sy=n(430),ly=n(431),cy=function(){function GridActionMenuComponent(e,t,n){(0,i.Z)(this,GridActionMenuComponent),this.operationsProvider=e,this.parentService=t,this.window=n,this.dropdownButtonIconName="ellipsis-h",this.actionMenuOptions=new oe.gP(ae.fT,Number.POSITIVE_INFINITY,!0)}return(0,o.Z)(GridActionMenuComponent,[{key:"ngOnInit",value:function ngOnInit(){this.loadOperationData(this.context)}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){this.context.invoker.invoke({name:Ta,data:{button:e,dataItem:this.context.dataItem}})}},{key:"loadOperationData",value:function loadOperationData(e){this.context=e,this.visible=null!=this.context&&this.context.dataItem.isTranslated,this.visible&&(this.isDimmed=this.context.dataItem.data.inactive,this.prepareOperations())}},{key:"prepareOperations",value:function prepareOperations(){var e=this;this.operations$||(this.operations$=new wn.y((function(t){e.parentService.getParentItem(e.context.dataItem,e.context.dataItem.parentKey).pipe((0,ly.zg)((function(t){var n=new W(e.context.dataItem,z.List,t,{origin:e.window.location.href});return e.operationsProvider.getOperations(n)}))).subscribe((function(e){return t.next(e)}))})))}}]),GridActionMenuComponent}();cy.ctorParameters=function(){return[{type:fe},{type:$s},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},cy.propDecorators={context:[{type:l.IIB}],dropdownButtonText:[{type:l.IIB}],dropdownButtonIconName:[{type:l.IIB}]},cy=(0,a.gn)([(0,l.wA2)({selector:"sf-grid-action-menu",template:sy}),(0,a.w6)("design:paramtypes",[fe,$s,Window])],cy);var dy=function(e){(0,f.Z)(SearchIndexesContract,e);var t=(0,p.Z)(SearchIndexesContract);function SearchIndexesContract(e,n,o){return(0,i.Z)(this,SearchIndexesContract),t.call(this,e,n,o)}return(0,o.Z)(SearchIndexesContract,[{key:"getListIndexModel",value:function getListIndexModel(e){return{title:"Search indexes",emptyListMessage:"No search indexes have been created",columns:[{name:"Main",title:"Index",css:"-title -status",dataFieldNames:["Name"],componentData:{type:I,properties:{hasStatusIcon:!0}},clickable:!0},{name:"DateCreated",title:"Created on/Owner",css:"-col-size-m",dataFieldNames:["DateCreated"],componentData:{type:bh}},{name:"Actions",title:"Actions",css:"-action -col-size-3xs",dataFieldNames:["Title"],componentData:{type:cy}}],operations:(0,r.of)([{Actions:[],Category:{Name:"Default",Title:null},Name:"Create",Ordinal:-1,Title:"Create a search index"}]),pageSize:20,order:"IsBackend desc",singularName:"search index",pluralName:"search indexes",emptyScreenIcon:"file-text-o",notificationFilter:this.entityData.metadata.typeFullName,dataFieldNames:["Id","Name","DateCreated","isBackend","IsActive","CreatedBy"],isSiteSpecific:!0,hasLongRunningTasks:!0}}},{key:"getListDetailsModel",value:function getListDetailsModel(e){var t=e.detailsMode.toLowerCase()===ay;return t&&e.dataItem.data.IsBackend?this.getBackendIndexModel():this.getSearchIndexModel(t)}},{key:"getBackendIndexModel",value:function getBackendIndexModel(){return{title:"Search index properties",name:g.Zn.SEARCH_INDEX,propertyMetadata:[{Name:"Main",Title:null,Properties:[{Name:"Name",Title:"Name",Type:"string",DefaultValue:null,TypeChildProperties:[],Properties:{Validations_Required:!0,Validations_RequiredErrorMsg:ry.Z.getRequiredMessage("name"),Validations_MaxValue:255,Validations_MaxLengthErrorMsg:ry.Z.getMaxLengthMessage(255),Validations_ReadOnly:!0}},{Name:"ContentTypesToInclude",Title:"Index content types...",DefaultValue:"All",Type:"radioChoices",TypeChildProperties:[],Properties:{Meta_Description_Description:'[{"Type":1,"Chunks":[{"Value":"By default, the search index includes fields Title, Content, and Summary (if available).","Presentation":[]},{"Value":"To index different fields, include them as additional fields in the Advanced settings section on this screen.","Presentation":[2]}]}]',Meta_Choices:'[{"Title":"All content types","Name":"All","Value":"All","Icon":null},{"Title":"Selected content types","Name":"SelectedContentTypes","Value":"Selected","Icon":null}]',Meta_Choices_AllowMultiple:"False",Validations_ReadOnly:!0}},{Name:"ContentTypes",Title:"",Type:"content",DefaultValue:null,TypeChildProperties:[],Properties:{Meta_ConditionalVisibility_Condition:'{"conditions":[{"fieldName":"ContentTypesToInclude","operator":"Equals","value":"Selected"}], "inline":"true"}',Meta_Content_Type:"Telerik.Sitefinity.Publishing.Model.PipeSettings",Meta_Content_AllowMultipleItemsSelection:"True",Meta_Content_OpenMultipleItemsSelection:"True",Meta_Content_Provider:null,Meta_Content_DisplayFieldName:"ContentName",Validations_ReadOnly:!0}}]}],hasSaveButton:!1,saveButtonText:"",cancelButtonText:"Close",loadDataFromServer:!0}}},{key:"getSearchIndexModel",value:function getSearchIndexModel(e){return{title:e?"Search index properties":"Create a search index",name:g.Zn.SEARCH_INDEX,propertyMetadata:[{Name:"Main",Title:null,Properties:[{Name:"Name",Title:"Name",Type:"string",DefaultValue:null,TypeChildProperties:[],Properties:{Validations_Required:!0,Validations_RequiredErrorMsg:ry.Z.getRequiredMessage("name"),Validations_MaxValue:255,Validations_MaxLengthErrorMsg:ry.Z.getMaxLengthMessage(255)}},{Name:"ContentTypesToInclude",Title:"Index content types...",DefaultValue:"All",Type:"radioChoices",TypeChildProperties:[],Properties:{Meta_Description_Description:'[{"Type":1,"Chunks":[{"Value":"By default, the search index includes fields Title, Content, and Summary (if available).","Presentation":[]},{"Value":"To index different fields, include them as additional fields in the Advanced settings section on this screen.","Presentation":[2]}]}]',Meta_Choices:'[{"Title":"All content types","Name":"All","Value":"All","Icon":null},{"Title":"Selected content types","Name":"SelectedContentTypes","Value":"Selected","Icon":null}]',Meta_Choices_AllowMultiple:"False"}},{Name:"ContentTypes",Title:"",Type:"content",DefaultValue:null,TypeChildProperties:[],Properties:{Meta_ConditionalVisibility_Condition:'{"conditions":[{"fieldName":"ContentTypesToInclude","operator":"Equals","value":"Selected"}], "inline":"true"}',Meta_Content_Type:"Telerik.Sitefinity.Publishing.Model.PipeSettings",Meta_Content_AllowMultipleItemsSelection:"True",Meta_Content_OpenMultipleItemsSelection:"True",Meta_Content_ShowFilterSelector:"False",Meta_Content_LiveData:"False",Meta_Content_Provider:null,Meta_Content_DisableInteraction:"True",Meta_Content_DisplayFieldName:"ContentName",Validations_Required:!0,Validations_RequiredErrorMsg:"Select a content type"}},{Name:"SitesToInclude",Title:"Index content from...",Type:"radioChoices",DefaultValue:"ThisSiteOnly",TypeChildProperties:[],Properties:{Meta_Choices:'[{"Title":"All sites","Name":"All","Value":"All","Icon":null},{"Title":"This site only","Name":"ThisSiteOnly","Value":"ThisSiteOnly","Icon":null},{"Title":"Selected sites","Name":"Selected","Value":"Selected","Icon":null}]',Meta_Choices_AllowMultiple:"False"}},{Name:"Sites",Title:"",Type:"content",DefaultValue:null,TypeChildProperties:[],Properties:{Meta_ConditionalVisibility_Condition:'{"conditions":[{"fieldName":"SitesToInclude","operator":"Equals","value":"Selected"}], "inline":"true"}',Meta_Content_Type:"Telerik.Sitefinity.Multisite.Model.Site",Meta_Content_AllowMultipleItemsSelection:"True",Meta_Content_OpenMultipleItemsSelection:"True",Meta_Content_ShowFilterSelector:"True",Meta_Content_DisableInteraction:"True",Meta_Content_LiveData:"False",Meta_Content_Provider:null,Meta_Content_Template:"chips"}}]},{Name:"AdvancedSettings",Title:"Advanced settings",Properties:[{Name:"AdditionalFields",Title:"Additional fields for indexing",Type:"enumerable",DefaultValue:"",TypeChildProperties:[{Name:"FieldName",Title:"Field Name",DefaultValue:null,Type:"string",Properties:{Meta_Placeholder_Text:"type field name...",Validations_Regex:"^_*[a-zA-Z]+\\w*$",Validations_RegexErrorMsg:"Field name contains invalid symbols"}},{Name:"FieldType",Title:"Type",DefaultValue:"ShortText",Type:"choices",Properties:{Meta_Choice_Choices:'[{"Title":"Short text","Name":"ShortText","Value":"ShortText","Icon":null},{"Title":"Long text","Name":"LongText","Value":"LongText","Icon":null},{"Title":"Choices","Name":"Choices","Value":"Choices","Icon":null},{"Title":"Yes / No","Name":"YesNo","Value":"YesNo","Icon":null},{"Title":"Date and time","Name":"DateAndTime","Value":"DateAndTime","Icon":null},{"Title":"Number (whole)","Name":"NumberWhole","Value":"NumberWhole","Icon":null},{"Title":"Number (decimal)","Name":"NumberDecimal","Value":"NumberDecimal","Icon":null},{"Title":"Classification","Name":"Classification","Value":"Classification","Icon":null}]',Meta_Choices:'[{"Title":"Short text","Name":"ShortText","Value":"ShortText","Icon":null},{"Title":"Long text","Name":"LongText","Value":"LongText","Icon":null},{"Title":"Choices","Name":"Choices","Value":"Choices","Icon":null},{"Title":"Yes / No","Name":"YesNo","Value":"YesNo","Icon":null},{"Title":"Date and time","Name":"DateAndTime","Value":"DateAndTime","Icon":null},{"Title":"Number (whole)","Name":"NumberWhole","Value":"NumberWhole","Icon":null},{"Title":"Number (decimal)","Name":"NumberDecimal","Value":"NumberDecimal","Icon":null},{"Title":"Classification","Name":"Classification","Value":"Classification","Icon":null}]',Meta_Choices_AllowMultiple:"False",Meta_Choice_NotResponsive:"True"}}],Properties:{Meta_Description_Description:'[{"Type":1,"Chunks":[{"Value":"If you want to index other fields, besides the Title, Content, and Summary (if available), add them to this section.","Presentation":[]},{"Value":"For the changes to take effect, you must reindex.","Presentation":[2]}]}]',Meta_TableView_ColumnTitle:null,Meta_TableView_Enabled:"True",Meta_Look:"top-aligned"}}]}],hasSaveButton:!0,saveButtonText:e?"Save changes":"Create this index",cancelButtonText:"Cancel",loadDataFromServer:!!e}}},{key:"tryExecuteOperation",value:function tryExecuteOperation(e,t,n){return(0,Re.Z)((0,Qe.Z)(SearchIndexesContract.prototype),"tryExecuteOperation",this).call(this,e,t,n)}}]),SearchIndexesContract}(iy),uy=n(610),fy="size-m sf-mr-4xs",py=function(){function ErrorStatusComponent(){(0,i.Z)(this,ErrorStatusComponent),this.iconName="times-circle",this.iconLook="".concat(fy," negative")}return(0,o.Z)(ErrorStatusComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem;this.setStatus(e),this.result=e.data.Result,this.setIconLook()}},{key:"setIconLook",value:function setIconLook(){this.status===this.successStatus&&(this.iconName="check-circle",this.iconLook="".concat(fy," positive"))}},{key:"setStatus",value:function setStatus(e){if(e.data&&e.data.Status)this.status=e.data.Status;else{var t=this.context.model;this.status=e.data[t.name]}}}]),ErrorStatusComponent}();py.propDecorators={context:[{type:l.IIB}],errorLabel:[{type:l.IIB}],successStatus:[{type:l.IIB}]},py=(0,a.gn)([(0,l.wA2)({selector:"sf-error-status",template:uy})],py);var Ay=n(611),my=function(){function DurationComponent(){(0,i.Z)(this,DurationComponent)}return(0,o.Z)(DurationComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem,t=this.context.model,n=e.data[t.name];if(null!=n&&n>0){var i=new Date(n),o=i.getUTCMinutes(),a=n<1e3?1:i.getUTCSeconds(),r=i.getUTCHours(),s=new Date(null),l=i.getUTCDay()-s.getUTCDay(),c="0".concat(o).slice(-2),d="0".concat(a).slice(-2);if(r>0||l>0){var u=l>0?24*l:r,f=u>1?"hrs":"hr";this.duration="Over ".concat(u,"h"),this.durationTooltip="".concat(24*l+r," ").concat(f," ").concat(c," min ").concat(d," sec")}else this.duration="".concat(c,":").concat(d),this.durationTooltip=o>0?"".concat(c," min ").concat(d," sec"):"".concat(a<10?a:d," sec")}}}]),DurationComponent}();my.propDecorators={context:[{type:l.IIB}]},my=(0,a.gn)([(0,l.wA2)({selector:"sf-duration",template:Ay})],my);var gy=n(150),hy=n(184),vy=function(){function RunAgainCommand(e,t){(0,i.Z)(this,RunAgainCommand),this.modalWindowService=e,this.dynamicItemService=t,this.executeOnceInBulk=!0}return(0,o.Z)(RunAgainCommand,[{key:"execute",value:function execute(e){var t=new Ft.xQ,n=e.data.action,i=e.data.dataItem,o=i.data.ServiceHookTitle;n.contextParameters?n.contextParameters[$.ze.currentTitle]=o:n.contextParameters=(0,Ae.Z)({},$.ze.currentTitle,o);var a=this.generateConfirmationSettings(n,i,t);return this.modalWindowService.openModalConfirmation(e.currentRoute,a,i),t.asObservable()}},{key:"getNotification",value:function getNotification(e,t){return e?{message:e.message?e.message:"Service hook failed to run.",look:ya.ERROR,duration:g.De}:t?{message:"Service hook has been successfully run.",look:ya.SUCCESS,closeButton:!1}:null}},{key:"generateConfirmationSettings",value:function generateConfirmationSettings(e,t,n){var i=this,o=new ki.pu($.Oi.run,(function(e){return i.executeRunAgain(e)}));return{title:e.title,detailedTitle:"Run this ".concat(t.metadata.singularName.toLocaleLowerCase()," again?"),icon:da.A[e.name],contextParameters:e.contextParameters,description:this.generateDescription(t),action:e.name,descriptionAllowHtml:!0,buttons:new Array(o,new ki.Lw),disableUserInteractionOnLoading:!0,innerFormLook:"sf-pb-zero sf-pt-zero",doneCallback:function doneCallback(e){e&&e.data&&e.data.data?e.data.data.error?n.error(e.data.data.error):n.next(!0):n.next(!1)}}}},{key:"executeRunAgain",value:function executeRunAgain(e){var t=this,n=new re.t(1);if(e&&e.component&&e.component.dataItem){n.next(new ki.DQ(!0,!1));var i=e.component.dataItem;this.dynamicItemService.executeBoundFunction(ee.zw.emptyItem(i),"Default.RunAgain(activityId=".concat(i.key,")")).subscribe((function(){t.waitActivityToComplete(i).subscribe((function(){n.next(new ki.DQ({error:null},!0,!1,!1))}),(function(e){n.next(new ki.DQ({error:e},!0,!1,!1))}))}),(function(e){n.next(new ki.DQ({error:e},!0,!1,!1))}))}return n}},{key:"waitActivityToComplete",value:function waitActivityToComplete(e){var t=this,n=new Ft.xQ;return(0,gy.F)(1e3).pipe((0,hy.R)(n),(0,Zi.K)((function(){return(0,r.of)()}))).subscribe((function(){t.dynamicItemService.executeBoundFunction(ee.zw.emptyItem(e),"Default.GetActivity(activityId=".concat(e.key,")")).subscribe((function(e){e.Status===g.HP.SUCCESSFUL?n.next():e.Status===g.HP.FAILED&&n.error({activityStatus:g.HP.FAILED})}),(function(e){n.error(e)}))})),n}},{key:"generateDescription",value:function generateDescription(e){var t=convertIsoStringToUTCDate(e.data.StartTime).toLocaleDateString(Ie.MV,{year:"numeric",month:"short",day:"numeric"}),n="This service hook will be run again with the original data from ".concat(t,".");return e.data.TriggeredByContentItem&&(n="This service hook will be run again with the original version of
    “".concat(e.data.Title,"” from ").concat(t,".")),n+=" Learn more"}}]),RunAgainCommand}(),by=function(e){(0,f.Z)(ServiceHookHistoryContract,e);var t=(0,p.Z)(ServiceHookHistoryContract);function ServiceHookHistoryContract(e,n,o,a,r){var s;return(0,i.Z)(this,ServiceHookHistoryContract),(s=t.call(this,e,n,o)).modalWindowService=a,s.notificationService=r,s}return(0,o.Z)(ServiceHookHistoryContract,[{key:"getListIndexModel",value:function getListIndexModel(e){return{title:e.dataItem.data.Title,titleCss:"-sf-h-medium",emptyListMessage:"No runs found in the last ".concat(14," days"),columns:[{name:"Main",title:"Trigger",css:"-title -no-pointer",dataFieldNames:["Title"],componentData:{type:I,properties:{hasStatusIcon:!1}},clickable:!1},{name:"Status",title:"Status",css:"-no-pointer -col-size-m",dataFieldNames:["Status"],componentData:{type:py,properties:{errorLabel:"Why?",successStatus:g.HP.SUCCESSFUL}},clickable:!1},{name:"StartTime",title:"Start",css:"-no-pointer -col-size-m",dataFieldNames:["StartTime"],componentData:{type:jc,properties:{displayAsRelativeDate:!0,settings:{look:"-two-lines"}}},clickable:!1},{name:"Duration",title:"Duration",css:"-no-pointer -col-size-sm",dataFieldNames:["Duration"],componentData:{type:my},clickable:!1},{name:"Actions",title:"",css:"-action -col-size-3xs",componentData:{type:cy,properties:{operations$:this.getOperations()}}}],operations:(0,r.of)([]),singularName:"run",pluralName:"runs",emptyScreenIcon:qc["servicehooks-history"],navigationVisible:!0,navigationTitle:$.Oi.runsHistory,navigationButtonTitle:"Back to Service hooks",navigationBackUrl:"".concat(So.INTEGRATIONS,"/").concat(u.gl.SERVICEHOOKS),pageSize:50,isLoadMoreSearchEnabled:!0,isLoadMoreFilterEnabled:!1,filterArgs:{filterDisplayValue:"name",filterValues:[{name:"All runs",value:"all"},{name:"Successful runs",value:"success"},{name:"Failed runs",value:"fail"}],filterConfig:{showRecentLabel:!1,showSelectedItemAsActive:!0,actions:[]}},notificationFilter:"".concat(this.entityData.metadata.typeFullName,"Activity"),searchArgs:{placeholder:"Search by trigger..."}}}},{key:"getOperations",value:function getOperations(){var e={Title:$.Oi.runAgain,Name:$.q.runAgain,Category:{Name:$.Oi.runAgain}};return(0,r.of)([e])}},{key:"getListItems",value:function getListItems(e){var t,n,i,o=this;if(e.loadData.action===$.q.history){var a={};e.loadData.skip&&(a.$skip=e.loadData.skip),e.loadData.take&&(a.$top=e.loadData.take),(null===(t=e.loadData.additionalQueryParams)||void 0===t?void 0:t[g.V5.SEARCH])&&(a.$search=e.loadData.additionalQueryParams[g.V5.SEARCH]);var r="Default.GetHistory(filter='".concat(null!==(i=null===(n=e.loadData.additionalQueryParams)||void 0===n?void 0:n[g.V5.FILTER])&&void 0!==i?i:"all","')");return this.dynamicItemService.executeBoundFunction(e.dataItem,r,[],a).pipe((0,w.U)((function(t){return o.dynamicItemService.getItemListMapper(t,e.loadData.entityData)})))}throw new Error("Operation not supported.")}},{key:"getListDetailsModel",value:function getListDetailsModel(e){throw new Error("Method not implemented.")}},{key:"tryExecuteOperation",value:function tryExecuteOperation(e,t,n){var i=this;if(t.name===$.q.runAgain){var o=null,a=!1,s=new vy(this.modalWindowService,this.dynamicItemService);return s.execute({model:null,data:{dataItem:e,action:t},currentRoute:n}).pipe((0,kn.P)(),(0,w.U)((function(e){return a=e,{isExecuted:!0,requiresReload:e}})),(0,Zi.K)((function(e){return o=e,(0,r.of)({isExecuted:!0,requiresReload:e&&e.activityStatus===g.HP.FAILED})})),(0,Kn.x)((function(){var t=s.getNotification(o,a);if(t){var n=i.getListIndexModel({typeFullName:e.metadata.typeFullName,dataItem:e});t.filterParam=n.notificationFilter,i.notificationService.publishBasicNotification(t)}})))}return(0,Re.Z)((0,Qe.Z)(ServiceHookHistoryContract.prototype),"tryExecuteOperation",this).call(this,e,t,n)}}]),ServiceHookHistoryContract}(iy),yy=n(612),Ey=function(e){(0,f.Z)(MultiValueTextFieldComponent,e);var t=(0,p.Z)(MultiValueTextFieldComponent);function MultiValueTextFieldComponent(){var e;return(0,i.Z)(this,MultiValueTextFieldComponent),(e=t.apply(this,arguments)).additionalValues=[],e}return(0,o.Z)(MultiValueTextFieldComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(MultiValueTextFieldComponent.prototype),"ngOnInit",this).call(this);var t=this.context.dataItem,n=this.context.model,i=t.data[n.name];i&&this.additionalValuesPropertyPaths&&this.additionalValuesPropertyPaths.forEach((function(t){var n=e.getPropertyValue(i,t);n&&e.additionalValues.push(n)}))}}]),MultiValueTextFieldComponent}(zg);Ey.propDecorators={additionalValuesPropertyPaths:[{type:l.IIB}],additionalValuesCss:[{type:l.IIB}],valueCss:[{type:l.IIB}]},Ey=(0,a.gn)([(0,l.wA2)({selector:"sf-multi-value-text-field",template:yy})],Ey);var Iy=n(613),wy=function(){function ChildrenCountComponent(e,t){(0,i.Z)(this,ChildrenCountComponent),this.router=e,this.activatedRoute=t,this.childRouteName="",this.queryParams=null,this.maxCount=0,this.count=0}return(0,o.Z)(ChildrenCountComponent,[{key:"ngOnInit",value:function ngOnInit(){var e,t=this.context.dataItem,n=this.context.model;this.count=null!==(e=t.data[n.name])&&void 0!==e?e:0,this.maxCount>0&&this.count>this.maxCount?this.displayCount="".concat(this.maxCount,"+"):this.displayCount="".concat(this.count),this.setIconLook()}},{key:"onNavigate",value:function onNavigate(){this.count>0&&this.router.navigate([this.context.dataItem.key,this.childRouteName],{relativeTo:this.activatedRoute,queryParams:this.queryParams})}},{key:"setIconLook",value:function setIconLook(){this.look&&(this.cssClassList=" -"+this.look.split(" ").join(" -"))}}]),ChildrenCountComponent}();wy.ctorParameters=function(){return[{type:m.F0},{type:m.gz}]},wy.propDecorators={context:[{type:l.IIB}],childRouteName:[{type:l.IIB}],queryParams:[{type:l.IIB}],maxCount:[{type:l.IIB}],look:[{type:l.IIB}]},wy=(0,a.gn)([(0,l.wA2)({selector:"sf-children-count",template:Iy}),(0,a.w6)("design:paramtypes",[m.F0,m.gz])],wy);var ky=function(e){(0,f.Z)(ServiceHooksContract,e);var t=(0,p.Z)(ServiceHooksContract);function ServiceHooksContract(e,n,o){return(0,i.Z)(this,ServiceHooksContract),t.call(this,e,n,o)}return(0,o.Z)(ServiceHooksContract,[{key:"getListIndexModel",value:function getListIndexModel(e){return{title:this.entityData.metadata.displayName,emptyListMessage:"No ".concat(this.entityData.metadata.displayName.toLocaleLowerCase()," have been created"),columns:[{name:"Main",title:"Label",css:"-title -two-lines",dataFieldNames:["Title"],componentData:{type:I,properties:{hasStatusIcon:!1}},clickable:!0},{name:"Trigger",title:"Trigger",css:"-col-size-l -two-lines",componentData:{type:zg,properties:{propertyPath:"Name"}}},{name:"Action",title:"Action",css:"-col-size-xl -two-lines",componentData:{type:Ey,properties:{propertyPath:"Name",additionalValuesPropertyPaths:["Parameters.Url"],valueCss:"-sf-txt-dimmed",additionalValuesCss:"-sf-overflow-ellipsis"}}},{name:"SuccessfulRunsCount",title:"Successful runs in last ".concat(14," days"),css:"-col-size-xs -two-lines -sf-pr-2xs -sf-pl-2xs",dataFieldNames:["SuccessfulRunsCount"],componentData:{type:wy,properties:{childRouteName:"history",queryParams:(0,Ae.Z)({},g.V5.FILTER,"success"),maxCount:1e4,look:"positive"}}},{name:"FailedRunsCount",title:"Failed runs in last ".concat(14," days"),css:"-col-size-2xs -two-lines",dataFieldNames:["FailedRunsCount"],componentData:{type:wy,properties:{childRouteName:"history",queryParams:(0,Ae.Z)({},g.V5.FILTER,"fail"),maxCount:1e4,look:"negative"}}},{name:"Actions",title:"",css:"-action -col-size-3xs -two-lines",dataFieldNames:["Title"],componentData:{type:cy,properties:{operations$:this.getOperations()}}}],operations:(0,r.of)([{Actions:[],Category:{Name:"Default",Title:null},Name:"Create",Ordinal:-1,Title:"Create a ".concat(this.entityData.metadata.singularName.toLocaleLowerCase())}]),singularName:"service hook",pluralName:"service hooks",emptyScreenIcon:"file-text-o",isLoadMoreSearchEnabled:!1,isLoadMoreFilterEnabled:!1,notificationFilter:this.entityData.metadata.typeFullName}}},{key:"getOperations",value:function getOperations(){var e={Title:$.q.delete,Name:$.q.delete,DetailedTitle:"".concat($.q.delete," this ").concat(this.entityData.metadata.singularName.toLocaleLowerCase()," permanently?"),RequiresConfirmation:!0,ExecuteOnServer:!0,PerformsDelete:!0,Category:{Name:$.q.delete},Actions:[{Title:"".concat($.q.delete," ").concat(this.entityData.metadata.singularName.toLocaleLowerCase()),Name:"deleteServiceHook",Type:2}]},t={Title:$.Oi.properties,Name:$.Oi.properties,Category:{Name:$.Oi.properties}},n={Title:$.Oi.runsHistory,Name:$.q.history,Category:{Name:$.q.history}};return(0,r.of)([t,n,e])}},{key:"getListDetailsModel",value:function getListDetailsModel(e){var t=e.detailsMode===ay;return{title:t?"Edit service hook":"Create a service hook",name:g.Zn.SERVICE_HOOKS,propertyMetadata:[{Name:"Main",Title:null,Properties:[{Name:"Title",Title:"Label",Type:"string",DefaultValue:null,Properties:{Meta_Description_Description:"Labels help you identify service hooks.",Validations_Required:!0,Validations_RequiredErrorMsg:ry.Z.getRequiredMessage("Label"),Validations_MaxValue:255,Validations_MaxLengthErrorMsg:ry.Z.getMaxLengthMessage(255)}},{Name:"Trigger",Title:"Trigger",Type:"choiceParameterizedSelector",DefaultValue:null,Properties:{Meta_Description_Description:"The trigger defines when the service hook is executed. Example: Execute the service hook each time a form is submitted.",Meta_Template:"chips",Meta_SelectorFilterProperty:"Module",Meta_RecentProperty:"Priority",Meta_RecentCount:5,Validations_Required:!0,Meta_LoaderHeight:1,Meta_ShouldHideBottomBorder:!0}},{Name:"Action",Title:"Action",Type:"choiceParameterizedSelector",DefaultValue:'{\n "Name": "Send data to URL",\n "Value": "servicehooksmodule:webhookaction",\n "Parameters": {}\n }',Properties:{}}]}],hasSaveButton:!0,saveButtonText:t?"Save changes":"Create this hook",cancelButtonText:"Cancel"}}},{key:"tryExecuteOperation",value:function tryExecuteOperation(e,t,n){var i=this;return t.name===$.q.history?new wn.y((function(o){i.router.navigate([e.key,t.name.toLowerCase()],{relativeTo:n}).then((function(e){o.next({isExecuted:e,requiresReload:!1})}))})):(0,Re.Z)((0,Qe.Z)(ServiceHooksContract.prototype),"tryExecuteOperation",this).call(this,e,t,n)}}]),ServiceHooksContract}(iy),xy=function(){function ListIndexContractProvider(e,t,n,o){(0,i.Z)(this,ListIndexContractProvider),this.dynamicItemService=e,this.router=t,this.modalWindowService=n,this.notificationService=o}return(0,o.Z)(ListIndexContractProvider,[{key:"getContract",value:function getContract(e){var t=e.route.snapshot.params[g.UY.OPERATION_NAME_SEGMENT];if(e.entityData.metadata.setName===u.gl.SERVICEHOOKS)return t===$.q.history?new by(e.entityData,this.dynamicItemService,this.router,this.modalWindowService,this.notificationService):new ky(e.entityData,this.dynamicItemService,this.router);if(e.entityData.metadata.setName===u.gl.SEARCH_INDEXES)return new dy(e.entityData,this.dynamicItemService,this.router);throw new Error("Not supported entity")}}]),ListIndexContractProvider}();xy.ctorParameters=function(){return[{type:Ci.dg},{type:m.F0},{type:ki.bL},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},xy=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,m.F0,ki.bL,La])],xy);var Cy=n(614),Sy=function(){function ListDetailComponent(e,t){(0,i.Z)(this,ListDetailComponent),this.notificationService=e,this.route=t}return(0,o.Z)(ListDetailComponent,[{key:"ngOnInit",value:function ngOnInit(){var e,t=this;if(this.editorMetadata){var n=this.route.parent.snapshot.data[g.u0.entityData];this.route.snapshot.data[g.u0.itemData]={entityData:this.editorMetadata.propertyValues},this.editorComponentData={type:oA,afterComponentInit:function afterComponentInit(e){e.initialize(t.editorMetadata),t.editorComponent=e},properties:{shouldHaveTopPadding:!1,context:{isQuickEdit:!1,widgetName:null===(e=null==n?void 0:n.metadata)||void 0===e?void 0:e.setName}}}}}},{key:"canCloseCallback",value:function canCloseCallback(e){return!0}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.notificationService.close(g.wC)}}]),ListDetailComponent}();Sy.ctorParameters=function(){return[{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:m.gz}]},Sy=(0,a.gn)([(0,l.wA2)({selector:"sf-list-detail",template:Cy}),(0,a.w6)("design:paramtypes",[La,m.gz])],Sy);var By=function(e){(0,f.Z)(ListIndexComponent,e);var t=(0,p.Z)(ListIndexComponent);function ListIndexComponent(e,n,o,a,r,s,l,c,d,u,f,p,A){var m;return(0,i.Z)(this,ListIndexComponent),(m=t.call(this)).buttonStateService=e,m.serverOperationExecutor=n,m.listIndexContractProvider=o,m.scrollService=a,m.notificationService=r,m.route=s,m.dynamicItemService=l,m.router=c,m.activatedRoute=d,m.contentFilterService=u,m.headerMenuService=f,m.modalWindowService=p,m.longRunningTasksService=A,m.itemsState$=new re.t(1),m.isInitialLoadFinished=!1,m.treeConfig={noSelection:!0},m.selectedFilters=[],m.searchParameter=null,m.activeSearchValue=new he.X(null),m.isEmpty=!1,m.operations=new he.X([]),m.serverOperationPending=!1,m.filter=null,m.filterParam=g.V5.FILTER,m.searchParam=g.V5.SEARCH,m}return(0,o.Z)(ListIndexComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.route.params.subscribe((function(t){e.entityData=e.route.snapshot.data[g.u0.entityData],e.notificationFilter=e.entityData.metadata.typeFullName;var n=e.route.snapshot.params[g.UY.ITEM_ID];n?e.dynamicItemService.getItem({itemKey:n,entityData:e.entityData}).subscribe((function(t){e.dataItem=t,e.initContract()})):e.initContract()}));this.registerSubscription(t),this.registerSubscription(this.itemsState$.subscribe((function(t){e.isEmpty=t&&!t.isLoadingItems&&!t.hasItems,e.navbarConfiguration&&(e.navbarConfiguration.isScrollEnabled=t.hasLoadedItems||!t.hasLoadedItems&&t.isLoadingItems)})));var n=this.headerMenuService.onUserDialogOpen.subscribe((function(t){e.modalWindowService.setMapping(t,t.key),e.modalWindowService.show(t.key,e.route.parent)}));this.registerSubscription(n)}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(ListIndexComponent.prototype),"ngOnDestroy",this).call(this),this.notificationService.close(this.notificationFilter)}},{key:"onCommand",value:function onCommand(e){if(e&&e.name===Ta){var t=e.data;this.onActionButtonClicked(t.button,t.dataItem)}}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e,t){var n=this;switch(this.notificationService.close(),e.name){case $.Oi.properties:this.openCreateEditScreen(t);break;case $.Oi.create:this.openCreateEditScreen();break;case $.Oi.reindex:this.longRunningTasksService.start(t.key,Wl.Reindex).subscribe();break;default:this.listIndexContract.tryExecuteOperation(t,e,this.activatedRoute).pipe((0,kn.P)()).subscribe((function(i){i.isExecuted?i.requiresReload&&n.loadItems():n.handleServerOperation(e,t).subscribe()}))}}},{key:"reload",value:function reload(e){e.detail&&(e.detail.taskStatus!==ql[ql.Done]&&e.detail.taskStatus!==ql[ql.Failed]||e.detail.taskName!==Xl.Reindex||this.loadItems())}},{key:"handleServerOperation",value:function handleServerOperation(e,t){var n=this,i=new re.t(1);return this.serverOperationPending||this.serverOperationExecutor.execute({actionButton:e,actionButtonStateService:this.buttonStateService,route:this.route,updateItem:{dataItem:t}}).subscribe((function(e){n.loadItems(),i.next(e)}),(function(){n.serverOperationPending=!1,n.handleSaveError(e.name)})),i.asObservable()}},{key:"onFilterUpdate",value:function onFilterUpdate(e){this.selectedFilters[0]=e,this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:(0,Ae.Z)({},this.filterParam,e.value),queryParamsHandling:"merge"})}},{key:"onNavigationScroll",value:function onNavigationScroll(e){this.isScrolled=e}},{key:"initContract",value:function initContract(){var e=this;this.listIndexContract=this.listIndexContractProvider.getContract({entityData:this.entityData,route:this.route}),this.listIndexModel=this.listIndexContract.getListIndexModel({typeFullName:this.entityData.metadata.typeFullName,dataItem:this.dataItem}),this.notificationFilter=this.listIndexModel.notificationFilter||this.notificationFilter,this.notificationService.close(this.notificationFilter),this.registerLongRunningSubscription(),this.registerOperationsSubscription(),this.listIndexModel.navigationVisible&&(this.navbarConfiguration={mode:XA.TwoColumns,leftNavbarButtonData:{show:!0,look:"toggle",icon:"angle-left",iconLook:"size-2xl",mode:KA.Back,title:this.listIndexModel.navigationButtonTitle},isScrollEnabled:!0,templates:[this.navigationMenuTemplate],scrollTemplates:[this.navigationMenuSearchTemplate,this.navigationMenuSpacerTemplate]}),this.listIndexModel.filterArgs?(this.listIndexModel.filterArgs||this.listIndexModel.searchArgs)&&(this.listIndexModel.filterArgs&&(this.selectedFilters[0]=this.listIndexModel.filterArgs.filterValues[0]),this.queryParamsSubscription=this.activatedRoute.queryParamMap.subscribe((function(t){var n=t.get(e.filterParam);if(e.filter!==n){e.filter=n;var i=e.listIndexModel.filterArgs.filterValues.find((function(t){return t.value===e.filter}));i&&(e.selectedFilters[0]=i)}var o=t.get(e.searchParam),a=null;null!=o&&(a=e.contentFilterService.deserializeQueryParams(o)),!e.searchParameter&&a&&a.length>0&&(e.searchParameter=a[0].value[0]),e.searchParameter!==e.activeSearchValue.value&&(a?(e.activeSearchValue.next(a[0].value[0]),e.searchParameter=a[0].value[0]):(e.searchParameter=null,e.activeSearchValue.next(e.searchParameter))),e.loadItems()})),(0,Re.Z)((0,Qe.Z)(ListIndexComponent.prototype),"registerSubscription",this).call(this,this.queryParamsSubscription)):this.loadItems()}},{key:"registerOperationsSubscription",value:function registerOperationsSubscription(){var e=this;this.registerSubscription(this.listIndexModel.operations.subscribe((function(t){e.operations.next(t)})))}},{key:"registerLongRunningSubscription",value:function registerLongRunningSubscription(){var e=this;this.listIndexModel.hasLongRunningTasks&&this.registerSubscription(this.longRunningTasksService.progress.subscribe((function(t){if(e.lastItemsState){var n=e.disableDataItemsWithRunningTasks(e.lastItemsState.dataItems,t),i=ca.wrap({dataItems:n,totalCount:e.lastItemsState.totalCount});e.itemsState$.next(i)}})))}},{key:"handleSaveError",value:function handleSaveError(e){var t="An error occurred while trying to ".concat(e," this item.");this.notificationService.publishNotification({type:Qa,properties:{message:t},look:ya.ERROR,closeButton:!0,filterParam:this.notificationFilter,duration:g.De})}},{key:"onItemSelected",value:function onItemSelected(e){this.notificationService.close(),this.openCreateEditScreen(e)}},{key:"onNavigateBack",value:function onNavigateBack(){this.router.navigate([this.listIndexModel.navigationBackUrl])}},{key:"onSearch",value:function onSearch(e){var t=this;if(e){this.searchParameter=e,this.scrollService.scrollToTop(!1);var n=Object.assign({},this.route.snapshot.queryParams);delete n[this.filterParam],this.filter=null;var i={};this.contentFilterService.getSearchFields(this.entityData).forEach((function(e){return i[e.fieldName]=[t.searchParameter]}));var o=this.contentFilterService.serializeQueryParams(i);n[this.searchParam]=o,this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:n})}}},{key:"onClearSearch",value:function onClearSearch(){this.searchParameter=null;var e=Object.assign({},this.route.snapshot.queryParams);delete e[this.searchParam],e[this.filterParam]="all",this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:e})}},{key:"loadItems",value:function loadItems(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n={loadData:{entityData:this.entityData,action:this.route.snapshot.params[g.UY.OPERATION_NAME_SEGMENT]},dataItem:this.dataItem},i=[],o=0;if(t?(n.loadData.take=this.listIndexModel.pageSize,n.loadData.order=this.listIndexModel.order):this.lastItemsState&&(n.loadData.take=this.lastItemsState.getNextBatchCount(this.listIndexModel.pageSize),n.loadData.skip=this.lastItemsState.loadedItemsCount,n.loadData.order=this.listIndexModel.order,i=(0,J.Z)(this.lastItemsState.dataItems),o=this.lastItemsState.totalCount),this.listIndexModel.filterArgs&&this.filter&&(n.loadData.additionalQueryParams=(0,Ae.Z)({},this.filterParam,this.filter)),this.listIndexModel.searchArgs&&this.searchParameter&&(n.loadData.additionalQueryParams=(0,Ae.Z)({},this.searchParam,this.searchParameter)),this.listIndexModel.dataFieldNames&&this.listIndexModel.dataFieldNames.length&&(n.loadData.dataFieldNames=this.listIndexModel.dataFieldNames),this.listIndexModel.isSiteSpecific){var a=this.route.snapshot.parent.data[g.u0.siteDataStore];a&&(n.loadData.siteId=a.Id)}var r=ca.wrap({dataItems:i,loadingItemsCount:n.loadData.take||Ci.$d,totalCount:o});this.itemsState$.next(r),this.listIndexContract.getListItems(n).pipe((0,Cn._)(),Dn(Id)).subscribe((function(n){if(!n.isLoading){var o,a=n.content;if(!t&&Array.isArray(i))(o=a.dataItems).unshift.apply(o,(0,J.Z)(i));else e.isInitialLoadFinished=!0;if(e.listIndexModel.hasLongRunningTasks){var r=e.longRunningTasksService.progress.getValue(),s=e.disableDataItemsWithRunningTasks(a.dataItems,r);a.dataItems=s}e.lastItemsState=ca.wrap(a),e.itemsState$.next(e.lastItemsState)}}))}},{key:"disableDataItemsWithRunningTasks",value:function disableDataItemsWithRunningTasks(e,t){var n=getRunningTasksAndMap(t);return e.map((function(t){if(n[t.key]){var i=e.findIndex((function(e){return e.key===t.key})),o=(0,d.kI)(t);o.data.inactive=!0;var a=ee.zw.from(o.data,t.metadata,t.provider,t.culture);e[i]=a}})),e}},{key:"openCreateEditScreen",value:function openCreateEditScreen(e){var t=this,n={typeFullName:this.entityData.metadata.typeFullName,detailsMode:e?ay:oy,dataItem:e},i=this.listIndexContract.getListDetailsModel(n);e&&i.loadDataFromServer?this.listIndexContract.getItem({itemKey:e.data.Id,entityData:this.entityData}).pipe((0,Cn._)(),Dn(Id)).subscribe((function(n){n.isLoading||(e=n.content,t.CreateDialogData(i,e))})):this.CreateDialogData(i,e)}},{key:"saveItem",value:function saveItem(e,t){var n=this,i=new re.t(1);i.next(new ki.DQ(!0,!1));var o=e.component.editorComponent;return o.validate().subscribe((function(e){if(e&&e.isValid){var a=o.getModifiedProperties();t||(t=ee.zw.emptyItem(n.entityData)),n.listIndexContract.setPropertyValues(t,a).subscribe((function(){n.loadItems(),i.next(new ki.DQ(!0,!0))}),(function(e){i.next(new ki.DQ(!0,!1,!0)),e instanceof Ko.p?o.showValidationErrors(e):(n.notificationService.publishBasicNotification({message:e.message,look:ya.ERROR,duration:g.De,filterParam:pl}),n.scrollService.scrollToTop())}))}else i.next(new ki.DQ(!1,!1,!0,!1))})),i}},{key:"CreateScreenButtons",value:function CreateScreenButtons(e,t){var n=this,i=[];if(e.hasSaveButton){var o=new ki.pu(e.saveButtonText,(function(e){return n.saveItem(e,t)}));i.push(o)}return i.push(new ki.Lw(e.cancelButtonText)),i}},{key:"CreateDialogData",value:function CreateDialogData(e,t){var n={type:Sy,afterComponentInit:function afterComponentInit(){},properties:{editorMetadata:{propertyValues:t&&t.data?t.data:{},propertyMetadata:e.propertyMetadata,propertyMetadataFlat:[],propertyLocalizationMode:null,name:e.name,caption:e.title}}},i=this.CreateScreenButtons(e,t),o=new ki.np(n,(function(){}),i,null);this.modalWindowService.setMapping(o,"edit"),this.modalWindowService.show("edit",this.route.parent)}}]),ListIndexComponent}(E.zu);By.ctorParameters=function(){return[{type:tl},{type:sm},{type:xy},{type:Nt.a},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:m.gz},{type:Ci.dg},{type:m.F0},{type:m.gz},{type:b.y},{type:Rb},{type:ki.bL},{type:sc}]},By.propDecorators={navigationMenuTemplate:[{type:l.i9L,args:["navigationMenuTemplate",{static:!0}]}],navigationMenuSearchTemplate:[{type:l.i9L,args:["navigationMenuSearch"]}],navigationMenuSpacerTemplate:[{type:l.i9L,args:["navigationMenuSpacer"]}],reload:[{type:l.L6J,args:["window:".concat(rc),["$event"]]}]},By=(0,a.gn)([(0,l.wA2)({selector:"sf-list-index",template:ny,providers:[tl]}),(0,a.w6)("design:paramtypes",[tl,sm,xy,Nt.a,La,m.gz,Ci.dg,m.F0,m.gz,b.y,Rb,ki.bL,sc])],By);var Dy=n(615),Ty=function(){function NoItemsFoundComponent(){(0,i.Z)(this,NoItemsFoundComponent),this.itemType="items",this.iconName="search"}return(0,o.Z)(NoItemsFoundComponent,[{key:"ngOnInit",value:function ngOnInit(){this.wrapperClass=this.generateWrapperCssClassList(),this.textClass=this.generateTextCssClassList()}},{key:"generateWrapperCssClassList",value:function generateWrapperCssClassList(){var e="-sf-txt-align-center";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e}},{key:"generateTextCssClassList",value:function generateTextCssClassList(){var e="-sf-txt-hint";return this.textLook&&(e+=" -"+this.textLook.split(" ").join(" -")),e}}]),NoItemsFoundComponent}();Ty.propDecorators={itemType:[{type:l.IIB}],look:[{type:l.IIB}],textLook:[{type:l.IIB}],iconName:[{type:l.IIB}],message:[{type:l.IIB}]},Ty=(0,a.gn)([(0,l.wA2)({selector:"sf-no-items-found",template:Dy})],Ty);var My=n(616),Ny=function(){function SearchNotificationComponent(){(0,i.Z)(this,SearchNotificationComponent),this.clearSearch=new l.vpe}return(0,o.Z)(SearchNotificationComponent,[{key:"onClearSearch",value:function onClearSearch(){this.clearSearch.emit()}}]),SearchNotificationComponent}();Ny.propDecorators={searchValue:[{type:l.IIB}],itemsState:[{type:l.IIB}],clearSearch:[{type:l.r_U}]},Ny=(0,a.gn)([(0,l.wA2)({selector:"sf-search-notification",template:My})],Ny);var Fy=n(617),Py=new l.OlP("notification_builder"),Ry=function(e){(0,f.Z)(DefaultTaskNotificationBuilder,e);var t=(0,p.Z)(DefaultTaskNotificationBuilder);function DefaultTaskNotificationBuilder(){return(0,i.Z)(this,DefaultTaskNotificationBuilder),t.apply(this,arguments)}return(0,o.Z)(DefaultTaskNotificationBuilder,[{key:"isDefault",get:function get(){return!0}},{key:"isTaskSupported",value:function isTaskSupported(e){return!1}},{key:"processTask",value:function processTask(e){e.Tooltip=this.buildNotification(e),e.buttons=this.buildButtons(e)}},{key:"filterTasksCallback",value:function filterTasksCallback(e,t){return!0}},{key:"buildNotification",value:function buildNotification(e){return e.StatusMessage}},{key:"buildButtons",value:function buildButtons(e){var t=[],n=ql[e.Status.toString()];return parseInt(e.ProgressStatus)<100&&n===ql.Started&&t.push({action:Jl.Stop,title:"Stop"}),n===ql.Stopped&&t.push({action:Jl.Resume,title:"Resume"}),n===ql.Failed&&t.push({action:Jl.Delete,title:"Close"}),t}}]),DefaultTaskNotificationBuilder}(function(){function BackgroundTaskNotificationBuilder(){(0,i.Z)(this,BackgroundTaskNotificationBuilder)}return(0,o.Z)(BackgroundTaskNotificationBuilder,[{key:"isDefault",get:function get(){return!1}}]),BackgroundTaskNotificationBuilder}()),Qy={multi:!0,provide:Py,useClass:Ry},Uy="longRunningTaskCreated",Ly=function(e){(0,f.Z)(LongRunningProgressComponent,e);var t=(0,p.Z)(LongRunningProgressComponent);function LongRunningProgressComponent(e,n,o,a,r){var s;return(0,i.Z)(this,LongRunningProgressComponent),(s=t.call(this)).service=e,s.notificationBuilders=n,s.route=o,s.providerStore=a,s.ref=r,s.totalProgressTaskHtmlElementsHeigth=new l.vpe,s.tasks=[],s}return(0,o.Z)(LongRunningProgressComponent,[{key:"onTaskCreated",value:function onTaskCreated(){this.refresh(null)}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.service.init(this.entityData);var t=this.service.progress.subscribe((function(t){e.regenerateTasks(t)}));this.registerSubscription(t);var n=this.providerStore.providerChanged.subscribe((function(t){var n=e.service.progress.getValue();e.regenerateTasks(n,t)}));this.registerSubscription(n)}},{key:"ngOnChanges",value:function ngOnChanges(e){var t=e.entityData,n=e.concurrentKey,i=e.parentItem;(t&&!t.isFirstChange()||n&&!n.isFirstChange()||i&&!i.isFirstChange())&&this.service.init(this.entityData)}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(LongRunningProgressComponent.prototype),"ngOnDestroy",this).call(this),this.service.stopService()}},{key:"processStatus",value:function processStatus(e){var t=ql[e.Status.toString()];return e.Status===ql.Done?g.wW.DONE:t===ql.Started?g.wW.STARTED:e.Status}},{key:"handleButton",value:function handleButton(e,t){switch(e.action){case Jl.Stop:return this.service.stop(t.Id);case Jl.Restart:return this.service.retry(t.Id);case Jl.Resume:return this.service.resume(t.Id);case Jl.Delete:default:return this.service.delete(t.Id)}}},{key:"refresh",value:function refresh(e){e&&(this.tasks=e),this.service.refresh()}},{key:"regenerateTasks",value:function regenerateTasks(e,t){var n,i=this,o=e.map((function(e){return i.processTask(e),e})).filter((function(e){var n=i.resolveBuilder(e),o=n.filterTasksCallback.bind(n),a={};i.parentItem&&(a.provider=i.parentItem.provider),a.provider||(a.provider=t||i.route.snapshot.queryParams[g.Tx.PROVIDER]||i.providerStore.currentProvider),a.ConcurrentTaskKey=i.concurrentKey;var r=i.route.snapshot.parent.data[g.u0.siteDataStore];return r&&(a[zy.CURRENT_SITE_ID]=r.Id),i.ref.detectChanges(),o(e,a)}));(n=this.tasks).splice.apply(n,[0,this.tasks.length].concat((0,J.Z)(o))),this.service.initTimer(this.tasks),this.totalProgressTaskHtmlElementsHeigth.emit(64*this.tasks.length)}},{key:"processTask",value:function processTask(e){this.resolveBuilder(e).processTask(e)}},{key:"resolveBuilder",value:function resolveBuilder(e){var t=this.notificationBuilders.find((function(t){return t.isTaskSupported(e.TaskName)}));return t||(t=this.notificationBuilders.find((function(e){return e.isDefault}))),t}}]),LongRunningProgressComponent}(E.zu);Ly.ctorParameters=function(){return[{type:sc},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Py]}]},{type:m.gz},{type:eo},{type:l.sBO}]},Ly.propDecorators={entityData:[{type:l.IIB}],parentItem:[{type:l.IIB}],showLoaders:[{type:l.IIB}],concurrentKey:[{type:l.IIB}],totalProgressTaskHtmlElementsHeigth:[{type:l.r_U}],onTaskCreated:[{type:l.L6J,args:["window:".concat(Uy)]}]},Ly=(0,a.gn)([(0,l.wA2)({selector:"sf-long-running-progress",template:Fy}),(0,a.w6)("design:paramtypes",[sc,Array,m.gz,eo,l.sBO])],Ly);var Oy,zy={CURRENT_SITE_ID:"currentSiteId"},_y=n(618),Vy=function(){function SystemNotificationItemComponent(e,t){(0,i.Z)(this,SystemNotificationItemComponent),this.dynamicItemService=e,this.compositeSystemNotificationIconProvider=t,this.TIME_FORMAT=On.TIME}return(0,o.Z)(SystemNotificationItemComponent,[{key:"ngOnInit",value:function ngOnInit(){this.node.data.NotificationKey&&(this.iconClass=this.compositeSystemNotificationIconProvider.parseIconInternal(this.node.data.NotificationKey,this.node.data.NotificationType),this.iconColorLook=this.compositeSystemNotificationIconProvider.getIconColor(this.node.data.NotificationType))}},{key:"onCheckClicked",value:function onCheckClicked(e,t){t.stopPropagation(),this.dynamicItemService.executeUnboundFunction("".concat(Db,"(messageJobId=").concat(e.data.MessageJobId,", isRead=").concat(!e.data.IsRead,")")).subscribe((function(){e.data.IsRead=!e.data.IsRead}))}}]),SystemNotificationItemComponent}();Vy.ctorParameters=function(){return[{type:Ci.dg},{type:ug}]},Vy.propDecorators={node:[{type:l.IIB}]},Vy=(0,a.gn)([(0,l.wA2)({selector:"sf-system-notification-item",template:_y}),(0,a.w6)("design:paramtypes",[Ci.dg,ug])],Vy);var Gy=Oy=function(){function SharedModule(){(0,i.Z)(this,SharedModule)}return(0,o.Z)(SharedModule,null,[{key:"forRoot",value:function forRoot(){return{ngModule:Oy,providers:[ph,Ah,WA,qA,Qr,Qi,Xg,ki.bL,fh,Yo.F,pe.EY,Qt.Zr,qo,mh,{provide:Lt,useClass:Ot},Ot,Gv,Rb,Ut.b0,{provide:Ri.$,useClass:Ri.q},Ri.q,{provide:yh,useClass:Eh},Eh,Pr.l,ne.pX,Be,Nt.a,ng,Nh.U,Ci.dg,Zu,zt.L,{provide:Ua,useClass:La},pd,$r,eb,pb,dc,Aa,zs.k,Bb]}}}]),SharedModule}();Gy=Oy=(0,a.gn)([(0,l.LVF)({declarations:[Ug,yg,_b.A,Og,Fi,Vg,Zg,kh,jg,zg,Ey,Oh,wy,Gb,Qh,bh,Lh,ah,ih,Al,es.X,am,ch,uh,gh,$A,Do,rl,Vh,Pl,iv,qv,hb,rb,Xo.I,zb,Ja.l,mb,Qa,nv,Kv,lv,hv,fv,mv,xv,db,Rv,no,Pi,im,de,$b,sb.b,Zm,cm,Zb,sd,By,Sy,py,my,Ty,Ny,Tb,Vy,Pb,Ly,Lb,xb],exports:[Pi,Ug,yg,_b.A,Og,Fi,Vg,Zg,jg,ze.UX,ze.u5,Ut.ez,m.Bz,zg,Ey,Oh,wy,Gb,Qh,bh,Lh,ah,ih,Al,es.X,am,ch,uh,gh,$A,rl,Vh,Pl,nv,Kv,iv,qv,hb,rb,Xo.I,zb,Ja.l,mb,lv,hv,fv,mv,xv,db,no,im,de,$b,sb.b,Zm,cm,Zb,By,Sy,py,my,Ty,Ny,Tb,Vy,Pb,Ly,Lb,xb],imports:[Ut.ez,ze.u5,ze.UX,m.Bz,cf,Uc.JF,qu],providers:[Mh,ia.R,c.Y,Ih.l,Ph,Hh,Ml.w,Mv,Ev,Di,em,Ic,sm,b.y,Vs,jb,Jb,ty,Ib,yb,bb,ug,Ln]})],Gy);var Hy=n(619),Zy=function(e){(0,f.Z)(HierarchicalDynamicItemService,e);var t=(0,p.Z)(HierarchicalDynamicItemService);function HierarchicalDynamicItemService(e,n){var o;return(0,i.Z)(this,HierarchicalDynamicItemService),(o=t.call(this,e)).dynamicItemService=e,o.contentFilterService=n,o}return(0,o.Z)(HierarchicalDynamicItemService,[{key:"showStatusIcons",value:function showStatusIcons(){return!1}},{key:"isHierarchical",value:function isHierarchical(e){return!0}},{key:"getSetName",value:function getSetName(){return this.setName}},{key:"isTypeSupported",value:function isTypeSupported(e){return this.singularName===e.metadata.singularName}},{key:"getName",value:function getName(e,t){return(0,r.of)({entityData:e,totalCount:0,dataItems:[]})}},{key:"getItemTaxa",value:function getItemTaxa(e,t,n){var i=(0,ir.r)().where().and().or();return e&&e.forEach((function(e){return i=i.eq(er,e)})),i=i.done().done().done(),this.dynamicItemService.getItemList({entityData:t,take:e?e.length:null,fallbackProperties:[t.metadata.defaultFieldName],query:i,siteId:this.siteId})}},{key:"getRecent",value:function getRecent(e,t,n){var i=(0,ir.r)(),o=e.metadata.properties.hasOwnProperty(tr)?tr:e.metadata.defaultFieldName;return this.dynamicItemService.getItemList({entityData:e,fallbackProperties:[e.metadata.defaultFieldName],query:i,order:"".concat(o," ").concat(g.mX.DESCENDING),take:5})}},{key:"expandChildren",value:function expandChildren(e,t,n){var i=(0,ir.r)().where().and().eq(er,n).done().done();return this.dynamicItemService.getItemListBatch({entityData:t,query:i,order:"".concat(Ka," ").concat(g.mX.ASCENDING),take:e.take,skip:e.skip,fallbackProperties:[t.metadata.defaultFieldName]})}},{key:"loadMore",value:function loadMore(e,t,n){var i=(0,ir.r)().where(),o=t.metadata.properties.hasOwnProperty(Ka)?Ka:t.metadata.defaultFieldName;return e.searchText&&(i=this.contentFilterService.applySearch(e.searchText,t,i)),i=i.done(),this.dynamicItemService.getItemList({entityData:t,query:i,fallbackProperties:[t.metadata.defaultFieldName],order:"".concat(o," ").concat(g.mX.ASCENDING),take:e.take,skip:e.skip})}},{key:"getModalItems",value:function getModalItems(e,t){var n=e.metadata.properties.hasOwnProperty(tr)?tr:e.metadata.defaultFieldName,i={entityData:e,fallbackProperties:[e.metadata.defaultFieldName],keys:[t],keyProperty:er,order:"".concat(n," ").concat(g.mX.ASCENDING)},o=(0,ir.r)();return t&&(o=o.where().and().eq(er,t).done().done()),i.query=o,this.dynamicItemService.getItemsByKeys(i)}},{key:"getSearchedItems",value:function getSearchedItems(e,t){var n=this.getSearchQuery(e.searchText,e.taxaId,t.entityData);return e.idsToExclude&&e.idsToExclude.forEach((function(e){n=n.ne(er,e)})),n=n.done().done(),t.query=n,this.dynamicItemService.getItemList(t)}},{key:"getSearchQuery",value:function getSearchQuery(e,t,n){var i=(0,ir.r)().where().and().eq(er,t);return e&&(i=this.contentFilterService.applySearch(e,n,i)),i}}]),HierarchicalDynamicItemService}(nr);Zy.ctorParameters=function(){return[{type:Ci.dg},{type:b.y}]},Zy=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,b.y])],Zy);var Yy,jy={multi:!0,provide:Xa,useClass:Zy},Wy="Title",Jy="ffffffff-ffff-ffff-ffff-ffffffffffff",qy=Yy=function(e){(0,f.Z)(TaxaComponent,e);var t=(0,p.Z)(TaxaComponent);function TaxaComponent(e,n,o,a){var r;return(0,i.Z)(this,TaxaComponent),(r=t.call(this)).modalService=e,r.route=n,r.dynamicItemService=o,r.hierarchicalServices=a,r.onSelectionChange=new l.vpe,r.onErrorOccured=new l.vpe,r.expandPathPair={key:"FullUrl",value:"Name"},r.visibleRecentTaxaItems=[],r.dropdownChipsTreeConfig={showBreadcrumb:!0,noSelection:!1,dataProperties:{toolTipField:"tooltip",alternativeTitleField:"Synonym"}},r.isLoading=!1,r.isHierarchical=!1,r.chipsConfig={showRecentLabel:!0,actions:[]},r.taxa=[],r.cachedTaxaTitles=[],r.modalItems=[],r.totalTaxaCount=0,r.totalHierarchicalTaxaCount=0,r.editTaxonId=null,r.modalItems$=new re.t(1),r.showAllLoading=!0,r.isInCreate=!1,r.retrieveRecentTaxaItems=!0,r._recentTaxaItems=[],r}return(0,o.Z)(TaxaComponent,[{key:"recentTaxaItems",get:function get(){return this._recentTaxaItems},set:function set(e){this._recentTaxaItems=e,this.visibleRecentTaxaItems=e.filter((function(e){return!e.inactive}))}},{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(TaxaComponent.prototype),"ngOnInit",this).call(this),this.retrieveRecentTaxaItems=!this.settings.skipInputSelection,this.initialize(),this.chipsConfig.skipInputSelection=this.settings.skipInputSelection,this.addButtonContentType=this.settings.allowMultiple?this.taxaNames.plural:this.taxaNames.singular}},{key:"getRequiredErrorMessage",value:function getRequiredErrorMessage(){return["".concat(_e.SELECT_BUTTON," ").concat(this.settings.title)]}},{key:"onTaxaEntered",value:function onTaxaEntered(e){var t=this,n=e.trim();if(!this.settings.allowCreate)return this.message="You are not allowed to create ".concat(this.settings.title),void this.focusOutChips();var i=this.entityData;this.settings.type!==md.ZP.FLAT_TAXA?this.hierarchicalService.getSearchedItems({searchText:n,taxaId:this.isInCreate?null:this.settings.id,idsToExclude:this.value},{entityData:i,fallbackProperties:[this.defaultFieldName]},this.editTaxonId).pipe((0,kn.P)()).subscribe((function(e){if(e.dataItems&&e.dataItems.length){var i=t.cloneAndAddFieldsToDataItems(e.dataItems);t.addTaxa(i)}else t.onCreateHierarchicalTaxa(n)})):n&&(this.addFakeTaxon(n),this.createTaxon(n,i).subscribe((function(e){e=t.cloneAndAddFieldsToDataItems([e])[0];var i=t.removeFakeTaxon(n);t.addTaxon(e,i),t.getRecentTaxa()}),(function(e){t.removeFakeTaxon(n),t.handleTaxaCreationError(e,n)})))}},{key:"onSelectChip",value:function onSelectChip(e){e.isSeparator||(e.action&&"function"==typeof e.action?e.action():(this.addTaxa([e]),this.onSelectionChange.emit(e.Id)))}},{key:"onSearchChips",value:function onSearchChips(e){var t=this;if(e){var n=e.trim(),i=!this.isInCreate||this.entityData.metadata.hasParent,o=e.length>=3||void 0;this.isSearchPending=!0,this.hierarchicalService.getSearchedItems({searchText:n,taxaId:i?this.settings.id:null,idsToExclude:this.value},{entityData:this.entityData,order:"".concat(Wy," ").concat(g.mX.ASCENDING),take:5,fallbackProperties:[this.defaultFieldName]},this.editTaxonId,o).pipe((0,kn.P)()).subscribe((function(e){var n=t.cloneAndAddFieldsToDataItems(e.dataItems);t.chipsConfig.focusFirstNode=!!n.length,t.recentTaxaItems=n,t.updateChipsConfig(),t.isSearchPending=!1}))}else this.chipsConfig.focusFirstNode=!1,this.recentTaxaItems=this.cachedTaxaTitles,this.updateChipsConfig()}},{key:"onRemoveChip",value:function onRemoveChip(e){var t=this.taxa.findIndex((function(t){return t.Id===e.Id}));if(this.isHierarchical){var n=this.countActualTaxons(this.recentTaxaItems);this.totalTaxaCount<=n&&(this.totalTaxaCount=n+1)}var i=this.taxa.splice(t,1)[0],o=0,a=-1;this.recentTaxaItems.forEach((function(e,t){(e.isLink||e.isSeparator)&&o++,e.Id===i.Id&&(a=t)}));var r=this.recentTaxaItems.length-o;this.taxaItems=this.taxa,r<5&&-1===a&&this.recentTaxaItems.splice(r,0,i),t=this.value.indexOf(e.Id);var s=this.value.slice();s.splice(t,1),this.writeValue(s),this.onSelectionChange.emit(null),this.updateChipsConfig()}},{key:"writeValue",value:function writeValue(e){"string"==typeof e?((0,Re.Z)((0,Qe.Z)(TaxaComponent.prototype),"writeValue",this).call(this,[e]),this.getItemTaxa()):(0,Re.Z)((0,Qe.Z)(TaxaComponent.prototype),"writeValue",this).call(this,e)}},{key:"onReset",value:function onReset(){this.value=[],this.taxa=[]}},{key:"focusChips",value:function focusChips(){this.chipsComponent.initEditableField()}},{key:"focusOutChips",value:function focusOutChips(){this.chipsComponent.onContentFocusOut()}},{key:"onShowAllTaxa",value:function onShowAllTaxa(){var e=this,t={type:ei,properties:{value:this.modalItems,value$:this.modalItems$,totalItemsCount:this.totalTaxaCount,selected:this.taxa.map((function(e){return e})),treeConfig:{multiSelection:this.settings.allowMultiple,isHierarchical:this.isHierarchical,dataProperties:{toolTipField:"tooltip",alternativeTitleField:"additionalInfo"}},serviceAware:this.serviceAware,typeNames:this.taxaNames,defaultField:this.defaultFieldName,expandPathPair:this.expandPathPair,isParentSelection:this.settings.isParentSelection,targetDataItem:this.getTargetDataItem(),loading:this.showAllLoading}};t.properties.treeConfig.status=this.hierarchicalService.showStatusIcons();var n=[new ki.pu(_e.USE_SELECTED),new ki.Lw(_e.CANCEL)],i=new ki.np(t,(function(t){return e.onDone(t)}),n,null,"-bottom");this.modalService.setMapping(i,$n),this.modalService.open(this.route,$n)}},{key:"onCreateHierarchicalTaxa",value:function onCreateHierarchicalTaxa(e){var t=this,n=this.getCreateHierarchicalTaxaButtons((function(e){return t.createHierarchicalTaxaHandler(e)}),this.taxaNames),i={type:uh,properties:{hierarchicalTaxaSettings:this.settings,typeName:this.route.snapshot.params[g.UY.TYPE_NAME_SEGMENT],title:e||null,taxaNames:this.taxaNames,otherTaxaExist:this.modalItems.length>0,entityData:this.entityData,parentId:this.settings.id}},o=new ki.np(i,(function(e){return t.onCreate(e)}),n,"-prompt","sf-form -medium -sf-centered-box -border-top -sf-txt-align-left -sf-mt-zero");this.modalService.setMapping(o,"hierarchicalTaxa"),this.modalService.open(this.route,"hierarchicalTaxa")}},{key:"onFocusHandler",value:function onFocusHandler(e){e?(this.message=null,this.onFocus()):this.onBlur()}},{key:"getWarnings",value:function getWarnings(){return this.settings.allowView?(0,Re.Z)((0,Qe.Z)(TaxaComponent.prototype),"getWarnings",this).call(this):[this.getNoPermissionMessage(this.taxaNames.plural)]}},{key:"setCulture",value:function setCulture(e){this.entityData=ee.zw.from(null,this.entityData.metadata,this.entityData.provider,e)}},{key:"setSiteId",value:function setSiteId(e){var t=this;this.hierarchicalService.siteId=e,this.onReset(),this.getModalItems().subscribe((function(){t.getRecentTaxa()}))}},{key:"getRecentTaxa",value:function getRecentTaxa(){var e=this;this.hierarchicalService.getRecent(this.entityData,this.settings,this.value,this.editTaxonId,this.getTargetDataItem()).subscribe((function(t){var n=t.dataItems;e.recentTaxaItems=e.cachedTaxaTitles=e.cloneAndAddFieldsToDataItems(n),e.isHierarchical&&e.totalHierarchicalTaxaCount0){var i=t.cloneAndAddFieldsToDataItems([e.dataItems[0]])[0];t.addTaxon(i),n.next(new ki.DQ(null,!0))}}))}))}else n.next(new ki.DQ(null,!1,!0));return n.asObservable()}},{key:"createTaxon",value:function createTaxon(e,t,n){var i={TaxonomyId:this.settings.id,Title:e};return n&&(i.ParentId=n),this.dynamicItemService.createItem({data:i,entityData:t})}},{key:"getCreateHierarchicalTaxaButtons",value:function getCreateHierarchicalTaxaButtons(e,t){return[new ki.pu("Create this ".concat(t.singular),e),new ki.Lw]}},{key:"getTaxaName",value:function getTaxaName(){var e=this,t=this.hierarchicalService.getSetName(),n=this.getEntityData(t);this.hierarchicalService.getName(n,this.settings.id).subscribe((function(t){if(t){var n=t.dataItems;if(n&&n.length>0){var i=e.cloneAndAddFieldsToDataItems([n[0]])[0];e.taxaNames={plural:i.Title.toLowerCase(),singular:i.TaxonName.toLowerCase()}}else{var o=t.entityData.metadata;e.taxaNames={plural:o.displayName.toLowerCase(),singular:o.singularName.toLowerCase()}}}e.addButtonTitle="Select "+(e.settings.allowMultiple?e.taxaNames.plural:e.taxaNames.singular)}))}},{key:"expandChildren",value:function expandChildren(e){var t=this;return void 0===e.take&&(e.take=g.P$),this.hierarchicalService.expandChildren(e,this.entityData,this.settings.id,this.editTaxonId).pipe((0,w.U)((function(e){return{dataItems:t.cloneAndAddFieldsToDataItems(e.dataItems),totalCount:e.totalCount}})))}},{key:"loadMore",value:function loadMore(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.parentId=this.settings.id,this.hierarchicalService.loadMore(e,this.entityData,this.settings,this.editTaxonId,n).pipe((0,w.U)((function(e){return{dataItems:t.cloneAndAddFieldsToDataItems(e.dataItems),totalCount:e.totalCount}})))}},{key:"onDone",value:function onDone(e){var t=this;if(e.data&&e.data.data){var n=e.component.selected;this.value=[],this.taxa=[],n.forEach((function(e){t.addTaxon(e),t.onSelectionChange.emit(e.Id)})),this.retrieveRecentTaxaItems&&this.getRecentTaxa(),this.onFocusHandler(!1)}}},{key:"onCreate",value:function onCreate(e){this.getModalItems(),this.onFocusHandler(!1)}},{key:"getItemTaxa",value:function getItemTaxa(){var e=this;this.value&&this.value.length&&this.value[0]!==v.WP.DEFAULT_GUID&&(this.isLoading=!0,this.hierarchicalService.getItemTaxa(this.value,this.entityData,this.settings.id,this.isInCreate).subscribe((function(t){var n=t.dataItems,i=e.cloneAndAddFieldsToDataItems(n);e.value&&n.length&&(i=e.orderTaxasById(i)),e.updateTaxa(i),e.onTaxaRetrieved(),e.isInCreate&&0===n.length&&(e.writeValue(null),e.onSelectionChange.emit(null))}),(function(t){e.updateTaxa([]),e.onErrorOccured.emit(t.message)})))}},{key:"updateChipsConfig",value:function updateChipsConfig(){var e=!1,t=this.countActualTaxons(this.recentTaxaItems);if(this.isHierarchical){var n=t+this.countActualTaxons(this.taxaItems);this.chipsComponent.isEditing&&this.taxa.length>0&&this.isHierarchical&&n--,e=this.isHierarchical?this.totalHierarchicalTaxaCount>n:this.totalTaxaCount>n}else e=this.countActualTaxons(this.modalItems)>t+this.countActualTaxons(this.taxaItems);e=e||t>5,this.chipsConfig.actions=[],e&&this.chipsConfig.actions.push({label:"Show all ".concat(this.taxaNames.plural),action:this.onShowAllTaxa.bind(this)}),this.settings.allowCreate&&this.settings.type!==md.ZP.FLAT_TAXA&&this.chipsConfig.actions.push({label:"Create ".concat((0,d.Q7)(this.taxaNames,!1,!0)),action:this.onCreateHierarchicalTaxa.bind(this)})}},{key:"addTaxon",value:function addTaxon(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;e&&(this.value||(this.value=[]),this.value.includes(e.Id)||(this.settings.allowMultiple||(this.value.length=0,this.taxa.length=0),-1!==t?(this.value.splice(t,0,e.Id),this.taxa.splice(t,0,e)):(this.value.push(e.Id),this.taxa.push(e)),this.taxaItems=this.taxa,e.ParentId!==v.WP.DEFAULT_GUID&&this.isHierarchical||0!==this.modalItems.filter((function(t){return t.Id===e.Id})).length||(this.setHasChildren(e),-1!==t?this.modalItems.splice(t,0,e):this.modalItems.push(e)),this.onChangeCallback(this.value),this.isLoading=!0))}},{key:"addFakeTaxon",value:function addFakeTaxon(e){e&&(this.value||(this.value=[]),this.value.includes(e)||this.taxa.findIndex((function(t){return t.Title===e}))>-1||(this.settings.allowMultiple||(this.value.length=0,this.taxa.length=0),this.taxa.push({Title:e,Id:Jy}),this.onChangeCallback(this.value),this.isLoading=!0))}},{key:"removeFakeTaxon",value:function removeFakeTaxon(e){var t=this.taxa.findIndex((function(t){return t.Title===e&&t.Id===Jy}));return t>-1&&this.taxa.splice(t,1),t}},{key:"updateTaxa",value:function updateTaxa(e){var t=this;if(this.entityData.metadata.setName===u.gl.SITES){var n=e.map((function(e){var n=(0,d.kI)(e);return t.setImmutableItemProperties(n),n}));this.taxa=n,this.taxaItems=n}else this.taxa=e,this.taxaItems=e}},{key:"addTaxa",value:function addTaxa(e){this.addTaxon(e[0]),this.getRecentTaxa()}},{key:"handleTaxaCreationError",value:function handleTaxaCreationError(e,t){var n=this;if(e instanceof Ko.p&&'{"UrlName":"UrlExists"}'===e.message){if(this.taxaItems&&this.taxaItems.some((function(e){return e.Title===t&&e.Id!==Jy})))return;var i=(0,ir.r)().where().and().eq("TaxonomyId",this.settings.id).eq(Wy,t);return i=this.excludeCurrentItems(i).done().done(),void this.dynamicItemService.getItemList({entityData:this.entityData,query:i,fallbackProperties:[this.defaultFieldName]}).subscribe((function(e){n.addTaxa(n.cloneAndAddFieldsToDataItems(e.dataItems))}))}}},{key:"orderTaxasById",value:function orderTaxasById(e){var t,n=[],i=(0,Qn.Z)(this.value);try{var o=function _loop(){var i=t.value,o=e.find((function(e){return e.Id===i}));o&&n.push(o)};for(i.s();!(t=i.n()).done;)o()}catch(e){i.e(e)}finally{i.f()}return n}},{key:"getModalItems",value:function getModalItems(){var e=this,t=new re.t,n=this.getTargetDataItem();return this.hierarchicalService.getModalItems(this.entityData,this.settings.id,this.editTaxonId,n).pipe((0,kn.P)()).subscribe((function(n){e.totalTaxaCount=n.totalCount,e.modalItems=e.cloneAndAddFieldsToDataItems(n.dataItems),e.placeImmutableItemsOntop(),t.next(),e.modalItems$.next({dataItems:e.modalItems,totalCount:n.totalCount}),e.showAllLoading=!1})),t.asObservable()}},{key:"placeImmutableItemsOntop",value:function placeImmutableItemsOntop(){var e=this;if(this.settings.immutableitemIds){var t=this.modalItems.slice();this.modalItems.map((function(n,i){var o;if((null===(o=e.settings.immutableitemIds)||void 0===o?void 0:o.indexOf(n.Id))>=0){var a=t.splice(i,1)[0];t.unshift(a)}return n})),this.modalItems=t}}},{key:"getTargetDataItem",value:function getTargetDataItem(){return this.route.snapshot.data.itemData?this.route.snapshot.data.itemData.item||this.route.snapshot.data.itemData.entityData:null}},{key:"getEntityData",value:function getEntityData(e){var t=this.route.parent.snapshot.data.metaStore.entities[e];return{culture:this.entityData?this.entityData.culture:this.settings.culture,provider:void 0,metadata:t}}},{key:"cloneAndAddFieldsToDataItems",value:function cloneAndAddFieldsToDataItems(e){var t=this;return e.map((function(e){var n=(0,d.kI)(e.data);return n.isTranslated=e.isTranslated,t.setHasChildren(n),t.setBreadcrumbPath(n),t.setImmutableItemProperties(n),n}))}},{key:"setImmutableItemProperties",value:function setImmutableItemProperties(e){var t;(null===(t=this.settings.immutableitemIds)||void 0===t?void 0:t.indexOf(e.Id))>=0&&(e.inactive=!0,e.isSelectionDisabled=!0,e.isReadOnly=!0,this.entityData.metadata.setName===u.gl.SITES&&(e.additionalInfo="this site"))}},{key:"setBreadcrumbPath",value:function setBreadcrumbPath(e){if(e){var t=e.Breadcrumb,n=e.Title;Array.isArray(t)&&t.length>0&&(n="".concat(t.join(" > ")," > ").concat(n)),e.BreadcrumbPath=n}}},{key:"initialize",value:function initialize(){var e=this;this.entityData||(this.entityData=this.getEntityData(this.settings.type));var t=this.route.snapshot.data.itemData;if(t&&t.entityData&&t.entityData.metadata&&this.entityData.metadata.setName===t.entityData.metadata.setName&&(this.editTaxonId=t.entityData.key),this.taxaNames={plural:this.settings.title.toLowerCase(),singular:this.settings.title.toLowerCase()},this.defaultFieldName=this.route.parent.snapshot.data[g.u0.metadata].entities[this.settings.type].defaultFieldName,this.isInCreate=this.route.snapshot.data.itemData&&this.route.snapshot.data.itemData.entityData.isEmpty,this.hierarchicalServices&&this.hierarchicalServices.forEach((function(t){t.isTypeSupported(e.entityData)&&(e.hierarchicalService=t)})),!this.hierarchicalService&&this.settings.type&&this.settings.key)this.hierarchicalService=this.hierarchicalServices.find((function(e){return e instanceof Zy})),this.hierarchicalService.setName=this.settings.type,this.hierarchicalService.singularName=this.settings.key;else if(!this.hierarchicalService)return;this.isHierarchical=this.hierarchicalService.isHierarchical(this.settings.type),this.dropdownChipsTreeConfig.status=this.hierarchicalService.showStatusIcons(),this.getItemTaxa(),this.settings.readOnlyMode||(this.getTaxaName(),this.serviceAware=new ti((function(t){return e.loadMore(t,e.isInCreate)}),(function(t){return e.expandChildren(t,e.isInCreate)})),this.getModalItems().subscribe((function(){e.retrieveRecentTaxaItems&&e.getRecentTaxa()})))}},{key:"excludeCurrentItems",value:function excludeCurrentItems(e){return this.value&&this.value.forEach((function(t){e=e.ne("Id",t)})),e}},{key:"setHasChildren",value:function setHasChildren(e){this.isHierarchical&&e.HasChildren&&(e.hasChildren=e.HasChildren)}},{key:"countActualTaxons",value:function countActualTaxons(e){return e?e.filter((function(e){return!e.isSeparator&&!e.isLink&&!e.isHeading})).length:0}}]),TaxaComponent}(Z.F);qy.ctorParameters=function(){return[{type:ki.bL},{type:m.gz},{type:Ci.dg},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Xa]}]}]},qy.propDecorators={onSelectionChange:[{type:l.r_U}],onErrorOccured:[{type:l.r_U}],expandPathPair:[{type:l.IIB}],entityData:[{type:l.IIB}],chipsComponent:[{type:l.i9L,args:[ve,{static:!0}]}]},qy=Yy=(0,a.gn)([(0,l.wA2)({selector:"sf-taxa",template:Hy,providers:[(0,Z.A)(Yy)]}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz,Ci.dg,Array])],qy);var Xy,Ky=n(620),$y=function(e){(0,f.Z)(TaxaGridComponent,e);var t=(0,p.Z)(TaxaGridComponent);function TaxaGridComponent(){var e;return(0,i.Z)(this,TaxaGridComponent),(e=t.apply(this,arguments)).visibleTaxa=[],e}return(0,o.Z)(TaxaGridComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.route.snapshot.data.dynamicItems.culture;this.settings.culture=e,this.settings.readOnlyMode=!0,(0,Re.Z)((0,Qe.Z)(TaxaGridComponent.prototype),"ngOnInit",this).call(this)}},{key:"onTaxaRetrieved",value:function onTaxaRetrieved(){this.generateTaxaBages()}},{key:"onClick",value:function onClick(e){this.visibleTaxa=this.taxa,e.isVisible=!1}},{key:"generateTaxaBages",value:function generateTaxaBages(){if(this.taxa.forEach((function(e){e.isTranslated=!0})),this.taxa.length>3){this.visibleTaxa=this.taxa.slice(0,3);var e=this.taxa.length-this.visibleTaxa.length,t="+".concat(e);this.loadMoreBadge={name:t,isVisible:!0}}else this.visibleTaxa=this.taxa,this.loadMoreBadge={isVisible:!1}}}]),TaxaGridComponent}(qy),eE={writeComponent:qy,readComponent:qy,gridComponent:$y=(0,a.gn)([(0,l.wA2)({selector:"sf-taxa-grid",template:Ky})],$y),settingsType:kg.W},tE=n(621),nE=Xy=function(e){(0,f.Z)(UrlNameGridComponent,e);var t=(0,p.Z)(UrlNameGridComponent);function UrlNameGridComponent(){return(0,i.Z)(this,UrlNameGridComponent),t.apply(this,arguments)}return(0,o.Z)(UrlNameGridComponent)}(ab);nE=Xy=(0,a.gn)([(0,l.wA2)({selector:"sf-url-name-grid",template:tE,providers:[(0,Z.A)(Xy)]})],nE);var iE=(0,o.Z)((function UrlNameModule(){(0,i.Z)(this,UrlNameModule)}));iE=(0,a.gn)([(0,l.LVF)({declarations:[ab,nE],imports:[Ut.ez,cf,ze.u5],exports:[ab,nE]})],iE);var oE,aE=n(622),rE=oE=function(e){(0,f.Z)(AdditionalUrlsComponent,e);var t=(0,p.Z)(AdditionalUrlsComponent);function AdditionalUrlsComponent(){var e;return(0,i.Z)(this,AdditionalUrlsComponent),(e=t.call(this)).newValue=v.WP.EMPTY_STRING,e.invalidUrls={},e}return(0,o.Z)(AdditionalUrlsComponent,[{key:"ngOnInit",value:function ngOnInit(){this.processUrls()}},{key:"getValue",value:function getValue(){if(!this.urls)return(0,Re.Z)((0,Qe.Z)(AdditionalUrlsComponent.prototype),"getValue",this).call(this);var e=[];return this.urls.forEach((function(t){e.push(t.value)})),e}},{key:"onItemsChange",value:function onItemsChange(){this.writeValue(this.getValue())}},{key:"removeUrl",value:function removeUrl(e){var t=this.urls.map((function(e){return e.value})).indexOf(e);-1!==t&&(this.urls.splice(t,1),this.writeValue(this.getValue()))}},{key:"onFocus",value:function onFocus(){(0,Re.Z)((0,Qe.Z)(AdditionalUrlsComponent.prototype),"onFocus",this).call(this)}},{key:"onBlur",value:function onBlur(){(0,Re.Z)((0,Qe.Z)(AdditionalUrlsComponent.prototype),"onBlur",this).call(this)}},{key:"processErrors",value:function processErrors(e){var t=this,n=[],i=mu.C+mu.r.CUSTOM_ERRORS;if(this.invalidUrls={},!e||!e[i])return(0,Re.Z)((0,Qe.Z)(AdditionalUrlsComponent.prototype),"processErrors",this).call(this,e);var o=e[i],a=mu.C+mu.r.URL_EXIST,r=[];if(Object.keys(o).forEach((function(i){var s=o[i];if("string"==typeof s)if(mu.C+s.toLowerCase()===a)r.push(i);else{var l=t.validation.buildErrorMessage(s.toLowerCase(),e);n.push(l)}else n.push(t.validation.buildErrorMessage(null,s.message));var c=t.urls.find((function(e){return e.value===i||"/".concat(e.value)===i}));c&&c.value&&(i=c.value),t.invalidUrls[i]=!0})),0===n.length&&this.urls&&this.urls.length>0&&r.length>0){var s=null;s=1===this.urls.length?a:mu.C+(1===r.length?mu.r.URL_EXIST_SPECIFIC:mu.r.URL_EXIST_MANY);var l=this.validation.buildErrorMessage(s,null);n.push(l)}return this.updateValidity(),n}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(AdditionalUrlsComponent.prototype),"writeValue",this).call(this,e),this.processUrls()}},{key:"processUrls",value:function processUrls(){var e=[],t=(0,Re.Z)((0,Qe.Z)(AdditionalUrlsComponent.prototype),"getValue",this).call(this);if(t&&t.length)for(var n=0;n0&&(n="".concat(t.join(" > ")," > ").concat(n)),n}}]),MoveTaxonComponent}();EE.ctorParameters=function(){return[{type:m.gz},{type:Ci.dg},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Xa]}]}]},EE=(0,a.gn)([(0,l.wA2)({template:bE}),(0,a.w6)("design:paramtypes",[m.gz,Ci.dg,Array])],EE);var IE=function(e){(0,f.Z)(TaxonomyEditExtender,e);var t=(0,p.Z)(TaxonomyEditExtender);function TaxonomyEditExtender(){return(0,i.Z)(this,TaxonomyEditExtender),t.apply(this,arguments)}return(0,o.Z)(TaxonomyEditExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.setName===u.gl.CLASSIFICATIONS||e.metadata.setName===u.gl.FLAT_TAXA||e.metadata.setName===u.gl.HIERARCHY_TAXA}},{key:"getFormClasses",value:function getFormClasses(){return"-medium"}},{key:"showHeader",value:function showHeader(e){return!0}}]),TaxonomyEditExtender}(Kr);IE=(0,a.gn)([(0,l.GSi)()],IE);var wE={multi:!0,provide:Jr,useClass:IE},kE=function(){function HierarchicalTaxonExpandService(e,t){(0,i.Z)(this,HierarchicalTaxonExpandService),this.settings=e,this.siteDataStore=t}return(0,o.Z)(HierarchicalTaxonExpandService,[{key:"getExpandedNodeIds",value:function getExpandedNodeIds(){var e=this;return this.siteDataStore.getValue().pipe((0,w.U)((function(t){var n=t.SiteMapRootNodeId+md.ZP.HIERARCHICAL_TAXON_FULL_NAME;return e.settings.getExpandedNodeIds(n)})))}},{key:"setExpandedNodeIds",value:function setExpandedNodeIds(e){var t=this;this.siteDataStore.getValue().pipe((0,w.U)((function(n){var i=n.SiteMapRootNodeId+md.ZP.HIERARCHICAL_TAXON_FULL_NAME;return t.settings.setExpandedNodeIds(i,e)}))).subscribe()}},{key:"clearExpandedNodeIds",value:function clearExpandedNodeIds(){var e=this;this.siteDataStore.getValue().subscribe((function(t){var n=t.SiteMapRootNodeId+md.ZP.HIERARCHICAL_TAXON_FULL_NAME;return e.settings.setExpandedNodeIds(n,[])}))}}]),HierarchicalTaxonExpandService}();kE.ctorParameters=function(){return[{type:Qt.Zr},{type:Qi}]},kE=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qt.Zr,Qi])],kE);var xE="Classifications",CE="Libraries",SE=[],BE=function(){function ModulesProvider(e,t){(0,i.Z)(this,ModulesProvider),this.metadata=e,this.site=t}return(0,o.Z)(ModulesProvider,[{key:"getModules",value:function getModules(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=null;return n=t?this.site.getValue().pipe((0,w.U)((function(e){return e.Modules}))):this.metadata.initialize().pipe((0,w.U)((function(e){return e.modules}))),(0,s.aj)(this.metadata.initialize(),n).pipe((0,w.U)((function(t){var n=t[0],i=t[1];return e.initialize(n,i)})))}},{key:"getGroup",value:function getGroup(e,t){return e===CE?"Media":"Taxonomy"===e?xE:1===t?"Types of Content":e}},{key:"initialize",value:function initialize(e,t){for(var n=this,i=[],o=function _loop(){var o=r[a];if(ns.N.env===_t.H.integration&&SE.indexOf(o)>-1)return"continue";var s=t[o].AccessibleTypes.filter((function(t){var n=e.entities[t];return!(!n||!n.enabled)&&((!n.ignoreParentChildRelationship||!n.hasChildren)&&!(n.hasParent&&!n.ignoreParentChildRelationship))})).map((function(t){return e.entities[t]}));if(0===s.length)return"continue";var l=n.getGroup(o,s.length),c=i.find((function(e){return e.title===l}));c||(c={title:l,types:new Array},i.push(c)),s.forEach((function(e){c.types.push({url:e.setName,displayName:e.displayName})}))},a=0,r=Object.keys(t);a4&&void 0!==arguments[4]?arguments[4]:null,a={};return t.snapshot.queryParams[g.V5.FILTER]===g.hh.NOT_USED&&i.metadata.setName===md.ZP.TAXONOMIES_SET_NAME&&(a[g.Tx.IGNORE_SITE_CONTEXT]=!0),new Xc(e).execute({currentRoute:t,data:{dataItem:n,metadata:i,parentSetName:this.getParentSetName(i),childSetName:o,navigateToGrid:n&&this.shouldNavigateToChildGrid(n),isChildNavigate:n&&n.metadata.setName===i.metadata.setName&&Object.keys(n.data).length>1,additionalQueryParams:a},model:null})}},{key:"executeServerAction",value:function executeServerAction(e,t){return t.updateItem.dataItem.metadata.setName===md.ZP.TAXONOMIES_SET_NAME&&t.actionButton.sourceOperation.Name===$.q.delete?this.handleDeleteTaxonomyCommand(e,t):e.execute(t)}},{key:"getSidebarDisplayName",value:function getSidebarDisplayName(e,t){return t&&t.data&&t.data.DefaultTitle?"".concat(t.data.DefaultTitle):e.metadata.displayName}},{key:"getQuickNavigationSidebarSections",value:function getQuickNavigationSidebarSections(e,t){var n=this,i=new re.t(1);return null===t?(0,r.of)([]):(this.taxonomyService.getTaxonomies([]).then((function(t){var o=t.filter((function(e){return e.TaxaUrl===md.ZP.FLAT_TAXA})),a=t.filter((function(e){return e.TaxaUrl===md.ZP.HIERARCHY_TAXA})),r={metadata:n.metadataStore.getEntity(md.ZP.TAXONOMIES_SET_NAME),culture:e.culture,provider:e.provider},s={dataItems:[ee.zw.fromEntityData({Title:"All ".concat(xE.toLowerCase())},r)],sourceEntityData:e,title:null},l=n.getQuickNavigationSidebarSection(a,r),c=n.getQuickNavigationSidebarSection(o,r);i.next([l,c,s])})),i.asObservable())}},{key:"getQuickNavigationSidebarTitle",value:function getQuickNavigationSidebarTitle(e,t){return"Browse ".concat(xE.toLowerCase())}},{key:"hasLongRunningTasks",value:function hasLongRunningTasks(e){return e.metadata.setName===md.ZP.FLAT_TAXA||e.metadata.setName===md.ZP.HIERARCHY_TAXA||(0,Re.Z)((0,Qe.Z)(TaxonomyGridExtender.prototype),"hasLongRunningTasks",this).call(this,e)}},{key:"getParentSetName",value:function getParentSetName(e){return md.ZP.TAXONOMIES_SET_NAME}},{key:"isPagingPersistenceEnabled",value:function isPagingPersistenceEnabled(){return!0}},{key:"clearTemporaryData",value:function clearTemporaryData(){(0,Re.Z)((0,Qe.Z)(TaxonomyGridExtender.prototype),"clearTemporaryData",this).call(this),this.hierarchicalTaxonExpandService.clearExpandedNodeIds()}},{key:"getQuickNavigationSidebarSection",value:function getQuickNavigationSidebarSection(e,t){var n=[];return e.forEach((function(e){n.push(ee.zw.fromEntityData(e,t))})),{dataItems:n,sourceEntityData:t,title:e[0].Type}}},{key:"handleDeleteTaxonomyCommand",value:function handleDeleteTaxonomyCommand(e,t){var n=this,i=this.itemService.executeBoundFunction(t.updateItem.dataItem,"Default.GetItemTypesUsingTaxonomy()".toLowerCase()),o=v.WP.EMPTY_STRING;return i.pipe((0,oa.zg)((function(i){if(i.value.length){o=i.value.map((function(e){return e.DisplayName})).join(", ");var a="Classification ".concat(t.updateItem.dataItem.data.Title," is used in content types: ").concat(o,". Remove it from any content types first and then delete the classification."),s=[new ki.Lw("Close")],l=n.generateModalWarningSettings("Classification cannot be deleted",a,s);return n.modalWindowService.openModalConfirmation(t.route.parent,l,t.updateItem.dataItem),(0,r.of)()}return e.execute(t)})))}},{key:"generateModalWarningSettings",value:function generateModalWarningSettings(e,t,n){return{title:e,description:t,icon:da.A.Delete,action:v.WP.EMPTY_STRING,hideItemTitle:!0,buttons:n}}},{key:"getHierarchicalService",value:function getHierarchicalService(e){return this.hierarchicalServices.find((function(t){return e&&t.isTypeSupported(e)}))}}]),TaxonomyGridExtender}(fd);DE.ctorParameters=function(){return[{type:ga},{type:pe.EY},{type:wg},{type:kE},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Xa]}]},{type:b.y},{type:ki.bL},{type:Ci.dg},{type:Qt.Zr},{type:Aa},{type:yl},{type:cd},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},DE=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ga,pe.EY,wg,kE,Array,b.y,ki.bL,Ci.dg,Qt.Zr,Aa,yl,cd,La])],DE);var TE={multi:!0,provide:ud,useClass:DE},ME=n(629),NE=n(494),FE=function(){function MergeTaxonComponent(e,t){(0,i.Z)(this,MergeTaxonComponent),this.route=e,this.hierarchicalServices=t,this.taxons=[],this.totalCount=0,this.selected=[],this.taxaNames={plural:v.WP.EMPTY_STRING,singular:v.WP.EMPTY_STRING},this.selectionText="Merge",this.defaultLoad=20,this.pagingLoad=20}return(0,o.Z)(MergeTaxonComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.hierarchicalServices&&this.hierarchicalServices.forEach((function(t){t.isTypeSupported(e.entityData)&&(e.hierarchicalService=t)})),!this.hierarchicalService&&this.entityData.metadata.setName&&this.entityData.metadata.singularName)this.hierarchicalService=this.hierarchicalServices.find((function(e){return e instanceof Zy})),this.hierarchicalService.setName=this.entityData.metadata.setName,this.hierarchicalService.singularName=this.entityData.metadata.singularName;else if(!this.hierarchicalService)return;var t=fe.getOperationPluralName(this.entityData.metadata,this.contextParameters).toLowerCase(),n=fe.getOperationSingularName(this.entityData.metadata,this.contextParameters).toLowerCase();this.taxaNames={plural:t,singular:n},this.defaultFieldName=this.entityData.metadata.defaultFieldName,this.treeConfig={multiSelection:!1,isHierarchical:!1},this.formattedTypeName=t,this.description="Select ".concat(n," to merge others into"),this.getItems(),this.serviceAware=new ti((function(t){return e.loadMore(t)}))}},{key:"getItems",value:function getItems(){var e=this;this.isLoading=!0,this.itemSelectionInfo&&this.itemSelectionInfo.allItemsSelected?this.hierarchicalService.getModalItems(this.entityData,this.parentId).pipe((0,NE.map)((function(t){return{dataItems:t.dataItems.filter((function(t){return!e.itemSelectionInfo.deselectedItems.has(t.key)})),totalCount:t.totalCount}}))).subscribe((function(t){e.totalCount=t.totalCount,e.taxons=e.getTaxonCollection(t.dataItems),e.isLoading=!1})):(this.dataItems=this.dataItems.sort((function(e,t){return e.title.localeCompare(t.title)})),this.totalCount=this.dataItems.length,this.taxons=this.getTaxonCollection(this.dataItems.slice(0,this.defaultLoad)),this.isLoading=!1)}},{key:"loadMore",value:function loadMore(e){var t=this;if(this.itemSelectionInfo&&this.itemSelectionInfo.allItemsSelected){var n=new kg.W(this.parentId,!0);return n.id=this.parentId,n.type=this.entityData.metadata.setName,e.parentId=this.parentId,this.hierarchicalService.loadMore(e,this.entityData,n).pipe((0,NE.map)((function(e){return{dataItems:t.getTaxonCollection(e.dataItems.filter((function(e){return!t.itemSelectionInfo.deselectedItems.has(e.key)}))),totalCount:e.totalCount}})))}var i=this.dataItems;return e.searchText&&e.searchText!==v.WP.EMPTY_STRING&&(i=i.filter((function(t){return-1!==t.title.toLowerCase().search(e.searchText.toLowerCase())}))),i=i.slice(e.skip,e.skip+this.pagingLoad),(0,r.of)({dataItems:this.getTaxonCollection(i),totalCount:this.dataItems.length})}},{key:"getTaxonCollection",value:function getTaxonCollection(e){var t=this,n=[];return e.forEach((function(e){n.push(t.cloneAndAddFieldsToDataItem(e))})),n}},{key:"cloneAndAddFieldsToDataItem",value:function cloneAndAddFieldsToDataItem(e){var t=JSON.parse(JSON.stringify(e.data));return{Id:t.Id,Title:t.Title,isTranslated:e.isTranslated}}}]),MergeTaxonComponent}();FE.ctorParameters=function(){return[{type:m.gz},{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Xa]}]}]},FE=(0,a.gn)([(0,l.wA2)({template:ME}),(0,a.w6)("design:paramtypes",[m.gz,Array])],FE);var PE=(0,o.Z)((function CustomFilterRenderer(){(0,i.Z)(this,CustomFilterRenderer)})),RE="FilterFlatTaxaFirstLetter",QE=n(630),UE=function(e){(0,f.Z)(FilterFlatTaxaFirstLetterComponent,e);var t=(0,p.Z)(FilterFlatTaxaFirstLetterComponent);function FilterFlatTaxaFirstLetterComponent(e,n){var o;return(0,i.Z)(this,FilterFlatTaxaFirstLetterComponent),(o=t.call(this)).filterStore=e,o.route=n,o.filterSelect=new l.vpe,o.filtersChanged=new l.vpe,o.filters=[],o.filterRows=100,o}return(0,o.Z)(FilterFlatTaxaFirstLetterComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.loadFilters(),this.isInitialLoad=!0;var t=this.reload.subscribe((function(){e.loadFilters()}));this.registerSubscription(t);var n=this.route.queryParams.subscribe((function(t){e.filterValue=t[g.V5.FILTER]}));this.registerSubscription(n)}},{key:"onFilterSelect",value:function onFilterSelect(e){this.filterSelect.emit(e)}},{key:"loadFilters",value:function loadFilters(){var e=this;this.isLoading=!0;var t=this.route.snapshot.params[g.UY.PARENT_ID_SEGMENT],n=this.filterStore.getDynamicFilters(this.entityData,t).pipe((0,xn.g)(g.gn)).subscribe((function(t){e.isLoading=!1,e.isInitialLoad=!1,e.filters=Object.assign([],t.filter((function(t){return t.category===e.category}))),e.filterRows=Math.ceil(e.filters.length/2),e.filtersChanged.emit(e.filters)}));this.registerSubscription(n)}}]),FilterFlatTaxaFirstLetterComponent}(E.zu);UE.ctorParameters=function(){return[{type:Vr},{type:m.gz}]},UE.propDecorators={entityData:[{type:l.IIB}],category:[{type:l.IIB}],reload:[{type:l.IIB}],filterSelect:[{type:l.r_U}],filtersChanged:[{type:l.r_U}]},UE=(0,a.gn)([(0,l.wA2)({selector:"sf-filter-flat-taxa-first-letter",template:QE}),(0,a.w6)("design:paramtypes",[Vr,m.gz])],UE);var LE=function(e){(0,f.Z)(FilterFlatTaxaFirstLetterRenderer,e);var t=(0,p.Z)(FilterFlatTaxaFirstLetterRenderer);function FilterFlatTaxaFirstLetterRenderer(){return(0,i.Z)(this,FilterFlatTaxaFirstLetterRenderer),t.apply(this,arguments)}return(0,o.Z)(FilterFlatTaxaFirstLetterRenderer,[{key:"initComponentData",value:function initComponentData(e,t,n){return{type:UE,properties:{filters:e,entityData:t,reload:n,category:this.getCategory()}}}},{key:"getCategory",value:function getCategory(){return RE}}]),FilterFlatTaxaFirstLetterRenderer}(PE),OE=function(){function BulkCommandExtenderBase(){(0,i.Z)(this,BulkCommandExtenderBase)}return(0,o.Z)(BulkCommandExtenderBase,[{key:"getEntityDatasForBulkOperation",value:function getEntityDatasForBulkOperation(e){return[e]}},{key:"getFilterByParentQuery",value:function getFilterByParentQuery(e,t,n){return t.eq(e.metadata.parentIdProperty,n)}},{key:"tryHandleCommand",value:function tryHandleCommand(e,t){return null}},{key:"getAdditionalFieldNames",value:function getAdditionalFieldNames(e){return[]}}]),BulkCommandExtenderBase}(),zE=n(195),_E=function(e){(0,f.Z)(TextAreaSettings,e);var t=(0,p.Z)(TextAreaSettings);function TextAreaSettings(){var e;return(0,i.Z)(this,TextAreaSettings),(e=t.apply(this,arguments)).kind=Op.z4,e}return(0,o.Z)(TextAreaSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(TextAreaSettings.prototype),"init",this).call(this,e)}},{key:"getValidators",value:function getValidators(e){var t=(0,Re.Z)((0,Qe.Z)(TextAreaSettings.prototype),"getValidators",this).call(this,e);if(e.hasOwnProperty(Ie.PL)&&t.push(Tc.L[Tc.v.MIN_LENGTH](e[Ie.PL])),e.hasOwnProperty(Ie.Zq)&&t.push(ze.kI.maxLength(e[Ie.Zq])),e.hasOwnProperty(Ie.uX)){var n=new RegExp(e[Ie.uX],"g");t.push(ze.kI.pattern(n))}return t}}]),TextAreaSettings}(j.P1),VE={writeComponent:Gc,readComponent:Zc,gridComponent:Jd,settingsType:_E},GE="Name",HE="Synonyms",ZE=["Id","Title",h.E.URL_NAME,HE],YE="inline",jE="bulkEditTaxon",WE=function(){function BulkEditTaxonCommand(e,t){(0,i.Z)(this,BulkEditTaxonCommand),this.modalWindowService=e,this.dynamicItemStore=t,this.executeOnceInBulk=!0,this.items=[],this.result=new re.t(1)}return(0,o.Z)(BulkEditTaxonCommand,[{key:"execute",value:function execute(e){var t=this;this.route=e.currentRoute;var n=e.data.entityData,i=fe.getOperationPluralName(e.data.entityData.metadata,e.data.action.contextParameters).toLowerCase();if(this.itemSelectionInfo.allItemsSelected)this.getItems(n).subscribe((function(e){t.getComponentData(e.dataItems,n,i)}));else{var o=this.sortSelectedItems();this.getComponentData(o,n,i)}return this.result.asObservable()}},{key:"onSaveClicked",value:function onSaveClicked(e,t,n){var i,o=this,a=new re.t(1),r=[];e.items.forEach((function(e){var n=o.getDirtyFields(e.form);if(n.length>0){var i={Id:e.key};n.forEach((function(t){t===GE?i.Title=e.form.controls[t].value:i[t]=e.form.controls[t].value}));var a={dataItem:t.find((function(t){return t.key===e.key})),data:i,doNotRefreshItem:!0};r.push(a)}}));var s=this.dynamicItemStore.service.updateItemsWithBulkOperationResult(r,n).pipe((0,w.U)((function(e){i=e})));return s?s.subscribe(null,(function(e){o.result.error("An error occured while trying to update items.")}),(function(){a.next(new ki.DQ(i,!0))})):a.next(new ki.DQ(!1,!0)),a}},{key:"sortSelectedItems",value:function sortSelectedItems(){var e=this,t=Array.from(this.itemSelectionInfo.selectedItems);return 0===this.itemSelectionInfo.nodesPositions.size?t.map((function(e){return e[1]})):t.sort((function(t,n){var i=e.itemSelectionInfo.nodesPositions.get(t[0]),o=e.itemSelectionInfo.nodesPositions.get(n[0]);return void 0===i?-1:void 0===o?1:i-o})).map((function(e){return e[1]}))}},{key:"getDirtyFields",value:function getDirtyFields(e){var t=[];return Object.keys(e.controls).forEach((function(n){e.controls[n].dirty&&t.push(n)})),t}},{key:"getComponentData",value:function getComponentData(e,t,n){var i=this,o=new E.qp(new E.JP),a=[];e.forEach((function(e){if(e.isTranslated){var n=i.generateFields(t),r=n.find((function(e){return e.key===GE}));r.value=e.data.Title,r.settings.instructionalText=o.transform(e.data.Breadcrumb,!1,!0),n.find((function(e){return e.key===h.E.URL_NAME})).value=e.data.UrlName,n.find((function(e){return e.key===HE})).value=e.data.Synonyms;var s={form:new ze.cw({}),fields:n,key:e.key};s.form.controls.Name=new ze.NI(e.data.Title),s.form.controls[h.E.URL_NAME]=new ze.NI(e.data.UrlName),s.form.controls.Synonyms=new ze.NI(e.data.Synonyms),a.push(s)}}));var r={type:Pl,properties:{type:n,entityData:t,items:a,parentComponent:this}},s=[];a.length>0&&(s.push(new ki.pu($.Oi.saveChanges,(function(n){return i.onSaveClicked(n.component,e,t)}))),s.push(new ki.Lw));var l=new ki.np(r,(function(e){var t=e.data;t&&t.data&&(t.data.failedItemsIds.length>0||t.data.succeededItemsIds.length>0)?i.result.next(t.data):i.result.next({success:!1})}),s,null,"-bottom");this.modalWindowService.setMapping(l,jE),this.modalWindowService.open(this.route,jE)}},{key:"generateFields",value:function generateFields(e){var t=new Op.dT(v.WP.EMPTY_STRING,!1);t.init(e.metadata),t.look="inline large",t.required=!0;var n=new jo.W({key:GE,selector:Y.U.shortText,settings:t,registration:Pe.T5}),i=new zE.ke(v.WP.EMPTY_STRING,!1);i.init(e.metadata),i.title=v.WP.EMPTY_STRING,i.required=!0,i.look=YE;var o=new jo.W({key:h.E.URL_NAME,selector:Y.U.shortText,settings:i,registration:Pe.T5}),a=new _E(v.WP.EMPTY_STRING,!1);return a.init(e.metadata),a.look="inline short",a.required=!1,a.placeholder="add synonyms...",[n,o,new jo.W({key:HE,selector:Y.U.textArea,settings:a,registration:VE})]}},{key:"getItems",value:function getItems(e){var t=this.route.snapshot.queryParams[g.Tx.SORT],n=this.route.parent.snapshot.params[g.UY.PARENT_ID_SEGMENT]||null,i={entityData:e,query:(0,ir.r)().where().eq(e.metadata.parentIdProperty,n).done(),dataFieldNames:ZE,order:t,skip:null,take:0,action:null,fallbackProperties:[e.metadata.defaultFieldName]};return this.dynamicItemStore.getItemList(i)}}]),BulkEditTaxonCommand}();WE.ctorParameters=function(){return[{type:ki.bL},{type:ga}]},WE=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,ga])],WE);var JE=function(e){(0,f.Z)(TaxonomyBulkCommandExtender,e);var t=(0,p.Z)(TaxonomyBulkCommandExtender);function TaxonomyBulkCommandExtender(e,n){var o;return(0,i.Z)(this,TaxonomyBulkCommandExtender),(o=t.call(this)).modalService=e,o.dynamicItemStore=n,o}return(0,o.Z)(TaxonomyBulkCommandExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.setName===u.gl.CLASSIFICATIONS||e.metadata.setName===u.gl.FLAT_TAXA||e.metadata.setName===u.gl.HIERARCHY_TAXA}},{key:"tryHandleCommand",value:function tryHandleCommand(e,t){if(e.name===$.q.bulkEditProperties){var n=new WE(this.modalService,this.dynamicItemStore);return n.itemSelectionInfo=t.bulkItemSelectionInfo,n}return null}}]),TaxonomyBulkCommandExtender}(OE);JE.ctorParameters=function(){return[{type:ki.bL},{type:ga}]},JE=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,ga])],JE);var qE={multi:!0,provide:fb,useClass:JE},XE=(0,o.Z)((function TaxonomyModule(){(0,i.Z)(this,TaxonomyModule)}));XE=(0,a.gn)([(0,l.LVF)({declarations:[qy,$y,AE,gE,vE,EE,FE,UE],imports:[cf,ze.u5,Ut.ez],providers:[{provide:PE,useClass:LE,multi:!0},wg,DE,wE,qE],exports:[qy,$y,AE,gE,vE,EE,FE]})],XE);var KE=n(631),$E=function(e){(0,f.Z)(ParentSelectorReadonlyComponent,e);var t=(0,p.Z)(ParentSelectorReadonlyComponent);function ParentSelectorReadonlyComponent(){return(0,i.Z)(this,ParentSelectorReadonlyComponent),t.apply(this,arguments)}return(0,o.Z)(ParentSelectorReadonlyComponent,[{key:"ngOnInit",value:function ngOnInit(){this.parentName=this.value,this.settings.dataItem&&this.settings.dataItem.metadata.isMedia&&(this.parentName=this.settings.dataItem.data.LibraryTitle)}}]),ParentSelectorReadonlyComponent}(Z.F);$E=(0,a.gn)([(0,l.wA2)({selector:"sf-dropdown-selector-readonly",template:KE})],$E);var eI=(0,o.Z)((function ParentSelectorModule(){(0,i.Z)(this,ParentSelectorModule)}));eI=(0,a.gn)([(0,l.LVF)({declarations:[fE,$E],imports:[Ut.ez,cf,ze.u5,XE],exports:[fE,$E]})],eI);var tI=n(632),nI=[(0,Oe.ru)([(0,Oe.IO)(":enter",[(0,Oe.oB)({transform:"translateX(0)"}),(0,Oe.jt)(At,(0,Oe.oB)({transform:"translateX(-100%)"}))],{optional:!0}),(0,Oe.IO)(":leave",[(0,Oe.oB)({transform:"translateX(0)"}),(0,Oe.jt)(At,(0,Oe.oB)({transform:"translateX(-100%)"}))],{optional:!0})])],iI=[(0,Oe.ru)([(0,Oe.IO)(":enter",[(0,Oe.oB)({transform:"translateX(-100%)"}),(0,Oe.jt)(At,(0,Oe.oB)({transform:"translateX(0)"}))],{optional:!0}),(0,Oe.IO)(":leave",[(0,Oe.oB)({transform:"translateX(-100%)"}),(0,Oe.jt)(At,(0,Oe.oB)({transform:"translateX(0)"}))],{optional:!0})])],oI=[(0,Oe.IO)(":enter",[(0,Oe.oB)({transform:"translateY(-100%)"}),(0,Oe.jt)(At,(0,Oe.oB)({transform:"translateY(0)"}))],{optional:!0})],aI=[(0,Oe.IO)(":leave",[(0,Oe.oB)({transform:"translateY(0)"}),(0,Oe.jt)(At,(0,Oe.oB)({transform:"translateY(-100%)"}))],{optional:!0})],rI=[(0,Oe.X$)("fadeIn",[(0,Oe.SB)("hidden",(0,Oe.oB)({opacity:0})),(0,Oe.SB)("visible",(0,Oe.oB)({opacity:1})),(0,Oe.eR)("hidden => visible",[(0,Oe.jt)("200ms ease")])])];function isAnimationTypeRightToLeft(e,t){return e===uo&&t===fo}function isAnimationTypeLeftToRight(e,t){return e===fo&&t===uo}function isAnimationTypeToTop(e,t){return e===uo&&t===yo||e===fo&&t===Eo||e===fo&&t===bo}var sI="hidden",lI="visible",cI=function(){function ContextualHelpService(){(0,i.Z)(this,ContextualHelpService),this._onLoad=new Ft.xQ}return(0,o.Z)(ContextualHelpService,[{key:"onLoad",get:function get(){return this._onLoad.asObservable()}},{key:"triggerLoad",value:function triggerLoad(){this._onLoad.next({})}}]),ContextualHelpService}();cI=(0,a.gn)([(0,l.GSi)()],cI);var dI="sfInitialAdminAppLoading",uI=function(e){(0,f.Z)(AppComponent,e);var t=(0,p.Z)(AppComponent);function AppComponent(e,n,o,a,r,s,l){var c;if((0,i.Z)(this,AppComponent),(c=t.call(this)).contextualHelpService=e,c.compositeThemeProvider=n,c.authService=o,c.userPreferencesService=a,c.router=r,c.document=s,c.envService=l,c.compositeThemeProvider.applyTheme(),c.initializePreferences(),c.router.events){var u=c.router.events.pipe((0,Bi.h)((function(e){return e instanceof m.m2||e instanceof m.OD}))).subscribe((function(e){if(e instanceof m.m2&&c.showSitefinityHeader(),e instanceof m.m2&&e.urlAfterRedirects.includes("".concat(So.ROOT_PREFIX,"/"))&&(!e.urlAfterRedirects.includes("".concat(So.PAGES,"/"))||!e.urlAfterRedirects.includes("/Action/Edit"))&&(!e.urlAfterRedirects.includes("".concat(So.TEMPLATES,"/"))||!e.urlAfterRedirects.includes("/templates/Template/"))&&!e.urlAfterRedirects.includes("".concat(So.CONTENT,"/").concat(wo,"/"))){(0,d.Ph)(!0);var t=c.document.querySelector("form#aspnetForm");t&&(t.onsubmit=function(){return!1})}c.envService.getEnvironment()!==_t.H.integration&&(0,d.Ph)(!0)}));c.registerSubscription(u)}return c}return(0,o.Z)(AppComponent,[{key:"showSitefinityHeader",value:function showSitefinityHeader(){var e=this.document.querySelector(".".concat(dI));e&&e.classList&&e.classList.contains(dI)&&e.classList.remove(dI)}},{key:"prepareRouteTransition",value:function prepareRouteTransition(e){return(e.activatedRouteData.animation||{}).value||null}},{key:"ngAfterViewChecked",value:function ngAfterViewChecked(){this.contextualHelpService.triggerLoad()}},{key:"animationStarted",value:function animationStarted(){this.isAnimating=!0}},{key:"animationDone",value:function animationDone(){this.isAnimating=!1}},{key:"initializePreferences",value:function initializePreferences(){var e=this;this.authService.loggedIn.subscribe((function(t){t&&e.userPreferencesService.checkAccessibility()}))}}]),AppComponent}(E.zu);uI.ctorParameters=function(){return[{type:cI},{type:Mf},{type:gf.e},{type:Gv},{type:m.F0},{type:Document,decorators:[{type:l.tBr,args:[Se]}]},{type:zt.L}]},uI=(0,a.gn)([(0,l.wA2)({selector:"sf-app",template:tI,animations:[(0,Oe.X$)("routerAnimations",[(0,Oe.eR)(isAnimationTypeRightToLeft,nI),(0,Oe.eR)(isAnimationTypeLeftToRight,iI),(0,Oe.eR)(isAnimationTypeToTop,aI)])]}),(0,a.w6)("design:paramtypes",[cI,Mf,gf.e,Gv,m.F0,Document,zt.L])],uI);var fI=n(633),pI=n(634),AI=n(635),mI=n(636),gI=function(){function EmbedMediaComponent(e,t){(0,i.Z)(this,EmbedMediaComponent),this.compositeEmbedMediaParser=e,this.window=t,this.autofocus=!1,this.timeoutId=-1,this.hasLoaded=!1,this.media=new Zt}return(0,o.Z)(EmbedMediaComponent,[{key:"width",get:function get(){return this.media.width},set:function set(e){this.updateMediaHost("width",e)}},{key:"height",get:function get(){return this.media.height},set:function set(e){this.updateMediaHost("height",e)}},{key:"value",get:function get(){return this.valueInstance},set:function set(e){var t=this;this.window.clearTimeout(this.timeoutId),this.timeoutId=this.window.setTimeout((function(){for(;t.preview.nativeElement.firstChild;)t.preview.nativeElement.removeChild(t.preview.nativeElement.firstChild);var n=e.trim();t.trySetEmbedMedia(n,!1).then((function(i){i?t.valueInstance=n:(t.valueInstance=n===v.WP.EMPTY_STRING?null:e,t.preview.nativeElement.innerHTML=v.WP.EMPTY_STRING)}))}),1e3)}},{key:"isValid",get:function get(){return this.media.isValid}},{key:"placeholder",get:function get(){return"Paste embed code from Twitter, Youtube, Vimeo, SoundCloud, etc."}},{key:"errorMessages",get:function get(){if(!this.isValid&&this.value&&this.hasLoaded)return new Array("Entered embed code is not supported")}},{key:"title",get:function get(){return this.media.title},set:function set(e){this.updateMediaHost("title",e)}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.selectedImmutable&&this.trySetEmbedMedia(this.selectedImmutable.outerHTML).then((function(){return e.autofocus=!0}))}},{key:"getEmbedMediaHtml",value:function getEmbedMediaHtml(){var e=this.media.width.value,t=this.media.height.value;return this.compositeEmbedMediaParser.getMediaHtml(this.media,e,t,this.css)}},{key:"wrapEmbedMedia",value:function wrapEmbedMedia(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=new DOMParser,i=n.parseFromString(e,v.Fq.HTML),o=i.querySelector("[".concat(_e.SF_IMMUTABLE,"]"));return t?ht(o.outerHTML):o.outerHTML}},{key:"trySetEmbedMedia",value:function trySetEmbedMedia(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.parseEmbedMedia(e,n).then((function(e){return e.isValid&&t.loadMedia(),t.media=e,t.hasLoaded=!0,e.isValid}))}},{key:"parseEmbedMedia",value:function parseEmbedMedia(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.css=this.getCssText(e)||this.css,this.compositeEmbedMediaParser.parse(e).then((function(e){return e.isValid?(t.preview.nativeElement.innerHTML=v.WP.EMPTY_STRING,e.type!==Gt.Tweet&&(e.height.hasValue=e.height.hasValue||n,e.width.hasValue=e.width.hasValue||n),e.html&&(t.preview.nativeElement.innerHTML=e.html,n&&(t.valueInstance=t.compositeEmbedMediaParser.getValue(e.html))),e):e}))}},{key:"getCssText",value:function getCssText(e){var t=(new DOMParser).parseFromString(e,v.Fq.HTML).querySelector("[".concat(_e.SF_IMMUTABLE,"]"));if(t)return t.style.removeProperty("width"),t.style.removeProperty("height"),t.style.removeProperty("position"),t.style.removeProperty("z-index"),t.style.cssText}},{key:"loadMedia",value:function loadMedia(){this.compositeEmbedMediaParser.initEmbeddedData()}},{key:"updateMediaHost",value:function updateMediaHost(e,t){var n=this.compositeEmbedMediaParser.getMediaFromElement(this.preview.nativeElement);n&&(this.compositeEmbedMediaParser.updateMediaElement(n,e,t),this.media.type!==Gt.Tweet&&(this.valueInstance=this.compositeEmbedMediaParser.getValue(n.outerHTML),this.media.html=n.outerHTML),this.media[e].value=t)}}]),EmbedMediaComponent}();gI.ctorParameters=function(){return[{type:jt},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},gI.propDecorators={selectedImmutable:[{type:l.IIB}],preview:[{type:l.i9L,args:["preview",{static:!0}]}]},gI=(0,a.gn)([(0,l.wA2)({selector:"sf-embed-media",template:mI}),(0,a.w6)("design:paramtypes",[jt,Window])],gI);var hI=n(637),vI=n(638),bI={base:"vs",inherit:!0,rules:[{token:"comment",foreground:"aa5500"},{token:"tag",foreground:"117700"}]},yI={format:{wrapLineLength:0}},EI={value:"",language:"html",validate:!0,lineNumbers:!0,scrollBeyondLastLine:!1,readOnly:!1,wordWrap:"on",wrappingIndent:"indent",theme:"customTheme",renderLineHighlight:"none",matchBrackets:!1,renderIndentGuides:!1,minimap:{enabled:!1},fontFamily:"Open Sans",scrollbar:{useShadows:!1,verticalScrollbarSize:8,verticalSliderSize:8}},II=n(639),wI=function(){function ViewCodeComponent(e,t,n){(0,i.Z)(this,ViewCodeComponent),this.windowProvider=e,this.documentProvider=t,this.urlService=n,this.isLoading$=new he.X(!1),this.animationState=sI,this.isAmdDefined=!0}return(0,o.Z)(ViewCodeComponent,[{key:"value",get:function get(){return this.monacoEditor.getValue()}},{key:"ngOnInit",value:function ngOnInit(){var e=this.windowProvider;this.isAmdDefined=e.define&&e.define.amd instanceof Object,e.define&&!this.isAmdDefined&&(e.define.amd={jQuery:!0}),this.loadMonaco()}},{key:"ngOnDestroy",value:function ngOnDestroy(){var e=this.windowProvider;e.define&&!this.isAmdDefined&&(e.define.amd=null)}},{key:"onResize",value:function onResize(){this.recalculateLayout()}},{key:"loadMonaco",value:function loadMonaco(){var e=this;this.isLoading$.next(!0);var t=this.urlService.getResourceUrl("/assets/js/monaco-editor/vs"),n=this.windowProvider;n.require.config({paths:{vs:t}}),n.require(["vs/editor/editor.main"],(function(){e.initMonacoEditor(monaco)}))}},{key:"initMonacoEditor",value:function initMonacoEditor(e){e&&(e.editor.defineTheme("customTheme",bI),e.languages.html.htmlDefaults.setOptions(yI),this.source=(0,II.html_beautify)(this.source,yI.format),EI.value=this.source,this.monacoEditor=e.editor.create(this.documentProvider.getElementById("monaco-editor"),EI),this.recalculateLayout(),this.isLoading$.next(!1),this.animationState=lI)}},{key:"recalculateLayout",value:function recalculateLayout(){var e={width:this.documentProvider.body.clientWidth,height:window.innerHeight-56};this.monacoEditor&&this.monacoEditor.layout(e)}}]),ViewCodeComponent}();wI.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Document,decorators:[{type:l.tBr,args:[Se]}]},{type:Ot}]},wI.propDecorators={source:[{type:l.IIB}],onResize:[{type:l.L6J,args:["window:resize"]}]},wI=(0,a.gn)([(0,l.wA2)({selector:"sf-view-code",template:hI,encapsulation:l.ifc.None,animations:[rI],styles:[vI]}),(0,a.w6)("design:paramtypes",[Window,Document,Ot])],wI);var kI="-upload-progress",xI="-sf-txt-failure",CI="sf-media",SI="false",BI="sf-media__progress",DI="Wrapper",TI="sf-media__remove sf-button -small -circle -icon",MI="sf-icon sf-fa sf-fa-times -normal -size-m sf-button__icon -left -sf-disabled",NI="data",FI=function(){function ImageHelper(){(0,i.Z)(this,ImageHelper)}return(0,o.Z)(ImageHelper,[{key:"selectedImage",get:function get(){return this._selectedImage}},{key:"createImage",value:function createImage(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=document.createElement(ot.IMAGE_ELEMENT);i.src=e.Url||(0,d.Fm)(e.dataUrl)||e.content,i.setAttribute(LI,e.TotalSize||e.total),i.setAttribute(_e.SF_IMMUTABLE,v.WP.EMPTY_STRING);var o=e.AlternativeText||(e.data?e.data.AlternativeText:null);if(i.alt=o||v.WP.EMPTY_STRING,t){var a=document.createElement(ot.DIV_ELEMENT),r=document.createElement(ot.DIV_ELEMENT),s=document.createElement(ot.PROGRESS_ELEMENT),l=document.createElement(ot.BUTTON_ELEMENT),c=document.createElement(ot.ICON_ELEMENT);return a.id=DI+n,a.contentEditable=SI,r.classList.add(CI,kI),s.classList.add(BI),s.id=n,s.max=100,s.value=0,l.className=TI,l.setAttribute(NI,DI+n),c.className=MI,l.appendChild(c),r.appendChild(i),r.appendChild(s),r.appendChild(l),a.appendChild(r),ht(a.outerHTML)}return i.outerHTML}},{key:"handleImageFailedUpload",value:function handleImageFailedUpload(e){var t=document.createElement(ot.DIV_ELEMENT);t.innerText=e.errorMessage,t.classList.add(xI);var n=document.getElementById(e.imageId);n.classList.add("-failure"),n.parentElement.parentElement.appendChild(t)}},{key:"handleImageSuccessUpload",value:function handleImageSuccessUpload(e){var t=e.parentElement,n=t.parentElement,i=t.querySelector(ot.BUTTON_ELEMENT),o=t.querySelector(ot.PROGRESS_ELEMENT);t.removeChild(i),t.removeChild(o),vt(n),this.unwrap(n),this.unwrap(t)}},{key:"unwrap",value:function unwrap(e){for(var t=document.createDocumentFragment();e.firstChild;){var n=e.removeChild(e.firstChild);t.appendChild(n)}e.parentNode.replaceChild(t,e)}},{key:"getRandomStringId",value:function getRandomStringId(e){var t=Math.random();return e&&(t=e+t),t.toString().replace(".","").replace(" ","")}},{key:"onSelectionChange",value:function onSelectionChange(e){e instanceof HTMLImageElement&&(this._selectedImage=e)}},{key:"onEditDone",value:function onEditDone(e,t){var n=e.find((function(e){return e.key===RI})),i=e.find((function(e){return e.key===QI})),o=e.find((function(e){return e.key===UI}));this.selectedImage.alt=n.value;var a=this.getThumbnailUrl(this.selectedImage.src,VI,t);if(i.value.thumbnailValue===OI){this.handleImageSizeAttributeAddition("width",i.value.width),i.value.constrainProportions?this.handleImageSizeAttributeRemoval("height"):this.handleImageSizeAttributeAddition("height",i.value.height);var r=document.createAttribute(zI);r.value="true",this.selectedImage.attributes.setNamedItem(r);var s=document.createAttribute(_I);s.value=i.value.constrainProportions,this.selectedImage.attributes.setNamedItem(s)}else this.handleImageSizeAttributeRemoval(zI),this.handleImageSizeAttributeRemoval(_I),this.handleImageSizeAttributeRemoval("width"),this.handleImageSizeAttributeRemoval("height"),a=this.getThumbnailUrl(this.selectedImage.src,i.value.thumbnailValue,t);if(o&&o.value){var l=bt(this.selectedImage)?this.selectedImage.parentElement:this.selectedImage;Object.keys(o.value).forEach((function(e){l.style[e]=o.value[e]}))}this.selectedImage.src=a}},{key:"determineConstrainProportions",value:function determineConstrainProportions(e){var t=e.attributes.getNamedItem(_I);return!t||"true"===t.value}},{key:"determineThumbnailId",value:function determineThumbnailId(e,t){if(e.attributes.getNamedItem(zI))return OI;var n=t.find((function(e){return!0===e.Selected}));return n?n.Name:VI}},{key:"determineScaledValue",value:function determineScaledValue(e,t,n){if(e){var i=e/t;return Math.round(n*i)}return null}},{key:"transformThumbnailsToChoices",value:function transformThumbnailsToChoices(e){var t=[];return e.forEach((function(e){t.push({Name:e.Title,Value:e.Name})})),t.push({Name:HI,Value:OI}),t}},{key:"getThumbnailUrl",value:function getThumbnailUrl(e,t,n){var i=n.find((function(e){return e.Name===t}));return i||(i=n.find((function(e){return e.Name===VI}))),i.Url}},{key:"handleImageSizeAttributeAddition",value:function handleImageSizeAttributeAddition(e,t){t?this.selectedImage[e]=t:this.selectedImage.attributes.getNamedItem(e)&&this.selectedImage.attributes.removeNamedItem(e)}},{key:"handleImageSizeAttributeRemoval",value:function handleImageSizeAttributeRemoval(e){this.selectedImage.attributes.getNamedItem(e)&&this.selectedImage.attributes.removeNamedItem(e)}}]),ImageHelper}();FI=(0,a.gn)([(0,l.GSi)()],FI);var PI,RI="AlternativeText",QI="ImageThumbnail",UI="ImageMargins",LI="sf-size",OI="custom",zI="sf-custom-thumbnail",_I="sf-constrain-proportions",VI="original",GI="px",HI="Custom size...",ZI="marginTop",YI="marginRight",jI="marginBottom",WI="marginLeft",JI="linkModel",qI="textToDisplay",XI="Example: Sitefinity",KI="shouldOpenInNewWindow",$I="anchor",ew="queryParams",tw="tooltip",nw="Anchor",iw="E.g. FAQ-list",ow="size-xs",aw="left",rw="Insert link to anchor already added in the text.",sw="Query parameters",lw="E.g. search=FAQ&mobile=true",cw="Insert set of parameters to be attached to the end of the URL.",dw="Tooltip",uw="Appears when the cursor is pointed to the link.",fw="Link to...",pw="Type URL or email...",Aw="Text to display",mw="Open this link in a new window",gw="mailto:",hw=function(){function CreateLinkHelper(){(0,i.Z)(this,CreateLinkHelper)}return(0,o.Z)(CreateLinkHelper,[{key:"buildLink",value:function buildLink(e){var t=document.createElement("a");this.setLinkAttributes(t,e),e.textToDisplay?t.innerText=e.textToDisplay:t.innerText=v.WP.EMPTY_STRING,t.setAttribute(_e.SF_IMMUTABLE,v.WP.EMPTY_STRING);var n=t.outerHTML,i=e.textToDisplay?e.textToDisplay:v.WP.EMPTY_STRING;return t.innerText!==i&&(n=t.outerHTML.replace(t.innerHTML,e.textToDisplay)),e.htmlToDisplay&&(t.innerHTML=e.htmlToDisplay,n=t.outerHTML),e.shouldOpenInNewWindow||(n=t.outerHTML.replace('target="'.concat(v.yX,'"'),null)),n}},{key:"setLinkAttributes",value:function setLinkAttributes(e,t){var n=!!t.linkModel.contentItemModel?t.linkModel.contentItemModel.sfLink:{href:t.linkModel.href,sfref:null};e.href=this.getLinkWithProtocol(t.linkModel),e.removeAttribute(ut),n.sfref&&e.setAttribute(ut,n.sfref),t.attributes&&t.attributes.length>0&&t.attributes.forEach((function(t){return e.setAttribute(t.key,t.value)})),this.setQueryParamsAndAnchor(t,e),this.setTooltip(t,e),this.setTarget(t,e)}},{key:"getWrappedLinkText",value:function getWrappedLinkText(e,t){var n=document.createElement(ot.DIV_ELEMENT);return n.innerHTML=e,n.innerText===t?e:t}},{key:"shouldSetHtml",value:function shouldSetHtml(e,t){var n=document.createElement(ot.DIV_ELEMENT);return n.innerHTML=e,n.innerText===t}},{key:"desctructureLink",value:function desctructureLink(e){var t,n,i=e.indexOf(v.WP.HASH),o=e.indexOf(v.WP.QUESTION_MARK);return 0===e.indexOf(gw)?(e=e.substring(gw.length),t=v.WP.EMPTY_STRING,n=v.WP.EMPTY_STRING):-1!==o?-1!==i?(n=e.substring(o+1,i),t=e.substring(i+1)):(n=e.substring(o+1),t=v.WP.EMPTY_STRING):-1!==i?t=e.substring(i+1):(t=v.WP.EMPTY_STRING,n=v.WP.EMPTY_STRING),{elementLink:e,elementAnchor:t,elementQueryParams:n}}},{key:"setTarget",value:function setTarget(e,t){e[KI]&&(t.target=v.yX)}},{key:"setQueryParamsAndAnchor",value:function setQueryParamsAndAnchor(e,t){this.clearQueryParamsAndAnchor(e,t);var n="",i="";if(e[ew]){var o=v.WP.QUESTION_MARK;e[ew][0]===o&&(o=v.WP.EMPTY_STRING),i="".concat(o).concat(e.queryParams)}if(e[$I]){var a=v.WP.HASH;e[$I][0]===a&&(a=v.WP.EMPTY_STRING),n="".concat(a).concat(e.anchor)}if(n||i){var r=e.linkModel.href?t.href:v.WP.EMPTY_STRING;t.href="".concat(r).concat(i).concat(n)}}},{key:"clearQueryParamsAndAnchor",value:function clearQueryParamsAndAnchor(e,t){if(e.queryParams||e.anchor)if(t.href.includes(v.WP.QUESTION_MARK)){var n=t.href.indexOf(v.WP.QUESTION_MARK);t.href=t.href.substring(0,n)}else if(t.href.includes(v.WP.HASH)){var i=t.href.indexOf(v.WP.HASH);t.href=t.href.substring(0,i)}}},{key:"setTooltip",value:function setTooltip(e,t){e.tooltip&&(t.title=e.tooltip)}},{key:"getLinkWithProtocol",value:function getLinkWithProtocol(e){return e.linkType===Zp?"".concat("http://").concat(e.href):e.linkType===Yp?"".concat(gw).concat(e.href):e.href}}]),CreateLinkHelper}();hw=(0,a.gn)([(0,l.GSi)()],hw);var vw="data-sf-marked",bw=PI=function(e){(0,f.Z)(HtmlComponent,e);var t=(0,p.Z)(HtmlComponent);function HtmlComponent(e,n,o,a,r,s,c,d,u){var f;return(0,i.Z)(this,HtmlComponent),(f=t.call(this)).modalService=e,f.editMenuProvider=n,f.route=o,f.elementRef=a,f.renderer=r,f.imageHelper=s,f.createLinkHelper=c,f.windowProvider=d,f.documentProvider=u,f.imageInsertClick=new l.vpe,f.documentInsertEditClick=new l.vpe,f.linkInsertClick=new l.vpe,f.editImageLinkClick=new l.vpe,f.cancelUpload=new l.vpe,f.retryUpload=new l.vpe,f.imageEdit=new l.vpe,f.valueChagned=new l.vpe,f.isKeyDown=!1,f.toolsetPositionParams={},f.hasEditMenuButtons=!1,f.closeOnContentClick=!1,f.placeholderText="Add content",f.isReady=!1,f.customTools=new Array,f.isMainHtmlField=!1,f.isEditMenuClicked=!1,f.addCustomTools(),f.editMenuButtons=new re.t(1),f}return(0,o.Z)(HtmlComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.settings&&(this.isMainHtmlField=this.settings.showTitle&&!this.settings.visibleTitle),this.setLoaderHeight(),this.settings&&(!this.settings.title||this.settings.showTitle&&!this.isMainHtmlField?this.settings.placeholder&&(this.placeholderText=this.settings.placeholder):this.placeholderText=this.settings.title);var t=this.editor.isReady$.pipe((0,Cn._)(),Dn(g.gn)).subscribe((function(t){t.isLoading||(e.isReady=!0)}));this.registerSubscription(t)}},{key:"onResize",value:function onResize(){this.elementRef.nativeElement.querySelectorAll("[".concat(_e.SF_IMMUTABLE,"]"))&&this.deselectSfImmutables()}},{key:"onFocus",value:function onFocus(){(0,Re.Z)((0,Qe.Z)(HtmlComponent.prototype),"onFocus",this).call(this),this.editor.focus()}},{key:"onSelect",value:function onSelect(e){if(this.toolsetPositionParams.mousePosition=e.mousePosition,this.toolsetPositionParams.parentPosition=e.parentPosition,e.selectedElement){var t;if(e.selectedElement.attributes&&(t=!!e.selectedElement.attributes[_e.SF_IMMUTABLE]),!t){var n=e.selectedElement.closest("[".concat(_e.SF_IMMUTABLE,"]"));e.selectedElement=n,t=!!n}if(!t)return void this.deselectSfImmutables();this.selectedImmutable!==e.selectedElement&&(this.deselectSfImmutables(),this.renderer.addClass(e.selectedElement,_e.SF_IMMUTABLE_SELECTED),this.selectedImmutable=e.selectedElement,this.imageHelper.onSelectionChange(this.selectedImmutable),this.processImmutableSelection()),this.hasEditMenuButtons&&this.setPositionToolsetParams(this.selectedImmutable)}else this.deselectSfImmutables()}},{key:"writeValue",value:function writeValue(e,t){var n=null===this.value||void 0===this.value||this.initialValue===e;(n||t)&&(n&&(this.initialValue=e),e=this.editor.preProcessValue(e)),(0,Re.Z)((0,Qe.Z)(HtmlComponent.prototype),"writeValue",this).call(this,e),this.valueChagned.emit(e),typeof this.isValueEmpty===v.WP.TYPE_UNDEFINED?this.isValueEmpty=null===e||e===v.WP.EMPTY_STRING:null!==e&&e!==v.WP.EMPTY_STRING||(this.isValueEmpty=!0,this.setLoaderHeight())}},{key:"onBlur",value:function onBlur(){(0,Re.Z)((0,Qe.Z)(HtmlComponent.prototype),"onBlur",this).call(this),!this.selectedImmutable&&this.isEditMenuClicked||this.deselectSfImmutables(),this.isEditMenuClicked=!1,this.onTouchedCallback()}},{key:"handleClickOutside",value:function handleClickOutside(){this.selectedImmutable=null,this.onBlur()}},{key:"onKeydown",value:function onKeydown(e){this.isKeyDown=!0;var t=e.code,n=-1!==navigator.appVersion.indexOf(gs)?e.metaKey:e.ctrlKey;switch(t){case n&&xs:e.preventDefault(),this.onImageInsert();break;case n&&Cs:e.preventDefault(),this.onCreateLinkClick();break;case n&&Ss:e.preventDefault(),this.onDocumentInsertEdit()}var i=this.getSelectedImmutable();if(this.selectedImmutable=i,i){switch(t){case n&&Fs:this.deselectSfImmutables(),this.editor.delete(i),e.preventDefault();break;case ys:case bs:this.deselectSfImmutables(),this.editor.delete(i)}Object.values(hs).find((function(e){return e===t}))||this.deselectSfImmutables()}}},{key:"onKeyup",value:function onKeyup(e){this.isKeyDown=!1}},{key:"onImageInsertViewClosed",value:function onImageInsertViewClosed(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.editor.shouldFocusEditor=!0,e){this.immutableToBeRemoved&&this.immutableToBeRemoved.remove();var n=this.currentEditorRange;if(e.failure)return this.imageHelper.handleImageFailedUpload(e),void this.editor.triggerUserValueChanged();if(t){this.editor.setCurrentRange(n);var i=this.imageHelper.createImage(e);return this.editor.insertUncleanedHtml(i),void this.editor.triggerUserValueChanged()}if(0===e.loaded){this.editor.setCurrentRange(n);var o=this.imageHelper.createImage(e,!0,e.imageId);this.editor.insertUncleanedHtml(o),this.editor.triggerUserValueChanged()}else{var a=this.documentProvider.getElementById(e.imageId);if(e.Url){var r=a.parentElement.querySelector(ot.IMAGE_ELEMENT);r.setAttribute("src",e.Url),this.imageHelper.handleImageSuccessUpload(r),this.editor.inserthtml(v.WP.EMPTY_STRING),this.editor.removeUndoRedoCommand(e.imageId,r.outerHTML),this.editor.triggerUserValueChanged(!1)}else a.setAttribute("value","".concat((e.loaded/e.total*100).toFixed(0)))}}}},{key:"onDocumentInsertDialogClosed",value:function onDocumentInsertDialogClosed(e,t){if(this.deselectSfImmutables(),e&&e.title){this.editor.setCurrentRange(this.currentEditorRange);var n=document.createElement(ot.ANCHOR_ELEMENT);n.innerText=e.title,n.setAttribute(_e.SF_IMMUTABLE,v.WP.EMPTY_STRING),n.setAttribute(_e.SF_IMMUTABLE_DOCUMENT,"".concat(!0)),n.setAttribute(lt,e.data.Url),n.setAttribute(ct,e.title),n.setAttribute(ut,t),this.editor.insertUncleanedHtml(n.outerHTML),this.editor.triggerUserValueChanged()}}},{key:"postProcessValue",value:function postProcessValue(e){return this.editor.postProcessValue(e)}},{key:"onEditImage",value:function onEditImage(){this.imageEdit.emit(this.imageHelper.selectedImage)}},{key:"onImageInsertDialogClosed",value:function onImageInsertDialogClosed(){this.onFocus(),this.editor.triggerUserValueChanged()}},{key:"onCreateLinkDataPosted",value:function onCreateLinkDataPosted(e){this.immutableToBeRemoved&&this.immutableToBeRemoved.remove(),e.attributes&&Array.isArray(e.attributes)?e.attributes.push({key:vw,value:""}):e.attributes=[{key:vw,value:""}];var t=this.createLinkHelper.buildLink(e),n=this.editor.getMarkedText(this.currentEditorRange.commonAncestorContainer.innerHTML,!0);if(n){this.currentEditorRange.commonAncestorContainer.innerHTML=this.currentEditorRange.commonAncestorContainer.innerHTML.replace(n,t);var i=this.currentEditorRange.commonAncestorContainer.querySelector("[".concat(vw,"]")),o=this.editor.getCurrentRange();null!==i&&o.setStart(i.childNodes[0],0),o.collapse(!0),this.editor.setCurrentRange(o),i.removeAttribute(vw)}else this.editor.setCurrentRange(this.currentEditorRange),this.editor.insertUncleanedHtml(t);this.editor.triggerUserValueChanged()}},{key:"onCreateLinkDataCanceled",value:function onCreateLinkDataCanceled(){this.currentEditorRange.commonAncestorContainer.innerHTML=this.editor.cleanMarkers(this.currentEditorRange.commonAncestorContainer.innerHTML),this.editor.setCurrentRange(this.currentEditorRange)}},{key:"onCreateLinkDialogClosed",value:function onCreateLinkDialogClosed(){this.deselectSfImmutables(),this.editor.shouldFocusEditor=!0,this.onFocus()}},{key:"onCancelUpload",value:function onCancelUpload(e){this.cancelUpload.emit(e)}},{key:"onRetryUpload",value:function onRetryUpload(e){this.retryUpload.emit(e)}},{key:"onEditImageDone",value:function onEditImageDone(e,t){this.editor.shouldFocusEditor=!0,this.imageHelper.onEditDone(e,t),this.editor.triggerUserValueChanged(),this.deselectSfImmutables()}},{key:"onEditMenuClickIn",value:function onEditMenuClickIn(){this.isEditMenuClicked=!0}},{key:"onEditMenuClickOut",value:function onEditMenuClickOut(){this.isEditMenuClicked=!1}},{key:"onEditMenuClose",value:function onEditMenuClose(e){e&&(this.hasEditMenuButtons=!1,this.editMenuButtons.next(null))}},{key:"getSelectedImmutable",value:function getSelectedImmutable(){return this.elementRef.nativeElement.querySelector(".".concat(_e.SF_IMMUTABLE_SELECTED))}},{key:"onSerializedImmutables",value:function onSerializedImmutables(e){this.writeValue(e)}},{key:"deselectSfImmutables",value:function deselectSfImmutables(){for(var e=this.elementRef.nativeElement.querySelectorAll("[".concat(_e.SF_IMMUTABLE,"]")),t=0;t0&&(e=e.concat(n)),e.length>0?(this.hasEditMenuButtons=!0,this.activateEditButtons(e)):(this.hasEditMenuButtons=!1,this.editMenuButtons.next(null))}},{key:"onImageInsert",value:function onImageInsert(){this.immutableToBeRemoved=this.selectedImmutable,this.currentEditorRange=this.editor.getCurrentRange();var e=this.imageHelper.getRandomStringId(this.settings.key);this.editor.hideToolbar(),this.imageInsertClick.emit(e)}},{key:"onDocumentInsertEdit",value:function onDocumentInsertEdit(){this.currentEditorRange=this.editor.getCurrentRange(),this.editor.hideToolbar();var e=null;this.selectedImmutable&&(this.setRange(this.selectedImmutable),this.selectedImmutable.attributes[ut]&&(e=this.selectedImmutable.attributes[ut].value)),this.documentInsertEditClick.emit(e),this.deselectSfImmutables()}},{key:"onInsertHorizontalRule",value:function onInsertHorizontalRule(){this.editor.inserthtml({value:"
    "}),this.editor.triggerUserValueChanged(),this.deselectSfImmutables()}},{key:"onEmbedCodeViewerOpen",value:function onEmbedCodeViewerOpen(){var e=this,t=this.getSelectedImmutable(),n=new Array(new ki.pu("Insert",(function insertHandler(e){var t=e.component;return new ki.DQ(t.isValid,t.isValid)})),new ki.Lw),i={type:gI,properties:{selectedImmutable:t}},o=this.editor.getCurrentRange(),a=new ki.np(i,(function(t){return e.onEmbedCodeViewDone(t,o)}),n,null,"-sf-mt-3xs");this.modalService.setMapping(a),this.modalService.open(this.route),this.editor.hideToolbar()}},{key:"onEmbedCodeViewDone",value:function onEmbedCodeViewDone(e,t){var n=e.component,i=n.selectedImmutable;if((this.editor.shouldFocusEditor=!0,e.type===ki.EZ.ButtonClicked)&&e.data.data){var o=!i,a=n.getEmbedMediaHtml();a=n.wrapEmbedMedia(a,o),i?(i.outerHTML=a,this.editor.setCurrentRange(t)):(this.editor.setCurrentRange(t),this.editor.insertEmbed(a)),this.editor.embedValueChanged()}}},{key:"stripImmutableClass",value:function stripImmutableClass(e){e.classList.remove(_e.SF_IMMUTABLE)}},{key:"onViewCodeOpen",value:function onViewCodeOpen(){var e=this,t=this.getValue(),n=new Array(new ki.pu(_e.DONE,(function insertHandler(e){var t=e.component;return new ki.DQ(t.value,!0)}),"default")),i={type:wI,properties:{source:t}},o=new ki.np(i,(function(t){e.editor.shouldFocusEditor=!0,t.data&&(e.deselectSfImmutables(),e.editor.executeInDeserializationZone((function(){e.writeValue(e.getUpdatedHtml(t))})))}),n,"-prompt -no-padding-horizontal",null,!0,null,null,!0,!1,!0);o.heading.title="Code view",o.hasTopToolbar=!0,this.editor.hideToolbar(),this.modalService.setMapping(o),this.modalService.open(this.route)}},{key:"getUpdatedHtml",value:function getUpdatedHtml(e){var t="href=([\"'])(.*?)\\1",n="sfref=([\"'])(.*?)\\1",i=e.component.source,o=e.data.data,a=dn.getElementsByTypeAndAttribute(i,"a",!1,"sfref"),r=dn.getElementsByTypeAndAttribute(o,"a",!1,"sfref");return 0===(null==a?void 0:a.length)||0===(null==r?void 0:r.length)||a===r||r.filter((function(e){return!a.includes(e)})).forEach((function(e,i){var r=e.match(n);if(null==r?void 0:r.length){var s=a.find((function(e){return e.indexOf(r[0])}));if(e.match(t)[0]!==s.match(t)[0]){var l=e.replace(new RegExp(n),"");o=o.replace(e,l)}}})),o}},{key:"addCustomTools",value:function addCustomTools(){for(var e=this.getCustomToolsData(),t=0;tt.left&&e.xt.top&&e.y1&&e.buttons.forEach((function(e){e.name===t&&(e.isActive=!0)}))})),this.editMenuButtons.next(e)}},{key:"setLoaderHeight",value:function setLoaderHeight(){this.loaderHeight=474,this.isValueEmpty&&(this.loaderHeight=305),!this.isMainHtmlField&&this.isValueEmpty&&(this.loaderHeight=155)}}]),HtmlComponent}(Z.F);bw.ctorParameters=function(){return[{type:ki.bL},{type:Dd},{type:m.gz},{type:l.SBq},{type:l.Qsj},{type:FI},{type:hw},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Document,decorators:[{type:l.tBr,args:[Se]}]}]},bw.propDecorators={editor:[{type:l.i9L,args:["editor",{static:!0}]}],imageInsertClick:[{type:l.r_U}],documentInsertEditClick:[{type:l.r_U}],linkInsertClick:[{type:l.r_U}],editImageLinkClick:[{type:l.r_U}],cancelUpload:[{type:l.r_U}],retryUpload:[{type:l.r_U}],imageEdit:[{type:l.r_U}],valueChagned:[{type:l.r_U}],onResize:[{type:l.L6J,args:["window:resize"]}]},bw=PI=(0,a.gn)([(0,l.wA2)({selector:"sf-html",template:pI,providers:[(0,Z.A)(PI),FI],encapsulation:l.ifc.None,styles:[AI]}),(0,a.w6)("design:paramtypes",[ki.bL,Dd,m.gz,l.SBq,l.Qsj,FI,hw,Window,Document])],bw);var yw=(0,o.Z)((function CustomToolsData(e,t,n,o){(0,i.Z)(this,CustomToolsData),this.names=e,this.selectors=t,this.execFunctions=n,this.ordinals=o,this.toolsCount=e.length})),Ew=n(643),Iw=function(){function CreateLinkComponent(e,t,n){var o,a,r,s;(0,i.Z)(this,CreateLinkComponent),this.fieldsProvider=e,this.route=t,this.createLinkHelper=n,this.selectedText=v.WP.EMPTY_STRING,this.entity={properties:(s={},(0,Ae.Z)(s,JI,(0,Ae.Z)({},cr.IK,pw)),(0,Ae.Z)(s,qI,(o={},(0,Ae.Z)(o,Ie.kA,!0),(0,Ae.Z)(o,Ie.yH,XI),o)),(0,Ae.Z)(s,KI,{}),(0,Ae.Z)(s,$I,(a={},(0,Ae.Z)(a,Ie.hf,rw),(0,Ae.Z)(a,cr.IK,iw),(0,Ae.Z)(a,cr.U7,v.WP.HASH),(0,Ae.Z)(a,cr.vG,ow),(0,Ae.Z)(a,cr.Vk,aw),a)),(0,Ae.Z)(s,ew,(r={},(0,Ae.Z)(r,Ie.hf,cw),(0,Ae.Z)(r,cr.IK,lw),(0,Ae.Z)(r,cr.U7,v.WP.QUESTION_MARK),(0,Ae.Z)(r,cr.vG,ow),(0,Ae.Z)(r,cr.Vk,aw),r)),(0,Ae.Z)(s,tw,(0,Ae.Z)({},Ie.hf,uw)),s)}}return(0,o.Z)(CreateLinkComponent,[{key:"title",get:function get(){return this.isInEditMode?st:rt}},{key:"ngOnInit",value:function ngOnInit(){var e=this.route.snapshot.params[g.UY.TYPE_NAME_SEGMENT],t=this.getLinkModelData(),n=this.initBaseFieldsSection(t),i=this.initMoreOptionsFieldsSection(e,t);this.fieldsSections=[n,i]}},{key:"initBaseFieldsSection",value:function initBaseFieldsSection(e){var t=this.getBaseFields(e),n={isMain:!0,isExpanded:!1,insertHorizontalRule:!0,title:v.WP.EMPTY_STRING,name:"baseFieldsSection"},i=new Wo.h(n);return i.fields=t,i}},{key:"initMoreOptionsFieldsSection",value:function initMoreOptionsFieldsSection(e,t){var n=this.getMoreOptionsFields(e,t),i={isMain:!1,isExpanded:!1,insertHorizontalRule:!0,title:"More options",name:"moreOptionsSection"},o=new Wo.h(i);return o.fields=n,o}},{key:"getBaseFields",value:function getBaseFields(e){var t=new Wp(e);e.anchor&&!e.queryParams&&(t.isUrlRequired=!1);var n=e.innerText,i=e.target,o=this.route.snapshot.params[g.UY.TYPE_NAME_SEGMENT],a=[this.createField(Y.U.linkInsert,o,JI,t,this.entity,fw),this.createField(Y.U.shortText,o,qI,n,this.entity,Aw),this.createField(Y.U.choiceYesNo,o,KI,i,this.entity,mw)];if(!this.showTextToDisplay){var r=a.findIndex((function(e){return e.key===qI}));a.splice(r,1)}return a[a.length-1].settings.showTitle=!1,a}},{key:"getMoreOptionsFields",value:function getMoreOptionsFields(e,t){var n=t.title,i=t.anchor,o=t.queryParams;return[this.createField(Y.U.shortText,e,ew,o,this.entity,sw),this.createField(Y.U.shortText,e,$I,i,this.entity,nw),this.createField(Y.U.shortText,e,tw,n,this.entity,dw)]}},{key:"createField",value:function createField(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=arguments.length>5?arguments[5]:void 0;return(0,h.ax)(this.fieldsProvider,t,e,n,i,o,a)}},{key:"getLinkModelData",value:function getLinkModelData(){var e=this.selectedElement&&this.selectedElement.getAttribute(lt)||v.WP.EMPTY_STRING;(e.startsWith(v.WP.HASH)||e.startsWith(v.WP.QUESTION_MARK))&&(e=v.WP.EMPTY_STRING);var t=this.selectedElement?this.selectedElement.getAttribute(ut):v.WP.EMPTY_STRING,n=this.selectedElement?this.selectedElement.getAttribute(ct):v.WP.EMPTY_STRING,i=this.selectedElement?this.selectedElement.getAttribute(dt):v.WP.EMPTY_STRING,o=this.selectedElement?this.selectedElement.innerText:this.selectedText,a=this.createLinkHelper.desctructureLink(e);e=a.elementLink;var r=a.elementAnchor,s=a.elementQueryParams;return r||(r=this.selectedElement?this.selectedElement.hash.substring(1,this.selectedElement.hash.length):v.WP.EMPTY_STRING),{sfLink:{href:e,sfref:t},anchor:r,queryParams:s,title:n,target:i,innerText:o}}}]),CreateLinkComponent}();Iw.ctorParameters=function(){return[{type:lr.H},{type:m.gz},{type:hw}]},Iw.propDecorators={editableFieldsComponent:[{type:l.i9L,args:[Xo.I,{static:!0}]}]},Iw=(0,a.gn)([(0,l.wA2)({template:Ew}),(0,a.w6)("design:paramtypes",[lr.H,m.gz,hw])],Iw);var ww=n(644),kw=function(){function EditImageComponent(){(0,i.Z)(this,EditImageComponent)}return(0,o.Z)(EditImageComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.form=new ze.cw({}),this.fields.forEach((function(t){e.form.controls[t.key]=new ze.NI(void 0,t.settings.validators),e.form.controls[t.key].setValue(t.value)}))}}]),EditImageComponent}();kw.propDecorators={image:[{type:l.IIB}],fields:[{type:l.IIB}],form:[{type:l.IIB}],mediaEntityData:[{type:l.IIB}]},kw=(0,a.gn)([(0,l.wA2)({template:ww})],kw);var xw=n(645),Cw=(0,o.Z)((function ImageData(e){(0,i.Z)(this,ImageData),this.typeNamePlural=Fl.A.image.plural,this.typeNameSingleCapitalized="Image",this.thumbnailIconName="picture-o",this.thumbnailTitle=v.WP.EMPTY_STRING,this.mediaEntityData=e})),Sw=(0,o.Z)((function VideoData(e){(0,i.Z)(this,VideoData),this.typeNamePlural=Fl.A.video.plural,this.typeNameSingleCapitalized="Video",this.thumbnailTitle=v.WP.EMPTY_STRING,this.thumbnailIconName="video-camera",this.mediaEntityData=e})),Bw="Document",Dw=(0,o.Z)((function DocumentData(e){(0,i.Z)(this,DocumentData),this.typeNamePlural=Fl.A.document.plural,this.typeNameSingleCapitalized=Bw,this.thumbnailTitle=Bw,this.thumbnailIconName=Bw,this.mediaEntityData=e})),Tw=function(){function MediaDataFactory(e){(0,i.Z)(this,MediaDataFactory),this.metadataStore=e}return(0,o.Z)(MediaDataFactory,[{key:"create",value:function create(e,t,n,i,o,a,r){var s=null,l=null;switch(e){case u.w_.IMAGE:l={metadata:this.metadataStore.getEntity(u.gl.IMAGES).clone(),provider:t,culture:n},s=new Cw(l);break;case u.w_.VIDEO:l={metadata:this.metadataStore.getEntity(u.gl.VIDEOS).clone(),provider:t,culture:n},s=new Sw(l);break;case u.w_.DOCUMENT:l={metadata:this.metadataStore.getEntity(u.gl.DOCUMENTS).clone(),provider:t,culture:n},s=new Dw(l)}return s.mediaEntityData.metadata.mediaFilterEnabled=a,s.mediaEntityData.metadata.acceptableMediaTypes=i||[],s.mediaEntityData.metadata.acceptableFileTypes=o||[],s.mediaEntityData.metadata.maxSize=r,s}}]),MediaDataFactory}();Tw.ctorParameters=function(){return[{type:pe.EY}]},Tw=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY])],Tw);var Mw=function(e){(0,f.Z)(ReorderableThumbsComponent,e);var t=(0,p.Z)(ReorderableThumbsComponent);function ReorderableThumbsComponent(e,n){var o;(0,i.Z)(this,ReorderableThumbsComponent),(o=t.call(this)).scrollService=e,o.window=n,o.uploads=[],o.reorderable=!0,o.hasChanges=!1,o.verticalPosition=0,o.skipDragScrollZones=!1,o.scrollDispatch=new Ft.xQ,o.lastScrollDispatchDate=Date.now(),o._mediaItems=[];var a=o.scrollDispatch.subscribe((function(e){o.skipDragScrollZones||o.scrollRequested(e)}));return o.registerSubscription(a),o}return(0,o.Z)(ReorderableThumbsComponent,[{key:"mediaItems",get:function get(){return this._mediaItems},set:function set(e){this._mediaItems=e}},{key:"onWindowScroll",value:function onWindowScroll(e){this.reorderable&&(this.verticalPosition=e.currentTarget.pageYOffset);var t=this.window.pageYOffset||this.window.document.documentElement.scrollTop||this.window.document.body.scrollTop||0;this.scrollDispatched(t)}},{key:"onLeave",value:function onLeave(e){this.reorderable&&e.target&&("HTML"===e.target.tagName||e.target.classList.contains("sf-modal-window__content"))&&this.clearDrag()}},{key:"onDragStart",value:function onDragStart(e,t,n){if(this.reorderable){this.dragZoneVisible||(this.dragZoneVisible=!0),this.dragIndex=e,this.dropIndex=-1,this.dragName=t;var i=document.createElement("img");i.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",n.dataTransfer.effectAllowed="move",n.dataTransfer.setDragImage(i,0,0)}}},{key:"onDragOver",value:function onDragOver(e,t,n,i){this.reorderable&&this.dragName===t&&(i.layerX>n/2?this.direction="after":this.direction="before",this.dropIndex=e,i.dataTransfer.dropEffect="move",i.preventDefault())}},{key:"onDragEnd",value:function onDragEnd(e){if(this.reorderable){this.dragZoneVisible&&(this.dragZoneVisible=!1);var t=this.dropIndex-this.uploads.length,n=this.dragIndex-this.uploads.length;if(n!==t&&-1!==this.dropIndex){var i=this.mediaItems[n],o=this.mediaItems[t];this.mediaItems.splice(n,1);var a=this.mediaItems.indexOf(o);"after"===this.direction&&(a=Math.min(a+1,this.mediaItems.length)),this.mediaItems.splice(a,0,i),n!==a&&this.recalculateLayout(),this.writeValue(Object.assign([],this.mediaItems)),this.hasChanges=!0}this.dragIndex=-1,this.dropIndex=-1,this.dragName=null,e.preventDefault()}}},{key:"dragOverScrollZone",value:function dragOverScrollZone(e,t){if(!this.skipDragScrollZones){var n=this.verticalPosition+200*("top"===e?-1:1);Date.now()-this.lastScrollDispatchDate>250&&(this.lastScrollDispatchDate=Date.now(),this.verticalPosition>=0?(this.verticalPosition=n,this.scrollDispatch.next(n)):this.verticalPosition=0),t.preventDefault()}}},{key:"clearDrag",value:function clearDrag(){this.dragIndex=-1,this.dropIndex=-1,this.dragName=null,this.dragZoneVisible=!1}},{key:"recalculateLayout",value:function recalculateLayout(){}},{key:"scrollDispatched",value:function scrollDispatched(){}},{key:"scrollRequested",value:function scrollRequested(e){this.scrollService.scrollToPoint(e,0)}}]),ReorderableThumbsComponent}(Z.F);Mw.ctorParameters=function(){return[{type:Nt.a},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Mw.propDecorators={onLeave:[{type:l.L6J,args:["document:dragleave",["$event"]]}]},Mw=(0,a.gn)([(0,l.Xek)(),(0,a.w6)("design:paramtypes",[Nt.a,Window])],Mw);var Nw=function(e){(0,f.Z)(MediaComponent,e);var t=(0,p.Z)(MediaComponent);function MediaComponent(e,n,o,a,r,s,l,c,d,u,f,p,A){var m;return(0,i.Z)(this,MediaComponent),(m=t.call(this,c,d)).mediaDataFactory=e,m.modalService=n,m.route=o,m.layoutService=a,m.sanitizer=r,m.mediaRecognizerService=s,m.changeDetector=l,m.editNavigationService=u,m.siteDataStore=f,m.appStore=p,m.mediaService=A,m.allItems=[],m.mediaLayout={boxes:[]},m.uploadLayout={boxes:[]},m.allowedProviders=[],m.shouldImagesHaveMinWidth=!0,m.errors=(0,Ae.Z)({},mu.r.UPLOAD_FAILED,!0),m.uploadErrors=[],m.skipDragScrollZones=!0,m.showAllMediaItems=!1,m.componentDataCache=new Map,m.processedPendingItemsCount=0,m}return(0,o.Z)(MediaComponent,[{key:"multiple",get:function get(){return!!this.settings&&!!this.settings.allowMultiple}},{key:"hiddenMediaItems",get:function get(){return this.mediaItems.length-this.mediaLayout.boxes.length}},{key:"onWindowScroll",value:function onWindowScroll(e){(0,Re.Z)((0,Qe.Z)(MediaComponent.prototype),"onWindowScroll",this).call(this,e)}},{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(MediaComponent.prototype),"ngOnInit",this).call(this),this.mediaData=this.mediaDataFactory.create(this.settings.type,this.settings.provider,this.settings.culture,this.settings.acceptableMediaTypes,this.settings.acceptableFileTypes,this.settings.mediaFilterEnabled,this.settings.maxSize);var t=this.appStore.pipe(Ws.uploadsData).subscribe((function(t){e.onUpload(t.items,t.uploadFieldState)}));this.registerSubscription(t),this.recalculateLayout(),this.isMultimedia=this.settings.type!==u.w_.DOCUMENT,this.isVideo=this.settings.type===u.w_.VIDEO,this.settings&&this.settings.type&&this.mediaData&&(this.previewUrl=this.settings.openPickerWhenEmpty?"Url":this.mediaRecognizerService.getPreviewUrlProperty(this.mediaData.mediaEntityData.metadata.setName)),this.isMultimedia&&(this.settings.openPickerWhenEmpty?this.thumbnailLook="svg":this.thumbnailWrapperClass="sf-media__stretched"),this.uniqueName="".concat(this.settings.name).concat(this.settings.dataItem&&this.settings.dataItem.key?this.settings.dataItem.key:(0,d.M8)()),this.siteDataStore.getAllowedProviders(this.mediaData.mediaEntityData.metadata.setName).subscribe((function(t){e.allowedProviders=t})),!this.settings||!this.settings.openPickerWhenEmpty||this.value&&0!==this.value.length||this.onChangeClick(null)}},{key:"ngAfterContentChecked",value:function ngAfterContentChecked(){0===this.mediaLayout.boxes.length&&this.mediaItems.length>0&&this.recalculateLayout()}},{key:"ngOnDestroy",value:function ngOnDestroy(){var e=this;(0,Re.Z)((0,Qe.Z)(MediaComponent.prototype),"ngOnDestroy",this).call(this),this.openWindowSubscription&&this.openWindowSubscription.unsubscribe(),this.focus$.pipe((0,kn.P)()).subscribe((function(t){t&&e.modalService.close(e.route)}))}},{key:"sanitize",value:function sanitize(e){return this.sanitizer.bypassSecurityTrustUrl(e)}},{key:"writeValue",value:function writeValue(e){var t=this;e||(e=[]),Array.isArray(e)?e.forEach((function(e){t.markTranslated(e),t.setProviderFromServer(e)})):(this.markTranslated(e),this.setProviderFromServer(e)),(0,Re.Z)((0,Qe.Z)(MediaComponent.prototype),"writeValue",this).call(this,e),this.mediaItems=Array.isArray(e)?e:[e],this.updateAllItems(),setTimeout((function(){t.recalculateLayout()}))}},{key:"getRequiredErrorMessage",value:function getRequiredErrorMessage(){return this.status$.getValue().type===Yi.i.Pending?[]:["".concat(_e.SELECT_BUTTON," ").concat(this.mediaData.typeNameSingleCapitalized)]}},{key:"onUpload",value:function onUpload(e,t){var n=this,i=[];e.filter((function(e){return e.key===n.uniqueName})).forEach((function(e,t){n.emitStatus({type:Yi.i.Pending});var o=e.upload,a=o.success,r=o.result;if((e.upload.success||e.upload.failure)&&(n.processedPendingItemsCount+=1),a){if(n.mediaItems.findIndex((function(e){return e.Id===r.Id}))<0){var s=(0,d.kI)(r);Object.defineProperty(s,"index",{value:t,enumerable:!1});var l=n.mediaItems.concat(s);l.sort((function(e,t){return void 0!==e.index?void 0!==t.index?e.index-t.index:-1:void 0!==t.index?1:0})),n.writeValue(l),n.mediaService.removeUploadById(e.upload.id)}}else i.push(e.upload),e.upload.failure&&n.emitStatus({type:Yi.i.Error,data:n.errors})})),this.uploads=i,this.uploadErrors=this.getUploadErrors(),!this.multiple&&this.uploads.length&&this.mediaItems.length&&this.writeValue([]),this.updateAllItems(),this.recalculateLayout(),this.handleFocus(!1),t.fieldName===this.uniqueName&&this.processedPendingItemsCount===t.uploadedItemsCount&&(this.emitStatus({type:Yi.i.Done}),this.resetProcessedPendingItemsCount())}},{key:"onRemoveMediaClick",value:function onRemoveMediaClick(e,t){e.preventDefault(),e.stopImmediatePropagation();var n=this.mediaItems.filter((function(e){return e.Id!==t.Id}));this.writeValue(n),this.handleFocus(!1)}},{key:"onRemoveUploadClick",value:function onRemoveUploadClick(e){this.mediaService.removeUploadById(e.id),this.handleFocus(!1),this.uploadErrors=this.getUploadErrors(),e.failure&&!this.uploadErrors.length&&this.emitStatus({type:Yi.i.ErrorCleared,data:this.errors})}},{key:"onChangeClick",value:function onChangeClick(e){var t=this;if(e&&e.preventDefault(),this.onTouchedCallback(),!this.isEmptyMultimedia||this.settings.allowAdd){var n;this.multiple||(n=this.uploads[0]||this.mediaItems[0]);var i={type:bc,properties:{multiple:this.multiple,value:this.mediaItems?this.mediaItems.slice(0).map((function(e){return ee.zw.from(e,t.mediaData.mediaEntityData.metadata,e.provider,t.mediaData.mediaEntityData.culture)})):[],name:this.uniqueName,useLiveData:this.settings.useLiveData,allowCreate:this.settings.allowCreate,mediaEntityData:{metadata:this.mediaData.mediaEntityData.metadata.clone(),provider:this.mediaData.mediaEntityData.provider,culture:this.mediaData.mediaEntityData.culture},initialViewMode:this.getFilePickerComponentInitialViewMode(),sourceLibraryId:this.settings.sourceLibraryId,targetLibraryId:this.settings.targetLibraryId,useOnlySelectMode:this.settings.useOnlySelectMode,enableDamPicker:this.settings.canRelateDamAssets}},o=this.allowedProviders.filter((function(e){return e!==v.VT&&e!==v.Xd})).length;this.settings.provider===v.VT&&(o>1||this.allowedProviders[0]===v.WP.ASTERISK)&&(i.properties.showProviderSelector=!0);var a=new ki.np(i,(function(e){if(e&&e.data){n&&(t.uploads.pop(),t.mediaItems.pop(),t.mediaService.removeUploadById(n.id));var i=[];if(Array.isArray(e.data))i=e.data.map((function(e){var t=(0,d.kI)(e.data);return t.provider=e.provider,t}));else{var o=(0,d.kI)(e.data.data);o.provider=e.data.provider,i=[o]}t.mediaItems=i,t.writeValue(i)}else!t.settings.openPickerWhenEmpty||t.value&&0!==t.value.length||t.uploads&&0!==t.uploads.length||t.modalService.close(t.route);t.handleFocus(!1)}),[],"-prompt");this.modalService.setMapping(a,hc),this.modalService.open(this.route,hc),this.handleFocus(!0)}}},{key:"onRetryClick",value:function onRetryClick(){var e=this;this.uploads.forEach((function(t){t.failure&&e.retry(t)}))}},{key:"onShowAllMediaItemsClick",value:function onShowAllMediaItemsClick(){this.showAllMediaItems=!0,this.recalculateLayout()}},{key:"retry",value:function retry(e){this.mediaService.retryUpload(this.mediaData.mediaEntityData,e)}},{key:"uploadFailed",value:function uploadFailed(){return this.uploads&&this.uploads.some((function(e){return e.failure}))}},{key:"getThumbnailLook",value:function getThumbnailLook(e){var t=null;return this.thumbnailLook&&(t=this.thumbnailLook),(e.Width>e.Height&&this.shouldImagesHaveMinWidth||!this.shouldImagesHaveMinWidth)&&(t=t?t+" `${STRETCHED_LOOK}`":"stretched"),t}},{key:"onThumbnailClick",value:function onThumbnailClick(e){var t=this,n=e.provider,i=ee.zw.from(e,this.mediaData.mediaEntityData.metadata,n,this.settings.culture),o={filedName:this.settings.key,settings:{allowedFileExtensions:this.settings.acceptableFileTypes,maximumAllowedSize:this.settings.maxSize,acceptableMediaTypes:this.settings.acceptableMediaTypes}};this.editNavigationService.openDialogForRelatedDataAndLoadFieldData(this.mediaItems.map((function(e){return e.Id})),i,this.route,o,!1,null).subscribe((function(e){var n=e.findIndex((function(e){return e.Id===i.data.Id})),o=e[n],a={},r=t.getValue(),s=r.findIndex((function(e){return e.Id===i.data.Id}));Object.assign(a,r[s],o);var l=(0,d.kI)(r);l.splice(s,1,a),t.writeValue(l)}))}},{key:"onItemsAdd",value:function onItemsAdd(e){var t=this,n=e.filter((function(e){return!t.mediaItems.find((function(t){return t.Id===e.Id}))}));this.multiple||(this.mediaItems.length=0);var i=this.mediaItems.concat(n);this.writeValue(i)}},{key:"onItemsChange",value:function onItemsChange(e){this.writeValue(e)}},{key:"onItemsRemove",value:function onItemsRemove(e){var t,n=this.mediaItems.slice(0),i=(0,Qn.Z)(e);try{for(i.s();!(t=i.n()).done;){var o=t.value,a=n.indexOf(o);a>-1?n.splice(a,1):this.onRemoveUploadClick(o.Upload)}}catch(e){i.e(e)}finally{i.f()}this.writeValue(n)}},{key:"boxIdentity",value:function boxIdentity(e){return e}},{key:"getMediaComponentData",value:function getMediaComponentData(e){var t=this.uploads[e];if(!this.componentDataCache.has(t.id)){var n={src:t.dataUrl,alt:t.AlternativeText,type:t.contentType,name:t.name,size:t.total,isMultimedia:this.isMultimedia,isVideo:this.isVideo},i=this.mediaRecognizerService.getComponentData(n);this.componentDataCache.set(t.id,i)}return this.componentDataCache.get(t.id)}},{key:"getWarnings",value:function getWarnings(){return this.settings.mediaFilterEnabled&&0===this.settings.acceptableMediaTypes.length?["File types allowed for this field do not match the ones set for Libraries in Advanced settings."]:this.settings.allowView?!(this.allowedProviders.length>0)||this.isCurrentProviderDisabled()?[v.qf]:(0,Re.Z)((0,Qe.Z)(MediaComponent.prototype),"getWarnings",this).call(this):[this.getNoPermissionMessage(this.settings.type)]}},{key:"handleReorderedNodes",value:function handleReorderedNodes(e){this.writeValue(e)}},{key:"recalculateLayout",value:function recalculateLayout(){var e=this.wrapper.nativeElement.offsetWidth;if(e>0){var t=this.uploads.concat(this.mediaItems),n=this.multiple&&!this.isVideo?100:Ll,i=this.layoutService.layout(this.uploads,e,n,5,Number.POSITIVE_INFINITY,this.mediaData.mediaEntityData.metadata),o=Math.max(0,Math.floor(i.containerHeight/n)),a=(this.mediaData.mediaEntityData.metadata.setName===u.gl.VIDEOS?1:2)+o,r=this.showAllMediaItems?1/0:a;this.mediaLayout=this.layoutService.layout(t,e,n,5,r,this.mediaData.mediaEntityData.metadata,0,!0),this.changeDetector.detectChanges()}}},{key:"setProviderFromServer",value:function setProviderFromServer(e){e.Provider&&(e.provider=e.Provider,delete e.Provider)}},{key:"isCurrentProviderDisabled",value:function isCurrentProviderDisabled(){return this.settings.provider&&-1===this.allowedProviders.indexOf(this.settings.provider)&&this.settings.provider!==v.VT}},{key:"isEmptyMultimedia",get:function get(){return this.isMultimedia&&(!this.allItems.length||!this.mediaItems.length)&&!this.uploads.length}},{key:"getUploadErrors",value:function getUploadErrors(){var e=Array();return this.uploads&&this.uploads.forEach((function(t){t.failure&&!e.find((function(e){return e===t.errorMessage}))&&e.push(t.errorMessage)})),e}},{key:"resetProcessedPendingItemsCount",value:function resetProcessedPendingItemsCount(){this.processedPendingItemsCount=0}},{key:"mapUpload",value:function mapUpload(e){var t={Title:e.data.Title,Failure:e.failure,Loaded:0,Upload:e};return 0!==e.total&&(t.Loaded=(100*e.loaded/e.total).toFixed(0)),t}},{key:"updateAllItems",value:function updateAllItems(){var e=this;this.allItems=this.mediaItems.concat(this.uploads.map(this.mapUpload)).map((function(t){return e.markTranslated(t)}))}},{key:"markTranslated",value:function markTranslated(e){var t=this.settings.culture||this.route.snapshot.data.itemData&&this.route.snapshot.data.itemData.entityData.culture||this.route.snapshot.data.dynamicItems.culture,n=!e.AvailableLanguages||e.AvailableLanguages.some((function(e){return e===t}));return e.isTranslated=n,e}},{key:"handleFocus",value:function handleFocus(e){e?this.onFocus():this.onBlur()}},{key:"getFilePickerComponentInitialViewMode",value:function getFilePickerComponentInitialViewMode(){var e=!this.settings.allowCreate||this.mediaItems&&this.mediaItems.length>0;return this.settings.useOnlyUploadMode?ml.Upload:e||this.settings.useOnlySelectMode?ml.Select:null}}]),MediaComponent}(Mw);Nw.ctorParameters=function(){return[{type:Tw},{type:ki.bL},{type:m.gz},{type:_l},{type:vd.H7},{type:hi},{type:l.sBO},{type:Nt.a},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ic},{type:Qi},{type:Hs.dk},{type:qs}]},Nw.propDecorators={wrapper:[{type:l.i9L,args:["wrapper",{static:!0}]}],onWindowScroll:[{type:l.L6J,args:["window:scroll",["$event"]]}],recalculateLayout:[{type:l.L6J,args:["window:resize"]}]},Nw=(0,a.gn)([(0,l.wA2)({selector:"sf-media",template:xw}),(0,a.w6)("design:paramtypes",[Tw,ki.bL,m.gz,_l,vd.H7,hi,l.sBO,Nt.a,Window,Ic,Qi,Hs.dk,qs])],Nw);var Fw,Pw=n(646),Rw=Fw=function(e){(0,f.Z)(EditImageThumbnailComponent,e);var t=(0,p.Z)(EditImageThumbnailComponent);function EditImageThumbnailComponent(e,n){var o;return(0,i.Z)(this,EditImageThumbnailComponent),(o=t.call(this)).windowProvider=e,o.imageHelper=n,o.showCustomSizeFields=!1,o.widthPropertyName="width",o.heightPropertyName="height",o.constrainProportionsPropertyName="constrainProportions",o}return(0,o.Z)(EditImageThumbnailComponent,[{key:"ngOnInit",value:function ngOnInit(){this.settings.key&&(this.settings.dropDownSettings.key=this.settings.key),this.widthPropertyName=this.settings.widthPropertyName||this.widthPropertyName,this.heightPropertyName=this.settings.heightPropertyName||this.heightPropertyName,this.constrainProportionsPropertyName=this.settings.constrainProportionsPropertyName||this.constrainProportionsPropertyName,(this.value.thumbnailValue===OI||this.settings.customSizeOnly)&&(void 0===this.value[this.constrainProportionsPropertyName]&&(this.value[this.constrainProportionsPropertyName]=!0),this.showCustomSizeFields=!0,this.setWidthHeight(this.value[this.widthPropertyName],this.value[this.heightPropertyName],this.value[this.constrainProportionsPropertyName],!1))}},{key:"onSelectionChange",value:function onSelectionChange(e){var t=this.getValue();t.thumbnailValue=e,this.showCustomSizeFields=e===OI,this.showCustomSizeFields&&this.setWidthHeight(this.value[this.widthPropertyName],this.value[this.heightPropertyName],this.value[this.constrainProportionsPropertyName]),this.writeValue(t),this.onBlur()}},{key:"onConstrainProportionsChange",value:function onConstrainProportionsChange(e){var t=this.getValue();t[this.constrainProportionsPropertyName]=e,this.scaleDimensions(t,this.widthPropertyName,t[this.widthPropertyName],this.heightPropertyName),this.writeValue(t)}},{key:"onInput",value:function onInput(e,t,n){this.value.OriginalWidth=this.value.OriginalWidth||this.value[this.widthPropertyName],this.value.OriginalHeight=this.value.OriginalHeight||this.value[this.heightPropertyName];var i=this.getValue();i[t]=e.target.value,this.scaleDimensions(i,t,e.target.value,n),this.writeValue(i)}},{key:"writeValue",value:function writeValue(e){e&&((0,Re.Z)((0,Qe.Z)(EditImageThumbnailComponent.prototype),"writeValue",this).call(this,Object.assign({},e)),this.choiceComponent&&this.choiceComponent.writeValue(this.value.thumbnailValue))}},{key:"scaleDimensions",value:function scaleDimensions(e,t,n,i){if(this.settings.customSizeOnly&&void 0===this.value[this.constrainProportionsPropertyName]&&(this.value[this.constrainProportionsPropertyName]=!0),this.value[this.constrainProportionsPropertyName]){var o=this.settings["".concat(t,"Settings")]?this.settings["".concat(t,"Settings")].naturalValue:e["Original".concat(t)]||e[t],a=this.settings["".concat(i,"Settings")]?this.settings["".concat(i,"Settings")].naturalValue:e["Original".concat(i)]||e[i];e[i]=this.imageHelper.determineScaledValue(n,o,a),this["".concat(i.toLocaleLowerCase(),"Field")].writeValue(e[i])}}},{key:"setWidthHeight",value:function setWidthHeight(e,t,n){var i=this,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];this.constrainProportionsCheckbox.writeValue(n),this.widthField.writeValue(e),this.heightField.writeValue(t),o&&this.windowProvider.setTimeout((function(){i.widthField.focus()}),0)}}]),EditImageThumbnailComponent}(Z.F);Rw.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:FI}]},Rw.propDecorators={choiceComponent:[{type:l.i9L,args:[Ji,{static:!0}]}],constrainProportionsCheckbox:[{type:l.i9L,args:[Mu,{static:!0}]}],widthField:[{type:l.i9L,args:["widthField",{static:!0}]}],heightField:[{type:l.i9L,args:["heightField",{static:!0}]}]},Rw=Fw=(0,a.gn)([(0,l.wA2)({selector:"sf-edit-image-thumbnail",template:Pw,providers:[(0,Z.A)(Fw),FI]}),(0,a.w6)("design:paramtypes",[Window,FI])],Rw);var Qw=n(647),Uw=function(e){(0,f.Z)(MediaReadonlyComponent,e);var t=(0,p.Z)(MediaReadonlyComponent);function MediaReadonlyComponent(){var e;return(0,i.Z)(this,MediaReadonlyComponent),(e=t.apply(this,arguments)).notSelectedValueText=v.VG,e.fileTreeConfig={status:!0,noSelection:!0},e}return(0,o.Z)(MediaReadonlyComponent,[{key:"hasEmptyValue",value:function hasEmptyValue(){return!1}},{key:"isEmptyMultimedia",get:function get(){return this.isMultimedia&&(!this.allItems.length||!this.mediaItems.length)&&!this.uploads.length}}]),MediaReadonlyComponent}(Nw);Uw=(0,a.gn)([(0,l.wA2)({template:Qw,selector:"sf-media-component-readonly"})],Uw);var Lw=n(648),Ow=function(e){(0,f.Z)(FilePreviewEditComponent,e);var t=(0,p.Z)(FilePreviewEditComponent);function FilePreviewEditComponent(e,n,o,a,r){var s;return(0,i.Z)(this,FilePreviewEditComponent),(s=t.call(this)).fileInfoService=e,s.service=n,s.mediaValidationHelper=o,s.http=a,s.route=r,s}return(0,o.Z)(FilePreviewEditComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.settings.dataItem;if(t){t.title?this.viewModel=this.createViewModel(t):this.service.getItem({itemKey:t.key,fallbackProperties:[t.metadata.defaultFieldName],dataFieldNames:[t.metadata.defaultFieldName],entityData:t}).subscribe((function(n){var i=JSON.parse(JSON.stringify(t.data));i[t.metadata.defaultFieldName]=n.title;var o=ee.zw.fromEntityData(i,t);e.viewModel=e.createViewModel(o)}));var n=this.route.snapshot.queryParamMap;if(n.keys.indexOf(g.Tx.VERSION)>-1){var i,o=(i={},(0,Ae.Z)(i,g.Tx.VERSION,n.get(g.Tx.VERSION)),(0,Ae.Z)(i,g.Tx.PROVIDER,this.viewModel.mediaDataItem.provider),i);this.http.get("".concat(t.metadata.setName,"(").concat(t.key,")/$value"),{responseType:"blob",params:o}).then((function(t){var n=new File([t],"".concat(e.viewModel.file.title).concat(e.viewModel.file.extension),{type:t.type});e.onSelectedForUpload({files:[n]})}))}}}},{key:"hasEmptyValue",value:function hasEmptyValue(){return!1}},{key:"onSelectedForUpload",value:function onSelectedForUpload(e){var t=this,n=e.files[0];if(n&&this.validateFile(n)){var i=n.slice(0,n.size,n.type),o=n instanceof gc?n.asset:null,a=new gc([i],n.name,{type:n.type,lastModified:n.lastModified},o,e.preserveFileName);this.writeValue(a);var r=e.originalFileNames&&e.originalFileNames.length>0?e.originalFileNames[0]:n.name,s=new File([i],r,{type:n.type});(0,In.D)(this.fileInfoService.createFileInfo(s,this.viewModel.mediaDataItem.metadata)).subscribe((function(e){var n=t.settings.dataItem;t.viewModel=t.createViewModel(n,e)}))}}},{key:"validateFile",value:function validateFile(e){var t=this.mediaValidationHelper.validate(this.viewModel.mediaDataItem.metadata,[e],!1);return this.fileUploadErrorMessages=this.mediaValidationHelper.getErrorMessages(),t}},{key:"getUrl",value:function getUrl(e){return e.data.Url}},{key:"createViewModel",value:function createViewModel(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ee.zw.fromEntityData(e.data,e);n=this.mapMediaEntityDataProps(n);var i=this.getUrl(e);return{mediaDataItem:n,file:{dataUrl:t.dataUrl||i,contentType:t.contentType||e.data.MimeType,extension:t.extension||e.data.Extension,width:t.width||e.data.Width,height:t.height||e.data.Height,size:t.size||e.data.TotalSize,content:null,data:null,isCorrupted:!1,form:null,isMultimedia:n.metadata.isMultimedia,name:t.name||e.data.MediaFileUrlName||e.title,title:t.title||e.data.MediaFileUrlName||e.title},acceptFileTypes:this.mediaValidationHelper.getAcceptableFileTypes(n.metadata.acceptableFileTypes)}}},{key:"mapMediaEntityDataProps",value:function mapMediaEntityDataProps(e){var t=this.settings;return t&&Array.isArray(t.acceptableFileTypes)&&Array.isArray(t.acceptableMediaTypes)&&null!=t.maxSize&&(e.metadata.acceptableFileTypes=t.acceptableFileTypes.map((function(e){return e.replace(".","")})),e.metadata.acceptableMediaTypes=t.acceptableMediaTypes,e.metadata.maxSize=t.maxSize,e.metadata.originalAcceptableTypes.indexOf("*")<0&&!e.metadata.mediaFilterEnabled&&(e.metadata.mediaFilterEnabled=!0)),e}}]),FilePreviewEditComponent}(Z.F);Ow.ctorParameters=function(){return[{type:Ml.w},{type:Ci.dg},{type:wl},{type:Ri.q},{type:m.gz}]},Ow=(0,a.gn)([(0,l.wA2)({selector:"sf-file-preview-edit",template:Lw}),(0,a.w6)("design:paramtypes",[Ml.w,Ci.dg,wl,Ri.q,m.gz])],Ow);var zw=n(649),_w=n(650),Vw=function(e){(0,f.Z)(FileListComponent,e);var t=(0,p.Z)(FileListComponent);function FileListComponent(e,n,o,a,r){var s;return(0,i.Z)(this,FileListComponent),(s=t.call(this,o,a)).layoutService=e,s.mediaRecognizerService=n,s.elementRef=r,s.selectFile=new l.vpe,s.clickFile=new l.vpe,s.value=[],s.dimNotTranslated=!1,s.showNotTranslatedLabel=!0,s.culturesByFile={},s.reorderable=!1,s.isSelectable=!0,s.isNonTranslatedSelectable=!0,s.showFileName=!1,s.bottomGutter=80,s.showRemoveButton=!1,s.layouts=[],s.visibleNodes=[],s.containerHeight=0,s.containerWidth=0,s.yOffset=0,s.topGutter=0,s.headerLayoutSize=66,s.marginLayoutSize=60,s}return(0,o.Z)(FileListComponent,[{key:"mediaItems",get:function get(){return this._files},set:function set(e){this._files=e,this.groupFiles()}},{key:"groupByMonth",get:function get(){return this._groupByMonth},set:function set(e){this._groupByMonth=e}},{key:"ngOnInit",value:function ngOnInit(){this.settings&&(this.showRemoveButton=this.settings.showRemoveButton,this.isSelectable=this.settings.isSelectable,this.isCentered=this.settings.isCentered,this.value&&this.value.length>0&&(this.mediaEntityData=this.value[0],this.mediaItems&&0!==this.mediaItems.length||(this.mediaItems=this.value))),this.previewUrl=this.mediaRecognizerService.getPreviewUrlProperty(this.mediaEntityData.metadata.setName),this.thumbnailLook=this.mediaEntityData.metadata.isMultimedia?"stretched":null}},{key:"ngAfterViewChecked",value:function ngAfterViewChecked(){0===this.topGutter&&(this.topGutter=this.elementRef.nativeElement.getBoundingClientRect().top)}},{key:"onFileClick",value:function onFileClick(e){e.data.failedValidation||this.reorderable||this.clickFile.next(e)}},{key:"onFileSelect",value:function onFileSelect(e){e.data.failedValidation||this.reorderable||this.selectFile.next(e)}},{key:"isSelected",value:function isSelected(e){if(this.isSelectable)return this.value.findIndex((function(t){return t.data.Id===e.data.Id}))>=0}},{key:"onWindowScroll",value:function onWindowScroll(e){this.wrapper&&this.wrapper.nativeElement.offsetParent&&(0,Re.Z)((0,Qe.Z)(FileListComponent.prototype),"onWindowScroll",this).call(this,e)}},{key:"onResize",value:function onResize(e){Math.round(e.contentRect.width)!==Math.round(this.containerWidth)&&this.recalculateLayouts()}},{key:"onRemoveMediaClick",value:function onRemoveMediaClick(e){this.mediaItems=this.mediaItems.filter((function(t){return t.key!==e.key})),this.writeValue(this.mediaItems)}},{key:"recalculateLayout",value:function recalculateLayout(){this.recalculateLayouts(),this.scrollDispatched(this.yOffset)}},{key:"scrollDispatched",value:function scrollDispatched(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.yOffset=t;var n=this.window.document.documentElement.clientHeight,i=0,o=this.layouts.length-1;this.layouts.forEach((function(a,r){e.getLayoutTop(e.layouts,r+1)0?l:0,this.changeArrayContent(this.visibleNodes,a)}},{key:"updateVisibleBoxes",value:function updateVisibleBoxes(e,t){var n;e.boxes=e.boxes.filter((function(e){return t.find((function(t){return t.index===e.index}))})).map((function(e){var n=t.find((function(t){return t.index===e.index}));return Object.assign(e,n)}));var i=t.filter((function(t){return!e.boxes.find((function(e){return e.index===t.index}))}));(n=e.boxes).push.apply(n,(0,J.Z)(i))}},{key:"getLayoutTop",value:function getLayoutTop(e,t){for(var n=0,i=0;i0?this.filesByMonth={default:e}:this.filesByMonth={},this.months=Object.keys(this.filesByMonth),this.recalculateLayouts())}}},{key:"groupFilesByMonth",value:function groupFilesByMonth(e,t){var n={};return t.forEach((function(t){var i=new Date(Date.parse(t.data[h.E.DATE_CREATED])).toLocaleString(e,{month:"long",year:"numeric"}),o=n[i]||[];o.push(t),n[i]=o})),n}},{key:"recalculateLayouts",value:function recalculateLayouts(){if(this.months||this.mediaItems){var e=0===this.wrapper.nativeElement.offsetWidth?this.getContainerDefaultWidth():this.wrapper.nativeElement.offsetWidth,t=[],n=Ll,i=Ol;if(this.mediaEntityData.metadata.isMultimedia||(n=290,i=30),this.groupByMonth&&this.months.length>0)for(var o=0;o1&&void 0!==arguments[1])||arguments[1];return e?t?"".concat(e).concat(this.settings.unit):e.replace(this.settings.unit,v.WP.EMPTY_STRING):v.WP.EMPTY_STRING}}]),EditImageMarginsComponent}(Z.F);qw.propDecorators={marginFields:[{type:l.vR,args:[E.pP]}]},qw=jw=(0,a.gn)([(0,l.wA2)({selector:"sf-edit-image-margins",template:Jw,providers:[(0,Z.A)(jw),FI]})],qw);var Xw={writeComponent:Nw,readComponent:Uw,gridComponent:Gw,settingsType:df},Kw={writeComponent:Rw,settingsType:j.P1},$w={writeComponent:Yw,settingsType:Ww},ek={writeComponent:Ow,readComponent:Ow,settingsType:_A},tk={writeComponent:qw,settingsType:j.P1},nk="An error happened.",ik=function(){function LocatableDynamicItemService(e,t){(0,i.Z)(this,LocatableDynamicItemService),this.httpRequestWrapper=e,this.logger=t}return(0,o.Z)(LocatableDynamicItemService,[{key:"getLocatableEntitySetNames",value:function getLocatableEntitySetNames(e){var t=this.httpRequestWrapper.get$("SfLocatableTypes",{params:(0,Ae.Z)({},g.Tx.SITE,e)});return this.addErrorHandling(t)}},{key:"getDynamicLink",value:function getDynamicLink(e,t,n,i,o){var a,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:v.WP.EMPTY_STRING,s=this.httpRequestWrapper.get$("".concat(e,"(").concat(t,")/dynamiclink(culture='").concat(r,"')"),{params:(a={},(0,Ae.Z)(a,g.Tx.CULTURE,i),(0,Ae.Z)(a,g.Tx.PROVIDER,n),(0,Ae.Z)(a,g.Tx.SITE,o),a)});return this.addErrorHandling(s)}},{key:"getItemFromDynamicLink",value:function getItemFromDynamicLink(e){var t=this.httpRequestWrapper.get$("item?dynamicLink=".concat(e));return this.addErrorHandling(t)}},{key:"addErrorHandling",value:function addErrorHandling(e){var t=this;return e.pipe((0,Zi.K)((function(e){throw e&&e.error&&e.error.error&&e.error.error.message?new Error(e.error.error.message):(t.logger.error(e),new Error(nk))})))}}]),LocatableDynamicItemService}();ik.ctorParameters=function(){return[{type:Ri.q},{type:c.Y}]},ik=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ri.q,c.Y])],ik);var ok=function(e){(0,f.Z)(HtmlWrapperComponent,e);var t=(0,p.Z)(HtmlWrapperComponent);function HtmlWrapperComponent(e,n,o,a,r,s,l,c,d,u,f,p){var A;return(0,i.Z)(this,HtmlWrapperComponent),(A=t.call(this)).modalService=e,A.route=n,A.store=o,A.fieldsGeneratorService=a,A.imageHelper=r,A.metadataStore=s,A.createLinkHelper=l,A.locatableItemsService=c,A.siteDataStore=d,A.mediaRecognizerService=u,A.appStore=f,A.mediaService=p,A.uploadingFilesIds=[],A.processedPendingItemsCount=0,A}return(0,o.Z)(HtmlWrapperComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.metadataStore.initialize().pipe((0,kn.P)()).subscribe((function(t){e.imageMediaEntity=t.entities[u.gl.IMAGES],e.imageMediaEntityData={culture:e.sfHtml.settings.culture,provider:null,metadata:e.imageMediaEntity}})),this.uploadSubscription=this.appStore.pipe(Ws.uploadsData).subscribe((function(t){e.onUpload(t.items,t.updatedItem,t.uploadFieldState)}))}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.uploadSubscription&&this.uploadSubscription.unsubscribe()}},{key:"onFocus",value:function onFocus(){this.sfHtml.onFocus()}},{key:"onUpload",value:function onUpload(e,t,n){var i=this;e&&e.filter((function(e){return i.uploadingFilesIds.find((function(t){return t===e.key}))&&JSON.stringify(t)===JSON.stringify(e.upload)})).forEach((function(e,t){(e.upload.success||e.upload.failure)&&(i.processedPendingItemsCount+=1);var o=(0,d.kI)(e.upload),a=o.success,r=o.result,s=r||e.upload;if(i.emitStatus({type:Yi.i.Pending}),s.imageId=e.key,a){Object.defineProperty(r,"index",{value:t,enumerable:!1}),i.mediaService.removeUploadById(e.upload.id);var l=i.uploadingFilesIds.indexOf(s.imageId);i.uploadingFilesIds.splice(l,1)}i.sfHtml.onImageInsertViewClosed(s);var c=i.validateContent(),u=n.fieldName&&n.fieldName.toLowerCase().includes(i.sfHtml.settings.key.toLowerCase()),f=i.processedPendingItemsCount===n.uploadedItemsCount;!c&&u&&f&&(i.emitStatus({type:Yi.i.Done}),i.processedPendingItemsCount=0)}))}},{key:"onValueChanged",value:function onValueChanged(e){this.validateContent()}},{key:"writeValue",value:function writeValue(e){this.sfHtml.writeValue(e,!0)}},{key:"postProcessValue",value:function postProcessValue(e){return this.sfHtml.postProcessValue(e)}},{key:"emitStatus",value:function emitStatus(e){(0,Re.Z)((0,Qe.Z)(HtmlWrapperComponent.prototype),"emitStatus",this).call(this,e),this.sfHtml.emitStatus(e)}},{key:"settings",set:function set(e){this.sfHtml.settings=e}},{key:"registerOnChange",value:function registerOnChange(e){this.sfHtml.registerOnChange(e)}},{key:"registerOnTouched",value:function registerOnTouched(e){this.sfHtml.registerOnTouched(e)}},{key:"onImageInsert",value:function onImageInsert(e){var t=this;this.uploadingFilesIds.push(e),this.imgUpload&&this.mediaService.removeUploadById(this.imgUpload.id);var n={metadata:this.imageMediaEntityData.metadata.clone(),provider:v.VT,culture:this.imageMediaEntityData.culture};this.siteDataStore.getValue().pipe((0,kn.P)()).subscribe((function(i){var o=t.shouldShowProviderSelector(i,n),a={type:bc,properties:{multiple:!1,value:[],name:e,allowCreate:t.sfHtml.settings.allowCreate,mediaEntityData:n,initialViewMode:t.sfHtml.settings.allowCreate?null:ml.Select,showProviderSelector:o,enableDamPicker:!0}},r=new ki.np(a,(function(e){return t.sfHtml.onImageInsertViewClosed(e.data?e.data.data:e.data,!0)}),[],"-prompt");t.modalService.setMapping(r,hc),t.modalService.open(t.route,hc)}))}},{key:"onDocumentInsertEdit",value:function onDocumentInsertEdit(e){var t=this,n={metadata:this.metadataStore.getEntity(u.gl.DOCUMENTS),provider:v.VT,culture:this.sfHtml.settings.culture||this.sfHtml.settings.dataItem.culture};e?this.locatableItemsService.getItemFromDynamicLink(e).pipe((0,Bi.h)((function(e){return!e.isLoading})),(0,w.U)((function(e){return e.content}))).subscribe((function(e){t.openDocumentInsertDialog(n,ee.zw.from((0,Ae.Z)({},n.metadata.key,e.id),n.metadata,e.provider,n.culture))}),(function(e){t.openDocumentInsertDialog(n)})):this.openDocumentInsertDialog(n)}},{key:"onEditImage",value:function onEditImage(e){var t=this,n=e.src.match(this.imageMediaEntity.allowedExtensionsRegEx),i=e.tagName.toLowerCase()===ot.IMAGE_ELEMENT.toLowerCase(),o=n&&n[0];if(o||i){var a=o?n[0].substring(1):v.WP.EMPTY_STRING,r=a===y.iK.SVG?y.LO.SVG:"".concat(Ml.k).concat(v.WP.FORWARD_SLASH).concat(a);a?this.openEditImageDialog(e,a,r):this.mediaRecognizerService.getMediaMimeType(e.src).then((function(e){r=e})).finally((function(){return t.openEditImageDialog(e,a,r)}))}}},{key:"onCreateLink",value:function onCreateLink(e){var t=this,n=this.getLinkComponentData(e,!0),i=this.getLinkHandler(),o=this.getLinkButtons(e,i),a=new ki.np(n,(function(e){return t.onLinkInsertDialogDone(e)}),o);this.openDialogWindow(a,this.route)}},{key:"onEditImageLinkClick",value:function onEditImageLinkClick(e){var t,n=this;e.parentElement&&e.parentElement.attributes[_e.SF_IMMUTABLE]&&(t=e.parentElement);var i={isInEditMode:!0,selectedText:t?t.textContent:v.WP.EMPTY_STRING,selectedElement:t},o=this.getLinkComponentData(i,!1),a=this.getLinkHandler(),r=this.getLinkButtons(i,a),s=new ki.np(o,(function(i){return n.onEditImageLinkDialogDone(i,e,t)}),r);this.openDialogWindow(s,this.route)}},{key:"onCancelUpload",value:function onCancelUpload(e){var t=this.uploadingFilesIds.indexOf(e);this.uploadingFilesIds.splice(t,1),this.mediaService.removeUploadById(e),this.validateContent()}},{key:"validateContent",value:function validateContent(){var e=-1!==this.sfHtml.editor.value.search(xI);if(e){var t=(0,Ae.Z)({},mu.r.UPLOAD_FAILED,!0);this.emitStatus({type:Yi.i.Error,data:t})}else this.sfHtml.status$.getValue().type===Yi.i.Error&&this.emitStatus({type:Yi.i.ErrorCleared});return e}},{key:"onRetryUpload",value:function onRetryUpload(e){var t=ee.zw.emptyItem(this.imageMediaEntityData);this.mediaService.retryUploadById(t,e)}},{key:"hasEmptyValue",value:function hasEmptyValue(){return this.sfHtml.hasEmptyValue()}},{key:"processErrors",value:function processErrors(e){return this.sfHtml.processErrors(e)}},{key:"getWarnings",value:function getWarnings(){return[]}},{key:"openDocumentInsertDialog",value:function openDocumentInsertDialog(e,t){var n=this;this.siteDataStore.getValue().pipe((0,kn.P)()).subscribe((function(i){var o=n.shouldShowProviderSelector(i,e),a={type:bc,properties:{multiple:!1,value:t?[t]:[],name:"insertDocument",allowCreate:!0,mediaEntityData:e,createMedia:!0,initialViewMode:t?ml.Select:null,showProviderSelector:o,isNonTranslatedSelectable:!1,enableDamPicker:!0}},r=new ki.np(a,(function(t){var o=null;if(t&&t.component)if(t.component instanceof Dl&&t.data)o=t.data;else if(t.component instanceof tc&&t.data){var a=t.data.data||t.data;o=ee.zw.from(a,e.metadata,a.Provider,e.culture)}else if(t.component instanceof bc&&t.data){var r=t.data.data||t.data;o=ee.zw.from(r,e.metadata,r.Provider,e.culture)}if(o){var s=i.Id;n.locatableItemsService.getDynamicLink(o.metadata.setName,o.key,o.provider,o.culture,s).pipe((0,Bi.h)((function(e){return!e.isLoading})),(0,w.U)((function(e){return e.content}))).subscribe((function(e){return n.sfHtml.onDocumentInsertDialogClosed(o,e.dynamicLink)}))}}),[],"-prompt");n.modalService.setMapping(r,"insertDocument"),n.modalService.open(n.route,"insertDocument")}))}},{key:"getEditImageThumbnailValidator",value:function getEditImageThumbnailValidator(){return function(e){if(!e.value)return null;if(e.value.thumbnailValue!==OI)return null;var t={};return e.value.width&&e.value.width<=0||e.value.height&&e.value.height<=0?(t.minValue={requiredMinValue:1},t):null}}},{key:"getEditImageDoneHandler",value:function getEditImageDoneHandler(){return function(e){var t=e.component.form.controls,n=!0;for(var i in t)t[i].invalid&&(n=!1);return new ki.DQ(e,n)}}},{key:"openDialogWindow",value:function openDialogWindow(e,t){this.modalService.setMapping(e),this.modalService.open(t)}},{key:"onEditImageLinkDialogDone",value:function onEditImageLinkDialogDone(e,t,n){if(this.sfHtml.editor.shouldFocusEditor=!0,e.data){var i=e.data.data;if(n=n||document.createElement(ot.ANCHOR_ELEMENT),i)(new hw).setLinkAttributes(n,i),n.attributes[_e.SF_IMMUTABLE]||(t.parentElement.insertBefore(n,t),St(t,n),n.appendChild(t),n.setAttribute(_e.SF_IMMUTABLE,v.WP.EMPTY_STRING)),this.sfHtml.editor.triggerUserValueChanged()}}},{key:"getLinkButtons",value:function getLinkButtons(e,t){return[new ki.pu(e.isInEditMode?_e.DONE:_e.INSERT_LINK,t),new ki.Lw(_e.CANCEL)]}},{key:"getLinkHandler",value:function getLinkHandler(){return function linkHandler(e){var t=e.component.editableFieldsComponent.valid(),n=e.component.editableFieldsComponent.form.value,i=e.component.selectedElement;if(i&&i.attributes.length>0){for(var o,a=[],r=0;r1&&void 0!==arguments[1])||arguments[1],n={type:Iw,properties:{selectedText:e.selectedText,selectedElement:e.selectedElement,isInEditMode:e.isInEditMode,showTextToDisplay:t,selectedTextHtml:e.selectedTextHtml}};return n}},{key:"onLinkInsertDialogDone",value:function onLinkInsertDialogDone(e){if(e.data&&e.data.data){var t=e.component.selectedTextHtml,n=e.data.data;if(!n.linkModel&&!n.anchor)return;n&&t&&(this.createLinkHelper.shouldSetHtml(t,n.textToDisplay)&&(n.htmlToDisplay=t),n.textToDisplay=this.createLinkHelper.getWrappedLinkText(t,n.textToDisplay)),this.sfHtml.onCreateLinkDataPosted(n)}else this.sfHtml.onCreateLinkDataCanceled();this.sfHtml.onCreateLinkDialogClosed()}},{key:"onEditImageDoneCallback",value:function onEditImageDoneCallback(e,t){if(e.data&&e.data.data){var n=e.component.form,i=Object.keys(n.controls).map((function(e){return{key:e,value:n.controls[e].value}}));this.sfHtml.onEditImageDone(i,t)}}},{key:"shouldShowProviderSelector",value:function shouldShowProviderSelector(e,t){var n=!1,i=Object.keys(e.Modules).map((function(t){return e.Modules[t]})).find((function(e){return e.AccessibleTypes.indexOf(t.metadata.setName)>-1}));i&&i.Providers.length>1&&(i.Providers.filter((function(e){return e!==v.VT&&e!==v.Xd})).length>1&&(n=!0));return n}},{key:"openEditImageDialog",value:function openEditImageDialog(e,t,n){var i=this,o={width:e.width,height:e.height,alt:"null"===e.alt?v.WP.EMPTY_STRING:e.alt,src:e.src,extension:t,size:e.getAttribute(LI),contentType:n};this.store.getThumbnails(this.imageMediaEntityData,e.src).subscribe((function(t){var n,a,r=i.imageHelper.transformThumbnailsToChoices(t.value),s=i.imageHelper.determineThumbnailId(e,t.value),l={title:"Image thumbnails",showTitle:!0,key:QI,dropDownSettings:{choices:r},widthSettings:{title:"Width",unit:GI,naturalValue:e.naturalWidth},heightSettings:{title:"Height",unit:GI,naturalValue:e.naturalHeight},constrainProportionsSettings:{title:"Constrain proportions",key:"".concat(QI,"_constrain_proportions")},validators:function validators(e){return i.getEditImageThumbnailValidator()(e)}},c={thumbnailValue:r.find((function(e){return e.Value===s})).Value,width:o.width,height:o.height,constrainProportions:i.imageHelper.determineConstrainProportions(e)},d=(n={title:"Image margins",showTitle:!0,key:UI,unit:GI},(0,Ae.Z)(n,ZI,{title:"top"}),(0,Ae.Z)(n,YI,{title:"right"}),(0,Ae.Z)(n,jI,{title:"bottom"}),(0,Ae.Z)(n,WI,{title:"left"}),n),u=bt(e)?e.parentElement:e,f=(a={},(0,Ae.Z)(a,ZI,u.style.marginTop),(0,Ae.Z)(a,YI,u.style.marginRight),(0,Ae.Z)(a,jI,u.style.marginBottom),(0,Ae.Z)(a,WI,u.style.marginLeft),a),p=[i.fieldsGeneratorService.createFieldModel({key:RI,value:o.alt,settings:{key:RI,title:"Alternative text",showTitle:!0,visibleTitle:!0},registration:Pe.T5}),i.fieldsGeneratorService.createFieldModel({key:QI,value:c,settings:l,registration:Kw}),i.fieldsGeneratorService.createFieldModel({key:UI,value:f,settings:d,registration:tk})],A={type:kw,properties:{fields:p,image:o,mediaEntityData:i.imageMediaEntityData}},m=[new ki.pu(_e.DONE,i.getEditImageDoneHandler()),new ki.Lw],g=new ki.np(A,(function(e){return i.onEditImageDoneCallback(e,t.value)}),m);i.openDialogWindow(g,i.route)}))}}]),HtmlWrapperComponent}(Z.F);ok.ctorParameters=function(){return[{type:ki.bL},{type:m.gz},{type:Ks},{type:qo},{type:FI},{type:pe.EY},{type:hw},{type:ik},{type:Qi},{type:hi},{type:Hs.dk},{type:qs}]},ok.propDecorators={sfHtml:[{type:l.i9L,args:["sfHtml",{static:!0}]}]},ok=(0,a.gn)([(0,l.wA2)({selector:"sf-wrapper-html",providers:[FI],template:fI}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz,Ks,qo,FI,pe.EY,hw,ik,Qi,hi,Hs.dk,qs])],ok);var ak=/\S+/im,rk=function(e){(0,f.Z)(HtmlSettings,e);var t=(0,p.Z)(HtmlSettings);function HtmlSettings(e,n){var o;return(0,i.Z)(this,HtmlSettings),(o=t.call(this,e,n)).key=e,o.readOnlyMode=n,o.underlineErrors=!0,o.shortTextValidatorMap.set(Ie.kA,(function(){return o.createPatternValidator(ak,!1)})),o}return(0,o.Z)(HtmlSettings)}(Op.dT),sk={writeComponent:ok,readComponent:Zc,settingsType:rk},lk=function(){function IntegratedModeGuard(){(0,i.Z)(this,IntegratedModeGuard)}return(0,o.Z)(IntegratedModeGuard,[{key:"canActivate",value:function canActivate(){return ns.N.env===_t.H.integration}}]),IntegratedModeGuard}();lk=(0,a.gn)([(0,l.GSi)()],lk);var ck=n(653),dk=n(115),uk=function(){function ConfigComponent(e,t,n){(0,i.Z)(this,ConfigComponent),this.route=e,this.settings=t,this.router=n,this.isFormVisible=!0}return(0,o.Z)(ConfigComponent,[{key:"currentUrl",get:function get(){return this.settings.url},set:function set(e){this.settings.url=e}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.routeSubscription=this.route.queryParams.pipe((0,dk.j)("url")).subscribe((function(t){t&&(e.isFormVisible=!1,e.currentUrl=e.parseSitefinityUrlInput(t),e.logout())}))}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.routeSubscription&&this.routeSubscription.unsubscribe()}},{key:"onSave",value:function onSave(){this.currentUrl=this.parseSitefinityUrlInput(this.currentUrl),this.isFormVisible=!1,this.logout()}},{key:"logout",value:function logout(){this.router.navigate([So.HOME])}},{key:"parseSitefinityUrlInput",value:function parseSitefinityUrlInput(e){for(e=e.trim();e.endsWith(v.WP.FORWARD_SLASH);)e=e.substring(0,e.length-1);return e.match(/^\w+:\/\//)||(e="https://"+e),e}}]),ConfigComponent}();uk.ctorParameters=function(){return[{type:m.gz},{type:Qt.Zr},{type:m.F0}]},uk=(0,a.gn)([(0,l.wA2)({selector:"sf-config",template:ck}),(0,a.w6)("design:paramtypes",[m.gz,Qt.Zr,m.F0])],uk);var fk=n(654),pk=function(){function FeatureComponent(e){(0,i.Z)(this,FeatureComponent),this.featureService=e}return(0,o.Z)(FeatureComponent,[{key:"ngOnInit",value:function ngOnInit(){this.items=this.featureService.featureConfig}},{key:"onCheckBoxCheck",value:function onCheckBoxCheck(e){this.featureService.setFeatureState(e.name,!e.enabled)}},{key:"onItemSelectionChanged",value:function onItemSelectionChanged(e){e.enabled=!e.enabled}}]),FeatureComponent}();pk.ctorParameters=function(){return[{type:mh}]},pk=(0,a.gn)([(0,l.wA2)({selector:"sf-feature",template:fk}),(0,a.w6)("design:paramtypes",[mh])],pk);var Ak="/".concat(So.ROOT_PREFIX,"/browser-notice"),mk=function(){function UnsupportedBrowserGuard(e,t){(0,i.Z)(this,UnsupportedBrowserGuard),this.router=e,this.windowProvider=t}return(0,o.Z)(UnsupportedBrowserGuard,[{key:"canActivate",value:function canActivate(){return!!this.isSupportedBrowser()||(this.router.navigate([Ak]),!1)}},{key:"isSupportedBrowser",value:function isSupportedBrowser(){var e=this.windowProvider.navigator.userAgent;return-1===e.indexOf("MSIE ")&&-1===e.indexOf("Trident/")}}]),UnsupportedBrowserGuard}();mk.ctorParameters=function(){return[{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},mk=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,Window])],mk);var gk=n(655),hk=n(656),vk=(0,o.Z)((function UnsupportedBrowserNoticeComponent(){(0,i.Z)(this,UnsupportedBrowserNoticeComponent)}));vk=(0,a.gn)([(0,l.wA2)({selector:"sf-browser-notice",template:gk,styles:[hk]})],vk);var bk=n(657),yk=n(658),Ek=(0,o.Z)((function InsecureConnectionNoticeComponent(e){(0,i.Z)(this,InsecureConnectionNoticeComponent),this.systemSettingsUrl=e.getServerRelativeUrl("/Administration/Settings/Advanced/System")}));Ek.ctorParameters=function(){return[{type:Ot}]},Ek=(0,a.gn)([(0,l.wA2)({selector:"sf-insecure-connection",template:bk,styles:[yk]}),(0,a.w6)("design:paramtypes",[Ot])],Ek);var Ik=n(659),wk=n(660),kk=function(){function ZoneEditor(e){(0,i.Z)(this,ZoneEditor),this.toolbarInstance=e.editorToolBar,this.zoneEditorInstance=e.zoneEditor}return(0,o.Z)(ZoneEditor,[{key:"handleCompletedWorkflowOperation",value:function handleCompletedWorkflowOperation(e){if(e!==$.q.schedule){var t={get_commandName:function get_commandName(){return e},get_commandArgument:function get_commandArgument(){return e}};this.invokeSafeFunction("_workflowMenuCommandHandler",null,t)}else this.handleSaveDraftSuccess()}},{key:"getHasChanges",value:function getHasChanges(){return!!this.zoneEditorInstance&&this.zoneEditorInstance.get_isChangeMade()}},{key:"handleSaveDraftSuccess",value:function handleSaveDraftSuccess(){this.invokeSafeFunction("_markNoPendingChanges")}},{key:"invokeSafeFunction",value:function invokeSafeFunction(e){if(this.toolbarInstance&&"function"==typeof this.toolbarInstance[e]){for(var t,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3?arguments[3]:void 0;if(e.data.Renderer){var a,s=(a={},(0,Ae.Z)(a,g.Tx.CULTURE,e.culture),(0,Ae.Z)(a,g.Tx.PROVIDER,e.provider),a);o&&o.forEach((function(e){s[e.Name]=e.Value})),t&&(s.reload=Math.random().toString()),this.router.navigate([lo,e.metadata.setName,xo,e.key],{queryParams:s})}else{if(this.isGroupOrRedirectingPage(e))return!1;var l=i?(0,r.of)(i):this.dynamicItemStore.service.executeOperation(e,$.q.editContent).pipe((0,w.U)((function(e){return e.link})));l.pipe((0,kn.P)()).subscribe((function(e){n.windowProvider.open(e,v.Mw)}))}return!0}},{key:"isGroupOrRedirectingPage",value:function isGroupOrRedirectingPage(e){return!(!e.data||!Array.isArray(e.data[h.E.DISPLAY_STATUS]))&&("Group page"===e.data[h.E.DISPLAY_STATUS][0].Name||"Redirecting page"===e.data[h.E.DISPLAY_STATUS][0].Name)}},{key:"configureGrid",value:function configureGrid(e,t,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=e;o.grid&&(o.grid.autoTriggerLoading=i,o.grid.isLoading=t,n&&o.grid.reload());var a=e,r=a.loadingHolder;r&&(r.loading=t)}}]),PagesActionHandler}();xk.ctorParameters=function(){return[{type:Ic},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:ga},{type:m.F0}]},xk=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ic,Window,ga,m.F0])],xk);var Ck="page-editor",Sk=function(e){(0,f.Z)(EditPageComponent,e);var t=(0,p.Z)(EditPageComponent);function EditPageComponent(e,n,o,a,s,l,c,d,u,f,p,A,m,g,h,v,b,y,E,I,w,k,x,C,S){var B;return(0,i.Z)(this,EditPageComponent),(B=t.call(this,e,n,o,a,s,l,c,d,u,p,A,g,b,y,I,E,k,x,C,S)).document=h,B.zoneEditor=v,B.keyboardShortcutsService=E,B.pagesCommonHandler=w,B.parentService=k,B.store=x,B.communicationService=S,B.isInIntegratedMode=f.getEnvironment()===_t.H.integration,m.initialize(B.route.parent),B.fieldSections$=(0,r.of)([]),B}return(0,o.Z)(EditPageComponent,[{key:"isEditMode",get:function get(){return!0}},{key:"onABTestingSegmentCLick",value:function onABTestingSegmentCLick(e){this.showBeforeUnloadWarning=e.detail.raiseOnBeforeUnload}},{key:"onBeforeUnload",value:function onBeforeUnload(e){this.zoneEditor.getHasChanges()&&this.showBeforeUnloadWarning&&(e.returnValue=Cm)}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.registerSubscription(this.configureNavbar().subscribe()),(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"handleItemChanges",this).call(this),(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"resetActionButtons",this).call(this),(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"handleButtons",this).call(this),this.handleKeyboardShortcuts(),this.editNavigationService.handleEditAllPropertiesFromMVCWidgets(this.route);var t=this.route.snapshot.data[g.u0.itemData];this.entityData=t.entityData,this.siteData=this.route.parent.snapshot.data[g.u0.siteDataStore],this.showBeforeUnloadWarning=!0,this.item.next({content:t.item,isLoading:!1}),(0,d.Ph)(!0);var n={title:"Show content",icon:"th-large",name:"siblings",look:"toggle"};this.sidebarData={entityType:this.entityData.metadata.typeFullName,externalKey:null,buttons:[n]},this.store.dispatch(RA.Oc.configure(this.sidebarData)),this.store.dispatch(RA.Oc.changeAndOpen(n,!1));var i=this.store.pipe(nm.isOpen,(0,EA.T)(1),(0,bl.x)()).subscribe((function(){e.onButtonClickHandler()}));this.registerSubscription(i)}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.keyboardShortcutsService.removeListener(g.Xm.EDIT_PAGE)}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){}},{key:"onButtonClickHandler",value:function onButtonClickHandler(){window.dispatchEvent(new Event("toggleToolbar"))}},{key:"onNavigateBack",value:function onNavigateBack(){if(this.isInIntegratedMode){var e=this.document.querySelector("div.sfWorkflowMenuWrp");if(e){var t=e.querySelector("a.sfCancel");if(t)return void t.click()}var n="".concat(this.settings.url,"Sitefinity/Pages");this.window.open(n,v.Mw)}else{var i={queryParams:(0,Ae.Z)({},g.Tx.CULTURE,this.settings.getSiteCulture(this.siteData.Id))};this.router.navigate([So.PAGES],i)}}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){var t=this,n=e.name.split("_")[0];if(e.name!==$.q.stopSyncing&&n!==$.q.changeCulture)if(e.link)this.invokeWithPromptForUnsavedChanges((function(){t.isLoading=!0,(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"onActionButtonClicked",t).call(t,e)}));else if(e.name===$.q.preview){var i=this.document.querySelector('a[rel="'.concat($.q.preview,'"]'));i?i.click():(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"onActionButtonClicked",this).call(this,e)}else e.name===$.q.edit?this.registerSubscription(this.navigateToEdit(new ee.vi({dataItem:this.currentItem,parentId:this.parentId,commandName:$.q.edit})).subscribe((function(e){e.success&&t.item.next({content:e.dataItem,isLoading:!1})}))):(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"onActionButtonClicked",this).call(this,e);else this.invokeWithPromptForUnsavedChanges((function(){(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"onActionButtonClicked",t).call(t,e)}))}},{key:"navigateToEdit",value:function navigateToEdit(e){var t=this,n=(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"navigateToEdit",this).call(this,e);return this.registerSubscription(n.subscribe((function(e){t.isLoading=e.isLoading}))),n}},{key:"handleServerOperation",value:function handleServerOperation(e){var t=this,n=(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"handleServerOperation",this).call(this,e);return this.registerSubscription(n.subscribe((function(){if(e.sourceOperation&&e.sourceOperation.ParentOperation&&e.sourceOperation.ParentOperation.Name===$.q.edit)t.serverOperationExecutor.shouldStayAfterPublish(e)||t.registerSubscription((0,Sn.H)(2e3).subscribe((function(){t.onNavigateBack()})));else if(e.sourceOperation.Name===$.q.stopSyncing){t.isLoading=!0;var n=t.window.location.href,i=t.window.location.href.match(/adminapp\/pages\/(\(.*\))/);i&&i.length>1&&(n=n.replace(i[1],i[1].substring(1,i[1].length-1))),t.window.open(n,v.Mw)}}),(function(e){var n=v.WP.EMPTY_STRING;e&&e.innerErrors&&e.innerErrors[0]&&e.innerErrors[0].message&&(n=e.innerErrors[0].message),!n&&e&&e.message&&(n=e.message),n||(n="An error occurred while trying to update the page.");var i={message:n,look:ya.ERROR};t.notificationService.publishBasicNotification(i)}))),n}},{key:"getOperationsDataContext",value:function getOperationsDataContext(){return{isEditingPageContent:!0}}},{key:"handleSaveOperationSuccess",value:function handleSaveOperationSuccess(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(e){var o=i||t.sourceOperation.Name;this.zoneEditor.handleCompletedWorkflowOperation(o)}(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"handleSaveOperationSuccess",this).call(this,e,t,n,i)}},{key:"configureNavbar",value:function configureNavbar(){var e=this;return(0,Re.Z)((0,Qe.Z)(EditPageComponent.prototype),"configureNavbar",this).call(this).pipe((0,ra.b)((function(){e.navbarConfiguration.look="toggle ".concat(Ck),e.navbarConfiguration.leftNavbarButtonData.title="All pages",e.navbarConfiguration.leftNavbarButtonData.autoNavigateBack=!1})))}},{key:"handleKeyboardShortcuts",value:function handleKeyboardShortcuts(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,g.Xm.EDIT_PAGE,!1).subscribe((function(t){if(t)switch(t.type){case ps.Delete:case ps.Publish:case ps.Save:case ps.Unpublish:case ps.Schedule:case ps.Preview:e.triggerKeyboardShortcutAction(t);break;case ps.Create:e.navigateToCreatePage()}}));this.registerSubscription(t)}},{key:"triggerKeyboardShortcutAction",value:function triggerKeyboardShortcutAction(e){!this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.editableFields.triggerValidCheck()&&(this.buttonsState&&this.buttonsState.primary&&this.buttonsState.primary.state!==oe.BN.Default||this.onActionButtonClicked(e.action)))}},{key:"navigateToCreatePage",value:function navigateToCreatePage(){var e=ee.zw.emptyItem(this.entityData),t={actionName:$.q.create,item:e,route:this.route};this.pagesCommonHandler.navigateToEdit(t)}},{key:"invokeWithPromptForUnsavedChanges",value:function invokeWithPromptForUnsavedChanges(e){this.zoneEditor.getHasChanges()?this.window.confirm(g.UF)&&e():e()}}]),EditPageComponent}(Sm);Sk.ctorParameters=function(){return[{type:ga},{type:ki.bL},{type:m.gz},{type:qo},{type:m.F0},{type:fe},{type:$r},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ut.Ye},{type:zt.L},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:Qt.Zr},{type:Bm},{type:tl},{type:Document,decorators:[{type:l.tBr,args:[Se]}]},{type:kk},{type:Ic},{type:sm},{type:Os},{type:Aa},{type:xk},{type:$s},{type:Hs.dk},{type:Yr},{type:Di}]},Sk.propDecorators={onABTestingSegmentCLick:[{type:l.L6J,args:["window:onABTestingSegmentCLick",["$event"]]}],onBeforeUnload:[{type:l.L6J,args:["window:beforeunload",["$event"]]}]},Sk=(0,a.gn)([(0,l.wA2)({selector:"sf-edit-page-component",template:Ik,encapsulation:l.ifc.None,providers:[tl,Os,ae._U],styles:[wk]}),(0,a.w6)("design:paramtypes",[ga,ki.bL,m.gz,qo,m.F0,fe,$r,Window,Ut.Ye,zt.L,La,Qt.Zr,Bm,tl,Document,kk,Ic,sm,Os,Aa,xk,$s,Hs.dk,Yr,Di])],Sk);var Bk=n(661),Dk=n(662),Tk=function(){function OperationCommand(e){(0,i.Z)(this,OperationCommand),this.dynamicItemStore=e}return(0,o.Z)(OperationCommand,[{key:"execute",value:function execute(e){var t=e.data,n=t.dataItem;return this.dynamicItemStore.executeOperation(n,t.action.name)}}]),OperationCommand}(),Mk=function(){function OpenLinkCommand(e,t){(0,i.Z)(this,OpenLinkCommand),this.window=e,this.zone=t}return(0,o.Z)(OpenLinkCommand,[{key:"execute",value:function execute(e){var t,n=this,i=e.model,o=e.data.target||v.yX;return t=i&&i.link?i.link:e.data.link,this.zone.runOutsideAngular((function(){var i=n.window.open(t,o);e.data.dataForLocalStorage&&i.localStorage.setItem(e.data.dataForLocalStorage.key,e.data.dataForLocalStorage.value)})),(0,ka.c)()}}]),OpenLinkCommand}();Mk.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:l.R0b}]};var Nk=n(663),Fk=function(){function RestoreCommand(e){(0,i.Z)(this,RestoreCommand),this.store=e}return(0,o.Z)(RestoreCommand,[{key:"execute",value:function execute(e){var t=e.data.dataItem;return this.store.restoreItem(t)}}]),RestoreCommand}();Fk.ctorParameters=function(){return[{type:ga}]},Fk=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ga])],Fk);var Pk=function(e){(0,f.Z)(UndoDeleteComponent,e);var t=(0,p.Z)(UndoDeleteComponent);function UndoDeleteComponent(e,n){var o;return(0,i.Z)(this,UndoDeleteComponent),(o=t.call(this)).route=e,o.restoreCommand=n,o.onCommand=new l.vpe,o.isRestoringItems=!1,o}return(0,o.Z)(UndoDeleteComponent,[{key:"restoreItems",value:function restoreItems(){var e=this;this.isRestoringItems=!0;var t={data:{selectedItems:this.restorableItemIds.map((function(t){return ee.zw.fromEntityData((0,Ae.Z)({},e.entityData.metadata.key,t),e.entityData)})),entityData:this.entityData,bulk:!0},currentRoute:this.route,model:null};new ad(this.restoreCommand).execute(t).subscribe((function(t){e.onCommand.emit(Pa),e.onCommand.emit(Fa),e.isRestoringItems=!1,e.restorableItemIds=[]}))}},{key:"getNotificaitonMessage",value:function getNotificaitonMessage(){return this.restorableItemIds&&this.restorableItemIds.length>0?1===this.restorableItemIds.length?"1 item has been moved to the Recycle Bin.":"".concat(this.restorableItemIds.length," items have been moved to the Recycle Bin."):""}}]),UndoDeleteComponent}(E.zu);Pk.ctorParameters=function(){return[{type:m.gz},{type:Fk}]},Pk.propDecorators={entityData:[{type:l.IIB}],restorableItemIds:[{type:l.IIB}],onCommand:[{type:l.r_U}]},Pk=(0,a.gn)([(0,l.wA2)({template:Nk}),(0,a.w6)("design:paramtypes",[m.gz,Fk])],Pk);var Rk="deleteAllTranslations",Qk="PermanentDelete",Uk=function(e){(0,f.Z)(DeleteCommand,e);var t=(0,p.Z)(DeleteCommand);function DeleteCommand(e,n,o){var a;return(0,i.Z)(this,DeleteCommand),(a=t.call(this,e)).modalWindowService=n,a.deleteCommandExtender=o,a.sentToRecycleBin=!1,a}return(0,o.Z)(DeleteCommand,[{key:"confirm",value:function confirm(e){var t=new re.t(1),n=new Ft.xQ,i=e.data.dataItem;i||(i=ee.zw.fromEntityData({},e.data.entityData));var o=this.generateConfirmationSettings(i,e.data,n);return this.modalWindowService.openModalConfirmation(e.currentRoute,o,i),n.subscribe((function(n){null===n?(e.data.confirmed=!1,t.next(e)):(e.data.confirmed=!0,e.data.deleteAllTranslations=n.deleteAllTranslations,t.next(e))})),t.pipe((0,kn.P)())}},{key:"execute",value:function execute(e){var t=new re.t(1);if(e.data.confirmed){var n=this.getSiteCultures(e.data),i=e.data.dataItem,o=e.data.deleteAllTranslations;this.sentToRecycleBin=o||n.length<=1||i.data[h.E.AvailableLanguages]&&i.data[h.E.AvailableLanguages].length<=1,this.dynamicItemStore.deleteItem({dataItem:i,deleteAllTranslations:o,skipItemStateUpdate:e.data.bulk}).subscribe((function(){t.next({success:!0,key:e.data.dataItem.key})}),(function(e){t.error(e)}))}else t.next({success:!1,key:e.data.dataItem.key});return t.pipe((0,kn.P)())}},{key:"getNotification",value:function getNotification(e,t,n){if((!t||0===t.length)&&this.sentToRecycleBin&&n.action.contextParameters){var i=n.action.contextParameters.find((function(e){return e.Name===Qk}));if(i&&"false"===i.Value.toLowerCase())return{type:Pk,properties:{restorableItemIds:e,entityData:n.entityData},id:"undoDeleteNotification",look:ya.WARNING,duration:5e3,closeButton:!1}}return null}},{key:"generateConfirmationSettings",value:function generateConfirmationSettings(e,t,n){var i=t.action,o={title:this.deleteCommandExtender.getTitle(t),icon:"trash",parameters:[],description:i.description,contextParameters:i.contextParameters,action:$.q.delete,buttons:[],doneCallback:function doneCallback(t){if(t.data&&t.data.data){var i=t.data.data===Rk,o={dataItem:e,deleteAllTranslations:i};n.next(o)}else n.next(null)}};return this.updateDeleteSettings(e,t,o),o}},{key:"updateDeleteSettings",value:function updateDeleteSettings(e,t,n){n.buttons=this.getDeleteConfiramtionDialogButtons(e,t,n),n.hideItemTitle=!0}},{key:"getDeleteConfiramtionDialogButtons",value:function getDeleteConfiramtionDialogButtons(e,t,n){var i=[];if(this.isDeleteForbidden(n))return i.push(new ki.Lw("Close")),i;var o=e.culture,a=this.deleteCommandExtender.getDisplayName(t),r="".concat($.q.delete," all translations"),s="".concat($.q.delete," ").concat(o.toUpperCase()," translation only"),l="".concat($.q.delete," ").concat(a.toLowerCase());if(this.deleteCommandExtender.permanentDelete(t)||(r="Move all translations to Recycle Bin",s="".concat($.q.delete," ").concat(o.toUpperCase()," translation permanently"),l="Move to Recycle Bin"),this.deleteCommandExtender.showMultilingualButtons(t)){var c=new ki.m1(r,Rk),d=new ki.m1(s,!0,"large");i=new Array(c,d)}else{var u=new ki.m1(l);i=new Array(u)}return i.push(new ki.Lw),i}},{key:"isDeleteForbidden",value:function isDeleteForbidden(e){if(e.contextParameters){var t=e.contextParameters.find((function(e){return"DeleteAllowed"===e.Name}));if(t)return"false"===t.Value.toLowerCase()}return!1}},{key:"getSiteCultures",value:function getSiteCultures(e){return e.siteData.ContentCultures}}],[{key:"getItemCannotBeDeletedModalSettings",value:function getItemCannotBeDeletedModalSettings(e,t,n){var i,o=t.action,a=(0,d.xi)($.q.delete.toLowerCase()),r=e.length>1,s=e.map((function(e){return'"'.concat(e.data.Title,'"')})),l=s.pop(),c=s.length?"".concat(s.join(", ")," and ").concat(l):l,u=e[0].metadata,f=u.singularName,p="".concat(f+(r?"s":"")," cannot be ").concat(a),A=null===(i=u.children[0])||void 0===i?void 0:i.toLocaleLowerCase();return{title:p,icon:"trash",parameters:[],hideItemTitle:!0,description:A?"".concat(c," contain").concat(r?"":"s"," ").concat(A,". You should remove all ").concat(A," before attempting to delete a ").concat(f.toLowerCase(),"."):"".concat(c," are using or used by other items. You should remove them before attempting to delete a ").concat(f.toLocaleLowerCase(),"."),contextParameters:o.contextParameters,action:$.q.delete,buttons:[new ki.Lw("Close")],doneCallback:function doneCallback(e){n.next(null)}}}}]),DeleteCommand}(Tk);Uk.ctorParameters=function(){return[{type:ga},{type:ki.bL},{type:eb}]},Uk=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ga,ki.bL,eb])],Uk);var Lk=function(e){(0,f.Z)(ScheduleCommand,e);var t=(0,p.Z)(ScheduleCommand);function ScheduleCommand(e,n){var o;return(0,i.Z)(this,ScheduleCommand),(o=t.call(this,e)).modalWindowService=n,o}return(0,o.Z)(ScheduleCommand,[{key:"confirm",value:function confirm(e){var t=new re.t(1),n=new Ft.xQ,i=e.data.action,o=e.data.dataItem;o||(o=ee.zw.fromEntityData({},e.data.entityData));var a=this.generateConfirmationSettings(i,n);return this.modalWindowService.openModalConfirmation(e.currentRoute,a,o),n.subscribe((function(n){e.data.updateFields=n,e.data.confirmed=null!==n,t.next(e)})),t.pipe((0,kn.P)())}},{key:"execute",value:function execute(e){var t=new re.t(1);if(e.data.confirmed){var n=e.data.dataItem,i=e.data.updateFields,o=new ta($.q.schedule,{action:$.q.schedule,actionParameters:i});this.dynamicItemStore.saveItem(n,null,o).subscribe((function(){t.next({success:!0,key:e.data.dataItem.key})}),(function(e){t.error(e)}))}else t.next({success:!1,key:e.data.dataItem.key});return t.pipe((0,kn.P)())}},{key:"generateConfirmationSettings",value:function generateConfirmationSettings(e,t){return{title:e.title,detailedTitle:e.detailedTitle,icon:da.A[e.name],parameters:e.parameters,contextParameters:e.contextParameters,description:null,formValidators:os[e.name],action:e.name,buttons:new Array(new ki.pu(da.gY[e.name],(function(e){if(e.component instanceof es.X&&e.component.parameters){var t=e.component;return new ki.DQ(!0,t.editableFields.valid())}return new ki.DQ(!0,!0)})),new ki.Lw),doneCallback:function doneCallback(e){var n=null;e.data&&e.data.data&&(n=e.component.editableFields.getFields(!1)),t.next(n)}}}}]),ScheduleCommand}(Tk);Lk.ctorParameters=function(){return[{type:ga},{type:ki.bL}]},Lk=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ga,ki.bL])],Lk);var Ok=n(215),zk=function(){function MoveTaxonCommand(e,t,n){(0,i.Z)(this,MoveTaxonCommand),this.modalWindowService=e,this.dynamicItemStore=t,this.window=n,this.executeOnceInBulk=!0}return(0,o.Z)(MoveTaxonCommand,[{key:"execute",value:function execute(e){var t=this,n=e.data.entityData,i=new re.t(1),o=this.getComponentData(e,this.itemSelectionInfo),a=[new ki.pu(_e.MOVE,(function(e){return t.onSaveClicked(n,e.component)})),new ki.Lw],r=new ki.np(o,(function(){t.modalWindowService.hide(e.currentRoute,!0),i.next({success:!1})}),a,null,"-bottom");return this.modalWindowService.setMapping(r,$.q.moveTaxon),this.modalWindowService.open(e.currentRoute,$.q.moveTaxon),i.asObservable()}},{key:"onSaveClicked",value:function onSaveClicked(e,t){var n=this,i=new re.t(1);if(1===t.selected.length){var o="".concat($.si.default).concat(v.WP.DOT).concat($.q.moveTaxon),a={taxonIds:t.dataItems.map((function(e){return e.data.Id})),targetTaxonId:t.selected[0].Id};this.dynamicItemStore.executeEntityOperation(e,o,a).subscribe((function(){var e=new CustomEvent(Uy);n.window.dispatchEvent(e),i.next(new ki.DQ(!1,!0))}))}return i}},{key:"getComponentData",value:function getComponentData(e,t){var n=e.data.action?e.data.action.contextParameters:e.data.contextParameters;return{type:EE,properties:{itemSelectionInfo:t,contextParameters:n,dataItems:e.data.selectedItems,entityData:e.data.entityData,parentId:e.currentRoute.snapshot.params.parentId}}}}]),MoveTaxonCommand}();zk.ctorParameters=function(){return[{type:ki.bL},{type:ga},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},zk=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,ga,Window])],zk);var _k=function(){function MergeTaxonCommand(e,t,n){(0,i.Z)(this,MergeTaxonCommand),this.modalWindowService=e,this.dynamicItemStore=t,this.window=n,this.executeOnceInBulk=!0}return(0,o.Z)(MergeTaxonCommand,[{key:"execute",value:function execute(e){var t=this,n=e.data.entityData,i=new re.t(1),o=this.getComponentData(e,this.itemSelectionInfo),a=[new ki.pu(_e.MERGE,(function(e){return t.onSaveClicked(n,e.component)})),new ki.Lw],r=new ki.np(o,(function(){i.next({success:!1}),t.modalWindowService.hide(e.currentRoute,!0)}),a,null,"-bottom");return this.modalWindowService.setMapping(r,$.q.mergeTaxon),this.modalWindowService.open(e.currentRoute,$.q.mergeTaxon),i.asObservable()}},{key:"onSaveClicked",value:function onSaveClicked(e,t){var n=this,i=new re.t(1);if(1===t.selected.length){var o="".concat($.si.default).concat(v.WP.DOT).concat($.q.mergeTaxon),a=t.selected[0].Id,r={taxonIds:t.dataItems.map((function(e){return e.key})).filter((function(e){return e!==a})),targetTaxonId:a};this.dynamicItemStore.executeEntityOperation(e,o,r).subscribe((function(){var e=new CustomEvent(Uy);n.window.dispatchEvent(e),i.next(new ki.DQ(!1,!0))}))}return i}},{key:"getComponentData",value:function getComponentData(e,t){var n=e.data.action?e.data.action.contextParameters:e.data.contextParameters;return{type:FE,properties:{itemSelectionInfo:t,contextParameters:n,dataItems:e.data.selectedItems,entityData:e.data.entityData,parentId:e.currentRoute.snapshot.params.parentId}}}}]),MergeTaxonCommand}();_k.ctorParameters=function(){return[{type:ki.bL},{type:ga},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},_k=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,ga,Window])],_k);var Vk=n(664),Gk=function(e){(0,f.Z)(FileListSettings,e);var t=(0,p.Z)(FileListSettings);function FileListSettings(){return(0,i.Z)(this,FileListSettings),t.apply(this,arguments)}return(0,o.Z)(FileListSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(FileListSettings.prototype),"init",this).call(this,e)}}]),FileListSettings}(j.P1),Hk={writeComponent:Vw,readComponent:Vw,settingsType:Gk},Zk="ItemsWithAssignedTaxons",Yk=function(){function AssignTaxonsComponent(e,t,n){(0,i.Z)(this,AssignTaxonsComponent),this.fieldsGeneratorService=e,this.backendTweaksStore=t,this.fieldsProvider=n}return(0,o.Z)(AssignTaxonsComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.items.length>0&&this.generateFieldSections(this.items[0]).subscribe((function(t){e.fieldsSections=t}))}},{key:"generateFieldSections",value:function generateFieldSections(e){var t=this,n=new Wo.h({isExpanded:!0,isMain:!0,insertHorizontalRule:!1});return this.backendTweaksStore.getFormByType(e.metadata.setName,g.jc.EDIT).length>0?(0,r.of)(this.populateSections(e,n)):(0,In.D)(this.backendTweaksStore.initializeForm(e.metadata.setName,g.jc.EDIT,null,e.provider,e.culture).then((function(){return t.populateSections(e,n)})))}},{key:"populateSections",value:function populateSections(e,t){var n=this,i=this.fieldsGeneratorService.generateFieldModels(this.items[0].metadata,e.metadata.setName,this.backendTweaksStore,e).filter((function(e){return e.selector===Y.U.taxa&&n.fieldNames.indexOf(e.key)>-1}));return i.forEach((function(t){t.settings.culture=e.culture,t.settings.look="justify-content-center"})),t.fields=i,t.fields.push(this.generateFileListModel(e)),[t]}},{key:"generateFileListModel",value:function generateFileListModel(e){var t=e.metadata.isMedia?Y.U.fileList:Y.U.itemList,n=(0,h.ax)(this.fieldsProvider,e.metadata.setName,t,Zk,this.items,{}," ");return this.setSettingsForFieldModel(n),n}},{key:"setSettingsForFieldModel",value:function setSettingsForFieldModel(e){if(e.settings instanceof Gk){var t=e.settings;t.showRemoveButton=!0,t.isSelectable=!1,t.isCentered=!0}else if(e.settings instanceof Va){var n=e.settings;n.showRemoveButton=!0,n.showTitle=!1,n.showStatus=!1}}}]),AssignTaxonsComponent}();Yk.ctorParameters=function(){return[{type:qo},{type:yl},{type:lr.H}]},Yk.propDecorators={editableFieldsComponent:[{type:l.i9L,args:[Xo.I,{static:!1}]}],items:[{type:l.IIB}],fieldNames:[{type:l.IIB}]},Yk=(0,a.gn)([(0,l.wA2)({template:Vk}),(0,a.w6)("design:paramtypes",[qo,yl,lr.H])],Yk);var jk=function(){function AssignTaxonsCommand(e,t,n,o,a){(0,i.Z)(this,AssignTaxonsCommand),this.modalWindowService=e,this.dynamicItemStore=t,this.notificationService=n,this.notificationFilter=o,this.metadataParserService=a,this.executeOnceInBulk=!0,this.result=new re.t(1)}return(0,o.Z)(AssignTaxonsCommand,[{key:"execute",value:function execute(e){var t=this,n=e.data.selectedItems[0];if(e.data.allItemsSelected)this.openDialog(this.filterNotTranslatedItems(e.data.selectedItems),e.data.action.detailedTitle,e.currentRoute,n);else{var i=(0,ir.r)();n.metadata.hasParent&&(i=i.expand("Parent($select=Title)")),i=i.where().or(),e.data.selectedItems.forEach((function(e){i=i.eq(n.metadata.key,e.key)})),i=i.done().done(),this.dynamicItemStore.getItemList({entityData:n,query:i,dataFieldNames:[n.metadata.key].concat(this.getAdditionalFieldsNames(n))}).pipe(this.addErrorToResultAndRethrow(this.result),this.catchErrorAndShowNotification()).subscribe((function(i){t.openDialog(t.filterNotTranslatedItems(i.dataItems),e.data.action.detailedTitle,e.currentRoute,n)}))}return this.result.asObservable()}},{key:"getNotification",value:function getNotification(e,t,n){var i=e&&e.length>0&&t&&t.length>0,o=!i&&t&&t.length>0,a=!i&&e&&e.length>0,r={type:Za,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:"update"},id:"bulkOperationsNotification",look:ya.SUCCESS};return a?(r.look=ya.SUCCESS,r.duration=od):o?(r.look=ya.ERROR,r.closeButton=!0):i&&(r.look=ya.WARNING,r.closeButton=!0),r}},{key:"getAdditionalFieldsNames",value:function getAdditionalFieldsNames(e){var t=this,n=[h.E.AvailableLanguages,h.E.TITLE];return y.xe.isMediaEntity(e)&&(n.push(h.E.THUMBNAIL_URL),n.push(h.E.EXTENSION),n.push(h.E.MIME_TYPE)),y.xe.isImageEntity(e)&&(n.push(h.E.WIDTH),n.push(h.E.HEIGHT)),y.xe.isDocumentEntity(e)&&(n.push(h.E.TOTAL_SIZE),n.push(h.E.DISPLAY_STATUS),n.push(h.E.LOCKED_STATUS)),y.xe.isVideoEntity(e)&&(n.push(h.E.URL),n.push(h.E.WIDTH),n.push(h.E.HEIGHT)),Object.keys(e.metadata.properties).forEach((function(i){t.metadataParserService.getPropertyFieldType(e.metadata,e.metadata.properties[i],null,i,null)===Y.U.taxa&&n.push(i)})),n}},{key:"filterNotTranslatedItems",value:function filterNotTranslatedItems(e){return e.filter((function(e){return e.isTranslated}))}},{key:"openDialog",value:function openDialog(e,t,n,i){var o=this,a={type:Yk,properties:{items:e,fieldNames:this.getAdditionalFieldsNames(i)}},r=[];e.length>0&&(r=[new ki.pu($.Oi.saveChanges),new ki.Lw]);var s=new ki.np(a,(function(t){var n=t.data;if(n&&n.data){var a=t.component.editableFieldsComponent.getFields(),r=a?Object.keys(a).filter((function(e){return e!==Zk})):[];if(r.length>0){var s=e;if(a.ItemsWithAssignedTaxons&&(s=a.ItemsWithAssignedTaxons),s.length>0){var l=[],c=[];return s.forEach((function(e){var t={};r.forEach((function(n){t[n]=(0,d.T9)(e.data[n].concat(a[n]))}));var n={dataItem:e,doNotRefreshItem:!0,data:t,operation:{action:$.q.defaultWorkflowOperation}},i={dataItem:e,doNotRefreshItem:!0,data:{}};l.push(n),c.push(i)})),void o.dynamicItemStore.service.updateItemsWithBulkOperationResult(c,i).pipe(o.addErrorToResultAndRethrow(o.result),o.catchErrorAndShowNotification()).subscribe((function(e){o.dynamicItemStore.service.updateItemsWithBulkOperationResult(l,i).pipe(o.addErrorToResultAndRethrow(o.result),o.catchErrorAndShowNotification()).subscribe((function(e){o.result.next(e)}))}))}}}o.result.next({success:!1})}),r,null,"-bottom");s.heading={title:t},this.modalWindowService.setMapping(s,$.q.assignTaxons),this.modalWindowService.open(n,$.q.assignTaxons)}},{key:"catchErrorAndShowNotification",value:function catchErrorAndShowNotification(){return this.notificationService.catchErrorAndShowNotification(this.notificationFilter)}},{key:"addErrorToResultAndRethrow",value:function addErrorToResultAndRethrow(e){return(0,Zi.K)((function(t){return e.next({success:!1}),(0,qn._)(t)}))}}]),AssignTaxonsCommand}(),Wk={selectedItems:new Map,deselectedItems:new Map,excludedItems:new Array,nodesPositions:new Map},Jk=function(e){(0,f.Z)(BulkOperationsComponent,e);var t=(0,p.Z)(BulkOperationsComponent);function BulkOperationsComponent(e,n,o,a,r,s,c,d,u,f,p,A){var m;return(0,i.Z)(this,BulkOperationsComponent),(m=t.call(this)).route=e,m.modalService=n,m.dynamicItemStore=o,m.notificationService=a,m.deleteCommandExtender=r,m.bulkCommandExtender=s,m.keyboardShortcutsService=c,m.window=d,m.injector=u,m.metadataParserService=f,m.contentFilterService=p,m.zone=A,m.selectAllOnPage=new l.vpe,m.selectAll=new l.vpe,m.clearAll=new l.vpe,m.singleAction=new l.vpe,m.refreshItems=new l.vpe,m.loadingChange=new l.vpe,m.selectedItemsCount=0,m.loading$=new re.t(1),m.isOperationInProgress=!1,m.excludedItemsCount=0,m.itemSelectionInfoInternal=Wk,m.bulkMenuOptions=new oe.gP(Number.NEGATIVE_INFINITY,0,!0),m}return(0,o.Z)(BulkOperationsComponent,[{key:"itemSelectionInfo",set:function set(e){this.setItemSelectionInfo(e)}},{key:"allItemsOnPageSelected",get:function get(){return!this.disableSelectAll&&this.selectedItemsCount+this.itemSelectionInfoInternal.excludedItems.length===this.loadedItemsCount}},{key:"showSelectedAll",get:function get(){return!this.disableSelectAll&&(this.itemSelectionInfoInternal.allItemsSelected||this.selectedItemsCount+this.itemSelectionInfoInternal.excludedItems.length===this.itemsTotalCount)}},{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.loading$.subscribe((function(t){e.isOperationInProgress=t,t||e.onClearSelection()}));this.registerSubscription(t);var n=["sf-mr-3xs","small inline"];this.isInHeader&&n.push("sf-pl-zero","transparent"),this.selectedCountNotificationLook=n.join(v.WP.INTERVAL),this.handleKeyboardShortcuts()}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(BulkOperationsComponent.prototype),"ngOnDestroy",this).call(this),this.keyboardShortcutsService.removeListener(g.Xm.BULK_OPERATIONS)}},{key:"ngOnChanges",value:function ngOnChanges(e){e.loadedItemsCount&&!e.loadedItemsCount.firstChange&&(this.itemSelectionInfoInternal.allItemsSelected=!1,this.selectedItemsCount=this.itemSelectionInfoInternal.selectedItems.size,this.excludedItemsCount=this.itemSelectionInfoInternal.excludedItems.length)}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){1===this.selectedItemsCount?this.performSingleOperation(e):this.performBulkOperation(e)}},{key:"onSelectAllOnPage",value:function onSelectAllOnPage(){this.selectAllOnPage.emit()}},{key:"onSelectAll",value:function onSelectAll(){this.selectAll.emit()}},{key:"onClearSelection",value:function onClearSelection(){this.clearAll.emit()}},{key:"performSingleOperation",value:function performSingleOperation(e){var t=this.itemSelectionInfoInternal.selectedItems.values().next().value,n=t.key;if(n){if(e.token){var i=this.injector.get(e.token.type),o={model:null,data:e.token.properties,currentRoute:null};return void i.execute(o).subscribe()}this.singleAction.emit({entityData:t,dataItemKey:n,button:e}),this.onClearSelection()}}},{key:"performBulkOperation",value:function performBulkOperation(e){var t=this,n=null,i=this.getWrappedCommand(e);if(this.itemSelectionInfoInternal.allItemsSelected)n=this.getAllItems(e,i);else{var o=Array.from(this.itemSelectionInfoInternal.selectedItems.values());n=(0,r.of)(o)}n.pipe((0,ra.b)((function(n){return t.executeBulkCommand(n,e,i)}))).subscribe()}},{key:"getAllItems",value:function getAllItems(e,t){var n=this,i=[];return this.bulkCommandExtender.getEntityDatasForBulkOperation(this.entityData,this.filterAction).forEach((function(o){for(var a=n.buildItemQuery(o),r=[],s=0;s0){var s=Uk.getItemCannotBeDeletedModalSettings(r,{action:t},new Ft.xQ);i.modalService.openModalConfirmation(i.route,s,r[0])}}var l={success:a.success,failedItemsIds:a.failedItemsIds,succeededItemsIds:a.succeededItemsIds};i.shouldPerformBulkDelete(t)&&(l={success:a.Type===$.r4.Success,failedItemsIds:a.FailedItemsIds,succeededItemsIds:a.SucceededItemsIds}),i.handleBulkResult(l,t,n,o)}))}},{key:"filterItemsIfOperationIsCultureSpecific",value:function filterItemsIfOperationIsCultureSpecific(e,t){var n=e.data.selectedItems;if(this.isActionCultureSpecific(t,e)){for(var i=[],o=0;o1&&(this.bulkDropdownButtonText="Bulk actions"),this.bulkActionMenu&&this.bulkActionMenu.reinitialize(),this.setSelectedItemsCount()}},{key:"setSelectedItemsCount",value:function setSelectedItemsCount(){this.itemSelectionInfoInternal.allItemsSelected&&this.itemSelectionInfoInternal.deselectedItems.size>0&&(this.selectedItemsCount=this.itemsTotalCount-this.itemSelectionInfoInternal.deselectedItems.size,this.excludedItemsCount=this.itemSelectionInfoInternal.excludedItems.length)}},{key:"handleKeyboardShortcuts",value:function handleKeyboardShortcuts(){var e=this,t=this.keyboardShortcutsService.addListener(this.operations,g.Xm.BULK_OPERATIONS,!0).subscribe((function(t){if(t&&e.selectedItemsCount>0)switch(t.type){case ps.Publish:case ps.Unpublish:case ps.Schedule:case ps.Delete:e.triggerKeyboardShortcutAction(t)}}));this.registerSubscription(t)}},{key:"triggerKeyboardShortcutAction",value:function triggerKeyboardShortcutAction(e){e.action&&(e.event.preventDefault(),this.onActionButtonClicked(e.action))}}]),BulkOperationsComponent}(E.zu);Jk.ctorParameters=function(){return[{type:m.gz},{type:ki.bL},{type:ga},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:eb},{type:pb},{type:Os},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:l.zs3},{type:Yo.F},{type:b.y},{type:l.R0b}]},Jk.propDecorators={bulkActionMenu:[{type:l.i9L,args:["bulkActionMenu",{static:!1}]}],entityData:[{type:l.IIB}],operations:[{type:l.IIB}],itemsTotalCount:[{type:l.IIB}],loadedItemsCount:[{type:l.IIB}],isInHeader:[{type:l.IIB}],searchParameter:[{type:l.IIB}],filterAction:[{type:l.IIB}],disableSelectAll:[{type:l.IIB}],itemSelectionInfo:[{type:l.IIB}],notificationFilter:[{type:l.IIB}],selectAllOnPage:[{type:l.r_U}],selectAll:[{type:l.r_U}],clearAll:[{type:l.r_U}],singleAction:[{type:l.r_U}],refreshItems:[{type:l.r_U}],loadingChange:[{type:l.r_U}]},Jk=(0,a.gn)([(0,l.wA2)({selector:"sf-bulk-operations",template:Dk}),(0,a.w6)("design:paramtypes",[m.gz,ki.bL,ga,La,eb,pb,Os,Window,l.zs3,Yo.F,b.y,l.R0b])],Jk);var qk,Xk=n(665),Kk=function(){function ListItemSettingsSidebarComponent(e,t,n,o){(0,i.Z)(this,ListItemSettingsSidebarComponent),this.window=e,this.injector=t,this.route=n,this.store=o,this.sectionViewModels=[]}return(0,o.Z)(ListItemSettingsSidebarComponent,[{key:"ngOnInit",value:function ngOnInit(){this.sectionViewModels=this.sections.sort((function(e,t){return e.ordinal-t.ordinal})).map((function(e){var t=e.operations.map((function(e){return{title:e.Title,name:e.Name,link:e.Link,css:"RecycleBin"===e.Name?"-sf-mt-2xs":null,token:e.token,ordinal:e.Ordinal,icon:e.context?e.context.icon:null}})).sort((function(e,t){return e.ordinal-t.ordinal}));return{title:e.title,settings:t}}))}},{key:"onNavigateToSettings",value:function onNavigateToSettings(e){var t=this;e.token?this.injector.get(e.token.type).execute({currentRoute:this.route,model:null,data:e.token.properties}).subscribe((function(e){e&&e.selectedSettingName&&(t.selectedSettingName=e.selectedSettingName)})):(this.store.dispatch(RA.Oc.loading()),this.window.open(e.link,v.Mw))}}]),ListItemSettingsSidebarComponent}();Kk.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:l.zs3},{type:m.gz},{type:Hs.dk}]},Kk.propDecorators={title:[{type:l.IIB}],sections:[{type:l.IIB}]},Kk=(0,a.gn)([(0,l.wA2)({template:Xk}),(0,a.w6)("design:paramtypes",[Window,l.zs3,m.gz,Hs.dk])],Kk),function(e){e[e.main=Number.MIN_SAFE_INTEGER]="main",e[e.marketing=e.main+1]="marketing",e[e.translations=e.marketing+1]="translations"}(qk||(qk={}));var $k=function(){function ColumnsGenerator(e){(0,i.Z)(this,ColumnsGenerator),this.columnsProvider=e,this.sortingDisabledColumnNames=["PublicationDate"]}return(0,o.Z)(ColumnsGenerator,[{key:"generateColumns",value:function generateColumns(e,t){var n=this,i=e.metadata;return this.columnsProvider.getColumns(e).pipe((0,w.U)((function(e){var t=(0,J.Z)(e),o=t.findIndex((function(e){return"Actions"===e.name}));if(o>-1&&o!==t.length-1){var a=t[o];t.splice(o,1),t.push(a)}return t.forEach((function(e){n.sortingDisabledColumnNames.find((function(t){return t===e.name}))?e.sortableFieldName=null:e.sortableFieldName||(e.sortableFieldName=i.isSortingAllowed(e.name)?e.name:null)})),t})))}}]),ColumnsGenerator}();$k.ctorParameters=function(){return[{type:O}]},$k=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[O])],$k);var ex=n(666),tx=function(){function FileReorderComponent(e,t){(0,i.Z)(this,FileReorderComponent),this.scrollService=e,this.mediaService=t,this.value=[],this.isInitialLoading=!0,this.heading="Reorder"}return(0,o.Z)(FileReorderComponent,[{key:"mediaItems",get:function get(){return this.list.mediaItems}},{key:"isDirty",get:function get(){return this.list.hasChanges}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.heading="Reorder ".concat(this.childEntityData.metadata.displayName.toLowerCase()," in library"),this.getImages().subscribe((function(t){e.value=t.dataItems,e.isInitialLoading=!1,e.value.length0&&((n=e.value).push.apply(n,(0,J.Z)(t.dataItems)),e.list.mediaItems=e.value)}))}},{key:"getImages",value:function getImages(){return this.mediaService.getMediaForLibrary(this.childEntityData,this.parentEntityData.data.Id,null,null,null,null,(0,Ae.Z)({},g.V5.SORT,"Ordinal"))}}]),FileReorderComponent}();tx.ctorParameters=function(){return[{type:Nt.a},{type:qs}]},tx.propDecorators={list:[{type:l.i9L,args:["fileList",{static:!0}]}]},tx=(0,a.gn)([(0,l.wA2)({selector:"sf-file-reorder",template:ex}),(0,a.w6)("design:paramtypes",[Nt.a,qs])],tx);var nx=function(){function ReorderCommand(e,t,n,o){(0,i.Z)(this,ReorderCommand),this.modalWindowService=e,this.dynamicItemStore=t,this.route=n,this.notificationService=o}return(0,o.Z)(ReorderCommand,[{key:"execute",value:function execute(e){var t=this,n=e.data,i=new re.t(1),o=null;n.entityData.metadata.isMultimedia?o={type:tx,properties:{parentEntityData:n.parentItem,childEntityData:n.entityData}}:(o={type:gd,properties:{parentItem:n.parentItem,entityData:n.entityData}},n.treeConfig&&(o.properties.treeConfig=n.treeConfig));var a=[new ki.pu("Save changes",(function(e){return t.onSaveClicked(n.entityData,i,e.component)})),new ki.Lw],r=new ki.np(o,(function(e){e.type===ki.EZ.ButtonClicked&&e.data&&e.data.data&&e.data.data.notificationData&&t.notificationService.publishNotification(e.data.data.notificationData)}),a,null,"-bottom");return this.modalWindowService.setMapping(r),this.modalWindowService.open(this.route),i.asObservable()}},{key:"onSaveClicked",value:function onSaveClicked(e,t,n){var i,o,a=this,r=new re.t(1);if(e.metadata.isSelfReferencing||e.metadata.setName===u.gl.HIERARCHY_TAXA)n.reorderActions.length>0&&(i=this.dynamicItemStore.executeEntityOperation(e,"Default.Reorder",{actions:n.reorderActions}).pipe((0,w.U)((function(t){o=a.getNotification(t.SucceededItemsIds,t.FailedItemsIds,e)}))));else{var s=e.metadata.key;if(e.metadata.isMultimedia){var l=n;l.isDirty&&(i=this.dynamicItemStore.executeEntityOperation(e,da.VX.ReorderItems,{items:l.mediaItems.map((function(e){return e.data[s]}))}))}else n.dirty&&(i=this.dynamicItemStore.executeEntityOperation(e,da.VX.ReorderItems,{items:n.treeItems.map((function(e){return e[s]}))}))}return i?(r.next(new ki.DQ(!0,!1)),i.subscribe(null,(function(e){t.error("An error occured while trying to reorder items.")}),(function(){r.next(new ki.DQ(!o||{notificationData:o},!0)),t.next(!0)}))):r.next(new ki.DQ(!0,!0)),r}},{key:"getNotification",value:function getNotification(e,t,n){var i=e&&e.length>0&&t&&t.length>0,o=!i&&t&&t.length>0,a=!i&&e&&e.length>0,r={type:Za,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n,operationName:$.q.reorder.toLowerCase()},id:"bulkChangeTemplateNotification",look:ya.SUCCESS,filterParam:n.metadata.typeFullName};return a?(r.look=ya.SUCCESS,r.duration=g.Jd):o?(r.look=ya.ERROR,r.closeButton=!0):i&&(r.look=ya.WARNING,r.closeButton=!0),r}}]),ReorderCommand}();nx.ctorParameters=function(){return[{type:ki.bL},{type:ga},{type:m.gz},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},nx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,ga,m.gz,La])],nx);var ix=n(667),ox=function(){function QuickNavigationSidebarComponent(e,t,n){(0,i.Z)(this,QuickNavigationSidebarComponent),this.route=e,this.gridExtender=t,this.router=n}return(0,o.Z)(QuickNavigationSidebarComponent,[{key:"onNavigateToLink",value:function onNavigateToLink(e,t){this.gridExtender.executeNavigateCommand(this.router,this.route,e,t,e.childSetName)}}]),QuickNavigationSidebarComponent}();ox.ctorParameters=function(){return[{type:m.gz},{type:pd},{type:m.F0}]},ox.propDecorators={title:[{type:l.IIB}],sections:[{type:l.IIB}],selectedLinkName:[{type:l.IIB}]},ox=(0,a.gn)([(0,l.wA2)({template:ix}),(0,a.w6)("design:paramtypes",[m.gz,pd,m.F0])],ox);var ax=n(668),rx="onReloadContentFilters",sx=function(e){(0,f.Z)(ContentFilterComponent,e);var t=(0,p.Z)(ContentFilterComponent);function ContentFilterComponent(e,n){var o;return(0,i.Z)(this,ContentFilterComponent),(o=t.call(this)).customFilterRenderers=e,o.filterStore=n,o.filterSelect=new l.vpe,o.complexFiltersComponents=[],o.dynamicFiltersCountByCategory={},o.dynamicFiltersTotalCount=0,o.filterResult$=new re.t,o.contentFiltersResult$=o.filterResult$.pipe(Dn(g.gn),(0,w.U)((function(e){return o.manageFilterList(e)}))),o}return(0,o.Z)(ContentFilterComponent,[{key:"filterValue",get:function get(){return this._filterValue},set:function set(e){this._filterValue=e||null}},{key:"ngOnInit",value:function ngOnInit(){this.loadFilters(this.entityData)}},{key:"ngOnChanges",value:function ngOnChanges(e){var t=e.entityData;t&&!t.isFirstChange()&&this.loadFilters(t.currentValue)}},{key:"showFilters",value:function showFilters(e){return e.filters.length>1||this.dynamicFiltersTotalCount>0}},{key:"onFilterSelect",value:function onFilterSelect(e){this.filterValue=e,this.filterSelect.emit(this.filterValue)}},{key:"generateFilterWrapperCssClassList",value:function generateFilterWrapperCssClassList(e){return e?" -"+(0,d.mA)(e):""}},{key:"loaderInit",value:function loaderInit(e){var t=this,n=e.filterSelect.subscribe((function(e){t.onFilterSelect(e)}));this.registerSubscription(n);var i=e.filtersChanged.subscribe((function(n){var i=e.category;t.dynamicFiltersCountByCategory[i]=n?n.length:0,t.dynamicFiltersTotalCount=Object.values(t.dynamicFiltersCountByCategory).reduce((function(e,t){return t?e+t:e}),0)}));this.registerSubscription(i)}},{key:"loadFilters",value:function loadFilters(e){var t=this;this.getFiltersSubscription&&this.getFiltersSubscription.unsubscribe(),this.getFiltersSubscription=this.filterStore.getPredefinedFilters(e).subscribe((function(e){return t.filterResult$.next(e)})),this.registerSubscription(this.getFiltersSubscription)}},{key:"manageFilterList",value:function manageFilterList(e){var t=this,n=e.isLoading,i=e.filters,o=i&&i.length;if(!n&&o){var a=i.slice();a=a.map((function(e){return{title:e.title,name:e.name,cssClass:t.generateFilterWrapperCssClassList(e.category),parameters:e.parameters,category:e.category,isDynamicFilter:e.isDynamicFilter}}));var r=this.displayName?this.displayName:this.entityData.metadata.displayName;this.entityData.metadata.hasAllItemsFilterEnabledProperty&&a.unshift({title:"All ".concat(r.toLocaleLowerCase()),name:null});var s=a.filter((function(e){return!e.isDynamicFilter})),l=a.filter((function(e){return e.isDynamicFilter}));if(l.length){var c=l.reduce((function(e,t){return e[t.category]=[].concat((0,J.Z)(e[t.category]||[]),[t]),e}),{});this.initDynamicFilters(c)}return{isLoading:n,filters:s}}return e}},{key:"initDynamicFilters",value:function initDynamicFilters(e){this.complexFiltersComponents=[];var t,n=(0,Qn.Z)(this.customFilterRenderers);try{for(n.s();!(t=n.n()).done;)for(var i=t.value,o=i.getCategory(),a=0,r=Object.keys(e);a1?this.targetItems.length.toString():null;return s.toolbarData={type:Mo,properties:{header:this.dialogTitle,superScript:l}},s.heading={title:this.dialogTitle,superScript:l},this.modalWindowService.setMapping(s,this.dialogMapping),this.modalWindowService.show(this.dialogMapping,e.currentRoute.parent),r}},{key:"serviceLoadMore",value:function serviceLoadMore(e){var t=this,n={entityData:this.entityData,order:this.sortService.getDefaultSort(this.entityData),skip:e.skip,take:e.take||20,fallbackProperties:[this.entityData.metadata.defaultFieldName]};return e.searchText&&(n.filter=[{key:this.entityData.metadata.defaultFieldName,value:[e.searchText]}]),this.service.getItemList(n).pipe((0,w.U)((function(e){return{totalCount:e.totalCount,dataItems:t.mapNodes(e.dataItems)}})))}},{key:"serviceExpand",value:function serviceExpand(e){return(0,r.of)({totalCount:0,dataItems:[]})}},{key:"mapNodes",value:function mapNodes(e){return e.map((function(e){var t=(0,d.kI)(e.data);return t.isTranslated=!0,t}))}},{key:"confirmButtonClickHandler",value:function confirmButtonClickHandler(e){var t=this,n=new re.t(1),i=e.selected;return n.next(new ki.DQ({},!1,!1,!0)),i&&i.length&&i[0]?this.executeConfirmAction(i.map((function(e){return ee.zw.fromEntityData(e,t.entityData)})),n):n.next(new ki.DQ({success:!0,succeededItemsIds:[]},!0)),n.asObservable()}},{key:"onDone",value:function onDone(e,t){this.notificationService.close();var n=e.data;n&&n.data&&n.data.success?(t.next({success:!0,succeededItemsIds:n.data.succeededItemsIds}),t.complete()):(t.next({success:!1}),t.complete())}},{key:"setDialogTitle",value:function setDialogTitle(){}},{key:"getServiceAware",value:function getServiceAware(){return new ti(this.serviceLoadMore.bind(this),this.serviceExpand.bind(this))}},{key:"modifyComponentData",value:function modifyComponentData(e){}}]),SelectorBaseCommand}(),cx=function(e){(0,f.Z)(MoveCommand,e);var t=(0,p.Z)(MoveCommand);function MoveCommand(e,n,o,a,r,s){var l;return(0,i.Z)(this,MoveCommand),(l=t.call(this,e,n,o,r)).modalWindowService=e,l.service=n,l.notificationService=o,l.metadataContainer=a,l.sortService=r,l.childrenCountStore=s,l.skipNotification=!0,l.dialogMapping="move",l.dialogTitle="Move to another parent",l.confirmButtonText="Move",l}return(0,o.Z)(MoveCommand,[{key:"getNotification",value:function getNotification(e,t,n){return null}},{key:"execute",value:function execute(e){var t=(0,Re.Z)((0,Qe.Z)(MoveCommand.prototype),"execute",this).call(this,e);return this.setDialogTitle(),t}},{key:"setDialogTitle",value:function setDialogTitle(){this.dialogTitle="Move to another ".concat(this.entityData.metadata.singularName.toLowerCase())}},{key:"getEntityData",value:function getEntityData(){var e=this.targetItems[0];this.entityData=ee.zw.emptyItem({metadata:this.metadataContainer.entities[e.metadata.parent],provider:e.provider,culture:e.culture})}},{key:"serviceLoadMore",value:function serviceLoadMore(e){var t=this;return(0,Re.Z)((0,Qe.Z)(MoveCommand.prototype),"serviceLoadMore",this).call(this,e).pipe((0,kn.P)(),(0,w.U)((function(e){var n=t.targetItems[0].parentKey,i=e.dataItems.filter((function(e){return e[t.targetItems[0].metadata.key]!==n}));return{totalCount:i.length!==e.dataItems.length?e.totalCount-1:e.totalCount,dataItems:i}})))}},{key:"executeConfirmAction",value:function executeConfirmAction(e,t){var n=this,i=this.targetItems.map((function(e){return e.data.Id})),o={success:!0,succeededItemsIds:i};if(0!==i.length){var a={target:e[0].key,items:i};this.service.executeBoundAction(ee.zw.emptyItem(this.targetItems[0]),"Default.Move()",a).subscribe((function(){n.invalidateChildrenCountCache(e[0]),t.next(new ki.DQ(o,!0))}),(function(e){n.notificationService.publishBasicNotification({message:e.message,look:ya.ERROR,duration:g.De,filterParam:pl}),t.next(new ki.DQ(!1,!1,!0))}))}else t.next(new ki.DQ(o,!0))}},{key:"invalidateChildrenCountCache",value:function invalidateChildrenCountCache(e){var t=this;this.targetItems.forEach((function(e){t.childrenCountStore.invalidateCachedChidrenCountByChildItem(e)})),this.childrenCountStore.invalidateCachedChidrenCountByParentItem(e)}},{key:"generateDescription",value:function generateDescription(e){e.properties.description="Select a ".concat(this.entityData.metadata.singularName.toLowerCase()," where to move the ").concat(this.targetItems.length>1?this.targetItems[0].metadata.displayName.toLowerCase():this.targetItems[0].metadata.singularName.toLowerCase()),e.properties.headingLook="sf-mb--m"}}]),MoveCommand}(lx);cx.ctorParameters=function(){return[{type:ki.bL},{type:Ci.dg},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:pe.QE},{type:Aa},{type:sa}]};var dx=function(){function ReorderModuleChildrenProvider(e){var t;(0,i.Z)(this,ReorderModuleChildrenProvider),this.configService=e,this.orderConfig=null===(t=this.configService.externalConfig)||void 0===t?void 0:t.dynamicModuleChildListOrder}return(0,o.Z)(ReorderModuleChildrenProvider,[{key:"getFirstChildEntitySet",value:function getFirstChildEntitySet(e){if(this.orderConfig){var t=this.orderConfig.find((function(t){return t.parentEntitySet===e}));if(t){var n=t.childEntitySets[0];if(n)return n}}return null}},{key:"reorderChildren",value:function reorderChildren(e,t){if(this.orderConfig){var n=this.orderConfig.find((function(t){return t.parentEntitySet===e})),i=null==n?void 0:n.childEntitySets;i&&i.forEach((function(e,n){var i=t.findIndex((function(t){return t.setName===e}));-1!==i&&t.splice(n,0,t.splice(i,1)[0])}))}}}]),ReorderModuleChildrenProvider}();dx.ctorParameters=function(){return[{type:Rt.V}]},dx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Rt.V])],dx);var ux="merge",fx=Math.max(document.documentElement.clientWidth,window.innerWidth||0)-100,px=function(e){(0,f.Z)(DynamicItemIndexComponent,e);var t=(0,p.Z)(DynamicItemIndexComponent);function DynamicItemIndexComponent(e,n,o,a,r,s,l,c,d,u,f,p,A,m,g,h,b,y,E,I,w,k,x,C,S){var B;(0,i.Z)(this,DynamicItemIndexComponent),(B=t.call(this,n,a,o,s,r,d,u,A,I)).gridExtender=e,B.windowProvider=s,B.columnsGenerator=l,B.scrollService=c,B.notificationService=f,B.reloadService=p,B.serverOperationExecutor=m,B.keyboardShortcutsService=g,B.ref=h,B.bundleDataService=b,B.contentFilterService=y,B.headerMenuService=E,B.parentService=I,B.store=w,B.itemHooksProvider=k,B.sortService=x,B.childrenCountStore=C,B.reorderModuleChildrenProvider=S,B.classes="sf-host",B.enterLeaveAnimationState="fadeIn",B.isScrolled=!1,B.displayName$=new re.t(1),B.itemsState$=new re.t(1),B.isFilterActive=!1,B.isSearchActive=!1,B.treeConfig={noSelection:!0,multiSelection:!1,treeProperties:{idField:"id",hasChildrenField:"hasChildren"}},B.hasNotifications=!1,B.singularName$=new re.t(1),B.pluralName$=new re.t(1),B.navigationComponentData$=new re.t(1),B.loadFiltersCount=new re.t(1),B.fadeInAnimationState=sI,B.activeFilter=new he.X(null),B.bulkOperations=[],B._columns=new re.t(1),B._cssClass$=new he.X(v.WP.EMPTY_STRING),B.sidebarOperations=new re.t,B.entityData$=new re.t(1),B.dataFieldNames=null,B._columnsArray=[],B.parent$=new Ft.xQ,B.operationCompleted$=new Ft.xQ,B.topActionMenuOptions=new oe.gP(Number.NEGATIVE_INFINITY,0),B.bulkActionMenuOperations=new he.X([]),B.columns=B._columns.asObservable(),B.cssClass$=B._cssClass$.asObservable();var D=B.headerMenuService.onUserDialogOpen.subscribe((function(e){return B.showDialogContent(e)}));return B.registerSubscription(D),B}return(0,o.Z)(DynamicItemIndexComponent,[{key:"enterLeaveAnimation",get:function get(){return this.enterLeaveAnimationState}},{key:"currentPresenter",get:function get(){return this.listComponent||this.thumbNailComponent}},{key:"areItemsFiltered",get:function get(){return this.isFilterActive||this.isSearchActive}},{key:"showProviders",get:function get(){return!this.entityData.metadata.hasParent}},{key:"hideLoadMore",get:function get(){return this.gridExtender.hideLoadMore(this.route,this.entityData)}},{key:"processedEntityData",get:function get(){return this.gridExtender.processEntityData(this.entityData)}},{key:"notificationFilter",get:function get(){return this.gridExtender.getNotificationServiceFilter(this.entityData)}},{key:"onViewModeChanged",value:function onViewModeChanged(){var e=this.presenterTemplate;this.presenterTemplate=this.gridExtender.getPresenterTemplate(this.entityData),this.ref.detectChanges();var t=this.gridExtender.shouldReloadItemsOnViewModeChanged(e,this.entityData);this.reload(void 0,t),this.presenterTemplate!==e&&void 0!==e&&(this.loadOperationsForList(),this.currentPresenter.clearAllSelectedNodes(),this.scrollService.scrollToTop(!1)),t&&this.loadOperationsForBulk()}},{key:"ngOnInit",value:function ngOnInit(){var e=this,t=!this.route.snapshot.params[g.UY.PARENT_ID_SEGMENT];this.isVirtualizedTree=this.gridExtender.getVirtualizationOptions(this.route).isVirtualized,t&&(this.parent$=new re.t(1)),this.registerSubscription(this.store.pipe(nm.isOpen).subscribe((function(t){e.isSidebarOpen=t}))),this.registerSubscription(this.store.pipe(nm.shouldAnimate).subscribe((function(t){e.isSidebarAnimated=t}))),this.registerSubscription(this.store.pipe(nm.sidebarData).subscribe((function(t){e.hasSidebar=!!t}))),this.initNavMenu(),this.container=this.route.parent.snapshot.data.metaStore,this.itemsPerTake=this.gridExtender.getTakeItemsCount(this.route),this.processRouteParamsChanges(),this.itemHooksProvider.executeObservableHook(this.itemsState$.pipe((0,kn.P)()),"onGridItemsInitializing",(function(e){return{items:e.dataItems}})).subscribe();var n=this.itemHooksProvider.executeObservableHook(this.itemsState$,"onGridItemsChanged",(function(e){return{items:e.dataItems}})).subscribe((function(t){if(e.fadeInAnimationState=t.isLoading?sI:lI,e.processCss(t),!t.isLoading){var n=!0;if(e.lastItemsState){var i=e.lastItemsState.dataItems.length>0&&0===t.dataItems.length,o=0===e.lastItemsState.dataItems.length&&t.dataItems.length>0;(i||o)&&e.loadOperationsForList(!1),n=e.lastItemsState.order!==t.order}e.lastItemsState=t,n&&e.updateGroupColumnVisibility(t.order);var a=!0,r="root",s=e.gridExtender.getCurrentPaging({entityData:e.entityData});if(s&&s.root>0&&t.getCurrentPage(e.itemsPerTake)0&&(a=!1,e.loadAdditionalItems()),a){var l=t.getCurrentPage(e.itemsPerTake);e.gridExtender.setCurrentPaging({entityData:e.entityData,itemPaging:(0,Ae.Z)({},r,l)})}e.registerSubscription(e.gridExtender.getTotalItemsCountWithChildren(t.totalCount,e.route).subscribe((function(t){return e.totalItemsCountWithChildren=t})));var c=e.route.parent.snapshot.data.siteDataStore;e.gridExtender.getAsyncColumnsValues(e._columnsArray,e.entityData,t,c.Id,e.bundleDataService)}}));this.registerSubscription(n);var i=this.notificationService.getNotification().subscribe((function(t){t&&e.notificationFilter===t.filterParam&&(e.hasNotifications=!0)}));this.handleRouteChanges();var o=this.notificationService.getCloseNotification().subscribe((function(t){e.notificationFilter===t.filterParam&&(e.hasNotifications=!1)}));this.registerSubscription(i),this.registerSubscription(o);var a=this.reloadService.reloadRequested.subscribe((function(){e.reload()}));this.registerSubscription(a),this.onViewModeChanged(),this.handleKeyboardShortcuts()}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.itemHooksProvider.executeObservableHook(this.itemsState$.pipe((0,kn.P)()),"afterGridInit",(function(e){return{items:e.dataItems}})).subscribe()}},{key:"ngOnDestroy",value:function ngOnDestroy(){var e=this;this.itemHooksProvider.executeObservableHook(this.itemsState$.pipe((0,kn.P)()),"onGridItemsUnloading",(function(e){return{items:e.dataItems}})).subscribe((function(){(0,Re.Z)((0,Qe.Z)(DynamicItemIndexComponent.prototype),"ngOnDestroy",e).call(e),e.keyboardShortcutsService.removeListener(g.Xm.DYNAMIC_ITEM_INDEX)}))}},{key:"onVisibleNodesCountChanged",value:function onVisibleNodesCountChanged(e){this.visibleItemsCount=e}},{key:"onNavbarScroll",value:function onNavbarScroll(e){this.isScrolled=e;var t=this._cssClass$.getValue(),n=" -sf-invisible";e?t+=n:t=t.replace(n,v.WP.EMPTY_STRING),this._cssClass$.next(t)}},{key:"onLeftNavButtonClick",value:function onLeftNavButtonClick(){this.navigate([{outlets:{menu:uo}}],{relativeTo:this.route})}},{key:"loadAdditionalItems",value:function loadAdditionalItems(){var e=this;if(!this.modalWindowService.isDialogOpened){var t=this.getFilterAction(),n=this.getSort(this.route.snapshot.queryParams);this.loadMoreSubscription&&this.loadMoreSubscription.unsubscribe(),this.lastItemsState&&this.lastItemsState.totalCount===this.lastItemsState.dataItems.length||(this.loadMoreSubscription=this.gridExtender.loadMore({action:t,order:n,dataFieldNames:this.dataFieldNames,entityData:this.entityData,executedSearchParameter:this.executedSearchParameter,parentId:this.parentId,route:this.route,treeConfig:this.treeConfig,currentState:this.lastItemsState}).subscribe((function(t){return e.itemsState$.next(t)})),this.registerSubscription(this.loadMoreSubscription))}}},{key:"getFilterAction",value:function getFilterAction(){var e=this.route.snapshot.queryParams[g.V5.FILTER];return e?g.aO.FILTER(e):null}},{key:"onSelectAll",value:function onSelectAll(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.itemSelectionInfo.allItemsSelected=t,this.itemsState$.pipe((0,_s.q)(1)).subscribe((function(t){var n=t.dataItems.filter((function(e){return e.data.inactive})).map((function(e){return e.data.Id}));e.currentPresenter.selectAllNodes(n)}))}},{key:"onClearSelection",value:function onClearSelection(){this.currentPresenter&&this.itemSelectionInfo&&this.currentPresenter.clearAllSelectedNodes(),this.itemSelectionInfo=Wk}},{key:"onSingleAction",value:function onSingleAction(e){var t=this;this.registerSubscription(this.dynamicItemStore.getItem({entityData:e.entityData,itemKey:e.dataItemKey}).subscribe((function(n){var i={data:{button:e.button,dataItem:n},name:Ta};t.onCommand(i)})))}},{key:"onSearch",value:function onSearch(e){var t=this;if(e){this.searchParameter=e,this.scrollService.scrollToTop(!1);var n=this.route.snapshot.queryParams;this.sortQueryBeforeSearch=n[g.V5.SORT];var i=Object.assign({},n);delete i[g.V5.FILTER],this.entityData&&this.entityData.metadata.isSelfReferencing&&(i[g.V5.SORT]=fa);var o={};this.contentFilterService.getSearchFields(this.entityData).forEach((function(e){return o[e.fieldName]=[t.searchParameter]}));var a=this.contentFilterService.serializeQueryParams(o);i[g.V5.SEARCH]=a,this.navigate([],{queryParams:i}),this.notificationService.close(this.notificationFilter)}}},{key:"onItemSelected",value:function onItemSelected(e){var t=this;if(this.loadOperationsForItemSubscription&&this.loadOperationsForItemSubscription.unsubscribe(),1===e.selectedItems.size){var n=e.selectedItems.values().next().value;n.isTranslated?(this.loadOperationsForItemSubscription=this.operationsProvider.getListItemOperations(n,this.parentItem).subscribe((function(n){t.bulkActionMenuOperations.next(n);var i=t.gridExtender.modifySingleItemOperations(t.entityData,n,{currentItemSelectionInfo:e,previousItemSelectionInfo:t.itemSelectionInfo,itemsState:t.lastItemsState});t.bulkActionMenuOperations.next(i)})),this.registerSubscription(this.loadOperationsForItemSubscription)):this.bulkActionMenuOperations.next([])}else{var i=Object.assign({},e,{allItemsSelected:!e.deselectedItems.size&&this.itemSelectionInfo.allItemsSelected}),o=this.gridExtender.modifyOperations(this.entityData,this.bulkOperations,{currentItemSelectionInfo:i,previousItemSelectionInfo:this.itemSelectionInfo,itemsState:this.lastItemsState});this.bulkActionMenuOperations.next(o)}this.itemSelectionInfo={selectedItems:new Map(e.selectedItems),deselectedItems:new Map(e.deselectedItems),excludedItems:e.excludedItems,nodesPositions:new Map(e.nodesPositions),allItemsSelected:this.itemSelectionInfo.allItemsSelected}}},{key:"onClearFilter",value:function onClearFilter(){this.scrollService.scrollToTop(!1);var e=Object.assign({},this.route.snapshot.queryParams);this.searchParameter=v.WP.EMPTY_STRING,delete e[g.V5.SEARCH],delete e[g.V5.FILTER],this.entityData&&this.entityData.metadata.isSelfReferencing&&(this.sortQueryBeforeSearch?e[g.V5.SORT]=this.sortQueryBeforeSearch:delete e[g.V5.SORT]),this.navigate([],{queryParams:e})}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e,t){var n=this;t||(t=ee.zw.emptyItem(this.entityData)),this.gridExtender.modifyActionContext({actionName:e.name,item:t,route:this.route},this.entityData).pipe((0,kn.P)()).subscribe((function(i){if(e.name===$.q.create&&i.item.metadata.isSelfReferencing&&1===n.itemSelectionInfo.selectedItems.size){var o=n.itemSelectionInfo.selectedItems.values().next().value;n.onActionButtonClicked({name:$.q.createChild,requiresConfirmation:!1,title:v.WP.EMPTY_STRING,isPrimary:!1},o)}else{var a=n.gridExtender.tryHandleAction({actionName:e.name,item:t,route:n.route,grid:n});n.registerSubscription(a.subscribe((function(o){if(o){if(e.name===$.q.move&&(n.reload(),n.operationCompleted$.next({operationName:e.name,modifiedItemIds:t?[t.key]:[]})),[$.q.edit,$.q.duplicate].includes(e.name)){var a=new CustomEvent(rx,{detail:n.entityData});n.window.dispatchEvent(a)}}else n.onActionButtonClickedFallback(e,t,i)})))}}))}},{key:"singleItemSync",value:function singleItemSync(e,t){var n=this,i={fields:null,fallbackPropertyNames:null,dataFieldNames:this.dataFieldNames,itemPosition:this.getItemPosition()},o=new ZA(this.dynamicItemStore,this.modalWindowService);this.registerSubscription(o.execute({currentRoute:this.route,model:null,data:{entityData:this.entityData,dataItem:e,action:t,publishParams:i}}).subscribe((function(e){if(e&&!e.hasTemplateErrors&&e.operationData){var t=o.getNotification(n.route);t&&(t.removePreviousView=!0,t.filterParam=n.notificationFilter,n.notificationService.publishNotification(t)),e.isPublished&&n.reload()}})))}},{key:"onProviderSelectionChange",value:function onProviderSelectionChange(e){var t=Object.assign({},this.route.parent.snapshot.queryParams);t[g.Tx.PROVIDER]=e.tabValue,this.navigate([],{queryParams:t})}},{key:"onBulkActionsLoadingChange",value:function onBulkActionsLoadingChange(e){this.areBulkActionsLoading=e.isLoading,e.operationResult&&this.operationCompleted$.next({operationName:e.operationName,modifiedItemIds:e.operationResult.succeededItemsIds})}},{key:"onExpandedItemsChanged",value:function onExpandedItemsChanged(e){this.gridExtender.setExpandedNodeIds({entityData:this.entityData,expandedIds:e})}},{key:"onNotificationCommand",value:function onNotificationCommand(e){e===Pa&&this.reload()}},{key:"onCommand",value:function onCommand(e){var t=this;if(e){var n=e.data;switch(e.name){case Sa:var i=n;this.navigateToIndex(i.dataItem,i.childSetName);break;case Ba:var o=n,a={culture:o.dataItem.culture,provider:o.dataItem.provider,metadata:this.container.entities[o.childSetName]},r=o.dataItem.key;this.navigateToEdit(new ee.vi({dataItem:ee.zw.emptyItem(a),parentId:r,commandName:Ba}));break;case Ta:var s=n;this.onActionButtonClicked(s.button,s.dataItem);break;case Ca:var l=n;if(this.gridExtender.shouldNavigateToChildGrid(l)){var c=this.reorderModuleChildrenProvider.getFirstChildEntitySet(l.metadata.setName);this.store.dispatch(RA.Oc.close(!1,!1)),this.navigateToIndex(l,c)}else{var d=$.q.edit,u=this.gridExtender.tryHandleAction({actionName:Ca,item:l,route:this.route,grid:this});this.registerSubscription(u.subscribe((function(e){if(!e){var n=new ee.vi({dataItem:l,commandName:d,openDialog:t.gridExtender.openEditItemInDialog(l)});t.navigateToEdit(n)}})))}break;case Ma:var f=n;this.onSortExpressionChanged(f);break;case Na:var p=n;this.loadMoreChildren(p.parent);break;case Da:var A=n,m=this.gridExtender.tryHandleAction({actionName:Da,item:A.dataItem,route:this.route,data:{culture:A.culture},grid:this});this.registerSubscription(m.subscribe((function(e){if(!e){var n=$.q.edit,i=ee.zw.fromCulture(A.dataItem,A.culture);t.navigateToEdit(new ee.vi({dataItem:i,commandName:n,translationCultureSource:A.dataItem.culture}))}})));break;case Pa:this.reload()}this.onClearSelection()}}},{key:"reload",value:function reload(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.initEmptyScreenIcon();var i=this.getSort(e),o=this.gridExtender.getVirtualizationOptions(this.route);this.treeConfig.virtualizationOptions=o,this.isVirtualizedTree=o.isVirtualized,this.treeConfig.isHierarchical=this.gridExtender.isHierarchical(this.route),this.treeConfig.isHierarchical?(this.treeConfig.treeProperties.getChildren=function(e){return t.loadChildNodes(e)},n&&(this.onClearSelection(),this.registerSubscription(this.gridExtender.getExpandedNodeIds({entityData:this.entityData}).subscribe((function(e){t.treeConfig.expandedNodeIds=e;var n=t.gridExtender.getItemsData(t.route,t.dataFieldNames,{expandedNodeIds:e});n.order=i,t.dynamicItemStore.loadItems(n)}))))):(e||(e=this.route.snapshot.queryParams),i=this.getSort(e),delete this.treeConfig.treeProperties.getChildren,n&&(this.onClearSelection(),this.itemStateSubscription&&this.itemStateSubscription.unsubscribe(),this.itemStateSubscription=this.gridExtender.reloadItems(e,this.parentId,this.entityData,i,this.dataFieldNames).subscribe((function(e){e.isLoadingItems||t.updateFilterAndSearchActivity(),t.itemsState$.next(e),t.navbarConfiguration.isScrollEnabled=e.hasLoadedItems||!e.hasLoadedItems&&e.isLoadingItems})),this.registerSubscription(this.itemStateSubscription))),this.loadFiltersCount.next(!0)}},{key:"getVisibleItemsCount",value:function getVisibleItemsCount(e){return this.visibleItemsCount||0===this.visibleItemsCount?this.visibleItemsCount:e.dataItems.length}},{key:"getTotalProgressTaskHtmlElementsHeigth",value:function getTotalProgressTaskHtmlElementsHeigth(e){this.navbarConfiguration&&(this.navbarConfiguration.stickyScrollOffset=e+150)}},{key:"loadChildNodes",value:function loadChildNodes(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=0;!n&&e.data.children&&(i=e.data.children.length-1);var o=1,a=e.data.dataItem.key;if(n){var r=this.gridExtender.getCurrentPaging({entityData:this.entityData});r&&r[a]>0&&(o=r[a])}for(var s=[],l=0;l0){var o={dataItems:i.map((function(e){return e.dataItems})).reduce((function(e,t){return e.concat(t)}),[]),entityData:i[0].entityData,totalCount:i[0].totalCount},r=t.currentPresenter.loadMoreChildNodes(o,e,n),s=(n?r:e.data.children).filter((function(e){return!e.dataItem.data.isLink})),l=Math.ceil(s.length/Ci.$d);return t.gridExtender.setCurrentPaging({entityData:t.entityData,itemPaging:(0,Ae.Z)({},a,l)}),r.map((function(e){return e.dataItem}))}return[]}))}},{key:"loadMoreChildren",value:function loadMoreChildren(e){this.loadChildNodes(e,!1)}},{key:"showFilter",value:function showFilter(){if(this.scrollService.scrollToTop(!0),this.sidebarData){var e=this.sidebarData.buttons.find((function(e){return"filter"===e.name}));e&&this.store.dispatch(RA.Oc.changeAndOpen(e,!0))}}},{key:"showDialogContent",value:function showDialogContent(e){this.modalWindowService.setMapping(e,e.key),this.modalWindowService.show(e.key,this.route.parent)}},{key:"navigateToEdit",value:function navigateToEdit(e){var t=this;if(e.commandName!==Ba&&this.entityData.metadata.setName!==e.dataItem.metadata.setName){var n={culture:this.entityData.culture,provider:this.entityData.provider,metadata:e.dataItem.metadata};this.processTitleChange(n)}var i=(0,Re.Z)((0,Qe.Z)(DynamicItemIndexComponent.prototype),"navigateToEdit",this).call(this,e);return e.dataItem.metadata.hasLifecycle&&!e.openDialog&&this.store.dispatch(RA.Oc.close(!1,!1)),this.registerSubscription(i.subscribe((function(n){n.hasOwnProperty("isLoading")&&(t.isLoading=n.isLoading);var i=t.gridExtender.shouldReloadItemsAfterEdit(e,n);n.success&&i.reloadGrid&&t.reload(),i.reloadTasks&&t.longRunningProgressComponent&&t.longRunningProgressComponent.refresh(null)}))),i}},{key:"handleRouteChanges",value:function handleRouteChanges(){this.handleNavigationEnd(),this.handleRouteRecognized()}},{key:"handleNavigationEnd",value:function handleNavigationEnd(){var e=this,t=this.router.events.pipe((0,Bi.h)((function(e){return e instanceof m.m2}))).subscribe((function(t){e.clearNotificationsForCurrentFilter(),e.stopLoading()}));this.registerSubscription(t)}},{key:"handleRouteRecognized",value:function handleRouteRecognized(){var e=this,t=this.router.events.pipe((0,Bi.h)((function(e){return e instanceof m.R9}))).subscribe((function(t){e.triggerLoading()}));this.registerSubscription(t)}},{key:"clearNotificationsForCurrentFilter",value:function clearNotificationsForCurrentFilter(){var e=this;this.hasNotifications&&this.notificationService.getNotification().pipe((0,kn.P)()).subscribe((function(t){t&&t.filterParam===e.notificationFilter||e.notificationService.close()}))}},{key:"triggerLoading",value:function triggerLoading(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.autoTriggerLoading&&(this.isLoading=e)}},{key:"stopLoading",value:function stopLoading(){this.triggerLoading(!1)}},{key:"onActionButtonClickedFallback",value:function onActionButtonClickedFallback(e,t,n){var i=this;if(n.actionName===$.q.create){var o=null;if(n.item.metadata.ignoreParentChildRelationship&&!n.item.metadata.isMedia){var a=this.route.snapshot.queryParams[g.V5.FILTER];a&&a.indexOf("Parent,")>-1&&(o=this.route.snapshot.queryParams[g.V5.FILTER].replace("Parent,",""))}else n.item.metadata.hasParent&&this.route.snapshot.params.parentId&&(o=this.route.snapshot.params.parentId);this.registerSubscription(this.navigateToEdit(new ee.vi({dataItem:ee.zw.emptyItem(n.item),parentId:o,parentItem:this.parentItem,openDialog:this.gridExtender.openEditItemInDialog(n.item),navigateToChildrenAfterCreate:n.data?n.data.navigateToChildrenAfterCreate:void 0})).subscribe((function(e){e.success&&i.operationCompleted$.next({modifiedItemIds:[],operationName:n.actionName})})))}else if(n.actionName===$.q.createChild){var r=n.item.data.Id;this.registerSubscription(this.navigateToEdit(new ee.vi({dataItem:ee.zw.emptyItem(n.item),parentId:r,prepopulatedFields:{ParentId:r},commandName:Ba,navigateToChildrenAfterCreate:n.data?n.data.navigateToChildrenAfterCreate:void 0})).subscribe((function(e){e.success&&i.operationCompleted$.next({modifiedItemIds:[],operationName:n.actionName})})))}else if(n.actionName===$.q.createChildCategory){var s=n.item.data[u.gb.TAXONOMY_ID];this.navigateToEdit(new ee.vi({dataItem:ee.zw.emptyItem(n.item),parentId:s,prepopulatedFields:{ParentId:t.data.Id,TaxonomyId:s},commandName:Ba}))}else if(n.actionName===$.q.reorder){var l;l=this.entityData.metadata.typeFullName===md.ZP.HIERARCHICAL_TAXON_FULL_NAME?{entityData:n.item,parentItem:this.parentItem,treeConfig:{drag:!0,noSelection:!0}}:y.xe.isLibraryOrMedia(this.entityData.metadata.setName)&&!y.xe.isFolderEntity(this.entityData)?{entityData:n.data,parentItem:n.item}:{entityData:n.item,parentItem:this.parentItem},this.registerSubscription(new nx(this.modalWindowService,this.dynamicItemStore,this.route,this.notificationService).execute({currentRoute:this.route,model:null,data:l}).subscribe((function(){return i.reload()})))}else if(n.actionName===$.q.edit||n.actionName===$.q.view||n.actionName===$.q.editContent)this.registerSubscription(this.navigateToEdit(new ee.vi({dataItem:t,commandName:n.actionName,navigateToChildrenAfterCreate:n.data?n.data.navigateToChildrenAfterCreate:void 0})).subscribe((function(e){!e.success||n.actionName!==$.q.edit&&n.actionName!==$.q.view||i.operationCompleted$.next({modifiedItemIds:[],operationName:n.actionName})})));else if(n.actionName===$.q.duplicate)this.navigateToEdit(new ee.vi({dataItem:t,commandName:$.q.duplicate}));else if(n.actionName===$.q.siteSync)this.singleItemSync(t,e);else if(n.actionName===$.q.move)this.moveToAnotherParent(n);else if(n.actionName===$.q.moveTaxon)new zk(this.modalWindowService,this.dynamicItemStore,this.window).execute({currentRoute:this.route,model:null,data:{entityData:this.route.snapshot.data.dynamicItems,selectedItems:[n.item],parentId:this.route.snapshot.params.parentId,contextParameters:e.contextParameters}});else{var c={actionButton:e,actionButtonStateService:null,route:this.route,updateItem:{dataItem:t,data:null,dataFieldNames:this.dataFieldNames}};this.registerSubscription(this.gridExtender.executeServerAction(this.serverOperationExecutor,c).subscribe((function(t){t&&(i.notificationService.publishNotificationFromOperationResult(t,i.notificationFilter),t.operationData&&t.operationData.skipReload||i.reload(i.route.snapshot.queryParams),t.operationResult&&t.operationResult.Success&&i.operationCompleted$.next({operationName:e.name,modifiedItemIds:[]}))}),(function(n){if(n instanceof HA.I&&"ParentHasChildren"===n.code){var o=Uk.getItemCannotBeDeletedModalSettings([t],{action:e},new Ft.xQ);i.modalWindowService.openModalConfirmation(i.route,o,t)}else i.handleSaveError(t,e.name,n)})))}}},{key:"moveToAnotherParent",value:function moveToAnotherParent(e){var t=this;return new cx(this.modalWindowService,this.dynamicItemStore.service,this.notificationService,this.container,this.sortService,this.childrenCountStore).execute({currentRoute:e.route,data:{dataItem:e.item},model:null}).subscribe((function(){t.reload()}))}},{key:"loadOperationsForList",value:function loadOperationsForList(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=this.gridExtender.isHierarchical(this.route),i=new W(ee.zw.emptyItem(this.entityData),z.List,this.parentItem,{origin:this.window.location.href,isHierarchicalView:n});t||(i.additionalQueryParams={fake_param_to_clear_cache:v.WP.EMPTY_STRING}),this.registerSubscription(this.operationsProvider.getOperations(i).subscribe((function(t){e.sidebarOperations.next(t)}))),this.registerSubscription(this.operationsProvider.getListMainOperations(this.entityData,this.parentItem,n).subscribe((function(t){e.operations.next(t)})))}},{key:"loadOperationsForBulk",value:function loadOperationsForBulk(){var e=this,t=new re.t(1);if(this.entityData){var n=this.gridExtender.modifyEntityDataForBulkOperations(this.entityData,this.presenterTemplate);this.registerSubscription(this.operationsProvider.getBulkOperations(n,this.parentItem).subscribe((function(n){e.bulkOperations=n,e.bulkActionMenuOperations.next(n),e.treeConfig.multiSelection=n.length>0,e.refreshTreeConfig(),t.next(n)})))}}},{key:"clearNotificationsOnFilterChange",value:function clearNotificationsOnFilterChange(e){var t=e[g.V5.SEARCH],n=e[g.V5.FILTER];(t&&this.currentSearchQueryParam!==t||n&&this.currentFilterQueryParam!==n)&&this.notificationService.close(this.notificationFilter),this.currentSearchQueryParam=t,this.currentFilterQueryParam=n}},{key:"initNavMenu",value:function initNavMenu(){if(!this.topSearch||!this.scrollLeft||!this.topMenuOptions)throw new Error("One or more navigation templates are missing");if(this.navbarConfiguration={mode:this.isNavigationEmbedded?XA.OneColumn:XA.TwoColumns,leftNavbarButtonData:{show:!this.isNavigationEmbedded,look:"toggle",icon:"bars",mode:KA.Back,title:"Menu"},look:this.isNavigationEmbedded?"integration-list":v.WP.EMPTY_STRING,templates:[this.topSearch]},!this.isNavigationEmbedded){if(!this.sidebarToggleButtons)throw new Error("Sidebar toggle buttons template is missing");this.navbarConfiguration.templates.push(this.sidebarToggleButtons)}this.navbarConfiguration.scrollTemplates=[this.scrollLeft,this.topMenuOptions]}},{key:"onSortExpressionChanged",value:function onSortExpressionChanged(e){this.navigate([],{queryParams:(0,Ae.Z)({},g.Tx.SORT,e),queryParamsHandling:ux})}},{key:"handleSaveError",value:function handleSaveError(e,t,n){var i;n instanceof $o.d?this.handleNonExistentItem(e):(i=n instanceof HA.I?"1 item failed to ".concat(t.toLowerCase(),". ").concat(n.message):"An error occurred while trying to ".concat(t.toString()," this item."),this.notificationService.publishNotification({type:Qa,properties:{message:i},look:ya.ERROR,closeButton:!0,filterParam:this.notificationFilter,duration:g.De}))}},{key:"initializeSearchParam",value:function initializeSearchParam(){var e=this,t=this.route.snapshot.queryParams,n=Object.assign({},t)[g.V5.SEARCH];n?this.contentFilterService.deserializeQueryParams(n).forEach((function(t){e.searchParameter=t.value.toString()})):this.searchParameter=v.WP.EMPTY_STRING;this.executedSearchParameter=this.searchParameter}},{key:"initialize",value:function initialize(){var e=this;this.presenterTemplate=this.gridExtender.getPresenterTemplate(this.entityData),this.gridExtender.initialize(this.router,this.entityData),this.sidebarOperations=new re.t,this.isHierarchical=this.entityData.metadata.hasChildren&&!this.entityData.metadata.isSelfReferencing,this.pluralName$.next(null),this.initializeSearchParam(),this.columnsSubscription&&this.columnsSubscription.unsubscribe();var t=this.route.parent.snapshot.data.siteDataStore;this.initSidebars(),this.columnsSubscription=this.columnsGenerator.generateColumns(this.entityData,t).subscribe((function(t){e._columns.next(t),e._columnsArray=t,e.noWidthConstraint=e.calcHasManyColumns(t)&&e.presenterTemplate===d.wf.List,e.dataFieldNames=e.gridExtender.getDataFieldNames(t,e.entityData),e.processQueryParamsChanges(),e.setListLook(t,e.entityData.metadata)})),this.registerSubscription(this.columnsSubscription)}},{key:"setListLook",value:function setListLook(e,t){var n=[];e.find((function(e){return e.isGrouping}))&&n.push("sf-ml-m"),!(t.hasChildren||t.isSelfReferencing||t.hasLifecycle||t.hasContent)&&n.push("center-vertical"),this.entityData.metadata.isMedia&&n.push("sf-mt-xs"),this.listLook=n.join(v.WP.INTERVAL)}},{key:"initSidebars",value:function initSidebars(){var e=this,t=this.gridExtender.getQuickNavigationSidebarSections(this.entityData,this.parentItem),n=this.gridExtender.getSettingsSidebarSections(this.sidebarOperations,this.entityData),i=this.gridExtender.getCustomSidebars({currentRoot:this.parentItem,entityData:this.entityData,parent$:this.parent$,route:this.route,operationCompleted$:this.operationCompleted$});this.registerSubscription((0,s.aj)([t,n,i]).subscribe((function(t){var n=(0,q.Z)(t,3),i=n[0],o=n[1],a=n[2],r=e.gridExtender.getSidebarsExternalKeys(e.entityData),s={entityType:e.entityData.metadata.typeFullName,externalKey:r,buttons:[]};if(i&&i.length&&!s.buttons.find((function(e){return"quickNavigation"===e.name}))){var l={type:ox,title:"Quick navigation sidebar",updatePropertiesOnChange:!0,removePreviousView:!0,properties:{sections:i,selectedLinkName:null===e.parentItem?e.gridExtender.getSidebarDisplayName(e.entityData,null):e.parentItem.data.Name}};s.buttons.push({title:e.gridExtender.getQuickNavigationSidebarTitle(e.entityData,e.parentItem),icon:"sitemap",data:l,name:"quickNavigation",look:_h})}var c=e.gridExtender.getDisabledFilterLoaders(e.route),d={type:OA,title:"Filter",properties:{entityData$:e.entityData$,filterValue:e.activeFilter.asObservable(),displayName:e.gridExtender.getSidebarDisplayName(e.entityData,e.parentItem),disabledFilterLoaders:c,onFilterSelect:function onFilterSelect(t){return e.onFilterSelect(t)},showSorters:e.gridExtender.showSorters(e.entityData),showFilters:e.gridExtender.showFilters(e.entityData),loadFiltersCount:e.loadFiltersCount},updatePropertiesOnChange:!0,removePreviousView:!0};s.buttons.push({title:e.gridExtender.getFilterSidebarTitle(e.entityData,e.parentItem),icon:"filter",data:d,name:"filter",look:_h});var u={type:Kk,title:"Settings",updatePropertiesOnChange:!0,removePreviousView:!0,properties:{sections:o},afterComponentInit:function afterComponentInit(t){t.selectedSettingName=e.presenterTemplate}};o&&o.length&&!s.buttons.find((function(e){return"settings"===e.name}))&&s.buttons.push({title:e.gridExtender.getSettingsSidebarTitle(e.entityData,e.parentItem),icon:"cog",data:u,name:"settings",look:_h});var f,p=(0,Qn.Z)(a);try{var A=function _loop(){var e=f.value,t=s.buttons.findIndex((function(t){return t.name===e.name}));-1!==t?s.buttons[t]=e:s.buttons.splice(e.position,0,e)};for(p.s();!(f=p.n()).done;)A()}catch(e){p.e(e)}finally{p.f()}e.store.dispatch(RA.Oc.configure(s)),e.sidebarData=s,e.route.snapshot.queryParams[g.V5.FILTER]&&!e.isSidebarOpen&&e.store.dispatch(RA.Oc.changeAndOpen(e.sidebarData.buttons.find((function(e){return"filter"===e.name})),!1))})))}},{key:"onFilterSelect",value:function onFilterSelect(e){this.scrollService.scrollToTop(!1);var t={};(e=e||null)?(t[g.V5.SEARCH]=void 0,this.searchParameter=null,t[g.V5.FILTER]=e,this.entityData.metadata.isSelfReferencing&&!this.route.snapshot.queryParams[g.V5.SORT]&&(t[g.V5.SORT]=fa)):(t[g.V5.FILTER]=void 0,this.entityData.metadata.isSelfReferencing&&this.route.snapshot.queryParams[g.V5.SORT]&&(t[g.V5.SORT]=void 0)),this.navigate([],{queryParams:t,queryParamsHandling:ux})}},{key:"processRouteParamsChanges",value:function processRouteParamsChanges(){var e=this;this.routeParamsSubscription&&this.routeParamsSubscription.unsubscribe(),this.routeParamsSubscription=this.route.params.subscribe((function(t){e.resetGridState()})),this.registerSubscription(this.routeParamsSubscription)}},{key:"resetGridState",value:function resetGridState(){this.populateEntityData({}),this.scrollService.scrollToTop(!1);var e=ca.wrap({dataItems:[],totalCount:0,loadingItemsCount:1});this.itemsState$.next(e),this.initialize(),this.longRunningProgressComponent&&this.longRunningProgressComponent.refresh([])}},{key:"processQueryParamsChanges",value:function processQueryParamsChanges(){var e=this;this.queryParamsSubscription&&this.queryParamsSubscription.unsubscribe(),this.queryParamsSubscription=this.route.queryParams.pipe((0,xn.g)(0)).subscribe((function(t){if(e.entityData.metadata.setName===e.route.snapshot.data.dynamicItems.metadata.setName){e.populateEntityData(t);var n=e.parentService.getParentEntity(e.entityData);n&&(e.parentDisplayName=n.displayName),e.parentService.getParentItem(e.entityData,e.parentId).subscribe((function(n){e.parentItem=n,e.processTitleChange(e.entityData),e.processItemsChanges(),e.initializeSearchParam(),e.clearNotificationsOnFilterChange(t),e.loadOperationsForList(),e.loadOperationsForBulk(),e.onClearSelection();var i=t[g.V5.FILTER]||null;e.activeFilter.next(i),e.reload(t),e.parent$.next(n),e.navigationComponentData$.next(e.gridExtender.getNavigationComponentData(e.entityData,{clickHandler:function clickHandler(t){return e.navigateToIndex(t)},enterButtonHandler:function enterButtonHandler(t){return e.navigateToIndex(t)},entityData:e.entityData,itemsState$:e.itemsState$,parentItem:n,parentDisplayName:e.parentDisplayName}))}),(function(t){if(t instanceof $o.d){for(var n=e.route.parent.snapshot.data[g.u0.metadata],i=e.entityData.metadata.parent;;){if(i){var o=n.entities[i];if(o.hasParent){i=o.parent;continue}}break}e.entityData.metadata.ignoreParentChildRelationship&&(i=e.entityData.metadata.setName),e.router.navigate([So.CONTENT,i],{queryParamsHandling:"preserve"})}}))}else if(y.xe.isLibrary(e.entityData.metadata.setName)||y.xe.isMediaEntity(e.entityData)){var i=ca.wrap({dataItems:[],totalCount:0,loadingItemsCount:1});e.itemsState$.next(i),e.resetGridState()}})),this.registerSubscription(this.queryParamsSubscription)}},{key:"refreshTreeConfig",value:function refreshTreeConfig(){this.treeConfig=Object.assign({},this.treeConfig)}},{key:"populateEntityData",value:function populateEntityData(e){var t=this.route.snapshot.data.dynamicItems,n=e[g.Tx.PROVIDER]||t.provider;this.entityData={metadata:t.metadata,culture:t.culture,provider:n},this.entityData$.next(this.entityData)}},{key:"processTitleChange",value:function processTitleChange(e){var t=this,n=this.includeChildSetInTitle();this.registerSubscription(this.gridExtender.getTitle({entityData:e,parentItem:this.parentItem,includeChildSet:n,route:this.route}).subscribe((function(e){t.displayName$.next(e)}))),this.registerSubscription(this.gridExtender.getSingleItemName({entityData:e,parentItem:this.parentItem,includeChildSet:n,route:this.route}).subscribe((function(e){t.singularName$.next(e),t.singularName=e.primary}))),this.registerSubscription(this.gridExtender.getPluralItemName({entityData:e,parentItem:this.parentItem,includeChildSet:n,route:this.route}).subscribe((function(e){t.pluralName$.next(e)})))}},{key:"processItemsChanges",value:function processItemsChanges(){var e=this;this.itemsSubscription&&this.itemsSubscription.unsubscribe(),this.itemsSubscription=this.dynamicItemStore.getItems(this.entityData).pipe((0,EA.T)(1),(0,w.U)((function(e){return ca.wrap(e)}))).subscribe((function(t){t.isLoadingItems||(e.updateFilterAndSearchActivity(),e.gridExtender.syncExpandedNodeIds({dataItems:t.dataItems,entityData:e.entityData,expandedIds:e.treeConfig.expandedNodeIds})),e.itemsState$.next(t),e.navbarConfiguration.isScrollEnabled=t.hasLoadedItems||!t.hasLoadedItems&&t.isLoadingItems})),this.registerSubscription(this.itemsSubscription)}},{key:"updateFilterAndSearchActivity",value:function updateFilterAndSearchActivity(){this.isFilterActive=!!this.route.snapshot.queryParams[g.V5.FILTER],this.isSearchActive=!!this.route.snapshot.queryParams[g.V5.SEARCH]}},{key:"processCss",value:function processCss(e){var t="sf-main-list-header -sf-mb-2xs sf-main__header";this.entityData.metadata.isMedia&&(t+=" -media"),this.areItemsFiltered||e.hasItems||e.isLoadingItems||(t+=" -empty"),this._cssClass$.next(t)}},{key:"navigateToIndex",value:function navigateToIndex(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.registerSubscription(this.gridExtender.executeNavigateCommand(this.router,this.route,e,this.entityData,t).subscribe())}},{key:"includeChildSetInTitle",value:function includeChildSetInTitle(){return this.entityData.metadata.typeFullName!==u.Z8&&this.entityData.metadata.typeFullName!==md.ZP.FLAT_TAXON_FULL_NAME&&this.entityData.metadata.typeFullName!==md.ZP.HIERARCHICAL_TAXON_FULL_NAME}},{key:"calcHasManyColumns",value:function calcHasManyColumns(e){var t=33,n=fx-350;return e.forEach((function(e){e.css?e.css.includes("-col-size-4xs")?t+=30:e.css.includes("-col-size-3xs")?t+=50:e.css.includes("-col-size-2xs")?t+=100:e.css.includes("-col-size-xs")?t+=120:e.css.includes("-col-size-s")?t+=150:e.css.includes("-col-size-m")?t+=200:e.css.includes("-col-size-l")?t+=250:e.css.includes("-col-size-xl")?t+=300:t+=150:t+=150})),t>n}},{key:"initEmptyScreenIcon",value:function initEmptyScreenIcon(){this.emptyScreenIcon=this.gridExtender.getEmptyScreenIcon(this.entityData)}},{key:"getSort",value:function getSort(e){var t=this.gridExtender.getDefaultSort(this.entityData);return e&&(t=e[g.Tx.SORT]||t),this.sortParameter=t,t}},{key:"updateGroupColumnVisibility",value:function updateGroupColumnVisibility(e){var t=this._columnsArray.find((function(e){return e.isGrouping}));if(e&&t&&t.dataFieldNames){var n=!0;t.dataFieldNames.forEach((function(t){e.toLowerCase().indexOf(t.toLowerCase())>=0&&(n=!1)})),t.hidden!==n&&(t.hidden=n,this._columns.next(this._columnsArray.slice()))}}},{key:"handleKeyboardShortcuts",value:function handleKeyboardShortcuts(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,g.Xm.DYNAMIC_ITEM_INDEX,!0).subscribe((function(t){if(t)switch(t.type){case ps.SelectAll:e.triggerKeyboardShortcutSelecAll(t);break;case ps.Create:e.triggerKeyboardShortcutAction(t);break;case ps.Escape:e.onClearSelection()}}));this.registerSubscription(t)}},{key:"triggerKeyboardShortcutSelecAll",value:function triggerKeyboardShortcutSelecAll(e){this.treeConfig.multiSelection&&!this.gridExtender.isHierarchical(this.route)&&(e.event.preventDefault(),this.onSelectAll())}},{key:"triggerKeyboardShortcutAction",value:function triggerKeyboardShortcutAction(e){!this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.onActionButtonClicked(e.action,null))}}]),DynamicItemIndexComponent}(is);px.ctorParameters=function(){return[{type:pd},{type:ga},{type:m.gz},{type:ki.bL},{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:$k},{type:Nt.a},{type:fe},{type:Ut.Ye},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:cd},{type:Ic},{type:sm},{type:Os},{type:l.sBO},{type:nd},{type:b.y},{type:Rb},{type:$s},{type:Hs.dk},{type:Yr},{type:Aa},{type:sa},{type:dx}]},px.propDecorators={enterLeaveAnimation:[{type:l.pfw,args:["@enterLeaveAnimation"]}],classes:[{type:l.pfw,args:["class"]}],listComponent:[{type:l.i9L,args:["listComponent",{static:!1}]}],thumbNailComponent:[{type:l.i9L,args:["thumbnailListComponent",{static:!1}]}],longRunningProgressComponent:[{type:l.i9L,args:["longRunningProgressComponent",{static:!1}]}],topSearch:[{type:l.i9L,args:["topSearch",{static:!0}]}],sidebarToggleButtons:[{type:l.i9L,args:["sidebarToggleButtons",{static:!0}]}],topMenuOptions:[{type:l.i9L,args:["topMenuOptions",{static:!0}]}],scrollLeft:[{type:l.i9L,args:["scrollLeft",{static:!0}]}],onViewModeChanged:[{type:l.L6J,args:["window:gridViewStateChanged"]}],reload:[{type:l.L6J,args:["window:".concat(ac)]},{type:l.L6J,args:["window:".concat(rc)]}]},px=(0,a.gn)([(0,l.wA2)({template:Bk,animations:[(0,Oe.X$)("enterLeaveAnimation",[(0,Oe.eR)(pt,[(0,Oe.oB)({opacity:.5}),(0,Oe.jt)("0ms 200ms",(0,Oe.oB)({opacity:1}))])]),rI],providers:[Os,ae._U]}),(0,a.w6)("design:paramtypes",[pd,ga,m.gz,ki.bL,m.F0,Window,$k,Nt.a,fe,Ut.Ye,La,cd,Ic,sm,Os,l.sBO,nd,b.y,Rb,$s,Hs.dk,Yr,Aa,sa,dx])],px);var Ax=function(){function BackendTweaksGridResolver(e){(0,i.Z)(this,BackendTweaksGridResolver),this.backendTweaksStore=e}return(0,o.Z)(BackendTweaksGridResolver,[{key:"resolve",value:function resolve(e,t){var n=No.getSet(e.parent);return this.backendTweaksStore.initializeGrid(n)}}]),BackendTweaksGridResolver}();Ax.ctorParameters=function(){return[{type:yl}]},Ax=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[yl])],Ax);var mx=function(e){(0,f.Z)(DynamicItemsResolver,e);var t=(0,p.Z)(DynamicItemsResolver);function DynamicItemsResolver(e,n,o,a,r){var s;return(0,i.Z)(this,DynamicItemsResolver),(s=t.call(this,e,n,o,r)).filterStore=a,s.persistCulture=!0,s}return(0,o.Z)(DynamicItemsResolver,[{key:"resolve",value:function resolve(e,t){var n=this,i=(0,Re.Z)((0,Qe.Z)(DynamicItemsResolver.prototype),"resolve",this).call(this,e,t);if(!i)return(0,r.of)(null);var o=e.parent.queryParams[g.V5.FILTER],a=e.parent.params[g.UY.PARENT_ID_SEGMENT];return this.filterStore.filterValid(i,o,a).pipe((0,w.U)((function(o){return o?i:(n.clearFilter(e,t),null)})))}}]),DynamicItemsResolver}(Fo);mx.ctorParameters=function(){return[{type:eo},{type:m.F0},{type:Qt.Zr},{type:Vr},{type:Qo}]},mx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[eo,m.F0,Qt.Zr,Vr,Qo])],mx);var gx=n(669),hx=function(){function DynamicItemRouterComponent(){(0,i.Z)(this,DynamicItemRouterComponent)}return(0,o.Z)(DynamicItemRouterComponent,[{key:"onActivate",value:function onActivate(e){this.routeActive=!0}},{key:"onDeactivate",value:function onDeactivate(e){this.routeActive=!1}},{key:"animationStarted",value:function animationStarted(e){this.isAnimating=!0}},{key:"animationDone",value:function animationDone(e){this.isAnimating=!1}}]),DynamicItemRouterComponent}();hx=(0,a.gn)([(0,l.wA2)({template:gx,animations:[(0,Oe.X$)("routerAnimations",[(0,Oe.eR)(isAnimationTypeRightToLeft,nI),(0,Oe.eR)(isAnimationTypeLeftToRight,iI),(0,Oe.eR)((function isAnimationTypeFromTop(e,t){return e===Eo&&t===uo}),oI),(0,Oe.eR)(isAnimationTypeToTop,aI)])]})],hx);var vx=n(670),bx=function(){function ContentComponent(e,t,n){(0,i.Z)(this,ContentComponent),this.modulesProvider=e,this.route=t,this.router=n,this.classes="sf-host -animated",this.twoColumnsBreak=7,this.threeColumnsBreak=13,this.closeButtonAnimationCondition="",this.contentRoute="/".concat(So.CONTENT)}return(0,o.Z)(ContentComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.navbarConfiguration={leftNavbarButtonData:{look:"toggle",icon:"times",show:!1,mode:KA.Close},mode:XA.None,look:"in-menu",isScrollEnabled:!1},this.columns=this.modulesProvider.getModules(),this.centered=this.columns.pipe((0,w.U)((function(t){if(1===t.length){if(t[0].types.length-1&&(n=e.substring(0,t)),n.split(v.WP.FORWARD_SLASH).filter((function(e){return e.length>0}))}}]),ProviderRouteGuard}();yx.ctorParameters=function(){return[{type:m.F0},{type:eo}]},yx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,eo])],yx);var Ex=n(671),Ix=n(183),wx=n(672),kx=function(e){(0,f.Z)(TreeSidebarComponent,e);var t=(0,p.Z)(TreeSidebarComponent);function TreeSidebarComponent(){var e;return(0,i.Z)(this,TreeSidebarComponent),(e=t.apply(this,arguments)).nodes=[],e.treeConfig={noSelection:!1,multiSelection:!1,isHierarchical:!1,status:!0,skipNodeMappingToDefaultModel:!0,clickable:!0,stopPropagationOnClick:!0,treeProperties:{idField:"id",displayField:"title",hasChildrenField:"hasChildren",isExpandedField:"isExpanded"}},e.showEmptyMessageLabel=!1,e}return(0,o.Z)(TreeSidebarComponent,[{key:"onInitialized",value:function onInitialized(){var e=this,t=this.activeComponent.subscribe((function(t){e.selectNode(t)}));this.registerSubscription(t);var n=this.treeModelChange.subscribe((function(t){e.nodes.splice(0,e.nodes.length),t.forEach((function(t){return e.nodes.push(t)})),e.showEmptyMessageLabel=0===e.nodes.length,e.tree.updateTreeModel(),e.tree.expandAllNodes(),e.selectNode(e.selectedNode)}));this.registerSubscription(n)}},{key:"onTreeNodeClicked",value:function onTreeNodeClicked(e){this.selectComponent(e.data.id)}},{key:"selectNode",value:function selectNode(e){if(e){this.selectedNode=e;var t=this.tree.getNodeBy((function predicate(t){return t.data.id.toString()===e}));t&&this.tree.selectAndActivateNodeById(t.id)}}}]),TreeSidebarComponent}(E.zu);kx.propDecorators={tree:[{type:l.i9L,args:[Pn,{static:!1}]}],selectComponent:[{type:l.IIB}],activeComponent:[{type:l.IIB}],treeModelChange:[{type:l.IIB}],emptyMessageLabel:[{type:l.IIB}]},kx=(0,a.gn)([(0,l.wA2)({template:wx})],kx);var xx,Cx,Sx=new l.OlP("zone_editor_extender_token"),Bx=function(){function ZoneEditorBaseExtender(){(0,i.Z)(this,ZoneEditorBaseExtender)}return(0,o.Z)(ZoneEditorBaseExtender,[{key:"canHandle",value:function canHandle(e){return!1}},{key:"getEmptyRootCssClasses",value:function getEmptyRootCssClasses(){return[]}},{key:"useNarrowLook",value:function useNarrowLook(){return!1}},{key:"getInitialWidgetSelectorTabName",value:function getInitialWidgetSelectorTabName(){return"Layout"}},{key:"handleAction",value:function handleAction(e,t,n){return(0,r.of)(null)}}]),ZoneEditorBaseExtender}(),Dx=function(){function ZoneEditorCompositeExtender(e){(0,i.Z)(this,ZoneEditorCompositeExtender),this.extenders=e}return(0,o.Z)(ZoneEditorCompositeExtender,[{key:"handleAction",value:function handleAction(e,t,n,i){return this.getExtender(e).handleAction(n,t,i)}},{key:"getEmptyRootCssClasses",value:function getEmptyRootCssClasses(e){return this.getExtender(e).getEmptyRootCssClasses()}},{key:"useNarrowLook",value:function useNarrowLook(e){return this.getExtender(e).useNarrowLook()}},{key:"getInitialWidgetSelectorTabName",value:function getInitialWidgetSelectorTabName(e){return this.getExtender(e).getInitialWidgetSelectorTabName()}},{key:"getExtender",value:function getExtender(e){var t,n=(0,Qn.Z)(this.extenders);try{for(n.s();!(t=n.n()).done;){var i=t.value;if(i.canHandle(e))return i}}catch(e){n.e(e)}finally{n.f()}return new Bx}}]),ZoneEditorCompositeExtender}();Dx.ctorParameters=function(){return[{type:Array,decorators:[{type:l.FiY},{type:l.tBr,args:[Sx]}]}]},Dx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array])],Dx),function(e){e.Or="or",e.And="and"}(xx||(xx={})),function(e){e.Any="Or",e.All="And"}(Cx||(Cx={}));var Tx=(0,o.Z)((function FormsConstants(){(0,i.Z)(this,FormsConstants)}));Tx.CREATE_A_RULE="Create a rule",Tx.EDIT_A_RULE="Edit a rule",Tx.CREATE_THIS_RULE="Create this rule",Tx.SAVE_THIS_RULE="Save this rule",Tx.CANCEL="Cancel",Tx.BACK_TO_FORMS="Back to Forms in Sitefinity",Tx.MESSAGE="message",Tx.EMAIL_ADDRESS="email address",Tx.PAGE="page",Tx.PAGE_DOES_NOT_EXIST="Selected page does not exist",Tx.INPUT_PLACEHOLDER="type field value...",Tx.SELECTED_PAGE_DOES_NOT_EXIST="Selected page doesn't exist anymore.",Tx.SHOW_HIDE_TOOLTIP_TITLE="Show or hide fields",Tx.SHOW_HIDE_TOOLTIP_MESSAGE="You can show a field only if it has already been hidden. If you want a form field to be hidden by default when the page loads, you can configure this from the form edit screen.",Tx.SEND_NOTIFICATION={TEXT_AREA:{INSTRUCTIONAL_TEXT:"Enter email addresses, one per line.",PLACEHOLDER:"email@example.com"}},Tx.ROUTES={RULES:"rules",INTEGRATED:"integrated",CREATE_FORM_RULE_DIALOG:"CreateFormRule",SITEFINITY_OLD_BACKEND_EDIT_FORM_RULE_EVENT_NAME:"edit-form-rule",SITEFINITY_OLD_BACKEND_REFRESH_RULES_EVENT_NAME:"refresh_form_rules",ADMIN_APP_CONTROL_CLASS:"sfAdminAppControl"},Tx.STATIC_FORM_FIELDS=["PageBreak","Captcha","SectionHeader","FormNavigation","Hidden","Submit"],Tx.CONDITION_OPERATORS={Equal:"Equal",NotEqual:"NotEqual",Contains:"Contains",NotContains:"NotContains",IsFilled:"IsFilled",IsNotFilled:"IsNotFilled",IsLessThan:"IsLessThan",IsGreaterThan:"IsGreaterThan",FileSelected:"FileSelected",FileNotSelected:"FileNotSelected"},Tx.FORM_FIELD_TYPE={TEXTBOX:"Textbox",PARAGRAPH:"Paragraph",MULTIPLE_CHOICE:"MultipleChoice",CHECKBOX:"Checkbox",DROPDOWN:"DropDown",FILE_UPLOAD:"FileUpload"},Tx.FORM_ACTION_TYPE={SHOW:"Show",HIDE:"Hide",SKIP:"Skip",GOTO:"GoTo",SHOW_MESSAGE:"ShowMessage",SEND_NOTIFICATION:"SendNotification"},Tx.TEXT_INPUT_TYPE={DATE:"Date",MONTH:"Month",TIME:"Time",DATE_TIME:"DateTime",DATE_TIME_LOCAL:"DateTimeLocal",WEEK:"Week",RANGE:"Range",COLOR:"Color",NUMBER:"Number"},Tx.TIMEZONE_OFFSET=0;var Mx="-sf-new-zone-editor",Nx=function(e){(0,f.Z)(ZoneEditorComponent,e);var t=(0,p.Z)(ZoneEditorComponent);function ZoneEditorComponent(e,n,o,a,r,s,l,c,d,u,f,p,A,m){var g;return(0,i.Z)(this,ZoneEditorComponent),(g=t.call(this)).router=e,g.zoneEditorContract=n,g.windowProvider=o,g.notificationService=a,g.serviceOperationsExecutor=r,g.buttonStateService=s,g.route=l,g.operationProvider=c,g.pagesCommonActionHandler=d,g.store=f,g.modalWindowService=p,g.zoneEditorCompositeExtender=A,g.settings=m,g.visible=!1,g.activeComponent=new re.t,g.treeModelChange=new re.t(0),g.item$=new he.X(null),g.operations=new re.t(1),g.renderer=u.createRenderer(null,null),g.generalActionOperations=new he.X([]),g.customOperations=new he.X([]),g.additionalActionOperations=new he.X([]),g.personalizationOperations=new he.X([]),g}return(0,o.Z)(ZoneEditorComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.handleLockedItemEdit(),this.loading=!0,this.registerSubscription(this.buttonStateService.getState$().subscribe((function(t){e.buttonsState=t})));var t=this.route.snapshot.data.itemData.entityData;this.navbarConfiguration={title:this.item$.pipe((0,w.U)((function(e){return e.title}))),look:"toggle ".concat(Ck),leftNavbarButtonData:{title:"All ".concat(t.metadata.displayName.toLowerCase()),autoNavigateBack:t.metadata.setName!==u.gl.FORMS}},this.registerSubscription(this.route.data.subscribe((function(t){e.initFromRouteData(t)}))),this.renderer.addClass(this.windowProvider.document.body,Mx),this.registerSubscription(this.store.pipe(nm.isOpen).subscribe((function(t){return e.hasSidebar=t}))),this.emptyRootCssClasses=this.zoneEditorCompositeExtender.getEmptyRootCssClasses(t.metadata.setName),this.useNarrowLook=this.zoneEditorCompositeExtender.useNarrowLook(t.metadata.setName),this.initialWidgetSelectorTabName=this.zoneEditorCompositeExtender.getInitialWidgetSelectorTabName(t.metadata.setName)}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(ZoneEditorComponent.prototype),"ngOnDestroy",this).call(this),this.renderer.removeClass(this.windowProvider.document.body,Mx)}},{key:"onActionButtonClicked",value:function onActionButtonClicked(e){var t=this,n=e.name.split("_")[0];this.zoneEditorCompositeExtender.handleAction(this.entityData.metadata.setName,this.item$.getValue(),e,this.route).subscribe((function(i){if(null==i)switch(n){case $.q.rules:t.lock().pipe((0,Bi.h)((function(e){return!0===e}))).subscribe((function(){t.locked=!1,t.router.navigate([So.CONTENT,wo,Tx.ROUTES.RULES],{queryParams:{id:t.item$.getValue().key}})}));break;case $.q.changeCulture:t.handleChangeCulture(e);break;case $.q.edit:e.link?(e.link+="&backLabelLink=".concat(encodeURIComponent(t.windowProvider.location.href)),t.handleServerCommand(e)):t.handleNavigate();break;case $.q.duplicate:t.handleDuplicate();break;case $.q.mobilePreview:t.handleMobilePreview(e);break;case $.q.loadPersonalizedVersion:t.reloadWithCheckForChanges(e.sourceOperation);break;case $.q.deletePersonalizedVersion:t.handleDeletePersonalizedVersion(e);break;case $.q.loadPersonalizedWidgets:t.handlePersonalizedWidgetVersions(e);break;default:t.handleServerCommand(e)}else i.reload&&t.reload()}))}},{key:"onFrameLoaded",value:function onFrameLoaded(){this.loading=!1}},{key:"onAddWidgetClicked",value:function onAddWidgetClicked(e){this.registerSubscription(this.lock().pipe((0,Zi.K)((function(t){return e.ready.error(t),(0,ka.c)()})),(0,Bi.h)((function(e){return e}))).subscribe((function(){e.ready.next()})))}},{key:"onComponentClicked",value:function onComponentClicked(e){var t=this;this.registerSubscription(this.lock().pipe((0,Zi.K)((function(t){return e.ready.error(t),(0,ka.c)()})),(0,Bi.h)((function(e){return e}))).subscribe((function(){t.activeComponent.next(e.widgetId),e.ready&&t.zoneEditorContract.getWidgetOperations(e.dataItem,e.widgetId,e.segmentId,e.widgetSegmentId).pipe((0,Zi.K)((function(t){return e.ready.error(t),(0,ka.c)()}))).subscribe((function(t){e.ready.next(t)}))})))}},{key:"onComponentOperationExecuted",value:function onComponentOperationExecuted(e){var t=e.result.SourceOperation;if(t){var n=t.Category.Name===$.si.personalized||t.Category.Name===$.si.personalization;if(t.PerformsDelete&&e.component.isPersonalized||n){var i=this.route.snapshot.data.itemData;this.initOperations(i.item)}}}},{key:"onLayoutChanged",value:function onLayoutChanged(e){this.treeModelChange.next(e.getDirectChildrenAndChildrenFromChildContainers())}},{key:"onNavigateBack",value:function onNavigateBack(){var e=this;this.entityData.metadata.setName===u.gl.FORMS&&this.canDeactivate().subscribe((function(t){if(t){var n=e.entityData.culture?"?lang=".concat(e.entityData.culture):v.WP.EMPTY_STRING,i="".concat(e.settings.url,"Sitefinity/Content/Forms").concat(n);e.windowProvider.open(i,v.Mw)}}))}},{key:"canDeactivate",value:function canDeactivate(){var e=this;return this.locked?this.windowProvider.confirm(Cm)?(this.removeNotification(),this.zoneEditorContract.discard(this.item$.getValue()).pipe(this.catchErrorAndShowNotification(),(0,w.U)((function(e){return!0})),(0,ra.b)((function(t){return e.locked=!1})))):(0,r.of)(!1):(this.removeNotification(),(0,r.of)(!0))}},{key:"handleLockedItemEdit",value:function handleLockedItemEdit(){var e=this.route.snapshot.data.itemData.item;this.pagesCommonActionHandler.tryHandleAction({actionName:$.q.editContent,item:e,route:this.route,data:{component:this}})}},{key:"removeNotification",value:function removeNotification(){this.preserveNotificationOnBackNavigation||this.notificationService.close()}},{key:"configureSidebar",value:function configureSidebar(e){var t=this,n={buttons:[],externalKey:"zoneEditor",entityType:this.entityData.metadata.typeFullName};if(e)this.store.dispatch(RA.Oc.close(!1));else{var i={title:"Title",type:kx,updatePropertiesOnChange:!0,removePreviousView:!0,properties:{activeComponent:this.activeComponent,treeModelChange:this.treeModelChange,selectComponent:function selectComponent(e){t.enhancedPageComponenent.focusWidget(e)},emptyMessageLabel:this.state.EmptyMessageLabel}},o={title:"".concat(this.entityData.metadata.singularName," structure"),icon:"sitemap",data:i,name:"sitemap",look:_h};n.buttons.push(o)}this.store.dispatch(RA.Oc.configure(n))}},{key:"initFromRouteData",value:function initFromRouteData(e){this.loading=!1;var t=e.itemData;this.entityData=t.entityData,this.fallbackProperties=t.fallbackProperties,this.buttonStateService.updateActionButtonsState(null,oe.BN.Loading),this.initFromDataItem(t.item,!0,!1)}},{key:"initFromDataItem",value:function initFromDataItem(e,t,n){var i=this;this.item$.next(e);var o=this.route.snapshot.queryParams[g.Tx.SEGMENT];this.registerSubscription(this.zoneEditorContract.getState(e,o).pipe(this.catchErrorAndShowNotification()).subscribe((function(o){if(i.state=o,i.initOperations(e),i.state.LockedByCurrentUser&&(i.locked=!0),t){var a=e.data;o.EditAllowed?i.iFrameUrl=a.EditUrl:i.iFrameUrl=a.ViewUrl;var r="&";-1===i.iFrameUrl.indexOf("?")&&(r="?"),i.iFrameUrl="".concat(i.iFrameUrl).concat(r,"sf_version=").concat(i.state.Version),n&&(i.iFrameUrl+="&random=".concat(Math.random())),i.configureSidebar(!o.EditAllowed)}})))}},{key:"initOperations",value:function initOperations(e){var t=this;this.registerSubscription(this.operationProvider.getEditItemOperations(e,void 0,{isEditingPageContent:!0,disregardCache:!0},this.getOperationsDataAdditionalQueryParams()).pipe(this.catchErrorAndShowNotification()).subscribe((function(n){t.registerSubscription(t.buttonStateService.updateActionButtonsState(null,oe.BN.Default).subscribe((function(){var i=n.findIndex((function(e){return e.Name===$.q.stopSyncing}));if(-1!==i){var o=n[i];n.splice(i,1),o.context={additionalText:null,look:se},[].push(o)}t.operations.next(n),t.loadMainOperations(e),t.loadCustomOperations(e),t.loadAdditionalActionOperations(e),t.loadPersonalizationOperations(e)})))})))}},{key:"loadMainOperations",value:function loadMainOperations(e){var t=this,n=this.operationProvider.getEditItemMainOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.generalActionOperations.next(e)})))}},{key:"loadCustomOperations",value:function loadCustomOperations(e){var t=this,n=this.operationProvider.getEditItemCustomOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.customOperations.next(e)})))}},{key:"loadAdditionalActionOperations",value:function loadAdditionalActionOperations(e){var t=this,n=this.operationProvider.getEditItemAdditionalOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.additionalActionOperations.next(e)})))}},{key:"loadPersonalizationOperations",value:function loadPersonalizationOperations(e){var t=this,n=this.operationProvider.getEditItemPersonalizationOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.personalizationOperations.next(e)})))}},{key:"getOperationsDataAdditionalQueryParams",value:function getOperationsDataAdditionalQueryParams(){var e=this.route.snapshot.queryParams[g.Tx.SEGMENT];return e?(0,Ae.Z)({},g.Tx.SEGMENT,e):null}},{key:"handleChangeCulture",value:function handleChangeCulture(e){var t=this;this.loading=!0,this.registerSubscription(this.canDeactivate().subscribe((function(n){if(n){var i=e.context.additionalText,o=ee.zw.fromCulture(t.item$.getValue(),i),a={actionName:$.q.editContent,item:o,route:t.route,loadingHolder:t};t.pagesCommonActionHandler.tryHandleAction(a).subscribe()}else t.loading=!1})))}},{key:"reload",value:function reload(){var e={actionName:$.q.editContent,item:this.item$.getValue(),route:this.route,loadingHolder:this};this.pagesCommonActionHandler.tryHandleAction(e).subscribe()}},{key:"reloadWithCheckForChanges",value:function reloadWithCheckForChanges(e){var t=this;this.registerSubscription(this.canDeactivate().subscribe((function(n){if(n){var i={actionName:$.q.editContent,item:t.item$.getValue(),route:t.route,loadingHolder:t,additionalQueryParams:e.ContextParameters};t.pagesCommonActionHandler.tryHandleAction(i).subscribe()}else t.loading=!1})))}},{key:"handlePersonalizedWidgetVersions",value:function handlePersonalizedWidgetVersions(e){var t=e.sourceOperation.ContextParameters.find((function(e){return e.Name===g.Tx.WIDGET_SEGMENT_ID}));if(t){var n=this.route.snapshot.queryParams[g.Tx.SEGMENT];this.enhancedPageComponenent.reloadPersonalizedWidgets(n,t.Value)}}},{key:"handleDeletePersonalizedVersion",value:function handleDeletePersonalizedVersion(e){var t=this,n={updateItem:{dataItem:this.item$.getValue(),additionalQueryParams:(0,Ae.Z)({},g.Tx.SEGMENT,this.state.SegmentId)},route:this.route,actionButton:e,actionButtonStateService:this.buttonStateService},i=this.serviceOperationsExecutor.execute(n);this.registerSubscription(i.pipe(this.catchErrorAndShowNotification()).subscribe((function(n){var i;if(n&&n.operationResult&&n.operationResult.Success){var o=null===(i=e.sourceOperation.ContextParameters.find((function(e){return e.Name===$.g_.segmentForDeletion})))||void 0===i?void 0:i.Value;t.state.SegmentId===o?t.reloadWithCheckForChanges(e.sourceOperation):n.dataItem&&t.initFromDataItem(n.dataItem,!1,!1)}})))}},{key:"handleMobilePreview",value:function handleMobilePreview(e){var t=this;this.handleServerCommand(e).subscribe((function(e){var n,i;(null===(n=e.operationData)||void 0===n?void 0:n.PreviewUrl)&&new bm(t.modalWindowService).execute({currentRoute:t.route.parent,model:null,data:{previewUrl:null===(i=e.operationData)||void 0===i?void 0:i.PreviewUrl}})}))}},{key:"handleNavigate",value:function handleNavigate(){var e=this;this.registerSubscription(this.pagesCommonActionHandler.navigateToTitleAndProperties({actionName:$.q.edit,item:this.item$.getValue(),route:this.route}).subscribe((function(t){t.success&&(e.buttonStateService.updateActionButtonsState(null,oe.BN.Loading),e.initFromDataItem(t.dataItem,!1,!1))})))}},{key:"handleDuplicate",value:function handleDuplicate(){var e=this;this.registerSubscription(this.canDeactivate().subscribe((function(t){t&&e.registerSubscription(e.pagesCommonActionHandler.navigateToDuplicate({actionName:$.q.edit,item:e.item$.getValue(),route:e.route}).subscribe())})))}},{key:"handleServerCommand",value:function handleServerCommand(e){var t,n,i,o=this;e.sourceOperation.HasLinkResult&&!e.requiresConfirmation&&(i=this.windowProvider.open(v.WP.EMPTY_STRING,v.yX));var a={updateItem:{dataItem:this.item$.getValue(),fallbackProperties:this.fallbackProperties,additionalQueryParams:(0,Ae.Z)({},g.Tx.SEGMENT,null===(t=this.state)||void 0===t?void 0:t.SegmentId)},route:this.route,actionButton:e,actionButtonStateService:this.buttonStateService,window:i},r=null;return r=(null===(n=e.sourceOperation)||void 0===n?void 0:n.Name)===$.q.stopSyncing?this.canDeactivate().pipe((0,Bi.h)((function(e){return e})),(0,Ix.c)(this.serviceOperationsExecutor.execute(a))):this.serviceOperationsExecutor.execute(a),this.registerSubscription(r.pipe((0,Zi.K)((function(t){return e.name===$.q.preview?ka.E:(0,qn._)(t)})),this.catchErrorAndShowNotification()).subscribe((function(t){var n,i;if(t)if(t.operationResult&&t.operationResult.Success&&"newSegment"===t.operationResult.Title){var a=t.operationResult.AvailableActions[0];o.reloadWithCheckForChanges({Name:a,Category:{Name:$.si.personalized},ContextParameters:[{Name:g.Tx.SEGMENT,Value:a}]})}else{var r=e.sourceOperation,s=r.PerformsDelete;(r.RequiresItemUpdate||s)&&(o.locked=!1);var l="dynamic-item";if(s&&(l=t.dataItem.metadata.typeFullName),o.preserveNotificationOnBackNavigation=s,o.notificationService.publishNotificationFromOperationResult(t,l),s)o.editMenu.onLeftNavButtonClick();else if(t.dataItem){var c=o.entityData.metadata.setName===u.gl.FORMS&&(null===(n=e.sourceOperation)||void 0===n?void 0:n.Name)===$.q.publish||(null===(i=e.sourceOperation)||void 0===i?void 0:i.Name)===$.q.stopSyncing;o.initFromDataItem(t.dataItem,c,c)}}}))),r}},{key:"lock",value:function lock(){var e=this,t=new re.t(1);if(this.locked||this.lockingInitiated)t.next(this.locked);else{this.lockingInitiated=!0;var n=this.route.snapshot.data.itemData;this.registerSubscription(this.zoneEditorContract.lock({state:this.state,dataItem:n.item}).pipe((0,Zi.K)((function(i){return i instanceof ea.E?(e.openLockedScreen(n.item),e.lockingInitiated=!1,t.next(e.locked)):t.error(i),(0,ka.c)()}))).subscribe((function(i){e.locked=!0,e.lockingInitiated=!1,e.state=i,e.state.HasChanged?(e.openLockedScreen(n.item),t.next(!1)):t.next(e.locked)})))}return t.asObservable()}},{key:"openLockedScreen",value:function openLockedScreen(e){this.loading=!0,this.locked=!1,this.pagesCommonActionHandler.tryHandleAction({actionName:$.q.editContent,item:e,route:this.route})}},{key:"catchErrorAndShowNotification",value:function catchErrorAndShowNotification(){return this.notificationService.catchErrorAndShowNotification(rg)}}]),ZoneEditorComponent}(E.zu);Nx.ctorParameters=function(){return[{type:m.F0},{type:Dp},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:sm},{type:tl},{type:m.gz},{type:fe},{type:xk},{type:l.FYo},{type:Hs.dk},{type:ki.bL},{type:Dx},{type:Qt.Zr}]},Nx.propDecorators={editMenu:[{type:l.i9L,args:[im,{static:!1}]}],enhancedPageComponenent:[{type:l.i9L,args:[sg,{static:!1}]}]},Nx=(0,a.gn)([(0,l.wA2)({providers:[tl],selector:"sf-zone-editor",template:Ex}),(0,a.w6)("design:paramtypes",[m.F0,Dp,Window,La,sm,tl,m.gz,fe,xk,l.FYo,Hs.dk,ki.bL,Dx,Qt.Zr])],Nx);var Fx=function(){function CanDeactivateGuard(){(0,i.Z)(this,CanDeactivateGuard)}return(0,o.Z)(CanDeactivateGuard,[{key:"canDeactivate",value:function canDeactivate(e){return e.canDeactivate()}}]),CanDeactivateGuard}(),Px=function(e){(0,f.Z)(ZoneEditorCanDeactivate,e);var t=(0,p.Z)(ZoneEditorCanDeactivate);function ZoneEditorCanDeactivate(){return(0,i.Z)(this,ZoneEditorCanDeactivate),t.apply(this,arguments)}return(0,o.Z)(ZoneEditorCanDeactivate)}(Fx);Px=(0,a.gn)([(0,l.GSi)()],Px);var Rx=function(){function EditPageTemplateComponent(e,t,n){(0,i.Z)(this,EditPageTemplateComponent),this.window=n,t.initialize(e.parent),this.attachEventListeners()}return(0,o.Z)(EditPageTemplateComponent,[{key:"attachEventListeners",value:function attachEventListeners(){var e=this;this.window.document.addEventListener(ds.NEED_MODAL_DIALOG,(function(t){t.detail.openNewEditor&&(t.preventDefault(),(0,d.Ph)(!0),e.window.document.body.classList.add("sfAdminAppControl"))})),this.window.document.addEventListener(ds.MODAL_DIALOG_CLOSED,(function(){(0,d.Ph)(!1),e.window.document.body.classList.remove("sfAdminAppControl")}))}}]),EditPageTemplateComponent}();Rx.ctorParameters=function(){return[{type:m.gz},{type:Bm},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},Rx=(0,a.gn)([(0,l.wA2)({selector:"sf-edit-page-template-component",template:"",encapsulation:l.ifc.None,styles:[wk]}),(0,a.w6)("design:paramtypes",[m.gz,Bm,Window])],Rx);var Qx=function(){function ContentTypeGuard(e,t,n){(0,i.Z)(this,ContentTypeGuard),this.metadataStore=e,this.siteDataStore=t,this.router=n}return(0,o.Z)(ContentTypeGuard,[{key:"canActivate",value:function canActivate(e,t){var n=this,i=No.getSet(e),o=this.resolveEntity(i),a=this.siteDataStore.isEntitySetAccessible(i),r=this.getCurrentModuleName(i).pipe((0,oa.zg)((function(e){return n.siteDataStore.isModuleAvailable(e)})));return(0,Nr.$R)(o,a,r).pipe((0,xn.g)(0),(0,w.U)((function(e){var t=e[0],i=e[1],o=e[2];return t.exists&&o?!!i||(n.router.navigate([So.ACCESS_DENIED]),!1):(n.router.navigate([So.NOT_FOUND]),!1)})))}},{key:"resolveEntity",value:function resolveEntity(e){return this.metadataStore.initialize().pipe((0,w.U)((function(t){var n=t.entities[e],i=Boolean(n);return{exists:i,typeName:i?n.typeFullName:null}})))}},{key:"getCurrentModuleName",value:function getCurrentModuleName(e){return this.metadataStore.initialize().pipe((0,w.U)((function(t){var n=Object.keys(t.modules);return n.find((function(n){return t.modules[n].AccessibleTypes.indexOf(e)>-1}))})))}}]),ContentTypeGuard}();Qx.ctorParameters=function(){return[{type:pe.EY},{type:Qi},{type:m.F0}]},Qx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Qi,m.F0])],Qx);var Ux={metaStore:fh,userDataStore:ph,siteDataStore:Ah,siteTitle:WA},Lx=[{path:uo,component:Vg,outlet:Io,resolve:{siteTitle:WA},data:{animation:{value:uo}}},{path:fo,component:bx,outlet:Io,resolve:{siteTitle:WA},data:{animation:{value:fo}}},{path:"confirm/:name",component:Al,outlet:"dialog"}],Ox=[{path:v.WP.EMPTY_STRING,component:px,resolve:{gridResolved:Ax,dynamicItems:mx,siteTitle:qA},canActivate:[yx],runGuardsAndResolvers:"paramsOrQueryParamsChange"}].concat(Lx),zx=[{path:po,component:hx,children:[].concat((0,J.Z)(Ox),[{path:"sfedit/:id",component:Nx,canActivate:[jr],canDeactivate:[Px],resolve:{itemData:jr},runGuardsAndResolvers:"paramsOrQueryParamsChange",children:[{path:"confirm/:name",component:Al,outlet:"dialog"}]},{path:"**",component:Sk,canActivate:[Oo],resolve:{itemData:Oo}},{path:"confirm/:name",component:Al,outlet:"dialog"}]),resolve:Ux,canActivate:[Qx],data:{animation:{value:po},dynamicTypeName:po}}],_x=[{path:Ao,component:hx,children:[].concat((0,J.Z)(Ox),[{path:"sfedit/:id",component:Nx,canActivate:[jr],canDeactivate:[Px],resolve:{itemData:jr},runGuardsAndResolvers:"paramsOrQueryParamsChange"},{path:"".concat(mo,"/:id"),component:Rx,resolve:{itemData:jr}},{path:"".concat(mo,"/:id/:culture"),component:Rx,resolve:{itemData:jr}}]),resolve:Ux,data:{animation:{value:po},dynamicTypeName:Ao}}],Vx=/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,Gx=function(){function DynamicItemUrlSegment(e){(0,i.Z)(this,DynamicItemUrlSegment),this.urlSegment=e}return(0,o.Z)(DynamicItemUrlSegment,[{key:"itemId",get:function get(){if(!this.itemIdField){var e=Vx.exec(this.urlSegment);this.itemIdField=e?e[0]:null}return this.itemIdField}}]),DynamicItemUrlSegment}(),Hx=function(e){(0,f.Z)(DynamicItemGuard,e);var t=(0,p.Z)(DynamicItemGuard);function DynamicItemGuard(e){var n;return(0,i.Z)(this,DynamicItemGuard),(n=t.call(this)).router=e,n}return(0,o.Z)(DynamicItemGuard,[{key:"canActivate",value:function canActivate(e){var t=new Gx(e.url[0].path),n=Boolean(t.itemId);return n||this.router.navigate([So.NOT_FOUND]),n}}]),DynamicItemGuard}(Fx);Hx.ctorParameters=function(){return[{type:m.F0}]},Hx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0])],Hx);var Zx=function(e){(0,f.Z)(BackendTweaksFormResolver,e);var t=(0,p.Z)(BackendTweaksFormResolver);function BackendTweaksFormResolver(e,n,o,a,r){var s;return(0,i.Z)(this,BackendTweaksFormResolver),(s=t.call(this,n,o,a,r)).tweaksStore=e,s}return(0,o.Z)(BackendTweaksFormResolver,[{key:"resolve",value:function resolve(e,t){var n=this,i=(0,Re.Z)((0,Qe.Z)(BackendTweaksFormResolver.prototype),"resolve",this).call(this,e,t),o=g.jc.EDIT;return e.params.id?2===e.url.length&&e.url[1].path===g.jc.DUPLICATE&&(o=g.jc.DUPLICATE):o=g.jc.INSERT,this.tweaksStore.initializeForm(i.metadata.setName,o,e.params[g.UY.ITEM_ID],i.provider,i.culture).then((function(){return n.tweaksStore.getFormByType(i.metadata.setName,o)}))}}]),BackendTweaksFormResolver}(Fo);Zx.ctorParameters=function(){return[{type:yl},{type:eo},{type:m.F0},{type:Qt.Zr},{type:Qo}]},Zx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[yl,eo,m.F0,Qt.Zr,Qo])],Zx);var Yx=function(e){(0,f.Z)(DynamicItemEditResolver,e);var t=(0,p.Z)(DynamicItemEditResolver);function DynamicItemEditResolver(e,n,o,a,r,s,l,c){var d;return(0,i.Z)(this,DynamicItemEditResolver),(d=t.call(this,e,n,o,a,r,s,l,c)).skipProviderValidation=!0,d}return(0,o.Z)(DynamicItemEditResolver)}(jr);Yx.ctorParameters=function(){return[{type:Ci.dg},{type:eo},{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Qt.Zr},{type:Vr},{type:Yr},{type:Qo}]},Yx=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,eo,m.F0,Window,Qt.Zr,Vr,Yr,Qo])],Yx);var jx={itemData:jr,formResolved:Zx,itemmeta:na},Wx={path:":".concat(g.UY.ITEM_ID,"/").concat(g.UY.EDIT_SEGMENT),component:Sm,canDeactivate:[Hx],canActivate:[Hx,Yx],resolve:jx,runGuardsAndResolvers:"paramsOrQueryParamsChange"},Jx={path:":".concat(g.UY.ITEM_ID,"/").concat(g.UY.DUPLICATE_SEGMENT),component:Sm,canDeactivate:[Hx],canActivate:[Hx,jr],resolve:jx,runGuardsAndResolvers:"paramsOrQueryParamsChange"},qx=[{path:v.WP.EMPTY_STRING,component:px,resolve:{gridResolved:Ax,dynamicItems:mx,siteTitle:qA},canActivate:[yx,mx],runGuardsAndResolvers:"paramsOrQueryParamsChange"},{path:"confirm/insight",outlet:"dialog",loadChildren:function loadChildren(){return n.e("src_app_modules_insight_insight_module_ts").then(n.bind(n,890)).then((function(e){return e.InsightModule}))}},{path:g.UY.CREATE_SEGMENT,component:Sm,canActivate:[jr],canDeactivate:[Hx],resolve:jx,runGuardsAndResolvers:"paramsOrQueryParamsChange"},Wx,{path:":".concat(g.UY.ITEM_ID,"/").concat(g.UY.UNLOCK_SEGMENT),component:iv,canActivate:[jr],resolve:jx},Jx,{path:"host/:name",component:ah,outlet:"sidebar",resolve:{itemData:jx[g.u0.itemData]}},{path:"confirm/:name",component:Al,outlet:"dialog"},{path:uo,component:Vg,outlet:Io,resolve:{siteTitle:WA},data:{animation:{value:uo}}},{path:fo,component:bx,outlet:Io,resolve:{siteTitle:WA},data:{animation:{value:fo}}}],Xx=function(){function FormsEditIntegratedComponent(e,t){(0,i.Z)(this,FormsEditIntegratedComponent),this.document=e,this.router=t}return(0,o.Z)(FormsEditIntegratedComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.document.addEventListener(Tx.ROUTES.SITEFINITY_OLD_BACKEND_EDIT_FORM_RULE_EVENT_NAME,(function(t){e.formId=t.detail.controlId,e.culture=t.detail.culture,e.router.navigate([So.CONTENT,wo,Tx.ROUTES.RULES],{queryParams:{id:e.formId,culture:e.culture}})}))}}]),FormsEditIntegratedComponent}();Xx.ctorParameters=function(){return[{type:void 0,decorators:[{type:l.tBr,args:[Ut.K0]}]},{type:m.F0}]},Xx=(0,a.gn)([(0,l.wA2)({selector:"sf-forms-edit-integrated",template:""}),(0,a.w6)("design:paramtypes",[Object,m.F0])],Xx);var Kx=n(673),$x=function(){function FormsService(e,t){(0,i.Z)(this,FormsService),this.metadataStore=e,this.dynamicItemsService=t}return(0,o.Z)(FormsService,[{key:"getFormDefinition",value:function getFormDefinition(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v.WP.EMPTY_STRING,n=this.metadataStore.getEntity(u.gl.FORM_DRAFTS),i={itemKey:e,action:"Default.GetTempForm()",entityData:{metadata:n,culture:t}};return this.dynamicItemsService.getItem(i)}},{key:"updateRules",value:function updateRules(e){var t={metadata:this.metadataStore.getEntity(u.gl.FORM_DRAFTS),provider:v.WP.EMPTY_STRING,culture:e.Culture};return this.dynamicItemsService.executeEntityOperationForDataItemKey(e.Id,t,"Default.SaveTempForm()",{rules:e.Rules})}}]),FormsService}();$x.ctorParameters=function(){return[{type:pe.EY},{type:Ci.dg}]},$x=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Ci.dg])],$x);var eC=n(674),tC=function(e){(0,f.Z)(DateTimePickerSettings,e);var t=(0,p.Z)(DateTimePickerSettings);function DateTimePickerSettings(){var e;return(0,i.Z)(this,DateTimePickerSettings),(e=t.apply(this,arguments)).preserveValueWithoutBrowserOffset=!1,e}return(0,o.Z)(DateTimePickerSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(DateTimePickerSettings.prototype),"init",this).call(this,e),this.minValue=this.minValue?new Date(this.minValue):null,this.maxValue=this.maxValue?new Date(this.maxValue):null}},{key:"getValidators",value:function getValidators(e){var t=(0,Re.Z)((0,Qe.Z)(DateTimePickerSettings.prototype),"getValidators",this).call(this,e);return t.push(Tc.L[Tc.v.DATE_RANGE]({min:this.minValue,max:this.maxValue})),t}}]),DateTimePickerSettings}(j.P1),nC=function(e){(0,f.Z)(RelatedDataSettings,e);var t=(0,p.Z)(RelatedDataSettings);function RelatedDataSettings(){return(0,i.Z)(this,RelatedDataSettings),t.apply(this,arguments)}return(0,o.Z)(RelatedDataSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(RelatedDataSettings.prototype),"init",this).call(this,e),this.defaultValue=[],this.changeOnFocus=!0,this.displayMode=ge.B.NORMAL,this.provider=e[Ie.o2],this.emptyValueText=v.VG,this.hintPositionTop=!0}}]),RelatedDataSettings}(j.P1),iC=function(e){(0,f.Z)(TextAreaMultilineEmailSettings,e);var t=(0,p.Z)(TextAreaMultilineEmailSettings);function TextAreaMultilineEmailSettings(){return(0,i.Z)(this,TextAreaMultilineEmailSettings),t.apply(this,arguments)}return(0,o.Z)(TextAreaMultilineEmailSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(TextAreaMultilineEmailSettings.prototype),"init",this).call(this,e)}},{key:"getValidators",value:function getValidators(e){var t=(0,Re.Z)((0,Qe.Z)(TextAreaMultilineEmailSettings.prototype),"getValidators",this).call(this,e);return t.push(Tc.L[Tc.v.MULTILINE_EMAILS]()),t}}]),TextAreaMultilineEmailSettings}(_E),oC="sf-row__col",aC=function(){function FormFieldTypesParserService(e,t){(0,i.Z)(this,FormFieldTypesParserService),this.metadataStore=e,this.dynamicItemsService=t}return(0,o.Z)(FormFieldTypesParserService,[{key:"getConditionComponentType",value:function getConditionComponentType(e,t){var n=new tC("dateTimePicker",!1);switch(n.readOnlyMode=!1,e.Type){case Tx.FORM_FIELD_TYPE.TEXTBOX:case Tx.FORM_FIELD_TYPE.PARAGRAPH:switch(e.InputType){case Tx.TEXT_INPUT_TYPE.DATE:return{component:{type:Oc,updatePropertiesOnChange:!0,properties:{timeZoneOffset:Tx.TIMEZONE_OFFSET,hideSelectIcon:!0,showTime:!1,settings:n,value:t}}};case Tx.TEXT_INPUT_TYPE.MONTH:return{component:{type:Oc,updatePropertiesOnChange:!0,properties:{timeZoneOffset:Tx.TIMEZONE_OFFSET,hideSelectIcon:!0,dateBottomView:Nc.VIEW.YEAR,dateTopView:Nc.VIEW.DECADE,dateFormat:Nc.MONTH_FORMAT,showTime:!1,settings:n,value:t}}};case Tx.TEXT_INPUT_TYPE.TIME:return{component:{type:Oc,updatePropertiesOnChange:!0,properties:{timeZoneOffset:Tx.TIMEZONE_OFFSET,hideSelectIcon:!0,showDate:!1,settings:n,value:t}}};case Tx.TEXT_INPUT_TYPE.DATE_TIME:case Tx.TEXT_INPUT_TYPE.DATE_TIME_LOCAL:return{component:{type:Oc,updatePropertiesOnChange:!0,properties:{timeZoneOffset:Tx.TIMEZONE_OFFSET,hideSelectIcon:!0,showDate:!0,showTime:!0,settings:n,value:t}}};case Tx.TEXT_INPUT_TYPE.RANGE:return{component:{type:E.pP,updatePropertiesOnChange:!0,properties:{value:t,type:Tx.TEXT_INPUT_TYPE.NUMBER,placeholder:Tx.INPUT_PLACEHOLDER}},cssClassList:oC};case Tx.TEXT_INPUT_TYPE.COLOR:return{component:{type:E.pP,updatePropertiesOnChange:!0,properties:{value:t,type:Tx.TEXT_INPUT_TYPE.COLOR,placeholder:Tx.INPUT_PLACEHOLDER}},cssClassList:"".concat(oC," ").concat("-col-1")};case Tx.TEXT_INPUT_TYPE.WEEK:return{component:{type:E.pP,updatePropertiesOnChange:!0,properties:{value:t,type:Tx.TEXT_INPUT_TYPE.WEEK,placeholder:Tx.INPUT_PLACEHOLDER}}};default:return{component:{type:E.pP,updatePropertiesOnChange:!0,properties:{value:t,type:e.InputType,placeholder:Tx.INPUT_PLACEHOLDER}},cssClassList:oC}}case Tx.FORM_FIELD_TYPE.MULTIPLE_CHOICE:case Tx.FORM_FIELD_TYPE.CHECKBOX:case Tx.FORM_FIELD_TYPE.DROPDOWN:var i=new _i("choiceDropdownComponent",!1);return e.Values.forEach((function(e){i.choices.push(e)})),t?i.defaultValue=t:e.Values.length>0&&(i.defaultValue=e.Values[0].Value),{component:{type:Ji,updatePropertiesOnChange:!0,properties:{settings:i}},cssClassList:oC};default:var o=new j.P1("hiddenComponent",!1);return{component:{type:Nd,properties:{settings:o}},cssClassList:oC}}}},{key:"getActionComponentType",value:function getActionComponentType(e,t,n){var i,o=this;switch(e){case Tx.FORM_ACTION_TYPE.SHOW:case Tx.FORM_ACTION_TYPE.HIDE:var a=new _i("formTargetDropdown",!1);return this.getActionFields(t).forEach((function(e){a.choices.push({Value:e.Id,Name:e.Title})})),n?a.defaultValue=n:t.Fields.length>0&&(a.defaultValue=t.Fields[0].Id),i={component:{type:Ji,updatePropertiesOnChange:!0,properties:{settings:a}},tooltip:{title:Tx.SHOW_HIDE_TOOLTIP_TITLE,message:Tx.SHOW_HIDE_TOOLTIP_MESSAGE}},(0,r.of)(i);case Tx.FORM_ACTION_TYPE.SKIP:var s=new _i("formActionsDropdown",!1);return t.Steps.forEach((function(e){s.choices.push({Value:e.Key,Name:e.Value})})),n?s.defaultValue=n:t.Steps.length>0&&(s.defaultValue=t.Steps[0].Key),i={component:{type:Ji,updatePropertiesOnChange:!0,properties:{settings:s}}},(0,r.of)(i);case Tx.FORM_ACTION_TYPE.SHOW_MESSAGE:var l,c=new _E("editorComponent",!1);c.required=!0,c.friendlyTitle=Tx.MESSAGE;var f=[];return f.push(ze.kI.required),c.validators=ze.kI.compose(f),n?l=n:c.defaultValue=v.WP.EMPTY_STRING,i={component:{type:Gc,updatePropertiesOnChange:!0,properties:{settings:c,value:l}},cssClassList:oC},(0,r.of)(i);case Tx.FORM_ACTION_TYPE.SEND_NOTIFICATION:var p,A=new iC("editorComponent",!1);A.required=!0,A.friendlyTitle=Tx.EMAIL_ADDRESS,A.instructionalText=Tx.SEND_NOTIFICATION.TEXT_AREA.INSTRUCTIONAL_TEXT,A.placeholder=Tx.SEND_NOTIFICATION.TEXT_AREA.PLACEHOLDER;var m=[];return m.push(ze.kI.required),m.push(Tc.L[Tc.v.MULTILINE_EMAILS]()),A.validators=ze.kI.compose(m),n?p=n.split(",").join("\n"):A.defaultValue=v.WP.EMPTY_STRING,i={component:{type:Gc,updatePropertiesOnChange:!0,properties:{settings:A,value:p}},cssClassList:oC},(0,r.of)(i);case Tx.FORM_ACTION_TYPE.GOTO:var g=new nC("relatedDataComponent",!1);g.type=u.gl.PAGES,g.culture=t.Culture,g.allowMultiple=!1,g.displayMode=ge.B.INPUT,g.required=!0,g.title=Tx.PAGE;var h=[];if(h.push(ze.kI.required),g.validators=ze.kI.compose(h),n){var b={itemKey:n,entityData:{metadata:this.metadataStore.getEntity(u.gl.PAGES),culture:t.Culture}};return new wn.y((function(e){o.dynamicItemsService.getItem(b).subscribe((function(t){e.next(i={component:{type:wc,updatePropertiesOnChange:!0,properties:{settings:g,value:[(0,d.kI)(t.data)]}},cssClassList:oC})}),(function(t){e.next(i={component:{type:wc,updatePropertiesOnChange:!0,properties:{settings:g,value:[(0,d.kI)({Title:Tx.SELECTED_PAGE_DOES_NOT_EXIST,NotFound:!0,icon:"ban",iconLook:"darker",inactive:!0})]}},cssClassList:oC})}))}))}return i={component:{type:wc,updatePropertiesOnChange:!0,properties:{settings:g,value:[]}},cssClassList:oC},(0,r.of)(i);default:return i={component:{type:E.pP}},(0,r.of)(i)}}},{key:"getField",value:function getField(e,t){return e.Fields.find((function(e){return e.Id===t}))}},{key:"getConditionFields",value:function getConditionFields(e){var t=[];return e.Fields.forEach((function(e){e.Type&&e.Operators&&e.Operators.length>0&&-1===Tx.STATIC_FORM_FIELDS.indexOf(e.Type)&&t.push(e)})),t}},{key:"getActionFields",value:function getActionFields(e){var t=[];return e.Fields.forEach((function(e){e.Hideable&&t.push(e)})),t}}]),FormFieldTypesParserService}();aC.ctorParameters=function(){return[{type:pe.EY},{type:Ci.dg}]},aC=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Ci.dg])],aC);var rC=n(675),sC=function(e){(0,f.Z)(ActionCreateCompositeComponent,e);var t=(0,p.Z)(ActionCreateCompositeComponent);function ActionCreateCompositeComponent(e){var n;return(0,i.Z)(this,ActionCreateCompositeComponent),(n=t.call(this)).typeParserService=e,n.actionForDelete=new l.vpe,n.showErrors=!1,n.formGroup=new ze.cw({}),n}return(0,o.Z)(ActionCreateCompositeComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initActionFields()}},{key:"loaderInit",value:function loaderInit(e){var t=this,n=this;this.wrappedField=e,this.handleFocusChanges(),this.wrappedField.registerOnChange((function(e){t.processErrors(),e instanceof Array&&e.length>0?n.formRuleAction.Target=e[0].Id:n.formRuleAction.Target=e}))}},{key:"formActionChanged",value:function formActionChanged(e){e&&(this.formRuleAction.Action=e,this.refreshDynamicComponent(null))}},{key:"deleteAction",value:function deleteAction(){this.actionForDelete.emit(this.formRuleAction)}},{key:"isValid",value:function isValid(){var isValid=!0;this.formGroup.reset(),this.formGroup.setControl(this.wrappedField.settings.key,new ze.NI(this.wrappedField.value,{validators:this.wrappedField.settings.validators})),this.formGroup.updateValueAndValidity(),isValid=this.formGroup.valid;var e=this.wrappedField.processErrors(this.formGroup.controls[this.wrappedField.settings.key].errors);return this.processErrors(e),isValid}},{key:"processErrors",value:function processErrors(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.errorMessages=[],this.showErrors=!1,e&&e.length>0&&(this.errorMessages=e,this.showErrors=!0)}},{key:"handleFocusChanges",value:function handleFocusChanges(){var e=this,t=this.wrappedField.focus$.subscribe((function(t){e.showErrors=!t}));this.registerSubscription(t)}},{key:"initActionFields",value:function initActionFields(){var e=this;this.formRuleAction&&(this.formActionsDropdownSettings=new _i("formActionsDropdown",!1),this.formDefinition.AvailableActions.forEach((function(t){e.formActionsDropdownSettings.choices.push({Value:t.Key,Name:t.Value})})),this.formActionsDropdownSettings.defaultValue=this.formRuleAction.Action,this.refreshDynamicComponent(this.formRuleAction.Target))}},{key:"refreshDynamicComponent",value:function refreshDynamicComponent(e){var t=this;this.processErrors(),this.loader&&this.loader.destroy(this.formFieldColumnData.component),this.typeParserService.getActionComponentType(this.formRuleAction.Action,this.formDefinition,e).pipe((0,kn.P)()).subscribe((function(e){t.formFieldColumnData=e;var n=t.formFieldColumnData.component.properties.settings.defaultValue;null!==n&&(t.formRuleAction.Target=n.toString())}))}}]),ActionCreateCompositeComponent}(E.zu);sC.ctorParameters=function(){return[{type:aC}]},sC.propDecorators={formDefinition:[{type:l.IIB}],formRuleAction:[{type:l.IIB}],canDelete:[{type:l.IIB}],actionForDelete:[{type:l.r_U}],loader:[{type:l.i9L,args:["loader",{static:!1}]}]},sC=(0,a.gn)([(0,l.wA2)({selector:"sf-action-create-composite",template:rC}),(0,a.w6)("design:paramtypes",[aC])],sC);var lC=function(){function FormRuleCreateComponent(e,t){(0,i.Z)(this,FormRuleCreateComponent),this.typeParserService=e,this.scrollService=t}return(0,o.Z)(FormRuleCreateComponent,[{key:"ngOnInit",value:function ngOnInit(){this.formRule||(this.formRule={Operator:Cx.Any,Conditions:[this.generateCondition()],Actions:[this.generateAction()]}),this.operatorDropdownSettings=new _i("operatorDropdown",!1),this.operatorDropdownSettings.choices=this.generateChoices(),this.formRule&&(this.operatorDropdownSettings.defaultValue=this.formRule.Operator)}},{key:"canCloseCallback",value:function canCloseCallback(e){var t=!0;return e.data&&e.data.data&&this.actionComponents.forEach((function(e){t=e.isValid()&&t})),t}},{key:"addCondition",value:function addCondition(){this.formRule.Conditions.push(this.generateCondition())}},{key:"deleteCondition",value:function deleteCondition(e){var t=this.formRule.Conditions.indexOf(e);this.formRule.Conditions.splice(t,1)}},{key:"addAction",value:function addAction(){this.formRule.Actions.push(this.generateAction())}},{key:"deleteAction",value:function deleteAction(e){var t=this.formRule.Actions.indexOf(e);this.formRule.Actions.splice(t,1)}},{key:"formOperatorChanged",value:function formOperatorChanged(e){this.formRule.Operator=e}},{key:"generateCondition",value:function generateCondition(){var e={Id:v.WP.EMPTY_STRING,Operator:v.WP.EMPTY_STRING,Value:v.WP.EMPTY_STRING},t=this.typeParserService.getConditionFields(this.formDefinition)[0];if(t){e.Id=t.Id;var n=t.Operators[0];n&&(e.Operator=n.Key),e.Value=this.getDefaultFieldValue(t)}return e}},{key:"generateAction",value:function generateAction(){var e={Action:v.WP.EMPTY_STRING,Target:v.WP.EMPTY_STRING};this.formDefinition.AvailableActions[0]&&(e.Action=this.formDefinition.AvailableActions[0].Key);var t=this.typeParserService.getActionFields(this.formDefinition)[0];return t&&(e.Target=t.Id),e}},{key:"generateChoices",value:function generateChoices(){var e=[];return Object.keys(Cx).forEach((function(t){e.push({Value:Cx[t],Name:t})})),e}},{key:"getDefaultFieldValue",value:function getDefaultFieldValue(e){var t=v.WP.EMPTY_STRING;return e.Values.length>0&&(t=e.Values[0].Value),t}}]),FormRuleCreateComponent}();lC.ctorParameters=function(){return[{type:aC},{type:Nt.a}]},lC.propDecorators={title:[{type:l.IIB}],formDefinition:[{type:l.IIB}],formRule:[{type:l.IIB}],actionComponents:[{type:l.vR,args:[sC]}]},lC=(0,a.gn)([(0,l.wA2)({selector:"sf-form-rule-create",template:eC,encapsulation:l.ifc.None}),(0,a.w6)("design:paramtypes",[aC,Nt.a])],lC);var cC=function(e){(0,f.Z)(FormRulesListComponent,e);var t=(0,p.Z)(FormRulesListComponent);function FormRulesListComponent(e,n,o,a,r,s,l){var c;return(0,i.Z)(this,FormRulesListComponent),(c=t.call(this)).formsService=e,c.metadataStore=n,c.modalService=o,c.route=a,c.router=r,c.document=s,c.siteData=l,c.shouldHideHeader=!0,c.stateWrapper=ca.empty(),c.canUpdate=!0,c.isInitialRulesLoadComplete=!1,c.hasFields=!1,c}return(0,o.Z)(FormRulesListComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.toggleEditFormControlCssClass(),this.route.queryParamMap.pipe((0,oa.zg)((function(t){return e.formId=t.get("id"),e.culture=t.get("culture")||v.WP.EMPTY_STRING,e.siteData.getValue()})),(0,oa.zg)((function(t){return e.culture=e.culture||t.DefaultContentCulture,e.formsService.getFormDefinition(e.formId,e.culture)})),(0,Cn._)(),Dn(Id)).subscribe((function(t){if(!t.isLoading)try{var n=t.content;e.formDefinition=(0,d.kI)(n.data),e.formDefinition.Rules=e.getFormRules(),e.formDefinition.Culture=e.culture,e.propagateRules(!1),e.hasFields=e.formDefinition.Fields&&e.formDefinition.Fields.length>0,e.isInitialRulesLoadComplete=!0}catch(t){e.handleFormRuleFetchError(t)}}),(function(t){e.handleFormRuleFetchError(t)})),this.navbarConfiguration={mode:XA.OneColumn,leftNavbarButtonData:{show:!0,look:"toggle",icon:"angle-left",iconLook:"size-2xl",mode:KA.Back,title:Tx.BACK_TO_FORMS},isScrollEnabled:!1,look:v.WP.EMPTY_STRING,templates:[this.navigationMenuTemplate]},this.treeConfig={noSelection:!0}}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.toggleEditFormControlCssClass(!1)}},{key:"createRule",value:function createRule(e){var t=this,n=e?e.data:null,i=e?this.stateWrapper.dataItems.indexOf(e):-1,o=e?(0,d.kI)(n):null,a={type:lC,afterComponentInit:function afterComponentInit(n){n.title=e?Tx.EDIT_A_RULE:Tx.CREATE_A_RULE,n.formDefinition=t.formDefinition,n.formRule=o}},r=[new ki.pu(Tx.CREATE_THIS_RULE,(function(e){return t.saveFormRulehandler(e,i)})),new ki.Lw(Tx.CANCEL)];e&&(r=[new ki.pu(Tx.SAVE_THIS_RULE,(function(e){return t.saveFormRulehandler(e,i)})),new ki.Lw(Tx.CANCEL)]);var s=new ki.np(a,(function(e){}),r,null);this.modalService.setMapping(s,Tx.ROUTES.CREATE_FORM_RULE_DIALOG),this.modalService.show(Tx.ROUTES.CREATE_FORM_RULE_DIALOG,this.route)}},{key:"saveFormRulehandler",value:function saveFormRulehandler(e,t){var n=this,i=new re.t(1);i.next(new ki.DQ(!0,!1));var o=e.component.formRule;return o&&(o.Actions.forEach((function(e){e.Action===Tx.FORM_ACTION_TYPE.SEND_NOTIFICATION&&(e.Target=e.Target.trim().split("\n").filter((function(e){return e!==v.WP.EMPTY_STRING})).map((function(e){return e.trim()})).join(","))})),t>=0?this.formDefinition.Rules.splice(t,1,o):this.formDefinition.Rules.push(o),this.propagateRules(!1),this.canUpdate=!1,this.formsService.updateRules(this.formDefinition).subscribe((function(e){n.canUpdate=!0,i.next(new ki.DQ(!0,!0,!1,!1))}))),i}},{key:"getFormRules",value:function getFormRules(){var e=this,t=[];return this.formDefinition.Rules.forEach((function(n){var i=[];n.Conditions.forEach((function(t){e.findFormField(t.Id)&&i.push(t)}));var o=[];n.Actions.forEach((function(t){switch(t.Action){case Tx.FORM_ACTION_TYPE.SHOW:case Tx.FORM_ACTION_TYPE.HIDE:e.findFormField(t.Target)&&o.push(t);break;case Tx.FORM_ACTION_TYPE.SKIP:e.findFormStep(t.Target)&&o.push(t);break;default:o.push(t)}})),i.length>0&&o.length>0&&(n.Conditions=i,n.Actions=o,t.push(n))})),t}},{key:"findFormField",value:function findFormField(e){return this.formDefinition.Fields.find((function(t){return t.Id===e}))}},{key:"findFormStep",value:function findFormStep(e){return this.formDefinition.Steps.find((function(t){return t.Key===e}))}},{key:"onNavigateBack",value:function onNavigateBack(){this.formDefinition.Renderer?this.router.navigate([So.FORMS,"sfedit",this.formId],{queryParams:{sfaction:"Edit"}}):(this.document.dispatchEvent(new Event(Tx.ROUTES.SITEFINITY_OLD_BACKEND_REFRESH_RULES_EVENT_NAME)),this.router.navigate([So.CONTENT,wo,Tx.ROUTES.INTEGRATED,this.formDefinition.Name]))}},{key:"propagateRules",value:function propagateRules(e){var t=this,n=this.metadataStore.getEntity(u.gl.FORM_DRAFTS),i=[];this.formDefinition.Rules.forEach((function(e){i.push(ee.zw.from(e,n,null,null))})),this.stateWrapper=ca.wrap({dataItems:i,totalCount:i.length}),e&&(this.canUpdate=!1,this.formsService.updateRules(this.formDefinition).subscribe((function(e){t.canUpdate=!0})))}},{key:"deleteRule",value:function deleteRule(e){var t=this.stateWrapper.dataItems.indexOf(e);t>=0&&this.formDefinition.Rules.splice(t,1),this.propagateRules(!0)}},{key:"toggleEditFormControlCssClass",value:function toggleEditFormControlCssClass(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e?((0,d.Ph)(!0),this.document.body.classList.add(Tx.ROUTES.ADMIN_APP_CONTROL_CLASS)):((0,d.Ph)(!1),this.document.body.classList.remove(Tx.ROUTES.ADMIN_APP_CONTROL_CLASS))}},{key:"handleFormRuleFetchError",value:function handleFormRuleFetchError(e){throw new Error("An error occurred during fetching the form rules. ".concat(e))}}]),FormRulesListComponent}(E.zu);cC.ctorParameters=function(){return[{type:$x},{type:pe.EY},{type:ki.bL},{type:m.gz},{type:m.F0},{type:Document,decorators:[{type:l.tBr,args:[Se]}]},{type:Qi}]},cC.propDecorators={navigationMenuTemplate:[{type:l.i9L,args:["navigationMenuTemplate",{static:!0}]}]},cC=(0,a.gn)([(0,l.wA2)({template:Kx}),(0,a.w6)("design:paramtypes",[$x,pe.EY,ki.bL,m.gz,m.F0,Document,Qi])],cC);var dC=[{path:wo,component:hx,children:[{path:"sfedit/:id",component:Nx,canActivate:[jr],canDeactivate:[Px],resolve:{itemData:jr},runGuardsAndResolvers:"paramsOrQueryParamsChange"},{path:"confirm/:name",component:Al,outlet:"dialog"}],resolve:{metaStore:fh,userDataStore:ph,siteDataStore:Ah,siteTitle:WA},data:{animation:{value:po},dynamicTypeName:wo}}],uC=[{path:fo,children:[{path:wo,children:[{path:"integrated",children:[{path:"**",component:Xx}]},{path:"rules",component:cC,children:[{path:"confirm/:name",component:Al,outlet:"dialog"}],resolve:{metaStore:fh}}],data:{dynamicTypeName:u.gl.FORM_DRAFTS}},{path:v.WP.EMPTY_STRING,component:bx},{path:":".concat(g.UY.TYPE_NAME_SEGMENT),component:hx,children:(0,J.Z)(qx),canActivate:[Qx],data:{animation:{value:bo}}},{path:":".concat(g.UY.TYPE_NAME_SEGMENT,"/:").concat(g.UY.PARENT_ID_SEGMENT,"/:").concat(g.UY.CHILD_SET_SEGMENT),component:hx,children:(0,J.Z)(qx),data:{animation:{value:v.WP.EMPTY_STRING}},canActivate:[Qx]}],resolve:{metaStore:fh,userDataStore:ph,siteDataStore:Ah,siteTitle:WA},data:{animation:{value:fo}}}],fC=n(676),pC=function(e){(0,f.Z)(IntegratedEmptyComponent,e);var t=(0,p.Z)(IntegratedEmptyComponent);function IntegratedEmptyComponent(e,n,o,a){var r;return(0,i.Z)(this,IntegratedEmptyComponent),(r=t.call(this)).windowProvider=e,r.service=n,r.router=o,r.headerMenuService=a,r.states=[],r.areHeadingButtonsVisible=!1,r.areUserDialogsShown=!1,r.dropDownMenuOptions=new oe.gP(void 0,void 0,!0),r}return(0,o.Z)(IntegratedEmptyComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.headerMenuService.onUserDialogOpen.subscribe((function(t){return e.showDialogContent(t)}));this.registerSubscription(t),this.service.tryLogIn(this.router.routerState.snapshot.url).subscribe()}},{key:"onCloseClicked",value:function onCloseClicked(){if(this.destroyCurrentComponentData(),this.onDialogClosed(),this.states.length>1)return this.states.pop(),void this.showDialogContent(this.states.pop());this.states=[],(0,d.jE)(this.windowProvider.document),this.areUserDialogsShown=!1}},{key:"showDialogContent",value:function showDialogContent(e){this.destroyCurrentComponentData(),this.states.push((0,d.I8)(e)),this.dialogData=e,this.componentData=e.componentData,e.heading&&(this.title=e.heading.title),!0===e.showButtonsOnInit&&(this.areHeadingButtonsVisible=!0),(0,d.nH)(this.windowProvider.document),this.areUserDialogsShown=!0}},{key:"destroyCurrentComponentData",value:function destroyCurrentComponentData(){this.componentLoader&&this.componentData&&this.componentLoader.destroy(this.componentData)}},{key:"onDialogClosed",value:function onDialogClosed(){if(this.dialogData&&this.dialogData.doneCallback){var e={type:ki.EZ.CloseClicked,data:null,component:null};this.dialogData.doneCallback(e)}}}]),IntegratedEmptyComponent}(E.zu);pC.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:gf.e},{type:m.F0},{type:Rb}]},pC.propDecorators={componentLoader:[{type:l.i9L,args:["mainContentLoader",{static:!1}]}]},pC=(0,a.gn)([(0,l.wA2)({selector:"sf-empty",template:fC,encapsulation:l.ifc.None,styles:[il]}),(0,a.w6)("design:paramtypes",[Window,gf.e,m.F0,Rb])],pC);var AC=function(){function IntegratedEmptyComponentGuard(e,t){(0,i.Z)(this,IntegratedEmptyComponentGuard),this.router=e,this.envService=t}return(0,o.Z)(IntegratedEmptyComponentGuard,[{key:"canActivate",value:function canActivate(){return this.envService.getEnvironment()===_t.H.integration||(this.router.navigate([So.NOT_FOUND]),!1)}}]),IntegratedEmptyComponentGuard}();AC.ctorParameters=function(){return[{type:m.F0},{type:zt.L}]},AC=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,zt.L])],AC);var mC=function(){function HomeGuard(e,t){(0,i.Z)(this,HomeGuard),this.router=e,this.envService=t}return(0,o.Z)(HomeGuard,[{key:"canActivate",value:function canActivate(){return this.envService.getEnvironment()===_t.H.integration||this.router.navigate([So.ROOT_PREFIX]),!1}}]),HomeGuard}();mC.ctorParameters=function(){return[{type:m.F0},{type:zt.L}]},mC=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,zt.L])],mC);var gC,hC=function(e){(0,f.Z)(SearchTaskNotificationBuilder,e);var t=(0,p.Z)(SearchTaskNotificationBuilder);function SearchTaskNotificationBuilder(){var e;return(0,i.Z)(this,SearchTaskNotificationBuilder),(e=t.apply(this,arguments)).supportedTaskTypes=[Xl.Reindex],e}return(0,o.Z)(SearchTaskNotificationBuilder,[{key:"isDefault",get:function get(){return!1}},{key:"isTaskSupported",value:function isTaskSupported(e){return this.supportedTaskTypes.indexOf(e)>-1}},{key:"processTask",value:function processTask(e){e.TaskName===Xl.Reindex&&(e.StatusMessage?e.Description="".concat(e.StatusMessage," for ").concat(e.Title):e.Description="Indexing ".concat(e.Title,"...")),(0,Re.Z)((0,Qe.Z)(SearchTaskNotificationBuilder.prototype),"processTask",this).call(this,e)}},{key:"filterTasksCallback",value:function filterTasksCallback(e,t){var n,i;if(!t)return!1;var o=this.parseTaskData(e);if(t.hasOwnProperty(zy.CURRENT_SITE_ID)){var a=t[zy.CURRENT_SITE_ID];if((null===(n=o.siteIds)||void 0===n?void 0:n.length)>0)return(null===(i=o.siteIds)||void 0===i?void 0:i.indexOf(a))>=0}return!0}},{key:"parseTaskData",value:function parseTaskData(e){return oc.parse(e)}},{key:"buildButtons",value:function buildButtons(e){return[]}},{key:"buildNotification",value:function buildNotification(e){return this.isTaskSupported(e.TaskName)?ql[e.Status.toString()]===ql.Failed?e.StatusMessage:null:v.WP.EMPTY_STRING}}]),SearchTaskNotificationBuilder}(Ry),vC={multi:!0,provide:Py,useClass:hC},bC=function(e){(0,f.Z)(IntegrationsResolver,e);var t=(0,p.Z)(IntegrationsResolver);function IntegrationsResolver(e,n){var o;return(0,i.Z)(this,IntegrationsResolver),(o=t.call(this,n)).metadataStore=e,o}return(0,o.Z)(IntegrationsResolver,[{key:"resolve",value:function resolve(e,t){return this.getEntityData(e)}},{key:"getEntitySet",value:function getEntitySet(e){return No.getSet(e)}},{key:"getEntityData",value:function getEntityData(e){var t=this;return this.metadataStore.initialize().pipe((0,w.U)((function(n){return t.resolveEntityData(e,n,null,null)})))}}]),IntegrationsResolver}(Qo);bC.ctorParameters=function(){return[{type:pe.EY},{type:Array,decorators:[{type:l.tBr,args:[Ro]}]}]},bC=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Array])],bC);var yC=[{path:v.WP.EMPTY_STRING,component:Zg},{path:":".concat(g.UY.TYPE_NAME_SEGMENT),component:hx,resolve:(gC={},(0,Ae.Z)(gC,"".concat(g.u0.entityData),bC),(0,Ae.Z)(gC,"metaStore",fh),(0,Ae.Z)(gC,"siteDataStore",Ah),gC),canActivate:[Qx],children:[{path:v.WP.EMPTY_STRING,component:By,resolve:{siteTitle:qA}},{path:"confirm/:name",component:Al,outlet:"dialog"}]},{path:":".concat(g.UY.TYPE_NAME_SEGMENT,"/:").concat(g.UY.ITEM_ID,"/:").concat(g.UY.OPERATION_NAME_SEGMENT),component:hx,resolve:(0,Ae.Z)({},"".concat(g.u0.entityData),bC),canActivate:[Qx],children:[{path:v.WP.EMPTY_STRING,component:By,resolve:{siteTitle:qA}},{path:"confirm/:name",component:Al,outlet:"dialog"}]}],EC=(0,o.Z)((function IntegrationsModule(){(0,i.Z)(this,IntegrationsModule)}));EC=(0,a.gn)([(0,l.LVF)({declarations:[],imports:[m.Bz.forChild(yC),Gy],providers:[bC,xy,vC],exports:[m.Bz]})],EC);var IC={userDataStore:ph,siteDataStore:Ah,siteTitle:WA};IC[g.u0.metadata]=fh;var wC,kC=[{path:So.ROOT_PREFIX,children:[{path:v.WP.EMPTY_STRING,canActivate:[pg,mk],children:[{path:co,component:Vg,canActivate:[fg],resolve:IC,data:{animation:{value:uo}}},{path:vo,component:pk},{path:v.WP.EMPTY_STRING,canActivate:[fg],children:[].concat((0,J.Z)(uC),(0,J.Z)(zx),(0,J.Z)(_x),(0,J.Z)(dC),[{path:Co,loadChildren:function loadChildren(){return EC}}])}]},{path:"config",component:uk},{path:"browser-notice",component:vk},{path:"insecure-connection",component:Ek,canActivate:[lk]},{path:"not-found",component:Zg},{path:"no-preview",component:Do},{path:"access-denied",component:kh},{path:"**",redirectTo:go}]},{path:co,component:Vg,canActivate:[mC]},{path:"**",canActivate:[AC],component:pC}],xC=m.Bz.forRoot(kC),CC=(0,o.Z)((function FilterStrategyBase(e){(0,i.Z)(this,FilterStrategyBase),this.filter=e})),SC=function(e){(0,f.Z)(CustomFilterStrategy,e);var t=(0,p.Z)(CustomFilterStrategy);function CustomFilterStrategy(e){var n;return(0,i.Z)(this,CustomFilterStrategy),(n=t.call(this,e)).filter=e,n}return(0,o.Z)(CustomFilterStrategy,[{key:"buildQuery",value:function buildQuery(e){var t,n=(0,Qn.Z)(this.filter.values);try{for(n.s();!(t=n.n()).done;){var i=t.value;e=e.or().any();for(var o=0;o5&&(l.isVisible=!1),i.push(l)})),!this.context.isVirtualized&&t.length>6){i[5].isVisible=!1;var o=t.length-6+1,a="+".concat(o);i.push({name:a,isAvailable:!1,isVisible:!0,isLanguage:!1,look:"size-xl sf-txt-small hover sf-txt-upper-case sf-mb-3xs sf-mr-6xs add",title:v.WP.EMPTY_STRING})}return i}}]),ListLanguagesComponent}();LC.ctorParameters=function(){return[{type:m.gz}]},LC.propDecorators={context:[{type:l.IIB}]},LC=(0,a.gn)([(0,l.wA2)({selector:"sf-list-languages",template:QC}),(0,a.w6)("design:paramtypes",[m.gz])],LC);var OC=n(679),zC=function(){function MarketingCellComponent(){(0,i.Z)(this,MarketingCellComponent)}return(0,o.Z)(MarketingCellComponent,[{key:"ngOnInit",value:function ngOnInit(){this.value=this.context.dataItem.data[Ir]}},{key:"onLinkClick",value:function onLinkClick(){window.open(this.value.Link,v.yX)}}]),MarketingCellComponent}();zC=(0,a.gn)([(0,l.wA2)({template:OC})],zC);var _C=n(680),VC=function(){function CalendarGridCellComponent(e,t){(0,i.Z)(this,CalendarGridCellComponent),this.dynamicItemService=e,this.route=t}return(0,o.Z)(CalendarGridCellComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.context.dataItem.metadata.setName===u.gl.EVENTS){var t=this.context.dataItem,n=this.route.snapshot.data.dynamicItems,i=this.route.snapshot.data.metaStore.entities[t.metadata.parent];this.dynamicItemService.getItem({itemKey:t.parentKey,entityData:{metadata:i,culture:n.culture,provider:n.provider},fallbackProperties:[i.defaultFieldName]}).subscribe((function(t){e.calendar=t.data}))}}}]),CalendarGridCellComponent}();VC.ctorParameters=function(){return[{type:Ci.dg},{type:m.gz}]},VC=(0,a.gn)([(0,l.wA2)({selector:"sf-calendar-grid-component",template:_C}),(0,a.w6)("design:paramtypes",[Ci.dg,m.gz])],VC);var GC,HC,ZC,YC,jC,WC=n(681);!function(e){e[e.None=0]="None",e[e.January=1]="January",e[e.February=2]="February",e[e.March=3]="March",e[e.April=4]="April",e[e.May=5]="May",e[e.June=6]="June",e[e.July=7]="July",e[e.August=8]="August",e[e.September=9]="September",e[e.October=10]="October",e[e.November=11]="November",e[e.December=12]="December"}(GC||(GC={})),function(e){e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday"}(HC||(HC={})),function(e){e[e.None=0]="None",e[e.Sunday=1]="Sunday",e[e.Monday=2]="Monday",e[e.Tuesday=4]="Tuesday",e[e.Wednesday=8]="Wednesday",e[e.Thursday=16]="Thursday",e[e.Friday=32]="Friday",e[e.Saturday=64]="Saturday",e[e.EveryDay=127]="EveryDay",e[e.WeekDays=62]="WeekDays",e[e.WeekendDays=65]="WeekendDays"}(ZC||(ZC={})),function(e){e[e.None=0]="None",e[e.Hourly=1]="Hourly",e[e.Daily=2]="Daily",e[e.Weekly=3]="Weekly",e[e.Monthly=4]="Monthly",e[e.Yearly=5]="Yearly"}(YC||(YC={})),function(e){e[e.Never=0]="Never",e[e.By=1]="By",e[e.After=2]="After"}(jC||(jC={}));var JC=function(){function EventTimeGridCellComponent(e,t){(0,i.Z)(this,EventTimeGridCellComponent),this.datePipe=e,this.datesService=t,this.EVENT_DATE_FORMAT=On.FULL_DATE_SHORT_MONTH_AND_TIME}return(0,o.Z)(EventTimeGridCellComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.model,t=this.context.dataItem.data[vv.hj.EVENT_START_WITH_OFFSET];if("Start"===e.name){var n=this.datesService.getDateWithoutBrowserOffset(t);this.viewModel={date:this.datePipe.transform(n,On.FULL_DATE_SHORT_MONTH_AND_TIME),offset:this.getOffset(this.context.dataItem.data[vv.hj.EVENT_START_UTC_OFFSET])}}var i=this.context.dataItem.data[vv.hj.EVENT_END_WITH_OFFSET];if(i){var o;if("End"===e.name&&!this.isEndlessRecurringEvent())this.context.dataItem.data[vv.hj.ALL_DAY_EVENT]?(o=this.datesService.getEventEndForAllDayEvent(t,i),o=this.datesService.getDateWithoutBrowserOffset(o)):i&&(o=new Date(i),o=this.datesService.getDateWithoutBrowserOffset(o)),this.viewModel={date:this.datePipe.transform(o,On.FULL_DATE_SHORT_MONTH_AND_TIME),offset:this.getOffset(this.context.dataItem.data[vv.hj.EVENT_END_UTC_OFFSET])};this.context.dataItem.data.AllDayEvent&&this.processAllDayEvent()}}},{key:"isEndlessRecurringEvent",value:function isEndlessRecurringEvent(){return!!this.isRecurring()&&JSON.parse(this.context.dataItem.data[vv.hj.RECURRENCE_EXPRESSION]).endRecurrenceType===jC.Never}},{key:"isRecurring",value:function isRecurring(){return!!this.context.dataItem.data[vv.hj.RECURRENCE_EXPRESSION]}},{key:"getOffset",value:function getOffset(e){if(0===e)return"(UTC)";var t=e<0?"-":"+",n=Math.floor(Math.abs(e/60)),i=this.getOffsetMinutes(e);return"(UTC ".concat(t).concat(n,":").concat(i,")")}},{key:"getOffsetMinutes",value:function getOffsetMinutes(e){return this.padTime(Math.abs(e%60).toString())}},{key:"padTime",value:function padTime(e){return e.length<2?"".concat(e,"0"):e}},{key:"processAllDayEvent",value:function processAllDayEvent(){if(this.viewModel&&this.viewModel.date){var e=this.viewModel.date.split(",",2);2===e.length&&(this.viewModel.date=e.join(","))}}}]),EventTimeGridCellComponent}();JC.ctorParameters=function(){return[{type:On},{type:Mc}]},JC=(0,a.gn)([(0,l.wA2)({selector:"sf-event-time-grid-cell",template:WC,providers:[On]}),(0,a.w6)("design:paramtypes",[On,Mc])],JC);var qC=n(682),XC=function(){function ListChildrenCountComponent(e,t,n,o){(0,i.Z)(this,ListChildrenCountComponent),this.metadata=e,this.store=t,this.siteDataStore=n,this.reorderModuleChildrenProvider=o,this.isLoading=!1,this.minimumLoadingTime=1e3,this.children$=new re.t(1)}return(0,o.Z)(ListChildrenCountComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.isLoading=!0;var t=this.context.dataItem;this.metadata.initialize().subscribe((function(n){var i=(0,Sn.H)(e.minimumLoadingTime),o=e.store.getChildrenCount(t,n),a=e.isChildAvailable(t);(0,s.aj)(i,o,a).subscribe((function(i){var o=[],a=i[1],r=i[2];t.childTypes.forEach((function(e){if(r[e]){var t=n.entities[e],i=a[e],s=null;s=1===i?t.singularName:t.displayName,o.push({setName:e,displayName:s,count:i})}})),e.reorderModuleChildrenProvider.reorderChildren(t.metadata.setName,o),e.children$.next(o),e.isLoading=!1}))}))}},{key:"children",get:function get(){return this.children$.asObservable()}},{key:"onClick",value:function onClick(e){this.context.invoker.invoke({name:Sa,data:{childSetName:e.setName,dataItem:this.context.dataItem}})}},{key:"isChildAvailable",value:function isChildAvailable(e){var t=this;return(0,Zo.D)(e.childTypes.map((function(e){return t.siteDataStore.isEntitySetAccessible(e).pipe((0,w.U)((function(t){return{set:e,isAccessible:t}})))}))).pipe((0,w.U)((function(e){return e.reduce((function(e,t){return e[t.set]=t.isAccessible,e}),{})})))}}]),ListChildrenCountComponent}();XC.ctorParameters=function(){return[{type:pe.EY},{type:sa},{type:Qi},{type:dx}]},XC.propDecorators={context:[{type:l.IIB}],minimumLoadingTime:[{type:l.IIB}]},XC=(0,a.gn)([(0,l.wA2)({selector:"sf-list-children",template:qC}),(0,a.w6)("design:paramtypes",[pe.EY,sa,Qi,dx])],XC);var KC=n(683),$C=function(){function PageViewComponent(e){(0,i.Z)(this,PageViewComponent),this.window=e,this.isViewLinkVisible=!1}return(0,o.Z)(PageViewComponent,[{key:"ngOnInit",value:function ngOnInit(){this.context&&this.context.dataItem&&(!this.context.dataItem.isTranslated||this.context.dataItem.data&&"Group"===this.context.dataItem.data.PageType?this.isViewLinkVisible=!1:(this.isViewLinkVisible=!0,this.viewUrl=this.context.dataItem.data.ViewUrl))}},{key:"onClickHandler",value:function onClickHandler(){this.window.open(this.viewUrl,v.yX)}}]),PageViewComponent}();$C.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},$C=(0,a.gn)([(0,l.wA2)({template:KC}),(0,a.w6)("design:paramtypes",[Window])],$C);var eS=n(684),tS=function(){function CreateChildComponent(e){(0,i.Z)(this,CreateChildComponent),this.metadata=e,this.onClick=new l.vpe}return(0,o.Z)(CreateChildComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.context.dataItem.metadata.setName;this.metadata.initialize().subscribe((function(n){var i=n.entities[t];i&&i.hasChildren&&1===i.children.length&&(e.childSetName=i.children[0],e.childTypeName=n.entities[e.childSetName].singularName)}))}},{key:"onCreateClick",value:function onCreateClick(){this.onClick.emit(this.childSetName),this.context.invoker.invoke({name:Ba,data:{childSetName:this.childSetName,dataItem:this.context.dataItem}})}}]),CreateChildComponent}();tS.ctorParameters=function(){return[{type:pe.EY}]},tS.propDecorators={context:[{type:l.IIB}],onClick:[{type:l.r_U}]},tS=(0,a.gn)([(0,l.wA2)({selector:"sf-create-child",template:eS}),(0,a.w6)("design:paramtypes",[pe.EY])],tS);var nS=n(685),iS=function(){function ListChildrenItemsComponent(e,t){(0,i.Z)(this,ListChildrenItemsComponent),this.metadata=e,this.dynamicItemService=t,this.isLoading=!1,this.childrenItems=[],this.badgeContent=""}return(0,o.Z)(ListChildrenItemsComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;this.isLoading=!0,this.metadata.initialize().subscribe((function(t){var n=(0,Sn.H)(g.gn),i=t.entities[e.context.dataItem.childSetName];if(i){var o=e.getLoadItemsData(i),a=e.dynamicItemService.getItemList(o);(0,Nr.$R)(n,a).subscribe((function(t){var n=t[1];e.childrenItems=[],n.dataItems.forEach((function(t){e.childrenItems.push(t.data)})),n.totalCount>3&&(e.badgeContent="+"+(n.totalCount-3)),e.isLoading=!1}))}}))}},{key:"onClick",value:function onClick(){this.context.invoker.invoke({name:Sa,data:{childSetName:this.context.dataItem.childSetName,dataItem:this.context.dataItem}})}},{key:"getLoadItemsData",value:function getLoadItemsData(e){return{entityData:{metadata:e,provider:this.context.dataItem.provider,culture:this.context.dataItem.culture},filter:[{key:e.parentIdProperty,value:[this.context.dataItem.data.Id],operation:xi.O.eq}],take:3,fallbackProperties:[e.defaultFieldName]}}}]),ListChildrenItemsComponent}();iS.ctorParameters=function(){return[{type:pe.EY},{type:Ci.dg}]},iS=(0,a.gn)([(0,l.wA2)({selector:"sf-list-children-items",template:nS}),(0,a.w6)("design:paramtypes",[pe.EY,Ci.dg])],iS);var oS=n(686),aS=function(){function LetterMarkStore(){(0,i.Z)(this,LetterMarkStore),this.cache=[]}return(0,o.Z)(LetterMarkStore,[{key:"hasLetter",value:function hasLetter(e){return this.cache.indexOf(e)>-1}},{key:"addLetter",value:function addLetter(e){return this.hasLetter(e)?v.WP.EMPTY_STRING:(this.cache.push(e),e)}},{key:"clear",value:function clear(){this.cache.length&&(this.cache=[])}}]),LetterMarkStore}();aS=(0,a.gn)([(0,l.GSi)()],aS);var rS=function(){function LetterMarkComponent(e){(0,i.Z)(this,LetterMarkComponent),this.store=e}return(0,o.Z)(LetterMarkComponent,[{key:"ngOnInit",value:function ngOnInit(){this.letter=this.initLetter(this.context.dataItem.title)}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.store.clear()}},{key:"initLetter",value:function initLetter(e){return this.store.addLetter(e.charAt(0).toUpperCase())}}]),LetterMarkComponent}();rS.ctorParameters=function(){return[{type:aS}]},rS.propDecorators={context:[{type:l.IIB}]},rS=(0,a.gn)([(0,l.wA2)({selector:"sf-letter-mark",template:oS}),(0,a.w6)("design:paramtypes",[aS])],rS);var sS=n(687),lS=function(){function FileDimSizeComponent(){(0,i.Z)(this,FileDimSizeComponent)}return(0,o.Z)(FileDimSizeComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem.data,t=e.Extension;t&&(e.MimeType&&e.MimeType===y.LO.SVG&&(this.isVectorGraphics=!0),this.fileExtension=t.replace(".",v.WP.EMPTY_STRING).toUpperCase(),this.width=e.Width,this.height=e.Height,this.fileSizeInKb=Math.round(e.TotalSize/1024))}}]),FileDimSizeComponent}();lS.propDecorators={context:[{type:l.IIB}]},lS=(0,a.gn)([(0,l.wA2)({template:sS})],lS);var cS=n(688),dS=function(){function GridThumbnailComponent(e){(0,i.Z)(this,GridThumbnailComponent),this.gridExtender=e}return(0,o.Z)(GridThumbnailComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem.data,t=this.context.dataItem.isTranslated;if(e){this.isDimmed=e.inactive||!t;var n=e.ThumbnailUrl||this.context.dataItem.parentKey===v.WP.DEFAULT_GUID;this.thumbnailIcon=n?null:this.gridExtender.getEmptyScreenIcon(this.context.dataItem)}}},{key:"onImageLoaded",value:function onImageLoaded(e){var t=e.target;t&&t.naturalWidth>t.naturalHeight&&(this.isWide=!0)}}]),GridThumbnailComponent}();dS.ctorParameters=function(){return[{type:pd}]},dS.propDecorators={context:[{type:l.IIB}]},dS=(0,a.gn)([(0,l.wA2)({template:cS}),(0,a.w6)("design:paramtypes",[pd])],dS);var uS=n(689),fS=function(){function FileSizeComponent(){(0,i.Z)(this,FileSizeComponent),this.fileExtension=v.WP.EMPTY_STRING,this.fileSizeInKb=0}return(0,o.Z)(FileSizeComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.context.dataItem.data;e.Extension&&(this.fileExtension=e.Extension.replace(".",v.WP.EMPTY_STRING).toUpperCase()),e.TotalSize&&(this.fileSizeInKb=Math.round(e.TotalSize/1024))}}]),FileSizeComponent}();fS.propDecorators={context:[{type:l.IIB}]},fS=(0,a.gn)([(0,l.wA2)({template:uS})],fS);var pS=function(e){(0,f.Z)(PersonalizedCellComponent,e);var t=(0,p.Z)(PersonalizedCellComponent);function PersonalizedCellComponent(){return(0,i.Z)(this,PersonalizedCellComponent),t.apply(this,arguments)}return(0,o.Z)(PersonalizedCellComponent,[{key:"ngOnInit",value:function ngOnInit(){this.value={Description:"True"===this.context.dataItem.data[h.E.IS_PERSONALIZED]?"Personalized":null,Link:null,LinkTitle:null}}}]),PersonalizedCellComponent}(zC);pS=(0,a.gn)([(0,l.wA2)({template:OC})],pS);var AS=n(690),mS=function(){function BasedOnComponent(){(0,i.Z)(this,BasedOnComponent)}return(0,o.Z)(BasedOnComponent,[{key:"ngOnInit",value:function ngOnInit(){if(this.context&&this.context.dataItem){var e=this.context.dataItem.data[h.E.PARENT_TEMPLATE];e?e.Id?this.link={id:e.Id,title:e.Title}:this.text=e.Title:this.text="Not based on other template"}}},{key:"onClickHandler",value:function onClickHandler(){var e=this.context.invoker,t=this.context.dataItem,n=this.context.dataItem.data[h.E.PARENT_TEMPLATE],i={Id:n.Id,Title:n.Title,Renderer:n.Renderer},o=ee.zw.from(i,t.metadata,t.provider,t.culture);e.invoke({name:Ca,data:o})}}]),BasedOnComponent}();mS=(0,a.gn)([(0,l.wA2)({selector:"sf-based-on",template:AS})],mS);var gS=function(){function ColumnsMap(){(0,i.Z)(this,ColumnsMap),this.colMap=new Map,this.initColMap()}return(0,o.Z)(ColumnsMap,[{key:"tryGetColumnMapping",value:function tryGetColumnMapping(e,t){var n=this.colMap.get(t.name);return n?n.init(e,t):null}},{key:"initColMap",value:function initColMap(){this.colMap.set("Translations",this.createInitializer("Translations",{type:LC},"-col-size-m -translation",[h.E.AvailableLanguages])),this.colMap.set("Marketing",this.createInitializer("Marketing",{type:zC},"-col-size-m",[Ir])),this.colMap.set("Calendar",this.createInitializer("Calendar",{type:VC},"-col-size-m",["ParentId"])),this.colMap.set("Start",this.createInitializer("Start",{type:JC},"-col-size-m",[vv.hj.EVENT_START,vv.hj.EVENT_START_UTC_OFFSET,vv.hj.ALL_DAY_EVENT,vv.hj.EVENT_START_WITH_OFFSET])),this.colMap.set("End",this.createInitializer("End",{type:JC},"-col-size-m",[vv.hj.EVENT_END,vv.hj.EVENT_END_UTC_OFFSET,vv.hj.ALL_DAY_EVENT,vv.hj.RECURRENCE_EXPRESSION,vv.hj.EVENT_END_WITH_OFFSET])),this.colMap.set("SharedWith",this.createInitializer("SharedWith",{type:AE},"-col-size-m",[h.E.SHARED_WITH])),this.colMap.set("Contains",this.createInitializer("Contains",{type:iS},"-col-size-3xl",[])),this.colMap.set("AppliedTo",this.createInitializer("AppliedTo",{type:Oh},"-col-size-m",[h.E.APPLIED_TO])),this.colMap.set("Analytics",this.createInitializer("Analytics",{type:Ig},"-col-size-2xs",[],Tg)),this.colMap.set("View",this.createInitializer("View",{type:$C},"-col-size-2xs",["ViewUrl","PageType"])),this.colMap.set("Children",this.createInitializer("Children",{type:XC},"-col-size-l",[])),this.colMap.set("Actions",this.createInitializer("Actions",{type:cy},"-action -col-size-3xs",[h.E.AvailableLanguages])),this.colMap.set("CreateChild",this.createInitializer("CreateChild",{type:tS},"-col-size-l",[])),this.colMap.set(M,this.createInitializer(M,{type:I},v.WP.EMPTY_STRING,[],Mg)),this.colMap.set(h.E.PUBLICATION_DATE,this.createInitializer(h.E.PUBLICATION_DATE,{type:bh},"",[h.E.LAST_PUBLISHED],Rg)),this.colMap.set(h.E.DATE_CREATED,this.createInitializer(h.E.DATE_CREATED,{type:bh},"",[h.E.DATE_CREATED,h.E.CREATED_BY],Rg)),this.colMap.set(h.E.LAST_MODIFIED,this.createInitializer(h.E.LAST_MODIFIED,{type:bh},"",[h.E.LAST_MODIFIED,h.E.LAST_MODIFIED_BY],Rg)),this.colMap.set(N,this.createInitializer(N,{type:I},v.WP.EMPTY_STRING,[],Fg)),this.colMap.set(T,this.createInitializer(T,{type:rS},"-group h3",[h.E.TITLE],Dg)),this.colMap.set(F,this.createInitializer(F,{type:I},v.WP.EMPTY_STRING,[],Mg)),this.colMap.set(P,this.createInitializer(P,{type:I},v.WP.EMPTY_STRING,[],Pg)),this.colMap.set(R,this.createInitializer(R,{type:I},v.WP.EMPTY_STRING,[],Pg)),this.colMap.set(vh,this.createInitializer(vh,{type:bh},"",[h.E.LAST_UPLOADED,h.E.LAST_UPLOADED_BY],Rg)),this.colMap.set("FileDimSize",this.createInitializer("FileDimSize",{type:lS},"",[h.E.TOTAL_SIZE,h.E.EXTENSION,h.E.WIDTH,h.E.HEIGHT,h.E.MIME_TYPE])),this.colMap.set("Thumbnail",this.createInitializer("Thumbnail",{type:dS},"-col-size-2xs",[h.E.THUMBNAIL_URL,h.E.DATE_CREATED,h.E.URL,h.E.ORDINAL],Tg)),this.colMap.set("Storage",this.createInitializer("Storage",{type:zg},"-col-size-l",[])),this.colMap.set(Q,this.createInitializer(Q,{type:I},v.WP.EMPTY_STRING,[],Pg)),this.colMap.set("FileSize",this.createInitializer("FileSize",{type:fS},"",[h.E.TOTAL_SIZE,h.E.EXTENSION])),this.colMap.set("Personalization",this.createInitializer("Personalization",{type:pS},v.WP.EMPTY_STRING,[h.E.IS_PERSONALIZED])),this.colMap.set("BasedOn",this.createInitializer("BasedOn",{type:mS},"-col-size-xl",[h.E.PARENT_TEMPLATE])),this.colMap.set(L,this.createInitializer(L,{type:I},v.WP.EMPTY_STRING,[h.E.TITLE,h.E.DISPLAY_STATUS,h.E.FRAMEWORK,h.E.THUMBNAIL_URL,h.E.RENDERER],Ng)),this.colMap.set(h.E.PAGES_COUNT,this.createInitializer(h.E.PAGES_COUNT,{type:Gb},"-col-size-2xs",[h.E.PAGES_COUNT])),this.colMap.set(h.E.USED_ON,this.createInitializer(h.E.USED_ON,{type:Gb},"-col-size-m",[])),this.colMap.set(U,this.createInitializer(U,{type:I},v.WP.EMPTY_STRING,[],Pg)),this.colMap.set(h.E.AUTHOR,this.createInitializer(h.E.CREATED_BY,{type:zg},"",[h.E.CREATED_BY]))}},{key:"createInitializer",value:function createInitializer(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Bg,a={name:e,componentData:t,css:n,dataFieldNames:i};return new o(a)}}]),ColumnsMap}();gS.ctorParameters=function(){return[]},gS=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[])],gS);var hS=["Author"],vS=["DateCreated","LastModified"],bS=new Map([[Y.U.media,"-col-size-xs -media"],[Y.U.shortText,"-col-size-m"],[Y.U.address,"-col-size-xl"],[Y.U.taxa,"-col-size-m"],[Y.U.textArea,"-col-size-2xl"],[Y.U.choiceYesNo,"-col-size-2xs"],[Y.U.relatedData,"-col-size-m"],[Y.U.urlName,"-col-size-m"],[Y.U.number,"-col-size-2xs"],[Y.U.dateTime,"-col-size-s"],[Y.U.choice,"-col-size-s"]]),yS=function(){function TweaksColumnProvider(e,t,n,o,a){(0,i.Z)(this,TweaksColumnProvider),this.store=e,this.fieldsProvider=t,this.metadataParserService=n,this.colsMap=o,this.externalConfigService=a}return(0,o.Z)(TweaksColumnProvider,[{key:"getColumns",value:function getColumns(e){var t=this,n=e.metadata.setName,i=this.store.initializeGrid(n);return(i instanceof Promise?(0,In.D)(i).pipe((0,w.U)((function(){return t.store.getGridByType(n)}))):(0,r.of)(this.store.getGridByType(n))).pipe((0,w.U)((function(n){return n.filter((function(n){if(x.hasOwnProperty(n.name))return!1;var i=t.getWhitelistedColsFromConfig(e.metadata.setName);if(hS.filter((function(e){return!i.includes(e)})).find((function(e){return e===n.name})))return!1;if(e.metadata.children.length>0&&!e.metadata.isSelfReferencing&&vS.filter((function(e){return!i.includes(e)})).find((function(e){return e===n.name})))return!1;return!0})).map((function(n,i){var o=t.colsMap.tryGetColumnMapping(e.metadata,n);if(o)return o.ordinal=t.setOrdinalForServerColumn(o,i),o;var a=n.boundPropertyName||n.name,r=e.metadata.properties[a],s=r?t.metadataParserService.getPropertyFieldType(e.metadata,r,null,a,null):null,l=s?t.fieldsProvider.getFieldRegistration({fieldType:s,fieldName:a,typeName:e.metadata.setName},e.metadata):null;if(!l){var c=t.createColumnModel(n,{type:zg},v.WP.EMPTY_STRING,[]);return c.ordinal=t.setOrdinalForServerColumn(c,i),c}var d=l.gridComponent||l.readComponent||yd.m,u=null!=l.settingsType?new l.settingsType(null,!0):null;u&&(u.init(r),u.name&&(u.key=u.key?u.key:u.name),t.metadataParserService.updateFieldSettings(u,s,r,a,e.metadata,n),u.title=n.title);var f=bS.get(s)?bS.get(s):v.WP.EMPTY_STRING;d===Zc&&(f="-col-size-xl",u.look?u.look=u.look+" in-list":u.look="in-list"),d===jc&&(u.look="-two-lines"),d===$y&&(u.look="size-l");var p={type:d,properties:{settings:u}},A=t.createColumnModel(n,p,f,[a]);return A.ordinal=t.setOrdinalForServerColumn(A,i),A})).filter((function(e){return!!e}))})))}},{key:"getColumnsToRemove",value:function getColumnsToRemove(e){return(0,r.of)([])}},{key:"createColumnModel",value:function createColumnModel(e,t,n,i,o){return{name:e.name,title:o||e.title,hidden:!e.visible,ordinal:e.ordinal,css:n,dataFieldNames:i,componentData:t}}},{key:"getWhitelistedColsFromConfig",value:function getWhitelistedColsFromConfig(e){if(!e)return[];var t=this.externalConfigService.externalConfig.columnsSettings,n=[];return t&&t.columnNamesWhitelist&&t.columnNamesWhitelist[e]&&(n=t.columnNamesWhitelist[e]),n}},{key:"setOrdinalForServerColumn",value:function setOrdinalForServerColumn(e,t){return 100*t}}]),TweaksColumnProvider}();yS.ctorParameters=function(){return[{type:yl},{type:lr.H},{type:Yo.F},{type:gS},{type:Rt.V}]},yS=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[yl,lr.H,Yo.F,gS,Rt.V])],yS);var ES={multi:!0,provide:k,useClass:yS},IS=(0,o.Z)((function AnalyticsModule(){(0,i.Z)(this,AnalyticsModule)}));IS=(0,a.gn)([(0,l.LVF)({declarations:[Ig],imports:[cf,Ut.ez],providers:[],exports:[Ig]})],IS);var wS=n(691),kS=function(e){(0,f.Z)(FilterNotificationComponent,e);var t=(0,p.Z)(FilterNotificationComponent);function FilterNotificationComponent(e,n){var o;return(0,i.Z)(this,FilterNotificationComponent),(o=t.call(this)).filterStore=e,o.route=n,o.clearFilter=new l.vpe,o}return(0,o.Z)(FilterNotificationComponent,[{key:"ngOnChanges",value:function ngOnChanges(e){var t=this,n=e.entityData,i=e.filterValue;if(i&&!i.currentValue)return this.predefinedFilter=null,void(this.hasCustomFilter=!1);if((n||i)&&this.filterValue&&this.route.snapshot.queryParams[g.V5.FILTER]){this.filtersSubscription&&this.filtersSubscription.unsubscribe();var o=this.getEntityFilters(this.entityData).pipe((0,Bi.h)((function(e){return e&&!e.isLoading}))),a=this.filterStore.getDynamicFiltersCache(this.entityData,this.parentId);this.filtersSubscription=(0,Nr.$R)(o,a).subscribe((function(e){var n=e[0]&&e[0].filters?e[0].filters:[],i=e[1]||[],o=n.concat(i);t.predefinedFilter=o.find((function(e){return e.name===t.filterValue})),t.hasCustomFilter=!t.predefinedFilter})),this.registerSubscription(this.filtersSubscription)}}},{key:"onClearFilter",value:function onClearFilter(){this.clearFilter.emit()}},{key:"getEntityFilters",value:function getEntityFilters(e){return this.filterStore.getPredefinedFilters(e)}}]),FilterNotificationComponent}(E.zu);kS.ctorParameters=function(){return[{type:Vr},{type:m.gz}]},kS.propDecorators={searchValue:[{type:l.IIB}],filterValue:[{type:l.IIB}],entityData:[{type:l.IIB}],itemsState:[{type:l.IIB}],parentId:[{type:l.IIB}],clearFilter:[{type:l.r_U}]},kS=(0,a.gn)([(0,l.wA2)({selector:"sf-filter-notification",template:wS}),(0,a.w6)("design:paramtypes",[Vr,m.gz])],kS);var xS=n(692),CS=function(e){(0,f.Z)(CustomFilterComponent,e);var t=(0,p.Z)(CustomFilterComponent);function CustomFilterComponent(e){var n;return(0,i.Z)(this,CustomFilterComponent),(n=t.call(this)).filterStore=e,n.filterValueSelected=new l.vpe,n.valuesLoaded=new l.vpe,n.treeConfig={description:!0,noSelection:!0,clickable:!0},n.selectedValues=[],n.dropdownValues=[],n.displayField="title",n.chipsConfig={showRecentLabel:!1,showNoResultsLabel:!0},n}return(0,o.Z)(CustomFilterComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=v.WP.ELLIPSIS;if(this.properties&&this.properties.parameters&&this.properties.parameters.contentSingularName){var t=this.properties.parameters.contentSingularName;e=" ".concat(t.toLowerCase()).concat(v.WP.ELLIPSIS)}this.chipsConfig.searchPlaceholder="".concat("type to search").concat(e)}},{key:"ngOnChanges",value:function ngOnChanges(e){var t=this,n=e.filterParams;if(n){var i=n.currentValue;i&&i.length&&this.properties.entityData?(i=Array.from(new Set(i)),this.selectedValuesSubsription&&this.selectedValuesSubsription.unsubscribe(),this.selectedValuesSubsription=this.filterStore.getFilterValues(this.properties.entityData,this.properties.filterName,{keys:i}).pipe((0,Zi.K)((function(e){return[]}))).subscribe((function(e){t.selectedValues=t.orderFilterValues(i,e.dataItems),t.valuesLoaded.emit(t.properties.filterName)})),this.registerSubscription(this.selectedValuesSubsription)):this.selectedValues=[]}}},{key:"onSelect",value:function onSelect(e){this.selectedValues.findIndex((function(t){return t.key===e.key}))<0&&(this.selectedValues.push(e),this.onFilterChanged(this.properties.filterName,this.selectedValues))}},{key:"onSearch",value:function onSearch(e){var t=this;this.dropdownValues=[];var n=10+this.selectedValues.length;this.valuesSubscription&&this.valuesSubscription.unsubscribe();var i={take:n,search:e?e.trim():e};this.valuesSubscription=this.filterStore.getFilterValues(this.properties.entityData,this.properties.filterName,i).subscribe((function(e){t.dropdownValues=e.dataItems.filter((function(e){return t.selectedValues.findIndex((function(t){return t.key===e.key}))<0})).slice(0,10),e.dataItems.find((function(e){return!!e.userAvatar}))&&(t.treeConfig.avatar=!0)})),this.registerSubscription(this.valuesSubscription)}},{key:"onRemove",value:function onRemove(e){var t=this.selectedValues.findIndex((function(t){return t.key===e.key}));t>-1&&(this.selectedValues.splice(t,1),this.onFilterChanged(this.properties.filterName,this.selectedValues))}},{key:"onFilterChanged",value:function onFilterChanged(e,t){var n={name:e,keys:t.map((function(e){return e.key}))};this.filterValueSelected.emit(n)}},{key:"orderFilterValues",value:function orderFilterValues(e,t){var n=[];return e.forEach((function(e){if(e){var i=t.find((function(t){return t.key.toLowerCase()===e.toLowerCase()}));i&&n.push(i)}})),n}}]),CustomFilterComponent}(E.zu);CS.ctorParameters=function(){return[{type:Vr}]},CS.propDecorators={properties:[{type:l.IIB}],filterParams:[{type:l.IIB}],filterValueSelected:[{type:l.r_U}],valuesLoaded:[{type:l.r_U}]},CS=(0,a.gn)([(0,l.wA2)({selector:"sf-custom-filter",template:xS}),(0,a.w6)("design:paramtypes",[Vr])],CS);var SS=n(693),BS=function(e){(0,f.Z)(ContentFilterCountComponent,e);var t=(0,p.Z)(ContentFilterCountComponent);function ContentFilterCountComponent(e,n,o){var a;return(0,i.Z)(this,ContentFilterCountComponent),(a=t.call(this)).filterStore=e,a.dynamicItemStore=n,a.route=o,a.filterResult$=new re.t,a.filtersCountResult$=a.filterResult$.pipe(Dn(g.gn)),a}return(0,o.Z)(ContentFilterCountComponent,[{key:"ngOnInit",value:function ngOnInit(){var e,t=this,n=0,i=0;this.loadFilterCount(this.filter.name,this.entityData);var o=this.dynamicItemStore.getItemChanges().pipe((0,Bi.h)((function(e){return null!==e.action&&e.action!==da.VX.ReorderItems&&e.action!==$.q.edit}))).subscribe((function(o){e&&e.unsubscribe(),i++,n=0!==i&&i%5==0?5e3:g.xE,e=(0,Sn.H)(n).subscribe((function(){i=0,t.loadFilterCount(t.filter.name,t.entityData)}))}));this.registerSubscription(o);var a=this.loadFiltersCount.pipe((0,EA.T)(1)).subscribe((function(e){return t.loadFilterCount(t.filter.name,t.entityData)}));this.registerSubscription(a)}},{key:"parentId",get:function get(){return this.route.parent.snapshot.params[g.UY.PARENT_ID_SEGMENT]||null}},{key:"loadFilterCount",value:function loadFilterCount(e,t){var n=this;this.getFiltersSubscription&&this.getFiltersSubscription.unsubscribe();var i=null;this.parentId&&(i={key:t.metadata.parentIdProperty,value:this.parentId}),this.getFiltersSubscription=this.filterStore.getFiltersCount(t,this.filter.name,i).subscribe((function(e){return n.filterResult$.next(e)})),this.registerSubscription(this.getFiltersSubscription)}}]),ContentFilterCountComponent}(E.zu);BS.ctorParameters=function(){return[{type:Vr},{type:ga},{type:m.gz}]},BS.propDecorators={entityData:[{type:l.IIB}],filter:[{type:l.IIB}],loadFiltersCount:[{type:l.IIB}]},BS=(0,a.gn)([(0,l.wA2)({selector:"sf-content-filter-count",template:SS}),(0,a.w6)("design:paramtypes",[Vr,ga,m.gz])],BS);var DS=function(e){(0,f.Z)(CommandModelBase,e);var t=(0,p.Z)(CommandModelBase);function CommandModelBase(e){var n;return(0,i.Z)(this,CommandModelBase),(n=t.call(this,e)).name=e,n}return(0,o.Z)(CommandModelBase)}(function(){function Named(e){(0,i.Z)(this,Named),this.name=e}return(0,o.Z)(Named,[{key:"title",get:function get(){return this._title?this._title:this.name},set:function set(e){this._title=e}}]),Named}()),TS=function(){function ParentNavigateCommand(e){(0,i.Z)(this,ParentNavigateCommand),this.router=e}return(0,o.Z)(ParentNavigateCommand,[{key:"execute",value:function execute(e){var t=this.router.navigate(e.data.route);return(0,In.D)(t)}}]),ParentNavigateCommand}();TS.ctorParameters=function(){return[{type:m.F0}]},TS=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0])],TS);var MS=function(){function NavigationOperationsProvider(){(0,i.Z)(this,NavigationOperationsProvider)}return(0,o.Z)(NavigationOperationsProvider,[{key:"getOperations",value:function getOperations(e){return(0,r.of)([])}},{key:"getCommands",value:function getCommands(e){var t=[];if(e.target===z.List&&e.dataItem.isEmpty&&e.dataItem.metadata.ignoreParentChildRelationship&&e.dataItem.metadata.hasParent&&!e.dataItem.metadata.isMedia){var n=e.dataItem,i=new DS("navigateToParent");i.token={type:TS,properties:{route:[So.CONTENT,n.metadata.parent]}},i.category="Settings",i.title="Manage ".concat(n.metadata.parent),i.ordinal=-1,t.push(i)}return(0,r.of)(t)}},{key:"getCategories",value:function getCategories(e){return(0,r.of)([])}}]),NavigationOperationsProvider}();MS=(0,a.gn)([(0,l.GSi)()],MS);var NS={multi:!0,provide:ue,useClass:MS},FS=function(e){(0,f.Z)(ContentGridExtender,e);var t=(0,p.Z)(ContentGridExtender);function ContentGridExtender(){return(0,i.Z)(this,ContentGridExtender),t.apply(this,arguments)}return(0,o.Z)(ContentGridExtender,[{key:"isSupportedType",value:function isSupportedType(e){return u.Fx.indexOf(e.metadata.typeFullName)<0}},{key:"getTitle",value:function getTitle(e){var t=e.entityData.metadata,n=t.displayName;if(t.hasParent){var i=e.parentItem.title;n=e.includeChildSet?"".concat(i," ").concat(n.toLowerCase()):"".concat(i)}return(0,r.of)(n)}}]),ContentGridExtender}(fd);FS=(0,a.gn)([(0,l.GSi)()],FS);var PS={multi:!0,provide:ud,useClass:FS},RS="TaxonomyId",QS=function(e){(0,f.Z)(HierarchicalTaxonomyService,e);var t=(0,p.Z)(HierarchicalTaxonomyService);function HierarchicalTaxonomyService(e,n){var o;return(0,i.Z)(this,HierarchicalTaxonomyService),(o=t.call(this,e)).dynamicItemService=e,o.contentFilterService=n,o}return(0,o.Z)(HierarchicalTaxonomyService,[{key:"showStatusIcons",value:function showStatusIcons(){return!1}},{key:"isHierarchical",value:function isHierarchical(e){return e===md.ZP.HIERARCHY_TAXA}},{key:"getSetName",value:function getSetName(){return"taxonomies"}},{key:"isTypeSupported",value:function isTypeSupported(e){return"Taxon"===e.metadata.singularName}},{key:"getName",value:function getName(e,t){return this.dynamicItemService.getItemsByKeys({entityData:e,fallbackProperties:["TaxonName",e.metadata.defaultFieldName],keyProperty:er,keys:[t]})}},{key:"getItemTaxa",value:function getItemTaxa(e,t,n){if(e){for(var i=Math.ceil(e.length/50),o=[],a=0,s=1;s<=i;s++){for(var l=(0,ir.r)().where().or(),c=Math.min(e.length-a,50),d=0;d0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.enableDamPicker&&e?this.openFilePicker():this.useOnlyUploadMode?this.openFileUpload():(0,Re.Z)((0,Qe.Z)(FileTreeComponent.prototype),"onToggleAddControl",this).call(this,e,t)}},{key:"onNewItemSelected",value:function onNewItemSelected(e){var t=(0,Re.Z)((0,Qe.Z)(FileTreeComponent.prototype),"onNewItemSelected",this).call(this,e);return t&&this.onItemsAdd.emit([t]),t}},{key:"onRemove",value:function onRemove(e){var t=(0,Re.Z)((0,Qe.Z)(FileTreeComponent.prototype),"onRemove",this).call(this,e);return t&&this.onItemsRemove.emit([t]),t}},{key:"openFilePicker",value:function openFilePicker(){this.openDialog(ml.Select)}},{key:"openFileUpload",value:function openFileUpload(){this.openDialog(null)}},{key:"onReorderNodes",value:function onReorderNodes(e){this.reorderNodes.emit(e)}},{key:"getRecentRelatedData",value:function getRecentRelatedData(e){var t=this;if(this.sourceLibraryId){var n=this.fallbackProperties.join(","),i="documents/Default.DocumentsRecursiveSearch(rootLibraryId=".concat(this.sourceLibraryId,")?$top=").concat(5,"&$search=").concat(this.searchTerm||"","&sf_culture=").concat(this.mediaEntityData.culture,"&sf_fallback_prop_names=").concat(n);this.dynamicService.executeUnboundFunction(i).pipe((0,w.U)((function(e){var n=e.value.map((function(e){return ee.zw.from(e,t.relatedEntityData.metadata,t.settings.provider,t.settings.culture)})),i=t.getActionLinks(),o=n.map((function(e){return t.cloneAndAddFieldsToDataItem(e)})).concat(i);t.addItemsToRecentItems(o)}))).subscribe()}else(0,Re.Z)((0,Qe.Z)(FileTreeComponent.prototype),"getRecentRelatedData",this).call(this,e)}},{key:"createBaseServiceInfo",value:function createBaseServiceInfo(){var e=(0,Re.Z)((0,Qe.Z)(FileTreeComponent.prototype),"createBaseServiceInfo",this).call(this);if(this.mediaEntity&&this.mediaEntity.mediaFilterEnabled){var t=this.mediaEntity.acceptableFileTypes.map((function(e){return"".concat(v.WP.DOT).concat(e)}));e.action=g.aO.FILTER("".concat(g.hh.EXTENSIONS).concat(v.WP.COMMA).concat(t.join(v.WP.COMMA))),e.culture=this.mediaEntityData.culture}return e}},{key:"addItemsToRecentItems",value:function addItemsToRecentItems(e){var t,n=this;this.mediaEntity&&(this.mediaEntity.maxSize||(null===(t=this.mediaEntity.acceptableFileTypes)||void 0===t?void 0:t.length)>0)&&e.map((function(e){n.configureItemSelection(e)})),(0,Re.Z)((0,Qe.Z)(FileTreeComponent.prototype),"addItemsToRecentItems",this).call(this,e)}},{key:"onViewNodeFunk",value:function onViewNodeFunk(e){var t=this,n=ee.zw.from(e.data,this._relatedDataEntity,this.settings.provider,this.settings.culture),i={filedName:this.settings.key,settings:{allowedFileExtensions:this.originalSettings.acceptableFileTypes,maximumAllowedSize:this.originalSettings.maxSize,acceptableMediaTypes:this.originalSettings.acceptableMediaTypes}};this.editNavigationService.openDialogForRelatedDataAndLoadFieldData(this.value.map((function(e){return e.Id})),n,this.route,i,!1,null).subscribe((function(e){t.writeValue(e),t.onItemsChange.emit(e)}))}},{key:"configureItemSelection",value:function configureItemSelection(e){var t;if(this.mediaEntity){if(e.isSelectionDisabled=!1,this.mediaEntity.maxSize)if(e.TotalSize>this.mediaEntity.maxSize)return void(e.isSelectionDisabled=!0);if((null===(t=this.mediaEntity.acceptableFileTypes)||void 0===t?void 0:t.length)>0&&e.Extension)if(this.mediaEntity.acceptableFileTypes.indexOf(e.Extension.replace(v.WP.DOT,v.WP.EMPTY_STRING))<0)return void(e.isSelectionDisabled=!0)}}},{key:"openDialog",value:function openDialog(e){var t=this,n={type:bc,afterComponentInit:function afterComponentInit(n){n.multiple=t.multiple,n.value=t.value?t.value.slice(0).map((function(e){return ee.zw.fromEntityData(e,t.mediaEntityData)})):[],n.name=t.fieldName,n.mediaEntityData={metadata:t.mediaEntityData.metadata.clone(),provider:t.mediaEntityData.provider,culture:t.mediaEntityData.culture},n.allowCreate=t.settings.allowCreate,n.initialViewMode=t.getFilePickerComponentInitialViewMode(e),n.useOnlySelectMode=t.useOnlySelectMode,n.sourceLibraryId=t.sourceLibraryId,n.targetLibraryId=t.targetLibraryId},properties:{enableDamPicker:this.enableDamPicker}};n.properties.showProviderSelector=!!this.allItemsTabType;var i=new ki.np(n,(function(n){if(n&&n.data){var i=Array.isArray(n.data)?n.data.map((function(e){return(0,d.kI)(e.data)})):[(0,d.kI)(n.data.data)];t.multiple||(t.value.length=0),t.value=t.value.concat(i),e===ml.Select?t.onItemsChange.emit(i):t.onItemsAdd.emit(i)}}),[],"-prompt");this.modalService.setMapping(i,hc),this.modalService.open(this.route,hc)}},{key:"update",value:function update(){this.isAddButtonVisible=!0,this.tree.updateTreeModel()}},{key:"initializeTree",value:function initializeTree(){this.originalSettings=this.settings;var e=new nC(Fl.A.document.single.toLowerCase(),!1);(e=Object.assign(e,this.settings)).type=Fl.A.document.plural,e.allowMultiple=this.multiple,this.displayNames={plural:Fl.A.document.plural.toLowerCase(),singular:Fl.A.document.single.toLowerCase()},e.provider=this.settings.provider,e.allowCreate=this.settings.allowCreate,e.culture=this.settings.culture,this.settings=e,this.treeConfig=this.treeConfig||{drag:this.multiple,status:!0,deletion:this.settings.allowRemove,noSelection:!0,clickable:!0}}},{key:"getFilePickerComponentInitialViewMode",value:function getFilePickerComponentInitialViewMode(e){var t=e,n=!this.settings.allowCreate||this.useOnlySelectMode,i=this.settings.allowCreate&&this.useOnlyUploadMode;return n?t=ml.Select:i&&(t=ml.Upload),t}}]),FileTreeComponent}(wc);ZS.ctorParameters=function(){return[{type:Ci.dg},{type:ki.bL},{type:m.gz},{type:Qi},{type:pe.EY},{type:l.Qsj},{type:l.SBq},{type:b.y},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Ot},{type:Ic},{type:Qt.Zr}]},ZS.propDecorators={items:[{type:l.IIB}],mediaEntityData:[{type:l.IIB}],fieldName:[{type:l.IIB}],multiple:[{type:l.IIB}],useOnlyUploadMode:[{type:l.IIB}],useOnlySelectMode:[{type:l.IIB}],targetLibraryId:[{type:l.IIB}],sourceLibraryId:[{type:l.IIB}],canRelateDamAssets:[{type:l.IIB}],onItemsAdd:[{type:l.r_U}],onItemsRemove:[{type:l.r_U}],onItemsChange:[{type:l.r_U}],onFileUploadRetry:[{type:l.r_U}],reorderNodes:[{type:l.r_U}]},ZS=(0,a.gn)([(0,l.wA2)({selector:"sf-file-tree",template:wi}),(0,a.w6)("design:paramtypes",[Ci.dg,ki.bL,m.gz,Qi,pe.EY,l.Qsj,l.SBq,b.y,Window,Ot,Ic,Qt.Zr])],ZS);var YS=n(694),jS=function(e){(0,f.Z)(FilePreviewComponent,e);var t=(0,p.Z)(FilePreviewComponent);function FilePreviewComponent(e,n,o){var a;return(0,i.Z)(this,FilePreviewComponent),(a=t.call(this)).mediaRecognizerService=e,a.mediaHandlers=n,a.route=o,a.editable=!1,a.onFilesSelected=new l.vpe,a}return(0,o.Z)(FilePreviewComponent,[{key:"dataURL",set:function set(e){this.initPreviewerData(this.item,e)}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.siteLanguages=this.route.parent?this.route.parent.snapshot.data.siteDataStore.ContentCultures:[],this.currentMediaHandler=this.mediaHandlers.find((function(t){return t.canHandle(e.mediaEntityData)})),this.editOperations=this.currentMediaHandler.getEditOperations(this.item,void 0,this.siteLanguages,this.isDamMedia()),this.propertiesButtonTitle="".concat(this.mediaEntityData.metadata.singularName," settings"),this.previewerData.properties.multiple=this.multiple,this.isVideo&&this.editable?this.previewerData.properties.look="play-detached":this.isImage&&this.editable&&(this.previewerData.properties.look="view-in-edit")}},{key:"isVideo",get:function get(){return this.mediaEntityData.metadata.setName===u.gl.VIDEOS}},{key:"isImage",get:function get(){return this.mediaEntityData.metadata.setName===u.gl.IMAGES}},{key:"isSvg",get:function get(){return this.item&&(this.item.contentType===y.LO.SVG||this.item.extension===y.iK.SVG)}},{key:"ngOnChanges",value:function ngOnChanges(e){if(e){var t=e.item;t&&!t.isFirstChange()&&(this.editOperations=this.currentMediaHandler.getEditOperations(this.item,void 0,this.siteLanguages,this.isDamMedia()),this.initPreviewerData(t.currentValue,t.currentValue.dataUrl))}}},{key:"onEditOperationClick",value:function onEditOperationClick(e,t){var n=this;t.stopPropagation(),this.isVideo&&(this.loader.currentInstance.isLoaded=!1),this.currentMediaHandler.executeOperation({operationName:e,item:this.item,route:this.route,allowedMediaTypes:this.viewModel.acceptFileTypes,mediaDataItem:this.viewModel.mediaDataItem,input:this.input.nativeElement}).subscribe((function(e){if(null===e)n.isVideo&&(n.loader.currentInstance.isLoaded=!0);else{if(e.dataUrl){var t=e.dataUrl,i="."===n.item.extension[0]?n.item.extension:".".concat(n.item.extension),o=[(0,d.ah)(t,"".concat(n.item.title).concat(i))];n.onFilesSelected.emit({files:o}),n.initPreviewerData(n.item,t)}e.files&&n.onFilesSelected.emit({files:e.files,preserveFileName:e.preserveFileName,originalFileNames:e.originalFileNames})}}))}},{key:"initPreviewerData",value:function initPreviewerData(e,t){var n=this,i={item:this.item,src:t,multiple:this.multiple,isMultimedia:this.mediaEntityData.metadata.isMultimedia,type:this.item.contentType,isVideo:this.isVideo};this.isVideo&&this.editable?i.look="play-detached":this.isImage&&this.editable&&(i.look="view-in-edit"),this.previewerData=this.mediaRecognizerService.getComponentData(i),this.previewerData.updatePropertiesOnChange=!0,this.previewerData.afterComponentInit=function(e){if(e.error){var t=e.error.subscribe((function(){n.editOperations=n.currentMediaHandler.getEditOperations(n.item,!0,n.siteLanguages,n.isDamMedia())}));n.registerSubscription(t)}}}},{key:"isDamMedia",value:function isDamMedia(){return!!(this.viewModel&&this.viewModel.mediaDataItem&&this.viewModel.mediaDataItem.data)&&this.viewModel.mediaDataItem.data.IsDamMedia}}]),FilePreviewComponent}(E.zu);jS.ctorParameters=function(){return[{type:hi},{type:Array,decorators:[{type:l.tBr,args:[Ac]}]},{type:m.gz}]},jS.propDecorators={input:[{type:l.i9L,args:["fileInput"]}],loader:[{type:l.i9L,args:["loader",{static:!1}]}],multiple:[{type:l.IIB}],mediaEntityData:[{type:l.IIB}],item:[{type:l.IIB}],editable:[{type:l.IIB}],viewModel:[{type:l.IIB}],onFilesSelected:[{type:l.r_U}],dataURL:[{type:l.IIB}]},jS=(0,a.gn)([(0,l.wA2)({selector:"sf-file-preview",template:YS}),(0,a.w6)("design:paramtypes",[hi,Array,m.gz])],jS);var WS=n(695),JS=function(){function LibraryPreviewComponent(){(0,i.Z)(this,LibraryPreviewComponent),this.files=[],this.folders=[],this.totalFolders=0,this.selectable=!0,this.selected=!1,this.failedValidation=null,this.clickLibrary=new l.vpe,this.selectLibrary=new l.vpe}return(0,o.Z)(LibraryPreviewComponent,[{key:"ngOnInit",value:function ngOnInit(){this.mediaEntity=this.mediaEntityData.metadata,this.files||(this.files=[]);var e=Array.from({length:Math.min(this.totalFolders,4)},(function(e,t){return{y:t,isFolder:!0}})).concat(this.files).slice(0,4);this.children=e}},{key:"onLibraryClick",value:function onLibraryClick(){this.failedValidation||this.clickLibrary.emit()}},{key:"onSelected",value:function onSelected(){this.failedValidation||(this.selected=!this.selected,this.selectLibrary.emit())}}]),LibraryPreviewComponent}();JS.propDecorators={title:[{type:l.IIB}],files:[{type:l.IIB}],folders:[{type:l.IIB}],totalFolders:[{type:l.IIB}],totalFiles:[{type:l.IIB}],mediaEntityData:[{type:l.IIB}],selectable:[{type:l.IIB}],selected:[{type:l.IIB}],failedValidation:[{type:l.IIB}],clickLibrary:[{type:l.r_U}],selectLibrary:[{type:l.r_U}]},JS=(0,a.gn)([(0,l.wA2)({selector:"sf-library-preview",template:WS})],JS);var qS=n(696),XS=function(){function LibrarySelectComponent(){(0,i.Z)(this,LibrarySelectComponent),this.selectable=!0,this.value=[],this.clickLibrary=new l.vpe,this.selectLibrary=new l.vpe}return(0,o.Z)(LibrarySelectComponent,[{key:"onClickLibrary",value:function onClickLibrary(e){this.clickLibrary.next(e)}},{key:"onSelectLibrary",value:function onSelectLibrary(e){this.selectLibrary.next(e)}},{key:"isSelected",value:function isSelected(e){return this.value.findIndex((function(t){return t.data.Id===e.data.Id}))>=0}}]),LibrarySelectComponent}();XS.propDecorators={libraries:[{type:l.IIB}],mediaEntityData:[{type:l.IIB}],selectable:[{type:l.IIB}],value:[{type:l.IIB}],clickLibrary:[{type:l.r_U}],selectLibrary:[{type:l.r_U}]},XS=(0,a.gn)([(0,l.wA2)({selector:"sf-library-select",template:qS})],XS);var KS=n(697),$S=function(){function SelectedFileListComponent(e,t){(0,i.Z)(this,SelectedFileListComponent),this.layoutService=e,this.mediaRecognizerService=t,this.DEFAULT_THUMBNAIL_WIDTH=50,this.DEFAULT_THUMBNAIL_HEIGHT=50,this.DEFAULT_THUMBNAIL_SRC="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",this.remove=new l.vpe}return(0,o.Z)(SelectedFileListComponent,[{key:"files",get:function get(){return this._files},set:function set(e){this._files=e,this.recalculateLayouts()}},{key:"ngOnInit",value:function ngOnInit(){this.mediaEntityData&&this.mediaEntityData.metadata.setName&&(this.previewUrl=this.mediaRecognizerService.getPreviewUrlProperty(this.mediaEntityData.metadata.setName)),this.recalculateLayouts()}},{key:"onFileRemoveClick",value:function onFileRemoveClick(e){this.remove.next(e),this.recalculateLayouts()}},{key:"recalculateLayouts",value:function recalculateLayouts(){var e,t,n=Ll;(null===(e=this.mediaEntityData)||void 0===e?void 0:e.metadata.isMultimedia)||(n=290);var i=this.wrapper.nativeElement.offsetWidth;this.layout=this.layoutService.layout(this.files.map((function(e){return(0,d.kI)(e.data)})),i,n,Ol,Number.POSITIVE_INFINITY,null===(t=this.mediaEntityData)||void 0===t?void 0:t.metadata)}}]),SelectedFileListComponent}();$S.ctorParameters=function(){return[{type:_l},{type:hi}]},$S.propDecorators={wrapper:[{type:l.i9L,args:["wrapper",{static:!0}]}],mediaEntityData:[{type:l.IIB}],files:[{type:l.IIB}],remove:[{type:l.r_U}],recalculateLayouts:[{type:l.L6J,args:["window:resize"]}]},$S=(0,a.gn)([(0,l.wA2)({selector:"sf-selected-file-list",template:KS}),(0,a.w6)("design:paramtypes",[_l,hi])],$S);var eB=function(e){(0,f.Z)(MediaEntityDataResolver,e);var t=(0,p.Z)(MediaEntityDataResolver);function MediaEntityDataResolver(){return(0,i.Z)(this,MediaEntityDataResolver),t.apply(this,arguments)}return(0,o.Z)(MediaEntityDataResolver,[{key:"resolve",value:function resolve(e,t,n,i){var o=e.params[g.UY.TYPE_NAME_SEGMENT]||e.parent.params[g.UY.TYPE_NAME_SEGMENT],a=this.shouldResolveChildEntity(e)?y.xe.resolveMediaSetName(o):y.xe.resolveLibrarySetName(o);return{culture:n,provider:i,metadata:t.entities[a]}}},{key:"canResolve",value:function canResolve(e){return e===u.gl.IMAGES||e===u.gl.DOCUMENTS||e===u.gl.VIDEOS}},{key:"shouldResolveChildEntity",value:function shouldResolveChildEntity(e){var t=e.params[g.UY.ITEM_ID]||e.params[g.UY.EDIT_SEGMENT];return!!e.queryParams[g.V5.SEARCH]||(!!t||!!e.params[g.UY.CHILD_SET_SEGMENT])}}]),MediaEntityDataResolver}(Ro);eB=(0,a.gn)([(0,l.GSi)()],eB);var tB={provide:Ro,useClass:eB,multi:!0},nB=n(698),iB={Title:"All items",FolderId:null},oB=function(e){(0,f.Z)(BreadcrumbNavigationComponent,e);var t=(0,p.Z)(BreadcrumbNavigationComponent);function BreadcrumbNavigationComponent(e){var n;return(0,i.Z)(this,BreadcrumbNavigationComponent),(n=t.call(this)).router=e,n.breadcrumbItems=[],n}return(0,o.Z)(BreadcrumbNavigationComponent,[{key:"ngOnInit",value:function ngOnInit(){if(!(this.entityData.metadata.hasChildren||null===this.parentItem)){iB.Title="All ".concat(this.entityData.metadata.setName),this.breadcrumbItems=[iB];var e={Title:this.parentItem.data.Title,FolderId:this.parentItem.data.FolderId};if(this.parentItem.data.Breadcrumb){var t,n=this.parentItem.data.Breadcrumb;(t=this.breadcrumbItems).push.apply(t,(0,J.Z)(n))}this.breadcrumbItems.push(e)}}},{key:"onItemClick",value:function onItemClick(e){e.Title===iB.Title?this.router.navigate([So.CONTENT,this.entityData.metadata.setName],{queryParams:{sortKey:void 0,sf_filter:void 0},queryParamsHandling:"merge"}):this.router.navigate([So.CONTENT,this.entityData.metadata.setName,e.FolderId,this.entityData.metadata.setName],{queryParams:{sortKey:void 0},queryParamsHandling:"merge"})}}]),BreadcrumbNavigationComponent}(E.zu);oB.ctorParameters=function(){return[{type:m.F0}]},oB.propDecorators={entityData:[{type:l.IIB}],parentItem:[{type:l.IIB}]},oB=(0,a.gn)([(0,l.wA2)({template:nB,selector:"sf-breadcrumb-navigation"}),(0,a.w6)("design:paramtypes",[m.F0])],oB);var aB=n(699),rB=(0,o.Z)((function ViewAllImageSizesComponent(){(0,i.Z)(this,ViewAllImageSizesComponent)}));rB.propDecorators={thumbnails:[{type:l.IIB}],imageTitle:[{type:l.IIB}]},rB=(0,a.gn)([(0,l.wA2)({selector:"sf-view-all-image-sizes",template:aB})],rB);var sB=n(219),lB=function(){function ViewAllImageSizesCommand(e,t,n){(0,i.Z)(this,ViewAllImageSizesCommand),this.modalWindowService=e,this.dynamicItemService=t,this.router=n}return(0,o.Z)(ViewAllImageSizesCommand,[{key:"execute",value:function execute(e){var t=this;return this.dynamicItemService.executeBoundFunction(e.data.dataItem,"Default.GetThumbnails()").pipe((0,Zi.K)((function(e){return e.statusCode===sB.xe?(t.router.navigate([So.ACCESS_DENIED]),(0,ka.c)()):(0,qn._)(e)}))).subscribe((function(n){var i={type:rB,properties:{thumbnails:n.value,imageTitle:e.data.dataItem.title}},o=new ki.np(i,null,[]);o.toolbarData={type:Mo,properties:{header:"All image sizes"}},t.modalWindowService.setMapping(o,"viewallimagesizes"),t.modalWindowService.show("viewallimagesizes",e.currentRoute.parent)})),(0,r.of)(!0)}}]),ViewAllImageSizesCommand}();lB.ctorParameters=function(){return[{type:ki.bL},{type:Ci.dg},{type:m.F0}]},lB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,Ci.dg,m.F0])],lB);var cB=n(700),dB=function(){function EmbedMediaContentComponent(){(0,i.Z)(this,EmbedMediaContentComponent)}return(0,o.Z)(EmbedMediaContentComponent,[{key:"ngOnInit",value:function ngOnInit(){if(this.dataItem&&this.dataItem.data)if(this.title="Embed ".concat(this.dataItem.metadata.singularName.toLowerCase()),this.linkUrl=this.dataItem.data.Url,y.xe.isImageEntity(this.dataItem)){var e=this.dataItem.data.AlternativeText||this.dataItem.title;this.embedCode='').concat(e,'')}else y.xe.isDocumentEntity(this.dataItem)?this.embedCode='').concat(this.dataItem.data[this.dataItem.metadata.defaultFieldName],""):y.xe.isVideoEntity(this.dataItem)&&(this.embedCode=''))}}]),EmbedMediaContentComponent}();dB.propDecorators={dataItem:[{type:l.IIB}]},dB=(0,a.gn)([(0,l.wA2)({selector:"sf-embed-media-content",template:cB})],dB);var uB=function(){function EmbedMediaCommand(e){(0,i.Z)(this,EmbedMediaCommand),this.modalWindowService=e}return(0,o.Z)(EmbedMediaCommand,[{key:"execute",value:function execute(e){var t={type:dB,properties:{dataItem:e.data.dataItem}},n=new ki.np(t,null,[]);return this.modalWindowService.setMapping(n,"embedmedia"),this.modalWindowService.show("embedmedia",e.currentRoute.parent),(0,r.of)(!0)}}]),EmbedMediaCommand}();uB.ctorParameters=function(){return[{type:ki.bL}]},uB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL])],uB);var fB=function(e){(0,f.Z)(LibraryTasksBaseCommand,e);var t=(0,p.Z)(LibraryTasksBaseCommand);function LibraryTasksBaseCommand(e,n,o,a,r,s,l){var c;return(0,i.Z)(this,LibraryTasksBaseCommand),(c=t.call(this,e,r,s,l)).modalWindowService=e,c.metadataStore=n,c.compositeDataExtender=o,c.route=a,c.service=r,c.notificationService=s,c.sortService=l,c}return(0,o.Z)(LibraryTasksBaseCommand,[{key:"mapNodes",value:function mapNodes(e){return this.compositeDataExtender.enhanceDataItems(this.entityData,e,{FoldersCount:0,hasChildren:!1,isSelectionDisabled:!0,inactive:!0,tooltip:function tooltip(e){return e}},{whiteListedTasks:this.whiteListedTasks}).map((function(e){var t=(0,d.kI)(e.data);return t.isTranslated=!0,t.icon="folder-o",t.iconLook="size-xl light",t}))}},{key:"modifyComponentData",value:function modifyComponentData(e){e.properties.treeConfig.treeProperties.hasChildrenField="FoldersCount",e.properties.treeConfig.dataProperties={toolTipField:"tooltip"},e.properties.noItemsCreatedLabel="No libraries have been created yet",e.properties.emptyIcon="folder",e.properties.typeNames={plural:"libraries",singular:"library"}}}]),LibraryTasksBaseCommand}(lx),pB=function(e){(0,f.Z)(MoveToLibraryCommand,e);var t=(0,p.Z)(MoveToLibraryCommand);function MoveToLibraryCommand(e,n,o,a,r,s,l,c,d){var u;return(0,i.Z)(this,MoveToLibraryCommand),(u=t.call(this,e,n,o,a,l,c,d)).longRunningTasksService=r,u.mediaService=s,u.service=l,u.notificationService=c,u.sortService=d,u.skipNotification=!0,u.isHierarchical=!0,u.dialogMapping="moveToLibrary",u.dialogTitle=$.Oi.moveToAnotherLibrary,u.confirmButtonText="Move",u.whiteListedTasks=[Xl.RegenerateThumbnails],u}return(0,o.Z)(MoveToLibraryCommand,[{key:"getNotification",value:function getNotification(e,t,n){return null}},{key:"getEntityData",value:function getEntityData(){return this.entityData}},{key:"serviceLoadMore",value:function serviceLoadMore(e){var t=this,n=this.targetItems.filter((function(e){return y.xe.isLibrary(e.metadata.setName)})).map((function(e){return e.data.Id})).filter((function(e){return e}));return this.mediaService.getFolders(this.entityData,null,!1,!1,e.skip,e.take||20,null,e.searchText,(0,Ae.Z)({},g.Tx.SORT,pa),!1,n.length?n:null).pipe((0,w.U)((function(e){return{totalCount:e.totalCount,dataItems:t.mapNodes(e.dataItems)}})))}},{key:"serviceExpand",value:function serviceExpand(e){var t=this,n=this.isHierarchical?e.parentId:null,i=this.targetItems.filter((function(e){return y.xe.isLibrary(e.metadata.setName)})).map((function(e){return e.data.Id})).filter((function(e){return e}));return this.mediaService.getFolders(this.entityData,n,!1,!1,e.skip,e.take||20,null,e.searchText,(0,Ae.Z)({},g.Tx.SORT,pa),!1,i.length?i:null).pipe((0,w.U)((function(e){return{totalCount:e.totalCount,dataItems:t.mapNodes(e.dataItems)}})))}},{key:"executeConfirmAction",value:function executeConfirmAction(e,t){var n=this,i=this.targetItems.map((function(e){return e.data.Id})),o={success:!0,succeededItemsIds:i};if(0===i.length)return t.next(new ki.DQ(o,!0)),t;var a={target:e[0].key,items:i};this.service.executeBoundAction(this.entityData,"Default.Move()",a).subscribe((function(e){t.next(new ki.DQ(o,!0))}),(function(e){n.notificationService.publishBasicNotification({message:e.message,look:ya.ERROR,duration:g.De,filterParam:pl}),t.next(new ki.DQ(!1,!1,!0))}))}},{key:"filterTargetItems",value:function filterTargetItems(e){return this.targetItems.filter((function(t){return(t.data.FolderId||t.data.ParentId||t.data.RootId)!==e.Id}))}},{key:"generateDescription",value:function generateDescription(e){e.properties.description="Select a library where to move the item".concat(this.targetItems.length>1?"s":v.WP.EMPTY_STRING),e.properties.headingLook="sf-mb--m"}},{key:"onDone",value:function onDone(e,t){var n=e.data;n&&n.data&&n.data.success&&this.longRunningTasksService.refresh(),(0,Re.Z)((0,Qe.Z)(MoveToLibraryCommand.prototype),"onDone",this).call(this,e,t)}}]),MoveToLibraryCommand}(fB),AB=function(){function LibrariresNavigationSidebarHelpers(e,t,n,o,a,r,s){(0,i.Z)(this,LibrariresNavigationSidebarHelpers),this.sidebarConfig=e,this.hierarchicalService=t,this.libraryEntityData=n,this.mediaEntityData=o,this.router=a,this.slider$=r,this.sortService=s}return(0,o.Z)(LibrariresNavigationSidebarHelpers,[{key:"getId",value:function getId(e){return e?e.key:null}},{key:"getParentId",value:function getParentId(e){return e&&e.parentKey!==v.WP.DEFAULT_GUID?e.parentKey:null}},{key:"getSidebarBackButtonTitle",value:function getSidebarBackButtonTitle(e,t){return e?this.getParentTitle(t):"Browse ".concat(this.mediaEntityData.metadata.singularName.toLowerCase()," libraries")}},{key:"getGrandparent",value:function getGrandparent(e){return e&&e.parentKey!==v.WP.DEFAULT_GUID?this.getParent(e.parentKey):(0,r.of)(null)}},{key:"hasChildren",value:function hasChildren(e){return e.data&&e.data.FoldersCount>0}},{key:"getParentTitle",value:function getParentTitle(e){return e?e.title:"All libraries"}},{key:"hasBackNavigation",value:function hasBackNavigation(e){return!!(0,d.Uh)(e)}},{key:"loadItems",value:function loadItems(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a={parentId:e,includeParent:n},r=e?this.mediaEntityData:this.libraryEntityData,s={entityData:r,order:this.sortService.getDefaultSort(r)};return(0,d.Uh)(i)&&(s.skip=i),(0,d.Uh)(o)&&(s.take=o),s.payload={skipFilterByCreateChildPermissions:!0},this.hierarchicalService.getSearchedItems(a,s).pipe((0,kn.P)(),(0,w.U)((function(e){return t.totalCount=e.totalCount,e.dataItems})))}},{key:"getParent",value:function getParent(e){return e&&e!==v.WP.DEFAULT_GUID?this.hierarchicalService.getItemTaxa([e],this.libraryEntityData,null,!1).pipe((0,w.U)((function(e){return e.dataItems[0]}))):(0,r.of)(null)}},{key:"navigateToItem",value:function navigateToItem(e,t){var n=this.mediaEntityData.metadata.setName,i=[So.CONTENT,n,e.key,n].join(v.WP.FORWARD_SLASH);if(-1===this.router.url.indexOf(i)){var o=(0,Ae.Z)({},g.V5.SORT,null);this.router.navigate([i],{queryParams:o,queryParamsHandling:"merge"})}else this.onOpenChildItems(t,e)}},{key:"loadMore",value:function loadMore(){var e=this;this.slider$.pipe((0,kn.P)()).subscribe((function(t){var n=t.getVisibleWindowComponentDataProps();n.currentLevelItems$.pipe((0,kn.P)()).subscribe((function(t){var i=t.length;if(!(i>=e.totalCount)){var o=Xs,a=e.totalCount-t.length;a0&&void 0!==arguments[0])||arguments[0],t=new re.t(1);return t.next(e),t}}]),LibrariresNavigationSidebarHelpers}(),mB=n(701),gB=function(){function LibrariesNavigationSidebarComponent(){(0,i.Z)(this,LibrariesNavigationSidebarComponent),this.currentRoot$=new re.t(1),this.itemIcon="folder-open-o",this.currentLevelItems$=new re.t(1),this.currentRootTitle$=new re.t(1),this.backButtonTitle$=new re.t(1),this.treeConfig={noSelection:!0,multiSelection:!1,treeProperties:{idField:"id"},isHierarchical:!1},this.allItemsLoading$=new re.t(1),this.singleItemLoading={itemId:null,loading:!1},this.hasBackNavigation$=new re.t(1)}return(0,o.Z)(LibrariesNavigationSidebarComponent,[{key:"navigateBack",value:function navigateBack(){this.sidebarHelpers.onBackButtonClicked(this)}},{key:"openChildItems",value:function openChildItems(e){this.sidebarHelpers.onOpenChildItems(this,e)}},{key:"navigateToItem",value:function navigateToItem(e){this.sidebarHelpers.navigateToItem(e,this)}},{key:"isButtonLoading",value:function isButtonLoading(e){return this.singleItemLoading.itemId===e.key&&this.singleItemLoading.loading}}]),LibrariesNavigationSidebarComponent}();gB=(0,a.gn)([(0,l.wA2)({selector:"sf-libraries-navigation-sidebar",template:mB})],gB);var hB,vB="playVideo",bB=function(){function PlayVideoCommand(e){(0,i.Z)(this,PlayVideoCommand),this.modalWindowService=e}return(0,o.Z)(PlayVideoCommand,[{key:"execute",value:function execute(e){var t={type:si,properties:{src:e.data.dataItem.data.Url,look:"play-detached sf-centered-box"}},n=new ki.np(t,null,[],"-prompt");return this.modalWindowService.setMapping(n,vB),this.modalWindowService.show(vB,e.currentRoute.parent),(0,r.of)(!0)}}]),PlayVideoCommand}(),yB="Library",EB="Libraries";!function(e){e.List="th-list",e.Thumbs="picture-o",e.Timeline="calendar"}(hB||(hB={}));var IB=function(e){(0,f.Z)(MediaGridExtender,e);var t=(0,p.Z)(MediaGridExtender);function MediaGridExtender(e,n,o,a,r,s,l,c,d,u,f,p,A,m,g,h,v,b){var y;return(0,i.Z)(this,MediaGridExtender),(y=t.call(this,g,a,s,p,l,h,r,A)).metadataStore=e,y.storageService=n,y.userStore=o,y.mediaService=c,y.router=d,y.longRunningTasksService=u,y.eventsService=f,y.compositeDataExtender=m,y.appStore=v,y.hierarchicalService=b,y.subscriptions=[],y.sliderComponent$=new re.t(1),y}return(0,o.Z)(MediaGridExtender,[{key:"getSettingsSidebarSections",value:function getSettingsSidebarSections(e,t){var n=this,i=(0,Re.Z)((0,Qe.Z)(MediaGridExtender.prototype),"getSettingsSidebarSections",this).call(this,e,t),o=(0,r.of)([]);return o=e.pipe((0,bl.x)((function(e,t){return(0,d.Bd)(e,t)})),(0,w.U)((function(e){if(y.xe.isDocumentEntity(t)||y.xe.isDocumentLibraryEntity(t))return[];var i=e.filter((function(e){return e.Category.Name===$.si.librariesGridView}));return i.length>0?n.getSidebarViewList(i):[]}))),(0,s.aj)([i,o]).pipe((0,w.U)((function(e){var t=[];return e.forEach((function(e){return t.push.apply(t,(0,J.Z)(e))})),t})))}},{key:"getNavigationComponentData",value:function getNavigationComponentData(e,t){return{type:oB,properties:{entityData:t.entityData,parentItem:t.parentItem},updatePropertiesOnChange:!0}}},{key:"openEditItemInDialog",value:function openEditItemInDialog(e){return!!y.xe.isLibrary(e.metadata.setName)||e.isEmpty}},{key:"shouldReloadItemsAfterEdit",value:function shouldReloadItemsAfterEdit(e,t){var n=(0,Re.Z)((0,Qe.Z)(MediaGridExtender.prototype),"shouldReloadItemsAfterEdit",this).call(this,e,t),i=t.forceReload&&t.success&&t.dataItem.metadata.isMedia&&t.dataItem.isEmpty;return{reloadGrid:n.reloadGrid||i,reloadTasks:y.xe.isLibrary(e.dataItem.metadata.setName)}}},{key:"shouldReloadItemsOnViewModeChanged",value:function shouldReloadItemsOnViewModeChanged(e,t){var n=this.getPresenterTemplate(t),i=n!==e,o=e===d.wf.Thumbs||n===d.wf.Timeline||e===d.wf.Timeline;return i&&o}},{key:"getParentSetName",value:function getParentSetName(e){switch(y.xe.getParentSetName(e).toString(),e.metadata.setName){case u.gl.DOCUMENTS:case u.gl.DOCUMENT_LIBRARIES:return u.gl.DOCUMENTS;case u.gl.VIDEOS:case u.gl.VIDEO_LIBRARIES:return u.gl.VIDEOS;default:return u.gl.IMAGES}}},{key:"getSingleItemName",value:function getSingleItemName(e){var t=e.entityData,n=y.xe.isLibrary(t.metadata.setName)?yB:this.metadataStore.getEntity(y.xe.getChildSetName(t)).singularName,i="item";return!this.getSearchTerm(e.route.snapshot.queryParams)&&y.xe.isLibrary(t.metadata.setName)&&(i=yB),(0,r.of)({primary:n,secondary:i})}},{key:"getPluralItemName",value:function getPluralItemName(e){var t=e.entityData,n=y.xe.isLibrary(t.metadata.setName)?EB:this.metadataStore.getEntity(y.xe.getChildSetName(t)).displayName,i="items";return!this.getSearchTerm(e.route.snapshot.queryParams)&&y.xe.isLibrary(t.metadata.setName)&&(i=EB),(0,r.of)({primary:n,secondary:i})}},{key:"getSidebarsExternalKeys",value:function getSidebarsExternalKeys(e){var t=e.metadata;return t.hasParent?[t.parent,t.setName]:[t.setName,t.children[0]]}},{key:"reloadItems",value:function reloadItems(e,t,n,i,o){var a=(0,d.kI)(e);return a&&!a[g.Tx.SORT]&&i&&(a[g.Tx.SORT]=i),y.xe.isLibrary(n.metadata.setName)||!t?this.loadRootGridView(n,a):this.loadChildGrid(n,t,o,a)}},{key:"shouldNavigateToChildGrid",value:function shouldNavigateToChildGrid(e){return y.xe.isFolderItem(e.data)}},{key:"getTitle",value:function getTitle(e){return y.xe.isAlbumEntity(e.entityData)||y.xe.isFolderEntity(e.entityData)&&e.parentItem&&y.xe.isAlbumEntity(e.parentItem)?(0,r.of)("Images"):y.xe.isDocumentLibraryEntity(e.entityData)||y.xe.isFolderEntity(e.entityData)&&e.parentItem&&y.xe.isDocumentLibraryEntity(e.parentItem)?(0,r.of)("Documents"):y.xe.isVideosLibraryEntity(e.entityData)||y.xe.isFolderEntity(e.entityData)&&e.parentItem&&y.xe.isVideosLibraryEntity(e.parentItem)?(0,r.of)("Videos"):y.xe.isDocumentEntity(e.entityData)&&!e.includeChildSet&&e.parentItem?(0,r.of)(e.parentItem.title):(0,Re.Z)((0,Qe.Z)(MediaGridExtender.prototype),"getTitle",this).call(this,e)}},{key:"disableSelectAll",value:function disableSelectAll(e,t){return this.getPresenterTemplate(t)===d.wf.Timeline||this.isHierarchical(e)}},{key:"isSupportedType",value:function isSupportedType(e){return y.xe.isLibraryOrMedia(e.metadata.setName)}},{key:"getCustomSidebars",value:function getCustomSidebars(e){var t=this,n={currentRoot$:new re.t(1),currentLevelItems$:new re.t(1),backButtonTitle$:new re.t(1),hasBackNavigation$:new re.t(1),allItemsLoading$:new re.t(1),currentRootTitle$:new re.t(1),sidebarHelpers:null},i={title:this.getQuickNavigationSidebarTitle(e.entityData,null),icon:"sitemap",data:{type:gB,title:null,updatePropertiesOnChange:!0,properties:n},name:"browseImageLibraries",look:_h,position:0,useSlider:!0,hideTitle:!0},o=this.getLibraryMetadata(y.xe.getParentSetName(e.entityData),e.entityData.culture,e.entityData.provider);this.clearSubscriptions(),this.subscriptions.push(this.eventsService.subscribe(nh,(function(e){e.data.instance.firstWindowComponentData?e.data.instance.firstWindowComponentData=i.data:e.data.instance.secondWindowComponentData=i.data,t.sliderComponent$.next(e.data.instance)})));var a=this.sliderComponent$,s=new AB(i,this.hierarchicalService,o.libraryMetadata,o.mediaMetadata,this.router,a,this.sortService);return n.sidebarHelpers=s,this.handleQueryParamsChangesForHiearchySidebar(s,e),this.handleParentChangeForHierarchySidebar(e,s,a),this.handleOperationCompletedForHierarchySidebar(e,s,a),e.parent$.pipe((0,kn.P)()).subscribe((function(e){s.getGrandparent(e).pipe((0,kn.P)()).subscribe((function(t){n.hasBackNavigation$.next(s.hasBackNavigation(e)),n.backButtonTitle$.next(s.getSidebarBackButtonTitle(e,t))}))})),(0,r.of)([i])}},{key:"loadMore",value:function loadMore(e){var t=this,n=(0,d.kI)(e.route.snapshot.queryParams);n&&!n[g.Tx.SORT]&&e.order&&(n[g.Tx.SORT]=e.order);var i={metadata:this.metadataStore.getEntity(y.xe.getChildSetName(e.entityData)),culture:e.entityData.culture,provider:e.entityData.provider},o=e.entityData;if(this.getPresenterTemplate(o)===d.wf.Timeline){o=i;var a=new re.t(1);return this.appStore.pipe(Ws.filesData).pipe((0,_s.q)(1)).subscribe((function(i){var r=i.items,s=ee.zw.emptyItem(o);t.mediaService.getMediaForLibrary(s,e.parentId,r.length,Xs,null,void 0,n,!0,void 0,e.executedSearchParameter).pipe((0,Cn._)(),(0,w.U)((function(n){if(n.isLoading){var i=t.createLoadingState(Xs,e.currentState.totalCount,e.currentState.dataItems);a.next(i)}else{var s=r.concat(n.content.dataItems);t.appStore.dispatch(Zs.g.setFiles({files:s,totalFiles:n.content.totalCount}));var l=t.createState(n.content.dataItems,n.content.totalCount,e.currentState.dataItems,o);a.next(l)}}))).subscribe()})),a}var r=!e.parentId||e.parentId===v.WP.DEFAULT_GUID;if(r&&e.executedSearchParameter)return this.loadMoreRootListAndThumbs(e,n,i);var s=this.appStore.pipe(Ws.foldersData),l=this.appStore.pipe(Ws.filesData),c=new re.t(1);return(0,Nr.$R)(s,l).pipe((0,_s.q)(1),(0,w.U)((function(a){if(r)t.mediaService.getFolders(o,null,!1,!1,a[0].items.length,Xs,null,e.executedSearchParameter,n,void 0,void 0,!0,void 0).pipe((0,Cn._)(),(0,w.U)((function(n){if(n.isLoading){var i=t.createLoadingState(Xs,e.currentState.totalCount,e.currentState.dataItems);c.next(i)}else{var r=n.content.dataItems.concat(a[0].items),s=a[0].totalCount;t.appStore.dispatch(Zs.g.setFolders({folders:r,totalFolders:s}));var l=t.createState(r,s,e.currentState.dataItems,o);c.next(l)}}))).subscribe();else{var s=a[0].items,l=s.length,d=a[1].items,u=d.length,f=l===a[0].totalCount;t.mediaService.getFoldersAndContent(i,e.parentId,l,Xs,e.dataFieldNames,n,void 0,u,Xs,e.executedSearchParameter,f,null,!0).pipe((0,Cn._)(),(0,w.U)((function(n){if(n.isLoading){var i=t.createLoadingState(Xs,e.currentState.totalCount,e.currentState.dataItems);c.next(i)}else{var a=n.content[0],r=n.content[1],u=a.dataItems,p=r.dataItems,A=f?l:a.totalCount;y.xe.isLibrary(o.metadata.setName)||(A+=r.totalCount);var m=s.concat(u),g=d.concat(p);f||t.appStore.dispatch(Zs.g.setFolders({folders:m,totalFolders:a.totalCount})),t.appStore.dispatch(Zs.g.setFiles({files:g,totalFiles:r.totalCount}));var h=[].concat((0,J.Z)(m),(0,J.Z)(g)),v=t.createState(h,A,e.currentState.dataItems,o);c.next(v)}}))).subscribe()}}))).subscribe(),c}},{key:"executeNavigateCommand",value:function executeNavigateCommand(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return new Xc(e).execute({currentRoute:t,data:{dataItem:n,metadata:i,parentSetName:this.getParentSetName(i),childSetName:o||y.xe.getChildSetName(i),navigateToGrid:n&&this.shouldNavigateToChildGrid(n),isChildNavigate:n&&(y.xe.isChildNavigate(n)||n.parentKey===v.WP.DEFAULT_GUID)},model:null})}},{key:"modifyActionContext",value:function modifyActionContext(e,t){var n=this;if(e.data={navigateToChildrenAfterCreate:!1},e.actionName===$.q.createLibrary){var i={metadata:this.metadataStore.getEntity(y.xe.resolveLibrarySetName(e.item.metadata.setName)),culture:e.item.culture,provider:e.item.provider};if(e.route.snapshot.params.parentId){var o={Id:e.route.snapshot.params.parentId};e.item=ee.zw.fromEntityData(o,i),e.actionName=$.q.createChild}else e.item=ee.zw.emptyItem(i),e.actionName=$.q.create;return(0,r.of)(e)}if(e.actionName===$.q.createMedia){var a=y.xe.getChildSetName(e.item);return(0,In.D)(this.backendTweaksStore.initializeForm(a,g.jc.INSERT,null,e.item.provider,e.item.culture).then((function(){var t=n.metadataStore.getEntity(a).clone(),i=n.backendTweaksStore.getFormByType(a,g.jc.INSERT).find((function(e){return e.name===u.tX}));i&&(t.acceptableMediaTypes=i.acceptableMediaTypes||t.acceptableMediaTypes,i.allowedFileExtensions&&(t.acceptableFileTypes=i.allowedFileExtensions.map((function(e){return e.replace(v.WP.DOT,v.WP.EMPTY_STRING)}))));var o={metadata:t,culture:e.item.culture,provider:e.item.provider};return e.item=ee.zw.emptyItem(o),e.actionName=$.q.create,e})))}if(e.actionName===$.q.reorder){var s=this.metadataStore.getEntity(u.gl.IMAGES);y.xe.isDocumentLibraryEntity(e.item)||t&&y.xe.isDocumentEntity(t)||y.xe.isDocumentLibraryEntity(t)?s=this.metadataStore.getEntity(u.gl.DOCUMENTS):(y.xe.isVideosLibraryEntity(e.item)||t&&y.xe.isVideoEntity(t)||y.xe.isVideosLibraryEntity(t))&&(s=this.metadataStore.getEntity(u.gl.VIDEOS));var l={metadata:s,culture:e.item.culture,provider:e.item.provider};e.data=ee.zw.emptyItem(l)}return(0,r.of)(e)}},{key:"modifyEntityDataForBulkOperations",value:function modifyEntityDataForBulkOperations(e,t){return e&&e.metadata.children&&e.metadata.children[0]?{metadata:this.metadataStore.getEntity(e.metadata.children[0]),culture:e.culture,provider:e.provider}:e}},{key:"modifySingleItemOperations",value:function modifySingleItemOperations(e,t,n){return this.shouldHideMoveToLibraryOperation(e,n)&&(t=t.filter((function(e){return e.Name!==$.q.move}))),t}},{key:"modifyOperations",value:function modifyOperations(e,t,n){var i=!1;return n.currentItemSelectionInfo.selectedItems.forEach((function(e){y.xe.isFolderItem(e.data)&&(i=!0)})),this.shouldHideMoveToLibraryOperation(e,n)&&(t=t.filter((function(e){return e.Name!==$.q.move}))),i?t.filter((function(e){return e.Name===$.q.delete||e.Name===$.q.move||e.Name===$.q.siteSync})):t=this.filterOperationsAccordingToBulkLimit(t,n)}},{key:"getDefaultSort",value:function getDefaultSort(e){return this.getPresenterTemplate(e)===d.wf.Timeline?pa:y.xe.isMediaEntity(e)?ua:pa}},{key:"showSorters",value:function showSorters(e){return this.getPresenterTemplate(e)!==d.wf.Timeline}},{key:"getPresenterTemplate",value:function getPresenterTemplate(e){if(y.xe.isDocumentEntity(e)||y.xe.isDocumentLibraryEntity(e))return d.wf.List;var t=this.storageService.getItem(Rr.SA),n=this.userStore.userId;return(0,d.Ek)(t,n)}},{key:"showFilters",value:function showFilters(e){return!(this.getPresenterTemplate(e)!==d.wf.Timeline&&!y.xe.isMediaEntity(e))}},{key:"hideLoadMore",value:function hideLoadMore(e,t){var n=this.getPresenterTemplate(t);return n===d.wf.Timeline||n===d.wf.Thumbs}},{key:"processEntityData",value:function processEntityData(e){return e.metadata.isMedia?e:{metadata:this.metadataStore.getEntity(y.xe.getChildSetName(e)),culture:e.culture,provider:e.provider}}},{key:"getEmptyScreenIcon",value:function getEmptyScreenIcon(e){switch(e){case u.gl.ALBUMS:case u.gl.IMAGES:return qc.image;case u.gl.DOCUMENT_LIBRARIES:case u.gl.DOCUMENTS:return qc.document;case u.gl.VIDEO_LIBRARIES:case u.gl.VIDEOS:return qc.video}return Jc}},{key:"getEmptyScreenText",value:function getEmptyScreenText(e,t){var n=y.xe.getChildSetName(e),i="No ".concat(n," have been uploaded");return this.getPresenterTemplate(e)===d.wf.Timeline?(0,r.of)("".concat(i,".\nChange the view to see libraries.")):(0,r.of)(i)}},{key:"tryHandleAction",value:function tryHandleAction(e){if(e.actionName===$.q.viewAllSizes)return new lB(this.modalWindowService,this.dynamicItemStore.service,this.router).execute({currentRoute:e.route,model:null,data:{dataItem:e.item}});if(e.actionName===$.q.embed)return new uB(this.modalWindowService).execute({currentRoute:e.route,model:null,data:{dataItem:e.item}});if(e.actionName===$.q.move){var t=new pB(this.modalWindowService,this.metadataStore,this.compositeDataExtender,e.route,this.longRunningTasksService,this.mediaService,this.dynamicItemStore.service,this.notificationService,this.sortService),n="Timeline"===this.getPresenterTemplate(e.grid.entityData)?e.item:e.grid.entityData;return t.entityData=ee.zw.emptyItem(n),t.execute({currentRoute:e.route,data:{dataItem:e.item},model:null})}return e.actionName===$.q.play?new bB(this.modalWindowService).execute({currentRoute:e.route,data:{dataItem:e.item},model:null}):(0,Re.Z)((0,Qe.Z)(MediaGridExtender.prototype),"tryHandleAction",this).call(this,e)}},{key:"getFilterSidebarTitle",value:function getFilterSidebarTitle(e,t){return this.getPresenterTemplate(e)!==d.wf.Timeline&&y.xe.isLibrary(e.metadata.setName)?this.getSortDropdownTitle(e,null):(0,Re.Z)((0,Qe.Z)(MediaGridExtender.prototype),"getFilterSidebarTitle",this).call(this,{metadata:this.metadataStore.getEntity(y.xe.getChildSetName(e)),culture:e.culture,provider:e.provider},t)}},{key:"getSortDropdownTitle",value:function getSortDropdownTitle(e,t){var n=y.xe.resolveMediaLabels(e.metadata.setName),i="Sort ".concat(n.plural);return e.metadata.hasParent||(i="Sort ".concat(n.singular," libraries")),i}},{key:"getSettingsSidebarTitle",value:function getSettingsSidebarTitle(e){return"Settings for ".concat(this.metadataStore.getEntity(y.xe.getChildSetName(e)).displayName.toLowerCase())}},{key:"getSidebarDisplayName",value:function getSidebarDisplayName(e,t){return this.metadataStore.getEntity(y.xe.getChildSetName(e)).displayName}},{key:"hasLongRunningTasks",value:function hasLongRunningTasks(e){return!0}},{key:"getNotificationServiceFilter",value:function getNotificationServiceFilter(e){return this.metadataStore.getEntity(y.xe.getChildSetName(e)).typeFullName}},{key:"getTakeItemsCount",value:function getTakeItemsCount(){return Xs}},{key:"getDataFieldNames",value:function getDataFieldNames(e,t){var n=(0,Re.Z)((0,Qe.Z)(MediaGridExtender.prototype),"getDataFieldNames",this).call(this,e,t);return y.xe.isMediaEntity(t)&&(n.push(h.E.FOLDER_ID),y.xe.isVideoEntity(t)&&(-1===n.indexOf(h.E.WIDTH)&&n.push(h.E.WIDTH),-1===n.indexOf(h.E.HEIGHT)&&n.push(h.E.HEIGHT))),(y.xe.isAlbumEntity(t)||y.xe.isDocumentLibraryEntity(t))&&n.push(h.E.RUNNING_TASK),y.xe.isMediaEntity(t)&&-1===n.indexOf(h.E.URL)&&n.push(h.E.URL),y.xe.isMediaEntity(t)&&-1===n.indexOf(h.E.MIME_TYPE)&&n.push(h.E.MIME_TYPE),n}},{key:"getLibraryMetadata",value:function getLibraryMetadata(e,t,n){var i=this.metadataStore.getEntity(e),o=this.metadataStore.getEntity(i.children[0]),a={culture:t,provider:n};return{libraryMetadata:Object.assign({metadata:i},a),mediaMetadata:Object.assign({metadata:o},a)}}},{key:"loadMoreRootListAndThumbs",value:function loadMoreRootListAndThumbs(e,t,n){var i=this;if(e.currentState.dataItems.length>=e.currentState.totalCount)return(0,Mr.F)();var o=new re.t(1),a=this.appStore.pipe(Ws.foldersData),r=this.appStore.pipe(Ws.filesData);return(0,Nr.$R)(a,r).pipe((0,_s.q)(1),(0,w.U)((function(a){var r=a[0],s=a[1],l=r.items.length;i.mediaService.getFolders(e.entityData,null,!0,!1,l,Xs,null,e.executedSearchParameter,t,void 0,void 0,!0).pipe((0,kn.P)()).subscribe((function(a){var l=r.items.concat(a.dataItems);i.appStore.dispatch(Zs.g.setFolders({folders:l,totalFolders:a.totalCount}));var c={dataItems:a.dataItems,totalCount:a.totalCount,entityData:e.entityData},d=Xs-a.dataItems.length;if(d){var u=s.items.length,f=(0,Ae.Z)({},g.Tx.SORT,t?t[g.Tx.SORT]:i.getDefaultSort(n)),p=ee.zw.emptyItem(n);i.mediaService.getMediaForLibrary(p,null,u,d,null,null,f,!1,!1,e.executedSearchParameter).subscribe((function(e){var t=s.items.concat(e.dataItems);i.appStore.dispatch(Zs.g.setFiles({files:t,totalFiles:e.totalCount})),c.dataItems=c.dataItems.concat(e.dataItems),c.totalCount+=e.totalCount,o.next(c)}))}else o.next(c)}))}))).subscribe(),o.pipe((0,Cn._)(),(0,w.U)((function(t){return t.isLoading?i.createLoadingState(Xs,e.currentState.totalCount,e.currentState.dataItems):i.createState(t.content.dataItems,t.content.totalCount,e.currentState.dataItems,e.entityData)})))}},{key:"handleOperationCompletedForHierarchySidebar",value:function handleOperationCompletedForHierarchySidebar(e,t,n){var i=this;this.subscriptions.push(e.operationCompleted$.subscribe((function(o){switch(o.operationName){case $.q.move:case $.q.delete:case $.q.create:case $.q.edit:case $.q.createChild:i.refreshHierarchySidebar(e,t,n)}}))),this.subscriptions.push(this.eventsService.subscribe(Ti.QT,(function(){i.refreshHierarchySidebar(e,t,n)})))}},{key:"refreshHierarchySidebar",value:function refreshHierarchySidebar(e,t,n){n.pipe((0,kn.P)()).subscribe((function(e){var n=e.getVisibleWindowComponentDataProps(),i=new re.t(1);n.currentRoot$.pipe((0,kn.P)()).subscribe((function(e){var n=t.getId(e);t.getParent(n).pipe((0,kn.P)()).subscribe((function(e){t.getGrandparent(e).pipe((0,kn.P)()).subscribe((function(t){i.next([e,t])}))}))})),i.pipe((0,kn.P)()).subscribe((function(e){var i=(0,q.Z)(e,2),o=i[0],a=i[1];t.loadItems(t.getId(o)).subscribe((function(e){n.currentLevelItems$.next(e),n.currentRoot$.next(o),n.currentRootTitle$.next(t.getParentTitle(o)),n.backButtonTitle$.next(t.getSidebarBackButtonTitle(o,a)),n.hasBackNavigation$.next(t.hasBackNavigation(o))}))}))}))}},{key:"handleParentChangeForHierarchySidebar",value:function handleParentChangeForHierarchySidebar(e,t,n){var i=this;this.subscriptions.push(e.parent$.subscribe((function(e){i.subscriptions.push(n.pipe((0,kn.P)()).subscribe((function(n){i.subscriptions.push(t.getGrandparent(e).pipe((0,kn.P)()).subscribe((function(o){i.subscriptions.push(t.loadItems(t.getId(e)).pipe((0,kn.P)()).subscribe((function(i){var a=n.getVisibleWindowComponentDataProps();a.allItemsLoading$.next(!0);var r=t.getSidebarBackButtonTitle(e,o);a.backButtonTitle$.next(r),a.currentRoot$.next(e),a.currentRootTitle$.next(t.getParentTitle(e)),a.hasBackNavigation$.next(t.hasBackNavigation(e)),a.currentLevelItems$.next(i),t.clearAllItemsLoading(a.allItemsLoading$)})))})))})))})))}},{key:"clearSubscriptions",value:function clearSubscriptions(){this.subscriptions.length&&(this.subscriptions.forEach((function(e){e.unsubscribe()})),this.subscriptions=[])}},{key:"handleQueryParamsChangesForHiearchySidebar",value:function handleQueryParamsChangesForHiearchySidebar(e,t){var n=this;t.route.queryParams.subscribe((function(t){var i=t[g.Tx.PROVIDER],o=e.libraryEntityData,a=n.getLibraryMetadata(o.metadata.setName,o.culture,i);e.libraryEntityData=a.libraryMetadata,e.mediaEntityData=a.mediaMetadata}))}},{key:"loadChildGrid",value:function loadChildGrid(e,t,n,i){var o=this,a=this.getPresenterTemplate(e),r=this.getSearchTerm(i),s=a===d.wf.Timeline,l=a===d.wf.Timeline;return this.mediaService.getFoldersAndContent(e,t,0,Xs,n,i,s,0,Xs,r,l,!0,!0).pipe((0,Cn._)(),(0,w.U)((function(t){return t.isLoading?o.createLoadingState(Xs,0):(o.appStore.dispatch(Zs.g.setFolders({folders:t.content[0].dataItems,totalFolders:t.content[0].totalCount})),o.appStore.dispatch(Zs.g.setFiles({files:t.content[1].dataItems,totalFiles:t.content[1].totalCount})),o.returnStateBasedOnView(t.content,e))})))}},{key:"searchRootGrid",value:function searchRootGrid(e,t,n,i){var o=this,a=this.mediaService.getFolders(e,null,!1,!1,0,Xs,null,n,i,void 0,void 0,!0,void 0),r=new re.t(1);return a.pipe((0,kn.P)()).subscribe((function(i){var a=i.dataItems,s=i.totalCount,l=Xs-i.dataItems.length;if(o.appStore.dispatch(Zs.g.setFolders({folders:a,totalFolders:s})),l){var c=ee.zw.emptyItem(t);o.mediaService.search(c,n,void 0,l,void 0,void 0).pipe((0,kn.P)()).subscribe((function(e){var n=e.dataItems,i=e.totalCount,l=[].concat((0,J.Z)(a),(0,J.Z)(n));o.appStore.dispatch(Zs.g.setFiles({files:n,totalFiles:i})),r.next(o.createState(l,s+i,[],t))}))}else r.next(o.createState(a,s,[],e))})),r}},{key:"loadRootGridView",value:function loadRootGridView(e,t){var n=this,i=this.getSearchTerm(t),o=y.xe.getChildSetName(e),a={metadata:this.metadataStore.getEntity(o),culture:e.culture,provider:e.provider};if(this.getPresenterTemplate(e)!==d.wf.Timeline)return i?this.searchRootGrid(e,a,i,t):this.mediaService.getFolders(e,null,!1,!1,0,Xs,null,i,t,void 0,void 0,!0,void 0).pipe((0,Cn._)(),(0,w.U)((function(t){if(t.isLoading)return n.createLoadingState(Xs,0);var i=t.content.dataItems,o=t.content.totalCount;return n.appStore.dispatch(Zs.g.setFolders({folders:i,totalFolders:o})),n.createState(i,o,[],e)})));var r=ee.zw.emptyItem(a);return(i?this.mediaService.search(r,i,void 0,Xs,void 0,void 0):this.mediaService.getRecentMedia(r,void 0,Xs,t,void 0)).pipe((0,Cn._)(),(0,w.U)((function(t){return t.isLoading?n.createLoadingState(Xs,0):(n.appStore.dispatch(Zs.g.setFiles({files:t.content.dataItems,totalFiles:t.content.totalCount})),n.createState(t.content.dataItems,t.content.totalCount,[],e))})))}},{key:"getSearchTerm",value:function getSearchTerm(e){var t=null;return e[g.V5.SEARCH]&&(t=e[g.V5.SEARCH].split(";")[0].split(",")[1]),t}},{key:"returnStateBasedOnView",value:function returnStateBasedOnView(e,t){var n=e[0],i=e[1],o=n.dataItems,a=i.dataItems;if(this.getPresenterTemplate(t)===d.wf.Timeline)return this.createState(a,i.totalCount,[],t);var r=n.totalCount+i.totalCount;return this.createState([].concat((0,J.Z)(o),(0,J.Z)(a)),r,[],t)}},{key:"createState",value:function createState(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments.length>3?arguments[3]:void 0,o=e.filter((function(e){return void 0===n.find((function(t){return t.data.Id===e.data.Id}))})),a={metadata:i.metadata,culture:e[0]?e[0].culture:null,provider:e[0]?e[0].provider:null},r=this.compositeDataExtender.enhanceDataItems(a,o,{inactive:!0,tooltip:function tooltip(e){return e},isSelectionDisabled:!0,failedValidation:function failedValidation(e){return{errorMessage:e}}},{whiteListedTasks:[Xl.RegenerateThumbnails]});return ca.wrap({dataItems:n.concat(r),totalCount:t})}},{key:"createLoadingState",value:function createLoadingState(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return ca.wrap({dataItems:n,loadingItemsCount:e,totalCount:t})}},{key:"getSidebarViewList",value:function getSidebarViewList(e){return e.map((function(e){e.context={icon:hB[e.Name]}})),[{operations:e,ordinal:0,title:e[0].Category.Title}]}},{key:"shouldHideMoveToLibraryOperation",value:function shouldHideMoveToLibraryOperation(e,t){var n=y.xe.isLibrary(e.metadata.setName),i=t.currentItemSelectionInfo.allItemsSelected,o=t.itemsState&&t.currentItemSelectionInfo.selectedItems.size+t.itemsState.dataItems.filter((function(e){return e.data.inactive})).length===t.itemsState.totalCount;return n&&(i||o)}}]),MediaGridExtender}(fd);IB.ctorParameters=function(){return[{type:pe.EY},{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:Qr},{type:ga},{type:ki.bL},{type:Qt.Zr},{type:yl},{type:qs},{type:m.F0},{type:sc},{type:Di},{type:Aa},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:dc},{type:b.y},{type:cd},{type:Hs.dk},{type:nr,decorators:[{type:l.tBr,args:[fc]}]}]},IB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Rr.V1,Qr,ga,ki.bL,Qt.Zr,yl,qs,m.F0,sc,Di,Aa,La,dc,b.y,cd,Hs.dk,nr])],IB);var wB={multi:!0,provide:ud,useClass:IB},kB=n(248),xB="Library",CB=function(e){(0,f.Z)(MediaMetadataHandler,e);var t=(0,p.Z)(MediaMetadataHandler);function MediaMetadataHandler(e,n,o){var a;return(0,i.Z)(this,MediaMetadataHandler),(a=t.call(this,o)).metadataContainer=e,a.siteData=n,a.fieldsProvider=o,a.fieldGroups=[],a}return(0,o.Z)(MediaMetadataHandler,[{key:"getFieldType",value:function getFieldType(e,t,n,i){return i===h.E.PARENT_ID?Y.U.dropdownSelector:i===h.E.BLOB_STORAGE_PROVIDER||i===h.E.CLIENT_CACHE_PROFILE||i===h.E.NEW_SIZE?Y.U.choiceDropDown:i===h.E.MEDIA_FILE_URL_NAME?Y.U.urlName:i===h.E.MEDIA_FILE_ADDITIONAL_URLS_NAME?Y.U.additionalUrls:i===h.E.THUMBNAIL_PROFILES?Y.U.multipleChoiceChip:i===h.E.MAX_SIZE||i===h.E.MAX_ITEM_SIZE?Y.U.number:i===h.E.THUMBNAIL_URL?Y.U.videoThumbnail:null}},{key:"processFieldGroup",value:function processFieldGroup(e,t,n,i,o,a,r){return[]}},{key:"canProcess",value:function canProcess(e){var t,n=this.metadataContainer.getValue().entities;Object.keys(n).forEach((function(i){var o=n[i];o.typeFullName!==e||(t=o)}));var i=t&&t.isMedia,o=y.xe.isLibraryType(e);return i||o}},{key:"updateFieldSettings",value:function updateFieldSettings(e,t,n){var i=this;this.siteData.getValue().pipe((0,kn.P)()).subscribe((function(t){var i=e.find((function(e){return e.key===h.E.PARENT_ID})).settings;i.friendlyTitle=xB.toLowerCase(),i.selectorNames.plural="Libraries",i.selectorNames.singular=xB,i.excludeParent=!1,e.forEach((function(e){if(e.settings.showForAllTranslationsLabel=!1,e.selector===Y.U.choiceDropDown||e.selector===Y.U.multipleChoiceChip){var t=e.settings,i=n.find((function(t){return t.name===e.key}));if(i){var o=i.metadata;if(o&&o[u.Q9]){var a=[];o[u.Q9].forEach((function(e){a.push({Name:e.Key,Value:e.Value})})),t.choices=a,e.value||t.useDefaultValue||(e.value=a[0].Value)}}}})),t.ContentCultures.length>1&&(i.showForAllTranslationsLabel=!0)}));var o=e.find((function(e){return e.settings instanceof kB.W}));o&&(o.settings.getUrlStructureData=function(e){return i.getUrlStructureData(e)});this.updateSizeFieldsSettings(e);var a=e.find((function(e){return e.key===h.E.THUMBNAIL_URL}));a&&(a.settings.translatable=!0,a.settings.showForAllTranslationsLabel=!1)}},{key:"updateSizeFieldsSettings",value:function updateSizeFieldsSettings(e){e.filter((function(e){return e.key===h.E.MAX_SIZE||e.key===h.E.MAX_ITEM_SIZE})).map((function(e){e.settings.emptyValues.push(0),e.settings.look="sf-width-2",e.settings.decimalPlaces=0,e.settings.unitLook="size-xs"}))}},{key:"getUrlStructureData",value:function getUrlStructureData(e){return e.data&&e.data.MediaFileUrlName?(0,r.of)({parentUrl:function getParentUrl(e){var t=ig.WP.EMPTY_STRING;if(e.data.Url){var n=new RegExp("/"+e.data.MediaFileUrlName,"gi");t=e.data.Url.split(n)[0]}return t}(e),extension:e.data[h.E.EXTENSION],editableUrl:null}):(0,r.of)(null)}}]),MediaMetadataHandler}(Dv.a);CB.ctorParameters=function(){return[{type:pe.EY},{type:Qi},{type:lr.H}]},CB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,Qi,lr.H])],CB);var SB={provide:Dv.a,useClass:CB,multi:!0},BB=function(e){(0,f.Z)(MediaEditExtender,e);var t=(0,p.Z)(MediaEditExtender);function MediaEditExtender(e,n,o,a,r,s){var l;return(0,i.Z)(this,MediaEditExtender),(l=t.call(this)).service=e,l.store=n,l.sanitizeService=o,l.modalWindowService=a,l.communicationService=r,l.router=s,l.communicationService.subscribe(y.sx,(function(e){l.hideStorageProvider=e.data.hideStorageProvider})),l}return(0,o.Z)(MediaEditExtender,[{key:"overrideNavigationMenuOptions",value:function overrideNavigationMenuOptions(e,t){t.hideAdditionalActionsMenu=!0,t.title=(0,r.of)("".concat(e.metadata.singularName," properties"))}},{key:"getFormClasses",value:function getFormClasses(){return y.Em}},{key:"handleAction",value:function handleAction(e,t){var n=this.getOperationCommand(e);if(n)return{handled:n.execute({currentRoute:e.route,model:null,data:{dataItem:e.item}})};if(y.xe.isMediaEntity(e.item))return{handled:(0,r.of)(!1)};this.handleSizesFieldsValues(e);var i=null;e.changedFields&&e.changedFields[h.E.PARENT_ID]&&e.changedFields[h.E.PARENT_ID]!==v.WP.DEFAULT_GUID&&(i=e.changedFields[h.E.PARENT_ID]);var o=e.item;if(null!=i&&e.actionName===$.q.create){var a=this.store.getEntity(u.gl.FOLDERS);o=ee.zw.from(o.data,a,o.provider,o.culture)}if(e.actionName===$.q.create){var s=new zE.ke(o.key,!1);s.init(e.item.metadata.properties[h.E.URL_NAME]);var l=s.sanitizeRegex,c=this.sanitizeService.getReplaceCharacter(s),d=e.changedFields[h.E.URL_NAME]||e.changedFields[o.metadata.defaultFieldName];e.changedFields[h.E.URL_NAME]=this.sanitizeService.sanitizeValue(d,l,c)}var f=null,p=!1;return e.changedFields&&o&&(f=this.service.upsert({data:e.changedFields,dataItem:o}),p=!0),{handled:(0,r.of)(p),result:f}}},{key:"modify",value:function modify(e){var t=e.dataItem,n=e.sections;if(this.handleFewerFields(e),y.xe.isLibrary(t.metadata.setName)){var i=t.data&&void 0!==t.data[h.E.PARENT_ID]&&t.data[h.E.PARENT_ID]!==v.WP.DEFAULT_GUID;if(e.viewName===g.jc.INSERT){var o=!(!e.isInit||!e.parentId),a=i||o,s=a||this.hideStorageProvider;this.modifySectionVisibility(n,Wo.H.advancedOptions,a),this.modifyFieldVisibilityInSection(n,Wo.H.mainSection,h.E.BLOB_STORAGE_PROVIDER,!s),this.modifyFieldVisibilityInSection(n,Wo.H.mainSection,h.E.DESCRIPTION,!a),this.modifyFieldVisibilityInSection(n,Wo.H.mainSection,h.E.URL_NAME,!a)}else this.modifySectionVisibility(n,Wo.H.advancedOptions,i&&!e.isInit)}return this.modifyParentSelectorSettings(t,n,e.setName),(0,r.of)(void 0)}},{key:"isSupportedType",value:function isSupportedType(e){return e&&y.xe.isLibraryOrMedia(e.metadata.setName)}},{key:"showHeader",value:function showHeader(e){return y.xe.isMediaEntity(e)}},{key:"getSidebarButtons",value:function getSidebarButtons(e,t){return(0,Re.Z)((0,Qe.Z)(MediaEditExtender.prototype),"getSidebarButtons",this).call(this,e,t).filter((function(e){return e.name!==Xr}))}},{key:"hasCreateActionFromEdit",value:function hasCreateActionFromEdit(){return!1}},{key:"forceUpdateFieldModel",value:function forceUpdateFieldModel(e,t,n){return e===Y.U.urlName&&t&&t.data.Extension&&t.data.Extension!==n.data.Extension}},{key:"handleSizesFieldsValues",value:function handleSizesFieldsValues(e){e.changedFields&&null===e.changedFields[h.E.MAX_SIZE]&&(e.changedFields[h.E.MAX_SIZE]=0),e.changedFields&&null===e.changedFields[h.E.MAX_ITEM_SIZE]&&(e.changedFields[h.E.MAX_ITEM_SIZE]=0)}},{key:"modifyParentSelectorSettings",value:function modifyParentSelectorSettings(e,t,n){var i=t.find((function(e){return e.settings.name===Wo.H.mainSection})).fields.find((function(e){return e.key===h.E.PARENT_ID}));i&&(y.xe.isFolderEntity(e)?(i.settings.hierarchicalTaxaSettings.type=y.xe.resolveLibrarySetName(n),i.value||(i.value=e.data[h.E.ROOT_ID])):y.xe.isMediaEntity(e)&&e.data[h.E.FOLDER_ID]&&(i.settings.hierarchicalTaxaSettings.type=y.xe.getParentSetName(e),i.value=e.data[h.E.FOLDER_ID]),y.xe.isLibrary(e.metadata.setName)&&(i.settings.hierarchicalTaxaSettings.id=e.key))}},{key:"getOperationCommand",value:function getOperationCommand(e){return e.actionName===$.q.viewAllSizes?new lB(this.modalWindowService,this.service,this.router):e.actionName===$.q.embed?new uB(this.modalWindowService):e.actionName===$.q.play?new bB(this.modalWindowService):null}},{key:"modifySectionVisibility",value:function modifySectionVisibility(e,t,n){var i=e.find((function(e){return e.settings.name===t}));i&&(i.settings.isHidden=n,i.fields.forEach((function(e){e.settings.isVisible=!n})))}},{key:"modifyFieldVisibilityInSection",value:function modifyFieldVisibilityInSection(e,t,n,i){var o=e.find((function(e){return e.settings.name===t})).fields.find((function(e){return e.key===n}));o&&(o.settings.isVisible=i)}}]),MediaEditExtender}(Kr);BB.ctorParameters=function(){return[{type:Ci.dg},{type:pe.EY},{type:Nh.U},{type:ki.bL},{type:Di},{type:m.F0}]},BB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,pe.EY,Nh.U,ki.bL,Di,m.F0])],BB);var DB={multi:!0,provide:Jr,useClass:BB},TB=function(){function SwitchGridViewCommand(e,t,n,o){(0,i.Z)(this,SwitchGridViewCommand),this.storage=e,this.router=t,this.window=n,this.userStore=o}return(0,o.Z)(SwitchGridViewCommand,[{key:"execute",value:function execute(e){var t=this.userStore.userId;this.storage.setItem(Rr.SA,"".concat(t,",").concat(e.data.gridViewName)),this.router.navigate([],{queryParamsHandling:"preserve"});var n=new CustomEvent("gridViewStateChanged");return this.window.dispatchEvent(n),(0,r.of)({selectedSettingName:e.data.gridViewName})}}]),SwitchGridViewCommand}();TB.ctorParameters=function(){return[{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Qr}]},TB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Rr.V1,m.F0,Window,Qr])],TB);var MB=function(e){(0,f.Z)(RegenerateThumbnailsCommand,e);var t=(0,p.Z)(RegenerateThumbnailsCommand);function RegenerateThumbnailsCommand(e,n,o,a,r,s,l,c,d){var u;return(0,i.Z)(this,RegenerateThumbnailsCommand),(u=t.call(this,e,n,a,o,s,l,d)).longRunningTasksService=r,u.service=s,u.notificationService=l,u.window=c,u.sortService=d,u.isHierarchical=!1,u.dialogMapping="regenerateThumbnails",u.dialogTitle=$.Oi.regenerateThumbnails,u.confirmButtonText=$.Oi.regenerateThumbnails,u}return(0,o.Z)(RegenerateThumbnailsCommand,[{key:"generateDescription",value:function generateDescription(e){e.properties.notificationText="This operation will generate thumbnails in sizes specified in the properties of the selected library. It may take from few seconds up to few hours depending on the number of images in the library.",e.properties.notificationLook="warning sf-mt--5xl"}},{key:"getEntityData",value:function getEntityData(){var e=this.route.snapshot.queryParams[g.Tx.PROVIDER]||null;this.entityData=ee.zw.emptyItem({metadata:this.metadataStore.getEntity(u.gl.ALBUMS),culture:null,provider:e})}},{key:"executeConfirmAction",value:function executeConfirmAction(e,t){var n=this;this.longRunningTasksService.start(e[0].key,Wl.RegenerateThumbnails).subscribe((function(e){t.next(new ki.DQ(!0,!0))}),(function(e){n.notificationService.publishBasicNotification({message:e.message,look:ya.ERROR,duration:g.De,filterParam:pl}),t.next(new ki.DQ(!1,!1,!0));var i=new CustomEvent(rc);n.window.dispatchEvent(i)}))}},{key:"onDone",value:function onDone(e,t){this.notificationService.close(),t.next({}),t.complete()}}]),RegenerateThumbnailsCommand}(fB);MB.ctorParameters=function(){return[{type:ki.bL},{type:pe.EY},{type:m.gz},{type:dc},{type:sc},{type:Ci.dg},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Aa}]},MB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,pe.EY,m.gz,dc,sc,Ci.dg,La,Window,Aa])],MB);var NB=function(){function LibrariesOperationsFilter(e,t){(0,i.Z)(this,LibrariesOperationsFilter),this.storageService=e,this.userStore=t}return(0,o.Z)(LibrariesOperationsFilter,[{key:"filter",value:function filter(e,t){return this.isTypeSupported(t.dataItem)?(e=this.filterOperationsForMedia(e,t),e=this.filterOperationsForLibrariesAndFolders(e,t),(e=this.filterOperationsForGridModeAndTarget(e,t)).map((function(e){return e.Category.Name===$.si.librariesGridView&&(e.token={type:TB,properties:{gridViewName:e.Name}}),e.Name===$.q.regenerateThumbnails&&(e.token={type:MB,properties:{}}),e}))):e}},{key:"filterOperationsForMedia",value:function filterOperationsForMedia(e,t){if(y.xe.isMediaEntity(t.dataItem))if(t.target===z.List){var n=e.find((function(e){return e.Name===$.q.createLibrary}));n&&(n.Ordinal=oe.do-1)}else if(t.target===z.Create){var i=[$.q.createLibrary];e.find((function(e){return e.Name===$.q.uploadPublished}))&&i.push($.q.upload),e=e.filter((function(e){return-1===i.indexOf(e.Name)}))}return e}},{key:"filterOperationsForLibrariesAndFolders",value:function filterOperationsForLibrariesAndFolders(e,t){if(y.xe.isLibrary(t.dataItem.metadata.setName)&&t.target===z.List){var n=e.find((function(e){return e.Name===$.q.create}));n&&(n.Ordinal=oe.do-1);var i=e.find((function(e){return e.Name===$.q.createMedia}));i&&(i.Ordinal=oe.do)}if(y.xe.isLibrary(t.dataItem.metadata.setName)&&t.target===z.List){var o=e.find((function(e){return e.Name===$.q.edit}));o&&(o.Title=$.Oi.libraryProperties),e.find((function(e){return e.Name===$.q.reorder}))&&(!t.dataItem.data||t.dataItem.data.ChildrenCount<=1)&&(e=e.filter((function(e){return e.Name!==$.q.reorder})))}return e}},{key:"filterOperationsForGridModeAndTarget",value:function filterOperationsForGridModeAndTarget(e,t){var n=this.storageService.getItem(Rr.SA),i=this.userStore.userId;return(0,d.Ek)(n,i)===d.wf.Timeline&&t.target!==z.Create&&(e=t.parentItem?e.filter((function(e){return e.Name!==$.q.createLibrary})):e.filter((function(e){return e.Name!==$.q.create}))),t.target===z.Create&&(e=e.filter((function(e){return e.Category.Name!==$.si.librariesGridView}))),t.target!==z.Bulk&&t.target!==z.List&&(t.target!==z.Edit&&(e=e.filter((function(e){return e.Name!==$.q.schedule}))),e=e.filter((function(e){return e.Name!==$.q.bulkEditProperties}))),e}},{key:"isTypeSupported",value:function isTypeSupported(e){return y.xe.isLibraryOrMedia(e.metadata.setName)}}]),LibrariesOperationsFilter}();NB.ctorParameters=function(){return[{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:Qr}]},NB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Rr.V1,Qr])],NB);var FB={multi:!0,provide:te,useClass:NB},PB=n(702),RB=function(e){(0,f.Z)(ThumbnailListComponent,e);var t=(0,p.Z)(ThumbnailListComponent);function ThumbnailListComponent(e){var n;return(0,i.Z)(this,ThumbnailListComponent),(n=t.call(this)).compositeDataExtender=e,n.selectFile=new l.vpe,n.onCommand=new l.vpe,n.isLoadingItems=!0,n.files=[],n.libraries=[],n.itemSelectionInfo={selectedItems:new Map,deselectedItems:new Map,excludedItems:new Array,nodesPositions:new Map},n.selectedFiles={},n._dataItems=[],n}return(0,o.Z)(ThumbnailListComponent,[{key:"itemsState",set:function set(e){var t=this;if(this.isLoadingItems=e.isLoadingItems,!e.isLoadingItems||0===e.dataItems.length){var n=this.mapFiles(e.dataItems);this.files=n.filter((function(e){return e.metadata.isMedia})).map((function(e){return t.markTranslated(e)})),this.libraries=n.filter((function(e){return!e.metadata.isMedia})),this._dataItems=n}}},{key:"mediaEntityData",get:function get(){return this._mediaEntityData},set:function set(e){this._mediaEntityData&&this._mediaEntityData.metadata.setName!==e.metadata.setName&&(this.libraries=[],this.files=[]),this._mediaEntityData=e}},{key:"value",get:function get(){return Object.keys(this.selectedFiles).map((function(e){return{data:{Id:e}}}))}},{key:"isSelected",value:function isSelected(e){return this.selectedFiles[e.data.Id]}},{key:"onSelectFile",value:function onSelectFile(e){var t=this._dataItems.find((function(t){return t.data.Id===e.data.Id}));this.selectedFiles[e.data.Id]?(this.itemSelectionInfo.deselectedItems.set(e.data.Id,t),this.itemSelectionInfo.selectedItems.delete(e.data.Id),delete this.selectedFiles[e.data.Id]):(this.selectedFiles[e.data.Id]=e,this.itemSelectionInfo.selectedItems.set(e.data.Id,t),this.itemSelectionInfo.deselectedItems.delete(e.data.Id)),this.selectFile.emit(this.itemSelectionInfo)}},{key:"onClickFile",value:function onClickFile(e){if(Object.keys(this.selectedFiles).length>0&&e.data&&!e.data.disableCheckbox)this.onSelectFile(e);else{var t=this._dataItems.find((function(t){return t.data.Id===e.data.Id}));t&&this.onCommand.emit({name:Ca,data:t})}}},{key:"onClickFolder",value:function onClickFolder(e){this.onClickFile(e)}},{key:"onSelectFolder",value:function onSelectFolder(e){this.onSelectFile(e)}},{key:"selectAllNodes",value:function selectAllNodes(e){var t=this;this.itemSelectionInfo.selectedItems.clear(),this.itemSelectionInfo.deselectedItems.clear(),this._dataItems.forEach((function(n){n.data.disableCheckbox||-1!==e.indexOf(n.data.Id)||(t.itemSelectionInfo.selectedItems.set(n.data.Id,n),t.selectedFiles[n.data.Id]=n)})),this.itemSelectionInfo.excludedItems=e,this.selectFile.emit(this.itemSelectionInfo)}},{key:"clearAllSelectedNodes",value:function clearAllSelectedNodes(){this.selectedFiles={},this.itemSelectionInfo.deselectedItems.clear(),this.itemSelectionInfo.selectedItems.clear(),this.selectFile.emit(this.itemSelectionInfo)}},{key:"mapFiles",value:function mapFiles(e){return this.compositeDataExtender.enhanceDataItems(this.mediaEntityData,e,{inactive:!0,failedValidation:function failedValidation(e){return{errorMessage:e}}},{whiteListedTasks:[Xl.RegenerateThumbnails]})}},{key:"markTranslated",value:function markTranslated(e){var t=e.culture,n=(0,d.iK)(e.data);return n.isTranslated=!t||e.data.AvailableLanguages.some((function(e){return e===t})),ee.zw.fromEntityData(n,e)}}]),ThumbnailListComponent}(E.zu);RB.ctorParameters=function(){return[{type:dc}]},RB.propDecorators={itemsState:[{type:l.IIB}],mediaEntityData:[{type:l.IIB}],showAsTimeline:[{type:l.IIB}],selectFile:[{type:l.r_U}],onCommand:[{type:l.r_U}]},RB=(0,a.gn)([(0,l.wA2)({selector:"sf-thumbnail-list",template:PB}),(0,a.w6)("design:paramtypes",[dc])],RB);var QB=function(){function DeleteCommandExtenderBase(){(0,i.Z)(this,DeleteCommandExtenderBase)}return(0,o.Z)(DeleteCommandExtenderBase,[{key:"showMultilingualButtons",value:function showMultilingualButtons(e){var t=e.siteData.ContentCultures;return e.entityData.metadata.isMultilingual&&t.length>1&&(e.bulk||e.dataItem&&e.dataItem.data.AvailableLanguages&&e.dataItem.data.AvailableLanguages.length>1)}},{key:"permanentDelete",value:function permanentDelete(e){var permanentDelete=!0;if(e.action.contextParameters){var t=e.action.contextParameters.find((function(e){return e.Name===Qk}));t&&(permanentDelete="false"!==t.Value.toLowerCase())}return permanentDelete}},{key:"getTitle",value:function getTitle(e){return e.action.detailedTitle||e.action.title}},{key:"getDisplayName",value:function getDisplayName(e){return e.bulk?fe.getOperationPluralName(e.dataItem?e.dataItem.metadata:e.entityData.metadata,e.action.contextParameters):fe.getOperationSingularName(e.dataItem?e.dataItem.metadata:e.entityData.metadata,e.action.contextParameters)}}]),DeleteCommandExtenderBase}(),UB=function(e){(0,f.Z)(MediaDeleteCommandExtender,e);var t=(0,p.Z)(MediaDeleteCommandExtender);function MediaDeleteCommandExtender(){return(0,i.Z)(this,MediaDeleteCommandExtender),t.apply(this,arguments)}return(0,o.Z)(MediaDeleteCommandExtender,[{key:"isSupportedType",value:function isSupportedType(e){return y.xe.isLibraryOrMedia(e.metadata.setName)}},{key:"showMultilingualButtons",value:function showMultilingualButtons(e){return(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"showMultilingualButtons",this).call(this,e)&&e.selectedItems.every((function(e){return y.xe.isMediaEntity(e)}))}},{key:"permanentDelete",value:function permanentDelete(e){var permanentDelete=(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"permanentDelete",this).call(this,e);return permanentDelete||e.selectedItems.some((function(e){return!y.xe.isMediaEntity(e)}))}},{key:"getTitle",value:function getTitle(e){var t=e.selectedItems.some((function(e){return!y.xe.isMediaEntity(e)})),n=e.selectedItems.some((function(e){return y.xe.isMediaEntity(e)})),i=y.xe.resolveMediaSetName(e.entityData.metadata.setName);if(n&&t)return e.bulk?"Delete selected libraries and ".concat(i," permanently?"):(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"getTitle",this).call(this,e);if(n&&!t){var o=v.WP.EMPTY_STRING;return this.permanentDelete(e)&&(o=" permanently"),e.bulk?"Delete selected ".concat(i).concat(o,"?"):(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"getTitle",this).call(this,e)}return!n&&t&&e.bulk?"Delete selected libraries permanently?":(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"getTitle",this).call(this,e)}},{key:"getDisplayName",value:function getDisplayName(e){var t=e.selectedItems.some((function(e){return!y.xe.isMediaEntity(e)})),n=e.selectedItems.some((function(e){return y.xe.isMediaEntity(e)})),i=y.xe.resolveMediaSetName(e.entityData.metadata.setName);return n&&t?e.bulk?"libraries and ".concat(i):(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"getDisplayName",this).call(this,e):n&&!t?e.bulk?i:(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"getDisplayName",this).call(this,e):!n&&t&&e.bulk?"libraries":(0,Re.Z)((0,Qe.Z)(MediaDeleteCommandExtender.prototype),"getDisplayName",this).call(this,e)}}]),MediaDeleteCommandExtender}(QB);UB=(0,a.gn)([(0,l.GSi)()],UB);var LB={multi:!0,provide:$v,useClass:UB},OB=function(e){(0,f.Z)(MediaFieldsProvider,e);var t=(0,p.Z)(MediaFieldsProvider);function MediaFieldsProvider(){return(0,i.Z)(this,MediaFieldsProvider),t.apply(this,arguments)}return(0,o.Z)(MediaFieldsProvider,[{key:"overrideField",value:function overrideField(e){if((e.typeName===u.gl.IMAGES||e.typeName===u.gl.VIDEOS||e.typeName===u.gl.DOCUMENTS)&&e.fieldName===h.E.MEDIA_FILE_URL_NAME)return{readComponent:rb,settingsType:kB.W,writeComponent:rb}}}]),MediaFieldsProvider}(H.U);OB=(0,a.gn)([(0,l.GSi)()],OB);var zB={provide:H.e,useClass:OB,multi:!0},_B=function(){function MediaFieldsChangeService(){(0,i.Z)(this,MediaFieldsChangeService)}return(0,o.Z)(MediaFieldsChangeService,[{key:"processChange",value:function processChange(e,t,n){e===u.tX&&this.processMediaDataFieldName(t,n),e===h.E.PARENT_ID&&this.processParentIdFieldChange(n)}},{key:"canProcess",value:function canProcess(e){return y.xe.isLibraryType(e)||e===u.XF||e===u.Fn}},{key:"processParentIdFieldChange",value:function processParentIdFieldChange(e){var t=e.find((function(e){return e.fieldModel.key===h.E.TITLE}));t&&t.formControl.updateValueAndValidity()}},{key:"processMediaDataFieldName",value:function processMediaDataFieldName(e,t){var n=t.find((function(e){return e.fieldModel.key===h.E.THUMBNAIL_URL}));if(n)n.currentInstance.videoFile=e;else{var i=t.find((function(e){return e.fieldModel.key===h.E.MEDIA_FILE_URL_NAME}));if(i&&!i.hasValue&&e){var o=e.name,a=o.lastIndexOf("."),r=o.substr(0,a),s=o.substr(a),l=i.currentInstance;l.writeValue(r),l.extension=s}}}}]),MediaFieldsChangeService}();_B=(0,a.gn)([(0,l.GSi)()],_B);var VB={provide:Lf.q,useClass:_B,multi:!0},GB=[h.E.URL_NAME,h.E.MEDIA_FILE_URL_NAME],HB=[h.E.TITLE,h.E.DESCRIPTION,h.E.ALTERNATIVE_TEXT],ZB="bulkEditMedia",YB=function(){function BulkEditMediaPropertiesCommand(e,t,n,o){(0,i.Z)(this,BulkEditMediaPropertiesCommand),this.modalWindowService=e,this.fieldsGeneratorService=t,this.backendTweaksStore=n,this.dynamicItemService=o,this.executeOnceInBulk=!0,this.skipNotification=!1,this.lockedItems={}}return(0,o.Z)(BulkEditMediaPropertiesCommand,[{key:"execute",value:function execute(e){var t=this;this.entityData=e.data.selectedItems[0];var n=new re.t(1);return this.getMediaItems(e).subscribe((function(i){var o=[];i.length>0&&(o.push(new ki.pu($.Oi.saveChanges)),o.push(new ki.Lw(_e.CANCEL)));var a={type:Pl,properties:{type:t.entityData.metadata.singularName.toLowerCase(),items:i},afterComponentInit:function afterComponentInit(e){e.onFieldChange.subscribe((function(e){t.lockItem(e)}))}},r=new ki.np(a,(function(e){return t.onDone(e,n)}),o,null,"-bottom");t.modalWindowService.setMapping(r,ZB),t.modalWindowService.open(e.currentRoute,ZB)})),n}},{key:"getAdditionalFieldsNames",value:function getAdditionalFieldsNames(e){var t=[e.metadata.defaultFieldName,h.E.EXTENSION,h.E.MIME_TYPE,h.E.DESCRIPTION];return y.xe.isImageEntity(e)?(t.push(h.E.THUMBNAIL_URL),t.push(h.E.ALTERNATIVE_TEXT)):y.xe.isVideoEntity(e)&&t.push(h.E.THUMBNAIL_URL),t}},{key:"getMediaItems",value:function getMediaItems(e){var t=this,n=new re.t(1),i=[];return this.backendTweaksStore.initializeForm(this.entityData.metadata.setName,g.jc.INSERT,null,this.entityData.culture,this.entityData.provider).then((function(o){var a=t.getFields(),r=a.filter((function(e){return e.settings.required&&!HB.includes(e.key)})).map((function(e){return e.key})),s=[t.entityData.metadata.key].concat((0,J.Z)(t.getAdditionalFieldsNames(t.entityData)),(0,J.Z)(r)),l=e.data.selectedItems.filter((function(e){return e.isTranslated})).map((function(e){return{dataItem:e,operation:{action:$.q.edit},doNotRefreshItem:!1,dataFieldNames:s}}));t.dynamicItemService.updateItemsWithBulkOperationResult(l,t.entityData).subscribe((function(e){var o=e.succeededItemsIds.map((function(t){return{dataItem:e.items.find((function(e){return e.key===t})),isEditable:!0}})),r=e.failedItemsIds.map((function(t){return{dataItem:e.items.find((function(e){return e.key===t})),isEditable:!1}}));o.concat(r).forEach((function(e){var n=e.dataItem,o={fields:[],form:new ze.cw((0,Ae.Z)({},"Title",new ze.NI(n.title))),dataItem:n};t.populateItemFieldsAndForm(o,n,a,e.isEditable),i.push(o)})),n.next(i)}))})),n.asObservable()}},{key:"getFields",value:function getFields(){var e=this.fieldsGeneratorService.generateFieldModels(this.entityData.metadata,this.entityData.metadata.setName,this.backendTweaksStore,null).filter((function(e){return GB.indexOf(e.key)<0})).map((function(e){return e.settings.showTitle=!1,e})),t=this.createMediaFieldModel(),n=e.find((function(e){return e.key===h.E.TITLE}));n.settings.type="textarea";var i=e.find((function(e){return e.key===h.E.ALTERNATIVE_TEXT}));i&&(i.cssClass="-col-size-xl",i.settings.placeholder="add alt text...",i.settings.type="textarea",i.settings.title="Alternative text");var o=e.find((function(e){return e.key===h.E.DESCRIPTION}));y.xe.isImageEntity(this.entityData)?o.cssClass="-col-size-xl":(o.cssClass="-col-stretched",n.cssClass="-col-stretched"),o.settings.placeholder="add description...",o.settings.type="textarea";var a=e.filter((function(e){return e.settings.required&&!HB.includes(e.key)}));return(y.xe.isImageEntity(this.entityData)?[t,n,i,o]:y.xe.isVideoEntity(this.entityData)?[t,n,o]:[n,o]).concat(a)}},{key:"populateItemFieldsAndForm",value:function populateItemFieldsAndForm(e,t,n,i){n.forEach((function(n){var o=(0,d.I8)(n),a=n.settings.validators;if(n.key===Fl.A.image.single)o.value={isMultimedia:t.metadata.isMultimedia,contentType:t.data.MimeType,src:t.data.ThumbnailUrl,showErrorMessage:!1};else if(n.key===Fl.A.video.single)o.value={isMultimedia:t.metadata.isMultimedia,contentType:y.LO.JPEG,src:t.data.ThumbnailUrl,showErrorMessage:!1,errorIcon:"film",errorIconLook:"lighter size-3xl sf-mr-zer",look:t.data.ThumbnailUrl?"":"video"};else{o.value=t.data[n.key];var r=!i;o.settings.disabled=r,r&&(a=null)}o.settings.key+=t.key,o.settings.culture=t.culture,o.settings.look="inline short",e.fields.push(o),e.form.setControl(n.key,new ze.NI(o.value,a))}))}},{key:"createMediaFieldModel",value:function createMediaFieldModel(){var e=y.xe.resolveMediaLabels(this.entityData.metadata.setName).singular,t=new j.P1(e,!1);return t.showTitle=!1,e===Fl.A.video.single&&(t.title="Thumbnail"),new jo.W({key:e,selector:"sf-simple-media",settings:t,registration:{writeComponent:Ql}})}},{key:"onDone",value:function onDone(e,t){if(e.data&&e.data.data){var n=this.getItemsForUpdate();if(0===n.length)return t.next({success:!1}),void t.complete();var i=[];n.forEach((function(e){i.push({dataItem:e.dataItem,data:e.data,operation:{action:$.q.defaultWorkflowOperation}})})),this.dynamicItemService.updateItemsWithBulkOperationResult(i,this.entityData).subscribe((function(e){var n=e.succeededItemsIds.filter((function(e){return e})),i=e.failedItemsIds.filter((function(e){return e}));t.next({success:!0,succeededItemsIds:n,failedItemsIds:i}),t.complete()}),(function(e){t.next({success:!1,error:e})}))}else this.unlockLockedItems().subscribe((function(){t.next({success:!1}),t.complete()}))}},{key:"getItemsForUpdate",value:function getItemsForUpdate(){var e=this,t=[];return Object.keys(this.lockedItems).forEach((function(n){var i=e.lockedItems[n],o={},a=!1;Object.keys(i.form.controls).forEach((function(e){i.form.controls[e].dirty&&(o[e]=i.form.controls[e].value,a=!0)})),a&&t.push({dataItem:i.dataItem,data:o})})),t}},{key:"lockItem",value:function lockItem(e){var t=this,n=e.dataItem;if(!this.lockedItems[n.key]){this.lockedItems[n.key]=e;var i={dataItem:n,data:{}};this.dynamicItemService.updateItemWithOperationResult(i).subscribe({error:function error(i){t.lockedItems[n.key]&&delete t.lockedItems[n.key],e.fields=e.fields.map((function(e){return e.settings.disabled=!0,e}))}})}}},{key:"unlockLockedItems",value:function unlockLockedItems(){var e=this,t=[];return Object.keys(this.lockedItems).forEach((function(n){var i=e.lockedItems[n];t.push({dataItem:i.dataItem,operation:{action:$.q.unlock}})})),0===t.length?(0,r.of)({success:!0}):this.dynamicItemService.updateItemsWithBulkOperationResult(t,this.entityData)}}]),BulkEditMediaPropertiesCommand}(),jB=function(e){(0,f.Z)(MediaBulkCommandExtender,e);var t=(0,p.Z)(MediaBulkCommandExtender);function MediaBulkCommandExtender(e,n,o,a,r,s,l,c,d,u,f,p,A){var m;return(0,i.Z)(this,MediaBulkCommandExtender),(m=t.call(this)).metadataStore=e,m.mediaService=n,m.route=o,m.taskService=a,m.dynamicItemStore=r,m.modalService=s,m.storageService=l,m.userStore=c,m.fieldsGeneratorService=d,m.backendTweaksStore=u,m.notificationService=f,m.compositeDataExtender=p,m.sortService=A,m}return(0,o.Z)(MediaBulkCommandExtender,[{key:"isSupportedType",value:function isSupportedType(e){return y.xe.isLibraryOrMedia(e.metadata.setName)}},{key:"getEntityDatasForBulkOperation",value:function getEntityDatasForBulkOperation(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=[e];return!t&&y.xe.isMediaEntity(e)&&n.push({metadata:this.metadataStore.getEntity(u.gl.FOLDERS),culture:e.culture,provider:e.provider}),n}},{key:"getFilterByParentQuery",value:function getFilterByParentQuery(e,t,n){return y.xe.isLibrary(e.metadata.setName)?t=t.or().and().eq(h.E.ROOT_ID,n).eq(h.E.PARENT_ID,null).done().eq(h.E.PARENT_ID,n).done():y.xe.isMediaEntity(e)&&(t=t.or().and().eq(h.E.PARENT_ID,n).eq(h.E.FOLDER_ID,null).done().eq(h.E.FOLDER_ID,n).done()),t}},{key:"tryHandleCommand",value:function tryHandleCommand(e,t){if(e.name===$.q.move){var n=t.entityData;this.getPresenterTemplate()===d.wf.Timeline&&(n={metadata:this.metadataStore.getEntity(u.gl.IMAGES),culture:n.culture,provider:n.provider});var i=new pB(this.modalService,this.metadataStore,this.compositeDataExtender,this.route,this.taskService,this.mediaService,this.dynamicItemStore.service,this.notificationService,this.sortService);return i.entityData=ee.zw.emptyItem(n),i}return e.name===$.q.bulkEditProperties?new YB(this.modalService,this.fieldsGeneratorService,this.backendTweaksStore,this.dynamicItemStore.service):null}},{key:"getPresenterTemplate",value:function getPresenterTemplate(){var e=this.storageService.getItem(Rr.SA),t=this.userStore.userId;return(0,d.Ek)(e,t)}}]),MediaBulkCommandExtender}(OE);jB.ctorParameters=function(){return[{type:pe.EY},{type:qs},{type:m.gz},{type:sc},{type:ga},{type:ki.bL},{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:Qr},{type:qo},{type:yl},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:dc},{type:Aa}]},jB=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,qs,m.gz,sc,ga,ki.bL,Rr.V1,Qr,qo,yl,La,dc,Aa])],jB);var WB={multi:!0,provide:fb,useClass:jB},JB=n(703),qB=n(704),XB=n(705),KB="crop",$B=function(){function CropService(e){(0,i.Z)(this,CropService),this.window=e,this.dimensionsChanged=new re.t(1)}return(0,o.Z)(CropService,[{key:"init",value:function init(e,t){var n=this;this.destroy(),this.contentType=t;var i=new XB.Z(e,{checkCrossOrigin:!1,movable:!1,scalable:!1,zoomable:!1,modal:!1,guides:!1,center:!1,highlight:!1,background:!1,minContainerWidth:1,minContainerHeight:1,ready:function ready(){i.setCropBoxData({width:e.width,height:e.height})}});this.cropper=i,this.cropper.setCropBoxData({width:e.width,height:e.height}),this.onCropEventListener=function(){return n.onCrop()},this.window.addEventListener(KB,this.onCropEventListener)}},{key:"destroy",value:function destroy(){this.cropper&&this.cropper.destroy(),this.onCropEventListener&&this.removeEventListeners()}},{key:"removeEventListeners",value:function removeEventListeners(){this.window.removeEventListener(KB,this.onCropEventListener)}},{key:"getCroppedImageDataUrl",value:function getCroppedImageDataUrl(){return this.cropper.getCroppedCanvas().toDataURL(this.contentType)}},{key:"rotate",value:function rotate(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:90;return this.cropper.rotate(e),{dataUrl:"",width:this.cropper.canvasData.width,height:this.cropper.canvasData.height}}},{key:"resetCropWindow",value:function resetCropWindow(){var e=this.cropper.getContainerData();this.cropper.setAspectRatio(0),this.cropper.setCropBoxData({height:e.height,width:e.width,left:0,top:0})}},{key:"setAspectRatio",value:function setAspectRatio(e){this.cropper.setAspectRatio(e)}},{key:"centerCropWindow",value:function centerCropWindow(){var e=this.cropper.getContainerData();if(e.height&&e.width){var t=this.cropper.getCropBoxData(),n=(e.width-t.width)/2,i=(e.height-t.height)/2;this.cropper.setCropBoxData({height:t.height,width:t.width,left:n,top:i})}}},{key:"onCrop",value:function onCrop(){var e=this.cropper.getCropBoxData(),t=this.getCropRatio();this.dimensionsChanged.next({width:Math.floor(e.width*t.widthCropRatio),height:Math.floor(e.height*t.heightCropRatio)})}},{key:"getCropRatio",value:function getCropRatio(){var e=this.cropper.getImageData(),t=1,n=1;return e.naturalWidth>e.width&&(t=e.naturalWidth/e.width),e.naturalHeight>e.height&&(n=e.naturalHeight/e.height),{widthCropRatio:t,heightCropRatio:n}}}]),CropService}();$B.ctorParameters=function(){return[{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},$B=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Window])],$B);var eD="width",tD="height",nD=function(){function ResizeService(){(0,i.Z)(this,ResizeService)}return(0,o.Z)(ResizeService,[{key:"resize",value:function resize(e,t,n){var i=e.width,o=e.height;e.changedDimensionName===eD&&(e.constrainedProportions&&(o=Math.round(i/e.aspectRatio)),i=e.changedDimensionValue),e.changedDimensionName===tD&&(e.constrainedProportions&&(i=o*e.aspectRatio),o=e.changedDimensionValue);var a=n.getContext("2d");return n.width=i,n.height=o,a.drawImage(t,0,0,i,o),{dataUrl:a.canvas.toDataURL(null,1),width:i,height:o}}}]),ResizeService}();nD=(0,a.gn)([(0,l.GSi)()],nD);var iD={ORIGINAL:"Original",SQUARE:"Square",SIXTEEN_TO_NINE:"16:9",FOUR_TO_THREE:"4:3"},oD="load",aD=function(e){(0,f.Z)(EditCropRotateComponent,e);var t=(0,p.Z)(EditCropRotateComponent);function EditCropRotateComponent(e,n,o,a,r,s){var l;return(0,i.Z)(this,EditCropRotateComponent),(l=t.call(this)).cropService=e,l.resizeService=n,l.detector=o,l.http=a,l.route=r,l.envService=s,l}return(0,o.Z)(EditCropRotateComponent,[{key:"canvas",get:function get(){return this._canvas.getContext("2d").clearRect(0,0,this._canvas.width,this._canvas.height),this._canvas}},{key:"image",get:function get(){return this._image},set:function set(e){this._image=e.nativeElement}},{key:"ngOnInit",value:function ngOnInit(){var e=this,t=this.dataItem.data.Parent.BlobStorageProvider,n=!(t===g.PR.DATABASE||t===g.PR.FILE_SYSTEM);if(this.dataItem.key&&(this.envService.getEnvironment()!==_t.H.integration||n)){var i=this.route.snapshot.queryParamMap,o=(0,Ae.Z)({},g.Tx.PROVIDER,this.dataItem.provider);i.keys.indexOf(g.Tx.VERSION)>-1&&(o[g.Tx.VERSION]=i.get(g.Tx.VERSION)),this.registerSubscription(this.http.get$("".concat(u.gl.IMAGES,"(").concat(this.dataItem.key,")/$value"),{responseType:"blob",params:o}).subscribe((function(t){if(!t.isLoading){var n=URL.createObjectURL(t.content);e.image.src=n}})))}else this.image.src=this.dataItem.data.Url;this.imageLoadEventListener=function(t){return e.initializeCropService()},this._canvas=document.createElement("canvas"),this.resizeData={enabled:!1,constrained:!0,width:this.item.width,height:this.item.height},this.aspectRationSettings=new _i("aspect-ratio",!1),this.aspectRationSettings.title="Aspect ratio",this.aspectRationSettings.choices=Object.values(iD).map((function(e){return{Name:e,Value:e}})),this.image.addEventListener(oD,this.imageLoadEventListener)}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(EditCropRotateComponent.prototype),"ngOnDestroy",this).call(this),this.image.removeEventListener(oD,this.imageLoadEventListener),this.cropService.removeEventListeners()}},{key:"getCroppedImageDataUrl",value:function getCroppedImageDataUrl(){return this.cropService.getCroppedImageDataUrl()}},{key:"onAspectRationChange",value:function onAspectRationChange(e){switch(this.cropService.centerCropWindow(),e){case iD.ORIGINAL:this.cropService.resetCropWindow();break;case iD.SQUARE:this.cropService.setAspectRatio(1);break;case iD.SIXTEEN_TO_NINE:this.cropService.setAspectRatio(16/9);break;case iD.FOUR_TO_THREE:this.cropService.setAspectRatio(4/3)}}},{key:"onResizeClick",value:function onResizeClick(){this.resizeData.enabled=!this.resizeData.enabled}},{key:"onRotateClick",value:function onRotateClick(){var e=this.cropService.rotate();(0,d.Sm)(this.resizeData,e)}},{key:"onResizeValueChanged",value:function onResizeValueChanged(e){var t=Number(e.value);if(!(t<1||t>=this.image[e.key])){var n=this.resizeData.width/this.resizeData.height;this.resizeData[e.key]=t;var i={changedDimensionName:e.key,changedDimensionValue:t,constrainedProportions:this.resizeData.constrained,width:this.resizeData.width,height:this.resizeData.height,aspectRatio:n},o=this.resizeService.resize(i,this.image,this.canvas);this.applyNewChanges(o),this.aspectration.writeValue(iD.ORIGINAL)}}},{key:"onConstrainProportionsClick",value:function onConstrainProportionsClick(){this.resizeData.constrained=!this.resizeData.constrained}},{key:"initializeCropService",value:function initializeCropService(e){var t=this;this.removeSubscriptions(),this.containerData=e||{width:this.image.width,height:this.image.height},this.cropService.init(this.image,this.item.contentType);var n=this.cropService.dimensionsChanged.subscribe((function(e){t.resizeData.width=e.width,t.resizeData.height=e.height}));this.registerSubscription(n),this.onAspectRationChange(iD.ORIGINAL),this.detector.detectChanges()}},{key:"applyNewChanges",value:function applyNewChanges(e){this.image.src=e.dataUrl,(0,d.Sm)(this.resizeData,e)}}]),EditCropRotateComponent}(E.zu);aD.ctorParameters=function(){return[{type:$B},{type:nD},{type:l.sBO},{type:Ri.q},{type:m.gz},{type:zt.L}]},aD.propDecorators={aspectration:[{type:l.i9L,args:["aspectration",{static:!1}]}],item:[{type:l.IIB}],dataItem:[{type:l.IIB}],image:[{type:l.i9L,args:["croppedImage",{static:!0}]}]},aD=(0,a.gn)([(0,l.wA2)({template:JB,providers:[$B,nD],encapsulation:l.ifc.None,styles:[qB]}),(0,a.w6)("design:paramtypes",[$B,nD,l.sBO,Ri.q,m.gz,zt.L])],aD);var rD={CROP_RESIZE_ROTATE:"Crop, resize or rotate"},sD="edit-image",lD=function(e){(0,f.Z)(ImageHandler,e);var t=(0,p.Z)(ImageHandler);function ImageHandler(e,n,o){var a;return(0,i.Z)(this,ImageHandler),(a=t.call(this,e,n,o)).modalWindowService=e,a.http=n,a.communicationService=o,a}return(0,o.Z)(ImageHandler,[{key:"canHandle",value:function canHandle(e){return y.xe.isImageEntity(e)}},{key:"executeOperation",value:function executeOperation(e){return e.operationName===rD.CROP_RESIZE_ROTATE?this.handleCropResizeRotate(e):(0,Re.Z)((0,Qe.Z)(ImageHandler.prototype),"executeOperation",this).call(this,e)}},{key:"getEditOperations",value:function getEditOperations(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments.length>3?arguments[3]:void 0,o=(0,Re.Z)((0,Qe.Z)(ImageHandler.prototype),"getEditOperations",this).call(this,e,t,n,i),a=Object.values(rD),r=e.extension&&e.extension.includes("svg");return r||t||i?o:[].concat((0,J.Z)(a),(0,J.Z)(o))}},{key:"handleCropResizeRotate",value:function handleCropResizeRotate(e){var t=new re.t,n=[new ki.pu(_e.DONE),new ki.Lw(_e.CANCEL)],i={type:aD,properties:{item:e.item,dataItem:e.mediaDataItem}},o=new ki.np(i,(function(e){if(e.data&&e.data.data){var n=e.component;if(n){var i={dataUrl:n.getCroppedImageDataUrl()};t.next(i)}}}),n,null,null);return o.toolbarData={type:Mo,properties:{header:rD.CROP_RESIZE_ROTATE}},this.modalWindowService.setMapping(o,sD),this.modalWindowService.open(e.route,sD),t.asObservable()}}]),ImageHandler}(Ac);lD.ctorParameters=function(){return[{type:ki.bL},{type:Ri.q},{type:Di}]},lD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,Ri.q,Di])],lD);var cD={provide:Ac,useClass:lD,multi:!0},dD=function(e){(0,f.Z)(MediaDataExtender,e);var t=(0,p.Z)(MediaDataExtender);function MediaDataExtender(e){var n;return(0,i.Z)(this,MediaDataExtender),(n=t.call(this)).longRunningTasksSerivce=e,n}return(0,o.Z)(MediaDataExtender,[{key:"isSupportedType",value:function isSupportedType(e){return y.xe.isLibraryOrMedia(e.metadata.setName)}},{key:"enhanceDataItems",value:function enhanceDataItems(e,t,n){return this.mapLongRunningTasks(e,t,n)}},{key:"mapLongRunningTasks",value:function mapLongRunningTasks(e,t,n){var i=this,o=n&&Array.isArray(n.whiteListedTasks)?n.whiteListedTasks:[],a=getRunningTasksAndMap(n&&n.tasks?n.tasks:this.longRunningTasksSerivce.progress.getValue());return e.map((function(e){var n=a[e.data.ParentId]||a[e.data.Id],r=ql[null==n?void 0:n.Status.toString()];return e.metadata.isImage&&e.parentKey!==v.WP.DEFAULT_GUID&&n&&-1!==o.indexOf(n.TaskName)&&(r===ql.Started||r===ql.Pending)?i.setLock(e,t,n):e.metadata.isImage||!n||-1===o.indexOf(n.TaskName)||r!==ql.Started&&r!==ql.Pending?n&&-1===o.indexOf(n.TaskName)?i.setLock(e,t,n):e:i.disableSelection(e,t,n)}))}},{key:"disableSelection",value:function disableSelection(e,t,n){var i=(0,d.kI)(e.data);return i.disableCheckbox=!0,ee.zw.from(i,e.metadata,e.provider,e.culture)}},{key:"setLock",value:function setLock(e,t,n){var i=(0,d.kI)(e.data),o=function generateRunningTaskError(e,t){if(!e)return null;var n="performing another task";switch(e.TaskName){case Xl.RegenerateThumbnails:n="regenerating thumbnails";break;case Xl.MoveLibrary:case Xl.MoveLibraryAlternative:var i=ic.parse(e);n=t&&i.libraryId===t?"moving items to this library":"moving to another library";break;case Xl.StorageRelocation:case Xl.StorageRelocationAlternative:case Xl.ChangeLibraryUrl:n="RelocateLibrary"===e.Title?"generating new URLs":"moving to another storage"}return"Disabled while ".concat(n)}(n,i.Id);for(var a in t)if(t.hasOwnProperty(a)){var r=t[a];i[a]="function"==typeof r?r(o):r}return ee.zw.from(i,e.metadata,e.provider,e.culture)}}]),MediaDataExtender}(cc);dD.ctorParameters=function(){return[{type:sc}]},dD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[sc])],dD);var uD={multi:!0,provide:lc,useClass:dD},fD=n(706),pD=(0,o.Z)((function FileInfoComponent(){(0,i.Z)(this,FileInfoComponent),this.sizeProperty="size",this.extensionProperty="extension",this.widthProperty="width",this.heightProperty="height"}));pD.propDecorators={multiple:[{type:l.IIB}],mediaEntityData:[{type:l.IIB}],item:[{type:l.IIB}],sizeProperty:[{type:l.IIB}],extensionProperty:[{type:l.IIB}],widthProperty:[{type:l.IIB}],heightProperty:[{type:l.IIB}]},pD=(0,a.gn)([(0,l.wA2)({selector:"sf-file-info",template:fD})],pD);var AD=function(){function MediaQueryParamsExtender(){(0,i.Z)(this,MediaQueryParamsExtender)}return(0,o.Z)(MediaQueryParamsExtender,[{key:"getAdditionalQueryParams",value:function getAdditionalQueryParams(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n={};return t&&t.SfMediaData&&(t.SfMediaData.preserveFileName||(n=(0,Ae.Z)({},"uploadAndReplace",!0))),!t&&e&&y.xe.isLibraryOrMedia(e.setName)&&(n[g.Tx.SKIP_DAM]="true"),n}}]),MediaQueryParamsExtender}();AD=(0,a.gn)([(0,l.GSi)()],AD);var mD={multi:!0,provide:Ur.R5,useClass:AD},gD=n(707),hD="Capture video frame",vD="Upload custom image",bD=["svg"],yD=function(e){(0,f.Z)(VideoThumbnailComponent,e);var t=(0,p.Z)(VideoThumbnailComponent);function VideoThumbnailComponent(e,n,o,a,r,s,l){var c;return(0,i.Z)(this,VideoThumbnailComponent),(c=t.call(this)).modalWindowService=e,c.route=n,c.metadataStore=o,c.http=a,c.canvasService=r,c.safePipe=s,c.envService=l,c.editOperations=[hD,vD],c.thumbnailUrl=null,c.downloadSubscription=null,c}return(0,o.Z)(VideoThumbnailComponent,[{key:"ngOnInit",value:function ngOnInit(){var e,t,n;this.thumbnailUrl=null===(n=null===(t=null===(e=this.settings)||void 0===e?void 0:e.dataItem)||void 0===t?void 0:t.data)||void 0===n?void 0:n.ThumbnailUrl}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(VideoThumbnailComponent.prototype),"writeValue",this).call(this,{ThumbnailSource:e})}},{key:"onVideoThumbOperationClicked",value:function onVideoThumbOperationClicked(e,t){t.stopPropagation(),e===hD?this.handleFrameCapture():this.handleFileUpload()}},{key:"handleFrameCapture",value:function handleFrameCapture(){var e=this,t=new he.X(v.WP.EMPTY_STRING);if(this.videoFile){var n=this.safePipe.transform(URL.createObjectURL(this.videoFile),E.ch.URL);t.next(n),this.openCaptureDialog(t)}else{var i,o=this.settings.dataItem,a=(i={},(0,Ae.Z)(i,g.Tx.PROVIDER,o.provider),(0,Ae.Z)(i,g.Tx.CULTURE,o.culture),i);if(this.openCaptureDialog(t),this.blobUrl)return t.next(this.blobUrl);var r=o.data.Parent.BlobStorageProvider;this.envService.getEnvironment()!==_t.H.integration||r!==g.PR.DATABASE&&r!==g.PR.FILE_SYSTEM?this.downloadSubscription=this.http.get$("".concat(u.gl.VIDEOS,"(").concat(o.key,")/$value"),{responseType:"blob",params:a}).subscribe((function(n){if(!n.isLoading){var i=URL.createObjectURL(n.content);e.blobUrl=e.safePipe.transform(i,E.ch.URL),t.next(e.blobUrl)}})):t.next(o.data.Url)}}},{key:"openCaptureDialog",value:function openCaptureDialog(e){var t=this,n=(0,d.M8)(),i={type:si,updatePropertiesOnChange:!0,properties:{src:null,look:"play-detached sf-centered-box sf-mb-3xl",createThumbFromFrameIdentifier:n},afterComponentInit:function(n){t.registerSubscription(e.subscribe((function(e){e&&(n.src=e)})))}},o=[new ki.pu(_e.USE_CURRENTLY_DISPLAYED_FRAME,(function(){var e=document.querySelector("sf-modal-window video.__sf-video-thumb-".concat(n));return e&&e.currentSrc?(t.thumbnailUrl=t.canvasService.renderElement(e,e.clientWidth,e.clientHeight),t.writeValue(t.thumbnailUrl),new ki.DQ(!0,!0)):new ki.DQ(null,!1,!0)})),new ki.Lw(_e.CANCEL,(function(){return t.downloadSubscription&&t.downloadSubscription.unsubscribe(),new ki.DQ(!1,!0)}))],a=new ki.np(i,null,o);a.heading={title:"Capture video frame"},this.modalWindowService.setMapping(a,"video_thumbnail"),this.modalWindowService.show("video_thumbnail",this.route.parent)}},{key:"handleFileUpload",value:function handleFileUpload(){var e=this,t=this.metadataStore.getEntity(u.gl.IMAGES).clone();this.filterValidImageTypes(t);var n=this.settings.dataItem,i={type:bc,properties:{multiple:!1,value:[],name:"this.settings.name",allowCreate:!0,mediaEntityData:{metadata:t,provider:n.provider,culture:n.culture},initialViewMode:null,createMedia:!0,getImageAfterUpload:!0,selectedLibrary:null}},o=new ki.np(i,(function(t){if(null==t?void 0:t.data){var n=t.data.data||t.data;e.thumbnailUrl=n.Url,e.writeValue(n.Id)}}),[],"-prompt");this.modalWindowService.setMapping(o,"video_thumbnail"),this.modalWindowService.show("video_thumbnail",this.route.parent)}},{key:"filterValidImageTypes",value:function filterValidImageTypes(e){bD.forEach((function(t){e.acceptableMediaTypes=e.acceptableMediaTypes.filter((function(e){return!e.includes(t)})),e.acceptableFileTypes=e.acceptableFileTypes.filter((function(e){return!e.includes(t)}))}))}}]),VideoThumbnailComponent}(Z.F);yD.ctorParameters=function(){return[{type:ki.bL},{type:m.gz},{type:pe.EY},{type:Ri.q},{type:Vs},{type:E.Dt},{type:zt.L}]};var ED={writeComponent:yD=(0,a.gn)([(0,l.wA2)({selector:"sf-video-thumbnail",template:gD}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz,pe.EY,Ri.q,Vs,E.Dt,zt.L])],yD),readComponent:yD,settingsType:zA.b},ID=n(708),wD=(0,o.Z)((function MediaReorderDropComponent(){(0,i.Z)(this,MediaReorderDropComponent)}));wD.propDecorators={dataItem:[{type:l.IIB}],icon:[{type:l.IIB}],styleTopPx:[{type:l.IIB}],styleLeftPx:[{type:l.IIB}],styleHeightPx:[{type:l.IIB}]},wD=(0,a.gn)([(0,l.wA2)({selector:"sf-media-reorder-drop",template:ID})],wD);var kD="Frontify media selector cannot be loaded. Contact your administrator.",xD=function(e){(0,f.Z)(FrontifyDamProvider,e);var t=(0,p.Z)(FrontifyDamProvider);function FrontifyDamProvider(e){var n;return(0,i.Z)(this,FrontifyDamProvider),(n=t.call(this,e)).zone=e,n.priority=0,n}return(0,o.Z)(FrontifyDamProvider,[{key:"isSupported",value:function isSupported(e){return"FrontifyBlobStorageProvider"===e}},{key:"loadMediaSelector",value:function loadMediaSelector(e,t,n){var i=this;this.areSettingsPropertiesValid()?this.loadDynamicScript(this.getPropertyValue("ScriptUrl")).subscribe((function(){"undefined"!=typeof FrontifyFinder?i.createFinder(t,n).then((function(t){try{t.onAssetsChosen((function(e){i.mediaSelected();var t=[];e?(e.forEach((function(e){var n=i.getDamAsset(e);t.push(n)})),i.assetsSelected(t)):i.error(mg)}))}catch(e){i.error(e.toString())}t.onCancel((function(){i.cancel()})),t.mount(e)})).catch((function(e){e&&e.name===TypeError.name?i.cancel():i.error(e)})):i.error(kD)}),(function(){i.error(kD)})):this.error(kD)}},{key:"createFinder",value:function createFinder(e,t){return(0,a.mG)(this,void 0,void 0,gi().mark((function _callee(){return gi().wrap((function _callee$(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,FrontifyFinder.create({clientId:this.getPropertyValue("ClientId"),domain:this.getPropertyValue("Url"),options:{permanentDownloadUrls:!0,allowMultiSelect:t,filters:[{key:"ext",values:e.metadata.acceptableFileTypes,inverted:0===e.metadata.acceptableFileTypes.length}]}});case 2:return n.abrupt("return",n.sent);case 3:case"end":return n.stop()}}),_callee,this)})))}},{key:"areSettingsPropertiesValid",value:function areSettingsPropertiesValid(){return!!this.settings&&(!!this.getPropertyValue("ClientId")&&(!!this.getPropertyValue("ScriptUrl")&&!!this.getPropertyValue("Url")))}},{key:"getDamAsset",value:function getDamAsset(e){var t={title:e.title,mimeType:null,extension:"".concat(E.WP.DOT).concat(e.filename.split(E.WP.DOT).pop()),width:Math.floor(e.width)||null,height:Math.floor(e.height)||null,size:Math.floor(e.size),url:e.previewUrl};if(e.type===CD.Video&&(t.extension="".concat(E.WP.DOT).concat(y.iK.MP4),-1===t.url.indexOf(g.h7.Format))){var n=-1===e.previewUrl.indexOf("?")?"?":"&";t.url+="".concat(n).concat(g.h7.Format,"=").concat(y.iK.MP4)}if(e.type!==CD.Video&&e.type!==CD.Image&&(t.url=e.downloadUrl),e.focalPoint&&e.focalPoint.length>0){var i=-1===t.url.indexOf("?")?"?":"&";t.url+="".concat(i).concat("sf_fr_fp","=").concat(e.focalPoint.join(","))}return t}}]),FrontifyDamProvider}(gg);xD.ctorParameters=function(){return[{type:l.R0b}]},xD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[l.R0b])],xD);var CD,SD={multi:!0,provide:Ag,useClass:xD};!function(e){e.File="File",e.Video="Video",e.Image="Image",e.Document="Document",e.Audio="Audio"}(CD||(CD={}));var BD=n(709),DD=n(710),TD=function(){function DamProviderService(e,t){(0,i.Z)(this,DamProviderService),this.damProviders=e,this.dynamicItemService=t}return(0,o.Z)(DamProviderService,[{key:"getDamProvider",value:function getDamProvider(){var e=this;return this.damProviders.length?this.dynamicItemService.executeUnboundFunction("Default.GetDamProviderSettings()").pipe((0,w.U)((function(t){if(t&&t.ProviderTypeName){var n=e.getProvider(t.ProviderTypeName);return n&&(n.settings=t),n}}))):(0,r.of)(null)}},{key:"getProvider",value:function getProvider(e){var t=this.damProviders.filter((function(t){return t.isSupported(e)})).sort((function(e,t){return t.priority-e.priority}));return t&&t.length?t[0]:null}}]),DamProviderService}();TD.ctorParameters=function(){return[{type:Array,decorators:[{type:l.tBr,args:[Ag]}]},{type:Ci.dg}]},TD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Array,Ci.dg])],TD);var MD=function(e){(0,f.Z)(DamFilePickerComponent,e);var t=(0,p.Z)(DamFilePickerComponent);function DamFilePickerComponent(e,n,o,a){var r;return(0,i.Z)(this,DamFilePickerComponent),(r=t.call(this)).document=e,r.mediaService=n,r.notificationService=o,r.damProviderService=a,r.notificationFilter=null,r.fallbackToSitefinityLibraries=!0,r.importAssetsOnSelect=!0,r.mediaImportComplete=new l.vpe,r.mediaSelectComplete=new l.vpe,r.cancelSelection=new l.vpe,r.loadingError=new l.vpe,r.selectExistingLibrary=new l.vpe,r}return(0,o.Z)(DamFilePickerComponent,[{key:"content",set:function set(e){e&&this.damWrapperElement.next(e)}},{key:"ngOnInit",value:function ngOnInit(){this.errorMessage=new he.X(null),this.damWrapperElement=new Ft.xQ,this.isLoading=!0,this.initializeDamProvider()}},{key:"onSelectExistingLibrary",value:function onSelectExistingLibrary(){this.selectExistingLibrary.emit()}},{key:"initializeDamProvider",value:function initializeDamProvider(){var e=this;this.registerSubscription(this.damProviderService.getDamProvider().subscribe((function(t){var n=!0;t&&(n=!1,e.isLoading=!1,e.registerSubscription(t.onMediaSelected.subscribe((function(){e.isLoading=!0}))),e.registerSubscription(t.onDone.subscribe((function(t){var n=e.mediaEntityData.metadata,i=n?e.filterAssets(t,n.acceptableFileTypes):t;if(n&&i.length!==t.length){var o=(0,d.TI)(n.acceptableFileTypes);e.notificationService.publishInfiniteError(o,e.notificationFilter)}i&&i.length?e.importAssets(i):e.cancelSelection.emit(),e.dispatchClickToRootDocument()}))),e.registerSubscription(t.onCancel.subscribe((function(){e.dispatchClickToRootDocument(),e.cancelSelection.emit()}))),e.registerSubscription(t.onError.subscribe((function(t){e.isLoading=!1,e.errorMessage.next(t)}))),e.registerSubscription((0,s.aj)([e.damWrapperElement,e.errorMessage]).subscribe((function(n){var i=(0,q.Z)(n,2),o=i[0];i[1]||t.loadMediaSelector(o.nativeElement,e.mediaEntityData,!!e.multiple)})))),n&&e.loadingError.emit()}),(function(){e.loadingError.emit()})))}},{key:"dispatchClickToRootDocument",value:function dispatchClickToRootDocument(){var e=new MouseEvent("click",{bubbles:!0,cancelable:!0});this.document.dispatchEvent(e)}},{key:"filterAssets",value:function filterAssets(e,t){return t&&t.length?e.filter((function(e){var n=(0,d.LG)(e.extension);return(0,d.aA)(n,t)})):e}},{key:"importAssets",value:function importAssets(e){var t=this;this.importAssetsOnSelect?this.mediaService.importDamAssets(this.mediaEntityData,e).subscribe((function(e){t.mediaImportComplete.emit(e)}),(function(e){e.message?t.errorMessage.next(e.message):t.errorMessage.next(e)}),(function(){t.isLoading=!1})):this.mediaSelectComplete.emit(e)}}]),DamFilePickerComponent}(E.zu);MD.ctorParameters=function(){return[{type:Document,decorators:[{type:l.tBr,args:[Se]}]},{type:qs},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:TD}]},MD.propDecorators={content:[{type:l.i9L,args:["damWrapper"]}],mediaEntityData:[{type:l.IIB}],multiple:[{type:l.IIB}],notificationFilter:[{type:l.IIB}],fallbackToSitefinityLibraries:[{type:l.IIB}],importAssetsOnSelect:[{type:l.IIB}],mediaImportComplete:[{type:l.r_U}],mediaSelectComplete:[{type:l.r_U}],cancelSelection:[{type:l.r_U}],loadingError:[{type:l.r_U}],selectExistingLibrary:[{type:l.r_U}]},MD=(0,a.gn)([(0,l.wA2)({template:BD,selector:"sf-dam-file-picker",encapsulation:l.ifc.None,styles:[DD]}),(0,a.w6)("design:paramtypes",[Document,qs,La,TD])],MD);var ND="Cloudinary media selector cannot be loaded. Contact your administrator.",FD=function(e){(0,f.Z)(CloudinaryDamProvider,e);var t=(0,p.Z)(CloudinaryDamProvider);function CloudinaryDamProvider(e,n){var o;return(0,i.Z)(this,CloudinaryDamProvider),(o=t.call(this,e)).zone=e,o.store=n,o.priority=0,o}return(0,o.Z)(CloudinaryDamProvider,[{key:"isSupported",value:function isSupported(e){return"CloudinaryBlobStorageProvider"===e}},{key:"loadMediaSelector",value:function loadMediaSelector(e,t,n){var i=this;this.areSettingsPropertiesValid()?this.loadDynamicScript(this.getPropertyValue("ScriptUrl")).subscribe((function(){if("undefined"!=typeof cloudinary){var o={cloud_name:i.getPropertyValue("CloudName"),api_key:i.getPropertyValue("ApiKey"),multiple:n,inline_container:".".concat(e.className.replace(/\s/g,".")),remove_header:!0,integration:{type:"progress_sitefinity_connector",platform:"Sitefinity ".concat(i.store.getValue().sitefinityVersion),version:"1.0",environment:null}},a=t.metadata;a.acceptableFileTypes&&a.acceptableFileTypes.length&&(o=Object.assign(o,{search:{expression:a.acceptableFileTypes.map((function(e){return"format=".concat(e)})).join(" OR ")}}));var r={insertHandler:i.insertHandler.bind(i),errorHandler:i.errorHandler.bind(i),hideHandler:i.hideHandler.bind(i)};try{cloudinary.createMediaLibrary(o,r).show(o)}catch(e){i.error(e)}}else i.error(ND)}),(function(){i.error(ND)})):this.error(ND)}},{key:"insertHandler",value:function insertHandler(e){var t=this;this.mediaSelected();var n=[];e.assets?(e.assets.forEach((function(e){var i=t.getDamAsset(e);n.push(i)})),this.assetsSelected(n)):this.error(mg)}},{key:"errorHandler",value:function errorHandler(e){e&&e.error_message&&"authentication_failed"!==e.error_group?this.error(e.error_message):this.error("".concat(e.error_message).concat(v.WP.INTERVAL).concat("Log out from Cloudinary and try to log in with another account."))}},{key:"hideHandler",value:function hideHandler(){this.cancel()}},{key:"areSettingsPropertiesValid",value:function areSettingsPropertiesValid(){return!!this.settings&&(!!this.getPropertyValue("CloudName")&&(!!this.getPropertyValue("ScriptUrl")&&!!this.getPropertyValue("ApiKey")))}},{key:"getDamAsset",value:function getDamAsset(e){var t=e.public_id.lastIndexOf("/"),n=e.public_id.substring(t+1);e.format=e.format||(0,d.LG)(n),n=(0,d.K3)(n);var i=e.secure_url;e.derived&&e.derived.length&&(i=e.derived[0].secure_url,e.format=(0,d.LG)(i)||e.format);var o=-1===i.indexOf("?")?"?":"&";return i+="".concat(o).concat("sf_cl_id","=").concat(e.public_id,"&").concat("sf_cl_version","=").concat(e.version),{title:n,mimeType:null,extension:"".concat(v.WP.DOT).concat(e.format),width:Math.floor(e.width)||null,height:Math.floor(e.height)||null,size:Math.floor(e.bytes),url:i}}}]),CloudinaryDamProvider}(gg);FD.ctorParameters=function(){return[{type:l.R0b},{type:pe.EY}]},FD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[l.R0b,pe.EY])],FD);var PD,RD={multi:!0,provide:Ag,useClass:FD},QD=PD=function(){function LibrariesModule(){(0,i.Z)(this,LibrariesModule)}return(0,o.Z)(LibrariesModule,null,[{key:"forRoot",value:function forRoot(){return{ngModule:PD,providers:[qs,Ks,sc]}}}]),LibrariesModule}();QD=PD=(0,a.gn)([(0,l.LVF)({declarations:[Nw,Uw,Gw,wD,$S,Dl,JS,XS,jS,jl,tc,Vw,bc,kw,ZS,Rw,qw,Yw,Ql,Ow,pD,aD,lS,fS,dS,RB,oB,tx,dB,rB,gB,yD,MD],imports:[Gy,cf],providers:[VB,_l,qs,sc,Ks,uc,Tw,hi,wl,cD,mc,tB,FB,wB,LB,WB,SB,fc,DB,uD,mD,MB,TB,zB,SD,RD],exports:[Ql,RB,oB,Vw,yD]})],QD);var UD=function(e){(0,f.Z)(ContentDeleteCommandExtender,e);var t=(0,p.Z)(ContentDeleteCommandExtender);function ContentDeleteCommandExtender(){return(0,i.Z)(this,ContentDeleteCommandExtender),t.apply(this,arguments)}return(0,o.Z)(ContentDeleteCommandExtender,[{key:"isSupportedType",value:function isSupportedType(e){var t=e.metadata.setName;return t!==u.gl.ALBUMS&&t!==u.gl.IMAGES&&t!==u.gl.FOLDERS}}]),ContentDeleteCommandExtender}(QB);UD=(0,a.gn)([(0,l.GSi)()],UD);var LD={multi:!0,provide:$v,useClass:UD},OD=function(e){(0,f.Z)(TaxaNotificationBuilder,e);var t=(0,p.Z)(TaxaNotificationBuilder);function TaxaNotificationBuilder(){var e;return(0,i.Z)(this,TaxaNotificationBuilder),(e=t.apply(this,arguments)).supportedTaskTypes=[Xl.TaxonMove,Xl.FlatTaxonMerge],e}return(0,o.Z)(TaxaNotificationBuilder,[{key:"isDefault",get:function get(){return!1}},{key:"isTaskSupported",value:function isTaskSupported(e){return this.supportedTaskTypes.indexOf(e)>-1}},{key:"filterTasksCallback",value:function filterTasksCallback(e,t){return e.ConcurrentTaskKey===t.ConcurrentTaskKey}},{key:"buildNotification",value:function buildNotification(e){if(!this.isTaskSupported(e.TaskName))return v.WP.EMPTY_STRING;var t=JSON.parse(e.TaskData),n=e.TaskName;switch(e.Description=this.buildDescription(n,t),ql[e.Status.toString()]){case ql.Failed:var i=JSON.parse(e.StatusMessage);return this.buildFailedNotification(n,t,i);case ql.Pending:case ql.Started:return this.buildPendingNotification(n,t);default:return this.buildDoneNotification(n,t)}}},{key:"buildButtons",value:function buildButtons(e){var t=[];return ql[e.Status.toString()]===ql.Failed&&e.IsManageable&&t.push({action:Jl.Delete,title:"Close"}),t}},{key:"getTaxonomyDisplayName",value:function getTaxonomyDisplayName(e,t){return 1===e?t.TaxonomySingularName:t.TaxonomyPluralName}},{key:"buildFailedNotification",value:function buildFailedNotification(e,t,n){var i=n.filter((function(e){return _D[e.TaxonStatusType.toString()]===_D.NotFoundError})),o=this.getTaxonomyDisplayName(i.length,t),a=i.some((function(e){return zD[e.TaxonType.toString()]===zD.Target})),r=a?"".concat(t.TaxonomySingularName," ").concat(t.TargetTaxon.Name.bold()," has been deleted."):v.WP.EMPTY_STRING,s=v.WP.EMPTY_STRING,l=v.WP.EMPTY_STRING;switch(e){case Xl.TaxonMove:s="Failed to move items",l=a?". ":" from ".concat(o.toLowerCase()," ").concat(this.formatTaxaNames(i.map((function(e){return e.Name}))),". ").concat(o," ").concat(1===i.length?"has":"have"," been deleted. Items from other ").concat(t.TaxonomyPluralName.toLowerCase()," were moved successfully.");break;case Xl.FlatTaxonMerge:s="Failed to merge",l=a?" ".concat(this.getTaxonomyDisplayName(t.SourceTaxa.length,t).toLowerCase()," ").concat(this.formatTaxaNames(t.SourceTaxa.map((function(e){return e.Name})))," to ").concat(t.TargetTaxon.Name.bold(),". "):" ".concat(o.toLowerCase()," ").concat(this.formatTaxaNames(i.map((function(e){return e.Name}))),". ").concat(o," ").concat(1===i.length?"has":"have"," been deleted. Other ").concat(t.TaxonomyPluralName.toLowerCase()," were merged successfully.")}return"".concat(s).concat(l).concat(r)}},{key:"buildPendingNotification",value:function buildPendingNotification(e,t){var n=this.getTaxonomyDisplayName(t.SourceTaxa.length,t),i="".concat(n," ").concat(this.formatTaxaNames(t.SourceTaxa.map((function(e){return e.Name})))," will be "),o=v.WP.EMPTY_STRING;switch(e){case Xl.TaxonMove:o="removed from the content items and a new ".concat(t.TaxonomySingularName.toLowerCase()," ").concat(t.TargetTaxon.Name.bold()," will be assigned.");break;case Xl.FlatTaxonMerge:o="merged to ".concat(t.TaxonomySingularName.toLowerCase()," ").concat(t.TargetTaxon.Name.bold(),".")}return"".concat(i).concat(o," This operation may take few minutes.")}},{key:"buildDoneNotification",value:function buildDoneNotification(e,t){var n=this.getTaxonomyDisplayName(t.SourceTaxa.length,t),i="".concat(n," ").concat(this.formatTaxaNames(t.SourceTaxa.map((function(e){return e.Name})))," ").concat(1===t.SourceTaxa.length?"was":"were"," "),o=v.WP.EMPTY_STRING;switch(e){case Xl.TaxonMove:o="removed from the content items and a new ".concat(t.TaxonomySingularName.toLowerCase()," ").concat(t.TargetTaxon.Name.bold()," was assigned.");break;case Xl.FlatTaxonMerge:o="merged to ".concat(t.TaxonomySingularName.toLowerCase()," ").concat(t.TargetTaxon.Name.bold(),".")}return"".concat(i).concat(o)}},{key:"formatTaxaNames",value:function formatTaxaNames(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:", ";switch(e.length){case 0:return v.WP.EMPTY_STRING;case 1:return e[0].bold();default:var n=e.splice(-1)[0].bold(),i=e.map((function(e){return e.bold()})).join(t);return"".concat(i," and ").concat(n)}}},{key:"buildDescription",value:function buildDescription(e,t){var n=t.SourceTaxa.length,i=this.getTaxonomyDisplayName(n,t).toLowerCase(),o=v.WP.EMPTY_STRING;switch(e){case Xl.TaxonMove:o="Moving items from";break;case Xl.FlatTaxonMerge:o="Merging";break;default:return v.WP.EMPTY_STRING}return"".concat(o," ").concat(n," ").concat(i," to ").concat(t.TargetTaxon.Name)}}]),TaxaNotificationBuilder}(Ry);OD=(0,a.gn)([(0,l.GSi)()],OD);var zD,_D,VD={multi:!0,provide:Py,useClass:OD};!function(e){e[e.Source=0]="Source",e[e.Target=1]="Target"}(zD||(zD={})),function(e){e[e.Ok=0]="Ok",e[e.NotStarted=1]="NotStarted",e[e.NotFoundError=2]="NotFoundError",e[e.PropertyNotFoundError=3]="PropertyNotFoundError",e[e.UnknownError=4]="UnknownError"}(_D||(_D={}));var GD=function(e){(0,f.Z)(ImagesTaskNotificationBuilder,e);var t=(0,p.Z)(ImagesTaskNotificationBuilder);function ImagesTaskNotificationBuilder(){var e;return(0,i.Z)(this,ImagesTaskNotificationBuilder),(e=t.apply(this,arguments)).supportedTaskTypes=[Xl.RegenerateThumbnails,Xl.MoveLibrary,Xl.MoveLibraryAlternative,Xl.StorageRelocation,Xl.StorageRelocationAlternative,Xl.DamMigrationTask],e.skippedFilterProperties=["ConcurrentTaskKey",zy.CURRENT_SITE_ID],e}return(0,o.Z)(ImagesTaskNotificationBuilder,[{key:"isDefault",get:function get(){return!1}},{key:"isTaskSupported",value:function isTaskSupported(e){return this.supportedTaskTypes.indexOf(e)>-1}},{key:"processTask",value:function processTask(e){if(e.TaskName===Xl.RegenerateThumbnails){var t=e.Title?e.Title.replace("Regenerate thumbnails for library :","Regenerating thumbnails for"):e.Description;e.Description=t}else if(e.TaskName===Xl.MoveLibraryAlternative){var n=ic.parse(e);n.itemIds&&n.itemIds.length>1&&(e.Description=e.Description.replace(/Moving library .*?<\/em> to/,"Moving ".concat(n.itemIds.length," libraries to"))),n.libraryTitle&&(e.Description=e.Description.replace("",n.libraryTitle)),e.Description=e.Description.replace("Moving library","Moving").replace(/()|(<\/em>)/gi,""),n.libraryId===v.WP.DEFAULT_GUID&&(e.Description=e.Description.replace(/to Root$/,"on top level"))}else if(e.TaskName===Xl.StorageRelocationAlternative){var i=ic.parse(e);"RelocateLibrary"===e.Title?e.Description="Generating new URLs for ".concat(i.libraryTitle):e.Description="Moving ".concat(i.libraryTitle," to another storage")}(0,Re.Z)((0,Qe.Z)(ImagesTaskNotificationBuilder.prototype),"processTask",this).call(this,e)}},{key:"filterTasksCallback",value:function filterTasksCallback(e,t){if(!t)return!0;var n=this.parseTaskData(e);if("string"==typeof n)return!0;var i=!0;for(var o in t)if(t.hasOwnProperty(o)){var a=t[o];if(void 0!==a&&!this.skippedFilterProperties.includes(o)&&n[o]!==a){i=!1;break}}return i}},{key:"parseTaskData",value:function parseTaskData(e){return ic.parse(e)}},{key:"buildButtons",value:function buildButtons(e){var t=ql[e.Status.toString()];if(e.TaskName===Xl.RegenerateThumbnails&&!e.IsManageable)return[];if(e.TaskData===Xl.MoveLibraryAlternative){if(parseInt(e.ProgressStatus)<100&&t===ql.Started)return[{action:Jl.Stop,title:"Stop"}];if(t===ql.Failed)return[{action:Jl.Delete,title:"Cancel"}]}else if(e.TaskName===Xl.StorageRelocationAlternative&&t!==ql.Failed){if("RelocateLibrary"===e.Title)return[]}else if(e.TaskName===Xl.DamMigrationTask&&t===ql.Failed)return[{action:Jl.Restart,title:"Retry"}];return(0,Re.Z)((0,Qe.Z)(ImagesTaskNotificationBuilder.prototype),"buildButtons",this).call(this,e)}},{key:"buildNotification",value:function buildNotification(e){return ql[e.Status.toString()]===ql.Failed?e.StatusMessage:null}}]),ImagesTaskNotificationBuilder}(Ry),HD={multi:!0,provide:Py,useClass:GD},ZD=function(e){(0,f.Z)(ContentBulkCommandExtender,e);var t=(0,p.Z)(ContentBulkCommandExtender);function ContentBulkCommandExtender(e,n,o,a,r,s){var l;return(0,i.Z)(this,ContentBulkCommandExtender),(l=t.call(this)).metadataStore=e,l.dynamicItemStore=n,l.modalWindowService=o,l.notificationService=a,l.sortService=r,l.childrenCountStore=s,l}return(0,o.Z)(ContentBulkCommandExtender,[{key:"isSupportedType",value:function isSupportedType(e){var t=e.metadata.setName;return t!==u.gl.ALBUMS&&t!==u.gl.IMAGES&&t!==u.gl.FOLDERS}},{key:"tryHandleCommand",value:function tryHandleCommand(e,t){return e.name===$.q.move?new cx(this.modalWindowService,this.dynamicItemStore.service,this.notificationService,this.metadataStore.getValue(),this.sortService,this.childrenCountStore):(0,Re.Z)((0,Qe.Z)(ContentBulkCommandExtender.prototype),"tryHandleCommand",this).call(this,e,t)}}]),ContentBulkCommandExtender}(OE);ZD.ctorParameters=function(){return[{type:pe.EY},{type:ga},{type:ki.bL},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:Aa},{type:sa}]},ZD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[pe.EY,ga,ki.bL,La,Aa,sa])],ZD);var YD={multi:!0,provide:fb,useClass:ZD},jD=function(){function TaxonomyQueryParamsExtender(e){(0,i.Z)(this,TaxonomyQueryParamsExtender),this.route=e}return(0,o.Z)(TaxonomyQueryParamsExtender,[{key:"getAdditionalQueryParams",value:function getAdditionalQueryParams(){var e={};return this.route.snapshot.queryParams[g.V5.FILTER]!==g.hh.NOT_USED&&"true"!==this.route.snapshot.queryParams[g.Tx.IGNORE_SITE_CONTEXT]||(e[g.Tx.IGNORE_SITE_CONTEXT]="true"),e}}]),TaxonomyQueryParamsExtender}();jD.ctorParameters=function(){return[{type:m.gz}]},jD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.gz])],jD);var WD={multi:!0,provide:Ur.R5,useClass:jD},JD=n(179),qD="backLabelText",XD="backLabelLink",KD=function(){function ExternalOperationsProvider(e,t){(0,i.Z)(this,ExternalOperationsProvider),this.service=e,this.urlService=t,this.htmlEscapePipe=new E.JP}return(0,o.Z)(ExternalOperationsProvider,[{key:"getCategories",value:function getCategories(e){return(0,r.of)([])}},{key:"getCommands",value:function getCommands(e){return(0,r.of)([])}},{key:"getOperations",value:function getOperations(e){var t,n,i=this;return!e.contextData.disregardCache&&this.previousOperationsCallCache&&this.previousOperationsCallCache.equals(e)?n=this.previousOperationsCallCache.operations:(n=new re.t(1),this.previousOperationsCallCache=new eT(e,n),this.service.getItemsOperations(e.dataItem,e.dataItem.key,null===(t=e.parentItem)||void 0===t?void 0:t.key,e.additionalQueryParams).subscribe((function(e){n.next(e),n.complete()}),(function(e){n.error(e),n.complete()}))),n.pipe((0,w.U)((function(t){var n=(0,d.kI)(t);return i.modifyCreateOperation(n,e),i.modifyEditOperation(n,e),i.addBulkPublishUnpublishOperations(n,e),i.modifySettingsOperations(n,e),n})))}},{key:"modifyCreateOperation",value:function modifyCreateOperation(e,t){if(t.target===z.List){var n=e.find((function(e){return e.Name===$.q.create}));n&&(n.Title=this.buildCreateOperationTitle(fe.getOperationSingularName(t.dataItem.metadata,n.ContextParameters)))}}},{key:"buildCreateOperationTitle",value:function buildCreateOperationTitle(e){var t,n=e.toLowerCase(),i=(0,d.Ao)(n);return t=i&&i.length?"".concat(i," ").concat(n):n,"Create ".concat(t)}},{key:"modifyEditOperation",value:function modifyEditOperation(e,t){if(t.target===z.List){var n=e.find((function(e){return e.Name===$.q.view}));n||(n=e.find((function(e){return e.Name===$.q.edit})));var i=e.findIndex((function(e){return e.Name===$.q.editContent}));!n||t.dataItem.metadata.hasLifecycle&&-1===i||(n.Title=$.Oi.titleAndProperties)}else if(t.target===z.Edit){var o=e.find((function(e){return e.Name===$.q.edit}));if(o){var a=$.Oi.titleAndProperties;t.dataItem.metadata.hasLifecycle&&!t.dataItem.metadata.hasContent||(a=$.Oi.saveChanges),o.Title=a}}}},{key:"addBulkPublishUnpublishOperations",value:function addBulkPublishUnpublishOperations(e,t){if(t.target===z.Bulk&&t.dataItem.metadata.hasLifecycle){if(!e.some((function(e){return e.Name===$.q.publish}))){var n={Name:$.q.publish,Category:{Name:$.si.workflow},Ordinal:-1,Title:$.q.publish,Link:null,Description:null,Parameters:[{}],RequiresConfirmation:!1};e.unshift(n)}var i={Name:$.q.unpublish,Category:{Name:$.si.workflow},Ordinal:1,Title:$.q.unpublish,Link:null,Description:null,Parameters:[{}],RequiresConfirmation:!1};e.push(i)}return e}},{key:"modifySettingsOperations",value:function modifySettingsOperations(e,t){var n=this,i=t.dataItem,o=t.dataItem.metadata.displayName.toLowerCase(),a=t.target,r=e.find((function(e){return e.Name===$.q.permissions}));if(r){t.target!==z.List||i||(r.Title="Permissions for ".concat(o));var s={};i.title&&(s.title=encodeURIComponent(this.htmlEscapePipe.transform(i.title))),this.setOperationLink(r,i,a,t.contextData.origin,s)}var l=e.find((function(e){return e.Name===$.q.revisionHistory}));if(l){var c=this.getEditUrl(t),d={title:encodeURIComponent(this.htmlEscapePipe.transform(i.title)),culture:i.culture,revertUrl:c};this.setOperationLink(l,i,a,t.contextData.origin,d)}var u=e.find((function(e){return e.Name===$.q.customFields}));this.setOperationLink(u,i,a,t.contextData.origin);var f=e.find((function(e){return e.Name===$.q.sendForTranslation}));this.setOperationLink(f,i,a,t.contextData.origin),e.filter((function(e){return e.ContextParameters&&e.ContextParameters.find((function(e){return"Count"===e.Name}))})).forEach((function(e){var t=new wn.y((function(t){return n.service.executeBoundFunction(i,"".concat(e.Name.toLowerCase(),"count")).subscribe((function(e){t.next(e.value),t.complete()}))})).pipe((0,kn.P)(),(0,JD.d)());e.context={count:t}}))}},{key:"getEditUrl",value:function getEditUrl(e){var t=null;return e.dataItem.metadata.setName===u.gl.PAGES?t="NetCore"===e.dataItem.data.Renderer?"".concat(So.ROOT_PREFIX,"/").concat(e.dataItem.metadata.setName,"/").concat(xo,"/").concat(e.dataItem.data.Id,"?").concat(g.Tx.PROVIDER,"=").concat(e.dataItem.provider,"&").concat(g.Tx.CULTURE,"=").concat(e.dataItem.culture):"".concat(So.ROOT_PREFIX,"/").concat(e.dataItem.metadata.setName).concat(e.dataItem.data.EditUrl,"/").concat(e.dataItem.culture):e.dataItem.metadata.setName===u.gl.TEMPLATES?t="".concat(So.ROOT_PREFIX,"/").concat(e.dataItem.metadata.setName,"/").concat(mo,"/").concat(e.dataItem.data.Id,"/").concat(e.dataItem.culture):(t=e.dataItem.metadata.hasParent?"".concat(e.dataItem.metadata.parent,"/").concat(e.dataItem.parentKey,"/").concat(e.dataItem.metadata.setName,"/").concat(e.dataItem.key,"/").concat(g.UY.EDIT_SEGMENT):"".concat(e.dataItem.metadata.setName,"/").concat(e.dataItem.key,"/").concat(g.UY.EDIT_SEGMENT),t="".concat(So.CONTENT,"/").concat(t,"?").concat(g.Tx.PROVIDER,"=").concat(e.dataItem.provider,"&").concat(g.Tx.CULTURE,"=").concat(e.dataItem.culture)),encodeURIComponent(this.urlService.getAbsoluteUrl(t))}},{key:"setOperationLink",value:function setOperationLink(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;if(e){var a=fe.getOperationPluralName(t.metadata,e.ContextParameters),r=encodeURIComponent(i),s={};if(!e.Link.includes(qD))if(n===z.Edit){var l=fe.getOperationSingularName(t.metadata,e.ContextParameters).toLowerCase(),c=t.culture.toUpperCase(),u=(0,d.Ao)(l);s[qD]="Back to Edit ".concat(u," ").concat(l," (").concat(c,")")}else s[qD]="Back to ".concat((0,d.fm)(a));s[XD]=r,null!=s&&(s=Object.assign(s,o)),e.Link=Pv.mergeUrlQueryParams(e.Link,s)}}}]),ExternalOperationsProvider}();KD.ctorParameters=function(){return[{type:Ci.dg},{type:Ot}]},KD=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Ci.dg,Ot])],KD);var $D={multi:!0,provide:ue,useClass:KD},eT=function(){function OperationsCache(e,t){(0,i.Z)(this,OperationsCache),this.key=e,this.operations=t}return(0,o.Z)(OperationsCache,[{key:"equals",value:function equals(e){return JSON.stringify(this.key.dataItem)===JSON.stringify(e.dataItem)&&JSON.stringify(this.key.parentItem)===JSON.stringify(e.parentItem)&&JSON.stringify(this.key.additionalQueryParams)===JSON.stringify(e.additionalQueryParams)}}]),OperationsCache}(),tT=function(){function ContentItemOperationsFilter(){(0,i.Z)(this,ContentItemOperationsFilter),this.allowedBulkOperations=[$.q.assignTaxons,$.q.sendForTranslation,$.q.siteSync,$.q.delete]}return(0,o.Z)(ContentItemOperationsFilter,[{key:"filter",value:function filter(e,t){return t.dataItem.metadata.setName===u.gl.CONTENT_ITEMS&&(e=this.filterForList(e,t),e=this.filterForCreate(e,t),e=this.filterForBulk(e,t)),e}},{key:"filterForCreate",value:function filterForCreate(e,t){if(t.target===z.Create){var n=(e=e.filter((function(e){return e.Name!==$.q.create}))).find((function(e){return e.Name===$.q.publish}));n&&(n.Title=$.Oi.create)}return e}},{key:"filterForList",value:function filterForList(e,t){return t.target===z.List&&(e=e.filter((function(e){return e.Name!==$.q.publish}))),e}},{key:"filterForBulk",value:function filterForBulk(e,t){var n=this;return t.target===z.Bulk&&(e=e.filter((function(e){return n.allowedBulkOperations.indexOf(e.Name)>-1}))),e}}]),ContentItemOperationsFilter}();tT=(0,a.gn)([(0,l.GSi)()],tT);var nT={multi:!0,provide:te,useClass:tT},iT=function(){function NavigateToMenuSectionCommand(e,t){(0,i.Z)(this,NavigateToMenuSectionCommand),this.router=e,this.envService=t}return(0,o.Z)(NavigateToMenuSectionCommand,[{key:"execute",value:function execute(e){if(this.envService.getEnvironment()!==_t.H.integration){var t=this.router.navigate(e.data.route);return(0,In.D)(t)}var n="/".concat(e.data.route),i=this.getNavigationLinkElement(n);return i&&i._click(new MouseEvent("click")),(0,r.of)(!!i)}},{key:"getNavigationLinkElement",value:function getNavigationLinkElement(e){return document.getElementById("MainMenu").control.get_allItems().find((function(t){return t.get_attributes().getAttribute(g.jp)===e}))}}]),NavigateToMenuSectionCommand}();iT.ctorParameters=function(){return[{type:m.F0},{type:zt.L}]},iT=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,zt.L])],iT);var oT=[$.q.publish,$.q.schedule,$.q.unpublish,$.q.siteSync],aT=function(){function BaseOperationsFilter(){(0,i.Z)(this,BaseOperationsFilter)}return(0,o.Z)(BaseOperationsFilter,[{key:"filter",value:function filter(e,t){return t.target===z.List?(e=this.filterWorkflowOperations(e),e=this.filterPreviewOperation(e),e=this.filterPublishOperaionForAlreadyPublishedItem(e,t),e=this.filterAnalyticsOperation(e)):t.target===z.Bulk?(e=this.filterBulkOperations(e,t),e=this.placeBulkEditOperationFirst(e)):t.target===z.Edit?(e=this.filterUnlockOperation(e),e=this.filterEditContentOperation(e),e=this.filterStopScheduleOperations(e,t),e=this.filterReorderOperation(e)):(e=this.filterStopScheduleOperations(e,t),e=this.filterReorderOperation(e)),this.filterOperations(e,t)}},{key:"filterAnalyticsOperation",value:function filterAnalyticsOperation(e){return e.filter((function(e){return e.Name!==$.q.analytics}))}},{key:"filterWorkflowOperations",value:function filterWorkflowOperations(e){return e.filter((function(e){return e.Category.Name!==$.si.workflow||oT.indexOf(e.Name)>-1}))}},{key:"filterPreviewOperation",value:function filterPreviewOperation(e){return e.filter((function(e){return e.Name!==$.q.preview}))}},{key:"filterPublishOperaionForAlreadyPublishedItem",value:function filterPublishOperaionForAlreadyPublishedItem(e,t){return t.dataItem.data&&t.dataItem.data.DisplayStatus&&t.dataItem.data.DisplayStatus.length>0&&t.dataItem.data.DisplayStatus[0].Name===Vn?e.filter((function(e){return e.Name!==$.q.publish})):e}},{key:"filterUnlockOperation",value:function filterUnlockOperation(e){return e.some((function(e){return e.Name===$.q.edit||e.Name===$.q.editContent||null!=e.ParentOperation&&e.ParentOperation.Name===$.q.edit}))?e.filter((function(e){return e.Name!==$.q.unlock})):e}},{key:"filterEditContentOperation",value:function filterEditContentOperation(e){return e.filter((function(e){return e.Name!==$.q.editContent}))}},{key:"filterStopScheduleOperations",value:function filterStopScheduleOperations(e,t){return t.dataItem.metadata.isSelfReferencing?e:e.filter((function(e){return e.Name!==$.q.stopSchedule&&e.Name!==$.q.stopScheduleUnpublish}))}},{key:"filterReorderOperation",value:function filterReorderOperation(e){return e.filter((function(e){return e.Name!==$.q.reorder}))}},{key:"filterBulkOperations",value:function filterBulkOperations(e,t){if(t.dataItem.metadata.typeFullName===u.hn)return[];var n=[$.q.publish,$.q.unpublish,$.q.sendForTranslation,$.q.schedule,$.q.delete,$.q.template,$.q.changeOwner,$.q.moveTaxon,$.q.mergeTaxon,$.q.bulkEditProperties,$.q.move,$.q.assignTaxons,$.q.siteSync];return e=e.filter((function(e){return n.indexOf(e.Name)>-1}))}},{key:"placeBulkEditOperationFirst",value:function placeBulkEditOperationFirst(e){var t=e.find((function(e){return e.Name===$.q.bulkEditProperties}));return t&&(e=e.filter((function(e){return e.Name!==$.q.bulkEditProperties}))).unshift(t),e}},{key:"filterOperations",value:function filterOperations(e,t){var n=[$.q.permissions,$.q.sendForTranslation,$.q.sharePreviewLink,$.q.createChild,$.q.mobilePreview,$.q.createChildCategory,$.q.createMedia,$.q.moveTaxon,$.q.move,$.q.reorder,$.q.template,$.q.shareWith,$.q.siteSync],i=t.dataItem.isEmpty?null:t.dataItem.data[h.E.AvailableLanguages];i&&-1===i.indexOf(t.dataItem.culture)||n.push($.q.duplicate);var o=function isOperationToRemove(e){return e.Category.Name===$.si.settings&&-1===n.indexOf(e.Name)};if(t.target===z.List&&!t.dataItem.isEmpty)return e.filter((function(e){return!o(e)})).filter((function(e){return e.Name!==$.q.unlock})).filter((function(e){return e.Category.Name!==$.si.contentLocations}));if(t.target===z.Edit||t.target===z.Create){var a=e.filter((function(e){return!o(e)})).filter((function(e){return e.Name!==$.q.view&&e.Name!==$.q.changeOwner&&e.Name!==$.q.move}));return t.dataItem.isEmpty&&(a=a.filter((function(e){return-1===n.indexOf(e.Name)}))),t.target===z.Create&&(a=a.filter((function(e){return e.Name!==$.q.delete&&e.Name!==$.q.duplicate&&e.Name!==$.q.bulkEditProperties}))),a}return e}}]),BaseOperationsFilter}();aT=(0,a.gn)([(0,l.GSi)()],aT);var rT={multi:!0,provide:te,useClass:aT},sT=(0,o.Z)((function DynamicModulesModule(){(0,i.Z)(this,DynamicModulesModule)}));sT=(0,a.gn)([(0,l.LVF)({declarations:[$c,hx,px,Sm,Ga,bA,gl,OA,Kk,ox,FA,CS,PC,sx,CS,BS,kS,tS,XC,LC,Jk,Yk,Za,Ya,I,ao,cy,VA,Pk,Mo,iS,rS],imports:[cf,Gy,IS,qu,QD],providers:[Tr,yl,Ax,Zx,jr,Yx,mx,na,ga,aS,Ci.dg,Ki,$s,eo,ae._U,TC,No,sa,O,Yr,$k,ES,gS,NS,ik,Lr,Vr,PA,Fk,TS,LS,iT,fe,$D,PS,LD,YD,HS,zS,TE,WD,US,kE,cd,Rf,{provide:Ht,useClass:Pf,multi:!0},{provide:Ht,useClass:Uf,multi:!0},{provide:Ht,useClass:Ff,multi:!0},{provide:Ht,useClass:Yt,multi:!0},jt,jy,rT,VS,nT,Qy,VD,HD]})],sT);var lT=n(711),cT=n(712),dT=n(713),uT=n(714),fT=n(718),pT=n(719),AT=(0,o.Z)((function InsightLostConnectionComponent(){(0,i.Z)(this,InsightLostConnectionComponent)}));AT.ctorParameters=function(){return[]},AT=(0,a.gn)([(0,l.wA2)({template:fT,styles:[pT]}),(0,a.w6)("design:paramtypes",[])],AT);var mT=function(){function SitefinityBaseUrl(){(0,i.Z)(this,SitefinityBaseUrl)}return(0,o.Z)(SitefinityBaseUrl,null,[{key:"getUrl",value:function getUrl(){return localStorage.getItem(Cf.t.SERVICE_URL)}},{key:"getHTTPPrefix",value:function getHTTPPrefix(){return bf||""}}]),SitefinityBaseUrl}(),gT=function(){function InsightCellComponent(e,t,n,o){var a=this;(0,i.Z)(this,InsightCellComponent),this.decServerService=e,this.connectorService=t,this.modalWindowService=n,this.route=o,this.loadingData=!0,this.connectorService.getConnectorDetails().subscribe((function(e){a.insightSetupInSitefinityUrl="".concat(mT.getUrl()).concat(e.DecAdminBackendPageUrl)}),(function(e){a.insightSetupInSitefinityUrl="".concat(mT.getUrl()).concat(Em.H4)}))}return(0,o.Z)(InsightCellComponent,[{key:"setCloseModalCallback",value:function setCloseModalCallback(){}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.contentItemInfo=new ym(this.context.dataItem),this.loadingData=!0,this.decServerService.getTouchpointByContent(this.contentItemInfo).pipe((0,Kn.x)((function(){return e.loadingData=!1}))).subscribe((function(t){e.touchpoint=t}),(function(t){e.httpError=t}))}},{key:"onClick",value:function onClick(){var e=new ki.np({type:null,properties:{externalTouchpointLoad$:(0,r.of)(this.touchpoint),contentItemInfo:this.contentItemInfo,notifyGridCellForNewTouchpointFunc:this.onTouchpointCreated.bind(this)}});this.modalWindowService.setMapping(e,Em.E6.routeKey),this.modalWindowService.show(Em.E6.routeKey,this.route.parent)}},{key:"onErrorClick",value:function onErrorClick(){var e=new ki.np({type:AT,properties:{insightSetupInSitefinityUrl:this.insightSetupInSitefinityUrl}});this.modalWindowService.setMapping(e,"custom"),this.modalWindowService.show("custom",this.route.parent)}},{key:"onTouchpointCreated",value:function onTouchpointCreated(e){this.touchpoint=e}}]),InsightCellComponent}();gT.ctorParameters=function(){return[{type:uT.B},{type:lT.v},{type:ki.bL},{type:m.gz}]},gT=(0,a.gn)([(0,l.wA2)({template:dT,selector:"sf-insight-cell"}),(0,a.w6)("design:paramtypes",[uT.B,lT.v,ki.bL,m.gz])],gT);var hT=function(){function ExtensionPointUtilsService(){(0,i.Z)(this,ExtensionPointUtilsService)}return(0,o.Z)(ExtensionPointUtilsService,[{key:"shouldExtendMenu",value:function shouldExtendMenu(e){if(!e)return!1;return!(-1===["Telerik.Sitefinity.News.Model.NewsItem","Telerik.Sitefinity.Blogs.Model.BlogPost","Telerik.Sitefinity.Lists.Model.ListItem","Telerik.Sitefinity.Libraries.Model.Video"].indexOf(e))||!!this._isDynamicModule(e)}},{key:"shouldExtendGrid",value:function shouldExtendGrid(e){if(!e)return!1;return!(-1===["Telerik.Sitefinity.News.Model.NewsItem","Telerik.Sitefinity.Blogs.Model.Blog","Telerik.Sitefinity.Blogs.Model.BlogPost","Telerik.Sitefinity.Lists.Model.List","Telerik.Sitefinity.Lists.Model.ListItem","Telerik.Sitefinity.Libraries.Model.VideoLibrary","Telerik.Sitefinity.Libraries.Model.Video"].indexOf(e))||!!this._isDynamicModule(e)}},{key:"_isDynamicModule",value:function _isDynamicModule(e){return e.startsWith("Telerik.Sitefinity.DynamicTypes")}}]),ExtensionPointUtilsService}();hT=(0,a.gn)([(0,l.GSi)()],hT);var vT=function(){function InsightsColumnProvider(e,t){(0,i.Z)(this,InsightsColumnProvider),this.sitefinityInsightConnectorService=e,this.extensionPointUtils=t}return(0,o.Z)(InsightsColumnProvider,[{key:"getColumns",value:function getColumns(e){return!1===this.extensionPointUtils.shouldExtendGrid(e.metadata.typeFullName)?(0,r.of)([]):this.sitefinityInsightConnectorService.isSitefinityInsightEnabled().pipe((0,w.U)((function(e){return!1===e?[]:[{name:S,title:S,css:"-col-size-2xs",componentData:{type:gT}}]})),(0,Zi.K)((function(e){return(0,r.of)([])})))}},{key:"getColumnsToRemove",value:function getColumnsToRemove(e){return(0,r.of)([])}}]),InsightsColumnProvider}();vT.ctorParameters=function(){return[{type:lT.v},{type:hT}]};var bT={useClass:vT=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[lT.v,hT])],vT),multi:!0,provide:k},yT=function(){function InsightsCommandProvider(e,t){(0,i.Z)(this,InsightsCommandProvider),this.sitefinityInsightConnectorService=e,this.extensionPointUtils=t}return(0,o.Z)(InsightsCommandProvider,[{key:"getCommands",value:function getCommands(e){return e.target!==z.Edit||null==e.dataItem||!1===this.extensionPointUtils.shouldExtendMenu(e.dataItem.metadata.typeFullName)?(0,r.of)([]):this.sitefinityInsightConnectorService.isSitefinityInsightEnabled().pipe((0,oa.zg)((function(e){return e?(0,r.of)([{name:$.q.insightViewsAndAttribution,title:"Views and Attribution",category:"Lifecycle",ordinal:2147483647}]):(0,r.of)([])})),(0,Zi.K)((function(e){return(0,r.of)([])})))}},{key:"getCategories",value:function getCategories(e){return(0,r.of)([])}},{key:"getOperations",value:function getOperations(e){return(0,r.of)([])}}]),InsightsCommandProvider}();yT.ctorParameters=function(){return[{type:lT.v},{type:hT}]};var ET={useClass:yT=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[lT.v,hT])],yT),multi:!0,provide:ue},IT=n(715),wT=n(716),kT=(0,o.Z)((function InsightConnectivityModule(){(0,i.Z)(this,InsightConnectivityModule)}));kT=(0,a.gn)([(0,l.LVF)({imports:[Ut.ez,E.pw],declarations:[gT,AT],providers:[lT.v,Im,cT.h,hT,uT.B,IT.i,wT.s,ET,bT]})],kT);var xT="rmSelected",CT=function(){function ContentModule(e,t,n){(0,i.Z)(this,ContentModule),this.router=e,this.windowProvider=t,this.envService=n,this.enabled=null,this.attachHandlers()}return(0,o.Z)(ContentModule,[{key:"attachHandlers",value:function attachHandlers(){if(this.envService.getEnvironment()===_t.H.integration){var e=this.onClick.bind(this);this.windowProvider.addEventListener("menu-item-click",e);var t=this.onEnabled.bind(this);this.windowProvider.addEventListener("integrated-mode-enabled",t)}}},{key:"onEnabled",value:function onEnabled(e){this.enabled=e.detail.enabled}},{key:"onClick",value:function onClick(e){if(!1!==this.enabled){this.subscribedToOpen||(this.subscribedToOpen=!0,e.detail.sender.add_itemOpening((function(e,t){var n;"focus"===(null===(n=t.get_domEvent())||void 0===n?void 0:n.type)&&t.set_cancel(!0)})));var t=e.detail.eventArgs,n=t.get_item().get_attributes().getAttribute(g.jp);if(n){var i=e.detail.sender.get_selectedItem();t.set_cancel(!0),e.detail.sender.close(!0),this.removeSelectedClassFromNode(i),this.setSelectedClassToNode(t.get_item());var o={},a=n.indexOf("?");if(-1!==a)n.substring(a+1).split("&").forEach((function(e){var t=e.split("="),n=(0,q.Z)(t,2),i=n[0],a=n[1];o[i]=a})),n=n.substring(0,a);this.router.navigate([n],{queryParams:o})}}}},{key:"setSelectedClassToNode",value:function setSelectedClassToNode(e){for(e.set_selected(!0),e.set_cssClass(e.get_cssClass()+" ".concat(xT)),e=e.get_parent();void 0===e.get_selectedItem;)e.set_cssClass(e.get_cssClass()+" ".concat(xT)),e=e.get_parent()}},{key:"removeSelectedClassFromNode",value:function removeSelectedClassFromNode(e){if(e)for(e.set_selected(!1),e.set_cssClass(e.get_cssClass().replace(xT,v.WP.EMPTY_STRING)),e=e.get_parent();void 0===e.get_selectedItem;)e.set_cssClass(e.get_cssClass().replace(xT,v.WP.EMPTY_STRING)),e=e.get_parent()}}]),ContentModule}();CT.ctorParameters=function(){return[{type:m.F0},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:zt.L}]},CT=(0,a.gn)([(0,l.LVF)({declarations:[bx],providers:[BE,Qx,Qo],imports:[Gy,sT,kT]}),(0,a.w6)("design:paramtypes",[m.F0,Window,zt.L])],CT);var ST=n(720),BT=function(){function HtmlReadModeComponent(){(0,i.Z)(this,HtmlReadModeComponent)}return(0,o.Z)(HtmlReadModeComponent,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.host.nativeElement.innerHTML=this.value}}]),HtmlReadModeComponent}();BT.propDecorators={host:[{type:l.i9L,args:["host",{static:!0}]}]},BT=(0,a.gn)([(0,l.wA2)({selector:"sf-html-read-mode",template:ST})],BT);var DT=n(721),TT=n(722),MT=function(){function SelectorBase(e){(0,i.Z)(this,SelectorBase),this.logger=e,this.error$=new Ft.xQ,this.children=[],this.parents=[],this.isReady=!1,this.change$=new he.X(this),this.chipsConfig={showRecentLabel:!1},this.subscriptionsHolder$=new Ft.xQ}return(0,o.Z)(SelectorBase,[{key:"selectedItem",get:function get(){return this._selectedItem}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.subscriptionsHolder$.next({})}},{key:"init",value:function init(e){var t=this;this.areAllParentsReady()&&(this.isReady=!1,this.resetChildren(),this.context=e,this.subscriptionsHolder$.next({}),this.onInit().pipe(Dn(g.oN),(0,hy.R)(this.subscriptionsHolder$)).subscribe((function(e){e.isLoading?(t.isReady=!1,t.resetChildren()):(t.isReady=!0,t.initChildren())}),(function(e){t.logger.error(e);t.error$.next("Error occured. Items' list cannot be generated.")})))}},{key:"onSelectedItemChanged",value:function onSelectedItemChanged(e){this.resetChildren(),this.setSelectedItem(e),this.initChildren()}},{key:"addParent",value:function addParent(e){this.parents.push(e),e.children.push(this)}},{key:"addChild",value:function addChild(e){this.children.push(e),e.parents.push(this)}},{key:"resetChildren",value:function resetChildren(){this.children.forEach((function(e){e.isReady=!1,e.resetChildren()}))}},{key:"setSelectedItem",value:function setSelectedItem(e){this._selectedItem=e,this.change$.next(this)}},{key:"initChildren",value:function initChildren(){var e=this;this.children.forEach((function(t){t.init(e.context)}))}},{key:"areAllParentsReady",value:function areAllParentsReady(){var e=!0;return this.parents.length>0&&this.parents.forEach((function(t){t.isReady&&t.areAllParentsReady()||(e=!1)})),e}}]),SelectorBase}();MT.ctorParameters=function(){return[{type:c.Y}]},MT=(0,a.gn)([(0,l.Xek)(),(0,a.w6)("design:paramtypes",[c.Y])],MT);var NT=(0,o.Z)((function SelectorItem(){(0,i.Z)(this,SelectorItem)}));NT.fromString=function(e){var t=new NT;return t.Title=e,t.value=e,t};var FT=function(e){(0,f.Z)(SiteSelectorItem,e);var t=(0,p.Z)(SiteSelectorItem);function SiteSelectorItem(){return(0,i.Z)(this,SiteSelectorItem),t.apply(this,arguments)}return(0,o.Z)(SiteSelectorItem)}(NT);FT.fromDataItem=function(e){var t=new FT;if(t.Title=e.title,t.value=e.key,e.data.CulturesMap){t.cultures=e.data.CulturesMap.map((function(e){return{Title:e.DisplayName,value:e.Name}}));var n=t.cultures.find((function(t){return t.value===e.data.DefaultCultureKey}));t.defaultCulture=n}else t.cultures=e.data.CultureKeys.map((function(e){return NT.fromString(e)})),t.defaultCulture=NT.fromString(e.data.DefaultCultureKey);return t.sitemapRootNodeId=e.data.SiteMapRootNodeId,t},FT.fromSiteData=function(e){var t=new FT;return t.Title=e.Name,t.value=e.Id,t.defaultCulture={Title:e.DefaultContentCulture,value:e.DefaultContentCulture},t.cultures=e.ContentCultures.map((function(e){return{Title:e.DisplayName,value:e.Name}})),t.sitemapRootNodeId=e.SiteMapRootNodeId,t};var PT=function(e){(0,f.Z)(SiteSelector,e);var t=(0,p.Z)(SiteSelector);function SiteSelector(e,n,o,a){var r;return(0,i.Z)(this,SiteSelector),(r=t.call(this,e)).siteData=n,r.metadataStore=o,r.siteDataStore=a,r}return(0,o.Z)(SiteSelector,[{key:"setSelectedItem",value:function setSelectedItem(e){this.context.selectedSite=e,(0,Re.Z)((0,Qe.Z)(SiteSelector.prototype),"setSelectedItem",this).call(this,e)}},{key:"onInit",value:function onInit(){var e=this,t=this.metadataStore.entities.sites;if(!t){var n=FT.fromSiteData(this.siteData);return this.items=[n],this.initDefaultSelection(),(0,r.of)({}).pipe((0,Cn._)())}return this.siteDataStore.getAllSites({metadata:t}).pipe((0,Cn._)(),(0,ra.b)((function(t){if(!t.isLoading){var n=t.content.dataItems.map((function(e){return FT.fromDataItem(e)}));e.items=n,e.initDefaultSelection()}})))}},{key:"initDefaultSelection",value:function initDefaultSelection(){var e=this,t=this.items.find((function(t){return t.value===e.siteData.Id}));t.additionalInfo="this site",this.setSelectedItem(t)}}]),SiteSelector}(MT),RT=function(e){(0,f.Z)(LanguageSelector,e);var t=(0,p.Z)(LanguageSelector);function LanguageSelector(e,n){var o;return(0,i.Z)(this,LanguageSelector),(o=t.call(this,e)).initialCulture=n,o}return(0,o.Z)(LanguageSelector,[{key:"setSelectedItem",value:function setSelectedItem(e){this.context.selectedCulture=e,(0,Re.Z)((0,Qe.Z)(LanguageSelector.prototype),"setSelectedItem",this).call(this,e)}},{key:"onInit",value:function onInit(){var e,t=this.context.selectedSite;this.items=t.cultures;var n=this.initialCulture||(null===(e=this.context.selectedCulture)||void 0===e?void 0:e.value);this.initialCulture=null;var i=(n?this.items.find((function(e){return e.value===n})):null)||t.defaultCulture;return this.setSelectedItem(i),(0,r.of)({}).pipe((0,Cn._)())}}]),LanguageSelector}(MT),QT=function(e){(0,f.Z)(EntitySelector,e);var t=(0,p.Z)(EntitySelector);function EntitySelector(e,n,o){var a;return(0,i.Z)(this,EntitySelector),(a=t.call(this,e)).locatableItemsService=n,a.meta=o,a}return(0,o.Z)(EntitySelector,[{key:"setSelectedItem",value:function setSelectedItem(e){this.context.selectedEntitySet=e,(0,Re.Z)((0,Qe.Z)(EntitySelector.prototype),"setSelectedItem",this).call(this,e)}},{key:"onInit",value:function onInit(){var e=this;return this.locatableItemsService.getLocatableEntitySetNames(this.context.selectedSite.value).pipe((0,ra.b)((function(t){if(!t.isLoading){var n=t.content.value.filter((function(t){return e.meta.entities[t]})).map((function(t){return{Title:e.meta.entities[t].displayName,value:t,entity:e.meta.entities[t]}}));e.items=n,e.preSelectPagesAndMoveToTop()}})))}},{key:"preSelectPagesAndMoveToTop",value:function preSelectPagesAndMoveToTop(){var e=this.items.findIndex((function(e){return e.value===u.gl.PAGES}));if(e<0)this.setSelectedItem(this.items[0]);else{var t=this.items[e];this.items.splice(e,1),this.items.unshift(t);var n=this.items[0];this.setSelectedItem(n)}}}]),EntitySelector}(MT),UT=function(e){(0,f.Z)(ProviderSelectorItem,e);var t=(0,p.Z)(ProviderSelectorItem);function ProviderSelectorItem(){return(0,i.Z)(this,ProviderSelectorItem),t.apply(this,arguments)}return(0,o.Z)(ProviderSelectorItem)}(NT);UT.fromProvider=function(e){var t=new UT;return t.Title=e.title,t.value=e.name,t.isDefault=e.isDefault,t};var LT,OT=function(e){(0,f.Z)(ProviderSelector,e);var t=(0,p.Z)(ProviderSelector);function ProviderSelector(e,n){var o;return(0,i.Z)(this,ProviderSelector),(o=t.call(this,e)).providersService=n,o.shouldHide=!0,o}return(0,o.Z)(ProviderSelector,[{key:"setSelectedItem",value:function setSelectedItem(e){this.context.selectedProvider=e,(0,Re.Z)((0,Qe.Z)(ProviderSelector.prototype),"setSelectedItem",this).call(this,e)}},{key:"onInit",value:function onInit(){var e=this,t=this.context.selectedEntitySet;return this.providersService.getProviders(t.value,{params:(0,Ae.Z)({},g.Tx.SITE,this.context.selectedSite.value)}).pipe((0,Cn._)(),(0,ra.b)((function(t){if(!t.isLoading){var n=t.content.map((function(e){return UT.fromProvider(e)})),i=n.find((function(e){return e.isDefault}));e.items=n,e.determineVisibility(),e.setSelectedItem(i)}})))}},{key:"determineVisibility",value:function determineVisibility(){this.shouldHide=this.items.length<=1||this.context.selectedEntitySet.entity.typeFullName===Yo.z.PAGE_NODE.replace("#/definitions/",v.WP.EMPTY_STRING)}}]),ProviderSelector}(MT),zT=function(e){(0,f.Z)(ContentSelectorItem,e);var t=(0,p.Z)(ContentSelectorItem);function ContentSelectorItem(){return(0,i.Z)(this,ContentSelectorItem),t.apply(this,arguments)}return(0,o.Z)(ContentSelectorItem,null,[{key:"fromDataItem",value:function fromDataItem(e){var t,n=null,i=null,o=!1;return e.data.HasChildren&&e.metadata.properties[pe.oF]===CE&&(n="folder-o",i="light size-xl",o=!0),t={Id:e.key,name:e.title,Title:e.title,value:e.key,dataItem:e,DisplayStatus:e.data.DisplayStatus,isTranslated:e.isTranslated,LockedStatus:e.data.LockedStatus,hasChildren:e.data.HasChildren,icon:n,iconLook:i,isSelectionDisabled:o},(0,Ae.Z)(t,Tn,e.data.Breadcrumb),(0,Ae.Z)(t,e.metadata.defaultFieldName,e.data[e.metadata.defaultFieldName]),t}}]),ContentSelectorItem}(NT),_T=100,VT=function(){function MediaContentSelectorStrategy(e,t,n,o,a,r){(0,i.Z)(this,MediaContentSelectorStrategy),this.context=e,this.meta=t,this.mediaService=n,this.dynamicItemsService=o,this.mediaEntity=a,this.sortService=r}return(0,o.Z)(MediaContentSelectorStrategy,[{key:"getItems",value:function getItems(e){return(e.searchText?this.searchAllFiles(e):e.parentId?this.loadLibraryChildren(e):this.loadRootLibraries(e)).pipe((0,w.U)((function(e){return{dataItems:e.dataItems,totalCount:e.totalCount}})),(0,Cn._)())}},{key:"getParent",value:function getParent(e){return this.mediaService.getFolderById(e,e.data.Id,e.provider,this.context.selectedSite.value).pipe((0,Cn._)())}},{key:"loadRootLibraries",value:function loadRootLibraries(e){var t=this,n=this.mediaEntity.parent,i=this.getServiceRequestInfo(n);return this.mediaService.getLibraries(i,e.skip,e.take,this.context.selectedSite.value).pipe((0,w.U)((function(e){return{dataItems:t.createDataItemsFromLibraries(e.dataItems,n),totalCount:e.totalCount}})))}},{key:"loadLibraryChildren",value:function loadLibraryChildren(e){var t=this;e.take=_T;var n=this.getAllFolders(e,null),i=this.getAllFiles(e,null);return(0,Zo.D)(n,i).pipe((0,oa.zg)((function(e){var n,i=(0,q.Z)(e,2),o=i[0],a=i[1],s=[],l=o.value,c=t.createDataItemsFromResponseItems(a.value,t.mediaEntity.setName);(n=s).push.apply(n,(0,J.Z)(l).concat((0,J.Z)(c)));var d={dataItems:s=s.slice(0,_T),totalCount:o.totalCount+a.totalCount};return(0,r.of)(d)})))}},{key:"getAllFiles",value:function getAllFiles(e,t){var n=this,i=this.getServiceRequestInfo(this.mediaEntity.setName),o=(0,Ae.Z)({},g.Tx.SORT,this.sortService.getDefaultSort(i));return this.mediaService.getMediaForLibrary(i,e.parentId,e.skip,e.take,this.context.selectedSite.value,void 0,o).pipe((0,w.U)((function(i){var o,a=!(i.totalCount===i.dataItems.length)&&i.dataItems.length+e.skip<_T;if(!(i.dataItems.length>0&&a))return t||{value:i.dataItems,totalCount:i.totalCount};t?t.value=(o=t.value).concat.apply(o,(0,J.Z)(i.dataItems)):t={value:i.dataItems,totalCount:i.totalCount},e.skip=t.value.length,n.getAllFiles(e,t)})))}},{key:"getAllFolders",value:function getAllFolders(e,t){var n=this,i=this.mediaService.getParentEntityData({metadata:this.mediaEntity,culture:this.context.selectedCulture.value,provider:this.context.selectedProvider.value}),o=(0,Ae.Z)({},g.Tx.SORT,this.sortService.getDefaultSort(i));return this.mediaService.getFolders(i,e.parentId,!1,!1,e.skip,e.take,this.context.selectedSite.value,void 0,o).pipe((0,w.U)((function(i){i.dataItems.forEach((function(e,t,n){var i=(0,d.kI)(e.data);i[h.E.HAS_CHILDREN]=!0,n[t]=ee.zw.fromEntityData(i,e)}));var o,a=!(i.totalCount===i.dataItems.length)&&i.dataItems.length+e.skip<_T;if(!(i.dataItems.length>0&&a))return t||{value:i.dataItems,totalCount:i.totalCount};t?t.value=(o=t.value).concat.apply(o,(0,J.Z)(i.dataItems)):t={value:i.dataItems,totalCount:i.totalCount},e.skip=t.value.length,n.getAllFolders(e,t)})))}},{key:"searchAllFiles",value:function searchAllFiles(e){var t=this.meta.entities[this.context.selectedEntitySet.value];return this.dynamicItemsService.getItemList({entityData:{metadata:t,culture:this.context.selectedCulture.value,provider:this.context.selectedProvider.value},fallbackProperties:[t.defaultFieldName],skip:e.skip,take:e.take,filter:[{key:t.defaultFieldName,value:[e.searchText]}],siteId:this.context.selectedSite.value}).pipe((0,w.U)((function(e){return{dataItems:e.dataItems,totalCount:e.totalCount}})))}},{key:"createDataItemsFromLibraries",value:function createDataItemsFromLibraries(e,t){return e=e.map((function(e){var t=(0,d.kI)(e.data);return t.HasChildren=!0,ee.zw.fromEntityData(t,e)})),this.createDataItemsFromResponseItems(e,t)}},{key:"createDataItemsFromResponseItems",value:function createDataItemsFromResponseItems(e,t){var n=this,i=this.meta.entities[t];return e.map((function(e){return ee.zw.from(e.data,i,n.context.selectedProvider.value,n.context.selectedCulture.value)}))}},{key:"getServiceRequestInfo",value:function getServiceRequestInfo(e){var t=this.meta.entities[e];return ee.zw.from(null,t,this.context.selectedProvider.value,this.context.selectedCulture.value)}}]),MediaContentSelectorStrategy}(),GT=function(){function GenericContentSelectorStrategy(e,t,n,o){(0,i.Z)(this,GenericContentSelectorStrategy),this.dynamicItemsService=e,this.context=t,this.entity=n,this.sortService=o}return(0,o.Z)(GenericContentSelectorStrategy,[{key:"getItems",value:function getItems(e){return e.parentId?this.getChildItemsFromService(e):(this.entity.typeFullName===Yo.z.PAGE_NODE.replace("#/definitions/",v.WP.EMPTY_STRING)&&(e.parentId=this.context.selectedSite.sitemapRootNodeId),this.getItemsFromService(e))}},{key:"getParent",value:function getParent(e){var t=this.getItemRequestData();return t.itemKey=e.parentKey,this.dynamicItemsService.getItem(t).pipe((0,Cn._)())}},{key:"getChildItemsFromService",value:function getChildItemsFromService(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e.take=_T,this.getItemsFromService(e).pipe((0,Bi.h)((function(e){return!e.isLoading})),(0,oa.zg)((function(i){return i.content.dataItems.length>0?(n?(n.content.dataItems=n.content.dataItems.concat(i.content.dataItems),n.content.totalCount=i.content.totalCount):n=i,n.content.dataItems.length<_T&&e.skip+n.content.dataItems.length0?this.onLinkInputUrlBlur():this.inputModel.contentItemModel.isEditContentLinkMode=!0}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(LinkInsertFieldComponent.prototype),"writeValue",this).call(this,e),this.onChangeCallback&&this.onChangeCallback(e)}},{key:"initContentLink",value:function initContentLink(){var e=this;this.inputModel.isLoading=!0,this.inputModel$.next(this.inputModel),this.subscriptionsHolder$.next({}),this.locatableItemsService.getItemFromDynamicLink(this.inputModel.contentItemModel.sfLink.sfref).pipe(Dn(g.oN),(0,hy.R)(this.subscriptionsHolder$)).subscribe((function(t){t.isLoading||(e.inputModel.contentItemModel.itemName=t.content.title,e.inputModel.contentItemModel.entityName=e.meta.entities[t.content.entitySet].displayName,e.inputModel.isLoading=!1,e.inputModel$.next(e.inputModel))}),(function(t){e.inputModel.isLoading=!1,e.setInputModelErrorState(t),e.inputModel.contentItemModel.sfLink.href=v.WP.EMPTY_STRING,e.onBlur(),e.inputModel$.next(e.inputModel)}))}},{key:"setInputModelErrorState",value:function setInputModelErrorState(e){var t=e.message?e.message:e;this.inputModel.contentItemModel.validationErrors.push({errorType:Tc.v.CUSTOM,error:t===nk?{message:"Error occured. Could not get the item."}:{message:t}}),this.inputModel.getErrors()}},{key:"getContentSelectorDialogData",value:function getContentSelectorDialogData(){var e=this,t=[new ki.pu(_e.USE_SELECTED),new ki.Lw],n={type:jT,afterComponentInit:function afterComponentInit(t){var n=t;n.meta=e.meta,n.siteData=e.siteData,n.initialCulture=e.initialCulture}};return this.linkInsertItemSelectorDialogData=new ki.np(n,this.onContentSelectorDialogDone,t,null,"-bottom"),this.linkInsertItemSelectorDialogData}},{key:"initContentLinkInput",value:function initContentLinkInput(e){var t=this;this.inputModel.contentItemModel=new Vp,this.inputModel.contentItemModel.entityName=e.selectedContentItem.dataItem.metadata.displayName,this.inputModel.contentItemModel.itemName=e.selectedContentItem.Title,this.inputModel.href=v.WP.EMPTY_STRING,this.inputModel.hasErrors=!1,this.inputModel.isLoading=!0,this.inputModel$.next(this.inputModel),this.subscriptionsHolder$.next({}),this.generateInputModelDynamicLink(e).pipe((0,hy.R)(this.subscriptionsHolder$)).subscribe((function(e){t.inputModel.contentItemModel.sfLink.href=e.link,t.inputModel.href=e.link,t.inputModel.contentItemModel.sfLink.sfref=e.dynamicLink,t.inputModel.isLoading=!1,t.triggerJustAdded(),t.inputModel$.next(t.inputModel),t.writeValue(t.inputModel)}),(function(e){t.inputModel.isLoading=!1,t.setInputModelErrorState(e),t.inputModel$.next(t.inputModel),t.writeValue(t.inputModel),t.onBlur()}))}},{key:"triggerJustAdded",value:function triggerJustAdded(){var e=this;this.inputModel.justAdded=!0,setTimeout((function(){e.inputModel.justAdded=!1}),1e3)}},{key:"generateInputModelDynamicLink",value:function generateInputModelDynamicLink(e){return this.getSelectedContentDynamicLink(e).pipe(Dn(g.oN),(0,Bi.h)((function(e){return!e.isLoading})))}},{key:"getSelectedContentDynamicLink",value:function getSelectedContentDynamicLink(e){return this.locatableItemsService.getDynamicLink(e.selectedEntitySet.value,e.selectedContentItem.Id,e.selectedProvider.value,this.initialCulture,e.selectedSite.value,e.selectedCulture.value===this.initialCulture?v.WP.EMPTY_STRING:e.selectedCulture.value).pipe((0,Bi.h)((function(e){return!e.isLoading})),(0,w.U)((function(e){return e.content})))}}]),LinkInsertFieldComponent}(Z.F);WT.ctorParameters=function(){return[{type:ik},{type:ki.bL},{type:m.gz}]},WT=LT=(0,a.gn)([(0,l.wA2)({selector:"sf-link-insert",template:DT,providers:[(0,Z.A)(LT)]}),(0,a.w6)("design:paramtypes",[ik,ki.bL,m.gz])],WT);var JT=function(){function CreateLinkFieldChangeService(e){(0,i.Z)(this,CreateLinkFieldChangeService),this.createLinkHelper=e}return(0,o.Z)(CreateLinkFieldChangeService,[{key:"processChange",value:function processChange(e,t,n){if(e===$I||e===ew){var i=n.find((function(e){return e.fieldModel.key===ew})),o=i&&i.getValue(),a=n.find((function(e){return e.fieldModel.key===$I})),r=a&&a.getValue(),s=o||!r;this.changeIsUrlFieldRequired(!!s,n),this.updateLinkValue(e,r,o,n)}e===JI&&this.updateAnchorAndQueryParams(n)}},{key:"canProcess",value:function canProcess(e){return!e}},{key:"changeIsUrlFieldRequired",value:function changeIsUrlFieldRequired(e,t){var n=t.find((function(e){return e.fieldModel.key===JI}));if(n){var i=n.getValue();i.isUrlRequired!==e&&(i.isUrlRequired=e,n.writeValue(i))}}},{key:"updateLinkValue",value:function updateLinkValue(e,t,n,i){var o=i.find((function(e){return e.fieldModel.key===JI}));if(o){var a=o.getValue(),r=this.createLinkHelper.desctructureLink(a.href);r.elementLink&&(e===$I&&t!==r.elementAnchor?this.updateLinkParam(t,r.elementAnchor,r.elementLink,v.WP.HASH,a,o):e===ew&&n!==r.elementQueryParams&&this.updateLinkParam(n,r.elementQueryParams,r.elementLink,v.WP.QUESTION_MARK,a,o))}}},{key:"updateLinkParam",value:function updateLinkParam(e,t,n,i,o,a){e===v.WP.EMPTY_STRING?t!==v.WP.EMPTY_STRING&&(o.href=n.replace(i+t,v.WP.EMPTY_STRING),a.writeValue(o)):t===v.WP.EMPTY_STRING?(o.href=n+i+e,a.writeValue(o)):o.href=n.replace(i+t,i+e)}},{key:"updateAnchorAndQueryParams",value:function updateAnchorAndQueryParams(e){var t=e.find((function(e){return e.fieldModel.key===JI})),n=t&&t.getValue();if(n.href){var i=this.createLinkHelper.desctructureLink(n.href),o=e.find((function(e){return e.fieldModel.key===$I}));if(o)o.getValue()!==i.elementAnchor&&o.writeValue(i.elementAnchor);var a=e.find((function(e){return e.fieldModel.key===ew}));if(a)a.getValue()!==i.elementQueryParams&&a.writeValue(i.elementQueryParams)}}}]),CreateLinkFieldChangeService}();JT.ctorParameters=function(){return[{type:hw}]},JT=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[hw])],JT);var qT={provide:Lf.q,useClass:JT,multi:!0},XT=(0,o.Z)((function HtmlModule(){(0,i.Z)(this,HtmlModule)}));XT=(0,a.gn)([(0,l.LVF)({declarations:[BT,bw,ok,gI,Iw,Ef,wI,WT,jT],imports:[Gy,cf],exports:[BT,bw,ok],providers:[hw,Rt.V,Vt,qT]})],XT);var KT=n(214);var $T=function(){function DefaultErrorHandler(e,t,n,o,a){var r=this;(0,i.Z)(this,DefaultErrorHandler),this.logger=e,this.environmentService=t,this.errorParserService=n,this.window=o,this.notificationService=a,this.window.addEventListener("sf-error-notification-event",(function(e){r.handleError(e.detail)}))}return(0,o.Z)(DefaultErrorHandler,[{key:"handleError",value:function handleError(e){var t=this,n=this.errorParserService.parseError(e);if(n instanceof KT.p){var i=n.message,o=this.environmentService.getEnvironment()===_t.H.development;if(o&&n.stack&&(i=n.stack),o&&this.notificationService.publishBasicNotification({look:ya.ERROR,message:i,closeButton:!0,duration:g.De}),this.logger.error(e),this.message===i)return;this.message=i,o&&this.window.setTimeout((function(){t.isNotificationVisible(i)||t.window.alert(i)}),1e3)}}},{key:"isNotificationVisible",value:function isNotificationVisible(e){for(var t=document.getElementsByTagName("sf-notification"),n=!1,i=0;i0){var n={};return t.forEach((function(e){n[e.errorType]=e.error})),n}return null};var AM,mM=function(e){(0,f.Z)(LinkToFieldSettings,e);var t=(0,p.Z)(LinkToFieldSettings);function LinkToFieldSettings(){return(0,i.Z)(this,LinkToFieldSettings),t.apply(this,arguments)}return(0,o.Z)(LinkToFieldSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(LinkToFieldSettings.prototype),"init",this).call(this,e),this.translatable=!1,this.placeholder=e[cr.IK]}},{key:"getValidators",value:function getValidators(e){var t=(0,Re.Z)((0,Qe.Z)(LinkToFieldSettings.prototype),"getValidators",this).call(this,e);return t.push(pM.getValidator()),t}}]),LinkToFieldSettings}(j.P1),gM={writeComponent:WT,settingsType:mM},hM={writeComponent:nv,readComponent:nv,gridComponent:Kv,settingsType:function(e){(0,f.Z)(AddressSettings,e);var t=(0,p.Z)(AddressSettings);function AddressSettings(e,n){var o;return(0,i.Z)(this,AddressSettings),(o=t.call(this,e,n)).key=e,o.readOnlyMode=n,o.showForAllTranslationsLabel=!1,o.isGroup=!0,o}return(0,o.Z)(AddressSettings,[{key:"init",value:function init(e){this.mapMode=this.parseAddressMode(e["Org.OData.Core.V1.AddressFieldMode"]),(0,Re.Z)((0,Qe.Z)(AddressSettings.prototype),"init",this).call(this,e)}},{key:"parseAddressMode",value:function parseAddressMode(e){var t;switch(e){case"FormOnly":t=Zh.FormOnly;break;case"MapOnly":t=Zh.MapOnly;break;case"Hybrid":t=Zh.Hybrid}return t}}]),AddressSettings}(j.P1)},vM=n(90),bM=n(723),yM=AM=function(){function OauthProvider(e,t,n,o){(0,i.Z)(this,OauthProvider),this.http=e,this.urlService=t,this.settingsProv=n,this.window=o,this.settings={client_id:"sitefinity",response_type:"token",automaticSilentRenew:!1,filterProtocolClaims:!0,loadUserInfo:!1,authority:null,post_logout_redirect_uri:null,redirect_uri:null}}return(0,o.Z)(OauthProvider,[{key:"init",value:function init(){return this.initSettingsObj(),(0,r.of)(null)}},{key:"signIn",value:function signIn(e){var t=encodeURIComponent(this.settings.redirect_uri),n=encodeURIComponent(encodeURIComponent(e)),i=this.settings.authority+"/authorize?response_type=token&client_id=".concat(this.settings.client_id,"&redirect_uri=").concat(t,"&state=").concat(n);return this.window.location.href=i,(0,r.of)(null)}},{key:"signOut",value:function signOut(e){e||(e=this.urlService.getAbsoluteUrl("/")),e=encodeURIComponent(e);var t="".concat(this.settingsProv.url,"Sitefinity").concat(v.Yk).concat(e);return this.window.location.href=t,(0,r.of)()}},{key:"isLoggedIn",value:function isLoggedIn(){var e=!!AM.token&&AM.token.expirationTime>new Date;return(0,r.of)(e)}},{key:"getToken",value:function getToken(){return AM.token$.asObservable()}},{key:"getName",value:function getName(){return"oauth"}},{key:"getPriority",value:function getPriority(){return 2}},{key:"isAvailable",value:function isAvailable(){this.initSettingsObj();var e="".concat(this.settingsProv.url,"sitefinity/authentication/info");return this.http.get(e,{observe:"response",responseType:"text"}).pipe((0,w.U)((function(e){var t=e.headers.get("content-type");return!(!t||!t.startsWith("application/json"))&&"Default"===JSON.parse(e.body).protocol})),(0,Zi.K)((function(e){return(0,r.of)(!1)})))}},{key:"initSettingsObj",value:function initSettingsObj(){!this.settings.authority&&this.settingsProv.url&&(this.settings.authority="".concat(this.settingsProv.url).concat("Sitefinity/oauth"),this.settings.post_logout_redirect_uri=this.urlService.getAbsoluteUrl("/auth/oauth/".concat(CM.SIGN_OUT_REDIRECT)),this.settings.redirect_uri=this.urlService.getAbsoluteUrl("/auth/oauth/".concat(CM.SIGN_IN_REDIRECT)))}}],[{key:"setToken",value:function setToken(e){AM.token$.next({type:e.type,value:e.value}),AM.token=e}}]),OauthProvider}();yM.token$=new re.t(1),yM.ctorParameters=function(){return[{type:Uc.eN},{type:Ot},{type:Qt.Zr},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},yM=AM=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Uc.eN,Ot,Qt.Zr,Window])],yM);var EM={multi:!0,provide:vM.G,useClass:yM},IM=(0,o.Z)((function OAuthToken(){(0,i.Z)(this,OAuthToken)})),wM=function(){function OauthSignInRedirectComponent(e){(0,i.Z)(this,OauthSignInRedirectComponent),this.router=e}return(0,o.Z)(OauthSignInRedirectComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this.router.url.split("#")[1].split("&"),t={};e.forEach((function(e){t[e.split("=")[0]]=e.split("=")[1]}));var n=t.access_token,i=new Date;i.setSeconds(i.getSeconds()+1e3*t.expires_in);var o=decodeURIComponent(decodeURIComponent(t.state)),a=new IM;a.value=n,a.expirationTime=i,a.type=t.token_type,yM.setToken(a),this.router.navigateByUrl(o)}}]),OauthSignInRedirectComponent}();wM.ctorParameters=function(){return[{type:m.F0}]},wM=(0,a.gn)([(0,l.wA2)({selector:"sf-oauth-sign-in-redirect",template:""}),(0,a.w6)("design:paramtypes",[m.F0])],wM);var kM=function(){function SignInRedirectComponent(e){(0,i.Z)(this,SignInRedirectComponent),this.router=e}return(0,o.Z)(SignInRedirectComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=new bM.UserManager({}).signinRedirectCallback();(0,In.D)(t).subscribe((function(t){var n=t.state;e.router.navigateByUrl(n)}))}}]),SignInRedirectComponent}();kM.ctorParameters=function(){return[{type:m.F0}]},kM=(0,a.gn)([(0,l.wA2)({selector:"sf-sign-in-redirect",template:""}),(0,a.w6)("design:paramtypes",[m.F0])],kM);var xM=function(){function SignOutRedirectComponent(e){(0,i.Z)(this,SignOutRedirectComponent),this.router=e}return(0,o.Z)(SignOutRedirectComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this,t=new bM.UserManager({}).signoutRedirectCallback();(0,In.D)(t).subscribe((function(){e.router.navigate([So.HOME])}))}}]),SignOutRedirectComponent}();xM.ctorParameters=function(){return[{type:m.F0}]},xM=(0,a.gn)([(0,l.wA2)({selector:"sf-sign-out-redirect",template:""}),(0,a.w6)("design:paramtypes",[m.F0])],xM);var CM={SIGN_IN_REDIRECT:"sign-in",SIGN_OUT_REDIRECT:"sign-out"},SM=[{path:"auth",children:[{path:"oidc",children:[{path:CM.SIGN_IN_REDIRECT,component:kM},{path:CM.SIGN_OUT_REDIRECT,component:xM}]},{path:"oauth",children:[{path:CM.SIGN_IN_REDIRECT,component:wM}]}]}],BM=m.Bz.forChild(SM),DM=function(){function OidcProvider(e,t,n,o,a){(0,i.Z)(this,OidcProvider),this.http=e,this.router=t,this.urlService=n,this.settingsProv=o,this.envService=a,this.token$=new re.t(1),this.settings={client_id:"sitefinity",response_type:"id_token token",scope:"openid profile",automaticSilentRenew:!0,filterProtocolClaims:!0,loadUserInfo:!0,authority:null,post_logout_redirect_uri:null,redirect_uri:null,silent_redirect_uri:null,metadata:null,signingKeys:null}}return(0,o.Z)(OidcProvider,[{key:"init",value:function init(){var e=this;this.initSettingsObj();var t=[this.http.get(this.authSettingsUrl),this.initJwks()];return(0,Zo.D)(t).pipe((0,w.U)((function(t){var n=t[0];e.settings.scope=n.Scope,e.manager=new bM.UserManager(e.settings),e.attachEvents()})))}},{key:"signIn",value:function signIn(e){var t=this;return(0,In.D)(this.manager.getUser()).pipe((0,Xn.w)((function(n){return n&&n.expired||t.envService.getEnvironment()===_t.H.integration?t.authenticateSilent(e):t.authenticateWithRedirects(e)})))}},{key:"signOut",value:function signOut(e){var t={};if(this.envService.getEnvironment()===_t.H.integration){var n=e?this.urlService.getServerRelativeUrl(e):null;t={post_logout_redirect_uri:this.urlService.getServerRelativeUrl("".concat(v.vY).concat(n))}}var signOut=this.manager.signoutRedirect(t);return(0,In.D)(signOut)}},{key:"isLoggedIn",value:function isLoggedIn(){var e=(0,In.D)(this.manager.getUser()),t=(0,In.D)(this.manager.querySessionStatus());return(0,s.aj)(e,t).pipe((0,w.U)((function(e){var t=(0,q.Z)(e,2),n=t[0],i=t[1];return!(!n||!i||n.expired||n.profile.sub!==i.sub)})),(0,Zi.K)((function(){return(0,r.of)(!1)})))}},{key:"getToken",value:function getToken(){return this.token$.asObservable()}},{key:"getName",value:function getName(){return"openid"}},{key:"getPriority",value:function getPriority(){return 3}},{key:"isAvailable",value:function isAvailable(){var e=this;this.initSettingsObj();var t=this.settings.authority+"/.well-known/openid-configuration";return this.http.get(t,{observe:"response",responseType:"text"}).pipe((0,w.U)((function(t){var n=t.headers.get("content-type");return!(!n||!n.startsWith("application/json"))&&(e.settings.metadata=JSON.parse(t.body),!0)})))}},{key:"initSettingsObj",value:function initSettingsObj(){if(!this.settings.authority&&this.settingsProv.url){this.settings.authority="".concat(this.settingsProv.url).concat("Sitefinity/Authenticate/OpenID"),this.settings.post_logout_redirect_uri=this.urlService.getAbsoluteUrl("/auth/oidc/".concat(CM.SIGN_OUT_REDIRECT)),this.settings.redirect_uri=this.urlService.getAbsoluteUrl("/auth/oidc/".concat(CM.SIGN_IN_REDIRECT));var e=null;e=this.envService.getEnvironment()===_t.H.integration?this.urlService.getAbsoluteResourceUrl("/assets/auth/silent-renew.html"):this.urlService.getAbsoluteUrl("/assets/auth/silent-renew.html"),this.settings.silent_redirect_uri=e,this.authSettingsUrl="".concat(this.settingsProv.webServiceUrl,"Default.AuthSettings(clientId='").concat(this.settings.client_id,"')")}}},{key:"initJwks",value:function initJwks(){var e=this,t="".concat(this.settings.authority,"/.well-known/jwks");return this.http.get(t,{observe:"response",responseType:"json"}).pipe((0,w.U)((function(t){var n=t.body.keys;n&&(e.settings.signingKeys=n)})))}},{key:"authenticateSilent",value:function authenticateSilent(e){var t=this,n=(0,In.D)(this.manager.signinSilent());return n.subscribe((function(){t.router.navigateByUrl(e)})),n.pipe((0,w.U)((function(e){return e})))}},{key:"authenticateWithRedirects",value:function authenticateWithRedirects(e){var t=this.manager.signinRedirect({data:e});return(0,In.D)(t)}},{key:"attachEvents",value:function attachEvents(){var e=this;this.manager.getUser().then((function(t){t&&!t.expired&&(e.manager.storeUser(t),e.emitToken(t))})),this.manager.events.addUserLoaded((function(t){e.emitToken(t)})),this.manager.events.addAccessTokenExpired((function(){e.signOut(e.router.routerState.snapshot.url)}))}},{key:"emitToken",value:function emitToken(e){this.token$.next({type:e.token_type,value:e.access_token})}}]),OidcProvider}();DM.ctorParameters=function(){return[{type:Uc.eN},{type:m.F0},{type:Ot},{type:Qt.Zr},{type:zt.L}]},DM=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Uc.eN,m.F0,Ot,Qt.Zr,zt.L])],DM);var TM={multi:!0,provide:vM.G,useClass:DM},MM=function(){function TokenProvider(){(0,i.Z)(this,TokenProvider)}return(0,o.Z)(TokenProvider,[{key:"getTokenFromStorage",value:function getTokenFromStorage(e,t){var n,i=e.getItem(t);if(!i)return null;try{n=JSON.parse(i)}catch(e){return null}if(n){var o=(new Date).getTime();(isNaN(n.expireDate)||o>n.expireDate)&&(e.removeItem(t),n=null)}return n}}]),TokenProvider}(),NM="token",FM=function(e){(0,f.Z)(ExternalTokenProvider,e);var t=(0,p.Z)(ExternalTokenProvider);function ExternalTokenProvider(e){var n;return(0,i.Z)(this,ExternalTokenProvider),(n=t.call(this)).storage=e,n}return(0,o.Z)(ExternalTokenProvider,[{key:"init",value:function init(){return new he.X(null)}},{key:"signIn",value:function signIn(e){return(0,r.of)()}},{key:"signOut",value:function signOut(){return(0,r.of)()}},{key:"isLoggedIn",value:function isLoggedIn(){return this.getToken().pipe((0,w.U)((function(e){return!!e})))}},{key:"getToken",value:function getToken(){return(0,r.of)(this.getTokenFromStorage(this.storage,NM))}},{key:"getName",value:function getName(){return"external"}},{key:"isAvailable",value:function isAvailable(){return(0,r.of)(!!this.getTokenFromStorage(this.storage,NM))}},{key:"getPriority",value:function getPriority(){return 1}}]),ExternalTokenProvider}(MM);FM.ctorParameters=function(){return[{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]}]},FM=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Rr.V1])],FM);var PM={multi:!0,provide:vM.G,useClass:FM},RM="swttoken",QM=function(e){(0,f.Z)(SwtProvider,e);var t=(0,p.Z)(SwtProvider);function SwtProvider(e,n,o,a,r){var s;return(0,i.Z)(this,SwtProvider),(s=t.call(this)).http=e,s.settings=n,s.urlService=o,s.window=a,s.storage=r,s.timeoutHandle=null,s.token$=null,s}return(0,o.Z)(SwtProvider,[{key:"init",value:function init(){return new he.X(null)}},{key:"signIn",value:function signIn(e){var t=this.getLoginUrl(e);return this.window.location.href=t,(0,r.of)()}},{key:"signOut",value:function signOut(){var e=this.getLoginUrl("/"+So.HOME),t=this.settings.url+("sitefinity".concat(v.vY)+encodeURIComponent(e));return this.storage.removeItem(RM),this.window.location.href=t,(0,r.of)()}},{key:"isLoggedIn",value:function isLoggedIn(){return this.getToken().pipe((0,w.U)((function(e){return!!e})))}},{key:"getToken",value:function getToken(){return null===this.token$&&(this.token$=new re.t(1),this.initToken(this.token$)),this.token$.asObservable()}},{key:"getName",value:function getName(){return"swt"}},{key:"getPriority",value:function getPriority(){return 4}},{key:"isAvailable",value:function isAvailable(){return(0,r.of)(!!this.getTokenFromStorage(this.storage,RM))}},{key:"getLoginUrl",value:function getLoginUrl(e){var t=this.urlService.getAbsoluteUrl(e+"?sf-hru=true");return this.settings.url+"sitefinity/authenticate/swt?realm="+encodeURIComponent(this.settings.url)+"&redirect_uri="+encodeURIComponent(t)}},{key:"initToken",value:function initToken(e){var t=this;null!==this.timeoutHandle&&this.window.clearTimeout(this.timeoutHandle),null===this.getTokenFromStorage(this.storage,RM)?this.getTokenFromServer().subscribe((function(n){t.storage.setItem("swttoken",JSON.stringify(n)),e.next(n);var i=1e3*(n.lifetime-59);t.timeoutHandle=t.window.setTimeout((function(){t.initToken(e)}),i)}),(function(){e.next(null)})):e.next(null)}},{key:"getTokenFromServer",value:function getTokenFromServer(){var e=this,t=this.settings.url+"sitefinity/authenticate/swt",n=new Uc.WM;return n=n.set("X-SF-SERVICE-REQUEST","true"),this.http.get(t,{withCredentials:!0,headers:n,observe:"response",responseType:"text"}).pipe((0,w.U)((function(t){var n=t.headers.get("content-type"),i=null;if(null!==e.timeoutHandle&&e.window.clearTimeout(e.timeoutHandle),n.startsWith("text/plain")){var o=t.body.toString(),a=o.indexOf("wrap_access_token=")+"wrap_access_token=".length,r=o.indexOf("&wrap_access_token_expires_in="),s=o.substring(a,r);s=decodeURIComponent(s);var l=o.substr(r+"&wrap_access_token_expires_in=".length),c=Number(l),d=new Date;d.setSeconds(d.getSeconds()-c);var u=s.indexOf("TokenId="),f=s.indexOf("&",u),p=s.substring(u+"TokenId=".length,f),A=e.window.document,m=A.cookie.split(";").find((function(e){return-1!==e.indexOf("TokenId")}));if(m){var g=m.indexOf("TokenId=")+"TokenId=".length,h=m.substring(0,g).trim();A.cookie=h+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/",h+=p;var v=new Date;v.setFullYear(v.getFullYear()+1),h+="; expires="+v.toUTCString(),h+="; path=/",A.cookie=h,i={type:"WRAP",value:s="access_token="+e.window.btoa(s),expireDate:d.getTime(),lifetime:c}}}return i})))}}]),SwtProvider}(MM);QM.ctorParameters=function(){return[{type:Uc.eN},{type:Qt.Zr},{type:Ot},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]}]},QM=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Uc.eN,Qt.Zr,Ot,Window,Rr.V1])],QM);var UM={multi:!0,provide:vM.G,useClass:QM},LM=function(e){(0,f.Z)(NoAuthTokenProvider,e);var t=(0,p.Z)(NoAuthTokenProvider);function NoAuthTokenProvider(e){var n;return(0,i.Z)(this,NoAuthTokenProvider),(n=t.call(this)).settings=e,n}return(0,o.Z)(NoAuthTokenProvider,[{key:"init",value:function init(){return new he.X(null)}},{key:"signIn",value:function signIn(e){return(0,r.of)()}},{key:"signOut",value:function signOut(){return(0,r.of)()}},{key:"isLoggedIn",value:function isLoggedIn(){return(0,r.of)(!0)}},{key:"getToken",value:function getToken(){return(0,r.of)()}},{key:"getName",value:function getName(){return"noauth"}},{key:"isAvailable",value:function isAvailable(){return(0,r.of)("Default"===this.settings.authenticationProtocol)}},{key:"getPriority",value:function getPriority(){return 0}}]),NoAuthTokenProvider}(MM);LM.ctorParameters=function(){return[{type:Qt.Zr}]},LM=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Qt.Zr])],LM);var OM={multi:!0,provide:vM.G,useClass:LM},zM=(0,o.Z)((function AuthModule(){(0,i.Z)(this,AuthModule)}));zM=(0,a.gn)([(0,l.LVF)({imports:[BM,Gy,Uc.JF],declarations:[kM,xM],providers:[fg,TM,gf.e,PM,UM,OM,EM]})],zM);var _M=n(724),VM=n(725);function coerceBoolean(e){return null!=e&&"false"!=="".concat(e)}var GM="faq",HM=function(){function TooltipComponent(e,t){(0,i.Z)(this,TooltipComponent),this.element=e,this.ref=t,this.close=new l.vpe,this.skipAll=new l.vpe,this.gotItLinkText="Got it",this.isLastElement=!1,this.zIndexValue=99999,this.isHidden=!0,this._appendToParent=!1,this._seen=!1,this._showOnce=!1}return(0,o.Z)(TooltipComponent,[{key:"appendToParent",get:function get(){return this._appendToParent},set:function set(e){this._appendToParent=coerceBoolean(e)}},{key:"seen",get:function get(){return this._seen},set:function set(e){this._seen=coerceBoolean(e)}},{key:"showOnce",get:function get(){return this._showOnce},set:function set(e){this._showOnce=coerceBoolean(e)}},{key:"fixedDimensions",set:function set(e){if(e){var t;try{t=JSON.parse(e)}catch(n){t=e}this._fixedDimensions={top:t.top,right:t.right,bottom:t.bottom,left:t.left,position:t.position}}}},{key:"targetDimensions",set:function set(e){var t;try{t=JSON.parse(e)}catch(n){t=e}this._targetDimensions={top:Math.floor(Number(t.top)),right:Math.floor(Number(t.right)),bottom:Math.floor(Number(t.bottom)),left:Math.floor(Number(t.left)),height:Math.floor(Number(t.height)),width:Math.floor(Number(t.width))}}},{key:"boxModelDimensions",set:function set(e){this._boxModelDimensions=e}},{key:"ngOnChanges",value:function ngOnChanges(){this._isInitialized&&(this.initializeTooltip(),this.positionTooltip())}},{key:"ngOnInit",value:function ngOnInit(){this.initializeTooltip(),this._isInitialized=!0}},{key:"initializeTooltip",value:function initializeTooltip(){this.showContent=this.showOnce&&!this.seen,this.cssClassList=this.generateCssClassList(),this.look&&this.look.includes(GM)?(this.zIndexValue=99998,this.iconLook="size-2xl light faq"):this.iconLook="size-xs",this._fixedDimensions?(this.setDimensions(this._fixedDimensions),this._fixedDimensions.position?this.element.nativeElement.style.position=this._fixedDimensions.position:this.element.nativeElement.style.position="fixed"):this.element.nativeElement.style.position="absolute",this.zIndex&&(this.zIndexValue=this.zIndex)}},{key:"positionTooltip",value:function positionTooltip(){var e=this.element.nativeElement.getBoundingClientRect();this.tooltipDimensions={top:Math.floor(e.top),right:Math.floor(e.right),bottom:Math.floor(e.bottom),left:Math.floor(e.left),height:Math.floor(e.height),width:Math.floor(e.width)},this._fixedDimensions||this.appendToParent||this.look&&this.look.includes(GM)?(this.isHidden=!1,this.appendToParent&&(this.element.nativeElement.style.display="inline-block")):this.calculatePosition(),this._boxModelDimensions&&this.setDimensions(this._boxModelDimensions)}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.positionTooltip()}},{key:"toggleContent",value:function toggleContent(e){this.showContent=!this.showContent,this.ref.detectChanges(),e&&e.stopPropagation()}},{key:"onTooltipClick",value:function onTooltipClick(e){e.stopPropagation()}},{key:"calculatePosition",value:function calculatePosition(){var e=0,t=0;this.look&&(this.look.startsWith("up")&&(t+=this._targetDimensions.top-this.tooltipDimensions.bottom),this.look.startsWith("down")&&(t+=-this.tooltipDimensions.top+this._targetDimensions.bottom),this.look.startsWith("left")&&(e+=this._targetDimensions.left-this.tooltipDimensions.right),this.look.startsWith("right")&&(e+=this._targetDimensions.right-this.tooltipDimensions.left),this.look.includes("-right")&&(e+=this._targetDimensions.right-this.tooltipDimensions.right),this.look.includes("-left")&&(e+=this._targetDimensions.left-this.tooltipDimensions.left),this.look.includes("-up")&&(t+=this._targetDimensions.top-this.tooltipDimensions.top),this.look.includes("-down")&&(t+=this._targetDimensions.bottom-this.tooltipDimensions.top-this.tooltipDimensions.height),"right"!==this.look&&"left"!==this.look||(t+=this._targetDimensions.bottom-this.tooltipDimensions.top-(this.tooltipDimensions.height+this._targetDimensions.height)/2),"up"!==this.look&&"down"!==this.look||(e+=this._targetDimensions.left-this.tooltipDimensions.left+(this._targetDimensions.width-this.tooltipDimensions.width)/2),this.transform="translate3d("+e+"px, "+t+"px, 0)"),this.isHidden=!1}},{key:"setDimensions",value:function setDimensions(e){for(var t=0,n=Object.keys(e);t1&&void 0!==arguments[1]?arguments[1]:null,n=t;if(!n){var i=this.resolver.resolveComponentFactory(e);n="".concat(i.selector,"-element")}var o=customElements.get(n);if(!o){var a=(0,ZM.iD)(e,{injector:this.injector});a instanceof Function&&customElements.define(n,a)}}}]),SfElementFactory}();YM.ctorParameters=function(){return[{type:l.zs3},{type:l._Vd}]},YM=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[l.zs3,l._Vd])],YM);var jM=(0,o.Z)((function TooltipModule(e){(0,i.Z)(this,TooltipModule),this.factory=e,this.factory.createCustomElementDefinition(HM)}));jM.ctorParameters=function(){return[{type:YM}]},jM=(0,a.gn)([(0,l.LVF)({declarations:[HM],imports:[Ut.ez,Xd._]}),(0,a.w6)("design:paramtypes",[YM])],jM);var WM=function(){function SfElementsModule(){(0,i.Z)(this,SfElementsModule)}return(0,o.Z)(SfElementsModule,[{key:"ngDoBootstrap",value:function ngDoBootstrap(e){}}]),SfElementsModule}();WM=(0,a.gn)([(0,l.LVF)({imports:[vd.b2,Ut.ez,jM],providers:[YM,ne.pX,Be]})],WM);var JM=(0,o.Z)((function ContextualHelpModule(e,t,n,o,a){if((0,i.Z)(this,ContextualHelpModule),a.getEnvironment()===_t.H.integration&&e.url!==v.WP.EMPTY_STRING){t.onLoad.pipe((0,Me.b)(400)).subscribe((function(){var e=new Event("sf-load-tooltips");n.runOutsideAngular((function(){return o.dispatchEvent(e)}))}));var r="".concat(e.url).concat("contextual-help"),s=o.document.createElement("script");s.src=r,s.async=!0,o.document.body.appendChild(s)}}));JM.ctorParameters=function(){return[{type:Qt.Zr},{type:cI},{type:l.R0b},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]},{type:zt.L}]},JM=(0,a.gn)([(0,l.LVF)({providers:[cI]}),(0,a.w6)("design:paramtypes",[Qt.Zr,cI,l.R0b,Window,zt.L])],JM);var qM=n(727),XM=function(e){(0,f.Z)(SharePreviewLinkComponent,e);var t=(0,p.Z)(SharePreviewLinkComponent);function SharePreviewLinkComponent(e){var n;return(0,i.Z)(this,SharePreviewLinkComponent),(n=t.call(this)).itemService=e,n.isLoading=!0,n}return(0,o.Z)(SharePreviewLinkComponent,[{key:"ngOnInit",value:function ngOnInit(){this.getPreviewLink()}},{key:"getPreviewLink",value:function getPreviewLink(){var e=this,t=this.itemService.executeBoundFunction(this.dataItem,"Default.SharePreviewLink").subscribe((function(t){e.previewLink=t.PreviewLink,e.expirationMessage=t.ExpirationMessage,e.isLoading=!1}));this.registerSubscription(t)}}]),SharePreviewLinkComponent}(E.zu);XM.ctorParameters=function(){return[{type:Ci.dg}]},XM.propDecorators={dataItem:[{type:l.IIB}]},XM=(0,a.gn)([(0,l.wA2)({selector:"sf-share-preview-link",template:qM}),(0,a.w6)("design:paramtypes",[Ci.dg])],XM);var KM=function(e){(0,f.Z)(PagesGridExtender,e);var t=(0,p.Z)(PagesGridExtender);function PagesGridExtender(e,n,o,a,r,s,l,c,d,u,f,p){var A;return(0,i.Z)(this,PagesGridExtender),(A=t.call(this,c,r,n,d,u,l,a,s)).pagesCommonHandler=e,A.siteDataStore=o,A.bundleDataService=f,A.configService=p,A}return(0,o.Z)(PagesGridExtender,[{key:"getExpandedNodeIds",value:function getExpandedNodeIds(e){var t=this;return this.siteDataStore.getValue().pipe((0,w.U)((function(n){var i=n.SiteMapRootNodeId+e.entityData.metadata.setName;return t.settings.getExpandedNodeIds(i)})))}},{key:"setExpandedNodeIds",value:function setExpandedNodeIds(e){var t=this;this.siteDataStore.getValue().pipe((0,ra.b)((function(n){var i=n.SiteMapRootNodeId+e.entityData.metadata.setName;return t.settings.setExpandedNodeIds(i,e.expandedIds)}))).subscribe()}},{key:"syncExpandedNodeIds",value:function syncExpandedNodeIds(e){if(e.entityData.metadata.isSelfReferencing){var t=e.dataItems;if(e.expandedIds){var n=[].concat(e.expandedIds);this.iterateChildren(t,n),n.length>0&&n.forEach((function(t){var n=e.expandedIds.findIndex((function(e){return e===t}));e.expandedIds.splice(n,1)})),this.setExpandedNodeIds(e)}}}},{key:"isHierarchical",value:function isHierarchical(e){return!e.snapshot.queryParams[g.V5.FILTER]&&!e.snapshot.queryParams[g.V5.SEARCH]&&!e.snapshot.queryParams[g.V5.SORT]}},{key:"getVirtualizationOptions",value:function getVirtualizationOptions(e){var t=!1!==this.configService.externalConfig.virtualization&&this.isHierarchical(e),n=e.parent.snapshot.data.siteDataStore,i=Math.ceil(n.ContentCultures.length/6),o=60;return 2===i?o=93:i>2&&(o=93+36*(i-2)),{isVirtualized:t,nodeHeight:o}}},{key:"getChildren",value:function getChildren(e,t,n,i){var o=this;return this.dynamicItemStore.getItemList({action:"Default.Hierarchy(parentId='".concat(n.parentId,"',expandedPages=@param)?@param=[]"),entityData:e}).pipe((0,ra.b)((function(t){o.requestAndMapAdditionalColumns(t.dataItems,e,!1,i)}))).toPromise()}},{key:"getItemsData",value:function getItemsData(e,t,n){var i=e.snapshot.data.dynamicItems,o=e.parent.snapshot.data.siteDataStore;return{entityData:i,action:"Default.Hierarchy(parentId='".concat(o.SiteMapRootNodeId,"',expandedPages=@param)?@param=").concat(JSON.stringify(n.expandedNodeIds||[])),dataFieldNames:t}}},{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.setName===Lo}},{key:"tryHandleAction",value:function tryHandleAction(e){var t=this,n=e.actionName;if(n===$.q.template)return(0,r.of)(this.tryHandleChangeTemplateAction(e));if(n===$.q.sharePreviewLink)return(0,r.of)(this.tryHandleSharePreviewLinkAction(e));if(n===Ca&&!this.pagesCommonHandler.isGroupOrRedirectingPage(e.item))return this.tryHandleAction({actionName:$.q.editContent,item:e.item,route:e.route,grid:e.grid});return n===$.q.create?this.pagesCommonHandler.navigateToEdit(e):n===$.q.createChild?this.pagesCommonHandler.navigateToEdit({actionName:$.q.editContent,item:ee.zw.emptyItem(e.item),route:e.route,grid:e.grid,data:{parentId:e.item.key,prepopulatedFields:{ParentId:e.item.key}}}):n===$.q.edit||n===$.q.duplicate?this.pagesCommonHandler.navigateToTitleAndProperties(e).pipe((0,w.U)((function(e){return!!e}))):(0,Re.Z)((0,Qe.Z)(PagesGridExtender.prototype),"tryHandleAction",this).call(this,e).pipe((0,Xn.w)((function(n){return n?(0,r.of)(n):t.pagesCommonHandler.tryHandleAction(e)})))}},{key:"hideLoadMore",value:function hideLoadMore(e,t){return this.isHierarchical(e)}},{key:"hasLongRunningTasks",value:function hasLongRunningTasks(e){return!0}},{key:"requestAndMapAdditionalColumns",value:function requestAndMapAdditionalColumns(e,t,n,i){var o=this;if(i.find((function(e){return"Analytics"===e.name}))){var a=e.filter((function(e){return e.isTranslated}));this.siteDataStore.getValue().subscribe((function(e){o.bundleDataService.requestSingle(a,t,ed,e.Id,n)}))}}},{key:"tryHandleChangeTemplateAction",value:function tryHandleChangeTemplateAction(e){var t=this,n={currentRoute:e.route,data:{selectedItems:e.item.data?[e.item]:[],entityData:e.item},model:null};return new ja(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n).subscribe((function(){t.reloadService.requestReload()})),!0}},{key:"tryHandleSharePreviewLinkAction",value:function tryHandleSharePreviewLinkAction(e){var t=[new ki.pu(_e.COPY_LINK,(function(e){return(0,d.TE)(e.component.previewLink),new ki.DQ(e,!0)})),new ki.Lw(_e.CANCEL)],n={type:XM,properties:{dataItem:e.item}},i=new ki.np(n,void 0,t);return this.modalWindowService.setMapping(i),this.modalWindowService.open(e.route),!0}},{key:"iterateChildren",value:function iterateChildren(e,t){var n=this;e.forEach((function(e){if(e.hasChildren){var i=t.findIndex((function(t){return t===e.key}));-1!==i&&t.splice(i,1),n.iterateChildren(e.children,t)}}))}}]),PagesGridExtender}(fd);KM.ctorParameters=function(){return[{type:xk},{type:Qt.Zr},{type:Qi},{type:ki.bL},{type:ga},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:cd},{type:b.y},{type:Aa},{type:yl},{type:nd},{type:Rt.V}]},KM=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[xk,Qt.Zr,Qi,ki.bL,ga,La,cd,b.y,Aa,yl,nd,Rt.V])],KM);var $M={multi:!0,provide:ud,useClass:KM},eN=n(728),tN=n(729),nN=(0,o.Z)((function ContentBlockConstants(){(0,i.Z)(this,ContentBlockConstants)}));nN.CONTENT="Content",nN.SHARED_CONTENT_ID="SharedContentID",nN.PROVIER_NAME="ProviderName",nN.ENTITY_NAME="contentitems",nN.CONTENT_BLOCK="Content block";var iN="-sf-content-block-open",oN=function(e){(0,f.Z)(ContentBlockBasicComponent,e);var t=(0,p.Z)(ContentBlockBasicComponent);function ContentBlockBasicComponent(e,n,o,a){var r;return(0,i.Z)(this,ContentBlockBasicComponent),(r=t.call(this)).dynamicItemService=e,r.route=n,r.document=o,r.renderer=a,r.notifyStatusChange$=new Ft.xQ,r.contentBlockHeader=nN.CONTENT_BLOCK,r.initializationFailed=!1,r.contentItem$=new re.t(1),r.isLocked=!1,r.headerShortTextSettings=new Op.e4("headingKey",!0),r.footerButtonsClass="-bottom",r.htmlWrapperKey="htmlWrapper",r}return(0,o.Z)(ContentBlockBasicComponent,[{key:"contentItem",get:function get(){return this._contentItem},set:function set(e){this._contentItem=e,this.contentItem$.next(e)}},{key:"initialize",value:function initialize(e){this.providerName=e.propertyValues[nN.PROVIER_NAME],this.renderer.addClass(this.document.body,iN);var t=new rk(this.htmlWrapperKey,[]);t.culture=this.context.culture,this.htmlWrapperComponent.sfHtml.settings=t,this.headerShortTextSettings.look="small";var n=e.propertyValues;return this.html=n[nN.CONTENT],this.sharedContentID=n[nN.SHARED_CONTENT_ID],this.htmlWrapperComponent.sfHtml.editor.editorComponentConfig={collapsible:!1,alwaysShowToolbar:!0},this.updateContentValue()}},{key:"setValues",value:function setValues(e){this.providerName=e[nN.PROVIER_NAME],this.html=e[nN.CONTENT],this.sharedContentID=e[nN.SHARED_CONTENT_ID],this.updateContentValue()}},{key:"validate",value:function validate(){return this.htmlWrapperComponent.status$.asObservable().pipe((0,w.U)((function(e){return{isValid:e.type!==Yi.i.Pending,message:"Waiting for media upload."}})))}},{key:"getModifiedProperties",value:function getModifiedProperties(){var e=[];return this.sharedContentID&&e.push({Name:nN.SHARED_CONTENT_ID,Value:this.sharedContentID}),e.push({Name:nN.CONTENT,Value:this.htmlWrapperComponent.sfHtml.value}),e}},{key:"actionExecuting",value:function actionExecuting(e){return e.processChanges?this.updateContentItem():this.unlockContentItem()}},{key:"getActions",value:function getActions(){return this.initializationFailed?{operations:[],cssClass:this.footerButtonsClass}:{operations:null,cssClass:this.footerButtonsClass}}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.renderer.removeClass(this.document.body,iN)}},{key:"updateContentValue",value:function updateContentValue(){var e=this,t=new re.t(1);if(this.isShared=this.sharedContentID&&this.sharedContentID!==v.WP.DEFAULT_GUID,this.headingCssClass=this.isShared?"-sf-txt-align-center -sf-pt-3xs":"-sf-txt-align-center -sf-pt-3xl",this.isShared&&!this.contentItem){var n=Object.assign(Object.assign({},this.getEntityData()),{provider:null});if(n.metadata){var i=this.dynamicItemService.executeBoundFunction(ee.zw.fromEntityData(null,n),"Default.GetItemById(itemId=".concat(this.sharedContentID,")"),["Title","Content"]).subscribe((function(n){e.contentItem=ee.zw.fromEntityData(n,e.getEntityData()),e.contentItem&&(e.html=e.contentItem.data.Content,e.updateEditorValue(),e.htmlWrapperComponent.registerOnChange((function(){return e.lockContentItem()}))),t.next()}),(function(){e.html=v.WP.EMPTY_STRING,e.sharedContentID=v.WP.DEFAULT_GUID,e.updateEditorValue(),t.next()}));this.registerSubscription(i)}else this.initializationFailed=!0,t.next()}else this.updateEditorValue(),t.next();return t.asObservable()}},{key:"updateEditorValue",value:function updateEditorValue(){this.isShared=this.sharedContentID&&this.sharedContentID!==v.WP.DEFAULT_GUID,this.htmlWrapperComponent.value=this.html,this.focus()}},{key:"lockContentItem",value:function lockContentItem(){var e=this;if(!this.isLocked&&this.contentItem){var t=new Fp;t.showLoadingIndicator=!0,this.notifyStatusChange$.next(t);var n=this.dynamicItemService.updateItem({dataItem:this.contentItem,data:{}}).subscribe((function(){e.isLocked=!0,t.reset(),e.notifyStatusChange$.next(t)}),(function(n){t.setError(n),e.notifyStatusChange$.next(t)}));this.registerSubscription(n)}}},{key:"unlockContentItem",value:function unlockContentItem(){return this.isLocked&&this.contentItem?this.dynamicItemService.unlockItem(this.contentItem):(0,r.of)(void 0)}},{key:"updateContentItem",value:function updateContentItem(){var e,t;if(this.isLocked&&this.contentItem){var n=!((null===(t=null===(e=this.contentItem)||void 0===e?void 0:e.data)||void 0===t?void 0:t.AvailableLanguages)||[]).includes(this.contentItem.culture)&&!!this.sharedContentID,i={Content:this.htmlWrapperComponent.sfHtml.value};if(n){var o=this.contentItem.metadata.defaultFieldName;i[o]=this.contentItem.data[o]}return this.dynamicItemService.updateItem({dataItem:this.contentItem,data:i,operation:{action:$.q.publish}})}return(0,r.of)([])}},{key:"getEntityData",value:function getEntityData(){var e=this.route.parent.snapshot.data.metaStore.entities[nN.ENTITY_NAME];return{culture:this.context.culture,provider:this.providerName,metadata:e}}},{key:"focus",value:function focus(){var e=this,t=this.htmlWrapperComponent.sfHtml.editor.isReady$.subscribe((function(t){t&&e.htmlWrapperComponent.onFocus()}));this.registerSubscription(t)}}]),ContentBlockBasicComponent}(E.zu);oN.ctorParameters=function(){return[{type:Ci.dg},{type:m.gz},{type:void 0,decorators:[{type:l.tBr,args:[Se]}]},{type:l.Qsj}]},oN.propDecorators={htmlWrapperComponent:[{type:l.i9L,args:["htmlWrapper",{static:!0}]}]},oN=(0,a.gn)([(0,l.wA2)({selector:"sf-content-editor",template:eN,encapsulation:l.ifc.None,styles:[tN]}),(0,a.w6)("design:paramtypes",[Ci.dg,m.gz,Object,l.Qsj])],oN);var aN=n(730),rN=function(e){(0,f.Z)(ShareComponent,e);var t=(0,p.Z)(ShareComponent);function ShareComponent(e,n){var o;return(0,i.Z)(this,ShareComponent),(o=t.call(this)).dynamicItemService=e,o.metadataStore=n,o.shareContentName=rs.SHARE_CONTENT,o.sharedName=v.WP.EMPTY_STRING,o}return(0,o.Z)(ShareComponent,[{key:"initialize",value:function initialize(e){return this.allProperties=e.propertyValues,(0,r.of)(void 0)}},{key:"setValues",value:function setValues(e){this.allProperties=e}},{key:"validate",value:function validate(){return this.sharedName&&this.sharedName.length>0?(0,r.of)({isValid:!0}):(0,qn._)({message:"Title cannot be empty!"})}},{key:"getModifiedProperties",value:function getModifiedProperties(){var e=[];return this.contentItem&&e.push({Name:nN.SHARED_CONTENT_ID,Value:this.contentItem.data.Id}),e}},{key:"actionExecuting",value:function actionExecuting(e){var t=this;if(e.processChanges){var n=this.allProperties[nN.CONTENT],i=this.allProperties[nN.PROVIER_NAME];return this.createItem(n,i).pipe((0,ra.b)((function(e){t.contentItem=e})),(0,w.U)((function(e){})))}return(0,r.of)(void 0)}},{key:"getActions",value:function getActions(){return{operations:[{Title:rs.SHARE_CONTENT,Category:{Name:"default"},Name:ls.SHARE,Ordinal:-1,Description:v.WP.EMPTY_STRING,Link:v.WP.EMPTY_STRING,Parameters:null,RequiresConfirmation:!1}],cssClass:v.WP.EMPTY_STRING}}},{key:"createItem",value:function createItem(e,t){var n=this.metadataStore.getEntity(nN.ENTITY_NAME),i={culture:this.context.culture,provider:t,metadata:n};return this.dynamicItemService.createItem({data:{Title:this.sharedName,Content:e},entityData:i})}}]),ShareComponent}(E.zu);rN.ctorParameters=function(){return[{type:Ci.dg},{type:pe.EY}]},rN=(0,a.gn)([(0,l.wA2)({selector:"sf-share-view",template:aN}),(0,a.w6)("design:paramtypes",[Ci.dg,pe.EY])],rN);var sN=n(731),lN=function(e){(0,f.Z)(UseSharedComponent,e);var t=(0,p.Z)(UseSharedComponent);function UseSharedComponent(e,n,o,a,r,s){var l;return(0,i.Z)(this,UseSharedComponent),(l=t.call(this)).dynamicService=e,l.metadataStore=n,l.store=o,l.settings=a,l.bundleDataService=r,l.route=s,l.notifyStatusChange$=new Ft.xQ,l.selectedItem=[],l.treeConfig={multiSelection:!1,status:!1,description:!0,skipNodeMappingToDefaultModel:!0},l.typeNames={plural:"shared content"},l.selectSharedTitle=rs.SELECT_SHARED_TITLE,l.footerButtonsClass="-bottom",l.selectedItemId=v.WP.EMPTY_STRING,l}return(0,o.Z)(UseSharedComponent,[{key:"initialize",value:function initialize(e){var t=this;return this.cbData=e.propertyValues,this.loadInitialModalItems(this.cbData).pipe((0,kn.P)()).subscribe((function(e){if(t.value=e||[],t.selectedItemId){var n=e.find((function(e){return e.dataItem.key===t.selectedItemId}));t.selectedItem=n?[n]:[]}else if(e&&e.length>0){var i=e[0];t.selectedItem=i?[i]:[]}return t.value})),this.serviceAware=new ti((function(e){return t.loadMoreModalItems(e,t.cbData)}),(function(e){return t.loadMoreModalItems(e,t.cbData)})),(0,r.of)(void 0)}},{key:"setValues",value:function setValues(e){var t=this;this.cbData=e,this.loadInitialModalItems(this.cbData).pipe((0,kn.P)()).subscribe((function(e){if(t.value=e||[],t.selectedItemId){var n=e.find((function(e){return e.dataItem.key===t.selectedItemId}));t.selectedItem=n?[n]:[]}else if(e&&e.length>0){var i=e[0];t.selectedItem=i?[i]:[]}return t.value}))}},{key:"validate",value:function validate(){return(0,r.of)({isValid:!0})}},{key:"getModifiedProperties",value:function getModifiedProperties(){var e=[];return this.selectedItem&&1===this.selectedItem.length&&(this.cbData[nN.SHARED_CONTENT_ID]=this.selectedItem[0].dataItem.key,this.cbData[nN.PROVIER_NAME]=this.selectedItem[0].dataItem.provider,this.cbData[nN.CONTENT]=this.selectedItem[0].dataItem.data.Content,e.push({Name:nN.SHARED_CONTENT_ID,Value:this.cbData[nN.SHARED_CONTENT_ID]}),e.push({Name:nN.PROVIER_NAME,Value:this.cbData[nN.PROVIER_NAME]}),e.push({Name:nN.CONTENT,Value:this.cbData[nN.CONTENT]})),e}},{key:"actionExecuting",value:function actionExecuting(e){return(0,r.of)(void 0)}},{key:"getActions",value:function getActions(){return{operations:[{Title:_e.USE_SELECTED,Category:{Name:"default"},Name:ls.USE_SHARED,Ordinal:-1,Description:v.WP.EMPTY_STRING,Link:v.WP.EMPTY_STRING,Parameters:null,RequiresConfirmation:!1}],cssClass:this.footerButtonsClass}}},{key:"onSelectedItemChanged",value:function onSelectedItemChanged(e){e.dataItem.key!==this.selectedItemId?(this.cbData[nN.SHARED_CONTENT_ID]=e.dataItem.key,this.selectedItemId=e.dataItem.key,this.selectedItem=[e]):(this.selectedItemId=v.WP.DEFAULT_GUID,this.selectedItem=[])}},{key:"onProviderSelectionChange",value:function onProviderSelectionChange(e){var t=this,n=new Fp;n.showLoadingIndicator=!0,this.notifyStatusChange$.next(n),this.providerName=e,this.cbData[nN.PROVIER_NAME]=e,this.loadInitialModalItems(this.cbData).pipe((0,kn.P)()).subscribe((function(e){t.value=e,n.reset(),t.notifyStatusChange$.next(n)}))}},{key:"createBaseServiceInfo",value:function createBaseServiceInfo(e){return this.providerName=e[nN.PROVIER_NAME],this.selectedItemId=e[nN.SHARED_CONTENT_ID],{type:nN.ENTITY_NAME,provider:this.providerName,culture:this.context.culture}}},{key:"getSettings",value:function getSettings(e,t){var n=e.map((function(e){return{Name:e.title,Value:e.name}}));return Xi.createFieldSettings(n,t)}},{key:"loadInitialModalItems",value:function loadInitialModalItems(e){var t=this.createBaseServiceInfo(e);return this.loadMoreModalItems(t,e)}},{key:"loadMoreModalItems",value:function loadMoreModalItems(e,t){var n=this,i=this.createBaseServiceInfo(t),o=this.metadataStore.getEntity(nN.ENTITY_NAME);this.entityData={culture:this.context.culture,provider:this.providerName,metadata:o};var a=this.store.getProviders(this.entityData.metadata.setName).subscribe((function(e){if(e.length>1){var t=n.entityData.provider?n.entityData.provider:e.find((function(e){return e.isDefault})).name;n.providerSettings=n.getSettings(e,t)}else n.providerSettings=null}));this.registerSubscription(a);var r={entityData:this.entityData,skip:e.skip,take:e.take,order:"Title desc",filter:[],action:i.action,serviceUrl:this.settings.webServiceLiveUrl};return e.searchText&&r.filter.push({key:this.entityData.metadata.defaultFieldName,value:[e.searchText]}),this.dynamicService.getItemList(r).pipe((0,w.U)((function(t){var i=t.dataItems.map((function(e){return n.cloneAndAddFieldsToDataItem(e)})),o=n.route.parent.snapshot.data.siteDataStore;return n.bundleDataService.requestBatch(t.dataItems.map((function(e){return{id:e.key,action:td,entityData:n.entityData}})),n.entityData,o.Id,!e.skip),i})))}},{key:"cloneAndAddFieldsToDataItem",value:function cloneAndAddFieldsToDataItem(e){return{hasChildren:e.data.HasChildren,id:e.key,dataItem:e}}}]),UseSharedComponent}(E.zu);lN.ctorParameters=function(){return[{type:Ci.dg},{type:pe.EY},{type:eo},{type:Qt.Zr},{type:nd},{type:m.gz}]},lN=(0,a.gn)([(0,l.wA2)({selector:"sf-useshared-view",template:sN}),(0,a.w6)("design:paramtypes",[Ci.dg,pe.EY,eo,Qt.Zr,nd,m.gz])],lN);var cN=n(732),dN=function(e){(0,f.Z)(UnshareComponent,e);var t=(0,p.Z)(UnshareComponent);function UnshareComponent(e,n){var o;return(0,i.Z)(this,UnshareComponent),(o=t.call(this)).dynamicItemService=e,o.metadataStore=n,o.unshareContentName=rs.STOP_SHARING,o}return(0,o.Z)(UnshareComponent,[{key:"initialize",value:function initialize(e){return this.allProperties=e.propertyValues,(0,r.of)(void 0)}},{key:"setValues",value:function setValues(e){this.allProperties=e}},{key:"validate",value:function validate(){return(0,r.of)({isValid:!0})}},{key:"getModifiedProperties",value:function getModifiedProperties(){this.contentItem&&(this.allProperties[nN.CONTENT]=this.contentItem.data.Content);var e=[];return this.allProperties[nN.PROVIER_NAME]=v.WP.EMPTY_STRING,e.push({Name:nN.PROVIER_NAME,Value:this.allProperties[nN.PROVIER_NAME]}),this.allProperties[nN.SHARED_CONTENT_ID]=v.WP.DEFAULT_GUID,e.push({Name:nN.SHARED_CONTENT_ID,Value:this.allProperties[nN.SHARED_CONTENT_ID]}),e.push({Name:nN.CONTENT,Value:this.allProperties[nN.CONTENT]}),e}},{key:"actionExecuting",value:function actionExecuting(e){var t=this;if(e.processChanges){var n=this.allProperties[nN.SHARED_CONTENT_ID],i=this.allProperties[nN.PROVIER_NAME];return this.getContentBlock(n,i).pipe((0,w.U)((function(e){t.contentItem=e})))}return(0,r.of)({})}},{key:"getActions",value:function getActions(){return{operations:[{Title:rs.STOP_SHARING,Category:{Name:"default"},Name:ls.UNSHARE,Ordinal:-1,Description:v.WP.EMPTY_STRING,Link:v.WP.EMPTY_STRING,Parameters:null,RequiresConfirmation:!1}],cssClass:v.WP.EMPTY_STRING}}},{key:"getContentBlock",value:function getContentBlock(e,t){var n=this.metadataStore.getEntity(nN.ENTITY_NAME),i={culture:this.context.culture,provider:t,metadata:n};return this.dynamicItemService.getItem({itemKey:e,entityData:i})}}]),UnshareComponent}(E.zu);dN.ctorParameters=function(){return[{type:Ci.dg},{type:pe.EY}]},dN=(0,a.gn)([(0,l.wA2)({selector:"sf-unshare-view",template:cN}),(0,a.w6)("design:paramtypes",[Ci.dg,pe.EY])],dN);var uN=n(733),fN=function(e){(0,f.Z)(NotShareableComponent,e);var t=(0,p.Z)(NotShareableComponent);function NotShareableComponent(e,n){var o;return(0,i.Z)(this,NotShareableComponent),(o=t.call(this)).dynamicItemService=e,o.metadataStore=n,o.notShareableContentName=rs.SHARING_IS_DISABLED_TITLE,o}return(0,o.Z)(NotShareableComponent,[{key:"initialize",value:function initialize(e){return(0,r.of)(void 0)}},{key:"setValues",value:function setValues(e){}},{key:"validate",value:function validate(){return(0,r.of)({isValid:!0})}},{key:"actionExecuting",value:function actionExecuting(e){return(0,r.of)(void 0)}},{key:"getModifiedProperties",value:function getModifiedProperties(){return[]}},{key:"getActions",value:function getActions(){return{operations:[],cssClass:v.WP.EMPTY_STRING}}}]),NotShareableComponent}(E.zu);fN.ctorParameters=function(){return[{type:Ci.dg},{type:pe.EY}]},fN=(0,a.gn)([(0,l.wA2)({selector:"sf-notshareable-view",template:uN}),(0,a.w6)("design:paramtypes",[Ci.dg,pe.EY])],fN);var pN=function(){function ContentEditorViewProvider(){(0,i.Z)(this,ContentEditorViewProvider)}return(0,o.Z)(ContentEditorViewProvider,[{key:"getViews",value:function getViews(){var e=[];return e.push({key:{widgetName:us.CONTENT_BLOCK,viewName:ls.SHARE},componentData:{type:rN},hideDefaultButtons:!0}),e.push({key:{widgetName:us.CONTENT_BLOCK,viewName:ls.UNSHARE},componentData:{type:dN},hideDefaultButtons:!0}),e.push({key:{widgetName:us.CONTENT_BLOCK,viewName:ls.USE_SHARED},componentData:{type:lN},hideDefaultButtons:!0}),e.push({key:{widgetName:us.CONTENT_BLOCK,viewName:ls.NOT_SHAREABLE},componentData:{type:fN},hideDefaultButtons:!0}),e.push({key:{widgetName:us.CONTENT_BLOCK_MVC,viewName:ls.SHARE},componentData:{type:rN},hideDefaultButtons:!0}),e.push({key:{widgetName:us.CONTENT_BLOCK_MVC,viewName:ls.UNSHARE},componentData:{type:dN},hideDefaultButtons:!0}),e.push({key:{widgetName:us.CONTENT_BLOCK_MVC,viewName:ls.USE_SHARED},componentData:{type:lN},hideDefaultButtons:!0}),e.push({key:{widgetName:us.CONTENT_BLOCK_MVC,viewName:ls.NOT_SHAREABLE},componentData:{type:fN},hideDefaultButtons:!0}),(0,r.of)(e)}},{key:"overrideView",value:function overrideView(e){if(e.widgetName===us.CONTENT_BLOCK||e.widgetName===us.FORM_CONTENT_BLOCK||e.widgetName===us.CONTENT_BLOCK_MVC)return{componentData:{type:oN}}}}]),ContentEditorViewProvider}(),AN={useClass:pN=(0,a.gn)([(0,l.GSi)()],pN),multi:!0,provide:aA},mN=(0,o.Z)((function ContentBlockEditorModule(){(0,i.Z)(this,ContentBlockEditorModule)}));mN.ctorParameters=function(){return[]},mN=(0,a.gn)([(0,l.LVF)({declarations:[rN,lN,dN,fN,oN],imports:[Ut.ez,Gy,cf,XT,Uc.JF],providers:[AN]}),(0,a.w6)("design:paramtypes",[])],mN);var gN=function(e){(0,f.Z)(YesNoFieldProvider,e);var t=(0,p.Z)(YesNoFieldProvider);function YesNoFieldProvider(){return(0,i.Z)(this,YesNoFieldProvider),t.apply(this,arguments)}return(0,o.Z)(YesNoFieldProvider,[{key:"overrideField",value:function overrideField(e){if(e.fieldType===Y.U.choiceList&&e.typeName&&e.typeName.startsWith(us.FIELD_TYPE_KEY))return{writeComponent:ji,settingsType:vN}}}]),YesNoFieldProvider}(H.U);gN=(0,a.gn)([(0,l.GSi)()],gN);var hN,vN=function(e){(0,f.Z)(YesNoChoiceSettings,e);var t=(0,p.Z)(YesNoChoiceSettings);function YesNoChoiceSettings(){return(0,i.Z)(this,YesNoChoiceSettings),t.apply(this,arguments)}return(0,o.Z)(YesNoChoiceSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(YesNoChoiceSettings.prototype),"init",this).call(this,e),this.choices=[{Name:fs.YES_LABEL,Value:"True"},{Name:fs.NO_LABEL,Value:"False"}],this.look="inline"}}]),YesNoChoiceSettings}(_i),bN={provide:H.e,useClass:gN,multi:!0},yN=n(734),EN=n(118),IN=hN=function(e){(0,f.Z)(ViewSelectorComponent,e);var t=(0,p.Z)(ViewSelectorComponent);function ViewSelectorComponent(e,n,o){var a;return(0,i.Z)(this,ViewSelectorComponent),(a=t.call(this,e,o)).store=n,a}return(0,o.Z)(ViewSelectorComponent,[{key:"ngOnInit",value:function ngOnInit(){this.mapChoiceItems(),this.dispatchViewNameChanged(),this.setSelected(),this.settings&&(this.choiceSettings={key:this.settings.key,wrapperCssClass:this.settings.look})}},{key:"onSelectionChange",value:function onSelectionChange(e){(0,Re.Z)((0,Qe.Z)(ViewSelectorComponent.prototype),"onSelectionChange",this).call(this,e),this.dispatchViewNameChanged()}},{key:"dispatchViewNameChanged",value:function dispatchViewNameChanged(){"SfViewName"===this.settings.key&&this.store.dispatch(EN.x.changeViewName({viewName:this.getValue()}))}}]),ViewSelectorComponent}(ji);IN.ctorParameters=function(){return[{type:Ri.q},{type:Hs.dk},{type:c.Y}]};var wN={writeComponent:IN=hN=(0,a.gn)([(0,l.wA2)({selector:"sf-view-selector",template:yN,providers:[(0,Z.A)(hN)]}),(0,a.w6)("design:paramtypes",[Ri.q,Hs.dk,c.Y])],IN),readComponent:IN,settingsType:_i},kN="size-xs black",xN=function(e){(0,f.Z)(EnumFieldProvider,e);var t=(0,p.Z)(EnumFieldProvider);function EnumFieldProvider(){return(0,i.Z)(this,EnumFieldProvider),t.apply(this,arguments)}return(0,o.Z)(EnumFieldProvider,[{key:"overrideField",value:function overrideField(e){return e.fieldType===Y.U.choiceChip&&e.typeName&&e.typeName.startsWith(us.FIELD_TYPE_KEY)?{writeComponent:Hu,settingsType:CN}:e.fieldType===Y.U.choiceMultiple&&e.typeName&&e.typeName.startsWith(us.FIELD_TYPE_KEY)?{writeComponent:xu,settingsType:CN}:e.fieldType===Y.U.choiceDropDown&&e.typeName&&e.typeName.startsWith(us.FIELD_TYPE_KEY)?{writeComponent:Ji,settingsType:SN}:e.fieldType===Y.U.viewSelector&&e.typeName&&e.typeName.startsWith(us.FIELD_TYPE_KEY)?{writeComponent:IN,settingsType:SN}:e.fieldType===Y.U.choice&&e.typeName&&e.typeName.startsWith(us.FIELD_TYPE_KEY)?{writeComponent:ji,readComponent:Iu,settingsType:BN}:void 0}}]),EnumFieldProvider}(H.U);xN=(0,a.gn)([(0,l.GSi)()],xN);var CN=function(e){(0,f.Z)(EnumChoiceSettings,e);var t=(0,p.Z)(EnumChoiceSettings);function EnumChoiceSettings(){return(0,i.Z)(this,EnumChoiceSettings),t.apply(this,arguments)}return(0,o.Z)(EnumChoiceSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(EnumChoiceSettings.prototype),"init",this).call(this,e),this.choices=[];for(var t=this.mapIconChoice(e.choices),n=0;n0||this.dependsOnLength>0;try{this.predefinedLists=this.tableViewPredefinedLists?JSON.parse(this.tableViewPredefinedLists):null}catch(e){}}},{key:"getValidators",value:function getValidators(e){return[]}}]),ComplexSettings}(j.P1),QN=MN=function(e){(0,f.Z)(ComplexComponent,e);var t=(0,p.Z)(ComplexComponent);function ComplexComponent(e,n){var o;return(0,i.Z)(this,ComplexComponent),(o=t.call(this)).fieldsProvider=e,o.createFieldService=n,o.choiceSettings=new Array,o.allowModifyTable=!1,o.valueObject={},o.singleRelatedFieldNames=[],o}return(0,o.Z)(ComplexComponent,[{key:"complexSettings",get:function get(){return this.settings}},{key:"showTableView",get:function get(){return this.complexSettings.typeChildProperties&&this.complexSettings.typeChildProperties.length>0&&(this.complexSettings.isMultiple||this.complexSettings.tableViewEnabled&&this.complexSettings.typeChildProperties.length<=5)}},{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(ComplexComponent.prototype),"ngOnInit",this).call(this);var t=this.getValue();t&&"string"==typeof t?this.valueObject=JSON.parse(t):Array.isArray(t)?this.valueObject=this.parseArrayToObjectArray(t)||{}:this.valueObject=t||{},this.complexSettings.look&&(this.look=this.complexSettings.look);var n=[];if(this.complexSettings.typeChildProperties&&0===this.complexSettings.typeChildProperties.length){var i=this.createPlainListSection();n.push(i)}else if(this.complexSettings.isMultiple){var o=this.settings.itemDefaultValue,a={};o&&!this.value&&(a=JSON.parse(o));for(var r=this.complexSettings.extraRecords,s=1;s<=this.complexSettings.dependsOnLength;s++)r.push({Name:this.complexSettings.lengthDependsOnDisplayName+s,Title:this.complexSettings.lengthDependsOnDisplayTitle+s});if(r.forEach((function(t){var i=e.settings.key+t.Name,o=Up.get(i),r=new Wo.h({isMain:!1,isExpanded:!1,insertHorizontalRule:!1,title:t.Title,name:i,cssClass:o});r.fields=e.getFields(e.complexSettings.typeChildProperties,e.valueObject[t.Name]||a,r.settings.name),n.push(r)})),0===r.length){this.allowModifyTable=!0;var l=this.settings.key,c=Qp.get(l);this.defaultSection=new Wo.h({isMain:!1,isExpanded:!0,insertHorizontalRule:!1,name:l,cssClass:c}),this.defaultSection.fields=this.getFields(this.complexSettings.typeChildProperties,{},l),this.defaultValue=this.value}}else{var d=this.settings,u={isMain:this.showTableView,isExpanded:this.showTableView||d.hideExpander,insertHorizontalRule:!1,title:this.showTableView?d.tableViewColumnTitle:this.settings.title,name:this.settings.key,hideExpander:d.hideExpander},f=new Wo.h(u);f.fields=this.getFields(this.complexSettings.typeChildProperties,this.valueObject,f.settings.name),n.push(f)}this.fieldSections=n}},{key:"validate",value:function validate(){var e=!0,t=this.editableFieldsComponent||this.editableTableComponent;return t&&(t.enableRequiredErrorCheck(),e=t.valid(!1)),e?this.emitStatus({type:Yi.i.Done}):this.emitStatus({type:Yi.i.Error}),e}},{key:"onChange",value:function onChange(e){this.valueObject||(this.valueObject={}),this.singleRelatedFieldNames.some((function(t){return t===e.key}))&&e.value&&Array.isArray(e.value)&&(e.value=e.value[0]);var t=e.sectionName.replace(this.settings.key,"");if(e.isSectionRemoved)this.valueObject[t]&&(delete this.valueObject[t],this.valueObject||this.emitStatus({type:Yi.i.ErrorCleared}));else{if(0===this.complexSettings.typeChildProperties.length)return void(this.value=e.value);var n=e.key.replace(e.sectionName,"");this.complexSettings.isMultiple?(this.valueObject[t]||(this.valueObject[t]={}),this.valueObject[t][n]=e.value):this.valueObject[n]=e.value}"enumerable"===this.complexSettings.type?this.value=this.parseObjectArrayToArray(this.valueObject):this.value=Object.assign({},this.valueObject)}},{key:"onReorder",value:function onReorder(e){this.writeValue(Object.assign({},this.valueObject)),this.reorderedSectionsCache=e}},{key:"postProcessValue",value:function postProcessValue(e){var t=this;if(this.reorderedSectionsCache){var n=Object.values(e),i=n.sort((function(e,i){return t.reorderedSectionsCache.findIndex((function(i){return i.settings.name==="".concat(t.defaultSection.settings.name).concat(n.indexOf(e).toString())}))-t.reorderedSectionsCache.findIndex((function(e){return e.settings.name==="".concat(t.defaultSection.settings.name).concat(n.indexOf(i).toString())}))}));return Object.assign({},i)}return e}},{key:"createPlainListSection",value:function createPlainListSection(){var e={isMain:!0,isExpanded:!0,insertHorizontalRule:!1,title:this.settings.title,name:this.settings.key,hideExpander:!0},t=new Wo.h(e);t.fields=[];var n=(0,Ae.Z)({},Ie.kA,this.complexSettings.required),i=(0,h.ax)(this.fieldsProvider,us.FIELD_TYPE_KEY+"Complex",Y.U.additionalUrls,this.settings.key,this.value,n,null,this.settings.title,!1,"-sf-p-zero -sf-m-zero");return i.settings.showTitle=!1,i.settings.title=this.settings.title,i.settings.addButtonTitle="Add",t.fields.push(i),t}},{key:"getFields",value:function getFields(e,t,n){var i=this,o=[];return e.forEach((function(e){var a=Rp.get(e.Type)||Y.U[e.Type]||Y.U.shortText,r=Qp.get(e.Name),s=i.getValueOrDefault(e,t),l=(0,q.Z)(s,2),c=l[0],d=l[1],u=n+e.Name,f=i.createFieldService.createField(a,u,c,e,e.Title,us.FIELD_TYPE_KEY+"Complex",null,i.settings.culture,r);f.settings.showTitle=f.settings.showTitle&&!i.showTableView,a!==Y.U.relatedData&&a!==Y.U.media||e.Properties.AllowMultiple||i.singleRelatedFieldNames.push(u),f.settings instanceof RN&&(f.settings.hideExpander=!0);var p=e.Properties.Meta_ConditionalVisibility_Condition;p&&(f.settings.conditionalRule=JSON.parse(p),f.settings.conditionalRule.conditions.forEach((function(e){e.fieldName=n+e.fieldName}))),d&&(f.settings.markAsDirty=!0),o.push(f)})),o}},{key:"getValueOrDefault",value:function getValueOrDefault(e,t){return void 0===t[e.Name]&&void 0!==e.DefaultValue?[e.DefaultValue,!0]:[t[e.Name],!1]}},{key:"parseObjectArrayToArray",value:function parseObjectArrayToArray(e){var t=[];e&&(Array.isArray(e)?t=e:Object.getOwnPropertyNames(e).forEach((function(n){t.push(e[n])})));return t}},{key:"parseArrayToObjectArray",value:function parseArrayToObjectArray(e){var t={};return e&&Array.isArray(e)&&e.forEach((function(e,n){t[n.toString()]=e})),t}}]),ComplexComponent}(Z.F);QN.ctorParameters=function(){return[{type:lr.H},{type:eA}]},QN.propDecorators={look:[{type:l.IIB}],editableFieldsComponent:[{type:l.i9L,args:[Xo.I,{static:!1}]}],editableTableComponent:[{type:l.i9L,args:[zb,{static:!1}]}]},QN=MN=(0,a.gn)([(0,l.wA2)({selector:"sf-complex",template:PN,providers:[(0,Z.A)(MN)]}),(0,a.w6)("design:paramtypes",[lr.H,eA])],QN);var UN=n(736),LN=function(e){(0,f.Z)(ColumnsProportionsComponent,e);var t=(0,p.Z)(ColumnsProportionsComponent);function ColumnsProportionsComponent(){var e;return(0,i.Z)(this,ColumnsProportionsComponent),(e=t.apply(this,arguments)).showError=!1,e}return(0,o.Z)(ColumnsProportionsComponent,[{key:"initialize",value:function initialize(e){return this.allProperties=e.propertyValues,this.columnsInfo=this.allProperties.ColumnProportionsInfo?JSON.parse(this.allProperties.ColumnProportionsInfo):[],this.gridSize=this.allProperties.CssSystemGridSize?JSON.parse(this.allProperties.CssSystemGridSize):12,(0,r.of)(void 0)}},{key:"setValues",value:function setValues(e){this.allProperties=e}},{key:"validate",value:function validate(){var e=this.canReduceColumnsCount(parseInt(this.allProperties.ColumnsCount));return this.splitterElement.showError=!e,(0,r.of)({isValid:e})}},{key:"getModifiedProperties",value:function getModifiedProperties(){var e=[];return e.push({Name:"ColumnsCount",Value:this.allProperties.ColumnsCount}),e.push({Name:"ColumnProportionsInfo",Value:this.allProperties.ColumnProportionsInfo}),e}},{key:"actionExecuting",value:function actionExecuting(e){return(0,r.of)({})}},{key:"columnsSizeChange",value:function columnsSizeChange(e){var t=e.length.toString(),n=JSON.stringify(e);(t!==this.allProperties.ColumnsCount.toString()||"1"!==t&&n!==this.allProperties.ColumnProportionsInfo)&&(this.allProperties.ColumnsCount=e.length.toString(),this.allProperties.ColumnProportionsInfo=n,this.fieldChange(e))}},{key:"canReduceColumnsCount",value:function canReduceColumnsCount(e){if(e<1)return!1;if(e>=this.context.component.childContainers.length)return!0;for(var t=e;t0){var n=null;switch(this.getModeOfOperation()){case GN.Taxonomy:n={ItemIdsOrdered:e.value,Content:[{Variations:[{Filter:{Key:"Ids",Value:e.value.join(",")}}]}]};break;case GN.Content:if(this.getShowChipSelector())n={ItemIdsOrdered:e.value,Content:[{Variations:[{Filter:{Key:"Ids",Value:e.value.join(",")}}]}]};else if(this.settings.actAsWrappingMediaField)n={Id:e.value[0].Id,Provider:e.value[0].provider};else{var i={};e.value.forEach((function(e){i[e.provider]||(i[e.provider]=[]),i[e.provider].push(e[t.entity.key])})),n={ItemIdsOrdered:e.value.map((function(e){return e[t.entity.key]})),Content:[{Variations:[]}]},Object.keys(i).forEach((function(e){n.Content[0].Variations.push({Source:e,Filter:{Key:"Ids",Value:i[e].join(",")}})}))}}this.value=n}else this.value=null;this.onSelectionChange.emit(this.value)}},{key:"getWarnings",value:function getWarnings(){return this.isInvalidContentType?[v.qf]:(0,Re.Z)((0,Qe.Z)(ContentSelectorComponent.prototype),"getWarnings",this).call(this)}},{key:"getModeOfOperation",value:function getModeOfOperation(){var e=this.settings.contentType;if(e){if(e.startsWith(jN))return GN.Taxonomy;if(this.store.getEntityByFullTypeName(e))return GN.Content}return null}},{key:"getSingleContext",value:function getSingleContext(){return this.value&&this.value.Content&&this.value.Content.length>0?this.value.Content[0]:null}},{key:"initContent",value:function initContent(e){var t=this;this.entity=this.store.getEntityByFullTypeName(e),this.fallbackProperties=this.settings.contentDisplayFieldName?[this.settings.contentDisplayFieldName]:[this.entity.defaultFieldName];var n=this.getSingleContext();if(this.entity){var i,o,a=(i={},(0,Ae.Z)(i,Ie.D4,this.settings.contentAllowMultipleItemsSelection),(0,Ae.Z)(i,Ie.o2,this.settings.contentProvider||v.VT),i);if(this.entity.isMedia){o=Y.U.media;var l=this.entity;l.mediaFilterEnabled?(a[Ie.H_]=l.acceptableMediaTypes,a[Ie.IG]=l.acceptableFileTypes):a[Ie.IG]=["*"]}else o=Y.U.relatedData;var c=(0,h.ax)(this.fieldsProvider,us.FIELD_TYPE_KEY+"Content",o,this.settings.key,null,a,null,null,!1,"-sf-p-zero -sf-m-zero"),f=c.settings;f.useLiveData=this.settings.contentLiveData,f.provider=a[Ie.o2],f.skipInputSelection=this.settings.contentOpenMultipleItemsSelection,f.disableInteraction=this.settings.contentDisableInteraction,f.displayFieldName=this.settings.contentDisplayFieldName,f.readOnlyMode=this.settings.readOnlyMode;var p=null;if(this.settings.contentShowSiteSelector&&(f.showSiteSelector=!0,p=(0,Ae.Z)({},g.Tx.GET_ALL_ITEMS,!0)),this.entity.setName===u.gl.PIPE_SETTINGS&&this.route.snapshot.data.itemData&&(p=(0,Ae.Z)({},g.Tx.SEARCHINDEXID,this.route.snapshot.data.itemData.entityData.Id)),this.settings.filter&&(f.filter=this.settings.filter),this.entity.isMedia){var A=f;A.name=A.key,f.type=zp.get(this.entity.setName),f.useLiveData=!0,this.settings.actAsWrappingMediaField&&(A.look="inline",A.openPickerWhenEmpty=this.settings.openPickerWhenEmpty,A.chipLike=!this.settings.openPickerWhenEmpty,A.provider=v.VT,A.canRelateDamAssets=!0,A.hidePropertiesLabel=!0)}else f.type=this.entity.setName,f.isNestedInParentControl=!0;if(this.entity.hasLifecycle||this.entity.setName===u.gl.FORMS||(f.hideStatus=!0),o===Y.U.media&&a[Ie.o2]===v.VT&&(c.settings.canRelateDamAssets=!0),n){var m=n.Variations.map((function(e){var n={metadata:t.entity,provider:e.Source,culture:t.settings.culture};return e.Filter.Value?t.service.getItemsByKeys({entityData:n,serviceUrl:t.settings.contentLiveData?t.settingsService.webServiceLiveUrl:void 0,keyProperty:t.entity.key,keys:e.Filter.Value.split(","),fallbackProperties:t.fallbackProperties,additionalQueryParams:p}):(0,r.of)({totalCount:0,entityData:n,dataItems:[]})}));(0,s.aj)(m).subscribe((function(e){var n=[];e.forEach((function(e){n.push.apply(n,(0,J.Z)(e.dataItems))}));var i=t.value.ItemIdsOrdered;null!=i&&i.length>0&&n.sort((function(e,t){return i.findIndex((function(t){return t===e.key}))-i.findIndex((function(e){return e===t.key}))})),c.value=n.map((function(e){return(0,d.kI)(e.data)})),t.wrapInSection(c)}))}else this.wrapInSection(c)}}},{key:"initTaxonomy",value:function initTaxonomy(e){var t=this;if(this.getModeOfOperation()===GN.Taxonomy){this.entity=this.store.getEntity(u.gl.CLASSIFICATIONS);var n=e.replace(jN,v.WP.EMPTY_STRING),i={metadata:this.entity,provider:null,culture:this.settings.culture},o=[{key:"Name",value:[n],searchMode:b.N.equals}];this.service.getItemList({entityData:i,filter:o}).subscribe((function(e){var n=e.dataItems;if(1===n.length){var i,o=n[0].data,a=(i={},(0,Ae.Z)(i,md.ZP.TAXONOMY_NAME,o.Name),(0,Ae.Z)(i,md.ZP.TAXONOMY_ID,o.Id),(0,Ae.Z)(i,md.ZP.TAXONOMY_TYPE,o.TaxaUrl),(0,Ae.Z)(i,Ie.D4,t.settings.contentAllowMultipleItemsSelection),i),r=(0,h.ax)(t.fieldsProvider,us.FIELD_TYPE_KEY+"Content",Y.U.taxa,t.settings.key,null,a,null,null,!1,"-sf-p-zero -sf-m-zero");r.settings.isNestedInParentControl=!0;var s=t.getSingleContext();s&&(r.value=s&&s.Variations?s.Variations[0].Filter.Value.split(","):null),t.wrapInSection(r)}else t.isInvalidContentType=!0,t.emitStatus({type:Yi.i.Warning})}))}else if(this.entity=this.store.getEntityByFullTypeName(e),this.fallbackProperties=this.settings.contentDisplayFieldName?[this.settings.contentDisplayFieldName]:[this.entity.defaultFieldName],this.entity){var a,r=(a={},(0,Ae.Z)(a,md.ZP.TAXONOMY_TYPE,this.entity.setName),(0,Ae.Z)(a,Ie.D4,this.settings.contentAllowMultipleItemsSelection),a),s=(0,h.ax)(this.fieldsProvider,us.FIELD_TYPE_KEY+"Content",Y.U.taxa,this.settings.key,null,r,null,null,!1,"-sf-p-zero -sf-m-zero"),l=s.settings;l.isNestedInParentControl=!0,l.skipInputSelection=this.settings.contentOpenMultipleItemsSelection;var c=this.getSingleContext();c?(s.value=c&&c.Variations?c.Variations[0].Filter.Value.split(","):null,l.immutableitemIds=s.value.filter((function(e){return e===t.currentSiteId}))):this.entity.setName===u.gl.SITES&&(s.value=[this.currentSiteId],l.immutableitemIds=[this.currentSiteId]),this.wrapInSection(s)}else this.isInvalidContentType=!0,this.emitStatus({type:Yi.i.Warning})}},{key:"wrapInSection",value:function wrapInSection(e){var t={isMain:!0,isExpanded:!0,insertHorizontalRule:!1,hideTitle:!0,name:this.settings.key},n=new Wo.h(t);e.settings.showTitle=!1,e.settings.culture=this.settings.culture,e.settings.allowCreate=this.settings.allowCreate,e.settings.allowView=this.settings.allowView,n.fields.push(e),this.fieldSections=[n]}},{key:"getShowChipSelector",value:function getShowChipSelector(){return"Telerik.Sitefinity.Pages.Model.PageNode"===this.settings.contentType&&!this.settings.contentAllowMultipleItemsSelection||"chips"===this.settings.contentTemplate}}]),ContentSelectorComponent}(Z.F);WN.ctorParameters=function(){return[{type:Qt.Zr},{type:m.gz},{type:lr.H},{type:Ci.dg},{type:pe.EY},{type:Qi}]},WN.propDecorators={onSelectionChange:[{type:l.r_U}]},WN=VN=(0,a.gn)([(0,l.wA2)({selector:"sf-content-selector",template:YN,providers:[(0,Z.A)(VN)]}),(0,a.w6)("design:paramtypes",[Qt.Zr,m.gz,lr.H,Ci.dg,pe.EY,Qi])],WN),function(e){e[e.Taxonomy=0]="Taxonomy",e[e.Content=1]="Content"}(GN||(GN={}));var JN={writeComponent:WN,readComponent:WN,settingsType:j.P1},qN=function(e){(0,f.Z)(NumberFieldProvider,e);var t=(0,p.Z)(NumberFieldProvider);function NumberFieldProvider(){return(0,i.Z)(this,NumberFieldProvider),t.apply(this,arguments)}return(0,o.Z)(NumberFieldProvider,[{key:"overrideField",value:function overrideField(e){if(e.fieldType===Y.U.number&&e.typeName&&e.typeName.startsWith(us.FIELD_TYPE_KEY))return{writeComponent:gu,settingsType:KN}}}]),NumberFieldProvider}(H.U);qN=(0,a.gn)([(0,l.GSi)()],qN);var XN,KN=function(e){(0,f.Z)(WidgetNumberSettings,e);var t=(0,p.Z)(WidgetNumberSettings);function WidgetNumberSettings(){return(0,i.Z)(this,WidgetNumberSettings),t.apply(this,arguments)}return(0,o.Z)(WidgetNumberSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(WidgetNumberSettings.prototype),"init",this).call(this,e),this.type="number"}}]),WidgetNumberSettings}(aM.V1),$N={provide:H.e,useClass:qN,multi:!0},eF=n(738),tF=function(e){(0,f.Z)(ContentSettings,e);var t=(0,p.Z)(ContentSettings);function ContentSettings(){return(0,i.Z)(this,ContentSettings),t.apply(this,arguments)}return(0,o.Z)(ContentSettings)}(j.P1),nF=n(739),iF=XN=function(e){(0,f.Z)(DateTimeSelectorComponent,e);var t=(0,p.Z)(DateTimeSelectorComponent);function DateTimeSelectorComponent(){return(0,i.Z)(this,DateTimeSelectorComponent),t.call(this)}return(0,o.Z)(DateTimeSelectorComponent,[{key:"fromDateComponent",set:function set(e){e&&e.writeValue(this.currentValue.FromDate)}},{key:"toDateComponent",set:function set(e){e&&e.writeValue(this.currentValue.ToDate)}},{key:"timeSpanValueComponent",set:function set(e){e&&e.writeValue(this.currentValue.TimeSpanValue)}},{key:"ngOnInit",value:function ngOnInit(){var e,t;(0,Re.Z)((0,Qe.Z)(DateTimeSelectorComponent.prototype),"ngOnInit",this).call(this),this.currentValue=null!==(t=null!==(e=this.value)&&void 0!==e?e:this.settings.defaultValue)&&void 0!==t?t:new aF,this.periodTypeSettings=new _i("periodTypeSelector",!1),this.periodTypeSettings.choices=[],this.periodTypeSettings.choices.push({Name:"Any time",Value:"anyTime"}),this.periodTypeSettings.choices.push({Name:"Last...",Value:"last"}),this.periodTypeSettings.choices.push({Name:"From - to",Value:"period"}),this.periodTypeSettings.defaultValue=this.currentValue.PeriodType,this.periodSettings=new _i("periodSelector",!1),this.periodSettings.choices=[],this.periodSettings.choices.push({Name:"day(s)",Value:"days"}),this.periodSettings.choices.push({Name:"week(s)",Value:"weeks"}),this.periodSettings.choices.push({Name:"month(s)",Value:"months"}),this.periodSettings.choices.push({Name:"year(s)",Value:"years"}),this.periodSettings.defaultValue=this.currentValue.TimeSpanInterval,this.fromDateSettings=new _i("fromDateSelector",!1),this.fromDateSettings.defaultValue=this.currentValue.FromDate,this.toDateSettings=new _i("toDateSelector",!1),this.toDateSettings.defaultValue=this.currentValue.ToDate}},{key:"onPeriodTypeSelectionChange",value:function onPeriodTypeSelectionChange(e){var t=this.currentValue;t.PeriodType=e,this.writeValue(t)}},{key:"onPeriodSelectionChange",value:function onPeriodSelectionChange(e){var t=this.currentValue;t.TimeSpanInterval=e,this.writeValue(t)}},{key:"onInput",value:function onInput(e){var t=this.currentValue;t.TimeSpanValue=e.target.value,this.writeValue(t)}},{key:"onDateValueChange",value:function onDateValueChange(e,t){var n=this.currentValue;n[t]=e,this.writeValue(n)}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(DateTimeSelectorComponent.prototype),"writeValue",this).call(this,e),this.onChangeCallback&&this.onChangeCallback(e)}}]),DateTimeSelectorComponent}(Z.F);iF.ctorParameters=function(){return[]},iF.propDecorators={fromDateComponent:[{type:l.i9L,args:["fromDate",{static:!1}]}],toDateComponent:[{type:l.i9L,args:["toDate",{static:!1}]}],timeSpanValueComponent:[{type:l.i9L,args:["timeSpanValue",{static:!1}]}]},iF=XN=(0,a.gn)([(0,l.wA2)({selector:"sf-datetime-selector",template:nF,providers:[(0,Z.A)(XN)]}),(0,a.w6)("design:paramtypes",[])],iF);var oF,aF=(0,o.Z)((function DateTimeFilterValue(){(0,i.Z)(this,DateTimeFilterValue),this.PeriodType="anyTime",this.TimeSpanValue=1,this.TimeSpanInterval="weeks"})),rF=(j.P1,(0,o.Z)((function CombinedFilter(){(0,i.Z)(this,CombinedFilter)}))),sF=(0,o.Z)((function FilterClause(){(0,i.Z)(this,FilterClause)})),lF=(0,o.Z)((function DateInterval(){(0,i.Z)(this,DateInterval)})),cF=function(){function DateTimeFilterParser(){(0,i.Z)(this,DateTimeFilterParser)}return(0,o.Z)(DateTimeFilterParser,null,[{key:"parseToDateTimeInterval",value:function parseToDateTimeInterval(e,t){var n,i=this;if(!e)return new aF;var o=(null!==(n=(e?JSON.parse(e):new rF).ChildFilters)&&void 0!==n?n:[]).find((function(e){return i.isDateFilter(e,t)}));if(o&&o.DateFieldName){var a=o,r=new aF;return r.PeriodType="last",r.TimeSpanInterval=a.OffsetType,r.TimeSpanValue=a.OffsetValue?Number.parseInt(a.OffsetValue.toString()):a.OffsetValue,r}var s=new aF,l=o?o.ChildFilters.map((function(e){return e})):[];if(1===l.length&&"lt"===l[0].Operator){s.PeriodType="period";var c=new Date(l[0].FieldValue);s.ToDate=c}else if(1===l.length&&"gt"===l[0].Operator){s.PeriodType="period";var d=new Date(l[0].FieldValue);s.FromDate=d}else 2===l.length&&(s.PeriodType="period",s.FromDate=new Date(l[0].FieldValue),s.ToDate=new Date(l[1].FieldValue));return s}},{key:"parseDateTimeIntervalToFilter",value:function parseDateTimeIntervalToFilter(e,t){if(e&&"last"===e.PeriodType){var n=new lF;return n.DateFieldName=t,n.OffsetType=e.TimeSpanInterval,n.OffsetValue=e.TimeSpanValue,n}if(e&&"period"===e.PeriodType){var i=new rF;if(i.Operator="and",i.ChildFilters=[],e.FromDate){var o=new sF;o.FieldName=t,o.Operator="gt",o.FieldValue=e.FromDate,i.ChildFilters.push(o)}if(e.ToDate){var a=new sF;a.FieldName=t,a.Operator="lt",a.FieldValue=e.ToDate,i.ChildFilters.push(a)}if(i.ChildFilters.length>0)return i}return null}},{key:"isDateFilter",value:function isDateFilter(e,t){return!!e.DateFieldName||!!e.ChildFilters&&e.ChildFilters.findIndex((function(e){return e.FieldName===t}))>-1}}]),DateTimeFilterParser}(),dF=oF=function(e){(0,f.Z)(FilterContentSelectorComponent,e);var t=(0,p.Z)(FilterContentSelectorComponent);function FilterContentSelectorComponent(e,n,o,a,r,s,l){var c;return(0,i.Z)(this,FilterContentSelectorComponent),(c=t.call(this)).store=e,c.locatableItemsService=n,c.route=o,c.providerStore=a,c.filterStore=r,c.appStore=s,c.ref=l,c.dateFieldName="PublicationDate",c.excludedContentTypes=["contentitems","pages","images","documents","videos"],c.excludedFilterTypes=["date-range","User","predefined","last-modified","extensions"],c.filterProperties$=new re.t(1),c.currentFilters={},c.currentComplexFilterValue={Key:pF,Value:""},c.currentSelectedItemsIds=[],c}return(0,o.Z)(FilterContentSelectorComponent,[{key:"selectedItemsComponent",set:function set(e){var t=this;e&&e.registerOnChange((function(e){var n=t.getValue();e&&e.Content?(e.Content[0].Type=n.Content[0].Type,t.writeValue(e)):(n.ItemIdsOrdered=[],n.Content[0].Variations[0].Filter={Key:pF,Value:""},t.writeValue(n))}))}},{key:"dateTimeComponent",set:function set(e){var t=this;e&&e.registerOnChange((function(n){t.onDateTimeFilterChanged(n,e)}))}},{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(FilterContentSelectorComponent.prototype),"ngOnInit",this).call(this);var t=this.route.parent.snapshot.data.siteDataStore;this.emitStatus({type:Yi.i.Pending});var n=this.locatableItemsService.getLocatableEntitySetNames(t.Id).subscribe((function(t){if(!t.isLoading){var n=e.store.getValue().entities,i=t.content.value.filter((function(t){return-1===e.excludedContentTypes.findIndex((function(e){return e===t}))})).filter((function(e){return n[e]})).map((function(e){return{Name:n[e].displayName,Value:n[e].typeFullName}}));e.value&&e.value.Content&&0!==e.value.Content.length||e.clearFilters(null);var o=[{Name:"Select content type",Value:null}].concat(i);e.initializeContentSettings(o),e.selectedContentType&&(e.initializeEntityData(),e.initializeRadioSettings(),e.loadFilters())}}));this.registerSubscription(n)}},{key:"ngOnDestroy",value:function ngOnDestroy(){this.appStore.dispatch(EN.x.changeItemType({itemType:null,value:null}))}},{key:"onContentSelectionChange",value:function onContentSelectionChange(e){this.clearSelectedFilters(),this.clearFilters(e),e?(this.initializeEntityData(),this.initializeRadioSettings(),this.loadFilters()):this.appStore.dispatch(EN.x.changeItemType({itemType:null,value:null}))}},{key:"onProviderSelectionChange",value:function onProviderSelectionChange(e){if(this.clearSelectedFilters(),this.getValue().Content[0].Variations[0].Source!==e.tabValue){this.contentItemsSettings=null,this.ref.detectChanges(),this.entityData.metadata.selectedProvider=e.tabValue;var t=this.getValue();t.Content[0].Variations[0].Source=e.tabValue,this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0&&(t.ItemIdsOrdered=[]),t.Content[0].Variations[0].Filter={Key:pF,Value:""},this.writeValue(t),this.initializeSelectedContentItems(e.tabValue),this.initializeFilterByParentField(e.tabValue)}}},{key:"onRadioSelectionChange",value:function onRadioSelectionChange(e){this.showContentSelector="Selected"===e;var t=this.getValue();if(t.Content[0].Variations[0].DynamicFilterByParent=!1,"Selected"===e){this.currentComplexFilterValue=t.Content[0].Variations[0].Filter,t.ItemIdsOrdered=this.currentSelectedItemsIds,t.Content[0].Variations[0].Filter=this.currentSelectedItemsFilterValue;var n=this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0;this.contentItemsSettings.defaultValue=n?this.getValue():null}"All"!==e&&"CurrentParent"!==e||(this.currentSelectedItemsIds=t.ItemIdsOrdered,t.ItemIdsOrdered=[],this.currentSelectedItemsFilterValue=t.Content[0].Variations[0].Filter,t.Content[0].Variations[0].Filter=this.currentComplexFilterValue,"CurrentParent"===e&&(t.Content[0].Variations[0].DynamicFilterByParent=!0),this.ref.detectChanges(),this.initializeFilterByParentField(this.contentItemsSettings.contentProvider)),this.writeValue(t)}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(FilterContentSelectorComponent.prototype),"writeValue",this).call(this,e),this.onChangeCallback&&this.onChangeCallback(e)}},{key:"loadFilters",value:function loadFilters(){var e=this;this.filtersSubscription&&this.filtersSubscription.unsubscribe(),this.emitStatus({type:Yi.i.Pending}),this.dateTimeSettings=this.createDateTimeComponentSettings(),this.filtersSubscription=this.filterStore.getCustomFilters(this.entityData).subscribe((function(t){var n=[];if(!t.isLoading){var i=[];if(t.filters){var o=t.filters.filter((function(t){return-1===e.excludedFilterTypes.findIndex((function(e){return e===t.name}))}));i.push.apply(i,(0,J.Z)(o))}e.addFilterByParent(i),n=i.map((function(t){var n=e.createFilterComponentSettings(t);return{title:t.title.toLowerCase(),settings:n}}))}e.filterProperties$.next(n),e.emitStatus({type:Yi.i.Done})})),this.registerSubscription(this.filtersSubscription)}},{key:"addFilterByParent",value:function addFilterByParent(e){var t=!1,n=e.findIndex((function(e){return"Parent"===e.name}));if(n>=0){t=!0;var i=e.splice(n,1)[0];e.unshift(i)}if(this.entityData.metadata.hasParent&&!t){var o=this.store.getEntity(this.entityData.metadata.parent),a={name:"Parent",title:"By ".concat(o.setName),parameters:{type:"call",contentPluralName:o.setName,contentSingularName:o.singularName}};e.unshift(a)}}},{key:"clearFilters",value:function clearFilters(e){this.value={ItemIdsOrdered:[],Content:[{Type:e,Variations:[{Source:null,Filter:{Key:pF,Value:""}}]}]},this.selectedContentType=e,this.showContentSelector=!1}},{key:"createFilterComponentSettings",value:function createFilterComponentSettings(e){var t,n=new tF(e.name,!1),i=e.parameters.contentPluralName;"Parent"===e.name?(n.contentType=this.store.getEntity(i.toLocaleLowerCase()).typeFullName,n.key="ParentId",n.contentDisableInteraction=!0,n.contentProvider=this.contentItemsSettings.contentProvider):n.contentType="Taxonomy_"+e.parameters.contentPluralName,n.contentAllowMultipleItemsSelection=!0,n.contentLiveData=this.settings.contentLiveData,n.culture=this.settings.culture;var o=this.value.Content[0].Variations;if(o&&o.length>0){var a=o[0].Filter;if(a&&a.Key===pF){var r=a.Value,s=(null!==(t=(r?JSON.parse(r):new rF).ChildFilters)&&void 0!==t?t:[]).find((function(e){return e.FieldName===n.key})),l=s?s.FieldValue:null;l&&l.length>0&&(n.defaultValue={ItemIdsOrdered:l,Content:[{Variations:[{Filter:{Key:"Ids",Value:l.join(",")},Source:n.contentProvider}]}]})}}return n}},{key:"clearSelectedFilters",value:function clearSelectedFilters(){this.currentSelectedItemsIds=[],this.currentSelectedItemsFilterValue=null,this.currentComplexFilterValue={Key:pF,Value:""}}},{key:"createDateTimeComponentSettings",value:function createDateTimeComponentSettings(){var e=new j.P1("datePublished",!1);e.title="Date published";var t=this.value.Content[0].Variations;if(t&&t.length>0){var n=t[0].Filter;if(n&&n.Key===pF){var i=n.Value;e.defaultValue=cF.parseToDateTimeInterval(i,this.dateFieldName)}}return e}},{key:"onFilterChanged",value:function onFilterChanged(e,t){var n,i=this.getValue(),o=t.key,a=i.Content[0].Variations[0].Filter;if(a&&a.Key===pF){var r=a.Value?JSON.parse(a.Value):{Operator:"And",ChildFilters:[]},s=null!==(n=r.ChildFilters)&&void 0!==n?n:[],l=s.findIndex((function(e){return e.FieldName===o})),c=e?e.ItemIdsOrdered:[];if(l>-1)0===c.length?s.splice(l,1):s[l].FieldValue=c;else if(c&&c.length>0){var d=new sF;d.FieldName=o,d.Operator="any+or",d.FieldValue=c,s.push(d)}i.Content[0].Variations[0].Filter.Value=JSON.stringify(r)}this.writeValue(i)}},{key:"onDateTimeFilterChanged",value:function onDateTimeFilterChanged(e,t){var n,i=this,o=this.getValue(),a=o.Content[0].Variations[0].Filter;if(a&&a.Key===pF){var r=a.Value?JSON.parse(a.Value):{Operator:"And",ChildFilters:[]},s=(null!==(n=r.ChildFilters)&&void 0!==n?n:[]).filter((function(e){return!cF.isDateFilter(e,i.dateFieldName)}));if(r.ChildFilters=s,e&&"anyTime"!==e.PeriodType){var l=cF.parseDateTimeIntervalToFilter(e,this.dateFieldName);l&&r.ChildFilters.push(l)}o.Content[0].Variations[0].Filter.Value=JSON.stringify(r)}this.writeValue(o)}},{key:"initializeContentSettings",value:function initializeContentSettings(e){this.selectedContentType=this.getValue().Content[0].Type;var t=this.selectedContentType;this.contentSettings=Ji.createFieldSettings(e,t)}},{key:"initializeEntityData",value:function initializeEntityData(){var e=this,t=this.getValue().Content[0].Variations,n=t&&t.length>0?t[0].Source:null,i=this.store.getEntityByFullTypeName(this.selectedContentType);this.entityData={culture:this.settings.culture,provider:n,metadata:i},this.appStore.dispatch(EN.x.changeItemType({itemType:this.entityData.metadata.setName,value:(0,d.kI)(this.getValue())}));var o=this.providerStore.getProviders(this.entityData.metadata.setName).subscribe((function(t){e.showProvidersDropdown=t.length>1}));this.registerSubscription(o),this.initializeSelectedContentItems(n)}},{key:"initializeSelectedContentItems",value:function initializeSelectedContentItems(e){this.contentItemsSettings=null,this.contentItemsSettings=new tF(this.selectedContentType,!1),this.contentItemsSettings.contentType=this.selectedContentType,this.contentItemsSettings.contentAllowMultipleItemsSelection=!0,this.contentItemsSettings.culture=this.settings.culture,this.contentItemsSettings.contentLiveData=this.settings.contentLiveData,this.contentItemsSettings.contentProvider=e,this.contentItemsSettings.useDefaultValue=!0;var t=this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0;this.contentItemsSettings.defaultValue=t?this.getValue():null}},{key:"initializeRadioSettings",value:function initializeRadioSettings(){if(this.radioSettings=new _i("radioSelector",!1),this.radioSettings.choices=[],this.radioSettings.choices.push({Name:"All published items",Value:"All"}),this.entityData.metadata.hasParent&&this.radioSettings.choices.push({Name:"From currently opened parent",Value:"CurrentParent"}),this.radioSettings.choices.push({Name:"Selected items",Value:"Selected"}),this.getValue().Content[0].Variations[0].DynamicFilterByParent)this.radioSettings.defaultValue="CurrentParent";else{var e=this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0;this.radioSettings.defaultValue=e?"Selected":"All",this.showContentSelector=e}}},{key:"initializeFilterByParentField",value:function initializeFilterByParentField(e){var t=this.contentSelectors.toArray().find((function(e){return"ParentId"===e.settings.key}));t&&(t.settings.contentProvider=e,t.value&&(t.value.Content[0].Variations[0].Filter={Key:pF,Value:""}),t.ngOnInit())}}]),FilterContentSelectorComponent}(Z.F);dF.ctorParameters=function(){return[{type:pe.EY},{type:ik},{type:m.gz},{type:eo},{type:Vr},{type:Hs.dk},{type:l.sBO}]},dF.propDecorators={selectedItemsComponent:[{type:l.i9L,args:["selectedItemsComponent",{static:!1}]}],dateTimeComponent:[{type:l.i9L,args:["dateTimeComponent",{static:!1}]}],contentFilterRadio:[{type:l.i9L,args:["contentFilterRadio",{static:!1}]}],contentSelectors:[{type:l.vR,args:[WN]}]},dF=oF=(0,a.gn)([(0,l.wA2)({selector:"sf-filtercontent-selector",template:eF,providers:[(0,Z.A)(oF)]}),(0,a.w6)("design:paramtypes",[pe.EY,ik,m.gz,eo,Vr,Hs.dk,l.sBO])],dF);var uF,fF=function(e){(0,f.Z)(FilterContentSelectorSettings,e);var t=(0,p.Z)(FilterContentSelectorSettings);function FilterContentSelectorSettings(){return(0,i.Z)(this,FilterContentSelectorSettings),t.apply(this,arguments)}return(0,o.Z)(FilterContentSelectorSettings)}(j.P1),pF="Complex",AF={writeComponent:dF,readComponent:dF,settingsType:fF},mF=n(740),gF=uF=function(e){(0,f.Z)(ListSettingsComponent,e);var t=(0,p.Z)(ListSettingsComponent);function ListSettingsComponent(){var e;return(0,i.Z)(this,ListSettingsComponent),(e=t.apply(this,arguments)).choices=[{Value:"Paging",Name:"Use paging -"},{Value:"Limit",Name:"Show limited number -"}],e}return(0,o.Z)(ListSettingsComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(ListSettingsComponent.prototype),"ngOnInit",this).call(this),this.choices[0].ExpandedTemplate=this.choice0Template,this.choices[1].ExpandedTemplate=this.choice1Template,this.simpleChoiceSettings={key:this.settings.key,choiceCssClass:"-sf-flex",labelCssClass:"-width-auto",textCssClass:"sf-row -align-items-center -sf-txt-nowrap",showExpandedTemplateAlways:!0},this.value||this.initializeEmptyValue(),this.itemsPerPageValue=this.value.ItemsPerPage,this.limitCountValue=this.value.LimitItemsCount,this.setSelected()}},{key:"initializeEmptyValue",value:function initializeEmptyValue(){this.writeValue(new bF)}},{key:"onInputChange",value:function onInputChange(e,t){this.value||this.initializeEmptyValue();var n=this.getValue();n[t]=e.value,this.writeValue(n)}},{key:"onRadioSelectionChange",value:function onRadioSelectionChange(e){var t=this.choices[e].Value;this.value||this.initializeEmptyValue();var n=this.getValue();n.DisplayMode=t,this.writeValue(n),this.choices[e].Selected=this.isChecked(t)}},{key:"setSelected",value:function setSelected(){for(var e=0;e0?i.setChoices(i.initialChoices):i.setChoices(i.initialChoices.filter((function(e){return"Manually"!==e.Value}))),!0)}},{key:"getOrderByField",value:function getOrderByField(e){var t=e.find((function(e){return e.settings.key===h.E.ORDER_BY}));return t&&t instanceof xF?t:null}}]),ContentListWidgetFieldsChangeService}();EF=hF=(0,a.gn)([(0,l.GSi)()],EF);var IF,wF={provide:Lf.q,useClass:EF,multi:!0},kF={changeItemType:(0,Ys.Ys)((0,Ys.P1)((function(e){return e.fields}),(function(e){return e.contentSelector}))),changeViewName:(0,Ys.Ys)((0,Ys.P1)((function(e){return e.fields}),(function(e){return e.viewName})))},xF=IF=function(e){(0,f.Z)(ChoiceServiceUrlComponent,e);var t=(0,p.Z)(ChoiceServiceUrlComponent);function ChoiceServiceUrlComponent(e,n,o){var a;return(0,i.Z)(this,ChoiceServiceUrlComponent),(a=t.call(this,e,o)).store=n,a}return(0,o.Z)(ChoiceServiceUrlComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(ChoiceServiceUrlComponent.prototype),"ngOnInit",this).call(this);var t=this.settings.choiceServiceUrl;t&&this.registerSubscription(this.store.pipe(kF.changeItemType).subscribe((function(n){n&&n.itemType?(e.setHidden(!1),e.httpRequestWrapper.get$(n.itemType+t).subscribe((function(t){t.isLoading||(e.initialChoices&&e.writeValue(t.content.value[0].Value),e.initialChoices=t.content.value,EF.processSelectedItemsFieldChange(n.value,[e])||e.setChoices(e.initialChoices))}),(function(){e.settings.choices=[],e.choices=[],(0,Re.Z)((0,Qe.Z)(ChoiceServiceUrlComponent.prototype),"ngOnInit",e).call(e)}))):e.setHidden(!0)})))}},{key:"loadChoices",value:function loadChoices(){return Mr.C}},{key:"setChoices",value:function setChoices(e){this.settings.choices=e,this.mapChoiceItems();var t=this.getValue();(0,Re.Z)((0,Qe.Z)(ChoiceServiceUrlComponent.prototype),"ngOnInit",this).call(this),this.choices.findIndex((function(e){return e.Value===t}))>-1?this.writeValue(t):this.writeValue(this.choices[0].Value),this.choiceSettings={key:this.settings.key,wrapperCssClass:this.settings.look}}}]),ChoiceServiceUrlComponent}(ji);xF.ctorParameters=function(){return[{type:Ri.q},{type:Hs.dk},{type:c.Y}]};var CF={writeComponent:xF=IF=(0,a.gn)([(0,l.wA2)({selector:"sf-choice-service-url",template:yF,providers:[(0,Z.A)(IF)]}),(0,a.w6)("design:paramtypes",[Ri.q,Hs.dk,c.Y])],xF),readComponent:xF,settingsType:_i},SF=n(742),BF=function(e){(0,f.Z)(ListFieldMappingsBase,e);var t=(0,p.Z)(ListFieldMappingsBase);function ListFieldMappingsBase(e,n,o){var a;return(0,i.Z)(this,ListFieldMappingsBase),(a=t.call(this)).tweaksStore=e,a.store=n,a.metaDataStore=o,a.NO_VIEW_LABEL="No fields defined for the selected template. Contact your administrator.",a.NO_TYPE_LABEL="Content type not set",a.fields$=new re.t(1),a.viewNameExists=!1,a.fields=[],a}return(0,o.Z)(ListFieldMappingsBase,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(ListFieldMappingsBase.prototype),"ngOnInit",this).call(this);var t=this.store.pipe(kF.changeViewName),n=this.store.pipe(kF.changeItemType),i=(0,s.aj)([t,n]).subscribe((function(t){var n=(0,q.Z)(t,2),i=n[0],o=n[1];if(i){var a=JSON.parse(e.settings.viewMetaData)[i];e.viewNameExists=a&&a.length>0,e.viewNameExists&&(e.contentType=null==o?void 0:o.itemType,o&&o.itemType?(0,In.D)(e.tweaksStore.initializeForm(e.contentType,g.jc.EDIT,null,null,null)).subscribe((function(){var t=e.tweaksStore.getFormByType(e.contentType,g.jc.EDIT),n=e.metaDataStore.getEntity(e.contentType);e.initFields(),a.forEach((function(i,o){var a=new NF;a.Title=i.fieldTitle,a.Type=i.fieldType,a.Ordinal=o+1;var r=Object.getOwnPropertyNames(n.properties).filter((function(e){var t=n.properties[e][Ie.Pe];return void 0===t||!t})).filter((function(t){return e.metaTypeEqualsFieldType(i.fieldType,n,t)})).map((function(e){var n=t.find((function(t){return t.name===e}));return{Name:(null==n?void 0:n.title)||e,Value:e}}));r&&r.length>0&&e.modifyFieldInfo(a,n,r),e.fields.push(a)})),e.updateFields()})):(e.initFields(),a.forEach((function(t,n){var i=new NF;i.Title=t.fieldTitle,i.Type=t.fieldType,i.Ordinal=n+1,e.fields.push(i)})),e.updateFields()))}else e.viewNameExists=!1}));this.registerSubscription(i)}},{key:"writeValue",value:function writeValue(e){(0,Re.Z)((0,Qe.Z)(ListFieldMappingsBase.prototype),"writeValue",this).call(this,e),this.onChangeCallback&&this.onChangeCallback(e)}},{key:"initFields",value:function initFields(){this.fields=[]}},{key:"metaTypeEqualsFieldType",value:function metaTypeEqualsFieldType(e,t,n){if(this.checkSimpleTypesMatch(e,t.properties[n]))return!0;if(e.startsWith("RelatedData")){var i=this.metaDataStore.getRelationshipPartnerTypeName(t,n);if(i)return!this.metaDataStore.getEntityByFullTypeName(i).isMedia}else if(e.startsWith("Related")){var o=this.metaDataStore.getRelationshipPartnerTypeName(t,n);if(o)return this.metaDataStore.getEntityByFullTypeName(o).isMedia}return!1}},{key:"updateFields",value:function updateFields(){var e=this.fields.sort((function(e,t){return void 0===e.Ordinal?-1:void 0===t.Ordinal?1:e.Ordinal-t.Ordinal}));this.fields$.next(e)}},{key:"checkSimpleTypesMatch",value:function checkSimpleTypesMatch(e,t){return"ShortText"===e||"LongText"===e||"Text"===e?this.checkTextTypesMatch(e,t):"Boolean"===e||"YesNo"===e?"boolean"===t.type||Array.isArray(t.type)&&t.type.includes("boolean"):"DateTime"===e?("string"===t.type||Array.isArray(t.type)&&t.type.includes("string"))&&"date-time"===t.format:"Number"===e?"number"===t.type||Array.isArray(t.type)&&t.type.includes("number"):"Classification"===e?"array"===t.type&&t["Telerik.Sitefinity.V1.TaxonomyUrl"]:"Address"===e&&"#/definitions/Telerik.Sitefinity.GeoLocations.Model.Address"===t.$ref}},{key:"checkTextTypesMatch",value:function checkTextTypesMatch(e,t){return"ShortText"===e||"LongText"===e?("string"===t.type||Array.isArray(t.type)&&t.type.includes("string"))&&t["Telerik.Sitefinity.V1.FieldType"]===e:"Text"===e?("string"===t.type||Array.isArray(t.type)&&t.type.includes("string"))&&("ShortText"===t["Telerik.Sitefinity.V1.FieldType"]||"LongText"===t["Telerik.Sitefinity.V1.FieldType"]):void 0}}]),ListFieldMappingsBase}(Z.F);BF.ctorParameters=function(){return[{type:yl},{type:Hs.dk},{type:pe.EY}]},BF=(0,a.gn)([(0,l.Xek)(),(0,a.w6)("design:paramtypes",[yl,Hs.dk,pe.EY])],BF);var DF,TF,MF=function(e){(0,f.Z)(FieldMappingsSettings,e);var t=(0,p.Z)(FieldMappingsSettings);function FieldMappingsSettings(){return(0,i.Z)(this,FieldMappingsSettings),t.apply(this,arguments)}return(0,o.Z)(FieldMappingsSettings)}(j.P1),NF=(0,o.Z)((function FieldInfo(){(0,i.Z)(this,FieldInfo)})),FF=DF=function(e){(0,f.Z)(ListFieldMappingsComponent,e);var t=(0,p.Z)(ListFieldMappingsComponent);function ListFieldMappingsComponent(){return(0,i.Z)(this,ListFieldMappingsComponent),t.apply(this,arguments)}return(0,o.Z)(ListFieldMappingsComponent,[{key:"modifyFieldInfo",value:function modifyFieldInfo(e,t,n){var i=new _i(e.Title,!1);i.choices=n,i.look="-small";var o,a=this.getValue()?this.getValue().find((function(t){return t.FriendlyName===e.Title})):null,r=a?n.findIndex((function(e){return e.Value===a.Name})):-1;a&&r>-1?i.defaultValue=a.Name:("ShortText"===e.Type?(o=t.defaultFieldName,i.defaultValue=t.defaultFieldName):o=n[0].Value,this.onFieldNameChange(o,e));e.Settings=i}},{key:"onFieldNameChange",value:function onFieldNameChange(e,t){var n=this.getValue();n||(n=[]);var i=n.find((function(e){return e.FriendlyName===t.Title}));i?i.Name=e:n.push({Name:e,FriendlyName:t.Title}),this.writeValue(n)}}]),ListFieldMappingsComponent}(BF),PF={writeComponent:FF=DF=(0,a.gn)([(0,l.wA2)({selector:"sf-field-mappings",template:SF,providers:[(0,Z.A)(DF)]})],FF),readComponent:FF,settingsType:MF},RF=n(743),QF=n(744),UF=function(e){(0,f.Z)(ParameterizedChoiceSelectorSettings,e);var t=(0,p.Z)(ParameterizedChoiceSelectorSettings);function ParameterizedChoiceSelectorSettings(){var e;return(0,i.Z)(this,ParameterizedChoiceSelectorSettings),(e=t.apply(this,arguments)).loaderHeight=3,e.shouldHideBottomBorder=!0,e.template="default",e}return(0,o.Z)(ParameterizedChoiceSelectorSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(ParameterizedChoiceSelectorSettings.prototype),"init",this).call(this,e)}}]),ParameterizedChoiceSelectorSettings}(j.P1),LF=TF=function(e){(0,f.Z)(ParameterizedChoiceSelectorComponent,e);var t=(0,p.Z)(ParameterizedChoiceSelectorComponent);function ParameterizedChoiceSelectorComponent(e,n,o,a){var r;return(0,i.Z)(this,ParameterizedChoiceSelectorComponent),(r=t.call(this)).dynamicItemService=e,r.route=n,r.propertyValueParserService=o,r.modalService=a,r.selectedChoices=[],r.displayField="Name",r.loaderHeight=3,r.classList="sf-parameterized-choice-selector",r.nestedFieldClassList="-sf-block -sf-mb-xs",r}return(0,o.Z)(ParameterizedChoiceSelectorComponent,[{key:"ngOnInit",value:function ngOnInit(){var e;(0,Re.Z)((0,Qe.Z)(ParameterizedChoiceSelectorComponent.prototype),"ngOnInit",this).call(this),this.entityData=null!==(e=this.route.parent.snapshot.data[g.u0.entityData])&&void 0!==e?e:this.settings.entityData,this.loadOptions()}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.template="chips"===this.settings.template?this.chipsTemplate:this.defaultTemplate}},{key:"writeValue",value:function writeValue(e){e&&(this.selectedChoice=e.Value,this.parameterValues=e.Parameters,this.setSelectedChoices()),(0,Re.Z)((0,Qe.Z)(ParameterizedChoiceSelectorComponent.prototype),"writeValue",this).call(this,e)}},{key:"validate",value:function validate(){var e=this;return this.editorComponent?this.editorComponent.validate().subscribe((function(t){t.isValid?e.emitStatus({type:Yi.i.Done}):e.emitStatus({type:Yi.i.Error})})):this.emitStatus({type:Yi.i.Done}),!0}},{key:"processErrors",value:function processErrors(e){return this.settings.template&&"default"!==this.settings.template&&!this.selectedChoice?(0,Re.Z)((0,Qe.Z)(ParameterizedChoiceSelectorComponent.prototype),"processErrors",this).call(this,e):(e instanceof Ko.p&&this.editorComponent.showValidationErrors(e),null)}},{key:"onSelectionChange",value:function onSelectionChange(e){this.initializeParameters(e),this.updateValue()}},{key:"onSelectChip",value:function onSelectChip(e){e.action&&"function"==typeof e.action?e.action():e.Value&&(this.selectedChoice=e.Value,this.onSelectionChange(this.selectedChoice))}},{key:"loadOptions",value:function loadOptions(){var e=this;this.dynamicItemService.executeBoundFunction(ee.zw.emptyItem(this.entityData),"Default.GetChoiceOptions(fieldName='".concat(this.settings.key,"')")).pipe((0,xn.g)(g.oN)).subscribe((function(t){e.choices=t.value;var n=e.choices.map((function(e){return{Name:e.Name,Value:e.Value}}));e.choiceSettings=Ji.createFieldSettings(n),e.parametersMetadata={},e.choices.forEach((function(t){e.parametersMetadata[t.Value]=t.ParametersMetadata})),e.selectedChoice?(e.initializeParameters(e.selectedChoice,e.parameterValues),e.setSelectedChoices()):e.settings.template&&"default"!==e.settings.template||(e.selectedChoice=n[0].Value,e.initializeParameters(e.selectedChoice)),e.settings.template&&"default"!==e.settings.template&&(e.choiceChipsConfig={showSelectedItemAsActive:!0},e.serviceAware=new ti((function(t){var n=e.choices;t.searchText&&(n=n.filter((function(e){return e.Name.toLowerCase().startsWith(t.searchText.toLowerCase())})));var i=t.filterValue;return i.Value&&(n=n.filter((function(t){return t[e.settings.selectorFilterProperty]===i.Value}))),(0,r.of)(n)})),e.initializeRecentChoices(),e.initializeFilterItems())}))}},{key:"initializeParameters",value:function initializeParameters(e){var t,n,i=this,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.parametersMetadata[e];if(a&&a.length){var r={propertyValues:o?this.parameterValues:{},propertyMetadata:a,propertyMetadataFlat:[],propertyLocalizationMode:null,name:null,caption:null};a.length>1&&(this.classList+=" -multiple-sections"),this.editorComponentDataList=[{type:oA,afterComponentInit:function afterComponentInit(e){e.initialize(r).subscribe((function(){setTimeout((function(){i.updateValue()}),0)})),i.editorComponent=e},properties:{context:{isQuickEdit:!0,sectionName:this.settings.key,widgetName:null===(n=null===(t=this.entityData)||void 0===t?void 0:t.metadata)||void 0===n?void 0:n.setName},fieldChange:function fieldChange(){setTimeout((function(){i.updateValue()}),0)},cssClass:"",shouldHaveTopPadding:!1,shouldHideBottomBorder:this.settings.shouldHideBottomBorder},updatePropertiesOnChange:!0}]}else this.editorComponentDataList=[],this.editorComponent=null}},{key:"updateValue",value:function updateValue(){var e,t=this,n={};this.editorComponent&&(this.settings.onlyDirty?this.editorComponent.getModifiedProperties():this.editorComponent.getAllProperties()).forEach((function(e){var i=e.Value,o=t.getMetadata(e.Name);o&&("number"!=typeof i&&(i&&"string"!=typeof i||"boolean"==typeof e.Value||o&&"multipleChoices"===o.Type)&&(e.Value=t.propertyValueParserService.parseFieldValueToProperty(i,o.Type,o)),n[e.Name]=e.Value)}));this.selectedChoice&&this.writeValue({Name:null===(e=this.getChoice())||void 0===e?void 0:e.Name,Value:this.selectedChoice,Parameters:n})}},{key:"getMetadata",value:function getMetadata(e){return this.parametersMetadata[this.selectedChoice].flatMap((function(e){return e.Properties})).filter((function(t){return t.Name===e}))[0]}},{key:"setSelectedChoices",value:function setSelectedChoices(){var e=this.getChoice();this.selectedChoices=e?[e]:[]}},{key:"initializeRecentChoices",value:function initializeRecentChoices(){this.recentChoices=this.choices.slice();var e=this.settings.recentProperty;e&&this.recentChoices.sort((function(t,n){return n[e]-t[e]}));var t=this.settings.recentCount;t&&this.recentChoices.length>t&&(this.recentChoices=this.recentChoices.slice(0,t)),this.recentChoices.length-1){var n=e.splice(t,1)[0];n.Title=$.Oi.titleAndProperties,n.Ordinal=ae.fT+1,e.splice(0,0,n)}}},{key:"mapOperation",value:function mapOperation(e){return"SetAsHomepage"===e.Name&&(e.token={type:LS}),e}}]),PagesOperationsFilter}();lP=(0,a.gn)([(0,l.GSi)()],lP);var cP={multi:!0,provide:te,useClass:lP},dP=n(747),uP="IncludeInSearchIndex",fP="Crawlable",pP="Priority",AP=function(e){(0,f.Z)(SearchSiteCompositeComponent,e);var t=(0,p.Z)(SearchSiteCompositeComponent);function SearchSiteCompositeComponent(){var e;return(0,i.Z)(this,SearchSiteCompositeComponent),(e=t.apply(this,arguments)).form=new ze.cw({}),e}return(0,o.Z)(SearchSiteCompositeComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(SearchSiteCompositeComponent.prototype),"ngOnInit",this).call(this),this.initializeForm()}},{key:"writeValue",value:function writeValue(e){if(e){var t=this.getValue();null!==t&&Object.keys(t).length||(t={});var n=Object.assign({},t,e);n.hasOwnProperty(fP)&&(this.showPriorityField=n[fP]),(0,Re.Z)((0,Qe.Z)(SearchSiteCompositeComponent.prototype),"writeValue",this).call(this,n)}}},{key:"initializeForm",value:function initializeForm(){var e=this;Object.keys(this.settings.innerFields).forEach((function(t){var n=e.settings.innerFields[t];if(null!=n){var i=n.value,o=new ze.NI(i);e.form.setControl(n.key,o),t===fP?e.showPriorityField=i:t===pP&&(n.settings.showTitle=!0)}}))}}]),SearchSiteCompositeComponent}(Z.F);AP.propDecorators={fields:[{type:l.vR,args:[Ja.l]}]},AP=(0,a.gn)([(0,l.wA2)({selector:"sf-search-site-composite-field",template:dP})],AP);var mP=n(748),gP="RequireSsl",hP="EnableViewState",vP="IncludeScriptManager",bP="AllowParametersValidation",yP=function(e){(0,f.Z)(AdvancedOptionsCompositeComponent,e);var t=(0,p.Z)(AdvancedOptionsCompositeComponent);function AdvancedOptionsCompositeComponent(){var e;return(0,i.Z)(this,AdvancedOptionsCompositeComponent),(e=t.apply(this,arguments)).form=new ze.cw({}),e}return(0,o.Z)(AdvancedOptionsCompositeComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(AdvancedOptionsCompositeComponent.prototype),"ngOnInit",this).call(this),this.initializeForm()}},{key:"writeValue",value:function writeValue(e){if(e){var t=this.getValue();null!==t&&Object.keys(t).length||(t={});var n=Object.assign({},t,e);(0,Re.Z)((0,Qe.Z)(AdvancedOptionsCompositeComponent.prototype),"writeValue",this).call(this,n)}}},{key:"initializeForm",value:function initializeForm(){var e=this;Object.keys(this.settings.innerFields).forEach((function(t){var n=e.settings.innerFields[t];if(null!=n){var i=n.value,o=new ze.NI(i);e.form.setControl(n.key,o)}}))}}]),AdvancedOptionsCompositeComponent}(Z.F);yP.propDecorators={fields:[{type:l.vR,args:[Ja.l]}]},yP=(0,a.gn)([(0,l.wA2)({selector:"sf-advanced-optins",template:mP})],yP);var EP=n(749),IP="LocalizationStrategy",wP=function(e){(0,f.Z)(LocalizationStrategyComponent,e);var t=(0,p.Z)(LocalizationStrategyComponent);function LocalizationStrategyComponent(e){var n;return(0,i.Z)(this,LocalizationStrategyComponent),(n=t.call(this)).fieldProvider=e,n.localizationValue={},n.syncCommand="sync",n.copyCommand="copy",n.cultureCommand="culture",n}return(0,o.Z)(LocalizationStrategyComponent,[{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(LocalizationStrategyComponent.prototype),"ngOnInit",this).call(this);var e=this.settings.forceSync,t=new _i("copyFrom",!1);t.choices=[{Name:"Copy content and widgets from...",Value:"1",ExpandedTemplate:this.copyFromTemplate}],e||t.choices.push({Name:"Start from scratch",Value:"2"}),t.defaultValue=t.choices[0].Value;var n=this.settings,i=Ji.createFieldSettings(n.languages,n.languages[0].Value,"languageChoice","sf-mt-3xs");this.lastSelectedLanguage=i.defaultValue;var o=(0,h.ax)(this.fieldProvider,"pages",Y.U.choiceMultiple,IP,"1",{},"LocalizationStrategyChild",null,this.settings.readOnlyMode),a=o.settings;a.choices=[{Name:"Keep all language versions synced as one page",Value:"1"}],a.showTitle=!1,a.updateHasFieldset("1"),this.viewModel={copySettings:t,dropdownSettings:i,keepSyncedModel:o,keepSyncedFormControl:new ze.NI(!1)}}},{key:"onSelectionChange",value:function onSelectionChange(e,t){t===this.syncCommand?(this.localizationValue.EnableSync="1"===e,this.localizationValue.EnableSync?(delete this.localizationValue.EnableSplit,delete this.localizationValue.CopyFrom):(delete this.localizationValue.EnableSync,this.localizationValue.EnableSplit=!0,this.localizationValue.CopyFrom=this.lastSelectedLanguage)):t===this.copyCommand?"1"===e?(delete this.localizationValue.EnableSplit,this.localizationValue.EnableSync=!0,this.localizationValue.CopyFrom=this.viewModel.dropdownSettings.defaultValue):(delete this.localizationValue.EnableSync,this.localizationValue.EnableSplit=!0,delete this.localizationValue.CopyFrom):t===this.cultureCommand&&(this.lastSelectedLanguage=e,this.localizationValue.CopyFrom=e,this.localizationValue.EnableSync||(this.localizationValue.EnableSplit=!0));var n=(0,d.kI)(this.localizationValue);this.writeValue(n)}}]),LocalizationStrategyComponent}(Z.F);wP.ctorParameters=function(){return[{type:lr.H}]},wP.propDecorators={copyFromTemplate:[{type:l.i9L,args:["copyFromTemplate",{static:!0}]}]},wP=(0,a.gn)([(0,l.wA2)({selector:"sf-localization-selector",template:EP}),(0,a.w6)("design:paramtypes",[lr.H])],wP);var kP=[{sectionName:"MainSection",fields:[br,yr,Er],fieldType:Y.U.navigationOptionsCompositeField},{sectionName:"AdvancedOptionsSection",fields:[uP,fP,pP],fieldType:Y.U.searchSiteCompositeField},{sectionName:"AdvancedOptionsSection",fields:[gP,hP,vP,bP],fieldType:Y.U.advancedOptionsCompositeField},{sectionName:"MainSection",fields:[IP],fieldType:Y.U.localizationStrategy}],xP=function(e){(0,f.Z)(PagesTweaksHandler,e);var t=(0,p.Z)(PagesTweaksHandler);function PagesTweaksHandler(){return(0,i.Z)(this,PagesTweaksHandler),t.apply(this,arguments)}return(0,o.Z)(PagesTweaksHandler,[{key:"handleFormTweak",value:function handleFormTweak(e,t,n){var i=kP.find((function(e){return!!e.fields.find((function(e){return e===t}))}));if(i){var o=e.find((function(e){return e.settings.name===i.sectionName})),a=n.find((function(e){return e.selector===i.fieldType}));return o.fields.push(a),i.fields}return[]}},{key:"canProcess",value:function canProcess(e){return e===u.Wi||e===u.lz}}]),PagesTweaksHandler}(Jo);xP=(0,a.gn)([(0,l.GSi)()],xP);var CP,SP,BP,DP={provide:Jo,useClass:xP,multi:!0},TP=[{fields:[br,yr,Er],fieldType:Y.U.navigationOptionsCompositeField,titles:(CP={},(0,Ae.Z)(CP,br,"Show in navigation"),(0,Ae.Z)(CP,yr,"Make this a group page"),(0,Ae.Z)(CP,Er,"Redirect to another page"),CP)},{fields:[uP,fP,pP],fieldType:Y.U.searchSiteCompositeField,titles:(SP={},(0,Ae.Z)(SP,uP,"Allow site search to index this page"),(0,Ae.Z)(SP,fP,"Allow external search engines to index this page and include in Sitemap"),(0,Ae.Z)(SP,pP,"Priority in Sitemap"),SP)},{fields:[gP,hP,vP,bP],fieldType:Y.U.advancedOptionsCompositeField,titles:(BP={},(0,Ae.Z)(BP,gP,"Require SSL"),(0,Ae.Z)(BP,hP,"Enable ViewState"),(0,Ae.Z)(BP,vP,"Include RadScriptManager"),(0,Ae.Z)(BP,bP,"Allow parameter validation"),BP)},{fields:[IP],fieldType:Y.U.localizationStrategy,titles:{LocalizationStrategyProp:"Copy from another language"}}],MP=function(e){(0,f.Z)(PagesMetadataHandler,e);var t=(0,p.Z)(PagesMetadataHandler);function PagesMetadataHandler(e,n){var o;return(0,i.Z)(this,PagesMetadataHandler),(o=t.call(this,e)).fieldsProvider=e,o.dynamicService=n,o.fieldGroups=TP,o}return(0,o.Z)(PagesMetadataHandler,[{key:"canProcess",value:function canProcess(e){return e===u.Wi||e===u.lz}},{key:"getFieldType",value:function getFieldType(e,t,n,i){return e.setName===u.gl.PAGES?i===yr||i===Er?Y.U.choiceYesNo:i===h.E.PARENT_ID?Y.U.dropdownSelector:i===h.E.OUTPUT_CACHE_PROFILE?Y.U.choiceDropDown:null:e.setName===u.gl.TEMPLATES&&i===h.E.THUMBNAIL?Y.U.templateThumbnail:void 0}},{key:"updateFieldSettings",value:function updateFieldSettings(e,t,n){var i=this;t.setName===u.gl.PAGES?e.forEach((function(e){if(e.settings.showForAllTranslationsLabel=!1,e.selector===Y.U.choiceDropDown){var t=e.settings,i=n.find((function(t){return t.name===e.key}));if(i){var o=i.metadata;if(o&&o[u.Q9]){var a=[];o[u.Q9].forEach((function(e){a.push({Name:e.Key,Value:e.Value})})),t.choices=a,e.value||(e.value=a[0].Value)}}}})):t.setName===u.gl.TEMPLATES&&e.forEach((function(e){e.selector===Y.U.templateThumbnail&&(e.settings.useDefaultValue=!1)}));var o=e.find((function(e){return e.settings instanceof kB.W}));o&&(o.settings.getUrlStructureData=function(e){return i.getUrlStructureData(e)})}},{key:"updateInnerFieldsSettings",value:function updateInnerFieldsSettings(e,t,n){Object.keys(e).forEach((function(i){if(null!==e[i]){var o=e[i].settings;o.showTitle=!1;var a=t.find((function(e){return e.name===i}));a?(o.isVisible=!0,o.readOnlyMode=n||a.readonly):(o.required=!1,o.isVisible=!1)}}))}},{key:"updateAdditionalSettings",value:function updateAdditionalSettings(e,t,n){if(e===IP){var i=t.find((function(t){return t.name===e}));i&&this.updateLocalizationSettings(n,i)}}},{key:"updateLocalizationSettings",value:function updateLocalizationSettings(e,t){var n=e.settings;n.syncAvailable=t.metadata.hasOwnProperty("EnableSync"),n.forceSync=t.metadata.ForceSync,n.forceSync&&(n.title=t.title,n.tooltipModels=t.tooltipModels,n.showTitle=!0),n.languages=t.metadata.Languages.map((function(e){return{Name:e.Title,Value:e.Name}})),n.useDefaultValue=!0,n.markAsDirty=!0,n.defaultValue={EnableSync:!0,CopyFrom:n.languages[0].Value},e.value=null}},{key:"getUrlStructureData",value:function getUrlStructureData(e){return this.dynamicService.getItemsByKeys({entityData:e,dataFieldNames:["RelativeUrlPath"],keys:[e.parentKey],keyProperty:e.metadata.key}).pipe((0,w.U)((function(e){if(e&&e.dataItems){return{parentUrl:1===e.dataItems.length?e.dataItems[0].data.RelativeUrlPath:v.WP.EMPTY_STRING,extension:null,editableUrl:null}}})))}}]),PagesMetadataHandler}(Dv.a);MP.ctorParameters=function(){return[{type:lr.H},{type:Ci.dg}]},MP=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[lr.H,Ci.dg])],MP);var NP={provide:Dv.a,useClass:MP,multi:!0},FP=n(750),PP=function(e){(0,f.Z)(SiteAndLanguageSelectorComponent,e);var t=(0,p.Z)(SiteAndLanguageSelectorComponent);function SiteAndLanguageSelectorComponent(e,n,o){var a;return(0,i.Z)(this,SiteAndLanguageSelectorComponent),(a=t.call(this)).siteDataStore=e,a.logger=n,a.route=o,a.error$=new Ft.xQ,a.selectors=[],a.subscriptionsHolder$=new Ft.xQ,a.errorHandler=function(e){a.error$.next(e)},a}return(0,o.Z)(SiteAndLanguageSelectorComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;(0,Re.Z)((0,Qe.Z)(SiteAndLanguageSelectorComponent.prototype),"ngOnInit",this).call(this);var t=this.route.parent.snapshot.data[g.u0.siteDataStore],n=this.route.parent.snapshot.data[g.u0.metadata],i=this.route.parent.firstChild.snapshot.data.dynamicItems.culture;this.siteSelector=new PT(this.logger,t,n,this.siteDataStore),this.selectors.push(this.siteSelector),this.selectedLanguage=i||t.DefaultContentCulture,this.languageSelector=new RT(this.logger,i),this.selectors.push(this.languageSelector),this.siteSelector.addChild(this.languageSelector),this.siteSelector.init(new ZT),this.selectors.forEach((function(t){return t.error$.pipe((0,hy.R)(e.subscriptionsHolder$)).subscribe(e.errorHandler)})),this.selectors.forEach((function(t){t.change$.subscribe((function(t){if(t.isReady){if(e.siteAndLanguageValue||(e.siteAndLanguageValue={}),t===e.siteSelector){var n=t.selectedItem;e.selectedSiteId=n.value,e.selectedLanguage=e.selectedLanguage&&n.cultures.find((function(t){return t.value===e.selectedLanguage}))?e.selectedLanguage:n.defaultCulture.value,e.siteAndLanguageValue.RootId=n.sitemapRootNodeId,e.siteAndLanguageValue.TargetSiteId=n.value,e.siteAndLanguageValue.DuplicateLanguage=e.selectedLanguage}else t===e.languageSelector&&(e.siteAndLanguageValue.DuplicateLanguage=t.selectedItem.value,e.selectedLanguage=t.selectedItem.value);var i=(0,d.kI)(e.siteAndLanguageValue);e.writeValue(i)}}))}))}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,Re.Z)((0,Qe.Z)(SiteAndLanguageSelectorComponent.prototype),"ngOnDestroy",this).call(this),this.subscriptionsHolder$.next({})}}]),SiteAndLanguageSelectorComponent}(Z.F);PP.ctorParameters=function(){return[{type:Qi},{type:c.Y},{type:m.gz}]};var RP={writeComponent:PP=(0,a.gn)([(0,l.wA2)({template:FP,selector:"sf-site-and-language-selector"}),(0,a.w6)("design:paramtypes",[Qi,c.Y,m.gz])],PP),settingsType:zA.b},QP="TargetSiteId",UP=function(e){(0,f.Z)(PageFieldsProvider,e);var t=(0,p.Z)(PageFieldsProvider);function PageFieldsProvider(){return(0,i.Z)(this,PageFieldsProvider),t.apply(this,arguments)}return(0,o.Z)(PageFieldsProvider,[{key:"overrideField",value:function overrideField(e){if(e.typeName===u.gl.PAGES){if(e.fieldName===QP)return RP;if(e.fieldName===h.E.DUPLICATE_CHILDREN)return SA;if(e.fieldName===h.E.URL_NAME)return{readComponent:ab,settingsType:kB.W,writeComponent:rb}}}}]),PageFieldsProvider}(H.U);UP=(0,a.gn)([(0,l.GSi)()],UP);var LP={provide:H.e,useClass:UP,multi:!0},OP=function(){function PagesFieldsChangeService(){(0,i.Z)(this,PagesFieldsChangeService)}return(0,o.Z)(PagesFieldsChangeService,[{key:"processChange",value:function processChange(e,t,n){if(e===h.E.PARENT_ID){var i=n.find((function(e){return"UrlName"===e.fieldModel.key}));if(i){var o=i.currentInstance;o instanceof rb&&o.handleParentChange&&o.handleParentChange(t)}}else if(e===QP){var a=t;if(a){if(a.RootId){var r=n.find((function(e){return"ParentId"===e.fieldModel.key})).currentInstance,s=n.find((function(e){return e.fieldModel.key===QP})).currentInstance;r.setCulture(s.selectedLanguage),r.setSiteId(s.selectedSiteId),r.writeValue(a.RootId)}var l=n.find((function(e){return"UrlName"===e.fieldModel.key})),c=l.formControl.errors;if(c){var u=Object.keys(c).filter((function(e){return e.startsWith(mu.C)})),f=(0,d.kI)(c);u.forEach((function(e){delete f[e]})),l.formControl.setErrors(f),l.formControl.updateValueAndValidity()}}}}},{key:"canProcess",value:function canProcess(e){return e===u.Wi}}]),PagesFieldsChangeService}();OP=(0,a.gn)([(0,l.GSi)()],OP);var zP={provide:Lf.q,useClass:OP,multi:!0},_P=function(e){(0,f.Z)(PagesEditExtender,e);var t=(0,p.Z)(PagesEditExtender);function PagesEditExtender(e,n,o,a,r,s){var l;return(0,i.Z)(this,PagesEditExtender),(l=t.call(this)).pagesCommonHandler=e,l.environmentService=n,l.modalWindowService=o,l.router=a,l.service=r,l.window=s,l}return(0,o.Z)(PagesEditExtender,[{key:"handleAction",value:function handleAction(e,t){var n,i,o=this;e.changedFields&&(n=e.changedFields.TargetSiteId,i=e.changedFields.DuplicateLanguage);var a,s=e.siteData;if(i&&!n){var l=new Ft.xQ;return l.subscribe((function(){o.modalWindowService.hide(e.route).then((function(){var t=(0,d.kI)(e.route.snapshot.queryParams);t[g.Tx.CULTURE]=i,o.router.navigate([So.PAGES],{queryParams:t})}))})),{handled:(0,r.of)(!0),result:this.updateItem(e,s.Id,!1),closeHandler:l}}if(n&&n!==s.Id)return delete e.changedFields.TargetSiteId,_t.H.integration===this.environmentService.getEnvironment()&&(a=new Ft.xQ).subscribe((function(){var e=o.window.location.href,t=e.indexOf("/(dialog:confirm"),a=e.indexOf(")"),r=e.substring(t,a+1);e=e.replace(r,v.WP.EMPTY_STRING),e=o.replaceQueryParam(e,"sf_site",n),i&&(e=o.replaceQueryParam(e,g.Tx.CULTURE,i)),o.window.open(e,v.Mw)})),{handled:(0,r.of)(!0),result:this.updateItem(e,s.Id,!0),closeHandler:a};if(this.isDuplicate(e)){var c=this.updateItem(e,void 0,void 0);return c.subscribe((function(t){if(e.changedFields.DuplicateChildren){var n=new CustomEvent(Uy);o.window.dispatchEvent(n)}}),(function(){})),{result:c,handled:(0,r.of)(!0)}}return{handled:this.pagesCommonHandler.tryHandleAction(e)}}},{key:"modify",value:function modify(e){var t=e.dataItem,n=e.sections;if(t.metadata.setName===u.gl.PAGES){t.data&&t.data[yr]&&t.data[yr]!==wr?n.filter((function(e){return e.settings.name===Wo.H.advancedOptions||e.settings.name===Wo.H.seo||e.settings.name===Wo.H.socialMedia})).forEach((function(e){var t=!0;e.fields.forEach((function(e){e.settings.required?(e.settings.isVisible=!0,t=!1):e.settings.isVisible=!1})),e.settings.isHidden=t})):n.filter((function(e){return e.settings.name===Wo.H.advancedOptions||e.settings.name===Wo.H.seo||e.settings.name===Wo.H.socialMedia})).forEach((function(e){e.fields.forEach((function(e){e.settings.isVisible=!0})),e.settings.isHidden=!1}));var i=n.find((function(e){return"MainSection"===e.settings.name}));if(i){var o=i.fields.find((function(e){return"DuplicateChildren"===e.settings.key}));o&&(o.settings.showTitle=!1)}}return(0,r.of)(void 0)}},{key:"showHeader",value:function showHeader(e){return!0}},{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.setName===Lo}},{key:"getStatusToDisplay",value:function getStatusToDisplay(e){var t=(0,Re.Z)((0,Qe.Z)(PagesEditExtender.prototype),"getStatusToDisplay",this).call(this,e);return(null==t?void 0:t.Source)===g.LJ.WORKFLOW&&e.metadata.setName===u.gl.PAGES?null:t}},{key:"isDuplicate",value:function isDuplicate(e){return!(e.actionName!==$.q.create||!e.changedFields||!e.changedFields.Duplicate)}},{key:"updateItem",value:function updateItem(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=this.service.upsert({data:e.changedFields,dataItem:e.item,siteId:t,doNotRefreshItem:n,operation:i,skipSaveTemp:0===Object.keys(e.changedFields).length});return o}},{key:"replaceQueryParam",value:function replaceQueryParam(e,t,n){if(e.includes("".concat(t))){var i=e.indexOf("".concat(t,"="))+"".concat(t,"=").length,o=e.indexOf("&",i),a=null;a=-1===o?e.substr(i):e.substring(i,o),e=e.replace(a,n)}else{var r="?";e.includes(r)&&(r="&"),e+="".concat(r).concat(t,"=").concat(n)}return e}}]),PagesEditExtender}(Kr);_P.ctorParameters=function(){return[{type:xk},{type:zt.L},{type:ki.bL},{type:m.F0},{type:Ci.dg},{type:Window,decorators:[{type:l.tBr,args:[ne.SC]}]}]},(0,a.gn)([(0,a.fM)(1,(0,l.tBr)(Ua)),(0,a.w6)("design:type",Function),(0,a.w6)("design:paramtypes",[Object,La]),(0,a.w6)("design:returntype",Object)],_P.prototype,"handleAction",null),_P=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[xk,zt.L,ki.bL,m.F0,Ci.dg,Window])],_P);var VP={multi:!0,provide:Jr,useClass:_P},GP=function(){function ShareWithCommand(e,t){(0,i.Z)(this,ShareWithCommand),this.dynamicItemService=e,this.modalService=t,this.dialogTitle="Share template with sites"}return(0,o.Z)(ShareWithCommand,[{key:"execute",value:function execute(e){var t=this,n=e.currentRoute;this.entityData=e.data.entityData;var i=new he.X(2),o={type:am,properties:{contentLook:"medium",action:"Default.GetSharedInSites()",actionTitle:this.dialogTitle,dataItem:this.entityData,showCounter:!1,isSearchVisible:!0,count:i,showDataItemTitle:!1,template:null,listLook:"actions-on-hover",tabsConfig:[{title:null,treeConfig:{status:!1,showBreadcrumb:!1,noSelection:!1,multiSelection:!0,clickable:!0,previewUrl:!1,treeProperties:{displayField:"Name",idField:"Id"}},noItemsLabel:"Sites using this template will appear here",itemsFilter:function itemsFilter(e){return e},itemsModifier:function itemsModifier(e){e.isTranslated=!0},selectedFilter:function selectedFilter(e){return e.IsShared}}]}},a=new Ft.xQ,r=new ki.np(o,(function(e){if((null==e?void 0:e.data)&&e.data.data){if(t.isShareTemplateError(t.operationResult)){var i=t.generateTemplateErrorSettings(t.operationResult.title,t.operationResult.message);t.modalService.openModalConfirmation(n,i,e.component.dataItem)}a.next({success:!0})}else a.next({success:!1})}),this.getButtons(),null,"-bottom");return this.modalService.setMapping(r,"sharedIn"),this.modalService.show("sharedIn",n.parent),a.pipe((0,kn.P)())}},{key:"confirmCallback",value:function confirmCallback(e){var t=this,n=e.component.tree,i=new re.t(1);if(i.next(new ki.DQ(!0,!1)),n){var o=n.getSelectedNodeIds();this.dynamicItemService.executeEntityOperationForDataItemKey(this.entityData.data.Id,this.entityData,"Default.ChangeSharedInSites()",{siteIds:o}).subscribe((function(e){e.Success||(t.operationResult={success:e.Success,title:e.Title,message:e.Message,availableActions:e.AvailableActions}),i.next(new ki.DQ(!0,!0,!1,!1))}))}else i.next(new ki.DQ(!0,!0,!1,!1));return i}},{key:"generateTemplateErrorSettings",value:function generateTemplateErrorSettings(e,t){return{title:e,action:$.q.save,icon:"share-alt",descriptionAllowHtml:!0,description:t,buttons:new Array(new ki.Lw("Close"))}}},{key:"getButtons",value:function getButtons(){return[new ki.pu("Save changes",this.confirmCallback.bind(this)),new ki.Lw]}},{key:"isShareTemplateError",value:function isShareTemplateError(e){return e&&e.availableActions&&e.availableActions.indexOf("shareTemplateError")>=0}}]),ShareWithCommand}(),HP=function(e){(0,f.Z)(TemplatesGridExtender,e);var t=(0,p.Z)(TemplatesGridExtender);function TemplatesGridExtender(e,n,o,a,r,s,l,c,d){var u;return(0,i.Z)(this,TemplatesGridExtender),(u=t.call(this,l,a,n,c,d,s,o,r)).pagesCommonHandler=e,u}return(0,o.Z)(TemplatesGridExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.setName===u.gl.TEMPLATES}},{key:"reloadItems",value:function reloadItems(e,t,n,i,o){var a=this.contentFilterService.getLoadArguments(e,t,n,i,o);return a.action||(a.action="filters(name=@sf_filter)?@sf_filter='ThisSite'"),this.dynamicItemStore.loadItems(a),Mr.C}},{key:"loadMore",value:function loadMore(e){return e.action||(e.action="filters(name=@sf_filter)?@sf_filter='ThisSite'"),(0,Re.Z)((0,Qe.Z)(TemplatesGridExtender.prototype),"loadMore",this).call(this,e)}},{key:"tryHandleAction",value:function tryHandleAction(e){var t=e.actionName;if(t===$.q.template)return(0,r.of)(this.tryHandleChangeTemplateAction(e));if(t===$.q.shareWith)return(0,r.of)(this.tryHandleShareWithAction(e));if(t===Ca&&!this.pagesCommonHandler.isGroupOrRedirectingPage(e.item))return this.tryHandleAction({actionName:$.q.editContent,item:e.item,route:e.route,grid:e.grid});return t===$.q.create?this.pagesCommonHandler.navigateToEdit(e):t===$.q.edit||t===$.q.duplicate?this.pagesCommonHandler.navigateToTitleAndProperties(e).pipe((0,w.U)((function(e){return!!e}))):this.pagesCommonHandler.tryHandleAction(e)}},{key:"tryHandleChangeTemplateAction",value:function tryHandleChangeTemplateAction(e){var t=this,n={currentRoute:e.route,data:{selectedItems:e.item.data?[e.item]:[],entityData:e.item},model:null};return new ja(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n).subscribe((function(e){e.success&&t.reloadService.requestReload()})),!0}},{key:"tryHandleShareWithAction",value:function tryHandleShareWithAction(e){var t=this,n={currentRoute:e.route,data:{entityData:e.item},model:null};return new GP(this.dynamicItemStore.service,this.modalWindowService).execute(n).subscribe((function(e){e.success&&t.reloadService.requestReload()})),!0}}]),TemplatesGridExtender}(fd);HP.ctorParameters=function(){return[{type:xk},{type:Qt.Zr},{type:ki.bL},{type:ga},{type:La,decorators:[{type:l.tBr,args:[Ua]}]},{type:cd},{type:b.y},{type:Aa},{type:yl}]},HP=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[xk,Qt.Zr,ki.bL,ga,La,cd,b.y,Aa,yl])],HP);var ZP={multi:!0,provide:ud,useClass:HP},YP=function(e){(0,f.Z)(ZoneEditorTemplatesExtender,e);var t=(0,p.Z)(ZoneEditorTemplatesExtender);function ZoneEditorTemplatesExtender(e,n,o){var a;return(0,i.Z)(this,ZoneEditorTemplatesExtender),(a=t.call(this)).modalWindowService=e,a.dynamicItemStore=n,a.notificationService=o,a}return(0,o.Z)(ZoneEditorTemplatesExtender,[{key:"canHandle",value:function canHandle(e){return e===u.gl.TEMPLATES}},{key:"handleAction",value:function handleAction(e,t,n){switch(e.name){case $.q.template:return this.handelChangeTemplate(t,n);case $.q.shareWith:return this.shareWith(t,n)}return(0,r.of)(null)}},{key:"getEmptyRootCssClasses",value:function getEmptyRootCssClasses(){return[$f,Xf,Kf]}},{key:"handelChangeTemplate",value:function handelChangeTemplate(e,t){var n={currentRoute:t,data:{selectedItems:[e],entityData:e},model:null};return new ja(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n)}},{key:"shareWith",value:function shareWith(e,t){var n={currentRoute:t,data:{entityData:e},model:null};return new GP(this.dynamicItemStore.service,this.modalWindowService).execute(n).pipe((0,w.U)((function(e){return e.reload=!1,e})))}}]),ZoneEditorTemplatesExtender}(Bx);YP.ctorParameters=function(){return[{type:ki.bL},{type:ga},{type:La,decorators:[{type:l.tBr,args:[Ua]}]}]},YP=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[ki.bL,ga,La])],YP);var jP={multi:!0,provide:Sx,useClass:YP},WP=n(751),JP=function(e){(0,f.Z)(PageTempalteThumbnailComponent,e);var t=(0,p.Z)(PageTempalteThumbnailComponent);function PageTempalteThumbnailComponent(e,n,o,a,r){var s;return(0,i.Z)(this,PageTempalteThumbnailComponent),(s=t.call(this)).modalService=e,s.route=n,s.metadataStore=o,s.appStore=a,s.mediaService=r,s.acceptableMediaTypes=[],s.acceptableFileTypes=[],s.useLiveData=!1,s}return(0,o.Z)(PageTempalteThumbnailComponent,[{key:"ngOnInit",value:function ngOnInit(){var e,t,n,i=this,o=this.metadataStore.getEntity(u.gl.IMAGES).clone();this.thumbnailUrl=null===(n=null===(t=null===(e=this.settings)||void 0===e?void 0:e.dataItem)||void 0===t?void 0:t.data)||void 0===n?void 0:n.ThumbnailUrl,this.thumbnailUrl||(this.thumbnailUrl=this.settings.defaultValue,this.writeValue(null)),this.sourceLibraryId=this.settings.sourceLibraryId,this.useLiveData=this.settings.useLiveData,this.maxSize=this.settings.maxSize,this.settings.defaultValue=[],this.acceptableMediaTypes=this.settings.acceptableMediaTypes,this.acceptableFileTypes=this.settings.acceptableFileTypes,this.uniqueName="".concat(this.settings.name).concat(this.settings.dataItem?this.settings.dataItem.key:(0,d.M8)()),this.mediaEntity={metadata:o,provider:this.settings.provider,culture:this.settings.dataItem.culture},this.mediaService.clearUploads();var a=this.appStore.pipe(Ws.uploadsData).subscribe((function(e){i.onUpload(e.items,e.uploadFieldState)}));this.registerSubscription(a)}},{key:"writeValue",value:function writeValue(e){var t=Array.isArray(e)?e:[e];(0,Re.Z)((0,Qe.Z)(PageTempalteThumbnailComponent.prototype),"writeValue",this).call(this,t)}},{key:"postProcessValue",value:function postProcessValue(e){return e?Array.isArray(e)?e[0]?e[0]:v.WP.DEFAULT_GUID:e:v.WP.DEFAULT_GUID}},{key:"handleFileUpload",value:function handleFileUpload(){var e=this,t={type:bc,afterComponentInit:function afterComponentInit(t){t.value=e.value.map((function(e){return{data:{Id:e}}}))},properties:{formattedTypeName:"a template image",name:this.uniqueName,acceptableFileTypes:this.acceptableFileTypes,acceptableMediaTypes:this.acceptableMediaTypes,maxSize:this.maxSize,allowCreate:this.settings.allowCreate,initialViewMode:ml.Select,useOnlySelectMode:!1,sourceLibraryId:this.sourceLibraryId,targetLibraryId:this.sourceLibraryId,useLiveData:this.useLiveData,multiple:!1,value:this.value.map((function(e){return{data:{Id:e}}})),mediaEntityData:this.mediaEntity,showParentLibrary:!1}};t.properties.showProviderSelector=!1;var n=new ki.np(t,(function(t){var n;if(t&&t.data){var i=null!==(n=t.data.data)&&void 0!==n?n:t.data;e.writeValue(i.Id),e.thumbnailUrl=i.Url}}),[],"-prompt");this.modalService.setMapping(n,"openTemplateFilePicker"),this.modalService.open(this.route,"openTemplateFilePicker")}},{key:"onUpload",value:function onUpload(e,t){var n=this;e.filter((function(e){return e.key===n.uniqueName})).forEach((function(e,t){var i=e.upload,o=i.success,a=i.result;n.emitStatus({type:Yi.i.Pending}),o?(n.writeValue(a.Id),n.thumbnailUrl=a.Url,n.mediaService.removeUploadById(e.upload.id)):e.upload.failure&&n.emitStatus({type:Yi.i.Error,data:a.errorMessage})})),t.fieldName===this.uniqueName&&this.emitStatus({type:Yi.i.Done})}}]),PageTempalteThumbnailComponent}(Z.F);JP.ctorParameters=function(){return[{type:ki.bL},{type:m.gz},{type:pe.EY},{type:Hs.dk},{type:qs}]};var qP={writeComponent:JP=(0,a.gn)([(0,l.wA2)({selector:"sf-template-thumbnail",template:WP}),(0,a.w6)("design:paramtypes",[ki.bL,m.gz,pe.EY,Hs.dk,qs])],JP),readComponent:JP,settingsType:df},XP=function(e){(0,f.Z)(PageTempaltesEditExtender,e);var t=(0,p.Z)(PageTempaltesEditExtender);function PageTempaltesEditExtender(){return(0,i.Z)(this,PageTempaltesEditExtender),t.apply(this,arguments)}return(0,o.Z)(PageTempaltesEditExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.setName===u.gl.TEMPLATES}},{key:"includedProperties",value:function includedProperties(e){return[h.E.THUMBNAIL_URL]}},{key:"showHeader",value:function showHeader(e){return!0}}]),PageTempaltesEditExtender}(Kr);XP=(0,a.gn)([(0,l.GSi)()],XP);var KP={multi:!0,provide:Jr,useClass:XP},$P=function(e){(0,f.Z)(ZoneEditorPagesExtender,e);var t=(0,p.Z)(ZoneEditorPagesExtender);function ZoneEditorPagesExtender(){return(0,i.Z)(this,ZoneEditorPagesExtender),t.apply(this,arguments)}return(0,o.Z)(ZoneEditorPagesExtender,[{key:"canHandle",value:function canHandle(e){return e===u.gl.PAGES}},{key:"getEmptyRootCssClasses",value:function getEmptyRootCssClasses(){return[$f,Xf,Kf]}}]),ZoneEditorPagesExtender}(Bx);$P=(0,a.gn)([(0,l.GSi)()],$P);var eR={multi:!0,provide:Sx,useClass:$P},tR=(0,o.Z)((function PagesModule(){(0,i.Z)(this,PagesModule)}));tR=(0,a.gn)([(0,l.LVF)({declarations:[Sk,Rx,ba,XM,Br,wP,$C,AP,yP,zC,pS,vr,mr,PP,Nx,Nm,sg,Cp,wp,zm,Um,Pm,kx,Km,mS,hm,Am,JP],providers:[Oo,Po,kk,LP,$M,ZP,cP,VP,DP,NP,KP,rr,zP,ar,xk,yp,_m,Dp,lA,sA,cA,Om,Px,Dx,jP,eR],imports:[cf,sP,Gy,sT]})],tR);var nR={writeComponent:fv,readComponent:mv,settingsType:j.P1},iR={writeComponent:lv,readComponent:hv,settingsType:j.P1},oR=n(752),aR=n(238),rR=function(e){(0,f.Z)(EventTimeCompositeComponent,e);var t=(0,p.Z)(EventTimeCompositeComponent);function EventTimeCompositeComponent(e,n){var o;return(0,i.Z)(this,EventTimeCompositeComponent),(o=t.call(this)).eventsDateService=e,o.route=n,o.showEventEndField=!0,o.isAllDayEvent=!1,o.errorMessages=[],o.form=new ze.cw({}),o.showTime=!0,o.propertyFieldMap=new Map,o.isInCopyMode=!1,o}return(0,o.Z)(EventTimeCompositeComponent,[{key:"compositeFieldSettings",get:function get(){return this.settings}},{key:"ngOnInit",value:function ngOnInit(){(0,Re.Z)((0,Qe.Z)(EventTimeCompositeComponent.prototype),"ngOnInit",this).call(this),this.initializeRecurrenceRule(),this.initializeSettings(),this.initializeForm(),this.resolveCopyMode()}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.initializePropertyFieldMap();var e=this.propertyFieldMap.get(vv.hj.EVENT_END);e&&(this.endDatePicker=e.currentInstance);var t=this.fields.find((function(e){return e.fieldModel.key===vv.hj.ALL_DAY_EVENT}));t&&this.onAllDayEventClick(t.getValue()),this.compositeFieldSettings.dataItem&&this.compositeFieldSettings.dataItem.data&&this.handleEndDateInitialVisibility();var n=this.propertyFieldMap.get(vv.hj.TIME_ZONE_ID);n&&(this.compositeFieldSettings.defaultValue=this.compositeFieldSettings.defaultValue||{},this.compositeFieldSettings.defaultValue[vv.hj.TIME_ZONE_ID]=n.fieldModel.settings.defaultValue)}},{key:"getValue",value:function getValue(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.fields)return null;e=t||this.isInCopyMode?this.fields:this.fields.filter((function(e){return e.formControl&&e.formControl.dirty}));var n={};return e.forEach((function(e){return n[e.fieldModel.key]=e.getValue()})),n}},{key:"writeValue",value:function writeValue(e){var t=this;if(e){var n=Object.assign({},e);if(void 0!==n.AllDayEvent&&e!==this.compositeFieldSettings.defaultValue&&this.onAllDayEventClick(n.AllDayEvent),n.EventStart)this.endDatePicker.settings.minValue=new Date(n.EventStart);if((n.EventStart||n.EventEnd)&&this.endDatePicker&&!this.endDatePicker.showDate){var i=this.propertyFieldMap.get(vv.hj.EVENT_START).getValue(),o=this.endDatePicker.getValue(),a=new Date(i);o&&(a.setHours(o.getHours()),a.setMinutes(o.getMinutes()),a.setSeconds(o.getSeconds()),a.toUTCString()!==o.toUTCString()&&(n.EventEnd=a))}Object.keys(n).forEach((function(i){var o=n[i],a=t.propertyFieldMap.get(i);if(a){var r=a.getValue();(!(null!=r)||r!==o&&e!==t.compositeFieldSettings.defaultValue)&&a.writeValue(o)}})),(n.EventStart||n.EventEnd)&&this.validate();var r=this.getValue();null!==r&&Object.keys(r).length&&(0,Re.Z)((0,Qe.Z)(EventTimeCompositeComponent.prototype),"writeValue",this).call(this,r)}}},{key:"resetEndDate",value:function resetEndDate(){var e=new Date(this.propertyFieldMap.get(vv.hj.EVENT_START).getValue()),t=new Date(this.endDatePicker.getValue());t.setDate(e.getDate()),t.setMonth(e.getMonth()),t.setFullYear(e.getFullYear()),this.endDatePicker.writeValue(t)}},{key:"validate",value:function validate(){if(this.fields.forEach((function(e){return e.hasErrors()})),this.form.updateValueAndValidity(),this.form.errors){var e=new ry.Z(this).getErrorMessage(this.form.errors);if(e.length&&(this.addErrorMessages(e),this.status$.value.type!==Yi.i.Error))return this.emitStatus({type:Yi.i.Error}),!1}else{if(this.form.valid)return this.clearErrorMessages(),this.emitStatus({type:Yi.i.ErrorCleared}),!0;if(this.status$.value.type!==Yi.i.Error)return this.emitStatus({type:Yi.i.Error}),!1}}},{key:"postProcessValue",value:function postProcessValue(e){if(this.isAllDayEvent&&(e[vv.hj.EVENT_START]&&(e[vv.hj.EVENT_START]=this.eventsDateService.resetTime(new Date(e[vv.hj.EVENT_START]))),e[vv.hj.EVENT_END])){var t=this.eventsDateService.resetTime(new Date(e[vv.hj.EVENT_END]));e[vv.hj.EVENT_END]=t}return e[vv.hj.EVENT_END]&&this.recurrenceRule&&delete e[vv.hj.EVENT_END],this.convertObjToIsoDateTime(e)}},{key:"hasEmptyValue",value:function hasEmptyValue(){return this.fields.toArray().every((function(e){return!e.getValue()}))}},{key:"handleRecurrenceChange",value:function handleRecurrenceChange(e){this.handleEndDateVisibility(!e),e||(this.recurrenceRule=null),this.writeValue((0,Ae.Z)({},vv.hj.EVENT_END,this.endDatePicker.getValue()))}},{key:"handleEndDateVisibility",value:function handleEndDateVisibility(e){var t=this.fields.filter((function(e){return e.currentInstance instanceof Oc}))[1],n=t.currentInstance;e&&!n.showDate&&!n.showTime&&(this.toggleLabelVisibility(t,!0),this.showEventEndField=!0),!e&&!n.showTime&&(this.toggleLabelVisibility(t,!1),this.showEventEndField=!1),n.showDate=e}},{key:"getDatePickers",value:function getDatePickers(){return Array.from(this.propertyFieldMap.values()).filter((function(e){return!!e})).map((function(e){return e.currentInstance})).filter((function(e){return e instanceof Oc}))}},{key:"toggleLabelVisibility",value:function toggleLabelVisibility(e,t){e.fieldModel.settings.showTitle=t,e.fieldModel.settings.showForAllTranslationsLabel=t}},{key:"initializePropertyFieldMap",value:function initializePropertyFieldMap(){var e=this.fields.filter((function(e){return e.currentInstance instanceof Oc})),t=e[0],n=e[1],i=this.fields.find((function(e){return e.currentInstance instanceof Mu})),o=this.fields.find((function(e){return e.currentInstance instanceof lv}));this.propertyFieldMap.set(vv.hj.EVENT_START,t),this.propertyFieldMap.set(vv.hj.EVENT_END,n),this.propertyFieldMap.set(vv.hj.ALL_DAY_EVENT,i),this.propertyFieldMap.set(vv.hj.TIME_ZONE_ID,o)}},{key:"initializeSettings",value:function initializeSettings(){var e;this.isAllDayEvent=this.compositeFieldSettings.innerFields[vv.hj.ALL_DAY_EVENT].value;var t=this.compositeFieldSettings.innerFields[vv.hj.EVENT_START],n=this.compositeFieldSettings.innerFields[vv.hj.EVENT_END];if(this.compositeFieldSettings.dataItem&&this.compositeFieldSettings.dataItem.data){var i=this.compositeFieldSettings.dataItem.data[vv.hj.EVENT_START_WITH_OFFSET],o=this.compositeFieldSettings.dataItem.data[vv.hj.EVENT_END_WITH_OFFSET];this.isAllDayEvent&&(o=this.eventsDateService.getEventEndForAllDayEvent(i,o)),t.value=this.eventsDateService.getDateWithoutBrowserOffset(i),n.value=this.eventsDateService.getDateWithoutBrowserOffset(o)}this.compositeFieldSettings.markAsDirty=!0,this.compositeFieldSettings.useDefaultValue=!0,t.value&&!n.value&&(this.compositeFieldSettings.markAsDirty=!1);var a=Date.now(),r=t.value;r||(r=this.roundHour(new Date(a)));var s=n.value;s||(s=this.populateDefaultEndTime(s,r,t.value),this.compositeFieldSettings.readOnlyMode&&(this.compositeFieldSettings.innerFields[vv.hj.EVENT_END].value=s)),this.compositeFieldSettings.defaultValue=(e={},(0,Ae.Z)(e,vv.hj.EVENT_START,r),(0,Ae.Z)(e,vv.hj.EVENT_END,s),(0,Ae.Z)(e,vv.hj.ALL_DAY_EVENT,!1),(0,Ae.Z)(e,vv.hj.TIME_ZONE_ID,null),e)}},{key:"initializeForm",value:function initializeForm(){var e=this;Object.keys(this.compositeFieldSettings.innerFields).forEach((function(t){var n=e.compositeFieldSettings.innerFields[t],i=new ze.NI(n.value);i.setValidators(n.settings.validators),e.form.setControl(n.key,i)})),this.form.setValidators(aR.e.validate)}},{key:"initializeRecurrenceRule",value:function initializeRecurrenceRule(){if(this.compositeFieldSettings.dataItem&&this.compositeFieldSettings.dataItem.data){var e=this.compositeFieldSettings.dataItem.data;if(e){var t=e[vv.hj.RECURRENCE_EXPRESSION]||null;this.recurrenceRule=JSON.parse(t)}else this.recurrenceRule=null}}},{key:"resolveCopyMode",value:function resolveCopyMode(){var e=this.route.snapshot,t=e.queryParamMap,n=e.url[1];this.isInCopyMode=n&&n.path===g.UY.DUPLICATE_SEGMENT||t.keys.indexOf(g.Tx.VERSION)>-1}},{key:"populateDefaultEndTime",value:function populateDefaultEndTime(e,t,n){if(this.recurrenceRule&&this.recurrenceRule.duration){var i=(0,d.WH)(this.recurrenceRule.duration);(e=new Date(t)).setSeconds(e.getSeconds()+i)}else n||(e=this.roundHour(new Date(t))).setHours(e.getHours()+1);return e}},{key:"handleEndDateInitialVisibility",value:function handleEndDateInitialVisibility(){if(this.endDatePicker){var e=JSON.parse(this.compositeFieldSettings.dataItem.data[vv.hj.RECURRENCE_EXPRESSION]);e&&e.frequency!==YC.None?(this.endDatePicker.showDate=!1,this.endDatePicker.showDate||this.endDatePicker.showTime||(this.showEventEndField=!1,this.toggleLabelVisibility(this.propertyFieldMap.get(vv.hj.EVENT_END),!1))):this.endDatePicker.showDate=!0}}},{key:"addErrorMessages",value:function addErrorMessages(e){var t=this;e.forEach((function(e){return t.errorMessages.push(e)}))}},{key:"clearErrorMessages",value:function clearErrorMessages(){this.errorMessages.length=0}},{key:"onAllDayEventClick",value:function onAllDayEventClick(e){var t=this.getDatePickers();t.forEach((function(t){return t.showTime=!e}));var n=t[0],i=t[1],o=this.isAllDayEvent&&!e;this.isAllDayEvent=e;var a=t[0].getValue(),r=t[1].getValue(),s=new Date(a),l=new Date(r);if(this.isAllDayEvent){0===s.getUTCMinutes()&&0===l.getUTCMinutes()||(n.writeValue(s),i.writeValue(l));var c=this.eventsDateService.resetTime(new Date(s)),d=this.eventsDateService.resetTime(new Date(l));c.getTime()<=d.getTime()&&this.clearErrorMessages()}else if(o){var u=this.roundHour(new Date(Date.now())).getHours();s.setHours(u);var f=this.populateDefaultEndTime(l,s,!1).getHours();l.setHours(f),n.writeValue(s),i.writeValue(l)}var p=this.propertyFieldMap.get(vv.hj.EVENT_END);this.isAllDayEvent&&!this.endDatePicker.showDate&&(this.showEventEndField=!1,this.toggleLabelVisibility(p,!1)),this.isAllDayEvent||this.endDatePicker.showDate||(this.showEventEndField=!0,this.toggleLabelVisibility(p,!0)),this.validate()}},{key:"roundHour",value:function roundHour(e){return(e.getMinutes()>0||e.getSeconds()>0)&&(e.setHours(e.getHours()+1),e.setMinutes(0),e.setSeconds(0)),e}},{key:"convertObjToIsoDateTime",value:function convertObjToIsoDateTime(e){if(e instanceof Date)return(0,d.ow)(e);if(e instanceof Object){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=this.convertObjToIsoDateTime(e[n]));return t}return e}}]),EventTimeCompositeComponent}(Z.F);rR.ctorParameters=function(){return[{type:Mc},{type:m.gz}]},rR.propDecorators={compositeFieldSettings:[{type:l.IIB}],fields:[{type:l.vR,args:[Ja.l]}]},rR=(0,a.gn)([(0,l.wA2)({selector:"sf-event-time-composite-field",template:oR}),(0,a.w6)("design:paramtypes",[Mc,m.gz])],rR);var sR=n(753),lR=[vv.hj.EVENT_START,vv.hj.EVENT_END,vv.hj.ALL_DAY_EVENT,vv.hj.TIME_ZONE_ID],cR=function(e){(0,f.Z)(EventTimeCompositeReadonlyComponent,e);var t=(0,p.Z)(EventTimeCompositeReadonlyComponent);function EventTimeCompositeReadonlyComponent(){return(0,i.Z)(this,EventTimeCompositeReadonlyComponent),t.apply(this,arguments)}return(0,o.Z)(EventTimeCompositeReadonlyComponent,[{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;(0,Re.Z)((0,Qe.Z)(EventTimeCompositeReadonlyComponent.prototype),"ngAfterViewInit",this).call(this);var t=Array.from(this.propertyFieldMap.values()).filter((function(e){return e&&e.currentInstance instanceof Oc}));if(t.length){var n=t.map((function(e){return e.currentInstance}));n.forEach((function(t){return t.showTime=!e.isAllDayEvent})),this.settings.dataItem&&this.settings.dataItem.data&&this.settings.dataItem.data[vv.hj.RECURRENCE_EXPRESSION]&&(n[1].showDate=!1),n.every((function(e){return!e.showTime&&!e.showDate}))&&(0,Re.Z)((0,Qe.Z)(EventTimeCompositeReadonlyComponent.prototype),"toggleLabelVisibility",this).call(this,t[1],!1);var i=this.form.controls,o={};lR.forEach((function(e){i[e]&&(o[e]=i[e].value)})),this.writeValue(o)}}}]),EventTimeCompositeReadonlyComponent}(rR);cR=(0,a.gn)([(0,l.wA2)({template:sR})],cR);var dR=n(754),uR=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],fR=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],pR=function(){function EventsHelper(){(0,i.Z)(this,EventsHelper)}return(0,o.Z)(EventsHelper,[{key:"getWeekDayName",value:function getWeekDayName(e){return uR[e]}},{key:"getMonthName",value:function getMonthName(e){return fR[e]}},{key:"getDayOfMonthSuffix",value:function getDayOfMonthSuffix(e){if(e>=11&&e<=13)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}}]),EventsHelper}();pR=(0,a.gn)([(0,l.GSi)()],pR);var AR=(0,o.Z)((function EndOccurrence(e,t){(0,i.Z)(this,EndOccurrence),this.name=e,this.endRecurrenceType=t})),mR="Don't repeat",gR="Every day",hR="Every workday",vR="Weekly on",bR="Monthly on",yR="Yearly on",ER="Never",IR="By",wR="After",kR=[{Name:mR,Value:"0",HasEndOccurrence:!1,Frequency:YC.None},{Name:gR,Value:"1",HasEndOccurrence:!0,Frequency:YC.Daily,DaysOfWeek:ZC.EveryDay},{Name:hR,Value:"2",HasEndOccurrence:!0,Frequency:YC.Daily,DaysOfWeek:ZC.WeekDays},{Name:vR,Value:"3",HasEndOccurrence:!0,Frequency:YC.Weekly},{Name:bR,Value:"4",HasEndOccurrence:!0,Frequency:YC.Monthly},{Name:yR,Value:"5",HasEndOccurrence:!0,Frequency:YC.Yearly}],xR="Invalid recurring event key!",CR="Invalid end ocurrence key!",SR=function(){function RecurrentRuleService(e){(0,i.Z)(this,RecurrentRuleService),this.eventDatesService=e}return(0,o.Z)(RecurrentRuleService,[{key:"construct",value:function construct(e,t,n){if(!e)return null;var i={};return this.processRepeatEventData(i,e.repeatEvent),this.processEndOccurenceData(i,e.endOccurrence,t),i.startDate=(0,d.ow)(n),i}},{key:"processRepeatEventData",value:function processRepeatEventData(e,t){if(t&&t.key){var n=t.key;if(n.includes(mR))this.processDontRepeat(e);else if(n.includes(gR))this.processEveryDay(e);else if(n.includes(hR))this.processEveryWorkday(e);else if(n.includes(vR))this.processWeekly(e,t);else if(n.includes(bR))this.processMonthly(e,t);else{if(!n.includes(yR))throw new Error(xR);this.processYearly(e,t)}}else e.frequency=YC.None}},{key:"processDontRepeat",value:function processDontRepeat(e){e.frequency=YC.None}},{key:"processEveryDay",value:function processEveryDay(e){e.daysOfWeek=ZC.EveryDay,e.frequency=YC.Daily,e.interval=1}},{key:"processEveryWorkday",value:function processEveryWorkday(e){e.daysOfWeek=ZC.WeekDays,e.frequency=YC.Daily}},{key:"processWeekly",value:function processWeekly(e,t){var n=t.key.split(v.WP.INTERVAL)[2];e.daysOfWeek=ZC[n],e.frequency=YC.Weekly}},{key:"processMonthly",value:function processMonthly(e,t){var n=Number(t.key.match(/[0-9]+/));e.dayOfMonth=n,e.frequency=YC.Monthly}},{key:"processYearly",value:function processYearly(e,t){var n=t.key.split(v.WP.INTERVAL)[2],i=Number(t.key.match(/[0-9]+/));e.month=this.getMonthValue(n),e.dayOfMonth=i,e.frequency=YC.Yearly}},{key:"processEndOccurenceData",value:function processEndOccurenceData(e,t,n){if(t&&t.key){if(!t.key.includes(ER)){if(t.key.includes(IR)){var i=new Date(t.value);return n&&(e.recursUntil=this.eventDatesService.resetTime(e.recursUntil)),e.endRecurrenceType=jC.By,void(e.recursUntil=new Date(i))}if(t.key.includes(wR))return e.maxOccurrences=Number(t.value),void(e.endRecurrenceType=jC.After);throw new Error(CR)}e.endRecurrenceType=jC.Never}}},{key:"getMonthValue",value:function getMonthValue(e){var t=Object.keys(GC).find((function(t){return t.includes(e)}));return GC[t]}}]),RecurrentRuleService}();SR.ctorParameters=function(){return[{type:Mc}]},SR=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[Mc])],SR);var BR="1.00:00:00",DR=function(e){(0,f.Z)(RecurringEventComponent,e);var t=(0,p.Z)(RecurringEventComponent);function RecurringEventComponent(e,n,o,a,r){var s;return(0,i.Z)(this,RecurringEventComponent),(s=t.call(this)).detector=e,s.recurrentRuleService=n,s.eventsHelper=o,s.eventDatesService=a,s.timeZonesProvider=r,s.repeatEventDropdownSettings=Ji.createFieldSettings(kR),s.hasEndOccurrence=!1,s.endOccurrences=new Array,s.recurringEventValue={},s.eventStartDate=new Date,s}return(0,o.Z)(RecurringEventComponent,[{key:"endOnDateField",get:function get(){return this._endOnDateField},set:function set(e){this.initializeOnField(e)}},{key:"afterEndOccurrenceField",get:function get(){return this._afterEndOccurrenceField},set:function set(e){this.initializeAfterField(e)}},{key:"recurrentRule",get:function get(){return JSON.parse(this.getValue())}},{key:"timeZoneId",get:function get(){return this.timezoneId},set:function set(e){this.timezoneId=e}},{key:"allDayEvent",get:function get(){return this._allDayEvent},set:function set(e){this._allDayEvent=e;var t=this.recurrentRule;t&&(this.allDayEvent&&t.duration&&(t.duration=BR,(0,Re.Z)((0,Qe.Z)(RecurringEventComponent.prototype),"writeValue",this).call(this,JSON.stringify(t))),t.frequency!==YC.None&&!!t.recursUntil&&(t.recursUntil=new Date(t.recursUntil),this.allDayEvent?(t.recursUntil=this.eventDatesService.resetTime(t.recursUntil),t.recursUntil=new Date((0,d.ow)(t.recursUntil))):this.setRecurrsUntilTime(t.recursUntil),(0,Re.Z)((0,Qe.Z)(RecurringEventComponent.prototype),"writeValue",this).call(this,JSON.stringify(t))))}},{key:"startDate",get:function get(){return this.eventStartDate},set:function set(e){this.eventStartDate=e,this.updateOccurenceDropdown(e)}},{key:"ngOnInit",value:function ngOnInit(){var e=this;this.choiceSettings={wrapperCssClass:"-list-style-none sf-field__content",choiceCssClass:"sf-row -align-items-center -no-wrap",textCssClass:"sf-row -align-items-center",labelCssClass:"-inline sf-row__col -no-flex",readOnlyMode:this.settings&&this.settings.readOnlyMode,showExpandedTemplateAlways:!0,key:"endOcurrenceOption"},this.endOnDateFieldRef.changes.subscribe((function(t){var n=t.first;n&&(e.endOnDateField=n)})),this.afterEndOccurrenceFieldRef.changes.subscribe((function(t){var n=t.first;n&&(e.afterEndOccurrenceField=n)})),this.allDayEvent=!1;var t=this.settings.dataItem;t&&t.data?(this.eventStartDate=new Date(t.data[vv.hj.EVENT_START_WITH_OFFSET]),this.eventStartDate.setMinutes(this.eventStartDate.getMinutes()+this.eventStartDate.getTimezoneOffset()),this.allDayEvent=t.data[vv.hj.ALL_DAY_EVENT],this.timeZoneId=t.data[vv.hj.TIME_ZONE_ID],this.isLoaded=!0):this.registerSubscription(this.timeZonesProvider.getDefaultTimeZone().pipe((0,Cn._)(),Dn(Id)).subscribe((function(t){t.isLoading||(e.timeZoneId=t.content.timeZoneId,e.isLoaded=!0)})))}},{key:"postProcessValue",value:function postProcessValue(e){var t=this.getRecurrentRule(e);return t.recursUntil&&(t.recursUntil=new Date((0,d.ow)(t.recursUntil))),JSON.stringify(t)}},{key:"writeValue",value:function writeValue(e){var t=this.getRecurrentRule(e);t.frequency===YC.None?(0,Re.Z)((0,Qe.Z)(RecurringEventComponent.prototype),"writeValue",this).call(this,null):(0,Re.Z)((0,Qe.Z)(RecurringEventComponent.prototype),"writeValue",this).call(this,JSON.stringify(t)),this.populateFields(t),this.detector.detectChanges()}},{key:"handleEndDateChange",value:function handleEndDateChange(e){var t=this.recurrentRule;if(t&&t.frequency!==YC.None){var n=(e.getTime()-this.startDate.getTime())/1e3,i=n<0?"00:00:00":(0,d.bR)(n);this.allDayEvent&&(i=BR),t.duration=i,this.writeValue(JSON.stringify(t))}}},{key:"onRepeatEventChange",value:function onRepeatEventChange(e){var t=kR.find((function(t){return t.Value===e})),n=this.endOccurrences.find((function(e){return e.isSelected}));this.hasEndOccurrence=t.HasEndOccurrence,this.setRecurringEventValue(t,n)}},{key:"onEndOccurrenceChange",value:function onEndOccurrenceChange(e){var t=this.endOccurrences[e];this.setOccurenceCondition(e,t),this.updateEndOccurence(t)}},{key:"onEndOccurrenceChoiceChanced",value:function onEndOccurrenceChoiceChanced(e){var t=this.endOccurrences.find((function(t){return t.name===e.Name}));this.updateEndOccurence(t)}},{key:"updateEndOccurence",value:function updateEndOccurence(e){this.setEndOccurrenceValue(e),this.writeValue(this.recurringEventValue)}},{key:"populateFields",value:function populateFields(e){this.initDropdownOptions(e),this.initEndOccurence(e)}},{key:"initDropdownOptions",value:function initDropdownOptions(e){this.updateOccurenceDropdown(this.startDate);var t=kR.find((function(t){return t.Frequency===e.frequency}));e.frequency===YC.Daily&&(t=kR.find((function(t){return t.DaysOfWeek===e.daysOfWeek}))),!this.settings.readOnlyMode&&this.repeatEventDropdown?this.repeatEventDropdown.writeValue(t.Value):this.repeatEventDropdownReadonly&&this.repeatEventDropdownReadonly.writeValue(t.Value),this.repeatEventDropdownSettings.defaultValue=t.Value,this.setRepeatEventValue(t)}},{key:"initEndOccurence",value:function initEndOccurence(e){this.initializeEndOccurrences(),this.hasEndOccurrence=e.frequency!==YC.None;var t=void 0!==e.endRecurrenceType&&null!==e.endRecurrenceType?e.endRecurrenceType:jC.Never,n=function endOccurenceCondition(e){return e.endRecurrenceType===t};this.endOccurrences.find(n).isSelected=!0;var i=this.endOccurrences.findIndex(n);this.endOccurancesChoices[i].Selected=!0}},{key:"setOccurenceCondition",value:function setOccurenceCondition(e,t){this.endOccurancesChoices.forEach((function(t,n){t.Selected=n===e})),this.endOccurrences.forEach((function(e){e.isSelected=e.endRecurrenceType===t.endRecurrenceType}))}},{key:"updateOccurenceDropdown",value:function updateOccurenceDropdown(e){if(e){var t=kR[3],n=this.eventsHelper.getWeekDayName(e.getDay());t.Name="".concat(vR," ").concat(n);var i=kR[4],o=e.getDate(),a=this.eventsHelper.getDayOfMonthSuffix(o);i.Name="".concat(bR," ").concat(o).concat(a);var r=kR[5],s=this.eventsHelper.getMonthName(e.getMonth());r.Name="".concat(yR," ").concat(s," ").concat(o).concat(a),this.repeatEventDropdownSettings=Ji.createFieldSettings(kR)}}},{key:"setRecurringEventValue",value:function setRecurringEventValue(e,t){this.setRepeatEventValue(e),this.setEndOccurrenceValue(t),e.Name===mR?this.writeValue(null):this.writeValue(this.recurringEventValue)}},{key:"setRepeatEventValue",value:function setRepeatEventValue(e){this.recurringEventValue.repeatEvent={key:e.Name,value:e.Data}}},{key:"setEndOccurrenceValue",value:function setEndOccurrenceValue(e){if(e){switch(e.endRecurrenceType){case jC.Never:e.value=null;break;case jC.By:e.value=new Date(this.endOnDateField.dateValue),this.setRecurrsUntilTime(e.value);break;case jC.After:e.value=this.afterEndOccurrenceField.value}this.recurringEventValue.endOccurrence={key:e.name,value:e.value}}}},{key:"initializeEndOccurrences",value:function initializeEndOccurrences(){if(!this.endOccurrences.length){var e=new AR("Never",jC.Never),t=new AR("By",jC.By),n=new AR("After",jC.After);t.template=this.onEndOccurrenceTmpl,n.template=this.afterEndOccurrenceTmpl,this.endOccurrences=[e,t,n],this.endOccurancesChoices=this.endOccurrences.map((function(e){return{Value:e.value,Name:e.name,Selected:e.isSelected,ExpandedTemplate:e.template}}))}}},{key:"initializeAfterField",value:function initializeAfterField(e){var t="10";this.recurrentRule&&this.recurrentRule.endRecurrenceType===jC.After&&(t=this.recurrentRule.maxOccurrences.toString()),this.writeValueToField(e,t),this._afterEndOccurrenceField=e}},{key:"initializeOnField",value:function initializeOnField(e){var t=this.getTomorrowsDate();this.recurrentRule&&this.recurrentRule.endRecurrenceType===jC.By&&(t=this.recurrentRule.recursUntil),this.writeValueToField(e,t),this._endOnDateField=e}},{key:"writeValueToField",value:function writeValueToField(e,t){e&&e.writeValue(t)}},{key:"getTomorrowsDate",value:function getTomorrowsDate(){var e=new Date(Date.now());return e.setDate(e.getDate()+1),e}},{key:"setRecurrsUntilTime",value:function setRecurrsUntilTime(e){return e.setHours(this.startDate.getHours(),this.startDate.getMinutes(),this.startDate.getSeconds(),this.startDate.getMilliseconds()),e}},{key:"getRecurrentRule",value:function getRecurrentRule(e){var t=null;return(t=e?"string"==typeof e?JSON.parse(e):this.recurrentRuleService.construct(e,this.allDayEvent,this.startDate):{frequency:YC.None}).timeZoneId=this.timeZoneId,t}}]),RecurringEventComponent}(Z.F);DR.ctorParameters=function(){return[{type:l.sBO},{type:SR},{type:pR},{type:Mc},{type:av}]},DR.propDecorators={repeatEventDropdown:[{type:l.i9L,args:["repeatEventDropdown",{static:!1}]}],repeatEventDropdownReadonly:[{type:l.i9L,args:["repeatEventDropdownReadonly",{static:!1}]}],onEndOccurrenceTmpl:[{type:l.i9L,args:["onEndOccurrence",{static:!0}]}],afterEndOccurrenceTmpl:[{type:l.i9L,args:["afterEndOccurrence",{static:!0}]}],endOnDateFieldRef:[{type:l.vR,args:["endOnDateField"]}],afterEndOccurrenceFieldRef:[{type:l.vR,args:["afterEndOccurrenceField"]}]},DR=(0,a.gn)([(0,l.wA2)({selector:"sf-recurring-event",template:dR,encapsulation:l.ifc.None,providers:[SR,av]}),(0,a.w6)("design:paramtypes",[l.sBO,SR,pR,Mc,av])],DR);var TR=function(){function EventsFieldChangeService(){(0,i.Z)(this,EventsFieldChangeService)}return(0,o.Z)(EventsFieldChangeService,[{key:"processChange",value:function processChange(e,t,n){if(e===vv.hj.RECURRENCE_EXPRESSION&&this.processRecurrenceExpressionChange(t,n),e===vv.hj.RECURRENCE_EXPRESSION||e===vv.hj.EVENT_START){var i=n.find((function(e){return e.currentInstance instanceof rR})),o=n.find((function(e){return e.currentInstance instanceof DR}));e===vv.hj.RECURRENCE_EXPRESSION&&this.handleEventEnd(t,i.currentInstance),o&&e===vv.hj.EVENT_START&&t[vv.hj.TIME_ZONE_ID]&&(o.currentInstance.timeZoneId=t[vv.hj.TIME_ZONE_ID]),this.processDateChange(i,o),t&&this.processAllDayEventChange(t[vv.hj.ALL_DAY_EVENT],o)}}},{key:"canProcess",value:function canProcess(e){return e===u.Iu}},{key:"processDateChange",value:function processDateChange(e,t){if(t&&e){var n=t.currentInstance,i=e.currentInstance.getValue(!0);n.startDate=new Date(i.EventStart),n.handleEndDateChange(new Date(i.EventEnd))}}},{key:"processAllDayEventChange",value:function processAllDayEventChange(e,t){t&&null!=e&&(t.currentInstance.allDayEvent=e)}},{key:"processRecurrenceExpressionChange",value:function processRecurrenceExpressionChange(e,t){var n=JSON.parse(e),i=n&&!(n.frequency===YC.None);t.find((function(e){return e.currentInstance instanceof rR})).currentInstance.handleRecurrenceChange(i)}},{key:"handleEventEnd",value:function handleEventEnd(e,t){e&&(JSON.parse(e).frequency===YC.None&&t.resetEndDate())}}]),EventsFieldChangeService}();TR=(0,a.gn)([(0,l.GSi)()],TR);var MR={provide:Lf.q,useClass:TR,multi:!0},NR=function(e){(0,f.Z)(EventsGridExtender,e);var t=(0,p.Z)(EventsGridExtender);function EventsGridExtender(){return(0,i.Z)(this,EventsGridExtender),t.apply(this,arguments)}return(0,o.Z)(EventsGridExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.typeFullName===u.Iu||e.metadata.typeFullName===u._I}}]),EventsGridExtender}(fd);NR=(0,a.gn)([(0,l.GSi)()],NR);var FR={multi:!0,provide:ud,useClass:NR},PR=function(e){(0,f.Z)(EventsEditExtender,e);var t=(0,p.Z)(EventsEditExtender);function EventsEditExtender(){return(0,i.Z)(this,EventsEditExtender),t.apply(this,arguments)}return(0,o.Z)(EventsEditExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.typeFullName===u.Iu||e.metadata.typeFullName===u._I}},{key:"includedProperties",value:function includedProperties(e){return[h.E.AvailableLanguages,vv.hj.EVENT_START_WITH_OFFSET,vv.hj.EVENT_END_WITH_OFFSET,vv.hj.EVENT_START_UTC_OFFSET,vv.hj.EVENT_END_UTC_OFFSET]}},{key:"hasCreateActionFromEdit",value:function hasCreateActionFromEdit(){return!0}}]),EventsEditExtender}(Kr);PR=(0,a.gn)([(0,l.GSi)()],PR);var RR={multi:!0,provide:Jr,useClass:PR},QR=(0,o.Z)((function EventsModule(){(0,i.Z)(this,EventsModule)}));QR=(0,a.gn)([(0,l.LVF)({declarations:[JC,VC,rR,cR,DR],exports:[rR,cR,DR],imports:[Ut.ez,cf,Gy],providers:[Mc,FR,MR,Mv,pR,RR]})],QR);var UR=function(){function ThemeGuard(e,t){(0,i.Z)(this,ThemeGuard),this.router=e,this.themeProvider=t}return(0,o.Z)(ThemeGuard,[{key:"canActivate",value:function canActivate(){return!!this.themeProvider.hasProviders||(this.router.navigate([So.HOME]),!1)}}]),ThemeGuard}();UR.ctorParameters=function(){return[{type:m.F0},{type:Mf}]},UR=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[m.F0,Mf])],UR);var LR=n(755),OR=function(){function ThemeComponent(e){(0,i.Z)(this,ThemeComponent),this.themeProvider=e,this.treeConfig={treeProperties:{idField:"id"}},this.selectButton=new ki.pu("Use selected")}return(0,o.Z)(ThemeComponent,[{key:"onTreeInitialized",value:function onTreeInitialized(){this.tree.selectAndActivateNodeById(this.themeProvider.appliedTheme.id.toString())}},{key:"onTreeNodeClicked",value:function onTreeNodeClicked(e){this.selectedTheme=e.data}},{key:"useSelected",value:function useSelected(){var e=this;if(this.selectedTheme&&this.themeProvider.appliedTheme.id!==this.selectedTheme.id){var t=this.selectedTheme;this.selectButton.disabled.next(!0),this.selectButton.loader.next("transparent"),setTimeout((function(){e.selectButton.loader.next(null),e.selectButton.checked.next(!0),setTimeout((function(){e.themeProvider.applyTheme(t),e.selectButton.checked.next(!1),e.selectButton.disabled.next(!1)}),g.oN)}),g.gn)}}}]),ThemeComponent}();OR.ctorParameters=function(){return[{type:Mf}]},OR.propDecorators={tree:[{type:l.i9L,args:["tree",{static:!0}]}]},OR=(0,a.gn)([(0,l.wA2)({template:LR}),(0,a.w6)("design:paramtypes",[Mf])],OR);var zR=[{path:"".concat(So.ROOT_PREFIX,"/theme"),component:OR,canActivate:[UR]}],_R=m.Bz.forChild(zR),VR=(0,o.Z)((function ThemeModule(){(0,i.Z)(this,ThemeModule)}));VR=(0,a.gn)([(0,l.LVF)({imports:[_R,Gy,cf],declarations:[OR],providers:[UR,Mf]})],VR);var GR={readComponent:cR,writeComponent:rR,settingsType:zA.b},HR=function(e){(0,f.Z)(RecurringEventSettings,e);var t=(0,p.Z)(RecurringEventSettings);function RecurringEventSettings(){return(0,i.Z)(this,RecurringEventSettings),t.apply(this,arguments)}return(0,o.Z)(RecurringEventSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(RecurringEventSettings.prototype),"init",this).call(this,e),this.title="Recurring event",this.changeOnFocus=!0}}]),RecurringEventSettings}(j.P1),ZR={writeComponent:DR,readComponent:DR,settingsType:HR},YR={writeComponent:Br,settingsType:zA.b},jR=function(e){(0,f.Z)(LocalizationStrategySettings,e);var t=(0,p.Z)(LocalizationStrategySettings);function LocalizationStrategySettings(){return(0,i.Z)(this,LocalizationStrategySettings),t.apply(this,arguments)}return(0,o.Z)(LocalizationStrategySettings)}(zA.b),WR={writeComponent:wP,settingsType:jR},JR={writeComponent:AP,settingsType:zA.b},qR={writeComponent:yP,settingsType:zA.b},XR={writeComponent:Nd,readComponent:Zc,settingsType:j.P1},KR=function(){function CustomUrlSerializer(){(0,i.Z)(this,CustomUrlSerializer),this._defaultUrlSerializer=new m.sz}return(0,o.Z)(CustomUrlSerializer,[{key:"parse",value:function parse(e){return e=e.replace(/(\()(?!(?:[A-z]+):[A-z]+)(?!(?:[0-z]|-){36}\/edit)/g,"%28").replace(/(\))(.)/g,"%29$2"),this._defaultUrlSerializer.parse(e)}},{key:"serialize",value:function serialize(e){return this._defaultUrlSerializer.serialize(e).replace(/\((((?!(\/\/|:)).)*)\)/g,"$1").replace(/%28/g,"(").replace(/%29/g,")")}}]),CustomUrlSerializer}(),$R={writeComponent:gE,readComponent:vE,settingsType:_i},eQ=function(e){(0,f.Z)(SwitchSettings,e);var t=(0,p.Z)(SwitchSettings);function SwitchSettings(){var e;return(0,i.Z)(this,SwitchSettings),(e=t.apply(this,arguments)).onText="ON",e.offText="OFF",e}return(0,o.Z)(SwitchSettings,[{key:"init",value:function init(e){(0,Re.Z)((0,Qe.Z)(SwitchSettings.prototype),"init",this).call(this,e)}}]),SwitchSettings}(j.P1),tQ={writeComponent:Gd,readComponent:Gd,settingsType:eQ},nQ={writeComponent:QN,readComponent:QN,settingsType:RN},iQ=n(757),oQ=n(756),aQ=function(){function SidebarEffects(e,t,n){var o=this;(0,i.Z)(this,SidebarEffects),this.actions$=e,this.storage=t,this.store=n,this.openedSidebars$=(0,oQ.GW)((function(){return o.actions$.pipe((0,oQ.l4)(RA.BB.configure),(0,xn.g)(0),(0,oa.zg)((function(e){return(0,r.of)(o.initFromConfig(e.sidebarData))})))})),this.activeConfigChanged$=(0,oQ.GW)((function(){return o.actions$.pipe((0,oQ.l4)(RA.BB.change,RA.BB.changeAndOpen),(0,K.M)(o.store.pipe(nm.sidebarData)),(0,oa.zg)((function(e){var t=e[0],n=e[1],i=Object.assign({},t.activeConfig);return o.setOpenedSidebar(n,i),(0,r.of)((0,RA.vR)({activeConfig:i}))})))})),this.setAnimateFalse$=(0,oQ.GW)((function(){return o.actions$.pipe((0,oQ.l4)(RA.BB.open,RA.BB.close,RA.BB.changeAndOpen),(0,xn.g)(1200),(0,oa.zg)((function(e){return(0,r.of)(RA.BB.setShouldAnimate({shouldAnimate:!1}))})))})),this.configChanged$=(0,oQ.GW)((function(){return o.actions$.pipe((0,oQ.l4)(RA.BB.configure),(0,oa.zg)((function(e){var t=Object.assign({},e.sidebarData);return(0,r.of)((0,RA.V2)({sidebarData:t}))})))})),this.close$=(0,oQ.GW)((function(){return o.actions$.pipe((0,oQ.l4)(RA.BB.close),(0,K.M)(o.store.pipe(nm.sidebarData)),(0,ra.b)((function(e){var t=e[0].shouldClearLocalStorageForSidebar,n=e[1];t&&o.getSidebarExternalKeys(n).forEach((function(e){if(e){var t=o.getOpenedSidebars();t[e]&&(delete t[e],o.storage.setItem(qg,JSON.stringify(t)))}}))})))}),{dispatch:!1})}return(0,o.Z)(SidebarEffects,[{key:"initFromConfig",value:function initFromConfig(e){if(e.externalKey){var t=this.getSidebarExternalKeys(e),n=this.getOpenedSidebars()[t[0]];if(n){var i=e.buttons.find((function(e){return e.name===n})),o=Object.assign({},i);return RA.BB.changeAndOpen({activeConfig:o,shouldAnimate:!1})}return RA.BB.close({shouldAnimate:!1,shouldClearLocalStorageForSidebar:!0})}return{type:"noop"}}},{key:"setOpenedSidebar",value:function setOpenedSidebar(e,t){var n=t.name;if(e&&e.externalKey&&e.buttons.find((function(e){return e.name===n}))){var i=this.getOpenedSidebars(),o=this.getSidebarExternalKeys(e);i[o[0]]!==n&&(o.forEach((function(e){return i[e]=n})),this.storage.setItem(qg,JSON.stringify(i)))}}},{key:"getSidebarExternalKeys",value:function getSidebarExternalKeys(e){return Array.isArray(e.externalKey)?e.externalKey:[e.externalKey]}},{key:"getOpenedSidebars",value:function getOpenedSidebars(){var e=this.storage.getItem(qg);return e=e?JSON.parse(e):{}}}]),SidebarEffects}();aQ.ctorParameters=function(){return[{type:oQ.eX},{type:Rr.V1,decorators:[{type:l.tBr,args:[Rr.H3]}]},{type:Hs.dk}]},aQ=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[oQ.eX,Rr.V1,Hs.dk])],aQ);var rQ=function(){function MobilePreviewEffects(e,t){var n=this;(0,i.Z)(this,MobilePreviewEffects),this.actions$=e,this.settingsService=t,this.onChangeWidth$=(0,oQ.GW)((function(){return n.actions$.pipe((0,oQ.l4)(fm.K.changeWidth),(0,oa.zg)((function(e){return(0,r.of)(n.setStorageValue(e.width))})))}),{dispatch:!1}),this.init$=(0,oQ.GW)((function(){return n.actions$.pipe((0,oQ.l4)(oQ.jK),(0,w.U)((function(){var e=n.settingsService.getMobillePreviewBreakPoint();return e?fm.K.changeWidth({width:e}):{type:"noop"}})))}))}return(0,o.Z)(MobilePreviewEffects,[{key:"setStorageValue",value:function setStorageValue(e){return e&&this.settingsService.setMobillePreviewBreakPoint(e),{type:"noop"}}}]),MobilePreviewEffects}();rQ.ctorParameters=function(){return[{type:oQ.eX},{type:Qt.Zr}]},rQ=(0,a.gn)([(0,l.GSi)(),(0,a.w6)("design:paramtypes",[oQ.eX,Qt.Zr])],rQ);var sQ=[Ys.Aw.forRoot(Hs.HR,{metaReducers:Hs.Su}),oQ.sQ.forRoot([aQ,rQ])];ns.N.env!==_t.H.integration&&ns.N.env!==_t.H.production&&sQ.push(iQ.FT.instrument({maxAge:25,logOnly:!1}));var lQ=sQ,cQ=n(758),dQ=(0,o.Z)((function ConditionColumnComponent(e){(0,i.Z)(this,ConditionColumnComponent),this.typeParserService=e}));dQ.ctorParameters=function(){return[{type:aC}]},dQ.propDecorators={formRuleConditions:[{type:l.IIB}],formRuleOperator:[{type:l.IIB}],formDefinition:[{type:l.IIB}]},dQ=(0,a.gn)([(0,l.wA2)({selector:"sf-condition-column",template:cQ}),(0,a.w6)("design:paramtypes",[aC])],dQ);var uQ=function(){function GetConditionFieldTitlePipe(e){(0,i.Z)(this,GetConditionFieldTitlePipe),this.typeParserService=e}return(0,o.Z)(GetConditionFieldTitlePipe,[{key:"transform",value:function transform(e,t){var n=this.typeParserService.getField(t,e.Id);return n?n.Title:v.WP.EMPTY_STRING}}]),GetConditionFieldTitlePipe}();uQ.ctorParameters=function(){return[{type:aC}]},uQ=(0,a.gn)([(0,l.E6H)({name:"sfGetConditionFieldTitle",pure:!0}),(0,a.w6)("design:paramtypes",[aC])],uQ);var fQ=function(){function GetConditionOperatorLabelPipe(e){(0,i.Z)(this,GetConditionOperatorLabelPipe),this.typeParserService=e}return(0,o.Z)(GetConditionOperatorLabelPipe,[{key:"transform",value:function transform(e,t){var n=this.typeParserService.getField(t,e.Id);if(n){var i=n.Operators.find((function(t){return t.Key===e.Operator}));if(i)return i.Value}return v.WP.EMPTY_STRING}}]),GetConditionOperatorLabelPipe}();fQ.ctorParameters=function(){return[{type:aC}]},fQ=(0,a.gn)([(0,l.E6H)({name:"sfGetConditionOperatorLabel",pure:!0}),(0,a.w6)("design:paramtypes",[aC])],fQ);var pQ=function(){function GetRuleOperatorLabelPipe(){(0,i.Z)(this,GetRuleOperatorLabelPipe)}return(0,o.Z)(GetRuleOperatorLabelPipe,[{key:"transform",value:function transform(e){return xx[e]}}]),GetRuleOperatorLabelPipe}();pQ=(0,a.gn)([(0,l.E6H)({name:"sfGetRuleOperatorLabel",pure:!0})],pQ);var AQ=function(){function GetConditionFieldValuePipe(e,t){(0,i.Z)(this,GetConditionFieldValuePipe),this.typeParserService=e,this.dateService=t,this.relativeDatePipe=new On(this.dateService),this.isoWeekDatesPipe=new Ju}return(0,o.Z)(GetConditionFieldValuePipe,[{key:"transform",value:function transform(e,t){var n=this.typeParserService.getField(t,e.Id);if(n&&n.InputType&&e.Value&&e.Value.trim()!==v.WP.EMPTY_STRING)switch(n.InputType){case Tx.TEXT_INPUT_TYPE.DATE:return this.relativeDatePipe.transform(e.Value,null,Tx.TIMEZONE_OFFSET);case Tx.TEXT_INPUT_TYPE.MONTH:return this.relativeDatePipe.transform(e.Value,On.MONTH_AND_YEAR,Tx.TIMEZONE_OFFSET);case Tx.TEXT_INPUT_TYPE.TIME:return this.relativeDatePipe.transform(e.Value,On.TIME,Tx.TIMEZONE_OFFSET);case Tx.TEXT_INPUT_TYPE.DATE_TIME_LOCAL:return this.relativeDatePipe.transform(e.Value,On.FULL_DATE_SHORT_MONTH_AND_TIME,Tx.TIMEZONE_OFFSET);case Tx.TEXT_INPUT_TYPE.WEEK:return this.isoWeekDatesPipe.transform(e.Value);default:return e.Value}return e.Value}}]),GetConditionFieldValuePipe}();AQ.ctorParameters=function(){return[{type:aC},{type:Ln}]},AQ=(0,a.gn)([(0,l.E6H)({name:"sfGetConditionFieldValue",pure:!0}),(0,a.w6)("design:paramtypes",[aC,Ln])],AQ);var mQ=n(759),gQ=(0,o.Z)((function ActionColumnComponent(){(0,i.Z)(this,ActionColumnComponent)}));gQ.propDecorators={formRuleActions:[{type:l.IIB}],formDefinition:[{type:l.IIB}]},gQ=(0,a.gn)([(0,l.wA2)({selector:"sf-action-column",template:mQ})],gQ);var hQ=function(){function FormActionColumnDirective(e,t,n){(0,i.Z)(this,FormActionColumnDirective),this.typeParserService=e,this.metadataStore=t,this.dynamicItemsService=n,this.isFormField=!0,this.actionColumnData={title:v.WP.EMPTY_STRING}}return(0,o.Z)(FormActionColumnDirective,[{key:"ngOnInit",value:function ngOnInit(){this.setFieldActionData()}},{key:"setFieldActionData",value:function setFieldActionData(){this.isFormField?this.getActionFieldData():this.getActionData()}},{key:"getActionData",value:function getActionData(){var e=this,t=this.formDefinition.AvailableActions.find((function(t){return t.Key===e.formRuleAction.Action}));this.actionColumnData.title=this.formRuleAction.Action,t&&(this.actionColumnData.title=t.Value)}},{key:"getActionFieldData",value:function getActionFieldData(){var e=this;switch(this.formRuleAction.Action){case Tx.FORM_ACTION_TYPE.SHOW:case Tx.FORM_ACTION_TYPE.HIDE:var t=this.typeParserService.getField(this.formDefinition,this.formRuleAction.Target);t&&(this.actionColumnData.title=t.Title);break;case Tx.FORM_ACTION_TYPE.SKIP:var n=this.formDefinition.Steps?this.formDefinition.Steps.find((function(t){return t.Key.toString()===e.formRuleAction.Target})):null;n&&(this.actionColumnData.title=n.Value);break;case Tx.FORM_ACTION_TYPE.GOTO:var i=this.formRuleAction.Target;if(i){var o={itemKey:i,entityData:{metadata:this.metadataStore.getEntity(u.gl.PAGES),culture:this.formDefinition.Culture}};this.dynamicItemsService.getItem(o).subscribe((function(t){e.actionColumnData.title=t.data.Title}),(function(t){e.actionColumnData={title:Tx.PAGE_DOES_NOT_EXIST,cssClassList:"-sf-txt-failure"}}))}break;case Tx.FORM_ACTION_TYPE.SEND_NOTIFICATION:this.actionColumnData.title=this.formRuleAction.Target.trim().split(",").filter((function(e){return e!==v.WP.EMPTY_STRING})).map((function(e){return e.trim()})).join("".concat(v.WP.COMMA).concat(v.WP.INTERVAL));break;default:this.actionColumnData.title=this.formRuleAction.Target}}}]),FormActionColumnDirective}();hQ.ctorParameters=function(){return[{type:aC},{type:pe.EY},{type:Ci.dg}]},hQ.propDecorators={formRuleAction:[{type:l.IIB}],formDefinition:[{type:l.IIB}],isFormField:[{type:l.IIB}]},hQ=(0,a.gn)([(0,l.Xek)({selector:"[sfFormActionColumn]",exportAs:"sfFormActionColumn"}),(0,a.w6)("design:paramtypes",[aC,pe.EY,Ci.dg])],hQ);var vQ=n(760),bQ=function(){function ConditionCreateCompositeComponent(e){(0,i.Z)(this,ConditionCreateCompositeComponent),this.typeParserService=e,this.conditionForDelete=new l.vpe}return(0,o.Z)(ConditionCreateCompositeComponent,[{key:"ngOnInit",value:function ngOnInit(){this.initConditionFields()}},{key:"formFieldChanged",value:function formFieldChanged(e){if(this.formField=this.formDefinition.Fields.find((function(t){return t.Id===e})),this.formField){var t=this.formField.Operators.length>0?this.formField.Operators[0].Key:null,n=new _i("operatorsDropdown",!1);n.choices=this.setOperatorChoices(this.formField.Operators),n.defaultValue=t,this.operatorsDropdownSettings=n,this.formRuleCondition.Value=this.getDefaultFieldValue(),this.refreshDynamicComponent(this.formField,t,this.formRuleCondition.Value)}this.formRuleCondition.Id=e}},{key:"conditionOperatorChanged",value:function conditionOperatorChanged(e){this.refreshDynamicComponent(this.formField,e,this.formRuleCondition.Value),this.formRuleCondition.Operator=e}},{key:"deleteCondition",value:function deleteCondition(){this.conditionForDelete.emit(this.formRuleCondition)}},{key:"loaderInit",value:function loaderInit(e){var t=this;this.wrappedField=e,this.wrappedField.registerOnChange((function(e){if(t.loader.currentInstance instanceof Oc)if(e){var n=new Date(e);t.formRuleCondition.Value=(0,d.ow)(n,Tx.TIMEZONE_OFFSET)}else t.formRuleCondition.Value=e;else t.formRuleCondition.Value=e}))}},{key:"initConditionFields",value:function initConditionFields(){var e=this;this.formRuleCondition&&(this.formFieldsDropdownSettings=new _i("formFieldsDropdown",!1),this.operatorsDropdownSettings=new _i("operatorsDropdown",!1),this.typeParserService.getConditionFields(this.formDefinition).forEach((function(t){e.formFieldsDropdownSettings.choices.push({Value:t.Id,Name:t.Title})})),this.formField=this.formDefinition.Fields.find((function(t){return t.Id===e.formRuleCondition.Id})),this.formField&&(this.formFieldsDropdownSettings.defaultValue=this.formRuleCondition.Id,this.operatorsDropdownSettings.choices=this.setOperatorChoices(this.formField.Operators),this.operatorsDropdownSettings.defaultValue=this.formRuleCondition.Operator,this.refreshDynamicComponent(this.formField,this.formRuleCondition.Operator,this.formRuleCondition.Value)))}},{key:"refreshDynamicComponent",value:function refreshDynamicComponent(e,t,n){this.loader&&this.loader.destroy(this.formFieldColumnData.component),t===Tx.CONDITION_OPERATORS.IsFilled||t===Tx.CONDITION_OPERATORS.IsNotFilled?(this.formRuleCondition.Value=v.WP.EMPTY_STRING,this.formFieldColumnData=this.typeParserService.getConditionComponentType({Type:null},null)):this.formFieldColumnData=this.typeParserService.getConditionComponentType(e,n)}},{key:"setOperatorChoices",value:function setOperatorChoices(e){return e.map((function(e){return{Name:e.Value,Value:e.Key}}))}},{key:"getDefaultFieldValue",value:function getDefaultFieldValue(){var e=v.WP.EMPTY_STRING;return this.formField&&this.formField.Values&&this.formField.Values.length>0&&(e=this.formField.Values[0].Value),e}}]),ConditionCreateCompositeComponent}();bQ.ctorParameters=function(){return[{type:aC}]},bQ.propDecorators={formDefinition:[{type:l.IIB}],formRuleCondition:[{type:l.IIB}],canDelete:[{type:l.IIB}],conditionForDelete:[{type:l.r_U}],loader:[{type:l.i9L,args:["loader",{static:!1}]}]},bQ=(0,a.gn)([(0,l.wA2)({selector:"sf-condition-create-composite",template:vQ}),(0,a.w6)("design:paramtypes",[aC])],bQ);var yQ=function(){function TrimTextPipe(){(0,i.Z)(this,TrimTextPipe)}return(0,o.Z)(TrimTextPipe,[{key:"transform",value:function transform(e){if(!e)return v.WP.EMPTY_STRING;for(var t=e,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o-1){var r=e[a];r.Title=$.Oi.titleAndProperties,r.Ordinal=ae.fT+1}}return e}}]),FormsOperationsFilter}();EQ=(0,a.gn)([(0,l.GSi)()],EQ);var IQ={multi:!0,provide:te,useClass:EQ},wQ=function(e){(0,f.Z)(FormsEditExtender,e);var t=(0,p.Z)(FormsEditExtender);function FormsEditExtender(){return(0,i.Z)(this,FormsEditExtender),t.apply(this,arguments)}return(0,o.Z)(FormsEditExtender,[{key:"isSupportedType",value:function isSupportedType(e){return e.metadata.setName===u.gl.FORMS}},{key:"showHeader",value:function showHeader(e){return!0}},{key:"excludedProperties",value:function excludedProperties(e){return[h.E.NAME,h.E.TITLE]}}]),FormsEditExtender}(Kr);wQ=(0,a.gn)([(0,l.GSi)()],wQ);var kQ={multi:!0,provide:Jr,useClass:wQ},xQ=function(e){(0,f.Z)(ZoneEditorFormsExtender,e);var t=(0,p.Z)(ZoneEditorFormsExtender);function ZoneEditorFormsExtender(){return(0,i.Z)(this,ZoneEditorFormsExtender),t.apply(this,arguments)}return(0,o.Z)(ZoneEditorFormsExtender,[{key:"canHandle",value:function canHandle(e){return e===u.gl.FORMS}},{key:"getEmptyRootCssClasses",value:function getEmptyRootCssClasses(){return[$f,Xf]}},{key:"useNarrowLook",value:function useNarrowLook(){return!0}},{key:"getInitialWidgetSelectorTabName",value:function getInitialWidgetSelectorTabName(){return"Content"}}]),ZoneEditorFormsExtender}(Bx);xQ=(0,a.gn)([(0,l.GSi)()],xQ);var CQ={multi:!0,provide:Sx,useClass:xQ},SQ=(0,o.Z)((function SfFormsModule(){(0,i.Z)(this,SfFormsModule)}));SQ=(0,a.gn)([(0,l.LVF)({declarations:[cC,dQ,gQ,lC,bQ,sC,Xx,uQ,fQ,AQ,pQ,hQ,yQ],imports:[cf,Gy,ze.u5,Ut.ez],providers:[$x,aC,IQ,kQ,CQ],exports:[m.Bz]})],SQ);var BQ=(0,o.Z)((function AppModule(e){(0,i.Z)(this,AppModule),e.setDefaults(DQ)}));BQ.ctorParameters=function(){return[{type:lr.H}]},BQ=(0,a.gn)([(0,l.LVF)({declarations:[uI,uk,pk,vk,Ek,pC],imports:[vd.b2,vg.PW,tM,uM,cf,XE,QR,iE,dE,eI,QD,XT,zM,JM,WM,sP,SQ,VR,Gy.forRoot(),CT,tR,xC,lQ],bootstrap:[uI],schemas:[l.MUr],providers:[yx,Hs.dk,{provide:m.Hx,useClass:KR},{provide:l.QSY,useValue:{},multi:!0},dx]}),(0,a.w6)("design:paramtypes",[lr.H])],BQ);var DQ=new Map([[Y.U.html,sk],[Y.U.longText,sk],[Y.U.shortText,Pe.T5],[Y.U.password,Pe.Ot],[Y.U.shortTextDefault,Pe.N3],[Y.U.number,rM],[Y.U.taxa,eE],[Y.U.urlName,oM],[Y.U.additionalUrls,iM],[Y.U.media,Xw],[Y.U.textArea,VE],[Y.U.choice,wA],[Y.U.choiceDropDown,kA],[Y.U.choiceDropDownList,xA],[Y.U.choiceMultiple,CA],[Y.U.choiceYesNo,SA],[Y.U.switch,tQ],[Y.U.dropdownSelector,cM],[Y.U.dateTime,fM],[Y.U.relatedData,sM],[Y.U.choiceReadonly,wA],[Y.U.choiceMultipleReadonly,CA],[Y.U.linkInsert,gM],[Y.U.choiceYesNoReadonly,SA],[Y.U.choiceList,BA],[Y.U.choiceListMultiple,DA],[Y.U.choiceParameterizedSelector,zF],[Y.U.choiceChip,TA],[Y.U.address,hM],[Y.U.mediaData,ek],[Y.U.timezones,iR],[Y.U.parentDropdownSelector,nR],[Y.U.eventTimeCompositeField,GR],[Y.U.color,Sv],[Y.U.recurringEvent,ZR],[Y.U.siteSync,Uv],[Y.U.navigationOptionsCompositeField,YR],[Y.U.localizationStrategy,WR],[Y.U.searchSiteCompositeField,JR],[Y.U.advancedOptionsCompositeField,qR],[Y.U.hidden,XR],[Y.U.taxonomyTypeChoice,$R],[Y.U.read,Pe.T5],[Y.U.urlNameStructure,oM],[Y.U.complex,nQ],[Y.U.multipleChoiceChip,ub],[Y.U.customSize,Kw],[Y.U.thumbnail,$w],[Y.U.fileList,Hk],[Y.U.content,JN],[Y.U.contentAll,AF],[Y.U.videoThumbnail,ED],[Y.U.itemList,Ha],[Y.U.templateThumbnail,qP],[Y.U.listSettings,vF],[Y.U.resultsListSettings,rP],[Y.U.choiceServiceUrl,CF],[Y.U.listFieldMapping,PF],[Y.U.listFieldMappingCss,HF],[Y.U.viewSelector,wN],[Y.U.range,nf],[Y.U.attributes,eP],[Y.U.fileTypes,lf]]);console.info("-".repeat(25)),console.info("Admin App Build:","14.2.7900.623"),console.info("-".repeat(25)),new hg.AZ(localStorage,window,ns.N.env).boot(BQ)},function(e,t,n){n.d(t,{Y:function(){return c}});var i=n(5),o=n(4),a=n(65),r=n(7),s=n(3),l=n(6),c=function(){function Logger(e,t){(0,i.Z)(this,Logger),this.sources=e,this.window=t,this.logs=[]}return(0,o.Z)(Logger,[{key:"log",value:function log(e){var log={category:s.W.Any,data:{message:e}};this.logInternal(log)}},{key:"warn",value:function warn(e){var t={category:s.W.Warn,data:{message:e}};this.logInternal(t)}},{key:"error",value:function error(e){var t={category:s.W.Error,data:{message:e.message,stackTrace:e.stack}};this.logInternal(t)}},{key:"logInternal",value:function logInternal(e){var t=this;this.isDuplicatedLog(e)||this.logs.push(e),this.loggingProcessTimer||(this.loggingProcessTimer=this.window.setTimeout((function(){t.loggingProcessTimer=0,t.sources.forEach((function(e){return e.process(t.logs)})),t.logs=[]}),1e3))}},{key:"isDuplicatedLog",value:function isDuplicatedLog(e){if(!this.logs.length)return!1;var t=this.logs[this.logs.length-1],n=e.data.stackTrace,i=t.data.stackTrace,o=!1;n&&i&&n.length===i.length&&(o=!0);var isDuplicatedLog=e.data.message===t.data.message&&o;return isDuplicatedLog}}]),Logger}();c.ctorParameters=function(){return[{type:Array,decorators:[{type:r.tBr,args:[s.l]}]},{type:Window,decorators:[{type:r.tBr,args:[l.SC]}]}]},c=(0,a.gn)([(0,r.GSi)(),(0,a.w6)("design:paramtypes",[Array,Window])],c)},function(e,t,n){n.d(t,{W:function(){return i},l:function(){return r}});var i,o=n(4),a=n(5),r=(0,o.Z)((function LoggerSource(){(0,a.Z)(this,LoggerSource)}));!function(e){e[e.Debug=0]="Debug",e[e.Error=1]="Error",e[e.Trace=2]="Trace",e[e.Any=3]="Any",e[e.Warn=4]="Warn"}(i||(i={}))},,,function(e,t,n){n.d(t,{SC:function(){return i},pX:function(){return o}});var i=new(n(7).OlP)("Window");var o={provide:i,useFactory:function getWindowFactory(){return"undefined"!=typeof window?window:null}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){n.d(t,{Ao:function(){return indefiniteArticle},Bd:function(){return compareOperationArrays},Ek:function(){return getGridViewMode},Ew:function(){return isNullOrEmpty},Fm:function(){return extractSafeUrl},I8:function(){return deepClone},Jv:function(){return isElementVisible},K3:function(){return getFileNameWithoutExtension},LG:function(){return getExtensionFromFileName},M8:function(){return h},Ph:function(){return toggleIrisIntegratedStyles},Q7:function(){return getFormattedTypeName},Sm:function(){return assignMatchingProperties},T9:function(){return filterDuplicates},TE:function(){return copyTextToClipboard},TI:function(){return getValidateExtensionsErrorMessage},U9:function(){return addPrefix},Uh:function(){return hasValue},WH:function(){return convertHourMinuteSecStringToSeconds},Wd:function(){return getCssVariableValueAsNumber},_6:function(){return f},aA:function(){return isFileTypeAllowed},ah:function(){return createFileWithBase64},bR:function(){return convertSecondsToHourMinuteSecString},d3:function(){return flatDeep},fm:function(){return p},hw:function(){return validateExtensionsVersusSitefinityVersions},iK:function(){return cloneInstance},jE:function(){return showSitefinityContent},kI:function(){return cloneObject},mA:function(){return toKebabCase},nH:function(){return hideSitefinityContent},ow:function(){return convertDateToIsoDateTime},tT:function(){return c},vB:function(){return filename},wf:function(){return m},xi:function(){return u}});var i=n(21),o=n(5),a=n(4),r=n(67),s=n(68),l="sfAlwaysVisible",c=Object.freeze({buildRegex:function buildRegex(e,t){return s(e,t)},replace:function replace(e,t,n){return s.replace(e,t,n)},test:function test(e,t){return t.test(e)}});function getFormattedTypeName(e,t,n){var i=r.WP.EMPTY_STRING;return e&&(i=t?e.plural:n&&e.singular?"".concat(indefiniteArticle(e.singular)," ").concat(e.singular):e.singular),i}function indefiniteArticle(e){if(!e||"string"!=typeof e||e.length<1)return r.WP.EMPTY_STRING;var t=/\w+/.exec(e),n=r.WP.EMPTY_STRING;if(!t)return r.WP.EMPTY_STRING;for(var i=(n=t[0]).toLowerCase(),o=["honest","hour","hono"],a=0;a=0?"an":"a";if(n.match(/(?!FJO|[HLMNS]Y.|RY[EO]|SQU|(F[LR]?|[HL]|MN?|N|RH?|S[CHKLMNPTVW]?|X(YL)?)[AEIOU])[FHLMNRSX][A-Z]/))return"an";for(var s=[/^e[uw]/,/^onc?e\b/,/^uni([^nmd]|mo)/,/^u[bcfhjkqrst][aeiou]/],l=0;l=0?"an":"a":"aeiou".indexOf(i[0])>=0||i.match(/^y(b[lor]|cl[ea]|fere|gg|p[ios]|rou|tt)/)?"an":"a"}function isObject(e){return"object"==typeof e}function assignMatchingProperties(e,t){isObject(e)?Object.keys(e).forEach((function(n){n in t&&(isObject(t[n])?Object.assign(e[n],t[n]):e[n]=t[n])})):Object.assign(e,t)}var d={are:"were",eat:"ate",go:"went",have:"had",inherit:"inherited",is:"was",run:"ran",sit:"sat",visit:"visited",reorder:"reordered"},u=function getPastTense(e){return d[e.toLowerCase()]?d[e.toLowerCase()]:/e$/i.test(e)?e+"d":/[aeiou]c/i.test(e)?e+"ked":/el$/i.test(e)||/[aeio][aeiou][dlmnprst]$/.test(e)?e+"ed":/[aeiou][bdglmnprst]$/i.test(e)?e.replace(/(.+[aeiou])([bdglmnprst])/,"$1$2$2ed"):e+"ed"},f=function pluralize(e){return e.endsWith("x")?e+"es":e.endsWith("s")?e:e+"s"},p=function capitalizeFirstLetter(e){return e&&e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e};function addPrefix(e){return"__sf__"+e}function isFileTypeAllowed(e,t){return!(!t||!t.length)&&t.filter((function(t){return e.toUpperCase()===t.toUpperCase()})).length>0}function filename(e){var t=e.split(r.WP.DOT);return t.length>1&&t.pop(),t.join(r.WP.DOT)}function isNullOrEmpty(e){return null===e||e===r.WP.EMPTY_STRING}function cloneObject(e){return JSON.parse(JSON.stringify(e))}function cloneInstance(e){return cloneObject(e)}function convertDateToIsoDateTime(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=new Date(e),i=null===t?0:t;return n.setMinutes(n.getMinutes()-n.getTimezoneOffset()+i),n.toISOString()}function extractSafeUrl(e){return e?e.changingThisBreaksApplicationSecurity:e}function validateExtensionsVersusSitefinityVersions(e,t){if(t)for(var n in t)if(t.hasOwnProperty(n)){var i=t[n].filter((function(e){return e.match(/^\d+\.\d+\.\d+\.\d+$/)})).sort(compareVersions);if(0!==i.length)if(compareVersions(i[0],e)>0){var o=i[i.length-1];window.console.warn("The extension ".concat(n," is based on Extensions Repo Version ").concat(o," which is greater than the running Sitefinity version ").concat(e,". Some of the extensions might not work properly. For more information, see https://github.com/Sitefinity/sitefinity-admin-app-extensions#backward-compatibility"))}}}function getExtensionFromFileName(e){var t=e.split(r.WP.DOT);return t.length>1?t.pop():r.WP.EMPTY_STRING}function getFileNameWithoutExtension(e){var t=e.split(r.WP.DOT);return t&&t.length?t[0]:e}function getValidateExtensionsErrorMessage(e){return"Invalid file format. Allowed formats: "+e.map((function(e){return e.toUpperCase()})).join(", ")}var A=function(){function DeepCloneProcessor(){(0,o.Z)(this,DeepCloneProcessor)}return(0,a.Z)(DeepCloneProcessor,[{key:"processObject",value:function processObject(e){if("object"!=typeof e)return e;if(!e)return e;for(var t=Object.create(Object.getPrototypeOf(e)),n=0,i=Object.keys(e);n1&&void 0!==arguments[1]?arguments[1]:1;return t>0?e.reduce((function(e,n){return e.concat(Array.isArray(n)?flatDeep(n,t-1):n)}),[]):e.slice()}function filterDuplicates(e){return e.filter((function(e,t,n){return n.indexOf(e)===t}))}function isElementVisible(e,t){var n=!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length),i="hidden"!==e.getComputedStyle(t).visibility;return n&&i}!function(e){e.Thumbs="Thumbs",e.List="List",e.Timeline="Timeline"}(m||(m={}));var h=function guid(){for(var e="",t=0;t<32;t++){var n=16*Math.random()|0;8!==t&&12!==t&&16!==t&&20!==t||(e+="-"),e+=(12===t?4:16===t?3&n|8:n).toString(16)}return e}},function(e,t,n){n.d(t,{E2:function(){return l},EB:function(){return a},Fq:function(){return i},KX:function(){return c},Mw:function(){return p},PR:function(){return u},SV:function(){return r},VG:function(){return m},VT:function(){return b},WP:function(){return o},Xd:function(){return y},YS:function(){return g},Yk:function(){return I},gL:function(){return d},iZ:function(){return A},qf:function(){return v},sK:function(){return h},vY:function(){return E},xl:function(){return s},yX:function(){return f}});var i={HTML:"text/html",JSON:"application/json"},o={EMPTY_STRING:"",INTERVAL:" ",DASH:"-",URLS:"Urls",TYPE_UNDEFINED:"undefined",FORWARD_SLASH:"/",BACKWARD_SLASH:"\\",DEFAULT_GUID:"00000000-0000-0000-0000-000000000000",DOT:".",COLON:":",COMMA:",",ELLIPSIS:"...",ASTERISK:"*",NEW_LINE:"\n",QUESTION_MARK:"?",HASH:"#",AMPERSAND:"&",GREATER_THAN:">",OPENING_SQUARE_BRACKET:"[",OPENING_BRACKET:"(",QUOTE:'"',NEWLINE:"\n"},a=[o.INTERVAL,o.OPENING_BRACKET,o.OPENING_SQUARE_BRACKET,o.DASH,o.QUOTE],r={EMAIL_PATTERN:/^[a-zA-Z0-9.!#$%&'*\+\-/=?^_`{|}~]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,63}$/i,VALID_URL_PATTERN:/^(?:(?:https?|ftp|file):\/\/|www\.|ftp\.|\/)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])/i,VALID_URL_PATTERN_MANDATORY_PROTOCOL:/^(((https?|ftp):\/\/(www\.)?)|\/)[^-][-a-zA-Z0-9]*(\.[a-z]{2,63})?[/\?]?\b([-a-zA-Z0-9@:%_\+.~#()?&//=,!]*)/i},s={DOLLAR:"$",CARET:"^",IGNORE_CASE:"i",ESCAPE_RESERVED_CHARACTERS_PATTERN:/[\-\[\]{}()*+?.,\\\^$|#\s]/g},l=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:9007199254740991,c=["width","height","src","frameborder","allowfullscreen","style","class","title","allow"],d={VALIDATE:"Default.Validate"},u=o.FORWARD_SLASH,f="_blank",p="_self",A="not set",m="not selected",g="/RestApi",h="/adminapp",v="Content from this type cannot be selected because the module or the source providing its content is deleted or deactivated.",b="sf-any-site-provider",y="sf-site-default-provider",E="/signout?sts_signout=true&redirect_uri=",I="/signout?sts_signout=false&redirect_uri="},,,,,,,,,,function(e,t,n){n.d(t,{$y:function(){return M},AP:function(){return m},BQ:function(){return u},Fn:function(){return D},Fx:function(){return _},GQ:function(){return S},H8:function(){return O},IM:function(){return v},In:function(){return z},Iu:function(){return y},Pw:function(){return o},Q9:function(){return A},QU:function(){return R},WF:function(){return b},Wi:function(){return w},XF:function(){return C},Z8:function(){return L},_I:function(){return E},_t:function(){return l},eO:function(){return B},fN:function(){return N},gb:function(){return g},gl:function(){return c},hm:function(){return I},hn:function(){return P},jz:function(){return d},kG:function(){return s},lz:function(){return k},pL:function(){return p},t9:function(){return a},tX:function(){return f},uc:function(){return Q},uq:function(){return T},wJ:function(){return U},w_:function(){return r}});var i=n(78),o="Read",a="".concat(i._i,".FieldType"),r={IMAGE:"#/definitions/Telerik.Sitefinity.Libraries.Model.Image",VIDEO:"#/definitions/Telerik.Sitefinity.Libraries.Model.Video",DOCUMENT:"#/definitions/Telerik.Sitefinity.Libraries.Model.Document"},s={TAXONOMY:"#/definitions/Telerik.Sitefinity.Taxonomies.Model.TaxonomyType"},l={ADRESS:"#/definitions/Telerik.Sitefinity.GeoLocations.Model.Address"},c={NEWS:"newsitems",BLOGS:"blogs",FLAT_TAXA:"flat-taxa",HIERARCHY_TAXA:"hierarchy-taxa",CLASSIFICATIONS:"taxonomies",PAGES:"pages",TEMPLATES:"templates",IMAGES:"images",VIDEOS:"videos",DOCUMENTS:"documents",EVENTS:"events",CALENDARS:"calendars",FORM_DRAFTS:"form-drafts",FORMS:"forms",ALBUMS:"albums",FOLDERS:"folders",DOCUMENT_LIBRARIES:"documentlibraries",VIDEO_LIBRARIES:"videolibraries",CONTENT_ITEMS:"contentitems",SERVICEHOOKS:"servicehooks",LISTITEMS:"listitems",SITES:"sites",SEARCH_INDEXES:"searchindexes",PIPE_SETTINGS:"pipe-settings"},d="choices",u="multiplechoice",f="SfMediaData",p="OverriddenOptionNames",A="KeyValueOptions",m={TARGET_LIBRARY_ID_KEY:"TargetLibraryId",SOURCE_LIBRARY_ID_KEY:"SourceLibraryId",USE_ONLY_UPLOAD_MODE_KEY:"UseOnlyUploadMode",USE_ONLY_SELECT_MODE_KEY:"UseOnlySelectMode",CAN_RELATE_DAM_ASSETS_KEY:"CanRelateDamAssets"},g={UNIT:"Unit",ROWS:"Rows",IS_PASSWORD_MODE:"IsPasswordMode",SHOW_CHAR_COUNTER:"ShowCharacterCounter",RECOMMENDED_CHAR_COUNTER:"RecommendedCharactersCount",CSS_CLASS:"CssClass",DISPLAY_MODE:"DisplayMode",SELECT_BUTTON_TEXT:"SelectButtonText",ALLOW_MULTIPLE_SELECTION:"AllowMultipleSelection",TAXONOMY_ID:"TaxonomyId",ALLOW_CREATING:"AllowCreating",HIDE_TITLE:"HideTitle",FIELD_PLACEHOLDER:"".concat(i._i,".Placeholder"),SINGULAR_NAME:"SingularName",PLURAL_NAME:"PluralName",PREDEFINED_VALUE:"PredefinedValue"},h=".Model.",v="Telerik.Sitefinity.News",b="Telerik.Sitefinity.Events",y=b+h+"Event",E=b+h+"Calendar",I="Telerik.Sitefinity.Pages",w=I+h+"PageNode",k=I+h+"PageTemplate",x="Telerik.Sitefinity.Libraries",C=x+h+"Image",S=x+h+"Document",B=x+h+"DocumentLibrary",D=x+h+"Video",T=x+h+"VideoLibrary",M=x+h+"Album",N=x+h+"Folder",F="Telerik.Sitefinity.Taxonomies",P=F+h+"Taxonomy",R=F+h+"HierarchicalTaxon",Q="Telerik.Sitefinity.Blogs",U="Telerik.Sitefinity.Lists",L=U+h+"ListItem",O="Telerik.Sitefinity.DynamicTypes.Model",z="Telerik.Sitefinity.GenericContent.Model.ContentItem",_=[E,y,w,k,P,"Telerik.Sitefinity.Taxonomies.Model.FlatTaxon",R,C,D,S,M,N,z]},function(e,t,n){n.d(t,{$z:function(){return B},D4:function(){return l},H_:function(){return T},Hu:function(){return u},IG:function(){return g},LP:function(){return S},MV:function(){return i},N:function(){return y},PL:function(){return s},Pe:function(){return C},QA:function(){return k},UL:function(){return h},VG:function(){return I},Zq:function(){return r},_i:function(){return o},af:function(){return p},fs:function(){return d},hH:function(){return a},hf:function(){return b},kA:function(){return c},lL:function(){return x},nP:function(){return D},o2:function(){return m},rm:function(){return w},uX:function(){return f},vh:function(){return A},yH:function(){return v}});var i="en-US",o="Telerik.Sitefinity.V1",a="".concat(o,".Validation"),r=a+".MaxValue",s=a+".MinValue",l=a+".AllowMultiple",c=a+".IsRequired",d=a+".IsReadOnly",u=a+".DecimalPlaces",f=a+".RegularExpression",p=("".concat(o,".Unit"),"CustomErrorMsg"),A="".concat(o,".DefaultField"),m="".concat(o,".RelatedProviders"),g="".concat(o,".AllowedFileExtensions"),h="".concat(o,".MaximumAllowedSize"),v="".concat(o,".InstructionalText"),b="".concat(o,".Tooltip"),y="".concat(o,".ShowIf"),E=("".concat(o,".ValidateIf"),"Org.OData.Core.V1"),I="".concat(E,".Description"),w="".concat(E,".IsLanguageDependent"),k="".concat(E,".Permissions"),x="".concat(E,".FriendlyName"),C=("".concat(E,".Title"),"".concat(E,".IsHidden")),S="".concat(E,".DefaultValue"),B="".concat(E,".Permissions"),D="".concat(E,".Immutable"),T="".concat(E,".AcceptableMediaTypes")},function(e){e.exports='
    \n \n
    \n \n
    \n \n
    \n
    \n \n \n New editor\n
    \n New editor\n \n
    \n
    \n'},function(e,t,n){n.d(t,{De:function(){return E},HP:function(){return T},Jd:function(){return y},LJ:function(){return M},P$:function(){return b},PR:function(){return d},Tx:function(){return s},UF:function(){return x},UY:function(){return i},V5:function(){return a},Xm:function(){return C},Yu:function(){return k},Zn:function(){return N},aO:function(){return o},gn:function(){return g},h7:function(){return l},hh:function(){return r},hy:function(){return w},j3:function(){return p},jc:function(){return m},jp:function(){return D},k_:function(){return A},mX:function(){return c},oN:function(){return h},tj:function(){return S},u0:function(){return f},v6:function(){return I},wC:function(){return B},wW:function(){return u},xE:function(){return v}});var i={CREATE_SEGMENT:"create",EDIT_SEGMENT:"edit",DUPLICATE_SEGMENT:"duplicate",TYPE_NAME_SEGMENT:"dynamicTypeName",CHILD_SET_SEGMENT:"childSetName",PARENT_ID_SEGMENT:"parentId",ITEM_ID:"id",UNLOCK_SEGMENT:"unlock",OPERATION_NAME_SEGMENT:"operationName"},o={FILTER:function FILTER(e){return"filters(name=@sf_filter)?@sf_filter='".concat(e,"'")},FILTER_VALUES:function FILTER_VALUES(e){return"filterValues(name=@sf_name)?@sf_name='".concat(e,"'")},DYNAMIC_FILTERS:function DYNAMIC_FILTERS(e){return"dynamicFilters(parentId=@sf_parent)?@sf_parent='".concat(e,"'")},FILTERS_COUNT:function FILTERS_COUNT(e){return"filtersCount(name=@sf_filter)?@sf_filter='".concat(e,"'")},FOLDERS:function FOLDERS(e){var t="folders";return void 0!==e&&(t+="?parentId=".concat(e)),t}},a={SEARCH:"search",FILTER:"sf_filter",SORT:"sortKey"},r={LAST_MODIFIED:"LastModified",EXTENSIONS:"extensions",NOT_USED:"not-used"},s={PROVIDER:"sf_provider",CULTURE:"sf_culture",SORT:"sortKey",VERSION:"sf_version",SITE:"sf_site",TRANSLATING_FROM:"sf_translating_from",IGNORE_SITE_CONTEXT:"sf_ignore_site_context",GET_MEDIA_ITEMS:"getMediaItems",GET_ALL_ITEMS:"sf_get_all_items",CREATE_DATE:"sf_create_date",RECURSIVELIBRARYID:"recursiveLibraryId",SEGMENT:"segment",WIDGET_SEGMENT_ID:"sfwidgetsegment",USE_SYNONYMS:"useSynonyms",SEARCH:"$search",FALLBACK_PROPERTIES:"sf_fallback_prop_names",SKIP:"$skip",SEARCHINDEXID:"searchIndexId",SKIP_DAM:"skipDam"},l={Format:"format"},c={ASCENDING:"asc",DESCENDING:"desc"},d={DATABASE:"Database",FILE_SYSTEM:"FileSystem"},u={PENDING:"Pending",STARTED:"In progress",STOPPED:"Stopped",FAILED:"Failed",DONE:"Done"},f={metadata:"metaStore",itemData:"itemData",formResolved:"formResolved",siteDataStore:"siteDataStore",itemmeta:"itemmeta",entityData:"entityData"},p={DEFAULT:"default",FILTER:"filter",CUSTOM_FILTER:"custom-filter",SETTINGS:"settings",COMPARE_TRANSLATIONS:"compare-translations"},A={OPEN_BRACKET:"(",CLOSE_BRACKET:")",EQUALS_SIGN:"=",COMMA:",",SEMICOLON:";",PIPE:"|",AMPERSAND:"&"},m={INSERT:"insert",EDIT:"edit",DUPLICATE:"duplicate",LIST:"list"},g=1e3,h=600,v=1e3,b=100,y=5e3,E=-1,I={EDITOR_COLLAPSE_HEIGHT:"--editor-collapsed-height",EDITOR_INLINE_HEIGHT_LONG:"--editor-inline-min-height-long",EDITOR_INLINE_HEIGHT:"--editor-inline-min-height"},w={BOTTOM:"-bottom"},k={MARGIN_BOTTOM_SHORT_FORM:"sf-mb-xl"},x="You have unsaved changes. Are you sure you want to exit the page?",C={DYNAMIC_ITEM:"DynamicItemComponent",DYNAMIC_ITEM_INDEX:"DynamicItemIndexComponent",DYNAMIC_UPDATE_ITEM:"DynamicUpdateItemComponent",BULK_OPERATIONS:"BulkOperationsComponent",MODAL_WINDOW:"ModalWindowComponent",HTML:"HtmlComponent",EDIT_PAGE:"EditPageComponent",FILE_PICKER:"FilePickerComponent"},S=50,B="item-edit",D="ng-url",T={PENDING:"Pending",RUNNING:"Running",FAILED:"Failed",SUCCESSFUL:"Successful"},M={WORKFLOW:"Workflow"},N={SEARCH_INDEX:"SearchIndex",SERVICE_HOOKS:"ServiceHooks"}},function(e,t,n){n.d(t,{CB:function(){return r},E:function(){return a},ax:function(){return createFieldModel},oV:function(){return o}});var i=n(82),o="Telerik.Sitefinity.V1.Validation.SanitizeRegex",a=Object.freeze({ID:"Id",DISPLAY_STATUS:"DisplayStatus",DATE_CREATED:"DateCreated",CREATED_BY:"CreatedBy",FIRST_PUBLISHED:"FirstPublished",LAST_PUBLISHED:"LastPublished",LAST_MODIFIED:"LastModified",LAST_MODIFIED_BY:"LastModifiedBy",PUBLICATION_DATE:"PublicationDate",LOCKED_STATUS:"LockedStatus",EXPIRATION_DATE:"ExpirationDate",PARENT:"Parent",PARENT_ID:"ParentId",AvailableLanguages:"AvailableLanguages",BREADCRUMB:"Breadcrumb",ROOT_ID:"RootId",URLS:"Urls",ROOT_TAXONOMY_ID:"RootTaxonomyId",TAXA_URL:"TaxaUrl",FOLDER_ID:"FolderId",HAS_CHILDREN:"HasChildren",CHILDREN:"Children",OUTPUT_CACHE_PROFILE:"OutputCacheProfile",DUPLICATE_CHILDREN:"DuplicateChildren",URL_NAME:"UrlName",URL:"Url",APPLIED_TO:"AppliedTo",BLOB_STORAGE_PROVIDER:"BlobStorageProvider",MEDIA_FILE_URL_NAME:"MediaFileUrlName",MEDIA_FILE_ADDITIONAL_URLS_NAME:"MediaFileUrls",THUMBNAIL_PROFILES:"ThumbnailProfiles",THUMBNAIL_URL:"ThumbnailUrl",THUMBNAILS:"Thumbnails",MIME_TYPE:"MimeType",TOTAL_SIZE:"TotalSize",EXTENSION:"Extension",WIDTH:"Width",HEIGHT:"Height",TITLE:"Title",ORDINAL:"Ordinal",RUNNING_TASK:"RunningTask",ALTERNATIVE_TEXT:"AlternativeText",MAX_SIZE:"MaxSize",MAX_ITEM_SIZE:"MaxItemSize",SHARED_WITH:"TaxonomySharedWith",CLIENT_CACHE_PROFILE:"ClientCacheProfile",NAME:"Name",DESCRIPTION:"Description",NEW_SIZE:"NewSize",LAST_UPLOADED:"LastUploaded",LAST_UPLOADED_BY:"LastUploadedBy",THUMBNAIL_SOURCE:"ThumbnailSource",IS_PERSONALIZED:"IsPersonalized",PARENT_TEMPLATE:"ParentTemplate",THUMBNAIL:"Thumbnail",RENDERER:"Renderer",FRAMEWORK:"Framework",PAGES_COUNT:"PagesCount",USED_ON:"UsedOn",AUTHOR:"Author",START_TIME:"StartTime",ORDER_BY:"OrderBy",SELECTED_ITEMS:"SelectedItems",SEARCH_INDEX:"SearchIndex",SCORING_PROFILE:"ScoringProfile",SCORING_PARAMETERS:"ScoringParameters"}),r=new Map([["Address","-sf-p-zero -sf-m-zero -sf-width-100"]]);function createFieldModel(e,t,n,o,a,r,s,l){var c=arguments.length>8&&void 0!==arguments[8]&&arguments[8],d=arguments.length>9?arguments[9]:void 0;r&&r.hasOwnProperty("properties")&&(r=r.properties[o]);var u=e.getFieldRegistration({fieldType:n,fieldName:o,typeName:t},r);if(!u)return null;var f=new u.settingsType(o,c);return f.title=s||o,r&&f.init(r),f.friendlyTitle=l,new i.W({selector:n,key:o,value:a,settings:f,registration:u,cssClass:d})}},function(e,t,n){n.d(t,{W:function(){return a}});var i=n(4),o=n(5),a=(0,i.Z)((function FieldModel(e){(0,o.Z)(this,FieldModel),this.key=e.key,this.settings=e.settings,this.value=e.value,this.selector=e.selector,this.registration=e.registration,this.cssClass=e.cssClass}))},function(e,t,n){n.d(t,{N:function(){return o},y:function(){return b}});var i,o,a=n(21),r=n(5),s=n(4),l=n(65),c=n(7),d=n(80),u=n(67),f=n(84),p=n(190),A=n(191),m=n(81),g=n(224),h=n(228),v=n(77),b=i=function(){function ContentFilterService(e,t,n){(0,r.Z)(this,ContentFilterService),this.metaStore=e,this.configService=t,this.metadataParserService=n}return(0,s.Z)(ContentFilterService,[{key:"buildSearchFilter",value:function buildSearchFilter(e,t){return this.getSearchFields(e).map((function(n){return{key:n.fieldName,value:[t],searchMode:i.getSearchMode(n,e),caseSensitive:i.getIsSearchCaseSensitive(e)}}))}},{key:"getSearchFields",value:function getSearchFields(e){var t=e.metadata.setName,n=this.configService.externalConfig.searchSettings,i=n&&n[t]?n[t]:[],o=this.filterSearchFields(i,e);return o.length>0?o:[{fieldName:e.metadata.defaultFieldName,fieldType:h.U.shortTextDefault}]}},{key:"getSearchFieldsAsString",value:function getSearchFieldsAsString(e){return this.getSearchFields(e).map((function(e){return e.fieldName})).join(",")}},{key:"applySearch",value:function applySearch(e,t,n){var o=this.getSearchFields(t);return n=n.or(),o.forEach((function(o){var a=i.getSearchMode(o,t);n=i.applySearchForField(e,o.fieldName,n,a)})),n=n.done()}},{key:"deserializeQueryParams",value:function deserializeQueryParams(e){var t=[];if(e){var n,i=e.split(d.k_.SEMICOLON).filter((function(e){return e!==u.WP.EMPTY_STRING})),o=(0,a.Z)(i);try{for(o.s();!(n=o.n()).done;){var r=n.value.split(d.k_.COMMA),s=r[0],l=r.slice(1);t.push({key:s,value:l})}}catch(e){o.e(e)}finally{o.f()}}return t}},{key:"serializeQueryParams",value:function serializeQueryParams(e){for(var t=[],n=0,i=Object.keys(e);n4&&void 0!==arguments[4]?arguments[4]:null,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,r=i||e[d.Tx.SORT],s={type:d.V5.SEARCH,value:e[d.V5.SEARCH]},l={type:d.V5.FILTER,value:e[d.V5.FILTER]},c=[s,l].filter((function(e){return e.value})),u={filters:c,parentId:t,parentIdPropery:n.metadata.parentIdProperty};return this.applyFilter(r,u,n,o,a)}},{key:"filterSearchFields",value:function filterSearchFields(e,t){var n=this,i=[];return e.forEach((function(e){if(!t.metadata.properties[e])return!1;var o=n.metadataParserService.getPropertyFieldType(t.metadata,t.metadata.properties[e],null,e,null);o!==h.U.shortText&&o!==h.U.shortTextDefault&&o!==h.U.longText&&o!==h.U.textArea&&o!==h.U.html&&o!==h.U.urlName||!t.metadata.isFilteringAllowed(e)||i.push({fieldName:e,fieldType:o})})),i}},{key:"applyFilter",value:function applyFilter(e,t,n){var i,o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=!1,l=(0,p.r)();t&&(t.filters.length||t.parentId)&&(l=l.where().and(),s=!0),t&&t.parentId&&(l=l.eq(t.parentIdPropery,t.parentId)),t&&t.filters.length&&t.filters.forEach((function(e){switch(e.type){case d.V5.FILTER:i=d.aO.FILTER(e.value);break;case d.V5.SEARCH:var t=o.deserializeQueryParams(e.value)[0].value[0];l=o.applySearch(t,n,l)}})),s&&(l=l.done().done());var c={entityData:n,action:i,order:e,fallbackProperties:[n.metadata.defaultFieldName],query:l,dataFieldNames:a,additionalQueryParams:r};return a&&n.metadata.relations.forEach((function(e){var t=o.metaStore.getValue().entities[e.setName];a.indexOf(e.propName)>-1&&c.fallbackProperties.push("".concat(e.propName,".").concat(t.defaultFieldName))})),c}}],[{key:"applySearchForField",value:function applySearchForField(e,t,n){var i,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:o.startsWith,r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];switch(a){case o.startsWith:i=this.applyStartsWith;break;case o.equals:i=this.applyEquals;break;case o.contains:i=this.applyContains}return n=i({key:t,value:[e]},n,r)}},{key:"getSearchMode",value:function getSearchMode(e,t){return t.metadata.isMedia&&e.fieldName===m.E.TITLE||e.fieldType===h.U.longText||e.fieldType===h.U.textArea||e.fieldType===h.U.html||e.fieldType===h.U.urlName?o.contains:o.startsWith}},{key:"getIsSearchCaseSensitive",value:function getIsSearchCaseSensitive(e){return e.metadata.setName!==v.gl.PIPE_SETTINGS}},{key:"applyEquals",value:function applyEquals(e,t){if(e.value[0]){var n=e.value[0].trim();t=t.eq(e.key,n)}return t}},{key:"applyContains",value:function applyContains(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e.value[0]){var i=e.value[0].trim();t=t.contains(e.key,i,n)}return t}},{key:"applyStartsWith",value:function applyStartsWith(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(e.value[0]){var i=e.value[0].trim();t=t.startsWith(e.key,i,n),u.EB.forEach((function(o){var a="".concat(o).concat(i);t=t.contains(e.key,a,n)}))}return t}}]),ContentFilterService}();b.ctorParameters=function(){return[{type:f.EY},{type:A.V},{type:g.F}]},b=i=(0,l.gn)([(0,c.GSi)(),(0,l.w6)("design:paramtypes",[f.EY,A.V,g.F])],b),function(e){e[e.startsWith=0]="startsWith",e[e.contains=1]="contains",e[e.equals=2]="equals"}(o||(o={}))},function(e,t,n){n.d(t,{EY:function(){return N},JH:function(){return D},Me:function(){return E},QE:function(){return M},R$:function(){return T},U6:function(){return y},Yw:function(){return I},oF:function(){return x}});var i=n(8),o=n(10),a=n(5),r=n(4),s=n(65),l=n(7),c=n(120),d=n(101),u=n(81),f=n(77),p=n(85),A=n(66),m=n(67),g=n(131),h=n(78),v=n(189),b=[f.H8,f.IM,f.uc,f.hn,f.wJ,f.WF,f.hm,f.XF,f.GQ,f.Fn,f.In],y="Telerik.Sitefinity.V1.DefaultField",E="Telerik.Sitefinity.V1.SingularName",I="Telerik.Sitefinity.V1.DisplayName",w="Org.OData.Core.V1.SortRestrictions",k="Org.OData.Core.V1.FilterRestrictions",x="Telerik.Sitefinity.V1.ModuleName",C="Telerik.Sitefinity.V1.IsCustomFilterEnabled",S="Telerik.Sitefinity.V1.IsMultilingual",B="Telerik.Sitefinity.V1.Validation.Updatable",D=function(){function Entity(e,t){(0,a.Z)(this,Entity),this.typeFullName=e;var n=JSON.parse(JSON.stringify(t));this.key=n.keys&&n.keys[Entity.keyIndex],this.properties=Object.freeze(n.properties),this.children=[]}return(0,r.Z)(Entity,[{key:"isSortingAllowed",value:function isSortingAllowed(e){var t=!!this.properties[e],n=this.sortRestrictions&&this.sortRestrictions.indexOf(e)>=0;return t&&!n}},{key:"isFilteringAllowed",value:function isFilteringAllowed(e){var t=!!this.properties[e],n=this.filterRestrictions&&this.filterRestrictions.indexOf(e)>=0;return t&&!n}},{key:"isPropertyUpdatable",value:function isPropertyUpdatable(e){var t=this.properties[e];return!t||!(B in t)||t[B]}},{key:"ignoreParentChildRelationship",get:function get(){return!!this.properties["Telerik.Sitefinity.V1.IgnoreParentChildRelationship"]}},{key:"defaultFieldName",get:function get(){return this.properties[y]}},{key:"displayName",get:function get(){return this.properties[I]}},{key:"singularName",get:function get(){return this.properties[E]}},{key:"hasChildren",get:function get(){return this.children.length>0}},{key:"hasParent",get:function get(){return null!=this.parent}},{key:"childTypeNames",get:function get(){return this.properties["Telerik.Sitefinity.V1.ChildTypes"]||[]}},{key:"isOrderable",get:function get(){return!!this.properties["Telerik.Sitefinity.V1.IsOrderable"]}},{key:"hasChildrenProperty",get:function get(){return u.E.HAS_CHILDREN}},{key:"parentIdProperty",get:function get(){return this.properties["Telerik.Sitefinity.V1.ParentIdPropertyName"]||u.E.PARENT_ID}},{key:"hasLifecycle",get:function get(){return void 0!==this.properties[u.E.FIRST_PUBLISHED]}},{key:"isMultimedia",get:function get(){return!!this.isMedia&&this.setName!==f.gl.DOCUMENTS}},{key:"isImage",get:function get(){return this.isMedia&&this.setName===f.gl.IMAGES}},{key:"isVideo",get:function get(){return this.isMedia&&this.setName===f.gl.VIDEOS}},{key:"isSelfReferencing",get:function get(){return this.hasParent&&this.hasChildren&&this.childTypeNames[0]===this.typeFullName}},{key:"sortRestrictions",get:function get(){return this.properties[w]}},{key:"filterRestrictions",get:function get(){return this.properties[k]}},{key:"isCustomFilterEnabled",get:function get(){return!!this.properties[C]}},{key:"hasCustomFilterEnabledProperty",get:function get(){return void 0!==this.properties[C]}},{key:"hasAllItemsFilterEnabledProperty",get:function get(){return this.properties["Telerik.Sitefinity.V1.IsAllItemsFilterEnabled"]}},{key:"isTranslatable",get:function get(){return this.setName!==f.gl.FOLDERS&&this.setName!==f.gl.ALBUMS}},{key:"isMultilingual",get:function get(){return void 0===this.properties[S]||!!this.properties[S]}},{key:"isDamEnabled",get:function get(){return!!this.properties["Telerik.Sitefinity.V1.IsDamEnabled"]}},{key:"hasContent",get:function get(){return this.setName===f.gl.PAGES||this.setName===f.gl.TEMPLATES||this.setName===f.gl.FORMS}},{key:"clone",value:function clone(){var e=this,t=new Entity(this.typeFullName,{});return Object.getOwnPropertyNames(this).forEach((function(n){Object.getOwnPropertyDescriptor(e,n).writable&&("object"==typeof e[n]?t[n]=(0,A.kI)(e[n]):t[n]=e[n])})),t}}]),Entity}();D.keyIndex=0;var T=function(e){(0,i.Z)(MediaEntity,e);var t=(0,o.Z)(MediaEntity);function MediaEntity(e,n){var i;(0,a.Z)(this,MediaEntity),(i=t.call(this,e,n)).typeFullName=e;var o=i.properties[h.IG]||[];i.originalAcceptableTypes=o,o&&(1===o.length&&"*"===o[0]?(i.mediaFilterEnabled=!1,i.acceptableMediaTypes=[],i.acceptableFileTypes=[]):(i.acceptableFileTypes=o.map((function(e){return e.startsWith(".")?e.substring(1):e})),i.mediaFilterEnabled=!0,i.acceptableMediaTypes=i.properties[h.H_]||[])),i.provider=i.properties[h.o2]||null;var r=i.properties[h.UL]||0;return i.maxSize=Number(r),i}return(0,r.Z)(MediaEntity,[{key:"name",get:function get(){var e=this.properties.relationship;if(!e)return m.WP.EMPTY_STRING;var t=e.partner;return t||m.WP.EMPTY_STRING}},{key:"allowedExtensionsRegEx",get:function get(){var e=this.acceptableFileTypes.join("|");return new RegExp("\\.(".concat(e,")"))}},{key:"isVideo",get:function get(){return this.setName===f.gl.VIDEOS}}]),MediaEntity}(D),M=(0,r.Z)((function MetadataContainer(){(0,a.Z)(this,MetadataContainer),this.modules={},this.entities={},this.entitiesByFullTypeName={},this.propertyDefinitions={},this.modulesAvailability={},this.sitefinityVersion=m.WP.EMPTY_STRING})),N=function(){function MetadataStore(e){(0,a.Z)(this,MetadataStore),this.http=e,this.storeSubject=new c.t(1),this.isInitialized=!1}return(0,r.Z)(MetadataStore,[{key:"getValue",value:function getValue(){var e=new d.X(new M);return this.storeSubject.subscribe((function(t){e.next(t)})),e.getValue()}},{key:"initialize",value:function initialize(){var e=this;return this.isInitialized||(this.isInitialized=!0,this.http.get("sfmeta").then((function(t){var n=e.convertToContainer(t);(0,A.hw)(n.sitefinityVersion,g.WP),e.storeSubject.next(n),e.storeSubject.complete()}))),this.storeSubject.asObservable()}},{key:"getEntitySetName",value:function getEntitySetName(e,t){var n=(t||this.getValue()).entities;for(var i in n){if(n.hasOwnProperty(i))if(n[i].typeFullName===e)return i}return null}},{key:"getRelationshipProviderName",value:function getRelationshipProviderName(e,t){var n=e.properties[t];return this.isRelationField(e,t)?n[h.o2]:null}},{key:"getRelationshipPartnerTypeName",value:function getRelationshipPartnerTypeName(e,t){var n=e.properties[t];if(this.isRelationField(e,t)){return(this.isMultipleField(e,t)?n.items.$ref:n.anyOf[0].$ref).replace("#/definitions/","")}return null}},{key:"getDefaultFieldName",value:function getDefaultFieldName(e){var t=null;return this.initialize().subscribe((function(n){var i=n.entities[e];i&&i.defaultFieldName&&(t=i.defaultFieldName)})),t}},{key:"isRelationField",value:function isRelationField(e,t){return void 0!==e.properties[t].relationship}},{key:"isMultipleField",value:function isMultipleField(e,t){return"array"===e.properties[t].type}},{key:"getPropertyMetadata",value:function getPropertyMetadata(e,t){return this.getEntitiySetProperties(e)[t]}},{key:"getDefinitionMetadata",value:function getDefinitionMetadata(e){return this.getValue().propertyDefinitions[e]}},{key:"convertToContainer",value:function convertToContainer(e){var t=new M;return t.sitefinityVersion=e["sitefinity-version"],e.modules&&(t.modulesAvailability[v.Gt]=e.modules[v.Gt]),this.setEntities(e,t),this.setPropertyDefinitions(e,t),Object.freeze(t)}},{key:"getEntity",value:function getEntity(e){return this.getValue().entities[e]}},{key:"getEntityByFullTypeName",value:function getEntityByFullTypeName(e){return this.getValue().entitiesByFullTypeName[e]}},{key:"getFields",value:function getFields(e,t){var n=this,i=[];return Object.keys(e.properties).forEach((function(o){if(n.isRelationField(e,o)){var a=n.getRelationshipPartnerTypeName(e,o),r=n.getEntitySetName(a,t),s=n.getRelationshipProviderName(e,o);i.push({propName:o,setName:r,provider:s,typeFullName:a})}else i.push({propName:o,setName:null})})),i}},{key:"getEntitiySetProperties",value:function getEntitiySetProperties(e){return this.getValue().entities[e].properties}},{key:"setEntities",value:function setEntities(e,t){var n=this,i=Object.keys(e.entityContainer.entitySets),o=new Map,a=[];i.forEach((function(i){var r=e.entityContainer.entitySets[i],s=r.entityType.$ref.replace("#/definitions/",""),l=e.definitions[s];l.properties[w]=r[w],l.properties[k]=r[k];var c=l.properties[x];if(c){var d=t.modules[c];d||(d=t.modules[c]={AccessibleTypes:[],Providers:[],ModuleTypes:[]}),d.AccessibleTypes.push(i);var u=t.entities[i];if(!u){var f=l.hasOwnProperty("mediaEntity")&&!0===l.mediaEntity;(u=f?new T(s,l):new D(s,l)).enabled=n.isSupportedModule(s),u.isMedia=f,u.isOpen=l.hasOwnProperty("openType")&&!0===l.openType,t.entities[i]=u,t.entitiesByFullTypeName[s]=u,o.set(u.typeFullName,i),a.push(u)}u.setName=i}}));for(var r=function _loop(){var e=l[s];e.childTypeNames.forEach((function(n){var i=o.get(n),a=t.entities[i];a&&(e.children.push(a.setName),a.parent=e.setName)}));var i=n.getFields(e,t);e.relations=i.filter((function(e){return null!==e.setName})),e.primitives=i.filter((function(e){return null===e.setName})).map((function(e){return e.propName}))},s=0,l=a;s2&&void 0!==arguments[2]&&arguments[2],i=this.storage.getItem(c.t.PAGING);if((i=i?JSON.parse(i):{})[e]&&!n||(i[e]={}),t)for(var o in t)t.hasOwnProperty(o)&&(i[e][o]=t[o]);this.storage.setItem(c.t.PAGING,JSON.stringify(i))}},{key:"getPaging",value:function getPaging(e){var t=this.storage.getItem(c.t.PAGING);if(t){var n=JSON.parse(t);if(n.hasOwnProperty(e))return n[e]}return null}},{key:"setSiteCulture",value:function setSiteCulture(e,t){var n=JSON.parse(this.storage.getItem(c.t.SITE_CULTURE))||{};n[e]!==t&&(n[e]=t,this.storage.setItem(c.t.SITE_CULTURE,JSON.stringify(n)))}},{key:"getSiteCulture",value:function getSiteCulture(e){var t=JSON.parse(this.storage.getItem(c.t.SITE_CULTURE));return t&&t[e]?t[e]:null}},{key:"clearCultureForSite",value:function clearCultureForSite(e){var t=this.storage.getItem(c.t.SITE_CULTURE);if(t){var n=JSON.parse(t);delete n[e],this.storage.setItem(c.t.SITE_CULTURE,JSON.stringify(n))}}},{key:"getMobillePreviewBreakPoint",value:function getMobillePreviewBreakPoint(){var e=this.storage.getItem(c.t.MOBILE_PREVIEW_WIDTH),t=JSON.parse(e);return t&&t.width?t.width:null}},{key:"setMobillePreviewBreakPoint",value:function setMobillePreviewBreakPoint(e){if(e){var t=JSON.stringify({width:e});this.storage.setItem(c.t.MOBILE_PREVIEW_WIDTH,t)}}}],[{key:"formatUrl",value:function formatUrl(e){if(e){for(var t=e.trim();t.endsWith(d.WP.FORWARD_SLASH);)t=t.substring(0,t.length-d.WP.FORWARD_SLASH.length);return t.trim()+d.WP.FORWARD_SLASH}return e}}]),Settings}();u.ctorParameters=function(){return[{type:l.V1,decorators:[{type:s.tBr,args:[l.H3]}]}]},u=i=(0,r.gn)([(0,s.GSi)(),(0,r.w6)("design:paramtypes",[l.V1])],u)},function(e,t,n){n.d(t,{H3:function(){return s},SA:function(){return c},V1:function(){return d}});var i=n(5),o=n(4),a=n(65),r=n(7),s=new r.OlP("LocalStorage"),l="sf",c="sf.lib.grid.view.mode",d=function(){function StorageService(){(0,i.Z)(this,StorageService),this.storageRef=localStorage}return(0,o.Z)(StorageService,[{key:"getItem",value:function getItem(e){var t;return e=this.prefixKey(e,l),this.storageRef&&(t=this.storageRef.getItem(e)),t}},{key:"setItem",value:function setItem(e,t){e=this.prefixKey(e,l),this.storageRef&&this.storageRef.setItem(e,t)}},{key:"removeItem",value:function removeItem(e){e=this.prefixKey(e,l),this.storageRef&&this.storageRef.removeItem(e)}},{key:"prefixKey",value:function prefixKey(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l;return e.indexOf("".concat(t,"."))<0&&(e="".concat(t,".").concat(e)),e}}]),StorageService}();d.ctorParameters=function(){return[]},d=(0,a.gn)([(0,r.GSi)(),(0,a.w6)("design:paramtypes",[])],d)},function(e,t,n){n.d(t,{t:function(){return i}});var i={SERVICE_URL:"sf.config.serviceUrl",EXTERNAL_PATH:"sf.config.externalPath",RESOURCE_PATH:"sf.config.resourcePath",SITE_ID:"sf.config.siteId",SITE_CULTURE:"sf.config.siteCulture",CONTEXTUAL_HELP:"sf.config.contextualHelp",APP_THEME_DATA:"sf.config.appThemeData",EXPANDED_NODE_IDS:"sf.expandedNodeIds",PAGING:"sf.paging",MOBILE_PREVIEW_WIDTH:"sf.config.mobilePreviewWidth",AUTH_PROTOCOL:"sf.config.authenticationProtocol"}},function(e,t,n){n.d(t,{e:function(){return h}});var i=n(5),o=n(4),a=n(65),r=n(120),s=n(104),l=n(49),c=n(58),d=n(121),u=n(90),f=n(7),p=n(91),A=n(67),m=n(97),g=n(98),h=function(){function AuthService(e,t,n){(0,i.Z)(this,AuthService),this.providers=e,this.sdk=t,this.store=n,this.loggedInPrivate=new r.t,this.provider=null,this.currentToken=null}return(0,o.Z)(AuthService,[{key:"loggedIn",get:function get(){return this.loggedInPrivate.asObservable()}},{key:"init",value:function init(){return this.provider?(0,s.of)(this.provider):this.getProvider()}},{key:"signIn",value:function signIn(e){return this.provider.signIn(e)}},{key:"signOut",value:function signOut(e){return this.store.dispatch((0,g.F5)()),this.provider.signOut(e)}},{key:"isLoggedIn",value:function isLoggedIn(){return this.provider?this.provider.isLoggedIn():(0,s.of)(!1)}},{key:"tryLogIn",value:function tryLogIn(e){var t=this,n=new r.t(1);return this.init().subscribe((function(i){t.isLoggedIn().subscribe((function(i){i||t.signIn(e).subscribe((function(){}),(function(){t.signOut(e)})),n.next(i),t.loggedInPrivate.next(i),n.complete()}))})),n.asObservable()}},{key:"getAuthHeader",value:function getAuthHeader(){return this.currentToken?"".concat(this.currentToken.type," ").concat(this.currentToken.value):A.WP.EMPTY_STRING}},{key:"getToken",value:function getToken(){return this.currentToken}},{key:"getProvider",value:function getProvider(){for(var e=this,t=new r.t(1),n=this.providers.sort((function(e,t){return e.getPriority()>t.getPriority()?1:e.getPriority()0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return m.close({shouldAnimate:e,shouldClearLocalStorageForSidebar:t})},loading:function loading(){return m.loading()},changeAndOpen:function changeAndOpen(e,t){var n=Object.assign({},e);return o.v.set(n.name,n.data),n.data=null,m.changeAndOpen({activeConfig:n,shouldAnimate:t})}}},function(e,t,n){n.d(t,{v:function(){return a}});var i=n(5),o=n(4),a=function(){function StoredComponentsDataCache(){(0,i.Z)(this,StoredComponentsDataCache)}return(0,o.Z)(StoredComponentsDataCache,null,[{key:"get",value:function get(e){return StoredComponentsDataCache.cache[e]||null}},{key:"set",value:function set(e,t){StoredComponentsDataCache.cache[e]=t}}]),StoredComponentsDataCache}();a.cache={}},,,,,,,,,,,,,,,,,,function(e,t,n){n.d(t,{K:function(){return o}});var i=n(100),o={changeWidth:(0,i.PH)("[Mobile preview] Change preview width",(0,i.Ky)())}},function(e,t,n){n.d(t,{x:function(){return o}});var i=n(100),o={changeItemType:(0,i.PH)("[Fields] Change item type",(0,i.Ky)()),changeViewName:(0,i.PH)("[Fields] Change view name",(0,i.Ky)())}},function(e,t,n){n.d(t,{g:function(){return a},p:function(){return r}});var i=n(100),o=n(66),a={setFolders:(0,i.PH)("[Media] Set folders",(0,i.Ky)()),setFiles:(0,i.PH)("[Media] Set files",(0,i.Ky)()),setUploads:(0,i.PH)("[Media] Set uploads",(0,i.Ky)())},r={setUploads:function setUploads(e){var t=(0,o.kI)(e),n=e.items.map((function(e){var t=(0,o.kI)(e);return t.upload=Object.assign({},e.upload),t}));if(t.items=n,e.updatedItem){var i=(0,o.kI)(e.updatedItem);i.content=e.updatedItem.content,t.updatedItem=i}return a.setUploads(t)}}},,,,,function(e,t,n){n.d(t,{_:function(){return a}});var i=n(58),o=n(125),a=function toLoadingState(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(t){return t.pipe((0,i.U)((function(e){return{isLoading:!1,content:e}})),(0,o.O)({isLoading:!0,content:e}))}}},,,,,,,function(e,t,n){n.d(t,{AZ:function(){return A},WP:function(){}});var i=n(21),o=n(17),a=n(5),r=n(4),s=n(7),l=n(135),c=n(120),d=(n(137),n(156),n(88)),u=n(94),f=n(93),p=n(86),A=(n(132),function(){function Bootstrapper(e,t,n){(0,a.Z)(this,Bootstrapper),this.storage=e,this.windowInstance=t,this.environment=n}return(0,r.Z)(Bootstrapper,[{key:"boot",value:function boot(e){this.modifyCssUrls(f.N.env);var t=this.getExtensionsUrl(f.N.env);t?this.loadExtensions(t,e):this.bootApp(e)}},{key:"modifyCssUrls",value:function modifyCssUrls(e){var t=this.storage.getItem(d.t.SERVICE_URL);if(t&&e===u.H.integration)for(var n=0;n-1)for(var o=i.cssRules.length,a=0;a {\n var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))\n var __webpack_exports__ = (__webpack_exec__("'.concat(l,'"));}'))}}catch(e){a.e(e)}finally{a.f()}o=n.matchAll(/__webpack_require__\.d\(__webpack_exports__,\s?"(.*)",\s?function\(\)\s?{\s?return\s?(.*);\s?}\);/g);var c,d=(0,i.Z)(o);try{for(d.s();!(c=d.n()).done;){var u=c.value,f=u[1],p=u[2];n=n.replace(u[0],'__webpack_require__.d(__webpack_exports__,{"'.concat(f,'":()=>(').concat(p,")})"))}}catch(e){d.e(e)}finally{d.f()}o=n.matchAll(/var (.*)\s?=\s?(\/\*#__PURE__\*\/)?__webpack_require__\.t\(.*\);/g);var A,m=(0,i.Z)(o);try{for(m.s();!(A=m.n()).done;){var g=A.value;n=n.replace(g[0],"")}}catch(e){m.e(e)}finally{m.f()}return n}},{key:"includeRXJSindexesInBundle",value:function includeRXJSindexesInBundle(){}}]),Bootstrapper}());A.modules=[]},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){n.d(t,{E6:function(){return o},Gt:function(){return i},H4:function(){return r},Rc:function(){return a}});var i="insight",o={routeKey:i},a={FILTER:"x-dataintelligence-filter",FROM_DATE:"x-dataintelligence-fromdate",TO_DATE:"x-dataintelligence-todate",SCALE:"x-dataintelligence-scale",PERIOD:"x-dataintelligence-period",SORT:"x-dataintelligence-sort",TAKE:"x-dataintelligence-take",IDS:"x-dataintelligence-ids"},r="Sitefinity/Administration/sitefinity-insight-connector"},function(e,t,n){n.d(t,{r:function(){return createQuery}});var i=n(95);function createQuery(){return new i.Sitefinity.Query}},function(e,t,n){n.d(t,{V:function(){return p}});var i=n(5),o=n(4),a=n(133),r=n.n(a),s=n(65),l=n(7),c=n(172),d=n(171),u=n(2),f=n(192),p=function(){function ExternalAppConfigService(e,t){(0,i.Z)(this,ExternalAppConfigService),this.dynamicItemService=e,this.logger=t,this.externalConfig=null}return(0,o.Z)(ExternalAppConfigService,[{key:"init",value:function init(){return(0,s.mG)(this,void 0,void 0,r().mark((function _callee(){var e=this;return r().wrap((function _callee$(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t){e.externalConfig?t():e.dynamicItemService.executeUnboundFunction("Default.GetExternalConfig()").pipe((0,c.P)(),(0,d.x)((function(){return t()}))).subscribe((function(t){var n=t;e.externalConfig=(null==n?void 0:n.value)?JSON.parse(n.value):{}}),(function(t){e.logger.warn("Failed to load AdminApp config: ".concat(t))}))})));case 1:case"end":return t.stop()}}),_callee)})))}}]),ExternalAppConfigService}();p.ctorParameters=function(){return[{type:f.dg},{type:u.Y}]},p=(0,s.gn)([(0,l.GSi)(),(0,s.w6)("design:paramtypes",[f.dg,u.Y])],p)},function(e,t,n){n.d(t,{$d:function(){return F},dg:function(){return P},t5:function(){return o}});var i,o,a=n(21),r=n(17),s=n(5),l=n(4),c=n(65),d=n(172),u=n(58),f=n(7),p=n(91),A=n(193),m=n(120),g=n(203),h=n(204),v=n(190),b=n(205),y=n(217),E=n(67),I=n(208),w=n(77),k=n(209),x=n(210),C=n(214),S=n(216),B=n(66),D=n(83),T=n(221),M=n(81),N=n(80),F=20,P=function(){function DynamicItemService(e,t,n,i){(0,s.Z)(this,DynamicItemService),this.sitefinitySdk=e,this.fileInfoService=t,this.errorParserService=n,this.queryParamsExtenders=i}return(0,l.Z)(DynamicItemService,[{key:"getItemsByKeys",value:function getItemsByKeys(e){var t=(0,v.r)().where().or();e.keys.forEach((function(n){t=t.eq(e.keyProperty,n)}));var n=t.done().done();T.xe.isLibraryOrMedia(e.entityData.metadata.setName)&&(e.additionalQueryParams||(e.additionalQueryParams={}),e.additionalQueryParams[N.Tx.SKIP_DAM]="false");var i=Object.assign({query:n},e);return this.getItemList(i)}},{key:"getRecent",value:function getRecent(e){var t=this,n=this.createSubject(),i=this.getQuery(e);return this.sitefinitySdk.instance.data({entitySet:e.entityData.metadata.setName,provider:e.entityData.provider,culture:e.entityData.culture,siteId:e.siteId,additionalQueryParams:e.additionalQueryParams||{}}).create({key:null,query:i,action:e.action,data:e.payload||{},successCb:function successCb(i){var o=t.getItemListMapper(i,e.entityData);n.next(o)},failureCb:function failureCb(e){return n.error(t.errorParserService.parseError(e))}}),n.pipe((0,d.P)())}},{key:"getItemList",value:function getItemList(e){var t=this;return this.getItemsInternal(e).pipe((0,u.U)((function(n){return t.getItemListMapper(n,e.entityData)})))}},{key:"getItemListBatch",value:function getItemListBatch(e){var t=this;return this.getItemsInternalBatch(e).pipe((0,u.U)((function(n){return t.getItemListMapper(n,e.entityData)})))}},{key:"getItemListBatchWithMultipleQueries",value:function getItemListBatchWithMultipleQueries(e){var t=this;return this.getItemListBatchWithMultipleQueriesInternal(e).pipe((0,u.U)((function(n){return t.getItemListMapper(n,e[0].entityData)})))}},{key:"getItemsOperations",value:function getItemsOperations(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=this.createSubject();return this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,k.B5)(e.metadata,o,this.queryParamsExtenders)}).getOperations({key:n,parentId:i,successCb:function successCb(e){return a.next(e.Operations)},failureCb:function failureCb(e){return a.error(t.errorParserService.parseError(e))}}),a.pipe((0,d.P)())}},{key:"executeOperation",value:function executeOperation(e,t){return this.executeBoundAction(e,"operation",{action:t}).pipe((0,u.U)((function(t){return{message:t.Message,title:t.Title,success:t.Success,link:t.Link,key:e.key,availableActions:t.AvailableActions}})))}},{key:"executeEntityOperation",value:function executeEntityOperation(e,t,n){return this.executeEntityOperationForDataItemKey(null,e,t,n)}},{key:"executeEntityOperationForDataItemKey",value:function executeEntityOperationForDataItemKey(e,t,n,i){var o=this,a=this.createSubject();return this.sitefinitySdk.instance.data({entitySet:t.metadata.setName,provider:t.provider,culture:t.culture,additionalQueryParams:(0,k.B5)(t.metadata,null,this.queryParamsExtenders)}).create({key:e,action:n,data:i,successCb:function successCb(e){return a.next(e)},failureCb:function failureCb(e){return a.error(o.errorParserService.parseError(e))}}),a.pipe((0,d.P)())}},{key:"executeBoundAction",value:function executeBoundAction(e,t,n){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=this.createSubject();return this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,k.B5)(e.metadata,o,this.queryParamsExtenders)}).create({key:e.key,action:t,data:n||{},successCb:function successCb(e){return a.next(e)},failureCb:function failureCb(e){return a.error(i.errorParserService.parseError(e))}}),a.pipe((0,d.P)())}},{key:"executeBoundFunction",value:function executeBoundFunction(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=this.createSubject(),r=this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,k.B5)(e.metadata,o,this.queryParamsExtenders)});return e.key?r.getSingle({key:e.key,action:t,successCb:function successCb(e){return a.next(e)},failureCb:function failureCb(e){return a.error(n.errorParserService.parseError(e))},fallbackProperties:i}):r.get({action:t,successCb:function successCb(e){return a.next(e)},failureCb:function failureCb(e){return a.error(n.errorParserService.parseError(e))},fallbackProperties:i}),a.pipe((0,d.P)())}},{key:"executeUnboundFunction",value:function executeUnboundFunction(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.createSubject();return n?this.sitefinitySdk.instance.data({culture:n.culture,provider:n.provider,additionalQueryParams:(0,k.B5)(null,null,this.queryParamsExtenders)}).create({action:e,data:n.data,successCb:function successCb(e){return i.next(e)},failureCb:function failureCb(e){return i.error(t.errorParserService.parseError(e))}}):this.sitefinitySdk.instance.data({}).get({action:e,successCb:function successCb(e){return i.next(e)},failureCb:function failureCb(e){return i.error(t.errorParserService.parseError(e))}}),i.pipe((0,d.P)())}},{key:"restoreItem",value:function restoreItem(e){var t=this,n=this.createSubject(),i=b.VX.Restore;return this.sitefinitySdk.instance.data({entitySet:e.metadata.setName,provider:e.provider,culture:e.culture,additionalQueryParams:(0,k.B5)(e.metadata,null,this.queryParamsExtenders)}).create({key:e.key,action:i,data:{},successCb:function successCb(e){n.next({message:e.Message,success:e.Success})},failureCb:function failureCb(e){return n.error(t.errorParserService.parseError(e))}}),n.pipe((0,d.P)())}},{key:"getItemsChildrenCount",value:function getItemsChildrenCount(e,t){var n=this,i=this.createSubject(),o=this.sitefinitySdk.instance.batch((function(t){var o=n.errorParserService.parseError(t);if(o instanceof C.p)i.error(o);else{var a=t.data,r={},s=0;a.forEach((function(t){var n=e.childTypes[s],i=Number.parseInt(t.response.data);r[n]=i,s++})),i.next(r)}}),(function(e){return i.error(n.errorParserService.parseError(e))}),void 0,{provider:e.provider,culture:e.culture});return e.childTypes.forEach((function(i){var a=t.entities[i].parentIdProperty,r=n.sitefinitySdk.query.where().eq(a,e.data.Id).done().count(!1);o.get({entitySet:i,query:r})})),o.execute(),i.pipe((0,d.P)())}},{key:"upsert",value:function upsert(e){var t;return e.dataItem.data?this.updateItem(e):this.createItem({data:e.data,entityData:e.dataItem,operation:e.operation,dataFieldNames:e.dataFieldNames,fallbackProperties:e.fallbackProperties,siteId:e.siteId,doNotRefreshItem:e.doNotRefreshItem,additionalQueryParams:(0,k.B5)(null===(t=e.dataItem)||void 0===t?void 0:t.metadata,e.additionalQueryParams,this.queryParamsExtenders)})}},{key:"createItemWithOperationResult",value:function createItemWithOperationResult(e){var t=this,n=this.createSubject(),i=this.sitefinitySdk.instance.batch((function(i){var o=t.errorParserService.parseError(i);if(o instanceof C.p)n.error(o);else{var a,r=E.WP.EMPTY_STRING,s={};e.operation&&(a=t.getOperationResult(i,e.data),r=a.Message,s=e.operation);var l=i.data[0].response[0].data,c=A.zw.fromEntityData(l,e.entityData);e.doNotRefreshItem?n.next({dataItem:c,operationMessage:r,operationData:s}):t.getItem({itemKey:c.key,entityData:c,fallbackProperties:e.fallbackProperties,siteId:e.siteId}).subscribe((function(e){return n.next({dataItem:e,operationMessage:r,operationData:s,operationResult:a})}),(function(e){return n.error(t.errorParserService.parseError(e))}))}}),(function(e){n.error(t.errorParserService.parseError(e))}),void 0,{provider:e.entityData.provider,culture:e.entityData.culture,siteId:e.siteId,additionalQueryParams:(0,k.B5)(e.entityData.metadata,e.additionalQueryParams,this.queryParamsExtenders)}),o=i.beginTransaction(),a=e.entityData.metadata.setName,r=this.getFieldValues(e.entityData.metadata,e.data),s=o.create({entitySet:a,data:r.primitives});return p.l.associateRelationFields(a,s,r.relational,o),e.operation&&o.operation({entitySet:a,key:s,data:e.operation}),i.endTransaction(o),i.execute(),n.pipe((0,d.P)())}},{key:"createItem",value:function createItem(e){return this.createItemWithOperationResult(e).pipe((0,u.U)((function(e){return e.dataItem})))}},{key:"updateItemWithOperationResult",value:function updateItemWithOperationResult(e){var t,n=this,i=this.createSubject(),o=this.sitefinitySdk.instance.batch((function(t){var o=n.errorParserService.parseError(t);if(o instanceof S.E&&!e.doNotRefreshItem){var a=t.data[t.data.length-1].response;o.data=a.data.value[0]}if(o instanceof C.p)i.error(o);else{var r,s=E.WP.EMPTY_STRING,l={};if(e.operation){if((r=n.getOperationResult(t,e.data))&&!r.Success)return void i.error(new y.I(e.operation.action,r));s=r.Message,l=r}if(e.doNotRefreshItem)i.next({dataItem:e.dataItem,operationMessage:s,operationData:l,operationResult:r});else{var c=t.data[t.data.length-1].response.data.value[0],d=A.zw.fromEntityData(c,e.dataItem);i.next({dataItem:d,operationMessage:s,operationData:l,operationResult:r})}}}),(function(e){i.error(n.errorParserService.parseError(e))}),void 0,{provider:e.dataItem.provider,culture:e.dataItem.culture,additionalQueryParams:(0,k.B5)(e.dataItem.metadata,e.additionalQueryParams,this.queryParamsExtenders,null!==(t=e.data)&&void 0!==t?t:e.dataItem)});return this.updateItemsTransaction([e],o),i.pipe((0,d.P)())}},{key:"updateItemsWithBulkOperationResult",value:function updateItemsWithBulkOperationResult(e,t){var n=this,i=this.createSubject(),o=this.sitefinitySdk.instance.batch((function(t){for(var n=[],o=0;o0&&(o=(t=o).expand.apply(t,(0,r.Z)(a))),o=this.setSelect(o,e.dataFieldNames);var s=this.createSubject();return this.sitefinitySdk.instance.data({entitySet:i.metadata.setName,provider:i.provider,culture:i.culture,siteId:e.siteId,additionalQueryParams:(0,k.B5)(i.metadata,e.additionalQueryParams,this.queryParamsExtenders)}).getSingle({query:o,key:e.itemKey,action:e.action,successCb:function successCb(e){s.next(A.zw.from(e,i.metadata,i.provider,i.culture))},failureCb:function failureCb(e){return s.error(n.errorParserService.parseError(e))},fallbackProperties:e.fallbackProperties}),s.pipe((0,d.P)())}},{key:"unlockItem",value:function unlockItem(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.updateItem({dataItem:e,operation:{action:h.q.unlock,actionParameters:{checkIfOwnerIsCurrentUser:t.toString()}}})}},{key:"deleteItem",value:function deleteItem(e){var t=this,n=e.dataItem,i=e.deleteAllTranslations?null:n.culture,o=this.sitefinitySdk.instance.data({entitySet:n.metadata.setName,provider:n.provider,culture:i,additionalQueryParams:(0,k.B5)(n.metadata,null,this.queryParamsExtenders)}),a=this.createSubject();return o.destroy({key:n.key,successCb:function successCb(e){a.next(n)},failureCb:function failureCb(e){return a.error(t.errorParserService.parseError(e))}}),a.pipe((0,d.P)())}},{key:"getFieldValues",value:function getFieldValues(e,t){var n=this,i={primitives:{},relational:{}};if(!t)return i;var o=Object.keys(t);return o.length?(o.forEach((function(o){if(!!e.primitives.find((function(e){return e===o})))n.setPrimitiveValue(i,o,t[o]);else{var a=e.relations.find((function(e){return e.propName===o}));a?n.setRelationalValue(i,o,a,t):o!==w.tX?e.isOpen&&n.setPrimitiveValue(i,o,t[o]):i.blob=n.fileInfoService.createFileInfo$(t[o],e)}})),i.blob&&delete i.primitives[M.E.THUMBNAIL_SOURCE],i):i}},{key:"updateItemsTransaction",value:function updateItemsTransaction(e,t){var n=this,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e.forEach((function(e){var o=t.beginTransaction(),a=e.dataItem.metadata.setName,s=e.dataItem.key,l=n.getFieldValues(e.dataItem.metadata,e.data);if(e.data&&!e.skipUpdate){if(!e.skipSaveTemp){var c=l.primitives||e.data;o.create({entitySet:a,action:"Default.savetemp",key:s,data:{model:c}})}p.l.associateRelationFields(a,s,l.relational,o)}n.waitForFileToResolve(l.blob,e,o).subscribe((function(){if(e.operation){var l=n.sitefinitySdk.query.where().eq(e.dataItem.metadata.key,s).done();o.operation({entitySet:a,key:s,data:e.operation,query:l})}if(t.endTransaction(o),!e.doNotRefreshItem){var c,d=n.sitefinitySdk.query.where().eq(e.dataItem.metadata.key,e.dataItem.key).done();d=n.setSelect(d,e.dataFieldNames);var u=n.getRelationshipFieldNames(e.dataItem);u.length>0&&(d=(c=d).expand.apply(c,(0,r.Z)(u))),t.get({entitySet:e.dataItem.metadata.setName,query:d,fallbackPropertyNames:e.fallbackProperties})}i&&t.execute()}))}))}},{key:"getOperationResult",value:function getOperationResult(e,t){var n=e.data[0].response;return n[n.length-1].data}},{key:"waitForFileToResolve",value:function waitForFileToResolve(e,t,n){var i=new m.t(1),o=i.asObservable();if(e){var a=t.dataItem;e.subscribe((function(e){if(e.asset)n.create({entitySet:a.metadata.setName,action:"Default.UpdateDamMediaContent",key:a.key,data:{asset:e.asset}});else{var o={Height:e.height,Width:e.width,PreserveFileName:e.preserveFileName};T.xe.isVideoEntity(a)&&t.data[M.E.THUMBNAIL_SOURCE]&&(o[M.E.THUMBNAIL_SOURCE]=t.data[M.E.THUMBNAIL_SOURCE]),n.upload({entitySet:a.metadata.setName,key:a.key,data:e.content,contentType:e.contentType,fileName:e.name,uploadProperties:o})}i.next(null)}))}else i.next(null);return o}},{key:"createSubject",value:function createSubject(){return new m.t(1)}},{key:"getRelationshipFieldNames",value:function getRelationshipFieldNames(e){var t=e.metadata.properties;return Object.keys(t).filter((function(e){return t[e].hasOwnProperty("relationship")})).map((function(e){return t[e].relationship.partner}))}},{key:"setPrimitiveValue",value:function setPrimitiveValue(e,t,n){e.primitives[t]=n}},{key:"setRelationalValue",value:function setRelationalValue(e,t,n,i){var o=i[t],r=[];if(null!=o){Array.isArray(o)||(o=[o]);var s,l=(0,a.Z)(o);try{for(l.s();!(s=l.n()).done;){var c=s.value,d=c.Id||c,u=this.sitefinitySdk.link(n.setName,d,c.provider||n.provider);r.push(u)}}catch(e){l.e(e)}finally{l.f()}}e.relational[t]=r}},{key:"getQuery",value:function getQuery(e){var t=e.query||(0,v.r)();if(e.skip&&(t=t.skip(e.skip)),(e.take||0===e.take)&&(t=t.take(e.take)),e.order&&(t=t.order(e.order)),(e.filter||e.itemsToExclude)&&(t=this.addFiltering(t,e.filter,e.itemsToExclude)),t=this.setSelect(t,e.dataFieldNames),e.dataFieldNames){var n,i=this.getRelationshipFieldNames(e.entityData).filter((function(t){return e.dataFieldNames.indexOf(t)>-1}));if(i.length>0)t=(n=t).expand.apply(n,(0,r.Z)(i))}return t=t.count()}},{key:"setSelect",value:function setSelect(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;n?e=(t=e).select.apply(t,(0,r.Z)(n)):e=e.select("*");return e}},{key:"getItemsInternal",value:function getItemsInternal(e){var t=this,n=this.getQuery(e),i=this.createSubject();return this.sitefinitySdk.instance.data({entitySet:e.entityData.metadata.setName,provider:e.entityData.provider,culture:e.entityData.culture,siteId:e.siteId,baseUrl:e.serviceUrl,additionalQueryParams:(0,k.B5)(e.entityData.metadata,e.additionalQueryParams,this.queryParamsExtenders)}).get({query:n,action:e.action,successCb:function successCb(e){i.next(e)},failureCb:function failureCb(e){return i.error(t.errorParserService.parseError(e))},fallbackProperties:e.fallbackProperties}),i.pipe((0,d.P)())}},{key:"getItemsInternalBatch",value:function getItemsInternalBatch(e){var t=this;e.take=e.take||F,e.skip=e.skip||0;for(var n=this.createSubject(),i=this.sitefinitySdk.instance.batch((function(e){t.parseGetItemListBatchResponse(e,n)}),(function(e){n.error(e)}),void 0,{provider:e.entityData.provider,culture:e.entityData.culture,siteId:e.siteId,additionalQueryParams:(0,k.B5)(e.entityData.metadata,e.additionalQueryParams,this.queryParamsExtenders)}),o=e.skip,a=e.take,r=e.take;!(r<1);){a=r>F?F:r;var s=Object.assign({},e);s.skip=o,s.take=a;var l=this.getQuery(s);i.get({entitySet:e.entityData.metadata.setName,query:l}),o+=a,r-=a}return i.execute(),n.pipe((0,d.P)())}},{key:"getItemListBatchWithMultipleQueriesInternal",value:function getItemListBatchWithMultipleQueriesInternal(e){for(var t=this,n=this.createSubject(),i=this.sitefinitySdk.instance.batch((function(e){t.parseGetItemListBatchResponse(e,n)}),(function(e){n.error(e)}),void 0,{provider:e[0].entityData.provider,culture:e[0].entityData.culture,siteId:e[0].siteId,additionalQueryParams:(0,k.B5)(e[0].entityData.metadata,e[0].additionalQueryParams,this.queryParamsExtenders)}),o=0;o=0&&(n.operation&g.O.or)===g.O.or||(n.operation&g.O.and)===g.O.and)&&(e=(n.operation&g.O.or)===g.O.or?e.or():e.and()),n.value.forEach((function(o){var a=o&&o.trim?o.trim():o;n.operation>=0&&(n.operation&g.O.eq)===g.O.eq?e=e.eq(n.key,a):("and"===e.expression.type&&(e=e.or()),e=D.y.applySearchForField(a,n.key,e,n.searchMode,n.caseSensitive),i===t.length-1&&(e=e.done()))})),n.operation>=0&&(e=e.done())})),n&&Array.isArray(n.value)&&n.value.forEach((function(t){e=e.ne(n.key,t)})),e=e.done()}},{key:"parseGetItemListBatchResponse",value:function parseGetItemListBatchResponse(e,t){var n=this.errorParserService.parseError(e);if(n instanceof C.p)t.error(n);else{var i=e.data[0].response.data,o=[];e.data.forEach((function(e){o=o.concat(e.response.data.value)})),i.value=o,t.next(i)}}}]),DynamicItemService}();P.ctorParameters=function(){return[{type:p.l},{type:I.w},{type:x.k},{type:Array,decorators:[{type:f.FiY},{type:f.tBr,args:[k.R5]}]}]},P=(0,c.gn)([(0,f.GSi)(),(0,c.w6)("design:paramtypes",[p.l,I.w,x.k,Array])],P),function(e){e[e.asc=0]="asc",e[e.desc=1]="desc"}(i||(i={})),function(e){e[e.Default=0]="Default",e[e.Top=1]="Top",e[e.Current=2]="Current",e[e.Bottom=3]="Bottom"}(o||(o={}))},function(e,t,n){n.d(t,{$F:function(){return A},vi:function(){return g},zw:function(){return p}});var i=n(8),o=n(10),a=n(25),r=n(5),s=n(4),l=n(81),c=n(77),d=n(78),u=n(194),f=n(195),p=function(){function DataItem(e,t,n,i){(0,r.Z)(this,DataItem),this.data=e,this.metadata=t,this.provider=n,this.culture=i}return(0,s.Z)(DataItem,[{key:"key",get:function get(){return this.isEmpty?null:this.data[this.metadata.key]}},{key:"parentKey",get:function get(){return this.isEmpty?null:this.data[this.metadata.parentIdProperty]||null}},{key:"title",get:function get(){return this.isEmpty?null:this.data[this.metadata.defaultFieldName]}},{key:"isTranslated",get:function get(){if(this.isEmpty)return null;var e=l.E.AvailableLanguages;return!this.data.hasOwnProperty(e)||(!this.culture||-1!==this.data[e].indexOf(this.culture))}},{key:"isEmpty",get:function get(){return this.data===DataItem.emptyVal}},{key:"childSetName",get:function get(){return this.metadata.children[0]}},{key:"childTypes",get:function get(){return this.metadata.children}}],[{key:"fromEntityData",value:function fromEntityData(e,t){return DataItem.from(e,t.metadata,t.provider,t.culture)}},{key:"from",value:function from(e,t,n,i){var o,a,r=JSON.parse(JSON.stringify(e));if(r=Object.freeze(r),(null==t?void 0:t.typeFullName)===c.hn)a=new m(r,t,n,i);else a=new DataItem(r,t,n,i);return((null===(o=a.metadata)||void 0===o?void 0:o.isSelfReferencing)||(null==t?void 0:t.typeFullName)===c.QU)&&(a=DataItem.convertHierarchy(a)),Object.isFrozen(a)||(a=Object.freeze(a)),a}},{key:"fromCulture",value:function fromCulture(e,t){return DataItem.from(e.data,e.metadata,e.provider,t)}},{key:"fromKey",value:function fromKey(e,t){var n=(0,a.Z)({},t.metadata.key,e);return DataItem.from(n,t.metadata,t.provider,t.culture)}},{key:"emptyItem",value:function emptyItem(e){return DataItem.from(DataItem.emptyVal,e.metadata,e.provider,e.culture)}},{key:"duplicate",value:function duplicate(e,t,n){var i={};return Object.keys(e.metadata.properties).forEach((function(o){var a=e.metadata.properties[o],r=a.hasOwnProperty(d.QA)&&"Read"===a[d.QA],s=t.some((function(e){return e===o}));n.some((function(e){return e===o}))||r&&!1===s||o!==l.E.URLS&&(o!==l.E.URL_NAME?i[o]=e.data[o]:i[o]=u.U.prototype.sanitizeValue(e.data[l.E.TITLE],a[f.oV],a[f.R_]))})),DataItem.fromEntityData(i,e)}},{key:"convertHierarchy",value:function convertHierarchy(e){var t=[];if(!e.isEmpty){var n=e.data[l.E.CHILDREN];n&&(t=n.map((function(t){return DataItem.fromEntityData(t,e)})))}return A.fromDataItem(e,t)}}]),DataItem}();p.emptyVal=null;var A=function(e){(0,i.Z)(HierarchicalDataItem,e);var t=(0,o.Z)(HierarchicalDataItem);function HierarchicalDataItem(e,n){var i;return(0,r.Z)(this,HierarchicalDataItem),(i=t.call(this,e.data,e.metadata,e.provider,e.culture))._children=n,i}return(0,s.Z)(HierarchicalDataItem,[{key:"hasChildren",get:function get(){return!this.isEmpty&&(this.data.hasOwnProperty(l.E.HAS_CHILDREN)&&this.data[l.E.HAS_CHILDREN])}},{key:"children",get:function get(){return this._children}}],[{key:"fromDataItem",value:function fromDataItem(e,t){var n=new HierarchicalDataItem(e,t);return Object.freeze(n)}}]),HierarchicalDataItem}(p),m=function(e){(0,i.Z)(TaxonomyDataItem,e);var t=(0,o.Z)(TaxonomyDataItem);function TaxonomyDataItem(){return(0,r.Z)(this,TaxonomyDataItem),t.apply(this,arguments)}return(0,s.Z)(TaxonomyDataItem,[{key:"childSetName",get:function get(){return this.data[l.E.TAXA_URL]}},{key:"childTypes",get:function get(){return[this.data[l.E.TAXA_URL]]}}]),TaxonomyDataItem}(p),g=(0,s.Z)((function NavigateToEditArguments(e){if((0,r.Z)(this,NavigateToEditArguments),this.parentId=null,this.replaceUrl=!1,this.commandName=null,this.wasInCreate=!1,this.reload=!1,this.openDialog=!1,this.openInNewWindowArgs=null,this.mediaFieldLimitationsConstraints=null,this.navigateToChildrenAfterCreate=!0,this.prepopulatedFields=null,this.headComponentData=null,this.singularName=null,this.route=null,e)for(var t in e)void 0!==e[t]&&(this[t]=e[t])}))},function(e,t,n){n.d(t,{U:function(){return c}});var i=n(5),o=n(4),a=n(65),r=n(7),s=n(66),l=n(67),c=function(){function SanitizeService(){(0,i.Z)(this,SanitizeService)}return(0,o.Z)(SanitizeService,[{key:"sanitizeValue",value:function sanitizeValue(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-";if(e&&t){var i,o=s.tT.buildRegex("^[-]"),a=s.tT.buildRegex("[-]$"),r=s.tT.buildRegex(t,"g"),l=e.toLowerCase();do{i=l,l=s.tT.replace(i,r,n),!o.test(e)&&o.test(l)&&(l=s.tT.replace(l,o,"")),!a.test(e)&&a.test(l)&&(l=s.tT.replace(l,a,""))}while(l!==i);return i}return e}},{key:"getReplaceCharacter",value:function getReplaceCharacter(e){return e.sanitizeRegexReplaceCharacter||l.WP.DASH}}]),SanitizeService}();c=(0,a.gn)([(0,r.GSi)()],c)},function(e,t,n){n.d(t,{R_:function(){return f},ke:function(){return p},oV:function(){return u}});var i=n(5),o=n(4),a=n(27),r=n(12),s=n(8),l=n(10),c=n(196),d="Telerik.Sitefinity.V1.Validation",u=d+".SanitizeRegex",f=d+".RegularExpressionReplaceCharacter",p=function(e){(0,s.Z)(UrlNameSettings,e);var t=(0,l.Z)(UrlNameSettings);function UrlNameSettings(){return(0,i.Z)(this,UrlNameSettings),t.apply(this,arguments)}return(0,o.Z)(UrlNameSettings,[{key:"init",value:function init(e){(0,a.Z)((0,r.Z)(UrlNameSettings.prototype),"init",this).call(this,e),this.sanitizeRegex=e[u],this.sanitizeRegexReplaceCharacter=e[f]||"-",this.title="URL Name",this.changeOnFocus=!0}}]),UrlNameSettings}(c.dT)},function(e,t,n){n.d(t,{dT:function(){return g},e4:function(){return h},my:function(){return isMirrorFieldSettings},z4:function(){return m}});var i=n(5),o=n(4),a=n(27),r=n(12),s=n(8),l=n(10),c=n(197),d=n(66),u=n(199),f=n(200),p=n(78),A=n(198),m="mirrorFieldSettingsKind",g=function(e){(0,s.Z)(ShortTextSettings,e);var t=(0,l.Z)(ShortTextSettings);function ShortTextSettings(e,n){var o;return(0,i.Z)(this,ShortTextSettings),(o=t.call(this,e,n)).key=e,o.readOnlyMode=n,o.kind=m,o.shouldBeFocusedByDefault=!0,o.shortTextValidatorMap=new Map,o.shortTextValidatorMap.set(p.kA,(function(){return o.createPatternValidator(".*\\S.*")})),o.shortTextValidatorMap.set(p.uX,(function(e){return o.createPatternValidator(e)})),o.shortTextValidatorMap.set(p.Zq,(function(e){return u.kI.maxLength(e)})),o.shortTextValidatorMap.set(p.PL,(function(e){return f.L[f.v.MIN_LENGTH](e)})),o}return(0,o.Z)(ShortTextSettings,[{key:"init",value:function init(e){(0,a.Z)((0,r.Z)(ShortTextSettings.prototype),"init",this).call(this,e),this.placeholder=e[A.IK],this.unit=e[A.U7],this.unitLook=e[A.vG],this.unitPosition=e[A.Vk]}},{key:"getValidators",value:function getValidators(e){var t=(0,a.Z)((0,r.Z)(ShortTextSettings.prototype),"getValidators",this).call(this,e),n=this.getValidatorDictionary(e);for(var i in n)n.hasOwnProperty(i)&&t.push(n[i]);return t}},{key:"getValidatorDictionary",value:function getValidatorDictionary(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&n.includes(p.hH)&&this.shortTextValidatorMap.has(n)){var i=e[n];t[n]=this.shortTextValidatorMap.get(n)(i)}return t}},{key:"createPatternValidator",value:function createPatternValidator(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];"string"==typeof e&&(e=d.tT.buildRegex(e,"gs")),t&&(e=e.toString().slice(1,-2));var n=u.kI.pattern(e);return n}}]),ShortTextSettings}(c.P1);function isMirrorFieldSettings(e){return e.kind===m}var h=function(e){(0,s.Z)(ShortTextDefaultSettings,e);var t=(0,l.Z)(ShortTextDefaultSettings);function ShortTextDefaultSettings(e,n){var o;return(0,i.Z)(this,ShortTextDefaultSettings),(o=t.call(this,e,n)).key=e,o.readOnlyMode=n,o.underlineErrors=!0,o}return(0,o.Z)(ShortTextDefaultSettings)}(g)},function(e,t,n){n.d(t,{P1:function(){return f},RF:function(){return o},XG:function(){return i}});var i,o,a=n(17),r=n(5),s=n(4),l=n(199),c=n(78),d=n(67),u=n(198),f=function(){function SettingsBase(e,t){(0,r.Z)(this,SettingsBase),this.key=e,this.readOnlyMode=t,this.showTitle=!0,this.visibleTitle=!0,this.underlineErrors=!1,this.emptyValueText=d.iZ,this.defaultValue=null,this.required=!1,this.translatable=!1,this.hasFieldset=!1,this.hintPositionTop=!1,this.markAsDirty=!1,this.useDefaultValue=!0,this.emptyValues=[null,void 0],this.allowCreate=!0,this.allowAdd=!0,this.allowRemove=!0,this.allowView=!0,this.isVisible=!0,this.showCharCounter=!1,this.changeOnFocus=!1,this.placeholder=d.WP.EMPTY_STRING,this.title=this.key}return(0,s.Z)(SettingsBase,[{key:"init",value:function init(e){if(this.autoMapSettings(e,"Meta_","_"),this.autoMapSettings(e,c.hH,"."),this.autoMapSettings(e,c._i,".",c.hH),this.placeholder=e[u.IK]||d.WP.EMPTY_STRING,this.required=!!e[c.kA],this.inlineDescription=e.inlineDescription,this.instructionalNotes=e.instructionalNotes,this.validators=l.kI.compose(this.getValidators(e)),this.translatable=e.hasOwnProperty(c.rm)&&e[c.rm],this.customErrorMsgs=e[c.af],null===this.defaultValue&&e.default&&(this.defaultValue=e.default),e[c.N]&&this.isVisible){var t=e[c.N];try{this.conditionalRule=JSON.parse(t)}catch(e){console.error("Conditional rule invalid JSON format for field with key '".concat(this.key,"'"))}}this.addEmptyValues(e),this.patternValidationErrorMessage=e[u.uR]}},{key:"getValidators",value:function getValidators(e){var t=[];return this.required&&t.push(l.kI.required),t}},{key:"equals",value:function equals(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"dataItem";for(var n in e)if(e.hasOwnProperty(n)){if(t&&n===t)continue;var i=e[n];if("object"==typeof i){if(JSON.stringify(i)!==JSON.stringify(this[n]))return!1}else if("function"!=typeof i&&i!==this[n])return!1}return!0}},{key:"autoMapSettings",value:function autoMapSettings(e,t,n){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;Object.keys(e).filter((function(e){return e.startsWith(t)})).forEach((function(a){if(!o||!a.startsWith(o)){var r=a.replace(t,d.WP.EMPTY_STRING).replace(n,d.WP.EMPTY_STRING);r=r[0].toLowerCase()+r.substring(1),i[r]=e[a];["True","False","true","false"].find((function(e){return e===i[r]}))&&(i[r]="true"===i[r]||"True"===i[r])}}))}},{key:"addEmptyValues",value:function addEmptyValues(e){var t;e.emptyValues&&(t=this.emptyValues).push.apply(t,(0,a.Z)(JSON.parse(e.emptyValues)))}}]),SettingsBase}();!function(e){e.Or="Or",e.And="And"}(i||(i={})),function(e){e.Equals="Equals",e.NotEquals="NotEquals",e.Contains="Contains",e.NotContains="NotContains"}(o||(o={}))},function(e,t,n){n.d(t,{IK:function(){return i},U7:function(){return o},Vk:function(){return r},uR:function(){return s},vG:function(){return a}});var i="placeholder",o="unit",a="unitLook",r="unitPosition",s="patternValidationErrorMessage"},,function(e,t,n){n.d(t,{L:function(){return x},v:function(){return w}});var i=n(5),o=n(4),a="minlength",r=function(){function MinLengthValidator(){(0,i.Z)(this,MinLengthValidator)}return(0,o.Z)(MinLengthValidator,null,[{key:"validate",value:function validate(e){return function(t){if(!t.value)return null;var n=+e;if(t.value.toString().trim().length>=n)return null;var i={};return i.minlength={requiredLength:n},i}}}]),MinLengthValidator}(),s=n(66),l=function(){function ValueRangeValidator(){(0,i.Z)(this,ValueRangeValidator)}return(0,o.Z)(ValueRangeValidator,null,[{key:"validate",value:function validate(e){return function(t){if((0,s.Ew)(t.value))return null;var n,i,o=+t.value;return e.max&&(i=+e.max),e.min&&(n=+e.min),n&&i?o>=n&&o<=i?null:{valueRange:{maxValue:i,minValue:n}}:n?o>=n?null:{minValue:{requiredMinValue:n}}:i?o<=i?null:{maxValue:{requiredMaxValue:i}}:void 0}}}]),ValueRangeValidator}(),c=n(25),d=n(199),u=n(201),f=function(){function MultipleUrlsPatternValidator(){(0,i.Z)(this,MultipleUrlsPatternValidator)}return(0,o.Z)(MultipleUrlsPatternValidator,null,[{key:"validate",value:function validate(e){return function(t){var n=[],i=!1;return t.value?(t.value.forEach((function(t){var o={value:t};d.kI.pattern(e)(o)&&(n[t]="pattern",i=!0)})),i?(0,c.Z)({},u.C+u.r.CUSTOM_ERRORS,n):null):null}}}]),MultipleUrlsPatternValidator}(),p="digitsLimit",A=function(){function DigitsLimit(){(0,i.Z)(this,DigitsLimit)}return(0,o.Z)(DigitsLimit,null,[{key:"validate",value:function validate(e){return function(t){if(!t.value)return null;if(t.value.toString().length<=e)return null;var n={};return n.digitsLimit={requiredLength:e},n}}}]),DigitsLimit}(),m=n(67),g="safeInteger",h=function(){function MaxInteger(){(0,i.Z)(this,MaxInteger)}return(0,o.Z)(MaxInteger,null,[{key:"validate",value:function validate(){return function(e){if(!e.value)return null;var t=+e.value;if(t>=m.E2){var n={};return n.safeInteger={maxIntegerValue:m.E2},n}if(t<=-m.E2){var i={};return i.safeInteger={minIntegerValue:-m.E2},i}return null}}}]),MaxInteger}(),v=n(78),b=function(){function DateRangeValidator(){(0,i.Z)(this,DateRangeValidator)}return(0,o.Z)(DateRangeValidator,null,[{key:"validate",value:function validate(e){return function(t){if(t.value){var n=t.value;if(e.min&&e.min>n)return{minValue:{requiredMinValue:e.min.toLocaleString(v.MV)}};if(e.max&&e.max<=n)return{maxValue:{requiredMaxValue:e.max.toLocaleString(v.MV)}}}return null}}}]),DateRangeValidator}(),y=n(202),E="multilineEmails",I=function(){function MultilineEmailsValidator(){(0,i.Z)(this,MultilineEmailsValidator)}return(0,o.Z)(MultilineEmailsValidator,null,[{key:"validate",value:function validate(){return function(e){var t=!1;return e.value?(e.value.split(/\n/).forEach((function(e){var n={value:e.trim()};d.kI.pattern(m.SV.EMAIL_PATTERN)(n)&&(t=!0)})),t?(0,c.Z)({},E,!1):null):null}}}]),MultilineEmailsValidator}(),w=Object.freeze({MIN_LENGTH:a,VALUE_RANGE:"valueRange",URL_PATTERN:"urlPattern",DIGITS_LIMIT:p,MAX_INTEGER:g,SCHEDULE:y.Fi,MULTILINE_EMAILS:E,REQUIRED:"required",MAX_LENGTH:"maxlength",DATE_RANGE:"dateRange",PATTERN:"pattern",MAX_VALUE:"maxValue",MIN_VALUE:"minValue",CUSTOM:"custom"}),k={};k[w.MIN_LENGTH]=r.validate,k[w.VALUE_RANGE]=l.validate,k[w.URL_PATTERN]=f.validate,k[w.DIGITS_LIMIT]=A.validate,k[w.MAX_INTEGER]=h.validate,k[w.DATE_RANGE]=b.validate,k[w.MULTILINE_EMAILS]=I.validate;var x=Object.freeze(k)},function(e,t,n){n.d(t,{C:function(){return i},r:function(){return o}});var i="sfc-",o={INVALID_NUMBER:"invalidnumber",URL_EXIST:"urlexists",URL_EXIST_SPECIFIC:"urlexistsspecific",URL_EXIST_MANY:"urlexistsmany",CUSTOM_ERRORS:"customErrors",UPLOAD_FAILED:"Upload Failed",REQUIRED_FIELD:"requiredfield",TAXONOMY_NAME_DUPLICATE:"taxonomynameduplicate",TITLE_EXISTS:"titleexists",NAME_EXISTS:"nameexists"}},function(e,t,n){n.d(t,{Fi:function(){return r},VJ:function(){return l},bH:function(){return c},yl:function(){return s}});var i=n(25),o=n(5),a=n(4),r="schedule",s="missingPubUnpubValues",l="invalidExpDate",c=function(){function ScheduleValidator(){(0,o.Z)(this,ScheduleValidator)}return(0,a.Z)(ScheduleValidator,null,[{key:"isValidEndDate",value:function isValidEndDate(e,t){return!(e&&t&&e.value&&t.value&&new Date(t.value).getTime()2&&void 0!==arguments[2])||arguments[2],o=new Map;t&&t.forEach((function(e){o.has(e.Name)||o.set(e.Name,[])})),e.forEach((function(e){o.has(e.Category.Name)||o.set(e.Category.Name,[]),o.get(e.Category.Name).push(e)}));var a=[];return o.forEach((function(e,t){var o=e.sort((function(e,t){return e.Ordinal>t.Ordinal?1:e.Ordinal0){var r=e[0].Category;0===a.length?r.Title&&a.push(new d.I8(r.Title)):(r.Title&&a.push(h),a.push(r.Title?new d.I8(r.Title):h)),a=a.concat(o)}})),a}},{key:"updateButtonState",value:function updateButtonState(e){null===e.stateForOthers&&(null!==e.primary&&null!==e.primary.state?(this.hasFlag(e.primary.state,d.BN.Checked)||this.hasFlag(e.primary.state,d.BN.Loading))&&(e.stateForOthers=d.BN.Disabled):e.stateForOthers=d.BN.Default),this.state$.next({specificState:e.primary,stateForAll:e.stateForOthers})}},{key:"getActionButton",value:function getActionButton(e,t){var n=new d.Kk(e.Title||e.Name,e.Name);n.description=e.Description,n.detailedTitle=e.DetailedTitle,n.link=e.Link,n.ordinal=e.Ordinal,n.parameters=e.Parameters,n.contextParameters=e.ContextParameters,n.context=e.context,n.requiresConfirmation=e.RequiresConfirmation,n.token=e.token,n.sourceOperation=e,n.subText=e.SubText,!e.ExecuteOnServer&&e.Warning&&(n.warningMessage=e.Warning);var i=this.state$.pipe((0,r.U)((function(e){return e.specificState&&e.specificState.name===n.name?e.specificState.state:e.stateForAll})),(0,s._)(1));return i.connect(),n.checked=this.filterMap(i,d.BN.Checked),n.disabled=this.filterMap(i,d.BN.Disabled),n.loading=this.filterMap(i,d.BN.Loading),e.SubOperation&&(n.subAction=this.getActionButton(e.SubOperation,!1),n.subAction.isSubAction=!0),t||e.Name===g&&e.Ordinal>f?this.setButtonLook(n,e):this.setButtonIcon(n,e),n}},{key:"setButtonIcon",value:function setButtonIcon(e,t){return e.context={},t.Name===g?e.context.icon="times":t.Name===A?e.context.icon="Section":t.Name===m?(e.context.icon="user",e.context.iconLook="color-inherit"):e.context.icon="pencil",e}},{key:"setButtonLook",value:function setButtonLook(e,t){return t.Name===c.q.delete||t.Name===g?e.look="sf-txt-failure":t.Name===c.q.preview?e.look="link":t.Name!==c.q.unlock&&e.ordinal===d.do&&(e.look=p),e}},{key:"filterMap",value:function filterMap(e,t){var n=this;return e.pipe((0,r.U)((function(e){return n.hasFlag(e,t)})))}},{key:"hasFlag",value:function hasFlag(e,t){return(e&t)===t}}]),ActionButtonsResolver}();v=(0,a.gn)([(0,l.GSi)()],v)},function(e,t,n){n.d(t,{BN:function(){return i},I8:function(){return u},Kk:function(){return d},do:function(){return l},fl:function(){return c},gP:function(){return f}});var i,o=n(8),a=n(10),r=n(4),s=n(5);!function(e){e[e.Default=0]="Default",e[e.Loading=1]="Loading",e[e.Checked=2]="Checked",e[e.Disabled=4]="Disabled"}(i||(i={}));var l=-1,c=(0,r.Z)((function LoadingButton(){(0,s.Z)(this,LoadingButton)})),d=function(e){(0,o.Z)(ActionButton,e);var t=(0,a.Z)(ActionButton);function ActionButton(e,n){var i;return(0,s.Z)(this,ActionButton),(i=t.call(this)).title=e,i.name=n,i.requiresConfirmation=!1,i}return(0,r.Z)(ActionButton,[{key:"isPrimary",get:function get(){return this.ordinal===l}}]),ActionButton}(c),u=(0,r.Z)((function ActionSection(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0;(0,s.Z)(this,ActionSection),this.title=e,this.hidden=t,this.name=n})),f=(0,r.Z)((function ActionMenuOptions(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.NEGATIVE_INFINITY,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(0,s.Z)(this,ActionMenuOptions),this.minOrdinal=e,this.maxOrdinal=t,this.showAllAsDropdown=n}))},function(e,t,n){n.d(t,{k:function(){return f},w:function(){return p}});var i=n(25),o=n(5),a=n(4),r=n(65),s=n(7),l=n(199),c=n(136),d=n(66),u=n(50),f="image",p=function(){function FileInfoService(e){(0,o.Z)(this,FileInfoService),this.sanitizer=e}return(0,a.Z)(FileInfoService,[{key:"createFileInfo",value:function createFileInfo(e,t){var n=this;return new Promise((function(o,a){var r=e;e=r.file||e;var s=(0,d.vB)(e.name),c=n.getUrl(e),u=n.sanitizer.bypassSecurityTrustUrl(c),f={name:e.name,title:s,extension:(0,d.LG)(e.name),size:e.size,data:{},content:e,contentType:e.type,dataUrl:u,form:new l.cw((0,i.Z)({},"Title",new l.NI(s))),isMultimedia:t.isMultimedia,isVideo:t.isVideo,isCorrupted:!1,preserveFileName:null==r?void 0:r.preserveFileName,asset:r.asset};t.isMultimedia?n.getMediaSize(c,e.type).then((function(e){f.width=e.width,f.height=e.height,o(f)})).catch((function(){f.isCorrupted=!0,o(f)})):o(f)}))}},{key:"createFileInfo$",value:function createFileInfo$(e,t){var n=this.createFileInfo(e,t);return(0,u.D)(n)}},{key:"getMediaSize",value:function getMediaSize(e,t){return t.includes("".concat(f,"/"))?this.getMediaSizeInternal(e,"load","img","width","height"):t.includes("".concat("video","/"))?this.getMediaSizeInternal(e,"loadedmetadata","video","videoWidth","videoHeight"):Promise.resolve({isCorrupted:!1})}},{key:"getUrl",value:function getUrl(e){return window.URL.createObjectURL(e)}},{key:"getMediaSizeInternal",value:function getMediaSizeInternal(e,t,n,i,o){return new Promise((function(a,r){var s=document.createElement(n);s.addEventListener(t,(function(e){var t={width:s[i],height:s[o],isCorrupted:!1};s.remove(),a(t)})),s.addEventListener("error",(function(e){s.remove(),r(e)})),s.src=e}))}}]),FileInfoService}();p.ctorParameters=function(){return[{type:c.H7}]},p=(0,r.gn)([(0,s.GSi)(),(0,r.w6)("design:paramtypes",[c.H7])],p)},function(e,t,n){n.d(t,{B5:function(){return getAdditionalQueryParams},R5:function(){return o}});var i=n(21),o=new(n(7).OlP)("query-params-extender");function getAdditionalQueryParams(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=Object.assign({},t);if(n){var r,s=(0,i.Z)(n);try{for(s.s();!(r=s.n()).done;){var l=r.value,c=l.getAdditionalQueryParams(e,o);for(var d in c)c.hasOwnProperty(d)&&!a[d]&&(a[d]=c[d])}}catch(e){s.e(e)}finally{s.f()}}return a}},function(e,t,n){n.d(t,{J:function(){return E},k:function(){return w}});var i,o=n(5),a=n(4),r=n(25),s=n(65),l=n(7),c=n(214),d=n(128),u=n(211),f=n(8),p=n(10),A=n(213),m=function(e){(0,f.Z)(AuthorizationError,e);var t=(0,p.Z)(AuthorizationError);function AuthorizationError(){return(0,o.Z)(this,AuthorizationError),t.apply(this,arguments)}return(0,a.Z)(AuthorizationError)}(A.V),g=n(215),h=n(216),v=n(218),b=n(220),y=n(217),E="Validation",I=(i={},(0,r.Z)(i,E,u.p),(0,r.Z)(i,"Authorization",m),(0,r.Z)(i,"ParentHasChildren",g.Q),(0,r.Z)(i,"LockedItem",h.E),i),w=function(){function ErrorParserService(){(0,o.Z)(this,ErrorParserService)}return(0,a.Z)(ErrorParserService,[{key:"parseError",value:function parseError(e){return this.mapError(e)}},{key:"mapError",value:function mapError(e){if(e.rejection&&(e=e.rejection),e instanceof TypeError||e instanceof Error){var t=new c.p(e.message,e.name);return t.stack=e.stack,t}return"string"==typeof e?new c.p(e,"Unkown"):e instanceof d.UA?this.mapHttpErrorResponse(e):this.isODataHttpError(e)?this.mapODataHttpErrorResponse(e):this.isBatchResponse(e)?this.mapODataBatchResponseError(e):e}},{key:"mapHttpErrorResponse",value:function mapHttpErrorResponse(e){var t=e.message;if(0===e.status)t+=".The status code indicates that there might be a problem with one of the following: CORS configuration for the OData service, authentication configuration missing or sitefinity is warming up.";else{var n=e.error;this.isODataHttpError(n.error)&&(t+=".An error occured in the OData API: ".concat(n.error.code," - ").concat(n.error.message))}return new c.p(t,e.statusText)}},{key:"mapODataBatchResponseError",value:function mapODataBatchResponseError(e){for(var t=0;t2&&void 0!==arguments[2]?arguments[2]:null,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.resetMirrorMap(e);var r=[],s=e.properties[S.vh];this.updateMediaFields(r,e,t,o);var l=Object.keys(e.properties),c=this.getFieldTypesMap(l,t,e,s),u=[];return l.forEach((function(l){var f=D.has(l),p=e.properties[l],A=null,g=t.find((function(e){return e.name===l&&!e.isSection}));if(null!=g){if(n.processFieldGroups(u,l,r,e,c,i,o,t))return;if(g.hidden)return;A=g.title}(n.populateMirrorMap(e.properties,t,l),p&&!f)&&(f=p[S.$z]===m.Pw);if(!f){var h=null;i&&null!==i[l]?h=i[l]:p.hasOwnProperty(S.LP)&&(h=p[S.LP]),p=n.override(g,p);var v=n.getPropertyFieldType(e,p,g,l,s),b=(0,d.ax)(n.fieldsProvider,e.setName,v,l,h,p,A);if(b){if(n.shouldSkipField(a,b,h))return;n.updateFieldSettings(b.settings,v,p,l,e,g,h),n.overrideSettings(o,b,g,i,p),r.push(b)}}})),t.forEach((function(t){var a=t.name;if(!(r.findIndex((function(e){return e.key===a}))>-1)){var s=(0,d.ax)(n.fieldsProvider,e.setName,null,a,null,null);s&&(n.overrideSettings(o,s,t,i,null),r.push(s))}})),this.tryUpdateHandlersValue(r,e,t),r}},{key:"getPropertyFieldType",value:function getPropertyFieldType(e,t,n,i,a){var r=this.tryGetBasicTypes(t);if(r)return r;var s,l=(0,o.Z)(this.metadataHandlers);try{for(l.s();!(s=l.n()).done;){var c=s.value;if(c.canProcess(e.typeFullName)){var u=c.getFieldType(e,t,n,i);if(u)return u}}}catch(e){l.e(e)}finally{l.f()}var p=this.getPropertyType(t);if(this.mirrorMap&&this.mirrorMap[i])return this.mirrorMap[i].type;if("string"===p&&!t.format)return this.getFieldTypeForString(e,t,i,a);if(t[f.ZP.TAXONOMY_ID])return v.U.taxa;if("date-time"===t.format)return v.U.dateTime;if("uuid"===t.format)return i===d.E.PARENT_ID?v.U.dropdownSelector:v.U.shortText;if(i===g.WP.URLS)return v.U.additionalUrls;if("array"===t.type&&t.items&&"uuid"===t.items.format)return v.U.arrayOfGUIDs;var A=this.tryGetChoiceTypes(t,n);return A||void 0}},{key:"classifyFields",value:function classifyFields(e,t){var n,i=this,o={},a={};return n=e instanceof p.JH?e:this.store.getEntity(e),Object.keys(t).forEach((function(e){var r=t[e],s=i.modifyValue(n,e,r);(s.isRelation?a:o)[e]=s.value})),{primitiveFields:o,relationFields:a}}},{key:"updateFieldSettings",value:function updateFieldSettings(e,t,n,i,o,a,r){this.updateBaseSettings(e,a),this.updateTaxaFieldSettings(t,e,a),this.updateTextFieldSettings(t,e,a),this.updateRelatedMediaFieldSettings(t,e,a,n,o),this.updateRelatedDataField(t,e,n,o,a),this.updateChoiceFieldSettings(t,e,n,a,r),this.updateGuidFieldSettings(t,e,n),this.updateYesNoFieldSettings(t,e,a),this.updateStructureUrlNameSettings(e,t,o),this.shouldHaveLargeTitle(o,n,i)?e.look="large":i===d.E.PARENT_ID&&t===v.U.dropdownSelector&&this.updateParentSelectorSettings(e,o,a);var s=this.mirrorMap?this.mirrorMap[i]:null;s&&this.mirrorMapSettings(s,e,o)}},{key:"updateStructureUrlNameSettings",value:function updateStructureUrlNameSettings(e,t,n){e instanceof C.W&&(e.isStructureEditable=!n.isMedia,e.hasExtension=n.isMedia)}},{key:"getFieldTypeForString",value:function getFieldTypeForString(e,t,n,i){return t[m.t9]&&"shorttext"===t[m.t9].toLowerCase()?n!==i||e.isMedia?t[S.nP]?v.U.read:n!==d.E.NAME||e.setName!==f.ZP.FLAT_TAXA&&e.setName!==f.ZP.HIERARCHY_TAXA&&e.setName!==m.gl.FORMS?v.U.shortText:v.U.urlName:v.U.shortTextDefault:t[k.f.TEXT_FIELD_TYPE]===E&&t[y]?v.U.html:v.U.textArea}},{key:"updateMediaFields",value:function updateMediaFields(e,t,n,i){if(t.isMedia){var o=(0,d.ax)(this.fieldsProvider,t.setName,v.U.mediaData,m.tX,null,{}),a=n.find((function(e){return e.name===o.key}));if(a)o.settings.readOnlyMode=a.readonly,o.settings&&a.allowedFileExtensions&&a.acceptableMediaTypes&&null!=a.maximumAllowedSize&&(o.settings.acceptableFileTypes=a.allowedFileExtensions,o.settings.acceptableMediaTypes=a.acceptableMediaTypes,o.settings.maxSize=a.maximumAllowedSize);void 0!==i&&(o.settings.readOnlyMode=i),e.push(o)}}},{key:"tryUpdateHandlersValue",value:function tryUpdateHandlersValue(e,t,n){var i,a=(0,o.Z)(this.metadataHandlers);try{for(a.s();!(i=a.n()).done;){var r=i.value;r.canProcess(t.typeFullName)&&r.updateFieldSettings(e,t,n)}}catch(e){a.e(e)}finally{a.f()}}},{key:"updateTextFieldSettings",value:function updateTextFieldSettings(e,t,n){if((e===v.U.shortText||e===v.U.shortTextDefault||e===v.U.textArea||e===v.U.number)&&n&&n.metadata){t.placeholder=n.metadata[m.gb.FIELD_PLACEHOLDER],t.unit=n.metadata[m.gb.UNIT];var i=e===v.U.number?"number":"text";t.type=n.metadata[m.gb.ROWS]>1?"textarea":i,t.type=n.metadata[m.gb.IS_PASSWORD_MODE]?"password":t.type,t.rows=n.metadata[m.gb.ROWS],t.showCharCounter=n.metadata[m.gb.SHOW_CHAR_COUNTER],n.metadata[m.gb.RECOMMENDED_CHAR_COUNTER]&&(t.recommendedCharacters=n.metadata[m.gb.RECOMMENDED_CHAR_COUNTER]);var o=n.metadata[m.gb.CSS_CLASS]||g.WP.EMPTY_STRING;t.look?t.look+=o:t.look=o}}},{key:"updateRelatedMediaFieldSettings",value:function updateRelatedMediaFieldSettings(e,t,n,i,o){if(e===v.U.media||e===v.U.templateThumbnail){var a=i[S.o2],r=t;r.provider=a,r.type=this.getRef(i),t.hintPositionTop=!0,n&&(r.allowMultiple=this.getIsMultiple(n,r.allowMultiple)),this.overrideRelatedMediaSettingsFromTweaks(r,n)}}},{key:"getIsMultiple",value:function getIsMultiple(e,t){var n=e.metadata||e.fieldMeta;return n&&void 0!==n[m.gb.ALLOW_MULTIPLE_SELECTION]?n[m.gb.ALLOW_MULTIPLE_SELECTION]:t}},{key:"updateBaseSettings",value:function updateBaseSettings(e,t){if(t&&t.metadata){var n=t.metadata[m.gb.DISPLAY_MODE];null!=n&&(e.readOnlyMode=!t.metadata[m.gb.DISPLAY_MODE]);var i=t.metadata[m.gb.PREDEFINED_VALUE];null!=i&&(e.defaultValue=i,e.useDefaultValue=!0),e&&t.metadata[B.uR]&&(e.patternValidationErrorMessage=t.metadata[B.uR])}}},{key:"updateTaxaFieldSettings",value:function updateTaxaFieldSettings(e,t,n){if(e===v.U.taxa&&n){var i=t,o=this.store.getPropertyMetadata(i.type,d.E.URL_NAME);i.urlNameSanitizeRegex=o[d.oV],n&&(i.allowMultiple=this.getIsMultiple(n,i.allowMultiple),n.metadata&&(i.id=void 0!==n.metadata[m.gb.TAXONOMY_ID]?n.metadata[m.gb.TAXONOMY_ID]:i.id,i.allowCreate=void 0!==n.metadata[m.gb.ALLOW_CREATING]?n.metadata[m.gb.ALLOW_CREATING]:i.allowCreate))}}},{key:"updateChoiceFieldSettings",value:function updateChoiceFieldSettings(e,t,n,i,o){if(e===v.U.choice||e===v.U.choiceDropDown||e===v.U.choiceMultiple||e===v.U.taxonomyTypeChoice){var a=t;if(a.choices=[],n.anyOf&&n.anyOf.length&&n.anyOf[0].$ref){var r=n.anyOf[0].$ref.replace("#/definitions/",""),s=this.store.getDefinitionMetadata(r);s&&s.hasOwnProperty("enum")&&(a.choices=s.enum.map((function(e){return e.hasOwnProperty(S.VG)&&(e.Description=e[S.VG]),e.hasOwnProperty(S.lL)&&(e.Title=e[S.lL]),e})),a.emptyValues.push("0".repeat(a.choices.length))),this.overrideOptionNames(a,i),i&&i.metadata&&(a.showTitle=!i.metadata[m.gb.HIDE_TITLE]),e===v.U.choice&&(a.useDefaultValue=!0)}a.type=e,a.updateHasFieldset(o)}}},{key:"updateGuidFieldSettings",value:function updateGuidFieldSettings(e,t,n){e===v.U.shortText&&"uuid"===n.format&&(t.emptyValues.push(g.WP.DEFAULT_GUID),t.defaultValue=n[S.LP],t.markAsDirty=!0,t.useDefaultValue=!0)}},{key:"updateYesNoFieldSettings",value:function updateYesNoFieldSettings(e,t,n){var i=t;if(e===v.U.choiceYesNo){if(n&&n.metadata&&n.metadata.hasOwnProperty("OptionName")){var o=n.metadata.OptionName;i.showTitle=!0,i.optionName=o}else i.showTitle=!1;if(n&&n.metadata&&n.metadata.hasOwnProperty("InvertedValue")){var a=n.metadata.InvertedValue;i.isInverted=a}}}},{key:"updateParentSelectorSettings",value:function updateParentSelectorSettings(e,t,n){var i=e,o=t;if(t.properties.Parent){i.showAddToTopLevel=!1;var a=t.properties.Parent;o=this.store.getEntity(this.getEntityName(a))}var r=o.displayName,s=o.singularName;n&&(n.metadata[m.gb.SINGULAR_NAME]&&(s=n.metadata[m.gb.SINGULAR_NAME]),n.metadata[m.gb.PLURAL_NAME]&&(r=n.metadata[m.gb.PLURAL_NAME])),i.selectorNames.plural=r,i.selectorNames.singular=s,i.hierarchicalTaxaSettings=new u.W(o.singularName,!1),i.hierarchicalTaxaSettings.type=o.setName}},{key:"shouldHaveLargeTitle",value:function shouldHaveLargeTitle(e,t,n){if(!e)return!1;var i=e.properties[S.vh]===n,o=t[m.t9]===x.K_.TYPE,a=!e.hasLifecycle||e.setName===m.gl.PAGES;return i&&o&&a}},{key:"processFieldGroups",value:function processFieldGroups(e,t,n,i,a,r,s,l){var c,d=(0,o.Z)(this.metadataHandlers);try{for(d.s();!(c=d.n()).done;){var u=c.value;if(e.some((function(e){return e===t})))return!0;if(u.canProcess(i.typeFullName)){var f=u.processFieldGroup(t,n,i,a,r,s,l);if(f.forEach((function(t){return e.push(t)})),f.length)return!0}}}catch(e){d.e(e)}finally{d.f()}return!1}},{key:"getFieldTypesMap",value:function getFieldTypesMap(e,t,n,i){var o=this,a=new Map;return e.forEach((function(e){var r=t.find((function(t){return t.name===e})),s=o.getPropertyFieldType(n,n.properties[e],r,e,i);a.set(e,s)})),a}},{key:"resetMirrorMap",value:function resetMirrorMap(e){this.mirrorMap=JSON.parse(JSON.stringify(P)),e.setName!==f.ZP.TAXONOMIES_SET_NAME&&e.setName!==m.gl.FORMS&&e.setName!==f.ZP.HIERARCHY_TAXA&&e.setName!==f.ZP.FLAT_TAXA&&delete this.mirrorMap[d.E.NAME],e.setName===m.gl.FORMS&&(this.mirrorMap[d.E.NAME].prefix="sf_"),e.setName===m.gl.IMAGES&&(delete this.mirrorMap[d.E.URL_NAME],this.mirrorMap[d.E.URL_NAME]={key:d.E.TITLE,dynamicallyResolved:!1,type:v.U.urlName})}},{key:"mirrorMapSettings",value:function mirrorMapSettings(e,t,n){var i=e.key;if(e.dynamicallyResolved&&(i=n.properties[e.key]),(0,h.my)(t)){var o=t;o.mirroredFieldName=i,o.prefix=e.prefix}}},{key:"populateMirrorMap",value:function populateMirrorMap(e,t,n){var i=this.mirrorMap[n];if(i){var o=i.key;if(o===N){var a="MetaTitle",r=e[a];if(null==r&&e[p.Yw].toLowerCase()===m.gl.PAGES&&(r=e[a="HtmlTitle"]),null==r&&(a=i.fallback),(o=a)!==M)if(o===S.vh)i.key=a,i.dynamicallyResolved=!0;else"string"!==this.getPropertyType(r)||r.format||(i.key=a)}if(o===F){var s="MetaDescription",l=e.MetaDescription;if(null==l&&(o=i.fallback),o!==M)"string"!==this.getPropertyType(l)||l.format||(i.key=s,o===S.vh&&(i.dynamicallyResolved=!0))}if(o===M){var c=this.getFirstTextPropertyToMirror(e,t,n);c?i.key=c:delete this.mirrorMap[n]}}}},{key:"getFirstTextPropertyToMirror",value:function getFirstTextPropertyToMirror(e,t,n){for(var i=this,o=function _loop(o){var a=t[o];if(!a.isSection){if(a.name===n)return{v:void 0};var r=Object.keys(e).find((function(t){return t===a.name&&t!==e[S.vh]&&!P[t]}));if(r){var s=e[r];if("string"===i.getPropertyType(s)&&!s.format)return{v:r}}}},a=0;a0&&(t=t[0]),t}},{key:"tryGetChoiceTypes",value:function tryGetChoiceTypes(e,t){if(t){if(t.renderChoicesAs===v.r.dropDown)return v.U.choiceDropDown;if(t.renderChoicesAs===v.r.radioButtons)return v.U.choice;if(t.renderChoicesAs===v.r.checkBoxes)return v.U.choiceMultiple}if(e[m.t9]){if(e[m.t9].toLowerCase()===m.jz)return v.U.choice;if(e[m.t9].toLowerCase()===m.BQ)return v.U.choiceMultiple}}},{key:"getRef",value:function getRef(e){return e.items?e.items.$ref:e.anyOf?e.anyOf[0].$ref:null}},{key:"getEntityName",value:function getEntityName(e){var t=this.getRef(e);if(!t)return null;var n=t.replace("#/definitions/",g.WP.EMPTY_STRING);return this.store.getEntitySetName(n)}},{key:"tryGetBasicTypes",value:function tryGetBasicTypes(e){var t=this.getPropertyType(e),n=this.getRef(e);if(n&&(n===m.w_.IMAGE||n===m.w_.VIDEO||n===m.w_.DOCUMENT))return v.U.media;if(n&&n===m.kG.TAXONOMY)return v.U.taxonomyTypeChoice;if(e.$ref===m._t.ADRESS)return v.U.address;if("boolean"===t)return v.U.choiceYesNo;if("number"===t)return v.U.number;if(e.relationship&&n){if(n.startsWith(T.DYNAMIC_TYPES_MODEL))return v.U.relatedData;switch(n){case T.NEWS_ITEM:case T.EVENT:case T.BLOG_POST:case T.PAGE_NODE:return v.U.relatedData}}return null}},{key:"overrideRelatedMediaSettingsFromTweaks",value:function overrideRelatedMediaSettingsFromTweaks(e,t){t&&t.metadata&&(e.sourceLibraryId=t.metadata[m.AP.SOURCE_LIBRARY_ID_KEY],e.targetLibraryId=t.metadata[m.AP.TARGET_LIBRARY_ID_KEY],e.useOnlyUploadMode=t.metadata[m.AP.USE_ONLY_UPLOAD_MODE_KEY],e.useOnlySelectMode=t.metadata[m.AP.USE_ONLY_SELECT_MODE_KEY],e.selectButtonText=t.metadata[m.gb.SELECT_BUTTON_TEXT],e.canRelateDamAssets=t.metadata[m.AP.CAN_RELATE_DAM_ASSETS_KEY]),!e.useOnlyUploadMode||e.allowCreate&&!e.useOnlySelectMode||(e.readOnlyMode=!0)}},{key:"overrideOptionNames",value:function overrideOptionNames(e,t){if(t&&t.metadata&&t.metadata.hasOwnProperty(m.pL)){var n=t.metadata[m.pL];e.choices.forEach((function(e){var t=n.find((function(t){return t.Name===e.Name}));t&&(e.Name=t.Title)}))}}}]),MetadataParserService}();R.ctorParameters=function(){return[{type:A.l},{type:p.EY},{type:b.H},{type:Array,decorators:[{type:c.tBr,args:[w.a]}]}]},R=(0,l.gn)([(0,c.GSi)(),(0,l.w6)("design:paramtypes",[A.l,p.EY,b.H,Array])],R)},function(e,t,n){n.d(t,{W:function(){return f}});var i=n(5),o=n(4),a=n(27),r=n(12),s=n(8),l=n(10),c=n(226),d=n(197),u=n(227),f=function(e){(0,s.Z)(TaxonomySettings,e);var t=(0,l.Z)(TaxonomySettings);function TaxonomySettings(){var e;return(0,i.Z)(this,TaxonomySettings),(e=t.apply(this,arguments)).showMenuItems=!0,e.isParentSelection=!1,e.excludeParent=!0,e.skipInputSelection=!1,e}return(0,o.Z)(TaxonomySettings,[{key:"init",value:function init(e){(0,a.Z)((0,r.Z)(TaxonomySettings.prototype),"init",this).call(this,e),this.name=e[c.ZP.TAXONOMY_NAME],this.title=this.title?this.title:this.name,this.id=e[c.ZP.TAXONOMY_ID],this.type=e[c.ZP.TAXONOMY_TYPE],this.defaultValue=[],this.displayMode=u.B.NORMAL,this.changeOnFocus=!0}}]),TaxonomySettings}(d.P1)},function(e,t,n){n.d(t,{MS:function(){return i},RW:function(){return o}});t.ZP={TAXONOMY_NAME:"Telerik.Sitefinity.V1.Taxonomy",TAXONOMY_ID:"Telerik.Sitefinity.V1.TaxonomyId",TAXONOMY_TYPE:"Telerik.Sitefinity.V1.TaxonomyUrl",TAXONOMY_ALLOW_MULTIPLE:"Telerik.Sitefinity.V1.Validation.AllowMultiple",TAXONOMIES_SET_NAME:"taxonomies",FLAT_TAXA:"flat-taxa",HIERARCHY_TAXA:"hierarchy-taxa",FLAT_TAXON_FULL_NAME:"Telerik.Sitefinity.Taxonomies.Model.FlatTaxon",HIERARCHICAL_TAXON_FULL_NAME:"Telerik.Sitefinity.Taxonomies.Model.HierarchicalTaxon",TAXONOMY_DEFAULT_SORT:"Title asc"};var i={APPLIED_TO:"APPLIED TO",SHARED_WITH_NAME:"SharedWith",SHARED_WITH_TITLE:"Used in sites",TAXA_TITLE:"NAME",URL_NAME:"URL",ACTIONS:"ACTIONS"},o={TAGGED:"tagged",CATEGORIZED:"categorized"}},function(e,t,n){n.d(t,{B:function(){return i},f:function(){return o}});var i={NORMAL:"normal",INPUT:"input"},o={TEXT_FIELD_TYPE:"Telerik.Sitefinity.V1.FieldType"}},function(e,t,n){n.d(t,{U:function(){return i},r:function(){return o}});var i=Object.freeze({media:"sf-media",mediaData:"sf-media-data",shortText:"sf-short-text",password:"sf-password-short-text",shortTextDefault:"sf-short-text-default",longText:"sf-long-text",html:"sf-wrapper-html",taxa:"sf-taxa",urlName:"sf-url-name",number:"sf-number",additionalUrls:"sf-additional-urls",choice:"sf-choice",taxonomyTypeChoice:"sf-choice-taxonomy-type",choiceReadonly:"sf-choice-readOnly",choiceDropDown:"sf-dropdown-choice",choiceDropDownList:"sf-dropdown-list-choice",choiceMultiple:"sf-multiple-choice",choiceMultipleReadonly:"sf-multiple-choice-readonly",choiceYesNo:"sf-yes-no-choice",choiceYesNoReadonly:"sf-yes-no-choice-readOnly",choiceList:"sf-choice-list",choiceListMultiple:"sf-choice-list-multiple",choiceParameterizedSelector:"sf-parameterized-choice-selector",choiceChip:"sf-chip-choice",choiceServiceUrl:"sf-choice-service-url",switch:"sf-switch-wrapper",dateTime:"sf-date-time",date:"sf-date-time",relatedData:"sf-related-data",dropdownSelector:"sf-dropdown-selector",textArea:"sf-text-area",linkInsert:"sf-link-insert",address:"sf-address",recurringEvent:"sf-recurring-event",timezones:"sf-timezones",parentDropdownSelector:"sf-parent-dropdown-selector",eventTimeCompositeField:"sf-event-time-composite-field",color:"sf-color-picker",hidden:"sf-hidden",siteSync:"sf-site-sync-item-info",navigationOptionsCompositeField:"sf-navigation-options-composite-field",localizationStrategy:"sf-localization-selector",searchSiteCompositeField:"sf-search-site-composite-field",advancedOptionsCompositeField:"sf-advanced-optins",arrayOfGUIDs:"sf-array-of-guids",urlNameStructure:"sf-url-name-structure",read:"sf-read-only",complex:"sf-complex",multipleChoiceChip:"sf-multiple-choice-chip",customSize:"sf-edit-image-thumbnail",thumbnail:"sf-thumbnail-selector",fileList:"sf-file-list",content:"sf-content-selector",contentAll:"sf-filtercontent-selector",videoThumbnail:"sf-video-thumbnail",itemList:"sf-item-list",templateThumbnail:"sf-template-thumbnail",listSettings:"sf-list-settings",resultsListSettings:"sf-extended-list-settings",listFieldMapping:"sf-field-mappings",listFieldMappingCss:"sf-field-mappings-css",viewSelector:"sf-view-selector",range:"sf-range",attributes:"sf-attributes",fileTypes:"sf-file-types"}),o=Object.freeze({checkBoxes:0,dropDown:1,listBox:2,radioButtons:3,singleCheckBox:4,horizontalRadioButtons:5})},function(e,t,n){n.d(t,{H:function(){return d},W:function(){return c}});var i=n(5),o=n(4),a=n(65),r=n(7),s=n(230),l=n(228),c="Telerik.Sitefinity.V1.IsHtml",d=function(){function CompositeFieldsProvider(e){(0,i.Z)(this,CompositeFieldsProvider),this.providers=e,this.providers=this.providers.sort((function(e,t){return e instanceof s.U?1:t instanceof s.U?-1:0})),this.defaultMappings=new Map}return(0,o.Z)(CompositeFieldsProvider,[{key:"getFieldRegistration",value:function getFieldRegistration(e,t){if(t&&t.hasOwnProperty("properties")&&(t=t.properties[e.fieldName]),null!=this.providers)for(var n=0;n\n\n'},function(e,t,n){n.d(t,{A:function(){return createValueAccessor},F:function(){return E}});var i=n(5),o=n(4),a=n(14),r=n(8),s=n(10),l=n(65),c=n(199),d=n(236),u=n(7),f=n(67),p=n(240),A=n(101),m=n(120),g=n(104),h=n(66),v=n(241),b=n(77),y=n(222);function createValueAccessor(e){return{provide:c.JU,useExisting:(0,u.Gpc)((function(){return e})),multi:!0}}var E=function(e){(0,r.Z)(FieldBase,e);var t=(0,s.Z)(FieldBase);function FieldBase(){var e;return(0,i.Z)(this,FieldBase),(e=t.call(this))._status$=new A.X({type:p.i.Done}),e._hidden$=new A.X(!1),e._isFocused$=new m.t(1),e._value=null,e.outputTemplateCallback=new m.t(1),e.onTouchedCallback=function(){},e.onChangeCallback=function(){},e.validation=new d.Z((0,a.Z)(e)),e}return(0,o.Z)(FieldBase,[{key:"settings",get:function get(){return this._settings},set:function set(e){this._settings=e}},{key:"ngOnInit",value:function ngOnInit(){if(this.context&&this.context.dataItem&&this.context.model){var e=this.context.model.dataFieldNames[0],t=this.context.dataItem.data[e];this.writeValue(t)}}},{key:"value",get:function get(){return this.getValue()},set:function set(e){this.writeValue(e)}},{key:"focus$",get:function get(){return this._isFocused$.asObservable()}},{key:"status$",get:function get(){return this._status$}},{key:"hidden$",get:function get(){return this._hidden$.asObservable()}},{key:"setHidden",value:function setHidden(e){this._hidden$.next(e)}},{key:"emitStatus",value:function emitStatus(e){this._status$.next(e)}},{key:"onFocus",value:function onFocus(){this._isFocused$.next(!0)}},{key:"onBlur",value:function onBlur(){this._isFocused$.next(!1)}},{key:"processErrors",value:function processErrors(e){var t=(0,h.kI)(e),n=[];if(t&&(!0===t.required||t["sfc-required"])){t.required&&delete t.required,t["sfc-required"]&&delete t["sfc-required"];var i=this.getRequiredErrorMessage();n=n.concat(i)}var o=this.validation.getErrorMessage(t);return o&&(n=n.concat(o)),n}},{key:"getRequiredErrorMessage",value:function getRequiredErrorMessage(){return this.validation.getErrorMessage({required:!0})}},{key:"getWarnings",value:function getWarnings(){return[]}},{key:"getValue",value:function getValue(){return this._value instanceof v.e?this._value.asyncValue:this._value}},{key:"postProcessValue",value:function postProcessValue(e){return e}},{key:"writeValue",value:function writeValue(e){var t=this._value;t instanceof v.e&&(t=t.asyncValue);var n=e;n instanceof v.e&&(n=n.asyncValue),n!==t&&(this._value=e,this.onChangeCallback&&this.onChangeCallback(e))}},{key:"validate",value:function validate(){return!0}},{key:"registerOnChange",value:function registerOnChange(e){this.onChangeCallback=e}},{key:"registerOnTouched",value:function registerOnTouched(e){this.onTouchedCallback=e}},{key:"commitValue",value:function commitValue(){}},{key:"hasEmptyValue",value:function hasEmptyValue(){return!this.value||"string"==typeof this.value&&this.value===f.WP.EMPTY_STRING||(this.value instanceof Object&&0===Object.keys(this.value).length?!(this.value instanceof Date):this.value instanceof Array&&0===this.value.length)}},{key:"getNoPermissionMessage",value:function getNoPermissionMessage(e){switch(e){case b.w_.IMAGE:e=y.A.image.plural;break;case b.w_.VIDEO:e=y.A.video.plural;break;case b.w_.DOCUMENT:e=y.A.document.plural}return"Ask your administrator for view permissions for ".concat(e)}},{key:"registerAllowDialogOpenCallback",value:function registerAllowDialogOpenCallback(e){this.allowDialogOpenCallback=e}},{key:"invokeOutputTemplateCallback",value:function invokeOutputTemplateCallback(e){this.outputTemplateCallback.next(e)}},{key:"invokeAllowDialogOpenCallback",value:function invokeAllowDialogOpenCallback(){return this.allowDialogOpenCallback?this.allowDialogOpenCallback():(0,g.of)(!0)}}]),FieldBase}(n(242).zu);E.ctorParameters=function(){return[]},E.propDecorators={context:[{type:u.IIB}],settings:[{type:u.IIB}]},E=(0,l.gn)([(0,u.Xek)(),(0,l.w6)("design:paramtypes",[])],E)},function(e,t,n){n.d(t,{Z:function(){return u}});var i=n(5),o=n(4),a=n(200),r=n(202),s=n(67),l=n(201),c=n(237),d=n(238),u=function(){function FieldValidation(e){(0,i.Z)(this,FieldValidation),this.ERROR_MESSAGE_MAP=new Map,this.context=e}return(0,o.Z)(FieldValidation,[{key:"getErrorMessage",value:function getErrorMessage(e){var t=this;return e?Object.keys(e).map((function(n){return t.buildMessageForErrorType(n,e[n])})):null}},{key:"buildErrorMessage",value:function buildErrorMessage(e,t){var n;switch(e){case a.v.REQUIRED:n=this.buildRequiredMessage(t);break;case a.v.MIN_LENGTH:n=FieldValidation.getMinLengthMessage(t.requiredLength);break;case a.v.MAX_LENGTH:n=FieldValidation.getMaxLengthMessage(t.requiredLength);break;case a.v.MIN_VALUE:n=FieldValidation.getMinValueMessage(t.requiredMinValue);break;case a.v.MAX_VALUE:n=FieldValidation.getMaxValueMessage(t.requiredMaxValue);break;case a.v.VALUE_RANGE:n=FieldValidation.getValueRangeMessage(t.maxValue,t.minValue);break;case a.v.DIGITS_LIMIT:n=FieldValidation.getDigitsLimitMessage(t.requiredLength);break;case a.v.MAX_INTEGER:n=FieldValidation.getMaxIntegerMessage(t.maxIntegerValue);break;case a.v.PATTERN:n=FieldValidation.getPatternMessage(this.context,t);break;case l.C+l.r.URL_EXIST:n=FieldValidation.getUrlExistsMessage();break;case l.C+l.r.URL_EXIST_SPECIFIC:n=FieldValidation.getUrlExistsMessageSpecific();break;case l.C+l.r.URL_EXIST_MANY:n=FieldValidation.getUrlExistsMessageMany();break;case l.C+l.r.TAXONOMY_NAME_DUPLICATE:n=FieldValidation.getClassificationNameDuplicate();break;case l.C+l.r.TITLE_EXISTS:n=FieldValidation.getTemplateTitleDuplicate();break;case l.C+l.r.NAME_EXISTS:n=FieldValidation.getTemplateNameDuplicate();break;case l.r.INVALID_NUMBER:n=FieldValidation.getInvalidNumberMessage();break;case r.VJ:n=FieldValidation.getExpirationDateMessage();break;case l.r.UPLOAD_FAILED:n=s.WP.EMPTY_STRING;break;case r.yl:n=FieldValidation.getMissingPublishUnpublishValueMessage();break;case d.m:n=FieldValidation.getEventEndTimeMessage();break;case a.v.MULTILINE_EMAILS:n=FieldValidation.getInvalidMultipleEmailsMessage();break;default:n=FieldValidation.getUnknownErrorMessage(e,t)}return this.context.settings&&this.context.settings.customErrorMsgs||e===a.v.PATTERN||e===a.v.CUSTOM||this.ERROR_MESSAGE_MAP.set(e,n),this.context.settings&&this.context.settings.customErrorMsgs&&this.context.settings.customErrorMsgs[e]&&(n=this.context.settings.customErrorMsgs[e]),n}},{key:"buildMessageForErrorType",value:function buildMessageForErrorType(e,t){if(this.ERROR_MESSAGE_MAP.has(e)){var n=this.ERROR_MESSAGE_MAP.get(e);return n&&t&&t.message&&n!==t.message?this.buildErrorMessage(e,t):n}return this.buildErrorMessage(e,t)}},{key:"buildRequiredMessage",value:function buildRequiredMessage(e){return e.message?e.message:FieldValidation.getRequiredMessage(this.context.settings.friendlyTitle||this.context.settings.title)}}],[{key:"getEventEndTimeMessage",value:function getEventEndTimeMessage(){return"Event end date must not precede event start date"}},{key:"getRequiredMessage",value:function getRequiredMessage(e){return"Enter ".concat(e)}},{key:"getMinLengthMessage",value:function getMinLengthMessage(e){return"Enter at least ".concat(e," characters")}},{key:"getMaxLengthMessage",value:function getMaxLengthMessage(e){return"Your text must be less than ".concat(e," characters")}},{key:"getMinValueMessage",value:function getMinValueMessage(e){return"Enter a value above ".concat(e)}},{key:"getMaxValueMessage",value:function getMaxValueMessage(e){return"Enter a value below ".concat(e)}},{key:"getDigitsLimitMessage",value:function getDigitsLimitMessage(e){return"Your number must be less than ".concat(e," digits")}},{key:"getMaxIntegerMessage",value:function getMaxIntegerMessage(e){return"Enter a number below ".concat(e)}},{key:"getValueRangeMessage",value:function getValueRangeMessage(e,t){return"Enter a number within the range of ".concat(t," and ").concat(e)}},{key:"getPatternMessage",value:function getPatternMessage(e,t){switch(t.requiredPattern?t.requiredPattern:"custom"){case c.qH:return"Enter an integer number";case(0,c.yy)(e.settings.decimalPlaces):return"Enter a number with up to ".concat(e.settings.decimalPlaces," digits after the decimal point");default:return e.settings.patternValidationErrorMessage?e.settings.patternValidationErrorMessage:e.settings.title?"Enter valid ".concat(e.settings.title):s.WP.EMPTY_STRING}}},{key:"getUrlExistsMessage",value:function getUrlExistsMessage(){return"The URL already exists"}},{key:"getUrlExistsMessageSpecific",value:function getUrlExistsMessageSpecific(){return"The URL marked in red already exists"}},{key:"getUrlExistsMessageMany",value:function getUrlExistsMessageMany(){return"The URLs marked in red already exist"}},{key:"getUnknownErrorMessage",value:function getUnknownErrorMessage(e,t){if(t){for(var n=0,i=["message","Message"];n0?A(e[f.Hu]):p,n.push(c.kI.pattern(t)),n.push(u.L[u.v.DIGITS_LIMIT](16)),n.push(u.L[u.v.MAX_INTEGER]()),n}}]),NumberSettings}(d.P1)},function(e,t,n){n.d(t,{e:function(){return l},m:function(){return s}});var i=n(25),o=n(5),a=n(4),r=n(239),s="invalidEventEnd",l=function(){function EventsDateTimeValidator(){(0,o.Z)(this,EventsDateTimeValidator)}return(0,a.Z)(EventsDateTimeValidator,null,[{key:"validate",value:function validate(e){var t=e.controls[r.hj.EVENT_START],n=e.controls[r.hj.EVENT_END];if(t&&n){var o=t.value,a=n.value;if(o&&a){var l=new Date(o),c=new Date(a),d=e.controls[r.hj.ALL_DAY_EVENT];if(d&&d.value&&(l.setHours(0,0,0,0),c.setHours(0,0,0,0)),c.getTime()0&&(this.hint=this.getTooltip())}},{key:"generateCssClass",value:function generateCssClass(){var e="sf-input -title";return this.settings.look&&(e+=" -"+this.settings.look.split(" ").join(" -")),e}},{key:"getTooltip",value:function getTooltip(){var e=this.settings.tooltipModels,t=e.has(p.Eu)?p.Eu:this.getValue();return e.get(t)}}]),ShortTextDefaultComponent}(u.V);A=i=(0,l.gn)([(0,d.wA2)({selector:"sf-short-text-default",template:c,providers:[(0,f.A)(i)]})],A)},function(e){e.exports='\n\n'},function(e,t,n){n.d(t,{E:function(){return c}});var i=n(4),o=n(5),a=n(8),r=n(10),s=n(65),l=n(7),c=function(e){(0,a.Z)(ShortTextGridComponent,e);var t=(0,r.Z)(ShortTextGridComponent);function ShortTextGridComponent(){return(0,o.Z)(this,ShortTextGridComponent),t.apply(this,arguments)}return(0,i.Z)(ShortTextGridComponent)}(n(247).m);c=(0,s.gn)([(0,l.wA2)({selector:"sf-shorttext-grid",template:'
    {{value}}
    '})],c)},function(e,t,n){n.d(t,{m:function(){return c}});var i=n(4),o=n(5),a=n(8),r=n(10),s=n(65),l=n(7),c=function(e){(0,a.Z)(ReadComponent,e);var t=(0,r.Z)(ReadComponent);function ReadComponent(){return(0,o.Z)(this,ReadComponent),t.apply(this,arguments)}return(0,i.Z)(ReadComponent)}(n(235).F);c=(0,s.gn)([(0,l.wA2)({selector:"sf-read-only",template:'
    {{value}}
    '})],c)},function(e,t,n){n.d(t,{W:function(){return p}});var i=n(5),o=n(4),a=n(27),r=n(12),s=n(8),l=n(10),c=n(195),d=n(78),u=n(66),f=d.hH+".CustomStructureRegex",p=function(e){(0,s.Z)(StructureUrlNameSettings,e);var t=(0,l.Z)(StructureUrlNameSettings);function StructureUrlNameSettings(){return(0,i.Z)(this,StructureUrlNameSettings),t.apply(this,arguments)}return(0,o.Z)(StructureUrlNameSettings,[{key:"init",value:function init(e){(0,a.Z)((0,r.Z)(StructureUrlNameSettings.prototype),"init",this).call(this,e);var t=e[d.uX];t=u.tT.buildRegex(t),this.regex=new RegExp(t);var n=e[f];n=u.tT.buildRegex(n),this.customStructureRegex=new RegExp(n)}},{key:"getValidatorDictionary",value:function getValidatorDictionary(e){var t=(0,a.Z)((0,r.Z)(StructureUrlNameSettings.prototype),"getValidatorDictionary",this).call(this,e);return delete t[d.uX],t}}]),StructureUrlNameSettings}(c.ke)},,function(e){e.exports='\n \n \n \n \n \n {{item.title}}\n \n\n'},function(e){e.exports='
    \n\n \n \n \n \n \n \n\n\n \n \n \n\n \n \n \n\n
    \n\n\n \n {{chip[displayField]}}\n (not translated)\n ({{chip.additionalInfo}})\n \n\n\n \n \n \n\n\n
    \n \n \n
    \n
    \n\n \n\n\n \n
    \n
    \n Recent\n
    \n
    \n No results found\n
    \n \n \n
    \n
    \n
    \n'},function(e){e.exports='
    \n \n
    \n'},function(e){e.exports="@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root .sf-popup {\n position: relative;\n}\n:root .sf-popup__content {\n position: absolute;\n width: 100%;\n font-size: var(--font-size-base);\n text-align: left;\n z-index: 10000;\n}"},function(e){e.exports='\n {{item}}
    \n
    \n'},,function(e){e.exports='
    \n\n {{isCollapsed ? expandButtonText : collapseButtonText}}\n\n'},function(e){e.exports='@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.-sf-contrast .k-widget, .k-popup, .k-animation-container {\n --color-h2: #696969;\n --color-h5: #696969;\n --color-error: #d40808;\n --color-success: #0E874C;\n --link-secondary-color: #696969;\n --link-side-secondary-color-active: #000;\n --link-side-secondary-color-hover: #000;\n --link-side-secondary-color: #696969;\n --link-color: #005FCC;\n --button-border-color: #cbcbcb;\n --button-interaction-border-color: #cbcbcb;\n --button-disabled-border-color: #f0f0f0;\n --button-disabled-color: #e4e4e4;\n --action-button-border-color: #0E874C;\n --action-button-background-color: #0E874C;\n --action-button-interaction-border-color: #006e33;\n --action-button-interaction-background-color: #006e33;\n --action-button-disabled-border-color: #b7dbca;\n --action-button-disabled-background-color: #b7dbca;\n --delete-button-border-color: #d40808;\n --delete-button-background-color: #d40808;\n --delete-button-interaction-border-color: #bb0000;\n --delete-button-interaction-background-color: #bb0000;\n --delete-button-disabled-border-color: #f2b5b5;\n --delete-button-disabled-background-color: #f2b5b5;\n --date-time-icon-border-color: #cbcbcb;\n --date-time-icon-color: #696969;\n --date-time-content-color: #696969;\n --default-icon-color: #696969;\n --icon-lighter-color: #cbcbcb;\n --icon-light-color: #cbcbcb;\n --icon-illustrative-font-color: #cbcbcb;\n --icon-positive-color: #0E874C;\n --icon-badge-add-color: #333;\n --icon-badge-add-bg-color: #fff;\n --icon-badge-add-border-color: #cbcbcb;\n --status-icon-color-published: #0E874C;\n --status-icon-color-restricted: #d40808;\n --status-bg-color-default: #FF8151;\n --status-icon-color-system: #cbcbcb;\n --status-icon-color-scheduled: #005FCC;\n --badge-white-border-color: #cbcbcb;\n --badge-color-bg-positive: #0E874C;\n --badge-color-bg-negative: #d40808;\n --badge-add-variation-bg-color: #fff;\n --badge-add-variation-border-color: #cbcbcb;\n --badge-add-variation-hover: #e4e4e4;\n --badge-add-variation-border-hover: #cbcbcb;\n --badge-add-variation-color: #333;\n --badge-edit-variation-bg-color: #005FCC;\n --badge-edit-variation-hover: #004faa;\n --badge-color: #333;\n --secondary-text-color: #696969;\n --input-placeholder-color: #696969;\n --input-title-placeholder-color: #909090;\n --input-border: #696969;\n --input-border-hover: #696969;\n --input-char-counter-success-color: #0E874C;\n --input-char-counter-error-color: #d40808;\n --select-border-color: #696969;\n --select-arrow-color: #696969;\n --checkbox-checked-border: #696969;\n --checkbox-border: #696969;\n --checkbox-border-hover: #696969;\n --dropdown-border: #cbcbcb;\n --dropdown-item-counter-neutral: #696969;\n --image-empty-border: #696969;\n --not-translated-image-label-bg: #696969;\n --input-box-shadow-hover: #696969;\n --tree-list-expander-color: #696969;\n}\nbody.-sf-contrast {\n --sf-footer-color: #696969;\n --sf-topbar-color: #696969;\n --sf-h5-color: #696969;\n --sf-navigation-border-color: #cbcbcb;\n --sf-user-info-border-color: #cbcbcb;\n --sf-navigation-caret: #666;\n --sf-live-link: #0E874C;\n --sf-green-main: #0E874C;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.k-widget .sf-modal-window, .k-popup .sf-modal-window, .k-animation-container .sf-modal-window {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n}\n.k-widget .sf-modal-window.-prompt, .k-popup .sf-modal-window.-prompt, .k-animation-container .sf-modal-window.-prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n flex-wrap: wrap;\n}\n.k-widget .sf-modal-window.-no-selection::after, .k-popup .sf-modal-window.-no-selection::after, .k-animation-container .sf-modal-window.-no-selection::after {\n display: block;\n content: " ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: #DCECF5;\n z-index: 1;\n}\n.k-widget .sf-modal-window:not(.-prompt), .k-popup .sf-modal-window:not(.-prompt), .k-animation-container .sf-modal-window:not(.-prompt) {\n padding-bottom: 66px;\n}\n.k-widget .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-prompt) .sf-modal-window__content {\n padding-top: 100px;\n}\n.k-widget .sf-modal-window__head-buttons, .k-popup .sf-modal-window__head-buttons, .k-animation-container .sf-modal-window__head-buttons {\n position: fixed;\n top: 8px;\n right: 15px;\n z-index: 1000000;\n}\n.k-widget .sf-modal-window__top-toolbar, .k-popup .sf-modal-window__top-toolbar, .k-animation-container .sf-modal-window__top-toolbar {\n z-index: 10000000;\n}\n.k-widget .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content {\n padding-left: 50px;\n padding-right: 50px;\n}\n.k-widget .sf-modal-window__buttons, .k-popup .sf-modal-window__buttons, .k-animation-container .sf-modal-window__buttons {\n background-color: #fff;\n}\n.k-widget .sf-modal-window__buttons.-border-top, .k-popup .sf-modal-window__buttons.-border-top, .k-animation-container .sf-modal-window__buttons.-border-top {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window__buttons.-bottom, .k-popup .sf-modal-window__buttons.-bottom, .k-animation-container .sf-modal-window__buttons.-bottom {\n padding-top: 15px;\n padding-bottom: 15px;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-popup .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-animation-container .sf-modal-window.-no-padding-top .sf-modal-window__content {\n padding-top: 0;\n}\n.k-widget .sf-modal-window.-narrow .sf-modal-window__content, .k-popup .sf-modal-window.-narrow .sf-modal-window__content, .k-animation-container .sf-modal-window.-narrow .sf-modal-window__content {\n width: 850px;\n margin: 0 auto;\n}\n.k-widget .sf-modal-window.-preview, .k-popup .sf-modal-window.-preview, .k-animation-container .sf-modal-window.-preview {\n padding-bottom: 0;\n}\n.k-widget .sf-modal-window.-preview .sf-modal-window__content, .k-popup .sf-modal-window.-preview .sf-modal-window__content, .k-animation-container .sf-modal-window.-preview .sf-modal-window__content {\n background-color: #f5f5f5;\n padding-top: 46px;\n min-height: 100vh;\n}\n.k-widget .sf-modal-window__content, .k-popup .sf-modal-window__content, .k-animation-container .sf-modal-window__content {\n background-color: #fff;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.k-widget, .k-popup, .k-animation-container {\n --date-time-icon-border-color: #e4e4e4;\n --date-time-icon-color: #777;\n --date-time-content-color: #656565;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-border-color: #e4e4e4;\n}\nbody {\n --sf-footer-color: #ccc;\n --sf-topbar-color: #999;\n --sf-h5-color: #999;\n --sf-navigation-border-color: #e5e5e5;\n --sf-navigation-caret: #ccc;\n --sf-user-info-border-color: #e4e4e4;\n --sf-live-link: #4cb861;\n --sf-green-main: #38ab63;\n}\n.k-widget, .k-popup, .k-animation-container {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n.k-widget, .k-popup, .k-animation-container {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.8rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n.k-widget, .k-popup, .k-animation-container {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-arrow-color: #777;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-box-shadow-hover: #e4e4e4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n.k-widget, .k-popup, .k-animation-container {\n --secondary-text-color: #999;\n}\n.k-widget, .k-popup, .k-animation-container {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n.k-widget, .k-popup, .k-animation-container {\n --tree-list-expander-color: #777;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.sf-tabs {\n display: flex;\n justify-content: center;\n}\n.sf-tabs.-large {\n font-size: var(--font-size-lg);\n}\n.sf-tabs__item {\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n}\n.sf-tabs__item.-selected {\n padding-bottom: 5px;\n}\n.sf-tabs__item.-selected, .sf-tabs__item.-selected:hover, .sf-tabs__item.-selected:active, .sf-tabs__item.-selected:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\n.sf-tabs__item.-selected .sf-button.-link {\n color: #333;\n}\n.sf-tabs__badge {\n position: absolute;\n top: 0;\n right: -27px;\n font-size: var(--font-size-base);\n}\n/*\n Default Tabstrip\n\n `.sf-tabs`\n\n Markup:\n \n\n Styleguide: Tabstrip.default\n */\n/*\n Large\n\n `.sf-tabs.-large`\n\n Markup:\n \n\n Styleguide: Tabstrip.large\n */\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\nhtml .k-editable-area,\nhtml .k-editor {\n padding: 0;\n border: 0;\n}\nhtml .k-editor {\n display: block;\n overflow-y: hidden;\n min-height: 30px;\n background-color: transparent;\n color: #333;\n}\nhtml .k-editor:hover {\n box-shadow: 0 0 0 1px var(--input-box-shadow-hover);\n}\nhtml .k-editor:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-editor ul, html .k-editor ol {\n padding-left: 40px;\n}\nhtml .k-editor pre {\n white-space: pre-wrap;\n}\nhtml .k-editor-toolbar .k-widget.k-default > .k-select,\nhtml .k-editor-toolbar .k-widget.k-focus > .k-select,\nhtml .k-editor-toolbar .k-widget.k-hover > .k-select,\nhtml .k-editor-toolbar .k-widget.k-active > .k-select {\n background: transparent;\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-horizontal-rule:before,\nhtml .k-editor-toolbar .k-icon.k-i-horizontal-rule:before {\n content: "\\e623";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-embed:before,\nhtml .k-editor-toolbar .k-icon.k-i-embed:before {\n content: "\\e65a";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-insert-document:before,\nhtml .k-editor-toolbar .k-icon.k-i-insert-document:before {\n content: "\\e907";\n}\nhtml .k-editor-overflow-popup .k-button {\n width: 100%;\n}\nhtml .k-editor-overflow-popup .k-button:focus, html .k-editor-overflow-popup .k-button.k-state-focused {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .editorToolbarWindow.k-window-content {\n padding: 0 !important;\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editortoolbar-dragHandle {\n display: none !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless {\n position: fixed !important;\n top: 47px !important;\n left: 0 !important;\n right: 0 !important;\n width: 100% !important;\n height: 46px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #eee;\n z-index: 1000 !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless > .k-window-content {\n padding: 0;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor) {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor).k-active {\n border-top: 0;\n border-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor) .k-input {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar {\n display: flex;\n justify-content: center;\n width: 100%;\n height: 46px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar.k-toolbar {\n gap: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools .k-overflow-anchor {\n position: static;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group {\n padding: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group:first-child {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group > .k-tool:first-of-type:not(.k-state-disabled) {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group .k-dropdown-wrap .k-select {\n padding-top: 0;\n padding-bottom: 0;\n min-width: 34px;\n min-width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool {\n margin-right: -1px;\n padding-top: 0;\n padding-bottom: 0;\n border-right: 0;\n border-bottom: 0;\n border-top: 0;\n width: auto;\n height: 100%;\n text-align: center;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-input {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-select {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown .k-dropdown {\n min-width: 122px !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown {\n border: 0;\n height: 100%;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown .k-picker.k-focus {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown.k-hover {\n color: #333;\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown.k-focus {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown .k-input {\n padding: 4px 8px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown > .k-i-close {\n width: 16px;\n top: 0;\n right: 32px;\n transform: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown > .k-i-close::before {\n width: 16px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon {\n padding: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon:hover {\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-selected-color {\n position: absolute;\n left: 9px;\n bottom: 5px;\n margin-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-picker-wrap {\n background-image: none;\n border: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button {\n border-left: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-hover:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-hover:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-hover:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-active:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-active:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-active:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-selected:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-selected:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-selected:active {\n border-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::before {\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::after {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-selected .k-icon,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-selected .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-selected .k-icon::after,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::before,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::after {\n background-color: #e4e4e4;\n border-radius: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon {\n height: 100%;\n font-size: var(--icon-size-m);\n line-height: 46px;\n color: #777;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon:hover {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before {\n width: 24px;\n height: 25px;\n padding: 5px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-icon::after {\n height: 1.4em;\n line-height: 1.5;\n box-sizing: content-box;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon.k-i-html {\n position: fixed;\n top: 47px;\n right: 0;\n height: 46px;\n pointer-events: auto !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input):not(.k-picker) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input):not(.k-picker) .k-icon:before {\n margin-left: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input):not(.k-picker) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input):not(.k-picker) .k-icon:before {\n margin-right: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end:not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 54px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end .k-icon.k-i-html {\n border-left: 1px solid #e4e4e4;\n}\nhtml div.k-editor-toolbar,\nhtml [title="Table Wizard"] {\n display: none;\n}\nhtml .k-button-group .k-state-disabled {\n display: none;\n}\nhtml .k-overflow-tools {\n position: static;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) {\n border: 1px solid #e4e4e4;\n box-shadow: 0 3px 5px #ededee;\n background-clip: border-box;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-list-content .k-list-item:not(.k-overflow-tool-group),\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n padding: 5px 10px;\n border: 0;\n border-top: 1px solid #e4e4e4;\n white-space: nowrap;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-list-content .k-list-item:not(.k-overflow-tool-group).k-focus, html .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-list-content .k-list-item:not(.k-overflow-tool-group).k-selected, html .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-list-content .k-list-item:not(.k-overflow-tool-group).k-hover,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-focus,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-selected,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-hover {\n color: #333;\n background-color: #f5f5f5;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-list-content .k-list-item:not(.k-overflow-tool-group):focus,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button:focus {\n outline: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-list-content .k-list-item:not(.k-overflow-tool-group) .k-icon:after,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-icon:after {\n margin-top: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-list-content .k-list-item:not(.k-overflow-tool-group).k-focus,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-focus {\n color: #333;\n box-shadow: none;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n color: #333;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-tool-text {\n margin-left: 5px;\n vertical-align: middle;\n}\nhtml .k-ct-popup .k-ct-cell {\n pointer-events: all;\n border-color: #ccc;\n}\nhtml .k-ct-popup .k-ct-cell.k-state-selected {\n background-color: #DCECF5;\n}\nhtml .k-editor-inline {\n padding: 3px;\n border: 0;\n font-size: inherit;\n line-height: 1.5;\n}\nhtml .k-editor-inline:hover {\n cursor: text;\n}\nhtml .k-editor-inline:hover, html .k-editor-inline.k-active {\n border: 0;\n background: none;\n}\nhtml .k-editor-inline.-read-only.-in-list {\n display: inline;\n margin: 0;\n padding: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list:after {\n display: none;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button {\n display: inline;\n position: static;\n margin-top: 0;\n margin-left: 0;\n margin-right: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button .sf-expand-button__content {\n position: static;\n}\n.sf-main html .k-editor-inline.-read-only a,\nhtml .k-editor-inline.-read-only [data-sf-ec-immutable] {\n pointer-events: none;\n cursor: pointer;\n}\nhtml .k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\nhtml .k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\nhtml .k-editor-inline a,\nhtml .k-editor-inline img,\nhtml .k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\nhtml .k-editor-inline a.-align-left, html .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\nhtml .k-editor-inline a.-align-left,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\nhtml .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\nhtml .k-editor-inline .k-table-resize-handle-wrapper {\n width: 10px;\n height: 10px;\n}\nhtml .k-editor-inline table,\nhtml .k-editor-inline table td {\n border: 1px solid #ccc;\n}\nhtml .k-editor-inline img {\n max-width: 100%;\n}\nhtml .k-editor-inline .sf-media {\n display: inline-block;\n}\nhtml .k-editor-inline ol {\n list-style: decimal;\n}\nhtml .k-editor-inline ul {\n list-style: disc;\n}\nhtml .k-window {\n font-family: "Open Sans", sans-serif;\n max-width: 100vw;\n max-height: 100vh;\n border-width: 1px;\n}\nhtml .k-window, html .k-window.k-state-focused {\n box-shadow: 0 3px 5px #ededee;\n}\nhtml .k-window .k-widget,\nhtml .k-window .k-tabstrip > .k-content {\n color: #333;\n}\nhtml .k-window .k-window-content {\n overflow: visible;\n}\nhtml .k-window .k-window-titlebar {\n border-bottom: 0;\n text-align: center;\n}\nhtml .k-window .k-window-action {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n overflow: hidden;\n border: 1px solid #e4e4e4 !important;\n color: #777;\n}\nhtml .k-window .k-window-action.k-hover {\n color: #333;\n background-color: #e4e4e4;\n}\nhtml .k-window .k-window-action:active::before, html .k-window .k-window-action:active::after, html .k-window .k-window-action:focus::before, html .k-window .k-window-action:focus::after {\n border: 0;\n}\nhtml .k-window .k-window-action .k-icon {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n align-items: center;\n justify-content: center;\n display: flex;\n}\nhtml .k-window .k-window-action .k-icon.k-i-close::before {\n content: "\\f00d";\n font-size: var(--icon-size-m);\n}\nhtml .k-window .k-window-title {\n display: block;\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n}\nhtml .k-window .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n margin-left: auto;\n margin-right: auto;\n width: 630px;\n padding: 16px;\n}\nhtml .k-window .k-editor-table-wizard-dialog .k-tabstrip-wrapper {\n flex: none;\n overflow: visible;\n}\nhtml .k-window .k-tabstrip-items {\n font-size: var(--font-size-lg);\n display: flex;\n justify-content: center;\n align-items: flex-start;\n border: 0;\n margin-bottom: 20px;\n}\nhtml .k-window .k-tabstrip-items .k-item {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n border: 0;\n}\nhtml .k-window .k-tabstrip-items .k-item.-secondary {\n color: var(--link-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item:hover, html .k-window .k-tabstrip-items .k-item:active, html .k-window .k-tabstrip-items .k-item:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-no-hover:hover, html .k-window .k-tabstrip-items .k-item.-no-hover:active, html .k-window .k-tabstrip-items .k-item.-no-hover:focus {\n color: var(--link-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side.-active, html .k-window .k-tabstrip-items .k-item.-side:focus, html .k-window .k-tabstrip-items .k-item.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary {\n color: var(--link-side-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic:hover, html .k-window .k-tabstrip-items .k-item.-basic:active, html .k-window .k-tabstrip-items .k-item.-basic:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar.-active, html .k-window .k-tabstrip-items .k-item.-top-toolbar:focus, html .k-window .k-tabstrip-items .k-item.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-active {\n padding-bottom: 5px;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-active, html .k-window .k-tabstrip-items .k-item.k-active:hover, html .k-window .k-tabstrip-items .k-item.k-active:active, html .k-window .k-tabstrip-items .k-item.k-active:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-active .sf-button.-link {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item .k-link {\n padding: 0;\n}\nhtml .k-window .k-edit-label {\n font-size: var(--font-size-h4-lg);\n font-weight: bold;\n}\nhtml .k-window .k-edit-field .k-state-focused {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field .k-input:focus {\n outline: 0;\n}\nhtml .k-window .k-edit-field .k-input:focus:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field > .k-textbox,\nhtml .k-window .k-edit-field .k-numeric-wrap,\nhtml .k-window .k-edit-field .k-dropdown-wrap {\n border: 1px solid var(--input-border);\n}\nhtml .k-window .k-edit-field .k-select {\n border: 0;\n}\nhtml .k-window .k-edit-field .k-dropdown,\nhtml .k-window .k-edit-field .k-textbox {\n width: 100%;\n}\nhtml .k-window .k-edit-field .k-numerictextbox + .k-dropdown,\nhtml .k-window .k-edit-field .k-dropdown.k-align {\n width: auto;\n}\nhtml .k-window .k-edit-field .k-colorpicker .k-selected-color {\n height: 34px;\n width: 34px;\n border-radius: 0;\n}\nhtml .k-window .k-edit-field .k-checkbox,\nhtml .k-window .k-edit-field .k-checkbox-label {\n vertical-align: middle;\n}\nhtml .k-window .k-edit-field .k-checkbox-label {\n margin-top: 0;\n margin-right: 0;\n padding-left: 5px;\n}\nhtml .k-window .k-edit-buttons {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n text-align: center;\n}\nhtml .k-window .k-edit-buttons .k-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\nhtml .k-window .k-edit-buttons .k-button:hover, html .k-window .k-edit-buttons .k-button:active, html .k-window .k-edit-buttons .k-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:focus {\n color: var(--action-button-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary[disabled]:not(.-done):not(.-inprogress):not(.-no-border), html .k-window .k-edit-buttons .k-button.k-primary.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-state-focused, html .k-window .k-edit-buttons .k-button:focus {\n box-shadow: none;\n}\nhtml .k-window.k-window-maximized {\n height: auto !important;\n padding-top: 160px !important;\n border: 0;\n box-shadow: none;\n overflow: auto;\n}\nhtml .k-window.k-window-maximized .k-window-action {\n position: fixed;\n top: 10px;\n right: 20px;\n z-index: 1000000;\n}\nhtml.-sf-modal-window-open .k-editor-widget.k-window-titleless {\n z-index: 100000000 !important;\n}\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table).k-window-titleless,\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table) .k-editor-toolbar .k-i-html {\n top: 0 !important;\n}\n.k-editor-inline {\n margin-bottom: 10px;\n font-size: inherit;\n}\n.-empty .k-editor-inline {\n min-height: var(--editor-inline-min-height);\n}\n.-empty.-main .k-editor-inline {\n min-height: var(--editor-inline-min-height-long);\n}\n.k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\n.k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\n.k-editor-inline a,\n.k-editor-inline img,\n.k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\n.k-editor-inline a.-align-left, .k-editor-inline a.-align-right,\n.k-editor-inline img.-align-left,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\n.k-editor-inline a.-align-left,\n.k-editor-inline img.-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\n.k-editor-inline a.-align-right,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\n.sf-expand-button {\n display: block;\n position: relative;\n margin-top: 10px;\n}\n.sf-expand-button.-collapsed::before {\n content: "";\n position: absolute;\n top: calc((var(--editor-collapsed-height) + 10px) * -1);\n height: calc(var(--editor-collapsed-height) + 10px);\n width: 100%;\n background: linear-gradient(to top, #fff 5%, rgba(255, 255, 255, 0.25) 25%, rgba(255, 255, 255, 0) 100%);\n z-index: 100;\n}\n.sf-expand-button .sf-expand-button__content {\n position: relative;\n color: #006CD9;\n font-size: var(--font-size-base);\n z-index: 1000;\n}\n.sf-expand-button .sf-expand-button__content:hover {\n color: #333;\n}\nbody.-sf-editor-hidden .k-editor-widget {\n display: none !important;\n}\n.k-editor-toolbar .k-i-Words-count::before {\n content: "\\e696";\n}\n.-sf-modal-window-open .sf-editor *,\n.-sf-modal-window-open .k-window * {\n box-sizing: border-box;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar {\n margin-top: -78px !important;\n height: auto;\n padding: 12px 16px;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-title {\n display: block;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-action {\n padding: 4px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-icon.k-i-close::before {\n position: static;\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-content {\n min-height: auto;\n height: auto;\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-root-tabs {\n margin: 0;\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-label label {\n margin-bottom: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field {\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field input.k-checkbox {\n position: static;\n -webkit-appearance: checkbox;\n margin: 3px 0.5ex;\n width: 12px;\n height: 12px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox {\n border-radius: 0;\n padding: 1px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox:focus {\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label {\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label::before {\n content: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-default,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-focused,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-hover {\n background: none;\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-picker-wrap .k-select {\n position: static;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-link.k-selected {\n background: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown.k-align {\n width: auto;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-buttons {\n background: none;\n}\n.-sf-modal-window-open .k-animation-container .k-list-container {\n padding: 0;\n border-radius: 0;\n}\n.-sf-modal-window-open .k-animation-container .k-align .k-list .k-item, .-sf-modal-window-open .k-animation-container .k-align .k-list .k-item:last-child {\n display: flex;\n}\n.-sf-modal-window-open .k-animation-container .k-list .k-item {\n border: 0;\n border-top: 1px solid #e4e4e4;\n border-radius: 0;\n line-height: 1.42857em;\n}\n.-sf-modal-window-open .k-animation-container .k-flatcolorpicker .k-selected-color input.k-color-value {\n padding: 4px 8px;\n}'},function(e,t,n){n.d(t,{a:function(){return f}});var i=n(5),o=n(4),a=n(65),r=n(7),s=n(6),l=n(33),c=250,d=0,u=1,f=function(){function ScrollService(e,t){(0,i.Z)(this,ScrollService),this.window=e,this.zone=t,this.scrollCompleted=new l.xQ}return(0,o.Z)(ScrollService,[{key:"scrollTo",value:function scrollTo(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:window,a=null;if(e&&e.nativeElement){var r=this.calculateOffset();a=e.nativeElement.offsetHeight+r0&&void 0!==arguments[0])||arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window;t?this.zone.runOutsideAngular((function(){e.scrollToPoint(0,n,i)})):i.pageYOffset>0&&(i.scrollTo(0,0),this.scrollCompleted.next())}},{key:"scrollToPoint",value:function scrollToPoint(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.window,i=u/t,o=n.document.documentElement,a=o.scrollTop||0===o.scrollTop?o:n.document.body;this.scrollElementToPoint(a,o.scrollTop,e,i,d,n)}},{key:"calculateOffset",value:function calculateOffset(){return.25*this.window.innerHeight}},{key:"scrollElementToPoint",value:function scrollElementToPoint(e,t,n,i){var o=this,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:d,r=arguments.length>5?arguments[5]:void 0;if(a<0||a>1)return e.scrollTop=n,void this.scrollCompleted.next();e.scrollTop=t-(t-n)*this.easeOutMotion(a),a+=25*i,r.setTimeout((function(){o.scrollElementToPoint(e,t,n,i,a,r)}),25)}},{key:"easeOutMotion",value:function easeOutMotion(e){return--e*e*e+1}}]),ScrollService}();f.ctorParameters=function(){return[{type:Window,decorators:[{type:r.tBr,args:[s.SC]}]},{type:r.R0b}]},f=(0,a.gn)([(0,r.GSi)(),(0,a.w6)("design:paramtypes",[Window,r.R0b])],f)},,function(e){e.exports='\n
    \n
    \n \n
    \n
    \n \n \n {{node.data.description}} avatar\n {{ generateUserInitials(node) }}\n \n \n
    \n \n \n \n \n \n \n \x3c!-- TODO: Add config.extension and show extension only when tree is opened --\x3e\n
    \n {{node.data.Extension.split(".").pop() | lowercase}}\n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n {{node.data.nodeType}}\n
    \n Preview\n
    \n
    \n \n \n \n Upload failed\n \n \n \n View\n \n \n
    \n
    \n
    \n
    \n
    \n\n\n\n'},function(e){e.exports='

    {{ uiStatus }}\n | {{breadcrumbInStatus | sfBreadcrumb }}\n

    \n\n'},function(e){e.exports='
    \n \n \n \n
    \n \n Selected\n {{selected.length}}\n \n
    \n
    \n
    \n {{notificationText}}\n \n \n
    \n \n
    \n \n
    \n \n \n \n \n \n {{defaultField}}\n \n \n \n \n \n
    \n \n

    Selected {{typeNames ? typeNames.plural : "items" }} will appear here

    \n
    \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n \n \n \n \n \n
    \n \n

    {{ search ? noItemsFoundLabel : noItemsCreatedLabel }}

    \n
    \n
    \n
    \n\n\n

    {{selectionText}} {{formattedTypeName}}

    \n
    \n\n\n
    {{description}}
    \n
    \n\n\n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n'},function(e){e.exports='
    \n \n\n \n \n
    \n {{ player?.nativeElement.duration | sfSecondsToTime }}\n
    \n \n \n \n \n
    \n \n
    \n
    \n \n

    {{ errorText }}

    \n
    \n
    \n
    \n'},function(e){e.exports="@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.sf-video {\n position: relative;\n}\n.sf-video video {\n display: block;\n}\n.sf-video:hover .sf-video__play-button circle {\n opacity: 0.75;\n}\n.sf-video.-play-detached {\n max-width: 630px;\n max-height: 430px;\n}\n.sf-video.-play-detached video {\n max-width: 630px;\n max-height: 430px;\n}\n.sf-video.-play-detached .sf-video__player.-loading {\n position: absolute;\n visibility: hidden;\n}\n.sf-video.-play-detached .sf-video__empty {\n position: static;\n width: 630px;\n height: 354px;\n -webkit-animation-duration: 1s;\n animation-duration: 1s;\n}\n.sf-video__empty {\n position: absolute;\n top: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n background-color: #f5f5f5;\n z-index: 10;\n -webkit-animation: loadingVideoFrame 1.5s linear infinite;\n animation: loadingVideoFrame 1.5s linear infinite;\n}\n.sf-video__play-button {\n position: absolute;\n margin-top: calc(-70px / 2);\n margin-left: calc(-70px / 2);\n top: 50%;\n left: 50%;\n width: 70px;\n height: 70px;\n z-index: 10;\n cursor: pointer;\n}\n.sf-video__play-button circle {\n opacity: 0.5;\n}\n.sf-video__duration {\n position: absolute;\n right: 10px;\n bottom: 10px;\n padding-left: 5px;\n padding-right: 5px;\n color: #fff;\n background-image: linear-gradient(rgba(51, 51, 51, 0.8), rgba(51, 51, 51, 0.8));\n border-radius: 3px;\n}\nvideo::-internal-media-controls-download-button {\n display: none;\n}\nvideo::-webkit-media-controls-enclosure {\n overflow: hidden;\n}\nvideo::-webkit-media-controls-panel {\n width: calc(100% + 30px);\n /* Adjust as needed */\n}\n@-webkit-keyframes loadingVideoFrame {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes loadingVideoFrame {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}"},function(e){e.exports='\n\n
    \n \n

    {{ this.errorText }}

    \n
    \n'},function(e){e.exports='
    \n \n
    \n
    \n \n
    \n\n\n
    \n {{ displayTitle }}\n
    \n
    \n {{ item.extension | uppercase }}\n \n {{ item.size | sfFileSize }}\n
    \n\n'},function(e){e.exports='
    \n \n
    \n \n \n \n Files in {{extension}} format cannot be selected. Only {{failedValidation.acceptableFileTypes}} are allowed.\n \n \n File is larger than the maximum size allowed ({{failedValidation.maxSize | sfFileSize}}) and cannot be selected.\n \n \n {{failedValidation.errorMessage}}\n \n \n
    \n
    \n\n \n\n \n\n \n\n \n\n
    \n
    \n \n \n
    \n \n

    \n {{ title }}\n

    \n
    {{ status[0].Label }}
    \n
    in {{ library }}
    \n
    \n {{ width }} x {{ height }} \n {{ size | sfFileSize }} \n {{ extension | uppercase }}\n
    \n
    \n
    \n\n
    \n \n\n \n \n {{badgesList.join(", ")}}\n \n
    \n
    \n\n\n \n \n \n\n'},function(e){e.exports='\n\n\n \n\n\n\n \n \n \n
    \n
    \n Recent\n
    \n
    \n No results found\n
    \n \n \n
    \n
    \n
    \n \n \n
    \n'},function(e,t,n){n.d(t,{DQ:function(){return S},EZ:function(){return k},Lw:function(){return D},bL:function(){return w},m1:function(){return T},np:function(){return x},pu:function(){return B},yD:function(){return I},zx:function(){return C}});var i=n(5),o=n(4),a=n(27),r=n(12),s=n(8),l=n(10),c=n(65),d=n(7),u=n(249),f=n(6),p=n(270),A=n(286),m=n(120),g=n(207),h=n(258),v=n(80),b=n(204),y=n(67),E=n(284),I="default",w=function(e){(0,s.Z)(ModalWindowService,e);var t=(0,l.Z)(ModalWindowService);function ModalWindowService(e,n,o){var a;return(0,i.Z)(this,ModalWindowService),(a=t.call(this,e)).windowProvider=n,a.scrollService=o,a.states=[],a}return(0,o.Z)(ModalWindowService,[{key:"isDialogOpened",get:function get(){return this.active}},{key:"open",value:function open(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I;this.show(t,e.parent)}},{key:"show",value:function show(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.windowProvider;this.states.push({window:n,topOffsetPosition:this.getDocumentOffsetPosition(n)}),this.scrollService.scrollToTop(!1),(0,a.Z)((0,r.Z)(ModalWindowService.prototype),"show",this).call(this,e,t)}},{key:"close",value:function close(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.hide(e)}},{key:"hide",value:function hide(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,a.Z)((0,r.Z)(ModalWindowService.prototype),"hide",this).call(this,t,n).then((function(t){var n=e.states.pop();return n&&n.topOffsetPosition>=0&&e.scroll(n.topOffsetPosition,n.window),t}))}},{key:"setMapping",value:function setMapping(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I;(0,a.Z)((0,r.Z)(ModalWindowService.prototype),"setData",this).call(this,t,e)}},{key:"getMapping",value:function getMapping(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:I;return(0,a.Z)((0,r.Z)(ModalWindowService.prototype),"getData",this).call(this,e)}},{key:"openModalConfirmation",value:function openModalConfirmation(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:v.j3.DEFAULT,o=arguments.length>4?arguments[4]:void 0,a={type:p.X,properties:{icon:t.icon,title:t.detailedTitle||t.title,description:t.description,descriptionAllowHtml:t.descriptionAllowHtml,warning:t.warning,parameters:t.parameters,contextParameters:t.contextParameters,action:t.action,entitySet:n?n.metadata.setName:null,itemTitle:this.getTitle(t,n),formValidators:t.formValidators,hideItemTitle:t.hideItemTitle,mainFormSize:t.mainFormSize,innerFormLook:t.innerFormLook,dataItem:n}},r=new x(a,t.doneCallback,t.buttons,"-prompt");r.disableUserInteractionOnLoading=t.disableUserInteractionOnLoading,this.setMapping(r,i),this.show(i,e,o)}},{key:"openModalSelector",value:function openModalSelector(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:v.j3.DEFAULT,i={type:E.b,properties:{settings:t}},o=new x(i,t.doneCallback);o.heading=t.heading,this.setMapping(o,n),this.show(n,e.parent,t.window)}},{key:"ensureRouteState",value:function ensureRouteState(e){var t=this.routeStack.findIndex((function(t){return t.key===e}));if(!(t<0||t===this.routeStack.length-1))for(var n=this.routeStack.length-t-1,i=0;i=0&&this.scrollService.scrollTo(e,void 0,void 0,t)}},{key:"getDocumentOffsetPosition",value:function getDocumentOffsetPosition(e){var t=e.document.documentElement;return(e.pageYOffset||t.scrollTop)-(t.clientTop||0)}},{key:"getTitle",value:function getTitle(e,t){var n=null;if(!e.hideItemTitle){if(e.contextParameters){var i=e.contextParameters[b.ze.currentTitle];i&&(n=i)}!n&&t&&(n=t.title)}return n}}]),ModalWindowService}(A.p);w.ctorParameters=function(){return[{type:u.F0},{type:Window,decorators:[{type:d.tBr,args:[f.SC]}]},{type:h.a}]},w=(0,c.gn)([(0,d.GSi)(),(0,c.w6)("design:paramtypes",[u.F0,Window,h.a])],w);var k,x=(0,o.Z)((function DialogData(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,c=arguments.length>8&&void 0!==arguments[8]&&arguments[8],d=arguments.length>9&&void 0!==arguments[9]&&arguments[9],u=arguments.length>10&&void 0!==arguments[10]&&arguments[10],f=!(arguments.length>11&&void 0!==arguments[11])||arguments[11],p=!(arguments.length>12&&void 0!==arguments[12])||arguments[12],A=arguments.length>13&&void 0!==arguments[13]&&arguments[13],m=arguments.length>14&&void 0!==arguments[14]&&arguments[14],g=arguments.length>15&&void 0!==arguments[15]&&arguments[15];(0,i.Z)(this,DialogData),this.componentData=e,this.doneCallback=t,this.buttons=n,this.contentClass=o,this.buttonClass=a,this.showButtonsOnInit=r,this.toolbarData=s,this.headButtons=l,this.hideStickyContent=c,this.disableUserInteractionOnLoading=d,this.hideCloseButton=u,this.isModalClosable=f,this.stickWithDelay=p,this.stickyDisabled=A,this.alwaysSticky=m,this.hideBackToTopButton=g,this.heading={title:null},this.hasTopToolbar=!1})),C=function(e){(0,s.Z)(Button,e);var t=(0,l.Z)(Button);function Button(e,n,o){var a,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:y.WP.EMPTY_STRING;return(0,i.Z)(this,Button),(a=t.call(this)).handlers=e,a.content=n,a.css=o,a.name=r,null==a.handlers&&(a.handlers={click:function click(){return null}}),a.loader=new m.t(1),a.disabled=new m.t(1),a.checked=new m.t(1),a}return(0,o.Z)(Button)}(g.fl),S=(0,o.Z)((function ClickResult(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];(0,i.Z)(this,ClickResult),this.data=e,this.isSuccessful=t,this.hasErrors=n,this.load=o})),B=function(e){(0,s.Z)(ConfirmButton,e);var t=(0,l.Z)(ConfirmButton);function ConfirmButton(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Done",o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"action large",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:y.WP.EMPTY_STRING;return(0,i.Z)(this,ConfirmButton),(e=t.call(this,null,n,a,r)).content=n,e.handlers.click=o||function(){return new S(!0,!0)},e}return(0,o.Z)(ConfirmButton)}(C),D=function(e){(0,s.Z)(CancelButton,e);var t=(0,l.Z)(CancelButton);function CancelButton(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Cancel",o=arguments.length>1?arguments[1]:void 0;return(0,i.Z)(this,CancelButton),(e=t.call(this,null,n,"large")).content=n,e.handlers.click=o||function(){return new S(!1,!0)},e}return(0,o.Z)(CancelButton)}(C),T=function(e){(0,s.Z)(DeleteButton,e);var t=(0,l.Z)(DeleteButton);function DeleteButton(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Delete",o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"delete large";return(0,i.Z)(this,DeleteButton),(e=t.call(this,{click:function click(){return new S(o,!0)}},n,a)).content=n,e}return(0,o.Z)(DeleteButton)}(C);!function(e){e[e.ButtonClicked=0]="ButtonClicked",e[e.CloseClicked=1]="CloseClicked",e[e.DoneCalled=2]="DoneCalled",e[e.InitFailure=3]="InitFailure"}(k||(k={}))},function(e,t,n){n.d(t,{X:function(){return h}});var i=n(25),o=n(5),a=n(4),r=n(65),s=n(271),l=n(7),c=n(272),d=n(81),u=n(228),f=n(229),p=n(249),A=n(273),m=n(78),g=n(283),h=function(){function ModalConfirmationComponent(e,t){(0,o.Z)(this,ModalConfirmationComponent),this.fieldsProvider=e}return(0,a.Z)(ModalConfirmationComponent,[{key:"ngOnInit",value:function ngOnInit(){var e=this;if(this.parameters){var t=this.parameters.map((function(t){var n,o=u.U[t.Type]||u.U[v[t.Type]],a=(0,d.ax)(e.fieldsProvider,e.entitySet,o,t.Name,t.Value,{properties:(0,i.Z)({},t.Name,(n={},(0,i.Z)(n,m.kA,t.Required),(0,i.Z)(n,m.hf,t.Tooltip),(0,i.Z)(n,m.yH,t.Hint),(0,i.Z)(n,"dataItem",e.dataItem),(0,i.Z)(n,"arguments",t.Arguments),n))},t.Title,t.FriendlyTitle);return a.settings.showTitle=!!t.Title,t.Placeholder&&(a.settings.placeholder=t.Placeholder),e.updateModelProperties(t,a),a}));this.mainFormSize=this.mainFormSize||g.D.Medium,this.innerFormClassList=this.generateInnerFormClassList(),this.fieldSection=new c.h({isMain:!0,isExpanded:!1,insertHorizontalRule:!1}),this.fieldSection.fields=t,this.fieldSections=[this.fieldSection]}}},{key:"generateInnerFormClassList",value:function generateInnerFormClassList(){var e=this.innerFormLook?"-"+this.innerFormLook.split(" ").join(" -"):"-small -sf-pt-zero -sf-txt-align-left -sf-centered-box";return"".concat("sf-form"," ").concat(e)}},{key:"updateModelProperties",value:function updateModelProperties(e,t){if("choiceDropDown"===e.Type){var n=JSON.parse(e.Value).map((function(e){return{Name:e.valueTitle,Value:e.valueContent}}));t.settings.choices=n,t.settings.defaultValue=n.length>0?n[0].Value:null,t.value=n.length>0?n[0].Value:null}}}]),ModalConfirmationComponent}();h.ctorParameters=function(){return[{type:f.H},{type:p.gz}]},h.propDecorators={editableFields:[{type:l.i9L,args:[A.I,{static:!1}]}],action:[{type:l.IIB}],icon:[{type:l.IIB}],title:[{type:l.IIB}],description:[{type:l.IIB}],descriptionAllowHtml:[{type:l.IIB}],itemTitle:[{type:l.IIB}],entitySet:[{type:l.IIB}],parameters:[{type:l.IIB}],formValidators:[{type:l.IIB}],mainFormSize:[{type:l.IIB}],innerFormLook:[{type:l.IIB}],warning:[{type:l.IIB}]},h=(0,r.gn)([(0,l.wA2)({selector:"sf-modal-confirmation",template:s,encapsulation:l.ifc.None}),(0,r.w6)("design:paramtypes",[f.H,p.gz])],h);var v=Object.freeze({"long-string":"textArea"})},function(e){e.exports='\n

    {{title}}

    \n
    \n

    \n

    \n\n
    \n \n
    \n\n
    \n \n
    \n
    \n'},function(e,t,n){n.d(t,{H:function(){return r},h:function(){return a}});var i=n(5),o=n(4),a=function(){function FieldSectionModel(e){(0,i.Z)(this,FieldSectionModel),this.settings=e,this.fields=[]}return(0,o.Z)(FieldSectionModel,[{key:"equals",value:function equals(e){return!!this.objEqual(e,this)&&this.objEqual(e.settings,this.settings)}},{key:"objEqual",value:function objEqual(e,t){for(var n in t)if(!Object.is(e[n],t[n]))return!1;return!0}}]),FieldSectionModel}(),r=Object.freeze({advancedOptions:"AdvancedOptionsSection",advancedSection:"AdvancedSection",seo:"SeoSection",socialMedia:"SocialMedia",mainSection:"MainSection"})},function(e,t,n){n.d(t,{I:function(){return L}});var i=n(21),o=n(17),a=n(5),r=n(4),s=n(8),l=n(10),c=n(65),d=n(274),u=n(275),f=n(33),p=n(104),A=n(146),m=n(7),g=n(199),h=n(41),v=n(276),b=n(211),y=n(280),E=n(6),I=n(240),w=n(228),k=n(236),x=n(87),C=n(201),S=n(279),B=n(281),D=n(66),T=n(80),M=n(197),N=n(282),F=n(81),P=n(242),R=n(172),Q=n(186),U="sections",L=function(e){(0,s.Z)(EditableFieldsComponent,e);var t=(0,l.Z)(EditableFieldsComponent);function EditableFieldsComponent(e,n,i,o,r){var s;return(0,a.Z)(this,EditableFieldsComponent),(s=t.call(this)).window=e,s.mirrorService=n,s.detector=i,s.storage=o,s.fieldChangeHandlers=r,s.shouldResetMirroring=!0,s.contentLoaderHeight=(0,D.Wd)(T.v6.EDITOR_INLINE_HEIGHT_LONG,"sf-app")||300,s.fieldChange=new m.vpe,s.htmlFieldType=w.U.html,s.form=new g.cw({}),s._dirty=new f.xQ,s.toBeMarkedAsDirty=[],s.boundFields=[],s.initialFieldCheck=!1,s.cachedFieldValues={},s}return(0,r.Z)(EditableFieldsComponent,[{key:"dirty",get:function get(){return this._dirty.asObservable()}},{key:"status",get:function get(){var e=this.wrapperComponents.map((function(e){return e.status}));return e.length?A.aj.apply(void 0,(0,o.Z)(e).concat([function(){for(var e=I.i.Done,t=0;t0&&void 0!==arguments[0])||arguments[0],t=this.validateInternal(e);return t}},{key:"validateAsync",value:function validateAsync(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return new h.y((function(n){var i=e.validateInternal(t),o=e.wrapperComponents.map((function(e){return e.status.pipe((0,R.P)())}));o.length?(0,A.aj)(o).pipe((0,R.P)(),(0,Q.b)((function(e){var t=e.some((function(e){return e.type===I.i.Error}));n.next(i&&!t)}))).subscribe():n.next(i)}))}},{key:"getFields",value:function getFields(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n={};return Object.keys(this.form.controls).forEach((function(i){var o=e.wrapperComponents.find((function(e){return e.fieldModel.key===i})),a=e.form.controls[i].dirty||e.toBeMarkedAsDirty.indexOf(i)>=0,r=o?o.getValue():null,s=null!=r,l=!o&&-1!==e.boundFields.findIndex((function(e){return e.conditionalFieldKey===i}));!a&&!s||l||o&&o.fieldModel.settings.isVisible&&(!t||a)&&(o.fieldModel.settings instanceof S.b?(r=o.postProcessValue(r))&&Object.keys(r).forEach((function(e){void 0!==r[e]&&(n[e]=r[e])})):(r=o.postProcessValue(e.form.value[i]),n[i]=r))})),Object.keys(n).length?n:null}},{key:"reset",value:function reset(e){var t=this;if(this.toBeMarkedAsDirty=[],this.wasFormDirty){if(e){var n=Object.keys(this.form.controls).reduce((function(n,i){return n[i]=e[i]||t.form.controls[i].value,n}),{});this.form.setValue(n)}this.wasFormDirty=!1,this.form.markAsPristine(),this._dirty.next(!1),this.copyMode=!1}this.createFieldConditions(),this.processConditionalFields()}},{key:"addModelErrors",value:function addModelErrors(e){if(e.fieldErrors){var t,n=(0,i.Z)(e.fieldErrors);try{for(n.s();!(t=n.n()).done;){var o=t.value,a=this.form.controls[o.fieldName];if(!a)return;var r=a.errors||new Object;o.errorType instanceof b.p&&(r=o.errorType),o.errorType instanceof Object?r[C.C+C.r.CUSTOM_ERRORS]=o.errorType:r[C.C+o.errorType.toLowerCase()]=o.errorType,a.setErrors(r)}}catch(e){n.e(e)}finally{n.f()}}}},{key:"commitValues",value:function commitValues(){this.wrapperComponents.forEach((function(e){return e.commitValue()}))}},{key:"updateValues",value:function updateValues(e){this.form.patchValue(e),this.form.markAsPristine(),this.processConditionalFields()}},{key:"updateFieldModel",value:function updateFieldModel(e){this.fieldSections.forEach((function(t){var n=t.fields.findIndex((function(t){return t.key===e.key}));n>-1&&(t.fields[n]=e)}))}},{key:"getDirtyFields",value:function getDirtyFields(){return this.getDirtyFieldsKeys()}},{key:"updateMirroring",value:function updateMirroring(e,t){var n=this;e.forEach((function(e){e.fields.forEach((function(e){var i=n.mirrorService.isFieldAvailableForMirroring(t,e);n.mirrorService.updateMirroring(e,i)}))}))}},{key:"enableRequiredErrorCheck",value:function enableRequiredErrorCheck(){this.wrapperComponents&&this.wrapperComponents.forEach((function(e){return e.enableRequiredErrorCheck=!0}))}},{key:"triggerErrors",value:function triggerErrors(){this.wrapperComponents&&this.wrapperComponents.forEach((function(e){return e.hasErrors()}))}},{key:"triggerValidCheck",value:function triggerValidCheck(){return this.commitValues(),this.enableRequiredErrorCheck(),this.valid()}},{key:"handleChangesToFieldsVisibility",value:function handleChangesToFieldsVisibility(e){var t=this;return(0,A.aj)(e.map((function(e){return e.onFieldVisibilityChange$}))).subscribe((function(e){t.fieldSections.forEach((function(t){var n=t.fields.some((function(t){return e.find((function(e){return!e.isHidden&&e.key===t.key}))}));t.settings.isHidden=!n}))}))}},{key:"toggleSection",value:function toggleSection(e){if(this.moduleName){var t=this.getSectionsState(),n=t[this.moduleName]||{};n[e.sectionName]=e.isExpanded,t[this.moduleName]=n,this.storage.setItem(U,JSON.stringify(t))}}},{key:"validateInternal",value:function validateInternal(e){var t=this;this.form.updateValueAndValidity();for(var n=!0,i=!0,o=function _loop(o){var a=t.wrapperComponents[o];if(a.hasErrors()){i=!1;var r=t.fieldSections.find((function(e){return-1!==e.fields.indexOf(a.fieldModel)}));r&&r.settings&&(r.settings.isExpanded=!0),n&&e&&(n=!1,t.window.setTimeout((function(){a.scrollToField()})))}},a=0;a\n \n \n\n\n
    \n
    \n \n
    \n \n \n
    \n
    \n \n
    \n\n \n\n \n \n \n \n
    \n'},function(e){e.exports=".sf-form.-dynamic-item .sf-field {\n width: 75%;\n}\n.sf-form.-dynamic-item .-sf-number .sf-input {\n width: 50%;\n}\n.sf-form.-dynamic-item .-sf-wrapper-html .sf-field,\n.sf-form.-dynamic-item .-sf-short-text-default .sf-field {\n width: 100%;\n}\n.sf-form .-sf-short-text,\n.sf-form .-sf-taxa,\n.sf-form .-sf-media {\n display: block;\n}\n.sf-form .sf-row .sf-field {\n width: auto;\n}\n.sf-form .-sf-wrapper-html {\n position: relative;\n}\n.sf-form .-sf-wrapper-html .sf-field__hint {\n margin-top: 10px;\n}"},function(e,t,n){n.d(t,{l:function(){return C}});var i,o=n(5),a=n(4),r=n(27),s=n(12),l=n(8),c=n(10),d=n(65),u=n(277),f=n(7),p=n(199),A=n(259),m=n(242),g=n(235),h=n(258),v=n(120),b=n(278),y=n(240),E=n(228),I=n(247),w=n(279),k=n(241),x={provide:p.JU,useExisting:(0,f.Gpc)((function(){return C})),multi:!0},C=i=function(e){(0,l.Z)(FormFieldWrapperComponent,e);var t=(0,c.Z)(FormFieldWrapperComponent);function FormFieldWrapperComponent(e,n,i){var a;return(0,o.Z)(this,FormFieldWrapperComponent),(a=t.call(this)).detector=e,a.scrollService=n,a.filter=i,a.showTooltip=!0,a.markAsDirty=new f.vpe,a.errorMessages=null,a.errorMessagesOnValueChange=null,a.showErrors=!1,a.warningMessages=null,a.enableRequiredErrorCheck=!1,a._onFieldVisibilityChange$=new v.t,a}return(0,a.Z)(FormFieldWrapperComponent,[{key:"enterAnimation",get:function get(){return this.enterAnimationState}},{key:"status",get:function get(){return this.wrappedField.status$}},{key:"focus",get:function get(){if(this.wrappedField)return this.wrappedField.focus$}},{key:"currentInstance",get:function get(){return this.loader?this.loader.currentInstance:null}},{key:"hasValue",get:function get(){var e=this.wrappedField&&this.wrappedField.value||this.value;return this.fieldModel.settings.emptyValues?!!e&&-1===this.fieldModel.settings.emptyValues.indexOf(e):!!e}},{key:"onFieldVisibilityChange$",get:function get(){return this._onFieldVisibilityChange$.asObservable()}},{key:"ngOnInit",value:function ngOnInit(){var e=this.guardRegistration(this.fieldModel.selector,this.fieldModel.registration);if(!e)throw new Error("No component registered to handle selector ".concat(this.fieldModel.selector));this.writeValue(this.fieldModel.value);var t=null;this.fieldModel.settings.readOnlyMode?t=e.readComponent:(t=e.writeComponent,this.formControl&&this.formControl.setValue(this.value)),this.componentData={type:t,properties:{settings:this.fieldModel.settings,value:this.getValue()}},this.showTooltip=this.showTooltip&&this.fieldModel.selector!==E.U.shortTextDefault,this.fieldClassName=this.generateCssClassList(),this._onFieldVisibilityChange$.next({isHidden:!this.fieldModel.settings.isVisible,key:this.fieldModel.settings.key})}},{key:"ngOnChanges",value:function ngOnChanges(e){var t=e.fieldModel;t&&!t.isFirstChange()&&this.writeValue(this.fieldModel.value)}},{key:"generateCssClassList",value:function generateCssClassList(){var e="";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.fieldModel.cssClass&&(e+=" "+this.fieldModel.cssClass.split(" ").join(" ")),this.showErrors&&this.errorMessages&&this.errorMessages.length>0&&(e+=" -has-errors"),e}},{key:"getTooltip",value:function getTooltip(){var e=this.fieldModel.settings.tooltipModels,t=e.has(m.Eu)?m.Eu:this.getValue();return e.get(t)}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){var e=this;this.wrappedField=this.currentInstance,this.wrappedField.registerOnTouched(this.onTouchedCallback);var t=this.wrappedField.focus$.subscribe((function(t){if(t&&e.fieldModel.settings.changeOnFocus&&!e.formControl.dirty){var n=e.getValue(),i=e.fieldModel.settings.hasOwnProperty("multiple")&&!0===e.fieldModel.settings.multiple,o=e.fieldModel.settings.hasOwnProperty("allowMultiple")&&!0===e.fieldModel.settings.allowMultiple;i||o?e.wrappedField.writeValue([].concat(n)):"string"==typeof n&&(e.wrappedField.writeValue("temp"),e.wrappedField.writeValue(n))}}));this.registerSubscription(t),this.writeValue(this.value),this.currentInstance,g.F,this.fieldModel.settings.readOnlyMode?this.wrappedField.hasEmptyValue()&&(this.loader.destroy(),this.componentData=null):(this.handleWarnings(),this.wrappedField.registerOnChange(this.onChangeCallback),this.initErrorHandling()),this.detector.detectChanges(),this.showErrors=!(this.fieldModel.settings instanceof w.b)}},{key:"ngOnDestroy",value:function ngOnDestroy(){(0,r.Z)((0,s.Z)(FormFieldWrapperComponent.prototype),"ngOnDestroy",this).call(this),this.wrappedField=null}},{key:"writeValue",value:function writeValue(e){var t=i.normalizeValue(this.fieldModel,e),n=t.value;this.value=n,t.markAsDirty&&this.markAsDirty.emit(!0),this.wrappedField&&this.wrappedField.writeValue(n)}},{key:"getValue",value:function getValue(){return this.wrappedField?this.wrappedField.value:this.value}},{key:"postProcessValue",value:function postProcessValue(e){return this.wrappedField?this.wrappedField.postProcessValue(e):e}},{key:"registerOnChange",value:function registerOnChange(e){var t=this;this.onOuterChangeCallback=e,this.onChangeCallback=function(e){try{e instanceof k.e?(t.formControl.setValue(e.asyncValue,{emitEvent:!1,emitModelToViewChange:!1,emitViewToModelChange:!1}),t.markAsDirty.emit(!0),e=e.asyncValue):t.onOuterChangeCallback(e),t.value=e}catch(e){if(0!==e.message.indexOf("There is no FormControl instance attached to form control element"))throw e}},this.wrappedField&&this.wrappedField.registerOnChange(this.onChangeCallback)}},{key:"registerOnTouched",value:function registerOnTouched(e){this.onTouchedCallback=e}},{key:"registerAllowDialogOpenCallback",value:function registerAllowDialogOpenCallback(e){this.wrappedField&&this.wrappedField.registerAllowDialogOpenCallback(e)}},{key:"invokeOutputTemplateCallback",value:function invokeOutputTemplateCallback(e){this.wrappedField&&this.wrappedField.invokeOutputTemplateCallback(e)}},{key:"scrollToField",value:function scrollToField(){this.scrollService.scrollTo(this.wrapper)}},{key:"hasErrors",value:function hasErrors(){var e=this.validate();this.processErrors(this.formControl.errors);var hasErrors=!1===e||!!this.errorMessages&&0!==this.errorMessages.length;return hasErrors}},{key:"validate",value:function validate(){return!this.wrappedField||this.wrappedField.validate()}},{key:"onFocus",value:function onFocus(){this.wrappedField&&this.wrappedField.onFocus()}},{key:"hasEmptyValue",value:function hasEmptyValue(){return!!this.wrappedField&&this.wrappedField.hasEmptyValue()}},{key:"commitValue",value:function commitValue(){this.wrappedField.commitValue();var e=this.filter.getAllowedErrors(this.formControl.errors,!0);this.processErrors(e),this.errorMessagesOnValueChange=this.errorMessages}},{key:"handleWarnings",value:function handleWarnings(){var e=this.getWarnings();e&&e.length>0&&(this.warningMessages=e)}},{key:"initErrorHandling",value:function initErrorHandling(){this.formControl&&(this.handleFocusChanges(),this.handleStatusChanges(),this.handleValueChanges(),this.handleChangesToHidden())}},{key:"handleValueChanges",value:function handleValueChanges(){var e=this,t=this.formControl.valueChanges.subscribe((function(t){if(e.showErrors){var n=e.filter.getAllowedErrors(e.formControl.errors,e.enableRequiredErrorCheck,null);e.processErrors(n)}else{var i=e.filter.getAllowedErrors(e.formControl.errors,e.enableRequiredErrorCheck);e.errorMessagesOnValueChange=i?e.wrappedField.processErrors(i):null}}));this.registerSubscription(t)}},{key:"handleFocusChanges",value:function handleFocusChanges(){var e=this,t=this.wrappedField.focus$.subscribe((function(t){e.showErrors=!t,e.errorMessagesOnValueChange=null;var n=e.filter.getAllowedErrors(e.formControl.errors,e.enableRequiredErrorCheck,null);e.processErrors(n)}));this.registerSubscription(t)}},{key:"handleChangesToHidden",value:function handleChangesToHidden(){var e=this,t=this.wrappedField.hidden$.subscribe((function(t){e.hidden=t,e._onFieldVisibilityChange$.next({isHidden:t,key:e.fieldModel.key})}));this.registerSubscription(t)}},{key:"handleStatusChanges",value:function handleStatusChanges(){var e=this,t=this.wrappedField.status$.subscribe((function(t){var n=e.formControl.errors;if(t.type===y.i.Error){var i=Object.assign({},n,t.data);e.formControl.setErrors(i),e.processErrors(i),e.detector.detectChanges(),e.scrollToField()}else if(t.type===y.i.ErrorCleared&&t.data&&n){var o=Object.keys(t.data),a=Object.assign({},n);o.forEach((function(e){a.hasOwnProperty(e)&&delete a[e]})),0===Object.keys(a).length&&(a=null),e.formControl.setErrors(a)}else t.type===y.i.Warning&&e.handleWarnings()}));this.registerSubscription(t)}},{key:"processErrors",value:function processErrors(e){this.errorMessages=e?this.wrappedField.processErrors(e):null,this.fieldClassName=this.generateCssClassList()}},{key:"getWarnings",value:function getWarnings(){return this.wrappedField?this.wrappedField.getWarnings():[]}},{key:"guardRegistration",value:function guardRegistration(e,t){if(!t)throw new Error("No field registration found for selector ".concat(this.fieldModel.selector));if(!t.writeComponent)throw new Error("No write component registered to handle selector ".concat(this.fieldModel.selector));var n={writeComponent:t.writeComponent,readComponent:t.readComponent,settingsType:t.settingsType};return n.readComponent||(n.readComponent=I.m),n}}],[{key:"normalizeValue",value:function normalizeValue(e,t){var n=!1;(e.settings.emptyValues?e.settings.emptyValues.indexOf(t)>=0:null==t)&&e.settings.useDefaultValue&&(t=e.settings.defaultValue,e.settings.markAsDirty&&(n=!0));var i={value:t,markAsDirty:n};return Array.isArray(e.settings.defaultValue)&&!Array.isArray(t)&&(i.value=[t]),i}}]),FormFieldWrapperComponent}(m.zu);C.ctorParameters=function(){return[{type:f.sBO},{type:h.a},{type:b.l}]},C.propDecorators={fieldModel:[{type:f.IIB}],formControl:[{type:f.IIB}],look:[{type:f.IIB}],showTooltip:[{type:f.IIB}],markAsDirty:[{type:f.r_U}],loader:[{type:f.i9L,args:["loader",{static:!1}]}],wrapper:[{type:f.i9L,args:["wrapper",{static:!1}]}],enterAnimation:[{type:f.pfw,args:["@enterAnimation"]}]},C=i=(0,d.gn)([(0,f.wA2)({selector:"sf-form-field-wrapper",template:u,providers:[x],encapsulation:f.ifc.None,animations:[(0,A.X$)("enterAnimation",[(0,A.eR)("* => fadeIn",[(0,A.oB)({opacity:0}),(0,A.jt)("500ms ease-out",(0,A.oB)({opacity:1}))])])]}),(0,d.w6)("design:paramtypes",[f.sBO,h.a,b.l])],C)},function(e){e.exports='
    \n \x3c!-- TODO: Fields label component --\x3e\n \n
    \n \n
    \n
    \n \n
    \n \x3c!-- Do not show messages on value change when all of the messages are shown --\x3e\n
    \n \n
    \n \n
    \n {{fieldModel.settings.emptyValueText}}\n
    \n
    \n\n\n
    \n \n {{fieldModel.settings.title}}\n \n \n
    \n
    \n\n\n \n \n\n\n\n \n (for all translations)\n \n \n {{fieldModel.settings.inlineDescription}}\n \n\n \n \n \n \n \n \n {{fieldModel.settings.instructionalNotes}}\n \n\n\n\n
    \n {{fieldModel.settings.instructionalText}}\n
    \n
    \n'},function(e,t,n){n.d(t,{l:function(){return d}});var i,o=n(5),a=n(4),r=n(65),s=n(7),l=n(200),c=n(201),d=i=function(){function ErrorFilter(){(0,o.Z)(this,ErrorFilter)}return(0,a.Z)(ErrorFilter,[{key:"getAllowedErrors",value:function getAllowedErrors(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.allowedErrorsNames,o=null;return e&&Object.keys(e).forEach((function(a){if(a!==l.v.REQUIRED||t){var r=i.allowedErrorsPrefixes.some((function(e){return a.startsWith(e)}));(null===n||i.allowedErrorsNames.some((function(e){return e===a}))||r)&&((o=o||{})[a]=e[a])}})),o}}]),ErrorFilter}();d.allowedErrorsNames=[l.v.REQUIRED,l.v.DIGITS_LIMIT,l.v.MAX_LENGTH],d.allowedErrorsPrefixes=[c.C],d=i=(0,r.gn)([(0,s.GSi)()],d)},function(e,t,n){n.d(t,{b:function(){return s}});var i=n(4),o=n(5),a=n(8),r=n(10),s=function(e){(0,a.Z)(CompositeFieldSettings,e);var t=(0,r.Z)(CompositeFieldSettings);function CompositeFieldSettings(){return(0,o.Z)(this,CompositeFieldSettings),t.apply(this,arguments)}return(0,i.Z)(CompositeFieldSettings)}(n(197).P1)},function(e,t,n){n.d(t,{R:function(){return p}});var i=n(21),o=n(5),a=n(4),r=n(65),s=n(7),l=n(194),c=n(196),d=n(81),u=n(67),f=n(228),p=function(){function MirrorService(e){(0,o.Z)(this,MirrorService),this.sanitizeService=e,this.mirrorMappings={}}return(0,a.Z)(MirrorService,[{key:"mirrorValue",value:function mirrorValue(e,t,n){var i=this,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e===u.WP.EMPTY_STRING){var a=function _loop(e){i.mirrorMappings.hasOwnProperty(e)&&i.mirrorMappings[e].forEach((function(o){if(o.key===t&&o.shouldMirror){if(o.wrapper||(o.wrapper=i.getWrapper(o.key,n)),o.wrapper.focus){var a=i.getWrapper(e,n),r=a.getValue();r||((0,c.my)(a.fieldModel.settings)&&a.fieldModel.settings.mirroredFieldName?(a=i.getWrapper(a.fieldModel.settings.mirroredFieldName,n),r=a.getValue()||a.value):r=a.value);var s=o.wrapper.fieldModel.settings.mirroredFieldProperty;r=i.getMirroredValueProperty(r,s);var l=i.isHTMLField(a.fieldModel)?i.stripHtml(r):r;i.focusSubscription&&!i.focusSubscription.closed||(i.focusSubscription=o.wrapper.focus.subscribe((function(e){if(!e){var t=o.wrapper.fieldModel.settings,n=t.sanitizeRegex,a=i.sanitizeService.getReplaceCharacter(t);o.wrapper.writeValue(i.sanitizeService.sanitizeValue(l,n,a)),o.lastValue=r}}))),o.wrapper.fieldModel.settings.placeholder=l}}else;}))};for(var r in this.mirrorMappings)a(r)}else this.focusSubscription&&this.focusSubscription.unsubscribe();var s=this.mirrorMappings[t];s&&s.forEach((function(a){if(a&&a.shouldMirror){if(a.wrapper||(a.wrapper=i.getWrapper(a.key,n)),!a.wrapper)return;var r=a.wrapper.fieldModel.settings,s=r.sanitizeRegex,l=i.sanitizeService.getReplaceCharacter(r),c=i.getMirroredValueProperty(e,r.mirroredFieldProperty);c&&a.prefix&&(c=a.prefix+c);var d,f=null===a.lastValue&&(null===a.wrapper.getValue()||a.wrapper.getValue()===u.WP.EMPTY_STRING),p=i.sanitizeService.sanitizeValue(a.lastValue,s,l),A=a.wrapper.getValue();d=a.prefix?a.prefix+p===A:p===A;var m=i.sanitizeService.sanitizeValue(i.stripHtml(a.lastValue),s,l)===A;if(f||d||m){var g=i.getWrapper(t,n),h=i.isHTMLField(g.fieldModel)?i.stripHtml(c):c,v=i.sanitizeService.sanitizeValue(h,s,l);a.wrapper.writeValue(v),a.lastValue=e;var b=a.wrapper.fieldModel.settings;o||!f||b.defaultValue||(b.defaultValue=v)}else a.lastValue=void 0}}))}},{key:"determineShouldMirrorField",value:function determineShouldMirrorField(e,t){if((0,c.my)(e.settings)){var n=e.settings;if(n){var i=n.mirroredFieldName,o=t.find((function(e){return e.key===i}));if(o&&n.enableMirroring){this.mirrorMappings[i]instanceof Array||(this.mirrorMappings[i]=[]);var a=this.getMirroredValueProperty(o.value,n.mirroredFieldProperty);if(this.mirrorMappings[i].push({key:e.key,lastValue:a||null,shouldMirror:!0,prefix:n.prefix}),!e.value&&a){var r=this.isHTMLField(o)?this.stripHtml(a):a;e.value=r}}}}}},{key:"isFieldAvailableForMirroring",value:function isFieldAvailableForMirroring(e,t){if(!e.data||!e.key)return!0;if(t.settings&&t.settings.readOnlyMode)return!1;var n=!0;if(e.metadata.hasLifecycle){if(!e.data.hasOwnProperty(d.E.FIRST_PUBLISHED))return!0;n=null!==e.data[d.E.FIRST_PUBLISHED]}else{e.data.hasOwnProperty(d.E.AvailableLanguages)&&e.culture&&(n=e.data[d.E.AvailableLanguages].indexOf(e.culture)>=0)}return!n||t.key!==d.E.URL_NAME&&t.key!==d.E.NAME}},{key:"updateMirroring",value:function updateMirroring(e,t){if((0,c.my)(e.settings)){var n=e.settings;if(n.enableMirroring!==t){n.enableMirroring=t;var i=this.mirrorMappings[n.mirroredFieldName];if(i){var o=i.find((function(t){return t.key===e.key}));o&&(o.shouldMirror=n.enableMirroring)}}}}},{key:"resetMirroring",value:function resetMirroring(){this.mirrorMappings={}}},{key:"getMirroredValueProperty",value:function getMirroredValueProperty(e,t){return e instanceof Array&&(e=e[0]),t&&e&&(e=e[t]),e}},{key:"getWrapper",value:function getWrapper(e,t){var n,o=(0,i.Z)(t);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a.fieldModel.key===e)return a}}catch(e){o.e(e)}finally{o.f()}}},{key:"isHTMLField",value:function isHTMLField(e){return e.selector===f.U.html}},{key:"stripHtml",value:function stripHtml(e){var t=document.implementation.createHTMLDocument("New").body;return t.innerHTML=e,t.innerText}}]),MirrorService}();p.ctorParameters=function(){return[{type:l.U}]},p=(0,r.gn)([(0,s.GSi)(),(0,r.w6)("design:paramtypes",[l.U])],p)},function(e,t,n){n.d(t,{q:function(){return i}});var i=new(n(7).OlP)("FieldChangeService")},function(e,t,n){n.d(t,{A:function(){return s}});var i=n(4),o=n(5),a=n(65),r=n(7),s=(0,i.Z)((function DynamicTemplateDirective(e){(0,o.Z)(this,DynamicTemplateDirective),this.templateRef=e}));s.ctorParameters=function(){return[{type:r.Rgc}]},s.propDecorators={conditionalFieldRule:[{type:r.IIB}]},s=(0,a.gn)([(0,r.Xek)({selector:"[sfDynamicTemplate]"}),(0,a.w6)("design:paramtypes",[r.Rgc])],s)},function(e,t,n){var i;n.d(t,{D:function(){return i}}),function(e){e.Small="small",e.Medium="medium",e.Large="large"}(i||(i={}))},function(e,t,n){n.d(t,{b:function(){return f}});var i=n(5),o=n(4),a=n(8),r=n(10),s=n(65),l=n(285),c=n(7),d=n(242),u=n(33),f=function(e){(0,a.Z)(ModalSelectorComponent,e);var t=(0,r.Z)(ModalSelectorComponent);function ModalSelectorComponent(){var e;return(0,i.Z)(this,ModalSelectorComponent),(e=t.apply(this,arguments)).dataContext$=new u.xQ,e}return(0,o.Z)(ModalSelectorComponent,[{key:"ngOnInit",value:function ngOnInit(){this.settings.data.searchPlaceholderText=this.settings.data.searchPlaceholderText||"Search..."}},{key:"ngAfterViewInit",value:function ngAfterViewInit(){this.loadData(null,null)}},{key:"onTabClick",value:function onTabClick(e){this.loadData(e,null)}},{key:"onSearch",value:function onSearch(e){this.loadData(null,e)}},{key:"onWidgetSelection",value:function onWidgetSelection(e){this.closeModalCallback(e)}},{key:"setCloseModalCallback",value:function setCloseModalCallback(e){this.closeModalCallback=e}},{key:"loadData",value:function loadData(e,t){var n=this;e=e||this.settings.tabsConfig.tabs.find((function(e){return e.name===n.tabsComponent.currentTab.name})),t=t||this.searchComponent.searchValue,this.settings.data.load({tab:e,searchVal:t}).subscribe((function(e){n.dataContext$.next(e)}))}}]),ModalSelectorComponent}(d.zu);f.propDecorators={settings:[{type:c.IIB}],tabsComponent:[{type:c.i9L,args:[d.R4,{static:!0}]}],searchComponent:[{type:c.i9L,args:[d.zz,{static:!0}]}]},f=(0,s.gn)([(0,c.wA2)({selector:"sf-modal-selector",template:l})],f)},function(e){e.exports='\n \n \n \n \n\n\n\n\n\n\n
    \n

    {{item.title}}

    \n
    \n \n \n \n \n \n
    \n
    \n
    \n \n

    No widgets found

    \n
    \n
    \n'},function(e,t,n){n.d(t,{p:function(){return l}});var i=n(25),o=n(5),a=n(4),r=n(120),s=n(101),l=function(){function AuxServiceBase(e){(0,o.Z)(this,AuxServiceBase),this.router=e,this.globalCommand=new r.t(1),this.mappings=new Map,this.routeStack=new Array,this._activityStatus=new s.X({active:!1,route:null})}return(0,a.Z)(AuxServiceBase,[{key:"active",get:function get(){return this.routeStack.length>0}},{key:"activityStatus",get:function get(){return this._activityStatus.asObservable()}},{key:"currentActivityStatus",get:function get(){return this._activityStatus.getValue()}},{key:"getCommands",value:function getCommands(e){var t=this.mappings.get(e);return t&&t.command?t.command.asObservable():this.globalCommand.asObservable()}},{key:"getData",value:function getData(e){return this.mappings.has(e)?this.mappings.get(e).data:null}},{key:"setData",value:function setData(e,t){this.mappings.set(e,{data:t,command:new r.t(1)})}},{key:"reset",value:function reset(){this.mappings.clear()}},{key:"show",value:function show(e,t){if(!this.mappings.has(e))throw new Error("The key ".concat(e," has no auxiliary mapping defined. Use setMapping to set a value."));if(!t)throw new Error("No relative route to navigate to.");if(this.active&&this.routeStack[this.routeStack.length-1].key===e)return;var n=this.getSettings();this.routeStack.push({key:e,route:t});var i="".concat(n.prefix,"/").concat(e);this._activityStatus.next({route:e,active:this.active}),this.navigate(n,i,t)}},{key:"hide",value:function hide(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.getSettings();if(null===e&&!this.active)throw new Error("Cannot navigate as there is no active state and a parent route is not provided.");var i=null,o=this.getCurrentRoute(t);return o&&(e=o.route,this._activityStatus.next({route:o.key,active:this.active}),this.active&&(i="".concat(n.prefix,"/").concat(o.key))),this.navigate(n,i,e)}},{key:"sendCommand",value:function sendCommand(e,t){this.mappings.has(e)&&this.mappings.get(e).command.next(t);this.globalCommand.next(t)}},{key:"navigate",value:function navigate(e,t,n){var o={outlets:(0,i.Z)({},e.outletName,t)};return this.router.navigate([o],{relativeTo:n,queryParamsHandling:"merge"})}},{key:"getCurrentRoute",value:function getCurrentRoute(e){if(this.active){if(e){var t=this.routeStack.shift();return this.routeStack.length=0,t}var n=this.routeStack.pop();return this.active&&(n=this.routeStack[this.routeStack.length-1]),n}}}]),AuxServiceBase}()},function(e){e.exports='\n\n'},function(e){e.exports='
    \n
    \n \n
    \n
    \n\n\n \n \n \x3c!-- We are using the mousedown event here because\n it is fired before the blur event used in urlNameComponent. If we use \'click\' the blur event is fired before it and the urlNameComponent\n is collapsed which moves the buttons upwards and the following click event is not fired on the button itself but on a pixel where the\n the button used to be --\x3e\n\n \x3c!--TODO:367902--\x3e\n \n \n \n \n \n \n \n \n \n\n\n\n {{button.title}}\n\n\n\n \n\n\n\n \n \n \n {{dropdownButtonText}}\n \n\n \n
    \n \n
    \n
    \n\n
    \n \n
    \n \n
    \n\n
    \n {{dropdownItemHeadingText}}\n
    \n \n \n
    \n {{button.title}}\n
    \n
    \n \n {{button.warningMessage}}\n \n
    \n
    \n \n \n {{button.title}}\n \n \n {{button.context.count | async}}\n \n \n \n \x3c!-- Possible fancy css location --\x3e\n \n {{button.subText}}\n \n
    \n
    \n {{button.title}}\n
    \n
    \n
    \n No actions available\n
    \n
    \n'},function(e){e.exports='\n \n \n \n \n \n \n \n \n \n \n \n \n\n'},function(e){e.exports='\n {{displayName}}\n
    \n
    \n {{ optgroup }}\n
    \n
    \n {{data.Name}}\n
    \n
    \n\n'},function(e){e.exports='\n\n'},function(e){e.exports='\n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n \n

    Preview can not be displayed

    \n\n \n

    {{resolvedMessages.description}}

    \n\n
      \n
    1. Go to Pages
    2. \n
    3. {{resolvedMessages.secondStep}}
    4. \n
    5. Publish the page
    6. \n
    \n
    \n\n Go to Pages\n
    \n'},function(e){e.exports=":host {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n display: block;\n}"},function(e){e.exports='
    \n \n

    {{headerText}}

    \n {{superScript}}\n
    \n'},function(e){e.exports='
    \n \n
    \n

    {{headerText}}

    \n \n
    \n\n \n\n \n \n
    \n'},function(e){e.exports='\n\n\n
    \n

    {{ this.entityData.data[this.entityData.metadata.defaultFieldName] }}

    \n
    \nWarning: {{viewModel.NotificationMessage}}\n
    \n

    {{ category.Title }} {{category.Subtitle}}

    \n
    \n \n \n
    {{ template.Title }}
    \n
    Used by {{ template.UsedByNumberOfPages }} pages
    \n
    \n
    \n
    \n
    \n
    \n \n

    No templates have been created yet

    \n
    \n
    \n'},function(e){e.exports='\n\n\n
    \n {{operation.Title}}\n
    \n'},function(e){e.exports='\n {{message}}\n {{failedItemsMessage}}\n\n'},function(e){e.exports='\n {{succeededItemsIds.length}} {{succeededItemsIds.length > 1 ? "items were" : "item was"}} {{operationNamePastTense}} successfully.\n\n\n\n \n failed to {{operationName}}.\n\n\n\n \n out of {{succeededItemsIds.length + failedItemsIds.length}} failed to {{operationName}}.\n\n\n\n {{failedItemsIds.length}} {{failedItemsIds.length > 1 ? "items" : "item"}}\n\n'},function(e){e.exports='\n
    \n
    \n \n \n
    \n

    {{componentSubtitle}}

    \n \n

    {{componentTitle}}

    \n
    \n \n \n \n
    \n
    \n'},function(e){e.exports='
    Navigation options
    \n\n \n \n \n \n \n \n
    \n \n {{selectedRedirectPage}}\n \n \n \n
    \n\n\n\n\n \n \n\n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n \n
    \n'},function(e){e.exports='\n\n\x3c!-- Bottom buttons wrapper --\x3e\n\n
    \n \n
    \n
    \n\n\x3c!-- Buttons --\x3e\n\n
    \n\n \n {{ button.content }} \n
    \n
    \n\n\x3c!-- Circle Buttons like close --\x3e\n\n
    \n \n \n \n \n \n \n \n {{ button.content }}\n \n \n \n
    \n
    \n\n\x3c!-- Templates --\x3e\n\x3c!-- Top toolbar with buttons --\x3e\n\n
    \n

    {{currentData.heading.title}}

    \n
    \n \n
    \n
    \n
    \n\n'},function(e){e.exports='@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root .sf-modal-window {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n}\n:root .sf-modal-window.-prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n flex-wrap: wrap;\n}\n:root .sf-modal-window.-no-selection::after {\n display: block;\n content: " ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: #DCECF5;\n z-index: 1;\n}\n:root .sf-modal-window:not(.-prompt) {\n padding-bottom: 66px;\n}\n:root .sf-modal-window:not(.-prompt) .sf-modal-window__content {\n padding-top: 100px;\n}\n:root .sf-modal-window__head-buttons {\n position: fixed;\n top: 8px;\n right: 15px;\n z-index: 1000000;\n}\n:root .sf-modal-window__top-toolbar {\n z-index: 10000000;\n}\n:root .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content {\n padding-left: 50px;\n padding-right: 50px;\n}\n:root .sf-modal-window__buttons {\n background-color: #fff;\n}\n:root .sf-modal-window__buttons.-border-top {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n}\n:root .sf-modal-window__buttons.-bottom {\n padding-top: 15px;\n padding-bottom: 15px;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n border-top: 1px solid #eee;\n}\n:root .sf-modal-window.-no-padding-top .sf-modal-window__content {\n padding-top: 0;\n}\n:root .sf-modal-window.-narrow .sf-modal-window__content {\n width: 850px;\n margin: 0 auto;\n}\n:root .sf-modal-window.-preview {\n padding-bottom: 0;\n}\n:root .sf-modal-window.-preview .sf-modal-window__content {\n background-color: #f5f5f5;\n padding-top: 46px;\n min-height: 100vh;\n}\n:root .sf-modal-window__content {\n background-color: #fff;\n}'},function(e){e.exports='\n \n \n \n \n \n\n \n \n \n \n \n\n'},function(e){e.exports='
    \n

    {{ messages.title.select(this.formattedTypeName) }}

    \n
    \n \n \n
    \n
    \n or\n
    \n\n \n\n

    \n {{ messages.drop(this.formattedTypeName) }}\n

    \n
    \n\n\n'},function(e){e.exports=".sf-upload {\n min-height: 400px;\n min-width: 500px;\n}"},function(e){e.exports='\n \n

    {{ messages.title.select(this.formattedTypeName) }}

    \n from {{ parentLibraryTitle }}\n
    \n \n Selected\n {{value.length}}\n \n
    \n
    \n
    \n\n\n\n \n
    \n \n \n
    \n \n \n
    \n
    \n \n \n \n
    \n \n

    No {{mediaEntity.setName}} found

    \n
    \n
    \n\n \n
    \n \n \n
    \n \n \n
    \n
    \n \n \n \n
    \n {{ parentLibraryTitle }}\n \n \n {{ library.data.Title }}\n {{ library.data.Title }}\n \n
    \n \n \n \n \n
    \n \n

    No {{mediaEntity.setName}} found

    \n
    \n
    \n\n \n \n \n
    \n \n

    Selected {{mediaEntity.setName}} will appear here

    \n
    \n
    \n\n \n \n \n \n\n
    \n'},function(e){e.exports='
    \n
    \n

    {{messages.title.upload(this.formattedTypeName)}}

    \n
    \n \n \n \n
    \n
    \n \x3c!--TODO: change classes/ids? for all file-picker-related components--\x3e\n \x3c!--TODO: adapt file-preview--\x3e\n \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n \n \n
    \n \n
    \n \n \n \n
    \n
    \n
    \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n'},function(e){e.exports='\n\n \x3c!-- TODO refactor to use list Story in TP#249812 --\x3e\n\n\n \n \n \n\n \n \n \n \n \n
    \n {{ field.settings.title ? field.settings.title : field.key }}\n
    \n \n \n
    \n\n\n \n

    Selected items from the current language will be displayed here

    \n
    \n'},function(e){e.exports='
    \n \n
    \n'},,,function(e){e.exports='\n
    \n
    \n

    {{messages.title.upload(this.formattedTypeName)}}

    \n
    \n \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    Uploading...
    \n
    {{ files[index].upload.errorMessage || \'Upload failed.\' }} Retry
    \n
    Done
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n'},function(e){e.exports='\n'},function(e){e.exports='\n\n\n\n\n'},function(e){e.exports='\n \n \n\n\n \n \n\n'},function(e){e.exports='@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root .k-calendar-caption, :root .k-calendar-caption.k-calendar-th, :root .k-calendar .k-meta-header, :root .k-calendar .k-month-header {\n padding: 4px 8px;\n height: 32px;\n box-sizing: border-box;\n text-transform: none;\n text-align: left;\n font-weight: bold;\n cursor: default;\n}\n:root .k-datepicker,\n:root .k-timepicker {\n display: inline-flex;\n font-size: 14px;\n align-items: center;\n overflow: visible;\n margin-right: 35px;\n border-color: var(--input-border);\n transition: border-color 0.3s;\n width: 10.4em !important;\n height: 36px;\n text-indent: 0;\n}\n:root .k-datepicker .k-input-button,\n:root .k-timepicker .k-input-button {\n position: absolute;\n top: auto;\n right: -35px;\n padding: 0;\n border-radius: 50%;\n height: auto;\n border: 0;\n}\n:root .k-datepicker.k-focus,\n:root .k-timepicker.k-focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\n:root .k-datepicker.k-focus .k-input-button,\n:root .k-timepicker.k-focus .k-input-button {\n background-color: var(--date-time-icon-border-color);\n}\n:root .k-datepicker.k-focus .k-button-icon,\n:root .k-timepicker.k-focus .k-button-icon {\n color: #333;\n}\n:root .k-datepicker:hover,\n:root .k-timepicker:hover {\n background-color: transparent;\n}\n:root .k-datepicker.-small,\n:root .k-timepicker.-small {\n width: 105px;\n}\n:root .k-datepicker.-medium,\n:root .k-timepicker.-medium {\n width: 140px;\n}\n:root .k-datepicker.k-disabled,\n:root .k-timepicker.k-disabled {\n opacity: 1;\n filter: grayscale(0);\n}\n:root .k-datepicker.k-disabled .k-input,\n:root .k-timepicker.k-disabled .k-input {\n background-color: #f5f5f5;\n color: #ccc;\n}\n:root .k-datepicker .k-input,\n:root .k-timepicker .k-input {\n inline-size: 100%;\n}\n:root .k-datepicker .k-icon,\n:root .k-timepicker .k-icon {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--icon-size-xs);\n width: 24px;\n height: 24px;\n color: var(--date-time-icon-color);\n border: 1px solid var(--date-time-icon-border-color);\n border-radius: 50%;\n transition: background-color 0.3s, color 0.3s;\n}\n:root .k-datepicker .k-icon:hover,\n:root .k-timepicker .k-icon:hover {\n color: #333;\n background-color: var(--date-time-icon-border-color);\n}\n:root .k-datepicker .k-icon.k-i-calendar:before,\n:root .k-timepicker .k-icon.k-i-calendar:before {\n content: "\\f073";\n}\n:root .k-datepicker .k-icon.k-i-clock,\n:root .k-timepicker .k-icon.k-i-clock {\n font-size: var(--icon-size-s);\n}\n:root .k-datepicker .k-icon.k-i-clock:before,\n:root .k-timepicker .k-icon.k-i-clock:before {\n content: "\\f017";\n}\n:root .k-dateinput {\n height: 100%;\n}\n:root .k-calendar * {\n box-sizing: content-box;\n}\n:root .k-calendar .k-link {\n box-sizing: border-box;\n}\n:root .k-calendar th,\n:root .k-calendar .k-calendar-th {\n padding: 0.25em 0;\n font-size: 12px;\n line-height: 2;\n text-transform: uppercase;\n font-weight: normal;\n}\n:root .k-calendar td {\n color: #333;\n}\n:root .k-calendar td.k-state-focused .k-link {\n box-shadow: none;\n}\n:root .k-calendar .k-today .k-link {\n color: inherit;\n box-shadow: none;\n}\n:root .k-calendar .k-today.k-nav-today {\n text-transform: uppercase;\n}\n:root .k-calendar .k-content {\n color: var(--date-time-content-color);\n}\n:root .k-calendar .k-content th {\n padding-top: 8px;\n padding-bottom: 8px;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-navigation {\n background-color: #f5f5f5;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-navigation:after, :root .k-calendar:not(.k-infinite) .k-calendar-navigation:before {\n display: none;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-header .k-today {\n color: #006CD9;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-header .k-today:hover {\n color: #333;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview,\n:root .k-calendar:not(.k-infinite) .k-calendar-view {\n height: 21.07143em;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview:after {\n display: none;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-calendar-weekdays {\n width: 100%;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-calendar-weekdays thead {\n counter-reset: #777;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-calendar-weekdays thead,\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-weekend,\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-content th {\n opacity: 1;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-weekend {\n color: #777;\n background-color: transparent;\n}\n:root .k-calendar:not(.k-infinite) .k-content .k-today {\n color: #333;\n}\n:root .k-calendar:not(.k-infinite) .k-content .k-reset li:hover {\n color: #777;\n}\n:root .k-calendar:not(.k-infinite) .k-content .k-state-selected {\n box-shadow: none;\n}\n:root .k-calendar:not(.k-infinite) .k-link {\n border-radius: 50%;\n}\n:root .k-calendar:not(.k-infinite) .k-state-focused .k-link {\n background-color: transparent;\n box-shadow: inset 0 0 0 1px var(--input-border);\n}\n:root .k-calendar:not(.k-infinite) .k-state-selected .k-link {\n background-color: #DCECF5;\n color: #333;\n}\n:root .k-time-header .k-time-now {\n color: #006CD9;\n text-transform: uppercase;\n}\n:root .k-time-header .k-time-now:hover {\n color: #333;\n}\n:root .k-time-header .k-button.k-bare {\n padding: 0;\n}\n:root .k-time-header .k-button.k-bare:hover:before,\n:root .k-time-header .k-button.k-bare:active:before,\n:root .k-time-header .k-button.k-bare:active:after,\n:root .k-time-header .k-button.k-bare:focus::after,\n:root .k-time-header .k-button.k-bare.k-state-hover:before,\n:root .k-time-header .k-button.k-bare.k-state-active:before,\n:root .k-time-header .k-button.k-bare.k-state-active:after,\n:root .k-time-header .k-button.k-bare.k-state-focused::after {\n opacity: 0;\n}\n:root .k-time-list-container .k-time-list-wrapper {\n background-color: #fff;\n width: 5.25em;\n box-sizing: content-box;\n}\n:root .k-time-list-container .k-time-list-wrapper ul {\n width: auto;\n}\n:root .k-time-list-container .k-time-list-wrapper .k-title {\n color: #777;\n background-color: transparent;\n border-bottom: 1px solid var(--input-border);\n}\n:root .k-time-list-container .k-time-list-wrapper.k-state-focused:before, :root .k-time-list-container .k-time-list-wrapper.k-state-focused:after {\n background-color: #f5f5f5;\n}\n:root .k-time-list-container .k-time-list-wrapper.k-state-focused .k-title {\n color: #333;\n}\n:root .k-time-list-container .k-time-list:after, :root .k-time-list-container .k-time-list:before {\n display: none;\n}\n:root .k-time-list-container .k-time-list .k-item:hover {\n color: #333;\n}\n:root .k-time-footer.k-action-buttons {\n border-top: 1px solid #e4e4e4;\n margin-top: 0;\n}\n:root .k-time-footer.k-action-buttons .k-time-accept {\n color: #006CD9;\n background: none;\n border: none;\n justify-content: flex-start;\n}\n:root .k-time-footer.k-action-buttons .k-time-accept:hover, :root .k-time-footer.k-action-buttons .k-time-accept:focus, :root .k-time-footer.k-action-buttons .k-time-accept:active {\n color: #333;\n background-color: transparent;\n box-shadow: none;\n}\n:root .k-animation-container {\n box-shadow: 0 2px 4px 0 #ededee, 0 4px 5px 0 #ededee;\n}\n:root .-empty input {\n color: var(--input-placeholder-color);\n}\n:root .-input-only {\n margin-right: 0;\n}\n:root .-input-only .k-input-button {\n display: none;\n}'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n
    \n
    \n\n {{isCollapsed ? expandButtonText : collapseButtonText}}\n\n'},function(e){e.exports='
    \n {{ displayAsRelativeDate ? (date | sfRelativeDate) : (date) }}\n {{ time }}\n
    \n'},function(e){e.exports='
    \n \n \n\n
    \n {{ parentTitle }}\n
    \n\n \x3c!-- // TODO: change the sf-tree-wrapper with sf-list --\x3e\n \n \n \n
    \n\n'},function(e){e.exports='\n'},function(e){e.exports='\n \n \n\n\n'},function(e){e.exports='\n \n\n\n\n \n \n \n\n\n\n \n\n'},function(e){e.exports='
    \n \x3c!--make localizable--\x3e\n

    Sections

    \n \n Back to top \n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='\n'},function(e){e.exports='
    \n \n {{title}}\n \n \n
    \n
    \n Source\n
    \n \n
    \n {{item.Name}}\n
    \n
    \n
    \n \n
    \n'},function(e){e.exports='\n\n\x3c!-- Templates --\x3e\n\x3c!-- Multiple children template --\x3e\n\n \n \n {{value.length}}\n \n \n 0\n\n\n\x3c!-- Single child template --\x3e\n\n \n {{value[0][_defaultFieldName]}}\n
    \n
    \n
    \n
    \n'},function(e){e.exports='\n'},function(e){e.exports='
    \n
    \n
    \n'},function(e,t,n){n.d(t,{_:function(){return c}});var i=n(4),o=n(5),a=n(65),r=n(7),s=n(242),l=[s.ah,s.Sm,s.o1,s.wI,s.PE,s.ZV,s.D2,s.TX,s.NP,s.pw,s.hU,s.cY,s.zj,s.YO,s.zh,s.Vm,s.vA,s.Cd],c=(0,i.Z)((function SitefinityComponentsModule(){(0,o.Z)(this,SitefinityComponentsModule)}));c=(0,a.gn)([(0,r.LVF)({imports:l,exports:l})],c)},function(e){e.exports='

    PREVENT_BROWSER_SCROLL_WHEN_STICKY

    \n
    \n \n

    {{heading}}

    \n
    \n

    {{heading}}

    \n {{ superScript }}\n
    \n
    \n \n \n \n \n\tBack to top\n
    \n'},function(e){e.exports='\n
    {{cardLabel}}
    \n \n
    \n {{buttonText}}\n
    \n \n
    \n'},function(e){e.exports='
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    Move content before removing column
    \n\n \n \n \n {{paneItem.sizeInPercent}}\n \n \n\n
    \n'},function(e){e.exports='@charset "UTF-8";\n.k-theme-test-class,\n.k-common-test-class {\n opacity: 0;\n}\n[hidden] {\n display: none !important;\n}\nscript {\n display: none !important;\n}\n.k-hidden {\n display: none !important;\n}\n.k-rtl {\n direction: rtl;\n}\n.k-sr-only {\n position: absolute;\n left: -1px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n.k-hbox,\n.k-hstack {\n display: flex;\n flex-flow: row nowrap;\n}\n.k-vbox,\n.k-vstack {\n display: flex;\n flex-flow: column nowrap;\n}\n.k-flex,\n.k-spacer {\n flex: 1 0 0%;\n}\n.k-flex-layout {\n display: flex;\n}\n.k-grid-layout {\n display: grid;\n}\n.k-separator {\n width: auto;\n height: 0;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: inherit;\n display: block;\n flex-grow: 0 !important;\n flex-shrink: 0 !important;\n align-self: stretch;\n}\n.k-separator-horizontal,\n.k-vstack > .k-separator {\n width: auto;\n height: 0;\n border-width: 1px 0 0;\n}\n.k-separator-vertical,\n.k-hstack > .k-separator {\n width: 0;\n height: auto;\n border-width: 0 0 0 1px;\n}\nhr.k-separator {\n margin: 0;\n padding: 0;\n}\n.k-reset {\n margin: 0;\n padding: 0;\n border-width: 0;\n outline: 0;\n text-decoration: none;\n font: inherit;\n list-style: none;\n}\nkendo-sortable {\n display: block;\n}\n.k-link,\n.k-link:hover {\n color: inherit;\n text-decoration: none;\n outline: 0;\n cursor: pointer;\n}\n.k-content {\n outline: 0;\n}\n.k-centered {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.k-no-click {\n pointer-events: none;\n}\n.k-pdf-export-shadow {\n position: absolute;\n overflow: hidden;\n left: -15000px;\n width: 14400px;\n}\n.kendo-pdf-hide-pseudo-elements::before,\n.kendo-pdf-hide-pseudo-elements::after {\n display: none !important;\n}\n.k-text-selection ::-moz-selection {\n background-color: #ff6358;\n color: white;\n}\n.k-text-selection ::selection {\n background-color: #ff6358;\n color: white;\n}\n.k-block,\n.k-panel {\n border-radius: 4px;\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n padding: 4px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n}\n.k-block > .k-header,\n.k-panel > .k-header {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #fafafa;\n margin: -4px -8px 4px;\n padding: 8px 8px;\n}\n.k-content {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-state-disabled,\n.k-widget[disabled],\n.k-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-state-disabled .k-link,\n.k-widget[disabled] .k-link,\n.k-disabled .k-link {\n cursor: default;\n outline: 0;\n}\n.k-state-disabled [disabled],\n.k-state-disabled .k-disabled,\n.k-state-disabled .k-state-disabled,\n.k-widget[disabled] [disabled],\n.k-widget[disabled] .k-disabled,\n.k-widget[disabled] .k-state-disabled,\n.k-disabled [disabled],\n.k-disabled .k-disabled,\n.k-disabled .k-state-disabled {\n opacity: 1;\n filter: grayscale(0);\n}\n.k-hr {\n margin: 1em auto;\n padding: 0;\n height: 0;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: rgba(0, 0, 0, 0.08);\n display: block;\n float: none;\n clear: both;\n}\n.k-d-flex-row > .k-hr {\n margin: 0;\n width: 0;\n height: auto;\n border-width: 0 0 0 1px;\n flex: 0 0 auto;\n}\n.k-d-flex-col > .k-hr {\n margin: 0;\n flex: 0 0 auto;\n}\n.k-dirty {\n margin: 0;\n padding: 0;\n width: 0;\n height: 0;\n border-width: 3px;\n border-style: solid;\n border-color: #f31700 #f31700 transparent transparent;\n position: absolute;\n top: 0;\n right: 0;\n}\n[dir=rtl] .k-dirty,\n.k-rtl .k-dirty {\n border-color: transparent transparent #f31700 #f31700;\n right: auto;\n left: 0;\n}\n.k-placeholder-line {\n width: 100%;\n height: 10px;\n background-color: rgba(0, 0, 0, 0.1);\n display: inline-block;\n}\n.k-drop-hint {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n z-index: 1000;\n transform: translate(-50%, -50%);\n}\n.k-drop-hint-start,\n.k-drop-hint-end {\n flex-shrink: 0;\n border-width: 4px;\n border-style: solid;\n border-color: transparent;\n}\n.k-drop-hint-line {\n flex-grow: 1;\n background-color: #ff6358;\n}\n.k-drop-hint-h .k-drop-hint-start {\n border-left-width: 6.9282032304px;\n border-left-color: #ff6358;\n border-right-width: 0;\n}\n.k-drop-hint-h .k-drop-hint-line {\n width: 20px;\n height: 1px;\n}\n.k-drop-hint-h .k-drop-hint-end {\n border-right-width: 6.9282032304px;\n border-right-color: #ff6358;\n border-left-width: 0;\n}\n.k-drop-hint-v {\n flex-direction: column;\n}\n.k-drop-hint-v .k-drop-hint-start {\n border-top-width: 6.9282032304px;\n border-top-color: #ff6358;\n border-bottom-width: 0;\n}\n.k-drop-hint-v .k-drop-hint-line {\n width: 1px;\n height: 20px;\n}\n.k-drop-hint-v .k-drop-hint-end {\n border-bottom-width: 6.9282032304px;\n border-bottom-color: #ff6358;\n border-top-width: 0;\n}\n.k-animation-container {\n position: absolute;\n overflow: hidden;\n z-index: 100;\n}\n.k-animation-container-fixed {\n position: fixed;\n}\n.k-animation-container-relative {\n position: relative;\n display: inline-block;\n}\n.k-push-right-enter, .k-push-right-appear {\n transform: translate(-100%, 0);\n}\n.k-push-right-enter-active, .k-push-right-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-right-exit {\n transform: translate(0, 0);\n}\n.k-push-right-exit-active {\n transform: translate(100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-enter, .k-push-left-appear {\n transform: translate(100%, 0);\n}\n.k-push-left-enter-active, .k-push-left-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-exit {\n transform: translate(0, 0);\n}\n.k-push-left-exit-active {\n transform: translate(-100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-enter, .k-push-down-appear {\n transform: translate(0, -100%);\n}\n.k-push-down-enter-active, .k-push-down-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-exit {\n transform: translate(0, 0);\n}\n.k-push-down-exit-active {\n transform: translate(0, 100%);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-enter, .k-push-up-appear {\n transform: translate(0, 100%);\n}\n.k-push-up-enter-active, .k-push-up-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-exit {\n transform: translate(0, 0);\n}\n.k-push-up-exit-active {\n transform: translate(0, -100%);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-enter, .k-expand-vertical-appear {\n transform: scaleY(0);\n}\n.k-expand-vertical-enter-active, .k-expand-vertical-appear-active {\n transform: scaleY(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-exit {\n transform: scaleY(1);\n}\n.k-expand-vertical-exit-active {\n transform: scaleY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-enter, .k-expand-horizontal-appear {\n transform: scaleX(0);\n}\n.k-expand-horizontal-enter-active, .k-expand-horizontal-appear-active {\n transform: scaleX(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-exit {\n transform: scaleX(1);\n}\n.k-expand-horizontal-exit-active {\n transform: scaleX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-fade-enter, .k-fade-appear {\n opacity: 0;\n}\n.k-fade-enter-active, .k-fade-appear-active {\n opacity: 1;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit {\n opacity: 1;\n}\n.k-fade-exit-active {\n opacity: 0;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit-active + .k-fade-exit-active, .k-fade-enter-active + .k-fade-enter-active {\n display: none;\n}\n.k-zoom-in-enter, .k-zoom-in-appear {\n opacity: 0;\n transform: scale(0);\n}\n.k-zoom-in-enter-active, .k-zoom-in-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-in-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-in-exit-active {\n opacity: 0;\n transform: scale(2);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-enter, .k-zoom-out-appear {\n opacity: 0;\n transform: scale(2);\n}\n.k-zoom-out-enter-active, .k-zoom-out-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-out-exit-active {\n opacity: 0;\n transform: scale(0);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-slide-in-appear {\n opacity: 0.1;\n transform: translate(0, -3em);\n}\n.k-slide-in-appear .k-centered {\n transform: translate(-50%, -60%);\n}\n.k-slide-in-appear-active {\n opacity: 1;\n transform: translate(0, 0);\n transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1), opacity 0.3s cubic-bezier(0.2, 1, 0.2, 1);\n}\n.k-slide-in-appear-active .k-centered {\n transform: translate(-50%, -50%);\n}\n.k-slide-down-enter, .k-slide-down-appear {\n transform: translateY(-100%);\n}\n.k-slide-down-enter-active, .k-slide-down-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-down-exit {\n transform: translateY(0);\n}\n.k-slide-down-exit-active {\n transform: translateY(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-enter, .k-slide-up-appear {\n transform: translateY(100%);\n}\n.k-slide-up-enter-active, .k-slide-up-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-exit {\n transform: translateY(0);\n}\n.k-slide-up-exit-active {\n transform: translateY(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-enter, .k-slide-right-appear {\n transform: translateX(-100%);\n}\n.k-slide-right-enter-active, .k-slide-right-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-exit {\n transform: translateX(0);\n}\n.k-slide-right-exit-active {\n transform: translateX(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-enter, .k-slide-left-appear {\n transform: translateX(100%);\n}\n.k-slide-left-enter-active, .k-slide-left-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-exit {\n transform: translateX(0);\n}\n.k-slide-left-exit-active {\n transform: translateX(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-reveal-vertical-enter, .k-reveal-vertical-appear {\n max-height: 0;\n}\n.k-reveal-vertical-enter-active, .k-reveal-vertical-appear-active {\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-vertical-exit-active {\n max-height: 0 !important;\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-horizontal-enter, .k-reveal-horizontal-appear {\n max-width: 0;\n}\n.k-reveal-horizontal-enter-active, .k-reveal-horizontal-appear-active {\n transition: max-width 300ms ease-in-out;\n}\n.k-reveal-horizontal-exit-active {\n max-width: 0 !important;\n transition: max-width 300ms ease-in-out;\n}\n.k-fx-end .k-fx-next,\n.k-fx-end .k-fx-current {\n transition: all 350ms ease-out;\n}\n.k-fx {\n position: relative;\n}\n.k-fx .k-fx-current {\n z-index: 0;\n}\n.k-fx .k-fx-next {\n z-index: 1;\n}\n.k-fx-hidden,\n.k-fx-hidden * {\n visibility: hidden !important;\n}\n.k-fx-reverse .k-fx-current {\n z-index: 1;\n}\n.k-fx-reverse .k-fx-next {\n z-index: 0;\n}\n.k-fx-zoom.k-fx-start .k-fx-next {\n transform: scale(0) !important;\n}\n.k-fx-zoom.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next, .k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current {\n transform: scale(0) !important;\n}\n.k-fx-fade.k-fx-start .k-fx-next {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-fade.k-fx-end .k-fx-next {\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current {\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-content, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer, .k-fx-slide.k-fx-end .k-fx-current .km-content, .k-fx-slide.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-end .k-fx-current .km-footer {\n transition: all 350ms ease-out;\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-start .k-fx-next .km-content {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-start .k-fx-next .km-footer {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer {\n opacity: 0;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0%);\n}\n.k-fx-tile.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0%);\n}\n.k-fx.k-fx-overlay.k-fx-start .k-fx-next, .k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next {\n transform: translateY(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next {\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current, .k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current {\n transform: translateY(-100%);\n}\n.k-drag-clue {\n border-radius: 4px;\n padding: 4px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 14px;\n font-family: inherit;\n line-height: 1.4285714286;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n align-content: center;\n white-space: nowrap;\n overflow: hidden;\n position: absolute;\n z-index: 20000;\n cursor: move;\n}\n.k-drag-status,\n.k-drag-clue .k-drag-status {\n margin: 0;\n margin-right: 0.4ex;\n}\n.k-drag-clue {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #fafafa;\n}\n.k-reorder-cue {\n position: absolute;\n}\n.k-reorder-cue::before, .k-reorder-cue::after {\n content: "";\n width: 0;\n height: 0;\n border: 3px solid transparent;\n position: absolute;\n transform: translateX(-50%);\n}\n.k-reorder-cue::before {\n border-bottom-width: 0;\n border-top-color: currentColor;\n top: -4px;\n}\n.k-reorder-cue::after {\n border-top-width: 0;\n border-bottom-color: currentColor;\n bottom: -4px;\n}\n.k-loading-mask,\n.k-loading-image,\n.k-loading-color {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n}\n.k-loading-mask *,\n.k-loading-mask *::before,\n.k-loading-mask *::after, .k-loading-mask::before, .k-loading-mask::after,\n.k-loading-image *,\n.k-loading-image *::before,\n.k-loading-image *::after,\n.k-loading-image::before,\n.k-loading-image::after,\n.k-loading-color *,\n.k-loading-color *::before,\n.k-loading-color *::after,\n.k-loading-color::before,\n.k-loading-color::after {\n box-sizing: border-box;\n}\n.k-loading-mask {\n z-index: 100;\n}\n.k-loading-mask.k-opaque .k-loading-color {\n opacity: 1;\n}\n.k-loading-text {\n text-indent: -4000px;\n text-align: center;\n position: absolute;\n}\n.k-loading-image {\n z-index: 2;\n}\n.k-loading-color {\n background-color: #ffffff;\n opacity: 0.3;\n}\n.k-i-loading {\n position: relative;\n background-color: transparent;\n box-sizing: border-box;\n color: currentColor;\n}\n.k-i-loading::before, .k-i-loading::after {\n box-sizing: border-box;\n}\n.k-i-loading::before,\n.k-i-loading::after,\n.k-loading-image::before,\n.k-loading-image::after {\n position: absolute;\n top: 50%;\n left: 50%;\n display: inline-block;\n content: "";\n box-sizing: inherit;\n border-radius: 50%;\n border-width: 0.05em;\n border-style: solid;\n border-color: currentColor;\n border-top-color: transparent;\n border-bottom-color: transparent;\n background-color: transparent;\n}\n.k-icon.k-i-loading::before,\n.k-icon.k-i-loading::after {\n content: "";\n}\n.k-i-loading::before,\n.k-loading-image::before {\n margin-top: -0.5em;\n margin-left: -0.5em;\n width: 1em;\n height: 1em;\n -webkit-animation: k-loading-animation 0.7s linear infinite;\n animation: k-loading-animation 0.7s linear infinite;\n}\n.k-i-loading::after,\n.k-loading-image::after {\n margin-top: -0.25em;\n margin-left: -0.25em;\n width: 0.5em;\n height: 0.5em;\n animation: k-loading-animation reverse 1.4s linear infinite;\n}\n.k-loading-image::before,\n.k-loading-image::after {\n content: "";\n border-width: 1px;\n border-width: clamp(0.015em, 1px, 1px);\n font-size: 4em;\n}\n@-webkit-keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@-webkit-keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.k-resize-handle,\n.k-resize-hint {\n position: absolute;\n border-color: inherit;\n z-index: 200;\n}\n.k-resize-handle {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.k-resize-handle::before {\n content: "";\n border: 0 solid;\n border-color: inherit;\n}\n.k-resize-n {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n top: -3px;\n cursor: n-resize;\n}\n.k-resize-s {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n bottom: -3px;\n cursor: s-resize;\n}\n.k-resize-w {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n left: -3px;\n cursor: w-resize;\n}\n.k-resize-e {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n right: -3px;\n cursor: e-resize;\n}\n.k-resize-sw,\n.k-resize-se,\n.k-resize-nw,\n.k-resize-ne {\n width: 5px;\n height: 5px;\n}\n.k-resize-sw {\n cursor: sw-resize;\n bottom: 0;\n left: 0;\n}\n.k-resize-se {\n cursor: se-resize;\n bottom: 0;\n right: 0;\n}\n.k-resize-nw {\n cursor: nw-resize;\n top: 0;\n left: 0;\n}\n.k-resize-ne {\n cursor: ne-resize;\n top: 0;\n right: 0;\n}\n.k-vertical-resize {\n cursor: row-resize;\n}\n.k-horizontal-resize {\n cursor: col-resize;\n}\n.k-resize-hint {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.k-resize-hint .k-resize-hint-handle {\n width: auto;\n height: 20px;\n align-self: stretch;\n}\n.k-resize-hint .k-resize-hint-marker {\n width: 2px;\n height: auto;\n flex: 1 1 auto;\n}\n.k-resize-hint-vertical {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.k-resize-hint-vertical .k-resize-hint-handle {\n width: 20px;\n height: auto;\n align-self: stretch;\n}\n.k-resize-hint-vertical .k-resize-hint-marker {\n width: auto;\n height: 2px;\n flex: 1 1 auto;\n}\n.k-scrollbar {\n position: absolute;\n overflow: scroll;\n}\n.k-scrollbar-vertical {\n top: 0;\n right: 0;\n width: 17px;\n height: 100%;\n overflow-x: hidden;\n}\n.k-touch-scrollbar {\n display: none;\n position: absolute;\n z-index: 200000;\n height: 8px;\n width: 8px;\n border: 1px solid #8a8a8a;\n background-color: #858585;\n}\n.k-marquee {\n position: absolute;\n z-index: 100000;\n}\n.k-marquee-color,\n.k-marquee-text {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.k-marquee-color {\n color: white;\n background-color: #ff6358;\n border-color: rgba(0, 0, 0, 0.08);\n opacity: 0.6;\n}\n.k-marquee-text {\n color: white;\n}\n@font-face {\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-weight: normal;\n src: url(data:font/ttf;base64,AAEAAAAMAIAAAwBAR1NVQnTVdVMAAADMAABJ7E9TLzIPEgdLAABKuAAAAGBjbWFwa3toOgAASxgAAADMZ2FzcAAAABAAAEvkAAAACGdseWYBXgGQAABL7AABwdhoZWFkH1kGVQACDcQAAAA2aGhlYQfABm4AAg38AAAAJGhtdHgaA98WAAIOIAAACrRsb2Nh7cpdpgACGNQAAAVcbWF4cALsAy4AAh4wAAAAIG5hbWX0B/U8AAIeUAAABOlwb3N0AAMAAAACIzwAAAAgAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAoAAAABADoAGgByCmIPrhXCGTQZvh+wIbIjpCYQKBYofiwIL0Ivli/oNSI1jjjMPbJGYkc8SChI3EkySagAAQAaAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAlACYCrABIAJIAngC6ANAA6AEIASoBQAFkAXYBjAGkAb4B5gH8AhYCNgJUAnICigKgAsYC8gMcA0YDaAOQA7YD3AP0BBIELgRKBG4EkAS4BN4E/gUYBS4FTAVmBXQFfAWiBcYF2gX2BjYGega4BvoHJAdMB2QHfgeqB9QH7ggWCDwIUghuCJoIxAjeCQoJNAlOCX4JsgnUAO0ABQAhABAAFQAbAJMADQAgACAADQAPABQAGQARABoAIAAEAAkACgCSAAoAIAAgAA0ADwAUABkAEQAaACAARwALAB4AHgAbACMAHwAEAB8AIwANABwARQAPAB4AHgAbACMAHwAEAB4AEQAfABUAJgAVABoAEwA4ABAAHgAeABsAIwAfAAQAGgAbAAQADwAUAA0AGgATABEANwAKAB4AHgAbACMAHwAEABcAHAAVAEYAEQAeAB4AGwAjAB8ABAAQABUAGQARABoAHwAVABsAGgAfAD4ACAAeAB4AGwAjAAQAIQAcAEQACgAeAB4AGwAjAAQAHgAbABsAIAA/AAsAHgAeABsAIwAEAB4AFQATABQAIABDAAwAHgAeABsAIwAEABwADQAeABEAGgAgADkAEwAeAB4AGwAjAAQAGwAiABEAHgASABgAGwAjAAQAEAAbACMAGgBBAAoAHgAeABsAIwAEABgAEQASACAALwAMAB4AHgAbACMABAARABoAEAAEACEAHAAwAA8AHgAeABsAIwAEABEAGgAQAAQAHgAVABMAFAAgADIADgAeAB4AGwAjAAQAEQAaABAABAAYABEAEgAgADEADgAeAB4AGwAjAAQAEQAaABAABAAQABsAIwAaAEIACwAeAB4AGwAjAAQAEAAeABUAGAAYAEAACgAeAB4AGwAjAAQAEAAbACMAGgAzABIAHgAeABsAIwAEABAAGwAhAA4AGAARAAQACwAFAAQAIQAcADQAFQAeAB4AGwAjAAQAEAAbACEADgAYABEABAALAAUABAAeABUAEwAUACAANgAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABgAEQASACAANQAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABAAGwAjABoAOgAQAB4AHgAbACMABAAPABQAEQAiAB4AGwAaAAQAIQAcADsAEwAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEAB4AFQATABQAIAA9ABIAHgAeABsAIwAEAA8AFAARACIAHgAbABoABAAYABEAEgAgADwAEgAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEABAAGwAjABoAKwALAB4AHgAbACMABAALAAUABAAhABwALAAOAB4AHgAbACMABAALAAUABAAeABUAEwAUACAALgANAB4AHgAbACMABAALAAUABAAYABEAEgAgAC0ADQAeAB4AGwAjAAQACwAFAAQAEAAbACMAGgAnABEAHgAeABsAIwAEAAkACgAEACEAHAAEAB4AFQATABQAIAAqABAAHgAeABsAIwAEAAkACgAEACEAHAAEABgAEQASACAAKAATAB4AHgAbACMABAAJAAoABAAQABsAIwAaAAQAHgAVABMAFAAgACkAEgAeAB4AGwAjAAQACQAKAAQAEAAbACMAGgAEABgAEQASACAClQAPAB4AEQANAAQAHwAgAA0ADwAXABEAEAAGAAUABQKUAAwAHgARAA0ABAAfACAADQAPABcAEQAQApYACgAeABEADQAEAB4ADQAaABMAEQKTAA4AHgARAA0ABAAPABgAIQAfACAAEQAeABEAEAG7AAwAHAAcABgAJQAEABIAGwAeABkADQAgAcoABgAaAA8AFAAbAB4BYQADABgAGAFFABIAGAAVABMAGgAEACAAGwAcAAQAEQAYABEAGQARABoAIAAfASEAEQAYABUAEwAaAAQAIAAbABwABAARABgAEQAZABEAGgAgAW8ACQAYABUAEwAaAAQAIAAbABwBLAANABgAFQATABoABAAgABsABAATAB4AFQAQAUgAHwAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAAHwAEACIAEQAeACAAFQAPAA0AGAFDACEAGAAVABMAGgAEAB8AIAAeABEAIAAPABQABAARABgAEQAZABEAGgAgAB8ABAAUABsAHgAVACYAGwAaACAADQAYAT8AHgAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAABAAiABEAHgAgABUADwANABgBPgAgABgAFQATABoABAAfACAAHgARACAADwAUAAQAEQAYABEAGQARABoAIAAEABQAGwAeABUAJgAbABoAIAANABgBQgAUABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAB8BIAATABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAXQACwAYABUAEwAaAAQAHgAVABMAFAAgAXYADAAYABUAEwAaAAQAHgARABkAGwAiABEBRgAVABgAFQATABoABAAZABUAEAAQABgAEQAEABEAGAARABkAEQAaACAAHwEiABQAGAAVABMAGgAEABkAFQAQABAAGAARAAQAEQAYABEAGQARABoAIAFwAAwAGAAVABMAGgAEABkAFQAQABAAGAARAUAAEwAYABUAEwAaAAQAGAARABIAIAAEABEAGAARABkAEQAaACAAHwEeABIAGAAVABMAGgAEABgAEQASACAABAARABgAEQAZABEAGgAgAXIACgAYABUAEwAaAAQAGAARABIAIAF1AA0AGAAVABMAGgAEABYAIQAfACAAFQASACUBQQAVABgAFQATABoABAAPABEAGgAgABEAHgAEABEAGAARABkAEQAaACAAHwEfABQAGAAVABMAGgAEAA8AEQAaACAAEQAeAAQAEQAYABEAGQARABoAIAFzAAwAGAAVABMAGgAEAA8AEQAaACAAEQAeAUcAFQAYABUAEwAaAAQADgAbACAAIAAbABkABAARABgAEQAZABEAGgAgAB8BIwAUABgAFQATABoABAAOABsAIAAgABsAGQAEABEAGAARABkAEQAaACABcQAMABgAFQATABoABAAOABsAIAAgABsAGQFJABcAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEACIAEQAeACAAFQAPAA0AGAFEABkAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEABQAGwAeABUAJgAbABoAIAANABgCQQAQABMAEwAeABEAEwANACAAEQAEABIAFQARABgAEAAfANQADQAPAA8AEQAfAB8AFQAOABUAGAAVACAAJQAsAFoAaAB2AIIAqgDAAOQBBAE0AWgBhgGeAbQB1gH8AiACSAJiAnwCrALaAxADRANgA3QDjAOoA7IDvAPUA+QD+gQSBCIEQgRyBJIEogTABNgE7AUIBRAFMgGSAAYAIQAgACAAGwAaAqQABgAhAA4ADgAYABEBDQAFAB4AIQAfABQBEQATAB4AFQATABQAIAAaABEAHwAfAAQADwAbABoAIAAeAA0AHwAgAHgACgAbACQABAAfABUAJgAVABoAEwGNABEAGwAeABAAEQAeAB8ABAAfABQAGwAjAAQAFAAVABAAEQGEAA8AGwAeABAAEQAeAB8ABAAbACEAIAAfABUAEAARAYcAFwAbAB4AEAARAB4AHwAEABUAGgAfABUAEAARAAQAIgARAB4AIAAVAA8ADQAYAYYAGQAbAB4AEAARAB4AHwAEABUAGgAfABUAEAARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAGFAA4AGwAeABAAEQAeAB8ABAAVABoAHwAVABAAEQGDAAsAGwAeABAAEQAeAB8ABAANABgAGAGIAAoAGwAeABAAEQAeAAQAIAAbABwAbQAQABsAHgAQABEAHgAEAB8AIAAlABgAEQAEACAAGwAcAG4AEgAbAB4AEAARAB4ABAAfACAAJQAYABEABAAeABUAEwAUACAAcAARABsAHgAQABEAHgAEAB8AIAAlABgAEQAEABgAEQASACAAbwATABsAHgAQABEAHgAEAB8AIAAlABgAEQAEAA4AGwAgACAAGwAZAGwADAAbAB4AEAARAB4ABAAfACAAJQAYABEBiwAMABsAHgAQABEAHgAEAB4AFQATABQAIAByABcAGwAeABAAEQAeAAQAHgANABAAFQAhAB8ABAAgABsAHAAEAB4AFQATABQAIAB1ABYAGwAeABAAEQAeAAQAHgANABAAFQAhAB8ABAAgABsAHAAEABgAEQASACAAcwAaABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQADgAbACAAIAAbABkABAAeABUAEwAUACAAdAAZABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQADgAbACAAIAAbABkABAAYABEAEgAgAHEADQAbAB4AEAARAB4ABAAeAA0AEAAVACEAHwGMAAkAGwAeABAAEQAeAAQAGgAbAYoACwAbAB4AEAARAB4ABAAYABEAEgAgAYkADQAbAB4AEAARAB4ABAAOABsAIAAgABsAGQFWAAQAGwAYABABFgAEABgAIQAeAhMACwAYABsAEwATABEAHgAEAA4AGwAkAhIABwAYABsAEwATABEAHgIEAAoAGAAbAA8AFwAdACEAGwAgABECMwALABEAFAANABoADwARAAQADgAbACQCMgAHABEAFAANABoADwARANcADwANAB4ADwAbABAAEQAEAB8ADwANABoAGgARAB4A2wAXAA0AHgAPABsAEAARAAQAHQAeAAQADwAbABAAEQAEAB8ADwANABoAGgARAB4A1QAPAA0AHgAPABsAEAARAAQAGwAhACAAGAAVABoAEQDWAAcADQAeAA8AGwAQABECkQAOAA0AHgAEAB8AIAANAA8AFwARABAABgAFAAUCkAALAA0AHgAEAB8AIAANAA8AFwARABACkgAJAA0AHgAEAB4ADQAaABMAEQKPAA0ADQAeAAQADwAYACEAHwAgABEAHgARABACpgADAA0AHgEdABAADQAPABcAIwANAB4AEAAEABEAGAARABkAEQAaACABGwAMAA0ADwAXAAQAEQAYABEAGQARABoAIAA6AHYAfgCWALIAwADKANIA4ADmAPgBAgEaASQBSAFsAYABqAHGAdYB5gIKAigCQgJeAoACmgK0AsAC3AL2AwIDDgMiAzADRgNqA5QDvAPkBAYEGAQ0BE4EWgR6BKgE2gTyBR4FTgVkBW4FiAWmBcIF0AXsBf4BswADACEAIAGlAAsAIQAfACAAGwAZAAQAFQAPABsAGgHrAA0AIQAfACAAGwAZAAQAEgAbAB4AGQANACAA3gAGACEAHgAfABsAHgJSAAQAHwAfAAgCVQADAB8AHwJYAAYAHwAcAB4AGwAWAloAAgAfAfEACAAeABsAHwAfACAADQAOAQYABAAeABsAHAG9AAsAGwAcACUABAASABsAHgAZAA0AIAGyAAQAGwAcACUBXAARABsAGgAiABEAHgAgAAQAIQAcABwAEQAeAA8ADQAfABEBWwARABsAGgAiABEAHgAgAAQAGAAbACMAEQAeAA8ADQAfABEAyQAJABsAGgAaABEADwAgABsAHgGsABMAGwAZABkAEQAaACAAHwAEAB4AEQAZABsAIgARAAQADQAYABgBqwAOABsAGQAZABEAGgAgAAQAHgARABkAGwAiABEBqgAHABsAGQAZABEAGgAgAFQABwAbABgAIQAZABoAHwKNABEAGwAYACEAGQAaAAQAHwAgAA0ADwAXABEAEAAGAAUABQKMAA4AGwAYACEAGQAaAAQAHwAgAA0ADwAXABEAEAKOAAwAGwAYACEAGQAaAAQAHgANABoAEwARAeAADQAbABgAIQAZABoABAASAB4AEQARACYAEQKLABAAGwAYACEAGQAaAAQADwAYACEAHwAgABEAHgARABABVAAMABsAGAAbAB4ABAAPAA0AGgAiAA0AHwGQAAwAGwAQABEABAAfABoAFQAcABwAEQAgAl0ABQAYABsAIQAQAKEADQAYABsAHwARAAQAGwAhACAAGAAVABoAEQCiAAwAGAAbAB8AEQAEAA8AFQAeAA8AGAARAKAABQAYABsAHwARAIwABQAYABsADwAXAbwACQAYABEADQAeAAQADwAfAB8A+QAGABUAHgAPABgAEQKrAAoAFAAbAB4AGwAcABgAEQAgABQChgARABQAEQAiAB4AGwAaAAQAEAAbACEADgAYABEABAAhABwChwAUABQAEQAiAB4AGwAaAAQAEAAbACEADgAYABEABAAeABUAEwAUACACiQATABQAEQAiAB4AGwAaAAQAEAAbACEADgAYABEABAAYABEAEgAgAogAEwAUABEAIgAeABsAGgAEABAAGwAhAA4AGAARAAQAEAAbACMAGgD2ABAAFAARAA8AFwAOABsAJAAEAA8AFAARAA8AFwARABAA9QAIABQAEQAPABcADgAbACQAngANABQAEQAPABcABAAbACEAIAAYABUAGgARAJ8ADAAUABEADwAXAAQADwAVAB4ADwAYABEAnQAFABQAEQAPABcBnQAPABQADQAaABMAEQAEABkADQAaACEADQAYABgAJQHaABYAEQAYABgAHwAEABkAEQAeABMAEQAEACIAEQAeACAAFQAPAA0AGAAYACUB2QAYABEAGAAYAB8ABAAZABEAHgATABEABAAUABsAHgAVACYAGwAaACAADQAYABgAJQHYAAsAEQAYABgAHwAEABkAEQAeABMAEQHcABUAEQAYABgABAAfABwAGAAVACAABAAiABEAHgAgABUADwANABgAGAAlAdsAFwARABgAGAAEAB8AHAAYABUAIAAEABQAGwAeABUAJgAbABoAIAANABgAGAAlAEkACgANACAAEQATABsAHgAVACYAEQDIAAQADQAeACACpQAMAA0AGgAQABgAEQAEAB8AIAAVAA8AFwCbAA4ADQAaAA8AEQAYAAQAGwAhACAAGAAVABoAEQCcAA0ADQAaAA8AEQAYAAQADwAVAB4ADwAYABEAmgAGAA0AGgAPABEAGAGUAA0ADQAYABEAGgAQAA0AHgAEABAADQAgABEAjQAIAA0AGAARABoAEAANAB4AxwAKAA0AGAAPACEAGAANACAAGwAeACEARABeAHAAjACeALAAvgDgAO4A9gEeATwBVgFyAZwBsgHEAc4B7AIKAiYCOgJIAnwCtALWAvgDCgMcAzADQgNWA2gCNQAMAB4AFQAOAA4ADgAYABEABAAOABsAJAI0AAgAHgAVAA4ADgAOABgAEQBIAA0AHgANABMABAANABoAEAAEABAAHgAbABwAtwAIABsAIwAaABgAGwANABACngAIABsAIQATABQAGgAhACAB6QAGABsAGAAYAA0AHgGkABAAGwAPACEAGQARABoAIAAEABkADQAaAA0AEwARAB4A0wAGABUAIgAVABAAEQFgAAMAFQAiAIAAEwAVAB8AHAAYAA0AJQAEABUAGgAYABUAGgARAAQAEgAYABEAJAICAA4AFQAfABwAGAANACUABAAVABoAGAAVABoAEQB/AAwAFQAfABwAGAANACUABAASABgAEQAkAH0ADQAVAB8AHAAYAA0AJQAEAA4AGAAbAA8AFwB+ABQAFQAfABwAGAANACUABAAMABoAGAAVABoAEQAEAA4AGAAbAA8AFwE9AAoAFQAZABEAGgAgABUAGwAaAB8CFwAIABUAEwATAAQADgAbACQCFgAEABUAEwATAaYADgAVAA8AIAAVABsAGgANAB4AJQAEAA0AEAAQAmcADgARACAADQAVABgABAAfABEADwAgABUAGwAaAhUADQARABgAFQAPABUAGwAhAB8ABAAOABsAJAIUAAkAEQAYABUADwAVABsAIQAfAJEABgARABgAEQAgABEBNwAZABEADwAeABEADQAfABEABAAiABEAHgAgABUADwANABgABAAfABwADQAPABUAGgATATMAGwARAA8AHgARAA0AHwARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAEAB8AHAANAA8AFQAaABMB7AAQABEADwAVABkADQAYAAQAFQAaAA8AHgARAA0AHwARAe0AEAARAA8AFQAZAA0AGAAEABAAEQAPAB4AEQANAB8AEQJuAAgADQAgAA0ABAAjABEADgJtAAgADQAgAA0ABAAfAB0AGAKCAAkADQAgAA0ABAAeABEAHwAgAoQACAANACAADQAEABsAEAAfAmwACQANACAADQAEABYAHwAbABoCawAIAA0AIAANAAQADwAfACICYAAEAA0AIAANAAgAEgAoADYAPgBKAF4AagCAATkACgAlABEAEAAeABsAHAAcABEAHgH9AAYAJAAcABsAHgAgAlcAAwAkABEAzwAFAB0AIQANABgCGQAJABkADQAVABgABAAOABsAJAIYAAUAGQANABUAGAGbAAoAEAAVACAABAAgABsAGwAYAB8AkAAEABAAFQAgADoAdgCYALAAzADsAPwBEgE2AVABWgF8AZABqAG8AdQB7AICAhACLAJMAmgCigKyAtgC7AMGAygDVANiA2wDhAOWA6oDwAPgA/IECgQcBD4EYgR0BIYEmASuBM4E5AT6BRAFMAVEBVYFbgWABZYFqgW8BcYF4AEpABAAIQAYABgABAAfAA8AHgARABEAGgAEABEAJAAVACABKAALACEAGAAYAAQAHwAPAB4AEQARABoBGgANAB4AGwAaACAABAARABgAEQAZABEAGgAgARwADwAbAB4AIwANAB4AEAAEABEAGAARABkAEQAaACAA5gAHABsAHgAjAA0AHgAQAeYACgAbAB4AGQAhABgADQAEABIAJAHDABEAGwAeABkADQAgAAQADwAbABAAEQAEAA4AGAAbAA8AFwGPAAwAGwAeABkABAARABgAEQAZABEAGgAgAY4ABAAbAB4AGQFaABAAGwAeABEAEwAeABsAIQAaABAABAAPABsAGAAbAB4B7gAJABsAGgAgAAQAHwAVACYAEQFZAAsAGwAaACAABAASAA0AGQAVABgAJQI/AAkAGwAYABAAEQAeAAQAIQAcAj0ACwAbABgAEAARAB4ABAAbABwAEQAaAkAACwAbABgAEAARAB4ABAAZABsAHgARAj4ACgAbABgAEAARAB4ABAANABAAEAI8AAYAGwAYABAAEQAeAQkADQAYABUAHAAEACIAEQAeACAAFQAPAA0AGAEIAA8AGAAVABwABAAUABsAHgAVACYAGwAaACAADQAYAbAADQAYAA0AHwAUAAQAGQANABoADQATABEAHgGxABAAFQAaABAABAANABoAEAAEAB4AEQAcABgADQAPABEAsgATABUAGAAgABEAHgAEAB8AGwAeACAABAAQABEAHwAPAAQAHwAZALEAEgAVABgAIAARAB4ABAAfABsAHgAgAAQADQAfAA8ABAAfABkAsAAJABUAGAAgABEAHgAEAB8AGQCvAAwAFQAYACAAEQAeAAQADwAYABEADQAeALQAEAAVABgAIAARAB4ABAANABAAEAAEABMAHgAbACEAHACzABUAFQAYACAAEQAeAAQADQAQABAABAARACQAHAAeABEAHwAfABUAGwAaAK4ABgAVABgAIAARAB4CUQAEABUAGAAZAoEACwAVABgAEQAfAAQAEQAeAB4AGwAeAlAACAAVABgAEQAEACYAFQAcAkcACQAVABgAEQAEACMAGwAeABACdwAKABUAGAARAAQAIgAVABAAEQAbAoMADwAVABgAEQAEACAAJQAcABEAHwAPAB4AFQAcACACRAAIABUAGAARAAQAIAAkACAChQALABUAGAARAAQAHgARABwAGwAeACACSwAIABUAGAARAAQAHAAfABACfQAQABUAGAARAAQAHAAeABsAEwAeAA0AGQAZABUAGgATAnoAEQAVABgAEQAEABwAHgARAB8AEQAaACAADQAgABUAGwAaAkkACAAVABgAEQAEABwAHAAgAkoACAAVABgAEQAEABwAEAASAkgACAAVABgAEQAEABkAEAAOAnkACgAVABgAEQAEABUAGQANABMAEQJeAA8AFQAYABEABAAUABsAHgAVACYAGwAaACAADQAYAkwACgAVABgAEQAEABIAGAANAB8AFAJGAAoAFQAYABEABAARACQADwARABgCgAAKABUAGAARAAQAEQAeAB4AGwAeAnwADwAVABgAEQAEABAAFQAfAA8ABAAVABkADQATABECewAJABUAGAARAAQAEAANACAADQJFAAgAFQAYABEABAAPAB8AIgJNAAsAFQAYABEABAAPABsAGgASABUAEwJPAAgAFQAYABEABAAOAA0ADwJ4AAoAFQAYABEABAANACEAEAAVABsCTgAJABUAGAARAAQADQAfAA8AJAJDAAgAFQAYABEABAANABAAEAJCAAQAFQAYABECGwAMAA0ADwARAA4AGwAbABcABAAOABsAJAIaAAgADQAPABEADgAbABsAFwAVACwASAByAJwAvgDSAN4A9gEAARQBNgFCAWIBegGQAZ4BugHGAdIB3AHsAmkADQAeABsAIQAcAAQAHwARAA8AIAAVABsAGgJjABQAHgAbACEAHAAEABQAEQANABAAEQAeAAQAHwARAA8AIAAVABsAGgJkABQAHgAbACEAHAAEABIAGwAbACAAEQAeAAQAHwARAA8AIAAVABsAGgJvABAAHgAbACEAHAAEAA8AGwAYABgAEQAPACAAFQAbABoBlQAJAB4AGwAhABwABAAOABsAJABMAAUAHgAbACEAHABLAAsAHgAVABAABAAYAA0AJQAbACEAIABKAAQAHgAVABABFQAJAB4AEQAlAB8ADwANABgAEQDSABAAHgARAA0AIAARAB4ABAAbAB4ABAARAB0AIQANABgCigAFAB4ADQAcABQCHwAPABsAGwATABgAEQAEABwAGAAhAB8ABAAOABsAJAIeAAsAGwAbABMAGAARAAQAHAAYACEAHwIdAAoAGwAbABMAGAARAAQADgAbACQCHAAGABsAGwATABgAEQIJAA0AGAAbAA4AEQAEABsAIQAgABgAFQAaABECCgAFABgAGwAOABEAwAAFABEADQAeAB8AvwAEABEADQAeAIIABwANABwABAAeABsAIwCBAAoADQAcAAQADwAbABgAIQAZABoAFwAwAFQAcgCgAM4A7gEOARoBJAEuATwBWAFkAWoBhAGoAcQBzgHUAdoB4AHmAewAugARACUAHAARAB4AGAAVABoAFwAEABsAHAARABoABAAfABkAuQAOACUAHAARAB4AGAAVABoAFwAEABsAHAARABoBxgAWACUAHAARAB4AGAAVABoAFwAEABgAFQATABQAIAAEABAAFQANABgAGwATAcgAFgAlABwAEQAeABgAFQAaABcABAATABgAGwAOABEABAAeABEAGQAbACIAEQHHAA8AJQAcABEAHgAYABUAGgAXAAQAEwAYABsADgARAckADwAlABwAEQAeABgAFQAaABcABAARABkADQAVABgCUwAFACAAGQAYAAoCVAAEACAAGQAYAFsABAAbABkAEQBcAAYAEQAVABMAFAAgAPEADQARAA0AHgAgAAQAGwAhACAAGAAVABoAEQDyAAUAEQANAB4AIADqAAIAEABOAAwADQAaABAAGAARAB4ABAAQAB4ADQATAIMAEQANABoAEAAYABEABAAeABEAHwAVACYAEQAEAA0AGAAgAIQADQANABoAEAAYABEABAAeABEAHwAVACYAEQDdAAQADQAaABABZwACAAsBZgACAAoBZQACAAkBZAACAAgBYwACAAcBYgACAAYAFQAsADoAVgBqAIYAngCyAMoA6gEKAT4BdgGCAZABngG4AdoCAAIaAjACYAFXAAYAIAANABgAFQAPARMADQAaACIAEQAeACAABAAPABsAGAAbAB4AHwFsAAkAGgAfABEAHgAgAAQAIQAcAW0ADQAaAB8AEQAeACAABAAZABUAEAAQABgAEQFuAAsAGgAfABEAHgAgAAQAEAAbACMAGgJ2AAkAGgAUABEAHgAVACAAEQAQAP0ACwAaABIAGwAeABkADQAgABUAGwAaAWoADwAaABAAEQAaACAABAAVABoADwAeABEADQAfABEBawAPABoAEAARABoAIAAEABAAEQAPAB4AEQANAB8AEQE2ABkAGgAPAB4AEQANAB8AEQAEACIAEQAeACAAFQAPAA0AGAAEAB8AHAANAA8AFQAaABMBMgAbABoADwAeABEADQAfABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwIRAAUAGgAOABsAJAH8AAYAGQAcABsAHgAgASsABgAZAA0AEwARAB8BBQAMABkADQATABEABAAeABEAHwAVACYAEQGpABAAGQANABMAEQAEABkADQAcAAQAEQAQABUAIAAbAB4BpwASABkADQATABEABAAYABUAEwAUACAABAAQABUADQAYABsAEwECAAwAGQANABMAEQAEABEAJAAcABsAHgAgAagACgAZAA0AEwARAAQAEQAQABUAIAHvABcAGQANABMAEQAEAA0ADgAfABsAGAAhACAAEQAEABwAGwAfABUAIAAVABsAGgEBAAUAGQANABMAEQALABgARgB4AKIA0AEAATQBZgGcAcwCAAFPABYAIQAfACAAFQASACUABAAfACAADQAeACAABAAiABEAHgAgABUADwANABgBSgAYACEAHwAgABUAEgAlAAQAHwAgAA0AHgAgAAQAFAAbAB4AFQAmABsAGgAgAA0AGAFRABQAIQAfACAAFQASACUABAARABoAEAAEACIAEQAeACAAFQAPAA0AGAFMABYAIQAfACAAFQASACUABAARABoAEAAEABQAGwAeABUAJgAbABoAIAANABgBUAAXACEAHwAgABUAEgAlAAQADwARABoAIAARAB4ABAAiABEAHgAgABUADwANABgBSwAZACEAHwAgABUAEgAlAAQADwARABoAIAARAB4ABAAUABsAHgAVACYAGwAaACAADQAYAVIAGAAhAB8AIAAVABIAJQAEAA4AEQAgACMAEQARABoABAAiABEAHgAgABUADwANABgBTQAaACEAHwAgABUAEgAlAAQADgARACAAIwARABEAGgAEABQAGwAeABUAJgAbABoAIAANABgBUwAXACEAHwAgABUAEgAlAAQADQAeABsAIQAaABAABAAiABEAHgAgABUADwANABgBTgAZACEAHwAgABUAEgAlAAQADQAeABsAIQAaABAABAAUABsAHgAVACYAGwAaACAADQAYAlYAAgAfAAMACAAoAEgAzgAPABwAFQAEAB8AIAANACAAIQAfAAQAGwAcABEAGgDNAA8AHAAVAAQAHwAgAA0AIAAhAB8ABAAUABsAGAAQAMwADwAcABUABAAfACAADQAgACEAHwAEABAAEQAaACUAHwBAAE4AWgBkAJAAvgDcAP4BHAE2AVgBdgGQAaIBvgHeAeoCGgI6AmQCfgKYArACugLUAvADDgM2A1IDbgN8ALYABgAbABMAGwAhACAAtQAFABsAEwAVABoAmAAEABsADwAXAgcAFQAVAB8AIAAEACEAGgAbAB4AEAARAB4AEQAQAAQAHwAdACEADQAeABECCAAWABUAHwAgAAQAIQAaABsAHgAQABEAHgARABAABAAbACEAIAAYABUAGgARAWkADgAVAB8AIAAEACEAGgAbAB4AEAARAB4AEQAQAfsAEAAVAB8AIAAEAB4AGwAZAA0AGgAEAB8AGQANABgAGAH6AA4AFQAfACAABAAeABsAGQANABoABAAOABUAEwFoAAwAFQAfACAABAAbAB4AEAARAB4AEQAQAgYAEAAVAB8AIAAEABgADQAgABUAGgAEAB8AGQANABgAGAIFAA4AFQAfACAABAAYAA0AIAAVABoABAAOABUAEwIhAAwAFQAaABcAEQAQABUAGgAEAA4AGwAkAiAACAAVABoAFwARABAAFQAaAJYADQAVABoAFwAEACIAEQAeACAAFQAPAA0AGACUAA8AFQAaABcABAAUABsAHgAVACYAGwAaACAADQAYApcABQAVABoAEQAGApwAFwAVABoAEQAEAB8AIAANAA8AFwARABAABgAFAAUABAAZAA0AHgAXABEAHgAfApkADwAVABoAEQAEAB8AIAANAA8AFwARABAABgAFAAUCmwAUABUAGgARAAQAHwAgAA0ADwAXABEAEAAEABkADQAeABcAEQAeAB8CmAAMABUAGgARAAQAHwAgAA0ADwAXABEAEAKaAAwAFQAaABEABAAZAA0AHgAXABEAHgAfAgMACwAVABoAEQAEABQAEQAVABMAFAAgARAABAAVABoAEQICAAwAEQAgACAAEQAeAAQAHwAcAA0ADwARANEADQARAB8AHwAEABsAHgAEABEAHQAhAA0AGABTAA4ADQAlABsAIQAgAAQAHwAgAA0ADwAXABEAEABSABMADQAlABsAIQAgAAQAHwAVABAAEQAEAA4AJQAEAB8AFQAQABEAUQANAA0AJQAbACEAIAAEAAcABAAOACUABAAHAFAADQANACUAGwAhACAABAAGAAQADgAlAAQACQBPAAYADQAlABsAIQAgALsABgANACEAGgAPABQAHQA8AFQAZACAAKAAvgDMAN4A+gEUASABNAFKAVQBcAGEAZoBugHeAfQCCgIkAjwCWAJmAp4CvgLcAv4CIwALACUAHwAcAA0ADwARAAQADgAbACQCIgAHACUAHwAcAA0ADwARAFgADQAbAB4AEQAEACIAEQAeACAAFQAPAA0AGABZAA8AGwAeABEABAAUABsAHgAVACYAGwAaACAADQAYAcUADgAbABAAIQAYABEABAAZAA0AGgANABMAEQAeAQcABgAVAB4AHgAbAB4AywAIABUAGgAhAB8ABAAfABkApwANABUAGgAhAB8ABAAbACEAIAAYABUAGgARAKgADAAVABoAIQAfAAQADwAVAB4ADwAYABEApgAFABUAGgAhAB8AYQAJABUAGgAEACMAFQAQACAAFABgAAoAFQAaAAQAFAARABUAEwAUACAAVwAEABEAGgAhAa4ADQARABAAFQANAAQAGQANABoADQATABEAHgBfAAkADQAkAAQAIwAVABAAIAAUAF4ACgANACQABAAUABEAFQATABQAIAH+AA8ADQAgAA8AFAAEABIAIQAYABgABAAjABsAHgAQAgwAEQANAB4AFwARAB4ABAAcABUAGgAEACAADQAeABMAEQAgAgsACgANAB4AFwARAB4ABAAcABUAGgBjAAoADQAeABMAFQAaAAQAIAAbABwAZAAMAA0AHgATABUAGgAEAB4AFQATABQAIABmAAsADQAeABMAFQAaAAQAGAARABIAIABlAA0ADQAeABMAFQAaAAQADgAbACAAIAAbABkAYgAGAA0AHgATABUAGgE1ABsADQAXABEABAAiABEAHgAgABUADwANABgABAAfABwADQAPABUAGgATAAQAEQAdACEADQAYAS8ADwANABcAEQAEAB8ADQAZABEABAAjABUAEAAgABQBLgAOAA0AFwARAAQAHwANABkAEQAEAB8AFQAmABEBMAAQAA0AFwARAAQAHwANABkAEQAEABQAEQAVABMAFAAgATEAHQANABcAEQAEABQAGwAeABUAJgAbABoAIAANABgABAAfABwADQAPABUAGgATAAQAEQAdACEADQAYAAMACAAiADYA/AAMABsAIAAVABIAFQAPAA0AIAAVABsAGgDQAAkAGwAgAAQAEQAdACEADQAYAIkADgAbABoABAAeABEADwAhAB4AHgARABoADwARAAMACAAYADQAWgAHACIAEQAeABgADQAcAHYADQAhACAAGAAVABoAEQAEACMAFQAQACAAFAB3AA4AIQAgABgAFQAaABEABAAbABIAEgAfABEAIAAyAGYAcgCCAJwAugDWAPYBBgEgATgBQgFUAWQBbgGKAZ4BpgGuAcgB2AHqAfYCGAI2AkwCggKiAr4CygLcAwIDLgNEA2YDigOqA9ID9gQSBCoEMgRCBE4EbgSWBL4E1gTyBQwFKgCPAAUAHgAVABoAIADCAAcAHgARACIAFQARACMAeQAMABsAHwAVACAAFQAbABoABAAgABsAHAB6AA4AGwAfABUAIAAVABsAGgAEAB4AFQATABQAIAB8AA0AGwAfABUAIAAVABsAGgAEABgAEQASACAAewAPABsAHwAVACAAFQAbABoABAAOABsAIAAgABsAGQDKAAcAGAAhAB8ABAAfABkApAAMABgAIQAfAAQAGwAhACAAGAAVABoAEQClAAsAGAAhAB8ABAAPABUAHgAPABgAEQCjAAQAGAAhAB8A7AAIABgADQAlABgAFQAfACAA7gAHABgADQAlAAQAHwAZAOIABAAYAA0AJQIlAA0AFQAaACAAEQAeABEAHwAgAAQADgAbACQCJAAJABUAGgAgABEAHgARAB8AIAINAAMAFQAaAp0AAwAVABEBAAAMABQAGwAgABsABAAPAA0AGQARAB4ADQHqAAcAEQAeAA8AEQAaACAA7wAIAA0AIQAfABEABAAfABkA4wAFAA0AIQAfABEBugAQAA0AHwAgABEABAAcABgADQAVABoABAAgABEAJAAgAbkADgANAB8AIAARAAQAGQANAB4AFwAQABsAIwAaAbgACgANAB8AIAARAAQAFAAgABkAGAG3ABoADQAfACAAEQAEABIAHgAbABkABAAjABsAHgAQAAQAHwAgAB4AFQAcAAQAEgAVABgAEQG2AA8ADQAfACAAEQAEABIAHgAbABkABAAjABsAHgAQAbUADQANAB8AIAARAAQADQAfAAQAFAAgABkAGAG0AAUADQAfACAAEQGZAAgADQAfAB8AIwAbAB4AEAJ/ABIADQAeAA0AGQARACAAEQAeAB8ABAAhABoAFwAaABsAIwAaAn4AFQANAB4ADQAZABEAIAARAB4AHwAEAA4AJQAgABEABAANAB4AHgANACUCagAKAA0AHgANABkAEQAgABEAHgAfAnQAEAANAB4ADQAZABEAIAARAB4ABAAfACAAHgAVABoAEwJzABEADQAeAA0AGQARACAAEQAeAAQAFQAaACAAEQATABEAHgJyAA8ADQAeAA0AGQARACAAEQAeAAQAEgAYABsADQAgAnEAEwANAB4ADQAZABEAIAARAB4ABAAQAA0AIAARAAQAIAAVABkAEQJwABEADQAeAA0AGQARACAAEQAeAAQADgAbABsAGAARAA0AGgGaAA0ADQAeAA0AEwAeAA0AHAAUAAQADQAQABAB3gALAA0AGgARAAQAEgAeABEAEQAmABEAxgADAA0AGgEOAAcADQAYABEAIAAgABEBDwAFAA0AFQAaACABVQAPAA0AEwARAAQAHAAeABsAHAARAB4AIAAVABEAHwJlABMADQATABEABAAUABEADQAQABEAHgAEAB8AEQAPACAAFQAbABoCZgATAA0AEwARAAQAEgAbABsAIAARAB4ABAAfABEADwAgABUAGwAaAGgACwANABAAEAAVABoAEwAEACAAGwAcAGkADQANABAAEAAVABoAEwAEAB4AFQATABQAIABrAAwADQAQABAAFQAaABMABAAYABEAEgAgAGoADgANABAAEAAVABoAEwAEAA4AGwAgACAAGwAZAGcABwANABAAEAAVABoAEwAEAAoAHAA8AFwA/gAIACEAEQAfACAAFQAbABoA2gAPAB4ABAAPABsAEAARAAQAHwAPAA0AGgAaABEAHgDYAA8AHgAEAA8AGwAQABEABAAbACEAIAAYABUAGgARANkABwAeAAQADwAbABAAEQAgAEIAYgByAHoAhACaALYA0ADoAPYBAAEOASABOAFEAXABnAG6AdIB4gISAkYCWgJoAo4CmAKuArwC5AL8AxgDMgF4AA8AIQAYABEABAAUABsAHgAVACYAGwAaACAADQAYAjcABwAfAB8ABAAOABsAJAI2AAMAHwAfAFUABAAbACMAHwHfAAoAGwAjAAQAEgAeABEAEQAmABEBGQANABsAIQAaABAABAAPABsAHgAaABEAHgAfAQsADAAbACAADQAgABEABAAeABUAEwAUACABDAALABsAIAANACAAEQAEABgAEQASACABCgAGABsAIAANACAAEQKqAAQAGwAfABEA5QAGABEAIwAVABoAEACKAAgAEQAfABEAIAAEAB8AGQEqAAsAEQAfABEAIAAEAA8AGwAYABsAHgCHAAUAEQAfABEAIAJhABUAEQAcABsAHgAgAAQAFAARAA0AEAARAB4ABAAfABEADwAgABUAGwAaAmIAFQARABwAGwAeACAABAASABsAGwAgABEAHgAEAB8AEQAPACAAFQAbABoCAAAOABEAHAAYAA0ADwARAAQAHwAVABoAEwAYABECAQALABEAHAAYAA0ADwARAAQADQAYABgAVgAHABEAGwAeABAAEQAeATgAFwARABkAGwAiABEABAAiABEAHgAgABUADwANABgABAAfABwADQAPABUAGgATATQAGQARABkAGwAiABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwCLAAkAEQAYABsADQAQAAQAHwAZAIgABgARABgAGwANABAB/wASABEAEwAhABgADQAeAAQAEQAkABwAHgARAB8AHwAVABsAGgCGAAQAEQAQABsCJwAKABEAEAAQABUAIAAEAA4AGwAkAiYABgARABAAEAAVACAA+wATAA0AEAAVABsADgAhACAAIAAbABoABAAPABQAEQAPABcAEQAQAPoACwANABAAFQAbAA4AIQAgACAAGwAaAqgADQANABAADQAeAAQAGQANAB4AFwARAB4AHwKpAAwADQAQAA0AHgAEABIAFQAYABgAEQAQAqcABQANABAADQAeAC0AXABqAIAAiACcALAAxgDiAQQBHgFKAXIBmgG8AeYCAgISAhwCKAJCAkwCaAKCApYCrgLAAuQDCAMcAyQDPgNWA2oDegOGA5IDugPQA+YEJARSBIwEtgTGBNAB6AAGACUAGQAOABsAGAFfAAoAIQAcAAQAHwAPAB4AFQAcACAB5wADACEAGQDrAAkAIQAOACAAFQAgABgAEQAfAl8ACQAhAA4AHgARABwAGwAeACABXgAKACEADgAEAB8ADwAeABUAHAAgAcQADQAgACUAGAARAAQADgAhABUAGAAQABEAHgIpABAAIAAhABkADgAYABEABAAhABwAGwAaAAQADgAbACQCKAAMACAAIQAZAA4AGAARAAQAIQAcABsAGgHCABUAIAAeABUAHAAEACMAGwAeABAABAASABsAHgAZAA0AIAAgABUAGgATAcEAEwAgAB4AFQAcAAQAHwAcAA0AGgAEABEAGAARABkAEQAaACAAHwHAABMAIAAeABUAHAAEABIAGwAaACAABAARABgAEQAZABEAGgAgAB8BvwAQACAAHgAVABwABAAPAB8AHwAEABIAGwAeABkADQAgAb4AFAAgAB4AFQAcAAQADQAYABgABAASABsAHgAZAA0AIAAgABUAGgATAV0ADQAgAB4AFQAXABEAIAAUAB4AGwAhABMAFADwAAcAIAAbABwABAAfABkA5AAEACAAGwAcAN8ABQAgABUADwAXAPMADAAgAA0AHgAEABsAIQAgABgAFQAaABEA9AAEACAADQAeAeIADQAcABEAGAAYAAQADwAUABEADwAXABEAHgCtAAwAGwAeACAABAAQABEAHwAPAAQAHwAZAKoACQAbAB4AIAAEABAAEQAfAA8ArAALABsAHgAgAAQADQAfAA8ABAAfABkAqQAIABsAHgAgAAQADQAfAA8BPAARABoADQAcAAQAIAAbAAQAHwAaAA0AHAAYABUAGgARAB8BOwARABoADQAcAAQAIAAbAAQAEwAeABUAEAAYABUAGgARAB8BOgAJABoADQAcAAQAEwAeABUAEAJcAAMAGAAaAS0ADAAVACYAEQAEACAAGwAEABMAHgAVABABrQALABUAGAAiABEAHgAYABUAEwAUACAA3AAJABUAEwAaAA0AIAAhAB4AEQEXAAcAFAANAB4AHAARABoCDwAFABQADQAeABEBGAAFABQADQAcABEA4QATABEAIAAEAA8AGwAYACEAGQAaAAQAHAAbAB8AFQAgABUAGwAaAZMACgARABgAEQAPACAABAAOABsAJAGRAAoAEQAYABEADwAgAAQADQAYABgCogAeAA8ADQAgACAAEQAeAAQAHwAgAB4ADQAVABMAFAAgAAQAGAAVABoAEQAfAAQAGQANAB4AFwARAB4AHwKjABYADwANACAAIAARAB4ABAAfACAAHgANABUAEwAUACAABAAYABUAGgARAB8CoAAcAA8ADQAgACAAEQAeAAQAHwAZABsAGwAgABQABAAYABUAGgARAB8ABAAZAA0AHgAXABEAHgAfAqEAFAAPAA0AIAAgABEAHgAEAB8AGQAbABsAIAAUAAQAGAAVABoAEQAfAp8ABwAPAA0AIAAgABEAHgCOAAQADQAiABEBEgAKAA0AIAAhAB4ADQAgABUAGwAaADsAeACQAKAAtgDEAOIBEgEsAV4BiAGyAeQCDgIqAkYCdgKaArICzgLwAxADMANOA14DcAOEA6YDygPmBAIEMAReBIAEogTEBO4FFgVCBWgFggWcBdAGAgYqBlIGfgaiBrgGzgb6ByQHUgd4B6oH2ggOCEAIcAikAi8ACwAjABUAIAAgABEAHgAEAA4AGwAkAi4ABwAjABUAIAAgABEAHgItAAoAIQAZAA4AGAAeAAQADgAbACQCLAAGACEAGQAOABgAHgD4AA4AHgAVAAQAHwAgAA0AIAARAAQAGgAhABgAGAD3ABcAHgAVAAQAHwAgAA0AIAARAAQAFQAaABAAEQAgABEAHgAZABUAGgANACAAEQEUAAwAHgANABoAHwAcABEAHgANABoADwAlAaMAGAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEAB4AEQAWABEADwAgAAQADQAYABgBogAUAB4ADQAPABcABAAPABQADQAaABMAEQAfAAQAHgARABYAEQAPACABnwAUAB4ADQAPABcABAAPABQADQAaABMAEQAfAAQAEQAaAA0ADgAYABEBoQAYAB4ADQAPABcABAAPABQADQAaABMAEQAfAAQADQAPAA8AEQAcACAABAANABgAGAGgABQAHgANAA8AFwAEAA8AFAANABoAEwARAB8ABAANAA8ADwARABwAIAGeAA0AHgANAA8AFwAEAA8AFAANABoAEwARAB8B4QANABsAGwAYAA4ADQAeAAQAEgAYABsADQAgAeUAFwAbABMAEwAYABEABAASACEAGAAYAAQAHwAPAB4AEQARABoABAAZABsAEAARAnUAEQAbAA8ABAAfABEADwAgABUAGwAaAAQAGAARACIAEQAYAmgACwAbAA8ABAAfABEADwAgABUAGwAaASQADQAUACEAGQAOABoADQAVABgAHwAEACEAHAElABAAFAAhABkADgAaAA0AFQAYAB8ABAAeABUAEwAUACABJwAPABQAIQAZAA4AGgANABUAGAAfAAQAGAARABIAIAEmAA8AFAAhABkADgAaAA0AFQAYAB8ABAAQABsAIwAaAZgADgARACQAIAAOABsAJAAEABQAFQAQABAAEQAaAZcABwARACQAIAAOABsAJAGWAAgAEQAkACAADQAeABEADQF3AAkAEQAkACAABAAjAB4ADQAcAZwAEAARABkAHAAYAA0AIAARAAQAGQANABoADQATABEAHgIrABEAEQAYABgABAANAAQAEgAeABUAEQAaABAABAAOABsAJAIqAA0AEQAYABgABAANAAQAEgAeABUAEQAaABAB3QANAA0ADgAYABEABAAhABoAGQARAB4AEwARAdMAFgANAA4AGAARAAQAHgAbACMABAAVABoAHwARAB4AIAAEAA4AEQAYABsAIwHSABYADQAOABgAEQAEAB4AGwAjAAQAFQAaAB8AEQAeACAABAANAA4AGwAiABEB9gAQAA0ADgAYABEABAAeABsAIwAEABMAHgAbACEAHAAfAdUAEAANAA4AGAARAAQAHgAbACMABAAQABEAGAARACAAEQHNABAADQAOABgAEQAEABwAHgAbABwAEQAeACAAFQARAB8B+QAUAA0ADgAYABEABAAcABsAHwAVACAAFQAbABoABAAeABUAEwAUACAB9wATAA0ADgAYABEABAAcABsAHwAVACAAFQAbABoABAAYABEAEgAgAfgAFQANAA4AGAARAAQAHAAbAB8AFQAgABUAGwAaAAQADwARABoAIAARAB4BywASAA0ADgAYABEABAAYABUAEwAUACAABAAQABUADQAYABsAEwHXAAwADQAOABgAEQAEABAAEQAYABEAIAARAfUADAANAA4AGAARAAQADwAbAB4AGgARAB4B0QAZAA0ADgAYABEABAAPABsAGAAhABkAGgAEABUAGgAfABEAHgAgAAQAHgAVABMAFAAgAdAAGAANAA4AGAARAAQADwAbABgAIQAZABoABAAVABoAHwARAB4AIAAEABgAEQASACAB9AATAA0ADgAYABEABAAPABsAGAAhABkAGgAEABMAHgAbACEAHAAfAdQAEwANAA4AGAARAAQADwAbABgAIQAZABoABAAQABEAGAARACAAEQHPABUADQAOABgAEQAEAA8AEQAYABgABAAcAB4AGwAcABEAHgAgABUAEQAfAdYAEQANAA4AGAARAAQADwARABgAGAAEABAAEQAYABEAIAARAc4ACgANAA4AGAARAAQADwARABgAGAHzAAoADQAOABgAEQAEAA4AGwAQACUBewAVAA0ADgAYABEABAANABgAFQATABoABAAgABsAHAAEAB4AFQATABQAIAF5ABQADQAOABgAEQAEAA0AGAAVABMAGgAEACAAGwAcAAQAGAARABIAIAF6ABYADQAOABgAEQAEAA0AGAAVABMAGgAEACAAGwAcAAQADwARABoAIAARAB4BggASAA0ADgAYABEABAANABgAFQATABoABAAeABEAGQAbACIAEQF+ABgADQAOABgAEQAEAA0AGAAVABMAGgAEABkAFQAQABAAGAARAAQAHgAVABMAFAAgAXwAFwANAA4AGAARAAQADQAYABUAEwAaAAQAGQAVABAAEAAYABEABAAYABEAEgAgAX0AGQANAA4AGAARAAQADQAYABUAEwAaAAQAGQAVABAAEAAYABEABAAPABEAGgAgABEAHgGBABgADQAOABgAEQAEAA0AGAAVABMAGgAEAA4AGwAgACAAGwAZAAQAHgAVABMAFAAgAX8AFwANAA4AGAARAAQADQAYABUAEwAaAAQADgAbACAAIAAbABkABAAYABEAEgAgAYAAGQANAA4AGAARAAQADQAYABUAEwAaAAQADgAbACAAIAAbABkABAAPABEAGgAgABEAHgHMAAUADQAOABgAEQALABgAIgAwAEAATgBaAGgAiACsALwAxgIQAAQAHwARAB4AuAAGABwAGAAbAA0AEADgAAcAGgAfACAAFQAPABcAqwAGABoAHwAbAB4AIAIOAAUAGgAcABUAGgCZAAYAGgAYABsADwAXAJcADwAaABgAFQAaABcABAAiABEAHgAgABUADwANABgAlQARABoAGAAVABoAFwAEABQAGwAeABUAJgAbABoAIAANABgATQAHABoAEwAeABsAIQAcAIUABAAaABAAGwFYAAkAGgAQABEAHgAYABUAGgARAAoAFgAqAEAAWABsAHgAlgCkAKoAzADoAAkAGwAYACEAGQARAAQAIQAcAOkACgAbABgAIQAZABEABAAbABIAEgDnAAsAGwAYACEAGQARAAQAEAAbACMAGgI5AAkAFQAZABEAGwAEAA4AGwAkAjgABQAVABkAEQAbAa8ADgAVABAAEQAbAAQAEQAkACAAEQAeABoADQAYAlkABgAOABwAHgAbABYCWwACAA4B4wAQAA0AGAAVABAADQAgABUAGwAaAAQAJAAUACAAGQAYAeQADwANABgAFQAQAA0AIAAVABsAGgAEABAADQAgAA0ACAASACAAOgBaAGoAigCYAKQAwQAGAB4AEQAaAA8AFAHwAAwAFQAmAA0AHgAQAAQAIAANAA4AGAARAfIADwAVACYADQAeABAABAAPAB4AGwAfAB8AIAANAA4AvQAHABUAGgAQABsAIwAfAL4ADwAVABoAEAAbACMABAAZABUAGgAVABkAFQAmABEAvAAGABUAGgAQABsAIwBdAAUAFQAQACAAFAD/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AsDg4AEAQEAABgBAAAADwAOAAAIABQAJAA0AEQAVAAATESUBEQUBFSE1BRUhNQEVITUFFSE1QAFA/sABQAJA/cACQP3AAkD9wAJA/cADgP6AwP1AAYDAAoBAQMBAQP7AQEDAQEAAAAAACQBAAAADwAOAAAMABwALAA8AEwAXABsAHwAjAAATIREhASERIQEhESE1IREhASERIQERIREBIREhJSERIQEhESFAAQD/AAFAAQD/AP7AAQD/AAEA/wABQAEA/wABQAEA/wABAP8A/sABAP8AAUABAP8AA4D/AP2AAQD/AAEAQAEA/wABAAFA/wABAP3AAQBAAQD8gAEAAAAGAEAAQAPAA4AAAwAHAAsADwATABcAABMzFSMlFSE1ATM1IwUhNSEBMzUjBSE1IUDAwAEAAoD8gMDAAQACgP2A/wDAwAEAAoD9gAOAwMDAwP4AwMDA/gDAwMAAAAQAQABAA4ADgAADAAcACwAPAAATIREhESERIQEhESEZASERQAGA/oABgP6AAcABgP6AAYABwP6AAcABgPzAAYABwP6AAYAAAAQAQABAA4ADgAADAAcACwAPAAATIREhEyERIQEhESEDESERQAGA/oBAAQD/AAHAAQD/AEABgAHA/oACAAEA/UABAAIA/oABgAAAAAACAUAAQAKAA0AAAwAHAAABMxEjExEzEQFAgIDAgANA/QADAP0AAwAABgBAAAADgAPAAAMABwALAA8AEwAXAAAlIRUhNSE1IQEhESEFITUhESE1IQEVITUBgAIA/gACAP4A/sABAP8AAUACAP4AAgD+AP7AA0CAgMCA/sACwICA/sCAAcDAwAAABQBAAAADgAPAAAMABwALAA8AEwAAEyERIQEVITUBITUhESE1IREhNSFAAYD+gAHAAYD+gAGA/oABgP6AAYD+gAPA/EADwMDA/kDA/kDA/kDAAAAABABAAAADgAPAAAMABwALAA8AABMhESEBIREhASERIQEhESFAAYD+gAHAAYD+gP5AAYD+gAHAAYD+gAIAAcD+QAHA/EABwP5AAcAAAAQAQAAAA4ADwAADAAcACwAPAAA3IRUhESE1ITUhNSERFSE1QANA/MADQPzAA0D8wANAwMABAMBAwAEAwMAAAAAFAEAAAAOAA8AAAwAHAAsADwATAAATIRUhESE1ISUhNSEBESERASE1IUAB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AEADgANAAAQACAARABYAGgAAATMRIRE3MxUjATMRIRUjESE1ISMRIREHIzUzAQCA/wBAgIABgMD+wMABQAEAwAEAQICAAkABAP8AwID/AAFAwP7AgP8AAQDAgAAAAgCAAEADgANAAAcADQAAAREhESERIREXIxUjFSEDgP4A/wACAMDAwAGAAkD+AAEAAgD/AEDAwAADAIAAQAOAA0AAAwAHAA0AAAERIREDIREhAyERMxEhAYACAED+gAGAwP4AwAFAAkD+AAIA/kABgAFA/gABQAAABAA/AAADfwOAAAMABwALAA8AABMzESMBIREhBREhEQUhFSE/QEACQP5AAcABAP1AAoD9wAJAA4D8gAMA/wCA/wABAECAAAAAAgB/AAADPwOAABQAGAAAATUzESM1IxUjETMVIREhFTM1IREhBSE1IQH/wMBAwMD+wAFAQAFA/sABAP3AAkABgIABAICA/wCA/wCAgAEAwIAAAAAABACBAAADwQOAAAQACQAOABIAADchESERNyEVITUTIREhESURIxGBAsD9QEACQP3AwAHA/kACQECAAQD/AMCAgAHA/wABAID8gAOAAAQAPwBAA78DgAADAAcACwAQAAATIREhASERITczESMlFSE1Ib8BAP8AAYABAP8AQICA/cADgPyAAwD+QAHA/UBAAkDAQEAAAAIAPwCAA78DQAATABgAAAERIREjNSEVIxUzFSE1MxEhETM1IxEjETMDP/8AgP8AgIABAIABAIDAgIACAAFA/sDAwEDAwP7AAUBA/sACQAAABAA///4DvwM+AAMABwALAA8AACUVITUBIREhKQERIQcjETMDv/yAAYD/AAEAAYD/AAEAQICAPkBAAgD+QALAQP3AAAAEAEAAQAOAA4AAAwAIAAwAEAAAATMVIyUzFSM1ITMVIxUhESECwMDA/sDAwP7AwMADQPzAA4DAwMDAwID+AAAABABAAEADgAOAAAMACAANABEAAAEzFSMRMxUjNREzFSM1KQERIQLAwMDAwMDA/YACAP4AAQDAAf+/vwFBwMD8wAAAAAAEAEAAQAOAA4AAAwAIAAwAEAAAATMVIyUzFSM1ITMVIxEhESECwMDA/sDAwP7AwMADQPzAAQDAwMDAwANA/gAABABAAEADgAOAAAMABwALAA8AABMVMzUzESERARUzNQMVMzVAwIACAPzAwMDAA4DAwPzAA0D+wMDA/sDAwAAAAAQAAAAABAADgAAFAAsAEQAXAAATIRUjFSMTIxEhNSMBFTMVMxEDIxUhESMAAUDAgICAAUDAAkDAgIDAAUCAA4CAwP8A/sCAAwCAwAFA/QCAAUAAAAQAAAAABAADgAAFAAsAEQAXAAABIxUjFSEDMxEhFTMBNSM1IxETMzUhETMBQIDAAUCAgP7AwANAwICAwP7AgAOAwID9wAFAgAGAgMD+wP6AgP7AAAQAQAAAA8ADgAAbACMAOQCNAAAlFw4BIyInLgEnJjU0NjcXDgEVFBceARcWMzI2JzUiJjUjFBYFBwE3FzY3PgE3NjEwFx4BFxYVFAYHJzQnLgEnJicuAScOAQcOAQcOAQcOAQcOAQcUIhUOAQc4ASMBOAExPgE3MDQxNDY1MDQ1PgE1MDYxNDY1PAE1NjQ1NjQ1PAE1NDY1PAE1PAE1NjQ1AnwuJVYvQjs6VxkZFBEyCwwUFEYuLzUiPmA1S0BwAhAt/K0t2iAhIjUQETIyeDIyDg0lCQolGxskHjoWFjoeAgQCAQMBAQEBAQMCAQEEAQEBfwEBAQIBAQEBAQEBAWIuGRsaG1s9PUYqVSkxIDwbODIxShYVEi5ASzVPcVMtA1Mt2S8oKDkREDMyoWRkYiRFH4gjJydVLi4wKEMYGEMoAwUDAgMCAQIBAgQCAQECBQL+gQMFAgECBQIBAQIEAgICBAIBAQECBAEBAgEBBAIBAQECBAIBAQEDBQMABQBAAEADwANAAAsAGwAoADUAQgAAARQGIyImNTQ2MzIWNxEUBiMhIiY1ETQ2MyEyFgc4ATEhOAExETcXNxcTISIGFSERMjY1ETQmNyEiBhUhETI2NRE0JgIAJRsbJSUbGyXAJRv+ABslJRsCABslQP4AlatqVoD+ABslAkAbJSVl/gAbJQJAGyUlAYAbJSUbGyUlZf6AGyUlGwGAGyUlG/7UjKBkUAHsJRv+QCUbAYAbJYAlG/5AJRsBgBslAAAABQAA/8AEAAPAAAMABwALAA8AEwAAASERIQEjETMBIxEzEyEVIREhFSECgP6AAYD+QEBAAsBAQID8AAQA/AAEAAFAAYABAPwABAD8AAOAQP2AQAAABQAA/8AEAAPAAAMABwALAA8AEwAAJSERIQEjETMBIxEzEyEVIREhFSEDAP4AAgD9wEBAAsBAQID8AAQA/AAEAMACAAEA/AAEAPwAA4BA/YBAAAAACQAAAAADwAPAAAMACgARABgAHwAlACwAMgA4AAABFSM1EwczFTM1MwM1IxUjFzcBJxUjFTMVJTUHFzUzNREhETM1MyUjFTMVMxEBNSMRITUlFSMVIRECQMBgYEBBP0BAQGBgAYCAgID9QICAgP8AQMACgMDAQPyAQAEAAoDAAQACQMDAAYCAgID9QICAgIABYGBAQT+AQGBgQEABwP8AwEBAwAEA/IDA/wBAwMBAAQAAAAAABgAAAAADwAOAAAMABwAOABUAGwAhAAABITUhASMVMyUnFSMVMxUlNQcXNTM1BRUjFSERBTUjESE1A8D8QAPA/oDAwAGAgICA/UCAgIACgMABAPyAQAEAAsDA/oDAYGBAQT+AQGBgQEDAwEABAMDA/wBAAAAGAEAAAAPAA8AAAwAHAA4AFQAcACIAAAERIxEBFTM1AwczFTM1MwM1IxUjFzcBIxUzFTMRAxUjFSERAQDAAYDAYGBAQT9AQEBgYAEAwMBAQMABAAPA/EADwP6AwMABgICAgP1AgICAgANAQMABAP1AwEABAAAAAAABAEAAgAPAA0AAEwAAAREjNSMRIxEjFSMRMxUzETMRMzUDwMDAwMCAgMDAwAKA/sCA/sABQMABwMABQP7AgAAAAwBA/8ADwAPAABMAGQAfAAABESM1IxEjESMVIxEzFTMRMxEzNQMHFwcXNyEXNyc3JwPAwMDAwICAwMDAYS1zcy2g/UGgLXJyLQMA/sCA/sABQMABwMABQP7AgP4ALXNzLaCgLXNzLQADAED/wAPAA8AAEwAZAB8AAAERIzUjESMRIxUjETMVMxEzETM1AQcXBxc3Mxc3JzcnA8DAwMDAgIDAwMD93y1zcy2gwaAtcnItAwD+wID+wAFAwAHAwAFA/sCA/gAtc3MtoKAtc3MtAAMAP//BA78DwQATAB8AKwAAAREjNSMRIxEjFSMRMxUzETMRMzUTJwcnBxcHFzcXNyclJwcnBxcHFzcXNycDv8DAwMCAgMDAwIAtc3Mtc3Mtc3Mtc/5zLXNzLXNzLXNzLXMDAf7AgP7AAUDAAcDAAUD+wID90y1zcy1zcy1zcy1zcy1zcy1zcy1zcy1zAAAAAAEAgAAAA0ADgAATAAABFTMVITUzNSE1ITUjNSEVIxUhFQIAwP5AwP7AAUCAAUCAAUABQMCAgMDAwMDAwMAAAAADAAAAAAQAA4AAEwAZAB8AAAEVMxUhNTM1ITUhNSM1IRUjFSEVBScHJwcXEQcXNxc3AYDA/kDA/sABQIABQIABQAFALXNzLaCgLXNzLQFAwICAwMDAwMDAwGAtc3MtoALAoC1yci0AAAP//gAAA/4DgAATABkAHwAAARUzFSE1MzUhNSE1IzUhFSMVIRUVFzcXNycRNycHJwcBfsD+QMD+wAFAgAFAgAFALXNzLaCgLXNzLQFAwICAwMDAwMDAwNMtc3MtoAEmoC1zcy0AAAAAAwAAAAAEAAOAABMAHwArAAABFTMVITUzNSE1ITUjNSEVIxUhFQUnBycHFwcXNxc3JxMnBycHFwcXNxc3JwGAwP5AwP7AAUCAAUCAAUABQC1zcy1zcy1zcy1zcy1zcy1zcy1zcy1zAUDAgIDAwMDAwMDALS1zcy1zcy1zcy1zArMtc3Mtc3Mtc3MtcwACAEAAAAPAA4AAQwBHAAABJy4BIyIGDwEnLgEjIgYPAQ4BFRQWHwEBDgEHFQcUBhUUFjMyNjMxNz4BNwEXHgEzMjY/AT4BNTQmLwE3PgE1NCYnMQEjARcDmgwSLhsaLxF6CAULBwcLBRIFBQUFCP5vDBEFKwETDQIEAqsSHgwBkggFCwcHCwUSBQUFBQh5EhQUEv4mgAEgQANODBIUFBF6CAUFBQUSBQsHBwsFCP5uDB0RAawBBAIOEwErBREMAZEIBQUFBRIFCwcHCwUIehEvGxovEf3yASBAAAAABQAAAAADwAPAACsALwAzADcAOwAAATUjNSMVIzUjFSM1IxUjFTMVIxUzFSMVMxUzNTMVMzUzFTM1MzUjNTM1IzUhMxUjETUzFSEjNTM1IzUzA8DAQMBAwEDAwMDAwMBAwEDAQMDAwMD+AMDAwAEAwMDAwALAQMDAwMDAwEDAQMBAwMDAwMDAQMBAwMD/AMDAwEDAAAoAAABABAADgAAEAAgADAAQABQAGAAcADAANAA4AAABIREhEQEjNTM1IzUzNSM1MwEjNTM1IzUzNSM1MwEUBisBNTMyNjU0JiMxIzUzMhYVJTM1IxEzNSMBQP7AAkD+wMDAwMDAwAEAwMDAwMDAAgBeQkBAKDg4KEBAQl7+wEBAQEADgPzAA0D9AMBAwEDA/UDAQMBAwP6gQl5AOCgoOEBeQmBA/sBAAAUAQAAAA8ADgAAbAB8AMwA3ADsAAAEzNSM1IxUjNSMVIxUzESMVMxUzNTMVMzUhNSErAREzASM1MzI2NTQmIzEjNTMyFhUUBiMDIxUzAzM1IwHAwMBAgECAgICAQIBAAgD+AECAgAGgQEAoODgoQEBCXl5CYEBAQEBAAsBAgICAgED+AECAgICAQAIA/oBAOCgoOEBeQkJeAUBA/wBAAAAGAAD/wAQAA8AABgAKABIAGgAiACoAAAEhESERIREFMxUjEyMVMxUjETMRIxUzFSMRMyU1IxUjNSEVISM1IxUjNSECgP2AAQADAPxAgICAQECAgEBAgIABAECAAUABgIBAgAFAA8D8AAMAAQBAgP3AQIABQAEAQIABQEBAQICAQECAAAAFAD8AAAO/A4AABAAIAA0AEgAWAAATIREhEQMzESMTIREhERchNSEVAREzEb8CgP2AgEBAgAKA/YBAAgD+AAKAQAMA/wABAP0AA4D+AP8AAQDAgIACwPyAA4AAAAUAPwAAA78DgAADAAgADAAQABUAAAERIREDITUhFQERIREXIxEzARUhNSEBv/8AgAOA/IADAP8AwICA/UADgPyAAwD9gAKA/QBAQAMA/YACgED+AALAQEAAAAAAAwA/AAADfwOAAAMABwAMAAABIREhATMRIxMRIREhAn/+QAHA/cBAQIACwP1AAgABAP0AA4D+AP8AAQAAAQB/AAADPwOAABMAACUhFSM1IREhNSMRMzUzFTMRIxUhAz/+wED+wAFAwMBAwMABQICAgAEAgAEAgID/AIAAAAMAgQAAA8EDgAAEAAgADQAAASERIRElETMRASERIREBgQHA/kACAED8wALA/UADAP8AAQCA/IADgP0AAQD/AAAEAD8AAAO/A4AAAwAHAAsAEAAAASERIQEzESMhETMRASERIREDP/2AAoD9AEBAA0BA/QICgP2AAgABAP0AA4D8gAOA/QABAP8AAAAAAwA/AIADvwNAABMAFwAbAAABESERIzUhFSMVMxUhNTMRIREzNQUjNTMBIxEzAz//AID/AICAAQCAAQCA/cCAgAGAgIACAAFA/sDAwEDAwP7AAUBAwID/AAEAAAADAEAAQAPAA4AAAwAHAAsAABMhESEDFSE1ASERIcABAP8AgAOA/oABAP8AAwD+QAJAQED8wALAAAEAPwCAA78DQAATAAABIxEhESMVITUjNTM1IRUzESERMwO/gP8AgP8AgIABAIABAIABwP7AAUDAwEDAwAFA/sAAAAAAAwA///4DvwM+AAMACAAMAAAlIREhARUhNSEBIREhAb//AAEA/oADgPyAAwD/AAEAfgHA/gBAQAMA/UAABAA/AAADvwOAAAMACAANABEAAAERIREDITUhFREVITUhBREhEQG//wCAA4D8gAOA/IACAAEAAwD9gAKA/QBAQAOAQEB+/YACgAAAAAMAfwAAAz8DgAAUABgAHAAAATUzESM1IxUjETMVIREhFTM1IREhByE1IREjNTMB/8DAQMDA/sABQEABQP7AQP8AAQCAgAGAgAEAgID/AID/AICAAQDAgAEAgAAAAwA/AAAC/wOAAAMABwAMAAATIREhBzMRIwURIREhvwEA/wCAQEABwAEA/wADAP2AgAOAfv2AAoAAAAAAAwB/AAADPwOAAAQACAAMAAATIREhEQEzESMXESERfwEA/wABQEBAgAEAAwD9gAKA/QADgH79gAKAAAAAAwEBAAADwQOAAAQACAAMAAABIREhESURMxEBIREhAQEBAP8AAoBA/oABAP8AAwD9gAKAgPyAA4D9AgKAAAAAAAT//wAAA/8DgAAEAAgADAARAAATIREhESURMxEBIREhATMRIxF/AQD/AANAQP6AAQD/AP2AQEADAP2AAoCA/IADgP0CAoD8/gOA/IAAAAAABP//AAAD/wOAAAMABwALABAAABMhESEBETMRASERIQEzESMRvwEA/wADAED+QAEA/wD9wEBAAwD9gAMA/IADgP0CAoD8/gOA/IAAAAMAPwDAA78DgAADAAgADQAAASERISUVITUhEyERIREDP/2AAoD9AAOA/ICCAoD9gAIAAQCAQED9QAEA/wAAAAADAD8AgAO/A0AAAwAIAA0AAAEhESEBFSE1IRMhESERAz/9gAKA/QADgPyAggKA/YACQAEA/sBAQP6AAQD/AAAAAwA///4DvwK+AAMACAANAAABIREhARUhNSE3IREhEQM//YACgP0AA4D8gIICgP2AAb4BAP2AQEBAAQD/AAAAAAQAP//AA78DwAAEAAkADgATAAATIREhEQMhNSEVNyERIREDFSE1Ib8CgP2AgAOA/ICCAoD9gIIDgPyAA0D/AAEA/IBAQIAB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AAABITUhByEVIRchFSEDwPyAA4CA/YACgID8gAOAAkBAgEBAQAAAAAADAEAAAAPAAUAAAwAHAAsAAAEhNSEHIRUhFyEVIQPA/IADgID9gAKAgPyAA4ABAECAQEBAAAAAAAYAgACAA4ADQAADAAcACwAPABMAFwAAASE1IQchFSEXIRUhByEVIRchFSEHIRUhA4D9AAMAwP3AAkDA/QADAMD9wAJAwP0AAwDA/cACQAMAQIBAQEBAQEBAQEAABgCAAIADgANAAAMABwALAA8AEwAXAAABITUhByE1IRchNSEHITUhFyE1IQchNSEDgP0AAwCA/gACAID9AAMAgP4AAgCA/QADAID+AAIAAwBAwEDAQMBAwEDAQAAGAIAAgAOAA0AAAwAHAAsADwATABcAABMhFSEBNSEVFyE1IQMVITUlITUhERUhNYADAP0AAwD9AMACQP3AwAMA/cACQP3AAkACQEABAEBAgED+gEBAQED/AEBAAAYAgACAA4ADQAADAAcACwAPABMAFwAAASE1ITUhFSEBITUhNSE1ITUhNSERITUhA4D9AAMA/QADAP0AAwD9AAMA/QADAP0AAwD9AAKAQIBA/gBAQEBAQP5AQAAABQBAAAADwAOAAAMABwALABAALAAAExcjNRUzJyMVISchHQEhJyEFNyczNSMnMzUjJyE1ISchNSEnITUhJyE1IScHnkBe3kCeAV5A/uIB3kD+YgMTLVMTU0CT00ABE/6tQAGT/i1AAhP9rUACk/0tQC0CQEBAwEDAQIBAQMAtU0BAQEBAQEBAQEBAQC0AAAAABgBAAAADwAOAAAMABwALAA8AEwAbAAABFSE1AREhEQUhESEDIRUhFTUhFQMhNSERITUhA8D9AAIA/YACQP4AAgBA/oABgP6AQAJA/YACgP3AAwBAQP7A/kABwED+wAEAQIBAQALAQP7AQAAABQBAAEADwANAAAMABwALAA8AEwAAASE1IRchFSEXIRUhBSEVIRchFSECgP3AAkDA/QADAID8gAOA/sD9wAJAwP0AAwADAECAQICAgEBAQAAFAEAAAAPAA8AAAwAHAAsADwATAAA3ESERAREhEQUhNSEVITUhFSE1IUADgPzAAwD9QAGA/oACgP2AAYD+gAADwPxAA4D8wANAgEDAQMBAAAUAQAAAA8ADwAADAAcACwAPABMAADcR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QEADAEBAQEBAA0BAQEBAQEBAQEBAQP0AQEBAQEBAQEACgEBAgEBAgEBAQEBAQEBAQEBAQAGAQECAQECAQED/AEBAgEBAgEBAAQBAQIBAQIBAQAAAABsAQABAA4ADgAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawAAARUhNRcjFTMVIzUzFSM1MxUjNTMVIzUzASM1MxUjNTMVIzUzFSM1MyUjNTMXIzUzNyM1MxUjNTMVIzUzFSM1MxUjNTMVIzUzISMVMzMjNTMXIzUzISMVMzMjNTMXIzUzASMVMzMjNTM3IzUzA4D8wEBAQEBAQEBAQEBAAwBAQEBAQEBAQP2AQECAQECAQEBAQEBAQEBAQEBA/oBAQIBAQIBAQAEAQECAQECAQED/AEBAgEBAgEBAA4BAQIBAgEDAQMBAwEABQEDAQMBAwEDAQEBAwEDAQMBAwEDAQMBAQEBAQEBAQEABgEBAwEAAAAAbAEAAQAOAA4AAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwBDAEcASwBPAFMAVwBbAF8AYwBnAGsAADc1IRUlIxUzNSM1MzUjNTM1IzUzNSM1MwEjNTM1IzUzNSM1MzUjNTMBIzUzFyM1MxMjNTM1IzUzNSM1MzUjNTM1IzUzNSM1MyEjFTMzIzUzFyM1MyEjFTMzIzUzFyM1MwEjFTMzIzUzEyM1M0ADQP0AQEBAQEBAQEBAQAMAQEBAQEBAQED9gEBAgEBAgEBAQEBAQEBAQEBAQP6AQECAQECAQEABAEBAgEBAgEBA/wBAQIBAQIBAQEBAQMBAgEBAQEBAQED+QEBAQEBAQED+wEBAQP7AQEBAQEBAQEBAQEBAQEBAQEBAQP6AQED+wEAAGwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAWwBfAGMAZwBrAAATMxEjEzUjFTM1MxUzNTMVMzUzFTM1MxUBNTMVMzUzFTM1MxUzNTMVATUzFQc1MxUFNTMVMzUzFTM1MxUzNTMVMzUzFTM1MxURNSMVFTUzFQc1MxURNSMVFTUzFQc1MxUBNSMVFTUzFQU1MxVAQEDAQIBAQEBAQEBA/kBAQEBAQEBA/sBAQED+wEBAQEBA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wMAAAAADAEAAAAPAA4AACwAPABMAAAERIxEhESMRIxEhEQERMxEzETMRAoBA/sCAQAOA/YDAwMADgPzAA0D8wANA/IADgPzAAgD+AAFA/sAABABAAAADwAOAAAUACQANABEAACUVIREzEQEjETMTESERJSERIQPA/IBAAYDAwED+wALA/sABQEBAA4D8wAKA/kACAP3AAkCA/kAAAAIAQAAAA8ADgAALAA8AADc1IREhNSERIREhNQEVITWAAUD+wALA/QADgP3A/wBAgAFAQAFA/IBAAYDAwAAAAAADAEAAAAPAA4AACwAPABMAADc1IREhNSERIREhNQEzFSMFFSE1gALA/UACAP3AA4D8wMDAAYD+gECAAUBAAUD8gEADAMDAwMAAAAAAAwBAAAADwAOAAAsADwATAAABESERITUhNSERITUFFSE1ESEVIQPA/IADgPzAA0D8wAIA/gABQP7AAkABQPyAQIABQECAwMABgMAAAAQAQAAAA8ADgAAFAAkADQARAAAlFSERMxEBIRUhExEhEQEhESEDwPyAQAKA/kABwED9wALA/kABwEBAA4D8wAGAwAEA/sABQAGA/sAAAAAAAwBAAAADwAOAAAoADgARAAABJwcnByc1IxEhEQUXByclFwcDK7C3REu1QAOA/sCFhY7+joyMAi+x5ERatOb8gAMAgIW7jnKMpwAAAAIAQAAAA8ADgAAHAA8AAAElAREjESERAwkCNQEXNwKA/wD/AEADgED/AP8A/wABDfz3AnWA/wABi/yAA4D+5v6aAQD+zc4BDH7OAAACAEAAAAPAA4AAAwAJAAATESERBwkCESFAA4BA/wD/AP8AAwADgPyAA4Da/poBAP7NAjMAAQBAAAADwAOAAA0AADcVIRUhETMRAQUBEQEngANA/IBAAQABAAFA/sD+gEBAA4D+QAEAgAFA/oD+wIAAAwBAAAADwQOAAAUAGQAdAAA3IRUhETMBAzUTNycHNTcXNxc3FQcfAScHJzcXNyeAA0D8gEABMfHCUzfe8FfacG9MTAF1paoyeIFWQEADgP49/sNmAQRCRHBMdGyuq4VeXXVrrsrVKJeafwAAAwBAAAADwAOAAAUADQAVAAAlFSERMxEBBSU1BSUFFQEFJTUFJQUVA8D8gEABQAEAAQD/AP8A/wABAAEAAQD/AP8A/wBAQAOA/MAB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BAABQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAYAEAABABAAAgAQAAEAEAAFABAAAAAQAAMAEAAAABAAAwAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAABAAQAAQAEAAEABAABAAQAAEAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAHABAAB6QQAAEAEAABABAAAQAQAAEAEAAAABAAAwAQAAMAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAAEABAAAUwQAAAAEAAAABAABAAQAAAAEAADABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAMAEAABABAAAQAQAAMAEAABABAAAQAQAAMAEAABABAAAQAQAAMAEAADABAAAQAQAAQAEAAEABAAAgAQAAIAEAAEABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAwAQAAMAEAADABAAAgAQAAMAEAABaBAAAQwQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAABABAAAgAQAAUAEAAFABAAAQAQAAEAEAABABAAAwAQAAMAEAAEABAABAAQAAQAEAACABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAEAEAABRBAABAAQAAIAEAABABAAAQAQAAAAEAABABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAMAEAADABAAAwAQAAFAEAABQBAAAQAQAAEAEAACABAAAgAQAAIAEAACABAABAAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAAAEAAAABAAAQAQAAAAEAABABAAAgAQAAIAEAACABAAAQAQAAEAEAABABAAADAQAAMAEAABABAAAQAQAAEAEAABABAAAgAQAAAAEAAEABAABAAQAAEAEAACABAAAgAQAAIAEAACABAAAgAQAAD8EAAB/BAAAgQQAAD8EAAA/BAAAPwQAAEAEAABABAAAQAQAAEAEAAAABAAAAAQAAEAEAABABAAAAAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAEAEAAA/BAAAgAQAAAAEAP/+BAAAAAQAAEAEAAAABAAAAAQAAEAEAAAABAAAPwQAAD8EAAA/BAAAfwQAAIEEAAA/BAAAPwQAAEAEAAA/BAAAPwQAAD8EAAB/BAAAPwQAAH8EAAEBBAD//wQA//8EAAA/BAAAPwQAAD8EAAA/BAAAPwQAAEAEAACABAABAAQAAQAEAAEABAABAAQAAMAEAABABAAAQAQAAAAEAACABAAAgAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAMAEAADABAAAAAQAAEAEAABABAAAAAQAAIAEAABABAAAAAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAIAEAACABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAAAEAAAABAAAAAQAAAAEAABABAAAQAQAAEAEAAAABAAAQAQAAAAEAABABAAAQAQAAAAEAAAABAAAQAQAAAAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAFMEAAAABAAAAAQAAAAEAABABAAAQAQAAMAEAABABAABAAQAAIAEAABABAAAgAQAAIAEAABABAAAAAQAAAAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABJBAAAQAQAAEAEAABABAAAQAQAAKAEAACgBAAAwAQAAIAEAABABAAAgAQAAEAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAQAEAABABAAAwAQAAEAEAABABAAAQAQAAIAEAABABAAAQAQAAEAEAACABAAAQAQAAAAEAABABAAAQAQAAEAEAABABAAAQAQAAMAEAABABAAAQAQAAEAEAABCBAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAAAgAQAAIAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAABABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABABAAAQAQAAIAEAABABAAAQAQAAIAEAABABAAAgAQAAMAEAAC+BAAAwAQAAL4EAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABCBAAAQAQAAEAEAABAAAAAAAAAAAAACgAUAB4AKAAyADwARgBQAFoAZABuAHgAggCMAJYAoACqALQAvgDIANIA3ADmAPAA+gEEAQ4BGAEiASwBNgFAAUoBVAFeAWgBcgF8AYoBmAGmAbQBwgHQAd4B7AICAhgCLgJEAloCcAKGApwCtALKAt4C8gMIAx4DMgNEA1YDbAN+A5YDrAPIA+wEDAQqBD4EbgS6BOgFDAUyBUYFdgWgBcYF5gYQBioGRAZeBngGrgbkBv4HUgdoB4AHpAfIB/YIJAhWCIgIugjsCR4JYAmiCeQKJgpoCooKrArOCvALEgs+C2wLmgvIC/YMHgxGDMQM4g0ADR4NPA1eDYANpA3UDfgOHA4uDkYOag6QDuAPMg+eD+4QQBCgEOYRGhFwEZwR4hIwEpAS+BOQE/gUkBTUFRYVdhXuFmwWgBbkFyAXOhekF+YX/hhkGKIYsBkOGUQZXhl4GZ4ZshnGGdwaABoUGjIaUBqGGsYa4Br6GxQbLhtSG3QblhusG8wb2hxkHXAdwh48HpwfCh9yH5YfyCAIIDYgTCBaIGogeCCoILwg3iD4IRQhJCFQIZoh3iJaI1YktCVsJfAmVib8JxAnWCe4J/goBigcKCooPihSKHwo2Cj+KXwqHCpOKn4qjCqgKq4rEitMK3wrliusK8wr6iwsLFwstC0cLVwtxC5ELqYvAC8+L4Qv2jAsMFYwhDCuMMgw4jGUMbox4DJKMxQzfjOONEo0nDTKNO413DYKNiA22DcMNzI3Yjd+N543wjfsOBI4NjheOIA4oDjCOOI5AjksOVY6FDp0Op46yDsiO1w7mDu4O+w8IDxoPIg8vDzwPTY9pD3uPkI+kj7UPwI/MD9OP24/jj+0P+I//kAgQD5AZECSQLBAzkDuQRZBPEFcQXxBnEHEQexCaELUQ1BDakOmQ7hD1kQ2RJhFzkZURthHrkiMSUxKIksqS8hMpk2eTohO1E8OT0ZPaE+KT6xPyE/kUABQLlBcUIpQuFEAUTZRXlGGUbBR2FICUixSVFJ+UqhS0FMUUz5ThFQMVKZVQFXYVnBXCleiWFpYnFkoWeRaiFtOW3xbxFyCXgJfnGBcYZJh4GIMYk5jWmPgZHBk1mU8ZbZmJGamZyhnjGfQaBpogmjoaRBpRmmaaepqXGqSavJrVmuObDBsbGy+bRhtam3Ebhpubm6ubvhvWG+4cYxx4HLScyRzbHO2dwB3dnhYeSh5yHocemZ6pnr8ezh7lnvOfAR8PHx0fNB9Kn1mfbB96H4gflZ+oH7qfyx/dH+8gAKAXIGggsyDVoOchM6E7oVQhjqGuoeOiBSImojIiTKJ8oo2iviLPIuCi8aMCoxGjICMuo0sjfaOLI56j0iPeo+wj/CQGpBEkMqRlpKOkrqTNpPolGyUwpUolU6VdJXAlfSWHJZ+lvSXCpc0l3SX0JgSmGqYjpjImiabmp0Gnoqexp8Un3Kf5qBqoPijuqaSpv6ngKf+qIao0qk0qZ6qFqqwq1ysHKzwrcCumq7qr0avrLAisISw/LEmsWKxnLHQsiiyerKessyzCrPstCS0YrSatPa13LbEtwy3srfwuBy4fLjYuQi5PLlmukC6rrsCu868irz+vWy9kr3Ivey+Vr7qvyS/Xr+Gv66/6MAgwGbAosDKwUjC4MSoxpbHnsfYyBzIeMjuyXzKOsp6ypzLTMuay/DMaMy6zVjNqs4QzkbOhM7W0HrQwNJm0rLS0tLy0xTTNNNi04LTqNPO0/TUFNQ61GDUiNSu1NTU7tUM1ULVctWa1ubYPNmC2i7bEtuq3KjdIN3I3ejeYN6U3sTfDOAC4CjgfODi4OwAAQAAAq0DLAA+AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAABoBPgABAAAAAAAAABsBEQABAAAAAAABABIAAAABAAAAAAACAAcDYAABAAAAAAADABIC9AABAAAAAAAEABIDdQABAAAAAAAFAAsC0wABAAAAAAAGABIDKgABAAAAAAAJABsBYgABAAAAAAAKADMAeAABAAAAAAALABYANgABAAAAAAAMABYBswABAAAAAAANABsB9QABAAAAAAAOAC8CRgADAAEECQAAADYBLAADAAEECQABACQAEgADAAEECQACAA4DZwADAAEECQADACQDBgADAAEECQAEACQDhwADAAEECQAFABYC3gADAAEECQAGACQDPAADAAEECQAJADYBfQADAAEECQAKAGYAqwADAAEECQALACwATAADAAEECQAMACwByQADAAEECQANADYCEAADAAEECQAOAF4CdVdlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac2h0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbVdlYiBDb21wb25lbnRzIEljb24gRm9udApGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBXAGUAYgAgAEMAbwBtAHAAbwBuAGUAbgB0AHMAIABJAGMAbwBuACAARgBvAG4AdAAKAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALlRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeVRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeWh0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbUFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5odG1sAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAC4AaAB0AG0AbFZlcnNpb24gMS44AFYAZQByAHMAaQBvAG4AIAAxAC4AOFdlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1dlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcldlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4AcwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype");\n}\n.k-icon {\n width: 1em;\n height: 1em;\n outline: 0;\n font-size: 16px;\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-feature-settings: normal;\n font-variant: normal;\n font-weight: normal;\n line-height: 1;\n speak: none;\n text-transform: none;\n text-decoration: none;\n flex-shrink: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n.k-icon:hover, .k-icon:focus {\n text-decoration: none;\n}\n.k-svg-icon {\n width: 1em;\n height: 1em;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n}\n.k-svg-icon > svg {\n fill: currentColor;\n flex: 1 0 auto;\n}\n.k-svg-icon.k-flip-h, .k-svg-icon.k-flip-v, .k-svg-icon.k-flip-h.k-flip-v {\n transform: none;\n}\n.k-svg-icon.k-flip-h > svg {\n transform: scaleX(-1);\n}\n.k-svg-icon.k-flip-v > svg {\n transform: scaleY(-1);\n}\n.k-svg-icon.k-flip-h.k-flip-v > svg {\n transform: scale(-1, -1);\n}\n.k-icon-with-modifier {\n position: relative;\n margin: 0.25em;\n}\n.k-icon-modifier {\n position: absolute;\n font-size: 0.5em;\n bottom: 0;\n right: 0;\n margin: 0 -0.5em -0.5em 0;\n}\n.k-i-none::before {\n content: "";\n display: none;\n}\n.k-widget .k-icon.k-i-expand, .k-widget .k-icon.k-i-collapse {\n cursor: pointer;\n}\n.k-icon-xs {\n font-size: 8px;\n}\n.k-icon-sm {\n font-size: 12px;\n}\n.k-icon-md {\n font-size: 32px;\n}\n.k-icon-lg {\n font-size: 48px;\n}\n.k-icon-xl {\n font-size: 64px;\n}\n.k-i-caret-tr::before {\n content: "\\e000";\n}\n.k-i-arrow-45-up-right::before {\n content: "\\e000";\n}\n.k-i-collapse-ne::before {\n content: "\\e000";\n}\n.k-i-resize-ne::before {\n content: "\\e000";\n}\n.k-i-caret-br::before {\n content: "\\e001";\n}\n.k-i-arrow-45-down-right::before {\n content: "\\e001";\n}\n.k-i-collapse-se::before {\n content: "\\e001";\n}\n.k-i-resize-se::before {\n content: "\\e001";\n}\n.k-i-caret-bl::before {\n content: "\\e002";\n}\n.k-i-arrow-45-down-left::before {\n content: "\\e002";\n}\n.k-i-collapse-sw::before {\n content: "\\e002";\n}\n.k-i-resize-sw::before {\n content: "\\e002";\n}\n.k-i-caret-tl::before {\n content: "\\e003";\n}\n.k-i-arrow-45-up-left::before {\n content: "\\e003";\n}\n.k-i-collapse-nw::before {\n content: "\\e003";\n}\n.k-i-resize-nw::before {\n content: "\\e003";\n}\n.k-i-caret-alt-up::before {\n content: "\\e004";\n}\n.k-i-arrow-60-up::before {\n content: "\\e004";\n}\n.k-i-arrow-n::before {\n content: "\\e004";\n}\n.k-i-kpi-trend-increase::before {\n content: "\\e004";\n}\n.k-i-expand-n::before {\n content: "\\e004";\n}\n.k-i-sarrow-n::before {\n content: "\\e004";\n}\n.k-i-caret-alt-right::before {\n content: "\\e005";\n}\n.k-i-arrow-60-right::before {\n content: "\\e005";\n}\n.k-i-arrow-e::before {\n content: "\\e005";\n}\n.k-i-expand::before {\n content: "\\e005";\n}\n.k-i-expand-e::before {\n content: "\\e005";\n}\n.k-i-sarrow-e::before {\n content: "\\e005";\n}\n.k-i-caret-alt-down::before {\n content: "\\e006";\n}\n.k-i-arrow-60-down::before {\n content: "\\e006";\n}\n.k-i-arrow-s::before {\n content: "\\e006";\n}\n.k-i-kpi-trend-decrease::before {\n content: "\\e006";\n}\n.k-i-expand-s::before {\n content: "\\e006";\n}\n.k-i-collapse::before {\n content: "\\e006";\n}\n.k-i-sarrow-s::before {\n content: "\\e006";\n}\n.k-i-caret-alt-left::before {\n content: "\\e007";\n}\n.k-i-arrow-60-left::before {\n content: "\\e007";\n}\n.k-i-arrow-w::before {\n content: "\\e007";\n}\n.k-i-expand-w::before {\n content: "\\e007";\n}\n.k-i-sarrow-w::before {\n content: "\\e007";\n}\n.k-i-caret-alt-to-top::before {\n content: "\\e008";\n}\n.k-i-arrow-end-up::before {\n content: "\\e008";\n}\n.k-i-seek-n::before {\n content: "\\e008";\n}\n.k-i-caret-alt-to-right::before {\n content: "\\e009";\n}\n.k-i-arrow-end-right::before {\n content: "\\e009";\n}\n.k-i-seek-e::before {\n content: "\\e009";\n}\n.k-i-caret-alt-to-bottom::before {\n content: "\\e00a";\n}\n.k-i-arrow-end-down::before {\n content: "\\e00a";\n}\n.k-i-seek-s::before {\n content: "\\e00a";\n}\n.k-i-caret-alt-to-left::before {\n content: "\\e00b";\n}\n.k-i-arrow-end-left::before {\n content: "\\e00b";\n}\n.k-i-seek-w::before {\n content: "\\e00b";\n}\n.k-i-caret-double-alt-up::before {\n content: "\\e00c";\n}\n.k-i-arrow-double-60-up::before {\n content: "\\e00c";\n}\n.k-i-arrow-seek-up::before {\n content: "\\e00c";\n}\n.k-i-caret-double-alt-right::before {\n content: "\\e00d";\n}\n.k-i-arrow-double-60-right::before {\n content: "\\e00d";\n}\n.k-i-arrow-seek-right::before {\n content: "\\e00d";\n}\n.k-i-forward-sm::before {\n content: "\\e00d";\n}\n.k-i-caret-double-alt-down::before {\n content: "\\e00e";\n}\n.k-i-arrow-double-60-down::before {\n content: "\\e00e";\n}\n.k-i-arrow-seek-down::before {\n content: "\\e00e";\n}\n.k-i-caret-double-alt-left::before {\n content: "\\e00f";\n}\n.k-i-arrow-double-60-left::before {\n content: "\\e00f";\n}\n.k-i-arrow-seek-left::before {\n content: "\\e00f";\n}\n.k-i-rewind-sm::before {\n content: "\\e00f";\n}\n.k-i-caret-alt-expand::before {\n content: "\\e010";\n}\n.k-i-arrows-kpi::before {\n content: "\\e010";\n}\n.k-i-kpi::before {\n content: "\\e010";\n}\n.k-i-caret-alt-sort::before {\n content: "\\e010";\n}\n.k-i-arrows-no-change::before {\n content: "\\e011";\n}\n.k-i-arrow-overflow-down::before {\n content: "\\e012";\n}\n.k-i-chevron-up::before {\n content: "\\e013";\n}\n.k-i-chevron-double-up::before {\n content: "\\e94a";\n}\n.k-i-arrow-chevron-up::before {\n content: "\\e013";\n}\n.k-i-arrowhead-n::before {\n content: "\\e013";\n}\n.k-i-chevron-right::before {\n content: "\\e014";\n}\n.k-i-chevron-double-right::before {\n content: "\\e94b";\n}\n.k-i-arrow-chevron-right::before {\n content: "\\e014";\n}\n.k-i-arrowhead-e::before {\n content: "\\e014";\n}\n.k-i-chevron-down::before {\n content: "\\e015";\n}\n.k-i-chevron-double-down::before {\n content: "\\e94c";\n}\n.k-i-arrow-chevron-down::before {\n content: "\\e015";\n}\n.k-i-arrowhead-s::before {\n content: "\\e015";\n}\n.k-i-chevron-left::before {\n content: "\\e016";\n}\n.k-i-chevron-double-left::before {\n content: "\\e94d";\n}\n.k-i-arrow-chevron-left::before {\n content: "\\e016";\n}\n.k-i-arrowhead-w::before {\n content: "\\e016";\n}\n.k-i-arrow-up::before {\n content: "\\e017";\n}\n.k-i-arrow-right::before {\n content: "\\e018";\n}\n.k-i-arrow-down::before {\n content: "\\e019";\n}\n.k-i-arrow-left::before {\n content: "\\e01a";\n}\n.k-i-level-down::before {\n content: "\\e01b";\n}\n.k-i-arrow-drill::before {\n content: "\\e01b";\n}\n.k-i-level-up::before {\n content: "\\e01c";\n}\n.k-i-arrow-parent::before {\n content: "\\e01c";\n}\n.k-i-level-to-top::before {\n content: "\\e01d";\n}\n.k-i-arrow-root::before {\n content: "\\e01d";\n}\n.k-i-level-root::before {\n content: "\\e01d";\n}\n.k-i-col-resize::before {\n content: "\\e01e";\n}\n.k-i-arrows-resizing::before {\n content: "\\e01e";\n}\n.k-i-arrows-axes::before {\n content: "\\e01f";\n}\n.k-i-arrows-dimensions::before {\n content: "\\e01f";\n}\n.k-i-dimension::before {\n content: "\\e01f";\n}\n.k-i-arrows-swap::before {\n content: "\\e020";\n}\n.k-i-drag-and-drop::before {\n content: "\\e021";\n}\n.k-i-categorize::before {\n content: "\\e022";\n}\n.k-i-grid::before {\n content: "\\e023";\n}\n.k-i-grid-layout::before {\n content: "\\e024";\n}\n.k-i-group::before {\n content: "\\e025";\n}\n.k-i-ungroup::before {\n content: "\\e026";\n}\n.k-i-handler-drag::before {\n content: "\\e027";\n}\n.k-i-layout::before {\n content: "\\e028";\n}\n.k-i-layout-1-by-4::before {\n content: "\\e029";\n}\n.k-i-layout-2-by-2::before {\n content: "\\e02a";\n}\n.k-i-page-layout::before {\n content: "\\e02a";\n}\n.k-i-layout-side-by-side::before {\n content: "\\e02b";\n}\n.k-i-layout-stacked::before {\n content: "\\e02c";\n}\n.k-i-columns::before {\n content: "\\e02d";\n}\n.k-i-rows::before {\n content: "\\e02e";\n}\n.k-i-reorder::before {\n content: "\\e02f";\n}\n.k-i-menu::before {\n content: "\\e030";\n}\n.k-i-hamburger::before {\n content: "\\e030";\n}\n.k-i-more-vertical::before {\n content: "\\e031";\n}\n.k-i-more-v::before {\n content: "\\e031";\n}\n.k-i-vbars::before {\n content: "\\e031";\n}\n.k-i-more-horizontal::before {\n content: "\\e032";\n}\n.k-i-more-h::before {\n content: "\\e032";\n}\n.k-i-hbars::before {\n content: "\\e032";\n}\n.k-i-overlap::before {\n content: "\\e033";\n}\n.k-i-home::before {\n content: "\\e034";\n}\n.k-i-root::before {\n content: "\\e034";\n}\n.k-i-height::before {\n content: "\\e035";\n}\n.k-i-width::before {\n content: "\\e036";\n}\n.k-i-max-height::before {\n content: "\\e037";\n}\n.k-i-max-width::before {\n content: "\\e038";\n}\n.k-i-min-height::before {\n content: "\\e039";\n}\n.k-i-min-width::before {\n content: "\\e03a";\n}\n.k-i-margin::before {\n content: "\\e03b";\n}\n.k-i-margin-top::before {\n content: "\\e03c";\n}\n.k-i-margin-right::before {\n content: "\\e03d";\n}\n.k-i-margin-bottom::before {\n content: "\\e03e";\n}\n.k-i-margin-left::before {\n content: "\\e03f";\n}\n.k-i-padding::before {\n content: "\\e040";\n}\n.k-i-padding-top::before {\n content: "\\e041";\n}\n.k-i-padding-right::before {\n content: "\\e042";\n}\n.k-i-padding-bottom::before {\n content: "\\e043";\n}\n.k-i-padding-left::before {\n content: "\\e044";\n}\n.k-i-border-style::before {\n content: "\\e045";\n}\n.k-i-border-style-top::before {\n content: "\\e046";\n}\n.k-i-border-style-right::before {\n content: "\\e047";\n}\n.k-i-border-style-bottom::before {\n content: "\\e048";\n}\n.k-i-border-style-left::before {\n content: "\\e049";\n}\n.k-i-border-radius::before {\n content: "\\e04a";\n}\n.k-i-border-radius-top-right::before {\n content: "\\e04b";\n}\n.k-i-border-radius-bottom-right::before {\n content: "\\e04c";\n}\n.k-i-border-radius-bottom-left::before {\n content: "\\e04d";\n}\n.k-i-border-radius-top-left::before {\n content: "\\e04e";\n}\n.k-i-outline-width::before {\n content: "\\e04f";\n}\n.k-i-outline-offset::before {\n content: "\\e050";\n}\n.k-i-box-sizing::before {\n content: "\\e051";\n}\n.k-i-position-top::before {\n content: "\\e052";\n}\n.k-i-position-right::before {\n content: "\\e053";\n}\n.k-i-position-bottom::before {\n content: "\\e054";\n}\n.k-i-position-left::before {\n content: "\\e055";\n}\n.k-i-display-block::before {\n content: "\\e056";\n}\n.k-i-display-inline-block::before {\n content: "\\e057";\n}\n.k-i-display-flex::before {\n content: "\\e058";\n}\n.k-i-display-inline-flex::before {\n content: "\\e059";\n}\n.k-i-gap-column::before {\n content: "\\e05a";\n}\n.k-i-gap-row::before {\n content: "\\e05b";\n}\n.k-i-handle-resize-alt::before {\n content: "\\e05c";\n}\n.k-i-handle-resize::before {\n content: "\\e05d";\n}\n.k-i-undo::before {\n content: "\\e100";\n}\n.k-i-undo-large::before {\n content: "\\e100";\n}\n.k-i-redo::before {\n content: "\\e101";\n}\n.k-i-redo-large::before {\n content: "\\e101";\n}\n.k-i-arrow-rotate-ccw::before {\n content: "\\e102";\n}\n.k-i-reset::before {\n content: "\\e102";\n}\n.k-i-arrow-rotate-cw::before {\n content: "\\e103";\n}\n.k-i-reload::before {\n content: "\\e103";\n}\n.k-i-refresh::before {\n content: "\\e103";\n}\n.k-i-recurrence::before {\n content: "\\e103";\n}\n.k-i-arrows-repeat::before {\n content: "\\e103";\n}\n.k-i-arrows-no-repeat::before {\n content: "\\e104";\n}\n.k-i-non-recurrence::before {\n content: "\\e104";\n}\n.k-i-refresh-clear::before {\n content: "\\e104";\n}\n.k-i-arrow-rotate-ccw-small::before {\n content: "\\e105";\n}\n.k-i-reset-sm::before {\n content: "\\e105";\n}\n.k-i-arrow-rotate-cw-small::before {\n content: "\\e106";\n}\n.k-i-reload-sm::before {\n content: "\\e106";\n}\n.k-i-refresh-sm::before {\n content: "\\e106";\n}\n.k-i-recurrence-sm::before {\n content: "\\e106";\n}\n.k-i-arrows-repeat-sm::before {\n content: "\\e106";\n}\n.k-i-clock::before {\n content: "\\e107";\n}\n.k-i-calendar::before {\n content: "\\e108";\n}\n.k-i-save::before {\n content: "\\e109";\n}\n.k-i-floppy::before {\n content: "\\e109";\n}\n.k-i-print::before {\n content: "\\e10a";\n}\n.k-i-printer::before {\n content: "\\e10a";\n}\n.k-i-pencil::before {\n content: "\\e10b";\n}\n.k-i-edit::before {\n content: "\\e10b";\n}\n.k-i-trash::before {\n content: "\\e10c";\n}\n.k-i-delete::before {\n content: "\\e10c";\n}\n.k-i-paperclip::before {\n content: "\\e10d";\n}\n.k-i-attachment::before {\n content: "\\e10d";\n}\n.k-i-clip::before {\n content: "\\e10d";\n}\n.k-i-paperclip-alt::before {\n content: "\\e10e";\n}\n.k-i-attachment-45::before {\n content: "\\e10e";\n}\n.k-i-clip-45::before {\n content: "\\e10e";\n}\n.k-i-link::before {\n content: "\\e10f";\n}\n.k-i-link-horizontal::before {\n content: "\\e10f";\n}\n.k-i-hyperlink::before {\n content: "\\e10f";\n}\n.k-i-link-h::before {\n content: "\\e10f";\n}\n.k-i-unlink::before {\n content: "\\e110";\n}\n.k-i-unlink-horizontal::before {\n content: "\\e110";\n}\n.k-i-hyperlink-remove::before {\n content: "\\e110";\n}\n.k-i-unlink-h::before {\n content: "\\e110";\n}\n.k-i-link-vertical::before {\n content: "\\e111";\n}\n.k-i-link-v::before {\n content: "\\e111";\n}\n.k-i-unlink-vertical::before {\n content: "\\e112";\n}\n.k-i-unlink-v::before {\n content: "\\e112";\n}\n.k-i-lock::before {\n content: "\\e113";\n}\n.k-i-unlock::before {\n content: "\\e114";\n}\n.k-i-cancel::before {\n content: "\\e115";\n}\n.k-i-cancel-outline::before {\n content: "\\e116";\n}\n.k-i-deny::before {\n content: "\\e116";\n}\n.k-i-cancel-circle::before {\n content: "\\e117";\n}\n.k-i-check::before {\n content: "\\e118";\n}\n.k-i-checkmark::before {\n content: "\\e118";\n}\n.k-i-tick::before {\n content: "\\e118";\n}\n.k-i-check-outline::before {\n content: "\\e119";\n}\n.k-i-checkmark-outline::before {\n content: "\\e119";\n}\n.k-i-success::before {\n content: "\\e119";\n}\n.k-i-check-circle::before {\n content: "\\e11a";\n}\n.k-i-checkmark-circle::before {\n content: "\\e11a";\n}\n.k-i-x::before {\n content: "\\e11b";\n}\n.k-i-close::before {\n content: "\\e11b";\n}\n.k-i-clear::before {\n content: "\\e11b";\n}\n.k-i-times::before {\n content: "\\e11b";\n}\n.k-i-group-delete::before {\n content: "\\e11b";\n}\n.k-i-x-outline::before {\n content: "\\e11c";\n}\n.k-i-close-outline::before {\n content: "\\e11c";\n}\n.k-i-clear-outline::before {\n content: "\\e11c";\n}\n.k-i-times-outline::before {\n content: "\\e11c";\n}\n.k-i-error::before {\n content: "\\e11c";\n}\n.k-i-x-circle::before {\n content: "\\e11d";\n}\n.k-i-close-circle::before {\n content: "\\e11d";\n}\n.k-i-clear-circle::before {\n content: "\\e11d";\n}\n.k-i-times-circle::before {\n content: "\\e11d";\n}\n.k-i-plus::before {\n content: "\\e11e";\n}\n.k-i-add::before {\n content: "\\e11e";\n}\n.k-i-plus-outline::before {\n content: "\\e11f";\n}\n.k-i-add-outline::before {\n content: "\\e11f";\n}\n.k-i-plus-circle::before {\n content: "\\e120";\n}\n.k-i-add-circle::before {\n content: "\\e120";\n}\n.k-i-minus::before {\n content: "\\e121";\n}\n.k-i-kpi-trend-equal::before {\n content: "\\e121";\n}\n.k-i-minus-outline::before {\n content: "\\e122";\n}\n.k-i-minus-circle::before {\n content: "\\e123";\n}\n.k-i-sort-asc::before {\n content: "\\e124";\n}\n.k-i-sort-desc::before {\n content: "\\e125";\n}\n.k-i-sort-clear::before {\n content: "\\e126";\n}\n.k-i-unsort::before {\n content: "\\e126";\n}\n.k-i-sort-asc-small::before {\n content: "\\e127";\n}\n.k-i-sort-asc-sm::before {\n content: "\\e127";\n}\n.k-i-sort-desc-small::before {\n content: "\\e128";\n}\n.k-i-sort-desc-sm::before {\n content: "\\e128";\n}\n.k-i-filter::before {\n content: "\\e129";\n}\n.k-i-filter-clear::before {\n content: "\\e12a";\n}\n.k-i-filter-small::before {\n content: "\\e12b";\n}\n.k-i-filter-sm::before {\n content: "\\e12b";\n}\n.k-i-filter-sort-asc-small::before {\n content: "\\e12c";\n}\n.k-i-filter-sort-asc-sm::before {\n content: "\\e12c";\n}\n.k-i-filter-sort-desc-small::before {\n content: "\\e12d";\n}\n.k-i-filter-sort-desc-sm::before {\n content: "\\e12d";\n}\n.k-i-filter-add-expression::before {\n content: "\\e12e";\n}\n.k-i-filter-add-group::before {\n content: "\\e12f";\n}\n.k-i-login::before {\n content: "\\e130";\n}\n.k-i-sign-in::before {\n content: "\\e130";\n}\n.k-i-logout::before {\n content: "\\e131";\n}\n.k-i-sign-out::before {\n content: "\\e131";\n}\n.k-i-download::before {\n content: "\\e132";\n}\n.k-i-upload::before {\n content: "\\e133";\n}\n.k-i-hyperlink-open::before {\n content: "\\e134";\n}\n.k-i-hyperlink-open-sm::before {\n content: "\\e135";\n}\n.k-i-launch::before {\n content: "\\e136";\n}\n.k-i-window::before {\n content: "\\e137";\n}\n.k-i-window-maximize::before {\n content: "\\e137";\n}\n.k-i-maximize::before {\n content: "\\e137";\n}\n.k-i-window-restore::before {\n content: "\\e138";\n}\n.k-i-windows::before {\n content: "\\e138";\n}\n.k-i-tiles::before {\n content: "\\e138";\n}\n.k-i-restore::before {\n content: "\\e138";\n}\n.k-i-window-minimize::before {\n content: "\\e139";\n}\n.k-i-minimize::before {\n content: "\\e139";\n}\n.k-i-gear::before {\n content: "\\e13a";\n}\n.k-i-cog::before {\n content: "\\e13a";\n}\n.k-i-custom::before {\n content: "\\e13a";\n}\n.k-i-gears::before {\n content: "\\e13b";\n}\n.k-i-cogs::before {\n content: "\\e13b";\n}\n.k-i-wrench::before {\n content: "\\e13c";\n}\n.k-i-settings::before {\n content: "\\e13c";\n}\n.k-i-eye::before {\n content: "\\e13d";\n}\n.k-i-preview::before {\n content: "\\e13d";\n}\n.k-i-search::before {\n content: "\\e13e";\n}\n.k-i-zoom::before {\n content: "\\e13e";\n}\n.k-i-zoom-in::before {\n content: "\\e13f";\n}\n.k-i-zoom-out::before {\n content: "\\e140";\n}\n.k-i-arrows-move::before {\n content: "\\e141";\n}\n.k-i-pan::before {\n content: "\\e141";\n}\n.k-i-move::before {\n content: "\\e141";\n}\n.k-i-calculator::before {\n content: "\\e142";\n}\n.k-i-cart::before {\n content: "\\e143";\n}\n.k-i-shopping-cart::before {\n content: "\\e143";\n}\n.k-i-connector::before {\n content: "\\e144";\n}\n.k-i-plus-sm::before {\n content: "\\e145";\n}\n.k-i-splus::before {\n content: "\\e145";\n}\n.k-i-minus-sm::before {\n content: "\\e146";\n}\n.k-i-sminus::before {\n content: "\\e146";\n}\n.k-i-kpi-status-deny::before {\n content: "\\e147";\n}\n.k-i-kpi-status-hold::before {\n content: "\\e148";\n}\n.k-i-kpi-status-open::before {\n content: "\\e149";\n}\n.k-i-equal::before {\n content: "\\e14a";\n}\n.k-i-not-equal::before {\n content: "\\e14b";\n}\n.k-i-less-or-equal::before {\n content: "\\e14c";\n}\n.k-i-greater-or-equal::before {\n content: "\\e14d";\n}\n.k-i-divide::before {\n content: "\\e14e";\n}\n.k-i-accessibility::before {\n content: "\\e14f";\n}\n.k-i-barcode-outline::before {\n content: "\\e150";\n}\n.k-i-barcode::before {\n content: "\\e151";\n}\n.k-i-barcode-scanner::before {\n content: "\\e152";\n}\n.k-i-qr-code-outline::before {\n content: "\\e153";\n}\n.k-i-qr-code::before {\n content: "\\e154";\n}\n.k-i-qr-code-scanner::before {\n content: "\\e155";\n}\n.k-i-barcode-qr-code-scanner::before {\n content: "\\e156";\n}\n.k-i-signature::before {\n content: "\\e157";\n}\n.k-i-hand::before {\n content: "\\e158";\n}\n.k-i-pointer::before {\n content: "\\e159";\n}\n.k-i-cursor::before {\n content: "\\e159";\n}\n.k-i-stick::before {\n content: "\\e15a";\n}\n.k-i-unstick::before {\n content: "\\e15b";\n}\n.k-i-set-column-position::before {\n content: "\\e15c";\n}\n.k-i-play::before {\n content: "\\e200";\n}\n.k-i-pause::before {\n content: "\\e201";\n}\n.k-i-stop::before {\n content: "\\e202";\n}\n.k-i-rewind::before {\n content: "\\e203";\n}\n.k-i-forward::before {\n content: "\\e204";\n}\n.k-i-volume-down::before {\n content: "\\e205";\n}\n.k-i-volume-low::before {\n content: "\\e205";\n}\n.k-i-volume-up::before {\n content: "\\e206";\n}\n.k-i-volume-high::before {\n content: "\\e206";\n}\n.k-i-volume-mute::before {\n content: "\\e207";\n}\n.k-i-volume-off::before {\n content: "\\e207";\n}\n.k-i-hd::before {\n content: "\\e208";\n}\n.k-i-closed-captions::before {\n content: "\\e209";\n}\n.k-i-subtitles::before {\n content: "\\e209";\n}\n.k-i-playlist::before {\n content: "\\e20a";\n}\n.k-i-music-notes::before {\n content: "\\e20b";\n}\n.k-i-audio::before {\n content: "\\e20b";\n}\n.k-i-play-sm::before {\n content: "\\e20c";\n}\n.k-i-pause-sm::before {\n content: "\\e20d";\n}\n.k-i-stop-sm::before {\n content: "\\e20e";\n}\n.k-i-heart-outline::before {\n content: "\\e300";\n}\n.k-i-fav-outline::before {\n content: "\\e300";\n}\n.k-i-favorite-outline::before {\n content: "\\e300";\n}\n.k-i-heart::before {\n content: "\\e301";\n}\n.k-i-fav::before {\n content: "\\e301";\n}\n.k-i-favorite::before {\n content: "\\e301";\n}\n.k-i-star-outline::before {\n content: "\\e302";\n}\n.k-i-bookmark-outline::before {\n content: "\\e302";\n}\n.k-i-star::before {\n content: "\\e303";\n}\n.k-i-bookmark::before {\n content: "\\e303";\n}\n.k-i-checkbox::before {\n content: "\\e304";\n}\n.k-i-shape-rect::before {\n content: "\\e304";\n}\n.k-i-checkbox-checked::before {\n content: "\\e305";\n}\n.k-i-checkbox-indeterminate::before {\n content: "\\e306";\n}\n.k-i-tri-state-indeterminate::before {\n content: "\\e306";\n}\n.k-i-checkbox-null::before {\n content: "\\e307";\n}\n.k-i-tri-state-null::before {\n content: "\\e307";\n}\n.k-i-circle::before {\n content: "\\e308";\n}\n.k-i-radiobutton::before {\n content: "\\e309";\n}\n.k-i-shape-circle::before {\n content: "\\e309";\n}\n.k-i-radiobutton-checked::before {\n content: "\\e30a";\n}\n.k-i-bell::before {\n content: "\\e400";\n}\n.k-i-notification::before {\n content: "\\e400";\n}\n.k-i-info-circle::before {\n content: "\\e401";\n}\n.k-i-information::before {\n content: "\\e401";\n}\n.k-i-info::before {\n content: "\\e401";\n}\n.k-i-note::before {\n content: "\\e401";\n}\n.k-i-question-circle::before {\n content: "\\e402";\n}\n.k-i-question::before {\n content: "\\e402";\n}\n.k-i-help::before {\n content: "\\e402";\n}\n.k-i-exclamation-circle::before {\n content: "\\e403";\n}\n.k-i-warning::before {\n content: "\\e403";\n}\n.k-i-exception::before {\n content: "\\e403";\n}\n.k-i-camera::before {\n content: "\\e500";\n}\n.k-i-photo-camera::before {\n content: "\\e500";\n}\n.k-i-image::before {\n content: "\\e501";\n}\n.k-i-photo::before {\n content: "\\e501";\n}\n.k-i-image-export::before {\n content: "\\e502";\n}\n.k-i-photo-export::before {\n content: "\\e502";\n}\n.k-i-zoom-actual-size::before {\n content: "\\e503";\n}\n.k-i-zoom-best-fit::before {\n content: "\\e504";\n}\n.k-i-image-resize::before {\n content: "\\e505";\n}\n.k-i-crop::before {\n content: "\\e506";\n}\n.k-i-mirror::before {\n content: "\\e507";\n}\n.k-i-flip-horizontal::before {\n content: "\\e508";\n}\n.k-i-flip-h::before {\n content: "\\e508";\n}\n.k-i-flip-vertical::before {\n content: "\\e509";\n}\n.k-i-flip-v::before {\n content: "\\e509";\n}\n.k-i-rotate::before {\n content: "\\e50a";\n}\n.k-i-rotate-right::before {\n content: "\\e50b";\n}\n.k-i-rotate-cw::before {\n content: "\\e50b";\n}\n.k-i-rotate-left::before {\n content: "\\e50c";\n}\n.k-i-rotate-ccw::before {\n content: "\\e50c";\n}\n.k-i-brush::before {\n content: "\\e50d";\n}\n.k-i-palette::before {\n content: "\\e50e";\n}\n.k-i-droplet::before {\n content: "\\e50f";\n}\n.k-i-paint::before {\n content: "\\e50f";\n}\n.k-i-background::before {\n content: "\\e50f";\n}\n.k-i-shape-line::before {\n content: "\\e510";\n}\n.k-i-line::before {\n content: "\\e510";\n}\n.k-i-brightness-contrast::before {\n content: "\\e511";\n}\n.k-i-sliders::before {\n content: "\\e512";\n}\n.k-i-saturation::before {\n content: "\\e512";\n}\n.k-i-invert-colors::before {\n content: "\\e513";\n}\n.k-i-transparency::before {\n content: "\\e514";\n}\n.k-i-opacity::before {\n content: "\\e514";\n}\n.k-i-grayscale::before {\n content: "\\e515";\n}\n.k-i-blur::before {\n content: "\\e516";\n}\n.k-i-sharpen::before {\n content: "\\e517";\n}\n.k-i-shapes::before {\n content: "\\e518";\n}\n.k-i-shape::before {\n content: "\\e518";\n}\n.k-i-round-corners::before {\n content: "\\e519";\n}\n.k-i-bring-to-front::before {\n content: "\\e51a";\n}\n.k-i-front-element::before {\n content: "\\e51a";\n}\n.k-i-bring-to-back::before {\n content: "\\e51b";\n}\n.k-i-back-element::before {\n content: "\\e51b";\n}\n.k-i-bring-forward::before {\n content: "\\e51c";\n}\n.k-i-forward-element::before {\n content: "\\e51c";\n}\n.k-i-bring-backward::before {\n content: "\\e51d";\n}\n.k-i-backward-element::before {\n content: "\\e51d";\n}\n.k-i-align-self-start::before {\n content: "\\e51e";\n}\n.k-i-align-left-element::before {\n content: "\\e51e";\n}\n.k-i-align-self-center::before {\n content: "\\e51f";\n}\n.k-i-align-center-element::before {\n content: "\\e51f";\n}\n.k-i-align-self-end::before {\n content: "\\e520";\n}\n.k-i-align-right-element::before {\n content: "\\e520";\n}\n.k-i-align-self-start-alt::before {\n content: "\\e521";\n}\n.k-i-align-top-element::before {\n content: "\\e521";\n}\n.k-i-align-self-center-alt::before {\n content: "\\e522";\n}\n.k-i-align-middle-element::before {\n content: "\\e522";\n}\n.k-i-align-self-end-alt::before {\n content: "\\e523";\n}\n.k-i-align-bottom-element::before {\n content: "\\e523";\n}\n.k-i-thumbnails-up::before {\n content: "\\e524";\n}\n.k-i-thumbnails-right::before {\n content: "\\e525";\n}\n.k-i-thumbnails-down::before {\n content: "\\e526";\n}\n.k-i-thumbnails-left::before {\n content: "\\e527";\n}\n.k-i-fullscreen::before {\n content: "\\e528";\n}\n.k-i-full-screen::before {\n content: "\\e528";\n}\n.k-i-fullscreen-enter::before {\n content: "\\e528";\n}\n.k-i-fullscreen-exit::before {\n content: "\\e529";\n}\n.k-i-full-screen-exit::before {\n content: "\\e529";\n}\n.k-i-droplet-slash::before {\n content: "\\e52a";\n}\n.k-i-reset-color::before {\n content: "\\e52a";\n}\n.k-i-paint-remove::before {\n content: "\\e52a";\n}\n.k-i-background-remove::before {\n content: "\\e52a";\n}\n.k-i-photos::before {\n content: "\\e52b";\n}\n.k-i-images::before {\n content: "\\e52b";\n}\n.k-i-gallery::before {\n content: "\\e52b";\n}\n.k-i-align-to-grid::before {\n content: "\\e52c";\n}\n.k-i-size-to-grid::before {\n content: "\\e52d";\n}\n.k-i-make-same-size::before {\n content: "\\e52e";\n}\n.k-i-make-same-width::before {\n content: "\\e52f";\n}\n.k-i-make-same-height::before {\n content: "\\e530";\n}\n.k-i-make-horizontal-spacing-equal::before {\n content: "\\e531";\n}\n.k-i-increase-horizontal-spacing::before {\n content: "\\e532";\n}\n.k-i-decrease-horizontal-spacing::before {\n content: "\\e533";\n}\n.k-i-remove-horizontal-spacing::before {\n content: "\\e534";\n}\n.k-i-make-vertical-spacing-equal::before {\n content: "\\e535";\n}\n.k-i-increase-vertical-spacing::before {\n content: "\\e536";\n}\n.k-i-decrease-vertical-spacing::before {\n content: "\\e537";\n}\n.k-i-remove-vertical-spacing::before {\n content: "\\e538";\n}\n.k-i-eyedropper::before {\n content: "\\e539";\n}\n.k-i-snap-grid::before {\n content: "\\e53a";\n}\n.k-i-snap-to-gridlines::before {\n content: "\\e53b";\n}\n.k-i-snap-to-snaplines::before {\n content: "\\e53c";\n}\n.k-i-dimentions::before {\n content: "\\e53d";\n}\n.k-i-align-self-stretch::before {\n content: "\\e53e";\n}\n.k-i-align-stretch-element-horizontal::before {\n content: "\\e53e";\n}\n.k-i-align-self-stretch-alt::before {\n content: "\\e53f";\n}\n.k-i-align-stretch-element-vertical::before {\n content: "\\e53f";\n}\n.k-i-align-items-start::before {\n content: "\\e540";\n}\n.k-i-align-left-elements::before {\n content: "\\e540";\n}\n.k-i-align-items-center::before {\n content: "\\e541";\n}\n.k-i-align-center-elements::before {\n content: "\\e541";\n}\n.k-i-align-items-end::before {\n content: "\\e542";\n}\n.k-i-align-right-elements::before {\n content: "\\e542";\n}\n.k-i-align-items-stretch::before {\n content: "\\e543";\n}\n.k-i-align-stretch-elements-horizontal::before {\n content: "\\e543";\n}\n.k-i-align-items-baseline::before {\n content: "\\e544";\n}\n.k-i-align-baseline-horizontal::before {\n content: "\\e544";\n}\n.k-i-align-items-start-alt::before {\n content: "\\e545";\n}\n.k-i-align-top-elements::before {\n content: "\\e545";\n}\n.k-i-align-items-center-alt::before {\n content: "\\e546";\n}\n.k-i-align-middle-elements::before {\n content: "\\e546";\n}\n.k-i-align-items-end-alt::before {\n content: "\\e547";\n}\n.k-i-align-bottom-elements::before {\n content: "\\e547";\n}\n.k-i-align-items-stretch-alt::before {\n content: "\\e548";\n}\n.k-i-align-stretch-elements-vertical::before {\n content: "\\e548";\n}\n.k-i-align-items-baseline-alt::before {\n content: "\\e549";\n}\n.k-i-align-baseline-vertical::before {\n content: "\\e549";\n}\n.k-i-justify-content-start::before {\n content: "\\e54a";\n}\n.k-i-justify-start-horizontal::before {\n content: "\\e54a";\n}\n.k-i-justify-content-center::before {\n content: "\\e54b";\n}\n.k-i-justify-center-horizontal::before {\n content: "\\e54b";\n}\n.k-i-justify-content-end::before {\n content: "\\e54c";\n}\n.k-i-justify-end-horizontal::before {\n content: "\\e54c";\n}\n.k-i-justify-content-between::before {\n content: "\\e54d";\n}\n.k-i-justify-between-horizontal::before {\n content: "\\e54d";\n}\n.k-i-justify-content-around::before {\n content: "\\e54e";\n}\n.k-i-justify-around-horizontal::before {\n content: "\\e54e";\n}\n.k-i-justify-content-start-alt::before {\n content: "\\e54f";\n}\n.k-i-justify-start-vertical::before {\n content: "\\e54f";\n}\n.k-i-justify-content-center-alt::before {\n content: "\\e550";\n}\n.k-i-justify-center-vertical::before {\n content: "\\e550";\n}\n.k-i-justify-content-end-alt::before {\n content: "\\e551";\n}\n.k-i-justify-end-vertical::before {\n content: "\\e551";\n}\n.k-i-justify-content-between-alt::before {\n content: "\\e552";\n}\n.k-i-justify-between-vertical::before {\n content: "\\e552";\n}\n.k-i-justify-content-around-alt::before {\n content: "\\e553";\n}\n.k-i-justify-around-vertical::before {\n content: "\\e553";\n}\n.k-i-color-canvas::before {\n content: "\\e554";\n}\n.k-i-file-wrench::before {\n content: "\\e600";\n}\n.k-i-page-properties::before {\n content: "\\e600";\n}\n.k-i-bold::before {\n content: "\\e601";\n}\n.k-i-italic::before {\n content: "\\e602";\n}\n.k-i-underline::before {\n content: "\\e603";\n}\n.k-i-font-family::before {\n content: "\\e604";\n}\n.k-i-foreground-color::before {\n content: "\\e605";\n}\n.k-i-text::before {\n content: "\\e605";\n}\n.k-i-convert-lowercase::before {\n content: "\\e606";\n}\n.k-i-convert-uppercase::before {\n content: "\\e607";\n}\n.k-i-strikethrough::before {\n content: "\\e608";\n}\n.k-i-strike-through::before {\n content: "\\e608";\n}\n.k-i-subscript::before {\n content: "\\e609";\n}\n.k-i-sub-script::before {\n content: "\\e609";\n}\n.k-i-supscript::before {\n content: "\\e60a";\n}\n.k-i-sup-script::before {\n content: "\\e60a";\n}\n.k-i-superscript::before {\n content: "\\e60a";\n}\n.k-i-div::before {\n content: "\\e60b";\n}\n.k-i-all::before {\n content: "\\e60c";\n}\n.k-i-h1::before {\n content: "\\e60d";\n}\n.k-i-h2::before {\n content: "\\e60e";\n}\n.k-i-h3::before {\n content: "\\e60f";\n}\n.k-i-h4::before {\n content: "\\e610";\n}\n.k-i-h5::before {\n content: "\\e611";\n}\n.k-i-h6::before {\n content: "\\e612";\n}\n.k-i-list-ordered::before {\n content: "\\e613";\n}\n.k-i-list-numbered::before {\n content: "\\e613";\n}\n.k-i-insert-ordered-list::before {\n content: "\\e613";\n}\n.k-i-list-unordered::before {\n content: "\\e614";\n}\n.k-i-list-bulleted::before {\n content: "\\e614";\n}\n.k-i-insert-unordered-list::before {\n content: "\\e614";\n}\n.k-i-indent::before {\n content: "\\e615";\n}\n.k-i-indent-increase::before {\n content: "\\e615";\n}\n.k-i-outdent::before {\n content: "\\e616";\n}\n.k-i-indent-decrease::before {\n content: "\\e616";\n}\n.k-i-insert-top::before {\n content: "\\e617";\n}\n.k-i-insert-up::before {\n content: "\\e617";\n}\n.k-i-insert-n::before {\n content: "\\e617";\n}\n.k-i-insert-middle::before {\n content: "\\e618";\n}\n.k-i-insert-m::before {\n content: "\\e618";\n}\n.k-i-insert-bottom::before {\n content: "\\e619";\n}\n.k-i-insert-down::before {\n content: "\\e619";\n}\n.k-i-insert-s::before {\n content: "\\e619";\n}\n.k-i-align-top::before {\n content: "\\e61a";\n}\n.k-i-align-middle::before {\n content: "\\e61b";\n}\n.k-i-align-bottom::before {\n content: "\\e61c";\n}\n.k-i-align-left::before {\n content: "\\e61d";\n}\n.k-i-justify-left::before {\n content: "\\e61d";\n}\n.k-i-align-center::before {\n content: "\\e61e";\n}\n.k-i-justify-center::before {\n content: "\\e61e";\n}\n.k-i-align-right::before {\n content: "\\e61f";\n}\n.k-i-justify-left::before {\n content: "\\e61f";\n}\n.k-i-align-justify::before {\n content: "\\e620";\n}\n.k-i-justify-full::before {\n content: "\\e620";\n}\n.k-i-align-remove::before {\n content: "\\e621";\n}\n.k-i-justify-clear::before {\n content: "\\e621";\n}\n.k-i-text-wrap::before {\n content: "\\e622";\n}\n.k-i-horizontal-rule::before {\n content: "\\e623";\n}\n.k-i-rule-horizontal::before {\n content: "\\e623";\n}\n.k-i-hr::before {\n content: "\\e623";\n}\n.k-i-table-align-top-left::before {\n content: "\\e624";\n}\n.k-i-table-align-top-center::before {\n content: "\\e625";\n}\n.k-i-table-align-top-right::before {\n content: "\\e626";\n}\n.k-i-table-align-middle-left::before {\n content: "\\e627";\n}\n.k-i-table-align-middle-center::before {\n content: "\\e628";\n}\n.k-i-table-align-middle-right::before {\n content: "\\e629";\n}\n.k-i-table-align-bottom-left::before {\n content: "\\e62a";\n}\n.k-i-table-align-bottom-center::before {\n content: "\\e62b";\n}\n.k-i-table-align-bottom-right::before {\n content: "\\e62c";\n}\n.k-i-table-align-remove::before {\n content: "\\e62d";\n}\n.k-i-borders-all::before {\n content: "\\e62e";\n}\n.k-i-all-borders::before {\n content: "\\e62e";\n}\n.k-i-borders-outside::before {\n content: "\\e62f";\n}\n.k-i-outside-borders::before {\n content: "\\e62f";\n}\n.k-i-borders-inside::before {\n content: "\\e630";\n}\n.k-i-inside-borders::before {\n content: "\\e630";\n}\n.k-i-borders-inside-horizontal::before {\n content: "\\e631";\n}\n.k-i-border-inside-h::before {\n content: "\\e631";\n}\n.k-i-inside-horizontal-borders::before {\n content: "\\e631";\n}\n.k-i-borders-inside-vertical::before {\n content: "\\e632";\n}\n.k-i-borders-inside-v::before {\n content: "\\e632";\n}\n.k-i-inside-vertical-borders::before {\n content: "\\e632";\n}\n.k-i-border-top::before {\n content: "\\e633";\n}\n.k-i-top-border::before {\n content: "\\e633";\n}\n.k-i-border-bottom::before {\n content: "\\e634";\n}\n.k-i-bottom-border::before {\n content: "\\e634";\n}\n.k-i-border-left::before {\n content: "\\e635";\n}\n.k-i-left-border::before {\n content: "\\e635";\n}\n.k-i-border-right::before {\n content: "\\e636";\n}\n.k-i-right-border::before {\n content: "\\e636";\n}\n.k-i-borders-none::before {\n content: "\\e637";\n}\n.k-i-border-no::before {\n content: "\\e637";\n}\n.k-i-no-borders::before {\n content: "\\e637";\n}\n.k-i-borders-show-hide::before {\n content: "\\e638";\n}\n.k-i-form::before {\n content: "\\e639";\n}\n.k-i-border::before {\n content: "\\e639";\n}\n.k-i-form-element::before {\n content: "\\e63a";\n}\n.k-i-code-snippet::before {\n content: "\\e63b";\n}\n.k-i-select-all::before {\n content: "\\e63c";\n}\n.k-i-button::before {\n content: "\\e63d";\n}\n.k-i-select-box::before {\n content: "\\e63e";\n}\n.k-i-calendar-date::before {\n content: "\\e63f";\n}\n.k-i-group-box::before {\n content: "\\e640";\n}\n.k-i-textarea::before {\n content: "\\e641";\n}\n.k-i-textbox::before {\n content: "\\e642";\n}\n.k-i-textbox-hidden::before {\n content: "\\e643";\n}\n.k-i-password::before {\n content: "\\e644";\n}\n.k-i-paragraph-add::before {\n content: "\\e645";\n}\n.k-i-edit-tools::before {\n content: "\\e646";\n}\n.k-i-template-manager::before {\n content: "\\e647";\n}\n.k-i-change-manually::before {\n content: "\\e648";\n}\n.k-i-track-changes::before {\n content: "\\e649";\n}\n.k-i-track-changes-enable::before {\n content: "\\e64a";\n}\n.k-i-track-changes-accept::before {\n content: "\\e64b";\n}\n.k-i-track-changes-accept-all::before {\n content: "\\e64c";\n}\n.k-i-track-changes-reject::before {\n content: "\\e64d";\n}\n.k-i-track-changes-reject-all::before {\n content: "\\e64e";\n}\n.k-i-document-manager::before {\n content: "\\e64f";\n}\n.k-i-custom-icon::before {\n content: "\\e650";\n}\n.k-i-book::before {\n content: "\\e651";\n}\n.k-i-dictionary-add::before {\n content: "\\e651";\n}\n.k-i-image-add::before {\n content: "\\e652";\n}\n.k-i-image-light-dialog::before {\n content: "\\e652";\n}\n.k-i-image-insert::before {\n content: "\\e652";\n}\n.k-i-insert-image::before {\n content: "\\e652";\n}\n.k-i-image-edit::before {\n content: "\\e653";\n}\n.k-i-image-map-editor::before {\n content: "\\e654";\n}\n.k-i-comment::before {\n content: "\\e655";\n}\n.k-i-comment-remove::before {\n content: "\\e656";\n}\n.k-i-comments-remove::before {\n content: "\\e657";\n}\n.k-i-comments-remove-all::before {\n content: "\\e657";\n}\n.k-i-silverlight::before {\n content: "\\e658";\n}\n.k-i-media-manager::before {\n content: "\\e659";\n}\n.k-i-video-external::before {\n content: "\\e65a";\n}\n.k-i-flash-manager::before {\n content: "\\e65b";\n}\n.k-i-binoculars::before {\n content: "\\e65c";\n}\n.k-i-find-and-replace::before {\n content: "\\e65c";\n}\n.k-i-find::before {\n content: "\\e65c";\n}\n.k-i-copy::before {\n content: "\\e65d";\n}\n.k-i-files::before {\n content: "\\e65d";\n}\n.k-i-cut::before {\n content: "\\e65e";\n}\n.k-i-clipboard::before {\n content: "\\e65f";\n}\n.k-i-paste::before {\n content: "\\e65f";\n}\n.k-i-clipboard-code::before {\n content: "\\e660";\n}\n.k-i-paste-as-html::before {\n content: "\\e660";\n}\n.k-i-clipboard-word::before {\n content: "\\e661";\n}\n.k-i-paste-from-word::before {\n content: "\\e661";\n}\n.k-i-clipboard-word-alt::before {\n content: "\\e662";\n}\n.k-i-paste-from-word-strip-file::before {\n content: "\\e662";\n}\n.k-i-clipboard-html::before {\n content: "\\e663";\n}\n.k-i-paste-html::before {\n content: "\\e663";\n}\n.k-i-clipboard-markdown::before {\n content: "\\e664";\n}\n.k-i-paste-markdown::before {\n content: "\\e664";\n}\n.k-i-clipboard-text::before {\n content: "\\e665";\n}\n.k-i-paste-plain-text::before {\n content: "\\e665";\n}\n.k-i-apply-format::before {\n content: "\\e666";\n}\n.k-i-clear-css::before {\n content: "\\e667";\n}\n.k-i-clearformat::before {\n content: "\\e667";\n}\n.k-i-copy-format::before {\n content: "\\e668";\n}\n.k-i-strip-all-formatting::before {\n content: "\\e669";\n}\n.k-i-strip-css-format::before {\n content: "\\e66a";\n}\n.k-i-strip-font-elements::before {\n content: "\\e66b";\n}\n.k-i-strip-span-elements::before {\n content: "\\e66c";\n}\n.k-i-strip-word-formatting::before {\n content: "\\e66d";\n}\n.k-i-format-code-block::before {\n content: "\\e66e";\n}\n.k-i-building-blocks::before {\n content: "\\e66f";\n}\n.k-i-style-builder::before {\n content: "\\e66f";\n}\n.k-i-puzzle-piece::before {\n content: "\\e670";\n}\n.k-i-module-manager::before {\n content: "\\e670";\n}\n.k-i-puzzle::before {\n content: "\\e670";\n}\n.k-i-link-add::before {\n content: "\\e671";\n}\n.k-i-hyperlink-light-dialog::before {\n content: "\\e671";\n}\n.k-i-hyperlink-insert::before {\n content: "\\e671";\n}\n.k-i-globe-link::before {\n content: "\\e672";\n}\n.k-i-hyperlink-globe::before {\n content: "\\e672";\n}\n.k-i-globe-unlink::before {\n content: "\\e673";\n}\n.k-i-hyperlink-globe-remove::before {\n content: "\\e673";\n}\n.k-i-envelop-link::before {\n content: "\\e674";\n}\n.k-i-hyperlink-email::before {\n content: "\\e674";\n}\n.k-i-anchor::before {\n content: "\\e675";\n}\n.k-i-table-add::before {\n content: "\\e676";\n}\n.k-i-table-light-dialog::before {\n content: "\\e676";\n}\n.k-i-table-insert::before {\n content: "\\e676";\n}\n.k-i-create-table::before {\n content: "\\e676";\n}\n.k-i-table::before {\n content: "\\e677";\n}\n.k-i-table-properties::before {\n content: "\\e678";\n}\n.k-i-table-cell::before {\n content: "\\e679";\n}\n.k-i-table-cell-properties::before {\n content: "\\e67a";\n}\n.k-i-table-column-insert-left::before {\n content: "\\e67b";\n}\n.k-i-add-column-left::before {\n content: "\\e67b";\n}\n.k-i-table-column-insert-right::before {\n content: "\\e67c";\n}\n.k-i-add-column-right::before {\n content: "\\e67c";\n}\n.k-i-table-row-insert-above::before {\n content: "\\e67d";\n}\n.k-i-add-row-above::before {\n content: "\\e67d";\n}\n.k-i-table-row-insert-below::before {\n content: "\\e67e";\n}\n.k-i-add-row-below::before {\n content: "\\e67e";\n}\n.k-i-table-column-delete::before {\n content: "\\e67f";\n}\n.k-i-delete-column::before {\n content: "\\e67f";\n}\n.k-i-table-row-delete::before {\n content: "\\e680";\n}\n.k-i-delete-row::before {\n content: "\\e680";\n}\n.k-i-table-cell-delete::before {\n content: "\\e681";\n}\n.k-i-table-delete::before {\n content: "\\e682";\n}\n.k-i-cells-merge::before {\n content: "\\e683";\n}\n.k-i-merge-cells::before {\n content: "\\e683";\n}\n.k-i-cells-merge-horizontally::before {\n content: "\\e684";\n}\n.k-i-cells-merge-h::before {\n content: "\\e684";\n}\n.k-i-merge-horizontally::before {\n content: "\\e684";\n}\n.k-i-cells-merge-vertically::before {\n content: "\\e685";\n}\n.k-i-cells-merge-v::before {\n content: "\\e685";\n}\n.k-i-merge-vertically::before {\n content: "\\e685";\n}\n.k-i-cell-split-horizontally::before {\n content: "\\e686";\n}\n.k-i-cells-split-h::before {\n content: "\\e686";\n}\n.k-i-cell-split-vertically::before {\n content: "\\e687";\n}\n.k-i-cells-split-v::before {\n content: "\\e687";\n}\n.k-i-table-unmerge::before {\n content: "\\e688";\n}\n.k-i-normal-layout::before {\n content: "\\e688";\n}\n.k-i-pane-freeze::before {\n content: "\\e689";\n}\n.k-i-freeze-pane::before {\n content: "\\e689";\n}\n.k-i-row-freeze::before {\n content: "\\e68a";\n}\n.k-i-freeze-row::before {\n content: "\\e68a";\n}\n.k-i-column-freeze::before {\n content: "\\e68b";\n}\n.k-i-col-freeze::before {\n content: "\\e68b";\n}\n.k-i-freeze-col::before {\n content: "\\e68b";\n}\n.k-i-toolbar-float::before {\n content: "\\e68c";\n}\n.k-i-spell-checker::before {\n content: "\\e68d";\n}\n.k-i-validation-xhtml::before {\n content: "\\e68e";\n}\n.k-i-validation-data::before {\n content: "\\e68f";\n}\n.k-i-toggle-full-screen-mode::before {\n content: "\\e690";\n}\n.k-i-formula-fx::before {\n content: "\\e691";\n}\n.k-i-fx::before {\n content: "\\e691";\n}\n.k-i-sum::before {\n content: "\\e692";\n}\n.k-i-symbol::before {\n content: "\\e693";\n}\n.k-i-dollar::before {\n content: "\\e694";\n}\n.k-i-currency::before {\n content: "\\e694";\n}\n.k-i-percent::before {\n content: "\\e695";\n}\n.k-i-custom-format::before {\n content: "\\e696";\n}\n.k-i-format-number::before {\n content: "\\e696";\n}\n.k-i-decimal-increase::before {\n content: "\\e697";\n}\n.k-i-increace-decimal::before {\n content: "\\e697";\n}\n.k-i-decimal-decrease::before {\n content: "\\e698";\n}\n.k-i-decrease-decimal::before {\n content: "\\e698";\n}\n.k-i-font-size::before {\n content: "\\e699";\n}\n.k-i-image-absolute-position::before {\n content: "\\e69a";\n}\n.k-i-table-wizard::before {\n content: "\\e69b";\n}\n.k-i-crosstab::before {\n content: "\\e69c";\n}\n.k-i-crosstab-wizard::before {\n content: "\\e69d";\n}\n.k-i-table-body::before {\n content: "\\e69e";\n}\n.k-i-table-column-groups::before {\n content: "\\e69f";\n}\n.k-i-table-corner::before {\n content: "\\e6a0";\n}\n.k-i-table-row-groups::before {\n content: "\\e6a1";\n}\n.k-i-globe-outline::before {\n content: "\\e700";\n}\n.k-i-globe::before {\n content: "\\e701";\n}\n.k-i-map-marker::before {\n content: "\\e702";\n}\n.k-i-marker-pin::before {\n content: "\\e702";\n}\n.k-i-map-marker-target::before {\n content: "\\e703";\n}\n.k-i-marker-pin-target::before {\n content: "\\e703";\n}\n.k-i-pin::before {\n content: "\\e704";\n}\n.k-i-unpin::before {\n content: "\\e705";\n}\n.k-i-share::before {\n content: "\\e800";\n}\n.k-i-user::before {\n content: "\\e801";\n}\n.k-i-inbox::before {\n content: "\\e802";\n}\n.k-i-blogger::before {\n content: "\\e803";\n}\n.k-i-blogger-box::before {\n content: "\\e804";\n}\n.k-i-delicious::before {\n content: "\\e805";\n}\n.k-i-delicious-box::before {\n content: "\\e806";\n}\n.k-i-digg::before {\n content: "\\e807";\n}\n.k-i-digg-box::before {\n content: "\\e808";\n}\n.k-i-envelop::before {\n content: "\\e809";\n}\n.k-i-email::before {\n content: "\\e809";\n}\n.k-i-letter::before {\n content: "\\e809";\n}\n.k-i-envelop-box::before {\n content: "\\e80a";\n}\n.k-i-email-box::before {\n content: "\\e80a";\n}\n.k-i-letter-box::before {\n content: "\\e80a";\n}\n.k-i-facebook::before {\n content: "\\e80b";\n}\n.k-i-facebook-box::before {\n content: "\\e80c";\n}\n.k-i-google::before {\n content: "\\e80d";\n}\n.k-i-google-box::before {\n content: "\\e80e";\n}\n.k-i-google-plus::before {\n content: "\\e80f";\n}\n.k-i-google-plus-box::before {\n content: "\\e810";\n}\n.k-i-linkedin::before {\n content: "\\e811";\n}\n.k-i-linkedin-box::before {\n content: "\\e812";\n}\n.k-i-myspace::before {\n content: "\\e813";\n}\n.k-i-myspace-box::before {\n content: "\\e814";\n}\n.k-i-pinterest::before {\n content: "\\e815";\n}\n.k-i-pinterest-box::before {\n content: "\\e816";\n}\n.k-i-reddit::before {\n content: "\\e817";\n}\n.k-i-reddit-box::before {\n content: "\\e818";\n}\n.k-i-stumble-upon::before {\n content: "\\e819";\n}\n.k-i-stumble-upon-box::before {\n content: "\\e81a";\n}\n.k-i-tell-a-friend::before {\n content: "\\e81b";\n}\n.k-i-tell-a-friend-box::before {\n content: "\\e81c";\n}\n.k-i-tumblr::before {\n content: "\\e81d";\n}\n.k-i-tumblr-box::before {\n content: "\\e81e";\n}\n.k-i-twitter::before {\n content: "\\e81f";\n}\n.k-i-twitter-box::before {\n content: "\\e820";\n}\n.k-i-yammer::before {\n content: "\\e821";\n}\n.k-i-yammer-box::before {\n content: "\\e822";\n}\n.k-i-behance::before {\n content: "\\e823";\n}\n.k-i-behance-box::before {\n content: "\\e824";\n}\n.k-i-dribbble::before {\n content: "\\e825";\n}\n.k-i-dribbble-box::before {\n content: "\\e826";\n}\n.k-i-rss::before {\n content: "\\e827";\n}\n.k-i-rss-box::before {\n content: "\\e828";\n}\n.k-i-vimeo::before {\n content: "\\e829";\n}\n.k-i-vimeo-box::before {\n content: "\\e82a";\n}\n.k-i-youtube::before {\n content: "\\e82b";\n}\n.k-i-youtube-box::before {\n content: "\\e82c";\n}\n.k-i-folder::before {\n content: "\\e900";\n}\n.k-i-folder-open::before {\n content: "\\e901";\n}\n.k-i-folder-add::before {\n content: "\\e902";\n}\n.k-i-folder-up::before {\n content: "\\e903";\n}\n.k-i-folder-more::before {\n content: "\\e904";\n}\n.k-i-fields-more::before {\n content: "\\e904";\n}\n.k-i-aggregate-fields::before {\n content: "\\e905";\n}\n.k-i-file::before {\n content: "\\e906";\n}\n.k-i-file-vertical::before {\n content: "\\e906";\n}\n.k-i-page-portrait::before {\n content: "\\e906";\n}\n.k-i-file-v::before {\n content: "\\e906";\n}\n.k-i-file-add::before {\n content: "\\e907";\n}\n.k-i-insert-file::before {\n content: "\\e907";\n}\n.k-i-file-txt::before {\n content: "\\e908";\n}\n.k-i-txt::before {\n content: "\\e908";\n}\n.k-i-file-csv::before {\n content: "\\e909";\n}\n.k-i-csv::before {\n content: "\\e909";\n}\n.k-i-file-excel::before {\n content: "\\e90a";\n}\n.k-i-file-xls::before {\n content: "\\e90a";\n}\n.k-i-excel::before {\n content: "\\e90a";\n}\n.k-i-xls::before {\n content: "\\e90a";\n}\n.k-i-xlsa::before {\n content: "\\e90a";\n}\n.k-i-file-word::before {\n content: "\\e90b";\n}\n.k-i-file-doc::before {\n content: "\\e90b";\n}\n.k-i-word::before {\n content: "\\e90b";\n}\n.k-i-doc::before {\n content: "\\e90b";\n}\n.k-i-file-mdb::before {\n content: "\\e90c";\n}\n.k-i-mdb::before {\n content: "\\e90c";\n}\n.k-i-file-ppt::before {\n content: "\\e90d";\n}\n.k-i-ppt::before {\n content: "\\e90d";\n}\n.k-i-file-pdf::before {\n content: "\\e90e";\n}\n.k-i-pdf::before {\n content: "\\e90e";\n}\n.k-i-pdfa::before {\n content: "\\e90e";\n}\n.k-i-file-psd::before {\n content: "\\e90f";\n}\n.k-i-psd::before {\n content: "\\e90f";\n}\n.k-i-file-flash::before {\n content: "\\e910";\n}\n.k-i-flash::before {\n content: "\\e910";\n}\n.k-i-file-config::before {\n content: "\\e911";\n}\n.k-i-config::before {\n content: "\\e911";\n}\n.k-i-file-ascx::before {\n content: "\\e912";\n}\n.k-i-ascx::before {\n content: "\\e912";\n}\n.k-i-file-bac::before {\n content: "\\e913";\n}\n.k-i-bac::before {\n content: "\\e913";\n}\n.k-i-file-zip::before {\n content: "\\e914";\n}\n.k-i-zip::before {\n content: "\\e914";\n}\n.k-i-film::before {\n content: "\\e915";\n}\n.k-i-css3::before {\n content: "\\e916";\n}\n.k-i-html5::before {\n content: "\\e917";\n}\n.k-i-code::before {\n content: "\\e918";\n}\n.k-i-html::before {\n content: "\\e918";\n}\n.k-i-source-code::before {\n content: "\\e918";\n}\n.k-i-view-source::before {\n content: "\\e918";\n}\n.k-i-css::before {\n content: "\\e919";\n}\n.k-i-js::before {\n content: "\\e91a";\n}\n.k-i-exe::before {\n content: "\\e91b";\n}\n.k-i-csproj::before {\n content: "\\e91c";\n}\n.k-i-vbproj::before {\n content: "\\e91d";\n}\n.k-i-cs::before {\n content: "\\e91e";\n}\n.k-i-vb::before {\n content: "\\e91f";\n}\n.k-i-sln::before {\n content: "\\e920";\n}\n.k-i-cloud::before {\n content: "\\e921";\n}\n.k-i-file-horizontal::before {\n content: "\\e922";\n}\n.k-i-page-landscape::before {\n content: "\\e922";\n}\n.k-i-file-h::before {\n content: "\\e922";\n}\n.k-i-subreport::before {\n content: "\\e923";\n}\n.k-i-data::before {\n content: "\\e924";\n}\n.k-i-report-header-section::before {\n content: "\\e925";\n}\n.k-i-report-footer-section::before {\n content: "\\e926";\n}\n.k-i-group-header-section::before {\n content: "\\e927";\n}\n.k-i-group-footer-section::before {\n content: "\\e928";\n}\n.k-i-page-header-section::before {\n content: "\\e929";\n}\n.k-i-page-footer-section::before {\n content: "\\e92a";\n}\n.k-i-detail-section::before {\n content: "\\e92b";\n}\n.k-i-toc-section::before {\n content: "\\e92c";\n}\n.k-i-group-section::before {\n content: "\\e92d";\n}\n.k-i-parameters::before {\n content: "\\e92e";\n}\n.k-i-data-csv::before {\n content: "\\e92f";\n}\n.k-i-data-json::before {\n content: "\\e930";\n}\n.k-i-data-sql::before {\n content: "\\e931";\n}\n.k-i-data-web::before {\n content: "\\e932";\n}\n.k-i-group-collection::before {\n content: "\\e933";\n}\n.k-i-parameter-boolean::before {\n content: "\\e934";\n}\n.k-i-parameter-date-time::before {\n content: "\\e935";\n}\n.k-i-parameter-float::before {\n content: "\\e936";\n}\n.k-i-parameter-integer::before {\n content: "\\e937";\n}\n.k-i-parameter-string::before {\n content: "\\e938";\n}\n.k-i-toc-section-level::before {\n content: "\\e939";\n}\n.k-i-inherited::before {\n content: "\\e93a";\n}\n.k-i-file-video::before {\n content: "\\e93b";\n}\n.k-i-file-audio::before {\n content: "\\e93c";\n}\n.k-i-file-image::before {\n content: "\\e93d";\n}\n.k-i-file-presentation::before {\n content: "\\e93e";\n}\n.k-i-file-data::before {\n content: "\\e93f";\n}\n.k-i-file-disc-image::before {\n content: "\\e940";\n}\n.k-i-file-programming::before {\n content: "\\e941";\n}\n.k-i-parameters-byte-array::before {\n content: "\\e942";\n}\n.k-i-parameters-unknown::before {\n content: "\\e943";\n}\n.k-i-file-error::before {\n content: "\\e944";\n}\n.k-i-file-validation::before {\n content: "\\e944";\n}\n.k-i-files-error::before {\n content: "\\e945";\n}\n.k-i-files-validation::before {\n content: "\\e945";\n}\n.k-i-data-rest::before {\n content: "\\e946";\n}\n.k-i-file-typescript::before {\n content: "\\e947";\n}\n.k-i-data-ods::before {\n content: "\\e948";\n}\n.k-i-file-report::before {\n content: "\\e949";\n}\n.k-i-table-position-start::before {\n content: "\\e6a2";\n}\n.k-i-table-position-left::before {\n content: "\\e6a2";\n}\n.k-i-table-position-center::before {\n content: "\\e6a3";\n}\n.k-i-table-position-end::before {\n content: "\\e6a4";\n}\n.k-i-table-position-right::before {\n content: "\\e6a4";\n}\n.k-i-list-roman-upper::before {\n content: "\\e6a5";\n}\n.k-i-list-roman-lower::before {\n content: "\\e6a6";\n}\n.k-i-import::before {\n content: "\\e6a7";\n}\n.k-i-export::before {\n content: "\\e6a8";\n}\n.k-i-match-full-word::before {\n content: "\\e6a9";\n}\n.k-i-regular-expression::before {\n content: "\\e6ab";\n}\n.k-i-replace-single::before {\n content: "\\e6ac";\n}\n.k-i-replace-all::before {\n content: "\\e6ad";\n}\n.k-i-letter-space::before {\n content: "\\e6ae";\n}\n.k-i-line-height::before {\n content: "\\e6af";\n}\n.k-i-blockquote::before {\n content: "\\e6b0";\n}\n.k-i-list-latin-big::before {\n content: "\\e6b1";\n}\n.k-i-list-latin-small::before {\n content: "\\e6b2";\n}\n.k-i-list-unordered-square::before {\n content: "\\e6b3";\n}\n.k-i-list-unordered-outline::before {\n content: "\\e6b4";\n}\n.k-i-graph::before {\n content: "\\ea00";\n}\n.k-i-chart-column-clustered::before {\n content: "\\ea01";\n}\n.k-i-chart-column-stacked::before {\n content: "\\ea02";\n}\n.k-i-chart-column-stacked100::before {\n content: "\\ea03";\n}\n.k-i-chart-column-range::before {\n content: "\\ea04";\n}\n.k-i-chart-bar-clustered::before {\n content: "\\ea05";\n}\n.k-i-chart-bar-stacked::before {\n content: "\\ea06";\n}\n.k-i-chart-bar-stacked100::before {\n content: "\\ea07";\n}\n.k-i-chart-bar-range::before {\n content: "\\ea08";\n}\n.k-i-chart-area-clustered::before {\n content: "\\ea09";\n}\n.k-i-chart-area-stacked::before {\n content: "\\ea0a";\n}\n.k-i-chart-area-stacked100::before {\n content: "\\ea0b";\n}\n.k-i-chart-area-range::before {\n content: "\\ea0c";\n}\n.k-i-chart-line::before {\n content: "\\ea0d";\n}\n.k-i-chart-line-stacked::before {\n content: "\\ea0e";\n}\n.k-i-chart-line-stacked100::before {\n content: "\\ea0f";\n}\n.k-i-chart-line-markers::before {\n content: "\\ea10";\n}\n.k-i-chart-line-stacked-markers::before {\n content: "\\ea11";\n}\n.k-i-chart-line-stacked100-markers::before {\n content: "\\ea12";\n}\n.k-i-chart-pie::before {\n content: "\\ea13";\n}\n.k-i-chart-doughnut::before {\n content: "\\ea14";\n}\n.k-i-chart-scatter::before {\n content: "\\ea15";\n}\n.k-i-chart-scatter-smooth-lines-markers::before {\n content: "\\ea16";\n}\n.k-i-chart-scatter-smooth-lines::before {\n content: "\\ea17";\n}\n.k-i-chart-scatter-straight-lines-markers::before {\n content: "\\ea18";\n}\n.k-i-chart-scatter-straight-lines::before {\n content: "\\ea19";\n}\n.k-i-chart-bubble::before {\n content: "\\ea1a";\n}\n.k-i-chart-candlestick::before {\n content: "\\ea1b";\n}\n.k-i-chart-ohlc::before {\n content: "\\ea1c";\n}\n.k-i-chart-radar::before {\n content: "\\ea1d";\n}\n.k-i-chart-radar-markers::before {\n content: "\\ea1e";\n}\n.k-i-chart-radar-filled::before {\n content: "\\ea1f";\n}\n.k-i-chart-rose::before {\n content: "\\ea20";\n}\n.k-i-chart-choropleth::before {\n content: "\\ea21";\n}\n.k-rtl .k-i-indent-increase,\n.k-rtl .k-i-indent-decrease,\n.k-rtl .k-i-expand,\n.k-rtl .k-i-collapse,\n[dir=rtl] .k-i-expand,\n[dir=rtl] .k-i-collapse {\n transform: scaleX(-1);\n}\n.k-sprite {\n display: inline-block;\n width: 16px;\n height: 16px;\n overflow: hidden;\n background-repeat: no-repeat;\n font-size: 0;\n line-height: 0;\n text-align: center;\n -ms-high-contrast-adjust: none;\n}\n.k-image {\n display: inline-block;\n}\n.k-splitter {\n height: 300px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 14px;\n line-height: 1.4285714286;\n display: block;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-splitter .k-pane {\n overflow: hidden;\n}\n.k-splitter .k-scrollable {\n overflow: auto;\n}\n.k-splitter .k-splitter-resizing {\n overflow: hidden;\n}\n.k-pane > .k-splitter {\n border-width: 0;\n overflow: hidden;\n}\n.k-splitter .k-pane-loading {\n position: static;\n top: 50%;\n left: 50%;\n}\n.k-ghost-splitbar,\n.k-splitbar {\n border-style: solid;\n outline: 0;\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.k-ghost-splitbar .k-icon,\n.k-splitbar .k-icon {\n font-size: 10px;\n display: block;\n cursor: pointer;\n}\n.k-splitbar-draggable-horizontal {\n cursor: col-resize;\n}\n.k-splitbar-draggable-vertical {\n cursor: row-resize;\n}\n.k-ghost-splitbar-horizontal,\n.k-splitbar-horizontal {\n width: 8px;\n border-width: 0;\n background-repeat: repeat-y;\n flex-direction: column;\n top: 0;\n}\n.k-ghost-splitbar-vertical,\n.k-splitbar-vertical {\n height: 8px;\n border-width: 0;\n background-repeat: repeat-x;\n flex-direction: row;\n left: 0;\n}\n.k-splitbar-static-horizontal {\n width: 1px;\n}\n.k-splitbar-static-vertical {\n height: 1px;\n}\n.k-splitbar-draggable-horizontal .k-resize-handle {\n width: 2px;\n height: 20px;\n position: static;\n z-index: 1;\n}\n.k-splitbar .k-resize-handle {\n display: none;\n background-color: currentColor;\n}\n.k-splitbar-draggable-horizontal .k-resize-handle,\n.k-splitbar-draggable-vertical .k-resize-handle {\n display: block;\n}\n.k-splitbar-horizontal .k-i-arrow-60-left {\n margin-bottom: 7px;\n}\n.k-splitbar-horizontal .k-i-arrow-60-right {\n margin-top: 7px;\n}\n.k-splitbar-vertical .k-i-arrow-60-up {\n margin-right: 7px;\n}\n.k-splitbar-vertical .k-i-arrow-60-down {\n margin-left: 7px;\n}\n.k-splitbar-draggable-vertical .k-resize-handle {\n width: 20px;\n height: 2px;\n position: static;\n z-index: 1;\n}\n.k-pane > .k-splitter-overlay {\n opacity: 0;\n position: absolute;\n}\n.k-splitter-flex {\n display: flex;\n width: 100%;\n height: auto;\n}\n.k-splitter-flex .k-pane {\n position: relative;\n flex: 1 1 auto;\n display: block;\n min-width: 0;\n max-width: 100%;\n min-height: 0;\n max-height: 100%;\n height: 100%;\n}\n.k-splitter-flex .k-pane-static {\n flex-grow: 0;\n flex-shrink: 0;\n}\n.k-splitter-flex .k-pane-flex {\n display: flex;\n}\n.k-splitter-flex .k-splitbar {\n position: static;\n flex: 0 0 auto;\n}\n.k-splitter-flex .k-pane.k-state-hidden, .k-splitter-flex .k-pane[hidden],\n.k-splitter-flex .k-pane-flex.k-state-hidden,\n.k-splitter-flex .k-pane-flex[hidden] {\n flex: 0 1 0% !important;\n overflow: hidden !important;\n display: block !important;\n}\n.k-splitter-flex.k-splitter-horizontal {\n flex-direction: row;\n}\n.k-splitter-flex.k-splitter-horizontal[dir=rtl] > .k-splitbar > .k-collapse-next,\n.k-splitter-flex.k-splitter-horizontal[dir=rtl] > .k-splitbar > .k-collapse-prev {\n transform: scaleX(-1);\n}\n.k-splitter-flex.k-splitter-vertical {\n flex-direction: column;\n}\n.k-splitter {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-splitbar {\n color: #424242;\n background-color: #fafafa;\n}\n.k-splitbar:hover,\n.k-splitbar.k-state-hover,\n.k-splitbar-horizontal-hover,\n.k-splitbar-vertical-hover {\n color: #424242;\n background-color: #f0f0f0;\n}\n.k-splitbar:focus,\n.k-splitbar.k-state-focus,\n.k-splitbar.k-state-focused {\n color: white;\n background: #ff6358;\n}\n.k-ghost-splitbar {\n background-color: #f0f0f0;\n}\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:host {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:host {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:host {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:host {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:host {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:host {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:host {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:host {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.8rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:host {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:host {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:host {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:host {\n --select-arrow-color: #777;\n}\n:host {\n --input-box-shadow-hover: #e4e4e4;\n}\n:host {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:host {\n --secondary-text-color: #999;\n}\n:host {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:host {\n --tree-list-expander-color: #777;\n}\nh1,\n.h1 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh2,\n.h2 {\n font-size: var(--font-size-h2);\n font-weight: 300;\n line-height: 1.3;\n color: var(--color-h2);\n margin-top: 0;\n margin-bottom: 0;\n}\nh3,\n.h3 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh4,\n.h4 {\n font-size: var(--font-size-h4);\n font-weight: bold;\n margin-top: 0;\n margin-bottom: 0;\n}\nh5,\n.h5 {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n}\nh1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n.h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\nh4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n.h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\np {\n margin-bottom: calc(var(--font-size-base) * 1.4);\n}\n/*\n Typography\n\n Headings\n\n Markup:\n

    H1 List Page Title

    \n

    H1 Detail Page Title

    \n

    H2 Group Title

    \n

    H3 Item Title

    \n

    H4 Form Label

    \n

    H4 Regular Label

    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings\n */\n/*\n Heading CSS Classes\n\n Markup:\n
    H1 List Page Title
    \n
    H1 Detail Page Title
    \n
    H2 Group Title
    \n
    H3 Item Title
    \n
    H4 Form Label
    \n
    H4 Regular Label
    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings-classes\n */\n/*\n Paragraph\n\n Markup:\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat. Nulla iaculis id sem eget ullamcorper. In ac euismod nunc. Fusce at tortor viverra, maximus quam quis, interdum velit. Mauris varius risus ut ante porttitor tempor.

    \n\n Styleguide: Typography.Paragraph\n*/\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-warning {\n color: #ED8527;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n fill: currentColor;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n.sf-icon__svg-template {\n width: 100%;\n max-height: 77px;\n max-width: 300px;\n}\n/*\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n::-webkit-input-placeholder {\n /* WebKit, Blink, Edge */\n color: var(--input-placeholder-color);\n font-weight: normal;\n}\n:-moz-placeholder {\n /* Mozilla Firefox 4 to 18 */\n color: var(--input-placeholder-color);\n font-weight: normal;\n opacity: 1;\n}\n::-moz-placeholder {\n /* Mozilla Firefox 19+ */\n color: var(--input-placeholder-color);\n font-weight: normal;\n opacity: 1;\n}\n:-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n color: var(--input-placeholder-color);\n font-weight: normal;\n}\n:-moz-ui-invalid:not(output) {\n box-shadow: none;\n}\n::-ms-clear {\n display: none;\n}\n:-webkit-autofill {\n -webkit-box-shadow: inset 0 0 0 25px #fff;\n}\ninput[type=search]::-webkit-search-decoration,\ninput[type=search]::-webkit-search-cancel-button,\ninput[type=search]::-webkit-search-results-button,\ninput[type=search]::-webkit-search-results-decoration {\n display: none;\n}\ninput[type=week] {\n display: flex;\n align-items: center;\n}\n.sf-input {\n position: relative;\n display: inline-block;\n line-height: 18px;\n vertical-align: top;\n width: 100%;\n}\n.sf-input input:not([readonly]),\n.sf-input textarea:not([readonly]) {\n display: block;\n font-family: "Open Sans", sans-serif;\n transition: border-color 0.3s;\n width: 100%;\n border: 1px solid var(--input-border);\n border-radius: 0;\n background-color: #fff;\n box-sizing: border-box;\n -webkit-appearance: none;\n color: #333;\n}\n.sf-input input:not([readonly]):focus,\n.sf-input textarea:not([readonly]):focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\n.sf-input input:not([readonly]):hover,\n.sf-input textarea:not([readonly]):hover {\n border-color: var(--input-border-hover);\n}\n.sf-input input:not([readonly]):disabled,\n.sf-input textarea:not([readonly]):disabled {\n background-color: #f5f5f5;\n color: #ccc;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.sf-input input:not([readonly]):disabled:focus, .sf-input input:not([readonly]):disabled:hover,\n.sf-input textarea:not([readonly]):disabled:focus,\n.sf-input textarea:not([readonly]):disabled:hover {\n border-color: var(--input-border);\n}\n.sf-input input {\n padding: 0 10px;\n}\n.sf-input textarea {\n min-height: 80px;\n padding: 8px 10px;\n white-space: pre-wrap;\n}\n.sf-input:not(.-bordered) input[readonly],\n.sf-input:not(.-bordered) textarea[readonly] {\n padding: 0;\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-input:not(.-bordered) input[readonly]:focus, .sf-input:not(.-bordered) input[readonly]:hover,\n.sf-input:not(.-bordered) textarea[readonly]:focus,\n.sf-input:not(.-bordered) textarea[readonly]:hover {\n border-color: transparent;\n}\n.sf-input.-clearable .sf-input__field {\n padding-right: 20px;\n}\n.sf-input.-side-content .sf-input__title {\n border-right: 1px solid var(--input-border);\n}\n.sf-input.-side-content .sf-input__field {\n padding-right: 46px;\n}\n.sf-input.-bold .sf-input__field {\n font-weight: bold;\n}\n.sf-input.-unit {\n display: flex;\n flex-wrap: nowrap;\n}\n.sf-input.-unit .sf-input__label {\n width: 100%;\n}\n.sf-input.-unit .sf-input__field {\n flex: 1;\n width: auto;\n min-width: 40px;\n}\n.sf-input.-unit.-left .sf-input__field {\n order: 2;\n}\n.sf-input.-unit.-left .sf-input__unit {\n order: 1;\n border-right: 0;\n border-left: 1px solid var(--input-border);\n}\n.sf-input.-unit.-left .sf-input__unit::before {\n right: auto;\n left: calc(100% + 8px);\n border-left: 0;\n}\n.sf-input.-textarea .sf-input__side-content {\n margin-left: 10px;\n top: 1.8em;\n left: 100%;\n right: auto;\n background: transparent;\n border: transparent;\n font-size: var(--font-size-base);\n line-height: 1.4;\n color: #333;\n height: auto;\n width: auto;\n text-align: left;\n}\n.sf-input.-char-counter .sf-input__side-content {\n top: 4.3em;\n}\n.sf-input.-title .sf-input__title[contenteditable=true] {\n padding-bottom: 10px;\n}\n.sf-input.-title .sf-input__title[contenteditable=true]:hover {\n box-shadow: 0 3px 0 -2px var(--input-box-shadow-hover);\n}\n.sf-input.-title .sf-input__title[contenteditable=true]:focus {\n box-shadow: 0 3px 2px -3px rgba(0, 108, 217, 0.8);\n}\n.sf-input.-title.-large .sf-input__title {\n font-size: var(--font-size-h1-lg);\n}\n.sf-input.-title.-small .sf-input__title {\n font-size: var(--font-size-h3);\n min-height: 0;\n}\n.sf-input.-title .sf-input__side-content {\n margin-left: 10px;\n top: 0;\n left: 100%;\n right: auto;\n font-size: var(--font-size-base);\n line-height: 1.55;\n text-align: left;\n}\n.sf-input.-short.-textarea textarea {\n min-height: 60px;\n}\n.sf-input.-short .sf-input__field {\n height: 28px;\n}\n.sf-input.-centered .sf-input__field {\n text-align: center;\n}\n.sf-input.-no-border {\n border: 0;\n padding: 0;\n}\n.sf-input.-no-border .sf-input__textarea {\n border: 0;\n padding: 0;\n}\n.sf-input.-no-resize .sf-input__textarea {\n resize: none;\n}\n.sf-input.-inline .sf-input__field,\n.sf-input.-inline .sf-input__textarea {\n font-size: var(--font-size-base);\n border: 0;\n}\n.sf-input.-inline .sf-input__field:not([disabled]):hover,\n.sf-input.-inline .sf-input__textarea:not([disabled]):hover {\n background-color: #FFFFCC;\n}\n.sf-input.-inline .sf-input__field:focus,\n.sf-input.-inline .sf-input__textarea:focus {\n box-shadow: none;\n}\n.sf-input.-inline .sf-input__field {\n padding-left: 0;\n padding-right: 0;\n height: 22px;\n}\n.sf-input.-inline .sf-input__textarea {\n padding: 0;\n}\n.sf-input.-large .sf-input__field,\n.sf-input.-large .sf-input__textarea {\n font-size: var(--font-size-lg);\n}\n.sf-input.-small-label .sf-input__label {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n margin: 0 0 5px;\n}\n.sf-input__label:not(.-small-label) {\n display: block;\n margin: 0 0 5px;\n font-weight: 700;\n font-size: var(--font-size-h4-lg);\n}\n.sf-input__field {\n color: inherit;\n height: 36px;\n}\n.sf-input__field:focus + .sf-input__unit {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\n.sf-input__no-value {\n font-size: var(--font-size-lg);\n color: #ccc;\n}\n.sf-input__hint {\n margin: 5px 0 0;\n color: var(--secondary-text-color);\n width: 100%;\n}\n.sf-input__required {\n display: block;\n margin: 5px 0 0;\n color: var(--color-error);\n}\n.sf-input__clear-button {\n position: absolute;\n text-decoration: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 100%;\n top: 0;\n right: 0;\n margin: 0;\n padding: 0;\n color: inherit;\n opacity: 0;\n transform: scale(0);\n transition: opacity 0.3s ease-out;\n transition-property: opacity, transform;\n transition-delay: 100ms;\n outline: none;\n z-index: 1;\n z-index: 5;\n}\n.sf-input__clear-button:hover .sf-icon, .sf-input__clear-button:focus .sf-icon, .sf-input__clear-button:active .sf-icon {\n color: #333;\n}\n.sf-input__clear-button.-show {\n opacity: 1;\n transform: scale(1);\n}\n.sf-input__side-content {\n position: absolute;\n opacity: 1;\n top: 1.3em;\n color: #ccc;\n}\n.sf-input__unit {\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n vertical-align: middle;\n padding-left: 10px;\n padding-right: 10px;\n width: auto;\n height: 36px;\n line-height: 36px;\n background-color: #f5f5f5;\n border-top: 1px solid var(--input-border);\n border-right: 1px solid var(--input-border);\n border-bottom: 1px solid var(--input-border);\n outline: none;\n white-space: nowrap;\n}\n.sf-input__unit::before {\n display: block;\n content: "";\n position: relative;\n left: -11px;\n width: 3px;\n height: calc(100% + 2px);\n border-top: 1px solid var(--input-border);\n border-bottom: 1px solid var(--input-border);\n background-color: #f5f5f5;\n}\n.sf-input__char-counter {\n position: absolute;\n margin-left: 10px;\n font-size: var(--font-size-base);\n top: 0.7em;\n left: 100%;\n color: var(--input-char-counter-success-color);\n}\n.sf-input__char-counter.-error {\n color: var(--input-char-counter-error-color);\n}\n.sf-input__title {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n outline: none;\n cursor: text;\n min-height: 58px;\n}\n.sf-input__title::-webkit-input-placeholder {\n font-family: Open Sans Condensed, sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n font-weight: bold;\n}\n.sf-input__title::-moz-placeholder {\n /* Firefox 19+ */\n font-family: Open Sans Condensed, sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n font-weight: bold;\n}\n.sf-input__title:-ms-input-placeholder {\n font-family: Open Sans Condensed, sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n font-weight: bold;\n}\n.sf-input__title.-placeholder::before {\n display: block;\n content: attr(data-placeholder);\n color: var(--input-title-placeholder-color);\n}\n.sf-input__title.-placeholder br:only-child {\n position: absolute;\n top: 0;\n}\n.sf-input__title .sf-input__required {\n margin-top: -20px;\n padding-top: 3px;\n border-top: 1px solid #ff4848;\n}\n.sf-input.ng-dirty.ng-invalid .sf-input__field.ng-dirty.ng-invalid, .sf-input.ng-dirty.ng-invalid .sf-input__field.ng-dirty.ng-invalid:focus, .sf-input.ng-dirty.ng-invalid .sf-input__field.ng-dirty.ng-invalid:hover,\n.sf-input.ng-dirty.ng-invalid .sf-input__textarea.ng-dirty.ng-invalid,\n.sf-input.ng-dirty.ng-invalid .sf-input__textarea.ng-dirty.ng-invalid:focus,\n.sf-input.ng-dirty.ng-invalid .sf-input__textarea.ng-dirty.ng-invalid:hover, .sf-input.-required .sf-input__field.ng-dirty.ng-invalid, .sf-input.-required .sf-input__field.ng-dirty.ng-invalid:focus, .sf-input.-required .sf-input__field.ng-dirty.ng-invalid:hover,\n.sf-input.-required .sf-input__textarea.ng-dirty.ng-invalid,\n.sf-input.-required .sf-input__textarea.ng-dirty.ng-invalid:focus,\n.sf-input.-required .sf-input__textarea.ng-dirty.ng-invalid:hover {\n border-color: var(--color-error);\n}\n.sf-input.ng-dirty.ng-invalid.-title .sf-input__required, .sf-input.-required.-title .sf-input__required {\n margin-top: 0;\n padding-top: 3px;\n border-top: 1px solid var(--color-error);\n}\n.sf-input-file {\n display: flex;\n}\n.sf-input-file__label {\n position: relative;\n cursor: pointer;\n z-index: 10;\n}\n.sf-input-file input[type=file] {\n position: absolute;\n height: 0;\n width: 0;\n opacity: 0;\n z-index: auto;\n}\n.sf-input-file input[type=file]:focus + .sf-input-file__label .sf-button {\n background-color: #e4e4e4;\n}\n.sf-input-file input[type=file]:focus + .sf-input-file__label .sf-button.-action {\n background-color: #309255;\n}\n/*\n Input\n\n Default\n\n `.sf-input`\n\n Markup:\n
    \n \n \n

    Example: Input example text

    \n
    \n\n Styleguide: Input.default\n*/\n/*\n Disabled:\n\n `.sf-input`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.disabled\n*/\n/*\n Readonly\n\n `.sf-input`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.readonly\n*/\n/*\n Value not set:\n\n `.sf-input .sf-input__no-value`\n\n Markup:\n
    \n \n
    Not set
    \n
    \n\n Styleguide: Input.not-set\n*/\n/*\n Invalid field\n\n `.sf-input.ng-invalid`\n\n Markup:\n
    \n \n \n

    Field is required

    \n

    Example: Input example text

    \n
    \n
    \n \n \n

    Field is required

    \n

    Example: Input example text

    \n
    \n\n Styleguide: Input.invalid\n*/\n/*\n Input with clear button\n\n `.sf-input.-clear`\n\n Markup:\n
    \n \n \n \n

    Example: Input example text

    \n
    \n\n Styleguide: Input.input-clear-button\n*/\n/*\n Input with units\n\n `.sf-input.-unit`\n\n Markup:\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n\n Styleguide: Input.units\n*/\n/*\n Input and textarea with character counter\n\n `.sf-input .-char-counter`\n\n Markup:\n
    \n \n 352\n
    \n
    \n
    \n
    \n \n -9\n
    \n\n Styleguide: Input.char-counter\n*/\n/*\n Side content with char counter\n\n `.sf-input.-char-counter .sf-input__char-counter`\n `.sf-input.-side-content .sf-input__char-counter`\n\n Markup:\n
    \n \n 44\n Side content\n
    \n\n Styleguide: Input.side-content-char-counter\n*/\n/*\n Textarea\n\n `.sf-input`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.textarea\n*/\n/*\n Title\n\n `.sf-input.-title`\n\n Markup:\n
    \n

    \n
    \n\n Styleguide: Input.title\n/*\n Title Large\n\n `.sf-input.-title.-large`\n\n Markup:\n
    \n

    \n
    \n\n Styleguide: Input.large\n*/\n/*\n Title with side-content\n\n `.sf-input.-title.-side-content`\n\n Markup:\n
    \n

    \n \n
    \n\n Styleguide: Input.side-content-title\n*/\n/*\n Title with side-content and validation\n\n `.sf-input.-title.-side-content.-required`\n\n Markup:\n
    \n

    \n

    Enter Title

    \n \n
    \n\n Styleguide: Input.side-content-validation\n*/\n/*\n File input\n\n Upload icon\n\n `.sf-input-file`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.file-input\n*/\n/*\n Plus icon\n\n `.sf-input-file`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.plus-icon\n*/\n/*\n Upload button:\n\n `.sf-input-file`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.input-file\n*/\n.sf-row {\n display: flex;\n flex-wrap: wrap;\n padding: 0;\n width: 100%;\n max-width: 100%;\n list-style-type: none;\n /*\n Row with auto sized columns (default)\n\n `.sf-row .sf-row__col`\n\n Markup:\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row.auto-sized\n */\n /*\n Nested rows\n\n `.sf-row .sf-row`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row.nested-rows\n */\n /*\n Row with no gutter\n\n `.sf-row.-no-gutter`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.no-gutter\n */\n /*\n Row inline\n\n `.sf-row.-inline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.inline\n */\n /*\n Row full height\n\n `.sf-row.-full-height`\n\n Markup:\n
    \n
    \n I am tall\n
    \n
    \n I am tall\n
    \n
    \n\n Styleguide: Row.full-height\n */\n /*\n Width auto\n\n `.sf-row.-auto-width`\n\n Markup:\n
    \n
    \n\n Styleguide: Row.width-auto\n */\n /*\n flex-wrap: wrap (Default)\n\n `.sf-row.-wrap`\n\n If emitted flex-wrap: wrap\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.flex-wrap-wrap\n */\n /*\n flex-wrap: no-wrap\n\n `.sf-row.-no-wrap`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.no-wrap\n */\n /*\n flex-wrap: wrap-reverse\n\n `.sf-row.-wrap-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.wrap-reverse\n */\n /*\n flex-direction: row (default)\n\n `.sf-row.-row`\n\n If emitted flex-direction: row\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.flex-direction-row\n */\n /*\n flex-direction: row-reverse\n\n `.sf-row.-row-reverse `\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.row-reverse\n */\n /*\n flex-direction: column\n\n `.sf-row.-column`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column\n */\n /*\n flex-direction: column-reverse\n\n `.sf-row.-column-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column-reverse\n */\n /*\n align-items: stretch (default)\n\n `.sf-row.-align-items-stretch`\n\n If emitted align-items: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-stretch\n\n */\n /*\n align-items: flex-start\n\n `.sf-row.-align-items-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-start\n */\n /*\n align-items: flex-end\n\n `.sf-row.-align-items-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-end\n */\n /*\n align-items: center\n\n `.sf-row.-align-items-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-center\n */\n /*\n align-items: baseline\n\n `.sf-row.-align-items-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-baseline\n */\n /*\n align-content: stretch (default)\n\n `.sf-row.-align-content-stretch`\n\n If emitted align-content: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-stretch\n */\n /*\n align-content: flex-start\n\n `.sf-row.-align-content-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-start\n */\n /*\n align-content: flex-end\n\n `.sf-row.-align-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-end\n */\n /*\n align-content: center\n\n `.sf-row.-align-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-center\n */\n /*\n align-content: space-between\n\n `.sf-row.-align-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-between\n */\n /*\n align-content: space-around\n\n `.sf-row.-align-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-around\n */\n /*\n justify-content: flex-start (default)\n\n `.sf-row.-justify-content-start`\n\n If emitted justify-content: flex-start\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-start\n */\n /*\n justify-content: flex-end\n\n `.sf-row.-justify-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-end\n */\n /*\n justify-content: center\n\n `.theme.-row.-justify-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-center\n */\n /*\n justify-content: space-between\n\n `.sf-row.-justify-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-between\n */\n /*\n justify-content: space-around\n\n `.sf-row.-justify-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-around\n */\n /*\n Columns with flexible width\n\n `sf-row.-adjustable-ellipsis`\n\n Markup:\n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n\n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n\n Styleguide: Row.adjustable-ellipsis\n */\n /*\n Row — Single Column\n */\n /*\n Columns with no gutter\n\n `.sf-row__col.-no-gutter`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-gutter\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-gutter\n */\n /*\n Columns which are not flexible (\'flex: none\')\n\n `.sf-row__col.-no-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-flex\n */\n /*\n Columns which are auto flexible (\'flex: auto\')\n\n `.sf-row__col.-auto-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-auto-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.flex-auto\n */\n /*\n Columns hide\n\n `.sf-row__col.-hidden`\n\n Markup:\n
    \n
    \n .sf-row__col.-hidden: I am hidden for all resolutions\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row-single.hidden\n */\n /*\n Columns align-self: stretch (default)\n\n `.sf-row__col.-align-self-stretch`\n\n If emitted align-self: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-stretch\n */\n /*\n Columns align-self: flex-start\n\n `.sf-row__col.-align-self-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.flex-start\n */\n /*\n Columns align-self: flex-end\n\n `.sf-row__col.-align-self-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-end\n */\n /*\n Columns align-self: center\n\n `.sf-row__col.-align-self-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-center\n */\n /*\n Columns align-self: baseline\n\n `.sf-row__col.-align-self-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-baseline\n */\n}\n.sf-row.-no-gutter .sf-row__col {\n padding: 0;\n}\n.sf-row.-inline {\n display: inline-flex;\n width: auto;\n}\n.sf-row.-full-height {\n height: 100%;\n}\n.sf-row.-auto-width {\n width: auto;\n}\n.sf-row.-wrap {\n flex-wrap: wrap;\n}\n.sf-row.-no-wrap {\n flex-wrap: nowrap;\n}\n.sf-row.-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.sf-row.-row {\n flex-direction: row;\n}\n.sf-row.-row-reverse {\n flex-direction: row-reverse;\n}\n.sf-row.-column {\n flex-direction: column;\n}\n.sf-row.-column-reverse {\n flex-direction: column-reverse;\n}\n.sf-row.-align-items-stretch {\n align-items: stretch;\n}\n.sf-row.-align-items-start {\n align-items: flex-start;\n}\n.sf-row.-align-items-end {\n align-items: flex-end;\n}\n.sf-row.-align-items-center {\n align-items: center;\n}\n.sf-row.-align-items-baseline {\n align-items: baseline;\n}\n.sf-row.-align-content-stretch {\n align-content: stretch;\n}\n.sf-row.-align-content-start {\n align-content: flex-start;\n}\n.sf-row.-align-content-end {\n align-content: flex-end;\n}\n.sf-row.-align-content-center {\n align-content: center;\n}\n.sf-row.-align-content-between {\n align-content: space-between;\n}\n.sf-row.-align-content-around {\n align-content: space-around;\n}\n.sf-row.-justify-content-start {\n justify-content: flex-start;\n}\n.sf-row.-justify-content-end {\n justify-content: flex-end;\n}\n.sf-row.-justify-content-center {\n justify-content: center;\n}\n.sf-row.-justify-content-between {\n justify-content: space-between;\n}\n.sf-row.-justify-content-around {\n justify-content: space-around;\n}\n.sf-row.-adjustable-ellipsis {\n display: inline-flex;\n width: auto;\n}\n.sf-row.-adjustable-ellipsis .sf-row__col.-truncatable {\n min-width: 0;\n}\n.sf-row.-adjustable-ellipsis .sf-row__col.-full-width {\n flex: none;\n white-space: nowrap;\n}\n.sf-row__col {\n padding: 0;\n flex: 1;\n max-width: 100%;\n /*\n Row — Grid System\n\n Columns sizes\n\n `.sf-row__col.-col-{1, 2, 3,..., 12}`\n\n Column sizes applies for all devices unless overridden\n\n Markup:\n
    \n
    \n .sf-row__col.-col-12\n
    \n
    \n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n\n Styleguide: Row-grid.Columns-sizes\n */\n /*\n Columns order\n\n `.sf-row__col.-order-{1, 2, 3,..., 12}`\n\n Markup:\n
    \n
    \n .sf-row__col.-order-2\n

    I am first in the markup but ordered second on the screen

    \n
    \n
    \n .sf-row__col.-order-3\n

    I am second in the markup but ordered third on the screen

    \n
    \n
    \n .sf-row__col.-order-1\n

    I am third in the markup but ordered first on the screen

    \n
    \n
    \n\n Styleguide: Row-grid.Columns-order\n */\n}\n.sf-row__col.-col-1 {\n flex: 0 0 8.3333333333%;\n max-width: 8.3333333333%;\n}\n.sf-row__col.-col-2 {\n flex: 0 0 16.6666666667%;\n max-width: 16.6666666667%;\n}\n.sf-row__col.-col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n.sf-row__col.-col-4 {\n flex: 0 0 33.3333333333%;\n max-width: 33.3333333333%;\n}\n.sf-row__col.-col-5 {\n flex: 0 0 41.6666666667%;\n max-width: 41.6666666667%;\n}\n.sf-row__col.-col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n.sf-row__col.-col-7 {\n flex: 0 0 58.3333333333%;\n max-width: 58.3333333333%;\n}\n.sf-row__col.-col-8 {\n flex: 0 0 66.6666666667%;\n max-width: 66.6666666667%;\n}\n.sf-row__col.-col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n.sf-row__col.-col-10 {\n flex: 0 0 83.3333333333%;\n max-width: 83.3333333333%;\n}\n.sf-row__col.-col-11 {\n flex: 0 0 91.6666666667%;\n max-width: 91.6666666667%;\n}\n.sf-row__col.-col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n.sf-row__col.-order-1 {\n order: 1;\n}\n.sf-row__col.-order-2 {\n order: 2;\n}\n.sf-row__col.-order-3 {\n order: 3;\n}\n.sf-row__col.-order-4 {\n order: 4;\n}\n.sf-row__col.-order-5 {\n order: 5;\n}\n.sf-row__col.-order-6 {\n order: 6;\n}\n.sf-row__col.-order-7 {\n order: 7;\n}\n.sf-row__col.-order-8 {\n order: 8;\n}\n.sf-row__col.-order-9 {\n order: 9;\n}\n.sf-row__col.-order-10 {\n order: 10;\n}\n.sf-row__col.-order-11 {\n order: 11;\n}\n.sf-row__col.-order-12 {\n order: 12;\n}\n.sf-row .-no-gutter {\n padding: 0;\n}\n.sf-row .-no-flex {\n flex: none;\n}\n.sf-row .-auto-flex {\n flex: auto;\n}\n.sf-row .-hidden {\n display: none;\n}\n.sf-row .-align-self-stretch {\n align-self: stretch;\n}\n.sf-row .-align-self-start {\n align-self: flex-start;\n}\n.sf-row .-align-self-end {\n align-self: flex-end;\n}\n.sf-row .-align-self-center {\n align-self: center;\n}\n.sf-row .-align-self-baseline {\n align-self: baseline;\n}\n.sf-error {\n display: block;\n color: var(--color-error);\n font-size: var(--font-size-base);\n}\n.sf-error-block {\n border-color: var(--color-error) !important;\n}\n/*\n Default Error\n\n `.sf-error`\n\n Markup:\n
    This is an error!
    \n
    This is an error block!
    \n\n Styleguide: Error.default\n */\n.-sf-centered-box {\n margin-left: auto;\n margin-right: auto;\n}\n.-sf-centered-vertical-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n}\n.-sf-full-height {\n height: 100% !important;\n}\n.-sf-auto-height {\n height: auto !important;\n}\n.-sf-full-width {\n width: 100% !important;\n}\n/*\n Centered box\n\n `-sf-centered-box`\n\n Sets box\'s right and left margins to auto to center the box horizontally if it has width.\n\n Markup:\n
    Centered box with fixed width
    \n\n Styleguide: Center utility classes.centered\n */\n/*\n Centered horizontally and vertically box\n\n `-sf-centered-vertical-box` Sets box\'s right and left margins to auto to center the box horizontally if it has width and set it\'s display to flex and min-height to 100% of the view height.\n\n Markup:\n
    Centered box with fixed width
    \n\n Styleguide: Center utility classes.horizontally-vertically-centered\n */\n/*\n Expands element to 100% height of parent\n\n `-sf-full-height`\n\n Markup:\n
    \n
    Grey child is as tall as parent
    \n
    \n\n Styleguide: Center utility classes.full-height\n */\n.-sf-mt-zero {\n margin-top: 0 !important;\n}\n.-sf-mt-4xs {\n margin-top: 5px !important;\n}\n.-sf-mt-3xs {\n margin-top: 10px !important;\n}\n.-sf-mt-2xs {\n margin-top: 15px !important;\n}\n.-sf-mt-xs {\n margin-top: 20px !important;\n}\n.-sf-mt-s {\n margin-top: 25px !important;\n}\n.-sf-mt-m {\n margin-top: 30px !important;\n}\n.-sf-mt-l {\n margin-top: 35px !important;\n}\n.-sf-mt-xl {\n margin-top: 40px !important;\n}\n.-sf-mt-2xl {\n margin-top: 45px !important;\n}\n.-sf-mt-3xl {\n margin-top: 50px !important;\n}\n.-sf-mt-4xl {\n margin-top: 55px !important;\n}\n.-sf-mt-5xl {\n margin-top: 60px !important;\n}\n.-sf-mt-6xl {\n margin-top: 80px !important;\n}\n.-sf-mt-7xl {\n margin-top: 100px !important;\n}\n.-sf-mt-8xl {\n margin-top: 120px !important;\n}\n.-sf-mt-9xl {\n margin-top: 140px !important;\n}\n.-sf-mt-10xl {\n margin-top: 160px !important;\n}\n.-sf-mt-11xl {\n margin-top: 180px !important;\n}\n.-sf-mt-12xl {\n margin-top: 200px !important;\n}\n.-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n.-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n.-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n.-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n.-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n.-sf-mb-s {\n margin-bottom: 25px !important;\n}\n.-sf-mb-m {\n margin-bottom: 30px !important;\n}\n.-sf-mb-l {\n margin-bottom: 35px !important;\n}\n.-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n.-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n.-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n.-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n.-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n.-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n.-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n.-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n.-sf-ml-zero {\n margin-left: 0 !important;\n}\n.-sf-ml-4xs {\n margin-left: 5px !important;\n}\n.-sf-ml-3xs {\n margin-left: 10px !important;\n}\n.-sf-ml-2xs {\n margin-left: 15px !important;\n}\n.-sf-ml-xs {\n margin-left: 20px !important;\n}\n.-sf-ml-s {\n margin-left: 25px !important;\n}\n.-sf-ml-m {\n margin-left: 30px !important;\n}\n.-sf-ml-l {\n margin-left: 35px !important;\n}\n.-sf-ml-xl {\n margin-left: 40px !important;\n}\n.-sf-ml-2xl {\n margin-left: 45px !important;\n}\n.-sf-ml-3xl {\n margin-left: 50px !important;\n}\n.-sf-ml-4xl {\n margin-left: 55px !important;\n}\n.-sf-ml-5xl {\n margin-left: 60px !important;\n}\n.-sf-ml-6xl {\n margin-left: 80px !important;\n}\n.-sf-ml-7xl {\n margin-left: 100px !important;\n}\n.-sf-ml-8xl {\n margin-left: 120px !important;\n}\n.-sf-mr-zero {\n margin-right: 0 !important;\n}\n.-sf-mr-4xs {\n margin-right: 5px !important;\n}\n.-sf-mr-3xs {\n margin-right: 10px !important;\n}\n.-sf-mr-2xs {\n margin-right: 15px !important;\n}\n.-sf-mr-xs {\n margin-right: 20px !important;\n}\n.-sf-mr-s {\n margin-right: 25px !important;\n}\n.-sf-mr-m {\n margin-right: 30px !important;\n}\n.-sf-mr-l {\n margin-right: 35px !important;\n}\n.-sf-mr-xl {\n margin-right: 40px !important;\n}\n.-sf-mr-2xl {\n margin-right: 45px !important;\n}\n.-sf-mr-3xl {\n margin-right: 50px !important;\n}\n.-sf-mr-4xl {\n margin-right: 55px !important;\n}\n.-sf-mr-5xl {\n margin-right: 60px !important;\n}\n.-sf-mr-6xl {\n margin-right: 80px !important;\n}\n.-sf-mr-7xl {\n margin-right: 100px !important;\n}\n.-sf-mr-8xl {\n margin-right: 120px !important;\n}\n.-sf-m-zero {\n margin: 0 !important;\n}\n.-sf-m-4xs {\n margin: 5px !important;\n}\n.-sf-m-3xs {\n margin: 10px !important;\n}\n.-sf-m-2xs {\n margin: 15px !important;\n}\n.-sf-m-xs {\n margin: 20px !important;\n}\n.-sf-m-s {\n margin: 25px !important;\n}\n.-sf-m-m {\n margin: 30px !important;\n}\n.-sf-m-l {\n margin: 35px !important;\n}\n.-sf-m-xl {\n margin: 40px !important;\n}\n.-sf-m-2xl {\n margin: 45px !important;\n}\n.-sf-m-3xl {\n margin: 50px !important;\n}\n.-sf-m-4xl {\n margin: 55px !important;\n}\n.-sf-m-5xl {\n margin: 60px !important;\n}\n.-sf-m-6xl {\n margin: 80px !important;\n}\n.-sf-m-7xl {\n margin: 100px !important;\n}\n.-sf-m-8xl {\n margin: 120px !important;\n}\n.-sf-mt-8xs {\n margin-top: 1px !important;\n}\n.-sf-mt-7xs {\n margin-top: 2px !important;\n}\n.-sf-mt-6xs {\n margin-top: 3px !important;\n}\n.-sf-mt-5xs {\n margin-top: 4px !important;\n}\n.-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n.-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n.-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n.-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n.-sf-ml-8xs {\n margin-left: 1px !important;\n}\n.-sf-ml-7xs {\n margin-left: 2px !important;\n}\n.-sf-ml-6xs {\n margin-left: 3px !important;\n}\n.-sf-ml-5xs {\n margin-left: 4px !important;\n}\n.-sf-mr-8xs {\n margin-right: 1px !important;\n}\n.-sf-mr-7xs {\n margin-right: 2px !important;\n}\n.-sf-mr-6xs {\n margin-right: 3px !important;\n}\n.-sf-mr-5xs {\n margin-right: 4px !important;\n}\n.-sf-mt--4xs {\n margin-top: -5px !important;\n}\n.-sf-mt--3xs {\n margin-top: -10px !important;\n}\n.-sf-mt--2xs {\n margin-top: -15px !important;\n}\n.-sf-mt--xs {\n margin-top: -20px !important;\n}\n.-sf-mt--s {\n margin-top: -25px !important;\n}\n.-sf-mt--m {\n margin-top: -30px !important;\n}\n.-sf-mt--l {\n margin-top: -35px !important;\n}\n.-sf-mt--xl {\n margin-top: -40px !important;\n}\n.-sf-mt--2xl {\n margin-top: -45px !important;\n}\n.-sf-mt--3xl {\n margin-top: -50px !important;\n}\n.-sf-mt--4xl {\n margin-top: -55px !important;\n}\n.-sf-mt--5xl {\n margin-top: -60px !important;\n}\n.-sf-mt--6xl {\n margin-top: -80px !important;\n}\n.-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n.-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n.-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n.-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n.-sf-mb--s {\n margin-bottom: -25px !important;\n}\n.-sf-mb--m {\n margin-bottom: -30px !important;\n}\n.-sf-mb--l {\n margin-bottom: -35px !important;\n}\n.-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n.-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n.-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n.-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n.-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n.-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n.-sf-ml--4xs {\n margin-left: -5px !important;\n}\n.-sf-ml--3xs {\n margin-left: -10px !important;\n}\n.-sf-ml--2xs {\n margin-left: -15px !important;\n}\n.-sf-ml--xs {\n margin-left: -20px !important;\n}\n.-sf-ml--s {\n margin-left: -25px !important;\n}\n.-sf-ml--m {\n margin-left: -30px !important;\n}\n.-sf-ml--l {\n margin-left: -35px !important;\n}\n.-sf-ml--xl {\n margin-left: -40px !important;\n}\n.-sf-ml--2xl {\n margin-left: -45px !important;\n}\n.-sf-ml--3xl {\n margin-left: -50px !important;\n}\n.-sf-ml--4xl {\n margin-left: -55px !important;\n}\n.-sf-ml--5xl {\n margin-left: -60px !important;\n}\n.-sf-ml--6xl {\n margin-left: -80px !important;\n}\n.-sf-mr--4xs {\n margin-right: -5px !important;\n}\n.-sf-mr--3xs {\n margin-right: -10px !important;\n}\n.-sf-mr--2xs {\n margin-right: -15px !important;\n}\n.-sf-mr--xs {\n margin-right: -20px !important;\n}\n.-sf-mr--s {\n margin-right: -25px !important;\n}\n.-sf-mr--m {\n margin-right: -30px !important;\n}\n.-sf-mr--l {\n margin-right: -35px !important;\n}\n.-sf-mr--xl {\n margin-right: -40px !important;\n}\n.-sf-mr--2xl {\n margin-right: -45px !important;\n}\n.-sf-mr--3xl {\n margin-right: -50px !important;\n}\n.-sf-mr--4xl {\n margin-right: -55px !important;\n}\n.-sf-mr--5xl {\n margin-right: -60px !important;\n}\n.-sf-mr--6xl {\n margin-right: -80px !important;\n}\n.-sf-pt-zero {\n padding-top: 0 !important;\n}\n.-sf-pt-4xs {\n padding-top: 5px !important;\n}\n.-sf-pt-3xs {\n padding-top: 10px !important;\n}\n.-sf-pt-2xs {\n padding-top: 15px !important;\n}\n.-sf-pt-xs {\n padding-top: 20px !important;\n}\n.-sf-pt-s {\n padding-top: 25px !important;\n}\n.-sf-pt-m {\n padding-top: 30px !important;\n}\n.-sf-pt-l {\n padding-top: 35px !important;\n}\n.-sf-pt-xl {\n padding-top: 40px !important;\n}\n.-sf-pt-2xl {\n padding-top: 45px !important;\n}\n.-sf-pt-3xl {\n padding-top: 50px !important;\n}\n.-sf-pt-4xl {\n padding-top: 55px !important;\n}\n.-sf-pt-5xl {\n padding-top: 60px !important;\n}\n.-sf-pt-6xl {\n padding-top: 80px !important;\n}\n.-sf-pt-7xl {\n padding-top: 100px !important;\n}\n.-sf-pt-8xl {\n padding-top: 120px !important;\n}\n.-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n.-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n.-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n.-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n.-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n.-sf-pb-s {\n padding-bottom: 25px !important;\n}\n.-sf-pb-m {\n padding-bottom: 30px !important;\n}\n.-sf-pb-l {\n padding-bottom: 35px !important;\n}\n.-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n.-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n.-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n.-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n.-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n.-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n.-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n.-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n.-sf-pl-zero {\n padding-left: 0 !important;\n}\n.-sf-pl-4xs {\n padding-left: 5px !important;\n}\n.-sf-pl-3xs {\n padding-left: 10px !important;\n}\n.-sf-pl-2xs {\n padding-left: 15px !important;\n}\n.-sf-pl-xs {\n padding-left: 20px !important;\n}\n.-sf-pl-s {\n padding-left: 25px !important;\n}\n.-sf-pl-m {\n padding-left: 30px !important;\n}\n.-sf-pl-l {\n padding-left: 35px !important;\n}\n.-sf-pl-xl {\n padding-left: 40px !important;\n}\n.-sf-pl-2xl {\n padding-left: 45px !important;\n}\n.-sf-pl-3xl {\n padding-left: 50px !important;\n}\n.-sf-pl-4xl {\n padding-left: 55px !important;\n}\n.-sf-pl-5xl {\n padding-left: 60px !important;\n}\n.-sf-pl-6xl {\n padding-left: 80px !important;\n}\n.-sf-pl-7xl {\n padding-left: 100px !important;\n}\n.-sf-pl-8xl {\n padding-left: 120px !important;\n}\n.-sf-pr-zero {\n padding-right: 0 !important;\n}\n.-sf-pr-4xs {\n padding-right: 5px !important;\n}\n.-sf-pr-3xs {\n padding-right: 10px !important;\n}\n.-sf-pr-2xs {\n padding-right: 15px !important;\n}\n.-sf-pr-xs {\n padding-right: 20px !important;\n}\n.-sf-pr-s {\n padding-right: 25px !important;\n}\n.-sf-pr-m {\n padding-right: 30px !important;\n}\n.-sf-pr-l {\n padding-right: 35px !important;\n}\n.-sf-pr-xl {\n padding-right: 40px !important;\n}\n.-sf-pr-2xl {\n padding-right: 45px !important;\n}\n.-sf-pr-3xl {\n padding-right: 50px !important;\n}\n.-sf-pr-4xl {\n padding-right: 55px !important;\n}\n.-sf-pr-5xl {\n padding-right: 60px !important;\n}\n.-sf-pr-6xl {\n padding-right: 80px !important;\n}\n.-sf-pr-7xl {\n padding-right: 100px !important;\n}\n.-sf-pr-8xl {\n padding-right: 120px !important;\n}\n.-sf-p-zero {\n padding: 0 !important;\n}\n.-sf-p-4xs {\n padding: 5px !important;\n}\n.-sf-p-3xs {\n padding: 10px !important;\n}\n.-sf-p-2xs {\n padding: 15px !important;\n}\n.-sf-p-xs {\n padding: 20px !important;\n}\n.-sf-p-s {\n padding: 25px !important;\n}\n.-sf-p-m {\n padding: 30px !important;\n}\n.-sf-p-l {\n padding: 35px !important;\n}\n.-sf-p-xl {\n padding: 40px !important;\n}\n.-sf-p-2xl {\n padding: 45px !important;\n}\n.-sf-p-3xl {\n padding: 50px !important;\n}\n.-sf-p-4xl {\n padding: 55px !important;\n}\n.-sf-p-5xl {\n padding: 60px !important;\n}\n.-sf-p-6xl {\n padding: 80px !important;\n}\n.-sf-p-7xl {\n padding: 100px !important;\n}\n.-sf-p-8xl {\n padding: 120px !important;\n}\n.-sf-pt-8xs {\n padding-top: 1px !important;\n}\n.-sf-pt-7xs {\n padding-top: 2px !important;\n}\n.-sf-pt-6xs {\n padding-top: 3px !important;\n}\n.-sf-pt-5xs {\n padding-top: 4px !important;\n}\n.-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n.-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n.-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n.-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n.-sf-pl-8xs {\n padding-left: 1px !important;\n}\n.-sf-pl-7xs {\n padding-left: 2px !important;\n}\n.-sf-pl-6xs {\n padding-left: 3px !important;\n}\n.-sf-pl-5xs {\n padding-left: 4px !important;\n}\n.-sf-pr-8xs {\n padding-right: 1px !important;\n}\n.-sf-pr-7xs {\n padding-right: 2px !important;\n}\n.-sf-pr-6xs {\n padding-right: 3px !important;\n}\n.-sf-pr-5xs {\n padding-right: 4px !important;\n}\n.-sf-ml-auto {\n margin-left: auto !important;\n}\n.-sf-mr-auto {\n margin-right: auto !important;\n}\n.-sf-ml-50 {\n margin-left: 50% !important;\n}\n.-sf-mr-50 {\n margin-right: 50% !important;\n}\n/*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n/*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n/*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n/*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n/*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n/*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n/*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n/*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n/*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n/*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\nStyleguide: Spacing.margin-classes\n*/\n/*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n/*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n/*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n/*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n/* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n*/\n/* hides input type="number" spinbox */\ninput[type=number] {\n -moz-appearance: textfield;\n}\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.sf-zone-toolset {\n display: inline-block;\n padding: 20px;\n border-radius: 3px;\n background-color: #333;\n min-width: 280px;\n font-size: var(--font-size-base);\n}\n.sf-zone-toolset__label {\n display: block;\n margin-bottom: 5px;\n text-transform: uppercase;\n color: #fff;\n font-size: 10px;\n}\n.sf-zone-toolset input[type=number] {\n -moz-appearance: textfield;\n}\n:host {\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.sf-splitter {\n background: #333;\n margin-bottom: 20px;\n min-width: 240px;\n font-weight: 700;\n}\n.sf-splitter__pane {\n padding-top: 30px;\n text-align: center;\n color: #fff;\n}\n.k-widget.k-splitter {\n background-color: #fff;\n height: 30px;\n border: 0;\n}\n.k-widget .k-splitbar {\n position: relative;\n background-color: #333;\n color: #333;\n width: 0;\n}\n.k-widget .k-splitbar:after {\n position: absolute;\n font: normal normal normal 14px/1 FontAwesome;\n content: "\\f07e";\n font-size: 19px;\n}\n.k-widget .k-splitbar .k-resize-handle {\n width: 4px;\n height: 100%;\n}\n.k-widget .k-splitbar .k-hidden {\n display: none;\n}\n.sf-fa-chevron-right,\n.sf-fa-chevron-left {\n font: normal normal normal 14px/1 FontAwesome;\n}\n.sf-fa-chevron-left:before {\n content: "\\f053";\n}\n.sf-fa-chevron-right:before {\n content: "\\f054";\n}'},,,function(e){e.exports='\n\n'},function(e){e.exports='\n \n\n'},function(e){e.exports='
    \n \n
    \n {{data.Name}}\n
    \n \n \n
    \n \n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n \n
    {{data.Name}}
    \n
    \n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n {{settings.title}}\n
    \n'},function(e){e.exports='\n'},function(e){e.exports='
    \n \n\n
    \n \n\n \n \n\n
    \n \n
    \n
    \n
    \n'},function(e){e.exports='\n \n {{settings.choiceSideLabel}}\n\n\n'},function(e){e.exports='
    \n \n \n \n \n \n {{suffix}}\n
    \n'},function(e){e.exports='\n\n\n\n \n \n\n\n \n\n'},,,,,,,,function(e){e.exports='\n \n \n \n \n\n\n\x3c!-- Templates --\x3e\n\x3c!-- Grouped buttons --\x3e\n\n \n \n \n \n \n\n\n\x3c!-- Single button --\x3e\n\n {{button.text}}\n \n \n \n\n'},function(e){e.exports='\x3c!-- Important --\x3e\n\x3c!-- Hidden property for the iframe element was removed, because it forces images to be cancelled and then reloaded inside the iframe --\x3e\n\x3c!-- Important --\x3e\n\n\n\n'},function(e){e.exports='
    \n \n \n \n \n {{addWidgetLabel}}\n \n \n \n {{addWidgetDraggedOverLabel | async}}\n \n
    \n'},function(e){e.exports='@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host article, :host aside, :host details, :host figcaption, :host figure, :host footer, :host header, :host hgroup, :host main, :host nav, :host section, :host summary,\n:host button, :host input, :host optgroup, :host select, :host textarea,\n:host h1, :host h2, :host h3, :host h4, :host h5, :host h6,\n:host p, :host blockquote, :host pre,\n:host dl, :host dd, :host ol, :host ul, :host li,\n:host form, :host fieldset, :host legend, :host label,\n:host table, :host th, :host td, :host caption,\n:host hr {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal, auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert medium none invert;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: “ ” ‘ ’;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n}\n:host {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:host {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:host {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:host {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:host {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:host {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:host {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:host {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:host {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.8rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:host {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:host {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:host {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:host {\n --select-arrow-color: #777;\n}\n:host {\n --input-box-shadow-hover: #e4e4e4;\n}\n:host {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:host {\n --secondary-text-color: #999;\n}\n:host {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:host {\n --tree-list-expander-color: #777;\n}\n:host {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 48px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: "FontAwesome";\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0");\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("/assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("/assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");\n font-weight: normal;\n font-style: normal;\n}\n.sf-fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.sf-fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.sf-fa-2x {\n font-size: 2em;\n}\n.sf-fa-3x {\n font-size: 3em;\n}\n.sf-fa-4x {\n font-size: 4em;\n}\n.sf-fa-5x {\n font-size: 5em;\n}\n.sf-fa-fw {\n width: 1.2857142857em;\n text-align: center;\n}\n.sf-fa-ul {\n padding-left: 0;\n margin-left: 2.1428571429em;\n list-style-type: none;\n}\n.sf-fa-ul > li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "\\f000";\n}\n.sf-fa-music:before {\n content: "\\f001";\n}\n.sf-fa-search:before {\n content: "\\f002";\n}\n.sf-fa-envelope-o:before {\n content: "\\f003";\n}\n.sf-fa-heart:before {\n content: "\\f004";\n}\n.sf-fa-star:before {\n content: "\\f005";\n}\n.sf-fa-star-o:before {\n content: "\\f006";\n}\n.sf-fa-user:before {\n content: "\\f007";\n}\n.sf-fa-film:before {\n content: "\\f008";\n}\n.sf-fa-th-large:before {\n content: "\\f009";\n}\n.sf-fa-th:before {\n content: "\\f00a";\n}\n.sf-fa-th-list:before {\n content: "\\f00b";\n}\n.sf-fa-check:before {\n content: "\\f00c";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "\\f00d";\n}\n.sf-fa-search-plus:before {\n content: "\\f00e";\n}\n.sf-fa-search-minus:before {\n content: "\\f010";\n}\n.sf-fa-power-off:before {\n content: "\\f011";\n}\n.sf-fa-signal:before {\n content: "\\f012";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "\\f013";\n}\n.sf-fa-trash-o:before {\n content: "\\f014";\n}\n.sf-fa-home:before {\n content: "\\f015";\n}\n.sf-fa-file-o:before {\n content: "\\f016";\n}\n.sf-fa-clock-o:before {\n content: "\\f017";\n}\n.sf-fa-road:before {\n content: "\\f018";\n}\n.sf-fa-download:before {\n content: "\\f019";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "\\f01a";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "\\f01b";\n}\n.sf-fa-inbox:before {\n content: "\\f01c";\n}\n.sf-fa-play-circle-o:before {\n content: "\\f01d";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "\\f01e";\n}\n.sf-fa-refresh:before {\n content: "\\f021";\n}\n.sf-fa-list-alt:before {\n content: "\\f022";\n}\n.sf-fa-lock:before {\n content: "\\f023";\n}\n.sf-fa-flag:before {\n content: "\\f024";\n}\n.sf-fa-headphones:before {\n content: "\\f025";\n}\n.sf-fa-volume-off:before {\n content: "\\f026";\n}\n.sf-fa-volume-down:before {\n content: "\\f027";\n}\n.sf-fa-volume-up:before {\n content: "\\f028";\n}\n.sf-fa-qrcode:before {\n content: "\\f029";\n}\n.sf-fa-barcode:before {\n content: "\\f02a";\n}\n.sf-fa-tag:before {\n content: "\\f02b";\n}\n.sf-fa-tags:before {\n content: "\\f02c";\n}\n.sf-fa-book:before {\n content: "\\f02d";\n}\n.sf-fa-bookmark:before {\n content: "\\f02e";\n}\n.sf-fa-print:before {\n content: "\\f02f";\n}\n.sf-fa-camera:before {\n content: "\\f030";\n}\n.sf-fa-font:before {\n content: "\\f031";\n}\n.sf-fa-bold:before {\n content: "\\f032";\n}\n.sf-fa-italic:before {\n content: "\\f033";\n}\n.sf-fa-text-height:before {\n content: "\\f034";\n}\n.sf-fa-text-width:before {\n content: "\\f035";\n}\n.sf-fa-align-left:before {\n content: "\\f036";\n}\n.sf-fa-align-center:before {\n content: "\\f037";\n}\n.sf-fa-align-right:before {\n content: "\\f038";\n}\n.sf-fa-align-justify:before {\n content: "\\f039";\n}\n.sf-fa-list:before {\n content: "\\f03a";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "\\f03b";\n}\n.sf-fa-indent:before {\n content: "\\f03c";\n}\n.sf-fa-video-camera:before {\n content: "\\f03d";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "\\f03e";\n}\n.sf-fa-pencil:before {\n content: "\\f040";\n}\n.sf-fa-map-marker:before {\n content: "\\f041";\n}\n.sf-fa-adjust:before {\n content: "\\f042";\n}\n.sf-fa-tint:before {\n content: "\\f043";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "\\f044";\n}\n.sf-fa-share-square-o:before {\n content: "\\f045";\n}\n.sf-fa-check-square-o:before {\n content: "\\f046";\n}\n.sf-fa-arrows:before {\n content: "\\f047";\n}\n.sf-fa-step-backward:before {\n content: "\\f048";\n}\n.sf-fa-fast-backward:before {\n content: "\\f049";\n}\n.sf-fa-backward:before {\n content: "\\f04a";\n}\n.sf-fa-play:before {\n content: "\\f04b";\n}\n.sf-fa-pause:before {\n content: "\\f04c";\n}\n.sf-fa-stop:before {\n content: "\\f04d";\n}\n.sf-fa-forward:before {\n content: "\\f04e";\n}\n.sf-fa-fast-forward:before {\n content: "\\f050";\n}\n.sf-fa-step-forward:before {\n content: "\\f051";\n}\n.sf-fa-eject:before {\n content: "\\f052";\n}\n.sf-fa-chevron-left:before {\n content: "\\f053";\n}\n.sf-fa-chevron-right:before {\n content: "\\f054";\n}\n.sf-fa-plus-circle:before {\n content: "\\f055";\n}\n.sf-fa-minus-circle:before {\n content: "\\f056";\n}\n.sf-fa-times-circle:before {\n content: "\\f057";\n}\n.sf-fa-check-circle:before {\n content: "\\f058";\n}\n.sf-fa-question-circle:before {\n content: "\\f059";\n}\n.sf-fa-info-circle:before {\n content: "\\f05a";\n}\n.sf-fa-crosshairs:before {\n content: "\\f05b";\n}\n.sf-fa-times-circle-o:before {\n content: "\\f05c";\n}\n.sf-fa-check-circle-o:before {\n content: "\\f05d";\n}\n.sf-fa-ban:before {\n content: "\\f05e";\n}\n.sf-fa-arrow-left:before {\n content: "\\f060";\n}\n.sf-fa-arrow-right:before {\n content: "\\f061";\n}\n.sf-fa-arrow-up:before {\n content: "\\f062";\n}\n.sf-fa-arrow-down:before {\n content: "\\f063";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "\\f064";\n}\n.sf-fa-expand:before {\n content: "\\f065";\n}\n.sf-fa-compress:before {\n content: "\\f066";\n}\n.sf-fa-plus:before {\n content: "\\f067";\n}\n.sf-fa-minus:before {\n content: "\\f068";\n}\n.sf-fa-asterisk:before {\n content: "\\f069";\n}\n.sf-fa-exclamation-circle:before {\n content: "\\f06a";\n}\n.sf-fa-gift:before {\n content: "\\f06b";\n}\n.sf-fa-leaf:before {\n content: "\\f06c";\n}\n.sf-fa-fire:before {\n content: "\\f06d";\n}\n.sf-fa-eye:before {\n content: "\\f06e";\n}\n.sf-fa-eye-slash:before {\n content: "\\f070";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "\\f071";\n}\n.sf-fa-plane:before {\n content: "\\f072";\n}\n.sf-fa-calendar:before {\n content: "\\f073";\n}\n.sf-fa-random:before {\n content: "\\f074";\n}\n.sf-fa-comment:before {\n content: "\\f075";\n}\n.sf-fa-magnet:before {\n content: "\\f076";\n}\n.sf-fa-chevron-up:before {\n content: "\\f077";\n}\n.sf-fa-chevron-down:before {\n content: "\\f078";\n}\n.sf-fa-retweet:before {\n content: "\\f079";\n}\n.sf-fa-shopping-cart:before {\n content: "\\f07a";\n}\n.sf-fa-folder:before {\n content: "\\f07b";\n}\n.sf-fa-folder-open:before {\n content: "\\f07c";\n}\n.sf-fa-arrows-v:before {\n content: "\\f07d";\n}\n.sf-fa-arrows-h:before {\n content: "\\f07e";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "\\f080";\n}\n.sf-fa-twitter-square:before {\n content: "\\f081";\n}\n.sf-fa-facebook-square:before {\n content: "\\f082";\n}\n.sf-fa-camera-retro:before {\n content: "\\f083";\n}\n.sf-fa-key:before {\n content: "\\f084";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "\\f085";\n}\n.sf-fa-comments:before {\n content: "\\f086";\n}\n.sf-fa-thumbs-o-up:before {\n content: "\\f087";\n}\n.sf-fa-thumbs-o-down:before {\n content: "\\f088";\n}\n.sf-fa-star-half:before {\n content: "\\f089";\n}\n.sf-fa-heart-o:before {\n content: "\\f08a";\n}\n.sf-fa-sign-out:before {\n content: "\\f08b";\n}\n.sf-fa-linkedin-square:before {\n content: "\\f08c";\n}\n.sf-fa-thumb-tack:before {\n content: "\\f08d";\n}\n.sf-fa-external-link:before {\n content: "\\f08e";\n}\n.sf-fa-sign-in:before {\n content: "\\f090";\n}\n.sf-fa-trophy:before {\n content: "\\f091";\n}\n.sf-fa-github-square:before {\n content: "\\f092";\n}\n.sf-fa-upload:before {\n content: "\\f093";\n}\n.sf-fa-lemon-o:before {\n content: "\\f094";\n}\n.sf-fa-phone:before {\n content: "\\f095";\n}\n.sf-fa-square-o:before {\n content: "\\f096";\n}\n.sf-fa-bookmark-o:before {\n content: "\\f097";\n}\n.sf-fa-phone-square:before {\n content: "\\f098";\n}\n.sf-fa-twitter:before {\n content: "\\f099";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "\\f09a";\n}\n.sf-fa-github:before {\n content: "\\f09b";\n}\n.sf-fa-unlock:before {\n content: "\\f09c";\n}\n.sf-fa-credit-card:before {\n content: "\\f09d";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "\\f09e";\n}\n.sf-fa-hdd-o:before {\n content: "\\f0a0";\n}\n.sf-fa-bullhorn:before {\n content: "\\f0a1";\n}\n.sf-fa-bell:before {\n content: "\\f0f3";\n}\n.sf-fa-certificate:before {\n content: "\\f0a3";\n}\n.sf-fa-hand-o-right:before {\n content: "\\f0a4";\n}\n.sf-fa-hand-o-left:before {\n content: "\\f0a5";\n}\n.sf-fa-hand-o-up:before {\n content: "\\f0a6";\n}\n.sf-fa-hand-o-down:before {\n content: "\\f0a7";\n}\n.sf-fa-arrow-circle-left:before {\n content: "\\f0a8";\n}\n.sf-fa-arrow-circle-right:before {\n content: "\\f0a9";\n}\n.sf-fa-arrow-circle-up:before {\n content: "\\f0aa";\n}\n.sf-fa-arrow-circle-down:before {\n content: "\\f0ab";\n}\n.sf-fa-globe:before {\n content: "\\f0ac";\n}\n.sf-fa-wrench:before {\n content: "\\f0ad";\n}\n.sf-fa-tasks:before {\n content: "\\f0ae";\n}\n.sf-fa-filter:before {\n content: "\\f0b0";\n}\n.sf-fa-briefcase:before {\n content: "\\f0b1";\n}\n.sf-fa-arrows-alt:before {\n content: "\\f0b2";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "\\f0c0";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "\\f0c1";\n}\n.sf-fa-cloud:before {\n content: "\\f0c2";\n}\n.sf-fa-flask:before {\n content: "\\f0c3";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "\\f0c4";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "\\f0c5";\n}\n.sf-fa-paperclip:before {\n content: "\\f0c6";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "\\f0c7";\n}\n.sf-fa-square:before {\n content: "\\f0c8";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "\\f0c9";\n}\n.sf-fa-list-ul:before {\n content: "\\f0ca";\n}\n.sf-fa-list-ol:before {\n content: "\\f0cb";\n}\n.sf-fa-strikethrough:before {\n content: "\\f0cc";\n}\n.sf-fa-underline:before {\n content: "\\f0cd";\n}\n.sf-fa-table:before {\n content: "\\f0ce";\n}\n.sf-fa-magic:before {\n content: "\\f0d0";\n}\n.sf-fa-truck:before {\n content: "\\f0d1";\n}\n.sf-fa-pinterest:before {\n content: "\\f0d2";\n}\n.sf-fa-pinterest-square:before {\n content: "\\f0d3";\n}\n.sf-fa-google-plus-square:before {\n content: "\\f0d4";\n}\n.sf-fa-google-plus:before {\n content: "\\f0d5";\n}\n.sf-fa-money:before {\n content: "\\f0d6";\n}\n.sf-fa-caret-down:before {\n content: "\\f0d7";\n}\n.sf-fa-caret-up:before {\n content: "\\f0d8";\n}\n.sf-fa-caret-left:before {\n content: "\\f0d9";\n}\n.sf-fa-caret-right:before {\n content: "\\f0da";\n}\n.sf-fa-columns:before {\n content: "\\f0db";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "\\f0dc";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "\\f0dd";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "\\f0de";\n}\n.sf-fa-envelope:before {\n content: "\\f0e0";\n}\n.sf-fa-linkedin:before {\n content: "\\f0e1";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "\\f0e2";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "\\f0e3";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "\\f0e4";\n}\n.sf-fa-comment-o:before {\n content: "\\f0e5";\n}\n.sf-fa-comments-o:before {\n content: "\\f0e6";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "\\f0e7";\n}\n.sf-fa-sitemap:before {\n content: "\\f0e8";\n}\n.sf-fa-umbrella:before {\n content: "\\f0e9";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "\\f0ea";\n}\n.sf-fa-lightbulb-o:before {\n content: "\\f0eb";\n}\n.sf-fa-exchange:before {\n content: "\\f0ec";\n}\n.sf-fa-cloud-download:before {\n content: "\\f0ed";\n}\n.sf-fa-cloud-upload:before {\n content: "\\f0ee";\n}\n.sf-fa-user-md:before {\n content: "\\f0f0";\n}\n.sf-fa-stethoscope:before {\n content: "\\f0f1";\n}\n.sf-fa-suitcase:before {\n content: "\\f0f2";\n}\n.sf-fa-bell-o:before {\n content: "\\f0a2";\n}\n.sf-fa-coffee:before {\n content: "\\f0f4";\n}\n.sf-fa-cutlery:before {\n content: "\\f0f5";\n}\n.sf-fa-file-text-o:before {\n content: "\\f0f6";\n}\n.sf-fa-building-o:before {\n content: "\\f0f7";\n}\n.sf-fa-hospital-o:before {\n content: "\\f0f8";\n}\n.sf-fa-ambulance:before {\n content: "\\f0f9";\n}\n.sf-fa-medkit:before {\n content: "\\f0fa";\n}\n.sf-fa-fighter-jet:before {\n content: "\\f0fb";\n}\n.sf-fa-beer:before {\n content: "\\f0fc";\n}\n.sf-fa-h-square:before {\n content: "\\f0fd";\n}\n.sf-fa-plus-square:before {\n content: "\\f0fe";\n}\n.sf-fa-angle-double-left:before {\n content: "\\f100";\n}\n.sf-fa-angle-double-right:before {\n content: "\\f101";\n}\n.sf-fa-angle-double-up:before {\n content: "\\f102";\n}\n.sf-fa-angle-double-down:before {\n content: "\\f103";\n}\n.sf-fa-angle-left:before {\n content: "\\f104";\n}\n.sf-fa-angle-right:before {\n content: "\\f105";\n}\n.sf-fa-angle-up:before {\n content: "\\f106";\n}\n.sf-fa-angle-down:before {\n content: "\\f107";\n}\n.sf-fa-desktop:before {\n content: "\\f108";\n}\n.sf-fa-laptop:before {\n content: "\\f109";\n}\n.sf-fa-tablet:before {\n content: "\\f10a";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "\\f10b";\n}\n.sf-fa-circle-o:before {\n content: "\\f10c";\n}\n.sf-fa-quote-left:before {\n content: "\\f10d";\n}\n.sf-fa-quote-right:before {\n content: "\\f10e";\n}\n.sf-fa-spinner:before {\n content: "\\f110";\n}\n.sf-fa-circle:before {\n content: "\\f111";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "\\f112";\n}\n.sf-fa-github-alt:before {\n content: "\\f113";\n}\n.sf-fa-folder-o:before {\n content: "\\f114";\n}\n.sf-fa-folder-open-o:before {\n content: "\\f115";\n}\n.sf-fa-smile-o:before {\n content: "\\f118";\n}\n.sf-fa-frown-o:before {\n content: "\\f119";\n}\n.sf-fa-meh-o:before {\n content: "\\f11a";\n}\n.sf-fa-gamepad:before {\n content: "\\f11b";\n}\n.sf-fa-keyboard-o:before {\n content: "\\f11c";\n}\n.sf-fa-flag-o:before {\n content: "\\f11d";\n}\n.sf-fa-flag-checkered:before {\n content: "\\f11e";\n}\n.sf-fa-terminal:before {\n content: "\\f120";\n}\n.sf-fa-code:before {\n content: "\\f121";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "\\f122";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "\\f123";\n}\n.sf-fa-location-arrow:before {\n content: "\\f124";\n}\n.sf-fa-crop:before {\n content: "\\f125";\n}\n.sf-fa-code-fork:before {\n content: "\\f126";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "\\f127";\n}\n.sf-fa-question:before {\n content: "\\f128";\n}\n.sf-fa-info:before {\n content: "\\f129";\n}\n.sf-fa-exclamation:before {\n content: "\\f12a";\n}\n.sf-fa-superscript:before {\n content: "\\f12b";\n}\n.sf-fa-subscript:before {\n content: "\\f12c";\n}\n.sf-fa-eraser:before {\n content: "\\f12d";\n}\n.sf-fa-puzzle-piece:before {\n content: "\\f12e";\n}\n.sf-fa-microphone:before {\n content: "\\f130";\n}\n.sf-fa-microphone-slash:before {\n content: "\\f131";\n}\n.sf-fa-shield:before {\n content: "\\f132";\n}\n.sf-fa-calendar-o:before {\n content: "\\f133";\n}\n.sf-fa-fire-extinguisher:before {\n content: "\\f134";\n}\n.sf-fa-rocket:before {\n content: "\\f135";\n}\n.sf-fa-maxcdn:before {\n content: "\\f136";\n}\n.sf-fa-chevron-circle-left:before {\n content: "\\f137";\n}\n.sf-fa-chevron-circle-right:before {\n content: "\\f138";\n}\n.sf-fa-chevron-circle-up:before {\n content: "\\f139";\n}\n.sf-fa-chevron-circle-down:before {\n content: "\\f13a";\n}\n.sf-fa-html5:before {\n content: "\\f13b";\n}\n.sf-fa-css3:before {\n content: "\\f13c";\n}\n.sf-fa-anchor:before {\n content: "\\f13d";\n}\n.sf-fa-unlock-alt:before {\n content: "\\f13e";\n}\n.sf-fa-bullseye:before {\n content: "\\f140";\n}\n.sf-fa-ellipsis-h:before {\n content: "\\f141";\n}\n.sf-fa-ellipsis-v:before {\n content: "\\f142";\n}\n.sf-fa-rss-square:before {\n content: "\\f143";\n}\n.sf-fa-play-circle:before {\n content: "\\f144";\n}\n.sf-fa-ticket:before {\n content: "\\f145";\n}\n.sf-fa-minus-square:before {\n content: "\\f146";\n}\n.sf-fa-minus-square-o:before {\n content: "\\f147";\n}\n.sf-fa-level-up:before {\n content: "\\f148";\n}\n.sf-fa-level-down:before {\n content: "\\f149";\n}\n.sf-fa-check-square:before {\n content: "\\f14a";\n}\n.sf-fa-pencil-square:before {\n content: "\\f14b";\n}\n.sf-fa-external-link-square:before {\n content: "\\f14c";\n}\n.sf-fa-share-square:before {\n content: "\\f14d";\n}\n.sf-fa-compass:before {\n content: "\\f14e";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "\\f150";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "\\f151";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "\\f152";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "\\f153";\n}\n.sf-fa-gbp:before {\n content: "\\f154";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "\\f155";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "\\f156";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "\\f157";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "\\f158";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "\\f159";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "\\f15a";\n}\n.sf-fa-file:before {\n content: "\\f15b";\n}\n.sf-fa-file-text:before {\n content: "\\f15c";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "\\f15d";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "\\f15e";\n}\n.sf-fa-sort-amount-asc:before {\n content: "\\f160";\n}\n.sf-fa-sort-amount-desc:before {\n content: "\\f161";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "\\f162";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "\\f163";\n}\n.sf-fa-thumbs-up:before {\n content: "\\f164";\n}\n.sf-fa-thumbs-down:before {\n content: "\\f165";\n}\n.sf-fa-youtube-square:before {\n content: "\\f166";\n}\n.sf-fa-youtube:before {\n content: "\\f167";\n}\n.sf-fa-xing:before {\n content: "\\f168";\n}\n.sf-fa-xing-square:before {\n content: "\\f169";\n}\n.sf-fa-youtube-play:before {\n content: "\\f16a";\n}\n.sf-fa-dropbox:before {\n content: "\\f16b";\n}\n.sf-fa-stack-overflow:before {\n content: "\\f16c";\n}\n.sf-fa-instagram:before {\n content: "\\f16d";\n}\n.sf-fa-flickr:before {\n content: "\\f16e";\n}\n.sf-fa-adn:before {\n content: "\\f170";\n}\n.sf-fa-bitbucket:before {\n content: "\\f171";\n}\n.sf-fa-bitbucket-square:before {\n content: "\\f172";\n}\n.sf-fa-tumblr:before {\n content: "\\f173";\n}\n.sf-fa-tumblr-square:before {\n content: "\\f174";\n}\n.sf-fa-long-arrow-down:before {\n content: "\\f175";\n}\n.sf-fa-long-arrow-up:before {\n content: "\\f176";\n}\n.sf-fa-long-arrow-left:before {\n content: "\\f177";\n}\n.sf-fa-long-arrow-right:before {\n content: "\\f178";\n}\n.sf-fa-apple:before {\n content: "\\f179";\n}\n.sf-fa-windows:before {\n content: "\\f17a";\n}\n.sf-fa-android:before {\n content: "\\f17b";\n}\n.sf-fa-linux:before {\n content: "\\f17c";\n}\n.sf-fa-dribbble:before {\n content: "\\f17d";\n}\n.sf-fa-skype:before {\n content: "\\f17e";\n}\n.sf-fa-foursquare:before {\n content: "\\f180";\n}\n.sf-fa-trello:before {\n content: "\\f181";\n}\n.sf-fa-female:before {\n content: "\\f182";\n}\n.sf-fa-male:before {\n content: "\\f183";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "\\f184";\n}\n.sf-fa-sun-o:before {\n content: "\\f185";\n}\n.sf-fa-moon-o:before {\n content: "\\f186";\n}\n.sf-fa-archive:before {\n content: "\\f187";\n}\n.sf-fa-bug:before {\n content: "\\f188";\n}\n.sf-fa-vk:before {\n content: "\\f189";\n}\n.sf-fa-weibo:before {\n content: "\\f18a";\n}\n.sf-fa-renren:before {\n content: "\\f18b";\n}\n.sf-fa-pagelines:before {\n content: "\\f18c";\n}\n.sf-fa-stack-exchange:before {\n content: "\\f18d";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "\\f18e";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "\\f190";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "\\f191";\n}\n.sf-fa-dot-circle-o:before {\n content: "\\f192";\n}\n.sf-fa-wheelchair:before {\n content: "\\f193";\n}\n.sf-fa-vimeo-square:before {\n content: "\\f194";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "\\f195";\n}\n.sf-fa-plus-square-o:before {\n content: "\\f196";\n}\n.sf-fa-space-shuttle:before {\n content: "\\f197";\n}\n.sf-fa-slack:before {\n content: "\\f198";\n}\n.sf-fa-envelope-square:before {\n content: "\\f199";\n}\n.sf-fa-wordpress:before {\n content: "\\f19a";\n}\n.sf-fa-openid:before {\n content: "\\f19b";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "\\f19c";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "\\f19d";\n}\n.sf-fa-yahoo:before {\n content: "\\f19e";\n}\n.sf-fa-google:before {\n content: "\\f1a0";\n}\n.sf-fa-reddit:before {\n content: "\\f1a1";\n}\n.sf-fa-reddit-square:before {\n content: "\\f1a2";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "\\f1a3";\n}\n.sf-fa-stumbleupon:before {\n content: "\\f1a4";\n}\n.sf-fa-delicious:before {\n content: "\\f1a5";\n}\n.sf-fa-digg:before {\n content: "\\f1a6";\n}\n.sf-fa-pied-piper-pp:before {\n content: "\\f1a7";\n}\n.sf-fa-pied-piper-alt:before {\n content: "\\f1a8";\n}\n.sf-fa-drupal:before {\n content: "\\f1a9";\n}\n.sf-fa-joomla:before {\n content: "\\f1aa";\n}\n.sf-fa-language:before {\n content: "\\f1ab";\n}\n.sf-fa-fax:before {\n content: "\\f1ac";\n}\n.sf-fa-building:before {\n content: "\\f1ad";\n}\n.sf-fa-child:before {\n content: "\\f1ae";\n}\n.sf-fa-paw:before {\n content: "\\f1b0";\n}\n.sf-fa-spoon:before {\n content: "\\f1b1";\n}\n.sf-fa-cube:before {\n content: "\\f1b2";\n}\n.sf-fa-cubes:before {\n content: "\\f1b3";\n}\n.sf-fa-behance:before {\n content: "\\f1b4";\n}\n.sf-fa-behance-square:before {\n content: "\\f1b5";\n}\n.sf-fa-steam:before {\n content: "\\f1b6";\n}\n.sf-fa-steam-square:before {\n content: "\\f1b7";\n}\n.sf-fa-recycle:before {\n content: "\\f1b8";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "\\f1b9";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "\\f1ba";\n}\n.sf-fa-tree:before {\n content: "\\f1bb";\n}\n.sf-fa-spotify:before {\n content: "\\f1bc";\n}\n.sf-fa-deviantart:before {\n content: "\\f1bd";\n}\n.sf-fa-soundcloud:before {\n content: "\\f1be";\n}\n.sf-fa-database:before {\n content: "\\f1c0";\n}\n.sf-fa-file-pdf-o:before {\n content: "\\f1c1";\n}\n.sf-fa-file-word-o:before {\n content: "\\f1c2";\n}\n.sf-fa-file-excel-o:before {\n content: "\\f1c3";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "\\f1c4";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "\\f1c5";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "\\f1c6";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "\\f1c7";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "\\f1c8";\n}\n.sf-fa-file-code-o:before {\n content: "\\f1c9";\n}\n.sf-fa-vine:before {\n content: "\\f1ca";\n}\n.sf-fa-codepen:before {\n content: "\\f1cb";\n}\n.sf-fa-jsfiddle:before {\n content: "\\f1cc";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "\\f1cd";\n}\n.sf-fa-circle-o-notch:before {\n content: "\\f1ce";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "\\f1d0";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "\\f1d1";\n}\n.sf-fa-git-square:before {\n content: "\\f1d2";\n}\n.sf-fa-git:before {\n content: "\\f1d3";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "\\f1d4";\n}\n.sf-fa-tencent-weibo:before {\n content: "\\f1d5";\n}\n.sf-fa-qq:before {\n content: "\\f1d6";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "\\f1d7";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "\\f1d8";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "\\f1d9";\n}\n.sf-fa-history:before {\n content: "\\f1da";\n}\n.sf-fa-circle-thin:before {\n content: "\\f1db";\n}\n.sf-fa-header:before {\n content: "\\f1dc";\n}\n.sf-fa-paragraph:before {\n content: "\\f1dd";\n}\n.sf-fa-sliders:before {\n content: "\\f1de";\n}\n.sf-fa-share-alt:before {\n content: "\\f1e0";\n}\n.sf-fa-share-alt-square:before {\n content: "\\f1e1";\n}\n.sf-fa-bomb:before {\n content: "\\f1e2";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "\\f1e3";\n}\n.sf-fa-tty:before {\n content: "\\f1e4";\n}\n.sf-fa-binoculars:before {\n content: "\\f1e5";\n}\n.sf-fa-plug:before {\n content: "\\f1e6";\n}\n.sf-fa-slideshare:before {\n content: "\\f1e7";\n}\n.sf-fa-twitch:before {\n content: "\\f1e8";\n}\n.sf-fa-yelp:before {\n content: "\\f1e9";\n}\n.sf-fa-newspaper-o:before {\n content: "\\f1ea";\n}\n.sf-fa-wifi:before {\n content: "\\f1eb";\n}\n.sf-fa-calculator:before {\n content: "\\f1ec";\n}\n.sf-fa-paypal:before {\n content: "\\f1ed";\n}\n.sf-fa-google-wallet:before {\n content: "\\f1ee";\n}\n.sf-fa-cc-visa:before {\n content: "\\f1f0";\n}\n.sf-fa-cc-mastercard:before {\n content: "\\f1f1";\n}\n.sf-fa-cc-discover:before {\n content: "\\f1f2";\n}\n.sf-fa-cc-amex:before {\n content: "\\f1f3";\n}\n.sf-fa-cc-paypal:before {\n content: "\\f1f4";\n}\n.sf-fa-cc-stripe:before {\n content: "\\f1f5";\n}\n.sf-fa-bell-slash:before {\n content: "\\f1f6";\n}\n.sf-fa-bell-slash-o:before {\n content: "\\f1f7";\n}\n.sf-fa-trash:before {\n content: "\\f1f8";\n}\n.sf-fa-copyright:before {\n content: "\\f1f9";\n}\n.sf-fa-at:before {\n content: "\\f1fa";\n}\n.sf-fa-eyedropper:before {\n content: "\\f1fb";\n}\n.sf-fa-paint-brush:before {\n content: "\\f1fc";\n}\n.sf-fa-birthday-cake:before {\n content: "\\f1fd";\n}\n.sf-fa-area-chart:before {\n content: "\\f1fe";\n}\n.sf-fa-pie-chart:before {\n content: "\\f200";\n}\n.sf-fa-line-chart:before {\n content: "\\f201";\n}\n.sf-fa-lastfm:before {\n content: "\\f202";\n}\n.sf-fa-lastfm-square:before {\n content: "\\f203";\n}\n.sf-fa-toggle-off:before {\n content: "\\f204";\n}\n.sf-fa-toggle-on:before {\n content: "\\f205";\n}\n.sf-fa-bicycle:before {\n content: "\\f206";\n}\n.sf-fa-bus:before {\n content: "\\f207";\n}\n.sf-fa-ioxhost:before {\n content: "\\f208";\n}\n.sf-fa-angellist:before {\n content: "\\f209";\n}\n.sf-fa-cc:before {\n content: "\\f20a";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "\\f20b";\n}\n.sf-fa-meanpath:before {\n content: "\\f20c";\n}\n.sf-fa-buysellads:before {\n content: "\\f20d";\n}\n.sf-fa-connectdevelop:before {\n content: "\\f20e";\n}\n.sf-fa-dashcube:before {\n content: "\\f210";\n}\n.sf-fa-forumbee:before {\n content: "\\f211";\n}\n.sf-fa-leanpub:before {\n content: "\\f212";\n}\n.sf-fa-sellsy:before {\n content: "\\f213";\n}\n.sf-fa-shirtsinbulk:before {\n content: "\\f214";\n}\n.sf-fa-simplybuilt:before {\n content: "\\f215";\n}\n.sf-fa-skyatlas:before {\n content: "\\f216";\n}\n.sf-fa-cart-plus:before {\n content: "\\f217";\n}\n.sf-fa-cart-arrow-down:before {\n content: "\\f218";\n}\n.sf-fa-diamond:before {\n content: "\\f219";\n}\n.sf-fa-ship:before {\n content: "\\f21a";\n}\n.sf-fa-user-secret:before {\n content: "\\f21b";\n}\n.sf-fa-motorcycle:before {\n content: "\\f21c";\n}\n.sf-fa-street-view:before {\n content: "\\f21d";\n}\n.sf-fa-heartbeat:before {\n content: "\\f21e";\n}\n.sf-fa-venus:before {\n content: "\\f221";\n}\n.sf-fa-mars:before {\n content: "\\f222";\n}\n.sf-fa-mercury:before {\n content: "\\f223";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "\\f224";\n}\n.sf-fa-transgender-alt:before {\n content: "\\f225";\n}\n.sf-fa-venus-double:before {\n content: "\\f226";\n}\n.sf-fa-mars-double:before {\n content: "\\f227";\n}\n.sf-fa-venus-mars:before {\n content: "\\f228";\n}\n.sf-fa-mars-stroke:before {\n content: "\\f229";\n}\n.sf-fa-mars-stroke-v:before {\n content: "\\f22a";\n}\n.sf-fa-mars-stroke-h:before {\n content: "\\f22b";\n}\n.sf-fa-neuter:before {\n content: "\\f22c";\n}\n.sf-fa-genderless:before {\n content: "\\f22d";\n}\n.sf-fa-facebook-official:before {\n content: "\\f230";\n}\n.sf-fa-pinterest-p:before {\n content: "\\f231";\n}\n.sf-fa-whatsapp:before {\n content: "\\f232";\n}\n.sf-fa-server:before {\n content: "\\f233";\n}\n.sf-fa-user-plus:before {\n content: "\\f234";\n}\n.sf-fa-user-times:before {\n content: "\\f235";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "\\f236";\n}\n.sf-fa-viacoin:before {\n content: "\\f237";\n}\n.sf-fa-train:before {\n content: "\\f238";\n}\n.sf-fa-subway:before {\n content: "\\f239";\n}\n.sf-fa-medium:before {\n content: "\\f23a";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "\\f23b";\n}\n.sf-fa-optin-monster:before {\n content: "\\f23c";\n}\n.sf-fa-opencart:before {\n content: "\\f23d";\n}\n.sf-fa-expeditedssl:before {\n content: "\\f23e";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "\\f240";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "\\f241";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "\\f242";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "\\f243";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "\\f244";\n}\n.sf-fa-mouse-pointer:before {\n content: "\\f245";\n}\n.sf-fa-i-cursor:before {\n content: "\\f246";\n}\n.sf-fa-object-group:before {\n content: "\\f247";\n}\n.sf-fa-object-ungroup:before {\n content: "\\f248";\n}\n.sf-fa-sticky-note:before {\n content: "\\f249";\n}\n.sf-fa-sticky-note-o:before {\n content: "\\f24a";\n}\n.sf-fa-cc-jcb:before {\n content: "\\f24b";\n}\n.sf-fa-cc-diners-club:before {\n content: "\\f24c";\n}\n.sf-fa-clone:before {\n content: "\\f24d";\n}\n.sf-fa-balance-scale:before {\n content: "\\f24e";\n}\n.sf-fa-hourglass-o:before {\n content: "\\f250";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "\\f251";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "\\f252";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "\\f253";\n}\n.sf-fa-hourglass:before {\n content: "\\f254";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "\\f255";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "\\f256";\n}\n.sf-fa-hand-scissors-o:before {\n content: "\\f257";\n}\n.sf-fa-hand-lizard-o:before {\n content: "\\f258";\n}\n.sf-fa-hand-spock-o:before {\n content: "\\f259";\n}\n.sf-fa-hand-pointer-o:before {\n content: "\\f25a";\n}\n.sf-fa-hand-peace-o:before {\n content: "\\f25b";\n}\n.sf-fa-trademark:before {\n content: "\\f25c";\n}\n.sf-fa-registered:before {\n content: "\\f25d";\n}\n.sf-fa-creative-commons:before {\n content: "\\f25e";\n}\n.sf-fa-gg:before {\n content: "\\f260";\n}\n.sf-fa-gg-circle:before {\n content: "\\f261";\n}\n.sf-fa-tripadvisor:before {\n content: "\\f262";\n}\n.sf-fa-odnoklassniki:before {\n content: "\\f263";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "\\f264";\n}\n.sf-fa-get-pocket:before {\n content: "\\f265";\n}\n.sf-fa-wikipedia-w:before {\n content: "\\f266";\n}\n.sf-fa-safari:before {\n content: "\\f267";\n}\n.sf-fa-chrome:before {\n content: "\\f268";\n}\n.sf-fa-firefox:before {\n content: "\\f269";\n}\n.sf-fa-opera:before {\n content: "\\f26a";\n}\n.sf-fa-internet-explorer:before {\n content: "\\f26b";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "\\f26c";\n}\n.sf-fa-contao:before {\n content: "\\f26d";\n}\n.sf-fa-500px:before {\n content: "\\f26e";\n}\n.sf-fa-amazon:before {\n content: "\\f270";\n}\n.sf-fa-calendar-plus-o:before {\n content: "\\f271";\n}\n.sf-fa-calendar-minus-o:before {\n content: "\\f272";\n}\n.sf-fa-calendar-times-o:before {\n content: "\\f273";\n}\n.sf-fa-calendar-check-o:before {\n content: "\\f274";\n}\n.sf-fa-industry:before {\n content: "\\f275";\n}\n.sf-fa-map-pin:before {\n content: "\\f276";\n}\n.sf-fa-map-signs:before {\n content: "\\f277";\n}\n.sf-fa-map-o:before {\n content: "\\f278";\n}\n.sf-fa-map:before {\n content: "\\f279";\n}\n.sf-fa-commenting:before {\n content: "\\f27a";\n}\n.sf-fa-commenting-o:before {\n content: "\\f27b";\n}\n.sf-fa-houzz:before {\n content: "\\f27c";\n}\n.sf-fa-vimeo:before {\n content: "\\f27d";\n}\n.sf-fa-black-tie:before {\n content: "\\f27e";\n}\n.sf-fa-fonticons:before {\n content: "\\f280";\n}\n.sf-fa-reddit-alien:before {\n content: "\\f281";\n}\n.sf-fa-edge:before {\n content: "\\f282";\n}\n.sf-fa-credit-card-alt:before {\n content: "\\f283";\n}\n.sf-fa-codiepie:before {\n content: "\\f284";\n}\n.sf-fa-modx:before {\n content: "\\f285";\n}\n.sf-fa-fort-awesome:before {\n content: "\\f286";\n}\n.sf-fa-usb:before {\n content: "\\f287";\n}\n.sf-fa-product-hunt:before {\n content: "\\f288";\n}\n.sf-fa-mixcloud:before {\n content: "\\f289";\n}\n.sf-fa-scribd:before {\n content: "\\f28a";\n}\n.sf-fa-pause-circle:before {\n content: "\\f28b";\n}\n.sf-fa-pause-circle-o:before {\n content: "\\f28c";\n}\n.sf-fa-stop-circle:before {\n content: "\\f28d";\n}\n.sf-fa-stop-circle-o:before {\n content: "\\f28e";\n}\n.sf-fa-shopping-bag:before {\n content: "\\f290";\n}\n.sf-fa-shopping-basket:before {\n content: "\\f291";\n}\n.sf-fa-hashtag:before {\n content: "\\f292";\n}\n.sf-fa-bluetooth:before {\n content: "\\f293";\n}\n.sf-fa-bluetooth-b:before {\n content: "\\f294";\n}\n.sf-fa-percent:before {\n content: "\\f295";\n}\n.sf-fa-gitlab:before {\n content: "\\f296";\n}\n.sf-fa-wpbeginner:before {\n content: "\\f297";\n}\n.sf-fa-wpforms:before {\n content: "\\f298";\n}\n.sf-fa-envira:before {\n content: "\\f299";\n}\n.sf-fa-universal-access:before {\n content: "\\f29a";\n}\n.sf-fa-wheelchair-alt:before {\n content: "\\f29b";\n}\n.sf-fa-question-circle-o:before {\n content: "\\f29c";\n}\n.sf-fa-blind:before {\n content: "\\f29d";\n}\n.sf-fa-audio-description:before {\n content: "\\f29e";\n}\n.sf-fa-volume-control-phone:before {\n content: "\\f2a0";\n}\n.sf-fa-braille:before {\n content: "\\f2a1";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "\\f2a2";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "\\f2a3";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "\\f2a4";\n}\n.sf-fa-glide:before {\n content: "\\f2a5";\n}\n.sf-fa-glide-g:before {\n content: "\\f2a6";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "\\f2a7";\n}\n.sf-fa-low-vision:before {\n content: "\\f2a8";\n}\n.sf-fa-viadeo:before {\n content: "\\f2a9";\n}\n.sf-fa-viadeo-square:before {\n content: "\\f2aa";\n}\n.sf-fa-snapchat:before {\n content: "\\f2ab";\n}\n.sf-fa-snapchat-ghost:before {\n content: "\\f2ac";\n}\n.sf-fa-snapchat-square:before {\n content: "\\f2ad";\n}\n.sf-fa-pied-piper:before {\n content: "\\f2ae";\n}\n.sf-fa-first-order:before {\n content: "\\f2b0";\n}\n.sf-fa-yoast:before {\n content: "\\f2b1";\n}\n.sf-fa-themeisle:before {\n content: "\\f2b2";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "\\f2b3";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "\\f2b4";\n}\n.sf-fa-handshake-o:before {\n content: "\\f2b5";\n}\n.sf-fa-envelope-open:before {\n content: "\\f2b6";\n}\n.sf-fa-envelope-open-o:before {\n content: "\\f2b7";\n}\n.sf-fa-linode:before {\n content: "\\f2b8";\n}\n.sf-fa-address-book:before {\n content: "\\f2b9";\n}\n.sf-fa-address-book-o:before {\n content: "\\f2ba";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "\\f2bb";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "\\f2bc";\n}\n.sf-fa-user-circle:before {\n content: "\\f2bd";\n}\n.sf-fa-user-circle-o:before {\n content: "\\f2be";\n}\n.sf-fa-user-o:before {\n content: "\\f2c0";\n}\n.sf-fa-id-badge:before {\n content: "\\f2c1";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "\\f2c2";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "\\f2c3";\n}\n.sf-fa-quora:before {\n content: "\\f2c4";\n}\n.sf-fa-free-code-camp:before {\n content: "\\f2c5";\n}\n.sf-fa-telegram:before {\n content: "\\f2c6";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "\\f2c7";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "\\f2c8";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "\\f2c9";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "\\f2ca";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "\\f2cb";\n}\n.sf-fa-shower:before {\n content: "\\f2cc";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "\\f2cd";\n}\n.sf-fa-podcast:before {\n content: "\\f2ce";\n}\n.sf-fa-window-maximize:before {\n content: "\\f2d0";\n}\n.sf-fa-window-minimize:before {\n content: "\\f2d1";\n}\n.sf-fa-window-restore:before {\n content: "\\f2d2";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "\\f2d3";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "\\f2d4";\n}\n.sf-fa-bandcamp:before {\n content: "\\f2d5";\n}\n.sf-fa-grav:before {\n content: "\\f2d6";\n}\n.sf-fa-etsy:before {\n content: "\\f2d7";\n}\n.sf-fa-imdb:before {\n content: "\\f2d8";\n}\n.sf-fa-ravelry:before {\n content: "\\f2d9";\n}\n.sf-fa-eercast:before {\n content: "\\f2da";\n}\n.sf-fa-microchip:before {\n content: "\\f2db";\n}\n.sf-fa-snowflake-o:before {\n content: "\\f2dc";\n}\n.sf-fa-superpowers:before {\n content: "\\f2dd";\n}\n.sf-fa-wpexplorer:before {\n content: "\\f2de";\n}\n.sf-fa-meetup:before {\n content: "\\f2e0";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n:host {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal, auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert medium none invert;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: “ ” ‘ ’;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-warning {\n color: #ED8527;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n fill: currentColor;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n.sf-icon__svg-template {\n width: 100%;\n max-height: 77px;\n max-width: 300px;\n}\n/*\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n.sf-chip {\n display: inline-block;\n position: relative;\n margin-right: 5px;\n margin-bottom: 5px;\n min-height: 28px;\n max-width: 100%;\n vertical-align: top;\n font-size: var(--font-size-h4);\n}\n.sf-chip__content {\n background-color: #DCECF5;\n}\n.sf-chip.-success .sf-chip__content {\n background-color: #CAEED8;\n}\n.sf-chip.-error .sf-chip__content {\n background-color: #FFCCCC;\n}\n.sf-chip.-invert .sf-chip__content {\n background-color: #333;\n}\n.sf-chip.-info .sf-chip__content {\n background-color: #006CD9;\n}\n.sf-chip__inner-content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n}\n.sf-chip.-white {\n color: #fff;\n}\n.sf-chip.-removable .sf-chip__content {\n transition: padding 0.2s;\n overflow: hidden;\n}\n.sf-chip.-removable .sf-chip__inner-content {\n transition: text-indent 0.2s;\n}\n.sf-chip.-removable:hover .sf-chip__remove-button {\n display: inline;\n}\n.sf-chip.-removable:hover .sf-chip__content {\n padding-right: 21px;\n}\n.sf-chip.-removable:hover .sf-chip__inner-content {\n text-indent: -6px;\n}\n.sf-chip.-avatar .sf-chip__content {\n padding-left: 33.5px;\n}\n.sf-chip.-icon .sf-chip__content {\n padding-left: 33.5px;\n}\n.sf-chip.-initials .sf-chip__content {\n padding-left: 33.5px;\n}\n.sf-chip.-editable .sf-chip__content {\n display: inline-block;\n min-width: 65px;\n}\n.sf-chip.-dropped .sf-chip__dropdown {\n display: block;\n position: absolute;\n top: 33px;\n padding-top: 0;\n padding-bottom: 0;\n width: auto;\n max-width: 800px;\n z-index: 10000;\n}\n.sf-chip.-input {\n display: block;\n margin-right: 0;\n margin-bottom: 0;\n}\n.sf-chip.-input .sf-chip__input {\n padding-left: 5px;\n padding-right: 5px;\n height: 36px;\n width: 100%;\n border: 1px solid #e4e4e4;\n background-color: #fff;\n border-radius: 0;\n}\n.sf-chip.-input .sf-chip__dropdown {\n width: 100%;\n}\n.sf-chip.-stripped {\n font-size: inherit;\n}\n.sf-chip.-stripped .sf-chip__content {\n background-color: transparent;\n padding: 0;\n border-radius: 0;\n}\n.sf-chip__content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n display: inline-flex;\n padding-left: 15px;\n padding-right: 15px;\n height: 28px;\n line-height: 28px;\n text-align: left;\n vertical-align: top;\n border-radius: 28px;\n background-color: #DCECF5;\n overflow: hidden;\n max-width: 100%;\n}\n.sf-chip__content:focus {\n outline-color: transparent;\n}\n.-size-m .sf-chip__content {\n display: inline-block;\n max-width: 130px;\n}\n.-size-l .sf-chip__content {\n max-width: 180px;\n}\n.sf-chip__hint {\n flex-shrink: 0;\n}\n.sf-chip__avatar {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n margin-top: 2px;\n margin-left: 2px;\n margin-right: 7.5px;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n border-radius: 50%;\n background-color: #fff;\n color: #777;\n z-index: 10;\n max-width: 100%;\n}\n.sf-chip__avatar.-transparent {\n background-color: transparent;\n}\n.sf-chip__icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n margin-top: 2px;\n margin-left: 2px;\n margin-right: 7.5px;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n border-radius: 50%;\n background-color: #fff;\n color: #777;\n z-index: 10;\n max-width: 100%;\n}\n.sf-chip__icon.-transparent {\n background-color: transparent;\n}\n.sf-chip__initials {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n margin-top: 2px;\n margin-left: 2px;\n margin-right: 7.5px;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n border-radius: 50%;\n background-color: #fff;\n color: #777;\n z-index: 10;\n max-width: 100%;\n font-size: var(--font-size-h5);\n text-transform: uppercase;\n}\n.sf-chip__initials.-transparent {\n background-color: transparent;\n}\n.sf-chip__image {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n overflow: hidden;\n border-radius: 50%;\n}\n.sf-chip__remove-button {\n display: none;\n position: absolute;\n top: 0;\n right: 7.5px;\n height: 28px;\n line-height: 28px;\n text-align: right;\n cursor: pointer;\n}\n.sf-chip__dropdown {\n display: none;\n}\n/*\n Chip\n */\n/*\n Default chip\n\n `.sf-chip`\n\n Markup:\n
    \n
    \n Default chip\n
    \n
    \n
    \n
    \n Default chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default\n */\n/*\n success Chip\n\n `.sf-chip.-success`\n\n Markup:\n
    \n
    \n success chip\n
    \n
    \n
    \n
    \n success chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-success\n */\n/*\n error Chip\n\n `.sf-chip.-error`\n\n Markup:\n
    \n
    \n error chip\n
    \n
    \n
    \n
    \n error chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-error\n */\n/*\n invert Chip\n\n `.sf-chip.-invert`\n\n Markup:\n
    \n
    \n invert chip\n
    \n
    \n
    \n
    \n invert chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-invert\n */\n/*\n info Chip\n\n `.sf-chip.-info`\n\n Markup:\n
    \n
    \n info chip\n
    \n
    \n
    \n
    \n info chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-info\n */\n/*\n Chip with avatar:\n\n Markup:\n
    \n \n Avatar Image\n \n \n John Smith\n \n \n
    \n\n Styleguide: Chip.avatar\n */\n/*\n Chip with icon\n\n Markup:\n
    \n \n \n \n \n John Smith\n \n \n
    \n\n Styleguide: Chip.with-icon\n */\n/*\n Chip with initials\n\n Markup:\n
    \n \n JS\n \n \n John Smith\n \n \n
    \n\n Styleguide: Chip.initials\n */\n/*\n Editable chip\n\n Markup:\n
    \n \n
    \n\n Styleguide: Chip.editable\n */\n/*\n Chip with popup with suggestions\n\n Markup:\n
    \n \n
    \n
    \n Recent\n
    \n
    \n european\n
    \n
    \n evacuation\n
    \n
    \n event\n
    \n
    \n
    \n\n Styleguide: Chip.popup-suggestions\n*/\n/*\n Chip with popup with suggestions that looks like an input\n\n Markup:\n
    \n \n
    \n
    \n Recent\n
    \n
    \n european\n
    \n
    \n evacuation\n
    \n
    \n event\n
    \n
    \n
    \n\n Styleguide: Chip.popup-suggestions-input\n*/\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\n.-sf-mt-zero {\n margin-top: 0 !important;\n}\n.-sf-mt-4xs {\n margin-top: 5px !important;\n}\n.-sf-mt-3xs {\n margin-top: 10px !important;\n}\n.-sf-mt-2xs {\n margin-top: 15px !important;\n}\n.-sf-mt-xs {\n margin-top: 20px !important;\n}\n.-sf-mt-s {\n margin-top: 25px !important;\n}\n.-sf-mt-m {\n margin-top: 30px !important;\n}\n.-sf-mt-l {\n margin-top: 35px !important;\n}\n.-sf-mt-xl {\n margin-top: 40px !important;\n}\n.-sf-mt-2xl {\n margin-top: 45px !important;\n}\n.-sf-mt-3xl {\n margin-top: 50px !important;\n}\n.-sf-mt-4xl {\n margin-top: 55px !important;\n}\n.-sf-mt-5xl {\n margin-top: 60px !important;\n}\n.-sf-mt-6xl {\n margin-top: 80px !important;\n}\n.-sf-mt-7xl {\n margin-top: 100px !important;\n}\n.-sf-mt-8xl {\n margin-top: 120px !important;\n}\n.-sf-mt-9xl {\n margin-top: 140px !important;\n}\n.-sf-mt-10xl {\n margin-top: 160px !important;\n}\n.-sf-mt-11xl {\n margin-top: 180px !important;\n}\n.-sf-mt-12xl {\n margin-top: 200px !important;\n}\n.-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n.-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n.-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n.-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n.-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n.-sf-mb-s {\n margin-bottom: 25px !important;\n}\n.-sf-mb-m {\n margin-bottom: 30px !important;\n}\n.-sf-mb-l {\n margin-bottom: 35px !important;\n}\n.-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n.-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n.-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n.-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n.-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n.-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n.-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n.-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n.-sf-ml-zero {\n margin-left: 0 !important;\n}\n.-sf-ml-4xs {\n margin-left: 5px !important;\n}\n.-sf-ml-3xs {\n margin-left: 10px !important;\n}\n.-sf-ml-2xs {\n margin-left: 15px !important;\n}\n.-sf-ml-xs {\n margin-left: 20px !important;\n}\n.-sf-ml-s {\n margin-left: 25px !important;\n}\n.-sf-ml-m {\n margin-left: 30px !important;\n}\n.-sf-ml-l {\n margin-left: 35px !important;\n}\n.-sf-ml-xl {\n margin-left: 40px !important;\n}\n.-sf-ml-2xl {\n margin-left: 45px !important;\n}\n.-sf-ml-3xl {\n margin-left: 50px !important;\n}\n.-sf-ml-4xl {\n margin-left: 55px !important;\n}\n.-sf-ml-5xl {\n margin-left: 60px !important;\n}\n.-sf-ml-6xl {\n margin-left: 80px !important;\n}\n.-sf-ml-7xl {\n margin-left: 100px !important;\n}\n.-sf-ml-8xl {\n margin-left: 120px !important;\n}\n.-sf-mr-zero {\n margin-right: 0 !important;\n}\n.-sf-mr-4xs {\n margin-right: 5px !important;\n}\n.-sf-mr-3xs {\n margin-right: 10px !important;\n}\n.-sf-mr-2xs {\n margin-right: 15px !important;\n}\n.-sf-mr-xs {\n margin-right: 20px !important;\n}\n.-sf-mr-s {\n margin-right: 25px !important;\n}\n.-sf-mr-m {\n margin-right: 30px !important;\n}\n.-sf-mr-l {\n margin-right: 35px !important;\n}\n.-sf-mr-xl {\n margin-right: 40px !important;\n}\n.-sf-mr-2xl {\n margin-right: 45px !important;\n}\n.-sf-mr-3xl {\n margin-right: 50px !important;\n}\n.-sf-mr-4xl {\n margin-right: 55px !important;\n}\n.-sf-mr-5xl {\n margin-right: 60px !important;\n}\n.-sf-mr-6xl {\n margin-right: 80px !important;\n}\n.-sf-mr-7xl {\n margin-right: 100px !important;\n}\n.-sf-mr-8xl {\n margin-right: 120px !important;\n}\n.-sf-m-zero {\n margin: 0 !important;\n}\n.-sf-m-4xs {\n margin: 5px !important;\n}\n.-sf-m-3xs {\n margin: 10px !important;\n}\n.-sf-m-2xs {\n margin: 15px !important;\n}\n.-sf-m-xs {\n margin: 20px !important;\n}\n.-sf-m-s {\n margin: 25px !important;\n}\n.-sf-m-m {\n margin: 30px !important;\n}\n.-sf-m-l {\n margin: 35px !important;\n}\n.-sf-m-xl {\n margin: 40px !important;\n}\n.-sf-m-2xl {\n margin: 45px !important;\n}\n.-sf-m-3xl {\n margin: 50px !important;\n}\n.-sf-m-4xl {\n margin: 55px !important;\n}\n.-sf-m-5xl {\n margin: 60px !important;\n}\n.-sf-m-6xl {\n margin: 80px !important;\n}\n.-sf-m-7xl {\n margin: 100px !important;\n}\n.-sf-m-8xl {\n margin: 120px !important;\n}\n.-sf-mt-8xs {\n margin-top: 1px !important;\n}\n.-sf-mt-7xs {\n margin-top: 2px !important;\n}\n.-sf-mt-6xs {\n margin-top: 3px !important;\n}\n.-sf-mt-5xs {\n margin-top: 4px !important;\n}\n.-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n.-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n.-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n.-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n.-sf-ml-8xs {\n margin-left: 1px !important;\n}\n.-sf-ml-7xs {\n margin-left: 2px !important;\n}\n.-sf-ml-6xs {\n margin-left: 3px !important;\n}\n.-sf-ml-5xs {\n margin-left: 4px !important;\n}\n.-sf-mr-8xs {\n margin-right: 1px !important;\n}\n.-sf-mr-7xs {\n margin-right: 2px !important;\n}\n.-sf-mr-6xs {\n margin-right: 3px !important;\n}\n.-sf-mr-5xs {\n margin-right: 4px !important;\n}\n.-sf-mt--4xs {\n margin-top: -5px !important;\n}\n.-sf-mt--3xs {\n margin-top: -10px !important;\n}\n.-sf-mt--2xs {\n margin-top: -15px !important;\n}\n.-sf-mt--xs {\n margin-top: -20px !important;\n}\n.-sf-mt--s {\n margin-top: -25px !important;\n}\n.-sf-mt--m {\n margin-top: -30px !important;\n}\n.-sf-mt--l {\n margin-top: -35px !important;\n}\n.-sf-mt--xl {\n margin-top: -40px !important;\n}\n.-sf-mt--2xl {\n margin-top: -45px !important;\n}\n.-sf-mt--3xl {\n margin-top: -50px !important;\n}\n.-sf-mt--4xl {\n margin-top: -55px !important;\n}\n.-sf-mt--5xl {\n margin-top: -60px !important;\n}\n.-sf-mt--6xl {\n margin-top: -80px !important;\n}\n.-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n.-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n.-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n.-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n.-sf-mb--s {\n margin-bottom: -25px !important;\n}\n.-sf-mb--m {\n margin-bottom: -30px !important;\n}\n.-sf-mb--l {\n margin-bottom: -35px !important;\n}\n.-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n.-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n.-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n.-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n.-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n.-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n.-sf-ml--4xs {\n margin-left: -5px !important;\n}\n.-sf-ml--3xs {\n margin-left: -10px !important;\n}\n.-sf-ml--2xs {\n margin-left: -15px !important;\n}\n.-sf-ml--xs {\n margin-left: -20px !important;\n}\n.-sf-ml--s {\n margin-left: -25px !important;\n}\n.-sf-ml--m {\n margin-left: -30px !important;\n}\n.-sf-ml--l {\n margin-left: -35px !important;\n}\n.-sf-ml--xl {\n margin-left: -40px !important;\n}\n.-sf-ml--2xl {\n margin-left: -45px !important;\n}\n.-sf-ml--3xl {\n margin-left: -50px !important;\n}\n.-sf-ml--4xl {\n margin-left: -55px !important;\n}\n.-sf-ml--5xl {\n margin-left: -60px !important;\n}\n.-sf-ml--6xl {\n margin-left: -80px !important;\n}\n.-sf-mr--4xs {\n margin-right: -5px !important;\n}\n.-sf-mr--3xs {\n margin-right: -10px !important;\n}\n.-sf-mr--2xs {\n margin-right: -15px !important;\n}\n.-sf-mr--xs {\n margin-right: -20px !important;\n}\n.-sf-mr--s {\n margin-right: -25px !important;\n}\n.-sf-mr--m {\n margin-right: -30px !important;\n}\n.-sf-mr--l {\n margin-right: -35px !important;\n}\n.-sf-mr--xl {\n margin-right: -40px !important;\n}\n.-sf-mr--2xl {\n margin-right: -45px !important;\n}\n.-sf-mr--3xl {\n margin-right: -50px !important;\n}\n.-sf-mr--4xl {\n margin-right: -55px !important;\n}\n.-sf-mr--5xl {\n margin-right: -60px !important;\n}\n.-sf-mr--6xl {\n margin-right: -80px !important;\n}\n.-sf-pt-zero {\n padding-top: 0 !important;\n}\n.-sf-pt-4xs {\n padding-top: 5px !important;\n}\n.-sf-pt-3xs {\n padding-top: 10px !important;\n}\n.-sf-pt-2xs {\n padding-top: 15px !important;\n}\n.-sf-pt-xs {\n padding-top: 20px !important;\n}\n.-sf-pt-s {\n padding-top: 25px !important;\n}\n.-sf-pt-m {\n padding-top: 30px !important;\n}\n.-sf-pt-l {\n padding-top: 35px !important;\n}\n.-sf-pt-xl {\n padding-top: 40px !important;\n}\n.-sf-pt-2xl {\n padding-top: 45px !important;\n}\n.-sf-pt-3xl {\n padding-top: 50px !important;\n}\n.-sf-pt-4xl {\n padding-top: 55px !important;\n}\n.-sf-pt-5xl {\n padding-top: 60px !important;\n}\n.-sf-pt-6xl {\n padding-top: 80px !important;\n}\n.-sf-pt-7xl {\n padding-top: 100px !important;\n}\n.-sf-pt-8xl {\n padding-top: 120px !important;\n}\n.-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n.-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n.-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n.-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n.-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n.-sf-pb-s {\n padding-bottom: 25px !important;\n}\n.-sf-pb-m {\n padding-bottom: 30px !important;\n}\n.-sf-pb-l {\n padding-bottom: 35px !important;\n}\n.-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n.-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n.-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n.-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n.-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n.-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n.-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n.-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n.-sf-pl-zero {\n padding-left: 0 !important;\n}\n.-sf-pl-4xs {\n padding-left: 5px !important;\n}\n.-sf-pl-3xs {\n padding-left: 10px !important;\n}\n.-sf-pl-2xs {\n padding-left: 15px !important;\n}\n.-sf-pl-xs {\n padding-left: 20px !important;\n}\n.-sf-pl-s {\n padding-left: 25px !important;\n}\n.-sf-pl-m {\n padding-left: 30px !important;\n}\n.-sf-pl-l {\n padding-left: 35px !important;\n}\n.-sf-pl-xl {\n padding-left: 40px !important;\n}\n.-sf-pl-2xl {\n padding-left: 45px !important;\n}\n.-sf-pl-3xl {\n padding-left: 50px !important;\n}\n.-sf-pl-4xl {\n padding-left: 55px !important;\n}\n.-sf-pl-5xl {\n padding-left: 60px !important;\n}\n.-sf-pl-6xl {\n padding-left: 80px !important;\n}\n.-sf-pl-7xl {\n padding-left: 100px !important;\n}\n.-sf-pl-8xl {\n padding-left: 120px !important;\n}\n.-sf-pr-zero {\n padding-right: 0 !important;\n}\n.-sf-pr-4xs {\n padding-right: 5px !important;\n}\n.-sf-pr-3xs {\n padding-right: 10px !important;\n}\n.-sf-pr-2xs {\n padding-right: 15px !important;\n}\n.-sf-pr-xs {\n padding-right: 20px !important;\n}\n.-sf-pr-s {\n padding-right: 25px !important;\n}\n.-sf-pr-m {\n padding-right: 30px !important;\n}\n.-sf-pr-l {\n padding-right: 35px !important;\n}\n.-sf-pr-xl {\n padding-right: 40px !important;\n}\n.-sf-pr-2xl {\n padding-right: 45px !important;\n}\n.-sf-pr-3xl {\n padding-right: 50px !important;\n}\n.-sf-pr-4xl {\n padding-right: 55px !important;\n}\n.-sf-pr-5xl {\n padding-right: 60px !important;\n}\n.-sf-pr-6xl {\n padding-right: 80px !important;\n}\n.-sf-pr-7xl {\n padding-right: 100px !important;\n}\n.-sf-pr-8xl {\n padding-right: 120px !important;\n}\n.-sf-p-zero {\n padding: 0 !important;\n}\n.-sf-p-4xs {\n padding: 5px !important;\n}\n.-sf-p-3xs {\n padding: 10px !important;\n}\n.-sf-p-2xs {\n padding: 15px !important;\n}\n.-sf-p-xs {\n padding: 20px !important;\n}\n.-sf-p-s {\n padding: 25px !important;\n}\n.-sf-p-m {\n padding: 30px !important;\n}\n.-sf-p-l {\n padding: 35px !important;\n}\n.-sf-p-xl {\n padding: 40px !important;\n}\n.-sf-p-2xl {\n padding: 45px !important;\n}\n.-sf-p-3xl {\n padding: 50px !important;\n}\n.-sf-p-4xl {\n padding: 55px !important;\n}\n.-sf-p-5xl {\n padding: 60px !important;\n}\n.-sf-p-6xl {\n padding: 80px !important;\n}\n.-sf-p-7xl {\n padding: 100px !important;\n}\n.-sf-p-8xl {\n padding: 120px !important;\n}\n.-sf-pt-8xs {\n padding-top: 1px !important;\n}\n.-sf-pt-7xs {\n padding-top: 2px !important;\n}\n.-sf-pt-6xs {\n padding-top: 3px !important;\n}\n.-sf-pt-5xs {\n padding-top: 4px !important;\n}\n.-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n.-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n.-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n.-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n.-sf-pl-8xs {\n padding-left: 1px !important;\n}\n.-sf-pl-7xs {\n padding-left: 2px !important;\n}\n.-sf-pl-6xs {\n padding-left: 3px !important;\n}\n.-sf-pl-5xs {\n padding-left: 4px !important;\n}\n.-sf-pr-8xs {\n padding-right: 1px !important;\n}\n.-sf-pr-7xs {\n padding-right: 2px !important;\n}\n.-sf-pr-6xs {\n padding-right: 3px !important;\n}\n.-sf-pr-5xs {\n padding-right: 4px !important;\n}\n.-sf-ml-auto {\n margin-left: auto !important;\n}\n.-sf-mr-auto {\n margin-right: auto !important;\n}\n.-sf-ml-50 {\n margin-left: 50% !important;\n}\n.-sf-mr-50 {\n margin-right: 50% !important;\n}\n/*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n/*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n/*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n/*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n/*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n/*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n/*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n/*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n/*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n/*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\nStyleguide: Spacing.margin-classes\n*/\n/*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n/*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n/*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n/*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n/* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n*/\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.-sf-hidden {\n display: none !important;\n}\n.-sf-invisible {\n visibility: hidden !important;\n}\n.-sf-block {\n display: block !important;\n}\n.-sf-inline-block {\n display: inline-block !important;\n}\n.-sf-flex {\n display: flex !important;\n}\n.-sf-inline-flex {\n display: inline-flex !important;\n}\n.-sf-absolute {\n position: absolute !important;\n}\n.-sf-relative {\n position: relative !important;\n}\n.-sf-static {\n position: static !important;\n}\n.-sf-transparent {\n opacity: 0;\n}\n.-sf-align-self-center {\n align-self: center !important;\n}\n.-sf-align-self-start {\n align-self: flex-start !important;\n}\n.-sf-visually-hidden {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n}\n.-sf-img-fit-cover {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n overflow: hidden;\n}\n.-sf-rotate-90 {\n transform: rotate(90deg);\n}\n.-sf-rotate--90 {\n transform: rotate(-90deg);\n}\n.-sf-rotate-180 {\n transform: rotate(180deg);\n}\n/*\n Visibility utility classes\n\n Hide classes\n\n `-sf-hidden, -sf-invisible, -sf-transparent`\n\n Markup:\n
    .-sf-hidden
    \n
    .-sf-invisible
    \n
    .-sf-transparent
    \n\n Styleguide: Visibility.hide\n */\n/*\n Visually hidden but accessible to screen readers\n\n `-sf-visually-hidden`\n\n Markup:\n
    This text is visually hidden but accessible to screen readers
    \n\n Styleguide: Visibility.visually-hidden\n */\n/*\n Image fit cover\n\n `-sf-img-fit-cover`\n\n Markup:\n
    \n\n Styleguide: Visibility.img-fit-cover\n */\n/*\n Positions\n\n `-sf-absolute, -sf-relative`\n\n Markup:\n
    Absolute position
    \n
    Relative position
    \n
    Static position
    \n\n Styleguide: Visibility.positions\n */\n/*\n Rotate\n\n `-sf-rotate-90, sf-rotate--90, sf-rotate-180`\n\n Markup:\n
    Rotate 90deg
    \n
    Rotate -90deg
    \n
    Rotate 180deg
    \n\n Styleguide: Visibility.rotate\n */\n:host(.-sf-dragged-over) .sf-add-widget {\n --sf-visibility: visible;\n border: 2px solid #333;\n height: 35px;\n}\n:host(.-sf-dragged-over) .sf-add-widget__btn {\n display: none;\n}\n:host(.-sf-dragged-over) .sf-add-widget__text {\n display: block;\n}\n:host(.-sf-dragged-over) .sf-add-widget__label {\n top: -14px;\n}\n:host(.-sf-flex-child) .sf-add-widget {\n height: 100%;\n border: 0;\n border-right: 3px solid #333;\n}\n.sf-add-widget {\n display: flex;\n visibility: var(--sf-visibility);\n border: 4px solid #333;\n border-bottom: 0;\n position: relative;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.sf-add-widget__label {\n position: absolute;\n z-index: 1000;\n margin-top: -4px;\n white-space: nowrap;\n}\n.sf-add-widget__text {\n font-size: var(--font-size-h5);\n text-transform: uppercase;\n color: #999;\n background: #CAEED8;\n padding: 3px 8px;\n display: none;\n}'},function(e){e.exports='\n

    {{label}}

    \n\n \n {{text}}\n\n'},function(e){e.exports='\n\n'},function(e){e.exports='@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host article, :host aside, :host details, :host figcaption, :host figure, :host footer, :host header, :host hgroup, :host main, :host nav, :host section, :host summary,\n:host button, :host input, :host optgroup, :host select, :host textarea,\n:host h1, :host h2, :host h3, :host h4, :host h5, :host h6,\n:host p, :host blockquote, :host pre,\n:host dl, :host dd, :host ol, :host ul, :host li,\n:host form, :host fieldset, :host legend, :host label,\n:host table, :host th, :host td, :host caption,\n:host hr {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal, auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert medium none invert;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: “ ” ‘ ’;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n}\n:host {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:host {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:host {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:host {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:host {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:host {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:host {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:host {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:host {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.8rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:host {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:host {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:host {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:host {\n --select-arrow-color: #777;\n}\n:host {\n --input-box-shadow-hover: #e4e4e4;\n}\n:host {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:host {\n --secondary-text-color: #999;\n}\n:host {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:host {\n --tree-list-expander-color: #777;\n}\n:host {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 48px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: "FontAwesome";\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0");\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("/assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("/assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");\n font-weight: normal;\n font-style: normal;\n}\n.sf-fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.sf-fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.sf-fa-2x {\n font-size: 2em;\n}\n.sf-fa-3x {\n font-size: 3em;\n}\n.sf-fa-4x {\n font-size: 4em;\n}\n.sf-fa-5x {\n font-size: 5em;\n}\n.sf-fa-fw {\n width: 1.2857142857em;\n text-align: center;\n}\n.sf-fa-ul {\n padding-left: 0;\n margin-left: 2.1428571429em;\n list-style-type: none;\n}\n.sf-fa-ul > li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "\\f000";\n}\n.sf-fa-music:before {\n content: "\\f001";\n}\n.sf-fa-search:before {\n content: "\\f002";\n}\n.sf-fa-envelope-o:before {\n content: "\\f003";\n}\n.sf-fa-heart:before {\n content: "\\f004";\n}\n.sf-fa-star:before {\n content: "\\f005";\n}\n.sf-fa-star-o:before {\n content: "\\f006";\n}\n.sf-fa-user:before {\n content: "\\f007";\n}\n.sf-fa-film:before {\n content: "\\f008";\n}\n.sf-fa-th-large:before {\n content: "\\f009";\n}\n.sf-fa-th:before {\n content: "\\f00a";\n}\n.sf-fa-th-list:before {\n content: "\\f00b";\n}\n.sf-fa-check:before {\n content: "\\f00c";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "\\f00d";\n}\n.sf-fa-search-plus:before {\n content: "\\f00e";\n}\n.sf-fa-search-minus:before {\n content: "\\f010";\n}\n.sf-fa-power-off:before {\n content: "\\f011";\n}\n.sf-fa-signal:before {\n content: "\\f012";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "\\f013";\n}\n.sf-fa-trash-o:before {\n content: "\\f014";\n}\n.sf-fa-home:before {\n content: "\\f015";\n}\n.sf-fa-file-o:before {\n content: "\\f016";\n}\n.sf-fa-clock-o:before {\n content: "\\f017";\n}\n.sf-fa-road:before {\n content: "\\f018";\n}\n.sf-fa-download:before {\n content: "\\f019";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "\\f01a";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "\\f01b";\n}\n.sf-fa-inbox:before {\n content: "\\f01c";\n}\n.sf-fa-play-circle-o:before {\n content: "\\f01d";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "\\f01e";\n}\n.sf-fa-refresh:before {\n content: "\\f021";\n}\n.sf-fa-list-alt:before {\n content: "\\f022";\n}\n.sf-fa-lock:before {\n content: "\\f023";\n}\n.sf-fa-flag:before {\n content: "\\f024";\n}\n.sf-fa-headphones:before {\n content: "\\f025";\n}\n.sf-fa-volume-off:before {\n content: "\\f026";\n}\n.sf-fa-volume-down:before {\n content: "\\f027";\n}\n.sf-fa-volume-up:before {\n content: "\\f028";\n}\n.sf-fa-qrcode:before {\n content: "\\f029";\n}\n.sf-fa-barcode:before {\n content: "\\f02a";\n}\n.sf-fa-tag:before {\n content: "\\f02b";\n}\n.sf-fa-tags:before {\n content: "\\f02c";\n}\n.sf-fa-book:before {\n content: "\\f02d";\n}\n.sf-fa-bookmark:before {\n content: "\\f02e";\n}\n.sf-fa-print:before {\n content: "\\f02f";\n}\n.sf-fa-camera:before {\n content: "\\f030";\n}\n.sf-fa-font:before {\n content: "\\f031";\n}\n.sf-fa-bold:before {\n content: "\\f032";\n}\n.sf-fa-italic:before {\n content: "\\f033";\n}\n.sf-fa-text-height:before {\n content: "\\f034";\n}\n.sf-fa-text-width:before {\n content: "\\f035";\n}\n.sf-fa-align-left:before {\n content: "\\f036";\n}\n.sf-fa-align-center:before {\n content: "\\f037";\n}\n.sf-fa-align-right:before {\n content: "\\f038";\n}\n.sf-fa-align-justify:before {\n content: "\\f039";\n}\n.sf-fa-list:before {\n content: "\\f03a";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "\\f03b";\n}\n.sf-fa-indent:before {\n content: "\\f03c";\n}\n.sf-fa-video-camera:before {\n content: "\\f03d";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "\\f03e";\n}\n.sf-fa-pencil:before {\n content: "\\f040";\n}\n.sf-fa-map-marker:before {\n content: "\\f041";\n}\n.sf-fa-adjust:before {\n content: "\\f042";\n}\n.sf-fa-tint:before {\n content: "\\f043";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "\\f044";\n}\n.sf-fa-share-square-o:before {\n content: "\\f045";\n}\n.sf-fa-check-square-o:before {\n content: "\\f046";\n}\n.sf-fa-arrows:before {\n content: "\\f047";\n}\n.sf-fa-step-backward:before {\n content: "\\f048";\n}\n.sf-fa-fast-backward:before {\n content: "\\f049";\n}\n.sf-fa-backward:before {\n content: "\\f04a";\n}\n.sf-fa-play:before {\n content: "\\f04b";\n}\n.sf-fa-pause:before {\n content: "\\f04c";\n}\n.sf-fa-stop:before {\n content: "\\f04d";\n}\n.sf-fa-forward:before {\n content: "\\f04e";\n}\n.sf-fa-fast-forward:before {\n content: "\\f050";\n}\n.sf-fa-step-forward:before {\n content: "\\f051";\n}\n.sf-fa-eject:before {\n content: "\\f052";\n}\n.sf-fa-chevron-left:before {\n content: "\\f053";\n}\n.sf-fa-chevron-right:before {\n content: "\\f054";\n}\n.sf-fa-plus-circle:before {\n content: "\\f055";\n}\n.sf-fa-minus-circle:before {\n content: "\\f056";\n}\n.sf-fa-times-circle:before {\n content: "\\f057";\n}\n.sf-fa-check-circle:before {\n content: "\\f058";\n}\n.sf-fa-question-circle:before {\n content: "\\f059";\n}\n.sf-fa-info-circle:before {\n content: "\\f05a";\n}\n.sf-fa-crosshairs:before {\n content: "\\f05b";\n}\n.sf-fa-times-circle-o:before {\n content: "\\f05c";\n}\n.sf-fa-check-circle-o:before {\n content: "\\f05d";\n}\n.sf-fa-ban:before {\n content: "\\f05e";\n}\n.sf-fa-arrow-left:before {\n content: "\\f060";\n}\n.sf-fa-arrow-right:before {\n content: "\\f061";\n}\n.sf-fa-arrow-up:before {\n content: "\\f062";\n}\n.sf-fa-arrow-down:before {\n content: "\\f063";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "\\f064";\n}\n.sf-fa-expand:before {\n content: "\\f065";\n}\n.sf-fa-compress:before {\n content: "\\f066";\n}\n.sf-fa-plus:before {\n content: "\\f067";\n}\n.sf-fa-minus:before {\n content: "\\f068";\n}\n.sf-fa-asterisk:before {\n content: "\\f069";\n}\n.sf-fa-exclamation-circle:before {\n content: "\\f06a";\n}\n.sf-fa-gift:before {\n content: "\\f06b";\n}\n.sf-fa-leaf:before {\n content: "\\f06c";\n}\n.sf-fa-fire:before {\n content: "\\f06d";\n}\n.sf-fa-eye:before {\n content: "\\f06e";\n}\n.sf-fa-eye-slash:before {\n content: "\\f070";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "\\f071";\n}\n.sf-fa-plane:before {\n content: "\\f072";\n}\n.sf-fa-calendar:before {\n content: "\\f073";\n}\n.sf-fa-random:before {\n content: "\\f074";\n}\n.sf-fa-comment:before {\n content: "\\f075";\n}\n.sf-fa-magnet:before {\n content: "\\f076";\n}\n.sf-fa-chevron-up:before {\n content: "\\f077";\n}\n.sf-fa-chevron-down:before {\n content: "\\f078";\n}\n.sf-fa-retweet:before {\n content: "\\f079";\n}\n.sf-fa-shopping-cart:before {\n content: "\\f07a";\n}\n.sf-fa-folder:before {\n content: "\\f07b";\n}\n.sf-fa-folder-open:before {\n content: "\\f07c";\n}\n.sf-fa-arrows-v:before {\n content: "\\f07d";\n}\n.sf-fa-arrows-h:before {\n content: "\\f07e";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "\\f080";\n}\n.sf-fa-twitter-square:before {\n content: "\\f081";\n}\n.sf-fa-facebook-square:before {\n content: "\\f082";\n}\n.sf-fa-camera-retro:before {\n content: "\\f083";\n}\n.sf-fa-key:before {\n content: "\\f084";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "\\f085";\n}\n.sf-fa-comments:before {\n content: "\\f086";\n}\n.sf-fa-thumbs-o-up:before {\n content: "\\f087";\n}\n.sf-fa-thumbs-o-down:before {\n content: "\\f088";\n}\n.sf-fa-star-half:before {\n content: "\\f089";\n}\n.sf-fa-heart-o:before {\n content: "\\f08a";\n}\n.sf-fa-sign-out:before {\n content: "\\f08b";\n}\n.sf-fa-linkedin-square:before {\n content: "\\f08c";\n}\n.sf-fa-thumb-tack:before {\n content: "\\f08d";\n}\n.sf-fa-external-link:before {\n content: "\\f08e";\n}\n.sf-fa-sign-in:before {\n content: "\\f090";\n}\n.sf-fa-trophy:before {\n content: "\\f091";\n}\n.sf-fa-github-square:before {\n content: "\\f092";\n}\n.sf-fa-upload:before {\n content: "\\f093";\n}\n.sf-fa-lemon-o:before {\n content: "\\f094";\n}\n.sf-fa-phone:before {\n content: "\\f095";\n}\n.sf-fa-square-o:before {\n content: "\\f096";\n}\n.sf-fa-bookmark-o:before {\n content: "\\f097";\n}\n.sf-fa-phone-square:before {\n content: "\\f098";\n}\n.sf-fa-twitter:before {\n content: "\\f099";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "\\f09a";\n}\n.sf-fa-github:before {\n content: "\\f09b";\n}\n.sf-fa-unlock:before {\n content: "\\f09c";\n}\n.sf-fa-credit-card:before {\n content: "\\f09d";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "\\f09e";\n}\n.sf-fa-hdd-o:before {\n content: "\\f0a0";\n}\n.sf-fa-bullhorn:before {\n content: "\\f0a1";\n}\n.sf-fa-bell:before {\n content: "\\f0f3";\n}\n.sf-fa-certificate:before {\n content: "\\f0a3";\n}\n.sf-fa-hand-o-right:before {\n content: "\\f0a4";\n}\n.sf-fa-hand-o-left:before {\n content: "\\f0a5";\n}\n.sf-fa-hand-o-up:before {\n content: "\\f0a6";\n}\n.sf-fa-hand-o-down:before {\n content: "\\f0a7";\n}\n.sf-fa-arrow-circle-left:before {\n content: "\\f0a8";\n}\n.sf-fa-arrow-circle-right:before {\n content: "\\f0a9";\n}\n.sf-fa-arrow-circle-up:before {\n content: "\\f0aa";\n}\n.sf-fa-arrow-circle-down:before {\n content: "\\f0ab";\n}\n.sf-fa-globe:before {\n content: "\\f0ac";\n}\n.sf-fa-wrench:before {\n content: "\\f0ad";\n}\n.sf-fa-tasks:before {\n content: "\\f0ae";\n}\n.sf-fa-filter:before {\n content: "\\f0b0";\n}\n.sf-fa-briefcase:before {\n content: "\\f0b1";\n}\n.sf-fa-arrows-alt:before {\n content: "\\f0b2";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "\\f0c0";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "\\f0c1";\n}\n.sf-fa-cloud:before {\n content: "\\f0c2";\n}\n.sf-fa-flask:before {\n content: "\\f0c3";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "\\f0c4";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "\\f0c5";\n}\n.sf-fa-paperclip:before {\n content: "\\f0c6";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "\\f0c7";\n}\n.sf-fa-square:before {\n content: "\\f0c8";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "\\f0c9";\n}\n.sf-fa-list-ul:before {\n content: "\\f0ca";\n}\n.sf-fa-list-ol:before {\n content: "\\f0cb";\n}\n.sf-fa-strikethrough:before {\n content: "\\f0cc";\n}\n.sf-fa-underline:before {\n content: "\\f0cd";\n}\n.sf-fa-table:before {\n content: "\\f0ce";\n}\n.sf-fa-magic:before {\n content: "\\f0d0";\n}\n.sf-fa-truck:before {\n content: "\\f0d1";\n}\n.sf-fa-pinterest:before {\n content: "\\f0d2";\n}\n.sf-fa-pinterest-square:before {\n content: "\\f0d3";\n}\n.sf-fa-google-plus-square:before {\n content: "\\f0d4";\n}\n.sf-fa-google-plus:before {\n content: "\\f0d5";\n}\n.sf-fa-money:before {\n content: "\\f0d6";\n}\n.sf-fa-caret-down:before {\n content: "\\f0d7";\n}\n.sf-fa-caret-up:before {\n content: "\\f0d8";\n}\n.sf-fa-caret-left:before {\n content: "\\f0d9";\n}\n.sf-fa-caret-right:before {\n content: "\\f0da";\n}\n.sf-fa-columns:before {\n content: "\\f0db";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "\\f0dc";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "\\f0dd";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "\\f0de";\n}\n.sf-fa-envelope:before {\n content: "\\f0e0";\n}\n.sf-fa-linkedin:before {\n content: "\\f0e1";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "\\f0e2";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "\\f0e3";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "\\f0e4";\n}\n.sf-fa-comment-o:before {\n content: "\\f0e5";\n}\n.sf-fa-comments-o:before {\n content: "\\f0e6";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "\\f0e7";\n}\n.sf-fa-sitemap:before {\n content: "\\f0e8";\n}\n.sf-fa-umbrella:before {\n content: "\\f0e9";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "\\f0ea";\n}\n.sf-fa-lightbulb-o:before {\n content: "\\f0eb";\n}\n.sf-fa-exchange:before {\n content: "\\f0ec";\n}\n.sf-fa-cloud-download:before {\n content: "\\f0ed";\n}\n.sf-fa-cloud-upload:before {\n content: "\\f0ee";\n}\n.sf-fa-user-md:before {\n content: "\\f0f0";\n}\n.sf-fa-stethoscope:before {\n content: "\\f0f1";\n}\n.sf-fa-suitcase:before {\n content: "\\f0f2";\n}\n.sf-fa-bell-o:before {\n content: "\\f0a2";\n}\n.sf-fa-coffee:before {\n content: "\\f0f4";\n}\n.sf-fa-cutlery:before {\n content: "\\f0f5";\n}\n.sf-fa-file-text-o:before {\n content: "\\f0f6";\n}\n.sf-fa-building-o:before {\n content: "\\f0f7";\n}\n.sf-fa-hospital-o:before {\n content: "\\f0f8";\n}\n.sf-fa-ambulance:before {\n content: "\\f0f9";\n}\n.sf-fa-medkit:before {\n content: "\\f0fa";\n}\n.sf-fa-fighter-jet:before {\n content: "\\f0fb";\n}\n.sf-fa-beer:before {\n content: "\\f0fc";\n}\n.sf-fa-h-square:before {\n content: "\\f0fd";\n}\n.sf-fa-plus-square:before {\n content: "\\f0fe";\n}\n.sf-fa-angle-double-left:before {\n content: "\\f100";\n}\n.sf-fa-angle-double-right:before {\n content: "\\f101";\n}\n.sf-fa-angle-double-up:before {\n content: "\\f102";\n}\n.sf-fa-angle-double-down:before {\n content: "\\f103";\n}\n.sf-fa-angle-left:before {\n content: "\\f104";\n}\n.sf-fa-angle-right:before {\n content: "\\f105";\n}\n.sf-fa-angle-up:before {\n content: "\\f106";\n}\n.sf-fa-angle-down:before {\n content: "\\f107";\n}\n.sf-fa-desktop:before {\n content: "\\f108";\n}\n.sf-fa-laptop:before {\n content: "\\f109";\n}\n.sf-fa-tablet:before {\n content: "\\f10a";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "\\f10b";\n}\n.sf-fa-circle-o:before {\n content: "\\f10c";\n}\n.sf-fa-quote-left:before {\n content: "\\f10d";\n}\n.sf-fa-quote-right:before {\n content: "\\f10e";\n}\n.sf-fa-spinner:before {\n content: "\\f110";\n}\n.sf-fa-circle:before {\n content: "\\f111";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "\\f112";\n}\n.sf-fa-github-alt:before {\n content: "\\f113";\n}\n.sf-fa-folder-o:before {\n content: "\\f114";\n}\n.sf-fa-folder-open-o:before {\n content: "\\f115";\n}\n.sf-fa-smile-o:before {\n content: "\\f118";\n}\n.sf-fa-frown-o:before {\n content: "\\f119";\n}\n.sf-fa-meh-o:before {\n content: "\\f11a";\n}\n.sf-fa-gamepad:before {\n content: "\\f11b";\n}\n.sf-fa-keyboard-o:before {\n content: "\\f11c";\n}\n.sf-fa-flag-o:before {\n content: "\\f11d";\n}\n.sf-fa-flag-checkered:before {\n content: "\\f11e";\n}\n.sf-fa-terminal:before {\n content: "\\f120";\n}\n.sf-fa-code:before {\n content: "\\f121";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "\\f122";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "\\f123";\n}\n.sf-fa-location-arrow:before {\n content: "\\f124";\n}\n.sf-fa-crop:before {\n content: "\\f125";\n}\n.sf-fa-code-fork:before {\n content: "\\f126";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "\\f127";\n}\n.sf-fa-question:before {\n content: "\\f128";\n}\n.sf-fa-info:before {\n content: "\\f129";\n}\n.sf-fa-exclamation:before {\n content: "\\f12a";\n}\n.sf-fa-superscript:before {\n content: "\\f12b";\n}\n.sf-fa-subscript:before {\n content: "\\f12c";\n}\n.sf-fa-eraser:before {\n content: "\\f12d";\n}\n.sf-fa-puzzle-piece:before {\n content: "\\f12e";\n}\n.sf-fa-microphone:before {\n content: "\\f130";\n}\n.sf-fa-microphone-slash:before {\n content: "\\f131";\n}\n.sf-fa-shield:before {\n content: "\\f132";\n}\n.sf-fa-calendar-o:before {\n content: "\\f133";\n}\n.sf-fa-fire-extinguisher:before {\n content: "\\f134";\n}\n.sf-fa-rocket:before {\n content: "\\f135";\n}\n.sf-fa-maxcdn:before {\n content: "\\f136";\n}\n.sf-fa-chevron-circle-left:before {\n content: "\\f137";\n}\n.sf-fa-chevron-circle-right:before {\n content: "\\f138";\n}\n.sf-fa-chevron-circle-up:before {\n content: "\\f139";\n}\n.sf-fa-chevron-circle-down:before {\n content: "\\f13a";\n}\n.sf-fa-html5:before {\n content: "\\f13b";\n}\n.sf-fa-css3:before {\n content: "\\f13c";\n}\n.sf-fa-anchor:before {\n content: "\\f13d";\n}\n.sf-fa-unlock-alt:before {\n content: "\\f13e";\n}\n.sf-fa-bullseye:before {\n content: "\\f140";\n}\n.sf-fa-ellipsis-h:before {\n content: "\\f141";\n}\n.sf-fa-ellipsis-v:before {\n content: "\\f142";\n}\n.sf-fa-rss-square:before {\n content: "\\f143";\n}\n.sf-fa-play-circle:before {\n content: "\\f144";\n}\n.sf-fa-ticket:before {\n content: "\\f145";\n}\n.sf-fa-minus-square:before {\n content: "\\f146";\n}\n.sf-fa-minus-square-o:before {\n content: "\\f147";\n}\n.sf-fa-level-up:before {\n content: "\\f148";\n}\n.sf-fa-level-down:before {\n content: "\\f149";\n}\n.sf-fa-check-square:before {\n content: "\\f14a";\n}\n.sf-fa-pencil-square:before {\n content: "\\f14b";\n}\n.sf-fa-external-link-square:before {\n content: "\\f14c";\n}\n.sf-fa-share-square:before {\n content: "\\f14d";\n}\n.sf-fa-compass:before {\n content: "\\f14e";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "\\f150";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "\\f151";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "\\f152";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "\\f153";\n}\n.sf-fa-gbp:before {\n content: "\\f154";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "\\f155";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "\\f156";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "\\f157";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "\\f158";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "\\f159";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "\\f15a";\n}\n.sf-fa-file:before {\n content: "\\f15b";\n}\n.sf-fa-file-text:before {\n content: "\\f15c";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "\\f15d";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "\\f15e";\n}\n.sf-fa-sort-amount-asc:before {\n content: "\\f160";\n}\n.sf-fa-sort-amount-desc:before {\n content: "\\f161";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "\\f162";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "\\f163";\n}\n.sf-fa-thumbs-up:before {\n content: "\\f164";\n}\n.sf-fa-thumbs-down:before {\n content: "\\f165";\n}\n.sf-fa-youtube-square:before {\n content: "\\f166";\n}\n.sf-fa-youtube:before {\n content: "\\f167";\n}\n.sf-fa-xing:before {\n content: "\\f168";\n}\n.sf-fa-xing-square:before {\n content: "\\f169";\n}\n.sf-fa-youtube-play:before {\n content: "\\f16a";\n}\n.sf-fa-dropbox:before {\n content: "\\f16b";\n}\n.sf-fa-stack-overflow:before {\n content: "\\f16c";\n}\n.sf-fa-instagram:before {\n content: "\\f16d";\n}\n.sf-fa-flickr:before {\n content: "\\f16e";\n}\n.sf-fa-adn:before {\n content: "\\f170";\n}\n.sf-fa-bitbucket:before {\n content: "\\f171";\n}\n.sf-fa-bitbucket-square:before {\n content: "\\f172";\n}\n.sf-fa-tumblr:before {\n content: "\\f173";\n}\n.sf-fa-tumblr-square:before {\n content: "\\f174";\n}\n.sf-fa-long-arrow-down:before {\n content: "\\f175";\n}\n.sf-fa-long-arrow-up:before {\n content: "\\f176";\n}\n.sf-fa-long-arrow-left:before {\n content: "\\f177";\n}\n.sf-fa-long-arrow-right:before {\n content: "\\f178";\n}\n.sf-fa-apple:before {\n content: "\\f179";\n}\n.sf-fa-windows:before {\n content: "\\f17a";\n}\n.sf-fa-android:before {\n content: "\\f17b";\n}\n.sf-fa-linux:before {\n content: "\\f17c";\n}\n.sf-fa-dribbble:before {\n content: "\\f17d";\n}\n.sf-fa-skype:before {\n content: "\\f17e";\n}\n.sf-fa-foursquare:before {\n content: "\\f180";\n}\n.sf-fa-trello:before {\n content: "\\f181";\n}\n.sf-fa-female:before {\n content: "\\f182";\n}\n.sf-fa-male:before {\n content: "\\f183";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "\\f184";\n}\n.sf-fa-sun-o:before {\n content: "\\f185";\n}\n.sf-fa-moon-o:before {\n content: "\\f186";\n}\n.sf-fa-archive:before {\n content: "\\f187";\n}\n.sf-fa-bug:before {\n content: "\\f188";\n}\n.sf-fa-vk:before {\n content: "\\f189";\n}\n.sf-fa-weibo:before {\n content: "\\f18a";\n}\n.sf-fa-renren:before {\n content: "\\f18b";\n}\n.sf-fa-pagelines:before {\n content: "\\f18c";\n}\n.sf-fa-stack-exchange:before {\n content: "\\f18d";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "\\f18e";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "\\f190";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "\\f191";\n}\n.sf-fa-dot-circle-o:before {\n content: "\\f192";\n}\n.sf-fa-wheelchair:before {\n content: "\\f193";\n}\n.sf-fa-vimeo-square:before {\n content: "\\f194";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "\\f195";\n}\n.sf-fa-plus-square-o:before {\n content: "\\f196";\n}\n.sf-fa-space-shuttle:before {\n content: "\\f197";\n}\n.sf-fa-slack:before {\n content: "\\f198";\n}\n.sf-fa-envelope-square:before {\n content: "\\f199";\n}\n.sf-fa-wordpress:before {\n content: "\\f19a";\n}\n.sf-fa-openid:before {\n content: "\\f19b";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "\\f19c";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "\\f19d";\n}\n.sf-fa-yahoo:before {\n content: "\\f19e";\n}\n.sf-fa-google:before {\n content: "\\f1a0";\n}\n.sf-fa-reddit:before {\n content: "\\f1a1";\n}\n.sf-fa-reddit-square:before {\n content: "\\f1a2";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "\\f1a3";\n}\n.sf-fa-stumbleupon:before {\n content: "\\f1a4";\n}\n.sf-fa-delicious:before {\n content: "\\f1a5";\n}\n.sf-fa-digg:before {\n content: "\\f1a6";\n}\n.sf-fa-pied-piper-pp:before {\n content: "\\f1a7";\n}\n.sf-fa-pied-piper-alt:before {\n content: "\\f1a8";\n}\n.sf-fa-drupal:before {\n content: "\\f1a9";\n}\n.sf-fa-joomla:before {\n content: "\\f1aa";\n}\n.sf-fa-language:before {\n content: "\\f1ab";\n}\n.sf-fa-fax:before {\n content: "\\f1ac";\n}\n.sf-fa-building:before {\n content: "\\f1ad";\n}\n.sf-fa-child:before {\n content: "\\f1ae";\n}\n.sf-fa-paw:before {\n content: "\\f1b0";\n}\n.sf-fa-spoon:before {\n content: "\\f1b1";\n}\n.sf-fa-cube:before {\n content: "\\f1b2";\n}\n.sf-fa-cubes:before {\n content: "\\f1b3";\n}\n.sf-fa-behance:before {\n content: "\\f1b4";\n}\n.sf-fa-behance-square:before {\n content: "\\f1b5";\n}\n.sf-fa-steam:before {\n content: "\\f1b6";\n}\n.sf-fa-steam-square:before {\n content: "\\f1b7";\n}\n.sf-fa-recycle:before {\n content: "\\f1b8";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "\\f1b9";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "\\f1ba";\n}\n.sf-fa-tree:before {\n content: "\\f1bb";\n}\n.sf-fa-spotify:before {\n content: "\\f1bc";\n}\n.sf-fa-deviantart:before {\n content: "\\f1bd";\n}\n.sf-fa-soundcloud:before {\n content: "\\f1be";\n}\n.sf-fa-database:before {\n content: "\\f1c0";\n}\n.sf-fa-file-pdf-o:before {\n content: "\\f1c1";\n}\n.sf-fa-file-word-o:before {\n content: "\\f1c2";\n}\n.sf-fa-file-excel-o:before {\n content: "\\f1c3";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "\\f1c4";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "\\f1c5";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "\\f1c6";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "\\f1c7";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "\\f1c8";\n}\n.sf-fa-file-code-o:before {\n content: "\\f1c9";\n}\n.sf-fa-vine:before {\n content: "\\f1ca";\n}\n.sf-fa-codepen:before {\n content: "\\f1cb";\n}\n.sf-fa-jsfiddle:before {\n content: "\\f1cc";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "\\f1cd";\n}\n.sf-fa-circle-o-notch:before {\n content: "\\f1ce";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "\\f1d0";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "\\f1d1";\n}\n.sf-fa-git-square:before {\n content: "\\f1d2";\n}\n.sf-fa-git:before {\n content: "\\f1d3";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "\\f1d4";\n}\n.sf-fa-tencent-weibo:before {\n content: "\\f1d5";\n}\n.sf-fa-qq:before {\n content: "\\f1d6";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "\\f1d7";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "\\f1d8";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "\\f1d9";\n}\n.sf-fa-history:before {\n content: "\\f1da";\n}\n.sf-fa-circle-thin:before {\n content: "\\f1db";\n}\n.sf-fa-header:before {\n content: "\\f1dc";\n}\n.sf-fa-paragraph:before {\n content: "\\f1dd";\n}\n.sf-fa-sliders:before {\n content: "\\f1de";\n}\n.sf-fa-share-alt:before {\n content: "\\f1e0";\n}\n.sf-fa-share-alt-square:before {\n content: "\\f1e1";\n}\n.sf-fa-bomb:before {\n content: "\\f1e2";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "\\f1e3";\n}\n.sf-fa-tty:before {\n content: "\\f1e4";\n}\n.sf-fa-binoculars:before {\n content: "\\f1e5";\n}\n.sf-fa-plug:before {\n content: "\\f1e6";\n}\n.sf-fa-slideshare:before {\n content: "\\f1e7";\n}\n.sf-fa-twitch:before {\n content: "\\f1e8";\n}\n.sf-fa-yelp:before {\n content: "\\f1e9";\n}\n.sf-fa-newspaper-o:before {\n content: "\\f1ea";\n}\n.sf-fa-wifi:before {\n content: "\\f1eb";\n}\n.sf-fa-calculator:before {\n content: "\\f1ec";\n}\n.sf-fa-paypal:before {\n content: "\\f1ed";\n}\n.sf-fa-google-wallet:before {\n content: "\\f1ee";\n}\n.sf-fa-cc-visa:before {\n content: "\\f1f0";\n}\n.sf-fa-cc-mastercard:before {\n content: "\\f1f1";\n}\n.sf-fa-cc-discover:before {\n content: "\\f1f2";\n}\n.sf-fa-cc-amex:before {\n content: "\\f1f3";\n}\n.sf-fa-cc-paypal:before {\n content: "\\f1f4";\n}\n.sf-fa-cc-stripe:before {\n content: "\\f1f5";\n}\n.sf-fa-bell-slash:before {\n content: "\\f1f6";\n}\n.sf-fa-bell-slash-o:before {\n content: "\\f1f7";\n}\n.sf-fa-trash:before {\n content: "\\f1f8";\n}\n.sf-fa-copyright:before {\n content: "\\f1f9";\n}\n.sf-fa-at:before {\n content: "\\f1fa";\n}\n.sf-fa-eyedropper:before {\n content: "\\f1fb";\n}\n.sf-fa-paint-brush:before {\n content: "\\f1fc";\n}\n.sf-fa-birthday-cake:before {\n content: "\\f1fd";\n}\n.sf-fa-area-chart:before {\n content: "\\f1fe";\n}\n.sf-fa-pie-chart:before {\n content: "\\f200";\n}\n.sf-fa-line-chart:before {\n content: "\\f201";\n}\n.sf-fa-lastfm:before {\n content: "\\f202";\n}\n.sf-fa-lastfm-square:before {\n content: "\\f203";\n}\n.sf-fa-toggle-off:before {\n content: "\\f204";\n}\n.sf-fa-toggle-on:before {\n content: "\\f205";\n}\n.sf-fa-bicycle:before {\n content: "\\f206";\n}\n.sf-fa-bus:before {\n content: "\\f207";\n}\n.sf-fa-ioxhost:before {\n content: "\\f208";\n}\n.sf-fa-angellist:before {\n content: "\\f209";\n}\n.sf-fa-cc:before {\n content: "\\f20a";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "\\f20b";\n}\n.sf-fa-meanpath:before {\n content: "\\f20c";\n}\n.sf-fa-buysellads:before {\n content: "\\f20d";\n}\n.sf-fa-connectdevelop:before {\n content: "\\f20e";\n}\n.sf-fa-dashcube:before {\n content: "\\f210";\n}\n.sf-fa-forumbee:before {\n content: "\\f211";\n}\n.sf-fa-leanpub:before {\n content: "\\f212";\n}\n.sf-fa-sellsy:before {\n content: "\\f213";\n}\n.sf-fa-shirtsinbulk:before {\n content: "\\f214";\n}\n.sf-fa-simplybuilt:before {\n content: "\\f215";\n}\n.sf-fa-skyatlas:before {\n content: "\\f216";\n}\n.sf-fa-cart-plus:before {\n content: "\\f217";\n}\n.sf-fa-cart-arrow-down:before {\n content: "\\f218";\n}\n.sf-fa-diamond:before {\n content: "\\f219";\n}\n.sf-fa-ship:before {\n content: "\\f21a";\n}\n.sf-fa-user-secret:before {\n content: "\\f21b";\n}\n.sf-fa-motorcycle:before {\n content: "\\f21c";\n}\n.sf-fa-street-view:before {\n content: "\\f21d";\n}\n.sf-fa-heartbeat:before {\n content: "\\f21e";\n}\n.sf-fa-venus:before {\n content: "\\f221";\n}\n.sf-fa-mars:before {\n content: "\\f222";\n}\n.sf-fa-mercury:before {\n content: "\\f223";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "\\f224";\n}\n.sf-fa-transgender-alt:before {\n content: "\\f225";\n}\n.sf-fa-venus-double:before {\n content: "\\f226";\n}\n.sf-fa-mars-double:before {\n content: "\\f227";\n}\n.sf-fa-venus-mars:before {\n content: "\\f228";\n}\n.sf-fa-mars-stroke:before {\n content: "\\f229";\n}\n.sf-fa-mars-stroke-v:before {\n content: "\\f22a";\n}\n.sf-fa-mars-stroke-h:before {\n content: "\\f22b";\n}\n.sf-fa-neuter:before {\n content: "\\f22c";\n}\n.sf-fa-genderless:before {\n content: "\\f22d";\n}\n.sf-fa-facebook-official:before {\n content: "\\f230";\n}\n.sf-fa-pinterest-p:before {\n content: "\\f231";\n}\n.sf-fa-whatsapp:before {\n content: "\\f232";\n}\n.sf-fa-server:before {\n content: "\\f233";\n}\n.sf-fa-user-plus:before {\n content: "\\f234";\n}\n.sf-fa-user-times:before {\n content: "\\f235";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "\\f236";\n}\n.sf-fa-viacoin:before {\n content: "\\f237";\n}\n.sf-fa-train:before {\n content: "\\f238";\n}\n.sf-fa-subway:before {\n content: "\\f239";\n}\n.sf-fa-medium:before {\n content: "\\f23a";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "\\f23b";\n}\n.sf-fa-optin-monster:before {\n content: "\\f23c";\n}\n.sf-fa-opencart:before {\n content: "\\f23d";\n}\n.sf-fa-expeditedssl:before {\n content: "\\f23e";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "\\f240";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "\\f241";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "\\f242";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "\\f243";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "\\f244";\n}\n.sf-fa-mouse-pointer:before {\n content: "\\f245";\n}\n.sf-fa-i-cursor:before {\n content: "\\f246";\n}\n.sf-fa-object-group:before {\n content: "\\f247";\n}\n.sf-fa-object-ungroup:before {\n content: "\\f248";\n}\n.sf-fa-sticky-note:before {\n content: "\\f249";\n}\n.sf-fa-sticky-note-o:before {\n content: "\\f24a";\n}\n.sf-fa-cc-jcb:before {\n content: "\\f24b";\n}\n.sf-fa-cc-diners-club:before {\n content: "\\f24c";\n}\n.sf-fa-clone:before {\n content: "\\f24d";\n}\n.sf-fa-balance-scale:before {\n content: "\\f24e";\n}\n.sf-fa-hourglass-o:before {\n content: "\\f250";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "\\f251";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "\\f252";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "\\f253";\n}\n.sf-fa-hourglass:before {\n content: "\\f254";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "\\f255";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "\\f256";\n}\n.sf-fa-hand-scissors-o:before {\n content: "\\f257";\n}\n.sf-fa-hand-lizard-o:before {\n content: "\\f258";\n}\n.sf-fa-hand-spock-o:before {\n content: "\\f259";\n}\n.sf-fa-hand-pointer-o:before {\n content: "\\f25a";\n}\n.sf-fa-hand-peace-o:before {\n content: "\\f25b";\n}\n.sf-fa-trademark:before {\n content: "\\f25c";\n}\n.sf-fa-registered:before {\n content: "\\f25d";\n}\n.sf-fa-creative-commons:before {\n content: "\\f25e";\n}\n.sf-fa-gg:before {\n content: "\\f260";\n}\n.sf-fa-gg-circle:before {\n content: "\\f261";\n}\n.sf-fa-tripadvisor:before {\n content: "\\f262";\n}\n.sf-fa-odnoklassniki:before {\n content: "\\f263";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "\\f264";\n}\n.sf-fa-get-pocket:before {\n content: "\\f265";\n}\n.sf-fa-wikipedia-w:before {\n content: "\\f266";\n}\n.sf-fa-safari:before {\n content: "\\f267";\n}\n.sf-fa-chrome:before {\n content: "\\f268";\n}\n.sf-fa-firefox:before {\n content: "\\f269";\n}\n.sf-fa-opera:before {\n content: "\\f26a";\n}\n.sf-fa-internet-explorer:before {\n content: "\\f26b";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "\\f26c";\n}\n.sf-fa-contao:before {\n content: "\\f26d";\n}\n.sf-fa-500px:before {\n content: "\\f26e";\n}\n.sf-fa-amazon:before {\n content: "\\f270";\n}\n.sf-fa-calendar-plus-o:before {\n content: "\\f271";\n}\n.sf-fa-calendar-minus-o:before {\n content: "\\f272";\n}\n.sf-fa-calendar-times-o:before {\n content: "\\f273";\n}\n.sf-fa-calendar-check-o:before {\n content: "\\f274";\n}\n.sf-fa-industry:before {\n content: "\\f275";\n}\n.sf-fa-map-pin:before {\n content: "\\f276";\n}\n.sf-fa-map-signs:before {\n content: "\\f277";\n}\n.sf-fa-map-o:before {\n content: "\\f278";\n}\n.sf-fa-map:before {\n content: "\\f279";\n}\n.sf-fa-commenting:before {\n content: "\\f27a";\n}\n.sf-fa-commenting-o:before {\n content: "\\f27b";\n}\n.sf-fa-houzz:before {\n content: "\\f27c";\n}\n.sf-fa-vimeo:before {\n content: "\\f27d";\n}\n.sf-fa-black-tie:before {\n content: "\\f27e";\n}\n.sf-fa-fonticons:before {\n content: "\\f280";\n}\n.sf-fa-reddit-alien:before {\n content: "\\f281";\n}\n.sf-fa-edge:before {\n content: "\\f282";\n}\n.sf-fa-credit-card-alt:before {\n content: "\\f283";\n}\n.sf-fa-codiepie:before {\n content: "\\f284";\n}\n.sf-fa-modx:before {\n content: "\\f285";\n}\n.sf-fa-fort-awesome:before {\n content: "\\f286";\n}\n.sf-fa-usb:before {\n content: "\\f287";\n}\n.sf-fa-product-hunt:before {\n content: "\\f288";\n}\n.sf-fa-mixcloud:before {\n content: "\\f289";\n}\n.sf-fa-scribd:before {\n content: "\\f28a";\n}\n.sf-fa-pause-circle:before {\n content: "\\f28b";\n}\n.sf-fa-pause-circle-o:before {\n content: "\\f28c";\n}\n.sf-fa-stop-circle:before {\n content: "\\f28d";\n}\n.sf-fa-stop-circle-o:before {\n content: "\\f28e";\n}\n.sf-fa-shopping-bag:before {\n content: "\\f290";\n}\n.sf-fa-shopping-basket:before {\n content: "\\f291";\n}\n.sf-fa-hashtag:before {\n content: "\\f292";\n}\n.sf-fa-bluetooth:before {\n content: "\\f293";\n}\n.sf-fa-bluetooth-b:before {\n content: "\\f294";\n}\n.sf-fa-percent:before {\n content: "\\f295";\n}\n.sf-fa-gitlab:before {\n content: "\\f296";\n}\n.sf-fa-wpbeginner:before {\n content: "\\f297";\n}\n.sf-fa-wpforms:before {\n content: "\\f298";\n}\n.sf-fa-envira:before {\n content: "\\f299";\n}\n.sf-fa-universal-access:before {\n content: "\\f29a";\n}\n.sf-fa-wheelchair-alt:before {\n content: "\\f29b";\n}\n.sf-fa-question-circle-o:before {\n content: "\\f29c";\n}\n.sf-fa-blind:before {\n content: "\\f29d";\n}\n.sf-fa-audio-description:before {\n content: "\\f29e";\n}\n.sf-fa-volume-control-phone:before {\n content: "\\f2a0";\n}\n.sf-fa-braille:before {\n content: "\\f2a1";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "\\f2a2";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "\\f2a3";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "\\f2a4";\n}\n.sf-fa-glide:before {\n content: "\\f2a5";\n}\n.sf-fa-glide-g:before {\n content: "\\f2a6";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "\\f2a7";\n}\n.sf-fa-low-vision:before {\n content: "\\f2a8";\n}\n.sf-fa-viadeo:before {\n content: "\\f2a9";\n}\n.sf-fa-viadeo-square:before {\n content: "\\f2aa";\n}\n.sf-fa-snapchat:before {\n content: "\\f2ab";\n}\n.sf-fa-snapchat-ghost:before {\n content: "\\f2ac";\n}\n.sf-fa-snapchat-square:before {\n content: "\\f2ad";\n}\n.sf-fa-pied-piper:before {\n content: "\\f2ae";\n}\n.sf-fa-first-order:before {\n content: "\\f2b0";\n}\n.sf-fa-yoast:before {\n content: "\\f2b1";\n}\n.sf-fa-themeisle:before {\n content: "\\f2b2";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "\\f2b3";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "\\f2b4";\n}\n.sf-fa-handshake-o:before {\n content: "\\f2b5";\n}\n.sf-fa-envelope-open:before {\n content: "\\f2b6";\n}\n.sf-fa-envelope-open-o:before {\n content: "\\f2b7";\n}\n.sf-fa-linode:before {\n content: "\\f2b8";\n}\n.sf-fa-address-book:before {\n content: "\\f2b9";\n}\n.sf-fa-address-book-o:before {\n content: "\\f2ba";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "\\f2bb";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "\\f2bc";\n}\n.sf-fa-user-circle:before {\n content: "\\f2bd";\n}\n.sf-fa-user-circle-o:before {\n content: "\\f2be";\n}\n.sf-fa-user-o:before {\n content: "\\f2c0";\n}\n.sf-fa-id-badge:before {\n content: "\\f2c1";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "\\f2c2";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "\\f2c3";\n}\n.sf-fa-quora:before {\n content: "\\f2c4";\n}\n.sf-fa-free-code-camp:before {\n content: "\\f2c5";\n}\n.sf-fa-telegram:before {\n content: "\\f2c6";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "\\f2c7";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "\\f2c8";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "\\f2c9";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "\\f2ca";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "\\f2cb";\n}\n.sf-fa-shower:before {\n content: "\\f2cc";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "\\f2cd";\n}\n.sf-fa-podcast:before {\n content: "\\f2ce";\n}\n.sf-fa-window-maximize:before {\n content: "\\f2d0";\n}\n.sf-fa-window-minimize:before {\n content: "\\f2d1";\n}\n.sf-fa-window-restore:before {\n content: "\\f2d2";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "\\f2d3";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "\\f2d4";\n}\n.sf-fa-bandcamp:before {\n content: "\\f2d5";\n}\n.sf-fa-grav:before {\n content: "\\f2d6";\n}\n.sf-fa-etsy:before {\n content: "\\f2d7";\n}\n.sf-fa-imdb:before {\n content: "\\f2d8";\n}\n.sf-fa-ravelry:before {\n content: "\\f2d9";\n}\n.sf-fa-eercast:before {\n content: "\\f2da";\n}\n.sf-fa-microchip:before {\n content: "\\f2db";\n}\n.sf-fa-snowflake-o:before {\n content: "\\f2dc";\n}\n.sf-fa-superpowers:before {\n content: "\\f2dd";\n}\n.sf-fa-wpexplorer:before {\n content: "\\f2de";\n}\n.sf-fa-meetup:before {\n content: "\\f2e0";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n:host {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal, auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert medium none invert;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: “ ” ‘ ’;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\nh1,\n.h1 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh2,\n.h2 {\n font-size: var(--font-size-h2);\n font-weight: 300;\n line-height: 1.3;\n color: var(--color-h2);\n margin-top: 0;\n margin-bottom: 0;\n}\nh3,\n.h3 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh4,\n.h4 {\n font-size: var(--font-size-h4);\n font-weight: bold;\n margin-top: 0;\n margin-bottom: 0;\n}\nh5,\n.h5 {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n}\nh1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n.h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\nh4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n.h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\np {\n margin-bottom: calc(var(--font-size-base) * 1.4);\n}\n/*\n Typography\n\n Headings\n\n Markup:\n

    H1 List Page Title

    \n

    H1 Detail Page Title

    \n

    H2 Group Title

    \n

    H3 Item Title

    \n

    H4 Form Label

    \n

    H4 Regular Label

    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings\n */\n/*\n Heading CSS Classes\n\n Markup:\n
    H1 List Page Title
    \n
    H1 Detail Page Title
    \n
    H2 Group Title
    \n
    H3 Item Title
    \n
    H4 Form Label
    \n
    H4 Regular Label
    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings-classes\n */\n/*\n Paragraph\n\n Markup:\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat. Nulla iaculis id sem eget ullamcorper. In ac euismod nunc. Fusce at tortor viverra, maximus quam quis, interdum velit. Mauris varius risus ut ante porttitor tempor.

    \n\n Styleguide: Typography.Paragraph\n*/\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-warning {\n color: #ED8527;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n fill: currentColor;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n.sf-icon__svg-template {\n width: 100%;\n max-height: 77px;\n max-width: 300px;\n}\n/*\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n.sf-notification {\n position: relative;\n display: flex;\n text-align: left;\n vertical-align: middle;\n padding: 10px 9px;\n border-radius: 3px;\n background-color: currentcolor;\n border-color: currentcolor;\n color: #DCECF5;\n}\n.sf-notification > * {\n color: #333;\n}\n.sf-notification.-info {\n color: #DCECF5;\n}\n.sf-notification.-info > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-success {\n color: #CAEED8;\n}\n.sf-notification.-success > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-error {\n color: #FFCCCC;\n}\n.sf-notification.-error > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-warning {\n color: #FFFFCC;\n}\n.sf-notification.-warning > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-black {\n color: #333;\n}\n.sf-notification.-black > *:not(.sf-notification__close-button) {\n color: #fff;\n}\n.sf-notification.-transparent {\n color: transparent;\n}\n.sf-notification.-transparent > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-small {\n padding: 0 20px;\n height: 32px;\n align-items: center;\n}\n.sf-notification.-inline {\n display: inline-flex;\n}\n.sf-notification.-preline .sf-notification__content {\n white-space: pre-line;\n}\n.sf-notification.-up, .sf-notification.-up-right, .sf-notification.-up-left {\n margin-bottom: 10px;\n}\n.sf-notification.-up:after, .sf-notification.-up:before, .sf-notification.-up-right:after, .sf-notification.-up-right:before, .sf-notification.-up-left:after, .sf-notification.-up-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-up:after, .sf-notification.-up-right:after, .sf-notification.-up-left:after {\n border-width: 10px;\n border-top-color: inherit;\n bottom: -20px;\n right: 50%;\n margin-right: -10px;\n}\n.sf-notification.-up:before, .sf-notification.-up-right:before, .sf-notification.-up-left:before {\n border-width: 11px;\n border-top-color: #e4e4e4;\n bottom: -22px;\n right: 50%;\n margin-right: -11px;\n}\n.sf-notification.-down, .sf-notification.-down-right, .sf-notification.-down-left {\n margin-top: 10px;\n}\n.sf-notification.-down:after, .sf-notification.-down:before, .sf-notification.-down-right:after, .sf-notification.-down-right:before, .sf-notification.-down-left:after, .sf-notification.-down-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-down:after, .sf-notification.-down-right:after, .sf-notification.-down-left:after {\n border-width: 10px;\n border-bottom-color: inherit;\n top: -20px;\n right: 50%;\n margin-right: -10px;\n}\n.sf-notification.-down:before, .sf-notification.-down-right:before, .sf-notification.-down-left:before {\n border-width: 11px;\n border-bottom-color: #e4e4e4;\n top: -22px;\n right: 50%;\n margin-right: -11px;\n}\n.sf-notification.-left, .sf-notification.-left-up, .sf-notification.-left-down {\n margin-right: 20px;\n}\n.sf-notification.-left:after, .sf-notification.-left:before, .sf-notification.-left-up:after, .sf-notification.-left-up:before, .sf-notification.-left-down:after, .sf-notification.-left-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-left:after, .sf-notification.-left-up:after, .sf-notification.-left-down:after {\n border-width: 10px;\n border-left-color: inherit;\n right: -20px;\n top: 50%;\n margin-top: -10px;\n}\n.sf-notification.-left:before, .sf-notification.-left-up:before, .sf-notification.-left-down:before {\n border-width: 11px;\n border-left-color: #e4e4e4;\n right: -22px;\n top: 50%;\n margin-top: -11px;\n}\n.sf-notification.-right, .sf-notification.-right-up, .sf-notification.-right-down {\n margin-left: 20px;\n}\n.sf-notification.-right:after, .sf-notification.-right:before, .sf-notification.-right-up:after, .sf-notification.-right-up:before, .sf-notification.-right-down:after, .sf-notification.-right-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-right:after, .sf-notification.-right-up:after, .sf-notification.-right-down:after {\n border-width: 10px;\n border-right-color: inherit;\n left: -20px;\n top: 50%;\n margin-top: -10px;\n}\n.sf-notification.-right:before, .sf-notification.-right-up:before, .sf-notification.-right-down:before {\n border-width: 11px;\n border-right-color: #e4e4e4;\n left: -22px;\n top: 50%;\n margin-top: -11px;\n}\n.sf-notification.-down-left:before, .sf-notification.-down-left:after, .sf-notification.-up-left:before, .sf-notification.-up-left:after {\n right: auto;\n left: 20px;\n}\n.sf-notification.-down-right:before, .sf-notification.-down-right:after, .sf-notification.-up-right:before, .sf-notification.-up-right:after {\n right: 20px;\n}\n.sf-notification.-left-down:before, .sf-notification.-left-down:after, .sf-notification.-right-down:before, .sf-notification.-right-down:after {\n bottom: 10px;\n top: auto;\n}\n.sf-notification.-left-up:before, .sf-notification.-left-up:after, .sf-notification.-right-up:before, .sf-notification.-right-up:after {\n top: 20px;\n}\n.sf-notification.-tooltip {\n padding: 20px;\n border: 1px solid #e4e4e4;\n border-radius: 0;\n box-shadow: 0 0 8px rgba(228, 228, 228, 0.6);\n}\n.sf-notification.-tooltip .sf-notification__close-button {\n position: absolute;\n top: 10px;\n right: 10px;\n}\n.sf-notification.-tooltip.-up:after {\n border-top-color: #DCECF5;\n}\n.sf-notification.-tooltip.-down:after {\n border-bottom-color: #DCECF5;\n}\n.sf-notification.-tooltip.-left:after {\n border-left-color: #DCECF5;\n}\n.sf-notification.-tooltip.-right:after {\n border-right-color: #DCECF5;\n}\n.sf-notification.-tooltip.-down-left:after {\n border-bottom-color: #DCECF5;\n}\n.sf-notification.-tooltip.-down-right:after {\n border-bottom-color: #DCECF5;\n}\n.sf-notification.-tooltip.-up-left:after {\n border-top-color: #DCECF5;\n}\n.sf-notification.-tooltip.-up-right:after {\n border-top-color: #DCECF5;\n}\n.sf-notification.-tooltip.-left-down:after {\n border-left-color: #DCECF5;\n}\n.sf-notification.-tooltip.-left-up:after {\n border-left-color: #DCECF5;\n}\n.sf-notification.-tooltip.-right-down:after {\n border-right-color: #DCECF5;\n}\n.sf-notification.-tooltip.-right-up:after {\n border-right-color: #DCECF5;\n}\n.sf-notification.-help {\n display: block;\n padding: 30px;\n}\n.sf-notification.-faq {\n position: absolute;\n margin-bottom: 5px;\n bottom: 100%;\n right: 0;\n width: 290px;\n}\n.sf-notification.-fixed {\n max-width: 850px;\n}\n.sf-notification.-toolset {\n display: inline-block;\n padding: 0;\n height: 55px;\n line-height: 55px;\n}\n.sf-notification.-toolset .sf-notification__content {\n display: flex;\n height: 100%;\n}\n.sf-notification.-toolset .sf-notification__tool {\n padding-left: 20px;\n padding-right: 20px;\n}\n.sf-notification.-toolset .sf-notification__tool-group {\n display: inline-flex;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n white-space: nowrap;\n}\n.sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button {\n padding: 5px;\n}\n.sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button:not(:first-of-type) {\n margin-left: 10px;\n}\n.sf-notification.-toolset .sf-notification__tool-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n}\n.sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n}\n.sf-notification.-toolset .sf-notification__tool-button:hover.-active {\n color: #fff;\n}\n.sf-notification.-toolset .sf-notification__tool-button.-active {\n background-color: #999;\n}\n.sf-notification.-toolset .sf-notification__tool-dropdown {\n min-width: 200px;\n margin-left: 20px;\n padding: 5px;\n color: inherit;\n background-color: inherit;\n}\n.sf-notification.-toolset .sf-notification__tool-link {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n display: inline-block;\n max-width: 200px;\n vertical-align: middle;\n padding-left: 20px;\n}\n.sf-notification.-toolset .sf-notification__tool-separator {\n display: inline-block;\n width: 1px;\n background-color: #777;\n}\n.sf-notification.-narrow {\n width: 250px;\n}\n.sf-notification.-medium {\n width: 350px;\n}\n.sf-notification__close-button {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n display: block;\n margin-left: 10px;\n order: 4;\n line-height: inherit;\n cursor: pointer;\n}\n.sf-notification__close-button .sf-icon:hover {\n color: #333;\n}\n.sf-notification__content {\n flex: 1;\n order: 2;\n max-width: 100%;\n word-break: normal;\n}\n.sf-notification__separator {\n vertical-align: middle;\n margin-left: 10px;\n margin-right: 10px;\n}\n.sf-notification-wrapper {\n position: fixed;\n top: 60px;\n left: 0;\n width: 100%;\n text-align: center;\n z-index: 10000;\n height: 0;\n}\n/*\n Notification\n */\n/*\n info Notification\n\n `.sf-notification.-info`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n success Notification\n\n `.sf-notification.-success`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n error Notification\n\n `.sf-notification.-error`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n warning Notification\n\n `.sf-notification.-warning`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n black Notification\n\n `.sf-notification.-black`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n transparent Notification\n\n `.sf-notification.-transparent`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n * info notification with close button\n\n `.sf-notification.-success`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.with-close\n */\n/*\n Inline notification (as wide as the content in it)\n\n `.sf-notification.-inline`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.inline\n */\n/*\n Notification with bottom up\n\n `.sf-notification.-info.-up`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.bottom-up\n*/\n/*\n Notification with top arrow\n\n `.sf-notification.-info.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.loader-big\n*/\n/*\n Notification with right arrow\n\n `.sf-notification.-info.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.right-arrow\n*/\n/*\n Notification with left arrow\n\n `.sf-notification.-info.-right`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.left-arrow\n*/\n/*\n Notification as tooltip\n\n `.sf-notification.-tooltip`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip\n */\n/*\n Notification as tooltip with top left arrow\n\n `.sf-notification.-tooltip.-down-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n Styleguide: Notification.tooltip-with-top-left-arrow\n*/\n/*\n Notification as tooltip with top right arrow and close button\n\n `.sf-notification.-tooltip.-down-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-top-right-arrow\n*/\n/*\n Notification as tooltip with left arrow\n\n `.sf-notification.-tooltip.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-left-arrow\n*/\n/*\n Notification as tooltip with right arrow\n\n `.sf-notification.-tooltip.-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-right-arrow\n*/\n/*\n Notification as tooltip with down arrow\n\n `.sf-notification.-tooltip.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-down-arrow\n*/\n/*\n Notification as tooltip with up arrow\n\n `.sf-notification.-tooltip.-up`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-up-arrow\n*/\n/*\n Edit item notification\n\n `.sf-notification.-success.-fixed.-inline`\n\n Markup:\n
    \n \t
    \n \t
    \n \t\tContent has been published successfully.\n \t
    \n
    \n\n Styleguide: Notification.edit-item\n*/\n/*\n Notification as toolset for link\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n https://drive.google.com/drive/folders/\n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-link\n*/\n/*\n Notification as toolset for other objects\n\n `.sf-notification.-toolset.-black.-up`\n\n Markup:\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-other-objects\n*/\n/*\n Notification as toolset for styles menu\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-styles-menu\n*/\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\n.sf-dropdown {\n overflow: hidden;\n overflow-y: auto;\n position: relative;\n display: inline-block;\n}\n.sf-dropdown:not(.-empty) {\n padding: 10px 0;\n min-width: 200px;\n white-space: nowrap;\n border: 1px solid var(--dropdown-border);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n background-color: #fff;\n color: #333;\n max-height: calc(100vh - 46px);\n}\n.sf-dropdown.-condensed {\n padding-top: 0;\n padding-bottom: 0;\n}\n.sf-dropdown.-color-picker {\n width: 231px;\n padding: 4px;\n}\n.sf-dropdown__item {\n display: flex;\n flex-wrap: nowrap;\n width: auto;\n position: relative;\n margin-bottom: 1px;\n padding: 3px 20px;\n word-break: break-all;\n transition: background-color 0.3s, color 0.3s;\n cursor: pointer;\n}\n.sf-dropdown__item:hover, .sf-dropdown__item:focus {\n background-color: #f5f5f5;\n}\n.sf-dropdown__item:hover .sf-dropdown__delete, .sf-dropdown__item:focus .sf-dropdown__delete {\n display: block;\n}\n.sf-dropdown__item.-active {\n background-color: #eee;\n}\n.sf-dropdown__item.-not-clickable {\n cursor: default;\n}\n.sf-dropdown__item.-not-clickable:hover, .sf-dropdown__item.-not-clickable:focus {\n background-color: transparent;\n outline: 0;\n}\n.sf-dropdown__item[disabled], .sf-dropdown__item.-disabled {\n color: #adadad;\n cursor: default;\n pointer-events: none;\n}\n.sf-dropdown__delete {\n display: none;\n margin-left: auto;\n}\n.sf-dropdown__no-items {\n padding: 5px 10px 30px;\n color: #999;\n cursor: default;\n}\n.sf-dropdown__heading {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n padding: 10px 20px 8px;\n line-height: 1;\n cursor: default;\n}\n.sf-dropdown__heading.-condensed {\n padding-left: 10px;\n padding-right: 10px;\n}\n.sf-dropdown__heading:hover {\n background: transparent;\n}\n.sf-dropdown__notification {\n margin: 5px 20px 15px;\n white-space: normal;\n cursor: default;\n}\n.sf-dropdown__content {\n cursor: default;\n}\n.sf-dropdown__separator {\n margin-top: 10px;\n padding-top: 10px;\n border-top: 1px solid #eee;\n cursor: default;\n}\n.sf-dropdown__description {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n display: block;\n text-transform: uppercase;\n line-height: 1;\n}\n.sf-dropdown__counter {\n margin-left: auto;\n min-width: 50px;\n text-align: right;\n}\n.sf-dropdown__counter.-positive {\n color: var(--color-success);\n}\n.sf-dropdown__counter.-neutral {\n color: var(--dropdown-item-counter-neutral);\n}\n.sf-dropdown__icon {\n font-size: inherit;\n margin-top: -5px;\n}\n/*\n Default Dropdown\n\n `.sf-dropdown`\n\n Markup:\n
    \n
    \n Pages\n
    \n
    \n Blogs14\n
    \n
    \n News items0\n
    \n
    \n
    \n
    \n Pages\n
    \n
    \n Blogs\n
    \n
    \n
    \n
    \n News items\n
    \n
    \n Blog posts\n
    \n
    \n
    \n
    \n Pages\n
    \n
    \n Lists\n
    \n
    \n Restaurants\n
    \n
    \n\n Styleguide: Dropdown.default\n*/\n/*\n Dropdown with no items\n\n `.sf-dropdown .sf-dropdown__no-items`\n\n Markup:\n
    \n
    \n No items\n
    \n
    \n\n Styleguide: Dropdown.no-items\n*/\n/*\n Dropdown without top and bottom padding\n\n `.sf-dropdown.-condensed`\n\n Markup:\n
    \n
    \n Restaurants\n
    \n
    \n Hotels\n
    \n
    \n
    \n
    \n Clubs\n
    \n
    \n Show all related items\n
    \n
    \n\n Styleguide: Dropdown.no-vertical-padding\n*/'},function(e){e.exports='\n
    \n {{feedback.errorMessage}}\n
    \n\n\n
    \n \n
    \n \n \n
    \n
    \n
    \n'},function(e){e.exports='
    \n \n \n
    \n \n \n
    \n'},function(e){e.exports='\n\n\n\n
    \n
    \n \n \n \n \n
    \n
    \n\n
    \n'},function(e){e.exports='
    \n
    \n \n \n
    \n\n \n
    \n \n \n \n \n
    \n
    \n\n
    \n
    \n \n \n \n \n \n
    \n
    \n \n

    No {{ entityData.metadata.displayName | lowercase }} have been created

    \n
    \n
    \n \n
    \n
    \n
    \n'},function(e){e.exports='
    \n \n\n \n\n \n
    \n'},function(e){e.exports='
    \n \n \n \n \n \n \n \n Custom filter\n \n
    \n'},function(e){e.exports='
    \n

    Custom filter

    \n
    \n \n \n \n \n \n \n
    \n
    \n\n \n\n
    \n'},function(e){e.exports='\n\n\n\n \n \n \n \n \n \n \n \n\n\n
    \n

    {{navbarConfiguration.title | async}}

    \n \n \n
    \n \n \n
    \n\n \n \n \n\n'},function(e){e.exports='
    \n\n \n \n \n\n \n \n \n \n \n\n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n\n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n \x3c!-- Do not use *ngIf by stickyToolbar.isSticky. Destroying components on scroll breaks UI. --\x3e\n
    \n
    \n \n
    \n Back to top\n
    \n \n
    \n
    \n
    \n'},function(e){e.exports='\n\n\n
    \n

    {{description}}

    \n \n
    \n

    {{dataItem.title}}

    \n \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n\n\n \n \n \n \n \n \n\n \n \n \n\n\n\n \n \n \n\n\n\n
    \n {{node.data.dataItem.Title}}\n {{node.data.dataItem.LiveUrl}}\n
    \n
    \n\n\n \n

    {{noItemsLabel}}

    \n
    \n\n\n
    \n \n \n \n
    \n
    \n'},function(e){e.exports='

    {{title}}

    \n
    \n {{description}}\n \n \n
    \n'},function(e){e.exports='

    Preview for mobile

    \n\n
    \n \n
    \n
    \n
    {{breakpoint.width}}
    \n
    {{breakpoint.width}}
    \n
    \n
    \n
    \n \n
    {{sliderValue}}
    \n
    \n
    \n
    \n \n
    {{sliderValue}}
    \n
    \n
    \n
    \n
    \n'},function(e){e.exports='.sf-ruler {\n position: absolute;\n height: 46px;\n width: calc(var(--ruler-width) * 1px);\n top: 46px;\n left: 50%;\n margin-top: -46px;\n margin-left: calc(var(--ruler-width) / 2 * -1px);\n z-index: 1;\n}\n.sf-ruler__icon {\n position: absolute;\n margin-left: -15px;\n min-width: 30px;\n height: 46px;\n z-index: 1000000;\n}\n.sf-ruler__break-point {\n position: absolute;\n left: 50%;\n margin-left: calc(var(--width) / 2 * -1px);\n border-left: 1px dashed #ccc;\n border-right: 1px dashed #ccc;\n height: 100%;\n width: calc(var(--width) * 1px);\n z-index: var(--z-index);\n cursor: pointer;\n}\n.sf-ruler__break-point:hover {\n background-color: #dcecf5;\n}\n.sf-ruler__label {\n position: absolute;\n bottom: 6px;\n padding-bottom: 2px;\n font-size: 10px;\n color: #999;\n min-width: 26px;\n text-align: center;\n}\n.sf-ruler__label.-left {\n left: -13px;\n}\n.sf-ruler__label.-right {\n right: -13px;\n}\n.sf-ruler__label.-main {\n left: -2px;\n}\n.sf-ruler__arrow {\n position: absolute;\n bottom: 0;\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #ccc;\n}\n.sf-ruler__arrow.-left {\n left: -6px;\n}\n.sf-ruler__arrow.-right {\n right: -6px;\n}\n.sf-ruler__arrow.-main {\n left: 5px;\n}\n.sf-ruler__main-arrow {\n position: absolute;\n top: 0;\n width: 20px;\n height: 46px;\n padding-top: 4px;\n z-index: var(--z-index);\n cursor: ew-resize;\n}\n.sf-ruler__main-arrow::before {\n position: absolute;\n display: block;\n content: "";\n height: 46px;\n width: 1px;\n left: 10px;\n top: -4px;\n border-left: 1px dashed #ccc;\n z-index: -1;\n}\n.sf-ruler__main-arrow.-left {\n left: calc(var(--left) * 1px - 10px);\n}\n.sf-ruler__main-arrow.-right {\n right: calc(var(--right) * 1px - 10px);\n}\n.sf-ruler__main-arrow.-right .sf-ruler__label.-main {\n left: -4px;\n}\n.sf-ruler__drag-overlay {\n position: absolute;\n top: 46px;\n left: 0;\n right: 0;\n bottom: 0;\n height: calc(100vh - 46px);\n width: 100vw;\n z-index: 1000000;\n}'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n \n Widget cannot be displayed. Actual error is: {{error}}\n \n\n \n {{warning}}\n \n
    \n'},function(e){e.exports='\n \n \n {{label}}\n {{tooltip}}\n \n\n'},function(e){e.exports='@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host article, :host aside, :host details, :host figcaption, :host figure, :host footer, :host header, :host hgroup, :host main, :host nav, :host section, :host summary,\n:host button, :host input, :host optgroup, :host select, :host textarea,\n:host h1, :host h2, :host h3, :host h4, :host h5, :host h6,\n:host p, :host blockquote, :host pre,\n:host dl, :host dd, :host ol, :host ul, :host li,\n:host form, :host fieldset, :host legend, :host label,\n:host table, :host th, :host td, :host caption,\n:host hr {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal, auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert medium none invert;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: “ ” ‘ ’;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n}\n:host {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:host {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:host {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:host {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:host {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:host {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:host {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:host {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:host {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.8rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:host {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:host {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:host {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:host {\n --select-arrow-color: #777;\n}\n:host {\n --input-box-shadow-hover: #e4e4e4;\n}\n:host {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:host {\n --secondary-text-color: #999;\n}\n:host {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:host {\n --tree-list-expander-color: #777;\n}\n:host {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 48px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: "FontAwesome";\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0");\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("/assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("/assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");\n font-weight: normal;\n font-style: normal;\n}\n.sf-fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.sf-fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.sf-fa-2x {\n font-size: 2em;\n}\n.sf-fa-3x {\n font-size: 3em;\n}\n.sf-fa-4x {\n font-size: 4em;\n}\n.sf-fa-5x {\n font-size: 5em;\n}\n.sf-fa-fw {\n width: 1.2857142857em;\n text-align: center;\n}\n.sf-fa-ul {\n padding-left: 0;\n margin-left: 2.1428571429em;\n list-style-type: none;\n}\n.sf-fa-ul > li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "\\f000";\n}\n.sf-fa-music:before {\n content: "\\f001";\n}\n.sf-fa-search:before {\n content: "\\f002";\n}\n.sf-fa-envelope-o:before {\n content: "\\f003";\n}\n.sf-fa-heart:before {\n content: "\\f004";\n}\n.sf-fa-star:before {\n content: "\\f005";\n}\n.sf-fa-star-o:before {\n content: "\\f006";\n}\n.sf-fa-user:before {\n content: "\\f007";\n}\n.sf-fa-film:before {\n content: "\\f008";\n}\n.sf-fa-th-large:before {\n content: "\\f009";\n}\n.sf-fa-th:before {\n content: "\\f00a";\n}\n.sf-fa-th-list:before {\n content: "\\f00b";\n}\n.sf-fa-check:before {\n content: "\\f00c";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "\\f00d";\n}\n.sf-fa-search-plus:before {\n content: "\\f00e";\n}\n.sf-fa-search-minus:before {\n content: "\\f010";\n}\n.sf-fa-power-off:before {\n content: "\\f011";\n}\n.sf-fa-signal:before {\n content: "\\f012";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "\\f013";\n}\n.sf-fa-trash-o:before {\n content: "\\f014";\n}\n.sf-fa-home:before {\n content: "\\f015";\n}\n.sf-fa-file-o:before {\n content: "\\f016";\n}\n.sf-fa-clock-o:before {\n content: "\\f017";\n}\n.sf-fa-road:before {\n content: "\\f018";\n}\n.sf-fa-download:before {\n content: "\\f019";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "\\f01a";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "\\f01b";\n}\n.sf-fa-inbox:before {\n content: "\\f01c";\n}\n.sf-fa-play-circle-o:before {\n content: "\\f01d";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "\\f01e";\n}\n.sf-fa-refresh:before {\n content: "\\f021";\n}\n.sf-fa-list-alt:before {\n content: "\\f022";\n}\n.sf-fa-lock:before {\n content: "\\f023";\n}\n.sf-fa-flag:before {\n content: "\\f024";\n}\n.sf-fa-headphones:before {\n content: "\\f025";\n}\n.sf-fa-volume-off:before {\n content: "\\f026";\n}\n.sf-fa-volume-down:before {\n content: "\\f027";\n}\n.sf-fa-volume-up:before {\n content: "\\f028";\n}\n.sf-fa-qrcode:before {\n content: "\\f029";\n}\n.sf-fa-barcode:before {\n content: "\\f02a";\n}\n.sf-fa-tag:before {\n content: "\\f02b";\n}\n.sf-fa-tags:before {\n content: "\\f02c";\n}\n.sf-fa-book:before {\n content: "\\f02d";\n}\n.sf-fa-bookmark:before {\n content: "\\f02e";\n}\n.sf-fa-print:before {\n content: "\\f02f";\n}\n.sf-fa-camera:before {\n content: "\\f030";\n}\n.sf-fa-font:before {\n content: "\\f031";\n}\n.sf-fa-bold:before {\n content: "\\f032";\n}\n.sf-fa-italic:before {\n content: "\\f033";\n}\n.sf-fa-text-height:before {\n content: "\\f034";\n}\n.sf-fa-text-width:before {\n content: "\\f035";\n}\n.sf-fa-align-left:before {\n content: "\\f036";\n}\n.sf-fa-align-center:before {\n content: "\\f037";\n}\n.sf-fa-align-right:before {\n content: "\\f038";\n}\n.sf-fa-align-justify:before {\n content: "\\f039";\n}\n.sf-fa-list:before {\n content: "\\f03a";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "\\f03b";\n}\n.sf-fa-indent:before {\n content: "\\f03c";\n}\n.sf-fa-video-camera:before {\n content: "\\f03d";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "\\f03e";\n}\n.sf-fa-pencil:before {\n content: "\\f040";\n}\n.sf-fa-map-marker:before {\n content: "\\f041";\n}\n.sf-fa-adjust:before {\n content: "\\f042";\n}\n.sf-fa-tint:before {\n content: "\\f043";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "\\f044";\n}\n.sf-fa-share-square-o:before {\n content: "\\f045";\n}\n.sf-fa-check-square-o:before {\n content: "\\f046";\n}\n.sf-fa-arrows:before {\n content: "\\f047";\n}\n.sf-fa-step-backward:before {\n content: "\\f048";\n}\n.sf-fa-fast-backward:before {\n content: "\\f049";\n}\n.sf-fa-backward:before {\n content: "\\f04a";\n}\n.sf-fa-play:before {\n content: "\\f04b";\n}\n.sf-fa-pause:before {\n content: "\\f04c";\n}\n.sf-fa-stop:before {\n content: "\\f04d";\n}\n.sf-fa-forward:before {\n content: "\\f04e";\n}\n.sf-fa-fast-forward:before {\n content: "\\f050";\n}\n.sf-fa-step-forward:before {\n content: "\\f051";\n}\n.sf-fa-eject:before {\n content: "\\f052";\n}\n.sf-fa-chevron-left:before {\n content: "\\f053";\n}\n.sf-fa-chevron-right:before {\n content: "\\f054";\n}\n.sf-fa-plus-circle:before {\n content: "\\f055";\n}\n.sf-fa-minus-circle:before {\n content: "\\f056";\n}\n.sf-fa-times-circle:before {\n content: "\\f057";\n}\n.sf-fa-check-circle:before {\n content: "\\f058";\n}\n.sf-fa-question-circle:before {\n content: "\\f059";\n}\n.sf-fa-info-circle:before {\n content: "\\f05a";\n}\n.sf-fa-crosshairs:before {\n content: "\\f05b";\n}\n.sf-fa-times-circle-o:before {\n content: "\\f05c";\n}\n.sf-fa-check-circle-o:before {\n content: "\\f05d";\n}\n.sf-fa-ban:before {\n content: "\\f05e";\n}\n.sf-fa-arrow-left:before {\n content: "\\f060";\n}\n.sf-fa-arrow-right:before {\n content: "\\f061";\n}\n.sf-fa-arrow-up:before {\n content: "\\f062";\n}\n.sf-fa-arrow-down:before {\n content: "\\f063";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "\\f064";\n}\n.sf-fa-expand:before {\n content: "\\f065";\n}\n.sf-fa-compress:before {\n content: "\\f066";\n}\n.sf-fa-plus:before {\n content: "\\f067";\n}\n.sf-fa-minus:before {\n content: "\\f068";\n}\n.sf-fa-asterisk:before {\n content: "\\f069";\n}\n.sf-fa-exclamation-circle:before {\n content: "\\f06a";\n}\n.sf-fa-gift:before {\n content: "\\f06b";\n}\n.sf-fa-leaf:before {\n content: "\\f06c";\n}\n.sf-fa-fire:before {\n content: "\\f06d";\n}\n.sf-fa-eye:before {\n content: "\\f06e";\n}\n.sf-fa-eye-slash:before {\n content: "\\f070";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "\\f071";\n}\n.sf-fa-plane:before {\n content: "\\f072";\n}\n.sf-fa-calendar:before {\n content: "\\f073";\n}\n.sf-fa-random:before {\n content: "\\f074";\n}\n.sf-fa-comment:before {\n content: "\\f075";\n}\n.sf-fa-magnet:before {\n content: "\\f076";\n}\n.sf-fa-chevron-up:before {\n content: "\\f077";\n}\n.sf-fa-chevron-down:before {\n content: "\\f078";\n}\n.sf-fa-retweet:before {\n content: "\\f079";\n}\n.sf-fa-shopping-cart:before {\n content: "\\f07a";\n}\n.sf-fa-folder:before {\n content: "\\f07b";\n}\n.sf-fa-folder-open:before {\n content: "\\f07c";\n}\n.sf-fa-arrows-v:before {\n content: "\\f07d";\n}\n.sf-fa-arrows-h:before {\n content: "\\f07e";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "\\f080";\n}\n.sf-fa-twitter-square:before {\n content: "\\f081";\n}\n.sf-fa-facebook-square:before {\n content: "\\f082";\n}\n.sf-fa-camera-retro:before {\n content: "\\f083";\n}\n.sf-fa-key:before {\n content: "\\f084";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "\\f085";\n}\n.sf-fa-comments:before {\n content: "\\f086";\n}\n.sf-fa-thumbs-o-up:before {\n content: "\\f087";\n}\n.sf-fa-thumbs-o-down:before {\n content: "\\f088";\n}\n.sf-fa-star-half:before {\n content: "\\f089";\n}\n.sf-fa-heart-o:before {\n content: "\\f08a";\n}\n.sf-fa-sign-out:before {\n content: "\\f08b";\n}\n.sf-fa-linkedin-square:before {\n content: "\\f08c";\n}\n.sf-fa-thumb-tack:before {\n content: "\\f08d";\n}\n.sf-fa-external-link:before {\n content: "\\f08e";\n}\n.sf-fa-sign-in:before {\n content: "\\f090";\n}\n.sf-fa-trophy:before {\n content: "\\f091";\n}\n.sf-fa-github-square:before {\n content: "\\f092";\n}\n.sf-fa-upload:before {\n content: "\\f093";\n}\n.sf-fa-lemon-o:before {\n content: "\\f094";\n}\n.sf-fa-phone:before {\n content: "\\f095";\n}\n.sf-fa-square-o:before {\n content: "\\f096";\n}\n.sf-fa-bookmark-o:before {\n content: "\\f097";\n}\n.sf-fa-phone-square:before {\n content: "\\f098";\n}\n.sf-fa-twitter:before {\n content: "\\f099";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "\\f09a";\n}\n.sf-fa-github:before {\n content: "\\f09b";\n}\n.sf-fa-unlock:before {\n content: "\\f09c";\n}\n.sf-fa-credit-card:before {\n content: "\\f09d";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "\\f09e";\n}\n.sf-fa-hdd-o:before {\n content: "\\f0a0";\n}\n.sf-fa-bullhorn:before {\n content: "\\f0a1";\n}\n.sf-fa-bell:before {\n content: "\\f0f3";\n}\n.sf-fa-certificate:before {\n content: "\\f0a3";\n}\n.sf-fa-hand-o-right:before {\n content: "\\f0a4";\n}\n.sf-fa-hand-o-left:before {\n content: "\\f0a5";\n}\n.sf-fa-hand-o-up:before {\n content: "\\f0a6";\n}\n.sf-fa-hand-o-down:before {\n content: "\\f0a7";\n}\n.sf-fa-arrow-circle-left:before {\n content: "\\f0a8";\n}\n.sf-fa-arrow-circle-right:before {\n content: "\\f0a9";\n}\n.sf-fa-arrow-circle-up:before {\n content: "\\f0aa";\n}\n.sf-fa-arrow-circle-down:before {\n content: "\\f0ab";\n}\n.sf-fa-globe:before {\n content: "\\f0ac";\n}\n.sf-fa-wrench:before {\n content: "\\f0ad";\n}\n.sf-fa-tasks:before {\n content: "\\f0ae";\n}\n.sf-fa-filter:before {\n content: "\\f0b0";\n}\n.sf-fa-briefcase:before {\n content: "\\f0b1";\n}\n.sf-fa-arrows-alt:before {\n content: "\\f0b2";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "\\f0c0";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "\\f0c1";\n}\n.sf-fa-cloud:before {\n content: "\\f0c2";\n}\n.sf-fa-flask:before {\n content: "\\f0c3";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "\\f0c4";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "\\f0c5";\n}\n.sf-fa-paperclip:before {\n content: "\\f0c6";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "\\f0c7";\n}\n.sf-fa-square:before {\n content: "\\f0c8";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "\\f0c9";\n}\n.sf-fa-list-ul:before {\n content: "\\f0ca";\n}\n.sf-fa-list-ol:before {\n content: "\\f0cb";\n}\n.sf-fa-strikethrough:before {\n content: "\\f0cc";\n}\n.sf-fa-underline:before {\n content: "\\f0cd";\n}\n.sf-fa-table:before {\n content: "\\f0ce";\n}\n.sf-fa-magic:before {\n content: "\\f0d0";\n}\n.sf-fa-truck:before {\n content: "\\f0d1";\n}\n.sf-fa-pinterest:before {\n content: "\\f0d2";\n}\n.sf-fa-pinterest-square:before {\n content: "\\f0d3";\n}\n.sf-fa-google-plus-square:before {\n content: "\\f0d4";\n}\n.sf-fa-google-plus:before {\n content: "\\f0d5";\n}\n.sf-fa-money:before {\n content: "\\f0d6";\n}\n.sf-fa-caret-down:before {\n content: "\\f0d7";\n}\n.sf-fa-caret-up:before {\n content: "\\f0d8";\n}\n.sf-fa-caret-left:before {\n content: "\\f0d9";\n}\n.sf-fa-caret-right:before {\n content: "\\f0da";\n}\n.sf-fa-columns:before {\n content: "\\f0db";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "\\f0dc";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "\\f0dd";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "\\f0de";\n}\n.sf-fa-envelope:before {\n content: "\\f0e0";\n}\n.sf-fa-linkedin:before {\n content: "\\f0e1";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "\\f0e2";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "\\f0e3";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "\\f0e4";\n}\n.sf-fa-comment-o:before {\n content: "\\f0e5";\n}\n.sf-fa-comments-o:before {\n content: "\\f0e6";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "\\f0e7";\n}\n.sf-fa-sitemap:before {\n content: "\\f0e8";\n}\n.sf-fa-umbrella:before {\n content: "\\f0e9";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "\\f0ea";\n}\n.sf-fa-lightbulb-o:before {\n content: "\\f0eb";\n}\n.sf-fa-exchange:before {\n content: "\\f0ec";\n}\n.sf-fa-cloud-download:before {\n content: "\\f0ed";\n}\n.sf-fa-cloud-upload:before {\n content: "\\f0ee";\n}\n.sf-fa-user-md:before {\n content: "\\f0f0";\n}\n.sf-fa-stethoscope:before {\n content: "\\f0f1";\n}\n.sf-fa-suitcase:before {\n content: "\\f0f2";\n}\n.sf-fa-bell-o:before {\n content: "\\f0a2";\n}\n.sf-fa-coffee:before {\n content: "\\f0f4";\n}\n.sf-fa-cutlery:before {\n content: "\\f0f5";\n}\n.sf-fa-file-text-o:before {\n content: "\\f0f6";\n}\n.sf-fa-building-o:before {\n content: "\\f0f7";\n}\n.sf-fa-hospital-o:before {\n content: "\\f0f8";\n}\n.sf-fa-ambulance:before {\n content: "\\f0f9";\n}\n.sf-fa-medkit:before {\n content: "\\f0fa";\n}\n.sf-fa-fighter-jet:before {\n content: "\\f0fb";\n}\n.sf-fa-beer:before {\n content: "\\f0fc";\n}\n.sf-fa-h-square:before {\n content: "\\f0fd";\n}\n.sf-fa-plus-square:before {\n content: "\\f0fe";\n}\n.sf-fa-angle-double-left:before {\n content: "\\f100";\n}\n.sf-fa-angle-double-right:before {\n content: "\\f101";\n}\n.sf-fa-angle-double-up:before {\n content: "\\f102";\n}\n.sf-fa-angle-double-down:before {\n content: "\\f103";\n}\n.sf-fa-angle-left:before {\n content: "\\f104";\n}\n.sf-fa-angle-right:before {\n content: "\\f105";\n}\n.sf-fa-angle-up:before {\n content: "\\f106";\n}\n.sf-fa-angle-down:before {\n content: "\\f107";\n}\n.sf-fa-desktop:before {\n content: "\\f108";\n}\n.sf-fa-laptop:before {\n content: "\\f109";\n}\n.sf-fa-tablet:before {\n content: "\\f10a";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "\\f10b";\n}\n.sf-fa-circle-o:before {\n content: "\\f10c";\n}\n.sf-fa-quote-left:before {\n content: "\\f10d";\n}\n.sf-fa-quote-right:before {\n content: "\\f10e";\n}\n.sf-fa-spinner:before {\n content: "\\f110";\n}\n.sf-fa-circle:before {\n content: "\\f111";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "\\f112";\n}\n.sf-fa-github-alt:before {\n content: "\\f113";\n}\n.sf-fa-folder-o:before {\n content: "\\f114";\n}\n.sf-fa-folder-open-o:before {\n content: "\\f115";\n}\n.sf-fa-smile-o:before {\n content: "\\f118";\n}\n.sf-fa-frown-o:before {\n content: "\\f119";\n}\n.sf-fa-meh-o:before {\n content: "\\f11a";\n}\n.sf-fa-gamepad:before {\n content: "\\f11b";\n}\n.sf-fa-keyboard-o:before {\n content: "\\f11c";\n}\n.sf-fa-flag-o:before {\n content: "\\f11d";\n}\n.sf-fa-flag-checkered:before {\n content: "\\f11e";\n}\n.sf-fa-terminal:before {\n content: "\\f120";\n}\n.sf-fa-code:before {\n content: "\\f121";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "\\f122";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "\\f123";\n}\n.sf-fa-location-arrow:before {\n content: "\\f124";\n}\n.sf-fa-crop:before {\n content: "\\f125";\n}\n.sf-fa-code-fork:before {\n content: "\\f126";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "\\f127";\n}\n.sf-fa-question:before {\n content: "\\f128";\n}\n.sf-fa-info:before {\n content: "\\f129";\n}\n.sf-fa-exclamation:before {\n content: "\\f12a";\n}\n.sf-fa-superscript:before {\n content: "\\f12b";\n}\n.sf-fa-subscript:before {\n content: "\\f12c";\n}\n.sf-fa-eraser:before {\n content: "\\f12d";\n}\n.sf-fa-puzzle-piece:before {\n content: "\\f12e";\n}\n.sf-fa-microphone:before {\n content: "\\f130";\n}\n.sf-fa-microphone-slash:before {\n content: "\\f131";\n}\n.sf-fa-shield:before {\n content: "\\f132";\n}\n.sf-fa-calendar-o:before {\n content: "\\f133";\n}\n.sf-fa-fire-extinguisher:before {\n content: "\\f134";\n}\n.sf-fa-rocket:before {\n content: "\\f135";\n}\n.sf-fa-maxcdn:before {\n content: "\\f136";\n}\n.sf-fa-chevron-circle-left:before {\n content: "\\f137";\n}\n.sf-fa-chevron-circle-right:before {\n content: "\\f138";\n}\n.sf-fa-chevron-circle-up:before {\n content: "\\f139";\n}\n.sf-fa-chevron-circle-down:before {\n content: "\\f13a";\n}\n.sf-fa-html5:before {\n content: "\\f13b";\n}\n.sf-fa-css3:before {\n content: "\\f13c";\n}\n.sf-fa-anchor:before {\n content: "\\f13d";\n}\n.sf-fa-unlock-alt:before {\n content: "\\f13e";\n}\n.sf-fa-bullseye:before {\n content: "\\f140";\n}\n.sf-fa-ellipsis-h:before {\n content: "\\f141";\n}\n.sf-fa-ellipsis-v:before {\n content: "\\f142";\n}\n.sf-fa-rss-square:before {\n content: "\\f143";\n}\n.sf-fa-play-circle:before {\n content: "\\f144";\n}\n.sf-fa-ticket:before {\n content: "\\f145";\n}\n.sf-fa-minus-square:before {\n content: "\\f146";\n}\n.sf-fa-minus-square-o:before {\n content: "\\f147";\n}\n.sf-fa-level-up:before {\n content: "\\f148";\n}\n.sf-fa-level-down:before {\n content: "\\f149";\n}\n.sf-fa-check-square:before {\n content: "\\f14a";\n}\n.sf-fa-pencil-square:before {\n content: "\\f14b";\n}\n.sf-fa-external-link-square:before {\n content: "\\f14c";\n}\n.sf-fa-share-square:before {\n content: "\\f14d";\n}\n.sf-fa-compass:before {\n content: "\\f14e";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "\\f150";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "\\f151";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "\\f152";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "\\f153";\n}\n.sf-fa-gbp:before {\n content: "\\f154";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "\\f155";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "\\f156";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "\\f157";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "\\f158";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "\\f159";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "\\f15a";\n}\n.sf-fa-file:before {\n content: "\\f15b";\n}\n.sf-fa-file-text:before {\n content: "\\f15c";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "\\f15d";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "\\f15e";\n}\n.sf-fa-sort-amount-asc:before {\n content: "\\f160";\n}\n.sf-fa-sort-amount-desc:before {\n content: "\\f161";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "\\f162";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "\\f163";\n}\n.sf-fa-thumbs-up:before {\n content: "\\f164";\n}\n.sf-fa-thumbs-down:before {\n content: "\\f165";\n}\n.sf-fa-youtube-square:before {\n content: "\\f166";\n}\n.sf-fa-youtube:before {\n content: "\\f167";\n}\n.sf-fa-xing:before {\n content: "\\f168";\n}\n.sf-fa-xing-square:before {\n content: "\\f169";\n}\n.sf-fa-youtube-play:before {\n content: "\\f16a";\n}\n.sf-fa-dropbox:before {\n content: "\\f16b";\n}\n.sf-fa-stack-overflow:before {\n content: "\\f16c";\n}\n.sf-fa-instagram:before {\n content: "\\f16d";\n}\n.sf-fa-flickr:before {\n content: "\\f16e";\n}\n.sf-fa-adn:before {\n content: "\\f170";\n}\n.sf-fa-bitbucket:before {\n content: "\\f171";\n}\n.sf-fa-bitbucket-square:before {\n content: "\\f172";\n}\n.sf-fa-tumblr:before {\n content: "\\f173";\n}\n.sf-fa-tumblr-square:before {\n content: "\\f174";\n}\n.sf-fa-long-arrow-down:before {\n content: "\\f175";\n}\n.sf-fa-long-arrow-up:before {\n content: "\\f176";\n}\n.sf-fa-long-arrow-left:before {\n content: "\\f177";\n}\n.sf-fa-long-arrow-right:before {\n content: "\\f178";\n}\n.sf-fa-apple:before {\n content: "\\f179";\n}\n.sf-fa-windows:before {\n content: "\\f17a";\n}\n.sf-fa-android:before {\n content: "\\f17b";\n}\n.sf-fa-linux:before {\n content: "\\f17c";\n}\n.sf-fa-dribbble:before {\n content: "\\f17d";\n}\n.sf-fa-skype:before {\n content: "\\f17e";\n}\n.sf-fa-foursquare:before {\n content: "\\f180";\n}\n.sf-fa-trello:before {\n content: "\\f181";\n}\n.sf-fa-female:before {\n content: "\\f182";\n}\n.sf-fa-male:before {\n content: "\\f183";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "\\f184";\n}\n.sf-fa-sun-o:before {\n content: "\\f185";\n}\n.sf-fa-moon-o:before {\n content: "\\f186";\n}\n.sf-fa-archive:before {\n content: "\\f187";\n}\n.sf-fa-bug:before {\n content: "\\f188";\n}\n.sf-fa-vk:before {\n content: "\\f189";\n}\n.sf-fa-weibo:before {\n content: "\\f18a";\n}\n.sf-fa-renren:before {\n content: "\\f18b";\n}\n.sf-fa-pagelines:before {\n content: "\\f18c";\n}\n.sf-fa-stack-exchange:before {\n content: "\\f18d";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "\\f18e";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "\\f190";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "\\f191";\n}\n.sf-fa-dot-circle-o:before {\n content: "\\f192";\n}\n.sf-fa-wheelchair:before {\n content: "\\f193";\n}\n.sf-fa-vimeo-square:before {\n content: "\\f194";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "\\f195";\n}\n.sf-fa-plus-square-o:before {\n content: "\\f196";\n}\n.sf-fa-space-shuttle:before {\n content: "\\f197";\n}\n.sf-fa-slack:before {\n content: "\\f198";\n}\n.sf-fa-envelope-square:before {\n content: "\\f199";\n}\n.sf-fa-wordpress:before {\n content: "\\f19a";\n}\n.sf-fa-openid:before {\n content: "\\f19b";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "\\f19c";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "\\f19d";\n}\n.sf-fa-yahoo:before {\n content: "\\f19e";\n}\n.sf-fa-google:before {\n content: "\\f1a0";\n}\n.sf-fa-reddit:before {\n content: "\\f1a1";\n}\n.sf-fa-reddit-square:before {\n content: "\\f1a2";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "\\f1a3";\n}\n.sf-fa-stumbleupon:before {\n content: "\\f1a4";\n}\n.sf-fa-delicious:before {\n content: "\\f1a5";\n}\n.sf-fa-digg:before {\n content: "\\f1a6";\n}\n.sf-fa-pied-piper-pp:before {\n content: "\\f1a7";\n}\n.sf-fa-pied-piper-alt:before {\n content: "\\f1a8";\n}\n.sf-fa-drupal:before {\n content: "\\f1a9";\n}\n.sf-fa-joomla:before {\n content: "\\f1aa";\n}\n.sf-fa-language:before {\n content: "\\f1ab";\n}\n.sf-fa-fax:before {\n content: "\\f1ac";\n}\n.sf-fa-building:before {\n content: "\\f1ad";\n}\n.sf-fa-child:before {\n content: "\\f1ae";\n}\n.sf-fa-paw:before {\n content: "\\f1b0";\n}\n.sf-fa-spoon:before {\n content: "\\f1b1";\n}\n.sf-fa-cube:before {\n content: "\\f1b2";\n}\n.sf-fa-cubes:before {\n content: "\\f1b3";\n}\n.sf-fa-behance:before {\n content: "\\f1b4";\n}\n.sf-fa-behance-square:before {\n content: "\\f1b5";\n}\n.sf-fa-steam:before {\n content: "\\f1b6";\n}\n.sf-fa-steam-square:before {\n content: "\\f1b7";\n}\n.sf-fa-recycle:before {\n content: "\\f1b8";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "\\f1b9";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "\\f1ba";\n}\n.sf-fa-tree:before {\n content: "\\f1bb";\n}\n.sf-fa-spotify:before {\n content: "\\f1bc";\n}\n.sf-fa-deviantart:before {\n content: "\\f1bd";\n}\n.sf-fa-soundcloud:before {\n content: "\\f1be";\n}\n.sf-fa-database:before {\n content: "\\f1c0";\n}\n.sf-fa-file-pdf-o:before {\n content: "\\f1c1";\n}\n.sf-fa-file-word-o:before {\n content: "\\f1c2";\n}\n.sf-fa-file-excel-o:before {\n content: "\\f1c3";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "\\f1c4";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "\\f1c5";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "\\f1c6";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "\\f1c7";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "\\f1c8";\n}\n.sf-fa-file-code-o:before {\n content: "\\f1c9";\n}\n.sf-fa-vine:before {\n content: "\\f1ca";\n}\n.sf-fa-codepen:before {\n content: "\\f1cb";\n}\n.sf-fa-jsfiddle:before {\n content: "\\f1cc";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "\\f1cd";\n}\n.sf-fa-circle-o-notch:before {\n content: "\\f1ce";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "\\f1d0";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "\\f1d1";\n}\n.sf-fa-git-square:before {\n content: "\\f1d2";\n}\n.sf-fa-git:before {\n content: "\\f1d3";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "\\f1d4";\n}\n.sf-fa-tencent-weibo:before {\n content: "\\f1d5";\n}\n.sf-fa-qq:before {\n content: "\\f1d6";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "\\f1d7";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "\\f1d8";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "\\f1d9";\n}\n.sf-fa-history:before {\n content: "\\f1da";\n}\n.sf-fa-circle-thin:before {\n content: "\\f1db";\n}\n.sf-fa-header:before {\n content: "\\f1dc";\n}\n.sf-fa-paragraph:before {\n content: "\\f1dd";\n}\n.sf-fa-sliders:before {\n content: "\\f1de";\n}\n.sf-fa-share-alt:before {\n content: "\\f1e0";\n}\n.sf-fa-share-alt-square:before {\n content: "\\f1e1";\n}\n.sf-fa-bomb:before {\n content: "\\f1e2";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "\\f1e3";\n}\n.sf-fa-tty:before {\n content: "\\f1e4";\n}\n.sf-fa-binoculars:before {\n content: "\\f1e5";\n}\n.sf-fa-plug:before {\n content: "\\f1e6";\n}\n.sf-fa-slideshare:before {\n content: "\\f1e7";\n}\n.sf-fa-twitch:before {\n content: "\\f1e8";\n}\n.sf-fa-yelp:before {\n content: "\\f1e9";\n}\n.sf-fa-newspaper-o:before {\n content: "\\f1ea";\n}\n.sf-fa-wifi:before {\n content: "\\f1eb";\n}\n.sf-fa-calculator:before {\n content: "\\f1ec";\n}\n.sf-fa-paypal:before {\n content: "\\f1ed";\n}\n.sf-fa-google-wallet:before {\n content: "\\f1ee";\n}\n.sf-fa-cc-visa:before {\n content: "\\f1f0";\n}\n.sf-fa-cc-mastercard:before {\n content: "\\f1f1";\n}\n.sf-fa-cc-discover:before {\n content: "\\f1f2";\n}\n.sf-fa-cc-amex:before {\n content: "\\f1f3";\n}\n.sf-fa-cc-paypal:before {\n content: "\\f1f4";\n}\n.sf-fa-cc-stripe:before {\n content: "\\f1f5";\n}\n.sf-fa-bell-slash:before {\n content: "\\f1f6";\n}\n.sf-fa-bell-slash-o:before {\n content: "\\f1f7";\n}\n.sf-fa-trash:before {\n content: "\\f1f8";\n}\n.sf-fa-copyright:before {\n content: "\\f1f9";\n}\n.sf-fa-at:before {\n content: "\\f1fa";\n}\n.sf-fa-eyedropper:before {\n content: "\\f1fb";\n}\n.sf-fa-paint-brush:before {\n content: "\\f1fc";\n}\n.sf-fa-birthday-cake:before {\n content: "\\f1fd";\n}\n.sf-fa-area-chart:before {\n content: "\\f1fe";\n}\n.sf-fa-pie-chart:before {\n content: "\\f200";\n}\n.sf-fa-line-chart:before {\n content: "\\f201";\n}\n.sf-fa-lastfm:before {\n content: "\\f202";\n}\n.sf-fa-lastfm-square:before {\n content: "\\f203";\n}\n.sf-fa-toggle-off:before {\n content: "\\f204";\n}\n.sf-fa-toggle-on:before {\n content: "\\f205";\n}\n.sf-fa-bicycle:before {\n content: "\\f206";\n}\n.sf-fa-bus:before {\n content: "\\f207";\n}\n.sf-fa-ioxhost:before {\n content: "\\f208";\n}\n.sf-fa-angellist:before {\n content: "\\f209";\n}\n.sf-fa-cc:before {\n content: "\\f20a";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "\\f20b";\n}\n.sf-fa-meanpath:before {\n content: "\\f20c";\n}\n.sf-fa-buysellads:before {\n content: "\\f20d";\n}\n.sf-fa-connectdevelop:before {\n content: "\\f20e";\n}\n.sf-fa-dashcube:before {\n content: "\\f210";\n}\n.sf-fa-forumbee:before {\n content: "\\f211";\n}\n.sf-fa-leanpub:before {\n content: "\\f212";\n}\n.sf-fa-sellsy:before {\n content: "\\f213";\n}\n.sf-fa-shirtsinbulk:before {\n content: "\\f214";\n}\n.sf-fa-simplybuilt:before {\n content: "\\f215";\n}\n.sf-fa-skyatlas:before {\n content: "\\f216";\n}\n.sf-fa-cart-plus:before {\n content: "\\f217";\n}\n.sf-fa-cart-arrow-down:before {\n content: "\\f218";\n}\n.sf-fa-diamond:before {\n content: "\\f219";\n}\n.sf-fa-ship:before {\n content: "\\f21a";\n}\n.sf-fa-user-secret:before {\n content: "\\f21b";\n}\n.sf-fa-motorcycle:before {\n content: "\\f21c";\n}\n.sf-fa-street-view:before {\n content: "\\f21d";\n}\n.sf-fa-heartbeat:before {\n content: "\\f21e";\n}\n.sf-fa-venus:before {\n content: "\\f221";\n}\n.sf-fa-mars:before {\n content: "\\f222";\n}\n.sf-fa-mercury:before {\n content: "\\f223";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "\\f224";\n}\n.sf-fa-transgender-alt:before {\n content: "\\f225";\n}\n.sf-fa-venus-double:before {\n content: "\\f226";\n}\n.sf-fa-mars-double:before {\n content: "\\f227";\n}\n.sf-fa-venus-mars:before {\n content: "\\f228";\n}\n.sf-fa-mars-stroke:before {\n content: "\\f229";\n}\n.sf-fa-mars-stroke-v:before {\n content: "\\f22a";\n}\n.sf-fa-mars-stroke-h:before {\n content: "\\f22b";\n}\n.sf-fa-neuter:before {\n content: "\\f22c";\n}\n.sf-fa-genderless:before {\n content: "\\f22d";\n}\n.sf-fa-facebook-official:before {\n content: "\\f230";\n}\n.sf-fa-pinterest-p:before {\n content: "\\f231";\n}\n.sf-fa-whatsapp:before {\n content: "\\f232";\n}\n.sf-fa-server:before {\n content: "\\f233";\n}\n.sf-fa-user-plus:before {\n content: "\\f234";\n}\n.sf-fa-user-times:before {\n content: "\\f235";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "\\f236";\n}\n.sf-fa-viacoin:before {\n content: "\\f237";\n}\n.sf-fa-train:before {\n content: "\\f238";\n}\n.sf-fa-subway:before {\n content: "\\f239";\n}\n.sf-fa-medium:before {\n content: "\\f23a";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "\\f23b";\n}\n.sf-fa-optin-monster:before {\n content: "\\f23c";\n}\n.sf-fa-opencart:before {\n content: "\\f23d";\n}\n.sf-fa-expeditedssl:before {\n content: "\\f23e";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "\\f240";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "\\f241";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "\\f242";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "\\f243";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "\\f244";\n}\n.sf-fa-mouse-pointer:before {\n content: "\\f245";\n}\n.sf-fa-i-cursor:before {\n content: "\\f246";\n}\n.sf-fa-object-group:before {\n content: "\\f247";\n}\n.sf-fa-object-ungroup:before {\n content: "\\f248";\n}\n.sf-fa-sticky-note:before {\n content: "\\f249";\n}\n.sf-fa-sticky-note-o:before {\n content: "\\f24a";\n}\n.sf-fa-cc-jcb:before {\n content: "\\f24b";\n}\n.sf-fa-cc-diners-club:before {\n content: "\\f24c";\n}\n.sf-fa-clone:before {\n content: "\\f24d";\n}\n.sf-fa-balance-scale:before {\n content: "\\f24e";\n}\n.sf-fa-hourglass-o:before {\n content: "\\f250";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "\\f251";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "\\f252";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "\\f253";\n}\n.sf-fa-hourglass:before {\n content: "\\f254";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "\\f255";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "\\f256";\n}\n.sf-fa-hand-scissors-o:before {\n content: "\\f257";\n}\n.sf-fa-hand-lizard-o:before {\n content: "\\f258";\n}\n.sf-fa-hand-spock-o:before {\n content: "\\f259";\n}\n.sf-fa-hand-pointer-o:before {\n content: "\\f25a";\n}\n.sf-fa-hand-peace-o:before {\n content: "\\f25b";\n}\n.sf-fa-trademark:before {\n content: "\\f25c";\n}\n.sf-fa-registered:before {\n content: "\\f25d";\n}\n.sf-fa-creative-commons:before {\n content: "\\f25e";\n}\n.sf-fa-gg:before {\n content: "\\f260";\n}\n.sf-fa-gg-circle:before {\n content: "\\f261";\n}\n.sf-fa-tripadvisor:before {\n content: "\\f262";\n}\n.sf-fa-odnoklassniki:before {\n content: "\\f263";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "\\f264";\n}\n.sf-fa-get-pocket:before {\n content: "\\f265";\n}\n.sf-fa-wikipedia-w:before {\n content: "\\f266";\n}\n.sf-fa-safari:before {\n content: "\\f267";\n}\n.sf-fa-chrome:before {\n content: "\\f268";\n}\n.sf-fa-firefox:before {\n content: "\\f269";\n}\n.sf-fa-opera:before {\n content: "\\f26a";\n}\n.sf-fa-internet-explorer:before {\n content: "\\f26b";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "\\f26c";\n}\n.sf-fa-contao:before {\n content: "\\f26d";\n}\n.sf-fa-500px:before {\n content: "\\f26e";\n}\n.sf-fa-amazon:before {\n content: "\\f270";\n}\n.sf-fa-calendar-plus-o:before {\n content: "\\f271";\n}\n.sf-fa-calendar-minus-o:before {\n content: "\\f272";\n}\n.sf-fa-calendar-times-o:before {\n content: "\\f273";\n}\n.sf-fa-calendar-check-o:before {\n content: "\\f274";\n}\n.sf-fa-industry:before {\n content: "\\f275";\n}\n.sf-fa-map-pin:before {\n content: "\\f276";\n}\n.sf-fa-map-signs:before {\n content: "\\f277";\n}\n.sf-fa-map-o:before {\n content: "\\f278";\n}\n.sf-fa-map:before {\n content: "\\f279";\n}\n.sf-fa-commenting:before {\n content: "\\f27a";\n}\n.sf-fa-commenting-o:before {\n content: "\\f27b";\n}\n.sf-fa-houzz:before {\n content: "\\f27c";\n}\n.sf-fa-vimeo:before {\n content: "\\f27d";\n}\n.sf-fa-black-tie:before {\n content: "\\f27e";\n}\n.sf-fa-fonticons:before {\n content: "\\f280";\n}\n.sf-fa-reddit-alien:before {\n content: "\\f281";\n}\n.sf-fa-edge:before {\n content: "\\f282";\n}\n.sf-fa-credit-card-alt:before {\n content: "\\f283";\n}\n.sf-fa-codiepie:before {\n content: "\\f284";\n}\n.sf-fa-modx:before {\n content: "\\f285";\n}\n.sf-fa-fort-awesome:before {\n content: "\\f286";\n}\n.sf-fa-usb:before {\n content: "\\f287";\n}\n.sf-fa-product-hunt:before {\n content: "\\f288";\n}\n.sf-fa-mixcloud:before {\n content: "\\f289";\n}\n.sf-fa-scribd:before {\n content: "\\f28a";\n}\n.sf-fa-pause-circle:before {\n content: "\\f28b";\n}\n.sf-fa-pause-circle-o:before {\n content: "\\f28c";\n}\n.sf-fa-stop-circle:before {\n content: "\\f28d";\n}\n.sf-fa-stop-circle-o:before {\n content: "\\f28e";\n}\n.sf-fa-shopping-bag:before {\n content: "\\f290";\n}\n.sf-fa-shopping-basket:before {\n content: "\\f291";\n}\n.sf-fa-hashtag:before {\n content: "\\f292";\n}\n.sf-fa-bluetooth:before {\n content: "\\f293";\n}\n.sf-fa-bluetooth-b:before {\n content: "\\f294";\n}\n.sf-fa-percent:before {\n content: "\\f295";\n}\n.sf-fa-gitlab:before {\n content: "\\f296";\n}\n.sf-fa-wpbeginner:before {\n content: "\\f297";\n}\n.sf-fa-wpforms:before {\n content: "\\f298";\n}\n.sf-fa-envira:before {\n content: "\\f299";\n}\n.sf-fa-universal-access:before {\n content: "\\f29a";\n}\n.sf-fa-wheelchair-alt:before {\n content: "\\f29b";\n}\n.sf-fa-question-circle-o:before {\n content: "\\f29c";\n}\n.sf-fa-blind:before {\n content: "\\f29d";\n}\n.sf-fa-audio-description:before {\n content: "\\f29e";\n}\n.sf-fa-volume-control-phone:before {\n content: "\\f2a0";\n}\n.sf-fa-braille:before {\n content: "\\f2a1";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "\\f2a2";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "\\f2a3";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "\\f2a4";\n}\n.sf-fa-glide:before {\n content: "\\f2a5";\n}\n.sf-fa-glide-g:before {\n content: "\\f2a6";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "\\f2a7";\n}\n.sf-fa-low-vision:before {\n content: "\\f2a8";\n}\n.sf-fa-viadeo:before {\n content: "\\f2a9";\n}\n.sf-fa-viadeo-square:before {\n content: "\\f2aa";\n}\n.sf-fa-snapchat:before {\n content: "\\f2ab";\n}\n.sf-fa-snapchat-ghost:before {\n content: "\\f2ac";\n}\n.sf-fa-snapchat-square:before {\n content: "\\f2ad";\n}\n.sf-fa-pied-piper:before {\n content: "\\f2ae";\n}\n.sf-fa-first-order:before {\n content: "\\f2b0";\n}\n.sf-fa-yoast:before {\n content: "\\f2b1";\n}\n.sf-fa-themeisle:before {\n content: "\\f2b2";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "\\f2b3";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "\\f2b4";\n}\n.sf-fa-handshake-o:before {\n content: "\\f2b5";\n}\n.sf-fa-envelope-open:before {\n content: "\\f2b6";\n}\n.sf-fa-envelope-open-o:before {\n content: "\\f2b7";\n}\n.sf-fa-linode:before {\n content: "\\f2b8";\n}\n.sf-fa-address-book:before {\n content: "\\f2b9";\n}\n.sf-fa-address-book-o:before {\n content: "\\f2ba";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "\\f2bb";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "\\f2bc";\n}\n.sf-fa-user-circle:before {\n content: "\\f2bd";\n}\n.sf-fa-user-circle-o:before {\n content: "\\f2be";\n}\n.sf-fa-user-o:before {\n content: "\\f2c0";\n}\n.sf-fa-id-badge:before {\n content: "\\f2c1";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "\\f2c2";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "\\f2c3";\n}\n.sf-fa-quora:before {\n content: "\\f2c4";\n}\n.sf-fa-free-code-camp:before {\n content: "\\f2c5";\n}\n.sf-fa-telegram:before {\n content: "\\f2c6";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "\\f2c7";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "\\f2c8";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "\\f2c9";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "\\f2ca";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "\\f2cb";\n}\n.sf-fa-shower:before {\n content: "\\f2cc";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "\\f2cd";\n}\n.sf-fa-podcast:before {\n content: "\\f2ce";\n}\n.sf-fa-window-maximize:before {\n content: "\\f2d0";\n}\n.sf-fa-window-minimize:before {\n content: "\\f2d1";\n}\n.sf-fa-window-restore:before {\n content: "\\f2d2";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "\\f2d3";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "\\f2d4";\n}\n.sf-fa-bandcamp:before {\n content: "\\f2d5";\n}\n.sf-fa-grav:before {\n content: "\\f2d6";\n}\n.sf-fa-etsy:before {\n content: "\\f2d7";\n}\n.sf-fa-imdb:before {\n content: "\\f2d8";\n}\n.sf-fa-ravelry:before {\n content: "\\f2d9";\n}\n.sf-fa-eercast:before {\n content: "\\f2da";\n}\n.sf-fa-microchip:before {\n content: "\\f2db";\n}\n.sf-fa-snowflake-o:before {\n content: "\\f2dc";\n}\n.sf-fa-superpowers:before {\n content: "\\f2dd";\n}\n.sf-fa-wpexplorer:before {\n content: "\\f2de";\n}\n.sf-fa-meetup:before {\n content: "\\f2e0";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n:host {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal, auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert medium none invert;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: “ ” ‘ ’;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-warning {\n color: #ED8527;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n fill: currentColor;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n.sf-icon__svg-template {\n width: 100%;\n max-height: 77px;\n max-width: 300px;\n}\n/*\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n.-sf-mt-zero {\n margin-top: 0 !important;\n}\n.-sf-mt-4xs {\n margin-top: 5px !important;\n}\n.-sf-mt-3xs {\n margin-top: 10px !important;\n}\n.-sf-mt-2xs {\n margin-top: 15px !important;\n}\n.-sf-mt-xs {\n margin-top: 20px !important;\n}\n.-sf-mt-s {\n margin-top: 25px !important;\n}\n.-sf-mt-m {\n margin-top: 30px !important;\n}\n.-sf-mt-l {\n margin-top: 35px !important;\n}\n.-sf-mt-xl {\n margin-top: 40px !important;\n}\n.-sf-mt-2xl {\n margin-top: 45px !important;\n}\n.-sf-mt-3xl {\n margin-top: 50px !important;\n}\n.-sf-mt-4xl {\n margin-top: 55px !important;\n}\n.-sf-mt-5xl {\n margin-top: 60px !important;\n}\n.-sf-mt-6xl {\n margin-top: 80px !important;\n}\n.-sf-mt-7xl {\n margin-top: 100px !important;\n}\n.-sf-mt-8xl {\n margin-top: 120px !important;\n}\n.-sf-mt-9xl {\n margin-top: 140px !important;\n}\n.-sf-mt-10xl {\n margin-top: 160px !important;\n}\n.-sf-mt-11xl {\n margin-top: 180px !important;\n}\n.-sf-mt-12xl {\n margin-top: 200px !important;\n}\n.-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n.-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n.-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n.-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n.-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n.-sf-mb-s {\n margin-bottom: 25px !important;\n}\n.-sf-mb-m {\n margin-bottom: 30px !important;\n}\n.-sf-mb-l {\n margin-bottom: 35px !important;\n}\n.-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n.-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n.-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n.-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n.-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n.-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n.-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n.-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n.-sf-ml-zero {\n margin-left: 0 !important;\n}\n.-sf-ml-4xs {\n margin-left: 5px !important;\n}\n.-sf-ml-3xs {\n margin-left: 10px !important;\n}\n.-sf-ml-2xs {\n margin-left: 15px !important;\n}\n.-sf-ml-xs {\n margin-left: 20px !important;\n}\n.-sf-ml-s {\n margin-left: 25px !important;\n}\n.-sf-ml-m {\n margin-left: 30px !important;\n}\n.-sf-ml-l {\n margin-left: 35px !important;\n}\n.-sf-ml-xl {\n margin-left: 40px !important;\n}\n.-sf-ml-2xl {\n margin-left: 45px !important;\n}\n.-sf-ml-3xl {\n margin-left: 50px !important;\n}\n.-sf-ml-4xl {\n margin-left: 55px !important;\n}\n.-sf-ml-5xl {\n margin-left: 60px !important;\n}\n.-sf-ml-6xl {\n margin-left: 80px !important;\n}\n.-sf-ml-7xl {\n margin-left: 100px !important;\n}\n.-sf-ml-8xl {\n margin-left: 120px !important;\n}\n.-sf-mr-zero {\n margin-right: 0 !important;\n}\n.-sf-mr-4xs {\n margin-right: 5px !important;\n}\n.-sf-mr-3xs {\n margin-right: 10px !important;\n}\n.-sf-mr-2xs {\n margin-right: 15px !important;\n}\n.-sf-mr-xs {\n margin-right: 20px !important;\n}\n.-sf-mr-s {\n margin-right: 25px !important;\n}\n.-sf-mr-m {\n margin-right: 30px !important;\n}\n.-sf-mr-l {\n margin-right: 35px !important;\n}\n.-sf-mr-xl {\n margin-right: 40px !important;\n}\n.-sf-mr-2xl {\n margin-right: 45px !important;\n}\n.-sf-mr-3xl {\n margin-right: 50px !important;\n}\n.-sf-mr-4xl {\n margin-right: 55px !important;\n}\n.-sf-mr-5xl {\n margin-right: 60px !important;\n}\n.-sf-mr-6xl {\n margin-right: 80px !important;\n}\n.-sf-mr-7xl {\n margin-right: 100px !important;\n}\n.-sf-mr-8xl {\n margin-right: 120px !important;\n}\n.-sf-m-zero {\n margin: 0 !important;\n}\n.-sf-m-4xs {\n margin: 5px !important;\n}\n.-sf-m-3xs {\n margin: 10px !important;\n}\n.-sf-m-2xs {\n margin: 15px !important;\n}\n.-sf-m-xs {\n margin: 20px !important;\n}\n.-sf-m-s {\n margin: 25px !important;\n}\n.-sf-m-m {\n margin: 30px !important;\n}\n.-sf-m-l {\n margin: 35px !important;\n}\n.-sf-m-xl {\n margin: 40px !important;\n}\n.-sf-m-2xl {\n margin: 45px !important;\n}\n.-sf-m-3xl {\n margin: 50px !important;\n}\n.-sf-m-4xl {\n margin: 55px !important;\n}\n.-sf-m-5xl {\n margin: 60px !important;\n}\n.-sf-m-6xl {\n margin: 80px !important;\n}\n.-sf-m-7xl {\n margin: 100px !important;\n}\n.-sf-m-8xl {\n margin: 120px !important;\n}\n.-sf-mt-8xs {\n margin-top: 1px !important;\n}\n.-sf-mt-7xs {\n margin-top: 2px !important;\n}\n.-sf-mt-6xs {\n margin-top: 3px !important;\n}\n.-sf-mt-5xs {\n margin-top: 4px !important;\n}\n.-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n.-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n.-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n.-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n.-sf-ml-8xs {\n margin-left: 1px !important;\n}\n.-sf-ml-7xs {\n margin-left: 2px !important;\n}\n.-sf-ml-6xs {\n margin-left: 3px !important;\n}\n.-sf-ml-5xs {\n margin-left: 4px !important;\n}\n.-sf-mr-8xs {\n margin-right: 1px !important;\n}\n.-sf-mr-7xs {\n margin-right: 2px !important;\n}\n.-sf-mr-6xs {\n margin-right: 3px !important;\n}\n.-sf-mr-5xs {\n margin-right: 4px !important;\n}\n.-sf-mt--4xs {\n margin-top: -5px !important;\n}\n.-sf-mt--3xs {\n margin-top: -10px !important;\n}\n.-sf-mt--2xs {\n margin-top: -15px !important;\n}\n.-sf-mt--xs {\n margin-top: -20px !important;\n}\n.-sf-mt--s {\n margin-top: -25px !important;\n}\n.-sf-mt--m {\n margin-top: -30px !important;\n}\n.-sf-mt--l {\n margin-top: -35px !important;\n}\n.-sf-mt--xl {\n margin-top: -40px !important;\n}\n.-sf-mt--2xl {\n margin-top: -45px !important;\n}\n.-sf-mt--3xl {\n margin-top: -50px !important;\n}\n.-sf-mt--4xl {\n margin-top: -55px !important;\n}\n.-sf-mt--5xl {\n margin-top: -60px !important;\n}\n.-sf-mt--6xl {\n margin-top: -80px !important;\n}\n.-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n.-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n.-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n.-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n.-sf-mb--s {\n margin-bottom: -25px !important;\n}\n.-sf-mb--m {\n margin-bottom: -30px !important;\n}\n.-sf-mb--l {\n margin-bottom: -35px !important;\n}\n.-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n.-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n.-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n.-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n.-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n.-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n.-sf-ml--4xs {\n margin-left: -5px !important;\n}\n.-sf-ml--3xs {\n margin-left: -10px !important;\n}\n.-sf-ml--2xs {\n margin-left: -15px !important;\n}\n.-sf-ml--xs {\n margin-left: -20px !important;\n}\n.-sf-ml--s {\n margin-left: -25px !important;\n}\n.-sf-ml--m {\n margin-left: -30px !important;\n}\n.-sf-ml--l {\n margin-left: -35px !important;\n}\n.-sf-ml--xl {\n margin-left: -40px !important;\n}\n.-sf-ml--2xl {\n margin-left: -45px !important;\n}\n.-sf-ml--3xl {\n margin-left: -50px !important;\n}\n.-sf-ml--4xl {\n margin-left: -55px !important;\n}\n.-sf-ml--5xl {\n margin-left: -60px !important;\n}\n.-sf-ml--6xl {\n margin-left: -80px !important;\n}\n.-sf-mr--4xs {\n margin-right: -5px !important;\n}\n.-sf-mr--3xs {\n margin-right: -10px !important;\n}\n.-sf-mr--2xs {\n margin-right: -15px !important;\n}\n.-sf-mr--xs {\n margin-right: -20px !important;\n}\n.-sf-mr--s {\n margin-right: -25px !important;\n}\n.-sf-mr--m {\n margin-right: -30px !important;\n}\n.-sf-mr--l {\n margin-right: -35px !important;\n}\n.-sf-mr--xl {\n margin-right: -40px !important;\n}\n.-sf-mr--2xl {\n margin-right: -45px !important;\n}\n.-sf-mr--3xl {\n margin-right: -50px !important;\n}\n.-sf-mr--4xl {\n margin-right: -55px !important;\n}\n.-sf-mr--5xl {\n margin-right: -60px !important;\n}\n.-sf-mr--6xl {\n margin-right: -80px !important;\n}\n.-sf-pt-zero {\n padding-top: 0 !important;\n}\n.-sf-pt-4xs {\n padding-top: 5px !important;\n}\n.-sf-pt-3xs {\n padding-top: 10px !important;\n}\n.-sf-pt-2xs {\n padding-top: 15px !important;\n}\n.-sf-pt-xs {\n padding-top: 20px !important;\n}\n.-sf-pt-s {\n padding-top: 25px !important;\n}\n.-sf-pt-m {\n padding-top: 30px !important;\n}\n.-sf-pt-l {\n padding-top: 35px !important;\n}\n.-sf-pt-xl {\n padding-top: 40px !important;\n}\n.-sf-pt-2xl {\n padding-top: 45px !important;\n}\n.-sf-pt-3xl {\n padding-top: 50px !important;\n}\n.-sf-pt-4xl {\n padding-top: 55px !important;\n}\n.-sf-pt-5xl {\n padding-top: 60px !important;\n}\n.-sf-pt-6xl {\n padding-top: 80px !important;\n}\n.-sf-pt-7xl {\n padding-top: 100px !important;\n}\n.-sf-pt-8xl {\n padding-top: 120px !important;\n}\n.-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n.-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n.-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n.-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n.-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n.-sf-pb-s {\n padding-bottom: 25px !important;\n}\n.-sf-pb-m {\n padding-bottom: 30px !important;\n}\n.-sf-pb-l {\n padding-bottom: 35px !important;\n}\n.-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n.-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n.-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n.-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n.-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n.-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n.-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n.-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n.-sf-pl-zero {\n padding-left: 0 !important;\n}\n.-sf-pl-4xs {\n padding-left: 5px !important;\n}\n.-sf-pl-3xs {\n padding-left: 10px !important;\n}\n.-sf-pl-2xs {\n padding-left: 15px !important;\n}\n.-sf-pl-xs {\n padding-left: 20px !important;\n}\n.-sf-pl-s {\n padding-left: 25px !important;\n}\n.-sf-pl-m {\n padding-left: 30px !important;\n}\n.-sf-pl-l {\n padding-left: 35px !important;\n}\n.-sf-pl-xl {\n padding-left: 40px !important;\n}\n.-sf-pl-2xl {\n padding-left: 45px !important;\n}\n.-sf-pl-3xl {\n padding-left: 50px !important;\n}\n.-sf-pl-4xl {\n padding-left: 55px !important;\n}\n.-sf-pl-5xl {\n padding-left: 60px !important;\n}\n.-sf-pl-6xl {\n padding-left: 80px !important;\n}\n.-sf-pl-7xl {\n padding-left: 100px !important;\n}\n.-sf-pl-8xl {\n padding-left: 120px !important;\n}\n.-sf-pr-zero {\n padding-right: 0 !important;\n}\n.-sf-pr-4xs {\n padding-right: 5px !important;\n}\n.-sf-pr-3xs {\n padding-right: 10px !important;\n}\n.-sf-pr-2xs {\n padding-right: 15px !important;\n}\n.-sf-pr-xs {\n padding-right: 20px !important;\n}\n.-sf-pr-s {\n padding-right: 25px !important;\n}\n.-sf-pr-m {\n padding-right: 30px !important;\n}\n.-sf-pr-l {\n padding-right: 35px !important;\n}\n.-sf-pr-xl {\n padding-right: 40px !important;\n}\n.-sf-pr-2xl {\n padding-right: 45px !important;\n}\n.-sf-pr-3xl {\n padding-right: 50px !important;\n}\n.-sf-pr-4xl {\n padding-right: 55px !important;\n}\n.-sf-pr-5xl {\n padding-right: 60px !important;\n}\n.-sf-pr-6xl {\n padding-right: 80px !important;\n}\n.-sf-pr-7xl {\n padding-right: 100px !important;\n}\n.-sf-pr-8xl {\n padding-right: 120px !important;\n}\n.-sf-p-zero {\n padding: 0 !important;\n}\n.-sf-p-4xs {\n padding: 5px !important;\n}\n.-sf-p-3xs {\n padding: 10px !important;\n}\n.-sf-p-2xs {\n padding: 15px !important;\n}\n.-sf-p-xs {\n padding: 20px !important;\n}\n.-sf-p-s {\n padding: 25px !important;\n}\n.-sf-p-m {\n padding: 30px !important;\n}\n.-sf-p-l {\n padding: 35px !important;\n}\n.-sf-p-xl {\n padding: 40px !important;\n}\n.-sf-p-2xl {\n padding: 45px !important;\n}\n.-sf-p-3xl {\n padding: 50px !important;\n}\n.-sf-p-4xl {\n padding: 55px !important;\n}\n.-sf-p-5xl {\n padding: 60px !important;\n}\n.-sf-p-6xl {\n padding: 80px !important;\n}\n.-sf-p-7xl {\n padding: 100px !important;\n}\n.-sf-p-8xl {\n padding: 120px !important;\n}\n.-sf-pt-8xs {\n padding-top: 1px !important;\n}\n.-sf-pt-7xs {\n padding-top: 2px !important;\n}\n.-sf-pt-6xs {\n padding-top: 3px !important;\n}\n.-sf-pt-5xs {\n padding-top: 4px !important;\n}\n.-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n.-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n.-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n.-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n.-sf-pl-8xs {\n padding-left: 1px !important;\n}\n.-sf-pl-7xs {\n padding-left: 2px !important;\n}\n.-sf-pl-6xs {\n padding-left: 3px !important;\n}\n.-sf-pl-5xs {\n padding-left: 4px !important;\n}\n.-sf-pr-8xs {\n padding-right: 1px !important;\n}\n.-sf-pr-7xs {\n padding-right: 2px !important;\n}\n.-sf-pr-6xs {\n padding-right: 3px !important;\n}\n.-sf-pr-5xs {\n padding-right: 4px !important;\n}\n.-sf-ml-auto {\n margin-left: auto !important;\n}\n.-sf-mr-auto {\n margin-right: auto !important;\n}\n.-sf-ml-50 {\n margin-left: 50% !important;\n}\n.-sf-mr-50 {\n margin-right: 50% !important;\n}\n/*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n/*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n/*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n/*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n/*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n/*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n/*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n/*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n/*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n/*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\nStyleguide: Spacing.margin-classes\n*/\n/*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n/*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n/*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n/*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n/* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n*/\n:host {\n color: #999;\n}\n.sf-widget-label {\n font-size: var(--font-size-h5);\n text-transform: uppercase;\n color: #999;\n background: #CAEED8;\n display: flex;\n padding: 0 8px;\n height: 20px;\n align-items: center;\n}\n.sf-widget-label__text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n margin-left: 5px;\n}\n.sf-widget-label__tooltip {\n font-weight: bold;\n}\n.sf-widget-label.-personalized {\n background-color: #ED8527;\n color: #fff;\n}'},function(e){e.exports='\n

    {{text}}

    \n\n\n \n\n'},function(e){e.exports='\n \n \n \n\n'},function(e){e.exports='@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: "FontAwesome";\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0");\n src: url("/assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("/assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("/assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("/assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");\n font-weight: normal;\n font-style: normal;\n}\n.sf-fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.sf-fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.sf-fa-2x {\n font-size: 2em;\n}\n.sf-fa-3x {\n font-size: 3em;\n}\n.sf-fa-4x {\n font-size: 4em;\n}\n.sf-fa-5x {\n font-size: 5em;\n}\n.sf-fa-fw {\n width: 1.2857142857em;\n text-align: center;\n}\n.sf-fa-ul {\n padding-left: 0;\n margin-left: 2.1428571429em;\n list-style-type: none;\n}\n.sf-fa-ul > li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "\\f000";\n}\n.sf-fa-music:before {\n content: "\\f001";\n}\n.sf-fa-search:before {\n content: "\\f002";\n}\n.sf-fa-envelope-o:before {\n content: "\\f003";\n}\n.sf-fa-heart:before {\n content: "\\f004";\n}\n.sf-fa-star:before {\n content: "\\f005";\n}\n.sf-fa-star-o:before {\n content: "\\f006";\n}\n.sf-fa-user:before {\n content: "\\f007";\n}\n.sf-fa-film:before {\n content: "\\f008";\n}\n.sf-fa-th-large:before {\n content: "\\f009";\n}\n.sf-fa-th:before {\n content: "\\f00a";\n}\n.sf-fa-th-list:before {\n content: "\\f00b";\n}\n.sf-fa-check:before {\n content: "\\f00c";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "\\f00d";\n}\n.sf-fa-search-plus:before {\n content: "\\f00e";\n}\n.sf-fa-search-minus:before {\n content: "\\f010";\n}\n.sf-fa-power-off:before {\n content: "\\f011";\n}\n.sf-fa-signal:before {\n content: "\\f012";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "\\f013";\n}\n.sf-fa-trash-o:before {\n content: "\\f014";\n}\n.sf-fa-home:before {\n content: "\\f015";\n}\n.sf-fa-file-o:before {\n content: "\\f016";\n}\n.sf-fa-clock-o:before {\n content: "\\f017";\n}\n.sf-fa-road:before {\n content: "\\f018";\n}\n.sf-fa-download:before {\n content: "\\f019";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "\\f01a";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "\\f01b";\n}\n.sf-fa-inbox:before {\n content: "\\f01c";\n}\n.sf-fa-play-circle-o:before {\n content: "\\f01d";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "\\f01e";\n}\n.sf-fa-refresh:before {\n content: "\\f021";\n}\n.sf-fa-list-alt:before {\n content: "\\f022";\n}\n.sf-fa-lock:before {\n content: "\\f023";\n}\n.sf-fa-flag:before {\n content: "\\f024";\n}\n.sf-fa-headphones:before {\n content: "\\f025";\n}\n.sf-fa-volume-off:before {\n content: "\\f026";\n}\n.sf-fa-volume-down:before {\n content: "\\f027";\n}\n.sf-fa-volume-up:before {\n content: "\\f028";\n}\n.sf-fa-qrcode:before {\n content: "\\f029";\n}\n.sf-fa-barcode:before {\n content: "\\f02a";\n}\n.sf-fa-tag:before {\n content: "\\f02b";\n}\n.sf-fa-tags:before {\n content: "\\f02c";\n}\n.sf-fa-book:before {\n content: "\\f02d";\n}\n.sf-fa-bookmark:before {\n content: "\\f02e";\n}\n.sf-fa-print:before {\n content: "\\f02f";\n}\n.sf-fa-camera:before {\n content: "\\f030";\n}\n.sf-fa-font:before {\n content: "\\f031";\n}\n.sf-fa-bold:before {\n content: "\\f032";\n}\n.sf-fa-italic:before {\n content: "\\f033";\n}\n.sf-fa-text-height:before {\n content: "\\f034";\n}\n.sf-fa-text-width:before {\n content: "\\f035";\n}\n.sf-fa-align-left:before {\n content: "\\f036";\n}\n.sf-fa-align-center:before {\n content: "\\f037";\n}\n.sf-fa-align-right:before {\n content: "\\f038";\n}\n.sf-fa-align-justify:before {\n content: "\\f039";\n}\n.sf-fa-list:before {\n content: "\\f03a";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "\\f03b";\n}\n.sf-fa-indent:before {\n content: "\\f03c";\n}\n.sf-fa-video-camera:before {\n content: "\\f03d";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "\\f03e";\n}\n.sf-fa-pencil:before {\n content: "\\f040";\n}\n.sf-fa-map-marker:before {\n content: "\\f041";\n}\n.sf-fa-adjust:before {\n content: "\\f042";\n}\n.sf-fa-tint:before {\n content: "\\f043";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "\\f044";\n}\n.sf-fa-share-square-o:before {\n content: "\\f045";\n}\n.sf-fa-check-square-o:before {\n content: "\\f046";\n}\n.sf-fa-arrows:before {\n content: "\\f047";\n}\n.sf-fa-step-backward:before {\n content: "\\f048";\n}\n.sf-fa-fast-backward:before {\n content: "\\f049";\n}\n.sf-fa-backward:before {\n content: "\\f04a";\n}\n.sf-fa-play:before {\n content: "\\f04b";\n}\n.sf-fa-pause:before {\n content: "\\f04c";\n}\n.sf-fa-stop:before {\n content: "\\f04d";\n}\n.sf-fa-forward:before {\n content: "\\f04e";\n}\n.sf-fa-fast-forward:before {\n content: "\\f050";\n}\n.sf-fa-step-forward:before {\n content: "\\f051";\n}\n.sf-fa-eject:before {\n content: "\\f052";\n}\n.sf-fa-chevron-left:before {\n content: "\\f053";\n}\n.sf-fa-chevron-right:before {\n content: "\\f054";\n}\n.sf-fa-plus-circle:before {\n content: "\\f055";\n}\n.sf-fa-minus-circle:before {\n content: "\\f056";\n}\n.sf-fa-times-circle:before {\n content: "\\f057";\n}\n.sf-fa-check-circle:before {\n content: "\\f058";\n}\n.sf-fa-question-circle:before {\n content: "\\f059";\n}\n.sf-fa-info-circle:before {\n content: "\\f05a";\n}\n.sf-fa-crosshairs:before {\n content: "\\f05b";\n}\n.sf-fa-times-circle-o:before {\n content: "\\f05c";\n}\n.sf-fa-check-circle-o:before {\n content: "\\f05d";\n}\n.sf-fa-ban:before {\n content: "\\f05e";\n}\n.sf-fa-arrow-left:before {\n content: "\\f060";\n}\n.sf-fa-arrow-right:before {\n content: "\\f061";\n}\n.sf-fa-arrow-up:before {\n content: "\\f062";\n}\n.sf-fa-arrow-down:before {\n content: "\\f063";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "\\f064";\n}\n.sf-fa-expand:before {\n content: "\\f065";\n}\n.sf-fa-compress:before {\n content: "\\f066";\n}\n.sf-fa-plus:before {\n content: "\\f067";\n}\n.sf-fa-minus:before {\n content: "\\f068";\n}\n.sf-fa-asterisk:before {\n content: "\\f069";\n}\n.sf-fa-exclamation-circle:before {\n content: "\\f06a";\n}\n.sf-fa-gift:before {\n content: "\\f06b";\n}\n.sf-fa-leaf:before {\n content: "\\f06c";\n}\n.sf-fa-fire:before {\n content: "\\f06d";\n}\n.sf-fa-eye:before {\n content: "\\f06e";\n}\n.sf-fa-eye-slash:before {\n content: "\\f070";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "\\f071";\n}\n.sf-fa-plane:before {\n content: "\\f072";\n}\n.sf-fa-calendar:before {\n content: "\\f073";\n}\n.sf-fa-random:before {\n content: "\\f074";\n}\n.sf-fa-comment:before {\n content: "\\f075";\n}\n.sf-fa-magnet:before {\n content: "\\f076";\n}\n.sf-fa-chevron-up:before {\n content: "\\f077";\n}\n.sf-fa-chevron-down:before {\n content: "\\f078";\n}\n.sf-fa-retweet:before {\n content: "\\f079";\n}\n.sf-fa-shopping-cart:before {\n content: "\\f07a";\n}\n.sf-fa-folder:before {\n content: "\\f07b";\n}\n.sf-fa-folder-open:before {\n content: "\\f07c";\n}\n.sf-fa-arrows-v:before {\n content: "\\f07d";\n}\n.sf-fa-arrows-h:before {\n content: "\\f07e";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "\\f080";\n}\n.sf-fa-twitter-square:before {\n content: "\\f081";\n}\n.sf-fa-facebook-square:before {\n content: "\\f082";\n}\n.sf-fa-camera-retro:before {\n content: "\\f083";\n}\n.sf-fa-key:before {\n content: "\\f084";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "\\f085";\n}\n.sf-fa-comments:before {\n content: "\\f086";\n}\n.sf-fa-thumbs-o-up:before {\n content: "\\f087";\n}\n.sf-fa-thumbs-o-down:before {\n content: "\\f088";\n}\n.sf-fa-star-half:before {\n content: "\\f089";\n}\n.sf-fa-heart-o:before {\n content: "\\f08a";\n}\n.sf-fa-sign-out:before {\n content: "\\f08b";\n}\n.sf-fa-linkedin-square:before {\n content: "\\f08c";\n}\n.sf-fa-thumb-tack:before {\n content: "\\f08d";\n}\n.sf-fa-external-link:before {\n content: "\\f08e";\n}\n.sf-fa-sign-in:before {\n content: "\\f090";\n}\n.sf-fa-trophy:before {\n content: "\\f091";\n}\n.sf-fa-github-square:before {\n content: "\\f092";\n}\n.sf-fa-upload:before {\n content: "\\f093";\n}\n.sf-fa-lemon-o:before {\n content: "\\f094";\n}\n.sf-fa-phone:before {\n content: "\\f095";\n}\n.sf-fa-square-o:before {\n content: "\\f096";\n}\n.sf-fa-bookmark-o:before {\n content: "\\f097";\n}\n.sf-fa-phone-square:before {\n content: "\\f098";\n}\n.sf-fa-twitter:before {\n content: "\\f099";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "\\f09a";\n}\n.sf-fa-github:before {\n content: "\\f09b";\n}\n.sf-fa-unlock:before {\n content: "\\f09c";\n}\n.sf-fa-credit-card:before {\n content: "\\f09d";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "\\f09e";\n}\n.sf-fa-hdd-o:before {\n content: "\\f0a0";\n}\n.sf-fa-bullhorn:before {\n content: "\\f0a1";\n}\n.sf-fa-bell:before {\n content: "\\f0f3";\n}\n.sf-fa-certificate:before {\n content: "\\f0a3";\n}\n.sf-fa-hand-o-right:before {\n content: "\\f0a4";\n}\n.sf-fa-hand-o-left:before {\n content: "\\f0a5";\n}\n.sf-fa-hand-o-up:before {\n content: "\\f0a6";\n}\n.sf-fa-hand-o-down:before {\n content: "\\f0a7";\n}\n.sf-fa-arrow-circle-left:before {\n content: "\\f0a8";\n}\n.sf-fa-arrow-circle-right:before {\n content: "\\f0a9";\n}\n.sf-fa-arrow-circle-up:before {\n content: "\\f0aa";\n}\n.sf-fa-arrow-circle-down:before {\n content: "\\f0ab";\n}\n.sf-fa-globe:before {\n content: "\\f0ac";\n}\n.sf-fa-wrench:before {\n content: "\\f0ad";\n}\n.sf-fa-tasks:before {\n content: "\\f0ae";\n}\n.sf-fa-filter:before {\n content: "\\f0b0";\n}\n.sf-fa-briefcase:before {\n content: "\\f0b1";\n}\n.sf-fa-arrows-alt:before {\n content: "\\f0b2";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "\\f0c0";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "\\f0c1";\n}\n.sf-fa-cloud:before {\n content: "\\f0c2";\n}\n.sf-fa-flask:before {\n content: "\\f0c3";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "\\f0c4";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "\\f0c5";\n}\n.sf-fa-paperclip:before {\n content: "\\f0c6";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "\\f0c7";\n}\n.sf-fa-square:before {\n content: "\\f0c8";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "\\f0c9";\n}\n.sf-fa-list-ul:before {\n content: "\\f0ca";\n}\n.sf-fa-list-ol:before {\n content: "\\f0cb";\n}\n.sf-fa-strikethrough:before {\n content: "\\f0cc";\n}\n.sf-fa-underline:before {\n content: "\\f0cd";\n}\n.sf-fa-table:before {\n content: "\\f0ce";\n}\n.sf-fa-magic:before {\n content: "\\f0d0";\n}\n.sf-fa-truck:before {\n content: "\\f0d1";\n}\n.sf-fa-pinterest:before {\n content: "\\f0d2";\n}\n.sf-fa-pinterest-square:before {\n content: "\\f0d3";\n}\n.sf-fa-google-plus-square:before {\n content: "\\f0d4";\n}\n.sf-fa-google-plus:before {\n content: "\\f0d5";\n}\n.sf-fa-money:before {\n content: "\\f0d6";\n}\n.sf-fa-caret-down:before {\n content: "\\f0d7";\n}\n.sf-fa-caret-up:before {\n content: "\\f0d8";\n}\n.sf-fa-caret-left:before {\n content: "\\f0d9";\n}\n.sf-fa-caret-right:before {\n content: "\\f0da";\n}\n.sf-fa-columns:before {\n content: "\\f0db";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "\\f0dc";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "\\f0dd";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "\\f0de";\n}\n.sf-fa-envelope:before {\n content: "\\f0e0";\n}\n.sf-fa-linkedin:before {\n content: "\\f0e1";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "\\f0e2";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "\\f0e3";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "\\f0e4";\n}\n.sf-fa-comment-o:before {\n content: "\\f0e5";\n}\n.sf-fa-comments-o:before {\n content: "\\f0e6";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "\\f0e7";\n}\n.sf-fa-sitemap:before {\n content: "\\f0e8";\n}\n.sf-fa-umbrella:before {\n content: "\\f0e9";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "\\f0ea";\n}\n.sf-fa-lightbulb-o:before {\n content: "\\f0eb";\n}\n.sf-fa-exchange:before {\n content: "\\f0ec";\n}\n.sf-fa-cloud-download:before {\n content: "\\f0ed";\n}\n.sf-fa-cloud-upload:before {\n content: "\\f0ee";\n}\n.sf-fa-user-md:before {\n content: "\\f0f0";\n}\n.sf-fa-stethoscope:before {\n content: "\\f0f1";\n}\n.sf-fa-suitcase:before {\n content: "\\f0f2";\n}\n.sf-fa-bell-o:before {\n content: "\\f0a2";\n}\n.sf-fa-coffee:before {\n content: "\\f0f4";\n}\n.sf-fa-cutlery:before {\n content: "\\f0f5";\n}\n.sf-fa-file-text-o:before {\n content: "\\f0f6";\n}\n.sf-fa-building-o:before {\n content: "\\f0f7";\n}\n.sf-fa-hospital-o:before {\n content: "\\f0f8";\n}\n.sf-fa-ambulance:before {\n content: "\\f0f9";\n}\n.sf-fa-medkit:before {\n content: "\\f0fa";\n}\n.sf-fa-fighter-jet:before {\n content: "\\f0fb";\n}\n.sf-fa-beer:before {\n content: "\\f0fc";\n}\n.sf-fa-h-square:before {\n content: "\\f0fd";\n}\n.sf-fa-plus-square:before {\n content: "\\f0fe";\n}\n.sf-fa-angle-double-left:before {\n content: "\\f100";\n}\n.sf-fa-angle-double-right:before {\n content: "\\f101";\n}\n.sf-fa-angle-double-up:before {\n content: "\\f102";\n}\n.sf-fa-angle-double-down:before {\n content: "\\f103";\n}\n.sf-fa-angle-left:before {\n content: "\\f104";\n}\n.sf-fa-angle-right:before {\n content: "\\f105";\n}\n.sf-fa-angle-up:before {\n content: "\\f106";\n}\n.sf-fa-angle-down:before {\n content: "\\f107";\n}\n.sf-fa-desktop:before {\n content: "\\f108";\n}\n.sf-fa-laptop:before {\n content: "\\f109";\n}\n.sf-fa-tablet:before {\n content: "\\f10a";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "\\f10b";\n}\n.sf-fa-circle-o:before {\n content: "\\f10c";\n}\n.sf-fa-quote-left:before {\n content: "\\f10d";\n}\n.sf-fa-quote-right:before {\n content: "\\f10e";\n}\n.sf-fa-spinner:before {\n content: "\\f110";\n}\n.sf-fa-circle:before {\n content: "\\f111";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "\\f112";\n}\n.sf-fa-github-alt:before {\n content: "\\f113";\n}\n.sf-fa-folder-o:before {\n content: "\\f114";\n}\n.sf-fa-folder-open-o:before {\n content: "\\f115";\n}\n.sf-fa-smile-o:before {\n content: "\\f118";\n}\n.sf-fa-frown-o:before {\n content: "\\f119";\n}\n.sf-fa-meh-o:before {\n content: "\\f11a";\n}\n.sf-fa-gamepad:before {\n content: "\\f11b";\n}\n.sf-fa-keyboard-o:before {\n content: "\\f11c";\n}\n.sf-fa-flag-o:before {\n content: "\\f11d";\n}\n.sf-fa-flag-checkered:before {\n content: "\\f11e";\n}\n.sf-fa-terminal:before {\n content: "\\f120";\n}\n.sf-fa-code:before {\n content: "\\f121";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "\\f122";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "\\f123";\n}\n.sf-fa-location-arrow:before {\n content: "\\f124";\n}\n.sf-fa-crop:before {\n content: "\\f125";\n}\n.sf-fa-code-fork:before {\n content: "\\f126";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "\\f127";\n}\n.sf-fa-question:before {\n content: "\\f128";\n}\n.sf-fa-info:before {\n content: "\\f129";\n}\n.sf-fa-exclamation:before {\n content: "\\f12a";\n}\n.sf-fa-superscript:before {\n content: "\\f12b";\n}\n.sf-fa-subscript:before {\n content: "\\f12c";\n}\n.sf-fa-eraser:before {\n content: "\\f12d";\n}\n.sf-fa-puzzle-piece:before {\n content: "\\f12e";\n}\n.sf-fa-microphone:before {\n content: "\\f130";\n}\n.sf-fa-microphone-slash:before {\n content: "\\f131";\n}\n.sf-fa-shield:before {\n content: "\\f132";\n}\n.sf-fa-calendar-o:before {\n content: "\\f133";\n}\n.sf-fa-fire-extinguisher:before {\n content: "\\f134";\n}\n.sf-fa-rocket:before {\n content: "\\f135";\n}\n.sf-fa-maxcdn:before {\n content: "\\f136";\n}\n.sf-fa-chevron-circle-left:before {\n content: "\\f137";\n}\n.sf-fa-chevron-circle-right:before {\n content: "\\f138";\n}\n.sf-fa-chevron-circle-up:before {\n content: "\\f139";\n}\n.sf-fa-chevron-circle-down:before {\n content: "\\f13a";\n}\n.sf-fa-html5:before {\n content: "\\f13b";\n}\n.sf-fa-css3:before {\n content: "\\f13c";\n}\n.sf-fa-anchor:before {\n content: "\\f13d";\n}\n.sf-fa-unlock-alt:before {\n content: "\\f13e";\n}\n.sf-fa-bullseye:before {\n content: "\\f140";\n}\n.sf-fa-ellipsis-h:before {\n content: "\\f141";\n}\n.sf-fa-ellipsis-v:before {\n content: "\\f142";\n}\n.sf-fa-rss-square:before {\n content: "\\f143";\n}\n.sf-fa-play-circle:before {\n content: "\\f144";\n}\n.sf-fa-ticket:before {\n content: "\\f145";\n}\n.sf-fa-minus-square:before {\n content: "\\f146";\n}\n.sf-fa-minus-square-o:before {\n content: "\\f147";\n}\n.sf-fa-level-up:before {\n content: "\\f148";\n}\n.sf-fa-level-down:before {\n content: "\\f149";\n}\n.sf-fa-check-square:before {\n content: "\\f14a";\n}\n.sf-fa-pencil-square:before {\n content: "\\f14b";\n}\n.sf-fa-external-link-square:before {\n content: "\\f14c";\n}\n.sf-fa-share-square:before {\n content: "\\f14d";\n}\n.sf-fa-compass:before {\n content: "\\f14e";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "\\f150";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "\\f151";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "\\f152";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "\\f153";\n}\n.sf-fa-gbp:before {\n content: "\\f154";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "\\f155";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "\\f156";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "\\f157";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "\\f158";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "\\f159";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "\\f15a";\n}\n.sf-fa-file:before {\n content: "\\f15b";\n}\n.sf-fa-file-text:before {\n content: "\\f15c";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "\\f15d";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "\\f15e";\n}\n.sf-fa-sort-amount-asc:before {\n content: "\\f160";\n}\n.sf-fa-sort-amount-desc:before {\n content: "\\f161";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "\\f162";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "\\f163";\n}\n.sf-fa-thumbs-up:before {\n content: "\\f164";\n}\n.sf-fa-thumbs-down:before {\n content: "\\f165";\n}\n.sf-fa-youtube-square:before {\n content: "\\f166";\n}\n.sf-fa-youtube:before {\n content: "\\f167";\n}\n.sf-fa-xing:before {\n content: "\\f168";\n}\n.sf-fa-xing-square:before {\n content: "\\f169";\n}\n.sf-fa-youtube-play:before {\n content: "\\f16a";\n}\n.sf-fa-dropbox:before {\n content: "\\f16b";\n}\n.sf-fa-stack-overflow:before {\n content: "\\f16c";\n}\n.sf-fa-instagram:before {\n content: "\\f16d";\n}\n.sf-fa-flickr:before {\n content: "\\f16e";\n}\n.sf-fa-adn:before {\n content: "\\f170";\n}\n.sf-fa-bitbucket:before {\n content: "\\f171";\n}\n.sf-fa-bitbucket-square:before {\n content: "\\f172";\n}\n.sf-fa-tumblr:before {\n content: "\\f173";\n}\n.sf-fa-tumblr-square:before {\n content: "\\f174";\n}\n.sf-fa-long-arrow-down:before {\n content: "\\f175";\n}\n.sf-fa-long-arrow-up:before {\n content: "\\f176";\n}\n.sf-fa-long-arrow-left:before {\n content: "\\f177";\n}\n.sf-fa-long-arrow-right:before {\n content: "\\f178";\n}\n.sf-fa-apple:before {\n content: "\\f179";\n}\n.sf-fa-windows:before {\n content: "\\f17a";\n}\n.sf-fa-android:before {\n content: "\\f17b";\n}\n.sf-fa-linux:before {\n content: "\\f17c";\n}\n.sf-fa-dribbble:before {\n content: "\\f17d";\n}\n.sf-fa-skype:before {\n content: "\\f17e";\n}\n.sf-fa-foursquare:before {\n content: "\\f180";\n}\n.sf-fa-trello:before {\n content: "\\f181";\n}\n.sf-fa-female:before {\n content: "\\f182";\n}\n.sf-fa-male:before {\n content: "\\f183";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "\\f184";\n}\n.sf-fa-sun-o:before {\n content: "\\f185";\n}\n.sf-fa-moon-o:before {\n content: "\\f186";\n}\n.sf-fa-archive:before {\n content: "\\f187";\n}\n.sf-fa-bug:before {\n content: "\\f188";\n}\n.sf-fa-vk:before {\n content: "\\f189";\n}\n.sf-fa-weibo:before {\n content: "\\f18a";\n}\n.sf-fa-renren:before {\n content: "\\f18b";\n}\n.sf-fa-pagelines:before {\n content: "\\f18c";\n}\n.sf-fa-stack-exchange:before {\n content: "\\f18d";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "\\f18e";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "\\f190";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "\\f191";\n}\n.sf-fa-dot-circle-o:before {\n content: "\\f192";\n}\n.sf-fa-wheelchair:before {\n content: "\\f193";\n}\n.sf-fa-vimeo-square:before {\n content: "\\f194";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "\\f195";\n}\n.sf-fa-plus-square-o:before {\n content: "\\f196";\n}\n.sf-fa-space-shuttle:before {\n content: "\\f197";\n}\n.sf-fa-slack:before {\n content: "\\f198";\n}\n.sf-fa-envelope-square:before {\n content: "\\f199";\n}\n.sf-fa-wordpress:before {\n content: "\\f19a";\n}\n.sf-fa-openid:before {\n content: "\\f19b";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "\\f19c";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "\\f19d";\n}\n.sf-fa-yahoo:before {\n content: "\\f19e";\n}\n.sf-fa-google:before {\n content: "\\f1a0";\n}\n.sf-fa-reddit:before {\n content: "\\f1a1";\n}\n.sf-fa-reddit-square:before {\n content: "\\f1a2";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "\\f1a3";\n}\n.sf-fa-stumbleupon:before {\n content: "\\f1a4";\n}\n.sf-fa-delicious:before {\n content: "\\f1a5";\n}\n.sf-fa-digg:before {\n content: "\\f1a6";\n}\n.sf-fa-pied-piper-pp:before {\n content: "\\f1a7";\n}\n.sf-fa-pied-piper-alt:before {\n content: "\\f1a8";\n}\n.sf-fa-drupal:before {\n content: "\\f1a9";\n}\n.sf-fa-joomla:before {\n content: "\\f1aa";\n}\n.sf-fa-language:before {\n content: "\\f1ab";\n}\n.sf-fa-fax:before {\n content: "\\f1ac";\n}\n.sf-fa-building:before {\n content: "\\f1ad";\n}\n.sf-fa-child:before {\n content: "\\f1ae";\n}\n.sf-fa-paw:before {\n content: "\\f1b0";\n}\n.sf-fa-spoon:before {\n content: "\\f1b1";\n}\n.sf-fa-cube:before {\n content: "\\f1b2";\n}\n.sf-fa-cubes:before {\n content: "\\f1b3";\n}\n.sf-fa-behance:before {\n content: "\\f1b4";\n}\n.sf-fa-behance-square:before {\n content: "\\f1b5";\n}\n.sf-fa-steam:before {\n content: "\\f1b6";\n}\n.sf-fa-steam-square:before {\n content: "\\f1b7";\n}\n.sf-fa-recycle:before {\n content: "\\f1b8";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "\\f1b9";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "\\f1ba";\n}\n.sf-fa-tree:before {\n content: "\\f1bb";\n}\n.sf-fa-spotify:before {\n content: "\\f1bc";\n}\n.sf-fa-deviantart:before {\n content: "\\f1bd";\n}\n.sf-fa-soundcloud:before {\n content: "\\f1be";\n}\n.sf-fa-database:before {\n content: "\\f1c0";\n}\n.sf-fa-file-pdf-o:before {\n content: "\\f1c1";\n}\n.sf-fa-file-word-o:before {\n content: "\\f1c2";\n}\n.sf-fa-file-excel-o:before {\n content: "\\f1c3";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "\\f1c4";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "\\f1c5";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "\\f1c6";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "\\f1c7";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "\\f1c8";\n}\n.sf-fa-file-code-o:before {\n content: "\\f1c9";\n}\n.sf-fa-vine:before {\n content: "\\f1ca";\n}\n.sf-fa-codepen:before {\n content: "\\f1cb";\n}\n.sf-fa-jsfiddle:before {\n content: "\\f1cc";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "\\f1cd";\n}\n.sf-fa-circle-o-notch:before {\n content: "\\f1ce";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "\\f1d0";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "\\f1d1";\n}\n.sf-fa-git-square:before {\n content: "\\f1d2";\n}\n.sf-fa-git:before {\n content: "\\f1d3";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "\\f1d4";\n}\n.sf-fa-tencent-weibo:before {\n content: "\\f1d5";\n}\n.sf-fa-qq:before {\n content: "\\f1d6";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "\\f1d7";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "\\f1d8";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "\\f1d9";\n}\n.sf-fa-history:before {\n content: "\\f1da";\n}\n.sf-fa-circle-thin:before {\n content: "\\f1db";\n}\n.sf-fa-header:before {\n content: "\\f1dc";\n}\n.sf-fa-paragraph:before {\n content: "\\f1dd";\n}\n.sf-fa-sliders:before {\n content: "\\f1de";\n}\n.sf-fa-share-alt:before {\n content: "\\f1e0";\n}\n.sf-fa-share-alt-square:before {\n content: "\\f1e1";\n}\n.sf-fa-bomb:before {\n content: "\\f1e2";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "\\f1e3";\n}\n.sf-fa-tty:before {\n content: "\\f1e4";\n}\n.sf-fa-binoculars:before {\n content: "\\f1e5";\n}\n.sf-fa-plug:before {\n content: "\\f1e6";\n}\n.sf-fa-slideshare:before {\n content: "\\f1e7";\n}\n.sf-fa-twitch:before {\n content: "\\f1e8";\n}\n.sf-fa-yelp:before {\n content: "\\f1e9";\n}\n.sf-fa-newspaper-o:before {\n content: "\\f1ea";\n}\n.sf-fa-wifi:before {\n content: "\\f1eb";\n}\n.sf-fa-calculator:before {\n content: "\\f1ec";\n}\n.sf-fa-paypal:before {\n content: "\\f1ed";\n}\n.sf-fa-google-wallet:before {\n content: "\\f1ee";\n}\n.sf-fa-cc-visa:before {\n content: "\\f1f0";\n}\n.sf-fa-cc-mastercard:before {\n content: "\\f1f1";\n}\n.sf-fa-cc-discover:before {\n content: "\\f1f2";\n}\n.sf-fa-cc-amex:before {\n content: "\\f1f3";\n}\n.sf-fa-cc-paypal:before {\n content: "\\f1f4";\n}\n.sf-fa-cc-stripe:before {\n content: "\\f1f5";\n}\n.sf-fa-bell-slash:before {\n content: "\\f1f6";\n}\n.sf-fa-bell-slash-o:before {\n content: "\\f1f7";\n}\n.sf-fa-trash:before {\n content: "\\f1f8";\n}\n.sf-fa-copyright:before {\n content: "\\f1f9";\n}\n.sf-fa-at:before {\n content: "\\f1fa";\n}\n.sf-fa-eyedropper:before {\n content: "\\f1fb";\n}\n.sf-fa-paint-brush:before {\n content: "\\f1fc";\n}\n.sf-fa-birthday-cake:before {\n content: "\\f1fd";\n}\n.sf-fa-area-chart:before {\n content: "\\f1fe";\n}\n.sf-fa-pie-chart:before {\n content: "\\f200";\n}\n.sf-fa-line-chart:before {\n content: "\\f201";\n}\n.sf-fa-lastfm:before {\n content: "\\f202";\n}\n.sf-fa-lastfm-square:before {\n content: "\\f203";\n}\n.sf-fa-toggle-off:before {\n content: "\\f204";\n}\n.sf-fa-toggle-on:before {\n content: "\\f205";\n}\n.sf-fa-bicycle:before {\n content: "\\f206";\n}\n.sf-fa-bus:before {\n content: "\\f207";\n}\n.sf-fa-ioxhost:before {\n content: "\\f208";\n}\n.sf-fa-angellist:before {\n content: "\\f209";\n}\n.sf-fa-cc:before {\n content: "\\f20a";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "\\f20b";\n}\n.sf-fa-meanpath:before {\n content: "\\f20c";\n}\n.sf-fa-buysellads:before {\n content: "\\f20d";\n}\n.sf-fa-connectdevelop:before {\n content: "\\f20e";\n}\n.sf-fa-dashcube:before {\n content: "\\f210";\n}\n.sf-fa-forumbee:before {\n content: "\\f211";\n}\n.sf-fa-leanpub:before {\n content: "\\f212";\n}\n.sf-fa-sellsy:before {\n content: "\\f213";\n}\n.sf-fa-shirtsinbulk:before {\n content: "\\f214";\n}\n.sf-fa-simplybuilt:before {\n content: "\\f215";\n}\n.sf-fa-skyatlas:before {\n content: "\\f216";\n}\n.sf-fa-cart-plus:before {\n content: "\\f217";\n}\n.sf-fa-cart-arrow-down:before {\n content: "\\f218";\n}\n.sf-fa-diamond:before {\n content: "\\f219";\n}\n.sf-fa-ship:before {\n content: "\\f21a";\n}\n.sf-fa-user-secret:before {\n content: "\\f21b";\n}\n.sf-fa-motorcycle:before {\n content: "\\f21c";\n}\n.sf-fa-street-view:before {\n content: "\\f21d";\n}\n.sf-fa-heartbeat:before {\n content: "\\f21e";\n}\n.sf-fa-venus:before {\n content: "\\f221";\n}\n.sf-fa-mars:before {\n content: "\\f222";\n}\n.sf-fa-mercury:before {\n content: "\\f223";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "\\f224";\n}\n.sf-fa-transgender-alt:before {\n content: "\\f225";\n}\n.sf-fa-venus-double:before {\n content: "\\f226";\n}\n.sf-fa-mars-double:before {\n content: "\\f227";\n}\n.sf-fa-venus-mars:before {\n content: "\\f228";\n}\n.sf-fa-mars-stroke:before {\n content: "\\f229";\n}\n.sf-fa-mars-stroke-v:before {\n content: "\\f22a";\n}\n.sf-fa-mars-stroke-h:before {\n content: "\\f22b";\n}\n.sf-fa-neuter:before {\n content: "\\f22c";\n}\n.sf-fa-genderless:before {\n content: "\\f22d";\n}\n.sf-fa-facebook-official:before {\n content: "\\f230";\n}\n.sf-fa-pinterest-p:before {\n content: "\\f231";\n}\n.sf-fa-whatsapp:before {\n content: "\\f232";\n}\n.sf-fa-server:before {\n content: "\\f233";\n}\n.sf-fa-user-plus:before {\n content: "\\f234";\n}\n.sf-fa-user-times:before {\n content: "\\f235";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "\\f236";\n}\n.sf-fa-viacoin:before {\n content: "\\f237";\n}\n.sf-fa-train:before {\n content: "\\f238";\n}\n.sf-fa-subway:before {\n content: "\\f239";\n}\n.sf-fa-medium:before {\n content: "\\f23a";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "\\f23b";\n}\n.sf-fa-optin-monster:before {\n content: "\\f23c";\n}\n.sf-fa-opencart:before {\n content: "\\f23d";\n}\n.sf-fa-expeditedssl:before {\n content: "\\f23e";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "\\f240";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "\\f241";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "\\f242";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "\\f243";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "\\f244";\n}\n.sf-fa-mouse-pointer:before {\n content: "\\f245";\n}\n.sf-fa-i-cursor:before {\n content: "\\f246";\n}\n.sf-fa-object-group:before {\n content: "\\f247";\n}\n.sf-fa-object-ungroup:before {\n content: "\\f248";\n}\n.sf-fa-sticky-note:before {\n content: "\\f249";\n}\n.sf-fa-sticky-note-o:before {\n content: "\\f24a";\n}\n.sf-fa-cc-jcb:before {\n content: "\\f24b";\n}\n.sf-fa-cc-diners-club:before {\n content: "\\f24c";\n}\n.sf-fa-clone:before {\n content: "\\f24d";\n}\n.sf-fa-balance-scale:before {\n content: "\\f24e";\n}\n.sf-fa-hourglass-o:before {\n content: "\\f250";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "\\f251";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "\\f252";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "\\f253";\n}\n.sf-fa-hourglass:before {\n content: "\\f254";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "\\f255";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "\\f256";\n}\n.sf-fa-hand-scissors-o:before {\n content: "\\f257";\n}\n.sf-fa-hand-lizard-o:before {\n content: "\\f258";\n}\n.sf-fa-hand-spock-o:before {\n content: "\\f259";\n}\n.sf-fa-hand-pointer-o:before {\n content: "\\f25a";\n}\n.sf-fa-hand-peace-o:before {\n content: "\\f25b";\n}\n.sf-fa-trademark:before {\n content: "\\f25c";\n}\n.sf-fa-registered:before {\n content: "\\f25d";\n}\n.sf-fa-creative-commons:before {\n content: "\\f25e";\n}\n.sf-fa-gg:before {\n content: "\\f260";\n}\n.sf-fa-gg-circle:before {\n content: "\\f261";\n}\n.sf-fa-tripadvisor:before {\n content: "\\f262";\n}\n.sf-fa-odnoklassniki:before {\n content: "\\f263";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "\\f264";\n}\n.sf-fa-get-pocket:before {\n content: "\\f265";\n}\n.sf-fa-wikipedia-w:before {\n content: "\\f266";\n}\n.sf-fa-safari:before {\n content: "\\f267";\n}\n.sf-fa-chrome:before {\n content: "\\f268";\n}\n.sf-fa-firefox:before {\n content: "\\f269";\n}\n.sf-fa-opera:before {\n content: "\\f26a";\n}\n.sf-fa-internet-explorer:before {\n content: "\\f26b";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "\\f26c";\n}\n.sf-fa-contao:before {\n content: "\\f26d";\n}\n.sf-fa-500px:before {\n content: "\\f26e";\n}\n.sf-fa-amazon:before {\n content: "\\f270";\n}\n.sf-fa-calendar-plus-o:before {\n content: "\\f271";\n}\n.sf-fa-calendar-minus-o:before {\n content: "\\f272";\n}\n.sf-fa-calendar-times-o:before {\n content: "\\f273";\n}\n.sf-fa-calendar-check-o:before {\n content: "\\f274";\n}\n.sf-fa-industry:before {\n content: "\\f275";\n}\n.sf-fa-map-pin:before {\n content: "\\f276";\n}\n.sf-fa-map-signs:before {\n content: "\\f277";\n}\n.sf-fa-map-o:before {\n content: "\\f278";\n}\n.sf-fa-map:before {\n content: "\\f279";\n}\n.sf-fa-commenting:before {\n content: "\\f27a";\n}\n.sf-fa-commenting-o:before {\n content: "\\f27b";\n}\n.sf-fa-houzz:before {\n content: "\\f27c";\n}\n.sf-fa-vimeo:before {\n content: "\\f27d";\n}\n.sf-fa-black-tie:before {\n content: "\\f27e";\n}\n.sf-fa-fonticons:before {\n content: "\\f280";\n}\n.sf-fa-reddit-alien:before {\n content: "\\f281";\n}\n.sf-fa-edge:before {\n content: "\\f282";\n}\n.sf-fa-credit-card-alt:before {\n content: "\\f283";\n}\n.sf-fa-codiepie:before {\n content: "\\f284";\n}\n.sf-fa-modx:before {\n content: "\\f285";\n}\n.sf-fa-fort-awesome:before {\n content: "\\f286";\n}\n.sf-fa-usb:before {\n content: "\\f287";\n}\n.sf-fa-product-hunt:before {\n content: "\\f288";\n}\n.sf-fa-mixcloud:before {\n content: "\\f289";\n}\n.sf-fa-scribd:before {\n content: "\\f28a";\n}\n.sf-fa-pause-circle:before {\n content: "\\f28b";\n}\n.sf-fa-pause-circle-o:before {\n content: "\\f28c";\n}\n.sf-fa-stop-circle:before {\n content: "\\f28d";\n}\n.sf-fa-stop-circle-o:before {\n content: "\\f28e";\n}\n.sf-fa-shopping-bag:before {\n content: "\\f290";\n}\n.sf-fa-shopping-basket:before {\n content: "\\f291";\n}\n.sf-fa-hashtag:before {\n content: "\\f292";\n}\n.sf-fa-bluetooth:before {\n content: "\\f293";\n}\n.sf-fa-bluetooth-b:before {\n content: "\\f294";\n}\n.sf-fa-percent:before {\n content: "\\f295";\n}\n.sf-fa-gitlab:before {\n content: "\\f296";\n}\n.sf-fa-wpbeginner:before {\n content: "\\f297";\n}\n.sf-fa-wpforms:before {\n content: "\\f298";\n}\n.sf-fa-envira:before {\n content: "\\f299";\n}\n.sf-fa-universal-access:before {\n content: "\\f29a";\n}\n.sf-fa-wheelchair-alt:before {\n content: "\\f29b";\n}\n.sf-fa-question-circle-o:before {\n content: "\\f29c";\n}\n.sf-fa-blind:before {\n content: "\\f29d";\n}\n.sf-fa-audio-description:before {\n content: "\\f29e";\n}\n.sf-fa-volume-control-phone:before {\n content: "\\f2a0";\n}\n.sf-fa-braille:before {\n content: "\\f2a1";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "\\f2a2";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "\\f2a3";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "\\f2a4";\n}\n.sf-fa-glide:before {\n content: "\\f2a5";\n}\n.sf-fa-glide-g:before {\n content: "\\f2a6";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "\\f2a7";\n}\n.sf-fa-low-vision:before {\n content: "\\f2a8";\n}\n.sf-fa-viadeo:before {\n content: "\\f2a9";\n}\n.sf-fa-viadeo-square:before {\n content: "\\f2aa";\n}\n.sf-fa-snapchat:before {\n content: "\\f2ab";\n}\n.sf-fa-snapchat-ghost:before {\n content: "\\f2ac";\n}\n.sf-fa-snapchat-square:before {\n content: "\\f2ad";\n}\n.sf-fa-pied-piper:before {\n content: "\\f2ae";\n}\n.sf-fa-first-order:before {\n content: "\\f2b0";\n}\n.sf-fa-yoast:before {\n content: "\\f2b1";\n}\n.sf-fa-themeisle:before {\n content: "\\f2b2";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "\\f2b3";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "\\f2b4";\n}\n.sf-fa-handshake-o:before {\n content: "\\f2b5";\n}\n.sf-fa-envelope-open:before {\n content: "\\f2b6";\n}\n.sf-fa-envelope-open-o:before {\n content: "\\f2b7";\n}\n.sf-fa-linode:before {\n content: "\\f2b8";\n}\n.sf-fa-address-book:before {\n content: "\\f2b9";\n}\n.sf-fa-address-book-o:before {\n content: "\\f2ba";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "\\f2bb";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "\\f2bc";\n}\n.sf-fa-user-circle:before {\n content: "\\f2bd";\n}\n.sf-fa-user-circle-o:before {\n content: "\\f2be";\n}\n.sf-fa-user-o:before {\n content: "\\f2c0";\n}\n.sf-fa-id-badge:before {\n content: "\\f2c1";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "\\f2c2";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "\\f2c3";\n}\n.sf-fa-quora:before {\n content: "\\f2c4";\n}\n.sf-fa-free-code-camp:before {\n content: "\\f2c5";\n}\n.sf-fa-telegram:before {\n content: "\\f2c6";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "\\f2c7";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "\\f2c8";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "\\f2c9";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "\\f2ca";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "\\f2cb";\n}\n.sf-fa-shower:before {\n content: "\\f2cc";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "\\f2cd";\n}\n.sf-fa-podcast:before {\n content: "\\f2ce";\n}\n.sf-fa-window-maximize:before {\n content: "\\f2d0";\n}\n.sf-fa-window-minimize:before {\n content: "\\f2d1";\n}\n.sf-fa-window-restore:before {\n content: "\\f2d2";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "\\f2d3";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "\\f2d4";\n}\n.sf-fa-bandcamp:before {\n content: "\\f2d5";\n}\n.sf-fa-grav:before {\n content: "\\f2d6";\n}\n.sf-fa-etsy:before {\n content: "\\f2d7";\n}\n.sf-fa-imdb:before {\n content: "\\f2d8";\n}\n.sf-fa-ravelry:before {\n content: "\\f2d9";\n}\n.sf-fa-eercast:before {\n content: "\\f2da";\n}\n.sf-fa-microchip:before {\n content: "\\f2db";\n}\n.sf-fa-snowflake-o:before {\n content: "\\f2dc";\n}\n.sf-fa-superpowers:before {\n content: "\\f2dd";\n}\n.sf-fa-wpexplorer:before {\n content: "\\f2de";\n}\n.sf-fa-meetup:before {\n content: "\\f2e0";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0370-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0370-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("/assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("/assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("/assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("/assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0370-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("/assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("/assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("/assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n.sf-zone-ui {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n.sf-zone-ui {\n --secondary-text-color: #999;\n}\n.sf-zone-ui {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n.sf-zone-ui {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 48px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.-sf-contrast .sf-zone-ui {\n --color-h2: #696969;\n --color-h5: #696969;\n --color-error: #d40808;\n --color-success: #0E874C;\n --link-secondary-color: #696969;\n --link-side-secondary-color-active: #000;\n --link-side-secondary-color-hover: #000;\n --link-side-secondary-color: #696969;\n --link-color: #005FCC;\n --button-border-color: #cbcbcb;\n --button-interaction-border-color: #cbcbcb;\n --button-disabled-border-color: #f0f0f0;\n --button-disabled-color: #e4e4e4;\n --action-button-border-color: #0E874C;\n --action-button-background-color: #0E874C;\n --action-button-interaction-border-color: #006e33;\n --action-button-interaction-background-color: #006e33;\n --action-button-disabled-border-color: #b7dbca;\n --action-button-disabled-background-color: #b7dbca;\n --delete-button-border-color: #d40808;\n --delete-button-background-color: #d40808;\n --delete-button-interaction-border-color: #bb0000;\n --delete-button-interaction-background-color: #bb0000;\n --delete-button-disabled-border-color: #f2b5b5;\n --delete-button-disabled-background-color: #f2b5b5;\n --date-time-icon-border-color: #cbcbcb;\n --date-time-icon-color: #696969;\n --date-time-content-color: #696969;\n --default-icon-color: #696969;\n --icon-lighter-color: #cbcbcb;\n --icon-light-color: #cbcbcb;\n --icon-illustrative-font-color: #cbcbcb;\n --icon-positive-color: #0E874C;\n --icon-badge-add-color: #333;\n --icon-badge-add-bg-color: #fff;\n --icon-badge-add-border-color: #cbcbcb;\n --status-icon-color-published: #0E874C;\n --status-icon-color-restricted: #d40808;\n --status-bg-color-default: #FF8151;\n --status-icon-color-system: #cbcbcb;\n --status-icon-color-scheduled: #005FCC;\n --badge-white-border-color: #cbcbcb;\n --badge-color-bg-positive: #0E874C;\n --badge-color-bg-negative: #d40808;\n --badge-add-variation-bg-color: #fff;\n --badge-add-variation-border-color: #cbcbcb;\n --badge-add-variation-hover: #e4e4e4;\n --badge-add-variation-border-hover: #cbcbcb;\n --badge-add-variation-color: #333;\n --badge-edit-variation-bg-color: #005FCC;\n --badge-edit-variation-hover: #004faa;\n --badge-color: #333;\n --secondary-text-color: #696969;\n --input-placeholder-color: #696969;\n --input-title-placeholder-color: #909090;\n --input-border: #696969;\n --input-border-hover: #696969;\n --input-char-counter-success-color: #0E874C;\n --input-char-counter-error-color: #d40808;\n --select-border-color: #696969;\n --select-arrow-color: #696969;\n --checkbox-checked-border: #696969;\n --checkbox-border: #696969;\n --checkbox-border-hover: #696969;\n --dropdown-border: #cbcbcb;\n --dropdown-item-counter-neutral: #696969;\n --image-empty-border: #696969;\n --not-translated-image-label-bg: #696969;\n --input-box-shadow-hover: #696969;\n --tree-list-expander-color: #696969;\n}\nbody.-sf-contrast {\n --sf-footer-color: #696969;\n --sf-topbar-color: #696969;\n --sf-h5-color: #696969;\n --sf-navigation-border-color: #cbcbcb;\n --sf-user-info-border-color: #cbcbcb;\n --sf-navigation-caret: #666;\n --sf-live-link: #0E874C;\n --sf-green-main: #0E874C;\n}\nhtml {\n padding-top: 30px !important;\n padding-left: 2px !important;\n padding-right: 2px !important;\n}\n.sf-zone-widget.-sf-focused,\n.sf-zone-widget.-sf-hovered,\n.sf-zone-column:not(.-no-outline).-sf-hovered.-sf-static {\n outline: 2px solid #CAEED8 !important;\n}\n.sf-zone-widget.-sf-focused.-personalized,\n.sf-zone-widget.-sf-hovered.-personalized,\n.sf-zone-column:not(.-no-outline).-sf-hovered.-sf-static.-personalized {\n outline-color: #ED8527 !important;\n}\n.sf-zone-widget.-sf-orphan {\n opacity: 0.5 !important;\n}\n.sf-zone-column.-sf-empty {\n position: relative !important;\n height: 105px !important;\n}\n.sf-zone-column.-center-horizontal {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n.sf-zone-column.-narrowed {\n width: 690px !important;\n}\n.sf-zone-column.-narrowed.-root.-sf-empty {\n height: 350px !important;\n}\n.sf-zone-column.-sf-empty sf-add-widget {\n display: none !important;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-widget__label + .sf-zone-column.-sf-empty,\n.sf-zone-widget.-sf-focused > .sf-zone-widget__label + .sf-zone-column.-sf-empty {\n border-left-color: #CAEED8 !important;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-column.-sf-empty:last-child,\n.sf-zone-widget.-sf-focused > .sf-zone-column.-sf-empty:last-child {\n border-right-color: #CAEED8 !important;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-column,\n.sf-zone-widget.-sf-focused > .sf-zone-column {\n border-top-color: #CAEED8 !important;\n border-bottom-color: #CAEED8 !important;\n}\n.sf-zone-widget:not(.-sf-content) {\n position: relative !important;\n /*prevent margin collapse*/\n /*padding: 1px !important;*/\n}\n/*.sf-zone-widget.-sf-content {*/\n/*min-height: 58px !important;*/\n/*}*/\n.sf-zone-widget.-sf-content.-sf-empty {\n min-height: 78px !important;\n}\n.sf-zone-widget.-sf-content.-sf-empty.-sf-no-content {\n min-height: 8px !important;\n}\n.sf-zone-widget.-sf-content.-sf-empty.-sf-inline-block {\n --zone-widget-text-display: none;\n min-width: 78px !important;\n}\n.sf-zone-widget.-sf-content.-sf-empty .sf-zone-empty {\n left: 25px !important;\n width: auto !important;\n max-width: calc(100% - 25px) !important;\n}\nsf-widget-label {\n display: none !important;\n}\n.sf-zone-widget.-sf-content .sf-zone-ui.sf-zone-widget__label {\n left: -2px !important;\n right: auto !important;\n}\n.sf-zone-column.-sf-dragged-over.-sf-empty {\n outline: 2px solid #333 !important;\n}\n.sf-zone-column.-sf-dragged-over {\n outline: 2px solid #CAEED8 !important;\n border-color: transparent;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-ui.sf-zone-widget__label,\n.sf-zone-widget.-sf-focused > .sf-zone-ui.sf-zone-widget__label {\n display: block !important;\n}\nsf-empty-widget {\n display: none !important;\n}\n.sf-zone-widget.-sf-content .sf-zone-ui.sf-zone-widget__toolbar {\n left: 0 !important;\n right: auto !important;\n}\n.sf-zone-widget.-sf-focused > .sf-zone-ui.sf-zone-widget__toolbar {\n display: block !important;\n}\n.sf-zone-ui,\n.sf-zone-ui div,\n.sf-zone-ui span,\n.sf-zone-ui a,\n.sf-zone-ui i {\n align-content: stretch !important;\n align-items: stretch !important;\n align-self: auto !important;\n -webkit-animation: none !important;\n animation: none !important;\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n background: transparent none !important;\n border: 0 !important;\n bottom: auto !important;\n -webkit-box-decoration-break: slice !important;\n box-decoration-break: slice !important;\n box-shadow: none !important;\n box-sizing: border-box !important;\n -moz-column-break-after: auto !important;\n break-after: auto !important;\n -moz-column-break-before: auto !important;\n break-before: auto !important;\n -moz-column-break-inside: auto !important;\n break-inside: auto !important;\n caption-side: top !important;\n caret-color: auto !important;\n clear: none !important;\n clip: auto !important;\n -webkit-clip-path: none !important;\n clip-path: none !important;\n color: inherit !important;\n -moz-columns: auto !important;\n columns: auto !important;\n content: normal !important;\n counter-increment: none !important;\n counter-reset: none !important;\n empty-cells: show !important;\n font-family: inherit !important;\n filter: none !important;\n flex-basis: auto !important;\n flex-direction: row !important;\n flex: 0 1 auto !important;\n float: none !important;\n font-feature-settings: normal, auto !important;\n font-kerning: auto !important;\n font-language-override: normal !important;\n font-size-adjust: none !important;\n font-stretch: normal !important;\n font-synthesis: weight style !important;\n grid: none !important;\n height: auto !important;\n -webkit-hyphens: manual !important;\n hyphens: manual !important;\n image-orientation: 0deg !important;\n image-rendering: auto !important;\n image-resolution: 1dppx !important;\n ime-mode: auto !important;\n inline-size: auto !important;\n isolation: auto !important;\n justify-content: flex-start !important;\n left: auto !important;\n letter-spacing: normal !important;\n line-break: auto !important;\n margin: 0 !important;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n -o-object-fit: fill !important;\n object-fit: fill !important;\n -o-object-position: 50% 50% !important;\n object-position: 50% 50% !important;\n opacity: 1 !important;\n order: 0 !important;\n orphans: 2 !important;\n outline: medium invert medium none invert !important;\n outline: medium invert initial !important;\n outline-offset: 0 !important;\n overflow: visible !important;\n overflow-wrap: normal !important;\n overflow-x: visible !important;\n overflow-y: visible !important;\n padding: 0 !important;\n page-break-after: auto !important;\n page-break-before: auto !important;\n page-break-inside: auto !important;\n perspective: none !important;\n perspective-origin: 50% 50% !important;\n position: static !important;\n quotes: “ ” ‘ ’ !important;\n quotes: initial !important;\n resize: none !important;\n right: auto !important;\n ruby-align: space-around !important;\n ruby-merge: separate !important;\n ruby-position: over !important;\n scroll-behavior: auto !important;\n scroll-snap-coordinate: none !important;\n scroll-snap-destination: 0 0 !important;\n scroll-snap-points-x: none !important;\n scroll-snap-points-y: none !important;\n scroll-snap-type: none !important;\n shape-image-threshold: 0 !important;\n shape-margin: 0 !important;\n shape-outside: none !important;\n -moz-tab-size: 8 !important;\n -o-tab-size: 8 !important;\n tab-size: 8 !important;\n table-layout: auto !important;\n text-align: inherit !important;\n -moz-text-align-last: auto !important;\n text-align-last: auto !important;\n text-combine-upright: none !important;\n text-decoration: none !important;\n -webkit-text-emphasis: none !important;\n text-emphasis: none !important;\n text-indent: 0 !important;\n text-justify: auto !important;\n text-orientation: mixed !important;\n text-overflow: clip !important;\n text-rendering: auto !important;\n text-shadow: none !important;\n text-transform: inherit !important;\n text-underline-position: auto !important;\n top: auto !important;\n touch-action: auto !important;\n transform: none !important;\n transform-box: border-box !important;\n transform-origin: 50% 50% 0 !important;\n transform-style: flat !important;\n transition: all 0s ease 0s !important;\n vertical-align: inherit !important;\n white-space: inherit !important;\n widows: 2 !important;\n width: auto !important;\n will-change: auto !important;\n word-break: normal !important;\n word-spacing: normal !important;\n word-wrap: normal !important;\n z-index: auto !important;\n font-family: "Open Sans", sans-serif !important;\n}\n.sf-zone-ui.sf-zone-widget__quick-edit, .sf-zone-ui.sf-zone-widget__toolbar {\n position: absolute !important;\n top: 0 !important;\n right: 0 !important;\n}\n.sf-zone-ui.sf-zone-widget__toolbar {\n display: none !important;\n z-index: 10000000 !important;\n}\n.sf-zone-ui.sf-zone-widget__quick-edit {\n z-index: 10000020 !important;\n}\n.sf-zone-ui.sf-zone-widget__label {\n display: none !important;\n position: absolute !important;\n right: -2px !important;\n bottom: 100% !important;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100% !important;\n z-index: 1002 !important;\n}\n.sf-zone-column.-root .sf-zone-ui.sf-zone-empty {\n position: static !important;\n}\n.sf-zone-ui.sf-zone-empty {\n display: block !important;\n position: absolute !important;\n top: 50% !important;\n margin-top: -9px !important;\n left: 0 !important;\n width: 100% !important;\n text-align: center !important;\n font-size: var(--font-size-base) !important;\n line-height: 1.3 !important;\n white-space: nowrap !important;\n text-overflow: ellipsis !important;\n overflow: hidden !important;\n color: #006cd9 !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__description {\n margin-bottom: 8px !important;\n color: var(--secondary-text-color) !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__description.-spread {\n margin-top: 30px !important;\n margin-bottom: 20px !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n display: inline-block !important;\n border-radius: 12px !important;\n padding: 3px 8px !important;\n background-color: rgba(255, 255, 255, 0.8) !important;\n cursor: pointer !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-secondary {\n color: var(--link-secondary-color);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:focus {\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:focus {\n color: var(--link-color);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side.-active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side:focus, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side-secondary {\n color: var(--link-side-secondary-color);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic {\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic:focus {\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar.-active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar:focus, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:hover {\n color: #333 !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover {\n color: var(--link-secondary-color) !important;\n cursor: default !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:focus {\n color: var(--link-secondary-color) !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__text {\n display: inline-block !important;\n display: var(--zone-widget-text-display, inline-block) !important;\n margin-left: 5px !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__icon,\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__illustrative-icon {\n font: normal normal normal 14px/1 FontAwesome !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__illustrative-icon {\n display: inline-flex !important;\n justify-content: center !important;\n align-items: center !important;\n font-size: var(--icon-illustrative-font-size) !important;\n color: var(--icon-illustrative-font-color) !important;\n width: var(--icon-illustrative-size) !important;\n height: var(--icon-illustrative-size) !important;\n border-radius: 50% !important;\n background: #0000 !important;\n border: 1px solid var(--icon-illustrative-font-color) !important;\n}\n.sf-zone-ui.sf-zone-empty.-sf-labeled {\n margin-top: -25px !important;\n}\n.sf-zone-ui.sf-zone-empty.-sf-hidden {\n display: none !important;\n}\n.sf-zone-ui .sf-zone-error {\n padding: 10px 9px !important;\n background-color: #FFCCCC !important;\n color: #333 !important;\n border-radius: 3px !important;\n font-size: var(--font-size-base) !important;\n}\n.sf-zone-ui .sf-zone-error.-warning {\n background-color: #FFFFCC !important;\n margin-bottom: 10px !important;\n}\n.-sf-inline-block {\n display: inline-block !important;\n}\n.-sf-hidden {\n display: none !important;\n}\n.-sf-empty:not(.-no-border) {\n border: 1px dashed #ccc !important;\n}\n.-sf-empty:not(.-no-border).-sf-content .sf-zone-ui.sf-zone-widget__label {\n left: -3px !important;\n}\n.-sf-empty:not(.-sf-static) + .-sf-empty:not(.-sf-static) {\n border-left: 0 !important;\n}\n.-sf-empty.-root {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n}\n.-sf-empty.-root:not(.-narrowed) {\n min-height: 80vh !important;\n}\n.-sf-empty.-root.-narrowed {\n min-height: 50vh !important;\n}\n.-sf-relative {\n position: relative !important;\n}\nsf-fake-widget,\n.-sf-inline-block::after {\n height: 3px !important;\n display: block !important;\n}\n.-sf-inline-block::after {\n content: "" !important;\n}\n.-sf-inline-block + sf-fake-widget {\n display: none !important;\n}\n.sf-zone-widget.-sf-inline-block sf-add-widget:not(.-sf-dragged-over) {\n position: absolute !important;\n bottom: 0px !important;\n width: 100% !important;\n}\nsf-add-widget {\n --sf-visibility: hidden;\n display: block !important;\n position: relative !important;\n z-index: 1000 !important;\n}\nsf-add-widget:hover,\nsf-add-widget.-visible {\n --sf-visibility: visible;\n height: auto !important;\n}\n.-sf-width-100 {\n width: 100% !important;\n}'},function(e){e.exports='\x3c!-- We will discuss with the UX how to render this titles --\x3e\n\x3c!-- We leave the div hidden and not *ngIf because the loadingChanged event should be handled even if there are no items --\x3e\n
    \n
    \n
    \n {{ col.title }}\n \n
    \n
    \n\n \n \n\n \n \n
    \n\n\n
    \n
    \n \n
    \n
    \n
    \n\n\n
    \n
    \n \n
    \n
    \n
    \n\n\n \n \n\n\n\n
    \n
    \n \n
    \n
    \n \n
    \n'},function(e){e.exports='
    \n \n \n \n \n \n
    \n\n \n\n'},function(e){e.exports='\ufeff\n {{ dataContextItem.StatusText }}\n
    \n \n {{ dataContextItem.StatusText }}\n \n \n {{ dataContextItem.LockedText }}\n \n \n \n \n

    \n {{ dataContextItem.FirstDate.Name }}\n

    \n {{ dataContextItem.FirstDate.Date }}\n
    \n by {{ dataContextItem.FirstDate.User}}\n
    \n \n

    \n {{ dataContextItem.SecondDate.Name }}\n

    \n {{ dataContextItem.SecondDate.Date }}\n
    \n by {{ dataContextItem.SecondDate.User }}\n
    \n
    \n
    \n
    \n'},function(e){e.exports='\n\n\n\x3c!-- search --\x3e\n\x3c!-- site switch --\x3e\n'},function(e){e.exports='
    \n \n \n

    Couldn\'t find it!

    \n

    The page you are trying to reach doesn\'t exist

    \n Go to home\n
    \n'},function(e){e.exports='\ufeff
    \n \n

    {{(siteInfo | async).Name}}

    \n \n
    \n Logout\n
    \n
    \n\n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n
    \n \n
    \n\n
    \n \n
    \n
    \n'},function(e){e.exports='
    \n
    \n {{ loadMoreButtonText }}\n \n Search or filtering may be easier\n \n
    \n >\n \n
    \n {{currentItemsCount}} from \n {{allItemsCount}} {{getType(allItemsCount) | lowercase}}\n
    \n
    \n'},function(e){e.exports='
    \n \n \n
    \n'},function(e){e.exports='\n
    \n {{ date | sfRelativeDate }}
    \n \n {{ "by " }}{{ user }}\n \n
    \n
    \n'},function(e){e.exports='
    \n \n

    Access denied

    \n

    \n You don\'t have permissions to access this page.
    \n Contact an administrator to get permissions or go to the home page
    and browse other pages\n

    \n Go to home\n
    \n'},function(e){e.exports='\n \n\n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n {{ typeTitle }}\n
    \n
    \n ({{providerTitle}})\n
    '},function(e){e.exports='
    \n \n \n \n \n
    \n'},function(e){e.exports='
    \n \n \n
    \n'},function(e){e.exports='\n \n \n\n\n \n\n'},function(e){e.exports='\n\n'},function(e){e.exports="{{selectedParentTitle}}\n"},function(e){e.exports='\n {{selectedTimeZone}}\n\n\n \n\n'},function(e){e.exports='\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n'},function(e){e.exports=".sf-color-palette {\n display: flex;\n flex-wrap: wrap;\n}\n.sf-color-palette__item {\n width: 20px;\n height: 20px;\n}\n.sf-color-palette__item:nth-child(11n) {\n border-right: 1px solid #eee;\n width: 21px;\n}\n.sf-color-palette__item:nth-child(11) {\n border-top: 1px solid #eee;\n}"},function(e){e.exports='
    \n \n \n \n \n\n
    \n \n
    \n
    \n \n
    \n {{dependenciesCountText}}\n , related to this {{itemTypeName}}, will be synced as well.\n
    \n
    \n
    \n
    \n\n\n
    \n Checking dependencies...\n \n
    \n
    \n\n\n {{targetServers[0].Name}}\n\n\n\n
    \n \n \n
    \n
    \n\n\x3c!-- In order not to have twiching when loading is hidden and no items are available --\x3e\n\n
    PREVENT_TWITCHING_WHEN_NO_ITEMS_ARE_AVAILABLE
    \n
    \n'},function(e){e.exports='
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n'},function(e){e.exports='\n {{ city }} {{ country }}\n
    \n {{ street }}\n
    \n'},function(e){e.exports='
    \n {{parentUrlPath$ | async}}\n \n \n \n \n Edit structure\n \n \n Restore structure\n \n \n \n {{value}}\n {{extension}}\n \n \n (Custom URL)\n \n {{extension}}\n \n \n
    \n'},function(e){e.exports="@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.sf-page-url {\n min-height: 36px;\n}"},function(e){e.exports='
    \n \n \n \n {{value}}\n \n \n \n \n \n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='\x3c!-- this div element will become obsolete when all field types are added in Iris --\x3e\n
    \n \n \n \n \n
    \n \n
    \n
    \n
    \n'},function(e){e.exports='
    \n

    List actions

    \n
      \n \n \n \n
    \n

    Edit content or page actions

    \n
      \n \n \n \n
    \n

    Rich text editor

    \n
      \n \n \n \n
    \n
    \n\n\n
  • \n {{description}}\n {{keyCombination}}\n
  • \n\n'},function(e){e.exports='\n \n \n\n\n\n \n \n\n\n\n \n\n'},function(e){e.exports='\n\n\n\n
    \n
    \n
    \n
    \n
    \n {{node.data.dataItem.Title}}\n
    {{node.data.dataItem.description}}\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n'},function(e){e.exports='
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n'},function(e){e.exports='\n \n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n {{section.settings.title}}\n \n \n \n \n
    \n
    \n \n + Add many\n
    \n\n\n \n \n \n \n \n \n {{field.settings.title.toUpperCase()}}\n \n \n \n \n \n\n\n\n \n \n \n\n \n \n \n\n\n\n \n\n\n Default\n\n'},function(e){e.exports='
    \n \n \n \n \n
    \n'},function(e){e.exports='\n \n \n {{count}} {{count === 1 ? \'page\' : \'pages\'}}\n \n \n {{count}} pages\n Not used\n \n \n\n\n\n \n \n \n\n\n\n \n\n'},function(e){e.exports='\n {{sharedContentMessage}}\n \n \n\n'},function(e){e.exports='\n \n \n {{item.title}}\n \n \n
    \n
    \n

    Personalize widgets

    \n
    Add widget versions for selected user segments
    \n \n
    \n \n
    \n
    \n

    or Personalize entire page

    \n
    Add page versions with different layout and widgets
    \n Create personalized page\n
    \n
    \n
    \n\n'},function(e){e.exports='\n\n\n
    \n
    \n
    \n

    \n {{ listIndexModel.title }}\n

    \n \n Back to top\n \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n \n\n
    \n
    \n

    \n {{ listIndexModel.title }}\n

    \n
    \n \n \n \n
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n \n \n \n \n \n \n
    \n
    \n
    \n\n\n \n \n\n\n\n \n \n\n\n\n

    {{ listIndexModel.navigationTitle }}

    \n
    \n\n\n \n\n\n\n
    \n
    \n\n\n \n \n\n'},function(e){e.exports='\n\n'},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e){e.exports='
    \n \n {{ status }}\n \n \n \n \n \n
    \n'},function(e){e.exports='{{ duration }}\n'},function(e){e.exports='{{value}}\n\n
    \n {{additionalValue}}\n
    \n
    \n'},function(e){e.exports='\n {{displayCount}}\n\n\n'},function(e){e.exports='\n'},function(e){e.exports='
    \n \n

    {{message}}

    \n \n

    No {{itemType}} found

    \n
    \n
    \n'},function(e){e.exports='
    \n
    \n \n {{itemsState.totalCount}}\n  \n \n result\n results\n \n for\n {{searchValue}}\n \n
    \n
    \n \n \n \n Clear\n \n
    \n
    \n\n\n'},function(e){e.exports='\n
    \n
    {{task.Description}}
    \n \n \n
    \n
    \n {{processStatus(task)}}\n \n \n
    \n \n
    \n {{button.title}}\n
    \n
    \n
    \n
    \n
    \n'},function(e){e.exports='
    \n
    \n \n
    \n
    \n
    \n
    {{ node.data.Category }}
    \n \n {{ node.data.DateCreated | sfRelativeDate }}\n {{ node.data.DateCreated | sfRelativeDate:TIME_FORMAT }}\n \n
    \n
    \n\n
    \n \n
    \n
    \n
    \n'},function(e){e.exports='\n\n\n
    \n \n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n {{value | sfTrimTextLength : 20}}\n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n
    \n {{url}}\n
    \n
    \n'},function(e){e.exports='\n\n\n'},function(e){e.exports='\n {{sitesCount}} sites\n\n\n This site only\n\n\n Not used\n\n'},function(e){e.exports='\n'},function(e){e.exports="{{selectionTitle}}\n"},function(e){e.exports='\n\n\n\n

    \n Move items to another {{ singularName }}\n

    \n
    \n\n\n
    \n

    {{ (selectedItemsCount > 1 ? pluralName : singularName) | titlecase }} {{ selectedItemsText }} will be removed from the {{ itemTypeText }} items and a new {{ singularName }} will be assigned. This operation may take few minutes.

    \n

    Select a {{ singularName }} where to move the items

    \n
    \n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='\n\n\n \n\n\n\n \n\n'},function(e){e.exports="
    \n {{ parentName }}\n
    \n"},function(e){e.exports='
    \n \n
    \n\n\x3c!-- Generic notification handler if message is not handled by a specific loader with a filter --\x3e\n\n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n \n \n\n \n \n
    \n\n\n'},function(e){e.exports='@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.sf-input.-rich-text.-visually-hidden {\n position: absolute;\n width: 850px;\n opacity: 0;\n pointer-events: none;\n}\n.sf-input.-rich-text.-required .sf-input__required, .sf-input.-rich-text.ng-dirty.ng-invalid .sf-input__required {\n margin-top: 0;\n padding-top: 3px;\n border-top: 1px solid #ff4848;\n}\n.sf-input.-rich-text .sf-input__label {\n margin-bottom: 20px;\n}\n.sf-input.-rich-text .sf-input__field {\n height: auto;\n}\n.sf-input.-rich-text .sf-input__field.-placeholder::before {\n position: absolute;\n top: 3px;\n left: 3px;\n content: attr(data-placeholder);\n color: var(--input-placeholder-color);\n}\n.sf-input.-rich-text .sf-input__field.-initial .k-editor-inline {\n min-height: var(--editor-inline-min-height);\n}\n.sf-input.-rich-text .sf-input__field p {\n font-size: inherit;\n}\n.sf-input.-rich-text .sf-input__field h1, .sf-input.-rich-text .sf-input__field h2, .sf-input.-rich-text .sf-input__field h3, .sf-input.-rich-text .sf-input__field h4, .sf-input.-rich-text .sf-input__field h5, .sf-input.-rich-text .sf-input__field h6, .sf-input.-rich-text .sf-input__field section, .sf-input.-rich-text .sf-input__field ul, .sf-input.-rich-text .sf-input__field ol, .sf-input.-rich-text .sf-input__field address, .sf-input.-rich-text .sf-input__field article, .sf-input.-rich-text .sf-input__field dl, .sf-input.-rich-text .sf-input__field table, .sf-input.-rich-text .sf-input__field pre, .sf-input.-rich-text .sf-input__field video, .sf-input.-rich-text .sf-input__field figcaption {\n margin-bottom: 19px;\n}\n.sf-input.-rich-text video,\n.sf-input.-rich-text [data-sf-disable-link-event] {\n pointer-events: none;\n position: relative;\n}\n.sf-input.-rich-text video:before,\n.sf-input.-rich-text [data-sf-disable-link-event]:before {\n display: block;\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1000000;\n}\n.sf-input.-rich-text [data-sf-ec-immutable].sf-immutable-selected [data-sf-disable-link-event]::after {\n content: "";\n display: block;\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n padding: 0 !important;\n box-shadow: inset 0 0 0 5px #DCECF5;\n z-index: 10;\n}\n.sf-input.-rich-text [data-sf-ec-immutable] .twitter-tweet {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n.sf-input.-rich-text img[data-sf-ec-immutable].sf-immutable-selected {\n outline: 5px solid #DCECF5;\n outline-offset: -5px;\n}\n.sf-input.-rich-text img::-moz-selection {\n background: transparent;\n}\n.sf-input.-rich-text img::selection {\n background: transparent;\n}'},function(e){e.exports='

    Embed media

    \n
    \n
    \n \n \n
    \n \n \n x \n \n \n px\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n'},function(e){e.exports='\n
    \n
    \n
    \n'},function(e){e.exports='@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.monaco-editor {\n margin-top: 56px;\n overflow: hidden;\n}\n.monaco-editor .monaco-menu-container {\n font-family: "Open Sans", sans-serif;\n box-shadow: 0 3px 5px #ededee;\n border: 1px solid #eee;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label,\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .keybinding {\n padding: 2px 20px;\n font-size: var(--font-size-base);\n line-height: 1.4;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label {\n color: #333;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label:focus {\n color: inherit;\n text-shadow: none;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label.separator {\n margin-bottom: 10px;\n margin-left: 0;\n margin-right: 0;\n padding-top: 10px;\n}\n.monaco-editor .monaco-scrollable-element canvas.decorationsOverviewRuler {\n opacity: 0;\n}\n.monaco-editor .monaco-scrollable-element .scrollbar .slider {\n border-radius: 3px;\n}'},,,,,function(e){e.exports='
    \n

    {{title}}

    \n\n \n
    \n'},function(e){e.exports='
    \n

    Image properties

    \n
    \n \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n'},function(e){e.exports='
    \n
    \n \n
    {{ mediaData.thumbnailTitle }}
    \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
    Uploading ...
    \n \n
    \n {{uploadErrors[0] | sfSanitizer:\'html\'}}\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    {{error | sfSanitizer:\'html\'}}
    \n \n \n
    \n
    \n\n\n \n\n\n\n \n\n'},function(e){e.exports='\n\n\n
    \n \n \n x\n \n \n \n {{ settings.heightSettings.unit }}\n \n \n
    \n
    \n \n \n
    \n'},function(e){e.exports='
    \n
    \n \n
    {{ mediaData.thumbnailTitle }}
    \n
    \n
    \n {{ notSelectedValueText }}\n
    \n \n
    \n \n \n
    \n \n
    \n'},function(e){e.exports='
    \n \n \n
    \n\n'},function(e){e.exports='
    \n \n
    \n\n \x3c!-- Templates --\x3e\n \x3c!-- Multiple children template --\x3e\n \n \n \n {{value.length}}\n \n \n 0\n \n\n \x3c!-- Single child template --\x3e\n \n
    \n \n
    {{ mediaData.thumbnailTitle }}
    \n
    \n
    \n {{ notSelectedValueText }}\n
    \n \n
    \n \n \n
    \n\n
    \n'},function(e){e.exports='
    \n

    {{title}}

    \n \n
    \n
    \n \n \n
    \n

    {{ months[layout.index] }}

    \n \n
    \n \n
    \n\n\n \n\n\n'},function(e){e.exports='\n\n
    No thumbnails are created for this image!
    \n'},function(e){e.exports='
    \n \n \n \n
    \n\n\n \n \n \n {{ settings.unit }}\n \n\n'},function(e){e.exports='

    Progress Sitefinity

    \n
    \n

    Enter url to Sitefinity instance below

    \n

    It is recommended to use HTTPS protocol while working with Sitefinity backend, to prevent exposure of\n sensitive information.

    \n
    \n \n \n Save\n
    \n
    \n'},function(e){e.exports='

    Feature Toggle

    \n
    \n \n \n
    \n \n \n
    \n
    \n \n \n \n
    \n\n
    \n\n'},function(e){e.exports='
    \n

    Browser is not supported

    \n

    \n This browser is not supported for the new content editing experience.
    \n Open this content in a different browser, such as:\n

    \n \n Switch to new interface\n

    \n Or switch back to the classic interface from the profile menu.\n

    \n
    \n\n'},function(e){e.exports=".-sf-centered-vertical-box {\n height: 100vh;\n}"},function(e){e.exports='
    \n \n

    Your connection is not secure

    \n

    \n Please go to Sitefinity system settings\n and ensure SSL Offloading is configured correctly, or contact your Administrator.\n

    \n
    \n\n'},function(e){e.exports=".-sf-centered-vertical-box {\n height: 100vh;\n}"},function(e){e.exports='\n\n\n\n\n\n
    \n \x3c!-- Empty editbale fields requried by base component --\x3e\n \n \n
    \n'},function(e){e.exports="@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\nsf-app.sf-app {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 48px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}"},function(e){e.exports='\n\n\n\n\n
    \n \n
    \n
    \n \n \n
    \n

    \n {{ displayName$ | async }}\n

    \n \n \n
    \n \n \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n \n

    {{gridExtender.getEmptyScreenText(entityData, pluralName$) | async}}

    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n\n\n
    \n
    \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n
    \n\n\n \n \n\n\n\n \n \n\n\n\n \n \n\n\n\n \n \n\n\n\n \n \n\n\n\n \n \n\n\n\n \n\n\n\n \n\n\n\n

    \n {{ displayName$ | async }}\n

    \n \n \n \n \n \n \n \n
    \n\n\n'},function(e){e.exports='\n \n \n \n\n \n \n {{selectedItemsCount}} selected\n \n \n Select all\n Select all\n \n \n \n \n \n Clear\n \n \n \n {{selectedItemsCount}} selected on this page\n \n Select all {{itemsTotalCount - excludedItemsCount}} items\n \n Clear\n \n \n All {{itemsTotalCount - excludedItemsCount}} selected\n \n Clear\n \n \n\n \n \n\n'},function(e){e.exports='\n\n\n {{ getNotificaitonMessage() }}\n Undo\n\n'},function(e){e.exports='\n\n\n\n \n

    Selected items from the current language will be displayed here

    \n
    \n'},function(e){e.exports='
    \n \n

    {{section.title}}

    \n \n
    \n
    \n'},function(e){e.exports='
    \n \n \n\n
    \n {{ parentEntityData.data.Title }}\n
    \n\n \n \n\n \n
    \n'},function(e){e.exports='
    \n \n

    {{section.title}}

    \n \n
    \n
    \n'},function(e){e.exports='
    \n
    \n \n \n \n \n
    \n
    \n\n \n \n \n\n\n\n \n\n'},function(e){e.exports='\n
    \n \n
    \n
    \n \n
    \n\n\n\x3c!-- Generic notification handler if message is not handled by a specific loader with a filter --\x3e\n\x3c!-- TODO: Only here because the tests need to be refactored and that is a huge amount of work, ideally the one in app.component.html should be used --\x3e\n\n'},function(e){e.exports='\ufeff\n\n
    \n
    \n Back to all\n

    Content

    \n
    \n \n
    \n'},function(e){e.exports='\n \n\n \n\n \n\n \n \n\n'},function(e){e.exports='
    \n \n

    {{emptyMessageLabel}}

    \n
    \n
    \n \n \n
    \n\n\n
    \n
    \n \n {{ node.displayField}}\n
    \n
    \n
    \n'},function(e){e.exports='\n\n
    \n
    \n\n \n \n\n \n

    Form rules

    \n
    \n\n \n\n
    \n
    \n

    {{ formDefinition.Title }}

    \n
    \n
    \n \n

    No rules have been created yet

    \n

    You cannot create rules for an empty form

    \n
    \n
    \n Create a rule\n
    \n
    \n\n \n
    \n
    \n

    {{ formDefinition.Title }}

    \n
    \n
    \n Create a rule\n
    \n
    \n \n Rules will be active on the site after you publish the form.\n \n \n \n IF\n \n \n \n \n \n THEN\n \n \n \n \n \n \n \n \n\n
    \n\n
    \n\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n'},function(e){e.exports='
    \n \n \n
    \n
    \n \n \n of the following conditions are met\n
    \n\n
    \n
    \n \n \n
    \n \n
    \n\n
    \n \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n\n'},function(e){e.exports='
    \n
    \n \n
    \n
    \n \n
    \n {{formFieldColumnData.component.properties.settings.instructionalText}}\n
    \n \n
    \n \n \n
    \n'},function(e){e.exports='
    \n
    \n \n \n \n
    \n
    \n \n \n
    \n
    \n\n\x3c!-- Circle Buttons like close --\x3e\n\n
    \n \n \n \n \n \n \n \n {{ button.content }}\n \n \n \n
    \n
    \n'},function(e){e.exports='
    \n \n \n
    \n
    \n \n {{startDate | sfRelativeDate}} – {{endDate | sfRelativeDate}}\n \n \n
    \n
    \n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n
    \n'},function(e){e.exports='\n \n\n\n'},function(e){e.exports='\n \n {{ value.Description }}\n \n \n \n\n {{ value.LinkTitle }}\n \n \n\n'},function(e){e.exports='\n{{calendar?.Title}}\n'},function(e){e.exports='\n
    {{viewModel.date}}
    \n
    {{viewModel.offset}}
    \n
    \n\n'},function(e){e.exports='
    \n \n \n \n \n
    \n
    \n \n
    \n\n\x3c!-- Templates --\x3e\n\x3c!-- Multiple children template --\x3e\n\n \n \n \n\n\n\x3c!-- Single child template --\x3e\n\n {{ child.count }} {{ child.displayName | lowercase }}\n\n'},function(e){e.exports=' View'},function(e){e.exports='\n New {{childTypeName | lowercase}}\n\n'},function(e){e.exports='
    \n \n
    \n
    \n \n
    \n\n\x3c!-- Templates --\x3e\n\x3c!-- Children template --\x3e\n\x3c!-- isLoading should be set to True in order to show the chips --\x3e\n\n \n \n \n \n \n\n\n\x3c!-- No children template --\x3e\n\n No items\n'},function(e){e.exports="{{letter}}"},function(e){e.exports='\n
    {{fileExtension}}
    \n
    {{width}} X {{height}}
    \n
    {{fileSizeInKb}} KB
    \n
    \n'},function(e){e.exports='
    \n
    \n \n \n
    \n
    \n\n\n
    \n \n
    \n
    \n'},function(e){e.exports='
    {{fileExtension}}
    \n
    {{fileSizeInKb}} KB
    \n'},function(e){e.exports='{{link.title}}\n\n{{text}}'},function(e){e.exports='
    \n
    \n \n {{itemsState.totalCount}}\n  \n \n result\n results\n \n for\n {{searchValue}}\n \n \n Custom filter applied\n \n \n Filter {{predefinedFilter.title}} applied\n \n
    \n
    \n \n \n \n Clear\n \n
    \n
    \n\n\n'},function(e){e.exports='
    \n \n \n \n \n \n {{chip.title}}\n \n \n
    \n'},function(e){e.exports='\n {{filter.title}}\n \n ({{filtersCountResult.content.count}})\n \n\n\n\n \n\n'},function(e){e.exports='\n
    \n \n
    \n\n\n \n\n\n
    \n \n\n \n \x3c!-- Edit button - should be last --\x3e\n \n
    \n
    \n {{ operation }}\n
    \n
    \n \n
    \n'},function(e){e.exports='
    \n
    \n\n \n
    \n\n \n \n \n {{failedValidation.errorMessage}}\n \n \n
    \n
    \n
    \n \n
    \n
    \n

    {{title}}

    \n
    \n
    No {{mediaEntity.setName}}
    \n
    {{totalFiles + " " + mediaEntity.singularName.toLowerCase()}}
    \n
    {{totalFiles + " " + mediaEntity.setName}}
    \n \n
    {{totalFolders}} library
    \n
    {{totalFolders}} libraries
    \n
    \n
    \n\n\x3c!-- Templates --\x3e\n\x3c!-- Multimedia library template --\x3e\n\n \n\n\n\x3c!-- Document library template --\x3e\n\n \n\n\n\n \n \n \n\n\n\n
    \n \n
    \n
    \n'},function(e){e.exports='
    \n \n \n
    \n'},function(e){e.exports='
    \n
    \n \n \n
    \n
    \n'},function(e){e.exports='\n \n \n {{item.Title}}\n \n\n {{item.Title}}\n \n \n \n \n\n\n'},function(e){e.exports='
    \n

    All image sizes

    \n
    \n
    {{imageTitle}}
    \n
    \n
    \n
    \n

    {{thumbnail.Title}}

    \n
    {{thumbnail.Size}}
    \n \n
    \n
    \n'},function(e){e.exports='\n

    {{title}}

    \n
    Embedding works only for published items
    \n
    \n
    \n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n
    \n'},function(e){e.exports='

    \n \n \n {{backButtonTitle$ | async}}\n \n \n {{backButtonTitle$ | async}}\n \n

    \n
    \n
    \n \n

    {{ currentRootTitle$ | async }}

    \n\n \n \n \n \n \n \n
    \n\n \n
    \n
    \n\n\n
    \n \n
    \n
    \n\n\n
    \n
    \n
    \n \n \n {{node.data.dataItem.data.Title}}\n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n'},function(e){e.exports='\n\n\n\n\n\n'},function(e){e.exports='
    \n

    Crop, resize or rotate

    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n \n \n\n
    \n
    \n \n {{ resizeData?.width }} x {{ resizeData?.height }}\n \n \n \n \n\n x\n\n \n \n\n px\n\n \n \n \n
    \n
    \n\n
    \n \n \n\n \n \n
    \n
    \n
    \n
    \n'},function(e){e.exports='@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.sf-crop-image {\n /*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */\n}\n.sf-crop-image .cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.sf-crop-image .cropper-container img {\n image-orientation: 0deg;\n display: block;\n height: 100%;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n}\n.sf-crop-image .cropper-canvas, .sf-crop-image .cropper-crop-box, .sf-crop-image .cropper-drag-box, .sf-crop-image .cropper-modal, .sf-crop-image .cropper-wrap-box {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n.sf-crop-image .cropper-canvas, .sf-crop-image .cropper-wrap-box {\n overflow: hidden;\n}\n.sf-crop-image .cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n.sf-crop-image .cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n.sf-crop-image .cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 0.75);\n overflow: hidden;\n width: 100%;\n}\n.sf-crop-image .cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n.sf-crop-image .cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: 33.33333%;\n left: 0;\n top: 33.33333%;\n width: 100%;\n}\n.sf-crop-image .cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: 33.33333%;\n top: 0;\n width: 33.33333%;\n}\n.sf-crop-image .cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n.sf-crop-image .cropper-center:after, .sf-crop-image .cropper-center:before {\n background-color: #eee;\n content: " ";\n display: block;\n position: absolute;\n}\n.sf-crop-image .cropper-center:before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n}\n.sf-crop-image .cropper-center:after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n}\n.sf-crop-image .cropper-face, .sf-crop-image .cropper-line, .sf-crop-image .cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n.sf-crop-image .cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n.sf-crop-image .cropper-line {\n background-color: #39f;\n}\n.sf-crop-image .cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n}\n.sf-crop-image .cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n}\n.sf-crop-image .cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n}\n.sf-crop-image .cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n}\n.sf-crop-image .cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n.sf-crop-image .cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n}\n.sf-crop-image .cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n}\n.sf-crop-image .cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n}\n.sf-crop-image .cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n}\n.sf-crop-image .cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n}\n.sf-crop-image .cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n}\n.sf-crop-image .cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n}\n.sf-crop-image .cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n}\n@media (min-width: 768px) {\n .sf-crop-image .cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n}\n@media (min-width: 992px) {\n .sf-crop-image .cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n}\n@media (min-width: 1200px) {\n .sf-crop-image .cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n}\n.sf-crop-image .cropper-point.point-se:before {\n background-color: #39f;\n bottom: -50%;\n content: " ";\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n}\n.sf-crop-image .cropper-invisible {\n opacity: 0;\n}\n.sf-crop-image .cropper-bg {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");\n}\n.sf-crop-image .cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n.sf-crop-image .cropper-hidden {\n display: none !important;\n}\n.sf-crop-image .cropper-move {\n cursor: move;\n}\n.sf-crop-image .cropper-crop {\n cursor: crosshair;\n}\n.sf-crop-image .cropper-disabled .cropper-drag-box, .sf-crop-image .cropper-disabled .cropper-face, .sf-crop-image .cropper-disabled .cropper-line, .sf-crop-image .cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n.sf-crop-image .cropper-modal {\n background-color: transparent;\n}\n.sf-crop-image .cropper-view-box {\n outline-color: #DCECF5;\n outline: 5px solid #DCECF5;\n}\n.sf-crop-image .cropper-line {\n background-color: #DCECF5;\n}\n.sf-crop-image .cropper-container .cropper-point {\n height: 5px;\n width: 5px;\n opacity: 0;\n}'},,function(e){e.exports='\n
    \n \n \n
    \n
    \n \n {{ item[widthProperty] }} x {{ item[heightProperty] }}\n \n \n {{ item[sizeProperty] | sfFileSize }}\n \n {{ item[extensionProperty] | sfExtension }}\n
    \n \n \n {{ item[widthProperty] }} x {{ item[heightProperty] }}\n
    \n
    \n {{ item[sizeProperty] | sfFileSize }}\n {{ item[extensionProperty] }}\n
    \n
    \n'},function(e){e.exports='\n
    \n \n \n
    \n
    \n\n\n\n
    \n
    \n {{ operation }}\n
    \n
    \n\n\n\n
    \n \n
    \n
    \n'},function(e){e.exports='\n\n\n \n\n'},function(e){e.exports='
    \n \n \n {{message | sfTrimTextLength : 150}}\n \n
    \n
    \n \n

    Not found

    \n
    \n
    \n
    \n
    \n
    \n\n\n
    \n \n
    \n
    \n'},function(e){e.exports=".sf-upload__dam-error {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 75vh;\n width: 80vw;\n background-color: #f5f5f5;\n}\n.sf-upload__dam-wrapper {\n height: 75vh;\n width: 80vw;\n}\n.sf-upload__dam-wrapper iframe {\n border: 1px solid #f0f0f0 !important;\n}\n.sf-upload__dam-wrapper.-error iframe {\n display: none !important;\n}"},function(e,t,n){n.d(t,{v:function(){return m}});var i,o=n(5),a=n(4),r=n(65),s=n(7),l=n(139),c=n(104),d=n(712),u=n(192),f=n(84),p=n(494),A=n(431),m=i=function(){function ConnectorService(e,t,n){(0,o.Z)(this,ConnectorService),this.dateTimeUtils=e,this.dynamicItemService=t,this.metadataStore=n,this.lastConfigValue$=null,this.configResolved=!1,this.lastAccessInTimeTicks=0}return(0,a.Z)(ConnectorService,[{key:"getConnectorDetails",value:function getConnectorDetails(){var e=this,t=this.dateTimeUtils.getNow().getTime(),n=t-this.lastAccessInTimeTicks>1e4;null!=this.lastConfigValue$&&this.configResolved&&!n||(this.lastAccessInTimeTicks=t,this.lastConfigValue$=new l.c,this.dynamicItemService.executeUnboundFunction(i.INSIGHT_SETTINGS_ACTION_NAME).subscribe((function(t){var n=JSON.parse(t.value);e.lastConfigValue$.next(n),e.lastConfigValue$.complete(),e.configResolved=!0}),(function(t){e.lastConfigValue$.error(t),e.lastConfigValue$.complete(),e.configResolved=!1})));return this.lastConfigValue$}},{key:"isSitefinityInsightEnabled",value:function isSitefinityInsightEnabled(){var e=this;return this.metadataStore.initialize().pipe((0,A.VS)((function(t){return t.modulesAvailability&&t.modulesAvailability.insight?e.getConnectorDetails().pipe((0,p.map)((function(e){return null!==e&&e.IsDecEnabled&&null!=e.DataCenterApiKey}))):(0,c.of)(!1)})))}}]),ConnectorService}();m.INSIGHT_SETTINGS_ACTION_NAME="Default.InsightSettings()",m.ctorParameters=function(){return[{type:d.h},{type:u.dg},{type:f.EY}]},m=i=(0,r.gn)([(0,s.GSi)(),(0,r.w6)("design:paramtypes",[d.h,u.dg,f.EY])],m)},function(e,t,n){n.d(t,{h:function(){return s}});var i=n(5),o=n(4),a=n(65),r=n(7),s=function(){function DateTimeUtilsService(){(0,i.Z)(this,DateTimeUtilsService),this.monthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],this.daysOfWeek=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}return(0,o.Z)(DateTimeUtilsService,[{key:"getNow",value:function getNow(){return new Date}},{key:"getFromDateAndToDateInclusiveHeaderValue",value:function getFromDateAndToDateInclusiveHeaderValue(e){var t=this.getNow(),n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),23,59,59)),i=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0));return{fromDateISOString:(i=this.subtractDays(i,e)).toISOString(),toDateISOString:n.toISOString()}}},{key:"subtractDays",value:function subtractDays(e,t){return this.addDays(e,-1*t)}},{key:"addDays",value:function addDays(e,t){var n=new Date(e);return n.setUTCDate(n.getUTCDate()+t),n}},{key:"toShortDateTimeFormat",value:function toShortDateTimeFormat(e){var t=new Date(e),n=this.monthNames[t.getUTCMonth()];return"".concat(t.getUTCDate()," ").concat(n)}},{key:"toLongDateTimeFormat",value:function toLongDateTimeFormat(e){var t=new Date(e),n=this.monthNames[t.getUTCMonth()],i=this.daysOfWeek[t.getUTCDay()];return"".concat(i,", ").concat(t.getUTCDate()," ").concat(n," ").concat(t.getUTCFullYear())}}]),DateTimeUtilsService}();s=(0,a.gn)([(0,r.GSi)()],s)},function(e){e.exports='
    \n \n \n \n \n \n \n
    \n
    \n \n \n \n
    \n\n
    \n \n
    \n'},function(e,t,n){n.d(t,{B:function(){return A}});var i,o=n(5),a=n(4),r=n(65),s=n(58),l=n(49),c=n(7),d=n(717),u=n(715),f=n(712),p=n(716),A=i=function(){function SitefinityInsightTouchpointRequesterService(e,t,n){(0,o.Z)(this,SitefinityInsightTouchpointRequesterService),this.sitefinityInsightHttpClient=e,this.dateTimeUtils=t,this.sitefinityRequesterService=n}return(0,a.Z)(SitefinityInsightTouchpointRequesterService,[{key:"getTouchpointByContent",value:function getTouchpointByContent(e){var t={filter:{ContentId:e.Id,ContentType:e.ContentType,ContentProvider:e.Provider}};return this.sitefinityInsightHttpClient.get(i.CONTENT_TOUCHPOINTS_ENDPOINT,t).pipe((0,s.U)(d.$.firstOrDefault))}},{key:"createContentTouchpoint",value:function createContentTouchpoint(e,t){var n=this,o=t.AvailableLanguages.length>0,a=-1!==t.AvailableLanguages.indexOf(e),r={Name:t[t.DefaultFieldName],ContentId:t.Id,ContentType:t.ContentType,ContentProvider:t.Provider};if(!o||e===t.CurrentCulture&&a)return this.sitefinityInsightHttpClient.post(i.CONTENT_TOUCHPOINTS_ENDPOINT,r,{});var c=a?e:t.AvailableLanguages[0];return this.sitefinityRequesterService.getContentItemsDetails(c,t).pipe((0,s.U)((function(e){return r.Name=e[t.DefaultFieldName],r})),(0,l.zg)((function(e){return n.sitefinityInsightHttpClient.post(i.CONTENT_TOUCHPOINTS_ENDPOINT,e,{})})))}},{key:"hasStatistics",value:function hasStatistics(e){return this.getDailyStatistics(e,5).pipe((0,s.U)((function(e){return e&&e.length>=1})))}},{key:"getPeriodMetrics",value:function getPeriodMetrics(e,t){var n={period:t};return this.sitefinityInsightHttpClient.get("analytics/v1/touchpoints/".concat(e,"/period-metrics"),n).pipe((0,s.U)(d.$.firstOrDefault)).pipe((0,s.U)((function(e){return e.Improvement=e.UniqueHits_PreviousPeriod?(e.UniqueHits_CurrentPeriod-e.UniqueHits_PreviousPeriod)/e.UniqueHits_PreviousPeriod*100:null,e})))}},{key:"getDailyStatistics",value:function getDailyStatistics(e,t){var n=t+5,i=this.dateTimeUtils.getFromDateAndToDateInclusiveHeaderValue(n),o={fromDate:i.fromDateISOString,toDate:i.toDateISOString};return this.sitefinityInsightHttpClient.get("analytics/v1/touchpoints/".concat(e,"/statistics/daily"),o).pipe((0,s.U)(d.$.flattenCollectionResponse)).pipe((0,s.U)((function(e){var n=e.length;return n-t>0?e.slice(n-t):e})))}},{key:"getAttributions",value:function getAttributions(e,t){var n={filter:{TouchpointId:e},take:t,sort:{GoalCompletions:-1}};return this.sitefinityInsightHttpClient.get("analytics/v1/attributions",n).pipe((0,s.U)(d.$.flattenCollectionResponse))}}]),SitefinityInsightTouchpointRequesterService}();A.CONTENT_TOUCHPOINTS_ENDPOINT="analytics/v1/touchpoints/content",A.ctorParameters=function(){return[{type:u.i},{type:f.h},{type:p.s}]},A=i=(0,r.gn)([(0,c.GSi)(),(0,r.w6)("design:paramtypes",[u.i,f.h,p.s])],A)},function(e,t,n){n.d(t,{i:function(){return u}});var i=n(5),o=n(4),a=n(65),r=n(49),s=n(7),l=n(128),c=n(711),d=n(189),u=function(){function SitefinityInsightHttpRequester(e,t){(0,i.Z)(this,SitefinityInsightHttpRequester),this.sitefinityInsightConnectorService=e,this.http=t}return(0,o.Z)(SitefinityInsightHttpRequester,[{key:"get",value:function get(e,t){var n=this;return this.sitefinityInsightConnectorService.getConnectorDetails().pipe((0,r.zg)((function(i){var o={headers:new l.WM(n.getHeaders(t,i))};return n.http.get("".concat(i.ApiServerUrl,"/").concat(e),o)})))}},{key:"post",value:function post(e,t,n){var i=this;return this.sitefinityInsightConnectorService.getConnectorDetails().pipe((0,r.zg)((function(o){var a={headers:new l.WM(i.getHeaders(n,o))};return i.http.post("".concat(o.ApiServerUrl,"/").concat(e),t,a)})))}},{key:"getHeaders",value:function getHeaders(e,t){var n={"x-dataintelligence-datacenterkey":t.DataCenterApiKey,Authorization:t.AuthorizationHeader};return e.filter&&(n[d.Rc.FILTER]=JSON.stringify(e.filter)),e.fromDate&&(n[d.Rc.FROM_DATE]=e.fromDate),e.toDate&&(n[d.Rc.TO_DATE]=e.toDate),e.scale&&(n[d.Rc.SCALE]=e.scale),e.period&&(n[d.Rc.PERIOD]=e.period),e.sort&&(n[d.Rc.SORT]=JSON.stringify(e.sort)),e.take&&(n[d.Rc.TAKE]="".concat(e.take)),e.ids&&(n[d.Rc.IDS]="".concat(e.ids)),n}}]),SitefinityInsightHttpRequester}();u.ctorParameters=function(){return[{type:c.v},{type:l.eN}]},u=(0,a.gn)([(0,s.GSi)(),(0,a.w6)("design:paramtypes",[c.v,l.eN])],u)},function(e,t,n){n.d(t,{s:function(){return c}});var i=n(5),o=n(4),a=n(65),r=n(7),s=n(85),l=n(50),c=function(){function SitefinityRequesterService(e){(0,i.Z)(this,SitefinityRequesterService),this.http=e}return(0,o.Z)(SitefinityRequesterService,[{key:"getContentItemsDetails",value:function getContentItemsDetails(e,t){var n="".concat(t.SfSetName,"(").concat(t.Id,")?sf_culture=").concat(e,"&sf_provider=").concat(t.Provider);return(0,l.D)(this.http.get(n))}}]),SitefinityRequesterService}();c.ctorParameters=function(){return[{type:s.q}]},c=(0,a.gn)([(0,r.GSi)(),(0,a.w6)("design:paramtypes",[s.q])],c)},function(e,t,n){n.d(t,{$:function(){return a}});var i=n(5),o=n(4),a=function(){function HttpDataResponseUtils(){(0,i.Z)(this,HttpDataResponseUtils)}return(0,o.Z)(HttpDataResponseUtils,null,[{key:"flattenCollectionResponse",value:function flattenCollectionResponse(e){return e.items}},{key:"firstOrDefault",value:function firstOrDefault(e){return e&&e.items&&e.items.length>0?e.items[0]:null}}]),HttpDataResponseUtils}()},function(e){e.exports='
    \n \n

    Lost connection

    \n

    Connection to Sitefinity Insight is lost and no data is currently available.

    \n \n
    \n'},function(e){e.exports=".-sf-centered-vertical-box {\n margin-top: -100px;\n margin-bottom: -66px;\n}"},function(e){e.exports="
    \n
    \n
    \n"},function(e){e.exports='\x3c!-- using async pipe here as angular does not always update the template upon changing property --\x3e\n\n\n \n
    \n \n
    \n {{ model.contentItemModel.itemName || model.href }}\n
    \n \n \n View\n \n \n\n \n \n \n \n
    \n
    \n\n \n \x3c!-- don`t use the autofocus property in sf-input in this component as it will break --\x3e\n \n \n or Select page or content\n \n
    \n'},function(e){e.exports='
    \n

    Select page or content item

    \n\n
    \n \n \n
    \n \n
    \n \x3c!-- TODO: Discussed with Kiriv Vandov to remove the [isLoading] and use [selectedChips] for the loading of the chips --\x3e\n \n \n \n in\n \n \n \n
    \n
    \n
    \n
    \n\n
    \n \n
    \n \n \n \n \n in\n \n \n \n \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n\n \n \n
    \n\n\n \n \n \n \n\n\n\n \n
    \n \n
    \n
    \n
    \n'},,function(e){e.exports='\n \n\n
    \n \n \n
    \n
    \n
    \n {{gotItLinkText}}\n \n \n \n \n Skip this tutorial\n
    \n
    \n'},function(e){e.exports='@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root:root:root sf-tooltip-element {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:root:root:root sf-tooltip-element {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:root:root:root sf-tooltip-element {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:root:root:root sf-tooltip-element {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:root:root:root sf-tooltip-element {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:root:root:root sf-tooltip-element {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:root:root:root sf-tooltip-element {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:root:root:root sf-tooltip-element {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.8rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:root:root:root sf-tooltip-element {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:root:root:root sf-tooltip-element {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:root:root:root sf-tooltip-element {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:root:root:root sf-tooltip-element {\n --select-arrow-color: #777;\n}\n:root:root:root sf-tooltip-element {\n --input-box-shadow-hover: #e4e4e4;\n}\n:root:root:root sf-tooltip-element {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:root:root:root sf-tooltip-element {\n --secondary-text-color: #999;\n}\n:root:root:root sf-tooltip-element {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:root:root:root sf-tooltip-element {\n --tree-list-expander-color: #777;\n}\n:root:root:root sf-tooltip-element {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 48px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n:root:root:root sf-tooltip-element {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n font-family: "Open Sans", sans-serif;\n font-size: var(--font-size-base);\n line-height: 1.4;\n color: #333;\n}\n:root:root:root sf-tooltip-element {\n /*\n Default lists\n\n Markup:\n
      \n
    • Item 1
    • \n
    • Item 2
    • \n
    \n
    \n
      \n
    1. Item 1
    2. \n
    3. Item 2
    4. \n
    \n\n Styleguide: List.default\n */\n /*\n List with list-style: none:\n\n Markup:\n
      \n
    • Item 1
    • \n
    • Item 2
    • \n
    \n
    \n
      \n
    1. Item 1
    2. \n
    3. Item 2
    4. \n
    \n\n Styleguide: List.list-style-none\n */\n /*\n Default Link\n\n Default and secondary links\n\n Markup:\n Default link
    \n Secondary link\n\n Styleguide: Link.default\n */\n /*\n Navigation links\n\n Markup:\n Navigation link
    \n Settings link\n\n Styleguide: Link.navigation\n */\n /*\n Section nav links\n\n Markup:\n Categories and tags
    \n Search engine optimi...
    \n Social media
    \n\n Styleguide: Link.section-nav-links\n */\n /*\n Basic links\n\n Markup:\n Categories and tags
    \n\n Styleguide: Link.basic-links\n */\n /*\n Toolbar links\n\n Markup:\n
    \n Categories and tags
    \n Categories and tags
    \n
    \n\n Styleguide: Link.toolbar-links\n */\n /*\n Typography\n\n Headings\n\n Markup:\n

    H1 List Page Title

    \n

    H1 Detail Page Title

    \n

    H2 Group Title

    \n

    H3 Item Title

    \n

    H4 Form Label

    \n

    H4 Regular Label

    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings\n */\n /*\n Heading CSS Classes\n\n Markup:\n
    H1 List Page Title
    \n
    H1 Detail Page Title
    \n
    H2 Group Title
    \n
    H3 Item Title
    \n
    H4 Form Label
    \n
    H4 Regular Label
    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings-classes\n */\n /*\n Paragraph\n\n Markup:\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat. Nulla iaculis id sem eget ullamcorper. In ac euismod nunc. Fusce at tortor viverra, maximus quam quis, interdum velit. Mauris varius risus ut ante porttitor tempor.

    \n\n Styleguide: Typography.Paragraph\n */\n /*\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n /*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n /*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n */\n /*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n */\n /*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n /*\n Stacked icons\n\n `.sf-stack {.sf-stack__in,.sf-stack__out}`\n\n Markup:\n
    \n \n \n
    \n
    \n \n \n \n
    \n\n Styleguide: Icon.stacked\n */\n /*\n Notification\n */\n /*\n info Notification\n\n `.sf-notification.-info`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n success Notification\n\n `.sf-notification.-success`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n error Notification\n\n `.sf-notification.-error`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n warning Notification\n\n `.sf-notification.-warning`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n black Notification\n\n `.sf-notification.-black`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n transparent Notification\n\n `.sf-notification.-transparent`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n * info notification with close button\n\n `.sf-notification.-success`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.with-close\n */\n /*\n Inline notification (as wide as the content in it)\n\n `.sf-notification.-inline`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.inline\n */\n /*\n Notification with bottom up\n\n `.sf-notification.-info.-up`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.bottom-up\n */\n /*\n Notification with top arrow\n\n `.sf-notification.-info.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.loader-big\n */\n /*\n Notification with right arrow\n\n `.sf-notification.-info.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.right-arrow\n */\n /*\n Notification with left arrow\n\n `.sf-notification.-info.-right`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.left-arrow\n */\n /*\n Notification as tooltip\n\n `.sf-notification.-tooltip`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip\n */\n /*\n Notification as tooltip with top left arrow\n\n `.sf-notification.-tooltip.-down-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n Styleguide: Notification.tooltip-with-top-left-arrow\n */\n /*\n Notification as tooltip with top right arrow and close button\n\n `.sf-notification.-tooltip.-down-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-top-right-arrow\n */\n /*\n Notification as tooltip with left arrow\n\n `.sf-notification.-tooltip.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-left-arrow\n */\n /*\n Notification as tooltip with right arrow\n\n `.sf-notification.-tooltip.-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-right-arrow\n */\n /*\n Notification as tooltip with down arrow\n\n `.sf-notification.-tooltip.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-down-arrow\n */\n /*\n Notification as tooltip with up arrow\n\n `.sf-notification.-tooltip.-up`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-up-arrow\n */\n /*\n Edit item notification\n\n `.sf-notification.-success.-fixed.-inline`\n\n Markup:\n
    \n \t
    \n \t
    \n \t\tContent has been published successfully.\n \t
    \n
    \n\n Styleguide: Notification.edit-item\n */\n /*\n Notification as toolset for link\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n https://drive.google.com/drive/folders/\n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-link\n */\n /*\n Notification as toolset for other objects\n\n `.sf-notification.-toolset.-black.-up`\n\n Markup:\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-other-objects\n */\n /*\n Notification as toolset for styles menu\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-styles-menu\n */\n /*\n Info icon and tooltip\n\n `.sf-tooltip`\n\n Markup:\n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n\n Styleguide: Tooltip.tooltip\n */\n /*\n Info icon and tooltip opens on click\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-click\n */\n /*\n Tooltip on the right\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-the-right\n */\n /*\n Tooltip on the left\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-the-left\n */\n /*\n Tooltip on top\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n \n
    \n
    \n\n `Styleguide: Tooltip.on-top\n */\n /*\n Tooltip on bottom\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-bottom\n */\n /*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n /*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n /*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n /*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n /*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n /*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n /*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n /*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n /*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n /*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\n Styleguide: Spacing.margin-classes\n */\n /*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n /*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n /*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n /*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n /* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n */\n /*\n Visibility utility classes\n\n Hide classes\n\n `-sf-hidden, -sf-invisible, -sf-transparent`\n\n Markup:\n
    .-sf-hidden
    \n
    .-sf-invisible
    \n
    .-sf-transparent
    \n\n Styleguide: Visibility.hide\n */\n /*\n Visually hidden but accessible to screen readers\n\n `-sf-visually-hidden`\n\n Markup:\n
    This text is visually hidden but accessible to screen readers
    \n\n Styleguide: Visibility.visually-hidden\n */\n /*\n Image fit cover\n\n `-sf-img-fit-cover`\n\n Markup:\n
    \n\n Styleguide: Visibility.img-fit-cover\n */\n /*\n Positions\n\n `-sf-absolute, -sf-relative`\n\n Markup:\n
    Absolute position
    \n
    Relative position
    \n
    Static position
    \n\n Styleguide: Visibility.positions\n */\n /*\n Rotate\n\n `-sf-rotate-90, sf-rotate--90, sf-rotate-180`\n\n Markup:\n
    Rotate 90deg
    \n
    Rotate -90deg
    \n
    Rotate 180deg
    \n\n Styleguide: Visibility.rotate\n */\n /*\n Cursor/Disabled utility classes\n\n Disabled link\n\n `-sf-disabled`\n\n Markup:\n Disabled link\n\n Styleguide: Disabled.disabled\n */\n /*\n Element which looks clickable\n\n `-sf-clickable`\n\n Markup:\n Clickable element\n\n Styleguide: Disabled.clickable\n */\n /*\n Element with cursor text\n\n `-sf-cursor-text`\n\n Markup:\n Cursor text\n\n Styleguide: Disabled.cursor-text\n */\n /*\n Element that cannot be selected\n\n `-sf-user-select-none`\n\n Markup:\n User selection none\n\n Styleguide: Disabled.user-select-none\n */\n /*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n /*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n /*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n /*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n /*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n /*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n /*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n /*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n /*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n /*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n /*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n /*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n /*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n /*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n font-family: open_sansregular, "Open Sans", Arial, Verdana, sans-serif;\n font-size: var(--font-size-base);\n box-sizing: border-box;\n}\n:root:root:root sf-tooltip-element ul.-list-style-none, :root:root:root sf-tooltip-element ol.-list-style-none {\n list-style: none;\n}\n:root:root:root sf-tooltip-element ul.-list-style-disc, :root:root:root sf-tooltip-element ol.-list-style-disc {\n list-style-type: disc;\n}\n:root:root:root sf-tooltip-element ul.-list-style-decimal, :root:root:root sf-tooltip-element ol.-list-style-decimal {\n list-style-type: decimal;\n}\n:root:root:root sf-tooltip-element ul.-list-inline li, :root:root:root sf-tooltip-element ol.-list-inline li {\n display: inline-block;\n}\n:root:root:root sf-tooltip-element ul.-full-height, :root:root:root sf-tooltip-element ol.-full-height {\n height: 100%;\n}\n:root:root:root sf-tooltip-element ul.-full-height li, :root:root:root sf-tooltip-element ol.-full-height li {\n height: 100%;\n}\n:root:root:root sf-tooltip-element a {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element a.-secondary {\n color: var(--link-secondary-color);\n}\n:root:root:root sf-tooltip-element a:hover, :root:root:root sf-tooltip-element a:active, :root:root:root sf-tooltip-element a:focus {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-no-hover:hover, :root:root:root sf-tooltip-element a.-no-hover:active, :root:root:root sf-tooltip-element a.-no-hover:focus {\n color: var(--link-color);\n}\n:root:root:root sf-tooltip-element a.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-side.-active, :root:root:root sf-tooltip-element a.-side:focus, :root:root:root sf-tooltip-element a.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\n:root:root:root sf-tooltip-element a.-side-secondary {\n color: var(--link-side-secondary-color);\n}\n:root:root:root sf-tooltip-element a.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\n:root:root:root sf-tooltip-element a.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\n:root:root:root sf-tooltip-element a.-basic {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-basic:hover, :root:root:root sf-tooltip-element a.-basic:active, :root:root:root sf-tooltip-element a.-basic:focus {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\n:root:root:root sf-tooltip-element a.-top-toolbar.-active, :root:root:root sf-tooltip-element a.-top-toolbar:focus, :root:root:root sf-tooltip-element a.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n:root:root:root sf-tooltip-element h1,\n:root:root:root sf-tooltip-element .h1 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h2,\n:root:root:root sf-tooltip-element .h2 {\n font-size: var(--font-size-h2);\n font-weight: 300;\n line-height: 1.3;\n color: var(--color-h2);\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h3,\n:root:root:root sf-tooltip-element .h3 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h4,\n:root:root:root sf-tooltip-element .h4 {\n font-size: var(--font-size-h4);\n font-weight: bold;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h5,\n:root:root:root sf-tooltip-element .h5 {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n:root:root:root sf-tooltip-element .h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n:root:root:root sf-tooltip-element h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n:root:root:root sf-tooltip-element .h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n:root:root:root sf-tooltip-element p {\n margin-bottom: calc(var(--font-size-base) * 1.4);\n}\n:root:root:root sf-tooltip-element .sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-close::before {\n content: "\\2716";\n}\n:root:root:root sf-tooltip-element .sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n:root:root:root sf-tooltip-element .sf-icon.-light {\n color: var(--icon-light-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n:root:root:root sf-tooltip-element .sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n:root:root:root sf-tooltip-element .sf-icon.-lightest {\n color: #ccc;\n}\n:root:root:root sf-tooltip-element .sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-darker {\n color: #999;\n}\n:root:root:root sf-tooltip-element .sf-icon.-darkest {\n color: #777;\n}\n:root:root:root sf-tooltip-element .sf-icon.-black {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-icon.-color-inherit {\n color: inherit;\n}\n:root:root:root sf-tooltip-element .sf-icon.-white {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n:root:root:root sf-tooltip-element .sf-icon.-warning {\n color: #ED8527;\n}\n:root:root:root sf-tooltip-element .sf-icon.-svg {\n width: auto;\n height: auto;\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n:root:root:root sf-tooltip-element .sf-icon__svg {\n width: 1em;\n height: 1em;\n fill: currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon__svg-template {\n width: 100%;\n max-height: 77px;\n max-width: 300px;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack {\n position: relative;\n display: inline-flex;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack__in {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 10;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack .sf-icon-stack__in + .sf-icon-stack__in {\n z-index: 5;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack__out {\n position: relative;\n}\n:root:root:root sf-tooltip-element .sf-notification {\n position: relative;\n display: flex;\n text-align: left;\n vertical-align: middle;\n padding: 10px 9px;\n border-radius: 3px;\n background-color: currentcolor;\n border-color: currentcolor;\n color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification > * {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-info {\n color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-info > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-success {\n color: #CAEED8;\n}\n:root:root:root sf-tooltip-element .sf-notification.-success > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-error {\n color: #FFCCCC;\n}\n:root:root:root sf-tooltip-element .sf-notification.-error > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-warning {\n color: #FFFFCC;\n}\n:root:root:root sf-tooltip-element .sf-notification.-warning > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-black {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-black > *:not(.sf-notification__close-button) {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-notification.-transparent {\n color: transparent;\n}\n:root:root:root sf-tooltip-element .sf-notification.-transparent > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-small {\n padding: 0 20px;\n height: 32px;\n align-items: center;\n}\n:root:root:root sf-tooltip-element .sf-notification.-inline {\n display: inline-flex;\n}\n:root:root:root sf-tooltip-element .sf-notification.-preline .sf-notification__content {\n white-space: pre-line;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up, :root:root:root sf-tooltip-element .sf-notification.-up-right, :root:root:root sf-tooltip-element .sf-notification.-up-left {\n margin-bottom: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:after, :root:root:root sf-tooltip-element .sf-notification.-up:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:after {\n border-width: 10px;\n border-top-color: inherit;\n bottom: -20px;\n right: 50%;\n margin-right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:before {\n border-width: 11px;\n border-top-color: #e4e4e4;\n bottom: -22px;\n right: 50%;\n margin-right: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down, :root:root:root sf-tooltip-element .sf-notification.-down-right, :root:root:root sf-tooltip-element .sf-notification.-down-left {\n margin-top: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:after, :root:root:root sf-tooltip-element .sf-notification.-down:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:after, :root:root:root sf-tooltip-element .sf-notification.-down-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:after, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-down-left:after {\n border-width: 10px;\n border-bottom-color: inherit;\n top: -20px;\n right: 50%;\n margin-right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:before {\n border-width: 11px;\n border-bottom-color: #e4e4e4;\n top: -22px;\n right: 50%;\n margin-right: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left, :root:root:root sf-tooltip-element .sf-notification.-left-up, :root:root:root sf-tooltip-element .sf-notification.-left-down {\n margin-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:after, :root:root:root sf-tooltip-element .sf-notification.-left:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:after, :root:root:root sf-tooltip-element .sf-notification.-left-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:after, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-left-down:after {\n border-width: 10px;\n border-left-color: inherit;\n right: -20px;\n top: 50%;\n margin-top: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:before {\n border-width: 11px;\n border-left-color: #e4e4e4;\n right: -22px;\n top: 50%;\n margin-top: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right, :root:root:root sf-tooltip-element .sf-notification.-right-up, :root:root:root sf-tooltip-element .sf-notification.-right-down {\n margin-left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:after, :root:root:root sf-tooltip-element .sf-notification.-right:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:after {\n border-width: 10px;\n border-right-color: inherit;\n left: -20px;\n top: 50%;\n margin-top: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:before {\n border-width: 11px;\n border-right-color: #e4e4e4;\n left: -22px;\n top: 50%;\n margin-top: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down-left:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:after {\n right: auto;\n left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:after {\n right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left-down:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:after {\n bottom: 10px;\n top: auto;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:after {\n top: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip {\n padding: 20px;\n border: 1px solid #e4e4e4;\n border-radius: 0;\n box-shadow: 0 0 8px rgba(228, 228, 228, 0.6);\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip .sf-notification__close-button {\n position: absolute;\n top: 10px;\n right: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down-left:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down-right:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up-left:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up-right:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left-down:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left-up:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right-down:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right-up:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-help {\n display: block;\n padding: 30px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-faq {\n position: absolute;\n margin-bottom: 5px;\n bottom: 100%;\n right: 0;\n width: 290px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-fixed {\n max-width: 850px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset {\n display: inline-block;\n padding: 0;\n height: 55px;\n line-height: 55px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__content {\n display: flex;\n height: 100%;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool {\n padding-left: 20px;\n padding-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group {\n display: inline-flex;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button {\n padding: 5px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button:not(:first-of-type) {\n margin-left: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n color: #ccc;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover.-active {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button.-active {\n background-color: #999;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-dropdown {\n min-width: 200px;\n margin-left: 20px;\n padding: 5px;\n color: inherit;\n background-color: inherit;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-link {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n display: inline-block;\n max-width: 200px;\n vertical-align: middle;\n padding-left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-separator {\n display: inline-block;\n width: 1px;\n background-color: #777;\n}\n:root:root:root sf-tooltip-element .sf-notification.-narrow {\n width: 250px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-medium {\n width: 350px;\n}\n:root:root:root sf-tooltip-element .sf-notification__close-button {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n display: block;\n margin-left: 10px;\n order: 4;\n line-height: inherit;\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .sf-notification__close-button .sf-icon:hover {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification__content {\n flex: 1;\n order: 2;\n max-width: 100%;\n word-break: normal;\n}\n:root:root:root sf-tooltip-element .sf-notification__separator {\n vertical-align: middle;\n margin-left: 10px;\n margin-right: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification-wrapper {\n position: fixed;\n top: 60px;\n left: 0;\n width: 100%;\n text-align: center;\n z-index: 10000;\n height: 0;\n}\n:root:root:root sf-tooltip-element .sf-row {\n display: flex;\n flex-wrap: wrap;\n padding: 0;\n width: 100%;\n max-width: 100%;\n list-style-type: none;\n /*\n Row with auto sized columns (default)\n\n `.sf-row .sf-row__col`\n\n Markup:\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row.auto-sized\n */\n /*\n Nested rows\n\n `.sf-row .sf-row`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row.nested-rows\n */\n /*\n Row with no gutter\n\n `.sf-row.-no-gutter`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.no-gutter\n */\n /*\n Row inline\n\n `.sf-row.-inline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.inline\n */\n /*\n Row full height\n\n `.sf-row.-full-height`\n\n Markup:\n
    \n
    \n I am tall\n
    \n
    \n I am tall\n
    \n
    \n\n Styleguide: Row.full-height\n */\n /*\n Width auto\n\n `.sf-row.-auto-width`\n\n Markup:\n
    \n
    \n\n Styleguide: Row.width-auto\n */\n /*\n flex-wrap: wrap (Default)\n\n `.sf-row.-wrap`\n\n If emitted flex-wrap: wrap\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.flex-wrap-wrap\n */\n /*\n flex-wrap: no-wrap\n\n `.sf-row.-no-wrap`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.no-wrap\n */\n /*\n flex-wrap: wrap-reverse\n\n `.sf-row.-wrap-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.wrap-reverse\n */\n /*\n flex-direction: row (default)\n\n `.sf-row.-row`\n\n If emitted flex-direction: row\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.flex-direction-row\n */\n /*\n flex-direction: row-reverse\n\n `.sf-row.-row-reverse `\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.row-reverse\n */\n /*\n flex-direction: column\n\n `.sf-row.-column`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column\n */\n /*\n flex-direction: column-reverse\n\n `.sf-row.-column-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column-reverse\n */\n /*\n align-items: stretch (default)\n\n `.sf-row.-align-items-stretch`\n\n If emitted align-items: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-stretch\n\n */\n /*\n align-items: flex-start\n\n `.sf-row.-align-items-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-start\n */\n /*\n align-items: flex-end\n\n `.sf-row.-align-items-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-end\n */\n /*\n align-items: center\n\n `.sf-row.-align-items-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-center\n */\n /*\n align-items: baseline\n\n `.sf-row.-align-items-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-baseline\n */\n /*\n align-content: stretch (default)\n\n `.sf-row.-align-content-stretch`\n\n If emitted align-content: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-stretch\n */\n /*\n align-content: flex-start\n\n `.sf-row.-align-content-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-start\n */\n /*\n align-content: flex-end\n\n `.sf-row.-align-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-end\n */\n /*\n align-content: center\n\n `.sf-row.-align-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-center\n */\n /*\n align-content: space-between\n\n `.sf-row.-align-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-between\n */\n /*\n align-content: space-around\n\n `.sf-row.-align-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-around\n */\n /*\n justify-content: flex-start (default)\n\n `.sf-row.-justify-content-start`\n\n If emitted justify-content: flex-start\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-start\n */\n /*\n justify-content: flex-end\n\n `.sf-row.-justify-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-end\n */\n /*\n justify-content: center\n\n `.theme.-row.-justify-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-center\n */\n /*\n justify-content: space-between\n\n `.sf-row.-justify-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-between\n */\n /*\n justify-content: space-around\n\n `.sf-row.-justify-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-around\n */\n /*\n Columns with flexible width\n\n `sf-row.-adjustable-ellipsis`\n\n Markup:\n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n\n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n\n Styleguide: Row.adjustable-ellipsis\n */\n /*\n Row — Single Column\n */\n /*\n Columns with no gutter\n\n `.sf-row__col.-no-gutter`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-gutter\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-gutter\n */\n /*\n Columns which are not flexible (\'flex: none\')\n\n `.sf-row__col.-no-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-flex\n */\n /*\n Columns which are auto flexible (\'flex: auto\')\n\n `.sf-row__col.-auto-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-auto-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.flex-auto\n */\n /*\n Columns hide\n\n `.sf-row__col.-hidden`\n\n Markup:\n
    \n
    \n .sf-row__col.-hidden: I am hidden for all resolutions\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row-single.hidden\n */\n /*\n Columns align-self: stretch (default)\n\n `.sf-row__col.-align-self-stretch`\n\n If emitted align-self: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-stretch\n */\n /*\n Columns align-self: flex-start\n\n `.sf-row__col.-align-self-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.flex-start\n */\n /*\n Columns align-self: flex-end\n\n `.sf-row__col.-align-self-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-end\n */\n /*\n Columns align-self: center\n\n `.sf-row__col.-align-self-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-center\n */\n /*\n Columns align-self: baseline\n\n `.sf-row__col.-align-self-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-baseline\n */\n}\n:root:root:root sf-tooltip-element .sf-row.-no-gutter .sf-row__col {\n padding: 0;\n}\n:root:root:root sf-tooltip-element .sf-row.-inline {\n display: inline-flex;\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-full-height {\n height: 100%;\n}\n:root:root:root sf-tooltip-element .sf-row.-auto-width {\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-wrap {\n flex-wrap: wrap;\n}\n:root:root:root sf-tooltip-element .sf-row.-no-wrap {\n flex-wrap: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-row.-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-row {\n flex-direction: row;\n}\n:root:root:root sf-tooltip-element .sf-row.-row-reverse {\n flex-direction: row-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-column {\n flex-direction: column;\n}\n:root:root:root sf-tooltip-element .sf-row.-column-reverse {\n flex-direction: column-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-stretch {\n align-items: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-start {\n align-items: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-end {\n align-items: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-center {\n align-items: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-baseline {\n align-items: baseline;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-stretch {\n align-content: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-start {\n align-content: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-end {\n align-content: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-center {\n align-content: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-between {\n align-content: space-between;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-around {\n align-content: space-around;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-start {\n justify-content: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-end {\n justify-content: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-center {\n justify-content: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-between {\n justify-content: space-between;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-around {\n justify-content: space-around;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis {\n display: inline-flex;\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis .sf-row__col.-truncatable {\n min-width: 0;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis .sf-row__col.-full-width {\n flex: none;\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-row__col {\n padding: 0;\n flex: 1;\n max-width: 100%;\n /*\n Row — Grid System\n\n Columns sizes\n\n `.sf-row__col.-col-{1, 2, 3,..., 12}`\n\n Column sizes applies for all devices unless overridden\n\n Markup:\n
    \n
    \n .sf-row__col.-col-12\n
    \n
    \n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n\n Styleguide: Row-grid.Columns-sizes\n */\n /*\n Columns order\n\n `.sf-row__col.-order-{1, 2, 3,..., 12}`\n\n Markup:\n
    \n
    \n .sf-row__col.-order-2\n

    I am first in the markup but ordered second on the screen

    \n
    \n
    \n .sf-row__col.-order-3\n

    I am second in the markup but ordered third on the screen

    \n
    \n
    \n .sf-row__col.-order-1\n

    I am third in the markup but ordered first on the screen

    \n
    \n
    \n\n Styleguide: Row-grid.Columns-order\n */\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-1 {\n flex: 0 0 8.3333333333%;\n max-width: 8.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-2 {\n flex: 0 0 16.6666666667%;\n max-width: 16.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-4 {\n flex: 0 0 33.3333333333%;\n max-width: 33.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-5 {\n flex: 0 0 41.6666666667%;\n max-width: 41.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-7 {\n flex: 0 0 58.3333333333%;\n max-width: 58.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-8 {\n flex: 0 0 66.6666666667%;\n max-width: 66.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-10 {\n flex: 0 0 83.3333333333%;\n max-width: 83.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-11 {\n flex: 0 0 91.6666666667%;\n max-width: 91.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-1 {\n order: 1;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-2 {\n order: 2;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-3 {\n order: 3;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-4 {\n order: 4;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-5 {\n order: 5;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-6 {\n order: 6;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-7 {\n order: 7;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-8 {\n order: 8;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-9 {\n order: 9;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-10 {\n order: 10;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-11 {\n order: 11;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-12 {\n order: 12;\n}\n:root:root:root sf-tooltip-element .sf-row .-no-gutter {\n padding: 0;\n}\n:root:root:root sf-tooltip-element .sf-row .-no-flex {\n flex: none;\n}\n:root:root:root sf-tooltip-element .sf-row .-auto-flex {\n flex: auto;\n}\n:root:root:root sf-tooltip-element .sf-row .-hidden {\n display: none;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-stretch {\n align-self: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-start {\n align-self: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-end {\n align-self: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-center {\n align-self: center;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-baseline {\n align-self: baseline;\n}\n:root:root:root sf-tooltip-element .sf-tooltip {\n position: relative;\n}\n:root:root:root sf-tooltip-element .sf-tooltip:not(:hover):not(:focus):not(:active):not(.-dropped) .sf-tooltip__content, :root:root:root sf-tooltip-element .sf-tooltip.-open-on-click:not(.-dropped) .sf-tooltip__content {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n left: -1000px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content {\n position: absolute;\n top: 100%;\n left: 0;\n font-size: var(--font-size-base);\n font-weight: normal;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down, :root:root:root sf-tooltip-element .sf-tooltip__content.-up {\n left: 50%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down {\n transform: translateX(-50%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-up {\n top: auto;\n transform: translate(-50%, -100%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-right, :root:root:root sf-tooltip-element .sf-tooltip__content.-left {\n top: 50%;\n transform: translateY(-50%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-right {\n left: 100%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-left {\n left: auto;\n right: 100%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-right, :root:root:root sf-tooltip-element .sf-tooltip__content.-down-left {\n transform: translateY(5px);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-right {\n left: auto;\n right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-left {\n left: -20px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content:not(.-toolset) {\n min-width: 250px;\n z-index: 1000000;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-toolset {\n z-index: 1000;\n}\n:root:root:root sf-tooltip-element .-side-content .sf-tooltip__content {\n left: auto;\n right: 0;\n}\n:root:root:root sf-tooltip-element .-sf-mt-zero {\n margin-top: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-4xs {\n margin-top: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-3xs {\n margin-top: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-2xs {\n margin-top: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-xs {\n margin-top: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-s {\n margin-top: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-m {\n margin-top: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-l {\n margin-top: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-xl {\n margin-top: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-2xl {\n margin-top: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-3xl {\n margin-top: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-4xl {\n margin-top: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-5xl {\n margin-top: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-6xl {\n margin-top: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-7xl {\n margin-top: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-8xl {\n margin-top: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-9xl {\n margin-top: 140px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-10xl {\n margin-top: 160px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-11xl {\n margin-top: 180px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-12xl {\n margin-top: 200px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-s {\n margin-bottom: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-m {\n margin-bottom: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-l {\n margin-bottom: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-zero {\n margin-left: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-4xs {\n margin-left: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-3xs {\n margin-left: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-2xs {\n margin-left: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-xs {\n margin-left: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-s {\n margin-left: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-m {\n margin-left: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-l {\n margin-left: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-xl {\n margin-left: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-2xl {\n margin-left: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-3xl {\n margin-left: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-4xl {\n margin-left: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-5xl {\n margin-left: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-6xl {\n margin-left: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-7xl {\n margin-left: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-8xl {\n margin-left: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-zero {\n margin-right: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-4xs {\n margin-right: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-3xs {\n margin-right: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-2xs {\n margin-right: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-xs {\n margin-right: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-s {\n margin-right: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-m {\n margin-right: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-l {\n margin-right: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-xl {\n margin-right: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-2xl {\n margin-right: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-3xl {\n margin-right: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-4xl {\n margin-right: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-5xl {\n margin-right: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-6xl {\n margin-right: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-7xl {\n margin-right: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-8xl {\n margin-right: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-zero {\n margin: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-4xs {\n margin: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-3xs {\n margin: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-2xs {\n margin: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-xs {\n margin: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-s {\n margin: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-m {\n margin: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-l {\n margin: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-xl {\n margin: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-2xl {\n margin: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-3xl {\n margin: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-4xl {\n margin: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-5xl {\n margin: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-6xl {\n margin: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-7xl {\n margin: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-8xl {\n margin: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-8xs {\n margin-top: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-7xs {\n margin-top: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-6xs {\n margin-top: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-5xs {\n margin-top: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-8xs {\n margin-left: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-7xs {\n margin-left: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-6xs {\n margin-left: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-5xs {\n margin-left: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-8xs {\n margin-right: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-7xs {\n margin-right: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-6xs {\n margin-right: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-5xs {\n margin-right: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--4xs {\n margin-top: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--3xs {\n margin-top: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--2xs {\n margin-top: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--xs {\n margin-top: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--s {\n margin-top: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--m {\n margin-top: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--l {\n margin-top: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--xl {\n margin-top: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--2xl {\n margin-top: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--3xl {\n margin-top: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--4xl {\n margin-top: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--5xl {\n margin-top: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--6xl {\n margin-top: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--s {\n margin-bottom: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--m {\n margin-bottom: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--l {\n margin-bottom: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--4xs {\n margin-left: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--3xs {\n margin-left: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--2xs {\n margin-left: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--xs {\n margin-left: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--s {\n margin-left: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--m {\n margin-left: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--l {\n margin-left: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--xl {\n margin-left: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--2xl {\n margin-left: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--3xl {\n margin-left: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--4xl {\n margin-left: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--5xl {\n margin-left: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--6xl {\n margin-left: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--4xs {\n margin-right: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--3xs {\n margin-right: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--2xs {\n margin-right: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--xs {\n margin-right: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--s {\n margin-right: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--m {\n margin-right: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--l {\n margin-right: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--xl {\n margin-right: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--2xl {\n margin-right: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--3xl {\n margin-right: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--4xl {\n margin-right: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--5xl {\n margin-right: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--6xl {\n margin-right: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-zero {\n padding-top: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-4xs {\n padding-top: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-3xs {\n padding-top: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-2xs {\n padding-top: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-xs {\n padding-top: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-s {\n padding-top: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-m {\n padding-top: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-l {\n padding-top: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-xl {\n padding-top: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-2xl {\n padding-top: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-3xl {\n padding-top: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-4xl {\n padding-top: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-5xl {\n padding-top: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-6xl {\n padding-top: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-7xl {\n padding-top: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-8xl {\n padding-top: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-s {\n padding-bottom: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-m {\n padding-bottom: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-l {\n padding-bottom: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-zero {\n padding-left: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-4xs {\n padding-left: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-3xs {\n padding-left: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-2xs {\n padding-left: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-xs {\n padding-left: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-s {\n padding-left: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-m {\n padding-left: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-l {\n padding-left: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-xl {\n padding-left: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-2xl {\n padding-left: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-3xl {\n padding-left: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-4xl {\n padding-left: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-5xl {\n padding-left: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-6xl {\n padding-left: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-7xl {\n padding-left: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-8xl {\n padding-left: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-zero {\n padding-right: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-4xs {\n padding-right: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-3xs {\n padding-right: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-2xs {\n padding-right: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-xs {\n padding-right: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-s {\n padding-right: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-m {\n padding-right: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-l {\n padding-right: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-xl {\n padding-right: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-2xl {\n padding-right: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-3xl {\n padding-right: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-4xl {\n padding-right: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-5xl {\n padding-right: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-6xl {\n padding-right: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-7xl {\n padding-right: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-8xl {\n padding-right: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-zero {\n padding: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-4xs {\n padding: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-3xs {\n padding: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-2xs {\n padding: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-xs {\n padding: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-s {\n padding: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-m {\n padding: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-l {\n padding: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-xl {\n padding: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-2xl {\n padding: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-3xl {\n padding: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-4xl {\n padding: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-5xl {\n padding: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-6xl {\n padding: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-7xl {\n padding: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-8xl {\n padding: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-8xs {\n padding-top: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-7xs {\n padding-top: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-6xs {\n padding-top: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-5xs {\n padding-top: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-8xs {\n padding-left: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-7xs {\n padding-left: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-6xs {\n padding-left: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-5xs {\n padding-left: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-8xs {\n padding-right: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-7xs {\n padding-right: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-6xs {\n padding-right: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-5xs {\n padding-right: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-auto {\n margin-left: auto !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-auto {\n margin-right: auto !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-50 {\n margin-left: 50% !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-50 {\n margin-right: 50% !important;\n}\n:root:root:root sf-tooltip-element .-sf-hidden {\n display: none !important;\n}\n:root:root:root sf-tooltip-element .-sf-invisible {\n visibility: hidden !important;\n}\n:root:root:root sf-tooltip-element .-sf-block {\n display: block !important;\n}\n:root:root:root sf-tooltip-element .-sf-inline-block {\n display: inline-block !important;\n}\n:root:root:root sf-tooltip-element .-sf-flex {\n display: flex !important;\n}\n:root:root:root sf-tooltip-element .-sf-inline-flex {\n display: inline-flex !important;\n}\n:root:root:root sf-tooltip-element .-sf-absolute {\n position: absolute !important;\n}\n:root:root:root sf-tooltip-element .-sf-relative {\n position: relative !important;\n}\n:root:root:root sf-tooltip-element .-sf-static {\n position: static !important;\n}\n:root:root:root sf-tooltip-element .-sf-transparent {\n opacity: 0;\n}\n:root:root:root sf-tooltip-element .-sf-align-self-center {\n align-self: center !important;\n}\n:root:root:root sf-tooltip-element .-sf-align-self-start {\n align-self: flex-start !important;\n}\n:root:root:root sf-tooltip-element .-sf-visually-hidden {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n}\n:root:root:root sf-tooltip-element .-sf-img-fit-cover {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n overflow: hidden;\n}\n:root:root:root sf-tooltip-element .-sf-rotate-90 {\n transform: rotate(90deg);\n}\n:root:root:root sf-tooltip-element .-sf-rotate--90 {\n transform: rotate(-90deg);\n}\n:root:root:root sf-tooltip-element .-sf-rotate-180 {\n transform: rotate(180deg);\n}\n:root:root:root sf-tooltip-element .-sf-disabled {\n pointer-events: none;\n cursor: default;\n}\n:root:root:root sf-tooltip-element .-sf-clickable {\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .-sf-cursor-text {\n cursor: text;\n}\n:root:root:root sf-tooltip-element .-sf-user-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n:root:root:root sf-tooltip-element .-sf-overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100000000;\n}\n:root:root:root sf-tooltip-element .-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n:root:root:root sf-tooltip-element .-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n:root:root:root sf-tooltip-element .-sf-txt-success {\n color: var(--color-success);\n}\n:root:root:root sf-tooltip-element .-sf-txt-failure {\n color: var(--color-error);\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-left {\n text-align: left;\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-right {\n text-align: right;\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-center {\n text-align: center;\n}\n:root:root:root sf-tooltip-element .-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n:root:root:root sf-tooltip-element .-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n:root:root:root sf-tooltip-element .-sf-txt-nowrap {\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n:root:root:root sf-tooltip-element .-sf-txt-lower-case {\n text-transform: lowercase;\n}\n:root:root:root sf-tooltip-element .-sf-txt-upper-case {\n text-transform: uppercase;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-hidden {\n overflow: hidden;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-auto {\n overflow: auto;\n}\n:root:root:root sf-tooltip-element .-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n:root:root:root sf-tooltip-element .-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n:root:root:root sf-tooltip-element .-sf-word-break-all {\n word-break: break-all;\n}\n:root:root:root sf-tooltip-element .-sf-word-break-word {\n word-break: break-word;\n}\n:root:root:root sf-tooltip-element .-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n:root:root:root sf-tooltip-element .-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n:root:root:root sf-tooltip-element .-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n:root:root:root sf-tooltip-element .-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n:root:root:root sf-tooltip-element .-sf-txt-base {\n font-size: var(--font-size-base);\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root:root:root sf-tooltip-element .sf-help {\n white-space: normal;\n}\n:root:root:root sf-tooltip-element .sf-help__col1 {\n width: 195px;\n}\n:root:root:root sf-tooltip-element .sf-help__col2 {\n width: 150px;\n}\n:root:root:root sf-tooltip-element h4 {\n font-family: open_sanssemibold, Arial, Verdana, sans-serif;\n font-size: var(--font-size-h4-lg);\n}'},,function(e){e.exports='\n

    Share preview link

    \n
    \n \n
    \n\n\n

    {{expirationMessage}}

    \n

    Anyone with this link can view the page.

    \n
    \n \n \n
    \n
    \n'},function(e){e.exports='
    \n

    {{contentBlockHeader}}

    \n \n \n \x3c!--Needed to center the shared content message--\x3e\n \n
    \n\n
    \n
    \n \n \n
    \n
    \n\n
    \n
    \n \n

    Shared content block is disabled

    \n\n
    \n To edit or use shared content blocks you must enable Generic Content for this site.
    \n Go to Manage sites > Configure modules or contact your administrator.\n
    \n
    \n
    \n'},function(e){e.exports="@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@-webkit-keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes pulsingColorLoading {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@-webkit-keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:root .k-editor-widget:not(table).k-widget.k-window-titleless {\n top: 46px !important;\n}\n:root .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end .k-icon.k-i-html {\n position: relative;\n margin-left: -3px;\n top: auto;\n right: auto;\n border-right: 1px solid #e4e4e4;\n border-left: 0;\n}\n:root .k-editor-widget:not(table) .k-editor-toolbar .k-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n text-indent: 0;\n overflow: visible;\n}\n:root .k-editor-widget:not(table) .k-editor-toolbar .k-icon:before {\n position: static;\n}\n.-sf-modal-window-open .sfPageEditor.-sf-content-block-open:not(.-sf-editor-hidden) {\n overflow: hidden !important;\n}\n.sf-content-block {\n height: calc(100vh - 67px);\n overflow-x: hidden;\n overflow-y: auto;\n}\n.sf-content-block .sf-input.-rich-text {\n margin-bottom: 0;\n min-height: inherit;\n}\n.sf-content-block .k-editor.sf-editor {\n min-height: calc(calc(100vh - 67px) - 10px - 170px);\n}\n.sf-content-block.-centered {\n height: 100vh;\n}\n.sf-content-block .k-editor:hover, .sf-content-block .k-editor:focus, .sf-content-block .k-editor-inline:hover, .sf-content-block .k-editor-inline:focus {\n box-shadow: none;\n}\n.sf-widget-editor__error {\n position: relative;\n z-index: 100;\n}"},function(e){e.exports='\n

    {{shareContentName}}

    \n\n
    \n \n
    \n'},function(e){e.exports='

    {{selectSharedTitle}}

    \n\n\n\n\n\n\n\n\n
    \n \n \n \n
    \n
    \n'},function(e){e.exports='\n

    {{unshareContentName}}

    \n\n
    \n This content will not be shared anymore.
    \n The changes you make will not affect other pages.\n
    \n\n'},function(e){e.exports='\n

    {{notShareableContentName}}

    \n\n
    \n To share content blocks or use already shared ones you must\n enable Generic Content for this site. Go to
    \n Manage sites > Configure modules (for the current site)\n or contact your administrator.\n
    '},function(e){e.exports='\n\n'},function(e){e.exports='\n\n\n\n\n\n\n'},function(e){e.exports='\n'},function(e){e.exports='\n\n'},function(e){e.exports='\n\n\n
    \n \n \n \n
    \n\n
    \n \n \n \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n'},function(e){e.exports='\n
    \n \n \n \n \n
    \n \n \n
    \n
    \n'},function(e){e.exports='\n\n\n \n\n\n\n \n\n\n\n
    \n
    \n \n {{text}}\n
    \n
    \n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Content for...From field
    {{field.Title}}\n
    \n {{NO_TYPE_LABEL}}\n No field match available. Choose another template.\n
    \n \n
    \n {{NO_VIEW_LABEL}}\n
    \n'},function(e){e.exports='
    \n \n \n \n \n \n \n \n\n \n \n \n\n \n {{ choiceSettings.choices[0].Name }}\n \n \n \n\n \n \n \n \n
    \n'},function(e){e.exports=".sf-parameterized-choice-selector {\n margin-bottom: -20px;\n}\n.sf-parameterized-choice-selector.-multiple-sections {\n margin-bottom: -25px;\n}"},function(e){e.exports='
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Custom CSS class for...Class
    {{field.Title}}\n
    \n {{NO_TYPE_LABEL}}\n No field match available. Choose another template.\n
    \n \n
    \n {{NO_VIEW_LABEL}}\n
    \n'},function(e){e.exports='\n\n'},function(e){e.exports='
    Site search and search engines
    \n
    \n \n \n \n \n \n \n\n'},function(e){e.exports='
    Other options
    \n
    \n \n \n \n \n \n \n \n \n\n'},function(e){e.exports='\n\n\n\n \n \n\n\n\n \n \n\n \n \n\n'},function(e){e.exports='\n \n
    \n \n \n \n in\n \n \n \n
    \n
    \n
    \n'},function(e){e.exports='\n
    \n \n \n
    \n
    \n\n\n\n\n\n
    \n \n
    \n
    \n'},function(e){e.exports="
    \n
    \n \n \n\n \n \n
    \n\n \n \n\n 0\" [messages]=\"errorMessages\">\n\n \n \n\n"},function(e){e.exports="
    \n \n \n\n \n \n\n \n \n\n"},function(e){e.exports='\n\n \n \n\n \n \n\n
    \n End occurrence\n \n \n
    \n\n
    \n\n\n \n\n\n\n \n \n\n\n\n\n \n \n occurrences\n\n'},function(e){e.exports='\n
    \n
    \n

    Select a theme

    \n
    \n
    \n \n \n
    \n
    \n \n {{selectButton.content}}\n \n
    \n
    \n'},,,function(e){e.exports='
    \n
    {{ condition | sfGetConditionFieldTitle:formDefinition }} {{ condition | sfGetConditionOperatorLabel:formDefinition }} {{ condition | sfGetConditionFieldValue:formDefinition }} {{ formRuleOperator | sfGetRuleOperatorLabel }}
    \n
    \n'},function(e){e.exports='
    \n \n {{ formActionColumn.actionColumnData.title | sfTrimText: "..." }}\n \n \n {{ formFieldActionColumn.actionColumnData.title }}\n \n
    \n'},function(e){e.exports='
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n'}],function(e){e.O(0,["vendor"],(function(){return t=1,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/AdminApp/main.21bb621178493290ce1d.js b/AdminApp/main.21bb621178493290ce1d.js new file mode 100644 index 00000000..8e90977f --- /dev/null +++ b/AdminApp/main.21bb621178493290ce1d.js @@ -0,0 +1,2 @@ +/*! For license information please see main.21bb621178493290ce1d.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([["main"],[,function(e,t,n){e.exports=n(2)},function(e,t,n){"use strict";n.r(t);n(3),n(1478);var o=n(311),i=n(279),r=n(1566);console.info("-".repeat(25)),console.info("Admin App Build:","14.0.7700.105140"),console.info("-".repeat(25)),new o.Bootstrapper(localStorage,window,i.environment.env).boot(r.AppModule)},function(e,t,n){"use strict";n.r(t);var o=n(4);n.d(t,"COLUMNS_TOKEN",(function(){return o.COLUMNS_TOKEN})),n.d(t,"FIELDS_PROVIDER_TOKEN",(function(){return o.FIELDS_PROVIDER_TOKEN})),n.d(t,"FieldBase",(function(){return o.FieldBase})),n.d(t,"FieldTypes",(function(){return o.FieldTypes})),n.d(t,"SettingsBase",(function(){return o.SettingsBase})),n.d(t,"CommandsData",(function(){return o.CommandsData})),n.d(t,"COMMANDS_TOKEN",(function(){return o.COMMANDS_TOKEN})),n.d(t,"CommandsTarget",(function(){return o.CommandsTarget})),n.d(t,"CommandModel",(function(){return o.CommandModel})),n.d(t,"CommandCategory",(function(){return o.CommandCategory})),n.d(t,"COMMANDS_FILTER_TOKEN",(function(){return o.COMMANDS_FILTER_TOKEN})),n.d(t,"Entity",(function(){return o.Entity})),n.d(t,"DataItem",(function(){return o.DataItem})),n.d(t,"ToolBarItem",(function(){return o.ToolBarItem})),n.d(t,"TOOLBARITEMS_TOKEN",(function(){return o.TOOLBARITEMS_TOKEN})),n.d(t,"SelectorService",(function(){return o.SelectorService})),n.d(t,"SELECTOR_SERVICE",(function(){return o.SELECTOR_SERVICE})),n.d(t,"BUTTON_PRIMARY_CATEGORY",(function(){return o.BUTTON_PRIMARY_CATEGORY})),n.d(t,"BUTTON_CANCEL_CATEGORY",(function(){return o.BUTTON_CANCEL_CATEGORY})),n.d(t,"BUTTON_DELETE_CATEGORY",(function(){return o.BUTTON_DELETE_CATEGORY})),n.d(t,"HTTP_PREFIX",(function(){return o.HTTP_PREFIX})),n.d(t,"EDITOR_CONFIG_TOKEN",(function(){return o.EDITOR_CONFIG_TOKEN})),n.d(t,"groupToolbarButtons",(function(){return o.groupToolbarButtons})),n.d(t,"EDIT_MENU_TOKEN",(function(){return o.EDIT_MENU_TOKEN})),n.d(t,"EditMenuSection",(function(){return o.EditMenuSection})),n.d(t,"EditMenuButton",(function(){return o.EditMenuButton})),n.d(t,"ThemeVariables",(function(){return o.ThemeVariables})),n.d(t,"THEME_TOKEN",(function(){return o.THEME_TOKEN})),n.d(t,"ITEM_HOOKS_PROVIDER_TOKEN",(function(){return o.ITEM_HOOKS_PROVIDER_TOKEN})),n.d(t,"FrameworkModule",(function(){return o.FrameworkModule})),n.d(t,"InputComponent",(function(){return o.InputComponent})),n.d(t,"EmbedMediaParser",(function(){return o.EmbedMediaParser})),n.d(t,"Media",(function(){return o.Media})),n.d(t,"MediaType",(function(){return o.MediaType})),n.d(t,"FieldModel",(function(){return o.FieldModel})),n.d(t,"FieldWrapper",(function(){return o.FieldWrapper})),n.d(t,"FIELDS_CHANGE_SERVICE_TOKEN",(function(){return o.FIELDS_CHANGE_SERVICE_TOKEN})),n.d(t,"SitefinityExtensionStore",(function(){return o.SitefinityExtensionStore})),n.d(t,"NotificationInfo",(function(){return o.NotificationInfo})),n.d(t,"NotificationService",(function(){return o.NotificationService})),n.d(t,"NOTIFICATION_SERVICE",(function(){return o.NOTIFICATION_SERVICE})),n.d(t,"NOTIFICATION_LOOK_SUCCESS",(function(){return o.NOTIFICATION_LOOK_SUCCESS})),n.d(t,"NOTIFICATION_LOOK_ERROR",(function(){return o.NOTIFICATION_LOOK_ERROR})),n.d(t,"NOTIFICATION_LOOK_WARNING",(function(){return o.NOTIFICATION_LOOK_WARNING})),n.d(t,"WIDGET_VIEW_TOKEN",(function(){return o.WIDGET_VIEW_TOKEN})),n.d(t,"CUSTOM_TREE_COMPONENT_TOKEN",(function(){return o.CUSTOM_TREE_COMPONENT_TOKEN})),n.d(t,"CustomTreeNodeComponentBase",(function(){return o.CustomTreeNodeComponentBase})),n.d(t,"TreeNodeComponentFeatures",(function(){return o.TreeNodeComponentFeatures}))},function(e,t,n){"use strict";n.r(t);n(5);var o=n(7);n.d(t,"COLUMNS_TOKEN",(function(){return o.COLUMNS_TOKEN}));var i=n(385);n.d(t,"FIELDS_PROVIDER_TOKEN",(function(){return i.FIELDS_PROVIDER_TOKEN})),n.d(t,"FieldBase",(function(){return i.FieldBase})),n.d(t,"FieldTypes",(function(){return i.FieldTypes})),n.d(t,"SettingsBase",(function(){return i.SettingsBase}));var r=n(392);n.d(t,"CommandsData",(function(){return r.CommandsData})),n.d(t,"COMMANDS_TOKEN",(function(){return r.COMMANDS_TOKEN})),n.d(t,"CommandsTarget",(function(){return r.CommandsTarget})),n.d(t,"CommandModel",(function(){return r.CommandModel})),n.d(t,"CommandCategory",(function(){return r.CommandCategory})),n.d(t,"COMMANDS_FILTER_TOKEN",(function(){return r.COMMANDS_FILTER_TOKEN}));var a=n(409);n.d(t,"Entity",(function(){return a.Entity})),n.d(t,"DataItem",(function(){return a.DataItem}));var s=n(413);n.d(t,"ToolBarItem",(function(){return s.ToolBarItem})),n.d(t,"TOOLBARITEMS_TOKEN",(function(){return s.TOOLBARITEMS_TOKEN}));var A=n(1434);n.d(t,"SelectorService",(function(){return A.SelectorService})),n.d(t,"SELECTOR_SERVICE",(function(){return A.SELECTOR_SERVICE})),n.d(t,"BUTTON_PRIMARY_CATEGORY",(function(){return A.BUTTON_PRIMARY_CATEGORY})),n.d(t,"BUTTON_CANCEL_CATEGORY",(function(){return A.BUTTON_CANCEL_CATEGORY})),n.d(t,"BUTTON_DELETE_CATEGORY",(function(){return A.BUTTON_DELETE_CATEGORY}));var l=n(1442);n.d(t,"HTTP_PREFIX",(function(){return l.HTTP_PREFIX}));var c=n(1445);n.d(t,"EDITOR_CONFIG_TOKEN",(function(){return c.EDITOR_CONFIG_TOKEN})),n.d(t,"groupToolbarButtons",(function(){return c.groupToolbarButtons})),n.d(t,"EDIT_MENU_TOKEN",(function(){return c.EDIT_MENU_TOKEN})),n.d(t,"EditMenuSection",(function(){return c.EditMenuSection})),n.d(t,"EditMenuButton",(function(){return c.EditMenuButton}));var d=n(1452);n.d(t,"ThemeVariables",(function(){return d.ThemeVariables})),n.d(t,"THEME_TOKEN",(function(){return d.THEME_TOKEN}));var p=n(1459);n.d(t,"ITEM_HOOKS_PROVIDER_TOKEN",(function(){return p.ITEM_HOOKS_PROVIDER_TOKEN}));var f=n(1461);n.d(t,"FrameworkModule",(function(){return f.FrameworkModule})),n.d(t,"InputComponent",(function(){return f.InputComponent}));var u=n(1465);n.d(t,"EmbedMediaParser",(function(){return u.EmbedMediaParser})),n.d(t,"Media",(function(){return u.Media})),n.d(t,"MediaType",(function(){return u.MediaType}));var m=n(1473);n.d(t,"FieldModel",(function(){return m.FieldModel})),n.d(t,"FieldWrapper",(function(){return m.FieldWrapper})),n.d(t,"FIELDS_CHANGE_SERVICE_TOKEN",(function(){return m.FIELDS_CHANGE_SERVICE_TOKEN}));var g=n(1477);n.d(t,"SitefinityExtensionStore",(function(){return g.SitefinityExtensionStore}));var E=n(1479);n.d(t,"NotificationInfo",(function(){return E.NotificationInfo})),n.d(t,"NotificationService",(function(){return E.NotificationService})),n.d(t,"NOTIFICATION_SERVICE",(function(){return E.NOTIFICATION_SERVICE})),n.d(t,"NOTIFICATION_LOOK_SUCCESS",(function(){return E.NOTIFICATION_LOOK_SUCCESS})),n.d(t,"NOTIFICATION_LOOK_ERROR",(function(){return E.NOTIFICATION_LOOK_ERROR})),n.d(t,"NOTIFICATION_LOOK_WARNING",(function(){return E.NOTIFICATION_LOOK_WARNING}));var h=n(1558);n.d(t,"WIDGET_VIEW_TOKEN",(function(){return h.WIDGET_VIEW_TOKEN}));var b=n(1562);n.d(t,"CUSTOM_TREE_COMPONENT_TOKEN",(function(){return b.CUSTOM_TREE_COMPONENT_TOKEN})),n.d(t,"CustomTreeNodeComponentBase",(function(){return b.CustomTreeNodeComponentBase})),n.d(t,"TreeNodeComponentFeatures",(function(){return b.TreeNodeComponentFeatures}))},function(e,t,n){"use strict";n.r(t);n(6)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);n(8);var o=n(9);n.d(t,"COLUMNS_TOKEN",(function(){return o.COLUMNS_TOKEN}));n(384)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var o=n(10);n.d(t,"COLUMNS_TOKEN",(function(){return o.COLUMNS_TOKEN}))},function(e,t,n){"use strict";n.r(t),n.d(t,"COLUMNS_TOKEN",(function(){return c})),n.d(t,"RESERVED_COLUMN_NAMES",(function(){return d})),n.d(t,"MAIN_COLUMN_NAME",(function(){return p})),n.d(t,"TRANSLATIONS_COLUMN_NAME",(function(){return f})),n.d(t,"COLUMN_ORDINALS",(function(){return u})),n.d(t,"COLUMN_NAMES",(function(){return m})),n.d(t,"CompositeColumnsProvider",(function(){return g}));var o=n(11),i=n(131),r=n(229),a=n(242),s=n(245),A=n(256),l=n(258),c=new r.InjectionToken("columns_token"),d=Object.freeze({Page:"Page"}),p="Main",f="Translations",u={MAIN_COL_ORDINAL:Number.MIN_SAFE_INTEGER,ACTIONS_COL_ORDINAL:Number.MAX_SAFE_INTEGER,ANALYTICS_COL_ORDINAL:Number.MAX_SAFE_INTEGER-1,INSIGHT_COL_ORDINAL:Number.MAX_SAFE_INTEGER-2},m={INSIGHTS_COL_NAME:"Insight",ANALYTICS_COL_NAME:"Analytics",ACTIONS_COL_NAME:"Actions",LETTER_COL_NAME:"Letter",MAIN_COL_NAME:"Main",TAXA_MAIN_COL_NAME:"TaxaMain",TITLE_STATUS_COL_NAME:"TitleStatus",ALBUMS_MAIN_COL_NAME:"AlbumsMain",MEDIA_TITLE_STATUS_COL_NAME:"MediaTitleStatus",DOCUMENTS_LIBRARY_MAIN_COL_NAME:"DocumentsLibraryMain",VIDEOS_LIBRARY_MAIN_COL_NAME:"VideosLibraryMain",PAGE_TEMPLATES_MAIN_COL_NAME:"PageTemplatesMain"},g=function(){function CompositeColumnsProvider(e,t){this.columnProviders=e,this.logger=t}return CompositeColumnsProvider.prototype.getColumns=function(e){return this.columnProviders?this.initColumns(e):Object(o.of)([])},CompositeColumnsProvider.prototype.getColumnsToRemove=function(e){return Object(o.of)([])},CompositeColumnsProvider.prototype.initColumns=function(e){var t=this,n=this.columnProviders.map((function(t){return t.getColumns(e)})),r=this.columnProviders.map((function(t){return t.getColumnsToRemove?t.getColumnsToRemove(e):Object(o.of)([])})),a=o.combineLatest.apply(void 0,r);return o.combineLatest.apply(void 0,n).pipe(Object(i.combineLatest)(a)).pipe(Object(i.map)((function(n){return t.mergeColumns(n,e.metadata.setName)})))},CompositeColumnsProvider.prototype.mergeColumns=function(e,t){var n=this,o=Object(s.flatDeep)(e[0]),i=Object(s.flatDeep)(e[1]),r=[];return o.forEach((function(e,o){n.isColumnValid(e,r)&&!n.shouldRemoveColumn(i,e)&&(e.ordinal=n.handleColumnOrdinal(e,t,o),r.push(e))})),r=r.sort((function(e,t){return e.ordinal-t.ordinal}))},CompositeColumnsProvider.prototype.shouldRemoveColumn=function(e,t){var n=[m.ACTIONS_COL_NAME,m.LETTER_COL_NAME,m.MAIN_COL_NAME,m.TAXA_MAIN_COL_NAME,m.TITLE_STATUS_COL_NAME,m.ALBUMS_MAIN_COL_NAME,m.MEDIA_TITLE_STATUS_COL_NAME,m.DOCUMENTS_LIBRARY_MAIN_COL_NAME,m.VIDEOS_LIBRARY_MAIN_COL_NAME,m.PAGE_TEMPLATES_MAIN_COL_NAME],o=e.some((function(e){return e===t.name})),i=!n.includes(t.name);return!i&&o&&this.logger.warn("Column with name "+t.name+" cannot be removed."),i&&o},CompositeColumnsProvider.prototype.isColumnValid=function(e,t){return d.hasOwnProperty(e.name)?(this.logger.warn("Custom column with name "+e.name+" is reserved. Please choose another."),!1):!t.find((function(t){return t.name===e.name}))||(this.logger.warn("Custom column with name "+e.name+" is already taken. Please choose another."),!1)},CompositeColumnsProvider.prototype.handleColumnOrdinal=function(e,t,n){for(var o=0,i=[new E,new h,new b];o=u.INSIGHT_COL_ORDINAL&&!o.includes(e.name))return e.ordinal=u.INSIGHT_COL_ORDINAL-1,!0;if(e.ordinal<=u.MAIN_COL_ORDINAL&&!i)return e.ordinal=u.MAIN_COL_ORDINAL+1,!0}return!1},DefaultColumnRules}()},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){function webpackEmptyAsyncContext(e){return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}webpackEmptyAsyncContext.keys=function(){return[]},webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext,e.exports=webpackEmptyAsyncContext,webpackEmptyAsyncContext.id=241},function(e,t,n){"use strict";n.r(t),n.d(t,"Logger",(function(){return a}));var o=n(243),i=n(244),r=n(229),a=function(){function Logger(e,t){this.sources=e,this.window=t,this.logs=[]}return Logger.prototype.log=function(e){var t={category:o.LogCategory.Any,data:{message:e}};this.logInternal(t)},Logger.prototype.warn=function(e){var t={category:o.LogCategory.Warn,data:{message:e}};this.logInternal(t)},Logger.prototype.error=function(e){var t={category:o.LogCategory.Error,data:{message:e.message,stackTrace:e.stack}};this.logInternal(t)},Logger.prototype.logInternal=function(e){var t=this;this.isDuplicatedLog(e)||this.logs.push(e),this.loggingProcessTimer||(this.loggingProcessTimer=this.window.setTimeout((function(){t.loggingProcessTimer=0,t.sources.forEach((function(e){return e.process(t.logs)})),t.logs=[]}),1e3))},Logger.prototype.isDuplicatedLog=function(e){if(!this.logs.length)return!1;var t=this.logs[this.logs.length-1],n=e.data.stackTrace,o=t.data.stackTrace,i=!1;return n&&o&&n.length===o.length&&(i=!0),e.data.message===t.data.message&&i},Logger.ɵfac=function Logger_Factory(e){return new(e||Logger)(r["ɵɵinject"](o.LoggerSource),r["ɵɵinject"](i.WINDOW_TOKEN))},Logger.ɵprov=r["ɵɵdefineInjectable"]({token:Logger,factory:Logger.ɵfac}),Logger}()},function(e,t,n){"use strict";n.r(t),n.d(t,"LoggerSource",(function(){return i})),n.d(t,"LogCategory",(function(){return o}));var o,i=function i(){};!function(e){e[e.Debug=0]="Debug",e[e.Error=1]="Error",e[e.Trace=2]="Trace",e[e.Any=3]="Any",e[e.Warn=4]="Warn"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"WINDOW_TOKEN",(function(){return o})),n.d(t,"getWindowFactory",(function(){return getWindowFactory})),n.d(t,"WINDOW_PROVIDER",(function(){return i}));var o=new(n(229).InjectionToken)("Window");function getWindowFactory(){return"undefined"!=typeof window?window:null}var i={provide:o,useFactory:getWindowFactory}},function(e,t,n){"use strict";n.r(t),n.d(t,"RegexHelper",(function(){return a})),n.d(t,"runInNgZone",(function(){return runInNgZone})),n.d(t,"getFormattedTypeName",(function(){return getFormattedTypeName})),n.d(t,"indefiniteArticle",(function(){return indefiniteArticle})),n.d(t,"assignMatchingProperties",(function(){return assignMatchingProperties})),n.d(t,"getPastTense",(function(){return getPastTense})),n.d(t,"pluralize",(function(){return pluralize})),n.d(t,"capitalizeFirstLetter",(function(){return capitalizeFirstLetter})),n.d(t,"addPrefix",(function(){return addPrefix})),n.d(t,"isFileTypeAllowed",(function(){return isFileTypeAllowed})),n.d(t,"filename",(function(){return filename})),n.d(t,"isNullOrEmpty",(function(){return isNullOrEmpty})),n.d(t,"trimStart",(function(){return trimStart})),n.d(t,"cloneObject",(function(){return cloneObject})),n.d(t,"cloneInstance",(function(){return cloneInstance})),n.d(t,"addDaysToDate",(function(){return addDaysToDate})),n.d(t,"convertDateToIsoDateTime",(function(){return convertDateToIsoDateTime})),n.d(t,"extractSafeUrl",(function(){return extractSafeUrl})),n.d(t,"validateExtensionsVersusSitefinityVersions",(function(){return validateExtensionsVersusSitefinityVersions})),n.d(t,"getExtensionFromFileName",(function(){return getExtensionFromFileName})),n.d(t,"deepClone",(function(){return deepClone})),n.d(t,"deepFreeze",(function(){return deepFreeze})),n.d(t,"toKebabCase",(function(){return toKebabCase})),n.d(t,"convertHourMinuteSecStringToSeconds",(function(){return convertHourMinuteSecStringToSeconds})),n.d(t,"convertSecondsToHourMinuteSecString",(function(){return convertSecondsToHourMinuteSecString})),n.d(t,"getCssVariableValue",(function(){return getCssVariableValue})),n.d(t,"getCssVariableValueAsNumber",(function(){return getCssVariableValueAsNumber})),n.d(t,"copyTextToClipboard",(function(){return copyTextToClipboard})),n.d(t,"INTEGRATED_IRIS_CLASS",(function(){return c})),n.d(t,"toggleIrisIntegratedStyles",(function(){return toggleIrisIntegratedStyles})),n.d(t,"hideSitefinityContent",(function(){return hideSitefinityContent})),n.d(t,"showSitefinityContent",(function(){return showSitefinityContent})),n.d(t,"compareOperationArrays",(function(){return compareOperationArrays})),n.d(t,"getGridViewMode",(function(){return getGridViewMode})),n.d(t,"GridViewModes",(function(){return l})),n.d(t,"createFileWithBase64",(function(){return createFileWithBase64})),n.d(t,"hasValue",(function(){return hasValue})),n.d(t,"flatDeep",(function(){return flatDeep})),n.d(t,"filterDuplicates",(function(){return filterDuplicates})),n.d(t,"isElementVisible",(function(){return isElementVisible})),n.d(t,"dispatchKeydownEvent",(function(){return dispatchKeydownEvent})),n.d(t,"unifyMocksDomain",(function(){return unifyMocksDomain})),n.d(t,"guid",(function(){return guid}));var o=n(229),i=n(246),r=n(247),a=Object.freeze({buildRegex:function(e,t){return r(e,t)},replace:function(e,t,n){return r.replace(e,t,n)},test:function(e,t){return t.test(e)}});function runInNgZone(e,t){var n=new o.NgZone({enableLongStackTrace:Object(o.isDevMode)()});n.onMicrotaskEmpty.subscribe((function(){n.hasPendingMacrotasks||n.hasPendingMicrotasks||t()})),n.run((function(){return e()}))}function getFormattedTypeName(e,t,n){var o=i.stringConstants.EMPTY_STRING;return e&&(o=t?e.plural:n&&e.singular?indefiniteArticle(e.singular)+" "+e.singular:e.singular),o}function indefiniteArticle(e){if(!e||"string"!=typeof e||e.length<1)return i.stringConstants.EMPTY_STRING;var t=/\w+/.exec(e),n=i.stringConstants.EMPTY_STRING;if(!t)return i.stringConstants.EMPTY_STRING;for(var o=(n=t[0]).toLowerCase(),r=["honest","hour","hono"],a=0;a=0?"an":"a";if(n.match(/(?!FJO|[HLMNS]Y.|RY[EO]|SQU|(F[LR]?|[HL]|MN?|N|RH?|S[CHKLMNPTVW]?|X(YL)?)[AEIOU])[FHLMNRSX][A-Z]/))return"an";var s=[/^e[uw]/,/^onc?e\b/,/^uni([^nmd]|mo)/,/^u[bcfhjkqrst][aeiou]/];for(a=0;a=0?"an":"a":"aeiou".indexOf(o[0])>=0||o.match(/^y(b[lor]|cl[ea]|fere|gg|p[ios]|rou|tt)/)?"an":"a"}function isObject(e){return"object"==typeof e}function assignMatchingProperties(e,t){isObject(e)?Object.keys(e).forEach((function(n){n in t&&(isObject(t[n])?Object.assign(e[n],t[n]):e[n]=t[n])})):Object.assign(e,t)}var s={are:"were",eat:"ate",go:"went",have:"had",inherit:"inherited",is:"was",run:"ran",sit:"sat",visit:"visited",reorder:"reordered"},getPastTense=function(e){return s[e.toLowerCase()]?s[e.toLowerCase()]:/e$/i.test(e)?e+"d":/[aeiou]c/i.test(e)?e+"ked":/el$/i.test(e)||/[aeio][aeiou][dlmnprst]$/.test(e)?e+"ed":/[aeiou][bdglmnprst]$/i.test(e)?e.replace(/(.+[aeiou])([bdglmnprst])/,"$1$2$2ed"):e+"ed"},pluralize=function(e){return e.endsWith("x")?e+"es":e.endsWith("s")?e:e+"s"},capitalizeFirstLetter=function(e){return e&&e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e};function addPrefix(e){return"__sf__"+e}function isFileTypeAllowed(e,t){return!(!t||!t.length)&&t.filter((function(t){return e.toUpperCase()===t.toUpperCase()})).length>0}function filename(e){var t=e.split(i.stringConstants.DOT);return t.length>1&&t.pop(),t.join(i.stringConstants.DOT)}function isNullOrEmpty(e){return null===e||e===i.stringConstants.EMPTY_STRING}function trimStart(e,t){if(t.length>e.length)return e;var n=new RegExp("^["+t+"]+");return e.replace(n,i.stringConstants.EMPTY_STRING)}function cloneObject(e){return JSON.parse(JSON.stringify(e))}function cloneInstance(e){return cloneObject(e)}function addDaysToDate(e){var t=new Date;return t.setDate(t.getDate()+e),t}function convertDateToIsoDateTime(e,t){void 0===t&&(t=null);var n=new Date(e),o=null===t?0:t;return n.setMinutes(n.getMinutes()-n.getTimezoneOffset()+o),n.toISOString()}function extractSafeUrl(e){return e?e.changingThisBreaksApplicationSecurity:e}function validateExtensionsVersusSitefinityVersions(e,t){if(t)for(var n in t)if(t.hasOwnProperty(n)){var o=t[n].filter((function(e){return e.match(/^\d+\.\d+\.\d+\.\d+$/)})).sort(compareVersions);if(0!==o.length)if(compareVersions(o[0],e)>0){var i=o[o.length-1];window.console.warn("The extension "+n+" is based on Extensions Repo Version "+i+" which is greater than the running Sitefinity version "+e+". Some of the extensions might not work properly. For more information, see https://github.com/Sitefinity/sitefinity-admin-app-extensions#backward-compatibility")}}}function getExtensionFromFileName(e){var t=e.split(i.stringConstants.DOT);return t.length>1?t.pop():i.stringConstants.EMPTY_STRING}var A=function(){function DeepCloneProcessor(){}return DeepCloneProcessor.prototype.processObject=function(e){if("object"!=typeof e)return e;if(!e)return e;for(var t=Object.create(Object.getPrototypeOf(e)),n=0,o=Object.keys(e);n0?e.reduce((function(e,n){return e.concat(Array.isArray(n)?flatDeep(n,t-1):n)}),[]):e.slice()}function filterDuplicates(e){return e.filter((function(e,t,n){return n.indexOf(e)===t}))}function isElementVisible(e,t){var n=!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length),o="hidden"!==e.getComputedStyle(t).visibility;return n&&o}function dispatchKeydownEvent(e,t,n,o,i){jasmine.Ajax.requests.reset();var r=new KeyboardEvent("keydown",{bubbles:!0,cancelable:!0,code:t,ctrlKey:n,altKey:o,shiftKey:i,metaKey:n});e.dispatchEvent(r)}function unifyMocksDomain(e){var t=JSON.stringify(e);return t=t.replace(/(http|https):\/\/[\w:-]+(.azurewebsites.net)?(\/)/g,window.origin+"/"),JSON.parse(t)}!function(e){e.Thumbs="Thumbs",e.List="List",e.Timeline="Timeline"}(l||(l={}));var guid=function(){for(var e="",t=0;t<32;t++){var n=16*Math.random()|0;8!==t&&12!==t&&16!==t&&20!==t||(e+="-"),e+=(12===t?4:16===t?3&n|8:n).toString(16)}return e}},function(e,t,n){"use strict";n.r(t),n.d(t,"contentTypeConstants",(function(){return o})),n.d(t,"stringConstants",(function(){return i})),n.d(t,"STARTS_WITH_CHARS",(function(){return r})),n.d(t,"validationConstants",(function(){return a})),n.d(t,"regexConstants",(function(){return s})),n.d(t,"MAX_INTEGER",(function(){return A})),n.d(t,"IFRAME_ATTRIBUTE_WHITELIST",(function(){return l})),n.d(t,"SERVER_ACTIONS_NAMES",(function(){return c})),n.d(t,"DEFAULT_BASE_HREF",(function(){return d})),n.d(t,"NEW_TAB_TARGET",(function(){return p})),n.d(t,"SAME_TAB_TARGET",(function(){return f})),n.d(t,"NOT_SET",(function(){return u})),n.d(t,"NOT_SELECTED",(function(){return m})),n.d(t,"REST_API_ENDPOINT",(function(){return g})),n.d(t,"REINVENTION_SERVICE_ENDPOINT",(function(){return E})),n.d(t,"CONTENT_SOURCE_NOT_AVAILABLE_WARNING",(function(){return h})),n.d(t,"ANY_SITE_SOURCE_PROVIDER",(function(){return b})),n.d(t,"DEFAULT_SITE_SOURCE_PROVIDER",(function(){return C})),n.d(t,"LOGOUT_URL",(function(){return B})),n.d(t,"LOGOUT_URL_NO_STS",(function(){return k}));var o={HTML:"text/html",JSON:"application/json"},i={EMPTY_STRING:"",INTERVAL:" ",DASH:"-",URLS:"Urls",TYPE_UNDEFINED:"undefined",FORWARD_SLASH:"/",BACKWARD_SLASH:"\\",DEFAULT_GUID:"00000000-0000-0000-0000-000000000000",DOT:".",COLON:":",COMMA:",",ELLIPSIS:"...",ASTERISK:"*",NEW_LINE:"\n",QUESTION_MARK:"?",HASH:"#",AMPERSAND:"&",GREATER_THAN:">",OPENING_SQUARE_BRACKET:"[",OPENING_BRACKET:"(",QUOTE:'"'},r=[i.INTERVAL,i.OPENING_BRACKET,i.OPENING_SQUARE_BRACKET,i.DASH,i.QUOTE],a={EMAIL_PATTERN:/^[a-zA-Z0-9.!#$%&'*\+\-/=?^_`{|}~]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,63}$/i,VALID_URL_PATTERN:/^(?:(?:https?|ftp|file):\/\/|www\.|ftp\.|\/)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$])/i,VALID_URL_PATTERN_MANDATORY_PROTOCOL:/^(((https?|ftp):\/\/(www\.)?)|\/)[^-][-a-zA-Z0-9]+(\.[a-z]{2,63})?[/\?]?\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/i},s={DOLLAR:"$",CARET:"^",IGNORE_CASE:"i",ESCAPE_RESERVED_CHARACTERS_PATTERN:/[\-\[\]{}()*+?.,\\\^$|#\s]/g},A=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:9007199254740991,l=["width","height","src","frameborder","allowfullscreen","style","class"],c={VALIDATE:"Default.Validate"},d=i.FORWARD_SLASH,p="_blank",f="_self",u="not set",m="not selected",g="/RestApi",E="/adminapp",h="Content from this type cannot be selected because the module or the source providing its content is deleted or deactivated.",b="sf-any-site-provider",C="sf-site-default-provider",B="/signout?sts_signout=true&redirect_uri=",k="/signout?sts_signout=false&redirect_uri="},,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"FIELD_PERMISSION_READ",(function(){return i})),n.d(t,"FIELD_TYPE",(function(){return r})),n.d(t,"MEDIA_TYPES",(function(){return a})),n.d(t,"CHOICE_TYPES",(function(){return s})),n.d(t,"ADDRESS_TYPES",(function(){return A})),n.d(t,"ENTITY_SET",(function(){return l})),n.d(t,"CHOICE_FIELD_TYPE_LOWERCASE",(function(){return c})),n.d(t,"MULTIPLE_CHOICE_FIELD_TYPE_LOWERCASE",(function(){return d})),n.d(t,"MEDIA_DATA_FIELD_NAME",(function(){return p})),n.d(t,"OVERRIDEN_OPTION_NAMES_FIELD_NAME",(function(){return f})),n.d(t,"KEY_VALUE_OPTIONS",(function(){return u})),n.d(t,"RESTRICTIONS_FOR_RELATED_MEDIA",(function(){return m})),n.d(t,"TWEAKS_METADATA_PROPERTIES",(function(){return g})),n.d(t,"NEWS_NAMESPACE",(function(){return E})),n.d(t,"NEWS_ITEM_FULL_NAME",(function(){return h})),n.d(t,"EVENTS_NAMESPACE",(function(){return b})),n.d(t,"EVENT_ITEM_FULL_NAME",(function(){return C})),n.d(t,"CALENDAR_ITEM_FULL_NAME",(function(){return B})),n.d(t,"PAGES_NAMESPACE",(function(){return k})),n.d(t,"PAGE_ITEM_FULL_NAME",(function(){return I})),n.d(t,"PAGE_TEMPLATE_ITEM_FULL_NAME",(function(){return v})),n.d(t,"LIBRARIES_NAMESPACE",(function(){return w})),n.d(t,"IMAGE_ITEM_FULL_NAME",(function(){return _})),n.d(t,"DOCUMENT_ITEM_FULL_NAME",(function(){return x})),n.d(t,"DOCUMENT_LIBRARY_ITEM_FULL_NAME",(function(){return y})),n.d(t,"VIDEO_ITEM_FULL_NAME",(function(){return S})),n.d(t,"VIDEO_LIBRARY_ITEM_FULL_NAME",(function(){return T})),n.d(t,"ALBUM_ITEM_FULL_NAME",(function(){return M})),n.d(t,"FOLDER_ITEM_FULL_NAME",(function(){return D})),n.d(t,"TAXONOMIES_NAMESPACE",(function(){return Q})),n.d(t,"TAXONOMY_ITEM_FULL_NAME",(function(){return N})),n.d(t,"FLAT_TAXON_ITEM_FULL_NAME",(function(){return R})),n.d(t,"HIERACHICAL_TAXON_ITEM_FULL_NAME",(function(){return F})),n.d(t,"BLOGS_NAMESPACE",(function(){return O})),n.d(t,"LISTS_NAMESPACE",(function(){return P})),n.d(t,"LIST_ITEM_FULL_NAME",(function(){return U})),n.d(t,"DYNAMIC_TYPE_NAMESPACE",(function(){return L})),n.d(t,"CONTENT_ITEMS_NAMESPACE",(function(){return z})),n.d(t,"CONTENT_ITEM_FULL_NAME",(function(){return G})),n.d(t,"NON_CONTENT_TYPES",(function(){return H}));var o=n(257),i="Read",r=o.SITEFINITY_NAMESPACE+".FieldType",a={IMAGE:"#/definitions/Telerik.Sitefinity.Libraries.Model.Image",VIDEO:"#/definitions/Telerik.Sitefinity.Libraries.Model.Video",DOCUMENT:"#/definitions/Telerik.Sitefinity.Libraries.Model.Document"},s={TAXONOMY:"#/definitions/Telerik.Sitefinity.Taxonomies.Model.TaxonomyType"},A={ADRESS:"#/definitions/Telerik.Sitefinity.GeoLocations.Model.Address"},l={NEWS:"newsitems",BLOGS:"blogs",FLAT_TAXA:"flat-taxa",HIERARCHY_TAXA:"hierarchy-taxa",CLASSIFICATIONS:"taxonomies",PAGES:"pages",TEMPLATES:"templates",IMAGES:"images",VIDEOS:"videos",DOCUMENTS:"documents",EVENTS:"events",CALENDARS:"calendars",FORM_DRAFTS:"form-drafts",FORMS:"forms",ALBUMS:"albums",FOLDERS:"folders",DOCUMENT_LIBRARIES:"documentlibraries",VIDEO_LIBRARIES:"videolibraries",CONTENT_ITEMS:"contentitems",SERVICEHOOKS:"servicehooks",LISTITEMS:"listitems",SITES:"sites"},c="choices",d="multiplechoice",p="SfMediaData",f="OverriddenOptionNames",u="KeyValueOptions",m={TARGET_LIBRARY_ID_KEY:"TargetLibraryId",SOURCE_LIBRARY_ID_KEY:"SourceLibraryId",USE_ONLY_UPLOAD_MODE_KEY:"UseOnlyUploadMode",USE_ONLY_SELECT_MODE_KEY:"UseOnlySelectMode"},g={UNIT:"Unit",ROWS:"Rows",IS_PASSWORD_MODE:"IsPasswordMode",SHOW_CHAR_COUNTER:"ShowCharacterCounter",RECOMMENDED_CHAR_COUNTER:"RecommendedCharactersCount",CSS_CLASS:"CssClass",DISPLAY_MODE:"DisplayMode",TOOLTIP_VISIBLE:"ToolTipVisible",TOOLTIP_TITLE:"ToolTipTitle",TOOLTIP_CONTENT:"ToolTipContent",SELECT_BUTTON_TEXT:"SelectButtonText",ALLOW_MULTIPLE_SELECTION:"AllowMultipleSelection",TAXONOMY_ID:"TaxonomyId",ALLOW_CREATING:"AllowCreating",HIDE_TITLE:"HideTitle",FIELD_PLACEHOLDER:o.SITEFINITY_NAMESPACE+".Placeholder",SINGULAR_NAME:"SingularName",PLURAL_NAME:"PluralName",PREDEFINED_VALUE:"PredefinedValue"},E="Telerik.Sitefinity.News",h=E+".Model.NewsItem",b="Telerik.Sitefinity.Events",C=b+".Model.Event",B=b+".Model.Calendar",k="Telerik.Sitefinity.Pages",I=k+".Model.PageNode",v=k+".Model.PageTemplate",w="Telerik.Sitefinity.Libraries",_=w+".Model.Image",x=w+".Model.Document",y=w+".Model.DocumentLibrary",S=w+".Model.Video",T=w+".Model.VideoLibrary",M=w+".Model.Album",D=w+".Model.Folder",Q="Telerik.Sitefinity.Taxonomies",N=Q+".Model.Taxonomy",R=Q+".Model.FlatTaxon",F=Q+".Model.HierarchicalTaxon",O="Telerik.Sitefinity.Blogs",P="Telerik.Sitefinity.Lists",U=P+".Model.ListItem",L="Telerik.Sitefinity.DynamicTypes.Model",z="Telerik.Sitefinity.GenericContent",G=z+".Model.ContentItem",H=[B,C,I,v,N,R,F,_,S,x,M,D,G]},function(e,t,n){"use strict";n.r(t),n.d(t,"LOCALE",(function(){return o})),n.d(t,"SITEFINITY_NAMESPACE",(function(){return i})),n.d(t,"FIELD_VALIDATION_PREFIX",(function(){return r})),n.d(t,"VALIDATION_MAX_VALUE",(function(){return a})),n.d(t,"VALIDATION_MIN_VALUE",(function(){return s})),n.d(t,"VALIDATION_ALLOWMULTIPLE",(function(){return A})),n.d(t,"VALIDATION_REQUIRED",(function(){return l})),n.d(t,"VALIDATION_DECIMAL_PLACES",(function(){return c})),n.d(t,"VALIDATION_REGEX",(function(){return d})),n.d(t,"VALIDATION_UNIT",(function(){return p})),n.d(t,"VALIDATION_CUSTOM_MSGS",(function(){return f})),n.d(t,"RECOMMENDED_CHARACTERS",(function(){return u})),n.d(t,"DEFAULT_FIELD",(function(){return m})),n.d(t,"RELATE_DATA_PROVIDER",(function(){return g})),n.d(t,"ALLOWED_FILE_EXTENSIONS",(function(){return E})),n.d(t,"MAXIMUM_ALLOWED_SIZE",(function(){return h})),n.d(t,"INSTRUCTIONAL_TEXT",(function(){return b})),n.d(t,"FIELD_TOOLTIP",(function(){return C})),n.d(t,"SHOW_IF_FIELD",(function(){return B})),n.d(t,"VALIDATE_IF_FIELD",(function(){return k})),n.d(t,"FIELD_DESCRIPTION",(function(){return v})),n.d(t,"LOCALIZABLE_FIELD",(function(){return w})),n.d(t,"READ_ONLY_FIELD",(function(){return _})),n.d(t,"FIELD_FRIENDLY_NAME",(function(){return x})),n.d(t,"FIELD_TITLE",(function(){return y})),n.d(t,"FIELD_HIDDEN",(function(){return S})),n.d(t,"DEFAULT_PROPERTY_VALUE",(function(){return T})),n.d(t,"FIELD_PERMISSION_PROP_NAME",(function(){return M})),n.d(t,"IMMUTABLE_FIELD",(function(){return D})),n.d(t,"ACCEPTABLE_MEDIA_TYPES",(function(){return Q}));var o="en-US",i="Telerik.Sitefinity.V1",r=i+".Validation",a=r+".MaxValue",s=r+".MinValue",A=r+".AllowMultiple",l=r+".IsRequired",c=r+".DecimalPlaces",d=r+".RegularExpression",p=i+".Unit",f="CustomErrorMsg",u=r+".RecommendedCharacters",m=i+".DefaultField",g=i+".RelatedProviders",E=i+".AllowedFileExtensions",h=i+".MaximumAllowedSize",b=i+".InstructionalText",C=i+".Tooltip",B=i+".ShowIf",k=i+".ValidateIf",I="Org.OData.Core.V1",v=I+".Description",w=I+".IsLanguageDependent",_=I+".Permissions",x=I+".FriendlyName",y=I+".Title",S=I+".IsHidden",T=I+".DefaultValue",M=I+".Permissions",D=I+".Immutable",Q=I+".AcceptableMediaTypes"},function(e,t,n){"use strict";n.r(t),n.d(t,"MainFieldComponent",(function(){return f}));var o=n(259),i=n(260),r=n(262),a=(n(263),n(264)),s=n(265),A=n(266),l=n(246),c=n(268),d=n(326),p=n(229);function MainFieldComponent_sf_status_1_Template(e,t){if(1&e&&p["ɵɵelement"](0,"sf-status",8),2&e){var n=p["ɵɵnextContext"]();p["ɵɵproperty"]("look",n.statusLook)("dataItem",n.context.dataItem)}}function MainFieldComponent_div_2_Template(e,t){if(1&e&&(p["ɵɵelementStart"](0,"div",9),p["ɵɵelement"](1,"img",10),p["ɵɵelementEnd"]()),2&e){var n=p["ɵɵnextContext"]();p["ɵɵproperty"]("ngClass",n.thumbnailLabel?"-"+n.thumbnailLabel.toLocaleLowerCase():null),p["ɵɵadvance"](1),p["ɵɵpropertyInterpolate"]("src",n.context.dataItem.data.ThumbnailUrl,p["ɵɵsanitizeUrl"]),p["ɵɵpropertyInterpolate"]("alt",n.context.dataItem.title+" thumbnail")}}function MainFieldComponent_sf_icon_3_Template(e,t){if(1&e&&p["ɵɵelement"](0,"sf-icon",11),2&e){var n=p["ɵɵnextContext"]();p["ɵɵproperty"]("name",n.iconProperties.name)("look",n.iconProperties.look)}}function MainFieldComponent_sf_icon_6_Template(e,t){if(1&e&&p["ɵɵelement"](0,"sf-icon",12),2&e){var n=p["ɵɵnextContext"]();p["ɵɵproperty"]("name",n.iconProperties.name)("look",n.iconProperties.look)}}function MainFieldComponent_span_12_Template(e,t){1&e&&(p["ɵɵelementStart"](0,"span",13),p["ɵɵtext"](1,"New editor"),p["ɵɵelementEnd"]())}function MainFieldComponent_span_13_Template(e,t){1&e&&(p["ɵɵelementStart"](0,"span",14),p["ɵɵtext"](1,"New editor"),p["ɵɵelementEnd"]())}function MainFieldComponent_sf_status_14_Template(e,t){if(1&e&&p["ɵɵelement"](0,"sf-status",15),2&e){var n=p["ɵɵnextContext"]();p["ɵɵproperty"]("dataItem",n.context.dataItem)("showBreadcrumbInStatus",n.showBreadcrumbInStatus)}}var f=function(e){function MainFieldComponent(t,n){var o=e.call(this)||this;return o.route=t,o.filterService=n,o.breakTitleWords=!0,o.hasStatusIcon=!0,o.showStatusText=!0,o.textMatchType=s.TextMatchType.StartsWith,o.showBreadcrumbInStatus=!1,o.hasThumbnail=!1,o.rowCssClass="sf-row -no-wrap",o.titleWrapperCssClass="sf-row__col",o.titleCssClass="-sf-mt-zero -sf-mb-zero",o.statusCssClass="sf-row__col -no-flex",o}return Object(o.__extends)(MainFieldComponent,e),MainFieldComponent.prototype.ngOnInit=function(){var e=this;this.statusLook=this.calculateStatusLook(),this.context.dataItem.metadata.isSelfReferencing&&this.context.dataItem.data[A.Properties.BREADCRUMB]&&(this.showBreadcrumbInStatus=!0),this.context.dataItem.data[A.Properties.THUMBNAIL_URL]&&!d.MediaHelpers.isMediaEntity(this.context.dataItem)&&(this.hasThumbnail=!0),this.thumbnailLabelProperty&&!this.context.dataItem.data[A.Properties.RENDERER]&&(this.thumbnailLabel=this.context.dataItem.data[this.thumbnailLabelProperty]);var t=this.route.queryParams.subscribe((function(t){var n=t[r.FILTER_PARAMS.SEARCH];n&&e.filterService.deserializeQueryParams(n).forEach((function(t){t.value.length&&(e.searchParameter=t.value[0].toString())}));var o=!!t[r.FILTER_PARAMS.SEARCH],i=!!t[r.FILTER_PARAMS.FILTER],a=!!t[r.FILTER_PARAMS.SORT];e.showBreadcrumbInStatus&&(o||i||a)?e.showBreadcrumbInStatus=!0:e.showBreadcrumbInStatus=!1}));this.registerSubscription(t),this.generateCssClassList()},MainFieldComponent.prototype.generateCssClassList=function(){this.breakTitleWords?(this.titleCssClass+=" -sf-word-break-all",this.context.dataItem.metadata.hasChildren&&!this.context.dataItem.metadata.isSelfReferencing?this.titleCssClass+=" h3":(this.titleCssClass+=" -sf-txt-large",this.statusCssClass+=" -sf-mt-4xs")):(this.rowCssClass+=" -align-items-center",this.titleWrapperCssClass+=" -sf-overflow-hidden",this.titleCssClass+=" -sf-overflow-ellipsis -sf-block"),this.context.dataItem.isTranslated||(this.titleWrapperCssClass+=" -sf-txt-dimmed")},MainFieldComponent.prototype.calculateStatusLook=function(){var e=["sf-mr-xs"];return this.context.dataItem.isTranslated&&!this.context.dataItem.data.inactive||e.push("dimmed"),this.breakTitleWords&&e.push("sf-mt-6xs"),e.join(l.stringConstants.INTERVAL)},MainFieldComponent.ɵfac=function MainFieldComponent_Factory(e){return new(e||MainFieldComponent)(p["ɵɵdirectiveInject"](i.ActivatedRoute),p["ɵɵdirectiveInject"](c.ContentFilterService))},MainFieldComponent.ɵcmp=p["ɵɵdefineComponent"]({type:MainFieldComponent,selectors:[["sf-main-field"]],inputs:{context:"context",breakTitleWords:"breakTitleWords",hasStatusIcon:"hasStatusIcon",showStatusText:"showStatusText"},features:[p["ɵɵInheritDefinitionFeature"]],decls:15,vars:32,consts:[["displayType","icon","class","sf-tree-list__status sf-row__col -no-flex","aria-hidden","true",3,"look","dataItem",4,"ngIf"],["class","sf-media -no-zindex -landscape-smaller -sf-mr-3xs",3,"ngClass",4,"ngIf"],["class","-sf-mr-3xs",3,"name","look",4,"ngIf"],[3,"name","look",4,"ngIf"],["data-title-element","",3,"innerHtml"],["class","-sf-ml-3xs -sf-txt-upper-case -sf-txt-small -sf-txt-success -sf-txt-vertical-align-top -sf-txt-nowrap",4,"ngIf"],["class","-sf-txt-upper-case -sf-txt-small -sf-txt-success -sf-txt-vertical-align-top -sf-txt-nowrap",4,"ngIf"],["displayType","text",3,"dataItem","showBreadcrumbInStatus",4,"ngIf"],["displayType","icon","aria-hidden","true",1,"sf-tree-list__status","sf-row__col","-no-flex",3,"look","dataItem"],[1,"sf-media","-no-zindex","-landscape-smaller","-sf-mr-3xs",3,"ngClass"],["aria-hidden","true","data-sftest","main-field-thumbnail",3,"src","alt"],[1,"-sf-mr-3xs",3,"name","look"],[3,"name","look"],[1,"-sf-ml-3xs","-sf-txt-upper-case","-sf-txt-small","-sf-txt-success","-sf-txt-vertical-align-top","-sf-txt-nowrap"],[1,"-sf-txt-upper-case","-sf-txt-small","-sf-txt-success","-sf-txt-vertical-align-top","-sf-txt-nowrap"],["displayType","text",3,"dataItem","showBreadcrumbInStatus"]],template:function MainFieldComponent_Template(e,t){1&e&&(p["ɵɵelementStart"](0,"div"),p["ɵɵtemplate"](1,MainFieldComponent_sf_status_1_Template,1,2,"sf-status",0),p["ɵɵtemplate"](2,MainFieldComponent_div_2_Template,2,3,"div",1),p["ɵɵtemplate"](3,MainFieldComponent_sf_icon_3_Template,1,2,"sf-icon",2),p["ɵɵelementStart"](4,"div"),p["ɵɵelementStart"](5,"div"),p["ɵɵtemplate"](6,MainFieldComponent_sf_icon_6_Template,1,2,"sf-icon",3),p["ɵɵelement"](7,"span",4),p["ɵɵpipe"](8,"sfBoldText"),p["ɵɵpipe"](9,"sfHtmlEscape"),p["ɵɵpipe"](10,"sfBoldText"),p["ɵɵpipe"](11,"sfHtmlEscape"),p["ɵɵtemplate"](12,MainFieldComponent_span_12_Template,2,0,"span",5),p["ɵɵelementEnd"](),p["ɵɵtemplate"](13,MainFieldComponent_span_13_Template,2,0,"span",6),p["ɵɵtemplate"](14,MainFieldComponent_sf_status_14_Template,1,2,"sf-status",7),p["ɵɵelementEnd"](),p["ɵɵelementEnd"]()),2&e&&(p["ɵɵclassMap"](t.rowCssClass),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.hasStatusIcon),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.hasThumbnail),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.iconProperties&&!t.iconProperties.inner),p["ɵɵadvance"](1),p["ɵɵclassMap"](t.titleWrapperCssClass),p["ɵɵadvance"](1),p["ɵɵclassProp"]("-sf-overflow-ellipsis",t.context.isVirtualized),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.iconProperties&&t.iconProperties.inner),p["ɵɵadvance"](1),p["ɵɵclassMap"](t.titleCssClass),p["ɵɵproperty"]("innerHtml",p["ɵɵpipeBind3"](8,20,p["ɵɵpipeBind1"](9,24,t.context.dataItem.title),t.searchParameter,t.textMatchType),p["ɵɵsanitizeHtml"]),p["ɵɵattribute"]("title",t.context.isVirtualized?p["ɵɵpipeBind3"](10,26,p["ɵɵpipeBind1"](11,30,t.context.dataItem.title),t.searchParameter,t.textMatchType):null),p["ɵɵadvance"](5),p["ɵɵproperty"]("ngIf",!t.context.isVirtualized&&(null==t.context.dataItem.data?null:t.context.dataItem.data.Renderer)),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.context.isVirtualized&&(null==t.context.dataItem.data?null:t.context.dataItem.data.Renderer)),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.showStatusText))},encapsulation:2}),MainFieldComponent}(a.RxBaseComponent)},,,,function(e,t,n){"use strict";n.r(t),n.d(t,"ROUTE_PARAMS",(function(){return o})),n.d(t,"ACTIONS",(function(){return i})),n.d(t,"FILTER_PARAMS",(function(){return r})),n.d(t,"FILTER_TYPES",(function(){return a})),n.d(t,"QUERY_PARAMS",(function(){return s})),n.d(t,"SORT_ORDER",(function(){return A})),n.d(t,"DEFAULT_STORAGE_PROVIDERS",(function(){return l})),n.d(t,"LONG_TASKS_STATUS",(function(){return c})),n.d(t,"RESOLVE_NAMES",(function(){return d})),n.d(t,"SIDEBAR_ROUTES",(function(){return p})),n.d(t,"SIDEBAR_COMMANDS",(function(){return f})),n.d(t,"CHARACTERS",(function(){return u})),n.d(t,"HTTP_PROTOCOL_REGEX",(function(){return m})),n.d(t,"HTTPS_PROTOCOL_REGEX",(function(){return g})),n.d(t,"VIEW_NAME",(function(){return E})),n.d(t,"LOADING_TIME",(function(){return h})),n.d(t,"BLUR_EFFECT_TIMEOUT",(function(){return b})),n.d(t,"DEBOUNCE_TIME",(function(){return C})),n.d(t,"DEFAULT_CHILDREN_LOAD",(function(){return B})),n.d(t,"NOTIFICATION_DURATION_DEFAULT",(function(){return k})),n.d(t,"NOTIFICATION_DURATION_INFINITE",(function(){return I})),n.d(t,"CSS_VARIABLES",(function(){return v})),n.d(t,"BUTTON_POSSITIONS",(function(){return w})),n.d(t,"CSS_SELECTORS",(function(){return _})),n.d(t,"CSS_CLASSES",(function(){return x})),n.d(t,"UNSAVED_CHANGES_MESSAGE",(function(){return y})),n.d(t,"COMPONENT_NAMES",(function(){return S})),n.d(t,"BULK_ITEMS_LIMIT",(function(){return T})),n.d(t,"ITEM_EDIT_NOTIFICATION_FILTER_STATIC",(function(){return M})),n.d(t,"ATTR_NAME",(function(){return D})),n.d(t,"SERVICE_HOOK_ACTIVITY_STATUS",(function(){return Q}));var o={CREATE_SEGMENT:"create",EDIT_SEGMENT:"edit",DUPLICATE_SEGMENT:"duplicate",TYPE_NAME_SEGMENT:"dynamicTypeName",CHILD_SET_SEGMENT:"childSetName",PARENT_ID_SEGMENT:"parentId",ITEM_ID:"id",UNLOCK_SEGMENT:"unlock",OPERATION_NAME_SEGMENT:"operationName"},i={FILTER:function(e){return"filters(name=@sf_filter)?@sf_filter='"+e+"'"},FILTER_VALUES:function(e){return"filterValues(name=@sf_name)?@sf_name='"+e+"'"},DYNAMIC_FILTERS:function(e){return"dynamicFilters(parentId=@sf_parent)?@sf_parent='"+e+"'"},FILTERS_COUNT:function(e){return"filtersCount(name=@sf_filter)?@sf_filter='"+e+"'"},FOLDERS:function(e){var t="folders";return void 0!==e&&(t+="?parentId="+e),t}},r={SEARCH:"search",FILTER:"sf_filter",SORT:"sortKey"},a={LAST_MODIFIED:"LastModified",EXTENSIONS:"extensions",NOT_USED:"not-used"},s={PROVIDER:"sf_provider",CULTURE:"sf_culture",SORT:"sortKey",VERSION:"sf_version",SITE:"sf_site",TRANSLATING_FROM:"sf_translating_from",IGNORE_SITE_CONTEXT:"sf_ignore_site_context",GET_MEDIA_ITEMS:"getMediaItems",GET_ALL_ITEMS:"sf_get_all_items",CREATE_DATE:"sf_create_date",RECURSIVELIBRARYID:"recursiveLibraryId",SEGMENT:"segment",WIDGET_SEGMENT_ID:"sfwidgetsegment",SEARCH:"$search",FALLBACK_PROPERTIES:"sf_fallback_prop_names",SKIP:"$skip"},A={ASCENDING:"asc",DESCENDING:"desc"},l={DATABASE:"Database",FILE_SYSTEM:"FileSystem"},c={PENDING:"Pending",STARTED:"In progress",STOPPED:"Stopped",FAILED:"Failed",DONE:"Done"},d={metadata:"metaStore",itemData:"itemData",formResolved:"formResolved",siteDataStore:"siteDataStore",itemmeta:"itemmeta",entityData:"entityData"},p={DEFAULT:"default",FILTER:"filter",CUSTOM_FILTER:"custom-filter",SETTINGS:"settings",COMPARE_TRANSLATIONS:"compare-translations"},f={OPEN_SIDEBAR:"open-sidebar",PROGRESS_LOADING:"progress-loading"},u={OPEN_BRACKET:"(",CLOSE_BRACKET:")",EQUALS_SIGN:"=",COMMA:",",SEMICOLON:";",PIPE:"|",AMPERSAND:"&"},m=/http:\/\//g,g=/https:\/\//g,E={INSERT:"insert",EDIT:"edit",DUPLICATE:"duplicate",LIST:"list"},h=1e3,b=600,C=1e3,B=100,k=5e3,I=-1,v={EDITOR_COLLAPSE_HEIGHT:"--editor-collapsed-height",EDITOR_INLINE_HEIGHT_LONG:"--editor-inline-min-height-long",EDITOR_INLINE_HEIGHT:"--editor-inline-min-height"},w={BOTTOM:"-bottom"},_={ICON:"sf-icon"},x={MARGIN_BOTTOM_SHORT_FORM:"sf-mb-xl"},y="You have unsaved changes. Are you sure you want to exit the page?",S={DYNAMIC_ITEM:"DynamicItemComponent",DYNAMIC_ITEM_INDEX:"DynamicItemIndexComponent",DYNAMIC_UPDATE_ITEM:"DynamicUpdateItemComponent",BULK_OPERATIONS:"BulkOperationsComponent",MODAL_WINDOW:"ModalWindowComponent",HTML:"HtmlComponent",EDIT_PAGE:"EditPageComponent",FILE_PICKER:"FilePickerComponent"},T=50,M="item-edit",D="ng-url",Q={PENDING:"Pending",RUNNING:"Running",FAILED:"Failed",SUCCESSFUL:"Successful"}},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t),n.d(t,"RxBaseComponent",(function(){return i}));var o=n(229),i=function(){function RxBaseComponent(){this.subscriptions=[]}return RxBaseComponent.prototype.registerSubscription=function(e){this.subscriptions.push(e)},RxBaseComponent.prototype.removeSubsriptions=function(){this.subscriptions.forEach((function(e){e&&e.unsubscribe()}))},RxBaseComponent.prototype.ngOnDestroy=function(){this.removeSubsriptions()},RxBaseComponent.ɵfac=function RxBaseComponent_Factory(e){return new(e||RxBaseComponent)},RxBaseComponent.ɵdir=o["ɵɵdefineDirective"]({type:RxBaseComponent}),RxBaseComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"BolderTextPipe",(function(){return a})),n.d(t,"TextMatchType",(function(){return o}));var o,i=n(246),r=n(229),a=function(){function BolderTextPipe(){}return BolderTextPipe.prototype.transform=function(e){for(var t=[],n=1;n1){var s=t[1];if(s===o.StartsWith&&0!==a)for(var A=0,l=i.STARTS_WITH_CHARS;A"+m+""+f+""+u+"";return g}}return e},BolderTextPipe.ɵfac=function BolderTextPipe_Factory(e){return new(e||BolderTextPipe)},BolderTextPipe.ɵpipe=r["ɵɵdefinePipe"]({name:"sfBoldText",type:BolderTextPipe,pure:!0}),BolderTextPipe}();!function(e){e[e.Contains=0]="Contains",e[e.StartsWith=1]="StartsWith"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"FIELD_SANITIZE_REGEX",(function(){return i})),n.d(t,"Properties",(function(){return r})),n.d(t,"FIELD_CLASS_MAPPER",(function(){return a})),n.d(t,"createFieldModel",(function(){return createFieldModel}));var o=n(267),i="Telerik.Sitefinity.V1.Validation.SanitizeRegex",r=Object.freeze({ID:"Id",DISPLAY_STATUS:"DisplayStatus",DATE_CREATED:"DateCreated",CREATED_BY:"CreatedBy",FIRST_PUBLISHED:"FirstPublished",LAST_PUBLISHED:"LastPublished",LAST_MODIFIED:"LastModified",LAST_MODIFIED_BY:"LastModifiedBy",PUBLICATION_DATE:"PublicationDate",LOCKED_STATUS:"LockedStatus",EXPIRATION_DATE:"ExpirationDate",PARENT:"Parent",PARENT_ID:"ParentId",AvailableLanguages:"AvailableLanguages",BREADCRUMB:"Breadcrumb",ROOT_ID:"RootId",URLS:"Urls",ROOT_TAXONOMY_ID:"RootTaxonomyId",TAXA_URL:"TaxaUrl",FOLDER_ID:"FolderId",HAS_CHILDREN:"HasChildren",CHILDREN:"Children",OUTPUT_CACHE_PROFILE:"OutputCacheProfile",DUPLICATE_CHILDREN:"DuplicateChildren",URL_NAME:"UrlName",URL:"Url",APPLIED_TO:"AppliedTo",BLOB_STORAGE_PROVIDER:"BlobStorageProvider",MEDIA_FILE_URL_NAME:"MediaFileUrlName",MEDIA_FILE_ADDITIONAL_URLS_NAME:"MediaFileUrls",THUMBNAIL_PROFILES:"ThumbnailProfiles",THUMBNAIL_URL:"ThumbnailUrl",THUMBNAILS:"Thumbnails",MIME_TYPE:"MimeType",TOTAL_SIZE:"TotalSize",EXTENSION:"Extension",WIDTH:"Width",HEIGHT:"Height",TITLE:"Title",ORDINAL:"Ordinal",RUNNING_TASK:"RunningTask",ALTERNATIVE_TEXT:"AlternativeText",MAX_SIZE:"MaxSize",MAX_ITEM_SIZE:"MaxItemSize",SHARED_WITH:"TaxonomySharedWith",CLIENT_CACHE_PROFILE:"ClientCacheProfile",NAME:"Name",DESCRIPTION:"Description",NEW_SIZE:"NewSize",LAST_UPLOADED:"LastUploaded",LAST_UPLOADED_BY:"LastUploadedBy",THUMBNAIL_SOURCE:"ThumbnailSource",IS_PERSONALIZED:"IsPersonalized",PARENT_TEMPLATE:"ParentTemplate",THUMBNAIL:"Thumbnail",RENDERER:"Renderer",FRAMEWORK:"Framework",PAGES_COUNT:"PagesCount",USED_ON:"UsedOn",AUTHOR:"Author",START_TIME:"StartTime",ORDER_BY:"OrderBy",SELECTED_ITEMS:"SelectedItems"}),a=new Map([["Address","-sf-p-zero -sf-m-zero -sf-width-100"]]);function createFieldModel(e,t,n,i,r,a,s,A,l,c){void 0===l&&(l=!1),a&&a.hasOwnProperty("properties")&&(a=a.properties[i]);var d=e.getFieldRegistration({fieldType:n,fieldName:i,typeName:t},a);if(!d)return null;var p=new d.settingsType(i,l);return p.title=s||i,a&&p.init(a),p.friendlyTitle=A,new o.FieldModel({selector:n,key:i,value:r,settings:p,registration:d,cssClass:c})}},function(e,t,n){"use strict";n.r(t),n.d(t,"FieldModel",(function(){return o}));var o=function o(e){this.key=e.key,this.settings=e.settings,this.value=e.value,this.selector=e.selector,this.registration=e.registration,this.cssClass=e.cssClass}},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentFilterService",(function(){return f})),n.d(t,"SearchMode",(function(){return o}));var o,i=n(262),r=n(246),a=n(269),s=n(314),A=n(315),l=n(266),c=n(329),d=n(351),p=n(229),f=function(){function ContentFilterService(e,t,n){this.metaStore=e,this.configService=t,this.metadataParserService=n}return ContentFilterService.prototype.buildSearchFilter=function(e,t){return this.getSearchFields(e).map((function(n){return{key:n.fieldName,value:[t],searchMode:ContentFilterService.getSearchMode(n,e)}}))},ContentFilterService.prototype.getSearchFields=function(e){var t=e.metadata.setName,n=this.configService.externalConfig.searchSettings,o=n&&n[t]?n[t]:[],i=this.filterSearchFields(o,e);return i.length>0?i:[{fieldName:e.metadata.defaultFieldName,fieldType:d.FieldTypes.shortTextDefault}]},ContentFilterService.prototype.getSearchFieldsAsString=function(e){return this.getSearchFields(e).map((function(e){return e.fieldName})).join(",")},ContentFilterService.prototype.applySearch=function(e,t,n){var o=this.getSearchFields(t);return n=n.or(),o.forEach((function(o){var i=ContentFilterService.getSearchMode(o,t);n=ContentFilterService.applySearchForField(e,o.fieldName,n,i)})),n=n.done()},ContentFilterService.applySearchForField=function(e,t,n,i){var r;switch(void 0===i&&(i=o.startsWith),i){case o.startsWith:r=this.applyStartsWith;break;case o.equals:r=this.applyEquals;break;case o.contains:r=this.applyContains}return n=r({key:t,value:[e]},n)},ContentFilterService.prototype.deserializeQueryParams=function(e){var t=[];if(e)for(var n=0,o=e.split(i.CHARACTERS.SEMICOLON).filter((function(e){return e!==r.stringConstants.EMPTY_STRING}));n-1&&d.fallbackProperties.push(e.propName+"."+t.defaultFieldName)})),d},ContentFilterService.applyEquals=function(e,t){if(e.value[0]){var n=e.value[0].trim();t=t.eq(e.key,n)}return t},ContentFilterService.applyContains=function(e,t){if(e.value[0]){var n=e.value[0].trim();t=t.contains(e.key,n)}return t},ContentFilterService.applyStartsWith=function(e,t){if(e.value[0]){var n=e.value[0].trim();t=t.startsWith(e.key,n),r.STARTS_WITH_CHARS.forEach((function(o){var i=""+o+n;t=t.contains(e.key,i)}))}return t},ContentFilterService.ɵfac=function ContentFilterService_Factory(e){return new(e||ContentFilterService)(p["ɵɵinject"](a.MetadataStore),p["ɵɵinject"](A.ExternalAppConfigService),p["ɵɵinject"](c.MetadataParserService))},ContentFilterService.ɵprov=p["ɵɵdefineInjectable"]({token:ContentFilterService,factory:ContentFilterService.ɵfac}),ContentFilterService}();!function(e){e[e.startsWith=0]="startsWith",e[e.contains=1]="contains",e[e.equals=2]="equals"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT_FIELD_NAME",(function(){return m})),n.d(t,"SINGULAR_NAME",(function(){return g})),n.d(t,"DISPLAY_NAME",(function(){return E})),n.d(t,"IGNORE_PARENT_CHILD_RELATIONSHIP",(function(){return h})),n.d(t,"SORT_RESTRICTIONS",(function(){return b})),n.d(t,"FILTER_RESTRICTIONS",(function(){return C})),n.d(t,"MODULE_NAME",(function(){return B})),n.d(t,"IS_ORDERABLE_PROPERTY_NAME",(function(){return k})),n.d(t,"IS_CUSTOM_FILTER_ENABLED",(function(){return I})),n.d(t,"IS_ALL_ITEMS_FILTER_ENABLED",(function(){return v})),n.d(t,"IS_MULTILINGUAL",(function(){return w})),n.d(t,"META_SERVICE_PATH",(function(){return _})),n.d(t,"Entity",(function(){return x})),n.d(t,"MediaEntity",(function(){return y})),n.d(t,"MetadataContainer",(function(){return S})),n.d(t,"MetadataStore",(function(){return T}));var o=n(259),i=n(11),r=n(266),a=n(256),s=n(270),A=n(245),l=n(246),c=n(311),d=n(257),p=n(313),f=n(229),u=[a.DYNAMIC_TYPE_NAMESPACE,a.NEWS_NAMESPACE,a.BLOGS_NAMESPACE,a.TAXONOMY_ITEM_FULL_NAME,a.LISTS_NAMESPACE,a.EVENTS_NAMESPACE,a.PAGES_NAMESPACE,a.IMAGE_ITEM_FULL_NAME,a.DOCUMENT_ITEM_FULL_NAME,a.VIDEO_ITEM_FULL_NAME,a.CONTENT_ITEM_FULL_NAME],m="Telerik.Sitefinity.V1.DefaultField",g="Telerik.Sitefinity.V1.SingularName",E="Telerik.Sitefinity.V1.DisplayName",h="Telerik.Sitefinity.V1.IgnoreParentChildRelationship",b="Org.OData.Core.V1.SortRestrictions",C="Org.OData.Core.V1.FilterRestrictions",B="Telerik.Sitefinity.V1.ModuleName",k="Telerik.Sitefinity.V1.IsOrderable",I="Telerik.Sitefinity.V1.IsCustomFilterEnabled",v="Telerik.Sitefinity.V1.IsAllItemsFilterEnabled",w="Telerik.Sitefinity.V1.IsMultilingual",_="sfmeta",x=function(){function Entity(e,t){this.typeFullName=e;var n=JSON.parse(JSON.stringify(t));this.key=n.keys&&n.keys[Entity.keyIndex],this.properties=Object.freeze(n.properties),this.children=[]}return Entity.prototype.isSortingAllowed=function(e){var t=!!this.properties[e],n=this.sortRestrictions&&this.sortRestrictions.indexOf(e)>=0;return t&&!n},Entity.prototype.isFilteringAllowed=function(e){var t=!!this.properties[e],n=this.filterRestrictions&&this.filterRestrictions.indexOf(e)>=0;return t&&!n},Entity.prototype.isPropertyUpdatable=function(e){var t=this.properties[e];return!t||!("Telerik.Sitefinity.V1.Validation.Updatable"in t)||t["Telerik.Sitefinity.V1.Validation.Updatable"]},Object.defineProperty(Entity.prototype,"ignoreParentChildRelationship",{get:function(){return!!this.properties[h]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"defaultFieldName",{get:function(){return this.properties[m]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"displayName",{get:function(){return this.properties[E]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"singularName",{get:function(){return this.properties[g]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"hasParent",{get:function(){return null!=this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"childTypeNames",{get:function(){return this.properties["Telerik.Sitefinity.V1.ChildTypes"]||[]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isOrderable",{get:function(){return!!this.properties[k]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"hasChildrenProperty",{get:function(){return r.Properties.HAS_CHILDREN},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"parentIdProperty",{get:function(){return this.properties["Telerik.Sitefinity.V1.ParentIdPropertyName"]||r.Properties.PARENT_ID},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"hasLifecycle",{get:function(){return void 0!==this.properties[r.Properties.FIRST_PUBLISHED]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isMultimedia",{get:function(){return!!this.isMedia&&this.setName!==a.ENTITY_SET.DOCUMENTS},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isImage",{get:function(){return this.isMedia&&this.setName===a.ENTITY_SET.IMAGES},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isVideo",{get:function(){return this.isMedia&&this.setName===a.ENTITY_SET.VIDEOS},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isSelfReferencing",{get:function(){return this.hasParent&&this.hasChildren&&this.childTypeNames[0]===this.typeFullName},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"sortRestrictions",{get:function(){return this.properties[b]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"filterRestrictions",{get:function(){return this.properties[C]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isCustomFilterEnabled",{get:function(){return!!this.properties[I]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"hasCustomFilterEnabledProperty",{get:function(){return void 0!==this.properties[I]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"hasAllItemsFilterEnabledProperty",{get:function(){return this.properties[v]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isTranslatable",{get:function(){return this.setName!==a.ENTITY_SET.FOLDERS&&this.setName!==a.ENTITY_SET.ALBUMS},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"isMultilingual",{get:function(){return void 0===this.properties[w]||!!this.properties[w]},enumerable:!1,configurable:!0}),Object.defineProperty(Entity.prototype,"hasContent",{get:function(){return this.setName===a.ENTITY_SET.PAGES||this.setName===a.ENTITY_SET.TEMPLATES},enumerable:!1,configurable:!0}),Entity.prototype.clone=function(){var e=this,t=new Entity(this.typeFullName,{});return Object.getOwnPropertyNames(this).forEach((function(n){Object.getOwnPropertyDescriptor(e,n).writable&&("object"==typeof e[n]?t[n]=Object(A.cloneObject)(e[n]):t[n]=e[n])})),t},Entity.keyIndex=0,Entity}(),y=function(e){function MediaEntity(t,n){var o=e.call(this,t,n)||this;o.typeFullName=t;var i=o.properties[d.ALLOWED_FILE_EXTENSIONS]||[];o.originalAcceptableTypes=i,i&&(1===i.length&&"*"===i[0]?(o.mediaFilterEnabled=!1,o.acceptableMediaTypes=[],o.acceptableFileTypes=[]):(o.acceptableFileTypes=i.map((function(e){return e.startsWith(".")?e.substring(1):e})),o.mediaFilterEnabled=!0,o.acceptableMediaTypes=o.properties[d.ACCEPTABLE_MEDIA_TYPES]||[])),o.provider=o.properties[d.RELATE_DATA_PROVIDER]||null;var r=o.properties[d.MAXIMUM_ALLOWED_SIZE]||0;return o.maxSize=Number(r),o}return Object(o.__extends)(MediaEntity,e),Object.defineProperty(MediaEntity.prototype,"name",{get:function(){var e=this.properties.relationship;if(!e)return l.stringConstants.EMPTY_STRING;var t=e.partner;return t||l.stringConstants.EMPTY_STRING},enumerable:!1,configurable:!0}),Object.defineProperty(MediaEntity.prototype,"allowedExtensionsRegEx",{get:function(){var e=this.acceptableFileTypes.join("|");return new RegExp("\\.("+e+")")},enumerable:!1,configurable:!0}),Object.defineProperty(MediaEntity.prototype,"isVideo",{get:function(){return this.setName===a.ENTITY_SET.VIDEOS},enumerable:!1,configurable:!0}),MediaEntity}(x),S=function S(){this.modules={},this.entities={},this.entitiyesByFullTypeName={},this.propertyDefinitions={},this.modulesAvailability={}},T=function(){function MetadataStore(e){this.http=e,this.storeSubject=new i.ReplaySubject(1),this.isInitialized=!1}return MetadataStore.prototype.getValue=function(){var e=new i.BehaviorSubject(new S);return this.storeSubject.subscribe((function(t){e.next(t)})),e.getValue()},MetadataStore.prototype.initialize=function(){var e=this;return this.isInitialized||(this.isInitialized=!0,this.http.get(_).then((function(t){var n=e.convertToContainer(t),o=t["sitefinity-version"];Object(A.validateExtensionsVersusSitefinityVersions)(o,c.EXTENSIONS_COMPATIBLE_SF_VERSIONS),e.storeSubject.next(n),e.storeSubject.complete()}))),this.storeSubject.asObservable()},MetadataStore.prototype.getEntitySetName=function(e,t){var n=(t||this.getValue()).entities;for(var o in n){if(n.hasOwnProperty(o))if(n[o].typeFullName===e)return o}return null},MetadataStore.prototype.getRelationshipProviderName=function(e,t){var n=e.properties[t];return this.isRelationField(e,t)?n[d.RELATE_DATA_PROVIDER]:null},MetadataStore.prototype.getRelationshipPartnerTypeName=function(e,t){var n=e.properties[t];if(this.isRelationField(e,t)){return(this.isMultipleField(e,t)?n.items.$ref:n.anyOf[0].$ref).replace("#/definitions/","")}return null},MetadataStore.prototype.getDefaultFieldName=function(e){var t=null;return this.initialize().subscribe((function(n){var o=n.entities[e];o&&o.defaultFieldName&&(t=o.defaultFieldName)})),t},MetadataStore.prototype.isRelationField=function(e,t){return void 0!==e.properties[t].relationship},MetadataStore.prototype.isMultipleField=function(e,t){return"array"===e.properties[t].type},MetadataStore.prototype.getPropertyMetadata=function(e,t){return this.getEntitiySetProperties(e)[t]},MetadataStore.prototype.getDefinitionMetadata=function(e){return this.getValue().propertyDefinitions[e]},MetadataStore.prototype.convertToContainer=function(e){var t=new S;return e.modules&&(t.modulesAvailability[p.INSIGHT]=e.modules[p.INSIGHT]),this.setEntities(e,t),this.setPropertyDefinitions(e,t),Object.freeze(t)},MetadataStore.prototype.getEntity=function(e){return this.getValue().entities[e]},MetadataStore.prototype.getEntityByFullTypeName=function(e){return this.getValue().entitiyesByFullTypeName[e]},MetadataStore.prototype.getFields=function(e,t){var n=this,o=[];return Object.keys(e.properties).forEach((function(i){if(n.isRelationField(e,i)){var r=n.getRelationshipPartnerTypeName(e,i),a=n.getEntitySetName(r,t),s=n.getRelationshipProviderName(e,i);o.push({propName:i,setName:a,provider:s,typeFullName:r})}else o.push({propName:i,setName:null})})),o},MetadataStore.prototype.getEntitiySetProperties=function(e){return this.getValue().entities[e].properties},MetadataStore.prototype.setEntities=function(e,t){var n=this,o=Object.keys(e.entityContainer.entitySets),i=new Map,r=[];o.forEach((function(o){var a=e.entityContainer.entitySets[o],s=a.entityType.$ref.replace("#/definitions/",""),A=e.definitions[s];A.properties[b]=a[b],A.properties[C]=a[C];var l=A.properties[B];if(l){var c=t.modules[l];c||(c=t.modules[l]={AccessibleTypes:[],Providers:[],ModuleTypes:[]}),c.AccessibleTypes.push(o);var d=t.entities[o];if(!d){var p=A.hasOwnProperty("mediaEntity")&&!0===A.mediaEntity;(d=p?new y(s,A):new x(s,A)).enabled=n.isSupportedModule(s),d.isMedia=p,d.isOpen=A.hasOwnProperty("openType")&&!0===A.openType,t.entities[o]=d,t.entitiyesByFullTypeName[s]=d,i.set(d.typeFullName,o),r.push(d)}d.setName=o}}));for(var _loop_1=function(e){e.childTypeNames.forEach((function(n){var o=i.get(n),r=t.entities[o];r&&(e.children.push(r.setName),r.parent=e.setName)}));var n=a.getFields(e,t);e.relations=n.filter((function(e){return null!==e.setName})),e.primitives=n.filter((function(e){return null===e.setName})).map((function(e){return e.propName}))},a=this,s=0,A=r;st.getPriority()?1:e.getPriority()0&&(o=o.expand.apply(o,i)),o=this.setSelect(o,e.dataFieldNames);var r=this.createSubject();return this.sitefinitySdk.instance.data({urlName:n.metadata.setName,providerName:n.provider,cultureName:n.culture,siteId:e.siteId,additionalQueryParams:Object(h.getAdditionalQueryParams)(e.additionalQueryParams,this.queryParamsExtenders)}).getSingle({query:o,key:e.itemKey,action:e.action,successCb:function(e){r.next(A.DataItem.from(e,n.metadata,n.provider,n.culture))},failureCb:function(e){return r.error(t.errorParserService.parseError(e))},fallbackProperties:e.fallbackProperties}),r.pipe(Object(a.first)())},DynamicItemService.prototype.unlockItem=function(e,t){return void 0===t&&(t=!1),this.updateItem({dataItem:e,operation:{action:d.OPERATION_NAMES.unlock,actionParameters:{checkIfOwnerIsCurrentUser:t.toString()}}})},DynamicItemService.prototype.deleteItem=function(e){var t=this,n=e.dataItem,o=e.deleteAllTranslations?null:n.culture,i=this.sitefinitySdk.instance.data({urlName:n.metadata.setName,providerName:n.provider,cultureName:o,additionalQueryParams:Object(h.getAdditionalQueryParams)(null,this.queryParamsExtenders)}),r=this.createSubject();return i.destroy({key:n.key,successCb:function(e){r.next(n)},failureCb:function(e){return r.error(t.errorParserService.parseError(e))}}),r.pipe(Object(a.first)())},DynamicItemService.prototype.getFieldValues=function(e,t){var n=this,o={primitives:{},relational:{}};if(!t)return o;var i=Object.keys(t);return i.length?(i.forEach((function(i){if(!!e.primitives.find((function(e){return e===i})))n.setPrimitiveValue(o,i,t[i]);else{var r=e.relations.find((function(e){return e.propName===i}));r?n.setRelationalValue(o,i,r,t):i!==E.MEDIA_DATA_FIELD_NAME?e.isOpen&&n.setPrimitiveValue(o,i,t[i]):o.blob=n.fileInfoService.createFileInfo$(t[i],e)}})),o.blob&&delete o.primitives[w.Properties.THUMBNAIL_SOURCE],o):o},DynamicItemService.prototype.updateItemsTransaction=function(e,t,n){var o=this;void 0===n&&(n=!0),e.forEach((function(e){var i=t.beginTransaction(),r=e.dataItem.metadata.setName,a=e.dataItem.key,A=o.getFieldValues(e.dataItem.metadata,e.data);if(e.data&&!e.skipUpdate){if(!e.skipSaveTemp){var l=A.primitives||e.data;i.create({entitySet:r,action:"Default.savetemp",key:a,data:{model:l}})}s.SitefinitySdk.associateRelationFields(r,a,A.relational,i)}o.waitForFileToResolve(A.blob,e,i).subscribe((function(){if(e.operation){var s=o.sitefinitySdk.query.where().eq(e.dataItem.metadata.key,a).done();i.operation({entitySet:r,key:a,data:e.operation,query:s})}if(t.endTransaction(i),!e.doNotRefreshItem){s=o.sitefinitySdk.query.where().eq(e.dataItem.metadata.key,e.dataItem.key).done();s=o.setSelect(s,e.dataFieldNames);var A=o.getRelationshipFieldNames(e.dataItem);A.length>0&&(s=s.expand.apply(s,A)),t.get({entitySet:e.dataItem.metadata.setName,query:s,fallbackPropertyNames:e.fallbackProperties})}n&&t.execute()}))}))},DynamicItemService.prototype.getOperationResult=function(e,t){var n=e.data[0].response;return n[n.length-1].data},DynamicItemService.prototype.waitForFileToResolve=function(e,t,n){var o=new l.ReplaySubject(1),i=o.asObservable();if(e){var r=t.dataItem;e.subscribe((function(e){var i={Height:e.height,Width:e.width};v.MediaHelpers.isVideoEntity(r)&&t.data[w.Properties.THUMBNAIL_SOURCE]&&(i[w.Properties.THUMBNAIL_SOURCE]=t.data[w.Properties.THUMBNAIL_SOURCE]),n.upload({entitySet:r.metadata.setName,key:r.key,data:e.content,contentType:e.contentType,fileName:e.name,uploadProperties:i}),o.next(null)}))}else o.next(null);return i},DynamicItemService.prototype.createSubject=function(){return new l.ReplaySubject(1)},DynamicItemService.prototype.getRelationshipFieldNames=function(e){var t=e.metadata.properties;return Object.keys(t).filter((function(e){return t[e].hasOwnProperty("relationship")})).map((function(e){return t[e].relationship.partner}))},DynamicItemService.prototype.setPrimitiveValue=function(e,t,n){e.primitives[t]=n},DynamicItemService.prototype.setRelationalValue=function(e,t,n,o){var i=o[t],r=[];if(null!=i){Array.isArray(i)||(i=[i]);for(var a=0,s=i;a-1}));n.length>0&&(t=t.expand.apply(t,n))}return t=t.count()},DynamicItemService.prototype.setSelect=function(e,t){return void 0===t&&(t=null),e=t?e.select.apply(e,t):e.select("*")},DynamicItemService.prototype.getItemsInternal=function(e){var t=this,n=this.getQuery(e),o=this.createSubject();return this.sitefinitySdk.instance.data({urlName:e.entityData.metadata.setName,providerName:e.entityData.provider,cultureName:e.entityData.culture,siteId:e.siteId,serviceUrl:e.serviceUrl,additionalQueryParams:Object(h.getAdditionalQueryParams)(e.additionalQueryParams,this.queryParamsExtenders)}).get({query:n,action:e.action,successCb:function(e){o.next(e)},failureCb:function(e){return o.error(t.errorParserService.parseError(e))},fallbackProperties:e.fallbackProperties}),o.pipe(Object(a.first)())},DynamicItemService.prototype.getItemsInternalBatch=function(e){var t=this;e.take=e.take||y,e.skip=e.skip||0;for(var n=this.createSubject(),o=this.sitefinitySdk.instance.batch((function(e){t.parseGetItemListBatchResponse(e,n)}),(function(e){n.error(e)}),{providerName:e.entityData.provider,cultureName:e.entityData.culture,siteId:e.siteId,additionalQueryParams:Object(h.getAdditionalQueryParams)(e.additionalQueryParams,this.queryParamsExtenders)}),i=e.skip,r=e.take,s=e.take;!(s<1);){r=s>y?y:s;var A=Object.assign({},e);A.skip=i,A.take=r;var l=this.getQuery(A);o.get({entitySet:e.entityData.metadata.setName,query:l,provider:e.entityData.provider,culture:e.entityData.culture,fallbackPropertyNames:e.fallbackProperties}),i+=r,s-=r}return o.execute(),n.pipe(Object(a.first)())},DynamicItemService.prototype.getItemListBatchWithMultipleQueriesInternal=function(e){for(var t=this,n=this.createSubject(),o=this.sitefinitySdk.instance.batch((function(e){t.parseGetItemListBatchResponse(e,n)}),(function(e){n.error(e)}),{providerName:e[0].entityData.provider,cultureName:e[0].entityData.culture,siteId:e[0].siteId,additionalQueryParams:Object(h.getAdditionalQueryParams)(e[0].additionalQueryParams,this.queryParamsExtenders)}),i=0;i=0&&(n.operation&c.Operation.or)===c.Operation.or||(n.operation&c.Operation.and)===c.Operation.and)&&(e=(n.operation&c.Operation.or)===c.Operation.or?e.or():e.and()),n.value.forEach((function(i){var r=i&&i.trim?i.trim():i;n.operation>=0&&(n.operation&c.Operation.eq)===c.Operation.eq?e=e.eq(n.key,r):("and"===e.expression.type&&(e=e.or()),e=I.ContentFilterService.applySearchForField(r,n.key,e,n.searchMode),o===t.length-1&&(e=e.done()))})),n.operation>=0&&(e=e.done())})),n&&Array.isArray(n.value)&&n.value.forEach((function(t){e=e.ne(n.key,t)})),e=e.done()},DynamicItemService.prototype.parseGetItemListBatchResponse=function(e,t){var n=this.errorParserService.parseError(e);if(n instanceof C.GenericError)t.error(n);else{var o=e.data[0].response.data,i=[];e.data.forEach((function(e){i=i.concat(e.response.data.value)})),o.value=i,t.next(o)}},DynamicItemService.ɵfac=function DynamicItemService_Factory(e){return new(e||DynamicItemService)(_["ɵɵinject"](s.SitefinitySdk),_["ɵɵinject"](g.FileInfoService),_["ɵɵinject"](b.ErrorParserService),_["ɵɵinject"](h.QUERY_PARAMS_EXTENDER_TOKEN,8))},DynamicItemService.ɵprov=_["ɵɵdefineInjectable"]({token:DynamicItemService,factory:DynamicItemService.ɵfac}),DynamicItemService}();!function(e){e[e.asc=0]="asc",e[e.desc=1]="desc"}(o||(o={})),function(e){e[e.Default=0]="Default",e[e.Top=1]="Top",e[e.Current=2]="Current",e[e.Bottom=3]="Bottom"}(i||(i={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"DataItem",(function(){return s})),n.d(t,"HierarchicalDataItem",(function(){return A})),n.d(t,"NavigateToEditArguments",(function(){return c}));var o=n(259),i=n(266),r=n(256),a=n(257),s=function(){function DataItem(e,t,n,o){this.data=e,this.metadata=t,this.provider=n,this.culture=o}return Object.defineProperty(DataItem.prototype,"key",{get:function(){return this.isEmpty?null:this.data[this.metadata.key]},enumerable:!1,configurable:!0}),Object.defineProperty(DataItem.prototype,"parentKey",{get:function(){return this.isEmpty?null:this.data[this.metadata.parentIdProperty]||null},enumerable:!1,configurable:!0}),Object.defineProperty(DataItem.prototype,"title",{get:function(){return this.isEmpty?null:this.data[this.metadata.defaultFieldName]},enumerable:!1,configurable:!0}),Object.defineProperty(DataItem.prototype,"isTranslated",{get:function(){if(this.isEmpty)return null;var e=i.Properties.AvailableLanguages;return!this.data.hasOwnProperty(e)||(!this.culture||-1!==this.data[e].indexOf(this.culture))},enumerable:!1,configurable:!0}),Object.defineProperty(DataItem.prototype,"isEmpty",{get:function(){return this.data===DataItem.emptyVal},enumerable:!1,configurable:!0}),Object.defineProperty(DataItem.prototype,"childSetName",{get:function(){return this.metadata.children[0]},enumerable:!1,configurable:!0}),Object.defineProperty(DataItem.prototype,"childTypes",{get:function(){return this.metadata.children},enumerable:!1,configurable:!0}),DataItem.fromEntityData=function(e,t){return DataItem.from(e,t.metadata,t.provider,t.culture)},DataItem.from=function(e,t,n,o){var i,a,s=JSON.parse(JSON.stringify(e));switch(s=Object.freeze(s),null==t?void 0:t.typeFullName){case r.TAXONOMY_ITEM_FULL_NAME:a=new l(s,t,n,o);break;default:a=new DataItem(s,t,n,o)}return((null===(i=a.metadata)||void 0===i?void 0:i.isSelfReferencing)||(null==t?void 0:t.typeFullName)===r.HIERACHICAL_TAXON_ITEM_FULL_NAME)&&(a=DataItem.convertHierarchy(a)),Object.isFrozen(a)||(a=Object.freeze(a)),a},DataItem.fromCulture=function(e,t){return DataItem.from(e.data,e.metadata,e.provider,t)},DataItem.fromKey=function(e,t){var n,o=((n={})[t.metadata.key]=e,n);return DataItem.from(o,t.metadata,t.provider,t.culture)},DataItem.emptyItem=function(e){return DataItem.from(DataItem.emptyVal,e.metadata,e.provider,e.culture)},DataItem.duplicate=function(e,t){var n={};return Object.keys(e.metadata.properties).forEach((function(o){var r=e.metadata.properties[o],s=r.hasOwnProperty(a.READ_ONLY_FIELD)&&"Read"===r[a.READ_ONLY_FIELD],A=t.some((function(e){return e===o}));s&&!1===A||o!==i.Properties.URLS&&(n[o]=e.data[o])})),DataItem.fromEntityData(n,e)},DataItem.convertHierarchy=function(e){var t=[];if(!e.isEmpty){var n=e.data[i.Properties.CHILDREN];n&&(t=n.map((function(t){return DataItem.fromEntityData(t,e)})))}return A.fromDataItem(e,t)},DataItem.emptyVal=null,DataItem}(),A=function(e){function HierarchicalDataItem(t,n){var o=e.call(this,t.data,t.metadata,t.provider,t.culture)||this;return o._children=n,o}return Object(o.__extends)(HierarchicalDataItem,e),Object.defineProperty(HierarchicalDataItem.prototype,"hasChildren",{get:function(){return!this.isEmpty&&(this.data.hasOwnProperty(i.Properties.HAS_CHILDREN)&&this.data[i.Properties.HAS_CHILDREN])},enumerable:!1,configurable:!0}),Object.defineProperty(HierarchicalDataItem.prototype,"children",{get:function(){return this._children},enumerable:!1,configurable:!0}),HierarchicalDataItem.fromDataItem=function(e,t){var n=new HierarchicalDataItem(e,t);return Object.freeze(n)},HierarchicalDataItem}(s),l=function(e){function TaxonomyDataItem(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TaxonomyDataItem,e),Object.defineProperty(TaxonomyDataItem.prototype,"childSetName",{get:function(){return this.data[i.Properties.TAXA_URL]},enumerable:!1,configurable:!0}),Object.defineProperty(TaxonomyDataItem.prototype,"childTypes",{get:function(){return[this.data[i.Properties.TAXA_URL]]},enumerable:!1,configurable:!0}),TaxonomyDataItem}(s),c=function c(e){if(this.parentId=null,this.replaceUrl=!1,this.commandName=null,this.wasInCreate=!1,this.reload=!1,this.openDialog=!1,this.openInNewWindowArgs=null,this.mediaFieldLimitationsConstraints=null,this.navigateToChildrenAfterCreate=!0,this.prepopulatedFields=null,this.headComponentData=null,this.singularName=null,this.route=null,e)for(var t in e)void 0!==e[t]&&(this[t]=e[t])}},function(e,t,n){"use strict";var o,i;n.r(t),n.d(t,"Operation",(function(){return o})),n.d(t,"Order",(function(){return i})),function(e){e[e.or=0]="or",e[e.and=1]="and",e[e.eq=2]="eq"}(o||(o={})),function(e){e[e.asc=0]="asc",e[e.desc=1]="desc"}(i||(i={}))},function(e,t,n){"use strict";var o;n.r(t),n.d(t,"OperationActionType",(function(){return o})),n.d(t,"OPERATION_CATEGORIES",(function(){return i})),n.d(t,"OPERATION_NAMES",(function(){return r})),n.d(t,"OPERATION_TITLES",(function(){return a})),n.d(t,"OPERATION_PARAMETERS",(function(){return s})),n.d(t,"CONTEXT_PARAMETERS",(function(){return A})),function(e){e[e.None=0]="None",e[e.Success=1]="Success",e[e.Error=2]="Error",e[e.Warning=3]="Warning"}(o||(o={}));var i=Object.freeze({default:"Default",delete:"Delete",settings:"Settings",workflow:"Workflow",contentLocations:"ContentLocations",librariesGridView:"LibrariesGridView",personalization:"Personalization",personalized:"Personalized",personalizedWidgets:"PersonalizedWidgets"}),r=Object.freeze({delete:"Delete",saveDraft:"SaveDraft",publish:"Publish",unpublish:"Unpublish",unlock:"Unlock",edit:"Edit",editContent:"EditContent",duplicate:"Duplicate",create:"Create",save:"Save",update:"Update",reject:"Reject",viewReadOnly:"ViewReadOnly",schedule:"Schedule",createChild:"CreateChild",stopSchedule:"StopSchedule",stopScheduleUnpublish:"StopScheduleUnpublish",preview:"Preview",mobilePreview:"Mobile preview",view:"View",embed:"Embed",permissions:"Permissions",customFields:"CustomFields",changeCulture:"ChangeCulture",compareTranslations:"CompareTranslations",stopSyncing:"StopSyncing",revisionHistory:"RevisionHistory",shareTaxonomyWithSite:"ShareTaxonomyWithSite",sendForTranslation:"SendForTranslation",sharePreviewLink:"SharePreviewLink",reorder:"Reorder",sendForApproval:"SendForApproval",sendForPublishing:"SendForPublishing",sendForReview:"SendForReview",saveAsAwaitingPublishing:"SaveAsAwaitingPublishing",saveAsAwaitingApproval:"SaveAsAwaitingApproval",saveAsAwaitingReview:"SaveAsAwaitingReview",displayPages:"DisplayPages",linkItems:"LinkItems",cancel:"Cancel",bulkEditProperties:"BulkEditProperties",siteSync:"SyncItem",template:"Template",changeOwner:"Owner",moveTaxon:"MoveTaxon",mergeTaxon:"MergeTaxon",createChildCategory:"CreateChildCategory",createLibrary:"CreateLibrary",createMedia:"CreateMedia",regenerateThumbnails:"RegenerateThumbnails",viewAllSizes:"ViewAllSizes",viewOriginal:"ViewOriginal",download:"Download",upload:"Upload",uploadPublished:"UploadPublished",move:"Move",assignTaxons:"AssignTaxons",defaultWorkflowOperation:"DefaultWorkflowOperation",uploadDraft:"UploadDraft",play:"Play",createPersonalizedVersion:"CreatePersonalizedVersion",deletePersonalizedVersion:"DeletePersonalizedVersion",loadPersonalizedVersion:"loadPersonalizedVersion",loadPersonalizedWidgets:"LoadPersonalizedWidgetVersions",saveChanges:"SaveChanges",manageReferentType:"ManageReferentType",shareWith:"ShareWith",insightViewsAndAttribution:"InsightViewsAndAttribution",history:"history",runAgain:"RunAgain"}),a=Object.freeze({create:"Create",cancel:"Cancel",content:"Content",titleAndProperties:"Title & properties",properties:"Properties",saveChanges:"Save changes",permission:"Set permissions",mobilePreview:"Preview for mobile",siteSync:"Sync",saveDraft:"Save as Draft",schedule:"Schedule publish/unpublish",revisionHistory:"Revision history",displayPages:"Pages displaying this item",linkItems:"Items linking to this item",recycleBin:"Recycle bin",manageTemplates:"Manage templates",customFields:"Custom fields",continue:"Continue",delete:"Delete",publish:"Publish",uploadAndPublish:"Upload and Publish",unpublish:"Unpublish",sendForReview:"Send for Review",sendForApproval:"Send for Approval",sendForPublishing:"Send for Publishing",saveAsAwaitingApproval:"Save as Awaiting approval",libraryProperties:"Library properties",regenerateThumbnails:"Regenerate thumbnails",moveToAnotherLibrary:"Move to another library",usageOnSites:"Usage on sites",useSelected:"Use selected",reorderVideos:"Reorder videos in library",assignTaxons:"Assign tags and categories",sendForTranslation:"Send for translation",shareWith:"Share with...",runsHistory:"Runs in last 14 days",runAgain:"Run again",run:"Run"}),s=Object.freeze({openLinkInNewTab:"OpenLinkInNewTab",skipReload:"SkipReload",segmentForDeletion:"SegmentForDeletion"}),A=Object.freeze({currentTitle:"CurrentTitle",stayAfterPublish:"StayAfterPublish",IsBulkSupported:"IsBulkSupported",IsCultureSpecific:"IsCultureSpecific"})},function(e,t,n){"use strict";n.r(t),n.d(t,"ActionEvent",(function(){return a})),n.d(t,"ActionIcon",(function(){return A})),n.d(t,"ActionEventsConfirmationDialogButtons",(function(){return l}));var o,i=n(319),r=n(321),a=Object.freeze({Publish:"publish",SaveAsDraft:"saveAsDraft",Preview:"preview",Unpublish:"unpublish",Delete:"delete",Custom:"custom",Content:"content",Restore:"restore",ReorderItems:"reorderitems",SiteSync:"siteSync"}),s=((o={Unpublish:"remove",Delete:"trash",Schedule:"calendar",Reject:"times",Unlock:"lock",SendForApproval:"share",SendForPublishing:"share",SendForReview:"share",SyncItem:"upload",StopSyncing:"chain-broken",Share:"share",ShareTaxonomyWithSite:"share-alt",CreatePersonalizedVersion:"user"})[r.PERSONALIZE_WIDGETS]="user",o.addPersonalizedVersion="user",o[i.OPERATION_NAMES.runAgain]="repeat",o);Object.keys(s).forEach((function(e){s[e.toLowerCase()]=s[e]}));var A=Object.freeze(s),l=Object.freeze({Schedule:"Save changes",Reject:"Reject",SendForApproval:"Send for approval",SendForPublishing:"Send for publishing",SendForReview:"Send for review",Unpublish:"Unpublish",StopSyncing:"Stop syncing"})},function(e,t,n){"use strict";n.r(t),n.d(t,"OUTSIDE_MENU_MAX_ORDINAL",(function(){return A})),n.d(t,"DELETE_BUTTON_LOOK",(function(){return l})),n.d(t,"ACTION_BUTTON_LOOK",(function(){return c})),n.d(t,"PREVIEW_BUTTON_LOOK",(function(){return d})),n.d(t,"EDIT_SECTION_TITLE",(function(){return p})),n.d(t,"EDIT_ICON",(function(){return f})),n.d(t,"QUICK_EDIT",(function(){return u})),n.d(t,"PERSONALIZE_WIDGETS",(function(){return m})),n.d(t,"SVG_ICON_NAME",(function(){return g})),n.d(t,"DELETE_ICON",(function(){return E})),n.d(t,"DELETE_BTN",(function(){return h})),n.d(t,"PERSONALIZATION_ICON",(function(){return b})),n.d(t,"PERSONALIZATION_ICON_LOOK",(function(){return C})),n.d(t,"UNTITLED_SECTION",(function(){return B})),n.d(t,"ActionButtonsResolver",(function(){return k}));var o=n(131),i=n(319),r=n(322),a=n(11),s=n(229),A=4,l="sf-txt-failure",c="action",d="link",p="Edit",f="pencil",u="quickedit",m="personalizeWidgets",g="Section",E="times",h="delete",b="user",C="color-inherit",B=new r.ActionSection("Untitled section",!0),k=function(){function ActionButtonsResolver(){this.state$=new a.BehaviorSubject({stateForAll:r.ButtonState.Default})}return ActionButtonsResolver.prototype.getActionButtons=function(e,t,n){var o=this;void 0===n&&(n=!0);var i=new Map;t&&t.forEach((function(e){i.has(e.Name)||i.set(e.Name,[])})),e.forEach((function(e){i.has(e.Category.Name)||i.set(e.Category.Name,[]),i.get(e.Category.Name).push(e)}));var a=[];return i.forEach((function(e,t){var i=e.sort((function(e,t){return e.Ordinal>t.Ordinal?1:e.Ordinal0){var s=e[0].Category;0===a.length?s.Title&&a.push(new r.ActionSection(s.Title)):(s.Title&&a.push(B),a.push(s.Title?new r.ActionSection(s.Title):B)),a=a.concat(i)}})),a},ActionButtonsResolver.prototype.updateButtonState=function(e){null===e.stateForOthers&&(null!==e.primary&&null!==e.primary.state?(this.hasFlag(e.primary.state,r.ButtonState.Checked)||this.hasFlag(e.primary.state,r.ButtonState.Loading))&&(e.stateForOthers=r.ButtonState.Disabled):e.stateForOthers=r.ButtonState.Default),this.state$.next({specificState:e.primary,stateForAll:e.stateForOthers})},ActionButtonsResolver.prototype.getActionButton=function(e,t){var n=new r.ActionButton(e.Title||e.Name,e.Name);n.description=e.Description,n.detailedTitle=e.DetailedTitle,n.link=e.Link,n.ordinal=e.Ordinal,n.parameters=e.Parameters,n.contextParameters=e.ContextParameters,n.context=e.context,n.requiresConfirmation=e.RequiresConfirmation,n.token=e.token,n.sourceOperation=e,n.subText=e.SubText,!e.ExecuteOnServer&&e.Warning&&(n.warningMessage=e.Warning);var i=this.state$.pipe(Object(o.map)((function(e){return e.specificState&&e.specificState.name===n.name?e.specificState.state:e.stateForAll})),Object(o.publishReplay)(1));return i.connect(),n.checked=this.filterMap(i,r.ButtonState.Checked),n.disabled=this.filterMap(i,r.ButtonState.Disabled),n.loading=this.filterMap(i,r.ButtonState.Loading),e.SubOperation&&(n.subAction=this.getActionButton(e.SubOperation,!1),n.subAction.isSubAction=!0),t||e.Name===h&&e.Ordinal>A?this.setButtonLook(n,e):this.setButtonIcon(n,e),n},ActionButtonsResolver.prototype.setButtonIcon=function(e,t){return e.context={},t.Name===h?e.context.icon=E:t.Name===u?e.context.icon=g:t.Name===m?(e.context.icon=b,e.context.iconLook=C):e.context.icon=f,e},ActionButtonsResolver.prototype.setButtonLook=function(e,t){return t.Name===i.OPERATION_NAMES.delete||t.Name===h?e.look=l:t.Name===i.OPERATION_NAMES.preview?e.look=d:t.Name!==i.OPERATION_NAMES.unlock&&e.ordinal===r.PRIMARY_BUTTON_ORDINAL&&(e.look=c),e},ActionButtonsResolver.prototype.filterMap=function(e,t){var n=this;return e.pipe(Object(o.map)((function(e){return n.hasFlag(e,t)})))},ActionButtonsResolver.prototype.hasFlag=function(e,t){return(e&t)===t},ActionButtonsResolver.ɵfac=function ActionButtonsResolver_Factory(e){return new(e||ActionButtonsResolver)},ActionButtonsResolver.ɵprov=s["ɵɵdefineInjectable"]({token:ActionButtonsResolver,factory:ActionButtonsResolver.ɵfac}),ActionButtonsResolver}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ButtonState",(function(){return o})),n.d(t,"PRIMARY_BUTTON_ORDINAL",(function(){return r})),n.d(t,"LoadingButton",(function(){return a})),n.d(t,"ActionButton",(function(){return s})),n.d(t,"ActionSection",(function(){return A})),n.d(t,"SidebarActionButton",(function(){return l})),n.d(t,"ToolbarButton",(function(){return c})),n.d(t,"ActionMenuOptions",(function(){return d}));var o,i=n(259);!function(e){e[e.Default=0]="Default",e[e.Loading=1]="Loading",e[e.Checked=2]="Checked",e[e.Disabled=4]="Disabled"}(o||(o={}));var r=-1,a=function a(){},s=function(e){function ActionButton(t,n){var o=e.call(this)||this;return o.title=t,o.name=n,o.requiresConfirmation=!1,o}return Object(i.__extends)(ActionButton,e),Object.defineProperty(ActionButton.prototype,"isPrimary",{get:function(){return this.ordinal===r},enumerable:!1,configurable:!0}),ActionButton}(a),A=function A(e,t,n){void 0===t&&(t=!1),this.title=e,this.hidden=t,this.name=n},l=function(e){function SidebarActionButton(t,n,o){var i=e.call(this,t,n)||this;return i.componentType=o,i}return Object(i.__extends)(SidebarActionButton,e),SidebarActionButton}(s),c=function c(e,t,n){this.title=e,this.isActive=t,this.action=n},d=function d(e,t,n){void 0===e&&(e=Number.NEGATIVE_INFINITY),void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=!1),this.minOrdinal=e,this.maxOrdinal=t,this.showAllAsDropdown=n}},function(e,t,n){"use strict";n.r(t),n.d(t,"FileInfoService",(function(){return A}));var o=n(324),i=n(312),r=n(245),a=n(11),s=n(229),A=function(){function FileInfoService(e){this.sanitizer=e}return FileInfoService.prototype.createFileInfo=function(e,t){var n=this;return new Promise((function(i,a){var s,A=Object(r.filename)(e.name),l=n.getUrl(e),c=n.sanitizer.bypassSecurityTrustUrl(l),d={name:e.name,title:A,extension:Object(r.getExtensionFromFileName)(e.name),size:e.size,data:{},content:e,contentType:e.type,dataUrl:c,form:new o.FormGroup((s={},s.Title=new o.FormControl(A),s)),isMultimedia:t.isMultimedia,isVideo:t.isVideo,isCorrupted:!1};t.isMultimedia?n.getMediaSize(l,e.type).then((function(e){d.width=e.width,d.height=e.height,i(d)})).catch((function(){d.isCorrupted=!0,i(d)})):i(d)}))},FileInfoService.prototype.createFileInfo$=function(e,t){var n=this.createFileInfo(e,t);return Object(a.from)(n)},FileInfoService.prototype.getMediaSize=function(e,t){return t.includes("image/")?this.getMediaSizeInternal(e,"load","img","width","height"):t.includes("video/")?this.getMediaSizeInternal(e,"loadedmetadata","video","videoWidth","videoHeight"):Promise.resolve({isCorrupted:!1})},FileInfoService.prototype.getUrl=function(e){return window.URL.createObjectURL(e)},FileInfoService.prototype.getMediaSizeInternal=function(e,t,n,o,i){return new Promise((function(r,a){var s=document.createElement(n);s.addEventListener(t,(function(e){var t={width:s[o],height:s[i],isCorrupted:!1};s.remove(),r(t)})),s.addEventListener("error",(function(e){s.remove(),a(e)})),s.src=e}))},FileInfoService.ɵfac=function FileInfoService_Factory(e){return new(e||FileInfoService)(s["ɵɵinject"](i.DomSanitizer))},FileInfoService.ɵprov=s["ɵɵdefineInjectable"]({token:FileInfoService,factory:FileInfoService.ɵfac}),FileInfoService}()},,function(e,t,n){"use strict";n.r(t),n.d(t,"QUERY_PARAMS_EXTENDER_TOKEN",(function(){return o})),n.d(t,"QueryParamsExtender",(function(){return i})),n.d(t,"getAdditionalQueryParams",(function(){return getAdditionalQueryParams}));var o=new(n(229).InjectionToken)("query-params-extender"),i=function i(){};function getAdditionalQueryParams(e,t,n){void 0===n&&(n=null);var o=Object.assign({},e);if(t)for(var i=0,r=t;i-1)){var A=Object(o.createFieldModel)(a.fieldsProvider,e.setName,null,r,null,null);A&&(a.overrideSettings(i,A,t,n,null),s.push(A))}})),this.tryUpdateHandlersValue(s,e,t),s},MetadataParserService.prototype.getPropertyFieldType=function(e,t,n,i,a){var s=this.tryGetBasicTypes(t);if(s)return s;for(var A=0,c=this.metadataHandlers;A1?"textarea":o,t.type=n.metadata[A.TWEAKS_METADATA_PROPERTIES.IS_PASSWORD_MODE]?"password":t.type,t.rows=n.metadata[A.TWEAKS_METADATA_PROPERTIES.ROWS],t.showCharCounter=n.metadata[A.TWEAKS_METADATA_PROPERTIES.SHOW_CHAR_COUNTER],n.metadata[A.TWEAKS_METADATA_PROPERTIES.RECOMMENDED_CHAR_COUNTER]&&(t.recommendedCharacters=n.metadata[A.TWEAKS_METADATA_PROPERTIES.RECOMMENDED_CHAR_COUNTER]);var i=n.metadata[A.TWEAKS_METADATA_PROPERTIES.CSS_CLASS]||l.stringConstants.EMPTY_STRING;t.look?t.look+=i:t.look=i}},MetadataParserService.prototype.updateRelatedMediaFieldSettings=function(e,t,n,o,i){if(e===d.FieldTypes.media||e===d.FieldTypes.templateThumbnail){var r=o[b.RELATE_DATA_PROVIDER],a=t;a.provider=r,a.type=this.getRef(o),t.hintPositionTop=!0,n&&(a.allowMultiple=this.getIsMultiple(n,a.allowMultiple)),this.overrideRelatedMediaSettingsFromTweaks(a,n)}},MetadataParserService.prototype.getIsMultiple=function(e,t){var n=e.metadata||e.fieldMeta;return n&&void 0!==n[A.TWEAKS_METADATA_PROPERTIES.ALLOW_MULTIPLE_SELECTION]?n[A.TWEAKS_METADATA_PROPERTIES.ALLOW_MULTIPLE_SELECTION]:t},MetadataParserService.prototype.updateBaseSettings=function(e,t){if(t&&t.metadata){var n=t.metadata[A.TWEAKS_METADATA_PROPERTIES.DISPLAY_MODE];null!=n&&(e.readOnlyMode=!t.metadata[A.TWEAKS_METADATA_PROPERTIES.DISPLAY_MODE]);var o=t.metadata[A.TWEAKS_METADATA_PROPERTIES.PREDEFINED_VALUE];null!=o&&(e.defaultValue=o,e.useDefaultValue=!0)}},MetadataParserService.prototype.updateTaxaFieldSettings=function(e,t,n){if(e===d.FieldTypes.taxa&&n){var i=t,r=this.store.getPropertyMetadata(i.type,"UrlName");i.urlNameSanitizeRegex=r[o.FIELD_SANITIZE_REGEX],n&&(i.allowMultiple=this.getIsMultiple(n,i.allowMultiple),n.metadata&&(i.id=void 0!==n.metadata[A.TWEAKS_METADATA_PROPERTIES.TAXONOMY_ID]?n.metadata[A.TWEAKS_METADATA_PROPERTIES.TAXONOMY_ID]:i.id,i.allowCreate=void 0!==n.metadata[A.TWEAKS_METADATA_PROPERTIES.ALLOW_CREATING]?n.metadata[A.TWEAKS_METADATA_PROPERTIES.ALLOW_CREATING]:i.allowCreate))}},MetadataParserService.prototype.updateChoiceFieldSettings=function(e,t,n,o,i){if(e===d.FieldTypes.choice||e===d.FieldTypes.choiceDropDown||e===d.FieldTypes.choiceMultiple||e===d.FieldTypes.taxonomyTypeChoice){var r=t;if(r.choices=[],n.anyOf&&n.anyOf.length&&n.anyOf[0].$ref){var a=n.anyOf[0].$ref.replace("#/definitions/",""),s=this.store.getDefinitionMetadata(a);s&&s.hasOwnProperty("enum")&&(r.choices=s.enum.map((function(e){return e.hasOwnProperty(b.FIELD_DESCRIPTION)&&(e.Description=e[b.FIELD_DESCRIPTION]),e.hasOwnProperty(b.FIELD_FRIENDLY_NAME)&&(e.FriendlyName=e[b.FIELD_FRIENDLY_NAME]),e})),r.emptyValues.push("0".repeat(r.choices.length))),this.overrideOptionNames(r,o),o&&o.metadata&&(r.showTitle=!o.metadata[A.TWEAKS_METADATA_PROPERTIES.HIDE_TITLE]),e===d.FieldTypes.choice&&(r.useDefaultValue=!0)}this.updateHasFieldset(e,i,t)}},MetadataParserService.prototype.updateGuidFieldSettings=function(e,t,n){e===d.FieldTypes.shortText&&"uuid"===n.format&&(t.emptyValues.push(l.stringConstants.DEFAULT_GUID),t.defaultValue=n[b.DEFAULT_PROPERTY_VALUE],t.markAsDirty=!0,t.useDefaultValue=!0)},MetadataParserService.prototype.updateYesNoFieldSettings=function(e,t,n){var o=t;if(e===d.FieldTypes.choiceYesNo)if(n&&n.metadata&&n.metadata.hasOwnProperty("OptionName")){var i=n.metadata.OptionName;o.showTitle=!0,o.optionName=i}else o.showTitle=!1},MetadataParserService.prototype.updateHasFieldset=function(e,t,n){if(null===t&&n.choices&&n.choices.length>=63)return n.hasFieldset=!0;var o=t&&/^[0-1]{2,}$/.test(t.toString());if(e===d.FieldTypes.choiceDropDown&&!o)return n.hasFieldset=!1;n.hasFieldset=!0},MetadataParserService.prototype.updateParentSelectorSettings=function(e,t,n){var o=e,r=t;if(t.properties.Parent){o.showAddToTopLevel=!1;var a=t.properties.Parent;r=this.store.getEntity(this.getEntityName(a))}var s=r.displayName,l=r.singularName;n&&(n.metadata[A.TWEAKS_METADATA_PROPERTIES.SINGULAR_NAME]&&(l=n.metadata[A.TWEAKS_METADATA_PROPERTIES.SINGULAR_NAME]),n.metadata[A.TWEAKS_METADATA_PROPERTIES.PLURAL_NAME]&&(s=n.metadata[A.TWEAKS_METADATA_PROPERTIES.PLURAL_NAME])),o.selectorNames.plural=s,o.selectorNames.singular=l,o.hierarchicalTaxaSettings=new i.TaxonomySettings(r.singularName,!1),o.hierarchicalTaxaSettings.type=r.setName},MetadataParserService.prototype.shouldHaveLargeTitle=function(e,t,n){if(!e)return!1;var o=e.properties[b.DEFAULT_FIELD]===n,i=t[A.FIELD_TYPE]===E.SHORT_TEXT_CONSTANTS.TYPE,r=!e.hasLifecycle||e.setName===A.ENTITY_SET.PAGES;return o&&i&&r},MetadataParserService.prototype.processFieldGroups=function(e,t,n,o,i,r,a,s){for(var A=0,l=this.metadataHandlers;A0&&(t=t[0]),t},MetadataParserService.prototype.tryGetChoiceTypes=function(e,t){if(t){if(t.renderChoicesAs===d.RenderChoicesAs.dropDown)return d.FieldTypes.choiceDropDown;if(t.renderChoicesAs===d.RenderChoicesAs.radioButtons)return d.FieldTypes.choice;if(t.renderChoicesAs===d.RenderChoicesAs.checkBoxes)return d.FieldTypes.choiceMultiple}if(e[A.FIELD_TYPE]){if(e[A.FIELD_TYPE].toLowerCase()===A.CHOICE_FIELD_TYPE_LOWERCASE)return d.FieldTypes.choice;if(e[A.FIELD_TYPE].toLowerCase()===A.MULTIPLE_CHOICE_FIELD_TYPE_LOWERCASE)return d.FieldTypes.choiceMultiple}},MetadataParserService.prototype.getRef=function(e){return e.items?e.items.$ref:e.anyOf?e.anyOf[0].$ref:null},MetadataParserService.prototype.getEntityName=function(e){var t=this.getRef(e);if(!t)return null;var n=t.replace("#/definitions/",l.stringConstants.EMPTY_STRING);return this.store.getEntitySetName(n)},MetadataParserService.prototype.tryGetBasicTypes=function(e){var t=this.getPropertyType(e),n=this.getRef(e);if(n&&(n===A.MEDIA_TYPES.IMAGE||n===A.MEDIA_TYPES.VIDEO||n===A.MEDIA_TYPES.DOCUMENT))return d.FieldTypes.media;if(n&&n===A.CHOICE_TYPES.TAXONOMY)return d.FieldTypes.taxonomyTypeChoice;if(e.$ref===A.ADDRESS_TYPES.ADRESS)return d.FieldTypes.address;if("boolean"===t)return d.FieldTypes.choiceYesNo;if("number"===t)return d.FieldTypes.number;if(e.relationship&&n){if(n.startsWith(k.DYNAMIC_TYPES_MODEL))return d.FieldTypes.relatedData;switch(n){case k.NEWS_ITEM:case k.EVENT:case k.BLOG_POST:case k.PAGE_NODE:return d.FieldTypes.relatedData}}return null},MetadataParserService.prototype.overrideRelatedMediaSettingsFromTweaks=function(e,t){t&&t.metadata&&(e.sourceLibraryId=t.metadata[A.RESTRICTIONS_FOR_RELATED_MEDIA.SOURCE_LIBRARY_ID_KEY],e.targetLibraryId=t.metadata[A.RESTRICTIONS_FOR_RELATED_MEDIA.TARGET_LIBRARY_ID_KEY],e.useOnlyUploadMode=t.metadata[A.RESTRICTIONS_FOR_RELATED_MEDIA.USE_ONLY_UPLOAD_MODE_KEY],e.useOnlySelectMode=t.metadata[A.RESTRICTIONS_FOR_RELATED_MEDIA.USE_ONLY_SELECT_MODE_KEY],e.selectButtonText=t.metadata[A.TWEAKS_METADATA_PROPERTIES.SELECT_BUTTON_TEXT]),!e.useOnlyUploadMode||e.allowCreate&&!e.useOnlySelectMode||(e.readOnlyMode=!0)},MetadataParserService.prototype.overrideOptionNames=function(e,t){if(t&&t.metadata&&t.metadata.hasOwnProperty(A.OVERRIDEN_OPTION_NAMES_FIELD_NAME)){var n=t.metadata[A.OVERRIDEN_OPTION_NAMES_FIELD_NAME];e.choices.forEach((function(e){var t=n.find((function(t){return t.Name===e.Name}));t&&(e.Name=t.Title)}))}},MetadataParserService.ɵfac=function MetadataParserService_Factory(e){return new(e||MetadataParserService)(C["ɵɵinject"](s.SitefinitySdk),C["ɵɵinject"](a.MetadataStore),C["ɵɵinject"](p.CompositeFieldsProvider),C["ɵɵinject"](m.MetadataHandler))},MetadataParserService.ɵprov=C["ɵɵdefineInjectable"]({token:MetadataParserService,factory:MetadataParserService.ɵfac}),MetadataParserService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomySettings",(function(){return s}));var o=n(259),i=n(331),r=n(332),a=n(333),s=function(e){function TaxonomySettings(){var t=null!==e&&e.apply(this,arguments)||this;return t.showMenuItems=!0,t.isParentSelection=!1,t.excludeParent=!0,t}return Object(o.__extends)(TaxonomySettings,e),TaxonomySettings.prototype.init=function(t){e.prototype.init.call(this,t),this.name=t[i.default.TAXONOMY_NAME],this.title=this.title?this.title:this.name,this.id=t[i.default.TAXONOMY_ID],this.type=t[i.default.TAXONOMY_TYPE],this.defaultValue=[],this.displayMode=a.DISPLAY_MODE.NORMAL,this.changeOnFocus=!0},TaxonomySettings}(r.SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"TAXONOMY_COLUMN_NAMES",(function(){return o})),n.d(t,"TAXONOMY_STRING_CONSTANTS",(function(){return i}));t.default={TAXONOMY_NAME:"Telerik.Sitefinity.V1.Taxonomy",TAXONOMY_ID:"Telerik.Sitefinity.V1.TaxonomyId",TAXONOMY_TYPE:"Telerik.Sitefinity.V1.TaxonomyUrl",TAXONOMY_ALLOW_MULTIPLE:"Telerik.Sitefinity.V1.Validation.AllowMultiple",TAXONOMIES_SET_NAME:"taxonomies",FLAT_TAXA:"flat-taxa",HIERARCHY_TAXA:"hierarchy-taxa",FLAT_TAXON_FULL_NAME:"Telerik.Sitefinity.Taxonomies.Model.FlatTaxon",HIERARCHICAL_TAXON_FULL_NAME:"Telerik.Sitefinity.Taxonomies.Model.HierarchicalTaxon",TAXONOMY_DEFAULT_SORT:"Title asc"};var o={APPLIED_TO:"APPLIED TO",SHARED_WITH_NAME:"SharedWith",SHARED_WITH_TITLE:"Used in sites",TAXA_TITLE:"NAME",URL_NAME:"URL",ACTIONS:"ACTIONS"},i={TAGGED:"tagged",CATEGORIZED:"categorized"}},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT",(function(){return A})),n.d(t,"INLINE_DESCRIPTION",(function(){return l})),n.d(t,"INSTRUCTIONAL_NOTES",(function(){return c})),n.d(t,"SettingsBase",(function(){return d})),n.d(t,"RuleOperator",(function(){return o})),n.d(t,"RuleConditionOperator",(function(){return i}));var o,i,r=n(324),a=n(257),s=n(246),A="default",l="inlineDescription",c="instructionalNotes",d=function(){function SettingsBase(e,t){this.key=e,this.readOnlyMode=t,this.showTitle=!0,this.visibleTitle=!0,this.underlineErrors=!1,this.emptyValueText=s.NOT_SET,this.defaultValue=null,this.required=!1,this.translatable=!1,this.hasFieldset=!1,this.hintPositionTop=!1,this.markAsDirty=!1,this.useDefaultValue=!0,this.emptyValues=[null,void 0],this.allowCreate=!0,this.allowAdd=!0,this.allowRemove=!0,this.allowView=!0,this.isVisible=!0,this.showCharCounter=!1,this.changeOnFocus=!1,this.placeholder=s.stringConstants.EMPTY_STRING,this.title=this.key}return SettingsBase.prototype.init=function(e){if(this.autoMapSettings(e,"Meta_","_"),this.autoMapSettings(e,a.FIELD_VALIDATION_PREFIX,"."),this.autoMapSettings(e,a.SITEFINITY_NAMESPACE,".",a.FIELD_VALIDATION_PREFIX),this.required=!!e[a.VALIDATION_REQUIRED],this.inlineDescription=e[l],this.instructionalNotes=e[c],this.validators=r.Validators.compose(this.getValidators(e)),this.translatable=e.hasOwnProperty(a.LOCALIZABLE_FIELD)&&e[a.LOCALIZABLE_FIELD],this.customErrorMsgs=e[a.VALIDATION_CUSTOM_MSGS],null===this.defaultValue&&e[A]&&(this.defaultValue=e[A]),e[a.SHOW_IF_FIELD]&&this.isVisible){var t=e[a.SHOW_IF_FIELD];try{this.conditionalRule=JSON.parse(t)}catch(e){console.error("Conditional rule invalid JSON format for field with key '"+this.key+"'")}}this.addEmptyValues(e)},SettingsBase.prototype.getValidators=function(e){var t=[];return this.required&&t.push(r.Validators.required),t},SettingsBase.prototype.equals=function(e,t){for(var n in void 0===t&&(t="dataItem"),e)if(e.hasOwnProperty(n)){if(t&&n===t)continue;var o=e[n];if("object"==typeof o){if(JSON.stringify(o)!==JSON.stringify(this[n]))return!1}else if("function"!=typeof o&&o!==this[n])return!1}return!0},SettingsBase.prototype.autoMapSettings=function(e,t,n,o){var i=this;void 0===o&&(o=null),Object.keys(e).filter((function(e){return e.startsWith(t)})).forEach((function(r){if(!o||!r.startsWith(o)){var a=r.replace(t,s.stringConstants.EMPTY_STRING).replace(n,s.stringConstants.EMPTY_STRING);a=a[0].toLowerCase()+a.substring(1),i[a]=e[r];["True","False","true","false"].find((function(e){return e===i[a]}))&&(i[a]="true"===i[a]||"True"===i[a])}}))},SettingsBase.prototype.addEmptyValues=function(e){var t;e.emptyValues&&(t=this.emptyValues).push.apply(t,JSON.parse(e.emptyValues))},SettingsBase}();!function(e){e.Or="Or",e.And="And"}(o||(o={})),function(e){e.Equals="Equals",e.NotEquals="NotEquals",e.Contains="Contains",e.NotContains="NotContains"}(i||(i={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"DISPLAY_MODE",(function(){return r})),n.d(t,"TEXT_FIELD_CONSTANTS",(function(){return a})),n.d(t,"TEXT_COMPONENTS",(function(){return s}));var o=n(334),i=n(363),r={NORMAL:"normal",INPUT:"input"},a={TEXT_FIELD_TYPE:"Telerik.Sitefinity.V1.FieldType"},s=[o.SHORT_TEXT_COMPONENTS,i.EditorComponent]},function(e,t,n){"use strict";n.r(t),n.d(t,"SHORT_TEXT_COMPONENTS",(function(){return A})),n.d(t,"SHORT_TEXT_REGISTRY",(function(){return l})),n.d(t,"SHORT_TEXT_PASSWORD_REGISTRY",(function(){return c})),n.d(t,"SHORT_TEXT_DEFAULT_REGISTRY",(function(){return d})),n.d(t,"SHORT_TEXT_CONSTANTS",(function(){return p}));var o=n(335),i=n(355),r=n(356),a=n(358),s=n(362),A=[o.ShortTextComponent,a.ShortTextGridComponent,i.ShortTextDefaultComponent],l={writeComponent:o.ShortTextComponent,gridComponent:a.ShortTextGridComponent,settingsType:r.ShortTextSettings},c={writeComponent:o.ShortTextComponent,gridComponent:a.ShortTextGridComponent,settingsType:s.PasswordShortTextSettings},d={writeComponent:i.ShortTextDefaultComponent,readComponent:i.ShortTextDefaultComponent,settingsType:r.ShortTextDefaultSettings},p={TYPE:"ShortText"}},function(e,t,n){"use strict";n.r(t),n.d(t,"ShortTextComponent",(function(){return l}));var o=n(259),i=n(336),r=n(354),a=n(229),s=n(324),A=["inputField"],l=function(e){function ShortTextComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ShortTextComponent,e),Object.defineProperty(ShortTextComponent.prototype,"shortTextSettings",{get:function(){return this.settings},enumerable:!1,configurable:!0}),ShortTextComponent.prototype.onFocus=function(){e.prototype.onFocus.call(this),this.inputField&&this.inputField.focus()},ShortTextComponent.ɵfac=function ShortTextComponent_Factory(e){return c(e||ShortTextComponent)},ShortTextComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ShortTextComponent,selectors:[["sf-short-text"]],viewQuery:function ShortTextComponent_Query(e,t){if(1&e&&a["ɵɵviewQuery"](A,3),2&e){var n;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.inputField=n.first)}},features:[a["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(ShortTextComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:2,vars:12,consts:[["ngDefaultControl","",3,"name","look","type","rows","placeholder","unit","unitLook","unitPosition","recommendedCharacters","showCharCounter","disabled","ngModel","ngModelChange","onBlur","onFocus"],["inputField",""]],template:function ShortTextComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"sf-input",0,1),a["ɵɵlistener"]("ngModelChange",(function ShortTextComponent_Template_sf_input_ngModelChange_0_listener(e){return t.value=e}))("onBlur",(function ShortTextComponent_Template_sf_input_onBlur_0_listener(){return t.onBlur()}))("onFocus",(function ShortTextComponent_Template_sf_input_onFocus_0_listener(){return t.onFocus()})),a["ɵɵelementEnd"]()),2&e&&a["ɵɵproperty"]("name",t.shortTextSettings.key)("look",t.shortTextSettings.look)("type",t.shortTextSettings.type)("rows",t.shortTextSettings.rows)("placeholder",t.shortTextSettings.placeholder)("unit",t.shortTextSettings.unit)("unitLook",t.shortTextSettings.unitLook)("unitPosition",t.shortTextSettings.unitPosition)("recommendedCharacters",t.shortTextSettings.recommendedCharacters)("showCharCounter",t.shortTextSettings.showCharCounter)("disabled",t.shortTextSettings.disabled)("ngModel",t.value)},directives:[r.SfInputComponent,s.DefaultValueAccessor,s.NgControlStatus,s.NgModel],encapsulation:2}),ShortTextComponent}(i.FieldBase),c=a["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"createValueAccessor",(function(){return createValueAccessor})),n.d(t,"FieldBase",(function(){return m}));var o=n(259),i=n(324),r=n(337),a=n(229),s=n(246),A=n(352),l=n(11),c=n(245),d=(n(263),n(264)),p=n(353),f=n(256),u=n(328);function createValueAccessor(e){return{provide:i.NG_VALUE_ACCESSOR,useExisting:Object(a.forwardRef)((function(){return e})),multi:!0}}var m=function(e){function FieldBase(){var t=e.call(this)||this;return t._status$=new l.BehaviorSubject({type:A.StatusType.Done}),t._hidden$=new l.BehaviorSubject(!1),t._isFocused$=new l.ReplaySubject(1),t._value=null,t.outputTemplateCallback=new l.ReplaySubject(1),t.onTouchedCallback=function(){},t.onChangeCallback=function(){},t.validation=new r.FieldValidation(t),t}return Object(o.__extends)(FieldBase,e),Object.defineProperty(FieldBase.prototype,"settings",{get:function(){return this._settings},set:function(e){this._settings=e},enumerable:!1,configurable:!0}),FieldBase.prototype.ngOnInit=function(){if(this.context&&this.context.dataItem&&this.context.model){var e=this.context.model.dataFieldNames[0],t=this.context.dataItem.data[e];this.writeValue(t)}},Object.defineProperty(FieldBase.prototype,"value",{get:function(){return this.getValue()},set:function(e){this.writeValue(e)},enumerable:!1,configurable:!0}),Object.defineProperty(FieldBase.prototype,"focus$",{get:function(){return this._isFocused$.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(FieldBase.prototype,"status$",{get:function(){return this._status$},enumerable:!1,configurable:!0}),Object.defineProperty(FieldBase.prototype,"hidden$",{get:function(){return this._hidden$.asObservable()},enumerable:!1,configurable:!0}),FieldBase.prototype.setHidden=function(e){this._hidden$.next(e)},FieldBase.prototype.emitStatus=function(e){this._status$.next(e)},FieldBase.prototype.onFocus=function(){this._isFocused$.next(!0)},FieldBase.prototype.onBlur=function(){this._isFocused$.next(!1)},FieldBase.prototype.processErrors=function(e){var t=Object(c.cloneObject)(e),n=[];if(t&&(!0===t.required||t["sfc-required"])){t.required&&delete t.required,t["sfc-required"]&&delete t["sfc-required"];var o=this.getRequiredErrorMessage();n=n.concat(o)}var i=this.validation.getErrorMessage(t);return i&&(n=n.concat(i)),n},FieldBase.prototype.getRequiredErrorMessage=function(){return this.validation.getErrorMessage({required:!0})},FieldBase.prototype.getWarnings=function(){return[]},FieldBase.prototype.getValue=function(){return this._value instanceof p.AsyncFieldValue?this._value.asyncValue:this._value},FieldBase.prototype.postProcessValue=function(e){return e},FieldBase.prototype.writeValue=function(e){var t=this._value;t instanceof p.AsyncFieldValue&&(t=t.asyncValue);var n=e;n instanceof p.AsyncFieldValue&&(n=n.asyncValue),n!==t&&(this._value=e,this.onChangeCallback&&this.onChangeCallback(e))},FieldBase.prototype.validate=function(){},FieldBase.prototype.registerOnChange=function(e){this.onChangeCallback=e},FieldBase.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},FieldBase.prototype.commitValue=function(){},FieldBase.prototype.hasEmptyValue=function(){return!this.value||"string"==typeof this.value&&this.value===s.stringConstants.EMPTY_STRING||(this.value instanceof Object&&0===Object.keys(this.value).length?!(this.value instanceof Date):this.value instanceof Array&&0===this.value.length)},FieldBase.prototype.getNoPermissionMessage=function(e){switch(e){case f.MEDIA_TYPES.IMAGE:e=u.MEDIA_CONTENT_TYPES.image.plural;break;case f.MEDIA_TYPES.VIDEO:e=u.MEDIA_CONTENT_TYPES.video.plural;break;case f.MEDIA_TYPES.DOCUMENT:e=u.MEDIA_CONTENT_TYPES.document.plural}return"Ask your administrator for view permissions for "+e},FieldBase.prototype.registerAllowDialogOpenCallback=function(e){this.allowDialogOpenCallback=e},FieldBase.prototype.invokeOutputTemplateCallback=function(e){this.outputTemplateCallback.next(e)},FieldBase.prototype.invokeAllowDialogOpenCallback=function(){return this.allowDialogOpenCallback?this.allowDialogOpenCallback():Object(l.of)(!0)},FieldBase.ɵfac=function FieldBase_Factory(e){return new(e||FieldBase)},FieldBase.ɵdir=a["ɵɵdefineDirective"]({type:FieldBase,inputs:{context:"context",settings:"settings"},features:[a["ɵɵInheritDefinitionFeature"]]}),FieldBase}(d.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"FieldValidation",(function(){return l}));var o=n(338),i=n(346),r=n(246),a=n(342),s=n(348),A=n(349),l=function(){function FieldValidation(e){this.ERROR_MESSAGE_MAP=new Map,this.context=e}return FieldValidation.prototype.getErrorMessage=function(e){var t=this;return e?Object.keys(e).map((function(n){return t.buildMessageForErrorType(n,e[n])})):null},FieldValidation.prototype.buildErrorMessage=function(e,t){var n;switch(e){case o.VALIDATOR_NAMES.REQUIRED:n=this.buildRequiredMessage(t);break;case o.VALIDATOR_NAMES.MIN_LENGTH:n=FieldValidation.getMinLengthMessage(t.requiredLength);break;case o.VALIDATOR_NAMES.MAX_LENGTH:n=FieldValidation.getMaxLengthMessage(t.requiredLength);break;case o.VALIDATOR_NAMES.MIN_VALUE:n=FieldValidation.getMinValueMessage(t.requiredMinValue);break;case o.VALIDATOR_NAMES.MAX_VALUE:n=FieldValidation.getMaxValueMessage(t.requiredMaxValue);break;case o.VALIDATOR_NAMES.VALUE_RANGE:n=FieldValidation.getValueRangeMessage(t.maxValue,t.minValue);break;case o.VALIDATOR_NAMES.DIGITS_LIMIT:n=FieldValidation.getDigitsLimitMessage(t.requiredLength);break;case o.VALIDATOR_NAMES.MAX_INTEGER:n=FieldValidation.getMaxIntegerMessage(t.maxIntegerValue);break;case o.VALIDATOR_NAMES.PATTERN:n=FieldValidation.getPatternMessage(this.context,t);break;case a.CUSTOM_ERROR_PREFIX+a.VALIDATOR_MESSAGES.URL_EXIST:n=FieldValidation.getUrlExistsMessage();break;case a.CUSTOM_ERROR_PREFIX+a.VALIDATOR_MESSAGES.URL_EXIST_SPECIFIC:n=FieldValidation.getUrlExistsMessageSpecific();break;case a.CUSTOM_ERROR_PREFIX+a.VALIDATOR_MESSAGES.URL_EXIST_MANY:n=FieldValidation.getUrlExistsMessageMany();break;case a.CUSTOM_ERROR_PREFIX+a.VALIDATOR_MESSAGES.TAXONOMY_NAME_DUPLICATE:n=FieldValidation.getClassificationNameDuplicate();break;case a.CUSTOM_ERROR_PREFIX+a.VALIDATOR_MESSAGES.TITLE_EXISTS:n=FieldValidation.getTemplateTitleDuplicate();break;case a.VALIDATOR_MESSAGES.INVALID_NUMBER:n=FieldValidation.getInvalidNumberMessage();break;case i.INVALID_EXPIRATION_DATE:n=FieldValidation.getExpirationDateMessage();break;case a.VALIDATOR_MESSAGES.UPLOAD_FAILED:n=r.stringConstants.EMPTY_STRING;break;case i.MISSING_PUB_UNPUB_VALUES:n=FieldValidation.getMissingPublishUnpublishValueMessage();break;case A.INVALID_EVENT_END_DATE:n=FieldValidation.getEventEndTimeMessage();break;case o.VALIDATOR_NAMES.MULTILINE_EMAILS:n=FieldValidation.getInvalidMultipleEmailsMessage();break;default:n=FieldValidation.getUnknownErrorMessage(e,t)}return this.context.settings&&this.context.settings.customErrorMsgs||e===o.VALIDATOR_NAMES.PATTERN||e===o.VALIDATOR_NAMES.CUSTOM||this.ERROR_MESSAGE_MAP.set(e,n),this.context.settings&&this.context.settings.customErrorMsgs&&this.context.settings.customErrorMsgs[e]&&(n=this.context.settings.customErrorMsgs[e]),n},FieldValidation.getEventEndTimeMessage=function(){return"Event end date must not precede event start date"},FieldValidation.getRequiredMessage=function(e){return"Enter "+e},FieldValidation.getMinLengthMessage=function(e){return"Enter at least "+e+" characters"},FieldValidation.getMaxLengthMessage=function(e){return"Your text must be less than "+e+" characters"},FieldValidation.getMinValueMessage=function(e){return"Enter a value above "+e},FieldValidation.getMaxValueMessage=function(e){return"Enter a value below "+e},FieldValidation.getDigitsLimitMessage=function(e){return"Your number must be less than "+e+" digits"},FieldValidation.getMaxIntegerMessage=function(e){return"Enter a number below "+e},FieldValidation.getValueRangeMessage=function(e,t){return"Enter a number within the range of "+t+" and "+e},FieldValidation.getPatternMessage=function(e,t){switch(t.requiredPattern?t.requiredPattern:"custom"){case s.INT_NUMBER_REGEX:return"Enter an integer number";case Object(s.DECIMAL_NUMBER_REGEX)(e.settings.decimalPlaces):return"Enter a number with up to "+e.settings.decimalPlaces+" digits after the decimal point";default:return e.settings.title?"Enter valid "+e.settings.title:r.stringConstants.EMPTY_STRING}},FieldValidation.getUrlExistsMessage=function(){return"The URL already exists"},FieldValidation.getUrlExistsMessageSpecific=function(){return"The URL marked in red already exists"},FieldValidation.getUrlExistsMessageMany=function(){return"The URLs marked in red already exist"},FieldValidation.getUnknownErrorMessage=function(e,t){if(t){for(var n=0,o=["message","Message"];n=n)return null;var i={};return i[o]={requiredLength:n},i}},MinLengthValidator}()},function(e,t,n){"use strict";n.r(t),n.d(t,"VALUE_RANGE_VALIDATOR_NAME",(function(){return i})),n.d(t,"ValueRangeValidator",(function(){return r}));var o=n(245),i="valueRange",r=function(){function ValueRangeValidator(){}return ValueRangeValidator.validate=function(e){return function(t){if(Object(o.isNullOrEmpty)(t.value))return null;var n,i,r=+t.value;return e.max&&(i=+e.max),e.min&&(n=+e.min),n&&i?r>=n&&r<=i?null:{valueRange:{maxValue:i,minValue:n}}:n?r>=n?null:{minValue:{requiredMinValue:n}}:i?r<=i?null:{maxValue:{requiredMaxValue:i}}:void 0}},ValueRangeValidator}()},function(e,t,n){"use strict";n.r(t),n.d(t,"URL_PATTERN_VALIDATOR_NAME",(function(){return r})),n.d(t,"MultipleUrlsPatternValidator",(function(){return a}));var o=n(324),i=n(342),r="urlPattern",a=function(){function MultipleUrlsPatternValidator(){}return MultipleUrlsPatternValidator.validate=function(e){return function(t){var n,r=[],a=!1;return t.value?(t.value.forEach((function(t){var n={value:t};o.Validators.pattern(e)(n)&&(r[t]="pattern",a=!0)})),a?((n={})[i.CUSTOM_ERROR_PREFIX+i.VALIDATOR_MESSAGES.CUSTOM_ERRORS]=r,n):null):null}},MultipleUrlsPatternValidator}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CUSTOM_ERROR_PREFIX",(function(){return o})),n.d(t,"VALIDATOR_MESSAGES",(function(){return i}));var o="sfc-",i={INVALID_NUMBER:"invalidnumber",URL_EXIST:"urlexists",URL_EXIST_SPECIFIC:"urlexistsspecific",URL_EXIST_MANY:"urlexistsmany",CUSTOM_ERRORS:"customErrors",UPLOAD_FAILED:"Upload Failed",REQUIRED_FIELD:"requiredfield",TAXONOMY_NAME_DUPLICATE:"taxonomynameduplicate",TITLE_EXISTS:"titleexists"}},function(e,t,n){"use strict";n.r(t),n.d(t,"DIGITS_LIMIT_VALIDATOR_NAME",(function(){return o})),n.d(t,"DigitsLimit",(function(){return i}));var o="digitsLimit",i=function(){function DigitsLimit(){}return DigitsLimit.validate=function(e){return function(t){if(!t.value)return null;if(t.value.toString().length<=e)return null;var n={};return n[o]={requiredLength:e},n}},DigitsLimit}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SAFE_INTEGER_VALIDATOR_NAME",(function(){return i})),n.d(t,"MaxInteger",(function(){return r}));var o=n(246),i="safeInteger",r=function(){function MaxInteger(){}return MaxInteger.validate=function(){return function(e){if(!e.value)return null;var t,n=+e.value;return n>=o.MAX_INTEGER?((t={})[i]={maxIntegerValue:o.MAX_INTEGER},t):n<=-o.MAX_INTEGER?((t={})[i]={minIntegerValue:-o.MAX_INTEGER},t):null}},MaxInteger}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DATE_RANGE_VALIDATOR_NAME",(function(){return i})),n.d(t,"DateRangeValidator",(function(){return r}));var o=n(257),i="dateRange",r=function(){function DateRangeValidator(){}return DateRangeValidator.validate=function(e){return function(t){if(t.value){var n=t.value;if(e.min&&e.min>n)return{minValue:{requiredMinValue:e.min.toLocaleString(o.LOCALE)}};if(e.max&&e.max<=n)return{maxValue:{requiredMaxValue:e.max.toLocaleString(o.LOCALE)}}}return null}},DateRangeValidator}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SCHEDULE_VALIDATOR_NAME",(function(){return o})),n.d(t,"MISSING_PUB_UNPUB_VALUES",(function(){return i})),n.d(t,"INVALID_EXPIRATION_DATE",(function(){return r})),n.d(t,"ScheduleValidator",(function(){return a}));var o="schedule",i="missingPubUnpubValues",r="invalidExpDate",a=function(){function ScheduleValidator(){}return ScheduleValidator.isValidEndDate=function(e,t){return!(e&&t&&e.value&&t.value&&new Date(t.value).getTime()0?DECIMAL_NUMBER_REGEX(t[s.VALIDATION_DECIMAL_PLACES]):A,o.push(i.Validators.pattern(n)),o.push(a.VALIDATORS[a.VALIDATOR_NAMES.DIGITS_LIMIT](16)),o.push(a.VALIDATORS[a.VALIDATOR_NAMES.MAX_INTEGER]()),o},NumberSettings}(r.SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"INVALID_EVENT_END_DATE",(function(){return i})),n.d(t,"EventsDateTimeValidator",(function(){return r}));var o=n(350),i="invalidEventEnd",r=function(){function EventsDateTimeValidator(){}return EventsDateTimeValidator.validate=function(e){var t,n=e.controls[o.EVENT_PROPERTIES.EVENT_START],r=e.controls[o.EVENT_PROPERTIES.EVENT_END];if(n&&r){var a=n.value,s=r.value;if(a&&s){var A=new Date(a),l=new Date(s),c=e.controls[o.EVENT_PROPERTIES.ALL_DAY_EVENT];if(c&&c.value&&(A.setHours(0,0,0,0),l.setHours(0,0,0,0)),l.getTime()0&&(this.hint=this.getTooltip())},ShortTextDefaultComponent.prototype.generateCssClass=function(){var e="sf-input -title";return this.settings.look&&(e+=" -"+this.settings.look.split(" ").join(" -")),e},ShortTextDefaultComponent.prototype.getTooltip=function(){var e=this.settings.tooltipModels,t=e.has(a.DEFAULT_MARKUP_KEY)?a.DEFAULT_MARKUP_KEY:this.getValue();return e.get(t)},ShortTextDefaultComponent.ɵfac=function ShortTextDefaultComponent_Factory(e){return c(e||ShortTextDefaultComponent)},ShortTextDefaultComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ShortTextDefaultComponent,selectors:[["sf-short-text-default"]],features:[s["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ShortTextDefaultComponent)]),s["ɵɵInheritDefinitionFeature"]],decls:3,vars:7,consts:[["type","title","ngDefaultControl","",3,"name","look","hint","autofocus","readonly","ngModel","placeholder","ngModelChange","onBlur","onFocus"],["defaultField","","inputField",""]],template:function ShortTextDefaultComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"sf-input",0,1),s["ɵɵlistener"]("ngModelChange",(function ShortTextDefaultComponent_Template_sf_input_ngModelChange_0_listener(e){return t.value=e}))("onBlur",(function ShortTextDefaultComponent_Template_sf_input_onBlur_0_listener(){return t.onBlur()}))("onFocus",(function ShortTextDefaultComponent_Template_sf_input_onFocus_0_listener(){return t.onFocus()})),s["ɵɵelementEnd"]()),2&e&&s["ɵɵproperty"]("name",t.shortTextSettings.key)("look",t.shortTextSettings.look)("hint",t.hint)("autofocus",!t.shortTextSettings.readOnlyMode&&t.shortTextSettings.shouldBeFocusedByDefault)("readonly",t.shortTextSettings.readOnlyMode)("ngModel",t.value)("placeholder",t.shortTextSettings.placeholder||t.shortTextSettings.title)},directives:[a.SfInputComponent,A.DefaultValueAccessor,A.NgControlStatus,A.NgModel],encapsulation:2}),ShortTextDefaultComponent}(i.ShortTextComponent),c=s["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"MIRROR_FIELD_SETTING_KIND",(function(){return c})),n.d(t,"ShortTextSettings",(function(){return d})),n.d(t,"isMirrorFieldSettings",(function(){return isMirrorFieldSettings})),n.d(t,"ShortTextDefaultSettings",(function(){return p}));var o=n(259),i=n(332),r=n(245),a=n(324),s=n(338),A=n(257),l=n(357),c="mirrorFieldSettingsKind",d=function(e){function ShortTextSettings(t,n){var o=e.call(this,t,n)||this;return o.key=t,o.readOnlyMode=n,o.kind=c,o.shouldBeFocusedByDefault=!0,o.shortTextValidatorMap=new Map,o.shortTextValidatorMap.set(A.VALIDATION_REQUIRED,(function(){return o.createPatternValidator(".*\\S.*")})),o.shortTextValidatorMap.set(A.VALIDATION_REGEX,(function(e){return o.createPatternValidator(e)})),o.shortTextValidatorMap.set(A.VALIDATION_MAX_VALUE,(function(e){return a.Validators.maxLength(e)})),o.shortTextValidatorMap.set(A.VALIDATION_MIN_VALUE,(function(e){return s.VALIDATORS[s.VALIDATOR_NAMES.MIN_LENGTH](e)})),o}return Object(o.__extends)(ShortTextSettings,e),ShortTextSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.placeholder=t[l.SHORT_TEXT_PLACEHOLDER],this.unit=t[l.SHORT_TEXT_UNIT],this.unitLook=t[l.SHORT_TEXT_UNIT_LOOK],this.unitPosition=t[l.SHORT_TEXT_UNIT_POSITION]},ShortTextSettings.prototype.getValidators=function(t){var n=e.prototype.getValidators.call(this,t),o=this.getValidatorDictionary(t);for(var i in o)o.hasOwnProperty(i)&&n.push(o[i]);return n},ShortTextSettings.prototype.getValidatorDictionary=function(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&n.includes(A.FIELD_VALIDATION_PREFIX)&&this.shortTextValidatorMap.has(n)){var o=e[n];t[n]=this.shortTextValidatorMap.get(n)(o)}return t},ShortTextSettings.prototype.createPatternValidator=function(e,t){return void 0===t&&(t=!0),"string"==typeof e&&(e=r.RegexHelper.buildRegex(e,"gs")),t&&(e=e.toString().slice(1,-2)),a.Validators.pattern(e)},ShortTextSettings}(i.SettingsBase);function isMirrorFieldSettings(e){return e.kind===c}var p=function(e){function ShortTextDefaultSettings(t,n){var o=e.call(this,t,n)||this;return o.key=t,o.readOnlyMode=n,o.underlineErrors=!0,o}return Object(o.__extends)(ShortTextDefaultSettings,e),ShortTextDefaultSettings}(d)},function(e,t,n){"use strict";n.r(t),n.d(t,"SHORT_TEXT_PLACEHOLDER",(function(){return o})),n.d(t,"SHORT_TEXT_UNIT",(function(){return i})),n.d(t,"SHORT_TEXT_UNIT_LOOK",(function(){return r})),n.d(t,"SHORT_TEXT_UNIT_POSITION",(function(){return a}));var o="placeholder",i="unit",r="unitLook",a="unitPosition"},function(e,t,n){"use strict";n.r(t),n.d(t,"ShortTextGridComponent",(function(){return A}));var o=n(259),i=n(359),r=n(229),a=n(354),s=n(360),A=function(e){function ShortTextGridComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ShortTextGridComponent,e),ShortTextGridComponent.ɵfac=function ShortTextGridComponent_Factory(e){return l(e||ShortTextGridComponent)},ShortTextGridComponent.ɵcmp=r["ɵɵdefineComponent"]({type:ShortTextGridComponent,selectors:[["sf-shorttext-grid"]],features:[r["ɵɵInheritDefinitionFeature"]],decls:2,vars:3,consts:[["sfTextDirection","","sfTextOverflow","",3,"textDirectionValue","trimLength"]],template:function ShortTextGridComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵproperty"]("textDirectionValue",t.value)("trimLength",70),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](t.value))},directives:[a.SfTextDirectionDirective,s.TextOverflowDirective],encapsulation:2}),ShortTextGridComponent}(i.ReadComponent),l=r["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"ReadComponent",(function(){return s}));var o=n(259),i=n(336),r=n(229),a=n(354),s=function(e){function ReadComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ReadComponent,e),ReadComponent.ɵfac=function ReadComponent_Factory(e){return A(e||ReadComponent)},ReadComponent.ɵcmp=r["ɵɵdefineComponent"]({type:ReadComponent,selectors:[["sf-read-only"]],features:[r["ɵɵInheritDefinitionFeature"]],decls:2,vars:2,consts:[["sfTextDirection","",3,"textDirectionValue"]],template:function ReadComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵproperty"]("textDirectionValue",t.value),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](t.value))},directives:[a.SfTextDirectionDirective],encapsulation:2}),ReadComponent}(i.FieldBase),A=r["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"TRIM_LENGTH",(function(){return a})),n.d(t,"MORE_LABEL",(function(){return s})),n.d(t,"LESS_LABEL",(function(){return A})),n.d(t,"TOGGLE_BUTTON_ID_PREFIX",(function(){return l})),n.d(t,"TextOverflowDirective",(function(){return c}));var o=n(229),i=n(246),r=n(361),a=256,s="More",A="Less",l="sfToggleButton",c=function(){function TextOverflowDirective(e){this.element=e,this.trimLength=a,this.isTrimmed=!1}return TextOverflowDirective.prototype.onclick=function(e){e.target.id===this.toggleButtonId&&(e.stopImmediatePropagation(),this.toggleTextOverflow())},TextOverflowDirective.prototype.ngAfterViewInit=function(){if(this.createToggleButton(),this.longValue=this.element.nativeElement.innerText,this.longValue.length>this.trimLength){var e=this.longValue.substr(0,this.longValue.lastIndexOf(i.stringConstants.INTERVAL,this.trimLength)).trim();e.endsWith(i.stringConstants.COMMA)&&(e=e.substring(0,e.length-1)),this.shortValue=e.concat(""+i.stringConstants.INTERVAL+i.stringConstants.ELLIPSIS),this.isTrimmed=!0,this.setText(this.shortValue+" "+this.toggleButton.outerHTML)}},TextOverflowDirective.prototype.toggleTextOverflow=function(){var e;this.isTrimmed?(this.toggleButton.innerText=A,e=this.longValue):(this.toggleButton.innerText=s,e=this.shortValue),this.isTrimmed=!this.isTrimmed,this.setText(e+" "+this.toggleButton.outerHTML)},TextOverflowDirective.prototype.setText=function(e){this.element.nativeElement.innerHTML=e},TextOverflowDirective.prototype.createToggleButton=function(){this.toggleButtonId=""+l+Math.random().toString(),this.toggleButton=document.createElement(r.NODE_NAMES.ANCHOR_ELEMENT),this.toggleButton.id=this.toggleButtonId,this.toggleButton.classList.add("-sf-txt-nowrap"),this.toggleButton.innerText=s},TextOverflowDirective.ɵfac=function TextOverflowDirective_Factory(e){return new(e||TextOverflowDirective)(o["ɵɵdirectiveInject"](o.ElementRef))},TextOverflowDirective.ɵdir=o["ɵɵdefineDirective"]({type:TextOverflowDirective,selectors:[["","sfTextOverflow",""]],hostBindings:function TextOverflowDirective_HostBindings(e,t){1&e&&o["ɵɵlistener"]("click",(function TextOverflowDirective_click_HostBindingHandler(e){return t.onclick(e)}))},inputs:{trimLength:"trimLength"}}),TextOverflowDirective}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SelectorConstants",(function(){return o})),n.d(t,"BUTTON_NAMES",(function(){return i})),n.d(t,"BUTTON_TOOLTIPS",(function(){return r})),n.d(t,"NODE_NAMES",(function(){return a})),n.d(t,"TAG_NAMES",(function(){return s})),n.d(t,"LINK_CONSTANTS",(function(){return A})),n.d(t,"ANCHOR_ATTRIBUTES",(function(){return l})),n.d(t,"TWEET_URL_NAME",(function(){return c})),n.d(t,"PLACEHOLDER_MESSAGE",(function(){return d})),n.d(t,"NOT_SUPPORTED_MESSAGE",(function(){return p})),n.d(t,"TWEET_URL_ATTRIBUTE_NAME",(function(){return f})),n.d(t,"TWEET_BLOCKQUOTE_SELECTOR",(function(){return u})),n.d(t,"TWITTER_WIGDET_SELECTOR",(function(){return m}));var o=function(){function SelectorConstants(){}return SelectorConstants.SF_IMMUTABLE="data-sf-ec-immutable",SelectorConstants.SF_IMMUTABLE_DOCUMENT="data-sf-ec-document-immutable",SelectorConstants.SF_EDITABLE_IMAGE_WRAPPER="sf-editable-image-wrapper",SelectorConstants.SF_IMMUTABLE_SELECTED="sf-immutable-selected",SelectorConstants.SF_HIDDEN="-sf-hidden",SelectorConstants.HORIZONTAL_RULE="Insert a horizontal rule",SelectorConstants.SF_DISABLE_LINK_EVENT="data-sf-disable-link-event",SelectorConstants.INSERT_IMAGE="Insert image",SelectorConstants.INSERT_DOCUMENT="Insert document",SelectorConstants.INSERT_LINK="Insert link",SelectorConstants.DONE="Done",SelectorConstants.USE_SELECTED="Use selected",SelectorConstants.CANCEL="Cancel",SelectorConstants.CLOSE="Close",SelectorConstants.ON_DROP_ATTRIBUTE="ondrop",SelectorConstants.ADD_BUTTON="Add",SelectorConstants.SELECT_BUTTON="Select",SelectorConstants.DISCARD="Discard",SelectorConstants.UPLOAD="Upload",SelectorConstants.BACK="Back",SelectorConstants.ALL_ITEMS="All items",SelectorConstants.SAVE="Save",SelectorConstants.SAVE_ALL_TRANSLATIONS="Save All Translations",SelectorConstants.COPY_LINK="Copy link",SelectorConstants.MOVE="Move",SelectorConstants.MERGE="Merge",SelectorConstants.USE_CURRENTLY_DISPLAYED_FRAME="Use currently displayed frame",SelectorConstants}(),i={EXTERNAL_LINK:"external-link",PENCIL:"pencil",UNLINK:"unlink",LINK:"link",ALIGN_LEFT:"align-left",ALIGN_CENTER:"align-center",ALIGN_RIGHT:"align-right"},r={EXTERNAL_LINK:"Open link",EDIT_LINK:"Edit link",EDIT_DOCUMENT:"Edit document",EDIT_IMAGE:"Edit image",EDIT_EMBED:"Edit embed",UNLINK:"Remove link",ALIGN_LEFT:"Align left",ALIGN_CENTER:"Center",ALIGN_RIGHT:"Align right"},a={DIV_ELEMENT:"DIV",SPAN_ELEMENT:"SPAN",TEXT_AREA_ELEMENT:"TEXTAREA",IMAGE_ELEMENT:"IMG",ANCHOR_ELEMENT:"A",PROGRESS_ELEMENT:"PROGRESS",ICON_ELEMENT:"I",BUTTON_ELEMENT:"BUTTON",LINK_ELEMENT:"LINK",STYLE_ELEMENT:"STYLE",PICTURE:"PICTURE"},s={IFRAME:"iframe"},A={CREATE_LINK_TITLE:"Insert a link",EDIT_LINK_TITLE:"Edit link",ANCHOR_PATTERN:/#[a-z0-9_\-:.]+$/i},l={HREF:"href",TITLE:"title",TARGET:"target",SFREF:"sfref"},c="sf-tweet-url",d="Paste embed code from Twitter, Youtube, Vimeo, SoundCloud, etc.",p="Entered embed code is not supported",f="tweet-url",u="blockquote.twitter-tweet",m="twitterwidget.twitter-tweet"},function(e,t,n){"use strict";n.r(t),n.d(t,"PasswordShortTextSettings",(function(){return i}));var o=n(259),i=function(e){function PasswordShortTextSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(PasswordShortTextSettings,e),PasswordShortTextSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.type="password"},PasswordShortTextSettings}(n(356).ShortTextSettings)},function(e,t,n){"use strict";n.r(t),n.d(t,"TABLE_WIZARD_TITLE",(function(){return v})),n.d(t,"EXPAND_BUTTON_TEXT",(function(){return w})),n.d(t,"COLLAPSE_BUTTON_TEXT",(function(){return _})),n.d(t,"EDITOR_COLLAPSE_HEIGHT",(function(){return x})),n.d(t,"EDITOR_MAIN_EMPTY_HEIGHT",(function(){return y})),n.d(t,"EDITOR_EMPTY_HEIGHT",(function(){return S})),n.d(t,"EDITOR_COLLAPSE_OFFSET_HEIGHT",(function(){return T})),n.d(t,"EDITOR_COLLAPSE_ANIMATION_SPEED",(function(){return Q})),n.d(t,"KENDO_EDITOR_LOAD_TIME",(function(){return P})),n.d(t,"EditorComponent",(function(){return U})),n.d(t,"HtmlHelper",(function(){return L}));var o=n(259),i=n(229),r=n(364),a=n(324),s=n(336),A=n(246),l=n(361),c=n(244),d=n(365),p=n(366),f=n(367),u=n(368),m=n(369),g=n(11),E=n(370),h=n(315),b=n(371),C=n(374),B=n(354),k=n(261),I=["editorHost"],_c1=function(e){return{"-collapsed":e}};function EditorComponent_a_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"a",3),i["ɵɵlistener"]("click",(function EditorComponent_a_2_Template_a_click_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().toggleExpandButton()})),i["ɵɵelementStart"](1,"span",4),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](3,_c1,o.isCollapsed)),i["ɵɵattribute"]("title",o.isCollapsed?"Expand":"Collapse"),i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](o.isCollapsed?o.expandButtonText:o.collapseButtonText)}}var v="Table wizard",w="Expand full content",_="Collapse content",x=450,y=300,S=150,T=x+6,M={provide:a.NG_VALUE_ACCESSOR,useExisting:Object(i.forwardRef)((function(){return U})),multi:!0},D=A.stringConstants.EMPTY_STRING,Q=500,N=/id=\"Wrapper/g,R="Delete",F="Backspace",O='',P=100,U=function(e){function EditorComponent(t,n,o,r,a,s,l,c,d){var p=e.call(this)||this;return p.editorConfigProvider=n,p.windowProvider=o,p.scrollService=r,p.adminAppConfigService=a,p.externalStyleSheetService=s,p.renderer=l,p.compositeMediaParser=c,p.zone=d,p.blur=new i.EventEmitter,p.select=new i.EventEmitter,p.contentKeydown=new i.EventEmitter,p.contentKeyup=new i.EventEmitter,p.load=new i.EventEmitter,p.deletedUploadingImage=new i.EventEmitter,p.retryUploadingImage=new i.EventEmitter,p.selectionChange=new i.EventEmitter,p.editImage=new i.EventEmitter,p.serializedImmutables=new i.EventEmitter,p.deselectImmutables=new i.EventEmitter,p.isReady$=new g.Subject,p.isCollapsed=!0,p.isExpandButtonVisible=!1,p.expandButtonText=w,p.collapseButtonText=_,p.initialValue=D,p.shouldFocusEditor=!1,p.editorNS=kendo.ui.editor,p.EditorNS=kendo.ui.Editor,p.deleteUploads=[],p.hasSelectedImmutable=!1,p.valueToWriteFirst=A.stringConstants.EMPTY_STRING,p.isValueSetForFirstTime=!0,p.isFirstUserInput=!1,p.shouldTriggerValueChange=!1,p.tweets={},p.element=t,p}return Object(o.__extends)(EditorComponent,e),EditorComponent.prototype.ngOnInit=function(){var e=this,t=this.adminAppConfigService.externalConfig;this.externalConfig=t&&t.editorSettings?t.editorSettings:{};var n=this.windowProvider.setInterval((function(){!e.kendoEditor&&e.element.nativeElement.offsetParent&&e.externalConfig?(e.setupKendoEditor(),e.isReady$.next(!0)):e.kendoEditor&&(e.writeValue(e.valueToWriteFirst),e.valueToWriteFirst!==D&&e.checkContentCollapse(),e.windowProvider.clearInterval(n))}),P)},EditorComponent.prototype.respondToVisibility=function(){var e=this;this.visibilityObserver=new IntersectionObserver((function(t){1===t.length&&(t[0].intersectionRatio>0?(e.shouldFocusEditor&&e.focus(),e.shouldFocusEditor=!1,e.editorComponentConfig&&e.editorComponentConfig.alwaysShowToolbar&&e.renderer.removeClass(e.windowProvider.document.body,"-sf-editor-hidden")):e.editorComponentConfig&&e.editorComponentConfig.alwaysShowToolbar&&e.renderer.addClass(e.windowProvider.document.body,"-sf-editor-hidden"))})),this.visibilityObserver.observe(this.editorHostRef.nativeElement)},EditorComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.visibilityObserver&&this.visibilityObserver.disconnect(),this.windowProvider.document.body.classList.contains("-sf-editor-hidden")&&this.renderer.removeClass(this.windowProvider.document.body,"-sf-editor-hidden"),this.kendoEditor&&this.kendoEditor.destroy(),this.externalStyleSheetService.destroyExternalStyleSheets()},EditorComponent.prototype.inserthtml=function(e){this.isFirstUserInput=!0,this.kendoEditor.exec("inserthtml",e)},EditorComponent.prototype.insertUncleanedHtml=function(e){e=e.value||e,this.inserthtml({value:A.stringConstants.INTERVAL}),this.triggerValueChanged(),this.inserthtml({value:e,skipCleaners:!0})},EditorComponent.prototype.insertEmbed=function(e){this.storeTweetsFromValue(e),this.insertUncleanedHtml(e)},EditorComponent.prototype.unlink=function(e){this.kendoEditor.exec("unlink"),this.triggerValueChanged()},EditorComponent.prototype.focus=function(){this.kendoEditor.focus(),this.checkContentCollapse(!1)},EditorComponent.prototype.getValue=function(){return this.kendoEditor?this.kendoEditor.value():this.initialValue},EditorComponent.prototype.writeValue=function(e){if(this.valueToWriteFirst=e,this.kendoEditor&&null!=e){var t=this.initialValue===D,n=this.initialValue!==e;this.kendoEditor.value(e),this.initialValue=this.kendoEditor.value(),this.load.emit(this),n&&!t&&this.serializedImmutables.emit(this.initialValue),this.isFirstUserInput=!1,this.isValueSetForFirstTime&&(this.storeTweetsFromValue(e),this.isValueSetForFirstTime=!1),this.compositeMediaParser.initEmbeddedData()}},EditorComponent.prototype.postProcessValue=function(e){if(!e)return e;var t=e;return t=this.replaceTweetWidget(t),t=this.handleNonBreakingSpaces(t)},EditorComponent.prototype.preProcessValue=function(e){if(!e)return e;var t=e,n=e;return this.getTweets(e).forEach((function(e){n=n.replace(e,A.stringConstants.EMPTY_STRING)})),L.getElementsByTag(n,l.NODE_NAMES.ANCHOR_ELEMENT).forEach((function(e){if(!(e.indexOf(l.SelectorConstants.SF_IMMUTABLE)>-1)){var n=L.insertTextAtFirstEmptyPosition(e,l.SelectorConstants.SF_IMMUTABLE+'=""');t=t.replace(e,n)}})),L.getElementsByTag(n,l.NODE_NAMES.IMAGE_ELEMENT,!0).forEach((function(e){if(!(e.indexOf(l.SelectorConstants.SF_IMMUTABLE)>-1)){var n=L.insertTextAtFirstEmptyPosition(e,l.SelectorConstants.SF_IMMUTABLE+'=""');t=t.replace(e,n)}})),this.initialValue=t,t},EditorComponent.prototype.onEdit=function(){this.editImage.emit()},EditorComponent.prototype.getCurrentRange=function(){return this.kendoEditor.getRange()},EditorComponent.prototype.setCurrentRange=function(e){this.kendoEditor.selectRange(e)},EditorComponent.prototype.checkContentCollapse=function(e){void 0===e&&(e=!0);var t=this.editorHostRef.nativeElement.scrollHeight>T,n=this.editorComponentConfig&&void 0!==this.editorComponentConfig.collapsible?this.editorComponentConfig.collapsible&&t:t;n&&(this.collapseAnimationState="closed",this.isCollapsed=e),this.isExpandButtonVisible=n},EditorComponent.prototype.embedValueChanged=function(){this.isFirstUserInput=!0,this.triggerValueChanged(),this.compositeMediaParser.initEmbeddedData()},EditorComponent.prototype.delete=function(e){if(e&&e.parentElement){var t=new this.editorNS.RestorePoint(this.kendoEditor.getRange(),this.kendoEditor.body);Object(p.removeTrailingBreaks)(e),e.parentElement.removeChild(e),this.pushCurrentStateInUndoRedo(t)}},EditorComponent.prototype.removeUndoRedoCommand=function(e,t){var n="Wrapper"+e,o=this.kendoEditor.undoRedoStack.stack.length,i=this.kendoEditor.undoRedoStack.stack[this.kendoEditor.undoRedoStack.stack.length-1].startRestorePoint.html,r=t||L.findElementById(i,n);this.updateUndoRedoStack(0,n,o,!0,r)},EditorComponent.prototype.toggleExpandButton=function(){if(this.isCollapsed=!this.isCollapsed,this.isCollapsed){var e=this.editorHostRef.nativeElement.getBoundingClientRect(),t=document.documentElement.scrollTop-Math.abs(e.top)-150;this.scrollService.scrollToPoint(t,Q)}else this.focus()},EditorComponent.prototype.getSelectedText=function(){var e={range:this.kendoEditor.getRange(),body:this.kendoEditor.body,immutables:this.kendoEditor.immutables};this.editorNS.Command.fn.init(e);var t=this.editorNS.Command.fn.lockRange(!0),n=this.editorNS.RangeUtils.textNodes(t);return{selectedText:this.editorNS.LinkCommand.fn.linkText(n),selectedTextWrapper:this.getMarkedText(t.commonAncestorContainer.innerHTML),range:t}},EditorComponent.prototype.cleanMarkers=function(e){var t=new RegExp(O,"g");return e.replace(t,A.stringConstants.EMPTY_STRING)},EditorComponent.prototype.getMarkedText=function(e,t){if(void 0===t&&(t=!1),!e)return null;var n=e.indexOf(O),o=e.lastIndexOf(O);return n<0?null:t?e.substring(n,o+O.length):e.substring(n+O.length,o)},EditorComponent.prototype.getHtmlCode=function(){this.kendoEditor.options.serialization.immutables=this.kendoEditor.immutables;var e=this.kendoEditor.value();return this.kendoEditor.options.serialization.immutables=void 0,e},EditorComponent.prototype.executeInDeserializationZone=function(e){this.kendoEditor.options.deserialization.immutables=void 0,e(),this.kendoEditor.options.deserialization.immutables=this.kendoEditor.immutables},EditorComponent.prototype.onContentClick=function(e){if(this.mousePosition={x:e.clientX,y:e.clientY},e.target){var t=e.target.getAttribute("data");if(t&&e.target.nodeName===l.NODE_NAMES.BUTTON_ELEMENT){(n=document.getElementById(t))&&(this.deleteUploads.push(t),Object(p.removeTrailingBreaks)(n),n.remove(),this.triggerValueChanged(),this.updateUndoRedoStack(0,t))}else{var n;if(t&&e.target.nodeName===l.NODE_NAMES.ANCHOR_ELEMENT)return(n=e.target.parentElement.parentElement)&&(Object(p.removeTrailingBreaks)(n),n.remove(),this.triggerValueChanged()),void this.retryUploadingImage.emit(t);var o=e.target;this.select.emit({selectedElement:o,parentPosition:this.kendoEditor.body.getBoundingClientRect(),mousePosition:this.mousePosition}),this.mousePosition=null,this.triggerValueChanged(),this.onTouchedCallback()}}},EditorComponent.prototype.onContentKeydown=function(e){this.contentKeydown.emit(e)},EditorComponent.prototype.onContentKeyup=function(e){this.contentKeyup.emit(e)},EditorComponent.prototype.onTableWizardOpen=function(){this.kendoEditor.exec("tableWizard");var e=document.querySelector(".k-editor-table-wizard-dialog");e.classList.add("sf-form","-medium","-sf-centered-box");var t=jQuery(e).data("kendoWindow"),n=e.querySelector(".k-dialog-ok"),o=e.querySelector(".k-dialog-close");n.innerHTML=l.SelectorConstants.DONE,t.setOptions({draggable:!1,title:v}),t.maximize(),[n,o].forEach((function(e){e.addEventListener("click",(function(){t.close()}))}))},EditorComponent.prototype.onDrop=function(e){e.preventDefault(),e.stopImmediatePropagation()},EditorComponent.prototype.justifyLeft=function(e){this.triggerJustifyCommand(f.KENDO_ALIGN_COMMANDS.LEFT,e)},EditorComponent.prototype.justifyCenter=function(e){this.triggerJustifyCommand(f.KENDO_ALIGN_COMMANDS.CENTER,e)},EditorComponent.prototype.justifyRight=function(e){this.triggerJustifyCommand(f.KENDO_ALIGN_COMMANDS.RIGHT,e)},EditorComponent.prototype.getActiveAlignToolName=function(e){var t=e;Object(p.isImageHyperlink)(e)&&(t=e.parentElement);var n=null;return t.classList.contains("-"+l.BUTTON_NAMES.ALIGN_LEFT)&&(n=l.BUTTON_NAMES.ALIGN_LEFT),t.classList.contains("-"+l.BUTTON_NAMES.ALIGN_RIGHT)&&(n=l.BUTTON_NAMES.ALIGN_RIGHT),t.classList.contains("-"+l.BUTTON_NAMES.ALIGN_CENTER)&&(n=l.BUTTON_NAMES.ALIGN_CENTER),n},EditorComponent.prototype.triggerUserValueChanged=function(e){void 0===e&&(e=!0),this.isFirstUserInput=!0,this.triggerValueChanged(e)},EditorComponent.prototype.hideToolbar=function(){this.kendoEditor.toolbar.hide()},EditorComponent.prototype.triggerValueChanged=function(e){void 0===e&&(e=!0);var t=this.kendoEditor.value();e&&this.checkContentCollapse(!1),this.initialValue!==t&&this.isFirstUserInput&&(this.initialValue=t,this.onChangeCallback(t))},EditorComponent.prototype.handleDeletedUploads=function(){var e=this;this.deleteUploads.length>0&&(this.deleteUploads.forEach((function(t){e.updateUndoRedoStack(0,t)})),this.deleteUploads=[],this.triggerValueChanged())},EditorComponent.prototype.updateUndoRedoStack=function(e,t,n,o,i){var r;this.deletedUploadingImage.emit(t.slice(7));for(var a=n||this.kendoEditor.undoRedoStack.stack.length,s=e;s0){r=L.findElementById(A.restorePoint.html,t);var c=o?A.restorePoint.html.replace(r,i):A.restorePoint.html.slice(0,l)+A.restorePoint.html.slice(l+r.length);A.restorePoint.html=c}}else{var d=L.findIdStartingIndex(A.startRestorePoint.html,"id",t),p=L.findIdStartingIndex(A.endRestorePoint.html,"id",t);if(d>0){r=L.findElementById(A.startRestorePoint.html,t);c=o?A.startRestorePoint.html.replace(r,i):A.startRestorePoint.html.slice(0,d)+A.startRestorePoint.html.slice(d+r.length);A.startRestorePoint.html=c}if(p>0){r=L.findElementById(A.endRestorePoint.html,t);var f=A.endRestorePoint.html;A.endRestorePoint=A.startRestorePoint;c=o?A.endRestorePoint.html.replace(r,i):f.slice(0,p)+f.slice(p+r.length);A.endRestorePoint.html=c}}this.kendoEditor.undoRedoStack.stack[s]=A}},EditorComponent.prototype.hasDifference=function(e,t,n){return(e.match(n)||[]).length!==(t.match(n)||[]).length},EditorComponent.prototype.pushCurrentStateInUndoRedo=function(e){this.inserthtml(A.stringConstants.EMPTY_STRING),this.triggerValueChanged()},EditorComponent.prototype.processCustomTools=function(e,t){e.sort((function(e,t){return void 0===e.ordinal?-1:void 0===t.ordinal?1:e.ordinal-t.ordinal})).forEach((function(e){var n={name:e.name,tooltip:e.tooltip,template:e.template,exec:function(t){t.preventDefault(),t.stopPropagation(),e.exec()}},o=t.indexOf(e.name);o>-1&&(void 0===e.ordinal&&(e.ordinal=o),t.splice(o,1)),void 0!==e.ordinal?t.splice(e.ordinal,0,n):t.push(n)}))},EditorComponent.prototype.setupKendoEditor=function(){var e,t=this,n=this.editorConfigProvider.getToolBarItems(jQuery(this.editorHostRef.nativeElement)),i=this.editorConfigProvider.getToolBarItemsNamesToRemove();i=i||[];var r=this.getToolsNames().filter((function(e){return-1===i.indexOf(e)}));this.customTools?(this.customTools=this.customTools.filter((function(e){return-1!==r.indexOf(e.name)})),this.customTools=this.customTools.filter((function(e){return-1===i.indexOf(e.name)})),(e=this.customTools).push.apply(e,n)):this.customTools=n,this.customTools&&this.processCustomTools(this.customTools,r);var a,s={tools:r,pasteCleanup:{all:!1,css:!0,keepNewLines:!1,msAllFormatting:!1,msConvertLists:!0,msTags:!0,none:!1,span:!0},resizable:{content:!0,toolbar:!0},serialization:{semantic:!0},immutables:!0,keydown:function(e){!t.hasSelectedImmutable||e.key!==F&&e.key!==R||e.stopPropagation()},keyup:function(){t.isFirstUserInput=!0,t.triggerValueChanged()},paste:function(e){var n=e.html;t.storeTweetsFromValue(n),e.html=A.stringConstants.EMPTY_STRING,t.tryRecognizePaste(n).then((function(e){e||(t.inserthtml({value:n}),t.triggerValueChanged())}))},change:function(){t.triggerUserValueChanged(),t.blur.emit(t)},execute:function(e){t.onEditorCommandExecute(e.name,e)},select:function(){t.shouldTriggerValueChange&&(t.triggerUserValueChanged(),t.shouldTriggerValueChange=!1)},culture:this.culture};(s=Object(o.__assign)(Object(o.__assign)({},s),this.externalConfig)).tools=r,s=this.editorConfigProvider.configureEditor(s),this.zone.runOutsideAngular((function(){a=jQuery(t.editorHostRef.nativeElement).kendoEditor(s)})),this.kendoEditor=a.getKendoEditor();var l=this.kendoEditor.toolbar.element;Object(E.groupToolbarButtons)(l,".k-i-table-properties",".k-i-table-insert"),Object(E.groupToolbarButtons)(l,".k-i-embed",".k-i-image"),Object(E.groupToolbarButtons)(l,".k-i-insert-document",".k-i-image");var c=this;this.kendoEditor.undoRedoStack.bind("redo",(function(e){c.handleDeletedUploads()})),this.kendoEditor.undoRedoStack.bind("undo",(function(e){c.handleDeletedUploads();var t=e.command;if(t.startRestorePoint&&t.endRestorePoint&&c.hasDifference(t.startRestorePoint.html,t.endRestorePoint.html,N)){var n=L.findFirstDifferentWrapperId(t.startRestorePoint.html,t.endRestorePoint.html),o=-1!==t.endRestorePoint.html.indexOf(" .k-header,\n.k-panel > .k-header {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n margin: -4px -8px 4px;\n padding: 8px 8px;\n}\n.k-content {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-state-disabled,\n.k-widget[disabled],\n.k-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-state-disabled .k-link,\n.k-state-disabled .k-button,\n.k-widget[disabled] .k-link,\n.k-widget[disabled] .k-button,\n.k-disabled .k-link,\n.k-disabled .k-button {\n cursor: default;\n outline: 0;\n}\n.k-state-disabled [disabled],\n.k-state-disabled .k-state-disabled,\n.k-widget[disabled] [disabled],\n.k-widget[disabled] .k-state-disabled,\n.k-disabled [disabled],\n.k-disabled .k-state-disabled {\n opacity: 1;\n filter: grayscale(0);\n}\n.k-hr {\n margin: 1em auto;\n padding: 0;\n height: 0;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: rgba(0, 0, 0, 0.08);\n display: block;\n float: none;\n clear: both;\n}\n.k-d-flex-row > .k-hr, .k-columnset > .k-hr, .k-hbox > .k-hr {\n margin: 0;\n width: 0;\n height: auto;\n border-width: 0 0 0 1px;\n flex: 0 0 auto;\n}\n.k-d-flex-col > .k-hr, .k-rowset > .k-hr, .k-vbox > .k-hr {\n margin: 0;\n flex: 0 0 auto;\n}\n.k-dirty {\n margin: 0;\n padding: 0;\n width: 0;\n height: 0;\n border-width: 3px;\n border-style: solid;\n border-color: #f31700 #f31700 transparent transparent;\n position: absolute;\n top: 0;\n right: 0;\n}\n[dir=rtl] .k-dirty,\n.k-rtl .k-dirty {\n border-color: transparent transparent #f31700 #f31700;\n right: auto;\n left: 0;\n}\n.k-placeholder-line {\n width: 100%;\n height: 10px;\n background-color: rgba(0, 0, 0, 0.1);\n display: inline-block;\n}\n.k-drop-hint {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n z-index: 1000;\n transform: translate(-50%, -50%);\n}\n.k-drop-hint-start,\n.k-drop-hint-end {\n flex-shrink: 0;\n border-width: 4px;\n border-style: solid;\n border-color: transparent;\n}\n.k-drop-hint-line {\n flex-grow: 1;\n background-color: #38ab63;\n}\n.k-drop-hint-h .k-drop-hint-start {\n border-left-width: 6.9282032304px;\n border-left-color: #38ab63;\n border-right-width: 0;\n}\n.k-drop-hint-h .k-drop-hint-line {\n width: 20px;\n height: 1px;\n}\n.k-drop-hint-h .k-drop-hint-end {\n border-right-width: 6.9282032304px;\n border-right-color: #38ab63;\n border-left-width: 0;\n}\n.k-drop-hint-v {\n flex-direction: column;\n}\n.k-drop-hint-v .k-drop-hint-start {\n border-top-width: 6.9282032304px;\n border-top-color: #38ab63;\n border-bottom-width: 0;\n}\n.k-drop-hint-v .k-drop-hint-line {\n width: 1px;\n height: 20px;\n}\n.k-drop-hint-v .k-drop-hint-end {\n border-bottom-width: 6.9282032304px;\n border-bottom-color: #38ab63;\n border-top-width: 0;\n}\n.k-animation-container {\n position: absolute;\n overflow: hidden;\n z-index: 100;\n}\n.k-animation-container-fixed {\n position: fixed;\n}\n.k-animation-container-relative {\n position: relative;\n display: inline-block;\n}\n.k-push-right-enter, .k-push-right-appear {\n transform: translate(-100%, 0);\n}\n.k-push-right-enter-active, .k-push-right-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-right-exit {\n transform: translate(0, 0);\n}\n.k-push-right-exit-active {\n transform: translate(100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-enter, .k-push-left-appear {\n transform: translate(100%, 0);\n}\n.k-push-left-enter-active, .k-push-left-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-exit {\n transform: translate(0, 0);\n}\n.k-push-left-exit-active {\n transform: translate(-100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-enter, .k-push-down-appear {\n transform: translate(0, -100%);\n}\n.k-push-down-enter-active, .k-push-down-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-exit {\n transform: translate(0, 0);\n}\n.k-push-down-exit-active {\n transform: translate(0, 100%);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-enter, .k-push-up-appear {\n transform: translate(0, 100%);\n}\n.k-push-up-enter-active, .k-push-up-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-exit {\n transform: translate(0, 0);\n}\n.k-push-up-exit-active {\n transform: translate(0, -100%);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-enter, .k-expand-vertical-appear {\n transform: scaleY(0);\n}\n.k-expand-vertical-enter-active, .k-expand-vertical-appear-active {\n transform: scaleY(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-exit {\n transform: scaleY(1);\n}\n.k-expand-vertical-exit-active {\n transform: scaleY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-enter, .k-expand-horizontal-appear {\n transform: scaleX(0);\n}\n.k-expand-horizontal-enter-active, .k-expand-horizontal-appear-active {\n transform: scaleX(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-exit {\n transform: scaleX(1);\n}\n.k-expand-horizontal-exit-active {\n transform: scaleX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-fade-enter, .k-fade-appear {\n opacity: 0;\n}\n.k-fade-enter-active, .k-fade-appear-active {\n opacity: 1;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit {\n opacity: 1;\n}\n.k-fade-exit-active {\n opacity: 0;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit-active + .k-fade-exit-active, .k-fade-enter-active + .k-fade-enter-active {\n display: none;\n}\n.k-zoom-in-enter, .k-zoom-in-appear {\n opacity: 0;\n transform: scale(0);\n}\n.k-zoom-in-enter-active, .k-zoom-in-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-in-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-in-exit-active {\n opacity: 0;\n transform: scale(2);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-enter, .k-zoom-out-appear {\n opacity: 0;\n transform: scale(2);\n}\n.k-zoom-out-enter-active, .k-zoom-out-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-out-exit-active {\n opacity: 0;\n transform: scale(0);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-slide-in-appear {\n opacity: 0.1;\n transform: translate(0, -3em);\n}\n.k-slide-in-appear .k-centered {\n transform: translate(-50%, -60%);\n}\n.k-slide-in-appear-active {\n opacity: 1;\n transform: translate(0, 0);\n transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1), opacity 0.3s cubic-bezier(0.2, 1, 0.2, 1);\n}\n.k-slide-in-appear-active .k-centered {\n transform: translate(-50%, -50%);\n}\n.k-slide-down-enter, .k-slide-down-appear {\n transform: translateY(-100%);\n}\n.k-slide-down-enter-active, .k-slide-down-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-down-exit {\n transform: translateY(0);\n}\n.k-slide-down-exit-active {\n transform: translateY(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-enter, .k-slide-up-appear {\n transform: translateY(100%);\n}\n.k-slide-up-enter-active, .k-slide-up-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-exit {\n transform: translateY(0);\n}\n.k-slide-up-exit-active {\n transform: translateY(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-enter, .k-slide-right-appear {\n transform: translateX(-100%);\n}\n.k-slide-right-enter-active, .k-slide-right-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-exit {\n transform: translateX(0);\n}\n.k-slide-right-exit-active {\n transform: translateX(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-enter, .k-slide-left-appear {\n transform: translateX(100%);\n}\n.k-slide-left-enter-active, .k-slide-left-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-exit {\n transform: translateX(0);\n}\n.k-slide-left-exit-active {\n transform: translateX(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-reveal-vertical-enter, .k-reveal-vertical-appear {\n max-height: 0;\n}\n.k-reveal-vertical-enter-active, .k-reveal-vertical-appear-active {\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-vertical-exit-active {\n max-height: 0 !important;\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-horizontal-enter, .k-reveal-horizontal-appear {\n max-width: 0;\n}\n.k-reveal-horizontal-enter-active, .k-reveal-horizontal-appear-active {\n transition: max-width 300ms ease-in-out;\n}\n.k-reveal-horizontal-exit-active {\n max-width: 0 !important;\n transition: max-width 300ms ease-in-out;\n}\n.k-fx-end .k-fx-next,\n.k-fx-end .k-fx-current {\n transition: all 350ms ease-out;\n}\n.k-fx {\n position: relative;\n}\n.k-fx .k-fx-current {\n z-index: 0;\n}\n.k-fx .k-fx-next {\n z-index: 1;\n}\n.k-fx-hidden,\n.k-fx-hidden * {\n visibility: hidden !important;\n}\n.k-fx-reverse .k-fx-current {\n z-index: 1;\n}\n.k-fx-reverse .k-fx-next {\n z-index: 0;\n}\n.k-fx-zoom.k-fx-start .k-fx-next {\n transform: scale(0) !important;\n}\n.k-fx-zoom.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next, .k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current {\n transform: scale(0) !important;\n}\n.k-fx-fade.k-fx-start .k-fx-next {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-fade.k-fx-end .k-fx-next {\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current {\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-content, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer, .k-fx-slide.k-fx-end .k-fx-current .km-content, .k-fx-slide.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-end .k-fx-current .km-footer {\n transition: all 350ms ease-out;\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-start .k-fx-next .km-content {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-start .k-fx-next .km-footer {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer {\n opacity: 0;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0%);\n}\n.k-fx-tile.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0%);\n}\n.k-fx.k-fx-overlay.k-fx-start .k-fx-next, .k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next {\n transform: translateY(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next {\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current, .k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current {\n transform: translateY(-100%);\n}\n.k-drag-clue {\n border-radius: 0;\n padding: 4px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 13px;\n font-family: inherit;\n line-height: 1.4285714286;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n align-content: center;\n white-space: nowrap;\n overflow: hidden;\n position: absolute;\n z-index: 20000;\n cursor: move;\n}\n.k-drag-status,\n.k-drag-clue .k-drag-status {\n margin: 0;\n margin-right: 0.4ex;\n}\n.k-drag-clue {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-reorder-cue {\n position: absolute;\n}\n.k-reorder-cue::before, .k-reorder-cue::after {\n content: "";\n width: 0;\n height: 0;\n border: 3px solid transparent;\n position: absolute;\n transform: translateX(-50%);\n}\n.k-reorder-cue::before {\n border-bottom-width: 0;\n border-top-color: currentColor;\n top: -4px;\n}\n.k-reorder-cue::after {\n border-top-width: 0;\n border-bottom-color: currentColor;\n bottom: -4px;\n}\n.k-loading {\n width: 64px;\n height: 64px;\n display: block;\n}\n.k-loading .animate {\n -webkit-animation: loading 2s infinite linear;\n animation: loading 2s infinite linear;\n}\n.k-loading-mask,\n.k-loading-image,\n.k-loading-color {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.k-loading-mask {\n z-index: 100;\n}\n.k-loading-mask.k-opaque .k-loading-color {\n opacity: 1;\n}\n.k-loading-text {\n text-indent: -4000px;\n text-align: center;\n position: absolute;\n}\n.k-loading-image {\n z-index: 2;\n}\n.k-loading-color {\n background-color: #ffffff;\n opacity: 0.3;\n}\n.k-i-loading {\n position: relative;\n background-color: transparent;\n box-sizing: border-box;\n color: currentColor;\n}\n.k-i-loading::before,\n.k-i-loading::after,\n.k-loading-image::before,\n.k-loading-image::after {\n position: absolute;\n top: 50%;\n left: 50%;\n display: inline-block;\n content: "";\n box-sizing: inherit;\n border-radius: 50%;\n border-width: 0.05em;\n border-style: solid;\n border-color: currentColor;\n border-top-color: transparent;\n border-bottom-color: transparent;\n background-color: transparent;\n}\n.k-icon.k-i-loading::before,\n.k-icon.k-i-loading::after {\n content: "";\n}\n.k-i-loading::before,\n.k-loading-image::before {\n margin-top: -0.5em;\n margin-left: -0.5em;\n width: 1em;\n height: 1em;\n -webkit-animation: k-loading-animation 0.7s linear infinite;\n animation: k-loading-animation 0.7s linear infinite;\n}\n.k-i-loading::after,\n.k-loading-image::after {\n margin-top: -0.25em;\n margin-left: -0.25em;\n width: 0.5em;\n height: 0.5em;\n animation: k-loading-animation reverse 1.4s linear infinite;\n}\n.k-loading-image::before,\n.k-loading-image::after {\n content: "";\n border-width: 1px;\n border-width: max( 1px, .015em );\n font-size: 4em;\n}\n@-webkit-keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@-webkit-keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.k-resize-handle,\n.k-resize-hint {\n position: absolute;\n border-color: inherit;\n z-index: 200;\n}\n.k-resize-handle {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.k-resize-handle::before {\n content: "";\n border: 0 solid;\n border-color: inherit;\n}\n.k-resize-n {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n top: -3px;\n cursor: n-resize;\n}\n.k-resize-s {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n bottom: -3px;\n cursor: s-resize;\n}\n.k-resize-w {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n left: -3px;\n cursor: w-resize;\n}\n.k-resize-e {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n right: -3px;\n cursor: e-resize;\n}\n.k-resize-sw,\n.k-resize-se,\n.k-resize-nw,\n.k-resize-ne {\n width: 5px;\n height: 5px;\n}\n.k-resize-sw {\n cursor: sw-resize;\n bottom: 0;\n left: 0;\n}\n.k-resize-se {\n cursor: se-resize;\n bottom: 0;\n right: 0;\n}\n.k-resize-nw {\n cursor: nw-resize;\n top: 0;\n left: 0;\n}\n.k-resize-ne {\n cursor: ne-resize;\n top: 0;\n right: 0;\n}\n.k-vertical-resize {\n cursor: row-resize;\n}\n.k-horizontal-resize {\n cursor: col-resize;\n}\n.k-resize-hint {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.k-resize-hint .k-resize-hint-handle {\n width: auto;\n height: 20px;\n align-self: stretch;\n}\n.k-resize-hint .k-resize-hint-marker {\n width: 2px;\n height: auto;\n flex: 1 1 auto;\n}\n.k-resize-hint-vertical {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.k-resize-hint-vertical .k-resize-hint-handle {\n width: 20px;\n height: auto;\n align-self: stretch;\n}\n.k-resize-hint-vertical .k-resize-hint-marker {\n width: auto;\n height: 2px;\n flex: 1 1 auto;\n}\n.k-scrollbar {\n position: absolute;\n overflow: scroll;\n}\n.k-scrollbar-vertical {\n top: 0;\n right: 0;\n width: 17px;\n height: 100%;\n overflow-x: hidden;\n}\n.k-touch-scrollbar {\n display: none;\n position: absolute;\n z-index: 200000;\n height: 8px;\n width: 8px;\n border: 1px solid #8a8a8a;\n background-color: #858585;\n}\n.k-marquee {\n position: absolute;\n z-index: 100000;\n}\n.k-marquee-color,\n.k-marquee-text {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.k-marquee-color {\n color: inherit;\n background-color: transparent;\n border-color: inherit;\n opacity: 0.6;\n}\n.k-marquee-text {\n color: inherit;\n}\n.k-static,\n.k-pos-static {\n position: static !important;\n}\n.k-relative,\n.k-pos-relative {\n position: relative !important;\n}\n.k-absolute,\n.k-pos-absolute {\n position: absolute !important;\n}\n.k-fixed,\n.k-pos-fixed {\n position: fixed !important;\n}\n.k-sticky,\n.k-pos-sticky {\n position: sticky !important;\n}\n.k-top,\n.k-pos-top {\n top: 0;\n}\n.k-right,\n.k-pos-right {\n right: 0;\n}\n.k-bottom,\n.k-pos-bottom {\n bottom: 0;\n}\n.k-left,\n.k-pos-left {\n left: 0;\n}\n.k-top-start,\n.k-pos-top-start {\n top: 0;\n left: 0;\n}\n.k-rtl .k-top-start, .k-top-start[dir=rtl], [dir=rtl] .k-top-start,\n.k-rtl .k-pos-top-start,\n.k-pos-top-start[dir=rtl],\n[dir=rtl] .k-pos-top-start {\n left: auto;\n right: 0;\n}\n.k-top-center,\n.k-pos-top-center {\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n}\n.k-top-end,\n.k-pos-top-end {\n top: 0;\n right: 0;\n}\n.k-rtl .k-top-end, .k-top-end[dir=rtl], [dir=rtl] .k-top-end,\n.k-rtl .k-pos-top-end,\n.k-pos-top-end[dir=rtl],\n[dir=rtl] .k-pos-top-end {\n right: auto;\n left: 0;\n}\n.k-middle-start,\n.k-pos-middle-start {\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n}\n.k-rtl .k-middle-start, .k-middle-start[dir=rtl], [dir=rtl] .k-middle-start,\n.k-rtl .k-pos-middle-start,\n.k-pos-middle-start[dir=rtl],\n[dir=rtl] .k-pos-middle-start {\n left: auto;\n right: 0;\n}\n.k-middle-center,\n.k-pos-middle-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.k-middle-end,\n.k-pos-middle-end {\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n}\n.k-rtl .k-middle-end, .k-middle-end[dir=rtl], [dir=rtl] .k-middle-end,\n.k-rtl .k-pos-middle-end,\n.k-pos-middle-end[dir=rtl],\n[dir=rtl] .k-pos-middle-end {\n right: auto;\n left: 0;\n}\n.k-bottom-start,\n.k-pos-bottom-start {\n bottom: 0;\n left: 0;\n}\n.k-rtl .k-bottom-start, .k-bottom-start[dir=rtl], [dir=rtl] .k-bottom-start,\n.k-rtl .k-pos-bottom-start,\n.k-pos-bottom-start[dir=rtl],\n[dir=rtl] .k-pos-bottom-start {\n left: auto;\n right: 0;\n}\n.k-bottom-center,\n.k-pos-bottom-center {\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n}\n.k-bottom-end,\n.k-pos-bottom-end {\n bottom: 0;\n right: 0;\n}\n.k-rtl .k-bottom-end, .k-bottom-end[dir=rtl], [dir=rtl] .k-bottom-end,\n.k-rtl .k-pos-bottom-end,\n.k-pos-bottom-end[dir=rtl],\n[dir=rtl] .k-pos-bottom-end {\n right: auto;\n left: 0;\n}\n@font-face {\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-weight: normal;\n src: url(data:font/ttf;base64,AAEAAAAMAIAAAwBAR1NVQhXjLzYAAADMAABH/k9TLzIPEgdLAABIzAAAAGBjbWFwa15oEwAASSwAAADMZ2FzcAAAABAAAEn4AAAACGdseWabm5w0AABKAAABtcBoZWFkHEnteQAB/8AAAAA2aGhlYQfABmAAAf/4AAAAJGhtdHjiA9YoAAIAHAAACnxsb2NhSIK27gACCpgAAAVAbWF4cALeAy4AAg/YAAAAIG5hbWX0BvU7AAIP+AAABOlwb3N0AAMAAAACFOQAAAAgAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAoAAAABADoAGgByCmIPlhToGEYY0B6oIKoiWCTEJsonMioaLVQtqC36MzQzoDbeO8REdEVORjpG7kdER7oAAQAaAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAlACYCngBIAJIAngC6ANAA6AEIASoBQAFkAXYBjAGkAb4B5gH8AhYCNgJUAnICigKgAsYC8gMcA0YDaAOQA7YD3AP0BBIELgRKBG4EkAS4BN4E/gUYBS4FTAVmBXQFfAWiBcYF2gX2BjYGega4BvoHJAdMB2QHfgeqB9QH7ggWCDwIUghuCJoIxAjeCQoJNAlOCX4JsgnUAOsABQAhABAAFQAbAJEADQAgACAADQAPABQAGQARABoAIAAEAAkACgCQAAoAIAAgAA0ADwAUABkAEQAaACAARwALAB4AHgAbACMAHwAEAB8AIwANABwARQAPAB4AHgAbACMAHwAEAB4AEQAfABUAJgAVABoAEwA4ABAAHgAeABsAIwAfAAQAGgAbAAQADwAUAA0AGgATABEANwAKAB4AHgAbACMAHwAEABcAHAAVAEYAEQAeAB4AGwAjAB8ABAAQABUAGQARABoAHwAVABsAGgAfAD4ACAAeAB4AGwAjAAQAIQAcAEQACgAeAB4AGwAjAAQAHgAbABsAIAA/AAsAHgAeABsAIwAEAB4AFQATABQAIABDAAwAHgAeABsAIwAEABwADQAeABEAGgAgADkAEwAeAB4AGwAjAAQAGwAiABEAHgASABgAGwAjAAQAEAAbACMAGgBBAAoAHgAeABsAIwAEABgAEQASACAALwAMAB4AHgAbACMABAARABoAEAAEACEAHAAwAA8AHgAeABsAIwAEABEAGgAQAAQAHgAVABMAFAAgADIADgAeAB4AGwAjAAQAEQAaABAABAAYABEAEgAgADEADgAeAB4AGwAjAAQAEQAaABAABAAQABsAIwAaAEIACwAeAB4AGwAjAAQAEAAeABUAGAAYAEAACgAeAB4AGwAjAAQAEAAbACMAGgAzABIAHgAeABsAIwAEABAAGwAhAA4AGAARAAQACwAFAAQAIQAcADQAFQAeAB4AGwAjAAQAEAAbACEADgAYABEABAALAAUABAAeABUAEwAUACAANgAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABgAEQASACAANQAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABAAGwAjABoAOgAQAB4AHgAbACMABAAPABQAEQAiAB4AGwAaAAQAIQAcADsAEwAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEAB4AFQATABQAIAA9ABIAHgAeABsAIwAEAA8AFAARACIAHgAbABoABAAYABEAEgAgADwAEgAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEABAAGwAjABoAKwALAB4AHgAbACMABAALAAUABAAhABwALAAOAB4AHgAbACMABAALAAUABAAeABUAEwAUACAALgANAB4AHgAbACMABAALAAUABAAYABEAEgAgAC0ADQAeAB4AGwAjAAQACwAFAAQAEAAbACMAGgAnABEAHgAeABsAIwAEAAkACgAEACEAHAAEAB4AFQATABQAIAAqABAAHgAeABsAIwAEAAkACgAEACEAHAAEABgAEQASACAAKAATAB4AHgAbACMABAAJAAoABAAQABsAIwAaAAQAHgAVABMAFAAgACkAEgAeAB4AGwAjAAQACQAKAAQAEAAbACMAGgAEABgAEQASACAChwAPAB4AEQANAAQAHwAgAA0ADwAXABEAEAAGAAUABQKGAAwAHgARAA0ABAAfACAADQAPABcAEQAQAogACgAeABEADQAEAB4ADQAaABMAEQKFAA4AHgARAA0ABAAPABgAIQAfACAAEQAeABEAEAG4AAwAHAAcABgAJQAEABIAGwAeABkADQAgAccABgAaAA8AFAAbAB4BXgADABgAGAFDABIAGAAVABMAGgAEACAAGwAcAAQAEQAYABEAGQARABoAIAAfAR8AEQAYABUAEwAaAAQAIAAbABwABAARABgAEQAZABEAGgAgAWwACQAYABUAEwAaAAQAIAAbABwBKgANABgAFQATABoABAAgABsABAATAB4AFQAQAUYAHwAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAAHwAEACIAEQAeACAAFQAPAA0AGAFBACEAGAAVABMAGgAEAB8AIAAeABEAIAAPABQABAARABgAEQAZABEAGgAgAB8ABAAUABsAHgAVACYAGwAaACAADQAYAT0AHgAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAABAAiABEAHgAgABUADwANABgBPAAgABgAFQATABoABAAfACAAHgARACAADwAUAAQAEQAYABEAGQARABoAIAAEABQAGwAeABUAJgAbABoAIAANABgBQAAUABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAB8BHgATABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAXEACwAYABUAEwAaAAQAHgAVABMAFAAgAXMADAAYABUAEwAaAAQAHgARABkAGwAiABEBRAAVABgAFQATABoABAAZABUAEAAQABgAEQAEABEAGAARABkAEQAaACAAHwEgABQAGAAVABMAGgAEABkAFQAQABAAGAARAAQAEQAYABEAGQARABoAIAFtAAwAGAAVABMAGgAEABkAFQAQABAAGAARAT4AEwAYABUAEwAaAAQAGAARABIAIAAEABEAGAARABkAEQAaACAAHwEcABIAGAAVABMAGgAEABgAEQASACAABAARABgAEQAZABEAGgAgAW8ACgAYABUAEwAaAAQAGAARABIAIAFyAA0AGAAVABMAGgAEABYAIQAfACAAFQASACUBPwAVABgAFQATABoABAAPABEAGgAgABEAHgAEABEAGAARABkAEQAaACAAHwEdABQAGAAVABMAGgAEAA8AEQAaACAAEQAeAAQAEQAYABEAGQARABoAIAFwAAwAGAAVABMAGgAEAA8AEQAaACAAEQAeAUUAFQAYABUAEwAaAAQADgAbACAAIAAbABkABAARABgAEQAZABEAGgAgAB8BIQAUABgAFQATABoABAAOABsAIAAgABsAGQAEABEAGAARABkAEQAaACABbgAMABgAFQATABoABAAOABsAIAAgABsAGQFHABcAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEACIAEQAeACAAFQAPAA0AGAFCABkAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEABQAGwAeABUAJgAbABoAIAANABgCOQAQABMAEwAeABEAEwANACAAEQAEABIAFQARABgAEAAfANIADQAPAA8AEQAfAB8AFQAOABUAGAAVACAAJQArAFgAZgB0AIAAqAC+AOIBAgEyAWYBhAGcAbIB1AH6Ah4CRgJgAnoCqgLYAw4DQgNeA3IDigOmA7ADugPSA+ID+gQKBCoEWgR6BIoEqATABNQE8AT4BRoBjwAGACEAIAAgABsAGgKWAAYAIQAOAA4AGAARAQsABQAeACEAHwAUAQ8AEwAeABUAEwAUACAAGgARAB8AHwAEAA8AGwAaACAAHgANAB8AIAB4AAoAGwAkAAQAHwAVACYAFQAaABMBigARABsAHgAQABEAHgAfAAQAHwAUABsAIwAEABQAFQAQABEBgQAPABsAHgAQABEAHgAfAAQAGwAhACAAHwAVABAAEQGEABcAGwAeABAAEQAeAB8ABAAVABoAHwAVABAAEQAEACIAEQAeACAAFQAPAA0AGAGDABkAGwAeABAAEQAeAB8ABAAVABoAHwAVABAAEQAEABQAGwAeABUAJgAbABoAIAANABgBggAOABsAHgAQABEAHgAfAAQAFQAaAB8AFQAQABEBgAALABsAHgAQABEAHgAfAAQADQAYABgBhQAKABsAHgAQABEAHgAEACAAGwAcAG0AEAAbAB4AEAARAB4ABAAfACAAJQAYABEABAAgABsAHABuABIAGwAeABAAEQAeAAQAHwAgACUAGAARAAQAHgAVABMAFAAgAHAAEQAbAB4AEAARAB4ABAAfACAAJQAYABEABAAYABEAEgAgAG8AEwAbAB4AEAARAB4ABAAfACAAJQAYABEABAAOABsAIAAgABsAGQBsAAwAGwAeABAAEQAeAAQAHwAgACUAGAARAYgADAAbAB4AEAARAB4ABAAeABUAEwAUACAAcgAXABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQAIAAbABwABAAeABUAEwAUACAAdQAWABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQAIAAbABwABAAYABEAEgAgAHMAGgAbAB4AEAARAB4ABAAeAA0AEAAVACEAHwAEAA4AGwAgACAAGwAZAAQAHgAVABMAFAAgAHQAGQAbAB4AEAARAB4ABAAeAA0AEAAVACEAHwAEAA4AGwAgACAAGwAZAAQAGAARABIAIABxAA0AGwAeABAAEQAeAAQAHgANABAAFQAhAB8BiQAJABsAHgAQABEAHgAEABoAGwGHAAsAGwAeABAAEQAeAAQAGAARABIAIAGGAA0AGwAeABAAEQAeAAQADgAbACAAIAAbABkBUwAEABsAGAAQARQABAAYACEAHgILAAsAGAAbABMAEwARAB4ABAAOABsAJAIKAAcAGAAbABMAEwARAB4CKwALABEAFAANABoADwARAAQADgAbACQCKgAHABEAFAANABoADwARANUADwANAB4ADwAbABAAEQAEAB8ADwANABoAGgARAB4A2QAXAA0AHgAPABsAEAARAAQAHQAeAAQADwAbABAAEQAEAB8ADwANABoAGgARAB4A0wAPAA0AHgAPABsAEAARAAQAGwAhACAAGAAVABoAEQDUAAcADQAeAA8AGwAQABECgwAOAA0AHgAEAB8AIAANAA8AFwARABAABgAFAAUCggALAA0AHgAEAB8AIAANAA8AFwARABAChAAJAA0AHgAEAB4ADQAaABMAEQKBAA0ADQAeAAQADwAYACEAHwAgABEAHgARABACmAADAA0AHgEbABAADQAPABcAIwANAB4AEAAEABEAGAARABkAEQAaACABGQAMAA0ADwAXAAQAEQAYABEAGQARABoAIAA1AGwAdACMAKgAtgDAAMgA1gDcAO4A+AEQARoBPgFiAXYBngG8AcwB3AIAAh4COAJUAnYCkAKcArgC0gLeAuoC/gMMAyIDRANWA3IDjAOYA7gD5gQYBDAEXASMBKIErATGBOQFAAUOBSoFPAGwAAMAIQAgAaIACwAhAB8AIAAbABkABAAVAA8AGwAaAegADQAhAB8AIAAbABkABAASABsAHgAZAA0AIADcAAYAIQAeAB8AGwAeAkoABAAfAB8ACAJNAAMAHwAfAlAABgAfABwAHgAbABYCUgACAB8B7gAIAB4AGwAfAB8AIAANAA4BBAAEAB4AGwAcAboACwAbABwAJQAEABIAGwAeABkADQAgAa8ABAAbABwAJQFZABEAGwAaACIAEQAeACAABAAhABwAHAARAB4ADwANAB8AEQFYABEAGwAaACIAEQAeACAABAAYABsAIwARAB4ADwANAB8AEQDHAAkAGwAaABoAEQAPACAAGwAeAakAEwAbABkAGQARABoAIAAfAAQAHgARABkAGwAiABEABAANABgAGAGoAA4AGwAZABkAEQAaACAABAAeABEAGQAbACIAEQGnAAcAGwAZABkAEQAaACAAVAAHABsAGAAhABkAGgAfAn8AEQAbABgAIQAZABoABAAfACAADQAPABcAEQAQAAYABQAFAn4ADgAbABgAIQAZABoABAAfACAADQAPABcAEQAQAoAADAAbABgAIQAZABoABAAeAA0AGgATABEB3QANABsAGAAhABkAGgAEABIAHgARABEAJgARAn0AEAAbABgAIQAZABoABAAPABgAIQAfACAAEQAeABEAEAGNAAwAGwAQABEABAAfABoAFQAcABwAEQAgAlUABQAYABsAIQAQAJ8ADQAYABsAHwARAAQAGwAhACAAGAAVABoAEQCgAAwAGAAbAB8AEQAEAA8AFQAeAA8AGAARAJ4ABQAYABsAHwARAIoABQAYABsADwAXAbkACQAYABEADQAeAAQADwAfAB8A9wAGABUAHgAPABgAEQKdAAoAFAAbAB4AGwAcABgAEQAgABQA9AAQABQAEQAPABcADgAbACQABAAPABQAEQAPABcAEQAQAPMACAAUABEADwAXAA4AGwAkAJwADQAUABEADwAXAAQAGwAhACAAGAAVABoAEQCdAAwAFAARAA8AFwAEAA8AFQAeAA8AGAARAJsABQAUABEADwAXAZoADwAUAA0AGgATABEABAAZAA0AGgAhAA0AGAAYACUB1wAWABEAGAAYAB8ABAAZABEAHgATABEABAAiABEAHgAgABUADwANABgAGAAlAdYAGAARABgAGAAfAAQAGQARAB4AEwARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAYACUB1QALABEAGAAYAB8ABAAZABEAHgATABEB2QAVABEAGAAYAAQAHwAcABgAFQAgAAQAIgARAB4AIAAVAA8ADQAYABgAJQHYABcAEQAYABgABAAfABwAGAAVACAABAAUABsAHgAVACYAGwAaACAADQAYABgAJQBJAAoADQAgABEAEwAbAB4AFQAmABEAxgAEAA0AHgAgApcADAANABoAEAAYABEABAAfACAAFQAPABcAmQAOAA0AGgAPABEAGAAEABsAIQAgABgAFQAaABEAmgANAA0AGgAPABEAGAAEAA8AFQAeAA8AGAARAJgABgANABoADwARABgBkQANAA0AGAARABoAEAANAB4ABAAQAA0AIAARAIsACAANABgAEQAaABAADQAeAMUACgANABgADwAhABgADQAgABsAHgAgAEIAXABuAIoAnACuALwA3gDsAPQBHAE6AVQBcAGaAbABwgHMAeoCCAIkAjgCRgJ6ArIC1AL2AwgDGgMuA0IDVAItAAwAHgAVAA4ADgAOABgAEQAEAA4AGwAkAiwACAAeABUADgAOAA4AGAARAEgADQAeAA0AEwAEAA0AGgAQAAQAEAAeABsAHAC1AAgAGwAjABoAGAAbAA0AEAKQAAgAGwAhABMAFAAaACEAIAHmAAYAGwAYABgADQAeAaEAEAAbAA8AIQAZABEAGgAgAAQAGQANABoADQATABEAHgDRAAYAFQAiABUAEAARAV0AAwAVACIAgAATABUAHwAcABgADQAlAAQAFQAaABgAFQAaABEABAASABgAEQAkAf8ADgAVAB8AHAAYAA0AJQAEABUAGgAYABUAGgARAH8ADAAVAB8AHAAYAA0AJQAEABIAGAARACQAfQANABUAHwAcABgADQAlAAQADgAYABsADwAXAH4AFAAVAB8AHAAYAA0AJQAEAAwAGgAYABUAGgARAAQADgAYABsADwAXATsACgAVABkAEQAaACAAFQAbABoAHwIPAAgAFQATABMABAAOABsAJAIOAAQAFQATABMBowAOABUADwAgABUAGwAaAA0AHgAlAAQADQAQABACXwAOABEAIAANABUAGAAEAB8AEQAPACAAFQAbABoCDQANABEAGAAVAA8AFQAbACEAHwAEAA4AGwAkAgwACQARABgAFQAPABUAGwAhAB8AjwAGABEAGAARACAAEQE1ABkAEQAPAB4AEQANAB8AEQAEACIAEQAeACAAFQAPAA0AGAAEAB8AHAANAA8AFQAaABMBMQAbABEADwAeABEADQAfABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwHpABAAEQAPABUAGQANABgABAAVABoADwAeABEADQAfABEB6gAQABEADwAVABkADQAYAAQAEAARAA8AHgARAA0AHwARAmYACAANACAADQAEACMAEQAOAmUACAANACAADQAEAB8AHQAYAnoACQANACAADQAEAB4AEQAfACACZAAJAA0AIAANAAQAFgAfABsAGgJjAAgADQAgAA0ABAAPAB8AIgJYAAQADQAgAA0ACAASACgANgA+AEoAXgBqAIABNwAKACUAEQAQAB4AGwAcABwAEQAeAfoABgAkABwAGwAeACACTwADACQAEQDNAAUAHQAhAA0AGAIRAAkAGQANABUAGAAEAA4AGwAkAhAABQAZAA0AFQAYAZgACgAQABUAIAAEACAAGwAbABgAHwCOAAQAEAAVACAAOQB0AJYArgDKAOoA+gEQATQBTgFYAXoBjgGmAboB0gHqAgACDgIqAkoCZgKIArAC1gLqAwQDJgNSA2ADagOCA5QDqAO+A94D8AQCBCQESARaBGwEfgSUBLQEygTgBPYFFgUqBTwFVAVmBXwFkAWiBawFxgEnABAAIQAYABgABAAfAA8AHgARABEAGgAEABEAJAAVACABJgALACEAGAAYAAQAHwAPAB4AEQARABoBGAANAB4AGwAaACAABAARABgAEQAZABEAGgAgARoADwAbAB4AIwANAB4AEAAEABEAGAARABkAEQAaACAA5AAHABsAHgAjAA0AHgAQAeMACgAbAB4AGQAhABgADQAEABIAJAHAABEAGwAeABkADQAgAAQADwAbABAAEQAEAA4AGAAbAA8AFwGMAAwAGwAeABkABAARABgAEQAZABEAGgAgAYsABAAbAB4AGQFXABAAGwAeABEAEwAeABsAIQAaABAABAAPABsAGAAbAB4B6wAJABsAGgAgAAQAHwAVACYAEQFWAAsAGwAaACAABAASAA0AGQAVABgAJQI3AAkAGwAYABAAEQAeAAQAIQAcAjUACwAbABgAEAARAB4ABAAbABwAEQAaAjgACwAbABgAEAARAB4ABAAZABsAHgARAjYACgAbABgAEAARAB4ABAANABAAEAI0AAYAGwAYABAAEQAeAQcADQAYABUAHAAEACIAEQAeACAAFQAPAA0AGAEGAA8AGAAVABwABAAUABsAHgAVACYAGwAaACAADQAYAa0ADQAYAA0AHwAUAAQAGQANABoADQATABEAHgGuABAAFQAaABAABAANABoAEAAEAB4AEQAcABgADQAPABEAsAATABUAGAAgABEAHgAEAB8AGwAeACAABAAQABEAHwAPAAQAHwAZAK8AEgAVABgAIAARAB4ABAAfABsAHgAgAAQADQAfAA8ABAAfABkArgAJABUAGAAgABEAHgAEAB8AGQCtAAwAFQAYACAAEQAeAAQADwAYABEADQAeALIAEAAVABgAIAARAB4ABAANABAAEAAEABMAHgAbACEAHACxABUAFQAYACAAEQAeAAQADQAQABAABAARACQAHAAeABEAHwAfABUAGwAaAKwABgAVABgAIAARAB4CSQAEABUAGAAZAnkACwAVABgAEQAfAAQAEQAeAB4AGwAeAkgACAAVABgAEQAEACYAFQAcAj8ACQAVABgAEQAEACMAGwAeABACbwAKABUAGAARAAQAIgAVABAAEQAbAnsADwAVABgAEQAEACAAJQAcABEAHwAPAB4AFQAcACACPAAIABUAGAARAAQAIAAkACACQwAIABUAGAARAAQAHAAfABACdQAQABUAGAARAAQAHAAeABsAEwAeAA0AGQAZABUAGgATAnIAEQAVABgAEQAEABwAHgARAB8AEQAaACAADQAgABUAGwAaAkEACAAVABgAEQAEABwAHAAgAkIACAAVABgAEQAEABwAEAASAkAACAAVABgAEQAEABkAEAAOAnEACgAVABgAEQAEABUAGQANABMAEQJWAA8AFQAYABEABAAUABsAHgAVACYAGwAaACAADQAYAkQACgAVABgAEQAEABIAGAANAB8AFAI+AAoAFQAYABEABAARACQADwARABgCeAAKABUAGAARAAQAEQAeAB4AGwAeAnQADwAVABgAEQAEABAAFQAfAA8ABAAVABkADQATABECcwAJABUAGAARAAQAEAANACAADQI9AAgAFQAYABEABAAPAB8AIgJFAAsAFQAYABEABAAPABsAGgASABUAEwJHAAgAFQAYABEABAAOAA0ADwJwAAoAFQAYABEABAANACEAEAAVABsCRgAJABUAGAARAAQADQAfAA8AJAI7AAgAFQAYABEABAANABAAEAI6AAQAFQAYABECEwAMAA0ADwARAA4AGwAbABcABAAOABsAJAISAAgADQAPABEADgAbABsAFwAVACwASAByAJwAvgDSAN4A9gEAARQBNgFCAWIBegGQAZ4BugHGAdIB3AHsAmEADQAeABsAIQAcAAQAHwARAA8AIAAVABsAGgJbABQAHgAbACEAHAAEABQAEQANABAAEQAeAAQAHwARAA8AIAAVABsAGgJcABQAHgAbACEAHAAEABIAGwAbACAAEQAeAAQAHwARAA8AIAAVABsAGgJnABAAHgAbACEAHAAEAA8AGwAYABgAEQAPACAAFQAbABoBkgAJAB4AGwAhABwABAAOABsAJABMAAUAHgAbACEAHABLAAsAHgAVABAABAAYAA0AJQAbACEAIABKAAQAHgAVABABEwAJAB4AEQAlAB8ADwANABgAEQDQABAAHgARAA0AIAARAB4ABAAbAB4ABAARAB0AIQANABgCfAAFAB4ADQAcABQCFwAPABsAGwATABgAEQAEABwAGAAhAB8ABAAOABsAJAIWAAsAGwAbABMAGAARAAQAHAAYACEAHwIVAAoAGwAbABMAGAARAAQADgAbACQCFAAGABsAGwATABgAEQIBAA0AGAAbAA4AEQAEABsAIQAgABgAFQAaABECAgAFABgAGwAOABEAvgAFABEADQAeAB8AvQAEABEADQAeAIIABwANABwABAAeABsAIwCBAAoADQAcAAQADwAbABgAIQAZABoAFQAsAFAAbgCcAMoA6gEKARYBIAEqATgBVAFgAWYBgAGKAZABlgGcAaIBqAC4ABEAJQAcABEAHgAYABUAGgAXAAQAGwAcABEAGgAEAB8AGQC3AA4AJQAcABEAHgAYABUAGgAXAAQAGwAcABEAGgHDABYAJQAcABEAHgAYABUAGgAXAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMBxQAWACUAHAARAB4AGAAVABoAFwAEABMAGAAbAA4AEQAEAB4AEQAZABsAIgARAcQADwAlABwAEQAeABgAFQAaABcABAATABgAGwAOABEBxgAPACUAHAARAB4AGAAVABoAFwAEABEAGQANABUAGAJLAAUAIAAZABgACgJMAAQAIAAZABgAWwAEABsAGQARAFwABgARABUAEwAUACAA7wANABEADQAeACAABAAbACEAIAAYABUAGgARAPAABQARAA0AHgAgAOgAAgAQAE4ADAANABoAEAAYABEAHgAEABAAHgANABMA2wAEAA0AGgAQAWQAAgALAWMAAgAKAWIAAgAJAWEAAgAIAWAAAgAHAV8AAgAGABUALAA6AFYAagCGAJ4AsgDKAOoBCgE+AXYBggGQAZ4BuAHaAgACGgIwAmABVAAGACAADQAYABUADwERAA0AGgAiABEAHgAgAAQADwAbABgAGwAeAB8BaQAJABoAHwARAB4AIAAEACEAHAFqAA0AGgAfABEAHgAgAAQAGQAVABAAEAAYABEBawALABoAHwARAB4AIAAEABAAGwAjABoCbgAJABoAFAARAB4AFQAgABEAEAD7AAsAGgASABsAHgAZAA0AIAAVABsAGgFnAA8AGgAQABEAGgAgAAQAFQAaAA8AHgARAA0AHwARAWgADwAaABAAEQAaACAABAAQABEADwAeABEADQAfABEBNAAZABoADwAeABEADQAfABEABAAiABEAHgAgABUADwANABgABAAfABwADQAPABUAGgATATAAGwAaAA8AHgARAA0AHwARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAEAB8AHAANAA8AFQAaABMCCQAFABoADgAbACQB+QAGABkAHAAbAB4AIAEpAAYAGQANABMAEQAfAQMADAAZAA0AEwARAAQAHgARAB8AFQAmABEBpgAQABkADQATABEABAAZAA0AHAAEABEAEAAVACAAGwAeAaQAEgAZAA0AEwARAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMBAAAMABkADQATABEABAARACQAHAAbAB4AIAGlAAoAGQANABMAEQAEABEAEAAVACAB7AAXABkADQATABEABAANAA4AHwAbABgAIQAgABEABAAcABsAHwAVACAAFQAbABoA/wAFABkADQATABEACwAYAEYAeACiANABAAE0AWYBnAHMAgABTQAWACEAHwAgABUAEgAlAAQAHwAgAA0AHgAgAAQAIgARAB4AIAAVAA8ADQAYAUgAGAAhAB8AIAAVABIAJQAEAB8AIAANAB4AIAAEABQAGwAeABUAJgAbABoAIAANABgBTwAUACEAHwAgABUAEgAlAAQAEQAaABAABAAiABEAHgAgABUADwANABgBSgAWACEAHwAgABUAEgAlAAQAEQAaABAABAAUABsAHgAVACYAGwAaACAADQAYAU4AFwAhAB8AIAAVABIAJQAEAA8AEQAaACAAEQAeAAQAIgARAB4AIAAVAA8ADQAYAUkAGQAhAB8AIAAVABIAJQAEAA8AEQAaACAAEQAeAAQAFAAbAB4AFQAmABsAGgAgAA0AGAFQABgAIQAfACAAFQASACUABAAOABEAIAAjABEAEQAaAAQAIgARAB4AIAAVAA8ADQAYAUsAGgAhAB8AIAAVABIAJQAEAA4AEQAgACMAEQARABoABAAUABsAHgAVACYAGwAaACAADQAYAVEAFwAhAB8AIAAVABIAJQAEAA0AHgAbACEAGgAQAAQAIgARAB4AIAAVAA8ADQAYAUwAGQAhAB8AIAAVABIAJQAEAA0AHgAbACEAGgAQAAQAFAAbAB4AFQAmABsAGgAgAA0AGAJOAAIAHwADAAgAKABIAMwADwAcABUABAAfACAADQAgACEAHwAEABsAHAARABoAywAPABwAFQAEAB8AIAANACAAIQAfAAQAFAAbABgAEADKAA8AHAAVAAQAHwAgAA0AIAAhAB8ABAAQABEAGgAlABsAOABGAFIAXAB6AJwAugDUAO4BAAEcATwBSAF4AZgBwgHcAfYCDgIYAjICTgJsApQCsALMAtoAtAAGABsAEwAbACEAIACzAAUAGwATABUAGgCWAAQAGwAPABcBZgAOABUAHwAgAAQAIQAaABsAHgAQABEAHgARABAB+AAQABUAHwAgAAQAHgAbABkADQAaAAQAHwAZAA0AGAAYAfcADgAVAB8AIAAEAB4AGwAZAA0AGgAEAA4AFQATAWUADAAVAB8AIAAEABsAHgAQABEAHgARABACGQAMABUAGgAXABEAEAAVABoABAAOABsAJAIYAAgAFQAaABcAEQAQABUAGgCUAA0AFQAaABcABAAiABEAHgAgABUADwANABgAkgAPABUAGgAXAAQAFAAbAB4AFQAmABsAGgAgAA0AGAKJAAUAFQAaABEABgKOABcAFQAaABEABAAfACAADQAPABcAEQAQAAYABQAFAAQAGQANAB4AFwARAB4AHwKLAA8AFQAaABEABAAfACAADQAPABcAEQAQAAYABQAFAo0AFAAVABoAEQAEAB8AIAANAA8AFwARABAABAAZAA0AHgAXABEAHgAfAooADAAVABoAEQAEAB8AIAANAA8AFwARABACjAAMABUAGgARAAQAGQANAB4AFwARAB4AHwIAAAsAFQAaABEABAAUABEAFQATABQAIAEOAAQAFQAaABEB/wAMABEAIAAgABEAHgAEAB8AHAANAA8AEQDPAA0AEQAfAB8ABAAbAB4ABAARAB0AIQANABgAUwAOAA0AJQAbACEAIAAEAB8AIAANAA8AFwARABAAUgATAA0AJQAbACEAIAAEAB8AFQAQABEABAAOACUABAAfABUAEAARAFEADQANACUAGwAhACAABAAHAAQADgAlAAQABwBQAA0ADQAlABsAIQAgAAQABgAEAA4AJQAEAAkATwAGAA0AJQAbACEAIAC5AAYADQAhABoADwAUAB0APABUAGQAgACgAL4AzADeAPoBFAEgATQBSgFUAXABhAGaAboB3gH0AgoCJAI8AlgCZgKeAr4C3AL+AhsACwAlAB8AHAANAA8AEQAEAA4AGwAkAhoABwAlAB8AHAANAA8AEQBYAA0AGwAeABEABAAiABEAHgAgABUADwANABgAWQAPABsAHgARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAHCAA4AGwAQACEAGAARAAQAGQANABoADQATABEAHgEFAAYAFQAeAB4AGwAeAMkACAAVABoAIQAfAAQAHwAZAKUADQAVABoAIQAfAAQAGwAhACAAGAAVABoAEQCmAAwAFQAaACEAHwAEAA8AFQAeAA8AGAARAKQABQAVABoAIQAfAGEACQAVABoABAAjABUAEAAgABQAYAAKABUAGgAEABQAEQAVABMAFAAgAFcABAARABoAIQGrAA0AEQAQABUADQAEABkADQAaAA0AEwARAB4AXwAJAA0AJAAEACMAFQAQACAAFABeAAoADQAkAAQAFAARABUAEwAUACAB+wAPAA0AIAAPABQABAASACEAGAAYAAQAIwAbAB4AEAIEABEADQAeABcAEQAeAAQAHAAVABoABAAgAA0AHgATABEAIAIDAAoADQAeABcAEQAeAAQAHAAVABoAYwAKAA0AHgATABUAGgAEACAAGwAcAGQADAANAB4AEwAVABoABAAeABUAEwAUACAAZgALAA0AHgATABUAGgAEABgAEQASACAAZQANAA0AHgATABUAGgAEAA4AGwAgACAAGwAZAGIABgANAB4AEwAVABoBMwAbAA0AFwARAAQAIgARAB4AIAAVAA8ADQAYAAQAHwAcAA0ADwAVABoAEwAEABEAHQAhAA0AGAEtAA8ADQAXABEABAAfAA0AGQARAAQAIwAVABAAIAAUASwADgANABcAEQAEAB8ADQAZABEABAAfABUAJgARAS4AEAANABcAEQAEAB8ADQAZABEABAAUABEAFQATABQAIAEvAB0ADQAXABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwAEABEAHQAhAA0AGAADAAgAIgA2APoADAAbACAAFQASABUADwANACAAFQAbABoAzgAJABsAIAAEABEAHQAhAA0AGACHAA4AGwAaAAQAHgARAA8AIQAeAB4AEQAaAA8AEQADAAgAGAA0AFoABwAiABEAHgAYAA0AHAB2AA0AIQAgABgAFQAaABEABAAjABUAEAAgABQAdwAOACEAIAAYABUAGgARAAQAGwASABIAHwARACAAMgBmAHIAggCcALoA1gD2AQYBIAE4AUIBVAFkAW4BigGeAaYBrgHIAdgB6gH2AhgCNgJMAoICogK+AsoC3AMCAy4DRANmA4oDqgPSA/YEEgQqBDIEQgROBG4ElgS+BNYE8gUMBSoAjQAFAB4AFQAaACAAwAAHAB4AEQAiABUAEQAjAHkADAAbAB8AFQAgABUAGwAaAAQAIAAbABwAegAOABsAHwAVACAAFQAbABoABAAeABUAEwAUACAAfAANABsAHwAVACAAFQAbABoABAAYABEAEgAgAHsADwAbAB8AFQAgABUAGwAaAAQADgAbACAAIAAbABkAyAAHABgAIQAfAAQAHwAZAKIADAAYACEAHwAEABsAIQAgABgAFQAaABEAowALABgAIQAfAAQADwAVAB4ADwAYABEAoQAEABgAIQAfAOoACAAYAA0AJQAYABUAHwAgAOwABwAYAA0AJQAEAB8AGQDgAAQAGAANACUCHQANABUAGgAgABEAHgARAB8AIAAEAA4AGwAkAhwACQAVABoAIAARAB4AEQAfACACBQADABUAGgKPAAMAFQARAP4ADAAUABsAIAAbAAQADwANABkAEQAeAA0B5wAHABEAHgAPABEAGgAgAO0ACAANACEAHwARAAQAHwAZAOEABQANACEAHwARAbcAEAANAB8AIAARAAQAHAAYAA0AFQAaAAQAIAARACQAIAG2AA4ADQAfACAAEQAEABkADQAeABcAEAAbACMAGgG1AAoADQAfACAAEQAEABQAIAAZABgBtAAaAA0AHwAgABEABAASAB4AGwAZAAQAIwAbAB4AEAAEAB8AIAAeABUAHAAEABIAFQAYABEBswAPAA0AHwAgABEABAASAB4AGwAZAAQAIwAbAB4AEAGyAA0ADQAfACAAEQAEAA0AHwAEABQAIAAZABgBsQAFAA0AHwAgABEBlgAIAA0AHwAfACMAGwAeABACdwASAA0AHgANABkAEQAgABEAHgAfAAQAIQAaABcAGgAbACMAGgJ2ABUADQAeAA0AGQARACAAEQAeAB8ABAAOACUAIAARAAQADQAeAB4ADQAlAmIACgANAB4ADQAZABEAIAARAB4AHwJsABAADQAeAA0AGQARACAAEQAeAAQAHwAgAB4AFQAaABMCawARAA0AHgANABkAEQAgABEAHgAEABUAGgAgABEAEwARAB4CagAPAA0AHgANABkAEQAgABEAHgAEABIAGAAbAA0AIAJpABMADQAeAA0AGQARACAAEQAeAAQAEAANACAAEQAEACAAFQAZABECaAARAA0AHgANABkAEQAgABEAHgAEAA4AGwAbABgAEQANABoBlwANAA0AHgANABMAHgANABwAFAAEAA0AEAAQAdsACwANABoAEQAEABIAHgARABEAJgARAMQAAwANABoBDAAHAA0AGAARACAAIAARAQ0ABQANABUAGgAgAVIADwANABMAEQAEABwAHgAbABwAEQAeACAAFQARAB8CXQATAA0AEwARAAQAFAARAA0AEAARAB4ABAAfABEADwAgABUAGwAaAl4AEwANABMAEQAEABIAGwAbACAAEQAeAAQAHwARAA8AIAAVABsAGgBoAAsADQAQABAAFQAaABMABAAgABsAHABpAA0ADQAQABAAFQAaABMABAAeABUAEwAUACAAawAMAA0AEAAQABUAGgATAAQAGAARABIAIABqAA4ADQAQABAAFQAaABMABAAOABsAIAAgABsAGQBnAAcADQAQABAAFQAaABMABAAKABwAPABcAPwACAAhABEAHwAgABUAGwAaANgADwAeAAQADwAbABAAEQAEAB8ADwANABoAGgARAB4A1gAPAB4ABAAPABsAEAARAAQAGwAhACAAGAAVABoAEQDXAAcAHgAEAA8AGwAQABEAIABCAGIAcgB6AIQAmgC2ANAA6AD2AQABDgEgATgBRAFwAZwBugHSAeICEgJGAloCaAKOApgCrgK8AuQC/AMYAzIBdQAPACEAGAARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAIvAAcAHwAfAAQADgAbACQCLgADAB8AHwBVAAQAGwAjAB8B3AAKABsAIwAEABIAHgARABEAJgARARcADQAbACEAGgAQAAQADwAbAB4AGgARAB4AHwEJAAwAGwAgAA0AIAARAAQAHgAVABMAFAAgAQoACwAbACAADQAgABEABAAYABEAEgAgAQgABgAbACAADQAgABECnAAEABsAHwARAOMABgARACMAFQAaABAAiAAIABEAHwARACAABAAfABkBKAALABEAHwARACAABAAPABsAGAAbAB4AhQAFABEAHwARACACWQAVABEAHAAbAB4AIAAEABQAEQANABAAEQAeAAQAHwARAA8AIAAVABsAGgJaABUAEQAcABsAHgAgAAQAEgAbABsAIAARAB4ABAAfABEADwAgABUAGwAaAf0ADgARABwAGAANAA8AEQAEAB8AFQAaABMAGAARAf4ACwARABwAGAANAA8AEQAEAA0AGAAYAFYABwARABsAHgAQABEAHgE2ABcAEQAZABsAIgARAAQAIgARAB4AIAAVAA8ADQAYAAQAHwAcAA0ADwAVABoAEwEyABkAEQAZABsAIgARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAEAB8AHAANAA8AFQAaABMAiQAJABEAGAAbAA0AEAAEAB8AGQCGAAYAEQAYABsADQAQAfwAEgARABMAIQAYAA0AHgAEABEAJAAcAB4AEQAfAB8AFQAbABoAhAAEABEAEAAbAh8ACgARABAAEAAVACAABAAOABsAJAIeAAYAEQAQABAAFQAgAPkAEwANABAAFQAbAA4AIQAgACAAGwAaAAQADwAUABEADwAXABEAEAD4AAsADQAQABUAGwAOACEAIAAgABsAGgKaAA0ADQAQAA0AHgAEABkADQAeABcAEQAeAB8CmwAMAA0AEAANAB4ABAASABUAGAAYABEAEAKZAAUADQAQAA0AHgAtAFwAagCAAIgAnACwAMYA4gEEAR4BSgFyAZoBvAHmAgICEgIcAigCQgJMAmgCggKWAq4CwALkAwgDHAMkAz4DVgNqA3oDhgOSA7oD0APmBCQEUgSMBLYExgTQAeUABgAlABkADgAbABgBXAAKACEAHAAEAB8ADwAeABUAHAAgAeQAAwAhABkA6QAJACEADgAgABUAIAAYABEAHwJXAAkAIQAOAB4AEQAcABsAHgAgAVsACgAhAA4ABAAfAA8AHgAVABwAIAHBAA0AIAAlABgAEQAEAA4AIQAVABgAEAARAB4CIQAQACAAIQAZAA4AGAARAAQAIQAcABsAGgAEAA4AGwAkAiAADAAgACEAGQAOABgAEQAEACEAHAAbABoBvwAVACAAHgAVABwABAAjABsAHgAQAAQAEgAbAB4AGQANACAAIAAVABoAEwG+ABMAIAAeABUAHAAEAB8AHAANABoABAARABgAEQAZABEAGgAgAB8BvQATACAAHgAVABwABAASABsAGgAgAAQAEQAYABEAGQARABoAIAAfAbwAEAAgAB4AFQAcAAQADwAfAB8ABAASABsAHgAZAA0AIAG7ABQAIAAeABUAHAAEAA0AGAAYAAQAEgAbAB4AGQANACAAIAAVABoAEwFaAA0AIAAeABUAFwARACAAFAAeABsAIQATABQA7gAHACAAGwAcAAQAHwAZAOIABAAgABsAHADdAAUAIAAVAA8AFwDxAAwAIAANAB4ABAAbACEAIAAYABUAGgARAPIABAAgAA0AHgHfAA0AHAARABgAGAAEAA8AFAARAA8AFwARAB4AqwAMABsAHgAgAAQAEAARAB8ADwAEAB8AGQCoAAkAGwAeACAABAAQABEAHwAPAKoACwAbAB4AIAAEAA0AHwAPAAQAHwAZAKcACAAbAB4AIAAEAA0AHwAPAToAEQAaAA0AHAAEACAAGwAEAB8AGgANABwAGAAVABoAEQAfATkAEQAaAA0AHAAEACAAGwAEABMAHgAVABAAGAAVABoAEQAfATgACQAaAA0AHAAEABMAHgAVABACVAADABgAGgErAAwAFQAmABEABAAgABsABAATAB4AFQAQAaoACwAVABgAIgARAB4AGAAVABMAFAAgANoACQAVABMAGgANACAAIQAeABEBFQAHABQADQAeABwAEQAaAgcABQAUAA0AHgARARYABQAUAA0AHAARAN8AEwARACAABAAPABsAGAAhABkAGgAEABwAGwAfABUAIAAVABsAGgGQAAoAEQAYABEADwAgAAQADgAbACQBjgAKABEAGAARAA8AIAAEAA0AGAAYApQAHgAPAA0AIAAgABEAHgAEAB8AIAAeAA0AFQATABQAIAAEABgAFQAaABEAHwAEABkADQAeABcAEQAeAB8ClQAWAA8ADQAgACAAEQAeAAQAHwAgAB4ADQAVABMAFAAgAAQAGAAVABoAEQAfApIAHAAPAA0AIAAgABEAHgAEAB8AGQAbABsAIAAUAAQAGAAVABoAEQAfAAQAGQANAB4AFwARAB4AHwKTABQADwANACAAIAARAB4ABAAfABkAGwAbACAAFAAEABgAFQAaABEAHwKRAAcADwANACAAIAARAB4AjAAEAA0AIgARARAACgANACAAIQAeAA0AIAAVABsAGgA7AHgAkACgALYAxADiARIBLAFeAYgBsgHkAg4CKgJGAnYCmgKyAs4C8AMQAzADTgNeA3ADhAOmA8oD5gQCBDAEXgSABKIExATuBRYFQgVoBYIFnAXQBgIGKgZSBn4Goga4Bs4G+gckB1IHeAeqB9oIDghACHAIpAInAAsAIwAVACAAIAARAB4ABAAOABsAJAImAAcAIwAVACAAIAARAB4CJQAKACEAGQAOABgAHgAEAA4AGwAkAiQABgAhABkADgAYAB4A9gAOAB4AFQAEAB8AIAANACAAEQAEABoAIQAYABgA9QAXAB4AFQAEAB8AIAANACAAEQAEABUAGgAQABEAIAARAB4AGQAVABoADQAgABEBEgAMAB4ADQAaAB8AHAARAB4ADQAaAA8AJQGgABgAHgANAA8AFwAEAA8AFAANABoAEwARAB8ABAAeABEAFgARAA8AIAAEAA0AGAAYAZ8AFAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEAB4AEQAWABEADwAgAZwAFAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEABEAGgANAA4AGAARAZ4AGAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEAA0ADwAPABEAHAAgAAQADQAYABgBnQAUAB4ADQAPABcABAAPABQADQAaABMAEQAfAAQADQAPAA8AEQAcACABmwANAB4ADQAPABcABAAPABQADQAaABMAEQAfAd4ADQAbABsAGAAOAA0AHgAEABIAGAAbAA0AIAHiABcAGwATABMAGAARAAQAEgAhABgAGAAEAB8ADwAeABEAEQAaAAQAGQAbABAAEQJtABEAGwAPAAQAHwARAA8AIAAVABsAGgAEABgAEQAiABEAGAJgAAsAGwAPAAQAHwARAA8AIAAVABsAGgEiAA0AFAAhABkADgAaAA0AFQAYAB8ABAAhABwBIwAQABQAIQAZAA4AGgANABUAGAAfAAQAHgAVABMAFAAgASUADwAUACEAGQAOABoADQAVABgAHwAEABgAEQASACABJAAPABQAIQAZAA4AGgANABUAGAAfAAQAEAAbACMAGgGVAA4AEQAkACAADgAbACQABAAUABUAEAAQABEAGgGUAAcAEQAkACAADgAbACQBkwAIABEAJAAgAA0AHgARAA0BdAAJABEAJAAgAAQAIwAeAA0AHAGZABAAEQAZABwAGAANACAAEQAEABkADQAaAA0AEwARAB4CIwARABEAGAAYAAQADQAEABIAHgAVABEAGgAQAAQADgAbACQCIgANABEAGAAYAAQADQAEABIAHgAVABEAGgAQAdoADQANAA4AGAARAAQAIQAaABkAEQAeABMAEQHQABYADQAOABgAEQAEAB4AGwAjAAQAFQAaAB8AEQAeACAABAAOABEAGAAbACMBzwAWAA0ADgAYABEABAAeABsAIwAEABUAGgAfABEAHgAgAAQADQAOABsAIgARAfMAEAANAA4AGAARAAQAHgAbACMABAATAB4AGwAhABwAHwHSABAADQAOABgAEQAEAB4AGwAjAAQAEAARABgAEQAgABEBygAQAA0ADgAYABEABAAcAB4AGwAcABEAHgAgABUAEQAfAfYAFAANAA4AGAARAAQAHAAbAB8AFQAgABUAGwAaAAQAHgAVABMAFAAgAfQAEwANAA4AGAARAAQAHAAbAB8AFQAgABUAGwAaAAQAGAARABIAIAH1ABUADQAOABgAEQAEABwAGwAfABUAIAAVABsAGgAEAA8AEQAaACAAEQAeAcgAEgANAA4AGAARAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMB1AAMAA0ADgAYABEABAAQABEAGAARACAAEQHyAAwADQAOABgAEQAEAA8AGwAeABoAEQAeAc4AGQANAA4AGAARAAQADwAbABgAIQAZABoABAAVABoAHwARAB4AIAAEAB4AFQATABQAIAHNABgADQAOABgAEQAEAA8AGwAYACEAGQAaAAQAFQAaAB8AEQAeACAABAAYABEAEgAgAfEAEwANAA4AGAARAAQADwAbABgAIQAZABoABAATAB4AGwAhABwAHwHRABMADQAOABgAEQAEAA8AGwAYACEAGQAaAAQAEAARABgAEQAgABEBzAAVAA0ADgAYABEABAAPABEAGAAYAAQAHAAeABsAHAARAB4AIAAVABEAHwHTABEADQAOABgAEQAEAA8AEQAYABgABAAQABEAGAARACAAEQHLAAoADQAOABgAEQAEAA8AEQAYABgB8AAKAA0ADgAYABEABAAOABsAEAAlAXgAFQANAA4AGAARAAQADQAYABUAEwAaAAQAIAAbABwABAAeABUAEwAUACABdgAUAA0ADgAYABEABAANABgAFQATABoABAAgABsAHAAEABgAEQASACABdwAWAA0ADgAYABEABAANABgAFQATABoABAAgABsAHAAEAA8AEQAaACAAEQAeAX8AEgANAA4AGAARAAQADQAYABUAEwAaAAQAHgARABkAGwAiABEBewAYAA0ADgAYABEABAANABgAFQATABoABAAZABUAEAAQABgAEQAEAB4AFQATABQAIAF5ABcADQAOABgAEQAEAA0AGAAVABMAGgAEABkAFQAQABAAGAARAAQAGAARABIAIAF6ABkADQAOABgAEQAEAA0AGAAVABMAGgAEABkAFQAQABAAGAARAAQADwARABoAIAARAB4BfgAYAA0ADgAYABEABAANABgAFQATABoABAAOABsAIAAgABsAGQAEAB4AFQATABQAIAF8ABcADQAOABgAEQAEAA0AGAAVABMAGgAEAA4AGwAgACAAGwAZAAQAGAARABIAIAF9ABkADQAOABgAEQAEAA0AGAAVABMAGgAEAA4AGwAgACAAGwAZAAQADwARABoAIAARAB4ByQAFAA0ADgAYABEACwAYACIAMABAAE4AWgBoAIgArAC8AMYCCAAEAB8AEQAeALYABgAcABgAGwANABAA3gAHABoAHwAgABUADwAXAKkABgAaAB8AGwAeACACBgAFABoAHAAVABoAlwAGABoAGAAbAA8AFwCVAA8AGgAYABUAGgAXAAQAIgARAB4AIAAVAA8ADQAYAJMAEQAaABgAFQAaABcABAAUABsAHgAVACYAGwAaACAADQAYAE0ABwAaABMAHgAbACEAHACDAAQAGgAQABsBVQAJABoAEAARAB4AGAAVABoAEQAKABYAKgBAAFgAbAB4AJYApACqAMwA5gAJABsAGAAhABkAEQAEACEAHADnAAoAGwAYACEAGQARAAQAGwASABIA5QALABsAGAAhABkAEQAEABAAGwAjABoCMQAJABUAGQARABsABAAOABsAJAIwAAUAFQAZABEAGwGsAA4AFQAQABEAGwAEABEAJAAgABEAHgAaAA0AGAJRAAYADgAcAB4AGwAWAlMAAgAOAeAAEAANABgAFQAQAA0AIAAVABsAGgAEACQAFAAgABkAGAHhAA8ADQAYABUAEAANACAAFQAbABoABAAQAA0AIAANAAgAEgAgADoAWgBqAIoAmACkAL8ABgAeABEAGgAPABQB7QAMABUAJgANAB4AEAAEACAADQAOABgAEQHvAA8AFQAmAA0AHgAQAAQADwAeABsAHwAfACAADQAOALsABwAVABoAEAAbACMAHwC8AA8AFQAaABAAGwAjAAQAGQAVABoAFQAZABUAJgARALoABgAVABoAEAAbACMAXQAFABUAEAAgABQA/QAHAA0AHgAaABUAGgATAAQACgAiADIASAIzAAsAGwAhACAAIQAOABEABAAOABsAJAIyAAcAGwAhACAAIQAOABECKQAKAA0AGQAZABEAHgAEAA4AGwAkAigABgANABkAGQARAB4ABQAMAB4ALgBKAGwAwwAIABsAGwAZAAQAGwAhACAAwgAHABsAGwAZAAQAFQAaAQIADQAbABsAGQAEAA4AEQAfACAABAASABUAIAEBABAAGwAbABkABAANAA8AIAAhAA0AGAAEAB8AFQAmABEAwQAEABsAGwAZAAEABAKdAAICngAAAAMD/wGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6iIDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEALAAAAAoACAABAAIAAEAIAAtADYASQB64FvhXOIO4wrkA+VT5qnmr+cF6CzpR+oi//3//wAAAAAAIAAtADAASQBh4ADhAOIA4wDkAOUA5gDmq+cA6ADpAOoA//3//wAB/+P/1//V/8P/rCAnH4Me4B3vHPob/htSG1EbARoHGTQYfAADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBQAEAAsACgAACAAABEQECwP6AAoD+gAGAAAABAUABAALAAoAAAgAAASEBAsD+gAGAAQABgAAAAQFAAQACwAKAAAIAAAERAQFAAYABAAGA/oAAAAEBQAEAAsACgAACAAABIQEBQAGA/oACgP6AAAABAQABAAMAAoAAAgAACQEhAgABAP4AAoD+gAAAAQFAAMACwALAAAIAAAkBEQLA/oABwP8AAgAAAAEBAAEAAwACgAACAAAJASECAP8AAgABAAGAAAABAUAAwALAAsAAAgAACQERAUABgAHAAQD+AAAAAgEAAQADAALAAAIABgAACQIRIRUhAQABAAEA/gACAAEAAYD+gAHAQAAAAAACAQAAwALAAsAAAgAGAAAJAiERIxEBAAGA/oABwEACwP8A/wACAP4AAAAAAAIBAAEAAwACwAACAAYAAAkCESE1IQMA/wD/AAIA/gACwP6AAYD+QEAAAAAAAgEAAMACwALAAAIABgAAJQkBIREzEQLA/oABgP5AQMABAAEA/gACAAAAAAACAQAAQAMAA0AAAgAFAAAlCQEJASEBAAEAAQD/AP8AAgBAAYD+gAMA/oAAAAIAgADAA4ACwAACAAUAABMJAQkBEYABgP6AAwD+gALA/wD/AAEAAQD+AAAAAgEAAEADAANAAAIABQAACQIJASEDAP8A/wABAAEA/gADQP6AAYD9AAGAAAACAIAAwAOAAsAAAgAFAAAlCQEJAREDgP6AAYD9AAGAwAEAAQD/AP8AAgAAAAIBAAAAAwADgAACAAYAAAEhAREBIQEBAAIA/wD/AAIA/wABgP6AA4D+gAGAAAAAAAIAAAEAA8ACgAACAAUAAAkCIQEhAgD/AP8AAsD/AAIAAoD+gAGA/oAAAAAAAgEAAQADAAMAAAIABgAACQI1FSE1AwD/AP8AAgACgP6AAYCAQEAAAAEAwAD8A0ACgAAGAAAlNxc3CQEXAQT8/ET+wP7ARPz8/EQBQP7ARAABATwAgALAAwAABgAAARcHFwkBBwE8/PxEAUD+wEQCvPz8RAFAAUBEAAAAAAEAwAEAA0AChAAGAAABBycHCQEnAvz8/EQBQAFARAKE/PxE/sABQEQAAAAAAQFAAIACxAMAAAYAACUnNycJATcCxPz8RP7AAUBExPz8RP7A/sBEAAEBAACAAwADAAAGAAABIxEjESMBAwDAgMABAAGA/wABAAGAAAEAwADAA0ACwAAGAAAlNSE1ITUBAcD/AAEAAYDAwIDA/wAAAAEBAACAAwADAAAHAAABMxEzETMJAQEAwIDA/wD/AAIAAQD/AP6AAYAAAAAAAQDAAMADQALAAAYAAAEVIRUhFQECQAEA/wD+gALAwIDAAQAAAQEAAMADQAKAAAoAAAEVMwsBMzUhNSEVAkCAoKCA/wACQAJAgP8AAQCAQEAAAAAAAQEAAMADQAKAAAgAAAEbASMVIRUhNQEAoKCAAYD+QAGAAQD/AIBAwAAAAAACAMAAwANAAsAACAAMAAABGwEjFSEVITUBIRUhAQCgoIABgP5AAcD9gAKAAYABAP8AgEDAAUBAAAMAAAAABAADgAAGAAoAEQAAATMVIxUtARMzESMBJRUjFTMVAQCAgP8AAQDAgIACQP8AgIABwUGAoKD9wAOA/iCggEF/AAAAAAEAQAAAA8ADgAARAAAlNSEVIzUjNTMRIxsBIxEhNQUCwP5AQICAgKCggAHAAQAAgICAQAHAAQD/AP5AgKAAAAACAMAAAANAA4AABgANAAABIxEjESMTAREjESMbAQIAgECAoAFgQICgoAKA/kABwAEA/YABwP5A/wABAAACAEABAAPAAsAAAgAGAAATDQEBFSE1QAGA/oABwAHAAsDg4AEAQEAABgBAAAADwAOAAAIABQAJAA0AEQAVAAATESUBEQUBFSE1BRUhNQEVITUFFSE1QAFA/sABQAJA/cACQP3AAkD9wAJA/cADgP6AwP1AAYDAAoBAQMBAQP7AQEDAQEAAAAAACQBAAAADwAOAAAMABwALAA8AEwAXABsAHwAjAAATIREhASERIQEhESE1IREhASERIQERIREBIREhJSERIQEhESFAAQD/AAFAAQD/AP7AAQD/AAEA/wABQAEA/wABQAEA/wABAP8A/sABAP8AAUABAP8AA4D/AP2AAQD/AAEAQAEA/wABAAFA/wABAP3AAQBAAQD8gAEAAAAGAEAAQAPAA4AAAwAHAAsADwATABcAABMzFSMlFSE1ATM1IwUhNSEBMzUjBSE1IUDAwAEAAoD8gMDAAQACgP2A/wDAwAEAAoD9gAOAwMDAwP4AwMDA/gDAwMAAAAQAQABAA4ADgAADAAcACwAPAAATIREhESERIQEhESEZASERQAGA/oABgP6AAcABgP6AAYABwP6AAcABgPzAAYABwP6AAYAAAAQAQABAA4ADgAADAAcACwAPAAATIREhEyERIQEhESEDESERQAGA/oBAAQD/AAHAAQD/AEABgAHA/oACAAEA/UABAAIA/oAB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gP6AQAEA/wADgPyAA4D8wAMA/gBAAYBA/wAAAAAUAAAAAAPAA8AABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAAATIxEhEQMhESEHIzUzBSM1MzUjNTMXIzUzFyM1MxcjNTMBIzUzJSM1MxEjNTM1IzUzASM1MwUjNTMFIzUzFyM1MxcjNTMFIzUzJSM1MwUjNTNAQAPAQPzAA0DAQED+AEBAQECAQECAQECAQED+gEBAAoBAQEBAQED9gEBAAgBAQP6AQECAQECAQEABAEBA/YBAQAKAQEADwPxAA8D8gANAwEDAQEBAQEBAQEBA/sBAwED+wEBAQP5AQEBAQEBAQEBAQEBAQEBAAAADAEAAAAPAA4AABAAIAAwAACURIREhJREhEQEhFSEDwPyAA4D8wAMA/UACgP2AQANA/IBAAwD9AALAwAADAEAAAAPAA4AABAAIAAwAADchESEREyERIQEzESOAA0D8gEADAP0AAgDAwAADgPyAA0D9AALA/YAAAAADAEAAAAPAA4AABAAIAAwAABMRIREhBREhERMhFSFAA4D8gANA/QBAAoD9gANA/MADgED9AAMA/gDAAAADAEAAAAPAA4AABAAIAAwAAAEhESERAyERIQUzESMDgPzAA4BA/QADAP1AwMADgPyAA4D8wAMAQP2AAAAEAEAAAAPAA4AAAwAHAAsADwAAEyEVIREhFSE1IREhFyERIUADgPyAA4D8gAOA/ICAAoD9gAOAQP0AQMACAID/AAAAAAQAQAAAA8ADgAADAAcACwAPAAABMxEjATMRIzchESEXIREhA4BAQPzAQECAAoD9gIABgP6AA4D8gAOA/IDAAgCA/wAABABAAAADwAOAAAMABwALAA8AABMRIREDIREhBTMRIwEzESNAA4BA/QADAP2AwMABQMDAA4D8gAOA/MADAID+AAIA/gAAAAAABgBAAAADwAOAAAMABwALAA8AEwAXAAA3IREhFyERIRMzESMBMxEjATMRIwEzESPAAoD9gEACAP4AQICAAQCAgP4AQEADQEBAgAKAQP4AAcD+gAGA/oACgPyAA4D8gAAABABAAAADwAOAAAMABwALAA8AABMRIREDIREhBTMRIwEzESNAA4BA/QADAP1AwMABwMDAA4D8gAOA/MADAED9gAKA/YAAAAAABABA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AQMBAQECBAI1Ly5GFBQBAQEBAQEBAQsXF0IoKC0CAMAZGVc6O0ICAAOA/voMHB1TNDQ6Qjs6VxkZExRFLi83wBQURi4vNS0oKEIXFwsBAQEBAQEBARQURi4vNQIEAgEBAQMBAQEBAQMBAQEEBwQCAQMBAQEBAQMBAQECAwIpJCMzDw4BAEI7OlcZGcAAAQCAAEADgANAAB8AAAEUBw4BBwYjISInLgEnJjURNDc+ATc2MyEyFx4BFxYVA4AUFEYuLzX/ADUvLkYUFBQURi4vNQEANS8uRhQUAUA1Ly5GFBQUFEYuLzUBADUvLkYUFBQURi4vNQADAIAAQAOAA0AABwANABMAABM1MzUhETM1ATMRIREhJRUjFSERwMD/AEABwID+AAFAAQDAAQACwEBA/wBA/kACAP4AgMBAAQAAAAAABQCAAEADgANAAAQACAARABYAGgAAATMRIRE3MxUjATMRIRUjESE1ISMRIREHIzUzAQCA/wBAgIABgMD+wMABQAEAwAEAQICAAkABAP8AwID/AAFAwP7AgP8AAQDAgAAAAgCAAEADgANAAAcADQAAAREhESERIREXIxUjFSEDgP4A/wACAMDAwAGAAkD+AAEAAgD/AEDAwAADAIAAQAOAA0AAAwAHAA0AAAERIREDIREhAyERMxEhAYACAED+gAGAwP4AwAFAAkD+AAIA/kABgAFA/gABQAAABAA/AAADfwOAAAMABwALAA8AABMzESMBIREhBREhEQUhFSE/QEACQP5AAcABAP1AAoD9wAJAA4D8gAMA/wCA/wABAECAAAAAAgB/AAADPwOAABQAGAAAATUzESM1IxUjETMVIREhFTM1IREhBSE1IQH/wMBAwMD+wAFAQAFA/sABAP3AAkABgIABAICA/wCA/wCAgAEAwIAAAAAABACBAAADwQOAAAQACQAOABIAADchESERNyEVITUTIREhESURIxGBAsD9QEACQP3AwAHA/kACQECAAQD/AMCAgAHA/wABAID8gAOAAAQAPwBAA78DgAADAAcACwAQAAATIREhASERITczESMlFSE1Ib8BAP8AAYABAP8AQICA/cADgPyAAwD+QAHA/UBAAkDAQEAAAAIAPwCAA78DQAATABgAAAERIREjNSEVIxUzFSE1MxEhETM1IxEjETMDP/8AgP8AgIABAIABAIDAgIAC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FTMRIxUhAz/+wED+wAFAwMBAwMABQICAgAEAgAEAgID/AIAAAAMAgQAAA8EDgAAEAAgADQAAASERIRElETMRASERIREBgQHA/kACAED8wALA/UADAP8AAQCA/IADgP0AAQD/AAAEAD8AAAO/A4AAAwAHAAsAEAAAASERIQEzESMhETMRASERIREDP/2AAoD9AEBAA0BA/QICgP2AAgABAP0AA4D8gAOA/QABAP8AAAAAAwA/AIADvwNAABMAFwAbAAABESERIzUhFSMVMxUhNTMRIREzNQUjNTMBIxEzAz//AID/AICAAQCAAQCA/cCAgAGAgIACAAFA/sDAwEDAwP7AAUBAwID/AAEAAAADAEAAQAPAA4AAAwAHAAsAABMhESEDFSE1ASERIcABAP8AgAOA/oABAP8AAwD+QAJAQED8wALAAAEAPwCAA78DQAATAAABIxEhESMVITUjNTM1IRUzESERMwO/gP8AgP8AgIABAIABAIABwP7AAUDAwEDAwAFA/sAAAAAAAwA///4DvwM+AAMACAAMAAAlIREhARUhNSEBIREhAb//AAEA/oADgPyAAwD/AAEAfgHA/gBAQAMA/UAABAA/AAADvwOAAAMACAANABEAAAERIREDITUhFREVITUhBREhEQG//wCAA4D8gAOA/IACAAEAAwD9gAKA/QBAQAOAQEB+/YACgAAAAAMAfwAAAz8DgAAUABgAHAAAATUzESM1IxUjETMVIREhFTM1IREhByE1IREjNTMB/8DAQMDA/sABQEABQP7AQP8AAQCAgAGAgAEAgID/AID/AICAAQDAgAEAgAAAAwA/AAAC/wOAAAMABwAMAAATIREhBzMRIwURIREhvwEA/wCAQEABwAEA/wADAP2AgAOAfv2AAoAAAAAAAwB/AAADPwOAAAQACAAMAAATIREhEQEzESMXESERfwEA/wABQEBAgAEAAwD9gAKA/QADgH79gAKAAAAAAwEBAAADwQOAAAQACAAMAAABIREhESURMxEBIREhAQEBAP8AAoBA/oABAP8AAwD9gAKAgPyAA4D9AgKAAAAAAAT//wAAA/8DgAAEAAgADAARAAATIREhESURMxEBIREhATMRIxF/AQD/AANAQP6AAQD/AP2AQEADAP2AAoCA/IADgP0CAoD8/gOA/IAAAAAABP//AAAD/wOAAAMABwAL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IREFITUhFSE1IRUhNSFAA4D8wAMA/UABgP6AAoD9gAGA/oAAA8D8QAOA/MADQIBAwEDAQAAFAEAAAAPAA8AAAwAHAAsADwATAAA3ESERAREhEQchFSEXIRUhByEVIUADgPzAAwDA/oABgID9gAKAgP6AAYAAA8D8QAOA/MADQEBAQEBAQAAAAAAFAEAAAAPAA8AAAwAHAAsADwATAAA3ESERAREhEQchFSEVIRUhFSEVIUADgPzAAwBA/oABgP2AAoD+gAGAAAPA/EADgPzAA0BAQEBAQEAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERASE1IRUhNSEVITUhQAOA/MADAP1AAYD+gAKA/YABgP6AAAPA/EADgPzAA0D+wEDAQMBAAAAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERAyEVIRchFSEHIRUhQAOA/MADAMD+gAGAgP2AAoCA/oABgAADwPxAA4D8wANA/wBAQEBAQAAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERAyEVIRUhFSEVIRUhQAOA/MADAED+gAGA/YACgP6AAYAAA8D8QAOA/MADQP8AQEBAQEAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREBITUhFSE1IRUhNSFAA4D8wAMA/UABgP6AAoD9gAGA/oAAA8D8QAOA/MADQP4AQMBAwEAAAAAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREDIRUhFyEVIQchFSFAA4D8wAMAwP6AAYCA/YACgID+gAGAAAPA/EADgPzAA0D+QEBAQEBAAAAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREDIRUhFSEVIRUhFSFAA4D8wAMAQP6AAYD9gAKA/oABgAADwPxAA4D8wANA/kBAQEBAQAAGAEAAAAPAA8AAAwAHAAsADwATACcAABMRIREDIREhARcjNRUzFyMfASE1AzcXIRUhFyEVIRczFSMXMxUjFwdAA4BA/QADAP2HPEN/PLv2PP7OQC0yAeH+WzwBaf7SPPK2O3s/fy0DwPxAA8D8gANA/oBAQIBAQEBAAggtNUBAQEBAQECILQAABQBAAEADgAOAAAMABwALAA8AEwAAExEhEQUhESEZASERKQERITUhESFAA0D9AAFA/sABQAGA/sABQP7AAUADgPzAA0BA/sD+gAFA/sABQEABQAAACwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAAASM1MzMjFTM3IxUzNSMVMzUjFTMRIxUzNSMVMzcjFTM3IxUzExEhEQUhESEBAEBAgEBAgEBAQEBAQEBAQECAQECAQECA/MADAP1AAsABwEBAQEDAQMBA/kBAwEDAQEBAAcD8wANAQP1AAAAVAEAAQAOAA4AAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwBDAEcASwBPAFsAABMjNTMVIxUzFSMVMxUjFTMVIxUzASMVMxUjFTMVIxUzFSMVMwEjFTM3IxUzASMVMzcjFTM3IxUzJSMVMzcjFTM3IxUzASMVMzcjFTM3IxUzESERIxEhFSERMxEhgEBAQEBAQEBAQEADAEBAQEBAQEBA/YBAQIBAQP8AQECAQECAQEABAEBAgEBAgEBA/wBAQIBAQIBAQP6AQP6AAYBAAYADQECAQEBAwEBAQAJAQEBAwEBAQALAQEBA/UBAQEBAQEBAQEBAQANAQEBAQED+wAGA/oBA/oABgAAAABsAQABAA4ADgAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawAAARUhNRMjFTMVIzUzFSM1MxEjNTMVIzUzASM1MxUjNTMRIzUzFSM1MwEjNTMXIzUzFyM1MxUjNTMVIzUzESM1MxUjNTMVIzUzISMVMzMjNTMXIzUzISMVMzMjNTMXIzUzASMVMzMjNTMXIzUzA4D8wEBAQEBAQEBAQEBAAwBAQEBAQEBAQP2AQECAQECAQEBAQEBAQEBAQEBA/oBAQIBAQIBAQAEAQECAQECAQED/AEBAgEBAgEBAAgBAQAGAQIBAwED+wEDAQAHAQMBA/sBAwEACQEBAQEBAwEDAQP7AQMBAwEBAQEBAQEBAQAMAQEBAQAAAGwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAWwBfAGMAZwBrAAAlIxEzBTUjFSM1MxUjNTMVITUzFSM1MxUBNTMVIzUzFSE1MxUjNTMVATUzFQc1MxUHNTMVIzUzFSM1MxUhNTMVIzUzFSM1MxURNSMVFTUzFQc1MxURNSMVFTUzFQc1MxUBNSMVFTUzFQc1MxUCAEBAAYBAgEDAQP7AQMBAAcBAwED+wEDAQAJAQEBAQEDAQMBA/sBAwEDAQEBAQEBAQEBAAwBAQEBAQANAQEBAQEBAQEBAQED9AEBAQEBAQEBAAoBAQIBAQIBAQEBAQEBAQEBAQEABgEBAgEBAgEBA/wBAQIBAQIBAQAEAQECAQECAQEAAAAAbAEAAQAOAA4AAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwBDAEcASwBPAFMAVwBbAF8AYwBnAGsAAAEVITUXIxUzFSM1MxUjNTMVIzUzFSM1MwEjNTMVIzUzFSM1MxUjNTMlIzUzFyM1MzcjNTMVIzUzFSM1MxUjNTMVIzUzFSM1MyEjFTMzIzUzFyM1MyEjFTMzIzUzFyM1MwEjFTMzIzUzNyM1MwOA/MBAQEBAQEBAQEBAQAMAQEBAQEBAQED9gEBAgEBAgEBAQEBAQEBAQEBAQP6AQECAQECAQEABAEBAgEBAgEBA/wBAQIBAQIBAQAOAQECAQIBAwEDAQMBAAUBAwEDAQMBAwEBAQMBAwEDAQMBAwEDAQEBAQEBAQEBAAYBAQMBAAAAAGwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAWwBfAGMAZwBrAAA3NSEVJSMVMzUjNTM1IzUzNSM1MzUjNTMBIzUzNSM1MzUjNTM1IzUzASM1MxcjNTMTIzUzNSM1MzUjNTM1IzUzNSM1MzUjNTMhIxUzMyM1MxcjNTMhIxUzMyM1MxcjNTMBIxUzMyM1MxMjNTNAA0D9AEBAQEBAQEBAQEADAEBAQEBAQEBA/YBAQIBAQIBAQEBAQEBAQEBAQED+gEBAgEBAgEBAAQBAQIBAQIBAQP8AQECAQECAQEBAQEDAQIBAQEBAQEBA/kBAQEBAQEBA/sBAQED+wEBAQEBAQEBAQEBAQEBAQEBAQED+gEBA/sBAABsAQABAA4ADgAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawAAEzMRIxM1IxUzNTMVMzUzFTM1MxUzNTMVATUzFTM1MxUzNTMVMzUzFQE1MxUHNTMVBTUzFTM1MxUzNTMVMzUzFTM1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A0D8gAJA/gABgP6AwMAAAAADAEAAAAPAA4AACwAPABMAAAERIxEhESMRIxEhEQERMxEzETMRAoBA/sCAQAOA/YDAwMADgPzAA0D8wANA/IADgPzAAgD+AAFA/sAABABAAAADwAOAAAUACQANABEAACUVIREzEQEjETMTESERJSERIQPA/IBAAYDAwED+wALA/sABQEBAA4D8wAKA/kACAP3AAkCA/kAAAAIAQAAAA8ADgAALAA8AADc1IREhNSERIREhNQEVITWAAUD+wALA/QADgP3A/wBAgAFAQAFA/IBAAYDAwAAAAAADAEAAAAPAA4AACwAPABMAADc1IREhNSERIREhNQEzFSMFFSE1gALA/UACAP3AA4D8wMDAAYD+gECAAUBAAUD8gEADAMDAwMAAAAAAAwBAAAADwAOAAAsADwATAAABESERITUhNSERITUFFSE1ESEVIQPA/IADgPzAA0D8wAIA/gABQP7AAkABQPyAQIABQECAwMABgMAAAAQAQAAAA8ADgAAFAAkADQARAAAlFSERMxEBIRUhExEhEQEhESEDwPyAQAKA/kABwED9wALA/kABwEBAA4D8wAGAwAEA/sABQAGA/sAAAAAAAwBAAAADwAOAAAoADgARAAABJwcnByc1IxEhEQUXByclFwcDK7C3REu1QAOA/sCFhY7+joyMAi+x5ERatOb8gAMAgIW7jnKMpwAAAAIAQAAAA8ADgAAHAA8AAAElAREjESERAwkCNQEXNwKA/wD/AEADgED/AP8A/wABDfz3AnWA/wABi/yAA4D+5v6aAQD+zc4BDH7OAAACAEAAAAPAA4AAAwAJAAATESERBwkCESFAA4BA/wD/AP8AAwADgPyAA4Da/poBAP7NAjMAAQBAAAADwAOAAA0AADcVIRUhETMRAQUBEQEngANA/IBAAQABAAFA/sD+gEBAA4D+QAEAgAFA/oD+wIAAAwBAAAADwQOAAAUAGQAdAAA3IRUhETMBAzUTNycHNTcXNxc3FQcfAScHJzcXNyeAA0D8gEABMfHCUzfe8FfacG9MTAF1paoyeIFWQEADgP49/sNmAQRCRHBMdGyuq4VeXXVrrsrVKJeafwAAAwBAAAADwAOAAAUADQAVAAAlFSERMxEBBSU1BSUFFQEFJTUFJQUVA8D8gEABQAEAAQD/AP8A/wABAAEAAQD/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BAAAQAQAAEAEAABABAABQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAYAEAABABAAAgAQAAEAEAAFABAAAAAQAAMAEAAAABAAAwAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAABAAQAAQAEAAEABAABAAQAAEAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAMAEAADABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAABAAQAAFMEAAAABAAAAAQAAQAEAAAABAAAwAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAwAQAAEAEAAEABAABAAQAAIAEAACABAABAAQAAIAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAMAEAADABAAAwAQAAIAEAADABAAAWgQAAEMEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAAAQAQAAIAEAAFABAABQAQAAEAEAABABAAAQAQAAMAEAADABAABAAQAAQAEAAEABAAAgAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAABABAAAUQQAAQAEAACABAAAQAQAAEAEAAAABAAAQAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAEAEAADABAAAwAQAAMAEAABQBAAAUAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAQAEAACABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAAAEAAAABAAAAAQAAEAEAAAABAAAQAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAAwEAADABAAAQAQAAEAEAABABAAAQAQAAIAEAAAABAABAAQAAQAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAAA/BAAAfwQAAIEEAAA/BAAAPwQAAD8EAABABAAAQAQAAEAEAABABAAAAAQAAAAEAABABAAAQAQAAAAEAAAABAAAAAQAAAAEAABABAAAQAQAAEAEAABABAAAPwQAAIAEAAAABAD//gQAAAAEAABABAAAAAQAAAAEAABABAAAAAQAAD8EAAA/BAAAPwQAAH8EAACBBAAAPwQAAD8EAABABAAAPwQAAD8EAAA/BAAAfwQAAD8EAAB/BAABAQQA//8EAP//BAAAPwQAAD8EAAA/BAAAPwQAAD8EAACABAABAAQAAQAEAAEABAABAAQAAMAEAABABAAAQAQAAAAEAACABAAAgAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAMAEAADABAAAAAQAAEAEAABABAAAAAQAAIAEAABABAAAAAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAIAEAACABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAAAEAAAABAAAAAQAAAAEAABABAAAQAQAAEAEAAAABAAAQAQAAAAEAABABAAAQAQAAAAEAAAABAAAQAQAAAAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAFMEAAAABAAAAAQAAAAEAABABAAAQAQAAMAEAABABAABAAQAAIAEAABABAAAgAQAAIAEAABABAAAAAQAAAAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACgBAAAoAQAAMAEAACABAAAQAQAAIAEAABABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAEABAAAQAQAAMAEAABABAAAQAQAAEAEAACABAAAQAQAAEAEAABABAAAgAQAAEAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAADABAAAQAQAAEAEAABABAAAQgQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAQAQAAEAEAACABAAAgAQAAIAEAACABAAAQAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAQAQAAEAEAACABAAAQAQAAEAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQgQAAEAEAABABAAAQAAAAAAAAAAAAAoAFAAeACgAMgA8AEYAUABaAGQAbgB4AIIAjACWAKAAqgC0AL4AyADSANwA5gDwAPoBBAEOARgBIgEsATYBQAFKAVQBXgFoAXIBfAGKAZgBpgG0AcIB0AHeAewCAgIYAi4CRAJaAnAChgKcArQCygLeAvIDCAMeAzIDRANWA2wDfgOWA6wDyAPsBAwEKgQ+BG4EugToBQwFMgVGBXYFoAXGBeYGEAYqBkQGXgZ4Bq4G5Ab+B1IHaAeAB6QHyAf2CCQIVgiICLoI7AkeCWAJognkCiYKaAqKCqwKzgrwCxILPgtsC5oLyAv2DB4MRgzEDOINAA0eDTwNXg2ADaQN1A34DhwOQA5mDrYPCA90D8QQFhB2ELwQ8BFGEXIRuBIGEmYSzhNmE84UZhSqFOwVTBXEFkIWVha6FvYXEBd6F7wX1Bg6GHgYhhjkGRoZNBlOGXQZiBmcGbIZ1hnqGggaJhpcGpwathrQGuobBBsoG0obbBuCG6IbsBw6HUYdmB4SHnIe4B9IH2wfnh/eIAwgIiAwIEAgTiB+IJIgtCDOIOog+iEmIXAhtCIwIywkiiVCJcYmLCbSJuYnLieOJ84n3CfyKAAoFCgoKFIorijUKVIp8iokKlQqYip2KoQq6CsiK1IrbCuCK6IrwCwCLDIsiizyLTItmi4aLnwu1i8UL1ovsDACMCwwWjCEMJ4wuDFqMZAxtjIgMuozVDNkNCA0cjSgNMQ1sjXgNfY2rjbiNwg3ODdUN3Q3mDfCN+g4DDg0OFY4djiYOLg42DkCOSw56jpKOnQ6njr4OzI7bjuOO8I79jw+PF48kjzGPQw9ej3EPhg+aD6qPtg/Bj8kP0Q/ZD+KP7g/1D/2QBRAOkBoQIZApEDEQOxBEkEyQVJBckGaQcJCLkKqQsRDAEMSQzBDkEPyRShFrkYyRwhH5kimSXxKhEsiTABM+E3iTi5OaE6gTsJO5E8GTyJPPk9aT4hPtk/kUBJQWlCQULhQ4FEKUTJRXFGGUa5R2FICUipSblKYUt5TZlQAVJpVMlXKVmRW/Fe0V/ZYglk+WeJaqFrWWx5b3F1cXvZftmDsYTphZmGoYrRjOmPKZDBklmUQZX5mAGaCZuZnKmd0Z9xoQmhqaKBo9GlEabZp7GpMarBq6GuKa8ZsGGxybMRtHm10bchuCG5SbrJvEnDmcTpyLHJ+csZzEHZadtB3sniCeSJ5dnnAegB6VnqSevB7KHtee5Z7znwqfIR8wH0KfUJ9en2wffp+RH6Gfs5/Fn9cf7aA+oImgrCC9oQohEiEqoWUhhSG6Iduh/SIIoiMiUyJkIpSipaK3Isgi2SLoIvajBSMho1QjYaN1I6ijtSPCo9Kj3SPnpBQkNSRKpGQkbaR3JIoklyShJLmk1yTcpOck9yUOJR6lNKU9pUwlo6YAplumvKbLpt8m9qcTpzSnWCgIqL6o2aj6KRmpO6lOqWcpgamfqcYp8SohKlYqiirAqtSq66sFKyKrOytZK2OrcquBK44rpCu4q8GrzSvcrBUsIywyrECsV6yRLMss3S0GrRYtIS05LVAtXC1pLXOtqi3FrdquDa48rlmudS5+rowulS6vrtSu4y7xrvuvBa8ULyIvM69Cr0yvbC/SMEQwv7EBsRAxITE4MVWxeTGosbixwTHtMgCyFjI0MkiycDKEsp4yq7K7Ms+zOLNKM1WzXbNnM3CzejOCM4uzlTOfM6izsjO4s8AzzbPZs+O0NrSMNN21CLVBtWe1pzXFNe819zYVNiI2LjZANn22hzacNrW2uAAAQAAAp8DLAA+AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAABoBPgABAAAAAAAAABsBEQABAAAAAAABABIAAAABAAAAAAACAAcDYAABAAAAAAADABIC9AABAAAAAAAEABIDdQABAAAAAAAFAAsC0wABAAAAAAAGABIDKgABAAAAAAAJABsBYgABAAAAAAAKADMAeAABAAAAAAALABYANgABAAAAAAAMABYBswABAAAAAAANABsB9QABAAAAAAAOAC8CRgADAAEECQAAADYBLAADAAEECQABACQAEgADAAEECQACAA4DZwADAAEECQADACQDBgADAAEECQAEACQDhwADAAEECQAFABYC3gADAAEECQAGACQDPAADAAEECQAJADYBfQADAAEECQAKAGYAqwADAAEECQALACwATAADAAEECQAMACwByQADAAEECQANADYCEAADAAEECQAOAF4CdVdlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac2h0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbVdlYiBDb21wb25lbnRzIEljb24gRm9udApGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBXAGUAYgAgAEMAbwBtAHAAbwBuAGUAbgB0AHMAIABJAGMAbwBuACAARgBvAG4AdAAKAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALlRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeVRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeWh0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbUFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5odG1sAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAC4AaAB0AG0AbFZlcnNpb24gMS43AFYAZQByAHMAaQBvAG4AIAAxAC4AN1dlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1dlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcldlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4AcwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype");\n}\n.k-icon {\n width: 1em;\n height: 1em;\n outline: 0;\n font-size: 16px;\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-variant: normal;\n font-weight: normal;\n line-height: 1;\n speak: none;\n text-transform: none;\n text-decoration: none;\n flex-shrink: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n.k-icon:hover, .k-icon:focus {\n text-decoration: none;\n}\n.k-no-flexbox {\n display: inline-block;\n}\n.k-svg-icon {\n width: 1em;\n height: 1em;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n}\n.k-svg-icon > svg {\n fill: currentColor;\n flex: 1 0 auto;\n}\n.k-svg-icon.k-flip-h, .k-svg-icon.k-flip-v, .k-svg-icon.k-flip-h.k-flip-v {\n transform: none;\n}\n.k-svg-icon.k-flip-h > svg {\n transform: scaleX(-1);\n}\n.k-svg-icon.k-flip-v > svg {\n transform: scaleY(-1);\n}\n.k-svg-icon.k-flip-h.k-flip-v > svg {\n transform: scale(-1, -1);\n}\n.k-icon-with-modifier {\n position: relative;\n margin: 0.25em;\n}\n.k-icon-modifier {\n position: absolute;\n font-size: 0.5em;\n bottom: 0;\n right: 0;\n margin: 0 -0.5em -0.5em 0;\n}\n.k-i-none::before {\n content: "";\n display: none;\n}\n.k-widget .k-icon.k-i-expand, .k-widget .k-icon.k-i-collapse {\n cursor: pointer;\n}\n.k-icon-xs {\n font-size: 8px;\n}\n.k-icon-sm {\n font-size: 12px;\n}\n.k-icon-md {\n font-size: 32px;\n}\n.k-icon-lg {\n font-size: 48px;\n}\n.k-icon-xl {\n font-size: 64px;\n}\n.k-i-caret-tr::before {\n content: "";\n}\n.k-i-arrow-45-up-right::before {\n content: "";\n}\n.k-i-collapse-ne::before {\n content: "";\n}\n.k-i-resize-ne::before {\n content: "";\n}\n.k-i-caret-br::before {\n content: "";\n}\n.k-i-arrow-45-down-right::before {\n content: "";\n}\n.k-i-collapse-se::before {\n content: "";\n}\n.k-i-resize-se::before {\n content: "";\n}\n.k-i-caret-bl::before {\n content: "";\n}\n.k-i-arrow-45-down-left::before {\n content: "";\n}\n.k-i-collapse-sw::before {\n content: "";\n}\n.k-i-resize-sw::before {\n content: "";\n}\n.k-i-caret-tl::before {\n content: "";\n}\n.k-i-arrow-45-up-left::before {\n content: "";\n}\n.k-i-collapse-nw::before {\n content: "";\n}\n.k-i-resize-nw::before {\n content: "";\n}\n.k-i-caret-alt-up::before {\n content: "";\n}\n.k-i-arrow-60-up::before {\n content: "";\n}\n.k-i-arrow-n::before {\n content: "";\n}\n.k-i-kpi-trend-increase::before {\n content: "";\n}\n.k-i-expand-n::before {\n content: "";\n}\n.k-i-sarrow-n::before {\n content: "";\n}\n.k-i-caret-alt-right::before {\n content: "";\n}\n.k-i-arrow-60-right::before {\n content: "";\n}\n.k-i-arrow-e::before {\n content: "";\n}\n.k-i-expand::before {\n content: "";\n}\n.k-i-expand-e::before {\n content: "";\n}\n.k-i-sarrow-e::before {\n content: "";\n}\n.k-i-caret-alt-down::before {\n content: "";\n}\n.k-i-arrow-60-down::before {\n content: "";\n}\n.k-i-arrow-s::before {\n content: "";\n}\n.k-i-kpi-trend-decrease::before {\n content: "";\n}\n.k-i-expand-s::before {\n content: "";\n}\n.k-i-collapse::before {\n content: "";\n}\n.k-i-sarrow-s::before {\n content: "";\n}\n.k-i-caret-alt-left::before {\n content: "";\n}\n.k-i-arrow-60-left::before {\n content: "";\n}\n.k-i-arrow-w::before {\n content: "";\n}\n.k-i-expand-w::before {\n content: "";\n}\n.k-i-sarrow-w::before {\n content: "";\n}\n.k-i-caret-alt-to-top::before {\n content: "";\n}\n.k-i-arrow-end-up::before {\n content: "";\n}\n.k-i-seek-n::before {\n content: "";\n}\n.k-i-caret-alt-to-right::before {\n content: "";\n}\n.k-i-arrow-end-right::before {\n content: "";\n}\n.k-i-seek-e::before {\n content: "";\n}\n.k-i-caret-alt-to-bottom::before {\n content: "";\n}\n.k-i-arrow-end-down::before {\n content: "";\n}\n.k-i-seek-s::before {\n content: "";\n}\n.k-i-caret-alt-to-left::before {\n content: "";\n}\n.k-i-arrow-end-left::before {\n content: "";\n}\n.k-i-seek-w::before {\n content: "";\n}\n.k-i-caret-double-alt-up::before {\n content: "";\n}\n.k-i-arrow-double-60-up::before {\n content: "";\n}\n.k-i-arrow-seek-up::before {\n content: "";\n}\n.k-i-caret-double-alt-right::before {\n content: "";\n}\n.k-i-arrow-double-60-right::before {\n content: "";\n}\n.k-i-arrow-seek-right::before {\n content: "";\n}\n.k-i-forward-sm::before {\n content: "";\n}\n.k-i-caret-double-alt-down::before {\n content: "";\n}\n.k-i-arrow-double-60-down::before {\n content: "";\n}\n.k-i-arrow-seek-down::before {\n content: "";\n}\n.k-i-caret-double-alt-left::before {\n content: "";\n}\n.k-i-arrow-double-60-left::before {\n content: "";\n}\n.k-i-arrow-seek-left::before {\n content: "";\n}\n.k-i-rewind-sm::before {\n content: "";\n}\n.k-i-caret-alt-expand::before {\n content: "";\n}\n.k-i-arrows-kpi::before {\n content: "";\n}\n.k-i-kpi::before {\n content: "";\n}\n.k-i-caret-alt-sort::before {\n content: "";\n}\n.k-i-arrows-no-change::before {\n content: "";\n}\n.k-i-arrow-overflow-down::before {\n content: "";\n}\n.k-i-chevron-up::before {\n content: "";\n}\n.k-i-arrow-chevron-up::before {\n content: "";\n}\n.k-i-arrowhead-n::before {\n content: "";\n}\n.k-i-chevron-right::before {\n content: "";\n}\n.k-i-arrow-chevron-right::before {\n content: "";\n}\n.k-i-arrowhead-e::before {\n content: "";\n}\n.k-i-chevron-down::before {\n content: "";\n}\n.k-i-arrow-chevron-down::before {\n content: "";\n}\n.k-i-arrowhead-s::before {\n content: "";\n}\n.k-i-chevron-left::before {\n content: "";\n}\n.k-i-arrow-chevron-left::before {\n content: "";\n}\n.k-i-arrowhead-w::before {\n content: "";\n}\n.k-i-arrow-up::before {\n content: "";\n}\n.k-i-arrow-right::before {\n content: "";\n}\n.k-i-arrow-down::before {\n content: "";\n}\n.k-i-arrow-left::before {\n content: "";\n}\n.k-i-level-down::before {\n content: "";\n}\n.k-i-arrow-drill::before {\n content: "";\n}\n.k-i-level-up::before {\n content: "";\n}\n.k-i-arrow-parent::before {\n content: "";\n}\n.k-i-level-to-top::before {\n content: "";\n}\n.k-i-arrow-root::before {\n content: "";\n}\n.k-i-level-root::before {\n content: "";\n}\n.k-i-col-resize::before {\n content: "";\n}\n.k-i-arrows-resizing::before {\n content: "";\n}\n.k-i-arrows-axes::before {\n content: "";\n}\n.k-i-arrows-dimensions::before {\n content: "";\n}\n.k-i-dimension::before {\n content: "";\n}\n.k-i-arrows-swap::before {\n content: "";\n}\n.k-i-drag-and-drop::before {\n content: "";\n}\n.k-i-categorize::before {\n content: "";\n}\n.k-i-grid::before {\n content: "";\n}\n.k-i-grid-layout::before {\n content: "";\n}\n.k-i-group::before {\n content: "";\n}\n.k-i-ungroup::before {\n content: "";\n}\n.k-i-handler-drag::before {\n content: "";\n}\n.k-i-layout::before {\n content: "";\n}\n.k-i-layout-1-by-4::before {\n content: "";\n}\n.k-i-layout-2-by-2::before {\n content: "";\n}\n.k-i-page-layout::before {\n content: "";\n}\n.k-i-layout-side-by-side::before {\n content: "";\n}\n.k-i-layout-stacked::before {\n content: "";\n}\n.k-i-columns::before {\n content: "";\n}\n.k-i-rows::before {\n content: "";\n}\n.k-i-reorder::before {\n content: "";\n}\n.k-i-menu::before {\n content: "";\n}\n.k-i-hamburger::before {\n content: "";\n}\n.k-i-more-vertical::before {\n content: "";\n}\n.k-i-more-v::before {\n content: "";\n}\n.k-i-vbars::before {\n content: "";\n}\n.k-i-more-horizontal::before {\n content: "";\n}\n.k-i-more-h::before {\n content: "";\n}\n.k-i-hbars::before {\n content: "";\n}\n.k-i-overlap::before {\n content: "";\n}\n.k-i-home::before {\n content: "";\n}\n.k-i-root::before {\n content: "";\n}\n.k-i-height::before {\n content: "";\n}\n.k-i-width::before {\n content: "";\n}\n.k-i-max-height::before {\n content: "";\n}\n.k-i-max-width::before {\n content: "";\n}\n.k-i-min-height::before {\n content: "";\n}\n.k-i-min-width::before {\n content: "";\n}\n.k-i-margin::before {\n content: "";\n}\n.k-i-margin-top::before {\n content: "";\n}\n.k-i-margin-right::before {\n content: "";\n}\n.k-i-margin-bottom::before {\n content: "";\n}\n.k-i-margin-left::before {\n content: "";\n}\n.k-i-padding::before {\n content: "";\n}\n.k-i-padding-top::before {\n content: "";\n}\n.k-i-padding-right::before {\n content: "";\n}\n.k-i-padding-bottom::before {\n content: "";\n}\n.k-i-padding-left::before {\n content: "";\n}\n.k-i-border-style::before {\n content: "";\n}\n.k-i-border-style-top::before {\n content: "";\n}\n.k-i-border-style-right::before {\n content: "";\n}\n.k-i-border-style-bottom::before {\n content: "";\n}\n.k-i-border-style-left::before {\n content: "";\n}\n.k-i-border-radius::before {\n content: "";\n}\n.k-i-border-radius-top-right::before {\n content: "";\n}\n.k-i-border-radius-bottom-right::before {\n content: "";\n}\n.k-i-border-radius-bottom-left::before {\n content: "";\n}\n.k-i-border-radius-top-left::before {\n content: "";\n}\n.k-i-outline-width::before {\n content: "";\n}\n.k-i-outline-offset::before {\n content: "";\n}\n.k-i-box-sizing::before {\n content: "";\n}\n.k-i-position-top::before {\n content: "";\n}\n.k-i-position-right::before {\n content: "";\n}\n.k-i-position-bottom::before {\n content: "";\n}\n.k-i-position-left::before {\n content: "";\n}\n.k-i-display-block::before {\n content: "";\n}\n.k-i-display-inline-block::before {\n content: "";\n}\n.k-i-display-flex::before {\n content: "";\n}\n.k-i-display-inline-flex::before {\n content: "";\n}\n.k-i-gap-column::before {\n content: "";\n}\n.k-i-gap-row::before {\n content: "";\n}\n.k-i-undo::before {\n content: "";\n}\n.k-i-undo-large::before {\n content: "";\n}\n.k-i-redo::before {\n content: "";\n}\n.k-i-redo-large::before {\n content: "";\n}\n.k-i-arrow-rotate-ccw::before {\n content: "";\n}\n.k-i-reset::before {\n content: "";\n}\n.k-i-arrow-rotate-cw::before {\n content: "";\n}\n.k-i-reload::before {\n content: "";\n}\n.k-i-refresh::before {\n content: "";\n}\n.k-i-recurrence::before {\n content: "";\n}\n.k-i-arrows-repeat::before {\n content: "";\n}\n.k-i-arrows-no-repeat::before {\n content: "";\n}\n.k-i-non-recurrence::before {\n content: "";\n}\n.k-i-refresh-clear::before {\n content: "";\n}\n.k-i-arrow-rotate-ccw-small::before {\n content: "";\n}\n.k-i-reset-sm::before {\n content: "";\n}\n.k-i-arrow-rotate-cw-small::before {\n content: "";\n}\n.k-i-reload-sm::before {\n content: "";\n}\n.k-i-refresh-sm::before {\n content: "";\n}\n.k-i-recurrence-sm::before {\n content: "";\n}\n.k-i-arrows-repeat-sm::before {\n content: "";\n}\n.k-i-clock::before {\n content: "";\n}\n.k-i-calendar::before {\n content: "";\n}\n.k-i-save::before {\n content: "";\n}\n.k-i-floppy::before {\n content: "";\n}\n.k-i-print::before {\n content: "";\n}\n.k-i-printer::before {\n content: "";\n}\n.k-i-pencil::before {\n content: "";\n}\n.k-i-edit::before {\n content: "";\n}\n.k-i-trash::before {\n content: "";\n}\n.k-i-delete::before {\n content: "";\n}\n.k-i-paperclip::before {\n content: "";\n}\n.k-i-attachment::before {\n content: "";\n}\n.k-i-clip::before {\n content: "";\n}\n.k-i-paperclip-alt::before {\n content: "";\n}\n.k-i-attachment-45::before {\n content: "";\n}\n.k-i-clip-45::before {\n content: "";\n}\n.k-i-link::before {\n content: "";\n}\n.k-i-link-horizontal::before {\n content: "";\n}\n.k-i-hyperlink::before {\n content: "";\n}\n.k-i-link-h::before {\n content: "";\n}\n.k-i-unlink::before {\n content: "";\n}\n.k-i-unlink-horizontal::before {\n content: "";\n}\n.k-i-hyperlink-remove::before {\n content: "";\n}\n.k-i-unlink-h::before {\n content: "";\n}\n.k-i-link-vertical::before {\n content: "";\n}\n.k-i-link-v::before {\n content: "";\n}\n.k-i-unlink-vertical::before {\n content: "";\n}\n.k-i-unlink-v::before {\n content: "";\n}\n.k-i-lock::before {\n content: "";\n}\n.k-i-unlock::before {\n content: "";\n}\n.k-i-cancel::before {\n content: "";\n}\n.k-i-cancel-outline::before {\n content: "";\n}\n.k-i-deny::before {\n content: "";\n}\n.k-i-cancel-circle::before {\n content: "";\n}\n.k-i-check::before {\n content: "";\n}\n.k-i-checkmark::before {\n content: "";\n}\n.k-i-tick::before {\n content: "";\n}\n.k-i-check-outline::before {\n content: "";\n}\n.k-i-checkmark-outline::before {\n content: "";\n}\n.k-i-success::before {\n content: "";\n}\n.k-i-check-circle::before {\n content: "";\n}\n.k-i-checkmark-circle::before {\n content: "";\n}\n.k-i-x::before {\n content: "";\n}\n.k-i-close::before {\n content: "";\n}\n.k-i-clear::before {\n content: "";\n}\n.k-i-times::before {\n content: "";\n}\n.k-i-group-delete::before {\n content: "";\n}\n.k-i-x-outline::before {\n content: "";\n}\n.k-i-close-outline::before {\n content: "";\n}\n.k-i-clear-outline::before {\n content: "";\n}\n.k-i-times-outline::before {\n content: "";\n}\n.k-i-error::before {\n content: "";\n}\n.k-i-x-circle::before {\n content: "";\n}\n.k-i-close-circle::before {\n content: "";\n}\n.k-i-clear-circle::before {\n content: "";\n}\n.k-i-times-circle::before {\n content: "";\n}\n.k-i-plus::before, .k-plus::before {\n content: "";\n}\n.k-i-add::before {\n content: "";\n}\n.k-i-plus-outline::before {\n content: "";\n}\n.k-i-add-outline::before {\n content: "";\n}\n.k-i-plus-circle::before {\n content: "";\n}\n.k-i-add-circle::before {\n content: "";\n}\n.k-i-minus::before, .k-minus::before {\n content: "";\n}\n.k-i-kpi-trend-equal::before {\n content: "";\n}\n.k-i-minus-outline::before {\n content: "";\n}\n.k-i-minus-circle::before {\n content: "";\n}\n.k-i-sort-asc::before {\n content: "";\n}\n.k-i-sort-desc::before {\n content: "";\n}\n.k-i-sort-clear::before {\n content: "";\n}\n.k-i-unsort::before {\n content: "";\n}\n.k-i-sort-asc-small::before {\n content: "";\n}\n.k-i-sort-asc-sm::before {\n content: "";\n}\n.k-i-sort-desc-small::before {\n content: "";\n}\n.k-i-sort-desc-sm::before {\n content: "";\n}\n.k-i-filter::before {\n content: "";\n}\n.k-i-filter-clear::before {\n content: "";\n}\n.k-i-filter-small::before {\n content: "";\n}\n.k-i-filter-sm::before {\n content: "";\n}\n.k-i-filter-sort-asc-small::before {\n content: "";\n}\n.k-i-filter-sort-asc-sm::before {\n content: "";\n}\n.k-i-filter-sort-desc-small::before {\n content: "";\n}\n.k-i-filter-sort-desc-sm::before {\n content: "";\n}\n.k-i-filter-add-expression::before {\n content: "";\n}\n.k-i-filter-add-group::before {\n content: "";\n}\n.k-i-login::before {\n content: "";\n}\n.k-i-sign-in::before {\n content: "";\n}\n.k-i-logout::before {\n content: "";\n}\n.k-i-sign-out::before {\n content: "";\n}\n.k-i-download::before {\n content: "";\n}\n.k-i-upload::before {\n content: "";\n}\n.k-i-hyperlink-open::before {\n content: "";\n}\n.k-i-hyperlink-open-sm::before {\n content: "";\n}\n.k-i-launch::before {\n content: "";\n}\n.k-i-window::before {\n content: "";\n}\n.k-i-window-maximize::before {\n content: "";\n}\n.k-i-maximize::before {\n content: "";\n}\n.k-i-window-restore::before {\n content: "";\n}\n.k-i-windows::before {\n content: "";\n}\n.k-i-tiles::before {\n content: "";\n}\n.k-i-restore::before {\n content: "";\n}\n.k-i-window-minimize::before {\n content: "";\n}\n.k-i-minimize::before {\n content: "";\n}\n.k-i-gear::before {\n content: "";\n}\n.k-i-cog::before {\n content: "";\n}\n.k-i-custom::before {\n content: "";\n}\n.k-i-gears::before {\n content: "";\n}\n.k-i-cogs::before {\n content: "";\n}\n.k-i-wrench::before {\n content: "";\n}\n.k-i-settings::before {\n content: "";\n}\n.k-i-eye::before {\n content: "";\n}\n.k-i-preview::before {\n content: "";\n}\n.k-i-search::before {\n content: "";\n}\n.k-i-zoom::before {\n content: "";\n}\n.k-i-zoom-in::before {\n content: "";\n}\n.k-i-zoom-out::before {\n content: "";\n}\n.k-i-arrows-move::before {\n content: "";\n}\n.k-i-pan::before {\n content: "";\n}\n.k-i-move::before {\n content: "";\n}\n.k-i-calculator::before {\n content: "";\n}\n.k-i-cart::before {\n content: "";\n}\n.k-i-shopping-cart::before {\n content: "";\n}\n.k-i-connector::before {\n content: "";\n}\n.k-i-plus-sm::before {\n content: "";\n}\n.k-i-splus::before {\n content: "";\n}\n.k-i-minus-sm::before {\n content: "";\n}\n.k-i-sminus::before {\n content: "";\n}\n.k-i-kpi-status-deny::before {\n content: "";\n}\n.k-i-kpi-status-hold::before {\n content: "";\n}\n.k-i-kpi-status-open::before {\n content: "";\n}\n.k-i-equal::before {\n content: "";\n}\n.k-i-not-equal::before {\n content: "";\n}\n.k-i-less-or-equal::before {\n content: "";\n}\n.k-i-greater-or-equal::before {\n content: "";\n}\n.k-i-divide::before {\n content: "";\n}\n.k-i-accessibility::before {\n content: "";\n}\n.k-i-barcode-outline::before {\n content: "";\n}\n.k-i-barcode::before {\n content: "";\n}\n.k-i-barcode-scanner::before {\n content: "";\n}\n.k-i-qr-code-outline::before {\n content: "";\n}\n.k-i-qr-code::before {\n content: "";\n}\n.k-i-qr-code-scanner::before {\n content: "";\n}\n.k-i-barcode-qr-code-scanner::before {\n content: "";\n}\n.k-i-signature::before {\n content: "";\n}\n.k-i-hand::before {\n content: "";\n}\n.k-i-pointer::before {\n content: "";\n}\n.k-i-cursor::before {\n content: "";\n}\n.k-i-stick::before {\n content: "";\n}\n.k-i-unstick::before {\n content: "";\n}\n.k-i-set-column-position::before {\n content: "";\n}\n.k-i-play::before {\n content: "";\n}\n.k-i-pause::before {\n content: "";\n}\n.k-i-stop::before {\n content: "";\n}\n.k-i-rewind::before {\n content: "";\n}\n.k-i-forward::before {\n content: "";\n}\n.k-i-volume-down::before {\n content: "";\n}\n.k-i-volume-low::before {\n content: "";\n}\n.k-i-volume-up::before {\n content: "";\n}\n.k-i-volume-high::before {\n content: "";\n}\n.k-i-volume-mute::before {\n content: "";\n}\n.k-i-volume-off::before {\n content: "";\n}\n.k-i-hd::before {\n content: "";\n}\n.k-i-closed-captions::before {\n content: "";\n}\n.k-i-subtitles::before {\n content: "";\n}\n.k-i-playlist::before {\n content: "";\n}\n.k-i-music-notes::before {\n content: "";\n}\n.k-i-audio::before {\n content: "";\n}\n.k-i-play-sm::before {\n content: "";\n}\n.k-i-pause-sm::before {\n content: "";\n}\n.k-i-stop-sm::before {\n content: "";\n}\n.k-i-heart-outline::before {\n content: "";\n}\n.k-i-fav-outline::before {\n content: "";\n}\n.k-i-favorite-outline::before {\n content: "";\n}\n.k-i-heart::before {\n content: "";\n}\n.k-i-fav::before {\n content: "";\n}\n.k-i-favorite::before {\n content: "";\n}\n.k-i-star-outline::before {\n content: "";\n}\n.k-i-bookmark-outline::before {\n content: "";\n}\n.k-i-star::before {\n content: "";\n}\n.k-i-bookmark::before {\n content: "";\n}\n.k-i-checkbox::before {\n content: "";\n}\n.k-i-shape-rect::before {\n content: "";\n}\n.k-i-checkbox-checked::before {\n content: "";\n}\n.k-i-checkbox-indeterminate::before {\n content: "";\n}\n.k-i-tri-state-indeterminate::before {\n content: "";\n}\n.k-i-checkbox-null::before {\n content: "";\n}\n.k-i-tri-state-null::before {\n content: "";\n}\n.k-i-circle::before {\n content: "";\n}\n.k-i-radiobutton::before {\n content: "";\n}\n.k-i-shape-circle::before {\n content: "";\n}\n.k-i-radiobutton-checked::before {\n content: "";\n}\n.k-i-bell::before {\n content: "";\n}\n.k-i-notification::before {\n content: "";\n}\n.k-i-info-circle::before {\n content: "";\n}\n.k-i-information::before {\n content: "";\n}\n.k-i-info::before {\n content: "";\n}\n.k-i-note::before {\n content: "";\n}\n.k-i-question-circle::before {\n content: "";\n}\n.k-i-question::before {\n content: "";\n}\n.k-i-help::before {\n content: "";\n}\n.k-i-exclamation-circle::before {\n content: "";\n}\n.k-i-warning::before {\n content: "";\n}\n.k-i-exception::before {\n content: "";\n}\n.k-i-camera::before {\n content: "";\n}\n.k-i-photo-camera::before {\n content: "";\n}\n.k-i-image::before {\n content: "";\n}\n.k-i-photo::before {\n content: "";\n}\n.k-i-image-export::before {\n content: "";\n}\n.k-i-photo-export::before {\n content: "";\n}\n.k-i-zoom-actual-size::before {\n content: "";\n}\n.k-i-zoom-best-fit::before {\n content: "";\n}\n.k-i-image-resize::before {\n content: "";\n}\n.k-i-crop::before {\n content: "";\n}\n.k-i-mirror::before {\n content: "";\n}\n.k-i-flip-horizontal::before {\n content: "";\n}\n.k-i-flip-h::before {\n content: "";\n}\n.k-i-flip-vertical::before {\n content: "";\n}\n.k-i-flip-v::before {\n content: "";\n}\n.k-i-rotate::before {\n content: "";\n}\n.k-i-rotate-right::before {\n content: "";\n}\n.k-i-rotate-cw::before {\n content: "";\n}\n.k-i-rotate-left::before {\n content: "";\n}\n.k-i-rotate-ccw::before {\n content: "";\n}\n.k-i-brush::before {\n content: "";\n}\n.k-i-palette::before {\n content: "";\n}\n.k-i-droplet::before {\n content: "";\n}\n.k-i-paint::before {\n content: "";\n}\n.k-i-background::before {\n content: "";\n}\n.k-i-shape-line::before {\n content: "";\n}\n.k-i-line::before {\n content: "";\n}\n.k-i-brightness-contrast::before {\n content: "";\n}\n.k-i-sliders::before {\n content: "";\n}\n.k-i-saturation::before {\n content: "";\n}\n.k-i-invert-colors::before {\n content: "";\n}\n.k-i-transparency::before {\n content: "";\n}\n.k-i-opacity::before {\n content: "";\n}\n.k-i-grayscale::before {\n content: "";\n}\n.k-i-blur::before {\n content: "";\n}\n.k-i-sharpen::before {\n content: "";\n}\n.k-i-shapes::before {\n content: "";\n}\n.k-i-shape::before {\n content: "";\n}\n.k-i-round-corners::before {\n content: "";\n}\n.k-i-bring-to-front::before {\n content: "";\n}\n.k-i-front-element::before {\n content: "";\n}\n.k-i-bring-to-back::before {\n content: "";\n}\n.k-i-back-element::before {\n content: "";\n}\n.k-i-bring-forward::before {\n content: "";\n}\n.k-i-forward-element::before {\n content: "";\n}\n.k-i-bring-backward::before {\n content: "";\n}\n.k-i-backward-element::before {\n content: "";\n}\n.k-i-align-self-start::before {\n content: "";\n}\n.k-i-align-left-element::before {\n content: "";\n}\n.k-i-align-self-center::before {\n content: "";\n}\n.k-i-align-center-element::before {\n content: "";\n}\n.k-i-align-self-end::before {\n content: "";\n}\n.k-i-align-right-element::before {\n content: "";\n}\n.k-i-align-self-start-alt::before {\n content: "";\n}\n.k-i-align-top-element::before {\n content: "";\n}\n.k-i-align-self-center-alt::before {\n content: "";\n}\n.k-i-align-middle-element::before {\n content: "";\n}\n.k-i-align-self-end-alt::before {\n content: "";\n}\n.k-i-align-bottom-element::before {\n content: "";\n}\n.k-i-thumbnails-up::before {\n content: "";\n}\n.k-i-thumbnails-right::before {\n content: "";\n}\n.k-i-thumbnails-down::before {\n content: "";\n}\n.k-i-thumbnails-left::before {\n content: "";\n}\n.k-i-fullscreen::before {\n content: "";\n}\n.k-i-full-screen::before {\n content: "";\n}\n.k-i-fullscreen-enter::before {\n content: "";\n}\n.k-i-fullscreen-exit::before {\n content: "";\n}\n.k-i-full-screen-exit::before {\n content: "";\n}\n.k-i-droplet-slash::before {\n content: "";\n}\n.k-i-reset-color::before {\n content: "";\n}\n.k-i-paint-remove::before {\n content: "";\n}\n.k-i-background-remove::before {\n content: "";\n}\n.k-i-photos::before {\n content: "";\n}\n.k-i-images::before {\n content: "";\n}\n.k-i-gallery::before {\n content: "";\n}\n.k-i-align-to-grid::before {\n content: "";\n}\n.k-i-size-to-grid::before {\n content: "";\n}\n.k-i-make-same-size::before {\n content: "";\n}\n.k-i-make-same-width::before {\n content: "";\n}\n.k-i-make-same-height::before {\n content: "";\n}\n.k-i-make-horizontal-spacing-equal::before {\n content: "";\n}\n.k-i-increase-horizontal-spacing::before {\n content: "";\n}\n.k-i-decrease-horizontal-spacing::before {\n content: "";\n}\n.k-i-remove-horizontal-spacing::before {\n content: "";\n}\n.k-i-make-vertical-spacing-equal::before {\n content: "";\n}\n.k-i-increase-vertical-spacing::before {\n content: "";\n}\n.k-i-decrease-vertical-spacing::before {\n content: "";\n}\n.k-i-remove-vertical-spacing::before {\n content: "";\n}\n.k-i-eyedropper::before {\n content: "";\n}\n.k-i-snap-grid::before {\n content: "";\n}\n.k-i-snap-to-gridlines::before {\n content: "";\n}\n.k-i-snap-to-snaplines::before {\n content: "";\n}\n.k-i-dimentions::before {\n content: "";\n}\n.k-i-align-self-stretch::before {\n content: "";\n}\n.k-i-align-stretch-element-horizontal::before {\n content: "";\n}\n.k-i-align-self-stretch-alt::before {\n content: "";\n}\n.k-i-align-stretch-element-vertical::before {\n content: "";\n}\n.k-i-align-items-start::before {\n content: "";\n}\n.k-i-align-left-elements::before {\n content: "";\n}\n.k-i-align-items-center::before {\n content: "";\n}\n.k-i-align-center-elements::before {\n content: "";\n}\n.k-i-align-items-end::before {\n content: "";\n}\n.k-i-align-right-elements::before {\n content: "";\n}\n.k-i-align-items-stretch::before {\n content: "";\n}\n.k-i-align-stretch-elements-horizontal::before {\n content: "";\n}\n.k-i-align-items-baseline::before {\n content: "";\n}\n.k-i-align-baseline-horizontal::before {\n content: "";\n}\n.k-i-align-items-start-alt::before {\n content: "";\n}\n.k-i-align-top-elements::before {\n content: "";\n}\n.k-i-align-items-center-alt::before {\n content: "";\n}\n.k-i-align-middle-elements::before {\n content: "";\n}\n.k-i-align-items-end-alt::before {\n content: "";\n}\n.k-i-align-bottom-elements::before {\n content: "";\n}\n.k-i-align-items-stretch-alt::before {\n content: "";\n}\n.k-i-align-stretch-elements-vertical::before {\n content: "";\n}\n.k-i-align-items-baseline-alt::before {\n content: "";\n}\n.k-i-align-baseline-vertical::before {\n content: "";\n}\n.k-i-justify-content-start::before {\n content: "";\n}\n.k-i-justify-start-horizontal::before {\n content: "";\n}\n.k-i-justify-content-center::before {\n content: "";\n}\n.k-i-justify-center-horizontal::before {\n content: "";\n}\n.k-i-justify-content-end::before {\n content: "";\n}\n.k-i-justify-end-horizontal::before {\n content: "";\n}\n.k-i-justify-content-between::before {\n content: "";\n}\n.k-i-justify-between-horizontal::before {\n content: "";\n}\n.k-i-justify-content-around::before {\n content: "";\n}\n.k-i-justify-around-horizontal::before {\n content: "";\n}\n.k-i-justify-content-start-alt::before {\n content: "";\n}\n.k-i-justify-start-vertical::before {\n content: "";\n}\n.k-i-justify-content-center-alt::before {\n content: "";\n}\n.k-i-justify-center-vertical::before {\n content: "";\n}\n.k-i-justify-content-end-alt::before {\n content: "";\n}\n.k-i-justify-end-vertical::before {\n content: "";\n}\n.k-i-justify-content-between-alt::before {\n content: "";\n}\n.k-i-justify-between-vertical::before {\n content: "";\n}\n.k-i-justify-content-around-alt::before {\n content: "";\n}\n.k-i-justify-around-vertical::before {\n content: "";\n}\n.k-i-file-wrench::before {\n content: "";\n}\n.k-i-page-properties::before {\n content: "";\n}\n.k-i-bold::before {\n content: "";\n}\n.k-i-italic::before {\n content: "";\n}\n.k-i-underline::before {\n content: "";\n}\n.k-i-font-family::before {\n content: "";\n}\n.k-i-foreground-color::before {\n content: "";\n}\n.k-i-text::before {\n content: "";\n}\n.k-i-convert-lowercase::before {\n content: "";\n}\n.k-i-convert-uppercase::before {\n content: "";\n}\n.k-i-strikethrough::before {\n content: "";\n}\n.k-i-strike-through::before {\n content: "";\n}\n.k-i-subscript::before {\n content: "";\n}\n.k-i-sub-script::before {\n content: "";\n}\n.k-i-supscript::before {\n content: "";\n}\n.k-i-sup-script::before {\n content: "";\n}\n.k-i-superscript::before {\n content: "";\n}\n.k-i-div::before {\n content: "";\n}\n.k-i-all::before {\n content: "";\n}\n.k-i-h1::before {\n content: "";\n}\n.k-i-h2::before {\n content: "";\n}\n.k-i-h3::before {\n content: "";\n}\n.k-i-h4::before {\n content: "";\n}\n.k-i-h5::before {\n content: "";\n}\n.k-i-h6::before {\n content: "";\n}\n.k-i-list-ordered::before {\n content: "";\n}\n.k-i-list-numbered::before {\n content: "";\n}\n.k-i-insert-ordered-list::before {\n content: "";\n}\n.k-i-list-unordered::before {\n content: "";\n}\n.k-i-list-bulleted::before {\n content: "";\n}\n.k-i-insert-unordered-list::before {\n content: "";\n}\n.k-i-indent::before {\n content: "";\n}\n.k-i-indent-increase::before {\n content: "";\n}\n.k-i-outdent::before {\n content: "";\n}\n.k-i-indent-decrease::before {\n content: "";\n}\n.k-i-insert-top::before {\n content: "";\n}\n.k-i-insert-up::before {\n content: "";\n}\n.k-i-insert-n::before {\n content: "";\n}\n.k-i-insert-middle::before {\n content: "";\n}\n.k-i-insert-m::before {\n content: "";\n}\n.k-i-insert-bottom::before {\n content: "";\n}\n.k-i-insert-down::before {\n content: "";\n}\n.k-i-insert-s::before {\n content: "";\n}\n.k-i-align-top::before {\n content: "";\n}\n.k-i-align-middle::before {\n content: "";\n}\n.k-i-align-bottom::before {\n content: "";\n}\n.k-i-align-left::before {\n content: "";\n}\n.k-i-justify-left::before {\n content: "";\n}\n.k-i-align-center::before {\n content: "";\n}\n.k-i-justify-center::before {\n content: "";\n}\n.k-i-align-right::before {\n content: "";\n}\n.k-i-justify-left::before {\n content: "";\n}\n.k-i-align-justify::before {\n content: "";\n}\n.k-i-justify-full::before {\n content: "";\n}\n.k-i-align-remove::before {\n content: "";\n}\n.k-i-justify-clear::before {\n content: "";\n}\n.k-i-text-wrap::before {\n content: "";\n}\n.k-i-horizontal-rule::before {\n content: "";\n}\n.k-i-rule-horizontal::before {\n content: "";\n}\n.k-i-hr::before {\n content: "";\n}\n.k-i-table-align-top-left::before {\n content: "";\n}\n.k-i-table-align-top-center::before {\n content: "";\n}\n.k-i-table-align-top-right::before {\n content: "";\n}\n.k-i-table-align-middle-left::before {\n content: "";\n}\n.k-i-table-align-middle-center::before {\n content: "";\n}\n.k-i-table-align-middle-right::before {\n content: "";\n}\n.k-i-table-align-bottom-left::before {\n content: "";\n}\n.k-i-table-align-bottom-center::before {\n content: "";\n}\n.k-i-table-align-bottom-right::before {\n content: "";\n}\n.k-i-table-align-remove::before {\n content: "";\n}\n.k-i-borders-all::before {\n content: "";\n}\n.k-i-all-borders::before {\n content: "";\n}\n.k-i-borders-outside::before {\n content: "";\n}\n.k-i-outside-borders::before {\n content: "";\n}\n.k-i-borders-inside::before {\n content: "";\n}\n.k-i-inside-borders::before {\n content: "";\n}\n.k-i-borders-inside-horizontal::before {\n content: "";\n}\n.k-i-border-inside-h::before {\n content: "";\n}\n.k-i-inside-horizontal-borders::before {\n content: "";\n}\n.k-i-borders-inside-vertical::before {\n content: "";\n}\n.k-i-borders-inside-v::before {\n content: "";\n}\n.k-i-inside-vertical-borders::before {\n content: "";\n}\n.k-i-border-top::before {\n content: "";\n}\n.k-i-top-border::before {\n content: "";\n}\n.k-i-border-bottom::before {\n content: "";\n}\n.k-i-bottom-border::before {\n content: "";\n}\n.k-i-border-left::before {\n content: "";\n}\n.k-i-left-border::before {\n content: "";\n}\n.k-i-border-right::before {\n content: "";\n}\n.k-i-right-border::before {\n content: "";\n}\n.k-i-borders-none::before {\n content: "";\n}\n.k-i-border-no::before {\n content: "";\n}\n.k-i-no-borders::before {\n content: "";\n}\n.k-i-borders-show-hide::before {\n content: "";\n}\n.k-i-form::before {\n content: "";\n}\n.k-i-border::before {\n content: "";\n}\n.k-i-form-element::before {\n content: "";\n}\n.k-i-code-snippet::before {\n content: "";\n}\n.k-i-select-all::before {\n content: "";\n}\n.k-i-button::before {\n content: "";\n}\n.k-i-select-box::before {\n content: "";\n}\n.k-i-calendar-date::before {\n content: "";\n}\n.k-i-group-box::before {\n content: "";\n}\n.k-i-textarea::before {\n content: "";\n}\n.k-i-textbox::before {\n content: "";\n}\n.k-i-textbox-hidden::before {\n content: "";\n}\n.k-i-password::before {\n content: "";\n}\n.k-i-paragraph-add::before {\n content: "";\n}\n.k-i-edit-tools::before {\n content: "";\n}\n.k-i-template-manager::before {\n content: "";\n}\n.k-i-change-manually::before {\n content: "";\n}\n.k-i-track-changes::before {\n content: "";\n}\n.k-i-track-changes-enable::before {\n content: "";\n}\n.k-i-track-changes-accept::before {\n content: "";\n}\n.k-i-track-changes-accept-all::before {\n content: "";\n}\n.k-i-track-changes-reject::before {\n content: "";\n}\n.k-i-track-changes-reject-all::before {\n content: "";\n}\n.k-i-document-manager::before {\n content: "";\n}\n.k-i-custom-icon::before {\n content: "";\n}\n.k-i-book::before {\n content: "";\n}\n.k-i-dictionary-add::before {\n content: "";\n}\n.k-i-image-add::before {\n content: "";\n}\n.k-i-image-light-dialog::before {\n content: "";\n}\n.k-i-image-insert::before {\n content: "";\n}\n.k-i-insert-image::before {\n content: "";\n}\n.k-i-image-edit::before {\n content: "";\n}\n.k-i-image-map-editor::before {\n content: "";\n}\n.k-i-comment::before {\n content: "";\n}\n.k-i-comment-remove::before {\n content: "";\n}\n.k-i-comments-remove::before {\n content: "";\n}\n.k-i-comments-remove-all::before {\n content: "";\n}\n.k-i-silverlight::before {\n content: "";\n}\n.k-i-media-manager::before {\n content: "";\n}\n.k-i-video-external::before {\n content: "";\n}\n.k-i-flash-manager::before {\n content: "";\n}\n.k-i-binoculars::before {\n content: "";\n}\n.k-i-find-and-replace::before {\n content: "";\n}\n.k-i-find::before {\n content: "";\n}\n.k-i-copy::before {\n content: "";\n}\n.k-i-files::before {\n content: "";\n}\n.k-i-cut::before {\n content: "";\n}\n.k-i-clipboard::before {\n content: "";\n}\n.k-i-paste::before {\n content: "";\n}\n.k-i-clipboard-code::before {\n content: "";\n}\n.k-i-paste-as-html::before {\n content: "";\n}\n.k-i-clipboard-word::before {\n content: "";\n}\n.k-i-paste-from-word::before {\n content: "";\n}\n.k-i-clipboard-word-alt::before {\n content: "";\n}\n.k-i-paste-from-word-strip-file::before {\n content: "";\n}\n.k-i-clipboard-html::before {\n content: "";\n}\n.k-i-paste-html::before {\n content: "";\n}\n.k-i-clipboard-markdown::before {\n content: "";\n}\n.k-i-paste-markdown::before {\n content: "";\n}\n.k-i-clipboard-text::before {\n content: "";\n}\n.k-i-paste-plain-text::before {\n content: "";\n}\n.k-i-apply-format::before {\n content: "";\n}\n.k-i-clear-css::before {\n content: "";\n}\n.k-i-clearformat::before {\n content: "";\n}\n.k-i-copy-format::before {\n content: "";\n}\n.k-i-strip-all-formatting::before {\n content: "";\n}\n.k-i-strip-css-format::before {\n content: "";\n}\n.k-i-strip-font-elements::before {\n content: "";\n}\n.k-i-strip-span-elements::before {\n content: "";\n}\n.k-i-strip-word-formatting::before {\n content: "";\n}\n.k-i-format-code-block::before {\n content: "";\n}\n.k-i-building-blocks::before {\n content: "";\n}\n.k-i-style-builder::before {\n content: "";\n}\n.k-i-puzzle-piece::before {\n content: "";\n}\n.k-i-module-manager::before {\n content: "";\n}\n.k-i-puzzle::before {\n content: "";\n}\n.k-i-link-add::before {\n content: "";\n}\n.k-i-hyperlink-light-dialog::before {\n content: "";\n}\n.k-i-hyperlink-insert::before {\n content: "";\n}\n.k-i-globe-link::before {\n content: "";\n}\n.k-i-hyperlink-globe::before {\n content: "";\n}\n.k-i-globe-unlink::before {\n content: "";\n}\n.k-i-hyperlink-globe-remove::before {\n content: "";\n}\n.k-i-envelop-link::before {\n content: "";\n}\n.k-i-hyperlink-email::before {\n content: "";\n}\n.k-i-anchor::before {\n content: "";\n}\n.k-i-table-add::before {\n content: "";\n}\n.k-i-table-light-dialog::before {\n content: "";\n}\n.k-i-table-insert::before {\n content: "";\n}\n.k-i-create-table::before {\n content: "";\n}\n.k-i-table::before {\n content: "";\n}\n.k-i-table-properties::before {\n content: "";\n}\n.k-i-table-cell::before {\n content: "";\n}\n.k-i-table-cell-properties::before {\n content: "";\n}\n.k-i-table-column-insert-left::before {\n content: "";\n}\n.k-i-add-column-left::before {\n content: "";\n}\n.k-i-table-column-insert-right::before {\n content: "";\n}\n.k-i-add-column-right::before {\n content: "";\n}\n.k-i-table-row-insert-above::before {\n content: "";\n}\n.k-i-add-row-above::before {\n content: "";\n}\n.k-i-table-row-insert-below::before {\n content: "";\n}\n.k-i-add-row-below::before {\n content: "";\n}\n.k-i-table-column-delete::before {\n content: "";\n}\n.k-i-delete-column::before {\n content: "";\n}\n.k-i-table-row-delete::before {\n content: "";\n}\n.k-i-delete-row::before {\n content: "";\n}\n.k-i-table-cell-delete::before {\n content: "";\n}\n.k-i-table-delete::before {\n content: "";\n}\n.k-i-cells-merge::before {\n content: "";\n}\n.k-i-merge-cells::before {\n content: "";\n}\n.k-i-cells-merge-horizontally::before {\n content: "";\n}\n.k-i-cells-merge-h::before {\n content: "";\n}\n.k-i-merge-horizontally::before {\n content: "";\n}\n.k-i-cells-merge-vertically::before {\n content: "";\n}\n.k-i-cells-merge-v::before {\n content: "";\n}\n.k-i-merge-vertically::before {\n content: "";\n}\n.k-i-cell-split-horizontally::before {\n content: "";\n}\n.k-i-cells-split-h::before {\n content: "";\n}\n.k-i-cell-split-vertically::before {\n content: "";\n}\n.k-i-cells-split-v::before {\n content: "";\n}\n.k-i-table-unmerge::before {\n content: "";\n}\n.k-i-normal-layout::before {\n content: "";\n}\n.k-i-pane-freeze::before {\n content: "";\n}\n.k-i-freeze-pane::before {\n content: "";\n}\n.k-i-row-freeze::before {\n content: "";\n}\n.k-i-freeze-row::before {\n content: "";\n}\n.k-i-column-freeze::before {\n content: "";\n}\n.k-i-col-freeze::before {\n content: "";\n}\n.k-i-freeze-col::before {\n content: "";\n}\n.k-i-toolbar-float::before {\n content: "";\n}\n.k-i-spell-checker::before {\n content: "";\n}\n.k-i-validation-xhtml::before {\n content: "";\n}\n.k-i-validation-data::before {\n content: "";\n}\n.k-i-toggle-full-screen-mode::before {\n content: "";\n}\n.k-i-formula-fx::before {\n content: "";\n}\n.k-i-fx::before {\n content: "";\n}\n.k-i-sum::before {\n content: "";\n}\n.k-i-symbol::before {\n content: "";\n}\n.k-i-dollar::before {\n content: "";\n}\n.k-i-currency::before {\n content: "";\n}\n.k-i-percent::before {\n content: "";\n}\n.k-i-custom-format::before {\n content: "";\n}\n.k-i-format-number::before {\n content: "";\n}\n.k-i-decimal-increase::before {\n content: "";\n}\n.k-i-increace-decimal::before {\n content: "";\n}\n.k-i-decimal-decrease::before {\n content: "";\n}\n.k-i-decrease-decimal::before {\n content: "";\n}\n.k-i-font-size::before {\n content: "";\n}\n.k-i-image-absolute-position::before {\n content: "";\n}\n.k-i-table-wizard::before {\n content: "";\n}\n.k-i-crosstab::before {\n content: "";\n}\n.k-i-crosstab-wizard::before {\n content: "";\n}\n.k-i-table-body::before {\n content: "";\n}\n.k-i-table-column-groups::before {\n content: "";\n}\n.k-i-table-corner::before {\n content: "";\n}\n.k-i-table-row-groups::before {\n content: "";\n}\n.k-i-globe-outline::before {\n content: "";\n}\n.k-i-globe::before {\n content: "";\n}\n.k-i-map-marker::before {\n content: "";\n}\n.k-i-marker-pin::before {\n content: "";\n}\n.k-i-map-marker-target::before {\n content: "";\n}\n.k-i-marker-pin-target::before {\n content: "";\n}\n.k-i-pin::before {\n content: "";\n}\n.k-i-unpin::before {\n content: "";\n}\n.k-i-share::before {\n content: "";\n}\n.k-i-user::before {\n content: "";\n}\n.k-i-inbox::before {\n content: "";\n}\n.k-i-blogger::before {\n content: "";\n}\n.k-i-blogger-box::before {\n content: "";\n}\n.k-i-delicious::before {\n content: "";\n}\n.k-i-delicious-box::before {\n content: "";\n}\n.k-i-digg::before {\n content: "";\n}\n.k-i-digg-box::before {\n content: "";\n}\n.k-i-envelop::before {\n content: "";\n}\n.k-i-email::before {\n content: "";\n}\n.k-i-letter::before {\n content: "";\n}\n.k-i-envelop-box::before {\n content: "";\n}\n.k-i-email-box::before {\n content: "";\n}\n.k-i-letter-box::before {\n content: "";\n}\n.k-i-facebook::before {\n content: "";\n}\n.k-i-facebook-box::before {\n content: "";\n}\n.k-i-google::before {\n content: "";\n}\n.k-i-google-box::before {\n content: "";\n}\n.k-i-google-plus::before {\n content: "";\n}\n.k-i-google-plus-box::before {\n content: "";\n}\n.k-i-linkedin::before {\n content: "";\n}\n.k-i-linkedin-box::before {\n content: "";\n}\n.k-i-myspace::before {\n content: "";\n}\n.k-i-myspace-box::before {\n content: "";\n}\n.k-i-pinterest::before {\n content: "";\n}\n.k-i-pinterest-box::before {\n content: "";\n}\n.k-i-reddit::before {\n content: "";\n}\n.k-i-reddit-box::before {\n content: "";\n}\n.k-i-stumble-upon::before {\n content: "";\n}\n.k-i-stumble-upon-box::before {\n content: "";\n}\n.k-i-tell-a-friend::before {\n content: "";\n}\n.k-i-tell-a-friend-box::before {\n content: "";\n}\n.k-i-tumblr::before {\n content: "";\n}\n.k-i-tumblr-box::before {\n content: "";\n}\n.k-i-twitter::before {\n content: "";\n}\n.k-i-twitter-box::before {\n content: "";\n}\n.k-i-yammer::before {\n content: "";\n}\n.k-i-yammer-box::before {\n content: "";\n}\n.k-i-behance::before {\n content: "";\n}\n.k-i-behance-box::before {\n content: "";\n}\n.k-i-dribbble::before {\n content: "";\n}\n.k-i-dribbble-box::before {\n content: "";\n}\n.k-i-rss::before {\n content: "";\n}\n.k-i-rss-box::before {\n content: "";\n}\n.k-i-vimeo::before {\n content: "";\n}\n.k-i-vimeo-box::before {\n content: "";\n}\n.k-i-youtube::before {\n content: "";\n}\n.k-i-youtube-box::before {\n content: "";\n}\n.k-i-folder::before {\n content: "";\n}\n.k-i-folder-open::before {\n content: "";\n}\n.k-i-folder-add::before {\n content: "";\n}\n.k-i-folder-up::before {\n content: "";\n}\n.k-i-folder-more::before {\n content: "";\n}\n.k-i-fields-more::before {\n content: "";\n}\n.k-i-aggregate-fields::before {\n content: "";\n}\n.k-i-file::before {\n content: "";\n}\n.k-i-file-vertical::before {\n content: "";\n}\n.k-i-page-portrait::before {\n content: "";\n}\n.k-i-file-v::before {\n content: "";\n}\n.k-i-file-add::before {\n content: "";\n}\n.k-i-insert-file::before {\n content: "";\n}\n.k-i-file-txt::before {\n content: "";\n}\n.k-i-txt::before {\n content: "";\n}\n.k-i-file-csv::before {\n content: "";\n}\n.k-i-csv::before {\n content: "";\n}\n.k-i-file-excel::before {\n content: "";\n}\n.k-i-file-xls::before {\n content: "";\n}\n.k-i-excel::before {\n content: "";\n}\n.k-i-xls::before {\n content: "";\n}\n.k-i-xlsa::before {\n content: "";\n}\n.k-i-file-word::before {\n content: "";\n}\n.k-i-file-doc::before {\n content: "";\n}\n.k-i-word::before {\n content: "";\n}\n.k-i-doc::before {\n content: "";\n}\n.k-i-file-mdb::before {\n content: "";\n}\n.k-i-mdb::before {\n content: "";\n}\n.k-i-file-ppt::before {\n content: "";\n}\n.k-i-ppt::before {\n content: "";\n}\n.k-i-file-pdf::before {\n content: "";\n}\n.k-i-pdf::before {\n content: "";\n}\n.k-i-pdfa::before {\n content: "";\n}\n.k-i-file-psd::before {\n content: "";\n}\n.k-i-psd::before {\n content: "";\n}\n.k-i-file-flash::before {\n content: "";\n}\n.k-i-flash::before {\n content: "";\n}\n.k-i-file-config::before {\n content: "";\n}\n.k-i-config::before {\n content: "";\n}\n.k-i-file-ascx::before {\n content: "";\n}\n.k-i-ascx::before {\n content: "";\n}\n.k-i-file-bac::before {\n content: "";\n}\n.k-i-bac::before {\n content: "";\n}\n.k-i-file-zip::before {\n content: "";\n}\n.k-i-zip::before {\n content: "";\n}\n.k-i-film::before {\n content: "";\n}\n.k-i-css3::before {\n content: "";\n}\n.k-i-html5::before {\n content: "";\n}\n.k-i-code::before {\n content: "";\n}\n.k-i-html::before {\n content: "";\n}\n.k-i-source-code::before {\n content: "";\n}\n.k-i-view-source::before {\n content: "";\n}\n.k-i-css::before {\n content: "";\n}\n.k-i-js::before {\n content: "";\n}\n.k-i-exe::before {\n content: "";\n}\n.k-i-csproj::before {\n content: "";\n}\n.k-i-vbproj::before {\n content: "";\n}\n.k-i-cs::before {\n content: "";\n}\n.k-i-vb::before {\n content: "";\n}\n.k-i-sln::before {\n content: "";\n}\n.k-i-cloud::before {\n content: "";\n}\n.k-i-file-horizontal::before {\n content: "";\n}\n.k-i-page-landscape::before {\n content: "";\n}\n.k-i-file-h::before {\n content: "";\n}\n.k-i-subreport::before {\n content: "";\n}\n.k-i-data::before {\n content: "";\n}\n.k-i-report-header-section::before {\n content: "";\n}\n.k-i-report-footer-section::before {\n content: "";\n}\n.k-i-group-header-section::before {\n content: "";\n}\n.k-i-group-footer-section::before {\n content: "";\n}\n.k-i-page-header-section::before {\n content: "";\n}\n.k-i-page-footer-section::before {\n content: "";\n}\n.k-i-detail-section::before {\n content: "";\n}\n.k-i-toc-section::before {\n content: "";\n}\n.k-i-group-section::before {\n content: "";\n}\n.k-i-parameters::before {\n content: "";\n}\n.k-i-data-csv::before {\n content: "";\n}\n.k-i-data-json::before {\n content: "";\n}\n.k-i-data-sql::before {\n content: "";\n}\n.k-i-data-web::before {\n content: "";\n}\n.k-i-group-collection::before {\n content: "";\n}\n.k-i-parameter-boolean::before {\n content: "";\n}\n.k-i-parameter-date-time::before {\n content: "";\n}\n.k-i-parameter-float::before {\n content: "";\n}\n.k-i-parameter-integer::before {\n content: "";\n}\n.k-i-parameter-string::before {\n content: "";\n}\n.k-i-toc-section-level::before {\n content: "";\n}\n.k-i-inherited::before {\n content: "";\n}\n.k-i-file-video::before {\n content: "";\n}\n.k-i-file-audio::before {\n content: "";\n}\n.k-i-file-image::before {\n content: "";\n}\n.k-i-file-presentation::before {\n content: "";\n}\n.k-i-file-data::before {\n content: "";\n}\n.k-i-file-disc-image::before {\n content: "";\n}\n.k-i-file-programming::before {\n content: "";\n}\n.k-i-parameters-byte-array::before {\n content: "";\n}\n.k-i-parameters-unknown::before {\n content: "";\n}\n.k-i-file-error::before {\n content: "";\n}\n.k-i-file-validation::before {\n content: "";\n}\n.k-i-files-error::before {\n content: "";\n}\n.k-i-files-validation::before {\n content: "";\n}\n.k-i-data-rest::before {\n content: "";\n}\n.k-i-file-typescript::before {\n content: "";\n}\n.k-i-table-position-start::before {\n content: "";\n}\n.k-i-table-position-left::before {\n content: "";\n}\n.k-i-table-position-center::before {\n content: "";\n}\n.k-i-table-position-end::before {\n content: "";\n}\n.k-i-table-position-right::before {\n content: "";\n}\n.k-i-list-roman-upper::before {\n content: "";\n}\n.k-i-list-roman-lower::before {\n content: "";\n}\n.k-i-import::before {\n content: "";\n}\n.k-i-export::before {\n content: "";\n}\n.k-i-match-full-word::before {\n content: "";\n}\n.k-i-regular-expression::before {\n content: "";\n}\n.k-i-replace-single::before {\n content: "";\n}\n.k-i-replace-all::before {\n content: "";\n}\n.k-i-letter-space::before {\n content: "";\n}\n.k-i-line-height::before {\n content: "";\n}\n.k-i-graph::before {\n content: "";\n}\n.k-i-chart-column-clustered::before {\n content: "";\n}\n.k-i-chart-column-stacked::before {\n content: "";\n}\n.k-i-chart-column-stacked100::before {\n content: "";\n}\n.k-i-chart-column-range::before {\n content: "";\n}\n.k-i-chart-bar-clustered::before {\n content: "";\n}\n.k-i-chart-bar-stacked::before {\n content: "";\n}\n.k-i-chart-bar-stacked100::before {\n content: "";\n}\n.k-i-chart-bar-range::before {\n content: "";\n}\n.k-i-chart-area-clustered::before {\n content: "";\n}\n.k-i-chart-area-stacked::before {\n content: "";\n}\n.k-i-chart-area-stacked100::before {\n content: "";\n}\n.k-i-chart-area-range::before {\n content: "";\n}\n.k-i-chart-line::before {\n content: "";\n}\n.k-i-chart-line-stacked::before {\n content: "";\n}\n.k-i-chart-line-stacked100::before {\n content: "";\n}\n.k-i-chart-line-markers::before {\n content: "";\n}\n.k-i-chart-line-stacked-markers::before {\n content: "";\n}\n.k-i-chart-line-stacked100-markers::before {\n content: "";\n}\n.k-i-chart-pie::before {\n content: "";\n}\n.k-i-chart-doughnut::before {\n content: "";\n}\n.k-i-chart-scatter::before {\n content: "";\n}\n.k-i-chart-scatter-smooth-lines-markers::before {\n content: "";\n}\n.k-i-chart-scatter-smooth-lines::before {\n content: "";\n}\n.k-i-chart-scatter-straight-lines-markers::before {\n content: "";\n}\n.k-i-chart-scatter-straight-lines::before {\n content: "";\n}\n.k-i-chart-bubble::before {\n content: "";\n}\n.k-i-chart-candlestick::before {\n content: "";\n}\n.k-i-chart-ohlc::before {\n content: "";\n}\n.k-i-chart-radar::before {\n content: "";\n}\n.k-i-chart-radar-markers::before {\n content: "";\n}\n.k-i-chart-radar-filled::before {\n content: "";\n}\n.k-i-chart-rose::before {\n content: "";\n}\n.k-i-chart-choropleth::before {\n content: "";\n}\n.k-rtl .k-i-indent-increase,\n.k-rtl .k-i-indent-decrease,\n.k-rtl .k-i-expand,\n.k-rtl .k-i-collapse,\n[dir=rtl] .k-i-expand,\n[dir=rtl] .k-i-collapse {\n transform: scaleX(-1);\n}\n.k-sprite {\n display: inline-block;\n width: 16px;\n height: 16px;\n overflow: hidden;\n background-repeat: no-repeat;\n font-size: 0;\n line-height: 0;\n text-align: center;\n -ms-high-contrast-adjust: none;\n}\n.k-image {\n display: inline-block;\n}\n.k-badge {\n padding: 0;\n border-width: 0;\n border-style: solid;\n border-color: transparent;\n box-sizing: border-box;\n color: inherit;\n background-color: transparent;\n font: inherit;\n text-align: center;\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-badge > * {\n color: inherit;\n}\na.k-badge,\n.k-badge > a {\n text-decoration: none;\n}\na.k-badge:hover,\n.k-badge > a:hover {\n text-decoration: underline;\n}\n.k-badge-icon {\n max-width: 1em;\n max-height: 1em;\n font-size: inherit;\n}\n.k-badge-icon.k-svg-icon svg {\n fill: currentColor;\n}\n.k-badge-sm {\n padding: 2px 2px;\n border-width: 1px;\n font-size: 10px;\n line-height: 1;\n}\n.k-badge-sm:empty {\n padding: 2px;\n}\n.k-badge-md {\n padding: 4px 4px;\n border-width: 1px;\n font-size: 10px;\n line-height: 1;\n}\n.k-badge-md:empty {\n padding: 4px;\n}\n.k-badge-lg {\n padding: 6px 6px;\n border-width: 1px;\n font-size: 12px;\n line-height: 1;\n}\n.k-badge-lg:empty {\n padding: 6px;\n}\n.k-badge-rounded.k-badge-sm {\n border-radius: 0;\n}\n.k-badge-rounded.k-badge-md {\n border-radius: 0;\n}\n.k-badge-rounded.k-badge-lg {\n border-radius: 0;\n}\n.k-badge-pill {\n border-radius: 5rem;\n}\n.k-badge-circle {\n padding: 0 !important;\n border-radius: 100%;\n}\n.k-badge-circle.k-badge-sm {\n width: calc( 1em + 4px + 2px );\n height: calc( 1em + 4px + 2px );\n}\n.k-badge-circle.k-badge-md {\n width: calc( 1em + 8px + 2px );\n height: calc( 1em + 8px + 2px );\n}\n.k-badge-circle.k-badge-lg {\n width: calc( 1em + 12px + 2px );\n height: calc( 1em + 12px + 2px );\n}\n.k-badge-dot {\n padding: 0 !important;\n border-radius: 100%;\n font-size: 0;\n}\n.k-badge-dot.k-badge-sm {\n width: 6px;\n height: 6px;\n}\n.k-badge-dot.k-badge-md {\n width: 10px;\n height: 10px;\n}\n.k-badge-dot.k-badge-lg {\n width: 12px;\n height: 12px;\n}\nkendo-badge-container {\n display: inline-block;\n}\n.k-badge-container {\n position: relative;\n overflow: visible;\n}\n.k-badge-inside {\n position: absolute;\n z-index: 9999;\n}\n.k-badge-edge {\n position: absolute;\n z-index: 9999;\n}\n.k-badge-edge.k-top-start {\n transform: translate(-50%, -50%);\n}\n.k-badge-edge.k-top-end {\n transform: translate(50%, -50%);\n}\n.k-badge-edge.k-bottom-start {\n transform: translate(-50%, 50%);\n}\n.k-badge-edge.k-bottom-end {\n transform: translate(50%, 50%);\n}\n.k-rtl .k-badge-edge.k-top-start,\n[dir=rtl].k-badge-edge.k-top-start,\n[dir=rtl] .k-badge-edge.k-top-start {\n transform: translate(50%, -50%);\n}\n.k-rtl .k-badge-edge.k-top-end,\n[dir=rtl].k-badge-edge.k-top-end,\n[dir=rtl] .k-badge-edge.k-top-end {\n transform: translate(-50%, -50%);\n}\n.k-rtl .k-badge-edge.k-bottom-start,\n[dir=rtl].k-badge-edge.k-bottom-start,\n[dir=rtl] .k-badge-edge.k-bottom-start {\n transform: translate(50%, 50%);\n}\n.k-rtl .k-badge-edge.k-bottom-end,\n[dir=rtl].k-badge-edge.k-bottom-end,\n[dir=rtl] .k-badge-edge.k-bottom-end {\n transform: translate(-50%, 50%);\n}\n.k-badge-outside {\n position: absolute;\n z-index: 9999;\n}\n.k-badge-outside.k-top-start {\n transform: translate(-100%, -100%);\n}\n.k-badge-outside.k-top-end {\n transform: translate(100%, -100%);\n}\n.k-badge-outside.k-bottom-start {\n transform: translate(-100%, 100%);\n}\n.k-badge-outside.k-bottom-end {\n transform: translate(100%, 100%);\n}\n.k-rtl .k-badge-outside.k-top-start,\n[dir=rtl].k-badge-outside.k-top-start,\n[dir=rtl] .k-badge-outside.k-top-start {\n transform: translate(100%, -100%);\n}\n.k-rtl .k-badge-outside.k-top-end,\n[dir=rtl].k-badge-outside.k-top-end,\n[dir=rtl] .k-badge-outside.k-top-end {\n transform: translate(-100%, -100%);\n}\n.k-rtl .k-badge-outside.k-bottom-start,\n[dir=rtl].k-badge-outside.k-bottom-start,\n[dir=rtl] .k-badge-outside.k-bottom-start {\n transform: translate(100%, 100%);\n}\n.k-rtl .k-badge-outside.k-bottom-end,\n[dir=rtl].k-badge-outside.k-bottom-end,\n[dir=rtl] .k-badge-outside.k-bottom-end {\n transform: translate(-100%, 100%);\n}\n.k-badge-border-cutout {\n box-shadow: 0 0 0 2px #ffffff;\n}\n.k-badge-solid.k-badge-primary {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-badge-solid.k-badge-secondary {\n border-color: #666666;\n color: #ffffff;\n background-color: #666666;\n}\n.k-badge-solid.k-badge-tertiary {\n border-color: #03a9f4;\n color: #ffffff;\n background-color: #03a9f4;\n}\n.k-badge-solid.k-badge-info {\n border-color: #0058e9;\n color: #ffffff;\n background-color: #0058e9;\n}\n.k-badge-solid.k-badge-success {\n border-color: #37b400;\n color: #ffffff;\n background-color: #37b400;\n}\n.k-badge-solid.k-badge-warning {\n border-color: #ffc000;\n color: #000000;\n background-color: #ffc000;\n}\n.k-badge-solid.k-badge-error {\n border-color: #f31700;\n color: #ffffff;\n background-color: #f31700;\n}\n.k-badge-solid.k-badge-dark {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n}\n.k-badge-solid.k-badge-light {\n border-color: #ebebeb;\n color: #000000;\n background-color: #ebebeb;\n}\n.k-badge-solid.k-badge-inverse {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n}\n.k-badge-outline {\n border-color: currentColor;\n background-color: #ffffff;\n}\n.k-badge-outline.k-badge-primary {\n color: #38ab63;\n}\n.k-badge-outline.k-badge-secondary {\n color: #666666;\n}\n.k-badge-outline.k-badge-tertiary {\n color: #03a9f4;\n}\n.k-badge-outline.k-badge-info {\n color: #0058e9;\n}\n.k-badge-outline.k-badge-success {\n color: #37b400;\n}\n.k-badge-outline.k-badge-warning {\n color: #ffc000;\n}\n.k-badge-outline.k-badge-error {\n color: #f31700;\n}\n.k-badge-outline.k-badge-dark {\n color: #424242;\n}\n.k-badge-outline.k-badge-light {\n color: #ebebeb;\n}\n.k-badge-outline.k-badge-inverse {\n color: #424242;\n}\n.k-button {\n border-radius: 0;\n padding: 4px 8px;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n font-size: 13px;\n line-height: 1.4285714286;\n font-family: inherit;\n text-align: center;\n text-decoration: none;\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: pointer;\n outline: none;\n -webkit-appearance: none;\n position: relative;\n}\n.k-button:disabled, .k-button.k-state-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-button::-moz-focus-inner {\n padding: 0;\n border: 0;\n outline: 0;\n}\n.k-button:hover, .k-button:focus {\n text-decoration: none;\n outline: 0;\n}\n.k-button .k-icon,\n.k-button .k-image,\n.k-button .k-sprite {\n color: inherit;\n align-self: center;\n position: relative;\n}\n.k-button .k-button-icon {\n color: inherit;\n align-self: center;\n position: relative;\n}\n.k-text-button > .k-icon,\n.k-text-button > .k-button-icon {\n display: none;\n}\n.k-icon-button,\n.k-button.k-button-icon {\n padding: 4px;\n width: calc( 1.4285714286em + 8px + 2px );\n height: calc( 1.4285714286em + 8px + 2px );\n gap: 0;\n}\n.k-icon-button > .k-text,\n.k-icon-button > .k-button-text,\n.k-button.k-button-icon > .k-text,\n.k-button.k-button-icon > .k-button-text {\n display: none;\n}\n.k-icon-button .k-button-icon,\n.k-button.k-button-icon .k-button-icon {\n margin: 0;\n}\n.k-button.k-button-icon {\n padding: 4px;\n width: calc( 1.4285714286em + 8px + 2px );\n height: calc( 1.4285714286em + 8px + 2px );\n}\n.k-menu-button,\n.k-dropdown-button {\n outline: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n vertical-align: middle;\n}\n.k-button-group {\n margin: 0;\n padding: 0;\n border-width: 0;\n box-sizing: border-box;\n color: inherit;\n background-color: transparent;\n list-style: none;\n outline: 0;\n white-space: nowrap;\n display: inline-flex;\n flex-direction: row;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-button-group .k-button {\n border-radius: 0;\n}\n.k-button-group .k-button ~ .k-button {\n -webkit-margin-start: -1px;\n margin-inline-start: -1px;\n}\n.k-button-group .k-button:hover,\n.k-button-group .k-button.k-state-hover,\n.k-button-group .k-button:active,\n.k-button-group .k-button.k-state-active,\n.k-button-group .k-button.k-state-selected,\n.k-button-group .k-button:focus,\n.k-button-group .k-button.k-state-focus {\n z-index: 2;\n}\n.k-button-group .k-group-start,\n.k-button-group .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-button-group .k-group-end,\n.k-button-group .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-button-group .k-group-start.k-group-end,\n.k-button-group .k-button:first-child:last-child {\n border-radius: 0;\n}\n.k-button-group-stretched {\n display: flex;\n}\n.k-button-group-stretched .k-button {\n display: inline-block;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-button-group-stretched .k-button > .k-icon {\n vertical-align: text-bottom;\n}\n.k-split-button {\n border-width: 0;\n border-radius: 0;\n outline: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n vertical-align: middle;\n}\n.k-split-button .k-button {\n border-radius: 0;\n}\n.k-split-button > .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-split-button > .k-split-button-arrow,\n.k-split-button > .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n -webkit-margin-start: -1px;\n margin-inline-start: -1px;\n padding: 4px;\n width: auto;\n flex: none;\n}\n.k-split-button[dir=rtl] > .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-split-button[dir=rtl] > .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-button-flat, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button, .k-calendar-header .k-button, .k-button.k-flat,\n.k-button.k-bare {\n border-color: transparent !important;\n color: inherit;\n background: none !important;\n box-shadow: none !important;\n transition: color 0.2s ease-in-out;\n}\n.k-button-flat:hover, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:hover, .k-calendar-header .k-button:hover, .k-button.k-flat:hover,\n.k-button.k-bare:hover, .k-button-flat.k-state-hover, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-hover.k-button, .k-calendar-header .k-state-hover.k-button, .k-state-hover.k-button.k-flat,\n.k-state-hover.k-button.k-bare, .k-button-flat:active, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:active, .k-calendar-header .k-button:active, .k-button.k-flat:active,\n.k-button.k-bare:active, .k-button-flat.k-state-active, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-active.k-button, .k-calendar-header .k-state-active.k-button, .k-state-active.k-button.k-flat,\n.k-state-active.k-button.k-bare, .k-button-flat:focus, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:focus, .k-calendar-header .k-button:focus, .k-button.k-flat:focus,\n.k-button.k-bare:focus, .k-button-flat.k-state-focus, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-focus.k-button, .k-calendar-header .k-state-focus.k-button, .k-state-focus.k-button.k-flat,\n.k-state-focus.k-button.k-bare {\n color: inherit;\n}\n.k-button-flat::before, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button::before, .k-calendar-header .k-button::before, .k-button.k-flat::before,\n.k-button.k-bare::before {\n display: block;\n}\n.k-button-outline, .k-button.k-outline {\n box-shadow: none;\n color: inherit;\n background: none;\n}\n.k-button-clear {\n border-color: transparent !important;\n color: inherit;\n background: none !important;\n box-shadow: none !important;\n}\n.k-rtl .k-button-group .k-button {\n border-radius: 0;\n}\n.k-rtl .k-button-group .k-group-start,\n.k-rtl .k-button-group .k-button:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-rtl .k-button-group .k-group-end,\n.k-rtl .k-button-group .k-button:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-rtl .k-button-group .k-group-start.k-group-end,\n.k-rtl .k-button-group .k-button:first-child:last-child {\n border-radius: 0;\n}\n.k-rtl .k-split-button .k-button {\n border-radius: 0;\n}\n.k-rtl .k-split-button > .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-rtl .k-split-button > .k-split-button-arrow,\n.k-rtl .k-split-button > .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-button-overlay, .k-button::before {\n border-radius: inherit;\n content: "";\n background: currentColor;\n opacity: 0;\n display: none;\n pointer-events: none;\n position: absolute;\n left: -1px;\n right: -1px;\n top: -1px;\n bottom: -1px;\n z-index: 0;\n transition: opacity 0.2s ease-in-out;\n}\n.k-button:hover::before, .k-button.k-state-hover::before {\n opacity: 0.04;\n}\n.k-button.k-no-focus:not(:hover)::before, .k-button.k-no-focus:not(.k-state-hover)::before {\n opacity: 0;\n}\n.k-button:active::before, .k-button.k-state-active::before {\n opacity: 0.16;\n}\n.k-button.k-state-selected::before {\n opacity: 0.2;\n}\n.k-button::after {\n border-radius: 0;\n content: "";\n opacity: 0;\n display: none;\n pointer-events: none;\n position: absolute;\n left: -1px;\n right: -1px;\n top: -1px;\n bottom: -1px;\n z-index: 0;\n transition: opacity 0.2s ease-in-out;\n}\n.k-ie9 .k-button[disabled]:hover,\n.k-ie9 .k-button[disabled]:focus,\n.k-ie9 .k-button.k-state-disabled:hover,\n.k-ie9 .k-button.k-state-disabled:focus,\n.k-ie10 .k-button[disabled]:hover,\n.k-ie10 .k-button[disabled]:focus,\n.k-ie10 .k-button.k-state-disabled:hover,\n.k-ie10 .k-button.k-state-disabled:focus {\n outline: none;\n cursor: default;\n opacity: 0.6;\n box-shadow: none;\n}\n.k-ie .k-button,\n.k-ie .k-button-group {\n display: inline-block;\n overflow: visible;\n}\n.k-ie .k-button-icontext .k-icon,\n.k-ie .k-button-icontext .k-image,\n.k-ie .k-button-icontext .k-sprite {\n margin: 0 4px 0 0;\n}\n.k-ie .k-button-icontext.k-rtl .k-icon,\n.k-ie .k-button-icontext.k-rtl .k-image,\n.k-ie .k-button-icontext.k-rtl .k-sprite, .k-rtl .k-ie .k-button-icontext .k-icon,\n.k-rtl .k-ie .k-button-icontext .k-image,\n.k-rtl .k-ie .k-button-icontext .k-sprite, .k-ie .k-button-icontext[dir=rtl] .k-icon,\n.k-ie .k-button-icontext[dir=rtl] .k-image,\n.k-ie .k-button-icontext[dir=rtl] .k-sprite, [dir=rtl] .k-ie .k-button-icontext .k-icon,\n[dir=rtl] .k-ie .k-button-icontext .k-image,\n[dir=rtl] .k-ie .k-button-icontext .k-sprite {\n margin: 0 0 0 4px;\n}\n.k-button,\n.k-button-secondary {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-button:hover, .k-button.k-state-hover,\n.k-button-secondary:hover,\n.k-button-secondary.k-state-hover {\n background-color: #ebebeb;\n}\n.k-button:focus, .k-button.k-state-focus, .k-button.k-state-focused,\n.k-button-secondary:focus,\n.k-button-secondary.k-state-focus,\n.k-button-secondary.k-state-focused {\n box-shadow: none;\n}\n.k-button:active, .k-button.k-state-active,\n.k-button-secondary:active,\n.k-button-secondary.k-state-active {\n background-color: #e1e1e1;\n}\n.k-button.k-state-selected,\n.k-button-secondary.k-state-selected {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-button-primary, .k-button.k-primary {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.04));\n}\n.k-button-primary:hover, .k-button.k-primary:hover, .k-button-primary.k-state-hover, .k-state-hover.k-button.k-primary {\n border-color: #36a45f;\n background-color: #36a45f;\n}\n.k-button-primary:focus, .k-button.k-primary:focus, .k-button-primary.k-state-focus, .k-state-focus.k-button.k-primary, .k-button-primary.k-state-focused, .k-state-focused.k-button.k-primary {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-button-primary:active, .k-button.k-primary:active, .k-button-primary.k-state-active, .k-state-active.k-button.k-primary {\n border-color: #319657;\n background-color: #319657;\n}\n.k-button-primary.k-state-selected, .k-state-selected.k-button.k-primary {\n border-color: #319657;\n background-color: #319657;\n}\n.k-button-group .k-button:focus,\n.k-button-group .k-button.k-state-focus,\n.k-button-group .k-button.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.16);\n}\n.k-split-button:focus,\n.k-split-button.k-state-focus,\n.k-split-button.k-state-focused {\n box-shadow: none;\n}\n.k-button-outline, .k-button.k-outline {\n box-shadow: none;\n border-color: currentColor;\n color: #424242;\n background: none;\n}\n.k-button-outline:hover, .k-button.k-outline:hover, .k-button-outline.k-state-hover, .k-state-hover.k-button.k-outline {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n background-image: none;\n}\n.k-button-outline:focus, .k-button.k-outline:focus, .k-button-outline.k-state-focus, .k-state-focus.k-button.k-outline, .k-button-outline.k-state-focused, .k-state-focused.k-button.k-outline {\n box-shadow: none;\n}\n.k-button-outline:active, .k-button.k-outline:active, .k-button-outline.k-state-active, .k-state-active.k-button.k-outline {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n background-image: none;\n}\n.k-button-outline.k-state-selected, .k-state-selected.k-button.k-outline {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n background-image: none;\n}\n.k-button-outline.k-primary, .k-primary.k-button.k-outline {\n border-color: currentColor;\n color: #38ab63;\n background: none;\n box-shadow: none;\n}\n.k-button-outline.k-primary:hover, .k-primary.k-button.k-outline:hover, .k-button-outline.k-primary.k-state-hover, .k-primary.k-state-hover.k-button.k-outline {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: none;\n}\n.k-button-outline.k-primary:focus, .k-primary.k-button.k-outline:focus, .k-button-outline.k-primary.k-state-focus, .k-primary.k-state-focus.k-button.k-outline, .k-button-outline.k-primary.k-state-focused, .k-primary.k-state-focused.k-button.k-outline {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-button-outline.k-primary:active, .k-primary.k-button.k-outline:active, .k-button-outline.k-primary.k-state-active, .k-primary.k-state-active.k-button.k-outline {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: none;\n box-shadow: none;\n}\n.k-button-outline.k-primary.k-state-selected, .k-primary.k-state-selected.k-button.k-outline {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: none;\n box-shadow: none;\n}\n.k-button-flat, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button, .k-calendar-header .k-button, .k-button.k-flat,\n.k-button.k-bare, .k-button-group .k-button-flat, .k-button-group .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button {\n color: inherit;\n background: none;\n}\n.k-button-flat::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button::after, .k-calendar-header .k-button::after, .k-button.k-flat::after,\n.k-button.k-bare::after {\n display: block;\n}\n.k-button-flat:focus::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:focus::after, .k-calendar-header .k-button:focus::after, .k-button.k-flat:focus::after,\n.k-button.k-bare:focus::after, .k-button-flat.k-state-focused::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-focused.k-button::after, .k-calendar-header .k-state-focused.k-button::after, .k-state-focused.k-button.k-flat::after,\n.k-state-focused.k-button.k-bare::after, .k-button-flat.k-state-focus::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-focus.k-button::after, .k-calendar-header .k-state-focus.k-button::after, .k-state-focus.k-button.k-flat::after,\n.k-state-focus.k-button.k-bare::after {\n box-shadow: inset 0 0 0 2px currentColor;\n opacity: 0.12;\n}\n.k-button-flat.k-primary, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-primary.k-button, .k-calendar-header .k-primary.k-button, .k-primary.k-button.k-flat,\n.k-primary.k-button.k-bare, .k-button-flat.k-primary:hover, .k-button-flat.k-primary.k-state-hover, .k-button-group .k-button-flat.k-primary, .k-button-group .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-primary.k-button {\n color: #38ab63;\n background: none;\n}\n.k-button-clear {\n color: #424242;\n}\n.k-button-clear:hover, .k-button-clear.k-state-hover, .k-button-clear:active, .k-button-clear.k-state-active, .k-button-clear.k-state-selected, .k-button-clear:focus, .k-button-clear.k-state-focus, .k-button-clear.k-state-focused {\n color: #3d3d3d;\n}\n.k-button-clear:focus::after, .k-button-clear.k-state-focus::after, .k-button-clear.k-state-focused::after, .k-button-clear.k-state-focused:active::after {\n background-color: #424242;\n opacity: 0.1;\n display: block;\n}\n.k-actions, .k-action-buttons,\n.k-columnmenu-actions {\n padding: 8px 8px;\n border-width: 0px 0 0 0;\n border-style: solid;\n border-color: inherit;\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n align-content: flex-end;\n justify-content: flex-end;\n gap: 8px;\n overflow: hidden;\n clear: both;\n}\n.k-actions .k-button, .k-action-buttons .k-button,\n.k-columnmenu-actions .k-button {\n flex: 0 0 auto;\n}\n.k-ie .k-actions .k-button ~ .k-button, .k-ie .k-action-buttons .k-button ~ .k-button,\n.k-ie .k-columnmenu-actions .k-button ~ .k-button {\n margin-left: 8px;\n flex-shrink: 0;\n}\n.k-rtl .k-ie .k-actions .k-button ~ .k-button, .k-rtl .k-ie .k-action-buttons .k-button ~ .k-button,\n.k-rtl .k-ie .k-columnmenu-actions .k-button ~ .k-button, [dir=rtl] .k-ie .k-actions .k-button ~ .k-button, [dir=rtl] .k-ie .k-action-buttons .k-button ~ .k-button,\n[dir=rtl] .k-ie .k-columnmenu-actions .k-button ~ .k-button {\n margin-left: 0;\n margin-right: 8px;\n}\n.k-popup .k-actions,\n.k-popup .k-columnmenu-actions,\n.k-popup .k-action-buttons {\n margin-top: 16px;\n}\n.k-actions, .k-action-buttons,\n.k-columnmenu-actions {\n justify-content: flex-start;\n}\n.k-actions.k-actions-start, .k-actions-start.k-action-buttons,\n.k-actions-start.k-columnmenu-actions {\n justify-content: flex-start;\n}\n.k-actions.k-actions-center, .k-actions-center.k-action-buttons,\n.k-actions-center.k-columnmenu-actions {\n justify-content: center;\n}\n.k-actions.k-actions-end, .k-actions-end.k-action-buttons,\n.k-actions-end.k-columnmenu-actions {\n justify-content: flex-end;\n}\n.k-actions.k-actions-stretched .k-button, .k-actions-stretched.k-action-buttons .k-button,\n.k-actions-stretched.k-columnmenu-actions .k-button {\n width: auto !important;\n max-width: 100%;\n flex: 1 0 0%;\n flex-grow: 1;\n}\n.k-input {\n margin: 0;\n padding: 4px 8px;\n width: 100%;\n min-width: 0;\n height: calc( 1.4285714286em + 8px );\n border: 0;\n outline: 0;\n box-sizing: border-box;\n box-shadow: none;\n color: inherit;\n background: none;\n font: inherit;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-appearance: none;\n}\n.k-input::-ms-clear {\n display: none;\n}\n.k-input::-moz-placeholder {\n color: #666666;\n opacity: 1;\n -moz-user-select: none;\n user-select: none;\n}\n.k-input::placeholder {\n color: #666666;\n opacity: 1;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.k-input:-ms-input-placeholder {\n color: #666666;\n}\n.k-input:invalid {\n box-shadow: none;\n}\n.k-space-left > input,\n.k-space-right > input {\n flex-grow: 1;\n}\n.k-space-left > .k-icon,\n.k-space-right > .k-icon {\n left: 3px;\n margin: 3px 6px;\n}\n.k-textbox.k-space-left {\n flex-direction: row-reverse;\n}\n.k-input-prefix,\n.k-input-suffix {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n height: calc( 1.4285714286em + 8px );\n}\n.k-input-prefix > *,\n.k-input-suffix > * {\n flex-shrink: 0;\n}\n.k-input-prefix > .k-icon,\n.k-input-suffix > .k-icon {\n width: calc( 18.5714285714px + 8px );\n height: calc( 18.5714285714px + 8px );\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.k-input-prefix > .k-clear-value,\n.k-input-suffix > .k-clear-value {\n width: calc( 18.5714285714px + 8px );\n height: calc( 18.5714285714px + 8px );\n position: relative;\n}\n.k-input-prefix > .k-clear-value::after,\n.k-input-suffix > .k-clear-value::after {\n content: "";\n opacity: 0;\n display: none;\n pointer-events: none;\n position: absolute;\n left: -1px;\n right: -1px;\n top: -1px;\n bottom: -1px;\n}\n.k-input-prefix > .k-clear-value.k-state-focused::after, .k-input-prefix > .k-clear-value:focus::after,\n.k-input-suffix > .k-clear-value.k-state-focused::after,\n.k-input-suffix > .k-clear-value:focus::after {\n display: block;\n}\n.k-input-separator {\n margin: 0;\n width: 0;\n height: 16px;\n border-width: 0 0 0 1px;\n border-style: solid;\n}\n.k-input-icon {\n width: calc( 16px + 8px );\n height: calc( 18.5714285714px + 8px );\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.k-ie9 .k-input-icon {\n position: absolute;\n height: 100%;\n right: 0;\n top: 0;\n}\n.k-ie9 .k-rtl .k-input-icon, .k-ie9 [dir=rtl] .k-input-icon {\n left: 0;\n right: auto;\n}\n.k-clear-value {\n width: calc( 16px + 8px );\n height: calc( 18.5714285714px + 8px );\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n outline: 0;\n cursor: pointer;\n opacity: 0.5;\n}\n.k-clear-value:hover,\n.k-clear-value.k-state-hover {\n opacity: 1;\n}\n.k-searchbar {\n flex: 1 1 auto;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-text-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n@-webkit-keyframes autoFillStart {}\n@keyframes autoFillStart {}\n@-webkit-keyframes autoFillEnd {}\n@keyframes autoFillEnd {}\n.k-autofill:-webkit-autofill {\n -webkit-animation-name: autoFillStart;\n animation-name: autoFillStart;\n}\n.k-autofill:not(:-webkit-autofill) {\n -webkit-animation-name: autoFillEnd;\n animation-name: autoFillEnd;\n}\n.k-textbox:-webkit-autofill {\n -webkit-animation-name: autoFillStart;\n animation-name: autoFillStart;\n}\n.k-textbox:not(:-webkit-autofill) {\n -webkit-animation-name: autoFillEnd;\n animation-name: autoFillEnd;\n}\n.k-input-prefix > .k-icon,\n.k-input-suffix > .k-icon {\n color: #666666;\n}\n.k-input-prefix .k-clear-value,\n.k-input-suffix .k-clear-value {\n color: #424242;\n}\n.k-input-prefix > .k-clear-value.k-state-focused::after, .k-input-prefix > .k-clear-value:focus::after,\n.k-input-suffix > .k-clear-value.k-state-focused::after,\n.k-input-suffix > .k-clear-value:focus::after {\n background-color: #333;\n opacity: 0.2;\n}\n.k-input-separator {\n border-color: #424242;\n opacity: 0.5;\n}\n.k-textbox-container,\n.k-floating-label-container {\n padding-top: calc( 1.4285714286 * 13px );\n width: 12.4em;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n flex-direction: column;\n justify-content: stretch;\n}\n.k-textbox-container > .k-label,\n.k-floating-label-container > .k-label {\n max-width: 90%;\n font-size: 13px;\n line-height: 1.4285714286;\n white-space: nowrap;\n text-overflow: ellipsis;\n position: absolute;\n top: calc( calc( 1.4285714286 * 13px ) + 1px + 4px );\n left: calc( 8px + 1px );\n overflow: hidden;\n cursor: text;\n transform-origin: left center;\n transition: transform 0.2s ease-out, color 0.2s ease-out, top 0.2s ease-out, left 0.2s ease-out;\n pointer-events: none;\n}\n.k-textbox-container > .k-textbox,\n.k-textbox-container > .k-widget,\n.k-floating-label-container > .k-textbox,\n.k-floating-label-container > .k-widget {\n flex: 1 1 auto;\n width: auto;\n}\n.k-textbox-container.k-state-empty > .k-label,\n.k-floating-label-container.k-state-empty > .k-label {\n top: calc( calc( 1.4285714286 * 13px ) + 1px + 4px );\n left: calc( 8px + 1px );\n transform: scale(1);\n}\n.k-textbox-container > .k-label, .k-textbox-container.k-state-focused > .k-label,\n.k-floating-label-container > .k-label,\n.k-floating-label-container.k-state-focused > .k-label {\n top: 0;\n left: 0;\n transform: scale(1);\n}\n.k-textbox-container:focus-within > .k-label,\n.k-floating-label-container:focus-within > .k-label {\n top: 0;\n left: 0;\n transform: scale(1);\n}\n.k-textbox-container.k-state-empty:not(.k-state-focused) ::-moz-placeholder, .k-floating-label-container.k-state-empty:not(.k-state-focused) ::-moz-placeholder {\n color: transparent;\n}\n.k-textbox-container.k-state-empty:not(.k-state-focused) ::placeholder,\n.k-floating-label-container.k-state-empty:not(.k-state-focused) ::placeholder {\n color: transparent;\n}\n.k-rtl .k-textbox-container > .k-label, .k-textbox-container[dir=rtl] > .k-label,\n.k-rtl .k-floating-label-container > .k-label,\n.k-floating-label-container[dir=rtl] > .k-label {\n transform-origin: right center;\n}\n.k-rtl .k-textbox-container.k-state-empty > .k-label, .k-textbox-container[dir=rtl].k-state-empty > .k-label,\n.k-rtl .k-floating-label-container.k-state-empty > .k-label,\n.k-floating-label-container[dir=rtl].k-state-empty > .k-label {\n left: auto;\n right: calc( 8px + 1px );\n}\n.k-rtl .k-textbox-container > .k-label, .k-rtl .k-textbox-container.k-state-focused > .k-label, .k-textbox-container[dir=rtl] > .k-label, .k-textbox-container[dir=rtl].k-state-focused > .k-label,\n.k-rtl .k-floating-label-container > .k-label,\n.k-rtl .k-floating-label-container.k-state-focused > .k-label,\n.k-floating-label-container[dir=rtl] > .k-label,\n.k-floating-label-container[dir=rtl].k-state-focused > .k-label {\n left: auto;\n right: 0;\n}\n.k-rtl .k-textbox-container:focus-within, .k-textbox-container[dir=rtl]:focus-within,\n.k-rtl .k-floating-label-container:focus-within,\n.k-floating-label-container[dir=rtl]:focus-within {\n left: auto;\n right: 0;\n}\n.k-calendar {\n background-clip: padding-box;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n position: relative;\n overflow: hidden;\n display: inline-block;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-calendar .k-ie11 {\n background-clip: border-box;\n}\n.k-popup .k-calendar {\n height: 100%;\n}\n.k-calendar > .k-calendar {\n border: 0;\n}\n.k-calendar .k-link {\n outline: 0;\n color: inherit;\n text-decoration: none;\n white-space: normal;\n cursor: pointer;\n overflow: hidden;\n}\n.k-calendar .k-calendar-view table,\n.k-calendar .k-calendar-view .k-calendar-table {\n margin: 0;\n border-width: 0;\n border-color: inherit;\n border-spacing: 0;\n border-collapse: separate;\n table-layout: fixed;\n outline: 0;\n position: relative;\n z-index: 1;\n}\n.k-calendar .k-calendar-view td,\n.k-calendar .k-calendar-view th,\n.k-calendar .k-calendar-view .k-calendar-td,\n.k-calendar .k-calendar-view .k-calendar-th {\n border-width: 0;\n padding: 0;\n text-align: center;\n border-style: solid;\n border-color: inherit;\n font-weight: normal;\n cursor: default;\n}\n.k-calendar .k-calendar-view th,\n.k-calendar .k-calendar-view .k-calendar-th {\n padding: 0.25em 0px;\n font-size: 12px;\n line-height: 2;\n text-transform: uppercase;\n}\n.k-calendar .k-calendar-view tbody th,\n.k-calendar .k-calendar-view .k-calendar-tbody .k-calendar-th {\n padding-left: 8px;\n padding-right: 8px;\n height: 2em;\n font: inherit;\n font-weight: bold;\n text-transform: none;\n text-align: left;\n}\n.k-calendar .k-header {\n padding: 4px 4px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n text-align: center;\n display: flex;\n flex-direction: row;\n position: relative;\n z-index: 2;\n}\n.k-calendar .k-header .k-link {\n border-radius: 0;\n padding: 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.k-calendar .k-nav-prev,\n.k-calendar .k-nav-next {\n width: 1.4285714286em;\n height: 1.4285714286em;\n box-sizing: content-box;\n}\n.k-calendar .k-nav-fast {\n margin: 0 4px;\n flex: 1 1 auto;\n}\n.k-calendar-header {\n padding: 4px 4px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 0 0 auto;\n}\n.k-calendar-header .k-title,\n.k-calendar-header .k-calendar-title {\n font-weight: bold;\n}\n.k-calendar-header .k-today {\n cursor: pointer;\n outline: none;\n}\n.k-calendar-header .k-calendar-nav {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n gap: 4px;\n}\n.k-calendar > .k-calendar-header {\n min-width: 280px;\n box-sizing: border-box;\n}\n.k-calendar .k-footer,\n.k-calendar .k-calendar-footer {\n text-align: center;\n clear: both;\n}\n.k-calendar .k-nav-today,\n.k-calendar .k-footer > .k-state-disabled {\n padding: 8px 16px;\n display: block;\n}\n.k-calendar .k-nav-today:hover {\n text-decoration: underline;\n}\n.k-calendar .k-calendar-view {\n width: 18.3076923077em;\n height: 18.3076923077em;\n position: relative;\n z-index: 1;\n overflow: hidden;\n margin: auto;\n padding: 0 4px;\n gap: 16px;\n}\n.k-calendar.k-week-number .k-calendar-view {\n width: 20.9230769231em;\n}\n.k-calendar-infinite .k-calendar-view {\n width: 18.3076923077em;\n height: calc( 20.9230769231em + 2em );\n gap: 0;\n}\n.k-calendar .k-content,\n.k-calendar .k-calendar-content {\n width: 100%;\n margin: 0;\n text-align: center;\n flex: 1 1 auto;\n position: relative;\n}\n.k-calendar .k-content > table,\n.k-calendar .k-content > .k-calendar-table,\n.k-calendar .k-calendar-content > table,\n.k-calendar .k-calendar-content > .k-calendar-table {\n table-layout: fixed;\n margin-right: -17px;\n}\n.k-calendar .k-content td,\n.k-calendar .k-content .k-calendar-td,\n.k-calendar .k-calendar-content td,\n.k-calendar .k-calendar-content .k-calendar-td {\n border-radius: 0;\n border-color: transparent;\n}\n.k-calendar .k-content .k-link,\n.k-calendar .k-calendar-content .k-link {\n border-radius: 0;\n padding: 0.5em 0.5em;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.k-calendar .k-content .k-weekend,\n.k-calendar .k-calendar-content .k-weekend {\n border-radius: 0;\n}\n.k-calendar .k-content .k-alt,\n.k-calendar .k-calendar-content .k-alt {\n background-color: transparent;\n}\n.k-calendar .k-content .k-state-disabled,\n.k-calendar .k-calendar-content .k-state-disabled {\n opacity: 0.6;\n}\n.k-calendar table.k-content,\n.k-calendar table.k-calendar-content,\n.k-calendar .k-calendar-table.k-content,\n.k-calendar .k-calendar-table.k-calendar-content {\n display: inline-table;\n vertical-align: top;\n}\n.k-calendar .k-month td,\n.k-calendar .k-month .k-calendar-td,\n.k-calendar .k-calendar-monthview td,\n.k-calendar .k-calendar-monthview .k-calendar-td {\n width: 2.6153846154em;\n height: 2.6153846154em;\n}\n.k-calendar .k-month .k-link,\n.k-calendar .k-calendar-monthview .k-link {\n width: 2.6153846154em;\n height: 2.6153846154em;\n}\n.k-calendar .k-year td,\n.k-calendar .k-year .k-calendar-td,\n.k-calendar .k-calendar-yearview td,\n.k-calendar .k-calendar-yearview .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar .k-year .k-link,\n.k-calendar .k-calendar-yearview .k-link {\n width: 4.5769230769em;\n height: 4.5769230769em;\n}\n.k-calendar .k-decade td,\n.k-calendar .k-decade .k-calendar-td,\n.k-calendar .k-calendar-decadeview td,\n.k-calendar .k-calendar-decadeview .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar .k-decade .k-link,\n.k-calendar .k-calendar-decadeview .k-link {\n width: 4.5769230769em;\n height: 4.5769230769em;\n}\n.k-calendar .k-century td,\n.k-calendar .k-century .k-calendar-td,\n.k-calendar .k-calendar-centuryview td,\n.k-calendar .k-calendar-centuryview .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar .k-century .k-link,\n.k-calendar .k-calendar-centuryview .k-link {\n width: 4.5769230769em;\n height: 4.5769230769em;\n text-align: left;\n}\n.k-calendar-infinite {\n box-sizing: content-box;\n width: auto;\n display: inline-flex;\n vertical-align: bottom;\n}\n.k-calendar-infinite .k-calendar-view,\n.k-calendar-infinite .k-calendar-monthview {\n padding: 0 16px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: column;\n overflow: hidden;\n box-sizing: content-box;\n}\n.k-calendar-infinite .k-calendar-view::after,\n.k-calendar-infinite .k-calendar-monthview::after {\n display: block;\n position: absolute;\n bottom: 0;\n content: " ";\n height: 0;\n line-height: 0;\n z-index: 1;\n width: 150%;\n left: -25%;\n box-shadow: 0 0 2.6153846154em 1.3076923077em #ffffff;\n}\n.k-calendar-infinite .k-calendar-header {\n margin-left: -16px;\n margin-right: -16px;\n padding: 8px 16px;\n}\n.k-calendar-infinite .k-calendar-weekdays {\n width: 100%;\n flex: 0 0 auto;\n}\n.k-calendar-infinite .k-calendar-yearview .k-content td,\n.k-calendar-infinite .k-calendar-yearview .k-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content td,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-decadeview .k-content td,\n.k-calendar-infinite .k-calendar-decadeview .k-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content td,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-centuryview .k-content td,\n.k-calendar-infinite .k-calendar-centuryview .k-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content td,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar-infinite .k-calendar-yearview .k-content .k-link,\n.k-calendar-infinite .k-calendar-yearview .k-content td.k-empty,\n.k-calendar-infinite .k-calendar-yearview .k-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content .k-link,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content td.k-empty,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-content .k-link,\n.k-calendar-infinite .k-calendar-decadeview .k-content td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content .k-link,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-content .k-link,\n.k-calendar-infinite .k-calendar-centuryview .k-content td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content .k-link,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content .k-calendar-td.k-empty {\n width: 3.6615384615em;\n height: 3.6615384615em;\n}\n.k-calendar-classic {\n display: inline-flex;\n}\n.k-calendar-container,\n.k-datetime-container {\n padding: 0;\n}\n.k-calendar-container .k-calendar,\n.k-datetime-container .k-calendar {\n border-width: 0;\n}\n.k-calendar .k-content.k-scrollable,\n.k-calendar .k-calendar-content.k-scrollable {\n box-sizing: content-box;\n overflow-x: hidden;\n overflow-y: auto;\n display: block;\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -100px;\n margin-right: -117px;\n}\n.k-calendar .k-scrollable-placeholder {\n position: absolute;\n z-index: -1;\n width: 1px;\n top: 0;\n right: 0;\n}\n.k-calendar-navigation {\n width: 5em;\n flex: 0 0 auto;\n display: block;\n overflow: hidden;\n position: relative;\n z-index: 2;\n}\n.k-calendar-navigation::before, .k-calendar-navigation::after {\n display: block;\n position: absolute;\n content: " ";\n height: 0;\n line-height: 0;\n z-index: 1;\n width: 200%;\n left: -50%;\n box-shadow: 0 0 6em 3em transparent;\n}\n.k-calendar-navigation::before {\n top: 0;\n}\n.k-calendar-navigation::after {\n bottom: 0;\n}\n.k-calendar-navigation .k-content,\n.k-calendar-navigation .k-calendar-content {\n background: transparent;\n height: auto;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n.k-calendar-navigation .k-content ul,\n.k-calendar-navigation .k-calendar-content ul {\n width: 5em;\n}\n.k-calendar-navigation .k-content li,\n.k-calendar-navigation .k-calendar-content li {\n height: 2em;\n line-height: 2em;\n cursor: pointer;\n padding: 0 1em;\n}\n.k-calendar-navigation .k-calendar-navigation-marker {\n font-weight: bold;\n}\n.k-calendar-navigation .k-calendar-navigation-highlight {\n width: 100%;\n border-width: 1px 0;\n border-style: solid;\n height: 2em;\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n}\n.k-calendar.k-calendar-range {\n width: auto;\n}\n.k-calendar.k-calendar-range .k-calendar-view {\n height: auto;\n min-height: 18.3076923077em;\n width: auto;\n white-space: nowrap;\n}\n.k-calendar.k-calendar-range .k-calendar-view::after {\n display: none;\n}\n.k-calendar.k-calendar-range table,\n.k-calendar.k-calendar-range .k-calendar-table {\n width: auto;\n table-layout: auto;\n}\n.k-calendar.k-calendar-range table.k-meta-view,\n.k-calendar.k-calendar-range .k-calendar-table.k-meta-view {\n margin: 0 -1px;\n}\n.k-calendar.k-calendar-range .k-meta-header,\n.k-calendar.k-calendar-range .k-month-header {\n padding: 0.25em calc( 8px + 1px );\n font-size: 12px;\n line-height: 2;\n text-align: left;\n cursor: default;\n}\n.k-calendar.k-calendar-range .k-range-start {\n border-color: inherit;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-calendar.k-calendar-range .k-range-end {\n border-color: inherit;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-calendar.k-calendar-range .k-range-mid {\n border-color: inherit;\n border-radius: 0;\n}\n.k-calendar.k-calendar-range:not(.k-calendar-infinite) .k-calendar-view {\n display: flex;\n flex-direction: row;\n box-sizing: content-box;\n}\n.k-animation-container-sm .k-calendar.k-calendar-range:not(.k-calendar-infinite) .k-calendar-view {\n flex-direction: column;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite table,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table {\n padding: 0;\n display: flex;\n flex-direction: row;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite table > tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite table > .k-calendar-tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > .k-calendar-tbody {\n display: inline-block;\n vertical-align: top;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite table > tbody + tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite table > .k-calendar-tbody + .k-calendar-tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > tbody + tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > .k-calendar-tbody + .k-calendar-tbody {\n margin-left: 32px;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button {\n border-radius: 0;\n width: 44px;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-calendar-view {\n border-width: 0 1px;\n border-style: solid;\n border-color: inherit;\n}\n.k-widget.k-daterangepicker {\n border: 0;\n}\n.k-rtl .k-calendar .k-nav-prev,\n.k-rtl .k-calendar .k-nav-next,\n.k-rtl .k-calendar .k-prev-view,\n.k-rtl .k-calendar .k-next-view,\n.k-calendar[dir=rtl] .k-nav-prev,\n.k-calendar[dir=rtl] .k-nav-next,\n.k-calendar[dir=rtl] .k-prev-view,\n.k-calendar[dir=rtl] .k-next-view {\n transform: scaleX(-1);\n}\n.k-rtl .k-calendar .k-content.k-scrollable,\n.k-rtl .k-calendar .k-calendar-content.k-scrollable,\n.k-calendar[dir=rtl] .k-content.k-scrollable,\n.k-calendar[dir=rtl] .k-calendar-content.k-scrollable {\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -117px;\n margin-right: -100px;\n}\n.k-rtl .k-calendar tbody th,\n.k-rtl .k-calendar .k-calendar-tbody .k-calendar-th,\n.k-calendar[dir=rtl] tbody th,\n.k-calendar[dir=rtl] .k-calendar-tbody .k-calendar-th {\n text-align: right;\n}\n.k-rtl .k-calendar .k-content > table,\n.k-rtl .k-calendar .k-content > .k-calendar-table,\n.k-rtl .k-calendar .k-calendar-content > table,\n.k-rtl .k-calendar .k-calendar-content > .k-calendar-table,\n.k-calendar[dir=rtl] .k-content > table,\n.k-calendar[dir=rtl] .k-content > .k-calendar-table,\n.k-calendar[dir=rtl] .k-calendar-content > table,\n.k-calendar[dir=rtl] .k-calendar-content > .k-calendar-table {\n margin-right: 0;\n margin-left: -17px;\n}\n.k-calendar {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-calendar .k-header {\n border-color: inherit;\n color: #333;\n background-color: transparent;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.1);\n}\n.k-calendar .k-nav-prev:hover, .k-calendar .k-nav-prev.k-state-hover,\n.k-calendar .k-nav-next:hover,\n.k-calendar .k-nav-next.k-state-hover,\n.k-calendar .k-nav-fast:hover,\n.k-calendar .k-nav-fast.k-state-hover {\n background-color: #ebebeb;\n}\n.k-calendar .k-nav-prev:active, .k-calendar .k-nav-prev.k-state-active,\n.k-calendar .k-nav-next:active,\n.k-calendar .k-nav-next.k-state-active,\n.k-calendar .k-nav-fast:active,\n.k-calendar .k-nav-fast.k-state-active {\n background-color: #e1e1e1;\n}\n.k-calendar .k-footer .k-nav-today,\n.k-calendar .k-calendar-header .k-today {\n color: #38ab63;\n}\n.k-calendar .k-footer .k-nav-today:hover, .k-calendar .k-footer .k-nav-today.k-state-hover, .k-calendar .k-footer .k-nav-today:focus, .k-calendar .k-footer .k-nav-today.k-state-focus,\n.k-calendar .k-calendar-header .k-today:hover,\n.k-calendar .k-calendar-header .k-today.k-state-hover,\n.k-calendar .k-calendar-header .k-today:focus,\n.k-calendar .k-calendar-header .k-today.k-state-focus {\n color: #2f9053;\n}\n.k-calendar .k-content th,\n.k-calendar .k-calendar-content th,\n.k-calendar .k-content .k-calendar-th,\n.k-calendar .k-calendar-content .k-calendar-th,\n.k-calendar .k-calendar-view th,\n.k-calendar .k-calendar-view .k-calendar-th .k-meta-header,\n.k-calendar .k-month-header {\n color: #666666;\n}\n.k-calendar .k-content .k-today,\n.k-calendar .k-calendar-content .k-today {\n color: #38ab63;\n}\n.k-calendar .k-other-month {\n color: #666666;\n}\n.k-calendar .k-alt {\n color: #666666;\n}\n.k-calendar .k-out-of-range {\n pointer-events: none;\n visibility: hidden;\n}\n.k-calendar .k-state-hover .k-link,\n.k-calendar td:hover .k-link,\n.k-calendar td.k-state-hover .k-link,\n.k-calendar .k-calendar-td:hover .k-link,\n.k-calendar .k-calendar-td.k-state-hover .k-link {\n border-color: inherit;\n color: inherit;\n background-color: transparent;\n}\n.k-calendar .k-state-selected .k-link {\n border-color: inherit;\n color: inherit;\n background-color: transparent;\n}\n.k-calendar .k-state-selected:hover .k-link,\n.k-calendar .k-state-selected.k-state-hover .k-link {\n color: inherit;\n background-color: rgba(0, 0, 0, 0.04);\n}\n.k-calendar .k-state-focused .k-link,\n.k-calendar .k-state-focus .k-link {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-calendar .k-state-selected.k-state-focused .k-link,\n.k-calendar .k-state-selected.k-state-focus .k-link {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-calendar .k-calendar-navigation {\n color: #333;\n background-color: transparent;\n box-shadow: inset -1px 0 #e4e4e4;\n}\n.k-calendar .k-calendar-navigation li:hover,\n.k-calendar .k-calendar-navigation li.k-state-hover {\n color: #2f9053;\n}\n.k-calendar .k-calendar-navigation-highlight {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-calendar[dir=rtl] .k-calendar-navigation, .k-rtl .k-calendar .k-calendar-navigation {\n box-shadow: inset 1px 0 #e4e4e4;\n}\n.k-calendar.k-invalid, .k-calendar.k-invalid:hover, .k-calendar.k-state-invalid, .k-calendar.ng-invalid.ng-touched, .k-calendar.ng-invalid.ng-dirty {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-calendar.k-calendar-range .k-range-start,\n.k-calendar.k-calendar-range .k-range-end,\n.k-calendar.k-calendar-range .k-range-mid {\n background-image: linear-gradient(transparent 1px, rgba(0, 0, 0, 0.25) 1px, rgba(0, 0, 0, 0.25) calc(100% - 1px), transparent calc(100% - 1px));\n}\n.k-ie .k-calendar.k-calendar-range .k-range-start, .k-edge .k-calendar.k-calendar-range .k-range-start,\n.k-ie .k-calendar.k-calendar-range .k-range-end,\n.k-edge .k-calendar.k-calendar-range .k-range-end,\n.k-ie .k-calendar.k-calendar-range .k-range-mid,\n.k-edge .k-calendar.k-calendar-range .k-range-mid {\n background-image: none;\n background-color: rgba(0, 0, 0, 0.25);\n}\n.k-calendar.k-calendar-range .k-range-start.k-range-end {\n background-image: none;\n background-color: transparent;\n}\n.k-calendar.k-calendar-range .k-range-start .k-link,\n.k-calendar.k-calendar-range .k-range-end .k-link {\n background-color: transparent;\n}\n.k-calendar.k-calendar-range .k-range-start.k-state-active .k-link,\n.k-calendar.k-calendar-range .k-range-end.k-state-active .k-link {\n box-shadow: inset 0 0 2px 2px rgba(0, 0, 0, 0.2);\n}\n.k-calendar.k-calendar-range .k-range-split-start,\n.k-calendar.k-calendar-range .k-range-split-end {\n position: relative;\n}\n.k-calendar.k-calendar-range .k-range-split-start::after,\n.k-calendar.k-calendar-range .k-range-split-end::after {\n content: "";\n display: block;\n position: absolute;\n top: 1px;\n bottom: 1px;\n width: 5px;\n}\n.k-calendar.k-calendar-range .k-range-split-start::after {\n left: -5px;\n right: auto;\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.25), transparent 100%);\n}\n.k-calendar.k-calendar-range .k-range-split-end::after {\n right: -5px;\n left: auto;\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25), transparent 100%);\n}\n.k-daterangepicker.k-state-invalid .k-dateinput-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-popup {\n background-clip: padding-box;\n margin: 0;\n padding: 0px 0px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 13px;\n line-height: 1.4285714286;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n.k-popup .k-ie11 {\n background-clip: border-box;\n}\n.k-popup > .k-widget {\n border-width: 0;\n}\n.k-popup.k-colorpicker-popup {\n display: flex;\n align-items: center;\n}\n.k-popup .k-item {\n outline: none;\n}\n.k-popup .k-rtl .k-list-optionlabel, [dir=rtl] .k-popup .k-list-optionlabel {\n text-align: right;\n}\n.k-animation-container {\n border-radius: 0 0 0 0;\n}\n.k-animation-container-shown {\n overflow: visible;\n}\n.k-popup > kendo-list > .k-first {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n}\n.k-popup .k-item.k-first {\n position: relative;\n}\n.k-popup > .k-group-header,\n.k-popup > .k-virtual-wrap > .k-group-header {\n padding: 4px 8px;\n min-height: 1.4285714286em;\n white-space: normal;\n transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n}\n.k-popup > .k-group-header {\n margin-top: 0px;\n}\n.k-popup .k-outer-group-header {\n padding: 4px 8px;\n min-height: 1.4285714286em;\n white-space: normal;\n}\n.k-popup .k-outer-group-header.k-virtual-item {\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.k-popup > .k-colorpalette {\n padding: 8px 8px;\n}\n.k-popup .k-list .k-item > .k-group {\n padding: 0 0.5em;\n font-size: 9.282px;\n line-height: 13px;\n text-transform: uppercase;\n position: absolute;\n top: 0;\n right: 0;\n}\n.k-popup .k-list .k-item > .k-group::before {\n content: "";\n width: 13px;\n height: 13px;\n border-width: 6.5px;\n border-style: solid;\n box-sizing: border-box;\n display: block;\n position: absolute;\n left: -13px;\n bottom: 0;\n}\n.k-rtl.k-popup .k-list .k-item > .k-group,\n[dir=rtl] .k-popup .k-list .k-item > .k-group {\n right: auto;\n left: 0;\n}\n.k-rtl.k-popup .k-list .k-item > .k-group::before,\n[dir=rtl] .k-popup .k-list .k-item > .k-group::before {\n right: -14px;\n left: auto;\n}\n.k-group-header + div > .k-list > .k-item.k-first::before {\n content: " ";\n display: block;\n border-top-width: 1px;\n border-top-style: solid;\n position: absolute;\n top: -1px;\n left: 0;\n right: 0;\n}\n.k-popup .k-list > .k-outer-group-header {\n border-top-width: 1px;\n border-top-style: solid;\n}\n.k-popup.k-popup-transparent {\n border-width: 0;\n background-color: transparent;\n}\n.k-popup.k-popup-flush {\n padding: 0;\n}\n.k-list-scroller {\n position: relative;\n overflow: auto;\n}\n.k-list {\n height: auto;\n}\n.k-list > .k-item {\n display: flex;\n align-items: center;\n align-content: center;\n cursor: pointer;\n}\n.k-list > .k-item > .k-icon {\n align-self: center;\n margin-right: 8px;\n}\n.k-list > .k-custom-item {\n font-style: italic;\n}\n.k-list > .k-custom-item > .k-i-plus, .k-list > .k-custom-item > .k-plus {\n margin-left: auto;\n margin-right: 0;\n}\n[dir=rtl] .k-list > .k-item > .k-icon {\n margin-right: 0;\n margin-left: 8px;\n}\n.k-list .k-item,\n.k-list-optionlabel {\n padding: 4px 8px;\n min-height: 1.4285714286em;\n line-height: 1.4285714286em;\n white-space: normal;\n transition-property: color, background-color, outline-color, box-shadow;\n transition-duration: 200ms;\n transition-timing-function: ease;\n}\n.k-list-optionlabel {\n cursor: pointer;\n outline: none;\n}\n.k-list-filter {\n display: block;\n position: relative;\n padding: 8px;\n box-sizing: border-box;\n flex: 0 0 auto;\n}\n.k-list-filter > .k-textbox {\n width: 100% !important;\n box-sizing: border-box;\n padding-left: 8px;\n padding-right: calc( 16px + 8px );\n}\n.k-list-filter > .k-icon {\n position: absolute;\n right: calc( 8px + 8px );\n top: 50%;\n transform: translateY(-50%);\n}\n.k-rtl .k-list-filter > .k-textbox, [dir=rtl] .k-list-filter > .k-textbox {\n padding-right: 8px;\n padding-left: calc( 16px + 8px );\n}\n.k-rtl .k-list-filter > .k-icon, [dir=rtl] .k-list-filter > .k-icon {\n left: calc( 8px + 8px );\n right: auto;\n}\n.k-dropdown-button .k-popup .k-item {\n cursor: pointer;\n}\n.k-split-button .k-list .k-item:focus,\n.k-dropdown-button .k-list .k-item:focus {\n outline: none;\n}\n.k-list-container .k-button {\n border-radius: 0;\n padding: 4px 8px;\n border-width: 0;\n color: inherit;\n background-color: transparent;\n background-image: none;\n line-height: inherit;\n display: flex;\n justify-content: flex-start;\n}\n.k-ie11 .k-list-container .k-button {\n display: flex;\n}\n.k-ie11 .k-list-container .k-button .k-icon {\n margin: 0 4px 0 0;\n}\n.k-list-container .k-button.k-state-disabled {\n pointer-events: none;\n}\n.k-list-container .k-nodata {\n min-height: 138px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n text-transform: uppercase;\n font-weight: lighter;\n text-align: center;\n white-space: normal;\n}\n.k-list-container .k-nodata .k-button {\n display: inline-flex;\n border-width: 1px;\n}\n.k-list-container .k-separator {\n height: 0;\n}\n.k-virtual-content {\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n position: relative;\n}\n.k-virtual-content > .k-virtual-list > .k-virtual-item {\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n white-space: nowrap;\n}\n.k-shadow {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03), 0 4px 5px 0 rgba(0, 0, 0, 0.04);\n}\n.k-popup {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-popup > kendo-list > .k-first {\n border-bottom-color: rgba(0, 0, 0, 0.08);\n}\n.k-popup > .k-group-header,\n.k-popup .k-outer-group-header.k-first,\n.k-popup > .k-virtual-wrap > .k-group-header {\n border-bottom-color: rgba(0, 0, 0, 0.08);\n box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.06);\n}\n.k-popup .k-outer-group-header {\n border-bottom-color: rgba(0, 0, 0, 0.08);\n}\n.k-popup .k-list .k-item > .k-group {\n color: #ffffff;\n background: #424242;\n}\n.k-popup .k-list .k-item > .k-group::before {\n border-color: #424242 #424242 transparent transparent;\n}\n.k-rtl.k-popup .k-list .k-item > .k-group::before,\n[dir=rtl] .k-popup .k-list .k-item > .k-group::before {\n border-color: #424242 transparent transparent #424242;\n}\n.k-group-header + div > .k-list > .k-item.k-first::before {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-list > .k-outer-group-header {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-popup > .k-colorpalette,\n.k-popup > .k-flatcolorpicker {\n background: transparent;\n}\n.k-list .k-item:hover,\n.k-list .k-item.k-state-hover,\n.k-list-optionlabel:hover,\n.k-list-optionlabel.k-state-hover {\n color: inherit;\n background-color: transparent;\n}\n.k-list .k-item:hover.k-state-selected,\n.k-list .k-item.k-state-hover.k-state-selected,\n.k-list-optionlabel:hover.k-state-selected,\n.k-list-optionlabel.k-state-hover.k-state-selected {\n color: inherit;\n background-color: rgba(0, 0, 0, 0.08);\n}\n.k-list .k-item:focus,\n.k-list .k-item.k-state-focused,\n.k-list-optionlabel:focus,\n.k-list-optionlabel.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-list .k-item.k-state-selected,\n.k-list-optionlabel.k-state-selected {\n color: inherit;\n background-color: transparent;\n}\n.k-animation-container {\n border-radius: 0 0 0 0;\n}\n.k-animation-container-shown,\n.k-animation-container > .k-popup {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03), 0 4px 5px 0 rgba(0, 0, 0, 0.04);\n}\n.k-animation-container-fixed > .k-popup {\n box-shadow: none;\n}\n.k-list-container .k-button {\n box-shadow: none;\n}\n.k-list-container .k-button:hover,\n.k-list-container .k-button.k-state-hover {\n color: inherit;\n background-color: transparent;\n}\n.k-list-container .k-button:active,\n.k-list-container .k-button.k-state-active {\n color: inherit;\n background-color: inherit;\n}\n.k-list-container .k-button.k-state-selected {\n color: inherit;\n background-color: transparent;\n}\n.k-list-container .k-button:focus,\n.k-list-container .k-button.k-state-focus,\n.k-list-container .k-button.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-list-container .k-button.k-state-disabled {\n background: transparent;\n}\n.k-list-container .k-nodata {\n color: rgba(66, 66, 66, 0.5);\n}\n.k-list-container .k-nodata .k-button {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-dateinput {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n background: none;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-dateinput .k-dateinput-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-dateinput .k-dateinput-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-dateinput .k-select {\n border-radius: 0 0 0 0;\n padding: 0;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-dateinput .k-link {\n padding: 0 4px;\n min-width: 16px;\n flex: 1 1 auto;\n display: block;\n overflow: hidden;\n position: relative;\n}\n.k-dateinput .k-link .k-icon {\n position: absolute;\n right: 50%;\n transform: translateX(50%);\n}\n.k-dateinput .k-link-increase .k-icon {\n bottom: -2px;\n}\n.k-dateinput .k-link-decrease .k-icon {\n top: -2px;\n}\n.k-dateinput .k-i-warning {\n display: none;\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n overflow: visible;\n}\n.k-dateinput.k-invalid .k-i-warning, .k-dateinput.k-state-invalid .k-i-warning {\n display: inline-block;\n}\n.k-rtl .k-dateinput, .k-dateinput[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-dateinput .k-dateinput-wrap .k-i-warning, .k-dateinput[dir=rtl] .k-dateinput-wrap .k-i-warning {\n left: 8px;\n right: auto;\n}\n.k-rtl .k-dateinput .k-select, .k-dateinput[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-picker-wrap .k-dateinput {\n margin: 0 !important;\n width: 100%;\n flex: 1 1 auto;\n}\n.k-picker-wrap .k-dateinput .k-dateinput-wrap {\n border-radius: 0 0 0 0;\n border-width: 0;\n box-shadow: none !important;\n}\n.k-datepicker,\n.k-timepicker {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n white-space: nowrap;\n background: none;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-datepicker .k-picker-wrap,\n.k-timepicker .k-picker-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n}\n.k-datepicker .k-picker-wrap .k-ie11,\n.k-timepicker .k-picker-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-datepicker .k-select,\n.k-timepicker .k-select {\n border-radius: 0 0 0 0;\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-datepicker .k-i-warning,\n.k-timepicker .k-i-warning {\n display: none;\n position: absolute;\n top: 50%;\n right: calc( calc( 1.4285714286em + 8px ) + 4px);\n transform: translateY(-50%);\n overflow: visible;\n}\n.k-datepicker .k-state-invalid .k-i-warning,\n.k-timepicker .k-state-invalid .k-i-warning {\n display: inline-block;\n}\n.k-rtl .k-datepicker, .k-datepicker[dir=rtl],\n.k-rtl .k-timepicker,\n.k-timepicker[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-datepicker .k-select, .k-datepicker[dir=rtl] .k-select,\n.k-rtl .k-timepicker .k-select,\n.k-timepicker[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-rtl .k-datepicker .k-i-warning, .k-datepicker[dir=rtl] .k-i-warning,\n.k-rtl .k-timepicker .k-i-warning,\n.k-timepicker[dir=rtl] .k-i-warning {\n right: auto;\n left: calc( calc( 1.4285714286em + 8px ) + 4px);\n}\n.k-datetimepicker {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n background: none;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-datetimepicker .k-picker-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n}\n.k-datetimepicker .k-picker-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-datetimepicker .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n display: flex;\n align-items: stretch;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-datetimepicker .k-link {\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n height: 100%;\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.k-datetimepicker .k-i-warning {\n display: none;\n position: absolute;\n top: 50%;\n right: calc( calc( 1.4285714286em + 8px ) * 2 + 4px);\n transform: translateY(-50%);\n overflow: visible;\n}\n.k-datetimepicker .k-state-invalid .k-i-warning {\n display: inline-block;\n}\n.k-rtl .k-datetimepicker, .k-datetimepicker[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-datetimepicker .k-select, .k-datetimepicker[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-rtl .k-datetimepicker .k-i-warning, .k-datetimepicker[dir=rtl] .k-i-warning {\n right: auto;\n left: calc( calc( 1.4285714286em + 8px ) * 2 + 4px);\n}\n.k-datetime-container .k-datetime-wrap {\n width: 20em;\n overflow: hidden;\n}\n.k-datetime-container .k-datetime-buttongroup {\n padding: 8px;\n}\n.k-datetime-container .k-datetime-selector {\n display: flex;\n transition: transform 0.2s;\n}\n.k-datetime-container .k-datetime-calendar-wrap,\n.k-datetime-container .k-datetime-time-wrap {\n text-align: center;\n flex: 0 0 20em;\n}\n.k-datetime-container .k-timeselector {\n outline: none;\n}\n.k-datetime-container .k-time-list-container {\n justify-content: center;\n}\n.k-datetime-container .k-time-tab .k-datetime-selector {\n transform: translateX(-100%);\n}\n.k-datetime-container .k-actions .k-button,\n.k-datetime-container .k-action-buttons .k-button,\n.k-datetime-container .k-columnmenu-actions .k-button {\n flex: 1 1 50%;\n}\n.k-datetime-container .k-actions.k-actions-start .k-button, .k-datetime-container .k-actions-start.k-action-buttons .k-button,\n.k-datetime-container .k-actions-start.k-columnmenu-actions .k-button, .k-datetime-container .k-actions.k-actions-center .k-button, .k-datetime-container .k-actions-center.k-action-buttons .k-button,\n.k-datetime-container .k-actions-center.k-columnmenu-actions .k-button, .k-datetime-container .k-actions.k-actions-end .k-button, .k-datetime-container .k-actions-end.k-action-buttons .k-button,\n.k-datetime-container .k-actions-end.k-columnmenu-actions .k-button {\n flex: 0 1 auto;\n}\n.k-rtl .k-datetime-container .k-time-tab .k-datetime-selector, .k-datetime-container.k-rtl .k-time-tab .k-datetime-selector, [dir=rtl] .k-datetime-container .k-time-tab .k-datetime-selector, .k-datetime-container[dir=rtl] .k-time-tab .k-datetime-selector {\n transform: translateX(100%);\n}\n.k-timeselector .k-actions .k-button,\n.k-timeselector .k-action-buttons .k-button,\n.k-timeselector .k-columnmenu-actions .k-button {\n flex: 1 1 50%;\n}\n.k-timeselector .k-actions.k-actions-start .k-button, .k-timeselector .k-actions-start.k-action-buttons .k-button,\n.k-timeselector .k-actions-start.k-columnmenu-actions .k-button, .k-timeselector .k-actions.k-actions-center .k-button, .k-timeselector .k-actions-center.k-action-buttons .k-button,\n.k-timeselector .k-actions-center.k-columnmenu-actions .k-button, .k-timeselector .k-actions.k-actions-end .k-button, .k-timeselector .k-actions-end.k-action-buttons .k-button,\n.k-timeselector .k-actions-end.k-columnmenu-actions .k-button {\n flex: 0 1 auto;\n}\n.k-time-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n line-height: 2em;\n}\n.k-time-header .k-title {\n font-weight: bold;\n}\n.k-time-header .k-time-now {\n border-width: 0;\n line-height: inherit;\n cursor: pointer;\n}\n.k-time-list-wrapper {\n display: inline-block;\n overflow: hidden;\n box-sizing: content-box;\n overflow-x: hidden;\n overflow-y: auto;\n position: relative;\n padding: 20px 0;\n text-align: center;\n min-width: 4em;\n height: 200px;\n flex: 1 1 auto;\n}\n.k-time-list-wrapper .k-title {\n display: block;\n text-align: center;\n font-size: 10px;\n position: absolute;\n text-transform: capitalize;\n font-weight: bold;\n min-width: 100%;\n height: 1.5em;\n line-height: 1.5em;\n margin-top: -20px;\n z-index: 12;\n}\n.k-time-list-wrapper.k-state-focused::before, .k-time-list-wrapper.k-state-focused::after {\n display: block;\n content: " ";\n position: absolute;\n width: 100%;\n left: 0;\n pointer-events: none;\n height: calc(50% - 1em);\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n}\n.k-time-list-wrapper.k-state-focused::before {\n top: 0;\n}\n.k-time-list-wrapper.k-state-focused::after {\n bottom: 0;\n}\n.k-time-container {\n position: absolute;\n display: block;\n overflow-x: hidden;\n overflow-y: scroll;\n line-height: 1.4285714286;\n left: 0;\n right: 0;\n top: 20px;\n bottom: 20px;\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -100px;\n margin-right: -117px;\n}\n.k-time-container > ul {\n height: auto;\n width: 4em;\n margin: auto;\n}\n.k-rtl .k-time-container, .k-time-container.k-rtl, [dir=rtl] .k-time-container, .k-time-container[dir=rtl] {\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -117px;\n margin-right: -100px;\n}\n.k-time-list-container {\n display: flex;\n position: relative;\n}\n.k-time-list {\n position: absolute;\n display: flex;\n z-index: 10;\n outline: 0;\n bottom: 0;\n right: 0;\n left: 0;\n top: 0;\n}\n.k-time-list::before, .k-time-list::after {\n display: block;\n position: absolute;\n content: " ";\n height: 0;\n line-height: 0;\n z-index: 1;\n width: 200%;\n left: -50%;\n}\n.k-time-list::before {\n top: 0;\n}\n.k-time-list::after {\n bottom: 0;\n}\n.k-time-list .k-item {\n padding: 4px 8px;\n min-height: calc( 1.43em + 2px );\n line-height: calc( 1.43em + 2px );\n}\n.k-time-highlight {\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n transform: translateY(-50%);\n width: 100%;\n height: calc( 1.4285714286em + 8px );\n z-index: 1;\n border-width: 1px 0;\n border-style: solid;\n border-radius: 0.1px;\n}\n.k-time-container .k-scrollable-placeholder {\n position: absolute;\n width: 1px;\n top: 0;\n right: 0;\n}\n.k-time-separator {\n width: 0;\n height: 100%;\n display: inline-flex;\n align-self: center;\n justify-content: center;\n z-index: 11;\n}\n.k-datepicker .k-select,\n.k-timepicker .k-select,\n.k-datetimepicker .k-select,\n.k-dateinput .k-select {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-datepicker .k-i-warning,\n.k-timepicker .k-i-warning,\n.k-datetimepicker .k-i-warning,\n.k-dateinput .k-i-warning {\n color: #f31700;\n}\n.k-datepicker .k-picker-wrap,\n.k-timepicker .k-picker-wrap,\n.k-datetimepicker .k-picker-wrap,\n.k-dateinput .k-dateinput-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-datepicker .k-picker-wrap:hover, .k-datepicker .k-picker-wrap.k-state-hover,\n.k-timepicker .k-picker-wrap:hover,\n.k-timepicker .k-picker-wrap.k-state-hover,\n.k-datetimepicker .k-picker-wrap:hover,\n.k-datetimepicker .k-picker-wrap.k-state-hover,\n.k-dateinput .k-dateinput-wrap:hover,\n.k-dateinput .k-dateinput-wrap.k-state-hover {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-datepicker .k-picker-wrap.k-state-focused, .k-datepicker .k-picker-wrap.k-state-active,\n.k-timepicker .k-picker-wrap.k-state-focused,\n.k-timepicker .k-picker-wrap.k-state-active,\n.k-datetimepicker .k-picker-wrap.k-state-focused,\n.k-datetimepicker .k-picker-wrap.k-state-active,\n.k-dateinput .k-dateinput-wrap.k-state-focused,\n.k-dateinput .k-dateinput-wrap.k-state-active {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-datepicker .k-select:hover,\n.k-datepicker .k-select.k-state-hover,\n.k-timepicker .k-select:hover,\n.k-timepicker .k-select.k-state-hover {\n background-color: #ebebeb;\n}\n.k-dateinput .k-link:hover,\n.k-dateinput .k-link.k-state-hover,\n.k-datetimepicker .k-link:hover,\n.k-datetimepicker .k-link.k-state-hover {\n background-color: #ebebeb;\n}\n.k-dateinput .k-link:active,\n.k-dateinput .k-link.k-state-active,\n.k-dateinput .k-link.k-state-selected,\n.k-datetimepicker .k-link:active,\n.k-datetimepicker .k-link.k-state-active,\n.k-datetimepicker .k-link.k-state-selected {\n background-color: #e1e1e1;\n}\n.k-time-header .k-time-now {\n color: #38ab63;\n background: transparent;\n}\n.k-time-header .k-time-now:hover, .k-time-header .k-time-now:focus {\n color: #2f9053;\n}\n.k-time-list-wrapper .k-title {\n color: #666666;\n}\n.k-time-list-wrapper.k-state-focused .k-title {\n color: #424242;\n}\n.k-time-list-wrapper.k-state-focused::before, .k-time-list-wrapper.k-state-focused::after {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.k-time-list::before, .k-time-list::after {\n box-shadow: 0 0 3em 1.5em #ffffff;\n}\n.k-time-list .k-item:hover {\n color: #38ab63;\n}\n.k-time-container {\n background: transparent;\n}\n.k-time-highlight {\n border-color: rgba(0, 0, 0, 0.08);\n background-color: #ffffff;\n}\n.k-datetime-container .k-date-tab .k-datetime-buttongroup,\n.k-datetime-container .k-date-tab .k-datetime-selector {\n background-color: #ffffff;\n}\n.k-datepicker .k-picker-wrap.k-invalid, .k-datepicker .k-picker-wrap.k-state-invalid,\n.k-datetimepicker .k-picker-wrap.k-invalid,\n.k-datetimepicker .k-picker-wrap.k-state-invalid,\n.k-timepicker .k-picker-wrap.k-invalid,\n.k-timepicker .k-picker-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-datepicker.k-state-invalid .k-picker-wrap, .k-datepicker.ng-invalid.ng-touched .k-picker-wrap, .k-datepicker.ng-invalid.ng-dirty .k-picker-wrap,\n.k-datetimepicker.k-state-invalid .k-picker-wrap,\n.k-datetimepicker.ng-invalid.ng-touched .k-picker-wrap,\n.k-datetimepicker.ng-invalid.ng-dirty .k-picker-wrap,\n.k-timepicker.k-state-invalid .k-picker-wrap,\n.k-timepicker.ng-invalid.ng-touched .k-picker-wrap,\n.k-timepicker.ng-invalid.ng-dirty .k-picker-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dateinput .k-dateinput-wrap.k-invalid, .k-dateinput .k-dateinput-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dateinput.k-state-invalid .k-dateinput-wrap, .k-dateinput.ng-invalid.ng-touched .k-dateinput-wrap, .k-dateinput.ng-invalid.ng-dirty .k-dateinput-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-datepicker.k-state-hover .k-picker-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-datepicker.k-state-focus .k-picker-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-datepicker.k-invalid .k-picker-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dateinput.k-state-hover .k-dateinput-wrap,\n.k-daterangepicker.k-state-hover .k-dateinput-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-dateinput.k-state-focus .k-dateinput-wrap,\n.k-daterangepicker.k-state-focus .k-dateinput-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-dateinput.k-invalid .k-dateinput-wrap,\n.k-daterangepicker.k-invalid .k-dateinput-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-d-flex {\n display: flex;\n}\n.k-d-inline-flex {\n display: inline-flex;\n}\n.k-d-flex-row, .k-columnset, .k-hbox {\n display: flex;\n flex-direction: row;\n}\n.k-d-flex-col, .k-rowset, .k-vbox {\n display: flex;\n flex-direction: column;\n}\n.k-flex-row {\n flex-direction: row;\n}\n.k-flex-row-reverse {\n flex-direction: row-reverse;\n}\n.k-flex-col, .k-flex-column {\n flex-direction: column;\n}\n.k-flex-col-reverse, .k-flex-column-reverse {\n flex-direction: column-reverse;\n}\n.k-flex-wrap {\n flex-wrap: wrap;\n}\n.k-flex-nowrap {\n flex-wrap: nowrap;\n}\n.k-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.k-flex-initial {\n flex: 0 1 auto;\n}\n.k-flex-1, .k-flex {\n flex: 1 1 0%;\n}\n.k-flex-auto {\n flex: 1 1 auto;\n}\n.k-flex-none, .k-no-flex {\n flex: none;\n}\n.k-flex-grow {\n flex-grow: 1;\n}\n.k-flex-grow-0, .k-no-flex-grow {\n flex-grow: 0;\n}\n.k-flex-shrink {\n flex-shrink: 1;\n}\n.k-flex-shrink-0, .k-no-flex-shrink {\n flex-shrink: 0;\n}\n.k-flex-basis-auto {\n flex-basis: auto;\n}\n.k-flex-basis-0 {\n flex-basis: 0%;\n}\n.k-align-items-start {\n align-items: flex-start;\n}\n.k-align-items-end {\n align-items: flex-end;\n}\n.k-align-items-center {\n align-items: center;\n}\n.k-align-items-stretch {\n align-items: stretch;\n}\n.k-align-items-baseline {\n align-items: baseline;\n}\n.k-align-content-start {\n align-content: flex-start;\n}\n.k-align-content-end {\n align-content: flex-end;\n}\n.k-align-content-center {\n align-content: center;\n}\n.k-align-content-stretch {\n align-content: stretch;\n}\n.k-align-content-baseline {\n align-content: baseline;\n}\n.k-align-self-start {\n align-self: flex-start;\n}\n.k-align-self-end {\n align-self: flex-end;\n}\n.k-align-self-center {\n align-self: center;\n}\n.k-align-self-stretch {\n align-self: stretch;\n}\n.k-align-self-baseline {\n align-self: baseline;\n}\n.k-justify-content-start {\n justify-content: flex-start;\n}\n.k-justify-content-end {\n justify-content: flex-end;\n}\n.k-justify-content-center {\n justify-content: center;\n}\n.k-justify-content-between {\n justify-content: space-between;\n}\n.k-justify-content-around {\n justify-content: space-around;\n}\n.k-justify-content-evenly {\n justify-content: space-evenly;\n}\n.k-column {\n flex-grow: 1;\n flex-basis: 0;\n}\n.k-numerictextbox {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n background: none;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-numerictextbox .k-numeric-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-numerictextbox .k-numeric-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-numerictextbox .k-input {\n text-overflow: clip;\n}\n.k-numerictextbox .k-select {\n border-radius: 0 0 0 0;\n padding: 0;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-numerictextbox .k-link {\n padding: 0 4px;\n min-width: calc( 16px + 8px );\n box-sizing: border-box;\n flex: 1 1 auto;\n display: block;\n overflow: hidden;\n position: relative;\n}\n.k-numerictextbox .k-link .k-icon {\n position: absolute;\n right: 50%;\n transform: translateX(50%);\n}\n.k-numerictextbox .k-link-increase .k-icon {\n bottom: -2px;\n}\n.k-numerictextbox .k-link-decrease .k-icon {\n top: -2px;\n}\n.k-numerictextbox .k-i-warning {\n align-self: center;\n margin-right: 0.5em;\n}\n.k-rtl .k-numerictextbox, .k-numerictextbox[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-numerictextbox .k-numeric-wrap .k-i-warning, .k-numerictextbox[dir=rtl] .k-numeric-wrap .k-i-warning {\n align-self: center;\n margin-right: 0;\n margin-left: 0.5em;\n}\n.k-rtl .k-numerictextbox .k-select, .k-numerictextbox[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-numerictextbox .k-numeric-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-numerictextbox .k-numeric-wrap:hover, .k-numerictextbox .k-numeric-wrap.k-state-hover {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-numerictextbox .k-numeric-wrap.k-state-focused {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-numerictextbox .k-numeric-wrap.k-invalid, .k-numerictextbox .k-numeric-wrap.k-invalid:hover, .k-numerictextbox .k-numeric-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-numerictextbox .k-select {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-numerictextbox .k-select .k-link:hover,\n.k-numerictextbox .k-select .k-link.k-state-hover {\n background-color: #ebebeb;\n}\n.k-numerictextbox .k-select .k-link:active,\n.k-numerictextbox .k-select .k-link.k-state-active,\n.k-numerictextbox .k-select .k-link.k-state-selected {\n background-color: #e1e1e1;\n}\n.k-numerictextbox.k-state-invalid .k-numeric-wrap, .k-numerictextbox.ng-invalid.ng-touched .k-numeric-wrap, .k-numerictextbox.ng-invalid.ng-dirty .k-numeric-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-tooltip {\n border-radius: 0;\n margin: 0;\n padding: 4px 8px;\n border-width: 0px;\n border-style: solid;\n box-sizing: border-box;\n background-repeat: repeat-x;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.25;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n position: absolute;\n z-index: 12000;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-tooltip-icon {\n -webkit-margin-end: 4px;\n margin-inline-end: 4px;\n flex-shrink: 0;\n}\n.k-tooltip-title {\n margin-bottom: 0.25em;\n font-size: 16.25px;\n line-height: 1;\n}\n.k-tooltip-content {\n align-self: stretch;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-tooltip-button {\n -webkit-margin-start: 4px;\n margin-inline-start: 4px;\n flex-shrink: 0;\n}\n.k-tooltip-button .k-icon {\n color: inherit;\n vertical-align: top;\n}\n.k-callout {\n width: 12px;\n height: 12px;\n border-width: 6px;\n border-style: solid;\n border-color: transparent;\n box-sizing: border-box;\n position: absolute;\n pointer-events: none;\n}\n.k-callout-n {\n margin-left: -6px;\n border-bottom-color: currentColor;\n top: -12px;\n left: 50%;\n pointer-events: none;\n}\n.k-callout-e {\n margin-top: -6px;\n border-left-color: currentColor;\n top: 50%;\n right: -12px;\n pointer-events: none;\n}\n.k-callout-s {\n margin-left: -6px;\n border-top-color: currentColor;\n bottom: -12px;\n left: 50%;\n pointer-events: none;\n}\n.k-callout-w {\n margin-top: -6px;\n border-right-color: currentColor;\n top: 50%;\n left: -12px;\n pointer-events: none;\n}\n.k-tooltip-wrapper .k-tooltip {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03), 0 4px 5px 0 rgba(0, 0, 0, 0.04);\n}\n.k-tooltip {\n border-color: rgba(0, 0, 0, 0.75);\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.75);\n}\n.k-tooltip .k-callout {\n color: rgba(0, 0, 0, 0.75);\n}\n.k-tooltip-primary {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-tooltip-primary .k-callout {\n color: #38ab63;\n}\n.k-tooltip-info {\n border-color: #0058e9;\n color: #ffffff;\n background-color: #0058e9;\n}\n.k-tooltip-info .k-callout {\n color: #0058e9;\n}\n.k-tooltip-success {\n border-color: #37b400;\n color: #ffffff;\n background-color: #37b400;\n}\n.k-tooltip-success .k-callout {\n color: #37b400;\n}\n.k-tooltip-warning {\n border-color: #ffc000;\n color: #000000;\n background-color: #ffc000;\n}\n.k-tooltip-warning .k-callout {\n color: #ffc000;\n}\n.k-tooltip-error {\n border-color: #f31700;\n color: #ffffff;\n background-color: #f31700;\n}\n.k-tooltip-error .k-callout {\n color: #f31700;\n}\n.k-slider {\n border: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n background: none;\n display: inline-flex;\n align-items: stretch;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-slider .k-button {\n height: 28px;\n line-height: 28px;\n margin: 0;\n min-width: 0;\n outline: 0;\n padding: 0;\n position: absolute;\n width: 28px;\n box-sizing: content-box;\n}\n.k-slider .k-button .k-icon,\n.k-slider .k-button .k-button-icon {\n vertical-align: baseline;\n line-height: 28px;\n height: 100%;\n}\n.k-slider .k-button-increase {\n right: 0;\n top: 0;\n}\n.k-slider .k-button-decrease {\n left: 0;\n top: 0;\n}\n.k-slider .k-label {\n width: auto;\n font-size: 0.92em;\n line-height: 1;\n white-space: nowrap;\n position: absolute;\n}\n.k-slider .k-tick,\n.k-slider .k-slider-track {\n cursor: pointer;\n}\n.k-slider .k-tick {\n background-color: transparent;\n background-position: center center;\n background-repeat: no-repeat;\n margin: 0;\n padding: 0;\n position: relative;\n}\n.k-slider.k-state-disabled .k-tick,\n.k-slider.k-state-disabled .k-slider-track,\n.k-slider.k-state-disabled .k-draghandle {\n cursor: default;\n}\n.k-rtl .k-slider .k-slider-selection, .k-slider.k-rtl .k-slider-selection, [dir=rtl] .k-slider .k-slider-selection, .k-slider[dir=rtl] .k-slider-selection {\n left: auto;\n right: 0;\n}\n.k-rtl .k-slider .k-button-increase, .k-slider.k-rtl .k-button-increase, [dir=rtl] .k-slider .k-button-increase, .k-slider[dir=rtl] .k-button-increase {\n left: 0;\n right: auto;\n}\n.k-rtl .k-slider .k-button-decrease, .k-slider.k-rtl .k-button-decrease, [dir=rtl] .k-slider .k-button-decrease, .k-slider[dir=rtl] .k-button-decrease {\n right: 0;\n left: auto;\n}\n.k-slider {\n gap: calc( 14px / 2 );\n}\n.k-slider > .k-button {\n position: relative;\n flex-shrink: 0;\n align-self: center;\n}\n.k-slider > .k-slider-track-wrap {\n flex: 1 1 auto;\n display: flex;\n flex-flow: inherit;\n position: relative;\n touch-action: none;\n}\n.k-slider > .k-slider-track-wrap .k-slider-items {\n flex: 1 1 100%;\n display: flex;\n flex-flow: inherit;\n justify-content: space-between;\n}\n.k-slider > .k-slider-track-wrap .k-slider-items::after {\n display: none;\n}\n.k-slider > .k-slider-track-wrap .k-tick {\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: 1px;\n}\n.k-slider > .k-slider-track-wrap .k-draghandle {\n position: absolute;\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-slider-track {\n width: 100%;\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle {\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle:focus,\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle:active {\n transform: translate(-50%, -50%) scale(1);\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-slider-selection {\n width: calc( (var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1% );\n left: calc( var(--kendo-slider-start, 0) * 1% );\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle-start {\n left: calc( var(--kendo-slider-start, 0) * 1% );\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle-end {\n left: calc( var(--kendo-slider-end, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-slider-selection {\n left: unset;\n right: calc( var(--kendo-slider-start, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle-start {\n left: unset;\n right: calc( var(--kendo-slider-start, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle-end {\n left: unset;\n right: calc( var(--kendo-slider-end, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle {\n transform: translate(50%, -50%);\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle:focus,\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle:active {\n transform: translate(50%, -50%) scale(1);\n}\n.k-slider-vertical > .k-slider-track-wrap .k-slider-track {\n height: 100%;\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle {\n left: 50%;\n transform: translate(-50%, 50%);\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle:focus,\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle:active {\n transform: translate(-50%, 50%) scale(1);\n}\n.k-slider-vertical > .k-slider-track-wrap .k-slider-selection {\n bottom: calc( var(--kendo-slider-start, 0) * 1% );\n height: calc( (var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1% );\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle-start {\n bottom: calc( var(--kendo-slider-start, 0) * 1% );\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle-end {\n bottom: calc( var(--kendo-slider-end, 0) * 1% );\n}\n.k-slider-vertical {\n height: 200px;\n width: 30px;\n flex-flow: column-reverse nowrap;\n}\n.k-slider-vertical .k-button-decrease {\n bottom: 0;\n top: auto;\n}\n.k-slider-vertical .k-tick {\n text-align: right;\n margin-left: 2px;\n}\n.k-slider-vertical .k-slider-topleft .k-tick {\n text-align: left;\n}\n.k-slider-vertical .k-tick {\n background-position: -92px center;\n}\n.k-slider-vertical .k-slider-topleft .k-tick {\n background-position: -122px center;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick {\n background-position: -152px center;\n}\n.k-slider-vertical .k-tick-large {\n display: flex;\n align-items: center;\n background-position: -2px center;\n}\n.k-slider-vertical .k-slider-topleft .k-tick-large {\n background-position: -32px center;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick-large {\n background-position: -62px center;\n}\n.k-slider-vertical .k-first {\n background-position: -92px 100%;\n}\n.k-slider-vertical .k-tick-large.k-first {\n background-position: -2px 100%;\n}\n.k-slider-vertical .k-slider-topleft .k-first {\n background-position: -122px 100%;\n}\n.k-slider-vertical .k-slider-topleft .k-tick-large.k-first {\n background-position: -32px 100%;\n}\n.k-slider-vertical .k-slider-bottomright .k-first {\n background-position: -152px 100%;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick-large.k-first {\n background-position: -62px 100%;\n}\n.k-slider-vertical .k-last {\n background-position: -92px 0;\n}\n.k-slider-vertical .k-tick-large.k-last {\n background-position: -2px 0;\n}\n.k-slider-vertical .k-slider-topleft .k-last {\n background-position: -122px 0;\n}\n.k-slider-vertical .k-slider-topleft .k-tick-large.k-last {\n background-position: -32px 0;\n}\n.k-slider-vertical .k-slider-bottomright .k-last {\n background-position: -152px 0;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick-large.k-last {\n background-position: -62px 0;\n}\n.k-slider-vertical .k-label {\n text-align: left;\n left: 120%;\n top: 50%;\n transform: translateY(-50%);\n}\n.k-slider-vertical .k-first .k-label {\n top: 100%;\n}\n.k-slider-vertical .k-last .k-label {\n top: 0;\n}\n.k-slider-vertical .k-slider-topleft .k-label {\n left: auto;\n right: 120%;\n}\n.k-rtl .k-slider-vertical .k-label, .k-slider-vertical.k-rtl .k-label, [dir=rtl] .k-slider-vertical .k-label, .k-slider-vertical[dir=rtl] .k-label {\n left: auto;\n right: 120%;\n}\n.k-rtl .k-slider-vertical .k-slider-topleft .k-label, .k-slider-vertical.k-rtl .k-slider-topleft .k-label, [dir=rtl] .k-slider-vertical .k-slider-topleft .k-label, .k-slider-vertical[dir=rtl] .k-slider-topleft .k-label {\n left: 120%;\n right: auto;\n}\n.k-slider-horizontal {\n height: 30px;\n width: 200px;\n flex-flow: row nowrap;\n}\n.k-slider-horizontal .k-tick {\n float: left;\n height: 100%;\n text-align: center;\n}\n.k-slider-horizontal .k-tick {\n background-position: center -92px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick {\n background-position: center -122px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick {\n background-position: center -152px;\n}\n.k-slider-horizontal .k-tick-large {\n background-position: center -2px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick-large {\n background-position: center -32px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick-large {\n background-position: center -62px;\n}\n.k-slider-horizontal .k-first {\n background-position: 0 -92px;\n}\n.k-slider-horizontal .k-tick-large.k-first {\n background-position: 0 -2px;\n}\n.k-slider-horizontal .k-slider-topleft .k-first {\n background-position: 0 -122px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick-large.k-first {\n background-position: 0 -32px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-first {\n background-position: 0 -152px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-first {\n background-position: 0 -62px;\n}\n.k-slider-horizontal .k-last {\n background-position: 100% -92px;\n}\n.k-slider-horizontal .k-tick-large.k-last {\n background-position: 100% -2px;\n}\n.k-slider-horizontal .k-slider-topleft .k-last {\n background-position: 100% -122px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick-large.k-last {\n background-position: 100% -32px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-last {\n background-position: 100% -152px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-last {\n background-position: 100% -62px;\n}\n.k-slider-horizontal .k-label {\n left: 50%;\n bottom: -1.2em;\n transform: translateX(-50%);\n}\n.k-slider-horizontal .k-first .k-label {\n left: 0;\n}\n.k-slider-horizontal .k-last .k-label {\n left: 100%;\n}\n.k-slider-horizontal .k-slider-topleft .k-label {\n top: -1.2em;\n}\n.k-rtl .k-slider-horizontal .k-slider-track,\n.k-rtl .k-slider-horizontal .k-slider-selection, .k-slider-horizontal.k-rtl .k-slider-track,\n.k-slider-horizontal.k-rtl .k-slider-selection, [dir=rtl] .k-slider-horizontal .k-slider-track,\n[dir=rtl] .k-slider-horizontal .k-slider-selection, .k-slider-horizontal[dir=rtl] .k-slider-track,\n.k-slider-horizontal[dir=rtl] .k-slider-selection {\n right: 0;\n left: auto;\n}\n.k-rtl .k-slider-horizontal .k-slider-buttons .k-slider-track, .k-slider-horizontal.k-rtl .k-slider-buttons .k-slider-track, [dir=rtl] .k-slider-horizontal .k-slider-buttons .k-slider-track, .k-slider-horizontal[dir=rtl] .k-slider-buttons .k-slider-track {\n right: 38px;\n}\n.k-rtl .k-slider-horizontal .k-button .k-i-arrow-e,\n.k-rtl .k-slider-horizontal .k-button .k-i-arrow-w, .k-slider-horizontal.k-rtl .k-button .k-i-arrow-e,\n.k-slider-horizontal.k-rtl .k-button .k-i-arrow-w, [dir=rtl] .k-slider-horizontal .k-button .k-i-arrow-e,\n[dir=rtl] .k-slider-horizontal .k-button .k-i-arrow-w, .k-slider-horizontal[dir=rtl] .k-button .k-i-arrow-e,\n.k-slider-horizontal[dir=rtl] .k-button .k-i-arrow-w {\n transform: scaleX(-1);\n}\n.k-slider-wrap {\n height: 100%;\n width: 100%;\n}\n.k-slider-track,\n.k-slider-selection {\n margin: 0;\n padding: 0;\n position: absolute;\n}\n.k-slider-horizontal .k-slider-track,\n.k-slider-horizontal .k-slider-selection {\n height: 4px;\n left: 0;\n margin-top: -2px;\n top: 50%;\n}\n.k-slider-vertical .k-slider-track,\n.k-slider-vertical .k-slider-selection {\n bottom: 0;\n left: 50%;\n margin-left: -2px;\n width: 4px;\n}\n.k-slider-horizontal .k-slider-buttons .k-slider-track {\n left: 38px;\n}\n.k-slider-vertical .k-slider-buttons .k-slider-track {\n bottom: 38px;\n}\n.k-draghandle {\n background-color: transparent;\n background-repeat: no-repeat;\n border-style: solid;\n border-width: 1px;\n outline: 0;\n position: absolute;\n text-align: center;\n text-decoration: none;\n box-sizing: content-box;\n width: 14px;\n height: 14px;\n}\n.k-slider-horizontal .k-draghandle {\n top: 50%;\n transform: translateY(-50%);\n}\n.k-slider-horizontal .k-draghandle:active, .k-slider-horizontal .k-draghandle.k-pressed {\n transform: translateY(-50%) scale(1);\n}\n.k-slider-vertical .k-draghandle {\n left: 50%;\n transform: translateX(-50%);\n}\n.k-slider-vertical .k-draghandle:active, .k-slider-vertical .k-draghandle.k-pressed {\n transform: translateX(-50%) scale(1);\n}\n.k-slider-transitions.k-slider-horizontal .k-draghandle {\n transition: left 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.k-slider-transitions.k-slider-vertical .k-draghandle {\n transition: bottom 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.k-draghandle.k-pressed {\n transition: none;\n}\n.k-slider-transitions.k-slider-horizontal .k-slider-selection {\n transition: width 0.3s ease-out;\n}\n.k-slider-transitions.k-slider-vertical .k-slider-selection {\n transition: height 0.3s ease-out;\n}\n.k-slider-selection.k-pressed {\n transition: none;\n}\n.k-slider-items {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.k-slider-buttons .k-slider-items {\n margin-left: 38px;\n}\n.k-slider-horizontal .k-slider-items {\n height: 100%;\n padding: 2px 0;\n box-sizing: border-box;\n}\n.k-slider-vertical .k-slider-items {\n padding-top: 1px;\n}\n.k-slider-vertical .k-slider-buttons .k-slider-items {\n margin: 0;\n padding-top: 38px;\n}\n.k-slider-items::after {\n content: "";\n display: block;\n clear: both;\n}\n.k-slider-tooltip .k-callout-n,\n.k-slider-tooltip .k-callout-s {\n margin-left: -3px;\n}\n.k-slider-tooltip .k-callout-w,\n.k-slider-tooltip .k-callout-e {\n margin-top: -3px;\n}\n.k-no-flexbox .k-slider-horizontal {\n display: inline-block;\n}\n.k-no-flexbox .k-slider-vertical {\n display: inline-block;\n}\n.k-slider {\n color: #424242;\n}\n.k-slider .k-slider-track,\n.k-slider .k-slider-selection {\n border-radius: 0;\n}\n.k-slider .k-slider-track {\n background-color: #ebebeb;\n}\n.k-slider .k-slider-selection {\n background-color: #38ab63;\n}\n.k-slider .k-button {\n border-radius: 50%;\n}\n.k-slider .k-draghandle {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n border-radius: 50%;\n}\n.k-slider .k-draghandle:hover {\n border-color: #36a45f;\n background-color: #36a45f;\n}\n.k-slider .k-draghandle:active, .k-slider .k-draghandle.k-pressed {\n border-color: #319657;\n background-color: #319657;\n}\n.k-slider .k-draghandle:focus, .k-slider .k-draghandle.k-state-focused {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-slider.k-state-focused .k-draghandle {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-slider .k-slider-wrap:focus {\n outline: none;\n}\n.k-slider-horizontal .k-tick {\n background-image: url(data:image/gif;base64,R0lGODlhAQC0AIABALi4uAAAACH5BAEAAAEALAAAAAABALQAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);\n}\n.k-slider-vertical .k-tick {\n background-image: url(data:image/gif;base64,R0lGODlhtAABAIABALi4uAAAACH5BAEAAAEALAAAAAC0AAEAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);\n}\n.k-colorpicker {\n width: auto;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n background: none;\n text-align: left;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n overflow: visible;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-colorpicker .k-selected-color {\n padding: 4px;\n width: calc( 1.4285714286em + 8px );\n height: calc( 1.4285714286em + 8px );\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n box-sizing: border-box;\n line-height: 0;\n position: relative;\n overflow: hidden;\n}\n.k-colorpicker .k-selected-color .k-i-line {\n border-top: 1px solid #f31700;\n width: 200%;\n height: 200%;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-33%, -33%) rotateZ(45deg);\n transform-origin: 0 0;\n}\n.k-colorpicker .k-selected-color .k-i-line::before {\n display: none;\n}\n.k-colorpicker .k-tool-icon {\n padding: 4px;\n width: calc( 1.4285714286em + 8px );\n height: calc( 1.4285714286em + 8px );\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n box-sizing: border-box;\n font-size: inherit;\n text-align: center;\n flex-direction: column;\n cursor: pointer;\n}\n.k-colorpicker .k-tool-icon::before {\n font-size: 16px;\n line-height: 1;\n}\n.k-colorpicker .k-tool-icon .k-selected-color {\n margin: 1px 0 0;\n padding: 0;\n width: 14px;\n height: 3px;\n border-width: 0;\n line-height: 0;\n display: inline-block;\n}\n.k-colorpicker .k-picker-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-direction: row;\n transition: all 0.1s ease;\n overflow: hidden;\n cursor: default;\n outline: 0;\n}\n.k-colorpicker .k-picker-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-colorpicker .k-select {\n border-radius: 0 0 0 0;\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 1px;\n border-style: solid;\n border-color: inherit;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-rtl .k-colorpicker .k-picker-wrap .k-select, .k-colorpicker[dir=rtl] .k-picker-wrap .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 1px 0 0;\n}\n.k-colorpicker + .k-animation-container .k-popup {\n padding: 0;\n}\n.k-flatcolorpicker {\n border-radius: 0;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 310px;\n padding: 8px;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-flatcolorpicker .k-hsv-rectangle {\n position: relative;\n flex: 1 1 auto;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -ms-touch-action: pinch-zoom double-tap-zoom;\n}\n.k-flatcolorpicker .k-hsv-rectangle .k-draghandle {\n margin: -7px 0 0 -7px;\n cursor: pointer;\n position: absolute;\n z-index: 10;\n left: 50%;\n top: 50%;\n}\n.k-flatcolorpicker .k-hsv-gradient {\n height: 180px;\n}\n.k-flatcolorpicker .k-sliders-wrap {\n flex-shrink: 0;\n position: relative;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-hbox {\n margin-left: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-hbox .k-slider + .k-slider {\n margin-left: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-vbox {\n margin-top: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-vbox .k-slider + .k-slider {\n margin-top: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap-clearable.k-hbox .k-clear-color {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n}\n.k-flatcolorpicker .k-sliders-wrap-clearable.k-hbox .k-hue-slider,\n.k-flatcolorpicker .k-sliders-wrap-clearable.k-hbox .k-alpha-slider {\n height: 140px;\n align-self: flex-end;\n}\n.k-flatcolorpicker .k-slider {\n display: block;\n}\n.k-flatcolorpicker .k-slider .k-slider-wrap {\n z-index: 1;\n}\n.k-flatcolorpicker .k-slider .k-slider-selection {\n display: none;\n}\n.k-flatcolorpicker .k-slider .k-draghandle {\n border-width: 3px;\n}\n.k-flatcolorpicker .k-slider-horizontal {\n width: 100%;\n height: 10px;\n flex: 0 0 10px;\n}\n.k-flatcolorpicker .k-slider-horizontal .k-slider-track {\n margin-top: -5px;\n height: 10px;\n border-radius: 10px;\n}\n.k-flatcolorpicker .k-slider-vertical {\n width: 10px;\n height: 180px;\n flex: 0 0 10px;\n}\n.k-flatcolorpicker .k-slider-vertical .k-slider-track {\n margin-left: -5px;\n width: 10px;\n border-radius: 10px;\n}\n.k-flatcolorpicker .k-draghandle {\n border-radius: 50%;\n width: 14px;\n height: 14px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n}\n.k-flatcolorpicker .k-colorinputs {\n margin-top: 16px;\n}\n.k-flatcolorpicker .k-colorinputs > .k-gradient-values + .k-gradient-values {\n margin-top: 8px;\n}\n.k-flatcolorpicker .k-gradient-values {\n justify-content: space-between;\n}\n.k-flatcolorpicker .k-gradient-values .k-input,\n.k-flatcolorpicker .k-gradient-values .k-textbox {\n padding: 4px 4px;\n}\n.k-flatcolorpicker .k-gradient-values div,\n.k-flatcolorpicker .k-gradient-values input,\n.k-flatcolorpicker .k-gradient-values .k-numerictextbox {\n width: 48px;\n text-align: center;\n}\n.k-flatcolorpicker .k-gradient-values div {\n text-transform: uppercase;\n text-align: center;\n}\n.k-flatcolorpicker .k-gradient-values .k-hex-value {\n width: 65px;\n}\n.k-flatcolorpicker .k-color-contrast .k-separator {\n margin: 8px 0;\n border-width: 0;\n border-top-width: 1px;\n border-style: solid;\n border-color: inherit;\n display: block;\n flex: 0 0 auto;\n align-self: stretch;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-ratio {\n margin-bottom: 8px;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-ratio-text {\n font-weight: 700;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-validation {\n margin-left: 8px;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-validation .k-icon {\n vertical-align: middle;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-validation .k-i-check + .k-i-check {\n margin-left: -14px;\n}\n.k-flatcolorpicker .k-selected-color {\n border-width: 0 0 1px;\n border-style: solid;\n border-color: inherit;\n background-position: 50% 50%;\n}\n.k-flatcolorpicker .k-color-input {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.k-flatcolorpicker .k-color-value {\n margin: 0 0 0 calc( calc( 1.4285714286em + 8px ) * 2 );\n padding: 4px 8px;\n width: 100%;\n border: 0;\n box-sizing: border-box;\n font-size: 13px;\n line-height: 1.4285714286;\n font-family: inherit;\n outline: 0;\n flex: 1;\n}\n.k-flatcolorpicker .k-clear-color-container {\n display: flex;\n flex-direction: row;\n}\n.k-flatcolorpicker .k-clear-color {\n flex: 1;\n}\n.k-flatcolorpicker .k-color-value + .k-clear-color {\n flex: none;\n position: absolute;\n top: 0;\n right: 0;\n}\n.k-flatcolorpicker .k-controls {\n margin-top: 16px;\n text-align: center;\n}\n.k-rtl .k-flatcolorpicker .k-sliders-wrap.k-hbox,\n[dir=rtl] .k-flatcolorpicker .k-sliders-wrap.k-hbox {\n margin-left: 0;\n margin-right: 8px;\n}\n.k-rtl .k-flatcolorpicker .k-sliders-wrap.k-hbox .k-slider + .k-slider,\n[dir=rtl] .k-flatcolorpicker .k-sliders-wrap.k-hbox .k-slider + .k-slider {\n margin-left: 0;\n margin-right: 8px;\n}\n.k-rtl .k-flatcolorpicker .k-color-value,\n[dir=rtl] .k-flatcolorpicker .k-color-value {\n margin: 0 calc( calc( 1.4285714286em + 8px ) * 2 ) 0 0;\n direction: initial;\n text-align: right;\n}\n.k-rtl .k-flatcolorpicker .k-color-value + .k-clear-color,\n[dir=rtl] .k-flatcolorpicker .k-color-value + .k-clear-color {\n right: auto;\n left: 0;\n}\n.k-colorpalette {\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 0;\n display: inline-block;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-colorpalette .k-palette {\n width: 100%;\n height: 100%;\n border-collapse: collapse;\n position: relative;\n}\n.k-colorpalette .k-item {\n width: 14px;\n height: 14px;\n box-sizing: border-box;\n overflow: hidden;\n -ms-high-contrast-adjust: none;\n cursor: pointer;\n}\n.k-colorpalette .k-item:hover,\n.k-colorpalette .k-item.k-state-hover {\n position: relative;\n z-index: 101;\n}\n.k-colorpalette .k-item.k-state-selected,\n.k-colorpalette .k-item.k-state-selected:hover,\n.k-colorpalette .k-item.k-state-focused,\n.k-colorpalette .k-item:focus {\n position: relative;\n z-index: 100;\n}\n.k-colorpicker .k-picker-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-colorpicker .k-picker-wrap.k-invalid, .k-colorpicker .k-picker-wrap.k-invalid:hover, .k-colorpicker .k-picker-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-colorpicker > :hover,\n.k-colorpicker .k-state-hover {\n background-color: #ebebeb;\n}\n.k-colorpicker .k-state-focused {\n box-shadow: none;\n}\n.k-colorpicker.k-state-invalid .k-picker-wrap, .k-colorpicker.ng-invalid.ng-touched .k-picker-wrap, .k-colorpicker.ng-invalid.ng-dirty .k-picker-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-flatcolorpicker {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-flatcolorpicker .k-color-value {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-flatcolorpicker .k-hsv-gradient {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0), black), linear-gradient(to right, white, rgba(255, 255, 255, 0));\n}\n.k-flatcolorpicker .k-slider .k-draghandle {\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);\n background-color: transparent;\n}\n.k-flatcolorpicker .k-slider .k-draghandle:hover,\n.k-flatcolorpicker .k-slider .k-draghandle:focus {\n border-color: white;\n box-shadow: 0 1px 4px black;\n background-color: transparent;\n}\n.k-flatcolorpicker .k-slider .k-draghandle.k-state-focus {\n outline: 1px dotted black;\n}\n.k-flatcolorpicker .k-hue-slider.k-slider-horizontal .k-slider-track {\n background: linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);\n}\n.k-flatcolorpicker .k-hue-slider.k-slider-vertical .k-slider-track {\n background: linear-gradient(to top, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);\n}\n.k-flatcolorpicker .k-alpha-slider .k-slider-track {\n background: url("data:image/png;base64,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") center;\n}\n.k-flatcolorpicker .k-draghandle {\n border-color: rgba(255, 255, 255, 0.8);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.21);\n}\n.k-flatcolorpicker .k-draghandle.k-state-focus {\n outline: 1px dotted black;\n}\n.k-flatcolorpicker .k-color-contrast .k-separator {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-rtl .k-flatcolorpicker .k-hue-slider.k-slider-horizontal .k-slider-track,\n[dir=rtl] .k-flatcolorpicker .k-hue-slider.k-slider-horizontal .k-slider-track {\n background: linear-gradient(to left, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);\n}\n.k-rtl .k-flatcolorpicker .k-alpha-slider .k-slider-track,\n[dir=rtl] .k-flatcolorpicker .k-alpha-slider .k-slider-track {\n background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAQCAYAAABnaabpAAAACXBIWXMAABbqAAAW6gHljkMQAAAGvmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA4LTIwVDE0OjU0OjQxKzAzOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wNVQxMzoyNjozMCswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wNVQxMzoyNjozMCswMjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjNTNiZjJiNC01Y2RhLTQzNGMtOTJmNS05NDg2NjdlZjRmYTgiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowYjMzZmFjMi1mYzM4LTI0NGItYjRkMS05OWE2ZDNhNWE4ZWIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1YjI5M2E2NC00YTc0LWY0NDQtYmRjOC02MjI0ZjUwOTY2NGEiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjViMjkzYTY0LTRhNzQtZjQ0NC1iZGM4LTYyMjRmNTA5NjY0YSIgc3RFdnQ6d2hlbj0iMjAxOS0wOC0yMFQxNDo1NDo0MSswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplNWEyZTA2Yy1lZWQwLTVhNGMtYjZjMC1lMGZiZjhmZjBkNjciIHN0RXZ0OndoZW49IjIwMTktMTItMDVUMTM6MjY6MzArMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzUzYmYyYjQtNWNkYS00MzRjLTkyZjUtOTQ4NjY3ZWY0ZmE4IiBzdEV2dDp3aGVuPSIyMDE5LTEyLTA1VDEzOjI2OjMwKzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PKc3+gAABx9JREFU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") center;\n}\n.k-colorpalette .k-item:hover,\n.k-colorpalette .k-item.k-state-hover {\n box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.8);\n}\n.k-colorpalette .k-item.k-state-selected,\n.k-colorpalette .k-item.k-state-selected:hover,\n.k-colorpalette .k-item.k-state-focused,\n.k-colorpalette .k-item:focus {\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px white;\n}\n.k-dropdown {\n width: 12.4em;\n border-width: 0;\n outline: 0;\n background: none;\n box-sizing: border-box;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-dropdown .k-dropdown-wrap {\n border-radius: 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-flow: row nowrap;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n transition: all 0.1s ease;\n cursor: pointer;\n outline: 0;\n}\n.k-dropdown .k-dropdown-wrap .k-select {\n border-radius: 0 0 0 0;\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0;\n box-sizing: border-box;\n border-style: solid;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-dropdown .k-dropdown-wrap .k-clear-value {\n visibility: hidden;\n}\n.k-dropdown .k-dropdown-wrap.k-state-focused .k-clear-value, .k-dropdown .k-dropdown-wrap.k-state-hover .k-clear-value, .k-dropdown .k-dropdown-wrap:hover .k-clear-value {\n visibility: visible;\n}\n.k-dropdown.k-rtl,\n.k-dropdown[dir=rtl],\n.k-rtl .k-dropdown,\n[dir=rtl] .k-dropdown {\n text-align: right;\n}\n.k-dropdown.k-rtl .k-select,\n.k-dropdown[dir=rtl] .k-select,\n.k-rtl .k-dropdown .k-select,\n[dir=rtl] .k-dropdown .k-select {\n border-radius: 0 0 0 0;\n}\n.k-dropdown-operator {\n width: auto;\n}\n.k-dropdown-operator .k-dropdown-wrap .k-input {\n display: none;\n}\n.k-dropdown-operator .k-dropdown-wrap .k-select {\n width: calc( 1.4285714286em + 8px );\n height: calc( 1.4285714286em + 8px );\n}\nselect.k-dropdown {\n border-radius: 0;\n padding: 4px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: all 0.1s ease;\n cursor: pointer;\n}\n.k-dropdown .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-dropdown .k-dropdown-wrap:hover, .k-dropdown .k-dropdown-wrap.k-state-hover {\n background-color: #ebebeb;\n}\n.k-dropdown .k-dropdown-wrap.k-state-focused {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-dropdown .k-dropdown-wrap.k-invalid, .k-dropdown .k-dropdown-wrap.k-invalid:hover, .k-dropdown .k-dropdown-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dropdown.k-state-invalid > .k-dropdown-wrap, .k-dropdown.ng-invalid.ng-touched > .k-dropdown-wrap, .k-dropdown.ng-invalid.ng-dirty > .k-dropdown-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\nselect.k-dropdown {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\nselect.k-dropdown:hover {\n background-color: #ebebeb;\n}\nselect.k-dropdown:focus {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-checkbox {\n border-radius: 2px;\n margin: 0;\n padding: 0;\n width: 16px;\n height: 16px;\n line-height: initial;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n box-sizing: border-box;\n display: inline-block;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n}\n.k-checkbox::before {\n width: 12px;\n height: 12px;\n font-size: 12px;\n line-height: 1;\n transform: scale(0) translate(-50%, -50%);\n overflow: hidden;\n position: absolute;\n top: 50%;\n left: 50%;\n content: "";\n font-family: "WebComponentsIcons", monospace;\n}\n.k-checkbox:hover,\n.k-checkbox.k-state-hover {\n cursor: pointer;\n}\n.k-checkbox:checked::before,\n.k-checkbox.k-checked::before {\n border-radius: 2px;\n transform: scale(1) translate(-50%, -50%);\n}\n.k-checkbox:indeterminate::before,\n.k-checkbox.k-state-indeterminate::before,\n.k-checkbox.k-indeterminate::before {\n content: "";\n background-color: currentColor;\n transform: scale(1) translate(-50%, -50%);\n width: 8px;\n height: 8px;\n}\n.k-checkbox:disabled,\n.k-checkbox.k-disabled,\n.k-checkbox:disabled + .k-checkbox-label,\n.k-checkbox.k-disabled + .k-checkbox-label {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-checkbox + .k-checkbox-label {\n display: inline;\n}\n.k-checkbox-label {\n margin: 0;\n padding: 0;\n line-height: calc( 16px + 1px );\n display: inline-flex;\n align-items: flex-start;\n vertical-align: middle;\n position: relative;\n cursor: pointer;\n}\n.k-checkbox-label .k-label {\n cursor: pointer;\n}\n.k-checkbox-label:empty {\n display: none;\n}\n.k-checkbox-label.k-no-text {\n min-width: 1px;\n}\n.k-checkbox-label .k-ripple {\n top: 8px;\n left: 8px;\n right: auto;\n bottom: auto;\n width: 40px;\n height: 40px;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n visibility: hidden !important;\n}\n.k-checkbox-label .k-ripple-blob {\n top: 50% !important;\n left: 50% !important;\n width: 200% !important;\n height: 200% !important;\n}\n.k-checkbox + .k-checkbox-label,\n.k-checkbox-label + .k-checkbox {\n margin-left: 4px;\n}\n.k-checkbox-label > .k-checkbox {\n margin-right: 4px;\n flex-shrink: 0;\n}\nkendo-label.k-checkbox-label > .k-checkbox:last-child {\n margin-right: 0;\n}\nkendo-label.k-checkbox-label > .k-label:first-child {\n margin-right: 4px;\n}\nkendo-label.k-checkbox-label > .k-label {\n display: inline;\n}\n.k-checkbox-list {\n margin: 0px;\n padding: 0px;\n list-style: none;\n}\n.k-checkbox-list .k-checkbox-item {\n padding: 4px 0px;\n}\n.k-list-horizontal .k-checkbox-item {\n display: inline-block;\n margin: 0 32px 0 0;\n}\n.k-list-horizontal .k-checkbox-item:last-child {\n margin-right: 0;\n}\n.k-rtl .k-checkbox + .k-checkbox-label,\n.k-rtl .k-checkbox-label + .k-checkbox,\n[dir=rtl] .k-checkbox + .k-checkbox-label,\n[dir=rtl] .k-checkbox-label + .k-checkbox {\n margin-left: 0;\n margin-right: 4px;\n}\n.k-rtl .k-checkbox-label > .k-checkbox,\n[dir=rtl] .k-checkbox-label > .k-checkbox {\n margin-right: 0;\n margin-left: 4px;\n}\n.k-rtl kendo-label.k-checkbox-label > .k-checkbox:last-child,\n[dir=rtl] kendo-label.k-checkbox-label > .k-checkbox:last-child {\n margin-left: 0;\n}\n.k-rtl kendo-label.k-checkbox-label > .k-label:first-child,\n[dir=rtl] kendo-label.k-checkbox-label > .k-label:first-child {\n margin-right: 0;\n margin-left: 4px;\n}\n.k-rtl .k-list-horizontal .k-checkbox-item,\n[dir=rtl] .k-list-horizontal .k-checkbox-item {\n margin-right: 0;\n margin-left: 32px;\n}\n.k-rtl .k-list-horizontal .k-checkbox-item:last-child,\n[dir=rtl] .k-list-horizontal .k-checkbox-item:last-child {\n margin-left: 0;\n}\n.k-ripple-container .k-checkbox::after {\n content: "";\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n width: 48px;\n height: 48px;\n margin-left: calc(-1 * (16px + 2 * 1px));\n margin-top: calc(-1 * (16px + 2 * 1px));\n border-radius: 100%;\n z-index: 1;\n transform: scale(0);\n}\n.k-ripple-container .k-checkbox:disabled::after,\n.k-ripple-container .k-checkbox.k-disabled::after {\n display: none;\n}\n.k-checkbox::-ms-check {\n border-width: 0;\n border-color: inherit;\n color: inherit;\n background-color: inherit;\n}\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .k-checkbox::-ms-check {\n border-width: 1px;\n }\n}\n.k-checkbox {\n border-color: #e4e4e4;\n color: transparent;\n background-color: #ffffff;\n}\n.k-checkbox:hover .k-checkbox.k-state-hover {\n border-color: inherit;\n}\n.k-checkbox:focus,\n.k-checkbox.k-state-focus {\n border-color: inherit;\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);\n}\n.k-checkbox:indeterminate,\n.k-checkbox.k-state-indeterminate,\n.k-checkbox.k-indeterminate {\n border-color: #e4e4e4;\n color: #38ab63;\n background-color: #ffffff;\n}\n.k-checkbox:checked,\n.k-checkbox.k-checked {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-checkbox:checked:focus,\n.k-checkbox.k-checked.k-state-focus {\n border-color: #38ab63;\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-checkbox.k-invalid,\n.k-checkbox.k-state-invalid,\n.k-checkbox.ng-invalid.ng-touched,\n.k-checkbox.ng-invalid.ng-dirty {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-checkbox.k-invalid + .k-checkbox-label,\n.k-checkbox.k-state-invalid + .k-checkbox-label,\n.k-checkbox.ng-invalid.ng-touched + .k-checkbox-label,\n.k-checkbox.ng-invalid.ng-dirty + .k-checkbox-label {\n color: #f31700;\n}\n.k-ripple-container .k-checkbox::after {\n background: #38ab63;\n opacity: 0.3;\n}\n.k-combobox {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n background: none;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-combobox .k-dropdown-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n transition: all 0.1s ease;\n outline: 0;\n cursor: initial;\n}\n.k-combobox .k-dropdown-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-combobox .k-clear-value {\n visibility: hidden;\n}\n.k-combobox:hover .k-clear-value, .k-combobox.k-state-hover .k-clear-value, .k-combobox.k-state-focused .k-clear-value, .k-combobox.k-state-focus .k-clear-value,\n.k-combobox .k-dropdown-wrap.k-state-hover .k-clear-value,\n.k-combobox .k-dropdown-wrap.k-state-focused .k-clear-value {\n visibility: visible;\n}\n.k-combobox:focus-within .k-clear-value {\n visibility: visible;\n}\n.k-combobox .k-select {\n border-radius: 0 0 0 0;\n padding: 0px 0px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n box-sizing: border-box;\n border-style: solid;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-combobox[dir=rtl], .k-rtl .k-combobox {\n text-align: right;\n}\n.k-combobox[dir=rtl] .k-select, .k-rtl .k-combobox .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-combobox .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-combobox .k-dropdown-wrap.k-invalid, .k-combobox .k-dropdown-wrap.k-invalid:hover, .k-combobox .k-dropdown-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-combobox .k-select {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-combobox > :hover,\n.k-combobox .k-state-hover {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-combobox > :hover .k-select,\n.k-combobox .k-state-hover .k-select {\n background-color: #ebebeb;\n}\n.k-combobox > .k-state-focused {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-combobox .k-state-active .k-select {\n background-color: #e1e1e1;\n}\n.k-combobox.k-state-invalid .k-dropdown-wrap, .k-combobox.ng-invalid.ng-touched .k-dropdown-wrap, .k-combobox.ng-invalid.ng-dirty .k-dropdown-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-combobox.k-state-hover .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-combobox.k-state-focus .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-combobox.k-invalid .k-dropdown-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-toolbar {\n background-clip: padding-box;\n margin: 0;\n padding: 8px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n list-style: none;\n display: flex;\n flex-flow: row wrap;\n gap: 8px;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n overflow: hidden;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-toolbar .k-ie11 {\n background-clip: border-box;\n}\n.k-toolbar::before {\n content: "";\n height: calc( 1.4285714286em + 8px + 2px );\n -webkit-margin-start: -8px;\n margin-inline-start: -8px;\n}\n.k-toolbar.k-toolbar-resizable {\n flex-wrap: nowrap;\n}\n.k-toolbar > * {\n flex-shrink: 0;\n display: inline-flex;\n align-items: stretch;\n align-content: center;\n vertical-align: middle;\n}\n.k-toolbar > * > label {\n -webkit-margin-end: 8px;\n margin-inline-end: 8px;\n}\n.k-toolbar .k-button,\n.k-toolbar .k-button-group,\n.k-toolbar .k-separator,\n.k-toolbar .k-split-button,\n.k-toolbar .k-textbox,\n.k-toolbar .k-widget,\n.k-toolbar label {\n align-self: center;\n}\n.k-toolbar .k-split-button > .k-button {\n align-self: stretch;\n}\n.k-toolbar .k-overflow-anchor {\n border-radius: 0;\n margin: 0;\n padding: 8px;\n width: calc( calc( 1.4285714286em + 8px + 2px ) + 16px );\n height: 100%;\n border-width: 0;\n border-color: inherit;\n box-sizing: border-box;\n justify-content: center;\n position: absolute;\n top: 0;\n right: 0;\n}\n.k-toolbar .k-overflow-anchor::before {\n display: block;\n}\n.k-toolbar .k-separator,\n.k-toolbar .k-toolbar-separator {\n width: 0;\n height: 1.4285714286em;\n border-width: 0 0 0 1px;\n border-style: solid;\n}\n.k-toolbar .k-toolbar-spacer {\n height: 1.4285714286em;\n flex: 1 1 auto;\n}\n.k-toolbar .k-toolbar-template {\n align-self: center;\n align-items: center;\n}\nkendo-toolbar-renderer {\n border-color: inherit;\n}\n.k-overflow-container .k-overflow-tool-group {\n display: block;\n}\n.k-overflow-container .k-overflow-button {\n width: 100%;\n}\n.k-overflow-container .k-button-group {\n display: flex;\n flex-direction: column;\n}\n.k-overflow-container .k-button-group .k-button {\n margin: 0;\n}\n.k-overflow-container .k-split-button {\n display: flex;\n flex-direction: column;\n}\n.k-overflow-container .k-overflow-hidden {\n display: none;\n}\n.k-toolbar.k-rtl .k-overflow-anchor, .k-rtl .k-toolbar .k-overflow-anchor, .k-toolbar[dir=rtl] .k-overflow-anchor, [dir=rtl] .k-toolbar .k-overflow-anchor {\n margin: 0;\n right: auto;\n left: 0;\n}\n.k-floating-toolbar,\n.editorToolbarWindow.k-window-content {\n padding: 8px 8px !important;\n border-width: 1px;\n border-style: solid;\n display: flex;\n flex-flow: row nowrap;\n gap: 8px;\n align-items: center;\n}\n.k-floating-toolbar .k-toolbar,\n.editorToolbarWindow.k-window-content .k-toolbar {\n padding: 0;\n border-width: 0;\n color: inherit;\n background: none;\n}\n.k-editortoolbar-dragHandle {\n cursor: move;\n display: flex;\n align-items: center;\n align-self: stretch;\n flex-shrink: 0;\n}\n.k-toolbar {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-toolbar .k-overflow-anchor {\n color: inherit;\n background: transparent;\n}\n.k-toolbar .k-separator {\n border-color: inherit;\n}\n.k-toolbar .k-button.k-state-disabled::after {\n opacity: 0;\n}\n.k-floating-toolbar,\n.editorToolbarWindow.k-window-content {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-external-dropzone {\n height: 220px;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-dropzone-inner {\n background-clip: padding-box;\n padding: 8px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 13px;\n font-family: inherit;\n line-height: 1.4285714286;\n flex: 1 1 auto;\n display: flex;\n flex-flow: column nowrap;\n align-items: center;\n justify-content: center;\n position: relative;\n cursor: pointer;\n}\n.k-dropzone-inner .k-ie11 {\n background-clip: border-box;\n}\n.k-dropzone-inner > .k-icon,\n.k-dropzone-inner .k-dropzone-icon {\n margin-bottom: 24px;\n font-size: 48px;\n}\n.k-dropzone-inner .k-dropzone-hint {\n margin-bottom: 8px;\n}\n.k-dropzone-inner .k-dropzone-note {\n font-size: 12px;\n}\n.k-no-flexbox .k-dropzone-inner {\n padding-top: 48px;\n padding-bottom: 48px;\n width: 100%;\n height: 100%;\n}\n.k-no-flexbox .k-dropzone-hint,\n.k-no-flexbox .k-dropzone-note {\n display: block;\n}\n.k-dropzone-inner {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-dropzone-inner > .k-icon,\n.k-dropzone-inner .k-dropzone-icon {\n color: #747474;\n}\n.k-dropzone-inner .k-dropzone-note {\n color: #747474;\n}\n.k-external-dropzone-hover .k-icon,\n.k-external-dropzone-hover .k-dropzone-icon {\n color: #38ab63;\n}\n.k-upload {\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n position: relative;\n display: block;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-upload .k-upload-button {\n min-width: 7em;\n}\n.k-upload .k-dropzone {\n padding: 8px 8px;\n border-width: 0;\n text-align: right;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: relative;\n background-color: transparent;\n}\n.k-upload .k-dropzone .k-dropzone-hint {\n font-style: normal;\n font-weight: normal;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n flex: 1;\n}\n.k-upload .k-dropzone .k-upload-status {\n font-weight: normal;\n display: flex;\n align-items: center;\n position: relative;\n}\n.k-upload .k-dropzone .k-upload-status > .k-icon {\n margin-right: 4px;\n}\n.k-upload .k-dropzone .k-upload-status + .k-dropzone-hint {\n display: none;\n}\n.k-upload .k-dropzone-active .k-upload-status {\n display: none;\n}\n.k-upload .k-dropzone-active .k-upload-status + .k-dropzone-hint {\n display: block;\n}\n.k-upload .k-upload-files {\n max-height: 300px;\n overflow-y: auto;\n margin: 0;\n padding: 0;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: inherit;\n list-style: none;\n}\n.k-upload .k-upload-files .k-file-multiple,\n.k-upload .k-upload-files .k-file-single {\n width: 100%;\n display: flex;\n justify-content: space-between;\n}\n.k-upload .k-upload-files .k-file-single {\n align-items: center;\n}\n.k-upload .k-upload-files .k-file-multiple {\n align-items: flex-start;\n}\n.k-upload .k-upload-files .k-file {\n padding: 8px 8px calc(8px + 2px);\n border-width: 0 0 1px;\n border-style: solid;\n outline: none;\n display: flex;\n align-items: flex-start;\n position: relative;\n}\n.k-upload .k-upload-files .k-file:last-child {\n border-width: 0;\n}\n.k-upload .k-upload-files .k-filename {\n margin-left: 1em;\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: relative;\n}\n.k-upload .k-upload-files .k-upload-status .k-icon {\n vertical-align: middle;\n}\n.k-upload .k-upload-files .k-upload-pct {\n margin: 0 4px;\n font-weight: normal;\n vertical-align: middle;\n}\n.k-upload .k-upload-files ~ .k-clear-selected,\n.k-upload .k-upload-files ~ .k-upload-selected {\n margin-top: -4px;\n border-width: 0;\n}\n.k-upload .k-upload-files ~ .k-upload-selected {\n border-left-width: 1px;\n border-left-style: solid;\n margin-left: -1px;\n}\n.k-upload .k-upload-files .k-file-name,\n.k-upload .k-upload-files .k-file-size,\n.k-upload .k-upload-files .k-file-validation-message,\n.k-upload .k-upload-files .k-file-information {\n display: block;\n}\n.k-upload .k-upload-files .k-file-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: relative;\n}\n.k-upload .k-upload-files .k-file-size,\n.k-upload .k-upload-files .k-file-information,\n.k-upload .k-upload-files .k-file-validation-message {\n font-size: 11px;\n line-height: 1;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper,\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper {\n margin: 0px 0;\n width: 24px;\n height: 34px;\n border-width: 2px;\n border-style: solid;\n font-size: 7.41px;\n text-transform: uppercase;\n box-sizing: content-box;\n position: absolute;\n top: 8px;\n}\n.k-upload .k-upload-files .k-file-group-wrapper .k-file-group,\n.k-upload .k-upload-files .k-file-invalid-group-wrapper .k-file-group,\n.k-upload .k-upload-files .k-multiple-files-group-wrapper .k-file-group,\n.k-upload .k-upload-files .k-multiple-files-invalid-group-wrapper .k-file-group {\n font-size: 32px;\n}\n.k-upload .k-upload-files .k-file-group-wrapper .k-file-state,\n.k-upload .k-upload-files .k-file-invalid-group-wrapper .k-file-state,\n.k-upload .k-upload-files .k-multiple-files-group-wrapper .k-file-state,\n.k-upload .k-upload-files .k-multiple-files-invalid-group-wrapper .k-file-state {\n position: absolute;\n}\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper {\n font-size: 1.2em;\n}\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper {\n margin-top: 4px;\n}\n.k-upload .k-upload-files .k-file-state {\n visibility: hidden;\n}\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper + .k-file-name-size-wrapper,\n.k-upload .k-upload-files .k-file-single > .k-file-extension-wrapper + .k-file-name-size-wrapper {\n margin-left: calc( 24px + 1em );\n min-height: 38px;\n display: block;\n overflow: hidden;\n}\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper + .k-file-name-size-wrapper,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper + .k-file-name-size-wrapper {\n margin-left: calc( 24px + 1em );\n}\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper {\n margin-bottom: -2px;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper .k-file-size,\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper .k-file-information,\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper .k-file-validation-message {\n font-size: 9.432px;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::after,\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::after {\n content: "";\n border-style: solid;\n display: inline-block;\n position: absolute;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::before,\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::before {\n top: -1px;\n right: -1px;\n width: 0;\n height: 0;\n border-width: 6px;\n margin-top: -1px;\n margin-right: -1px;\n}\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::after,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::after {\n top: -6px;\n left: -6px;\n width: 15px;\n height: 35px;\n border-width: 2px 0 0 2px;\n}\n.k-upload .k-upload-files .k-file-extension,\n.k-upload .k-upload-files .k-file-invalid-icon {\n position: absolute;\n bottom: 0;\n line-height: normal;\n}\n.k-upload .k-upload-files .k-file-invalid-icon {\n margin-left: 4px;\n}\n.k-upload .k-upload-files .k-file-extension {\n margin-left: 0.2em;\n margin-bottom: 0.3em;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n left: 0;\n}\n.k-upload .k-upload-files .k-upload-action {\n border-width: 0;\n color: inherit;\n background: none;\n box-shadow: none;\n}\n.k-upload .k-upload-files .k-file-name-size-wrapper {\n margin-left: 0;\n margin-right: 0;\n min-height: 32px;\n display: block;\n overflow: hidden;\n flex: 1 0 0;\n}\n.k-upload .k-file-multiple > .k-file-name-size-wrapper {\n margin-left: 8px;\n}\n.k-upload .k-multiple-files-wrapper,\n.k-upload .k-file-single > .k-file-name-size-wrapper,\n.k-upload .k-file > .k-file-name-size-wrapper {\n margin-left: 8px;\n margin-right: 0;\n min-height: 32px;\n display: block;\n overflow: hidden;\n flex: 1 0 0;\n}\n.k-upload .k-multiple-files-wrapper .k-file-name-size-wrapper {\n margin-bottom: 12px;\n display: block;\n}\n.k-upload .k-multiple-files-wrapper .k-file-information {\n margin-top: -4px;\n}\n.k-upload .k-progress {\n height: 2px;\n position: absolute;\n bottom: 0;\n left: 0;\n}\n.k-upload .k-progressbar {\n height: 2px;\n position: absolute;\n bottom: 4px;\n width: calc(100% - 8px*2);\n}\n.k-upload .k-progressbar .k-progress {\n position: absolute;\n width: 100%;\n max-width: 100%;\n height: 100%;\n}\n.k-upload .k-file-invalid > .k-progress {\n width: 100%;\n}\n.k-upload .k-actions,\n.k-upload .k-columnmenu-actions,\n.k-upload .k-action-buttons {\n border-top-width: 1px;\n}\n.k-upload[dir=rtl] .k-dropzone, .k-rtl .k-upload .k-dropzone {\n text-align: left;\n}\n.k-upload[dir=rtl] .k-dropzone .k-upload-status > .k-icon, .k-rtl .k-upload .k-dropzone .k-upload-status > .k-icon {\n margin-left: 6px;\n margin-right: 0;\n}\n.k-upload[dir=rtl] .k-multiple-files-wrapper,\n.k-upload[dir=rtl] .k-file-single > .k-file-name-size-wrapper,\n.k-upload[dir=rtl] .k-file-multiple > .k-file-name-size-wrapper,\n.k-upload[dir=rtl] .k-file > .k-file-name-size-wrapper, .k-rtl .k-upload .k-multiple-files-wrapper,\n.k-rtl .k-upload .k-file-single > .k-file-name-size-wrapper,\n.k-rtl .k-upload .k-file-multiple > .k-file-name-size-wrapper,\n.k-rtl .k-upload .k-file > .k-file-name-size-wrapper {\n margin-right: 8px;\n}\n.k-upload[dir=rtl] .k-button + .k-button, .k-rtl .k-upload .k-button + .k-button {\n border-right-width: 0;\n}\n.k-upload[dir=rtl] .k-progress, .k-rtl .k-upload .k-progress {\n left: auto;\n right: 0;\n}\n.k-upload-button {\n position: relative;\n overflow: hidden;\n direction: ltr;\n}\n.k-upload-button input {\n font: 170px monospace !important;\n margin: 0;\n padding: 0;\n opacity: 0;\n cursor: pointer;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 1;\n}\n.k-upload-button input[disabled],\n.k-upload-button input.k-state-disabled {\n visibility: hidden;\n}\n.k-ie9 .k-upload-status-total {\n top: 1.5em;\n}\n.k-ie9 .k-upload-status-total > .k-icon {\n margin-top: -3px;\n}\n.k-no-flexbox .k-upload-files .k-file-multiple,\n.k-no-flexbox .k-upload-files .k-file-single {\n display: block;\n width: 100%;\n}\n.k-no-flexbox .k-upload-files .k-upload-status {\n position: absolute;\n right: 8px;\n top: 8px;\n}\n.k-no-flexbox .k-upload-files .k-file-group-wrapper,\n.k-no-flexbox .k-upload-files .k-file-invalid-group-wrapper,\n.k-no-flexbox .k-upload-files .k-multiple-files-group-wrapper,\n.k-no-flexbox .k-upload-files .k-multiple-files-invalid-group-wrapper {\n position: absolute;\n top: 8px;\n}\n.k-no-flexbox .k-upload-files .k-multiple-files-wrapper,\n.k-no-flexbox .k-upload-files .k-file-single > .k-file-name-size-wrapper,\n.k-no-flexbox .k-upload-files .k-file > .k-file-name-size-wrapper {\n margin-left: calc( 32px + 8px );\n margin-right: calc( (calc( 1.4285714286em + 8px + 2px ) + 8px * 2) + 2em );\n}\n.k-no-flexbox .k-dropzone {\n position: relative;\n text-align: left;\n}\n.k-no-flexbox .k-dropzone .k-upload-button {\n display: inline-block;\n}\n.k-no-flexbox .k-dropzone .k-dropzone-hint,\n.k-no-flexbox .k-dropzone .k-upload-status-total {\n position: absolute;\n top: 50%;\n right: 8px;\n transform: translateY(-50%);\n}\n.k-no-flexbox [dir=rtl] .k-dropzone-hint,\n.k-no-flexbox [dir=rtl] .k-upload-status-total,\n.k-no-flexbox [dir=rtl] .k-upload-files .k-upload-status,\n.k-no-flexbox .k-rtl .k-dropzone-hint,\n.k-no-flexbox .k-rtl .k-upload-status-total,\n.k-no-flexbox .k-rtl .k-upload-files .k-upload-status {\n right: auto;\n left: 8px;\n}\n.k-no-flexbox [dir=rtl] .k-multiple-files-wrapper,\n.k-no-flexbox [dir=rtl] .k-file-single > .k-file-name-size-wrapper,\n.k-no-flexbox [dir=rtl] .k-file > .k-file-name-size-wrapper,\n.k-no-flexbox .k-rtl .k-multiple-files-wrapper,\n.k-no-flexbox .k-rtl .k-file-single > .k-file-name-size-wrapper,\n.k-no-flexbox .k-rtl .k-file > .k-file-name-size-wrapper {\n margin-left: calc( (calc( 1.4285714286em + 8px + 2px ) + 8px * 2) + 2em );\n margin-right: calc( 32px + 8px );\n}\n.k-upload {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-upload .k-dropzone {\n border-color: rgba(0, 0, 0, 0.08);\n color: #333;\n background-color: transparent;\n}\n.k-upload .k-dropzone.k-dropzone-hover, .k-upload .k-dropzone.k-dropzone-hovered {\n background-color: transparent;\n}\n.k-upload .k-dropzone .k-dropzone-hint {\n color: #666666;\n}\n.k-upload .k-upload-files,\n.k-upload .k-file {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-upload .k-file.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-upload .k-file .k-upload-action.k-state-focused {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-upload .k-upload-status {\n color: #666666;\n}\n.k-upload .k-file-progress .k-file-name {\n color: #424242;\n}\n.k-upload .k-file-progress .k-progress {\n background-color: #0058e9;\n}\n.k-upload .k-file-success .k-progress {\n background-color: #37b400;\n}\n.k-upload .k-file-error .k-file-validation-message,\n.k-upload .k-file-invalid .k-file-validation-message {\n color: #f31700;\n}\n.k-upload .k-file-error .k-progress,\n.k-upload .k-file-invalid .k-progress {\n background-color: #f31700;\n}\n.k-upload .k-file-extension-wrapper,\n.k-upload .k-multiple-files-extension-wrapper,\n.k-upload .k-file-group-wrapper,\n.k-upload .k-multiple-files-group-wrapper,\n.k-upload .k-file-invalid-extension-wrapper,\n.k-upload .k-multiple-files-invalid-extension-wrapper,\n.k-upload .k-file-invalid-group-wrapper,\n.k-upload .k-multiple-files-invalid-group-wrapper {\n color: #666666;\n border-color: #666666;\n}\n.k-upload .k-file-invalid-extension-wrapper,\n.k-upload .k-multiple-files-invalid-extension-wrapper,\n.k-upload .k-file-error .k-file-extension-wrapper,\n.k-upload .k-file-invalid-group-wrapper,\n.k-upload .k-multiple-files-invalid-group-wrapper,\n.k-upload .k-file-error .k-file-group-wrapper {\n border-color: #666666;\n}\n.k-upload .k-file-extension-wrapper::before,\n.k-upload .k-multiple-files-extension-wrapper::before,\n.k-upload .k-file-invalid-extension-wrapper::before,\n.k-upload .k-multiple-files-invalid-extension-wrapper::before,\n.k-upload .k-file-error .k-file-extension-wrapper::before {\n background-color: #ffffff;\n border-color: transparent transparent #666666 #666666;\n}\n.k-upload .k-multiple-files-extension-wrapper::after,\n.k-upload .k-multiple-files-invalid-extension-wrapper::after {\n border-top-color: #666666;\n border-left-color: #666666;\n}\n.k-upload .k-file-size,\n.k-upload .k-file-validation-message,\n.k-upload .k-file-information {\n color: #666666;\n}\n.k-upload .k-multiple-files-wrapper .k-file-information {\n color: #424242;\n}\n.k-upload.k-state-invalid, .k-upload.ng-invalid.ng-touched, .k-upload.ng-invalid.ng-dirty {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-overlay {\n width: 100%;\n height: 100%;\n opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 10001;\n}\n.k-overlay {\n background-color: #000000;\n}\n.k-overlay-primary {\n background-color: #38ab63;\n}\n.k-overlay-secondary {\n background-color: #666666;\n}\n.k-overlay-tertiary {\n background-color: #03a9f4;\n}\n.k-overlay-info {\n background-color: #0058e9;\n}\n.k-overlay-success {\n background-color: #37b400;\n}\n.k-overlay-warning {\n background-color: #ffc000;\n}\n.k-overlay-error {\n background-color: #f31700;\n}\n.k-overlay-dark {\n background-color: #424242;\n}\n.k-overlay-light {\n background-color: #ebebeb;\n}\n.k-overlay-inverse {\n background-color: #424242;\n}\n.k-form,\n.k-form-inline {\n font-size: 13px;\n line-height: 1.4285714286;\n}\n.k-fieldset {\n margin: 30px;\n border-width: 1px 0 0;\n border-style: solid;\n padding: 25px 0 0;\n}\n.k-fieldset > legend {\n margin-left: 0;\n padding: 0 8px 0 0;\n text-transform: uppercase;\n}\nkendo-label > .k-label {\n margin: 0;\n}\n.k-label-optional {\n margin-left: 6px;\n font-size: 12px;\n font-style: italic;\n align-self: center;\n}\n.k-label-empty::before {\n content: "";\n display: inline-block;\n}\n.k-input-label {\n margin-right: 10px;\n z-index: 1;\n}\n.k-input-label:dir(rtl), .k-rtl .k-input-label, .k-input-label.k-rtl, [dir=rtl] .k-input-label, .k-input-label[dir=rtl] {\n margin-right: 0;\n margin-left: 10px;\n}\n.k-form {\n border: 0;\n}\n.k-form .k-label,\n.k-form kendo-label,\n.k-form .k-form-label {\n margin-bottom: 0px;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-form .k-checkbox-label,\n.k-form .k-radio-label {\n display: inline-flex;\n}\n.k-form .k-label + .k-radio {\n margin-left: 0;\n}\n.k-form .k-form-fieldset {\n margin: 2rem 0 0;\n padding: 0px;\n border: 0;\n}\n.k-form .k-form-fieldset > *:first-child {\n margin-top: 0;\n}\n.k-form .k-form-legend {\n margin: 0 0 1rem;\n padding: 0px;\n border-width: 0 0 2px;\n border-style: solid;\n width: 100%;\n font-size: 14px;\n text-transform: uppercase;\n}\n.k-form .k-form-group {\n padding: 0;\n}\n.k-form .k-form-field,\n.k-form .k-form-buttons,\n.k-form .k-daterangepicker .k-textbox-container {\n margin-top: 1rem;\n}\n.k-form > *:first-child,\n.k-form .k-daterangepicker .k-textbox-container:first-child {\n margin-top: 0;\n}\n.k-form .k-form-field,\n.k-form .k-form-field-wrap {\n display: block;\n}\n.k-form .k-form-field-disabled .k-label,\n.k-form .k-form-field-disabled .k-form-label {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-form .k-alert-error {\n font-size: 12px;\n margin-top: 8px;\n}\n.k-form .k-field-info {\n display: inline-block;\n font-size: 10px;\n line-height: 1;\n margin: 0 8px;\n}\n.k-form .k-textbox,\n.k-form .k-textarea,\n.k-form .k-autocomplete,\n.k-form .k-combobox,\n.k-form .k-dropdown,\n.k-form .k-multiselect,\n.k-form .k-dateinput,\n.k-form .k-datepicker,\n.k-form .k-datetimepicker,\n.k-form .k-daterangepicker-wrap,\n.k-form .k-timepicker,\n.k-form .k-numerictextbox,\n.k-form .k-maskedtextbox,\n.k-form .k-textbox-container,\n.k-form .k-floating-label-container {\n display: flex;\n width: 100%;\n}\n.k-form-buttons {\n display: flex;\n}\n.k-form-buttons > * {\n margin-right: 8px;\n}\n.k-form-buttons > *:last-child {\n margin-right: 0;\n}\n.k-form-hint,\n.k-form-error {\n margin-top: 4px;\n display: flex;\n font-size: 12px;\n font-style: italic;\n}\n.k-text-start,\n.k-buttons-start {\n justify-content: flex-start;\n}\n.k-text-end,\n.k-buttons-end {\n justify-content: flex-end;\n}\n.k-form-separator {\n margin: 1rem 0 0;\n border-width: 1px 0 0;\n border-style: solid;\n display: block;\n flex: 0 0 auto;\n}\n.k-form-horizontal .k-form-field {\n display: flex;\n}\n.k-form-horizontal .k-form-field > .k-label,\n.k-form-horizontal .k-form-field > kendo-label,\n.k-form-horizontal .k-form-field > .k-form-label {\n margin-right: 10px;\n padding-top: 5px;\n width: 25%;\n flex-direction: column;\n align-items: flex-end;\n justify-content: flex-start;\n}\n.k-form-horizontal .k-form-field .k-label-optional {\n margin: 0;\n align-self: inherit;\n}\n.k-form-horizontal .k-form-field-wrap {\n max-width: calc( ( 100% - 25% ) - 10px );\n flex: 1 1 auto;\n}\n.k-form-horizontal .k-form-buttons {\n margin-top: 2rem;\n}\n.k-form [dir=rtl] .k-form-buttons > *, .k-form [dir=rtl].k-form-buttons > *, .k-rtl .k-form .k-form-buttons > *, .k-rtl .k-form.k-form-buttons > * {\n margin-right: 0;\n margin-left: 8px;\n}\n.k-form [dir=rtl] .k-form-buttons > *:last-child, .k-form [dir=rtl].k-form-buttons > *:last-child, .k-rtl .k-form .k-form-buttons > *:last-child, .k-rtl .k-form.k-form-buttons > *:last-child {\n margin-left: 0;\n}\n.k-form [dir=rtl] .k-label-optional, .k-rtl .k-form .k-label-optional {\n margin-left: 0;\n margin-right: 6px;\n}\n.k-form-horizontal [dir=rtl].k-form-field > .k-label,\n.k-form-horizontal [dir=rtl].k-form-field > kendo-label,\n.k-form-horizontal [dir=rtl].k-form-field > .k-form-label,\n.k-form-horizontal [dir=rtl] .k-form-field > .k-label,\n.k-form-horizontal [dir=rtl] .k-form-field > kendo-label,\n.k-form-horizontal [dir=rtl] .k-form-field > .k-form-label, .k-rtl .k-form-horizontal.k-form-field > .k-label,\n.k-rtl .k-form-horizontal.k-form-field > kendo-label,\n.k-rtl .k-form-horizontal.k-form-field > .k-form-label,\n.k-rtl .k-form-horizontal .k-form-field > .k-label,\n.k-rtl .k-form-horizontal .k-form-field > kendo-label,\n.k-rtl .k-form-horizontal .k-form-field > .k-form-label {\n margin-right: 0;\n margin-left: 10px;\n}\n.k-form-inline {\n padding: 16px;\n}\n.k-form-inline fieldset {\n border-width: 1px 0 0;\n border-style: solid;\n margin: 32px 0;\n padding: 0;\n}\n.k-form-inline fieldset:first-child:first-of-type {\n margin-top: 0;\n}\n.k-form-inline fieldset:last-child:last-of-type {\n margin-bottom: 0;\n}\n.k-form-inline legend {\n font-size: 12px;\n text-align: left;\n font-weight: 600;\n line-height: 1;\n margin-bottom: 12px;\n text-transform: uppercase;\n padding: 0 8px 0 0;\n width: auto;\n}\n.k-form-inline .k-form-field {\n display: flex;\n align-items: flex-start;\n text-align: left;\n margin-bottom: 12px;\n}\n.k-form-inline .k-form-field > span:not(.k-widget) {\n width: 25%;\n text-align: right;\n line-height: 1.4285714286;\n padding: calc( 4px + 1px ) 0;\n padding-right: 12px;\n align-self: center;\n}\n.k-form-inline .k-form-field > input {\n align-self: center;\n}\n.k-form-inline .k-form-field > input:not(.k-checkbox):not(.k-radio) {\n flex: 1 1 auto;\n}\n.k-form-inline .k-form-field .k-alert-error {\n font-size: 12px;\n margin-top: 8px;\n}\n.k-form-inline .k-form-field .k-field-info {\n display: block;\n font-size: 10px;\n line-height: 1;\n margin: 0;\n}\n.k-form-inline .k-form-field:last-child {\n margin-bottom: 0;\n}\n.k-edit-form-container {\n width: 400px;\n min-width: 400px;\n border-color: inherit;\n position: relative;\n}\n.k-edit-form-container .k-tabstrip-wrapper {\n margin: -16px -16px;\n}\n.k-edit-form-container .k-tabstrip.k-root-tabs {\n margin-bottom: 16px;\n}\n.k-edit-form-container .k-tabstrip .k-tabstrip-items {\n padding: 16px 16px 0;\n}\n.k-edit-form-container .k-tabstrip .k-content {\n padding: 16px 16px;\n border-width: 0;\n}\n.k-edit-buttons {\n padding: 8px 8px;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: inherit;\n text-align: right;\n clear: both;\n}\n.k-edit-buttons .k-button + .k-button {\n margin-left: 0.5em;\n}\n.k-edit-form-container .k-edit-buttons {\n margin: 16px -16px -16px;\n padding: 16px 16px;\n}\n.k-popup-edit-form > .k-action-buttons,\n.k-edit-form-container .k-action-buttons {\n margin: 1em -16px -16px;\n}\n.k-edit-label {\n margin: 0 0 1em 0;\n padding: calc( 4px + 1px ) 0;\n width: 30%;\n line-height: 1.4285714286;\n text-align: right;\n float: left;\n clear: both;\n}\n.k-edit-field {\n margin: 0 0 1em 0;\n width: 65%;\n float: right;\n clear: right;\n position: relative;\n}\n.k-edit-field.k-no-editor {\n padding: calc( 4px + 1px ) 0;\n}\n.k-edit-field > .k-widget,\n.k-edit-field > .k-textbox,\n.k-edit-field > .k-textarea {\n width: 100%;\n box-sizing: border-box;\n}\n.k-edit-field > .k-colorpicker {\n width: auto;\n}\n.k-edit-field input[type=radio]:not(.k-radio),\n.k-edit-field input[type=checkbox]:not(.k-checkbox) {\n margin-right: 0.4ex;\n}\n.k-edit-field .k-radio-label,\n.k-edit-field .k-checkbox-label {\n margin-right: 1em;\n}\n.k-edit-field > .k-reset > li + li {\n margin-top: 0.5em;\n}\n.k-edit-field .k-reset .k-widget {\n margin: 0 0.4ex 0 1ex;\n}\n.k-rtl .k-edit-buttons {\n text-align: left;\n}\n.k-rtl .k-edit-buttons .k-button + .k-button {\n margin-left: 0;\n margin-right: 0.5em;\n}\n.k-widget.form-control {\n padding: 0;\n}\n.k-widget.form-control,\n.k-maskedtextbox.form-control .k-textbox,\n.k-textbox.form-control {\n width: 100%;\n}\n.k-multiselect.form-control {\n height: auto;\n}\n.input-group .k-dateinput-wrap,\n.input-group .k-dropdown-wrap,\n.input-group .k-multiselect-wrap,\n.input-group .k-numeric-wrap,\n.input-group .k-picker-wrap,\n.input-group .k-maskedtextbox .k-textbox {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group .k-dateinput-wrap .k-select,\n.input-group .k-dropdown-wrap .k-select,\n.input-group .k-multiselect-wrap .k-select,\n.input-group .k-numeric-wrap .k-select,\n.input-group .k-picker-wrap .k-select,\n.input-group .k-maskedtextbox .k-textbox .k-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group .k-widget.form-control,\n.input-group .k-maskedtextbox.form-control .k-textbox,\n.input-group .k-textbox.form-control {\n width: auto;\n}\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-dateinput-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-dropdown-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-multiselect-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-numeric-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-picker-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) > .k-textbox {\n border-radius: 0;\n}\n.input-group-prepend + .k-widget .k-dateinput-wrap,\n.input-group-prepend + .k-widget .k-dropdown-wrap,\n.input-group-prepend + .k-widget .k-multiselect-wrap,\n.input-group-prepend + .k-widget .k-numeric-wrap,\n.input-group-prepend + .k-widget .k-picker-wrap,\n.input-group-prepend + .k-widget > .k-textbox {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-widget.form-control .k-input {\n padding: 0.5rem 0.75rem;\n height: 2.25rem;\n}\n.k-widget.form-control-sm .k-input {\n padding: 0.25rem 0.5rem;\n height: 1.8125rem;\n}\n.k-widget.form-control-sm .k-dateinput-wrap .k-select,\n.k-widget.form-control-sm .k-dropdown-wrap .k-select,\n.k-widget.form-control-sm .k-picker-wrap .k-select {\n padding: 0.25rem;\n}\n.k-widget.form-control-sm .k-select {\n width: 1.8125rem;\n}\n.k-widget.form-control-lg .k-input {\n padding: 0.5rem 1rem;\n height: 2.875rem;\n}\n.k-widget.form-control-lg .k-dateinput-wrap .k-select,\n.k-widget.form-control-lg .k-dropdown-wrap .k-select,\n.k-widget.form-control-lg .k-picker-wrap .k-select {\n padding: 0.5rem;\n}\n.k-widget.form-control-lg .k-select {\n width: 2.875rem;\n}\n.k-maskedtextbox.form-control .k-textbox {\n height: calc( 2.25rem + 2px );\n padding: 0.5rem 0.75rem;\n}\n.k-maskedtextbox.form-control-sm .k-textbox {\n height: calc( 1.8125rem + 3px );\n padding: 0.25rem 0.5rem;\n line-height: 1.5;\n}\n.k-maskedtextbox.form-control-lg .k-textbox {\n height: calc( 2.875rem + 2px );\n padding: 0.5rem 1rem;\n line-height: 1.5;\n}\n.k-textbox.form-control {\n height: calc( 2.25rem + 2px );\n padding: 0.5rem 0.75rem;\n}\n.k-textbox.form-control-sm {\n height: calc( 1.8125rem + 2px );\n padding: 0.25rem 0.5rem;\n line-height: 1.5;\n}\n.k-textbox.form-control-lg {\n height: calc( 2.875rem + 2px );\n padding: 0.5rem 1rem;\n line-height: 1.5;\n}\n.k-dateinput.form-control-sm .k-link-increase > .k-icon,\n.k-numerictextbox.form-control-sm .k-link-increase > .k-icon {\n bottom: -2px;\n}\n.k-dateinput.form-control-sm .k-link-decrease > .k-icon,\n.k-numerictextbox.form-control-sm .k-link-decrease > .k-icon {\n top: -2px;\n}\n.k-dateinput.form-control-sm .k-link,\n.k-numerictextbox.form-control-sm .k-link {\n height: 0.90625rem;\n}\n.k-dateinput.form-control-lg .k-link,\n.k-numerictextbox.form-control-lg .k-link {\n height: 1.4375rem;\n}\n.k-dateinput.form-control .k-dateinput-wrap .k-select {\n padding-top: 0;\n padding-bottom: 0;\n}\n.k-form,\n.k-form-inline {\n color: #424242;\n}\n.k-form fieldset legend,\n.k-form-inline fieldset legend {\n color: #373737;\n}\n.k-form .k-form-legend,\n.k-form-inline .k-form-legend {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-form .k-field-info,\n.k-form-inline .k-field-info {\n color: #666666;\n}\n.k-form .k-alert-error,\n.k-form-inline .k-alert-error {\n color: #f31700;\n}\n.k-form-error,\n.k-text-error,\n.k-form-field-error .k-label {\n color: #f31700;\n}\n.k-form-separator {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-window {\n background-clip: padding-box;\n border-radius: 0px;\n padding: 0;\n border-width: 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.25;\n display: inline-flex;\n flex-direction: column;\n position: absolute;\n z-index: 10002;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-window .k-ie11 {\n background-clip: border-box;\n}\n.k-window.k-window-maximized {\n max-width: 100vw;\n max-height: 100vh;\n box-shadow: none;\n}\n.k-window-sm {\n width: 300px;\n}\n.k-window-md {\n width: 800px;\n}\n.k-window-lg {\n width: 1200px;\n}\n.k-window-titlebar {\n background-clip: padding-box;\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n padding: 12px 16px;\n border-width: 0 0 1px;\n border-style: solid;\n white-space: nowrap;\n display: flex;\n flex-direction: row;\n flex-shrink: 0;\n align-items: center;\n}\n.k-window-titlebar .k-ie11 {\n background-clip: border-box;\n}\n.k-window-minimized .k-window-titlebar {\n border-width: 0;\n}\n.k-window-title {\n padding: 0.5em 0;\n margin: -0.5em 0;\n font-size: 18px;\n line-height: 1.1111111111;\n text-overflow: ellipsis;\n overflow: hidden;\n cursor: default;\n flex: 1;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n.k-window-title::before {\n content: "​";\n}\n.k-window-actions {\n margin: -5em 0;\n -webkit-margin-end: calc( 12px - 16px );\n margin-inline-end: calc( 12px - 16px );\n line-height: 1;\n display: flex;\n flex-flow: row nowrap;\n flex-shrink: 0;\n align-items: center;\n vertical-align: top;\n}\n.k-window-action {\n flex-shrink: 0;\n}\n.k-window-content,\n.k-prompt-container {\n padding: 16px 16px;\n border-width: 0;\n border-color: inherit;\n color: inherit;\n background: none;\n outline: 0;\n overflow: auto;\n position: relative;\n flex: 1 1 auto;\n}\n.k-window-content + .k-prompt-container {\n margin-top: -8px;\n}\n.k-window-content:first-child {\n padding-top: max( 16px, 12px );\n}\n.k-window-content:last-child {\n padding-bottom: max( 16px, 12px );\n}\n.k-window-iframecontent {\n padding: 0;\n overflow: visible;\n}\n.k-window-iframecontent .k-content-frame {\n vertical-align: top;\n border: 0;\n width: 100%;\n height: 100%;\n}\n.k-window-buttongroup {\n border-bottom-right-radius: 0px;\n border-bottom-left-radius: 0px;\n padding: 8px 8px;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: inherit;\n flex: 0 0 auto;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n flex-wrap: wrap;\n overflow: hidden;\n}\n.k-prompt-container > .k-textbox,\n.k-prompt-container > .k-textarea {\n width: 100%;\n}\n.k-window .k-resize-n {\n top: 0;\n}\n.k-window .k-resize-e {\n right: 0;\n}\n.k-window .k-resize-s {\n bottom: 0;\n}\n.k-window .k-resize-w {\n left: 0;\n}\n.k-window {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.06);\n}\n.k-window:focus, .k-window.k-state-focused {\n box-shadow: 1px 1px 7px 1px rgba(0, 0, 0, 0.3);\n}\n.k-window-titlebar {\n border-color: inherit;\n color: #333;\n background-color: transparent;\n}\n.k-editor {\n background-clip: padding-box;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n display: flex;\n flex-flow: column nowrap;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-editor .k-ie11 {\n background-clip: border-box;\n}\ntable.k-editor {\n width: 100%;\n display: table;\n vertical-align: top;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n}\ntable.k-editor tbody,\ntable.k-editor tr,\ntable.k-editor td {\n border-color: inherit;\n}\nkendo-editor .k-editor-content {\n z-index: 1;\n}\nkendo-editor.k-readonly {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\nkendo-editor.k-readonly > .k-content,\nkendo-editor.k-readonly .k-editor-content {\n pointer-events: auto;\n}\nkendo-editor.k-readonly .k-editor-content.k-state-focused {\n outline-width: 1px;\n outline-style: dashed;\n}\n.k-editor-inline {\n border-radius: 0;\n padding: 2px 4px;\n border: 1px solid transparent;\n word-wrap: break-word;\n overflow: auto;\n background: none;\n}\n.k-window.k-editor-widget {\n padding: 0;\n}\n.k-editor > .k-toolbar {\n border-width: 0 0 1px 0;\n flex-shrink: 0;\n}\n.k-editor-toolbar {\n border-width: 0 0 1px 0;\n}\n.k-editor-toolbar .k-tool-group .k-widget ~ .k-widget {\n -webkit-margin-start: 8px;\n margin-inline-start: 8px;\n}\n.k-editor-toolbar .k-tool {\n padding: 4px;\n width: calc( 1.4285714286em + 8px + 2px );\n height: calc( 1.4285714286em + 8px + 2px );\n}\n.k-editor-toolbar .k-tool-text {\n display: none;\n}\n.k-editor-toolbar .k-overflow-tools {\n margin: 0;\n position: absolute;\n top: 0;\n right: 0;\n visibility: hidden;\n}\n.k-editor-toolbar .k-overflow-anchor {\n border-width: 0;\n padding: 8px;\n width: calc( calc( 1.4285714286em + 8px + 2px ) + 16px );\n height: calc( calc( 1.4285714286em + 8px + 2px ) + 16px );\n position: relative;\n}\n.k-editor-toolbar .k-editor-export .k-icon {\n margin-right: 0.25em;\n}\n.k-editor-toolbar .k-editor-export .k-icon,\n.k-editor-toolbar .k-editor-export .k-export-tool-text {\n vertical-align: middle;\n}\n.k-editor-content {\n flex: 1 1 auto;\n overflow-y: auto;\n}\n.k-editor-content > .k-iframe {\n width: 100%;\n height: 100%;\n border-width: 0;\n display: block;\n}\n.k-editor-content > .ProseMirror {\n padding: 8px;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n outline: none;\n white-space: pre-wrap;\n overflow: auto;\n}\n.k-editor-content > .ProseMirror table {\n white-space: pre-wrap;\n}\n.k-editor-content > .ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #666666;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.k-editable-area {\n padding: 4px;\n width: 100%;\n height: 100%;\n border-width: 0;\n outline: 0;\n}\n.k-editable-area iframe.k-content {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n border-width: 0;\n background: none;\n display: block;\n}\n.k-resizable .k-editable-area {\n padding: 4px 4px 16px;\n}\n.k-edit-form-content {\n flex: 1 1 auto;\n overflow: auto;\n margin: -16px -16px;\n padding: 16px 16px;\n}\n.k-ct-popup {\n box-sizing: border-box;\n width: 190px;\n padding: 5px;\n}\n.k-ct-popup .k-button {\n width: 100%;\n}\n.k-ct-popup .k-ct-cell {\n margin: 1px;\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 1px solid;\n border-color: inherit;\n display: inline-block;\n vertical-align: top;\n overflow: hidden;\n opacity: 0.7;\n pointer-events: all;\n}\n.k-editor .k-resize-handle {\n position: absolute;\n right: 0;\n bottom: 0;\n padding: 0;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 0 13px 13px;\n border-color: transparent;\n border-bottom-color: inherit;\n cursor: se-resize;\n}\n.k-editor .k-resize-handle .k-i-arrow-45-down-right {\n display: none;\n}\n.k-rtl .k-editor .k-editor-widget .k-dropdown-wrap {\n padding-left: 0;\n}\n.k-rtl .k-editor .k-editor-widget .k-dropdown-wrap .k-select {\n border-width: 0;\n}\n.k-editor-find-replace .k-content {\n position: relative;\n}\n.k-editor-find-replace .k-edit-form-container {\n display: inline-block;\n}\n.k-editor-find-replace .k-edit-form-container .k-edit-label {\n text-align: left;\n}\n.k-editor-find-replace .k-action-buttons {\n padding: 0;\n}\n.k-editor-find-replace .k-search-options {\n display: flex;\n flex-direction: column;\n padding: 10px 0 40px 0;\n}\n.k-editor-find-replace .k-search-options > span {\n padding-bottom: 4px;\n}\n.k-editor-find-replace .k-matches-container {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n.k-editor-dialog {\n box-sizing: border-box;\n}\n.k-editor-dialog .k-edit-form-container {\n width: auto;\n}\n.k-editor-dialog .k-edit-label {\n width: 30%;\n padding: calc( 4px + 1px ) 0;\n}\n.k-editor-dialog .k-edit-field {\n width: 66%;\n}\n.k-textarea.k-editor-textarea {\n width: 100%;\n height: 100%;\n resize: none;\n}\n.k-filebrowser-dialog {\n display: flex;\n}\n.k-filebrowser-dialog .k-edit-form-container {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n}\n.k-filebrowser-dialog .k-edit-label {\n width: 18%;\n}\n.k-filebrowser-dialog .k-edit-field {\n width: 75%;\n}\n.k-filebrowser {\n max-width: 100%;\n}\n.k-filebrowser .k-floatwrap {\n display: flex;\n}\n.k-filebrowser .k-floatwrap::after {\n display: none;\n}\n.k-filebrowser .k-breadcrumbs {\n flex: 1;\n}\n.k-filebrowser .k-search-wrap {\n margin: 0 0 0 1em;\n width: 150px;\n display: flex;\n align-items: center;\n}\n.k-filebrowser .k-search-wrap .k-input {\n flex: 1;\n width: 100px;\n}\n.k-filebrowser .k-search-wrap .k-icon {\n margin: 0;\n position: static;\n}\n.k-filebrowser .k-filebrowser-toolbar {\n margin: 1em 0 0 0;\n}\n.k-filebrowser .k-upload {\n padding: 0;\n border-width: 0;\n background: none;\n}\n.k-filebrowser .k-upload .k-upload-button {\n margin: 0;\n}\n.k-filebrowser .k-upload .k-upload-status {\n display: none;\n}\n.k-filebrowser .k-upload-files {\n display: none;\n}\n.k-filebrowser .k-tiles {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n height: 390px;\n max-height: 50vh;\n margin: 0 0 1em 0;\n padding: 4px 8px;\n border-top-width: 0;\n overflow: auto;\n}\n.k-filebrowser .k-tile {\n width: 33%;\n height: 90px;\n padding: 4px 8px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n border-radius: 0;\n}\n.k-filebrowser .k-tile .k-i-file,\n.k-filebrowser .k-tile .k-i-folder {\n font-size: 4em;\n}\n.k-filebrowser .k-tile input {\n width: 100px;\n}\n.k-filebrowser .k-tile strong {\n display: block;\n font-weight: 400;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-filebrowser .k-tile-empty {\n display: block;\n margin: auto;\n}\n.k-filebrowser .k-tile-empty.k-state-selected {\n color: inherit;\n border-width: 0;\n background-image: none;\n background-color: transparent;\n}\n.k-filebrowser .k-tile-empty strong {\n opacity: 0.5;\n font-size: 3em;\n font-weight: 400;\n}\n.k-filebrowser .k-thumb {\n float: left;\n margin-right: 4px;\n}\n.k-filebrowser .k-breadcrumbs-wrap {\n position: absolute;\n left: 8px;\n top: 4px;\n}\n.k-filebrowser .k-breadcrumbs-wrap .k-icon {\n position: static;\n margin-top: 0;\n}\n.k-editor-table-wizard-dialog {\n display: flex;\n}\n.k-editor-table-wizard-dialog .k-edit-form-container {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n}\n.k-editor-table-wizard-dialog .k-tabstrip-wrapper {\n display: flex;\n flex: 1 1 auto;\n overflow: auto;\n}\n.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-tabstrip.k-root-tabs {\n flex: 1 1 auto;\n margin-bottom: 0;\n}\n.k-editor-table-wizard-dialog .k-numerictextbox {\n width: 10em;\n}\n.k-editor-table-wizard-dialog .k-numerictextbox + .k-dropdown {\n width: 4em;\n}\n.k-editor-table-wizard-dialog .k-numerictextbox + .k-colorpicker, .k-editor-table-wizard-dialog .k-numerictextbox + .k-dropdown {\n margin-left: 4px;\n}\n.k-editor-table-wizard-dialog .k-colorpicker {\n vertical-align: middle;\n}\n.k-editor-table-wizard-dialog .k-edit-field > .k-checkbox {\n position: relative;\n}\n.k-editor-table-wizard-dialog .k-dropdown.k-align {\n width: auto;\n}\n.k-editor-table-wizard-dialog .k-textbox.k-editor-accessibility-summary {\n height: auto;\n}\n.k-popup.k-align .k-list {\n display: flex;\n flex-flow: row wrap;\n}\n.k-popup.k-align .k-list .k-item {\n padding: 4px;\n height: calc( 1.4285714286em + 8px + 2px );\n box-sizing: border-box;\n justify-content: center;\n flex: 1 0 33%;\n}\n.k-popup.k-align .k-list .k-item .k-icon {\n margin: 0;\n}\n.k-popup.k-align .k-list .k-item:last-child {\n flex: 1 0 100%;\n}\n.k-editor-inline .k-table {\n width: 100%;\n border-spacing: 0;\n margin: 0 0 1em;\n}\n.k-editor-inline .k-table, .k-editor-inline .k-table td {\n outline: 0;\n border-width: 1px;\n border-style: dotted;\n}\n.k-editor-inline .k-table td {\n min-width: 1px;\n padding: 2px 4px;\n}\n.k-editor-inline .k-element-resize-handle-wrapper {\n position: absolute;\n width: 5px;\n height: 5px;\n border-width: 1px;\n border-style: solid;\n z-index: 100;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle {\n width: 100%;\n height: 100%;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-east {\n cursor: e-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-north {\n cursor: n-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northeast {\n cursor: ne-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northwest {\n cursor: nw-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-south {\n cursor: s-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southeast {\n cursor: se-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southwest {\n cursor: sw-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-west {\n cursor: w-resize;\n}\n.k-editor-inline .k-column-resize-handle-wrapper {\n position: absolute;\n height: 10px;\n width: 10px;\n cursor: col-resize;\n z-index: 2;\n}\n.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle {\n width: 100%;\n height: 100%;\n}\n.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {\n width: 2px;\n height: 100%;\n margin: 0 auto;\n display: none;\n opacity: 0.8;\n}\n.k-editor-inline .k-row-resize-handle-wrapper {\n position: absolute;\n z-index: 2;\n cursor: row-resize;\n width: 10px;\n height: 10px;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-handle {\n display: table;\n width: 100%;\n height: 100%;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker-wrapper {\n display: table-cell;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n vertical-align: middle;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {\n display: none;\n margin: 0;\n padding: 0;\n width: 100%;\n height: 2px;\n opacity: 0.8;\n}\n.k-editor {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\nkendo-editor.k-readonly .k-editor-content.k-state-focused {\n outline-color: #424242;\n}\n.k-editor-inline .k-table, .k-editor-inline .k-table td {\n border-color: #cccccc;\n}\n.k-editor-inline .k-element-resize-handle-wrapper {\n background-color: #ffffff;\n border-color: #000000;\n}\n.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {\n background-color: #00b0ff;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {\n background-color: #00b0ff;\n}\n.k-editor-inline:hover, .k-editor-inline.k-state-active {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-ct-popup .k-state-selected {\n border-color: inherit;\n color: inherit;\n background-color: transparent;\n background-image: none;\n}\n.k-editor-content::-moz-selection {\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-editor-content .k-text-selected, .k-editor-content::selection {\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-editor-content .k-text-highlighted {\n background-color: #d7eee0;\n}\n.k-editor-find-replace .k-matches-container {\n background-color: rgba(66, 66, 66, 0.1);\n}\n.k-tabstrip-wrapper {\n padding: 0px 0px;\n border-width: 0px;\n border-style: solid;\n display: flex;\n flex-direction: column;\n}\n.k-tabstrip {\n border-width: 0;\n border-color: transparent;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n color: inherit;\n background-color: transparent;\n display: flex;\n flex-direction: column;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-tabstrip-wrapper > .k-tabstrip {\n flex: 1 1 auto;\n}\n.k-tabstrip-items {\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n outline: 0;\n display: flex;\n flex-direction: row;\n flex: 0 0 auto;\n position: relative;\n}\n.k-tabstrip-items .k-item {\n margin: 0;\n padding: 0;\n border: 1px solid transparent;\n position: relative;\n flex-shrink: 0;\n display: flex;\n flex-direction: row;\n align-items: stretch;\n justify-items: stretch;\n outline: 0;\n}\n.k-tabstrip-items .k-tab-on-top {\n z-index: 1;\n}\n.k-tabstrip-items .k-link {\n padding: 6px 12px;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n vertical-align: middle;\n flex: 1 1 auto;\n flex-direction: row;\n align-content: center;\n align-items: center;\n}\n.k-tabstrip-items .k-remove-tab-link,\n.k-tabstrip-items .k-link[data-type=remove] {\n padding: 6px;\n flex: none;\n}\n.k-ie11 .k-tabstrip-items {\n white-space: nowrap;\n}\n.k-tabstrip-content,\n.k-tabstrip > .k-content {\n padding: 6px 12px;\n border-width: 1px;\n border-style: solid;\n border-color: inherit;\n display: none;\n overflow: auto;\n flex: 1 1 auto;\n}\n.k-tabstrip-content.k-state-active,\n.k-tabstrip > .k-content.k-state-active {\n display: block;\n}\n.k-tabstrip-content:focus, .k-tabstrip-content.k-state-focused,\n.k-tabstrip > .k-content:focus,\n.k-tabstrip > .k-content.k-state-focused {\n outline-width: 1px;\n outline-style: dotted;\n outline-offset: -1px;\n}\n.k-tabstrip-items .k-loading {\n width: 20%;\n height: 0;\n border: 0;\n border-top: 1px solid transparent;\n border-color: inherit;\n background: none;\n position: absolute;\n top: 0;\n left: 0;\n transition: width 0.2s linear;\n}\n.k-tabstrip-items .k-loading.k-complete {\n width: 100%;\n border-top-width: 0;\n}\n.k-tabstrip.k-tabstrip-scrollable {\n position: relative;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-content,\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-content {\n border-width: 1px;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-items {\n border-width: 0;\n white-space: nowrap;\n overflow: hidden;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-prev {\n position: absolute;\n left: 0;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-next {\n position: absolute;\n right: 0;\n}\n.k-ie11 .k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-prev,\n.k-ie11 .k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-next {\n top: 0;\n}\n.k-tabstrip-top > .k-tabstrip-items {\n border-bottom-width: 1px;\n}\n.k-tabstrip-top > .k-tabstrip-items .k-item {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n margin-bottom: -1px;\n}\n.k-tabstrip-top > .k-tabstrip-items .k-item + .k-item {\n margin-left: 0px;\n}\n.k-tabstrip-top > .k-tabstrip-items .k-item.k-state-active {\n border-bottom-color: transparent;\n}\n.k-tabstrip-top > .k-content,\n.k-tabstrip-top > .k-tabstrip-content {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-width: 0;\n}\n.k-tabstrip-bottom > .k-tabstrip-items {\n border-top-width: 1px;\n}\n.k-tabstrip-bottom > .k-tabstrip-items .k-item {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n margin-top: -1px;\n}\n.k-tabstrip-bottom > .k-tabstrip-items .k-item + .k-item {\n margin-left: 0px;\n}\n.k-tabstrip-bottom > .k-tabstrip-items .k-item.k-state-active {\n border-top-color: transparent;\n}\n.k-tabstrip-bottom > .k-content,\n.k-tabstrip-bottom > .k-tabstrip-content {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-width: 0;\n}\n.k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-prev,\n.k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-next {\n bottom: 0;\n}\n.k-ie11 .k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-prev,\n.k-ie11 .k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-next {\n top: auto;\n}\n.k-tabstrip-left {\n flex-direction: row;\n}\n.k-tabstrip-left > .k-tabstrip-items {\n border-right-width: 1px;\n display: inline-flex;\n flex-direction: column;\n}\n.k-tabstrip-left > .k-tabstrip-items .k-item {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-right: -1px;\n}\n.k-tabstrip-left > .k-tabstrip-items .k-item + .k-item {\n margin-top: 0px;\n}\n.k-tabstrip-left > .k-tabstrip-items .k-item.k-state-active {\n border-right-color: transparent;\n}\n.k-tabstrip-left > .k-content,\n.k-tabstrip-left > .k-tabstrip-content {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n margin: 0 !important;\n border-left-width: 0;\n}\n.k-tabstrip-right {\n flex-direction: row-reverse;\n}\n.k-tabstrip-right > .k-tabstrip-items {\n border-left-width: 1px;\n display: inline-flex;\n flex-direction: column;\n}\n.k-tabstrip-right > .k-tabstrip-items .k-item {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n margin-left: -1px;\n}\n.k-tabstrip-right > .k-tabstrip-items .k-item + .k-item {\n margin-top: 0px;\n}\n.k-tabstrip-right > .k-tabstrip-items .k-item.k-state-active {\n border-left-color: transparent;\n}\n.k-tabstrip-right > .k-content,\n.k-tabstrip-right > .k-tabstrip-content {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin: 0 !important;\n border-right-width: 0;\n}\n.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-items, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-items,\n.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-items,\n.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-items {\n order: 1;\n}\n.k-rtl .k-tabstrip.k-tabstrip-left > .k-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-content,\n.k-tabstrip[dir=rtl].k-tabstrip-left > .k-content,\n.k-tabstrip[dir=rtl].k-tabstrip-right > .k-content {\n order: 0;\n}\n.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-content,\n.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-content,\n.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-content {\n order: 0;\n}\n.k-rtl .k-tabstrip .k-tabstrip-prev,\n.k-tabstrip[dir=rtl] .k-tabstrip-prev {\n left: auto;\n right: 0;\n transform: scaleX(-1);\n}\n.k-rtl .k-tabstrip .k-tabstrip-next,\n.k-tabstrip[dir=rtl] .k-tabstrip-next {\n left: 0;\n right: auto;\n transform: scaleX(-1);\n}\n.k-tabstrip-items {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n}\n.k-tabstrip-items .k-item {\n color: #38ab63;\n}\n.k-tabstrip-items .k-item:hover, .k-tabstrip-items .k-item.k-state-hover {\n color: #2f9053;\n}\n.k-tabstrip-items .k-item.k-state-active, .k-tabstrip-items .k-item.k-state-selected {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-tabstrip-items .k-item.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-tabstrip > .k-content {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-tabstrip > .k-content:focus, .k-tabstrip > .k-content.k-state-focused {\n outline-color: #424242;\n}\n:root .k-widget::-moz-selection, :root .k-widget ::-moz-selection {\n color: #333;\n background: #DCECF5;\n}\n:root .k-widget::selection,\n:root .k-widget ::selection {\n color: #333;\n background: #DCECF5;\n}\n:root .k-widget .k-input,\n:root .k-widget .k-editor-toolbar .k-dropdown-wrap,\n:root .k-widget .k-colorpicker .k-picker-wrap {\n font-size: var(--font-size-lg);\n}\n:root .k-widget .k-input,\n:root .k-widget .k-textbox,\n:root .k-widget .k-colorpicker .k-picker-wrap, :root .k-widget.k-datepicker .k-picker-wrap, :root .k-widget.k-timepicker .k-picker-wrap {\n height: 36px;\n text-indent: 0;\n}\n:root .k-widget.k-datepicker .k-input, :root .k-widget.k-timepicker .k-input {\n height: auto;\n}\n:root .k-widget .k-colorpicker .k-picker-wrap {\n border-color: var(--input-border);\n}\n:root .k-widget textarea.k-input,\n:root .k-widget textarea.k-textbox {\n min-height: 80px;\n padding: 8px 10px;\n}\n:root .k-widget.k-datepicker .k-select, :root .k-widget.k-timepicker .k-select, :root .k-widget.k-datetimepicker .k-select, :root .k-widget.k-dateinput .k-select {\n background: 0;\n}\n:root .k-overlay {\n background-color: #fff;\n opacity: 1 !important;\n}\n:root .k-button:active, :root .k-button.k-state-active, :root .k-button.k-state-selected {\n box-shadow: none;\n background: none;\n}\n:root .k-button.k-primary, :root .k-button.k-primary:active {\n background-image: none;\n}\n:root .k-dropdown .k-state-focused {\n color: #333;\n background-color: transparent;\n box-shadow: none;\n}\n:root .k-popup {\n background-color: #fff;\n}\n.-sf-modal-window-open .k-widget, .-sf-modal-window-open .k-popup, .-sf-modal-window-open .k-animation-container {\n --font-size-h1: 42px;\n --font-size-h4-lg: 14px;\n --font-size-lg: 15px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n}','@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.-sf-contrast .k-widget, .k-popup, .k-animation-container {\n --color-h2: #696969;\n --color-h5: #696969;\n --color-error: #d40808;\n --color-success: #0E874C;\n --link-secondary-color: #696969;\n --link-side-secondary-color-active: #000;\n --link-side-secondary-color-hover: #000;\n --link-side-secondary-color: #696969;\n --link-color: #005FCC;\n --button-border-color: #cbcbcb;\n --button-interaction-border-color: #cbcbcb;\n --button-disabled-border-color: #f0f0f0;\n --button-disabled-color: #e4e4e4;\n --action-button-border-color: #0E874C;\n --action-button-background-color: #0E874C;\n --action-button-interaction-border-color: #006e33;\n --action-button-interaction-background-color: #006e33;\n --action-button-disabled-border-color: #b7dbca;\n --action-button-disabled-background-color: #b7dbca;\n --delete-button-border-color: #d40808;\n --delete-button-background-color: #d40808;\n --delete-button-interaction-border-color: #bb0000;\n --delete-button-interaction-background-color: #bb0000;\n --delete-button-disabled-border-color: #f2b5b5;\n --delete-button-disabled-background-color: #f2b5b5;\n --date-time-icon-border-color: #cbcbcb;\n --date-time-icon-color: #696969;\n --date-time-content-color: #696969;\n --default-icon-color: #696969;\n --icon-lighter-color: #cbcbcb;\n --icon-light-color: #cbcbcb;\n --icon-illustrative-font-color: #cbcbcb;\n --icon-positive-color: #0E874C;\n --icon-badge-add-color: #333;\n --icon-badge-add-bg-color: #fff;\n --icon-badge-add-border-color: #cbcbcb;\n --status-icon-color-published: #0E874C;\n --status-icon-color-restricted: #d40808;\n --status-bg-color-default: #FF8151;\n --status-icon-color-system: #cbcbcb;\n --status-icon-color-scheduled: #005FCC;\n --badge-white-border-color: #cbcbcb;\n --badge-color-bg-positive: #0E874C;\n --badge-color-bg-negative: #d40808;\n --badge-add-variation-bg-color: #fff;\n --badge-add-variation-border-color: #cbcbcb;\n --badge-add-variation-hover: #e4e4e4;\n --badge-add-variation-border-hover: #cbcbcb;\n --badge-add-variation-color: #333;\n --badge-edit-variation-bg-color: #005FCC;\n --badge-edit-variation-hover: #004faa;\n --badge-color: #333;\n --secondary-text-color: #696969;\n --input-placeholder-color: #696969;\n --input-title-placeholder-color: #909090;\n --input-border: #696969;\n --input-border-hover: #696969;\n --input-char-counter-success-color: #0E874C;\n --input-char-counter-error-color: #d40808;\n --select-border-color: #696969;\n --select-arrow-color: #696969;\n --checkbox-checked-border: #696969;\n --checkbox-border: #696969;\n --checkbox-border-hover: #696969;\n --dropdown-border: #cbcbcb;\n --dropdown-item-counter-neutral: #696969;\n --image-empty-border: #696969;\n --not-translated-image-label-bg: #696969;\n --input-box-shadow-hover: #696969;\n --tree-list-expander-color: #696969;\n}\nbody.-sf-contrast {\n --sf-footer-color: #696969;\n --sf-topbar-color: #696969;\n --sf-h5-color: #696969;\n --sf-navigation-border-color: #cbcbcb;\n --sf-user-info-border-color: #cbcbcb;\n --sf-navigation-caret: #666;\n --sf-live-link: #0E874C;\n --sf-green-main: #0E874C;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.k-widget .sf-modal-window, .k-popup .sf-modal-window, .k-animation-container .sf-modal-window {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n}\n.k-widget .sf-modal-window.-prompt, .k-popup .sf-modal-window.-prompt, .k-animation-container .sf-modal-window.-prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n flex-wrap: wrap;\n}\n.k-widget .sf-modal-window.-no-selection::after, .k-popup .sf-modal-window.-no-selection::after, .k-animation-container .sf-modal-window.-no-selection::after {\n display: block;\n content: " ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: #DCECF5;\n z-index: 1;\n}\n.k-widget .sf-modal-window:not(.-prompt), .k-popup .sf-modal-window:not(.-prompt), .k-animation-container .sf-modal-window:not(.-prompt) {\n padding-bottom: 66px;\n}\n.k-widget .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-prompt) .sf-modal-window__content {\n padding-top: 100px;\n}\n.k-widget .sf-modal-window__head-buttons, .k-popup .sf-modal-window__head-buttons, .k-animation-container .sf-modal-window__head-buttons {\n position: fixed;\n top: 8px;\n right: 15px;\n z-index: 1000000;\n}\n.k-widget .sf-modal-window__top-toolbar, .k-popup .sf-modal-window__top-toolbar, .k-animation-container .sf-modal-window__top-toolbar {\n z-index: 10000000;\n}\n.k-widget .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content {\n padding-left: 50px;\n padding-right: 50px;\n}\n.k-widget .sf-modal-window__buttons, .k-popup .sf-modal-window__buttons, .k-animation-container .sf-modal-window__buttons {\n background-color: #fff;\n}\n.k-widget .sf-modal-window__buttons.-border-top, .k-popup .sf-modal-window__buttons.-border-top, .k-animation-container .sf-modal-window__buttons.-border-top {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window__buttons.-bottom, .k-popup .sf-modal-window__buttons.-bottom, .k-animation-container .sf-modal-window__buttons.-bottom {\n padding-top: 15px;\n padding-bottom: 15px;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-popup .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-animation-container .sf-modal-window.-no-padding-top .sf-modal-window__content {\n padding-top: 0;\n}\n.k-widget .sf-modal-window.-narrow .sf-modal-window__content, .k-popup .sf-modal-window.-narrow .sf-modal-window__content, .k-animation-container .sf-modal-window.-narrow .sf-modal-window__content {\n width: 850px;\n margin: 0 auto;\n}\n.k-widget .sf-modal-window.-preview, .k-popup .sf-modal-window.-preview, .k-animation-container .sf-modal-window.-preview {\n padding-bottom: 0;\n}\n.k-widget .sf-modal-window.-preview .sf-modal-window__content, .k-popup .sf-modal-window.-preview .sf-modal-window__content, .k-animation-container .sf-modal-window.-preview .sf-modal-window__content {\n background-color: #f5f5f5;\n padding-top: 46px;\n min-height: 100vh;\n}\n.k-widget .sf-modal-window__content, .k-popup .sf-modal-window__content, .k-animation-container .sf-modal-window__content {\n background-color: #fff;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.k-widget, .k-popup, .k-animation-container {\n --date-time-icon-border-color: #e4e4e4;\n --date-time-icon-color: #777;\n --date-time-content-color: #656565;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-border-color: #e4e4e4;\n}\nbody {\n --sf-footer-color: #ccc;\n --sf-topbar-color: #999;\n --sf-h5-color: #999;\n --sf-navigation-border-color: #e5e5e5;\n --sf-navigation-caret: #ccc;\n --sf-user-info-border-color: #e4e4e4;\n --sf-live-link: #4cb861;\n --sf-green-main: #38ab63;\n}\n.k-widget, .k-popup, .k-animation-container {\n --tree-list-expander-color: #777;\n}\n.k-widget, .k-popup, .k-animation-container {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n.k-widget, .k-popup, .k-animation-container {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.6rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n.k-widget, .k-popup, .k-animation-container {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-arrow-color: #777;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-box-shadow-hover: #e4e4e4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n.k-widget, .k-popup, .k-animation-container {\n --secondary-text-color: #999;\n}\n.k-widget, .k-popup, .k-animation-container {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.sf-tabs {\n display: flex;\n justify-content: center;\n}\n.sf-tabs.-large {\n font-size: var(--font-size-lg);\n}\n.sf-tabs__item {\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n}\n.sf-tabs__item.-selected {\n padding-bottom: 5px;\n}\n.sf-tabs__item.-selected, .sf-tabs__item.-selected:hover, .sf-tabs__item.-selected:active, .sf-tabs__item.-selected:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\n.sf-tabs__item.-selected .sf-button.-link {\n color: #333;\n}\n.sf-tabs__badge {\n position: absolute;\n top: 0;\n right: -27px;\n font-size: var(--font-size-base);\n}\n/*\n Tabstrip\n\n Default\n\n `.sf-tabs`\n\n Markup:\n \n\n Styleguide: Tabstrip.default\n */\n/*\n Large\n\n `.sf-tabs.-large`\n\n Markup:\n \n\n Styleguide: Tabstrip.large\n */\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\nhtml .k-editable-area,\nhtml .k-editor {\n padding: 0;\n border: 0;\n}\nhtml .k-editor {\n display: block;\n overflow-y: hidden;\n min-height: 30px;\n color: #333;\n}\nhtml .k-editor:hover {\n box-shadow: 0 0 0 1px var(--input-box-shadow-hover);\n}\nhtml .k-editor:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-editor ul, html .k-editor ol {\n padding-left: 40px;\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-horizontal-rule:before,\nhtml .k-editor-toolbar .k-icon.k-i-horizontal-rule:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-embed:before,\nhtml .k-editor-toolbar .k-icon.k-i-embed:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-insert-document:before,\nhtml .k-editor-toolbar .k-icon.k-i-insert-document:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-button {\n width: 100%;\n}\nhtml .k-editor-overflow-popup .k-button:focus, html .k-editor-overflow-popup .k-button.k-state-focused {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .editorToolbarWindow.k-window-content {\n padding: 0 !important;\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editortoolbar-dragHandle {\n display: none !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless {\n position: fixed !important;\n top: 47px !important;\n left: 0 !important;\n right: 0 !important;\n width: 100% !important;\n height: 46px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #eee;\n z-index: 1000 !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless > .k-window-content {\n padding: 0;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker) {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker).k-state-active {\n border-top: 0;\n border-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker) .k-input {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar {\n display: flex;\n justify-content: center;\n width: 100%;\n height: 46px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar.k-toolbar {\n gap: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools .k-overflow-anchor {\n position: static;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group {\n padding: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group:first-child {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group > .k-tool:first-of-type:not(.k-state-disabled) {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group .k-dropdown-wrap .k-select {\n padding-top: 0;\n padding-bottom: 0;\n min-width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool {\n margin-right: -1px;\n padding-top: 0;\n padding-bottom: 0;\n border-right: 0;\n border-bottom: 0;\n border-top: 0;\n width: auto;\n height: 100%;\n text-align: center;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-input {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-select {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown .k-dropdown {\n min-width: 122px !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap {\n border: 0;\n height: 100%;\n line-height: 46px;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap.k-state-hover {\n color: #333;\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap.k-state-focused {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap .k-input {\n padding: 4px 8px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap > .k-i-close {\n width: 16px;\n top: 0;\n right: 32px;\n transform: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap > .k-i-close::before {\n width: 16px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon {\n padding: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon:hover {\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-selected-color {\n position: absolute;\n left: 9px;\n bottom: 5px;\n margin-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-picker-wrap {\n background-image: none;\n border: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button {\n border-left: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:active {\n border-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::before {\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::after {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon::after,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::before,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::after {\n background-color: #e4e4e4;\n border-radius: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon {\n height: 100%;\n font-size: var(--icon-size-m);\n line-height: 46px;\n color: #777;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon:hover {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before {\n width: 24px;\n height: 25px;\n padding: 5px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-icon::after {\n height: 1.4em;\n line-height: 1.5;\n box-sizing: content-box;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon.k-i-html {\n position: fixed;\n top: 47px;\n right: 0;\n height: 46px;\n pointer-events: auto !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon:before {\n margin-left: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon:before {\n margin-right: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end:not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 54px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end .k-icon.k-i-html {\n border-left: 1px solid #e4e4e4;\n}\nhtml div.k-editor-toolbar,\nhtml [title="Table Wizard"] {\n display: none;\n}\nhtml .k-button-group .k-state-disabled {\n display: none;\n}\nhtml .k-overflow-tools {\n position: static;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) {\n border: 1px solid #e4e4e4;\n box-shadow: 0 3px 5px #ededee;\n background-clip: border-box;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group),\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n padding: 5px 10px;\n border: 0;\n border-top: 1px solid #e4e4e4;\n white-space: nowrap;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-selected, html .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-hover,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-selected,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-hover {\n color: #333;\n background-color: #f5f5f5;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group):focus,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button:focus {\n outline: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group) .k-icon:after,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-icon:after {\n margin-top: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-focused,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-focused {\n color: #333;\n box-shadow: none;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n color: #333;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-tool-text {\n margin-left: 5px;\n vertical-align: middle;\n}\nhtml .k-ct-popup .k-ct-cell {\n pointer-events: all;\n border-color: #ccc;\n}\nhtml .k-ct-popup .k-ct-cell.k-state-selected {\n background-color: #DCECF5;\n}\nhtml .k-editor-inline {\n padding: 3px;\n border: 0;\n font-size: inherit;\n line-height: 1.5;\n}\nhtml .k-editor-inline:hover {\n cursor: text;\n}\nhtml .k-editor-inline:hover, html .k-editor-inline.k-state-active {\n border: 0;\n background: none;\n}\nhtml .k-editor-inline.-read-only.-in-list {\n display: inline;\n margin: 0;\n padding: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list:after {\n display: none;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button {\n display: inline;\n position: static;\n margin-top: 0;\n margin-left: 0;\n margin-right: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button .sf-expand-button__content {\n position: static;\n}\n.sf-main html .k-editor-inline.-read-only a,\nhtml .k-editor-inline.-read-only [data-sf-ec-immutable] {\n pointer-events: none;\n cursor: pointer;\n}\nhtml .k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\nhtml .k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\nhtml .k-editor-inline a,\nhtml .k-editor-inline img,\nhtml .k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\nhtml .k-editor-inline a.-align-left, html .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\nhtml .k-editor-inline a.-align-left,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\nhtml .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\nhtml .k-editor-inline .k-table-resize-handle-wrapper {\n width: 10px;\n height: 10px;\n}\nhtml .k-editor-inline table,\nhtml .k-editor-inline table td {\n border: 1px solid #ccc;\n}\nhtml .k-editor-inline img {\n max-width: 100%;\n}\nhtml .k-editor-inline .sf-media {\n display: inline-block;\n}\nhtml .k-editor-inline ol {\n list-style: decimal;\n}\nhtml .k-editor-inline ul {\n list-style: disc;\n}\nhtml .k-window {\n font-family: "Open Sans", sans-serif;\n max-width: 100vw;\n max-height: 100vh;\n border-width: 1px;\n}\nhtml .k-window, html .k-window.k-state-focused {\n box-shadow: 0 3px 5px #ededee;\n}\nhtml .k-window .k-widget,\nhtml .k-window .k-tabstrip > .k-content {\n color: #333;\n}\nhtml .k-window .k-window-content {\n overflow: visible;\n}\nhtml .k-window .k-window-titlebar {\n border-bottom: 0;\n text-align: center;\n}\nhtml .k-window .k-window-action {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n overflow: hidden;\n border: 1px solid #e4e4e4 !important;\n color: #777;\n}\nhtml .k-window .k-window-action.k-state-hover {\n color: #333;\n background-color: #e4e4e4;\n}\nhtml .k-window .k-window-action:active::before, html .k-window .k-window-action:active::after, html .k-window .k-window-action:focus::before, html .k-window .k-window-action:focus::after {\n border: 0;\n}\nhtml .k-window .k-window-action .k-icon {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n align-items: center;\n justify-content: center;\n display: flex;\n}\nhtml .k-window .k-window-action .k-icon.k-i-close::before {\n content: "";\n font-size: var(--icon-size-m);\n}\nhtml .k-window .k-window-title {\n display: block;\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n}\nhtml .k-window .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n margin-left: auto;\n margin-right: auto;\n width: 630px;\n padding: 16px;\n}\nhtml .k-window .k-editor-table-wizard-dialog .k-tabstrip-wrapper {\n flex: none;\n overflow: visible;\n}\nhtml .k-window .k-tabstrip-items {\n font-size: var(--font-size-lg);\n display: flex;\n justify-content: center;\n align-items: flex-start;\n border: 0;\n margin-bottom: 20px;\n}\nhtml .k-window .k-tabstrip-items .k-item {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n border: 0;\n}\nhtml .k-window .k-tabstrip-items .k-item.-secondary {\n color: var(--link-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item:hover, html .k-window .k-tabstrip-items .k-item:active, html .k-window .k-tabstrip-items .k-item:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-no-hover:hover, html .k-window .k-tabstrip-items .k-item.-no-hover:active, html .k-window .k-tabstrip-items .k-item.-no-hover:focus {\n color: var(--link-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side.-active, html .k-window .k-tabstrip-items .k-item.-side:focus, html .k-window .k-tabstrip-items .k-item.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary {\n color: var(--link-side-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic:hover, html .k-window .k-tabstrip-items .k-item.-basic:active, html .k-window .k-tabstrip-items .k-item.-basic:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar.-active, html .k-window .k-tabstrip-items .k-item.-top-toolbar:focus, html .k-window .k-tabstrip-items .k-item.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active {\n padding-bottom: 5px;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active, html .k-window .k-tabstrip-items .k-item.k-state-active:hover, html .k-window .k-tabstrip-items .k-item.k-state-active:active, html .k-window .k-tabstrip-items .k-item.k-state-active:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active .sf-button.-link {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item .k-link {\n padding: 0;\n}\nhtml .k-window .k-edit-label {\n font-size: var(--font-size-h4-lg);\n font-weight: bold;\n}\nhtml .k-window .k-edit-field .k-state-focused {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field .k-input:focus {\n outline: 0;\n}\nhtml .k-window .k-edit-field .k-input:focus:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field > .k-textbox,\nhtml .k-window .k-edit-field .k-numeric-wrap,\nhtml .k-window .k-edit-field .k-dropdown-wrap {\n border: 1px solid var(--input-border);\n}\nhtml .k-window .k-edit-field .k-select {\n border: 0;\n}\nhtml .k-window .k-edit-field .k-dropdown,\nhtml .k-window .k-edit-field .k-textbox {\n width: 100%;\n}\nhtml .k-window .k-edit-field .k-numerictextbox + .k-dropdown,\nhtml .k-window .k-edit-field .k-dropdown.k-align {\n width: auto;\n}\nhtml .k-window .k-edit-field .k-colorpicker .k-selected-color {\n height: 34px;\n width: 34px;\n border-radius: 0;\n}\nhtml .k-window .k-edit-field .k-checkbox,\nhtml .k-window .k-edit-field .k-checkbox-label {\n vertical-align: middle;\n}\nhtml .k-window .k-edit-field .k-checkbox-label {\n margin-top: 0;\n margin-right: 0;\n padding-left: 5px;\n}\nhtml .k-window .k-edit-buttons {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n text-align: center;\n}\nhtml .k-window .k-edit-buttons .k-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\nhtml .k-window .k-edit-buttons .k-button:hover, html .k-window .k-edit-buttons .k-button:active, html .k-window .k-edit-buttons .k-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:focus {\n color: var(--action-button-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary[disabled]:not(.-done):not(.-inprogress):not(.-no-border), html .k-window .k-edit-buttons .k-button.k-primary.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-state-focused, html .k-window .k-edit-buttons .k-button:focus {\n box-shadow: none;\n}\nhtml .k-window.k-window-maximized {\n height: auto !important;\n padding-top: 160px !important;\n border: 0;\n box-shadow: none;\n overflow: auto;\n}\nhtml .k-window.k-window-maximized .k-window-action {\n position: fixed;\n top: 10px;\n right: 20px;\n z-index: 1000000;\n}\nhtml.-sf-modal-window-open .k-editor-widget.k-window-titleless {\n z-index: 100000000 !important;\n}\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table).k-window-titleless,\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table) .k-editor-toolbar .k-i-html {\n top: 0 !important;\n}\n.k-editor-inline {\n margin-bottom: 10px;\n font-size: inherit;\n}\n.-empty .k-editor-inline {\n min-height: var(--editor-inline-min-height);\n}\n.-empty.-main .k-editor-inline {\n min-height: var(--editor-inline-min-height-long);\n}\n.k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\n.k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\n.k-editor-inline a,\n.k-editor-inline img,\n.k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\n.k-editor-inline a.-align-left, .k-editor-inline a.-align-right,\n.k-editor-inline img.-align-left,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\n.k-editor-inline a.-align-left,\n.k-editor-inline img.-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\n.k-editor-inline a.-align-right,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\n.sf-expand-button {\n display: block;\n position: relative;\n margin-top: 10px;\n}\n.sf-expand-button.-collapsed::before {\n content: "";\n position: absolute;\n top: calc((var(--editor-collapsed-height) + 10px) * -1);\n height: calc(var(--editor-collapsed-height) + 10px);\n width: 100%;\n background: linear-gradient(to top, #fff 5%, rgba(255, 255, 255, 0.25) 25%, rgba(255, 255, 255, 0) 100%);\n z-index: 100;\n}\n.sf-expand-button .sf-expand-button__content {\n position: relative;\n color: #006CD9;\n font-size: var(--font-size-base);\n z-index: 1000;\n}\n.sf-expand-button .sf-expand-button__content:hover {\n color: #333;\n}\nbody.-sf-editor-hidden .k-editor-widget {\n display: none !important;\n}\n.k-editor-toolbar .k-i-Words-count::before {\n content: "";\n}\n.-sf-modal-window-open .sf-editor *,\n.-sf-modal-window-open .k-window * {\n box-sizing: border-box;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar {\n margin-top: -78px !important;\n height: auto;\n padding: 12px 16px;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-title {\n display: block;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-action {\n padding: 4px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-icon.k-i-close::before {\n position: static;\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-content {\n min-height: auto;\n height: auto;\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-root-tabs {\n margin: 0;\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-label label {\n margin-bottom: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field {\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field input.k-checkbox {\n position: static;\n -webkit-appearance: checkbox;\n margin: 3px 0.5ex;\n width: 12px;\n height: 12px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox {\n border-radius: 0;\n padding: 1px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox:focus {\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label {\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label::before {\n content: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-default,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-focused,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-hover {\n background: none;\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-picker-wrap .k-select {\n position: static;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-link.k-state-selected {\n background: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown.k-align {\n width: auto;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-buttons {\n background: none;\n}\n.-sf-modal-window-open .k-animation-container .k-list-container {\n padding: 0;\n border-radius: 0;\n}\n.-sf-modal-window-open .k-animation-container .k-align .k-list .k-item, .-sf-modal-window-open .k-animation-container .k-align .k-list .k-item:last-child {\n display: flex;\n}\n.-sf-modal-window-open .k-animation-container .k-list .k-item {\n border: 0;\n border-top: 1px solid #e4e4e4;\n border-radius: 0;\n line-height: 1.42857em;\n}\n.-sf-modal-window-open .k-animation-container .k-flatcolorpicker .k-selected-color input.k-color-value {\n padding: 4px 8px;\n}'],encapsulation:2,data:{animation:[Object(r.trigger)("slideOpen",[Object(r.state)("open",Object(r.style)({height:"*"})),Object(r.state)("closed",Object(r.style)({height:x+"px"})),Object(r.transition)("closed <=> open",[Object(r.animate)(Q+"ms ease")]),Object(r.transition)(d.ANIMATION_STATES.ENTER,[Object(r.animate)(0)])])]}}),EditorComponent}(s.FieldBase),L=function(){function HtmlHelper(){}return HtmlHelper.findElementById=function(e,t){for(var n=l.NODE_NAMES.IMAGE_ELEMENT.toLocaleLowerCase(),o=this.findIdStartingIndex(e,"id",t),i=this.getElementType(e,o),r=i===n?">":"",a=e.indexOf(r,o),s=new RegExp("<"+i+" ","g"),A=e.substring(o,a).match(s).length-1;0!==A;)a=e.indexOf(r,a+1),A--;return e.slice(o,a+r.length)},HtmlHelper.getElementType=function(e,t){var n=e.indexOf(A.stringConstants.INTERVAL,t);return e.substring(t+1,n)},HtmlHelper.findFirstDifferentWrapperId=function(e,t){var n=this.getAllWrapperIds(e);return this.getAllWrapperIds(t).filter((function(e){return n.indexOf(e)<0}))[0]},HtmlHelper.findIdStartingIndex=function(e,t,n,o){void 0===o&&(o=0);var i=t+'="'+n,r=e.indexOf(i,o);return-1!==r&&(r=e.slice(0,r).lastIndexOf("<")),r},HtmlHelper.getElementsByTag=function(e,t,n){void 0===n&&(n=!1),t=t.toLocaleLowerCase();for(var o=n?">":"",i=new Array,r=e.indexOf("<"+t);r>-1;){var a=e.indexOf(o,r);if(-1===a)break;var s=e.substring(r,a+o.length);i.push(s),r=e.indexOf("<"+t,a)}return i},HtmlHelper.getElementsByTypeAndAttribute=function(e,t,n,o,i){void 0===n&&(n=!1),void 0===i&&(i=""),t=t.toLocaleLowerCase();for(var r=new Array,a=this.findIdStartingIndex(e,o,i);a>=0;){var s=-1;if(e.substring(a+1,e.indexOf(A.stringConstants.INTERVAL,a))===t){var l=n?">":"";if((s=e.indexOf(l,a))>-1){var c=new RegExp("<"+t+" ","g"),d=0,p=e.substring(a,s).match(c);for(null!=p&&(d=p.length-1);0!==d;)s=e.indexOf(l,s+1),d--;var f=e.slice(a,s+l.length);a=this.findIdStartingIndex(e,o,i,s),r.push(f)}}if(-1===s){var u=o+'="'+i,m=e.indexOf(u,a);if(-1===m)break;var g=this.findIdStartingIndex(e,o,i,m+u.length+1);if(g<=a)break;a=g}}return r},HtmlHelper.insertTextAtFirstEmptyPosition=function(e,t){var n=A.stringConstants.FORWARD_SLASH+A.stringConstants.GREATER_THAN,o=e.indexOf(n);return o<0&&(o=e.indexOf(A.stringConstants.GREATER_THAN)),e.substr(0,o)+" "+t+e.substr(o)},HtmlHelper.getAttributeValue=function(e,t){var n=t+'="',o=new RegExp(n+'.*?"',"g").exec(e);return o?o[0].slice(n.length,o[0].length-1):null},HtmlHelper.setInlineMargins=function(e,t,n){void 0===n&&(n=[]),Object.keys(t).forEach((function(o){-1===n.indexOf(o)&&(e.style[o]=t[o])}))},HtmlHelper.getAllWrapperIds=function(e){for(var t=[],n=/\id="Wrapper.*?\"/g,o=n.exec(e);null!==o;)t.push(o[0].slice(4,o[0].length-1)),o=n.exec(e);return t},HtmlHelper}()},,function(e,t,n){"use strict";n.r(t),n.d(t,"ANIMATION_DIRECTIONS",(function(){return o})),n.d(t,"ANIMATION_STATES",(function(){return i})),n.d(t,"ANIMATION_DURATION",(function(){return r})),n.d(t,"ANIMATION_TIMING",(function(){return a}));var o={CLOSE_MENU:"toTop",OPEN_MENU:"fromTop",MAIN_TO_SUB_MENU:"rightToLeft",SUB_TO_MAIN_MENU:"leftToRight"},i={ENTER:":enter",LEAVE:":leave"},r=200,a=r+"ms ease-out"},function(e,t,n){"use strict";n.r(t),n.d(t,"KENDO_TRAILING_BREAK",(function(){return i})),n.d(t,"ensureTrailingBreaks",(function(){return ensureTrailingBreaks})),n.d(t,"removeTrailingBreaks",(function(){return removeTrailingBreaks})),n.d(t,"isImageHyperlink",(function(){return isImageHyperlink})),n.d(t,"isImageImmutableSelected",(function(){return isImageImmutableSelected})),n.d(t,"isEmbedImmutableSelected",(function(){return isEmbedImmutableSelected}));var o=n(361),i="k-br",ensureTrailingBreaks=function(e){return"
    "+e+"
    "},removeTrailingBreaks=function(e){e.previousElementSibling&&e.nextElementSibling&&e.previousElementSibling.classList.contains(i)&&e.nextElementSibling.classList.contains(i)&&(e.nextElementSibling.remove(),e.previousElementSibling.remove())},isImageHyperlink=function(e){if(e)return e.parentElement&&e instanceof HTMLImageElement&&e.parentElement instanceof HTMLAnchorElement},isImageImmutableSelected=function(e){if(e)return!!(e instanceof HTMLImageElement||e instanceof HTMLAnchorElement&&e.querySelector(o.NODE_NAMES.IMAGE_ELEMENT))},isEmbedImmutableSelected=function(e){if(e)return!!(e.attributes[o.SelectorConstants.SF_IMMUTABLE]&&e.querySelector(o.TAG_NAMES.IFRAME))}},function(e,t,n){"use strict";n.r(t),n.d(t,"MARGIN_PROPERTIES",(function(){return s})),n.d(t,"MARGIN_VALUE_UNIT",(function(){return A})),n.d(t,"KENDO_ALIGN_COMMANDS",(function(){return l})),n.d(t,"handleKendoAlignCommand",(function(){return handleKendoAlignCommand})),n.d(t,"transferKendoAlignInlineStyles",(function(){return transferKendoAlignInlineStyles})),n.d(t,"setInlineStyles",(function(){return setInlineStyles})),n.d(t,"getInlineStyles",(function(){return getInlineStyles}));var o=n(361),i=n(246),r=n(366),a=["-"+o.BUTTON_NAMES.ALIGN_CENTER,"-"+o.BUTTON_NAMES.ALIGN_LEFT,"-"+o.BUTTON_NAMES.ALIGN_RIGHT],s=["margin","margin-top","margin-right","margin-bottom","margin-left"],A="px",l={LEFT:"justifyleft",RIGHT:"justifyright",CENTER:"justifycenter"},handleKendoAlignCommand=function(e,t,n){if(Object(r.isImageImmutableSelected)(t)||Object(r.isEmbedImmutableSelected)(t)){var a=[];switch(e){case l.LEFT:t.classList.toggle("-"+o.BUTTON_NAMES.ALIGN_LEFT),t.classList.remove("-"+o.BUTTON_NAMES.ALIGN_CENTER),t.classList.remove("-"+o.BUTTON_NAMES.ALIGN_RIGHT),t.classList.contains("-"+o.BUTTON_NAMES.ALIGN_LEFT)||(t.style.float=i.stringConstants.EMPTY_STRING);break;case l.RIGHT:t.classList.toggle("-"+o.BUTTON_NAMES.ALIGN_RIGHT),t.classList.remove("-"+o.BUTTON_NAMES.ALIGN_LEFT),t.classList.remove("-"+o.BUTTON_NAMES.ALIGN_CENTER),t.classList.contains("-"+o.BUTTON_NAMES.ALIGN_RIGHT)||(t.style.float=i.stringConstants.EMPTY_STRING);break;case l.CENTER:t.classList.toggle("-"+o.BUTTON_NAMES.ALIGN_CENTER),t.classList.remove("-"+o.BUTTON_NAMES.ALIGN_LEFT),t.classList.remove("-"+o.BUTTON_NAMES.ALIGN_RIGHT),t.classList.contains("-"+o.BUTTON_NAMES.ALIGN_CENTER)?(t.style.float=i.stringConstants.EMPTY_STRING,a=["margin-left","margin-right"]):(t.style.marginLeft=i.stringConstants.EMPTY_STRING,t.style.marginRight=i.stringConstants.EMPTY_STRING)}setInlineStyles(t,n,a)}},transferKendoAlignInlineStyles=function(e,t){var n=e instanceof HTMLAnchorElement?["display"]:[],o=getInlineStyles(e,null,null,s);setInlineStyles(t,o,n);var i=a.find((function(t){return e.classList.contains(t)}));i&&(t.classList.add(i),e.classList.remove(i))},setInlineStyles=function(e,t,n){void 0===n&&(n=[]),e&&Object.keys(t).forEach((function(o){-1===n.indexOf(o)&&(e.style[o]=t[o])}))},getInlineStyles=function(e,t,n,o){if(e)return Array.from(e.style).reduce((function(i,r){var a=!0;return t&&(a=t.indexOf(r)>-1)&&n&&(a=e.style[r].indexOf(n)>-1),a&&(i[r]=e.style[r]),o&&o.indexOf(r)>-1&&(e.style[r]=null),i}),{})}},function(e,t,n){"use strict";n.r(t),n.d(t,"EDITOR_CONFIG_TOKEN",(function(){return i})),n.d(t,"CompositeEditorConfigProvider",(function(){return r}));var o=n(229),i=new o.InjectionToken("operations_token"),r=function(){function CompositeEditorConfigProvider(e){this.editorConfigProviders=e}return CompositeEditorConfigProvider.prototype.getToolBarItems=function(e){return null!==this.editorConfigProviders?this.editorConfigProviders.map((function(t){return t.getToolBarItems(e)})).reduce((function(e,t){return e.concat(t)})):[]},CompositeEditorConfigProvider.prototype.getToolBarItemsNamesToRemove=function(){if(null!==this.editorConfigProviders)return this.editorConfigProviders.map((function(e){return e.getToolBarItemsNamesToRemove()})).reduce((function(e,t){return e.concat(t)}))},CompositeEditorConfigProvider.prototype.configureEditor=function(e){return null!==this.editorConfigProviders?this.editorConfigProviders.reduce((function(e,t){return t.configureEditor?t.configureEditor(e):e}),e):e},CompositeEditorConfigProvider.ɵfac=function CompositeEditorConfigProvider_Factory(e){return new(e||CompositeEditorConfigProvider)(o["ɵɵinject"](i,8))},CompositeEditorConfigProvider.ɵprov=o["ɵɵdefineInjectable"]({token:CompositeEditorConfigProvider,factory:CompositeEditorConfigProvider.ɵfac}),CompositeEditorConfigProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ScrollService",(function(){return A}));var o=n(229),i=n(244),r=n(11),a=0,s=1,A=function(){function ScrollService(e,t){this.window=e,this.zone=t,this.scrollCompleted=new r.Subject}return ScrollService.prototype.scrollTo=function(e,t,n,o){var i=this;void 0===t&&(t=!1),void 0===n&&(n=250),void 0===o&&(o=window);var r=null;if(e&&e.nativeElement){var a=this.calculateOffset();r=e.nativeElement.offsetHeight+a0&&(n.scrollTo(0,0),this.scrollCompleted.next())},ScrollService.prototype.scrollToPoint=function(e,t,n){void 0===t&&(t=250),void 0===n&&(n=this.window);var o=s/t,i=n.document.documentElement,r=i.scrollTop||0===i.scrollTop?i:n.document.body;this.scrollElementToPoint(r,i.scrollTop,e,o,a,n)},ScrollService.prototype.calculateOffset=function(){return.25*this.window.innerHeight},ScrollService.prototype.scrollElementToPoint=function(e,t,n,o,i,r){var s=this;if(void 0===i&&(i=a),i<0||i>1)return e.scrollTop=n,void this.scrollCompleted.next();e.scrollTop=t-(t-n)*this.easeOutMotion(i),i+=25*o,r.setTimeout((function(){s.scrollElementToPoint(e,t,n,o,i,r)}),25)},ScrollService.prototype.easeOutMotion=function(e){return--e*e*e+1},ScrollService.ɵfac=function ScrollService_Factory(e){return new(e||ScrollService)(o["ɵɵinject"](i.WINDOW_TOKEN),o["ɵɵinject"](o.NgZone))},ScrollService.ɵprov=o["ɵɵdefineInjectable"]({token:ScrollService,factory:ScrollService.ɵfac}),ScrollService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"groupToolbarButtons",(function(){return groupToolbarButtons}));var groupToolbarButtons=function(e,t,n,o){void 0===o&&(o=!0);var i=jQuery(e).find(n).parent(),r=jQuery(e).find(t).parent(),a=r.closest(".k-button-group");o?(i.closest(".k-button-group").find(".k-group-end").removeClass("k-group-end"),r.removeClass("k-group-start")):r.removeClass("k-group-start k-group-end"),r.insertAfter(i),a.remove()}},function(e,t,n){"use strict";n.r(t),n.d(t,"ExternalStyleSheetService",(function(){return f}));var o=n(11),i=n(361),r=n(372),a=n(315),s=n(131),A=n(373),l=n(278),c=n(280),d=n(246),p=n(229),f=function(){function ExternalStyleSheetService(e,t,n,o){this.documentProvider=e,this.adminAppConfigService=t,this.urlService=n,this.envService=o,this.loadedStyleSheets=[]}return ExternalStyleSheetService.prototype.applyExternalStyleSheets=function(){var e=this;if(!this.loadedStyleSheets$){this.loadedStyleSheets$=new o.ReplaySubject(1);var t=this.adminAppConfigService.externalConfig;if(this.externalStyleSheets=t&&t.editorSettings&&t.editorSettings.stylesheets?t.editorSettings.stylesheets:null,this.externalStyleSheets){var n=[];this.externalStyleSheets.forEach((function(t){n.push(e.loadStyleSheet(t))})),o.combineLatest.apply(void 0,n).subscribe((function(t){e.loadedStyleSheets$.next(t)}))}}return this.loadedStyleSheets$.pipe(Object(s.map)((function(e){return!0})))},ExternalStyleSheetService.prototype.destroyExternalStyleSheets=function(){this.loadedStyleSheets.length&&(this.loadedStyleSheets.forEach((function(e){e.remove()})),this.loadedStyleSheets.length=0,this.loadedStyleSheets$=null)},ExternalStyleSheetService.prototype.loadStyleSheet=function(e){this.isAbsoluteUrl(e)||(e=this.getRelativePath(e));var t=new o.Subject,n=this.documentProvider.createElement(i.NODE_NAMES.LINK_ELEMENT);return n.rel="stylesheet",n.href=e,n.onload=function(){t.next(!0),t.complete()},this.loadedStyleSheets.push(n),this.documentProvider.head.appendChild(n),t.asObservable()},ExternalStyleSheetService.prototype.isAbsoluteUrl=function(e){var t;try{t=new URL(e)}catch(e){t=e}return t instanceof URL},ExternalStyleSheetService.prototype.getRelativePath=function(e){var t=e;return this.envService.getEnvironment()===c.environmentTypes.integration?(e.startsWith(d.stringConstants.FORWARD_SLASH)||(e=""+d.stringConstants.FORWARD_SLASH+e),t=this.urlService.getResourceUrl(e)):t=this.urlService.getAbsoluteUrl(e),t},ExternalStyleSheetService.ɵfac=function ExternalStyleSheetService_Factory(e){return new(e||ExternalStyleSheetService)(p["ɵɵinject"](r.DOCUMENT_TOKEN),p["ɵɵinject"](a.ExternalAppConfigService),p["ɵɵinject"](A.UrlService),p["ɵɵinject"](l.EnvironmentService))},ExternalStyleSheetService.ɵprov=p["ɵɵdefineInjectable"]({token:ExternalStyleSheetService,factory:ExternalStyleSheetService.ɵfac}),ExternalStyleSheetService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DOCUMENT_TOKEN",(function(){return o})),n.d(t,"provideDocumentFactory",(function(){return provideDocumentFactory})),n.d(t,"DOCUMENT_PROVIDER",(function(){return i}));var o=new(n(229).InjectionToken)("Document");function provideDocumentFactory(){return"undefined"!=typeof window?window.document:null}var i={provide:o,useFactory:provideDocumentFactory}},function(e,t,n){"use strict";n.r(t),n.d(t,"URL_SERVICE",(function(){return A})),n.d(t,"UrlService",(function(){return l}));var o=n(271),i=n(244),r=n(261),a=n(229),s=n(246),A=new a.InjectionToken("UrlService"),l=function(){function UrlService(e,t,n){this.window=e,this.locationStrategy=t,this.resourcePath=n.resourcePath}return UrlService.prototype.getResourceUrl=function(e){return this.resourcePath?""+this.resourcePath+e:e},UrlService.prototype.getAbsoluteResourceUrl=function(e){return this.resourcePath?""+this.window.location.origin+this.resourcePath+e:e},UrlService.prototype.getServerRelativeUrl=function(e){var t=this.resourcePath||s.stringConstants.EMPTY_STRING;return t.endsWith("/adminapp")&&(t=t.replace("/adminapp",s.stringConstants.EMPTY_STRING)),t+"/Sitefinity"+e},UrlService.prototype.getAbsoluteUrl=function(e){var t=this.locationStrategy.getBaseHref(),n=this.trimForwardSlash(e),o=this.window.location.origin;return t!==s.stringConstants.FORWARD_SLASH&&(o+=t),0===n.length?o:(o.endsWith(s.stringConstants.FORWARD_SLASH)||(o+=s.stringConstants.FORWARD_SLASH),o+=n)},UrlService.prototype.trimForwardSlash=function(e){for(var t=e;t.startsWith(s.stringConstants.FORWARD_SLASH);)t=t.substring(s.stringConstants.FORWARD_SLASH.length);for(;t.endsWith(s.stringConstants.FORWARD_SLASH);)t=t.substring(0,t.length-s.stringConstants.FORWARD_SLASH.length);return t},UrlService.ɵfac=function UrlService_Factory(e){return new(e||UrlService)(a["ɵɵinject"](i.WINDOW_TOKEN),a["ɵɵinject"](r.PathLocationStrategy),a["ɵɵinject"](o.Settings))},UrlService.ɵprov=a["ɵɵdefineInjectable"]({token:UrlService,factory:UrlService.ɵfac}),UrlService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CompositeMediaParser",(function(){return s}));var o=n(259),i=n(375),r=n(376),a=n(229),s=function(e){function CompositeMediaParser(t){var n=e.call(this)||this;return n.embedMediaParsers=t,n.reorderParsers(),n}return Object(o.__extends)(CompositeMediaParser,e),CompositeMediaParser.prototype.initEmbeddedData=function(){this.embedMediaParsers.forEach((function(e){return e.initEmbeddedData()}))},CompositeMediaParser.prototype.getMediaHtml=function(e,t,n,o){return this.getParser(e.html).getMediaHtml(e,t,n,o)},CompositeMediaParser.prototype.canProcess=function(e){return!!this.getParser(e)},CompositeMediaParser.prototype.isExactMatch=function(e){return this.getParser(e).isExactMatch(e)},CompositeMediaParser.prototype.getValue=function(e){return this.getParser(e).getValue(e)},CompositeMediaParser.prototype.parse=function(e){return this.getParser(e).parse(e)},CompositeMediaParser.prototype.getMediaFromElement=function(e){return this.getParser(e.outerHTML).getMediaFromElement(e)},CompositeMediaParser.prototype.updateMediaElement=function(e,t,n){return this.getParser(e.outerHTML).updateMediaElement(e,t,n)},CompositeMediaParser.prototype.reorderParsers=function(){var isDefaultParser=function(e){return e instanceof r.DefaultMediaParser},e=this.embedMediaParsers.filter((function(e){return!isDefaultParser(e)})),t=this.embedMediaParsers.find((function(e){return isDefaultParser(e)}));this.embedMediaParsers=Object(o.__spreadArrays)(e,[t])},CompositeMediaParser.prototype.getParser=function(e){return this.embedMediaParsers.find((function(t){return t.canProcess(e)}))},CompositeMediaParser.ɵfac=function CompositeMediaParser_Factory(e){return new(e||CompositeMediaParser)(a["ɵɵinject"](i.EmbedMediaParser))},CompositeMediaParser.ɵprov=a["ɵɵdefineInjectable"]({token:CompositeMediaParser,factory:CompositeMediaParser.ɵfac}),CompositeMediaParser}(i.EmbedMediaParser)},function(e,t,n){"use strict";n.r(t),n.d(t,"EmbedMediaParser",(function(){return r}));var o=n(361),i=n(246),r=function(){function EmbedMediaParser(){}return EmbedMediaParser.prototype.getMediaHtml=function(e,t,n,r){if(e.isValid){var a=i.stringConstants.EMPTY_STRING;return t&&(a+="width: "+t+"px; "),n&&(a+="height: "+n+"px; "),r&&(a+=r),"
    "+e.html+"
    "}},EmbedMediaParser.prototype.getValue=function(e){return e},EmbedMediaParser.prototype.isExactMatch=function(e){return!1},EmbedMediaParser.prototype.initEmbeddedData=function(){},EmbedMediaParser.prototype.insertScript=function(e){if(!this.scriptExists(e)){var t=document.createElement("script");t.type="text/javascript",t.src=e,t.async=!0,document.body.appendChild(t)}},EmbedMediaParser.prototype.getNullableInteger=function(e){var t=e.toString().replace("px",i.stringConstants.EMPTY_STRING),n=Number(t),o={hasValue:t!==i.stringConstants.EMPTY_STRING&&!isNaN(n),value:null};return o.hasValue&&(o.value=n),o},EmbedMediaParser.prototype.scriptExists=function(e){for(var t=document.querySelectorAll("script"),n=0;n1){var o=n.ContentCultures,i=[];e.data&&(i=e.data.AvailableLanguages),this.actionMenuOptions=new s.ActionMenuOptions(Number.NEGATIVE_INFINITY,A.OUTSIDE_MENU_MAX_ORDINAL,!0),this.selectedCulture=n.ContentCultures.find((function(t){return t.Name===e.culture})),this.selectedOperationName=r.OPERATION_NAMES.changeCulture+"_"+this.selectedCulture.Name;var a=this.generateCultureOperations(this.selectedCulture.Name,o,i,e);this.detector.detectChanges(),this.customOperations?(this.customOperationsSubscription&&this.customOperationsSubscription.unsubscribe(),this.customOperationsSubscription=this.customOperations.subscribe((function(e){t.operations.next(e.concat(a))})),this.registerSubscription(this.customOperationsSubscription)):this.operations.next(a)}},LanguagesDropdownComponent.prototype.generateCultureOperations=function(e,t,n,o){var i=[],s=[],A=[];return t.forEach((function(e,t){var o=n.some((function(t){return t===e.Name})),i={Title:e.DisplayName,Category:o?{Name:"TRANSLATIONS",Title:"TRANSLATIONS"}:{Name:"ADD TRANSLATION",Title:"ADD TRANSLATION"},Name:r.OPERATION_NAMES.changeCulture+"_"+e.Name,Ordinal:t,Description:a.stringConstants.EMPTY_STRING,Link:null,Parameters:null,context:{additionalText:e.Name,look:o?p:"size-xl sf-txt-small sf-txt-upper-case add-variation"},RequiresConfirmation:!1};o?s.push(i):A.push(i)})),i=i.concat(s),!o.metadata.hasContent&&o.data&&o.data.AvailableLanguages.length>0&&i.push({Title:f,Category:{Name:"COMPARE TRANSLATIONS"},Name:r.OPERATION_NAMES.compareTranslations,Ordinal:100,Description:a.stringConstants.EMPTY_STRING,Link:null,Parameters:null,context:{additionalText:null,look:p},RequiresConfirmation:!1}),i=i.concat(A)},LanguagesDropdownComponent.ɵfac=function LanguagesDropdownComponent_Factory(e){return new(e||LanguagesDropdownComponent)(i["ɵɵdirectiveInject"](l.ActivatedRoute),i["ɵɵdirectiveInject"](i.ChangeDetectorRef))},LanguagesDropdownComponent.ɵcmp=i["ɵɵdefineComponent"]({type:LanguagesDropdownComponent,selectors:[["sf-languages-dropdown"]],inputs:{item:"item",customOperations:"customOperations"},outputs:{onChange:"onChange"},features:[i["ɵɵInheritDefinitionFeature"]],decls:5,vars:3,consts:[["buttonsLook","toggle left",3,"operations","selectedOperationName","options","buttonClicked"],["dropDownButtonTemplate",""],["insideMenuButtonTemplate",""],["look","size-xl sf-txt-small sf-txt-upper-case edit-variation",3,"content"],["class","-sf-mr-3xs",3,"content","look",4,"ngIf"],[1,"-sf-mr-3xs",3,"content","look"]],template:function LanguagesDropdownComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"sf-action-menu",0),i["ɵɵlistener"]("buttonClicked",(function LanguagesDropdownComponent_Template_sf_action_menu_buttonClicked_0_listener(e){return t.onActionButtonClicked(e)})),i["ɵɵtemplate"](1,LanguagesDropdownComponent_ng_template_1_Template,1,2,"ng-template",null,1,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](3,LanguagesDropdownComponent_ng_template_3_Template,2,2,"ng-template",null,2,i["ɵɵtemplateRefExtractor"]),i["ɵɵelementEnd"]()),2&e&&i["ɵɵproperty"]("operations",t.cultureOperations)("selectedOperationName",t.selectedOperationName)("options",t.actionMenuOptions)},encapsulation:2}),LanguagesDropdownComponent}(d.RxBaseComponent)},function(e,t,n){"use strict";n.r(t);var o=n(394);n.d(t,"CommandsTarget",(function(){return o.OperationsTarget}))},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var o=n(402);n.d(t,"CommandModel",(function(){return o.CommandModelBase}))},function(e,t,n){"use strict";n.r(t),n.d(t,"CommandModelBase",(function(){return i}));var o=n(259),i=function(e){function CommandModelBase(t){var n=e.call(this,t)||this;return n.name=t,n}return Object(o.__extends)(CommandModelBase,e),CommandModelBase}(n(403).Named)},function(e,t,n){"use strict";n.r(t),n.d(t,"Named",(function(){return o}));var o=function(){function Named(e){this.name=e}return Object.defineProperty(Named.prototype,"title",{get:function(){return this._title?this._title:this.name},set:function(e){this._title=e},enumerable:!1,configurable:!0}),Named}()},function(e,t,n){"use strict";n.r(t);var o=n(405);n.d(t,"CommandCategory",(function(){return o.CommandCategory}))},function(e,t,n){"use strict";n.r(t),n.d(t,"CommandCategory",(function(){return i}));var o=n(259),i=function(e){function CommandCategory(t){var n=e.call(this,t)||this;return n.name=t,n}return Object(o.__extends)(CommandCategory,e),CommandCategory}(n(403).Named)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var o=n(397);n.d(t,"COMMANDS_FILTER_TOKEN",(function(){return o.OPERATIONS_FILTER_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(410);n.d(t,"Entity",(function(){return o.Entity}));var i=n(411);n.d(t,"DataItem",(function(){return i.DataItem}));n(412)},function(e,t,n){"use strict";n.r(t);var o=n(269);n.d(t,"Entity",(function(){return o.Entity}))},function(e,t,n){"use strict";n.r(t);var o=n(317);n.d(t,"DataItem",(function(){return o.DataItem}))},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var o=n(414);n.d(t,"ToolBarItem",(function(){return o.ToolBarItem}));var i=n(1433);n.d(t,"TOOLBARITEMS_TOKEN",(function(){return i.TOOLBARITEMS_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(415);n.d(t,"ToolBarItem",(function(){return o.ToolBarItem}))},function(e,t,n){"use strict";n.r(t);var o=n(416),i=n(334);n.d(t,"SHORT_TEXT_COMPONENTS",(function(){return i.SHORT_TEXT_COMPONENTS})),n.d(t,"SHORT_TEXT_REGISTRY",(function(){return i.SHORT_TEXT_REGISTRY})),n.d(t,"SHORT_TEXT_PASSWORD_REGISTRY",(function(){return i.SHORT_TEXT_PASSWORD_REGISTRY})),n.d(t,"SHORT_TEXT_DEFAULT_REGISTRY",(function(){return i.SHORT_TEXT_DEFAULT_REGISTRY})),n.d(t,"SHORT_TEXT_CONSTANTS",(function(){return i.SHORT_TEXT_CONSTANTS}));var r=n(363);n.d(t,"TABLE_WIZARD_TITLE",(function(){return r.TABLE_WIZARD_TITLE})),n.d(t,"EXPAND_BUTTON_TEXT",(function(){return r.EXPAND_BUTTON_TEXT})),n.d(t,"COLLAPSE_BUTTON_TEXT",(function(){return r.COLLAPSE_BUTTON_TEXT})),n.d(t,"EDITOR_COLLAPSE_HEIGHT",(function(){return r.EDITOR_COLLAPSE_HEIGHT})),n.d(t,"EDITOR_MAIN_EMPTY_HEIGHT",(function(){return r.EDITOR_MAIN_EMPTY_HEIGHT})),n.d(t,"EDITOR_EMPTY_HEIGHT",(function(){return r.EDITOR_EMPTY_HEIGHT})),n.d(t,"EDITOR_COLLAPSE_OFFSET_HEIGHT",(function(){return r.EDITOR_COLLAPSE_OFFSET_HEIGHT})),n.d(t,"EDITOR_COLLAPSE_ANIMATION_SPEED",(function(){return r.EDITOR_COLLAPSE_ANIMATION_SPEED})),n.d(t,"KENDO_EDITOR_LOAD_TIME",(function(){return r.KENDO_EDITOR_LOAD_TIME})),n.d(t,"EditorComponent",(function(){return r.EditorComponent})),n.d(t,"HtmlHelper",(function(){return r.HtmlHelper}));var a=n(1096);n.d(t,"ToolBarItem",(function(){return a.ToolBarItem}));var s=n(368);n.d(t,"EDITOR_CONFIG_TOKEN",(function(){return s.EDITOR_CONFIG_TOKEN})),n.d(t,"CompositeEditorConfigProvider",(function(){return s.CompositeEditorConfigProvider}));var A=n(336);n.d(t,"createValueAccessor",(function(){return A.createValueAccessor})),n.d(t,"FieldBase",(function(){return A.FieldBase}));var l=n(1097);n.d(t,"FieldsModule",(function(){return l.FieldsModule}));var c=n(418);n.d(t,"DEFAULT_DATA_FIELDS",(function(){return c.DEFAULT_DATA_FIELDS})),n.d(t,"REMOVE_ANIMATION_CLASS_TIMEOUT",(function(){return c.REMOVE_ANIMATION_CLASS_TIMEOUT})),n.d(t,"JUST_ADDED_PROPERTY",(function(){return c.JUST_ADDED_PROPERTY})),n.d(t,"TreeComponent",(function(){return c.TreeComponent})),n.d(t,"TreeNodeModel",(function(){return c.TreeNodeModel})),n.d(t,"COMMON_COMPONENTS",(function(){return o.COMMON_COMPONENTS}))},function(e,t,n){"use strict";n.r(t),n.d(t,"COMMON_COMPONENTS",(function(){return d}));var o=n(417),i=n(1066),r=n(1067),a=n(1068),s=n(1070),A=n(1071),l=n(1072),c=n(1095),d=[o.ChipsComponent,i.PopupComponent,r.CarretPositionDirective,a.LocalizedNumDirective,s.WarningComponent,A.ClickOutsideDirective,l.ResizeDirective,c.RespondToVisibility]},function(e,t,n){"use strict";n.r(t),n.d(t,"ChipsComponent",(function(){return A}));var o=n(229),i=(n(418),n(333)),r=n(11),a=["tree"],s=["editableElement"];function ChipsComponent_ng_container_1_ng_container_1_span_1_ng_container_1_Template(e,t){1&e&&o["ɵɵelementContainer"](0)}var _c2=function(e,t){return{$implicit:e,displayField:t}};function ChipsComponent_ng_container_1_ng_container_1_span_1_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span",10),o["ɵɵtemplate"](1,ChipsComponent_ng_container_1_ng_container_1_span_1_ng_container_1_Template,1,0,"ng-container",11),o["ɵɵelementEnd"]()),2&e){var n=t.$implicit,i=o["ɵɵnextContext"](3),r=o["ɵɵreference"](4);o["ɵɵclassProp"]("-removable",!i.isReadOnly&&i.isRemovable),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngTemplateOutlet",i.selectedChipTemplate?i.selectedChipTemplate:r)("ngTemplateOutletContext",o["ɵɵpureFunction2"](4,_c2,n,i.displayField))}}function ChipsComponent_ng_container_1_ng_container_1_sf_badge_2_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-badge",12),o["ɵɵlistener"]("click",(function ChipsComponent_ng_container_1_ng_container_1_sf_badge_2_Template_sf_badge_click_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](3).OnMoreButtonClicked(e)})),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"](3);o["ɵɵproperty"]("content",i.moreButtonText)}}function ChipsComponent_ng_container_1_ng_container_1_Template(e,t){if(1&e&&(o["ɵɵelementContainerStart"](0),o["ɵɵtemplate"](1,ChipsComponent_ng_container_1_ng_container_1_span_1_Template,2,7,"span",8),o["ɵɵtemplate"](2,ChipsComponent_ng_container_1_ng_container_1_sf_badge_2_Template,1,1,"sf-badge",9),o["ɵɵelementContainerEnd"]()),2&e){var n=o["ɵɵnextContext"](2);o["ɵɵadvance"](1),o["ɵɵproperty"]("ngForOf",n.selectedChips),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.showMoreButton)}}function ChipsComponent_ng_container_1_Template(e,t){if(1&e&&(o["ɵɵelementContainerStart"](0),o["ɵɵtemplate"](1,ChipsComponent_ng_container_1_ng_container_1_Template,3,2,"ng-container",7),o["ɵɵelementContainerEnd"]()),2&e){var n=o["ɵɵnextContext"](),i=o["ɵɵreference"](10);o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.selectedChips)("ngIfElse",i)}}function ChipsComponent_span_2_span_1_ng_container_1_Template(e,t){1&e&&o["ɵɵelementContainer"](0)}function ChipsComponent_span_2_span_1_div_4_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",25),o["ɵɵtext"](1," Recent "),o["ɵɵelementEnd"]())}function ChipsComponent_span_2_span_1_div_5_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",26),o["ɵɵtext"](1," No results found "),o["ɵɵelementEnd"]())}function ChipsComponent_span_2_span_1_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"span",17),o["ɵɵtemplate"](1,ChipsComponent_span_2_span_1_ng_container_1_Template,1,0,"ng-container",18),o["ɵɵelementStart"](2,"sf-popup",19),o["ɵɵelementStart"](3,"div",20),o["ɵɵtemplate"](4,ChipsComponent_span_2_span_1_div_4_Template,2,0,"div",21),o["ɵɵtemplate"](5,ChipsComponent_span_2_span_1_div_5_Template,2,0,"div",22),o["ɵɵelementStart"](6,"sf-tree",23,24),o["ɵɵlistener"]("treeNodeClicked",(function ChipsComponent_span_2_span_1_Template_sf_tree_treeNodeClicked_6_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).onNewChipSelected(e)}))("initialized",(function ChipsComponent_span_2_span_1_Template_sf_tree_initialized_6_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).onInitialized()})),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"](2),r=o["ɵɵreference"](8),a=o["ɵɵreference"](6);o["ɵɵclassProp"]("-dropped",i.showEditableField)("-input","input"===i.displayMode),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf","input"===i.displayMode)("ngIfThen",r)("ngIfElse",a),o["ɵɵadvance"](1),o["ɵɵproperty"]("isOpen",i.showEditableField&&i.dropdownChips&&(i.dropdownChips.length>0||i.config.focusFirstNode||i.config.showNoResultsLabel)),o["ɵɵadvance"](1),o["ɵɵclassProp"]("-empty",i.dropdownChips&&0===i.dropdownChips.length&&!i.searchText),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!i.searchText&&i.hasDropDownItems&&i.config.showRecentLabel),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",(i.config.showNoResultsLabel||i.isHierarchical)&&!i.hasDropDownItems&&i.searchText),o["ɵɵadvance"](1),o["ɵɵproperty"]("focusFirstNode",i.config.focusFirstNode)("displayField",i.displayField)("nodes",i.dropdownChips)("config",i.treeConfig)("textToMatch",i.searchText)}}function ChipsComponent_span_2_sf_button_2_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-button",27),o["ɵɵlistener"]("onClick",(function ChipsComponent_span_2_sf_button_2_Template_sf_button_onClick_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).toggleEditableField()})),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"](2);o["ɵɵproperty"]("title",i.chipAddButtonTitle)("ariaLabel",i.chipContentName?i.chipAddButtonTitle+" "+i.chipContentName:null)}}function ChipsComponent_span_2_sf_button_3_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-button",28),o["ɵɵlistener"]("onClick",(function ChipsComponent_span_2_sf_button_3_Template_sf_button_onClick_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).onEditClick()})),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"](2);o["ɵɵproperty"]("ariaLabel",i.chipContentName?"Edit "+i.chipContentName:null)}}var _c3=function(e){return{"sf-row__col -col-12":e}};function ChipsComponent_span_2_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"span",13),o["ɵɵlistener"]("contentFocusOut",(function ChipsComponent_span_2_Template_span_contentFocusOut_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onContentFocusOut(!0)})),o["ɵɵtemplate"](1,ChipsComponent_span_2_span_1_Template,8,17,"span",14),o["ɵɵtemplate"](2,ChipsComponent_span_2_sf_button_2_Template,1,2,"sf-button",15),o["ɵɵtemplate"](3,ChipsComponent_span_2_sf_button_3_Template,1,1,"sf-button",16),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"]();o["ɵɵproperty"]("focusSubscription",i.triggeringSubscription)("closeOnContentClick",i.isSingleSelection)("closeOnEnterKey",i.isSingleSelection)("closeOnEscape",i.closeOnEscape)("ngClass",o["ɵɵpureFunction1"](8,_c3,"input"===i.displayMode&&i.showEditableField)),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",i.showEditableField),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",i.shouldShowAddButton()),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!i.showEditableField&&i.isSingleSelection&&(null==i.selectedChips?null:i.selectedChips.length)>0&&!i.config.hideEditButton)}}function ChipsComponent_ng_template_3_span_3_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"span",33),o["ɵɵtext"](1,"(not translated)"),o["ɵɵelementEnd"]())}function ChipsComponent_ng_template_3_span_4_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span",33),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]().$implicit;o["ɵɵadvance"](1),o["ɵɵtextInterpolate1"]("(",n.additionalInfo,")")}}function ChipsComponent_ng_template_3_i_5_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"i",34),o["ɵɵlistener"]("click",(function ChipsComponent_ng_template_3_i_5_Template_i_click_0_listener(){o["ɵɵrestoreView"](n);var e=o["ɵɵnextContext"]().$implicit;return o["ɵɵnextContext"]().onRemoveChip(e)})),o["ɵɵelementEnd"]()}}function ChipsComponent_ng_template_3_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span",29),o["ɵɵelementStart"](1,"span",30),o["ɵɵtext"](2),o["ɵɵelementEnd"](),o["ɵɵtemplate"](3,ChipsComponent_ng_template_3_span_3_Template,2,0,"span",31),o["ɵɵtemplate"](4,ChipsComponent_ng_template_3_span_4_Template,2,1,"span",31),o["ɵɵelementEnd"](),o["ɵɵtemplate"](5,ChipsComponent_ng_template_3_i_5_Template,1,0,"i",32)),2&e){var n=t.$implicit,i=t.displayField,r=o["ɵɵnextContext"]();o["ɵɵproperty"]("title",n.BreadcrumbPath||n[i]),o["ɵɵadvance"](1),o["ɵɵattribute"]("title",n[i]),o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](n[i]),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!1===n.isTranslated),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.additionalInfo),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!r.isReadOnly&&r.isRemovable)}}function ChipsComponent_ng_template_5_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"span",35,36),o["ɵɵlistener"]("keydown.enter",(function ChipsComponent_ng_template_5_Template_span_keydown_enter_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onEnterKey()}))("keydown.escape",(function ChipsComponent_ng_template_5_Template_span_keydown_escape_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onEscapeKey(e)}))("keydown.arrowUp",(function ChipsComponent_ng_template_5_Template_span_keydown_arrowUp_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onFocusTree()}))("keydown.arrowDown",(function ChipsComponent_ng_template_5_Template_span_keydown_arrowDown_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onFocusTree()}))("input",(function ChipsComponent_ng_template_5_Template_span_input_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onNewInputValue(e)}))("textinput",(function ChipsComponent_ng_template_5_Template_span_textinput_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onNewInputValue(e)})),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵreference"](1);o["ɵɵproperty"]("textDirectionValue",i.innerHTML),o["ɵɵattribute"]("aria-activedescendant","tree_active_node")}}function ChipsComponent_ng_template_7_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"input",37,36),o["ɵɵlistener"]("keydown.enter",(function ChipsComponent_ng_template_7_Template_input_keydown_enter_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onEnterKey()}))("keydown.escape",(function ChipsComponent_ng_template_7_Template_input_keydown_escape_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onEscapeKey(e)}))("keydown.arrowUp",(function ChipsComponent_ng_template_7_Template_input_keydown_arrowUp_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onFocusPreviousNode()}))("keydown.arrowDown",(function ChipsComponent_ng_template_7_Template_input_keydown_arrowDown_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onFocusNextNode()}))("input",(function ChipsComponent_ng_template_7_Template_input_input_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onNewInputValue(e)}))("textinput",(function ChipsComponent_ng_template_7_Template_input_textinput_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onNewInputValue(e)})),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵreference"](1),r=o["ɵɵnextContext"]();o["ɵɵproperty"]("textDirectionValue",i.value),o["ɵɵattribute"]("aria-activedescendant","tree_active_node")("placeholder",r.config.searchPlaceholder)}}function ChipsComponent_ng_template_9_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"span",10),o["ɵɵelementStart"](1,"span",38),o["ɵɵelementStart"](2,"span",39),o["ɵɵtext"](3,"Loading..."),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}var A=function(){function ChipsComponent(e){this.changeDetectorRef=e,this.newChipAdded=new o.EventEmitter,this.focus=new o.EventEmitter,this.moreButtonClicked=new o.EventEmitter,this.selectChip=new o.EventEmitter,this.removeChip=new o.EventEmitter,this.searchChips=new o.EventEmitter,this.displayMode=i.DISPLAY_MODE.NORMAL,this.isHierarchical=!1,this.displayField="Title",this.treeConfig={showBreadcrumb:!0,noSelection:!1},this.closeOnContentSelect=!1,this.showMoreButton=!1,this.config={showRecentLabel:!0,searchPlaceholder:"type to search"},this.closeOnEscape=!0,this.hasDropDownItems=!1,this.isEditing=!1,this.showEditableField=!1,this.triggeringSubscription=new r.BehaviorSubject(!1)}return Object.defineProperty(ChipsComponent.prototype,"dropdownChips",{get:function(){return this._dropdownChips},set:function(e){var t=this;if(e){this.hasDropDownItems=e.filter((function(e){return e.isSeparator||e.isLink})).length!==e.length;var n=e.slice();this.config.actions&&this.config.actions.length&&this.config.actions.forEach((function(e){var o;n.push({isSeparator:!0}),n.push(((o={isLink:!0})[t.displayField]=e.label,o.action=e.action,o))})),this._dropdownChips=n}else this._dropdownChips=e},enumerable:!1,configurable:!0}),ChipsComponent.prototype.onNewInputValue=function(e){this.triggeringSubscription.next(!0);var t=e.target||e.srcElement;this.searchText=t.textContent||t.value,this.searchChips.emit(this.searchText),this.tree.clearFocusedNode()},ChipsComponent.prototype.OnMoreButtonClicked=function(e){this.moreButtonClicked.emit(e)},ChipsComponent.prototype.ngAfterViewInit=function(){var e=this;this.queryContents.changes.subscribe((function(t){e.editableElement=t.first,e.tryFocus()||(e.resetValue(),e.changeDetectorRef.detectChanges())}))},ChipsComponent.prototype.toggleEditableField=function(){this.showEditableField=!this.showEditableField,this.showEditableField&&this.searchChips.emit(this.searchText),this.focus.emit(this.showEditableField)},ChipsComponent.prototype.initEditableField=function(){if(this.triggeringSubscription.next(!0),this.searchText)this.showEditableField=!0,this.searchChips.emit(this.searchText),this.selectChip.emit(null);else if(null!==this.selectedChips&&this.selectedChips.length>0){this.showEditableField=!1,this.searchChips.emit(null);var e=this.selectedChips[0];if(e){var t=this.dropdownChips.find((function(t){return t.Id===e.Id}));t.isLink&&t.isSeparator||this.selectChip.emit(t)}}else null!==this.selectedChips&&0!==this.selectedChips.length||(this.searchChips.emit(null),this.showEditableField=!0)},ChipsComponent.prototype.onContentFocusOut=function(e){void 0===e&&(e=!1),!this.isHierarchical&&e&&this.onNewChipAdded(this.searchText),this.showEditableField=!1,this.isEditing=!1,this.focus.emit(this.showEditableField)},ChipsComponent.prototype.onNewChipAdded=function(e){e&&(e=e.trim(),this.newChipAdded.emit(e),this.searchChips.emit(null)),this.tryFocus(),this.resetValue()},ChipsComponent.prototype.onNewChipSelected=function(e){if(e){var t=this.dropdownChips.find((function(t){return t.Id===e.id}));this.selectChip.emit(t),this.searchChips.emit(null)}this.closeOnContentSelect||e.data&&e.data.isLink?this.toggleEditableField():(this.tryFocus(),this.resetValue())},ChipsComponent.prototype.onEditClick=function(){this.triggeringSubscription.next(!1),this.showEditableField=!0,this.isEditing=!0,this.searchChips.emit(this.searchText)},ChipsComponent.prototype.onInitialized=function(){if(this.isSingleSelection&&this.selectedChips&&this.selectedChips.length>0&&this.config.showSelectedItemAsActive){var e=this.selectedChips[0];this.tree.selectAndActivateNodeById(e.Id)}},ChipsComponent.prototype.onEnterKey=function(){var e=this.tree.getFocusNodeValue();e?this.displayMode===i.DISPLAY_MODE.INPUT&&(this.selectChip.emit(e),this.resetValue(),this.closeOnContentSelect&&this.toggleEditableField()):this.onNewChipAdded(this.searchText)},ChipsComponent.prototype.onEscapeKey=function(e){this.onContentFocusOut(),e.stopPropagation()},ChipsComponent.prototype.onFocusTree=function(){this.tree.focusTree()},ChipsComponent.prototype.onFocusNextNode=function(){this.tree.focusNextNode()},ChipsComponent.prototype.onFocusPreviousNode=function(){this.tree.focusPreviousNode()},ChipsComponent.prototype.onRemoveChip=function(e){this.removeChip.emit(e),this.focus.emit(this.showEditableField)},ChipsComponent.prototype.shouldShowAddButton=function(){var e=!this.showEditableField&&!this.isSingleSelection,t=!this.showEditableField&&this.isSingleSelection&&this.selectedChips&&0===this.selectedChips.length;return e||t},ChipsComponent.prototype.generateCssClassListFromLook=function(){var e="";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e},ChipsComponent.prototype.tryFocus=function(){return!!this.editableElement&&(this.editableElement.nativeElement.focus(),!0)},ChipsComponent.prototype.resetValue=function(){this.searchText=null,this.editableElement&&(this.displayMode===i.DISPLAY_MODE.NORMAL?this.editableElement.nativeElement.textContent=null:this.displayMode===i.DISPLAY_MODE.INPUT&&(this.editableElement.nativeElement.value=null))},ChipsComponent.ɵfac=function ChipsComponent_Factory(e){return new(e||ChipsComponent)(o["ɵɵdirectiveInject"](o.ChangeDetectorRef))},ChipsComponent.ɵcmp=o["ɵɵdefineComponent"]({type:ChipsComponent,selectors:[["sf-chips"]],viewQuery:function ChipsComponent_Query(e,t){if(1&e&&(o["ɵɵviewQuery"](a,1),o["ɵɵviewQuery"](s,1)),2&e){var n=void 0;o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.tree=n.first),o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.queryContents=n)}},inputs:{selectedChips:"selectedChips",isLoading:"isLoading",isReadOnly:"isReadOnly",isSingleSelection:"isSingleSelection",isRemovable:"isRemovable",look:"look",isSearchPending:"isSearchPending",displayMode:"displayMode",chipAddButtonTitle:"chipAddButtonTitle",chipContentName:"chipContentName",isHierarchical:"isHierarchical",displayField:"displayField",treeConfig:"treeConfig",selectedChipTemplate:"selectedChipTemplate",closeOnContentSelect:"closeOnContentSelect",showMoreButton:"showMoreButton",moreButtonText:"moreButtonText",config:"config",dropdownChips:"dropdownChips"},outputs:{newChipAdded:"newChipAdded",focus:"focus",moreButtonClicked:"moreButtonClicked",selectChip:"selectChip",removeChip:"removeChip",searchChips:"searchChips"},decls:11,vars:7,consts:[[1,"sf-row","-align-items-center",3,"ngClass"],[4,"ngIf"],["sfTrackFocus","",3,"focusSubscription","closeOnContentClick","closeOnEnterKey","closeOnEscape","ngClass","contentFocusOut",4,"ngIf"],["defaultTemplate",""],["asSpan",""],["asInput",""],["loadingChips",""],[4,"ngIf","ngIfElse"],["class","sf-chip",3,"-removable",4,"ngFor","ngForOf"],["tabindex","0","look","size-xl sf-txt-small hover sf-mb-4xs sf-mr-6xs add",3,"content","click",4,"ngIf"],[1,"sf-chip"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["tabindex","0","look","size-xl sf-txt-small hover sf-mb-4xs sf-mr-6xs add",3,"content","click"],["sfTrackFocus","",3,"focusSubscription","closeOnContentClick","closeOnEnterKey","closeOnEscape","ngClass","contentFocusOut"],["class","sf-chip -editable -dropdown",3,"-dropped","-input",4,"ngIf"],["look","circle small sf-mb-4xs","icon","plus","iconLook","size-xs","data-sftest","chips-add-button",3,"title","ariaLabel","onClick",4,"ngIf"],["data-sftest","sf-chips-edit-btn","look","circle small sf-mb-4xs","iconLook","size-3xs","icon","pencil","title","Edit",3,"ariaLabel","onClick",4,"ngIf"],[1,"sf-chip","-editable","-dropdown"],[4,"ngIf","ngIfThen","ngIfElse"],[3,"isOpen"],[1,"sf-popup__content","sf-dropdown","sf-chip__dropdown"],["class","sf-dropdown__heading -condensed",4,"ngIf"],["class","sf-dropdown__no-items","data-sftest","sf-chips-no-results",4,"ngIf"],["look","flat condensed no-separators",3,"focusFirstNode","displayField","nodes","config","textToMatch","treeNodeClicked","initialized"],["tree",""],[1,"sf-dropdown__heading","-condensed"],["data-sftest","sf-chips-no-results",1,"sf-dropdown__no-items"],["look","circle small sf-mb-4xs","icon","plus","iconLook","size-xs","data-sftest","chips-add-button",3,"title","ariaLabel","onClick"],["data-sftest","sf-chips-edit-btn","look","circle small sf-mb-4xs","iconLook","size-3xs","icon","pencil","title","Edit",3,"ariaLabel","onClick"],[1,"sf-chip__content",3,"title"],[1,"-sf-overflow-ellipsis"],["class","-sf-txt-hint -sf-ml-6xs sf-chip__hint",4,"ngIf"],["class","sf-chip__remove-button sf-icon -close -size-2xs -black",3,"click",4,"ngIf"],[1,"-sf-txt-hint","-sf-ml-6xs","sf-chip__hint"],[1,"sf-chip__remove-button","sf-icon","-close","-size-2xs","-black",3,"click"],["sfTextDirection","","sfCarretPosition","","contenteditable","true","data-sftest","sf-chips-edit-content",1,"sf-chip__content",3,"textDirectionValue","keydown.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown","input","textinput"],["editableElement",""],["sfTextDirection","",1,"sf-chip__input",3,"textDirectionValue","keydown.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown","input","textinput"],[1,"sf-chip__content"],["data-sftest","loadingText",1,"-sf-txt-hint"]],template:function ChipsComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",0),o["ɵɵtemplate"](1,ChipsComponent_ng_container_1_Template,2,2,"ng-container",1),o["ɵɵtemplate"](2,ChipsComponent_span_2_Template,4,10,"span",2),o["ɵɵelementEnd"](),o["ɵɵtemplate"](3,ChipsComponent_ng_template_3_Template,6,6,"ng-template",null,3,o["ɵɵtemplateRefExtractor"]),o["ɵɵtemplate"](5,ChipsComponent_ng_template_5_Template,2,2,"ng-template",null,4,o["ɵɵtemplateRefExtractor"]),o["ɵɵtemplate"](7,ChipsComponent_ng_template_7_Template,2,3,"ng-template",null,5,o["ɵɵtemplateRefExtractor"]),o["ɵɵtemplate"](9,ChipsComponent_ng_template_9_Template,4,0,"ng-template",null,6,o["ɵɵtemplateRefExtractor"])),2&e&&(o["ɵɵclassProp"]("-justify-content-end",!("input"!==t.displayMode||t.showEditableField||null!=t.selectedChips&&t.selectedChips.length))("-sf-mt--s",!("input"!==t.displayMode||t.showEditableField||null!=t.selectedChips&&t.selectedChips.length)),o["ɵɵproperty"]("ngClass",t.generateCssClassListFromLook()),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.isLoading&&!t.isEditing),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!t.isReadOnly))},encapsulation:2}),ChipsComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT_DATA_FIELDS",(function(){return B})),n.d(t,"REMOVE_ANIMATION_CLASS_TIMEOUT",(function(){return k})),n.d(t,"JUST_ADDED_PROPERTY",(function(){return I})),n.d(t,"TreeComponent",(function(){return v})),n.d(t,"TreeNodeModel",(function(){return w}));var o=n(11),i=n(131),r=n(265),a=n(229),s=n(419),A=n(245),l=n(317),c=n(1063),d=n(266),p=n(372),f=n(1065),u=n(269),m=n(260),g=n(262),E=["virtualizationWrapper"];function TreeComponent_ng_container_0_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}function TreeComponent_ng_template_1_ng_container_3_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}function TreeComponent_ng_template_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"div",null,5),a["ɵɵelementStart"](2,"div",6),a["ɵɵlistener"]("resize",(function TreeComponent_ng_template_1_Template_div_resize_2_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onResize(e)})),a["ɵɵtemplate"](3,TreeComponent_ng_template_1_ng_container_3_Template,1,0,"ng-container",7),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](),i=a["ɵɵreference"](4);a["ɵɵstyleProp"]("height",o.treeVirtualHeight,"px")("padding-top",o.paddingTop,"px"),a["ɵɵadvance"](2),a["ɵɵstyleProp"]("height",o.wrapperHeight,"px"),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngTemplateOutlet",i)}}function TreeComponent_ng_template_3_ng_template_2_ng_container_0_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}var _c1=function(e,t,n){return{$implicit:e,textToMatch:t,textMatchType:n}};function TreeComponent_ng_template_3_ng_template_2_Template(e,t){if(1&e&&a["ɵɵtemplate"](0,TreeComponent_ng_template_3_ng_template_2_ng_container_0_Template,1,0,"ng-container",12),2&e){var n=t.$implicit,o=a["ɵɵnextContext"](2),i=a["ɵɵreference"](7);a["ɵɵproperty"]("ngTemplateOutlet",o.itemTemplate?o.itemTemplate:i)("ngTemplateOutletContext",a["ɵɵpureFunction3"](2,_c1,n,o.textToMatch,o.textMatchType))}}function TreeComponent_ng_template_3_ng_template_4_Template(e,t){1&e&&a["ɵɵelement"](0,"sf-loader",13),2&e&&a["ɵɵproperty"]("count",3)}function TreeComponent_ng_template_3_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"Tree",8,9),a["ɵɵlistener"]("focus",(function TreeComponent_ng_template_3_Template_Tree_focus_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().focusTree()}))("focusout",(function TreeComponent_ng_template_3_Template_Tree_focusout_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().focusOutTree()}))("initialized",(function TreeComponent_ng_template_3_Template_Tree_initialized_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onInitialized()}))("updateData",(function TreeComponent_ng_template_3_Template_Tree_updateData_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onDataUpdate()}))("moveNode",(function TreeComponent_ng_template_3_Template_Tree_moveNode_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onMoveNode(e)}))("loadNodeChildren",(function TreeComponent_ng_template_3_Template_Tree_loadNodeChildren_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onDataUpdate()}))("toggleExpanded",(function TreeComponent_ng_template_3_Template_Tree_toggleExpanded_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onToggleExpanded(e)}))("stateChange",(function TreeComponent_ng_template_3_Template_Tree_stateChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onStateChange(e)})),a["ɵɵtemplate"](2,TreeComponent_ng_template_3_ng_template_2_Template,1,6,"ng-template",null,10,a["ɵɵtemplateRefExtractor"]),a["ɵɵtemplate"](4,TreeComponent_ng_template_3_ng_template_4_Template,1,1,"ng-template",null,11,a["ɵɵtemplateRefExtractor"]),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵproperty"]("nodes",o.nodesToDisplay)("options",o.options),a["ɵɵattribute"]("class",o.treeClassName)("tabindex",o.config.noSelection?null:0)("aria-activedescendant",o.config.noSelection?null:"tree_active_node")}}function TreeComponent_ng_container_5_ng_container_1_Template(e,t){1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelement"](1,"sf-loader",15),a["ɵɵelement"](2,"hr",16),a["ɵɵelementContainerEnd"]())}var _c2=function(){return[0,0,0]};function TreeComponent_ng_container_5_Template(e,t){1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,TreeComponent_ng_container_5_ng_container_1_Template,3,0,"ng-container",14),a["ɵɵelementContainerEnd"]()),2&e&&(a["ɵɵadvance"](1),a["ɵɵproperty"]("ngForOf",a["ɵɵpureFunction0"](1,_c2)))}var _c3=function(e){return{"-sf-just-added":e}};function TreeComponent_ng_template_6_div_0_div_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",29),a["ɵɵelement"](1,"i",30),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2).$implicit,o=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](1,_c3,n.data[o.justAddedProperty]))}}function TreeComponent_ng_template_6_div_0_sf_status_3_Template(e,t){if(1&e&&a["ɵɵelement"](0,"sf-status",31),2&e){var n=a["ɵɵnextContext"](2).$implicit;a["ɵɵproperty"]("dataItem",n)("look",!1===n.data.isTranslated||n.data.isSelectionDisabled?"dimmed":null)}}function TreeComponent_ng_template_6_div_0_span_4_img_1_Template(e,t){if(1&e&&a["ɵɵelement"](0,"img",34),2&e){var n=a["ɵɵnextContext"](3).$implicit;a["ɵɵpropertyInterpolate1"]("alt","",n.data.description," avatar"),a["ɵɵproperty"]("src",n.data.userAvatar,a["ɵɵsanitizeUrl"])}}function TreeComponent_ng_template_6_div_0_span_4_ng_container_2_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtext"](1),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"](3).$implicit,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](o.generateUserInitials(n))}}var _c4=function(e){return{"-sf-overflow-ellipsis -sf-txt-upper-case":e}};function TreeComponent_ng_template_6_div_0_span_4_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"span",32),a["ɵɵtemplate"](1,TreeComponent_ng_template_6_div_0_span_4_img_1_Template,1,2,"img",33),a["ɵɵtemplate"](2,TreeComponent_ng_template_6_div_0_span_4_ng_container_2_Template,2,1,"ng-container",3),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2).$implicit;a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](3,_c4,!n.data.userAvatar)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.data.userAvatar),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!n.data.userAvatar)}}function TreeComponent_ng_template_6_div_0_sf_icon_5_Template(e,t){if(1&e&&a["ɵɵelement"](0,"sf-icon",35),2&e){var n=a["ɵɵnextContext"](2).$implicit;a["ɵɵproperty"]("name",n.data.icon)("look",n.data.iconLook)}}function TreeComponent_ng_template_6_div_0_ng_container_7_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelement"](1,"sf-component-loader",36),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"](2).$implicit,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("componentData",o.getCustomComponentData(n))}}function TreeComponent_ng_template_6_div_0_ng_container_8_div_5_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",43),a["ɵɵtext"](1),a["ɵɵpipe"](2,"lowercase"),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](3).$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",a["ɵɵpipeBind1"](2,1,n.data.Extension.split(".").pop())," ")}}function TreeComponent_ng_template_6_div_0_ng_container_8_div_6_Template(e,t){if(1&e&&(a["ɵɵelement"](0,"div",44),a["ɵɵpipe"](1,"sfBoldText"),a["ɵɵpipe"](2,"sfHtmlEscape"),a["ɵɵpipe"](3,"sfHtmlEscape")),2&e){var n=a["ɵɵnextContext"](3).$implicit,o=a["ɵɵnextContext"]();a["ɵɵproperty"]("innerHTML",n.data.searchDescription?a["ɵɵpipeBind3"](1,1,a["ɵɵpipeBind1"](2,5,n.data[o.dataProperties.descriptionField]),o.textToMatch,o.textMatchType):a["ɵɵpipeBind1"](3,7,n.data[o.dataProperties.descriptionField]),a["ɵɵsanitizeHtml"])}}function TreeComponent_ng_template_6_div_0_ng_container_8_sf_status_7_Template(e,t){if(1&e&&a["ɵɵelement"](0,"sf-status",45),2&e){var n=a["ɵɵnextContext"](3).$implicit;a["ɵɵproperty"]("dataItem",n)}}function TreeComponent_ng_template_6_div_0_ng_container_8_div_8_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",46),a["ɵɵelement"](1,"span",47),a["ɵɵpipe"](2,"sfBreadcrumb"),a["ɵɵpipe"](3,"sfBreadcrumb"),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](3).$implicit,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("title",a["ɵɵpipeBind1"](2,2,n.data[o.dataProperties.breadcrumbField]))("innerHTML",a["ɵɵpipeBind4"](3,4,n.data[o.dataProperties.breadcrumbField],!0,!1,n.data.removeBreadcrumbPrefix),a["ɵɵsanitizeHtml"])}}function TreeComponent_ng_template_6_div_0_ng_container_8_div_9_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",48),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](3).$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",n.data.nodeType," ")}}function TreeComponent_ng_template_6_div_0_ng_container_8_span_10_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"span"),a["ɵɵelementStart"](1,"a",49),a["ɵɵtext"](2,"Preview"),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](3).$implicit;a["ɵɵadvance"](1),a["ɵɵpropertyInterpolate"]("href",n.data.PreviewUrl,a["ɵɵsanitizeUrl"])}}var _c5=function(e){return{"-heading":e}};function TreeComponent_ng_template_6_div_0_ng_container_8_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelement"](1,"span",37),a["ɵɵpipe"](2,"sfHtmlEscape"),a["ɵɵpipe"](3,"sfBoldText"),a["ɵɵpipe"](4,"sfHtmlEscape"),a["ɵɵtemplate"](5,TreeComponent_ng_template_6_div_0_ng_container_8_div_5_Template,3,3,"div",38),a["ɵɵtemplate"](6,TreeComponent_ng_template_6_div_0_ng_container_8_div_6_Template,4,9,"div",39),a["ɵɵtemplate"](7,TreeComponent_ng_template_6_div_0_ng_container_8_sf_status_7_Template,1,1,"sf-status",40),a["ɵɵtemplate"](8,TreeComponent_ng_template_6_div_0_ng_container_8_div_8_Template,4,9,"div",41),a["ɵɵtemplate"](9,TreeComponent_ng_template_6_div_0_ng_container_8_div_9_Template,2,1,"div",42),a["ɵɵtemplate"](10,TreeComponent_ng_template_6_div_0_ng_container_8_span_10_Template,3,1,"span",3),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"](2).$implicit,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](16,_c5,n.data.isHeading))("innerHTML",n.data.isLink?a["ɵɵpipeBind1"](2,8,n.displayField):a["ɵɵpipeBind3"](3,10,a["ɵɵpipeBind1"](4,14,n.displayField),o.textToMatch,o.textMatchType),a["ɵɵsanitizeHtml"]),a["ɵɵadvance"](4),a["ɵɵproperty"]("ngIf",!o.config.hideExtensions&&n.data.Extension),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.description&&n.data[o.dataProperties.descriptionField]),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.statusText),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.showBreadcrumb&&n.data[o.dataProperties.breadcrumbField]),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.nodeType&&n.data.nodeType),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.previewUrl&&n.data.PreviewUrl)}}function TreeComponent_ng_template_6_div_0_progress_9_Template(e,t){if(1&e&&a["ɵɵelement"](0,"progress",50),2&e){var n=a["ɵɵnextContext"](2).$implicit;a["ɵɵproperty"]("value",n.data.Loaded)}}function TreeComponent_ng_template_6_div_0_span_10_span_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"span",54),a["ɵɵpipe"](1,"sfSanitizer"),a["ɵɵtext"](2,"Upload failed"),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](3).$implicit;a["ɵɵpropertyInterpolate"]("title",a["ɵɵpipeBind2"](1,1,n.data.Upload.errorMessage,"html"))}}function TreeComponent_ng_template_6_div_0_span_10_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"span",51),a["ɵɵtemplate"](1,TreeComponent_ng_template_6_div_0_span_10_span_1_Template,3,4,"span",52),a["ɵɵelementStart"](2,"sf-icon",53),a["ɵɵlistener"]("click",(function TreeComponent_ng_template_6_div_0_span_10_Template_sf_icon_click_2_listener(e){a["ɵɵrestoreView"](n);var t=a["ɵɵnextContext"](2).$implicit;return a["ɵɵnextContext"]().onTreeNodeRemoveClicked(t,e)})),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](2).$implicit;a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.data.Upload.errorMessage)}}function TreeComponent_ng_template_6_div_0_span_11_a_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"a",58),a["ɵɵlistener"]("click",(function TreeComponent_ng_template_6_div_0_span_11_a_1_Template_a_click_0_listener(e){a["ɵɵrestoreView"](n);var t=a["ɵɵnextContext"](3).$implicit;return a["ɵɵnextContext"]().onViewDataClicked(t,e)}))("keyup.enter",(function TreeComponent_ng_template_6_div_0_span_11_a_1_Template_a_keyup_enter_0_listener(e){a["ɵɵrestoreView"](n);var t=a["ɵɵnextContext"](3).$implicit;return a["ɵɵnextContext"]().onViewDataClicked(t,e)})),a["ɵɵtext"](1,"View"),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](3).$implicit;a["ɵɵattribute"]("aria-label","View "+o.displayField)}}function TreeComponent_ng_template_6_div_0_span_11_sf_icon_2_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-icon",59),a["ɵɵlistener"]("click",(function TreeComponent_ng_template_6_div_0_span_11_sf_icon_2_Template_sf_icon_click_0_listener(e){a["ɵɵrestoreView"](n);var t=a["ɵɵnextContext"](3).$implicit;return a["ɵɵnextContext"]().onTreeNodeRemoveClicked(t,e)}))("keyup.enter",(function TreeComponent_ng_template_6_div_0_span_11_sf_icon_2_Template_sf_icon_keyup_enter_0_listener(e){a["ɵɵrestoreView"](n);var t=a["ɵɵnextContext"](3).$implicit;return a["ɵɵnextContext"]().onTreeNodeRemoveClicked(t,e)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](3).$implicit;a["ɵɵattribute"]("aria-label","Deselect "+o.displayField)}}function TreeComponent_ng_template_6_div_0_span_11_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"span",55),a["ɵɵtemplate"](1,TreeComponent_ng_template_6_div_0_span_11_a_1_Template,2,1,"a",56),a["ɵɵtemplate"](2,TreeComponent_ng_template_6_div_0_span_11_sf_icon_2_Template,1,1,"sf-icon",57),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2).$implicit,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.previewUrl&&n.data.isTranslated&&n.data.showViewUrl),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.deletion&&!n.data.Loaded&&!n.data.NotFound)}}var _c6=function(e,t,n,o){return{"-sf-txt-dimmed":e,"-sf-just-added":t,"-system-link":n,"-inactive":o}},_c7=function(e,t,n){return{"-link":e,"-no-pointer":t,"-inactive":n}},_c8=function(e,t){return{"-sf-ml-m":e,"-no-status":t}};function TreeComponent_ng_template_6_div_0_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",19),a["ɵɵtemplate"](1,TreeComponent_ng_template_6_div_0_div_1_Template,2,3,"div",20),a["ɵɵelementStart"](2,"div",21),a["ɵɵtemplate"](3,TreeComponent_ng_template_6_div_0_sf_status_3_Template,1,2,"sf-status",22),a["ɵɵtemplate"](4,TreeComponent_ng_template_6_div_0_span_4_Template,3,5,"span",23),a["ɵɵtemplate"](5,TreeComponent_ng_template_6_div_0_sf_icon_5_Template,1,2,"sf-icon",24),a["ɵɵelementStart"](6,"div",25),a["ɵɵtemplate"](7,TreeComponent_ng_template_6_div_0_ng_container_7_Template,2,1,"ng-container",3),a["ɵɵtemplate"](8,TreeComponent_ng_template_6_div_0_ng_container_8_Template,11,18,"ng-container",3),a["ɵɵelementEnd"](),a["ɵɵtemplate"](9,TreeComponent_ng_template_6_div_0_progress_9_Template,1,1,"progress",26),a["ɵɵtemplate"](10,TreeComponent_ng_template_6_div_0_span_10_Template,3,1,"span",27),a["ɵɵtemplate"](11,TreeComponent_ng_template_6_div_0_span_11_Template,3,2,"span",28),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().$implicit,o=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction4"](16,_c6,!1===n.data.isTranslated,n.data[o.justAddedProperty],n.data.isSelectionDisabled&&n.data.isLink,n.data.inactive)),a["ɵɵattribute"]("id",n.isFocused?"tree_active_node":null)("aria-selected",o.config.noSelection?null:!!n.isActive),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.options.allowDrag),a["ɵɵadvance"](1),a["ɵɵpropertyInterpolate"]("title",n.data[o.dataProperties.toolTipField]),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction3"](21,_c7,n.data.isLink,o.config.noSelection&&!o.config.clickable||n.data.isSelectionDisabled,n.data.inactive)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.status&&n.data.DisplayStatus),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.avatar),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.data.icon),a["ɵɵadvance"](1),a["ɵɵpropertyInterpolate"]("title",n.data[o.dataProperties.toolTipField]||n.displayField),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction2"](25,_c8,n.data.Loaded,o.config.status&&!n.data.DisplayStatus&&!n.data.isLink)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!n.data.isLink&&o.getCustomComponentData(n)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.data.isLink||!o.getCustomComponentData(n)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.data.Loaded&&!n.data.Failure),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.data.Failure),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.config.previewUrl||o.config.deletion&&!n.data.Loaded)}}function TreeComponent_ng_template_6_div_1_Template(e,t){1&e&&a["ɵɵelement"](0,"div",60)}function TreeComponent_ng_template_6_Template(e,t){if(1&e&&(a["ɵɵtemplate"](0,TreeComponent_ng_template_6_div_0_Template,12,28,"div",17),a["ɵɵtemplate"](1,TreeComponent_ng_template_6_div_1_Template,1,0,"div",18)),2&e){var n=t.$implicit;a["ɵɵproperty"]("ngIf",!n.data.isSeparator),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.data.isSeparator)}}var h=100,b="Id",C="expanded",B={BREADCRUMB:"Breadcrumb",DESCRIPTION:"description"},k=1e3,I=Object(A.addPrefix)("justAdded"),v=function(){function TreeComponent(e,t,n,o,i){var A,l=this;this.renderer=e,this.documentProvider=t,this.treeNodeComponentCompositeProvider=n,this.metaDataStore=o,this.route=i,this.focusFirstNode=!1,this.isLoadingMore=!1,this.config={},this.treeNodePressEnter=new a.EventEmitter,this.treeNodeClicked=new a.EventEmitter,this.removeNode=new a.EventEmitter,this.onViewNode=new a.EventEmitter,this.dataUpdate=new a.EventEmitter,this.reorderNodes=new a.EventEmitter,this.moveNode=new a.EventEmitter,this.initialized=new a.EventEmitter,this.checkBoxClicked=new a.EventEmitter,this.expandedNodesChanged=new a.EventEmitter,this.visibleNodesCountChanged=new a.EventEmitter,this.dataProperties={breadcrumbField:B.BREADCRUMB,descriptionField:B.DESCRIPTION},this.nodesToDisplay=[],this.displayField="name",this.options={isExpandedField:C,idField:b,useTriState:!1,actionMapping:{mouse:{click:function(e,t,n){l.toggleSelected(e,t,n)},checkboxClick:function(e,t,n){l.toggleSelectedCheckbox(t)},dragStart:function(e,t,n){n.stopImmediatePropagation(),n.stopPropagation(),l.dragIndex=e.nodes.indexOf(t.data),l.renderer.addClass(window.document.body,"-sf-tree-dragging"),l.isDragEndTriggered=!1},dragEnd:function(e,t,n){l.onDragEnd(t,e)},dragEnter:function(e,t,n){l.dragTimeoutId||t===n.element||(l.dragTimeoutId=setTimeout((function(){l.dragTimeoutId=void 0,t.expand()}),k))},dragLeave:function(e,t,n){var o=n.event.target.closest("tree-node-wrapper").getBoundingClientRect();(o.right-1}},this.justAddedProperty=I,this.textMatchType=r.TextMatchType.StartsWith,this.treeClassName="",this.wrapperHeight=0,this.paddingTop=0,this.treeVirtualHeight=0,this.dragIndex=-1,this.isDragEndTriggered=!1,this.initialOffsetTop=0}return Object.defineProperty(TreeComponent.prototype,"nodes",{get:function(){return this._nodes},set:function(e){this._nodes=e,this.syncNodesToDisplay()},enumerable:!1,configurable:!0}),Object.defineProperty(TreeComponent.prototype,"loadChildren",{set:function(e){this.options.getChildren=function(t){return Object(o.from)(e(t)).pipe(Object(c.toLoadingState)(),Object(c.delayEmission)(h),Object(i.first)((function(e){return!e.isLoading})),Object(i.map)((function(e){return e.content}))).toPromise()}},enumerable:!1,configurable:!0}),Object.defineProperty(TreeComponent.prototype,"treeDisplayField",{set:function(e){this.displayField=e||this.displayField},enumerable:!1,configurable:!0}),TreeComponent.prototype.ngOnInit=function(){var e,t=this;this.options.displayField=this.displayField,this.config&&(this.config.drag&&(this.options.allowDrag=this.config.drag),this.config.drop&&(this.options.allowDrop=this.config.drop),this.config.multiSelection&&(this.options.useCheckbox=this.config.multiSelection),this.config.textMatchType&&(this.textMatchType=this.config.textMatchType),(null===(e=this.config.virtualizationOptions)||void 0===e?void 0:e.isVirtualized)&&(this.updateTreeWrapperHeight(),this.options.useVirtualScroll=!0,this.options.dropSlotHeight=0,this.options.nodeHeight=function(e){return e.data.dataItem.data.Renderer?Math.max(t.config.virtualizationOptions.nodeHeight,76):t.config.virtualizationOptions.nodeHeight})),this.treeClassName=this.generateCssClassList(),this.bindTreeProperties(),this.bindDataProperties()},TreeComponent.prototype.ngAfterViewInit=function(){this.syncNodesToDisplay()},TreeComponent.prototype.onWindowScroll=function(e){var t;if((null===(t=this.config.virtualizationOptions)||void 0===t?void 0:t.isVirtualized)&&this.wrapper&&this.wrapper.nativeElement.offsetParent){var n=this.documentProvider.querySelector("tree-viewport");this.initialOffsetTop||(this.initialOffsetTop=n.parentElement.offsetTop),n.scrollTo({left:0,top:e.target.scrollingElement.scrollTop-this.initialOffsetTop,behavior:"auto"});var o=this.treeVirtualHeight-this.wrapperHeight,i=Math.min(e.target.scrollingElement.scrollTop-this.initialOffsetTop,o);this.paddingTop=i>0?i:0}},TreeComponent.prototype.onResize=function(){this.updateTreeWrapperHeight()},TreeComponent.prototype.ngOnChanges=function(e){var t=e.config;t&&!t.isFirstChange()&&(this.options.useCheckbox=t.currentValue.multiSelection),this.treeClassName=this.generateCssClassList()},TreeComponent.prototype.ngOnDestroy=function(){this.nodesSubscription&&this.nodesSubscription.unsubscribe()},TreeComponent.prototype.onViewDataClicked=function(e,t){t.preventDefault(),t.stopImmediatePropagation(),this.onViewNode.emit(e)},TreeComponent.prototype.onTreeNodeRemoveClicked=function(e,t){t.preventDefault(),t.stopImmediatePropagation(),this.removeNode.emit(e)},TreeComponent.prototype.showHiddenNodes=function(){var e=this;Object.keys(this.tree.treeModel.hiddenNodeIds).forEach((function(t){e.tree.treeModel.hiddenNodeIds[t]=!1})),this.updateTreeModel()},TreeComponent.prototype.search=function(e){this.tree.treeModel.filterNodes(e,!0)},TreeComponent.prototype.toggleSelected=function(e,t,n){if(t)if(t.data&&t.data.isSelectionDisabled&&t.data.action)this.treeNodeClicked.emit(t);else if(!t.data||!t.data.isSelectionDisabled){if(!this.config.noSelection){if(!this.config.multiSelection&&t.isActive)return;this.config.multiSelection&&s.TREE_ACTIONS.TOGGLE_SELECTED(e,t,n),t.toggleActivated(this.config.multiSelection)}this.config.stopPropagationOnClick&&n&&(n.stopPropagation(),n.stopImmediatePropagation()),this.treeNodeClicked.emit(t)}},TreeComponent.prototype.toggleSelectedCheckbox=function(e){e&&e.data&&!e.data.isSelectionDisabled&&(e.toggleSelected(),e.toggleActivated(this.config.multiSelection),this.checkBoxClicked.emit(e),this.treeNodeClicked.emit(e),this.clearFocusedNode())},TreeComponent.prototype.selectnodesById=function(e){var t={};e.forEach((function(e){t[e]=!0})),this.tree.treeModel.selectedLeafNodeIds=t,this.tree.treeModel.activeNodeIds=t,this.clearFocusedNode()},TreeComponent.prototype.getSelectedNodeIds=function(){var e=[],t=this.tree.treeModel.getState().selectedLeafNodeIds;for(var n in t)t[n]&&e.push(n);return e},TreeComponent.prototype.selectAllNodes=function(e){for(var t={},n=0,o=this.tree.treeModel.nodes;n0)var n=setInterval((function(){t.wrapper&&t.wrapper.nativeElement.offsetParent&&(t.treeVirtualHeight=t.tree.treeModel.virtualRoot.height,t.updateTreeWrapperHeight(),t.tree.sizeChanged(),clearInterval(n))}),0);this.initialized.emit(),this.onFocusFirstNode(),this.calculateVisibleNodesCount()},TreeComponent.prototype.onFocusFirstNode=function(){if(this.focusFirstNode){this.focusTree();var e=this.tree.treeModel.roots;e&&null!=e[0]&&this.tree.treeModel.roots[0].focus()}},TreeComponent.prototype.onStateChange=function(){this.tree.treeModel.virtualRoot.height&&(this.treeVirtualHeight=this.tree.treeModel.virtualRoot.height,this.updateTreeWrapperHeight())},TreeComponent.prototype.onDataUpdate=function(){this.dataUpdate.emit(),this.onFocusFirstNode(),this.calculateVisibleNodesCount()},TreeComponent.prototype.onMoveNode=function(e){this.moveNode.emit(e),this.onDragEnd(e.node,e.treeModel)},TreeComponent.prototype.onToggleExpanded=function(e){var t=this.tree.treeModel.expandedNodeIds,n=Object.keys(t).filter((function(e){return t[e]}));this.config.treeProperties&&this.config.treeProperties.getChildren&&!e.isExpanded&&e.node.children&&(e.node.sfCachedItems=e.node.children.map((function(e){return e.data})),e.node.children=null),this.expandedNodesChanged.emit(n),this.calculateVisibleNodesCount()},TreeComponent.prototype.getFocusNodeValue=function(){var e=this.tree.treeModel.getFocusedNode();return e?e.data:null},TreeComponent.prototype.getActiveNodeValue=function(){var e=this.tree.treeModel.getActiveNode();return e?e.data:null},TreeComponent.prototype.clearFocusedNode=function(){this.tree.treeModel.setFocusedNode(null)},TreeComponent.prototype.focusTree=function(){this.tree.focused=!0},TreeComponent.prototype.focusOutTree=function(){this.tree.focused=!1},TreeComponent.prototype.focusNextNode=function(){this.focusTree(),this.tree.treeModel.focusNextNode()},TreeComponent.prototype.focusPreviousNode=function(){this.focusTree(),this.tree.treeModel.focusPreviousNode()},TreeComponent.prototype.selectCurrentNode=function(){var e=this.tree.treeModel.getFocusedNode();e&&this.treeNodeClicked.emit(e)},TreeComponent.prototype.generateUserInitials=function(e){var t="";return e.displayField&&(t=e.displayField.split(" ",3).map((function(e){return e.charAt(0)})).join("")),t},TreeComponent.prototype.generateCssClassList=function(){var e="sf-tree";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.config&&(this.config.multiSelection&&(e+=" -checkbox"),this.config.drag&&(e+=" -drag"),this.config.status&&(e+=" -status")),this.config&&this.config.isHierarchical||(e+=" -flat"),e},TreeComponent.prototype.updateTreeModel=function(){this.tree.treeModel.update()},TreeComponent.prototype.expandAndSelect=function(e,t){this.expandAndSelectChildren(e.children,t)},TreeComponent.prototype.getCustomComponentData=function(e){var t=this.treeNodeComponentCompositeProvider.getComponentData(this.config.customComponentOriginatingFeature,this.config.customComponentEntitySet);if(!t)return null;var n=e.data;return t.properties={item:l.DataItem.from(n,this.metaDataStore.getEntity(this.config.customComponentEntitySet),n.provider,this.route.snapshot.parent.queryParams[g.QUERY_PARAMS.CULTURE])},t},TreeComponent.prototype.updateTreeWrapperHeight=function(){var e=this.documentProvider.querySelector("tree-viewport");this.treeVirtualHeight>0&&this.treeVirtualHeight0&&t){var o=e.filter((function(e){return e&&e.children&&e.children.length&&t[e.id]})).map((function(e){return e.children})).reduce((function(e,t){return e.concat(t)}),[]).filter((function(e){return e.dataItem&&e.dataItem.data&&!e.dataItem.data.isLink}));return n+this.getNodesCountRecursively(o,t)}return n},TreeComponent.prototype.onDragEnd=function(e,t){var n=this;if(this.renderer.removeClass(window.document.body,"-sf-tree-dragging"),clearTimeout(this.dragTimeoutId),!this.isDragEndTriggered){var o=t.nodes.indexOf(e);this.dragIndex!==o&&(this.reorderNodes.emit(t.nodes),e&&(e[this.justAddedProperty]=!0,setTimeout((function(){e[n.justAddedProperty]=!1}),1e3))),this.dragIndex=-1,this.isDragEndTriggered=!0}},TreeComponent.prototype.expandAndSelectChildren=function(e,t,n){var o=this;Object.keys(e).forEach((function(i){var r=e[i],a=r.children,s=r.isSelected,A=(n&&n.children&&n.children.length?n.children:o.tree.treeModel.roots).find((function(e){return e.data[t]===i}));A&&(s&&(A.setIsSelected(!0),A.setIsActive(!0,o.config.multiSelection)),A.isCollapsed&&Object.keys(a).length?A.children?(A.expand(),o.expandAndSelectChildren(a,t,A)):A.loadNodeChildren().then((function(){A.setIsExpanded(!0),o.expandAndSelectChildren(a,t,A)})):o.expandAndSelectChildren(a,t,A))}))},TreeComponent.prototype.bindTreeProperties=function(){if(this.config.treeProperties){var e={};if(this.config.treeProperties.getChildren){var t=this.config.treeProperties.getChildren;e={getChildren:function(e){if(e.sfCachedItems)return new o.Observable((function(t){return t.next(e.sfCachedItems),t.complete()})).pipe(Object(i.delay)(0)).toPromise();var n=t(e);return new Promise((function(e,t){n.then((function(t){var n=t.map((function(e){return e instanceof l.DataItem&&e.data?{id:e.key,dataItem:e,hasChildren:e.data.hasOwnProperty(d.Properties.HAS_CHILDREN)&&e.data[d.Properties.HAS_CHILDREN]}:e}));e(n)})).catch((function(e){t(e)}))}))}}}Object.assign(this.options,this.config.treeProperties,e)}},TreeComponent.prototype.bindDataProperties=function(){this.config.dataProperties&&Object.assign(this.dataProperties,this.config.dataProperties)},TreeComponent.prototype.syncNodesToDisplay=function(){var e=this;this.itemTemplate&&this.nodes&&!this.config.skipNodeMappingToDefaultModel?this.mapNodes(this.nodes):this.nodesToDisplay=this.nodes,this.nodesToDisplay&&this.nodesToDisplay.forEach((function(e){e.hasOwnProperty("showViewUrl")||(e.showViewUrl=!0)})),this.config.expandedNodeIds&&this.config.isHierarchical&&this.config.expandedNodeIds.forEach((function(t){e.hasChildById(t,e.nodes)&&(e.tree.treeModel.expandedNodeIds[t]=!0)})),this.config.selectedNodeIds&&(this.config.selectedNodeIds.forEach((function(t){e.tree.treeModel.selectedLeafNodeIds[t]=!0,e.tree.treeModel.activeNodeIds[t]=!0})),this.clearFocusedNode(),this.updateTreeModel())},TreeComponent.prototype.hasChildById=function(e,t,n){var o=this;return void 0===n&&(n=!1),!!n||(t.forEach((function(t){if(t.key===e&&t.hasChildren)return n=!0;t._children&&(n=o.hasChildById(e,t._children,n))})),n)},TreeComponent.prototype.mapNodes=function(e){var t=this,n=[];e.forEach((function(e){var o=t.nodesToDisplay.find((function(t){return t.dataItem.data?t.dataItem.data===e.data:t.dataItem?t.dataItem===e:t===e}));if(o)n.push(o);else if(e instanceof l.HierarchicalDataItem){var i=t.constructHierarchy(e);n.push(i)}else{i={dataItem:e,hasChildren:e.data&&e.data.hasOwnProperty(d.Properties.HAS_CHILDREN)&&e.data[d.Properties.HAS_CHILDREN]};n.push(i)}})),this.nodesToDisplay=n},TreeComponent.prototype.constructHierarchy=function(e){var t=this,n={id:e.key,dataItem:e,hasChildren:e.hasChildren};return e.children.length>0&&(n.children=e.children.map((function(e){return t.constructHierarchy(e)}))),n},TreeComponent.ɵfac=function TreeComponent_Factory(e){return new(e||TreeComponent)(a["ɵɵdirectiveInject"](a.Renderer2),a["ɵɵdirectiveInject"](p.DOCUMENT_TOKEN),a["ɵɵdirectiveInject"](f.TreeNodeComponentCompositeProvider),a["ɵɵdirectiveInject"](u.MetadataStore),a["ɵɵdirectiveInject"](m.ActivatedRoute))},TreeComponent.ɵcmp=a["ɵɵdefineComponent"]({type:TreeComponent,selectors:[["sf-tree"]],viewQuery:function TreeComponent_Query(e,t){if(1&e&&(a["ɵɵviewQuery"](s.TreeComponent,1),a["ɵɵviewQuery"](E,1)),2&e){var n=void 0;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.tree=n.first),a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.wrapper=n.first)}},hostBindings:function TreeComponent_HostBindings(e,t){1&e&&a["ɵɵlistener"]("scroll",(function TreeComponent_scroll_HostBindingHandler(e){return t.onWindowScroll(e)}),!1,a["ɵɵresolveWindow"])},inputs:{focusFirstNode:"focusFirstNode",isLoadingMore:"isLoadingMore",config:"config",itemTemplate:"itemTemplate",textToMatch:"textToMatch",look:"look",nodes:"nodes",loadChildren:"loadChildren",treeDisplayField:["displayField","treeDisplayField"]},outputs:{treeNodePressEnter:"treeNodePressEnter",treeNodeClicked:"treeNodeClicked",removeNode:"removeNode",onViewNode:"onViewNode",dataUpdate:"dataUpdate",reorderNodes:"reorderNodes",moveNode:"moveNode",initialized:"initialized",checkBoxClicked:"checkBoxClicked",expandedNodesChanged:"expandedNodesChanged",visibleNodesCountChanged:"visibleNodesCountChanged"},features:[a["ɵɵNgOnChangesFeature"]],decls:8,vars:4,consts:[[4,"ngIf","ngIfThen","ngIfElse"],["virtualized",""],["treeTemplate",""],[4,"ngIf"],["defaultTemplate",""],["virtualizationWrapper",""],["sfResize","",1,"-sf-virtualized__tree",3,"resize"],[4,"ngTemplateOutlet"],["role","tree",3,"nodes","options","focus","focusout","initialized","updateData","moveNode","loadNodeChildren","toggleExpanded","stateChange"],["tree",""],["treeNodeTemplate",""],["loadingTemplate",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["look","skeleton content list",3,"count"],[4,"ngFor","ngForOf"],["look","skeleton content list"],[1,"-sf-mt-zero","-sf-mb-zero"],["class","sf-tree__row","role","treeitem","data-sftest","tree-row",3,"ngClass",4,"ngIf"],["class","sf-tree__separator",4,"ngIf"],["role","treeitem","data-sftest","tree-row",1,"sf-tree__row",3,"ngClass"],["class","sf-tree__outer",3,"ngClass",4,"ngIf"],[1,"sf-tree__inner",3,"title","ngClass"],["class","sf-tree__status","displayType","icon",3,"dataItem","look",4,"ngIf"],["class","sf-tree__avatar",3,"ngClass",4,"ngIf"],["class","sf-tree__icon",3,"name","look",4,"ngIf"],[1,"sf-tree__content",3,"title","ngClass"],["class","sf-tree__right-align -small","min","0","max","100",3,"value",4,"ngIf"],["class","sf-tree__right-align -sf-txt-failure",4,"ngIf"],["class","sf-tree__right-align sf-tree__action -size-2xs",4,"ngIf"],[1,"sf-tree__outer",3,"ngClass"],["aria-hidden","true",1,"sf-fa","sf-fa-ellipsis-v","sf-drag-handle"],["displayType","icon",1,"sf-tree__status",3,"dataItem","look"],[1,"sf-tree__avatar",3,"ngClass"],["class","-sf-img-fit-cover",3,"src","alt",4,"ngIf"],[1,"-sf-img-fit-cover",3,"src","alt"],[1,"sf-tree__icon",3,"name","look"],[3,"componentData"],["data-sftest","tree-content-text",1,"sf-tree__item-title","-sf-overflow-ellipsis",3,"ngClass","innerHTML"],["class","sf-tree__file-extension -sf-txt-hint -sf-overflow-ellipsis",4,"ngIf"],["class","sf-tree__description -sf-txt-hint -sf-overflow-ellipsis",3,"innerHTML",4,"ngIf"],["displayType","text",3,"dataItem",4,"ngIf"],["class","sf-tree__description sf-breadcrumb -sf-overflow-ellipsis",4,"ngIf"],["class","sf-tree__description h5",4,"ngIf"],[1,"sf-tree__file-extension","-sf-txt-hint","-sf-overflow-ellipsis"],[1,"sf-tree__description","-sf-txt-hint","-sf-overflow-ellipsis",3,"innerHTML"],["displayType","text",3,"dataItem"],[1,"sf-tree__description","sf-breadcrumb","-sf-overflow-ellipsis"],[3,"title","innerHTML"],[1,"sf-tree__description","h5"],["target","_blank",3,"href"],["min","0","max","100",1,"sf-tree__right-align","-small",3,"value"],[1,"sf-tree__right-align","-sf-txt-failure"],["class","-sf-txt-base -sf-mr-3xs",3,"title",4,"ngIf"],["look","close size-2xs black","title","Remove",3,"click"],[1,"-sf-txt-base","-sf-mr-3xs",3,"title"],[1,"sf-tree__right-align","sf-tree__action","-size-2xs"],["tabindex","0",3,"click","keyup.enter",4,"ngIf"],["look","close size-2xs black sf-ml-3xs","tabindex","0","title","Remove",3,"click","keyup.enter",4,"ngIf"],["tabindex","0",3,"click","keyup.enter"],["look","close size-2xs black sf-ml-3xs","tabindex","0","title","Remove",3,"click","keyup.enter"],[1,"sf-tree__separator"]],template:function TreeComponent_Template(e,t){if(1&e&&(a["ɵɵtemplate"](0,TreeComponent_ng_container_0_Template,1,0,"ng-container",0),a["ɵɵtemplate"](1,TreeComponent_ng_template_1_Template,4,7,"ng-template",null,1,a["ɵɵtemplateRefExtractor"]),a["ɵɵtemplate"](3,TreeComponent_ng_template_3_Template,6,5,"ng-template",null,2,a["ɵɵtemplateRefExtractor"]),a["ɵɵtemplate"](5,TreeComponent_ng_container_5_Template,2,2,"ng-container",3),a["ɵɵtemplate"](6,TreeComponent_ng_template_6_Template,2,2,"ng-template",null,4,a["ɵɵtemplateRefExtractor"])),2&e){var n=a["ɵɵreference"](2),o=a["ɵɵreference"](4);a["ɵɵproperty"]("ngIf",t.options.useVirtualScroll)("ngIfThen",n)("ngIfElse",o),a["ɵɵadvance"](5),a["ɵɵproperty"]("ngIf",t.isLoadingMore)}},encapsulation:2}),TreeComponent}(),w=function(){function TreeNodeModel(e){void 0===e&&(e=!1),this.isSelected=e,this.children=new Array}return TreeNodeModel.prototype.addPath=function(e){var t=e.pop();t&&(this.children[t]?e.length||(this.children[t].isSelected=!0):this.children[t]=new TreeNodeModel(!e.length),this.children[t].addPath(e))},TreeNodeModel}()},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t);var o=n(1064);n.d(t,"delayEmission",(function(){return o.delayEmission}));var i=n(274);n.d(t,"toLoadingState",(function(){return i.toLoadingState}))},function(e,t,n){"use strict";n.r(t),n.d(t,"delayEmission",(function(){return delayEmission})),n.d(t,"delayFirstEmission",(function(){return delayFirstEmission}));var o=n(11),i=n(131),r=n(274),delayEmission=function(e){return function(t){var n=null;return t.pipe(Object(i.delayWhen)((function(t){var i=0;if(t.isLoading)n=(new Date).getTime();else if(null!==n){var r=(new Date).getTime(),a=e-(r-n);a<0&&(a=0),i=a}return Object(o.timer)(i)})))}},delayFirstEmission=function(e){return function(t){return t.pipe(Object(r.toLoadingState)(),delayEmission(e),Object(i.filter)((function(e){return!e.isLoading})),Object(i.map)((function(e){return e.content})))}}},function(e,t,n){"use strict";n.r(t),n.d(t,"CUSTOM_TREE_COMPONENT_TOKEN",(function(){return a})),n.d(t,"TreeNodeComponentCompositeProvider",(function(){return s})),n.d(t,"CustomTreeNodeComponentBase",(function(){return A})),n.d(t,"TreeNodeComponentFeatures",(function(){return o}));var o,i=n(229),r=n(245),a=new i.InjectionToken("related_data_custom_component_token"),s=function(){function TreeNodeComponentCompositeProvider(e){this.providers=e}return TreeNodeComponentCompositeProvider.prototype.getComponentData=function(e,t){var n,o;if(!e||Object(r.isNullOrEmpty)(t)||!this.providers||0===(null===(n=this.providers)||void 0===n?void 0:n.length))return null;for(var i=0;i0&&n.contentRect.height>0&&e.resize.emit(n)}))},ResizeDirective.prototype.ngOnDestroy=function(){this.resizeObserver.unobserve(this.element.nativeElement)},ResizeDirective.ɵfac=function ResizeDirective_Factory(e){return new(e||ResizeDirective)(o["ɵɵdirectiveInject"](o.ElementRef))},ResizeDirective.ɵdir=o["ɵɵdefineDirective"]({type:ResizeDirective,selectors:[["","sfResize",""]],inputs:{delay:"delay"},outputs:{resize:"resize"}}),ResizeDirective}()},,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"RespondToVisibility",(function(){return i}));var o=n(229),i=function(){function RespondToVisibility(e){this.el=e,this.elementIsVisible=new o.EventEmitter,this.elementIsHidden=new o.EventEmitter}return RespondToVisibility.prototype.ngAfterViewInit=function(){this.respondToVisibility(this.el.nativeElement,this.onChangeVisibility)},RespondToVisibility.prototype.respondToVisibility=function(e,t){var n=this;this.observer=new IntersectionObserver((function(o){o.forEach((function(o){o.intersectionRatio>0?t(e,n.elementIsVisible):t(e,n.elementIsHidden)}))})),this.observer.observe(e)},RespondToVisibility.prototype.onChangeVisibility=function(e,t){t.next(e)},RespondToVisibility.prototype.ngOnDestroy=function(){this.observer.disconnect()},RespondToVisibility.ɵfac=function RespondToVisibility_Factory(e){return new(e||RespondToVisibility)(o["ɵɵdirectiveInject"](o.ElementRef))},RespondToVisibility.ɵdir=o["ɵɵdefineDirective"]({type:RespondToVisibility,selectors:[["","sfRespondToVisibility",""]],outputs:{elementIsVisible:"elementIsVisible",elementIsHidden:"elementIsHidden"},exportAs:["sfRespondToVisibility"]}),RespondToVisibility}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ToolBarItem",(function(){return o}));var o=function o(e,t,n){this.name=e,this.tooltip=t,this.exec=n}},function(e,t,n){"use strict";n.r(t),n.d(t,"FieldsModule",(function(){return Le}));var o=n(1098),i=n(1099),r=n(1100),a=n(261),s=n(324),A=n(363),l=n(1102),c=n(418),d=n(1103),p=n(1107),f=n(1108),u=n(1109),m=n(1111),g=n(1112),E=n(1113),h=n(1115),b=n(1116),C=n(265),B=n(1117),k=n(1235),I=n(1236),v=n(1237),w=n(1242),_=n(1383),x=n(1384),y=n(1385),S=n(1386),T=n(368),M=n(1398),D=n(1181),Q=n(1101),N=n(359),R=n(1138),F=n(1399),O=n(1400),P=n(1401),U=n(1402),L=n(360),z=n(1403),G=n(1404),H=n(1405),j=n(1407),Y=n(1408),V=n(1409),J=n(1104),W=n(1406),K=n(1410),X=n(1411),q=n(1412),Z=n(1413),$=n(1414),ee=n(1176),te=n(1175),ne=n(1132),oe=n(1415),ie=n(1416),re=n(335),ae=n(358),se=n(355),Ae=n(1418),le=n(1419),ce=n(1144),de=n(1420),pe=n(1142),fe=n(1141),ue=n(1421),me=n(1422),ge=n(1423),Ee=n(1424),he=n(417),be=n(1067),Ce=n(1068),Be=n(1070),ke=n(1071),Ie=n(1072),ve=n(419),we=n(1066),_e=n(1425),xe=n(1426),ye=n(1427),Se=n(1428),Te=n(1429),Me=n(1095),De=n(1137),Qe=n(1430),Ne=n(1431),Re=n(1065),Fe=n(1240),Oe=n(229),Pe=n(354),Ue=n(1105),Le=function(){function FieldsModule(){}return FieldsModule.ɵfac=function FieldsModule_Factory(e){return new(e||FieldsModule)},FieldsModule.ɵmod=Oe["ɵɵdefineNgModule"]({type:FieldsModule}),FieldsModule.ɵinj=Oe["ɵɵdefineInjector"]({providers:[{provide:J.StatusResolverBase,useClass:Z.MediaStatusResolver,multi:!0},{provide:J.StatusResolverBase,useClass:Te.ContentItemStatusResolver,multi:!0},{provide:J.StatusResolverBase,useClass:Y.TaxonomyStatusResolver,multi:!0},{provide:J.StatusResolverBase,useClass:V.StatusResolver,multi:!0},{provide:J.StatusResolverBase,useClass:Se.LockedItemStatusResolver,multi:!0},T.CompositeEditorConfigProvider,P.CompositeEditMenuProvider,O.ContentSectionMenuService,Q.HtmlEscapePipe,ve.TreeDraggedElement,Re.TreeNodeComponentCompositeProvider,Fe.DateTimeFormatsProvider,a.DatePipe],imports:[[q.SitefinityComponentsModule,a.CommonModule,s.FormsModule,s.ReactiveFormsModule,w.DateInputsModule,ie.SplitterModule,ve.TreeModule,Ne.PipesModule],q.SitefinityComponentsModule]}),FieldsModule}();Oe["ɵɵsetNgModuleScope"](Le,{declarations:[re.ShortTextComponent,ae.ShortTextGridComponent,se.ShortTextDefaultComponent,Ae.NumberComponent,le.NumberReadOnlyComponent,ce.ChoiceComponent,de.ChoiceReadOnlyComponent,pe.ChoiceDropdownComponent,fe.ChoiceDropdownListComponent,ue.ChoiceMultipleComponent,me.ChoiceMultipleReadOnlyComponent,ge.ChoiceYesNoComponent,Ee.ChoiceYesNoReadOnlyComponent,he.ChipsComponent,Qe.SimpleChipComponent,be.CarretPositionDirective,Ce.LocalizedNumDirective,Be.WarningComponent,ke.ClickOutsideDirective,Ie.ResizeDirective,A.EditorComponent,l.FocusDirective,c.TreeComponent,G.SplitButtonComponent,R.LoaderWrapperComponent,d.StatusComponent,p.SelectorComponent,f.InfiniteScrollerDirective,M.InfiniteScrollerOnElementDirective,u.VideoPlayerComponent,m.ImageComponent,g.DocumentComponent,E.ThumbnailComponent,C.BolderTextPipe,Q.HtmlEscapePipe,h.StickyDirective,L.TextOverflowDirective,X.NumberOverflowDirective,b.TooltipPositionDirective,B.RelatedDataComponent,o.FileSizePipe,$.ExtensionPipe,i.SecondsToTimePipe,r.BreadcrumbPipe,D.SanitizerPipe,k.LoadMoreComponent,I.RelatedDataReadonlyComponent,H.RelatedDataGridComponent,S.ReorderComponent,v.DateTimePickerComponent,y.DateTimePickerReadOnlyComponent,_.TextAreaComponent,x.EditorReadonlyComponent,K.EditorGridComponent,N.ReadComponent,F.ContentSectionMenuComponent,U.HiddenComponent,z.ClickNotificationComponent,j.SwitchWrapperComponent,W.TrimTextLengthPipe,ee.StickyHeadingDirective,te.StickyComponent,ne.CardComponent,oe.ZoneSplitterComponent,he.ChipsComponent,Qe.SimpleChipComponent,we.PopupComponent,_e.ChoiceListMultipleComponent,xe.ChoiceListComponent,ye.ChoiceChipComponent,Me.RespondToVisibility,De.InsertBodyComponent],imports:[q.SitefinityComponentsModule,a.CommonModule,s.FormsModule,s.ReactiveFormsModule,w.DateInputsModule,ie.SplitterModule,ve.TreeModule,Ne.PipesModule],exports:[ye.ChoiceChipComponent,_e.ChoiceListMultipleComponent,xe.ChoiceListComponent,we.PopupComponent,re.ShortTextComponent,ae.ShortTextGridComponent,se.ShortTextDefaultComponent,Ae.NumberComponent,le.NumberReadOnlyComponent,ce.ChoiceComponent,de.ChoiceReadOnlyComponent,pe.ChoiceDropdownComponent,fe.ChoiceDropdownListComponent,ue.ChoiceMultipleComponent,me.ChoiceMultipleReadOnlyComponent,ge.ChoiceYesNoComponent,Ee.ChoiceYesNoReadOnlyComponent,he.ChipsComponent,be.CarretPositionDirective,Ce.LocalizedNumDirective,Be.WarningComponent,ke.ClickOutsideDirective,Ie.ResizeDirective,A.EditorComponent,c.TreeComponent,G.SplitButtonComponent,l.FocusDirective,R.LoaderWrapperComponent,d.StatusComponent,p.SelectorComponent,f.InfiniteScrollerDirective,M.InfiniteScrollerOnElementDirective,u.VideoPlayerComponent,m.ImageComponent,g.DocumentComponent,E.ThumbnailComponent,C.BolderTextPipe,Q.HtmlEscapePipe,h.StickyDirective,L.TextOverflowDirective,X.NumberOverflowDirective,b.TooltipPositionDirective,B.RelatedDataComponent,o.FileSizePipe,D.SanitizerPipe,$.ExtensionPipe,k.LoadMoreComponent,I.RelatedDataReadonlyComponent,H.RelatedDataGridComponent,S.ReorderComponent,v.DateTimePickerComponent,y.DateTimePickerReadOnlyComponent,_.TextAreaComponent,x.EditorReadonlyComponent,K.EditorGridComponent,F.ContentSectionMenuComponent,U.HiddenComponent,z.ClickNotificationComponent,j.SwitchWrapperComponent,W.TrimTextLengthPipe,q.SitefinityComponentsModule,ee.StickyHeadingDirective,te.StickyComponent,ne.CardComponent,oe.ZoneSplitterComponent,Me.RespondToVisibility,De.InsertBodyComponent,Qe.SimpleChipComponent]}),Oe["ɵɵsetComponentScope"](le.NumberReadOnlyComponent,[a.NgIf,X.NumberOverflowDirective,Ce.LocalizedNumDirective,Pe.SfUnitDirective],[]),Oe["ɵɵsetComponentScope"](he.ChipsComponent,[a.NgClass,a.NgIf,a.NgForOf,a.NgTemplateOutlet,Pe.SfBadgeComponent,Pe.SfTrackFocusDirective,we.PopupComponent,c.TreeComponent,Pe.SfButtonComponent,Pe.SfTextDirectionDirective,be.CarretPositionDirective],[]),Oe["ɵɵsetComponentScope"](c.TreeComponent,[a.NgIf,Ie.ResizeDirective,a.NgTemplateOutlet,ve.TreeComponent,Pe.SfLoaderComponent,a.NgForOf,a.NgClass,d.StatusComponent,Pe.SfIconComponent,Pe.SfDynamicComponentLoaderComponent],[Q.HtmlEscapePipe,C.BolderTextPipe,a.LowerCasePipe,r.BreadcrumbPipe,D.SanitizerPipe]),Oe["ɵɵsetComponentScope"](p.SelectorComponent,[te.StickyComponent,a.NgClass,ee.StickyHeadingDirective,a.NgTemplateOutlet,a.NgIf,Pe.SfNotificationComponent,Pe.SfDynamicComponentLoaderComponent,Pe.SfTabsComponent,Pe.SfTabDirective,Pe.SfSearchComponent,c.TreeComponent,Pe.SfIconComponent,f.InfiniteScrollerDirective,he.ChipsComponent],[]),Oe["ɵɵsetComponentScope"](u.VideoPlayerComponent,[a.NgIf,m.ImageComponent,a.NgClass,Pe.SfIconComponent],[i.SecondsToTimePipe]),Oe["ɵɵsetComponentScope"](g.DocumentComponent,[a.NgIf,Pe.SfIconComponent,s.NgControlStatusGroup,s.FormGroupDirective,Pe.SfInputComponent,s.NgControlStatus,s.FormControlName,s.NgModel,a.NgClass,d.StatusComponent],[a.UpperCasePipe,o.FileSizePipe]),Oe["ɵɵsetComponentScope"](B.RelatedDataComponent,[c.TreeComponent,Pe.SfTrackFocusDirective,a.NgIf,k.LoadMoreComponent,s.DefaultValueAccessor,s.NgControlStatus,s.NgModel,we.PopupComponent,Pe.SfButtonComponent],[a.AsyncPipe]),Oe["ɵɵsetComponentScope"](I.RelatedDataReadonlyComponent,[c.TreeComponent],[]),Oe["ɵɵsetComponentScope"](S.ReorderComponent,[f.InfiniteScrollerDirective,te.StickyComponent,a.NgIf,c.TreeComponent,Pe.SfLoaderComponent],[]),Oe["ɵɵsetComponentScope"](y.DateTimePickerReadOnlyComponent,[a.NgIf],[Ue.RelativeDatePipe]),Oe["ɵɵsetComponentScope"](he.ChipsComponent,[a.NgClass,a.NgIf,a.NgForOf,a.NgTemplateOutlet,Pe.SfBadgeComponent,Pe.SfTrackFocusDirective,we.PopupComponent,c.TreeComponent,Pe.SfButtonComponent,Pe.SfTextDirectionDirective,be.CarretPositionDirective],[]),Oe["ɵɵsetComponentScope"](_e.ChoiceListMultipleComponent,[a.NgIf,ue.ChoiceMultipleComponent],[]),Oe["ɵɵsetComponentScope"](xe.ChoiceListComponent,[a.NgIf,ce.ChoiceComponent,ge.ChoiceYesNoComponent,s.NgControlStatus,s.NgModel,Be.WarningComponent],[a.LowerCasePipe]),Oe["ɵɵsetComponentScope"](ye.ChoiceChipComponent,[a.NgIf,ce.ChoiceComponent,pe.ChoiceDropdownComponent],[])},function(e,t,n){"use strict";n.r(t),n.d(t,"FileSizePipe",(function(){return i}));var o=n(229),i=function(){function FileSizePipe(){}return FileSizePipe.prototype.transform=function(e){if(0===e)return"0 Bytes";var t=Math.floor(Math.log(e)/Math.log(1024)),n=e/Math.pow(1024,t);return parseFloat(n.toFixed(2))+" "+["Bytes","KB","MB","GB","TB"][t]},FileSizePipe.ɵfac=function FileSizePipe_Factory(e){return new(e||FileSizePipe)},FileSizePipe.ɵpipe=o["ɵɵdefinePipe"]({name:"sfFileSize",type:FileSizePipe,pure:!0}),FileSizePipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TIME_PARTS",(function(){return r})),n.d(t,"SecondsToTimePipe",(function(){return A}));var o=n(246),i=n(229),r={day:86400,hour:3600,minute:60,second:1},a=String(0),s=o.stringConstants.COLON,A=function(){function SecondsToTimePipe(){}return SecondsToTimePipe.prototype.transform=function(e){if(e===1/0||isNaN(e))return o.stringConstants.EMPTY_STRING;o.stringConstants.EMPTY_STRING;var t=[],n=0;return Object.keys(r).forEach((function(i){if(0!==(n=Math.floor(e/r[i]))||0!==t.length){var s=n<10&&(t.length>0||"second"===i)?a:o.stringConstants.EMPTY_STRING;t.push(s+n.toString()),e-=r[i]*n}})),1===t.length&&t.unshift(a),t.join(s)},SecondsToTimePipe.ɵfac=function SecondsToTimePipe_Factory(e){return new(e||SecondsToTimePipe)},SecondsToTimePipe.ɵpipe=i["ɵɵdefinePipe"]({name:"sfSecondsToTime",type:SecondsToTimePipe,pure:!0}),SecondsToTimePipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ARROW_HTML_TEMPLATE",(function(){return a})),n.d(t,"ON_TOP_LEVEL",(function(){return s})),n.d(t,"BreadcrumbPipe",(function(){return A}));var o=n(246),i=n(1101),r=n(229),a='',s="On top level",A=function(){function BreadcrumbPipe(e){this.htmlEscape=e}return BreadcrumbPipe.prototype.transform=function(e,t,n,i){if(void 0===t&&(t=!1),void 0===n&&(n=!1),void 0===i&&(i=!1),!e)return"";var r=i?o.stringConstants.EMPTY_STRING:"Under ",a=this.escapeAndUnifyBreadcrumb(e);return 0===e.length?s:n?this.directParentBreadcrumb(a,r):t?this.toHtml(a,r):this.fullBreadcrumb(a," > ",r)},BreadcrumbPipe.prototype.toHtml=function(e,t){return e.length>2?this.shortenedBreadcrumb(e,a,t):this.fullBreadcrumb(e,a,t)},BreadcrumbPipe.prototype.escapeAndUnifyBreadcrumb=function(e){var t=this;return e.map((function(e){return e.Title?t.htmlEscape.transform(e.Title):t.htmlEscape.transform(e)}))},BreadcrumbPipe.prototype.shortenedBreadcrumb=function(e,t,n){return""+n+e[0]+t+"..."+t+e[e.length-1]},BreadcrumbPipe.prototype.fullBreadcrumb=function(e,t,n){return""+n+e.slice().toString().replace(/,/g,t)},BreadcrumbPipe.prototype.directParentBreadcrumb=function(e,t){return""+t+e[e.length-1]},BreadcrumbPipe.ɵfac=function BreadcrumbPipe_Factory(e){return new(e||BreadcrumbPipe)(r["ɵɵdirectiveInject"](i.HtmlEscapePipe))},BreadcrumbPipe.ɵpipe=r["ɵɵdefinePipe"]({name:"sfBreadcrumb",type:BreadcrumbPipe,pure:!0}),BreadcrumbPipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"HtmlEscapePipe",(function(){return i}));var o=n(229),i=function(){function HtmlEscapePipe(){this.element=document.createElement("span")}return HtmlEscapePipe.prototype.transform=function(e){var t,n=this;return Array.isArray(e)?(t=new Array,e.forEach((function(e){n.element.textContent=e,t.push(n.element.innerHTML)}))):(this.element.textContent=e,t=this.element.innerHTML),t},HtmlEscapePipe.ɵfac=function HtmlEscapePipe_Factory(e){return new(e||HtmlEscapePipe)},HtmlEscapePipe.ɵpipe=o["ɵɵdefinePipe"]({name:"sfHtmlEscape",type:HtmlEscapePipe,pure:!0}),HtmlEscapePipe.ɵprov=o["ɵɵdefineInjectable"]({token:HtmlEscapePipe,factory:HtmlEscapePipe.ɵfac}),HtmlEscapePipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FocusDirective",(function(){return i}));var o=n(229),i=function(){function FocusDirective(e){this.element=e}return FocusDirective.prototype.ngAfterViewInit=function(){var e=this;setTimeout((function(){e.element.nativeElement.focus(),e.element.nativeElement.setSelectionRange(0,0)}),0)},FocusDirective.ɵfac=function FocusDirective_Factory(e){return new(e||FocusDirective)(o["ɵɵdirectiveInject"](o.ElementRef))},FocusDirective.ɵdir=o["ɵɵdefineDirective"]({type:FocusDirective,selectors:[["","sfFocus",""]]}),FocusDirective}()},function(e,t,n){"use strict";n.r(t),n.d(t,"StatusComponent",(function(){return c}));var o=n(229),i=n(1104),r=n(246),a=n(266),s=n(260),A=n(261),l=n(1100);function StatusComponent_p_0_span_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span"),o["ɵɵtext"](1),o["ɵɵpipe"](2,"sfBreadcrumb"),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"](2);o["ɵɵadvance"](1),o["ɵɵtextInterpolate1"](" | ",o["ɵɵpipeBind1"](2,1,n.breadcrumbInStatus),"")}}function StatusComponent_p_0_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"p"),o["ɵɵtext"](1),o["ɵɵtemplate"](2,StatusComponent_p_0_span_2_Template,3,3,"span",0),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵattribute"]("class",n.statusCssClassList),o["ɵɵadvance"](1),o["ɵɵtextInterpolate1"]("",n.uiStatus," "),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.showBreadcrumbInStatus)}}function StatusComponent_i_1_Template(e,t){if(1&e&&o["ɵɵelement"](0,"i",2),2&e){var n=o["ɵɵnextContext"]();o["ɵɵproperty"]("title",n.uiStatus),o["ɵɵattribute"]("class",n.statusCssClassList)}}var c=function(){function StatusComponent(e,t,n){this.statusResolvers=e,this.route=t,this.differs=n}return StatusComponent.prototype.ngOnInit=function(){this.differ=this.differs.find({}).create(),this.statusCssClassList=this.generateCssClassList(),this.showBreadcrumbInStatus&&(this.breadcrumbInStatus=this.dataItem.data[a.Properties.BREADCRUMB])},StatusComponent.prototype.ngDoCheck=function(){if(this.differ.diff(this.dataItem.data)){for(var e={Label:null,StatusName:null},t=0,n=this.statusResolvers;t-1)return this.format(t,r);var c=t===RelativeDatePipe.AUTO_DETAILED;if(c){if(l<6e4)return"Just now";if(l<36e5){var d=Math.round(Math.abs(A-s)/6e4);return r.setMinutes(d),this.format(RelativeDatePipe.MINUTES,r)}if(l<864e5){var p=Math.round(Math.abs(A-s)/36e5);return r.setHours(p),this.format(RelativeDatePipe.HOURS,r)}}if(l<=864e5&&r.getDate()===a.getDate())return"Today";var f=new Date(r.valueOf());if(f.setDate(f.getDate()+1),l<=1728e5&&f.getDate()===a.getDate())return"Yesterday";if(r.getFullYear()===a.getFullYear()&&c)return this.format(RelativeDatePipe.DATE_WITHOUT_YEAR,r);var u=c?RelativeDatePipe.DEFAULT_DETAILED:RelativeDatePipe.FULL_DATE_SHORT_MONTH;return this.format(u,r)},RelativeDatePipe.prototype.format=function(e,t){var n=this.tryApplyKnownDateFormatting(e,t);if(null!=n)return n;if(e===RelativeDatePipe.HOURS){var o=t.getHours().toLocaleString(RelativeDatePipe.LOCALE);return 1===t.getHours()?o+" hour ago":o+" hours ago"}if(e===RelativeDatePipe.MINUTES){var i=t.getMinutes().toLocaleString(RelativeDatePipe.LOCALE);return 1===t.getMinutes()?i+" minute ago":i+" minutes ago"}},RelativeDatePipe.prototype.tryApplyKnownDateFormatting=function(e,t){var n=RelativeDatePipe.PREDEFINED_FORMATS.get(e);return n?n.replace(new RegExp("{(.*?)}","g"),(function(e,n){var o=RelativeDatePipe.DATE_TIME_FORMATS.get(n);return new Intl.DateTimeFormat(RelativeDatePipe.LOCALE,o).format(t)})):null},RelativeDatePipe.PREDEFINED_FORMATS=(new Map).set(RelativeDatePipe.FULL_DATE,"on {full-date-long-month} at {time}").set(RelativeDatePipe.FULL_DATE_WEEKDAY,"{full-date-weekday} at {time}").set(RelativeDatePipe.DATE_WITHOUT_YEAR,"on {date-without-year}").set(RelativeDatePipe.FULL_DATE_SHORT_MONTH,"{full-date-short-month}").set(RelativeDatePipe.FULL_DATE_SHORT_MONTH_AND_TIME,"{full-date-short-month-and-time}").set(RelativeDatePipe.DEFAULT_DETAILED,"on {full-date-short-month}").set(RelativeDatePipe.MONTH_AND_YEAR,"{month-and-year}").set(RelativeDatePipe.TIME,"{time}"),RelativeDatePipe.DATE_TIME_FORMATS=(new Map).set(RelativeDatePipe.FULL_DATE,{year:"numeric",month:"long",day:"numeric"}).set(RelativeDatePipe.FULL_DATE_WEEKDAY,{year:"numeric",month:"long",day:"numeric",weekday:"long"}).set(RelativeDatePipe.DATE_WITHOUT_YEAR,{month:"long",day:"numeric"}).set(RelativeDatePipe.FULL_DATE_SHORT_MONTH,{year:"numeric",month:"short",day:"numeric"}).set(RelativeDatePipe.FULL_DATE_SHORT_MONTH_AND_TIME,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"}).set(RelativeDatePipe.MONTH_AND_YEAR,{year:"numeric",month:"short"}).set(RelativeDatePipe.TIME,{hour:"numeric",minute:"numeric"}),RelativeDatePipe.ɵfac=function RelativeDatePipe_Factory(e){return new(e||RelativeDatePipe)},RelativeDatePipe.ɵpipe=r["ɵɵdefinePipe"]({name:"sfRelativeDate",type:RelativeDatePipe,pure:!0}),RelativeDatePipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"LowerFirstLetterPipe",(function(){return r}));var o=n(246),i=n(229),r=function(){function LowerFirstLetterPipe(){}return LowerFirstLetterPipe.prototype.transform=function(e){for(var t=[],n=1;n0)),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](o.selected.length)}}var _c4=function(e){return{stickyToolbar:e}};function SelectorComponent_ng_template_3_Template(e,t){if(1&e&&(a["ɵɵtemplate"](0,SelectorComponent_ng_template_3_0_Template,1,0,void 0,12),a["ɵɵtemplate"](1,SelectorComponent_ng_template_3_div_1_Template,5,4,"div",13)),2&e){var n=a["ɵɵnextContext"](),o=a["ɵɵreference"](12),i=a["ɵɵreference"](2);a["ɵɵproperty"]("ngTemplateOutlet",n.titleTemplate||o)("ngTemplateOutletContext",a["ɵɵpureFunction1"](3,_c4,i)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.mainTreeConfig.multiSelection&&i.isSticky)}}function SelectorComponent_sf_notification_4_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"sf-notification",17),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵproperty"]("look",n.notificationLook),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.notificationText)}}function SelectorComponent_5_ng_template_0_Template(e,t){}function SelectorComponent_5_Template(e,t){1&e&&a["ɵɵtemplate"](0,SelectorComponent_5_ng_template_0_Template,0,0,"ng-template")}function SelectorComponent_ng_container_6_sf_component_loader_2_Template(e,t){if(1&e&&a["ɵɵelement"](0,"sf-component-loader",20),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵproperty"]("componentData",n.allItemsTabComponentData)}}function SelectorComponent_ng_container_6_ng_container_3_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}function SelectorComponent_ng_container_6_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelementStart"](1,"div",18),a["ɵɵtemplate"](2,SelectorComponent_ng_container_6_sf_component_loader_2_Template,1,1,"sf-component-loader",19),a["ɵɵelementEnd"](),a["ɵɵtemplate"](3,SelectorComponent_ng_container_6_ng_container_3_Template,1,0,"ng-container",5),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"](),o=a["ɵɵreference"](10);a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",n.allItemsTabComponentData&&n.allItemsTabComponentData.type),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngTemplateOutlet",o)}}function SelectorComponent_ng_template_7_ng_template_2_ng_container_0_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}function SelectorComponent_ng_template_7_ng_template_2_Template(e,t){if(1&e&&a["ɵɵtemplate"](0,SelectorComponent_ng_template_7_ng_template_2_ng_container_0_Template,1,0,"ng-container",5),2&e){a["ɵɵnextContext"](2);var n=a["ɵɵreference"](10);a["ɵɵproperty"]("ngTemplateOutlet",n)}}function SelectorComponent_ng_template_7_4_ng_template_0_sf_search_0_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-search",28),a["ɵɵlistener"]("searchValueChange",(function SelectorComponent_ng_template_7_4_ng_template_0_sf_search_0_Template_sf_search_searchValueChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](4).selectedSearchTerm=e}))("searchValueChange",(function SelectorComponent_ng_template_7_4_ng_template_0_sf_search_0_Template_sf_search_searchValueChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](4).onSearchSelected(e)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](4);a["ɵɵproperty"]("searchValue",o.selectedSearchTerm)("clearable",!0)}}function SelectorComponent_ng_template_7_4_ng_template_0_sf_tree_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-tree",29,30),a["ɵɵlistener"]("removeNode",(function SelectorComponent_ng_template_7_4_ng_template_0_sf_tree_1_Template_sf_tree_removeNode_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](4).onRemoveNode(e)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](4);a["ɵɵpropertyInterpolate"]("displayField",o.defaultField),a["ɵɵproperty"]("nodes",o.selected)("config",o.selectedTreeConfig)("textToMatch",o.selectedSearchTerm)}}function SelectorComponent_ng_template_7_4_ng_template_0_div_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div"),a["ɵɵelement"](1,"sf-icon",31),a["ɵɵelementStart"](2,"p",32),a["ɵɵtext"](3),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](4);a["ɵɵadvance"](3),a["ɵɵtextInterpolate1"]("Selected ",n.typeNames?n.typeNames.plural:"items"," will appear here")}}function SelectorComponent_ng_template_7_4_ng_template_0_Template(e,t){if(1&e&&(a["ɵɵtemplate"](0,SelectorComponent_ng_template_7_4_ng_template_0_sf_search_0_Template,1,2,"sf-search",26),a["ɵɵtemplate"](1,SelectorComponent_ng_template_7_4_ng_template_0_sf_tree_1_Template,2,4,"sf-tree",27),a["ɵɵtemplate"](2,SelectorComponent_ng_template_7_4_ng_template_0_div_2_Template,4,1,"div",24)),2&e){var n=a["ɵɵnextContext"](3);a["ɵɵproperty"]("ngIf",n.selected.length>=10),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.selected.length>0),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!n.selected.length)}}function SelectorComponent_ng_template_7_4_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵtemplate"](0,SelectorComponent_ng_template_7_4_ng_template_0_Template,3,3,"ng-template",25),a["ɵɵlistener"]("tabClick",(function SelectorComponent_ng_template_7_4_Template_ng_template_tabClick_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onSecondTabClicked(e)}))}if(2&e){var o=a["ɵɵnextContext"](2);a["ɵɵproperty"]("count",o.selected.length)}}function SelectorComponent_ng_template_7_5_ng_template_0_Template(e,t){if(1&e&&a["ɵɵelement"](0,"sf-component-loader",20),2&e){var n=a["ɵɵnextContext"](3);a["ɵɵproperty"]("componentData",n.config.customTabConfig.componentData)}}function SelectorComponent_ng_template_7_5_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵtemplate"](0,SelectorComponent_ng_template_7_5_ng_template_0_Template,1,1,"ng-template",33),a["ɵɵlistener"]("tabClick",(function SelectorComponent_ng_template_7_5_Template_ng_template_tabClick_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onTabClicked(e)}))}if(2&e){var o=a["ɵɵnextContext"](2);a["ɵɵpropertyInterpolate"]("name",o.config.customTabConfig.name),a["ɵɵpropertyInterpolate"]("title",o.config.customTabConfig.title)}}function SelectorComponent_ng_template_7_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-tabs",21,22),a["ɵɵtemplate"](2,SelectorComponent_ng_template_7_ng_template_2_Template,1,1,"ng-template",23),a["ɵɵlistener"]("tabClick",(function SelectorComponent_ng_template_7_Template_ng_template_tabClick_2_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onTabClicked(e)})),a["ɵɵtext"](3),a["ɵɵtemplate"](4,SelectorComponent_ng_template_7_4_Template,1,1,void 0,24),a["ɵɵtemplate"](5,SelectorComponent_ng_template_7_5_Template,1,2,void 0,24),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](),i=a["ɵɵreference"](2);a["ɵɵproperty"]("tabsLook",i&&!i.isSticky?"sf-mt-m sf-mb-m large":"sf-mt-m sf-mb-m large sf-invisible")("initialTabName",o.initialTabName),a["ɵɵadvance"](2),a["ɵɵpropertyInterpolate"]("title",o.title),a["ɵɵproperty"]("componentData",o.allItemsTabComponentData)("look",o.allItemsTabLook),a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",o.defaultField," "),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.mainTreeConfig.multiSelection),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.hasCustomTab)}}function SelectorComponent_ng_template_9_1_ng_template_0_Template(e,t){}function SelectorComponent_ng_template_9_1_Template(e,t){1&e&&a["ɵɵtemplate"](0,SelectorComponent_ng_template_9_1_ng_template_0_Template,0,0,"ng-template")}function SelectorComponent_ng_template_9_div_5_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div"),a["ɵɵelement"](1,"sf-icon",38),a["ɵɵelementStart"](2,"p",39),a["ɵɵtext"](3),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵproperty"]("name",n.emptyIcon),a["ɵɵadvance"](2),a["ɵɵtextInterpolate"](n.search?n.noItemsFoundLabel:n.noItemsCreatedLabel)}}function SelectorComponent_ng_template_9_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"div",34),a["ɵɵlistener"]("scrolledToBottom",(function SelectorComponent_ng_template_9_Template_div_scrolledToBottom_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().requestMoreItems()})),a["ɵɵtemplate"](1,SelectorComponent_ng_template_9_1_Template,1,0,void 0,5),a["ɵɵelementStart"](2,"sf-search",35),a["ɵɵlistener"]("searchValueChange",(function SelectorComponent_ng_template_9_Template_sf_search_searchValueChange_2_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().allSearchTerm=e}))("searchValueChange",(function SelectorComponent_ng_template_9_Template_sf_search_searchValueChange_2_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onRequestItems(e)}))("onClear",(function SelectorComponent_ng_template_9_Template_sf_search_onClear_2_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onRequestItems(e)})),a["ɵɵelementEnd"](),a["ɵɵelementStart"](3,"sf-tree",36,37),a["ɵɵlistener"]("treeNodeClicked",(function SelectorComponent_ng_template_9_Template_sf_tree_treeNodeClicked_3_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onNewItemSelected(e)}))("initialized",(function SelectorComponent_ng_template_9_Template_sf_tree_initialized_3_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().expandSelectedItems()}))("dataUpdate",(function SelectorComponent_ng_template_9_Template_sf_tree_dataUpdate_3_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().expandSelectedItems()})),a["ɵɵelementEnd"](),a["ɵɵtemplate"](5,SelectorComponent_ng_template_9_div_5_Template,4,2,"div",24),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](),i=a["ɵɵreference"](16);a["ɵɵadvance"](1),a["ɵɵproperty"]("ngTemplateOutlet",i),a["ɵɵadvance"](1),a["ɵɵproperty"]("searchValue",o.allSearchTerm)("clearable",!0),a["ɵɵadvance"](1),a["ɵɵpropertyInterpolate"]("displayField",o.defaultField),a["ɵɵproperty"]("config",o.mainTreeConfig)("itemTemplate",o.itemTemplate)("loadChildren",o.loadChildNodes)("nodes",o.value)("textToMatch",o.allSearchTerm)("look",o.value.length?null:"no-separators"),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",!(o.value.length||o.isTreeLoading||null!=o.tree&&o.tree.isLoadingMore))}}var _c5=function(e){return{"h3 -sf-ml-3xl":e}};function SelectorComponent_ng_template_11_h1_0_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"h1",1),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().stickyToolbar,o=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](3,_c5,n.isSticky)),a["ɵɵadvance"](1),a["ɵɵtextInterpolate2"]("",o.selectionText," ",o.formattedTypeName,"")}}function SelectorComponent_ng_template_11_Template(e,t){if(1&e&&a["ɵɵtemplate"](0,SelectorComponent_ng_template_11_h1_0_Template,2,5,"h1",40),2&e){var n=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngIf",n.formattedTypeName||n.config&&n.config.selectionText)}}function SelectorComponent_ng_template_13_div_0_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",42),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.description)}}function SelectorComponent_ng_template_13_Template(e,t){if(1&e&&a["ɵɵtemplate"](0,SelectorComponent_ng_template_13_div_0_Template,2,1,"div",41),2&e){var n=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngIf",n.description)}}function SelectorComponent_ng_template_15_div_0_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"div",44),a["ɵɵelementStart"](1,"div",45),a["ɵɵelementStart"](2,"label",46),a["ɵɵtext"](3),a["ɵɵelementEnd"](),a["ɵɵelementStart"](4,"div",47),a["ɵɵelementStart"](5,"sf-chips",48),a["ɵɵlistener"]("selectChip",(function SelectorComponent_ng_template_15_div_0_Template_sf_chips_selectChip_5_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onFilterChanged(e)})),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](2);a["ɵɵadvance"](3),a["ɵɵtextInterpolate1"](" ",o.selectorFilterConfig.filterLabel," "),a["ɵɵadvance"](2),a["ɵɵproperty"]("displayField",o.selectorFilterConfig.defaultField)("config",o.selectorFilterConfig.filterChipsConfig)("isSingleSelection",!0)("selectedChips",o.selectorFilterConfig.selectedFilterItems)("dropdownChips",o.selectorFilterConfig.filterItems)}}function SelectorComponent_ng_template_15_Template(e,t){if(1&e&&a["ɵɵtemplate"](0,SelectorComponent_ng_template_15_div_0_Template,6,6,"div",43),2&e){var n=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngIf",n.selectorFilterConfig)}}var _c6=function(e){return{"-sf-hidden":e}},E="selected",h=300,b="allItems",C=function(e){function SelectorComponent(t){var n=e.call(this)||this;return n.scrollService=t,n.value=[],n.allItemsTabType=null,n.treeConfig={},n.newItemSelected=new a.EventEmitter,n.urlPropertyName="FullUrl",n.expandPathPair={key:"Breadcrumb",value:"Title"},n.hasStickyBuffer=!0,n.isParentSelection=!1,n.formattedTypeName=c.stringConstants.EMPTY_STRING,n.providerChanged=new a.EventEmitter,n.tabChange=new a.EventEmitter,n.initialTabName=null,n.selectionText="Select",n.allItemsTabComponentData={type:n.allItemsTabType,properties:{}},n.mainTreeConfig={},n.selectedTab=c.stringConstants.EMPTY_STRING,n.emptyIcon="search",n.hideSticky=!1,n.value$=new i.ReplaySubject(1),n.isTreeInitialized=!1,n.search$=new i.Subject,n.shouldLoadMore=!0,n.alreadyExpandedNodes=[],n.withIndefiniteArticle=!0,n.isTreeLoading=!1,n._selected=[],n.isCurrentlyExpanding=!1,n.loadChildNodes=function(e,t){if(void 0===t&&(t=!1),n.alreadyExpandedNodes.indexOf(e.data.Id)>-1&&!t)return Promise.resolve();n.alreadyExpandedNodes.push(e.data.Id),Array.isArray(e.data.children)&&n.removeLoadMoreItem(e.data.children);var o=e.data.children?e.data.children.length:0,i={parentId:e.data.Id,skip:o,targetDataItem:n.targetDataItem};return n.serviceAware.expand(i).then((function(o){var i=[];Array.isArray(e.data.children)&&(i=e.data.children);var r=i,a=0;return Array.isArray(o)?r=r.concat(o):(r=r.concat(o.dataItems),a=o.totalCount),e.data.hasChildren=0!==r.length,e.data.children=r,a>e.data.children.length&&n.addLoadMoreItem(e.data.children.length,e.data.children),t&&n.tree.updateTreeModel(),r}))},n}return Object(o.__extends)(SelectorComponent,e),Object.defineProperty(SelectorComponent.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e,this.expandSelectedItems()},enumerable:!1,configurable:!0}),Object.defineProperty(SelectorComponent.prototype,"loading",{set:function(e){this.isTreeLoading=e,this.tree&&(this.tree.isLoadingMore=e)},enumerable:!1,configurable:!0}),Object.defineProperty(SelectorComponent.prototype,"allItemsTabTypePropertyValues",{get:function(){return this._allItemsTabTypePropertyValues},set:function(e){var t=this;this._allItemsTabTypePropertyValues=e,this.allItemsTabComponentData={type:this.allItemsTabType,properties:this.allItemsTabTypePropertyValues,afterComponentInit:function(e){e.onChange.subscribe((function(e){e!==t.allItemsTabValue&&(t.allItemsTabValue=e.tabValue,t.shouldLoadMore=!0,t.value=[],t.requestDataOnFirstLoad=!0,t.providerChanged.emit(e.tabValue))}))}}},enumerable:!1,configurable:!0}),SelectorComponent.prototype.ngOnInit=function(){var e,t,n=this;this.mainTreeConfig=Object(A.cloneObject)(this.treeConfig),this.isParentSelection&&(this.selectionText="Select parent",this.withIndefiniteArticle=!1),this.formattedTypeName||(this.formattedTypeName=Object(A.getFormattedTypeName)(this.typeNames,this.mainTreeConfig.multiSelection,this.withIndefiniteArticle)),this.title=this.mainTreeConfig.multiSelection?"All "+this.typeNames.plural:c.stringConstants.EMPTY_STRING,this.config&&(this.selectionText=this.config.selectionText,this.formattedTypeName=this.config.formattedTypeName,this.config.mainTabConfig&&(this.title=this.config.mainTabConfig.title)),this.shouldLoadMore=this.checkShouldLoadMore(),this.registerSubscription(this.search$.pipe(Object(r.debounceTime)(h),Object(r.switchMap)((function(e){return Object(i.forkJoin)(n.serviceAware.loadMore({skip:0,searchText:e,allItemsTabValue:n.allItemsTabValue,filterValue:n.getFilterValue()}),Object(i.of)(e))}))).subscribe((function(e){var t=e[0],o=e[1];n.searchTreeConfig?n.mainTreeConfig=o?n.searchTreeConfig:Object(A.cloneObject)(n.treeConfig):(n.mainTreeConfig.showBreadcrumb=!!o,n.mainTreeConfig.isHierarchical=!o.length),n.tree&&(n.tree.isLoadingMore=!1,n.tree.tree.treeModel.expandedNodeIds={},n.alreadyExpandedNodes=[]);var i=t;i&&!Array.isArray(i)&&(i=t.dataItems),n.value=i||[],n.totalItemsCount=t&&t.totalCount?t.totalCount:0,n.shouldLoadMore=n.checkShouldLoadMore(),n.tree&&n.tree.updateTreeModel()}))),this.registerSubscription(this.value$.subscribe((function(e){n.isTreeLoading&&(n.value=e.dataItems,null!=e.totalCount&&(n.totalItemsCount=e.totalCount),n.loading=!1)}))),this.selectedTreeConfig={deletion:!0,status:this.mainTreeConfig?this.mainTreeConfig.status:null,noSelection:!0,showBreadcrumb:!0,customComponentOriginatingFeature:null===(e=this.mainTreeConfig)||void 0===e?void 0:e.customComponentOriginatingFeature,customComponentEntitySet:null===(t=this.mainTreeConfig)||void 0===t?void 0:t.customComponentEntitySet},this.config&&this.config.customTabConfig&&this.config.customTabConfig.componentData&&(this.hasCustomTab=!0),this.noItemsCreatedLabel||(this.noItemsCreatedLabel="No "+(this.typeNames?this.typeNames.plural:"items")+" found"),this.noItemsFoundLabel="No "+(this.typeNames?this.typeNames.plural:"items")+" found"},SelectorComponent.prototype.checkShouldLoadMore=function(){return this.value.length=0&&e.splice(t,1)},SelectorComponent.prototype.addLoadMoreItem=function(e,t){var n={Title:"Load more",Id:"loadMoreItem",action:"loadMoreChildItems",isSelectionDisabled:!0,isLink:!0,icon:"repeat",iconLook:"size-xs color-inherit"};t.splice(e,0,n)},SelectorComponent.prototype.getFilterValue=function(){return this.selectorFilterConfig&&this.selectorFilterConfig.selectedFilterItems&&this.selectorFilterConfig.selectedFilterItems[0]?this.selectorFilterConfig.selectedFilterItems[0]:null},SelectorComponent.ɵfac=function SelectorComponent_Factory(e){return new(e||SelectorComponent)(a["ɵɵdirectiveInject"](s.ScrollService))},SelectorComponent.ɵcmp=a["ɵɵdefineComponent"]({type:SelectorComponent,selectors:[["sf-show-all"]],viewQuery:function SelectorComponent_Query(e,t){if(1&e&&(a["ɵɵviewQuery"](u,1),a["ɵɵviewQuery"](m,1),a["ɵɵviewQuery"](g,1)),2&e){var n=void 0;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.tree=n.first),a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.selectedTree=n.first),a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.mainTabs=n.first)}},inputs:{value:"value",allItemsTabType:"allItemsTabType",totalItemsCount:"totalItemsCount",selected:"selected",serviceAware:"serviceAware",typeNames:"typeNames",treeConfig:"treeConfig",defaultField:"defaultField",keyField:"keyField",urlPropertyName:"urlPropertyName",expandPathPair:"expandPathPair",hasStickyBuffer:"hasStickyBuffer",searchTreeConfig:"searchTreeConfig",isParentSelection:"isParentSelection",formattedTypeName:"formattedTypeName",loading:"loading",targetDataItem:"targetDataItem",initialTabName:"initialTabName",config:"config",allItemsTabLook:"allItemsTabLook",allItemsTabTypePropertyValues:"allItemsTabTypePropertyValues",titleTemplate:"titleTemplate",descriptionTemplate:"descriptionTemplate",notificationText:"notificationText",notificationLook:"notificationLook",title:"title",description:"description",selectionText:"selectionText",itemTemplate:"itemTemplate",selectorFilterConfig:"selectorFilterConfig"},outputs:{newItemSelected:"newItemSelected",providerChanged:"providerChanged",tabChange:"tabChange"},features:[a["ɵɵInheritDefinitionFeature"]],decls:17,vars:7,consts:[[1,"sf-form","-medium","-sf-centered-box"],[3,"ngClass"],["stickyToolbar",""],["sfStickyHeading",""],[3,"look",4,"ngIf"],[4,"ngTemplateOutlet"],[4,"ngIf","ngIfElse"],["tabs",""],["selectionItems",""],["defaultTitleTemplate",""],["defaultDescriptionTemplate",""],["selectorFilterTemplate",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["class","sf-tabs",4,"ngIf"],[1,"sf-tabs"],[1,"sf-tabs__item","sf-link",3,"click"],["aria-live","polite",1,"sf-tabs__badge","sf-badge","-ellipse",3,"ngClass"],[3,"look"],[1,"-sf-mt-m","-sf-mb-m"],[3,"componentData",4,"ngIf"],[3,"componentData"],[3,"tabsLook","initialTabName"],["mainTabs",""],["sfTab","","name","all",3,"title","componentData","look","tabClick"],[4,"ngIf"],["sfTab","","name","selected","title","Selected",3,"count","tabClick"],["placeholderText","Narrow by typing ...","wrapperLook","fluid sf-mb-xs sf-txt-align-left","inputLook","sf-mb-zero",3,"searchValue","clearable","searchValueChange",4,"ngIf"],["look","flat",3,"nodes","config","textToMatch","displayField","removeNode",4,"ngIf"],["placeholderText","Narrow by typing ...","wrapperLook","fluid sf-mb-xs sf-txt-align-left","inputLook","sf-mb-zero",3,"searchValue","clearable","searchValueChange"],["look","flat",3,"nodes","config","textToMatch","displayField","removeNode"],["selectedTree",""],["name","check-square-o","look","illustrative sf-mt-2xl sf-mb-xl sf-mr-zero"],[1,"-sf-txt-hint"],["sfTab","",3,"name","title","tabClick"],["sfInfiniteScroll","",3,"scrolledToBottom"],["placeholderText","Narrow by typing ...","wrapperLook","fluid sf-mb-xs sf-txt-align-left","inputLook","sf-mb-zero",3,"searchValue","clearable","searchValueChange","onClear"],[3,"config","itemTemplate","loadChildren","nodes","textToMatch","displayField","look","treeNodeClicked","initialized","dataUpdate"],["mainTree",""],["look","illustrative sf-mt-7xl sf-mb-xl sf-mr-zero","data-sftest","selectorNoResultIcon",3,"name"],["data-sftest","selectorNoResultText",1,"-sf-txt-hint"],[3,"ngClass",4,"ngIf"],["class","-sf-txt-large -sf-mt-3xs",4,"ngIf"],[1,"-sf-txt-large","-sf-mt-3xs"],["class","-sf-txt-align-left",4,"ngIf"],[1,"-sf-txt-align-left"],[1,"sf-field"],[1,"sf-field__label"],[1,"sf-row","-align-items-center","-sf-mt-4xs"],["isLoading","false","look","justify-content-center",3,"displayField","config","isSingleSelection","selectedChips","dropdownChips","selectChip"]],template:function SelectorComponent_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",0),a["ɵɵelementStart"](1,"sf-sticky-component",1,2),a["ɵɵtemplate"](3,SelectorComponent_ng_template_3_Template,2,5,"ng-template",3),a["ɵɵelementEnd"](),a["ɵɵtemplate"](4,SelectorComponent_sf_notification_4_Template,2,2,"sf-notification",4),a["ɵɵtemplate"](5,SelectorComponent_5_Template,1,0,void 0,5),a["ɵɵtemplate"](6,SelectorComponent_ng_container_6_Template,4,2,"ng-container",6),a["ɵɵtemplate"](7,SelectorComponent_ng_template_7_Template,6,8,"ng-template",null,7,a["ɵɵtemplateRefExtractor"]),a["ɵɵelementEnd"](),a["ɵɵtemplate"](9,SelectorComponent_ng_template_9_Template,6,11,"ng-template",null,8,a["ɵɵtemplateRefExtractor"]),a["ɵɵtemplate"](11,SelectorComponent_ng_template_11_Template,1,1,"ng-template",null,9,a["ɵɵtemplateRefExtractor"]),a["ɵɵtemplate"](13,SelectorComponent_ng_template_13_Template,1,1,"ng-template",null,10,a["ɵɵtemplateRefExtractor"]),a["ɵɵtemplate"](15,SelectorComponent_ng_template_15_Template,1,1,"ng-template",null,11,a["ɵɵtemplateRefExtractor"])),2&e){var n=a["ɵɵreference"](8),o=a["ɵɵreference"](14);a["ɵɵadvance"](1),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](5,_c6,t.hideSticky)),a["ɵɵadvance"](3),a["ɵɵproperty"]("ngIf",t.notificationText),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngTemplateOutlet",t.descriptionTemplate||o),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!t.mainTreeConfig.multiSelection&&!t.hasCustomTab)("ngIfElse",n)}},encapsulation:2}),SelectorComponent}(d.RxBaseComponent),B=function(){function ServiceContract(e,t){this.loadFunc=e,this.expandFunc=t}return ServiceContract.prototype.loadMore=function(e){return this.loadFunc(e)},ServiceContract.prototype.expand=function(e){return this.expandFunc?this.expandFunc(e):Promise.reject("Not implemented!")},ServiceContract}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SCROLL_TO_BOTTOM_OFFSET",(function(){return r})),n.d(t,"REPORT_SCROLL_TIME",(function(){return a})),n.d(t,"SCROLL_EVENT",(function(){return s})),n.d(t,"InfiniteScrollerDirective",(function(){return A}));var o=n(229),i=n(244),r=200,a=1e3,s="scroll",A=function(){function InfiniteScrollerDirective(e){var t=this;this.window=e,this.scrolledToBottom=new o.EventEmitter,this.scrollOffset=r,this.previousScrollPosition=0,this.scrollEventListener=function(e){return t.onWindowScroll(e)},this.window.addEventListener(s,this.scrollEventListener)}return InfiniteScrollerDirective.prototype.ngOnDestroy=function(){this.window.removeEventListener(s,this.scrollEventListener)},InfiniteScrollerDirective.prototype.onWindowScroll=function(e){var t=window.scrollY+window.innerHeight;window.scrollY&&t>=document.body.scrollHeight-this.scrollOffset&&this.previousScrollPosition+a-1?this.loaderIconLook+=" size-5xl":this.loaderIconLook+=" size-3xl"},VideoPlayerComponent.ɵfac=function VideoPlayerComponent_Factory(e){return A(e||VideoPlayerComponent)},VideoPlayerComponent.ɵcmp=r["ɵɵdefineComponent"]({type:VideoPlayerComponent,selectors:[["sf-video-player"]],viewQuery:function VideoPlayerComponent_Query(e,t){if(1&e&&r["ɵɵviewQuery"](a,1),2&e){var n;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.player=n.first)}},inputs:{src:"src",customThumbnailUrl:"customThumbnailUrl",isLoaded:"isLoaded"},features:[r["ɵɵInheritDefinitionFeature"]],decls:3,vars:7,consts:[[3,"src","alt","ngClass","error",4,"ngIf"],[4,"ngIf"],[3,"src","alt","ngClass","error"],["class","sf-video__player","preload","metadata",3,"src","ngClass","click","error","loadedmetadata",4,"ngIf"],["class","sf-video__duration",4,"ngIf"],["class","sf-video__play-button","viewBox","0 0 200 200","alt","Play video",3,"click",4,"ngIf"],["class","sf-video__empty",4,"ngIf"],["class","sf-video__empty sf-row -column -align-items-center",4,"ngIf"],["preload","metadata",1,"sf-video__player",3,"src","ngClass","click","error","loadedmetadata"],["player",""],[1,"sf-video__duration"],["viewBox","0 0 200 200","alt","Play video",1,"sf-video__play-button",3,"click"],["cx","100","cy","100","r","90","fill","#333","stroke","#333"],["points","70, 55 70, 145 145, 100","fill","#fff"],[1,"sf-video__empty"],["name","video-camera",3,"look"],[1,"sf-video__empty","sf-row","-column","-align-items-center"],[3,"name","look"],[1,"-sf-txt-align-center","-sf-txt-hint","-sf-mb-zero","-sf-mt-s"]],template:function VideoPlayerComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵtemplate"](1,VideoPlayerComponent_sf_image_1_Template,1,5,"sf-image",0),r["ɵɵtemplate"](2,VideoPlayerComponent_ng_container_2_Template,6,5,"ng-container",1),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵclassMapInterpolate1"]("sf-video ",t.cssClass,""),r["ɵɵclassProp"]("-sf-clickable",t.playable&&t.player&&t.player.paused),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.customThumbnailUrl),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!t.customThumbnailUrl))},styles:["@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.sf-video[_ngcontent-%COMP%] {\n position: relative;\n}\n.sf-video[_ngcontent-%COMP%] video[_ngcontent-%COMP%] {\n display: block;\n}\n.sf-video[_ngcontent-%COMP%]:hover .sf-video__play-button[_ngcontent-%COMP%] circle[_ngcontent-%COMP%] {\n opacity: 0.75;\n}\n.sf-video.-play-detached[_ngcontent-%COMP%] {\n max-width: 630px;\n max-height: 430px;\n}\n.sf-video.-play-detached[_ngcontent-%COMP%] video[_ngcontent-%COMP%] {\n max-width: 630px;\n max-height: 430px;\n}\n.sf-video.-play-detached[_ngcontent-%COMP%] .sf-video__player.-loading[_ngcontent-%COMP%] {\n position: absolute;\n visibility: hidden;\n}\n.sf-video.-play-detached[_ngcontent-%COMP%] .sf-video__empty[_ngcontent-%COMP%] {\n position: static;\n width: 630px;\n height: 354px;\n -webkit-animation-duration: 1s;\n animation-duration: 1s;\n}\n.sf-video__empty[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n background-color: #f5f5f5;\n z-index: 10;\n -webkit-animation: loadingVideoFrame 1.5s linear infinite;\n animation: loadingVideoFrame 1.5s linear infinite;\n}\n.sf-video__play-button[_ngcontent-%COMP%] {\n position: absolute;\n margin-top: calc(-70px / 2);\n margin-left: calc(-70px / 2);\n top: 50%;\n left: 50%;\n width: 70px;\n height: 70px;\n z-index: 10;\n cursor: pointer;\n}\n.sf-video__play-button[_ngcontent-%COMP%] circle[_ngcontent-%COMP%] {\n opacity: 0.5;\n}\n.sf-video__duration[_ngcontent-%COMP%] {\n position: absolute;\n right: 10px;\n bottom: 10px;\n padding-left: 5px;\n padding-right: 5px;\n color: #fff;\n background-image: linear-gradient(rgba(51, 51, 51, 0.8), rgba(51, 51, 51, 0.8));\n border-radius: 3px;\n}\nvideo[_ngcontent-%COMP%]::-internal-media-controls-download-button {\n display: none;\n}\nvideo[_ngcontent-%COMP%]::-webkit-media-controls-enclosure {\n overflow: hidden;\n}\nvideo[_ngcontent-%COMP%]::-webkit-media-controls-panel {\n width: calc(100% + 30px);\n \n}\n@-webkit-keyframes loadingVideoFrame {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}\n@keyframes loadingVideoFrame {\n 0% {\n background-color: #f5f5f5;\n }\n 50% {\n background-color: #fafafa;\n }\n 100% {\n background-color: #f6f6f6;\n }\n}"]}),VideoPlayerComponent}(i.MediaBaseComponent),A=r["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"NOT_FOUND_MESSAGE",(function(){return i})),n.d(t,"NO_PRVIEW_MESSAGE",(function(){return r})),n.d(t,"MediaBaseComponent",(function(){return a}));var o=n(229),i="Not found",r="No preview available",a=function(){function MediaBaseComponent(){this.errorIcon="ban",this.errorIconLook="size-3xl light sf-mt-3xs",this.hasError=!1,this.doesNotSupportPreview=!1,this.cssClass=""}return MediaBaseComponent.prototype.ngOnInit=function(){this.doesNotSupportPreview&&(this.hasError=!0,this.errorText=r)},MediaBaseComponent.prototype.onError=function(){this.hasError=!0,this.errorText=i},MediaBaseComponent.prototype.generateCssClassList=function(){return""},MediaBaseComponent.ɵfac=function MediaBaseComponent_Factory(e){return new(e||MediaBaseComponent)},MediaBaseComponent.ɵdir=o["ɵɵdefineDirective"]({type:MediaBaseComponent,inputs:{src:"src",look:"look",errorIcon:"errorIcon",errorIconLook:"errorIconLook",alt:"alt"}}),MediaBaseComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ImageComponent",(function(){return l}));var o=n(259),i=n(229),r=n(326),a=n(1110),s=n(261),A=n(354);function ImageComponent_img_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"img",2),i["ɵɵlistener"]("error",(function ImageComponent_img_0_Template_img_error_0_listener(e){i["ɵɵrestoreView"](n);var t=i["ɵɵnextContext"]();return t.onError(e,t.$err,t.data)}))("load",(function ImageComponent_img_0_Template_img_load_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onImageLoad(e)})),i["ɵɵpipe"](1,"sfSafe"),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("draggable",!1)("src",o.shouldBypassSecurity?i["ɵɵpipeBind2"](1,4,o.src,"url"):o.src,i["ɵɵsanitizeUrl"])("alt",o.alt),i["ɵɵattribute"]("class",o.cssClass)}}function ImageComponent_div_1_p_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"p",5),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.errorText)}}function ImageComponent_div_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵelement"](1,"sf-icon",3),i["ɵɵtemplate"](2,ImageComponent_div_1_p_2_Template,2,1,"p",4),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵclassMapInterpolate1"]("sf-image__empty sf-row -column -align-items-center -justify-content-center ",n.cssClass,""),i["ɵɵadvance"](1),i["ɵɵproperty"]("name",n.errorIcon)("look",n.errorIconLook),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.showErrorMessage)}}var l=function(e){function ImageComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.showErrorMessage=!0,t.look="sf-flickr-gallery__image",t.isWide=!1,t.loaded=new i.EventEmitter,t.error=new i.EventEmitter,t}return Object(o.__extends)(ImageComponent,e),Object.defineProperty(ImageComponent.prototype,"isAbsoluteSvg",{get:function(){return this.isSvg&&this.isAbsoluteImage},enumerable:!1,configurable:!0}),Object.defineProperty(ImageComponent.prototype,"isSvg",{get:function(){return this.type===r.MIME_TYPES.SVG},enumerable:!1,configurable:!0}),ImageComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.doesNotSupportPreview?this.error.emit():(this.isSvg&&!this.src.changingThisBreaksApplicationSecurity&&(this.shouldBypassSecurity=!0),this.cssClass=this.generateCssClassList())},ImageComponent.prototype.onError=function(){e.prototype.onError.call(this),this.error.emit()},ImageComponent.prototype.onImageLoad=function(e){this.processDimensions&&e.target.naturalWidth>e.target.naturalHeight&&(this.isWide=!0),this.loaded.emit(e)},ImageComponent.prototype.generateCssClassList=function(){var e="";if(this.look){var t=this.look.split(" "),n=t.indexOf("sf-flickr-gallery__image");n>-1&&(e=t.splice(n,1).toString()),t.length>0&&(e+=" -"+t.join(" -"))}return e},ImageComponent.ɵfac=function ImageComponent_Factory(e){return c(e||ImageComponent)},ImageComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ImageComponent,selectors:[["sf-image"]],hostVars:4,hostBindings:function ImageComponent_HostBindings(e,t){2&e&&i["ɵɵclassProp"]("-wide",t.isWide)("sf-media__svg-wrapper",t.isAbsoluteSvg)},inputs:{type:"type",showErrorMessage:"showErrorMessage",processDimensions:"processDimensions",isAbsoluteImage:"isAbsoluteImage",look:"look"},outputs:{loaded:"loaded",error:"error"},features:[i["ɵɵInheritDefinitionFeature"]],decls:2,vars:2,consts:[[3,"draggable","src","alt","error","load",4,"ngIf"],[3,"class",4,"ngIf"],[3,"draggable","src","alt","error","load"],[3,"name","look"],["class","-sf-txt-align-center -sf-txt-hint -sf-mb-zero -sf-mt-s",4,"ngIf"],[1,"-sf-txt-align-center","-sf-txt-hint","-sf-mb-zero","-sf-mt-s"]],template:function ImageComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,ImageComponent_img_0_Template,2,7,"img",0),i["ɵɵtemplate"](1,ImageComponent_div_1_Template,3,6,"div",1)),2&e&&(i["ɵɵproperty"]("ngIf",!t.hasError),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.doesNotSupportPreview||t.hasError))},directives:[s.NgIf,A.SfIconComponent],pipes:[A.SfSafePipe],encapsulation:2}),ImageComponent}(a.MediaBaseComponent),c=i["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"DocumentComponent",(function(){return c}));var o=n(259),i=n(229),r=n(264),a=n(326),s=n(256),A=n(269),l=n(317);function DocumentComponent_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",6),i["ɵɵelement"](1,"sf-icon",7),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("name",n.documentThumbnailIcon)("look",n.documentThumbnailIconLook)}}function DocumentComponent_div_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",8),i["ɵɵelementStart"](1,"sf-input",9),i["ɵɵlistener"]("onBlur",(function DocumentComponent_div_1_Template_sf_input_onBlur_1_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().handleTitleBlur()})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("formGroup",o.item.form),i["ɵɵadvance"](1),i["ɵɵproperty"]("validationMessages",o.item.errors)}}function DocumentComponent_sf_input_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-input",10),i["ɵɵlistener"]("ngModelChange",(function DocumentComponent_sf_input_2_Template_sf_input_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().item.title=e}))("onBlur",(function DocumentComponent_sf_input_2_Template_sf_input_onBlur_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().handleTitleBlur()})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngModel",o.item.title)("validationMessages",o.item.errors)}}var _c0=function(e,t,n,o){return{"-sf-txt-hint -sf-mb-3xs":e,"-sf-txt-large":t,"-sf-txt-dimmed":n,"-sf-mt-s":o}};function DocumentComponent_div_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",11),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction4"](3,_c0,n.multiple,!n.multiple&&!n.inGridView,!1===n.item.isTranslated,!n.inGridView))("title",n.displayTitle),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.displayTitle,"\n")}}function DocumentComponent_div_4_span_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span"),i["ɵɵtext"](1),i["ɵɵpipe"](2,"uppercase"),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](i["ɵɵpipeBind1"](2,1,n.item.extension))}}function DocumentComponent_div_4_span_2_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"span",15),i["ɵɵtext"](1,"•"),i["ɵɵelementEnd"]())}function DocumentComponent_div_4_span_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span"),i["ɵɵtext"](1),i["ɵɵpipe"](2,"sfFileSize"),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](i["ɵɵpipeBind1"](2,1,n.item.size))}}var _c1=function(e){return{"-right-align h5":e}};function DocumentComponent_div_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",12),i["ɵɵtemplate"](1,DocumentComponent_div_4_span_1_Template,3,3,"span",13),i["ɵɵtemplate"](2,DocumentComponent_div_4_span_2_Template,2,0,"span",14),i["ɵɵtemplate"](3,DocumentComponent_div_4_span_3_Template,3,3,"span",13),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](4,_c1,!n.multiple)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.item.extension),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.item.extension&&n.item.size),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.item.size)}}function DocumentComponent_sf_status_5_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-status",16),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("dataItem",n.dataItem)("look",n.documentStatusLook)}}var c=function(e){function DocumentComponent(t){var n=e.call(this)||this;return n.metadataStore=t,n.onTitleBlur=new i.EventEmitter,n.inGridView=!1,n.setName=s.ENTITY_SET.DOCUMENTS,n}return Object(o.__extends)(DocumentComponent,e),DocumentComponent.prototype.ngOnInit=function(){var e,t=this;this.documentThumbnailIcon=a.MediaHelpers.getDocumentThumbnailIcon(this.item.extension),this.documentThumbnailIconLook="size-4xl "+(!1===this.item.isTranslated?"lighter":"light"),this.documentStatusLook=!1===this.item.isTranslated?"dimmed":null,this.displayTitle=this.item.title||this.item.name,this.entity=this.metadataStore.getEntity(this.setName);var n=this.item.data?this.item.data:this.item;this.dataItem=l.DataItem.from(n,this.entity,null===(e=this.entity)||void 0===e?void 0:e.selectedProvider,null);var o=this.item.form;if(o){var i=o.get("Title").valueChanges.subscribe((function(e){t.item.title=e,t.displayTitle=e}));this.registerSubscription(i)}},DocumentComponent.prototype.handleTitleBlur=function(){this.onTitleBlur.emit(),this.item.errors=this.item.title.trim()?[]:["Enter Title"]},DocumentComponent.ɵfac=function DocumentComponent_Factory(e){return new(e||DocumentComponent)(i["ɵɵdirectiveInject"](A.MetadataStore))},DocumentComponent.ɵcmp=i["ɵɵdefineComponent"]({type:DocumentComponent,selectors:[["sf-document"]],inputs:{multiple:"multiple",item:"item"},outputs:{onTitleBlur:"onTitleBlur"},features:[i["ɵɵInheritDefinitionFeature"]],decls:6,vars:6,consts:[["class","sf-media__thumbnail",4,"ngIf"],[3,"formGroup",4,"ngIf"],["type","textarea","look","no-border no-resize inline large",3,"ngModel","validationMessages","ngModelChange","onBlur",4,"ngIf"],["class","sf-media__title -sf-overflow-multiline-ellipsis",3,"ngClass","title",4,"ngIf"],["class","sf-media__file-info -sf-txt-hint -sf-txt-small",3,"ngClass",4,"ngIf"],["class","sf-media__status","displayType","icon",3,"dataItem","look",4,"ngIf"],[1,"sf-media__thumbnail"],[3,"name","look"],[3,"formGroup"],["formControlName","Title","type","textarea","look","no-border no-resize inline large",3,"validationMessages","onBlur"],["type","textarea","look","no-border no-resize inline large",3,"ngModel","validationMessages","ngModelChange","onBlur"],[1,"sf-media__title","-sf-overflow-multiline-ellipsis",3,"ngClass","title"],[1,"sf-media__file-info","-sf-txt-hint","-sf-txt-small",3,"ngClass"],[4,"ngIf"],["class","-sf-pl-4xs -sf-pr-4xs",4,"ngIf"],[1,"-sf-pl-4xs","-sf-pr-4xs"],["displayType","icon",1,"sf-media__status",3,"dataItem","look"]],template:function DocumentComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,DocumentComponent_div_0_Template,2,2,"div",0),i["ɵɵtemplate"](1,DocumentComponent_div_1_Template,2,2,"div",1),i["ɵɵtemplate"](2,DocumentComponent_sf_input_2_Template,1,2,"sf-input",2),i["ɵɵtemplate"](3,DocumentComponent_div_3_Template,2,8,"div",3),i["ɵɵtemplate"](4,DocumentComponent_div_4_Template,4,6,"div",4),i["ɵɵtemplate"](5,DocumentComponent_sf_status_5_Template,1,2,"sf-status",5)),2&e&&(i["ɵɵproperty"]("ngIf",!t.multiple),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.multiple&&t.item.form),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.multiple&&!t.item.form),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.displayTitle),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.inGridView),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.item.DisplayStatus))},encapsulation:2}),DocumentComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ThumbnailComponent",(function(){return d}));var o=n(259),i=n(229),r=n(1114),a=n(246),s=n(264),A=n(261),l=n(354),c=n(1098);function ThumbnailComponent_span_1_ng_container_4_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtext"](1),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate2"](" Files in ",n.extension," format cannot be selected. Only ",n.failedValidation.acceptableFileTypes," are allowed. ")}}function ThumbnailComponent_span_1_ng_container_5_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtext"](1),i["ɵɵpipe"](2,"sfFileSize"),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" File is larger than the maximum size allowed (",i["ɵɵpipeBind1"](2,1,n.failedValidation.maxSize),") and cannot be selected. ")}}function ThumbnailComponent_span_1_ng_container_6_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtext"](1),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.failedValidation.errorMessage," ")}}function ThumbnailComponent_span_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",8),i["ɵɵelementStart"](1,"div",9),i["ɵɵelement"](2,"sf-icon",10),i["ɵɵelementStart"](3,"sf-notification",11),i["ɵɵtemplate"](4,ThumbnailComponent_span_1_ng_container_4_Template,2,2,"ng-container",12),i["ɵɵtemplate"](5,ThumbnailComponent_span_1_ng_container_5_Template,3,3,"ng-container",12),i["ɵɵtemplate"](6,ThumbnailComponent_span_1_ng_container_6_Template,2,1,"ng-container",12),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",n.failedValidation.acceptableFileTypes),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.failedValidation.acceptableFileTypes&&n.failedValidation.maxSize),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.failedValidation.acceptableFileTypes&&!n.failedValidation.maxSize&&n.failedValidation.errorMessage)}}function ThumbnailComponent_div_3_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",13),i["ɵɵtext"](1," not translated "),i["ɵɵelementEnd"]())}function ThumbnailComponent_sf_button_4_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-button",14),i["ɵɵlistener"]("onClick",(function ThumbnailComponent_sf_button_4_Template_sf_button_onClick_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onFileRemoveClick(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ariaLabel",o.removeButtonAreaLabel)}}function ThumbnailComponent_div_5_sf_notification_4_div_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",25),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"]("in ",n.library,"")}}function ThumbnailComponent_div_5_sf_notification_4_span_5_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",26),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵtextInterpolate2"]("",n.width," x ",n.height," ")}}function ThumbnailComponent_div_5_sf_notification_4_span_6_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span"),i["ɵɵtext"](1),i["ɵɵpipe"](2,"sfFileSize"),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"]("",i["ɵɵpipeBind1"](2,1,n.size)," ")}}function ThumbnailComponent_div_5_sf_notification_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"sf-notification",20),i["ɵɵelementStart"](1,"h4",21),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,ThumbnailComponent_div_5_sf_notification_4_div_3_Template,2,1,"div",22),i["ɵɵelementStart"](4,"div"),i["ɵɵtemplate"](5,ThumbnailComponent_div_5_sf_notification_4_span_5_Template,2,2,"span",23),i["ɵɵtemplate"](6,ThumbnailComponent_div_5_sf_notification_4_span_6_Template,3,3,"span",12),i["ɵɵelementStart"](7,"span",24),i["ɵɵtext"](8),i["ɵɵpipe"](9,"uppercase"),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("bottomTolerance",n.tooltipMinOffsetFromBottom),i["ɵɵadvance"](2),i["ɵɵtextInterpolate1"](" ",n.title," "),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.library),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",!n.isVideo&&n.width&&n.height),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.isVideo&&n.size),i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](i["ɵɵpipeBind1"](9,6,n.extension))}}function ThumbnailComponent_div_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",15),i["ɵɵelementStart"](1,"div",16),i["ɵɵlistener"]("mouseover",(function ThumbnailComponent_div_5_Template_div_mouseover_1_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().showTooltip=!0}))("mouseout",(function ThumbnailComponent_div_5_Template_div_mouseout_1_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().showTooltip=!1})),i["ɵɵelement"](2,"sf-icon",17),i["ɵɵelement"](3,"sf-icon",18),i["ɵɵelementEnd"](),i["ɵɵtemplate"](4,ThumbnailComponent_div_5_sf_notification_4_Template,10,8,"sf-notification",19),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",o.showTooltip)}}function ThumbnailComponent_div_6_sf_badge_1_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-badge",31),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("content",n.badgesList[0])}}function ThumbnailComponent_div_6_sf_badge_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-badge",32),i["ɵɵlistener"]("mouseover",(function ThumbnailComponent_div_6_sf_badge_2_Template_sf_badge_mouseover_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).showAvailableTranslations=!0}))("mouseout",(function ThumbnailComponent_div_6_sf_badge_2_Template_sf_badge_mouseout_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).showAvailableTranslations=!1})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("content","+"+o.badgesList.length)}}function ThumbnailComponent_div_6_sf_notification_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-notification",33),i["ɵɵlistener"]("movingDirections",(function ThumbnailComponent_div_6_sf_notification_3_Template_sf_notification_movingDirections_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onMovingDirections(e)})),i["ɵɵtext"](1),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵclassMapInterpolate1"]("sf-tooltip__content -",o.availableLanguageTranslationLook," -sf-txt-upper-case"),i["ɵɵpropertyInterpolate1"]("look","tooltip ",o.availableLanguageTranslationLook,""),i["ɵɵproperty"]("handleMoveIndependently",!0),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",o.badgesList.join(", ")," ")}}function ThumbnailComponent_div_6_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",27),i["ɵɵtemplate"](1,ThumbnailComponent_div_6_sf_badge_1_Template,1,1,"sf-badge",28),i["ɵɵtemplate"](2,ThumbnailComponent_div_6_sf_badge_2_Template,1,1,"sf-badge",29),i["ɵɵtemplate"](3,ThumbnailComponent_div_6_sf_notification_3_Template,2,6,"sf-notification",30),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",1==n.badgesList.length),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.badgesList.length>1),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.badgesList.length>1&&n.showAvailableTranslations)}}function ThumbnailComponent_ng_template_7_span_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"span",35),i["ɵɵlistener"]("click",(function ThumbnailComponent_ng_template_7_span_0_Template_span_click_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSelected(e)}))("keyup.space",(function ThumbnailComponent_ng_template_7_span_0_Template_span_keyup_space_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSelected(e)})),i["ɵɵelement"](1,"sf-icon",36),i["ɵɵelementEnd"]()}}function ThumbnailComponent_ng_template_7_Template(e,t){if(1&e&&i["ɵɵtemplate"](0,ThumbnailComponent_ng_template_7_span_0_Template,2,0,"span",34),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",n.selectable)}}var _c0=function(e){return{"-selected":e}},d=function(e){function ThumbnailComponent(t){var n=e.call(this)||this;return n.mediaRecognizerService=t,n.hasTooltip=!0,n.isPlaceholder=!0,n.dimNotTranslated=!1,n.showNotTranslatedLabel=!0,n.isSmallThumbnail=!1,n.playable=!1,n.badgesList=[],n.removeButtonClicked=new i.EventEmitter,n.onClick=new i.EventEmitter,n.onSelect=new i.EventEmitter,n.tooltipMinOffsetFromBottom=67,n.availableLanguageTranslationLook="down-right",n}return Object(o.__extends)(ThumbnailComponent,e),ThumbnailComponent.prototype.ngOnChanges=function(e){(e.src||e.alt)&&(this.setComponentData(),this.cssClass=this.generateCssClassList()),e.isTranslated&&(this.cssClass=this.generateCssClassList())},ThumbnailComponent.prototype.ngOnInit=function(){this.setComponentData(),this.cssClass=this.generateCssClassList()},ThumbnailComponent.prototype.onFileRemoveClick=function(e){this.removeButtonClicked.emit(e)},ThumbnailComponent.prototype.onClicked=function(){this.onClick.emit()},ThumbnailComponent.prototype.onSelected=function(e){e.preventDefault(),e.stopImmediatePropagation(),this.onSelect.emit()},ThumbnailComponent.prototype.onMovingDirections=function(e){void 0!==e.movedLeft&&(this.availableLanguageTranslationLook="down-left")},ThumbnailComponent.prototype.setComponentData=function(){var e=this.generateComponentProperties();this.mediaData=this.mediaRecognizerService.getComponentData(e),this.mediaData.updatePropertiesOnChange=!0,this.mediaData.removePreviousView=!0},ThumbnailComponent.prototype.generateComponentProperties=function(){this.isWidePhoto=this.width>this.height;var e={name:this.title,src:this.src,alt:this.alt,size:this.size,type:this.type,extension:this.extension?this.extension.split(".").pop():null,LockedStatus:this.lockedStatus,DisplayStatus:this.status,isTranslated:this.isTranslated,isAbsoluteImage:!0,isVideo:this.isVideo},t={isMultimedia:this.isMultimedia};return this.isMultimedia?(e.playable=this.playable,e.customThumbnailUrl=this.customThumbnailUrl,e.src=this.src,t=Object.assign(t,e)):t=Object.assign(t,{item:e}),t},ThumbnailComponent.prototype.generateCssClassList=function(){var e=[];if(this.height<145&&e.push("-centered"),this.look){var t=this.look.split(" ").map((function(e){return"-"+e}));e.push.apply(e,t)}return this.showRemoveButtonAlways&&e.push("-remove-button-visible"),this.selected&&e.push("-selected"),this.selectable&&e.push("-selectable"),this.isSmallThumbnail&&(e.push("sf-media -cropped -smaller -no-zindex"),this.imageWrapperClass=this.height>60?"-sf-full-height":"",this.isWidePhoto&&e.push("-wide")),this.isPlaceholder&&e.push("sf-placeholder"),this.isMultimedia||e.push("-document"),e.push("sf-media"),this.isVideo&&e.push("-video"),(this.failedValidation||this.dimNotTranslated)&&e.push("-dimmed"),e.join(a.stringConstants.INTERVAL)},ThumbnailComponent.ɵfac=function ThumbnailComponent_Factory(e){return new(e||ThumbnailComponent)(i["ɵɵdirectiveInject"](r.MediaRecognizerService))},ThumbnailComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ThumbnailComponent,selectors:[["sf-thumbnail"]],inputs:{customThumbnailUrl:"customThumbnailUrl",title:"title",size:"size",src:"src",alt:"alt",width:"width",height:"height",selected:"selected",library:"library",lockedStatus:"lockedStatus",status:"status",selectable:"selectable",extension:"extension",type:"type",hasTooltip:"hasTooltip",isMultimedia:"isMultimedia",isVideo:"isVideo",isPlaceholder:"isPlaceholder",isTranslated:"isTranslated",dimNotTranslated:"dimNotTranslated",showNotTranslatedLabel:"showNotTranslatedLabel",isSmallThumbnail:"isSmallThumbnail",playable:"playable",look:"look",failedValidation:"failedValidation",removeButtonAreaLabel:"removeButtonAreaLabel",showRemoveButton:"showRemoveButton",showRemoveButtonAlways:"showRemoveButtonAlways",badgesList:"badgesList"},outputs:{removeButtonClicked:"removeButtonClicked",onClick:"onClick",onSelect:"onSelect"},features:[i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:9,vars:12,consts:[["data-sftest","mediaThumbnail",3,"ngClass","click","keyup.enter"],["class","sf-media__no-selectable",4,"ngIf","ngIfElse"],[3,"componentData"],["class","sf-media__labeled sf-flickr-gallery__item",4,"ngIf"],["look","circle small","icon","times","class","sf-media__remove","title","Remove",3,"ariaLabel","onClick",4,"ngIf"],["class","sf-tooltip sf-media__details",4,"ngIf"],["class","sf-tooltip sf-media__file-info -badge -right-align",4,"ngIf"],["selectedIndicatorTpml",""],[1,"sf-media__no-selectable"],[1,"sf-tooltip"],["name","ban","look","size-xl",1,"sf-badge","-white","-icon"],["look","tooltip",1,"sf-tooltip__content"],[4,"ngIf"],[1,"sf-media__labeled","sf-flickr-gallery__item"],["look","circle small","icon","times","title","Remove",1,"sf-media__remove",3,"ariaLabel","onClick"],[1,"sf-tooltip","sf-media__details"],[1,"sf-icon-stack",3,"mouseover","mouseout"],["name","info","look","size-3xs white",1,"sf-icon-stack__in"],["name","circle","look","size-l black",1,"sf-icon-stack__out"],["look","tooltip","class","sf-tooltip__content","sfMoveInViewport","",3,"bottomTolerance",4,"ngIf"],["look","tooltip","sfMoveInViewport","",1,"sf-tooltip__content",3,"bottomTolerance"],["data-sftest","thumbTitle"],["data-sftest","thumbLibrary",4,"ngIf"],["data-sftest","thumbDimentions",4,"ngIf"],["data-sftest","thumbExtension"],["data-sftest","thumbLibrary"],["data-sftest","thumbDimentions"],[1,"sf-tooltip","sf-media__file-info","-badge","-right-align"],["look","edit-variation bordered sf-txt-small","class","-sf-txt-upper-case",3,"content",4,"ngIf"],["look","add sf-txt-small",3,"content","mouseover","mouseout",4,"ngIf"],["sfMoveInViewport","",3,"handleMoveIndependently","look","class","movingDirections",4,"ngIf"],["look","edit-variation bordered sf-txt-small",1,"-sf-txt-upper-case",3,"content"],["look","add sf-txt-small",3,"content","mouseover","mouseout"],["sfMoveInViewport","",3,"handleMoveIndependently","look","movingDirections"],["class","sf-media__selected-indicator",3,"click","keyup.space",4,"ngIf"],[1,"sf-media__selected-indicator",3,"click","keyup.space"],["name","check-circle","look","size-xl",1,"sf-badge","-white","-icon"]],template:function ThumbnailComponent_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵlistener"]("click",(function ThumbnailComponent_Template_div_click_0_listener(){return t.onClicked()}))("keyup.enter",(function ThumbnailComponent_Template_div_keyup_enter_0_listener(){return t.onClicked()})),i["ɵɵtemplate"](1,ThumbnailComponent_span_1_Template,7,3,"span",1),i["ɵɵelement"](2,"sf-component-loader",2),i["ɵɵtemplate"](3,ThumbnailComponent_div_3_Template,2,0,"div",3),i["ɵɵtemplate"](4,ThumbnailComponent_sf_button_4_Template,1,1,"sf-button",4),i["ɵɵtemplate"](5,ThumbnailComponent_div_5_Template,5,1,"div",5),i["ɵɵtemplate"](6,ThumbnailComponent_div_6_Template,4,3,"div",6),i["ɵɵelementEnd"](),i["ɵɵtemplate"](7,ThumbnailComponent_ng_template_7_Template,1,1,"ng-template",null,7,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](8);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](10,_c0,t.selected)),i["ɵɵattribute"]("class",t.cssClass),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.failedValidation)("ngIfElse",n),i["ɵɵadvance"](1),i["ɵɵproperty"]("componentData",t.mediaData),i["ɵɵattribute"]("class",t.imageWrapperClass),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.dimNotTranslated&&t.showNotTranslatedLabel),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.showRemoveButton),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.isMultimedia&&t.hasTooltip),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.badgesList)}},directives:[A.NgClass,A.NgIf,l.SfDynamicComponentLoaderComponent,l.SfIconComponent,l.SfNotificationComponent,l.SfButtonComponent,l.SfMoveInViewportDirective,l.SfBadgeComponent],pipes:[c.FileSizePipe,A.UpperCasePipe],encapsulation:2}),ThumbnailComponent}(s.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaRecognizerService",(function(){return l})),n.d(t,"MediaTypes",(function(){return o}));var o,i=n(1111),r=n(1109),a=n(1112),s=n(256),A=n(229),l=function(){function MediaRecognizerService(){this.specificFieldsData={}}return MediaRecognizerService.prototype.hasSpecificField=function(e){return this.specificFieldsData[e.contentType]},MediaRecognizerService.prototype.hasPreview=function(e){return e===s.ENTITY_SET.IMAGES||e===s.ENTITY_SET.VIDEOS},MediaRecognizerService.prototype.getPreviewUrlProperty=function(e){return e===s.ENTITY_SET.IMAGES?"ThumbnailUrl":"Url"},MediaRecognizerService.prototype.getComponentData=function(e){switch(e.isMultimedia?this.getMediaType(e):o.Document){case o.Image:return{properties:e,type:i.ImageComponent};case o.Video:return{properties:e,type:r.VideoPlayerComponent,removePreviousView:!0};case o.Document:return{properties:e,type:a.DocumentComponent};case o.Broken:return e.doesNotSupportPreview=!0,{properties:e,type:e.isVideo?r.VideoPlayerComponent:i.ImageComponent}}},MediaRecognizerService.prototype.getMediaType=function(e){var t=new RegExp("video[s]?/"),n=new RegExp("image[s]?/"),i=e.type||e.contentType,r=t.test(i),a=n.test(i),s=e.isVideo&&!r,A=!e.isVideo&&e.isMultimedia&&!a;return!i||s||A?o.Broken:a?o.Image:r?o.Video:o.Document},MediaRecognizerService.ɵfac=function MediaRecognizerService_Factory(e){return new(e||MediaRecognizerService)},MediaRecognizerService.ɵprov=A["ɵɵdefineInjectable"]({token:MediaRecognizerService,factory:MediaRecognizerService.ɵfac}),MediaRecognizerService}();!function(e){e[e.Video=0]="Video",e[e.Image=1]="Image",e[e.Document=2]="Document",e[e.Broken=4]="Broken"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"STICKY_MIN_SCROLL_VALUE",(function(){return r})),n.d(t,"StickyDirective",(function(){return a}));var o=n(229),i=n(244),r=150,a=function(){function StickyDirective(e,t,n){this.element=e,this.window=t,this.renderer=n,this.stickyDisabled=!1,this.stickWithDelay=!0,this.alwaysSticky=!1,this.isSticky=!1,this.className="sf-sticky",this.scrollMin=r,this.position="top",this.timeoutId=null}return Object.defineProperty(StickyDirective.prototype,"stickyPosition",{set:function(e){this.position=e||this.position},enumerable:!1,configurable:!0}),Object.defineProperty(StickyDirective.prototype,"stickyScrollMin",{set:function(e){this.scrollMin=e||this.scrollMin},enumerable:!1,configurable:!0}),StickyDirective.prototype.ngOnInit=function(){this.typeClass="-"+this.position},StickyDirective.prototype.ngOnChanges=function(e){var t=e.stickyDisabled;e.alwaysSticky&&this.alwaysSticky&&(this.isSticky=!0),t&&!t.previousValue!=!t.currentValue&&this.updateSticky(!1)},StickyDirective.prototype.ngOnDestroy=function(){this.renderer.removeStyle(this.window.document.body,"min-height"),this.renderer.removeClass(this.window.document.body,"-sf-sticky")},StickyDirective.prototype.onWindowScroll=function(){var e=this;if(!this.stickyDisabled&&!this.alwaysSticky)if(this.stickWithDelay){if(null!==this.timeoutId)return;this.timeoutId=this.window.setTimeout((function(){e.calculateScrollAndUpdateSticky(),e.timeoutId=null}),200)}else this.calculateScrollAndUpdateSticky()},StickyDirective.prototype.calculateScrollAndUpdateSticky=function(){var e=this.window.document.documentElement.clientHeight,t=this.window.document.documentElement.scrollHeight,n=this.window.pageYOffset,o=this.isSticky,i="top"===this.position&&n>this.scrollMin||"bottom"===this.position&&t>e;o!==i&&this.updateSticky(i)},StickyDirective.prototype.updateSticky=function(e){this.isSticky=e;var t=this.window.document.body;e?this.stick(t):this.unstick(t)},StickyDirective.prototype.stick=function(e){this.element.nativeElement.classList.add(this.className,this.typeClass),this.renderer.addClass(this.window.document.body,"-sf-sticky"),this.renderer.setStyle(e,"min-height","calc(100vh + "+(this.scrollMin+1)+"px)"),this.window.pageYOffset<=this.scrollMin&&this.window.scrollTo(0,this.scrollMin+1)},StickyDirective.prototype.unstick=function(e){this.element.nativeElement.classList.remove(this.className,this.typeClass),this.renderer.removeClass(this.window.document.body,"-sf-sticky"),this.renderer.removeStyle(e,"min-height"),this.window.pageYOffset>=this.scrollMin&&this.window.scrollTo(0,this.scrollMin-1)},StickyDirective.ɵfac=function StickyDirective_Factory(e){return new(e||StickyDirective)(o["ɵɵdirectiveInject"](o.ElementRef),o["ɵɵdirectiveInject"](i.WINDOW_TOKEN),o["ɵɵdirectiveInject"](o.Renderer2))},StickyDirective.ɵdir=o["ɵɵdefineDirective"]({type:StickyDirective,selectors:[["","sfSticky",""]],hostBindings:function StickyDirective_HostBindings(e,t){1&e&&o["ɵɵlistener"]("scroll",(function StickyDirective_scroll_HostBindingHandler(){return t.onWindowScroll()}),!1,o["ɵɵresolveWindow"])},inputs:{stickyDisabled:"stickyDisabled",stickWithDelay:"stickWithDelay",alwaysSticky:"alwaysSticky",stickyPosition:"stickyPosition",stickyScrollMin:"stickyScrollMin"},exportAs:["sfSticky"],features:[o["ɵɵNgOnChangesFeature"]]}),StickyDirective}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TooltipPositionDirective",(function(){return a}));var o=n(229),i=n(244),r=n(354),a=function(){function TooltipPositionDirective(e,t){this.window=e,this.element=t,this.positionChange=new o.EventEmitter}return TooltipPositionDirective.prototype.ngOnChanges=function(e){this.positionToolset()},TooltipPositionDirective.prototype.ngAfterViewInit=function(){this.tooltipBoundingRect=this.element.nativeElement.getBoundingClientRect(),this.positionToolset()},TooltipPositionDirective.prototype.positionToolset=function(){this.tooltipBoundingRect&&(this.element.nativeElement.style.top=this.setToolsetTop(),this.element.nativeElement.style.left=this.setToolsetLeft(),this.tooltipPositionParams.position&&this.positionChange.emit(this.tooltipPositionParams.position),this.tooltipBoundingRect=this.element.nativeElement.getBoundingClientRect(),this.checkIfToolsetOverflowing())},TooltipPositionDirective.prototype.setToolsetTop=function(){var e=this.tooltipPositionParams.elementPosition.top+this.tooltipPositionParams.elementPosition.height;return this.tooltipPositionParams.position===r.NotificationPosition.Up&&(e=this.tooltipPositionParams.elementPosition.top),e+"px"},TooltipPositionDirective.prototype.setToolsetLeft=function(){var e=this.tooltipPositionParams.elementPosition.left+this.tooltipPositionParams.elementPosition.width/2;return this.tooltipPositionParams.elementPosition.left+this.tooltipPositionParams.elementPosition.width>this.tooltipPositionParams.parentPosition.width&&(e=this.tooltipPositionParams.parentPosition.width/2),e+"px"},TooltipPositionDirective.prototype.checkIfToolsetOverflowing=function(){return this.tooltipBoundingRect.right>this.window.innerWidth?(this.element.nativeElement.style.top=this.tooltipPositionParams.elementPosition.top+this.tooltipPositionParams.elementPosition.height/2+"px",this.element.nativeElement.style.left=this.tooltipPositionParams.elementPosition.left-this.tooltipBoundingRect.width-20+"px",void this.positionChange.emit(r.NotificationPosition.Left)):this.tooltipBoundingRect.left<0?(this.element.nativeElement.style.top=this.tooltipPositionParams.elementPosition.top+this.tooltipPositionParams.elementPosition.height/2+"px",this.element.nativeElement.style.left=this.tooltipPositionParams.elementPosition.left+this.tooltipPositionParams.elementPosition.width+"px",void this.positionChange.emit(r.NotificationPosition.Right)):void(this.tooltipBoundingRect.bottom>this.window.innerHeight&&(this.element.nativeElement.style.top=this.tooltipPositionParams.elementPosition.top+"px",this.positionChange.emit(r.NotificationPosition.Up)))},TooltipPositionDirective.ɵfac=function TooltipPositionDirective_Factory(e){return new(e||TooltipPositionDirective)(o["ɵɵdirectiveInject"](i.WINDOW_TOKEN),o["ɵɵdirectiveInject"](o.ElementRef))},TooltipPositionDirective.ɵdir=o["ɵɵdefineDirective"]({type:TooltipPositionDirective,selectors:[["","sfTooltipPosition",""]],inputs:{tooltipPositionParams:"tooltipPositionParams"},outputs:{positionChange:"positionChange"},exportAs:["sfTooltipPosition"],features:[o["ɵɵNgOnChangesFeature"]]}),TooltipPositionDirective}()},function(e,t,n){"use strict";n.r(t),n.d(t,"RECENT_ITEMS_COUNT",(function(){return G})),n.d(t,"RelatedDataComponent",(function(){return H}));var o=n(259),i=n(131),r=n(229),a=n(260),s=n(11),A=n(246),l=n(262),c=n(361),d=n(266),p=n(1118),f=n(336),u=n(1107),m=n(317),g=n(269),E=n(318),h=n(418),b=n(333),C=n(316),B=n(256),k=n(245),I=n(1133),v=n(394),w=n(322),_=n(321),x=n(268),y=n(1139),S=n(1140),T=n(1150),M=n(244),D=n(373),Q=n(319),N=n(1151),R=n(1153),F=n(271),O=n(1189),P=n(1065),U=["tree"],L=["popupTree"],z=["editableElement"];function RelatedDataComponent_sf_load_more_3_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-load-more",6),r["ɵɵlistener"]("onLoadMore",(function RelatedDataComponent_sf_load_more_3_Template_sf_load_more_onLoadMore_0_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onShowAdditionalItems()})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("loadCount",o.hiddenItemsCount)("buttonText",o.loadMoreText)("currentItemsCount",o.initiallyShownItems)("allItemsCount",o.value.length)}}function RelatedDataComponent_span_5_div_5_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",16),r["ɵɵtext"](1," Recent "),r["ɵɵelementEnd"]())}function RelatedDataComponent_span_5_div_7_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",17),r["ɵɵtext"](1," No results found "),r["ɵɵelementEnd"]())}function RelatedDataComponent_span_5_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"span",7),r["ɵɵelementStart"](1,"input",8,9),r["ɵɵlistener"]("keydown.enter",(function RelatedDataComponent_span_5_Template_input_keydown_enter_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onEnterKey(e)}))("keydown.escape",(function RelatedDataComponent_span_5_Template_input_keydown_escape_1_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onEscapeKey()}))("keydown.arrowUp",(function RelatedDataComponent_span_5_Template_input_keydown_arrowUp_1_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onFocusPreviousNode()}))("keydown.arrowDown",(function RelatedDataComponent_span_5_Template_input_keydown_arrowDown_1_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onFocusNextNode()}))("input",(function RelatedDataComponent_span_5_Template_input_input_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onNewInputValue(e)}))("click",(function RelatedDataComponent_span_5_Template_input_click_1_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onToggleAddControl(!0)}))("ngModelChange",(function RelatedDataComponent_span_5_Template_input_ngModelChange_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().searchTerm=e})),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"sf-popup",10),r["ɵɵelementStart"](4,"div",11),r["ɵɵtemplate"](5,RelatedDataComponent_span_5_div_5_Template,2,0,"div",12),r["ɵɵpipe"](6,"async"),r["ɵɵtemplate"](7,RelatedDataComponent_span_5_div_7_Template,2,0,"div",13),r["ɵɵpipe"](8,"async"),r["ɵɵelementStart"](9,"sf-tree",14,15),r["ɵɵlistener"]("treeNodeClicked",(function RelatedDataComponent_span_5_Template_sf_tree_treeNodeClicked_9_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onNewItemSelected(e)}))("reorderNodes",(function RelatedDataComponent_span_5_Template_sf_tree_reorderNodes_9_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onReorderNodes(e)})),r["ɵɵpipe"](11,"async"),r["ɵɵpipe"](12,"async"),r["ɵɵelementEnd"](),r["ɵɵelementEnd"](),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngModel",o.searchTerm),r["ɵɵattribute"]("aria-activedescendant","tree_active_node"),r["ɵɵadvance"](2),r["ɵɵproperty"]("isOpen",o.isPopupVisible),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",!o.searchTerm&&r["ɵɵpipeBind1"](6,10,o.hasContentItems)),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",o.searchTerm&&!r["ɵɵpipeBind1"](8,12,o.hasContentItems)),r["ɵɵadvance"](2),r["ɵɵpropertyInterpolate"]("displayField",o._defaultFieldName),r["ɵɵproperty"]("focusFirstNode",o.searchTerm&&r["ɵɵpipeBind1"](11,14,o.hasContentItems))("nodes",r["ɵɵpipeBind1"](12,16,o.recentItems$))("config",o.popupTreeConfig)("textToMatch",o.searchTerm)}}function RelatedDataComponent_sf_button_6_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-button",18),r["ɵɵlistener"]("onClick",(function RelatedDataComponent_sf_button_6_Template_sf_button_onClick_0_listener(){r["ɵɵrestoreView"](n);var e=r["ɵɵnextContext"]();return e.settings.skipInputSelection?e.onShowAllRelatedData():e.onToggleAddControl(!0)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("look",o.value&&o.value.length>0?"circle small sf-mt-3xs":"circle small")("icon",o.canSelectItems?"plus":"pencil")("title",o.addEditButtonTitle)("ariaLabel",o.addEditButtonTitle)}}var G=5,H=function(e){function RelatedDataComponent(t,n,o,r,a,A,l,c,p,f,u,m){var g=e.call(this)||this;return g.dynamicService=t,g.modalService=n,g.route=o,g.siteDataStore=r,g.metadataStore=a,g.renderer=A,g.element=l,g.filterService=c,g.window=p,g.urlService=f,g.editNavigationService=u,g.settingsService=m,g.isInputVisible=!1,g.isAddButtonVisible=!0,g.isPopupVisible=!0,g.triggeringSubscription=new s.BehaviorSubject(!1),g.retrieveItems=!0,g.parentIdProperty=d.Properties.PARENT_ID,g.rootIdProperty=d.Properties.ROOT_ID,g.allSites=[],g.currentSiteId=null,g.hiddenItems=new Set,g.visibleItems$=new s.BehaviorSubject([]),g.visibleItemsFilter$=g.visibleItems$.asObservable().pipe(Object(i.map)((function(e){return g.filterVisibleItems(e)}))),g._recentItemsSubject$=new s.BehaviorSubject([]),g._recentItems$=g._recentItemsSubject$.asObservable(),g.hasContentItems=g._recentItems$.pipe(Object(i.map)((function(e){return e.filter((function(e){return!e.isSeparator&&!e.isLink}))})),Object(i.map)((function(e){return e.length>0}))),g}return Object(o.__extends)(RelatedDataComponent,e),Object.defineProperty(RelatedDataComponent.prototype,"recentItems$",{get:function(){return this._recentItems$},enumerable:!1,configurable:!0}),Object.defineProperty(RelatedDataComponent.prototype,"initiallyShownItems",{get:function(){return this._initiallyShownItems},enumerable:!1,configurable:!0}),Object.defineProperty(RelatedDataComponent.prototype,"hasHiddenItems",{get:function(){return this.hiddenItems.size>0},enumerable:!1,configurable:!0}),Object.defineProperty(RelatedDataComponent.prototype,"hiddenItemsCount",{get:function(){return this.hiddenItems.size},enumerable:!1,configurable:!0}),Object.defineProperty(RelatedDataComponent.prototype,"visibleItems",{get:function(){return this.visibleItemsFilter$},enumerable:!1,configurable:!0}),Object.defineProperty(RelatedDataComponent.prototype,"canSelectItems",{get:function(){return!(!this.settings.allowMultiple&&this.value&&this.value.length>0)},enumerable:!1,configurable:!0}),Object.defineProperty(RelatedDataComponent.prototype,"showSiteSelector",{get:function(){return this.settings.showSiteSelector&&this.allSites&&this.allSites.length>1},enumerable:!1,configurable:!0}),RelatedDataComponent.prototype.ngOnInit=function(){var t=this;if(e.prototype.ngOnInit.call(this),this.value&&!Array.isArray(this.value)&&(this.value=[this.value]),this._relatedDataEntity=this.metadataStore.getEntity(this.settings.type),this._defaultFieldName=this.metadataStore.getDefaultFieldName(this.settings.type),this.value&&this.value.forEach((function(e){return t.markTranslated(e)})),this.populateHiddenItems(this.value,20),this._initiallyShownItems=20,this.fallbackProperties=this.getFallbackProperties(this.settings.type),this.evaluateBreadcrumbVisibility(),this.settings&&this.settings.type){this.displayNames={plural:this.metadataStore.getPropertyMetadata(this.settings.type,g.DISPLAY_NAME).toLowerCase(),singular:this.metadataStore.getPropertyMetadata(this.settings.type,g.SINGULAR_NAME).toLowerCase()};var n=this.hiddenItemsCount>1?this.displayNames.plural.toLocaleLowerCase():this.displayNames.singular.toLocaleLowerCase();this.loadMoreText=this.hiddenItemsCount+" more "+n,this.setAddEditButtonTitle()}this.parentIdProperty=this._relatedDataEntity.parentIdProperty||null,this.siteDataStore.getValue().pipe(Object(i.first)()).subscribe((function(e){(t.currentSiteId=e.Id,t.settings.type===B.ENTITY_SET.PAGES&&(t.rootId=e.SiteMapRootNodeId,t.parentId=e.SiteMapRootNodeId),t.allowedProviders=t.siteDataStore.getAllowedProvidersFromSiteData(t._relatedDataEntity.setName,e),t.settings.provider===A.ANY_SITE_SOURCE_PROVIDER)&&(t.settings.provider=A.stringConstants.EMPTY_STRING,t.allowedProviders.filter((function(e){return e!==A.ANY_SITE_SOURCE_PROVIDER&&e!==A.DEFAULT_SITE_SOURCE_PROVIDER})).length>1&&(t.allItemsTabType=S.ProviderSelectorComponent,t.settings.allowMultiple&&(t.allItemsTabType=T.ProviderTabSelectorComponent,t.allItemsTabLook=T.PROVIDER_TAB_CSS_CLASS),t.allItemsTabTypePropertyValues={entitySetName:t.settings.type}));t.relatedEntityData={culture:t.settings.culture,provider:t.settings.provider,metadata:t._relatedDataEntity},new s.Observable((function(e){t.settings.showSiteSelector?t.getAllSites().pipe(Object(i.first)()).subscribe((function(n){t.allSites=n.map((function(e){return Object.assign({},e.data)})),e.next()})):e.next()})).pipe(Object(i.first)()).subscribe((function(){t.retrieveItems&&t.getRecentRelatedData(t.value)}))})),this.treeConfig=this.treeConfig||{deletion:this.settings.allowRemove,drag:this.settings.allowMultiple&&!this.settings.disableInteraction,previewUrl:!this.settings.disableInteraction,status:!this.settings.hideStatus,noSelection:!0,showBreadcrumb:this.showBreadcrumb,clickable:!this.settings.disableInteraction,customComponentOriginatingFeature:P.TreeNodeComponentFeatures.RelatedData,customComponentEntitySet:this.settings.type},this.popupTreeConfig={showBreadcrumb:this.treeConfig.showBreadcrumb,status:!this.settings.hideStatus,noSelection:!1,customComponentOriginatingFeature:P.TreeNodeComponentFeatures.RelatedData,customComponentEntitySet:this.settings.type},this.serviceAware=new u.ServiceContract((function(e){return t.loadMoreModalItems(e)}),(function(e){return t.loadMoreModalItems(e)})),this.settings.displayMode===b.DISPLAY_MODE.INPUT&&(this.isAddButtonVisible=!1,this.value.forEach((function(e){e.NotFound&&!0===e.NotFound&&(t.isAddButtonVisible=!0)})),this.canSelectItems&&this.onToggleAddControl(!0))},RelatedDataComponent.prototype.ngAfterViewInit=function(){var e=this;this.queryContents.changes.subscribe((function(t){e.editableElement=t.first,e.focusEditableElement(),e.isDisplayModeInputAndCanSelect()&&e.triggeringSubscription.next(!0)}))},RelatedDataComponent.prototype.getRequiredErrorMessage=function(){return[c.SelectorConstants.SELECT_BUTTON+" "+this.settings.title]},RelatedDataComponent.prototype.onViewNodeFunkWrapper=function(e){this.onViewNodeFunk(e,!0)},RelatedDataComponent.prototype.treeNodeClickedFunk=function(e){this.onViewNodeFunk(e,!1)},RelatedDataComponent.prototype.onViewNodeFunk=function(e,t){if(this.element){var n;this._relatedDataEntity.hasParent&&(e.data.parentType=this._relatedDataEntity.parent);var o=e.data.provider||this.settings.provider;if(t){if(!this.isViewUrlAllowed(this._relatedDataEntity,e.data))return;n=m.DataItem.from(e.data,this._relatedDataEntity,o,this.settings.culture),this.openPreview(n)}else{if(!this._relatedDataEntity.enabled)return;if(!this.isEditAllowed(this._relatedDataEntity,e.data))return;e.data.entitySet=this.settings.type,n=m.DataItem.from(e.data,this._relatedDataEntity,o,this.settings.culture),this.onEdit(n)}}},RelatedDataComponent.prototype.onReorderNodes=function(e){this.writeValue(e)},RelatedDataComponent.prototype.onMoveNode=function(e){var t=e.node;t[h.JUST_ADDED_PROPERTY]=!0,setTimeout((function(){t[h.JUST_ADDED_PROPERTY]=!1}),h.REMOVE_ANIMATION_CLASS_TIMEOUT)},RelatedDataComponent.prototype.writeValue=function(t){var n=this;t&&t.length&&t.forEach((function(e){void 0===e.isTranslated&&n.markTranslated(e),n.setProviderFromServer(e)}));e.prototype.writeValue.call(this,t),this.visibleItems$.next(t),this.setAddEditButtonTitle()},RelatedDataComponent.prototype.onShowAdditionalItems=function(){this.hiddenItems.clear(),this.writeValue(this.value)},RelatedDataComponent.prototype.onNewInputValue=function(e){this.popupTree.clearFocusedNode(),this.getRecentRelatedData(this.value),this.settings.displayMode===b.DISPLAY_MODE.INPUT&&(this.isPopupVisible=!0)},RelatedDataComponent.prototype.onRemove=function(e){var t;e?t=e.data:this.settings.allowMultiple||(t=this.value[0]);var n=this.value.indexOf(t);if(!(n<0))return t.Failure||this.returnRemovedItemToRecentItems(t),this.value.splice(n,1),this.tree.updateTreeModel(),this.onChangeCallback(this.value),this.writeValue(this.value),this.settings.displayMode===b.DISPLAY_MODE.INPUT&&this.onToggleAddControl(!0),t},RelatedDataComponent.prototype.onToggleAddControl=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1),this.isInputVisible=e,this.isPopupVisible=e,this.searchTerm&&(this.searchTerm=null,this.getRecentRelatedData(this.value)),this.settings.displayMode!==b.DISPLAY_MODE.INPUT&&(this.isAddButtonVisible=!this.isPopupVisible),t&&this.isDisplayModeInputAndCanSelect()&&(this.isInputVisible=!0,this.isPopupVisible=!1),this.handleFocus(this.isPopupVisible)},RelatedDataComponent.prototype.onEscapeKey=function(){this.onToggleAddControl(!1,!0)},RelatedDataComponent.prototype.onFocusTree=function(){this.popupTree.focusTree()},RelatedDataComponent.prototype.onFocusNextNode=function(){this.popupTree.focusNextNode()},RelatedDataComponent.prototype.onFocusPreviousNode=function(){this.popupTree.focusPreviousNode()},RelatedDataComponent.prototype.onEnterKey=function(){this.popupTree.selectCurrentNode()},RelatedDataComponent.prototype.onNewItemSelected=function(e){var t=e.node||e;if(!t.isSeparator){if(!(t.isLink||t.data&&t.data.action)){this.canSelectItems||this.onRemove(),this.onToggleAddControl();var n=e.data,o=this.value.concat(n);return this.onChangeCallback(o),this.getRecentRelatedData(o),n[h.JUST_ADDED_PROPERTY]=!0,this.tree.updateTreeModel(),setTimeout((function(){n[h.JUST_ADDED_PROPERTY]=!1}),h.REMOVE_ANIMATION_CLASS_TIMEOUT),this.writeValue(o),t.data}this[t.data.action]()}},RelatedDataComponent.prototype.onShowAllRelatedData=function(){var e=this;this.loadInitialModalItems().then((function(t){var n=e._relatedDataEntity.properties.hasOwnProperty(d.Properties.PARENT),o=e._relatedDataEntity.properties.hasOwnProperty(d.Properties.PARENT_ID)&&!n,i=e.showBreadcrumb&&!o,r={type:u.SelectorComponent,properties:{value:t.dataItems,selected:e.value.map((function(e){return e})),totalItemsCount:t.totalCount,treeConfig:{multiSelection:e.settings.allowMultiple,isHierarchical:o,showBreadcrumb:i,status:!e.settings.hideStatus,customComponentOriginatingFeature:P.TreeNodeComponentFeatures.RelatedData,customComponentEntitySet:e.settings.type},searchTreeConfig:{multiSelection:e.settings.allowMultiple,isHierarchical:!1,showBreadcrumb:e.showBreadcrumb,status:!e.settings.hideStatus,customComponentOriginatingFeature:P.TreeNodeComponentFeatures.RelatedData,customComponentEntitySet:e.settings.type},serviceAware:e.serviceAware,typeNames:e.displayNames,defaultField:e._defaultFieldName,keyField:e.relatedEntityData.metadata.key,allItemsTabType:e.allItemsTabType,allItemsTabLook:e.allItemsTabLook,allItemsTabTypePropertyValues:e.allItemsTabTypePropertyValues}};e.showSiteSelector&&(r.properties.selectorFilterConfig={filterChipsConfig:{showSelectedItemAsActive:!0},selectedFilterItems:e.allSites.filter((function(t){return t.Id===e.currentSiteId})),filterItems:e.allSites,filterLabel:"Site",defaultField:"Name"});var a=[new p.ConfirmButton(c.SelectorConstants.USE_SELECTED),new p.CancelButton(c.SelectorConstants.CANCEL)],s=new p.DialogData(r,(function(t){return e.onDone(t)}),a,null,"-bottom");e.modalService.setMapping(s,u.SELECTOR_MAPPING_KEY),e.modalService.open(e.route,u.SELECTOR_MAPPING_KEY)}))},RelatedDataComponent.prototype.onShowCreateScreen=function(){var e=this,t={culture:this.settings.culture,provider:this.settings.provider,metadata:this._relatedDataEntity},n=m.DataItem.emptyItem(t);this.invokeAllowDialogOpenCallback().subscribe((function(){e.editNavigationService.openDialogForRelatedData(n,e.route,null,!1,e.getHeadComponentData()).subscribe((function(t){if(t.dataItem&&t.dataItem.data){var n=Object(k.cloneObject)(t.dataItem.data),o=e.settings.allowMultiple?e.value.concat(n):[n];e.onChangeCallback(o),o[h.JUST_ADDED_PROPERTY]=!0,e.tree.updateTreeModel(),setTimeout((function(){o[h.JUST_ADDED_PROPERTY]=!1}),h.REMOVE_ANIMATION_CLASS_TIMEOUT),e.writeValue(o)}}))}))},RelatedDataComponent.prototype.onDone=function(e){var t=this;e.data&&e.data.data&&(e.component.selected.forEach((function(e){var n=e.data||e;t.value.includes(n)||(n[h.JUST_ADDED_PROPERTY]=!0),n.isActive=!1})),this.value=e.component.selected,this.getRecentRelatedData(this.value),this.tree.updateTreeModel(),setTimeout((function(){t.value.forEach((function(e){e[h.JUST_ADDED_PROPERTY]&&(e[h.JUST_ADDED_PROPERTY]=!1)}))}),h.REMOVE_ANIMATION_CLASS_TIMEOUT),this.onChangeCallback(this.value))},RelatedDataComponent.prototype.getWarnings=function(){return this.settings.allowView?this.settings.provider&&-1===this.allowedProviders.indexOf(this.settings.provider)&&-1===this.allowedProviders.indexOf(A.stringConstants.ASTERISK)||this.settings.provider===A.stringConstants.EMPTY_STRING&&0===this.allowedProviders.length?[A.CONTENT_SOURCE_NOT_AVAILABLE_WARNING]:e.prototype.getWarnings.call(this):[this.getNoPermissionMessage(this.settings.type)]},RelatedDataComponent.prototype.getActionLinks=function(e,t){var n,o,i=[];(e||t||this.showSiteSelector)&&i.push(((n={isLink:!0})[this._defaultFieldName]="Show all "+this.displayNames.plural,n.action="onShowAllRelatedData",n));var r=!0;if(this.route.snapshot.outlet.includes("dialog")){var a=this.settings.entityData;a&&(r=!a.metadata.hasLifecycle||a.metadata.setName===B.ENTITY_SET.PAGES)}return r&&this.settings.allowCreate&&this.isCreatePossible(this._relatedDataEntity)&&i.push(((o={isLink:!0})[this._defaultFieldName]="Create "+Object(k.indefiniteArticle)(this.displayNames.singular)+" "+this.displayNames.singular,o.action="onShowCreateScreen",o)),i},RelatedDataComponent.prototype.handleFocus=function(e){e?this.onFocus():this.onBlur()},RelatedDataComponent.prototype.createBaseServiceInfo=function(){return{type:this.settings.type,provider:this.settings.provider,fallbackProperties:this.fallbackProperties,culture:this.settings.culture}},RelatedDataComponent.prototype.getRecentRelatedData=function(e){var t,n=this,o=this.createBaseServiceInfo(),r={entityData:this.relatedEntityData,fallbackProperties:this.fallbackProperties};if(o.action)r.take=G,r.order=d.Properties.LAST_MODIFIED+" "+l.SORT_ORDER.DESCENDING,r.action=o.action,this.searchTerm&&(r.filter=this.filterService.buildSearchFilter(this.relatedEntityData,this.searchTerm)),this.showSiteSelector&&(r.siteId=this.currentSiteId),e&&e.length&&(r.itemsToExclude={key:O.ID_KEY,value:e.map((function(e){return e.Id}))}),this.getItemList(r).pipe(Object(i.map)((function(e){n.parseGetRecentResult(e)}))).subscribe();else{r.action="Default.GetRecent";var a=this.relatedEntityData?this.relatedEntityData.metadata.defaultFieldName:d.Properties.TITLE;r.additionalQueryParams=((t={})[l.QUERY_PARAMS.FALLBACK_PROPERTIES]=a,t),this.searchTerm&&(r.additionalQueryParams[l.QUERY_PARAMS.SEARCH]=this.searchTerm),r.payload={excludedItemIds:[]},e&&e.length&&(r.payload.excludedItemIds=e.map((function(e){return e.Id}))),this.showSiteSelector&&(r.siteId=this.currentSiteId),this.dynamicService.getRecent(r).subscribe((function(e){n.parseGetRecentResult(e)}))}},RelatedDataComponent.prototype.cloneAndAddFieldsToDataItem=function(e){var t=JSON.parse(JSON.stringify(e.data));return t.isTranslated=e.isTranslated,t.hasChildren=t.HasChildren,t.setName=e.metadata.setName,t},RelatedDataComponent.prototype.addItemsToRecentItems=function(e){var t=this.getActionLinks(e.length>0,this.searchTerm);e=e.concat(t),this._recentItemsSubject$.next(e)},RelatedDataComponent.prototype.getHeadComponentData=function(){var e={culture:this.settings.culture,provider:this.settings.provider,metadata:this._relatedDataEntity},t=m.DataItem.emptyItem(e);return{type:I.WorkflowOperationsMenuComponent,properties:{dataItem:t,operationsTarget:v.OperationsTarget.Create,iconTitle:"More Options",ariaLabel:"More Options",buttonsLook:"circle",dropdownButtonIconName:"ellipsis-h",options:new w.ActionMenuOptions(_.OUTSIDE_MENU_MAX_ORDINAL,Number.POSITIVE_INFINITY,!0)}}},RelatedDataComponent.prototype.onEdit=function(e){var t=this,n=this.getValue().map((function(t){return t[e.metadata.key]}));this.editNavigationService.openDialogForRelatedDataAndLoadFieldData(n,e,this.route,null,!1,this.getHeadComponentData()).subscribe((function(e){t.writeValue(e)}))},RelatedDataComponent.prototype.openPreview=function(e){var t=this,n=this.window.open(A.stringConstants.EMPTY_STRING,A.NEW_TAB_TARGET);this.dynamicService.executeOperation(e,Q.OPERATION_NAMES.preview).subscribe((function(e){e.success&&e.link?n.location.href=e.link:n.location.href=t.urlService.getAbsoluteUrl(N.NO_PREVIEW_URL)}))},RelatedDataComponent.prototype.setAddEditButtonTitle=function(){this.displayNames&&(this.settings.allowMultiple?this.addEditButtonTitle="Select "+this.displayNames.plural:(this.addEditButtonTitle="Select "+this.displayNames.singular,this.value&&this.value.length>0&&(this.addEditButtonTitle="Edit")))},RelatedDataComponent.prototype.loadInitialModalItems=function(){var e=this,t=this.createBaseServiceInfo(),n=Object.assign({},t);return this.showSiteSelector&&(n.filterValue=this.allSites.filter((function(t){return t.Id===e.currentSiteId}))[0]),this.loadMoreModalItems(n)},RelatedDataComponent.prototype.loadMoreModalItems=function(e){var t,n=this,o=this.createBaseServiceInfo(),r=e.allItemsTabValue||this.relatedEntityData.provider,a={entityData:{culture:this.relatedEntityData.culture,metadata:this.relatedEntityData.metadata,provider:r},skip:e.skip,take:e.take,order:this._defaultFieldName+" desc",filter:[],action:o.action,fallbackProperties:this.fallbackProperties};if(e.searchText&&(t=a.filter).push.apply(t,this.filterService.buildSearchFilter(this.relatedEntityData,e.searchText)),e.filterValue&&e.filterValue.Id&&(a.siteId=e.filterValue.Id),this._relatedDataEntity.hasChildren&&!e.searchText){var s=e.parentId||this.parentId;s&&this.addHierarchicalFilters(a,s)}return this.getItemList(a).pipe(Object(i.map)((function(e){return{dataItems:e.dataItems.map((function(e){return n.cloneAndAddFieldsToDataItem(e)})),totalCount:e.totalCount}}))).toPromise()},RelatedDataComponent.prototype.getItemList=function(e){return this.settings.useLiveData&&(e.serviceUrl=this.settingsService.webServiceLiveUrl),this.dynamicService.getItemList(e)},RelatedDataComponent.prototype.returnRemovedItemToRecentItems=function(e){var t=this._recentItemsSubject$.getValue().slice().filter((function(t){return t.Id!==e.Id}));t.length-1>=G?t[0]=e:t.splice(0,0,e),this._recentItemsSubject$.next(t)},RelatedDataComponent.prototype.populateHiddenItems=function(e,t){if(e)for(var n=t;n=0&&o.scroll(t.topOffsetPosition,t.window),e}))},ModalWindowService.prototype.setMapping=function(t,n){void 0===n&&(n=E),e.prototype.setData.call(this,n,t)},ModalWindowService.prototype.getMapping=function(t){return void 0===t&&(t=E),e.prototype.getData.call(this,t)},ModalWindowService.prototype.openModalConfirmation=function(e,t,n,o,i){void 0===o&&(o=p.SIDEBAR_ROUTES.DEFAULT);var r={type:s.ModalConfirmationComponent,properties:{icon:t.icon,title:t.detailedTitle||t.title,description:t.description,descriptionAllowHtml:t.descriptionAllowHtml,warning:t.warning,parameters:t.parameters,contextParameters:t.contextParameters,action:t.action,entitySet:n?n.metadata.setName:null,itemTitle:this.getTitle(t,n),formValidators:t.formValidators,hideItemTitle:t.hideItemTitle,mainFormSize:t.mainFormSize,innerFormLook:t.innerFormLook,dataItem:n}},a=new b(r,t.doneCallback,t.buttons,"-prompt");a.disableUserInteractionOnLoading=t.disableUserInteractionOnLoading,this.setMapping(a,o),this.show(o,e,i)},ModalWindowService.prototype.openModalSelector=function(e,t,n){void 0===n&&(n=p.SIDEBAR_ROUTES.DEFAULT);var o={type:m.ModalSelectorComponent,properties:{settings:t}},i=new b(o,t.doneCallback);i.heading=t.heading,this.setMapping(i,n),this.show(n,e.parent,t.window)},ModalWindowService.prototype.ensureRouteState=function(e){var t=this.routeStack.findIndex((function(t){return t.key===e}));if(!(t<0||t===this.routeStack.length-1))for(var n=this.routeStack.length-t-1,o=0;o=0&&this.scrollService.scrollTo(e,void 0,void 0,t)},ModalWindowService.prototype.getDocumentOffsetPosition=function(e){var t=e.document.documentElement;return(e.pageYOffset||t.scrollTop)-(t.clientTop||0)},ModalWindowService.prototype.getTitle=function(e,t){var n=null;if(!e.hideItemTitle){if(e.contextParameters){var o=e.contextParameters[f.CONTEXT_PARAMETERS.currentTitle];o&&(n=o)}!n&&t&&(n=t.title)}return n},ModalWindowService.ɵfac=function ModalWindowService_Factory(e){return new(e||ModalWindowService)(g["ɵɵinject"](r.Router),g["ɵɵinject"](a.WINDOW_TOKEN),g["ɵɵinject"](d.ScrollService))},ModalWindowService.ɵprov=g["ɵɵdefineInjectable"]({token:ModalWindowService,factory:ModalWindowService.ɵfac}),ModalWindowService}(A.AuxServiceBase),b=function b(e,t,n,o,i,r,a,s,A,l,c,d,p,f,u,m){void 0===t&&(t=null),void 0===n&&(n=[]),void 0===o&&(o=null),void 0===i&&(i=null),void 0===r&&(r=!0),void 0===a&&(a=null),void 0===s&&(s=null),void 0===A&&(A=!1),void 0===l&&(l=!1),void 0===c&&(c=!1),void 0===d&&(d=!0),void 0===p&&(p=!0),void 0===f&&(f=!1),void 0===u&&(u=!1),void 0===m&&(m=!1),this.componentData=e,this.doneCallback=t,this.buttons=n,this.contentClass=o,this.buttonClass=i,this.showButtonsOnInit=r,this.toolbarData=a,this.headButtons=s,this.hideStickyContent=A,this.disableUserInteractionOnLoading=l,this.hideCloseButton=c,this.isModalClosable=d,this.stickWithDelay=p,this.stickyDisabled=f,this.alwaysSticky=u,this.hideBackToTopButton=m,this.heading={title:null},this.hasTopToolbar=!1,this.headButtonsResolved=[]},C=function(e){function Button(t,n,o,i){void 0===i&&(i=u.stringConstants.EMPTY_STRING);var r=e.call(this)||this;return r.handlers=t,r.content=n,r.css=o,r.name=i,null==r.handlers&&(r.handlers={click:function(){return null}}),r.loader=new l.ReplaySubject(1),r.disabled=new l.ReplaySubject(1),r.checked=new l.ReplaySubject(1),r}return Object(i.__extends)(Button,e),Button}(c.LoadingButton),B=function B(e,t,n,o){void 0===e&&(e=null),void 0===n&&(n=!1),void 0===o&&(o=!0),this.data=e,this.isSuccessful=t,this.hasErrors=n,this.load=o},k=function(e){function ConfirmButton(t,n,o,i){void 0===t&&(t="Done"),void 0===o&&(o="action large"),void 0===i&&(i=u.stringConstants.EMPTY_STRING);var r=e.call(this,null,t,o,i)||this;return r.content=t,r.handlers.click=n||function(){return new B(!0,!0)},r}return Object(i.__extends)(ConfirmButton,e),ConfirmButton}(C),I=function(e){function CancelButton(t,n){void 0===t&&(t="Cancel");var o=e.call(this,null,t,"large")||this;return o.content=t,o.handlers.click=n||function(){return new B(!1,!0)},o}return Object(i.__extends)(CancelButton,e),CancelButton}(C),v=function(e){function DeleteButton(t,n,o){void 0===t&&(t="Delete"),void 0===n&&(n=!0),void 0===o&&(o="delete large");var i=e.call(this,{click:function(){return new B(n,!0)}},t,o)||this;return i.content=t,i}return Object(i.__extends)(DeleteButton,e),DeleteButton}(C);!function(e){e[e.ButtonClicked=0]="ButtonClicked",e[e.CloseClicked=1]="CloseClicked",e[e.DoneCalled=2]="DoneCalled",e[e.InitFailure=3]="InitFailure"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"ModalConfirmationComponent",(function(){return p}));var o=n(1120),i=n(266),r=n(351),a=n(378),s=n(260),A=n(1121),l=n(257),c=n(1129),d=n(229);function ModalConfirmationComponent_sf_icon_0_Template(e,t){if(1&e&&d["ɵɵelement"](0,"sf-icon",6),2&e){var n=d["ɵɵnextContext"]();d["ɵɵproperty"]("name",n.icon)}}function ModalConfirmationComponent_p_4_Template(e,t){if(1&e&&(d["ɵɵelement"](0,"p",7),d["ɵɵpipe"](1,"sfHtmlEscape")),2&e){var n=d["ɵɵnextContext"]();d["ɵɵproperty"]("innerHTML",d["ɵɵpipeBind1"](1,1,n.itemTitle),d["ɵɵsanitizeHtml"])}}var _c0=function(e){return{"-sf-mt-m":e}};function ModalConfirmationComponent_p_5_Template(e,t){if(1&e&&(d["ɵɵelement"](0,"p",8),d["ɵɵpipe"](1,"sfHtmlEscape")),2&e){var n=d["ɵɵnextContext"]();d["ɵɵproperty"]("ngClass",d["ɵɵpureFunction1"](4,_c0,n.itemTitle))("innerHTML",n.descriptionAllowHtml?n.description:d["ɵɵpipeBind1"](1,2,n.description),d["ɵɵsanitizeHtml"])}}var _c1=function(e){return[e]};function ModalConfirmationComponent_div_6_Template(e,t){if(1&e&&(d["ɵɵelementStart"](0,"div",9),d["ɵɵelement"](1,"sf-warning",10),d["ɵɵelementEnd"]()),2&e){var n=d["ɵɵnextContext"]();d["ɵɵadvance"](1),d["ɵɵproperty"]("messages",d["ɵɵpureFunction1"](1,_c1,n.warning))}}function ModalConfirmationComponent_div_7_Template(e,t){if(1&e&&(d["ɵɵelementStart"](0,"div"),d["ɵɵelement"](1,"sf-editable-fields",11,12),d["ɵɵelementEnd"]()),2&e){var n=d["ɵɵnextContext"]();d["ɵɵattribute"]("class",n.innerFormClassList),d["ɵɵadvance"](1),d["ɵɵproperty"]("fieldSections",n.fieldSections)("formValidators",n.formValidators)}}var p=function(){function ModalConfirmationComponent(e,t){this.fieldsProvider=e}return ModalConfirmationComponent.prototype.ngOnInit=function(){var e=this;if(this.parameters){var t=this.parameters.map((function(t){var n,o,a=r.FieldTypes[t.Type]||r.FieldTypes[f[t.Type]],s=Object(i.createFieldModel)(e.fieldsProvider,e.entitySet,a,t.Name,t.Value,{properties:(n={},n[t.Name]=(o={},o[l.VALIDATION_REQUIRED]=t.Required,o[l.FIELD_TOOLTIP]=t.Tooltip,o[l.INSTRUCTIONAL_TEXT]=t.Hint,o.dataItem=e.dataItem,o.arguments=t.Arguments,o),n)},t.Title,t.FriendlyTitle);return s.settings.showTitle=!!t.Title,t.Placeholder&&(s.settings.placeholder=t.Placeholder),e.updateModelProperties(t,s),s}));this.mainFormSize=this.mainFormSize||c.ModalMainFormSize.Medium,this.innerFormClassList=this.generateInnerFormClassList(),this.fieldSection=new o.FieldSectionModel({isMain:!0,isExpanded:!1,insertHorizontalRule:!1}),this.fieldSection.fields=t,this.fieldSections=[this.fieldSection]}},ModalConfirmationComponent.prototype.generateInnerFormClassList=function(){return"sf-form "+(this.innerFormLook?"-"+this.innerFormLook.split(" ").join(" -"):"-small -sf-pt-zero -sf-txt-align-left -sf-centered-box")},ModalConfirmationComponent.prototype.updateModelProperties=function(e,t){if("choiceDropDown"===e.Type){var n=JSON.parse(e.Value).map((function(e){return{Name:e.valueTitle,Value:e.valueContent}}));t.settings.choices=n,t.settings.defaultValue=n.length>0?n[0].Value:null,t.value=n.length>0?n[0].Value:null}},ModalConfirmationComponent.ɵfac=function ModalConfirmationComponent_Factory(e){return new(e||ModalConfirmationComponent)(d["ɵɵdirectiveInject"](a.CompositeFieldsProvider),d["ɵɵdirectiveInject"](s.ActivatedRoute))},ModalConfirmationComponent.ɵcmp=d["ɵɵdefineComponent"]({type:ModalConfirmationComponent,selectors:[["sf-modal-confirmation"]],viewQuery:function ModalConfirmationComponent_Query(e,t){if(1&e&&d["ɵɵviewQuery"](A.EditableFieldsComponent,1),2&e){var n;d["ɵɵqueryRefresh"](n=d["ɵɵloadQuery"]())&&(t.editableFields=n.first)}},inputs:{action:"action",icon:"icon",title:"title",description:"description",descriptionAllowHtml:"descriptionAllowHtml",itemTitle:"itemTitle",entitySet:"entitySet",parameters:"parameters",formValidators:"formValidators",mainFormSize:"mainFormSize",innerFormLook:"innerFormLook",warning:"warning"},decls:8,vars:12,consts:[["look","illustrative",3,"name",4,"ngIf"],["data-sftest","modal-confirmation-heading"],["class","-sf-txt-large -sf-mt--xs",3,"innerHTML",4,"ngIf"],["class","-sf-txt-large",3,"ngClass","innerHTML",4,"ngIf"],["class","-sf-mt-3xs -sf-txt-align-center",4,"ngIf"],[4,"ngIf"],["look","illustrative",3,"name"],[1,"-sf-txt-large","-sf-mt--xs",3,"innerHTML"],[1,"-sf-txt-large",3,"ngClass","innerHTML"],[1,"-sf-mt-3xs","-sf-txt-align-center"],[3,"messages"],[3,"fieldSections","formValidators"],["editableFields",""]],template:function ModalConfirmationComponent_Template(e,t){1&e&&(d["ɵɵtemplate"](0,ModalConfirmationComponent_sf_icon_0_Template,1,1,"sf-icon",0),d["ɵɵelementStart"](1,"h1",1),d["ɵɵtext"](2),d["ɵɵelementEnd"](),d["ɵɵelementStart"](3,"div"),d["ɵɵtemplate"](4,ModalConfirmationComponent_p_4_Template,2,3,"p",2),d["ɵɵtemplate"](5,ModalConfirmationComponent_p_5_Template,2,6,"p",3),d["ɵɵtemplate"](6,ModalConfirmationComponent_div_6_Template,2,3,"div",4),d["ɵɵtemplate"](7,ModalConfirmationComponent_div_7_Template,3,3,"div",5),d["ɵɵelementEnd"]()),2&e&&(d["ɵɵproperty"]("ngIf",t.icon),d["ɵɵadvance"](1),d["ɵɵclassMapInterpolate1"]("-sf-mt-m -sf-ml-auto -sf-mr-auto -sf-width-form-",t.mainFormSize,""),d["ɵɵadvance"](1),d["ɵɵtextInterpolate"](t.title),d["ɵɵadvance"](1),d["ɵɵclassMapInterpolate1"]("sf-form -",t.mainFormSize," -sf-ml-auto -sf-mr-auto"),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",t.itemTitle),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",t.description),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",t.warning),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",t.parameters&&t.parameters.length>0))},encapsulation:2}),ModalConfirmationComponent}(),f=Object.freeze({"long-string":"textArea"})},function(e,t,n){"use strict";n.r(t),n.d(t,"FieldSectionModel",(function(){return o})),n.d(t,"FIELD_SECTION_NAMES",(function(){return i}));var o=function(){function FieldSectionModel(e){this.settings=e,this.fields=[]}return FieldSectionModel.prototype.equals=function(e){return!!this.objEqual(e,this)&&this.objEqual(e.settings,this.settings)},FieldSectionModel.prototype.objEqual=function(e,t){for(var n in t)if(!Object.is(e[n],t[n]))return!1;return!0},FieldSectionModel}(),i=Object.freeze({advancedOptions:"AdvancedOptionsSection",advancedSection:"AdvancedSection",seo:"SeoSection",socialMedia:"SocialMedia",mainSection:"MainSection"})},function(e,t,n){"use strict";n.r(t),n.d(t,"SECTIONS_KEY",(function(){return I})),n.d(t,"EditableFieldsComponent",(function(){return v}));var o=n(259),i=n(11),r=n(229),a=n(324),s=n(1122),A=n(284),l=n(1125),c=n(244),d=n(352),p=n(351),f=n(337),u=n(264),m=n(272),g=n(342),E=n(1124),h=n(1127),b=n(245),C=n(262),B=n(332),k=n(1128);function EditableFieldsComponent_ng_container_0_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelement"](1,"sf-loader",2),r["ɵɵelement"](2,"sf-loader",3),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](2),r["ɵɵproperty"]("height",n.contentLoaderHeight)}}function EditableFieldsComponent_div_1_div_1_div_2_sf_form_field_wrapper_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-form-field-wrapper",10),r["ɵɵlistener"]("ngModelChange",(function EditableFieldsComponent_div_1_div_1_div_2_sf_form_field_wrapper_1_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"]().$implicit,o=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"](2).onChange(e,t.key,o)}))("markAsDirty",(function EditableFieldsComponent_div_1_div_1_div_2_sf_form_field_wrapper_1_Template_sf_form_field_wrapper_markAsDirty_0_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"](3).setMarkAsDirty(e,t.key)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]().$implicit,i=r["ɵɵnextContext"](3);r["ɵɵproperty"]("formControlName",o.key)("fieldModel",o)("look","input"===o.settings.displayMode?"filter small":"")("formControl",i.form.controls[o.key])}}function EditableFieldsComponent_div_1_div_1_div_2_hr_2_Template(e,t){1&e&&r["ɵɵelement"](0,"hr")}function EditableFieldsComponent_div_1_div_1_div_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵtemplate"](1,EditableFieldsComponent_div_1_div_1_div_2_sf_form_field_wrapper_1_Template,1,4,"sf-form-field-wrapper",9),r["ɵɵtemplate"](2,EditableFieldsComponent_div_1_div_1_div_2_hr_2_Template,1,0,"hr",0),r["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.last,i=r["ɵɵnextContext"](3);r["ɵɵclassMapInterpolate1"]("-",n.selector,""),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.settings.isVisible),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!o&&n.selector===i.htmlFieldType)}}function EditableFieldsComponent_div_1_div_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div"),r["ɵɵelementStart"](1,"sf-field-section",7),r["ɵɵlistener"]("sectionToggle",(function EditableFieldsComponent_div_1_div_1_Template_sf_field_section_sectionToggle_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).toggleSection(e)})),r["ɵɵtemplate"](2,EditableFieldsComponent_div_1_div_1_div_2_Template,3,5,"div",8),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;r["ɵɵadvance"](1),r["ɵɵproperty"]("section",o),r["ɵɵattribute"]("data-sftest-title",o.settings.title)("data-sftest-name",o.settings.name),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",o.fields)}}function EditableFieldsComponent_div_1_3_ng_template_0_sf_form_field_wrapper_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-form-field-wrapper",10),r["ɵɵlistener"]("ngModelChange",(function EditableFieldsComponent_div_1_3_ng_template_0_sf_form_field_wrapper_0_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"](2).$implicit,o=r["ɵɵnextContext"](2);return o.onChange(e,t.key,o.section)}))("markAsDirty",(function EditableFieldsComponent_div_1_3_ng_template_0_sf_form_field_wrapper_0_Template_sf_form_field_wrapper_markAsDirty_0_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"](2).$implicit;return r["ɵɵnextContext"](2).setMarkAsDirty(e,t.key)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2).$implicit,i=r["ɵɵnextContext"](2);r["ɵɵproperty"]("formControlName",o.key)("fieldModel",o)("look",o.settings.look)("formControl",i.form.controls[o.key])}}function EditableFieldsComponent_div_1_3_ng_template_0_Template(e,t){if(1&e&&r["ɵɵtemplate"](0,EditableFieldsComponent_div_1_3_ng_template_0_sf_form_field_wrapper_0_Template,1,4,"sf-form-field-wrapper",9),2&e){var n=r["ɵɵnextContext"]().$implicit;r["ɵɵproperty"]("ngIf",n.settings.isVisible)}}function EditableFieldsComponent_div_1_3_Template(e,t){if(1&e&&r["ɵɵtemplate"](0,EditableFieldsComponent_div_1_3_ng_template_0_Template,1,1,"ng-template",11),2&e){var n=t.$implicit;r["ɵɵproperty"]("conditionalFieldRule",n.settings.conditionalRule)}}function EditableFieldsComponent_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",4),r["ɵɵtemplate"](1,EditableFieldsComponent_div_1_div_1_Template,3,4,"div",5),r["ɵɵelement"](2,"sf-error",6),r["ɵɵtemplate"](3,EditableFieldsComponent_div_1_3_Template,1,1,void 0,5),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵproperty"]("formGroup",n.form),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.fieldSections),r["ɵɵadvance"](1),r["ɵɵproperty"]("messages",n.errorMessages),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.hiddenFields)}}var I="sections",v=function(e){function EditableFieldsComponent(t,n,o,s,A){var l=e.call(this)||this;return l.window=t,l.mirrorService=n,l.detector=o,l.storage=s,l.fieldChangeHandlers=A,l.shouldResetMirroring=!0,l.contentLoaderHeight=Object(b.getCssVariableValueAsNumber)(C.CSS_VARIABLES.EDITOR_INLINE_HEIGHT_LONG,"sf-app")||300,l.fieldChange=new r.EventEmitter,l.htmlFieldType=p.FieldTypes.html,l.form=new a.FormGroup({}),l._dirty=new i.Subject,l.toBeMarkedAsDirty=[],l.boundFields=[],l.initialFieldCheck=!1,l.cachedFieldValues={},l}return Object(o.__extends)(EditableFieldsComponent,e),Object.defineProperty(EditableFieldsComponent.prototype,"dirty",{get:function(){return this._dirty.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(EditableFieldsComponent.prototype,"status",{get:function(){var e=this.wrapperComponents.map((function(e){return e.status}));return e.length?i.combineLatest.apply(void 0,Object(o.__spreadArrays)(e,[function(){for(var e=[],t=0;t=0,a=i?i.getValue():null,s=null!=a,A=!i&&-1!==t.boundFields.findIndex((function(e){return e.conditionalFieldKey===o}));!r&&!s||A||i&&i.fieldModel.settings.isVisible&&(!e||r)&&(i.fieldModel.settings instanceof E.CompositeFieldSettings?(a=i.postProcessValue(a))&&Object.keys(a).forEach((function(e){void 0!==a[e]&&(n[e]=a[e])})):(a=i.postProcessValue(t.form.value[o]),n[o]=a))})),Object.keys(n).length?n:null},EditableFieldsComponent.prototype.reset=function(e){var t=this;if(this.toBeMarkedAsDirty=[],this.wasFormDirty){if(e){var n=Object.keys(this.form.controls).reduce((function(n,o){return n[o]=e[o]||t.form.controls[o].value,n}),{});this.form.setValue(n)}this.wasFormDirty=!1,this.form.markAsPristine(),this._dirty.next(!1),this.copyMode=!1}this.createFieldConditions(),this.processConditionalFields()},EditableFieldsComponent.prototype.scrollToFirstErrorField=function(){for(var e=!0,_loop_1=function(n){var o=t.wrapperComponents[n];if(o.hasErrors()){var i=t.fieldSections.find((function(e){return-1!==e.fields.indexOf(o.fieldModel)}));i&&i.settings&&(i.settings.isExpanded=!0),e&&(e=!1,t.window.setTimeout((function(){o.scrollToField()})))}},t=this,n=0;n-1&&(t.fields[n]=e)}))},EditableFieldsComponent.prototype.getDirtyFields=function(){return this.getDirtyFieldsKeys()},EditableFieldsComponent.prototype.updateMirroring=function(e,t){var n=this;e.forEach((function(e){e.fields.forEach((function(e){var o=n.mirrorService.isFieldAvailableForMirroring(t,e);n.mirrorService.updateMirroring(e,o)}))}))},EditableFieldsComponent.prototype.enableRequiredErrorCheck=function(){this.wrapperComponents&&this.wrapperComponents.forEach((function(e){return e.enableRequiredErrorCheck=!0}))},EditableFieldsComponent.prototype.triggerErrors=function(){this.wrapperComponents&&this.wrapperComponents.forEach((function(e){return e.hasErrors()}))},EditableFieldsComponent.prototype.triggerValidCheck=function(){return this.commitValues(),this.enableRequiredErrorCheck(),this.valid()},EditableFieldsComponent.prototype.toggleSection=function(e){if(this.moduleName){var t=this.getSectionsState(),n=t[this.moduleName]||{};n[e.sectionName]=e.isExpanded,t[this.moduleName]=n,this.storage.setItem(I,JSON.stringify(t))}},EditableFieldsComponent.prototype.setWrapperComponents=function(e){var t=this;this.wrapperComponents=e,this.wrapperComponents.forEach((function(e){e.registerAllowDialogOpenCallback(t.allowDialogOpenCallback),e.invokeOutputTemplateCallback(t.dynamicTemplates),t.hiddenFields&&t.hiddenFields.forEach((function(e){t.form.setControl(e.key,new a.FormControl(e.value,{validators:e.settings.validators}))}))}))},EditableFieldsComponent.prototype.processErrors=function(e){this.errorMessages=new f.FieldValidation(this).getErrorMessage(e)},EditableFieldsComponent.prototype.getSectionsState=function(){var e=this.storage.getItem(I);return e=e?JSON.parse(e):{}},EditableFieldsComponent.prototype.handleCopyMode=function(){this.copyMode&&(this.wrapperComponents.forEach((function(e){e.formControl.markAsDirty()})),this.detector.detectChanges())},EditableFieldsComponent.prototype.disableHiddenFieldsFromForm=function(){var e=this;Object.keys(this.form.controls).forEach((function(t){var n=e.wrapperComponents.find((function(e){return e.fieldModel.key===t})),o=e.form.controls[t];o&&(n?o.enable():o.disable())})),this.detector.detectChanges()},EditableFieldsComponent.prototype.getDirtyFieldsKeys=function(){var e=this,t=[];return Object.keys(this.form.controls).forEach((function(n){var o=e.wrapperComponents.find((function(e){return e.fieldModel.key===n}));e.form.controls[n].dirty&&o&&t.push(o.fieldModel.key)})),t},EditableFieldsComponent.prototype.processConditionalFields=function(){var e=this,t={},n={};this.boundFields.forEach((function(o){e.fieldSections.forEach((function(e){e.fields.forEach((function(e){n[e.key]||o.masterFieldKey!==e.key?t[e.key]||o.conditionalFieldKey!==e.key||(t[e.key]=e):n[e.key]=e}))}))}));var _loop_2=function(i){var r=t[i],a=[],A=r.settings.conditionalRule,l=A.operator;A.conditions.forEach((function(t){var o,i=e.wrapperComponents?e.wrapperComponents.find((function(e){return e.fieldModel.key===t.fieldName})):null;if(i||r){var A=void 0;if(i)A=i.getValue();else{var l=n[t.fieldName];if(!l)return;A=s.FormFieldWrapperComponent.normalizeValue(l,l.value).value}t.value=t.value&&t.value.toLocaleLowerCase?t.value.toLocaleLowerCase():t.value,A=A&&A.toLocaleLowerCase?A.toLocaleLowerCase():A,o=t.operator===B.RuleConditionOperator.Equals?A===t.value:t.operator===B.RuleConditionOperator.NotContains?!A||!A.includes||!A.includes(t.value):t.operator===B.RuleConditionOperator.NotEquals?A!==t.value:!!A&&A.includes&&A.includes(t.value)}else o=!1;a.push(o)}));var c=a[0],d=a.reduce((function(e,t){return l===B.RuleOperator.And?e&&t:e||t}),c),p=d!==r.settings.isVisible;p&&!d&&(o.form.get(i).updateValueAndValidity(),o.cacheFieldValues(r)),r.settings.isVisible=d,d?o.form.get(i).setValidators(r.settings.validators):o.form.get(i).clearValidators(),o.form.get(i).updateValueAndValidity(),p&&d&&o.getCachedValues(r),o.fieldSections.forEach((function(e){if(e.fields.some((function(e){return e===r}))&&r.settings.isVisible)e.settings.isHidden=!r.settings.isVisible;else if(!e.settings.isHidden){var t=e.fields.some((function(e){return e.settings.isVisible}));e.settings.isHidden=!t}}))},o=this;for(var i in t)_loop_2(i)},EditableFieldsComponent.prototype.createFieldConditions=function(){var e=this;if(this.fieldSections){this.boundFields=[];var t=[];this.fieldSections.forEach((function(n){t.push.apply(t,n.fields),n.fields.filter((function(e){return e.settings.conditionalRule&&"UrlName"!==e.key&&!(e.settings.dataItem&&e.key===e.settings.dataItem.metadata.defaultFieldName)})).forEach((function(t){t.settings.conditionalRule.conditions.forEach((function(n){e.boundFields.push({masterFieldKey:n.fieldName,conditionalFieldKey:t.settings.key})}))}))})),this.boundFields.forEach((function(n,o){if(!t.some((function(e){return e.key===n.masterFieldKey})))throw t.find((function(e){return n.conditionalFieldKey===e.key})).settings.conditionalRule=void 0,e.boundFields.splice(o,1),"Invalid source field name in conditional rule for field with key '"+n.conditionalFieldKey+"'"}))}},EditableFieldsComponent.prototype.cacheFieldValues=function(e){if(this.wrapperComponents){var t=this.wrapperComponents.find((function(t){return t.fieldModel.key===e.key}));if(t&&t.formControl.dirty){var n=t.getValue();"sf-wrapper-html"===t.fieldModel.selector&&null===n&&(n=t.value),this.cachedFieldValues[e.key]=n}}},EditableFieldsComponent.prototype.getCachedValues=function(e){var t=this;this.fieldSections.forEach((function(n){n.fields.forEach((function(n){n.key===e.key&&e.key in t.cachedFieldValues&&(n.value=t.cachedFieldValues[e.key])}))})),delete this.cachedFieldValues[e.key]},EditableFieldsComponent.ɵfac=function EditableFieldsComponent_Factory(e){return new(e||EditableFieldsComponent)(r["ɵɵdirectiveInject"](c.WINDOW_TOKEN),r["ɵɵdirectiveInject"](l.MirrorService),r["ɵɵdirectiveInject"](r.ChangeDetectorRef),r["ɵɵdirectiveInject"](m.LOCAL_STORAGE),r["ɵɵdirectiveInject"](h.FIELDS_CHANGE_SERVICE_TOKEN))},EditableFieldsComponent.ɵcmp=r["ɵɵdefineComponent"]({type:EditableFieldsComponent,selectors:[["sf-editable-fields"]],viewQuery:function EditableFieldsComponent_Query(e,t){if(1&e&&(r["ɵɵviewQuery"](k.DynamicTemplateDirective,1),r["ɵɵviewQuery"](s.FormFieldWrapperComponent,1)),2&e){var n=void 0;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.dynamicTemplates=n),r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.wrapperComponentsQuery=n)}},inputs:{fieldSections:"fieldSections",hiddenFields:"hiddenFields",copyMode:"copyMode",formValidators:"formValidators",allowDialogOpenCallback:"allowDialogOpenCallback",moduleName:"moduleName",shouldResetMirroring:"shouldResetMirroring",contentLoaderHeight:"contentLoaderHeight"},outputs:{fieldChange:"fieldChange"},features:[r["ɵɵInheritDefinitionFeature"],r["ɵɵNgOnChangesFeature"]],decls:2,vars:2,consts:[[4,"ngIf"],["role","form",3,"formGroup",4,"ngIf"],["look","skeleton single-title sf-mb-2xl"],["look","skeleton fluid-content",3,"height"],["role","form",3,"formGroup"],[4,"ngFor","ngForOf"],[3,"messages"],[3,"section","sectionToggle"],[3,"class",4,"ngFor","ngForOf"],[3,"formControlName","fieldModel","look","formControl","ngModelChange","markAsDirty",4,"ngIf"],[3,"formControlName","fieldModel","look","formControl","ngModelChange","markAsDirty"],["sfDynamicTemplate","",3,"conditionalFieldRule"]],template:function EditableFieldsComponent_Template(e,t){1&e&&(r["ɵɵtemplate"](0,EditableFieldsComponent_ng_container_0_Template,3,1,"ng-container",0),r["ɵɵtemplate"](1,EditableFieldsComponent_div_1_Template,4,4,"div",1)),2&e&&(r["ɵɵproperty"]("ngIf",!t.fieldSections),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.fieldSections))},styles:[".sf-form.-dynamic-item .sf-field {\n width: 75%;\n}\n.sf-form.-dynamic-item .-sf-number .sf-input {\n width: 50%;\n}\n.sf-form.-dynamic-item .-sf-wrapper-html .sf-field,\n.sf-form.-dynamic-item .-sf-short-text-default .sf-field {\n width: 100%;\n}\n.sf-form .-sf-short-text,\n.sf-form .-sf-taxa,\n.sf-form .-sf-media {\n display: block;\n}\n.sf-form .sf-row .sf-field {\n width: auto;\n}\n.sf-form .-sf-wrapper-html {\n position: relative;\n}\n.sf-form .-sf-wrapper-html .sf-field__hint {\n margin-top: 10px;\n}"],encapsulation:2}),EditableFieldsComponent}(u.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"FORM_FIELD_VALUE_ACCESSOR",(function(){return B})),n.d(t,"FormFieldWrapperComponent",(function(){return k}));var o=n(259),i=n(229),r=n(324),a=n(364),s=(n(267),n(336)),A=n(369),l=n(1123),c=n(352),d=n(351),p=n(359),f=n(1124),u=n(353),m=n(264),g=n(354),E=n(261),h=n(1070),b=["loader"],C=["wrapper"];function FormFieldWrapperComponent_ng_container_2_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FormFieldWrapperComponent_div_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵelement"](1,"sf-warning",11),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("messages",n.warningMessages)}}function FormFieldWrapperComponent_div_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",12),i["ɵɵelement"](1,"sf-error",11),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵclassProp"]("-underline",n.fieldModel.settings.underlineErrors),i["ɵɵadvance"](1),i["ɵɵproperty"]("messages",n.errorMessages)}}function FormFieldWrapperComponent_div_5_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",12),i["ɵɵelement"](1,"sf-error",11),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵclassProp"]("-underline",n.fieldModel.settings.underlineErrors),i["ɵɵadvance"](1),i["ɵɵproperty"]("messages",n.errorMessagesOnValueChange)}}function FormFieldWrapperComponent_ng_container_6_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FormFieldWrapperComponent_div_7_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",13),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.fieldModel.settings.emptyValueText," ")}}function FormFieldWrapperComponent_ng_template_8_legend_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"legend",16),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.fieldModel.settings.title," ")}}function FormFieldWrapperComponent_ng_template_8_ng_container_2_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FormFieldWrapperComponent_ng_template_8_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"fieldset"),i["ɵɵtemplate"](1,FormFieldWrapperComponent_ng_template_8_legend_1_Template,2,1,"legend",14),i["ɵɵtemplate"](2,FormFieldWrapperComponent_ng_template_8_ng_container_2_Template,1,0,"ng-container",15),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](),o=i["ɵɵreference"](13);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.fieldModel.settings.title&&n.fieldModel.settings.showTitle),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",o)}}var _c2=function(e){return{"-sf-invisible":e}};function FormFieldWrapperComponent_ng_template_10_label_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"label",18),i["ɵɵlistener"]("click",(function FormFieldWrapperComponent_ng_template_10_label_0_Template_label_click_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onFocus()})),i["ɵɵtext"](1),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](3,_c2,!(o.fieldModel.settings.visibleTitle||o.hasValue||o.fieldModel.settings.tooltipModels&&0!==o.fieldModel.settings.tooltipModels.size))),i["ɵɵattribute"]("for",o.fieldModel.settings.key?o.fieldModel.settings.key:null),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",o.fieldModel.settings.title," ")}}function FormFieldWrapperComponent_ng_template_10_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FormFieldWrapperComponent_ng_template_10_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,FormFieldWrapperComponent_ng_template_10_label_0_Template,2,5,"label",17),i["ɵɵtemplate"](1,FormFieldWrapperComponent_ng_template_10_ng_container_1_Template,1,0,"ng-container",15)),2&e){var n=i["ɵɵnextContext"](),o=i["ɵɵreference"](13);i["ɵɵproperty"]("ngIf",n.fieldModel.settings.title&&n.fieldModel.settings.showTitle),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",o)}}function FormFieldWrapperComponent_ng_template_12_span_0_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"span",23),i["ɵɵtext"](1," (for all translations) "),i["ɵɵelementEnd"]())}function FormFieldWrapperComponent_ng_template_12_span_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",23),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.fieldModel.settings.inlineDescription," ")}}function FormFieldWrapperComponent_ng_template_12_span_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"span",24),i["ɵɵelementStart"](1,"sf-icon",25),i["ɵɵlistener"]("click",(function FormFieldWrapperComponent_ng_template_12_span_2_Template_sf_icon_click_1_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onToggleTooltip()}))("keyup.enter",(function FormFieldWrapperComponent_ng_template_12_span_2_Template_sf_icon_keyup_enter_1_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onToggleTooltip()})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"sf-notification",26),i["ɵɵelement"](3,"sf-markup-generator",27),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵclassProp"]("-dropped",o.droppedTooltip),i["ɵɵadvance"](3),i["ɵɵproperty"]("markupModel",o.getTooltip())}}function FormFieldWrapperComponent_ng_template_12_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelement"](1,"sf-icon",28),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("title",n.fieldModel.settings.statusMessage)}}var _c3=function(e){return{"-sf-mt-zero":e}};function FormFieldWrapperComponent_ng_template_12_sf_component_loader_4_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-component-loader",29,30),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,_c3,!n.fieldModel.settings.showTitle&&!n.fieldModel.settings.isNestedInParentControl))("componentData",n.componentData)}}function FormFieldWrapperComponent_ng_template_12_span_5_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",31),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.fieldModel.settings.instructionalNotes," ")}}function FormFieldWrapperComponent_ng_template_12_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,FormFieldWrapperComponent_ng_template_12_span_0_Template,2,0,"span",19),i["ɵɵtemplate"](1,FormFieldWrapperComponent_ng_template_12_span_1_Template,2,1,"span",19),i["ɵɵtemplate"](2,FormFieldWrapperComponent_ng_template_12_span_2_Template,4,3,"span",20),i["ɵɵtemplate"](3,FormFieldWrapperComponent_ng_template_12_ng_container_3_Template,2,1,"ng-container",3),i["ɵɵtemplate"](4,FormFieldWrapperComponent_ng_template_12_sf_component_loader_4_Template,2,4,"sf-component-loader",21),i["ɵɵtemplate"](5,FormFieldWrapperComponent_ng_template_12_span_5_Template,2,1,"span",22)),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",!n.fieldModel.settings.translatable&&n.fieldModel.settings.showForAllTranslationsLabel),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.fieldModel.settings.inlineDescription),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",(null==n.fieldModel.settings.tooltipModels?null:n.fieldModel.settings.tooltipModels.size)&&n.showTooltip),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.fieldModel.settings.status&&!n.fieldModel.settings.isGroup),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",(!n.warningMessages||0==n.warningMessages.length)&&n.componentData),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.fieldModel.settings.instructionalNotes)}}var _c4=function(e,t){return{"-sf-mt-4xs":e,"-sf-mb-3xs":t}};function FormFieldWrapperComponent_ng_template_14_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",33),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction2"](2,_c4,!n.fieldModel.settings.hintPositionTop,n.fieldModel.settings.hintPositionTop)),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.fieldModel.settings.instructionalText," ")}}function FormFieldWrapperComponent_ng_template_14_Template(e,t){if(1&e&&i["ɵɵtemplate"](0,FormFieldWrapperComponent_ng_template_14_div_0_Template,2,5,"div",32),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",n.fieldModel.settings.instructionalText&&!n.fieldModel.settings.readOnlyMode)}}var B={provide:r.NG_VALUE_ACCESSOR,useExisting:Object(i.forwardRef)((function(){return k})),multi:!0},k=function(e){function FormFieldWrapperComponent(t,n,o){var r=e.call(this)||this;return r.detector=t,r.scrollService=n,r.filter=o,r.markAsDirty=new i.EventEmitter,r.errorMessages=null,r.errorMessagesOnValueChange=null,r.showErrors=!1,r.warningMessages=null,r.enableRequiredErrorCheck=!1,r.showTooltip=!0,r}return Object(o.__extends)(FormFieldWrapperComponent,e),Object.defineProperty(FormFieldWrapperComponent.prototype,"enterAnimation",{get:function(){return this.enterAnimationState},enumerable:!1,configurable:!0}),Object.defineProperty(FormFieldWrapperComponent.prototype,"status",{get:function(){return this.wrappedField.status$},enumerable:!1,configurable:!0}),Object.defineProperty(FormFieldWrapperComponent.prototype,"focus",{get:function(){if(this.wrappedField)return this.wrappedField.focus$},enumerable:!1,configurable:!0}),Object.defineProperty(FormFieldWrapperComponent.prototype,"currentInstance",{get:function(){return this.loader?this.loader.currentInstance:null},enumerable:!1,configurable:!0}),Object.defineProperty(FormFieldWrapperComponent.prototype,"hasValue",{get:function(){var e=this.wrappedField&&this.wrappedField.value||this.value;return this.fieldModel.settings.emptyValues?!!e&&-1===this.fieldModel.settings.emptyValues.indexOf(e):!!e},enumerable:!1,configurable:!0}),FormFieldWrapperComponent.prototype.ngOnInit=function(){var e=this.guardRegistration(this.fieldModel.selector,this.fieldModel.registration);if(!e)throw new Error("No component registered to handle selector "+this.fieldModel.selector);this.writeValue(this.fieldModel.value);var t=null;this.fieldModel.settings.readOnlyMode?t=e.readComponent:(t=e.writeComponent,this.formControl&&this.formControl.setValue(this.value)),this.componentData={type:t,properties:{settings:this.fieldModel.settings,value:this.getValue()}},this.showTooltip=this.fieldModel.selector!==d.FieldTypes.shortTextDefault,this.fieldClassName=this.generateCssClassList()},FormFieldWrapperComponent.prototype.ngOnChanges=function(e){var t=e.fieldModel;t&&!t.isFirstChange()&&this.writeValue(this.fieldModel.value)},FormFieldWrapperComponent.prototype.generateCssClassList=function(){var e="";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.fieldModel.cssClass&&(e+=" "+this.fieldModel.cssClass.split(" ").join(" ")),this.showErrors&&this.errorMessages&&(e+=" -has-errors"),e},FormFieldWrapperComponent.prototype.getTooltip=function(){var e=this.fieldModel.settings.tooltipModels,t=e.has(g.DEFAULT_MARKUP_KEY)?g.DEFAULT_MARKUP_KEY:this.getValue();return e.get(t)},FormFieldWrapperComponent.prototype.ngAfterViewInit=function(){var e=this;this.wrappedField=this.currentInstance,this.wrappedField.registerOnTouched(this.onTouchedCallback);var t=this.wrappedField.focus$.subscribe((function(t){if(t&&e.fieldModel.settings.changeOnFocus&&!e.formControl.dirty){var n=e.getValue(),o=e.fieldModel.settings.hasOwnProperty("multiple")&&!0===e.fieldModel.settings.multiple,i=e.fieldModel.settings.hasOwnProperty("allowMultiple")&&!0===e.fieldModel.settings.allowMultiple;o||i?e.wrappedField.writeValue([].concat(n)):"string"==typeof n&&(e.wrappedField.writeValue("temp"),e.wrappedField.writeValue(n))}}));this.registerSubscription(t),this.writeValue(this.value),this.currentInstance,s.FieldBase,this.fieldModel.settings.readOnlyMode?this.wrappedField.hasEmptyValue()&&(this.loader.destroy(),this.componentData=null):(this.handleWarnings(),this.wrappedField.registerOnChange(this.onChangeCallback),this.initErrorHandling()),this.detector.detectChanges(),this.showErrors=!(this.fieldModel.settings instanceof f.CompositeFieldSettings)&&"ComplexSettings"!==this.fieldModel.settings.constructor.name},FormFieldWrapperComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.wrappedField=null},FormFieldWrapperComponent.prototype.writeValue=function(e){var t=FormFieldWrapperComponent.normalizeValue(this.fieldModel,e),n=t.value;this.value=n,t.markAsDirty&&this.markAsDirty.emit(!0),this.wrappedField&&this.wrappedField.writeValue(n)},FormFieldWrapperComponent.prototype.getValue=function(){return this.wrappedField?this.wrappedField.value:this.value},FormFieldWrapperComponent.prototype.postProcessValue=function(e){return this.wrappedField?this.wrappedField.postProcessValue(e):e},FormFieldWrapperComponent.prototype.registerOnChange=function(e){var t=this;this.onOuterChangeCallback=e,this.onChangeCallback=function(e){try{e instanceof u.AsyncFieldValue?(t.formControl.setValue(e.asyncValue,{emitEvent:!1,emitModelToViewChange:!1,emitViewToModelChange:!1}),t.markAsDirty.emit(!0),e=e.asyncValue):t.onOuterChangeCallback(e),t.value=e}catch(e){if(0!==e.message.indexOf("There is no FormControl instance attached to form control element"))throw e}},this.wrappedField&&this.wrappedField.registerOnChange(this.onChangeCallback)},FormFieldWrapperComponent.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},FormFieldWrapperComponent.prototype.registerAllowDialogOpenCallback=function(e){this.wrappedField&&this.wrappedField.registerAllowDialogOpenCallback(e)},FormFieldWrapperComponent.prototype.invokeOutputTemplateCallback=function(e){this.wrappedField&&this.wrappedField.invokeOutputTemplateCallback(e)},FormFieldWrapperComponent.prototype.scrollToField=function(){this.scrollService.scrollTo(this.wrapper)},FormFieldWrapperComponent.prototype.hasErrors=function(){return this.validate(),this.processErrors(this.formControl.errors),!!this.errorMessages&&0!==this.errorMessages.length},FormFieldWrapperComponent.prototype.validate=function(){this.wrappedField&&this.wrappedField.validate()},FormFieldWrapperComponent.prototype.onFocus=function(){this.wrappedField&&this.wrappedField.onFocus()},FormFieldWrapperComponent.prototype.hasEmptyValue=function(){return!!this.wrappedField&&this.wrappedField.hasEmptyValue()},FormFieldWrapperComponent.prototype.onToggleTooltip=function(){this.droppedTooltip=!this.droppedTooltip},FormFieldWrapperComponent.prototype.commitValue=function(){this.wrappedField.commitValue();var e=this.filter.getAllowedErrors(this.formControl.errors,!0);this.processErrors(e),this.errorMessagesOnValueChange=this.errorMessages},FormFieldWrapperComponent.normalizeValue=function(e,t){var n=!1;(e.settings.emptyValues?e.settings.emptyValues.indexOf(t)>=0:null==t)&&e.settings.useDefaultValue&&(t=e.settings.defaultValue,e.settings.markAsDirty&&(n=!0));var o={value:t,markAsDirty:n};return Array.isArray(e.settings.defaultValue)&&!Array.isArray(t)&&(o.value=[t]),o},FormFieldWrapperComponent.prototype.handleWarnings=function(){var e=this.getWarnings();e&&e.length>0&&(this.warningMessages=e)},FormFieldWrapperComponent.prototype.initErrorHandling=function(){this.formControl&&(this.handleFocusChanges(),this.handleStatusChanges(),this.handleValueChanges(),this.handleChangesToHidden())},FormFieldWrapperComponent.prototype.handleValueChanges=function(){var e=this,t=this.formControl.valueChanges.subscribe((function(t){if(e.showErrors){n=e.filter.getAllowedErrors(e.formControl.errors,e.enableRequiredErrorCheck,null);e.processErrors(n)}else{var n=e.filter.getAllowedErrors(e.formControl.errors,e.enableRequiredErrorCheck);e.errorMessagesOnValueChange=n?e.wrappedField.processErrors(n):null}}));this.registerSubscription(t)},FormFieldWrapperComponent.prototype.handleFocusChanges=function(){var e=this,t=this.wrappedField.focus$.subscribe((function(t){e.showErrors=!t,e.errorMessagesOnValueChange=null;var n=e.filter.getAllowedErrors(e.formControl.errors,e.enableRequiredErrorCheck,null);e.processErrors(n)}));this.registerSubscription(t)},FormFieldWrapperComponent.prototype.handleChangesToHidden=function(){var e=this,t=this.wrappedField.hidden$.subscribe((function(t){e.hidden=t}));this.registerSubscription(t)},FormFieldWrapperComponent.prototype.handleStatusChanges=function(){var e=this,t=this.wrappedField.status$.subscribe((function(t){var n=e.formControl.errors;if(t.type===c.StatusType.Error){var o=Object.assign({},n,t.data);e.formControl.setErrors(o),e.processErrors(o),e.detector.detectChanges(),e.scrollToField()}else if(t.type===c.StatusType.ErrorCleared&&t.data&&n){var i=Object.keys(t.data),r=Object.assign({},n);i.forEach((function(e){r.hasOwnProperty(e)&&delete r[e]})),0===Object.keys(r).length&&(r=null),e.formControl.setErrors(r)}else t.type===c.StatusType.Warning&&e.handleWarnings()}));this.registerSubscription(t)},FormFieldWrapperComponent.prototype.processErrors=function(e){this.errorMessages=e?this.wrappedField.processErrors(e):null,this.fieldClassName=this.generateCssClassList()},FormFieldWrapperComponent.prototype.getWarnings=function(){return this.wrappedField?this.wrappedField.getWarnings():[]},FormFieldWrapperComponent.prototype.guardRegistration=function(e,t){if(!t)throw new Error("No field registration found for selector "+this.fieldModel.selector);if(!t.writeComponent)throw new Error("No write component registered to handle selector "+this.fieldModel.selector);var n={writeComponent:t.writeComponent,readComponent:t.readComponent,settingsType:t.settingsType};return n.readComponent||(n.readComponent=p.ReadComponent),n},FormFieldWrapperComponent.ɵfac=function FormFieldWrapperComponent_Factory(e){return new(e||FormFieldWrapperComponent)(i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](A.ScrollService),i["ɵɵdirectiveInject"](l.ErrorFilter))},FormFieldWrapperComponent.ɵcmp=i["ɵɵdefineComponent"]({type:FormFieldWrapperComponent,selectors:[["sf-form-field-wrapper"]],viewQuery:function FormFieldWrapperComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](b,1),i["ɵɵviewQuery"](C,1)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.loader=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.wrapper=n.first)}},hostVars:1,hostBindings:function FormFieldWrapperComponent_HostBindings(e,t){2&e&&i["ɵɵsyntheticHostProperty"]("@enterAnimation",t.enterAnimation)},inputs:{fieldModel:"fieldModel",formControl:"formControl",look:"look"},outputs:{markAsDirty:"markAsDirty"},features:[i["ɵɵProvidersFeature"]([B]),i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:16,vars:14,consts:[[1,"sf-field",3,"hidden","ngClass"],["wrapper",""],[4,"ngIf","ngIfThen","ngIfElse"],[4,"ngIf"],["class","sf-field__error",3,"-underline",4,"ngIf"],[4,"ngIf","ngIfThen"],["class","sf-field__no-value",4,"ngIf"],["fieldsetTemplate",""],["fieldOnlyTemplate",""],["contents",""],["hint",""],[3,"messages"],[1,"sf-field__error"],[1,"sf-field__no-value"],["class","sf-field__label -legend",4,"ngIf"],[4,"ngTemplateOutlet"],[1,"sf-field__label","-legend"],["class","sf-field__label","data-sftest","field-label",3,"ngClass","click",4,"ngIf"],["data-sftest","field-label",1,"sf-field__label",3,"ngClass","click"],["class","-sf-txt-dimmed",4,"ngIf"],["class","-sf-ml-4xs sf-field__tooltip sf-tooltip -open-on-click",3,"-dropped",4,"ngIf"],["class","sf-field__content",3,"ngClass","componentData",4,"ngIf"],["class","-sf-txt-dimmed -sf-txt-base","data-sftest","instructionalNotes",4,"ngIf"],[1,"-sf-txt-dimmed"],[1,"-sf-ml-4xs","sf-field__tooltip","sf-tooltip","-open-on-click"],["name","question-circle","look","size-xs sf-clickable","tabindex","0","aria-label","Details","data-sftest","hint-icon",3,"click","keyup.enter"],["look","tooltip medium",1,"sf-tooltip__content"],[3,"markupModel"],["name","lock",3,"title"],[1,"sf-field__content",3,"ngClass","componentData"],["loader",""],["data-sftest","instructionalNotes",1,"-sf-txt-dimmed","-sf-txt-base"],["class","sf-field__hint",3,"ngClass",4,"ngIf"],[1,"sf-field__hint",3,"ngClass"]],template:function FormFieldWrapperComponent_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",0,1),i["ɵɵtemplate"](2,FormFieldWrapperComponent_ng_container_2_Template,1,0,"ng-container",2),i["ɵɵtemplate"](3,FormFieldWrapperComponent_div_3_Template,2,1,"div",3),i["ɵɵtemplate"](4,FormFieldWrapperComponent_div_4_Template,2,3,"div",4),i["ɵɵtemplate"](5,FormFieldWrapperComponent_div_5_Template,2,3,"div",4),i["ɵɵtemplate"](6,FormFieldWrapperComponent_ng_container_6_Template,1,0,"ng-container",5),i["ɵɵtemplate"](7,FormFieldWrapperComponent_div_7_Template,2,1,"div",6),i["ɵɵelementEnd"](),i["ɵɵtemplate"](8,FormFieldWrapperComponent_ng_template_8_Template,3,2,"ng-template",null,7,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](10,FormFieldWrapperComponent_ng_template_10_Template,2,2,"ng-template",null,8,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](12,FormFieldWrapperComponent_ng_template_12_Template,6,6,"ng-template",null,9,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](14,FormFieldWrapperComponent_ng_template_14_Template,1,1,"ng-template",null,10,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](9),o=i["ɵɵreference"](11),r=i["ɵɵreference"](15);i["ɵɵproperty"]("hidden",t.hidden)("ngClass",t.fieldClassName),i["ɵɵattribute"]("data-required",t.fieldModel.settings.required)("data-sftest-component",t.fieldModel.registration.writeComponent.name)("data-sftest-title",t.fieldModel.settings.title),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",t.fieldModel.settings.hasFieldset)("ngIfThen",n)("ngIfElse",o),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.warningMessages),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.showErrors&&!!t.errorMessages),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.showErrors&&!!t.errorMessagesOnValueChange),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.fieldModel.settings.hintPositionTop)("ngIfThen",r),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.componentData)}},directives:[E.NgClass,E.NgIf,h.WarningComponent,g.SfErrorComponent,E.NgTemplateOutlet,g.SfIconComponent,g.SfNotificationComponent,g.SfMarkupGeneratorComponent,g.SfDynamicComponentLoaderComponent],encapsulation:2,data:{animation:[Object(a.trigger)("enterAnimation",[Object(a.transition)("* => fadeIn",[Object(a.style)({opacity:0}),Object(a.animate)("500ms ease-out",Object(a.style)({opacity:1}))])])]}}),FormFieldWrapperComponent}(m.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ErrorFilter",(function(){return a}));var o=n(338),i=n(342),r=n(229),a=function(){function ErrorFilter(){}return ErrorFilter.prototype.getAllowedErrors=function(e,t,n){void 0===n&&(n=ErrorFilter.allowedErrorsNames);var i=null;return e&&Object.keys(e).forEach((function(r){if(r!==o.VALIDATOR_NAMES.REQUIRED||t){var a=ErrorFilter.allowedErrorsPrefixes.some((function(e){return r.startsWith(e)}));(null===n||ErrorFilter.allowedErrorsNames.some((function(e){return e===r}))||a)&&((i=i||{})[r]=e[r])}})),i},ErrorFilter.allowedErrorsNames=[o.VALIDATOR_NAMES.REQUIRED,o.VALIDATOR_NAMES.DIGITS_LIMIT,o.VALIDATOR_NAMES.MAX_LENGTH],ErrorFilter.allowedErrorsPrefixes=[i.CUSTOM_ERROR_PREFIX],ErrorFilter.ɵfac=function ErrorFilter_Factory(e){return new(e||ErrorFilter)},ErrorFilter.ɵprov=r["ɵɵdefineInjectable"]({token:ErrorFilter,factory:ErrorFilter.ɵfac}),ErrorFilter}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CompositeFieldSettings",(function(){return i}));var o=n(259),i=function(e){function CompositeFieldSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(CompositeFieldSettings,e),CompositeFieldSettings}(n(332).SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"MirrorService",(function(){return l}));var o=n(1126),i=n(356),r=n(266),a=n(246),s=n(351),A=n(229),l=function(){function MirrorService(e){this.sanitizeService=e,this.mirrorMappings={}}return MirrorService.prototype.mirrorValue=function(e,t,n,o){var r=this;if(void 0===o&&(o=!1),e===a.stringConstants.EMPTY_STRING){var _loop_1=function(e){s.mirrorMappings.hasOwnProperty(e)&&s.mirrorMappings[e].forEach((function(o){if(o.key===t&&o.shouldMirror){if(o.wrapper||(o.wrapper=r.getWrapper(o.key,n)),o.wrapper.focus){var a=r.getWrapper(e,n),s=a.getValue();s||(Object(i.isMirrorFieldSettings)(a.fieldModel.settings)&&a.fieldModel.settings.mirroredFieldName?(a=r.getWrapper(a.fieldModel.settings.mirroredFieldName,n),s=a.getValue()||a.value):s=a.value);var A=o.wrapper.fieldModel.settings.mirroredFieldProperty;s=r.getMirroredValueProperty(s,A);var l=r.isHTMLField(a.fieldModel)?r.stripHtml(s):s;r.focusSubscription&&!r.focusSubscription.closed||(r.focusSubscription=o.wrapper.focus.subscribe((function(e){if(!e){var t=o.wrapper.fieldModel.settings,n=t.sanitizeRegex,i=r.sanitizeService.getReplaceCharacter(t);o.wrapper.writeValue(r.sanitizeService.sanitizeValue(l,n,i)),o.lastValue=s}}))),o.wrapper.fieldModel.settings.placeholder=l}}else;}))},s=this;for(var A in this.mirrorMappings)_loop_1(A)}else this.focusSubscription&&this.focusSubscription.unsubscribe();var l=this.mirrorMappings[t];l&&l.forEach((function(i){if(i&&i.shouldMirror){if(i.wrapper||(i.wrapper=r.getWrapper(i.key,n)),!i.wrapper)return;var s=i.wrapper.fieldModel.settings,A=s.sanitizeRegex,l=r.sanitizeService.getReplaceCharacter(s),c=r.getMirroredValueProperty(e,s.mirroredFieldProperty),d=null===i.lastValue&&(null===i.wrapper.getValue()||i.wrapper.getValue()===a.stringConstants.EMPTY_STRING),p=r.sanitizeService.sanitizeValue(i.lastValue,A,l)===i.wrapper.getValue(),f=r.sanitizeService.sanitizeValue(r.stripHtml(i.lastValue),A,l)===i.wrapper.getValue();if(d||p||f){var u=r.getWrapper(t,n),m=r.isHTMLField(u.fieldModel)?r.stripHtml(c):c,g=r.sanitizeService.sanitizeValue(m,A,l);i.wrapper.writeValue(g),i.lastValue=e;var E=i.wrapper.fieldModel.settings;o||!d||E.defaultValue||(E.defaultValue=g)}else i.lastValue=void 0}}))},MirrorService.prototype.determineShouldMirrorField=function(e,t){if(Object(i.isMirrorFieldSettings)(e.settings)){var n=e.settings;if(n){var o=n.mirroredFieldName,r=t.find((function(e){return e.key===o}));if(r&&n.enableMirroring){this.mirrorMappings[o]instanceof Array||(this.mirrorMappings[o]=[]);var a=this.getMirroredValueProperty(r.value,n.mirroredFieldProperty);if(this.mirrorMappings[o].push({key:e.key,lastValue:a||null,shouldMirror:!0}),!e.value&&a){var s=this.isHTMLField(r)?this.stripHtml(a):a;e.value=s}}}}},MirrorService.prototype.isFieldAvailableForMirroring=function(e,t){if(!e.data||!e.key)return!0;if(t.settings&&t.settings.readOnlyMode)return!1;var n=!0;if(e.metadata.hasLifecycle){if(!e.data.hasOwnProperty(r.Properties.FIRST_PUBLISHED))return!0;n=null!==e.data[r.Properties.FIRST_PUBLISHED]}else{e.data.hasOwnProperty(r.Properties.AvailableLanguages)&&e.culture&&(n=e.data[r.Properties.AvailableLanguages].indexOf(e.culture)>=0)}return!n||t.key!==r.Properties.URL_NAME&&t.key!==r.Properties.NAME},MirrorService.prototype.updateMirroring=function(e,t){if(Object(i.isMirrorFieldSettings)(e.settings)){var n=e.settings;if(n.enableMirroring!==t){n.enableMirroring=t;var o=this.mirrorMappings[n.mirroredFieldName];if(o){var r=o.find((function(t){return t.key===e.key}));r&&(r.shouldMirror=n.enableMirroring)}}}},MirrorService.prototype.resetMirroring=function(){this.mirrorMappings={}},MirrorService.prototype.getMirroredValueProperty=function(e,t){return e instanceof Array&&(e=e[0]),t&&e&&(e=e[t]),e},MirrorService.prototype.getWrapper=function(e,t){for(var n=0,o=t;n0},enumerable:!1,configurable:!0}),Object.defineProperty(AuxServiceBase.prototype,"activityStatus",{get:function(){return this._activityStatus.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(AuxServiceBase.prototype,"currentActivityStatus",{get:function(){return this._activityStatus.getValue()},enumerable:!1,configurable:!0}),AuxServiceBase.prototype.getCommands=function(e){var t=this.mappings.get(e);return t&&t.command?t.command.asObservable():this.globalCommand.asObservable()},AuxServiceBase.prototype.getData=function(e){return this.mappings.has(e)?this.mappings.get(e).data:null},AuxServiceBase.prototype.setData=function(e,t){this.mappings.set(e,{data:t,command:new o.ReplaySubject(1)})},AuxServiceBase.prototype.reset=function(){this.mappings.clear()},AuxServiceBase.prototype.show=function(e,t){if(!this.mappings.has(e))throw new Error("The key "+e+" has no auxiliary mapping defined. Use setMapping to set a value.");if(!t)throw new Error("No relative route to navigate to.");if(this.active&&this.routeStack[this.routeStack.length-1].key===e)return;var n=this.getSettings();this.routeStack.push({key:e,route:t});var o=n.prefix+"/"+e;this._activityStatus.next({route:e,active:this.active}),this.navigate(n,o,t)},AuxServiceBase.prototype.hide=function(e,t){void 0===e&&(e=null),void 0===t&&(t=!1);var n=this.getSettings();if(null===e&&!this.active)throw new Error("Cannot navigate as there is no active state and a parent route is not provided.");var o=null,i=this.getCurrentRoute(t);return i&&(e=i.route,this._activityStatus.next({route:i.key,active:this.active}),this.active&&(o=n.prefix+"/"+i.key)),this.navigate(n,o,e)},AuxServiceBase.prototype.sendCommand=function(e,t){this.mappings.has(e)&&this.mappings.get(e).command.next(t);this.globalCommand.next(t)},AuxServiceBase.prototype.navigate=function(e,t,n){var o,i={outlets:(o={},o[e.outletName]=t,o)};return this.router.navigate([i],{relativeTo:n,queryParamsHandling:"merge"})},AuxServiceBase.prototype.getCurrentRoute=function(e){if(this.active){if(e){var t=this.routeStack.shift();return this.routeStack.length=0,t}t=this.routeStack.pop();return this.active&&(t=this.routeStack[this.routeStack.length-1]),t}},AuxServiceBase}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ModalSelectorComponent",(function(){return c}));var o=n(259),i=n(264),r=n(354),a=n(11),s=n(229),A=n(261),l=n(1132);function ModalSelectorComponent_ng_container_1_ng_template_1_Template(e,t){}function ModalSelectorComponent_ng_container_1_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementContainerStart"](0),s["ɵɵtemplate"](1,ModalSelectorComponent_ng_container_1_ng_template_1_Template,0,0,"ng-template",4),s["ɵɵlistener"]("tabClick",(function ModalSelectorComponent_ng_container_1_Template_ng_template_tabClick_1_listener(){s["ɵɵrestoreView"](n);var e=t.$implicit;return s["ɵɵnextContext"]().onTabClick(e)})),s["ɵɵelementContainerEnd"]()}if(2&e){var o=t.$implicit;s["ɵɵadvance"](1),s["ɵɵproperty"]("name",o.name)("title",o.name||o.title)}}function ModalSelectorComponent_ng_container_3_div_1_ng_container_4_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementContainerStart"](0),s["ɵɵelementStart"](1,"sf-card",9),s["ɵɵlistener"]("onCardSelected",(function ModalSelectorComponent_ng_container_3_div_1_ng_container_4_Template_sf_card_onCardSelected_1_listener(){s["ɵɵrestoreView"](n);var e=t.$implicit;return s["ɵɵnextContext"](3).onWidgetSelection(e.dataItem)})),s["ɵɵelement"](2,"sf-component-loader",10),s["ɵɵelementEnd"](),s["ɵɵelementContainerEnd"]()}if(2&e){var o=t.$implicit;s["ɵɵadvance"](1),s["ɵɵproperty"]("buttonText",o.selectButtonText)("cardTitle",o.dataItem.addWidgetTitle||o.dataItem.title)("cardLabel",o.dataItem.addWidgetTitle||o.dataItem.title),s["ɵɵadvance"](1),s["ɵɵproperty"]("componentData",o.componentData)("templateData",o.templateData)}}function ModalSelectorComponent_ng_container_3_div_1_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"div",6),s["ɵɵelementStart"](1,"h2",7),s["ɵɵtext"](2),s["ɵɵelementEnd"](),s["ɵɵelementStart"](3,"div",8),s["ɵɵtemplate"](4,ModalSelectorComponent_ng_container_3_div_1_ng_container_4_Template,3,5,"ng-container",1),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]()),2&e){var n=t.$implicit;s["ɵɵattribute"]("data-sftest-widget-section",n.title),s["ɵɵadvance"](2),s["ɵɵtextInterpolate"](n.title),s["ɵɵadvance"](2),s["ɵɵproperty"]("ngForOf",n.items)}}function ModalSelectorComponent_ng_container_3_div_2_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"div"),s["ɵɵelement"](1,"sf-icon",11),s["ɵɵelementStart"](2,"p",12),s["ɵɵtext"](3,"No widgets found"),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]())}function ModalSelectorComponent_ng_container_3_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵtemplate"](1,ModalSelectorComponent_ng_container_3_div_1_Template,5,3,"div",5),s["ɵɵtemplate"](2,ModalSelectorComponent_ng_container_3_div_2_Template,4,0,"div",3),s["ɵɵelementContainerEnd"]()),2&e){var n=t.ngIf;s["ɵɵadvance"](1),s["ɵɵproperty"]("ngForOf",n.dataItems),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",!n.totalCount)}}var c=function(e){function ModalSelectorComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.dataContext$=new a.Subject,t}return Object(o.__extends)(ModalSelectorComponent,e),ModalSelectorComponent.prototype.ngOnInit=function(){this.settings.data.searchPlaceholderText=this.settings.data.searchPlaceholderText||"Search..."},ModalSelectorComponent.prototype.ngAfterViewInit=function(){this.loadData(null,null)},ModalSelectorComponent.prototype.onTabClick=function(e){this.loadData(e,null)},ModalSelectorComponent.prototype.onSearch=function(e){this.loadData(null,e)},ModalSelectorComponent.prototype.onWidgetSelection=function(e){this.closeModalCallback(e)},ModalSelectorComponent.prototype.setCloseModalCallback=function(e){this.closeModalCallback=e},ModalSelectorComponent.prototype.loadData=function(e,t){var n=this;e=e||this.settings.tabsConfig.tabs.find((function(e){return e.name===n.tabsComponent.currentTab.name})),t=t||this.searchComponent.searchValue,this.settings.data.load({tab:e,searchVal:t}).subscribe((function(e){n.dataContext$.next(e)}))},ModalSelectorComponent.ɵfac=function ModalSelectorComponent_Factory(e){return d(e||ModalSelectorComponent)},ModalSelectorComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ModalSelectorComponent,selectors:[["sf-modal-selector"]],viewQuery:function ModalSelectorComponent_Query(e,t){if(1&e&&(s["ɵɵviewQuery"](r.SfTabsComponent,3),s["ɵɵviewQuery"](r.SfSearchComponent,3)),2&e){var n=void 0;s["ɵɵqueryRefresh"](n=s["ɵɵloadQuery"]())&&(t.tabsComponent=n.first),s["ɵɵqueryRefresh"](n=s["ɵɵloadQuery"]())&&(t.searchComponent=n.first)}},inputs:{settings:"settings"},features:[s["ɵɵInheritDefinitionFeature"]],decls:5,vars:7,consts:[["tabsLook","sf-mt-m sf-mb-m large",3,"initialTabName"],[4,"ngFor","ngForOf"],[1,"-sf-ml-xs","-sf-txt-align-left",3,"showIcon","placeholderText","searchValueChange"],[4,"ngIf"],["sfTab","",3,"name","title","tabClick"],["class","-sf-mt-6xl",4,"ngFor","ngForOf"],[1,"-sf-mt-6xl"],[1,"-sf-txt-align-left"],[1,"sf-grid","-sf-mt-m","-col-equal-4","-gap-col-xs","-gap-row-xs"],["look","full-width full-height sf-p-xs dashed darker tooltip",3,"buttonText","cardTitle","cardLabel","onCardSelected"],[1,"-sf-full-height","sf-row","-justify-content-center","-align-items-center",3,"componentData","templateData"],["name","search","look","illustrative sf-mt-2xl sf-mb-xl sf-mr-zero"],[1,"-sf-txt-hint"]],template:function ModalSelectorComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"sf-tabs",0),s["ɵɵtemplate"](1,ModalSelectorComponent_ng_container_1_Template,2,2,"ng-container",1),s["ɵɵelementEnd"](),s["ɵɵelementStart"](2,"sf-search",2),s["ɵɵlistener"]("searchValueChange",(function ModalSelectorComponent_Template_sf_search_searchValueChange_2_listener(e){return t.onSearch(e)})),s["ɵɵelementEnd"](),s["ɵɵtemplate"](3,ModalSelectorComponent_ng_container_3_Template,3,2,"ng-container",3),s["ɵɵpipe"](4,"async")),2&e&&(s["ɵɵproperty"]("initialTabName",t.settings.tabsConfig.initialTabName),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngForOf",t.settings.tabsConfig.tabs),s["ɵɵadvance"](1),s["ɵɵproperty"]("showIcon",!0)("placeholderText",t.settings.data.searchPlaceholderText),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",s["ɵɵpipeBind1"](4,5,t.dataContext$)))},directives:[r.SfTabsComponent,A.NgForOf,r.SfSearchComponent,A.NgIf,r.SfTabDirective,l.CardComponent,r.SfDynamicComponentLoaderComponent,r.SfIconComponent],pipes:[A.AsyncPipe],encapsulation:2}),ModalSelectorComponent}(i.RxBaseComponent),d=s["ɵɵgetInheritedFactory"](c)},function(e,t,n){"use strict";n.r(t),n.d(t,"CardComponent",(function(){return A}));var o=n(229),i=n(261),r=n(354),a=["card"];function CardComponent_div_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",7),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](n.cardLabel)}}var _c1=function(e){return{"-selected":e}},s=["*"],A=function(){function CardComponent(e){this.renderer=e,this.onCardSelected=new o.EventEmitter}return CardComponent.prototype.ngOnInit=function(){var e=this;this.cssClass=this.generateCssClassList(),this.dataAttributes&&this.dataAttributes.length>0&&this.dataAttributes.forEach((function(t){e.addDataAttributeToCard(t)}))},CardComponent.prototype.onCardSelect=function(e){this.onCardSelected.emit(e)},CardComponent.prototype.addDataAttributeToCard=function(e){this.renderer.setAttribute(this.card.nativeElement,"data-"+e.key,e.value)},CardComponent.prototype.generateCssClassList=function(){var e="sf-card";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e},CardComponent.ɵfac=function CardComponent_Factory(e){return new(e||CardComponent)(o["ɵɵdirectiveInject"](o.Renderer2))},CardComponent.ɵcmp=o["ɵɵdefineComponent"]({type:CardComponent,selectors:[["sf-card"]],viewQuery:function CardComponent_Query(e,t){if(1&e&&o["ɵɵviewQuery"](a,3),2&e){var n;o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.card=n.first)}},inputs:{look:"look",cardLabel:"cardLabel",buttonText:"buttonText",selected:"selected",cardTitle:"cardTitle",dataAttributes:"dataAttributes"},outputs:{onCardSelected:"onCardSelected"},ngContentSelectors:s,decls:9,vars:7,consts:[["tabindex","0",3,"ngClass","title","click","keyup.enter"],["card",""],["class","sf-card__label",4,"ngIf"],[1,"sf-card__overlay","sf-row","-align-items-center","-justify-content-center","-sf-clickable"],[1,"sf-button","-action","-large"],[1,"sf-card__selected-indicator"],["name","check-circle","look","size-xl",1,"sf-badge","-white","-icon"],[1,"sf-card__label"]],template:function CardComponent_Template(e,t){1&e&&(o["ɵɵprojectionDef"](),o["ɵɵelementStart"](0,"div",0,1),o["ɵɵlistener"]("click",(function CardComponent_Template_div_click_0_listener(e){return t.onCardSelect(e)}))("keyup.enter",(function CardComponent_Template_div_keyup_enter_0_listener(e){return t.onCardSelect(e)})),o["ɵɵtemplate"](2,CardComponent_div_2_Template,2,1,"div",2),o["ɵɵprojection"](3),o["ɵɵelementStart"](4,"div",3),o["ɵɵelementStart"](5,"span",4),o["ɵɵtext"](6),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementStart"](7,"span",5),o["ɵɵelement"](8,"sf-icon",6),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵproperty"]("ngClass",o["ɵɵpureFunction1"](5,_c1,t.selected))("title",t.cardTitle),o["ɵɵattribute"]("class",t.cssClass),o["ɵɵadvance"](2),o["ɵɵproperty"]("ngIf",t.cardLabel),o["ɵɵadvance"](4),o["ɵɵtextInterpolate"](t.buttonText))},directives:[i.NgClass,i.NgIf,r.SfIconComponent],encapsulation:2}),CardComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"WorkflowOperationsMenuComponent",(function(){return m}));var o=n(259),i=n(229),r=n(1134),a=n(396),s=(n(317),n(394)),A=n(319),l=n(11),c=n(131),d=(n(322),n(327)),p=n(264),f=n(1135),u=n(244),m=function(e){function WorkflowOperationsMenuComponent(t,n,o,i){var r=e.call(this)||this;return r.communicationService=t,r.operationsProvider=n,r.changeDetector=o,r.window=i,r.buttonState$=new l.ReplaySubject,r}return Object(o.__extends)(WorkflowOperationsMenuComponent,e),WorkflowOperationsMenuComponent.prototype.ngOnInit=function(){var e=this,t=new s.OperationsData(this.dataItem,this.operationsTarget,void 0,{origin:this.window.location.href});this.operations$=this.operationsProvider.getOperations(t).pipe(Object(c.map)((function(e){return e.filter((function(e){return e.Category.Name===A.OPERATION_CATEGORIES.workflow}))})));var n=this.communicationService.subscribe(d.ActionButtonsStateChanged,(function(t){t.data&&(e.actionMenu.loader=t.data.primary?f.DROPDOWN_DEFAULT_LOADER_STYLE:null,e.buttonState$.next(t.data),e.changeDetector.detectChanges())}));this.registerSubscription(n)},WorkflowOperationsMenuComponent.prototype.onActionButtonClicked=function(e){this.communicationService.next(new d.WorkflowOperationClickedEvent({button:e,itemType:this.dataItem.metadata.typeFullName}),!1)},WorkflowOperationsMenuComponent.ɵfac=function WorkflowOperationsMenuComponent_Factory(e){return new(e||WorkflowOperationsMenuComponent)(i["ɵɵdirectiveInject"](r.ComponentCommunicationService),i["ɵɵdirectiveInject"](a.CompositeOperationsProvider),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](u.WINDOW_TOKEN))},WorkflowOperationsMenuComponent.ɵcmp=i["ɵɵdefineComponent"]({type:WorkflowOperationsMenuComponent,selectors:[["sf-wrokflow-operations-menu"]],viewQuery:function WorkflowOperationsMenuComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](f.ActionMenuComponent,3),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.actionMenu=n.first)}},inputs:{dataItem:"dataItem",operationsTarget:"operationsTarget",iconTitle:"iconTitle",ariaLabel:"ariaLabel",dropdownButtonIconName:"dropdownButtonIconName",options:"options",buttonsLook:"buttonsLook"},features:[i["ɵɵInheritDefinitionFeature"]],decls:2,vars:9,consts:[[3,"operations","iconTitle","ariaLabel","dropdownButtonIconName","options","buttonsState","buttonsLook","buttonClicked"]],template:function WorkflowOperationsMenuComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"sf-action-menu",0),i["ɵɵlistener"]("buttonClicked",(function WorkflowOperationsMenuComponent_Template_sf_action_menu_buttonClicked_0_listener(e){return t.onActionButtonClicked(e)})),i["ɵɵpipe"](1,"async"),i["ɵɵelementEnd"]()),2&e&&i["ɵɵproperty"]("operations",t.operations$)("iconTitle",t.iconTitle)("ariaLabel",t.ariaLabel)("dropdownButtonIconName",t.dropdownButtonIconName)("options",t.options)("buttonsState",i["ɵɵpipeBind1"](1,7,t.buttonState$))("buttonsLook",t.buttonsLook)},encapsulation:2}),WorkflowOperationsMenuComponent}(p.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ComponentCommunicationService",(function(){return a}));var o=n(11),i=n(131),r=n(229),a=function(){function ComponentCommunicationService(){this.communicator=new Map}return ComponentCommunicationService.prototype.subscribe=function(e,t){return this.getEventStream(e).subscribe(t)},ComponentCommunicationService.prototype.getEventStream=function(e){return this.getOrCreateCommunicationEventStreamByType(e).pipe(Object(i.filter)((function(e){return!!e})))},ComponentCommunicationService.prototype.next=function(e,t){if(void 0===t&&(t=!0),e){var n=this.getOrCreateCommunicationEventStreamByItem(e);n.next(e),t||n.next(null)}},ComponentCommunicationService.prototype.getOrCreateCommunicationEventStreamByType=function(e){var t=this.communicator.get(e);return t||(t=new o.ReplaySubject(1),this.communicator.set(e,t)),t},ComponentCommunicationService.prototype.getOrCreateCommunicationEventStreamByItem=function(e){var t=this.communicator.get(e.constructor);return t||(t=new o.ReplaySubject(1),this.communicator.set(e.constructor,t)),t},ComponentCommunicationService.ɵfac=function ComponentCommunicationService_Factory(e){return new(e||ComponentCommunicationService)},ComponentCommunicationService.ɵprov=r["ɵɵdefineInjectable"]({token:ComponentCommunicationService,factory:ComponentCommunicationService.ɵfac}),ComponentCommunicationService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DROPDOWN_DEFAULT_LOADER_STYLE",(function(){return C})),n.d(t,"ACTIVE_BUTTON_LOOK",(function(){return B})),n.d(t,"ActionMenuComponent",(function(){return k}));var o=n(259),i=n(131),r=n(229),a=(n(11),n(322)),s=n(321),A=n(244),l=n(264),c=n(261),d=n(354),p=n(1136),f=n(1137),u=n(1138),m=["insideMenuButtonTemplate"],g=["dropDownButtonTemplate"],E=["actionsButton"];function ActionMenuComponent_div_0_ng_container_2_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}var _c3=function(e){return{isToolset:e}};function ActionMenuComponent_div_0_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",6),r["ɵɵelementStart"](1,"div",7),r["ɵɵtemplate"](2,ActionMenuComponent_div_0_ng_container_2_Template,1,0,"ng-container",8),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](),o=r["ɵɵreference"](2);r["ɵɵadvance"](2),r["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",r["ɵɵpureFunction1"](2,_c3,n.isToolset))}}function ActionMenuComponent_ng_template_1_ng_container_0_ng_container_5_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}function ActionMenuComponent_ng_template_1_ng_container_0_span_6_Template(e,t){1&e&&r["ɵɵelement"](0,"span",12)}var _c4=function(e){return{$implicit:e}};function ActionMenuComponent_ng_template_1_ng_container_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"sf-button",10),r["ɵɵlistener"]("onClick",(function ActionMenuComponent_ng_template_1_ng_container_0_Template_sf_button_onClick_1_listener(e){r["ɵɵrestoreView"](n);var o=t.$implicit;return r["ɵɵnextContext"](2).onButtonClick(o,e)})),r["ɵɵpipe"](2,"async"),r["ɵɵpipe"](3,"async"),r["ɵɵpipe"](4,"async"),r["ɵɵtemplate"](5,ActionMenuComponent_ng_template_1_ng_container_0_ng_container_5_Template,1,0,"ng-container",8),r["ɵɵelementEnd"](),r["ɵɵtemplate"](6,ActionMenuComponent_ng_template_1_ng_container_0_span_6_Template,1,0,"span",11),r["ɵɵelementContainerEnd"]()}if(2&e){var o=t.$implicit,i=t.last,a=r["ɵɵnextContext"]().isToolset,s=r["ɵɵnextContext"](),A=r["ɵɵreference"](4),l=r["ɵɵreference"](6);r["ɵɵadvance"](1),r["ɵɵproperty"]("look",o.enhancedLook)("iconTitle",a?o.title:null)("feedback",r["ɵɵpipeBind1"](2,11,o.checked))("loader",r["ɵɵpipeBind1"](3,13,o.loader))("iconLook",o.iconLook)("icon",o.icon)("disabled",r["ɵɵpipeBind1"](4,15,o.disabled)),r["ɵɵattribute"]("data-sftest",o.title),r["ɵɵadvance"](4),r["ɵɵproperty"]("ngTemplateOutlet",!o.context||o.context&&"Section"!==o.context.icon?A:l)("ngTemplateOutletContext",r["ɵɵpureFunction1"](17,_c4,o)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",a&&(!i&&0===s.insideMenuButtons.length||s.insideMenuButtons.length>0))}}function ActionMenuComponent_ng_template_1_ng_container_1_ng_container_1_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}function ActionMenuComponent_ng_template_1_ng_container_1_span_2_Template(e,t){1&e&&r["ɵɵelement"](0,"span",12)}var _c5=function(e,t,n,o,i,r,a){return{insideButtons:e,iconTitle:t,ariaLabel:n,dropdownIconName:o,dropdownIconLook:i,dropdownButtonText:r,dropdownItemHeadingText:a}};function ActionMenuComponent_ng_template_1_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,ActionMenuComponent_ng_template_1_ng_container_1_ng_container_1_Template,1,0,"ng-container",8),r["ɵɵtemplate"](2,ActionMenuComponent_ng_template_1_ng_container_1_span_2_Template,1,0,"span",11),r["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=r["ɵɵnextContext"]().isToolset;r["ɵɵnextContext"]();var i=r["ɵɵreference"](8);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",i)("ngTemplateOutletContext",r["ɵɵpureFunction7"](3,_c5,n.insideButtons,n.iconTitle,n.ariaLabel,n.dropdownButtonIconName,n.dropdownButtonIconLook,n.dropdownButtonText,n.dropdownItemHeadingText)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o)}}function ActionMenuComponent_ng_template_1_ng_container_2_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}function ActionMenuComponent_ng_template_1_Template(e,t){if(1&e&&(r["ɵɵtemplate"](0,ActionMenuComponent_ng_template_1_ng_container_0_Template,7,19,"ng-container",9),r["ɵɵtemplate"](1,ActionMenuComponent_ng_template_1_ng_container_1_Template,3,11,"ng-container",9),r["ɵɵtemplate"](2,ActionMenuComponent_ng_template_1_ng_container_2_Template,1,0,"ng-container",8)),2&e){var n=r["ɵɵnextContext"](),o=r["ɵɵreference"](8);r["ɵɵproperty"]("ngForOf",n.outsideMenuButtons),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.buttonGroups),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",r["ɵɵpureFunction7"](4,_c5,n.insideMenuButtons,n.iconTitle,n.ariaLabel,n.dropdownButtonIconName,n.dropdownButtonIconLook,n.dropdownButtonText,n.dropdownItemHeadingText))}}function ActionMenuComponent_ng_template_3_Template(e,t){if(1&e&&r["ɵɵtext"](0),2&e){var n=t.$implicit;r["ɵɵtextInterpolate1"](" ",n.title,"\n")}}function ActionMenuComponent_ng_template_5_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-svg-icon-handler",13),2&e){var n=t.$implicit,o=r["ɵɵnextContext"]();r["ɵɵproperty"]("title",o.isToolset?n.title:null)("name",n.context.icon)}}function ActionMenuComponent_ng_template_7_sf_button_0_sf_component_loader_2_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-component-loader",21),2&e){var n=r["ɵɵnextContext"](3);r["ɵɵproperty"]("templateData",n.dropdownButtonTemplateData)}}function ActionMenuComponent_ng_template_7_sf_button_0_ng_container_3_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtext"](1),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"](2).dropdownButtonText;r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",n," ")}}function ActionMenuComponent_ng_template_7_sf_button_0_sf_insert_body_4_ng_container_2_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}var _c6=function(e,t){return{insideButtons:e,dropdownItemHeadingText:t}};function ActionMenuComponent_ng_template_7_sf_button_0_sf_insert_body_4_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"sf-insert-body",22),r["ɵɵelementStart"](1,"div",23),r["ɵɵtemplate"](2,ActionMenuComponent_ng_template_7_sf_button_0_sf_insert_body_4_ng_container_2_Template,1,0,"ng-container",8),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2),o=n.insideButtons,i=n.dropdownItemHeadingText,a=r["ɵɵnextContext"](),s=r["ɵɵreference"](10);r["ɵɵproperty"]("referenceNodeBoundingRect",a.dropdownButtonBoundingRect),r["ɵɵadvance"](1),r["ɵɵclassProp"]("-sf-cursor-text",0===o.length&&!a.renderContentWhenNoOperations),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",s)("ngTemplateOutletContext",r["ɵɵpureFunction2"](5,_c6,o,i))}}function ActionMenuComponent_ng_template_7_sf_button_0_div_5_ng_container_1_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}function ActionMenuComponent_ng_template_7_sf_button_0_div_5_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",24),r["ɵɵtemplate"](1,ActionMenuComponent_ng_template_7_sf_button_0_div_5_ng_container_1_Template,1,0,"ng-container",8),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2),o=n.insideButtons,i=n.dropdownItemHeadingText;r["ɵɵnextContext"]();var a=r["ɵɵreference"](10);r["ɵɵclassProp"]("-sf-cursor-text",0===o.length),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",a)("ngTemplateOutletContext",r["ɵɵpureFunction2"](4,_c6,o,i))}}function ActionMenuComponent_ng_template_7_sf_button_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-button",15,16),r["ɵɵlistener"]("onMouseEnter",(function ActionMenuComponent_ng_template_7_sf_button_0_Template_sf_button_onMouseEnter_0_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).initOperations()}))("onDropdownBtnClick",(function ActionMenuComponent_ng_template_7_sf_button_0_Template_sf_button_onDropdownBtnClick_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).handleOnDropdownClick(e)})),r["ɵɵtemplate"](2,ActionMenuComponent_ng_template_7_sf_button_0_sf_component_loader_2_Template,1,1,"sf-component-loader",17),r["ɵɵtemplate"](3,ActionMenuComponent_ng_template_7_sf_button_0_ng_container_3_Template,2,1,"ng-container",18),r["ɵɵtemplate"](4,ActionMenuComponent_ng_template_7_sf_button_0_sf_insert_body_4_Template,3,8,"sf-insert-body",19),r["ɵɵtemplate"](5,ActionMenuComponent_ng_template_7_sf_button_0_div_5_Template,2,7,"div",20),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](),i=o.iconTitle,a=o.ariaLabel,s=o.dropdownIconName,A=o.dropdownIconLook,l=r["ɵɵnextContext"]();r["ɵɵproperty"]("iconTitle",i)("ariaLabel",a)("look",l.buttonsLook)("loader",l.loader)("disabled",!!l.loader)("moveInViewportTolerance",l.moveInViewportTolerance)("icon",s)("iconLook",A),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",l.dropdownButtonTemplateData),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!l.dropdownButtonTemplateData),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",l.areOperationsInitialized&&l.isDropdownDropped&&l.renderDropdownInBody),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!l.renderDropdownInBody)}}function ActionMenuComponent_ng_template_7_Template(e,t){if(1&e&&r["ɵɵtemplate"](0,ActionMenuComponent_ng_template_7_sf_button_0_Template,6,12,"sf-button",14),2&e){var n=t.insideButtons,o=r["ɵɵnextContext"]();r["ɵɵproperty"]("ngIf",n.length>0||o.lazy||o.renderContentWhenNoOperations)}}function ActionMenuComponent_ng_template_9_div_0_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",27),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().dropdownItemHeadingText;r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",n," ")}}function ActionMenuComponent_ng_template_9_ng_container_2_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",27),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().$implicit;r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",n.title," ")}}function ActionMenuComponent_ng_template_9_ng_container_2_div_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",31),r["ɵɵelementStart"](1,"sf-notification",32),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().$implicit;r["ɵɵadvance"](2),r["ɵɵtextInterpolate1"](" ",n.warningMessage," ")}}var _c7=function(e,t){return{template:e,context:t}};function ActionMenuComponent_ng_template_9_ng_container_2_div_3_sf_component_loader_2_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-component-loader",21),2&e){var n=r["ɵɵnextContext"](2).$implicit,o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("templateData",r["ɵɵpureFunction2"](1,_c7,o.insideMenuButtonTemplateRef,n))}}var _c8=function(e,t){return{"-neutral":e,"-positive":t}};function ActionMenuComponent_ng_template_9_ng_container_2_div_3_ng_container_3_sf_loader_wrapper_3_Template(e,t){if(1&e&&(r["ɵɵelement"](0,"sf-loader-wrapper",39),r["ɵɵpipe"](1,"async"),r["ɵɵpipe"](2,"async"),r["ɵɵpipe"](3,"async")),2&e){r["ɵɵnextContext"]();var n=r["ɵɵreference"](5),o=r["ɵɵnextContext"](2).$implicit;r["ɵɵproperty"]("isLoading",null===r["ɵɵpipeBind1"](1,3,o.context.count))("content",n)("ngClass",r["ɵɵpureFunction2"](9,_c8,0===r["ɵɵpipeBind1"](2,5,o.context.count),r["ɵɵpipeBind1"](3,7,o.context.count)>0))}}function ActionMenuComponent_ng_template_9_ng_container_2_div_3_ng_container_3_ng_template_4_Template(e,t){if(1&e&&(r["ɵɵtext"](0),r["ɵɵpipe"](1,"async")),2&e){var n=r["ɵɵnextContext"](3).$implicit;r["ɵɵtextInterpolate1"](" ",r["ɵɵpipeBind1"](1,1,n.context.count)," ")}}function ActionMenuComponent_ng_template_9_ng_container_2_div_3_ng_container_3_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"span",36),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵtemplate"](3,ActionMenuComponent_ng_template_9_ng_container_2_div_3_ng_container_3_sf_loader_wrapper_3_Template,4,12,"sf-loader-wrapper",37),r["ɵɵtemplate"](4,ActionMenuComponent_ng_template_9_ng_container_2_div_3_ng_container_3_ng_template_4_Template,2,3,"ng-template",null,38,r["ɵɵtemplateRefExtractor"]),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"](2).$implicit;r["ɵɵadvance"](1),r["ɵɵattribute"]("title",n.title),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.title),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.context&&n.context.count)}}function ActionMenuComponent_ng_template_9_ng_container_2_div_3_sf_icon_4_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-icon",40),r["ɵɵlistener"]("click",(function ActionMenuComponent_ng_template_9_ng_container_2_div_3_sf_icon_4_Template_sf_icon_click_0_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"](2).$implicit;return r["ɵɵnextContext"](2).onButtonClick(t.subAction,e)})),r["ɵɵelementEnd"]()}}function ActionMenuComponent_ng_template_9_ng_container_2_div_3_span_5_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"span",41),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2).$implicit;r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",n.subText," ")}}function ActionMenuComponent_ng_template_9_ng_container_2_div_3_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",33),r["ɵɵlistener"]("click",(function ActionMenuComponent_ng_template_9_ng_container_2_div_3_Template_div_click_0_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"](2).onButtonClick(t,e)}))("keyup.enter",(function ActionMenuComponent_ng_template_9_ng_container_2_div_3_Template_div_keyup_enter_0_listener(){r["ɵɵrestoreView"](n);var e=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"](2).onButtonClick(e)})),r["ɵɵpipe"](1,"async"),r["ɵɵtemplate"](2,ActionMenuComponent_ng_template_9_ng_container_2_div_3_sf_component_loader_2_Template,1,4,"sf-component-loader",17),r["ɵɵtemplate"](3,ActionMenuComponent_ng_template_9_ng_container_2_div_3_ng_container_3_Template,6,3,"ng-container",18),r["ɵɵtemplate"](4,ActionMenuComponent_ng_template_9_ng_container_2_div_3_sf_icon_4_Template,1,0,"sf-icon",34),r["ɵɵtemplate"](5,ActionMenuComponent_ng_template_9_ng_container_2_div_3_span_5_Template,2,1,"span",35),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]().$implicit,i=r["ɵɵnextContext"](2);r["ɵɵclassMapInterpolate1"]("sf-dropdown__item",o.look?" -"+o.look:"",""),r["ɵɵclassProp"]("-disabled",r["ɵɵpipeBind1"](1,9,o.disabled)),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",i.insideMenuButtonTemplateRef),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!i.insideMenuButtonTemplateRef),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.subAction&&o.subAction.sourceOperation.PerformsDelete),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.subText)}}function ActionMenuComponent_ng_template_9_ng_container_2_div_4_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtext"](1),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"](2).$implicit;r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.title)}}function ActionMenuComponent_ng_template_9_ng_container_2_div_4_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",42),r["ɵɵtemplate"](1,ActionMenuComponent_ng_template_9_ng_container_2_div_4_ng_container_1_Template,2,1,"ng-container",18),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().$implicit;r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.hidden)}}function ActionMenuComponent_ng_template_9_ng_container_2_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,ActionMenuComponent_ng_template_9_ng_container_2_div_1_Template,2,1,"div",25),r["ɵɵtemplate"](2,ActionMenuComponent_ng_template_9_ng_container_2_div_2_Template,3,1,"div",28),r["ɵɵtemplate"](3,ActionMenuComponent_ng_template_9_ng_container_2_div_3_Template,6,11,"div",29),r["ɵɵtemplate"](4,ActionMenuComponent_ng_template_9_ng_container_2_div_4_Template,2,1,"div",30),r["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.isSection(n)&&!n.hidden),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.warningMessage),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!o.isSection(n)&&!n.warningMessage),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.isSection(n)&&n.hidden)}}function ActionMenuComponent_ng_template_9_div_3_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",43),r["ɵɵtext"](1," No actions available "),r["ɵɵelementEnd"]())}function ActionMenuComponent_ng_template_9_Template(e,t){if(1&e&&(r["ɵɵtemplate"](0,ActionMenuComponent_ng_template_9_div_0_Template,2,1,"div",25),r["ɵɵprojection"](1),r["ɵɵtemplate"](2,ActionMenuComponent_ng_template_9_ng_container_2_Template,5,4,"ng-container",9),r["ɵɵtemplate"](3,ActionMenuComponent_ng_template_9_div_3_Template,2,0,"div",26)),2&e){var n=t.insideButtons,o=t.dropdownItemHeadingText,i=r["ɵɵnextContext"]();r["ɵɵproperty"]("ngIf",o),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngForOf",n),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",0===n.length&&!i.renderContentWhenNoOperations)}}var h=[[["","content",""]]],b=["[content]"],C="color mini",B="active",k=function(e){function ActionMenuComponent(t,n,o,i){var a=e.call(this)||this;return a.actionButtonsResolver=t,a.window=n,a.injector=o,a.detector=i,a.dropdownButtonTemplateData=null,a.isDropdownOpened=!1,a.executeCommandOnClick=!0,a.buttonClicked=new r.EventEmitter,a.loader=null,a.isDropdownDropped=!1,a.outsideMenuButtons=[],a.buttonGroups=[],a.insideMenuButtons=[],a.hasPendingInitialization=!1,a.areOperationsInitialized=!1,a}return Object(o.__extends)(ActionMenuComponent,e),Object.defineProperty(ActionMenuComponent.prototype,"dropdownButton",{set:function(e){e&&this.isDropdownOpened&&(this.dropdownButtonBoundingRect=e.dropdownButton.nativeElement.getBoundingClientRect(),this.detector.detectChanges())},enumerable:!1,configurable:!0}),ActionMenuComponent.prototype.ngOnInit=function(){this.lazy||this.initOperations()},ActionMenuComponent.prototype.ngOnChanges=function(e){var t=this,n=e.buttonsState,o=e.buttonsLook,i=e.selectedOperationName;n&&n.currentValue&&this.actionButtonsResolver.updateButtonState(n.currentValue),o&&!o.isFirstChange()&&this.outsideMenuButtons.map((function(e){return e})).forEach((function(e){e.enhancedLook=t.generateButtonsLook(e.look)})),i&&i.currentValue&&this.handleSelectedOperation(this.insideMenuButtons)},ActionMenuComponent.prototype.reinitialize=function(){this.areOperationsInitialized=!1,this.hasPendingInitialization=!1,this.lazy||this.initOperations()},ActionMenuComponent.prototype.handleOnDropdownClick=function(e){this.isDropdownOpened=!0;var t=e.isDropped;this.isDropdownDropped=t,!this.areOperationsInitialized&&t&&(this.loader=C)},ActionMenuComponent.prototype.onButtonClick=function(e,t){var n=this;if(t){if(1!==t.which)return;e.isSubAction&&t.stopPropagation()}var o=e.token;if(o&&this.executeCommandOnClick){var i=this.injector.get(o.type),r={model:null,data:o.properties,currentRoute:null};i.execute(r).subscribe()}else this.window.setTimeout((function(){n.buttonClicked.emit(e)}),0)},ActionMenuComponent.prototype.isSection=function(e){return e instanceof a.ActionSection},ActionMenuComponent.prototype.generateButtonsLook=function(e){var t=[];return e&&t.push(e),this.isToolset&&t.push("no-hover no-active no-focus-visible no-border"),this.buttonsLook&&t.push(this.buttonsLook),t.length>0?t.join(" "):null},ActionMenuComponent.prototype.initOperations=function(){var e=this;if(!this.areOperationsInitialized&&!this.hasPendingInitialization){this.hasPendingInitialization=!0;var t=this.operations.subscribe((function(t){var n,o;e.insideMenuButtons.length=0,e.outsideMenuButtons.length=0,e.buttonGroups.length=0,new Set(t.filter((function(e){return e.GroupName})).map((function(e){return e.GroupName}))).forEach((function(n){var o,i={ariaLabel:n,iconTitle:n,insideButtons:[],dropdownButtonIconName:e.dropdownButtonIconName,dropdownButtonIconLook:e.dropdownButtonIconLook,dropdownButtonText:e.dropdownButtonText,dropdownItemHeadingText:e.dropdownItemHeadingText};e.buttonGroups.push(i);var r=t.filter((function(e){return e.GroupName===n})),a=e.actionButtonsResolver.getActionButtons(r,e.categories,!e.isToolset);e.handleSelectedOperation(a);var s=e.processButtons(a),A=(o=[].concat.apply([],s.insideButtons)).concat.apply(o,s.outsideButtons);i.insideButtons=A.filter((function(e){return!e.sourceOperation||!e.sourceOperation.IsGroup}));var l=A.filter((function(e){return e.sourceOperation&&e.sourceOperation.IsGroup}))[0];i.iconTitle=l.title,i.ariaLabel=l.title,i.dropdownButtonIconName=l.context.icon||i.dropdownButtonIconName,i.dropdownButtonIconLook=l.context.iconLook||i.dropdownButtonIconLook}));var i=t.filter((function(e){return!e.GroupName})),r=e.actionButtonsResolver.getActionButtons(i,e.categories,!e.isToolset),a=e.processButtons(r);(n=e.outsideMenuButtons).push.apply(n,a.outsideButtons),e.isToolset&&e.outsideMenuButtons.forEach((function(t){e.isToolset?t.context&&(t.context.icon&&"Section"!==t.context.icon&&(t.icon=t.context.icon),t.iconLook=t.context.iconLook||"size-xs color-inherit"):(t.icon=null,t.iconLook="size-xs")})),(o=e.insideMenuButtons).push.apply(o,a.insideButtons),e.trimSections(e.insideMenuButtons),e.handleSelectedOperation(r),e.areOperationsInitialized=!0,e.loader=null,e.buttonGroups=[].concat(e.buttonGroups)}));this.registerSubscription(t)}},ActionMenuComponent.prototype.handleSelectedOperation=function(e){var t=this;if(this.selectedOperationName){var n=e.find((function(e){return e.name===t.selectedOperationName}));n&&n instanceof a.ActionButton&&(e.filter((function(e){return e instanceof a.ActionButton})).forEach((function(e){e.look=null})),n.look=B,this.dropDownButtonTemplateRef&&(this.dropdownButtonTemplateData={template:this.dropDownButtonTemplateRef,context:n}))}else this.dropdownButtonTemplateData=null},ActionMenuComponent.prototype.processButtons=function(e){var t=this,n=[],o=[];return e.forEach((function(e){if(e instanceof a.ActionSection)n.push(e);else{var r=e;e.loading&&(r.loader=e.loading.pipe(Object(i.map)((function(t){return t?e.look&&e.look.includes(s.ACTION_BUTTON_LOOK)?"transparent":"color":null})))),r.enhancedLook=t.generateButtonsLook(e.look),t.isWithinBoundries(e)&&(e.ordinal>s.OUTSIDE_MENU_MAX_ORDINAL||t.options&&t.options.showAllAsDropdown?n.push(e):t.options&&t.options.showAllAsDropdown||o.push(e))}})),{insideButtons:n,outsideButtons:o}},ActionMenuComponent.prototype.trimSections=function(e){for(var t=[],n=0;n=0&&this.isSection(e[n]);n--)e.pop()},ActionMenuComponent.prototype.isWithinBoundries=function(e){return!this.options||this.options.showAllAsDropdown||e.ordinal>=this.options.minOrdinal&&e.ordinal<=this.options.maxOrdinal},ActionMenuComponent.ɵfac=function ActionMenuComponent_Factory(e){return new(e||ActionMenuComponent)(r["ɵɵdirectiveInject"](s.ActionButtonsResolver),r["ɵɵdirectiveInject"](A.WINDOW_TOKEN),r["ɵɵdirectiveInject"](r.Injector),r["ɵɵdirectiveInject"](r.ChangeDetectorRef))},ActionMenuComponent.ɵcmp=r["ɵɵdefineComponent"]({type:ActionMenuComponent,selectors:[["sf-action-menu"]],contentQueries:function ActionMenuComponent_ContentQueries(e,t,n){if(1&e&&(r["ɵɵcontentQuery"](n,m,3),r["ɵɵcontentQuery"](n,g,3)),2&e){var o=void 0;r["ɵɵqueryRefresh"](o=r["ɵɵloadQuery"]())&&(t.insideMenuButtonTemplateRef=o.first),r["ɵɵqueryRefresh"](o=r["ɵɵloadQuery"]())&&(t.dropDownButtonTemplateRef=o.first)}},viewQuery:function ActionMenuComponent_Query(e,t){if(1&e&&r["ɵɵviewQuery"](E,1),2&e){var n;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.dropdownButton=n.first)}},inputs:{isToolset:"isToolset",iconTitle:"iconTitle",ariaLabel:"ariaLabel",buttonsLook:"buttonsLook",operations:"operations",categories:"categories",selectedOperationName:"selectedOperationName",options:"options",dropdownButtonText:"dropdownButtonText",dropdownButtonIconLook:"dropdownButtonIconLook",dropdownButtonIconName:"dropdownButtonIconName",dropdownItemHeadingText:"dropdownItemHeadingText",executeCommandOnClick:"executeCommandOnClick",moveInViewportTolerance:"moveInViewportTolerance",renderContentWhenNoOperations:"renderContentWhenNoOperations",renderDropdownInBody:"renderDropdownInBody",lazy:"lazy",buttonsState:"buttonsState"},outputs:{buttonClicked:"buttonClicked"},features:[r["ɵɵProvidersFeature"]([s.ActionButtonsResolver]),r["ɵɵInheritDefinitionFeature"],r["ɵɵNgOnChangesFeature"]],ngContentSelectors:b,decls:11,vars:2,consts:[["class","sf-notification -toolset -black",4,"ngIf","ngIfElse"],["noWrapperTemplate",""],["buttonTextTemplate",""],["svgTemplate",""],["buttonTemplate",""],["dropDownTemplate",""],[1,"sf-notification","-toolset","-black"],[1,"sf-notification__content"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[4,"ngFor","ngForOf"],[3,"look","iconTitle","feedback","loader","iconLook","icon","disabled","onClick"],["class","sf-notification__tool-separator",4,"ngIf"],[1,"sf-notification__tool-separator"],["look","color-inherit size-xs",3,"title","name"],["dropdown","true",3,"iconTitle","ariaLabel","look","loader","disabled","moveInViewportTolerance","icon","iconLook","onMouseEnter","onDropdownBtnClick",4,"ngIf"],["dropdown","true",3,"iconTitle","ariaLabel","look","loader","disabled","moveInViewportTolerance","icon","iconLook","onMouseEnter","onDropdownBtnClick"],["actionsButton",""],[3,"templateData",4,"ngIf"],[4,"ngIf"],["containerName","action-menu",3,"referenceNodeBoundingRect",4,"ngIf"],["dropdown","","class","sf-dropdown",3,"-sf-cursor-text",4,"ngIf"],[3,"templateData"],["containerName","action-menu",3,"referenceNodeBoundingRect"],[1,"sf-dropdown"],["dropdown","",1,"sf-dropdown"],["class","sf-dropdown__heading",4,"ngIf"],["class","-sf-txt-align-center -sf-txt-hint",4,"ngIf"],[1,"sf-dropdown__heading"],["class","sf-dropdown__notification",4,"ngIf"],["tabindex","0","role","option",3,"class","-disabled","click","keyup.enter",4,"ngIf"],["class","sf-dropdown__separator",4,"ngIf"],[1,"sf-dropdown__notification"],["look","warning"],["tabindex","0","role","option",3,"click","keyup.enter"],["class","sf-dropdown__delete","name","trash-o","look","size-s",3,"click",4,"ngIf"],["class","sf-dropdown__counter -positive",4,"ngIf"],[1,"-sf-overflow-ellipsis"],["look","inline","class","sf-dropdown__counter",3,"isLoading","content","ngClass",4,"ngIf"],["countTemplate",""],["look","inline",1,"sf-dropdown__counter",3,"isLoading","content","ngClass"],["name","trash-o","look","size-s",1,"sf-dropdown__delete",3,"click"],[1,"sf-dropdown__counter","-positive"],[1,"sf-dropdown__separator"],[1,"-sf-txt-align-center","-sf-txt-hint"]],template:function ActionMenuComponent_Template(e,t){if(1&e&&(r["ɵɵprojectionDef"](h),r["ɵɵtemplate"](0,ActionMenuComponent_div_0_Template,3,4,"div",0),r["ɵɵtemplate"](1,ActionMenuComponent_ng_template_1_Template,3,12,"ng-template",null,1,r["ɵɵtemplateRefExtractor"]),r["ɵɵtemplate"](3,ActionMenuComponent_ng_template_3_Template,1,1,"ng-template",null,2,r["ɵɵtemplateRefExtractor"]),r["ɵɵtemplate"](5,ActionMenuComponent_ng_template_5_Template,1,2,"ng-template",null,3,r["ɵɵtemplateRefExtractor"]),r["ɵɵtemplate"](7,ActionMenuComponent_ng_template_7_Template,1,1,"ng-template",null,4,r["ɵɵtemplateRefExtractor"]),r["ɵɵtemplate"](9,ActionMenuComponent_ng_template_9_Template,4,3,"ng-template",null,5,r["ɵɵtemplateRefExtractor"])),2&e){var n=r["ɵɵreference"](2);r["ɵɵproperty"]("ngIf",t.isToolset)("ngIfElse",n)}},directives:[c.NgIf,c.NgTemplateOutlet,c.NgForOf,d.SfButtonComponent,p.SvgIconHandlerComponent,d.SfDynamicComponentLoaderComponent,f.InsertBodyComponent,d.SfNotificationComponent,u.LoaderWrapperComponent,c.NgClass,d.SfIconComponent],pipes:[c.AsyncPipe],encapsulation:2}),ActionMenuComponent}(l.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"SvgIconHandlerComponent",(function(){return a}));var o=n(229),i=n(354),r=n(261);function SvgIconHandlerComponent__svg_svg_1_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",12),o["ɵɵelementStart"](1,"g"),o["ɵɵelement"](2,"rect",13),o["ɵɵelement"](3,"rect",14),o["ɵɵelement"](4,"rect",15),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_2_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",16),o["ɵɵelement"](1,"rect",17),o["ɵɵelementStart"](2,"g"),o["ɵɵelement"](3,"path",18),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_3_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",19),o["ɵɵelement"](1,"rect",20),o["ɵɵelement"](2,"path",21),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_4_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",22),o["ɵɵelement"](1,"rect",23),o["ɵɵelementStart"](2,"g"),o["ɵɵelement"](3,"path",24),o["ɵɵelement"](4,"path",25),o["ɵɵelement"](5,"path",26),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_5_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",27),o["ɵɵelementStart"](1,"g"),o["ɵɵelement"](2,"rect",28),o["ɵɵelementEnd"](),o["ɵɵelementStart"](3,"g"),o["ɵɵelement"](4,"path",29),o["ɵɵelement"](5,"path",30),o["ɵɵelement"](6,"path",31),o["ɵɵelement"](7,"path",32),o["ɵɵelementEnd"](),o["ɵɵelementStart"](8,"g"),o["ɵɵelement"](9,"path",33),o["ɵɵelementEnd"](),o["ɵɵelementStart"](10,"g"),o["ɵɵelement"](11,"rect",34),o["ɵɵelementEnd"](),o["ɵɵelementStart"](12,"g"),o["ɵɵelement"](13,"path",35),o["ɵɵelement"](14,"path",36),o["ɵɵelement"](15,"path",37),o["ɵɵelement"](16,"path",38),o["ɵɵelementEnd"](),o["ɵɵelementStart"](17,"g"),o["ɵɵelement"](18,"path",39),o["ɵɵelementEnd"](),o["ɵɵelementStart"](19,"g"),o["ɵɵelement"](20,"rect",40),o["ɵɵelementEnd"](),o["ɵɵelementStart"](21,"g"),o["ɵɵelement"](22,"path",41),o["ɵɵelement"](23,"path",42),o["ɵɵelement"](24,"path",43),o["ɵɵelement"](25,"path",44),o["ɵɵelementEnd"](),o["ɵɵelementStart"](26,"g"),o["ɵɵelement"](27,"path",45),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_6_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",46),o["ɵɵelementStart"](1,"g"),o["ɵɵelement"](2,"rect",47),o["ɵɵelementEnd"](),o["ɵɵelementStart"](3,"g"),o["ɵɵelement"](4,"path",48),o["ɵɵelement"](5,"path",49),o["ɵɵelement"](6,"path",50),o["ɵɵelement"](7,"path",51),o["ɵɵelementEnd"](),o["ɵɵelementStart"](8,"g"),o["ɵɵelement"](9,"rect",52),o["ɵɵelementEnd"](),o["ɵɵelementStart"](10,"g"),o["ɵɵelement"](11,"path",53),o["ɵɵelement"](12,"path",54),o["ɵɵelement"](13,"path",55),o["ɵɵelement"](14,"path",56),o["ɵɵelementEnd"](),o["ɵɵelementStart"](15,"g"),o["ɵɵelement"](16,"rect",57),o["ɵɵelementEnd"](),o["ɵɵelementStart"](17,"g"),o["ɵɵelement"](18,"path",58),o["ɵɵelement"](19,"path",59),o["ɵɵelement"](20,"path",60),o["ɵɵelement"](21,"path",61),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_7_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",62),o["ɵɵelementStart"](1,"g"),o["ɵɵelement"](2,"path",63),o["ɵɵelement"](3,"path",64),o["ɵɵelement"](4,"path",65),o["ɵɵelement"](5,"path",66),o["ɵɵelementEnd"](),o["ɵɵelementStart"](6,"g"),o["ɵɵelement"](7,"rect",67),o["ɵɵelementEnd"](),o["ɵɵelementStart"](8,"g"),o["ɵɵelement"](9,"path",68),o["ɵɵelement"](10,"path",69),o["ɵɵelement"](11,"path",70),o["ɵɵelement"](12,"path",71),o["ɵɵelementEnd"](),o["ɵɵelement"](13,"rect",72),o["ɵɵelement"](14,"rect",73),o["ɵɵelementStart"](15,"g"),o["ɵɵelement"](16,"rect",74),o["ɵɵelementEnd"](),o["ɵɵelementStart"](17,"g"),o["ɵɵelement"](18,"path",75),o["ɵɵelement"](19,"path",76),o["ɵɵelement"](20,"path",77),o["ɵɵelement"](21,"path",78),o["ɵɵelementEnd"](),o["ɵɵelement"](22,"rect",79),o["ɵɵelement"](23,"rect",80),o["ɵɵelement"](24,"rect",81),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_8_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",82),o["ɵɵelementStart"](1,"g"),o["ɵɵelement"](2,"rect",28),o["ɵɵelementEnd"](),o["ɵɵelementStart"](3,"g"),o["ɵɵelement"](4,"path",29),o["ɵɵelement"](5,"path",30),o["ɵɵelement"](6,"path",31),o["ɵɵelement"](7,"path",32),o["ɵɵelementEnd"](),o["ɵɵelementStart"](8,"g",83),o["ɵɵelement"](9,"path",84),o["ɵɵelementEnd"](),o["ɵɵelementStart"](10,"g"),o["ɵɵelement"](11,"rect",34),o["ɵɵelementEnd"](),o["ɵɵelementStart"](12,"g"),o["ɵɵelement"](13,"path",35),o["ɵɵelement"](14,"path",36),o["ɵɵelement"](15,"path",37),o["ɵɵelement"](16,"path",38),o["ɵɵelementEnd"](),o["ɵɵelementStart"](17,"g",83),o["ɵɵelement"](18,"path",85),o["ɵɵelementEnd"](),o["ɵɵelementStart"](19,"g"),o["ɵɵelement"](20,"rect",40),o["ɵɵelementEnd"](),o["ɵɵelementStart"](21,"g"),o["ɵɵelement"](22,"path",41),o["ɵɵelement"](23,"path",42),o["ɵɵelement"](24,"path",43),o["ɵɵelement"](25,"path",44),o["ɵɵelementEnd"](),o["ɵɵelementStart"](26,"g",83),o["ɵɵelement"](27,"path",86),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_9_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",87),o["ɵɵelement"](1,"rect",17),o["ɵɵelementStart"](2,"g"),o["ɵɵelement"](3,"path",88),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_10_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",89),o["ɵɵelementStart"](1,"g"),o["ɵɵelement"](2,"path",90),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}function SvgIconHandlerComponent__svg_svg_11_Template(e,t){1&e&&(o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](0,"svg",91),o["ɵɵelement"](1,"path",92),o["ɵɵelementEnd"]())}var a=function(){function SvgIconHandlerComponent(){}return SvgIconHandlerComponent.ɵfac=function SvgIconHandlerComponent_Factory(e){return new(e||SvgIconHandlerComponent)},SvgIconHandlerComponent.ɵcmp=o["ɵɵdefineComponent"]({type:SvgIconHandlerComponent,selectors:[["sf-svg-icon-handler"]],inputs:{name:"name",look:"look",title:"title"},decls:12,vars:13,consts:[[3,"ngSwitch","look","title"],["aria-hidden","true","alt","","class","-sf-block sf-icon__svg","version","1.1","id","Layer_1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",4,"ngSwitchCase"],["aria-hidden","true","alt","","class","-sf-block sf-icon__svg","version","1.1","id","Layer_2","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",4,"ngSwitchCase"],["aria-hidden","true","alt","","class","-sf-block sf-icon__svg -color-current","version","1.1","id","Layer_3","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 18 18","enable-background","new 0 0 18 18",0,"xml","space","preserve",4,"ngSwitchCase"],["version","1.1","id","Layer_4","class","-sf-block sf-icon__svg -color-current","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","16px","viewBox","1 1 14 14","enable-background","new 0 0 16 16",0,"xml","space","preserve",4,"ngSwitchCase"],["version","1.1","id","Layer_5","class","-sf-block","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","101px","height","73px","viewBox","0 0 101 74","enable-background","new 0 0 101 74",0,"xml","space","preserve",4,"ngSwitchCase"],["version","1.1","id","Layer_6","class","-sf-block","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","239px","height","22px","viewBox","0 0 239 22","enable-background","new 0 0 239 22",0,"xml","space","preserve",4,"ngSwitchCase"],["version","1.1","id","Layer_7","class","-sf-block","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","241.5px","height","26px","viewBox","0 0 241.5 26","enable-background","new 0 0 241.5 26",0,"xml","space","preserve",4,"ngSwitchCase"],["version","1.1","id","Layer_8","class","-sf-block","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","101px","height","73px","viewBox","0 0 101 74","enable-background","new 0 0 101 74",0,"xml","space","preserve",4,"ngSwitchCase"],["version","1.1","id","Layer_9","class","-sf-block sf-icon__svg","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",4,"ngSwitchCase"],["version","1.1","id","Layer_10","class","-sf-block sf-icon__svg","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","16px","viewBox","0 0 16 16","enable-background","new 0 0 16 16",0,"xml","space","preserve",4,"ngSwitchCase"],["aria-hidden","true","alt","","class","-sf-block sf-icon__svg","version","1.1","id","Layer_11","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",4,"ngSwitchDefault"],["aria-hidden","true","alt","","version","1.1","id","Layer_1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",1,"-sf-block","sf-icon__svg"],["x","9","fill","currentColor","width","7","height","15"],["fill","currentColor","width","7","height","8"],["y","10","fill","currentColor","width","7","height","5"],["aria-hidden","true","alt","","version","1.1","id","Layer_2","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",1,"-sf-block","sf-icon__svg"],["fill","currentColor","width","16","height","15"],["fill","#FFFFFF","d","M9.404,12.194H6.596V4.783H3V3.194h10v1.588H9.404V12.194z"],["aria-hidden","true","alt","","version","1.1","id","Layer_3","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 18 18","enable-background","new 0 0 18 18",0,"xml","space","preserve",1,"-sf-block","sf-icon__svg","-color-current"],["x","1","y","1","fill","currentColor","width","16","height","15"],["fill","#FFFFFF","d","M5.024,6.293c-0.894,0-1.619-0.722-1.619-1.611c0-0.889,0.725-1.611,1.619-1.611s1.619,0.722,1.619,1.611\n\t C6.643,5.571,5.918,6.293,5.024,6.293z M14.831,13.465h-12v-2l2.727-3.333l1.365,1.667l4.363-5.333L14.831,8.8V13.465z"],["version","1.1","id","Layer_4","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","16px","viewBox","1 1 14 14","enable-background","new 0 0 16 16",0,"xml","space","preserve",1,"-sf-block","sf-icon__svg","-color-current"],["x","1","y","2","fill","currentColor","width","14","height","13"],["fill","#FFFFFF","d","M5.04,6.413c-0.308,0-0.547,0.186-0.716,0.556C4.155,7.339,4.07,7.855,4.07,8.519\n c0,1.379,0.323,2.066,0.97,2.066c0.271,0,0.6-0.108,0.985-0.323v1.1c-0.317,0.21-0.67,0.316-1.062,0.316\n c-0.562,0-0.992-0.273-1.29-0.819C3.376,10.313,3.228,9.53,3.228,8.51c0-0.642,0.073-1.205,0.22-1.689\n c0.146-0.483,0.356-0.854,0.63-1.111C4.351,5.451,4.672,5.322,5.04,5.322c0.375,0,0.752,0.145,1.131,0.436L5.907,6.823\n c-0.145-0.11-0.29-0.207-0.437-0.288C5.325,6.454,5.181,6.413,5.04,6.413z"],["fill","#FFFFFF","d","M8.337,11.593H7.518V6.502H6.469V5.411h2.917v1.091h-1.05V11.593z"],["fill","#FFFFFF","d","M12.345,11.593l-0.279-1.471h-1.408l-0.28,1.471H9.494l1.363-6.207h1.001l1.369,6.207H12.345z\n M11.869,9.021c-0.257-1.333-0.405-2.087-0.437-2.262c-0.033-0.175-0.058-0.313-0.07-0.415c-0.058,0.361-0.225,1.253-0.5,2.676\n H11.869z"],["version","1.1","id","Layer_5","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","101px","height","73px","viewBox","0 0 101 74","enable-background","new 0 0 101 74",0,"xml","space","preserve",1,"-sf-block"],["x","0.5","y","0.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","100","height","21"],["fill","#38AB63","d","M15.107,9.933c0,0.712-0.264,1.256-0.791,1.635c-0.528,0.378-1.278,0.568-2.253,0.568h-0.802v2.547H10\n\t\tV7.875h2.221c0.964,0,1.686,0.174,2.166,0.521C14.867,8.745,15.107,9.256,15.107,9.933z M11.261,11.2h0.67\n\t\tc0.647,0,1.122-0.1,1.424-0.298c0.302-0.199,0.454-0.509,0.454-0.932c0-0.391-0.135-0.683-0.406-0.875\n\t\tc-0.271-0.192-0.692-0.289-1.266-0.289h-0.876V11.2z"],["fill","#38AB63","d","M21.433,14.684l-0.771-1.891h-2.949l-0.754,1.891h-1.33l2.886-6.837h1.372l2.886,6.837H21.433z\n\t\t M20.331,11.833l-0.723-1.854c-0.053-0.124-0.125-0.32-0.219-0.586c-0.093-0.267-0.157-0.462-0.193-0.587\n\t\tc-0.095,0.382-0.233,0.8-0.417,1.253l-0.696,1.774H20.331z"],["fill","#38AB63","d","M26.946,10.991h2.838v3.418c-0.464,0.134-0.91,0.228-1.337,0.284c-0.427,0.055-0.889,0.083-1.385,0.083\n\t\tc-1.167,0-2.068-0.305-2.701-0.915c-0.633-0.61-0.95-1.471-0.95-2.583c0-1.095,0.357-1.954,1.071-2.574\n\t\tc0.714-0.619,1.697-0.929,2.949-0.929c0.806,0,1.569,0.137,2.29,0.41l-0.443,0.927c-0.626-0.255-1.252-0.382-1.878-0.382\n\t\tc-0.823,0-1.474,0.229-1.952,0.685c-0.479,0.457-0.718,1.081-0.718,1.873c0,0.832,0.215,1.464,0.646,1.897\n\t\tc0.431,0.434,1.051,0.65,1.86,0.65c0.408,0,0.844-0.045,1.308-0.135v-1.756h-1.599V10.991z"],["fill","#38AB63","d","M36,14.684h-4.363V7.875H36v0.941h-3.102v1.854h2.907v0.931h-2.907v2.138H36V14.684z"],["fill","#FFFFFF","d","M90.888,9.213l-5.197,5.198c-0.067,0.067-0.168,0.111-0.257,0.111s-0.189-0.044-0.257-0.111l-5.197-5.198\n\t\tc-0.067-0.067-0.112-0.167-0.112-0.256s0.045-0.189,0.112-0.256l0.558-0.558c0.066-0.067,0.156-0.111,0.257-0.111\n\t\tc0.089,0,0.189,0.044,0.256,0.111l4.384,4.384l4.384-4.384c0.066-0.067,0.167-0.111,0.256-0.111c0.09,0,0.19,0.044,0.257,0.111\n\t\tL90.888,8.7C90.955,8.767,91,8.867,91,8.957S90.955,9.146,90.888,9.213z"],["x","0.5","y","52.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","100","height","21"],["fill","#38AB63","d","M15.107,62.007c0,0.712-0.264,1.257-0.791,1.636c-0.528,0.379-1.278,0.567-2.253,0.567h-0.802v2.548H10\n\t\tv-6.81h2.221c0.964,0,1.686,0.174,2.166,0.522S15.107,61.331,15.107,62.007z M11.261,63.273h0.67c0.647,0,1.122-0.099,1.424-0.297\n\t\tc0.302-0.2,0.454-0.51,0.454-0.932c0-0.392-0.136-0.685-0.406-0.876c-0.27-0.192-0.692-0.288-1.266-0.288h-0.876V63.273z"],["fill","#38AB63","d","M21.433,66.758l-0.771-1.892h-2.949l-0.754,1.892h-1.33l2.886-6.837h1.372l2.886,6.837H21.433z\n\t\t M20.331,63.907l-0.723-1.854c-0.053-0.125-0.125-0.32-0.219-0.587s-0.157-0.462-0.193-0.586c-0.095,0.381-0.233,0.799-0.417,1.252\n\t\tl-0.696,1.774H20.331z"],["fill","#38AB63","d","M26.946,63.064h2.838v3.419c-0.464,0.133-0.91,0.229-1.337,0.283c-0.428,0.057-0.889,0.084-1.385,0.084\n\t\tc-1.167,0-2.068-0.306-2.701-0.914c-0.633-0.611-0.95-1.472-0.95-2.583c0-1.097,0.357-1.953,1.071-2.574\n\t\tc0.714-0.618,1.697-0.929,2.95-0.929c0.805,0,1.568,0.138,2.29,0.41l-0.443,0.927c-0.626-0.255-1.252-0.382-1.878-0.382\n\t\tc-0.823,0-1.474,0.229-1.953,0.685c-0.478,0.457-0.717,1.08-0.717,1.872c0,0.832,0.215,1.466,0.646,1.897\n\t\tc0.431,0.434,1.051,0.65,1.86,0.65c0.407,0,0.844-0.045,1.308-0.135v-1.757h-1.599V63.064z"],["fill","#38AB63","d","M36,66.758h-4.363v-6.81H36v0.941h-3.102v1.854h2.907v0.932h-2.907v2.138H36V66.758z"],["fill","#FFFFFF","d","M90.888,61.287l-5.197,5.198c-0.067,0.066-0.168,0.111-0.257,0.111s-0.189-0.045-0.257-0.111l-5.197-5.198\n\t\tc-0.067-0.067-0.112-0.167-0.112-0.257c0-0.089,0.045-0.189,0.112-0.256l0.558-0.559c0.066-0.066,0.156-0.111,0.257-0.111\n\t\tc0.089,0,0.189,0.045,0.256,0.111l4.384,4.385l4.384-4.385c0.066-0.066,0.167-0.111,0.256-0.111c0.09,0,0.19,0.045,0.257,0.111\n\t\tl0.558,0.559C90.955,60.841,91,60.941,91,61.03C91,61.12,90.955,61.22,90.888,61.287z"],["x","0.5","y","26.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","100","height","21"],["fill","#38AB63","d","M15.107,35.896c0,0.711-0.264,1.256-0.791,1.635c-0.528,0.379-1.278,0.568-2.253,0.568h-0.802v2.547H10\n\t\tv-6.809h2.221c0.964,0,1.686,0.173,2.166,0.521C14.867,34.707,15.107,35.219,15.107,35.896z M11.261,37.163h0.67\n\t\tc0.647,0,1.122-0.099,1.424-0.298c0.302-0.199,0.454-0.509,0.454-0.932c0-0.391-0.136-0.683-0.406-0.875\n\t\tc-0.27-0.193-0.692-0.289-1.266-0.289h-0.876V37.163z"],["fill","#38AB63","d","M21.433,40.646l-0.771-1.891h-2.949l-0.754,1.891h-1.33l2.886-6.837h1.372l2.886,6.837H21.433z\n\t\t M20.331,37.795l-0.723-1.853c-0.053-0.125-0.125-0.32-0.219-0.587c-0.093-0.267-0.157-0.462-0.193-0.586\n\t\tc-0.095,0.382-0.233,0.8-0.417,1.253l-0.696,1.774H20.331z"],["fill","#38AB63","d","M26.946,36.953h2.838v3.418c-0.464,0.133-0.91,0.229-1.337,0.284c-0.428,0.056-0.889,0.084-1.385,0.084\n\t\tc-1.167,0-2.068-0.305-2.701-0.915c-0.633-0.611-0.95-1.472-0.95-2.583c0-1.096,0.357-1.954,1.071-2.573\n\t\tc0.714-0.619,1.697-0.929,2.95-0.929c0.805,0,1.568,0.136,2.29,0.41l-0.443,0.927c-0.626-0.255-1.252-0.382-1.878-0.382\n\t\tc-0.823,0-1.474,0.229-1.953,0.685c-0.478,0.457-0.717,1.08-0.717,1.872c0,0.832,0.215,1.465,0.646,1.897\n\t\tc0.431,0.434,1.051,0.65,1.86,0.65c0.407,0,0.844-0.044,1.308-0.135v-1.756h-1.599V36.953z"],["fill","#38AB63","d","M36,40.646h-4.363v-6.809H36v0.94h-3.102v1.854h2.907v0.931h-2.907v2.138H36V40.646z"],["fill","#FFFFFF","d","M90.888,35.175l-5.197,5.199c-0.067,0.066-0.168,0.111-0.257,0.111s-0.189-0.045-0.257-0.111l-5.197-5.199\n\t\tc-0.067-0.067-0.112-0.167-0.112-0.256s0.045-0.189,0.112-0.256l0.558-0.558c0.066-0.067,0.156-0.111,0.257-0.111\n\t\tc0.089,0,0.189,0.044,0.256,0.111l4.384,4.385l4.384-4.385c0.066-0.067,0.167-0.111,0.256-0.111c0.09,0,0.19,0.044,0.257,0.111\n\t\tl0.558,0.558C90.955,34.729,91,34.83,91,34.919S90.955,35.108,90.888,35.175z"],["version","1.1","id","Layer_6","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","239px","height","22px","viewBox","0 0 239 22","enable-background","new 0 0 239 22",0,"xml","space","preserve",1,"-sf-block"],["x","0.5","y","0.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","76","height","21"],["fill","#38AB63","d","M30.947,9.623c0,0.711-0.264,1.256-0.791,1.635c-0.528,0.379-1.278,0.567-2.253,0.567h-0.802v2.548H25.84\n\t\tV7.564h2.221c0.964,0,1.686,0.174,2.166,0.521C30.707,8.434,30.947,8.945,30.947,9.623z M27.101,10.89h0.67\n\t\tc0.647,0,1.122-0.099,1.424-0.298s0.454-0.51,0.454-0.932c0-0.392-0.135-0.684-0.406-0.876c-0.271-0.192-0.692-0.288-1.266-0.288\n\t\th-0.876V10.89z"],["fill","#38AB63","d","M37.273,14.373l-0.771-1.891h-2.949l-0.754,1.891h-1.33l2.886-6.837h1.372l2.886,6.837H37.273z\n\t\t M36.17,11.523L35.447,9.67c-0.053-0.125-0.125-0.32-0.219-0.588c-0.093-0.267-0.157-0.462-0.193-0.586\n\t\tc-0.095,0.381-0.233,0.799-0.417,1.252l-0.696,1.775H36.17z"],["fill","#38AB63","d","M42.786,10.68h2.838v3.419c-0.464,0.133-0.91,0.228-1.337,0.284c-0.427,0.056-0.889,0.083-1.385,0.083\n\t\tc-1.167,0-2.068-0.305-2.701-0.914c-0.633-0.611-0.95-1.472-0.95-2.583c0-1.096,0.357-1.954,1.071-2.573\n\t\tc0.714-0.62,1.697-0.929,2.949-0.929c0.806,0,1.569,0.136,2.29,0.409l-0.443,0.927c-0.626-0.254-1.252-0.382-1.878-0.382\n\t\tc-0.823,0-1.474,0.229-1.952,0.685c-0.479,0.457-0.718,1.08-0.718,1.873c0,0.831,0.215,1.465,0.646,1.896\n\t\tc0.431,0.435,1.051,0.65,1.86,0.65c0.408,0,0.844-0.045,1.308-0.135v-1.756h-1.599V10.68z"],["fill","#38AB63","d","M51.84,14.373h-4.363V7.564h4.363v0.94h-3.102v1.854h2.907v0.932h-2.907v2.138h3.102V14.373z"],["x","81.5","y","0.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","76","height","21"],["fill","#38AB63","d","M111.843,9.623c0,0.711-0.268,1.256-0.802,1.635c-0.535,0.379-1.295,0.567-2.283,0.567h-0.813v2.548h-1.277\n\t\tV7.564h2.251c0.977,0,1.708,0.174,2.194,0.521S111.843,8.945,111.843,9.623z M107.945,10.89h0.68c0.655,0,1.137-0.099,1.443-0.298\n\t\tc0.306-0.199,0.459-0.51,0.459-0.932c0-0.392-0.137-0.684-0.411-0.876s-0.702-0.288-1.283-0.288h-0.888V10.89z"],["fill","#38AB63","d","M118.253,14.373l-0.78-1.891h-2.988l-0.765,1.891h-1.348l2.925-6.837h1.39l2.925,6.837H118.253z\n\t\t M117.136,11.523l-0.732-1.854c-0.054-0.125-0.127-0.32-0.222-0.588c-0.095-0.267-0.159-0.462-0.195-0.586\n\t\tc-0.097,0.381-0.236,0.799-0.422,1.252l-0.706,1.775H117.136z"],["fill","#38AB63","d","M123.84,10.68h2.876v3.419c-0.47,0.133-0.922,0.228-1.354,0.284c-0.434,0.056-0.901,0.083-1.403,0.083\n\t\tc-1.184,0-2.097-0.305-2.737-0.914c-0.642-0.611-0.963-1.472-0.963-2.583c0-1.096,0.362-1.954,1.085-2.573\n\t\tc0.724-0.62,1.721-0.929,2.989-0.929c0.816,0,1.59,0.136,2.32,0.409l-0.449,0.927c-0.635-0.254-1.269-0.382-1.903-0.382\n\t\tc-0.834,0-1.493,0.229-1.978,0.685c-0.485,0.457-0.728,1.08-0.728,1.873c0,0.831,0.218,1.465,0.655,1.896\n\t\tc0.437,0.435,1.064,0.65,1.885,0.65c0.413,0,0.854-0.045,1.325-0.135v-1.756h-1.62V10.68z"],["fill","#38AB63","d","M133.015,14.373h-4.422V7.564h4.422v0.94h-3.144v1.854h2.945v0.932h-2.945v2.138h3.144V14.373z"],["x","162.5","y","0.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","76","height","21"],["fill","#38AB63","d","M193.287,9.623c0,0.711-0.264,1.256-0.791,1.635c-0.528,0.379-1.278,0.567-2.253,0.567h-0.802v2.548h-1.261\n\t\tV7.564h2.221c0.964,0,1.686,0.174,2.166,0.521C193.047,8.434,193.287,8.945,193.287,9.623z M189.44,10.89h0.67\n\t\tc0.647,0,1.122-0.099,1.424-0.298s0.454-0.51,0.454-0.932c0-0.392-0.135-0.684-0.406-0.876c-0.271-0.192-0.692-0.288-1.266-0.288\n\t\th-0.876V10.89z"],["fill","#38AB63","d","M199.613,14.373l-0.771-1.891h-2.949l-0.754,1.891h-1.33l2.886-6.837h1.372l2.886,6.837H199.613z\n\t\t M198.51,11.523l-0.723-1.854c-0.053-0.125-0.125-0.32-0.219-0.588c-0.093-0.267-0.157-0.462-0.193-0.586\n\t\tc-0.095,0.381-0.233,0.799-0.417,1.252l-0.696,1.775H198.51z"],["fill","#38AB63","d","M205.126,10.68h2.838v3.419c-0.464,0.133-0.91,0.228-1.337,0.284c-0.427,0.056-0.889,0.083-1.385,0.083\n\t\tc-1.167,0-2.068-0.305-2.701-0.914c-0.633-0.611-0.95-1.472-0.95-2.583c0-1.096,0.357-1.954,1.071-2.573\n\t\tc0.714-0.62,1.697-0.929,2.949-0.929c0.806,0,1.569,0.136,2.29,0.409l-0.443,0.927c-0.626-0.254-1.252-0.382-1.878-0.382\n\t\tc-0.823,0-1.474,0.229-1.952,0.685c-0.479,0.457-0.718,1.08-0.718,1.873c0,0.831,0.215,1.465,0.646,1.896\n\t\tc0.431,0.435,1.051,0.65,1.86,0.65c0.408,0,0.844-0.045,1.308-0.135v-1.756h-1.599V10.68z"],["fill","#38AB63","d","M214.18,14.373h-4.363V7.564h4.363v0.94h-3.102v1.854h2.907v0.932h-2.907v2.138h3.102V14.373z"],["version","1.1","id","Layer_7","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","241.5px","height","26px","viewBox","0 0 241.5 26","enable-background","new 0 0 241.5 26",0,"xml","space","preserve",1,"-sf-block"],["fill","#38AB63","d","M31.727,14.156c0,0.711-0.263,1.256-0.789,1.635c-0.526,0.38-1.273,0.568-2.245,0.568h-0.799v2.548h-1.256\n\t\tv-6.81h2.213c0.96,0,1.68,0.174,2.158,0.522C31.487,12.968,31.727,13.48,31.727,14.156z M27.894,15.424h0.668\n\t\tc0.645,0,1.118-0.1,1.419-0.299c0.301-0.197,0.452-0.508,0.452-0.931c0-0.392-0.135-0.685-0.405-0.876\n\t\tc-0.27-0.192-0.689-0.289-1.261-0.289h-0.873V15.424z"],["fill","#38AB63","d","M38.029,18.907l-0.768-1.891h-2.938l-0.751,1.891h-1.325l2.875-6.837h1.367l2.875,6.837H38.029z\n\t\t M36.931,16.057l-0.72-1.854c-0.053-0.125-0.125-0.32-0.218-0.586c-0.093-0.268-0.157-0.463-0.192-0.588\n\t\tc-0.095,0.383-0.232,0.8-0.415,1.254l-0.694,1.773H36.931z"],["fill","#38AB63","d","M43.522,15.214h2.828v3.419c-0.462,0.133-0.906,0.228-1.333,0.284C44.592,18.973,44.132,19,43.638,19\n\t\tc-1.164,0-2.061-0.305-2.691-0.914C40.316,17.475,40,16.614,40,15.503c0-1.097,0.355-1.954,1.067-2.573S42.758,12,44.006,12\n\t\tc0.803,0,1.563,0.137,2.282,0.41l-0.442,0.927c-0.624-0.255-1.248-0.382-1.871-0.382c-0.82,0-1.468,0.229-1.945,0.685\n\t\tc-0.477,0.456-0.715,1.081-0.715,1.872c0,0.832,0.215,1.466,0.644,1.897c0.43,0.435,1.047,0.65,1.853,0.65\n\t\tc0.406,0,0.841-0.045,1.303-0.135v-1.756h-1.593V15.214z"],["fill","#38AB63","d","M52.542,18.907h-4.347v-6.81h4.347v0.941h-3.09v1.854h2.896v0.932h-2.896v2.138h3.09V18.907z"],["x","82.5","y","4.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","76","height","21"],["fill","#38AB63","d","M112.881,13.822c0,0.71-0.263,1.255-0.789,1.635c-0.525,0.379-1.274,0.567-2.245,0.567h-0.799v2.548h-1.257\n\t\tv-6.809h2.213c0.96,0,1.68,0.174,2.158,0.522C112.642,12.633,112.881,13.146,112.881,13.822z M109.049,15.089h0.667\n\t\tc0.645,0,1.118-0.099,1.419-0.298s0.452-0.509,0.452-0.932c0-0.392-0.135-0.684-0.405-0.876s-0.69-0.289-1.262-0.289h-0.873V15.089\n\t\tz"],["fill","#38AB63","d","M119.184,18.572l-0.768-1.891h-2.938l-0.751,1.891h-1.325l2.875-6.837h1.367l2.875,6.837H119.184z\n\t\t M118.084,15.722l-0.72-1.854c-0.053-0.125-0.125-0.32-0.218-0.587c-0.094-0.266-0.157-0.462-0.192-0.586\n\t\tc-0.094,0.382-0.232,0.799-0.415,1.252l-0.694,1.774H118.084z"],["fill","#38AB63","d","M124.676,14.879h2.828v3.419c-0.463,0.133-0.907,0.228-1.332,0.284c-0.426,0.056-0.886,0.083-1.38,0.083\n\t\tc-1.163,0-2.061-0.305-2.691-0.914c-0.631-0.611-0.946-1.472-0.946-2.583c0-1.097,0.356-1.953,1.067-2.573\n\t\tc0.712-0.62,1.691-0.929,2.938-0.929c0.804,0,1.563,0.136,2.282,0.41L127,13.002c-0.624-0.254-1.246-0.382-1.871-0.382\n\t\tc-0.82,0-1.468,0.229-1.945,0.685c-0.476,0.457-0.715,1.081-0.715,1.872c0,0.832,0.215,1.466,0.644,1.897\n\t\tc0.43,0.435,1.048,0.65,1.854,0.65c0.405,0,0.841-0.045,1.304-0.135v-1.756h-1.594V14.879z"],["fill","#38AB63","d","M133.697,18.572h-4.347v-6.809h4.347v0.941h-3.091v1.854h2.897v0.932h-2.897v2.138h3.091V18.572z"],["x","159.5","y","22.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","4","height","3"],["x","78.5","y","22.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","4","height","3"],["x","164.5","y","4.5","fill","#CAEED8","stroke","#CAEED8","stroke-miterlimit","10","width","76","height","21"],["fill","#38AB63","d","M194.58,13.822c0,0.71-0.263,1.255-0.789,1.635c-0.525,0.379-1.273,0.567-2.245,0.567h-0.799v2.548h-1.257\n\t\tv-6.809h2.214c0.96,0,1.679,0.174,2.157,0.522C194.34,12.633,194.58,13.146,194.58,13.822z M190.748,15.089h0.667\n\t\tc0.645,0,1.118-0.099,1.419-0.298s0.452-0.509,0.452-0.932c0-0.392-0.135-0.684-0.405-0.876s-0.69-0.289-1.262-0.289h-0.873V15.089\n\t\tz"],["fill","#38AB63","d","M200.882,18.572l-0.768-1.891h-2.938l-0.751,1.891H195.1l2.875-6.837h1.367l2.875,6.837H200.882z\n\t\t M199.784,15.722l-0.72-1.854c-0.053-0.125-0.125-0.32-0.218-0.587c-0.094-0.266-0.157-0.462-0.192-0.586\n\t\tc-0.094,0.382-0.232,0.799-0.415,1.252l-0.694,1.774H199.784z"],["fill","#38AB63","d","M206.375,14.879h2.828v3.419c-0.463,0.133-0.907,0.228-1.332,0.284c-0.426,0.056-0.887,0.083-1.381,0.083\n\t\tc-1.163,0-2.06-0.305-2.691-0.914c-0.631-0.611-0.946-1.472-0.946-2.583c0-1.097,0.356-1.953,1.067-2.573\n\t\tc0.712-0.62,1.692-0.929,2.938-0.929c0.804,0,1.563,0.136,2.282,0.41l-0.442,0.927c-0.624-0.254-1.246-0.382-1.871-0.382\n\t\tc-0.82,0-1.468,0.229-1.945,0.685c-0.476,0.457-0.714,1.081-0.714,1.872c0,0.832,0.214,1.466,0.644,1.897\n\t\tc0.43,0.435,1.048,0.65,1.854,0.65c0.406,0,0.841-0.045,1.304-0.135v-1.756h-1.594V14.879z"],["fill","#38AB63","d","M215.396,18.572h-4.346v-6.809h4.346v0.941h-3.091v1.854h2.897v0.932h-2.897v2.138h3.091V18.572z"],["x","3","fill","#CAEED8","width","72","height","3"],["x","75","fill","#CAEED8","width","3","height","26"],["fill","#CAEED8","width","3","height","26"],["version","1.1","id","Layer_8","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","101px","height","73px","viewBox","0 0 101 74","enable-background","new 0 0 101 74",0,"xml","space","preserve",1,"-sf-block"],["display","none"],["display","inline","fill","#FFFFFF","d","M90.888,9.213l-5.197,5.198c-0.067,0.067-0.168,0.111-0.257,0.111\n\t\ts-0.189-0.044-0.257-0.111l-5.197-5.198c-0.067-0.067-0.112-0.167-0.112-0.256s0.045-0.189,0.112-0.256l0.558-0.558\n\t\tc0.066-0.067,0.156-0.111,0.257-0.111c0.089,0,0.189,0.044,0.256,0.111l4.384,4.384l4.384-4.384\n\t\tc0.066-0.067,0.167-0.111,0.256-0.111c0.09,0,0.19,0.044,0.257,0.111L90.888,8.7C90.955,8.767,91,8.867,91,8.957\n\t\tS90.955,9.146,90.888,9.213z"],["display","inline","fill","#FFFFFF","d","M90.888,61.287l-5.197,5.198c-0.067,0.066-0.168,0.111-0.257,0.111\n\t\ts-0.189-0.045-0.257-0.111l-5.197-5.198c-0.067-0.067-0.112-0.167-0.112-0.257c0-0.089,0.045-0.189,0.112-0.256l0.558-0.559\n\t\tc0.066-0.066,0.156-0.111,0.257-0.111c0.089,0,0.189,0.045,0.256,0.111l4.384,4.385l4.384-4.385\n\t\tc0.066-0.066,0.167-0.111,0.256-0.111c0.09,0,0.19,0.045,0.257,0.111l0.558,0.559C90.955,60.841,91,60.941,91,61.03\n\t\tC91,61.12,90.955,61.22,90.888,61.287z"],["display","inline","fill","#FFFFFF","d","M90.888,35.175l-5.197,5.199c-0.067,0.066-0.168,0.111-0.257,0.111\n\t\ts-0.189-0.045-0.257-0.111l-5.197-5.199c-0.067-0.067-0.112-0.167-0.112-0.256s0.045-0.189,0.112-0.256l0.558-0.558\n\t\tc0.066-0.067,0.156-0.111,0.257-0.111c0.089,0,0.189,0.044,0.256,0.111l4.384,4.385l4.384-4.385\n\t\tc0.066-0.067,0.167-0.111,0.256-0.111c0.09,0,0.19,0.044,0.257,0.111l0.558,0.558C90.955,34.729,91,34.83,91,34.919\n\t\tS90.955,35.108,90.888,35.175z"],["version","1.1","id","Layer_9","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",1,"-sf-block","sf-icon__svg"],["fill","#FFFFFF","d","M12.942,11.771H9.904L5,4.963H4.932c0.097,1.204,0.146,2.061,0.146,2.574v4.235H2.942v-9h3.015l4.896,6.741\n h0.054c-0.078-1.171-0.116-1.997-0.116-2.48v-4.26h2.152V11.771z"],["version","1.1","id","Layer_10","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","16px","viewBox","0 0 16 16","enable-background","new 0 0 16 16",0,"xml","space","preserve",1,"-sf-block","sf-icon__svg"],["fill","currentColor","d","M4,5H1V2h3V5z M4,10H1V7h3V10z M4,15H1v-3h3V15z M15,15H6v-3h9V15z M15,10H6V7h9V10z M15,5H6V2h9V5z"],["aria-hidden","true","alt","","version","1.1","id","Layer_11","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","width","16px","height","15px","viewBox","0 0 16 15","enable-background","new 0 0 16 15",0,"xml","space","preserve",1,"-sf-block","sf-icon__svg"],["fill","currentColor","d","M8,11H0V4h8V11z M16,7H9V6h7V7z M16,9H9V8h7V9z M16,11H9v-1h7V11z M8,15H0v-1h8V15z M16,13H0v-1h16V13z\n M16,3H0V2h16V3z M16,5H9V4h7V5z M16,1H0V0h16V1z"]],template:function SvgIconHandlerComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"sf-icon",0),o["ɵɵtemplate"](1,SvgIconHandlerComponent__svg_svg_1_Template,5,0,"svg",1),o["ɵɵtemplate"](2,SvgIconHandlerComponent__svg_svg_2_Template,4,0,"svg",2),o["ɵɵtemplate"](3,SvgIconHandlerComponent__svg_svg_3_Template,3,0,"svg",3),o["ɵɵtemplate"](4,SvgIconHandlerComponent__svg_svg_4_Template,6,0,"svg",4),o["ɵɵtemplate"](5,SvgIconHandlerComponent__svg_svg_5_Template,28,0,"svg",5),o["ɵɵtemplate"](6,SvgIconHandlerComponent__svg_svg_6_Template,22,0,"svg",6),o["ɵɵtemplate"](7,SvgIconHandlerComponent__svg_svg_7_Template,25,0,"svg",7),o["ɵɵtemplate"](8,SvgIconHandlerComponent__svg_svg_8_Template,28,0,"svg",8),o["ɵɵtemplate"](9,SvgIconHandlerComponent__svg_svg_9_Template,4,0,"svg",9),o["ɵɵtemplate"](10,SvgIconHandlerComponent__svg_svg_10_Template,3,0,"svg",10),o["ɵɵtemplate"](11,SvgIconHandlerComponent__svg_svg_11_Template,2,0,"svg",11),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵpropertyInterpolate1"]("look","",t.look," svg"),o["ɵɵproperty"]("ngSwitch",t.name)("title",t.title),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Section"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","ContentBlock"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Image"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Button"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Accordion"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Horizontal"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Tabs"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Vertical"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","Navigation"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase","ContentList"))},directives:[i.SfIconComponent,r.NgSwitch,r.NgSwitchCase,r.NgSwitchDefault],encapsulation:2}),SvgIconHandlerComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"InsertBodyComponent",(function(){return l}));var o=n(229),i=n(244),r=n(1095),a=n(261),s=["contentRef"],_c1=function(e){return{transform:e}};function InsertBodyComponent_ng_template_0_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",1),o["ɵɵlistener"]("elementIsVisible",(function InsertBodyComponent_ng_template_0_Template_div_elementIsVisible_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onElementIsVisible(e)})),o["ɵɵprojection"](1),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"]();o["ɵɵproperty"]("ngStyle",o["ɵɵpureFunction1"](2,_c1,i.dropdownTransition)),o["ɵɵattribute"]("data-container",i.containerName)}}var A=["*"],l=function(){function InsertBodyComponent(e,t){this.window=t,this.dropdownTransitionX=0,this.dropdownTransitionY=0,this.viewContainerRef=e}return InsertBodyComponent.prototype.ngOnChanges=function(e){e&&e.referenceNodeBoundingRect&&e.referenceNodeBoundingRect.currentValue&&this.embedNodeInDom()},InsertBodyComponent.prototype.ngOnDestroy=function(){for(var e=0,t=this.embeddedViewRef.rootNodes;et.height?this.dropdownTransitionY=this.referenceNodeBoundingRect.bottom+window.scrollY:(this.dropdownTransitionY=this.referenceNodeBoundingRect.bottom-(t.height-n)+window.scrollY-20,this.dropdownTransitionX=this.referenceNodeBoundingRect.left-t.width-10),this.setDropdownTransition()},InsertBodyComponent.prototype.setDropdownTransition=function(){this.dropdownTransition="translate("+this.dropdownTransitionX+"px,"+this.dropdownTransitionY+"px)"},InsertBodyComponent.prototype.onElementIsVisible=function(e){var t=e.getBoundingClientRect();0===t.width&&0===t.height||(this.calculateDropdownPosition(e),e.style.visibility="visible")},InsertBodyComponent.prototype.embedNodeInDom=function(){this.embeddedViewRef=this.viewContainerRef.createEmbeddedView(this.contentRef),this.embeddedViewRef.detectChanges();for(var e=0,t=this.embeddedViewRef.rootNodes;e-1})))},SiteDataStore.prototype.isModuleAvailable=function(e){return this.getEntitySetAvailability(e).pipe()},SiteDataStore.prototype.getAllowedProvidersFromSiteData=function(e,t){var n=t.Modules,o=Object.keys(n).map((function(e){return n[e]})).find((function(t){return t.ModuleTypes.indexOf(e)>-1})),i=[];return o?i=o.Providers:e!==a.ENTITY_SET.PAGES&&e!==a.ENTITY_SET.FORMS||(i=[s.stringConstants.ASTERISK]),i},SiteDataStore.prototype.getAllowedProviders=function(e){var t=this;return this.getValue().pipe(Object(o.first)(),Object(o.map)((function(n){return t.getAllowedProvidersFromSiteData(e,n)})))},SiteDataStore.prototype.getAllSites=function(e){var t,n={entityData:e,additionalQueryParams:(t={},t[l.QUERY_PARAMS.GET_ALL_ITEMS]="true",t),order:"Name"};return this.dynamicService.getItemList(n)},SiteDataStore.prototype.initialize=function(){var e=this;return this.siteData||(this.siteData=new i.ReplaySubject(1),this.http.get(d).then((function(t){e.siteData.next(t.value),e.siteData.complete()}))),this.siteData.asObservable()},SiteDataStore.prototype.getAccessibleEntitySets=function(){var e=this;return this.accessibleEntitySets||(this.accessibleEntitySets=new i.ReplaySubject(1),this.getValue().pipe(Object(o.first)()).subscribe((function(t){var n=t.Modules,o=Object.keys(n).map((function(e){return n[e].AccessibleTypes})).reduce((function(e,t){return e.concat(t)}));e.accessibleEntitySets.next(o),e.accessibleEntitySets.complete()}))),this.accessibleEntitySets.asObservable()},SiteDataStore.prototype.getEntitySetAvailability=function(e){var t=this;return this.isSetAvailable||(this.isSetAvailable=new i.ReplaySubject(1),this.getValue().pipe(Object(o.first)()).subscribe((function(n){var o=n.Modules,i=Object.keys(o).some((function(t){return t.indexOf(e)>-1}));t.isSetAvailable.next(i),t.isSetAvailable.complete()}))),this.isSetAvailable.asObservable()},SiteDataStore.ɵfac=function SiteDataStore_Factory(e){return new(e||SiteDataStore)(c["ɵɵinject"](r.HttpODataRequestWrapper),c["ɵɵinject"](A.DynamicItemService))},SiteDataStore.ɵprov=c["ɵɵdefineInjectable"]({token:SiteDataStore,factory:SiteDataStore.ɵfac}),SiteDataStore}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ProviderSelectorComponent",(function(){return l}));var o=n(259),i=n(229),r=n(1141),a=n(1146),s=n(1147),A=n(246);function ProviderSelectorComponent_ng_container_1_sf_dropdown_list_choice_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-dropdown-list-choice",3),i["ɵɵlistener"]("ngModelChange",(function ProviderSelectorComponent_ng_container_1_sf_dropdown_list_choice_1_Template_sf_dropdown_list_choice_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).initialActiveProvider.name=e}))("selectionChange",(function ProviderSelectorComponent_ng_container_1_sf_dropdown_list_choice_1_Template_sf_dropdown_list_choice_selectionChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onProviderSelectionChange(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngModel",o.initialActiveProvider.name)("settings",o.providerSettings)}}function ProviderSelectorComponent_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ProviderSelectorComponent_ng_container_1_sf_dropdown_list_choice_1_Template,1,2,"sf-dropdown-list-choice",2),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.providerSettings)}}function ProviderSelectorComponent_ng_container_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"sf-chips",4),i["ɵɵlistener"]("selectChip",(function ProviderSelectorComponent_ng_container_2_Template_sf_chips_selectChip_1_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onProviderChipChange(e)}))("searchChips",(function ProviderSelectorComponent_ng_container_2_Template_sf_chips_searchChips_1_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onSearchChips(e)})),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("isLoading",!0)("isSingleSelection",!0)("selectedChips",o.selectedChips)("dropdownChips",o.filteredChipsProviders||o.chipsProviders)("config",o.chipConfig)}}function ProviderSelectorComponent_ng_container_3_sf_dropdown_choice_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-dropdown-choice",6),i["ɵɵlistener"]("selectionChange",(function ProviderSelectorComponent_ng_container_3_sf_dropdown_choice_1_Template_sf_dropdown_choice_selectionChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onProviderSelectionChange(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("settings",o.providerSettings)}}function ProviderSelectorComponent_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ProviderSelectorComponent_ng_container_3_sf_dropdown_choice_1_Template,1,1,"sf-dropdown-choice",5),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.providerSettings)}}var l=function(e){function ProviderSelectorComponent(t){var n=e.call(this,t)||this;return n.displayMode=A.stringConstants.EMPTY_STRING,n.onChange=new i.EventEmitter,n.onInit=new i.EventEmitter,n.selectedChips=[],n.chipConfig={showRecentLabel:!1,showSelectedItemAsActive:!0,showNoResultsLabel:!0},n}return Object(o.__extends)(ProviderSelectorComponent,e),ProviderSelectorComponent.prototype.ngOnInit=function(){this.providersCollection&&(this.providers=this.providersCollection),this.entityData?(this.entitySetName=this.entityData.metadata.setName,this.initializeProviders(this.entityData.metadata.selectedProvider||this.entityData.provider)):this.initializeProviders()},ProviderSelectorComponent.prototype.ngOnChanges=function(e){var t=e.entityData;t&&(this.entityData=t.currentValue,this.entityData&&(this.entitySetName=this.entityData.metadata.setName,this.initializeProviders(this.entityData.metadata.selectedProvider||this.entityData.provider)))},ProviderSelectorComponent.prototype.onSearchChips=function(e){this.filteredChipsProviders=e?this.chipsProviders.filter((function(t){return t.Title.includes(e.trim())})):null},ProviderSelectorComponent.prototype.onProviderChipChange=function(e){this.onChange.emit({tabValue:e.Name}),this.selectedChips=[{Title:e.Title,Id:e.Name}]},ProviderSelectorComponent.prototype.onInitializedProviders=function(e){this.providerSettings=this.getDropdownChoices(),"chips"===this.displayMode&&this.initChips(e,this.initialActiveProvider.name)},ProviderSelectorComponent.prototype.getDropdownChoices=function(){return this.dropdownOptions.length>0?r.ChoiceDropdownListComponent.createFieldSettings(this.dropdownOptions,this.initialActiveProvider.name):null},ProviderSelectorComponent.prototype.initChips=function(e,t){this.chipsProviders=e.map((function(e){return{Name:e.name,Title:e.title,Id:e.name}}));var n=e.find((function(e){return e.name===t}));this.selectedChips=[{Title:n.title,Id:n.name}]},ProviderSelectorComponent.ɵfac=function ProviderSelectorComponent_Factory(e){return new(e||ProviderSelectorComponent)(i["ɵɵdirectiveInject"](s.ProviderStore))},ProviderSelectorComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ProviderSelectorComponent,selectors:[["sf-provider-selector"]],inputs:{entityData:"entityData",providersCollection:"providersCollection",displayMode:"displayMode"},outputs:{onChange:"onChange",onInit:"onInit"},features:[i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:4,vars:4,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],["optgroup","Source","ariaLabel","Providers","look","sf-mb-4xs sf-ml-3xs sf-mr-zero",3,"ngModel","settings","ngModelChange","selectionChange",4,"ngIf"],["optgroup","Source","ariaLabel","Providers","look","sf-mb-4xs sf-ml-3xs sf-mr-zero",3,"ngModel","settings","ngModelChange","selectionChange"],["look","inline auto-width",3,"isLoading","isSingleSelection","selectedChips","dropdownChips","config","selectChip","searchChips"],[3,"settings","selectionChange",4,"ngIf"],[3,"settings","selectionChange"]],template:function ProviderSelectorComponent_Template(e,t){1&e&&(i["ɵɵelementContainerStart"](0,0),i["ɵɵtemplate"](1,ProviderSelectorComponent_ng_container_1_Template,2,1,"ng-container",1),i["ɵɵtemplate"](2,ProviderSelectorComponent_ng_container_2_Template,2,5,"ng-container",1),i["ɵɵtemplate"](3,ProviderSelectorComponent_ng_container_3_Template,2,1,"ng-container",1),i["ɵɵelementContainerEnd"]()),2&e&&(i["ɵɵproperty"]("ngSwitch",t.displayMode),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngSwitchCase",""),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngSwitchCase","chips"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngSwitchCase","select"))},encapsulation:2}),ProviderSelectorComponent}(a.ProviderSelectorBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceDropdownListComponent",(function(){return l}));var o=n(259),i=n(229),r=n(336),a=n(1142),s=n(261),A=n(354);function ChoiceDropdownListComponent_div_2_div_3_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",10),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.optgroup," ")}}function ChoiceDropdownListComponent_div_2_div_3_div_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",11),i["ɵɵlistener"]("click",(function ChoiceDropdownListComponent_div_2_div_3_div_3_Template_div_click_0_listener(e){i["ɵɵrestoreView"](n);var o=t.$implicit;return i["ɵɵnextContext"](3).onSelectionChangeMimic(e,o)}))("keydown.Enter",(function ChoiceDropdownListComponent_div_2_div_3_div_3_Template_div_keydown_Enter_0_listener(e){i["ɵɵrestoreView"](n);var o=t.$implicit;return i["ɵɵnextContext"](3).onSelectionChangeMimic(e,o)}))("keydown.ArrowUp",(function ChoiceDropdownListComponent_div_2_div_3_div_3_Template_div_keydown_ArrowUp_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](3).onFocusSibling(e,!1)}))("keydown.ArrowDown",(function ChoiceDropdownListComponent_div_2_div_3_div_3_Template_div_keydown_ArrowDown_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](3).onFocusSibling(e,!0)})),i["ɵɵtext"](1),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,r=i["ɵɵnextContext"](3);i["ɵɵclassProp"]("-active",r.displayName===o.Name),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",o.Name," ")}}function ChoiceDropdownListComponent_div_2_div_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",6),i["ɵɵelementStart"](1,"div",7),i["ɵɵtemplate"](2,ChoiceDropdownListComponent_div_2_div_3_div_2_Template,2,1,"div",8),i["ɵɵtemplate"](3,ChoiceDropdownListComponent_div_2_div_3_div_3_Template,2,3,"div",9),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",n.optgroup),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.settings.choices)}}var _c0=function(e){return{"-dropdown -dropped":e}};function ChoiceDropdownListComponent_div_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",2),i["ɵɵlistener"]("contentFocusIn",(function ChoiceDropdownListComponent_div_2_Template_div_contentFocusIn_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().dropped=!0}))("contentFocusOut",(function ChoiceDropdownListComponent_div_2_Template_div_contentFocusOut_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().dropped=!1}))("keydown.Space",(function ChoiceDropdownListComponent_div_2_Template_div_keydown_Space_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onExpandDropdown(e)}))("keydown.ArrowUp",(function ChoiceDropdownListComponent_div_2_Template_div_keydown_ArrowUp_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onArrowUpDown(e,!1)}))("keydown.ArrowDown",(function ChoiceDropdownListComponent_div_2_Template_div_keydown_ArrowDown_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onArrowUpDown(e,!0)})),i["ɵɵelement"](1,"span",3),i["ɵɵelement"](2,"i",4),i["ɵɵtemplate"](3,ChoiceDropdownListComponent_div_2_div_3_Template,4,2,"div",5),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](7,_c0,o.dropped)),i["ɵɵattribute"]("class",o.cssClass)("aria-expanded",o.dropped)("aria-label",o.ariaLabel)("title",o.settings.title),i["ɵɵadvance"](1),i["ɵɵproperty"]("textContent",o.displayName),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",o.dropped)}}var l=function(e){function ChoiceDropdownListComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.dropped=!1,t.cssClass="sf-button -no-border -left -icon",t}return Object(o.__extends)(ChoiceDropdownListComponent,e),ChoiceDropdownListComponent.prototype.ngOnInit=function(){this.look&&(this.cssClass+=this.generateCssClassList())},ChoiceDropdownListComponent.prototype.ngOnChanges=function(e){e&&e.settings&&this.generateDisplayName()},ChoiceDropdownListComponent.prototype.onSelectionChangeMimic=function(e,t){this.value!==t.Value&&(this.value=t.Value,this.displayName=t.Name,e instanceof KeyboardEvent&&(this.dropped=!1),this.selectionChange.emit(this.value))},ChoiceDropdownListComponent.prototype.onArrowUpDown=function(e,t){if(e.preventDefault(),!this.dropped){var n=this.settings.choices,o=this.getIndex(n);t?o!==n.length-1?o++:o=0:0!==o?o--:o=n.length-1,n[o].Value&&(this.value=n[o].Value,this.displayName=n[o].Name,this.selectionChange.emit(this.value))}},ChoiceDropdownListComponent.prototype.onFocusSibling=function(e,t){var n=document.activeElement;if(n){var o=t?n.nextElementSibling:n.previousElementSibling;o&&o.focus()}},ChoiceDropdownListComponent.prototype.onExpandDropdown=function(e){if(e.preventDefault(),!this.dropped){this.dropped=!0;var t=this.choiceWrapper.nativeElement.querySelectorAll(".sf-dropdown__item");if(t.length>0){var n=this.settings.choices,o=this.getIndex(n);setTimeout((function(){t[o].focus()}),0)}}},ChoiceDropdownListComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.generateDisplayName()},ChoiceDropdownListComponent.prototype.getNameByValue=function(e,t){return e&&t?e.find((function(e){return e.Value===t})).Name:null},ChoiceDropdownListComponent.prototype.getIndex=function(e){var t=this;return e.indexOf(e.filter((function(e){return e.Value===t.value}))[0])},ChoiceDropdownListComponent.prototype.generateDisplayName=function(){var e=this;this.settings&&this.settings.choices&&(this.value&&!this.settings.choices.some((function(t){return t.Value===e.value}))&&(this.value=null),this.value?this.displayName=this.getNameByValue(this.settings.choices,this.value):this.settings.defaultValue?(this.value=this.settings.defaultValue,this.displayName=this.getNameByValue(this.settings.choices,this.settings.defaultValue)):this.settings.choices.length>0&&(this.value=this.settings.choices[0].Value,this.displayName=this.settings.choices[0].Name))},ChoiceDropdownListComponent.ɵfac=function ChoiceDropdownListComponent_Factory(e){return c(e||ChoiceDropdownListComponent)},ChoiceDropdownListComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ChoiceDropdownListComponent,selectors:[["sf-dropdown-list-choice"]],inputs:{optgroup:"optgroup",ariaLabel:"ariaLabel"},features:[i["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ChoiceDropdownListComponent)]),i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:3,vars:1,consts:[["choiceWrapper",""],["sfTrackFocus","","tabindex","0","role","listbox","aria-haspopup","true","data-sftest","sf-choice-dropdown-button",3,"ngClass","contentFocusIn","contentFocusOut","keydown.Space","keydown.ArrowUp","keydown.ArrowDown",4,"ngIf"],["sfTrackFocus","","tabindex","0","role","listbox","aria-haspopup","true","data-sftest","sf-choice-dropdown-button",3,"ngClass","contentFocusIn","contentFocusOut","keydown.Space","keydown.ArrowUp","keydown.ArrowDown"],["aria-live","polite",1,"sf-button__content",3,"textContent"],[1,"sf-button__icon","sf-icon","sf-fa","sf-fa-caret-down","-size-xs","-sf-ml-4xs"],["sfMoveInViewport","","class","sf-button__dropdown",4,"ngIf"],["sfMoveInViewport","",1,"sf-button__dropdown"],[1,"sf-dropdown"],["class","sf-dropdown__heading",4,"ngIf"],["class","sf-dropdown__item","tabindex","0","role","option",3,"-active","click","keydown.Enter","keydown.ArrowUp","keydown.ArrowDown",4,"ngFor","ngForOf"],[1,"sf-dropdown__heading"],["tabindex","0","role","option",1,"sf-dropdown__item",3,"click","keydown.Enter","keydown.ArrowUp","keydown.ArrowDown"]],template:function ChoiceDropdownListComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",null,0),i["ɵɵtemplate"](2,ChoiceDropdownListComponent_div_2_Template,4,9,"div",1),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",t.settings))},directives:[s.NgIf,A.SfTrackFocusDirective,s.NgClass,A.SfMoveInViewportDirective,s.NgForOf],encapsulation:2}),ChoiceDropdownListComponent}(a.ChoiceDropdownComponent),c=i["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceDropdownComponent",(function(){return c}));var o=n(259),i=n(1143),r=n(229),a=n(336),s=n(1144),A=n(261),l=n(324);function ChoiceDropdownComponent_select_2_option_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"option",6),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.index,i=r["ɵɵnextContext"](2);r["ɵɵpropertyInterpolate"]("value",n.Value),r["ɵɵproperty"]("selected",i.onChecked(o)),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.Name)}}function ChoiceDropdownComponent_select_2_option_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"option",7),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵpropertyInterpolate"]("value",n.value),r["ɵɵproperty"]("selected",!0),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.settings.unsupportedValueText)}}function ChoiceDropdownComponent_select_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"select",3),r["ɵɵlistener"]("change",(function ChoiceDropdownComponent_select_2_Template_select_change_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onSelectionChange(e.target.selectedIndex)})),r["ɵɵtemplate"](1,ChoiceDropdownComponent_select_2_option_1_Template,2,3,"option",4),r["ɵɵtemplate"](2,ChoiceDropdownComponent_select_2_option_2_Template,2,3,"option",5),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("id",o.settings.key),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",o.settings.choices),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.showUnsupportedValueOption)}}var c=function(e){function ChoiceDropdownComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.showUnsupportedValueOption=!1,t}return Object(o.__extends)(ChoiceDropdownComponent,e),ChoiceDropdownComponent.createFieldSettings=function(e,t,n,o,r){void 0===e&&(e=[]),void 0===t&&(t=null),void 0===n&&(n=null),void 0===o&&(o=null),void 0===r&&(r=null);var a=new i.ChoiceSettings(n,!1);return a.choices=e,o&&(a.look=" -"+o.split(" ").join(" -")),a.defaultValue=t,a.unsupportedValueText=r,a},ChoiceDropdownComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.showUnsupportedValueOption=this.getShowUnsupportedValueOption(t)},ChoiceDropdownComponent.prototype.getShowUnsupportedValueOption=function(e){if(e&&this.settings&&this.settings.unsupportedValueText){var t=this.settings.choices;if(!(t&&t.some((function(t){return t.Value===e}))))return!0}return!1},ChoiceDropdownComponent.ɵfac=function ChoiceDropdownComponent_Factory(e){return d(e||ChoiceDropdownComponent)},ChoiceDropdownComponent.ɵcmp=r["ɵɵdefineComponent"]({type:ChoiceDropdownComponent,selectors:[["sf-dropdown-choice"]],features:[r["ɵɵProvidersFeature"]([Object(a.createValueAccessor)(ChoiceDropdownComponent)]),r["ɵɵInheritDefinitionFeature"]],decls:3,vars:2,consts:[[1,"sf-select",3,"ngClass"],["choiceWrapper",""],["class","sf-field__input sf-select__item",3,"id","change",4,"ngIf"],[1,"sf-field__input","sf-select__item",3,"id","change"],[3,"value","selected",4,"ngFor","ngForOf"],[3,"selected","value",4,"ngIf"],[3,"value","selected"],[3,"selected","value"]],template:function ChoiceDropdownComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0,1),r["ɵɵtemplate"](2,ChoiceDropdownComponent_select_2_Template,3,3,"select",2),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵproperty"]("ngClass",t.settings.look),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",t.settings))},directives:[A.NgClass,A.NgIf,A.NgForOf,l.NgSelectOption,l["ɵangular_packages_forms_forms_z"]],encapsulation:2}),ChoiceDropdownComponent}(s.ChoiceComponent),d=r["ɵɵgetInheritedFactory"](c)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceSettings",(function(){return a}));var o=n(259),i=n(332),r=n(256),a=function(e){function ChoiceSettings(){var t=null!==e&&e.apply(this,arguments)||this;return t.choices=[],t.optionName=null,t.showFriendlyName=!1,t.emptyChoiceValues=[0,"0"],t}return Object(o.__extends)(ChoiceSettings,e),ChoiceSettings.prototype.init=function(t){e.prototype.init.call(this,t),null===this.defaultValue&&t.default&&(this.defaultValue=t.default),t[r.FIELD_TYPE]&&t[r.FIELD_TYPE].toLowerCase()===r.CHOICE_FIELD_TYPE_LOWERCASE&&(this.markAsDirty=!0),t[r.FIELD_TYPE]&&t[r.FIELD_TYPE].toLowerCase()===r.MULTIPLE_CHOICE_FIELD_TYPE_LOWERCASE&&(this.useDefaultValue=!1),this.assignEmptyChoiceValues(t)},ChoiceSettings.prototype.assignEmptyChoiceValues=function(e){var t=this,n=this.choices;try{n=Object(o.__spreadArrays)(n,JSON.parse(e.choices))}catch(e){}this.emptyChoiceValues.forEach((function(e){n&&-1===n.findIndex((function(t){return t.Value===e}))&&t.emptyValues.push(e)}))},ChoiceSettings}(i.SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceComponent",(function(){return d}));var o=n(259),i=n(229),r=n(336),a=n(1145),s=n(246),A=n(261),l=n(354),c=["choiceWrapper"];function ChoiceComponent_li_2_sf_icon_4_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-icon",11),2&e){var n=i["ɵɵnextContext"]().$implicit;i["ɵɵproperty"]("name",n.Icon.Name)("look",n.Icon.Look)}}function ChoiceComponent_li_2_p_5_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"p",12),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]().$implicit;i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.Description)}}function ChoiceComponent_li_2_ng_container_6_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ChoiceComponent_li_2_ng_container_6_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ChoiceComponent_li_2_ng_container_6_ng_container_1_Template,1,0,"ng-container",13),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]().$implicit;i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.ExpandedTemplate)}}function ChoiceComponent_li_2_ng_template_7_span_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",16),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2).$implicit;i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.FriendlyName)}}function ChoiceComponent_li_2_ng_template_7_ng_template_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",16),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2).$implicit;i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.Name)}}function ChoiceComponent_li_2_ng_template_7_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,ChoiceComponent_li_2_ng_template_7_span_0_Template,2,1,"span",14),i["ɵɵtemplate"](1,ChoiceComponent_li_2_ng_template_7_ng_template_1_Template,2,1,"ng-template",null,15,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](2),o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngIf",o.settings.showFriendlyName)("ngIfElse",n)}}function ChoiceComponent_li_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"li",3),i["ɵɵelementStart"](1,"input",4),i["ɵɵlistener"]("change",(function ChoiceComponent_li_2_Template_input_change_1_listener(){i["ɵɵrestoreView"](n);var e=t.index;return i["ɵɵnextContext"]().onSelectionChange(e)})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"label",5),i["ɵɵelement"](3,"span",6),i["ɵɵtemplate"](4,ChoiceComponent_li_2_sf_icon_4_Template,1,2,"sf-icon",7),i["ɵɵelementEnd"](),i["ɵɵtemplate"](5,ChoiceComponent_li_2_p_5_Template,2,1,"p",8),i["ɵɵtemplate"](6,ChoiceComponent_li_2_ng_container_6_Template,2,1,"ng-container",9),i["ɵɵtemplate"](7,ChoiceComponent_li_2_ng_template_7_Template,3,2,"ng-template",null,10,i["ɵɵtemplateRefExtractor"]),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,r=t.index,a=i["ɵɵreference"](8),s=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",s.cssClassList)("title",o.FriendlyName||o.Name),i["ɵɵadvance"](1),i["ɵɵpropertyInterpolate"]("id",s.settings.key+"_"+r),i["ɵɵproperty"]("name",s.settings.key)("value",o.Value)("checked",s.onChecked(r)),i["ɵɵadvance"](1),i["ɵɵpropertyInterpolate"]("for",s.settings.key+"_"+r),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",o.Icon)("ngIfElse",a),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",o.Description),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",o.ExpandedTemplate&&(s.value&&o.Value===s.value||!s.value&&s.settings.defaultValue&&o.Value===s.settings.defaultValue))}}var d=function(e){function ChoiceComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.selectionChange=new i.EventEmitter,t.choicesData=[],t}return Object(o.__extends)(ChoiceComponent,e),ChoiceComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.initChoicesData(),this.cssClassList=this.generateCssClassList(),this.wrapperCssClass&&(this.wrapperCssClassList=this.wrapperCssClass),this.outputTemplateCallback.subscribe((function(e){e&&t.settings.choices.forEach((function(n){var o=e.find((function(e){return e.conditionalFieldRule.conditions.findIndex((function(e){return e.fieldName===t.settings.key&&e.value===n.Value}))>-1}));o&&(n.ExpandedTemplate=o.templateRef)}))}))},ChoiceComponent.prototype.ngOnChanges=function(e){e&&e.settings&&this.initChoicesData()},ChoiceComponent.prototype.onChecked=function(e){return this.choicesData[e]===a.CheckBoxStates.Checked},ChoiceComponent.prototype.onSelectionChange=function(e){this.updateChoicesData(e),this.updateValueOnSelectionChange(e);var t=this.settings.choices[e];this.selectionChange.emit(t.Value)},ChoiceComponent.prototype.generateCssClassList=function(){var e="";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.settings&&this.settings.look&&(e+=" -"+this.settings.look.split(" ").join(" -")),e},ChoiceComponent.prototype.writeValue=function(t){var n=this.settings;if(this.settings&&!this.settings.hasFieldset&&n.choices){var o=n.choices.findIndex((function(e){return e.Value===t||+e.Value===t}));this.choicesData=new Array(n.choices.length).fill("0"),this.choicesData[o]=a.CheckBoxStates.Checked}e.prototype.writeValue.call(this,t)},ChoiceComponent.prototype.updateChoicesData=function(e){var t=this.choicesData.indexOf(a.CheckBoxStates.Checked);t>=0&&(this.choicesData[t]=a.CheckBoxStates.Unchecked),this.choicesData[e]=a.CheckBoxStates.Checked},ChoiceComponent.prototype.updateValueOnSelectionChange=function(e){if(this.settings.hasFieldset)return this.writeValue(this.choicesData.join(s.stringConstants.EMPTY_STRING));var t=this.settings;this.writeValue(t.choices[e].Value)},ChoiceComponent.prototype.initChoicesData=function(){var t=this.settings;if(t&&t.choices&&t.choices.length){var n=e.prototype.getValue.call(this);if(!n||n.length=0&&(this.choicesData[o]=a.CheckBoxStates.Checked)}else this.choicesData=n.split(s.stringConstants.EMPTY_STRING)}},ChoiceComponent.ɵfac=function ChoiceComponent_Factory(e){return p(e||ChoiceComponent)},ChoiceComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ChoiceComponent,selectors:[["sf-choice"]],viewQuery:function ChoiceComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](c,3),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.choiceWrapper=n.first)}},inputs:{look:"look",wrapperCssClass:"wrapperCssClass"},outputs:{selectionChange:"selectionChange"},features:[i["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ChoiceComponent)]),i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:3,vars:2,consts:[[3,"ngClass"],["choiceWrapper",""],["class","sf-radio",3,"ngClass","title",4,"ngFor","ngForOf"],[1,"sf-radio",3,"ngClass","title"],["type","radio",1,"sf-radio__input",3,"name","id","value","checked","change"],[1,"sf-radio__label",3,"for"],[1,"sf-radio__icon"],[3,"name","look",4,"ngIf","ngIfElse"],["class","sf-radio__description",4,"ngIf"],[4,"ngIf"],["useName",""],[3,"name","look"],[1,"sf-radio__description"],[4,"ngTemplateOutlet"],["class","sf-radio__text",4,"ngIf","ngIfElse"],["useDefaultName",""],[1,"sf-radio__text"]],template:function ChoiceComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"ul",0,1),i["ɵɵtemplate"](2,ChoiceComponent_li_2_Template,9,11,"li",2),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵproperty"]("ngClass",t.wrapperCssClassList),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",t.settings.choices))},directives:[A.NgClass,A.NgForOf,A.NgIf,l.SfIconComponent,A.NgTemplateOutlet],encapsulation:2}),ChoiceComponent}(r.FieldBase),p=i["ɵɵgetInheritedFactory"](d)},function(e,t,n){"use strict";var o;n.r(t),n.d(t,"CheckBoxStates",(function(){return o})),function(e){e.Checked="1",e.Unchecked="0"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"ProviderSelectorBaseComponent",(function(){return s}));var o=n(259),i=n(229),r=n(264),a=n(1147),s=(n(354),function(e){function ProviderSelectorBaseComponent(t){var n=e.call(this)||this;return n.store=t,n.onChange=new i.EventEmitter,n.onInit=new i.EventEmitter,n}return Object(o.__extends)(ProviderSelectorBaseComponent,e),ProviderSelectorBaseComponent.prototype.ngOnInit=function(){this.initializeProviders()},ProviderSelectorBaseComponent.prototype.ngOnDestroy=function(){this.store.invalidateCache(this.lastUsedProviderSet),e.prototype.ngOnDestroy.call(this)},ProviderSelectorBaseComponent.prototype.initializeProviders=function(e){var t=this;if(this.entitySetName||this.providers)if(this.entitySetName){var n=this.store.getProviders(this.entitySetName).subscribe((function(n){t.initialActiveProvider=t.getDefaultProvider(n,e),n.length>1?t.dropdownOptions=t.getDropDownOptions(n):t.dropdownOptions=[],t.onInitializedProviders(n),t.onInit.emit({tabValue:t.initialActiveProvider.name,triggerTabSelection:!1})}));this.registerSubscription(n),this.store.invalidateCache(this.lastUsedProviderSet),this.lastUsedProviderSet=this.entitySetName}else this.initialActiveProvider=this.getDefaultProvider(this.providers,e),this.providers.length>1?this.dropdownOptions=this.getDropDownOptions(this.providers):this.dropdownOptions=[],this.onInitializedProviders(this.providers),this.onInit.emit({tabValue:this.initialActiveProvider.name,triggerTabSelection:!1})},ProviderSelectorBaseComponent.prototype.onProviderSelectionChange=function(e){this.onChange.emit({tabValue:e,triggerTabSelection:!0})},ProviderSelectorBaseComponent.prototype.onInitializedProviders=function(e){},ProviderSelectorBaseComponent.prototype.getDefaultProvider=function(e,t){var n=e.find((function(e){return e.isDefault}));return t&&(n=e.find((function(e){return e.name===t}))),n||e[0]},ProviderSelectorBaseComponent.prototype.getDropDownOptions=function(e){return e.map((function(e){return{Name:e.title,Value:e.name}}))},ProviderSelectorBaseComponent.ɵfac=function ProviderSelectorBaseComponent_Factory(e){return new(e||ProviderSelectorBaseComponent)(i["ɵɵdirectiveInject"](a.ProviderStore))},ProviderSelectorBaseComponent.ɵdir=i["ɵɵdefineDirective"]({type:ProviderSelectorBaseComponent,inputs:{entitySetName:"entitySetName",providers:"providers"},outputs:{onChange:"onChange",onInit:"onInit"},features:[i["ɵɵInheritDefinitionFeature"]]}),ProviderSelectorBaseComponent}(r.RxBaseComponent))},function(e,t,n){"use strict";n.r(t),n.d(t,"ProviderStore",(function(){return A}));var o=n(259),i=n(11),r=n(1148),a=n(1149),s=n(229),A=function(e){function ProviderStore(t){var n=e.call(this)||this;return n.service=t,n.providerChanged=new i.Subject,n}return Object(o.__extends)(ProviderStore,e),Object.defineProperty(ProviderStore.prototype,"currentProvider",{get:function(){return this._currentProvider},set:function(e){var t=this._currentProvider;this._currentProvider=e,e!==t&&this.providerChanged.next(e)},enumerable:!1,configurable:!0}),ProviderStore.prototype.getCacheKey=function(e){return e},ProviderStore.prototype.requestItem=function(e){return this.service.getProviders(e)},ProviderStore.prototype.getProviders=function(e){return this.getItemInternal(e)},ProviderStore.ɵfac=function ProviderStore_Factory(e){return new(e||ProviderStore)(s["ɵɵinject"](r.ProviderService))},ProviderStore.ɵprov=s["ɵɵdefineInjectable"]({token:ProviderStore,factory:ProviderStore.ɵfac}),ProviderStore}(a.CacheStore)},function(e,t,n){"use strict";n.r(t),n.d(t,"ProviderService",(function(){return a}));var o=n(11),i=n(270),r=n(229),a=function(){function ProviderService(e){this.httpRequestWrapper=e}return ProviderService.prototype.getProviders=function(e,t){var n=new o.ReplaySubject(1);return this.httpRequestWrapper.get(e+"/sfproviders",t).then((function(e){n.next(e.value)})),n},ProviderService.ɵfac=function ProviderService_Factory(e){return new(e||ProviderService)(r["ɵɵinject"](i.HttpODataRequestWrapper))},ProviderService.ɵprov=r["ɵɵdefineInjectable"]({token:ProviderService,factory:ProviderService.ɵfac}),ProviderService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CacheStore",(function(){return i}));var o=n(131),i=function(){function CacheStore(){this.cache={}}return CacheStore.prototype.getItemInternal=function(e){var t=this.getCacheKey(e),n=this.cache[t];return n||(n=this.requestItem(e),this.cache[t]=n),n.pipe(Object(o.first)())},CacheStore.prototype.invalidateCache=function(e){var t=this.getCacheKey(e);delete this.cache[t]},CacheStore}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PROVIDER_TAB_CSS_CLASS",(function(){return s})),n.d(t,"ProviderTabSelectorComponent",(function(){return A}));var o=n(259),i=n(1146),r=n(1147),a=n(229),s="-sf-mr-3xl",A=function(e){function ProviderTabSelectorComponent(t){return e.call(this,t)||this}return Object(o.__extends)(ProviderTabSelectorComponent,e),ProviderTabSelectorComponent.prototype.onDropdownClicked=function(e){e&&e.stopPropagation()},ProviderTabSelectorComponent.prototype.onSplitButtonChange=function(e){this.onChange.emit({tabValue:e,triggerTabSelection:!0})},ProviderTabSelectorComponent.ɵfac=function ProviderTabSelectorComponent_Factory(e){return new(e||ProviderTabSelectorComponent)(a["ɵɵdirectiveInject"](r.ProviderStore))},ProviderTabSelectorComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ProviderTabSelectorComponent,selectors:[["sf-provider-tab-selector"]],features:[a["ɵɵInheritDefinitionFeature"]],decls:1,vars:2,consts:[["look","align-top",1,"-sf-block","-sf-mr--m","-sf-mb--4xs",3,"data","title","dropdownClicked","selectionChanged"]],template:function ProviderTabSelectorComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"sf-split-button",0),a["ɵɵlistener"]("dropdownClicked",(function ProviderTabSelectorComponent_Template_sf_split_button_dropdownClicked_0_listener(e){return t.onDropdownClicked(e)}))("selectionChanged",(function ProviderTabSelectorComponent_Template_sf_split_button_selectionChanged_0_listener(e){return t.onSplitButtonChange(e)})),a["ɵɵelementEnd"]()),2&e&&a["ɵɵproperty"]("data",t.dropdownOptions)("title",null==t.initialActiveProvider?null:t.initialActiveProvider.title)},encapsulation:2}),ProviderTabSelectorComponent}(i.ProviderSelectorBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"NO_PREVIEW_URL",(function(){return s})),n.d(t,"NoPreviewComponent",(function(){return A}));var o=n(271),i=n(1152),r=n(229),a=n(354),s=i.ROUTE_PATHS.ROOT_PREFIX+"/no-preview",A=function(){function NoPreviewComponent(e){this.pagesUrl=e.url+"/Sitefinity/Pages"}return NoPreviewComponent.ɵfac=function NoPreviewComponent_Factory(e){return new(e||NoPreviewComponent)(r["ɵɵdirectiveInject"](o.Settings))},NoPreviewComponent.ɵcmp=r["ɵɵdefineComponent"]({type:NoPreviewComponent,selectors:[["sf-no-preview"]],decls:15,vars:1,consts:[[1,"-sf-txt-align-center","-sf-centered-vertical-box","-sf-txt-large"],["name","times","look","illustrative"],[1,"-sf-mt-s","-sf-mb-3xs"],[1,"-sf-mt-s"],[1,"-sf-mb-m","-list-style-decimal"],["target","_blank",1,"sf-button","-action","-large",3,"href"]],template:function NoPreviewComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵelement"](1,"sf-icon",1),r["ɵɵelementStart"](2,"h1",2),r["ɵɵtext"](3,"Preview can not be displayed"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](4,"p",3),r["ɵɵtext"](5,"There are no pages set to display this content type. To enable preview:"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](6,"ol",4),r["ɵɵelementStart"](7,"li"),r["ɵɵtext"](8,"Go to Pages"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](9,"li"),r["ɵɵtext"](10,"On a page, drop a widget displaying this content type"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](11,"li"),r["ɵɵtext"](12,"Publish the page"),r["ɵɵelementEnd"](),r["ɵɵelementEnd"](),r["ɵɵelementStart"](13,"a",5),r["ɵɵtext"](14,"Go to Pages"),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵadvance"](13),r["ɵɵproperty"]("href",t.pagesUrl,r["ɵɵsanitizeUrl"]))},directives:[a.SfIconComponent],encapsulation:2}),NoPreviewComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ROOT_PREFIX",(function(){return o})),n.d(t,"ROUTE_PATHS_NO_PREFIX",(function(){return i})),n.d(t,"ROUTE_PATHS",(function(){return r}));var o="adminapp",i={HOME:"",MENU_HOME:"home",CONTENT:"content",PAGES:"pages",TEMPLATES:"templates",TEMPLATE:"Template",NOT_FOUND:"not-found",ACCESS_DENIED:"access-denied",FEATURES:"features",ITEMS_GRID:"itemsGrid",SF_CONFIG:"sf-config",ANY:"*",NULL:null,MENU_OUTLET:"menu",FORMS:"forms",CONFIG:"config",SF_EDIT:"sfedit",INTEGRATIONS:"integrations"},r={ROOT_PREFIX:o,HOME:o+"/"+i.HOME,MENU_HOME:o+"/"+i.MENU_HOME,CONTENT:o+"/"+i.CONTENT,PAGES:o+"/"+i.PAGES,TEMPLATES:o+"/"+i.TEMPLATES,NOT_FOUND:o+"/"+i.NOT_FOUND,ACCESS_DENIED:o+"/"+i.ACCESS_DENIED,FEATURES:o+"/"+i.FEATURES,ITEMS_GRID:o+"/"+i.ITEMS_GRID,SF_CONFIG:o+"/"+i.SF_CONFIG,CONFIG:o+"/"+i.CONFIG,INTEGRATIONS:o+"/"+i.INTEGRATIONS}},function(e,t,n){"use strict";n.r(t),n.d(t,"EditNavigationService",(function(){return w}));var o=n(261),i=n(260),r=n(11),a=n(317),s=n(1154),A=n(1161),l=n(319),c=n(1163),d=n(1164),p=n(262),f=n(1118),u=n(244),m=n(1171),g=n(326),E=n(1210),h=n(373),b=n(279),C=n(280),B=n(1152),k=n(131),I=n(245),v=n(229),w=function(){function EditNavigationService(e,t,n,o,i,r){this.router=e,this.location=t,this.dynamicItemStore=n,this.urlService=o,this.window=i,this.modalWindowService=r}return EditNavigationService.prototype.openDialogForRelatedData=function(e,t,n,o,i){var r=new a.NavigateToEditArguments({dataItem:e,route:t,parentId:e.parentKey,openDialog:!0,mediaFieldLimitationsConstraints:n,navigateToChildrenAfterCreate:o,headComponentData:i});return this.navigateToEdit(r).pipe(Object(k.filter)((function(e){return e.success})))},EditNavigationService.prototype.openDialogForRelatedDataAndLoadFieldData=function(e,t,n,o,i,a){var s=this,A=new r.ReplaySubject;return this.openDialogForRelatedData(t,n,o,i,a).subscribe((function(){s.loadFieldData(e,t,A)})),A},EditNavigationService.prototype.navigateToEditOfRelatedData=function(e,t){var n=this.router.createUrlTree([B.ROUTE_PATHS.CONTENT]).toString();b.environment.env===C.environmentTypes.integration&&(n=this.urlService.getAbsoluteUrl(n));var o={baseUrl:n,openInNewTab:!0},i=new a.NavigateToEditArguments({dataItem:e,parentId:e.parentKey,openInNewWindowArgs:o});return i.route=t,this.navigateToEdit(i)},EditNavigationService.prototype.navigateToEdit=function(e){var t,n=this.getContext(e);!e.dataItem.metadata.hasLifecycle||e.openDialog||e.dataItem.metadata.isSelfReferencing?(t=new s.EditInDialogCommand(this.modalWindowService,this.router),g.MediaHelpers.isMediaEntity(e.dataItem)&&e.dataItem.isEmpty&&(t=new E.MediaEditInDialogCommand(this.modalWindowService,this.router,this.dynamicItemStore.service,this.window),n.data.parentItem=e.parentItem),n.data.headComponentData=e.headComponentData):t=new A.EditCommand(this.router,this.location,this.window);var o=new r.Subject;return n.data.duplicate||e.dataItem.isEmpty?t.execute(n).subscribe((function(e){o.next(e)})):this.confirm(e).subscribe((function(e){e.success?t.execute(n).subscribe((function(e){o.next(e)})):o.next({dataItem:null,forceReload:!1,isLoading:e.isLoading,success:e.success})})),o},EditNavigationService.prototype.confirm=function(e){return new c.ConfirmationCommand(this.dynamicItemStore.service,this.modalWindowService,this.window).execute(this.getContext(e))},EditNavigationService.prototype.loadFieldData=function(e,t,n){this.dynamicItemStore.service.getItemsByKeys({keyProperty:t.metadata.key,keys:e,entityData:t,fallbackProperties:[t.metadata.defaultFieldName]}).subscribe((function(e){var t=e.dataItems.map((function(e){return Object(I.cloneObject)(e.data)}));n.next(t)}))},EditNavigationService.prototype.getContext=function(e){var t={currentRoute:e.route.parent.parent,model:null,data:{dataItem:e.dataItem,siteData:e.route.parent.snapshot.data.siteDataStore,replaceUrl:e.replaceUrl,wasInCreate:e.wasInCreate,reload:e.reload,dialogType:d.DynamicUpdateItemComponent,openInNewWindowArgs:e.openInNewWindowArgs,mediaFieldLimitationsConstraints:e.mediaFieldLimitationsConstraints,navigateToChildrenAfterCreate:e.navigateToChildrenAfterCreate,prepopulatedFields:e.prepopulatedFields,commandName:e.commandName,translationCultureSource:e.translationCultureSource}},n=e.parentId,o=e.route.snapshot.queryParams[p.FILTER_PARAMS.FILTER];e.dataItem.metadata.ignoreParentChildRelationship&&o&&o.indexOf("Parent,")>-1&&(n=o=o.replace("Parent,",""));var i=e.commandName===l.OPERATION_NAMES.duplicate;return t.data.duplicate=i,t.data.parentId=n,t.data.singularName=e.singularName,t},EditNavigationService.ɵfac=function EditNavigationService_Factory(e){return new(e||EditNavigationService)(v["ɵɵinject"](i.Router),v["ɵɵinject"](o.Location),v["ɵɵinject"](m.DynamicItemStore),v["ɵɵinject"](h.UrlService),v["ɵɵinject"](u.WINDOW_TOKEN),v["ɵɵinject"](f.ModalWindowService))},EditNavigationService.ɵprov=v["ɵɵdefineInjectable"]({token:EditNavigationService,factory:EditNavigationService.ɵfac}),EditNavigationService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EditInDialogCommand",(function(){return d}));var o=n(229),i=n(260),r=n(11),a=n(1118),s=n(262),A=n(1155),l=n(1156),c=n(245),d=function(){function EditInDialogCommand(e,t){this.modalWindowService=e,this.router=t}return EditInDialogCommand.prototype.execute=function(e){var t=this,n=e.data,o=n.siteData,i=n.dataItem,s=i.isEmpty,d=o.ContentCultures,p=n.dialogType,f=n.mediaFieldLimitationsConstraints,u=n.navigateToChildrenAfterCreate,m=n.headComponentData,g=null;i.metadata.isTranslatable&&d.length>0&&(g=d.find((function(e){return e.Name===i.culture})));var E={type:p,properties:{dataItem:i,cultureData:g,parentId:n.parentId,mediaFieldLimitationsConstraints:f,prepopulatedFields:n.prepopulatedFields},updatePropertiesOnChange:!0},h=new r.ReplaySubject(1),b=new a.DialogData(E,(function(o){if(o.data){if((s||!i.isTranslated)&&u){var r=t.getChildItemUrl(o.data);if(r){var a=t.getProviderAndCultureQueryParams(o.data),A={relativeTo:o.data.metadata.ignoreParentChildRelationship?e.currentRoute:e.currentRoute.firstChild,queryParams:a};return n.replaceUrl&&(A.replaceUrl=!0),t.router.navigate([r],A).then((function(){h.next({success:!0})})).catch((function(e){return h.error(e)}))}}h.next({success:!0,dataItem:o.data,isLoading:!1})}else h.next({success:!1,isLoading:!1})}));b.headComponentData=m;var C=e.data.singularName?e.data.singularName:i.metadata.singularName;b.toolbarData={type:A.ToolbarComponent,properties:{dataItem:i,cultureData:g,header:i.metadata.setName===l.PAGES_ENTITY_SET_NAME?"Page title and properties":i.isEmpty?"Creating "+Object(c.indefiniteArticle)(C)+" "+C.toLowerCase():C+" properties"}};var B="edit";n.duplicate&&(B="duplicate");var k=B+"_"+i.key+"_"+i.metadata.setName+"_"+(i.provider||void 0)+"_"+i.culture;return this.modalWindowService.setMapping(b,k),this.modalWindowService.show(k,e.currentRoute.firstChild),h.asObservable()},EditInDialogCommand.prototype.getChildItemUrl=function(e){return e.metadata.hasChildren?e.metadata.ignoreParentChildRelationship?e.metadata.setName:e.data.Id+"/"+e.childSetName:null},EditInDialogCommand.prototype.getProviderAndCultureQueryParams=function(e){var t={};return t[s.QUERY_PARAMS.PROVIDER]=e.provider,t[s.QUERY_PARAMS.CULTURE]=e.culture,t},EditInDialogCommand.ɵfac=function EditInDialogCommand_Factory(e){return new(e||EditInDialogCommand)(o["ɵɵinject"](a.ModalWindowService),o["ɵɵinject"](i.Router))},EditInDialogCommand.ɵprov=o["ɵɵdefineInjectable"]({token:EditInDialogCommand,factory:EditInDialogCommand.ɵfac}),EditInDialogCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ToolbarComponent",(function(){return s}));n(317);var o=n(246),i=n(229),r=n(261),a=n(354);function ToolbarComponent_sf_badge_1_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-badge",4),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("content",n.cultureData.Name),i["ɵɵattribute"]("title",n.cultureData.DisplayName)}}function ToolbarComponent_h1_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"h1",5),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.headerText)}}function ToolbarComponent_span_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",6),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.superScript)}}var s=function(){function ToolbarComponent(){this.header=o.stringConstants.EMPTY_STRING,this.superScript=null}return ToolbarComponent.prototype.ngOnInit=function(){this.headerText=this.header||this.dataItem.metadata.singularName+" properties"},ToolbarComponent.ɵfac=function ToolbarComponent_Factory(e){return new(e||ToolbarComponent)},ToolbarComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ToolbarComponent,selectors:[["sf-item-toolbar"]],inputs:{dataItem:"dataItem",cultureData:"cultureData",header:"header",superScript:"superScript"},decls:4,vars:3,consts:[[1,"sf-row","-inline","-sf-ml-3xl"],["class","-align-self-start","look","size-xl sf-txt-small sf-txt-upper-case edit-variation sf-mr-3xs",3,"content",4,"ngIf"],["class","h3",4,"ngIf"],["class","sf-badge -size-m -align-self-center -sf-ml-4xs -positive -ellipse",4,"ngIf"],["look","size-xl sf-txt-small sf-txt-upper-case edit-variation sf-mr-3xs",1,"-align-self-start",3,"content"],[1,"h3"],[1,"sf-badge","-size-m","-align-self-center","-sf-ml-4xs","-positive","-ellipse"]],template:function ToolbarComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵtemplate"](1,ToolbarComponent_sf_badge_1_Template,1,2,"sf-badge",1),i["ɵɵtemplate"](2,ToolbarComponent_h1_2_Template,2,1,"h1",2),i["ɵɵtemplate"](3,ToolbarComponent_span_3_Template,2,1,"span",3),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.cultureData&&!t.dataItem.isEmpty),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.headerText),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.superScript))},directives:[r.NgIf,a.SfBadgeComponent],encapsulation:2}),ToolbarComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ACTION_KEY",(function(){return m})),n.d(t,"ACTION_KEYS",(function(){return g})),n.d(t,"PAGES_ENTITY_SET_NAME",(function(){return E})),n.d(t,"PageResolver",(function(){return h}));var o=n(259),i=n(260),r=n(11),a=n(131),s=n(1147),A=n(1157),l=n(271),c=n(1152),d=n(1159),p=n(246),f=n(1160),u=n(229),m="Action",g={EDIT:"Edit"},E="pages",h=function(e){function PageResolver(t,n,o,i,r){var a=e.call(this,o,n,i,r)||this;return a.service=t,a.persistCulture=!0,a}return Object(o.__extends)(PageResolver,e),PageResolver.prototype.canActivate=function(e,t){var n=e.url.map((function(e){return e.path.toLowerCase()})),o=n.lastIndexOf(m.toLowerCase()),i=n.lastIndexOf(g.EDIT.toLowerCase()),a=o>0&&i>0&&o+1===i&&i>=n.length-1-2;return a||this.router.navigate([c.ROUTE_PATHS.NOT_FOUND]),Object(r.of)(a)},PageResolver.prototype.resolve=function(t,n){var o=this,i=e.prototype.resolve.call(this,t,n),s=t.url.map((function(e){return e.path})).join(p.stringConstants.FORWARD_SLASH);return this.service.getByUrl("/"+s,i).pipe(Object(a.map)((function(e){return{item:e,entityData:i}})),Object(a.catchError)((function(e){return o.router.navigate([c.ROUTE_PATHS.NOT_FOUND]),Object(r.of)(e)})))},PageResolver.prototype.getCultureFromRoute=function(t){var n=t.url.map((function(e){return e.path})),o=n.map((function(e){return e.toLowerCase()})),i=n[o.lastIndexOf(g.EDIT.toLowerCase())+1];return i||(i=e.prototype.getCultureFromRoute.call(this,t)),i},PageResolver.prototype.getEntitySet=function(e){return E},PageResolver.prototype.shouldHandleParentRelationship=function(e){return!1},PageResolver.ɵfac=function PageResolver_Factory(e){return new(e||PageResolver)(u["ɵɵinject"](d.PageService),u["ɵɵinject"](i.Router),u["ɵɵinject"](s.ProviderStore),u["ɵɵinject"](l.Settings),u["ɵɵinject"](f.CompositeEntityDataResolver))},PageResolver.ɵprov=u["ɵɵdefineInjectable"]({token:PageResolver,factory:PageResolver.ɵfac}),PageResolver}(A.BaseResolver)},function(e,t,n){"use strict";n.r(t),n.d(t,"BaseResolver",(function(){return A}));var o=n(131),i=n(1158),r=n(262),a=n(1152),s=n(246),A=function(){function BaseResolver(e,t,n,o){this.store=e,this.router=t,this.settings=n,this.entityDataResolver=o,this.persistCulture=!1}return BaseResolver.prototype.resolve=function(e,t){var n=e.parent.data[r.RESOLVE_NAMES.siteDataStore];n||(n=e.data[r.RESOLVE_NAMES.siteDataStore]);var o=n.DefaultContentCulture,i=this.entityDataResolver.resolveEntityData(e,e.parent.data[r.RESOLVE_NAMES.metadata],o,this.store.currentProvider);if(!i)return this.router.navigate([a.ROUTE_PATHS.NOT_FOUND]),null;if(i.metadata.isMultilingual){if(o=this.getCultureFromRoute(e)){if(!n.ContentCultures.find((function(e){return e.Name===o})))return this.navigateAndRemoveParam(e,t,r.QUERY_PARAMS.CULTURE),null}else o=this.getCulture(n);this.persistCulture&&this.settings.setSiteCulture(n.Id,o)}if((i={metadata:i.metadata,provider:i.provider,culture:o},this.shouldHandleParentRelationship(i.metadata))&&!e.parent.params[r.ROUTE_PARAMS.PARENT_ID_SEGMENT])return this.router.navigate([a.ROUTE_PATHS.NOT_FOUND]),null;return i},BaseResolver.prototype.canActivate=function(e,t){var n=this,i=e.parent.queryParams[r.QUERY_PARAMS.PROVIDER],s=this.getEntitySet(e);return this.store.getProviders(s).pipe(Object(o.map)((function(o){var s=o.find((function(e){return e.isDefault}));return i||s?(!i&&s&&(i=s.name),o.find((function(e){return e.name===i}))?(n.store.currentProvider=i,!0):i?(n.navigateAndRemoveParam(e,t,r.QUERY_PARAMS.PROVIDER),!1):(n.router.navigate([a.ROUTE_PATHS.NOT_FOUND]),!1)):(n.router.navigate([a.ROUTE_PATHS.NOT_FOUND]),!1)})))},BaseResolver.prototype.shouldHandleParentRelationship=function(e){return e.hasParent&&!e.ignoreParentChildRelationship&&!e.isSelfReferencing},BaseResolver.prototype.clearFilter=function(e,t){this.navigateAndRemoveParam(e,t,r.FILTER_PARAMS.FILTER)},BaseResolver.prototype.getEntitySet=function(e){return i.DynamicItemStrategyBase.getSet(e.parent)},BaseResolver.prototype.getCultureFromRoute=function(e){return e.parent.queryParams[r.QUERY_PARAMS.CULTURE]},BaseResolver.prototype.navigateAndRemoveParam=function(e,t,n){var o=Object.assign({},e.parent.queryParams),i=Object.keys(o);o.hasOwnProperty(n)&&delete o[n];var r=t.url;i.length>0&&(r=t.url.substring(0,t.url.indexOf("?")));var a=r.split(s.stringConstants.FORWARD_SLASH).filter((function(e){return e})).map((function(e){return e.trim()}));this.router.navigate(a,{queryParams:o})},BaseResolver.prototype.getCulture=function(e){var t=this.settings.getSiteCulture(e.Id);return e.ContentCultures.some((function(e){return e.Name===t}))?t:e.DefaultContentCulture},BaseResolver}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicItemStrategyBase",(function(){return r}));var o=n(262),i=n(229),r=function(){function DynamicItemStrategyBase(){}return DynamicItemStrategyBase.getSet=function(e){var t=e.params;return t[o.ROUTE_PARAMS.CHILD_SET_SEGMENT]||t[o.ROUTE_PARAMS.TYPE_NAME_SEGMENT]||e.data[o.ROUTE_PARAMS.TYPE_NAME_SEGMENT]},DynamicItemStrategyBase.ɵfac=function DynamicItemStrategyBase_Factory(e){return new(e||DynamicItemStrategyBase)},DynamicItemStrategyBase.ɵprov=i["ɵɵdefineInjectable"]({token:DynamicItemStrategyBase,factory:DynamicItemStrategyBase.ɵfac}),DynamicItemStrategyBase}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PageService",(function(){return l}));var o=n(317),i=n(131),r=n(271),a=n(246),s=n(270),A=n(229),l=function(){function PageService(e,t){this.httpWrapper=e,this.settings=t}return PageService.prototype.getByUrl=function(e,t){var n=this.getPageAbsoluteUrl(e).replace(/'/g,"''");return this.httpWrapper.get$(t.metadata.setName+"/Default.GetPageByUrl(url=@param)?@param='"+n+"'").pipe(Object(i.filter)((function(e){return!e.isLoading})),Object(i.map)((function(e){return o.DataItem.from(e.content,t.metadata,t.provider,t.culture)})))},PageService.prototype.getPageAbsoluteUrl=function(e){var t=this.settings.url;return t.endsWith(a.stringConstants.FORWARD_SLASH)&&(t=t.substr(0,t.length-2)),""+t+e},PageService.ɵfac=function PageService_Factory(e){return new(e||PageService)(A["ɵɵinject"](s.HttpODataRequestWrapper),A["ɵɵinject"](r.Settings))},PageService.ɵprov=A["ɵɵdefineInjectable"]({token:PageService,factory:PageService.ɵfac}),PageService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EntityDataResolver",(function(){return r})),n.d(t,"CompositeEntityDataResolver",(function(){return a}));var o=n(1158),i=n(229),r=function r(){},a=function(){function CompositeEntityDataResolver(e){this.resolvers=e}return CompositeEntityDataResolver.prototype.resolveEntityData=function(e,t,n,o){var i=this.getEntitySet(e),r=this.resolvers.find((function(e){return e.canResolve(i)}));if(r)return r.resolve(e,t,n,o);var a=t.entities[i];return a?{metadata:a,provider:o,culture:n}:null},CompositeEntityDataResolver.prototype.getEntitySet=function(e){return o.DynamicItemStrategyBase.getSet(e.parent)},CompositeEntityDataResolver.ɵfac=function CompositeEntityDataResolver_Factory(e){return new(e||CompositeEntityDataResolver)(i["ɵɵinject"](r))},CompositeEntityDataResolver.ɵprov=i["ɵɵdefineInjectable"]({token:CompositeEntityDataResolver,factory:CompositeEntityDataResolver.ɵfac,providedIn:"root"}),CompositeEntityDataResolver}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EditCommand",(function(){return c}));var o=n(11),i=n(260),r=n(261),a=n(244),s=n(1162),A=n(262),l=n(229),c=function(){function EditCommand(e,t,n){this.router=e,this.location=t,this.window=n}return EditCommand.prototype.execute=function(e){var t=e.data,n=t.dataItem,i=n.metadata,r=n.metadata.hasParent&&t.parentId,a=null,l=e.currentRoute.firstChild;r?(a=i.parent+"/"+t.parentId+"/"+i.setName,n.metadata.ignoreParentChildRelationship&&!n.metadata.isMedia?a=""+i.setName:n.metadata.isMedia&&(a=i.setName+"/"+t.parentId+"/"+i.setName),n.isEmpty?a+="/"+A.ROUTE_PARAMS.CREATE_SEGMENT:t.duplicate?a+="/"+n.key+"/"+A.ROUTE_PARAMS.DUPLICATE_SEGMENT:a+="/"+n.key+"/"+A.ROUTE_PARAMS.EDIT_SEGMENT,l=e.currentRoute):a=n.isEmpty?""+A.ROUTE_PARAMS.CREATE_SEGMENT:t.duplicate?n.key+"/"+A.ROUTE_PARAMS.DUPLICATE_SEGMENT:n.key+"/"+A.ROUTE_PARAMS.EDIT_SEGMENT;var c=Object(s.getQueryParams)(n,e.currentRoute);n.metadata.ignoreParentChildRelationship&&t.parentId&&!i.isMedia&&(c[A.FILTER_PARAMS.FILTER]="Parent,"+t.parentId),t.translationCultureSource&&(c[A.QUERY_PARAMS.TRANSLATING_FROM]=t.translationCultureSource);var d=new o.ReplaySubject(1),p={relativeTo:l,queryParams:c};if(t.replaceUrl){var f=this.router.createUrlTree([a],p),u=this.router.serializeUrl(f);return this.location.replaceState(u),d.next({success:!0}),d.asObservable()}if(t.reload&&p.queryParams&&(p.queryParams.reload=(new Date).getTime()),t.openInNewWindowArgs&&t.openInNewWindowArgs.openInNewTab){r||(a=n.metadata.setName+"/"+a);var m=t.openInNewWindowArgs.baseUrl+"/"+a+Object(s.buildQueryString)(c);this.window.open(m,t.parentId),d.next({success:!0})}else this.router.navigate([a],p).then((function(e){d.next({success:e})})).catch((function(e){return d.error(e)}));return d.asObservable()},EditCommand.ɵfac=function EditCommand_Factory(e){return new(e||EditCommand)(l["ɵɵinject"](i.Router),l["ɵɵinject"](r.Location),l["ɵɵinject"](a.WINDOW_TOKEN))},EditCommand.ɵprov=l["ɵɵdefineInjectable"]({token:EditCommand,factory:EditCommand.ɵfac}),EditCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"getItemUrl",(function(){return getItemUrl})),n.d(t,"getQueryParams",(function(){return getQueryParams})),n.d(t,"buildQueryString",(function(){return buildQueryString}));var o=n(262),i=n(246);function getItemUrl(e,t,n,i){void 0===n&&(n=!1),void 0===i&&(i=!1);var r=e.metadata,a=e.metadata.hasParent&&t,s=i?o.ROUTE_PARAMS.UNLOCK_SEGMENT:o.ROUTE_PARAMS.EDIT_SEGMENT;return a?e.isEmpty?r.parent+"/"+t+"/"+r.setName+"/"+o.ROUTE_PARAMS.CREATE_SEGMENT:n?r.parent+"/"+t+"/"+r.setName+"/"+e.key+"/"+o.ROUTE_PARAMS.DUPLICATE_SEGMENT:r.parent+"/"+t+"/"+r.setName+"/"+e.key+"/"+s:e.isEmpty?r.setName+"/"+o.ROUTE_PARAMS.CREATE_SEGMENT:n?r.setName+"/"+e.key+"/"+o.ROUTE_PARAMS.DUPLICATE_SEGMENT:r.setName+"/"+e.key+"/"+s}function getQueryParams(e,t){var n={};n[o.QUERY_PARAMS.PROVIDER]=e.provider,n[o.QUERY_PARAMS.CULTURE]=e.culture;var i=t.snapshot.queryParams[o.FILTER_PARAMS.FILTER];i&&(n[o.FILTER_PARAMS.FILTER]=i);var r=t.snapshot.queryParams[o.QUERY_PARAMS.SORT];return r&&(n[o.QUERY_PARAMS.SORT]=r),n}function buildQueryString(e){var t=Object.keys(e);if(t.length>0){for(var n=i.stringConstants.QUESTION_MARK,o=0;o1&&this.dataItem.metadata.isMultilingual&&(this.hasMultipleContentCultures=!0),this.handleFormClasses(),this.handleKeyboardShortcuts();var n=this.communicationService.subscribe(O.WorkflowOperationClickedEvent,(function(t){t.data.itemType===e.dataItem.metadata.typeFullName&&e.onActionButtonClicked(t.data.button)})),o=this.buttonsState$.subscribe((function(t){e.communicationService.next(new O.ActionButtonsStateChanged(t))}));this.registerSubscription(o),this.registerSubscription(n),this.route.snapshot.data[d.RESOLVE_NAMES.itemData]={entityData:this.dataItem},this.viewName=d.VIEW_NAME.EDIT,this.dataItem.isEmpty&&(this.viewName=d.VIEW_NAME.INSERT),(this.route.snapshot.paramMap.get("name")||g.stringConstants.EMPTY_STRING).startsWith(d.ROUTE_PARAMS.DUPLICATE_SEGMENT)&&(this.viewName=d.VIEW_NAME.DUPLICATE,this.editableFields.copyMode=!0),this.dataItem.metadata.isMedia&&(this.headerText=this.dataItem.metadata.singularName+" properties",this.headerClass="-justify-content-center sf-row -sf-mb-l"),this.updateActionButtonsState(null,f.ButtonState.Loading),this.backendTweaksService.getFormTweaks(this.dataItem.metadata.setName,this.viewName,this.dataItem.key,this.dataItem.provider,this.dataItem.culture,this.parentId).then((function(t){e.formData=t;var n=e.dataItem.key||g.stringConstants.DEFAULT_GUID;e.viewName===d.VIEW_NAME.DUPLICATE&&(n=g.stringConstants.DEFAULT_GUID),e.registerSubscription(e.parentService.getParentItem(e.dataItem,e.parentId).subscribe((function(t){var o=e.viewName===d.VIEW_NAME.EDIT?e.operationsProvider.getEditItemDialogOperations(e.dataItem,t):e.operationsProvider.getCreateItemDialogOperations(e.dataItem,t,{viewName:e.viewName}),r=e.service.executeBoundFunction(s.DataItem.fromKey(n,e.dataItem),Object(v.itemMetaSegment)(null));Object(i.forkJoin)([e.getItem(),o,r]).pipe(Object(x.mergeMap)((function(t){e.dataItem=t[0],e.itemMeta=t[2],e.operations.next(t[1]);var n=e.dataItem;if(e.viewName===d.VIEW_NAME.DUPLICATE){var o=e.editExtender.includedProperties(e.dataItem);n=s.DataItem.duplicate(e.dataItem,o)}else e.prepopulatedFields&&(n=s.DataItem.fromEntityData(e.prepopulatedFields,e.dataItem));return e.initFields(n,e.itemMeta,e.formData)}))).subscribe((function(){e.updateActionButtonsState(null,f.ButtonState.Default)}))})))})),this.setModuleNameIdentificator()},DynamicUpdateItemComponent.prototype.ngOnDestroy=function(){var t=this;this.itemHooksProvider.executeObservableHook(Object(i.of)(this.dataItem).pipe(Object(x.first)()),"onEditItemUnloading",(function(e){return{item:e}})).subscribe((function(){e.prototype.ngOnDestroy.call(t),t.keyboardShortcutsService.removeListener(d.COMPONENT_NAMES.DYNAMIC_UPDATE_ITEM),t.notificationService.close(d.ITEM_EDIT_NOTIFICATION_FILTER_STATIC)}))},DynamicUpdateItemComponent.prototype.ngAfterViewInit=function(){var e=this;if(!this.dataItem.isEmpty){var t=this.editableFields.dirty.subscribe((function(t){t&&e.triggerLock()}));this.registerSubscription(t),this.itemHooksProvider.executeObservableHook(Object(i.of)(this.dataItem).pipe(Object(x.first)()),"afterEditItemInit",(function(e){return{item:e}})).subscribe()}},DynamicUpdateItemComponent.prototype.setCloseModalCallback=function(e){this.callback=e},DynamicUpdateItemComponent.prototype.canCloseCallback=function(e){var t=this;if(e.type===c.ClosingContextType.CloseClicked&&this.isLocked){var n=new i.Subject;return this.registerSubscription(this.service.unlockItem(this.dataItem).subscribe((function(){t.isLocked=!1,n.next(!0)}))),n}return!0},DynamicUpdateItemComponent.prototype.onActionButtonClicked=function(e){e.name===p.OPERATION_NAMES.cancel?this.onCancelClick():e.name===p.OPERATION_NAMES.unlock?this.onUnlockClick():this.onSubmitClick(e)},DynamicUpdateItemComponent.prototype.onFieldChange=function(e){var t=this;this.registerSubscription(this.editExtender.modify({sections:this.fieldSections,dataItem:s.DataItem.fromEntityData(this.editableFields.getFields(!1),this.dataItem),parentId:this.parentId,isInit:!1,viewName:this.viewName,setName:Object(N.getSetNameFromRoute)(this.route)}).subscribe((function(){if(t.viewName!==d.VIEW_NAME.DUPLICATE&&e.key===T.NAVIGATION_OPTIONS_PROPERTIES.SHOW_IN_NAVIGATION){var n=t.operations.getValue(),o=n.find((function(e){return e.Name===p.OPERATION_NAMES.create}));o&&(o.Title=e.value.PageType&&e.value.PageType!==T.PAGE_TYPE_OPTIONS.STANDARD?p.OPERATION_TITLES.create:p.OPERATION_TITLES.continue,t.operations.next(n))}})))},DynamicUpdateItemComponent.prototype.triggerLock=function(){var e=this;if(!this.isItemLockable()||this.dataItem.isEmpty||this.isLocked)return Object(i.of)(!0);var t=new i.ReplaySubject(1);return this.registerSubscription(this.dynamicItemStore.saveItem(this.dataItem,{},null,this.fallbackProperties).pipe(Object(x.catchError)((function(n,o){return C.NotFoundError,n instanceof B.LockedItemError?(e.editableFields.reset(),t.next(!1),t.complete(),Object(i.of)(s.DataItem.fromEntityData(n.data,e.dataItem))):(e.updateActionButtonsState(null,f.ButtonState.Default),o)})),Object(x.mergeMap)((function(t){return e.isLocked=!0,Object(i.forkJoin)([e.service.executeBoundFunction(t,Object(v.itemMetaSegment)(e.itemMeta.state)),Object(i.of)(t)])})),Object(x.mergeMap)((function(t){var n=t[0],o=t[1];return e.itemMeta=n,e.initFields(o,n,e.formData)}))).subscribe((function(){e.updateActionButtonsState(null,f.ButtonState.Default),t.next(!0)}))),t.asObservable()},DynamicUpdateItemComponent.prototype.isItemLockable=function(){return this.dataItem.metadata.hasLifecycle&&this.dataItem.metadata.setName!==m.ENTITY_SET.PAGES},DynamicUpdateItemComponent.prototype.executeCommandOnSubmit=function(e,t){var n=this;if(!(this.dataItem.metadata.setName===m.ENTITY_SET.PAGES&&this.dataItem.isEmpty&&(!t.PageType||t.PageType===T.PAGE_TYPE_OPTIONS.STANDARD)||this.dataItem.metadata.setName===m.ENTITY_SET.TEMPLATES&&this.dataItem.isEmpty))return!1;this.updateActionButtonsState({name:e,state:f.ButtonState.Loading},f.ButtonState.Disabled);var o={forceFullValidation:!1,properties:{}},i=this.service.getFieldValues(this.dataItem.metadata,t).primitives;for(var r in i)Array.isArray(t[r])||(o.properties[r]=t[r]);return this.registerSubscription(this.service.executeEntityOperation(this.dataItem,g.SERVER_ACTIONS_NAMES.VALIDATE,o).subscribe((function(o){if(Object.keys(o.Errors).length>0){n.updateActionButtonsState(null,f.ButtonState.Default);var i=Object.keys(o.Errors)[0],r=o.Errors[i],a=new A.ValidationError({code:L.ERROR_CODE_VALIDATION,message:g.stringConstants.EMPTY_STRING,target:null,status:0});a.fieldErrors=[new M.FieldError(i,r)],n.editableFields.addModelErrors(a),n.editableFields.scrollToFirstErrorField()}else{var s={currentRoute:n.route,data:{selectedItems:[],entityData:n.dataItem,onTemplateSelection:function(o,i){t.TemplateName=i,t.TemplateId=o,n.service.upsert({data:t,dataItem:n.dataItem,operation:n.getOperation(e)}).subscribe((function(e){n.callback(e)}))}},model:null},l=new y.ChangeTemplateCommand(n.modalWindowService,n.dynamicItemStore,n.notificationService);n.registerSubscription(l.execute(s).subscribe((function(e){e.success||n.callback(e.success)})))}}),(function(e){n.updateActionButtonsState(null,f.ButtonState.Default),e instanceof A.ValidationError&&(n.editableFields.addModelErrors(e),n.editableFields.scrollToFirstErrorField())}))),!0},DynamicUpdateItemComponent.prototype.onSubmitClick=function(e){var t=this,n=!this.dataItem.isEmpty;this.dataItem.metadata.setName===m.ENTITY_SET.PAGES&&(n=!this.dataItem.isEmpty&&this.viewName!==d.VIEW_NAME.DUPLICATE);var o=this.editableFields.getFields(n);this.setParentPropertyId(o);var i=this.tryHandleActionWithoutValidation(e);if(this.editableFields.valid()){var r,a=this.dataItem;if(e.name!==p.OPERATION_NAMES.sendForApproval&&e.name!==p.OPERATION_NAMES.sendForReview||(i=this.onWorkflowOperation(e)),this.viewName===d.VIEW_NAME.DUPLICATE&&(o.Duplicate=!0,o.DuplicateSourceId=a.key,a=s.DataItem.emptyItem(this.dataItem)),!this.executeCommandOnSubmit(e.name,o))this.updateActionButtonsState({name:e.name,state:f.ButtonState.Loading},f.ButtonState.Disabled),i?this.handleResult(i,e,r):(r=this.editExtender.handleAction({actionName:e.name,changedFields:o,item:a,route:this.route,siteData:this.getSiteData()},this.notificationService),this.registerSubscription(r.handled.subscribe((function(n){if(n)i=r.result;else{var s=t.service.getFieldValues(t.dataItem.metadata,o).primitives;i=t.service.upsert({data:o,dataItem:a,operation:t.getOperation(e.name),skipSaveTemp:0===Object.keys(s).length&&!t.isItemLockable()})}t.handleResult(i,e,r)}))))}},DynamicUpdateItemComponent.prototype.handleResult=function(e,t,n){var o=this;this.itemHooksProvider.executeObservableHook(e,"onEditItemChanged",(function(e){return{item:e}})).subscribe((function(e){o.isLocked=!1,o.updateActionButtonsState({name:t.name,state:f.ButtonState.Checked},f.ButtonState.Disabled),o.updateActionButtonsState(null,f.ButtonState.Default),o.buttonsState$.pipe(Object(x.filter)((function(e){return null===e.primary})),Object(x.first)()).subscribe((function(t){n&&n.closeHandler?n.closeHandler.next():o.callback(e)}))}),(function(e){o.updateActionButtonsState(null,f.ButtonState.Default),e instanceof A.ValidationError?(o.editableFields.addModelErrors(e),o.editableFields.scrollToFirstErrorField()):(o.notificationService.publishBasicNotification({message:e.message,look:z.NOTIFICATION_LOOKS.ERROR,duration:d.NOTIFICATION_DURATION_INFINITE,filterParam:d.ITEM_EDIT_NOTIFICATION_FILTER_STATIC}),o.scrollService.scrollToTop())}))},DynamicUpdateItemComponent.prototype.tryHandleActionWithoutValidation=function(e){return e.name===p.OPERATION_NAMES.schedule?this.onWorkflowOperation(e):null},DynamicUpdateItemComponent.prototype.onWorkflowOperation=function(e){var t=this,n=new i.ReplaySubject,o=P.WorkflowOperationSettingsProvider.getConfirmationSettings(e,this.dataItem,this.editableFields.getFields(!0),(function(e,o,i,r){return t.onDone(e,o,i,r,n)}));return this.modalWindowService.openModalConfirmation(this.route.parent,o,this.dataItem),n},DynamicUpdateItemComponent.prototype.onDone=function(e,t,n,o,i){if(e.data&&e.data.data){var r=P.WorkflowOperationSettingsProvider.getFields(e);if(this.editableFields.valid()){var a=new I.Action(t.name,{action:t.name,actionParameters:r||{}}),s=this.dynamicItemStore.saveItemWithOperationResult(n,o,a,void 0,void 0,l.ItemPosition.Default,!1,!1).subscribe((function(e){return i.next(e.dataItem)}));this.registerSubscription(s)}}else this.updateActionButtonsState(null,f.ButtonState.Default)},DynamicUpdateItemComponent.prototype.onCancelClick=function(){var e=this;this.isLocked?this.registerSubscription(this.service.unlockItem(this.dataItem).subscribe((function(){e.isLocked=!1,e.callback(null)}))):this.callback(null)},DynamicUpdateItemComponent.prototype.onUnlockClick=function(){var e=this;this.registerSubscription(this.service.unlockItem(this.dataItem).subscribe((function(){e.ngOnInit()})))},DynamicUpdateItemComponent.prototype.getItem=function(){if(this.dataItem.isEmpty)return Object(i.of)(this.dataItem);this.fallbackProperties=Q.DynamicItemResolver.getFallbackProperties(this.dataItem,this.route.snapshot);var e={itemKey:this.dataItem.data.Id,entityData:this.dataItem,fallbackProperties:this.fallbackProperties};return this.service.getItem(e)},DynamicUpdateItemComponent.prototype.initFields=function(e,t,n){var o=this;if(this.fieldSections&&!t.hasChanges)return Object(i.of)(void 0);t.message?this.notificationService.publishBasicNotification({message:t.message,look:"sf-mt--2xl sf-mb-2xl",filterParam:d.ITEM_EDIT_NOTIFICATION_FILTER_STATIC}):this.notificationService.close();for(var r=[],a=0,s=n;a=W)return this.buttonsState$.next(o),this.buttonsState=o,void(this.lastButtonEmissionTime=(new Date).getTime());var r=W-i+this.buttonCounter*W;this.window.setTimeout((function(){n.buttonsState$.next(o),n.buttonCounter--,n.lastButtonEmissionTime=(new Date).getTime(),n.buttonsState=o}),r),this.buttonCounter++},DynamicUpdateItemComponent.prototype.setParentPropertyId=function(e){var t,n=this.dataItem.metadata.parentIdProperty,o=this.dataItem.metadata.isPropertyUpdatable(n),i=e&&!e.hasOwnProperty(n),r=this.prepopulatedFields&&this.prepopulatedFields[n]||this.parentId;o&&i&&r&&(this.dataItem.metadata.isMedia&&(r=null!==(t=this.dataItem.data.FolderId)&&void 0!==t?t:r),e[n]=r)},DynamicUpdateItemComponent.prototype.handleFormClasses=function(){this.formClasses=this.editExtender.getFormClasses(this.dataItem)},DynamicUpdateItemComponent.prototype.handleKeyboardShortcuts=function(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,d.COMPONENT_NAMES.DYNAMIC_UPDATE_ITEM,!0).subscribe((function(t){if(t)switch(t.type){case j.KeyboardActionType.Publish:case j.KeyboardActionType.Save:case j.KeyboardActionType.Schedule:e.triggerKeyboardShortcutAction(t)}}));this.registerSubscription(t)},DynamicUpdateItemComponent.prototype.triggerKeyboardShortcutAction=function(e){this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.editableFields.triggerValidCheck()&&(this.buttonsState&&this.buttonsState.primary&&this.buttonsState.primary.state!==f.ButtonState.Default||this.onActionButtonClicked(e.action)))},DynamicUpdateItemComponent.prototype.getSiteData=function(){var e=null;return this.route&&(e=this.route.parent?this.route.parent.snapshot.data.siteDataStore:null),e},DynamicUpdateItemComponent.ɵfac=function DynamicUpdateItemComponent_Factory(e){return new(e||DynamicUpdateItemComponent)(J["ɵɵdirectiveInject"](c.ModalWindowService),J["ɵɵdirectiveInject"](b.WINDOW_TOKEN),J["ɵɵdirectiveInject"](r.FieldsGeneratorService),J["ɵɵdirectiveInject"](D.BackendTweaksService),J["ɵɵdirectiveInject"](l.DynamicItemService),J["ɵɵdirectiveInject"](u.CompositeOperationsProvider),J["ɵɵdirectiveInject"](E.ActivatedRoute),J["ɵɵdirectiveInject"](S.DynamicItemStore),J["ɵɵdirectiveInject"](Y.NOTIFICATION_SERVICE),J["ɵɵdirectiveInject"](R.CompositeEditExtender),J["ɵɵdirectiveInject"](F.ComponentCommunicationService),J["ɵɵdirectiveInject"](U.KeyboardShortcutsService),J["ɵɵdirectiveInject"](G.ScrollService),J["ɵɵdirectiveInject"](H.ParentService),J["ɵɵdirectiveInject"](V.CompositeItemHooksProvider))},DynamicUpdateItemComponent.ɵcmp=J["ɵɵdefineComponent"]({type:DynamicUpdateItemComponent,selectors:[["sf-dynamic-update-item"]],viewQuery:function DynamicUpdateItemComponent_Query(e,t){if(1&e&&J["ɵɵviewQuery"](a.EditableFieldsComponent,3),2&e){var n;J["ɵɵqueryRefresh"](n=J["ɵɵloadQuery"]())&&(t.editableFields=n.first)}},inputs:{dataItem:"dataItem",parentId:"parentId",prepopulatedFields:"prepopulatedFields",mediaFieldLimitationsConstraints:"mediaFieldLimitationsConstraints",cultureData:"cultureData"},features:[J["ɵɵProvidersFeature"]([_.MirrorService,U.KeyboardShortcutsService,h.ActionButtonsResolver]),J["ɵɵInheritDefinitionFeature"]],decls:6,vars:10,consts:[[1,"sf-form","-sf-centered-box","-sf-txt-align-left",3,"ngClass"],["filter","item-edit"],[4,"ngIf"],[1,"-sf-txt-align-left",3,"allowDialogOpenCallback","fieldSections","moduleName","fieldChange"],["buttonsLook","large",3,"buttonsState","options","operations","buttonClicked"],["class","-align-self-start","look","size-xl sf-txt-small hover sf-txt-upper-case sf-mt-3xs sf-ml-3xs edit-variation",3,"content",4,"ngIf"],["look","size-xl sf-txt-small hover sf-txt-upper-case sf-mt-3xs sf-ml-3xs edit-variation",1,"-align-self-start",3,"content"]],template:function DynamicUpdateItemComponent_Template(e,t){1&e&&(J["ɵɵelementStart"](0,"div",0),J["ɵɵelement"](1,"sf-notification-loader",1),J["ɵɵtemplate"](2,DynamicUpdateItemComponent_div_2_Template,3,3,"div",2),J["ɵɵelementStart"](3,"sf-editable-fields",3),J["ɵɵlistener"]("fieldChange",(function DynamicUpdateItemComponent_Template_sf_editable_fields_fieldChange_3_listener(e){return t.onFieldChange(e)})),J["ɵɵelementEnd"](),J["ɵɵelementStart"](4,"sf-action-menu",4),J["ɵɵlistener"]("buttonClicked",(function DynamicUpdateItemComponent_Template_sf_action_menu_buttonClicked_4_listener(e){return t.onActionButtonClicked(e)})),J["ɵɵpipe"](5,"async"),J["ɵɵelementEnd"](),J["ɵɵelementEnd"]()),2&e&&(J["ɵɵproperty"]("ngClass",t.formClasses),J["ɵɵadvance"](2),J["ɵɵproperty"]("ngIf",t.editExtender.showHeader(t.dataItem)),J["ɵɵadvance"](1),J["ɵɵproperty"]("allowDialogOpenCallback",t.allowDialogOpenCallback)("fieldSections",t.fieldSections)("moduleName",t.moduleNameIdentificator),J["ɵɵadvance"](1),J["ɵɵproperty"]("buttonsState",J["ɵɵpipeBind1"](5,8,t.buttonsState$))("options",t.bottomActionMenuOptions)("operations",t.operations))},encapsulation:2}),DynamicUpdateItemComponent}(k.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"FieldsGeneratorService",(function(){return d}));var o=n(329),i=n(267),r=n(1120),a=n(246),s=n(351),A=n(262),l=n(1166),c=n(229),d=function(){function FieldsGeneratorService(e,t){this.metadataParser=e,this.tweaksHandlers=t}return FieldsGeneratorService.prototype.generateFields=function(e,t,n,o,i){void 0===n&&(n={}),void 0===o&&(o=!1),void 0===i&&(i=!1);var r=this.generateFieldModels(e,e.setName,t,n,o,i),a=n&&!n.isEmpty?A.VIEW_NAME.EDIT:A.VIEW_NAME.INSERT;return this.groupFields(e,r,t.getFormByType(e.setName,a),o)},FieldsGeneratorService.prototype.generateFieldsFromTweaks=function(e,t,n,o,i){void 0===n&&(n={}),void 0===o&&(o=!1),void 0===i&&(i=!1);var r=this.metadataParser.getFieldsDefinition(e,t,n,o,i);return this.groupFields(e,r,t,o)},FieldsGeneratorService.prototype.generateFieldModels=function(e,t,n,o,i,r){void 0===o&&(o=null),void 0===i&&(i=!1),void 0===r&&(r=!1);var a=o&&!o.isEmpty?A.VIEW_NAME.EDIT:A.VIEW_NAME.INSERT,s=n.getFormByType(t,a);return this.metadataParser.getFieldsDefinition(e,s,o,i,r)},FieldsGeneratorService.prototype.createFieldModel=function(e){return new i.FieldModel({key:e.key,selector:e.selector||s.FieldTypes.shortText,settings:e.settings||{},value:e.value||a.stringConstants.EMPTY_STRING,registration:e.registration})},FieldsGeneratorService.prototype.configureTitle=function(e,t,n){var o=e.settings.showTitle;switch(e.selector){case s.FieldTypes.html:t.settings.isMain&&(0===t.fields.length||1===t.fields.length&&t.fields[0].settings.key===n)&&(e.settings.showTitle=!0,e.settings.visibleTitle=!1);break;case s.FieldTypes.shortTextDefault:case s.FieldTypes.address:case s.FieldTypes.mediaData:o=!1}e.settings.showTitle=o},FieldsGeneratorService.prototype.groupFields=function(e,t,n,o){var i=this;if(t.length<1)return[];var a,s=[],A=new Set;return n.forEach((function(n){if(!A.has(n.name)){if(n.isSection)return a=new r.FieldSectionModel({title:n.title,hideTitle:!n.title&&n.isExpandedByDefault,name:n.name,isExpanded:n.isExpandedByDefault,isMain:0===s.length,insertHorizontalRule:!0}),void s.push(a);for(var o=0,l=i.tweaksHandlers;o0&&t&&t.length>0,i=!o&&t&&t.length>0,r=!o&&e&&e.length>0,a={type:d.BulkChangeTemplateNotificationComponent,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:n.action.name.toLowerCase(),message:this.resultMessage},id:"bulkChangeTemplateNotification",look:l.NOTIFICATION_LOOKS.SUCCESS};return r?(a.look=l.NOTIFICATION_LOOKS.SUCCESS,a.duration=5e3):i?(a.look=l.NOTIFICATION_LOOKS.ERROR,a.closeButton=!0):o&&(a.look=l.NOTIFICATION_LOOKS.WARNING,a.closeButton=!0),a},ChangeTemplateCommand.prototype.getChangeTemplateComponentData=function(e,t){var n=this;return{type:a.ChangeTemplateComponent,properties:{selectedPagesIds:e.data.selectedItems.map((function(e){return e.key})),entityData:e.data.entityData,onTemplateSelectionCallback:function(o,i,r){return n.handleSelectedTemplate(o,r,i,e,t)}}}},ChangeTemplateCommand.prototype.handleSelectedTemplate=function(e,t,n,o,i){var r=this,s={templateId:e,selectedPages:o.data.selectedItems.map((function(e){return e.key})),templateName:t};n!==a.ChangeMode.Create&&this.dynamicItemStore.executeEntityOperation(o.data.entityData,"Default.ChangePageTemplate",s).subscribe((function(e){r.resultMessage=e.Message;var t={success:!0,failedItemsIds:e.FailedItemsIds,succeededItemsIds:e.SucceededItemsIds,failedItemsErrors:{},reload:!0};i.next(t),n===a.ChangeMode.Single&&r.notificationService.publishBasicNotification({message:e.Message,look:l.NOTIFICATION_LOOKS[e.Type.toUpperCase()]})}))},ChangeTemplateCommand=Object(o.__decorate)([Object(o.__param)(2,Object(p.Inject)(A.NOTIFICATION_SERVICE)),Object(o.__metadata)("design:paramtypes",[i.ModalWindowService,s.DynamicItemStore,A.NotificationService])],ChangeTemplateCommand)}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ChangeTemplateComponent",(function(){return f})),n.d(t,"ChangeMode",(function(){return d}));var o=n(1171),i=n(131),r=n(256),a=n(229),s=n(1175),A=n(261),l=n(354),c=n(1132);function ChangeTemplateComponent_div_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",6),a["ɵɵelementStart"](1,"p",7),a["ɵɵtext"](2),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](2),a["ɵɵtextInterpolate"](n.entityData.data[n.entityData.metadata.defaultFieldName])}}function ChangeTemplateComponent_sf_notification_3_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"sf-notification",8),a["ɵɵelementStart"](1,"b"),a["ɵɵtext"](2,"Warning:"),a["ɵɵelementEnd"](),a["ɵɵtext"](3),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](3),a["ɵɵtextInterpolate1"](" ",n.viewModel.NotificationMessage,"")}}function ChangeTemplateComponent_div_4_h2_1_span_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"span",15),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2).$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.Subtitle)}}function ChangeTemplateComponent_div_4_h2_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"h2",13),a["ɵɵtext"](1),a["ɵɵtemplate"](2,ChangeTemplateComponent_div_4_h2_1_span_2_Template,2,1,"span",14),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"]("",n.Title," "),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.Subtitle)}}function ChangeTemplateComponent_div_4_sf_card_3_div_4_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",20),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"]("Used by ",n.UsedByNumberOfPages," pages")}}var _c0=function(e){return{key:"framework",value:e}},_c1=function(e){return{key:"renderer",value:e}},_c2=function(e,t){return[e,t]};function ChangeTemplateComponent_div_4_sf_card_3_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-card",16),a["ɵɵlistener"]("onCardSelected",(function ChangeTemplateComponent_div_4_sf_card_3_Template_sf_card_onCardSelected_0_listener(){a["ɵɵrestoreView"](n);var e=t.$implicit,o=a["ɵɵnextContext"](2);return!e.isSelected&&o.onTemplateSelection(e.Id,e.Name)})),a["ɵɵelement"](1,"img",17),a["ɵɵelementStart"](2,"div",18),a["ɵɵtext"](3),a["ɵɵelementEnd"](),a["ɵɵtemplate"](4,ChangeTemplateComponent_div_4_sf_card_3_div_4_Template,2,1,"div",19),a["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,i=a["ɵɵnextContext"](2);a["ɵɵproperty"]("selected",o.isSelected)("cardTitle",o.Title)("dataAttributes",a["ɵɵpureFunction2"](10,_c2,a["ɵɵpureFunction1"](6,_c0,o.Framework.toString().toLocaleLowerCase()),a["ɵɵpureFunction1"](8,_c1,o.Renderer))),a["ɵɵadvance"](1),a["ɵɵproperty"]("src",o.ThumbnailUrl,a["ɵɵsanitizeUrl"]),a["ɵɵadvance"](2),a["ɵɵtextInterpolate"](o.Title),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",i.showTemplateCounter(o))}}function ChangeTemplateComponent_div_4_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",9),a["ɵɵtemplate"](1,ChangeTemplateComponent_div_4_h2_1_Template,3,2,"h2",10),a["ɵɵelementStart"](2,"div",11),a["ɵɵtemplate"](3,ChangeTemplateComponent_div_4_sf_card_3_Template,5,13,"sf-card",12),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=t.$implicit;a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.Templates.length>0),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngForOf",n.Templates)}}function ChangeTemplateComponent_div_7_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div"),a["ɵɵelement"](1,"sf-icon",21),a["ɵɵelementStart"](2,"p",20),a["ɵɵtext"](3,"No templates have been created yet"),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]())}var d,p,f=function(){function ChangeTemplateComponent(e){this.dynamicItemStore=e,this.selectedPagesIds=[]}return ChangeTemplateComponent.prototype.showTemplateCounter=function(e){return!("00000000-0000-0000-0000-000000000000"===e.Id&&!e.Name)},ChangeTemplateComponent.prototype.ngOnInit=function(){var e=this.entityData.metadata.setName===r.ENTITY_SET.PAGES;this.changeMode=this.determineChangeMode(),this.viewModel={Title:this.changeMode===d.Create?"Select a "+(e?"":"base ")+"template":"Change "+(e?"page":"base")+" template",ShowNotification:this.changeMode!==d.Create,NotificationMessage:e?"Changing the template may break the layout of the page.":"Changing the base template may break the layout of this template and pages using it",ShowCounter:this.changeMode===d.Bulk,ShowItemTitle:this.changeMode===d.Single},this.loadTemplates()},ChangeTemplateComponent.prototype.setCloseModalCallback=function(e){this._closeModalCallback=e},ChangeTemplateComponent.prototype.onTemplateSelection=function(e,t){void 0===t&&(t=""),this.onTemplateSelectionCallback(e,this.changeMode,t),this._closeModalCallback({templateId:e,changeMode:this.changeMode,templateName:t})},ChangeTemplateComponent.prototype.loadTemplates=function(){var e=this,t=this.selectedPagesIds.map((function(e){return"'"+e.toString()+"'"})).join(", ");this.templateCategories=this.dynamicItemStore.getItemList({action:"Default.GetPageTemplates(selectedPages=["+t+"])",entityData:this.entityData,dataFieldNames:[]}).pipe(Object(i.map)((function(t){var n=t.dataItems,o=n.length>0?n.map((function(e){return e.data})):[];return e.handleSpecialCategories(o),o})))},ChangeTemplateComponent.prototype.handleSpecialCategories=function(e){e.length>0&&(e[0].Type===p.CurrentlyUsed||1===e[0].Type)&&(e[0].Templates[0].isSelected=!0)},ChangeTemplateComponent.prototype.determineChangeMode=function(){switch(this.selectedPagesIds.length){case 0:return d.Create;case 1:return d.Single;default:return d.Bulk}},ChangeTemplateComponent.ɵfac=function ChangeTemplateComponent_Factory(e){return new(e||ChangeTemplateComponent)(a["ɵɵdirectiveInject"](o.DynamicItemStore))},ChangeTemplateComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ChangeTemplateComponent,selectors:[["ng-component"]],inputs:{entityData:"entityData",selectedPagesIds:"selectedPagesIds",onTemplateSelectionCallback:"onTemplateSelectionCallback"},decls:10,vars:16,consts:[[3,"removeBottomOffset","heading","superScript","stickyDisabled"],["class","sf-form -medium -sf-centered-box -sf-pt-zero",4,"ngIf"],["look","warning inline",4,"ngIf"],["class","-sf-txt-align-left",4,"ngFor","ngForOf"],[1,"sf-form","-medium","-sf-centered-box","-sf-pt-3xs"],[4,"ngIf"],[1,"sf-form","-medium","-sf-centered-box","-sf-pt-zero"],[1,"-sf-txt-large","-sf-overflow-ellipsis"],["look","warning inline"],[1,"-sf-txt-align-left"],["class","-sf-mt-m",4,"ngIf"],[1,"sf-row","-sf-ml--xs","-sf-mr--xs"],["look","template","buttonText","Select template",3,"selected","cardTitle","dataAttributes","onCardSelected",4,"ngFor","ngForOf"],[1,"-sf-mt-m"],["class","-sf-mt-5xs -sf-pt-5xs -sf-inline-block -sf-txt-vertical-align-top -sf-txt-upper-case -sf-txt-small -sf-txt-success -sf-txt-vertical-align-top",4,"ngIf"],[1,"-sf-mt-5xs","-sf-pt-5xs","-sf-inline-block","-sf-txt-vertical-align-top","-sf-txt-upper-case","-sf-txt-small","-sf-txt-success","-sf-txt-vertical-align-top"],["look","template","buttonText","Select template",3,"selected","cardTitle","dataAttributes","onCardSelected"],[1,"sf-card__image",3,"src"],[1,"-sf-txt-large","-sf-mt-m","-sf-overflow-ellipsis"],["class","-sf-txt-hint",4,"ngIf"],[1,"-sf-txt-hint"],["name","file-text-o","look","illustrative sf-mt-7xl sf-mb-xs sf-mr-zero"]],template:function ChangeTemplateComponent_Template(e,t){1&e&&(a["ɵɵelement"](0,"sf-sticky-component",0),a["ɵɵpipe"](1,"async"),a["ɵɵtemplate"](2,ChangeTemplateComponent_div_2_Template,3,1,"div",1),a["ɵɵtemplate"](3,ChangeTemplateComponent_sf_notification_3_Template,4,1,"sf-notification",2),a["ɵɵtemplate"](4,ChangeTemplateComponent_div_4_Template,4,2,"div",3),a["ɵɵpipe"](5,"async"),a["ɵɵelementStart"](6,"div",4),a["ɵɵtemplate"](7,ChangeTemplateComponent_div_7_Template,4,0,"div",5),a["ɵɵpipe"](8,"async"),a["ɵɵpipe"](9,"async"),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵproperty"]("removeBottomOffset",!0)("heading",t.viewModel.Title)("superScript",t.viewModel.ShowCounter?t.selectedPagesIds.length:"")("stickyDisabled",0===a["ɵɵpipeBind1"](1,8,t.templateCategories)),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",t.viewModel.ShowItemTitle),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.viewModel.ShowNotification),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngForOf",a["ɵɵpipeBind1"](5,10,t.templateCategories)),a["ɵɵadvance"](3),a["ɵɵproperty"]("ngIf",null!=a["ɵɵpipeBind1"](8,12,t.templateCategories)&&0===a["ɵɵpipeBind1"](9,14,t.templateCategories).length))},directives:[s.StickyComponent,A.NgIf,A.NgForOf,l.SfNotificationComponent,c.CardComponent,l.SfIconComponent],pipes:[A.AsyncPipe],encapsulation:2}),ChangeTemplateComponent}();!function(e){e.Single="single",e.Bulk="bulk",e.Create="create"}(d||(d={})),function(e){e.CurrentlyUsed="CurrentlyUsed"}(p||(p={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicItemStore",(function(){return g})),n.d(t,"FilterTypes",(function(){return o}));var o,i=n(11),r=n(131),a=n(316),s=n(317),A=n(242),l=n(1172),c=n(1173),d=n(292),p=n(266),f=n(320),u=n(1174),m=n(229),g=function(){function DynamicItemStore(e,t,n){this.logger=e,this.dynamicItemService=t,this.childrenCountStore=n,this.stateCache=new Map,this.itemChanges$=new i.Subject}return Object.defineProperty(DynamicItemStore.prototype,"service",{get:function(){return this.dynamicItemService},enumerable:!1,configurable:!0}),DynamicItemStore.prototype.getLeftItemsCount=function(e){var t=this.getTotalCount(e)-this.getLoadedItemsCount(e);return t>a.DEFAULT_TAKE?a.DEFAULT_TAKE:t},DynamicItemStore.prototype.getTotalCount=function(e){return this.getState(e).itemsCount},DynamicItemStore.prototype.getLoadedItemsCount=function(e){return this.getState(e).getValue().dataItems.length},DynamicItemStore.prototype.getItems=function(e){return this.getState(e).getDynamicItems()},DynamicItemStore.prototype.executeOperation=function(e,t){var n=this;return this.dynamicItemService.executeOperation(e,t).pipe(Object(r.tap)((function(){n.notifyItemChange(e.key,e,t)})))},DynamicItemStore.prototype.executeEntityOperation=function(e,t,n){var o=this;return this.dynamicItemService.executeEntityOperation(e,t,n).pipe(Object(r.tap)((function(){o.notifyItemChange(null,e,t)})))},DynamicItemStore.prototype.restoreItem=function(e){var t=this;return this.dynamicItemService.restoreItem(e).pipe(Object(r.tap)((function(){t.notifyItemChange(e.key,e,f.ActionEvent.Restore)})))},DynamicItemStore.prototype.getItem=function(e){var t=this;return this.dynamicItemService.getItem(e).pipe(Object(r.tap)((function(e){t.refreshItem(e,a.ItemPosition.Current)})),Object(r.catchError)((function(n){return n instanceof d.NotFoundError&&t.deleteItemFromMemory(e.itemKey,e.entityData),Object(i.throwError)(n)})))},DynamicItemStore.prototype.getItemList=function(e){var t=this;return this.dynamicItemService.getItemList(e).pipe(Object(r.catchError)((function(n){return t.logger.error({message:"An error was encountered retrieving dynamic items of type: '"+e.entityData.metadata.setName+"'",code:"getItemList"}),Object(i.throwError)(n)})))},DynamicItemStore.prototype.deleteItem=function(e){var t=this,n=e.dataItem,o=this.dynamicItemService.deleteItem(e);return o.subscribe((function(){t.notifyItemChange(n.key,n,f.ActionEvent.Delete),e.skipItemStateUpdate||(t.deleteItemFromMemory(n.key,n,e.deleteAllTranslations,e.itemPosition),t.childrenCountStore.invalidateCachedChidrenCountByChildItem(n))}),(function(o){o instanceof d.NotFoundError&&!e.skipItemStateUpdate&&t.deleteItemFromMemory(n.key,n,e.deleteAllTranslations,e.itemPosition)})),o},DynamicItemStore.prototype.saveItemWithOperationResult=function(e,t,n,o,i,s,A,l,c){var d=this;void 0===s&&(s=a.ItemPosition.Default),void 0===A&&(A=!1),void 0===l&&(l=!1);return(e.isEmpty?this.createItem({data:t,operation:n.operation,entityData:e,fallbackProperties:o,itemPosition:s,doNotRefreshItem:l,additionalQueryParams:c}):this.updateItem({dataItem:e,data:t,operation:n?n.operation:null,fallbackProperties:o,dataFieldNames:i,itemPosition:s,skipUpdate:A,doNotRefreshItem:l,additionalQueryParams:c})).pipe(Object(r.tap)((function(){d.notifyItemChange(e.key,e,n?n.name:null)})))},DynamicItemStore.prototype.saveItem=function(e,t,n,o,i,s){return void 0===s&&(s=a.ItemPosition.Default),this.saveItemWithOperationResult(e,t,n,o,i,s).pipe(Object(r.map)((function(e){return e.dataItem})))},DynamicItemStore.prototype.unlockItem=function(e,t){var n=this;void 0===t&&(t=!1);var o=this.dynamicItemService.unlockItem(e,t);return o.subscribe((function(e){n.refreshItem(e)}),(function(t){t instanceof d.NotFoundError&&n.deleteItemFromMemory(e.key,e)})),o},DynamicItemStore.prototype.loadItems=function(e){var t=this,n=this.getState(e.entityData),o=n.getValue();e.order=e.order||u.LAST_MODIFIED_DESC_SORT_ORDER,e.take=e.take||a.DEFAULT_TAKE,e.skip=e.skip||0;var i=this.getItemList(e),r={dataItems:o.dataItems,loadingItemsCount:e.take,query:e.query,skip:e.skip,take:e.take,order:e.order,action:e.action,totalCount:o.totalCount};0===e.skip&&(r.dataItems=[]),n.next(r),i.subscribe((function(o){n.itemsCount=o.totalCount;var i=n.getValue(),r=i.dataItems,a=o.dataItems;0!==e.skip&&(a=r.concat(a)),n.next(t.getNewState(a,o.totalCount,i))}),(function(n){t.logger.error({message:"An error was encountered retrieving dynamic items of type: '"+e.entityData.metadata.setName+"'",code:"loadItems"})}))},DynamicItemStore.prototype.getItemChanges=function(){return this.itemChanges$},DynamicItemStore.prototype.notifyItemChange=function(e,t,n){this.itemChanges$.next({key:e,entityData:t,action:n})},DynamicItemStore.prototype.deleteItemFromMemory=function(e,t,n,o){var i=this;void 0===n&&(n=!1),void 0===o&&(o=a.ItemPosition.Default);var s,A,l=this.getState(t),c=l.getValue(),d=c.dataItems,f=[],u=[];if(d.forEach((function(t,n){t.key===e?(A=n,s=t,u=t.data[p.Properties.AvailableLanguages]):f.push(t)})),u.length>1&&!n){var m={keys:[s.key],entityData:t,fallbackProperties:[t.metadata.defaultFieldName],keyProperty:t.metadata.key};this.dynamicItemService.getItemsByKeys(m).pipe(Object(r.finalize)((function(){l.next(i.getNewState(f,l.itemsCount,c))}))).subscribe((function(e){var n=e.dataItems;n&&n.length&&(o===a.ItemPosition.Default&&(o=i.getItemPosition(c)),o===a.ItemPosition.Bottom&&c.totalCount>f.length+1?i.reloadState(c,t):i.insertItem(n[0],f,o,A))}))}else l.itemsCount-=1,l.next(this.getNewState(f,l.itemsCount,c))},DynamicItemStore.prototype.createItem=function(e){var t=this,n=this.dynamicItemService.createItemWithOperationResult(e);return n.subscribe((function(n){var o=t.getState(e.entityData);o.itemsCount+=1;var i=o.getValue(),r=i.dataItems;t.insertItem(n.dataItem,r,e.itemPosition);var s=r.length>a.DEFAULT_TAKE,A=(r.length-1)%a.DEFAULT_TAKE==0;s&&A&&r.pop(),t.childrenCountStore.invalidateCachedChidrenCountByChildItem(n.dataItem),o.next(t.getNewState(r,o.itemsCount,i))}),(function(e){})),n},DynamicItemStore.prototype.insertItem=function(e,t,n,o){n===a.ItemPosition.Current&&o>=0?t.splice(o,0,e):n===a.ItemPosition.Bottom?t.push(e):t.unshift(e)},DynamicItemStore.prototype.updateItem=function(e){var t=this,n=this.dynamicItemService.updateItemWithOperationResult(e);return n.subscribe((function(n){t.refreshItem(n.dataItem,e.itemPosition)}),(function(n){n instanceof d.NotFoundError&&t.deleteItemFromMemory(e.dataItem.key,e.dataItem)})),n},DynamicItemStore.prototype.refreshItem=function(e,t){void 0===t&&(t=a.ItemPosition.Default);var n=this.getState(e),o=this.getState(e).getValue(),i=o.dataItems,r=i.findIndex((function(t){return t.key===e.key}));if(e instanceof s.HierarchicalDataItem)return this.refreshHierarchicalItem(e,n);-1!==r&&(t===a.ItemPosition.Default&&(t=this.getItemPosition(o)),t===a.ItemPosition.Current?i[r]=e:(i.splice(r,1),t===a.ItemPosition.Top?i.unshift(e):t===a.ItemPosition.Bottom?o.totalCount>i.length+1?this.reloadState(o,e):i.push(e):i.unshift(e)),n.next(this.getNewState(i,o.totalCount,o)))},DynamicItemStore.prototype.refreshHierarchicalItem=function(e,t){for(var n=t.getValue(),o=0,i=n.dataItems;o0},enumerable:!1,configurable:!0}),Object.defineProperty(StateWrapper.prototype,"isLoadingItems",{get:function(){return this.loadingItemsCount>0},enumerable:!1,configurable:!0}),Object.defineProperty(StateWrapper.prototype,"hasItems",{get:function(){return this.totalCount>0},enumerable:!1,configurable:!0}),Object.defineProperty(StateWrapper.prototype,"leftItemsCount",{get:function(){return this.totalCount-this.dataItems.length},enumerable:!1,configurable:!0}),Object.defineProperty(StateWrapper.prototype,"loadedItemsCount",{get:function(){return this.dataItems.length},enumerable:!1,configurable:!0}),StateWrapper.prototype.getNextBatchCount=function(e){var t=this.leftItemsCount;return t>e?e:t},StateWrapper.prototype.getCurrentPage=function(e){return Math.ceil(this.loadedItemsCount/e)},StateWrapper.wrap=function(e){var t=new StateWrapper(e.dataItems.slice(),e.totalCount,e.loadingItemsCount,e.query,e.skip,e.take,e.order,e.action);return Object.freeze(t)},StateWrapper.empty=function(e){return void 0===e&&(e=!1),StateWrapper.wrap({dataItems:[],totalCount:0})},StateWrapper}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT_ORDINAL_EXPRESSION",(function(){return r})),n.d(t,"LAST_MODIFIED_DESC_SORT_ORDER",(function(){return a})),n.d(t,"LAST_MODIFIED_ASC_SORT_ORDER",(function(){return s})),n.d(t,"DATE_CREATED_DESC_SORT_ORDER",(function(){return A})),n.d(t,"SortService",(function(){return l}));var o=n(326),i=n(229),r="Ordinal asc",a="LastModified desc",s="LastModified asc",A="DateCreated desc",l=function(){function SortService(){}return SortService.prototype.getDefaultSort=function(e){return o.MediaHelpers.isLibrary(e.metadata.setName)?A:e.metadata.isSelfReferencing?a:e.metadata.isOrderable&&!e.metadata.isMedia?r:a},SortService.ɵfac=function SortService_Factory(e){return new(e||SortService)},SortService.ɵprov=i["ɵɵdefineInjectable"]({token:SortService,factory:SortService.ɵfac}),SortService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"StickyComponent",(function(){return A}));var o=n(369),i=n(1176),r=n(1115),a=n(229),s=n(261),_c0=function(e){return{"-sf-mb-3xl":e}};function StickyComponent_h1_0_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"h1",5),a["ɵɵtext"](1,"PREVENT_BROWSER_SCROLL_WHEN_STICKY"),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](1,_c0,!n.headingLook||!n.removeBottomOffset))}}var _c1=function(e){return[e]};function StickyComponent_ng_container_3_h1_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"h1",8),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](2,_c1,n.isSticky?"h3 -sf-ml-3xl":n.headingCssClass)),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.heading)}}var _c2=function(e){return{"h3 -sf-ml-3xl":e}},_c3=function(e){return{"-sf-mt-3xs":e}};function StickyComponent_ng_container_3_div_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",9),a["ɵɵelementStart"](1,"h1",8),a["ɵɵtext"](2),a["ɵɵelementEnd"](),a["ɵɵelementStart"](3,"span",10),a["ɵɵtext"](4),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](5,_c1,n.isSticky?"-inline":n.headingCssClass)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](7,_c2,n.isSticky)),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.heading),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](9,_c3,!n.isSticky)),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.superScript)}}function StickyComponent_ng_container_3_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,StickyComponent_ng_container_3_h1_1_Template,2,4,"h1",6),a["ɵɵtemplate"](2,StickyComponent_ng_container_3_div_2_Template,5,11,"div",7),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!n.superScript),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.superScript)}}function StickyComponent_ng_container_4_ng_container_1_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}function StickyComponent_ng_container_4_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,StickyComponent_ng_container_4_ng_container_1_Template,1,0,"ng-container",11),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngTemplateOutlet",n.stickyHeading.templateRef)}}function StickyComponent_span_5_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"span",12),a["ɵɵlistener"]("click",(function StickyComponent_span_5_Template_span_click_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onBackToTopClicked()}))("keyup.enter",(function StickyComponent_span_5_Template_span_keyup_enter_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onBackToTopClicked()})),a["ɵɵtext"](1,"Back to top"),a["ɵɵelementEnd"]()}}var _c4=function(e){return{"sf-row sf-top-toolbar sf-sticky -top":e}},A=function(){function StickyComponent(e){this.scrollService=e,this.hasStickyBuffer=!0}return StickyComponent.prototype.ngOnInit=function(){this.headingCssClass=this.generateCssClassList(this.headingLook)},StickyComponent.prototype.onBackToTopClicked=function(){this.scrollService.scrollToTop(!0,250)},Object.defineProperty(StickyComponent.prototype,"isSticky",{get:function(){return this.alwaysSticky?this.alwaysSticky:!!this.stickyDirective&&this.stickyDirective.isSticky},enumerable:!1,configurable:!0}),StickyComponent.prototype.generateCssClassList=function(e){var t=this.superScript?"-justify-content-center":"";return e&&""!==e?t+=" -"+e.split(" ").join(" -"):this.superScript||this.removeBottomOffset?t+=" -sf-mb-3xs":t+=" -sf-mb-3xl",t},StickyComponent.ɵfac=function StickyComponent_Factory(e){return new(e||StickyComponent)(a["ɵɵdirectiveInject"](o.ScrollService))},StickyComponent.ɵcmp=a["ɵɵdefineComponent"]({type:StickyComponent,selectors:[["sf-sticky-component"]],contentQueries:function StickyComponent_ContentQueries(e,t,n){if(1&e&&a["ɵɵcontentQuery"](n,i.StickyHeadingDirective,1),2&e){var o;a["ɵɵqueryRefresh"](o=a["ɵɵloadQuery"]())&&(t.stickyHeading=o.first)}},viewQuery:function StickyComponent_Query(e,t){if(1&e&&a["ɵɵviewQuery"](r.StickyDirective,1),2&e){var n;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.stickyDirective=n.first)}},inputs:{heading:"heading",headingLook:"headingLook",stickyDisabled:"stickyDisabled",stickWithDelay:"stickWithDelay",alwaysSticky:"alwaysSticky",superScript:"superScript",removeBottomOffset:"removeBottomOffset",hasStickyBuffer:"hasStickyBuffer",hideBackToTopButton:"hideBackToTopButton"},decls:6,vars:10,consts:[["data-sftest","stickyBuffer","class","-sf-invisible","aria-hidden","true",3,"ngClass",4,"ngIf"],["sfSticky","",3,"alwaysSticky","stickyDisabled","stickWithDelay","ngClass"],["stickyToolbar","sfSticky"],[4,"ngIf"],["tabindex","0","class","sf-link -align-self-center -sf-txt-align-center -sf-ml-auto -sf-mr-50",3,"click","keyup.enter",4,"ngIf"],["data-sftest","stickyBuffer","aria-hidden","true",1,"-sf-invisible",3,"ngClass"],[3,"ngClass",4,"ngIf"],["class","sf-row",3,"ngClass",4,"ngIf"],[3,"ngClass"],[1,"sf-row",3,"ngClass"],["data-sftest","superScriptBadge",1,"sf-badge","-sf-ml-3xs","-positive","-ellipse",3,"ngClass"],[4,"ngTemplateOutlet"],["tabindex","0",1,"sf-link","-align-self-center","-sf-txt-align-center","-sf-ml-auto","-sf-mr-50",3,"click","keyup.enter"]],template:function StickyComponent_Template(e,t){1&e&&(a["ɵɵtemplate"](0,StickyComponent_h1_0_Template,2,3,"h1",0),a["ɵɵelementStart"](1,"div",1,2),a["ɵɵtemplate"](3,StickyComponent_ng_container_3_Template,3,2,"ng-container",3),a["ɵɵtemplate"](4,StickyComponent_ng_container_4_Template,2,1,"ng-container",3),a["ɵɵtemplate"](5,StickyComponent_span_5_Template,2,0,"span",4),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵproperty"]("ngIf",t.isSticky&&t.hasStickyBuffer),a["ɵɵadvance"](1),a["ɵɵproperty"]("alwaysSticky",t.alwaysSticky)("stickyDisabled",t.stickyDisabled)("stickWithDelay",t.stickWithDelay)("ngClass",a["ɵɵpureFunction1"](8,_c4,t.isSticky)),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",!t.stickyHeading&&t.heading),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.stickyHeading),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.isSticky&&!t.hideBackToTopButton))},directives:[s.NgIf,r.StickyDirective,s.NgClass,s.NgTemplateOutlet],encapsulation:2}),StickyComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"StickyHeadingDirective",(function(){return i}));var o=n(229),i=function(){function StickyHeadingDirective(e){this.templateRef=e}return StickyHeadingDirective.ɵfac=function StickyHeadingDirective_Factory(e){return new(e||StickyHeadingDirective)(o["ɵɵdirectiveInject"](o.TemplateRef))},StickyHeadingDirective.ɵdir=o["ɵɵdefineDirective"]({type:StickyHeadingDirective,selectors:[["","sfStickyHeading",""]]}),StickyHeadingDirective}()},function(e,t,n){"use strict";n.r(t),n.d(t,"NOTIFICATION_SERVICE",(function(){return c})),n.d(t,"NotificationService",(function(){return d}));var o=n(1178),i=n(229),r=n(11),a=n(131),s=n(244),A=n(1179),l=n(262),c=new i.InjectionToken("NotificationService"),d=function(){function NotificationService(e){this.windowProvider=e,this.notificationMap=new Map,this.notificationHandlesMap=new Map,this.notification$=new r.ReplaySubject(1),this.notificationClose$=new r.ReplaySubject(1)}return NotificationService.prototype.getNotification=function(){return this.notification$.asObservable()},NotificationService.prototype.getCloseNotification=function(){return this.notificationClose$.asObservable()},NotificationService.prototype.publishNotificationFromOperationResult=function(e,t){var n;e.notificationData?n=e.notificationData:e.operationResult&&e.operationResult.Message&&void 0===(n={type:A.BasicNotificationComponent,duration:l.NOTIFICATION_DURATION_DEFAULT,filterParam:t,properties:{message:e.operationResult.Message,operation:e.operationResult.UndoOperation,dataItem:e.dataItem},look:o.NOTIFICAITON_LOOK_MAP[e.operationResult.Type]}).look&&e.operationResult.Success&&(n.look=o.NOTIFICATION_LOOKS.SUCCESS),n&&this.publishNotification(n)},NotificationService.prototype.publishNotification=function(e){if(e){void 0===e.removePreviousView&&(e.removePreviousView=!0),void 0===e.updatePropertiesOnChange&&(e.updatePropertiesOnChange=!0);var t=this.getNotificationFilter(e);this.closeNotificationByFilter(t),this.notificationMap.set(t,e),e.duration&&e.duration>0&&this.setTimeout(e),this.notification$.next(e)}},NotificationService.prototype.publishBasicNotification=function(e){var t={id:e.id||"notification",type:A.BasicNotificationComponent,properties:{message:e.message},look:e.look,duration:e.duration,closeButton:e.closeButton,filterParam:e.filterParam,removePreviousView:!0,updatePropertiesOnChange:!0};void 0===t.duration&&(t.duration=l.NOTIFICATION_DURATION_DEFAULT),void 0===t.closeButton&&(t.closeButton=!0),this.publishNotification(t)},NotificationService.prototype.catchErrorAndShowNotification=function(e){var t=this;return Object(a.catchError)((function(n){return t.publishBasicNotification({message:n.message,look:o.NOTIFICATION_LOOKS.ERROR,filterParam:e}),Object(r.empty)()}))},NotificationService.prototype.closeMultiple=function(e){var t=this;e.forEach((function(e){t.closeNotificationByFilter(e)}))},NotificationService.prototype.close=function(e){if(void 0===e&&(e=o.NOTIFICATION_FILTER_ALL),e===o.NOTIFICATION_FILTER_ALL)for(var t=this.notificationMap.keys();;){var n=t.next();if(n.done)break;this.closeNotificationByFilter(n.value)}else this.closeNotificationByFilter(e)},NotificationService.prototype.closeNotificationByFilter=function(e){var t=this.notificationMap.get(e||o.NOTIFICATION_FILTER_EMPTY);t&&this.closeSpecificNotification(t)},NotificationService.prototype.closeSpecificNotification=function(e){this.notificationClose$.next(e),this.notificationMap.delete(this.getNotificationFilter(e));var t=this.notificationHandlesMap.get(this.getNotificationFilter(e));this.windowProvider.clearTimeout(t),this.notificationHandlesMap.delete(this.getNotificationFilter(e)),this.notification$.next(null)},NotificationService.prototype.setTimeout=function(e){var t=this,n=this.windowProvider.setTimeout((function(){t.close(t.getNotificationFilter(e))}),e.duration);this.notificationHandlesMap.set(this.getNotificationFilter(e),n)},NotificationService.prototype.getNotificationFilter=function(e){return e.filterParam||o.NOTIFICATION_FILTER_EMPTY},NotificationService.ɵfac=function NotificationService_Factory(e){return new(e||NotificationService)(i["ɵɵinject"](s.WINDOW_TOKEN))},NotificationService.ɵprov=i["ɵɵdefineInjectable"]({token:NotificationService,factory:NotificationService.ɵfac,providedIn:"root"}),NotificationService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"NOTIFICATION_LOOK_SUCCESS",(function(){return o})),n.d(t,"NOTIFICATION_LOOK_ERROR",(function(){return i})),n.d(t,"NOTIFICATION_LOOK_WARNING",(function(){return r})),n.d(t,"NOTIFICATION_LOOKS",(function(){return a})),n.d(t,"NOTIFICATION_FILTER_EMPTY",(function(){return s})),n.d(t,"NOTIFICATION_FILTER_ALL",(function(){return A})),n.d(t,"NOTIFICAITON_LOOK_MAP",(function(){return l}));var o="success",i="error",r="warning",a={SUCCESS:o,ERROR:i,WARNING:r},s="empty-filter",A="all-filters",l=Object.freeze({1:a.SUCCESS,2:a.ERROR,3:a.WARNING})},function(e,t,n){"use strict";n.r(t),n.d(t,"BasicNotificationComponent",(function(){return l}));var o=n(229),i=n(316),r=(n(317),n(1180)),a=n(261),s=n(354),A=n(1181);function BasicNotificationComponent_sf_loader_0_Template(e,t){1&e&&o["ɵɵelement"](0,"sf-loader",2)}function BasicNotificationComponent_ng_container_1_a_3_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"a",5),o["ɵɵlistener"]("click",(function BasicNotificationComponent_ng_container_1_a_3_Template_a_click_0_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).executeAction()})),o["ɵɵtext"](1),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"](2);o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](i.operation.Title)}}function BasicNotificationComponent_ng_container_1_Template(e,t){if(1&e&&(o["ɵɵelementContainerStart"](0),o["ɵɵelement"](1,"div",3),o["ɵɵpipe"](2,"sfSanitizer"),o["ɵɵtemplate"](3,BasicNotificationComponent_ng_container_1_a_3_Template,2,1,"a",4),o["ɵɵelementContainerEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵproperty"]("outerHTML",o["ɵɵpipeBind2"](2,2,n.message,"html"),o["ɵɵsanitizeHtml"]),o["ɵɵadvance"](2),o["ɵɵproperty"]("ngIf",n.operation)}}var l=function(){function BasicNotificationComponent(e){this.service=e,this.onCommand=new o.EventEmitter}return BasicNotificationComponent.prototype.executeAction=function(){var e=this;this.isExecutingAction=!0,this.service.executeOperation(this.dataItem,this.operation.Name).subscribe((function(){e.onCommand.emit(r.COMMAND_NAMES.refresh),e.onCommand.emit(r.COMMAND_NAMES.close),e.isExecutingAction=!1}))},BasicNotificationComponent.ɵfac=function BasicNotificationComponent_Factory(e){return new(e||BasicNotificationComponent)(o["ɵɵdirectiveInject"](i.DynamicItemService))},BasicNotificationComponent.ɵcmp=o["ɵɵdefineComponent"]({type:BasicNotificationComponent,selectors:[["ng-component"]],inputs:{message:"message",operation:"operation",dataItem:"dataItem"},outputs:{onCommand:"onCommand"},decls:2,vars:2,consts:[["look","progressbar overlay",4,"ngIf"],[4,"ngIf"],["look","progressbar overlay"],[3,"outerHTML"],[3,"click",4,"ngIf"],[3,"click"]],template:function BasicNotificationComponent_Template(e,t){1&e&&(o["ɵɵtemplate"](0,BasicNotificationComponent_sf_loader_0_Template,1,0,"sf-loader",0),o["ɵɵtemplate"](1,BasicNotificationComponent_ng_container_1_Template,4,5,"ng-container",1)),2&e&&(o["ɵɵproperty"]("ngIf",t.isExecutingAction),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.message))},directives:[a.NgIf,s.SfLoaderComponent],pipes:[A.SanitizerPipe],encapsulation:2}),BasicNotificationComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"COMMAND_NAMES",(function(){return o}));var o={selectionChanged:"item-selection-changed",childNavigate:"child-navigate",createChild:"create-child",changeCulture:"change-culture",itemActionClicked:"item-action-button-clicked",sortExpressionChanged:"sort-expression-changed",loadMoreChildren:"load-more-children",close:"close",refresh:"refresh",removeItem:"removeItem"}},function(e,t,n){"use strict";n.r(t),n.d(t,"SanitizerPipe",(function(){return r}));var o=n(229),i=n(312),r=function(){function SanitizerPipe(e){this.sanitizer=e}return SanitizerPipe.prototype.transform=function(e,t){switch(t){case"html":return this.sanitizer.sanitize(o.SecurityContext.HTML,e);case"style":return this.sanitizer.sanitize(o.SecurityContext.STYLE,e);case"script":return this.sanitizer.sanitize(o.SecurityContext.SCRIPT,e);case"url":return this.sanitizer.sanitize(o.SecurityContext.URL,e);case"resourceUrl":return this.sanitizer.sanitize(o.SecurityContext.RESOURCE_URL,e);default:throw new Error("Invalid safe type specified: "+t)}},SanitizerPipe.ɵfac=function SanitizerPipe_Factory(e){return new(e||SanitizerPipe)(o["ɵɵdirectiveInject"](i.DomSanitizer))},SanitizerPipe.ɵpipe=o["ɵɵdefinePipe"]({name:"sfSanitizer",type:SanitizerPipe,pure:!0}),SanitizerPipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"BulkChangeTemplateNotificationComponent",(function(){return A}));var o=n(259),i=n(1183),r=n(246),a=n(229),s=n(261);function BulkChangeTemplateNotificationComponent_a_3_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"a",1),a["ɵɵlistener"]("click",(function BulkChangeTemplateNotificationComponent_a_3_Template_a_click_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onFailedItemsClick()})),a["ɵɵtext"](1),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",o.failedItemsMessage,"")}}var A=function(e){function BulkChangeTemplateNotificationComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(BulkChangeTemplateNotificationComponent,e),BulkChangeTemplateNotificationComponent.prototype.ngOnInit=function(){if(e.prototype.ngOnInit.call(this),this.operationFailed||this.operationPartiallySucceeded){var t=this.message.split(r.stringConstants.INTERVAL);this.failedItemsMessage=t.splice(-2).join(r.stringConstants.INTERVAL),this.message=t.join(r.stringConstants.INTERVAL),this.failedItemsComponentTitle="Pages failed to change template"}},BulkChangeTemplateNotificationComponent.ɵfac=function BulkChangeTemplateNotificationComponent_Factory(e){return l(e||BulkChangeTemplateNotificationComponent)},BulkChangeTemplateNotificationComponent.ɵcmp=a["ɵɵdefineComponent"]({type:BulkChangeTemplateNotificationComponent,selectors:[["sf-bulk-change-template-notification"]],inputs:{message:"message"},features:[a["ɵɵInheritDefinitionFeature"]],decls:4,vars:2,consts:[["data-sftest","failed-items-dialog-link",3,"click",4,"ngIf"],["data-sftest","failed-items-dialog-link",3,"click"]],template:function BulkChangeTemplateNotificationComponent_Template(e,t){1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelementStart"](1,"span"),a["ɵɵtext"](2),a["ɵɵelementEnd"](),a["ɵɵtemplate"](3,BulkChangeTemplateNotificationComponent_a_3_Template,2,1,"a",0),a["ɵɵelementContainerEnd"]()),2&e&&(a["ɵɵadvance"](2),a["ɵɵtextInterpolate"](t.message),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.operationFailed||t.operationPartiallySucceeded))},directives:[s.NgIf],encapsulation:2}),BulkChangeTemplateNotificationComponent}(i.BulkOperationsNotificationComponent),l=a["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"BulkOperationsNotificationComponent",(function(){return l}));var o=n(245),i=n(1184),r=n(1118),a=n(260),s=n(229),A=n(261);function BulkOperationsNotificationComponent_ng_container_0_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵelementStart"](1,"span"),s["ɵɵtext"](2),s["ɵɵelementEnd"](),s["ɵɵelementContainerEnd"]()),2&e){var n=s["ɵɵnextContext"]();s["ɵɵadvance"](2),s["ɵɵtextInterpolate3"]("",n.succeededItemsIds.length," ",n.succeededItemsIds.length>1?"items were":"item was"," ",n.operationNamePastTense," successfully.")}}function BulkOperationsNotificationComponent_ng_container_1_ng_container_1_Template(e,t){1&e&&s["ɵɵelementContainer"](0)}function BulkOperationsNotificationComponent_ng_container_1_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵtemplate"](1,BulkOperationsNotificationComponent_ng_container_1_ng_container_1_Template,1,0,"ng-container",2),s["ɵɵelementStart"](2,"span"),s["ɵɵtext"](3),s["ɵɵelementEnd"](),s["ɵɵelementContainerEnd"]()),2&e){var n=s["ɵɵnextContext"](),o=s["ɵɵreference"](4);s["ɵɵadvance"](1),s["ɵɵproperty"]("ngTemplateOutlet",o),s["ɵɵadvance"](2),s["ɵɵtextInterpolate1"](" failed to ",n.operationName,".")}}function BulkOperationsNotificationComponent_ng_container_2_ng_container_1_Template(e,t){1&e&&s["ɵɵelementContainer"](0)}function BulkOperationsNotificationComponent_ng_container_2_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵtemplate"](1,BulkOperationsNotificationComponent_ng_container_2_ng_container_1_Template,1,0,"ng-container",2),s["ɵɵelementStart"](2,"span"),s["ɵɵtext"](3),s["ɵɵelementEnd"](),s["ɵɵelementContainerEnd"]()),2&e){var n=s["ɵɵnextContext"](),o=s["ɵɵreference"](4);s["ɵɵadvance"](1),s["ɵɵproperty"]("ngTemplateOutlet",o),s["ɵɵadvance"](2),s["ɵɵtextInterpolate2"](" out of ",n.succeededItemsIds.length+n.failedItemsIds.length," failed to ",n.operationName,".")}}function BulkOperationsNotificationComponent_ng_template_3_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"a",3),s["ɵɵlistener"]("click",(function BulkOperationsNotificationComponent_ng_template_3_Template_a_click_0_listener(){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onFailedItemsClick()})),s["ɵɵtext"](1),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵadvance"](1),s["ɵɵtextInterpolate2"](" ",o.failedItemsIds.length," ",o.failedItemsIds.length>1?"items":"item","")}}var l=function(){function BulkOperationsNotificationComponent(e,t){this.modalService=e,this.route=t}return BulkOperationsNotificationComponent.prototype.ngOnInit=function(){this.operationNamePastTense=Object(o.getPastTense)(this.operationName),this.operationPartiallySucceeded=this.succeededItemsIds&&this.succeededItemsIds.length>0&&this.failedItemsIds&&this.failedItemsIds.length>0,this.operationFailed=!this.operationPartiallySucceeded&&this.failedItemsIds&&this.failedItemsIds.length>0,this.operationSucceeded=!this.operationPartiallySucceeded&&this.succeededItemsIds&&this.succeededItemsIds.length>0,this.failedItemsComponentTitle="Items failed to "+this.operationName.toLowerCase()},BulkOperationsNotificationComponent.prototype.onFailedItemsClick=function(){var e={type:i.ItemListComponent,properties:{dataItemsIds:this.failedItemsIds,entityData:this.entityData,componentTitle:this.failedItemsComponentTitle,listAdditionalLook:"sf-mt-2xl"}},t=new r.DialogData(e,null,[],null,"-bottom");this.modalService.setMapping(t),this.modalService.open(this.route)},BulkOperationsNotificationComponent.ɵfac=function BulkOperationsNotificationComponent_Factory(e){return new(e||BulkOperationsNotificationComponent)(s["ɵɵdirectiveInject"](r.ModalWindowService),s["ɵɵdirectiveInject"](a.ActivatedRoute))},BulkOperationsNotificationComponent.ɵcmp=s["ɵɵdefineComponent"]({type:BulkOperationsNotificationComponent,selectors:[["sf-bulk-operations-notification"]],inputs:{failedItemsIds:"failedItemsIds",succeededItemsIds:"succeededItemsIds",entityData:"entityData",operationName:"operationName"},decls:5,vars:3,consts:[[4,"ngIf"],["failedItemsLinkTemplate",""],[4,"ngTemplateOutlet"],["data-sftest","failed-items-dialog-link",3,"click"]],template:function BulkOperationsNotificationComponent_Template(e,t){1&e&&(s["ɵɵtemplate"](0,BulkOperationsNotificationComponent_ng_container_0_Template,3,3,"ng-container",0),s["ɵɵtemplate"](1,BulkOperationsNotificationComponent_ng_container_1_Template,4,2,"ng-container",0),s["ɵɵtemplate"](2,BulkOperationsNotificationComponent_ng_container_2_Template,4,3,"ng-container",0),s["ɵɵtemplate"](3,BulkOperationsNotificationComponent_ng_template_3_Template,2,2,"ng-template",null,1,s["ɵɵtemplateRefExtractor"])),2&e&&(s["ɵɵproperty"]("ngIf",t.operationSucceeded),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",t.operationFailed),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",t.operationPartiallySucceeded))},directives:[A.NgIf,A.NgTemplateOutlet],encapsulation:2}),BulkOperationsNotificationComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ItemListComponent",(function(){return u})),n.d(t,"ITEM_LIST_REGISTRY",(function(){return m}));var o=n(259),i=n(316),r=n(11),a=n(245),s=n(262),A=n(1063),l=n(1100),c=n(1101),d=n(1185),p=n(336),f=n(229);function ItemListComponent_ng_container_0_div_2_ng_container_1_Template(e,t){1&e&&f["ɵɵelementContainer"](0)}function ItemListComponent_ng_container_0_div_2_Template(e,t){if(1&e&&(f["ɵɵelementStart"](0,"div",7),f["ɵɵtemplate"](1,ItemListComponent_ng_container_0_div_2_ng_container_1_Template,1,0,"ng-container",8),f["ɵɵelement"](2,"sf-badge",9),f["ɵɵelementEnd"]()),2&e){f["ɵɵnextContext"]();var n=f["ɵɵreference"](6),o=f["ɵɵnextContext"]();f["ɵɵadvance"](1),f["ɵɵproperty"]("ngTemplateOutlet",n),f["ɵɵadvance"](1),f["ɵɵproperty"]("content",o.dataItemsIds.length)}}function ItemListComponent_ng_container_0_ng_template_5_h1_0_Template(e,t){if(1&e&&(f["ɵɵelementStart"](0,"h1"),f["ɵɵtext"](1),f["ɵɵelementEnd"]()),2&e){var n=f["ɵɵnextContext"](3);f["ɵɵadvance"](1),f["ɵɵtextInterpolate"](n.componentTitle)}}function ItemListComponent_ng_container_0_ng_template_5_Template(e,t){if(1&e&&f["ɵɵtemplate"](0,ItemListComponent_ng_container_0_ng_template_5_h1_0_Template,2,1,"h1",0),2&e){var n=f["ɵɵnextContext"](2);f["ɵɵproperty"]("ngIf",n.showTitle)}}function ItemListComponent_ng_container_0_sf_loader_8_Template(e,t){1&e&&f["ɵɵelement"](0,"sf-loader",10),2&e&&f["ɵɵproperty"]("count",3)}function ItemListComponent_ng_container_0_Template(e,t){if(1&e){var n=f["ɵɵgetCurrentView"]();f["ɵɵelementContainerStart"](0),f["ɵɵelementStart"](1,"div",1),f["ɵɵlistener"]("scrolledToBottom",(function ItemListComponent_ng_container_0_Template_div_scrolledToBottom_1_listener(){return f["ɵɵrestoreView"](n),f["ɵɵnextContext"]().requestMoreItems()})),f["ɵɵtemplate"](2,ItemListComponent_ng_container_0_div_2_Template,3,2,"div",2),f["ɵɵelementStart"](3,"p",3),f["ɵɵtext"](4),f["ɵɵelementEnd"](),f["ɵɵtemplate"](5,ItemListComponent_ng_container_0_ng_template_5_Template,1,1,"ng-template",null,4,f["ɵɵtemplateRefExtractor"]),f["ɵɵelementStart"](7,"sf-tree",5),f["ɵɵlistener"]("removeNode",(function ItemListComponent_ng_container_0_Template_sf_tree_removeNode_7_listener(e){return f["ɵɵrestoreView"](n),f["ɵɵnextContext"]().onRemoveNode(e)})),f["ɵɵelementEnd"](),f["ɵɵtemplate"](8,ItemListComponent_ng_container_0_sf_loader_8_Template,1,1,"sf-loader",6),f["ɵɵelementEnd"](),f["ɵɵelementContainerEnd"]()}if(2&e){var o=t.ngIf,i=f["ɵɵreference"](6),r=f["ɵɵnextContext"]();f["ɵɵadvance"](2),f["ɵɵproperty"]("ngIf",r.showCount)("ngIfElse",i),f["ɵɵadvance"](2),f["ɵɵtextInterpolate"](r.componentSubtitle),f["ɵɵadvance"](3),f["ɵɵproperty"]("nodes",o.dataItems)("config",r.treeConfig)("displayField",r.displayField)("look",r.listAdditionalLook?"read-only "+r.listAdditionalLook:"read-only"),f["ɵɵadvance"](1),f["ɵɵproperty"]("ngIf",o.isLoading)}}var u=function(e){function ItemListComponent(t){var n=e.call(this)||this;return n.dynamicItemService=t,n.dataItemsIds=[],n.shouldFetchItems=!0,n.showTitle=!0,n.dataItems$=new r.ReplaySubject(1),n.dataItems=[],n.treeConfig={status:!0,noSelection:!0,description:!0,treeProperties:{displayField:"Title"}},n}return Object(o.__extends)(ItemListComponent,e),ItemListComponent.prototype.ngOnInit=function(){if(this.configurePropertiesFromSettings(),this.entityData&&(this.displayField=this.entityData.metadata.defaultFieldName,this.treeConfig.treeProperties.displayField=this.displayField),this.dataItems.length&&(this.dataItems$.next({dataItems:this.dataItems,isLoading:!1}),this.shouldFetchItems=!1),this.shouldFetchItems){var e=this.dataItemsIds.slice(0,50),t=this.loadDataItems(e);this.registerSubscription(t)}},ItemListComponent.prototype.writeValue=function(t){if(Array.isArray(t)){var n=t.map((function(e){return Object(a.cloneObject)(e.data)}));this.dataItems$.next({dataItems:n,isLoading:!1}),this.entityData=t[0],this.shouldFetchItems=!1}e.prototype.writeValue.call(this,t)},ItemListComponent.prototype.onRemoveNode=function(e){var t=this.getValue().filter((function(t){return t.data.Id!==e.data.Id}));this.writeValue(t)},ItemListComponent.prototype.requestMoreItems=function(){if(!(this.dataItems.length>=this.dataItemsIds.length)){var e=this.dataItems.length;this.loadItems(e)}},ItemListComponent.prototype.loadItems=function(e){var t=this.dataItemsIds.slice(e,e+50),n=this.loadDataItems(t);this.registerSubscription(n)},ItemListComponent.prototype.configurePropertiesFromSettings=function(){var e=this.settings;e&&(this.treeConfig.deletion=e.showRemoveButton,this.showTitle=e.showTitle,this.treeConfig.status=e.showStatus)},ItemListComponent.prototype.loadDataItems=function(e){var t=this,n=new l.BreadcrumbPipe(new c.HtmlEscapePipe);return this.dynamicItemService.getItemsByKeys({entityData:this.entityData,fallbackProperties:[this.entityData.metadata.defaultFieldName],keyProperty:this.entityData.metadata.key,keys:e}).pipe(Object(A.toLoadingState)(),Object(A.delayEmission)(s.BLUR_EFFECT_TIMEOUT)).subscribe((function(e){if(e){if(e.content){var o=e.content.dataItems.map((function(e){var o=t.entityData.metadata.isSelfReferencing&&e.data&&e.data.Breadcrumb?n.transform(e.data.Breadcrumb,!1,!0):e.metadata.singularName,i=Object(a.cloneObject)(e.data);return i.description=o,i.isTranslated=e.isTranslated,i}));t.dataItems=t.dataItems.concat(o)}t.dataItems$.next({dataItems:t.dataItems,isLoading:e.isLoading})}}))},ItemListComponent.ɵfac=function ItemListComponent_Factory(e){return new(e||ItemListComponent)(f["ɵɵdirectiveInject"](i.DynamicItemService))},ItemListComponent.ɵcmp=f["ɵɵdefineComponent"]({type:ItemListComponent,selectors:[["sf-item-list"]],inputs:{dataItemsIds:"dataItemsIds",entityData:"entityData",componentTitle:"componentTitle",componentSubtitle:"componentSubtitle",listAdditionalLook:"listAdditionalLook"},features:[f["ɵɵInheritDefinitionFeature"]],decls:2,vars:3,consts:[[4,"ngIf"],["sfInfiniteScroll","","data-sftest","failed-items-dialog",1,"sf-form","-medium","-sf-centered-box",3,"scrolledToBottom"],["class","sf-row -justify-content-center -sf-mb-3xs",4,"ngIf","ngIfElse"],[1,"-sf-txt-large","-sf-overflow-ellipsis","-sf-mb-2xl","-sf-hide-empty"],["noWrapperTmpl",""],["data-sftest","failed-items-dialog-data",3,"nodes","config","displayField","look","removeNode"],["look","skeleton content list",3,"count",4,"ngIf"],[1,"sf-row","-justify-content-center","-sf-mb-3xs"],[4,"ngTemplateOutlet"],["look","sf-badge sf-ml-3xs sf-mt-3xs positive ellipse",3,"content"],["look","skeleton content list",3,"count"]],template:function ItemListComponent_Template(e,t){1&e&&(f["ɵɵtemplate"](0,ItemListComponent_ng_container_0_Template,9,8,"ng-container",0),f["ɵɵpipe"](1,"async")),2&e&&f["ɵɵproperty"]("ngIf",f["ɵɵpipeBind1"](1,1,t.dataItems$))},encapsulation:2}),ItemListComponent}(p.FieldBase),m={writeComponent:u,readComponent:u,settingsType:d.ItemListSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"ItemListSettings",(function(){return i}));var o=n(259),i=function(e){function ItemListSettings(){var t=null!==e&&e.apply(this,arguments)||this;return t.showTitle=!0,t}return Object(o.__extends)(ItemListSettings,e),ItemListSettings}(n(332).SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"NAVIGATION_OPTIONS_PROPERTIES",(function(){return C})),n.d(t,"PAGE_COMPUTED_PROPERTIES",(function(){return B})),n.d(t,"PAGE_TYPE_OPTIONS",(function(){return k})),n.d(t,"NavigationOptionsCompositeComponent",(function(){return w}));var o=n(259),i=n(229),r=n(324),a=n(260),s=n(351),A=n(1122),l=n(1118),c=n(361),d=n(267),p=n(246),f=n(1187),u=n(316),m=n(1188),g=n(245),E=n(352),h=n(354),b=n(336),_c0=function(e){return{"-stripped -sf-mr-3xs":e}};function NavigationOptionsCompositeComponent_div_6_ng_container_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"span",9),i["ɵɵelementStart"](2,"span",10),i["ɵɵtext"](3),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"sf-button",11),i["ɵɵlistener"]("onClick",(function NavigationOptionsCompositeComponent_div_6_ng_container_1_Template_sf_button_onClick_4_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).openPageSelection()})),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,_c0,o.selectedUrl)),i["ɵɵadvance"](2),i["ɵɵtextInterpolate1"](" ",o.selectedRedirectPage," ")}}function NavigationOptionsCompositeComponent_div_6_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",7),i["ɵɵtemplate"](1,NavigationOptionsCompositeComponent_div_6_ng_container_1_Template,5,4,"ng-container",8),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](),o=i["ɵɵreference"](9);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.isRedirectPageSelected)("ngIfElse",o)}}function NavigationOptionsCompositeComponent_sf_error_7_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-error",12),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("messages",n.errorMessages)}}function NavigationOptionsCompositeComponent_ng_template_8_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-button",13),i["ɵɵlistener"]("onClick",(function NavigationOptionsCompositeComponent_ng_template_8_Template_sf_button_onClick_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().openPageSelection()})),i["ɵɵelementEnd"]()}}var C={SHOW_IN_NAVIGATION:"ShowInNavigation",PAGE_TYPE:"PageType",REDIRECT_PAGE:"RedirectPage"},B={MARKETING:"Marketing"},k={STANDARD:"Standard",GROUP:"Group",REDIRECT:"Redirect"},I="isGroup",v="isRedirect",w=function(e){function NavigationOptionsCompositeComponent(t,n,o){var i=e.call(this)||this;return i.modalService=t,i.route=n,i.dynamicItemService=o,i.form=new r.FormGroup({}),i.selectedRedirectPage=p.stringConstants.EMPTY_STRING,i.isRedirectPageSelected=!1,i.errorMessages=[],i.selectedUrl=p.stringConstants.EMPTY_STRING,i.shouldOpenInNewWindow=!1,i}return Object(o.__extends)(NavigationOptionsCompositeComponent,e),NavigationOptionsCompositeComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.initialize(),this.initializeForm()},NavigationOptionsCompositeComponent.prototype.writeValue=function(t){if(t){var n=Object(g.cloneObject)(this.getValue());null!==n&&Object.keys(n).length||(n={});var o,i=Object.assign({},n,t);if(i.hasOwnProperty(I))(o=i[I])?(this.groupFieldData.value=!0,o=k.GROUP):(this.groupFieldData.value=!1,o=!0===this.redirectFieldData.value?k.REDIRECT:k.STANDARD),i[C.PAGE_TYPE]=o,delete i[I];if(i.hasOwnProperty(v))this.showPageSelector=i[v],(o=i[v])?(this.redirectFieldData.value=!0,o=k.REDIRECT):(this.redirectFieldData.value=!1,this.selectedRedirectPage=p.stringConstants.EMPTY_STRING,this.isRedirectPageSelected=!1,o=!0===this.groupFieldData.value?k.GROUP:k.STANDARD),i[C.PAGE_TYPE]=o,delete i[v];e.prototype.writeValue.call(this,i)}},NavigationOptionsCompositeComponent.prototype.openPageSelection=function(){var e=this,t={type:f.PageSelectorComponent,properties:{culture:this.settings.culture,selected:this.selectedItem?[this.selectedItem]:[],parentId:this.settings.itemId,selectedUrl:this.selectedUrl,shouldOpenInNewWindow:this.shouldOpenInNewWindow,overrideSelectorConfig:!0}},n=[new l.ConfirmButton(c.SelectorConstants.DONE),new l.CancelButton(c.SelectorConstants.CANCEL)],o=new l.DialogData(t,(function(t){return e.onDone(t)}),n,null);this.modalService.setMapping(o),this.modalService.open(this.route)},NavigationOptionsCompositeComponent.prototype.validate=function(){!0===this.redirectFieldData.value&&this.selectedRedirectPage===p.stringConstants.EMPTY_STRING?(this.errorMessages.push("Select a redirect page"),this.emitStatus({type:E.StatusType.Error})):(this.errorMessages.length=0,this.emitStatus({type:E.StatusType.ErrorCleared}))},NavigationOptionsCompositeComponent.prototype.onDone=function(e){if(e.data&&e.data.data){var t;e.component.selectedTab&&e.component.selectedTab===f.WEB_ADDRESS_TAB_TITLE?e.component.selectedUrl&&(t={NodeId:p.stringConstants.DEFAULT_GUID,OpenInNewWindow:e.component.shouldOpenInNewWindow,ProviderName:null,RedirectUrl:e.component.selectedUrl},this.selectedRedirectPage=e.component.selectedUrl,this.selectedUrl=e.component.selectedUrl,this.shouldOpenInNewWindow=e.component.shouldOpenInNewWindow,this.isRedirectPageSelected=!0,this.validate()):e.component.selected[0]&&(t={NodeId:e.component.selected[0].Id,OpenInNewWindow:!1,ProviderName:null,RedirectUrl:p.stringConstants.EMPTY_STRING},this.selectedRedirectPage=e.component.selected[0].Title,this.selectedUrl=p.stringConstants.EMPTY_STRING,this.shouldOpenInNewWindow=!1,this.isRedirectPageSelected=!0,this.validate());var n={RedirectPage:t};this.writeValue(n)}},NavigationOptionsCompositeComponent.prototype.initializeForm=function(){var e=this;Object.keys(this.settings.innerFields).forEach((function(t){var n=e.settings.innerFields[t];if(null!==n){var o=n.value,i=new r.FormControl(o);if(e.form.setControl(n.key,i),t===C.PAGE_TYPE){n.settings.tooltipModels=e.getTooltip("This page doesn't have content and redirects to the first subpage."),e.groupFieldData=new d.FieldModel({key:I,settings:n.settings,selector:s.FieldTypes.choiceYesNo,registration:n.registration,value:o===k.GROUP});var a=new r.FormControl(e.groupFieldData.value);e.form.setControl(e.groupFieldData.key,a)}if(t===C.REDIRECT_PAGE){n.settings.tooltipModels=e.getTooltip("This page doesn't have content and redirects to another page in the website or to an external URL."),e.redirectFieldData=new d.FieldModel({key:v,settings:n.settings,selector:s.FieldTypes.choiceYesNo,registration:n.registration,value:e.settings.innerFields[C.PAGE_TYPE].value===k.REDIRECT});var A=new r.FormControl(e.redirectFieldData.value);e.form.setControl(e.redirectFieldData.key,A),e.showPageSelector=e.redirectFieldData.value}}}))},NavigationOptionsCompositeComponent.prototype.getTooltip=function(e){var t={Type:h.SectionTypes.Text,Chunks:[{Value:e,Presentation:[]}]};return new Map([[h.DEFAULT_MARKUP_KEY,[t]]])},NavigationOptionsCompositeComponent.prototype.initialize=function(){var e=this,t=this.settings.innerFields[C.REDIRECT_PAGE].value;if(t&&(t.NodeId!==p.stringConstants.DEFAULT_GUID||t.RedirectUrl!==p.stringConstants.EMPTY_STRING)){var n=this.route.parent.snapshot.data.metaStore.entities[m.PAGES],o={culture:this.settings.culture,provider:void 0,metadata:n};t.NodeId!==p.stringConstants.DEFAULT_GUID?this.dynamicItemService.getItem({itemKey:t.NodeId,entityData:o,fallbackProperties:[this.route.parent.snapshot.data.metaStore.entities[m.PAGES].defaultFieldName]}).subscribe((function(n){t.NodeId!==p.stringConstants.DEFAULT_GUID&&(e.selectedRedirectPage=n.title,e.isRedirectPageSelected=e.selectedRedirectPage!==p.stringConstants.EMPTY_STRING,e.selectedItem=n.data)})):t.RedirectUrl!==p.stringConstants.EMPTY_STRING&&(this.selectedRedirectPage=t.RedirectUrl,this.isRedirectPageSelected=this.selectedRedirectPage!==p.stringConstants.EMPTY_STRING,this.selectedUrl=t.RedirectUrl,this.shouldOpenInNewWindow=t.OpenInNewWindow)}},NavigationOptionsCompositeComponent.ɵfac=function NavigationOptionsCompositeComponent_Factory(e){return new(e||NavigationOptionsCompositeComponent)(i["ɵɵdirectiveInject"](l.ModalWindowService),i["ɵɵdirectiveInject"](a.ActivatedRoute),i["ɵɵdirectiveInject"](u.DynamicItemService))},NavigationOptionsCompositeComponent.ɵcmp=i["ɵɵdefineComponent"]({type:NavigationOptionsCompositeComponent,selectors:[["sf-navigation-options-composite-field"]],viewQuery:function NavigationOptionsCompositeComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](A.FormFieldWrapperComponent,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.fields=n)}},features:[i["ɵɵInheritDefinitionFeature"]],decls:10,vars:12,consts:[[1,"sf-field__label"],[3,"formGroup"],["look","sequence",3,"formControlName","fieldModel","formControl","ngModelChange"],["look","sequence boolean-tooltip",3,"formControlName","fieldModel","formControl","ngModelChange"],["class","sf-row -align-items-center -sf-ml-xs",4,"ngIf"],["class","-sf-mt-4xs -sf-txt-base",3,"messages",4,"ngIf"],["selectRedirectPage",""],[1,"sf-row","-align-items-center","-sf-ml-xs"],[4,"ngIf","ngIfElse"],[1,"sf-chip",3,"ngClass"],[1,"sf-chip__content"],["look","circle small sf-mt-4xs sf-mb-4xs","iconLook","size-3xs","icon","pencil",3,"onClick"],[1,"-sf-mt-4xs","-sf-txt-base",3,"messages"],["look","circle small sf-mb-4xs","icon","plus","iconLook","size-xs",3,"onClick"]],template:function NavigationOptionsCompositeComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵtext"](1,"Navigation options"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"form",1),i["ɵɵelementStart"](3,"sf-form-field-wrapper",2),i["ɵɵlistener"]("ngModelChange",(function NavigationOptionsCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_3_listener(e){return t.writeValue({ShowInNavigation:e})})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"sf-form-field-wrapper",3),i["ɵɵlistener"]("ngModelChange",(function NavigationOptionsCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_4_listener(e){return t.writeValue({isGroup:e})})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"sf-form-field-wrapper",3),i["ɵɵlistener"]("ngModelChange",(function NavigationOptionsCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_5_listener(e){return t.writeValue({isRedirect:e})})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](6,NavigationOptionsCompositeComponent_div_6_Template,2,2,"div",4),i["ɵɵelementEnd"](),i["ɵɵtemplate"](7,NavigationOptionsCompositeComponent_sf_error_7_Template,1,1,"sf-error",5),i["ɵɵtemplate"](8,NavigationOptionsCompositeComponent_ng_template_8_Template,1,0,"ng-template",null,6,i["ɵɵtemplateRefExtractor"])),2&e&&(i["ɵɵadvance"](2),i["ɵɵproperty"]("formGroup",t.form),i["ɵɵadvance"](1),i["ɵɵproperty"]("formControlName",t.settings.innerFields.ShowInNavigation.key)("fieldModel",t.settings.innerFields.ShowInNavigation)("formControl",t.form.controls.ShowInNavigation),i["ɵɵadvance"](1),i["ɵɵproperty"]("formControlName",t.groupFieldData.key)("fieldModel",t.groupFieldData)("formControl",t.form.controls.isGroup),i["ɵɵadvance"](1),i["ɵɵproperty"]("formControlName",t.redirectFieldData.key)("fieldModel",t.redirectFieldData)("formControl",t.form.controls.isRedirect),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.showPageSelector),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.errorMessages&&t.errorMessages.length>0&&t.redirectFieldData.value))},encapsulation:2}),NavigationOptionsCompositeComponent}(b.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"WEB_ADDRESS_TAB_TITLE",(function(){return u})),n.d(t,"PageSelectorComponent",(function(){return m}));var o=n(260),i=n(131),r=n(1188),a=n(1107),s=n(316),A=n(262),l=n(245),c=n(246),d=(n(1118),n(1190)),p=n(256),f=n(229),u="Web address",m=function(){function PageSelectorComponent(e,t,n){this.route=e,this.dynamicItemService=t,this.hierarchicalPagesService=n,this.selected=[],this.selectedUrl=c.stringConstants.EMPTY_STRING,this.shouldOpenInNewWindow=!1,this.overrideSelectorConfig=!1,this.selectorConfig=null,this.selectedTab=c.stringConstants.EMPTY_STRING,this.shouldSelectHomePage=!1,this.expandPathPair={key:"BreadCrumb",value:"Title"},this.parentId=c.stringConstants.DEFAULT_GUID,this.items=[],this.itemId=c.stringConstants.DEFAULT_GUID}return PageSelectorComponent.prototype.ngOnInit=function(){this.initialize()},Object.defineProperty(PageSelectorComponent.prototype,"initialTab",{get:function(){return this.selectedUrl&&this.selectedUrl!==d.INVALID_URL?"webaddress":null},enumerable:!1,configurable:!0}),PageSelectorComponent.prototype.webAddressChange=function(e){"selectedUrl"===e.key?this.selectedUrl=e.value:"shouldOpenInNewWindow"===e.key&&(this.shouldOpenInNewWindow=e.value)},PageSelectorComponent.prototype.tabChange=function(e){this.selectedTab=e},PageSelectorComponent.prototype.canCloseCallback=function(e){return!e.data||!e.data.data||(this.selectedTab!==u||this.selectedUrl!==d.INVALID_URL)},PageSelectorComponent.prototype.initialize=function(){var e=this;this.hierarchicalPagesService.init(this.dynamicItemService),this.treeConfig={multiSelection:!1,isHierarchical:!0,status:!0},this.entityData=this.getEntityData(p.ENTITY_SET.PAGES),this.defaultFieldName=this.entityData.metadata.defaultFieldName,this.getItems(),this.names={plural:this.entityData.metadata.displayName.toLowerCase(),singular:this.entityData.metadata.singularName.toLowerCase()},this.serviceAware=new a.ServiceContract((function(t){return e.loadMore(t)}),(function(t){return e.expandChildren(t)})),this.selectedUrl&&this.selectedUrl!==d.INVALID_URL&&(this.selectedTab=u),this.overrideSelectorConfig&&(this.selectorConfig={selectionText:"Select page to redirect to",formattedTypeName:c.stringConstants.EMPTY_STRING,mainTabConfig:{title:"Pages from this site"},customTabConfig:{name:"webaddress",title:u,componentData:{type:d.WebAddressComponent,properties:{selectedUrl:this.selectedUrl,shouldOpenInNewWindow:this.shouldOpenInNewWindow},afterComponentInit:function(t){t.fieldChange.subscribe((function(t){e.webAddressChange(t)}))}}}})},PageSelectorComponent.prototype.getItems=function(){var e=this;this.isLoading=!0,this.hierarchicalPagesService.getModalItems(this.entityData,this.itemId).subscribe((function(t){e.totalCount=t.totalCount,e.items=t.dataItems.map((function(t){return e.addFieldsToDataItem(t)})),e.isLoading=!1}))},PageSelectorComponent.prototype.getEntityData=function(e){var t=this.route.parent.snapshot.data.metaStore.entities[e];return{culture:this.culture,provider:void 0,metadata:t}},PageSelectorComponent.prototype.expandChildren=function(e){var t=this;return void 0===e.take&&(e.take=A.DEFAULT_CHILDREN_LOAD),e.excludeLevel=1,this.hierarchicalPagesService.expandChildren(e,this.entityData,this.itemId).pipe(Object(i.map)((function(e){return{dataItems:e.dataItems.map((function(e){return t.addFieldsToDataItem(e)})),totalCount:e.totalCount}}))).toPromise()},PageSelectorComponent.prototype.loadMore=function(e){var t=this;return e.excludeLevel=1,e.parentId=this.itemId,this.hierarchicalPagesService.loadMore(e,this.entityData,void 0).pipe(Object(i.map)((function(e){return{dataItems:e.dataItems.map((function(e){return t.addFieldsToDataItem(e)})),totalCount:e.totalCount}}))).toPromise()},PageSelectorComponent.prototype.addFieldsToDataItem=function(e){var t=Object(l.cloneObject)(e.data);return t.hasChildren=t.HasChildren,t.isTranslated=e.isTranslated,this.shouldSelectHomePage&&t.IsHomePage&&(this.selected=[t]),this.parentId===t.Id&&(t.isSelectionDisabled=!0),t},PageSelectorComponent.ɵfac=function PageSelectorComponent_Factory(e){return new(e||PageSelectorComponent)(f["ɵɵdirectiveInject"](o.ActivatedRoute),f["ɵɵdirectiveInject"](s.DynamicItemService),f["ɵɵdirectiveInject"](r.HierarchicalPagesService))},PageSelectorComponent.ɵcmp=f["ɵɵdefineComponent"]({type:PageSelectorComponent,selectors:[["sf-page-selector"]],inputs:{culture:"culture",selected:"selected",formattedTypeName:"formattedTypeName",selectedUrl:"selectedUrl",shouldOpenInNewWindow:"shouldOpenInNewWindow",overrideSelectorConfig:"overrideSelectorConfig"},decls:1,vars:12,consts:[[3,"value","totalItemsCount","expandPathPair","serviceAware","defaultField","typeNames","treeConfig","formattedTypeName","selected","loading","initialTabName","config","tabChange"]],template:function PageSelectorComponent_Template(e,t){1&e&&(f["ɵɵelementStart"](0,"sf-show-all",0),f["ɵɵlistener"]("tabChange",(function PageSelectorComponent_Template_sf_show_all_tabChange_0_listener(e){return t.tabChange(e)})),f["ɵɵelementEnd"]()),2&e&&f["ɵɵproperty"]("value",t.items)("totalItemsCount",t.totalCount)("expandPathPair",t.expandPathPair)("serviceAware",t.serviceAware)("defaultField",t.defaultFieldName)("typeNames",t.names)("treeConfig",t.treeConfig)("formattedTypeName",t.formattedTypeName)("selected",t.selected)("loading",t.isLoading)("initialTabName",t.initialTab)("config",t.selectorConfig)},encapsulation:2}),PageSelectorComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PAGE",(function(){return l})),n.d(t,"PAGES",(function(){return c})),n.d(t,"HierarchicalPagesService",(function(){return d})),n.d(t,"HIERARCHICAL_PAGES_SERVICE",(function(){return f}));var o=n(259),i=n(229),r=n(11),a=n(1189),s=n(314),A=n(246),l="Page",c="pages",d=function(e){function HierarchicalPagesService(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(HierarchicalPagesService,e),HierarchicalPagesService.prototype.showStatusIcons=function(){return!0},HierarchicalPagesService.prototype.isHierarchical=function(e){return!0},HierarchicalPagesService.prototype.getSetName=function(){return c},HierarchicalPagesService.prototype.isTypeSupported=function(e){return l===e.metadata.singularName},HierarchicalPagesService.prototype.getName=function(e,t){return Object(r.of)({entityData:e,totalCount:0,dataItems:[]})},HierarchicalPagesService.prototype.getItemTaxa=function(e,t,n){var o=Object(s.createQuery)().where().and().or();return e&&e.forEach((function(e){return o=o.eq(a.ID_KEY,e)})),o=o.done().done().done(),this.dynamicItemService.getItemListBatch({entityData:t,take:e?e.length:null,fallbackProperties:[t.metadata.defaultFieldName],query:o,siteId:this.siteId})},HierarchicalPagesService.prototype.getRecent=function(e,t,n){var o=t.id||A.stringConstants.DEFAULT_GUID;return this.dynamicItemService.getItemList({entityData:e,action:o+"/Default.GetAvailableParentPages(parentId='"+A.stringConstants.DEFAULT_GUID+"',search='',recent="+!0+",excludeOptions=2)",fallbackProperties:[e.metadata.defaultFieldName],take:a.RESULT_COUNT,siteId:this.siteId})},HierarchicalPagesService.prototype.expandChildren=function(e,t,n){var o=e.excludeLevel||2,i=e.skip||0,r=n||A.stringConstants.DEFAULT_GUID;return this.dynamicItemService.getItemList({entityData:t,action:r+"/Default.GetAvailableParentPages(parentId='"+e.parentId+"',search='',recent="+!1+",excludeOptions="+o+")?$skip="+i,fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId})},HierarchicalPagesService.prototype.loadMore=function(e,t,n){var o=e.searchText||A.stringConstants.EMPTY_STRING,i=e.skip||0,r=e.excludeLevel||2,a=e.parentId||A.stringConstants.DEFAULT_GUID;return this.dynamicItemService.getItemList({entityData:t,action:a+"/Default.GetAvailableParentPages(parentId='"+A.stringConstants.DEFAULT_GUID+"',search='"+o+"',recent="+!1+",excludeOptions="+r+")?$skip="+i,fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId})},HierarchicalPagesService.prototype.getModalItems=function(e,t){var n=t||A.stringConstants.DEFAULT_GUID;return this.dynamicItemService.getItemsByKeys({entityData:e,action:n+"/Default.GetAvailableParentPages(parentId='"+A.stringConstants.DEFAULT_GUID+"',search='',recent="+!1+",excludeOptions=2)",fallbackProperties:[e.metadata.defaultFieldName],keys:[],keyProperty:null,siteId:this.siteId})},HierarchicalPagesService.prototype.getSearchedItems=function(e,t){var n=e.excludeLevel||2,o=e.taxaId||A.stringConstants.DEFAULT_GUID;return this.dynamicItemService.getItemsByKeys({entityData:t.entityData,action:o+"/Default.GetAvailableParentPages(parentId='"+A.stringConstants.DEFAULT_GUID+"',search='"+e.searchText+"',recent="+!1+",excludeOptions="+n+")",fallbackProperties:[t.entityData.metadata.defaultFieldName],take:t.take,skip:t.skip,keys:[],keyProperty:null,siteId:this.siteId})},HierarchicalPagesService.ɵfac=function HierarchicalPagesService_Factory(e){return p(e||HierarchicalPagesService)},HierarchicalPagesService.ɵprov=i["ɵɵdefineInjectable"]({token:HierarchicalPagesService,factory:HierarchicalPagesService.ɵfac}),HierarchicalPagesService}(a.HierarchicalService),p=i["ɵɵgetInheritedFactory"](d),f={multi:!0,provide:a.HIERARCHICAL_SERVICE_TOKEN,useClass:d}},function(e,t,n){"use strict";n.r(t),n.d(t,"HIERARCHICAL_SERVICE_TOKEN",(function(){return o})),n.d(t,"TITLE_KEY",(function(){return i})),n.d(t,"PARENT_KEY",(function(){return r})),n.d(t,"ID_KEY",(function(){return a})),n.d(t,"LAST_MODIFIED_KEY",(function(){return s})),n.d(t,"RESULT_COUNT",(function(){return A})),n.d(t,"HierarchicalService",(function(){return l}));var o=new(n(229).InjectionToken)("hierarchical_service"),i="Title",r="ParentId",a="Id",s="LastModified",A=5,l=function(){function HierarchicalService(){}return HierarchicalService.prototype.init=function(e){this.dynamicItemService=e},HierarchicalService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"INVALID_URL",(function(){return E})),n.d(t,"WebAddressComponent",(function(){return h})),n.d(t,"WebAddresModel",(function(){return b}));var o=n(229),i=n(1120),r=n(246),a=n(378),s=n(266),A=n(351),l=n(257),c=n(357),d=n(1156),p=(n(1121),["webAdressFields"]),f="selectedUrl",u="shouldOpenInNewWindow",m="URL",g="Open this link in a new window",E="invalidURL",h=function(){function WebAddressComponent(e){var t,n;this.fieldsProvider=e,this.fieldChange=new o.EventEmitter,this.selectedUrl=r.stringConstants.EMPTY_STRING,this.shouldOpenInNewWindow=!1,this.entity={properties:(t={},t[f]=(n={},n[l.INSTRUCTIONAL_TEXT]="Example: http://weather.com",n[c.SHORT_TEXT_PLACEHOLDER]="http://",n[l.VALIDATION_REGEX]=r.validationConstants.VALID_URL_PATTERN_MANDATORY_PROTOCOL,n),t[u]={},t)}}return WebAddressComponent.prototype.ngOnInit=function(){var e=this.initBaseFieldsSection();this.fieldsSections=[e]},WebAddressComponent.prototype.onFieldChange=function(e){e.key===f?this.selectedUrl=e.value:e.key===u&&(this.shouldOpenInNewWindow=e.value),this.webAdressFields.valid()||(e.value=E),this.fieldChange.emit(e)},WebAddressComponent.prototype.initBaseFieldsSection=function(){var e=this.getBaseFields(),t={isMain:!0,isExpanded:!1,insertHorizontalRule:!0,title:r.stringConstants.EMPTY_STRING,name:"webAddressFieldsSection"},n=new i.FieldSectionModel(t);return n.fields=e,n},WebAddressComponent.prototype.getBaseFields=function(){return this.selectedUrlModel=this.createField(A.FieldTypes.shortText,d.PAGES_ENTITY_SET_NAME,f,this.selectedUrl,this.entity,m),this.shouldOpenInNewWindowModel=this.createField(A.FieldTypes.choiceYesNo,d.PAGES_ENTITY_SET_NAME,u,this.shouldOpenInNewWindow,this.entity,g),this.shouldOpenInNewWindowModel.settings.showTitle=!1,[this.selectedUrlModel,this.shouldOpenInNewWindowModel]},WebAddressComponent.prototype.createField=function(e,t,n,o,i,r){return void 0===i&&(i={}),Object(s.createFieldModel)(this.fieldsProvider,t,e,n,o,i,r)},WebAddressComponent.ɵfac=function WebAddressComponent_Factory(e){return new(e||WebAddressComponent)(o["ɵɵdirectiveInject"](a.CompositeFieldsProvider))},WebAddressComponent.ɵcmp=o["ɵɵdefineComponent"]({type:WebAddressComponent,selectors:[["sf-web-address"]],viewQuery:function WebAddressComponent_Query(e,t){if(1&e&&o["ɵɵviewQuery"](p,3),2&e){var n;o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.webAdressFields=n.first)}},inputs:{selectedUrl:"selectedUrl",shouldOpenInNewWindow:"shouldOpenInNewWindow"},outputs:{fieldChange:"fieldChange"},decls:3,vars:1,consts:[[1,"sf-form","-medium","-sf-centered-box","-sf-pb-zero","-sf-pt-zero","-sf-mb--m"],[1,"-sf-txt-align-left",3,"fieldSections","fieldChange"],["webAdressFields",""]],template:function WebAddressComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",0),o["ɵɵelementStart"](1,"sf-editable-fields",1,2),o["ɵɵlistener"]("fieldChange",(function WebAddressComponent_Template_sf_editable_fields_fieldChange_1_listener(e){return t.onFieldChange(e)})),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵadvance"](1),o["ɵɵproperty"]("fieldSections",t.fieldsSections))},encapsulation:2}),WebAddressComponent}(),b=function b(){}},function(e,t,n){"use strict";n.r(t),n.d(t,"BackendTweaksService",(function(){return s}));var o=n(269),i=n(270),r=n(262),a=n(229),s=function(){function BackendTweaksService(e,t){this.metadataStore=e,this.httpRequestWrapper=t}return BackendTweaksService.prototype.getGridTweaks=function(e){return this.getServiceData({typeName:e,viewName:r.VIEW_NAME.LIST})},BackendTweaksService.prototype.getFormTweaks=function(e,t,n,o,i,r){var a=this;return this.getServiceData({typeName:e,viewName:t,sf_item_id:n,sf_provider:o,sf_culture:i,sf_parent_id:r}).then((function(e){return a.loadFormData(e)}))},BackendTweaksService.prototype.getServiceData=function(e){var t=this.metadataStore.getValue().entities[e.typeName];e.typeName=t.typeFullName;var n="sfui?";return n+=Object.keys(e).filter((function(t){return t&&e[t]})).map((function(t){return t+"="+e[t]})).join("&"),this.httpRequestWrapper.get(n)},BackendTweaksService.prototype.loadFormData=function(e){return(e.value||[]).map((function(e){return Object.freeze({id:e.Id,isExpandedByDefault:e.IsExpandedByDefault,isSection:e.IsSection,name:e.Name,title:e.Title,renderChoicesAs:e.RenderChoicesAs,isHtml:e.IsHtml,maximumAllowedSize:e.MaximumAllowedSize,allowedFileExtensions:e.AllowedFileExtensions,acceptableMediaTypes:e.AcceptableMediaTypes,metadata:e.Metadata,tooltipModels:new Map(Object.entries(e.TooltipModels||{}))})}))},BackendTweaksService.ɵfac=function BackendTweaksService_Factory(e){return new(e||BackendTweaksService)(a["ɵɵinject"](o.MetadataStore),a["ɵɵinject"](i.HttpODataRequestWrapper))},BackendTweaksService.ɵprov=a["ɵɵdefineInjectable"]({token:BackendTweaksService,factory:BackendTweaksService.ɵfac}),BackendTweaksService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicItemResolver",(function(){return C}));var o=n(259),i=n(11),r=n(131),a=n(260),s=n(317),A=n(1152),l=n(244),c=n(262),d=n(1157),p=n(1147),f=n(271),u=n(292),m=n(316),g=n(1193),E=n(1196),h=n(1160),b=n(229),C=function(e){function DynamicItemResolver(t,n,o,i,r,a,s,A){var l=e.call(this,n,o,r,A)||this;return l.service=t,l.windowProvider=i,l.filterStore=a,l.itemHooksProvider=s,l}return Object(o.__extends)(DynamicItemResolver,e),DynamicItemResolver.prototype.resolve=function(t,n){var o=this,a=e.prototype.resolve.call(this,t,n);if(!a)return Object(i.never)();var l=t.parent.queryParams[c.FILTER_PARAMS.FILTER],d=t.parent.params[c.ROUTE_PARAMS.PARENT_ID_SEGMENT];return this.filterStore.filterValid(a,l,d).pipe(Object(r.mergeMap)((function(e){var l;if(e){var d=null,p=t.params[c.ROUTE_PARAMS.ITEM_ID],f=t.parent.queryParams[c.QUERY_PARAMS.VERSION],m=DynamicItemResolver.getFallbackProperties(a,t);if(p){var g=null;f&&(g="version(id='"+f+"')");var E=t.parent.queryParams[c.QUERY_PARAMS.SEGMENT],h=null;E&&((l={})[c.QUERY_PARAMS.SEGMENT]=E,h=l),d=o.service.getItem({itemKey:p,entityData:a,action:g,fallbackProperties:m,additionalQueryParams:h})}else d=Object(i.of)(s.DataItem.emptyItem(a));return d.pipe(Object(r.map)((function(e){var t={item:e,entityData:a,fallbackProperties:m};return o.itemHooksProvider.onItemLoaded(e),t})),Object(r.catchError)((function(e){return e instanceof u.NotFoundError&&(o.windowProvider.alert("The item you are trying to access does not exist"),o.router.navigate([A.ROUTE_PATHS.CONTENT,a.metadata.setName])),Object(i.of)(null)})))}return o.clearFilter(t,n),Object(i.of)(null)})))},DynamicItemResolver.getFallbackProperties=function(e,t){var n=e.metadata.relations,o=null!=t.parent&&null!=t.parent.data?t.parent.data[c.RESOLVE_NAMES.metadata]:null,i=[];return o&&(i=n.map((function(e){var t=o.entities[e.setName].defaultFieldName;return e.propName+"."+t}))),i},DynamicItemResolver.ɵfac=function DynamicItemResolver_Factory(e){return new(e||DynamicItemResolver)(b["ɵɵinject"](m.DynamicItemService),b["ɵɵinject"](p.ProviderStore),b["ɵɵinject"](a.Router),b["ɵɵinject"](l.WINDOW_TOKEN),b["ɵɵinject"](f.Settings),b["ɵɵinject"](g.FilterStore),b["ɵɵinject"](E.CompositeItemHooksProvider),b["ɵɵinject"](h.CompositeEntityDataResolver))},DynamicItemResolver.ɵprov=b["ɵɵdefineInjectable"]({token:DynamicItemResolver,factory:DynamicItemResolver.ɵfac}),DynamicItemResolver}(d.BaseResolver)},function(e,t,n){"use strict";n.r(t),n.d(t,"FilterStore",(function(){return f}));var o=n(11),i=n(131),r=n(1194),a=n(269),s=n(326),A=n(268),l=n(229),c="all-filters",d="custom-filter",p="predifined-filter",f=function(){function FilterStore(e,t,n){this.service=e,this.filterService=t,this.metadataStore=n,this.cache=new Map,this.dynamicCache=new Map}return FilterStore.prototype.getAllFilters=function(e){var t=this.modifyEntityData(e);this.lastEntityData=t;var n=this.getCacheKey(t,c);if(!this.cache.has(n)){var i=new o.ReplaySubject(1);this.cache.set(n,i.asObservable()),this.service.getFilters(t).subscribe((function(e){return i.next(e)}))}return this.cache.get(n)},FilterStore.prototype.getPredefinedFilters=function(e){var t=this.modifyEntityData(e);this.lastEntityData=t;var n=this.getCacheKey(t,p);if(!this.cache.has(n)){var i=new o.ReplaySubject(1);this.cache.set(n,i.asObservable()),this.service.getFiltersByParameters(t,!1).subscribe((function(e){return i.next(e)}))}return this.cache.get(n)},FilterStore.prototype.getCustomFilters=function(e){var t=this.modifyEntityData(e);this.lastEntityData=t;var n=this.getCacheKey(t,d);if(!this.cache.has(n)){var i=new o.ReplaySubject(1);this.cache.set(n,i.asObservable()),this.service.getFiltersByParameters(t,!0).subscribe((function(e){return i.next(e)}))}return this.cache.get(n)},FilterStore.prototype.getDynamicFilters=function(e,t){var n=this.service.getDynamicFilters(e,t).pipe(Object(i.map)((function(e){return e}))),o=this.getCacheKey(e,t);return this.dynamicCache.set(o,n),n},FilterStore.prototype.getDynamicFiltersCache=function(e,t){var n=this.getCacheKey(e,t);return this.dynamicCache.has(n)?this.dynamicCache.get(n):this.getDynamicFilters(e,t)},FilterStore.prototype.getFilterValues=function(e,t,n){var o=this.modifyEntityData(e);return this.service.getFilterValues(o,t,n)},FilterStore.prototype.getFiltersCount=function(e,t,n){var o=this.modifyEntityData(e);return this.service.getFiltersCount(o,t,n)},FilterStore.prototype.filterValid=function(e,t,n){var r=this;void 0===n&&(n=null);var a=this.modifyEntityData(e),s=new o.ReplaySubject(1);if(t&&this.stateChanged(a)){var A=this.getPredefinedFilters(a).pipe(Object(i.filter)((function(e){return!e.isLoading}))),l=this.getDynamicFiltersCache(e,n);Object(o.zip)(A,l).pipe(Object(i.mergeMap)((function(e){var n=e[0].filters.concat(e[1]);return r.containsFilter(n,t)?Object(o.of)(!0):r.allCustomFilterValuesValid(a,t)})),Object(i.first)()).subscribe((function(e){s.next(e)}),(function(e){s.next(!1)}))}else s.next(!0);return s.pipe(Object(i.first)())},FilterStore.prototype.allCustomFilterValuesValid=function(e,t){var n=this,r=this.filterService.deserializeQueryParams(t);return Object(o.from)(r).pipe(Object(i.filter)((function(e){return"last-modified"!==e.key})),Object(i.mergeMap)((function(t){return n.getFilterValues(e,t.key,{keys:t.value}).pipe(Object(i.map)((function(e){return e.dataItems.length===t.value.length})))})),Object(i.every)((function(e){return e})))},FilterStore.prototype.containsFilter=function(e,t){return!(!e||!e.length)&&e.some((function(e){return e.name===t}))},FilterStore.prototype.stateChanged=function(e){return!this.lastEntityData||e&&(this.lastEntityData.metadata.setName!==e.metadata.setName||this.lastEntityData.culture!==e.culture||this.lastEntityData.provider!==e.provider)},FilterStore.prototype.getCacheKey=function(e,t){return e.provider+"_"+e.culture+"_"+e.metadata.setName+"_"+t},FilterStore.prototype.modifyEntityData=function(e){return s.MediaHelpers.isAlbumEntity(e)||s.MediaHelpers.isVideosLibraryEntity(e)?{metadata:this.metadataStore.getEntity(s.MediaHelpers.getChildSetName(e)),culture:e.culture,provider:e.provider}:e},FilterStore.ɵfac=function FilterStore_Factory(e){return new(e||FilterStore)(l["ɵɵinject"](r.FilterService),l["ɵɵinject"](A.ContentFilterService),l["ɵɵinject"](a.MetadataStore))},FilterStore.ɵprov=l["ɵɵdefineInjectable"]({token:FilterStore,factory:FilterStore.ɵfac}),FilterStore}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FilterService",(function(){return E}));var o=n(131),i=n(11),r=n(277),a=n(314),s=n(262),A=n(274),l=n(326),c=n(266),d=n(272),p=n(1195),f=n(245),u=n(246),m=n(325),g=n(229),E=function(){function FilterService(e,t,n,o){this.sitefinitySdk=e,this.storageService=t,this.userStore=n,this.queryParamsExtenders=o}return FilterService.prototype.getFilters=function(e){var t=new i.ReplaySubject(1);return t.next({isLoading:!0,filters:null}),this.sitefinitySdk.instance.data({urlName:e.metadata.setName,providerName:e.provider,cultureName:e.culture,additionalQueryParams:Object(m.getAdditionalQueryParams)(null,this.queryParamsExtenders)}).get({action:"filters",successCb:function(e){var n="Filters";e.hasOwnProperty(n)||(n="value");var o=e[n].map((function(e){var t=null;return e.Parameters&&(t={type:e.Parameters.Type,contentSingularName:e.Parameters.ContentSingularName,contentPluralName:e.Parameters.ContentPluralName}),{title:e.Title,name:e.Name,category:e.Category,parameters:t,count:e.Count,isDynamicFilter:e.IsDynamicFilter}}));t.next({isLoading:!1,filters:o})},failureCb:function(e){return t.error(e)}}),t.asObservable()},FilterService.prototype.getDynamicFilters=function(e,t){var n=new i.ReplaySubject(1);return t=t||u.stringConstants.EMPTY_STRING,this.sitefinitySdk.instance.data({urlName:e.metadata.setName,providerName:e.provider,cultureName:e.culture,additionalQueryParams:Object(m.getAdditionalQueryParams)(null,this.queryParamsExtenders)}).get({action:s.ACTIONS.DYNAMIC_FILTERS(t),successCb:function(e){var t=e.value.map((function(e){return{title:e.Title,name:e.Name,count:e.Count,category:e.Category}}));n.next(t)},failureCb:function(e){return n.error(e)}}),n.pipe(Object(o.first)())},FilterService.prototype.getFiltersByParameters=function(e,t){return this.getFilters(e).pipe(Object(o.map)((function(e){return e.filters&&e.filters.length&&(e.filters=e.filters.filter((function(e){return!!e.parameters===t}))),e})))},FilterService.prototype.getFilterValues=function(e,t,n){var r=new i.ReplaySubject(1),a=this.buildQuery(n),A=t;return n.keys&&n.keys.length&&(A=""+t+s.CHARACTERS.COMMA+n.keys.join(s.CHARACTERS.COMMA)),this.sitefinitySdk.instance.data({urlName:e.metadata.setName,providerName:e.provider,cultureName:e.culture,additionalQueryParams:Object(m.getAdditionalQueryParams)(null,this.queryParamsExtenders)}).get({query:a,action:s.ACTIONS.FILTER_VALUES(A),successCb:function(e){var t=e.value.map((function(e){return{key:e.Key,userAvatar:e.ImageUrl,title:e.Title,description:e.Description}}));r.next({dataItems:t,totalCount:e["@odata.count"]})},failureCb:function(e){return r.error(e)}}),r.pipe(Object(o.first)())},FilterService.prototype.getFiltersCount=function(e,t,n){var o=new i.ReplaySubject(1),r=Object(a.createQuery)(),p=s.ACTIONS.FILTERS_COUNT(t);if(n)if(l.MediaHelpers.isMediaEntity(e)){var u=this.storageService.getItem(d.LIBRARIES_GRID_VIEW_KEY),g=this.userStore.userId;Object(f.getGridViewMode)(u,g)===f.GridViewModes.Timeline?p=p+"&recursiveLibraryId="+n.value:r=r.where().or().and().eq(c.Properties.PARENT_ID,n.value).eq(c.Properties.FOLDER_ID,null).done().eq(c.Properties.FOLDER_ID,n.value).done().done()}else r=r.where().eq(n.key,n.value).done();return this.sitefinitySdk.instance.data({urlName:e.metadata.setName,providerName:e.provider,cultureName:e.culture,additionalQueryParams:Object(m.getAdditionalQueryParams)(null,this.queryParamsExtenders)}).get({query:r,action:p,successCb:function(e){var t={count:e.value};o.next(t)},failureCb:function(e){return o.error(e)}}),o.pipe(Object(A.toLoadingState)())},FilterService.prototype.buildQuery=function(e){var t=Object(a.createQuery)();if(e){var n=e.skip;n&&n>0&&(t=t.skip(n));var o=e.take;o&&o>=0&&(t=t.take(o));var i=e.search;i&&(t=t.search(encodeURIComponent(i))),t=t.count()}return t},FilterService.ɵfac=function FilterService_Factory(e){return new(e||FilterService)(g["ɵɵinject"](r.SitefinitySdk),g["ɵɵinject"](d.LOCAL_STORAGE),g["ɵɵinject"](p.UserDataStore),g["ɵɵinject"](m.QUERY_PARAMS_EXTENDER_TOKEN,8))},FilterService.ɵprov=g["ɵɵdefineInjectable"]({token:FilterService,factory:FilterService.ɵfac}),FilterService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"UserDataStore",(function(){return s}));var o=n(11),i=n(270),r=n(131),a=n(229),s=function(){function UserDataStore(e){this.http=e,this.userData=new o.BehaviorSubject(null)}return Object.defineProperty(UserDataStore.prototype,"userId",{get:function(){var e=this.userData.getValue();return e?e.Id:null},enumerable:!1,configurable:!0}),UserDataStore.prototype.getValue=function(){return this.userData.getValue()},UserDataStore.prototype.initialize=function(){var e=this;return null!==this.userData.getValue()?this.userData.getValue():(this.http.get("users/current").then((function(t){e.userData.next(t.value),e.userData.complete()}),(function(e){return Object(o.throwError)(e)})),new o.Observable((function(t){return e.userData.subscribe(t)})))},UserDataStore.prototype.getPreference=function(e){var t=this.getValue();if(!e||!t.Preferences)return null;var n=encodeURIComponent(e),o=t.Preferences[n];return o?decodeURIComponent(o):null},UserDataStore.prototype.setPreference=function(e,t){var n=this,o={key:encodeURIComponent(e),value:encodeURIComponent(t)};this.http.post$("userpreference",o).pipe(Object(r.filter)((function(e){return!e.isLoading})),Object(r.map)((function(e){return e.content}))).subscribe((function(e){n.getValue().Preferences=e}))},UserDataStore.prototype.deletePreference=function(e){this.setPreference(e,null)},UserDataStore.ɵfac=function UserDataStore_Factory(e){return new(e||UserDataStore)(a["ɵɵinject"](i.HttpODataRequestWrapper))},UserDataStore.ɵprov=a["ɵɵdefineInjectable"]({token:UserDataStore,factory:UserDataStore.ɵfac}),UserDataStore}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ITEM_HOOKS_PROVIDER_TOKEN",(function(){return a})),n.d(t,"CompositeItemHooksProvider",(function(){return A}));var o=n(229),i=n(11),r=n(131),a=new o.InjectionToken("item_hooks_token"),s={},A=function(){function CompositeItemHooksProvider(e){this.itemHooksProviders=e}return CompositeItemHooksProvider.prototype.onItemLoaded=function(e){this.executeHooks(e,"onItemLoaded").pipe(Object(r.first)()).subscribe()},CompositeItemHooksProvider.prototype.executeObservableHook=function(e,t,n){var o=this;return e.pipe(Object(r.switchMap)((function(e){var i=n?n(e):e;return o.executeHooks(i,t).pipe(Object(r.map)((function(){return e})))})))},CompositeItemHooksProvider.prototype.executeHooks=function(e,t){if(null===this.itemHooksProviders)return Object(i.of)(s);var n=this.itemHooksProviders.map((function(n){var o=n[t]&&n[t](e),a=new i.ReplaySubject;return o?o.pipe(Object(r.first)()).subscribe((function(){return a.next(s)})):a.next(s),a}));return Object(i.combineLatest)(n)},CompositeItemHooksProvider.ɵfac=function CompositeItemHooksProvider_Factory(e){return new(e||CompositeItemHooksProvider)(o["ɵɵinject"](a,8))},CompositeItemHooksProvider.ɵprov=o["ɵɵdefineInjectable"]({token:CompositeItemHooksProvider,factory:CompositeItemHooksProvider.ɵfac}),CompositeItemHooksProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"getSetNameFromRoute",(function(){return getSetNameFromRoute}));var o=n(1158);function getSetNameFromRoute(e){var t=null;return e.snapshot&&e.snapshot.params&&(t=o.DynamicItemStrategyBase.getSet(e.snapshot)),!t&&e.parent&&e.parent.snapshot&&e.parent.snapshot.params&&(t=o.DynamicItemStrategyBase.getSet(e.parent.snapshot)),t}},function(e,t,n){"use strict";n.r(t),n.d(t,"CompositeEditExtender",(function(){return s}));var o=n(1199),i=n(11),r=n(246),a=n(229),s=function(){function CompositeEditExtender(e){this.extenders=e}return CompositeEditExtender.prototype.overrideNavigationMenuOptions=function(e,t){var n=this.getExtender(e);n&&n.overrideNavigationMenuOptions(e,t)},CompositeEditExtender.prototype.getSidebarButtons=function(e,t){var n=this.getExtender(e);return n?n.getSidebarButtons(e,t):null},CompositeEditExtender.prototype.modify=function(e){return this.getExtender(e.dataItem)?this.getExtender(e.dataItem).modify(e):Object(i.of)(void 0)},CompositeEditExtender.prototype.handleAction=function(e,t){var n=this.getExtender(e.item);return n?n.handleAction(e,t):{handled:Object(i.of)(!1)}},CompositeEditExtender.prototype.getFormClasses=function(e){var t=this.getExtender(e);return t?t.getFormClasses():r.stringConstants.EMPTY_STRING},CompositeEditExtender.prototype.showHeader=function(e){var t=this.getExtender(e);return!t||t.showHeader(e)},CompositeEditExtender.prototype.includedProperties=function(e){var t=this.getExtender(e);return t?t.includedProperties(e):[]},CompositeEditExtender.prototype.hasCreateActionFromEdit=function(e){var t=this.getExtender(e);return t?t.hasCreateActionFromEdit():null},CompositeEditExtender.prototype.forceUpdateFieldModel=function(e,t,n,o){var i=this.getExtender(e);return i?i.forceUpdateFieldModel(t,n,o):null},CompositeEditExtender.prototype.getExtender=function(e){return this.extenders.find((function(t){return e&&t.isSupportedType(e)}))},CompositeEditExtender.ɵfac=function CompositeEditExtender_Factory(e){return new(e||CompositeEditExtender)(a["ɵɵinject"](o.EDIT_EXTENDER_TOKEN,8))},CompositeEditExtender.ɵprov=a["ɵɵdefineInjectable"]({token:CompositeEditExtender,factory:CompositeEditExtender.ɵfac}),CompositeEditExtender}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EDIT_EXTENDER_TOKEN",(function(){return A})),n.d(t,"COMPARE_TRANSLATIONS_NAME",(function(){return l})),n.d(t,"BROWSE_BUTTON_NAME",(function(){return c})),n.d(t,"EditExtender",(function(){return d}));var o=n(229),i=n(11),r=n(246),a=n(262),s=n(1200),A=new o.InjectionToken("edit_extender_token"),l="cmp-translations",c="siblings",d=function(){function EditExtender(){}return EditExtender.prototype.modify=function(e){return this.handleFewerFields(e),Object(i.of)(null)},EditExtender.prototype.handleAction=function(e,t){return{handled:Object(i.of)(!1)}},EditExtender.prototype.isSupportedType=function(e){return!1},EditExtender.prototype.overrideNavigationMenuOptions=function(e,t){},EditExtender.prototype.getFormClasses=function(){return r.stringConstants.EMPTY_STRING},EditExtender.prototype.showHeader=function(e){return!1},EditExtender.prototype.getSidebarButtons=function(e,t){return[{title:"Browse other "+e.metadata.displayName.toLowerCase(),icon:"th-list",name:c,data:t.browse},{title:s.COMPARE_TRANSLATIONS_TITLE,data:t.compareTranslations,name:l,icon:null}]},EditExtender.prototype.handleFewerFields=function(e){var t=e.sections;e.viewName&&1===t.length&&t[0].fields.length<=3&&(t[0].fields[0].settings.look+=" "+a.CSS_CLASSES.MARGIN_BOTTOM_SHORT_FORM)},EditExtender.prototype.includedProperties=function(e){return[]},EditExtender.prototype.hasCreateActionFromEdit=function(){return!1},EditExtender.prototype.forceUpdateFieldModel=function(e,t,n){return!1},EditExtender}()},function(e,t,n){"use strict";n.r(t),n.d(t,"COMPARE_TRANSLATIONS_TITLE",(function(){return o}));var o="Compare Translations"},function(e,t,n){"use strict";n.r(t),n.d(t,"WorkflowOperationSettingsProvider",(function(){return A}));var o=n(1118),i=n(320),r=n(1119),a=n(319),s=n(1202),A=function(){function WorkflowOperationSettingsProvider(){}return WorkflowOperationSettingsProvider.getConfirmationSettings=function(e,t,n,o){return{title:e.title,detailedTitle:e.detailedTitle,icon:i.ActionIcon[e.name]||"info",parameters:e.parameters,contextParameters:e.contextParameters,description:null,formValidators:s.OPERATION_VALIDATOR_MAP[e.name],action:e.name,buttons:WorkflowOperationSettingsProvider.getButtons(e),doneCallback:function(i){return o(i,e,t,n)}}},WorkflowOperationSettingsProvider.getFields=function(e){if(e.data&&e.data.data&&e.component&&e.component instanceof r.ModalConfirmationComponent){var t=e.component;if(!t.editableFields)return null;var n=null!==t.editableFields.getFields();return t.action!==a.OPERATION_NAMES.schedule||n?t.editableFields.getFields(!1):null}return null},WorkflowOperationSettingsProvider.getButtons=function(e){return new Array(new o.ConfirmButton(i.ActionEventsConfirmationDialogButtons[e.name]||"Save changes",(function(e){if(e.component instanceof r.ModalConfirmationComponent&&e.component.parameters&&e.component.editableFields){var t=e.component;return new o.ClickResult(!0,t.editableFields.valid())}return new o.ClickResult(!0,!0)})),new o.CancelButton)},WorkflowOperationSettingsProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicItemBase",(function(){return f})),n.d(t,"OPERATION_VALIDATOR_MAP",(function(){return u}));var o,i=n(259),r=n(11),a=n(319),s=n(262),A=n(280),l=n(346),c=n(264),d=n(316),p=n(279),f=function(e){function DynamicItemBase(t,n,o,i,a,s,l,c,d){var f=e.call(this)||this;return f.dynamicItemStore=t,f.modalWindowService=n,f.route=o,f.window=i,f.router=a,f.operationsProvider=s,f.location=l,f.editNavigationService=c,f.parentService=d,f.autoTriggerLoading=!0,f.operations=new r.BehaviorSubject([]),f.contentRoute=f.route.parent.parent,f.isNavigationEmbedded=p.environment.env===A.environmentTypes.integration,f}return Object(i.__extends)(DynamicItemBase,e),Object.defineProperty(DynamicItemBase.prototype,"parentId",{get:function(){return this.route.parent.snapshot.params[s.ROUTE_PARAMS.PARENT_ID_SEGMENT]||null},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemBase.prototype,"notificationFilter",{get:function(){return this.entityData.metadata.typeFullName},enumerable:!1,configurable:!0}),DynamicItemBase.prototype.handleNonExistentItem=function(e){this.window.confirm("The item you are trying to edit does not exist anymore")},DynamicItemBase.prototype.getItemPosition=function(){return d.ItemPosition.Default},DynamicItemBase.prototype.navigate=function(e,t){return void 0===t&&(t={}),this.router.navigate(e,t)},DynamicItemBase.prototype.navigateToEdit=function(e){return e.parentId=e.parentId||this.parentId,e.route=this.route,e.singularName=this.singularName,this.editNavigationService.navigateToEdit(e)},DynamicItemBase}(c.RxBaseComponent),u=Object.freeze(((o={})[a.OPERATION_NAMES.schedule]=l.ScheduleValidator.validate,o))},function(e,t,n){"use strict";n.r(t),n.d(t,"KeyboardShortcutsService",(function(){return d}));var o=n(244),i=n(319),r=n(11),a=n(321),s=n(1204),A=n(1205),l=n(229),c=[A.KeyboardActionType.Refresh,A.KeyboardActionType.CommonConfirm],d=function(){function KeyboardShortcutsService(e,t){this.windowProvider=e,this.actionButtonsResolver=t,this.subscribers=new Array,this.shortcuts=A.DEFAULT_SHORTCUTS,this.isSfModalOpen=!1,this.name=""}return KeyboardShortcutsService.prototype.init=function(){this.removeEventListeners(),this.isMacOS=-1!==navigator.appVersion.indexOf(A.MAC_OS_NAME),this.addEventListeners(),this.populateShortcutsKeyValues()},KeyboardShortcutsService.prototype.ngOnDestroy=function(){this.removeEventListeners()},KeyboardShortcutsService.prototype.addListener=function(e,t,n){var o=this,i=new r.Subject;return e.subscribe((function(e){var r={componentName:t,fallback:n,keyboardAction:i};e&&(r.actionButtons=o.actionButtonsResolver.getActionButtons(e));var a=o.subscribers.findIndex((function(e){return e.componentName===t}));a>-1&&o.subscribers.splice(a,1),o.subscribers.unshift(r)})),i},KeyboardShortcutsService.prototype.removeListener=function(e){var t=this.subscribers.findIndex((function(t){return t.componentName===e}));t>-1&&this.subscribers.splice(t,1)},KeyboardShortcutsService.prototype.addEventListeners=function(){var e=this;this.keyDownEventListener=function(t){return e.onKeyDown(t)},this.sfModalOpenedEventListener=function(t){return e.toggleSfModalState(t,!0)},this.sfModalClosedEventListener=function(t){return e.toggleSfModalState(t,!1)},this.irisModalClosedEventListener=function(t){return e.toggleSfModalState(t,!1)},this.windowProvider.addEventListener("keydown",this.keyDownEventListener),this.windowProvider.document.addEventListener(A.SITEFINITY_MODAL_DIALOG_OPENED_EVENT,this.sfModalOpenedEventListener),this.windowProvider.document.addEventListener(A.SITEFINITY_MODAL_DIALOG_CLOSED_EVENT,this.sfModalClosedEventListener),this.windowProvider.document.addEventListener(s.PropertyEditorCustomEvents.MODAL_DIALOG_CLOSED,this.irisModalClosedEventListener)},KeyboardShortcutsService.prototype.removeEventListeners=function(){this.windowProvider.removeEventListener("keydown",this.keyDownEventListener),this.windowProvider.document.removeEventListener(A.SITEFINITY_MODAL_DIALOG_OPENED_EVENT,this.sfModalOpenedEventListener),this.windowProvider.document.removeEventListener(A.SITEFINITY_MODAL_DIALOG_CLOSED_EVENT,this.sfModalClosedEventListener),this.windowProvider.document.removeEventListener(s.PropertyEditorCustomEvents.MODAL_DIALOG_CLOSED,this.irisModalClosedEventListener)},KeyboardShortcutsService.prototype.toggleSfModalState=function(e,t){e.detail&&e.detail.openNewEditor||(this.isSfModalOpen=t)},KeyboardShortcutsService.prototype.onKeyDown=function(e){var t=this,n=this.shortcuts.find((function(n){var o=t.isMacOS?n.ShortcutSettings.ctrlKey===e.metaKey:n.ShortcutSettings.ctrlKey===e.ctrlKey;if(n.ShortcutSettings.code===e.code&&n.ShortcutSettings.altKey===e.altKey&&n.ShortcutSettings.shiftKey===e.shiftKey&&o)return n}));if(n)for(var _loop_1=function(t){var i=o.handleKeyboardAction(n,t,e);if(!(c.some((function(e){return e===i.type}))||t.fallback)||i.action)return"break"},o=this,i=0,r=this.subscribers;i0&&s>=this.totalFolders?(s=this.totalFolders)return;return this.getLibraryFolders(e,u,n,t,void 0,void 0,void 0,s,void 0,void 0,A).pipe(Object(r.first)()).subscribe((function(e){var t=f.concat(e);c.libraries.next(t)}))}return this.libraryId?(p=d.length)>=this.totalFolders?this.loadFiles(e,t,n,s,l):this.getLibraryFolders(e,p,n,t,this.libraryId,o,i,s,void 0,void 0,A).pipe(Object(r.first)()).subscribe((function(o){var i=d.concat(o);d.length!==i.length&&c.folders.next(i),c.isLoadMorePending=!1;var r=o.length===n?0:n-o.length;c.totalFolders<=i.length&&r>0?c.loadFiles(e,t,r,s,l):c.files.next([])})):void 0}},LibraryStore.prototype.loadMoreRecent=function(e,t,n,o,i){var r=this;void 0===o&&(o=null),void 0===i&&(i=!1);var a=[];if(this.recentFiles.subscribe((function(e){a=e})).unsubscribe(),a.length%50==0||i){var s=this.getLibraryFiles(e,a.length,n,void 0,null,o,!1,!1,t);return s.subscribe((function(e){r.recentFiles.next(a.concat(e))})),s}},LibraryStore.prototype.search=function(e,t,n,o,i,r){void 0===o&&(o=!1),void 0===i&&(i=!0),this.folders.next([]),this.files.next([]),this.libraries.next([]),this.totalFolders=1/0,this.totalFiles=1/0,this.totalRecentFiles=1/0,this.totalLibraries=1/0,this.loadMore(e,t,n,!0,i,r,void 0,o)},LibraryStore.prototype.searchRecent=function(e,t,n,o,i){var a=this;this.searchForRecentFiles(e,t,void 0,n,o,i).pipe(Object(r.first)()).subscribe((function(e){return a.recentFiles.next(e)}))},LibraryStore.prototype.uploadFiles=function(e,t,n,o,i,r,a,l){void 0===r&&(r=!1),void 0===a&&(a=A.OPERATION_NAMES.publish),void 0===l&&(l=!0);var c=s.DataItem.emptyItem(e);this.mediaService.upload(c,t,n,o,i,r,a,l)},LibraryStore.prototype.getThumbnails=function(e,t){return this.mediaService.getThumbnails(e.metadata.setName,t)},LibraryStore.prototype.retryFile=function(e,t){var n=s.DataItem.emptyItem(e);this.mediaService.retry(n,t)},LibraryStore.prototype.retryFileById=function(e,t){var n=s.DataItem.emptyItem(e);this.mediaService.retryById(n,t)},LibraryStore.prototype.removeFile=function(e,t){this.mediaService.remove(e.metadata.setName,t)},LibraryStore.prototype.getFoldersByParentId=function(e,t,n,o,i,a,s,A,l){var c=this;return void 0===n&&(n=5),void 0===o&&(o=!1),void 0===i&&(i=!1),void 0===a&&(a=null),void 0===s&&(s=null),void 0===A&&(A=!1),void 0===l&&(l=!1),this.getLibraryFolders(e,0,n,a,t,o,i,s,void 0,A,l).pipe(Object(r.map)((function(e){return c.libraries.next(e),e})))},LibraryStore.prototype.getFolderById=function(e,t){var n=this;return this.mediaService.getFolderById(e,t,e.metadata.selectedProvider||e.provider,null).pipe(Object(r.map)((function(e){return n.totalFolders=e.data.error?0:1,e})))},LibraryStore.prototype.getLibraryFolders=function(e,t,n,a,A,d,p,f,u,m,g,E,h){var b=this;if(void 0===A&&(A=this.libraryId),f&&f[l.FILTER_PARAMS.FILTER]&&u||E)return this.totalFolders=0,Object(i.of)([]);var C={metadata:e.metadata,culture:e.culture,provider:e.metadata.selectedProvider||e.provider};return this.mediaService.getFolders(C,A,d,p,t,n,null,a,f,m,void 0,g,h).pipe(Object(r.map)((function(e){return b.totalFolders=e.totalCount,b.isLoadMorePending=!1,e.dataItems.map((function(e){var t={Items:e.data.PreviewItems,TotalItems:e.data[c.MEDIA_PROPERTIES.CHILDREN_COUNT],TotalFolders:e.data[c.MEDIA_PROPERTIES.FOLDERS_COUNT]};return s.DataItem.fromEntityData(Object(o.__assign)(Object(o.__assign)({},e.data),t),e)}))})))},LibraryStore.prototype.getMediaFileLinks=function(e,t){return void 0===t&&(t=!1),this.mediaService.getMediaFileLinks(e,t)},LibraryStore.prototype.loadLibrariesAndSiblingPhotos=function(e,t,n,o,i,a){var s=this,A=this.libraries.getValue(),l=A.length;return this.getLibraryFolders(e,l,t,n,void 0,void 0,void 0,o,void 0,void 0,i,void 0,a).pipe(Object(r.first)()).subscribe((function(t){var i=A.concat(t);s.libraries.next(i),s.totalFolders<=i.length?s.loadFiles(e,n,50,o):s.files.next([])}))},LibraryStore.prototype.loadFiles=function(e,t,n,o,i){var a=this;void 0===o&&(o=null),void 0===i&&(i=[]);var s=[];this.files.subscribe((function(e){s=e})).unsubscribe();var A=s.length;(!this.totalFiles||A0&&(p=p.select.apply(p,r)),p=this.applyQueryParams(p,a);var u,m=!1;if(c){var g=this.filterService.getSearchFieldsAsString(e);u=e.metadata.setName+"/Default.Search(searchFields='"+g+"')",p=(p=this.sitefinity.query).search(c).order(b.DATE_CREATED_DESC_SORT_ORDER)}t&&!f&&(m||(m=!0,p=p.where()),p=p.or().and().eq(A.Properties.PARENT_ID,t).eq(A.Properties.FOLDER_ID,null).done().eq(A.Properties.FOLDER_ID,t).done()),m&&(p=p.done());var h=a?a[E.FILTER_PARAMS.FILTER]:null;return h&&(u=e.metadata.setName+"/"+E.ACTIONS.FILTER(h)),this.queryItems(e,p,n,o,i,u,f,l,d)},MediaService.prototype.search=function(e,t,n,o,i,r){var a=null;if(i)a=e.metadata.parent+"/Default.mediaItemsRecursiveSearch(parentId="+i+")";else{var s=this.filterService.getSearchFieldsAsString(e);a=e.metadata.setName+"/Default.Search(searchFields='"+s+"')"}var A=this.sitefinity.query.search(t).order(b.DATE_CREATED_DESC_SORT_ORDER);return this.queryItems(e,A,n,o,null,a,void 0,void 0,r)},MediaService.prototype.getThumbnails=function(e,t){return Object(r.from)(this.httpRequestWrapper.get(e+"/sfthumbnails?imageurl="+encodeURIComponent(t)))},MediaService.prototype.upload=function(e,t,n,o,i,r,a,s){var l=this;void 0===i&&(i=null),void 0===r&&(r=!1),void 0===a&&(a=h.OPERATION_NAMES.publish),void 0===s&&(s=!0);var c=Array.isArray(n)?n:[n],d=null,p=1;c.forEach((function(n,f){if(C.MediaHelpers.isVideoEntity(e)){if(!d){var u=l.document.querySelectorAll("sf-modal-window video");u.length!==c.length&&(p=1.5),d=Array.from(u).filter((function(e){return e.offsetParent}))}var m=d[f];if(m){var g=l.canvasService.renderElement(m,m.clientWidth*p,m.clientHeight*p);n.data[A.Properties.THUMBNAIL_SOURCE]=g}}var E=l.uploadFile(e,n,o,i,r,a,s),h=E.getValue();h.id=l.uploadCounter++;var b=l.uploads.getValue();b.items.push({key:t,upload:h,parentId:o,folderId:i,directUpload:r}),E.subscribe((function(e){var n={uploadedItemsCount:c.length,fieldName:t};l.uploads.next({items:b.items,updatedItem:e,uploadFieldState:n})}))}))},MediaService.prototype.clear=function(){var e=this.uploads.getValue().items.filter((function(e){return!e.upload.failure}));this.uploads.next({items:e,uploadFieldState:{uploadedItemsCount:e.length}})},MediaService.prototype.emptyUploads=function(){this.uploads.next({items:[],uploadFieldState:{uploadedItemsCount:0}})},MediaService.prototype.retry=function(e,t){var n=this,o=this.uploads.getValue().items,i=o.findIndex((function(e){return e.upload===t}));if(i>=0){var r=this.uploadFile(e,t,o[i].parentId,o[i].folderId,o[i].directUpload);o[i].upload=r.getValue(),r.subscribe((function(){return n.uploads.next({items:o,uploadFieldState:{uploadedItemsCount:o.length}})}))}},MediaService.prototype.retryById=function(e,t){var n,o=this,i=this.uploads.getValue().items,r=i.find((function(e){return e.upload.imageId===t})),a=-1;if(r&&(n=r.upload,a=i.findIndex((function(e){return e.upload===n}))),a>=0){var s=this.uploadFile(e,n,i[a].parentId,i[a].folderId,i[a].directUpload);i[a]={key:i[a].key,upload:s.getValue()},s.subscribe((function(e){return o.uploads.next({items:i,updatedItem:e,uploadFieldState:{uploadedItemsCount:i.length}})}))}},MediaService.prototype.remove=function(e,t){var n=this.uploads.getValue(),o=n.items.findIndex((function(e){return e.upload===t}));o>=0&&(n.items.splice(o,1),this.uploads.next(n))},MediaService.prototype.getParentEntityData=function(e){var t=e.metadata.parent||e.metadata.setName;return{metadata:this.metadataStore.getEntity(t),culture:e.culture,provider:e.metadata.selectedProvider||e.provider}},MediaService.prototype.getMediaFileLinks=function(e,t){void 0===t&&(t=!1);var n="getForCurrentFile="+t;return this.dynamicItemService.executeBoundFunction(e,"Default.GetMediaFileLinks()?"+n)},MediaService.prototype.applyQueryParams=function(e,t,n){if(void 0===n&&(n=!1),t&&e){var o=t[E.QUERY_PARAMS.SORT];o&&(!n||-1===o.indexOf("DateCreated")&&-1===o.indexOf("Ordinal")||(o=o.replace("DateCreated","LastModified").replace(b.DEFAULT_ORDINAL_EXPRESSION,b.LAST_MODIFIED_DESC_SORT_ORDER)),e=e.order(o))}return e},MediaService.prototype.getItemListMapper=function(e,t){return{dataItems:e.value.map((function(e){return c.DataItem.fromEntityData(e,t)})),totalCount:e["@odata.count"],entityData:t}},MediaService.prototype.queryItems=function(e,t,n,o,i,a,s,A,l){var c=this;return void 0===l&&(l=!1),t=t.expand("Parent($select=Title)"),Object(r.from)(this.sitefinity.queryItems(e,t,n,o,i,a,s,A,l)).pipe(Object(m.map)((function(t){return c.getItemListMapper(t,e)})))},MediaService.prototype.uploadFile=function(e,t,n,o,i,s,A){var l=this;void 0===s&&(s=h.OPERATION_NAMES.publish),void 0===A&&(A=!0),t.loaded=0,t.total=MediaService.uploadTotal,t.success=!1,t.failure=!1;var c=new r.BehaviorSubject(t),d=MediaService.processingIncrementInitialMaximum,p=this.sitefinity.instance.batch((function(n){var o=n.data[0].response[0].data;n.isSuccessful?A?l.sitefinity.instance.data({urlName:e.metadata.setName,providerName:e.metadata.selectedProvider||e.provider,cultureName:e.culture}).getSingle({key:o.Id,successCb:function(e){t.result=e,t.success=!0,c.next(t)},failureCb:function(){t.failure=!0,c.next(t)}}):(t.result={Id:o.Id},t.success=!0,c.next(t)):(t.failure=!0,t.errorMessage=l.getErrorMessage(o.error),c.next(t))}),(function(e){t.failure=!0,c.next(t)}),(function(e){e.lengthComputable&&(t.loaded=e.loaded/e.total*d*t.total,e.total===e.loaded&&t.success&&(t.loaded=t.total),l.zone.run((function(){c.next(t)})),d0?e.dataItems[0]:null)}))):n.next(this.selectedLibrary),this.mediaEntityData.provider===k.ANY_SITE_SOURCE_PROVIDER&&(this.mediaEntityData={metadata:this.mediaEntityData.metadata,culture:this.mediaEntityData.culture,provider:k.stringConstants.EMPTY_STRING}),this.store.getFoldersByParentId(this.mediaEntityData,this.targetLibraryId,10,!0,!0,void 0,void 0,!0).subscribe((function(e){t.recentLibraries$.next(e)}));var o=this.mediaValidationHelper.validate(this.mediaEntityData.metadata,Array.from(e),!1);this.fileUploadErrorMessages=this.mediaValidationHelper.getErrorMessages(),o&&n.subscribe((function(n){var o=[];t.createMedia?o.push(new u.CancelButton(c.SelectorConstants.DISCARD)):o.push(new u.ConfirmButton(t.multiple?g.MESSAGES.multiple.use.select(t.mediaEntityData.metadata.setName):g.MESSAGES.single.use.select(t.mediaEntityData.metadata.singularName.toLowerCase())),new u.CancelButton(c.SelectorConstants.DISCARD));var i={type:h.FileUploadComponent,afterComponentInit:function(o){o.multiple=t.multiple,o.mediaEntityData=t.mediaEntityData,o.fields=t.fields,o.libraries=t.recentLibraries.asObservable(),o.targetLibraryId=t.targetLibraryId,o.selectedLibrary=n?Object(A.cloneObject)(n.data):null,o.initializeLibraries=!(t.createMedia&&t.selectedLibrary),o.selectedFiles=Array.from(e),o.defaultFieldName=t.defaultFieldName,o.showProviderSelector=t.showProviderSelector,o.allowCreate=T.MediaHelpers.isMediaEntity(t.mediaEntityData),t.registerSubscription(o.search.pipe(Object(s.debounceTime)(150),Object(s.distinctUntilChanged)()).subscribe((function(e){var n=e||k.stringConstants.EMPTY_STRING;t.store.getFoldersByParentId(t.mediaEntityData,t.targetLibraryId,10,!0,!0,n.trim(),void 0,!0).subscribe((function(e){t.recentLibraries$.next(e)}))}))),t.registerSubscription(o.selectedProvider.pipe(Object(s.distinctUntilChanged)()).subscribe((function(e){t.mediaEntityData.metadata.selectedProvider=e,t.store.getFoldersByParentId(t.mediaEntityData,t.targetLibraryId,10,!0,!0,void 0,void 0,!0).subscribe((function(e){t.recentLibraries$.next(e)}))}))),o.libraries.pipe(Object(s.first)()).subscribe((function(){t.modalService.sendCommand(t.fileUpload,{name:B.SHOW_BUTTONS,data:!0})}))}},r=new u.DialogData(i,t.createMedia?function(e){if(e.data&&e.data.data){var n=e.component instanceof h.FileUploadComponent?e.component:e.component.parentComponent;if(n.parentId||n.folderId){var o=n.getFilesForUpload();t.multiple||t.store.clearUploads();var i=e.component instanceof S.BulkComponent?e.data.data:e.data;t.store.uploadFiles(t.mediaEntityData,t.name,o,n.parentId,n.folderId,!1,i.data,t.getImageAfterUpload),t.displayFileUploadProgress(t.store.uploads,n)}}else t.onDone()}:function(e){if(e.data&&e.data.data){var n=e.component instanceof h.FileUploadComponent?e.component:e.component.parentComponent;if(n.parentId||n.folderId){var o=n.getFilesForUpload();t.multiple||t.store.clearUploads(),t.store.uploadFiles(t.mediaEntityData,t.name,o,n.parentId,n.folderId,!0,void 0,t.getImageAfterUpload)}}t.onDone()},o,null,t.multiple?"-sf-mt-xl":null);if(r.toolbarData=t.generatedFileUploadToolbarData(),r.showButtonsOnInit=!1,t.createMedia){var a=t.mediaEntityData.metadata.selectedProvider||t.mediaEntityData.provider===k.ANY_SITE_SOURCE_PROVIDER?null:t.mediaEntityData.provider,l=v.DataItem.from(null,t.mediaEntityData.metadata,a,t.mediaEntityData.culture),d=_.OperationsTarget.Create,p=new _.OperationsData(l,d,n,{origin:t.window.location.href});t.operationsProvider.getOperations(p).subscribe((function(e){var n=e.map((function(e){var t="large",n=e.Title;return e.Name!==x.OPERATION_NAMES.upload&&e.Name!==x.OPERATION_NAMES.uploadPublished||(t="action large",e.Title===x.OPERATION_TITLES.publish&&(n=x.OPERATION_TITLES.uploadAndPublish)),new u.ConfirmButton(n,(function(t){var n=t.component instanceof h.FileUploadComponent?t.component:t.component.parentComponent;return n.parentId?t.component.files.some((function(e){return e.errors&&e.errors.length}))?{data:e.Name,hasErrors:!0,isSuccessful:!1}:{data:e.Name,hasErrors:!1,isSuccessful:!0}:(n.errorMessage="Select a parent library",{data:e.Name,hasErrors:!0,isSuccessful:!1})}),t,e.Name)}));r.buttons=n.concat(o),t.displayDialog(r,t.fileUpload)}))}else t.displayDialog(r,t.fileUpload)}))}},FilePickerComponent.prototype.displayDialog=function(e,t){this.modalService.setMapping(e,t),this.modalService.open(this.route,t)},FilePickerComponent.prototype.displayFileUploadProgress=function(e,t){var n=this,o={type:I.FileUploadProgressComponent,properties:{uploadingFiles:e,mediaEntityData:t.mediaEntityData,selectedLibraries:t.selectedLibraries}},i=new u.DialogData(o,(function(){var e=n.store.uploads.value.items.map((function(e){return e.upload.result}));n.store.cleanStoreUploadsCache(),n.onDone(e)}),[new u.CancelButton(c.SelectorConstants.CLOSE)],null,"-sf-mt-xl");i.toolbarData=this.generatedFileUploadToolbarData(),i.showButtonsOnInit=!1,i.isModalClosable=!1,i.stickWithDelay=!1,this.modalService.setMapping(i,Q.FILE_UPLOAD_PROGRESS),this.modalService.open(this.route,Q.FILE_UPLOAD_PROGRESS),this.modalService.getCommands(Q.FILE_UPLOAD_PROGRESS).subscribe((function(e){e.name===Q.FILE_UPLOAD_RETRY_COMMAND&&n.store.retryFile(n.mediaEntityData,e.data)}))},FilePickerComponent.prototype.onDone=function(e){e&&(e=this.multiple?e:e[0]),this._closeModalCallback&&this._closeModalCallback(e)},FilePickerComponent.prototype.onSelectExisting=function(){var e=this,t=[new u.ConfirmButton(c.SelectorConstants.USE_SELECTED),new u.CancelButton(c.SelectorConstants.CANCEL)],n={type:E.FileSelectComponent,properties:{formattedTypeName:this.formattedTypeName},afterComponentInit:function(t){t.multiple=e.multiple,t.mediaEntityData=e.mediaEntityData,t.parentLibraryId=e.sourceLibraryId,t.currentLibraryId=e.sourceLibraryId,t.uploadEnabled=!e.useOnlySelectMode,t.mediaFilterEnabled=e.mediaFilterEnabled,t.acceptableMediaTypes=e.acceptableMediaTypes,t.acceptableFileTypes=e.acceptableFileTypes,t.maxSize=e.maxSize,t.useLiveData=e.useLiveData,t.value=e.value,t.store=e.store,t.allowCreate=e.allowCreate,t.showProviderSelector=e.showProviderSelector,t.isNonTranslatedSelectable=e.isNonTranslatedSelectable,t.showTranslations=e.showTranslations,t.showParentLibrary=e.showParentLibrary,t.onUploadFiles.pipe(Object(s.first)()).subscribe((function(t){return e.onUploadFiles(t)}))}},o=new u.DialogData(n,(function(t){var n,o=t.component;t.data&&!0===t.data.data&&o instanceof E.FileSelectComponent?(n=o.value,o.fromUpload=!1):t.data&&t.data instanceof File&&(n=[t.data],o instanceof E.FileSelectComponent&&(o.fromUpload=!0)),t.data&&o instanceof I.FileUploadProgressComponent&&(n=e.multiple?t.data:[t.data]),e.onDone(n)}),t,null,"-bottom");o.showButtonsOnInit=!1,this.modalService.setMapping(o,Y),this.modalService.open(this.route,Y)},FilePickerComponent.prototype.onDrop=function(e){e.preventDefault(),this.isDragOver=!1,this.onUploadFiles(e.dataTransfer.files)},FilePickerComponent.prototype.onDragEnter=function(e){e.preventDefault(),this.isDragOver=!0},FilePickerComponent.prototype.onDragLeave=function(e){e.preventDefault();var t=e.fromElement||e.target,n=e.currentTarget;this.isChildByCssSelector(t,n)||(this.isDragOver=!1)},FilePickerComponent.prototype.toggleShowSelectLink=function(){this.showSelectLink=this.initialViewMode!==m.FilePickerViewMode.Upload},FilePickerComponent.prototype.generatedFileUploadToolbarData=function(){return{type:y.ToolbarComponent,properties:{header:(this.multiple?g.MESSAGES.multiple:g.MESSAGES.single).title.upload(this.formattedTypeName)}}},FilePickerComponent.prototype.isChildByCssSelector=function(e,t){return!!(e&&t&&t.contains(e))},FilePickerComponent.prototype.handleKeyboardShortcuts=function(){var e=this,t=this.keyboardShortcutsService.addListener(Object(a.of)(null),O.COMPONENT_NAMES.FILE_PICKER,!0).subscribe((function(t){if(t)switch(t.type){case P.KeyboardActionType.Create:t.event.preventDefault(),e.fileInput.nativeElement.click()}}));this.registerSubscription(t)},FilePickerComponent.ɵfac=function FilePickerComponent_Factory(e){return new(e||FilePickerComponent)(i["ɵɵdirectiveInject"](f.MetadataStore),i["ɵɵdirectiveInject"](p.FieldsGeneratorService),i["ɵɵdirectiveInject"](l.BackendTweaksStore),i["ɵɵdirectiveInject"](C.LibraryStore),i["ɵɵdirectiveInject"](r.ActivatedRoute),i["ɵɵdirectiveInject"](u.ModalWindowService),i["ɵɵdirectiveInject"](b.MediaValidationHelper),i["ɵɵdirectiveInject"](w.CompositeOperationsProvider),i["ɵɵdirectiveInject"](M.HierarchicalLibrariesService),i["ɵɵdirectiveInject"](D.DynamicItemService),i["ɵɵdirectiveInject"](R.LongRunningTasksService),i["ɵɵdirectiveInject"](F.KeyboardShortcutsService),i["ɵɵdirectiveInject"](N.CompositeDataExtender),i["ɵɵdirectiveInject"](L.WINDOW_TOKEN))},FilePickerComponent.ɵcmp=i["ɵɵdefineComponent"]({type:FilePickerComponent,selectors:[["ng-component"]],viewQuery:function FilePickerComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](H,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.fileInput=n.first)}},features:[i["ɵɵProvidersFeature"]([C.LibraryStore]),i["ɵɵInheritDefinitionFeature"]],decls:14,vars:13,consts:[[1,"sf-upload",3,"drop","dragover","dragleave","dragend"],[1,"h1"],[1,"sf-input-file"],["type","file",3,"id","accept","multiple","change"],["fileInput",""],[1,"sf-input-file__label","sf-row","-column","-align-items-center","-sf-mt-xl",3,"for"],["name","upload","look","illustrative sf-mb-xl sf-mr-zero"],["class","-sf-txt-hint -sf-txt-large -sf-mt--xs -sf-mb-m",4,"ngIf"],["data-sftest","sf-invalid-file","class","-sf-mb-s",3,"messages",4,"ngIf"],["class","sf-button -action -large -sf-mb-m",4,"ngIf"],["class","-sf-mb-m",4,"ngIf"],["class","-sf-txt-large",4,"ngIf"],[4,"ngIf"],[1,"-sf-txt-hint","-sf-txt-large","-sf-mt--xs","-sf-mb-m"],["data-sftest","sf-invalid-file",1,"-sf-mb-s",3,"messages"],[1,"sf-button","-action","-large","-sf-mb-m"],[1,"-sf-mb-m"],[1,"-sf-txt-large"],["tabindex","0",1,"select-image",3,"click","keyup.enter"]],template:function FilePickerComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵlistener"]("drop",(function FilePickerComponent_Template_div_drop_0_listener(e){return t.onDrop(e)}))("dragover",(function FilePickerComponent_Template_div_dragover_0_listener(e){return t.onDragEnter(e)}))("dragleave",(function FilePickerComponent_Template_div_dragleave_0_listener(e){return t.onDragLeave(e)}))("dragend",(function FilePickerComponent_Template_div_dragend_0_listener(e){return t.onDragLeave(e)})),i["ɵɵelementStart"](1,"h1",1),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"div",2),i["ɵɵelementStart"](4,"input",3,4),i["ɵɵlistener"]("change",(function FilePickerComponent_Template_input_change_4_listener(e){return t.onUploadFiles(e.target.files)})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](6,"label",5),i["ɵɵelement"](7,"sf-icon",6),i["ɵɵtemplate"](8,FilePickerComponent_div_8_Template,2,1,"div",7),i["ɵɵtemplate"](9,FilePickerComponent_sf_error_9_Template,1,1,"sf-error",8),i["ɵɵtemplate"](10,FilePickerComponent_span_10_Template,2,1,"span",9),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵtemplate"](11,FilePickerComponent_div_11_Template,2,0,"div",10),i["ɵɵtemplate"](12,FilePickerComponent_div_12_Template,3,1,"div",11),i["ɵɵtemplate"](13,FilePickerComponent_h2_13_Template,2,1,"h2",12),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵclassProp"]("-hovered",t.isDragOver),i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](t.messages.title.select(t.formattedTypeName)),i["ɵɵadvance"](2),i["ɵɵpropertyInterpolate1"]("id","",t.uniqueId,"-upload"),i["ɵɵproperty"]("accept",t.acceptFileTypes)("multiple",t.multiple),i["ɵɵadvance"](2),i["ɵɵpropertyInterpolate1"]("for","",t.uniqueId,"-upload"),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",!t.isDragOver&&!t.showSelectLink),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.fileUploadErrorMessages&&t.fileUploadErrorMessages.length>0),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.isDragOver),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.isDragOver&&t.showSelectLink),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.isDragOver&&t.showSelectLink),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.isDragOver))},directives:[z.SfIconComponent,G.NgIf,z.SfErrorComponent],styles:[".sf-upload[_ngcontent-%COMP%] {\n min-height: 400px;\n min-width: 500px;\n}"]}),FilePickerComponent}(d.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"BackendTweaksStore",(function(){return s}));var o=n(11),i=n(1191),r=n(262),a=n(229),s=function(){function BackendTweaksStore(e){this.backendTweaksService=e,this.gridSubjects={},this.gridSortSubject={},this.formSubjects={},this.initializedGrids={},this.initializedForms={}}return BackendTweaksStore.prototype.getGridByType=function(e){return this.getBehaviorSubject(this.gridSubjects,e).getValue()},BackendTweaksStore.prototype.getGridSortExpression=function(e){return this.getBehaviorSubject(this.gridSortSubject,e).getValue()[0]},BackendTweaksStore.prototype.getFormByType=function(e,t){var n=e+"-"+t;return this.getBehaviorSubject(this.formSubjects,n).getValue()},BackendTweaksStore.prototype.initializeGrid=function(e){var t=this;return!!this.initializedGrids[e]||(this.initializedGrids[e]=!0,this.backendTweaksService.getGridTweaks(e).then((function(n){return t.getBehaviorSubject(t.gridSubjects,e).next(t.loadGridData(n)),n.sortExpression&&t.getBehaviorSubject(t.gridSortSubject,e).next([n.sortExpression]),!0}),(function(e){return!1})))},BackendTweaksStore.prototype.initializeForm=function(e,t,n,o,i){var a=this,s=e+"-"+t;return this.initializedForms[s]?Promise.resolve(!0):this.backendTweaksService.getFormTweaks(e,t||r.VIEW_NAME.EDIT,n,o,i).then((function(e){return a.getBehaviorSubject(a.formSubjects,s).next(e),!0}),(function(e){return!1}))},BackendTweaksStore.prototype.getBehaviorSubject=function(e,t){var n=e[t];return n||(n=e[t]=new o.BehaviorSubject([])),n},BackendTweaksStore.prototype.loadGridData=function(e){return(e.value||[]).map((function(e){return Object.freeze({name:e.Name,title:e.Title,visible:e.ShowInGrid,ordinal:e.ColumnOrdinal,boundPropertyName:e.BoundPropertyName,fieldMeta:e.FieldMetadata,isGrouping:e.IsGrouping})}))},BackendTweaksStore.ɵfac=function BackendTweaksStore_Factory(e){return new(e||BackendTweaksStore)(a["ɵɵinject"](i.BackendTweaksService))},BackendTweaksStore.ɵprov=a["ɵɵdefineInjectable"]({token:BackendTweaksStore,factory:BackendTweaksStore.ɵfac}),BackendTweaksStore}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MESSAGES",(function(){return o}));var o={single:{title:{select:function(e){return"Select "+e},upload:function(e){return"Upload "+e}},upload:function(e){return"Upload "+e+" from your computer"},drop:function(e){return"Drop "+e+" to upload"},select:function(e){return"Select "+e+" from library"},use:{select:function(e){return"Use this "+e},upload:function(e){return"Use this "+e}}},multiple:{title:{select:function(e){return"Select "+e},upload:function(e){return"Upload "+e}},upload:function(e){return"Upload "+e+" from your computer"},drop:function(e){return"Drop "+e+" to upload"},select:function(e){return"Select "+e+" from library"},dragAndDrop:function(e){return"Drag and drop "+e+" here or"},use:{select:function(e){return"Use selected"},upload:function(e){return"Use "+e}}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"TAB_NAMES",(function(){return k})),n.d(t,"PAGE_SIZE",(function(){return I})),n.d(t,"FILE_SELECT",(function(){return v})),n.d(t,"SEARCH_DEBOUNCE_TIME",(function(){return w})),n.d(t,"FileSelectComponent",(function(){return _}));var o=n(259),i=n(131),r=n(229),a=n(11),s=n(1118),A=n(264),l=n(369),c=n(1214),d=n(245),p=n(1216),f=n(262),u=n(1219),m=n(246),g=n(1150),E=n(1147),h=n(317),b=n(1177),C=n(1178),B=(n(354),["mainTabs"]);function FileSelectComponent_ng_template_2_span_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"span",9),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"]("from ",n.parentLibraryTitle,"")}}var _c1=function(e){return{"-positive ":e}};function FileSelectComponent_ng_template_2_div_3_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",10),r["ɵɵelementStart"](1,"span",11),r["ɵɵlistener"]("click",(function FileSelectComponent_ng_template_2_div_3_Template_span_click_1_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectSelectedTab()})),r["ɵɵtext"](2," Selected "),r["ɵɵelementStart"](3,"span",12),r["ɵɵtext"](4),r["ɵɵelementEnd"](),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵadvance"](3),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](2,_c1,o.value.length)),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](o.value.length)}}var _c2=function(e){return{"h3 -sf-ml-3xl":e}};function FileSelectComponent_ng_template_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"h1",6),r["ɵɵtext"](1),r["ɵɵelementEnd"](),r["ɵɵtemplate"](2,FileSelectComponent_ng_template_2_span_2_Template,2,1,"span",7),r["ɵɵtemplate"](3,FileSelectComponent_ng_template_2_div_3_Template,5,4,"div",8)),2&e){var n=r["ɵɵnextContext"](),o=r["ɵɵreference"](1);r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](4,_c2,o.isSticky)),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.messages.title.select(n.formattedTypeName)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.parentLibraryId&&n.showParentLibrary),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.multiple&&o.isSticky)}}function FileSelectComponent_5_ng_template_0_div_2_input_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"input",22),r["ɵɵlistener"]("change",(function FileSelectComponent_5_ng_template_0_div_2_input_1_Template_input_change_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](4).onUploadClick(e.target.files)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](4);r["ɵɵproperty"]("accept",o.acceptFileTypes)("multiple",o.multiple)}}function FileSelectComponent_5_ng_template_0_div_2_label_2_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"label",23),r["ɵɵelement"](1,"span",24),r["ɵɵelementEnd"]())}function FileSelectComponent_5_ng_template_0_div_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",19),r["ɵɵtemplate"](1,FileSelectComponent_5_ng_template_0_div_2_input_1_Template,1,2,"input",20),r["ɵɵtemplate"](2,FileSelectComponent_5_ng_template_0_div_2_label_2_Template,2,0,"label",21),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](3);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.uploadEnabled),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.uploadEnabled)}}function FileSelectComponent_5_ng_template_0_sf_error_3_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-error",25),2&e){var n=r["ɵɵnextContext"](3);r["ɵɵproperty"]("messages",n.fileUploadErrorMessages)}}function FileSelectComponent_5_ng_template_0_div_6_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵelement"](1,"sf-icon",26),r["ɵɵelementStart"](2,"p",27),r["ɵɵtext"](3),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](3);r["ɵɵadvance"](3),r["ɵɵtextInterpolate1"]("No ",n.mediaEntity.setName," found")}}var _c3=function(e,t){return{"-sf-mt-m":e,"-sf-mb-2xl":t}};function FileSelectComponent_5_ng_template_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",14),r["ɵɵelementStart"](1,"sf-search",15),r["ɵɵlistener"]("searchValueChange",(function FileSelectComponent_5_ng_template_0_Template_sf_search_searchValueChange_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).recentSearchTerm=e}))("searchValueChange",(function FileSelectComponent_5_ng_template_0_Template_sf_search_searchValueChange_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSearchRecent(e)})),r["ɵɵelementEnd"](),r["ɵɵtemplate"](2,FileSelectComponent_5_ng_template_0_div_2_Template,3,2,"div",16),r["ɵɵelementEnd"](),r["ɵɵtemplate"](3,FileSelectComponent_5_ng_template_0_sf_error_3_Template,1,1,"sf-error",17),r["ɵɵelementStart"](4,"sf-file-list",18),r["ɵɵlistener"]("clickFile",(function FileSelectComponent_5_ng_template_0_Template_sf_file_list_clickFile_4_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFile(e)}))("selectFile",(function FileSelectComponent_5_ng_template_0_Template_sf_file_list_selectFile_4_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFile(e)})),r["ɵɵpipe"](5,"async"),r["ɵɵelementEnd"](),r["ɵɵtemplate"](6,FileSelectComponent_5_ng_template_0_div_6_Template,4,1,"div",4),r["ɵɵpipe"](7,"async")}if(2&e){var o=r["ɵɵnextContext"](2),i=null;r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction2"](15,_c3,!o.multiple,!o.fileUploadErrorMessages||0===o.fileUploadErrorMessages.length)),r["ɵɵadvance"](1),r["ɵɵproperty"]("searchValue",o.recentSearchTerm)("clearable",!0),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.allowCreate),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.fileUploadErrorMessages&&o.fileUploadErrorMessages.length>0),r["ɵɵadvance"](1),r["ɵɵproperty"]("mediaEntityData",o.mediaEntityData)("value",o.value)("groupByMonth",!0)("isNonTranslatedSelectable",o.isNonTranslatedSelectable)("mediaItems",r["ɵɵpipeBind1"](5,11,o.recentFiles)),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",o.recentSearchTerm&&!(null!=(i=r["ɵɵpipeBind1"](7,13,o.recentFiles))&&i.length))}}function FileSelectComponent_5_Template(e,t){1&e&&r["ɵɵtemplate"](0,FileSelectComponent_5_ng_template_0_Template,8,18,"ng-template",13)}function FileSelectComponent_ng_template_6_div_2_input_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"input",36),r["ɵɵlistener"]("change",(function FileSelectComponent_ng_template_6_div_2_input_1_Template_input_change_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](3).onUploadClick(e.target.files)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](3);r["ɵɵproperty"]("accept",o.acceptFileTypes)("multiple",o.multiple)}}function FileSelectComponent_ng_template_6_div_2_label_2_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"label",37),r["ɵɵelement"](1,"span",24),r["ɵɵelementEnd"]())}function FileSelectComponent_ng_template_6_div_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",19),r["ɵɵtemplate"](1,FileSelectComponent_ng_template_6_div_2_input_1_Template,1,2,"input",34),r["ɵɵtemplate"](2,FileSelectComponent_ng_template_6_div_2_label_2_Template,2,0,"label",35),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.uploadEnabled),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.uploadEnabled)}}function FileSelectComponent_ng_template_6_sf_error_3_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-error",25),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵproperty"]("messages",n.fileUploadErrorMessages)}}function FileSelectComponent_ng_template_6_sf_library_select_4_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-library-select",38),r["ɵɵlistener"]("clickLibrary",(function FileSelectComponent_ng_template_6_sf_library_select_4_Template_sf_library_select_clickLibrary_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectLibrary(e)}))("selectLibrary",(function FileSelectComponent_ng_template_6_sf_library_select_4_Template_sf_library_select_selectLibrary_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectLibrary(e)})),r["ɵɵpipe"](1,"async"),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("libraries",r["ɵɵpipeBind1"](1,2,o.libraries))("mediaEntityData",o.mediaEntityData)}}function FileSelectComponent_ng_template_6_div_5_ng_container_3_i_1_Template(e,t){1&e&&r["ɵɵelement"](0,"i",44)}function FileSelectComponent_ng_template_6_div_5_ng_container_3_a_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"a",40),r["ɵɵlistener"]("click",(function FileSelectComponent_ng_template_6_div_5_ng_container_3_a_2_Template_a_click_0_listener(){r["ɵɵrestoreView"](n);var e=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"](3).onSelectFolder(e)}))("keyup.enter",(function FileSelectComponent_ng_template_6_div_5_ng_container_3_a_2_Template_a_keyup_enter_0_listener(){r["ɵɵrestoreView"](n);var e=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"](3).onSelectFolder(e)})),r["ɵɵtext"](1),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]().$implicit;r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",o.data.Title,"")}}function FileSelectComponent_ng_template_6_div_5_ng_container_3_span_3_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"span"),r["ɵɵelement"](1,"i",44),r["ɵɵtext"](2),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().$implicit;r["ɵɵadvance"](2),r["ɵɵtextInterpolate1"](" ",n.data.Title,"")}}function FileSelectComponent_ng_template_6_div_5_ng_container_3_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,FileSelectComponent_ng_template_6_div_5_ng_container_3_i_1_Template,1,0,"i",42),r["ɵɵtemplate"](2,FileSelectComponent_ng_template_6_div_5_ng_container_3_a_2_Template,2,1,"a",43),r["ɵɵtemplate"](3,FileSelectComponent_ng_template_6_div_5_ng_container_3_span_3_Template,3,1,"span",4),r["ɵɵelementContainerEnd"]()),2&e){var n=t.last;r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n)}}function FileSelectComponent_ng_template_6_div_5_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",39),r["ɵɵelementStart"](1,"a",40),r["ɵɵlistener"]("click",(function FileSelectComponent_ng_template_6_div_5_Template_a_click_1_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onBackClick()}))("keyup.enter",(function FileSelectComponent_ng_template_6_div_5_Template_a_keyup_enter_1_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onBackClick()})),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵtemplate"](3,FileSelectComponent_ng_template_6_div_5_ng_container_3_Template,4,3,"ng-container",41),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵadvance"](2),r["ɵɵtextInterpolate"](o.parentLibraryTitle),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",o.path)}}var _c4=function(e){return{"-sf-mb-2xl":e}};function FileSelectComponent_ng_template_6_sf_library_select_6_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-library-select",45),r["ɵɵlistener"]("clickLibrary",(function FileSelectComponent_ng_template_6_sf_library_select_6_Template_sf_library_select_clickLibrary_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFolder(e)}))("selectLibrary",(function FileSelectComponent_ng_template_6_sf_library_select_6_Template_sf_library_select_selectLibrary_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFolder(e)})),r["ɵɵpipe"](1,"async"),r["ɵɵpipe"](2,"async"),r["ɵɵpipe"](3,"async"),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2),i=null;r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](9,_c4,(null==(i=r["ɵɵpipeBind1"](1,3,o.folders))?null:i.length)&&(null==(i=r["ɵɵpipeBind1"](2,5,o.files))?null:i.length)))("mediaEntityData",o.mediaEntityData)("libraries",r["ɵɵpipeBind1"](3,7,o.folders))}}function FileSelectComponent_ng_template_6_sf_file_list_7_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-file-list",46),r["ɵɵlistener"]("clickFile",(function FileSelectComponent_ng_template_6_sf_file_list_7_Template_sf_file_list_clickFile_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFile(e)}))("selectFile",(function FileSelectComponent_ng_template_6_sf_file_list_7_Template_sf_file_list_selectFile_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFile(e)})),r["ɵɵpipe"](1,"async"),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("mediaEntityData",o.mediaEntityData)("isNonTranslatedSelectable",o.isNonTranslatedSelectable)("value",o.value)("mediaItems",r["ɵɵpipeBind1"](1,4,o.files))}}function FileSelectComponent_ng_template_6_div_8_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵelement"](1,"sf-icon",26),r["ɵɵelementStart"](2,"p",27),r["ɵɵtext"](3),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](3),r["ɵɵtextInterpolate1"]("No ",n.mediaEntity.setName," found")}}var _c5=function(e,t){return{"-sf-mt-m":e,"-sf-mb-5xl":t}};function FileSelectComponent_ng_template_6_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",28),r["ɵɵelementStart"](1,"sf-search",29),r["ɵɵlistener"]("searchValueChange",(function FileSelectComponent_ng_template_6_Template_sf_search_searchValueChange_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().searchTerm=e}))("searchValueChange",(function FileSelectComponent_ng_template_6_Template_sf_search_searchValueChange_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onSearch(e)})),r["ɵɵelementEnd"](),r["ɵɵtemplate"](2,FileSelectComponent_ng_template_6_div_2_Template,3,2,"div",16),r["ɵɵelementEnd"](),r["ɵɵtemplate"](3,FileSelectComponent_ng_template_6_sf_error_3_Template,1,1,"sf-error",17),r["ɵɵtemplate"](4,FileSelectComponent_ng_template_6_sf_library_select_4_Template,2,4,"sf-library-select",30),r["ɵɵtemplate"](5,FileSelectComponent_ng_template_6_div_5_Template,4,2,"div",31),r["ɵɵtemplate"](6,FileSelectComponent_ng_template_6_sf_library_select_6_Template,4,11,"sf-library-select",32),r["ɵɵtemplate"](7,FileSelectComponent_ng_template_6_sf_file_list_7_Template,2,6,"sf-file-list",33),r["ɵɵtemplate"](8,FileSelectComponent_ng_template_6_div_8_Template,4,1,"div",4),r["ɵɵpipe"](9,"async"),r["ɵɵpipe"](10,"async"),r["ɵɵpipe"](11,"async")}if(2&e){var o=r["ɵɵnextContext"](),i=null;r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction2"](16,_c5,!o.multiple,!o.fileUploadErrorMessages||0===o.fileUploadErrorMessages.length)),r["ɵɵadvance"](1),r["ɵɵproperty"]("searchValue",o.searchTerm)("clearable",!0),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.allowCreate),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.fileUploadErrorMessages&&o.fileUploadErrorMessages.length>0),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!o.currentLibraryId),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.showBreadcrumb),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.currentLibraryId),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.currentLibraryId||o.searchTerm),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!o.searchInProgress&&o.searchTerm&&!(null!=(i=r["ɵɵpipeBind1"](9,10,o.files))&&i.length)&&(!o.currentLibraryId&&!(null!=(i=r["ɵɵpipeBind1"](10,12,o.libraries))&&i.length)||o.currentLibraryId&&!(null!=(i=r["ɵɵpipeBind1"](11,14,o.folders))&&i.length)))}}function FileSelectComponent_7_ng_template_0_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵelement"](1,"sf-icon",49),r["ɵɵelementStart"](2,"p",27),r["ɵɵtext"](3),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](3);r["ɵɵadvance"](3),r["ɵɵtextInterpolate1"]("Selected ",n.mediaEntity.setName," will appear here")}}function FileSelectComponent_7_ng_template_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-selected-file-list",48),r["ɵɵlistener"]("remove",(function FileSelectComponent_7_ng_template_0_Template_sf_selected_file_list_remove_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onRemoveFile(e)})),r["ɵɵelementEnd"](),r["ɵɵtemplate"](1,FileSelectComponent_7_ng_template_0_div_1_Template,4,1,"div",4)}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("files",o.value)("mediaEntityData",o.mediaEntityData),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!o.value.length)}}function FileSelectComponent_7_Template(e,t){if(1&e&&r["ɵɵtemplate"](0,FileSelectComponent_7_ng_template_0_Template,2,3,"ng-template",47),2&e){var n=r["ɵɵnextContext"]();r["ɵɵproperty"]("count",n.value.length)}}function FileSelectComponent_8_ng_template_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-file-list",51),r["ɵɵlistener"]("clickFile",(function FileSelectComponent_8_ng_template_0_Template_sf_file_list_clickFile_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFile(e)}))("selectFile",(function FileSelectComponent_8_ng_template_0_Template_sf_file_list_selectFile_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectFile(e)})),r["ɵɵpipe"](1,"async"),r["ɵɵpipe"](2,"async"),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("value",o.value)("mediaEntityData",o.mediaEntityData)("showFileName",!0)("culturesByFile",r["ɵɵpipeBind1"](1,5,o.culturesByFile))("mediaItems",r["ɵɵpipeBind1"](2,7,o.translations))}}function FileSelectComponent_8_Template(e,t){1&e&&r["ɵɵtemplate"](0,FileSelectComponent_8_ng_template_0_Template,3,9,"ng-template",50)}var k={recent:"recent",libraries:"libraries",selected:"selected"},I=50,v="fileSelect",w=500,_=function(e){function FileSelectComponent(t,n,o,i,s){var A,l=e.call(this)||this;return l.scrollService=t,l.modalService=n,l.mediaValidationHelper=o,l.providersStore=i,l.notificationService=s,l.uploadEnabled=!0,l.fromUpload=null,l.allowCreate=!0,l.parentLibraryTitle="All libraries",l.showParentLibrary=!0,l.showTranslations=!1,l.path=[],l.showBreadcrumb=!1,l.isNonTranslatedSelectable=!0,l.hasLoadedRecentFiles=!1,l.search$=new a.Subject,l.searchRecent$=new a.Subject,l.defaultSortingParam=((A={})[f.QUERY_PARAMS.SORT]=f.FILTER_TYPES.LAST_MODIFIED+" "+f.SORT_ORDER.DESCENDING,A),l.onUploadFiles=new r.EventEmitter,l}return Object(o.__extends)(FileSelectComponent,e),FileSelectComponent.prototype.ngOnInit=function(){var e=this;this.mediaEntity=this.mediaEntityData.metadata,this.toggleShowBreadcrumb(),this.initializeParentLibrary(),this.libraries=this.store.libraries,this.recentFiles=this.getFilteredFiles(this.store.recentFiles,this.mediaFilterEnabled,this.acceptableFileTypes,this.maxSize);var t=this.store.recentFiles.subscribe((function(){e.hasLoadedRecentFiles=!0,e.modalService.sendCommand(v,{name:p.SHOW_BUTTONS,data:!0})}));this.registerSubscription(t),this.files=this.getFilteredFiles(this.store.files,this.mediaFilterEnabled,this.acceptableFileTypes,this.maxSize);var n=this.files.subscribe((function(){e.searchInProgress=!1}));if(this.registerSubscription(n),this.translations=new a.ReplaySubject(1),this.culturesByFile=new a.ReplaySubject(1),this.showTranslations){var o=this.mediaEntityData,i=h.DataItem.fromEntityData(null,this.mediaEntityData),r={};this.store.getMediaFileLinks(o).subscribe((function(t){var n=t.value.map((function(e){return r[e.Id]=e.Cultures,h.DataItem.fromEntityData(e,i)}));e.translations.next(n),e.culturesByFile.next(r)}));var s=this.translations.subscribe((function(){e.searchInProgress=!1}));this.registerSubscription(s)}else{(o=this.mediaEntityData).key&&this.store.getMediaFileLinks(o,!0).subscribe((function(t){if(t.value.length>0){var n=t.value[0].Cultures;if(n&&n.length>0){var o=n.length,i=o>1?"translations are":"translation is",r=o>1?"them":"it";e.notificationService.publishBasicNotification({message:o+" more "+i+" using current file and any changes will be applied to "+r+" too.",look:C.NOTIFICATION_LOOKS.WARNING,duration:f.NOTIFICATION_DURATION_INFINITE,filterParam:p.MODAL_WINDOW_NOTIFICATION_FILTER,closeButton:!1})}}}))}this.folders=this.store.folders,this.messages=this.multiple?c.MESSAGES.multiple:c.MESSAGES.single,this.formattedTypeName=this.formattedTypeName?this.formattedTypeName:Object(d.getFormattedTypeName)({plural:this.mediaEntity.setName,singular:this.mediaEntity.singularName.toLowerCase()},this.multiple,!0),this.acceptFileTypes=this.acceptableFileTypes.map((function(e){return"."+e})).join(","),this.mediaEntityData.provider===m.ANY_SITE_SOURCE_PROVIDER?this.showProviderSelector?(this.librariesTabLook=g.PROVIDER_TAB_CSS_CLASS,this.librariesTabComponentData={type:g.ProviderTabSelectorComponent,properties:{entitySetName:this.mediaEntity.setName},afterComponentInit:function(t){t.onChange.subscribe((function(t){e.mediaEntityData.metadata.selectedProvider=t.tabValue,e.mediaEntity.selectedProvider=t.tabValue,e.parentLibraryId&&e.store.getFolderById(e.mediaEntityData,e.parentLibraryId).subscribe((function(t){return e.parentLibraryTitle=t.data.Title})),e.store.loadRecentFiles(e.mediaEntityData,e.recentSearchTerm,I,void 0,void 0,e.useLiveData).subscribe(),e.onBackClick()})),t.onInit.subscribe((function(t){e.mediaEntityData.metadata.selectedProvider=t.tabValue,e.mediaEntity.selectedProvider=t.tabValue,e.initializeParentLibrary(),e.store.loadRecentFiles(e.mediaEntityData,e.recentSearchTerm,I,void 0,void 0,e.useLiveData).subscribe(),e.store.loadLibraries(e.mediaEntityData,e.searchTerm,I,null,e.defaultSortingParam,!0,e.useLiveData)}))}}):this.providersStore.getProviders(this.mediaEntity.setName).subscribe((function(t){var n=t.find((function(e){return e.isDefault}));n&&(e.mediaEntityData={metadata:e.mediaEntityData.metadata,culture:e.mediaEntityData.culture,provider:n.name},e.initializeParentLibrary(),e.store.loadRecentFiles(e.mediaEntityData,e.recentSearchTerm,I,void 0,void 0,e.useLiveData).subscribe(),e.store.loadLibraries(e.mediaEntityData,e.searchTerm,I,null,e.defaultSortingParam,!0,e.useLiveData))})):(this.store.loadRecentFiles(this.mediaEntityData,this.recentSearchTerm,I,void 0,void 0,this.useLiveData).subscribe(),this.store.loadLibraries(this.mediaEntityData,this.searchTerm,I,null,this.defaultSortingParam,!0,this.useLiveData)),this.initializeSearch()},FileSelectComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.notificationService.close(p.MODAL_WINDOW_NOTIFICATION_FILTER)},FileSelectComponent.prototype.onUploadClick=function(e){var t=this.mediaValidationHelper.validate(this.mediaEntity,Array.from(e),!1);this.fileUploadErrorMessages=this.mediaValidationHelper.getErrorMessages(),t&&this.onUploadFiles.emit(e)},FileSelectComponent.prototype.onSelectSelectedTab=function(){this.scrollService.scrollToTop(!1),this.mainTabs.selectTabByName(k.selected)},FileSelectComponent.prototype.isSelected=function(e){return!!this.mainTabs&&this.mainTabs.isSelected(e)},FileSelectComponent.prototype.onSearch=function(e){void 0===e&&(e=m.stringConstants.EMPTY_STRING),e===m.stringConstants.EMPTY_STRING&&this.currentLibraryId?this.store.getFoldersAndContent(this.mediaEntityData,this.currentLibraryId,I,void 0,void 0,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData):this.search$.next(e)},FileSelectComponent.prototype.onSearchRecent=function(e){void 0===e&&(e=m.stringConstants.EMPTY_STRING),this.searchRecent$.next(e)},FileSelectComponent.prototype.onSelectFile=function(e){if(this.isNonTranslatedSelectable||e.data.isTranslated)if(this.multiple){var t=this.value.findIndex((function(t){return t.data.Id===e.data.Id}));t<0?this.value.push(e):this.value.splice(t,1)}else this.value=[e]},FileSelectComponent.prototype.onSelectLibrary=function(e){this.path=[e],this.folders.next([]),this.currentLibraryId=e.data.Id,this.searchTerm=null,this.store.getFoldersAndContent(this.mediaEntityData,e.data.Id,I,null,this.defaultSortingParam,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.toggleShowBreadcrumb()},FileSelectComponent.prototype.onSelectFolder=function(e){var t=this.path.findIndex((function(t){return t.data.Id===e.data.Id}));t>=0?this.path=this.path.slice(0,t+1):this.path.push(e),this.folders.next([]),this.currentLibraryId=e.data.Id,this.searchTerm=null,this.store.getFoldersAndContent(this.mediaEntityData,e.data.Id,I,null,this.defaultSortingParam,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.toggleShowBreadcrumb()},FileSelectComponent.prototype.onBackClick=function(){this.searchTerm=null,this.folders.next([]),this.parentLibraryId?(this.store.getFoldersAndContent(this.mediaEntityData,this.parentLibraryId,I,null,this.defaultSortingParam,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.currentLibraryId=this.parentLibraryId):(this.currentLibraryId=null,this.store.loadLibraries(this.mediaEntityData,null,I,null,this.defaultSortingParam,!0,this.useLiveData)),this.toggleShowBreadcrumb()},FileSelectComponent.prototype.onRemoveFile=function(e){var t=this.value.findIndex((function(t){return t.data.Id===e.data.Id}));this.value.splice(t,1)},FileSelectComponent.prototype.onCancelClick=function(){this.modalService.close()},FileSelectComponent.prototype.requestMoreItems=function(){this.loadMore()},FileSelectComponent.prototype.onScroll=function(e){e.target.scrollHeight-e.target.scrollTop<=e.target.offsetHeight&&this.loadMore()},FileSelectComponent.prototype.toggleShowBreadcrumb=function(){this.showBreadcrumb=this.parentLibraryId!==this.currentLibraryId},FileSelectComponent.prototype.initializeSearch=function(){var e=this,t=this.search$.pipe(Object(i.debounceTime)(w)).subscribe((function(t){e.searchInProgress=!0;var n=t?t.trim():t;e.store.search(e.mediaEntityData,n,I,!0,e.showParentLibrary,e.showParentLibrary?void 0:e.parentLibraryId)}));this.registerSubscription(t);var n=this.searchRecent$.pipe(Object(i.debounceTime)(w)).subscribe((function(t){var n=t?t.trim():t;e.store.searchRecent(e.mediaEntityData,n,I,e.useLiveData,e.showParentLibrary?void 0:e.parentLibraryId)}));this.registerSubscription(n)},FileSelectComponent.prototype.loadMore=function(){this.isSelected(k.recent)&&this.hasLoadedRecentFiles?this.store.loadMoreRecent(this.mediaEntityData,this.recentSearchTerm,I):this.isSelected(k.libraries)&&this.store.loadMore(this.mediaEntityData,this.searchTerm,I,!1,!1,void 0,this.defaultSortingParam,!0)},FileSelectComponent.prototype.markTranslated=function(e){var t=e.culture,n=Object(d.cloneInstance)(e.data);return n.isTranslated=!t||e.data.AvailableLanguages.some((function(e){return e===t})),h.DataItem.fromEntityData(n,e)},FileSelectComponent.prototype.markAvailable=function(e,t,n,o){var i={},r=!0;o&&!Object(d.isFileTypeAllowed)(e.data.Extension?e.data.Extension.substr(1):m.stringConstants.EMPTY_STRING,t)&&(i.acceptableFileTypes=t.map((function(e){return"."+e})).join(", "),r=!1),n>0&&e.data.TotalSize>n&&(i.maxSize=n,r=!1);var a=Object(d.cloneInstance)(e.data);return a.failedValidation=r?null:i,h.DataItem.fromEntityData(a,e)},FileSelectComponent.prototype.setProvider=function(e){return h.DataItem.from(e.data,e.metadata,this.mediaEntity.selectedProvider||this.mediaEntityData.provider,e.culture)},FileSelectComponent.prototype.getFilteredFiles=function(e,t,n,o){var r=this;return e.pipe(Object(i.map)((function(e){return e.map((function(e){return r.markTranslated(e)}))})),Object(i.map)((function(e){return e.map((function(e){return r.setProvider(e)}))})),Object(i.map)((function(e){return e.map((function(e){return r.markAvailable(e,n,o,t)}))})))},FileSelectComponent.prototype.initializeParentLibrary=function(){var e=this;this.parentLibraryId&&(this.store.getFoldersAndContent(this.mediaEntityData,this.parentLibraryId,I,void 0,void 0,void 0,void 0,void 0,void 0,!0,void 0,this.useLiveData),this.store.getFolderById(this.mediaEntityData,this.parentLibraryId).subscribe((function(t){return e.parentLibraryTitle=t.data.Title})))},FileSelectComponent.ɵfac=function FileSelectComponent_Factory(e){return new(e||FileSelectComponent)(r["ɵɵdirectiveInject"](l.ScrollService),r["ɵɵdirectiveInject"](s.ModalWindowService),r["ɵɵdirectiveInject"](u.MediaValidationHelper),r["ɵɵdirectiveInject"](E.ProviderStore),r["ɵɵdirectiveInject"](b.NOTIFICATION_SERVICE))},FileSelectComponent.ɵcmp=r["ɵɵdefineComponent"]({type:FileSelectComponent,selectors:[["ng-component"]],viewQuery:function FileSelectComponent_Query(e,t){if(1&e&&r["ɵɵviewQuery"](B,3),2&e){var n;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.mainTabs=n.first)}},outputs:{onUploadFiles:"onUploadFiles"},features:[r["ɵɵInheritDefinitionFeature"]],decls:10,vars:9,consts:[["stickyToolbar",""],["sfStickyHeading",""],["sfInfiniteScroll","",3,"tabsLook","scrolledToBottom"],["mainTabs",""],[4,"ngIf"],["sfTab","","name","libraries",3,"title","componentData","look"],[3,"ngClass"],["class","-sf-txt-large",4,"ngIf"],["class","sf-tabs",4,"ngIf"],[1,"-sf-txt-large"],[1,"sf-tabs"],[1,"sf-tabs__item","sf-link",3,"click"],["aria-live","polite",1,"sf-tabs__badge","sf-badge","-ellipse",3,"ngClass"],["sfTab","","name","recent","title","Recent"],[1,"sf-row","-justify-content-center","-align-items-center","-sf-txt-align-left",3,"ngClass"],["role","search","placeholderText","Search...","inputLook","sf-mb-zero",3,"searchValue","clearable","searchValueChange"],["class","sf-input-file -sf-ml-s",4,"ngIf"],["class","-sf-mt-2xs",3,"messages",4,"ngIf"],[3,"mediaEntityData","value","groupByMonth","isNonTranslatedSelectable","mediaItems","clickFile","selectFile"],[1,"sf-input-file","-sf-ml-s"],["type","file","id","img-recent-upload",3,"accept","multiple","change",4,"ngIf"],["class","sf-input-file__label","for","img-recent-upload",4,"ngIf"],["type","file","id","img-recent-upload",3,"accept","multiple","change"],["for","img-recent-upload",1,"sf-input-file__label"],["title","Upload",1,"sf-link","-secondary","sf-icon","sf-fa","sf-fa-upload","-size-xl"],[1,"-sf-mt-2xs",3,"messages"],["name","search","look","illustrative sf-mt-2xl sf-mb-xl sf-mr-zero"],[1,"-sf-txt-hint"],[1,"sf-row","-justify-content-center","-align-items-center",3,"ngClass"],["role","search","placeholderText","Search...","wrapperLook","sf-txt-align-left","inputLook","sf-mb-zero",3,"searchValue","clearable","searchValueChange"],[3,"libraries","mediaEntityData","clickLibrary","selectLibrary",4,"ngIf"],["class","sf-breadcrumb -sf-txt-align-left -sf-mb-m",4,"ngIf"],["class","-sf-block",3,"ngClass","mediaEntityData","libraries","clickLibrary","selectLibrary",4,"ngIf"],[3,"mediaEntityData","isNonTranslatedSelectable","value","mediaItems","clickFile","selectFile",4,"ngIf"],["type","file","id","img-libraries-upload",3,"accept","multiple","change",4,"ngIf"],["class","sf-input-file__label","for","img-libraries-upload",4,"ngIf"],["type","file","id","img-libraries-upload",3,"accept","multiple","change"],["for","img-libraries-upload",1,"sf-input-file__label"],[3,"libraries","mediaEntityData","clickLibrary","selectLibrary"],[1,"sf-breadcrumb","-sf-txt-align-left","-sf-mb-m"],["tabindex","0",3,"click","keyup.enter"],[4,"ngFor","ngForOf"],["class","sf-fa sf-fa-angle-right -sf-ml-4xs -sf-mr-4xs","aria-hidden","true",4,"ngIf"],["tabindex","0",3,"click","keyup.enter",4,"ngIf"],["aria-hidden","true",1,"sf-fa","sf-fa-angle-right","-sf-ml-4xs","-sf-mr-4xs"],[1,"-sf-block",3,"ngClass","mediaEntityData","libraries","clickLibrary","selectLibrary"],[3,"mediaEntityData","isNonTranslatedSelectable","value","mediaItems","clickFile","selectFile"],["sfTab","","name","selected","title","Selected",3,"count"],[3,"files","mediaEntityData","remove"],["name","check-square-o","look","illustrative sf-mt-2xl sf-mb-xl sf-mr-zero"],["sfTab","","name","translations","title","Translations"],[3,"value","mediaEntityData","showFileName","culturesByFile","mediaItems","clickFile","selectFile"]],template:function FileSelectComponent_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"sf-sticky-component",null,0),r["ɵɵtemplate"](2,FileSelectComponent_ng_template_2_Template,4,6,"ng-template",1),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"sf-tabs",2,3),r["ɵɵlistener"]("scrolledToBottom",(function FileSelectComponent_Template_sf_tabs_scrolledToBottom_3_listener(){return t.requestMoreItems()})),r["ɵɵtemplate"](5,FileSelectComponent_5_Template,1,0,void 0,4),r["ɵɵtemplate"](6,FileSelectComponent_ng_template_6_Template,12,19,"ng-template",5),r["ɵɵtemplate"](7,FileSelectComponent_7_Template,1,1,void 0,4),r["ɵɵtemplate"](8,FileSelectComponent_8_Template,1,0,void 0,4),r["ɵɵpipe"](9,"async"),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵreference"](1),o=null;r["ɵɵadvance"](3),r["ɵɵproperty"]("tabsLook",n.isSticky?"large sf-mt-m sf-mb-m sf-invisible":"large sf-mt-m sf-mb-m"),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",!t.parentLibraryId),r["ɵɵadvance"](1),r["ɵɵproperty"]("title",!t.multiple&&t.parentLibraryId?"":"Libraries")("componentData",t.librariesTabComponentData)("look",t.librariesTabLook),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.multiple),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.showTranslations&&(null==(o=r["ɵɵpipeBind1"](9,7,t.translations))?null:o.length))}},encapsulation:2}),FileSelectComponent}(A.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"SHOW_BUTTONS",(function(){return _})),n.d(t,"SHOW_HEADING_BUTTONS",(function(){return x})),n.d(t,"SHOW_CLOSE_BUTTON",(function(){return y})),n.d(t,"MODAL_WINDOW_NOTIFICATION_FILTER",(function(){return S})),n.d(t,"ModalWindowComponent",(function(){return T}));var o=n(259),i=n(229),r=n(260),a=n(1118),s=n(1217),A=n(11),l=n(244),c=n(369),d=n(246),p=n(280),f=n(278),u=n(1203),m=n(262),g=n(319),E=n(1218),h=n(1205),b=n(245),C=n(354),B=n(261),k=n(1175),I=n(1176),v=["mainContentLoader"],w=["modal"];function ModalWindowComponent_aside_0_sf_component_loader_3_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-component-loader",13),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("componentData",n.currentData.headComponentData)}}function ModalWindowComponent_aside_0_ng_container_4_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ModalWindowComponent_aside_0_sf_button_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-button",18),i["ɵɵlistener"]("onClick",(function ModalWindowComponent_aside_0_sf_button_5_Template_sf_button_onClick_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onCloseClicked()})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("disabled",o.closeButtonDisabled)}}function ModalWindowComponent_aside_0_sf_sticky_component_10_ng_container_2_1_ng_template_0_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-component-loader",13),2&e){var n=i["ɵɵnextContext"](5);i["ɵɵproperty"]("componentData",n.currentData.toolbarData)}}function ModalWindowComponent_aside_0_sf_sticky_component_10_ng_container_2_1_Template(e,t){1&e&&i["ɵɵtemplate"](0,ModalWindowComponent_aside_0_sf_sticky_component_10_ng_container_2_1_ng_template_0_Template,1,1,"ng-template",22)}function ModalWindowComponent_aside_0_sf_sticky_component_10_ng_container_2_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ModalWindowComponent_aside_0_sf_sticky_component_10_ng_container_2_1_Template,1,0,void 0,21),i["ɵɵelementContainerEnd"]()),2&e){i["ɵɵnextContext"]();var n=i["ɵɵreference"](1),o=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",o.currentData.alwaysSticky||(null==n?null:n.isSticky))}}function ModalWindowComponent_aside_0_sf_sticky_component_10_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"sf-sticky-component",19,20),i["ɵɵtemplate"](2,ModalWindowComponent_aside_0_sf_sticky_component_10_ng_container_2_Template,2,1,"ng-container",21),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("heading",n.currentData.heading.title)("superScript",n.currentData.heading.superScript)("headingLook",null!=n.currentData.componentData&&(null!=n.currentData.componentData.properties&&n.currentData.componentData.properties.headingLook)?n.currentData.componentData.properties.headingLook:null)("hasStickyBuffer",!1)("stickWithDelay",n.currentData.stickWithDelay)("alwaysSticky",n.currentData.alwaysSticky)("stickyDisabled",n.currentData.stickyDisabled)("hideBackToTopButton",n.currentData.hideBackToTopButton),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",n.currentData.toolbarData)}}function ModalWindowComponent_aside_0_ng_container_13_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ModalWindowComponent_aside_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"aside",5,6),i["ɵɵelementStart"](2,"div",7),i["ɵɵtemplate"](3,ModalWindowComponent_aside_0_sf_component_loader_3_Template,1,1,"sf-component-loader",8),i["ɵɵtemplate"](4,ModalWindowComponent_aside_0_ng_container_4_Template,1,0,"ng-container",9),i["ɵɵtemplate"](5,ModalWindowComponent_aside_0_sf_button_5_Template,1,1,"sf-button",10),i["ɵɵpipe"](6,"async"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](7,"div",11),i["ɵɵelementStart"](8,"div",12),i["ɵɵelement"](9,"sf-component-loader",13),i["ɵɵelementEnd"](),i["ɵɵtemplate"](10,ModalWindowComponent_aside_0_sf_sticky_component_10_Template,3,9,"sf-sticky-component",14),i["ɵɵelementStart"](11,"sf-component-loader",15,16),i["ɵɵlistener"]("componentInit",(function ModalWindowComponent_aside_0_Template_sf_component_loader_componentInit_11_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onComponentInit(e)})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵtemplate"](13,ModalWindowComponent_aside_0_ng_container_13_Template,1,0,"ng-container",17),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](),r=i["ɵɵreference"](6),a=i["ɵɵreference"](8),s=i["ɵɵreference"](2);i["ɵɵproperty"]("ngClass",o.currentData.contentClass),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",o.currentData.headComponentData),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",r)("ngTemplateOutletContext",o.currentData),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!o.currentData.hideCloseButton&&i["ɵɵpipeBind1"](6,11,o.isModalClosable)),i["ɵɵadvance"](4),i["ɵɵproperty"]("componentData",o.notificationLoaderComponent),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!o.currentData.hideStickyContent),i["ɵɵadvance"](1),i["ɵɵproperty"]("componentData",o.currentData.componentData),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",o.currentData.hasTopToolbar)("ngIfThen",a)("ngIfElse",s)}}function ModalWindowComponent_ng_template_1_footer_0_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ModalWindowComponent_ng_template_1_footer_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"footer",24),i["ɵɵtemplate"](1,ModalWindowComponent_ng_template_1_footer_0_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2),o=i["ɵɵreference"](4);i["ɵɵproperty"]("ngClass",n.currentData.buttonClass),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",n.currentData)}}function ModalWindowComponent_ng_template_1_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,ModalWindowComponent_ng_template_1_footer_0_Template,2,3,"footer",23),i["ɵɵpipe"](1,"async")),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](1,1,n.areButtonsVisible)&&n.currentData.buttons.length>0)}}function ModalWindowComponent_ng_template_3_div_0_sf_button_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-button",26),i["ɵɵlistener"]("onClick",(function ModalWindowComponent_ng_template_3_div_0_sf_button_1_Template_sf_button_onClick_0_listener(e){i["ɵɵrestoreView"](n);var o=t.$implicit;return i["ɵɵnextContext"](3).invokeButtonClick(o,e)})),i["ɵɵpipe"](1,"async"),i["ɵɵpipe"](2,"async"),i["ɵɵpipe"](3,"async"),i["ɵɵtext"](4),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;i["ɵɵproperty"]("look",o.css)("loader",i["ɵɵpipeBind1"](1,6,o.loader))("disabled",i["ɵɵpipeBind1"](2,8,o.disabled))("feedback",i["ɵɵpipeBind1"](3,10,o.checked)),i["ɵɵattribute"]("data-sftest",o.content),i["ɵɵadvance"](4),i["ɵɵtextInterpolate1"](" ",o.content," ")}}function ModalWindowComponent_ng_template_3_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtemplate"](1,ModalWindowComponent_ng_template_3_div_0_sf_button_1_Template,5,12,"sf-button",25),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.currentData.buttons)}}function ModalWindowComponent_ng_template_3_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,ModalWindowComponent_ng_template_3_div_0_Template,2,1,"div",21),i["ɵɵpipe"](1,"async")),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](1,1,n.areButtonsVisible))}}function ModalWindowComponent_ng_template_5_div_0_sf_button_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"sf-button",30),i["ɵɵlistener"]("onClick",(function ModalWindowComponent_ng_template_5_div_0_sf_button_1_Template_sf_button_onClick_0_listener(){var e=t.$implicit;return e.handlers.click(e.name)})),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=t.$implicit;i["ɵɵclassMap"](n.css),i["ɵɵproperty"]("icon",n.content)("title",n.name),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.content," ")}}function ModalWindowComponent_ng_template_5_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",28),i["ɵɵtemplate"](1,ModalWindowComponent_ng_template_5_div_0_sf_button_1_Template,2,5,"sf-button",29),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.currentData.headButtons)}}function ModalWindowComponent_ng_template_5_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,ModalWindowComponent_ng_template_5_div_0_Template,2,1,"div",27),i["ɵɵpipe"](1,"async")),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](1,1,n.areHeadingButtonsVisible))}}function ModalWindowComponent_ng_template_7_ng_container_4_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ModalWindowComponent_ng_template_7_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"header",31),i["ɵɵelementStart"](1,"h1",32),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"div",33),i["ɵɵtemplate"](4,ModalWindowComponent_ng_template_7_ng_container_4_Template,1,0,"ng-container",9),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](),o=i["ɵɵreference"](4);i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](n.currentData.heading.title),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",n.currentData.buttonClass),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",n.currentData)}}var _="show-buttons",x="show-heading-buttons",y="show-close-buttons",S="modal-window",T=function(e){function ModalWindowComponent(t,n,o,i,r,a,s,l){var c=e.call(this,t)||this;return c.environtmentService=o,c.windowProvider=i,c.scrollService=r,c.renderer=a,c.keyboardShortcutsService=s,c.elementRef=l,c.notificationLoaderComponent={type:E.NotificationLoaderComponent,properties:{filter:S,look:"fixed"}},c.closeButtonDisabled=!1,c._isModalClosable=new A.BehaviorSubject(!0),c._closed=!1,c.renderer.addClass(c.windowProvider.document.documentElement,"-sf-modal-window-open"),c.service=n,c}return Object(o.__extends)(ModalWindowComponent,e),Object.defineProperty(ModalWindowComponent.prototype,"areButtonsVisible",{get:function(){return this._areButtonsVisible.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(ModalWindowComponent.prototype,"areHeadingButtonsVisible",{get:function(){return this._areHeadingButtonsVisible.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(ModalWindowComponent.prototype,"isModalClosable",{get:function(){return this._isModalClosable.asObservable()},enumerable:!1,configurable:!0}),ModalWindowComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.handleKeyboardShortcuts()},ModalWindowComponent.prototype.ngAfterViewInit=function(){this.focusModalWrapper()},ModalWindowComponent.prototype.onMappingChanged=function(e,t){var n=this;if(this.currentData=Object(o.__assign)({},e),this.focusModalWrapper(),this.service.currentActivityStatus){this._areButtonsVisible=new A.BehaviorSubject(this.currentData.showButtonsOnInit),this._areHeadingButtonsVisible=new A.BehaviorSubject(this.currentData.showButtonsOnInit),this._isModalClosable=new A.BehaviorSubject(this.currentData.isModalClosable),this._visibilitySubscription&&this._visibilitySubscription.unsubscribe();var i=this.service.currentActivityStatus.route;this._visibilitySubscription=this.service.getCommands(i).subscribe((function(e){e.name===_&&n._areButtonsVisible.next(e.data),e.name===x&&n._areHeadingButtonsVisible.next(e.data),e.name===y&&n._isModalClosable.next(e.data)})),this.registerSubscription(this._visibilitySubscription),this.service.ensureRouteState(t),this.modalWindowClassList=this.currentData.contentClass}},ModalWindowComponent.prototype.ngOnDestroy=function(){this._closed||this.onCloseClicked(),e.prototype.ngOnDestroy.call(this),this.keyboardShortcutsService.removeListener(m.COMPONENT_NAMES.MODAL_WINDOW),this.renderer.removeClass(this.windowProvider.document.documentElement,"-sf-modal-window-open")},ModalWindowComponent.prototype.onComponentInit=function(e){this.setCloseModalCallback(e)},ModalWindowComponent.prototype.onCloseClicked=function(){if(this._isModalClosable.getValue()){var e=this.buildContext(a.ClosingContextType.CloseClicked);this.close(e)}},ModalWindowComponent.prototype.invokeButtonClick=function(e,t){var n=this,o=e.handlers.click;if(!o)throw new Error("Invalid click handler provided for button "+e.content);var i=o({event:t,component:this.hostedInstance});if(i instanceof A.Observable){var r=i.subscribe((function(e){n.processClickResult(e,e.load,n.currentData.disableUserInteractionOnLoading)}));this.registerSubscription(r)}else this.processClickResult(i,!1)},ModalWindowComponent.prototype.onBackToTopClicked=function(){this.scrollService.scrollToTop(!0,250)},ModalWindowComponent.prototype.canClose=function(e){var t=this.hostedInstance;if(t&&t.canCloseCallback){var n=t.canCloseCallback(e);return n instanceof A.Observable?n:Object(A.of)(n)}return Object(A.of)(!0)},ModalWindowComponent.prototype.setCloseModalCallback=function(e){e&&e.setCloseModalCallback&&e.setCloseModalCallback(this.closeModalCallback.bind(this))},ModalWindowComponent.prototype.closeModalCallback=function(e){var t=this.buildContext(a.ClosingContextType.DoneCalled,e);this.close(t)},ModalWindowComponent.prototype.processClickResult=function(e,t,n){var o=this;if(void 0===t&&(t=!0),void 0===n&&(n=!1),e.hasErrors)this.toggleButtonLoading(null,!1,!1,!1);else{var i=t?1e3:0;if(i&&this.toggleButtonLoading("transparent",!0,!1,n),e.isSuccessful){var r=this.buildContext(a.ClosingContextType.ButtonClicked,e);i&&this.toggleButtonLoading(null,!1,!0,!1),this.windowProvider.setTimeout((function(){return o.close(r)}),i)}}},ModalWindowComponent.prototype.toggleButtonLoading=function(e,t,n,o){var i=this.currentData.buttons,r=i.find((function(e){return e instanceof a.ConfirmButton})),s=i.find((function(e){return e instanceof a.CancelButton}));r&&(r.loader.next(e),r.disabled.next(t),r.checked.next(n)),s&&s.disabled.next(t),this.closeButtonDisabled=o,this.toggleNoSelectionOverlay(o)},ModalWindowComponent.prototype.toggleNoSelectionOverlay=function(e){this.modalWindowClassList=this.modalWindowClassList||d.stringConstants.EMPTY_STRING,e?this.modalWindowClassList+=" -no-selection":this.modalWindowClassList.replace(" -no-selection",d.stringConstants.EMPTY_STRING)},ModalWindowComponent.prototype.close=function(t){var n=this,o=this.currentData;this.canClose(t).subscribe((function(i){i&&(e.prototype.onClose.call(n).then((function(){o&&(o.doneCallback&&o.doneCallback(t),o.componentData&&n.componentLoader&&n.componentLoader.destroy(o.componentData))})),n._closed=!0)}))},ModalWindowComponent.prototype.buildContext=function(e,t){return void 0===t&&(t=null),{type:e,data:t,component:this.hostedInstance}},Object.defineProperty(ModalWindowComponent.prototype,"hostedInstance",{get:function(){return this.componentLoader?this.componentLoader.currentInstance:null},enumerable:!1,configurable:!0}),ModalWindowComponent.prototype.handleKeyboardShortcuts=function(){var e=this,t=this.keyboardShortcutsService.addListener(Object(A.of)(null),m.COMPONENT_NAMES.MODAL_WINDOW,!1).subscribe((function(t){var n;if(t)switch(t.type){case h.KeyboardActionType.Escape:e.onCloseClicked();break;case h.KeyboardActionType.CommonConfirm:t.event.preventDefault(),e.handleCommonConfirmation();break;case h.KeyboardActionType.Refresh&&p.environmentTypes.integration===e.environtmentService.getEnvironment():e.handleRefreshFromModal(t.event);break;case h.KeyboardActionType.Save:n=e.currentData.buttons.find((function(e){return e.name===g.OPERATION_NAMES.uploadDraft})),e.triggerKeyboardAction(n,t.event);break;case h.KeyboardActionType.Publish:n=e.currentData.buttons.find((function(e){return e.name===g.OPERATION_NAMES.upload||e.name===g.OPERATION_NAMES.uploadPublished})),e.triggerKeyboardAction(n,t.event)}}));this.registerSubscription(t)},ModalWindowComponent.prototype.handleCommonConfirmation=function(){var e=this,t=this.elementRef.nativeElement.querySelectorAll(".sf-button.-action,.sf-button.-delete");if(t.length>0){var n=Array.from(t).find((function(t){return Object(b.isElementVisible)(e.windowProvider,t)}));n&&n.click()}},ModalWindowComponent.prototype.triggerKeyboardAction=function(e,t){e&&(t.preventDefault(),this.invokeButtonClick(e,t))},ModalWindowComponent.prototype.handleRefreshFromModal=function(e){var t=this.windowProvider.location.href,n=t.indexOf("dialog:");if(-1!==n){for(;t[n-1]===d.stringConstants.FORWARD_SLASH;)n--;var o=t.lastIndexOf(m.CHARACTERS.CLOSE_BRACKET),i=t.substring(n,o);t=(t=(t=t.replace(i,d.stringConstants.EMPTY_STRING)).replace(m.CHARACTERS.OPEN_BRACKET,d.stringConstants.EMPTY_STRING)).replace(m.CHARACTERS.CLOSE_BRACKET,d.stringConstants.EMPTY_STRING),e.preventDefault(),this.windowProvider.open(t,d.SAME_TAB_TARGET)}},ModalWindowComponent.prototype.focusModalWrapper=function(){this.modal&&this.modal.nativeElement.focus()},ModalWindowComponent.ɵfac=function ModalWindowComponent_Factory(e){return new(e||ModalWindowComponent)(i["ɵɵdirectiveInject"](r.ActivatedRoute),i["ɵɵdirectiveInject"](a.ModalWindowService),i["ɵɵdirectiveInject"](f.EnvironmentService),i["ɵɵdirectiveInject"](l.WINDOW_TOKEN),i["ɵɵdirectiveInject"](c.ScrollService),i["ɵɵdirectiveInject"](i.Renderer2),i["ɵɵdirectiveInject"](u.KeyboardShortcutsService),i["ɵɵdirectiveInject"](i.ElementRef))},ModalWindowComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ModalWindowComponent,selectors:[["sf-modal-window"]],viewQuery:function ModalWindowComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](v,1),i["ɵɵviewQuery"](w,1)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.componentLoader=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.modal=n.first)}},features:[i["ɵɵInheritDefinitionFeature"]],decls:9,vars:1,consts:[["tabindex","-1","role","dialog","class","sf-modal-window",3,"ngClass",4,"ngIf"],["buttonsBottom",""],["buttons",""],["circleButtons",""],["buttonsTop",""],["tabindex","-1","role","dialog",1,"sf-modal-window",3,"ngClass"],["modal",""],[1,"sf-modal-window__head-buttons"],[3,"componentData",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["look","circle no-focus-visible","iconLook","size-m","icon","times","class","sf-modal-window__close","title","Close",3,"disabled","onClick",4,"ngIf"],[1,"sf-modal-window__content"],[1,"sf-row","-justify-content-center","-align-items-center"],[3,"componentData"],[3,"heading","superScript","headingLook","hasStickyBuffer","stickWithDelay","alwaysSticky","stickyDisabled","hideBackToTopButton",4,"ngIf"],[3,"componentData","componentInit"],["mainContentLoader",""],[4,"ngIf","ngIfThen","ngIfElse"],["look","circle no-focus-visible","iconLook","size-m","icon","times","title","Close",1,"sf-modal-window__close",3,"disabled","onClick"],[3,"heading","superScript","headingLook","hasStickyBuffer","stickWithDelay","alwaysSticky","stickyDisabled","hideBackToTopButton"],["stickyToolbar",""],[4,"ngIf"],["sfStickyHeading",""],["class","sf-modal-window__buttons",3,"ngClass",4,"ngIf"],[1,"sf-modal-window__buttons",3,"ngClass"],[3,"look","loader","disabled","feedback","onClick",4,"ngFor","ngForOf"],[3,"look","loader","disabled","feedback","onClick"],["class","-sf-inline-block",4,"ngIf"],[1,"-sf-inline-block"],["look","circle","iconLook","size-m",3,"class","icon","title","onClick",4,"ngFor","ngForOf"],["look","circle","iconLook","size-m",3,"icon","title","onClick"],["data-sftest","viewCodeTopToolbar",1,"sf-modal-window__top-toolbar","sf-row","sf-top-toolbar"],[1,"h3","sf-row__col","-sf-ml-2xs","-sf-txt-align-left"],[1,"sf-row__col","-sf-mr-2xs","-sf-txt-align-right",3,"ngClass"]],template:function ModalWindowComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,ModalWindowComponent_aside_0_Template,14,13,"aside",0),i["ɵɵtemplate"](1,ModalWindowComponent_ng_template_1_Template,2,3,"ng-template",null,1,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](3,ModalWindowComponent_ng_template_3_Template,2,3,"ng-template",null,2,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](5,ModalWindowComponent_ng_template_5_Template,2,3,"ng-template",null,3,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](7,ModalWindowComponent_ng_template_7_Template,5,4,"ng-template",null,4,i["ɵɵtemplateRefExtractor"])),2&e&&i["ɵɵproperty"]("ngIf",t.currentData)},directives:[B.NgIf,B.NgClass,B.NgTemplateOutlet,C.SfDynamicComponentLoaderComponent,C.SfButtonComponent,k.StickyComponent,I.StickyHeadingDirective,B.NgForOf],pipes:[B.AsyncPipe],styles:['@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\nsf-app.sf-app .sf-modal-window {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n}\nsf-app.sf-app .sf-modal-window.-prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n flex-wrap: wrap;\n}\nsf-app.sf-app .sf-modal-window.-no-selection::after {\n display: block;\n content: " ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: #DCECF5;\n z-index: 1;\n}\nsf-app.sf-app .sf-modal-window:not(.-prompt) {\n padding-bottom: 66px;\n}\nsf-app.sf-app .sf-modal-window:not(.-prompt) .sf-modal-window__content {\n padding-top: 100px;\n}\nsf-app.sf-app .sf-modal-window__head-buttons {\n position: fixed;\n top: 8px;\n right: 15px;\n z-index: 1000000;\n}\nsf-app.sf-app .sf-modal-window__top-toolbar {\n z-index: 10000000;\n}\nsf-app.sf-app .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content {\n padding-left: 50px;\n padding-right: 50px;\n}\nsf-app.sf-app .sf-modal-window__buttons {\n background-color: #fff;\n}\nsf-app.sf-app .sf-modal-window__buttons.-border-top {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n}\nsf-app.sf-app .sf-modal-window__buttons.-bottom {\n padding-top: 15px;\n padding-bottom: 15px;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n border-top: 1px solid #eee;\n}\nsf-app.sf-app .sf-modal-window.-no-padding-top .sf-modal-window__content {\n padding-top: 0;\n}\nsf-app.sf-app .sf-modal-window.-narrow .sf-modal-window__content {\n width: 850px;\n margin: 0 auto;\n}\nsf-app.sf-app .sf-modal-window.-preview {\n padding-bottom: 0;\n}\nsf-app.sf-app .sf-modal-window.-preview .sf-modal-window__content {\n background-color: #f5f5f5;\n padding-top: 46px;\n min-height: 100vh;\n}\nsf-app.sf-app .sf-modal-window__content {\n background-color: #fff;\n}'],encapsulation:2}),ModalWindowComponent}(s.AuxHostComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"AUX_ROUTE_PARAM_NAME",(function(){return s})),n.d(t,"AuxHostComponent",(function(){return A}));var o=n(259),i=n(260),r=n(264),a=n(229),s="name",A=function(e){function AuxHostComponent(t){var n=e.call(this)||this;return n.route=t,n}return Object(o.__extends)(AuxHostComponent,e),AuxHostComponent.prototype.ngOnInit=function(){var e=this,t=this.route.params.subscribe((function(t){var n=t[s],o=e.service.getData(n),i=!e.service.currentActivityStatus;o?(e.onMappingChanged(o,n),i&&e.onClose()):e.onClose()}));this.registerSubscription(t)},AuxHostComponent.prototype.onClose=function(){return this.service.hide(this.route.parent)},AuxHostComponent.ɵfac=function AuxHostComponent_Factory(e){return new(e||AuxHostComponent)(a["ɵɵdirectiveInject"](i.ActivatedRoute))},AuxHostComponent.ɵdir=a["ɵɵdefineDirective"]({type:AuxHostComponent,features:[a["ɵɵInheritDefinitionFeature"]]}),AuxHostComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"NotificationLoaderComponent",(function(){return p}));var o=n(259),i=n(1180),r=n(229),a=n(1177),s=n(264),A=n(246),l=n(11),c=n(261),d=n(354);function NotificationLoaderComponent_ng_container_0_ng_container_1_sf_notification_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-notification",3),r["ɵɵlistener"]("onClose",(function NotificationLoaderComponent_ng_container_0_ng_container_1_sf_notification_1_Template_sf_notification_onClose_0_listener(){r["ɵɵrestoreView"](n);var e=r["ɵɵnextContext"](2).ngIf;return r["ɵɵnextContext"]().onClose(e)})),r["ɵɵelement"](1,"sf-component-loader",4),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2).ngIf,i=r["ɵɵnextContext"]();r["ɵɵproperty"]("look",i.getLook(o)),r["ɵɵadvance"](1),r["ɵɵproperty"]("componentData",o)}}function NotificationLoaderComponent_ng_container_0_ng_container_1_sf_notification_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"sf-notification",5),r["ɵɵelement"](1,"sf-component-loader",4),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2).ngIf,o=r["ɵɵnextContext"]();r["ɵɵproperty"]("look",o.getLook(n)),r["ɵɵadvance"](1),r["ɵɵproperty"]("componentData",n)}}function NotificationLoaderComponent_ng_container_0_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,NotificationLoaderComponent_ng_container_0_ng_container_1_sf_notification_1_Template,2,2,"sf-notification",1),r["ɵɵtemplate"](2,NotificationLoaderComponent_ng_container_0_ng_container_1_sf_notification_2_Template,2,2,"sf-notification",2),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]().ngIf;r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.closeButton),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.closeButton)}}function NotificationLoaderComponent_ng_container_0_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,NotificationLoaderComponent_ng_container_0_ng_container_1_Template,3,2,"ng-container",0),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.hide)}}var p=function(e){function NotificationLoaderComponent(t){var n=e.call(this)||this;return n.notificationService=t,n.onCommand=new r.EventEmitter,n.hide=!1,n.notification$=new l.BehaviorSubject(null),n}return Object(o.__extends)(NotificationLoaderComponent,e),NotificationLoaderComponent.prototype.ngOnInit=function(){var e=this,t=this.notificationService.getNotification().subscribe((function(t){if(t){if(!e.filter&&t.filterParam)return;if(e.filter&&t.filterParam!==e.filter)return}e.notification$.next(t),e.enhanceNotification(t)})),n=this.notificationService.getCloseNotification().subscribe((function(t){e.notification$.getValue()===t&&e.notification$.next(null)}));this.registerSubscription(n),this.registerSubscription(t)},NotificationLoaderComponent.prototype.ngOnChanges=function(e){e.hide&&!e.hide.firstChange&&e.hide.currentValue&&this.notificationService.close(null)},NotificationLoaderComponent.prototype.onClose=function(e){e.closeButton&&this.notificationService.close(e.filterParam)},NotificationLoaderComponent.prototype.getLook=function(e){var t=e.look+A.stringConstants.INTERVAL;return this.isInHeader&&(t+=A.stringConstants.INTERVAL+"small"),t},NotificationLoaderComponent.prototype.enhanceNotification=function(e){var t=this;e&&(e.afterComponentInit||(e.afterComponentInit=function(n){n.onCommand&&t.registerSubscription(n.onCommand.subscribe((function(n){n===i.COMMAND_NAMES.close?t.notificationService.close(e.filterParam):t.onCommand.emit(n)})))}),e.look=e.look||"",this.look&&(e.look+=" "+this.look))},NotificationLoaderComponent.ɵfac=function NotificationLoaderComponent_Factory(e){return new(e||NotificationLoaderComponent)(r["ɵɵdirectiveInject"](a.NOTIFICATION_SERVICE))},NotificationLoaderComponent.ɵcmp=r["ɵɵdefineComponent"]({type:NotificationLoaderComponent,selectors:[["sf-notification-loader"]],inputs:{isInHeader:"isInHeader",hide:"hide",filter:"filter",look:"look"},outputs:{onCommand:"onCommand"},features:[r["ɵɵInheritDefinitionFeature"],r["ɵɵNgOnChangesFeature"]],decls:2,vars:3,consts:[[4,"ngIf"],[3,"look","onClose",4,"ngIf"],[3,"look",4,"ngIf"],[3,"look","onClose"],[3,"componentData"],[3,"look"]],template:function NotificationLoaderComponent_Template(e,t){1&e&&(r["ɵɵtemplate"](0,NotificationLoaderComponent_ng_container_0_Template,2,1,"ng-container",0),r["ɵɵpipe"](1,"async")),2&e&&r["ɵɵproperty"]("ngIf",r["ɵɵpipeBind1"](1,1,t.notification$))},directives:[c.NgIf,d.SfNotificationComponent,d.SfDynamicComponentLoaderComponent],pipes:[c.AsyncPipe],encapsulation:2}),NotificationLoaderComponent}(s.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaValidationHelper",(function(){return a}));var o=n(245),i=n(1098),r=n(229),a=function(){function MediaValidationHelper(){this.fileSizePipe=new i.FileSizePipe}return MediaValidationHelper.prototype.validate=function(e,t,n){void 0===n&&(n=!0),this.mediaEntity=e,this.files=t,this.errorMessages=[];var o=!0;if(this.validFiles=[],0===this.files.length)return!1;for(var i=0;i=n},MediaValidationHelper.prototype.getValidFiles=function(){return this.validFiles},MediaValidationHelper.prototype.getErrorMessages=function(){return this.errorMessages},MediaValidationHelper.prototype.getValidateExtensionsErrorMessage=function(){return"Invalid file format. Allowed formats: "+this.mediaEntity.acceptableFileTypes.map((function(e){return e.toUpperCase()})).join(", ")},MediaValidationHelper.prototype.getValidateMediaTypeErrorMessage=function(e){var t="Invalid file type";return e.type&&(t+=" "+e.type),this.mediaEntity.acceptableMediaTypes&&this.mediaEntity.acceptableMediaTypes.length>0&&(t+=". Allowed file types: "+this.mediaEntity.acceptableMediaTypes.join(", ")),t+"."},MediaValidationHelper.prototype.getValidateFileSizeErrorMessage=function(){return"Invalid file size. Max size: "+this.fileSizePipe.transform(this.mediaEntity.maxSize)},MediaValidationHelper.prototype.validateFileMediaType=function(e){var t=!0;return this.mediaEntity.mediaFilterEnabled&&(t=Object(o.isFileTypeAllowed)(e.type,this.mediaEntity.acceptableMediaTypes)),t},MediaValidationHelper.prototype.validateFileExtension=function(e){var t=!0;return this.mediaEntity.mediaFilterEnabled&&(t=!e.name||Object(o.isFileTypeAllowed)(Object(o.getExtensionFromFileName)(e.name),this.mediaEntity.acceptableFileTypes)),t},MediaValidationHelper.prototype.validateFileSize=function(e){return 0===this.mediaEntity.maxSize||e.size<=this.mediaEntity.maxSize},MediaValidationHelper.ɵfac=function MediaValidationHelper_Factory(e){return new(e||MediaValidationHelper)},MediaValidationHelper.ɵprov=r["ɵɵdefineInjectable"]({token:MediaValidationHelper,factory:MediaValidationHelper.ɵfac}),MediaValidationHelper}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FileUploadComponent",(function(){return U}));var o=n(259),i=n(229),r=n(324),a=n(260),s=n(246),A=n(267),l=n(245),c=n(361),d=n(1118),p=n(1214),f=n(1221),u=n(1219),m=n(1114),g=n(323),E=n(1122),h=n(1226),b=n(1227),C=n(332),B=n(351),k=n(1228),I=n(1231),v=n(317),w=n(262),_=n(1154),x=n(1164),y=n(266),S=n(1134),T=n(326),M=n(131),D=n(1178),Q=n(1216),N=n(1177),R=n(244),F=n(1207),O=["wrapper"];function FileUploadComponent_div_4_ng_container_1_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FileUploadComponent_div_4_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,FileUploadComponent_div_4_ng_container_1_ng_container_1_Template,1,0,"ng-container",12),i["ɵɵelementContainerEnd"]()),2&e){i["ɵɵnextContext"](2);var n=i["ɵɵreference"](13);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n)}}function FileUploadComponent_div_4_div_2_ng_container_3_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FileUploadComponent_div_4_div_2_sf_form_field_wrapper_13_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-form-field-wrapper",23),2&e){var n=t.$implicit,o=i["ɵɵnextContext"]().$implicit;i["ɵɵproperty"]("formControlName",n.key)("fieldModel",n)("formControl",o.form.controls[n.key])}}var _c1=function(e){return{"-document -sf-centered-box":e}},_c2=function(e){return{"flex -flexible":e}},_c3=function(){return{classList:"-sf-txt-align-left"}};function FileUploadComponent_div_4_div_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div"),i["ɵɵelementStart"](1,"div",13),i["ɵɵelement"](2,"sf-file-preview",14),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,FileUploadComponent_div_4_div_2_ng_container_3_Template,1,0,"ng-container",15),i["ɵɵelementStart"](4,"div",16),i["ɵɵelementStart"](5,"label",17),i["ɵɵtext"](6),i["ɵɵelementEnd"](),i["ɵɵelementStart"](7,"sf-chips",18),i["ɵɵlistener"]("selectChip",(function FileUploadComponent_div_4_div_2_Template_sf_chips_selectChip_7_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSelectLibrary(e)}))("searchChips",(function FileUploadComponent_div_4_div_2_Template_sf_chips_searchChips_7_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSearchChips(e)})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementStart"](8,"div",19),i["ɵɵelementStart"](9,"div",20),i["ɵɵelementStart"](10,"label",17),i["ɵɵtext"](11,"Title"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](12,"sf-input",21),i["ɵɵlistener"]("onBlur",(function FileUploadComponent_div_4_div_2_Template_sf_input_onBlur_12_listener(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"](2).onTitleBlur(e)})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵtemplate"](13,FileUploadComponent_div_4_div_2_sf_form_field_wrapper_13_Template,1,3,"sf-form-field-wrapper",22),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,r=i["ɵɵnextContext"](2),a=i["ɵɵreference"](15);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](19,_c1,!r.mediaEntityData.metadata.isMultimedia)),i["ɵɵadvance"](1),i["ɵɵproperty"]("mediaEntityData",r.mediaEntityData)("ngClass",i["ɵɵpureFunction1"](21,_c2,r.multiple))("item",o)("dataURL",o.dataUrl)("multiple",r.multiple),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",a)("ngTemplateOutletContext",i["ɵɵpureFunction0"](23,_c3)),i["ɵɵadvance"](3),i["ɵɵtextInterpolate1"]("Store uploaded ",r.mediaEntity.singularName.toLowerCase()," to"),i["ɵɵadvance"](1),i["ɵɵpropertyInterpolate"]("isLoading",null!=r.selectedLibrary),i["ɵɵproperty"]("isSingleSelection",r.isSingleSelection)("config",r.chipsConfig)("selectedChips",r.selectedLibraries)("dropdownChips",r.dropdownChips)("chipContentName",r.libraryChipContentName),i["ɵɵadvance"](1),i["ɵɵproperty"]("formGroup",o.form),i["ɵɵadvance"](2),i["ɵɵattribute"]("for","img_title"),i["ɵɵadvance"](2),i["ɵɵproperty"]("placeholder",o.data.Title),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",o.fields)}}function FileUploadComponent_div_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",10),i["ɵɵtemplate"](1,FileUploadComponent_div_4_ng_container_1_Template,2,1,"ng-container",4),i["ɵɵtemplate"](2,FileUploadComponent_div_4_div_2_Template,14,24,"div",11),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",0===n.files.length),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.files)}}function FileUploadComponent_ng_container_7_div_2_ng_container_1_sf_form_field_wrapper_3_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-form-field-wrapper",30),2&e){var n=t.$implicit,o=i["ɵɵnextContext"](2).index,r=i["ɵɵnextContext"](2);i["ɵɵproperty"]("formControlName",n.key)("fieldModel",n)("formControl",r.files[o].form.controls[n.key])}}var _c4=function(e,t){return{"sf-placeholder":e,"-upload-image-preview":t}};function FileUploadComponent_ng_container_7_div_2_ng_container_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵelement"](1,"sf-file-preview",26),i["ɵɵelementStart"](2,"div",27),i["ɵɵtemplate"](3,FileUploadComponent_ng_container_7_div_2_ng_container_1_sf_form_field_wrapper_3_Template,1,3,"sf-form-field-wrapper",28),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"sf-button",29),i["ɵɵlistener"]("onClick",(function FileUploadComponent_ng_container_7_div_2_ng_container_1_Template_sf_button_onClick_4_listener(){i["ɵɵrestoreView"](n);var e=i["ɵɵnextContext"]().index,t=i["ɵɵnextContext"](2);return t.onRemoveClick(t.files[e])})),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}if(2&e){var o=i["ɵɵnextContext"]().index,r=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("mediaEntityData",r.mediaEntityData)("item",r.files[o])("ngClass",i["ɵɵpureFunction2"](8,_c4,r.mediaEntityData.metadata.isMultimedia,r.mediaEntityData.metadata.isMultimedia&&!r.mediaEntityData.metadata.isVideo))("dataURL",r.files[o].dataUrl)("multiple",r.multiple),i["ɵɵadvance"](1),i["ɵɵproperty"]("formGroup",r.files[o].form),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",r.files[o].fields),i["ɵɵadvance"](1),i["ɵɵproperty"]("ariaLabel",r.selectedFiles[o]?"Remove "+r.selectedFiles[o].name:null)}}function FileUploadComponent_ng_container_7_div_2_ng_container_2_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FileUploadComponent_ng_container_7_div_2_ng_container_2_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,FileUploadComponent_ng_container_7_div_2_ng_container_2_ng_container_1_Template,1,0,"ng-container",12),i["ɵɵelementContainerEnd"]()),2&e){i["ɵɵnextContext"](3);var n=i["ɵɵreference"](13);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n)}}function FileUploadComponent_ng_container_7_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",25),i["ɵɵtemplate"](1,FileUploadComponent_ng_container_7_div_2_ng_container_1_Template,5,11,"ng-container",4),i["ɵɵtemplate"](2,FileUploadComponent_ng_container_7_div_2_ng_container_2_Template,2,1,"ng-container",4),i["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.index,r=i["ɵɵnextContext"](2);i["ɵɵstyleProp"]("width",r.mediaEntityData.metadata.isMultimedia?n.width:null,"px")("height",r.mediaEntityData.metadata.isMultimedia?n.height+(r.mediaEntityData.metadata.isMultimedia&&!r.mediaEntityData.metadata.isVideo?r.imageInputOffset:0):null,"px")("top",r.mediaEntityData.metadata.isMultimedia?n.top+n.row*(r.mediaEntityData.metadata.isMultimedia&&!r.mediaEntityData.metadata.isVideo?r.imageInputOffset:0):null,"px")("left",r.mediaEntityData.metadata.isMultimedia?n.left:null,"px"),i["ɵɵproperty"]("ngClass",r.mediaEntityData.metadata.isMultimedia?"sf-flickr-gallery__item":"-document -sf-m-2xs"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",r.files[o]),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!r.files[o])}}function FileUploadComponent_ng_container_7_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"div",0),i["ɵɵtemplate"](2,FileUploadComponent_ng_container_7_div_2_Template,3,11,"div",24),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵstyleProp"]("height",n.mediaEntityData.metadata.isMultimedia?n.layout.containerHeight+(n.mediaEntityData.metadata.isMultimedia&&!n.mediaEntityData.metadata.isVideo?n.imageInputOffset:0)*(n.layout.boxes[n.layout.boxes.length-1].row+1):null,"px"),i["ɵɵclassProp"]("-sf-mb-3xl",n.mediaEntityData.metadata.isVideo),i["ɵɵproperty"]("ngClass",n.mediaEntityData.metadata.isMultimedia?"sf-flickr-gallery":"sf-row"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.layout.boxes)}}function FileUploadComponent_sf_error_8_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-error",31),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("messages",n.fileUploadErrorMessages)}}function FileUploadComponent_div_9_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",32),i["ɵɵelementStart"](1,"div",33),i["ɵɵelementStart"](2,"input",34),i["ɵɵlistener"]("change",(function FileUploadComponent_div_9_Template_input_change_2_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onSelectedForUpload(e.target.files)})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"label",35),i["ɵɵelementStart"](4,"span",36),i["ɵɵelement"](5,"i",37),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵclassProp"]("-sf-ml-2xs",!o.mediaEntityData.metadata.isMultimedia),i["ɵɵadvance"](2),i["ɵɵpropertyInterpolate1"]("id","",o.uniqueInputId,"-upload"),i["ɵɵproperty"]("accept",o.acceptFileTypes)("multiple",o.multiple),i["ɵɵadvance"](1),i["ɵɵpropertyInterpolate1"]("for","",o.uniqueInputId,"-upload"),i["ɵɵadvance"](1),i["ɵɵpropertyInterpolate1"]("title","Upload more ",o.mediaEntityData.metadata.setName,"")}}function FileUploadComponent_div_10_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}var _c5=function(e){return[e]};function FileUploadComponent_div_10_div_6_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",42),i["ɵɵelement"](1,"sf-error",43),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("messages",i["ɵɵpureFunction1"](1,_c5,n.errorMessage))}}var _c6=function(){return{classList:"-sf-txt-align-center -sf-mb-m"}},_c7=function(e){return{"-sf-ml--l":e}};function FileUploadComponent_div_10_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",38),i["ɵɵtemplate"](1,FileUploadComponent_div_10_ng_container_1_Template,1,0,"ng-container",15),i["ɵɵelementStart"](2,"div",20),i["ɵɵelementStart"](3,"label",39),i["ɵɵtext"](4),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"sf-chips",40),i["ɵɵlistener"]("selectChip",(function FileUploadComponent_div_10_Template_sf_chips_selectChip_5_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onSelectLibrary(e)}))("searchChips",(function FileUploadComponent_div_10_Template_sf_chips_searchChips_5_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onSearchChips(e)})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](6,FileUploadComponent_div_10_div_6_Template,2,3,"div",41),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](),r=i["ɵɵreference"](15);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",r)("ngTemplateOutletContext",i["ɵɵpureFunction0"](11,_c6)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](12,_c7,o.centerLibraryLabel)),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"]("Store uploaded ",o.mediaEntity.displayName.toLowerCase()," to"),i["ɵɵadvance"](1),i["ɵɵproperty"]("isLoading",!0)("config",o.chipsConfig)("chipContentName",o.libraryChipContentName)("isSingleSelection",o.isSingleSelection)("selectedChips",o.selectedLibraries)("dropdownChips",o.dropdownChips),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",o.errorMessage)}}function FileUploadComponent_hr_11_Template(e,t){1&e&&i["ɵɵelement"](0,"hr")}var _c8=function(e){return{"-small":e}};function FileUploadComponent_ng_template_12_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",44),i["ɵɵelement"](1,"sf-icon",45),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,_c8,n.multiple)),i["ɵɵadvance"](1),i["ɵɵproperty"]("name",n.mediaEntityData.metadata.isVideo?"video-camera":"picture-o")}}function FileUploadComponent_ng_template_14_div_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",47),i["ɵɵelementStart"](1,"label",39),i["ɵɵtext"](2,"Upload to"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"sf-provider-selector",48),i["ɵɵlistener"]("onChange",(function FileUploadComponent_ng_template_14_div_0_Template_sf_provider_selector_onChange_3_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onProviderSelectionChange(e)}))("onInit",(function FileUploadComponent_ng_template_14_div_0_Template_sf_provider_selector_onInit_3_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onProviderSelectionChange(e)})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]().classList,r=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",o),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](4,_c7,r.multiple)),i["ɵɵadvance"](2),i["ɵɵproperty"]("entityData",r.mediaEntityData)("displayMode","chips")}}function FileUploadComponent_ng_template_14_Template(e,t){if(1&e&&i["ɵɵtemplate"](0,FileUploadComponent_ng_template_14_div_0_Template,4,6,"div",46),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",n.showProviderSelector)}}var _c9=function(e){return{"sf-form -medium -sf-centered-box -sf-pb-zero":e}},_c10=function(e,t){return{"sf-row -column -align-items-center":e,"-sf-mt-3xl":t}},P=[y.Properties.URL_NAME,y.Properties.TITLE,y.Properties.ALTERNATIVE_TEXT,y.Properties.MEDIA_FILE_URL_NAME],U=function(e){function FileUploadComponent(t,n,o,r,a,s,A,l,c,d,p){var f=e.call(this,o)||this;return f.mediaRecognizerService=t,f.fileInfoService=n,f.layoutService=o,f.modalService=r,f.route=a,f.mediaValidationHelper=s,f.router=A,f.communicationService=l,f.notificationService=c,f.window=d,f.store=p,f.search=new i.EventEmitter,f.selectedProvider=new i.EventEmitter,f.chipsConfig={showRecentLabel:!1,showSelectedItemAsActive:!0,focusFirstNode:!1,showNoResultsLabel:!0,actions:[]},f.libraryChipContentName="library",f.isSingleSelection=!0,f.parentId=null,f.folderId=null,f.targetLibraryId=null,f.centerLibraryLabel=!0,f.allowCreate=!1,f.areDropdownChipsFiltered=!1,f.isAllFieldsValid=!1,f.bulkFiles=[],f}return Object(o.__extends)(FileUploadComponent,e),Object.defineProperty(FileUploadComponent.prototype,"files",{get:function(){return this._files},set:function(e){this._files=e,this.bulkFiles=this.cloneArray(e)},enumerable:!1,configurable:!0}),Object.defineProperty(FileUploadComponent.prototype,"selectedLibrary",{get:function(){return this._selectedLibrary},set:function(e){!e||e.isSeparator||e.isLink||(this.errorMessage=null,this._selectedLibrary=e,e.isTranslated=!0,this.selectedLibraries=[e],this.parentId=e.RootId?e.RootId:e.Id,this.folderId=e.RootId?e.Id:null)},enumerable:!1,configurable:!0}),Object.defineProperty(FileUploadComponent.prototype,"displayedLibraries",{get:function(){return this.dropdownChips.slice(0,-2)},set:function(e){this.dropdownChips=e.slice().filter((function(e){return!e.inactive}))},enumerable:!1,configurable:!0}),Object.defineProperty(FileUploadComponent.prototype,"lastUsedLibrary",{get:function(){return FileUploadComponent.lastUsedLibraryCache[this.mediaEntity.singularName.toLowerCase()]},set:function(e){FileUploadComponent.lastUsedLibraryCache[this.mediaEntity.singularName.toLowerCase()]=e},enumerable:!1,configurable:!0}),FileUploadComponent.prototype.ngOnInit=function(){var e=this;this.mediaEntity=this.mediaEntityData.metadata,this.messages=this.multiple?p.MESSAGES.multiple:p.MESSAGES.single,this.formattedTypeName=Object(l.getFormattedTypeName)({plural:this.mediaEntity.setName,singular:this.mediaEntity.singularName.toLowerCase()},this.multiple,!0),this.acceptFileTypes=this.mediaEntity.acceptableFileTypes.map((function(e){return"."+e})).join(","),this.initializeLibraries=this.initializeLibraries&&!this.selectedLibrary,this.initializeLibraries||this.selectedLibrary||(this.selectedLibraries=[]),this.registerSubscription(this.libraries.subscribe((function(t){e.initializeLibraries&&(e.initLibraries(t),e.initializeLibraries=!1),e.areDropdownChipsFiltered?e.chipsConfig.focusFirstNode=t&&t.length>0:e.chipsConfig.focusFirstNode=!1,e.displayedLibraries=t?t.map((function(e){return Object(l.cloneObject)(e.data)})):[],t&&1===t.length&&e.targetLibraryId&&(e.chipsConfig.hideEditButton=!0),(t&&0===t.length||e.chipsConfig.hideEditButton)&&(e.centerLibraryLabel=!1),e.chipsConfig.actions=[],e.allowCreate&&e.chipsConfig.actions.push({label:"Create a library",action:e.onCreateLibraries.bind(e)}),e.chipsConfig.actions.push({label:"Show all libraries",action:e.onShowAllLibraries.bind(e)})}))),this.uniqueInputId=Object(l.guid)(),this.files=[],this.onSelectedForUpload(this.selectedFiles)},FileUploadComponent.prototype.initLibraries=function(e){var t=this;if(e&&e.length){var n=e.slice().filter((function(e){return!e.data.inactive}));n.length?this.lastUsedLibrary&&n.some((function(e){return e.data.Id===t.lastUsedLibrary.Id}))?this.selectedLibrary=this.lastUsedLibrary:this.selectedLibrary=Object(l.cloneObject)(n[0].data):this.selectedLibraries=[]}else this.selectedLibraries=[]},FileUploadComponent.prototype.ngAfterViewInit=function(){var e=this;this.wrapperComponents=this.formwrapperComponentsQuery.toArray(),this.wrapperSubscriptions=this.formwrapperComponentsQuery.changes.subscribe((function(t){e.wrapperComponents=t.toArray()}))},FileUploadComponent.prototype.ngOnDestroy=function(){this.wrapperSubscriptions&&this.wrapperSubscriptions.unsubscribe(),this.notificationService.close(Q.MODAL_WINDOW_NOTIFICATION_FILTER)},FileUploadComponent.prototype.canCloseCallback=function(e){var t=!0;return e.data&&e.data.data&&(this.wrapperComponents.forEach((function(e){var n=!e.hasErrors();t&&(t=n)})),this.files.length&&this.multiple&&!this.isAllFieldsValid&&(t=!1,this.openRequiredFieldsBulkEdit(e.data.data))),t},FileUploadComponent.prototype.setCloseModalCallback=function(e){this._closeModalCallback=e},FileUploadComponent.prototype.onSelectedForUpload=function(e){var t=this;return new Promise((function(n,o){t.libraries.pipe(Object(M.first)()).subscribe((function(i){var r=i.find((function(e){return e.key===t.parentId}));t.mediaValidationHelper.validate(t.mediaEntity,Array.from(e),!0);var a=t.mediaValidationHelper.getValidFiles();t.justAddedFiles=a,t.fileUploadErrorMessages=t.mediaValidationHelper.getErrorMessages(),t.recalculateLayout(t.files.concat(t.justAddedFiles),t.wrapper);var s=a.map((function(e){return t.fileInfoService.createFileInfo(e,t.mediaEntity)}));return Promise.all(s).then((function(e){var o=[];e.forEach((function(e){e.isCorrupted?t.fileUploadErrorMessages.push("Invalid file."):o.push(e)})),t.files=t.files.concat(o),t.fileUploadErrorMessages=Array.from(new Set(t.fileUploadErrorMessages)),t.initFields(),t.justAddedFiles=[],t.recalculateLayout(t.files,t.wrapper),t.validateLibrarySize(t.files,r),n()})).catch(o)}))}))},FileUploadComponent.prototype.onTitleBlur=function(e){this.resetWhenEmpty(e.form,y.Properties.TITLE,e.data[y.Properties.TITLE])},FileUploadComponent.prototype.onResize=function(){this.window.document.fullscreenElement||this.recalculateLayout(this.files.concat(this.justAddedFiles),this.wrapper)},FileUploadComponent.prototype.onRemoveClick=function(e){var t=this;this.libraries.pipe(Object(M.first)()).subscribe((function(n){var o=n.find((function(e){return e.key===t.parentId})),i=t.files.findIndex((function(t){return t===e}));t.files.splice(i,1),t.bulkFiles.splice(i,1),t.selectedFiles.splice(i,1),t.fileUploadErrorMessages=[],t.validateLibrarySize(t.files,o),t.recalculateLayout(t.files,t.wrapper)}))},FileUploadComponent.prototype.getFilesForUpload=function(){var e=this;if(this.files)return this.lastUsedLibrary=this.selectedLibrary,this.files.map((function(t){var n=Object.keys(t.form.value).reduce((function(n,o){var i=t.form.value[o];return null!==i&&e.mediaEntity.singularName.toLowerCase()!==o&&(n[o]=i),n}),{});return{name:t.name,title:t.title,content:t.content,contentType:t.contentType,width:t.width,height:t.height,total:t.size,data:n,dataUrl:t.dataUrl,extension:t.extension,size:t.size}}))},FileUploadComponent.prototype.onSelectLibrary=function(e){e.folder?this.selectedLibrary=Object(l.cloneObject)(e.folder.data):e.library?this.selectedLibrary=Object(l.cloneObject)(e.library.data):this.selectedLibrary=e,e.action&&"function"==typeof e.action&&e.action(),this.validateLibrarySize(this.files,this.selectedLibrary)},FileUploadComponent.prototype.onSearchChips=function(e){this.areDropdownChipsFiltered=!!e,this.search.emit(e)},FileUploadComponent.prototype.onShowAllLibraries=function(){var e=this,t=[new d.ConfirmButton(p.MESSAGES.multiple.use.select(null)),new d.CancelButton(c.SelectorConstants.CANCEL)],n={type:f.LibraryTreeComponent,properties:{mediaEntityData:this.mediaEntityData,selectLibrary:this.onSelectLibrary,targetLibraryId:this.targetLibraryId}},o=new d.DialogData(n,(function(t){if(t.data&&t.data.data){var n=t.component;n&&n.value&&e.onSelectLibrary(n.value)}}),t,null,null);this.modalService.setMapping(o,"librarySelect"),this.modalService.open(this.route,"librarySelect")},FileUploadComponent.prototype.onCreateLibraries=function(){var e=this,t=this.route.parent.snapshot.data[w.RESOLVE_NAMES.metadata],n=T.MediaHelpers.getParentSetName(this.mediaEntityData),o=t.entities[n],i=v.DataItem.emptyItem({metadata:o,provider:this.mediaEntityData.metadata.selectedProvider||this.mediaEntityData.provider,culture:this.mediaEntityData.culture}),r=new _.EditInDialogCommand(this.modalService,this.router),a={dataItem:i,siteData:this.route.parent.snapshot.data.siteDataStore,dialogType:x.DynamicUpdateItemComponent};this.communicationService.next(new T.CreateLibraryFromFileUploadClickEvent({hideStorageProvider:!0})),r.execute({currentRoute:this.route.parent.parent,data:a,model:null}).subscribe((function(t){t.success&&(e.selectedLibrary=Object(l.cloneObject)(t.dataItem.data),e.store.getFolderById(e.mediaEntityData,e.selectedLibrary.Id).subscribe((function(t){e.validateLibrarySize(e.files,t.data)}))),e.communicationService.next(new T.CreateLibraryFromFileUploadClickEvent({hideStorageProvider:!1}))}))},FileUploadComponent.prototype.onProviderSelectionChange=function(e){this.initializeLibraries=!0,this.selectedProvider.emit(e.tabValue)},FileUploadComponent.prototype.resetWhenEmpty=function(e,t,n){var o,i=e.getRawValue();(i[t]||s.stringConstants.EMPTY_STRING).trim().length||e.setValue(Object.assign(i,((o={})[t]=n||s.stringConstants.EMPTY_STRING,o)))},FileUploadComponent.prototype.initFields=function(){var e=this,t=this.fields.find((function(e){return e.key===y.Properties.ALTERNATIVE_TEXT})),n=this.fields.filter((function(t){return P.indexOf(t.key)<0&&!e.multiple&&t.settings.required})),o=this.fields.filter((function(e){return P.indexOf(e.key)<0&&e.settings.required}));if(this.isAllFieldsValid=n.length===o.length,t){var i=t.settings;t.settings.title="Alternative text",this.multiple&&(i.placeholder="Alt text",i.look="inline sf-mt-4xs"),n.unshift(t),o.unshift(t)}this.multiple&&(o.unshift(this.createMediaModel()),o.forEach((function(e){e.selector!==B.FieldTypes.shortText&&e.selector!==B.FieldTypes.textArea||(e.settings.placeholder="Add "+e.settings.title.toLowerCase(),e.settings.look="inline"),e.settings.showTitle=!1}))),this.files.length>0&&(this.assignFields(this.files,n),this.assignFields(this.bulkFiles,o))},FileUploadComponent.prototype.assignFields=function(e,t){for(var n=this,_loop_1=function(e){e.fields=new Array,t.forEach((function(t){var o=Object(l.deepClone)(t);t.key===n.mediaEntity.singularName.toLowerCase()&&(e.src=e.dataUrl,e.item=e,e.playable=!1,e.inGridView=!0,o.value=e),o.settings.key=e.title,o.settings.culture=n.mediaEntityData.culture,e.fields.push(o),e.form.setControl(t.key,new r.FormControl(o.value,t.settings.validators))}))},o=0,i=e;o0),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.multiple),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.multiple),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.multiple))},encapsulation:2}),FileUploadComponent}(I.FileLayoutBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"LibraryTreeComponent",(function(){return m}));var o=n(259),i=n(131),r=n(229),a=n(11),s=n(418),A=n(264),l=n(1207),c=n(1215),d=n(1063),p=n(1222),f=n(1223),u=n(1225);function LibraryTreeComponent_ng_container_4_sf_tree_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-tree",5),r["ɵɵlistener"]("treeNodeClicked",(function LibraryTreeComponent_ng_container_4_sf_tree_1_Template_sf_tree_treeNodeClicked_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectLibrary(e)}))("dataUpdate",(function LibraryTreeComponent_ng_container_4_sf_tree_1_Template_sf_tree_dataUpdate_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onDataUpdate(e)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]().$implicit,i=r["ɵɵnextContext"]();r["ɵɵproperty"]("config",i.treeConfig)("loadChildren",i.loadChildren)("nodes",o)("textToMatch",i.textToMatch)}}function LibraryTreeComponent_ng_container_4_div_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵelement"](1,"sf-icon",6),r["ɵɵelementStart"](2,"p",7),r["ɵɵtext"](3),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](3),r["ɵɵtextInterpolate1"]("No ",n.mediaEntityData.metadata.singularName.toLowerCase()," libraries found")}}function LibraryTreeComponent_ng_container_4_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,LibraryTreeComponent_ng_container_4_sf_tree_1_Template,1,4,"sf-tree",4),r["ɵɵtemplate"](2,LibraryTreeComponent_ng_container_4_div_2_Template,4,1,"div",3),r["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit;r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.length),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.length)}}var m=function(e){function LibraryTreeComponent(t,n,o){var i=e.call(this)||this;return i.libraryStore=t,i.longRunningTasksService=n,i.compositeDataExtender=o,i.cancel=new r.EventEmitter,i.selectLibrary=new r.EventEmitter,i.treeConfig={isHierarchical:!0,treeProperties:{idField:"id",displayField:"title",hasChildrenField:"hasChildren"},dataProperties:{breadcrumbField:"breadcrumb",toolTipField:"tooltip"}},i.loadChildren=i.loadChildNodes.bind(i),i.targetLibraryId=null,i.foldersSubject=new a.ReplaySubject(1),i.librariesById=new Map,i.searchSubject=new a.ReplaySubject(1),i.searchResults=new Map,i.cachedTasks=[],i}return Object(o.__extends)(LibraryTreeComponent,e),LibraryTreeComponent.prototype.ngOnInit=function(){var e=this,t=this.longRunningTasksService.getTasks({culture:this.mediaEntityData.culture,metadata:this.mediaEntityData.metadata,provider:this.mediaEntityData.metadata.selectedProvider||this.mediaEntityData.provider});this.getLibraryNodes$=this.foldersSubject.pipe(Object(i.tap)((function(t){e.setLibrariesIds(t.value),e.toggleTreeMode(t.isHierarchical)})),Object(i.switchMapTo)(t,(function(t,n){return e.cachedTasks=n,e.mapToLibraryNodes(t.value,n,t.isHierarchical)}))),this.loadLibraries(),this.registerSearchSubscription()},LibraryTreeComponent.prototype.loadChildNodes=function(e){var t=this;return this.libraryStore.getFoldersByParentId(this.mediaEntityData,e.data.id,c.PAGE_SIZE,!1,!1,null).pipe(Object(d.toLoadingState)(),Object(i.first)((function(e){return!e.isLoading})),Object(i.map)((function(e){return e.content})),Object(i.tap)((function(e){return t.setLibrariesIds(e)})),Object(i.map)((function(e){return t.mapToLibraryNodes(e,t.cachedTasks)}))).toPromise()},LibraryTreeComponent.prototype.onSelectLibrary=function(e){this.selectedNode=e.data;var t=e.path[0],n=this.librariesById.get(t),o=e.path.length>1?e.path[e.path.length-1]:null,i=o?this.librariesById.get(o):null;this.value={library:n,folder:i}},LibraryTreeComponent.prototype.onSearchLibrary=function(e){this.textToMatch=e,this.searchSubject.next(e)},LibraryTreeComponent.prototype.onCancelClick=function(){this.cancel.emit()},LibraryTreeComponent.prototype.onDataUpdate=function(){var e=this.selectedNode&&this.selectedNode.breadcrumb;if(this.treeConfig.isHierarchical&&e){var t=this.selectedNode.breadcrumb.slice().reverse();t.unshift(this.selectedNode.title);var n=new s.TreeNodeModel;n.addPath(t),this.tree.expandAndSelect(n,this.treeConfig.treeProperties.displayField)}},LibraryTreeComponent.prototype.filterLibraries=function(e){var t=this,n=!e;if(this.searchResults.has(e)){var o=this.searchResults.get(e);this.foldersSubject.next(o)}else{var r={search:e&&e.trim()};e?this.libraryStore.getFoldersByParentId(this.mediaEntityData,this.targetLibraryId,c.PAGE_SIZE,!1,!0,r.search,void 0,!0).pipe(Object(d.toLoadingState)(),Object(i.first)((function(e){return!e.isLoading})),Object(i.map)((function(o){var i={isHierarchical:n,value:o.content};t.searchResults.set(e,i),t.foldersSubject.next(i)}))).subscribe():(r.parentId=null,this.toggleTreeMode(n),this.loadLibraries())}},LibraryTreeComponent.prototype.loadLibraries=function(){var e=this,t=c.PAGE_SIZE;this.targetLibraryId&&(t=1);this.libraryStore.getFoldersByParentId(this.mediaEntityData,this.targetLibraryId,t,!1,!0,null,void 0,!0).pipe(Object(d.toLoadingState)(),Object(i.first)((function(e){return!e.isLoading})),Object(i.map)((function(t){var n={isHierarchical:e.treeConfig.isHierarchical,value:t.content};e.foldersSubject.next(n)}))).subscribe()},LibraryTreeComponent.prototype.registerSearchSubscription=function(){var e=this,t=this.searchSubject.pipe(Object(i.debounceTime)(100),Object(i.distinctUntilChanged)()).subscribe((function(t){return e.filterLibraries(t)}));this.registerSubscription(t)},LibraryTreeComponent.prototype.toggleTreeMode=function(e){this.treeConfig.isHierarchical=e,this.treeConfig.showBreadcrumb=!e},LibraryTreeComponent.prototype.mapToLibraryNode=function(e,t){void 0===t&&(t=!0);var n=e.data,o=n.Id,i=n.Title,r=n.FoldersCount,a=n.Breadcrumb,s={id:o,title:i,parentId:n.ParentId,breadcrumb:a,inactive:n.inactive,tooltip:n.tooltip,isSelectionDisabled:n.isSelectionDisabled};return t&&(s.hasChildren=r>0),s},LibraryTreeComponent.prototype.mapToLibraryNodes=function(e,t,n){var o=this;return void 0===n&&(n=!0),this.compositeDataExtender.enhanceDataItems(this.mediaEntityData,e,{inactive:!0,tooltip:function(e){return e},isSelectionDisabled:!0},{tasks:t,whiteListedTasks:[u.BackgroundTaskType.RegenerateThumbnails]}).map((function(e){return o.mapToLibraryNode(e,n)}))},LibraryTreeComponent.prototype.setLibrariesIds=function(e){var t=this;e.forEach((function(e){return t.librariesById.set(e.data.Id,e)}))},LibraryTreeComponent.ɵfac=function LibraryTreeComponent_Factory(e){return new(e||LibraryTreeComponent)(r["ɵɵdirectiveInject"](l.LibraryStore),r["ɵɵdirectiveInject"](f.LongRunningTasksService),r["ɵɵdirectiveInject"](p.CompositeDataExtender))},LibraryTreeComponent.ɵcmp=r["ɵɵdefineComponent"]({type:LibraryTreeComponent,selectors:[["sf-library-tree"]],viewQuery:function LibraryTreeComponent_Query(e,t){if(1&e&&r["ɵɵviewQuery"](s.TreeComponent,1),2&e){var n;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.tree=n.first)}},inputs:{mediaEntityData:"mediaEntityData"},outputs:{cancel:"cancel",selectLibrary:"selectLibrary"},features:[r["ɵɵInheritDefinitionFeature"]],decls:6,vars:4,consts:[[1,"sf-form","-medium","-sf-centered-box"],[1,"-sf-mb-6xl"],["placeholderText","Narrow by typing ...","wrapperLook","fluid sf-mb-xs sf-txt-align-left","inputLook","sf-mb-zero",3,"clearable","onClear","searchValueChange"],[4,"ngIf"],[3,"config","loadChildren","nodes","textToMatch","treeNodeClicked","dataUpdate",4,"ngIf"],[3,"config","loadChildren","nodes","textToMatch","treeNodeClicked","dataUpdate"],["name","search","look","illustrative sf-mt-2xl sf-mb-xl sf-mr-zero"],["data-sftest","sf-no-libraries-hint",1,"-sf-txt-hint"]],template:function LibraryTreeComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵelementStart"](1,"h1",1),r["ɵɵtext"](2,"Select a library"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"sf-search",2),r["ɵɵlistener"]("onClear",(function LibraryTreeComponent_Template_sf_search_onClear_3_listener(e){return t.onSearchLibrary(e)}))("searchValueChange",(function LibraryTreeComponent_Template_sf_search_searchValueChange_3_listener(e){return t.onSearchLibrary(e)})),r["ɵɵelementEnd"](),r["ɵɵtemplate"](4,LibraryTreeComponent_ng_container_4_Template,3,2,"ng-container",3),r["ɵɵpipe"](5,"async"),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵadvance"](3),r["ɵɵproperty"]("clearable",!0),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",r["ɵɵpipeBind1"](5,2,t.getLibraryNodes$)))},encapsulation:2}),LibraryTreeComponent}(A.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"DATA_EXTENDER_TOKEN",(function(){return i})),n.d(t,"DataExtenderBase",(function(){return r})),n.d(t,"CompositeDataExtender",(function(){return a}));var o=n(229),i=new o.InjectionToken("data-extender"),r=function r(){},a=function(){function CompositeDataExtender(e){this.dataExtenders=e}return CompositeDataExtender.prototype.enhanceDataItems=function(e,t,n,o){var i=this.getExtender(e);return i?i.enhanceDataItems(t,n,o):t},CompositeDataExtender.prototype.getExtender=function(e){return this.dataExtenders.find((function(t){return e&&t.isSupportedType(e)}))},CompositeDataExtender.ɵfac=function CompositeDataExtender_Factory(e){return new(e||CompositeDataExtender)(o["ɵɵinject"](i,8))},CompositeDataExtender.ɵprov=o["ɵɵdefineInjectable"]({token:CompositeDataExtender,factory:CompositeDataExtender.ɵfac}),CompositeDataExtender}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DONE_TASK_TIMEOUT",(function(){return g})),n.d(t,"LONG_RUNNING_TASK_STARTED",(function(){return E})),n.d(t,"LONG_RUNNING_TASK_COMPLETED",(function(){return h})),n.d(t,"QUICK_TIMEOUT",(function(){return b})),n.d(t,"SLOW_TIMEOUT",(function(){return C})),n.d(t,"LongRunningTasksService",(function(){return B})),n.d(t,"generateRunningTaskError",(function(){return generateRunningTaskError})),n.d(t,"getItemIdFromTaskData",(function(){return getItemIdFromTaskData})),n.d(t,"getItemsFromTaskData",(function(){return getItemsFromTaskData})),n.d(t,"getLibrariesRunningTasksAndMap",(function(){return getLibrariesRunningTasksAndMap}));var o=n(259),i=n(229),r=n(1171),a=n(11),s=n(246),A=n(317),l=n(244),c=n(1147),d=n(1224),p=n(1225),f=n(131),u=n(1134),m=n(327),g=5e3,E="longRunningTaskStarted",h="longRunningTaskCompleted",b=3e3,C=6e4,B=function(){function LongRunningTasksService(e,t,n,o,i){var r=this;this.dynamicItemStore=e,this.window=t,this.zone=n,this.providerStore=o,this.communicationService=i,this.progress=new a.BehaviorSubject([]),this.onProgress=new a.Subject,LongRunningTasksService.subscription&&LongRunningTasksService.subscription.unsubscribe(),this.stopService(),LongRunningTasksService.subscription=this.onProgress.subscribe((function(e){var t=r.progress.getValue();t.forEach((function(n,o){e.find((function(e){return n.Id===e.Id}))||r.processCompletedOrDeletedTask(t,n,o)})),e.forEach((function(e){var n=t.findIndex((function(t){return e.Id===t.Id}));if(n>=0){var o=t[n];r.updateTaskValues(o,e)}else t.push(Object.assign(e,{lastUpdateDate:Date.now()}))})),r.progress.next(t),r.initTimer(t)}))}return LongRunningTasksService.prototype.init=function(e){this.entityData=e,this.progressSubscription&&this.progressSubscription.unsubscribe(),this.progress.next([]),this.getProgress(e)},LongRunningTasksService.prototype.getTasks=function(e){var t=this;return new a.Observable((function(n){t.executeServiceCall(e).subscribe((function(e){n.next(e)}))}))},LongRunningTasksService.prototype.refresh=function(){this.getProgress(this.entityData)},LongRunningTasksService.prototype.start=function(e,t){var n=this;return this.manageTask(e,t,null).pipe(Object(f.tap)((function(e){var t=new CustomEvent(E);n.window.dispatchEvent(t),n.addTask(e[0])})))},LongRunningTasksService.prototype.stop=function(e){var t=this;this.manageTask(e,null,p.TaskAction.Stop).subscribe((function(e){t.updateTask(e[0])}))},LongRunningTasksService.prototype.resume=function(e){var t=this;this.manageTask(e,null,p.TaskAction.Resume).subscribe((function(e){t.updateTask(e[0])}))},LongRunningTasksService.prototype.retry=function(e){var t=this;this.manageTask(e,null,p.TaskAction.Restart).subscribe((function(e){t.updateTask(e[0])}))},LongRunningTasksService.prototype.delete=function(e){var t=this;this.manageTask(e,null,p.TaskAction.Delete).subscribe((function(n){var o=t.progress.getValue(),i=o.findIndex((function(t){return t.Id===e}));i>-1&&(o[i].Status=p.TaskStatus[p.TaskStatus.Failed.toString()],t.onProgress.next(o.filter((function(t){return t.Id!==e}))))}))},LongRunningTasksService.prototype.stopService=function(){this.entityData=null,LongRunningTasksService.timerId&&this.window.clearInterval(LongRunningTasksService.timerId)},LongRunningTasksService.prototype.initTimer=function(e){var t=this;void 0===e&&(e=[]),LongRunningTasksService.timerId&&this.window.clearInterval(LongRunningTasksService.timerId);var n=this.determineTimeout(e);this.zone.runOutsideAngular((function(){LongRunningTasksService.timerId=t.window.setInterval((function(){return t.getProgress(t.entityData)}),n)}))},LongRunningTasksService.prototype.addTask=function(e){var t=this.progress.getValue();this.onProgress.next(Object(o.__spreadArrays)(t,[e]))},LongRunningTasksService.prototype.updateTask=function(e){var t=this.progress.getValue();this.onProgress.next(t.map((function(t){return t.Id===e.Id?e:t})))},LongRunningTasksService.prototype.updateTaskValues=function(e,t){var n=e.Status;e.Description=t.Description,e.ProgressStatus=t.ProgressStatus,e.Status=t.Status,e.StatusMessage=t.StatusMessage,e.TaskName=t.TaskName,e.lastUpdateDate=Date.now(),n!==t.Status&&this.triggerUpdateGrid()},LongRunningTasksService.prototype.determineTimeout=function(e){var t=b;return 0===e.filter((function(e){return p.TaskStatus[e.Status.toString()]!==p.TaskStatus.Failed&&p.TaskStatus[e.Status.toString()]!==p.TaskStatus.Stopped})).length&&(t=C),t},LongRunningTasksService.prototype.getProgress=function(e,t){var n=this;void 0===t&&(t=!0),e?this.progressSubscription&&!this.progressSubscription.closed||(this.progressSubscription=this.executeServiceCall(e).subscribe((function(e){n.onProgress.next(e)}))):this.stopService()},LongRunningTasksService.prototype.executeServiceCall=function(e){return this.dynamicItemStore.service.executeBoundFunction(A.DataItem.emptyItem(e),"Default.BackgroundTasks(taskType='"+s.stringConstants.EMPTY_STRING+"')").pipe(Object(f.map)((function(e){return e.value})))},LongRunningTasksService.prototype.manageTask=function(e,t,n){var o=new a.ReplaySubject(1),i={data:{itemId:e,taskType:t?t.toString():s.stringConstants.EMPTY_STRING,action:n?n.toString():s.stringConstants.EMPTY_STRING},culture:null,provider:this.providerStore.currentProvider};return this.dynamicItemStore.service.executeUnboundFunction("Default.ManageBackgroundTasks",i).subscribe((function(e){o.next(e.value),o.complete()}),(function(e){o.error(e)})),o.pipe(Object(f.first)())},LongRunningTasksService.prototype.processCompletedOrDeletedTask=function(e,t,n){switch(p.TaskStatus[t.Status.toString()]){case p.TaskStatus.Failed:e.splice(n,1),this.triggerUpdateGrid();break;case p.TaskStatus.Pending:t.ProgressStatus="50",t.Status=p.TaskStatus[p.TaskStatus.Started.toString()],t.lastUpdateDate=Date.now();break;case p.TaskStatus.Started:t.ProgressStatus="100",t.Status=p.TaskStatus[p.TaskStatus.Done.toString()],t.lastUpdateDate=Date.now();break;case p.TaskStatus.Done:Date.now()-t.lastUpdateDate>g&&(e.splice(n,1),this.triggerUpdateGrid())}},LongRunningTasksService.prototype.triggerUpdateGrid=function(){var e=new CustomEvent(h);this.window.dispatchEvent(e),this.communicationService.next(new m.LongRunningTaskCompleted)},LongRunningTasksService.subscription=null,LongRunningTasksService.ɵfac=function LongRunningTasksService_Factory(e){return new(e||LongRunningTasksService)(i["ɵɵinject"](r.DynamicItemStore),i["ɵɵinject"](l.WINDOW_TOKEN),i["ɵɵinject"](i.NgZone),i["ɵɵinject"](c.ProviderStore),i["ɵɵinject"](u.ComponentCommunicationService))},LongRunningTasksService.ɵprov=i["ɵɵdefineInjectable"]({token:LongRunningTasksService,factory:LongRunningTasksService.ɵfac}),LongRunningTasksService}();function generateRunningTaskError(e,t){if(!e)return null;var n="performing another task";switch(e.TaskName){case p.BackgroundTaskType.RegenerateThumbnails:n="regenerating thumbnails";break;case p.BackgroundTaskType.MoveLibrary:case p.BackgroundTaskType.MoveLibraryAlternative:var o=d.BackgroundTaskDataParser.parse(e);n=t&&o.libraryId===t?"moving items to this library":"moving to another library";break;case p.BackgroundTaskType.StorageRelocation:case p.BackgroundTaskType.StorageRelocationAlternative:case p.BackgroundTaskType.ChangeLibraryUrl:n="RelocateLibrary"===e.Title?"generating new URLs":"moving to another storage"}return"Disabled while "+n}function getItemIdFromTaskData(e){return e.TaskData?d.BackgroundTaskDataParser.parse(e).libraryId:null}function getItemsFromTaskData(e){var t,n=[];e.TaskName===p.BackgroundTaskType.MoveLibraryAlternative?(n=(t=d.BackgroundTaskDataParser.parse(e)).itemIds?t.itemIds.concat(t.libraryId):[t.itemId]).push(t.newItemId):n=[(t=d.BackgroundTaskDataParser.parse(e)).libraryId];return n.filter((function(e){return e!==s.stringConstants.DEFAULT_GUID}))}function getLibrariesRunningTasksAndMap(e){var t={};return e.forEach((function(e){getItemsFromTaskData(e).forEach((function(n){t[n]=e}))})),t}},function(e,t,n){"use strict";n.r(t),n.d(t,"BackgroundTaskDataParser",(function(){return i}));var o=n(1225),i=function(){function BackgroundTaskDataParser(){}return BackgroundTaskDataParser.parse=function(e){var t;if(e.TaskName===o.BackgroundTaskType.RegenerateThumbnails)return{libraryId:(t=e.TaskData.split(";"))[0],provider:t[1],thumbnailProfiles:t.slice(2,t.length-2),siteId:t[t.length-1]};if(e.TaskName===o.BackgroundTaskType.MoveLibraryAlternative){var n=JSON.parse(e.TaskData);return{itemId:n.ItemId,itemIds:n.ItemIDs,libraryId:n.ParentId,provider:n.LibraryProvider,newItemId:n.NewItemId,libraryTitle:n.LibraryTitle,siteId:null}}return e.TaskName===o.BackgroundTaskType.StorageRelocationAlternative?{libraryId:(t=e.TaskData.split(";"))[0],provider:t[1],libraryTitle:t[2]}:e.TaskData},BackgroundTaskDataParser}()},function(e,t,n){"use strict";var o,i,r,a;n.r(t),n.d(t,"TaskType",(function(){return o})),n.d(t,"TaskAction",(function(){return i})),n.d(t,"TaskStatus",(function(){return r})),n.d(t,"BackgroundTaskType",(function(){return a})),function(e){e.RegenerateThumbnails="RegenerateThumbnails",e.MoveLibrary="MoveLibrary"}(o||(o={})),function(e){e[e.Restart=0]="Restart",e[e.Stop=1]="Stop",e[e.Resume=2]="Resume",e[e.Delete=3]="Delete"}(i||(i={})),function(e){e[e.Pending=0]="Pending",e[e.Started=1]="Started",e[e.Failed=2]="Failed",e[e.Stopped=3]="Stopped",e[e.Done=4]="Done"}(r||(r={})),function(e){e.RegenerateThumbnails="Telerik.Sitefinity.Modules.Libraries.LibraryThumbnailsRegenerateTask",e.MoveLibrary="Telerik.Sitefinity.Modules.Libraries.LibraryMoveTask",e.MoveLibraryAlternative="LibraryMoveTask",e.StorageRelocation="Telerik.Sitefinity.Modules.Libraries.LibraryRelocationTask",e.StorageRelocationAlternative="LibraryRelocationTask",e.TaxonMove="Telerik.Sitefinity.Taxonomies.ScheduledTasks.TaxonMoveTask",e.FlatTaxonMerge="Telerik.Sitefinity.Taxonomies.ScheduledTasks.FlatTaxonMergeTask",e.ChangeLibraryUrl=""}(a||(a={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"BulkComponent",(function(){return d}));var o=n(259),i=n(229),r=n(1122),a=(n(1118),n(246)),s=n(328),A=n(11),l=n(264),c=n(256);function BulkComponent_table_1_th_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"th",6),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngClass",o.generateCssClass(n)),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.settings.title?n.settings.title:n.key," ")}}function BulkComponent_table_1_ng_container_3_td_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"td",9),i["ɵɵelement"](1,"sf-form-field-wrapper",10),i["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=i["ɵɵnextContext"]().index,r=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngClass",r.generateCssClass(n)),i["ɵɵadvance"](1),i["ɵɵproperty"]("formControlName",n.key)("fieldModel",n)("formControl",r.items[o].form.controls[n.key])}}function BulkComponent_table_1_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"tr",7),i["ɵɵtemplate"](2,BulkComponent_table_1_ng_container_3_td_2_Template,2,4,"td",8),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()),2&e){var n=t.index,o=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("formGroup",o.items[n].form),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",o.items[n].fields)}}function BulkComponent_table_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"table"),i["ɵɵelementStart"](1,"tr",3),i["ɵɵtemplate"](2,BulkComponent_table_1_th_2_Template,2,2,"th",4),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,BulkComponent_table_1_ng_container_3_Template,3,2,"ng-container",5),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵclassMapInterpolate1"]("sf-tree-list ",n.wrapperClass," -sf-centered-box -bulk -sf-txt-align-left -sf-mt-xl -sf-mb-3xl"),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",n.items[0].fields),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.items)}}function BulkComponent_ng_template_2_Template(e,t){1&e&&(i["ɵɵelement"](0,"sf-icon",11),i["ɵɵelementStart"](1,"p",12),i["ɵɵtext"](2,"Selected items from the current language will be displayed here"),i["ɵɵelementEnd"]())}var d=function(e){function BulkComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.onFieldChange=new A.ReplaySubject(1),t.wrapperClass="-medium",t.bulkWrapperMap=new Map([[s.MEDIA_CONTENT_TYPES.document.single,"-normal"],[s.MEDIA_CONTENT_TYPES.video.single,"-normal"]]),t}return Object(o.__extends)(BulkComponent,e),BulkComponent.prototype.ngOnInit=function(){this.title="Bulk edit of "+this.type+" properties";var e=this.bulkWrapperMap.get(this.type);e&&(this.wrapperClass=e)},BulkComponent.prototype.canCloseCallback=function(e){var t=!0,n=null;return e.data&&e.data.data&&this.wrapperComponents.forEach((function(e){var o=!e.hasErrors();t&&(t=o),n||o||(n=e)})),n&&n.scrollToField(),t},BulkComponent.prototype.ngAfterViewInit=function(){var e=this;this.wrapperComponents=this.formwrapperComponentsQuery.toArray();var t=this.formwrapperComponentsQuery.changes.subscribe((function(t){e.wrapperComponents=t.toArray()}));this.registerSubscription(t),this.items.forEach((function(t){if(t.form){var n=t.form.valueChanges.subscribe((function(){e.onFieldChange.next(t)}));e.registerSubscription(n)}}))},BulkComponent.prototype.generateCssClass=function(e){var t=[],n=[s.MEDIA_CONTENT_TYPES.document.single,s.MEDIA_CONTENT_TYPES.video.single];return t.push(a.stringConstants.DASH+e.selector),n.indexOf(e.key)>-1&&t.push(a.stringConstants.DASH+e.key),e.cssClass&&t.push(e.cssClass),this.isColumnWide(e)&&t.push("-wide"),t.join(a.stringConstants.INTERVAL)},BulkComponent.prototype.isColumnWide=function(e){if(e.settings&&e.settings.type){if(e.settings.type===c.MEDIA_TYPES.VIDEO)return!0;if(e.settings.type===c.MEDIA_TYPES.IMAGE&&!e.settings.allowMultiple)return!0}return!1},BulkComponent.ɵfac=function BulkComponent_Factory(e){return p(e||BulkComponent)},BulkComponent.ɵcmp=i["ɵɵdefineComponent"]({type:BulkComponent,selectors:[["sf-bulk-edit-properties"]],viewQuery:function BulkComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](r.FormFieldWrapperComponent,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.formwrapperComponentsQuery=n)}},features:[i["ɵɵInheritDefinitionFeature"]],decls:4,vars:3,consts:[[3,"heading"],[3,"class",4,"ngIf","ngIfElse"],["noItemsTemplate",""],[1,"sf-tree-list__row","-head","-border"],["class","sf-tree-list__cell -head",3,"ngClass",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"sf-tree-list__cell","-head",3,"ngClass"],[1,"sf-tree-list__row","-border",3,"formGroup"],["class","sf-tree-list__cell",3,"ngClass",4,"ngFor","ngForOf"],[1,"sf-tree-list__cell",3,"ngClass"],["ngDefaultControl","",3,"formControlName","fieldModel","formControl"],["name","check-square-o","look","illustrative sf-mt-7xl sf-mb-xs sf-mr-zero"],[1,"-sf-txt-hint"]],template:function BulkComponent_Template(e,t){if(1&e&&(i["ɵɵelement"](0,"sf-sticky-component",0),i["ɵɵtemplate"](1,BulkComponent_table_1_Template,4,5,"table",1),i["ɵɵtemplate"](2,BulkComponent_ng_template_2_Template,3,0,"ng-template",null,2,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](3);i["ɵɵproperty"]("heading",t.title),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.items.length)("ngIfElse",n)}},encapsulation:2}),BulkComponent}(l.RxBaseComponent),p=i["ɵɵgetInheritedFactory"](d)},function(e,t,n){"use strict";n.r(t),n.d(t,"SimpleMediaComponent",(function(){return l}));var o=n(259),i=n(336),r=n(1114),a=n(229),s=n(261),A=n(354);function SimpleMediaComponent_div_0_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div"),a["ɵɵelement"](1,"sf-component-loader",1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("componentData",n.previewerData)}}var l=function(e){function SimpleMediaComponent(t){var n=e.call(this)||this;return n.mediaRecognizerService=t,n}return Object(o.__extends)(SimpleMediaComponent,e),SimpleMediaComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),t&&(this.previewerData=this.mediaRecognizerService.getComponentData(t))},SimpleMediaComponent.ɵfac=function SimpleMediaComponent_Factory(e){return new(e||SimpleMediaComponent)(a["ɵɵdirectiveInject"](r.MediaRecognizerService))},SimpleMediaComponent.ɵcmp=a["ɵɵdefineComponent"]({type:SimpleMediaComponent,selectors:[["sf-simple-media"]],features:[a["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[[4,"ngIf"],[3,"componentData"]],template:function SimpleMediaComponent_Template(e,t){1&e&&a["ɵɵtemplate"](0,SimpleMediaComponent_div_0_Template,2,1,"div",0),2&e&&a["ɵɵproperty"]("ngIf",t.previewerData)},directives:[s.NgIf,A.SfDynamicComponentLoaderComponent],encapsulation:2}),SimpleMediaComponent}(i.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT_BOX_HEIGHT",(function(){return a})),n.d(t,"DEFAULT_SMALL_BOX_HEIGHT",(function(){return s})),n.d(t,"DEFAULT_BOX_SPACING",(function(){return A})),n.d(t,"DOCUMENT_BOX_SPACING",(function(){return l})),n.d(t,"DOCUMENT_ROW_HEIGHT",(function(){return c})),n.d(t,"LayoutService",(function(){return p}));var o=n(328),i=n(1229),r=n(229),a=150,s=100,A=10,l=30,c=260+l,d={width:s,height:s};var p=function(){function LayoutService(){}return LayoutService.prototype.layout=function(e,t,n,r,s,l,c){void 0===n&&(n=a),void 0===r&&(r=A),void 0===s&&(s=Number.POSITIVE_INFINITY),void 0===c&&(c=0);var p={containerWidth:t,targetRowHeight:n,maxNumRows:s,targetRowHeightTolerance:0,containerPadding:0,boxSpacing:r},f=i(e.map((function(e){return function mapForLayout(e,t){var n=d;if(t)switch(t.singularName.toLowerCase()){case o.MEDIA_CONTENT_TYPES.document.single:n={width:200,height:260};break;case o.MEDIA_CONTENT_TYPES.image.single:n={width:e.Width||e.width||160,height:e.Height||e.height||160};break;case o.MEDIA_CONTENT_TYPES.video.single:n={width:e.Width||e.width||300,height:e.Height||e.height||205}}return n}(e,l)})),p);return f.boxes=f.boxes.map((function(e,t){return e.index=t,e})),f.index=c,f.containerWidth=this.getLayoutContianerWidth(f,r),f},LayoutService.prototype.getLayoutContianerWidth=function(e,t){for(var n=0,o=0,i=0;i0&&e.boxes[i].top>e.boxes[i-1].top&&n++,0===n&&(o+=e.boxes[i].width+t);return o-t},LayoutService.ɵfac=function LayoutService_Factory(e){return new(e||LayoutService)},LayoutService.ɵprov=r["ɵɵdefineInjectable"]({token:LayoutService,factory:LayoutService.ɵfac}),LayoutService}()},,,function(e,t,n){"use strict";n.r(t),n.d(t,"FileLayoutBaseComponent",(function(){return a}));var o=n(259),i=n(1228),r=n(264),a=function(e){function FileLayoutBaseComponent(t){var n=e.call(this)||this;return n.layoutService=t,n.imageInputOffset=55,n}return Object(o.__extends)(FileLayoutBaseComponent,e),FileLayoutBaseComponent.prototype.recalculateLayout=function(e,t){if(this.multiple&&t){var n=i.DEFAULT_BOX_HEIGHT;this.mediaEntityData.metadata.isMultimedia||(n=i.DOCUMENT_ROW_HEIGHT),"auto"!==t.nativeElement.style.width&&(t.nativeElement.style.width="auto"),this.layout=this.layoutService.layout(e,t.nativeElement.offsetWidth,n,i.DEFAULT_BOX_SPACING,Number.POSITIVE_INFINITY,this.mediaEntityData.metadata);for(var o=0,r=0,a=0;a0&&this.layout.boxes[a].top>this.layout.boxes[a-1].top&&o++,this.layout.boxes[a].row=o,0===o&&(r+=this.layout.boxes[a].width+i.DEFAULT_BOX_SPACING);0===o&&r>0&&(t.nativeElement.style.width=r+"px")}},FileLayoutBaseComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"FileUploadProgressComponent",(function(){return u}));var o=n(259),i=(n(11),n(229)),r=n(1231),a=n(1228),s=n(1214),A=n(245),l=n(1118),c=n(1233),d=n(1216),p=n(326),f=["wrapper"],_c1=function(e,t){return{"-failure":e,"-document -vertical":t}};function FileUploadProgressComponent_ng_container_6_div_2_progress_3_Template(e,t){if(1&e&&i["ɵɵelement"](0,"progress",14),2&e){var n=i["ɵɵnextContext"]().index,o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction2"](3,_c1,o.files[n].upload.failure,!o.mediaEntityData.metadata.isMultimedia))("max",o.files[n].upload.total)("value",o.files[n].upload.success?o.files[n].upload.total:o.files[n].upload.loaded)}}function FileUploadProgressComponent_ng_container_6_div_2_div_5_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",15),i["ɵɵtext"](1,"Uploading..."),i["ɵɵelementEnd"]())}function FileUploadProgressComponent_ng_container_6_div_2_div_6_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",16),i["ɵɵelementStart"](1,"span",17),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"a",18),i["ɵɵlistener"]("click",(function FileUploadProgressComponent_ng_container_6_div_2_div_6_Template_a_click_3_listener(){i["ɵɵrestoreView"](n);var e=i["ɵɵnextContext"]().index,t=i["ɵɵnextContext"](2);return t.retryUpload(t.files[e].upload)})),i["ɵɵtext"](4,"Retry"),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]().index,r=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵattribute"]("title",r.files[o].upload.errorMessage),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](r.files[o].upload.errorMessage||"Upload failed."),i["ɵɵadvance"](1),i["ɵɵclassProp"]("-sf-ml-auto",!r.mediaEntityData.metadata.isMultimedia)}}function FileUploadProgressComponent_ng_container_6_div_2_div_7_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",15),i["ɵɵtext"](1,"Done"),i["ɵɵelementEnd"]())}var _c2=function(e,t,n){return{"-upload-progress":e,"sf-placeholder":t,"-upload-image-preview":n}},_c3=function(e,t){return{"sf-placeholder":e,"-upload-image-preview":t}};function FileUploadProgressComponent_ng_container_6_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",8),i["ɵɵelementStart"](1,"div",8),i["ɵɵelement"](2,"sf-file-preview",9),i["ɵɵtemplate"](3,FileUploadProgressComponent_ng_container_6_div_2_progress_3_Template,1,6,"progress",10),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"div",11),i["ɵɵtemplate"](5,FileUploadProgressComponent_ng_container_6_div_2_div_5_Template,2,0,"div",12),i["ɵɵtemplate"](6,FileUploadProgressComponent_ng_container_6_div_2_div_6_Template,5,4,"div",13),i["ɵɵtemplate"](7,FileUploadProgressComponent_ng_container_6_div_2_div_7_Template,2,0,"div",12),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.index,r=i["ɵɵnextContext"](2);i["ɵɵstyleProp"]("width",r.mediaEntityData.metadata.isMultimedia?n.width:null,"px")("height",r.mediaEntityData.metadata.isMultimedia?n.height+(r.mediaEntityData.metadata.isMultimedia&&!r.mediaEntityData.metadata.isVideo?r.imageInputOffset:0):null,"px")("top",r.mediaEntityData.metadata.isMultimedia?n.top+n.row*(r.mediaEntityData.metadata.isMultimedia&&!r.mediaEntityData.metadata.isVideo?r.imageInputOffset:0):null,"px")("left",r.mediaEntityData.metadata.isMultimedia?n.left:null,"px"),i["ɵɵproperty"]("ngClass",r.mediaEntityData.metadata.isMultimedia?"sf-flickr-gallery__item":"-document -sf-m-2xs"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction3"](19,_c2,!(r.files[o].upload.success||r.files[o].upload.failure),r.mediaEntityData.metadata.isMultimedia,r.mediaEntityData.metadata.isMultimedia&&!r.mediaEntityData.metadata.isVideo)),i["ɵɵadvance"](1),i["ɵɵproperty"]("mediaEntityData",r.mediaEntityData)("item",r.files[o].upload)("ngClass",i["ɵɵpureFunction2"](23,_c3,r.mediaEntityData.metadata.isMultimedia,r.mediaEntityData.metadata.isMultimedia&&!r.mediaEntityData.metadata.isVideo))("dataURL",r.files[o].upload.dataUrl)("multiple",r.multiple),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",r.files[o].upload.loaded),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",r.showProgressLabels()&&!r.files[o].upload.failure&&!r.files[o].upload.success),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",r.files[o].upload.failure),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",r.showProgressLabels()&&r.files[o].upload.success)}}function FileUploadProgressComponent_ng_container_6_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"div",0),i["ɵɵtemplate"](2,FileUploadProgressComponent_ng_container_6_div_2_Template,8,26,"div",7),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵstyleProp"]("height",n.mediaEntityData.metadata.isMultimedia?n.layout.containerHeight+(n.mediaEntityData.metadata.isMultimedia&&!n.mediaEntityData.metadata.isVideo?n.imageInputOffset:0)*(n.layout.boxes[n.layout.boxes.length-1].row+1):null,"px"),i["ɵɵclassProp"]("-sf-mb-3xl",n.mediaEntityData.metadata.isVideo),i["ɵɵproperty"]("ngClass",n.mediaEntityData.metadata.isMultimedia?"sf-flickr-gallery":"sf-row"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.layout.boxes)}}var _c4=function(){return[]};function FileUploadProgressComponent_sf_chips_10_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-chips",19),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("isLoading",!0)("config",n.chipsConfig)("chipContentName",n.libraryChipContentName)("isSingleSelection",!0)("selectedChips",n.selectedLibraries)("dropdownChips",i["ɵɵpureFunction0"](6,_c4))}}var _c5=function(e){return{"sf-form -medium -sf-centered-box -sf-pb-zero":e}},_c6=function(e){return{"sf-row -column -align-items-center":e}},u=function(e){function FileUploadProgressComponent(t,n){var o=e.call(this,t)||this;return o.layoutService=t,o.modalWindowService=n,o.files=[],o.fileUploads=[],o.multiple=!0,o.selectedLibraries=[],o.chipsConfig={showRecentLabel:!1,showSelectedItemAsActive:!0,focusFirstNode:!1,showNoResultsLabel:!0,hideEditButton:!0},o.isFirstRun=!0,o}return Object(o.__extends)(FileUploadProgressComponent,e),FileUploadProgressComponent.prototype.ngOnInit=function(){var e=this,t=this.uploadingFiles.subscribe((function(t){var n=t.items;(0===e.files.length&&n.length>0||e.files.length!==n.length)&&(e.files=n.map((function(t){return t.contentType=e.mediaEntityData.metadata.singularName.toLocaleLowerCase()+"/",t})),e.fileUploads=n.map((function(e){return e.upload})));var o=!0;e.files.forEach((function(e,t){e.upload.loaded=n[t].upload.loaded,e.upload.failure=n[t].upload.failure,e.upload.total=n[t].upload.total,e.upload.success||e.upload.failure||(o=!1)})),o&&(e.modalWindowService.sendCommand(c.FILE_UPLOAD_PROGRESS,{name:d.SHOW_BUTTONS,data:!0}),e.modalWindowService.sendCommand(c.FILE_UPLOAD_PROGRESS,{name:d.SHOW_CLOSE_BUTTON,data:!0})),e.isFirstRun&&(e.isFirstRun=!1,e.recalculateLayout(e.fileUploads,e.wrapper))}));this.registerSubscription(t),this.messages=this.multiple?s.MESSAGES.multiple:s.MESSAGES.single,this.formattedTypeName=Object(A.getFormattedTypeName)({plural:this.mediaEntityData.metadata.setName,singular:this.mediaEntityData.metadata.singularName},this.multiple,!0)},FileUploadProgressComponent.prototype.onResize=function(){this.recalculateLayout(this.fileUploads,this.wrapper)},FileUploadProgressComponent.prototype.retryUpload=function(e){this.modalWindowService.sendCommand(c.FILE_UPLOAD_PROGRESS,{name:c.FILE_UPLOAD_RETRY_COMMAND,data:e})},FileUploadProgressComponent.prototype.showProgressLabels=function(){return p.MediaHelpers.isImageEntity(this.mediaEntityData)},FileUploadProgressComponent.ɵfac=function FileUploadProgressComponent_Factory(e){return new(e||FileUploadProgressComponent)(i["ɵɵdirectiveInject"](a.LayoutService),i["ɵɵdirectiveInject"](l.ModalWindowService))},FileUploadProgressComponent.ɵcmp=i["ɵɵdefineComponent"]({type:FileUploadProgressComponent,selectors:[["sf-file-upload-progress"]],viewQuery:function FileUploadProgressComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](f,3),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.wrapper=n.first)}},hostBindings:function FileUploadProgressComponent_HostBindings(e,t){1&e&&i["ɵɵlistener"]("resize",(function FileUploadProgressComponent_resize_HostBindingHandler(){return t.onResize()}),!1,i["ɵɵresolveWindow"])},inputs:{uploadingFiles:"uploadingFiles"},features:[i["ɵɵInheritDefinitionFeature"]],decls:11,vars:10,consts:[[3,"ngClass"],[1,"-sf-centered-box","-sf-mt-3xl","-sf-mb-m",3,"ngClass"],["wrapper",""],[4,"ngIf"],[1,"sf-field"],[1,"sf-field__label"],["class","sf-field__content","look","justify-content-center","data-sftest","sf-library-chips-selector",3,"isLoading","config","chipContentName","isSingleSelection","selectedChips","dropdownChips",4,"ngIf"],["class","sf-media",3,"ngClass","width","height","top","left",4,"ngFor","ngForOf"],[1,"sf-media",3,"ngClass"],[3,"mediaEntityData","item","ngClass","dataURL","multiple"],["class","sf-media__progress -absolute","min","0",3,"ngClass","max","value",4,"ngIf"],[1,"-sf-mt-3xs","-sf-txt-align-left","sf-media__progress-status"],["class","-sf-txt-success",4,"ngIf"],["class","-sf-txt-failure sf-row -justify-content-between",4,"ngIf"],["min","0",1,"sf-media__progress","-absolute",3,"ngClass","max","value"],[1,"-sf-txt-success"],[1,"-sf-txt-failure","sf-row","-justify-content-between"],[1,"sf-media__error-message","-sf-overflow-ellipsis"],[3,"click"],["look","justify-content-center","data-sftest","sf-library-chips-selector",1,"sf-field__content",3,"isLoading","config","chipContentName","isSingleSelection","selectedChips","dropdownChips"]],template:function FileUploadProgressComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵelementStart"](1,"div"),i["ɵɵelementStart"](2,"h1"),i["ɵɵtext"](3),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"div",1,2),i["ɵɵtemplate"](6,FileUploadProgressComponent_ng_container_6_Template,3,6,"ng-container",3),i["ɵɵelementEnd"](),i["ɵɵelementStart"](7,"div",4),i["ɵɵelementStart"](8,"label",5),i["ɵɵtext"](9),i["ɵɵelementEnd"](),i["ɵɵtemplate"](10,FileUploadProgressComponent_sf_chips_10_Template,1,7,"sf-chips",6),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](6,_c5,!t.multiple)),i["ɵɵadvance"](3),i["ɵɵtextInterpolate"](t.messages.title.upload(t.formattedTypeName)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](8,_c6,!t.multiple||!t.layout||!t.layout.boxes.length||0===t.files.length)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",t.multiple&&t.layout&&t.layout.boxes.length),i["ɵɵadvance"](3),i["ɵɵtextInterpolate1"]("Store uploaded ",t.formattedTypeName," to"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.selectedLibraries||(null==t.selectedLibraries?null:t.selectedLibraries.length)))},encapsulation:2}),FileUploadProgressComponent}(r.FileLayoutBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"FILE_UPLOAD_PROGRESS",(function(){return o})),n.d(t,"FILE_UPLOAD_RETRY_COMMAND",(function(){return i}));var o="fileUploadProgress",i="retryFailedUpload"},function(e,t,n){"use strict";n.r(t),n.d(t,"HierarchicalLibrariesService",(function(){return m})),n.d(t,"HIERARCHICAL_LIBRARIES_SERVICE",(function(){return E}));var o=n(259),i=n(229),r=n(11),a=n(1189),s=n(314),A=n(317),l=n(256),c=n(246),d=n(131),p=n(245),f=n(266),u=n(326),m=function(e){function HierarchicalLibrariesService(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(HierarchicalLibrariesService,e),HierarchicalLibrariesService.prototype.showStatusIcons=function(){return!1},HierarchicalLibrariesService.prototype.isHierarchical=function(e){return!0},HierarchicalLibrariesService.prototype.getSetName=function(){return l.ENTITY_SET.ALBUMS},HierarchicalLibrariesService.prototype.isTypeSupported=function(e){return u.MediaHelpers.isLibrary(e.metadata.setName)},HierarchicalLibrariesService.prototype.getName=function(e,t){return Object(r.of)({entityData:e,totalCount:0,dataItems:[]})},HierarchicalLibrariesService.prototype.getItemTaxa=function(e,t,n,o){var i=null;return e&&(i=e[0]===c.stringConstants.DEFAULT_GUID?null:e[0]),this.dynamicItemService.getItemList({entityData:t,action:"Default.FoldersRecursiveSearch(parentId="+i+")?filterByCreateChildPermissions="+(o||!1)+"&recursive="+!1+"&includeParent="+!0,fallbackProperties:[t.metadata.defaultFieldName],take:1,siteId:this.siteId})},HierarchicalLibrariesService.prototype.getRecent=function(e,t,n,o,i){var r=this.getExcludedRootId(i);return this.dynamicItemService.getItemList({entityData:e,action:"Default.FoldersRecursiveSearch(parentId=null)?filterByCreateChildPermissions=true&recursive=true&excludedRootId="+r,fallbackProperties:[e.metadata.defaultFieldName],take:a.RESULT_COUNT,siteId:this.siteId})},HierarchicalLibrariesService.prototype.expandChildren=function(e,t,n,o){var i=e.parentId||null,r=this.getExcludedRootId(e.targetDataItem);return this.dynamicItemService.getItemList({entityData:t,action:"Default.FoldersRecursiveSearch(parentId="+i+")?recursive="+!1+"&excludedRootId="+r,fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId,skip:e.skip}).pipe(Object(d.map)((function(e){return e.dataItems.forEach((function(e,t,n){var o=Object(p.cloneObject)(e.data);o[f.Properties.HAS_CHILDREN]=e.data[u.MEDIA_PROPERTIES.FOLDERS_COUNT]>0,n[t]=A.DataItem.fromEntityData(o,e)})),e})))},HierarchicalLibrariesService.prototype.loadMore=function(e,t,n,o,i){var r=Object(s.createQuery)(),a=i?c.stringConstants.EMPTY_STRING:n.id||c.stringConstants.EMPTY_STRING;e.searchText&&(r=r.search(e.searchText));var l=this.dynamicItemService.getItemList({entityData:t,action:"Default.FoldersRecursiveSearch(parentId=null)?filterByCreateChildPermissions=true&recursive=false&excludedRootId="+a,fallbackProperties:[t.metadata.defaultFieldName],siteId:this.siteId,query:r,skip:e.skip});return e.searchText?l:l.pipe(Object(d.map)((function(e){return e.dataItems.forEach((function(e,t,n){var o=Object(p.cloneObject)(e.data);o[f.Properties.HAS_CHILDREN]=e.data[u.MEDIA_PROPERTIES.FOLDERS_COUNT]>0,n[t]=A.DataItem.fromEntityData(o,e)})),e})))},HierarchicalLibrariesService.prototype.getModalItems=function(e,t,n,o){return this.dynamicItemService.getItemList({entityData:e,action:"Default.FoldersRecursiveSearch(parentId=null)?filterByCreateChildPermissions=true&recursive=false&excludedRootId="+this.getExcludedRootId(o),fallbackProperties:[e.metadata.defaultFieldName],siteId:this.siteId}).pipe(Object(d.map)((function(e){return e.dataItems.forEach((function(e,t,n){var o=Object(p.cloneObject)(e.data);o[f.Properties.HAS_CHILDREN]=e.data[u.MEDIA_PROPERTIES.FOLDERS_COUNT]>0,n[t]=A.DataItem.fromEntityData(o,e)})),e})))},HierarchicalLibrariesService.prototype.getSearchedItems=function(e,t){var n=Object(s.createQuery)();e.searchText&&(n=n.search(e.searchText));var o=e.parentId||null,i=e.taxaId||c.stringConstants.EMPTY_STRING,r="Default.FoldersRecursiveSearch(parentId="+o+")?filterByCreateChildPermissions=true&recursive="+!1+"&includeParent="+!!e.includeParent;i&&(r=r+"&excludedRootId="+i);var a={entityData:t.entityData,action:r,fallbackProperties:[t.entityData.metadata.defaultFieldName],take:t.take,siteId:this.siteId,query:n};return Object(p.hasValue)(t.skip)&&(a.skip=t.skip),t.order&&(a.order=t.order),this.dynamicItemService.getItemList(a)},HierarchicalLibrariesService.prototype.getExcludedRootId=function(e){var t=c.stringConstants.EMPTY_STRING;return e&&u.MediaHelpers.isLibrary(e.metadata.setName)&&!e.isEmpty&&(t=e.data[f.Properties.ID]),t},HierarchicalLibrariesService.ɵfac=function HierarchicalLibrariesService_Factory(e){return g(e||HierarchicalLibrariesService)},HierarchicalLibrariesService.ɵprov=i["ɵɵdefineInjectable"]({token:HierarchicalLibrariesService,factory:HierarchicalLibrariesService.ɵfac}),HierarchicalLibrariesService}(a.HierarchicalService),g=i["ɵɵgetInheritedFactory"](m),E={multi:!0,provide:a.HIERARCHICAL_SERVICE_TOKEN,useClass:m}},function(e,t,n){"use strict";n.r(t),n.d(t,"LoadMoreComponent",(function(){return r}));var o=n(229),i=n(261);function LoadMoreComponent_div_0_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",1),o["ɵɵelementStart"](1,"a",2),o["ɵɵlistener"]("click",(function LoadMoreComponent_div_0_Template_a_click_1_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().loadMore()})),o["ɵɵtext"](2),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"]();o["ɵɵadvance"](2),o["ɵɵtextInterpolate"](i.buttonText)}}var r=function(){function LoadMoreComponent(){this.onLoadMore=new o.EventEmitter}return LoadMoreComponent.prototype.ngOnInit=function(){this.isLoadButtonVisible=this.getLoadButtonVisibility()},LoadMoreComponent.prototype.loadMore=function(){this.isLoadButtonVisible=this.getLoadButtonVisibility(!0),this.onLoadMore.emit()},LoadMoreComponent.prototype.getLoadButtonVisibility=function(e){return void 0===e&&(e=!1),e?!!this.loadCount&&this.currentItemsCount+this.loadCount .k-header,\n.k-panel > .k-header {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n margin: -4px -8px 4px;\n padding: 8px 8px;\n}\n.k-content {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-state-disabled,\n.k-widget[disabled],\n.k-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-state-disabled .k-link,\n.k-state-disabled .k-button,\n.k-widget[disabled] .k-link,\n.k-widget[disabled] .k-button,\n.k-disabled .k-link,\n.k-disabled .k-button {\n cursor: default;\n outline: 0;\n}\n.k-state-disabled [disabled],\n.k-state-disabled .k-state-disabled,\n.k-widget[disabled] [disabled],\n.k-widget[disabled] .k-state-disabled,\n.k-disabled [disabled],\n.k-disabled .k-state-disabled {\n opacity: 1;\n filter: grayscale(0);\n}\n.k-hr {\n margin: 1em auto;\n padding: 0;\n height: 0;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: rgba(0, 0, 0, 0.08);\n display: block;\n float: none;\n clear: both;\n}\n.k-d-flex-row > .k-hr, .k-columnset > .k-hr, .k-hbox > .k-hr {\n margin: 0;\n width: 0;\n height: auto;\n border-width: 0 0 0 1px;\n flex: 0 0 auto;\n}\n.k-d-flex-col > .k-hr, .k-rowset > .k-hr, .k-vbox > .k-hr {\n margin: 0;\n flex: 0 0 auto;\n}\n.k-dirty {\n margin: 0;\n padding: 0;\n width: 0;\n height: 0;\n border-width: 3px;\n border-style: solid;\n border-color: #f31700 #f31700 transparent transparent;\n position: absolute;\n top: 0;\n right: 0;\n}\n[dir=rtl] .k-dirty,\n.k-rtl .k-dirty {\n border-color: transparent transparent #f31700 #f31700;\n right: auto;\n left: 0;\n}\n.k-placeholder-line {\n width: 100%;\n height: 10px;\n background-color: rgba(0, 0, 0, 0.1);\n display: inline-block;\n}\n.k-drop-hint {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n z-index: 1000;\n transform: translate(-50%, -50%);\n}\n.k-drop-hint-start,\n.k-drop-hint-end {\n flex-shrink: 0;\n border-width: 4px;\n border-style: solid;\n border-color: transparent;\n}\n.k-drop-hint-line {\n flex-grow: 1;\n background-color: #38ab63;\n}\n.k-drop-hint-h .k-drop-hint-start {\n border-left-width: 6.9282032304px;\n border-left-color: #38ab63;\n border-right-width: 0;\n}\n.k-drop-hint-h .k-drop-hint-line {\n width: 20px;\n height: 1px;\n}\n.k-drop-hint-h .k-drop-hint-end {\n border-right-width: 6.9282032304px;\n border-right-color: #38ab63;\n border-left-width: 0;\n}\n.k-drop-hint-v {\n flex-direction: column;\n}\n.k-drop-hint-v .k-drop-hint-start {\n border-top-width: 6.9282032304px;\n border-top-color: #38ab63;\n border-bottom-width: 0;\n}\n.k-drop-hint-v .k-drop-hint-line {\n width: 1px;\n height: 20px;\n}\n.k-drop-hint-v .k-drop-hint-end {\n border-bottom-width: 6.9282032304px;\n border-bottom-color: #38ab63;\n border-top-width: 0;\n}\n.k-animation-container {\n position: absolute;\n overflow: hidden;\n z-index: 100;\n}\n.k-animation-container-fixed {\n position: fixed;\n}\n.k-animation-container-relative {\n position: relative;\n display: inline-block;\n}\n.k-push-right-enter, .k-push-right-appear {\n transform: translate(-100%, 0);\n}\n.k-push-right-enter-active, .k-push-right-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-right-exit {\n transform: translate(0, 0);\n}\n.k-push-right-exit-active {\n transform: translate(100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-enter, .k-push-left-appear {\n transform: translate(100%, 0);\n}\n.k-push-left-enter-active, .k-push-left-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-exit {\n transform: translate(0, 0);\n}\n.k-push-left-exit-active {\n transform: translate(-100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-enter, .k-push-down-appear {\n transform: translate(0, -100%);\n}\n.k-push-down-enter-active, .k-push-down-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-exit {\n transform: translate(0, 0);\n}\n.k-push-down-exit-active {\n transform: translate(0, 100%);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-enter, .k-push-up-appear {\n transform: translate(0, 100%);\n}\n.k-push-up-enter-active, .k-push-up-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-exit {\n transform: translate(0, 0);\n}\n.k-push-up-exit-active {\n transform: translate(0, -100%);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-enter, .k-expand-vertical-appear {\n transform: scaleY(0);\n}\n.k-expand-vertical-enter-active, .k-expand-vertical-appear-active {\n transform: scaleY(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-exit {\n transform: scaleY(1);\n}\n.k-expand-vertical-exit-active {\n transform: scaleY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-enter, .k-expand-horizontal-appear {\n transform: scaleX(0);\n}\n.k-expand-horizontal-enter-active, .k-expand-horizontal-appear-active {\n transform: scaleX(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-exit {\n transform: scaleX(1);\n}\n.k-expand-horizontal-exit-active {\n transform: scaleX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-fade-enter, .k-fade-appear {\n opacity: 0;\n}\n.k-fade-enter-active, .k-fade-appear-active {\n opacity: 1;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit {\n opacity: 1;\n}\n.k-fade-exit-active {\n opacity: 0;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit-active + .k-fade-exit-active, .k-fade-enter-active + .k-fade-enter-active {\n display: none;\n}\n.k-zoom-in-enter, .k-zoom-in-appear {\n opacity: 0;\n transform: scale(0);\n}\n.k-zoom-in-enter-active, .k-zoom-in-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-in-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-in-exit-active {\n opacity: 0;\n transform: scale(2);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-enter, .k-zoom-out-appear {\n opacity: 0;\n transform: scale(2);\n}\n.k-zoom-out-enter-active, .k-zoom-out-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-out-exit-active {\n opacity: 0;\n transform: scale(0);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-slide-in-appear {\n opacity: 0.1;\n transform: translate(0, -3em);\n}\n.k-slide-in-appear .k-centered {\n transform: translate(-50%, -60%);\n}\n.k-slide-in-appear-active {\n opacity: 1;\n transform: translate(0, 0);\n transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1), opacity 0.3s cubic-bezier(0.2, 1, 0.2, 1);\n}\n.k-slide-in-appear-active .k-centered {\n transform: translate(-50%, -50%);\n}\n.k-slide-down-enter, .k-slide-down-appear {\n transform: translateY(-100%);\n}\n.k-slide-down-enter-active, .k-slide-down-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-down-exit {\n transform: translateY(0);\n}\n.k-slide-down-exit-active {\n transform: translateY(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-enter, .k-slide-up-appear {\n transform: translateY(100%);\n}\n.k-slide-up-enter-active, .k-slide-up-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-exit {\n transform: translateY(0);\n}\n.k-slide-up-exit-active {\n transform: translateY(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-enter, .k-slide-right-appear {\n transform: translateX(-100%);\n}\n.k-slide-right-enter-active, .k-slide-right-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-exit {\n transform: translateX(0);\n}\n.k-slide-right-exit-active {\n transform: translateX(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-enter, .k-slide-left-appear {\n transform: translateX(100%);\n}\n.k-slide-left-enter-active, .k-slide-left-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-exit {\n transform: translateX(0);\n}\n.k-slide-left-exit-active {\n transform: translateX(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-reveal-vertical-enter, .k-reveal-vertical-appear {\n max-height: 0;\n}\n.k-reveal-vertical-enter-active, .k-reveal-vertical-appear-active {\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-vertical-exit-active {\n max-height: 0 !important;\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-horizontal-enter, .k-reveal-horizontal-appear {\n max-width: 0;\n}\n.k-reveal-horizontal-enter-active, .k-reveal-horizontal-appear-active {\n transition: max-width 300ms ease-in-out;\n}\n.k-reveal-horizontal-exit-active {\n max-width: 0 !important;\n transition: max-width 300ms ease-in-out;\n}\n.k-fx-end .k-fx-next,\n.k-fx-end .k-fx-current {\n transition: all 350ms ease-out;\n}\n.k-fx {\n position: relative;\n}\n.k-fx .k-fx-current {\n z-index: 0;\n}\n.k-fx .k-fx-next {\n z-index: 1;\n}\n.k-fx-hidden,\n.k-fx-hidden * {\n visibility: hidden !important;\n}\n.k-fx-reverse .k-fx-current {\n z-index: 1;\n}\n.k-fx-reverse .k-fx-next {\n z-index: 0;\n}\n.k-fx-zoom.k-fx-start .k-fx-next {\n transform: scale(0) !important;\n}\n.k-fx-zoom.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next, .k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current {\n transform: scale(0) !important;\n}\n.k-fx-fade.k-fx-start .k-fx-next {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-fade.k-fx-end .k-fx-next {\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current {\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-content, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer, .k-fx-slide.k-fx-end .k-fx-current .km-content, .k-fx-slide.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-end .k-fx-current .km-footer {\n transition: all 350ms ease-out;\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-start .k-fx-next .km-content {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-start .k-fx-next .km-footer {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer {\n opacity: 0;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0%);\n}\n.k-fx-tile.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0%);\n}\n.k-fx.k-fx-overlay.k-fx-start .k-fx-next, .k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next {\n transform: translateY(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next {\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current, .k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current {\n transform: translateY(-100%);\n}\n.k-drag-clue {\n border-radius: 0;\n padding: 4px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 13px;\n font-family: inherit;\n line-height: 1.4285714286;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n align-content: center;\n white-space: nowrap;\n overflow: hidden;\n position: absolute;\n z-index: 20000;\n cursor: move;\n}\n.k-drag-status,\n.k-drag-clue .k-drag-status {\n margin: 0;\n margin-right: 0.4ex;\n}\n.k-drag-clue {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-reorder-cue {\n position: absolute;\n}\n.k-reorder-cue::before, .k-reorder-cue::after {\n content: "";\n width: 0;\n height: 0;\n border: 3px solid transparent;\n position: absolute;\n transform: translateX(-50%);\n}\n.k-reorder-cue::before {\n border-bottom-width: 0;\n border-top-color: currentColor;\n top: -4px;\n}\n.k-reorder-cue::after {\n border-top-width: 0;\n border-bottom-color: currentColor;\n bottom: -4px;\n}\n.k-loading {\n width: 64px;\n height: 64px;\n display: block;\n}\n.k-loading .animate {\n -webkit-animation: loading 2s infinite linear;\n animation: loading 2s infinite linear;\n}\n.k-loading-mask,\n.k-loading-image,\n.k-loading-color {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.k-loading-mask {\n z-index: 100;\n}\n.k-loading-mask.k-opaque .k-loading-color {\n opacity: 1;\n}\n.k-loading-text {\n text-indent: -4000px;\n text-align: center;\n position: absolute;\n}\n.k-loading-image {\n z-index: 2;\n}\n.k-loading-color {\n background-color: #ffffff;\n opacity: 0.3;\n}\n.k-i-loading {\n position: relative;\n background-color: transparent;\n box-sizing: border-box;\n color: currentColor;\n}\n.k-i-loading::before,\n.k-i-loading::after,\n.k-loading-image::before,\n.k-loading-image::after {\n position: absolute;\n top: 50%;\n left: 50%;\n display: inline-block;\n content: "";\n box-sizing: inherit;\n border-radius: 50%;\n border-width: 0.05em;\n border-style: solid;\n border-color: currentColor;\n border-top-color: transparent;\n border-bottom-color: transparent;\n background-color: transparent;\n}\n.k-icon.k-i-loading::before,\n.k-icon.k-i-loading::after {\n content: "";\n}\n.k-i-loading::before,\n.k-loading-image::before {\n margin-top: -0.5em;\n margin-left: -0.5em;\n width: 1em;\n height: 1em;\n -webkit-animation: k-loading-animation 0.7s linear infinite;\n animation: k-loading-animation 0.7s linear infinite;\n}\n.k-i-loading::after,\n.k-loading-image::after {\n margin-top: -0.25em;\n margin-left: -0.25em;\n width: 0.5em;\n height: 0.5em;\n animation: k-loading-animation reverse 1.4s linear infinite;\n}\n.k-loading-image::before,\n.k-loading-image::after {\n content: "";\n border-width: 1px;\n border-width: max( 1px, .015em );\n font-size: 4em;\n}\n@-webkit-keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@-webkit-keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.k-resize-handle,\n.k-resize-hint {\n position: absolute;\n border-color: inherit;\n z-index: 200;\n}\n.k-resize-handle {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.k-resize-handle::before {\n content: "";\n border: 0 solid;\n border-color: inherit;\n}\n.k-resize-n {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n top: -3px;\n cursor: n-resize;\n}\n.k-resize-s {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n bottom: -3px;\n cursor: s-resize;\n}\n.k-resize-w {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n left: -3px;\n cursor: w-resize;\n}\n.k-resize-e {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n right: -3px;\n cursor: e-resize;\n}\n.k-resize-sw,\n.k-resize-se,\n.k-resize-nw,\n.k-resize-ne {\n width: 5px;\n height: 5px;\n}\n.k-resize-sw {\n cursor: sw-resize;\n bottom: 0;\n left: 0;\n}\n.k-resize-se {\n cursor: se-resize;\n bottom: 0;\n right: 0;\n}\n.k-resize-nw {\n cursor: nw-resize;\n top: 0;\n left: 0;\n}\n.k-resize-ne {\n cursor: ne-resize;\n top: 0;\n right: 0;\n}\n.k-vertical-resize {\n cursor: row-resize;\n}\n.k-horizontal-resize {\n cursor: col-resize;\n}\n.k-resize-hint {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.k-resize-hint .k-resize-hint-handle {\n width: auto;\n height: 20px;\n align-self: stretch;\n}\n.k-resize-hint .k-resize-hint-marker {\n width: 2px;\n height: auto;\n flex: 1 1 auto;\n}\n.k-resize-hint-vertical {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.k-resize-hint-vertical .k-resize-hint-handle {\n width: 20px;\n height: auto;\n align-self: stretch;\n}\n.k-resize-hint-vertical .k-resize-hint-marker {\n width: auto;\n height: 2px;\n flex: 1 1 auto;\n}\n.k-scrollbar {\n position: absolute;\n overflow: scroll;\n}\n.k-scrollbar-vertical {\n top: 0;\n right: 0;\n width: 17px;\n height: 100%;\n overflow-x: hidden;\n}\n.k-touch-scrollbar {\n display: none;\n position: absolute;\n z-index: 200000;\n height: 8px;\n width: 8px;\n border: 1px solid #8a8a8a;\n background-color: #858585;\n}\n.k-marquee {\n position: absolute;\n z-index: 100000;\n}\n.k-marquee-color,\n.k-marquee-text {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.k-marquee-color {\n color: inherit;\n background-color: transparent;\n border-color: inherit;\n opacity: 0.6;\n}\n.k-marquee-text {\n color: inherit;\n}\n.k-static,\n.k-pos-static {\n position: static !important;\n}\n.k-relative,\n.k-pos-relative {\n position: relative !important;\n}\n.k-absolute,\n.k-pos-absolute {\n position: absolute !important;\n}\n.k-fixed,\n.k-pos-fixed {\n position: fixed !important;\n}\n.k-sticky,\n.k-pos-sticky {\n position: sticky !important;\n}\n.k-top,\n.k-pos-top {\n top: 0;\n}\n.k-right,\n.k-pos-right {\n right: 0;\n}\n.k-bottom,\n.k-pos-bottom {\n bottom: 0;\n}\n.k-left,\n.k-pos-left {\n left: 0;\n}\n.k-top-start,\n.k-pos-top-start {\n top: 0;\n left: 0;\n}\n.k-rtl .k-top-start, .k-top-start[dir=rtl], [dir=rtl] .k-top-start,\n.k-rtl .k-pos-top-start,\n.k-pos-top-start[dir=rtl],\n[dir=rtl] .k-pos-top-start {\n left: auto;\n right: 0;\n}\n.k-top-center,\n.k-pos-top-center {\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n}\n.k-top-end,\n.k-pos-top-end {\n top: 0;\n right: 0;\n}\n.k-rtl .k-top-end, .k-top-end[dir=rtl], [dir=rtl] .k-top-end,\n.k-rtl .k-pos-top-end,\n.k-pos-top-end[dir=rtl],\n[dir=rtl] .k-pos-top-end {\n right: auto;\n left: 0;\n}\n.k-middle-start,\n.k-pos-middle-start {\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n}\n.k-rtl .k-middle-start, .k-middle-start[dir=rtl], [dir=rtl] .k-middle-start,\n.k-rtl .k-pos-middle-start,\n.k-pos-middle-start[dir=rtl],\n[dir=rtl] .k-pos-middle-start {\n left: auto;\n right: 0;\n}\n.k-middle-center,\n.k-pos-middle-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.k-middle-end,\n.k-pos-middle-end {\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n}\n.k-rtl .k-middle-end, .k-middle-end[dir=rtl], [dir=rtl] .k-middle-end,\n.k-rtl .k-pos-middle-end,\n.k-pos-middle-end[dir=rtl],\n[dir=rtl] .k-pos-middle-end {\n right: auto;\n left: 0;\n}\n.k-bottom-start,\n.k-pos-bottom-start {\n bottom: 0;\n left: 0;\n}\n.k-rtl .k-bottom-start, .k-bottom-start[dir=rtl], [dir=rtl] .k-bottom-start,\n.k-rtl .k-pos-bottom-start,\n.k-pos-bottom-start[dir=rtl],\n[dir=rtl] .k-pos-bottom-start {\n left: auto;\n right: 0;\n}\n.k-bottom-center,\n.k-pos-bottom-center {\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n}\n.k-bottom-end,\n.k-pos-bottom-end {\n bottom: 0;\n right: 0;\n}\n.k-rtl .k-bottom-end, .k-bottom-end[dir=rtl], [dir=rtl] .k-bottom-end,\n.k-rtl .k-pos-bottom-end,\n.k-pos-bottom-end[dir=rtl],\n[dir=rtl] .k-pos-bottom-end {\n right: auto;\n left: 0;\n}\n@font-face {\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-weight: normal;\n src: url(data:font/ttf;base64,AAEAAAAMAIAAAwBAR1NVQhXjLzYAAADMAABH/k9TLzIPEgdLAABIzAAAAGBjbWFwa15oEwAASSwAAADMZ2FzcAAAABAAAEn4AAAACGdseWabm5w0AABKAAABtcBoZWFkHEnteQAB/8AAAAA2aGhlYQfABmAAAf/4AAAAJGhtdHjiA9YoAAIAHAAACnxsb2NhSIK27gACCpgAAAVAbWF4cALeAy4AAg/YAAAAIG5hbWX0BvU7AAIP+AAABOlwb3N0AAMAAAACFOQAAAAgAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAoAAAABADoAGgByCmIPlhToGEYY0B6oIKoiWCTEJsonMioaLVQtqC36MzQzoDbeO8REdEVORjpG7kdER7oAAQAaAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAlACYCngBIAJIAngC6ANAA6AEIASoBQAFkAXYBjAGkAb4B5gH8AhYCNgJUAnICigKgAsYC8gMcA0YDaAOQA7YD3AP0BBIELgRKBG4EkAS4BN4E/gUYBS4FTAVmBXQFfAWiBcYF2gX2BjYGega4BvoHJAdMB2QHfgeqB9QH7ggWCDwIUghuCJoIxAjeCQoJNAlOCX4JsgnUAOsABQAhABAAFQAbAJEADQAgACAADQAPABQAGQARABoAIAAEAAkACgCQAAoAIAAgAA0ADwAUABkAEQAaACAARwALAB4AHgAbACMAHwAEAB8AIwANABwARQAPAB4AHgAbACMAHwAEAB4AEQAfABUAJgAVABoAEwA4ABAAHgAeABsAIwAfAAQAGgAbAAQADwAUAA0AGgATABEANwAKAB4AHgAbACMAHwAEABcAHAAVAEYAEQAeAB4AGwAjAB8ABAAQABUAGQARABoAHwAVABsAGgAfAD4ACAAeAB4AGwAjAAQAIQAcAEQACgAeAB4AGwAjAAQAHgAbABsAIAA/AAsAHgAeABsAIwAEAB4AFQATABQAIABDAAwAHgAeABsAIwAEABwADQAeABEAGgAgADkAEwAeAB4AGwAjAAQAGwAiABEAHgASABgAGwAjAAQAEAAbACMAGgBBAAoAHgAeABsAIwAEABgAEQASACAALwAMAB4AHgAbACMABAARABoAEAAEACEAHAAwAA8AHgAeABsAIwAEABEAGgAQAAQAHgAVABMAFAAgADIADgAeAB4AGwAjAAQAEQAaABAABAAYABEAEgAgADEADgAeAB4AGwAjAAQAEQAaABAABAAQABsAIwAaAEIACwAeAB4AGwAjAAQAEAAeABUAGAAYAEAACgAeAB4AGwAjAAQAEAAbACMAGgAzABIAHgAeABsAIwAEABAAGwAhAA4AGAARAAQACwAFAAQAIQAcADQAFQAeAB4AGwAjAAQAEAAbACEADgAYABEABAALAAUABAAeABUAEwAUACAANgAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABgAEQASACAANQAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABAAGwAjABoAOgAQAB4AHgAbACMABAAPABQAEQAiAB4AGwAaAAQAIQAcADsAEwAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEAB4AFQATABQAIAA9ABIAHgAeABsAIwAEAA8AFAARACIAHgAbABoABAAYABEAEgAgADwAEgAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEABAAGwAjABoAKwALAB4AHgAbACMABAALAAUABAAhABwALAAOAB4AHgAbACMABAALAAUABAAeABUAEwAUACAALgANAB4AHgAbACMABAALAAUABAAYABEAEgAgAC0ADQAeAB4AGwAjAAQACwAFAAQAEAAbACMAGgAnABEAHgAeABsAIwAEAAkACgAEACEAHAAEAB4AFQATABQAIAAqABAAHgAeABsAIwAEAAkACgAEACEAHAAEABgAEQASACAAKAATAB4AHgAbACMABAAJAAoABAAQABsAIwAaAAQAHgAVABMAFAAgACkAEgAeAB4AGwAjAAQACQAKAAQAEAAbACMAGgAEABgAEQASACAChwAPAB4AEQANAAQAHwAgAA0ADwAXABEAEAAGAAUABQKGAAwAHgARAA0ABAAfACAADQAPABcAEQAQAogACgAeABEADQAEAB4ADQAaABMAEQKFAA4AHgARAA0ABAAPABgAIQAfACAAEQAeABEAEAG4AAwAHAAcABgAJQAEABIAGwAeABkADQAgAccABgAaAA8AFAAbAB4BXgADABgAGAFDABIAGAAVABMAGgAEACAAGwAcAAQAEQAYABEAGQARABoAIAAfAR8AEQAYABUAEwAaAAQAIAAbABwABAARABgAEQAZABEAGgAgAWwACQAYABUAEwAaAAQAIAAbABwBKgANABgAFQATABoABAAgABsABAATAB4AFQAQAUYAHwAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAAHwAEACIAEQAeACAAFQAPAA0AGAFBACEAGAAVABMAGgAEAB8AIAAeABEAIAAPABQABAARABgAEQAZABEAGgAgAB8ABAAUABsAHgAVACYAGwAaACAADQAYAT0AHgAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAABAAiABEAHgAgABUADwANABgBPAAgABgAFQATABoABAAfACAAHgARACAADwAUAAQAEQAYABEAGQARABoAIAAEABQAGwAeABUAJgAbABoAIAANABgBQAAUABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAB8BHgATABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAXEACwAYABUAEwAaAAQAHgAVABMAFAAgAXMADAAYABUAEwAaAAQAHgARABkAGwAiABEBRAAVABgAFQATABoABAAZABUAEAAQABgAEQAEABEAGAARABkAEQAaACAAHwEgABQAGAAVABMAGgAEABkAFQAQABAAGAARAAQAEQAYABEAGQARABoAIAFtAAwAGAAVABMAGgAEABkAFQAQABAAGAARAT4AEwAYABUAEwAaAAQAGAARABIAIAAEABEAGAARABkAEQAaACAAHwEcABIAGAAVABMAGgAEABgAEQASACAABAARABgAEQAZABEAGgAgAW8ACgAYABUAEwAaAAQAGAARABIAIAFyAA0AGAAVABMAGgAEABYAIQAfACAAFQASACUBPwAVABgAFQATABoABAAPABEAGgAgABEAHgAEABEAGAARABkAEQAaACAAHwEdABQAGAAVABMAGgAEAA8AEQAaACAAEQAeAAQAEQAYABEAGQARABoAIAFwAAwAGAAVABMAGgAEAA8AEQAaACAAEQAeAUUAFQAYABUAEwAaAAQADgAbACAAIAAbABkABAARABgAEQAZABEAGgAgAB8BIQAUABgAFQATABoABAAOABsAIAAgABsAGQAEABEAGAARABkAEQAaACABbgAMABgAFQATABoABAAOABsAIAAgABsAGQFHABcAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEACIAEQAeACAAFQAPAA0AGAFCABkAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEABQAGwAeABUAJgAbABoAIAANABgCOQAQABMAEwAeABEAEwANACAAEQAEABIAFQARABgAEAAfANIADQAPAA8AEQAfAB8AFQAOABUAGAAVACAAJQArAFgAZgB0AIAAqAC+AOIBAgEyAWYBhAGcAbIB1AH6Ah4CRgJgAnoCqgLYAw4DQgNeA3IDigOmA7ADugPSA+ID+gQKBCoEWgR6BIoEqATABNQE8AT4BRoBjwAGACEAIAAgABsAGgKWAAYAIQAOAA4AGAARAQsABQAeACEAHwAUAQ8AEwAeABUAEwAUACAAGgARAB8AHwAEAA8AGwAaACAAHgANAB8AIAB4AAoAGwAkAAQAHwAVACYAFQAaABMBigARABsAHgAQABEAHgAfAAQAHwAUABsAIwAEABQAFQAQABEBgQAPABsAHgAQABEAHgAfAAQAGwAhACAAHwAVABAAEQGEABcAGwAeABAAEQAeAB8ABAAVABoAHwAVABAAEQAEACIAEQAeACAAFQAPAA0AGAGDABkAGwAeABAAEQAeAB8ABAAVABoAHwAVABAAEQAEABQAGwAeABUAJgAbABoAIAANABgBggAOABsAHgAQABEAHgAfAAQAFQAaAB8AFQAQABEBgAALABsAHgAQABEAHgAfAAQADQAYABgBhQAKABsAHgAQABEAHgAEACAAGwAcAG0AEAAbAB4AEAARAB4ABAAfACAAJQAYABEABAAgABsAHABuABIAGwAeABAAEQAeAAQAHwAgACUAGAARAAQAHgAVABMAFAAgAHAAEQAbAB4AEAARAB4ABAAfACAAJQAYABEABAAYABEAEgAgAG8AEwAbAB4AEAARAB4ABAAfACAAJQAYABEABAAOABsAIAAgABsAGQBsAAwAGwAeABAAEQAeAAQAHwAgACUAGAARAYgADAAbAB4AEAARAB4ABAAeABUAEwAUACAAcgAXABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQAIAAbABwABAAeABUAEwAUACAAdQAWABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQAIAAbABwABAAYABEAEgAgAHMAGgAbAB4AEAARAB4ABAAeAA0AEAAVACEAHwAEAA4AGwAgACAAGwAZAAQAHgAVABMAFAAgAHQAGQAbAB4AEAARAB4ABAAeAA0AEAAVACEAHwAEAA4AGwAgACAAGwAZAAQAGAARABIAIABxAA0AGwAeABAAEQAeAAQAHgANABAAFQAhAB8BiQAJABsAHgAQABEAHgAEABoAGwGHAAsAGwAeABAAEQAeAAQAGAARABIAIAGGAA0AGwAeABAAEQAeAAQADgAbACAAIAAbABkBUwAEABsAGAAQARQABAAYACEAHgILAAsAGAAbABMAEwARAB4ABAAOABsAJAIKAAcAGAAbABMAEwARAB4CKwALABEAFAANABoADwARAAQADgAbACQCKgAHABEAFAANABoADwARANUADwANAB4ADwAbABAAEQAEAB8ADwANABoAGgARAB4A2QAXAA0AHgAPABsAEAARAAQAHQAeAAQADwAbABAAEQAEAB8ADwANABoAGgARAB4A0wAPAA0AHgAPABsAEAARAAQAGwAhACAAGAAVABoAEQDUAAcADQAeAA8AGwAQABECgwAOAA0AHgAEAB8AIAANAA8AFwARABAABgAFAAUCggALAA0AHgAEAB8AIAANAA8AFwARABAChAAJAA0AHgAEAB4ADQAaABMAEQKBAA0ADQAeAAQADwAYACEAHwAgABEAHgARABACmAADAA0AHgEbABAADQAPABcAIwANAB4AEAAEABEAGAARABkAEQAaACABGQAMAA0ADwAXAAQAEQAYABEAGQARABoAIAA1AGwAdACMAKgAtgDAAMgA1gDcAO4A+AEQARoBPgFiAXYBngG8AcwB3AIAAh4COAJUAnYCkAKcArgC0gLeAuoC/gMMAyIDRANWA3IDjAOYA7gD5gQYBDAEXASMBKIErATGBOQFAAUOBSoFPAGwAAMAIQAgAaIACwAhAB8AIAAbABkABAAVAA8AGwAaAegADQAhAB8AIAAbABkABAASABsAHgAZAA0AIADcAAYAIQAeAB8AGwAeAkoABAAfAB8ACAJNAAMAHwAfAlAABgAfABwAHgAbABYCUgACAB8B7gAIAB4AGwAfAB8AIAANAA4BBAAEAB4AGwAcAboACwAbABwAJQAEABIAGwAeABkADQAgAa8ABAAbABwAJQFZABEAGwAaACIAEQAeACAABAAhABwAHAARAB4ADwANAB8AEQFYABEAGwAaACIAEQAeACAABAAYABsAIwARAB4ADwANAB8AEQDHAAkAGwAaABoAEQAPACAAGwAeAakAEwAbABkAGQARABoAIAAfAAQAHgARABkAGwAiABEABAANABgAGAGoAA4AGwAZABkAEQAaACAABAAeABEAGQAbACIAEQGnAAcAGwAZABkAEQAaACAAVAAHABsAGAAhABkAGgAfAn8AEQAbABgAIQAZABoABAAfACAADQAPABcAEQAQAAYABQAFAn4ADgAbABgAIQAZABoABAAfACAADQAPABcAEQAQAoAADAAbABgAIQAZABoABAAeAA0AGgATABEB3QANABsAGAAhABkAGgAEABIAHgARABEAJgARAn0AEAAbABgAIQAZABoABAAPABgAIQAfACAAEQAeABEAEAGNAAwAGwAQABEABAAfABoAFQAcABwAEQAgAlUABQAYABsAIQAQAJ8ADQAYABsAHwARAAQAGwAhACAAGAAVABoAEQCgAAwAGAAbAB8AEQAEAA8AFQAeAA8AGAARAJ4ABQAYABsAHwARAIoABQAYABsADwAXAbkACQAYABEADQAeAAQADwAfAB8A9wAGABUAHgAPABgAEQKdAAoAFAAbAB4AGwAcABgAEQAgABQA9AAQABQAEQAPABcADgAbACQABAAPABQAEQAPABcAEQAQAPMACAAUABEADwAXAA4AGwAkAJwADQAUABEADwAXAAQAGwAhACAAGAAVABoAEQCdAAwAFAARAA8AFwAEAA8AFQAeAA8AGAARAJsABQAUABEADwAXAZoADwAUAA0AGgATABEABAAZAA0AGgAhAA0AGAAYACUB1wAWABEAGAAYAB8ABAAZABEAHgATABEABAAiABEAHgAgABUADwANABgAGAAlAdYAGAARABgAGAAfAAQAGQARAB4AEwARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAYACUB1QALABEAGAAYAB8ABAAZABEAHgATABEB2QAVABEAGAAYAAQAHwAcABgAFQAgAAQAIgARAB4AIAAVAA8ADQAYABgAJQHYABcAEQAYABgABAAfABwAGAAVACAABAAUABsAHgAVACYAGwAaACAADQAYABgAJQBJAAoADQAgABEAEwAbAB4AFQAmABEAxgAEAA0AHgAgApcADAANABoAEAAYABEABAAfACAAFQAPABcAmQAOAA0AGgAPABEAGAAEABsAIQAgABgAFQAaABEAmgANAA0AGgAPABEAGAAEAA8AFQAeAA8AGAARAJgABgANABoADwARABgBkQANAA0AGAARABoAEAANAB4ABAAQAA0AIAARAIsACAANABgAEQAaABAADQAeAMUACgANABgADwAhABgADQAgABsAHgAgAEIAXABuAIoAnACuALwA3gDsAPQBHAE6AVQBcAGaAbABwgHMAeoCCAIkAjgCRgJ6ArIC1AL2AwgDGgMuA0IDVAItAAwAHgAVAA4ADgAOABgAEQAEAA4AGwAkAiwACAAeABUADgAOAA4AGAARAEgADQAeAA0AEwAEAA0AGgAQAAQAEAAeABsAHAC1AAgAGwAjABoAGAAbAA0AEAKQAAgAGwAhABMAFAAaACEAIAHmAAYAGwAYABgADQAeAaEAEAAbAA8AIQAZABEAGgAgAAQAGQANABoADQATABEAHgDRAAYAFQAiABUAEAARAV0AAwAVACIAgAATABUAHwAcABgADQAlAAQAFQAaABgAFQAaABEABAASABgAEQAkAf8ADgAVAB8AHAAYAA0AJQAEABUAGgAYABUAGgARAH8ADAAVAB8AHAAYAA0AJQAEABIAGAARACQAfQANABUAHwAcABgADQAlAAQADgAYABsADwAXAH4AFAAVAB8AHAAYAA0AJQAEAAwAGgAYABUAGgARAAQADgAYABsADwAXATsACgAVABkAEQAaACAAFQAbABoAHwIPAAgAFQATABMABAAOABsAJAIOAAQAFQATABMBowAOABUADwAgABUAGwAaAA0AHgAlAAQADQAQABACXwAOABEAIAANABUAGAAEAB8AEQAPACAAFQAbABoCDQANABEAGAAVAA8AFQAbACEAHwAEAA4AGwAkAgwACQARABgAFQAPABUAGwAhAB8AjwAGABEAGAARACAAEQE1ABkAEQAPAB4AEQANAB8AEQAEACIAEQAeACAAFQAPAA0AGAAEAB8AHAANAA8AFQAaABMBMQAbABEADwAeABEADQAfABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwHpABAAEQAPABUAGQANABgABAAVABoADwAeABEADQAfABEB6gAQABEADwAVABkADQAYAAQAEAARAA8AHgARAA0AHwARAmYACAANACAADQAEACMAEQAOAmUACAANACAADQAEAB8AHQAYAnoACQANACAADQAEAB4AEQAfACACZAAJAA0AIAANAAQAFgAfABsAGgJjAAgADQAgAA0ABAAPAB8AIgJYAAQADQAgAA0ACAASACgANgA+AEoAXgBqAIABNwAKACUAEQAQAB4AGwAcABwAEQAeAfoABgAkABwAGwAeACACTwADACQAEQDNAAUAHQAhAA0AGAIRAAkAGQANABUAGAAEAA4AGwAkAhAABQAZAA0AFQAYAZgACgAQABUAIAAEACAAGwAbABgAHwCOAAQAEAAVACAAOQB0AJYArgDKAOoA+gEQATQBTgFYAXoBjgGmAboB0gHqAgACDgIqAkoCZgKIArAC1gLqAwQDJgNSA2ADagOCA5QDqAO+A94D8AQCBCQESARaBGwEfgSUBLQEygTgBPYFFgUqBTwFVAVmBXwFkAWiBawFxgEnABAAIQAYABgABAAfAA8AHgARABEAGgAEABEAJAAVACABJgALACEAGAAYAAQAHwAPAB4AEQARABoBGAANAB4AGwAaACAABAARABgAEQAZABEAGgAgARoADwAbAB4AIwANAB4AEAAEABEAGAARABkAEQAaACAA5AAHABsAHgAjAA0AHgAQAeMACgAbAB4AGQAhABgADQAEABIAJAHAABEAGwAeABkADQAgAAQADwAbABAAEQAEAA4AGAAbAA8AFwGMAAwAGwAeABkABAARABgAEQAZABEAGgAgAYsABAAbAB4AGQFXABAAGwAeABEAEwAeABsAIQAaABAABAAPABsAGAAbAB4B6wAJABsAGgAgAAQAHwAVACYAEQFWAAsAGwAaACAABAASAA0AGQAVABgAJQI3AAkAGwAYABAAEQAeAAQAIQAcAjUACwAbABgAEAARAB4ABAAbABwAEQAaAjgACwAbABgAEAARAB4ABAAZABsAHgARAjYACgAbABgAEAARAB4ABAANABAAEAI0AAYAGwAYABAAEQAeAQcADQAYABUAHAAEACIAEQAeACAAFQAPAA0AGAEGAA8AGAAVABwABAAUABsAHgAVACYAGwAaACAADQAYAa0ADQAYAA0AHwAUAAQAGQANABoADQATABEAHgGuABAAFQAaABAABAANABoAEAAEAB4AEQAcABgADQAPABEAsAATABUAGAAgABEAHgAEAB8AGwAeACAABAAQABEAHwAPAAQAHwAZAK8AEgAVABgAIAARAB4ABAAfABsAHgAgAAQADQAfAA8ABAAfABkArgAJABUAGAAgABEAHgAEAB8AGQCtAAwAFQAYACAAEQAeAAQADwAYABEADQAeALIAEAAVABgAIAARAB4ABAANABAAEAAEABMAHgAbACEAHACxABUAFQAYACAAEQAeAAQADQAQABAABAARACQAHAAeABEAHwAfABUAGwAaAKwABgAVABgAIAARAB4CSQAEABUAGAAZAnkACwAVABgAEQAfAAQAEQAeAB4AGwAeAkgACAAVABgAEQAEACYAFQAcAj8ACQAVABgAEQAEACMAGwAeABACbwAKABUAGAARAAQAIgAVABAAEQAbAnsADwAVABgAEQAEACAAJQAcABEAHwAPAB4AFQAcACACPAAIABUAGAARAAQAIAAkACACQwAIABUAGAARAAQAHAAfABACdQAQABUAGAARAAQAHAAeABsAEwAeAA0AGQAZABUAGgATAnIAEQAVABgAEQAEABwAHgARAB8AEQAaACAADQAgABUAGwAaAkEACAAVABgAEQAEABwAHAAgAkIACAAVABgAEQAEABwAEAASAkAACAAVABgAEQAEABkAEAAOAnEACgAVABgAEQAEABUAGQANABMAEQJWAA8AFQAYABEABAAUABsAHgAVACYAGwAaACAADQAYAkQACgAVABgAEQAEABIAGAANAB8AFAI+AAoAFQAYABEABAARACQADwARABgCeAAKABUAGAARAAQAEQAeAB4AGwAeAnQADwAVABgAEQAEABAAFQAfAA8ABAAVABkADQATABECcwAJABUAGAARAAQAEAANACAADQI9AAgAFQAYABEABAAPAB8AIgJFAAsAFQAYABEABAAPABsAGgASABUAEwJHAAgAFQAYABEABAAOAA0ADwJwAAoAFQAYABEABAANACEAEAAVABsCRgAJABUAGAARAAQADQAfAA8AJAI7AAgAFQAYABEABAANABAAEAI6AAQAFQAYABECEwAMAA0ADwARAA4AGwAbABcABAAOABsAJAISAAgADQAPABEADgAbABsAFwAVACwASAByAJwAvgDSAN4A9gEAARQBNgFCAWIBegGQAZ4BugHGAdIB3AHsAmEADQAeABsAIQAcAAQAHwARAA8AIAAVABsAGgJbABQAHgAbACEAHAAEABQAEQANABAAEQAeAAQAHwARAA8AIAAVABsAGgJcABQAHgAbACEAHAAEABIAGwAbACAAEQAeAAQAHwARAA8AIAAVABsAGgJnABAAHgAbACEAHAAEAA8AGwAYABgAEQAPACAAFQAbABoBkgAJAB4AGwAhABwABAAOABsAJABMAAUAHgAbACEAHABLAAsAHgAVABAABAAYAA0AJQAbACEAIABKAAQAHgAVABABEwAJAB4AEQAlAB8ADwANABgAEQDQABAAHgARAA0AIAARAB4ABAAbAB4ABAARAB0AIQANABgCfAAFAB4ADQAcABQCFwAPABsAGwATABgAEQAEABwAGAAhAB8ABAAOABsAJAIWAAsAGwAbABMAGAARAAQAHAAYACEAHwIVAAoAGwAbABMAGAARAAQADgAbACQCFAAGABsAGwATABgAEQIBAA0AGAAbAA4AEQAEABsAIQAgABgAFQAaABECAgAFABgAGwAOABEAvgAFABEADQAeAB8AvQAEABEADQAeAIIABwANABwABAAeABsAIwCBAAoADQAcAAQADwAbABgAIQAZABoAFQAsAFAAbgCcAMoA6gEKARYBIAEqATgBVAFgAWYBgAGKAZABlgGcAaIBqAC4ABEAJQAcABEAHgAYABUAGgAXAAQAGwAcABEAGgAEAB8AGQC3AA4AJQAcABEAHgAYABUAGgAXAAQAGwAcABEAGgHDABYAJQAcABEAHgAYABUAGgAXAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMBxQAWACUAHAARAB4AGAAVABoAFwAEABMAGAAbAA4AEQAEAB4AEQAZABsAIgARAcQADwAlABwAEQAeABgAFQAaABcABAATABgAGwAOABEBxgAPACUAHAARAB4AGAAVABoAFwAEABEAGQANABUAGAJLAAUAIAAZABgACgJMAAQAIAAZABgAWwAEABsAGQARAFwABgARABUAEwAUACAA7wANABEADQAeACAABAAbACEAIAAYABUAGgARAPAABQARAA0AHgAgAOgAAgAQAE4ADAANABoAEAAYABEAHgAEABAAHgANABMA2wAEAA0AGgAQAWQAAgALAWMAAgAKAWIAAgAJAWEAAgAIAWAAAgAHAV8AAgAGABUALAA6AFYAagCGAJ4AsgDKAOoBCgE+AXYBggGQAZ4BuAHaAgACGgIwAmABVAAGACAADQAYABUADwERAA0AGgAiABEAHgAgAAQADwAbABgAGwAeAB8BaQAJABoAHwARAB4AIAAEACEAHAFqAA0AGgAfABEAHgAgAAQAGQAVABAAEAAYABEBawALABoAHwARAB4AIAAEABAAGwAjABoCbgAJABoAFAARAB4AFQAgABEAEAD7AAsAGgASABsAHgAZAA0AIAAVABsAGgFnAA8AGgAQABEAGgAgAAQAFQAaAA8AHgARAA0AHwARAWgADwAaABAAEQAaACAABAAQABEADwAeABEADQAfABEBNAAZABoADwAeABEADQAfABEABAAiABEAHgAgABUADwANABgABAAfABwADQAPABUAGgATATAAGwAaAA8AHgARAA0AHwARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAEAB8AHAANAA8AFQAaABMCCQAFABoADgAbACQB+QAGABkAHAAbAB4AIAEpAAYAGQANABMAEQAfAQMADAAZAA0AEwARAAQAHgARAB8AFQAmABEBpgAQABkADQATABEABAAZAA0AHAAEABEAEAAVACAAGwAeAaQAEgAZAA0AEwARAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMBAAAMABkADQATABEABAARACQAHAAbAB4AIAGlAAoAGQANABMAEQAEABEAEAAVACAB7AAXABkADQATABEABAANAA4AHwAbABgAIQAgABEABAAcABsAHwAVACAAFQAbABoA/wAFABkADQATABEACwAYAEYAeACiANABAAE0AWYBnAHMAgABTQAWACEAHwAgABUAEgAlAAQAHwAgAA0AHgAgAAQAIgARAB4AIAAVAA8ADQAYAUgAGAAhAB8AIAAVABIAJQAEAB8AIAANAB4AIAAEABQAGwAeABUAJgAbABoAIAANABgBTwAUACEAHwAgABUAEgAlAAQAEQAaABAABAAiABEAHgAgABUADwANABgBSgAWACEAHwAgABUAEgAlAAQAEQAaABAABAAUABsAHgAVACYAGwAaACAADQAYAU4AFwAhAB8AIAAVABIAJQAEAA8AEQAaACAAEQAeAAQAIgARAB4AIAAVAA8ADQAYAUkAGQAhAB8AIAAVABIAJQAEAA8AEQAaACAAEQAeAAQAFAAbAB4AFQAmABsAGgAgAA0AGAFQABgAIQAfACAAFQASACUABAAOABEAIAAjABEAEQAaAAQAIgARAB4AIAAVAA8ADQAYAUsAGgAhAB8AIAAVABIAJQAEAA4AEQAgACMAEQARABoABAAUABsAHgAVACYAGwAaACAADQAYAVEAFwAhAB8AIAAVABIAJQAEAA0AHgAbACEAGgAQAAQAIgARAB4AIAAVAA8ADQAYAUwAGQAhAB8AIAAVABIAJQAEAA0AHgAbACEAGgAQAAQAFAAbAB4AFQAmABsAGgAgAA0AGAJOAAIAHwADAAgAKABIAMwADwAcABUABAAfACAADQAgACEAHwAEABsAHAARABoAywAPABwAFQAEAB8AIAANACAAIQAfAAQAFAAbABgAEADKAA8AHAAVAAQAHwAgAA0AIAAhAB8ABAAQABEAGgAlABsAOABGAFIAXAB6AJwAugDUAO4BAAEcATwBSAF4AZgBwgHcAfYCDgIYAjICTgJsApQCsALMAtoAtAAGABsAEwAbACEAIACzAAUAGwATABUAGgCWAAQAGwAPABcBZgAOABUAHwAgAAQAIQAaABsAHgAQABEAHgARABAB+AAQABUAHwAgAAQAHgAbABkADQAaAAQAHwAZAA0AGAAYAfcADgAVAB8AIAAEAB4AGwAZAA0AGgAEAA4AFQATAWUADAAVAB8AIAAEABsAHgAQABEAHgARABACGQAMABUAGgAXABEAEAAVABoABAAOABsAJAIYAAgAFQAaABcAEQAQABUAGgCUAA0AFQAaABcABAAiABEAHgAgABUADwANABgAkgAPABUAGgAXAAQAFAAbAB4AFQAmABsAGgAgAA0AGAKJAAUAFQAaABEABgKOABcAFQAaABEABAAfACAADQAPABcAEQAQAAYABQAFAAQAGQANAB4AFwARAB4AHwKLAA8AFQAaABEABAAfACAADQAPABcAEQAQAAYABQAFAo0AFAAVABoAEQAEAB8AIAANAA8AFwARABAABAAZAA0AHgAXABEAHgAfAooADAAVABoAEQAEAB8AIAANAA8AFwARABACjAAMABUAGgARAAQAGQANAB4AFwARAB4AHwIAAAsAFQAaABEABAAUABEAFQATABQAIAEOAAQAFQAaABEB/wAMABEAIAAgABEAHgAEAB8AHAANAA8AEQDPAA0AEQAfAB8ABAAbAB4ABAARAB0AIQANABgAUwAOAA0AJQAbACEAIAAEAB8AIAANAA8AFwARABAAUgATAA0AJQAbACEAIAAEAB8AFQAQABEABAAOACUABAAfABUAEAARAFEADQANACUAGwAhACAABAAHAAQADgAlAAQABwBQAA0ADQAlABsAIQAgAAQABgAEAA4AJQAEAAkATwAGAA0AJQAbACEAIAC5AAYADQAhABoADwAUAB0APABUAGQAgACgAL4AzADeAPoBFAEgATQBSgFUAXABhAGaAboB3gH0AgoCJAI8AlgCZgKeAr4C3AL+AhsACwAlAB8AHAANAA8AEQAEAA4AGwAkAhoABwAlAB8AHAANAA8AEQBYAA0AGwAeABEABAAiABEAHgAgABUADwANABgAWQAPABsAHgARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAHCAA4AGwAQACEAGAARAAQAGQANABoADQATABEAHgEFAAYAFQAeAB4AGwAeAMkACAAVABoAIQAfAAQAHwAZAKUADQAVABoAIQAfAAQAGwAhACAAGAAVABoAEQCmAAwAFQAaACEAHwAEAA8AFQAeAA8AGAARAKQABQAVABoAIQAfAGEACQAVABoABAAjABUAEAAgABQAYAAKABUAGgAEABQAEQAVABMAFAAgAFcABAARABoAIQGrAA0AEQAQABUADQAEABkADQAaAA0AEwARAB4AXwAJAA0AJAAEACMAFQAQACAAFABeAAoADQAkAAQAFAARABUAEwAUACAB+wAPAA0AIAAPABQABAASACEAGAAYAAQAIwAbAB4AEAIEABEADQAeABcAEQAeAAQAHAAVABoABAAgAA0AHgATABEAIAIDAAoADQAeABcAEQAeAAQAHAAVABoAYwAKAA0AHgATABUAGgAEACAAGwAcAGQADAANAB4AEwAVABoABAAeABUAEwAUACAAZgALAA0AHgATABUAGgAEABgAEQASACAAZQANAA0AHgATABUAGgAEAA4AGwAgACAAGwAZAGIABgANAB4AEwAVABoBMwAbAA0AFwARAAQAIgARAB4AIAAVAA8ADQAYAAQAHwAcAA0ADwAVABoAEwAEABEAHQAhAA0AGAEtAA8ADQAXABEABAAfAA0AGQARAAQAIwAVABAAIAAUASwADgANABcAEQAEAB8ADQAZABEABAAfABUAJgARAS4AEAANABcAEQAEAB8ADQAZABEABAAUABEAFQATABQAIAEvAB0ADQAXABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwAEABEAHQAhAA0AGAADAAgAIgA2APoADAAbACAAFQASABUADwANACAAFQAbABoAzgAJABsAIAAEABEAHQAhAA0AGACHAA4AGwAaAAQAHgARAA8AIQAeAB4AEQAaAA8AEQADAAgAGAA0AFoABwAiABEAHgAYAA0AHAB2AA0AIQAgABgAFQAaABEABAAjABUAEAAgABQAdwAOACEAIAAYABUAGgARAAQAGwASABIAHwARACAAMgBmAHIAggCcALoA1gD2AQYBIAE4AUIBVAFkAW4BigGeAaYBrgHIAdgB6gH2AhgCNgJMAoICogK+AsoC3AMCAy4DRANmA4oDqgPSA/YEEgQqBDIEQgROBG4ElgS+BNYE8gUMBSoAjQAFAB4AFQAaACAAwAAHAB4AEQAiABUAEQAjAHkADAAbAB8AFQAgABUAGwAaAAQAIAAbABwAegAOABsAHwAVACAAFQAbABoABAAeABUAEwAUACAAfAANABsAHwAVACAAFQAbABoABAAYABEAEgAgAHsADwAbAB8AFQAgABUAGwAaAAQADgAbACAAIAAbABkAyAAHABgAIQAfAAQAHwAZAKIADAAYACEAHwAEABsAIQAgABgAFQAaABEAowALABgAIQAfAAQADwAVAB4ADwAYABEAoQAEABgAIQAfAOoACAAYAA0AJQAYABUAHwAgAOwABwAYAA0AJQAEAB8AGQDgAAQAGAANACUCHQANABUAGgAgABEAHgARAB8AIAAEAA4AGwAkAhwACQAVABoAIAARAB4AEQAfACACBQADABUAGgKPAAMAFQARAP4ADAAUABsAIAAbAAQADwANABkAEQAeAA0B5wAHABEAHgAPABEAGgAgAO0ACAANACEAHwARAAQAHwAZAOEABQANACEAHwARAbcAEAANAB8AIAARAAQAHAAYAA0AFQAaAAQAIAARACQAIAG2AA4ADQAfACAAEQAEABkADQAeABcAEAAbACMAGgG1AAoADQAfACAAEQAEABQAIAAZABgBtAAaAA0AHwAgABEABAASAB4AGwAZAAQAIwAbAB4AEAAEAB8AIAAeABUAHAAEABIAFQAYABEBswAPAA0AHwAgABEABAASAB4AGwAZAAQAIwAbAB4AEAGyAA0ADQAfACAAEQAEAA0AHwAEABQAIAAZABgBsQAFAA0AHwAgABEBlgAIAA0AHwAfACMAGwAeABACdwASAA0AHgANABkAEQAgABEAHgAfAAQAIQAaABcAGgAbACMAGgJ2ABUADQAeAA0AGQARACAAEQAeAB8ABAAOACUAIAARAAQADQAeAB4ADQAlAmIACgANAB4ADQAZABEAIAARAB4AHwJsABAADQAeAA0AGQARACAAEQAeAAQAHwAgAB4AFQAaABMCawARAA0AHgANABkAEQAgABEAHgAEABUAGgAgABEAEwARAB4CagAPAA0AHgANABkAEQAgABEAHgAEABIAGAAbAA0AIAJpABMADQAeAA0AGQARACAAEQAeAAQAEAANACAAEQAEACAAFQAZABECaAARAA0AHgANABkAEQAgABEAHgAEAA4AGwAbABgAEQANABoBlwANAA0AHgANABMAHgANABwAFAAEAA0AEAAQAdsACwANABoAEQAEABIAHgARABEAJgARAMQAAwANABoBDAAHAA0AGAARACAAIAARAQ0ABQANABUAGgAgAVIADwANABMAEQAEABwAHgAbABwAEQAeACAAFQARAB8CXQATAA0AEwARAAQAFAARAA0AEAARAB4ABAAfABEADwAgABUAGwAaAl4AEwANABMAEQAEABIAGwAbACAAEQAeAAQAHwARAA8AIAAVABsAGgBoAAsADQAQABAAFQAaABMABAAgABsAHABpAA0ADQAQABAAFQAaABMABAAeABUAEwAUACAAawAMAA0AEAAQABUAGgATAAQAGAARABIAIABqAA4ADQAQABAAFQAaABMABAAOABsAIAAgABsAGQBnAAcADQAQABAAFQAaABMABAAKABwAPABcAPwACAAhABEAHwAgABUAGwAaANgADwAeAAQADwAbABAAEQAEAB8ADwANABoAGgARAB4A1gAPAB4ABAAPABsAEAARAAQAGwAhACAAGAAVABoAEQDXAAcAHgAEAA8AGwAQABEAIABCAGIAcgB6AIQAmgC2ANAA6AD2AQABDgEgATgBRAFwAZwBugHSAeICEgJGAloCaAKOApgCrgK8AuQC/AMYAzIBdQAPACEAGAARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAIvAAcAHwAfAAQADgAbACQCLgADAB8AHwBVAAQAGwAjAB8B3AAKABsAIwAEABIAHgARABEAJgARARcADQAbACEAGgAQAAQADwAbAB4AGgARAB4AHwEJAAwAGwAgAA0AIAARAAQAHgAVABMAFAAgAQoACwAbACAADQAgABEABAAYABEAEgAgAQgABgAbACAADQAgABECnAAEABsAHwARAOMABgARACMAFQAaABAAiAAIABEAHwARACAABAAfABkBKAALABEAHwARACAABAAPABsAGAAbAB4AhQAFABEAHwARACACWQAVABEAHAAbAB4AIAAEABQAEQANABAAEQAeAAQAHwARAA8AIAAVABsAGgJaABUAEQAcABsAHgAgAAQAEgAbABsAIAARAB4ABAAfABEADwAgABUAGwAaAf0ADgARABwAGAANAA8AEQAEAB8AFQAaABMAGAARAf4ACwARABwAGAANAA8AEQAEAA0AGAAYAFYABwARABsAHgAQABEAHgE2ABcAEQAZABsAIgARAAQAIgARAB4AIAAVAA8ADQAYAAQAHwAcAA0ADwAVABoAEwEyABkAEQAZABsAIgARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAEAB8AHAANAA8AFQAaABMAiQAJABEAGAAbAA0AEAAEAB8AGQCGAAYAEQAYABsADQAQAfwAEgARABMAIQAYAA0AHgAEABEAJAAcAB4AEQAfAB8AFQAbABoAhAAEABEAEAAbAh8ACgARABAAEAAVACAABAAOABsAJAIeAAYAEQAQABAAFQAgAPkAEwANABAAFQAbAA4AIQAgACAAGwAaAAQADwAUABEADwAXABEAEAD4AAsADQAQABUAGwAOACEAIAAgABsAGgKaAA0ADQAQAA0AHgAEABkADQAeABcAEQAeAB8CmwAMAA0AEAANAB4ABAASABUAGAAYABEAEAKZAAUADQAQAA0AHgAtAFwAagCAAIgAnACwAMYA4gEEAR4BSgFyAZoBvAHmAgICEgIcAigCQgJMAmgCggKWAq4CwALkAwgDHAMkAz4DVgNqA3oDhgOSA7oD0APmBCQEUgSMBLYExgTQAeUABgAlABkADgAbABgBXAAKACEAHAAEAB8ADwAeABUAHAAgAeQAAwAhABkA6QAJACEADgAgABUAIAAYABEAHwJXAAkAIQAOAB4AEQAcABsAHgAgAVsACgAhAA4ABAAfAA8AHgAVABwAIAHBAA0AIAAlABgAEQAEAA4AIQAVABgAEAARAB4CIQAQACAAIQAZAA4AGAARAAQAIQAcABsAGgAEAA4AGwAkAiAADAAgACEAGQAOABgAEQAEACEAHAAbABoBvwAVACAAHgAVABwABAAjABsAHgAQAAQAEgAbAB4AGQANACAAIAAVABoAEwG+ABMAIAAeABUAHAAEAB8AHAANABoABAARABgAEQAZABEAGgAgAB8BvQATACAAHgAVABwABAASABsAGgAgAAQAEQAYABEAGQARABoAIAAfAbwAEAAgAB4AFQAcAAQADwAfAB8ABAASABsAHgAZAA0AIAG7ABQAIAAeABUAHAAEAA0AGAAYAAQAEgAbAB4AGQANACAAIAAVABoAEwFaAA0AIAAeABUAFwARACAAFAAeABsAIQATABQA7gAHACAAGwAcAAQAHwAZAOIABAAgABsAHADdAAUAIAAVAA8AFwDxAAwAIAANAB4ABAAbACEAIAAYABUAGgARAPIABAAgAA0AHgHfAA0AHAARABgAGAAEAA8AFAARAA8AFwARAB4AqwAMABsAHgAgAAQAEAARAB8ADwAEAB8AGQCoAAkAGwAeACAABAAQABEAHwAPAKoACwAbAB4AIAAEAA0AHwAPAAQAHwAZAKcACAAbAB4AIAAEAA0AHwAPAToAEQAaAA0AHAAEACAAGwAEAB8AGgANABwAGAAVABoAEQAfATkAEQAaAA0AHAAEACAAGwAEABMAHgAVABAAGAAVABoAEQAfATgACQAaAA0AHAAEABMAHgAVABACVAADABgAGgErAAwAFQAmABEABAAgABsABAATAB4AFQAQAaoACwAVABgAIgARAB4AGAAVABMAFAAgANoACQAVABMAGgANACAAIQAeABEBFQAHABQADQAeABwAEQAaAgcABQAUAA0AHgARARYABQAUAA0AHAARAN8AEwARACAABAAPABsAGAAhABkAGgAEABwAGwAfABUAIAAVABsAGgGQAAoAEQAYABEADwAgAAQADgAbACQBjgAKABEAGAARAA8AIAAEAA0AGAAYApQAHgAPAA0AIAAgABEAHgAEAB8AIAAeAA0AFQATABQAIAAEABgAFQAaABEAHwAEABkADQAeABcAEQAeAB8ClQAWAA8ADQAgACAAEQAeAAQAHwAgAB4ADQAVABMAFAAgAAQAGAAVABoAEQAfApIAHAAPAA0AIAAgABEAHgAEAB8AGQAbABsAIAAUAAQAGAAVABoAEQAfAAQAGQANAB4AFwARAB4AHwKTABQADwANACAAIAARAB4ABAAfABkAGwAbACAAFAAEABgAFQAaABEAHwKRAAcADwANACAAIAARAB4AjAAEAA0AIgARARAACgANACAAIQAeAA0AIAAVABsAGgA7AHgAkACgALYAxADiARIBLAFeAYgBsgHkAg4CKgJGAnYCmgKyAs4C8AMQAzADTgNeA3ADhAOmA8oD5gQCBDAEXgSABKIExATuBRYFQgVoBYIFnAXQBgIGKgZSBn4Goga4Bs4G+gckB1IHeAeqB9oIDghACHAIpAInAAsAIwAVACAAIAARAB4ABAAOABsAJAImAAcAIwAVACAAIAARAB4CJQAKACEAGQAOABgAHgAEAA4AGwAkAiQABgAhABkADgAYAB4A9gAOAB4AFQAEAB8AIAANACAAEQAEABoAIQAYABgA9QAXAB4AFQAEAB8AIAANACAAEQAEABUAGgAQABEAIAARAB4AGQAVABoADQAgABEBEgAMAB4ADQAaAB8AHAARAB4ADQAaAA8AJQGgABgAHgANAA8AFwAEAA8AFAANABoAEwARAB8ABAAeABEAFgARAA8AIAAEAA0AGAAYAZ8AFAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEAB4AEQAWABEADwAgAZwAFAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEABEAGgANAA4AGAARAZ4AGAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEAA0ADwAPABEAHAAgAAQADQAYABgBnQAUAB4ADQAPABcABAAPABQADQAaABMAEQAfAAQADQAPAA8AEQAcACABmwANAB4ADQAPABcABAAPABQADQAaABMAEQAfAd4ADQAbABsAGAAOAA0AHgAEABIAGAAbAA0AIAHiABcAGwATABMAGAARAAQAEgAhABgAGAAEAB8ADwAeABEAEQAaAAQAGQAbABAAEQJtABEAGwAPAAQAHwARAA8AIAAVABsAGgAEABgAEQAiABEAGAJgAAsAGwAPAAQAHwARAA8AIAAVABsAGgEiAA0AFAAhABkADgAaAA0AFQAYAB8ABAAhABwBIwAQABQAIQAZAA4AGgANABUAGAAfAAQAHgAVABMAFAAgASUADwAUACEAGQAOABoADQAVABgAHwAEABgAEQASACABJAAPABQAIQAZAA4AGgANABUAGAAfAAQAEAAbACMAGgGVAA4AEQAkACAADgAbACQABAAUABUAEAAQABEAGgGUAAcAEQAkACAADgAbACQBkwAIABEAJAAgAA0AHgARAA0BdAAJABEAJAAgAAQAIwAeAA0AHAGZABAAEQAZABwAGAANACAAEQAEABkADQAaAA0AEwARAB4CIwARABEAGAAYAAQADQAEABIAHgAVABEAGgAQAAQADgAbACQCIgANABEAGAAYAAQADQAEABIAHgAVABEAGgAQAdoADQANAA4AGAARAAQAIQAaABkAEQAeABMAEQHQABYADQAOABgAEQAEAB4AGwAjAAQAFQAaAB8AEQAeACAABAAOABEAGAAbACMBzwAWAA0ADgAYABEABAAeABsAIwAEABUAGgAfABEAHgAgAAQADQAOABsAIgARAfMAEAANAA4AGAARAAQAHgAbACMABAATAB4AGwAhABwAHwHSABAADQAOABgAEQAEAB4AGwAjAAQAEAARABgAEQAgABEBygAQAA0ADgAYABEABAAcAB4AGwAcABEAHgAgABUAEQAfAfYAFAANAA4AGAARAAQAHAAbAB8AFQAgABUAGwAaAAQAHgAVABMAFAAgAfQAEwANAA4AGAARAAQAHAAbAB8AFQAgABUAGwAaAAQAGAARABIAIAH1ABUADQAOABgAEQAEABwAGwAfABUAIAAVABsAGgAEAA8AEQAaACAAEQAeAcgAEgANAA4AGAARAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMB1AAMAA0ADgAYABEABAAQABEAGAARACAAEQHyAAwADQAOABgAEQAEAA8AGwAeABoAEQAeAc4AGQANAA4AGAARAAQADwAbABgAIQAZABoABAAVABoAHwARAB4AIAAEAB4AFQATABQAIAHNABgADQAOABgAEQAEAA8AGwAYACEAGQAaAAQAFQAaAB8AEQAeACAABAAYABEAEgAgAfEAEwANAA4AGAARAAQADwAbABgAIQAZABoABAATAB4AGwAhABwAHwHRABMADQAOABgAEQAEAA8AGwAYACEAGQAaAAQAEAARABgAEQAgABEBzAAVAA0ADgAYABEABAAPABEAGAAYAAQAHAAeABsAHAARAB4AIAAVABEAHwHTABEADQAOABgAEQAEAA8AEQAYABgABAAQABEAGAARACAAEQHLAAoADQAOABgAEQAEAA8AEQAYABgB8AAKAA0ADgAYABEABAAOABsAEAAlAXgAFQANAA4AGAARAAQADQAYABUAEwAaAAQAIAAbABwABAAeABUAEwAUACABdgAUAA0ADgAYABEABAANABgAFQATABoABAAgABsAHAAEABgAEQASACABdwAWAA0ADgAYABEABAANABgAFQATABoABAAgABsAHAAEAA8AEQAaACAAEQAeAX8AEgANAA4AGAARAAQADQAYABUAEwAaAAQAHgARABkAGwAiABEBewAYAA0ADgAYABEABAANABgAFQATABoABAAZABUAEAAQABgAEQAEAB4AFQATABQAIAF5ABcADQAOABgAEQAEAA0AGAAVABMAGgAEABkAFQAQABAAGAARAAQAGAARABIAIAF6ABkADQAOABgAEQAEAA0AGAAVABMAGgAEABkAFQAQABAAGAARAAQADwARABoAIAARAB4BfgAYAA0ADgAYABEABAANABgAFQATABoABAAOABsAIAAgABsAGQAEAB4AFQATABQAIAF8ABcADQAOABgAEQAEAA0AGAAVABMAGgAEAA4AGwAgACAAGwAZAAQAGAARABIAIAF9ABkADQAOABgAEQAEAA0AGAAVABMAGgAEAA4AGwAgACAAGwAZAAQADwARABoAIAARAB4ByQAFAA0ADgAYABEACwAYACIAMABAAE4AWgBoAIgArAC8AMYCCAAEAB8AEQAeALYABgAcABgAGwANABAA3gAHABoAHwAgABUADwAXAKkABgAaAB8AGwAeACACBgAFABoAHAAVABoAlwAGABoAGAAbAA8AFwCVAA8AGgAYABUAGgAXAAQAIgARAB4AIAAVAA8ADQAYAJMAEQAaABgAFQAaABcABAAUABsAHgAVACYAGwAaACAADQAYAE0ABwAaABMAHgAbACEAHACDAAQAGgAQABsBVQAJABoAEAARAB4AGAAVABoAEQAKABYAKgBAAFgAbAB4AJYApACqAMwA5gAJABsAGAAhABkAEQAEACEAHADnAAoAGwAYACEAGQARAAQAGwASABIA5QALABsAGAAhABkAEQAEABAAGwAjABoCMQAJABUAGQARABsABAAOABsAJAIwAAUAFQAZABEAGwGsAA4AFQAQABEAGwAEABEAJAAgABEAHgAaAA0AGAJRAAYADgAcAB4AGwAWAlMAAgAOAeAAEAANABgAFQAQAA0AIAAVABsAGgAEACQAFAAgABkAGAHhAA8ADQAYABUAEAANACAAFQAbABoABAAQAA0AIAANAAgAEgAgADoAWgBqAIoAmACkAL8ABgAeABEAGgAPABQB7QAMABUAJgANAB4AEAAEACAADQAOABgAEQHvAA8AFQAmAA0AHgAQAAQADwAeABsAHwAfACAADQAOALsABwAVABoAEAAbACMAHwC8AA8AFQAaABAAGwAjAAQAGQAVABoAFQAZABUAJgARALoABgAVABoAEAAbACMAXQAFABUAEAAgABQA/QAHAA0AHgAaABUAGgATAAQACgAiADIASAIzAAsAGwAhACAAIQAOABEABAAOABsAJAIyAAcAGwAhACAAIQAOABECKQAKAA0AGQAZABEAHgAEAA4AGwAkAigABgANABkAGQARAB4ABQAMAB4ALgBKAGwAwwAIABsAGwAZAAQAGwAhACAAwgAHABsAGwAZAAQAFQAaAQIADQAbABsAGQAEAA4AEQAfACAABAASABUAIAEBABAAGwAbABkABAANAA8AIAAhAA0AGAAEAB8AFQAmABEAwQAEABsAGwAZAAEABAKdAAICngAAAAMD/wGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6iIDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEALAAAAAoACAABAAIAAEAIAAtADYASQB64FvhXOIO4wrkA+VT5qnmr+cF6CzpR+oi//3//wAAAAAAIAAtADAASQBh4ADhAOIA4wDkAOUA5gDmq+cA6ADpAOoA//3//wAB/+P/1//V/8P/rCAnH4Me4B3vHPob/htSG1EbARoHGTQYfAADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBQAEAAsACgAACAAABEQECwP6AAoD+gAGAAAABAUABAALAAoAAAgAAASEBAsD+gAGAAQABgAAAAQFAAQACwAKAAAIAAAERAQFAAYABAAGA/oAAAAEBQAEAAsACgAACAAABIQEBQAGA/oACgP6AAAABAQABAAMAAoAAAgAACQEhAgABAP4AAoD+gAAAAQFAAMACwALAAAIAAAkBEQLA/oABwP8AAgAAAAEBAAEAAwACgAACAAAJASECAP8AAgABAAGAAAABAUAAwALAAsAAAgAACQERAUABgAHAAQD+AAAAAgEAAQADAALAAAIABgAACQIRIRUhAQABAAEA/gACAAEAAYD+gAHAQAAAAAACAQAAwALAAsAAAgAGAAAJAiERIxEBAAGA/oABwEACwP8A/wACAP4AAAAAAAIBAAEAAwACwAACAAYAAAkCESE1IQMA/wD/AAIA/gACwP6AAYD+QEAAAAAAAgEAAMACwALAAAIABgAAJQkBIREzEQLA/oABgP5AQMABAAEA/gACAAAAAAACAQAAQAMAA0AAAgAFAAAlCQEJASEBAAEAAQD/AP8AAgBAAYD+gAMA/oAAAAIAgADAA4ACwAACAAUAABMJAQkBEYABgP6AAwD+gALA/wD/AAEAAQD+AAAAAgEAAEADAANAAAIABQAACQIJASEDAP8A/wABAAEA/gADQP6AAYD9AAGAAAACAIAAwAOAAsAAAgAFAAAlCQEJAREDgP6AAYD9AAGAwAEAAQD/AP8AAgAAAAIBAAAAAwADgAACAAYAAAEhAREBIQEBAAIA/wD/AAIA/wABgP6AA4D+gAGAAAAAAAIAAAEAA8ACgAACAAUAAAkCIQEhAgD/AP8AAsD/AAIAAoD+gAGA/oAAAAAAAgEAAQADAAMAAAIABgAACQI1FSE1AwD/AP8AAgACgP6AAYCAQEAAAAEAwAD8A0ACgAAGAAAlNxc3CQEXAQT8/ET+wP7ARPz8/EQBQP7ARAABATwAgALAAwAABgAAARcHFwkBBwE8/PxEAUD+wEQCvPz8RAFAAUBEAAAAAAEAwAEAA0AChAAGAAABBycHCQEnAvz8/EQBQAFARAKE/PxE/sABQEQAAAAAAQFAAIACxAMAAAYAACUnNycJATcCxPz8RP7AAUBExPz8RP7A/sBEAAEBAACAAwADAAAGAAABIxEjESMBAwDAgMABAAGA/wABAAGAAAEAwADAA0ACwAAGAAAlNSE1ITUBAcD/AAEAAYDAwIDA/wAAAAEBAACAAwADAAAHAAABMxEzETMJAQEAwIDA/wD/AAIAAQD/AP6AAYAAAAAAAQDAAMADQALAAAYAAAEVIRUhFQECQAEA/wD+gALAwIDAAQAAAQEAAMADQAKAAAoAAAEVMwsBMzUhNSEVAkCAoKCA/wACQAJAgP8AAQCAQEAAAAAAAQEAAMADQAKAAAgAAAEbASMVIRUhNQEAoKCAAYD+QAGAAQD/AIBAwAAAAAACAMAAwANAAsAACAAMAAABGwEjFSEVITUBIRUhAQCgoIABgP5AAcD9gAKAAYABAP8AgEDAAUBAAAMAAAAABAADgAAGAAoAEQAAATMVIxUtARMzESMBJRUjFTMVAQCAgP8AAQDAgIACQP8AgIABwUGAoKD9wAOA/iCggEF/AAAAAAEAQAAAA8ADgAARAAAlNSEVIzUjNTMRIxsBIxEhNQUCwP5AQICAgKCggAHAAQAAgICAQAHAAQD/AP5AgKAAAAACAMAAAANAA4AABgANAAABIxEjESMTAREjESMbAQIAgECAoAFgQICgoAKA/kABwAEA/YABwP5A/wABAAACAEABAAPAAsAAAgAGAAATDQEBFSE1QAGA/oABwAHAAsDg4AEAQEAABgBAAAADwAOAAAIABQAJAA0AEQAVAAATESUBEQUBFSE1BRUhNQEVITUFFSE1QAFA/sABQAJA/cACQP3AAkD9wAJA/cADgP6AwP1AAYDAAoBAQMBAQP7AQEDAQEAAAAAACQBAAAADwAOAAAMABwALAA8AEwAXABsAHwAjAAATIREhASERIQEhESE1IREhASERIQERIREBIREhJSERIQEhESFAAQD/AAFAAQD/AP7AAQD/AAEA/wABQAEA/wABQAEA/wABAP8A/sABAP8AAUABAP8AA4D/AP2AAQD/AAEAQAEA/wABAAFA/wABAP3AAQBAAQD8gAEAAAAGAEAAQAPAA4AAAwAHAAsADwATABcAABMzFSMlFSE1ATM1IwUhNSEBMzUjBSE1IUDAwAEAAoD8gMDAAQACgP2A/wDAwAEAAoD9gAOAwMDAwP4AwMDA/gDAwMAAAAQAQABAA4ADgAADAAcACwAPAAATIREhESERIQEhESEZASERQAGA/oABgP6AAcABgP6AAYABwP6AAcABgPzAAYABwP6AAYAAAAQAQABAA4ADgAADAAcACwAPAAATIREhEyERIQEhESEDESERQAGA/oBAAQD/AAHAAQD/AEABgAHA/oACAAEA/UABAAIA/oAB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gP6AQAEA/wADgPyAA4D8wAMA/gBAAYBA/wAAAAAUAAAAAAPAA8AABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAAATIxEhEQMhESEHIzUzBSM1MzUjNTMXIzUzFyM1MxcjNTMBIzUzJSM1MxEjNTM1IzUzASM1MwUjNTMFIzUzFyM1MxcjNTMFIzUzJSM1MwUjNTNAQAPAQPzAA0DAQED+AEBAQECAQECAQECAQED+gEBAAoBAQEBAQED9gEBAAgBAQP6AQECAQECAQEABAEBA/YBAQAKAQEADwPxAA8D8gANAwEDAQEBAQEBAQEBA/sBAwED+wEBAQP5AQEBAQEBAQEBAQEBAQEBAAAADAEAAAAPAA4AABAAIAAwAACURIREhJREhEQEhFSEDwPyAA4D8wAMA/UACgP2AQANA/IBAAwD9AALAwAADAEAAAAPAA4AABAAIAAwAADchESEREyERIQEzESOAA0D8gEADAP0AAgDAwAADgPyAA0D9AALA/YAAAAADAEAAAAPAA4AABAAIAAwAABMRIREhBREhERMhFSFAA4D8gANA/QBAAoD9gANA/MADgED9AAMA/gDAAAADAEAAAAPAA4AABAAIAAwAAAEhESERAyERIQUzESMDgPzAA4BA/QADAP1AwMADgPyAA4D8wAMAQP2AAAAEAEAAAAPAA4AAAwAHAAsADwAAEyEVIREhFSE1IREhFyERIUADgPyAA4D8gAOA/ICAAoD9gAOAQP0AQMACAID/AAAAAAQAQAAAA8ADgAADAAcACwAPAAABMxEjATMRIzchESEXIREhA4BAQPzAQECAAoD9gIABgP6AA4D8gAOA/IDAAgCA/wAABABAAAADwAOAAAMABwALAA8AABMRIREDIREhBTMRIwEzESNAA4BA/QADAP2AwMABQMDAA4D8gAOA/MADAID+AAIA/gAAAAAABgBAAAADwAOAAAMABwALAA8AEwAXAAA3IREhFyERIRMzESMBMxEjATMRIwEzESPAAoD9gEACAP4AQICAAQCAgP4AQEADQEBAgAKAQP4AAcD+gAGA/oACgPyAA4D8gAAABABAAAADwAOAAAMABwALAA8AABMRIREDIREhBTMRIwEzESNAA4BA/QADAP1AwMABwMDAA4D8gAOA/MADAED9gAKA/YAAAAAABABA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AQMBAQECBAI1Ly5GFBQBAQEBAQEBAQsXF0IoKC0CAMAZGVc6O0ICAAOA/voMHB1TNDQ6Qjs6VxkZExRFLi83wBQURi4vNS0oKEIXFwsBAQEBAQEBARQURi4vNQIEAgEBAQMBAQEBAQMBAQEEBwQCAQMBAQEBAQMBAQECAwIpJCMzDw4BAEI7OlcZGcAAAQCAAEADgANAAB8AAAEUBw4BBwYjISInLgEnJjURNDc+ATc2MyEyFx4BFxYVA4AUFEYuLzX/ADUvLkYUFBQURi4vNQEANS8uRhQUAUA1Ly5GFBQUFEYuLzUBADUvLkYUFBQURi4vNQADAIAAQAOAA0AABwANABMAABM1MzUhETM1ATMRIREhJRUjFSERwMD/AEABwID+AAFAAQDAAQACwEBA/wBA/kACAP4AgMBAAQAAAAAABQCAAEADgANAAAQACAARABYAGgAAATMRIRE3MxUjATMRIRUjESE1ISMRIREHIzUzAQCA/wBAgIABgMD+wMABQAEAwAEAQICAAkABAP8AwID/AAFAwP7AgP8AAQDAgAAAAgCAAEADgANAAAcADQAAAREhESERIREXIxUjFSEDgP4A/wACAMDAwAGAAkD+AAEAAgD/AEDAwAADAIAAQAOAA0AAAwAHAA0AAAERIREDIREhAyERMxEhAYACAED+gAGAwP4AwAFAAkD+AAIA/kABgAFA/gABQAAABAA/AAADfwOAAAMABwALAA8AABMzESMBIREhBREhEQUhFSE/QEACQP5AAcABAP1AAoD9wAJAA4D8gAMA/wCA/wABAECAAAAAAgB/AAADPwOAABQAGAAAATUzESM1IxUjETMVIREhFTM1IREhBSE1IQH/wMBAwMD+wAFAQAFA/sABAP3AAkABgIABAICA/wCA/wCAgAEAwIAAAAAABACBAAADwQOAAAQACQAOABIAADchESERNyEVITUTIREhESURIxGBAsD9QEACQP3AwAHA/kACQECAAQD/AMCAgAHA/wABAID8gAOAAAQAPwBAA78DgAADAAcACwAQAAATIREhASERITczESMlFSE1Ib8BAP8AAYABAP8AQICA/cADgPyAAwD+QAHA/UBAAkDAQEAAAAIAPwCAA78DQAATABgAAAERIREjNSEVIxUzFSE1MxEhETM1IxEjETMDP/8AgP8AgIABAIABAIDAgIAC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FTMRIxUhAz/+wED+wAFAwMBAwMABQICAgAEAgAEAgID/AIAAAAMAgQAAA8EDgAAEAAgADQAAASERIRElETMRASERIREBgQHA/kACAED8wALA/UADAP8AAQCA/IADgP0AAQD/AAAEAD8AAAO/A4AAAwAHAAsAEAAAASERIQEzESMhETMRASERIREDP/2AAoD9AEBAA0BA/QICgP2AAgABAP0AA4D8gAOA/QABAP8AAAAAAwA/AIADvwNAABMAFwAbAAABESERIzUhFSMVMxUhNTMRIREzNQUjNTMBIxEzAz//AID/AICAAQCAAQCA/cCAgAGAgIACAAFA/sDAwEDAwP7AAUBAwID/AAEAAAADAEAAQAPAA4AAAwAHAAsAABMhESEDFSE1ASERIcABAP8AgAOA/oABAP8AAwD+QAJAQED8wALAAAEAPwCAA78DQAATAAABIxEhESMVITUjNTM1IRUzESERMwO/gP8AgP8AgIABAIABAIABwP7AAUDAwEDAwAFA/sAAAAAAAwA///4DvwM+AAMACAAMAAAlIREhARUhNSEBIREhAb//AAEA/oADgPyAAwD/AAEAfgHA/gBAQAMA/UAABAA/AAADvwOAAAMACAANABEAAAERIREDITUhFREVITUhBREhEQG//wCAA4D8gAOA/IACAAEAAwD9gAKA/QBAQAOAQEB+/YACgAAAAAMAfwAAAz8DgAAUABgAHAAAATUzESM1IxUjETMVIREhFTM1IREhByE1IREjNTMB/8DAQMDA/sABQEABQP7AQP8AAQCAgAGAgAEAgID/AID/AICAAQDAgAEAgAAAAwA/AAAC/wOAAAMABwAMAAATIREhBzMRIwURIREhvwEA/wCAQEABwAEA/wADAP2AgAOAfv2AAoAAAAAAAwB/AAADPwOAAAQACAAMAAATIREhEQEzESMXESERfwEA/wABQEBAgAEAAwD9gAKA/QADgH79gAKAAAAAAwEBAAADwQOAAAQACAAMAAABIREhESURMxEBIREhAQEBAP8AAoBA/oABAP8AAwD9gAKAgPyAA4D9AgKAAAAAAAT//wAAA/8DgAAEAAgADAARAAATIREhESURMxEBIREhATMRIxF/AQD/AANAQP6AAQD/AP2AQEADAP2AAoCA/IADgP0CAoD8/gOA/IAAAAAABP//AAAD/wOAAAMABwAL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IREFITUhFSE1IRUhNSFAA4D8wAMA/UABgP6AAoD9gAGA/oAAA8D8QAOA/MADQIBAwEDAQAAFAEAAAAPAA8AAAwAHAAsADwATAAA3ESERAREhEQchFSEXIRUhByEVIUADgPzAAwDA/oABgID9gAKAgP6AAYAAA8D8QAOA/MADQEBAQEBAQAAAAAAFAEAAAAPAA8AAAwAHAAsADwATAAA3ESERAREhEQchFSEVIRUhFSEVIUADgPzAAwBA/oABgP2AAoD+gAGAAAPA/EADgPzAA0BAQEBAQEAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERASE1IRUhNSEVITUhQAOA/MADAP1AAYD+gAKA/YABgP6AAAPA/EADgPzAA0D+wEDAQMBAAAAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERAyEVIRchFSEHIRUhQAOA/MADAMD+gAGAgP2AAoCA/oABgAADwPxAA4D8wANA/wBAQEBAQAAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERAyEVIRUhFSEVIRUhQAOA/MADAED+gAGA/YACgP6AAYAAA8D8QAOA/MADQP8AQEBAQEAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREBITUhFSE1IRUhNSFAA4D8wAMA/UABgP6AAoD9gAGA/oAAA8D8QAOA/MADQP4AQMBAwEAAAAAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREDIRUhFyEVIQchFSFAA4D8wAMAwP6AAYCA/YACgID+gAGAAAPA/EADgPzAA0D+QEBAQEBAAAAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREDIRUhFSEVIRUhFSFAA4D8wAMAQP6AAYD9gAKA/oABgAADwPxAA4D8wANA/kBAQEBAQAAGAEAAAAPAA8AAAwAHAAsADwATACcAABMRIREDIREhARcjNRUzFyMfASE1AzcXIRUhFyEVIRczFSMXMxUjFwdAA4BA/QADAP2HPEN/PLv2PP7OQC0yAeH+WzwBaf7SPPK2O3s/fy0DwPxAA8D8gANA/oBAQIBAQEBAAggtNUBAQEBAQECILQAABQBAAEADgAOAAAMABwALAA8AEwAAExEhEQUhESEZASERKQERITUhESFAA0D9AAFA/sABQAGA/sABQP7AAUADgPzAA0BA/sD+gAFA/sABQEABQAAACwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAAASM1MzMjFTM3IxUzNSMVMzUjFTMRIxUzNSMVMzcjFTM3IxUzExEhEQUhESEBAEBAgEBAgEBAQEBAQEBAQECAQECAQECA/MADAP1AAsABwEBAQEDAQMBA/kBAwEDAQEBAAcD8wANAQP1AAAAVAEAAQAOAA4AAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwBDAEcASwBPAFsAABMjNTMVIxUzFSMVMxUjFTMVIxUzASMVMxUjFTMVIxUzFSMVMwEjFTM3IxUzASMVMzcjFTM3IxUzJSMVMzcjFTM3IxUzASMVMzcjFTM3IxUzESERIxEhFSERMxEhgEBAQEBAQEBAQEADAEBAQEBAQEBA/YBAQIBAQP8AQECAQECAQEABAEBAgEBAgEBA/wBAQIBAQIBAQP6AQP6AAYBAAYADQECAQEBAwEBAQAJAQEBAwEBAQALAQEBA/UBAQEBAQEBAQEBAQANAQEBAQED+wAGA/oBA/oABgAAAABsAQABAA4ADgAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawAAARUhNRMjFTMVIzUzFSM1MxEjNTMVIzUzASM1MxUjNTMRIzUzFSM1MwEjNTMXIzUzFyM1MxUjNTMVIzUzESM1MxUjNTMVIzUzISMVMzMjNTMXIzUzISMVMzMjNTMXIzUzASMVMzMjNTMXIzUzA4D8wEBAQEBAQEBAQEBAAwBAQEBAQEBAQP2AQECAQECAQEBAQEBAQEBAQEBA/oBAQIBAQIBAQAEAQECAQECAQED/AEBAgEBAgEBAAgBAQAGAQIBAwED+wEDAQAHAQMBA/sBAwEACQEBAQEBAwEDAQP7AQMBAwEBAQEBAQEBAQAMAQEBAQAAAGwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAWwBfAGMAZwBrAAAlIxEzBTUjFSM1MxUjNTMVITUzFSM1MxUBNTMVIzUzFSE1MxUjNTMVATUzFQc1MxUHNTMVIzUzFSM1MxUhNTMVIzUzFSM1MxURNSMVFTUzFQc1MxURNSMVFTUzFQc1MxUBNSMVFTUzFQc1MxUCAEBAAYBAgEDAQP7AQMBAAcBAwED+wEDAQAJAQEBAQEDAQMBA/sBAwEDAQEBAQEBAQEBAAwBAQEBAQANAQEBAQEBAQEBAQED9AEBAQEBAQEBAAoBAQIBAQIBAQEBAQEBAQEBAQEABgEBAgEBAgEBA/wBAQIBAQIBAQAEAQECAQECAQEAAAAAbAEAAQAOAA4AAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwBDAEcASwBPAFMAVwBbAF8AYwBnAGsAAAEVITUXIxUzFSM1MxUjNTMVIzUzFSM1MwEjNTMVIzUzFSM1MxUjNTMlIzUzFyM1MzcjNTMVIzUzFSM1MxUjNTMVIzUzFSM1MyEjFTMzIzUzFyM1MyEjFTMzIzUzFyM1MwEjFTMzIzUzNyM1MwOA/MBAQEBAQEBAQEBAQAMAQEBAQEBAQED9gEBAgEBAgEBAQEBAQEBAQEBAQP6AQECAQECAQEABAEBAgEBAgEBA/wBAQIBAQIBAQAOAQECAQIBAwEDAQMBAAUBAwEDAQMBAwEBAQMBAwEDAQMBAwEDAQEBAQEBAQEBAAYBAQMBAAAAAGwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAWwBfAGMAZwBrAAA3NSEVJSMVMzUjNTM1IzUzNSM1MzUjNTMBIzUzNSM1MzUjNTM1IzUzASM1MxcjNTMTIzUzNSM1MzUjNTM1IzUzNSM1MzUjNTMhIxUzMyM1MxcjNTMhIxUzMyM1MxcjNTMBIxUzMyM1MxMjNTNAA0D9AEBAQEBAQEBAQEADAEBAQEBAQEBA/YBAQIBAQIBAQEBAQEBAQEBAQED+gEBAgEBAgEBAAQBAQIBAQIBAQP8AQECAQECAQEBAQEDAQIBAQEBAQEBA/kBAQEBAQEBA/sBAQED+wEBAQEBAQEBAQEBAQEBAQEBAQED+gEBA/sBAABsAQABAA4ADgAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawAAEzMRIxM1IxUzNTMVMzUzFTM1MxUzNTMVATUzFTM1MxUzNTMVMzUzFQE1MxUHNTMVBTUzFTM1MxUzNTMVMzUzFTM1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A0D8gAJA/gABgP6AwMAAAAADAEAAAAPAA4AACwAPABMAAAERIxEhESMRIxEhEQERMxEzETMRAoBA/sCAQAOA/YDAwMADgPzAA0D8wANA/IADgPzAAgD+AAFA/sAABABAAAADwAOAAAUACQANABEAACUVIREzEQEjETMTESERJSERIQPA/IBAAYDAwED+wALA/sABQEBAA4D8wAKA/kACAP3AAkCA/kAAAAIAQAAAA8ADgAALAA8AADc1IREhNSERIREhNQEVITWAAUD+wALA/QADgP3A/wBAgAFAQAFA/IBAAYDAwAAAAAADAEAAAAPAA4AACwAPABMAADc1IREhNSERIREhNQEzFSMFFSE1gALA/UACAP3AA4D8wMDAAYD+gECAAUBAAUD8gEADAMDAwMAAAAAAAwBAAAADwAOAAAsADwATAAABESERITUhNSERITUFFSE1ESEVIQPA/IADgPzAA0D8wAIA/gABQP7AAkABQPyAQIABQECAwMABgMAAAAQAQAAAA8ADgAAFAAkADQARAAAlFSERMxEBIRUhExEhEQEhESEDwPyAQAKA/kABwED9wALA/kABwEBAA4D8wAGAwAEA/sABQAGA/sAAAAAAAwBAAAADwAOAAAoADgARAAABJwcnByc1IxEhEQUXByclFwcDK7C3REu1QAOA/sCFhY7+joyMAi+x5ERatOb8gAMAgIW7jnKMpwAAAAIAQAAAA8ADgAAHAA8AAAElAREjESERAwkCNQEXNwKA/wD/AEADgED/AP8A/wABDfz3AnWA/wABi/yAA4D+5v6aAQD+zc4BDH7OAAACAEAAAAPAA4AAAwAJAAATESERBwkCESFAA4BA/wD/AP8AAwADgPyAA4Da/poBAP7NAjMAAQBAAAADwAOAAA0AADcVIRUhETMRAQUBEQEngANA/IBAAQABAAFA/sD+gEBAA4D+QAEAgAFA/oD+wIAAAwBAAAADwQOAAAUAGQAdAAA3IRUhETMBAzUTNycHNTcXNxc3FQcfAScHJzcXNyeAA0D8gEABMfHCUzfe8FfacG9MTAF1paoyeIFWQEADgP49/sNmAQRCRHBMdGyuq4VeXXVrrsrVKJeafwAAAwBAAAADwAOAAAUADQAVAAAlFSERMxEBBSU1BSUFFQEFJTUFJQUVA8D8gEABQAEAAQD/AP8A/wABAAEAAQD/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BAAAQAQAAEAEAABABAABQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAYAEAABABAAAgAQAAEAEAAFABAAAAAQAAMAEAAAABAAAwAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAABAAQAAQAEAAEABAABAAQAAEAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAMAEAADABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAABAAQAAFMEAAAABAAAAAQAAQAEAAAABAAAwAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAwAQAAEAEAAEABAABAAQAAIAEAACABAABAAQAAIAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAMAEAADABAAAwAQAAIAEAADABAAAWgQAAEMEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAAAQAQAAIAEAAFABAABQAQAAEAEAABABAAAQAQAAMAEAADABAABAAQAAQAEAAEABAAAgAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAABABAAAUQQAAQAEAACABAAAQAQAAEAEAAAABAAAQAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAEAEAADABAAAwAQAAMAEAABQBAAAUAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAQAEAACABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAAAEAAAABAAAAAQAAEAEAAAABAAAQAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAAwEAADABAAAQAQAAEAEAABABAAAQAQAAIAEAAAABAABAAQAAQAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAAA/BAAAfwQAAIEEAAA/BAAAPwQAAD8EAABABAAAQAQAAEAEAABABAAAAAQAAAAEAABABAAAQAQAAAAEAAAABAAAAAQAAAAEAABABAAAQAQAAEAEAABABAAAPwQAAIAEAAAABAD//gQAAAAEAABABAAAAAQAAAAEAABABAAAAAQAAD8EAAA/BAAAPwQAAH8EAACBBAAAPwQAAD8EAABABAAAPwQAAD8EAAA/BAAAfwQAAD8EAAB/BAABAQQA//8EAP//BAAAPwQAAD8EAAA/BAAAPwQAAD8EAACABAABAAQAAQAEAAEABAABAAQAAMAEAABABAAAQAQAAAAEAACABAAAgAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAMAEAADABAAAAAQAAEAEAABABAAAAAQAAIAEAABABAAAAAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAIAEAACABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAAAEAAAABAAAAAQAAAAEAABABAAAQAQAAEAEAAAABAAAQAQAAAAEAABABAAAQAQAAAAEAAAABAAAQAQAAAAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAFMEAAAABAAAAAQAAAAEAABABAAAQAQAAMAEAABABAABAAQAAIAEAABABAAAgAQAAIAEAABABAAAAAQAAAAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACgBAAAoAQAAMAEAACABAAAQAQAAIAEAABABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAEABAAAQAQAAMAEAABABAAAQAQAAEAEAACABAAAQAQAAEAEAABABAAAgAQAAEAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAADABAAAQAQAAEAEAABABAAAQgQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAQAQAAEAEAACABAAAgAQAAIAEAACABAAAQAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAQAQAAEAEAACABAAAQAQAAEAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQgQAAEAEAABABAAAQAAAAAAAAAAAAAoAFAAeACgAMgA8AEYAUABaAGQAbgB4AIIAjACWAKAAqgC0AL4AyADSANwA5gDwAPoBBAEOARgBIgEsATYBQAFKAVQBXgFoAXIBfAGKAZgBpgG0AcIB0AHeAewCAgIYAi4CRAJaAnAChgKcArQCygLeAvIDCAMeAzIDRANWA2wDfgOWA6wDyAPsBAwEKgQ+BG4EugToBQwFMgVGBXYFoAXGBeYGEAYqBkQGXgZ4Bq4G5Ab+B1IHaAeAB6QHyAf2CCQIVgiICLoI7AkeCWAJognkCiYKaAqKCqwKzgrwCxILPgtsC5oLyAv2DB4MRgzEDOINAA0eDTwNXg2ADaQN1A34DhwOQA5mDrYPCA90D8QQFhB2ELwQ8BFGEXIRuBIGEmYSzhNmE84UZhSqFOwVTBXEFkIWVha6FvYXEBd6F7wX1Bg6GHgYhhjkGRoZNBlOGXQZiBmcGbIZ1hnqGggaJhpcGpwathrQGuobBBsoG0obbBuCG6IbsBw6HUYdmB4SHnIe4B9IH2wfnh/eIAwgIiAwIEAgTiB+IJIgtCDOIOog+iEmIXAhtCIwIywkiiVCJcYmLCbSJuYnLieOJ84n3CfyKAAoFCgoKFIorijUKVIp8iokKlQqYip2KoQq6CsiK1IrbCuCK6IrwCwCLDIsiizyLTItmi4aLnwu1i8UL1ovsDACMCwwWjCEMJ4wuDFqMZAxtjIgMuozVDNkNCA0cjSgNMQ1sjXgNfY2rjbiNwg3ODdUN3Q3mDfCN+g4DDg0OFY4djiYOLg42DkCOSw56jpKOnQ6njr4OzI7bjuOO8I79jw+PF48kjzGPQw9ej3EPhg+aD6qPtg/Bj8kP0Q/ZD+KP7g/1D/2QBRAOkBoQIZApEDEQOxBEkEyQVJBckGaQcJCLkKqQsRDAEMSQzBDkEPyRShFrkYyRwhH5kimSXxKhEsiTABM+E3iTi5OaE6gTsJO5E8GTyJPPk9aT4hPtk/kUBJQWlCQULhQ4FEKUTJRXFGGUa5R2FICUipSblKYUt5TZlQAVJpVMlXKVmRW/Fe0V/ZYglk+WeJaqFrWWx5b3F1cXvZftmDsYTphZmGoYrRjOmPKZDBklmUQZX5mAGaCZuZnKmd0Z9xoQmhqaKBo9GlEabZp7GpMarBq6GuKa8ZsGGxybMRtHm10bchuCG5SbrJvEnDmcTpyLHJ+csZzEHZadtB3sniCeSJ5dnnAegB6VnqSevB7KHtee5Z7znwqfIR8wH0KfUJ9en2wffp+RH6Gfs5/Fn9cf7aA+oImgrCC9oQohEiEqoWUhhSG6Iduh/SIIoiMiUyJkIpSipaK3Isgi2SLoIvajBSMho1QjYaN1I6ijtSPCo9Kj3SPnpBQkNSRKpGQkbaR3JIoklyShJLmk1yTcpOck9yUOJR6lNKU9pUwlo6YAplumvKbLpt8m9qcTpzSnWCgIqL6o2aj6KRmpO6lOqWcpgamfqcYp8SohKlYqiirAqtSq66sFKyKrOytZK2OrcquBK44rpCu4q8GrzSvcrBUsIywyrECsV6yRLMss3S0GrRYtIS05LVAtXC1pLXOtqi3FrdquDa48rlmudS5+rowulS6vrtSu4y7xrvuvBa8ULyIvM69Cr0yvbC/SMEQwv7EBsRAxITE4MVWxeTGosbixwTHtMgCyFjI0MkiycDKEsp4yq7K7Ms+zOLNKM1WzXbNnM3CzejOCM4uzlTOfM6izsjO4s8AzzbPZs+O0NrSMNN21CLVBtWe1pzXFNe819zYVNiI2LjZANn22hzacNrW2uAAAQAAAp8DLAA+AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAABoBPgABAAAAAAAAABsBEQABAAAAAAABABIAAAABAAAAAAACAAcDYAABAAAAAAADABIC9AABAAAAAAAEABIDdQABAAAAAAAFAAsC0wABAAAAAAAGABIDKgABAAAAAAAJABsBYgABAAAAAAAKADMAeAABAAAAAAALABYANgABAAAAAAAMABYBswABAAAAAAANABsB9QABAAAAAAAOAC8CRgADAAEECQAAADYBLAADAAEECQABACQAEgADAAEECQACAA4DZwADAAEECQADACQDBgADAAEECQAEACQDhwADAAEECQAFABYC3gADAAEECQAGACQDPAADAAEECQAJADYBfQADAAEECQAKAGYAqwADAAEECQALACwATAADAAEECQAMACwByQADAAEECQANADYCEAADAAEECQAOAF4CdVdlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac2h0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbVdlYiBDb21wb25lbnRzIEljb24gRm9udApGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBXAGUAYgAgAEMAbwBtAHAAbwBuAGUAbgB0AHMAIABJAGMAbwBuACAARgBvAG4AdAAKAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALlRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeVRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeWh0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbUFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5odG1sAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAC4AaAB0AG0AbFZlcnNpb24gMS43AFYAZQByAHMAaQBvAG4AIAAxAC4AN1dlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1dlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcldlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4AcwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype");\n}\n.k-icon {\n width: 1em;\n height: 1em;\n outline: 0;\n font-size: 16px;\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-variant: normal;\n font-weight: normal;\n line-height: 1;\n speak: none;\n text-transform: none;\n text-decoration: none;\n flex-shrink: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n.k-icon:hover, .k-icon:focus {\n text-decoration: none;\n}\n.k-no-flexbox {\n display: inline-block;\n}\n.k-svg-icon {\n width: 1em;\n height: 1em;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n}\n.k-svg-icon > svg {\n fill: currentColor;\n flex: 1 0 auto;\n}\n.k-svg-icon.k-flip-h, .k-svg-icon.k-flip-v, .k-svg-icon.k-flip-h.k-flip-v {\n transform: none;\n}\n.k-svg-icon.k-flip-h > svg {\n transform: scaleX(-1);\n}\n.k-svg-icon.k-flip-v > svg {\n transform: scaleY(-1);\n}\n.k-svg-icon.k-flip-h.k-flip-v > svg {\n transform: scale(-1, -1);\n}\n.k-icon-with-modifier {\n position: relative;\n margin: 0.25em;\n}\n.k-icon-modifier {\n position: absolute;\n font-size: 0.5em;\n bottom: 0;\n right: 0;\n margin: 0 -0.5em -0.5em 0;\n}\n.k-i-none::before {\n content: "";\n display: none;\n}\n.k-widget .k-icon.k-i-expand, .k-widget .k-icon.k-i-collapse {\n cursor: pointer;\n}\n.k-icon-xs {\n font-size: 8px;\n}\n.k-icon-sm {\n font-size: 12px;\n}\n.k-icon-md {\n font-size: 32px;\n}\n.k-icon-lg {\n font-size: 48px;\n}\n.k-icon-xl {\n font-size: 64px;\n}\n.k-i-caret-tr::before {\n content: "";\n}\n.k-i-arrow-45-up-right::before {\n content: "";\n}\n.k-i-collapse-ne::before {\n content: "";\n}\n.k-i-resize-ne::before {\n content: "";\n}\n.k-i-caret-br::before {\n content: "";\n}\n.k-i-arrow-45-down-right::before {\n content: "";\n}\n.k-i-collapse-se::before {\n content: "";\n}\n.k-i-resize-se::before {\n content: "";\n}\n.k-i-caret-bl::before {\n content: "";\n}\n.k-i-arrow-45-down-left::before {\n content: "";\n}\n.k-i-collapse-sw::before {\n content: "";\n}\n.k-i-resize-sw::before {\n content: "";\n}\n.k-i-caret-tl::before {\n content: "";\n}\n.k-i-arrow-45-up-left::before {\n content: "";\n}\n.k-i-collapse-nw::before {\n content: "";\n}\n.k-i-resize-nw::before {\n content: "";\n}\n.k-i-caret-alt-up::before {\n content: "";\n}\n.k-i-arrow-60-up::before {\n content: "";\n}\n.k-i-arrow-n::before {\n content: "";\n}\n.k-i-kpi-trend-increase::before {\n content: "";\n}\n.k-i-expand-n::before {\n content: "";\n}\n.k-i-sarrow-n::before {\n content: "";\n}\n.k-i-caret-alt-right::before {\n content: "";\n}\n.k-i-arrow-60-right::before {\n content: "";\n}\n.k-i-arrow-e::before {\n content: "";\n}\n.k-i-expand::before {\n content: "";\n}\n.k-i-expand-e::before {\n content: "";\n}\n.k-i-sarrow-e::before {\n content: "";\n}\n.k-i-caret-alt-down::before {\n content: "";\n}\n.k-i-arrow-60-down::before {\n content: "";\n}\n.k-i-arrow-s::before {\n content: "";\n}\n.k-i-kpi-trend-decrease::before {\n content: "";\n}\n.k-i-expand-s::before {\n content: "";\n}\n.k-i-collapse::before {\n content: "";\n}\n.k-i-sarrow-s::before {\n content: "";\n}\n.k-i-caret-alt-left::before {\n content: "";\n}\n.k-i-arrow-60-left::before {\n content: "";\n}\n.k-i-arrow-w::before {\n content: "";\n}\n.k-i-expand-w::before {\n content: "";\n}\n.k-i-sarrow-w::before {\n content: "";\n}\n.k-i-caret-alt-to-top::before {\n content: "";\n}\n.k-i-arrow-end-up::before {\n content: "";\n}\n.k-i-seek-n::before {\n content: "";\n}\n.k-i-caret-alt-to-right::before {\n content: "";\n}\n.k-i-arrow-end-right::before {\n content: "";\n}\n.k-i-seek-e::before {\n content: "";\n}\n.k-i-caret-alt-to-bottom::before {\n content: "";\n}\n.k-i-arrow-end-down::before {\n content: "";\n}\n.k-i-seek-s::before {\n content: "";\n}\n.k-i-caret-alt-to-left::before {\n content: "";\n}\n.k-i-arrow-end-left::before {\n content: "";\n}\n.k-i-seek-w::before {\n content: "";\n}\n.k-i-caret-double-alt-up::before {\n content: "";\n}\n.k-i-arrow-double-60-up::before {\n content: "";\n}\n.k-i-arrow-seek-up::before {\n content: "";\n}\n.k-i-caret-double-alt-right::before {\n content: "";\n}\n.k-i-arrow-double-60-right::before {\n content: "";\n}\n.k-i-arrow-seek-right::before {\n content: "";\n}\n.k-i-forward-sm::before {\n content: "";\n}\n.k-i-caret-double-alt-down::before {\n content: "";\n}\n.k-i-arrow-double-60-down::before {\n content: "";\n}\n.k-i-arrow-seek-down::before {\n content: "";\n}\n.k-i-caret-double-alt-left::before {\n content: "";\n}\n.k-i-arrow-double-60-left::before {\n content: "";\n}\n.k-i-arrow-seek-left::before {\n content: "";\n}\n.k-i-rewind-sm::before {\n content: "";\n}\n.k-i-caret-alt-expand::before {\n content: "";\n}\n.k-i-arrows-kpi::before {\n content: "";\n}\n.k-i-kpi::before {\n content: "";\n}\n.k-i-caret-alt-sort::before {\n content: "";\n}\n.k-i-arrows-no-change::before {\n content: "";\n}\n.k-i-arrow-overflow-down::before {\n content: "";\n}\n.k-i-chevron-up::before {\n content: "";\n}\n.k-i-arrow-chevron-up::before {\n content: "";\n}\n.k-i-arrowhead-n::before {\n content: "";\n}\n.k-i-chevron-right::before {\n content: "";\n}\n.k-i-arrow-chevron-right::before {\n content: "";\n}\n.k-i-arrowhead-e::before {\n content: "";\n}\n.k-i-chevron-down::before {\n content: "";\n}\n.k-i-arrow-chevron-down::before {\n content: "";\n}\n.k-i-arrowhead-s::before {\n content: "";\n}\n.k-i-chevron-left::before {\n content: "";\n}\n.k-i-arrow-chevron-left::before {\n content: "";\n}\n.k-i-arrowhead-w::before {\n content: "";\n}\n.k-i-arrow-up::before {\n content: "";\n}\n.k-i-arrow-right::before {\n content: "";\n}\n.k-i-arrow-down::before {\n content: "";\n}\n.k-i-arrow-left::before {\n content: "";\n}\n.k-i-level-down::before {\n content: "";\n}\n.k-i-arrow-drill::before {\n content: "";\n}\n.k-i-level-up::before {\n content: "";\n}\n.k-i-arrow-parent::before {\n content: "";\n}\n.k-i-level-to-top::before {\n content: "";\n}\n.k-i-arrow-root::before {\n content: "";\n}\n.k-i-level-root::before {\n content: "";\n}\n.k-i-col-resize::before {\n content: "";\n}\n.k-i-arrows-resizing::before {\n content: "";\n}\n.k-i-arrows-axes::before {\n content: "";\n}\n.k-i-arrows-dimensions::before {\n content: "";\n}\n.k-i-dimension::before {\n content: "";\n}\n.k-i-arrows-swap::before {\n content: "";\n}\n.k-i-drag-and-drop::before {\n content: "";\n}\n.k-i-categorize::before {\n content: "";\n}\n.k-i-grid::before {\n content: "";\n}\n.k-i-grid-layout::before {\n content: "";\n}\n.k-i-group::before {\n content: "";\n}\n.k-i-ungroup::before {\n content: "";\n}\n.k-i-handler-drag::before {\n content: "";\n}\n.k-i-layout::before {\n content: "";\n}\n.k-i-layout-1-by-4::before {\n content: "";\n}\n.k-i-layout-2-by-2::before {\n content: "";\n}\n.k-i-page-layout::before {\n content: "";\n}\n.k-i-layout-side-by-side::before {\n content: "";\n}\n.k-i-layout-stacked::before {\n content: "";\n}\n.k-i-columns::before {\n content: "";\n}\n.k-i-rows::before {\n content: "";\n}\n.k-i-reorder::before {\n content: "";\n}\n.k-i-menu::before {\n content: "";\n}\n.k-i-hamburger::before {\n content: "";\n}\n.k-i-more-vertical::before {\n content: "";\n}\n.k-i-more-v::before {\n content: "";\n}\n.k-i-vbars::before {\n content: "";\n}\n.k-i-more-horizontal::before {\n content: "";\n}\n.k-i-more-h::before {\n content: "";\n}\n.k-i-hbars::before {\n content: "";\n}\n.k-i-overlap::before {\n content: "";\n}\n.k-i-home::before {\n content: "";\n}\n.k-i-root::before {\n content: "";\n}\n.k-i-height::before {\n content: "";\n}\n.k-i-width::before {\n content: "";\n}\n.k-i-max-height::before {\n content: "";\n}\n.k-i-max-width::before {\n content: "";\n}\n.k-i-min-height::before {\n content: "";\n}\n.k-i-min-width::before {\n content: "";\n}\n.k-i-margin::before {\n content: "";\n}\n.k-i-margin-top::before {\n content: "";\n}\n.k-i-margin-right::before {\n content: "";\n}\n.k-i-margin-bottom::before {\n content: "";\n}\n.k-i-margin-left::before {\n content: "";\n}\n.k-i-padding::before {\n content: "";\n}\n.k-i-padding-top::before {\n content: "";\n}\n.k-i-padding-right::before {\n content: "";\n}\n.k-i-padding-bottom::before {\n content: "";\n}\n.k-i-padding-left::before {\n content: "";\n}\n.k-i-border-style::before {\n content: "";\n}\n.k-i-border-style-top::before {\n content: "";\n}\n.k-i-border-style-right::before {\n content: "";\n}\n.k-i-border-style-bottom::before {\n content: "";\n}\n.k-i-border-style-left::before {\n content: "";\n}\n.k-i-border-radius::before {\n content: "";\n}\n.k-i-border-radius-top-right::before {\n content: "";\n}\n.k-i-border-radius-bottom-right::before {\n content: "";\n}\n.k-i-border-radius-bottom-left::before {\n content: "";\n}\n.k-i-border-radius-top-left::before {\n content: "";\n}\n.k-i-outline-width::before {\n content: "";\n}\n.k-i-outline-offset::before {\n content: "";\n}\n.k-i-box-sizing::before {\n content: "";\n}\n.k-i-position-top::before {\n content: "";\n}\n.k-i-position-right::before {\n content: "";\n}\n.k-i-position-bottom::before {\n content: "";\n}\n.k-i-position-left::before {\n content: "";\n}\n.k-i-display-block::before {\n content: "";\n}\n.k-i-display-inline-block::before {\n content: "";\n}\n.k-i-display-flex::before {\n content: "";\n}\n.k-i-display-inline-flex::before {\n content: "";\n}\n.k-i-gap-column::before {\n content: "";\n}\n.k-i-gap-row::before {\n content: "";\n}\n.k-i-undo::before {\n content: "";\n}\n.k-i-undo-large::before {\n content: "";\n}\n.k-i-redo::before {\n content: "";\n}\n.k-i-redo-large::before {\n content: "";\n}\n.k-i-arrow-rotate-ccw::before {\n content: "";\n}\n.k-i-reset::before {\n content: "";\n}\n.k-i-arrow-rotate-cw::before {\n content: "";\n}\n.k-i-reload::before {\n content: "";\n}\n.k-i-refresh::before {\n content: "";\n}\n.k-i-recurrence::before {\n content: "";\n}\n.k-i-arrows-repeat::before {\n content: "";\n}\n.k-i-arrows-no-repeat::before {\n content: "";\n}\n.k-i-non-recurrence::before {\n content: "";\n}\n.k-i-refresh-clear::before {\n content: "";\n}\n.k-i-arrow-rotate-ccw-small::before {\n content: "";\n}\n.k-i-reset-sm::before {\n content: "";\n}\n.k-i-arrow-rotate-cw-small::before {\n content: "";\n}\n.k-i-reload-sm::before {\n content: "";\n}\n.k-i-refresh-sm::before {\n content: "";\n}\n.k-i-recurrence-sm::before {\n content: "";\n}\n.k-i-arrows-repeat-sm::before {\n content: "";\n}\n.k-i-clock::before {\n content: "";\n}\n.k-i-calendar::before {\n content: "";\n}\n.k-i-save::before {\n content: "";\n}\n.k-i-floppy::before {\n content: "";\n}\n.k-i-print::before {\n content: "";\n}\n.k-i-printer::before {\n content: "";\n}\n.k-i-pencil::before {\n content: "";\n}\n.k-i-edit::before {\n content: "";\n}\n.k-i-trash::before {\n content: "";\n}\n.k-i-delete::before {\n content: "";\n}\n.k-i-paperclip::before {\n content: "";\n}\n.k-i-attachment::before {\n content: "";\n}\n.k-i-clip::before {\n content: "";\n}\n.k-i-paperclip-alt::before {\n content: "";\n}\n.k-i-attachment-45::before {\n content: "";\n}\n.k-i-clip-45::before {\n content: "";\n}\n.k-i-link::before {\n content: "";\n}\n.k-i-link-horizontal::before {\n content: "";\n}\n.k-i-hyperlink::before {\n content: "";\n}\n.k-i-link-h::before {\n content: "";\n}\n.k-i-unlink::before {\n content: "";\n}\n.k-i-unlink-horizontal::before {\n content: "";\n}\n.k-i-hyperlink-remove::before {\n content: "";\n}\n.k-i-unlink-h::before {\n content: "";\n}\n.k-i-link-vertical::before {\n content: "";\n}\n.k-i-link-v::before {\n content: "";\n}\n.k-i-unlink-vertical::before {\n content: "";\n}\n.k-i-unlink-v::before {\n content: "";\n}\n.k-i-lock::before {\n content: "";\n}\n.k-i-unlock::before {\n content: "";\n}\n.k-i-cancel::before {\n content: "";\n}\n.k-i-cancel-outline::before {\n content: "";\n}\n.k-i-deny::before {\n content: "";\n}\n.k-i-cancel-circle::before {\n content: "";\n}\n.k-i-check::before {\n content: "";\n}\n.k-i-checkmark::before {\n content: "";\n}\n.k-i-tick::before {\n content: "";\n}\n.k-i-check-outline::before {\n content: "";\n}\n.k-i-checkmark-outline::before {\n content: "";\n}\n.k-i-success::before {\n content: "";\n}\n.k-i-check-circle::before {\n content: "";\n}\n.k-i-checkmark-circle::before {\n content: "";\n}\n.k-i-x::before {\n content: "";\n}\n.k-i-close::before {\n content: "";\n}\n.k-i-clear::before {\n content: "";\n}\n.k-i-times::before {\n content: "";\n}\n.k-i-group-delete::before {\n content: "";\n}\n.k-i-x-outline::before {\n content: "";\n}\n.k-i-close-outline::before {\n content: "";\n}\n.k-i-clear-outline::before {\n content: "";\n}\n.k-i-times-outline::before {\n content: "";\n}\n.k-i-error::before {\n content: "";\n}\n.k-i-x-circle::before {\n content: "";\n}\n.k-i-close-circle::before {\n content: "";\n}\n.k-i-clear-circle::before {\n content: "";\n}\n.k-i-times-circle::before {\n content: "";\n}\n.k-i-plus::before, .k-plus::before {\n content: "";\n}\n.k-i-add::before {\n content: "";\n}\n.k-i-plus-outline::before {\n content: "";\n}\n.k-i-add-outline::before {\n content: "";\n}\n.k-i-plus-circle::before {\n content: "";\n}\n.k-i-add-circle::before {\n content: "";\n}\n.k-i-minus::before, .k-minus::before {\n content: "";\n}\n.k-i-kpi-trend-equal::before {\n content: "";\n}\n.k-i-minus-outline::before {\n content: "";\n}\n.k-i-minus-circle::before {\n content: "";\n}\n.k-i-sort-asc::before {\n content: "";\n}\n.k-i-sort-desc::before {\n content: "";\n}\n.k-i-sort-clear::before {\n content: "";\n}\n.k-i-unsort::before {\n content: "";\n}\n.k-i-sort-asc-small::before {\n content: "";\n}\n.k-i-sort-asc-sm::before {\n content: "";\n}\n.k-i-sort-desc-small::before {\n content: "";\n}\n.k-i-sort-desc-sm::before {\n content: "";\n}\n.k-i-filter::before {\n content: "";\n}\n.k-i-filter-clear::before {\n content: "";\n}\n.k-i-filter-small::before {\n content: "";\n}\n.k-i-filter-sm::before {\n content: "";\n}\n.k-i-filter-sort-asc-small::before {\n content: "";\n}\n.k-i-filter-sort-asc-sm::before {\n content: "";\n}\n.k-i-filter-sort-desc-small::before {\n content: "";\n}\n.k-i-filter-sort-desc-sm::before {\n content: "";\n}\n.k-i-filter-add-expression::before {\n content: "";\n}\n.k-i-filter-add-group::before {\n content: "";\n}\n.k-i-login::before {\n content: "";\n}\n.k-i-sign-in::before {\n content: "";\n}\n.k-i-logout::before {\n content: "";\n}\n.k-i-sign-out::before {\n content: "";\n}\n.k-i-download::before {\n content: "";\n}\n.k-i-upload::before {\n content: "";\n}\n.k-i-hyperlink-open::before {\n content: "";\n}\n.k-i-hyperlink-open-sm::before {\n content: "";\n}\n.k-i-launch::before {\n content: "";\n}\n.k-i-window::before {\n content: "";\n}\n.k-i-window-maximize::before {\n content: "";\n}\n.k-i-maximize::before {\n content: "";\n}\n.k-i-window-restore::before {\n content: "";\n}\n.k-i-windows::before {\n content: "";\n}\n.k-i-tiles::before {\n content: "";\n}\n.k-i-restore::before {\n content: "";\n}\n.k-i-window-minimize::before {\n content: "";\n}\n.k-i-minimize::before {\n content: "";\n}\n.k-i-gear::before {\n content: "";\n}\n.k-i-cog::before {\n content: "";\n}\n.k-i-custom::before {\n content: "";\n}\n.k-i-gears::before {\n content: "";\n}\n.k-i-cogs::before {\n content: "";\n}\n.k-i-wrench::before {\n content: "";\n}\n.k-i-settings::before {\n content: "";\n}\n.k-i-eye::before {\n content: "";\n}\n.k-i-preview::before {\n content: "";\n}\n.k-i-search::before {\n content: "";\n}\n.k-i-zoom::before {\n content: "";\n}\n.k-i-zoom-in::before {\n content: "";\n}\n.k-i-zoom-out::before {\n content: "";\n}\n.k-i-arrows-move::before {\n content: "";\n}\n.k-i-pan::before {\n content: "";\n}\n.k-i-move::before {\n content: "";\n}\n.k-i-calculator::before {\n content: "";\n}\n.k-i-cart::before {\n content: "";\n}\n.k-i-shopping-cart::before {\n content: "";\n}\n.k-i-connector::before {\n content: "";\n}\n.k-i-plus-sm::before {\n content: "";\n}\n.k-i-splus::before {\n content: "";\n}\n.k-i-minus-sm::before {\n content: "";\n}\n.k-i-sminus::before {\n content: "";\n}\n.k-i-kpi-status-deny::before {\n content: "";\n}\n.k-i-kpi-status-hold::before {\n content: "";\n}\n.k-i-kpi-status-open::before {\n content: "";\n}\n.k-i-equal::before {\n content: "";\n}\n.k-i-not-equal::before {\n content: "";\n}\n.k-i-less-or-equal::before {\n content: "";\n}\n.k-i-greater-or-equal::before {\n content: "";\n}\n.k-i-divide::before {\n content: "";\n}\n.k-i-accessibility::before {\n content: "";\n}\n.k-i-barcode-outline::before {\n content: "";\n}\n.k-i-barcode::before {\n content: "";\n}\n.k-i-barcode-scanner::before {\n content: "";\n}\n.k-i-qr-code-outline::before {\n content: "";\n}\n.k-i-qr-code::before {\n content: "";\n}\n.k-i-qr-code-scanner::before {\n content: "";\n}\n.k-i-barcode-qr-code-scanner::before {\n content: "";\n}\n.k-i-signature::before {\n content: "";\n}\n.k-i-hand::before {\n content: "";\n}\n.k-i-pointer::before {\n content: "";\n}\n.k-i-cursor::before {\n content: "";\n}\n.k-i-stick::before {\n content: "";\n}\n.k-i-unstick::before {\n content: "";\n}\n.k-i-set-column-position::before {\n content: "";\n}\n.k-i-play::before {\n content: "";\n}\n.k-i-pause::before {\n content: "";\n}\n.k-i-stop::before {\n content: "";\n}\n.k-i-rewind::before {\n content: "";\n}\n.k-i-forward::before {\n content: "";\n}\n.k-i-volume-down::before {\n content: "";\n}\n.k-i-volume-low::before {\n content: "";\n}\n.k-i-volume-up::before {\n content: "";\n}\n.k-i-volume-high::before {\n content: "";\n}\n.k-i-volume-mute::before {\n content: "";\n}\n.k-i-volume-off::before {\n content: "";\n}\n.k-i-hd::before {\n content: "";\n}\n.k-i-closed-captions::before {\n content: "";\n}\n.k-i-subtitles::before {\n content: "";\n}\n.k-i-playlist::before {\n content: "";\n}\n.k-i-music-notes::before {\n content: "";\n}\n.k-i-audio::before {\n content: "";\n}\n.k-i-play-sm::before {\n content: "";\n}\n.k-i-pause-sm::before {\n content: "";\n}\n.k-i-stop-sm::before {\n content: "";\n}\n.k-i-heart-outline::before {\n content: "";\n}\n.k-i-fav-outline::before {\n content: "";\n}\n.k-i-favorite-outline::before {\n content: "";\n}\n.k-i-heart::before {\n content: "";\n}\n.k-i-fav::before {\n content: "";\n}\n.k-i-favorite::before {\n content: "";\n}\n.k-i-star-outline::before {\n content: "";\n}\n.k-i-bookmark-outline::before {\n content: "";\n}\n.k-i-star::before {\n content: "";\n}\n.k-i-bookmark::before {\n content: "";\n}\n.k-i-checkbox::before {\n content: "";\n}\n.k-i-shape-rect::before {\n content: "";\n}\n.k-i-checkbox-checked::before {\n content: "";\n}\n.k-i-checkbox-indeterminate::before {\n content: "";\n}\n.k-i-tri-state-indeterminate::before {\n content: "";\n}\n.k-i-checkbox-null::before {\n content: "";\n}\n.k-i-tri-state-null::before {\n content: "";\n}\n.k-i-circle::before {\n content: "";\n}\n.k-i-radiobutton::before {\n content: "";\n}\n.k-i-shape-circle::before {\n content: "";\n}\n.k-i-radiobutton-checked::before {\n content: "";\n}\n.k-i-bell::before {\n content: "";\n}\n.k-i-notification::before {\n content: "";\n}\n.k-i-info-circle::before {\n content: "";\n}\n.k-i-information::before {\n content: "";\n}\n.k-i-info::before {\n content: "";\n}\n.k-i-note::before {\n content: "";\n}\n.k-i-question-circle::before {\n content: "";\n}\n.k-i-question::before {\n content: "";\n}\n.k-i-help::before {\n content: "";\n}\n.k-i-exclamation-circle::before {\n content: "";\n}\n.k-i-warning::before {\n content: "";\n}\n.k-i-exception::before {\n content: "";\n}\n.k-i-camera::before {\n content: "";\n}\n.k-i-photo-camera::before {\n content: "";\n}\n.k-i-image::before {\n content: "";\n}\n.k-i-photo::before {\n content: "";\n}\n.k-i-image-export::before {\n content: "";\n}\n.k-i-photo-export::before {\n content: "";\n}\n.k-i-zoom-actual-size::before {\n content: "";\n}\n.k-i-zoom-best-fit::before {\n content: "";\n}\n.k-i-image-resize::before {\n content: "";\n}\n.k-i-crop::before {\n content: "";\n}\n.k-i-mirror::before {\n content: "";\n}\n.k-i-flip-horizontal::before {\n content: "";\n}\n.k-i-flip-h::before {\n content: "";\n}\n.k-i-flip-vertical::before {\n content: "";\n}\n.k-i-flip-v::before {\n content: "";\n}\n.k-i-rotate::before {\n content: "";\n}\n.k-i-rotate-right::before {\n content: "";\n}\n.k-i-rotate-cw::before {\n content: "";\n}\n.k-i-rotate-left::before {\n content: "";\n}\n.k-i-rotate-ccw::before {\n content: "";\n}\n.k-i-brush::before {\n content: "";\n}\n.k-i-palette::before {\n content: "";\n}\n.k-i-droplet::before {\n content: "";\n}\n.k-i-paint::before {\n content: "";\n}\n.k-i-background::before {\n content: "";\n}\n.k-i-shape-line::before {\n content: "";\n}\n.k-i-line::before {\n content: "";\n}\n.k-i-brightness-contrast::before {\n content: "";\n}\n.k-i-sliders::before {\n content: "";\n}\n.k-i-saturation::before {\n content: "";\n}\n.k-i-invert-colors::before {\n content: "";\n}\n.k-i-transparency::before {\n content: "";\n}\n.k-i-opacity::before {\n content: "";\n}\n.k-i-grayscale::before {\n content: "";\n}\n.k-i-blur::before {\n content: "";\n}\n.k-i-sharpen::before {\n content: "";\n}\n.k-i-shapes::before {\n content: "";\n}\n.k-i-shape::before {\n content: "";\n}\n.k-i-round-corners::before {\n content: "";\n}\n.k-i-bring-to-front::before {\n content: "";\n}\n.k-i-front-element::before {\n content: "";\n}\n.k-i-bring-to-back::before {\n content: "";\n}\n.k-i-back-element::before {\n content: "";\n}\n.k-i-bring-forward::before {\n content: "";\n}\n.k-i-forward-element::before {\n content: "";\n}\n.k-i-bring-backward::before {\n content: "";\n}\n.k-i-backward-element::before {\n content: "";\n}\n.k-i-align-self-start::before {\n content: "";\n}\n.k-i-align-left-element::before {\n content: "";\n}\n.k-i-align-self-center::before {\n content: "";\n}\n.k-i-align-center-element::before {\n content: "";\n}\n.k-i-align-self-end::before {\n content: "";\n}\n.k-i-align-right-element::before {\n content: "";\n}\n.k-i-align-self-start-alt::before {\n content: "";\n}\n.k-i-align-top-element::before {\n content: "";\n}\n.k-i-align-self-center-alt::before {\n content: "";\n}\n.k-i-align-middle-element::before {\n content: "";\n}\n.k-i-align-self-end-alt::before {\n content: "";\n}\n.k-i-align-bottom-element::before {\n content: "";\n}\n.k-i-thumbnails-up::before {\n content: "";\n}\n.k-i-thumbnails-right::before {\n content: "";\n}\n.k-i-thumbnails-down::before {\n content: "";\n}\n.k-i-thumbnails-left::before {\n content: "";\n}\n.k-i-fullscreen::before {\n content: "";\n}\n.k-i-full-screen::before {\n content: "";\n}\n.k-i-fullscreen-enter::before {\n content: "";\n}\n.k-i-fullscreen-exit::before {\n content: "";\n}\n.k-i-full-screen-exit::before {\n content: "";\n}\n.k-i-droplet-slash::before {\n content: "";\n}\n.k-i-reset-color::before {\n content: "";\n}\n.k-i-paint-remove::before {\n content: "";\n}\n.k-i-background-remove::before {\n content: "";\n}\n.k-i-photos::before {\n content: "";\n}\n.k-i-images::before {\n content: "";\n}\n.k-i-gallery::before {\n content: "";\n}\n.k-i-align-to-grid::before {\n content: "";\n}\n.k-i-size-to-grid::before {\n content: "";\n}\n.k-i-make-same-size::before {\n content: "";\n}\n.k-i-make-same-width::before {\n content: "";\n}\n.k-i-make-same-height::before {\n content: "";\n}\n.k-i-make-horizontal-spacing-equal::before {\n content: "";\n}\n.k-i-increase-horizontal-spacing::before {\n content: "";\n}\n.k-i-decrease-horizontal-spacing::before {\n content: "";\n}\n.k-i-remove-horizontal-spacing::before {\n content: "";\n}\n.k-i-make-vertical-spacing-equal::before {\n content: "";\n}\n.k-i-increase-vertical-spacing::before {\n content: "";\n}\n.k-i-decrease-vertical-spacing::before {\n content: "";\n}\n.k-i-remove-vertical-spacing::before {\n content: "";\n}\n.k-i-eyedropper::before {\n content: "";\n}\n.k-i-snap-grid::before {\n content: "";\n}\n.k-i-snap-to-gridlines::before {\n content: "";\n}\n.k-i-snap-to-snaplines::before {\n content: "";\n}\n.k-i-dimentions::before {\n content: "";\n}\n.k-i-align-self-stretch::before {\n content: "";\n}\n.k-i-align-stretch-element-horizontal::before {\n content: "";\n}\n.k-i-align-self-stretch-alt::before {\n content: "";\n}\n.k-i-align-stretch-element-vertical::before {\n content: "";\n}\n.k-i-align-items-start::before {\n content: "";\n}\n.k-i-align-left-elements::before {\n content: "";\n}\n.k-i-align-items-center::before {\n content: "";\n}\n.k-i-align-center-elements::before {\n content: "";\n}\n.k-i-align-items-end::before {\n content: "";\n}\n.k-i-align-right-elements::before {\n content: "";\n}\n.k-i-align-items-stretch::before {\n content: "";\n}\n.k-i-align-stretch-elements-horizontal::before {\n content: "";\n}\n.k-i-align-items-baseline::before {\n content: "";\n}\n.k-i-align-baseline-horizontal::before {\n content: "";\n}\n.k-i-align-items-start-alt::before {\n content: "";\n}\n.k-i-align-top-elements::before {\n content: "";\n}\n.k-i-align-items-center-alt::before {\n content: "";\n}\n.k-i-align-middle-elements::before {\n content: "";\n}\n.k-i-align-items-end-alt::before {\n content: "";\n}\n.k-i-align-bottom-elements::before {\n content: "";\n}\n.k-i-align-items-stretch-alt::before {\n content: "";\n}\n.k-i-align-stretch-elements-vertical::before {\n content: "";\n}\n.k-i-align-items-baseline-alt::before {\n content: "";\n}\n.k-i-align-baseline-vertical::before {\n content: "";\n}\n.k-i-justify-content-start::before {\n content: "";\n}\n.k-i-justify-start-horizontal::before {\n content: "";\n}\n.k-i-justify-content-center::before {\n content: "";\n}\n.k-i-justify-center-horizontal::before {\n content: "";\n}\n.k-i-justify-content-end::before {\n content: "";\n}\n.k-i-justify-end-horizontal::before {\n content: "";\n}\n.k-i-justify-content-between::before {\n content: "";\n}\n.k-i-justify-between-horizontal::before {\n content: "";\n}\n.k-i-justify-content-around::before {\n content: "";\n}\n.k-i-justify-around-horizontal::before {\n content: "";\n}\n.k-i-justify-content-start-alt::before {\n content: "";\n}\n.k-i-justify-start-vertical::before {\n content: "";\n}\n.k-i-justify-content-center-alt::before {\n content: "";\n}\n.k-i-justify-center-vertical::before {\n content: "";\n}\n.k-i-justify-content-end-alt::before {\n content: "";\n}\n.k-i-justify-end-vertical::before {\n content: "";\n}\n.k-i-justify-content-between-alt::before {\n content: "";\n}\n.k-i-justify-between-vertical::before {\n content: "";\n}\n.k-i-justify-content-around-alt::before {\n content: "";\n}\n.k-i-justify-around-vertical::before {\n content: "";\n}\n.k-i-file-wrench::before {\n content: "";\n}\n.k-i-page-properties::before {\n content: "";\n}\n.k-i-bold::before {\n content: "";\n}\n.k-i-italic::before {\n content: "";\n}\n.k-i-underline::before {\n content: "";\n}\n.k-i-font-family::before {\n content: "";\n}\n.k-i-foreground-color::before {\n content: "";\n}\n.k-i-text::before {\n content: "";\n}\n.k-i-convert-lowercase::before {\n content: "";\n}\n.k-i-convert-uppercase::before {\n content: "";\n}\n.k-i-strikethrough::before {\n content: "";\n}\n.k-i-strike-through::before {\n content: "";\n}\n.k-i-subscript::before {\n content: "";\n}\n.k-i-sub-script::before {\n content: "";\n}\n.k-i-supscript::before {\n content: "";\n}\n.k-i-sup-script::before {\n content: "";\n}\n.k-i-superscript::before {\n content: "";\n}\n.k-i-div::before {\n content: "";\n}\n.k-i-all::before {\n content: "";\n}\n.k-i-h1::before {\n content: "";\n}\n.k-i-h2::before {\n content: "";\n}\n.k-i-h3::before {\n content: "";\n}\n.k-i-h4::before {\n content: "";\n}\n.k-i-h5::before {\n content: "";\n}\n.k-i-h6::before {\n content: "";\n}\n.k-i-list-ordered::before {\n content: "";\n}\n.k-i-list-numbered::before {\n content: "";\n}\n.k-i-insert-ordered-list::before {\n content: "";\n}\n.k-i-list-unordered::before {\n content: "";\n}\n.k-i-list-bulleted::before {\n content: "";\n}\n.k-i-insert-unordered-list::before {\n content: "";\n}\n.k-i-indent::before {\n content: "";\n}\n.k-i-indent-increase::before {\n content: "";\n}\n.k-i-outdent::before {\n content: "";\n}\n.k-i-indent-decrease::before {\n content: "";\n}\n.k-i-insert-top::before {\n content: "";\n}\n.k-i-insert-up::before {\n content: "";\n}\n.k-i-insert-n::before {\n content: "";\n}\n.k-i-insert-middle::before {\n content: "";\n}\n.k-i-insert-m::before {\n content: "";\n}\n.k-i-insert-bottom::before {\n content: "";\n}\n.k-i-insert-down::before {\n content: "";\n}\n.k-i-insert-s::before {\n content: "";\n}\n.k-i-align-top::before {\n content: "";\n}\n.k-i-align-middle::before {\n content: "";\n}\n.k-i-align-bottom::before {\n content: "";\n}\n.k-i-align-left::before {\n content: "";\n}\n.k-i-justify-left::before {\n content: "";\n}\n.k-i-align-center::before {\n content: "";\n}\n.k-i-justify-center::before {\n content: "";\n}\n.k-i-align-right::before {\n content: "";\n}\n.k-i-justify-left::before {\n content: "";\n}\n.k-i-align-justify::before {\n content: "";\n}\n.k-i-justify-full::before {\n content: "";\n}\n.k-i-align-remove::before {\n content: "";\n}\n.k-i-justify-clear::before {\n content: "";\n}\n.k-i-text-wrap::before {\n content: "";\n}\n.k-i-horizontal-rule::before {\n content: "";\n}\n.k-i-rule-horizontal::before {\n content: "";\n}\n.k-i-hr::before {\n content: "";\n}\n.k-i-table-align-top-left::before {\n content: "";\n}\n.k-i-table-align-top-center::before {\n content: "";\n}\n.k-i-table-align-top-right::before {\n content: "";\n}\n.k-i-table-align-middle-left::before {\n content: "";\n}\n.k-i-table-align-middle-center::before {\n content: "";\n}\n.k-i-table-align-middle-right::before {\n content: "";\n}\n.k-i-table-align-bottom-left::before {\n content: "";\n}\n.k-i-table-align-bottom-center::before {\n content: "";\n}\n.k-i-table-align-bottom-right::before {\n content: "";\n}\n.k-i-table-align-remove::before {\n content: "";\n}\n.k-i-borders-all::before {\n content: "";\n}\n.k-i-all-borders::before {\n content: "";\n}\n.k-i-borders-outside::before {\n content: "";\n}\n.k-i-outside-borders::before {\n content: "";\n}\n.k-i-borders-inside::before {\n content: "";\n}\n.k-i-inside-borders::before {\n content: "";\n}\n.k-i-borders-inside-horizontal::before {\n content: "";\n}\n.k-i-border-inside-h::before {\n content: "";\n}\n.k-i-inside-horizontal-borders::before {\n content: "";\n}\n.k-i-borders-inside-vertical::before {\n content: "";\n}\n.k-i-borders-inside-v::before {\n content: "";\n}\n.k-i-inside-vertical-borders::before {\n content: "";\n}\n.k-i-border-top::before {\n content: "";\n}\n.k-i-top-border::before {\n content: "";\n}\n.k-i-border-bottom::before {\n content: "";\n}\n.k-i-bottom-border::before {\n content: "";\n}\n.k-i-border-left::before {\n content: "";\n}\n.k-i-left-border::before {\n content: "";\n}\n.k-i-border-right::before {\n content: "";\n}\n.k-i-right-border::before {\n content: "";\n}\n.k-i-borders-none::before {\n content: "";\n}\n.k-i-border-no::before {\n content: "";\n}\n.k-i-no-borders::before {\n content: "";\n}\n.k-i-borders-show-hide::before {\n content: "";\n}\n.k-i-form::before {\n content: "";\n}\n.k-i-border::before {\n content: "";\n}\n.k-i-form-element::before {\n content: "";\n}\n.k-i-code-snippet::before {\n content: "";\n}\n.k-i-select-all::before {\n content: "";\n}\n.k-i-button::before {\n content: "";\n}\n.k-i-select-box::before {\n content: "";\n}\n.k-i-calendar-date::before {\n content: "";\n}\n.k-i-group-box::before {\n content: "";\n}\n.k-i-textarea::before {\n content: "";\n}\n.k-i-textbox::before {\n content: "";\n}\n.k-i-textbox-hidden::before {\n content: "";\n}\n.k-i-password::before {\n content: "";\n}\n.k-i-paragraph-add::before {\n content: "";\n}\n.k-i-edit-tools::before {\n content: "";\n}\n.k-i-template-manager::before {\n content: "";\n}\n.k-i-change-manually::before {\n content: "";\n}\n.k-i-track-changes::before {\n content: "";\n}\n.k-i-track-changes-enable::before {\n content: "";\n}\n.k-i-track-changes-accept::before {\n content: "";\n}\n.k-i-track-changes-accept-all::before {\n content: "";\n}\n.k-i-track-changes-reject::before {\n content: "";\n}\n.k-i-track-changes-reject-all::before {\n content: "";\n}\n.k-i-document-manager::before {\n content: "";\n}\n.k-i-custom-icon::before {\n content: "";\n}\n.k-i-book::before {\n content: "";\n}\n.k-i-dictionary-add::before {\n content: "";\n}\n.k-i-image-add::before {\n content: "";\n}\n.k-i-image-light-dialog::before {\n content: "";\n}\n.k-i-image-insert::before {\n content: "";\n}\n.k-i-insert-image::before {\n content: "";\n}\n.k-i-image-edit::before {\n content: "";\n}\n.k-i-image-map-editor::before {\n content: "";\n}\n.k-i-comment::before {\n content: "";\n}\n.k-i-comment-remove::before {\n content: "";\n}\n.k-i-comments-remove::before {\n content: "";\n}\n.k-i-comments-remove-all::before {\n content: "";\n}\n.k-i-silverlight::before {\n content: "";\n}\n.k-i-media-manager::before {\n content: "";\n}\n.k-i-video-external::before {\n content: "";\n}\n.k-i-flash-manager::before {\n content: "";\n}\n.k-i-binoculars::before {\n content: "";\n}\n.k-i-find-and-replace::before {\n content: "";\n}\n.k-i-find::before {\n content: "";\n}\n.k-i-copy::before {\n content: "";\n}\n.k-i-files::before {\n content: "";\n}\n.k-i-cut::before {\n content: "";\n}\n.k-i-clipboard::before {\n content: "";\n}\n.k-i-paste::before {\n content: "";\n}\n.k-i-clipboard-code::before {\n content: "";\n}\n.k-i-paste-as-html::before {\n content: "";\n}\n.k-i-clipboard-word::before {\n content: "";\n}\n.k-i-paste-from-word::before {\n content: "";\n}\n.k-i-clipboard-word-alt::before {\n content: "";\n}\n.k-i-paste-from-word-strip-file::before {\n content: "";\n}\n.k-i-clipboard-html::before {\n content: "";\n}\n.k-i-paste-html::before {\n content: "";\n}\n.k-i-clipboard-markdown::before {\n content: "";\n}\n.k-i-paste-markdown::before {\n content: "";\n}\n.k-i-clipboard-text::before {\n content: "";\n}\n.k-i-paste-plain-text::before {\n content: "";\n}\n.k-i-apply-format::before {\n content: "";\n}\n.k-i-clear-css::before {\n content: "";\n}\n.k-i-clearformat::before {\n content: "";\n}\n.k-i-copy-format::before {\n content: "";\n}\n.k-i-strip-all-formatting::before {\n content: "";\n}\n.k-i-strip-css-format::before {\n content: "";\n}\n.k-i-strip-font-elements::before {\n content: "";\n}\n.k-i-strip-span-elements::before {\n content: "";\n}\n.k-i-strip-word-formatting::before {\n content: "";\n}\n.k-i-format-code-block::before {\n content: "";\n}\n.k-i-building-blocks::before {\n content: "";\n}\n.k-i-style-builder::before {\n content: "";\n}\n.k-i-puzzle-piece::before {\n content: "";\n}\n.k-i-module-manager::before {\n content: "";\n}\n.k-i-puzzle::before {\n content: "";\n}\n.k-i-link-add::before {\n content: "";\n}\n.k-i-hyperlink-light-dialog::before {\n content: "";\n}\n.k-i-hyperlink-insert::before {\n content: "";\n}\n.k-i-globe-link::before {\n content: "";\n}\n.k-i-hyperlink-globe::before {\n content: "";\n}\n.k-i-globe-unlink::before {\n content: "";\n}\n.k-i-hyperlink-globe-remove::before {\n content: "";\n}\n.k-i-envelop-link::before {\n content: "";\n}\n.k-i-hyperlink-email::before {\n content: "";\n}\n.k-i-anchor::before {\n content: "";\n}\n.k-i-table-add::before {\n content: "";\n}\n.k-i-table-light-dialog::before {\n content: "";\n}\n.k-i-table-insert::before {\n content: "";\n}\n.k-i-create-table::before {\n content: "";\n}\n.k-i-table::before {\n content: "";\n}\n.k-i-table-properties::before {\n content: "";\n}\n.k-i-table-cell::before {\n content: "";\n}\n.k-i-table-cell-properties::before {\n content: "";\n}\n.k-i-table-column-insert-left::before {\n content: "";\n}\n.k-i-add-column-left::before {\n content: "";\n}\n.k-i-table-column-insert-right::before {\n content: "";\n}\n.k-i-add-column-right::before {\n content: "";\n}\n.k-i-table-row-insert-above::before {\n content: "";\n}\n.k-i-add-row-above::before {\n content: "";\n}\n.k-i-table-row-insert-below::before {\n content: "";\n}\n.k-i-add-row-below::before {\n content: "";\n}\n.k-i-table-column-delete::before {\n content: "";\n}\n.k-i-delete-column::before {\n content: "";\n}\n.k-i-table-row-delete::before {\n content: "";\n}\n.k-i-delete-row::before {\n content: "";\n}\n.k-i-table-cell-delete::before {\n content: "";\n}\n.k-i-table-delete::before {\n content: "";\n}\n.k-i-cells-merge::before {\n content: "";\n}\n.k-i-merge-cells::before {\n content: "";\n}\n.k-i-cells-merge-horizontally::before {\n content: "";\n}\n.k-i-cells-merge-h::before {\n content: "";\n}\n.k-i-merge-horizontally::before {\n content: "";\n}\n.k-i-cells-merge-vertically::before {\n content: "";\n}\n.k-i-cells-merge-v::before {\n content: "";\n}\n.k-i-merge-vertically::before {\n content: "";\n}\n.k-i-cell-split-horizontally::before {\n content: "";\n}\n.k-i-cells-split-h::before {\n content: "";\n}\n.k-i-cell-split-vertically::before {\n content: "";\n}\n.k-i-cells-split-v::before {\n content: "";\n}\n.k-i-table-unmerge::before {\n content: "";\n}\n.k-i-normal-layout::before {\n content: "";\n}\n.k-i-pane-freeze::before {\n content: "";\n}\n.k-i-freeze-pane::before {\n content: "";\n}\n.k-i-row-freeze::before {\n content: "";\n}\n.k-i-freeze-row::before {\n content: "";\n}\n.k-i-column-freeze::before {\n content: "";\n}\n.k-i-col-freeze::before {\n content: "";\n}\n.k-i-freeze-col::before {\n content: "";\n}\n.k-i-toolbar-float::before {\n content: "";\n}\n.k-i-spell-checker::before {\n content: "";\n}\n.k-i-validation-xhtml::before {\n content: "";\n}\n.k-i-validation-data::before {\n content: "";\n}\n.k-i-toggle-full-screen-mode::before {\n content: "";\n}\n.k-i-formula-fx::before {\n content: "";\n}\n.k-i-fx::before {\n content: "";\n}\n.k-i-sum::before {\n content: "";\n}\n.k-i-symbol::before {\n content: "";\n}\n.k-i-dollar::before {\n content: "";\n}\n.k-i-currency::before {\n content: "";\n}\n.k-i-percent::before {\n content: "";\n}\n.k-i-custom-format::before {\n content: "";\n}\n.k-i-format-number::before {\n content: "";\n}\n.k-i-decimal-increase::before {\n content: "";\n}\n.k-i-increace-decimal::before {\n content: "";\n}\n.k-i-decimal-decrease::before {\n content: "";\n}\n.k-i-decrease-decimal::before {\n content: "";\n}\n.k-i-font-size::before {\n content: "";\n}\n.k-i-image-absolute-position::before {\n content: "";\n}\n.k-i-table-wizard::before {\n content: "";\n}\n.k-i-crosstab::before {\n content: "";\n}\n.k-i-crosstab-wizard::before {\n content: "";\n}\n.k-i-table-body::before {\n content: "";\n}\n.k-i-table-column-groups::before {\n content: "";\n}\n.k-i-table-corner::before {\n content: "";\n}\n.k-i-table-row-groups::before {\n content: "";\n}\n.k-i-globe-outline::before {\n content: "";\n}\n.k-i-globe::before {\n content: "";\n}\n.k-i-map-marker::before {\n content: "";\n}\n.k-i-marker-pin::before {\n content: "";\n}\n.k-i-map-marker-target::before {\n content: "";\n}\n.k-i-marker-pin-target::before {\n content: "";\n}\n.k-i-pin::before {\n content: "";\n}\n.k-i-unpin::before {\n content: "";\n}\n.k-i-share::before {\n content: "";\n}\n.k-i-user::before {\n content: "";\n}\n.k-i-inbox::before {\n content: "";\n}\n.k-i-blogger::before {\n content: "";\n}\n.k-i-blogger-box::before {\n content: "";\n}\n.k-i-delicious::before {\n content: "";\n}\n.k-i-delicious-box::before {\n content: "";\n}\n.k-i-digg::before {\n content: "";\n}\n.k-i-digg-box::before {\n content: "";\n}\n.k-i-envelop::before {\n content: "";\n}\n.k-i-email::before {\n content: "";\n}\n.k-i-letter::before {\n content: "";\n}\n.k-i-envelop-box::before {\n content: "";\n}\n.k-i-email-box::before {\n content: "";\n}\n.k-i-letter-box::before {\n content: "";\n}\n.k-i-facebook::before {\n content: "";\n}\n.k-i-facebook-box::before {\n content: "";\n}\n.k-i-google::before {\n content: "";\n}\n.k-i-google-box::before {\n content: "";\n}\n.k-i-google-plus::before {\n content: "";\n}\n.k-i-google-plus-box::before {\n content: "";\n}\n.k-i-linkedin::before {\n content: "";\n}\n.k-i-linkedin-box::before {\n content: "";\n}\n.k-i-myspace::before {\n content: "";\n}\n.k-i-myspace-box::before {\n content: "";\n}\n.k-i-pinterest::before {\n content: "";\n}\n.k-i-pinterest-box::before {\n content: "";\n}\n.k-i-reddit::before {\n content: "";\n}\n.k-i-reddit-box::before {\n content: "";\n}\n.k-i-stumble-upon::before {\n content: "";\n}\n.k-i-stumble-upon-box::before {\n content: "";\n}\n.k-i-tell-a-friend::before {\n content: "";\n}\n.k-i-tell-a-friend-box::before {\n content: "";\n}\n.k-i-tumblr::before {\n content: "";\n}\n.k-i-tumblr-box::before {\n content: "";\n}\n.k-i-twitter::before {\n content: "";\n}\n.k-i-twitter-box::before {\n content: "";\n}\n.k-i-yammer::before {\n content: "";\n}\n.k-i-yammer-box::before {\n content: "";\n}\n.k-i-behance::before {\n content: "";\n}\n.k-i-behance-box::before {\n content: "";\n}\n.k-i-dribbble::before {\n content: "";\n}\n.k-i-dribbble-box::before {\n content: "";\n}\n.k-i-rss::before {\n content: "";\n}\n.k-i-rss-box::before {\n content: "";\n}\n.k-i-vimeo::before {\n content: "";\n}\n.k-i-vimeo-box::before {\n content: "";\n}\n.k-i-youtube::before {\n content: "";\n}\n.k-i-youtube-box::before {\n content: "";\n}\n.k-i-folder::before {\n content: "";\n}\n.k-i-folder-open::before {\n content: "";\n}\n.k-i-folder-add::before {\n content: "";\n}\n.k-i-folder-up::before {\n content: "";\n}\n.k-i-folder-more::before {\n content: "";\n}\n.k-i-fields-more::before {\n content: "";\n}\n.k-i-aggregate-fields::before {\n content: "";\n}\n.k-i-file::before {\n content: "";\n}\n.k-i-file-vertical::before {\n content: "";\n}\n.k-i-page-portrait::before {\n content: "";\n}\n.k-i-file-v::before {\n content: "";\n}\n.k-i-file-add::before {\n content: "";\n}\n.k-i-insert-file::before {\n content: "";\n}\n.k-i-file-txt::before {\n content: "";\n}\n.k-i-txt::before {\n content: "";\n}\n.k-i-file-csv::before {\n content: "";\n}\n.k-i-csv::before {\n content: "";\n}\n.k-i-file-excel::before {\n content: "";\n}\n.k-i-file-xls::before {\n content: "";\n}\n.k-i-excel::before {\n content: "";\n}\n.k-i-xls::before {\n content: "";\n}\n.k-i-xlsa::before {\n content: "";\n}\n.k-i-file-word::before {\n content: "";\n}\n.k-i-file-doc::before {\n content: "";\n}\n.k-i-word::before {\n content: "";\n}\n.k-i-doc::before {\n content: "";\n}\n.k-i-file-mdb::before {\n content: "";\n}\n.k-i-mdb::before {\n content: "";\n}\n.k-i-file-ppt::before {\n content: "";\n}\n.k-i-ppt::before {\n content: "";\n}\n.k-i-file-pdf::before {\n content: "";\n}\n.k-i-pdf::before {\n content: "";\n}\n.k-i-pdfa::before {\n content: "";\n}\n.k-i-file-psd::before {\n content: "";\n}\n.k-i-psd::before {\n content: "";\n}\n.k-i-file-flash::before {\n content: "";\n}\n.k-i-flash::before {\n content: "";\n}\n.k-i-file-config::before {\n content: "";\n}\n.k-i-config::before {\n content: "";\n}\n.k-i-file-ascx::before {\n content: "";\n}\n.k-i-ascx::before {\n content: "";\n}\n.k-i-file-bac::before {\n content: "";\n}\n.k-i-bac::before {\n content: "";\n}\n.k-i-file-zip::before {\n content: "";\n}\n.k-i-zip::before {\n content: "";\n}\n.k-i-film::before {\n content: "";\n}\n.k-i-css3::before {\n content: "";\n}\n.k-i-html5::before {\n content: "";\n}\n.k-i-code::before {\n content: "";\n}\n.k-i-html::before {\n content: "";\n}\n.k-i-source-code::before {\n content: "";\n}\n.k-i-view-source::before {\n content: "";\n}\n.k-i-css::before {\n content: "";\n}\n.k-i-js::before {\n content: "";\n}\n.k-i-exe::before {\n content: "";\n}\n.k-i-csproj::before {\n content: "";\n}\n.k-i-vbproj::before {\n content: "";\n}\n.k-i-cs::before {\n content: "";\n}\n.k-i-vb::before {\n content: "";\n}\n.k-i-sln::before {\n content: "";\n}\n.k-i-cloud::before {\n content: "";\n}\n.k-i-file-horizontal::before {\n content: "";\n}\n.k-i-page-landscape::before {\n content: "";\n}\n.k-i-file-h::before {\n content: "";\n}\n.k-i-subreport::before {\n content: "";\n}\n.k-i-data::before {\n content: "";\n}\n.k-i-report-header-section::before {\n content: "";\n}\n.k-i-report-footer-section::before {\n content: "";\n}\n.k-i-group-header-section::before {\n content: "";\n}\n.k-i-group-footer-section::before {\n content: "";\n}\n.k-i-page-header-section::before {\n content: "";\n}\n.k-i-page-footer-section::before {\n content: "";\n}\n.k-i-detail-section::before {\n content: "";\n}\n.k-i-toc-section::before {\n content: "";\n}\n.k-i-group-section::before {\n content: "";\n}\n.k-i-parameters::before {\n content: "";\n}\n.k-i-data-csv::before {\n content: "";\n}\n.k-i-data-json::before {\n content: "";\n}\n.k-i-data-sql::before {\n content: "";\n}\n.k-i-data-web::before {\n content: "";\n}\n.k-i-group-collection::before {\n content: "";\n}\n.k-i-parameter-boolean::before {\n content: "";\n}\n.k-i-parameter-date-time::before {\n content: "";\n}\n.k-i-parameter-float::before {\n content: "";\n}\n.k-i-parameter-integer::before {\n content: "";\n}\n.k-i-parameter-string::before {\n content: "";\n}\n.k-i-toc-section-level::before {\n content: "";\n}\n.k-i-inherited::before {\n content: "";\n}\n.k-i-file-video::before {\n content: "";\n}\n.k-i-file-audio::before {\n content: "";\n}\n.k-i-file-image::before {\n content: "";\n}\n.k-i-file-presentation::before {\n content: "";\n}\n.k-i-file-data::before {\n content: "";\n}\n.k-i-file-disc-image::before {\n content: "";\n}\n.k-i-file-programming::before {\n content: "";\n}\n.k-i-parameters-byte-array::before {\n content: "";\n}\n.k-i-parameters-unknown::before {\n content: "";\n}\n.k-i-file-error::before {\n content: "";\n}\n.k-i-file-validation::before {\n content: "";\n}\n.k-i-files-error::before {\n content: "";\n}\n.k-i-files-validation::before {\n content: "";\n}\n.k-i-data-rest::before {\n content: "";\n}\n.k-i-file-typescript::before {\n content: "";\n}\n.k-i-table-position-start::before {\n content: "";\n}\n.k-i-table-position-left::before {\n content: "";\n}\n.k-i-table-position-center::before {\n content: "";\n}\n.k-i-table-position-end::before {\n content: "";\n}\n.k-i-table-position-right::before {\n content: "";\n}\n.k-i-list-roman-upper::before {\n content: "";\n}\n.k-i-list-roman-lower::before {\n content: "";\n}\n.k-i-import::before {\n content: "";\n}\n.k-i-export::before {\n content: "";\n}\n.k-i-match-full-word::before {\n content: "";\n}\n.k-i-regular-expression::before {\n content: "";\n}\n.k-i-replace-single::before {\n content: "";\n}\n.k-i-replace-all::before {\n content: "";\n}\n.k-i-letter-space::before {\n content: "";\n}\n.k-i-line-height::before {\n content: "";\n}\n.k-i-graph::before {\n content: "";\n}\n.k-i-chart-column-clustered::before {\n content: "";\n}\n.k-i-chart-column-stacked::before {\n content: "";\n}\n.k-i-chart-column-stacked100::before {\n content: "";\n}\n.k-i-chart-column-range::before {\n content: "";\n}\n.k-i-chart-bar-clustered::before {\n content: "";\n}\n.k-i-chart-bar-stacked::before {\n content: "";\n}\n.k-i-chart-bar-stacked100::before {\n content: "";\n}\n.k-i-chart-bar-range::before {\n content: "";\n}\n.k-i-chart-area-clustered::before {\n content: "";\n}\n.k-i-chart-area-stacked::before {\n content: "";\n}\n.k-i-chart-area-stacked100::before {\n content: "";\n}\n.k-i-chart-area-range::before {\n content: "";\n}\n.k-i-chart-line::before {\n content: "";\n}\n.k-i-chart-line-stacked::before {\n content: "";\n}\n.k-i-chart-line-stacked100::before {\n content: "";\n}\n.k-i-chart-line-markers::before {\n content: "";\n}\n.k-i-chart-line-stacked-markers::before {\n content: "";\n}\n.k-i-chart-line-stacked100-markers::before {\n content: "";\n}\n.k-i-chart-pie::before {\n content: "";\n}\n.k-i-chart-doughnut::before {\n content: "";\n}\n.k-i-chart-scatter::before {\n content: "";\n}\n.k-i-chart-scatter-smooth-lines-markers::before {\n content: "";\n}\n.k-i-chart-scatter-smooth-lines::before {\n content: "";\n}\n.k-i-chart-scatter-straight-lines-markers::before {\n content: "";\n}\n.k-i-chart-scatter-straight-lines::before {\n content: "";\n}\n.k-i-chart-bubble::before {\n content: "";\n}\n.k-i-chart-candlestick::before {\n content: "";\n}\n.k-i-chart-ohlc::before {\n content: "";\n}\n.k-i-chart-radar::before {\n content: "";\n}\n.k-i-chart-radar-markers::before {\n content: "";\n}\n.k-i-chart-radar-filled::before {\n content: "";\n}\n.k-i-chart-rose::before {\n content: "";\n}\n.k-i-chart-choropleth::before {\n content: "";\n}\n.k-rtl .k-i-indent-increase,\n.k-rtl .k-i-indent-decrease,\n.k-rtl .k-i-expand,\n.k-rtl .k-i-collapse,\n[dir=rtl] .k-i-expand,\n[dir=rtl] .k-i-collapse {\n transform: scaleX(-1);\n}\n.k-sprite {\n display: inline-block;\n width: 16px;\n height: 16px;\n overflow: hidden;\n background-repeat: no-repeat;\n font-size: 0;\n line-height: 0;\n text-align: center;\n -ms-high-contrast-adjust: none;\n}\n.k-image {\n display: inline-block;\n}\n.k-badge {\n padding: 0;\n border-width: 0;\n border-style: solid;\n border-color: transparent;\n box-sizing: border-box;\n color: inherit;\n background-color: transparent;\n font: inherit;\n text-align: center;\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-badge > * {\n color: inherit;\n}\na.k-badge,\n.k-badge > a {\n text-decoration: none;\n}\na.k-badge:hover,\n.k-badge > a:hover {\n text-decoration: underline;\n}\n.k-badge-icon {\n max-width: 1em;\n max-height: 1em;\n font-size: inherit;\n}\n.k-badge-icon.k-svg-icon svg {\n fill: currentColor;\n}\n.k-badge-sm {\n padding: 2px 2px;\n border-width: 1px;\n font-size: 10px;\n line-height: 1;\n}\n.k-badge-sm:empty {\n padding: 2px;\n}\n.k-badge-md {\n padding: 4px 4px;\n border-width: 1px;\n font-size: 10px;\n line-height: 1;\n}\n.k-badge-md:empty {\n padding: 4px;\n}\n.k-badge-lg {\n padding: 6px 6px;\n border-width: 1px;\n font-size: 12px;\n line-height: 1;\n}\n.k-badge-lg:empty {\n padding: 6px;\n}\n.k-badge-rounded.k-badge-sm {\n border-radius: 0;\n}\n.k-badge-rounded.k-badge-md {\n border-radius: 0;\n}\n.k-badge-rounded.k-badge-lg {\n border-radius: 0;\n}\n.k-badge-pill {\n border-radius: 5rem;\n}\n.k-badge-circle {\n padding: 0 !important;\n border-radius: 100%;\n}\n.k-badge-circle.k-badge-sm {\n width: calc( 1em + 4px + 2px );\n height: calc( 1em + 4px + 2px );\n}\n.k-badge-circle.k-badge-md {\n width: calc( 1em + 8px + 2px );\n height: calc( 1em + 8px + 2px );\n}\n.k-badge-circle.k-badge-lg {\n width: calc( 1em + 12px + 2px );\n height: calc( 1em + 12px + 2px );\n}\n.k-badge-dot {\n padding: 0 !important;\n border-radius: 100%;\n font-size: 0;\n}\n.k-badge-dot.k-badge-sm {\n width: 6px;\n height: 6px;\n}\n.k-badge-dot.k-badge-md {\n width: 10px;\n height: 10px;\n}\n.k-badge-dot.k-badge-lg {\n width: 12px;\n height: 12px;\n}\nkendo-badge-container {\n display: inline-block;\n}\n.k-badge-container {\n position: relative;\n overflow: visible;\n}\n.k-badge-inside {\n position: absolute;\n z-index: 9999;\n}\n.k-badge-edge {\n position: absolute;\n z-index: 9999;\n}\n.k-badge-edge.k-top-start {\n transform: translate(-50%, -50%);\n}\n.k-badge-edge.k-top-end {\n transform: translate(50%, -50%);\n}\n.k-badge-edge.k-bottom-start {\n transform: translate(-50%, 50%);\n}\n.k-badge-edge.k-bottom-end {\n transform: translate(50%, 50%);\n}\n.k-rtl .k-badge-edge.k-top-start,\n[dir=rtl].k-badge-edge.k-top-start,\n[dir=rtl] .k-badge-edge.k-top-start {\n transform: translate(50%, -50%);\n}\n.k-rtl .k-badge-edge.k-top-end,\n[dir=rtl].k-badge-edge.k-top-end,\n[dir=rtl] .k-badge-edge.k-top-end {\n transform: translate(-50%, -50%);\n}\n.k-rtl .k-badge-edge.k-bottom-start,\n[dir=rtl].k-badge-edge.k-bottom-start,\n[dir=rtl] .k-badge-edge.k-bottom-start {\n transform: translate(50%, 50%);\n}\n.k-rtl .k-badge-edge.k-bottom-end,\n[dir=rtl].k-badge-edge.k-bottom-end,\n[dir=rtl] .k-badge-edge.k-bottom-end {\n transform: translate(-50%, 50%);\n}\n.k-badge-outside {\n position: absolute;\n z-index: 9999;\n}\n.k-badge-outside.k-top-start {\n transform: translate(-100%, -100%);\n}\n.k-badge-outside.k-top-end {\n transform: translate(100%, -100%);\n}\n.k-badge-outside.k-bottom-start {\n transform: translate(-100%, 100%);\n}\n.k-badge-outside.k-bottom-end {\n transform: translate(100%, 100%);\n}\n.k-rtl .k-badge-outside.k-top-start,\n[dir=rtl].k-badge-outside.k-top-start,\n[dir=rtl] .k-badge-outside.k-top-start {\n transform: translate(100%, -100%);\n}\n.k-rtl .k-badge-outside.k-top-end,\n[dir=rtl].k-badge-outside.k-top-end,\n[dir=rtl] .k-badge-outside.k-top-end {\n transform: translate(-100%, -100%);\n}\n.k-rtl .k-badge-outside.k-bottom-start,\n[dir=rtl].k-badge-outside.k-bottom-start,\n[dir=rtl] .k-badge-outside.k-bottom-start {\n transform: translate(100%, 100%);\n}\n.k-rtl .k-badge-outside.k-bottom-end,\n[dir=rtl].k-badge-outside.k-bottom-end,\n[dir=rtl] .k-badge-outside.k-bottom-end {\n transform: translate(-100%, 100%);\n}\n.k-badge-border-cutout {\n box-shadow: 0 0 0 2px #ffffff;\n}\n.k-badge-solid.k-badge-primary {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-badge-solid.k-badge-secondary {\n border-color: #666666;\n color: #ffffff;\n background-color: #666666;\n}\n.k-badge-solid.k-badge-tertiary {\n border-color: #03a9f4;\n color: #ffffff;\n background-color: #03a9f4;\n}\n.k-badge-solid.k-badge-info {\n border-color: #0058e9;\n color: #ffffff;\n background-color: #0058e9;\n}\n.k-badge-solid.k-badge-success {\n border-color: #37b400;\n color: #ffffff;\n background-color: #37b400;\n}\n.k-badge-solid.k-badge-warning {\n border-color: #ffc000;\n color: #000000;\n background-color: #ffc000;\n}\n.k-badge-solid.k-badge-error {\n border-color: #f31700;\n color: #ffffff;\n background-color: #f31700;\n}\n.k-badge-solid.k-badge-dark {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n}\n.k-badge-solid.k-badge-light {\n border-color: #ebebeb;\n color: #000000;\n background-color: #ebebeb;\n}\n.k-badge-solid.k-badge-inverse {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n}\n.k-badge-outline {\n border-color: currentColor;\n background-color: #ffffff;\n}\n.k-badge-outline.k-badge-primary {\n color: #38ab63;\n}\n.k-badge-outline.k-badge-secondary {\n color: #666666;\n}\n.k-badge-outline.k-badge-tertiary {\n color: #03a9f4;\n}\n.k-badge-outline.k-badge-info {\n color: #0058e9;\n}\n.k-badge-outline.k-badge-success {\n color: #37b400;\n}\n.k-badge-outline.k-badge-warning {\n color: #ffc000;\n}\n.k-badge-outline.k-badge-error {\n color: #f31700;\n}\n.k-badge-outline.k-badge-dark {\n color: #424242;\n}\n.k-badge-outline.k-badge-light {\n color: #ebebeb;\n}\n.k-badge-outline.k-badge-inverse {\n color: #424242;\n}\n.k-button {\n border-radius: 0;\n padding: 4px 8px;\n box-sizing: border-box;\n border-width: 1px;\n border-style: solid;\n font-size: 13px;\n line-height: 1.4285714286;\n font-family: inherit;\n text-align: center;\n text-decoration: none;\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: pointer;\n outline: none;\n -webkit-appearance: none;\n position: relative;\n}\n.k-button:disabled, .k-button.k-state-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-button::-moz-focus-inner {\n padding: 0;\n border: 0;\n outline: 0;\n}\n.k-button:hover, .k-button:focus {\n text-decoration: none;\n outline: 0;\n}\n.k-button .k-icon,\n.k-button .k-image,\n.k-button .k-sprite {\n color: inherit;\n align-self: center;\n position: relative;\n}\n.k-button .k-button-icon {\n color: inherit;\n align-self: center;\n position: relative;\n}\n.k-text-button > .k-icon,\n.k-text-button > .k-button-icon {\n display: none;\n}\n.k-icon-button,\n.k-button.k-button-icon {\n padding: 4px;\n width: calc( 1.4285714286em + 8px + 2px );\n height: calc( 1.4285714286em + 8px + 2px );\n gap: 0;\n}\n.k-icon-button > .k-text,\n.k-icon-button > .k-button-text,\n.k-button.k-button-icon > .k-text,\n.k-button.k-button-icon > .k-button-text {\n display: none;\n}\n.k-icon-button .k-button-icon,\n.k-button.k-button-icon .k-button-icon {\n margin: 0;\n}\n.k-button.k-button-icon {\n padding: 4px;\n width: calc( 1.4285714286em + 8px + 2px );\n height: calc( 1.4285714286em + 8px + 2px );\n}\n.k-menu-button,\n.k-dropdown-button {\n outline: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n vertical-align: middle;\n}\n.k-button-group {\n margin: 0;\n padding: 0;\n border-width: 0;\n box-sizing: border-box;\n color: inherit;\n background-color: transparent;\n list-style: none;\n outline: 0;\n white-space: nowrap;\n display: inline-flex;\n flex-direction: row;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-button-group .k-button {\n border-radius: 0;\n}\n.k-button-group .k-button ~ .k-button {\n -webkit-margin-start: -1px;\n margin-inline-start: -1px;\n}\n.k-button-group .k-button:hover,\n.k-button-group .k-button.k-state-hover,\n.k-button-group .k-button:active,\n.k-button-group .k-button.k-state-active,\n.k-button-group .k-button.k-state-selected,\n.k-button-group .k-button:focus,\n.k-button-group .k-button.k-state-focus {\n z-index: 2;\n}\n.k-button-group .k-group-start,\n.k-button-group .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-button-group .k-group-end,\n.k-button-group .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-button-group .k-group-start.k-group-end,\n.k-button-group .k-button:first-child:last-child {\n border-radius: 0;\n}\n.k-button-group-stretched {\n display: flex;\n}\n.k-button-group-stretched .k-button {\n display: inline-block;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-button-group-stretched .k-button > .k-icon {\n vertical-align: text-bottom;\n}\n.k-split-button {\n border-width: 0;\n border-radius: 0;\n outline: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n vertical-align: middle;\n}\n.k-split-button .k-button {\n border-radius: 0;\n}\n.k-split-button > .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-split-button > .k-split-button-arrow,\n.k-split-button > .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n -webkit-margin-start: -1px;\n margin-inline-start: -1px;\n padding: 4px;\n width: auto;\n flex: none;\n}\n.k-split-button[dir=rtl] > .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-split-button[dir=rtl] > .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-button-flat, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button, .k-calendar-header .k-button, .k-button.k-flat,\n.k-button.k-bare {\n border-color: transparent !important;\n color: inherit;\n background: none !important;\n box-shadow: none !important;\n transition: color 0.2s ease-in-out;\n}\n.k-button-flat:hover, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:hover, .k-calendar-header .k-button:hover, .k-button.k-flat:hover,\n.k-button.k-bare:hover, .k-button-flat.k-state-hover, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-hover.k-button, .k-calendar-header .k-state-hover.k-button, .k-state-hover.k-button.k-flat,\n.k-state-hover.k-button.k-bare, .k-button-flat:active, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:active, .k-calendar-header .k-button:active, .k-button.k-flat:active,\n.k-button.k-bare:active, .k-button-flat.k-state-active, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-active.k-button, .k-calendar-header .k-state-active.k-button, .k-state-active.k-button.k-flat,\n.k-state-active.k-button.k-bare, .k-button-flat:focus, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:focus, .k-calendar-header .k-button:focus, .k-button.k-flat:focus,\n.k-button.k-bare:focus, .k-button-flat.k-state-focus, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-focus.k-button, .k-calendar-header .k-state-focus.k-button, .k-state-focus.k-button.k-flat,\n.k-state-focus.k-button.k-bare {\n color: inherit;\n}\n.k-button-flat::before, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button::before, .k-calendar-header .k-button::before, .k-button.k-flat::before,\n.k-button.k-bare::before {\n display: block;\n}\n.k-button-outline, .k-button.k-outline {\n box-shadow: none;\n color: inherit;\n background: none;\n}\n.k-button-clear {\n border-color: transparent !important;\n color: inherit;\n background: none !important;\n box-shadow: none !important;\n}\n.k-rtl .k-button-group .k-button {\n border-radius: 0;\n}\n.k-rtl .k-button-group .k-group-start,\n.k-rtl .k-button-group .k-button:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-rtl .k-button-group .k-group-end,\n.k-rtl .k-button-group .k-button:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-rtl .k-button-group .k-group-start.k-group-end,\n.k-rtl .k-button-group .k-button:first-child:last-child {\n border-radius: 0;\n}\n.k-rtl .k-split-button .k-button {\n border-radius: 0;\n}\n.k-rtl .k-split-button > .k-button:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-rtl .k-split-button > .k-split-button-arrow,\n.k-rtl .k-split-button > .k-button:last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-button-overlay, .k-button::before {\n border-radius: inherit;\n content: "";\n background: currentColor;\n opacity: 0;\n display: none;\n pointer-events: none;\n position: absolute;\n left: -1px;\n right: -1px;\n top: -1px;\n bottom: -1px;\n z-index: 0;\n transition: opacity 0.2s ease-in-out;\n}\n.k-button:hover::before, .k-button.k-state-hover::before {\n opacity: 0.04;\n}\n.k-button.k-no-focus:not(:hover)::before, .k-button.k-no-focus:not(.k-state-hover)::before {\n opacity: 0;\n}\n.k-button:active::before, .k-button.k-state-active::before {\n opacity: 0.16;\n}\n.k-button.k-state-selected::before {\n opacity: 0.2;\n}\n.k-button::after {\n border-radius: 0;\n content: "";\n opacity: 0;\n display: none;\n pointer-events: none;\n position: absolute;\n left: -1px;\n right: -1px;\n top: -1px;\n bottom: -1px;\n z-index: 0;\n transition: opacity 0.2s ease-in-out;\n}\n.k-ie9 .k-button[disabled]:hover,\n.k-ie9 .k-button[disabled]:focus,\n.k-ie9 .k-button.k-state-disabled:hover,\n.k-ie9 .k-button.k-state-disabled:focus,\n.k-ie10 .k-button[disabled]:hover,\n.k-ie10 .k-button[disabled]:focus,\n.k-ie10 .k-button.k-state-disabled:hover,\n.k-ie10 .k-button.k-state-disabled:focus {\n outline: none;\n cursor: default;\n opacity: 0.6;\n box-shadow: none;\n}\n.k-ie .k-button,\n.k-ie .k-button-group {\n display: inline-block;\n overflow: visible;\n}\n.k-ie .k-button-icontext .k-icon,\n.k-ie .k-button-icontext .k-image,\n.k-ie .k-button-icontext .k-sprite {\n margin: 0 4px 0 0;\n}\n.k-ie .k-button-icontext.k-rtl .k-icon,\n.k-ie .k-button-icontext.k-rtl .k-image,\n.k-ie .k-button-icontext.k-rtl .k-sprite, .k-rtl .k-ie .k-button-icontext .k-icon,\n.k-rtl .k-ie .k-button-icontext .k-image,\n.k-rtl .k-ie .k-button-icontext .k-sprite, .k-ie .k-button-icontext[dir=rtl] .k-icon,\n.k-ie .k-button-icontext[dir=rtl] .k-image,\n.k-ie .k-button-icontext[dir=rtl] .k-sprite, [dir=rtl] .k-ie .k-button-icontext .k-icon,\n[dir=rtl] .k-ie .k-button-icontext .k-image,\n[dir=rtl] .k-ie .k-button-icontext .k-sprite {\n margin: 0 0 0 4px;\n}\n.k-button,\n.k-button-secondary {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-button:hover, .k-button.k-state-hover,\n.k-button-secondary:hover,\n.k-button-secondary.k-state-hover {\n background-color: #ebebeb;\n}\n.k-button:focus, .k-button.k-state-focus, .k-button.k-state-focused,\n.k-button-secondary:focus,\n.k-button-secondary.k-state-focus,\n.k-button-secondary.k-state-focused {\n box-shadow: none;\n}\n.k-button:active, .k-button.k-state-active,\n.k-button-secondary:active,\n.k-button-secondary.k-state-active {\n background-color: #e1e1e1;\n}\n.k-button.k-state-selected,\n.k-button-secondary.k-state-selected {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-button-primary, .k-button.k-primary {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.04));\n}\n.k-button-primary:hover, .k-button.k-primary:hover, .k-button-primary.k-state-hover, .k-state-hover.k-button.k-primary {\n border-color: #36a45f;\n background-color: #36a45f;\n}\n.k-button-primary:focus, .k-button.k-primary:focus, .k-button-primary.k-state-focus, .k-state-focus.k-button.k-primary, .k-button-primary.k-state-focused, .k-state-focused.k-button.k-primary {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-button-primary:active, .k-button.k-primary:active, .k-button-primary.k-state-active, .k-state-active.k-button.k-primary {\n border-color: #319657;\n background-color: #319657;\n}\n.k-button-primary.k-state-selected, .k-state-selected.k-button.k-primary {\n border-color: #319657;\n background-color: #319657;\n}\n.k-button-group .k-button:focus,\n.k-button-group .k-button.k-state-focus,\n.k-button-group .k-button.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.16);\n}\n.k-split-button:focus,\n.k-split-button.k-state-focus,\n.k-split-button.k-state-focused {\n box-shadow: none;\n}\n.k-button-outline, .k-button.k-outline {\n box-shadow: none;\n border-color: currentColor;\n color: #424242;\n background: none;\n}\n.k-button-outline:hover, .k-button.k-outline:hover, .k-button-outline.k-state-hover, .k-state-hover.k-button.k-outline {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n background-image: none;\n}\n.k-button-outline:focus, .k-button.k-outline:focus, .k-button-outline.k-state-focus, .k-state-focus.k-button.k-outline, .k-button-outline.k-state-focused, .k-state-focused.k-button.k-outline {\n box-shadow: none;\n}\n.k-button-outline:active, .k-button.k-outline:active, .k-button-outline.k-state-active, .k-state-active.k-button.k-outline {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n background-image: none;\n}\n.k-button-outline.k-state-selected, .k-state-selected.k-button.k-outline {\n border-color: #424242;\n color: #ffffff;\n background-color: #424242;\n background-image: none;\n}\n.k-button-outline.k-primary, .k-primary.k-button.k-outline {\n border-color: currentColor;\n color: #38ab63;\n background: none;\n box-shadow: none;\n}\n.k-button-outline.k-primary:hover, .k-primary.k-button.k-outline:hover, .k-button-outline.k-primary.k-state-hover, .k-primary.k-state-hover.k-button.k-outline {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: none;\n}\n.k-button-outline.k-primary:focus, .k-primary.k-button.k-outline:focus, .k-button-outline.k-primary.k-state-focus, .k-primary.k-state-focus.k-button.k-outline, .k-button-outline.k-primary.k-state-focused, .k-primary.k-state-focused.k-button.k-outline {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-button-outline.k-primary:active, .k-primary.k-button.k-outline:active, .k-button-outline.k-primary.k-state-active, .k-primary.k-state-active.k-button.k-outline {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: none;\n box-shadow: none;\n}\n.k-button-outline.k-primary.k-state-selected, .k-primary.k-state-selected.k-button.k-outline {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n background-image: none;\n box-shadow: none;\n}\n.k-button-flat, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button, .k-calendar-header .k-button, .k-button.k-flat,\n.k-button.k-bare, .k-button-group .k-button-flat, .k-button-group .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button {\n color: inherit;\n background: none;\n}\n.k-button-flat::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button::after, .k-calendar-header .k-button::after, .k-button.k-flat::after,\n.k-button.k-bare::after {\n display: block;\n}\n.k-button-flat:focus::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button:focus::after, .k-calendar-header .k-button:focus::after, .k-button.k-flat:focus::after,\n.k-button.k-bare:focus::after, .k-button-flat.k-state-focused::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-focused.k-button::after, .k-calendar-header .k-state-focused.k-button::after, .k-state-focused.k-button.k-flat::after,\n.k-state-focused.k-button.k-bare::after, .k-button-flat.k-state-focus::after, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-state-focus.k-button::after, .k-calendar-header .k-state-focus.k-button::after, .k-state-focus.k-button.k-flat::after,\n.k-state-focus.k-button.k-bare::after {\n box-shadow: inset 0 0 0 2px currentColor;\n opacity: 0.12;\n}\n.k-button-flat.k-primary, .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-primary.k-button, .k-calendar-header .k-primary.k-button, .k-primary.k-button.k-flat,\n.k-primary.k-button.k-bare, .k-button-flat.k-primary:hover, .k-button-flat.k-primary.k-state-hover, .k-button-group .k-button-flat.k-primary, .k-button-group .k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-primary.k-button {\n color: #38ab63;\n background: none;\n}\n.k-button-clear {\n color: #424242;\n}\n.k-button-clear:hover, .k-button-clear.k-state-hover, .k-button-clear:active, .k-button-clear.k-state-active, .k-button-clear.k-state-selected, .k-button-clear:focus, .k-button-clear.k-state-focus, .k-button-clear.k-state-focused {\n color: #3d3d3d;\n}\n.k-button-clear:focus::after, .k-button-clear.k-state-focus::after, .k-button-clear.k-state-focused::after, .k-button-clear.k-state-focused:active::after {\n background-color: #424242;\n opacity: 0.1;\n display: block;\n}\n.k-actions, .k-action-buttons,\n.k-columnmenu-actions {\n padding: 8px 8px;\n border-width: 0px 0 0 0;\n border-style: solid;\n border-color: inherit;\n flex-shrink: 0;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n align-content: flex-end;\n justify-content: flex-end;\n gap: 8px;\n overflow: hidden;\n clear: both;\n}\n.k-actions .k-button, .k-action-buttons .k-button,\n.k-columnmenu-actions .k-button {\n flex: 0 0 auto;\n}\n.k-ie .k-actions .k-button ~ .k-button, .k-ie .k-action-buttons .k-button ~ .k-button,\n.k-ie .k-columnmenu-actions .k-button ~ .k-button {\n margin-left: 8px;\n flex-shrink: 0;\n}\n.k-rtl .k-ie .k-actions .k-button ~ .k-button, .k-rtl .k-ie .k-action-buttons .k-button ~ .k-button,\n.k-rtl .k-ie .k-columnmenu-actions .k-button ~ .k-button, [dir=rtl] .k-ie .k-actions .k-button ~ .k-button, [dir=rtl] .k-ie .k-action-buttons .k-button ~ .k-button,\n[dir=rtl] .k-ie .k-columnmenu-actions .k-button ~ .k-button {\n margin-left: 0;\n margin-right: 8px;\n}\n.k-popup .k-actions,\n.k-popup .k-columnmenu-actions,\n.k-popup .k-action-buttons {\n margin-top: 16px;\n}\n.k-actions, .k-action-buttons,\n.k-columnmenu-actions {\n justify-content: flex-start;\n}\n.k-actions.k-actions-start, .k-actions-start.k-action-buttons,\n.k-actions-start.k-columnmenu-actions {\n justify-content: flex-start;\n}\n.k-actions.k-actions-center, .k-actions-center.k-action-buttons,\n.k-actions-center.k-columnmenu-actions {\n justify-content: center;\n}\n.k-actions.k-actions-end, .k-actions-end.k-action-buttons,\n.k-actions-end.k-columnmenu-actions {\n justify-content: flex-end;\n}\n.k-actions.k-actions-stretched .k-button, .k-actions-stretched.k-action-buttons .k-button,\n.k-actions-stretched.k-columnmenu-actions .k-button {\n width: auto !important;\n max-width: 100%;\n flex: 1 0 0%;\n flex-grow: 1;\n}\n.k-input {\n margin: 0;\n padding: 4px 8px;\n width: 100%;\n min-width: 0;\n height: calc( 1.4285714286em + 8px );\n border: 0;\n outline: 0;\n box-sizing: border-box;\n box-shadow: none;\n color: inherit;\n background: none;\n font: inherit;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-appearance: none;\n}\n.k-input::-ms-clear {\n display: none;\n}\n.k-input::-moz-placeholder {\n color: #666666;\n opacity: 1;\n -moz-user-select: none;\n user-select: none;\n}\n.k-input::placeholder {\n color: #666666;\n opacity: 1;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.k-input:-ms-input-placeholder {\n color: #666666;\n}\n.k-input:invalid {\n box-shadow: none;\n}\n.k-space-left > input,\n.k-space-right > input {\n flex-grow: 1;\n}\n.k-space-left > .k-icon,\n.k-space-right > .k-icon {\n left: 3px;\n margin: 3px 6px;\n}\n.k-textbox.k-space-left {\n flex-direction: row-reverse;\n}\n.k-input-prefix,\n.k-input-suffix {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n height: calc( 1.4285714286em + 8px );\n}\n.k-input-prefix > *,\n.k-input-suffix > * {\n flex-shrink: 0;\n}\n.k-input-prefix > .k-icon,\n.k-input-suffix > .k-icon {\n width: calc( 18.5714285714px + 8px );\n height: calc( 18.5714285714px + 8px );\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.k-input-prefix > .k-clear-value,\n.k-input-suffix > .k-clear-value {\n width: calc( 18.5714285714px + 8px );\n height: calc( 18.5714285714px + 8px );\n position: relative;\n}\n.k-input-prefix > .k-clear-value::after,\n.k-input-suffix > .k-clear-value::after {\n content: "";\n opacity: 0;\n display: none;\n pointer-events: none;\n position: absolute;\n left: -1px;\n right: -1px;\n top: -1px;\n bottom: -1px;\n}\n.k-input-prefix > .k-clear-value.k-state-focused::after, .k-input-prefix > .k-clear-value:focus::after,\n.k-input-suffix > .k-clear-value.k-state-focused::after,\n.k-input-suffix > .k-clear-value:focus::after {\n display: block;\n}\n.k-input-separator {\n margin: 0;\n width: 0;\n height: 16px;\n border-width: 0 0 0 1px;\n border-style: solid;\n}\n.k-input-icon {\n width: calc( 16px + 8px );\n height: calc( 18.5714285714px + 8px );\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.k-ie9 .k-input-icon {\n position: absolute;\n height: 100%;\n right: 0;\n top: 0;\n}\n.k-ie9 .k-rtl .k-input-icon, .k-ie9 [dir=rtl] .k-input-icon {\n left: 0;\n right: auto;\n}\n.k-clear-value {\n width: calc( 16px + 8px );\n height: calc( 18.5714285714px + 8px );\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n outline: 0;\n cursor: pointer;\n opacity: 0.5;\n}\n.k-clear-value:hover,\n.k-clear-value.k-state-hover {\n opacity: 1;\n}\n.k-searchbar {\n flex: 1 1 auto;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-text-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n@-webkit-keyframes autoFillStart {}\n@keyframes autoFillStart {}\n@-webkit-keyframes autoFillEnd {}\n@keyframes autoFillEnd {}\n.k-autofill:-webkit-autofill {\n -webkit-animation-name: autoFillStart;\n animation-name: autoFillStart;\n}\n.k-autofill:not(:-webkit-autofill) {\n -webkit-animation-name: autoFillEnd;\n animation-name: autoFillEnd;\n}\n.k-textbox:-webkit-autofill {\n -webkit-animation-name: autoFillStart;\n animation-name: autoFillStart;\n}\n.k-textbox:not(:-webkit-autofill) {\n -webkit-animation-name: autoFillEnd;\n animation-name: autoFillEnd;\n}\n.k-input-prefix > .k-icon,\n.k-input-suffix > .k-icon {\n color: #666666;\n}\n.k-input-prefix .k-clear-value,\n.k-input-suffix .k-clear-value {\n color: #424242;\n}\n.k-input-prefix > .k-clear-value.k-state-focused::after, .k-input-prefix > .k-clear-value:focus::after,\n.k-input-suffix > .k-clear-value.k-state-focused::after,\n.k-input-suffix > .k-clear-value:focus::after {\n background-color: #333;\n opacity: 0.2;\n}\n.k-input-separator {\n border-color: #424242;\n opacity: 0.5;\n}\n.k-textbox-container,\n.k-floating-label-container {\n padding-top: calc( 1.4285714286 * 13px );\n width: 12.4em;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n flex-direction: column;\n justify-content: stretch;\n}\n.k-textbox-container > .k-label,\n.k-floating-label-container > .k-label {\n max-width: 90%;\n font-size: 13px;\n line-height: 1.4285714286;\n white-space: nowrap;\n text-overflow: ellipsis;\n position: absolute;\n top: calc( calc( 1.4285714286 * 13px ) + 1px + 4px );\n left: calc( 8px + 1px );\n overflow: hidden;\n cursor: text;\n transform-origin: left center;\n transition: transform 0.2s ease-out, color 0.2s ease-out, top 0.2s ease-out, left 0.2s ease-out;\n pointer-events: none;\n}\n.k-textbox-container > .k-textbox,\n.k-textbox-container > .k-widget,\n.k-floating-label-container > .k-textbox,\n.k-floating-label-container > .k-widget {\n flex: 1 1 auto;\n width: auto;\n}\n.k-textbox-container.k-state-empty > .k-label,\n.k-floating-label-container.k-state-empty > .k-label {\n top: calc( calc( 1.4285714286 * 13px ) + 1px + 4px );\n left: calc( 8px + 1px );\n transform: scale(1);\n}\n.k-textbox-container > .k-label, .k-textbox-container.k-state-focused > .k-label,\n.k-floating-label-container > .k-label,\n.k-floating-label-container.k-state-focused > .k-label {\n top: 0;\n left: 0;\n transform: scale(1);\n}\n.k-textbox-container:focus-within > .k-label,\n.k-floating-label-container:focus-within > .k-label {\n top: 0;\n left: 0;\n transform: scale(1);\n}\n.k-textbox-container.k-state-empty:not(.k-state-focused) ::-moz-placeholder, .k-floating-label-container.k-state-empty:not(.k-state-focused) ::-moz-placeholder {\n color: transparent;\n}\n.k-textbox-container.k-state-empty:not(.k-state-focused) ::placeholder,\n.k-floating-label-container.k-state-empty:not(.k-state-focused) ::placeholder {\n color: transparent;\n}\n.k-rtl .k-textbox-container > .k-label, .k-textbox-container[dir=rtl] > .k-label,\n.k-rtl .k-floating-label-container > .k-label,\n.k-floating-label-container[dir=rtl] > .k-label {\n transform-origin: right center;\n}\n.k-rtl .k-textbox-container.k-state-empty > .k-label, .k-textbox-container[dir=rtl].k-state-empty > .k-label,\n.k-rtl .k-floating-label-container.k-state-empty > .k-label,\n.k-floating-label-container[dir=rtl].k-state-empty > .k-label {\n left: auto;\n right: calc( 8px + 1px );\n}\n.k-rtl .k-textbox-container > .k-label, .k-rtl .k-textbox-container.k-state-focused > .k-label, .k-textbox-container[dir=rtl] > .k-label, .k-textbox-container[dir=rtl].k-state-focused > .k-label,\n.k-rtl .k-floating-label-container > .k-label,\n.k-rtl .k-floating-label-container.k-state-focused > .k-label,\n.k-floating-label-container[dir=rtl] > .k-label,\n.k-floating-label-container[dir=rtl].k-state-focused > .k-label {\n left: auto;\n right: 0;\n}\n.k-rtl .k-textbox-container:focus-within, .k-textbox-container[dir=rtl]:focus-within,\n.k-rtl .k-floating-label-container:focus-within,\n.k-floating-label-container[dir=rtl]:focus-within {\n left: auto;\n right: 0;\n}\n.k-calendar {\n background-clip: padding-box;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n position: relative;\n overflow: hidden;\n display: inline-block;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-calendar .k-ie11 {\n background-clip: border-box;\n}\n.k-popup .k-calendar {\n height: 100%;\n}\n.k-calendar > .k-calendar {\n border: 0;\n}\n.k-calendar .k-link {\n outline: 0;\n color: inherit;\n text-decoration: none;\n white-space: normal;\n cursor: pointer;\n overflow: hidden;\n}\n.k-calendar .k-calendar-view table,\n.k-calendar .k-calendar-view .k-calendar-table {\n margin: 0;\n border-width: 0;\n border-color: inherit;\n border-spacing: 0;\n border-collapse: separate;\n table-layout: fixed;\n outline: 0;\n position: relative;\n z-index: 1;\n}\n.k-calendar .k-calendar-view td,\n.k-calendar .k-calendar-view th,\n.k-calendar .k-calendar-view .k-calendar-td,\n.k-calendar .k-calendar-view .k-calendar-th {\n border-width: 0;\n padding: 0;\n text-align: center;\n border-style: solid;\n border-color: inherit;\n font-weight: normal;\n cursor: default;\n}\n.k-calendar .k-calendar-view th,\n.k-calendar .k-calendar-view .k-calendar-th {\n padding: 0.25em 0px;\n font-size: 12px;\n line-height: 2;\n text-transform: uppercase;\n}\n.k-calendar .k-calendar-view tbody th,\n.k-calendar .k-calendar-view .k-calendar-tbody .k-calendar-th {\n padding-left: 8px;\n padding-right: 8px;\n height: 2em;\n font: inherit;\n font-weight: bold;\n text-transform: none;\n text-align: left;\n}\n.k-calendar .k-header {\n padding: 4px 4px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n text-align: center;\n display: flex;\n flex-direction: row;\n position: relative;\n z-index: 2;\n}\n.k-calendar .k-header .k-link {\n border-radius: 0;\n padding: 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.k-calendar .k-nav-prev,\n.k-calendar .k-nav-next {\n width: 1.4285714286em;\n height: 1.4285714286em;\n box-sizing: content-box;\n}\n.k-calendar .k-nav-fast {\n margin: 0 4px;\n flex: 1 1 auto;\n}\n.k-calendar-header {\n padding: 4px 4px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 0 0 auto;\n}\n.k-calendar-header .k-title,\n.k-calendar-header .k-calendar-title {\n font-weight: bold;\n}\n.k-calendar-header .k-today {\n cursor: pointer;\n outline: none;\n}\n.k-calendar-header .k-calendar-nav {\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n gap: 4px;\n}\n.k-calendar > .k-calendar-header {\n min-width: 280px;\n box-sizing: border-box;\n}\n.k-calendar .k-footer,\n.k-calendar .k-calendar-footer {\n text-align: center;\n clear: both;\n}\n.k-calendar .k-nav-today,\n.k-calendar .k-footer > .k-state-disabled {\n padding: 8px 16px;\n display: block;\n}\n.k-calendar .k-nav-today:hover {\n text-decoration: underline;\n}\n.k-calendar .k-calendar-view {\n width: 18.3076923077em;\n height: 18.3076923077em;\n position: relative;\n z-index: 1;\n overflow: hidden;\n margin: auto;\n padding: 0 4px;\n gap: 16px;\n}\n.k-calendar.k-week-number .k-calendar-view {\n width: 20.9230769231em;\n}\n.k-calendar-infinite .k-calendar-view {\n width: 18.3076923077em;\n height: calc( 20.9230769231em + 2em );\n gap: 0;\n}\n.k-calendar .k-content,\n.k-calendar .k-calendar-content {\n width: 100%;\n margin: 0;\n text-align: center;\n flex: 1 1 auto;\n position: relative;\n}\n.k-calendar .k-content > table,\n.k-calendar .k-content > .k-calendar-table,\n.k-calendar .k-calendar-content > table,\n.k-calendar .k-calendar-content > .k-calendar-table {\n table-layout: fixed;\n margin-right: -17px;\n}\n.k-calendar .k-content td,\n.k-calendar .k-content .k-calendar-td,\n.k-calendar .k-calendar-content td,\n.k-calendar .k-calendar-content .k-calendar-td {\n border-radius: 0;\n border-color: transparent;\n}\n.k-calendar .k-content .k-link,\n.k-calendar .k-calendar-content .k-link {\n border-radius: 0;\n padding: 0.5em 0.5em;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.k-calendar .k-content .k-weekend,\n.k-calendar .k-calendar-content .k-weekend {\n border-radius: 0;\n}\n.k-calendar .k-content .k-alt,\n.k-calendar .k-calendar-content .k-alt {\n background-color: transparent;\n}\n.k-calendar .k-content .k-state-disabled,\n.k-calendar .k-calendar-content .k-state-disabled {\n opacity: 0.6;\n}\n.k-calendar table.k-content,\n.k-calendar table.k-calendar-content,\n.k-calendar .k-calendar-table.k-content,\n.k-calendar .k-calendar-table.k-calendar-content {\n display: inline-table;\n vertical-align: top;\n}\n.k-calendar .k-month td,\n.k-calendar .k-month .k-calendar-td,\n.k-calendar .k-calendar-monthview td,\n.k-calendar .k-calendar-monthview .k-calendar-td {\n width: 2.6153846154em;\n height: 2.6153846154em;\n}\n.k-calendar .k-month .k-link,\n.k-calendar .k-calendar-monthview .k-link {\n width: 2.6153846154em;\n height: 2.6153846154em;\n}\n.k-calendar .k-year td,\n.k-calendar .k-year .k-calendar-td,\n.k-calendar .k-calendar-yearview td,\n.k-calendar .k-calendar-yearview .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar .k-year .k-link,\n.k-calendar .k-calendar-yearview .k-link {\n width: 4.5769230769em;\n height: 4.5769230769em;\n}\n.k-calendar .k-decade td,\n.k-calendar .k-decade .k-calendar-td,\n.k-calendar .k-calendar-decadeview td,\n.k-calendar .k-calendar-decadeview .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar .k-decade .k-link,\n.k-calendar .k-calendar-decadeview .k-link {\n width: 4.5769230769em;\n height: 4.5769230769em;\n}\n.k-calendar .k-century td,\n.k-calendar .k-century .k-calendar-td,\n.k-calendar .k-calendar-centuryview td,\n.k-calendar .k-calendar-centuryview .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar .k-century .k-link,\n.k-calendar .k-calendar-centuryview .k-link {\n width: 4.5769230769em;\n height: 4.5769230769em;\n text-align: left;\n}\n.k-calendar-infinite {\n box-sizing: content-box;\n width: auto;\n display: inline-flex;\n vertical-align: bottom;\n}\n.k-calendar-infinite .k-calendar-view,\n.k-calendar-infinite .k-calendar-monthview {\n padding: 0 16px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: column;\n overflow: hidden;\n box-sizing: content-box;\n}\n.k-calendar-infinite .k-calendar-view::after,\n.k-calendar-infinite .k-calendar-monthview::after {\n display: block;\n position: absolute;\n bottom: 0;\n content: " ";\n height: 0;\n line-height: 0;\n z-index: 1;\n width: 150%;\n left: -25%;\n box-shadow: 0 0 2.6153846154em 1.3076923077em #ffffff;\n}\n.k-calendar-infinite .k-calendar-header {\n margin-left: -16px;\n margin-right: -16px;\n padding: 8px 16px;\n}\n.k-calendar-infinite .k-calendar-weekdays {\n width: 100%;\n flex: 0 0 auto;\n}\n.k-calendar-infinite .k-calendar-yearview .k-content td,\n.k-calendar-infinite .k-calendar-yearview .k-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content td,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-decadeview .k-content td,\n.k-calendar-infinite .k-calendar-decadeview .k-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content td,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-centuryview .k-content td,\n.k-calendar-infinite .k-calendar-centuryview .k-content .k-calendar-td,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content td,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content .k-calendar-td {\n width: auto;\n height: auto;\n}\n.k-calendar-infinite .k-calendar-yearview .k-content .k-link,\n.k-calendar-infinite .k-calendar-yearview .k-content td.k-empty,\n.k-calendar-infinite .k-calendar-yearview .k-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content .k-link,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content td.k-empty,\n.k-calendar-infinite .k-calendar-yearview .k-calendar-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-content .k-link,\n.k-calendar-infinite .k-calendar-decadeview .k-content td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content .k-link,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content td.k-empty,\n.k-calendar-infinite .k-calendar-decadeview .k-calendar-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-content .k-link,\n.k-calendar-infinite .k-calendar-centuryview .k-content td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-content .k-calendar-td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content .k-link,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content td.k-empty,\n.k-calendar-infinite .k-calendar-centuryview .k-calendar-content .k-calendar-td.k-empty {\n width: 3.6615384615em;\n height: 3.6615384615em;\n}\n.k-calendar-classic {\n display: inline-flex;\n}\n.k-calendar-container,\n.k-datetime-container {\n padding: 0;\n}\n.k-calendar-container .k-calendar,\n.k-datetime-container .k-calendar {\n border-width: 0;\n}\n.k-calendar .k-content.k-scrollable,\n.k-calendar .k-calendar-content.k-scrollable {\n box-sizing: content-box;\n overflow-x: hidden;\n overflow-y: auto;\n display: block;\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -100px;\n margin-right: -117px;\n}\n.k-calendar .k-scrollable-placeholder {\n position: absolute;\n z-index: -1;\n width: 1px;\n top: 0;\n right: 0;\n}\n.k-calendar-navigation {\n width: 5em;\n flex: 0 0 auto;\n display: block;\n overflow: hidden;\n position: relative;\n z-index: 2;\n}\n.k-calendar-navigation::before, .k-calendar-navigation::after {\n display: block;\n position: absolute;\n content: " ";\n height: 0;\n line-height: 0;\n z-index: 1;\n width: 200%;\n left: -50%;\n box-shadow: 0 0 6em 3em transparent;\n}\n.k-calendar-navigation::before {\n top: 0;\n}\n.k-calendar-navigation::after {\n bottom: 0;\n}\n.k-calendar-navigation .k-content,\n.k-calendar-navigation .k-calendar-content {\n background: transparent;\n height: auto;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n.k-calendar-navigation .k-content ul,\n.k-calendar-navigation .k-calendar-content ul {\n width: 5em;\n}\n.k-calendar-navigation .k-content li,\n.k-calendar-navigation .k-calendar-content li {\n height: 2em;\n line-height: 2em;\n cursor: pointer;\n padding: 0 1em;\n}\n.k-calendar-navigation .k-calendar-navigation-marker {\n font-weight: bold;\n}\n.k-calendar-navigation .k-calendar-navigation-highlight {\n width: 100%;\n border-width: 1px 0;\n border-style: solid;\n height: 2em;\n box-sizing: border-box;\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n}\n.k-calendar.k-calendar-range {\n width: auto;\n}\n.k-calendar.k-calendar-range .k-calendar-view {\n height: auto;\n min-height: 18.3076923077em;\n width: auto;\n white-space: nowrap;\n}\n.k-calendar.k-calendar-range .k-calendar-view::after {\n display: none;\n}\n.k-calendar.k-calendar-range table,\n.k-calendar.k-calendar-range .k-calendar-table {\n width: auto;\n table-layout: auto;\n}\n.k-calendar.k-calendar-range table.k-meta-view,\n.k-calendar.k-calendar-range .k-calendar-table.k-meta-view {\n margin: 0 -1px;\n}\n.k-calendar.k-calendar-range .k-meta-header,\n.k-calendar.k-calendar-range .k-month-header {\n padding: 0.25em calc( 8px + 1px );\n font-size: 12px;\n line-height: 2;\n text-align: left;\n cursor: default;\n}\n.k-calendar.k-calendar-range .k-range-start {\n border-color: inherit;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-calendar.k-calendar-range .k-range-end {\n border-color: inherit;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.k-calendar.k-calendar-range .k-range-mid {\n border-color: inherit;\n border-radius: 0;\n}\n.k-calendar.k-calendar-range:not(.k-calendar-infinite) .k-calendar-view {\n display: flex;\n flex-direction: row;\n box-sizing: content-box;\n}\n.k-animation-container-sm .k-calendar.k-calendar-range:not(.k-calendar-infinite) .k-calendar-view {\n flex-direction: column;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite table,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table {\n padding: 0;\n display: flex;\n flex-direction: row;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite table > tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite table > .k-calendar-tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > .k-calendar-tbody {\n display: inline-block;\n vertical-align: top;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite table > tbody + tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite table > .k-calendar-tbody + .k-calendar-tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > tbody + tbody,\n.k-calendar.k-calendar-range.k-calendar-infinite .k-calendar-table > .k-calendar-tbody + .k-calendar-tbody {\n margin-left: 32px;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-button {\n border-radius: 0;\n width: 44px;\n}\n.k-calendar.k-calendar-range.k-calendar-infinite:not(.k-calendar-minimal) > .k-calendar-view {\n border-width: 0 1px;\n border-style: solid;\n border-color: inherit;\n}\n.k-widget.k-daterangepicker {\n border: 0;\n}\n.k-rtl .k-calendar .k-nav-prev,\n.k-rtl .k-calendar .k-nav-next,\n.k-rtl .k-calendar .k-prev-view,\n.k-rtl .k-calendar .k-next-view,\n.k-calendar[dir=rtl] .k-nav-prev,\n.k-calendar[dir=rtl] .k-nav-next,\n.k-calendar[dir=rtl] .k-prev-view,\n.k-calendar[dir=rtl] .k-next-view {\n transform: scaleX(-1);\n}\n.k-rtl .k-calendar .k-content.k-scrollable,\n.k-rtl .k-calendar .k-calendar-content.k-scrollable,\n.k-calendar[dir=rtl] .k-content.k-scrollable,\n.k-calendar[dir=rtl] .k-calendar-content.k-scrollable {\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -117px;\n margin-right: -100px;\n}\n.k-rtl .k-calendar tbody th,\n.k-rtl .k-calendar .k-calendar-tbody .k-calendar-th,\n.k-calendar[dir=rtl] tbody th,\n.k-calendar[dir=rtl] .k-calendar-tbody .k-calendar-th {\n text-align: right;\n}\n.k-rtl .k-calendar .k-content > table,\n.k-rtl .k-calendar .k-content > .k-calendar-table,\n.k-rtl .k-calendar .k-calendar-content > table,\n.k-rtl .k-calendar .k-calendar-content > .k-calendar-table,\n.k-calendar[dir=rtl] .k-content > table,\n.k-calendar[dir=rtl] .k-content > .k-calendar-table,\n.k-calendar[dir=rtl] .k-calendar-content > table,\n.k-calendar[dir=rtl] .k-calendar-content > .k-calendar-table {\n margin-right: 0;\n margin-left: -17px;\n}\n.k-calendar {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-calendar .k-header {\n border-color: inherit;\n color: #333;\n background-color: transparent;\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.1);\n}\n.k-calendar .k-nav-prev:hover, .k-calendar .k-nav-prev.k-state-hover,\n.k-calendar .k-nav-next:hover,\n.k-calendar .k-nav-next.k-state-hover,\n.k-calendar .k-nav-fast:hover,\n.k-calendar .k-nav-fast.k-state-hover {\n background-color: #ebebeb;\n}\n.k-calendar .k-nav-prev:active, .k-calendar .k-nav-prev.k-state-active,\n.k-calendar .k-nav-next:active,\n.k-calendar .k-nav-next.k-state-active,\n.k-calendar .k-nav-fast:active,\n.k-calendar .k-nav-fast.k-state-active {\n background-color: #e1e1e1;\n}\n.k-calendar .k-footer .k-nav-today,\n.k-calendar .k-calendar-header .k-today {\n color: #38ab63;\n}\n.k-calendar .k-footer .k-nav-today:hover, .k-calendar .k-footer .k-nav-today.k-state-hover, .k-calendar .k-footer .k-nav-today:focus, .k-calendar .k-footer .k-nav-today.k-state-focus,\n.k-calendar .k-calendar-header .k-today:hover,\n.k-calendar .k-calendar-header .k-today.k-state-hover,\n.k-calendar .k-calendar-header .k-today:focus,\n.k-calendar .k-calendar-header .k-today.k-state-focus {\n color: #2f9053;\n}\n.k-calendar .k-content th,\n.k-calendar .k-calendar-content th,\n.k-calendar .k-content .k-calendar-th,\n.k-calendar .k-calendar-content .k-calendar-th,\n.k-calendar .k-calendar-view th,\n.k-calendar .k-calendar-view .k-calendar-th .k-meta-header,\n.k-calendar .k-month-header {\n color: #666666;\n}\n.k-calendar .k-content .k-today,\n.k-calendar .k-calendar-content .k-today {\n color: #38ab63;\n}\n.k-calendar .k-other-month {\n color: #666666;\n}\n.k-calendar .k-alt {\n color: #666666;\n}\n.k-calendar .k-out-of-range {\n pointer-events: none;\n visibility: hidden;\n}\n.k-calendar .k-state-hover .k-link,\n.k-calendar td:hover .k-link,\n.k-calendar td.k-state-hover .k-link,\n.k-calendar .k-calendar-td:hover .k-link,\n.k-calendar .k-calendar-td.k-state-hover .k-link {\n border-color: inherit;\n color: inherit;\n background-color: transparent;\n}\n.k-calendar .k-state-selected .k-link {\n border-color: inherit;\n color: inherit;\n background-color: transparent;\n}\n.k-calendar .k-state-selected:hover .k-link,\n.k-calendar .k-state-selected.k-state-hover .k-link {\n color: inherit;\n background-color: rgba(0, 0, 0, 0.04);\n}\n.k-calendar .k-state-focused .k-link,\n.k-calendar .k-state-focus .k-link {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-calendar .k-state-selected.k-state-focused .k-link,\n.k-calendar .k-state-selected.k-state-focus .k-link {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-calendar .k-calendar-navigation {\n color: #333;\n background-color: transparent;\n box-shadow: inset -1px 0 #e4e4e4;\n}\n.k-calendar .k-calendar-navigation li:hover,\n.k-calendar .k-calendar-navigation li.k-state-hover {\n color: #2f9053;\n}\n.k-calendar .k-calendar-navigation-highlight {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-calendar[dir=rtl] .k-calendar-navigation, .k-rtl .k-calendar .k-calendar-navigation {\n box-shadow: inset 1px 0 #e4e4e4;\n}\n.k-calendar.k-invalid, .k-calendar.k-invalid:hover, .k-calendar.k-state-invalid, .k-calendar.ng-invalid.ng-touched, .k-calendar.ng-invalid.ng-dirty {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-calendar.k-calendar-range .k-range-start,\n.k-calendar.k-calendar-range .k-range-end,\n.k-calendar.k-calendar-range .k-range-mid {\n background-image: linear-gradient(transparent 1px, rgba(0, 0, 0, 0.25) 1px, rgba(0, 0, 0, 0.25) calc(100% - 1px), transparent calc(100% - 1px));\n}\n.k-ie .k-calendar.k-calendar-range .k-range-start, .k-edge .k-calendar.k-calendar-range .k-range-start,\n.k-ie .k-calendar.k-calendar-range .k-range-end,\n.k-edge .k-calendar.k-calendar-range .k-range-end,\n.k-ie .k-calendar.k-calendar-range .k-range-mid,\n.k-edge .k-calendar.k-calendar-range .k-range-mid {\n background-image: none;\n background-color: rgba(0, 0, 0, 0.25);\n}\n.k-calendar.k-calendar-range .k-range-start.k-range-end {\n background-image: none;\n background-color: transparent;\n}\n.k-calendar.k-calendar-range .k-range-start .k-link,\n.k-calendar.k-calendar-range .k-range-end .k-link {\n background-color: transparent;\n}\n.k-calendar.k-calendar-range .k-range-start.k-state-active .k-link,\n.k-calendar.k-calendar-range .k-range-end.k-state-active .k-link {\n box-shadow: inset 0 0 2px 2px rgba(0, 0, 0, 0.2);\n}\n.k-calendar.k-calendar-range .k-range-split-start,\n.k-calendar.k-calendar-range .k-range-split-end {\n position: relative;\n}\n.k-calendar.k-calendar-range .k-range-split-start::after,\n.k-calendar.k-calendar-range .k-range-split-end::after {\n content: "";\n display: block;\n position: absolute;\n top: 1px;\n bottom: 1px;\n width: 5px;\n}\n.k-calendar.k-calendar-range .k-range-split-start::after {\n left: -5px;\n right: auto;\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.25), transparent 100%);\n}\n.k-calendar.k-calendar-range .k-range-split-end::after {\n right: -5px;\n left: auto;\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25), transparent 100%);\n}\n.k-daterangepicker.k-state-invalid .k-dateinput-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-popup {\n background-clip: padding-box;\n margin: 0;\n padding: 0px 0px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 13px;\n line-height: 1.4285714286;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n.k-popup .k-ie11 {\n background-clip: border-box;\n}\n.k-popup > .k-widget {\n border-width: 0;\n}\n.k-popup.k-colorpicker-popup {\n display: flex;\n align-items: center;\n}\n.k-popup .k-item {\n outline: none;\n}\n.k-popup .k-rtl .k-list-optionlabel, [dir=rtl] .k-popup .k-list-optionlabel {\n text-align: right;\n}\n.k-animation-container {\n border-radius: 0 0 0 0;\n}\n.k-animation-container-shown {\n overflow: visible;\n}\n.k-popup > kendo-list > .k-first {\n border-bottom-width: 1px;\n border-bottom-style: solid;\n}\n.k-popup .k-item.k-first {\n position: relative;\n}\n.k-popup > .k-group-header,\n.k-popup > .k-virtual-wrap > .k-group-header {\n padding: 4px 8px;\n min-height: 1.4285714286em;\n white-space: normal;\n transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n}\n.k-popup > .k-group-header {\n margin-top: 0px;\n}\n.k-popup .k-outer-group-header {\n padding: 4px 8px;\n min-height: 1.4285714286em;\n white-space: normal;\n}\n.k-popup .k-outer-group-header.k-virtual-item {\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.k-popup > .k-colorpalette {\n padding: 8px 8px;\n}\n.k-popup .k-list .k-item > .k-group {\n padding: 0 0.5em;\n font-size: 9.282px;\n line-height: 13px;\n text-transform: uppercase;\n position: absolute;\n top: 0;\n right: 0;\n}\n.k-popup .k-list .k-item > .k-group::before {\n content: "";\n width: 13px;\n height: 13px;\n border-width: 6.5px;\n border-style: solid;\n box-sizing: border-box;\n display: block;\n position: absolute;\n left: -13px;\n bottom: 0;\n}\n.k-rtl.k-popup .k-list .k-item > .k-group,\n[dir=rtl] .k-popup .k-list .k-item > .k-group {\n right: auto;\n left: 0;\n}\n.k-rtl.k-popup .k-list .k-item > .k-group::before,\n[dir=rtl] .k-popup .k-list .k-item > .k-group::before {\n right: -14px;\n left: auto;\n}\n.k-group-header + div > .k-list > .k-item.k-first::before {\n content: " ";\n display: block;\n border-top-width: 1px;\n border-top-style: solid;\n position: absolute;\n top: -1px;\n left: 0;\n right: 0;\n}\n.k-popup .k-list > .k-outer-group-header {\n border-top-width: 1px;\n border-top-style: solid;\n}\n.k-popup.k-popup-transparent {\n border-width: 0;\n background-color: transparent;\n}\n.k-popup.k-popup-flush {\n padding: 0;\n}\n.k-list-scroller {\n position: relative;\n overflow: auto;\n}\n.k-list {\n height: auto;\n}\n.k-list > .k-item {\n display: flex;\n align-items: center;\n align-content: center;\n cursor: pointer;\n}\n.k-list > .k-item > .k-icon {\n align-self: center;\n margin-right: 8px;\n}\n.k-list > .k-custom-item {\n font-style: italic;\n}\n.k-list > .k-custom-item > .k-i-plus, .k-list > .k-custom-item > .k-plus {\n margin-left: auto;\n margin-right: 0;\n}\n[dir=rtl] .k-list > .k-item > .k-icon {\n margin-right: 0;\n margin-left: 8px;\n}\n.k-list .k-item,\n.k-list-optionlabel {\n padding: 4px 8px;\n min-height: 1.4285714286em;\n line-height: 1.4285714286em;\n white-space: normal;\n transition-property: color, background-color, outline-color, box-shadow;\n transition-duration: 200ms;\n transition-timing-function: ease;\n}\n.k-list-optionlabel {\n cursor: pointer;\n outline: none;\n}\n.k-list-filter {\n display: block;\n position: relative;\n padding: 8px;\n box-sizing: border-box;\n flex: 0 0 auto;\n}\n.k-list-filter > .k-textbox {\n width: 100% !important;\n box-sizing: border-box;\n padding-left: 8px;\n padding-right: calc( 16px + 8px );\n}\n.k-list-filter > .k-icon {\n position: absolute;\n right: calc( 8px + 8px );\n top: 50%;\n transform: translateY(-50%);\n}\n.k-rtl .k-list-filter > .k-textbox, [dir=rtl] .k-list-filter > .k-textbox {\n padding-right: 8px;\n padding-left: calc( 16px + 8px );\n}\n.k-rtl .k-list-filter > .k-icon, [dir=rtl] .k-list-filter > .k-icon {\n left: calc( 8px + 8px );\n right: auto;\n}\n.k-dropdown-button .k-popup .k-item {\n cursor: pointer;\n}\n.k-split-button .k-list .k-item:focus,\n.k-dropdown-button .k-list .k-item:focus {\n outline: none;\n}\n.k-list-container .k-button {\n border-radius: 0;\n padding: 4px 8px;\n border-width: 0;\n color: inherit;\n background-color: transparent;\n background-image: none;\n line-height: inherit;\n display: flex;\n justify-content: flex-start;\n}\n.k-ie11 .k-list-container .k-button {\n display: flex;\n}\n.k-ie11 .k-list-container .k-button .k-icon {\n margin: 0 4px 0 0;\n}\n.k-list-container .k-button.k-state-disabled {\n pointer-events: none;\n}\n.k-list-container .k-nodata {\n min-height: 138px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n text-transform: uppercase;\n font-weight: lighter;\n text-align: center;\n white-space: normal;\n}\n.k-list-container .k-nodata .k-button {\n display: inline-flex;\n border-width: 1px;\n}\n.k-list-container .k-separator {\n height: 0;\n}\n.k-virtual-content {\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n position: relative;\n}\n.k-virtual-content > .k-virtual-list > .k-virtual-item {\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n white-space: nowrap;\n}\n.k-shadow {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03), 0 4px 5px 0 rgba(0, 0, 0, 0.04);\n}\n.k-popup {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-popup > kendo-list > .k-first {\n border-bottom-color: rgba(0, 0, 0, 0.08);\n}\n.k-popup > .k-group-header,\n.k-popup .k-outer-group-header.k-first,\n.k-popup > .k-virtual-wrap > .k-group-header {\n border-bottom-color: rgba(0, 0, 0, 0.08);\n box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.06);\n}\n.k-popup .k-outer-group-header {\n border-bottom-color: rgba(0, 0, 0, 0.08);\n}\n.k-popup .k-list .k-item > .k-group {\n color: #ffffff;\n background: #424242;\n}\n.k-popup .k-list .k-item > .k-group::before {\n border-color: #424242 #424242 transparent transparent;\n}\n.k-rtl.k-popup .k-list .k-item > .k-group::before,\n[dir=rtl] .k-popup .k-list .k-item > .k-group::before {\n border-color: #424242 transparent transparent #424242;\n}\n.k-group-header + div > .k-list > .k-item.k-first::before {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-list > .k-outer-group-header {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-popup > .k-colorpalette,\n.k-popup > .k-flatcolorpicker {\n background: transparent;\n}\n.k-list .k-item:hover,\n.k-list .k-item.k-state-hover,\n.k-list-optionlabel:hover,\n.k-list-optionlabel.k-state-hover {\n color: inherit;\n background-color: transparent;\n}\n.k-list .k-item:hover.k-state-selected,\n.k-list .k-item.k-state-hover.k-state-selected,\n.k-list-optionlabel:hover.k-state-selected,\n.k-list-optionlabel.k-state-hover.k-state-selected {\n color: inherit;\n background-color: rgba(0, 0, 0, 0.08);\n}\n.k-list .k-item:focus,\n.k-list .k-item.k-state-focused,\n.k-list-optionlabel:focus,\n.k-list-optionlabel.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-list .k-item.k-state-selected,\n.k-list-optionlabel.k-state-selected {\n color: inherit;\n background-color: transparent;\n}\n.k-animation-container {\n border-radius: 0 0 0 0;\n}\n.k-animation-container-shown,\n.k-animation-container > .k-popup {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03), 0 4px 5px 0 rgba(0, 0, 0, 0.04);\n}\n.k-animation-container-fixed > .k-popup {\n box-shadow: none;\n}\n.k-list-container .k-button {\n box-shadow: none;\n}\n.k-list-container .k-button:hover,\n.k-list-container .k-button.k-state-hover {\n color: inherit;\n background-color: transparent;\n}\n.k-list-container .k-button:active,\n.k-list-container .k-button.k-state-active {\n color: inherit;\n background-color: inherit;\n}\n.k-list-container .k-button.k-state-selected {\n color: inherit;\n background-color: transparent;\n}\n.k-list-container .k-button:focus,\n.k-list-container .k-button.k-state-focus,\n.k-list-container .k-button.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-list-container .k-button.k-state-disabled {\n background: transparent;\n}\n.k-list-container .k-nodata {\n color: rgba(66, 66, 66, 0.5);\n}\n.k-list-container .k-nodata .k-button {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-dateinput {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n background: none;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-dateinput .k-dateinput-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-dateinput .k-dateinput-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-dateinput .k-select {\n border-radius: 0 0 0 0;\n padding: 0;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-dateinput .k-link {\n padding: 0 4px;\n min-width: 16px;\n flex: 1 1 auto;\n display: block;\n overflow: hidden;\n position: relative;\n}\n.k-dateinput .k-link .k-icon {\n position: absolute;\n right: 50%;\n transform: translateX(50%);\n}\n.k-dateinput .k-link-increase .k-icon {\n bottom: -2px;\n}\n.k-dateinput .k-link-decrease .k-icon {\n top: -2px;\n}\n.k-dateinput .k-i-warning {\n display: none;\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n overflow: visible;\n}\n.k-dateinput.k-invalid .k-i-warning, .k-dateinput.k-state-invalid .k-i-warning {\n display: inline-block;\n}\n.k-rtl .k-dateinput, .k-dateinput[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-dateinput .k-dateinput-wrap .k-i-warning, .k-dateinput[dir=rtl] .k-dateinput-wrap .k-i-warning {\n left: 8px;\n right: auto;\n}\n.k-rtl .k-dateinput .k-select, .k-dateinput[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-picker-wrap .k-dateinput {\n margin: 0 !important;\n width: 100%;\n flex: 1 1 auto;\n}\n.k-picker-wrap .k-dateinput .k-dateinput-wrap {\n border-radius: 0 0 0 0;\n border-width: 0;\n box-shadow: none !important;\n}\n.k-datepicker,\n.k-timepicker {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n white-space: nowrap;\n background: none;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-datepicker .k-picker-wrap,\n.k-timepicker .k-picker-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n}\n.k-datepicker .k-picker-wrap .k-ie11,\n.k-timepicker .k-picker-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-datepicker .k-select,\n.k-timepicker .k-select {\n border-radius: 0 0 0 0;\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-datepicker .k-i-warning,\n.k-timepicker .k-i-warning {\n display: none;\n position: absolute;\n top: 50%;\n right: calc( calc( 1.4285714286em + 8px ) + 4px);\n transform: translateY(-50%);\n overflow: visible;\n}\n.k-datepicker .k-state-invalid .k-i-warning,\n.k-timepicker .k-state-invalid .k-i-warning {\n display: inline-block;\n}\n.k-rtl .k-datepicker, .k-datepicker[dir=rtl],\n.k-rtl .k-timepicker,\n.k-timepicker[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-datepicker .k-select, .k-datepicker[dir=rtl] .k-select,\n.k-rtl .k-timepicker .k-select,\n.k-timepicker[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-rtl .k-datepicker .k-i-warning, .k-datepicker[dir=rtl] .k-i-warning,\n.k-rtl .k-timepicker .k-i-warning,\n.k-timepicker[dir=rtl] .k-i-warning {\n right: auto;\n left: calc( calc( 1.4285714286em + 8px ) + 4px);\n}\n.k-datetimepicker {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n background: none;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-datetimepicker .k-picker-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n}\n.k-datetimepicker .k-picker-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-datetimepicker .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n display: flex;\n align-items: stretch;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-datetimepicker .k-link {\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n height: 100%;\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n}\n.k-datetimepicker .k-i-warning {\n display: none;\n position: absolute;\n top: 50%;\n right: calc( calc( 1.4285714286em + 8px ) * 2 + 4px);\n transform: translateY(-50%);\n overflow: visible;\n}\n.k-datetimepicker .k-state-invalid .k-i-warning {\n display: inline-block;\n}\n.k-rtl .k-datetimepicker, .k-datetimepicker[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-datetimepicker .k-select, .k-datetimepicker[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-rtl .k-datetimepicker .k-i-warning, .k-datetimepicker[dir=rtl] .k-i-warning {\n right: auto;\n left: calc( calc( 1.4285714286em + 8px ) * 2 + 4px);\n}\n.k-datetime-container .k-datetime-wrap {\n width: 20em;\n overflow: hidden;\n}\n.k-datetime-container .k-datetime-buttongroup {\n padding: 8px;\n}\n.k-datetime-container .k-datetime-selector {\n display: flex;\n transition: transform 0.2s;\n}\n.k-datetime-container .k-datetime-calendar-wrap,\n.k-datetime-container .k-datetime-time-wrap {\n text-align: center;\n flex: 0 0 20em;\n}\n.k-datetime-container .k-timeselector {\n outline: none;\n}\n.k-datetime-container .k-time-list-container {\n justify-content: center;\n}\n.k-datetime-container .k-time-tab .k-datetime-selector {\n transform: translateX(-100%);\n}\n.k-datetime-container .k-actions .k-button,\n.k-datetime-container .k-action-buttons .k-button,\n.k-datetime-container .k-columnmenu-actions .k-button {\n flex: 1 1 50%;\n}\n.k-datetime-container .k-actions.k-actions-start .k-button, .k-datetime-container .k-actions-start.k-action-buttons .k-button,\n.k-datetime-container .k-actions-start.k-columnmenu-actions .k-button, .k-datetime-container .k-actions.k-actions-center .k-button, .k-datetime-container .k-actions-center.k-action-buttons .k-button,\n.k-datetime-container .k-actions-center.k-columnmenu-actions .k-button, .k-datetime-container .k-actions.k-actions-end .k-button, .k-datetime-container .k-actions-end.k-action-buttons .k-button,\n.k-datetime-container .k-actions-end.k-columnmenu-actions .k-button {\n flex: 0 1 auto;\n}\n.k-rtl .k-datetime-container .k-time-tab .k-datetime-selector, .k-datetime-container.k-rtl .k-time-tab .k-datetime-selector, [dir=rtl] .k-datetime-container .k-time-tab .k-datetime-selector, .k-datetime-container[dir=rtl] .k-time-tab .k-datetime-selector {\n transform: translateX(100%);\n}\n.k-timeselector .k-actions .k-button,\n.k-timeselector .k-action-buttons .k-button,\n.k-timeselector .k-columnmenu-actions .k-button {\n flex: 1 1 50%;\n}\n.k-timeselector .k-actions.k-actions-start .k-button, .k-timeselector .k-actions-start.k-action-buttons .k-button,\n.k-timeselector .k-actions-start.k-columnmenu-actions .k-button, .k-timeselector .k-actions.k-actions-center .k-button, .k-timeselector .k-actions-center.k-action-buttons .k-button,\n.k-timeselector .k-actions-center.k-columnmenu-actions .k-button, .k-timeselector .k-actions.k-actions-end .k-button, .k-timeselector .k-actions-end.k-action-buttons .k-button,\n.k-timeselector .k-actions-end.k-columnmenu-actions .k-button {\n flex: 0 1 auto;\n}\n.k-time-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n line-height: 2em;\n}\n.k-time-header .k-title {\n font-weight: bold;\n}\n.k-time-header .k-time-now {\n border-width: 0;\n line-height: inherit;\n cursor: pointer;\n}\n.k-time-list-wrapper {\n display: inline-block;\n overflow: hidden;\n box-sizing: content-box;\n overflow-x: hidden;\n overflow-y: auto;\n position: relative;\n padding: 20px 0;\n text-align: center;\n min-width: 4em;\n height: 200px;\n flex: 1 1 auto;\n}\n.k-time-list-wrapper .k-title {\n display: block;\n text-align: center;\n font-size: 10px;\n position: absolute;\n text-transform: capitalize;\n font-weight: bold;\n min-width: 100%;\n height: 1.5em;\n line-height: 1.5em;\n margin-top: -20px;\n z-index: 12;\n}\n.k-time-list-wrapper.k-state-focused::before, .k-time-list-wrapper.k-state-focused::after {\n display: block;\n content: " ";\n position: absolute;\n width: 100%;\n left: 0;\n pointer-events: none;\n height: calc(50% - 1em);\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n}\n.k-time-list-wrapper.k-state-focused::before {\n top: 0;\n}\n.k-time-list-wrapper.k-state-focused::after {\n bottom: 0;\n}\n.k-time-container {\n position: absolute;\n display: block;\n overflow-x: hidden;\n overflow-y: scroll;\n line-height: 1.4285714286;\n left: 0;\n right: 0;\n top: 20px;\n bottom: 20px;\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -100px;\n margin-right: -117px;\n}\n.k-time-container > ul {\n height: auto;\n width: 4em;\n margin: auto;\n}\n.k-rtl .k-time-container, .k-time-container.k-rtl, [dir=rtl] .k-time-container, .k-time-container[dir=rtl] {\n padding-right: 100px;\n padding-left: 100px;\n margin-left: -117px;\n margin-right: -100px;\n}\n.k-time-list-container {\n display: flex;\n position: relative;\n}\n.k-time-list {\n position: absolute;\n display: flex;\n z-index: 10;\n outline: 0;\n bottom: 0;\n right: 0;\n left: 0;\n top: 0;\n}\n.k-time-list::before, .k-time-list::after {\n display: block;\n position: absolute;\n content: " ";\n height: 0;\n line-height: 0;\n z-index: 1;\n width: 200%;\n left: -50%;\n}\n.k-time-list::before {\n top: 0;\n}\n.k-time-list::after {\n bottom: 0;\n}\n.k-time-list .k-item {\n padding: 4px 8px;\n min-height: calc( 1.43em + 2px );\n line-height: calc( 1.43em + 2px );\n}\n.k-time-highlight {\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n transform: translateY(-50%);\n width: 100%;\n height: calc( 1.4285714286em + 8px );\n z-index: 1;\n border-width: 1px 0;\n border-style: solid;\n border-radius: 0.1px;\n}\n.k-time-container .k-scrollable-placeholder {\n position: absolute;\n width: 1px;\n top: 0;\n right: 0;\n}\n.k-time-separator {\n width: 0;\n height: 100%;\n display: inline-flex;\n align-self: center;\n justify-content: center;\n z-index: 11;\n}\n.k-datepicker .k-select,\n.k-timepicker .k-select,\n.k-datetimepicker .k-select,\n.k-dateinput .k-select {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-datepicker .k-i-warning,\n.k-timepicker .k-i-warning,\n.k-datetimepicker .k-i-warning,\n.k-dateinput .k-i-warning {\n color: #f31700;\n}\n.k-datepicker .k-picker-wrap,\n.k-timepicker .k-picker-wrap,\n.k-datetimepicker .k-picker-wrap,\n.k-dateinput .k-dateinput-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-datepicker .k-picker-wrap:hover, .k-datepicker .k-picker-wrap.k-state-hover,\n.k-timepicker .k-picker-wrap:hover,\n.k-timepicker .k-picker-wrap.k-state-hover,\n.k-datetimepicker .k-picker-wrap:hover,\n.k-datetimepicker .k-picker-wrap.k-state-hover,\n.k-dateinput .k-dateinput-wrap:hover,\n.k-dateinput .k-dateinput-wrap.k-state-hover {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-datepicker .k-picker-wrap.k-state-focused, .k-datepicker .k-picker-wrap.k-state-active,\n.k-timepicker .k-picker-wrap.k-state-focused,\n.k-timepicker .k-picker-wrap.k-state-active,\n.k-datetimepicker .k-picker-wrap.k-state-focused,\n.k-datetimepicker .k-picker-wrap.k-state-active,\n.k-dateinput .k-dateinput-wrap.k-state-focused,\n.k-dateinput .k-dateinput-wrap.k-state-active {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-datepicker .k-select:hover,\n.k-datepicker .k-select.k-state-hover,\n.k-timepicker .k-select:hover,\n.k-timepicker .k-select.k-state-hover {\n background-color: #ebebeb;\n}\n.k-dateinput .k-link:hover,\n.k-dateinput .k-link.k-state-hover,\n.k-datetimepicker .k-link:hover,\n.k-datetimepicker .k-link.k-state-hover {\n background-color: #ebebeb;\n}\n.k-dateinput .k-link:active,\n.k-dateinput .k-link.k-state-active,\n.k-dateinput .k-link.k-state-selected,\n.k-datetimepicker .k-link:active,\n.k-datetimepicker .k-link.k-state-active,\n.k-datetimepicker .k-link.k-state-selected {\n background-color: #e1e1e1;\n}\n.k-time-header .k-time-now {\n color: #38ab63;\n background: transparent;\n}\n.k-time-header .k-time-now:hover, .k-time-header .k-time-now:focus {\n color: #2f9053;\n}\n.k-time-list-wrapper .k-title {\n color: #666666;\n}\n.k-time-list-wrapper.k-state-focused .k-title {\n color: #424242;\n}\n.k-time-list-wrapper.k-state-focused::before, .k-time-list-wrapper.k-state-focused::after {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.k-time-list::before, .k-time-list::after {\n box-shadow: 0 0 3em 1.5em #ffffff;\n}\n.k-time-list .k-item:hover {\n color: #38ab63;\n}\n.k-time-container {\n background: transparent;\n}\n.k-time-highlight {\n border-color: rgba(0, 0, 0, 0.08);\n background-color: #ffffff;\n}\n.k-datetime-container .k-date-tab .k-datetime-buttongroup,\n.k-datetime-container .k-date-tab .k-datetime-selector {\n background-color: #ffffff;\n}\n.k-datepicker .k-picker-wrap.k-invalid, .k-datepicker .k-picker-wrap.k-state-invalid,\n.k-datetimepicker .k-picker-wrap.k-invalid,\n.k-datetimepicker .k-picker-wrap.k-state-invalid,\n.k-timepicker .k-picker-wrap.k-invalid,\n.k-timepicker .k-picker-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-datepicker.k-state-invalid .k-picker-wrap, .k-datepicker.ng-invalid.ng-touched .k-picker-wrap, .k-datepicker.ng-invalid.ng-dirty .k-picker-wrap,\n.k-datetimepicker.k-state-invalid .k-picker-wrap,\n.k-datetimepicker.ng-invalid.ng-touched .k-picker-wrap,\n.k-datetimepicker.ng-invalid.ng-dirty .k-picker-wrap,\n.k-timepicker.k-state-invalid .k-picker-wrap,\n.k-timepicker.ng-invalid.ng-touched .k-picker-wrap,\n.k-timepicker.ng-invalid.ng-dirty .k-picker-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dateinput .k-dateinput-wrap.k-invalid, .k-dateinput .k-dateinput-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dateinput.k-state-invalid .k-dateinput-wrap, .k-dateinput.ng-invalid.ng-touched .k-dateinput-wrap, .k-dateinput.ng-invalid.ng-dirty .k-dateinput-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-datepicker.k-state-hover .k-picker-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-datepicker.k-state-focus .k-picker-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-datepicker.k-invalid .k-picker-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dateinput.k-state-hover .k-dateinput-wrap,\n.k-daterangepicker.k-state-hover .k-dateinput-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-dateinput.k-state-focus .k-dateinput-wrap,\n.k-daterangepicker.k-state-focus .k-dateinput-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-dateinput.k-invalid .k-dateinput-wrap,\n.k-daterangepicker.k-invalid .k-dateinput-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-d-flex {\n display: flex;\n}\n.k-d-inline-flex {\n display: inline-flex;\n}\n.k-d-flex-row, .k-columnset, .k-hbox {\n display: flex;\n flex-direction: row;\n}\n.k-d-flex-col, .k-rowset, .k-vbox {\n display: flex;\n flex-direction: column;\n}\n.k-flex-row {\n flex-direction: row;\n}\n.k-flex-row-reverse {\n flex-direction: row-reverse;\n}\n.k-flex-col, .k-flex-column {\n flex-direction: column;\n}\n.k-flex-col-reverse, .k-flex-column-reverse {\n flex-direction: column-reverse;\n}\n.k-flex-wrap {\n flex-wrap: wrap;\n}\n.k-flex-nowrap {\n flex-wrap: nowrap;\n}\n.k-flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.k-flex-initial {\n flex: 0 1 auto;\n}\n.k-flex-1, .k-flex {\n flex: 1 1 0%;\n}\n.k-flex-auto {\n flex: 1 1 auto;\n}\n.k-flex-none, .k-no-flex {\n flex: none;\n}\n.k-flex-grow {\n flex-grow: 1;\n}\n.k-flex-grow-0, .k-no-flex-grow {\n flex-grow: 0;\n}\n.k-flex-shrink {\n flex-shrink: 1;\n}\n.k-flex-shrink-0, .k-no-flex-shrink {\n flex-shrink: 0;\n}\n.k-flex-basis-auto {\n flex-basis: auto;\n}\n.k-flex-basis-0 {\n flex-basis: 0%;\n}\n.k-align-items-start {\n align-items: flex-start;\n}\n.k-align-items-end {\n align-items: flex-end;\n}\n.k-align-items-center {\n align-items: center;\n}\n.k-align-items-stretch {\n align-items: stretch;\n}\n.k-align-items-baseline {\n align-items: baseline;\n}\n.k-align-content-start {\n align-content: flex-start;\n}\n.k-align-content-end {\n align-content: flex-end;\n}\n.k-align-content-center {\n align-content: center;\n}\n.k-align-content-stretch {\n align-content: stretch;\n}\n.k-align-content-baseline {\n align-content: baseline;\n}\n.k-align-self-start {\n align-self: flex-start;\n}\n.k-align-self-end {\n align-self: flex-end;\n}\n.k-align-self-center {\n align-self: center;\n}\n.k-align-self-stretch {\n align-self: stretch;\n}\n.k-align-self-baseline {\n align-self: baseline;\n}\n.k-justify-content-start {\n justify-content: flex-start;\n}\n.k-justify-content-end {\n justify-content: flex-end;\n}\n.k-justify-content-center {\n justify-content: center;\n}\n.k-justify-content-between {\n justify-content: space-between;\n}\n.k-justify-content-around {\n justify-content: space-around;\n}\n.k-justify-content-evenly {\n justify-content: space-evenly;\n}\n.k-column {\n flex-grow: 1;\n flex-basis: 0;\n}\n.k-numerictextbox {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n background: none;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-numerictextbox .k-numeric-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n transition: all 0.1s ease;\n cursor: default;\n outline: 0;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-numerictextbox .k-numeric-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-numerictextbox .k-input {\n text-overflow: clip;\n}\n.k-numerictextbox .k-select {\n border-radius: 0 0 0 0;\n padding: 0;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n border-style: solid;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-numerictextbox .k-link {\n padding: 0 4px;\n min-width: calc( 16px + 8px );\n box-sizing: border-box;\n flex: 1 1 auto;\n display: block;\n overflow: hidden;\n position: relative;\n}\n.k-numerictextbox .k-link .k-icon {\n position: absolute;\n right: 50%;\n transform: translateX(50%);\n}\n.k-numerictextbox .k-link-increase .k-icon {\n bottom: -2px;\n}\n.k-numerictextbox .k-link-decrease .k-icon {\n top: -2px;\n}\n.k-numerictextbox .k-i-warning {\n align-self: center;\n margin-right: 0.5em;\n}\n.k-rtl .k-numerictextbox, .k-numerictextbox[dir=rtl] {\n text-align: right;\n}\n.k-rtl .k-numerictextbox .k-numeric-wrap .k-i-warning, .k-numerictextbox[dir=rtl] .k-numeric-wrap .k-i-warning {\n align-self: center;\n margin-right: 0;\n margin-left: 0.5em;\n}\n.k-rtl .k-numerictextbox .k-select, .k-numerictextbox[dir=rtl] .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-numerictextbox .k-numeric-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-numerictextbox .k-numeric-wrap:hover, .k-numerictextbox .k-numeric-wrap.k-state-hover {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-numerictextbox .k-numeric-wrap.k-state-focused {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-numerictextbox .k-numeric-wrap.k-invalid, .k-numerictextbox .k-numeric-wrap.k-invalid:hover, .k-numerictextbox .k-numeric-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-numerictextbox .k-select {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-numerictextbox .k-select .k-link:hover,\n.k-numerictextbox .k-select .k-link.k-state-hover {\n background-color: #ebebeb;\n}\n.k-numerictextbox .k-select .k-link:active,\n.k-numerictextbox .k-select .k-link.k-state-active,\n.k-numerictextbox .k-select .k-link.k-state-selected {\n background-color: #e1e1e1;\n}\n.k-numerictextbox.k-state-invalid .k-numeric-wrap, .k-numerictextbox.ng-invalid.ng-touched .k-numeric-wrap, .k-numerictextbox.ng-invalid.ng-dirty .k-numeric-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-tooltip {\n border-radius: 0;\n margin: 0;\n padding: 4px 8px;\n border-width: 0px;\n border-style: solid;\n box-sizing: border-box;\n background-repeat: repeat-x;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.25;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: flex-start;\n position: absolute;\n z-index: 12000;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-tooltip-icon {\n -webkit-margin-end: 4px;\n margin-inline-end: 4px;\n flex-shrink: 0;\n}\n.k-tooltip-title {\n margin-bottom: 0.25em;\n font-size: 16.25px;\n line-height: 1;\n}\n.k-tooltip-content {\n align-self: stretch;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-tooltip-button {\n -webkit-margin-start: 4px;\n margin-inline-start: 4px;\n flex-shrink: 0;\n}\n.k-tooltip-button .k-icon {\n color: inherit;\n vertical-align: top;\n}\n.k-callout {\n width: 12px;\n height: 12px;\n border-width: 6px;\n border-style: solid;\n border-color: transparent;\n box-sizing: border-box;\n position: absolute;\n pointer-events: none;\n}\n.k-callout-n {\n margin-left: -6px;\n border-bottom-color: currentColor;\n top: -12px;\n left: 50%;\n pointer-events: none;\n}\n.k-callout-e {\n margin-top: -6px;\n border-left-color: currentColor;\n top: 50%;\n right: -12px;\n pointer-events: none;\n}\n.k-callout-s {\n margin-left: -6px;\n border-top-color: currentColor;\n bottom: -12px;\n left: 50%;\n pointer-events: none;\n}\n.k-callout-w {\n margin-top: -6px;\n border-right-color: currentColor;\n top: 50%;\n left: -12px;\n pointer-events: none;\n}\n.k-tooltip-wrapper .k-tooltip {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.03), 0 4px 5px 0 rgba(0, 0, 0, 0.04);\n}\n.k-tooltip {\n border-color: rgba(0, 0, 0, 0.75);\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.75);\n}\n.k-tooltip .k-callout {\n color: rgba(0, 0, 0, 0.75);\n}\n.k-tooltip-primary {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-tooltip-primary .k-callout {\n color: #38ab63;\n}\n.k-tooltip-info {\n border-color: #0058e9;\n color: #ffffff;\n background-color: #0058e9;\n}\n.k-tooltip-info .k-callout {\n color: #0058e9;\n}\n.k-tooltip-success {\n border-color: #37b400;\n color: #ffffff;\n background-color: #37b400;\n}\n.k-tooltip-success .k-callout {\n color: #37b400;\n}\n.k-tooltip-warning {\n border-color: #ffc000;\n color: #000000;\n background-color: #ffc000;\n}\n.k-tooltip-warning .k-callout {\n color: #ffc000;\n}\n.k-tooltip-error {\n border-color: #f31700;\n color: #ffffff;\n background-color: #f31700;\n}\n.k-tooltip-error .k-callout {\n color: #f31700;\n}\n.k-slider {\n border: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n background: none;\n display: inline-flex;\n align-items: stretch;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-slider .k-button {\n height: 28px;\n line-height: 28px;\n margin: 0;\n min-width: 0;\n outline: 0;\n padding: 0;\n position: absolute;\n width: 28px;\n box-sizing: content-box;\n}\n.k-slider .k-button .k-icon,\n.k-slider .k-button .k-button-icon {\n vertical-align: baseline;\n line-height: 28px;\n height: 100%;\n}\n.k-slider .k-button-increase {\n right: 0;\n top: 0;\n}\n.k-slider .k-button-decrease {\n left: 0;\n top: 0;\n}\n.k-slider .k-label {\n width: auto;\n font-size: 0.92em;\n line-height: 1;\n white-space: nowrap;\n position: absolute;\n}\n.k-slider .k-tick,\n.k-slider .k-slider-track {\n cursor: pointer;\n}\n.k-slider .k-tick {\n background-color: transparent;\n background-position: center center;\n background-repeat: no-repeat;\n margin: 0;\n padding: 0;\n position: relative;\n}\n.k-slider.k-state-disabled .k-tick,\n.k-slider.k-state-disabled .k-slider-track,\n.k-slider.k-state-disabled .k-draghandle {\n cursor: default;\n}\n.k-rtl .k-slider .k-slider-selection, .k-slider.k-rtl .k-slider-selection, [dir=rtl] .k-slider .k-slider-selection, .k-slider[dir=rtl] .k-slider-selection {\n left: auto;\n right: 0;\n}\n.k-rtl .k-slider .k-button-increase, .k-slider.k-rtl .k-button-increase, [dir=rtl] .k-slider .k-button-increase, .k-slider[dir=rtl] .k-button-increase {\n left: 0;\n right: auto;\n}\n.k-rtl .k-slider .k-button-decrease, .k-slider.k-rtl .k-button-decrease, [dir=rtl] .k-slider .k-button-decrease, .k-slider[dir=rtl] .k-button-decrease {\n right: 0;\n left: auto;\n}\n.k-slider {\n gap: calc( 14px / 2 );\n}\n.k-slider > .k-button {\n position: relative;\n flex-shrink: 0;\n align-self: center;\n}\n.k-slider > .k-slider-track-wrap {\n flex: 1 1 auto;\n display: flex;\n flex-flow: inherit;\n position: relative;\n touch-action: none;\n}\n.k-slider > .k-slider-track-wrap .k-slider-items {\n flex: 1 1 100%;\n display: flex;\n flex-flow: inherit;\n justify-content: space-between;\n}\n.k-slider > .k-slider-track-wrap .k-slider-items::after {\n display: none;\n}\n.k-slider > .k-slider-track-wrap .k-tick {\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: 1px;\n}\n.k-slider > .k-slider-track-wrap .k-draghandle {\n position: absolute;\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-slider-track {\n width: 100%;\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle {\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle:focus,\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle:active {\n transform: translate(-50%, -50%) scale(1);\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-slider-selection {\n width: calc( (var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1% );\n left: calc( var(--kendo-slider-start, 0) * 1% );\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle-start {\n left: calc( var(--kendo-slider-start, 0) * 1% );\n}\n.k-slider-horizontal > .k-slider-track-wrap .k-draghandle-end {\n left: calc( var(--kendo-slider-end, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-slider-selection {\n left: unset;\n right: calc( var(--kendo-slider-start, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle-start {\n left: unset;\n right: calc( var(--kendo-slider-start, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle-end {\n left: unset;\n right: calc( var(--kendo-slider-end, 0) * 1% );\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle {\n transform: translate(50%, -50%);\n}\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle:focus,\n[dir=rtl] .k-slider-horizontal > .k-slider-track-wrap .k-draghandle:active {\n transform: translate(50%, -50%) scale(1);\n}\n.k-slider-vertical > .k-slider-track-wrap .k-slider-track {\n height: 100%;\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle {\n left: 50%;\n transform: translate(-50%, 50%);\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle:focus,\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle:active {\n transform: translate(-50%, 50%) scale(1);\n}\n.k-slider-vertical > .k-slider-track-wrap .k-slider-selection {\n bottom: calc( var(--kendo-slider-start, 0) * 1% );\n height: calc( (var(--kendo-slider-end, 0) - var(--kendo-slider-start, 0)) * 1% );\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle-start {\n bottom: calc( var(--kendo-slider-start, 0) * 1% );\n}\n.k-slider-vertical > .k-slider-track-wrap .k-draghandle-end {\n bottom: calc( var(--kendo-slider-end, 0) * 1% );\n}\n.k-slider-vertical {\n height: 200px;\n width: 30px;\n flex-flow: column-reverse nowrap;\n}\n.k-slider-vertical .k-button-decrease {\n bottom: 0;\n top: auto;\n}\n.k-slider-vertical .k-tick {\n text-align: right;\n margin-left: 2px;\n}\n.k-slider-vertical .k-slider-topleft .k-tick {\n text-align: left;\n}\n.k-slider-vertical .k-tick {\n background-position: -92px center;\n}\n.k-slider-vertical .k-slider-topleft .k-tick {\n background-position: -122px center;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick {\n background-position: -152px center;\n}\n.k-slider-vertical .k-tick-large {\n display: flex;\n align-items: center;\n background-position: -2px center;\n}\n.k-slider-vertical .k-slider-topleft .k-tick-large {\n background-position: -32px center;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick-large {\n background-position: -62px center;\n}\n.k-slider-vertical .k-first {\n background-position: -92px 100%;\n}\n.k-slider-vertical .k-tick-large.k-first {\n background-position: -2px 100%;\n}\n.k-slider-vertical .k-slider-topleft .k-first {\n background-position: -122px 100%;\n}\n.k-slider-vertical .k-slider-topleft .k-tick-large.k-first {\n background-position: -32px 100%;\n}\n.k-slider-vertical .k-slider-bottomright .k-first {\n background-position: -152px 100%;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick-large.k-first {\n background-position: -62px 100%;\n}\n.k-slider-vertical .k-last {\n background-position: -92px 0;\n}\n.k-slider-vertical .k-tick-large.k-last {\n background-position: -2px 0;\n}\n.k-slider-vertical .k-slider-topleft .k-last {\n background-position: -122px 0;\n}\n.k-slider-vertical .k-slider-topleft .k-tick-large.k-last {\n background-position: -32px 0;\n}\n.k-slider-vertical .k-slider-bottomright .k-last {\n background-position: -152px 0;\n}\n.k-slider-vertical .k-slider-bottomright .k-tick-large.k-last {\n background-position: -62px 0;\n}\n.k-slider-vertical .k-label {\n text-align: left;\n left: 120%;\n top: 50%;\n transform: translateY(-50%);\n}\n.k-slider-vertical .k-first .k-label {\n top: 100%;\n}\n.k-slider-vertical .k-last .k-label {\n top: 0;\n}\n.k-slider-vertical .k-slider-topleft .k-label {\n left: auto;\n right: 120%;\n}\n.k-rtl .k-slider-vertical .k-label, .k-slider-vertical.k-rtl .k-label, [dir=rtl] .k-slider-vertical .k-label, .k-slider-vertical[dir=rtl] .k-label {\n left: auto;\n right: 120%;\n}\n.k-rtl .k-slider-vertical .k-slider-topleft .k-label, .k-slider-vertical.k-rtl .k-slider-topleft .k-label, [dir=rtl] .k-slider-vertical .k-slider-topleft .k-label, .k-slider-vertical[dir=rtl] .k-slider-topleft .k-label {\n left: 120%;\n right: auto;\n}\n.k-slider-horizontal {\n height: 30px;\n width: 200px;\n flex-flow: row nowrap;\n}\n.k-slider-horizontal .k-tick {\n float: left;\n height: 100%;\n text-align: center;\n}\n.k-slider-horizontal .k-tick {\n background-position: center -92px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick {\n background-position: center -122px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick {\n background-position: center -152px;\n}\n.k-slider-horizontal .k-tick-large {\n background-position: center -2px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick-large {\n background-position: center -32px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick-large {\n background-position: center -62px;\n}\n.k-slider-horizontal .k-first {\n background-position: 0 -92px;\n}\n.k-slider-horizontal .k-tick-large.k-first {\n background-position: 0 -2px;\n}\n.k-slider-horizontal .k-slider-topleft .k-first {\n background-position: 0 -122px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick-large.k-first {\n background-position: 0 -32px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-first {\n background-position: 0 -152px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-first {\n background-position: 0 -62px;\n}\n.k-slider-horizontal .k-last {\n background-position: 100% -92px;\n}\n.k-slider-horizontal .k-tick-large.k-last {\n background-position: 100% -2px;\n}\n.k-slider-horizontal .k-slider-topleft .k-last {\n background-position: 100% -122px;\n}\n.k-slider-horizontal .k-slider-topleft .k-tick-large.k-last {\n background-position: 100% -32px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-last {\n background-position: 100% -152px;\n}\n.k-slider-horizontal .k-slider-bottomright .k-tick-large.k-last {\n background-position: 100% -62px;\n}\n.k-slider-horizontal .k-label {\n left: 50%;\n bottom: -1.2em;\n transform: translateX(-50%);\n}\n.k-slider-horizontal .k-first .k-label {\n left: 0;\n}\n.k-slider-horizontal .k-last .k-label {\n left: 100%;\n}\n.k-slider-horizontal .k-slider-topleft .k-label {\n top: -1.2em;\n}\n.k-rtl .k-slider-horizontal .k-slider-track,\n.k-rtl .k-slider-horizontal .k-slider-selection, .k-slider-horizontal.k-rtl .k-slider-track,\n.k-slider-horizontal.k-rtl .k-slider-selection, [dir=rtl] .k-slider-horizontal .k-slider-track,\n[dir=rtl] .k-slider-horizontal .k-slider-selection, .k-slider-horizontal[dir=rtl] .k-slider-track,\n.k-slider-horizontal[dir=rtl] .k-slider-selection {\n right: 0;\n left: auto;\n}\n.k-rtl .k-slider-horizontal .k-slider-buttons .k-slider-track, .k-slider-horizontal.k-rtl .k-slider-buttons .k-slider-track, [dir=rtl] .k-slider-horizontal .k-slider-buttons .k-slider-track, .k-slider-horizontal[dir=rtl] .k-slider-buttons .k-slider-track {\n right: 38px;\n}\n.k-rtl .k-slider-horizontal .k-button .k-i-arrow-e,\n.k-rtl .k-slider-horizontal .k-button .k-i-arrow-w, .k-slider-horizontal.k-rtl .k-button .k-i-arrow-e,\n.k-slider-horizontal.k-rtl .k-button .k-i-arrow-w, [dir=rtl] .k-slider-horizontal .k-button .k-i-arrow-e,\n[dir=rtl] .k-slider-horizontal .k-button .k-i-arrow-w, .k-slider-horizontal[dir=rtl] .k-button .k-i-arrow-e,\n.k-slider-horizontal[dir=rtl] .k-button .k-i-arrow-w {\n transform: scaleX(-1);\n}\n.k-slider-wrap {\n height: 100%;\n width: 100%;\n}\n.k-slider-track,\n.k-slider-selection {\n margin: 0;\n padding: 0;\n position: absolute;\n}\n.k-slider-horizontal .k-slider-track,\n.k-slider-horizontal .k-slider-selection {\n height: 4px;\n left: 0;\n margin-top: -2px;\n top: 50%;\n}\n.k-slider-vertical .k-slider-track,\n.k-slider-vertical .k-slider-selection {\n bottom: 0;\n left: 50%;\n margin-left: -2px;\n width: 4px;\n}\n.k-slider-horizontal .k-slider-buttons .k-slider-track {\n left: 38px;\n}\n.k-slider-vertical .k-slider-buttons .k-slider-track {\n bottom: 38px;\n}\n.k-draghandle {\n background-color: transparent;\n background-repeat: no-repeat;\n border-style: solid;\n border-width: 1px;\n outline: 0;\n position: absolute;\n text-align: center;\n text-decoration: none;\n box-sizing: content-box;\n width: 14px;\n height: 14px;\n}\n.k-slider-horizontal .k-draghandle {\n top: 50%;\n transform: translateY(-50%);\n}\n.k-slider-horizontal .k-draghandle:active, .k-slider-horizontal .k-draghandle.k-pressed {\n transform: translateY(-50%) scale(1);\n}\n.k-slider-vertical .k-draghandle {\n left: 50%;\n transform: translateX(-50%);\n}\n.k-slider-vertical .k-draghandle:active, .k-slider-vertical .k-draghandle.k-pressed {\n transform: translateX(-50%) scale(1);\n}\n.k-slider-transitions.k-slider-horizontal .k-draghandle {\n transition: left 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.k-slider-transitions.k-slider-vertical .k-draghandle {\n transition: bottom 0.3s ease-out, background-color 0.3s ease-out, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.k-draghandle.k-pressed {\n transition: none;\n}\n.k-slider-transitions.k-slider-horizontal .k-slider-selection {\n transition: width 0.3s ease-out;\n}\n.k-slider-transitions.k-slider-vertical .k-slider-selection {\n transition: height 0.3s ease-out;\n}\n.k-slider-selection.k-pressed {\n transition: none;\n}\n.k-slider-items {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.k-slider-buttons .k-slider-items {\n margin-left: 38px;\n}\n.k-slider-horizontal .k-slider-items {\n height: 100%;\n padding: 2px 0;\n box-sizing: border-box;\n}\n.k-slider-vertical .k-slider-items {\n padding-top: 1px;\n}\n.k-slider-vertical .k-slider-buttons .k-slider-items {\n margin: 0;\n padding-top: 38px;\n}\n.k-slider-items::after {\n content: "";\n display: block;\n clear: both;\n}\n.k-slider-tooltip .k-callout-n,\n.k-slider-tooltip .k-callout-s {\n margin-left: -3px;\n}\n.k-slider-tooltip .k-callout-w,\n.k-slider-tooltip .k-callout-e {\n margin-top: -3px;\n}\n.k-no-flexbox .k-slider-horizontal {\n display: inline-block;\n}\n.k-no-flexbox .k-slider-vertical {\n display: inline-block;\n}\n.k-slider {\n color: #424242;\n}\n.k-slider .k-slider-track,\n.k-slider .k-slider-selection {\n border-radius: 0;\n}\n.k-slider .k-slider-track {\n background-color: #ebebeb;\n}\n.k-slider .k-slider-selection {\n background-color: #38ab63;\n}\n.k-slider .k-button {\n border-radius: 50%;\n}\n.k-slider .k-draghandle {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n border-radius: 50%;\n}\n.k-slider .k-draghandle:hover {\n border-color: #36a45f;\n background-color: #36a45f;\n}\n.k-slider .k-draghandle:active, .k-slider .k-draghandle.k-pressed {\n border-color: #319657;\n background-color: #319657;\n}\n.k-slider .k-draghandle:focus, .k-slider .k-draghandle.k-state-focused {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-slider.k-state-focused .k-draghandle {\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-slider .k-slider-wrap:focus {\n outline: none;\n}\n.k-slider-horizontal .k-tick {\n background-image: url(data:image/gif;base64,R0lGODlhAQC0AIABALi4uAAAACH5BAEAAAEALAAAAAABALQAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);\n}\n.k-slider-vertical .k-tick {\n background-image: url(data:image/gif;base64,R0lGODlhtAABAIABALi4uAAAACH5BAEAAAEALAAAAAC0AAEAAAIWjIGJxqzazlux2ovlzND2rAHgSIZWAQA7);\n}\n.k-colorpicker {\n width: auto;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n background: none;\n text-align: left;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n overflow: visible;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-colorpicker .k-selected-color {\n padding: 4px;\n width: calc( 1.4285714286em + 8px );\n height: calc( 1.4285714286em + 8px );\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n box-sizing: border-box;\n line-height: 0;\n position: relative;\n overflow: hidden;\n}\n.k-colorpicker .k-selected-color .k-i-line {\n border-top: 1px solid #f31700;\n width: 200%;\n height: 200%;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-33%, -33%) rotateZ(45deg);\n transform-origin: 0 0;\n}\n.k-colorpicker .k-selected-color .k-i-line::before {\n display: none;\n}\n.k-colorpicker .k-tool-icon {\n padding: 4px;\n width: calc( 1.4285714286em + 8px );\n height: calc( 1.4285714286em + 8px );\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n box-sizing: border-box;\n font-size: inherit;\n text-align: center;\n flex-direction: column;\n cursor: pointer;\n}\n.k-colorpicker .k-tool-icon::before {\n font-size: 16px;\n line-height: 1;\n}\n.k-colorpicker .k-tool-icon .k-selected-color {\n margin: 1px 0 0;\n padding: 0;\n width: 14px;\n height: 3px;\n border-width: 0;\n line-height: 0;\n display: inline-block;\n}\n.k-colorpicker .k-picker-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-direction: row;\n transition: all 0.1s ease;\n overflow: hidden;\n cursor: default;\n outline: 0;\n}\n.k-colorpicker .k-picker-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-colorpicker .k-select {\n border-radius: 0 0 0 0;\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 1px;\n border-style: solid;\n border-color: inherit;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-rtl .k-colorpicker .k-picker-wrap .k-select, .k-colorpicker[dir=rtl] .k-picker-wrap .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 1px 0 0;\n}\n.k-colorpicker + .k-animation-container .k-popup {\n padding: 0;\n}\n.k-flatcolorpicker {\n border-radius: 0;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 310px;\n padding: 8px;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-flatcolorpicker .k-hsv-rectangle {\n position: relative;\n flex: 1 1 auto;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -ms-touch-action: pinch-zoom double-tap-zoom;\n}\n.k-flatcolorpicker .k-hsv-rectangle .k-draghandle {\n margin: -7px 0 0 -7px;\n cursor: pointer;\n position: absolute;\n z-index: 10;\n left: 50%;\n top: 50%;\n}\n.k-flatcolorpicker .k-hsv-gradient {\n height: 180px;\n}\n.k-flatcolorpicker .k-sliders-wrap {\n flex-shrink: 0;\n position: relative;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-hbox {\n margin-left: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-hbox .k-slider + .k-slider {\n margin-left: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-vbox {\n margin-top: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap.k-vbox .k-slider + .k-slider {\n margin-top: 8px;\n}\n.k-flatcolorpicker .k-sliders-wrap-clearable.k-hbox .k-clear-color {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n}\n.k-flatcolorpicker .k-sliders-wrap-clearable.k-hbox .k-hue-slider,\n.k-flatcolorpicker .k-sliders-wrap-clearable.k-hbox .k-alpha-slider {\n height: 140px;\n align-self: flex-end;\n}\n.k-flatcolorpicker .k-slider {\n display: block;\n}\n.k-flatcolorpicker .k-slider .k-slider-wrap {\n z-index: 1;\n}\n.k-flatcolorpicker .k-slider .k-slider-selection {\n display: none;\n}\n.k-flatcolorpicker .k-slider .k-draghandle {\n border-width: 3px;\n}\n.k-flatcolorpicker .k-slider-horizontal {\n width: 100%;\n height: 10px;\n flex: 0 0 10px;\n}\n.k-flatcolorpicker .k-slider-horizontal .k-slider-track {\n margin-top: -5px;\n height: 10px;\n border-radius: 10px;\n}\n.k-flatcolorpicker .k-slider-vertical {\n width: 10px;\n height: 180px;\n flex: 0 0 10px;\n}\n.k-flatcolorpicker .k-slider-vertical .k-slider-track {\n margin-left: -5px;\n width: 10px;\n border-radius: 10px;\n}\n.k-flatcolorpicker .k-draghandle {\n border-radius: 50%;\n width: 14px;\n height: 14px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n}\n.k-flatcolorpicker .k-colorinputs {\n margin-top: 16px;\n}\n.k-flatcolorpicker .k-colorinputs > .k-gradient-values + .k-gradient-values {\n margin-top: 8px;\n}\n.k-flatcolorpicker .k-gradient-values {\n justify-content: space-between;\n}\n.k-flatcolorpicker .k-gradient-values .k-input,\n.k-flatcolorpicker .k-gradient-values .k-textbox {\n padding: 4px 4px;\n}\n.k-flatcolorpicker .k-gradient-values div,\n.k-flatcolorpicker .k-gradient-values input,\n.k-flatcolorpicker .k-gradient-values .k-numerictextbox {\n width: 48px;\n text-align: center;\n}\n.k-flatcolorpicker .k-gradient-values div {\n text-transform: uppercase;\n text-align: center;\n}\n.k-flatcolorpicker .k-gradient-values .k-hex-value {\n width: 65px;\n}\n.k-flatcolorpicker .k-color-contrast .k-separator {\n margin: 8px 0;\n border-width: 0;\n border-top-width: 1px;\n border-style: solid;\n border-color: inherit;\n display: block;\n flex: 0 0 auto;\n align-self: stretch;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-ratio {\n margin-bottom: 8px;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-ratio-text {\n font-weight: 700;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-validation {\n margin-left: 8px;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-validation .k-icon {\n vertical-align: middle;\n}\n.k-flatcolorpicker .k-color-contrast .k-contrast-validation .k-i-check + .k-i-check {\n margin-left: -14px;\n}\n.k-flatcolorpicker .k-selected-color {\n border-width: 0 0 1px;\n border-style: solid;\n border-color: inherit;\n background-position: 50% 50%;\n}\n.k-flatcolorpicker .k-color-input {\n display: flex;\n flex-direction: row;\n position: relative;\n}\n.k-flatcolorpicker .k-color-value {\n margin: 0 0 0 calc( calc( 1.4285714286em + 8px ) * 2 );\n padding: 4px 8px;\n width: 100%;\n border: 0;\n box-sizing: border-box;\n font-size: 13px;\n line-height: 1.4285714286;\n font-family: inherit;\n outline: 0;\n flex: 1;\n}\n.k-flatcolorpicker .k-clear-color-container {\n display: flex;\n flex-direction: row;\n}\n.k-flatcolorpicker .k-clear-color {\n flex: 1;\n}\n.k-flatcolorpicker .k-color-value + .k-clear-color {\n flex: none;\n position: absolute;\n top: 0;\n right: 0;\n}\n.k-flatcolorpicker .k-controls {\n margin-top: 16px;\n text-align: center;\n}\n.k-rtl .k-flatcolorpicker .k-sliders-wrap.k-hbox,\n[dir=rtl] .k-flatcolorpicker .k-sliders-wrap.k-hbox {\n margin-left: 0;\n margin-right: 8px;\n}\n.k-rtl .k-flatcolorpicker .k-sliders-wrap.k-hbox .k-slider + .k-slider,\n[dir=rtl] .k-flatcolorpicker .k-sliders-wrap.k-hbox .k-slider + .k-slider {\n margin-left: 0;\n margin-right: 8px;\n}\n.k-rtl .k-flatcolorpicker .k-color-value,\n[dir=rtl] .k-flatcolorpicker .k-color-value {\n margin: 0 calc( calc( 1.4285714286em + 8px ) * 2 ) 0 0;\n direction: initial;\n text-align: right;\n}\n.k-rtl .k-flatcolorpicker .k-color-value + .k-clear-color,\n[dir=rtl] .k-flatcolorpicker .k-color-value + .k-clear-color {\n right: auto;\n left: 0;\n}\n.k-colorpalette {\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 0;\n display: inline-block;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-colorpalette .k-palette {\n width: 100%;\n height: 100%;\n border-collapse: collapse;\n position: relative;\n}\n.k-colorpalette .k-item {\n width: 14px;\n height: 14px;\n box-sizing: border-box;\n overflow: hidden;\n -ms-high-contrast-adjust: none;\n cursor: pointer;\n}\n.k-colorpalette .k-item:hover,\n.k-colorpalette .k-item.k-state-hover {\n position: relative;\n z-index: 101;\n}\n.k-colorpalette .k-item.k-state-selected,\n.k-colorpalette .k-item.k-state-selected:hover,\n.k-colorpalette .k-item.k-state-focused,\n.k-colorpalette .k-item:focus {\n position: relative;\n z-index: 100;\n}\n.k-colorpicker .k-picker-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-colorpicker .k-picker-wrap.k-invalid, .k-colorpicker .k-picker-wrap.k-invalid:hover, .k-colorpicker .k-picker-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-colorpicker > :hover,\n.k-colorpicker .k-state-hover {\n background-color: #ebebeb;\n}\n.k-colorpicker .k-state-focused {\n box-shadow: none;\n}\n.k-colorpicker.k-state-invalid .k-picker-wrap, .k-colorpicker.ng-invalid.ng-touched .k-picker-wrap, .k-colorpicker.ng-invalid.ng-dirty .k-picker-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-flatcolorpicker {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-flatcolorpicker .k-color-value {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-flatcolorpicker .k-hsv-gradient {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0), black), linear-gradient(to right, white, rgba(255, 255, 255, 0));\n}\n.k-flatcolorpicker .k-slider .k-draghandle {\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);\n background-color: transparent;\n}\n.k-flatcolorpicker .k-slider .k-draghandle:hover,\n.k-flatcolorpicker .k-slider .k-draghandle:focus {\n border-color: white;\n box-shadow: 0 1px 4px black;\n background-color: transparent;\n}\n.k-flatcolorpicker .k-slider .k-draghandle.k-state-focus {\n outline: 1px dotted black;\n}\n.k-flatcolorpicker .k-hue-slider.k-slider-horizontal .k-slider-track {\n background: linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);\n}\n.k-flatcolorpicker .k-hue-slider.k-slider-vertical .k-slider-track {\n background: linear-gradient(to top, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);\n}\n.k-flatcolorpicker .k-alpha-slider .k-slider-track {\n background: url("data:image/png;base64,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") center;\n}\n.k-flatcolorpicker .k-draghandle {\n border-color: rgba(255, 255, 255, 0.8);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.21);\n}\n.k-flatcolorpicker .k-draghandle.k-state-focus {\n outline: 1px dotted black;\n}\n.k-flatcolorpicker .k-color-contrast .k-separator {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-rtl .k-flatcolorpicker .k-hue-slider.k-slider-horizontal .k-slider-track,\n[dir=rtl] .k-flatcolorpicker .k-hue-slider.k-slider-horizontal .k-slider-track {\n background: linear-gradient(to left, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);\n}\n.k-rtl .k-flatcolorpicker .k-alpha-slider .k-slider-track,\n[dir=rtl] .k-flatcolorpicker .k-alpha-slider .k-slider-track {\n background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAQCAYAAABnaabpAAAACXBIWXMAABbqAAAW6gHljkMQAAAGvmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTA4LTIwVDE0OjU0OjQxKzAzOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wNVQxMzoyNjozMCswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wNVQxMzoyNjozMCswMjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjNTNiZjJiNC01Y2RhLTQzNGMtOTJmNS05NDg2NjdlZjRmYTgiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowYjMzZmFjMi1mYzM4LTI0NGItYjRkMS05OWE2ZDNhNWE4ZWIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1YjI5M2E2NC00YTc0LWY0NDQtYmRjOC02MjI0ZjUwOTY2NGEiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjViMjkzYTY0LTRhNzQtZjQ0NC1iZGM4LTYyMjRmNTA5NjY0YSIgc3RFdnQ6d2hlbj0iMjAxOS0wOC0yMFQxNDo1NDo0MSswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplNWEyZTA2Yy1lZWQwLTVhNGMtYjZjMC1lMGZiZjhmZjBkNjciIHN0RXZ0OndoZW49IjIwMTktMTItMDVUMTM6MjY6MzArMDI6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzUzYmYyYjQtNWNkYS00MzRjLTkyZjUtOTQ4NjY3ZWY0ZmE4IiBzdEV2dDp3aGVuPSIyMDE5LTEyLTA1VDEzOjI2OjMwKzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+PKc3+gAABx9JREFU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") center;\n}\n.k-colorpalette .k-item:hover,\n.k-colorpalette .k-item.k-state-hover {\n box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.8);\n}\n.k-colorpalette .k-item.k-state-selected,\n.k-colorpalette .k-item.k-state-selected:hover,\n.k-colorpalette .k-item.k-state-focused,\n.k-colorpalette .k-item:focus {\n box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px white;\n}\n.k-dropdown {\n width: 12.4em;\n border-width: 0;\n outline: 0;\n background: none;\n box-sizing: border-box;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-dropdown .k-dropdown-wrap {\n border-radius: 0;\n padding: 0;\n width: 100%;\n display: flex;\n flex-flow: row nowrap;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n transition: all 0.1s ease;\n cursor: pointer;\n outline: 0;\n}\n.k-dropdown .k-dropdown-wrap .k-select {\n border-radius: 0 0 0 0;\n padding: 4px 4px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0;\n box-sizing: border-box;\n border-style: solid;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-dropdown .k-dropdown-wrap .k-clear-value {\n visibility: hidden;\n}\n.k-dropdown .k-dropdown-wrap.k-state-focused .k-clear-value, .k-dropdown .k-dropdown-wrap.k-state-hover .k-clear-value, .k-dropdown .k-dropdown-wrap:hover .k-clear-value {\n visibility: visible;\n}\n.k-dropdown.k-rtl,\n.k-dropdown[dir=rtl],\n.k-rtl .k-dropdown,\n[dir=rtl] .k-dropdown {\n text-align: right;\n}\n.k-dropdown.k-rtl .k-select,\n.k-dropdown[dir=rtl] .k-select,\n.k-rtl .k-dropdown .k-select,\n[dir=rtl] .k-dropdown .k-select {\n border-radius: 0 0 0 0;\n}\n.k-dropdown-operator {\n width: auto;\n}\n.k-dropdown-operator .k-dropdown-wrap .k-input {\n display: none;\n}\n.k-dropdown-operator .k-dropdown-wrap .k-select {\n width: calc( 1.4285714286em + 8px );\n height: calc( 1.4285714286em + 8px );\n}\nselect.k-dropdown {\n border-radius: 0;\n padding: 4px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: all 0.1s ease;\n cursor: pointer;\n}\n.k-dropdown .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-dropdown .k-dropdown-wrap:hover, .k-dropdown .k-dropdown-wrap.k-state-hover {\n background-color: #ebebeb;\n}\n.k-dropdown .k-dropdown-wrap.k-state-focused {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-dropdown .k-dropdown-wrap.k-invalid, .k-dropdown .k-dropdown-wrap.k-invalid:hover, .k-dropdown .k-dropdown-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-dropdown.k-state-invalid > .k-dropdown-wrap, .k-dropdown.ng-invalid.ng-touched > .k-dropdown-wrap, .k-dropdown.ng-invalid.ng-dirty > .k-dropdown-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\nselect.k-dropdown {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\nselect.k-dropdown:hover {\n background-color: #ebebeb;\n}\nselect.k-dropdown:focus {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-checkbox {\n border-radius: 2px;\n margin: 0;\n padding: 0;\n width: 16px;\n height: 16px;\n line-height: initial;\n border-width: 1px;\n border-style: solid;\n outline: 0;\n box-sizing: border-box;\n display: inline-block;\n vertical-align: middle;\n position: relative;\n -webkit-appearance: none;\n}\n.k-checkbox::before {\n width: 12px;\n height: 12px;\n font-size: 12px;\n line-height: 1;\n transform: scale(0) translate(-50%, -50%);\n overflow: hidden;\n position: absolute;\n top: 50%;\n left: 50%;\n content: "";\n font-family: "WebComponentsIcons", monospace;\n}\n.k-checkbox:hover,\n.k-checkbox.k-state-hover {\n cursor: pointer;\n}\n.k-checkbox:checked::before,\n.k-checkbox.k-checked::before {\n border-radius: 2px;\n transform: scale(1) translate(-50%, -50%);\n}\n.k-checkbox:indeterminate::before,\n.k-checkbox.k-state-indeterminate::before,\n.k-checkbox.k-indeterminate::before {\n content: "";\n background-color: currentColor;\n transform: scale(1) translate(-50%, -50%);\n width: 8px;\n height: 8px;\n}\n.k-checkbox:disabled,\n.k-checkbox.k-disabled,\n.k-checkbox:disabled + .k-checkbox-label,\n.k-checkbox.k-disabled + .k-checkbox-label {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-checkbox + .k-checkbox-label {\n display: inline;\n}\n.k-checkbox-label {\n margin: 0;\n padding: 0;\n line-height: calc( 16px + 1px );\n display: inline-flex;\n align-items: flex-start;\n vertical-align: middle;\n position: relative;\n cursor: pointer;\n}\n.k-checkbox-label .k-label {\n cursor: pointer;\n}\n.k-checkbox-label:empty {\n display: none;\n}\n.k-checkbox-label.k-no-text {\n min-width: 1px;\n}\n.k-checkbox-label .k-ripple {\n top: 8px;\n left: 8px;\n right: auto;\n bottom: auto;\n width: 40px;\n height: 40px;\n transform: translate(-50%, -50%);\n border-radius: 50%;\n visibility: hidden !important;\n}\n.k-checkbox-label .k-ripple-blob {\n top: 50% !important;\n left: 50% !important;\n width: 200% !important;\n height: 200% !important;\n}\n.k-checkbox + .k-checkbox-label,\n.k-checkbox-label + .k-checkbox {\n margin-left: 4px;\n}\n.k-checkbox-label > .k-checkbox {\n margin-right: 4px;\n flex-shrink: 0;\n}\nkendo-label.k-checkbox-label > .k-checkbox:last-child {\n margin-right: 0;\n}\nkendo-label.k-checkbox-label > .k-label:first-child {\n margin-right: 4px;\n}\nkendo-label.k-checkbox-label > .k-label {\n display: inline;\n}\n.k-checkbox-list {\n margin: 0px;\n padding: 0px;\n list-style: none;\n}\n.k-checkbox-list .k-checkbox-item {\n padding: 4px 0px;\n}\n.k-list-horizontal .k-checkbox-item {\n display: inline-block;\n margin: 0 32px 0 0;\n}\n.k-list-horizontal .k-checkbox-item:last-child {\n margin-right: 0;\n}\n.k-rtl .k-checkbox + .k-checkbox-label,\n.k-rtl .k-checkbox-label + .k-checkbox,\n[dir=rtl] .k-checkbox + .k-checkbox-label,\n[dir=rtl] .k-checkbox-label + .k-checkbox {\n margin-left: 0;\n margin-right: 4px;\n}\n.k-rtl .k-checkbox-label > .k-checkbox,\n[dir=rtl] .k-checkbox-label > .k-checkbox {\n margin-right: 0;\n margin-left: 4px;\n}\n.k-rtl kendo-label.k-checkbox-label > .k-checkbox:last-child,\n[dir=rtl] kendo-label.k-checkbox-label > .k-checkbox:last-child {\n margin-left: 0;\n}\n.k-rtl kendo-label.k-checkbox-label > .k-label:first-child,\n[dir=rtl] kendo-label.k-checkbox-label > .k-label:first-child {\n margin-right: 0;\n margin-left: 4px;\n}\n.k-rtl .k-list-horizontal .k-checkbox-item,\n[dir=rtl] .k-list-horizontal .k-checkbox-item {\n margin-right: 0;\n margin-left: 32px;\n}\n.k-rtl .k-list-horizontal .k-checkbox-item:last-child,\n[dir=rtl] .k-list-horizontal .k-checkbox-item:last-child {\n margin-left: 0;\n}\n.k-ripple-container .k-checkbox::after {\n content: "";\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n width: 48px;\n height: 48px;\n margin-left: calc(-1 * (16px + 2 * 1px));\n margin-top: calc(-1 * (16px + 2 * 1px));\n border-radius: 100%;\n z-index: 1;\n transform: scale(0);\n}\n.k-ripple-container .k-checkbox:disabled::after,\n.k-ripple-container .k-checkbox.k-disabled::after {\n display: none;\n}\n.k-checkbox::-ms-check {\n border-width: 0;\n border-color: inherit;\n color: inherit;\n background-color: inherit;\n}\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .k-checkbox::-ms-check {\n border-width: 1px;\n }\n}\n.k-checkbox {\n border-color: #e4e4e4;\n color: transparent;\n background-color: #ffffff;\n}\n.k-checkbox:hover .k-checkbox.k-state-hover {\n border-color: inherit;\n}\n.k-checkbox:focus,\n.k-checkbox.k-state-focus {\n border-color: inherit;\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);\n}\n.k-checkbox:indeterminate,\n.k-checkbox.k-state-indeterminate,\n.k-checkbox.k-indeterminate {\n border-color: #e4e4e4;\n color: #38ab63;\n background-color: #ffffff;\n}\n.k-checkbox:checked,\n.k-checkbox.k-checked {\n border-color: #38ab63;\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-checkbox:checked:focus,\n.k-checkbox.k-checked.k-state-focus {\n border-color: #38ab63;\n box-shadow: 0 0 0 2px rgba(56, 171, 99, 0.3);\n}\n.k-checkbox.k-invalid,\n.k-checkbox.k-state-invalid,\n.k-checkbox.ng-invalid.ng-touched,\n.k-checkbox.ng-invalid.ng-dirty {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-checkbox.k-invalid + .k-checkbox-label,\n.k-checkbox.k-state-invalid + .k-checkbox-label,\n.k-checkbox.ng-invalid.ng-touched + .k-checkbox-label,\n.k-checkbox.ng-invalid.ng-dirty + .k-checkbox-label {\n color: #f31700;\n}\n.k-ripple-container .k-checkbox::after {\n background: #38ab63;\n opacity: 0.3;\n}\n.k-combobox {\n width: 12.4em;\n border-width: 0;\n box-sizing: border-box;\n outline: 0;\n background: none;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n text-align: left;\n white-space: nowrap;\n display: inline-flex;\n vertical-align: middle;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-combobox .k-dropdown-wrap {\n background-clip: padding-box;\n border-radius: 0;\n padding: 0;\n width: 100%;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n transition: all 0.1s ease;\n outline: 0;\n cursor: initial;\n}\n.k-combobox .k-dropdown-wrap .k-ie11 {\n background-clip: border-box;\n}\n.k-combobox .k-clear-value {\n visibility: hidden;\n}\n.k-combobox:hover .k-clear-value, .k-combobox.k-state-hover .k-clear-value, .k-combobox.k-state-focused .k-clear-value, .k-combobox.k-state-focus .k-clear-value,\n.k-combobox .k-dropdown-wrap.k-state-hover .k-clear-value,\n.k-combobox .k-dropdown-wrap.k-state-focused .k-clear-value {\n visibility: visible;\n}\n.k-combobox:focus-within .k-clear-value {\n visibility: visible;\n}\n.k-combobox .k-select {\n border-radius: 0 0 0 0;\n padding: 0px 0px;\n width: calc( 1.4285714286em + 8px );\n border-width: 0 0 0 0px;\n box-sizing: border-box;\n border-style: solid;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n text-align: center;\n cursor: pointer;\n}\n.k-combobox[dir=rtl], .k-rtl .k-combobox {\n text-align: right;\n}\n.k-combobox[dir=rtl] .k-select, .k-rtl .k-combobox .k-select {\n border-radius: 0 0 0 0;\n border-width: 0 0px 0 0;\n}\n.k-combobox .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-combobox .k-dropdown-wrap.k-invalid, .k-combobox .k-dropdown-wrap.k-invalid:hover, .k-combobox .k-dropdown-wrap.k-state-invalid {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-combobox .k-select {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #f5f5f5;\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.02));\n}\n.k-combobox > :hover,\n.k-combobox .k-state-hover {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-combobox > :hover .k-select,\n.k-combobox .k-state-hover .k-select {\n background-color: #ebebeb;\n}\n.k-combobox > .k-state-focused {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-combobox .k-state-active .k-select {\n background-color: #e1e1e1;\n}\n.k-combobox.k-state-invalid .k-dropdown-wrap, .k-combobox.ng-invalid.ng-touched .k-dropdown-wrap, .k-combobox.ng-invalid.ng-dirty .k-dropdown-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-combobox.k-state-hover .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n}\n.k-combobox.k-state-focus .k-dropdown-wrap {\n border-color: rgba(0, 0, 0, 0.16);\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);\n}\n.k-combobox.k-invalid .k-dropdown-wrap {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-toolbar {\n background-clip: padding-box;\n margin: 0;\n padding: 8px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n list-style: none;\n display: flex;\n flex-flow: row wrap;\n gap: 8px;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n overflow: hidden;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-toolbar .k-ie11 {\n background-clip: border-box;\n}\n.k-toolbar::before {\n content: "";\n height: calc( 1.4285714286em + 8px + 2px );\n -webkit-margin-start: -8px;\n margin-inline-start: -8px;\n}\n.k-toolbar.k-toolbar-resizable {\n flex-wrap: nowrap;\n}\n.k-toolbar > * {\n flex-shrink: 0;\n display: inline-flex;\n align-items: stretch;\n align-content: center;\n vertical-align: middle;\n}\n.k-toolbar > * > label {\n -webkit-margin-end: 8px;\n margin-inline-end: 8px;\n}\n.k-toolbar .k-button,\n.k-toolbar .k-button-group,\n.k-toolbar .k-separator,\n.k-toolbar .k-split-button,\n.k-toolbar .k-textbox,\n.k-toolbar .k-widget,\n.k-toolbar label {\n align-self: center;\n}\n.k-toolbar .k-split-button > .k-button {\n align-self: stretch;\n}\n.k-toolbar .k-overflow-anchor {\n border-radius: 0;\n margin: 0;\n padding: 8px;\n width: calc( calc( 1.4285714286em + 8px + 2px ) + 16px );\n height: 100%;\n border-width: 0;\n border-color: inherit;\n box-sizing: border-box;\n justify-content: center;\n position: absolute;\n top: 0;\n right: 0;\n}\n.k-toolbar .k-overflow-anchor::before {\n display: block;\n}\n.k-toolbar .k-separator,\n.k-toolbar .k-toolbar-separator {\n width: 0;\n height: 1.4285714286em;\n border-width: 0 0 0 1px;\n border-style: solid;\n}\n.k-toolbar .k-toolbar-spacer {\n height: 1.4285714286em;\n flex: 1 1 auto;\n}\n.k-toolbar .k-toolbar-template {\n align-self: center;\n align-items: center;\n}\nkendo-toolbar-renderer {\n border-color: inherit;\n}\n.k-overflow-container .k-overflow-tool-group {\n display: block;\n}\n.k-overflow-container .k-overflow-button {\n width: 100%;\n}\n.k-overflow-container .k-button-group {\n display: flex;\n flex-direction: column;\n}\n.k-overflow-container .k-button-group .k-button {\n margin: 0;\n}\n.k-overflow-container .k-split-button {\n display: flex;\n flex-direction: column;\n}\n.k-overflow-container .k-overflow-hidden {\n display: none;\n}\n.k-toolbar.k-rtl .k-overflow-anchor, .k-rtl .k-toolbar .k-overflow-anchor, .k-toolbar[dir=rtl] .k-overflow-anchor, [dir=rtl] .k-toolbar .k-overflow-anchor {\n margin: 0;\n right: auto;\n left: 0;\n}\n.k-floating-toolbar,\n.editorToolbarWindow.k-window-content {\n padding: 8px 8px !important;\n border-width: 1px;\n border-style: solid;\n display: flex;\n flex-flow: row nowrap;\n gap: 8px;\n align-items: center;\n}\n.k-floating-toolbar .k-toolbar,\n.editorToolbarWindow.k-window-content .k-toolbar {\n padding: 0;\n border-width: 0;\n color: inherit;\n background: none;\n}\n.k-editortoolbar-dragHandle {\n cursor: move;\n display: flex;\n align-items: center;\n align-self: stretch;\n flex-shrink: 0;\n}\n.k-toolbar {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-toolbar .k-overflow-anchor {\n color: inherit;\n background: transparent;\n}\n.k-toolbar .k-separator {\n border-color: inherit;\n}\n.k-toolbar .k-button.k-state-disabled::after {\n opacity: 0;\n}\n.k-floating-toolbar,\n.editorToolbarWindow.k-window-content {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-external-dropzone {\n height: 220px;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-dropzone-inner {\n background-clip: padding-box;\n padding: 8px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 13px;\n font-family: inherit;\n line-height: 1.4285714286;\n flex: 1 1 auto;\n display: flex;\n flex-flow: column nowrap;\n align-items: center;\n justify-content: center;\n position: relative;\n cursor: pointer;\n}\n.k-dropzone-inner .k-ie11 {\n background-clip: border-box;\n}\n.k-dropzone-inner > .k-icon,\n.k-dropzone-inner .k-dropzone-icon {\n margin-bottom: 24px;\n font-size: 48px;\n}\n.k-dropzone-inner .k-dropzone-hint {\n margin-bottom: 8px;\n}\n.k-dropzone-inner .k-dropzone-note {\n font-size: 12px;\n}\n.k-no-flexbox .k-dropzone-inner {\n padding-top: 48px;\n padding-bottom: 48px;\n width: 100%;\n height: 100%;\n}\n.k-no-flexbox .k-dropzone-hint,\n.k-no-flexbox .k-dropzone-note {\n display: block;\n}\n.k-dropzone-inner {\n border-color: #e4e4e4;\n color: #333;\n background-color: transparent;\n}\n.k-dropzone-inner > .k-icon,\n.k-dropzone-inner .k-dropzone-icon {\n color: #747474;\n}\n.k-dropzone-inner .k-dropzone-note {\n color: #747474;\n}\n.k-external-dropzone-hover .k-icon,\n.k-external-dropzone-hover .k-dropzone-icon {\n color: #38ab63;\n}\n.k-upload {\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n position: relative;\n display: block;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-upload .k-upload-button {\n min-width: 7em;\n}\n.k-upload .k-dropzone {\n padding: 8px 8px;\n border-width: 0;\n text-align: right;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: relative;\n background-color: transparent;\n}\n.k-upload .k-dropzone .k-dropzone-hint {\n font-style: normal;\n font-weight: normal;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n flex: 1;\n}\n.k-upload .k-dropzone .k-upload-status {\n font-weight: normal;\n display: flex;\n align-items: center;\n position: relative;\n}\n.k-upload .k-dropzone .k-upload-status > .k-icon {\n margin-right: 4px;\n}\n.k-upload .k-dropzone .k-upload-status + .k-dropzone-hint {\n display: none;\n}\n.k-upload .k-dropzone-active .k-upload-status {\n display: none;\n}\n.k-upload .k-dropzone-active .k-upload-status + .k-dropzone-hint {\n display: block;\n}\n.k-upload .k-upload-files {\n max-height: 300px;\n overflow-y: auto;\n margin: 0;\n padding: 0;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: inherit;\n list-style: none;\n}\n.k-upload .k-upload-files .k-file-multiple,\n.k-upload .k-upload-files .k-file-single {\n width: 100%;\n display: flex;\n justify-content: space-between;\n}\n.k-upload .k-upload-files .k-file-single {\n align-items: center;\n}\n.k-upload .k-upload-files .k-file-multiple {\n align-items: flex-start;\n}\n.k-upload .k-upload-files .k-file {\n padding: 8px 8px calc(8px + 2px);\n border-width: 0 0 1px;\n border-style: solid;\n outline: none;\n display: flex;\n align-items: flex-start;\n position: relative;\n}\n.k-upload .k-upload-files .k-file:last-child {\n border-width: 0;\n}\n.k-upload .k-upload-files .k-filename {\n margin-left: 1em;\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: relative;\n}\n.k-upload .k-upload-files .k-upload-status .k-icon {\n vertical-align: middle;\n}\n.k-upload .k-upload-files .k-upload-pct {\n margin: 0 4px;\n font-weight: normal;\n vertical-align: middle;\n}\n.k-upload .k-upload-files ~ .k-clear-selected,\n.k-upload .k-upload-files ~ .k-upload-selected {\n margin-top: -4px;\n border-width: 0;\n}\n.k-upload .k-upload-files ~ .k-upload-selected {\n border-left-width: 1px;\n border-left-style: solid;\n margin-left: -1px;\n}\n.k-upload .k-upload-files .k-file-name,\n.k-upload .k-upload-files .k-file-size,\n.k-upload .k-upload-files .k-file-validation-message,\n.k-upload .k-upload-files .k-file-information {\n display: block;\n}\n.k-upload .k-upload-files .k-file-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: relative;\n}\n.k-upload .k-upload-files .k-file-size,\n.k-upload .k-upload-files .k-file-information,\n.k-upload .k-upload-files .k-file-validation-message {\n font-size: 11px;\n line-height: 1;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper,\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper {\n margin: 0px 0;\n width: 24px;\n height: 34px;\n border-width: 2px;\n border-style: solid;\n font-size: 7.41px;\n text-transform: uppercase;\n box-sizing: content-box;\n position: absolute;\n top: 8px;\n}\n.k-upload .k-upload-files .k-file-group-wrapper .k-file-group,\n.k-upload .k-upload-files .k-file-invalid-group-wrapper .k-file-group,\n.k-upload .k-upload-files .k-multiple-files-group-wrapper .k-file-group,\n.k-upload .k-upload-files .k-multiple-files-invalid-group-wrapper .k-file-group {\n font-size: 32px;\n}\n.k-upload .k-upload-files .k-file-group-wrapper .k-file-state,\n.k-upload .k-upload-files .k-file-invalid-group-wrapper .k-file-state,\n.k-upload .k-upload-files .k-multiple-files-group-wrapper .k-file-state,\n.k-upload .k-upload-files .k-multiple-files-invalid-group-wrapper .k-file-state {\n position: absolute;\n}\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper {\n font-size: 1.2em;\n}\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper {\n margin-top: 4px;\n}\n.k-upload .k-upload-files .k-file-state {\n visibility: hidden;\n}\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper + .k-file-name-size-wrapper,\n.k-upload .k-upload-files .k-file-single > .k-file-extension-wrapper + .k-file-name-size-wrapper {\n margin-left: calc( 24px + 1em );\n min-height: 38px;\n display: block;\n overflow: hidden;\n}\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper + .k-file-name-size-wrapper,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper + .k-file-name-size-wrapper {\n margin-left: calc( 24px + 1em );\n}\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper {\n margin-bottom: -2px;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper .k-file-size,\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper .k-file-information,\n.k-upload .k-upload-files .k-file-extension-wrapper + .k-file-name-size-wrapper .k-file-validation-message {\n font-size: 9.432px;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::after,\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::after {\n content: "";\n border-style: solid;\n display: inline-block;\n position: absolute;\n}\n.k-upload .k-upload-files .k-file-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::before,\n.k-upload .k-upload-files .k-file-invalid-extension-wrapper::before,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::before {\n top: -1px;\n right: -1px;\n width: 0;\n height: 0;\n border-width: 6px;\n margin-top: -1px;\n margin-right: -1px;\n}\n.k-upload .k-upload-files .k-multiple-files-extension-wrapper::after,\n.k-upload .k-upload-files .k-multiple-files-invalid-extension-wrapper::after {\n top: -6px;\n left: -6px;\n width: 15px;\n height: 35px;\n border-width: 2px 0 0 2px;\n}\n.k-upload .k-upload-files .k-file-extension,\n.k-upload .k-upload-files .k-file-invalid-icon {\n position: absolute;\n bottom: 0;\n line-height: normal;\n}\n.k-upload .k-upload-files .k-file-invalid-icon {\n margin-left: 4px;\n}\n.k-upload .k-upload-files .k-file-extension {\n margin-left: 0.2em;\n margin-bottom: 0.3em;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n left: 0;\n}\n.k-upload .k-upload-files .k-upload-action {\n border-width: 0;\n color: inherit;\n background: none;\n box-shadow: none;\n}\n.k-upload .k-upload-files .k-file-name-size-wrapper {\n margin-left: 0;\n margin-right: 0;\n min-height: 32px;\n display: block;\n overflow: hidden;\n flex: 1 0 0;\n}\n.k-upload .k-file-multiple > .k-file-name-size-wrapper {\n margin-left: 8px;\n}\n.k-upload .k-multiple-files-wrapper,\n.k-upload .k-file-single > .k-file-name-size-wrapper,\n.k-upload .k-file > .k-file-name-size-wrapper {\n margin-left: 8px;\n margin-right: 0;\n min-height: 32px;\n display: block;\n overflow: hidden;\n flex: 1 0 0;\n}\n.k-upload .k-multiple-files-wrapper .k-file-name-size-wrapper {\n margin-bottom: 12px;\n display: block;\n}\n.k-upload .k-multiple-files-wrapper .k-file-information {\n margin-top: -4px;\n}\n.k-upload .k-progress {\n height: 2px;\n position: absolute;\n bottom: 0;\n left: 0;\n}\n.k-upload .k-progressbar {\n height: 2px;\n position: absolute;\n bottom: 4px;\n width: calc(100% - 8px*2);\n}\n.k-upload .k-progressbar .k-progress {\n position: absolute;\n width: 100%;\n max-width: 100%;\n height: 100%;\n}\n.k-upload .k-file-invalid > .k-progress {\n width: 100%;\n}\n.k-upload .k-actions,\n.k-upload .k-columnmenu-actions,\n.k-upload .k-action-buttons {\n border-top-width: 1px;\n}\n.k-upload[dir=rtl] .k-dropzone, .k-rtl .k-upload .k-dropzone {\n text-align: left;\n}\n.k-upload[dir=rtl] .k-dropzone .k-upload-status > .k-icon, .k-rtl .k-upload .k-dropzone .k-upload-status > .k-icon {\n margin-left: 6px;\n margin-right: 0;\n}\n.k-upload[dir=rtl] .k-multiple-files-wrapper,\n.k-upload[dir=rtl] .k-file-single > .k-file-name-size-wrapper,\n.k-upload[dir=rtl] .k-file-multiple > .k-file-name-size-wrapper,\n.k-upload[dir=rtl] .k-file > .k-file-name-size-wrapper, .k-rtl .k-upload .k-multiple-files-wrapper,\n.k-rtl .k-upload .k-file-single > .k-file-name-size-wrapper,\n.k-rtl .k-upload .k-file-multiple > .k-file-name-size-wrapper,\n.k-rtl .k-upload .k-file > .k-file-name-size-wrapper {\n margin-right: 8px;\n}\n.k-upload[dir=rtl] .k-button + .k-button, .k-rtl .k-upload .k-button + .k-button {\n border-right-width: 0;\n}\n.k-upload[dir=rtl] .k-progress, .k-rtl .k-upload .k-progress {\n left: auto;\n right: 0;\n}\n.k-upload-button {\n position: relative;\n overflow: hidden;\n direction: ltr;\n}\n.k-upload-button input {\n font: 170px monospace !important;\n margin: 0;\n padding: 0;\n opacity: 0;\n cursor: pointer;\n position: absolute;\n bottom: 0;\n right: 0;\n z-index: 1;\n}\n.k-upload-button input[disabled],\n.k-upload-button input.k-state-disabled {\n visibility: hidden;\n}\n.k-ie9 .k-upload-status-total {\n top: 1.5em;\n}\n.k-ie9 .k-upload-status-total > .k-icon {\n margin-top: -3px;\n}\n.k-no-flexbox .k-upload-files .k-file-multiple,\n.k-no-flexbox .k-upload-files .k-file-single {\n display: block;\n width: 100%;\n}\n.k-no-flexbox .k-upload-files .k-upload-status {\n position: absolute;\n right: 8px;\n top: 8px;\n}\n.k-no-flexbox .k-upload-files .k-file-group-wrapper,\n.k-no-flexbox .k-upload-files .k-file-invalid-group-wrapper,\n.k-no-flexbox .k-upload-files .k-multiple-files-group-wrapper,\n.k-no-flexbox .k-upload-files .k-multiple-files-invalid-group-wrapper {\n position: absolute;\n top: 8px;\n}\n.k-no-flexbox .k-upload-files .k-multiple-files-wrapper,\n.k-no-flexbox .k-upload-files .k-file-single > .k-file-name-size-wrapper,\n.k-no-flexbox .k-upload-files .k-file > .k-file-name-size-wrapper {\n margin-left: calc( 32px + 8px );\n margin-right: calc( (calc( 1.4285714286em + 8px + 2px ) + 8px * 2) + 2em );\n}\n.k-no-flexbox .k-dropzone {\n position: relative;\n text-align: left;\n}\n.k-no-flexbox .k-dropzone .k-upload-button {\n display: inline-block;\n}\n.k-no-flexbox .k-dropzone .k-dropzone-hint,\n.k-no-flexbox .k-dropzone .k-upload-status-total {\n position: absolute;\n top: 50%;\n right: 8px;\n transform: translateY(-50%);\n}\n.k-no-flexbox [dir=rtl] .k-dropzone-hint,\n.k-no-flexbox [dir=rtl] .k-upload-status-total,\n.k-no-flexbox [dir=rtl] .k-upload-files .k-upload-status,\n.k-no-flexbox .k-rtl .k-dropzone-hint,\n.k-no-flexbox .k-rtl .k-upload-status-total,\n.k-no-flexbox .k-rtl .k-upload-files .k-upload-status {\n right: auto;\n left: 8px;\n}\n.k-no-flexbox [dir=rtl] .k-multiple-files-wrapper,\n.k-no-flexbox [dir=rtl] .k-file-single > .k-file-name-size-wrapper,\n.k-no-flexbox [dir=rtl] .k-file > .k-file-name-size-wrapper,\n.k-no-flexbox .k-rtl .k-multiple-files-wrapper,\n.k-no-flexbox .k-rtl .k-file-single > .k-file-name-size-wrapper,\n.k-no-flexbox .k-rtl .k-file > .k-file-name-size-wrapper {\n margin-left: calc( (calc( 1.4285714286em + 8px + 2px ) + 8px * 2) + 2em );\n margin-right: calc( 32px + 8px );\n}\n.k-upload {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-upload .k-dropzone {\n border-color: rgba(0, 0, 0, 0.08);\n color: #333;\n background-color: transparent;\n}\n.k-upload .k-dropzone.k-dropzone-hover, .k-upload .k-dropzone.k-dropzone-hovered {\n background-color: transparent;\n}\n.k-upload .k-dropzone .k-dropzone-hint {\n color: #666666;\n}\n.k-upload .k-upload-files,\n.k-upload .k-file {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-upload .k-file.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-upload .k-file .k-upload-action.k-state-focused {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-upload .k-upload-status {\n color: #666666;\n}\n.k-upload .k-file-progress .k-file-name {\n color: #424242;\n}\n.k-upload .k-file-progress .k-progress {\n background-color: #0058e9;\n}\n.k-upload .k-file-success .k-progress {\n background-color: #37b400;\n}\n.k-upload .k-file-error .k-file-validation-message,\n.k-upload .k-file-invalid .k-file-validation-message {\n color: #f31700;\n}\n.k-upload .k-file-error .k-progress,\n.k-upload .k-file-invalid .k-progress {\n background-color: #f31700;\n}\n.k-upload .k-file-extension-wrapper,\n.k-upload .k-multiple-files-extension-wrapper,\n.k-upload .k-file-group-wrapper,\n.k-upload .k-multiple-files-group-wrapper,\n.k-upload .k-file-invalid-extension-wrapper,\n.k-upload .k-multiple-files-invalid-extension-wrapper,\n.k-upload .k-file-invalid-group-wrapper,\n.k-upload .k-multiple-files-invalid-group-wrapper {\n color: #666666;\n border-color: #666666;\n}\n.k-upload .k-file-invalid-extension-wrapper,\n.k-upload .k-multiple-files-invalid-extension-wrapper,\n.k-upload .k-file-error .k-file-extension-wrapper,\n.k-upload .k-file-invalid-group-wrapper,\n.k-upload .k-multiple-files-invalid-group-wrapper,\n.k-upload .k-file-error .k-file-group-wrapper {\n border-color: #666666;\n}\n.k-upload .k-file-extension-wrapper::before,\n.k-upload .k-multiple-files-extension-wrapper::before,\n.k-upload .k-file-invalid-extension-wrapper::before,\n.k-upload .k-multiple-files-invalid-extension-wrapper::before,\n.k-upload .k-file-error .k-file-extension-wrapper::before {\n background-color: #ffffff;\n border-color: transparent transparent #666666 #666666;\n}\n.k-upload .k-multiple-files-extension-wrapper::after,\n.k-upload .k-multiple-files-invalid-extension-wrapper::after {\n border-top-color: #666666;\n border-left-color: #666666;\n}\n.k-upload .k-file-size,\n.k-upload .k-file-validation-message,\n.k-upload .k-file-information {\n color: #666666;\n}\n.k-upload .k-multiple-files-wrapper .k-file-information {\n color: #424242;\n}\n.k-upload.k-state-invalid, .k-upload.ng-invalid.ng-touched, .k-upload.ng-invalid.ng-dirty {\n border-color: rgba(243, 23, 0, 0.5);\n}\n.k-overlay {\n width: 100%;\n height: 100%;\n opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 10001;\n}\n.k-overlay {\n background-color: #000000;\n}\n.k-overlay-primary {\n background-color: #38ab63;\n}\n.k-overlay-secondary {\n background-color: #666666;\n}\n.k-overlay-tertiary {\n background-color: #03a9f4;\n}\n.k-overlay-info {\n background-color: #0058e9;\n}\n.k-overlay-success {\n background-color: #37b400;\n}\n.k-overlay-warning {\n background-color: #ffc000;\n}\n.k-overlay-error {\n background-color: #f31700;\n}\n.k-overlay-dark {\n background-color: #424242;\n}\n.k-overlay-light {\n background-color: #ebebeb;\n}\n.k-overlay-inverse {\n background-color: #424242;\n}\n.k-form,\n.k-form-inline {\n font-size: 13px;\n line-height: 1.4285714286;\n}\n.k-fieldset {\n margin: 30px;\n border-width: 1px 0 0;\n border-style: solid;\n padding: 25px 0 0;\n}\n.k-fieldset > legend {\n margin-left: 0;\n padding: 0 8px 0 0;\n text-transform: uppercase;\n}\nkendo-label > .k-label {\n margin: 0;\n}\n.k-label-optional {\n margin-left: 6px;\n font-size: 12px;\n font-style: italic;\n align-self: center;\n}\n.k-label-empty::before {\n content: "";\n display: inline-block;\n}\n.k-input-label {\n margin-right: 10px;\n z-index: 1;\n}\n.k-input-label:dir(rtl), .k-rtl .k-input-label, .k-input-label.k-rtl, [dir=rtl] .k-input-label, .k-input-label[dir=rtl] {\n margin-right: 0;\n margin-left: 10px;\n}\n.k-form {\n border: 0;\n}\n.k-form .k-label,\n.k-form kendo-label,\n.k-form .k-form-label {\n margin-bottom: 0px;\n display: flex;\n flex-flow: row nowrap;\n}\n.k-form .k-checkbox-label,\n.k-form .k-radio-label {\n display: inline-flex;\n}\n.k-form .k-label + .k-radio {\n margin-left: 0;\n}\n.k-form .k-form-fieldset {\n margin: 2rem 0 0;\n padding: 0px;\n border: 0;\n}\n.k-form .k-form-fieldset > *:first-child {\n margin-top: 0;\n}\n.k-form .k-form-legend {\n margin: 0 0 1rem;\n padding: 0px;\n border-width: 0 0 2px;\n border-style: solid;\n width: 100%;\n font-size: 14px;\n text-transform: uppercase;\n}\n.k-form .k-form-group {\n padding: 0;\n}\n.k-form .k-form-field,\n.k-form .k-form-buttons,\n.k-form .k-daterangepicker .k-textbox-container {\n margin-top: 1rem;\n}\n.k-form > *:first-child,\n.k-form .k-daterangepicker .k-textbox-container:first-child {\n margin-top: 0;\n}\n.k-form .k-form-field,\n.k-form .k-form-field-wrap {\n display: block;\n}\n.k-form .k-form-field-disabled .k-label,\n.k-form .k-form-field-disabled .k-form-label {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-form .k-alert-error {\n font-size: 12px;\n margin-top: 8px;\n}\n.k-form .k-field-info {\n display: inline-block;\n font-size: 10px;\n line-height: 1;\n margin: 0 8px;\n}\n.k-form .k-textbox,\n.k-form .k-textarea,\n.k-form .k-autocomplete,\n.k-form .k-combobox,\n.k-form .k-dropdown,\n.k-form .k-multiselect,\n.k-form .k-dateinput,\n.k-form .k-datepicker,\n.k-form .k-datetimepicker,\n.k-form .k-daterangepicker-wrap,\n.k-form .k-timepicker,\n.k-form .k-numerictextbox,\n.k-form .k-maskedtextbox,\n.k-form .k-textbox-container,\n.k-form .k-floating-label-container {\n display: flex;\n width: 100%;\n}\n.k-form-buttons {\n display: flex;\n}\n.k-form-buttons > * {\n margin-right: 8px;\n}\n.k-form-buttons > *:last-child {\n margin-right: 0;\n}\n.k-form-hint,\n.k-form-error {\n margin-top: 4px;\n display: flex;\n font-size: 12px;\n font-style: italic;\n}\n.k-text-start,\n.k-buttons-start {\n justify-content: flex-start;\n}\n.k-text-end,\n.k-buttons-end {\n justify-content: flex-end;\n}\n.k-form-separator {\n margin: 1rem 0 0;\n border-width: 1px 0 0;\n border-style: solid;\n display: block;\n flex: 0 0 auto;\n}\n.k-form-horizontal .k-form-field {\n display: flex;\n}\n.k-form-horizontal .k-form-field > .k-label,\n.k-form-horizontal .k-form-field > kendo-label,\n.k-form-horizontal .k-form-field > .k-form-label {\n margin-right: 10px;\n padding-top: 5px;\n width: 25%;\n flex-direction: column;\n align-items: flex-end;\n justify-content: flex-start;\n}\n.k-form-horizontal .k-form-field .k-label-optional {\n margin: 0;\n align-self: inherit;\n}\n.k-form-horizontal .k-form-field-wrap {\n max-width: calc( ( 100% - 25% ) - 10px );\n flex: 1 1 auto;\n}\n.k-form-horizontal .k-form-buttons {\n margin-top: 2rem;\n}\n.k-form [dir=rtl] .k-form-buttons > *, .k-form [dir=rtl].k-form-buttons > *, .k-rtl .k-form .k-form-buttons > *, .k-rtl .k-form.k-form-buttons > * {\n margin-right: 0;\n margin-left: 8px;\n}\n.k-form [dir=rtl] .k-form-buttons > *:last-child, .k-form [dir=rtl].k-form-buttons > *:last-child, .k-rtl .k-form .k-form-buttons > *:last-child, .k-rtl .k-form.k-form-buttons > *:last-child {\n margin-left: 0;\n}\n.k-form [dir=rtl] .k-label-optional, .k-rtl .k-form .k-label-optional {\n margin-left: 0;\n margin-right: 6px;\n}\n.k-form-horizontal [dir=rtl].k-form-field > .k-label,\n.k-form-horizontal [dir=rtl].k-form-field > kendo-label,\n.k-form-horizontal [dir=rtl].k-form-field > .k-form-label,\n.k-form-horizontal [dir=rtl] .k-form-field > .k-label,\n.k-form-horizontal [dir=rtl] .k-form-field > kendo-label,\n.k-form-horizontal [dir=rtl] .k-form-field > .k-form-label, .k-rtl .k-form-horizontal.k-form-field > .k-label,\n.k-rtl .k-form-horizontal.k-form-field > kendo-label,\n.k-rtl .k-form-horizontal.k-form-field > .k-form-label,\n.k-rtl .k-form-horizontal .k-form-field > .k-label,\n.k-rtl .k-form-horizontal .k-form-field > kendo-label,\n.k-rtl .k-form-horizontal .k-form-field > .k-form-label {\n margin-right: 0;\n margin-left: 10px;\n}\n.k-form-inline {\n padding: 16px;\n}\n.k-form-inline fieldset {\n border-width: 1px 0 0;\n border-style: solid;\n margin: 32px 0;\n padding: 0;\n}\n.k-form-inline fieldset:first-child:first-of-type {\n margin-top: 0;\n}\n.k-form-inline fieldset:last-child:last-of-type {\n margin-bottom: 0;\n}\n.k-form-inline legend {\n font-size: 12px;\n text-align: left;\n font-weight: 600;\n line-height: 1;\n margin-bottom: 12px;\n text-transform: uppercase;\n padding: 0 8px 0 0;\n width: auto;\n}\n.k-form-inline .k-form-field {\n display: flex;\n align-items: flex-start;\n text-align: left;\n margin-bottom: 12px;\n}\n.k-form-inline .k-form-field > span:not(.k-widget) {\n width: 25%;\n text-align: right;\n line-height: 1.4285714286;\n padding: calc( 4px + 1px ) 0;\n padding-right: 12px;\n align-self: center;\n}\n.k-form-inline .k-form-field > input {\n align-self: center;\n}\n.k-form-inline .k-form-field > input:not(.k-checkbox):not(.k-radio) {\n flex: 1 1 auto;\n}\n.k-form-inline .k-form-field .k-alert-error {\n font-size: 12px;\n margin-top: 8px;\n}\n.k-form-inline .k-form-field .k-field-info {\n display: block;\n font-size: 10px;\n line-height: 1;\n margin: 0;\n}\n.k-form-inline .k-form-field:last-child {\n margin-bottom: 0;\n}\n.k-edit-form-container {\n width: 400px;\n min-width: 400px;\n border-color: inherit;\n position: relative;\n}\n.k-edit-form-container .k-tabstrip-wrapper {\n margin: -16px -16px;\n}\n.k-edit-form-container .k-tabstrip.k-root-tabs {\n margin-bottom: 16px;\n}\n.k-edit-form-container .k-tabstrip .k-tabstrip-items {\n padding: 16px 16px 0;\n}\n.k-edit-form-container .k-tabstrip .k-content {\n padding: 16px 16px;\n border-width: 0;\n}\n.k-edit-buttons {\n padding: 8px 8px;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: inherit;\n text-align: right;\n clear: both;\n}\n.k-edit-buttons .k-button + .k-button {\n margin-left: 0.5em;\n}\n.k-edit-form-container .k-edit-buttons {\n margin: 16px -16px -16px;\n padding: 16px 16px;\n}\n.k-popup-edit-form > .k-action-buttons,\n.k-edit-form-container .k-action-buttons {\n margin: 1em -16px -16px;\n}\n.k-edit-label {\n margin: 0 0 1em 0;\n padding: calc( 4px + 1px ) 0;\n width: 30%;\n line-height: 1.4285714286;\n text-align: right;\n float: left;\n clear: both;\n}\n.k-edit-field {\n margin: 0 0 1em 0;\n width: 65%;\n float: right;\n clear: right;\n position: relative;\n}\n.k-edit-field.k-no-editor {\n padding: calc( 4px + 1px ) 0;\n}\n.k-edit-field > .k-widget,\n.k-edit-field > .k-textbox,\n.k-edit-field > .k-textarea {\n width: 100%;\n box-sizing: border-box;\n}\n.k-edit-field > .k-colorpicker {\n width: auto;\n}\n.k-edit-field input[type=radio]:not(.k-radio),\n.k-edit-field input[type=checkbox]:not(.k-checkbox) {\n margin-right: 0.4ex;\n}\n.k-edit-field .k-radio-label,\n.k-edit-field .k-checkbox-label {\n margin-right: 1em;\n}\n.k-edit-field > .k-reset > li + li {\n margin-top: 0.5em;\n}\n.k-edit-field .k-reset .k-widget {\n margin: 0 0.4ex 0 1ex;\n}\n.k-rtl .k-edit-buttons {\n text-align: left;\n}\n.k-rtl .k-edit-buttons .k-button + .k-button {\n margin-left: 0;\n margin-right: 0.5em;\n}\n.k-widget.form-control {\n padding: 0;\n}\n.k-widget.form-control,\n.k-maskedtextbox.form-control .k-textbox,\n.k-textbox.form-control {\n width: 100%;\n}\n.k-multiselect.form-control {\n height: auto;\n}\n.input-group .k-dateinput-wrap,\n.input-group .k-dropdown-wrap,\n.input-group .k-multiselect-wrap,\n.input-group .k-numeric-wrap,\n.input-group .k-picker-wrap,\n.input-group .k-maskedtextbox .k-textbox {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group .k-dateinput-wrap .k-select,\n.input-group .k-dropdown-wrap .k-select,\n.input-group .k-multiselect-wrap .k-select,\n.input-group .k-numeric-wrap .k-select,\n.input-group .k-picker-wrap .k-select,\n.input-group .k-maskedtextbox .k-textbox .k-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group .k-widget.form-control,\n.input-group .k-maskedtextbox.form-control .k-textbox,\n.input-group .k-textbox.form-control {\n width: auto;\n}\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-dateinput-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-dropdown-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-multiselect-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-numeric-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) .k-picker-wrap,\n.input-group .k-widget.form-control:not(:first-child):not(:last-child) > .k-textbox {\n border-radius: 0;\n}\n.input-group-prepend + .k-widget .k-dateinput-wrap,\n.input-group-prepend + .k-widget .k-dropdown-wrap,\n.input-group-prepend + .k-widget .k-multiselect-wrap,\n.input-group-prepend + .k-widget .k-numeric-wrap,\n.input-group-prepend + .k-widget .k-picker-wrap,\n.input-group-prepend + .k-widget > .k-textbox {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.k-widget.form-control .k-input {\n padding: 0.5rem 0.75rem;\n height: 2.25rem;\n}\n.k-widget.form-control-sm .k-input {\n padding: 0.25rem 0.5rem;\n height: 1.8125rem;\n}\n.k-widget.form-control-sm .k-dateinput-wrap .k-select,\n.k-widget.form-control-sm .k-dropdown-wrap .k-select,\n.k-widget.form-control-sm .k-picker-wrap .k-select {\n padding: 0.25rem;\n}\n.k-widget.form-control-sm .k-select {\n width: 1.8125rem;\n}\n.k-widget.form-control-lg .k-input {\n padding: 0.5rem 1rem;\n height: 2.875rem;\n}\n.k-widget.form-control-lg .k-dateinput-wrap .k-select,\n.k-widget.form-control-lg .k-dropdown-wrap .k-select,\n.k-widget.form-control-lg .k-picker-wrap .k-select {\n padding: 0.5rem;\n}\n.k-widget.form-control-lg .k-select {\n width: 2.875rem;\n}\n.k-maskedtextbox.form-control .k-textbox {\n height: calc( 2.25rem + 2px );\n padding: 0.5rem 0.75rem;\n}\n.k-maskedtextbox.form-control-sm .k-textbox {\n height: calc( 1.8125rem + 3px );\n padding: 0.25rem 0.5rem;\n line-height: 1.5;\n}\n.k-maskedtextbox.form-control-lg .k-textbox {\n height: calc( 2.875rem + 2px );\n padding: 0.5rem 1rem;\n line-height: 1.5;\n}\n.k-textbox.form-control {\n height: calc( 2.25rem + 2px );\n padding: 0.5rem 0.75rem;\n}\n.k-textbox.form-control-sm {\n height: calc( 1.8125rem + 2px );\n padding: 0.25rem 0.5rem;\n line-height: 1.5;\n}\n.k-textbox.form-control-lg {\n height: calc( 2.875rem + 2px );\n padding: 0.5rem 1rem;\n line-height: 1.5;\n}\n.k-dateinput.form-control-sm .k-link-increase > .k-icon,\n.k-numerictextbox.form-control-sm .k-link-increase > .k-icon {\n bottom: -2px;\n}\n.k-dateinput.form-control-sm .k-link-decrease > .k-icon,\n.k-numerictextbox.form-control-sm .k-link-decrease > .k-icon {\n top: -2px;\n}\n.k-dateinput.form-control-sm .k-link,\n.k-numerictextbox.form-control-sm .k-link {\n height: 0.90625rem;\n}\n.k-dateinput.form-control-lg .k-link,\n.k-numerictextbox.form-control-lg .k-link {\n height: 1.4375rem;\n}\n.k-dateinput.form-control .k-dateinput-wrap .k-select {\n padding-top: 0;\n padding-bottom: 0;\n}\n.k-form,\n.k-form-inline {\n color: #424242;\n}\n.k-form fieldset legend,\n.k-form-inline fieldset legend {\n color: #373737;\n}\n.k-form .k-form-legend,\n.k-form-inline .k-form-legend {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-form .k-field-info,\n.k-form-inline .k-field-info {\n color: #666666;\n}\n.k-form .k-alert-error,\n.k-form-inline .k-alert-error {\n color: #f31700;\n}\n.k-form-error,\n.k-text-error,\n.k-form-field-error .k-label {\n color: #f31700;\n}\n.k-form-separator {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-window {\n background-clip: padding-box;\n border-radius: 0px;\n padding: 0;\n border-width: 0px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.25;\n display: inline-flex;\n flex-direction: column;\n position: absolute;\n z-index: 10002;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-window .k-ie11 {\n background-clip: border-box;\n}\n.k-window.k-window-maximized {\n max-width: 100vw;\n max-height: 100vh;\n box-shadow: none;\n}\n.k-window-sm {\n width: 300px;\n}\n.k-window-md {\n width: 800px;\n}\n.k-window-lg {\n width: 1200px;\n}\n.k-window-titlebar {\n background-clip: padding-box;\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n padding: 12px 16px;\n border-width: 0 0 1px;\n border-style: solid;\n white-space: nowrap;\n display: flex;\n flex-direction: row;\n flex-shrink: 0;\n align-items: center;\n}\n.k-window-titlebar .k-ie11 {\n background-clip: border-box;\n}\n.k-window-minimized .k-window-titlebar {\n border-width: 0;\n}\n.k-window-title {\n padding: 0.5em 0;\n margin: -0.5em 0;\n font-size: 18px;\n line-height: 1.1111111111;\n text-overflow: ellipsis;\n overflow: hidden;\n cursor: default;\n flex: 1;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n.k-window-title::before {\n content: "​";\n}\n.k-window-actions {\n margin: -5em 0;\n -webkit-margin-end: calc( 12px - 16px );\n margin-inline-end: calc( 12px - 16px );\n line-height: 1;\n display: flex;\n flex-flow: row nowrap;\n flex-shrink: 0;\n align-items: center;\n vertical-align: top;\n}\n.k-window-action {\n flex-shrink: 0;\n}\n.k-window-content,\n.k-prompt-container {\n padding: 16px 16px;\n border-width: 0;\n border-color: inherit;\n color: inherit;\n background: none;\n outline: 0;\n overflow: auto;\n position: relative;\n flex: 1 1 auto;\n}\n.k-window-content + .k-prompt-container {\n margin-top: -8px;\n}\n.k-window-content:first-child {\n padding-top: max( 16px, 12px );\n}\n.k-window-content:last-child {\n padding-bottom: max( 16px, 12px );\n}\n.k-window-iframecontent {\n padding: 0;\n overflow: visible;\n}\n.k-window-iframecontent .k-content-frame {\n vertical-align: top;\n border: 0;\n width: 100%;\n height: 100%;\n}\n.k-window-buttongroup {\n border-bottom-right-radius: 0px;\n border-bottom-left-radius: 0px;\n padding: 8px 8px;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: inherit;\n flex: 0 0 auto;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n flex-wrap: wrap;\n overflow: hidden;\n}\n.k-prompt-container > .k-textbox,\n.k-prompt-container > .k-textarea {\n width: 100%;\n}\n.k-window .k-resize-n {\n top: 0;\n}\n.k-window .k-resize-e {\n right: 0;\n}\n.k-window .k-resize-s {\n bottom: 0;\n}\n.k-window .k-resize-w {\n left: 0;\n}\n.k-window {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.06);\n}\n.k-window:focus, .k-window.k-state-focused {\n box-shadow: 1px 1px 7px 1px rgba(0, 0, 0, 0.3);\n}\n.k-window-titlebar {\n border-color: inherit;\n color: #333;\n background-color: transparent;\n}\n.k-editor {\n background-clip: padding-box;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n display: flex;\n flex-flow: column nowrap;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-editor .k-ie11 {\n background-clip: border-box;\n}\ntable.k-editor {\n width: 100%;\n display: table;\n vertical-align: top;\n table-layout: fixed;\n border-collapse: separate;\n border-spacing: 0;\n}\ntable.k-editor tbody,\ntable.k-editor tr,\ntable.k-editor td {\n border-color: inherit;\n}\nkendo-editor .k-editor-content {\n z-index: 1;\n}\nkendo-editor.k-readonly {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\nkendo-editor.k-readonly > .k-content,\nkendo-editor.k-readonly .k-editor-content {\n pointer-events: auto;\n}\nkendo-editor.k-readonly .k-editor-content.k-state-focused {\n outline-width: 1px;\n outline-style: dashed;\n}\n.k-editor-inline {\n border-radius: 0;\n padding: 2px 4px;\n border: 1px solid transparent;\n word-wrap: break-word;\n overflow: auto;\n background: none;\n}\n.k-window.k-editor-widget {\n padding: 0;\n}\n.k-editor > .k-toolbar {\n border-width: 0 0 1px 0;\n flex-shrink: 0;\n}\n.k-editor-toolbar {\n border-width: 0 0 1px 0;\n}\n.k-editor-toolbar .k-tool-group .k-widget ~ .k-widget {\n -webkit-margin-start: 8px;\n margin-inline-start: 8px;\n}\n.k-editor-toolbar .k-tool {\n padding: 4px;\n width: calc( 1.4285714286em + 8px + 2px );\n height: calc( 1.4285714286em + 8px + 2px );\n}\n.k-editor-toolbar .k-tool-text {\n display: none;\n}\n.k-editor-toolbar .k-overflow-tools {\n margin: 0;\n position: absolute;\n top: 0;\n right: 0;\n visibility: hidden;\n}\n.k-editor-toolbar .k-overflow-anchor {\n border-width: 0;\n padding: 8px;\n width: calc( calc( 1.4285714286em + 8px + 2px ) + 16px );\n height: calc( calc( 1.4285714286em + 8px + 2px ) + 16px );\n position: relative;\n}\n.k-editor-toolbar .k-editor-export .k-icon {\n margin-right: 0.25em;\n}\n.k-editor-toolbar .k-editor-export .k-icon,\n.k-editor-toolbar .k-editor-export .k-export-tool-text {\n vertical-align: middle;\n}\n.k-editor-content {\n flex: 1 1 auto;\n overflow-y: auto;\n}\n.k-editor-content > .k-iframe {\n width: 100%;\n height: 100%;\n border-width: 0;\n display: block;\n}\n.k-editor-content > .ProseMirror {\n padding: 8px;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n outline: none;\n white-space: pre-wrap;\n overflow: auto;\n}\n.k-editor-content > .ProseMirror table {\n white-space: pre-wrap;\n}\n.k-editor-content > .ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #666666;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.k-editable-area {\n padding: 4px;\n width: 100%;\n height: 100%;\n border-width: 0;\n outline: 0;\n}\n.k-editable-area iframe.k-content {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n border-width: 0;\n background: none;\n display: block;\n}\n.k-resizable .k-editable-area {\n padding: 4px 4px 16px;\n}\n.k-edit-form-content {\n flex: 1 1 auto;\n overflow: auto;\n margin: -16px -16px;\n padding: 16px 16px;\n}\n.k-ct-popup {\n box-sizing: border-box;\n width: 190px;\n padding: 5px;\n}\n.k-ct-popup .k-button {\n width: 100%;\n}\n.k-ct-popup .k-ct-cell {\n margin: 1px;\n width: 20px;\n height: 20px;\n box-sizing: border-box;\n border: 1px solid;\n border-color: inherit;\n display: inline-block;\n vertical-align: top;\n overflow: hidden;\n opacity: 0.7;\n pointer-events: all;\n}\n.k-editor .k-resize-handle {\n position: absolute;\n right: 0;\n bottom: 0;\n padding: 0;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 0 13px 13px;\n border-color: transparent;\n border-bottom-color: inherit;\n cursor: se-resize;\n}\n.k-editor .k-resize-handle .k-i-arrow-45-down-right {\n display: none;\n}\n.k-rtl .k-editor .k-editor-widget .k-dropdown-wrap {\n padding-left: 0;\n}\n.k-rtl .k-editor .k-editor-widget .k-dropdown-wrap .k-select {\n border-width: 0;\n}\n.k-editor-find-replace .k-content {\n position: relative;\n}\n.k-editor-find-replace .k-edit-form-container {\n display: inline-block;\n}\n.k-editor-find-replace .k-edit-form-container .k-edit-label {\n text-align: left;\n}\n.k-editor-find-replace .k-action-buttons {\n padding: 0;\n}\n.k-editor-find-replace .k-search-options {\n display: flex;\n flex-direction: column;\n padding: 10px 0 40px 0;\n}\n.k-editor-find-replace .k-search-options > span {\n padding-bottom: 4px;\n}\n.k-editor-find-replace .k-matches-container {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n.k-editor-dialog {\n box-sizing: border-box;\n}\n.k-editor-dialog .k-edit-form-container {\n width: auto;\n}\n.k-editor-dialog .k-edit-label {\n width: 30%;\n padding: calc( 4px + 1px ) 0;\n}\n.k-editor-dialog .k-edit-field {\n width: 66%;\n}\n.k-textarea.k-editor-textarea {\n width: 100%;\n height: 100%;\n resize: none;\n}\n.k-filebrowser-dialog {\n display: flex;\n}\n.k-filebrowser-dialog .k-edit-form-container {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n}\n.k-filebrowser-dialog .k-edit-label {\n width: 18%;\n}\n.k-filebrowser-dialog .k-edit-field {\n width: 75%;\n}\n.k-filebrowser {\n max-width: 100%;\n}\n.k-filebrowser .k-floatwrap {\n display: flex;\n}\n.k-filebrowser .k-floatwrap::after {\n display: none;\n}\n.k-filebrowser .k-breadcrumbs {\n flex: 1;\n}\n.k-filebrowser .k-search-wrap {\n margin: 0 0 0 1em;\n width: 150px;\n display: flex;\n align-items: center;\n}\n.k-filebrowser .k-search-wrap .k-input {\n flex: 1;\n width: 100px;\n}\n.k-filebrowser .k-search-wrap .k-icon {\n margin: 0;\n position: static;\n}\n.k-filebrowser .k-filebrowser-toolbar {\n margin: 1em 0 0 0;\n}\n.k-filebrowser .k-upload {\n padding: 0;\n border-width: 0;\n background: none;\n}\n.k-filebrowser .k-upload .k-upload-button {\n margin: 0;\n}\n.k-filebrowser .k-upload .k-upload-status {\n display: none;\n}\n.k-filebrowser .k-upload-files {\n display: none;\n}\n.k-filebrowser .k-tiles {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n height: 390px;\n max-height: 50vh;\n margin: 0 0 1em 0;\n padding: 4px 8px;\n border-top-width: 0;\n overflow: auto;\n}\n.k-filebrowser .k-tile {\n width: 33%;\n height: 90px;\n padding: 4px 8px;\n box-sizing: border-box;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n border-radius: 0;\n}\n.k-filebrowser .k-tile .k-i-file,\n.k-filebrowser .k-tile .k-i-folder {\n font-size: 4em;\n}\n.k-filebrowser .k-tile input {\n width: 100px;\n}\n.k-filebrowser .k-tile strong {\n display: block;\n font-weight: 400;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.k-filebrowser .k-tile-empty {\n display: block;\n margin: auto;\n}\n.k-filebrowser .k-tile-empty.k-state-selected {\n color: inherit;\n border-width: 0;\n background-image: none;\n background-color: transparent;\n}\n.k-filebrowser .k-tile-empty strong {\n opacity: 0.5;\n font-size: 3em;\n font-weight: 400;\n}\n.k-filebrowser .k-thumb {\n float: left;\n margin-right: 4px;\n}\n.k-filebrowser .k-breadcrumbs-wrap {\n position: absolute;\n left: 8px;\n top: 4px;\n}\n.k-filebrowser .k-breadcrumbs-wrap .k-icon {\n position: static;\n margin-top: 0;\n}\n.k-editor-table-wizard-dialog {\n display: flex;\n}\n.k-editor-table-wizard-dialog .k-edit-form-container {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n}\n.k-editor-table-wizard-dialog .k-tabstrip-wrapper {\n display: flex;\n flex: 1 1 auto;\n overflow: auto;\n}\n.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-tabstrip.k-root-tabs {\n flex: 1 1 auto;\n margin-bottom: 0;\n}\n.k-editor-table-wizard-dialog .k-numerictextbox {\n width: 10em;\n}\n.k-editor-table-wizard-dialog .k-numerictextbox + .k-dropdown {\n width: 4em;\n}\n.k-editor-table-wizard-dialog .k-numerictextbox + .k-colorpicker, .k-editor-table-wizard-dialog .k-numerictextbox + .k-dropdown {\n margin-left: 4px;\n}\n.k-editor-table-wizard-dialog .k-colorpicker {\n vertical-align: middle;\n}\n.k-editor-table-wizard-dialog .k-edit-field > .k-checkbox {\n position: relative;\n}\n.k-editor-table-wizard-dialog .k-dropdown.k-align {\n width: auto;\n}\n.k-editor-table-wizard-dialog .k-textbox.k-editor-accessibility-summary {\n height: auto;\n}\n.k-popup.k-align .k-list {\n display: flex;\n flex-flow: row wrap;\n}\n.k-popup.k-align .k-list .k-item {\n padding: 4px;\n height: calc( 1.4285714286em + 8px + 2px );\n box-sizing: border-box;\n justify-content: center;\n flex: 1 0 33%;\n}\n.k-popup.k-align .k-list .k-item .k-icon {\n margin: 0;\n}\n.k-popup.k-align .k-list .k-item:last-child {\n flex: 1 0 100%;\n}\n.k-editor-inline .k-table {\n width: 100%;\n border-spacing: 0;\n margin: 0 0 1em;\n}\n.k-editor-inline .k-table, .k-editor-inline .k-table td {\n outline: 0;\n border-width: 1px;\n border-style: dotted;\n}\n.k-editor-inline .k-table td {\n min-width: 1px;\n padding: 2px 4px;\n}\n.k-editor-inline .k-element-resize-handle-wrapper {\n position: absolute;\n width: 5px;\n height: 5px;\n border-width: 1px;\n border-style: solid;\n z-index: 100;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle {\n width: 100%;\n height: 100%;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-east {\n cursor: e-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-north {\n cursor: n-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northeast {\n cursor: ne-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-northwest {\n cursor: nw-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-south {\n cursor: s-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southeast {\n cursor: se-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-southwest {\n cursor: sw-resize;\n}\n.k-editor-inline .k-element-resize-handle-wrapper .k-element-resize-handle.k-resize-west {\n cursor: w-resize;\n}\n.k-editor-inline .k-column-resize-handle-wrapper {\n position: absolute;\n height: 10px;\n width: 10px;\n cursor: col-resize;\n z-index: 2;\n}\n.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle {\n width: 100%;\n height: 100%;\n}\n.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {\n width: 2px;\n height: 100%;\n margin: 0 auto;\n display: none;\n opacity: 0.8;\n}\n.k-editor-inline .k-row-resize-handle-wrapper {\n position: absolute;\n z-index: 2;\n cursor: row-resize;\n width: 10px;\n height: 10px;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-handle {\n display: table;\n width: 100%;\n height: 100%;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker-wrapper {\n display: table-cell;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n vertical-align: middle;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {\n display: none;\n margin: 0;\n padding: 0;\n width: 100%;\n height: 2px;\n opacity: 0.8;\n}\n.k-editor {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\nkendo-editor.k-readonly .k-editor-content.k-state-focused {\n outline-color: #424242;\n}\n.k-editor-inline .k-table, .k-editor-inline .k-table td {\n border-color: #cccccc;\n}\n.k-editor-inline .k-element-resize-handle-wrapper {\n background-color: #ffffff;\n border-color: #000000;\n}\n.k-editor-inline .k-column-resize-handle-wrapper .k-column-resize-handle .k-column-resize-marker {\n background-color: #00b0ff;\n}\n.k-editor-inline .k-row-resize-handle-wrapper .k-row-resize-marker {\n background-color: #00b0ff;\n}\n.k-editor-inline:hover, .k-editor-inline.k-state-active {\n border-color: rgba(0, 0, 0, 0.08);\n}\n.k-ct-popup .k-state-selected {\n border-color: inherit;\n color: inherit;\n background-color: transparent;\n background-image: none;\n}\n.k-editor-content::-moz-selection {\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-editor-content .k-text-selected, .k-editor-content::selection {\n color: #ffffff;\n background-color: #38ab63;\n}\n.k-editor-content .k-text-highlighted {\n background-color: #d7eee0;\n}\n.k-editor-find-replace .k-matches-container {\n background-color: rgba(66, 66, 66, 0.1);\n}\n.k-tabstrip-wrapper {\n padding: 0px 0px;\n border-width: 0px;\n border-style: solid;\n display: flex;\n flex-direction: column;\n}\n.k-tabstrip {\n border-width: 0;\n border-color: transparent;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 13px;\n line-height: 1.4285714286;\n color: inherit;\n background-color: transparent;\n display: flex;\n flex-direction: column;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-tabstrip-wrapper > .k-tabstrip {\n flex: 1 1 auto;\n}\n.k-tabstrip-items {\n border-width: 0;\n border-style: solid;\n border-color: inherit;\n outline: 0;\n display: flex;\n flex-direction: row;\n flex: 0 0 auto;\n position: relative;\n}\n.k-tabstrip-items .k-item {\n margin: 0;\n padding: 0;\n border: 1px solid transparent;\n position: relative;\n flex-shrink: 0;\n display: flex;\n flex-direction: row;\n align-items: stretch;\n justify-items: stretch;\n outline: 0;\n}\n.k-tabstrip-items .k-tab-on-top {\n z-index: 1;\n}\n.k-tabstrip-items .k-link {\n padding: 6px 12px;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n vertical-align: middle;\n flex: 1 1 auto;\n flex-direction: row;\n align-content: center;\n align-items: center;\n}\n.k-tabstrip-items .k-remove-tab-link,\n.k-tabstrip-items .k-link[data-type=remove] {\n padding: 6px;\n flex: none;\n}\n.k-ie11 .k-tabstrip-items {\n white-space: nowrap;\n}\n.k-tabstrip-content,\n.k-tabstrip > .k-content {\n padding: 6px 12px;\n border-width: 1px;\n border-style: solid;\n border-color: inherit;\n display: none;\n overflow: auto;\n flex: 1 1 auto;\n}\n.k-tabstrip-content.k-state-active,\n.k-tabstrip > .k-content.k-state-active {\n display: block;\n}\n.k-tabstrip-content:focus, .k-tabstrip-content.k-state-focused,\n.k-tabstrip > .k-content:focus,\n.k-tabstrip > .k-content.k-state-focused {\n outline-width: 1px;\n outline-style: dotted;\n outline-offset: -1px;\n}\n.k-tabstrip-items .k-loading {\n width: 20%;\n height: 0;\n border: 0;\n border-top: 1px solid transparent;\n border-color: inherit;\n background: none;\n position: absolute;\n top: 0;\n left: 0;\n transition: width 0.2s linear;\n}\n.k-tabstrip-items .k-loading.k-complete {\n width: 100%;\n border-top-width: 0;\n}\n.k-tabstrip.k-tabstrip-scrollable {\n position: relative;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-content,\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-content {\n border-width: 1px;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-items {\n border-width: 0;\n white-space: nowrap;\n overflow: hidden;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-prev {\n position: absolute;\n left: 0;\n}\n.k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-next {\n position: absolute;\n right: 0;\n}\n.k-ie11 .k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-prev,\n.k-ie11 .k-tabstrip.k-tabstrip-scrollable > .k-tabstrip-next {\n top: 0;\n}\n.k-tabstrip-top > .k-tabstrip-items {\n border-bottom-width: 1px;\n}\n.k-tabstrip-top > .k-tabstrip-items .k-item {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n margin-bottom: -1px;\n}\n.k-tabstrip-top > .k-tabstrip-items .k-item + .k-item {\n margin-left: 0px;\n}\n.k-tabstrip-top > .k-tabstrip-items .k-item.k-state-active {\n border-bottom-color: transparent;\n}\n.k-tabstrip-top > .k-content,\n.k-tabstrip-top > .k-tabstrip-content {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-width: 0;\n}\n.k-tabstrip-bottom > .k-tabstrip-items {\n border-top-width: 1px;\n}\n.k-tabstrip-bottom > .k-tabstrip-items .k-item {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n margin-top: -1px;\n}\n.k-tabstrip-bottom > .k-tabstrip-items .k-item + .k-item {\n margin-left: 0px;\n}\n.k-tabstrip-bottom > .k-tabstrip-items .k-item.k-state-active {\n border-top-color: transparent;\n}\n.k-tabstrip-bottom > .k-content,\n.k-tabstrip-bottom > .k-tabstrip-content {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-width: 0;\n}\n.k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-prev,\n.k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-next {\n bottom: 0;\n}\n.k-ie11 .k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-prev,\n.k-ie11 .k-tabstrip-bottom.k-tabstrip-scrollable .k-tabstrip-next {\n top: auto;\n}\n.k-tabstrip-left {\n flex-direction: row;\n}\n.k-tabstrip-left > .k-tabstrip-items {\n border-right-width: 1px;\n display: inline-flex;\n flex-direction: column;\n}\n.k-tabstrip-left > .k-tabstrip-items .k-item {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin-right: -1px;\n}\n.k-tabstrip-left > .k-tabstrip-items .k-item + .k-item {\n margin-top: 0px;\n}\n.k-tabstrip-left > .k-tabstrip-items .k-item.k-state-active {\n border-right-color: transparent;\n}\n.k-tabstrip-left > .k-content,\n.k-tabstrip-left > .k-tabstrip-content {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n margin: 0 !important;\n border-left-width: 0;\n}\n.k-tabstrip-right {\n flex-direction: row-reverse;\n}\n.k-tabstrip-right > .k-tabstrip-items {\n border-left-width: 1px;\n display: inline-flex;\n flex-direction: column;\n}\n.k-tabstrip-right > .k-tabstrip-items .k-item {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n margin-left: -1px;\n}\n.k-tabstrip-right > .k-tabstrip-items .k-item + .k-item {\n margin-top: 0px;\n}\n.k-tabstrip-right > .k-tabstrip-items .k-item.k-state-active {\n border-left-color: transparent;\n}\n.k-tabstrip-right > .k-content,\n.k-tabstrip-right > .k-tabstrip-content {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n margin: 0 !important;\n border-right-width: 0;\n}\n.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-items, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-items,\n.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-items,\n.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-items {\n order: 1;\n}\n.k-rtl .k-tabstrip.k-tabstrip-left > .k-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-content,\n.k-tabstrip[dir=rtl].k-tabstrip-left > .k-content,\n.k-tabstrip[dir=rtl].k-tabstrip-right > .k-content {\n order: 0;\n}\n.k-rtl .k-tabstrip.k-tabstrip-left > .k-tabstrip-content, .k-rtl .k-tabstrip.k-tabstrip-right > .k-tabstrip-content,\n.k-tabstrip[dir=rtl].k-tabstrip-left > .k-tabstrip-content,\n.k-tabstrip[dir=rtl].k-tabstrip-right > .k-tabstrip-content {\n order: 0;\n}\n.k-rtl .k-tabstrip .k-tabstrip-prev,\n.k-tabstrip[dir=rtl] .k-tabstrip-prev {\n left: auto;\n right: 0;\n transform: scaleX(-1);\n}\n.k-rtl .k-tabstrip .k-tabstrip-next,\n.k-tabstrip[dir=rtl] .k-tabstrip-next {\n left: 0;\n right: auto;\n transform: scaleX(-1);\n}\n.k-tabstrip-items {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n}\n.k-tabstrip-items .k-item {\n color: #38ab63;\n}\n.k-tabstrip-items .k-item:hover, .k-tabstrip-items .k-item.k-state-hover {\n color: #2f9053;\n}\n.k-tabstrip-items .k-item.k-state-active, .k-tabstrip-items .k-item.k-state-selected {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-tabstrip-items .k-item.k-state-focused {\n box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.13);\n}\n.k-tabstrip > .k-content {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-tabstrip > .k-content:focus, .k-tabstrip > .k-content.k-state-focused {\n outline-color: #424242;\n}\n:root .k-widget::-moz-selection, :root .k-widget ::-moz-selection {\n color: #333;\n background: #DCECF5;\n}\n:root .k-widget::selection,\n:root .k-widget ::selection {\n color: #333;\n background: #DCECF5;\n}\n:root .k-widget .k-input,\n:root .k-widget .k-editor-toolbar .k-dropdown-wrap,\n:root .k-widget .k-colorpicker .k-picker-wrap {\n font-size: var(--font-size-lg);\n}\n:root .k-widget .k-input,\n:root .k-widget .k-textbox,\n:root .k-widget .k-colorpicker .k-picker-wrap, :root .k-widget.k-datepicker .k-picker-wrap, :root .k-widget.k-timepicker .k-picker-wrap {\n height: 36px;\n text-indent: 0;\n}\n:root .k-widget.k-datepicker .k-input, :root .k-widget.k-timepicker .k-input {\n height: auto;\n}\n:root .k-widget .k-colorpicker .k-picker-wrap {\n border-color: var(--input-border);\n}\n:root .k-widget textarea.k-input,\n:root .k-widget textarea.k-textbox {\n min-height: 80px;\n padding: 8px 10px;\n}\n:root .k-widget.k-datepicker .k-select, :root .k-widget.k-timepicker .k-select, :root .k-widget.k-datetimepicker .k-select, :root .k-widget.k-dateinput .k-select {\n background: 0;\n}\n:root .k-overlay {\n background-color: #fff;\n opacity: 1 !important;\n}\n:root .k-button:active, :root .k-button.k-state-active, :root .k-button.k-state-selected {\n box-shadow: none;\n background: none;\n}\n:root .k-button.k-primary, :root .k-button.k-primary:active {\n background-image: none;\n}\n:root .k-dropdown .k-state-focused {\n color: #333;\n background-color: transparent;\n box-shadow: none;\n}\n:root .k-popup {\n background-color: #fff;\n}\n.-sf-modal-window-open .k-widget, .-sf-modal-window-open .k-popup, .-sf-modal-window-open .k-animation-container {\n --font-size-h1: 42px;\n --font-size-h4-lg: 14px;\n --font-size-lg: 15px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n}','@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n:root .k-dateinput .k-dateinput-wrap {\n color: #333;\n}\n:root .k-datepicker,\n:root .k-timepicker {\n font-size: 14px;\n}\n:root .k-datepicker:hover,\n:root .k-timepicker:hover {\n background-color: transparent;\n}\n:root .k-datepicker.-small,\n:root .k-timepicker.-small {\n width: 105px;\n}\n:root .k-datepicker.-medium,\n:root .k-timepicker.-medium {\n width: 140px;\n}\n:root .k-datepicker.k-state-disabled,\n:root .k-timepicker.k-state-disabled {\n opacity: 1;\n filter: grayscale(0);\n}\n:root .k-datepicker.k-state-disabled .k-input,\n:root .k-timepicker.k-state-disabled .k-input {\n background-color: #f5f5f5;\n color: #ccc;\n}\n:root .k-datepicker .k-input,\n:root .k-timepicker .k-input {\n inline-size: 100%;\n}\n:root .k-datepicker .k-picker-wrap,\n:root .k-timepicker .k-picker-wrap {\n display: flex;\n align-items: center;\n margin-right: 35px;\n border-color: var(--input-border);\n transition: border-color 0.3s;\n}\n:root .k-datepicker .k-picker-wrap.k-state-focused,\n:root .k-timepicker .k-picker-wrap.k-state-focused {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\n:root .k-datepicker .k-picker-wrap.k-state-focused .k-select,\n:root .k-timepicker .k-picker-wrap.k-state-focused .k-select {\n background-color: transparent;\n}\n:root .k-datepicker .k-picker-wrap.k-state-focused .k-icon,\n:root .k-timepicker .k-picker-wrap.k-state-focused .k-icon {\n color: #333;\n background-color: var(--date-time-icon-border-color);\n}\n:root .k-datepicker .k-picker-wrap .k-dateinput,\n:root .k-timepicker .k-picker-wrap .k-dateinput {\n height: 100%;\n}\n:root .k-datepicker .k-picker-wrap .k-select,\n:root .k-timepicker .k-picker-wrap .k-select {\n position: absolute;\n right: -35px;\n padding: 0;\n border-radius: 50%;\n}\n:root .k-datepicker .k-icon,\n:root .k-timepicker .k-icon {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--icon-size-xs);\n width: 24px;\n height: 24px;\n color: var(--date-time-icon-color);\n border: 1px solid var(--date-time-icon-border-color);\n border-radius: 50%;\n transition: background-color 0.3s, color 0.3s;\n}\n:root .k-datepicker .k-icon:hover,\n:root .k-timepicker .k-icon:hover {\n color: #333;\n background-color: var(--date-time-icon-border-color);\n}\n:root .k-datepicker .k-icon.k-i-calendar:before,\n:root .k-timepicker .k-icon.k-i-calendar:before {\n content: "\\";\n}\n:root .k-datepicker .k-icon.k-i-clock,\n:root .k-timepicker .k-icon.k-i-clock {\n font-size: var(--icon-size-s);\n}\n:root .k-datepicker .k-icon.k-i-clock:before,\n:root .k-timepicker .k-icon.k-i-clock:before {\n content: "\\";\n}\n:root .k-datepicker .k-state-focused,\n:root .k-timepicker .k-state-focused {\n box-shadow: none;\n}\n:root .k-calendar * {\n box-sizing: content-box;\n}\n:root .k-calendar th {\n font-size: var(--font-size-h5);\n background: none;\n text-transform: capitalize;\n font-weight: bold;\n}\n:root .k-calendar td {\n color: #333;\n}\n:root .k-calendar td.k-state-focused .k-link {\n box-shadow: none;\n}\n:root .k-calendar .k-today .k-link {\n color: inherit;\n box-shadow: none;\n}\n:root .k-calendar .k-content {\n color: var(--date-time-content-color);\n}\n:root .k-calendar .k-content th {\n padding-top: 8px;\n padding-bottom: 8px;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-navigation {\n background-color: #f5f5f5;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-navigation:after, :root .k-calendar:not(.k-infinite) .k-calendar-navigation:before {\n display: none;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-header .k-today {\n color: #006CD9;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-header .k-today:hover {\n color: #333;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview,\n:root .k-calendar:not(.k-infinite) .k-calendar-view {\n height: 21.07143em;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview:after {\n display: none;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-calendar-weekdays {\n width: 100%;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-calendar-weekdays thead {\n counter-reset: #777;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-calendar-weekdays thead,\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-weekend,\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-content th {\n opacity: 1;\n}\n:root .k-calendar:not(.k-infinite) .k-calendar-monthview .k-weekend {\n color: #777;\n background-color: transparent;\n}\n:root .k-calendar:not(.k-infinite) .k-content .k-today {\n color: #333;\n}\n:root .k-calendar:not(.k-infinite) .k-content .k-reset li:hover {\n color: #777;\n}\n:root .k-calendar:not(.k-infinite) .k-content .k-state-selected {\n box-shadow: none;\n}\n:root .k-calendar:not(.k-infinite) .k-link {\n border-radius: 50%;\n}\n:root .k-calendar:not(.k-infinite) .k-state-focused .k-link {\n background-color: transparent;\n box-shadow: inset 0 0 0 1px var(--input-border);\n}\n:root .k-calendar:not(.k-infinite) .k-state-selected .k-link {\n background-color: #DCECF5;\n color: #333;\n}\n:root .k-time-header .k-time-now {\n color: #006CD9;\n text-transform: uppercase;\n}\n:root .k-time-header .k-time-now:hover {\n color: #333;\n}\n:root .k-time-header .k-button.k-bare {\n padding: 0;\n}\n:root .k-time-header .k-button.k-bare:hover:before,\n:root .k-time-header .k-button.k-bare:active:before,\n:root .k-time-header .k-button.k-bare:active:after,\n:root .k-time-header .k-button.k-bare:focus::after,\n:root .k-time-header .k-button.k-bare.k-state-hover:before,\n:root .k-time-header .k-button.k-bare.k-state-active:before,\n:root .k-time-header .k-button.k-bare.k-state-active:after,\n:root .k-time-header .k-button.k-bare.k-state-focused::after {\n opacity: 0;\n}\n:root .k-time-list-container .k-time-list-wrapper {\n background-color: #fff;\n width: 5.25em;\n box-sizing: content-box;\n}\n:root .k-time-list-container .k-time-list-wrapper ul {\n width: auto;\n}\n:root .k-time-list-container .k-time-list-wrapper .k-title {\n color: #777;\n background-color: transparent;\n border-bottom: 1px solid var(--input-border);\n}\n:root .k-time-list-container .k-time-list-wrapper.k-state-focused:before, :root .k-time-list-container .k-time-list-wrapper.k-state-focused:after {\n background-color: #f5f5f5;\n}\n:root .k-time-list-container .k-time-list-wrapper.k-state-focused .k-title {\n color: #333;\n}\n:root .k-time-list-container .k-time-list:after, :root .k-time-list-container .k-time-list:before {\n display: none;\n}\n:root .k-time-list-container .k-time-list .k-item:hover {\n color: #333;\n}\n:root .k-time-footer.k-action-buttons {\n border-top: 1px solid #e4e4e4;\n margin-top: 0;\n}\n:root .k-time-footer.k-action-buttons .k-time-accept {\n color: #006CD9;\n background: none;\n border: none;\n justify-content: flex-start;\n}\n:root .k-time-footer.k-action-buttons .k-time-accept:hover, :root .k-time-footer.k-action-buttons .k-time-accept:focus, :root .k-time-footer.k-action-buttons .k-time-accept:active {\n color: #333;\n background-color: transparent;\n box-shadow: none;\n}\n:root .k-animation-container {\n box-shadow: 0 2px 4px 0 #ededee, 0 4px 5px 0 #ededee;\n}\n:root .-empty input {\n color: var(--input-placeholder-color);\n}\n:root .-input-only {\n margin-right: 0;\n}\n:root .-input-only .k-picker-wrap {\n margin-right: 0;\n}\n:root .-input-only .k-select {\n display: none;\n}'],encapsulation:2}),DateTimePickerComponent}(r.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"EventDatesService",(function(){return i}));var o=n(229),i=function(){function EventDatesService(){}return EventDatesService.prototype.getEventEndForAllDayEvent=function(e,t){if(t){var n=new Date(t);return n.setDate(n.getDate()-1),n}return new Date(e)},EventDatesService.prototype.getDateWithoutBrowserOffset=function(e){if(!e)return null;var t,n=(t=e instanceof Date?e:new Date(e)).getTimezoneOffset();return t.setMinutes(t.getMinutes()+n),t},EventDatesService.prototype.resetTime=function(e){return e&&e.setHours(0,0,0,0),e},EventDatesService.ɵfac=function EventDatesService_Factory(e){return new(e||EventDatesService)},EventDatesService.ɵprov=o["ɵɵdefineInjectable"]({token:EventDatesService,factory:EventDatesService.ɵfac}),EventDatesService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DateTimePickerConstants",(function(){return o})),n.d(t,"DEFAULT_DATE_FORMAT",(function(){return i})),n.d(t,"DEFAULT_TIME_FORMAT",(function(){return r})),n.d(t,"DATE_FORMATS_WHITELIST",(function(){return a})),n.d(t,"TIME_FORMATS_WHITELIST",(function(){return s}));var o=function(){function DateTimePickerConstants(){}return DateTimePickerConstants.MONTH_FORMAT="MM/yyyy",DateTimePickerConstants.VIEW={MONTH:"month",YEAR:"year",DECADE:"decade",CENTURY:"century"},DateTimePickerConstants}(),i="M/d/yyyy",r="h:mm a",a=["yyyy-MM-dd","yyyy/MM/dd","yyyy.MM.dd","yyyy MM dd","yyyy/M/d","yyyy-M-d","yyyy/M.d","yyyy M d","dd/MM/yyyy","dd-MM-yyyy","dd.MM.yyyy","dd MM yyyy","d/M/yyyy","d-M-yyyy","d.M.yyyy","d M yyyy","M/d/yyyy","M-d-yyyy","M.d.yyyy","M d yyyy","MM/dd/yyyy","MM-dd-yyyy","MM.dd.yyyy","MM dd yyyy","yy-MM-dd","yy/MM/dd","yy.MM.dd","yy MM dd","yy/M/d","yy-M-d","yy/M.d","yy M d","dd/MM/yy","dd-MM-yy","dd.MM.yy","dd MM yy","d/M/yy","d-M-yy","d.M.yy","d M yy","M/d/yy","M-d-yy","M.d.yy","M d yy","MM/dd/yy","MM-dd-yy","MM.dd.yy","MM dd yy","d MMM yyyy","d-MMM-yyyy","MMM d yyyy","MMM-d-yyyy"],s=["H:mm","HH:mm","H:mm:ss","HH:mm:ss","h:mm a","hh:mm a","h:mm:ss a","hh:mm:ss a"]},function(e,t,n){"use strict";n.r(t),n.d(t,"DateTimeFormatsProvider",(function(){return f}));var o=n(1241),i=n(11),r=n(131),a=n(315),s=n(280),A=n(278),l=n(373),c=n(244),d=n(1239),p=n(229),f=function(){function DateTimeFormatsProvider(e,t,n,o,i){this.envService=e,this.urlService=t,this.http=n,this.appConfigService=o,this.window=i}return DateTimeFormatsProvider.prototype.getDateAndTimeFormats=function(){var e,t={dateFormat:d.DEFAULT_DATE_FORMAT,timeFormat:d.DEFAULT_TIME_FORMAT},n=null===(e=this.appConfigService)||void 0===e?void 0:e.externalConfig;if(n&&n.dateTimeFormat){if(n.dateTimeFormat.useBrowserLocale){var o=this.window.navigator.language,a="/assets/date-time-formats/date-time-formats.json";return this.envService.getEnvironment()===s.environmentTypes.integration&&(a=this.urlService.getResourceUrl(a)),this.http.get(a).pipe(Object(r.map)((function(e){if(e){var i=e.json().find((function(e){return e.Culture===o}));if(i)"long"===n.dateTimeFormat.browserLocaleFormatWidth.toLowerCase()?(t.timeFormat=i.LongTimePattern,t.dateFormat=i.LongDatePattern):(t.timeFormat=i.ShortTimePattern,t.dateFormat=i.ShortDatePattern);return t}})))}n.dateTimeFormat.dateFormat&&d.DATE_FORMATS_WHITELIST.includes(n.dateTimeFormat.dateFormat)&&(t.dateFormat=n.dateTimeFormat.dateFormat),n.dateTimeFormat.timeFormat&&d.TIME_FORMATS_WHITELIST.includes(n.dateTimeFormat.timeFormat)&&(t.timeFormat=n.dateTimeFormat.timeFormat)}return new i.BehaviorSubject(t)},DateTimeFormatsProvider.ɵfac=function DateTimeFormatsProvider_Factory(e){return new(e||DateTimeFormatsProvider)(p["ɵɵinject"](A.EnvironmentService),p["ɵɵinject"](l.UrlService),p["ɵɵinject"](o.Http),p["ɵɵinject"](a.ExternalAppConfigService),p["ɵɵinject"](c.WINDOW_TOKEN))},DateTimeFormatsProvider.ɵprov=p["ɵɵdefineInjectable"]({token:DateTimeFormatsProvider,factory:DateTimeFormatsProvider.ɵfac}),DateTimeFormatsProvider}()},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"TextAreaComponent",(function(){return A}));var o=n(259),i=n(336),r=n(354),a=n(229),s=n(324),A=function(e){function TextAreaComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.type="textarea",t}return Object(o.__extends)(TextAreaComponent,e),TextAreaComponent.prototype.onFocus=function(){e.prototype.onFocus.call(this),this.inputComponent&&this.inputComponent.focus()},TextAreaComponent.ɵfac=function TextAreaComponent_Factory(e){return l(e||TextAreaComponent)},TextAreaComponent.ɵcmp=a["ɵɵdefineComponent"]({type:TextAreaComponent,selectors:[["sf-text-area"]],viewQuery:function TextAreaComponent_Query(e,t){if(1&e&&a["ɵɵviewQuery"](r.SfInputComponent,3),2&e){var n;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.inputComponent=n.first)}},features:[a["ɵɵInheritDefinitionFeature"]],decls:1,vars:7,consts:[["ngDefaultControl","",3,"ngModel","name","placeholder","recommendedCharacters","showCharCounter","type","look","ngModelChange","onFocus","onBlur"]],template:function TextAreaComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"sf-input",0),a["ɵɵlistener"]("ngModelChange",(function TextAreaComponent_Template_sf_input_ngModelChange_0_listener(e){return t.value=e}))("onFocus",(function TextAreaComponent_Template_sf_input_onFocus_0_listener(){return t.onFocus()}))("onBlur",(function TextAreaComponent_Template_sf_input_onBlur_0_listener(){return t.onBlur()})),a["ɵɵelementEnd"]()),2&e&&a["ɵɵproperty"]("ngModel",t.value)("name",t.settings.key)("placeholder",t.settings.placeholder)("recommendedCharacters",t.settings.recommendedCharacters)("showCharCounter",t.settings.showCharCounter)("type",t.type)("look",t.settings.look)},directives:[r.SfInputComponent,s.DefaultValueAccessor,s.NgControlStatus,s.NgModel],encapsulation:2}),TextAreaComponent}(i.FieldBase),l=a["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"EditorReadonlyComponent",(function(){return m}));var o=n(259),i=n(229),r=n(336),a=n(246),s=n(364),A=n(365),l=n(369),c=n(363),d=n(244),p=n(354),f=n(261),u=["editorHost"],_c1=function(e){return{"-collapsed":e}};function EditorReadonlyComponent_a_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"a",3),i["ɵɵlistener"]("click",(function EditorReadonlyComponent_a_3_Template_a_click_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().toggleExpandButton()})),i["ɵɵelementStart"](1,"span",4),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](3,_c1,o.isCollapsed)),i["ɵɵattribute"]("title",o.isCollapsed?"Expand":"Collapse"),i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](o.isCollapsed?o.expandButtonText:o.collapseButtonText)}}var m=function(e){function EditorReadonlyComponent(t,n){var o=e.call(this)||this;return o.scrollService=t,o.windowProvider=n,o.cssClass="sf-editor k-editor-inline -read-only",o.isCollapsed=!0,o.isExpandButtonVisible=!1,o.expandButtonText=c.EXPAND_BUTTON_TEXT,o.collapseButtonText=c.COLLAPSE_BUTTON_TEXT,o}return Object(o.__extends)(EditorReadonlyComponent,e),EditorReadonlyComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.generateCssClassList(),this.value||(this.value=a.stringConstants.EMPTY_STRING),this.editorHostRef.nativeElement.innerHTML=this.value;var n=this.windowProvider.setInterval((function(){t.checkContentCollapse(),t.windowProvider.clearInterval(n)}),c.KENDO_EDITOR_LOAD_TIME)},EditorReadonlyComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.initialValue=t},EditorReadonlyComponent.prototype.generateCssClassList=function(){this.settings.look&&(this.cssClass+=" -"+this.settings.look.split(" ").join(" -"))},EditorReadonlyComponent.prototype.checkContentCollapse=function(e){void 0===e&&(e=!0);var t=this.editorHostRef.nativeElement.scrollHeight>c.EDITOR_COLLAPSE_OFFSET_HEIGHT;t&&(this.collapseAnimationState="closed",this.isCollapsed=e),this.isExpandButtonVisible=t},EditorReadonlyComponent.prototype.toggleExpandButton=function(){if(this.isCollapsed=!this.isCollapsed,this.isCollapsed){var e=this.editorHostRef.nativeElement.getBoundingClientRect(),t=document.documentElement.scrollTop-Math.abs(e.top)-150;this.scrollService.scrollToPoint(t,c.EDITOR_COLLAPSE_ANIMATION_SPEED)}else this.checkContentCollapse(!1)},EditorReadonlyComponent.ɵfac=function EditorReadonlyComponent_Factory(e){return new(e||EditorReadonlyComponent)(i["ɵɵdirectiveInject"](l.ScrollService),i["ɵɵdirectiveInject"](d.WINDOW_TOKEN))},EditorReadonlyComponent.ɵcmp=i["ɵɵdefineComponent"]({type:EditorReadonlyComponent,selectors:[["ng-component"]],viewQuery:function EditorReadonlyComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](u,3),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.editorHostRef=n.first)}},features:[i["ɵɵInheritDefinitionFeature"]],decls:4,vars:4,consts:[["sfTextDirection","",1,"sf-input","-rich-text","k-widget","k-editor","k-editor-inline",3,"textDirectionValue"],["editorHost",""],["class","sf-expand-button",3,"ngClass","click",4,"ngIf"],[1,"sf-expand-button",3,"ngClass","click"],[1,"sf-expand-button__content"]],template:function EditorReadonlyComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵelement"](1,"div",null,1),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,EditorReadonlyComponent_a_3_Template,3,5,"a",2)),2&e&&(i["ɵɵproperty"]("textDirectionValue",t.initialValue)("@slideOpen",t.isCollapsed?t.collapseAnimationState:"open"),i["ɵɵadvance"](1),i["ɵɵattribute"]("class",t.cssClass),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",t.isExpandButtonVisible))},directives:[p.SfTextDirectionDirective,f.NgIf,f.NgClass],styles:['@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.-sf-contrast .k-widget, .k-popup, .k-animation-container {\n --color-h2: #696969;\n --color-h5: #696969;\n --color-error: #d40808;\n --color-success: #0E874C;\n --link-secondary-color: #696969;\n --link-side-secondary-color-active: #000;\n --link-side-secondary-color-hover: #000;\n --link-side-secondary-color: #696969;\n --link-color: #005FCC;\n --button-border-color: #cbcbcb;\n --button-interaction-border-color: #cbcbcb;\n --button-disabled-border-color: #f0f0f0;\n --button-disabled-color: #e4e4e4;\n --action-button-border-color: #0E874C;\n --action-button-background-color: #0E874C;\n --action-button-interaction-border-color: #006e33;\n --action-button-interaction-background-color: #006e33;\n --action-button-disabled-border-color: #b7dbca;\n --action-button-disabled-background-color: #b7dbca;\n --delete-button-border-color: #d40808;\n --delete-button-background-color: #d40808;\n --delete-button-interaction-border-color: #bb0000;\n --delete-button-interaction-background-color: #bb0000;\n --delete-button-disabled-border-color: #f2b5b5;\n --delete-button-disabled-background-color: #f2b5b5;\n --date-time-icon-border-color: #cbcbcb;\n --date-time-icon-color: #696969;\n --date-time-content-color: #696969;\n --default-icon-color: #696969;\n --icon-lighter-color: #cbcbcb;\n --icon-light-color: #cbcbcb;\n --icon-illustrative-font-color: #cbcbcb;\n --icon-positive-color: #0E874C;\n --icon-badge-add-color: #333;\n --icon-badge-add-bg-color: #fff;\n --icon-badge-add-border-color: #cbcbcb;\n --status-icon-color-published: #0E874C;\n --status-icon-color-restricted: #d40808;\n --status-bg-color-default: #FF8151;\n --status-icon-color-system: #cbcbcb;\n --status-icon-color-scheduled: #005FCC;\n --badge-white-border-color: #cbcbcb;\n --badge-color-bg-positive: #0E874C;\n --badge-color-bg-negative: #d40808;\n --badge-add-variation-bg-color: #fff;\n --badge-add-variation-border-color: #cbcbcb;\n --badge-add-variation-hover: #e4e4e4;\n --badge-add-variation-border-hover: #cbcbcb;\n --badge-add-variation-color: #333;\n --badge-edit-variation-bg-color: #005FCC;\n --badge-edit-variation-hover: #004faa;\n --badge-color: #333;\n --secondary-text-color: #696969;\n --input-placeholder-color: #696969;\n --input-title-placeholder-color: #909090;\n --input-border: #696969;\n --input-border-hover: #696969;\n --input-char-counter-success-color: #0E874C;\n --input-char-counter-error-color: #d40808;\n --select-border-color: #696969;\n --select-arrow-color: #696969;\n --checkbox-checked-border: #696969;\n --checkbox-border: #696969;\n --checkbox-border-hover: #696969;\n --dropdown-border: #cbcbcb;\n --dropdown-item-counter-neutral: #696969;\n --image-empty-border: #696969;\n --not-translated-image-label-bg: #696969;\n --input-box-shadow-hover: #696969;\n --tree-list-expander-color: #696969;\n}\nbody.-sf-contrast {\n --sf-footer-color: #696969;\n --sf-topbar-color: #696969;\n --sf-h5-color: #696969;\n --sf-navigation-border-color: #cbcbcb;\n --sf-user-info-border-color: #cbcbcb;\n --sf-navigation-caret: #666;\n --sf-live-link: #0E874C;\n --sf-green-main: #0E874C;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.k-widget .sf-modal-window, .k-popup .sf-modal-window, .k-animation-container .sf-modal-window {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n}\n.k-widget .sf-modal-window.-prompt, .k-popup .sf-modal-window.-prompt, .k-animation-container .sf-modal-window.-prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n flex-wrap: wrap;\n}\n.k-widget .sf-modal-window.-no-selection::after, .k-popup .sf-modal-window.-no-selection::after, .k-animation-container .sf-modal-window.-no-selection::after {\n display: block;\n content: " ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: #DCECF5;\n z-index: 1;\n}\n.k-widget .sf-modal-window:not(.-prompt), .k-popup .sf-modal-window:not(.-prompt), .k-animation-container .sf-modal-window:not(.-prompt) {\n padding-bottom: 66px;\n}\n.k-widget .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-prompt) .sf-modal-window__content {\n padding-top: 100px;\n}\n.k-widget .sf-modal-window__head-buttons, .k-popup .sf-modal-window__head-buttons, .k-animation-container .sf-modal-window__head-buttons {\n position: fixed;\n top: 8px;\n right: 15px;\n z-index: 1000000;\n}\n.k-widget .sf-modal-window__top-toolbar, .k-popup .sf-modal-window__top-toolbar, .k-animation-container .sf-modal-window__top-toolbar {\n z-index: 10000000;\n}\n.k-widget .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content {\n padding-left: 50px;\n padding-right: 50px;\n}\n.k-widget .sf-modal-window__buttons, .k-popup .sf-modal-window__buttons, .k-animation-container .sf-modal-window__buttons {\n background-color: #fff;\n}\n.k-widget .sf-modal-window__buttons.-border-top, .k-popup .sf-modal-window__buttons.-border-top, .k-animation-container .sf-modal-window__buttons.-border-top {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window__buttons.-bottom, .k-popup .sf-modal-window__buttons.-bottom, .k-animation-container .sf-modal-window__buttons.-bottom {\n padding-top: 15px;\n padding-bottom: 15px;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-popup .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-animation-container .sf-modal-window.-no-padding-top .sf-modal-window__content {\n padding-top: 0;\n}\n.k-widget .sf-modal-window.-narrow .sf-modal-window__content, .k-popup .sf-modal-window.-narrow .sf-modal-window__content, .k-animation-container .sf-modal-window.-narrow .sf-modal-window__content {\n width: 850px;\n margin: 0 auto;\n}\n.k-widget .sf-modal-window.-preview, .k-popup .sf-modal-window.-preview, .k-animation-container .sf-modal-window.-preview {\n padding-bottom: 0;\n}\n.k-widget .sf-modal-window.-preview .sf-modal-window__content, .k-popup .sf-modal-window.-preview .sf-modal-window__content, .k-animation-container .sf-modal-window.-preview .sf-modal-window__content {\n background-color: #f5f5f5;\n padding-top: 46px;\n min-height: 100vh;\n}\n.k-widget .sf-modal-window__content, .k-popup .sf-modal-window__content, .k-animation-container .sf-modal-window__content {\n background-color: #fff;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.k-widget, .k-popup, .k-animation-container {\n --date-time-icon-border-color: #e4e4e4;\n --date-time-icon-color: #777;\n --date-time-content-color: #656565;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-border-color: #e4e4e4;\n}\nbody {\n --sf-footer-color: #ccc;\n --sf-topbar-color: #999;\n --sf-h5-color: #999;\n --sf-navigation-border-color: #e5e5e5;\n --sf-navigation-caret: #ccc;\n --sf-user-info-border-color: #e4e4e4;\n --sf-live-link: #4cb861;\n --sf-green-main: #38ab63;\n}\n.k-widget, .k-popup, .k-animation-container {\n --tree-list-expander-color: #777;\n}\n.k-widget, .k-popup, .k-animation-container {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n.k-widget, .k-popup, .k-animation-container {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.6rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n.k-widget, .k-popup, .k-animation-container {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-arrow-color: #777;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-box-shadow-hover: #e4e4e4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n.k-widget, .k-popup, .k-animation-container {\n --secondary-text-color: #999;\n}\n.k-widget, .k-popup, .k-animation-container {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.sf-tabs {\n display: flex;\n justify-content: center;\n}\n.sf-tabs.-large {\n font-size: var(--font-size-lg);\n}\n.sf-tabs__item {\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n}\n.sf-tabs__item.-selected {\n padding-bottom: 5px;\n}\n.sf-tabs__item.-selected, .sf-tabs__item.-selected:hover, .sf-tabs__item.-selected:active, .sf-tabs__item.-selected:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\n.sf-tabs__item.-selected .sf-button.-link {\n color: #333;\n}\n.sf-tabs__badge {\n position: absolute;\n top: 0;\n right: -27px;\n font-size: var(--font-size-base);\n}\n/*\n Tabstrip\n\n Default\n\n `.sf-tabs`\n\n Markup:\n \n\n Styleguide: Tabstrip.default\n */\n/*\n Large\n\n `.sf-tabs.-large`\n\n Markup:\n \n\n Styleguide: Tabstrip.large\n */\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\nhtml .k-editable-area,\nhtml .k-editor {\n padding: 0;\n border: 0;\n}\nhtml .k-editor {\n display: block;\n overflow-y: hidden;\n min-height: 30px;\n color: #333;\n}\nhtml .k-editor:hover {\n box-shadow: 0 0 0 1px var(--input-box-shadow-hover);\n}\nhtml .k-editor:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-editor ul, html .k-editor ol {\n padding-left: 40px;\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-horizontal-rule:before,\nhtml .k-editor-toolbar .k-icon.k-i-horizontal-rule:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-embed:before,\nhtml .k-editor-toolbar .k-icon.k-i-embed:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-insert-document:before,\nhtml .k-editor-toolbar .k-icon.k-i-insert-document:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-button {\n width: 100%;\n}\nhtml .k-editor-overflow-popup .k-button:focus, html .k-editor-overflow-popup .k-button.k-state-focused {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .editorToolbarWindow.k-window-content {\n padding: 0 !important;\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editortoolbar-dragHandle {\n display: none !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless {\n position: fixed !important;\n top: 47px !important;\n left: 0 !important;\n right: 0 !important;\n width: 100% !important;\n height: 46px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #eee;\n z-index: 1000 !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless > .k-window-content {\n padding: 0;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker) {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker).k-state-active {\n border-top: 0;\n border-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker) .k-input {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar {\n display: flex;\n justify-content: center;\n width: 100%;\n height: 46px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar.k-toolbar {\n gap: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools .k-overflow-anchor {\n position: static;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group {\n padding: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group:first-child {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group > .k-tool:first-of-type:not(.k-state-disabled) {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group .k-dropdown-wrap .k-select {\n padding-top: 0;\n padding-bottom: 0;\n min-width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool {\n margin-right: -1px;\n padding-top: 0;\n padding-bottom: 0;\n border-right: 0;\n border-bottom: 0;\n border-top: 0;\n width: auto;\n height: 100%;\n text-align: center;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-input {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-select {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown .k-dropdown {\n min-width: 122px !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap {\n border: 0;\n height: 100%;\n line-height: 46px;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap.k-state-hover {\n color: #333;\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap.k-state-focused {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap .k-input {\n padding: 4px 8px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap > .k-i-close {\n width: 16px;\n top: 0;\n right: 32px;\n transform: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap > .k-i-close::before {\n width: 16px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon {\n padding: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon:hover {\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-selected-color {\n position: absolute;\n left: 9px;\n bottom: 5px;\n margin-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-picker-wrap {\n background-image: none;\n border: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button {\n border-left: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:active {\n border-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::before {\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::after {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon::after,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::before,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::after {\n background-color: #e4e4e4;\n border-radius: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon {\n height: 100%;\n font-size: var(--icon-size-m);\n line-height: 46px;\n color: #777;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon:hover {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before {\n width: 24px;\n height: 25px;\n padding: 5px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-icon::after {\n height: 1.4em;\n line-height: 1.5;\n box-sizing: content-box;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon.k-i-html {\n position: fixed;\n top: 47px;\n right: 0;\n height: 46px;\n pointer-events: auto !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon:before {\n margin-left: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon:before {\n margin-right: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end:not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 54px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end .k-icon.k-i-html {\n border-left: 1px solid #e4e4e4;\n}\nhtml div.k-editor-toolbar,\nhtml [title="Table Wizard"] {\n display: none;\n}\nhtml .k-button-group .k-state-disabled {\n display: none;\n}\nhtml .k-overflow-tools {\n position: static;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) {\n border: 1px solid #e4e4e4;\n box-shadow: 0 3px 5px #ededee;\n background-clip: border-box;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group),\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n padding: 5px 10px;\n border: 0;\n border-top: 1px solid #e4e4e4;\n white-space: nowrap;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-selected, html .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-hover,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-selected,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-hover {\n color: #333;\n background-color: #f5f5f5;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group):focus,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button:focus {\n outline: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group) .k-icon:after,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-icon:after {\n margin-top: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-focused,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-focused {\n color: #333;\n box-shadow: none;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n color: #333;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-tool-text {\n margin-left: 5px;\n vertical-align: middle;\n}\nhtml .k-ct-popup .k-ct-cell {\n pointer-events: all;\n border-color: #ccc;\n}\nhtml .k-ct-popup .k-ct-cell.k-state-selected {\n background-color: #DCECF5;\n}\nhtml .k-editor-inline {\n padding: 3px;\n border: 0;\n font-size: inherit;\n line-height: 1.5;\n}\nhtml .k-editor-inline:hover {\n cursor: text;\n}\nhtml .k-editor-inline:hover, html .k-editor-inline.k-state-active {\n border: 0;\n background: none;\n}\nhtml .k-editor-inline.-read-only.-in-list {\n display: inline;\n margin: 0;\n padding: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list:after {\n display: none;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button {\n display: inline;\n position: static;\n margin-top: 0;\n margin-left: 0;\n margin-right: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button .sf-expand-button__content {\n position: static;\n}\n.sf-main html .k-editor-inline.-read-only a,\nhtml .k-editor-inline.-read-only [data-sf-ec-immutable] {\n pointer-events: none;\n cursor: pointer;\n}\nhtml .k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\nhtml .k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\nhtml .k-editor-inline a,\nhtml .k-editor-inline img,\nhtml .k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\nhtml .k-editor-inline a.-align-left, html .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\nhtml .k-editor-inline a.-align-left,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\nhtml .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\nhtml .k-editor-inline .k-table-resize-handle-wrapper {\n width: 10px;\n height: 10px;\n}\nhtml .k-editor-inline table,\nhtml .k-editor-inline table td {\n border: 1px solid #ccc;\n}\nhtml .k-editor-inline img {\n max-width: 100%;\n}\nhtml .k-editor-inline .sf-media {\n display: inline-block;\n}\nhtml .k-editor-inline ol {\n list-style: decimal;\n}\nhtml .k-editor-inline ul {\n list-style: disc;\n}\nhtml .k-window {\n font-family: "Open Sans", sans-serif;\n max-width: 100vw;\n max-height: 100vh;\n border-width: 1px;\n}\nhtml .k-window, html .k-window.k-state-focused {\n box-shadow: 0 3px 5px #ededee;\n}\nhtml .k-window .k-widget,\nhtml .k-window .k-tabstrip > .k-content {\n color: #333;\n}\nhtml .k-window .k-window-content {\n overflow: visible;\n}\nhtml .k-window .k-window-titlebar {\n border-bottom: 0;\n text-align: center;\n}\nhtml .k-window .k-window-action {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n overflow: hidden;\n border: 1px solid #e4e4e4 !important;\n color: #777;\n}\nhtml .k-window .k-window-action.k-state-hover {\n color: #333;\n background-color: #e4e4e4;\n}\nhtml .k-window .k-window-action:active::before, html .k-window .k-window-action:active::after, html .k-window .k-window-action:focus::before, html .k-window .k-window-action:focus::after {\n border: 0;\n}\nhtml .k-window .k-window-action .k-icon {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n align-items: center;\n justify-content: center;\n display: flex;\n}\nhtml .k-window .k-window-action .k-icon.k-i-close::before {\n content: "";\n font-size: var(--icon-size-m);\n}\nhtml .k-window .k-window-title {\n display: block;\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n}\nhtml .k-window .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n margin-left: auto;\n margin-right: auto;\n width: 630px;\n padding: 16px;\n}\nhtml .k-window .k-editor-table-wizard-dialog .k-tabstrip-wrapper {\n flex: none;\n overflow: visible;\n}\nhtml .k-window .k-tabstrip-items {\n font-size: var(--font-size-lg);\n display: flex;\n justify-content: center;\n align-items: flex-start;\n border: 0;\n margin-bottom: 20px;\n}\nhtml .k-window .k-tabstrip-items .k-item {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n border: 0;\n}\nhtml .k-window .k-tabstrip-items .k-item.-secondary {\n color: var(--link-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item:hover, html .k-window .k-tabstrip-items .k-item:active, html .k-window .k-tabstrip-items .k-item:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-no-hover:hover, html .k-window .k-tabstrip-items .k-item.-no-hover:active, html .k-window .k-tabstrip-items .k-item.-no-hover:focus {\n color: var(--link-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side.-active, html .k-window .k-tabstrip-items .k-item.-side:focus, html .k-window .k-tabstrip-items .k-item.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary {\n color: var(--link-side-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic:hover, html .k-window .k-tabstrip-items .k-item.-basic:active, html .k-window .k-tabstrip-items .k-item.-basic:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar.-active, html .k-window .k-tabstrip-items .k-item.-top-toolbar:focus, html .k-window .k-tabstrip-items .k-item.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active {\n padding-bottom: 5px;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active, html .k-window .k-tabstrip-items .k-item.k-state-active:hover, html .k-window .k-tabstrip-items .k-item.k-state-active:active, html .k-window .k-tabstrip-items .k-item.k-state-active:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active .sf-button.-link {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item .k-link {\n padding: 0;\n}\nhtml .k-window .k-edit-label {\n font-size: var(--font-size-h4-lg);\n font-weight: bold;\n}\nhtml .k-window .k-edit-field .k-state-focused {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field .k-input:focus {\n outline: 0;\n}\nhtml .k-window .k-edit-field .k-input:focus:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field > .k-textbox,\nhtml .k-window .k-edit-field .k-numeric-wrap,\nhtml .k-window .k-edit-field .k-dropdown-wrap {\n border: 1px solid var(--input-border);\n}\nhtml .k-window .k-edit-field .k-select {\n border: 0;\n}\nhtml .k-window .k-edit-field .k-dropdown,\nhtml .k-window .k-edit-field .k-textbox {\n width: 100%;\n}\nhtml .k-window .k-edit-field .k-numerictextbox + .k-dropdown,\nhtml .k-window .k-edit-field .k-dropdown.k-align {\n width: auto;\n}\nhtml .k-window .k-edit-field .k-colorpicker .k-selected-color {\n height: 34px;\n width: 34px;\n border-radius: 0;\n}\nhtml .k-window .k-edit-field .k-checkbox,\nhtml .k-window .k-edit-field .k-checkbox-label {\n vertical-align: middle;\n}\nhtml .k-window .k-edit-field .k-checkbox-label {\n margin-top: 0;\n margin-right: 0;\n padding-left: 5px;\n}\nhtml .k-window .k-edit-buttons {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n text-align: center;\n}\nhtml .k-window .k-edit-buttons .k-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\nhtml .k-window .k-edit-buttons .k-button:hover, html .k-window .k-edit-buttons .k-button:active, html .k-window .k-edit-buttons .k-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:focus {\n color: var(--action-button-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary[disabled]:not(.-done):not(.-inprogress):not(.-no-border), html .k-window .k-edit-buttons .k-button.k-primary.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-state-focused, html .k-window .k-edit-buttons .k-button:focus {\n box-shadow: none;\n}\nhtml .k-window.k-window-maximized {\n height: auto !important;\n padding-top: 160px !important;\n border: 0;\n box-shadow: none;\n overflow: auto;\n}\nhtml .k-window.k-window-maximized .k-window-action {\n position: fixed;\n top: 10px;\n right: 20px;\n z-index: 1000000;\n}\nhtml.-sf-modal-window-open .k-editor-widget.k-window-titleless {\n z-index: 100000000 !important;\n}\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table).k-window-titleless,\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table) .k-editor-toolbar .k-i-html {\n top: 0 !important;\n}\n.k-editor-inline {\n margin-bottom: 10px;\n font-size: inherit;\n}\n.-empty .k-editor-inline {\n min-height: var(--editor-inline-min-height);\n}\n.-empty.-main .k-editor-inline {\n min-height: var(--editor-inline-min-height-long);\n}\n.k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\n.k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\n.k-editor-inline a,\n.k-editor-inline img,\n.k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\n.k-editor-inline a.-align-left, .k-editor-inline a.-align-right,\n.k-editor-inline img.-align-left,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\n.k-editor-inline a.-align-left,\n.k-editor-inline img.-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\n.k-editor-inline a.-align-right,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\n.sf-expand-button {\n display: block;\n position: relative;\n margin-top: 10px;\n}\n.sf-expand-button.-collapsed::before {\n content: "";\n position: absolute;\n top: calc((var(--editor-collapsed-height) + 10px) * -1);\n height: calc(var(--editor-collapsed-height) + 10px);\n width: 100%;\n background: linear-gradient(to top, #fff 5%, rgba(255, 255, 255, 0.25) 25%, rgba(255, 255, 255, 0) 100%);\n z-index: 100;\n}\n.sf-expand-button .sf-expand-button__content {\n position: relative;\n color: #006CD9;\n font-size: var(--font-size-base);\n z-index: 1000;\n}\n.sf-expand-button .sf-expand-button__content:hover {\n color: #333;\n}\nbody.-sf-editor-hidden .k-editor-widget {\n display: none !important;\n}\n.k-editor-toolbar .k-i-Words-count::before {\n content: "";\n}\n.-sf-modal-window-open .sf-editor *,\n.-sf-modal-window-open .k-window * {\n box-sizing: border-box;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar {\n margin-top: -78px !important;\n height: auto;\n padding: 12px 16px;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-title {\n display: block;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-action {\n padding: 4px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-icon.k-i-close::before {\n position: static;\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-content {\n min-height: auto;\n height: auto;\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-root-tabs {\n margin: 0;\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-label label {\n margin-bottom: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field {\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field input.k-checkbox {\n position: static;\n -webkit-appearance: checkbox;\n margin: 3px 0.5ex;\n width: 12px;\n height: 12px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox {\n border-radius: 0;\n padding: 1px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox:focus {\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label {\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label::before {\n content: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-default,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-focused,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-hover {\n background: none;\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-picker-wrap .k-select {\n position: static;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-link.k-state-selected {\n background: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown.k-align {\n width: auto;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-buttons {\n background: none;\n}\n.-sf-modal-window-open .k-animation-container .k-list-container {\n padding: 0;\n border-radius: 0;\n}\n.-sf-modal-window-open .k-animation-container .k-align .k-list .k-item, .-sf-modal-window-open .k-animation-container .k-align .k-list .k-item:last-child {\n display: flex;\n}\n.-sf-modal-window-open .k-animation-container .k-list .k-item {\n border: 0;\n border-top: 1px solid #e4e4e4;\n border-radius: 0;\n line-height: 1.42857em;\n}\n.-sf-modal-window-open .k-animation-container .k-flatcolorpicker .k-selected-color input.k-color-value {\n padding: 4px 8px;\n}'],encapsulation:2,data:{animation:[Object(s.trigger)("slideOpen",[Object(s.state)("open",Object(s.style)({height:"*"})),Object(s.state)("closed",Object(s.style)({height:c.EDITOR_COLLAPSE_HEIGHT+"px"})),Object(s.transition)("closed <=> open",[Object(s.animate)(c.EDITOR_COLLAPSE_ANIMATION_SPEED+"ms ease")]),Object(s.transition)(A.ANIMATION_STATES.ENTER,[Object(s.animate)(0)])])]}}),EditorReadonlyComponent}(r.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"DateTimePickerReadOnlyComponent",(function(){return l}));var o=n(259),i=n(1237),r=n(261),a=n(1238),s=n(1240),A=n(229);function DateTimePickerReadOnlyComponent_div_0_span_1_Template(e,t){if(1&e&&(A["ɵɵelementStart"](0,"span",2),A["ɵɵtext"](1),A["ɵɵpipe"](2,"sfRelativeDate"),A["ɵɵelementEnd"]()),2&e){var n=A["ɵɵnextContext"](2);A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.displayAsRelativeDate?A["ɵɵpipeBind1"](2,1,n.date):n.date)}}function DateTimePickerReadOnlyComponent_div_0_span_2_Template(e,t){if(1&e&&(A["ɵɵelementStart"](0,"span"),A["ɵɵtext"](1),A["ɵɵelementEnd"]()),2&e){var n=A["ɵɵnextContext"](2);A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.time)}}function DateTimePickerReadOnlyComponent_div_0_Template(e,t){if(1&e&&(A["ɵɵelementStart"](0,"div"),A["ɵɵtemplate"](1,DateTimePickerReadOnlyComponent_div_0_span_1_Template,3,3,"span",1),A["ɵɵtemplate"](2,DateTimePickerReadOnlyComponent_div_0_span_2_Template,2,1,"span",0),A["ɵɵelementEnd"]()),2&e){var n=A["ɵɵnextContext"]();A["ɵɵattribute"]("class",n.settings.look?n.settings.look+" sf-field__value sf-datepicker":"sf-field__value sf-datepicker"),A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",n.showDate),A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",n.showTime)}}var l=function(e){function DateTimePickerReadOnlyComponent(t,n,o){var i=e.call(this,o,n)||this;return i.datePipe=t,i.dateTimeFormatsProvider=n,i}return Object(o.__extends)(DateTimePickerReadOnlyComponent,e),DateTimePickerReadOnlyComponent.prototype.ngAfterViewInit=function(){var e=this;this.dateTimeFormatsProvider.getDateAndTimeFormats().subscribe((function(t){e.dateValue&&!isNaN(e.dateValue.getTime())&&e.showDate&&(e.date=e.datePipe.transform(e.dateValue,t.dateFormat)),e.timeValue&&!isNaN(e.timeValue.getTime())&&e.showTime&&(e.time=e.datePipe.transform(e.timeValue,t.timeFormat))}))},DateTimePickerReadOnlyComponent.ɵfac=function DateTimePickerReadOnlyComponent_Factory(e){return new(e||DateTimePickerReadOnlyComponent)(A["ɵɵdirectiveInject"](r.DatePipe),A["ɵɵdirectiveInject"](s.DateTimeFormatsProvider),A["ɵɵdirectiveInject"](a.EventDatesService))},DateTimePickerReadOnlyComponent.ɵcmp=A["ɵɵdefineComponent"]({type:DateTimePickerReadOnlyComponent,selectors:[["sf-date-time-read"]],inputs:{displayAsRelativeDate:"displayAsRelativeDate"},features:[A["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[[4,"ngIf"],["class","-sf-mr-4xs sf-datepicker__date",4,"ngIf"],[1,"-sf-mr-4xs","sf-datepicker__date"]],template:function DateTimePickerReadOnlyComponent_Template(e,t){1&e&&A["ɵɵtemplate"](0,DateTimePickerReadOnlyComponent_div_0_Template,3,3,"div",0),2&e&&A["ɵɵproperty"]("ngIf",t.date||t.time)},encapsulation:2}),DateTimePickerReadOnlyComponent}(i.DateTimePickerComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ReorderComponent",(function(){return _}));var o=n(259),i=n(131),r=n(317),a=n(264),s=n(262),A=n(260),l=(n(418),n(369)),c=n(316),d=n(314),p=n(11),f=n(245),u=n(1063),m=n(1387),g=n(256),E=n(331),h=n(266),b=n(1180),C=n(1174),B=n(1208),k=n(326),I=n(229),v=["tree"];function ReorderComponent_div_2_Template(e,t){if(1&e&&(I["ɵɵelementStart"](0,"div",6),I["ɵɵtext"](1),I["ɵɵelementEnd"]()),2&e){var n=I["ɵɵnextContext"]();I["ɵɵadvance"](1),I["ɵɵtextInterpolate1"](" ",n.parentTitle," ")}}function ReorderComponent_sf_loader_5_Template(e,t){1&e&&I["ɵɵelement"](0,"sf-loader",7)}var w,_=function(e){function ReorderComponent(t,n,o,i,r){var a=e.call(this)||this;return a._scrollService=t,a.dynamicItemService=n,a.gridExtender=o,a.route=i,a.mediaService=r,a.treeConfig={drag:!0,status:!0,statusText:!0,noSelection:!0,multiSelection:!1,hideExtensions:!0},a.treeItems=[],a.isInitialLoading=!0,a.reorderActions=[],a.dirty=!1,a.loadItems$=new p.Subject,a.scrollService=a._scrollService,a}return Object(o.__extends)(ReorderComponent,e),Object.defineProperty(ReorderComponent.prototype,"parentId",{get:function(){return this.route.parent.snapshot.params[s.ROUTE_PARAMS.PARENT_ID_SEGMENT]||null},enumerable:!1,configurable:!0}),ReorderComponent.prototype.ngOnInit=function(){var e=this;this.displayField=this.entityData.metadata.defaultFieldName,this.initPluralName(),null!=this.parentItem&&this.initParentTitle();var t=this.loadItems$.pipe(Object(i.switchMap)((function(e){return e}))).subscribe((function(t){if(t){var n=t.dataItems.map((function(t){var n=Object(f.cloneObject)(t.data);return n.isTranslated=t.isTranslated,e.isMedia()&&n.Extension&&(n.icon=k.MediaHelpers.getDocumentThumbnailIcon(n.Extension),n.iconLook="size-3xl "+(!1===n.isTranslated?"lighter":"light")),n}));e.treeItems=e.treeItems.concat(n),e.totalItemsCount=t.totalCount,e.loadAdditionalItems(),e.isInitialLoading=!1}}));this.registerSubscription(t),this.loadItems(0)},ReorderComponent.prototype.onMoveNode=function(e){var t,n,o,i;if(this.dirty=!0,0===e.from.parent.children.length&&(e.from.parent.HasChildren=!1),1===e.to.parent.children.length)o=w.Under,i=e.to.parent[this.entityData.metadata.key];else{var r=void 0;0===e.to.index?(o=w.Before,r=1):(o=w.After,r=e.to.index-1),i=e.to.parent.children[r][this.entityData.metadata.key]}var a=null===(t=e.treeModel)||void 0===t?void 0:t.getNodeById(e.to.parent.Id),s=null===(n=e.treeModel)||void 0===n?void 0:n.getNodeById(e.from.parent.Id);a!==s&&(s?a||this.totalItemsCount++:this.totalItemsCount--);var A={Id:e.node[this.entityData.metadata.key],Position:o,TargetId:i};this.reorderActions.push(A)},ReorderComponent.prototype.treeNodeClicked=function(e){e.data.isLink&&this.loadMoreChildren(e)},ReorderComponent.prototype.checkShouldLoadMore=function(){return this.treeItems.length>0&&this.treeItems.length0&&n>e.length){var i={Title:"Load more",Id:t+"_loadMore",action:b.COMMAND_NAMES.loadMoreChildren,isSelectionDisabled:!0,isLink:!0,icon:"repeat",iconLook:"size-xs color-inherit"};e.push(i)}},ReorderComponent.prototype.removeLoadMoreLink=function(e){var t=e.findIndex((function(e){if(e){return e&&!!e.action}}));t>=0&&e.splice(t,1)},ReorderComponent.ɵfac=function ReorderComponent_Factory(e){return new(e||ReorderComponent)(I["ɵɵdirectiveInject"](l.ScrollService),I["ɵɵdirectiveInject"](c.DynamicItemService),I["ɵɵdirectiveInject"](m.CompositeGridExtender),I["ɵɵdirectiveInject"](A.ActivatedRoute),I["ɵɵdirectiveInject"](B.MediaService))},ReorderComponent.ɵcmp=I["ɵɵdefineComponent"]({type:ReorderComponent,selectors:[["ng-component"]],viewQuery:function ReorderComponent_Query(e,t){if(1&e&&I["ɵɵviewQuery"](v,1),2&e){var n;I["ɵɵqueryRefresh"](n=I["ɵɵloadQuery"]())&&(t.tree=n.first)}},features:[I["ɵɵInheritDefinitionFeature"]],decls:6,vars:6,consts:[["sfInfiniteScroll","",1,"sf-form","-medium","-sf-centered-box","-sf-txt-large",3,"scrolledToBottom"],[3,"heading"],["class","-sf-txt-large -sf-mb-m",4,"ngIf"],[3,"nodes","config","displayField","moveNode","treeNodeClicked"],["tree",""],["look","skeleton side-content darker",4,"ngIf"],[1,"-sf-txt-large","-sf-mb-m"],["look","skeleton side-content darker"]],template:function ReorderComponent_Template(e,t){1&e&&(I["ɵɵelementStart"](0,"div",0),I["ɵɵlistener"]("scrolledToBottom",(function ReorderComponent_Template_div_scrolledToBottom_0_listener(){return t.requestMoreItems()})),I["ɵɵelement"](1,"sf-sticky-component",1),I["ɵɵtemplate"](2,ReorderComponent_div_2_Template,2,1,"div",2),I["ɵɵelementStart"](3,"sf-tree",3,4),I["ɵɵlistener"]("moveNode",(function ReorderComponent_Template_sf_tree_moveNode_3_listener(e){return t.onMoveNode(e)}))("treeNodeClicked",(function ReorderComponent_Template_sf_tree_treeNodeClicked_3_listener(e){return t.treeNodeClicked(e)})),I["ɵɵelementEnd"](),I["ɵɵtemplate"](5,ReorderComponent_sf_loader_5_Template,1,0,"sf-loader",5),I["ɵɵelementEnd"]()),2&e&&(I["ɵɵadvance"](1),I["ɵɵproperty"]("heading",t.headingText),I["ɵɵadvance"](1),I["ɵɵproperty"]("ngIf",t.parentTitle),I["ɵɵadvance"](1),I["ɵɵproperty"]("nodes",t.treeItems)("config",t.treeConfig)("displayField",t.displayField),I["ɵɵadvance"](2),I["ɵɵproperty"]("ngIf",t.isInitialLoading))},encapsulation:2}),ReorderComponent}(a.RxBaseComponent);!function(e){e.Before="0",e.After="1",e.Under="2"}(w||(w={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"CompositeGridExtender",(function(){return a}));var o=n(11),i=n(1388),r=n(229),a=function(){function CompositeGridExtender(e){this.gridExtenders=e}return CompositeGridExtender.prototype.initialize=function(e,t){return this.getExtender(t).initialize(e)},CompositeGridExtender.prototype.openEditItemInDialog=function(e){return this.getExtender(e).openEditItemInDialog(e)},CompositeGridExtender.prototype.getParentSetName=function(e){return this.getExtender(e).getParentSetName(e)},CompositeGridExtender.prototype.reloadItems=function(e,t,n,o,i){return this.getExtender(n).reloadItems(e,t,n,o,i)},CompositeGridExtender.prototype.loadMore=function(e){return this.getExtender(e.entityData).loadMore(e)},CompositeGridExtender.prototype.shouldNavigateToChildGrid=function(e){return this.getExtender(e).shouldNavigateToChildGrid(e)},CompositeGridExtender.prototype.getExpandedNodeIds=function(e){return this.getExtender(e.entityData).getExpandedNodeIds(e)},CompositeGridExtender.prototype.syncExpandedNodeIds=function(e){this.getExtender(e.entityData).syncExpandedNodeIds(e)},CompositeGridExtender.prototype.setExpandedNodeIds=function(e){this.getExtender(e.entityData).setExpandedNodeIds(e)},CompositeGridExtender.prototype.getCurrentPaging=function(e){return this.getExtender(e.entityData).getCurrentPaging(e)},CompositeGridExtender.prototype.setCurrentPaging=function(e){this.getExtender(e.entityData).setCurrentPaging(e)},CompositeGridExtender.prototype.getTitle=function(e){return this.getExtender(e.entityData).getTitle(e)},CompositeGridExtender.prototype.isHierarchical=function(e){return this.getExtenderByRoute(e).isHierarchical(e)},CompositeGridExtender.prototype.getVirtualizationOptions=function(e){return this.getExtenderByRoute(e).getVirtualizationOptions(e)},CompositeGridExtender.prototype.getTotalItemsCountWithChildren=function(e,t){return this.getExtenderByRoute(t).getTotalItemsCountWithChildren(e,t)},CompositeGridExtender.prototype.showFilters=function(e){return this.getExtender(e).showFilters(e)},CompositeGridExtender.prototype.disableSelectAll=function(e,t){return this.getExtenderByRoute(e).disableSelectAll(e,t)},CompositeGridExtender.prototype.getChildren=function(e,t,n,o){return void 0===o&&(o=[]),this.getExtender(e).getChildren(e,t,n,o)},CompositeGridExtender.prototype.getItemsData=function(e,t,n){return this.getExtenderByRoute(e).getItemsData(e,t,n)},CompositeGridExtender.prototype.tryHandleAction=function(e){var t=this.getExtender(e.item);return t?t.tryHandleAction(e):Object(o.of)(!1)},CompositeGridExtender.prototype.showSorters=function(e){return this.getExtender(e).showSorters(e)},CompositeGridExtender.prototype.getSingleItemName=function(e){return this.getExtender(e.entityData).getSingleItemName(e)},CompositeGridExtender.prototype.getPluralItemName=function(e){return this.getExtender(e.entityData).getPluralItemName(e)},CompositeGridExtender.prototype.getEmptyScreenIcon=function(e){var t=this.getExtender(e),n=e.metadata.setName;return t.getEmptyScreenIcon(n)},CompositeGridExtender.prototype.getDefaultSort=function(e){return this.getExtender(e).getDefaultSort(e)},CompositeGridExtender.prototype.getDisabledFilterLoaders=function(e){return this.getExtenderByRoute(e).getDisabledFilterLoaders(e)},CompositeGridExtender.prototype.executeNavigateCommand=function(e,t,n,o,i){return void 0===i&&(i=null),this.getExtender(o).executeNavigateCommand(e,t,n,o,i)},CompositeGridExtender.prototype.modifyActionContext=function(e,t){return this.getExtender(e.item).modifyActionContext(e,t)},CompositeGridExtender.prototype.modifyEntityDataForBulkOperations=function(e,t){return this.getExtender(e).modifyEntityDataForBulkOperations(e,t)},CompositeGridExtender.prototype.getSettingsSidebarSections=function(e,t){return this.getExtender(t).getSettingsSidebarSections(e,t)},CompositeGridExtender.prototype.getCustomSidebars=function(e){return this.getExtender(e.entityData).getCustomSidebars(e)},CompositeGridExtender.prototype.getSidebarsExternalKeys=function(e){return this.getExtender(e).getSidebarsExternalKeys(e)},CompositeGridExtender.prototype.getFilterSidebarTitle=function(e,t){return this.getExtender(e).getFilterSidebarTitle(e,t)},CompositeGridExtender.prototype.getSortDropdownTitle=function(e,t){return this.getExtender(e).getSortDropdownTitle(e,t)},CompositeGridExtender.prototype.getSettingsSidebarTitle=function(e,t){return this.getExtender(e).getSettingsSidebarTitle(e,t)},CompositeGridExtender.prototype.getQuickNavigationSidebarSections=function(e,t){return this.getExtender(e).getQuickNavigationSidebarSections(e,t)},CompositeGridExtender.prototype.getQuickNavigationSidebarTitle=function(e,t){return this.getExtender(e).getQuickNavigationSidebarTitle(e,t)},CompositeGridExtender.prototype.getSidebarDisplayName=function(e,t){return this.getExtender(e).getSidebarDisplayName(e,t)},CompositeGridExtender.prototype.getNavigationComponentData=function(e,t){return this.getExtender(e).getNavigationComponentData(e,t)},CompositeGridExtender.prototype.shouldReloadItemsAfterEdit=function(e,t){return this.getExtender(e.dataItem).shouldReloadItemsAfterEdit(e,t)},CompositeGridExtender.prototype.shouldReloadItemsOnViewModeChanged=function(e,t){return this.getExtender(t).shouldReloadItemsOnViewModeChanged(e,t)},CompositeGridExtender.prototype.getPresenterTemplate=function(e){return this.getExtender(e).getPresenterTemplate(e)},CompositeGridExtender.prototype.hideLoadMore=function(e,t){return this.getExtenderByRoute(e).hideLoadMore(e,t)},CompositeGridExtender.prototype.processEntityData=function(e){return this.getExtender(e).processEntityData(e)},CompositeGridExtender.prototype.executeServerAction=function(e,t){return this.getExtenderByRoute(t.route).executeServerAction(e,t)},CompositeGridExtender.prototype.getEmptyScreenText=function(e,t){return this.getExtender(e).getEmptyScreenText(e,t)},CompositeGridExtender.prototype.hasLongRunningTasks=function(e){return this.getExtender(e).hasLongRunningTasks(e)},CompositeGridExtender.prototype.modifySingleItemOperations=function(e,t,n){return this.getExtender(e).modifySingleItemOperations(e,t,n)},CompositeGridExtender.prototype.modifyOperations=function(e,t,n){return this.getExtender(e).modifyOperations(e,t,n)},CompositeGridExtender.prototype.getNotificationServiceFilter=function(e){return this.getExtender(e).getNotificationServiceFilter(e)},CompositeGridExtender.prototype.getTakeItemsCount=function(e){return this.getExtenderByRoute(e).getTakeItemsCount()},CompositeGridExtender.prototype.getDataFieldNames=function(e,t){return this.getExtender(t).getDataFieldNames(e,t)},CompositeGridExtender.prototype.getAsyncColumnsValues=function(e,t,n,o,i){return this.getExtender(t).getAsyncColumnsValues(e,t,n,o,i)},CompositeGridExtender.prototype.getExtenderByRoute=function(e){var t=e.snapshot.data.dynamicItems;return this.getExtender(t)},CompositeGridExtender.prototype.getExtender=function(e){return this.gridExtenders.find((function(t){return e&&t.isSupportedType(e)}))},CompositeGridExtender.ɵfac=function CompositeGridExtender_Factory(e){return new(e||CompositeGridExtender)(r["ɵɵinject"](i.GRID_EXTENDER_TOKEN,8))},CompositeGridExtender.ɵprov=r["ɵɵdefineInjectable"]({token:CompositeGridExtender,factory:CompositeGridExtender.ɵfac}),CompositeGridExtender}()},function(e,t,n){"use strict";n.r(t),n.d(t,"GRID_EXTENDER_TOKEN",(function(){return S})),n.d(t,"GridExtenderBase",(function(){return T}));var o=n(259),i=n(229),r=n(11),a=n(317),s=n(316),A=n(1389),l=n(1390),c=n(131),d=n(319),p=n(256),f=n(1391),u=n(261),m=n(271),g=n(1392),E=n(1174),h=n(1213),b=n(266),C=n(262),B=n(1393),k=n(1171),I=n(268),v=n(314),w=n(1397),_=n(1118),x=n(1177),y=[d.OPERATION_NAMES.moveTaxon,d.OPERATION_NAMES.mergeTaxon,d.OPERATION_NAMES.bulkEditProperties,d.OPERATION_NAMES.assignTaxons],S=new i.InjectionToken("grid-extender"),T=function(){function GridExtenderBase(e,t,n,o,i,r,a,s){this.contentFilterService=e,this.dynamicItemStore=t,this.settings=n,this.sortService=o,this.backendTweaksStore=i,this.reloadService=r,this.modalWindowService=a,this.notificationService=s}return GridExtenderBase.prototype.getSidebarsExternalKeys=function(e){return[e.metadata.setName]},GridExtenderBase.prototype.getCustomSidebars=function(e){return Object(r.of)([])},GridExtenderBase.prototype.getSettingsSidebarSections=function(e,t){var n=new r.ReplaySubject(1);return e.pipe(Object(c.first)()).subscribe((function(e){var o=e.filter((function(e){return e.Category.Name===d.OPERATION_CATEGORIES.settings&&e.Name!==d.OPERATION_NAMES.sendForTranslation&&e.Name!==d.OPERATION_NAMES.move&&e.Name!==d.OPERATION_NAMES.assignTaxons}));if(Array.isArray(o)&&o.length>0){var i="Manage settings";t.metadata.setName!==p.ENTITY_SET.PAGES&&t.metadata.setName!==p.ENTITY_SET.IMAGES&&t.metadata.setName!==p.ENTITY_SET.ALBUMS||(i="More options"),n.next([{operations:o,ordinal:100,title:i}])}else n.next([]);n.complete()})),n.asObservable()},GridExtenderBase.prototype.getQuickNavigationSidebarSections=function(e,t){return Object(r.of)([])},GridExtenderBase.prototype.initialize=function(e){var t=e?e.url.split("?")[0]:null;t!==this.previousUrl&&(this.clearTemporaryData(),this.previousUrl=t)},GridExtenderBase.prototype.getNavigationComponentData=function(e,t){var n=t.entityData.metadata;return n.hasParent||n.ignoreParentChildRelationship?{type:f.GridNavigationComponent,properties:Object(o.__assign)({},t),updatePropertiesOnChange:!0,removePreviousView:!0}:null},GridExtenderBase.prototype.openEditItemInDialog=function(e){return!1},GridExtenderBase.prototype.getParentSetName=function(e){return null},GridExtenderBase.prototype.modifySingleItemOperations=function(e,t,n){return t},GridExtenderBase.prototype.modifyOperations=function(e,t,n){return t=this.filterOperationsAccordingToBulkLimit(t,n)},GridExtenderBase.prototype.shouldNavigateToChildGrid=function(e){return e.metadata.hasChildren&&!e.metadata.isSelfReferencing},GridExtenderBase.prototype.shouldReloadItemsAfterEdit=function(e,t){var n=e.dataItem.isEmpty&&t.success&&t.dataItem&&!t.dataItem.isEmpty,o=e.dataItem;return{reloadGrid:!o.metadata.hasLifecycle&&(!o.isEmpty||o.metadata.ignoreParentChildRelationship)||n}},GridExtenderBase.prototype.shouldReloadItemsOnViewModeChanged=function(e,t){return!1},GridExtenderBase.prototype.getTitle=function(e){return Object(r.of)(""+e.entityData.metadata.displayName)},GridExtenderBase.prototype.tryHandleAction=function(e){return e.actionName===d.OPERATION_NAMES.changeOwner?Object(r.of)(this.tryHandleChangeOwnerAction(e)):Object(r.of)(!1)},GridExtenderBase.prototype.getItemsData=function(e,t,n){return null},GridExtenderBase.prototype.getChildren=function(e,t,n,o){return new Promise((function(e){return e(null)}))},GridExtenderBase.prototype.isHierarchical=function(e){return!1},GridExtenderBase.prototype.getVirtualizationOptions=function(e){return{isVirtualized:!1}},GridExtenderBase.prototype.getTotalItemsCountWithChildren=function(e,t){return Object(r.of)(e)},GridExtenderBase.prototype.showFilters=function(e){return!0},GridExtenderBase.prototype.disableSelectAll=function(e,t){return this.isHierarchical(e)},GridExtenderBase.prototype.getExpandedNodeIds=function(e){return Object(r.of)([])},GridExtenderBase.prototype.setExpandedNodeIds=function(e){},GridExtenderBase.prototype.syncExpandedNodeIds=function(e){},GridExtenderBase.prototype.getCurrentPaging=function(e){if(this.isPagingPersistenceEnabled()){var t=e.entityData.metadata.typeFullName+e.entityData.provider;return this.settings.getPaging(t)}return null},GridExtenderBase.prototype.setCurrentPaging=function(e){if(this.isPagingPersistenceEnabled()){var t=e.entityData.metadata.typeFullName+e.entityData.provider;this.settings.setPaging(t,e.itemPaging)}},GridExtenderBase.prototype.getSingleItemName=function(e){var t=e.entityData.metadata.singularName;return Object(r.of)({primary:t,secondary:t})},GridExtenderBase.prototype.getPluralItemName=function(e){var t=e.entityData.metadata.displayName;return Object(r.of)({primary:t,secondary:t})},GridExtenderBase.prototype.getEmptyScreenIcon=function(e){return A.DEFAULT_EMPTY_SCREEN_ICON},GridExtenderBase.prototype.getDefaultSort=function(e){return this.backendTweaksStore.getGridSortExpression(e.metadata.setName)||this.sortService.getDefaultSort(e)},GridExtenderBase.prototype.showSorters=function(e){return!0},GridExtenderBase.prototype.getDisabledFilterLoaders=function(e){return null},GridExtenderBase.prototype.executeNavigateCommand=function(e,t,n,o,i){return void 0===i&&(i=null),new l.NavigateCommand(e).execute({currentRoute:t,data:{dataItem:n,metadata:o,parentSetName:this.getParentSetName(o),childSetName:i,navigateToGrid:n&&this.shouldNavigateToChildGrid(n),isChildNavigate:n&&n.metadata.setName===o.metadata.setName},model:null})},GridExtenderBase.prototype.modifyActionContext=function(e,t){return Object(r.of)(e)},GridExtenderBase.prototype.modifyEntityDataForBulkOperations=function(e,t){return e},GridExtenderBase.prototype.getPresenterTemplate=function(e){return"List"},GridExtenderBase.prototype.hideLoadMore=function(e,t){return!1},GridExtenderBase.prototype.processEntityData=function(e){return e},GridExtenderBase.prototype.executeServerAction=function(e,t){return e.execute(t)},GridExtenderBase.prototype.getEmptyScreenText=function(e,t){return t.pipe(Object(c.map)((function(e){return"No "+(new u.LowerCasePipe).transform(e?e.primary:"items")+" have been created"})))},GridExtenderBase.prototype.getFilterSidebarTitle=function(e,t){return"Filter "+this.getSidebarDisplayName(e,t).toLowerCase()},GridExtenderBase.prototype.getSortDropdownTitle=function(e,t){return"Sort "+(t||this.getSidebarDisplayName(e,null)).toLowerCase()},GridExtenderBase.prototype.getSettingsSidebarTitle=function(e,t){return"Settings for "+this.getSidebarDisplayName(e,t).toLowerCase()},GridExtenderBase.prototype.getQuickNavigationSidebarTitle=function(e,t){return"Browse "+this.getSidebarDisplayName(e,t).toLowerCase()},GridExtenderBase.prototype.getSidebarDisplayName=function(e,t){return e.metadata.displayName},GridExtenderBase.prototype.hasLongRunningTasks=function(e){return!1},GridExtenderBase.prototype.getNotificationServiceFilter=function(e){return e.metadata.typeFullName},GridExtenderBase.prototype.getTakeItemsCount=function(){return s.DEFAULT_TAKE},GridExtenderBase.prototype.getDataFieldNames=function(e,t){var n=[t.metadata.key];return e.filter((function(e){return e.dataFieldNames})).forEach((function(e){e.dataFieldNames.forEach((function(e){t.metadata.properties.hasOwnProperty(e)&&n.indexOf(e)<0&&n.push(e)}))})),t.metadata.hasParent&&n.push(t.metadata.parentIdProperty),n},GridExtenderBase.prototype.getAsyncColumnsValues=function(e,t,n,o,i){var r=this;if(e.find((function(e){return"Analytics"===e.name}))){var a=n.dataItems.filter((function(e){return e.isTranslated}));n.dataItems.forEach((function(e){var t=r.getExpandedChildItems(e);a.push.apply(a,t)})),i.requestSingle(a,t,g.BUNDLE_DATA_OPERATIONS.ANALYTICS,o,!n.skip)}e.find((function(e){return e.name===b.Properties.USED_ON}))&&i.requestBatch(n.dataItems.map((function(e){return{id:e.key,action:g.BUNDLE_DATA_OPERATIONS.SHARED_IN_COUNT,entityData:t}})),t,o,!n.skip)},GridExtenderBase.prototype.reloadItems=function(e,t,n,o,i){var a=this.contentFilterService.getLoadArguments(e,t,n,o,i);return this.dynamicItemStore.loadItems(a),r.NEVER},GridExtenderBase.prototype.loadMore=function(e){var t=this,n=null,o=this.dynamicItemStore.getLoadedItemsCount(e.entityData),i=this.dynamicItemStore.getLeftItemsCount(e.entityData);return e.treeConfig.isHierarchical?this.getExpandedNodeIds({entityData:e.entityData}).subscribe((function(n){e.treeConfig.expandedNodeIds=n;var r=t.getItemsData(e.route,e.dataFieldNames,{expandedNodeIds:n,action:e.action,skip:o,take:i,order:e.order});t.dynamicItemStore.loadItems(r)})):((e.executedSearchParameter||e.parentId&&e.entityData.metadata.hasParent)&&(n=Object(v.createQuery)().where().and(),e.parentId&&e.entityData.metadata.hasParent&&(n=n.eq(e.entityData.metadata.parentIdProperty,e.parentId)),e.executedSearchParameter&&(n=this.contentFilterService.applySearch(e.executedSearchParameter,e.entityData,n)),n=n.done().done()),this.dynamicItemStore.loadItems({entityData:e.entityData,query:n,action:e.action,order:e.order,skip:o,take:i,fallbackProperties:[e.entityData.metadata.defaultFieldName],dataFieldNames:e.dataFieldNames})),r.NEVER},GridExtenderBase.prototype.isPagingPersistenceEnabled=function(){return!1},GridExtenderBase.prototype.clearTemporaryData=function(){this.settings.clearPaging()},GridExtenderBase.prototype.filterOperationsAccordingToBulkLimit=function(e,t){return this.areCurrentSelectedItemsMoreThanBulkLimit(t)&&(e=e.filter((function(e){return!y.includes(e.Name)}))),e},GridExtenderBase.prototype.areCurrentSelectedItemsMoreThanBulkLimit=function(e){var t=e.currentItemSelectionInfo.selectedItems.size;return e.previousItemSelectionInfo.allItemsSelected&&(t=e.currentItemSelectionInfo.deselectedItems.size>0?e.itemsState.totalCount-e.currentItemSelectionInfo.deselectedItems.size:e.itemsState.totalCount),t>C.BULK_ITEMS_LIMIT},GridExtenderBase.prototype.getExpandedChildItems=function(e){var t=this,n=[];return e.data.Children&&e.data.Children.forEach((function(o){var i=a.DataItem.from(o,e.metadata,e.provider,e.culture);i.isTranslated&&n.push(i),n.push.apply(n,t.getExpandedChildItems(i))})),n},GridExtenderBase.prototype.tryHandleChangeOwnerAction=function(e){var t=this,n={currentRoute:e.route,data:{selectedItems:e.item.data?[e.item]:[],entityData:e.item},model:null};return new B.ChangeOwnerCommand(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n).subscribe((function(){t.reloadService.requestReload()})),!0},GridExtenderBase.ɵfac=function GridExtenderBase_Factory(e){return new(e||GridExtenderBase)(i["ɵɵinject"](I.ContentFilterService),i["ɵɵinject"](k.DynamicItemStore),i["ɵɵinject"](m.Settings),i["ɵɵinject"](E.SortService),i["ɵɵinject"](h.BackendTweaksStore),i["ɵɵinject"](w.GridReloadService),i["ɵɵinject"](_.ModalWindowService),i["ɵɵinject"](x.NOTIFICATION_SERVICE))},GridExtenderBase.ɵprov=i["ɵɵdefineInjectable"]({token:GridExtenderBase,factory:GridExtenderBase.ɵfac}),GridExtenderBase}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SORT_KEY",(function(){return o})),n.d(t,"FILTER_KEY",(function(){return i})),n.d(t,"DEFAULT_EMPTY_SCREEN_ICON",(function(){return r})),n.d(t,"EMPTY_SCREEN_ICONS",(function(){return a}));var o="sortKey",i="filter",r="file-text-o",a=Object.freeze({image:"picture-o",document:r,video:"film","hierarchy-taxa":"folder-o","flat-taxa":"tag",servicehooks:r,"servicehooks-history":"search"})},function(e,t,n){"use strict";n.r(t),n.d(t,"NavigateCommand",(function(){return s}));var o=n(11),i=n(262),r=n(246),a=n(326),s=function(){function NavigateCommand(e){this.router=e}return NavigateCommand.prototype.execute=function(e){var t=e.data,n=t.dataItem,i=t.metadata,a=r.stringConstants.EMPTY_STRING;a=t.navigateToGrid&&t.parentSetName||!i.metadata.ignoreParentChildRelationship?this.getParentIndexUrl(n,i.metadata,t.isChildNavigate,t.parentSetName,t.childSetName):this.getAllItemsUrl(i.metadata);var s=this.getQueryParamsOrDefault(n,i,e.currentRoute.parent,i.metadata.ignoreParentChildRelationship,t.additionalQueryParams),A=this.router.navigate([a],{relativeTo:e.currentRoute.parent.parent,queryParams:s});return Object(o.from)(A)},NavigateCommand.prototype.getParentIndexUrl=function(e,t,n,o,i){void 0===o&&(o=null),void 0===i&&(i=null);var a=this.getRouteState(e,t,n,i);return(o||a.parentSetName)+"/"+(a.parentKey||r.stringConstants.EMPTY_STRING)+"/"+(a.childSetName||r.stringConstants.EMPTY_STRING)},NavigateCommand.prototype.getAllItemsUrl=function(e){return""+(e.parent||e.children[0])},NavigateCommand.prototype.getRouteState=function(e,t,n,o){if(void 0===o&&(o=null),!e)return{childSetName:o,parentSetName:t.parent||t.children[0]};var i=e.parentKey,r=e.key,a=e.metadata.parent,s=e.metadata.setName,A=e.childSetName;return n?{parentSetName:s,childSetName:o||A||s,parentKey:r}:e&&e.metadata.hasParent?{parentSetName:a,childSetName:s,parentKey:i}:{parentSetName:s,childSetName:null,parentKey:null}},NavigateCommand.prototype.getQueryParamsOrDefault=function(e,t,n,o,r){void 0===o&&(o=!1),void 0===r&&(r=null);var s={};if(e)s[i.QUERY_PARAMS.PROVIDER]=t.provider,s[i.QUERY_PARAMS.CULTURE]=t.culture,o&&!a.MediaHelpers.isLibraryOrMedia(t.metadata.setName)&&(s[i.FILTER_PARAMS.FILTER]="Parent,"+e.data.Id);else{var A=n.snapshot.queryParams;s[i.QUERY_PARAMS.PROVIDER]=A[i.QUERY_PARAMS.PROVIDER],s[i.QUERY_PARAMS.CULTURE]=A[i.QUERY_PARAMS.CULTURE]}if(r)for(var l in r)r.hasOwnProperty(l)&&(s[l]=r[l]);return s},NavigateCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"GridNavigationComponent",(function(){return s}));n(317),n(11);var o=n(246),i=n(229),r=n(261),a=n(354);function GridNavigationComponent_div_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",1),i["ɵɵelementStart"](1,"a",2),i["ɵɵlistener"]("click",(function GridNavigationComponent_div_0_Template_a_click_1_listener(){i["ɵɵrestoreView"](n);var e=i["ɵɵnextContext"]();return e.clickHandler(e.parentItem)}))("keyup.enter",(function GridNavigationComponent_div_0_Template_a_keyup_enter_1_listener(){i["ɵɵrestoreView"](n);var e=i["ɵɵnextContext"]();return e.enterButtonHandler(e.parentItem)})),i["ɵɵelement"](2,"sf-icon",3),i["ɵɵtext"](3),i["ɵɵpipe"](4,"lowercase"),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵadvance"](3),i["ɵɵtextInterpolate1"](" All ",i["ɵɵpipeBind1"](4,1,o.parentDisplayName)," ")}}var s=function(){function GridNavigationComponent(){this.parentDisplayName=o.stringConstants.EMPTY_STRING}return GridNavigationComponent.ɵfac=function GridNavigationComponent_Factory(e){return new(e||GridNavigationComponent)},GridNavigationComponent.ɵcmp=i["ɵɵdefineComponent"]({type:GridNavigationComponent,selectors:[["sf-grid-navigation"]],inputs:{entityData:"entityData",parentItem:"parentItem",itemsState$:"itemsState$",clickHandler:"clickHandler",enterButtonHandler:"enterButtonHandler",parentDisplayName:"parentDisplayName"},decls:2,vars:3,consts:[["class","sf-tree-list__back",4,"ngIf"],[1,"sf-tree-list__back"],["tabindex","0",1,"-sf-pt-4xs","-sf-pb-4xs","-sf-fade-in",3,"click","keyup.enter"],["name","angle-left","look","color-inherit"]],template:function GridNavigationComponent_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,GridNavigationComponent_div_0_Template,5,3,"div",0),i["ɵɵpipe"](1,"async")),2&e){var n=null;i["ɵɵproperty"]("ngIf",t.entityData.metadata.hasParent&&!t.entityData.metadata.isSelfReferencing||t.entityData.metadata.ignoreParentChildRelationship&&(null==(n=i["ɵɵpipeBind1"](1,1,t.itemsState$))?null:n.hasItems))}},directives:[r.NgIf,a.SfIconComponent],pipes:[r.AsyncPipe,r.LowerCasePipe],encapsulation:2}),GridNavigationComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"BUNDLE_DATA_OPERATIONS",(function(){return s})),n.d(t,"BATCH_SIZE",(function(){return A})),n.d(t,"BundleDataService",(function(){return l}));var o=n(277),i=n(11),r=n(281),a=n(229),s={ANALYTICS:"Default.Analytics",SHARED_IN_COUNT:"Default.SharedInCount"},A=50,l=function(){function BundleDataService(e,t){this.sitefinitySdk=e,this.errorParserService=t,this.responses=new i.BehaviorSubject(null),this._data={}}return Object.defineProperty(BundleDataService.prototype,"data",{get:function(){return Object.assign({},this._data)},enumerable:!1,configurable:!0}),BundleDataService.prototype.requestBatch=function(e,t,n,o){var i=this;(void 0===o&&(o=!0),o)?e.map((function(e){return e.action})).reduce((function(e,t){return-1===e.indexOf(t)&&e.push(t),e}),[]).forEach((function(e){i._data[e]={}})):e=e.filter((function(e){return!i.data[e.action]||!i.data[e.action][e.id]}));for(var r=[],a=0;a0){var s=n+"(keys=["+a.map((function(e){return"'"+e.key+"'"})).join(",")+"])",A=this.sitefinitySdk.instance.batch((function(e){var t,o;r._data[n]||(r._data[n]={}),null===(o=null===(t=e.data[0])||void 0===t?void 0:t.response.data.value)||void 0===o||o.forEach((function(e){r._data[n][e.Id]={data:e}})),r.responses.next({cleanRequest:i})}),(function(e){throw r.errorParserService.parseError(e)}),{providerName:t.provider,cultureName:t.culture,siteId:o});A.get({entitySet:t.metadata.setName,action:s,providerName:t.provider,cultureName:t.culture}),A.execute()}},BundleDataService.ɵfac=function BundleDataService_Factory(e){return new(e||BundleDataService)(a["ɵɵinject"](o.SitefinitySdk),a["ɵɵinject"](r.ErrorParserService))},BundleDataService.ɵprov=a["ɵɵdefineInjectable"]({token:BundleDataService,factory:BundleDataService.ɵfac}),BundleDataService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ChangeOwnerCommand",(function(){return m}));var o=n(259),i=n(1118),r=n(11),a=n(131),s=n(1394),A=n(1396),l=n(361),c=n(1171),d=n(1178),p=n(1177),f=n(229),u=n(1183),m=function(){function ChangeOwnerCommand(e,t,n){this.modalWindowService=e,this.dynamicItemStore=t,this.notificationService=n,this.executeOnceInBulk=!0}return ChangeOwnerCommand.prototype.execute=function(e){var t=this,n=new r.ReplaySubject(1),o=this.getChangeOwnerComponentData(e,n),s=[new i.ConfirmButton(l.SelectorConstants.USE_SELECTED,(function(o){return t.onDoneClicked(e,o.component,n)})),new i.CancelButton],A=new i.DialogData(o,(function(e){e.type===i.ClosingContextType.ButtonClicked&&e.data&&e.data.data?n.next(e.data.data):n.next({success:!1})}),s,null,"-bottom");return this.modalWindowService.setMapping(A),this.modalWindowService.show(i.DEFAULT_URL_KEY,e.currentRoute.parent),n.pipe(Object(a.first)())},ChangeOwnerCommand.prototype.getNotification=function(e,t,n){var o=t&&t.length>0,i=e&&e.length>0,r={type:u.BulkOperationsNotificationComponent,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:"update"},id:"bulkOperationsNotification",look:d.NOTIFICATION_LOOKS.SUCCESS};return i?(r.look=d.NOTIFICATION_LOOKS.SUCCESS,r.duration=s.SUCCESSFUL_NOTIFFICATION_TIME):o&&(r.look=d.NOTIFICATION_LOOKS.ERROR,r.closeButton=!0),r},ChangeOwnerCommand.prototype.getChangeOwnerComponentData=function(e,t){return{type:A.ChangeOwnerComponent,properties:{entityData:e.data.entityData,selectedItems:e.data.selectedItems}}},ChangeOwnerCommand.prototype.onDoneClicked=function(e,t,n){var o=this,a=new r.ReplaySubject(1);if(t.selected.length>0){var s=t.selectedItems.map((function(e){return e.key})),A=t.selected[0].Id,l={itemIds:s,userId:A};this.dynamicItemStore.executeEntityOperation(e.data.entityData,"Default.ChangeOwner",l).subscribe((function(){var e={success:!0,succeededItemsIds:s};1===s.length&&o.notificationService.publishBasicNotification({message:"Owner changed successfully.",look:d.NOTIFICATION_LOOKS.SUCCESS}),a.next(new i.ClickResult(e,!0))}),(function(){var e={success:!0,failedItemsIds:s};1===s.length&&o.notificationService.publishBasicNotification({message:"Failed to change owner.",look:d.NOTIFICATION_LOOKS.ERROR}),a.next(new i.ClickResult(e,!0))}))}return a},ChangeOwnerCommand=Object(o.__decorate)([Object(o.__param)(2,Object(f.Inject)(p.NOTIFICATION_SERVICE)),Object(o.__metadata)("design:paramtypes",[i.ModalWindowService,c.DynamicItemStore,p.NotificationService])],ChangeOwnerCommand)}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SUCCESSFUL_NOTIFFICATION_TIME",(function(){return l})),n.d(t,"BULK_BATCH_COUNT",(function(){return c})),n.d(t,"BulkCommand",(function(){return d}));var o,i=n(11),r=n(131),a=n(1395),s=n(1178),A=n(1183),l=5e3,c=5,d=function(){function BulkCommand(e){this.innerCommand=e}return BulkCommand.prototype.confirm=function(e){var t=this.innerCommand;return t.confirm?t.confirm(e):(e.data.confirmed=!0,Object(i.of)(e))},BulkCommand.prototype.execute=function(e){var t=this;if(!e.data.bulk||Object(a.instanceOfExecuteOnceInBulkCommand)(this.innerCommand))return this.innerCommand.execute(e);var n=Object(i.from)(e.data.selectedItems),o=new i.ReplaySubject(1),s={success:!0,failedItemsIds:[],succeededItemsIds:[],failedItemsErrors:{}};return n.pipe(Object(r.mergeMap)((function(n){return t.getOperationExecutionResult(n,e)}),null,5)).subscribe((function(e){e.success?s.succeededItemsIds.push(e.key):(s.failedItemsIds.push(e.key),s.failedItemsErrors[e.key]=e.error)}),(function(e){throw e}),(function(){o.next(s)})),o},BulkCommand.prototype.getNotification=function(e,t,n){var o=e&&e.length>0&&t&&t.length>0,i=!o&&t&&t.length>0,r=!o&&e&&e.length>0,a={type:A.BulkOperationsNotificationComponent,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:n.action.name.toLowerCase()},id:"bulkOperationsNotification",look:s.NOTIFICATION_LOOKS.SUCCESS};return r?(a.look=s.NOTIFICATION_LOOKS.SUCCESS,a.duration=l):i?(a.look=s.NOTIFICATION_LOOKS.ERROR,a.closeButton=!0):o&&(a.look=s.NOTIFICATION_LOOKS.WARNING,a.closeButton=!0),a},BulkCommand.prototype.getOperationExecutionResult=function(e,t){var n=new i.ReplaySubject(1),o=Object.assign({},t);return o.data=Object.assign({},t.data),o.data.dataItem=e,this.innerCommand.execute(o).subscribe((function(e){return n.next(e)}),(function(t){return n.next({key:e.key,success:!1,error:t})})),n.pipe(Object(r.first)())},BulkCommand}();!function(e){e.Success="Success",e.Warning="Warning",e.Error="Error"}(o||(o={}))},function(e,t,n){"use strict";function instanceOfExecuteOnceInBulkCommand(e){return"executeOnceInBulk"in e}n.r(t),n.d(t,"instanceOfExecuteOnceInBulkCommand",(function(){return instanceOfExecuteOnceInBulkCommand}))},function(e,t,n){"use strict";n.r(t),n.d(t,"GET_OWNER_OPERATION",(function(){return c})),n.d(t,"ChangeOwnerComponent",(function(){return d}));var o=n(11),i=n(131),r=n(1171),a=n(1107),s=n(246),A=n(1140),l=n(229);function ChangeOwnerComponent_ng_container_0_Template(e,t){if(1&e){var n=l["ɵɵgetCurrentView"]();l["ɵɵelementContainerStart"](0),l["ɵɵelementStart"](1,"sf-show-all",1),l["ɵɵlistener"]("providerChanged",(function ChangeOwnerComponent_ng_container_0_Template_sf_show_all_providerChanged_1_listener(e){return l["ɵɵrestoreView"](n),l["ɵɵnextContext"]().providerChanged(e)})),l["ɵɵelementEnd"](),l["ɵɵelementContainerEnd"]()}if(2&e){var o=t.ngIf,i=l["ɵɵnextContext"]();l["ɵɵadvance"](1),l["ɵɵproperty"]("value",i.users)("totalItemsCount",i.totalCount)("defaultField",i.viewModel.DefaultField)("typeNames",i.viewModel.TypeNames)("treeConfig",i.treeConfig)("config",i.selectorConfig)("selected",i.selected)("loading",i.isLoading)("serviceAware",i.serviceAware)("allItemsTabType",i.allItemsTabType)("allItemsTabTypePropertyValues",o)}}var c="Default.GetOwner()",d=function(){function ChangeOwnerComponent(e){this.dynamicItemStore=e,this.users=[],this.selectorConfig=null,this.selected=[],this.allItemsTabType=A.ProviderSelectorComponent,this.currentOwnerId=null}return ChangeOwnerComponent.prototype.ngOnInit=function(){var e=this;this.viewModel={Title:"Change "+(this.selectedItems.length>1?this.entityData.metadata.displayName.toLowerCase():this.entityData.metadata.singularName.toLowerCase())+" owner",DefaultField:"FullName",TypeNames:{plural:"users",singular:"user"}},this.treeConfig={multiSelection:!1,isHierarchical:!1,avatar:!0,description:!0,treeProperties:{displayField:this.viewModel.DefaultField}},this.selectorConfig={selectionText:this.viewModel.Title,formattedTypeName:s.stringConstants.EMPTY_STRING,mainTabConfig:{title:this.viewModel.Title}},this.serviceAware=new a.ServiceContract((function(t){return e.loadMore(t)})),this.loadProviders()},ChangeOwnerComponent.prototype.providerChanged=function(e){this.selectedProviderName=e,this.loadMore({})},ChangeOwnerComponent.prototype.loadProviders=function(){var e=this;this.isLoading=!0,this.providersAsync=new o.ReplaySubject(1),this.dynamicItemStore.service.executeUnboundFunction("Default.GetUserProviders()").pipe(Object(i.map)((function(t){var n=t.value.find((function(e){return e.isDefault}));e.selectedProviderName=n.name,e.dynamicItemStore.service.executeBoundFunction(e.selectedItems[0],c).subscribe((function(n){e.currentOwnerId=n.value,e.dynamicItemStore.service.executeUnboundFunction("Default.GetUsers(provider='"+e.selectedProviderName+"',search='')").subscribe((function(n){e.totalCount=n["@odata.count"];var o=n.value;e.users=e.addFieldsToOwners(o),e.providersAsync.next({providersCollection:t.value}),1===e.selectedItems.length&&e.selectCurrentOwner(e.users),e.isLoading=!1}))}))}))).subscribe()},ChangeOwnerComponent.prototype.loadMore=function(e){var t,n=this,o=(null===(t=e.searchText)||void 0===t?void 0:t.trim())||s.stringConstants.EMPTY_STRING,r=e.skip||s.stringConstants.EMPTY_STRING,a=e.take||s.stringConstants.EMPTY_STRING;return this.dynamicItemStore.service.executeUnboundFunction("Default.GetUsers(provider='"+this.selectedProviderName+"',search='"+o+"')?$skip="+r+"&$top="+a).pipe(Object(i.map)((function(e){var t=e.value,o=n.addFieldsToOwners(t);return 0===n.selected.length&&n.selectCurrentOwner(o),{dataItems:o,totalCount:e["@odata.count"]}}))).toPromise()},ChangeOwnerComponent.prototype.selectCurrentOwner=function(e){var t=this,n=e.find((function(e){return e.Id===t.currentOwnerId}));void 0!==n&&(this.selected=[n])},ChangeOwnerComponent.prototype.addFieldsToOwners=function(e){return e.map((function(e){return Object.assign({},e,{showViewUrl:!1,searchDescription:!0,description:e.UserEmail,userAvatar:e.ImageUrl})}))},ChangeOwnerComponent.ɵfac=function ChangeOwnerComponent_Factory(e){return new(e||ChangeOwnerComponent)(l["ɵɵdirectiveInject"](r.DynamicItemStore))},ChangeOwnerComponent.ɵcmp=l["ɵɵdefineComponent"]({type:ChangeOwnerComponent,selectors:[["ng-component"]],inputs:{entityData:"entityData",selectedItems:"selectedItems"},decls:2,vars:3,consts:[[4,"ngIf"],[3,"value","totalItemsCount","defaultField","typeNames","treeConfig","config","selected","loading","serviceAware","allItemsTabType","allItemsTabTypePropertyValues","providerChanged"]],template:function ChangeOwnerComponent_Template(e,t){1&e&&(l["ɵɵtemplate"](0,ChangeOwnerComponent_ng_container_0_Template,2,11,"ng-container",0),l["ɵɵpipe"](1,"async")),2&e&&l["ɵɵproperty"]("ngIf",l["ɵɵpipeBind1"](1,1,t.providersAsync))},encapsulation:2}),ChangeOwnerComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"GridReloadService",(function(){return r}));var o=n(11),i=n(229),r=function(){function GridReloadService(){this.reloadRequest$=new o.ReplaySubject(1),this.reloadRequested=this.reloadRequest$.asObservable()}return GridReloadService.prototype.requestReload=function(){this.reloadRequest$.next(null)},GridReloadService.ɵfac=function GridReloadService_Factory(e){return new(e||GridReloadService)},GridReloadService.ɵprov=i["ɵɵdefineInjectable"]({token:GridReloadService,factory:GridReloadService.ɵfac}),GridReloadService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"InfiniteScrollerOnElementDirective",(function(){return r}));var o=n(229),i=n(1108),r=function(){function InfiniteScrollerOnElementDirective(e){var t=this;this.el=e,this.scrolledToBottom=new o.EventEmitter,this.previousScrollPosition=0,this.scrollEventListener=function(e){return t.onWindowScroll(e)},this.el.nativeElement.addEventListener(i.SCROLL_EVENT,this.scrollEventListener)}return InfiniteScrollerOnElementDirective.prototype.ngOnDestroy=function(){this.el.nativeElement.removeEventListener(i.SCROLL_EVENT,this.scrollEventListener)},InfiniteScrollerOnElementDirective.prototype.onWindowScroll=function(e){this.el.nativeElement.scrollTop+this.el.nativeElement.clientHeight>=this.el.nativeElement.scrollHeight-i.SCROLL_TO_BOTTOM_OFFSET&&this.previousScrollPosition+i.REPORT_SCROLL_TIME0})).length>=n?this.isVisible=!0:this.isVisible=!1},ContentSectionMenuComponent.prototype.onScrollCompleted=function(){this.isScrollingFromItemClick=!1},ContentSectionMenuComponent.prototype.onFieldViewPortChanges=function(e){var t=this.items.find((function(t){return t.originalModel.equals(e.model)}));if(t){var n=this.visibleFieldSectionsIndexes.findIndex((function(e){return e===t.index}));e.isInViewPort?-1===n&&this.visibleFieldSectionsIndexes.push(t.index):n>-1&&this.visibleFieldSectionsIndexes.splice(n,1),this.isScrollingFromItemClick||this.updateHighlightedItemIndex()}else this.isScrollingFromItemClick||this.updateHighlightedItemIndex()},ContentSectionMenuComponent.prototype.updateHighlightedItemIndex=function(){if(this.items.forEach((function(e){e.isActive=!1})),this.visibleFieldSectionsIndexes.length>0)for(var e=this.visibleFieldSectionsIndexes.sort()[0],t=0,n=this.items;t0&&t.push(o)})),t):t},ContentSectionMenuComponent.ɵfac=function ContentSectionMenuComponent_Factory(e){return new(e||ContentSectionMenuComponent)(l["ɵɵdirectiveInject"](s.ScrollService),l["ɵɵdirectiveInject"](i.ContentSectionMenuService),l["ɵɵdirectiveInject"](A.ExternalAppConfigService))},ContentSectionMenuComponent.ɵcmp=l["ɵɵdefineComponent"]({type:ContentSectionMenuComponent,selectors:[["sf-content-section-menu"]],hostBindings:function ContentSectionMenuComponent_HostBindings(e,t){1&e&&l["ɵɵlistener"]("scroll",(function ContentSectionMenuComponent_scroll_HostBindingHandler(){return t.requestFieldSectionsCalulations()}),!1,l["ɵɵresolveWindow"])},inputs:{sections:"sections"},features:[l["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[["class","sf-section-nav",4,"ngIf"],[1,"sf-section-nav"],[1,"h5"],[1,"-list-style-none","-sf-mt-2xs","-sf-mb-xl"],["class","-sf-mb-3xs",3,"-sf-hidden",4,"ngFor","ngForOf"],["tabindex","0",1,"sf-link","-side-secondary",3,"click","keyup.enter"],[1,"sf-fa","sf-fa-long-arrow-up"],[1,"-sf-mb-3xs"],["tabindex","0",1,"-side-secondary","-sf-block","-sf-overflow-ellipsis",3,"click","keyup.enter"]],template:function ContentSectionMenuComponent_Template(e,t){1&e&&l["ɵɵtemplate"](0,ContentSectionMenuComponent_div_0_Template,8,1,"div",0),2&e&&l["ɵɵproperty"]("ngIf",t.isVisible&&t.items.length>0)},directives:[c.NgIf,c.NgForOf],encapsulation:2}),ContentSectionMenuComponent}(r.RxBaseComponent),p=function(e){function ContentSectionMenuItemModel(){var t=null!==e&&e.apply(this,arguments)||this;return t.isActive=!1,t}return Object(o.__extends)(ContentSectionMenuItemModel,e),ContentSectionMenuItemModel}(a.FieldSectionModel)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentSectionMenuService",(function(){return a}));var o=n(131),i=n(11),r=n(229),a=function(){function ContentSectionMenuService(){this.requestBringIntoViewSource=new i.Subject,this.fieldViewPortChangesSource=new i.Subject,this.requestFieldSectionPositionCalculationSource=new i.Subject,this.requestBringIntoView$=this.requestBringIntoViewSource.asObservable(),this.fieldViewPortChanges$=this.fieldViewPortChangesSource.asObservable(),this.requestFieldSectionPositionCalculation$=this.requestFieldSectionPositionCalculationSource.asObservable().pipe(Object(o.debounceTime)(80))}return ContentSectionMenuService.prototype.requestBringIntoView=function(e){this.requestBringIntoViewSource.next(e)},ContentSectionMenuService.prototype.fieldViewPortChanges=function(e){this.fieldViewPortChangesSource.next(e)},ContentSectionMenuService.prototype.requestFieldSectionPositionCalculation=function(){this.requestFieldSectionPositionCalculationSource.next()},ContentSectionMenuService.ɵfac=function ContentSectionMenuService_Factory(e){return new(e||ContentSectionMenuService)},ContentSectionMenuService.ɵprov=r["ɵɵdefineInjectable"]({token:ContentSectionMenuService,factory:ContentSectionMenuService.ɵfac}),ContentSectionMenuService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EDIT_MENU_TOKEN",(function(){return i})),n.d(t,"CompositeEditMenuProvider",(function(){return r}));var o=n(229),i=new o.InjectionToken("edit-menu-token"),r=function(){function CompositeEditMenuProvider(e){this.editMenuProviders=e}return CompositeEditMenuProvider.prototype.getButtons=function(e){if(null!==this.editMenuProviders)return this.editMenuProviders.map((function(t){return t.getButtons(e)})).reduce((function(e,t){return e.concat(t)}))},CompositeEditMenuProvider.ɵfac=function CompositeEditMenuProvider_Factory(e){return new(e||CompositeEditMenuProvider)(o["ɵɵinject"](i,8))},CompositeEditMenuProvider.ɵprov=o["ɵɵdefineInjectable"]({token:CompositeEditMenuProvider,factory:CompositeEditMenuProvider.ɵfac}),CompositeEditMenuProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"HiddenComponent",(function(){return A}));var o=n(259),i=n(336),r=n(354),a=n(229),s=n(324),A=function(e){function HiddenComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.type="hidden",t}return Object(o.__extends)(HiddenComponent,e),HiddenComponent.ɵfac=function HiddenComponent_Factory(e){return l(e||HiddenComponent)},HiddenComponent.ɵcmp=a["ɵɵdefineComponent"]({type:HiddenComponent,selectors:[["sf-hidden"]],viewQuery:function HiddenComponent_Query(e,t){if(1&e&&a["ɵɵviewQuery"](r.SfInputComponent,3),2&e){var n;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.inputComponent=n.first)}},features:[a["ɵɵInheritDefinitionFeature"]],decls:1,vars:3,consts:[["ngDefaultControl","",3,"ngModel","name","type","ngModelChange"]],template:function HiddenComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"sf-input",0),a["ɵɵlistener"]("ngModelChange",(function HiddenComponent_Template_sf_input_ngModelChange_0_listener(e){return t.value=e})),a["ɵɵelementEnd"]()),2&e&&a["ɵɵproperty"]("ngModel",t.value)("name",t.settings.key)("type",t.type)},directives:[r.SfInputComponent,s.DefaultValueAccessor,s.NgControlStatus,s.NgModel],encapsulation:2}),HiddenComponent}(i.FieldBase),l=a["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"ClickNotificationComponent",(function(){return d}));var o=n(259),i=(n(11),n(264)),r=n(266),a=n(1104),s=n(229),A=n(261),l=n(354),c=n(1181);function ClickNotificationComponent_div_0_ng_container_1_Template(e,t){1&e&&s["ɵɵelementContainer"](0)}function ClickNotificationComponent_div_0_sf_notification_2_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"sf-notification",6),s["ɵɵelement"](1,"div",7),s["ɵɵpipe"](2,"sfSanitizer"),s["ɵɵelementEnd"]()),2&e){var n=s["ɵɵnextContext"](2);s["ɵɵproperty"]("caption",n.notificationContext.caption)("look",n.notificationContext.look),s["ɵɵadvance"](1),s["ɵɵproperty"]("innerHtml",s["ɵɵpipeBind2"](2,3,n.notificationContext.description,"html"),s["ɵɵsanitizeHtml"])}}function ClickNotificationComponent_div_0_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"div",3),s["ɵɵlistener"]("contentFocusOut",(function ClickNotificationComponent_div_0_Template_div_contentFocusOut_0_listener(){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onFocusOutHandler()})),s["ɵɵtemplate"](1,ClickNotificationComponent_div_0_ng_container_1_Template,1,0,"ng-container",4),s["ɵɵtemplate"](2,ClickNotificationComponent_div_0_sf_notification_2_Template,3,6,"sf-notification",5),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"](),i=s["ɵɵreference"](2),r=s["ɵɵreference"](4);s["ɵɵclassProp"]("-dropped",o.isNotificationVisible),s["ɵɵproperty"]("closeOnContentClick",o.shouldCloseOnContentClick),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",o.notificationContext.displayButton)("ngIfThen",i)("ngIfElse",r),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",o.isNotificationVisible)}}function ClickNotificationComponent_ng_template_1_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-button",8),s["ɵɵlistener"]("onClick",(function ClickNotificationComponent_ng_template_1_Template_sf_button_onClick_0_listener(){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onClickHandler()})),s["ɵɵtext"](1),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵadvance"](1),s["ɵɵtextInterpolate"](o.notificationContext.linkText)}}function ClickNotificationComponent_ng_template_3_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-icon",9),s["ɵɵlistener"]("click",(function ClickNotificationComponent_ng_template_3_Template_sf_icon_click_0_listener(){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onClickHandler()}))("keyup.enter",(function ClickNotificationComponent_ng_template_3_Template_sf_icon_keyup_enter_0_listener(){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onClickHandler()})),s["ɵɵelementEnd"]()}}var d=function(e){function ClickNotificationComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.notificationContext={isVisible:!1,displayButton:!0,look:"tooltip down-left"},t.isNotificationVisible=!1,t.shouldCloseOnContentClick=!1,t}return Object(o.__extends)(ClickNotificationComponent,e),ClickNotificationComponent.prototype.ngOnInit=function(){var e=this;if(this.item){var t=this.item.subscribe((function(t){if(!t.isEmpty){var n=t.data[r.Properties.DISPLAY_STATUS];if(n){var o=n.find((function(e){return e.Message.Description&&e.Name!==a.SCHEDULED}));o?(-1!==o.Name.indexOf("Rejected")?e.notificationContext.linkText="See why?":e.notificationContext.linkText="View notes",e.notificationContext.isVisible=!0,e.notificationContext.caption=o.Message.Title,e.notificationContext.description=o.Message.Description):e.notificationContext.isVisible=!1}}}));this.registerSubscription(t)}},ClickNotificationComponent.prototype.onClickHandler=function(){this.isNotificationVisible=!this.isNotificationVisible},ClickNotificationComponent.prototype.onFocusOutHandler=function(){this.isNotificationVisible=!1},ClickNotificationComponent.ɵfac=function ClickNotificationComponent_Factory(e){return p(e||ClickNotificationComponent)},ClickNotificationComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ClickNotificationComponent,selectors:[["sf-click-notification"]],inputs:{item:"item",notificationContext:"notificationContext"},features:[s["ɵɵInheritDefinitionFeature"]],decls:5,vars:1,consts:[["class","sf-tooltip -open-on-click","sfTrackFocus","",3,"closeOnContentClick","-dropped","contentFocusOut",4,"ngIf"],["button",""],["icon",""],["sfTrackFocus","",1,"sf-tooltip","-open-on-click",3,"closeOnContentClick","contentFocusOut"],[4,"ngIf","ngIfThen","ngIfElse"],["class","sf-tooltip__content",3,"caption","look",4,"ngIf"],[1,"sf-tooltip__content",3,"caption","look"],[3,"innerHtml"],["data-sftest","clickNotification","look","link",3,"onClick"],["name","question-circle","look","size-xs sf-clickable","aria-label","Details","data-sftest","hint-icon",3,"click","keyup.enter"]],template:function ClickNotificationComponent_Template(e,t){1&e&&(s["ɵɵtemplate"](0,ClickNotificationComponent_div_0_Template,3,7,"div",0),s["ɵɵtemplate"](1,ClickNotificationComponent_ng_template_1_Template,2,1,"ng-template",null,1,s["ɵɵtemplateRefExtractor"]),s["ɵɵtemplate"](3,ClickNotificationComponent_ng_template_3_Template,1,0,"ng-template",null,2,s["ɵɵtemplateRefExtractor"])),2&e&&s["ɵɵproperty"]("ngIf",t.notificationContext.isVisible)},directives:[A.NgIf,l.SfTrackFocusDirective,l.SfNotificationComponent,l.SfButtonComponent,l.SfIconComponent],pipes:[c.SanitizerPipe],encapsulation:2}),ClickNotificationComponent}(i.RxBaseComponent),p=s["ɵɵgetInheritedFactory"](d)},function(e,t,n){"use strict";n.r(t),n.d(t,"SplitButtonComponent",(function(){return a}));var o=n(229),i=n(354),r=n(261);function SplitButtonComponent_ng_container_7_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementContainerStart"](0),o["ɵɵelementStart"](1,"div",5),o["ɵɵlistener"]("click",(function SplitButtonComponent_ng_container_7_Template_div_click_1_listener(){o["ɵɵrestoreView"](n);var e=t.$implicit;return o["ɵɵnextContext"]().handleItemSelect(e)}))("keydown.Enter",(function SplitButtonComponent_ng_container_7_Template_div_keydown_Enter_1_listener(){o["ɵɵrestoreView"](n);var e=t.$implicit;return o["ɵɵnextContext"]().handleItemSelect(e)})),o["ɵɵtext"](2),o["ɵɵelementEnd"](),o["ɵɵelementContainerEnd"]()}if(2&e){var i=t.$implicit;o["ɵɵadvance"](2),o["ɵɵtextInterpolate1"](" ",i.Name," ")}}var a=function(){function SplitButtonComponent(){this.dropdownClicked=new o.EventEmitter,this.selectionChanged=new o.EventEmitter}return SplitButtonComponent.prototype.ngOnInit=function(){this.generateCssClasses()},SplitButtonComponent.prototype.ngOnChanges=function(e){this.generateCssClasses()},SplitButtonComponent.prototype.handleOnDropdownClick=function(e){this.dropdownClicked.emit(e)},SplitButtonComponent.prototype.handleItemSelect=function(e){this.title=e.Name,this.selectionChanged.emit(e.Value)},SplitButtonComponent.prototype.generateCssClasses=function(){this.wrapperClassName=this.generateWrapperCssClassList()},SplitButtonComponent.prototype.generateWrapperCssClassList=function(){var e="sf-split-button";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e},SplitButtonComponent.ɵfac=function SplitButtonComponent_Factory(e){return new(e||SplitButtonComponent)},SplitButtonComponent.ɵcmp=o["ɵɵdefineComponent"]({type:SplitButtonComponent,selectors:[["sf-split-button"]],inputs:{data:"data",title:"title",look:"look"},outputs:{dropdownClicked:"dropdownClicked",selectionChanged:"selectionChanged"},features:[o["ɵɵNgOnChangesFeature"]],decls:8,vars:3,consts:[["look","link","aria-live","polite"],["dropdown","true","look","circle small sf-mr-zero sf-ml-4xs","iconLook","size-3xs","icon","caret-down",3,"click"],["dropdown","","tabindex","0","role","listbox",1,"sf-dropdown"],[1,"sf-dropdown__heading"],[4,"ngFor","ngForOf"],["tabindex","0","role","option",1,"sf-dropdown__item",3,"click","keydown.Enter"]],template:function SplitButtonComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div"),o["ɵɵelementStart"](1,"sf-button",0),o["ɵɵtext"](2),o["ɵɵelementEnd"](),o["ɵɵelementStart"](3,"sf-button",1),o["ɵɵlistener"]("click",(function SplitButtonComponent_Template_sf_button_click_3_listener(e){return t.handleOnDropdownClick(e)})),o["ɵɵelementStart"](4,"div",2),o["ɵɵelementStart"](5,"div",3),o["ɵɵtext"](6," Source "),o["ɵɵelementEnd"](),o["ɵɵtemplate"](7,SplitButtonComponent_ng_container_7_Template,3,1,"ng-container",4),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵattribute"]("class",t.wrapperClassName),o["ɵɵadvance"](2),o["ɵɵtextInterpolate1"](" ",t.title," "),o["ɵɵadvance"](5),o["ɵɵproperty"]("ngForOf",t.data))},directives:[i.SfButtonComponent,r.NgForOf],encapsulation:2}),SplitButtonComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"RelatedDataGridComponent",(function(){return f}));var o=n(259),i=n(1118),r=n(1184),a=n(1236),s=n(229),A=n(261),l=n(360),c=n(1100),d=n(1406),p=n(1101);function RelatedDataGridComponent_ng_container_0_Template(e,t){1&e&&s["ɵɵelementContainer"](0)}function RelatedDataGridComponent_ng_template_1_a_0_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"a",5),s["ɵɵlistener"]("click",(function RelatedDataGridComponent_ng_template_1_a_0_Template_a_click_0_listener(){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"](2).onShowAllRelatedData()})),s["ɵɵelementStart"](1,"span",6),s["ɵɵtext"](2),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"](2);s["ɵɵadvance"](2),s["ɵɵtextInterpolate1"](" ",o.value.length," ")}}function RelatedDataGridComponent_ng_template_1_span_1_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"span",7),s["ɵɵtext"](1,"0"),s["ɵɵelementEnd"]())}function RelatedDataGridComponent_ng_template_1_Template(e,t){if(1&e&&(s["ɵɵtemplate"](0,RelatedDataGridComponent_ng_template_1_a_0_Template,3,1,"a",3),s["ɵɵtemplate"](1,RelatedDataGridComponent_ng_template_1_span_1_Template,2,0,"span",4)),2&e){var n=s["ɵɵnextContext"]();s["ɵɵproperty"]("ngIf",n.value&&n.value.length),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",!n.value||!n.value.length)}}function RelatedDataGridComponent_ng_template_3_ng_container_0_div_3_Template(e,t){if(1&e&&(s["ɵɵelement"](0,"div",11),s["ɵɵpipe"](1,"sfBreadcrumb"),s["ɵɵpipe"](2,"sfTrimTextLength"),s["ɵɵpipe"](3,"sfBreadcrumb"),s["ɵɵpipe"](4,"sfHtmlEscape")),2&e){var n=s["ɵɵnextContext"](3);s["ɵɵproperty"]("title",s["ɵɵpipeBind3"](1,2,n.value[0].Breadcrumb,!1,!1))("innerHTML",s["ɵɵpipeBind2"](2,6,s["ɵɵpipeBind3"](3,9,s["ɵɵpipeBind1"](4,13,n.value[0].Breadcrumb),!0,!0),25),s["ɵɵsanitizeHtml"])}}var _c0=function(e){return{"-sf-txt-dimmed":e}};function RelatedDataGridComponent_ng_template_3_ng_container_0_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵelementStart"](1,"span",9),s["ɵɵtext"](2),s["ɵɵelementEnd"](),s["ɵɵtemplate"](3,RelatedDataGridComponent_ng_template_3_ng_container_0_div_3_Template,5,15,"div",10),s["ɵɵelementContainerEnd"]()),2&e){var n=s["ɵɵnextContext"](2);s["ɵɵadvance"](1),s["ɵɵproperty"]("trimLength",70)("ngClass",s["ɵɵpureFunction1"](4,_c0,!1===n.value[0].isTranslated)),s["ɵɵadvance"](1),s["ɵɵtextInterpolate"](n.value[0][n._defaultFieldName]),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",n.showBreadcrumb&&n.value[0].Breadcrumb)}}function RelatedDataGridComponent_ng_template_3_Template(e,t){if(1&e&&s["ɵɵtemplate"](0,RelatedDataGridComponent_ng_template_3_ng_container_0_Template,4,6,"ng-container",8),2&e){var n=s["ɵɵnextContext"]();s["ɵɵproperty"]("ngIf",n.value&&n.value.length)}}var f=function(e){function RelatedDataGridComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(RelatedDataGridComponent,e),RelatedDataGridComponent.prototype.ngOnInit=function(){this.retrieveItems=!1,this.settings.culture=this.context.dataItem.culture,e.prototype.ngOnInit.call(this),this.showCount=this.settings.allowMultiple,this.settings.allowAdd=!1,this.settings.allowRemove=!1},RelatedDataGridComponent.prototype.onShowAllRelatedData=function(){var e={type:r.ItemListComponent,properties:{dataItemsIds:this.value.map((function(e){return e.Id})),dataItems:this.value,componentTitle:this.settings.title,componentSubtitle:this.context.dataItem.title,showCount:!0,treeConfig:{status:!0,noSelection:!0,description:!0,treeProperties:{displayField:this._defaultFieldName},dataProperties:{breadcrumbField:"Breadcrumb"},isHierarchical:!1,showBreadcrumb:this.showBreadcrumb}}},t=new i.DialogData(e,null,[],null,"-bottom");this.modalService.setMapping(t),this.modalService.open(this.route)},RelatedDataGridComponent.ɵfac=function RelatedDataGridComponent_Factory(e){return u(e||RelatedDataGridComponent)},RelatedDataGridComponent.ɵcmp=s["ɵɵdefineComponent"]({type:RelatedDataGridComponent,selectors:[["sf-related-data-grid"]],features:[s["ɵɵInheritDefinitionFeature"]],decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["multipleChildren",""],["onlyOneChild",""],[3,"click",4,"ngIf"],["class","sf-badge -sf-ml-3xs",4,"ngIf"],[3,"click"],[1,"sf-badge","-sf-ml-3xs","-positive","-ellipse"],[1,"sf-badge","-sf-ml-3xs"],[4,"ngIf"],["sfTextOverflow","",3,"trimLength","ngClass"],["class","sf-breadcrumb",3,"title","innerHTML",4,"ngIf"],[1,"sf-breadcrumb",3,"title","innerHTML"]],template:function RelatedDataGridComponent_Template(e,t){if(1&e&&(s["ɵɵtemplate"](0,RelatedDataGridComponent_ng_container_0_Template,1,0,"ng-container",0),s["ɵɵtemplate"](1,RelatedDataGridComponent_ng_template_1_Template,2,2,"ng-template",null,1,s["ɵɵtemplateRefExtractor"]),s["ɵɵtemplate"](3,RelatedDataGridComponent_ng_template_3_Template,1,1,"ng-template",null,2,s["ɵɵtemplateRefExtractor"])),2&e){var n=s["ɵɵreference"](2),o=s["ɵɵreference"](4);s["ɵɵproperty"]("ngTemplateOutlet",t.showCount?n:o)}},directives:[A.NgTemplateOutlet,A.NgIf,l.TextOverflowDirective,A.NgClass],pipes:[c.BreadcrumbPipe,d.TrimTextLengthPipe,p.HtmlEscapePipe],encapsulation:2}),RelatedDataGridComponent}(a.RelatedDataReadonlyComponent),u=s["ɵɵgetInheritedFactory"](f)},function(e,t,n){"use strict";n.r(t),n.d(t,"TrimTextLengthPipe",(function(){return r}));var o=n(246),i=n(229),r=function(){function TrimTextLengthPipe(){}return TrimTextLengthPipe.prototype.transform=function(e){for(var t=[],n=1;nr&&(i=i.substring(0,r)+"..."),i},TrimTextLengthPipe.ɵfac=function TrimTextLengthPipe_Factory(e){return new(e||TrimTextLengthPipe)},TrimTextLengthPipe.ɵpipe=i["ɵɵdefinePipe"]({name:"sfTrimTextLength",type:TrimTextLengthPipe,pure:!0}),TrimTextLengthPipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SwitchWrapperComponent",(function(){return s}));var o=n(259),i=n(336),r=n(229),a=n(354),s=function(e){function SwitchWrapperComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(SwitchWrapperComponent,e),SwitchWrapperComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this);var t=this.settings;this.id=t.title,this.onText=t.onText,this.offText=t.offText,this.isOn=e.prototype.getValue.call(this)},SwitchWrapperComponent.prototype.onSelectionChange=function(){this.isLoading=!0,e.prototype.writeValue.call(this,!this.isOn)},SwitchWrapperComponent.prototype.writeValue=function(t){this.isLoading&&e.prototype.writeValue.call(this,t),this.isLoading=!1,this.isOn=t},SwitchWrapperComponent.ɵfac=function SwitchWrapperComponent_Factory(e){return A(e||SwitchWrapperComponent)},SwitchWrapperComponent.ɵcmp=r["ɵɵdefineComponent"]({type:SwitchWrapperComponent,selectors:[["sf-switch-wrapper"]],features:[r["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(SwitchWrapperComponent)]),r["ɵɵInheritDefinitionFeature"]],decls:1,vars:5,consts:[[3,"id","onText","offText","isOn","isLoading","selectionChange"]],template:function SwitchWrapperComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"sf-switch",0),r["ɵɵlistener"]("selectionChange",(function SwitchWrapperComponent_Template_sf_switch_selectionChange_0_listener(){return t.onSelectionChange()})),r["ɵɵelementEnd"]()),2&e&&r["ɵɵproperty"]("id",t.id)("onText",t.onText)("offText",t.offText)("isOn",t.isOn)("isLoading",t.isLoading)},directives:[a.SfSwitchComponent],encapsulation:2}),SwitchWrapperComponent}(i.FieldBase),A=r["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyStatusResolver",(function(){return s}));var o=n(259),i=n(256),r=n(1409),a=n(229),s=function(e){function TaxonomyStatusResolver(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TaxonomyStatusResolver,e),TaxonomyStatusResolver.prototype.getLabel=function(t){var n=t&&t.Type?("Flat"===t.Type?"Simple":t.Type)+" list":null,o=e.prototype.getLabel.call(this,t);o&&(n=n?n+" | "+o.Label:o.Label);var i=t&&t.Type?t.Type:null;return n?{Label:n,StatusName:i,HideIcon:!i}:null},TaxonomyStatusResolver.prototype.canProcess=function(e){return e===i.ENTITY_SET.CLASSIFICATIONS},TaxonomyStatusResolver.ɵfac=function TaxonomyStatusResolver_Factory(e){return A(e||TaxonomyStatusResolver)},TaxonomyStatusResolver.ɵprov=a["ɵɵdefineInjectable"]({token:TaxonomyStatusResolver,factory:TaxonomyStatusResolver.ɵfac}),TaxonomyStatusResolver}(r.StatusResolver),A=a["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"StatusResolver",(function(){return l}));var o=n(259),i=n(1104),r=n(1105),a=n(256),s=n(229),A=[a.ENTITY_SET.CLASSIFICATIONS,a.ENTITY_SET.ALBUMS,a.ENTITY_SET.IMAGES,a.ENTITY_SET.DOCUMENT_LIBRARIES,a.ENTITY_SET.DOCUMENTS,a.ENTITY_SET.VIDEO_LIBRARIES,a.ENTITY_SET.VIDEOS,a.ENTITY_SET.CONTENT_ITEMS],l=function(e){function StatusResolver(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(StatusResolver,e),StatusResolver.prototype.getLabel=function(e){var t=this.getStatusInfo(e),n=t.main,o=t.secondary;if(!n)return null;var r=n.Name,a=this.getStatusLabel(n);return o&&(a=a+" | "+this.getStatusLabel(o)),e.LockedStatus&&(a=this.getLockedByLabel(e.LockedStatus.User,a)),{StatusName:r=this.isForTranslation(e)?i.FOR_TRANSLATION_STATUS_NAME:r,Label:a}},StatusResolver.prototype.canProcess=function(e){return-1===A.indexOf(e)},StatusResolver.prototype.getDetailedLabel=function(e){var t=null,n=null,o=null,r=this.getStatusInfo(e).main;if(r)switch(o=this.getDetailedStatus(r.DetailedLabel,r.Date),r.Name){case i.PUBLISHED:t=this.getLastModifiedData(e),n=this.getFirstPublishedData(e);break;case i.UNPUBLISHED:t=this.getStatusData(r),n=this.getFirstPublishedData(e);break;case i.AWAITING_APPROVAL:case i.AWAITING_PUBLISHING:case i.REJECTED:case i.REJECTED_FOR_PUBLISHING:t=this.getStatusData(r),n=this.getCreatedData(e);break;case i.DRAFT:default:t=this.getLastModifiedData(e),n=this.getCreatedData(e)}else o=this.getDetailedStatus("Last modified",e.LastModified),t=this.getLastModifiedData(e),n=this.getCreatedData(e);return{StatusText:o,FirstDate:t,SecondDate:n,LockedText:null}},StatusResolver.prototype.getDetailedStatusText=function(e){var t=this.getStatusInfo(e).main;return this.getDetailedStatus(t.DetailedLabel,t.Date)},StatusResolver.prototype.getDetailedStatus=function(e,t){return e+" "+this.formatDate(t,r.RelativeDatePipe.AUTO_DETAILED)},StatusResolver.prototype.getStatusInfo=function(e){var t={main:null,secondary:null},n=e.DisplayStatus;return n&&n.length>0&&(t.main=n[0],n.length>1&&(t.secondary=n[1])),t},StatusResolver.prototype.getStatusLabel=function(e){var t=e.Name,n=e.Label;if(t===i.SCHEDULED){var o=null,a=null;e.PublicationDate&&(o=this.formatDate(e.PublicationDate,r.RelativeDatePipe.FULL_DATE)),e.ExpirationDate&&(a=this.formatDate(e.ExpirationDate,r.RelativeDatePipe.FULL_DATE)),n=n&&n.endsWith(i.NEWER_THAN_PUBLISHED)?this.getScheduledLabel(o,a)+", "+i.NEWER_THAN_PUBLISHED:this.getScheduledLabel(o,a)}return n},StatusResolver.prototype.getLastModifiedData=function(e){return{Name:"Last modified",Date:this.formatToFullDate(e.LastModified),User:e.LastModifiedBy}},StatusResolver.prototype.getCreatedData=function(e){return{Name:"Created",Date:this.formatToFullDate(e.DateCreated),User:e.CreatedBy}},StatusResolver.prototype.getFirstPublishedData=function(e){return e.FirstPublished?{Name:"First published",Date:this.formatToFullDate(e.FirstPublished.Date),User:e.FirstPublished.User}:null},StatusResolver.prototype.getStatusData=function(e){return{Name:e.DetailedLabel,Date:this.formatToFullDate(e.Date),User:e.User}},StatusResolver.prototype.formatToFullDate=function(e){return this.formatDate(e,r.RelativeDatePipe.FULL_DATE)},StatusResolver.prototype.formatDate=function(e,t){if(void 0===t&&(t=null),e){var n=this.datePipe.transform(e,t);return n=this.lowerFirstLetterPipe.transform(n)}return e},StatusResolver.prototype.getLockedByLabel=function(e,t){return"Locked by "+e+" | "+t},StatusResolver.prototype.getScheduledLabel=function(e,t){return e&&!t?"Scheduled publish "+e:t&&!e?"Scheduled unpublish "+t:t&&e?"Scheduled publish "+e+", unpublish "+t:null},StatusResolver.prototype.isForTranslation=function(e){return!(!e||!e.DisplayStatus)&&e.DisplayStatus.some((function(e){return e.Name.toLowerCase().indexOf(i.FOR_TRANSLATION_STATUS_NAME.toLowerCase())>-1}))},StatusResolver.ɵfac=function StatusResolver_Factory(e){return c(e||StatusResolver)},StatusResolver.ɵprov=s["ɵɵdefineInjectable"]({token:StatusResolver,factory:StatusResolver.ɵfac}),StatusResolver}(i.StatusResolverBase),c=s["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"EditorGridComponent",(function(){return A}));var o=n(259),i=n(1384),r=n(229),a=n(354),s=n(360),A=function(e){function EditorGridComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(EditorGridComponent,e),EditorGridComponent.ɵfac=function EditorGridComponent_Factory(e){return l(e||EditorGridComponent)},EditorGridComponent.ɵcmp=r["ɵɵdefineComponent"]({type:EditorGridComponent,selectors:[["sf-editor-grid-component"]],features:[r["ɵɵInheritDefinitionFeature"]],decls:3,vars:3,consts:[["sfTextDirection","",1,"sf-input","-rich-text",3,"textDirectionValue"],["sfTextOverflow","",3,"trimLength"],["editorHost",""]],template:function EditorGridComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵelement"](1,"div",1,2),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵproperty"]("textDirectionValue",t.initialValue),r["ɵɵadvance"](1),r["ɵɵproperty"]("trimLength",145),r["ɵɵattribute"]("class",t.cssClass))},directives:[a.SfTextDirectionDirective,s.TextOverflowDirective],styles:['@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.-sf-contrast .k-widget, .k-popup, .k-animation-container {\n --color-h2: #696969;\n --color-h5: #696969;\n --color-error: #d40808;\n --color-success: #0E874C;\n --link-secondary-color: #696969;\n --link-side-secondary-color-active: #000;\n --link-side-secondary-color-hover: #000;\n --link-side-secondary-color: #696969;\n --link-color: #005FCC;\n --button-border-color: #cbcbcb;\n --button-interaction-border-color: #cbcbcb;\n --button-disabled-border-color: #f0f0f0;\n --button-disabled-color: #e4e4e4;\n --action-button-border-color: #0E874C;\n --action-button-background-color: #0E874C;\n --action-button-interaction-border-color: #006e33;\n --action-button-interaction-background-color: #006e33;\n --action-button-disabled-border-color: #b7dbca;\n --action-button-disabled-background-color: #b7dbca;\n --delete-button-border-color: #d40808;\n --delete-button-background-color: #d40808;\n --delete-button-interaction-border-color: #bb0000;\n --delete-button-interaction-background-color: #bb0000;\n --delete-button-disabled-border-color: #f2b5b5;\n --delete-button-disabled-background-color: #f2b5b5;\n --date-time-icon-border-color: #cbcbcb;\n --date-time-icon-color: #696969;\n --date-time-content-color: #696969;\n --default-icon-color: #696969;\n --icon-lighter-color: #cbcbcb;\n --icon-light-color: #cbcbcb;\n --icon-illustrative-font-color: #cbcbcb;\n --icon-positive-color: #0E874C;\n --icon-badge-add-color: #333;\n --icon-badge-add-bg-color: #fff;\n --icon-badge-add-border-color: #cbcbcb;\n --status-icon-color-published: #0E874C;\n --status-icon-color-restricted: #d40808;\n --status-bg-color-default: #FF8151;\n --status-icon-color-system: #cbcbcb;\n --status-icon-color-scheduled: #005FCC;\n --badge-white-border-color: #cbcbcb;\n --badge-color-bg-positive: #0E874C;\n --badge-color-bg-negative: #d40808;\n --badge-add-variation-bg-color: #fff;\n --badge-add-variation-border-color: #cbcbcb;\n --badge-add-variation-hover: #e4e4e4;\n --badge-add-variation-border-hover: #cbcbcb;\n --badge-add-variation-color: #333;\n --badge-edit-variation-bg-color: #005FCC;\n --badge-edit-variation-hover: #004faa;\n --badge-color: #333;\n --secondary-text-color: #696969;\n --input-placeholder-color: #696969;\n --input-title-placeholder-color: #909090;\n --input-border: #696969;\n --input-border-hover: #696969;\n --input-char-counter-success-color: #0E874C;\n --input-char-counter-error-color: #d40808;\n --select-border-color: #696969;\n --select-arrow-color: #696969;\n --checkbox-checked-border: #696969;\n --checkbox-border: #696969;\n --checkbox-border-hover: #696969;\n --dropdown-border: #cbcbcb;\n --dropdown-item-counter-neutral: #696969;\n --image-empty-border: #696969;\n --not-translated-image-label-bg: #696969;\n --input-box-shadow-hover: #696969;\n --tree-list-expander-color: #696969;\n}\nbody.-sf-contrast {\n --sf-footer-color: #696969;\n --sf-topbar-color: #696969;\n --sf-h5-color: #696969;\n --sf-navigation-border-color: #cbcbcb;\n --sf-user-info-border-color: #cbcbcb;\n --sf-navigation-caret: #666;\n --sf-live-link: #0E874C;\n --sf-green-main: #0E874C;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.k-widget .sf-modal-window, .k-popup .sf-modal-window, .k-animation-container .sf-modal-window {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n}\n.k-widget .sf-modal-window.-prompt, .k-popup .sf-modal-window.-prompt, .k-animation-container .sf-modal-window.-prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n flex-wrap: wrap;\n}\n.k-widget .sf-modal-window.-no-selection::after, .k-popup .sf-modal-window.-no-selection::after, .k-animation-container .sf-modal-window.-no-selection::after {\n display: block;\n content: " ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: #DCECF5;\n z-index: 1;\n}\n.k-widget .sf-modal-window:not(.-prompt), .k-popup .sf-modal-window:not(.-prompt), .k-animation-container .sf-modal-window:not(.-prompt) {\n padding-bottom: 66px;\n}\n.k-widget .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-prompt) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-prompt) .sf-modal-window__content {\n padding-top: 100px;\n}\n.k-widget .sf-modal-window__head-buttons, .k-popup .sf-modal-window__head-buttons, .k-animation-container .sf-modal-window__head-buttons {\n position: fixed;\n top: 8px;\n right: 15px;\n z-index: 1000000;\n}\n.k-widget .sf-modal-window__top-toolbar, .k-popup .sf-modal-window__top-toolbar, .k-animation-container .sf-modal-window__top-toolbar {\n z-index: 10000000;\n}\n.k-widget .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-popup .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content, .k-animation-container .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content {\n padding-left: 50px;\n padding-right: 50px;\n}\n.k-widget .sf-modal-window__buttons, .k-popup .sf-modal-window__buttons, .k-animation-container .sf-modal-window__buttons {\n background-color: #fff;\n}\n.k-widget .sf-modal-window__buttons.-border-top, .k-popup .sf-modal-window__buttons.-border-top, .k-animation-container .sf-modal-window__buttons.-border-top {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window__buttons.-bottom, .k-popup .sf-modal-window__buttons.-bottom, .k-animation-container .sf-modal-window__buttons.-bottom {\n padding-top: 15px;\n padding-bottom: 15px;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n border-top: 1px solid #eee;\n}\n.k-widget .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-popup .sf-modal-window.-no-padding-top .sf-modal-window__content, .k-animation-container .sf-modal-window.-no-padding-top .sf-modal-window__content {\n padding-top: 0;\n}\n.k-widget .sf-modal-window.-narrow .sf-modal-window__content, .k-popup .sf-modal-window.-narrow .sf-modal-window__content, .k-animation-container .sf-modal-window.-narrow .sf-modal-window__content {\n width: 850px;\n margin: 0 auto;\n}\n.k-widget .sf-modal-window.-preview, .k-popup .sf-modal-window.-preview, .k-animation-container .sf-modal-window.-preview {\n padding-bottom: 0;\n}\n.k-widget .sf-modal-window.-preview .sf-modal-window__content, .k-popup .sf-modal-window.-preview .sf-modal-window__content, .k-animation-container .sf-modal-window.-preview .sf-modal-window__content {\n background-color: #f5f5f5;\n padding-top: 46px;\n min-height: 100vh;\n}\n.k-widget .sf-modal-window__content, .k-popup .sf-modal-window__content, .k-animation-container .sf-modal-window__content {\n background-color: #fff;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.k-widget, .k-popup, .k-animation-container {\n --date-time-icon-border-color: #e4e4e4;\n --date-time-icon-color: #777;\n --date-time-content-color: #656565;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-border-color: #e4e4e4;\n}\nbody {\n --sf-footer-color: #ccc;\n --sf-topbar-color: #999;\n --sf-h5-color: #999;\n --sf-navigation-border-color: #e5e5e5;\n --sf-navigation-caret: #ccc;\n --sf-user-info-border-color: #e4e4e4;\n --sf-live-link: #4cb861;\n --sf-green-main: #38ab63;\n}\n.k-widget, .k-popup, .k-animation-container {\n --tree-list-expander-color: #777;\n}\n.k-widget, .k-popup, .k-animation-container {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n.k-widget, .k-popup, .k-animation-container {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n.k-widget, .k-popup, .k-animation-container {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n.k-widget, .k-popup, .k-animation-container {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.6rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n.k-widget, .k-popup, .k-animation-container {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n.k-widget, .k-popup, .k-animation-container {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n.k-widget, .k-popup, .k-animation-container {\n --select-arrow-color: #777;\n}\n.k-widget, .k-popup, .k-animation-container {\n --input-box-shadow-hover: #e4e4e4;\n}\n.k-widget, .k-popup, .k-animation-container {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n.k-widget, .k-popup, .k-animation-container {\n --secondary-text-color: #999;\n}\n.k-widget, .k-popup, .k-animation-container {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.sf-tabs {\n display: flex;\n justify-content: center;\n}\n.sf-tabs.-large {\n font-size: var(--font-size-lg);\n}\n.sf-tabs__item {\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n}\n.sf-tabs__item.-selected {\n padding-bottom: 5px;\n}\n.sf-tabs__item.-selected, .sf-tabs__item.-selected:hover, .sf-tabs__item.-selected:active, .sf-tabs__item.-selected:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\n.sf-tabs__item.-selected .sf-button.-link {\n color: #333;\n}\n.sf-tabs__badge {\n position: absolute;\n top: 0;\n right: -27px;\n font-size: var(--font-size-base);\n}\n/*\n Tabstrip\n\n Default\n\n `.sf-tabs`\n\n Markup:\n \n\n Styleguide: Tabstrip.default\n */\n/*\n Large\n\n `.sf-tabs.-large`\n\n Markup:\n \n\n Styleguide: Tabstrip.large\n */\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\nhtml .k-editable-area,\nhtml .k-editor {\n padding: 0;\n border: 0;\n}\nhtml .k-editor {\n display: block;\n overflow-y: hidden;\n min-height: 30px;\n color: #333;\n}\nhtml .k-editor:hover {\n box-shadow: 0 0 0 1px var(--input-box-shadow-hover);\n}\nhtml .k-editor:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-editor ul, html .k-editor ol {\n padding-left: 40px;\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-horizontal-rule:before,\nhtml .k-editor-toolbar .k-icon.k-i-horizontal-rule:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-embed:before,\nhtml .k-editor-toolbar .k-icon.k-i-embed:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-icon.k-i-insert-document:before,\nhtml .k-editor-toolbar .k-icon.k-i-insert-document:before {\n content: "\\";\n}\nhtml .k-editor-overflow-popup .k-button {\n width: 100%;\n}\nhtml .k-editor-overflow-popup .k-button:focus, html .k-editor-overflow-popup .k-button.k-state-focused {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .editorToolbarWindow.k-window-content {\n padding: 0 !important;\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editortoolbar-dragHandle {\n display: none !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless {\n position: fixed !important;\n top: 47px !important;\n left: 0 !important;\n right: 0 !important;\n width: 100% !important;\n height: 46px;\n background-color: #f5f5f5;\n border-bottom: 1px solid #eee;\n z-index: 1000 !important;\n}\nhtml .k-editor-widget:not(table).k-window-titleless > .k-window-content {\n padding: 0;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker) {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker).k-state-active {\n border-top: 0;\n border-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-state-border-down:not(.k-overflow-anchor):not(.k-colorpicker) .k-input {\n background-color: #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar {\n display: flex;\n justify-content: center;\n width: 100%;\n height: 46px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar.k-toolbar {\n gap: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-overflow-tools .k-overflow-anchor {\n position: static;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group {\n padding: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group:first-child {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group + .k-tool-group > .k-tool:first-of-type:not(.k-state-disabled) {\n border-left: 1px solid #e4e4e4;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool-group .k-dropdown-wrap .k-select {\n padding-top: 0;\n padding-bottom: 0;\n min-width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-tool {\n margin-right: -1px;\n padding-top: 0;\n padding-bottom: 0;\n border-right: 0;\n border-bottom: 0;\n border-top: 0;\n width: auto;\n height: 100%;\n text-align: center;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-input {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-widget .k-select {\n border-left: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown {\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-editor-dropdown .k-dropdown {\n min-width: 122px !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap {\n border: 0;\n height: 100%;\n line-height: 46px;\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap.k-state-hover {\n color: #333;\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap.k-state-focused {\n box-shadow: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap .k-input {\n padding: 4px 8px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap > .k-i-close {\n width: 16px;\n top: 0;\n right: 32px;\n transform: none;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-dropdown-wrap > .k-i-close::before {\n width: 16px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon {\n padding: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-icon:hover {\n cursor: pointer;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-colorpicker .k-selected-color {\n position: absolute;\n left: 9px;\n bottom: 5px;\n margin-bottom: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-picker-wrap {\n background-image: none;\n border: 0;\n height: 100%;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button {\n border-left: 0;\n border-right: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-hover:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-active:active, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:hover, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:focus, html .k-editor-widget:not(table) .k-editor-toolbar .k-button.k-state-selected:active {\n border-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::before {\n background-color: transparent;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-button::after {\n border: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-state-selected .k-icon::after,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::before,\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-state-border-down .k-icon::after {\n background-color: #e4e4e4;\n border-radius: 0;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon {\n height: 100%;\n font-size: var(--icon-size-m);\n line-height: 46px;\n color: #777;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon:hover {\n color: #333;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before {\n width: 24px;\n height: 25px;\n padding: 5px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon::before, html .k-editor-widget:not(table) .k-editor-toolbar .k-icon::after {\n height: 1.4em;\n line-height: 1.5;\n box-sizing: content-box;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-icon.k-i-html {\n position: fixed;\n top: 47px;\n right: 0;\n height: 46px;\n pointer-events: auto !important;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start:not(.k-group-end):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon:before {\n margin-left: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 44px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-end:not(.k-group-start):not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon:before {\n margin-right: 15px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end:not(.k-widget):not(.k-editor-dropdown):not(.k-input) .k-icon {\n width: 54px;\n}\nhtml .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end .k-icon.k-i-html {\n border-left: 1px solid #e4e4e4;\n}\nhtml div.k-editor-toolbar,\nhtml [title="Table Wizard"] {\n display: none;\n}\nhtml .k-button-group .k-state-disabled {\n display: none;\n}\nhtml .k-overflow-tools {\n position: static;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) {\n border: 1px solid #e4e4e4;\n box-shadow: 0 3px 5px #ededee;\n background-clip: border-box;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group),\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n padding: 5px 10px;\n border: 0;\n border-top: 1px solid #e4e4e4;\n white-space: nowrap;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-selected, html .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-hover,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-selected,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-hover {\n color: #333;\n background-color: #f5f5f5;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group):focus,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button:focus {\n outline: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group) .k-icon:after,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-icon:after {\n margin-top: 0;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container).k-list-container .k-item:not(.k-overflow-tool-group).k-state-focused,\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button.k-state-focused {\n color: #333;\n box-shadow: none;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button {\n color: #333;\n}\nhtml .k-popup:not(.k-timepicker-container):not(.k-calendar-container) .k-overflow-button .k-tool-text {\n margin-left: 5px;\n vertical-align: middle;\n}\nhtml .k-ct-popup .k-ct-cell {\n pointer-events: all;\n border-color: #ccc;\n}\nhtml .k-ct-popup .k-ct-cell.k-state-selected {\n background-color: #DCECF5;\n}\nhtml .k-editor-inline {\n padding: 3px;\n border: 0;\n font-size: inherit;\n line-height: 1.5;\n}\nhtml .k-editor-inline:hover {\n cursor: text;\n}\nhtml .k-editor-inline:hover, html .k-editor-inline.k-state-active {\n border: 0;\n background: none;\n}\nhtml .k-editor-inline.-read-only.-in-list {\n display: inline;\n margin: 0;\n padding: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list:after {\n display: none;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button {\n display: inline;\n position: static;\n margin-top: 0;\n margin-left: 0;\n margin-right: 0;\n}\nhtml .k-editor-inline.-read-only.-in-list + .sf-expand-button .sf-expand-button__content {\n position: static;\n}\n.sf-main html .k-editor-inline.-read-only a,\nhtml .k-editor-inline.-read-only [data-sf-ec-immutable] {\n pointer-events: none;\n cursor: pointer;\n}\nhtml .k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\nhtml .k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\nhtml .k-editor-inline a,\nhtml .k-editor-inline img,\nhtml .k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\nhtml .k-editor-inline a.-align-left, html .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\nhtml .k-editor-inline a.-align-left,\nhtml .k-editor-inline img.-align-left,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\nhtml .k-editor-inline a.-align-right,\nhtml .k-editor-inline img.-align-right,\nhtml .k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\nhtml .k-editor-inline .k-table-resize-handle-wrapper {\n width: 10px;\n height: 10px;\n}\nhtml .k-editor-inline table,\nhtml .k-editor-inline table td {\n border: 1px solid #ccc;\n}\nhtml .k-editor-inline img {\n max-width: 100%;\n}\nhtml .k-editor-inline .sf-media {\n display: inline-block;\n}\nhtml .k-editor-inline ol {\n list-style: decimal;\n}\nhtml .k-editor-inline ul {\n list-style: disc;\n}\nhtml .k-window {\n font-family: "Open Sans", sans-serif;\n max-width: 100vw;\n max-height: 100vh;\n border-width: 1px;\n}\nhtml .k-window, html .k-window.k-state-focused {\n box-shadow: 0 3px 5px #ededee;\n}\nhtml .k-window .k-widget,\nhtml .k-window .k-tabstrip > .k-content {\n color: #333;\n}\nhtml .k-window .k-window-content {\n overflow: visible;\n}\nhtml .k-window .k-window-titlebar {\n border-bottom: 0;\n text-align: center;\n}\nhtml .k-window .k-window-action {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n overflow: hidden;\n border: 1px solid #e4e4e4 !important;\n color: #777;\n}\nhtml .k-window .k-window-action.k-state-hover {\n color: #333;\n background-color: #e4e4e4;\n}\nhtml .k-window .k-window-action:active::before, html .k-window .k-window-action:active::after, html .k-window .k-window-action:focus::before, html .k-window .k-window-action:focus::after {\n border: 0;\n}\nhtml .k-window .k-window-action .k-icon {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n align-items: center;\n justify-content: center;\n display: flex;\n}\nhtml .k-window .k-window-action .k-icon.k-i-close::before {\n content: "";\n font-size: var(--icon-size-m);\n}\nhtml .k-window .k-window-title {\n display: block;\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n}\nhtml .k-window .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n margin-left: auto;\n margin-right: auto;\n width: 630px;\n padding: 16px;\n}\nhtml .k-window .k-editor-table-wizard-dialog .k-tabstrip-wrapper {\n flex: none;\n overflow: visible;\n}\nhtml .k-window .k-tabstrip-items {\n font-size: var(--font-size-lg);\n display: flex;\n justify-content: center;\n align-items: flex-start;\n border: 0;\n margin-bottom: 20px;\n}\nhtml .k-window .k-tabstrip-items .k-item {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n margin-left: 20px;\n margin-right: 20px;\n position: relative;\n border: 0;\n}\nhtml .k-window .k-tabstrip-items .k-item.-secondary {\n color: var(--link-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item:hover, html .k-window .k-tabstrip-items .k-item:active, html .k-window .k-tabstrip-items .k-item:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-no-hover:hover, html .k-window .k-tabstrip-items .k-item.-no-hover:active, html .k-window .k-tabstrip-items .k-item.-no-hover:focus {\n color: var(--link-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side.-active, html .k-window .k-tabstrip-items .k-item.-side:focus, html .k-window .k-tabstrip-items .k-item.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary {\n color: var(--link-side-secondary-color);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\nhtml .k-window .k-tabstrip-items .k-item.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-basic:hover, html .k-window .k-tabstrip-items .k-item.-basic:active, html .k-window .k-tabstrip-items .k-item.-basic:focus {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\nhtml .k-window .k-tabstrip-items .k-item.-top-toolbar.-active, html .k-window .k-tabstrip-items .k-item.-top-toolbar:focus, html .k-window .k-tabstrip-items .k-item.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active {\n padding-bottom: 5px;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active, html .k-window .k-tabstrip-items .k-item.k-state-active:hover, html .k-window .k-tabstrip-items .k-item.k-state-active:active, html .k-window .k-tabstrip-items .k-item.k-state-active:focus {\n color: #333;\n border-bottom: 2px solid #777;\n}\nhtml .k-window .k-tabstrip-items .k-item.k-state-active .sf-button.-link {\n color: #333;\n}\nhtml .k-window .k-tabstrip-items .k-item .k-link {\n padding: 0;\n}\nhtml .k-window .k-edit-label {\n font-size: var(--font-size-h4-lg);\n font-weight: bold;\n}\nhtml .k-window .k-edit-field .k-state-focused {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field .k-input:focus {\n outline: 0;\n}\nhtml .k-window .k-edit-field .k-input:focus:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\nhtml .k-window .k-edit-field > .k-textbox,\nhtml .k-window .k-edit-field .k-numeric-wrap,\nhtml .k-window .k-edit-field .k-dropdown-wrap {\n border: 1px solid var(--input-border);\n}\nhtml .k-window .k-edit-field .k-select {\n border: 0;\n}\nhtml .k-window .k-edit-field .k-dropdown,\nhtml .k-window .k-edit-field .k-textbox {\n width: 100%;\n}\nhtml .k-window .k-edit-field .k-numerictextbox + .k-dropdown,\nhtml .k-window .k-edit-field .k-dropdown.k-align {\n width: auto;\n}\nhtml .k-window .k-edit-field .k-colorpicker .k-selected-color {\n height: 34px;\n width: 34px;\n border-radius: 0;\n}\nhtml .k-window .k-edit-field .k-checkbox,\nhtml .k-window .k-edit-field .k-checkbox-label {\n vertical-align: middle;\n}\nhtml .k-window .k-edit-field .k-checkbox-label {\n margin-top: 0;\n margin-right: 0;\n padding-left: 5px;\n}\nhtml .k-window .k-edit-buttons {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n text-align: center;\n}\nhtml .k-window .k-edit-buttons .k-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\nhtml .k-window .k-edit-buttons .k-button:hover, html .k-window .k-edit-buttons .k-button:active, html .k-window .k-edit-buttons .k-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\nhtml .k-window .k-edit-buttons .k-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:focus {\n color: var(--action-button-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-primary[disabled]:not(.-done):not(.-inprogress):not(.-no-border), html .k-window .k-edit-buttons .k-button.k-primary.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\nhtml .k-window .k-edit-buttons .k-button.k-state-focused, html .k-window .k-edit-buttons .k-button:focus {\n box-shadow: none;\n}\nhtml .k-window.k-window-maximized {\n height: auto !important;\n padding-top: 160px !important;\n border: 0;\n box-shadow: none;\n overflow: auto;\n}\nhtml .k-window.k-window-maximized .k-window-action {\n position: fixed;\n top: 10px;\n right: 20px;\n z-index: 1000000;\n}\nhtml.-sf-modal-window-open .k-editor-widget.k-window-titleless {\n z-index: 100000000 !important;\n}\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table).k-window-titleless,\n.-sf-new-zone-editor:not(.-sf-content-block-open) .k-editor-widget:not(table) .k-editor-toolbar .k-i-html {\n top: 0 !important;\n}\n.k-editor-inline {\n margin-bottom: 10px;\n font-size: inherit;\n}\n.-empty .k-editor-inline {\n min-height: var(--editor-inline-min-height);\n}\n.-empty.-main .k-editor-inline {\n min-height: var(--editor-inline-min-height-long);\n}\n.k-editor-inline:after {\n content: " ";\n display: block;\n clear: both;\n}\n.k-editor-inline [data-sf-ec-immutable] {\n cursor: pointer;\n}\n.k-editor-inline a,\n.k-editor-inline img,\n.k-editor-inline [data-sf-ec-immutable] {\n clear: both;\n}\n.k-editor-inline a.-align-left, .k-editor-inline a.-align-right,\n.k-editor-inline img.-align-left,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n clear: none;\n}\n.k-editor-inline a.-align-left,\n.k-editor-inline img.-align-left,\n.k-editor-inline [data-sf-ec-immutable].-align-left {\n margin-right: 30px;\n}\n.k-editor-inline a.-align-right,\n.k-editor-inline img.-align-right,\n.k-editor-inline [data-sf-ec-immutable].-align-right {\n margin-left: 30px;\n}\n.sf-expand-button {\n display: block;\n position: relative;\n margin-top: 10px;\n}\n.sf-expand-button.-collapsed::before {\n content: "";\n position: absolute;\n top: calc((var(--editor-collapsed-height) + 10px) * -1);\n height: calc(var(--editor-collapsed-height) + 10px);\n width: 100%;\n background: linear-gradient(to top, #fff 5%, rgba(255, 255, 255, 0.25) 25%, rgba(255, 255, 255, 0) 100%);\n z-index: 100;\n}\n.sf-expand-button .sf-expand-button__content {\n position: relative;\n color: #006CD9;\n font-size: var(--font-size-base);\n z-index: 1000;\n}\n.sf-expand-button .sf-expand-button__content:hover {\n color: #333;\n}\nbody.-sf-editor-hidden .k-editor-widget {\n display: none !important;\n}\n.k-editor-toolbar .k-i-Words-count::before {\n content: "";\n}\n.-sf-modal-window-open .sf-editor *,\n.-sf-modal-window-open .k-window * {\n box-sizing: border-box;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar {\n margin-top: -78px !important;\n height: auto;\n padding: 12px 16px;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-title {\n display: block;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-window-action {\n padding: 4px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-window .k-window-titlebar .k-icon.k-i-close::before {\n position: static;\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog.k-window-content {\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-tabstrip-wrapper .k-content {\n min-height: auto;\n height: auto;\n padding: 16px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-root-tabs {\n margin: 0;\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-label label {\n margin-bottom: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field {\n padding: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field input.k-checkbox {\n position: static;\n -webkit-appearance: checkbox;\n margin: 3px 0.5ex;\n width: 12px;\n height: 12px;\n opacity: 1;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox {\n border-radius: 0;\n padding: 1px;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-field .k-textbox:focus {\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label {\n margin: 0;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog label.k-checkbox-label::before {\n content: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-default,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-focused,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap.k-state-hover {\n background: none;\n box-shadow: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-select,\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-picker-wrap .k-select {\n position: static;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-numeric-wrap .k-link.k-state-selected {\n background: none;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-dropdown.k-align {\n width: auto;\n}\n.-sf-modal-window-open .k-editor-dialog.k-editor-table-wizard-dialog .k-edit-buttons {\n background: none;\n}\n.-sf-modal-window-open .k-animation-container .k-list-container {\n padding: 0;\n border-radius: 0;\n}\n.-sf-modal-window-open .k-animation-container .k-align .k-list .k-item, .-sf-modal-window-open .k-animation-container .k-align .k-list .k-item:last-child {\n display: flex;\n}\n.-sf-modal-window-open .k-animation-container .k-list .k-item {\n border: 0;\n border-top: 1px solid #e4e4e4;\n border-radius: 0;\n line-height: 1.42857em;\n}\n.-sf-modal-window-open .k-animation-container .k-flatcolorpicker .k-selected-color input.k-color-value {\n padding: 4px 8px;\n}'],encapsulation:2}),EditorGridComponent}(i.EditorReadonlyComponent),l=r["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"TRIM_LENGTH",(function(){return a})),n.d(t,"TOOLTIP_ATTRIBUTE_NAME",(function(){return s})),n.d(t,"NumberOverflowDirective",(function(){return A}));var o=n(229),i=n(246),r=n(1069),a=10,s="title",A=function(){function NumberOverflowDirective(e){this.element=e,this.trimLength=a}return NumberOverflowDirective.prototype.ngAfterViewInit=function(){var e=this;setTimeout((function(){var t=e.element.nativeElement.innerText;if(t.length>e.trimLength){var n=t.substr(0,e.getTrimLength()).trim();Object(r.textEndsWithNumber)(n)||(n=n.substring(0,n.length-1)),e.setShortTextAndTooltip(n)}}),0)},NumberOverflowDirective.prototype.setShortTextAndTooltip=function(e){var t=document.createAttribute(s);t.value=this.createTooltip(),this.element.nativeElement.setAttributeNode(t),this.element.nativeElement.innerHTML=e+"…"},NumberOverflowDirective.prototype.getTrimLength=function(){var e=this.trimLength;return!Object(r.isCurrency)(this.unit)&&this.unit&&(e-=this.unit.length+1),e},NumberOverflowDirective.prototype.createTooltip=function(){var e=this.element.nativeElement.innerText;return Object(r.isCurrency)(this.unit)||(e+=this.unit||i.stringConstants.EMPTY_STRING),e},NumberOverflowDirective.ɵfac=function NumberOverflowDirective_Factory(e){return new(e||NumberOverflowDirective)(o["ɵɵdirectiveInject"](o.ElementRef))},NumberOverflowDirective.ɵdir=o["ɵɵdefineDirective"]({type:NumberOverflowDirective,selectors:[["","sfNumberOverflow",""]],inputs:{trimLength:"trimLength",unit:"unit"}}),NumberOverflowDirective}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SitefinityComponentsModule",(function(){return a}));var o=n(354),i=n(229),r=[o.SfCommonModule,o.SfIconModule,o.SfSwitchModule,o.SfInputModule,o.SfSearchModule,o.SfErrorModule,o.SfBadgeModule,o.SfButtonModule,o.SfLoaderModule,o.SfNotificationModule,o.SfDynamicComponentLoaderModule,o.SfTabsModule,o.SfMarkupModule],a=function(){function SitefinityComponentsModule(){}return SitefinityComponentsModule.ɵfac=function SitefinityComponentsModule_Factory(e){return new(e||SitefinityComponentsModule)},SitefinityComponentsModule.ɵmod=i["ɵɵdefineNgModule"]({type:SitefinityComponentsModule}),SitefinityComponentsModule.ɵinj=i["ɵɵdefineInjector"]({imports:[r,o.SfCommonModule,o.SfIconModule,o.SfSwitchModule,o.SfInputModule,o.SfSearchModule,o.SfErrorModule,o.SfBadgeModule,o.SfButtonModule,o.SfLoaderModule,o.SfNotificationModule,o.SfDynamicComponentLoaderModule,o.SfTabsModule,o.SfMarkupModule]}),SitefinityComponentsModule}();i["ɵɵsetNgModuleScope"](a,{imports:[o.SfCommonModule,o.SfIconModule,o.SfSwitchModule,o.SfInputModule,o.SfSearchModule,o.SfErrorModule,o.SfBadgeModule,o.SfButtonModule,o.SfLoaderModule,o.SfNotificationModule,o.SfDynamicComponentLoaderModule,o.SfTabsModule,o.SfMarkupModule],exports:[o.SfCommonModule,o.SfIconModule,o.SfSwitchModule,o.SfInputModule,o.SfSearchModule,o.SfErrorModule,o.SfBadgeModule,o.SfButtonModule,o.SfLoaderModule,o.SfNotificationModule,o.SfDynamicComponentLoaderModule,o.SfTabsModule,o.SfMarkupModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaStatusResolver",(function(){return A}));var o=n(259),i=n(1409),r=n(326),a=n(262),s=n(229),A=function(e){function MediaStatusResolver(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(MediaStatusResolver,e),MediaStatusResolver.prototype.canProcess=function(e){return r.MediaHelpers.isLibraryOrMedia(e)},MediaStatusResolver.prototype.getLabel=function(t,n,o){if(r.MEDIA_PROPERTIES.FOLDERS_COUNT in t){if(!n)throw new Error("Parameter 'setName' cannot be empty.");n=this.getEntitySetNameFromRoute(o,t);var i=r.MediaHelpers.resolveMediaLabels(n),a=1===t.ChildrenCount?i.singular:i.plural,s=1===t.FoldersCount?"library":"libraries",A=[];return t.ChildrenCount>0&&A.push(t.ChildrenCount+" "+a),t.FoldersCount>0&&A.push(t.FoldersCount+" "+s),{Label:A.length>0?A.join(" | "):"No "+i.plural,StatusName:"Hierarchical"}}return e.prototype.getLabel.call(this,t)},MediaStatusResolver.prototype.getEntitySetNameFromRoute=function(e,t){var n,o=e.params[a.ROUTE_PARAMS.TYPE_NAME_SEGMENT];return o||(o=null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.params[a.ROUTE_PARAMS.TYPE_NAME_SEGMENT]),o},MediaStatusResolver.ɵfac=function MediaStatusResolver_Factory(e){return l(e||MediaStatusResolver)},MediaStatusResolver.ɵprov=s["ɵɵdefineInjectable"]({token:MediaStatusResolver,factory:MediaStatusResolver.ɵfac}),MediaStatusResolver}(i.StatusResolver),l=s["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"ExtensionPipe",(function(){return i}));var o=n(229),i=function(){function ExtensionPipe(){}return ExtensionPipe.prototype.transform=function(e){return e?e.replace(/^\./,""):""},ExtensionPipe.ɵfac=function ExtensionPipe_Factory(e){return new(e||ExtensionPipe)},ExtensionPipe.ɵpipe=o["ɵɵdefinePipe"]({name:"sfExtension",type:ExtensionPipe,pure:!0}),ExtensionPipe}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ZoneSplitterComponent",(function(){return d}));var o=n(229),i=n(11),r=n(1298),a=n(354),s=n(324),A=n(261),l=n(1416),c=["splitter"];function ZoneSplitterComponent_div_7_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",9),o["ɵɵtext"](1,"Move content before removing column"),o["ɵɵelementEnd"]())}function ZoneSplitterComponent_label_8_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"label",10),o["ɵɵtext"](1,"Proportion in %"),o["ɵɵelementEnd"]())}function ZoneSplitterComponent_kendo_splitter_9_kendo_splitter_pane_2_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"kendo-splitter-pane",14,15),o["ɵɵlistener"]("sizeChange",(function ZoneSplitterComponent_kendo_splitter_9_kendo_splitter_pane_2_Template_kendo_splitter_pane_sizeChange_0_listener(e){o["ɵɵrestoreView"](n);var i=t.index,r=o["ɵɵreference"](1);return o["ɵɵnextContext"](2).handleSizeChange(e,r,i)})),o["ɵɵtext"](2),o["ɵɵelementEnd"]()}if(2&e){var i=t.$implicit;o["ɵɵproperty"]("size",i.size?i.size:null)("title",i.sizeInPercent+" or "+i.gridColumnsCount+" css columns"),o["ɵɵadvance"](2),o["ɵɵtextInterpolate1"](" ",i.sizeInPercent," ")}}var _c1=function(e){return{"-sf-invisible":e}};function ZoneSplitterComponent_kendo_splitter_9_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"kendo-splitter",11,12),o["ɵɵtemplate"](2,ZoneSplitterComponent_kendo_splitter_9_kendo_splitter_pane_2_Template,3,3,"kendo-splitter-pane",13),o["ɵɵpipe"](3,"async"),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵproperty"]("ngClass",o["ɵɵpureFunction1"](4,_c1,n.panesCount<=1)),o["ɵɵadvance"](2),o["ɵɵproperty"]("ngForOf",o["ɵɵpipeBind1"](3,2,n.panesList))}}var d=function(){function ZoneSplitterComponent(e){this.changeDetectorRef=e,this.panesCount="2",this.gridSize=12,this.gridColumnsSizeChange=new o.EventEmitter,this.panesList=new i.BehaviorSubject([]),this.showSplitter=!0,this.inputUniqueId="input-"+Object(r.guid)(),this.showError=!1}return ZoneSplitterComponent.prototype.ngAfterViewInit=function(){var e=parseInt(this.panesCount);e<=1&&(this.showSplitter=!1),this.gridColumnSize&&this.gridColumnSize.length>0&&this.gridColumnSize.length===e?this.initializePanes():this.configurePanes(e),this.changeDetectorRef.detectChanges()},ZoneSplitterComponent.prototype.onColumnNumberChanged=function(e){e&&!Number.isNaN(parseInt(e.value))&&(this.panesCount=e.value,this.configurePanes(parseInt(this.panesCount)))},ZoneSplitterComponent.prototype.handleSizeChange=function(e,t,n){var o=t.element,i=parseFloat(e),r=100/this.gridSize,a=Math.round(i/r),s=a*r;t.size=s+"%";var A=Math.round(s);this.setPaneAttributes(o,A,a);var l,c=t.order/2,d=c-1>=0?this.splitterElement.splitterService.pane(c-1):null,p=c+11,this.numberOfColsPerPane=Math.floor(this.gridSize/e);var t=this.gridSize%e;this.sizeOfOneGridColumnPercent=100/this.gridSize;for(var n=this.sizeOfOneGridColumnPercent*this.numberOfColsPerPane,o=t?this.numberOfColsPerPane+t:this.numberOfColsPerPane,i=o*this.sizeOfOneGridColumnPercent,r=[],a=0;a .k-header,\n.k-panel > .k-header {\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #fafafa;\n margin: -4px -8px 4px;\n padding: 8px 8px;\n}\n.k-content {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-state-disabled,\n.k-widget[disabled],\n.k-disabled {\n outline: none;\n cursor: default;\n opacity: 0.6;\n filter: grayscale(0.1);\n pointer-events: none;\n box-shadow: none;\n}\n.k-state-disabled .k-link,\n.k-state-disabled .k-button,\n.k-widget[disabled] .k-link,\n.k-widget[disabled] .k-button,\n.k-disabled .k-link,\n.k-disabled .k-button {\n cursor: default;\n outline: 0;\n}\n.k-state-disabled [disabled],\n.k-state-disabled .k-state-disabled,\n.k-widget[disabled] [disabled],\n.k-widget[disabled] .k-state-disabled,\n.k-disabled [disabled],\n.k-disabled .k-state-disabled {\n opacity: 1;\n filter: grayscale(0);\n}\n.k-hr {\n margin: 1em auto;\n padding: 0;\n height: 0;\n border-width: 1px 0 0;\n border-style: solid;\n border-color: rgba(0, 0, 0, 0.08);\n display: block;\n float: none;\n clear: both;\n}\n.k-d-flex-row > .k-hr {\n margin: 0;\n width: 0;\n height: auto;\n border-width: 0 0 0 1px;\n flex: 0 0 auto;\n}\n.k-d-flex-col > .k-hr {\n margin: 0;\n flex: 0 0 auto;\n}\n.k-dirty {\n margin: 0;\n padding: 0;\n width: 0;\n height: 0;\n border-width: 3px;\n border-style: solid;\n border-color: #f31700 #f31700 transparent transparent;\n position: absolute;\n top: 0;\n right: 0;\n}\n[dir=rtl] .k-dirty,\n.k-rtl .k-dirty {\n border-color: transparent transparent #f31700 #f31700;\n right: auto;\n left: 0;\n}\n.k-placeholder-line {\n width: 100%;\n height: 10px;\n background-color: rgba(0, 0, 0, 0.1);\n display: inline-block;\n}\n.k-drop-hint {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n align-items: center;\n position: absolute;\n z-index: 1000;\n transform: translate(-50%, -50%);\n}\n.k-drop-hint-start,\n.k-drop-hint-end {\n flex-shrink: 0;\n border-width: 4px;\n border-style: solid;\n border-color: transparent;\n}\n.k-drop-hint-line {\n flex-grow: 1;\n background-color: #ff6358;\n}\n.k-drop-hint-h .k-drop-hint-start {\n border-left-width: 6.9282032304px;\n border-left-color: #ff6358;\n border-right-width: 0;\n}\n.k-drop-hint-h .k-drop-hint-line {\n width: 20px;\n height: 1px;\n}\n.k-drop-hint-h .k-drop-hint-end {\n border-right-width: 6.9282032304px;\n border-right-color: #ff6358;\n border-left-width: 0;\n}\n.k-drop-hint-v {\n flex-direction: column;\n}\n.k-drop-hint-v .k-drop-hint-start {\n border-top-width: 6.9282032304px;\n border-top-color: #ff6358;\n border-bottom-width: 0;\n}\n.k-drop-hint-v .k-drop-hint-line {\n width: 1px;\n height: 20px;\n}\n.k-drop-hint-v .k-drop-hint-end {\n border-bottom-width: 6.9282032304px;\n border-bottom-color: #ff6358;\n border-top-width: 0;\n}\n.k-animation-container {\n position: absolute;\n overflow: hidden;\n z-index: 100;\n}\n.k-animation-container-fixed {\n position: fixed;\n}\n.k-animation-container-relative {\n position: relative;\n display: inline-block;\n}\n.k-push-right-enter, .k-push-right-appear {\n transform: translate(-100%, 0);\n}\n.k-push-right-enter-active, .k-push-right-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-right-exit {\n transform: translate(0, 0);\n}\n.k-push-right-exit-active {\n transform: translate(100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-enter, .k-push-left-appear {\n transform: translate(100%, 0);\n}\n.k-push-left-enter-active, .k-push-left-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-left-exit {\n transform: translate(0, 0);\n}\n.k-push-left-exit-active {\n transform: translate(-100%, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-enter, .k-push-down-appear {\n transform: translate(0, -100%);\n}\n.k-push-down-enter-active, .k-push-down-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-down-exit {\n transform: translate(0, 0);\n}\n.k-push-down-exit-active {\n transform: translate(0, 100%);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-enter, .k-push-up-appear {\n transform: translate(0, 100%);\n}\n.k-push-up-enter-active, .k-push-up-appear-active {\n transform: translate(0, 0);\n transition: transform 300ms ease-in-out;\n}\n.k-push-up-exit {\n transform: translate(0, 0);\n}\n.k-push-up-exit-active {\n transform: translate(0, -100%);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-enter, .k-expand-vertical-appear {\n transform: scaleY(0);\n}\n.k-expand-vertical-enter-active, .k-expand-vertical-appear-active {\n transform: scaleY(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-vertical-exit {\n transform: scaleY(1);\n}\n.k-expand-vertical-exit-active {\n transform: scaleY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-enter, .k-expand-horizontal-appear {\n transform: scaleX(0);\n}\n.k-expand-horizontal-enter-active, .k-expand-horizontal-appear-active {\n transform: scaleX(1);\n transition: transform 300ms ease-in-out;\n}\n.k-expand-horizontal-exit {\n transform: scaleX(1);\n}\n.k-expand-horizontal-exit-active {\n transform: scaleX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-fade-enter, .k-fade-appear {\n opacity: 0;\n}\n.k-fade-enter-active, .k-fade-appear-active {\n opacity: 1;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit {\n opacity: 1;\n}\n.k-fade-exit-active {\n opacity: 0;\n transition: opacity 500ms ease-in-out;\n}\n.k-fade-exit-active + .k-fade-exit-active, .k-fade-enter-active + .k-fade-enter-active {\n display: none;\n}\n.k-zoom-in-enter, .k-zoom-in-appear {\n opacity: 0;\n transform: scale(0);\n}\n.k-zoom-in-enter-active, .k-zoom-in-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-in-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-in-exit-active {\n opacity: 0;\n transform: scale(2);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-enter, .k-zoom-out-appear {\n opacity: 0;\n transform: scale(2);\n}\n.k-zoom-out-enter-active, .k-zoom-out-appear-active {\n opacity: 1;\n transform: scale(1);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-zoom-out-exit {\n opacity: 1;\n transform: scale(1);\n}\n.k-zoom-out-exit-active {\n opacity: 0;\n transform: scale(0);\n transition: transform, opacity 300ms ease-in-out;\n}\n.k-slide-in-appear {\n opacity: 0.1;\n transform: translate(0, -3em);\n}\n.k-slide-in-appear .k-centered {\n transform: translate(-50%, -60%);\n}\n.k-slide-in-appear-active {\n opacity: 1;\n transform: translate(0, 0);\n transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.4, 1), opacity 0.3s cubic-bezier(0.2, 1, 0.2, 1);\n}\n.k-slide-in-appear-active .k-centered {\n transform: translate(-50%, -50%);\n}\n.k-slide-down-enter, .k-slide-down-appear {\n transform: translateY(-100%);\n}\n.k-slide-down-enter-active, .k-slide-down-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-down-exit {\n transform: translateY(0);\n}\n.k-slide-down-exit-active {\n transform: translateY(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-enter, .k-slide-up-appear {\n transform: translateY(100%);\n}\n.k-slide-up-enter-active, .k-slide-up-appear-active {\n transform: translateY(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-up-exit {\n transform: translateY(0);\n}\n.k-slide-up-exit-active {\n transform: translateY(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-enter, .k-slide-right-appear {\n transform: translateX(-100%);\n}\n.k-slide-right-enter-active, .k-slide-right-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-right-exit {\n transform: translateX(0);\n}\n.k-slide-right-exit-active {\n transform: translateX(-100%);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-enter, .k-slide-left-appear {\n transform: translateX(100%);\n}\n.k-slide-left-enter-active, .k-slide-left-appear-active {\n transform: translateX(0);\n transition: transform 300ms ease-in-out;\n}\n.k-slide-left-exit {\n transform: translateX(0);\n}\n.k-slide-left-exit-active {\n transform: translateX(100%);\n transition: transform 300ms ease-in-out;\n}\n.k-reveal-vertical-enter, .k-reveal-vertical-appear {\n max-height: 0;\n}\n.k-reveal-vertical-enter-active, .k-reveal-vertical-appear-active {\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-vertical-exit-active {\n max-height: 0 !important;\n transition: max-height 300ms ease-in-out;\n}\n.k-reveal-horizontal-enter, .k-reveal-horizontal-appear {\n max-width: 0;\n}\n.k-reveal-horizontal-enter-active, .k-reveal-horizontal-appear-active {\n transition: max-width 300ms ease-in-out;\n}\n.k-reveal-horizontal-exit-active {\n max-width: 0 !important;\n transition: max-width 300ms ease-in-out;\n}\n.k-fx-end .k-fx-next,\n.k-fx-end .k-fx-current {\n transition: all 350ms ease-out;\n}\n.k-fx {\n position: relative;\n}\n.k-fx .k-fx-current {\n z-index: 0;\n}\n.k-fx .k-fx-next {\n z-index: 1;\n}\n.k-fx-hidden,\n.k-fx-hidden * {\n visibility: hidden !important;\n}\n.k-fx-reverse .k-fx-current {\n z-index: 1;\n}\n.k-fx-reverse .k-fx-next {\n z-index: 0;\n}\n.k-fx-zoom.k-fx-start .k-fx-next {\n transform: scale(0) !important;\n}\n.k-fx-zoom.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-next, .k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-next {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-start .k-fx-current {\n transform: scale(1) !important;\n}\n.k-fx-zoom.k-fx-reverse.k-fx-end .k-fx-current {\n transform: scale(0) !important;\n}\n.k-fx-fade.k-fx-start .k-fx-next {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-fade.k-fx-end .k-fx-next {\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-fade.k-fx-reverse.k-fx-end .k-fx-current {\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-content, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer, .k-fx-slide.k-fx-end .k-fx-current .km-content, .k-fx-slide.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-end .k-fx-current .km-footer {\n transition: all 350ms ease-out;\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-start .k-fx-next .km-content {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-start .k-fx-next .km-footer {\n will-change: opacity;\n opacity: 0;\n}\n.k-fx-slide.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-current .km-footer {\n will-change: opacity;\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-start .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-current .km-footer {\n opacity: 0;\n}\n.k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .k-footer, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-header, .k-fx-slide.k-fx-reverse.k-fx-end .k-fx-next .km-footer {\n opacity: 1;\n}\n.k-fx-slide.k-fx-right.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-start .k-fx-next .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-end .k-fx-current .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current .km-content {\n transform: translateX(0);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current .km-content {\n transform: translateX(-100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next .km-content {\n transform: translateX(100%);\n}\n.k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .k-content, .k-fx-slide.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next .km-content {\n transform: translateX(0%);\n}\n.k-fx-tile.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-current {\n transform: translateX(0);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-start .k-fx-next {\n transform: translateX(100%);\n}\n.k-fx-tile.k-fx-right.k-fx-reverse.k-fx-end .k-fx-next {\n transform: translateX(0%);\n}\n.k-fx.k-fx-overlay.k-fx-start .k-fx-next, .k-fx.k-fx-overlay.k-fx-left.k-fx-start .k-fx-next {\n will-change: transform;\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-right.k-fx-start .k-fx-next {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-up.k-fx-start .k-fx-next {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-down.k-fx-start .k-fx-next {\n transform: translateY(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-next {\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-start .k-fx-current {\n will-change: transform;\n transform: none;\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-end .k-fx-current, .k-fx.k-fx-overlay.k-fx-reverse.k-fx-left.k-fx-end .k-fx-current {\n transform: translateX(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-right.k-fx-end .k-fx-current {\n transform: translateX(-100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-up.k-fx-end .k-fx-current {\n transform: translateY(100%);\n}\n.k-fx.k-fx-overlay.k-fx-reverse.k-fx-down.k-fx-end .k-fx-current {\n transform: translateY(-100%);\n}\n.k-drag-clue {\n border-radius: 2px;\n padding: 4px 8px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n font-size: 14px;\n font-family: inherit;\n line-height: 1.4285714286;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n align-content: center;\n white-space: nowrap;\n overflow: hidden;\n position: absolute;\n z-index: 20000;\n cursor: move;\n}\n.k-drag-status,\n.k-drag-clue .k-drag-status {\n margin: 0;\n margin-right: 0.4ex;\n}\n.k-drag-clue {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #fafafa;\n}\n.k-reorder-cue {\n position: absolute;\n}\n.k-reorder-cue::before, .k-reorder-cue::after {\n content: "";\n width: 0;\n height: 0;\n border: 3px solid transparent;\n position: absolute;\n transform: translateX(-50%);\n}\n.k-reorder-cue::before {\n border-bottom-width: 0;\n border-top-color: currentColor;\n top: -4px;\n}\n.k-reorder-cue::after {\n border-top-width: 0;\n border-bottom-color: currentColor;\n bottom: -4px;\n}\n.k-loading {\n width: 64px;\n height: 64px;\n display: block;\n}\n.k-loading .animate {\n -webkit-animation: loading 2s infinite linear;\n animation: loading 2s infinite linear;\n}\n.k-loading-mask,\n.k-loading-image,\n.k-loading-color {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n}\n.k-loading-mask {\n z-index: 100;\n}\n.k-loading-mask.k-opaque .k-loading-color {\n opacity: 1;\n}\n.k-loading-text {\n text-indent: -4000px;\n text-align: center;\n position: absolute;\n}\n.k-loading-image {\n z-index: 2;\n}\n.k-loading-color {\n background-color: #ffffff;\n opacity: 0.3;\n}\n.k-i-loading {\n position: relative;\n background-color: transparent;\n box-sizing: border-box;\n color: currentColor;\n}\n.k-i-loading::before,\n.k-i-loading::after,\n.k-loading-image::before,\n.k-loading-image::after {\n position: absolute;\n top: 50%;\n left: 50%;\n display: inline-block;\n content: "";\n box-sizing: inherit;\n border-radius: 50%;\n border-width: 0.05em;\n border-style: solid;\n border-color: currentColor;\n border-top-color: transparent;\n border-bottom-color: transparent;\n background-color: transparent;\n}\n.k-icon.k-i-loading::before,\n.k-icon.k-i-loading::after {\n content: "";\n}\n.k-i-loading::before,\n.k-loading-image::before {\n margin-top: -0.5em;\n margin-left: -0.5em;\n width: 1em;\n height: 1em;\n -webkit-animation: k-loading-animation 0.7s linear infinite;\n animation: k-loading-animation 0.7s linear infinite;\n}\n.k-i-loading::after,\n.k-loading-image::after {\n margin-top: -0.25em;\n margin-left: -0.25em;\n width: 0.5em;\n height: 0.5em;\n animation: k-loading-animation reverse 1.4s linear infinite;\n}\n.k-loading-image::before,\n.k-loading-image::after {\n content: "";\n border-width: 1px;\n border-width: max( 1px, .015em );\n font-size: 4em;\n}\n@-webkit-keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@keyframes loading {\n 0% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 502;\n }\n 50% {\n stroke-dasharray: 250 1;\n }\n 100% {\n stroke-dasharray: 0 251;\n stroke-dashoffset: 0;\n }\n}\n@-webkit-keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes k-loading-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.k-resize-handle,\n.k-resize-hint {\n position: absolute;\n border-color: inherit;\n z-index: 200;\n}\n.k-resize-handle {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.k-resize-handle::before {\n content: "";\n border: 0 solid;\n border-color: inherit;\n}\n.k-resize-n {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n top: -3px;\n cursor: n-resize;\n}\n.k-resize-s {\n width: 100%;\n height: 6px;\n flex-direction: row;\n left: 0;\n bottom: -3px;\n cursor: s-resize;\n}\n.k-resize-w {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n left: -3px;\n cursor: w-resize;\n}\n.k-resize-e {\n width: 6px;\n height: 100%;\n flex-direction: column;\n top: 0;\n right: -3px;\n cursor: e-resize;\n}\n.k-resize-sw,\n.k-resize-se,\n.k-resize-nw,\n.k-resize-ne {\n width: 5px;\n height: 5px;\n}\n.k-resize-sw {\n cursor: sw-resize;\n bottom: 0;\n left: 0;\n}\n.k-resize-se {\n cursor: se-resize;\n bottom: 0;\n right: 0;\n}\n.k-resize-nw {\n cursor: nw-resize;\n top: 0;\n left: 0;\n}\n.k-resize-ne {\n cursor: ne-resize;\n top: 0;\n right: 0;\n}\n.k-vertical-resize {\n cursor: row-resize;\n}\n.k-horizontal-resize {\n cursor: col-resize;\n}\n.k-resize-hint {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.k-resize-hint .k-resize-hint-handle {\n width: auto;\n height: 20px;\n align-self: stretch;\n}\n.k-resize-hint .k-resize-hint-marker {\n width: 2px;\n height: auto;\n flex: 1 1 auto;\n}\n.k-resize-hint-vertical {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.k-resize-hint-vertical .k-resize-hint-handle {\n width: 20px;\n height: auto;\n align-self: stretch;\n}\n.k-resize-hint-vertical .k-resize-hint-marker {\n width: auto;\n height: 2px;\n flex: 1 1 auto;\n}\n.k-scrollbar {\n position: absolute;\n overflow: scroll;\n}\n.k-scrollbar-vertical {\n top: 0;\n right: 0;\n width: 17px;\n height: 100%;\n overflow-x: hidden;\n}\n.k-touch-scrollbar {\n display: none;\n position: absolute;\n z-index: 200000;\n height: 8px;\n width: 8px;\n border: 1px solid #8a8a8a;\n background-color: #858585;\n}\n.k-marquee {\n position: absolute;\n z-index: 100000;\n}\n.k-marquee-color,\n.k-marquee-text {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.k-marquee-color {\n color: #ffffff;\n background-color: #ff6358;\n border-color: rgba(0, 0, 0, 0.08);\n opacity: 0.6;\n}\n.k-marquee-text {\n color: #ffffff;\n}\n@font-face {\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-weight: normal;\n src: url(data:font/ttf;base64,AAEAAAAMAIAAAwBAR1NVQhXjLzYAAADMAABH/k9TLzIPEgdLAABIzAAAAGBjbWFwa15oEwAASSwAAADMZ2FzcAAAABAAAEn4AAAACGdseWabm5w0AABKAAABtcBoZWFkHEnteQAB/8AAAAA2aGhlYQfABmAAAf/4AAAAJGhtdHjiA9YoAAIAHAAACnxsb2NhSIK27gACCpgAAAVAbWF4cALeAy4AAg/YAAAAIG5hbWX0BvU7AAIP+AAABOlwb3N0AAMAAAACFOQAAAAgAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAoAAAABADoAGgByCmIPlhToGEYY0B6oIKoiWCTEJsonMioaLVQtqC36MzQzoDbeO8REdEVORjpG7kdER7oAAQAaAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAlACYCngBIAJIAngC6ANAA6AEIASoBQAFkAXYBjAGkAb4B5gH8AhYCNgJUAnICigKgAsYC8gMcA0YDaAOQA7YD3AP0BBIELgRKBG4EkAS4BN4E/gUYBS4FTAVmBXQFfAWiBcYF2gX2BjYGega4BvoHJAdMB2QHfgeqB9QH7ggWCDwIUghuCJoIxAjeCQoJNAlOCX4JsgnUAOsABQAhABAAFQAbAJEADQAgACAADQAPABQAGQARABoAIAAEAAkACgCQAAoAIAAgAA0ADwAUABkAEQAaACAARwALAB4AHgAbACMAHwAEAB8AIwANABwARQAPAB4AHgAbACMAHwAEAB4AEQAfABUAJgAVABoAEwA4ABAAHgAeABsAIwAfAAQAGgAbAAQADwAUAA0AGgATABEANwAKAB4AHgAbACMAHwAEABcAHAAVAEYAEQAeAB4AGwAjAB8ABAAQABUAGQARABoAHwAVABsAGgAfAD4ACAAeAB4AGwAjAAQAIQAcAEQACgAeAB4AGwAjAAQAHgAbABsAIAA/AAsAHgAeABsAIwAEAB4AFQATABQAIABDAAwAHgAeABsAIwAEABwADQAeABEAGgAgADkAEwAeAB4AGwAjAAQAGwAiABEAHgASABgAGwAjAAQAEAAbACMAGgBBAAoAHgAeABsAIwAEABgAEQASACAALwAMAB4AHgAbACMABAARABoAEAAEACEAHAAwAA8AHgAeABsAIwAEABEAGgAQAAQAHgAVABMAFAAgADIADgAeAB4AGwAjAAQAEQAaABAABAAYABEAEgAgADEADgAeAB4AGwAjAAQAEQAaABAABAAQABsAIwAaAEIACwAeAB4AGwAjAAQAEAAeABUAGAAYAEAACgAeAB4AGwAjAAQAEAAbACMAGgAzABIAHgAeABsAIwAEABAAGwAhAA4AGAARAAQACwAFAAQAIQAcADQAFQAeAB4AGwAjAAQAEAAbACEADgAYABEABAALAAUABAAeABUAEwAUACAANgAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABgAEQASACAANQAUAB4AHgAbACMABAAQABsAIQAOABgAEQAEAAsABQAEABAAGwAjABoAOgAQAB4AHgAbACMABAAPABQAEQAiAB4AGwAaAAQAIQAcADsAEwAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEAB4AFQATABQAIAA9ABIAHgAeABsAIwAEAA8AFAARACIAHgAbABoABAAYABEAEgAgADwAEgAeAB4AGwAjAAQADwAUABEAIgAeABsAGgAEABAAGwAjABoAKwALAB4AHgAbACMABAALAAUABAAhABwALAAOAB4AHgAbACMABAALAAUABAAeABUAEwAUACAALgANAB4AHgAbACMABAALAAUABAAYABEAEgAgAC0ADQAeAB4AGwAjAAQACwAFAAQAEAAbACMAGgAnABEAHgAeABsAIwAEAAkACgAEACEAHAAEAB4AFQATABQAIAAqABAAHgAeABsAIwAEAAkACgAEACEAHAAEABgAEQASACAAKAATAB4AHgAbACMABAAJAAoABAAQABsAIwAaAAQAHgAVABMAFAAgACkAEgAeAB4AGwAjAAQACQAKAAQAEAAbACMAGgAEABgAEQASACAChwAPAB4AEQANAAQAHwAgAA0ADwAXABEAEAAGAAUABQKGAAwAHgARAA0ABAAfACAADQAPABcAEQAQAogACgAeABEADQAEAB4ADQAaABMAEQKFAA4AHgARAA0ABAAPABgAIQAfACAAEQAeABEAEAG4AAwAHAAcABgAJQAEABIAGwAeABkADQAgAccABgAaAA8AFAAbAB4BXgADABgAGAFDABIAGAAVABMAGgAEACAAGwAcAAQAEQAYABEAGQARABoAIAAfAR8AEQAYABUAEwAaAAQAIAAbABwABAARABgAEQAZABEAGgAgAWwACQAYABUAEwAaAAQAIAAbABwBKgANABgAFQATABoABAAgABsABAATAB4AFQAQAUYAHwAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAAHwAEACIAEQAeACAAFQAPAA0AGAFBACEAGAAVABMAGgAEAB8AIAAeABEAIAAPABQABAARABgAEQAZABEAGgAgAB8ABAAUABsAHgAVACYAGwAaACAADQAYAT0AHgAYABUAEwAaAAQAHwAgAB4AEQAgAA8AFAAEABEAGAARABkAEQAaACAABAAiABEAHgAgABUADwANABgBPAAgABgAFQATABoABAAfACAAHgARACAADwAUAAQAEQAYABEAGQARABoAIAAEABQAGwAeABUAJgAbABoAIAANABgBQAAUABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAB8BHgATABgAFQATABoABAAeABUAEwAUACAABAARABgAEQAZABEAGgAgAXEACwAYABUAEwAaAAQAHgAVABMAFAAgAXMADAAYABUAEwAaAAQAHgARABkAGwAiABEBRAAVABgAFQATABoABAAZABUAEAAQABgAEQAEABEAGAARABkAEQAaACAAHwEgABQAGAAVABMAGgAEABkAFQAQABAAGAARAAQAEQAYABEAGQARABoAIAFtAAwAGAAVABMAGgAEABkAFQAQABAAGAARAT4AEwAYABUAEwAaAAQAGAARABIAIAAEABEAGAARABkAEQAaACAAHwEcABIAGAAVABMAGgAEABgAEQASACAABAARABgAEQAZABEAGgAgAW8ACgAYABUAEwAaAAQAGAARABIAIAFyAA0AGAAVABMAGgAEABYAIQAfACAAFQASACUBPwAVABgAFQATABoABAAPABEAGgAgABEAHgAEABEAGAARABkAEQAaACAAHwEdABQAGAAVABMAGgAEAA8AEQAaACAAEQAeAAQAEQAYABEAGQARABoAIAFwAAwAGAAVABMAGgAEAA8AEQAaACAAEQAeAUUAFQAYABUAEwAaAAQADgAbACAAIAAbABkABAARABgAEQAZABEAGgAgAB8BIQAUABgAFQATABoABAAOABsAIAAgABsAGQAEABEAGAARABkAEQAaACABbgAMABgAFQATABoABAAOABsAIAAgABsAGQFHABcAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEACIAEQAeACAAFQAPAA0AGAFCABkAGAAVABMAGgAEAA4ADQAfABEAGAAVABoAEQAEABQAGwAeABUAJgAbABoAIAANABgCOQAQABMAEwAeABEAEwANACAAEQAEABIAFQARABgAEAAfANIADQAPAA8AEQAfAB8AFQAOABUAGAAVACAAJQArAFgAZgB0AIAAqAC+AOIBAgEyAWYBhAGcAbIB1AH6Ah4CRgJgAnoCqgLYAw4DQgNeA3IDigOmA7ADugPSA+ID+gQKBCoEWgR6BIoEqATABNQE8AT4BRoBjwAGACEAIAAgABsAGgKWAAYAIQAOAA4AGAARAQsABQAeACEAHwAUAQ8AEwAeABUAEwAUACAAGgARAB8AHwAEAA8AGwAaACAAHgANAB8AIAB4AAoAGwAkAAQAHwAVACYAFQAaABMBigARABsAHgAQABEAHgAfAAQAHwAUABsAIwAEABQAFQAQABEBgQAPABsAHgAQABEAHgAfAAQAGwAhACAAHwAVABAAEQGEABcAGwAeABAAEQAeAB8ABAAVABoAHwAVABAAEQAEACIAEQAeACAAFQAPAA0AGAGDABkAGwAeABAAEQAeAB8ABAAVABoAHwAVABAAEQAEABQAGwAeABUAJgAbABoAIAANABgBggAOABsAHgAQABEAHgAfAAQAFQAaAB8AFQAQABEBgAALABsAHgAQABEAHgAfAAQADQAYABgBhQAKABsAHgAQABEAHgAEACAAGwAcAG0AEAAbAB4AEAARAB4ABAAfACAAJQAYABEABAAgABsAHABuABIAGwAeABAAEQAeAAQAHwAgACUAGAARAAQAHgAVABMAFAAgAHAAEQAbAB4AEAARAB4ABAAfACAAJQAYABEABAAYABEAEgAgAG8AEwAbAB4AEAARAB4ABAAfACAAJQAYABEABAAOABsAIAAgABsAGQBsAAwAGwAeABAAEQAeAAQAHwAgACUAGAARAYgADAAbAB4AEAARAB4ABAAeABUAEwAUACAAcgAXABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQAIAAbABwABAAeABUAEwAUACAAdQAWABsAHgAQABEAHgAEAB4ADQAQABUAIQAfAAQAIAAbABwABAAYABEAEgAgAHMAGgAbAB4AEAARAB4ABAAeAA0AEAAVACEAHwAEAA4AGwAgACAAGwAZAAQAHgAVABMAFAAgAHQAGQAbAB4AEAARAB4ABAAeAA0AEAAVACEAHwAEAA4AGwAgACAAGwAZAAQAGAARABIAIABxAA0AGwAeABAAEQAeAAQAHgANABAAFQAhAB8BiQAJABsAHgAQABEAHgAEABoAGwGHAAsAGwAeABAAEQAeAAQAGAARABIAIAGGAA0AGwAeABAAEQAeAAQADgAbACAAIAAbABkBUwAEABsAGAAQARQABAAYACEAHgILAAsAGAAbABMAEwARAB4ABAAOABsAJAIKAAcAGAAbABMAEwARAB4CKwALABEAFAANABoADwARAAQADgAbACQCKgAHABEAFAANABoADwARANUADwANAB4ADwAbABAAEQAEAB8ADwANABoAGgARAB4A2QAXAA0AHgAPABsAEAARAAQAHQAeAAQADwAbABAAEQAEAB8ADwANABoAGgARAB4A0wAPAA0AHgAPABsAEAARAAQAGwAhACAAGAAVABoAEQDUAAcADQAeAA8AGwAQABECgwAOAA0AHgAEAB8AIAANAA8AFwARABAABgAFAAUCggALAA0AHgAEAB8AIAANAA8AFwARABAChAAJAA0AHgAEAB4ADQAaABMAEQKBAA0ADQAeAAQADwAYACEAHwAgABEAHgARABACmAADAA0AHgEbABAADQAPABcAIwANAB4AEAAEABEAGAARABkAEQAaACABGQAMAA0ADwAXAAQAEQAYABEAGQARABoAIAA1AGwAdACMAKgAtgDAAMgA1gDcAO4A+AEQARoBPgFiAXYBngG8AcwB3AIAAh4COAJUAnYCkAKcArgC0gLeAuoC/gMMAyIDRANWA3IDjAOYA7gD5gQYBDAEXASMBKIErATGBOQFAAUOBSoFPAGwAAMAIQAgAaIACwAhAB8AIAAbABkABAAVAA8AGwAaAegADQAhAB8AIAAbABkABAASABsAHgAZAA0AIADcAAYAIQAeAB8AGwAeAkoABAAfAB8ACAJNAAMAHwAfAlAABgAfABwAHgAbABYCUgACAB8B7gAIAB4AGwAfAB8AIAANAA4BBAAEAB4AGwAcAboACwAbABwAJQAEABIAGwAeABkADQAgAa8ABAAbABwAJQFZABEAGwAaACIAEQAeACAABAAhABwAHAARAB4ADwANAB8AEQFYABEAGwAaACIAEQAeACAABAAYABsAIwARAB4ADwANAB8AEQDHAAkAGwAaABoAEQAPACAAGwAeAakAEwAbABkAGQARABoAIAAfAAQAHgARABkAGwAiABEABAANABgAGAGoAA4AGwAZABkAEQAaACAABAAeABEAGQAbACIAEQGnAAcAGwAZABkAEQAaACAAVAAHABsAGAAhABkAGgAfAn8AEQAbABgAIQAZABoABAAfACAADQAPABcAEQAQAAYABQAFAn4ADgAbABgAIQAZABoABAAfACAADQAPABcAEQAQAoAADAAbABgAIQAZABoABAAeAA0AGgATABEB3QANABsAGAAhABkAGgAEABIAHgARABEAJgARAn0AEAAbABgAIQAZABoABAAPABgAIQAfACAAEQAeABEAEAGNAAwAGwAQABEABAAfABoAFQAcABwAEQAgAlUABQAYABsAIQAQAJ8ADQAYABsAHwARAAQAGwAhACAAGAAVABoAEQCgAAwAGAAbAB8AEQAEAA8AFQAeAA8AGAARAJ4ABQAYABsAHwARAIoABQAYABsADwAXAbkACQAYABEADQAeAAQADwAfAB8A9wAGABUAHgAPABgAEQKdAAoAFAAbAB4AGwAcABgAEQAgABQA9AAQABQAEQAPABcADgAbACQABAAPABQAEQAPABcAEQAQAPMACAAUABEADwAXAA4AGwAkAJwADQAUABEADwAXAAQAGwAhACAAGAAVABoAEQCdAAwAFAARAA8AFwAEAA8AFQAeAA8AGAARAJsABQAUABEADwAXAZoADwAUAA0AGgATABEABAAZAA0AGgAhAA0AGAAYACUB1wAWABEAGAAYAB8ABAAZABEAHgATABEABAAiABEAHgAgABUADwANABgAGAAlAdYAGAARABgAGAAfAAQAGQARAB4AEwARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAYACUB1QALABEAGAAYAB8ABAAZABEAHgATABEB2QAVABEAGAAYAAQAHwAcABgAFQAgAAQAIgARAB4AIAAVAA8ADQAYABgAJQHYABcAEQAYABgABAAfABwAGAAVACAABAAUABsAHgAVACYAGwAaACAADQAYABgAJQBJAAoADQAgABEAEwAbAB4AFQAmABEAxgAEAA0AHgAgApcADAANABoAEAAYABEABAAfACAAFQAPABcAmQAOAA0AGgAPABEAGAAEABsAIQAgABgAFQAaABEAmgANAA0AGgAPABEAGAAEAA8AFQAeAA8AGAARAJgABgANABoADwARABgBkQANAA0AGAARABoAEAANAB4ABAAQAA0AIAARAIsACAANABgAEQAaABAADQAeAMUACgANABgADwAhABgADQAgABsAHgAgAEIAXABuAIoAnACuALwA3gDsAPQBHAE6AVQBcAGaAbABwgHMAeoCCAIkAjgCRgJ6ArIC1AL2AwgDGgMuA0IDVAItAAwAHgAVAA4ADgAOABgAEQAEAA4AGwAkAiwACAAeABUADgAOAA4AGAARAEgADQAeAA0AEwAEAA0AGgAQAAQAEAAeABsAHAC1AAgAGwAjABoAGAAbAA0AEAKQAAgAGwAhABMAFAAaACEAIAHmAAYAGwAYABgADQAeAaEAEAAbAA8AIQAZABEAGgAgAAQAGQANABoADQATABEAHgDRAAYAFQAiABUAEAARAV0AAwAVACIAgAATABUAHwAcABgADQAlAAQAFQAaABgAFQAaABEABAASABgAEQAkAf8ADgAVAB8AHAAYAA0AJQAEABUAGgAYABUAGgARAH8ADAAVAB8AHAAYAA0AJQAEABIAGAARACQAfQANABUAHwAcABgADQAlAAQADgAYABsADwAXAH4AFAAVAB8AHAAYAA0AJQAEAAwAGgAYABUAGgARAAQADgAYABsADwAXATsACgAVABkAEQAaACAAFQAbABoAHwIPAAgAFQATABMABAAOABsAJAIOAAQAFQATABMBowAOABUADwAgABUAGwAaAA0AHgAlAAQADQAQABACXwAOABEAIAANABUAGAAEAB8AEQAPACAAFQAbABoCDQANABEAGAAVAA8AFQAbACEAHwAEAA4AGwAkAgwACQARABgAFQAPABUAGwAhAB8AjwAGABEAGAARACAAEQE1ABkAEQAPAB4AEQANAB8AEQAEACIAEQAeACAAFQAPAA0AGAAEAB8AHAANAA8AFQAaABMBMQAbABEADwAeABEADQAfABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwHpABAAEQAPABUAGQANABgABAAVABoADwAeABEADQAfABEB6gAQABEADwAVABkADQAYAAQAEAARAA8AHgARAA0AHwARAmYACAANACAADQAEACMAEQAOAmUACAANACAADQAEAB8AHQAYAnoACQANACAADQAEAB4AEQAfACACZAAJAA0AIAANAAQAFgAfABsAGgJjAAgADQAgAA0ABAAPAB8AIgJYAAQADQAgAA0ACAASACgANgA+AEoAXgBqAIABNwAKACUAEQAQAB4AGwAcABwAEQAeAfoABgAkABwAGwAeACACTwADACQAEQDNAAUAHQAhAA0AGAIRAAkAGQANABUAGAAEAA4AGwAkAhAABQAZAA0AFQAYAZgACgAQABUAIAAEACAAGwAbABgAHwCOAAQAEAAVACAAOQB0AJYArgDKAOoA+gEQATQBTgFYAXoBjgGmAboB0gHqAgACDgIqAkoCZgKIArAC1gLqAwQDJgNSA2ADagOCA5QDqAO+A94D8AQCBCQESARaBGwEfgSUBLQEygTgBPYFFgUqBTwFVAVmBXwFkAWiBawFxgEnABAAIQAYABgABAAfAA8AHgARABEAGgAEABEAJAAVACABJgALACEAGAAYAAQAHwAPAB4AEQARABoBGAANAB4AGwAaACAABAARABgAEQAZABEAGgAgARoADwAbAB4AIwANAB4AEAAEABEAGAARABkAEQAaACAA5AAHABsAHgAjAA0AHgAQAeMACgAbAB4AGQAhABgADQAEABIAJAHAABEAGwAeABkADQAgAAQADwAbABAAEQAEAA4AGAAbAA8AFwGMAAwAGwAeABkABAARABgAEQAZABEAGgAgAYsABAAbAB4AGQFXABAAGwAeABEAEwAeABsAIQAaABAABAAPABsAGAAbAB4B6wAJABsAGgAgAAQAHwAVACYAEQFWAAsAGwAaACAABAASAA0AGQAVABgAJQI3AAkAGwAYABAAEQAeAAQAIQAcAjUACwAbABgAEAARAB4ABAAbABwAEQAaAjgACwAbABgAEAARAB4ABAAZABsAHgARAjYACgAbABgAEAARAB4ABAANABAAEAI0AAYAGwAYABAAEQAeAQcADQAYABUAHAAEACIAEQAeACAAFQAPAA0AGAEGAA8AGAAVABwABAAUABsAHgAVACYAGwAaACAADQAYAa0ADQAYAA0AHwAUAAQAGQANABoADQATABEAHgGuABAAFQAaABAABAANABoAEAAEAB4AEQAcABgADQAPABEAsAATABUAGAAgABEAHgAEAB8AGwAeACAABAAQABEAHwAPAAQAHwAZAK8AEgAVABgAIAARAB4ABAAfABsAHgAgAAQADQAfAA8ABAAfABkArgAJABUAGAAgABEAHgAEAB8AGQCtAAwAFQAYACAAEQAeAAQADwAYABEADQAeALIAEAAVABgAIAARAB4ABAANABAAEAAEABMAHgAbACEAHACxABUAFQAYACAAEQAeAAQADQAQABAABAARACQAHAAeABEAHwAfABUAGwAaAKwABgAVABgAIAARAB4CSQAEABUAGAAZAnkACwAVABgAEQAfAAQAEQAeAB4AGwAeAkgACAAVABgAEQAEACYAFQAcAj8ACQAVABgAEQAEACMAGwAeABACbwAKABUAGAARAAQAIgAVABAAEQAbAnsADwAVABgAEQAEACAAJQAcABEAHwAPAB4AFQAcACACPAAIABUAGAARAAQAIAAkACACQwAIABUAGAARAAQAHAAfABACdQAQABUAGAARAAQAHAAeABsAEwAeAA0AGQAZABUAGgATAnIAEQAVABgAEQAEABwAHgARAB8AEQAaACAADQAgABUAGwAaAkEACAAVABgAEQAEABwAHAAgAkIACAAVABgAEQAEABwAEAASAkAACAAVABgAEQAEABkAEAAOAnEACgAVABgAEQAEABUAGQANABMAEQJWAA8AFQAYABEABAAUABsAHgAVACYAGwAaACAADQAYAkQACgAVABgAEQAEABIAGAANAB8AFAI+AAoAFQAYABEABAARACQADwARABgCeAAKABUAGAARAAQAEQAeAB4AGwAeAnQADwAVABgAEQAEABAAFQAfAA8ABAAVABkADQATABECcwAJABUAGAARAAQAEAANACAADQI9AAgAFQAYABEABAAPAB8AIgJFAAsAFQAYABEABAAPABsAGgASABUAEwJHAAgAFQAYABEABAAOAA0ADwJwAAoAFQAYABEABAANACEAEAAVABsCRgAJABUAGAARAAQADQAfAA8AJAI7AAgAFQAYABEABAANABAAEAI6AAQAFQAYABECEwAMAA0ADwARAA4AGwAbABcABAAOABsAJAISAAgADQAPABEADgAbABsAFwAVACwASAByAJwAvgDSAN4A9gEAARQBNgFCAWIBegGQAZ4BugHGAdIB3AHsAmEADQAeABsAIQAcAAQAHwARAA8AIAAVABsAGgJbABQAHgAbACEAHAAEABQAEQANABAAEQAeAAQAHwARAA8AIAAVABsAGgJcABQAHgAbACEAHAAEABIAGwAbACAAEQAeAAQAHwARAA8AIAAVABsAGgJnABAAHgAbACEAHAAEAA8AGwAYABgAEQAPACAAFQAbABoBkgAJAB4AGwAhABwABAAOABsAJABMAAUAHgAbACEAHABLAAsAHgAVABAABAAYAA0AJQAbACEAIABKAAQAHgAVABABEwAJAB4AEQAlAB8ADwANABgAEQDQABAAHgARAA0AIAARAB4ABAAbAB4ABAARAB0AIQANABgCfAAFAB4ADQAcABQCFwAPABsAGwATABgAEQAEABwAGAAhAB8ABAAOABsAJAIWAAsAGwAbABMAGAARAAQAHAAYACEAHwIVAAoAGwAbABMAGAARAAQADgAbACQCFAAGABsAGwATABgAEQIBAA0AGAAbAA4AEQAEABsAIQAgABgAFQAaABECAgAFABgAGwAOABEAvgAFABEADQAeAB8AvQAEABEADQAeAIIABwANABwABAAeABsAIwCBAAoADQAcAAQADwAbABgAIQAZABoAFQAsAFAAbgCcAMoA6gEKARYBIAEqATgBVAFgAWYBgAGKAZABlgGcAaIBqAC4ABEAJQAcABEAHgAYABUAGgAXAAQAGwAcABEAGgAEAB8AGQC3AA4AJQAcABEAHgAYABUAGgAXAAQAGwAcABEAGgHDABYAJQAcABEAHgAYABUAGgAXAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMBxQAWACUAHAARAB4AGAAVABoAFwAEABMAGAAbAA4AEQAEAB4AEQAZABsAIgARAcQADwAlABwAEQAeABgAFQAaABcABAATABgAGwAOABEBxgAPACUAHAARAB4AGAAVABoAFwAEABEAGQANABUAGAJLAAUAIAAZABgACgJMAAQAIAAZABgAWwAEABsAGQARAFwABgARABUAEwAUACAA7wANABEADQAeACAABAAbACEAIAAYABUAGgARAPAABQARAA0AHgAgAOgAAgAQAE4ADAANABoAEAAYABEAHgAEABAAHgANABMA2wAEAA0AGgAQAWQAAgALAWMAAgAKAWIAAgAJAWEAAgAIAWAAAgAHAV8AAgAGABUALAA6AFYAagCGAJ4AsgDKAOoBCgE+AXYBggGQAZ4BuAHaAgACGgIwAmABVAAGACAADQAYABUADwERAA0AGgAiABEAHgAgAAQADwAbABgAGwAeAB8BaQAJABoAHwARAB4AIAAEACEAHAFqAA0AGgAfABEAHgAgAAQAGQAVABAAEAAYABEBawALABoAHwARAB4AIAAEABAAGwAjABoCbgAJABoAFAARAB4AFQAgABEAEAD7AAsAGgASABsAHgAZAA0AIAAVABsAGgFnAA8AGgAQABEAGgAgAAQAFQAaAA8AHgARAA0AHwARAWgADwAaABAAEQAaACAABAAQABEADwAeABEADQAfABEBNAAZABoADwAeABEADQAfABEABAAiABEAHgAgABUADwANABgABAAfABwADQAPABUAGgATATAAGwAaAA8AHgARAA0AHwARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAEAB8AHAANAA8AFQAaABMCCQAFABoADgAbACQB+QAGABkAHAAbAB4AIAEpAAYAGQANABMAEQAfAQMADAAZAA0AEwARAAQAHgARAB8AFQAmABEBpgAQABkADQATABEABAAZAA0AHAAEABEAEAAVACAAGwAeAaQAEgAZAA0AEwARAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMBAAAMABkADQATABEABAARACQAHAAbAB4AIAGlAAoAGQANABMAEQAEABEAEAAVACAB7AAXABkADQATABEABAANAA4AHwAbABgAIQAgABEABAAcABsAHwAVACAAFQAbABoA/wAFABkADQATABEACwAYAEYAeACiANABAAE0AWYBnAHMAgABTQAWACEAHwAgABUAEgAlAAQAHwAgAA0AHgAgAAQAIgARAB4AIAAVAA8ADQAYAUgAGAAhAB8AIAAVABIAJQAEAB8AIAANAB4AIAAEABQAGwAeABUAJgAbABoAIAANABgBTwAUACEAHwAgABUAEgAlAAQAEQAaABAABAAiABEAHgAgABUADwANABgBSgAWACEAHwAgABUAEgAlAAQAEQAaABAABAAUABsAHgAVACYAGwAaACAADQAYAU4AFwAhAB8AIAAVABIAJQAEAA8AEQAaACAAEQAeAAQAIgARAB4AIAAVAA8ADQAYAUkAGQAhAB8AIAAVABIAJQAEAA8AEQAaACAAEQAeAAQAFAAbAB4AFQAmABsAGgAgAA0AGAFQABgAIQAfACAAFQASACUABAAOABEAIAAjABEAEQAaAAQAIgARAB4AIAAVAA8ADQAYAUsAGgAhAB8AIAAVABIAJQAEAA4AEQAgACMAEQARABoABAAUABsAHgAVACYAGwAaACAADQAYAVEAFwAhAB8AIAAVABIAJQAEAA0AHgAbACEAGgAQAAQAIgARAB4AIAAVAA8ADQAYAUwAGQAhAB8AIAAVABIAJQAEAA0AHgAbACEAGgAQAAQAFAAbAB4AFQAmABsAGgAgAA0AGAJOAAIAHwADAAgAKABIAMwADwAcABUABAAfACAADQAgACEAHwAEABsAHAARABoAywAPABwAFQAEAB8AIAANACAAIQAfAAQAFAAbABgAEADKAA8AHAAVAAQAHwAgAA0AIAAhAB8ABAAQABEAGgAlABsAOABGAFIAXAB6AJwAugDUAO4BAAEcATwBSAF4AZgBwgHcAfYCDgIYAjICTgJsApQCsALMAtoAtAAGABsAEwAbACEAIACzAAUAGwATABUAGgCWAAQAGwAPABcBZgAOABUAHwAgAAQAIQAaABsAHgAQABEAHgARABAB+AAQABUAHwAgAAQAHgAbABkADQAaAAQAHwAZAA0AGAAYAfcADgAVAB8AIAAEAB4AGwAZAA0AGgAEAA4AFQATAWUADAAVAB8AIAAEABsAHgAQABEAHgARABACGQAMABUAGgAXABEAEAAVABoABAAOABsAJAIYAAgAFQAaABcAEQAQABUAGgCUAA0AFQAaABcABAAiABEAHgAgABUADwANABgAkgAPABUAGgAXAAQAFAAbAB4AFQAmABsAGgAgAA0AGAKJAAUAFQAaABEABgKOABcAFQAaABEABAAfACAADQAPABcAEQAQAAYABQAFAAQAGQANAB4AFwARAB4AHwKLAA8AFQAaABEABAAfACAADQAPABcAEQAQAAYABQAFAo0AFAAVABoAEQAEAB8AIAANAA8AFwARABAABAAZAA0AHgAXABEAHgAfAooADAAVABoAEQAEAB8AIAANAA8AFwARABACjAAMABUAGgARAAQAGQANAB4AFwARAB4AHwIAAAsAFQAaABEABAAUABEAFQATABQAIAEOAAQAFQAaABEB/wAMABEAIAAgABEAHgAEAB8AHAANAA8AEQDPAA0AEQAfAB8ABAAbAB4ABAARAB0AIQANABgAUwAOAA0AJQAbACEAIAAEAB8AIAANAA8AFwARABAAUgATAA0AJQAbACEAIAAEAB8AFQAQABEABAAOACUABAAfABUAEAARAFEADQANACUAGwAhACAABAAHAAQADgAlAAQABwBQAA0ADQAlABsAIQAgAAQABgAEAA4AJQAEAAkATwAGAA0AJQAbACEAIAC5AAYADQAhABoADwAUAB0APABUAGQAgACgAL4AzADeAPoBFAEgATQBSgFUAXABhAGaAboB3gH0AgoCJAI8AlgCZgKeAr4C3AL+AhsACwAlAB8AHAANAA8AEQAEAA4AGwAkAhoABwAlAB8AHAANAA8AEQBYAA0AGwAeABEABAAiABEAHgAgABUADwANABgAWQAPABsAHgARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAHCAA4AGwAQACEAGAARAAQAGQANABoADQATABEAHgEFAAYAFQAeAB4AGwAeAMkACAAVABoAIQAfAAQAHwAZAKUADQAVABoAIQAfAAQAGwAhACAAGAAVABoAEQCmAAwAFQAaACEAHwAEAA8AFQAeAA8AGAARAKQABQAVABoAIQAfAGEACQAVABoABAAjABUAEAAgABQAYAAKABUAGgAEABQAEQAVABMAFAAgAFcABAARABoAIQGrAA0AEQAQABUADQAEABkADQAaAA0AEwARAB4AXwAJAA0AJAAEACMAFQAQACAAFABeAAoADQAkAAQAFAARABUAEwAUACAB+wAPAA0AIAAPABQABAASACEAGAAYAAQAIwAbAB4AEAIEABEADQAeABcAEQAeAAQAHAAVABoABAAgAA0AHgATABEAIAIDAAoADQAeABcAEQAeAAQAHAAVABoAYwAKAA0AHgATABUAGgAEACAAGwAcAGQADAANAB4AEwAVABoABAAeABUAEwAUACAAZgALAA0AHgATABUAGgAEABgAEQASACAAZQANAA0AHgATABUAGgAEAA4AGwAgACAAGwAZAGIABgANAB4AEwAVABoBMwAbAA0AFwARAAQAIgARAB4AIAAVAA8ADQAYAAQAHwAcAA0ADwAVABoAEwAEABEAHQAhAA0AGAEtAA8ADQAXABEABAAfAA0AGQARAAQAIwAVABAAIAAUASwADgANABcAEQAEAB8ADQAZABEABAAfABUAJgARAS4AEAANABcAEQAEAB8ADQAZABEABAAUABEAFQATABQAIAEvAB0ADQAXABEABAAUABsAHgAVACYAGwAaACAADQAYAAQAHwAcAA0ADwAVABoAEwAEABEAHQAhAA0AGAADAAgAIgA2APoADAAbACAAFQASABUADwANACAAFQAbABoAzgAJABsAIAAEABEAHQAhAA0AGACHAA4AGwAaAAQAHgARAA8AIQAeAB4AEQAaAA8AEQADAAgAGAA0AFoABwAiABEAHgAYAA0AHAB2AA0AIQAgABgAFQAaABEABAAjABUAEAAgABQAdwAOACEAIAAYABUAGgARAAQAGwASABIAHwARACAAMgBmAHIAggCcALoA1gD2AQYBIAE4AUIBVAFkAW4BigGeAaYBrgHIAdgB6gH2AhgCNgJMAoICogK+AsoC3AMCAy4DRANmA4oDqgPSA/YEEgQqBDIEQgROBG4ElgS+BNYE8gUMBSoAjQAFAB4AFQAaACAAwAAHAB4AEQAiABUAEQAjAHkADAAbAB8AFQAgABUAGwAaAAQAIAAbABwAegAOABsAHwAVACAAFQAbABoABAAeABUAEwAUACAAfAANABsAHwAVACAAFQAbABoABAAYABEAEgAgAHsADwAbAB8AFQAgABUAGwAaAAQADgAbACAAIAAbABkAyAAHABgAIQAfAAQAHwAZAKIADAAYACEAHwAEABsAIQAgABgAFQAaABEAowALABgAIQAfAAQADwAVAB4ADwAYABEAoQAEABgAIQAfAOoACAAYAA0AJQAYABUAHwAgAOwABwAYAA0AJQAEAB8AGQDgAAQAGAANACUCHQANABUAGgAgABEAHgARAB8AIAAEAA4AGwAkAhwACQAVABoAIAARAB4AEQAfACACBQADABUAGgKPAAMAFQARAP4ADAAUABsAIAAbAAQADwANABkAEQAeAA0B5wAHABEAHgAPABEAGgAgAO0ACAANACEAHwARAAQAHwAZAOEABQANACEAHwARAbcAEAANAB8AIAARAAQAHAAYAA0AFQAaAAQAIAARACQAIAG2AA4ADQAfACAAEQAEABkADQAeABcAEAAbACMAGgG1AAoADQAfACAAEQAEABQAIAAZABgBtAAaAA0AHwAgABEABAASAB4AGwAZAAQAIwAbAB4AEAAEAB8AIAAeABUAHAAEABIAFQAYABEBswAPAA0AHwAgABEABAASAB4AGwAZAAQAIwAbAB4AEAGyAA0ADQAfACAAEQAEAA0AHwAEABQAIAAZABgBsQAFAA0AHwAgABEBlgAIAA0AHwAfACMAGwAeABACdwASAA0AHgANABkAEQAgABEAHgAfAAQAIQAaABcAGgAbACMAGgJ2ABUADQAeAA0AGQARACAAEQAeAB8ABAAOACUAIAARAAQADQAeAB4ADQAlAmIACgANAB4ADQAZABEAIAARAB4AHwJsABAADQAeAA0AGQARACAAEQAeAAQAHwAgAB4AFQAaABMCawARAA0AHgANABkAEQAgABEAHgAEABUAGgAgABEAEwARAB4CagAPAA0AHgANABkAEQAgABEAHgAEABIAGAAbAA0AIAJpABMADQAeAA0AGQARACAAEQAeAAQAEAANACAAEQAEACAAFQAZABECaAARAA0AHgANABkAEQAgABEAHgAEAA4AGwAbABgAEQANABoBlwANAA0AHgANABMAHgANABwAFAAEAA0AEAAQAdsACwANABoAEQAEABIAHgARABEAJgARAMQAAwANABoBDAAHAA0AGAARACAAIAARAQ0ABQANABUAGgAgAVIADwANABMAEQAEABwAHgAbABwAEQAeACAAFQARAB8CXQATAA0AEwARAAQAFAARAA0AEAARAB4ABAAfABEADwAgABUAGwAaAl4AEwANABMAEQAEABIAGwAbACAAEQAeAAQAHwARAA8AIAAVABsAGgBoAAsADQAQABAAFQAaABMABAAgABsAHABpAA0ADQAQABAAFQAaABMABAAeABUAEwAUACAAawAMAA0AEAAQABUAGgATAAQAGAARABIAIABqAA4ADQAQABAAFQAaABMABAAOABsAIAAgABsAGQBnAAcADQAQABAAFQAaABMABAAKABwAPABcAPwACAAhABEAHwAgABUAGwAaANgADwAeAAQADwAbABAAEQAEAB8ADwANABoAGgARAB4A1gAPAB4ABAAPABsAEAARAAQAGwAhACAAGAAVABoAEQDXAAcAHgAEAA8AGwAQABEAIABCAGIAcgB6AIQAmgC2ANAA6AD2AQABDgEgATgBRAFwAZwBugHSAeICEgJGAloCaAKOApgCrgK8AuQC/AMYAzIBdQAPACEAGAARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAIvAAcAHwAfAAQADgAbACQCLgADAB8AHwBVAAQAGwAjAB8B3AAKABsAIwAEABIAHgARABEAJgARARcADQAbACEAGgAQAAQADwAbAB4AGgARAB4AHwEJAAwAGwAgAA0AIAARAAQAHgAVABMAFAAgAQoACwAbACAADQAgABEABAAYABEAEgAgAQgABgAbACAADQAgABECnAAEABsAHwARAOMABgARACMAFQAaABAAiAAIABEAHwARACAABAAfABkBKAALABEAHwARACAABAAPABsAGAAbAB4AhQAFABEAHwARACACWQAVABEAHAAbAB4AIAAEABQAEQANABAAEQAeAAQAHwARAA8AIAAVABsAGgJaABUAEQAcABsAHgAgAAQAEgAbABsAIAARAB4ABAAfABEADwAgABUAGwAaAf0ADgARABwAGAANAA8AEQAEAB8AFQAaABMAGAARAf4ACwARABwAGAANAA8AEQAEAA0AGAAYAFYABwARABsAHgAQABEAHgE2ABcAEQAZABsAIgARAAQAIgARAB4AIAAVAA8ADQAYAAQAHwAcAA0ADwAVABoAEwEyABkAEQAZABsAIgARAAQAFAAbAB4AFQAmABsAGgAgAA0AGAAEAB8AHAANAA8AFQAaABMAiQAJABEAGAAbAA0AEAAEAB8AGQCGAAYAEQAYABsADQAQAfwAEgARABMAIQAYAA0AHgAEABEAJAAcAB4AEQAfAB8AFQAbABoAhAAEABEAEAAbAh8ACgARABAAEAAVACAABAAOABsAJAIeAAYAEQAQABAAFQAgAPkAEwANABAAFQAbAA4AIQAgACAAGwAaAAQADwAUABEADwAXABEAEAD4AAsADQAQABUAGwAOACEAIAAgABsAGgKaAA0ADQAQAA0AHgAEABkADQAeABcAEQAeAB8CmwAMAA0AEAANAB4ABAASABUAGAAYABEAEAKZAAUADQAQAA0AHgAtAFwAagCAAIgAnACwAMYA4gEEAR4BSgFyAZoBvAHmAgICEgIcAigCQgJMAmgCggKWAq4CwALkAwgDHAMkAz4DVgNqA3oDhgOSA7oD0APmBCQEUgSMBLYExgTQAeUABgAlABkADgAbABgBXAAKACEAHAAEAB8ADwAeABUAHAAgAeQAAwAhABkA6QAJACEADgAgABUAIAAYABEAHwJXAAkAIQAOAB4AEQAcABsAHgAgAVsACgAhAA4ABAAfAA8AHgAVABwAIAHBAA0AIAAlABgAEQAEAA4AIQAVABgAEAARAB4CIQAQACAAIQAZAA4AGAARAAQAIQAcABsAGgAEAA4AGwAkAiAADAAgACEAGQAOABgAEQAEACEAHAAbABoBvwAVACAAHgAVABwABAAjABsAHgAQAAQAEgAbAB4AGQANACAAIAAVABoAEwG+ABMAIAAeABUAHAAEAB8AHAANABoABAARABgAEQAZABEAGgAgAB8BvQATACAAHgAVABwABAASABsAGgAgAAQAEQAYABEAGQARABoAIAAfAbwAEAAgAB4AFQAcAAQADwAfAB8ABAASABsAHgAZAA0AIAG7ABQAIAAeABUAHAAEAA0AGAAYAAQAEgAbAB4AGQANACAAIAAVABoAEwFaAA0AIAAeABUAFwARACAAFAAeABsAIQATABQA7gAHACAAGwAcAAQAHwAZAOIABAAgABsAHADdAAUAIAAVAA8AFwDxAAwAIAANAB4ABAAbACEAIAAYABUAGgARAPIABAAgAA0AHgHfAA0AHAARABgAGAAEAA8AFAARAA8AFwARAB4AqwAMABsAHgAgAAQAEAARAB8ADwAEAB8AGQCoAAkAGwAeACAABAAQABEAHwAPAKoACwAbAB4AIAAEAA0AHwAPAAQAHwAZAKcACAAbAB4AIAAEAA0AHwAPAToAEQAaAA0AHAAEACAAGwAEAB8AGgANABwAGAAVABoAEQAfATkAEQAaAA0AHAAEACAAGwAEABMAHgAVABAAGAAVABoAEQAfATgACQAaAA0AHAAEABMAHgAVABACVAADABgAGgErAAwAFQAmABEABAAgABsABAATAB4AFQAQAaoACwAVABgAIgARAB4AGAAVABMAFAAgANoACQAVABMAGgANACAAIQAeABEBFQAHABQADQAeABwAEQAaAgcABQAUAA0AHgARARYABQAUAA0AHAARAN8AEwARACAABAAPABsAGAAhABkAGgAEABwAGwAfABUAIAAVABsAGgGQAAoAEQAYABEADwAgAAQADgAbACQBjgAKABEAGAARAA8AIAAEAA0AGAAYApQAHgAPAA0AIAAgABEAHgAEAB8AIAAeAA0AFQATABQAIAAEABgAFQAaABEAHwAEABkADQAeABcAEQAeAB8ClQAWAA8ADQAgACAAEQAeAAQAHwAgAB4ADQAVABMAFAAgAAQAGAAVABoAEQAfApIAHAAPAA0AIAAgABEAHgAEAB8AGQAbABsAIAAUAAQAGAAVABoAEQAfAAQAGQANAB4AFwARAB4AHwKTABQADwANACAAIAARAB4ABAAfABkAGwAbACAAFAAEABgAFQAaABEAHwKRAAcADwANACAAIAARAB4AjAAEAA0AIgARARAACgANACAAIQAeAA0AIAAVABsAGgA7AHgAkACgALYAxADiARIBLAFeAYgBsgHkAg4CKgJGAnYCmgKyAs4C8AMQAzADTgNeA3ADhAOmA8oD5gQCBDAEXgSABKIExATuBRYFQgVoBYIFnAXQBgIGKgZSBn4Goga4Bs4G+gckB1IHeAeqB9oIDghACHAIpAInAAsAIwAVACAAIAARAB4ABAAOABsAJAImAAcAIwAVACAAIAARAB4CJQAKACEAGQAOABgAHgAEAA4AGwAkAiQABgAhABkADgAYAB4A9gAOAB4AFQAEAB8AIAANACAAEQAEABoAIQAYABgA9QAXAB4AFQAEAB8AIAANACAAEQAEABUAGgAQABEAIAARAB4AGQAVABoADQAgABEBEgAMAB4ADQAaAB8AHAARAB4ADQAaAA8AJQGgABgAHgANAA8AFwAEAA8AFAANABoAEwARAB8ABAAeABEAFgARAA8AIAAEAA0AGAAYAZ8AFAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEAB4AEQAWABEADwAgAZwAFAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEABEAGgANAA4AGAARAZ4AGAAeAA0ADwAXAAQADwAUAA0AGgATABEAHwAEAA0ADwAPABEAHAAgAAQADQAYABgBnQAUAB4ADQAPABcABAAPABQADQAaABMAEQAfAAQADQAPAA8AEQAcACABmwANAB4ADQAPABcABAAPABQADQAaABMAEQAfAd4ADQAbABsAGAAOAA0AHgAEABIAGAAbAA0AIAHiABcAGwATABMAGAARAAQAEgAhABgAGAAEAB8ADwAeABEAEQAaAAQAGQAbABAAEQJtABEAGwAPAAQAHwARAA8AIAAVABsAGgAEABgAEQAiABEAGAJgAAsAGwAPAAQAHwARAA8AIAAVABsAGgEiAA0AFAAhABkADgAaAA0AFQAYAB8ABAAhABwBIwAQABQAIQAZAA4AGgANABUAGAAfAAQAHgAVABMAFAAgASUADwAUACEAGQAOABoADQAVABgAHwAEABgAEQASACABJAAPABQAIQAZAA4AGgANABUAGAAfAAQAEAAbACMAGgGVAA4AEQAkACAADgAbACQABAAUABUAEAAQABEAGgGUAAcAEQAkACAADgAbACQBkwAIABEAJAAgAA0AHgARAA0BdAAJABEAJAAgAAQAIwAeAA0AHAGZABAAEQAZABwAGAANACAAEQAEABkADQAaAA0AEwARAB4CIwARABEAGAAYAAQADQAEABIAHgAVABEAGgAQAAQADgAbACQCIgANABEAGAAYAAQADQAEABIAHgAVABEAGgAQAdoADQANAA4AGAARAAQAIQAaABkAEQAeABMAEQHQABYADQAOABgAEQAEAB4AGwAjAAQAFQAaAB8AEQAeACAABAAOABEAGAAbACMBzwAWAA0ADgAYABEABAAeABsAIwAEABUAGgAfABEAHgAgAAQADQAOABsAIgARAfMAEAANAA4AGAARAAQAHgAbACMABAATAB4AGwAhABwAHwHSABAADQAOABgAEQAEAB4AGwAjAAQAEAARABgAEQAgABEBygAQAA0ADgAYABEABAAcAB4AGwAcABEAHgAgABUAEQAfAfYAFAANAA4AGAARAAQAHAAbAB8AFQAgABUAGwAaAAQAHgAVABMAFAAgAfQAEwANAA4AGAARAAQAHAAbAB8AFQAgABUAGwAaAAQAGAARABIAIAH1ABUADQAOABgAEQAEABwAGwAfABUAIAAVABsAGgAEAA8AEQAaACAAEQAeAcgAEgANAA4AGAARAAQAGAAVABMAFAAgAAQAEAAVAA0AGAAbABMB1AAMAA0ADgAYABEABAAQABEAGAARACAAEQHyAAwADQAOABgAEQAEAA8AGwAeABoAEQAeAc4AGQANAA4AGAARAAQADwAbABgAIQAZABoABAAVABoAHwARAB4AIAAEAB4AFQATABQAIAHNABgADQAOABgAEQAEAA8AGwAYACEAGQAaAAQAFQAaAB8AEQAeACAABAAYABEAEgAgAfEAEwANAA4AGAARAAQADwAbABgAIQAZABoABAATAB4AGwAhABwAHwHRABMADQAOABgAEQAEAA8AGwAYACEAGQAaAAQAEAARABgAEQAgABEBzAAVAA0ADgAYABEABAAPABEAGAAYAAQAHAAeABsAHAARAB4AIAAVABEAHwHTABEADQAOABgAEQAEAA8AEQAYABgABAAQABEAGAARACAAEQHLAAoADQAOABgAEQAEAA8AEQAYABgB8AAKAA0ADgAYABEABAAOABsAEAAlAXgAFQANAA4AGAARAAQADQAYABUAEwAaAAQAIAAbABwABAAeABUAEwAUACABdgAUAA0ADgAYABEABAANABgAFQATABoABAAgABsAHAAEABgAEQASACABdwAWAA0ADgAYABEABAANABgAFQATABoABAAgABsAHAAEAA8AEQAaACAAEQAeAX8AEgANAA4AGAARAAQADQAYABUAEwAaAAQAHgARABkAGwAiABEBewAYAA0ADgAYABEABAANABgAFQATABoABAAZABUAEAAQABgAEQAEAB4AFQATABQAIAF5ABcADQAOABgAEQAEAA0AGAAVABMAGgAEABkAFQAQABAAGAARAAQAGAARABIAIAF6ABkADQAOABgAEQAEAA0AGAAVABMAGgAEABkAFQAQABAAGAARAAQADwARABoAIAARAB4BfgAYAA0ADgAYABEABAANABgAFQATABoABAAOABsAIAAgABsAGQAEAB4AFQATABQAIAF8ABcADQAOABgAEQAEAA0AGAAVABMAGgAEAA4AGwAgACAAGwAZAAQAGAARABIAIAF9ABkADQAOABgAEQAEAA0AGAAVABMAGgAEAA4AGwAgACAAGwAZAAQADwARABoAIAARAB4ByQAFAA0ADgAYABEACwAYACIAMABAAE4AWgBoAIgArAC8AMYCCAAEAB8AEQAeALYABgAcABgAGwANABAA3gAHABoAHwAgABUADwAXAKkABgAaAB8AGwAeACACBgAFABoAHAAVABoAlwAGABoAGAAbAA8AFwCVAA8AGgAYABUAGgAXAAQAIgARAB4AIAAVAA8ADQAYAJMAEQAaABgAFQAaABcABAAUABsAHgAVACYAGwAaACAADQAYAE0ABwAaABMAHgAbACEAHACDAAQAGgAQABsBVQAJABoAEAARAB4AGAAVABoAEQAKABYAKgBAAFgAbAB4AJYApACqAMwA5gAJABsAGAAhABkAEQAEACEAHADnAAoAGwAYACEAGQARAAQAGwASABIA5QALABsAGAAhABkAEQAEABAAGwAjABoCMQAJABUAGQARABsABAAOABsAJAIwAAUAFQAZABEAGwGsAA4AFQAQABEAGwAEABEAJAAgABEAHgAaAA0AGAJRAAYADgAcAB4AGwAWAlMAAgAOAeAAEAANABgAFQAQAA0AIAAVABsAGgAEACQAFAAgABkAGAHhAA8ADQAYABUAEAANACAAFQAbABoABAAQAA0AIAANAAgAEgAgADoAWgBqAIoAmACkAL8ABgAeABEAGgAPABQB7QAMABUAJgANAB4AEAAEACAADQAOABgAEQHvAA8AFQAmAA0AHgAQAAQADwAeABsAHwAfACAADQAOALsABwAVABoAEAAbACMAHwC8AA8AFQAaABAAGwAjAAQAGQAVABoAFQAZABUAJgARALoABgAVABoAEAAbACMAXQAFABUAEAAgABQA/QAHAA0AHgAaABUAGgATAAQACgAiADIASAIzAAsAGwAhACAAIQAOABEABAAOABsAJAIyAAcAGwAhACAAIQAOABECKQAKAA0AGQAZABEAHgAEAA4AGwAkAigABgANABkAGQARAB4ABQAMAB4ALgBKAGwAwwAIABsAGwAZAAQAGwAhACAAwgAHABsAGwAZAAQAFQAaAQIADQAbABsAGQAEAA4AEQAfACAABAASABUAIAEBABAAGwAbABkABAANAA8AIAAhAA0AGAAEAB8AFQAmABEAwQAEABsAGwAZAAEABAKdAAICngAAAAMD/wGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6iIDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEALAAAAAoACAABAAIAAEAIAAtADYASQB64FvhXOIO4wrkA+VT5qnmr+cF6CzpR+oi//3//wAAAAAAIAAtADAASQBh4ADhAOIA4wDkAOUA5gDmq+cA6ADpAOoA//3//wAB/+P/1//V/8P/rCAnH4Me4B3vHPob/htSG1EbARoHGTQYfAADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBQAEAAsACgAACAAABEQECwP6AAoD+gAGAAAABAUABAALAAoAAAgAAASEBAsD+gAGAAQABgAAAAQFAAQACwAKAAAIAAAERAQFAAYABAAGA/oAAAAEBQAEAAsACgAACAAABIQEBQAGA/oACgP6AAAABAQABAAMAAoAAAgAACQEhAgABAP4AAoD+gAAAAQFAAMACwALAAAIAAAkBEQLA/oABwP8AAgAAAAEBAAEAAwACgAACAAAJASECAP8AAgABAAGAAAABAUAAwALAAsAAAgAACQERAUABgAHAAQD+AAAAAgEAAQADAALAAAIABgAACQIRIRUhAQABAAEA/gACAAEAAYD+gAHAQAAAAAACAQAAwALAAsAAAgAGAAAJAiERIxEBAAGA/oABwEACwP8A/wACAP4AAAAAAAIBAAEAAwACwAACAAYAAAkCESE1IQMA/wD/AAIA/gACwP6AAYD+QEAAAAAAAgEAAMACwALAAAIABgAAJQkBIREzEQLA/oABgP5AQMABAAEA/gACAAAAAAACAQAAQAMAA0AAAgAFAAAlCQEJASEBAAEAAQD/AP8AAgBAAYD+gAMA/oAAAAIAgADAA4ACwAACAAUAABMJAQkBEYABgP6AAwD+gALA/wD/AAEAAQD+AAAAAgEAAEADAANAAAIABQAACQIJASEDAP8A/wABAAEA/gADQP6AAYD9AAGAAAACAIAAwAOAAsAAAgAFAAAlCQEJAREDgP6AAYD9AAGAwAEAAQD/AP8AAgAAAAIBAAAAAwADgAACAAYAAAEhAREBIQEBAAIA/wD/AAIA/wABgP6AA4D+gAGAAAAAAAIAAAEAA8ACgAACAAUAAAkCIQEhAgD/AP8AAsD/AAIAAoD+gAGA/oAAAAAAAgEAAQADAAMAAAIABgAACQI1FSE1AwD/AP8AAgACgP6AAYCAQEAAAAEAwAD8A0ACgAAGAAAlNxc3CQEXAQT8/ET+wP7ARPz8/EQBQP7ARAABATwAgALAAwAABgAAARcHFwkBBwE8/PxEAUD+wEQCvPz8RAFAAUBEAAAAAAEAwAEAA0AChAAGAAABBycHCQEnAvz8/EQBQAFARAKE/PxE/sABQEQAAAAAAQFAAIACxAMAAAYAACUnNycJATcCxPz8RP7AAUBExPz8RP7A/sBEAAEBAACAAwADAAAGAAABIxEjESMBAwDAgMABAAGA/wABAAGAAAEAwADAA0ACwAAGAAAlNSE1ITUBAcD/AAEAAYDAwIDA/wAAAAEBAACAAwADAAAHAAABMxEzETMJAQEAwIDA/wD/AAIAAQD/AP6AAYAAAAAAAQDAAMADQALAAAYAAAEVIRUhFQECQAEA/wD+gALAwIDAAQAAAQEAAMADQAKAAAoAAAEVMwsBMzUhNSEVAkCAoKCA/wACQAJAgP8AAQCAQEAAAAAAAQEAAMADQAKAAAgAAAEbASMVIRUhNQEAoKCAAYD+QAGAAQD/AIBAwAAAAAACAMAAwANAAsAACAAMAAABGwEjFSEVITUBIRUhAQCgoIABgP5AAcD9gAKAAYABAP8AgEDAAUBAAAMAAAAABAADgAAGAAoAEQAAATMVIxUtARMzESMBJRUjFTMVAQCAgP8AAQDAgIACQP8AgIABwUGAoKD9wAOA/iCggEF/AAAAAAEAQAAAA8ADgAARAAAlNSEVIzUjNTMRIxsBIxEhNQUCwP5AQICAgKCggAHAAQAAgICAQAHAAQD/AP5AgKAAAAACAMAAAANAA4AABgANAAABIxEjESMTAREjESMbAQIAgECAoAFgQICgoAKA/kABwAEA/YABwP5A/wABAAACAEABAAPAAsAAAgAGAAATDQEBFSE1QAGA/oABwAHAAsDg4AEAQEAABgBAAAADwAOAAAIABQAJAA0AEQAVAAATESUBEQUBFSE1BRUhNQEVITUFFSE1QAFA/sABQAJA/cACQP3AAkD9wAJA/cADgP6AwP1AAYDAAoBAQMBAQP7AQEDAQEAAAAAACQBAAAADwAOAAAMABwALAA8AEwAXABsAHwAjAAATIREhASERIQEhESE1IREhASERIQERIREBIREhJSERIQEhESFAAQD/AAFAAQD/AP7AAQD/AAEA/wABQAEA/wABQAEA/wABAP8A/sABAP8AAUABAP8AA4D/AP2AAQD/AAEAQAEA/wABAAFA/wABAP3AAQBAAQD8gAEAAAAGAEAAQAPAA4AAAwAHAAsADwATABcAABMzFSMlFSE1ATM1IwUhNSEBMzUjBSE1IUDAwAEAAoD8gMDAAQACgP2A/wDAwAEAAoD9gAOAwMDAwP4AwMDA/gDAwMAAAAQAQABAA4ADgAADAAcACwAPAAATIREhESERIQEhESEZASERQAGA/oABgP6AAcABgP6AAYABwP6AAcABgPzAAYABwP6AAYAAAAQAQABAA4ADgAADAAcACwAPAAATIREhEyERIQEhESEDESERQAGA/oBAAQD/AAHAAQD/AEABgAHA/oACAAEA/UABAAIA/oAB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gP6AQAEA/wADgPyAA4D8wAMA/gBAAYBA/wAAAAAUAAAAAAPAA8AABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAAATIxEhEQMhESEHIzUzBSM1MzUjNTMXIzUzFyM1MxcjNTMBIzUzJSM1MxEjNTM1IzUzASM1MwUjNTMFIzUzFyM1MxcjNTMFIzUzJSM1MwUjNTNAQAPAQPzAA0DAQED+AEBAQECAQECAQECAQED+gEBAAoBAQEBAQED9gEBAAgBAQP6AQECAQECAQEABAEBA/YBAQAKAQEADwPxAA8D8gANAwEDAQEBAQEBAQEBA/sBAwED+wEBAQP5AQEBAQEBAQEBAQEBAQEBAAAADAEAAAAPAA4AABAAIAAwAACURIREhJREhEQEhFSEDwPyAA4D8wAMA/UACgP2AQANA/IBAAwD9AALAwAADAEAAAAPAA4AABAAIAAwAADchESEREyERIQEzESOAA0D8gEADAP0AAgDAwAADgPyAA0D9AALA/YAAAAADAEAAAAPAA4AABAAIAAwAABMRIREhBREhERMhFSFAA4D8gANA/QBAAoD9gANA/MADgED9AAMA/gDAAAADAEAAAAPAA4AABAAIAAwAAAEhESERAyERIQUzESMDgPzAA4BA/QADAP1AwMADgPyAA4D8wAMAQP2AAAAEAEAAAAPAA4AAAwAHAAsADwAAEyEVIREhFSE1IREhFyERIUADgPyAA4D8gAOA/ICAAoD9gAOAQP0AQMACAID/AAAAAAQAQAAAA8ADgAADAAcACwAPAAABMxEjATMRIzchESEXIREhA4BAQPzAQECAAoD9gIABgP6AA4D8gAOA/IDAAgCA/wAABABAAAADwAOAAAMABwALAA8AABMRIREDIREhBTMRIwEzESNAA4BA/QADAP2AwMABQMDAA4D8gAOA/MADAID+AAIA/gAAAAAABgBAAAADwAOAAAMABwALAA8AEwAXAAA3IREhFyERIRMzESMBMxEjATMRIwEzESPAAoD9gEACAP4AQICAAQCAgP4AQEADQEBAgAKAQP4AAcD+gAGA/oACgPyAA4D8gAAABABAAAADwAOAAAMABwALAA8AABMRIREDIREhBTMRIwEzESNAA4BA/QADAP1AwMABwMDAA4D8gAOA/MADAED9gAKA/YAAAAAABABA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AQMBAQECBAI1Ly5GFBQBAQEBAQEBAQsXF0IoKC0CAMAZGVc6O0ICAAOA/voMHB1TNDQ6Qjs6VxkZExRFLi83wBQURi4vNS0oKEIXFwsBAQEBAQEBARQURi4vNQIEAgEBAQMBAQEBAQMBAQEEBwQCAQMBAQEBAQMBAQECAwIpJCMzDw4BAEI7OlcZGcAAAQCAAEADgANAAB8AAAEUBw4BBwYjISInLgEnJjURNDc+ATc2MyEyFx4BFxYVA4AUFEYuLzX/ADUvLkYUFBQURi4vNQEANS8uRhQUAUA1Ly5GFBQUFEYuLzUBADUvLkYUFBQURi4vNQADAIAAQAOAA0AABwANABMAABM1MzUhETM1ATMRIREhJRUjFSERwMD/AEABwID+AAFAAQDAAQACwEBA/wBA/kACAP4AgMBAAQAAAAAABQCAAEADgANAAAQACAARABYAGgAAATMRIRE3MxUjATMRIRUjESE1ISMRIREHIzUzAQCA/wBAgIABgMD+wMABQAEAwAEAQICAAkABAP8AwID/AAFAwP7AgP8AAQDAgAAAAgCAAEADgANAAAcADQAAAREhESERIREXIxUjFSEDgP4A/wACAMDAwAGAAkD+AAEAAgD/AEDAwAADAIAAQAOAA0AAAwAHAA0AAAERIREDIREhAyERMxEhAYACAED+gAGAwP4AwAFAAkD+AAIA/kABgAFA/gABQAAABAA/AAADfwOAAAMABwALAA8AABMzESMBIREhBREhEQUhFSE/QEACQP5AAcABAP1AAoD9wAJAA4D8gAMA/wCA/wABAECAAAAAAgB/AAADPwOAABQAGAAAATUzESM1IxUjETMVIREhFTM1IREhBSE1IQH/wMBAwMD+wAFAQAFA/sABAP3AAkABgIABAICA/wCA/wCAgAEAwIAAAAAABACBAAADwQOAAAQACQAOABIAADchESERNyEVITUTIREhESURIxGBAsD9QEACQP3AwAHA/kACQECAAQD/AMCAgAHA/wABAID8gAOAAAQAPwBAA78DgAADAAcACwAQAAATIREhASERITczESMlFSE1Ib8BAP8AAYABAP8AQICA/cADgPyAAwD+QAHA/UBAAkDAQEAAAAIAPwCAA78DQAATABgAAAERIREjNSEVIxUzFSE1MxEhETM1IxEjETMDP/8AgP8AgIABAIABAIDAgIACAAFA/sDAwEDAwP7AAUBA/sACQAAABAA///4DvwM+AAMABwALAA8AACUVITUBIREhKQERIQcjETMDv/yAAYD/AAEAAYD/AAEAQICAPkBAAgD+QALAQP3AAAAEAEAAQAOAA4AAAwAIAAwAEAAAATMVIyUzFSM1ITMVIxUhESECwMDA/sDAwP7AwMADQPzAA4DAwMDAwID+AAAABABAAEADgAOAAAMACAANABEAAAEzFSMRMxUjNREzFSM1KQERIQLAwMDAwMDA/YACAP4AAQDAAf+/vwFBwMD8wAAAAAAEAEAAQAOAA4AAAwAIAAwAEAAAATMVIyUzFSM1ITMVIxEhESECwMDA/sDAwP7AwMADQPzAAQDAwMDAwANA/gAABABAAEADgAOAAAMABwALAA8AABMVMzUzESERARUzNQMVMzVAwIACAPzAwMDAA4DAwPzAA0D+wMDA/sDAwAAAAAQAAAAABAADgAAFAAsAEQAXAAATIRUjFSMTIxEhNSMBFTMVMxEDIxUhESMAAUDAgICAAUDAAkDAgIDAAUCAA4CAwP8A/sCAAwCAwAFA/QCAAUAAAAQAAAAABAADgAAFAAsAEQAXAAABIxUjFSEDMxEhFTMBNSM1IxETMzUhETMBQIDAAUCAgP7AwANAwICAwP7AgAOAwID9wAFAgAGAgMD+wP6AgP7AAAQAQAAAA8ADgAAbACMAOQCNAAAlFw4BIyInLgEnJjU0NjcXDgEVFBceARcWMzI2JzUiJjUjFBYFBwE3FzY3PgE3NjEwFx4BFxYVFAYHJzQnLgEnJicuAScOAQcOAQcOAQcOAQcOAQcUIhUOAQc4ASMBOAExPgE3MDQxNDY1MDQ1PgE1MDYxNDY1PAE1NjQ1NjQ1PAE1NDY1PAE1PAE1NjQ1AnwuJVYvQjs6VxkZFBEyCwwUFEYuLzUiPmA1S0BwAhAt/K0t2iAhIjUQETIyeDIyDg0lCQolGxskHjoWFjoeAgQCAQMBAQEBAQMCAQEEAQEBfwEBAQIBAQEBAQEBAWIuGRsaG1s9PUYqVSkxIDwbODIxShYVEi5ASzVPcVMtA1Mt2S8oKDkREDMyoWRkYiRFH4gjJydVLi4wKEMYGEMoAwUDAgMCAQIBAgQCAQECBQL+gQMFAgECBQIBAQIEAgICBAIBAQECBAEBAgEBBAIBAQECBAIBAQEDBQMABQBAAEADwANAAAsAGwAoADUAQgAAARQGIyImNTQ2MzIWNxEUBiMhIiY1ETQ2MyEyFgc4ATEhOAExETcXNxcTISIGFSERMjY1ETQmNyEiBhUhETI2NRE0JgIAJRsbJSUbGyXAJRv+ABslJRsCABslQP4AlatqVoD+ABslAkAbJSVl/gAbJQJAGyUlAYAbJSUbGyUlZf6AGyUlGwGAGyUlG/7UjKBkUAHsJRv+QCUbAYAbJYAlG/5AJRsBgBslAAAABQAA/8AEAAPAAAMABwALAA8AEwAAASERIQEjETMBIxEzEyEVIREhFSECgP6AAYD+QEBAAsBAQID8AAQA/AAEAAFAAYABAPwABAD8AAOAQP2AQAAABQAA/8AEAAPAAAMABwALAA8AEwAAJSERIQEjETMBIxEzEyEVIREhFSEDAP4AAgD9wEBAAsBAQID8AAQA/AAEAMACAAEA/AAEAPwAA4BA/YBAAAAACQAAAAADwAPAAAMACgARABgAHwAlACwAMgA4AAABFSM1EwczFTM1MwM1IxUjFzcBJxUjFTMVJTUHFzUzNREhETM1MyUjFTMVMxEBNSMRITUlFSMVIRECQMBgYEBBP0BAQGBgAYCAgID9QICAgP8AQMACgMDAQPyAQAEAAoDAAQACQMDAAYCAgID9QICAgIABYGBAQT+AQGBgQEABwP8AwEBAwAEA/IDA/wBAwMBAAQAAAAAABgAAAAADwAOAAAMABwAOABUAGwAhAAABITUhASMVMyUnFSMVMxUlNQcXNTM1BRUjFSERBTUjESE1A8D8QAPA/oDAwAGAgICA/UCAgIACgMABAPyAQAEAAsDA/oDAYGBAQT+AQGBgQEDAwEABAMDA/wBAAAAGAEAAAAPAA8AAAwAHAA4AFQAcACIAAAERIxEBFTM1AwczFTM1MwM1IxUjFzcBIxUzFTMRAxUjFSERAQDAAYDAYGBAQT9AQEBgYAEAwMBAQMABAAPA/EADwP6AwMABgICAgP1AgICAgANAQMABAP1AwEABAAAAAAABAEAAgAPAA0AAEwAAAREjNSMRIxEjFSMRMxUzETMRMzUDwMDAwMCAgMDAwAKA/sCA/sABQMABwMABQP7AgAAAAwBA/8ADwAPAABMAGQAfAAABESM1IxEjESMVIxEzFTMRMxEzNQMHFwcXNyEXNyc3JwPAwMDAwICAwMDAYS1zcy2g/UGgLXJyLQMA/sCA/sABQMABwMABQP7AgP4ALXNzLaCgLXNzLQADAED/wAPAA8AAEwAZAB8AAAERIzUjESMRIxUjETMVMxEzETM1AQcXBxc3Mxc3JzcnA8DAwMDAgIDAwMD93y1zcy2gwaAtcnItAwD+wID+wAFAwAHAwAFA/sCA/gAtc3MtoKAtc3MtAAMAP//BA78DwQATAB8AKwAAAREjNSMRIxEjFSMRMxUzETMRMzUTJwcnBxcHFzcXNyclJwcnBxcHFzcXNycDv8DAwMCAgMDAwIAtc3Mtc3Mtc3Mtc/5zLXNzLXNzLXNzLXMDAf7AgP7AAUDAAcDAAUD+wID90y1zcy1zcy1zcy1zcy1zcy1zcy1zcy1zAAAAAAEAgAAAA0ADgAATAAABFTMVITUzNSE1ITUjNSEVIxUhFQIAwP5AwP7AAUCAAUCAAUABQMCAgMDAwMDAwMAAAAADAAAAAAQAA4AAEwAZAB8AAAEVMxUhNTM1ITUhNSM1IRUjFSEVBScHJwcXEQcXNxc3AYDA/kDA/sABQIABQIABQAFALXNzLaCgLXNzLQFAwICAwMDAwMDAwGAtc3MtoALAoC1yci0AAAP//gAAA/4DgAATABkAHwAAARUzFSE1MzUhNSE1IzUhFSMVIRUVFzcXNycRNycHJwcBfsD+QMD+wAFAgAFAgAFALXNzLaCgLXNzLQFAwICAwMDAwMDAwNMtc3MtoAEmoC1zcy0AAAAAAwAAAAAEAAOAABMAHwArAAABFTMVITUzNSE1ITUjNSEVIxUhFQUnBycHFwcXNxc3JxMnBycHFwcXNxc3JwGAwP5AwP7AAUCAAUCAAUABQC1zcy1zcy1zcy1zcy1zcy1zcy1zcy1zAUDAgIDAwMDAwMDALS1zcy1zcy1zcy1zArMtc3Mtc3Mtc3MtcwACAEAAAAPAA4AAQwBHAAABJy4BIyIGDwEnLgEjIgYPAQ4BFRQWHwEBDgEHFQcUBhUUFjMyNjMxNz4BNwEXHgEzMjY/AT4BNTQmLwE3PgE1NCYnMQEjARcDmgwSLhsaLxF6CAULBwcLBRIFBQUFCP5vDBEFKwETDQIEAqsSHgwBkggFCwcHCwUSBQUFBQh5EhQUEv4mgAEgQANODBIUFBF6CAUFBQUSBQsHBwsFCP5uDB0RAawBBAIOEwErBREMAZEIBQUFBRIFCwcHCwUIehEvGxovEf3yASBAAAAABQAAAAADwAPAACsALwAzADcAOwAAATUjNSMVIzUjFSM1IxUjFTMVIxUzFSMVMxUzNTMVMzUzFTM1MzUjNTM1IzUhMxUjETUzFSEjNTM1IzUzA8DAQMBAwEDAwMDAwMBAwEDAQMDAwMD+AMDAwAEAwMDAwALAQMDAwMDAwEDAQMBAwMDAwMDAQMBAwMD/AMDAwEDAAAoAAABABAADgAAEAAgADAAQABQAGAAcADAANAA4AAABIREhEQEjNTM1IzUzNSM1MwEjNTM1IzUzNSM1MwEUBisBNTMyNjU0JiMxIzUzMhYVJTM1IxEzNSMBQP7AAkD+wMDAwMDAwAEAwMDAwMDAAgBeQkBAKDg4KEBAQl7+wEBAQEADgPzAA0D9AMBAwEDA/UDAQMBAwP6gQl5AOCgoOEBeQmBA/sBAAAUAQAAAA8ADgAAbAB8AMwA3ADsAAAEzNSM1IxUjNSMVIxUzESMVMxUzNTMVMzUhNSErAREzASM1MzI2NTQmIzEjNTMyFhUUBiMDIxUzAzM1IwHAwMBAgECAgICAQIBAAgD+AECAgAGgQEAoODgoQEBCXl5CYEBAQEBAAsBAgICAgED+AECAgICAQAIA/oBAOCgoOEBeQkJeAUBA/wBAAAAGAAD/wAQAA8AABgAKABIAGgAiACoAAAEhESERIREFMxUjEyMVMxUjETMRIxUzFSMRMyU1IxUjNSEVISM1IxUjNSECgP2AAQADAPxAgICAQECAgEBAgIABAECAAUABgIBAgAFAA8D8AAMAAQBAgP3AQIABQAEAQIABQEBAQICAQECAAAAFAD8AAAO/A4AABAAIAA0AEgAWAAATIREhEQMzESMTIREhERchNSEVAREzEb8CgP2AgEBAgAKA/YBAAgD+AAKAQAMA/wABAP0AA4D+AP8AAQDAgIACwPyAA4AAAAUAPwAAA78DgAADAAgADAAQABUAAAERIREDITUhFQERIREXIxEzARUhNSEBv/8AgAOA/IADAP8AwICA/UADgPyAAwD9gAKA/QBAQAMA/YACgED+AALAQEAAAAAAAwA/AAADfwOAAAMABwAMAAABIREhATMRIxMRIREhAn/+QAHA/cBAQIACwP1AAgABAP0AA4D+AP8AAQAAAQB/AAADPwOAABMAACUhFSM1IREhNSMRMzUzFTMRIxUhAz/+wED+wAFAwMBAwMABQICAgAEAgAEAgID/AIAAAAMAgQAAA8EDgAAEAAgADQAAASERIRElETMRASERIREBgQHA/kACAED8wALA/UADAP8AAQCA/IADgP0AAQD/AAAEAD8AAAO/A4AAAwAHAAsAEAAAASERIQEzESMhETMRASERIREDP/2AAoD9AEBAA0BA/QICgP2AAgABAP0AA4D8gAOA/QABAP8AAAAAAwA/AIADvwNAABMAFwAbAAABESERIzUhFSMVMxUhNTMRIREzNQUjNTMBIxEzAz//AID/AICAAQCAAQCA/cCAgAGAgIACAAFA/sDAwEDAwP7AAUBAwID/AAEAAAADAEAAQAPAA4AAAwAHAAsAABMhESEDFSE1ASERIcABAP8AgAOA/oABAP8AAwD+QAJAQED8wALAAAEAPwCAA78DQAATAAABIxEhESMVITUjNTM1IRUzESERMwO/gP8AgP8AgIABAIABAIABwP7AAUDAwEDAwAFA/sAAAAAAAwA///4DvwM+AAMACAAMAAAlIREhARUhNSEBIREhAb//AAEA/oADgPyAAwD/AAEAfgHA/gBAQAMA/UAABAA/AAADvwOAAAMACAANABEAAAERIREDITUhFREVITUhBREhEQG//wCAA4D8gAOA/IACAAEAAwD9gAKA/QBAQAOAQEB+/YACgAAAAAMAfwAAAz8DgAAUABgAHAAAATUzESM1IxUjETMVIREhFTM1IREhByE1IREjNTMB/8DAQMDA/sABQEABQP7AQP8AAQCAgAGAgAEAgID/AID/AICAAQDAgAEAgAAAAwA/AAAC/wOAAAMABwAMAAATIREhBzMRIwURIREhvwEA/wCAQEABwAEA/wADAP2AgAOAfv2AAoAAAAAAAwB/AAADPwOAAAQACAAMAAATIREhEQEzESMXESERfwEA/wABQEBAgAEAAwD9gAKA/QADgH79gAKAAAAAAwEBAAADwQOAAAQACAAMAAABIREhESURMxEBIREhAQEBAP8AAoBA/oABAP8AAwD9gAKAgPyAA4D9AgKAAAAAAAT//wAAA/8DgAAEAAgADAARAAATIREhESURMxEBIREhATMRIxF/AQD/AANAQP6AAQD/AP2AQEADAP2AAoCA/IADgP0CAoD8/gOA/IAAAAAABP//AAAD/wOAAAMABwAL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IREFITUhFSE1IRUhNSFAA4D8wAMA/UABgP6AAoD9gAGA/oAAA8D8QAOA/MADQIBAwEDAQAAFAEAAAAPAA8AAAwAHAAsADwATAAA3ESERAREhEQchFSEXIRUhByEVIUADgPzAAwDA/oABgID9gAKAgP6AAYAAA8D8QAOA/MADQEBAQEBAQAAAAAAFAEAAAAPAA8AAAwAHAAsADwATAAA3ESERAREhEQchFSEVIRUhFSEVIUADgPzAAwBA/oABgP2AAoD+gAGAAAPA/EADgPzAA0BAQEBAQEAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERASE1IRUhNSEVITUhQAOA/MADAP1AAYD+gAKA/YABgP6AAAPA/EADgPzAA0D+wEDAQMBAAAAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERAyEVIRchFSEHIRUhQAOA/MADAMD+gAGAgP2AAoCA/oABgAADwPxAA4D8wANA/wBAQEBAQAAAAAUAQAAAA8ADwAADAAcACwAPABMAADcRIREBESERAyEVIRUhFSEVIRUhQAOA/MADAED+gAGA/YACgP6AAYAAA8D8QAOA/MADQP8AQEBAQEAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREBITUhFSE1IRUhNSFAA4D8wAMA/UABgP6AAoD9gAGA/oAAA8D8QAOA/MADQP4AQMBAwEAAAAAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREDIRUhFyEVIQchFSFAA4D8wAMAwP6AAYCA/YACgID+gAGAAAPA/EADgPzAA0D+QEBAQEBAAAAABQBAAAADwAPAAAMABwALAA8AEwAANxEhEQERIREDIRUhFSEVIRUhFSFAA4D8wAMAQP6AAYD9gAKA/oABgAADwPxAA4D8wANA/kBAQEBAQAAGAEAAAAPAA8AAAwAHAAsADwATACcAABMRIREDIREhARcjNRUzFyMfASE1AzcXIRUhFyEVIRczFSMXMxUjFwdAA4BA/QADAP2HPEN/PLv2PP7OQC0yAeH+WzwBaf7SPPK2O3s/fy0DwPxAA8D8gANA/oBAQIBAQEBAAggtNUBAQEBAQECILQAABQBAAEADgAOAAAMABwALAA8AEwAAExEhEQUhESEZASERKQERITUhESFAA0D9AAFA/sABQAGA/sABQP7AAUADgPzAA0BA/sD+gAFA/sABQEABQAAACwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAAASM1MzMjFTM3IxUzNSMVMzUjFTMRIxUzNSMVMzcjFTM3IxUzExEhEQUhESEBAEBAgEBAgEBAQEBAQEBAQECAQECAQECA/MADAP1AAsABwEBAQEDAQMBA/kBAwEDAQEBAAcD8wANAQP1AAAAVAEAAQAOAA4AAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwBDAEcASwBPAFsAABMjNTMVIxUzFSMVMxUjFTMVIxUzASMVMxUjFTMVIxUzFSMVMwEjFTM3IxUzASMVMzcjFTM3IxUzJSMVMzcjFTM3IxUzASMVMzcjFTM3IxUzESERIxEhFSERMxEhgEBAQEBAQEBAQEADAEBAQEBAQEBA/YBAQIBAQP8AQECAQECAQEABAEBAgEBAgEBA/wBAQIBAQIBAQP6AQP6AAYBAAYADQECAQEBAwEBAQAJAQEBAwEBAQALAQEBA/UBAQEBAQEBAQEBAQANAQEBAQED+wAGA/oBA/oABgAAAABsAQABAA4ADgAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawAAARUhNRMjFTMVIzUzFSM1MxEjNTMVIzUzASM1MxUjNTMRIzUzFSM1MwEjNTMXIzUzFyM1MxUjNTMVIzUzESM1MxUjNTMVIzUzISMVMzMjNTMXIzUzISMVMzMjNTMXIzUzASMVMzMjNTMXIzUzA4D8wEBAQEBAQEBAQEBAAwBAQEBAQEBAQP2AQECAQECAQEBAQEBAQEBAQEBA/oBAQIBAQIBAQAEAQECAQECAQED/AEBAgEBAgEBAAgBAQAGAQIBAwED+wEDAQAHAQMBA/sBAwEACQEBAQEBAwEDAQP7AQMBAwEBAQEBAQEBAQAMAQEBAQAAAGwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAWwBfAGMAZwBrAAAlIxEzBTUjFSM1MxUjNTMVITUzFSM1MxUBNTMVIzUzFSE1MxUjNTMVATUzFQc1MxUHNTMVIzUzFSM1MxUhNTMVIzUzFSM1MxURNSMVFTUzFQc1MxURNSMVFTUzFQc1MxUBNSMVFTUzFQc1MxUCAEBAAYBAgEDAQP7AQMBAAcBAwED+wEDAQAJAQEBAQEDAQMBA/sBAwEDAQEBAQEBAQEBAAwBAQEBAQANAQEBAQEBAQEBAQED9AEBAQEBAQEBAAoBAQIBAQIBAQEBAQEBAQEBAQEABgEBAgEBAgEBA/wBAQIBAQIBAQAEAQECAQECAQEAAAAAbAEAAQAOAA4AAAwAHAAsADwATABcAGwAfACMAJwArAC8AMwA3ADsAPwBDAEcASwBPAFMAVwBbAF8AYwBnAGsAAAEVITUXIxUzFSM1MxUjNTMVIzUzFSM1MwEjNTMVIzUzFSM1MxUjNTMlIzUzFyM1MzcjNTMVIzUzFSM1MxUjNTMVIzUzFSM1MyEjFTMzIzUzFyM1MyEjFTMzIzUzFyM1MwEjFTMzIzUzNyM1MwOA/MBAQEBAQEBAQEBAQAMAQEBAQEBAQED9gEBAgEBAgEBAQEBAQEBAQEBAQP6AQECAQECAQEABAEBAgEBAgEBA/wBAQIBAQIBAQAOAQECAQIBAwEDAQMBAAUBAwEDAQMBAwEBAQMBAwEDAQMBAwEDAQEBAQEBAQEBAAYBAQMBAAAAAGwBAAEADgAOAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAEsATwBTAFcAWwBfAGMAZwBrAAA3NSEVJSMVMzUjNTM1IzUzNSM1MzUjNTMBIzUzNSM1MzUjNTM1IzUzASM1MxcjNTMTIzUzNSM1MzUjNTM1IzUzNSM1MzUjNTMhIxUzMyM1MxcjNTMhIxUzMyM1MxcjNTMBIxUzMyM1MxMjNTNAA0D9AEBAQEBAQEBAQEADAEBAQEBAQEBA/YBAQIBAQIBAQEBAQEBAQEBAQED+gEBAgEBAgEBAAQBAQIBAQIBAQP8AQECAQECAQEBAQEDAQIBAQEBAQEBA/kBAQEBAQEBA/sBAQED+wEBAQEBAQEBAQEBAQEBAQEBAQED+gEBA/sBAABsAQABAA4ADgAADAAcACwAPABMAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBLAE8AUwBXAFsAXwBjAGcAawAAEzMRIxM1IxUzNTMVMzUzFTM1MxUzNTMVATUzFTM1MxUzNTMVMzUzFQE1MxUHNTMVBTUzFTM1MxUzNTMVMzUzFTM1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A0D8gAJA/gABgP6AwMAAAAADAEAAAAPAA4AACwAPABMAAAERIxEhESMRIxEhEQERMxEzETMRAoBA/sCAQAOA/YDAwMADgPzAA0D8wANA/IADgPzAAgD+AAFA/sAABABAAAADwAOAAAUACQANABEAACUVIREzEQEjETMTESERJSERIQPA/IBAAYDAwED+wALA/sABQEBAA4D8wAKA/kACAP3AAkCA/kAAAAIAQAAAA8ADgAALAA8AADc1IREhNSERIREhNQEVITWAAUD+wALA/QADgP3A/wBAgAFAQAFA/IBAAYDAwAAAAAADAEAAAAPAA4AACwAPABMAADc1IREhNSERIREhNQEzFSMFFSE1gALA/UACAP3AA4D8wMDAAYD+gECAAUBAAUD8gEADAMDAwMAAAAAAAwBAAAADwAOAAAsADwATAAABESERITUhNSERITUFFSE1ESEVIQPA/IADgPzAA0D8wAIA/gABQP7AAkABQPyAQIABQECAwMABgMAAAAQAQAAAA8ADgAAFAAkADQARAAAlFSERMxEBIRUhExEhEQEhESEDwPyAQAKA/kABwED9wALA/kABwEBAA4D8wAGAwAEA/sABQAGA/sAAAAAAAwBAAAADwAOAAAoADgARAAABJwcnByc1IxEhEQUXByclFwcDK7C3REu1QAOA/sCFhY7+joyMAi+x5ERatOb8gAMAgIW7jnKMpwAAAAIAQAAAA8ADgAAHAA8AAAElAREjESERAwkCNQEXNwKA/wD/AEADgED/AP8A/wABDfz3AnWA/wABi/yAA4D+5v6aAQD+zc4BDH7OAAACAEAAAAPAA4AAAwAJAAATESERBwkCESFAA4BA/wD/AP8AAwADgPyAA4Da/poBAP7NAjMAAQBAAAADwAOAAA0AADcVIRUhETMRAQUBEQEngANA/IBAAQABAAFA/sD+gEBAA4D+QAEAgAFA/oD+wIAAAwBAAAADwQOAAAUAGQAdAAA3IRUhETMBAzUTNycHNTcXNxc3FQcfAScHJzcXNyeAA0D8gEABMfHCUzfe8FfacG9MTAF1paoyeIFWQEADgP49/sNmAQRCRHBMdGyuq4VeXXVrrsrVKJeafwAAAwBAAAADwAOAAAUADQAVAAAlFSERMxEBBSU1BSUFFQEFJTUFJQUVA8D8gEABQAEAAQD/AP8A/wABAAEAAQD/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BAAAQAQAAEAEAABABAABQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAYAEAABABAAAgAQAAEAEAAFABAAAAAQAAMAEAAAABAAAwAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAABAAQAAQAEAAEABAABAAQAAEAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAMAEAADABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAABAAQAAFMEAAAABAAAAAQAAQAEAAAABAAAwAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAQAQAAEAEAADABAAAwAQAAEAEAAEABAABAAQAAIAEAACABAABAAQAAIAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAMAEAADABAAAwAQAAIAEAADABAAAWgQAAEMEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACABAAAQAQAAIAEAAFABAABQAQAAEAEAABABAAAQAQAAMAEAADABAABAAQAAQAEAAEABAAAgAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAABABAAAUQQAAQAEAACABAAAQAQAAEAEAAAABAAAQAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAEAEAADABAAAwAQAAMAEAABQBAAAUAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAQAEAACABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAAAEAAAABAAAAAQAAEAEAAAABAAAQAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAAwEAADABAAAQAQAAEAEAABABAAAQAQAAIAEAAAABAABAAQAAQAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAAA/BAAAfwQAAIEEAAA/BAAAPwQAAD8EAABABAAAQAQAAEAEAABABAAAAAQAAAAEAABABAAAQAQAAAAEAAAABAAAAAQAAAAEAABABAAAQAQAAEAEAABABAAAPwQAAIAEAAAABAD//gQAAAAEAABABAAAAAQAAAAEAABABAAAAAQAAD8EAAA/BAAAPwQAAH8EAACBBAAAPwQAAD8EAABABAAAPwQAAD8EAAA/BAAAfwQAAD8EAAB/BAABAQQA//8EAP//BAAAPwQAAD8EAAA/BAAAPwQAAD8EAACABAABAAQAAQAEAAEABAABAAQAAMAEAABABAAAQAQAAAAEAACABAAAgAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAAABAAAAAQAAAAEAAAABAAAQAQAAEAEAABABAAAQAQAAMAEAADABAAAAAQAAEAEAABABAAAAAQAAIAEAABABAAAAAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAIAEAACABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAAAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAQAQAAAAEAAAABAAAAAQAAAAEAABABAAAQAQAAEAEAAAABAAAQAQAAAAEAABABAAAQAQAAAAEAAAABAAAQAQAAAAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAFMEAAAABAAAAAQAAAAEAABABAAAQAQAAMAEAABABAABAAQAAIAEAABABAAAgAQAAIAEAABABAAAAAQAAAAEAABABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAIAEAACABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAACgBAAAoAQAAMAEAACABAAAQAQAAIAEAABABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAAEABAAAQAQAAMAEAABABAAAQAQAAEAEAACABAAAQAQAAEAEAABABAAAgAQAAEAEAAAABAAAQAQAAEAEAABABAAAQAQAAEAEAADABAAAQAQAAEAEAABABAAAQgQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAQAQAAEAEAACABAAAgAQAAIAEAACABAAAQAQAAIAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAQAQAAEAEAACABAAAQAQAAEAEAACABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAAAEAAAABAAAAAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQAQAAEAEAABABAAAQgQAAEAEAABABAAAQAAAAAAAAAAAAAoAFAAeACgAMgA8AEYAUABaAGQAbgB4AIIAjACWAKAAqgC0AL4AyADSANwA5gDwAPoBBAEOARgBIgEsATYBQAFKAVQBXgFoAXIBfAGKAZgBpgG0AcIB0AHeAewCAgIYAi4CRAJaAnAChgKcArQCygLeAvIDCAMeAzIDRANWA2wDfgOWA6wDyAPsBAwEKgQ+BG4EugToBQwFMgVGBXYFoAXGBeYGEAYqBkQGXgZ4Bq4G5Ab+B1IHaAeAB6QHyAf2CCQIVgiICLoI7AkeCWAJognkCiYKaAqKCqwKzgrwCxILPgtsC5oLyAv2DB4MRgzEDOINAA0eDTwNXg2ADaQN1A34DhwOQA5mDrYPCA90D8QQFhB2ELwQ8BFGEXIRuBIGEmYSzhNmE84UZhSqFOwVTBXEFkIWVha6FvYXEBd6F7wX1Bg6GHgYhhjkGRoZNBlOGXQZiBmcGbIZ1hnqGggaJhpcGpwathrQGuobBBsoG0obbBuCG6IbsBw6HUYdmB4SHnIe4B9IH2wfnh/eIAwgIiAwIEAgTiB+IJIgtCDOIOog+iEmIXAhtCIwIywkiiVCJcYmLCbSJuYnLieOJ84n3CfyKAAoFCgoKFIorijUKVIp8iokKlQqYip2KoQq6CsiK1IrbCuCK6IrwCwCLDIsiizyLTItmi4aLnwu1i8UL1ovsDACMCwwWjCEMJ4wuDFqMZAxtjIgMuozVDNkNCA0cjSgNMQ1sjXgNfY2rjbiNwg3ODdUN3Q3mDfCN+g4DDg0OFY4djiYOLg42DkCOSw56jpKOnQ6njr4OzI7bjuOO8I79jw+PF48kjzGPQw9ej3EPhg+aD6qPtg/Bj8kP0Q/ZD+KP7g/1D/2QBRAOkBoQIZApEDEQOxBEkEyQVJBckGaQcJCLkKqQsRDAEMSQzBDkEPyRShFrkYyRwhH5kimSXxKhEsiTABM+E3iTi5OaE6gTsJO5E8GTyJPPk9aT4hPtk/kUBJQWlCQULhQ4FEKUTJRXFGGUa5R2FICUipSblKYUt5TZlQAVJpVMlXKVmRW/Fe0V/ZYglk+WeJaqFrWWx5b3F1cXvZftmDsYTphZmGoYrRjOmPKZDBklmUQZX5mAGaCZuZnKmd0Z9xoQmhqaKBo9GlEabZp7GpMarBq6GuKa8ZsGGxybMRtHm10bchuCG5SbrJvEnDmcTpyLHJ+csZzEHZadtB3sniCeSJ5dnnAegB6VnqSevB7KHtee5Z7znwqfIR8wH0KfUJ9en2wffp+RH6Gfs5/Fn9cf7aA+oImgrCC9oQohEiEqoWUhhSG6Iduh/SIIoiMiUyJkIpSipaK3Isgi2SLoIvajBSMho1QjYaN1I6ijtSPCo9Kj3SPnpBQkNSRKpGQkbaR3JIoklyShJLmk1yTcpOck9yUOJR6lNKU9pUwlo6YAplumvKbLpt8m9qcTpzSnWCgIqL6o2aj6KRmpO6lOqWcpgamfqcYp8SohKlYqiirAqtSq66sFKyKrOytZK2OrcquBK44rpCu4q8GrzSvcrBUsIywyrECsV6yRLMss3S0GrRYtIS05LVAtXC1pLXOtqi3FrdquDa48rlmudS5+rowulS6vrtSu4y7xrvuvBa8ULyIvM69Cr0yvbC/SMEQwv7EBsRAxITE4MVWxeTGosbixwTHtMgCyFjI0MkiycDKEsp4yq7K7Ms+zOLNKM1WzXbNnM3CzejOCM4uzlTOfM6izsjO4s8AzzbPZs+O0NrSMNN21CLVBtWe1pzXFNe819zYVNiI2LjZANn22hzacNrW2uAAAQAAAp8DLAA+AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAABoBPgABAAAAAAAAABsBEQABAAAAAAABABIAAAABAAAAAAACAAcDYAABAAAAAAADABIC9AABAAAAAAAEABIDdQABAAAAAAAFAAsC0wABAAAAAAAGABIDKgABAAAAAAAJABsBYgABAAAAAAAKADMAeAABAAAAAAALABYANgABAAAAAAAMABYBswABAAAAAAANABsB9QABAAAAAAAOAC8CRgADAAEECQAAADYBLAADAAEECQABACQAEgADAAEECQACAA4DZwADAAEECQADACQDBgADAAEECQAEACQDhwADAAEECQAFABYC3gADAAEECQAGACQDPAADAAEECQAJADYBfQADAAEECQAKAGYAqwADAAEECQALACwATAADAAEECQAMACwByQADAAEECQANADYCEAADAAEECQAOAF4CdVdlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac2h0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbVdlYiBDb21wb25lbnRzIEljb24gRm9udApGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBXAGUAYgAgAEMAbwBtAHAAbwBuAGUAbgB0AHMAIABJAGMAbwBuACAARgBvAG4AdAAKAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALlRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeVRlbGVyaWssIEEgUHJvZ3Jlc3MgQ29tcGFueQBUAGUAbABlAHIAaQBrACwAIABBACAAUAByAG8AZwByAGUAcwBzACAAQwBvAG0AcABhAG4AeWh0dHA6Ly93d3cudGVsZXJpay5jb20AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAZQBsAGUAcgBpAGsALgBjAG8AbUFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5odG1sAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAC4AaAB0AG0AbFZlcnNpb24gMS43AFYAZQByAHMAaQBvAG4AIAAxAC4AN1dlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1dlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcldlYkNvbXBvbmVudHNJY29ucwBXAGUAYgBDAG8AbQBwAG8AbgBlAG4AdABzAEkAYwBvAG4AcwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype");\n}\n.k-icon {\n width: 1em;\n height: 1em;\n outline: 0;\n font-size: 16px;\n font-family: "WebComponentsIcons";\n font-style: normal;\n font-variant: normal;\n font-weight: normal;\n line-height: 1;\n speak: none;\n text-transform: none;\n text-decoration: none;\n flex-shrink: 0;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n.k-icon:hover, .k-icon:focus {\n text-decoration: none;\n}\n.k-no-flexbox {\n display: inline-block;\n}\n.k-svg-icon {\n width: 1em;\n height: 1em;\n display: inline-flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n position: relative;\n}\n.k-svg-icon > svg {\n fill: currentColor;\n flex: 1 0 auto;\n}\n.k-svg-icon.k-flip-h, .k-svg-icon.k-flip-v, .k-svg-icon.k-flip-h.k-flip-v {\n transform: none;\n}\n.k-svg-icon.k-flip-h > svg {\n transform: scaleX(-1);\n}\n.k-svg-icon.k-flip-v > svg {\n transform: scaleY(-1);\n}\n.k-svg-icon.k-flip-h.k-flip-v > svg {\n transform: scale(-1, -1);\n}\n.k-icon-with-modifier {\n position: relative;\n margin: 0.25em;\n}\n.k-icon-modifier {\n position: absolute;\n font-size: 0.5em;\n bottom: 0;\n right: 0;\n margin: 0 -0.5em -0.5em 0;\n}\n.k-i-none::before {\n content: "";\n display: none;\n}\n.k-widget .k-icon.k-i-expand, .k-widget .k-icon.k-i-collapse {\n cursor: pointer;\n}\n.k-icon-xs {\n font-size: 8px;\n}\n.k-icon-sm {\n font-size: 12px;\n}\n.k-icon-md {\n font-size: 32px;\n}\n.k-icon-lg {\n font-size: 48px;\n}\n.k-icon-xl {\n font-size: 64px;\n}\n.k-i-caret-tr::before {\n content: "";\n}\n.k-i-arrow-45-up-right::before {\n content: "";\n}\n.k-i-collapse-ne::before {\n content: "";\n}\n.k-i-resize-ne::before {\n content: "";\n}\n.k-i-caret-br::before {\n content: "";\n}\n.k-i-arrow-45-down-right::before {\n content: "";\n}\n.k-i-collapse-se::before {\n content: "";\n}\n.k-i-resize-se::before {\n content: "";\n}\n.k-i-caret-bl::before {\n content: "";\n}\n.k-i-arrow-45-down-left::before {\n content: "";\n}\n.k-i-collapse-sw::before {\n content: "";\n}\n.k-i-resize-sw::before {\n content: "";\n}\n.k-i-caret-tl::before {\n content: "";\n}\n.k-i-arrow-45-up-left::before {\n content: "";\n}\n.k-i-collapse-nw::before {\n content: "";\n}\n.k-i-resize-nw::before {\n content: "";\n}\n.k-i-caret-alt-up::before {\n content: "";\n}\n.k-i-arrow-60-up::before {\n content: "";\n}\n.k-i-arrow-n::before {\n content: "";\n}\n.k-i-kpi-trend-increase::before {\n content: "";\n}\n.k-i-expand-n::before {\n content: "";\n}\n.k-i-sarrow-n::before {\n content: "";\n}\n.k-i-caret-alt-right::before {\n content: "";\n}\n.k-i-arrow-60-right::before {\n content: "";\n}\n.k-i-arrow-e::before {\n content: "";\n}\n.k-i-expand::before {\n content: "";\n}\n.k-i-expand-e::before {\n content: "";\n}\n.k-i-sarrow-e::before {\n content: "";\n}\n.k-i-caret-alt-down::before {\n content: "";\n}\n.k-i-arrow-60-down::before {\n content: "";\n}\n.k-i-arrow-s::before {\n content: "";\n}\n.k-i-kpi-trend-decrease::before {\n content: "";\n}\n.k-i-expand-s::before {\n content: "";\n}\n.k-i-collapse::before {\n content: "";\n}\n.k-i-sarrow-s::before {\n content: "";\n}\n.k-i-caret-alt-left::before {\n content: "";\n}\n.k-i-arrow-60-left::before {\n content: "";\n}\n.k-i-arrow-w::before {\n content: "";\n}\n.k-i-expand-w::before {\n content: "";\n}\n.k-i-sarrow-w::before {\n content: "";\n}\n.k-i-caret-alt-to-top::before {\n content: "";\n}\n.k-i-arrow-end-up::before {\n content: "";\n}\n.k-i-seek-n::before {\n content: "";\n}\n.k-i-caret-alt-to-right::before {\n content: "";\n}\n.k-i-arrow-end-right::before {\n content: "";\n}\n.k-i-seek-e::before {\n content: "";\n}\n.k-i-caret-alt-to-bottom::before {\n content: "";\n}\n.k-i-arrow-end-down::before {\n content: "";\n}\n.k-i-seek-s::before {\n content: "";\n}\n.k-i-caret-alt-to-left::before {\n content: "";\n}\n.k-i-arrow-end-left::before {\n content: "";\n}\n.k-i-seek-w::before {\n content: "";\n}\n.k-i-caret-double-alt-up::before {\n content: "";\n}\n.k-i-arrow-double-60-up::before {\n content: "";\n}\n.k-i-arrow-seek-up::before {\n content: "";\n}\n.k-i-caret-double-alt-right::before {\n content: "";\n}\n.k-i-arrow-double-60-right::before {\n content: "";\n}\n.k-i-arrow-seek-right::before {\n content: "";\n}\n.k-i-forward-sm::before {\n content: "";\n}\n.k-i-caret-double-alt-down::before {\n content: "";\n}\n.k-i-arrow-double-60-down::before {\n content: "";\n}\n.k-i-arrow-seek-down::before {\n content: "";\n}\n.k-i-caret-double-alt-left::before {\n content: "";\n}\n.k-i-arrow-double-60-left::before {\n content: "";\n}\n.k-i-arrow-seek-left::before {\n content: "";\n}\n.k-i-rewind-sm::before {\n content: "";\n}\n.k-i-caret-alt-expand::before {\n content: "";\n}\n.k-i-arrows-kpi::before {\n content: "";\n}\n.k-i-kpi::before {\n content: "";\n}\n.k-i-caret-alt-sort::before {\n content: "";\n}\n.k-i-arrows-no-change::before {\n content: "";\n}\n.k-i-arrow-overflow-down::before {\n content: "";\n}\n.k-i-chevron-up::before {\n content: "";\n}\n.k-i-arrow-chevron-up::before {\n content: "";\n}\n.k-i-arrowhead-n::before {\n content: "";\n}\n.k-i-chevron-right::before {\n content: "";\n}\n.k-i-arrow-chevron-right::before {\n content: "";\n}\n.k-i-arrowhead-e::before {\n content: "";\n}\n.k-i-chevron-down::before {\n content: "";\n}\n.k-i-arrow-chevron-down::before {\n content: "";\n}\n.k-i-arrowhead-s::before {\n content: "";\n}\n.k-i-chevron-left::before {\n content: "";\n}\n.k-i-arrow-chevron-left::before {\n content: "";\n}\n.k-i-arrowhead-w::before {\n content: "";\n}\n.k-i-arrow-up::before {\n content: "";\n}\n.k-i-arrow-right::before {\n content: "";\n}\n.k-i-arrow-down::before {\n content: "";\n}\n.k-i-arrow-left::before {\n content: "";\n}\n.k-i-level-down::before {\n content: "";\n}\n.k-i-arrow-drill::before {\n content: "";\n}\n.k-i-level-up::before {\n content: "";\n}\n.k-i-arrow-parent::before {\n content: "";\n}\n.k-i-level-to-top::before {\n content: "";\n}\n.k-i-arrow-root::before {\n content: "";\n}\n.k-i-level-root::before {\n content: "";\n}\n.k-i-col-resize::before {\n content: "";\n}\n.k-i-arrows-resizing::before {\n content: "";\n}\n.k-i-arrows-axes::before {\n content: "";\n}\n.k-i-arrows-dimensions::before {\n content: "";\n}\n.k-i-dimension::before {\n content: "";\n}\n.k-i-arrows-swap::before {\n content: "";\n}\n.k-i-drag-and-drop::before {\n content: "";\n}\n.k-i-categorize::before {\n content: "";\n}\n.k-i-grid::before {\n content: "";\n}\n.k-i-grid-layout::before {\n content: "";\n}\n.k-i-group::before {\n content: "";\n}\n.k-i-ungroup::before {\n content: "";\n}\n.k-i-handler-drag::before {\n content: "";\n}\n.k-i-layout::before {\n content: "";\n}\n.k-i-layout-1-by-4::before {\n content: "";\n}\n.k-i-layout-2-by-2::before {\n content: "";\n}\n.k-i-page-layout::before {\n content: "";\n}\n.k-i-layout-side-by-side::before {\n content: "";\n}\n.k-i-layout-stacked::before {\n content: "";\n}\n.k-i-columns::before {\n content: "";\n}\n.k-i-rows::before {\n content: "";\n}\n.k-i-reorder::before {\n content: "";\n}\n.k-i-menu::before {\n content: "";\n}\n.k-i-hamburger::before {\n content: "";\n}\n.k-i-more-vertical::before {\n content: "";\n}\n.k-i-more-v::before {\n content: "";\n}\n.k-i-vbars::before {\n content: "";\n}\n.k-i-more-horizontal::before {\n content: "";\n}\n.k-i-more-h::before {\n content: "";\n}\n.k-i-hbars::before {\n content: "";\n}\n.k-i-overlap::before {\n content: "";\n}\n.k-i-home::before {\n content: "";\n}\n.k-i-root::before {\n content: "";\n}\n.k-i-height::before {\n content: "";\n}\n.k-i-width::before {\n content: "";\n}\n.k-i-max-height::before {\n content: "";\n}\n.k-i-max-width::before {\n content: "";\n}\n.k-i-min-height::before {\n content: "";\n}\n.k-i-min-width::before {\n content: "";\n}\n.k-i-margin::before {\n content: "";\n}\n.k-i-margin-top::before {\n content: "";\n}\n.k-i-margin-right::before {\n content: "";\n}\n.k-i-margin-bottom::before {\n content: "";\n}\n.k-i-margin-left::before {\n content: "";\n}\n.k-i-padding::before {\n content: "";\n}\n.k-i-padding-top::before {\n content: "";\n}\n.k-i-padding-right::before {\n content: "";\n}\n.k-i-padding-bottom::before {\n content: "";\n}\n.k-i-padding-left::before {\n content: "";\n}\n.k-i-border-style::before {\n content: "";\n}\n.k-i-border-style-top::before {\n content: "";\n}\n.k-i-border-style-right::before {\n content: "";\n}\n.k-i-border-style-bottom::before {\n content: "";\n}\n.k-i-border-style-left::before {\n content: "";\n}\n.k-i-border-radius::before {\n content: "";\n}\n.k-i-border-radius-top-right::before {\n content: "";\n}\n.k-i-border-radius-bottom-right::before {\n content: "";\n}\n.k-i-border-radius-bottom-left::before {\n content: "";\n}\n.k-i-border-radius-top-left::before {\n content: "";\n}\n.k-i-outline-width::before {\n content: "";\n}\n.k-i-outline-offset::before {\n content: "";\n}\n.k-i-box-sizing::before {\n content: "";\n}\n.k-i-position-top::before {\n content: "";\n}\n.k-i-position-right::before {\n content: "";\n}\n.k-i-position-bottom::before {\n content: "";\n}\n.k-i-position-left::before {\n content: "";\n}\n.k-i-display-block::before {\n content: "";\n}\n.k-i-display-inline-block::before {\n content: "";\n}\n.k-i-display-flex::before {\n content: "";\n}\n.k-i-display-inline-flex::before {\n content: "";\n}\n.k-i-gap-column::before {\n content: "";\n}\n.k-i-gap-row::before {\n content: "";\n}\n.k-i-undo::before {\n content: "";\n}\n.k-i-undo-large::before {\n content: "";\n}\n.k-i-redo::before {\n content: "";\n}\n.k-i-redo-large::before {\n content: "";\n}\n.k-i-arrow-rotate-ccw::before {\n content: "";\n}\n.k-i-reset::before {\n content: "";\n}\n.k-i-arrow-rotate-cw::before {\n content: "";\n}\n.k-i-reload::before {\n content: "";\n}\n.k-i-refresh::before {\n content: "";\n}\n.k-i-recurrence::before {\n content: "";\n}\n.k-i-arrows-repeat::before {\n content: "";\n}\n.k-i-arrows-no-repeat::before {\n content: "";\n}\n.k-i-non-recurrence::before {\n content: "";\n}\n.k-i-refresh-clear::before {\n content: "";\n}\n.k-i-arrow-rotate-ccw-small::before {\n content: "";\n}\n.k-i-reset-sm::before {\n content: "";\n}\n.k-i-arrow-rotate-cw-small::before {\n content: "";\n}\n.k-i-reload-sm::before {\n content: "";\n}\n.k-i-refresh-sm::before {\n content: "";\n}\n.k-i-recurrence-sm::before {\n content: "";\n}\n.k-i-arrows-repeat-sm::before {\n content: "";\n}\n.k-i-clock::before {\n content: "";\n}\n.k-i-calendar::before {\n content: "";\n}\n.k-i-save::before {\n content: "";\n}\n.k-i-floppy::before {\n content: "";\n}\n.k-i-print::before {\n content: "";\n}\n.k-i-printer::before {\n content: "";\n}\n.k-i-pencil::before {\n content: "";\n}\n.k-i-edit::before {\n content: "";\n}\n.k-i-trash::before {\n content: "";\n}\n.k-i-delete::before {\n content: "";\n}\n.k-i-paperclip::before {\n content: "";\n}\n.k-i-attachment::before {\n content: "";\n}\n.k-i-clip::before {\n content: "";\n}\n.k-i-paperclip-alt::before {\n content: "";\n}\n.k-i-attachment-45::before {\n content: "";\n}\n.k-i-clip-45::before {\n content: "";\n}\n.k-i-link::before {\n content: "";\n}\n.k-i-link-horizontal::before {\n content: "";\n}\n.k-i-hyperlink::before {\n content: "";\n}\n.k-i-link-h::before {\n content: "";\n}\n.k-i-unlink::before {\n content: "";\n}\n.k-i-unlink-horizontal::before {\n content: "";\n}\n.k-i-hyperlink-remove::before {\n content: "";\n}\n.k-i-unlink-h::before {\n content: "";\n}\n.k-i-link-vertical::before {\n content: "";\n}\n.k-i-link-v::before {\n content: "";\n}\n.k-i-unlink-vertical::before {\n content: "";\n}\n.k-i-unlink-v::before {\n content: "";\n}\n.k-i-lock::before {\n content: "";\n}\n.k-i-unlock::before {\n content: "";\n}\n.k-i-cancel::before {\n content: "";\n}\n.k-i-cancel-outline::before {\n content: "";\n}\n.k-i-deny::before {\n content: "";\n}\n.k-i-cancel-circle::before {\n content: "";\n}\n.k-i-check::before {\n content: "";\n}\n.k-i-checkmark::before {\n content: "";\n}\n.k-i-tick::before {\n content: "";\n}\n.k-i-check-outline::before {\n content: "";\n}\n.k-i-checkmark-outline::before {\n content: "";\n}\n.k-i-success::before {\n content: "";\n}\n.k-i-check-circle::before {\n content: "";\n}\n.k-i-checkmark-circle::before {\n content: "";\n}\n.k-i-x::before {\n content: "";\n}\n.k-i-close::before {\n content: "";\n}\n.k-i-clear::before {\n content: "";\n}\n.k-i-times::before {\n content: "";\n}\n.k-i-group-delete::before {\n content: "";\n}\n.k-i-x-outline::before {\n content: "";\n}\n.k-i-close-outline::before {\n content: "";\n}\n.k-i-clear-outline::before {\n content: "";\n}\n.k-i-times-outline::before {\n content: "";\n}\n.k-i-error::before {\n content: "";\n}\n.k-i-x-circle::before {\n content: "";\n}\n.k-i-close-circle::before {\n content: "";\n}\n.k-i-clear-circle::before {\n content: "";\n}\n.k-i-times-circle::before {\n content: "";\n}\n.k-i-plus::before, .k-plus::before {\n content: "";\n}\n.k-i-add::before {\n content: "";\n}\n.k-i-plus-outline::before {\n content: "";\n}\n.k-i-add-outline::before {\n content: "";\n}\n.k-i-plus-circle::before {\n content: "";\n}\n.k-i-add-circle::before {\n content: "";\n}\n.k-i-minus::before, .k-minus::before {\n content: "";\n}\n.k-i-kpi-trend-equal::before {\n content: "";\n}\n.k-i-minus-outline::before {\n content: "";\n}\n.k-i-minus-circle::before {\n content: "";\n}\n.k-i-sort-asc::before {\n content: "";\n}\n.k-i-sort-desc::before {\n content: "";\n}\n.k-i-sort-clear::before {\n content: "";\n}\n.k-i-unsort::before {\n content: "";\n}\n.k-i-sort-asc-small::before {\n content: "";\n}\n.k-i-sort-asc-sm::before {\n content: "";\n}\n.k-i-sort-desc-small::before {\n content: "";\n}\n.k-i-sort-desc-sm::before {\n content: "";\n}\n.k-i-filter::before {\n content: "";\n}\n.k-i-filter-clear::before {\n content: "";\n}\n.k-i-filter-small::before {\n content: "";\n}\n.k-i-filter-sm::before {\n content: "";\n}\n.k-i-filter-sort-asc-small::before {\n content: "";\n}\n.k-i-filter-sort-asc-sm::before {\n content: "";\n}\n.k-i-filter-sort-desc-small::before {\n content: "";\n}\n.k-i-filter-sort-desc-sm::before {\n content: "";\n}\n.k-i-filter-add-expression::before {\n content: "";\n}\n.k-i-filter-add-group::before {\n content: "";\n}\n.k-i-login::before {\n content: "";\n}\n.k-i-sign-in::before {\n content: "";\n}\n.k-i-logout::before {\n content: "";\n}\n.k-i-sign-out::before {\n content: "";\n}\n.k-i-download::before {\n content: "";\n}\n.k-i-upload::before {\n content: "";\n}\n.k-i-hyperlink-open::before {\n content: "";\n}\n.k-i-hyperlink-open-sm::before {\n content: "";\n}\n.k-i-launch::before {\n content: "";\n}\n.k-i-window::before {\n content: "";\n}\n.k-i-window-maximize::before {\n content: "";\n}\n.k-i-maximize::before {\n content: "";\n}\n.k-i-window-restore::before {\n content: "";\n}\n.k-i-windows::before {\n content: "";\n}\n.k-i-tiles::before {\n content: "";\n}\n.k-i-restore::before {\n content: "";\n}\n.k-i-window-minimize::before {\n content: "";\n}\n.k-i-minimize::before {\n content: "";\n}\n.k-i-gear::before {\n content: "";\n}\n.k-i-cog::before {\n content: "";\n}\n.k-i-custom::before {\n content: "";\n}\n.k-i-gears::before {\n content: "";\n}\n.k-i-cogs::before {\n content: "";\n}\n.k-i-wrench::before {\n content: "";\n}\n.k-i-settings::before {\n content: "";\n}\n.k-i-eye::before {\n content: "";\n}\n.k-i-preview::before {\n content: "";\n}\n.k-i-search::before {\n content: "";\n}\n.k-i-zoom::before {\n content: "";\n}\n.k-i-zoom-in::before {\n content: "";\n}\n.k-i-zoom-out::before {\n content: "";\n}\n.k-i-arrows-move::before {\n content: "";\n}\n.k-i-pan::before {\n content: "";\n}\n.k-i-move::before {\n content: "";\n}\n.k-i-calculator::before {\n content: "";\n}\n.k-i-cart::before {\n content: "";\n}\n.k-i-shopping-cart::before {\n content: "";\n}\n.k-i-connector::before {\n content: "";\n}\n.k-i-plus-sm::before {\n content: "";\n}\n.k-i-splus::before {\n content: "";\n}\n.k-i-minus-sm::before {\n content: "";\n}\n.k-i-sminus::before {\n content: "";\n}\n.k-i-kpi-status-deny::before {\n content: "";\n}\n.k-i-kpi-status-hold::before {\n content: "";\n}\n.k-i-kpi-status-open::before {\n content: "";\n}\n.k-i-equal::before {\n content: "";\n}\n.k-i-not-equal::before {\n content: "";\n}\n.k-i-less-or-equal::before {\n content: "";\n}\n.k-i-greater-or-equal::before {\n content: "";\n}\n.k-i-divide::before {\n content: "";\n}\n.k-i-accessibility::before {\n content: "";\n}\n.k-i-barcode-outline::before {\n content: "";\n}\n.k-i-barcode::before {\n content: "";\n}\n.k-i-barcode-scanner::before {\n content: "";\n}\n.k-i-qr-code-outline::before {\n content: "";\n}\n.k-i-qr-code::before {\n content: "";\n}\n.k-i-qr-code-scanner::before {\n content: "";\n}\n.k-i-barcode-qr-code-scanner::before {\n content: "";\n}\n.k-i-signature::before {\n content: "";\n}\n.k-i-hand::before {\n content: "";\n}\n.k-i-pointer::before {\n content: "";\n}\n.k-i-cursor::before {\n content: "";\n}\n.k-i-stick::before {\n content: "";\n}\n.k-i-unstick::before {\n content: "";\n}\n.k-i-set-column-position::before {\n content: "";\n}\n.k-i-play::before {\n content: "";\n}\n.k-i-pause::before {\n content: "";\n}\n.k-i-stop::before {\n content: "";\n}\n.k-i-rewind::before {\n content: "";\n}\n.k-i-forward::before {\n content: "";\n}\n.k-i-volume-down::before {\n content: "";\n}\n.k-i-volume-low::before {\n content: "";\n}\n.k-i-volume-up::before {\n content: "";\n}\n.k-i-volume-high::before {\n content: "";\n}\n.k-i-volume-mute::before {\n content: "";\n}\n.k-i-volume-off::before {\n content: "";\n}\n.k-i-hd::before {\n content: "";\n}\n.k-i-closed-captions::before {\n content: "";\n}\n.k-i-subtitles::before {\n content: "";\n}\n.k-i-playlist::before {\n content: "";\n}\n.k-i-music-notes::before {\n content: "";\n}\n.k-i-audio::before {\n content: "";\n}\n.k-i-play-sm::before {\n content: "";\n}\n.k-i-pause-sm::before {\n content: "";\n}\n.k-i-stop-sm::before {\n content: "";\n}\n.k-i-heart-outline::before {\n content: "";\n}\n.k-i-fav-outline::before {\n content: "";\n}\n.k-i-favorite-outline::before {\n content: "";\n}\n.k-i-heart::before {\n content: "";\n}\n.k-i-fav::before {\n content: "";\n}\n.k-i-favorite::before {\n content: "";\n}\n.k-i-star-outline::before {\n content: "";\n}\n.k-i-bookmark-outline::before {\n content: "";\n}\n.k-i-star::before {\n content: "";\n}\n.k-i-bookmark::before {\n content: "";\n}\n.k-i-checkbox::before {\n content: "";\n}\n.k-i-shape-rect::before {\n content: "";\n}\n.k-i-checkbox-checked::before {\n content: "";\n}\n.k-i-checkbox-indeterminate::before {\n content: "";\n}\n.k-i-tri-state-indeterminate::before {\n content: "";\n}\n.k-i-checkbox-null::before {\n content: "";\n}\n.k-i-tri-state-null::before {\n content: "";\n}\n.k-i-circle::before {\n content: "";\n}\n.k-i-radiobutton::before {\n content: "";\n}\n.k-i-shape-circle::before {\n content: "";\n}\n.k-i-radiobutton-checked::before {\n content: "";\n}\n.k-i-bell::before {\n content: "";\n}\n.k-i-notification::before {\n content: "";\n}\n.k-i-info-circle::before {\n content: "";\n}\n.k-i-information::before {\n content: "";\n}\n.k-i-info::before {\n content: "";\n}\n.k-i-note::before {\n content: "";\n}\n.k-i-question-circle::before {\n content: "";\n}\n.k-i-question::before {\n content: "";\n}\n.k-i-help::before {\n content: "";\n}\n.k-i-exclamation-circle::before {\n content: "";\n}\n.k-i-warning::before {\n content: "";\n}\n.k-i-exception::before {\n content: "";\n}\n.k-i-camera::before {\n content: "";\n}\n.k-i-photo-camera::before {\n content: "";\n}\n.k-i-image::before {\n content: "";\n}\n.k-i-photo::before {\n content: "";\n}\n.k-i-image-export::before {\n content: "";\n}\n.k-i-photo-export::before {\n content: "";\n}\n.k-i-zoom-actual-size::before {\n content: "";\n}\n.k-i-zoom-best-fit::before {\n content: "";\n}\n.k-i-image-resize::before {\n content: "";\n}\n.k-i-crop::before {\n content: "";\n}\n.k-i-mirror::before {\n content: "";\n}\n.k-i-flip-horizontal::before {\n content: "";\n}\n.k-i-flip-h::before {\n content: "";\n}\n.k-i-flip-vertical::before {\n content: "";\n}\n.k-i-flip-v::before {\n content: "";\n}\n.k-i-rotate::before {\n content: "";\n}\n.k-i-rotate-right::before {\n content: "";\n}\n.k-i-rotate-cw::before {\n content: "";\n}\n.k-i-rotate-left::before {\n content: "";\n}\n.k-i-rotate-ccw::before {\n content: "";\n}\n.k-i-brush::before {\n content: "";\n}\n.k-i-palette::before {\n content: "";\n}\n.k-i-droplet::before {\n content: "";\n}\n.k-i-paint::before {\n content: "";\n}\n.k-i-background::before {\n content: "";\n}\n.k-i-shape-line::before {\n content: "";\n}\n.k-i-line::before {\n content: "";\n}\n.k-i-brightness-contrast::before {\n content: "";\n}\n.k-i-sliders::before {\n content: "";\n}\n.k-i-saturation::before {\n content: "";\n}\n.k-i-invert-colors::before {\n content: "";\n}\n.k-i-transparency::before {\n content: "";\n}\n.k-i-opacity::before {\n content: "";\n}\n.k-i-grayscale::before {\n content: "";\n}\n.k-i-blur::before {\n content: "";\n}\n.k-i-sharpen::before {\n content: "";\n}\n.k-i-shapes::before {\n content: "";\n}\n.k-i-shape::before {\n content: "";\n}\n.k-i-round-corners::before {\n content: "";\n}\n.k-i-bring-to-front::before {\n content: "";\n}\n.k-i-front-element::before {\n content: "";\n}\n.k-i-bring-to-back::before {\n content: "";\n}\n.k-i-back-element::before {\n content: "";\n}\n.k-i-bring-forward::before {\n content: "";\n}\n.k-i-forward-element::before {\n content: "";\n}\n.k-i-bring-backward::before {\n content: "";\n}\n.k-i-backward-element::before {\n content: "";\n}\n.k-i-align-self-start::before {\n content: "";\n}\n.k-i-align-left-element::before {\n content: "";\n}\n.k-i-align-self-center::before {\n content: "";\n}\n.k-i-align-center-element::before {\n content: "";\n}\n.k-i-align-self-end::before {\n content: "";\n}\n.k-i-align-right-element::before {\n content: "";\n}\n.k-i-align-self-start-alt::before {\n content: "";\n}\n.k-i-align-top-element::before {\n content: "";\n}\n.k-i-align-self-center-alt::before {\n content: "";\n}\n.k-i-align-middle-element::before {\n content: "";\n}\n.k-i-align-self-end-alt::before {\n content: "";\n}\n.k-i-align-bottom-element::before {\n content: "";\n}\n.k-i-thumbnails-up::before {\n content: "";\n}\n.k-i-thumbnails-right::before {\n content: "";\n}\n.k-i-thumbnails-down::before {\n content: "";\n}\n.k-i-thumbnails-left::before {\n content: "";\n}\n.k-i-fullscreen::before {\n content: "";\n}\n.k-i-full-screen::before {\n content: "";\n}\n.k-i-fullscreen-enter::before {\n content: "";\n}\n.k-i-fullscreen-exit::before {\n content: "";\n}\n.k-i-full-screen-exit::before {\n content: "";\n}\n.k-i-droplet-slash::before {\n content: "";\n}\n.k-i-reset-color::before {\n content: "";\n}\n.k-i-paint-remove::before {\n content: "";\n}\n.k-i-background-remove::before {\n content: "";\n}\n.k-i-photos::before {\n content: "";\n}\n.k-i-images::before {\n content: "";\n}\n.k-i-gallery::before {\n content: "";\n}\n.k-i-align-to-grid::before {\n content: "";\n}\n.k-i-size-to-grid::before {\n content: "";\n}\n.k-i-make-same-size::before {\n content: "";\n}\n.k-i-make-same-width::before {\n content: "";\n}\n.k-i-make-same-height::before {\n content: "";\n}\n.k-i-make-horizontal-spacing-equal::before {\n content: "";\n}\n.k-i-increase-horizontal-spacing::before {\n content: "";\n}\n.k-i-decrease-horizontal-spacing::before {\n content: "";\n}\n.k-i-remove-horizontal-spacing::before {\n content: "";\n}\n.k-i-make-vertical-spacing-equal::before {\n content: "";\n}\n.k-i-increase-vertical-spacing::before {\n content: "";\n}\n.k-i-decrease-vertical-spacing::before {\n content: "";\n}\n.k-i-remove-vertical-spacing::before {\n content: "";\n}\n.k-i-eyedropper::before {\n content: "";\n}\n.k-i-snap-grid::before {\n content: "";\n}\n.k-i-snap-to-gridlines::before {\n content: "";\n}\n.k-i-snap-to-snaplines::before {\n content: "";\n}\n.k-i-dimentions::before {\n content: "";\n}\n.k-i-align-self-stretch::before {\n content: "";\n}\n.k-i-align-stretch-element-horizontal::before {\n content: "";\n}\n.k-i-align-self-stretch-alt::before {\n content: "";\n}\n.k-i-align-stretch-element-vertical::before {\n content: "";\n}\n.k-i-align-items-start::before {\n content: "";\n}\n.k-i-align-left-elements::before {\n content: "";\n}\n.k-i-align-items-center::before {\n content: "";\n}\n.k-i-align-center-elements::before {\n content: "";\n}\n.k-i-align-items-end::before {\n content: "";\n}\n.k-i-align-right-elements::before {\n content: "";\n}\n.k-i-align-items-stretch::before {\n content: "";\n}\n.k-i-align-stretch-elements-horizontal::before {\n content: "";\n}\n.k-i-align-items-baseline::before {\n content: "";\n}\n.k-i-align-baseline-horizontal::before {\n content: "";\n}\n.k-i-align-items-start-alt::before {\n content: "";\n}\n.k-i-align-top-elements::before {\n content: "";\n}\n.k-i-align-items-center-alt::before {\n content: "";\n}\n.k-i-align-middle-elements::before {\n content: "";\n}\n.k-i-align-items-end-alt::before {\n content: "";\n}\n.k-i-align-bottom-elements::before {\n content: "";\n}\n.k-i-align-items-stretch-alt::before {\n content: "";\n}\n.k-i-align-stretch-elements-vertical::before {\n content: "";\n}\n.k-i-align-items-baseline-alt::before {\n content: "";\n}\n.k-i-align-baseline-vertical::before {\n content: "";\n}\n.k-i-justify-content-start::before {\n content: "";\n}\n.k-i-justify-start-horizontal::before {\n content: "";\n}\n.k-i-justify-content-center::before {\n content: "";\n}\n.k-i-justify-center-horizontal::before {\n content: "";\n}\n.k-i-justify-content-end::before {\n content: "";\n}\n.k-i-justify-end-horizontal::before {\n content: "";\n}\n.k-i-justify-content-between::before {\n content: "";\n}\n.k-i-justify-between-horizontal::before {\n content: "";\n}\n.k-i-justify-content-around::before {\n content: "";\n}\n.k-i-justify-around-horizontal::before {\n content: "";\n}\n.k-i-justify-content-start-alt::before {\n content: "";\n}\n.k-i-justify-start-vertical::before {\n content: "";\n}\n.k-i-justify-content-center-alt::before {\n content: "";\n}\n.k-i-justify-center-vertical::before {\n content: "";\n}\n.k-i-justify-content-end-alt::before {\n content: "";\n}\n.k-i-justify-end-vertical::before {\n content: "";\n}\n.k-i-justify-content-between-alt::before {\n content: "";\n}\n.k-i-justify-between-vertical::before {\n content: "";\n}\n.k-i-justify-content-around-alt::before {\n content: "";\n}\n.k-i-justify-around-vertical::before {\n content: "";\n}\n.k-i-file-wrench::before {\n content: "";\n}\n.k-i-page-properties::before {\n content: "";\n}\n.k-i-bold::before {\n content: "";\n}\n.k-i-italic::before {\n content: "";\n}\n.k-i-underline::before {\n content: "";\n}\n.k-i-font-family::before {\n content: "";\n}\n.k-i-foreground-color::before {\n content: "";\n}\n.k-i-text::before {\n content: "";\n}\n.k-i-convert-lowercase::before {\n content: "";\n}\n.k-i-convert-uppercase::before {\n content: "";\n}\n.k-i-strikethrough::before {\n content: "";\n}\n.k-i-strike-through::before {\n content: "";\n}\n.k-i-subscript::before {\n content: "";\n}\n.k-i-sub-script::before {\n content: "";\n}\n.k-i-supscript::before {\n content: "";\n}\n.k-i-sup-script::before {\n content: "";\n}\n.k-i-superscript::before {\n content: "";\n}\n.k-i-div::before {\n content: "";\n}\n.k-i-all::before {\n content: "";\n}\n.k-i-h1::before {\n content: "";\n}\n.k-i-h2::before {\n content: "";\n}\n.k-i-h3::before {\n content: "";\n}\n.k-i-h4::before {\n content: "";\n}\n.k-i-h5::before {\n content: "";\n}\n.k-i-h6::before {\n content: "";\n}\n.k-i-list-ordered::before {\n content: "";\n}\n.k-i-list-numbered::before {\n content: "";\n}\n.k-i-insert-ordered-list::before {\n content: "";\n}\n.k-i-list-unordered::before {\n content: "";\n}\n.k-i-list-bulleted::before {\n content: "";\n}\n.k-i-insert-unordered-list::before {\n content: "";\n}\n.k-i-indent::before {\n content: "";\n}\n.k-i-indent-increase::before {\n content: "";\n}\n.k-i-outdent::before {\n content: "";\n}\n.k-i-indent-decrease::before {\n content: "";\n}\n.k-i-insert-top::before {\n content: "";\n}\n.k-i-insert-up::before {\n content: "";\n}\n.k-i-insert-n::before {\n content: "";\n}\n.k-i-insert-middle::before {\n content: "";\n}\n.k-i-insert-m::before {\n content: "";\n}\n.k-i-insert-bottom::before {\n content: "";\n}\n.k-i-insert-down::before {\n content: "";\n}\n.k-i-insert-s::before {\n content: "";\n}\n.k-i-align-top::before {\n content: "";\n}\n.k-i-align-middle::before {\n content: "";\n}\n.k-i-align-bottom::before {\n content: "";\n}\n.k-i-align-left::before {\n content: "";\n}\n.k-i-justify-left::before {\n content: "";\n}\n.k-i-align-center::before {\n content: "";\n}\n.k-i-justify-center::before {\n content: "";\n}\n.k-i-align-right::before {\n content: "";\n}\n.k-i-justify-left::before {\n content: "";\n}\n.k-i-align-justify::before {\n content: "";\n}\n.k-i-justify-full::before {\n content: "";\n}\n.k-i-align-remove::before {\n content: "";\n}\n.k-i-justify-clear::before {\n content: "";\n}\n.k-i-text-wrap::before {\n content: "";\n}\n.k-i-horizontal-rule::before {\n content: "";\n}\n.k-i-rule-horizontal::before {\n content: "";\n}\n.k-i-hr::before {\n content: "";\n}\n.k-i-table-align-top-left::before {\n content: "";\n}\n.k-i-table-align-top-center::before {\n content: "";\n}\n.k-i-table-align-top-right::before {\n content: "";\n}\n.k-i-table-align-middle-left::before {\n content: "";\n}\n.k-i-table-align-middle-center::before {\n content: "";\n}\n.k-i-table-align-middle-right::before {\n content: "";\n}\n.k-i-table-align-bottom-left::before {\n content: "";\n}\n.k-i-table-align-bottom-center::before {\n content: "";\n}\n.k-i-table-align-bottom-right::before {\n content: "";\n}\n.k-i-table-align-remove::before {\n content: "";\n}\n.k-i-borders-all::before {\n content: "";\n}\n.k-i-all-borders::before {\n content: "";\n}\n.k-i-borders-outside::before {\n content: "";\n}\n.k-i-outside-borders::before {\n content: "";\n}\n.k-i-borders-inside::before {\n content: "";\n}\n.k-i-inside-borders::before {\n content: "";\n}\n.k-i-borders-inside-horizontal::before {\n content: "";\n}\n.k-i-border-inside-h::before {\n content: "";\n}\n.k-i-inside-horizontal-borders::before {\n content: "";\n}\n.k-i-borders-inside-vertical::before {\n content: "";\n}\n.k-i-borders-inside-v::before {\n content: "";\n}\n.k-i-inside-vertical-borders::before {\n content: "";\n}\n.k-i-border-top::before {\n content: "";\n}\n.k-i-top-border::before {\n content: "";\n}\n.k-i-border-bottom::before {\n content: "";\n}\n.k-i-bottom-border::before {\n content: "";\n}\n.k-i-border-left::before {\n content: "";\n}\n.k-i-left-border::before {\n content: "";\n}\n.k-i-border-right::before {\n content: "";\n}\n.k-i-right-border::before {\n content: "";\n}\n.k-i-borders-none::before {\n content: "";\n}\n.k-i-border-no::before {\n content: "";\n}\n.k-i-no-borders::before {\n content: "";\n}\n.k-i-borders-show-hide::before {\n content: "";\n}\n.k-i-form::before {\n content: "";\n}\n.k-i-border::before {\n content: "";\n}\n.k-i-form-element::before {\n content: "";\n}\n.k-i-code-snippet::before {\n content: "";\n}\n.k-i-select-all::before {\n content: "";\n}\n.k-i-button::before {\n content: "";\n}\n.k-i-select-box::before {\n content: "";\n}\n.k-i-calendar-date::before {\n content: "";\n}\n.k-i-group-box::before {\n content: "";\n}\n.k-i-textarea::before {\n content: "";\n}\n.k-i-textbox::before {\n content: "";\n}\n.k-i-textbox-hidden::before {\n content: "";\n}\n.k-i-password::before {\n content: "";\n}\n.k-i-paragraph-add::before {\n content: "";\n}\n.k-i-edit-tools::before {\n content: "";\n}\n.k-i-template-manager::before {\n content: "";\n}\n.k-i-change-manually::before {\n content: "";\n}\n.k-i-track-changes::before {\n content: "";\n}\n.k-i-track-changes-enable::before {\n content: "";\n}\n.k-i-track-changes-accept::before {\n content: "";\n}\n.k-i-track-changes-accept-all::before {\n content: "";\n}\n.k-i-track-changes-reject::before {\n content: "";\n}\n.k-i-track-changes-reject-all::before {\n content: "";\n}\n.k-i-document-manager::before {\n content: "";\n}\n.k-i-custom-icon::before {\n content: "";\n}\n.k-i-book::before {\n content: "";\n}\n.k-i-dictionary-add::before {\n content: "";\n}\n.k-i-image-add::before {\n content: "";\n}\n.k-i-image-light-dialog::before {\n content: "";\n}\n.k-i-image-insert::before {\n content: "";\n}\n.k-i-insert-image::before {\n content: "";\n}\n.k-i-image-edit::before {\n content: "";\n}\n.k-i-image-map-editor::before {\n content: "";\n}\n.k-i-comment::before {\n content: "";\n}\n.k-i-comment-remove::before {\n content: "";\n}\n.k-i-comments-remove::before {\n content: "";\n}\n.k-i-comments-remove-all::before {\n content: "";\n}\n.k-i-silverlight::before {\n content: "";\n}\n.k-i-media-manager::before {\n content: "";\n}\n.k-i-video-external::before {\n content: "";\n}\n.k-i-flash-manager::before {\n content: "";\n}\n.k-i-binoculars::before {\n content: "";\n}\n.k-i-find-and-replace::before {\n content: "";\n}\n.k-i-find::before {\n content: "";\n}\n.k-i-copy::before {\n content: "";\n}\n.k-i-files::before {\n content: "";\n}\n.k-i-cut::before {\n content: "";\n}\n.k-i-clipboard::before {\n content: "";\n}\n.k-i-paste::before {\n content: "";\n}\n.k-i-clipboard-code::before {\n content: "";\n}\n.k-i-paste-as-html::before {\n content: "";\n}\n.k-i-clipboard-word::before {\n content: "";\n}\n.k-i-paste-from-word::before {\n content: "";\n}\n.k-i-clipboard-word-alt::before {\n content: "";\n}\n.k-i-paste-from-word-strip-file::before {\n content: "";\n}\n.k-i-clipboard-html::before {\n content: "";\n}\n.k-i-paste-html::before {\n content: "";\n}\n.k-i-clipboard-markdown::before {\n content: "";\n}\n.k-i-paste-markdown::before {\n content: "";\n}\n.k-i-clipboard-text::before {\n content: "";\n}\n.k-i-paste-plain-text::before {\n content: "";\n}\n.k-i-apply-format::before {\n content: "";\n}\n.k-i-clear-css::before {\n content: "";\n}\n.k-i-clearformat::before {\n content: "";\n}\n.k-i-copy-format::before {\n content: "";\n}\n.k-i-strip-all-formatting::before {\n content: "";\n}\n.k-i-strip-css-format::before {\n content: "";\n}\n.k-i-strip-font-elements::before {\n content: "";\n}\n.k-i-strip-span-elements::before {\n content: "";\n}\n.k-i-strip-word-formatting::before {\n content: "";\n}\n.k-i-format-code-block::before {\n content: "";\n}\n.k-i-building-blocks::before {\n content: "";\n}\n.k-i-style-builder::before {\n content: "";\n}\n.k-i-puzzle-piece::before {\n content: "";\n}\n.k-i-module-manager::before {\n content: "";\n}\n.k-i-puzzle::before {\n content: "";\n}\n.k-i-link-add::before {\n content: "";\n}\n.k-i-hyperlink-light-dialog::before {\n content: "";\n}\n.k-i-hyperlink-insert::before {\n content: "";\n}\n.k-i-globe-link::before {\n content: "";\n}\n.k-i-hyperlink-globe::before {\n content: "";\n}\n.k-i-globe-unlink::before {\n content: "";\n}\n.k-i-hyperlink-globe-remove::before {\n content: "";\n}\n.k-i-envelop-link::before {\n content: "";\n}\n.k-i-hyperlink-email::before {\n content: "";\n}\n.k-i-anchor::before {\n content: "";\n}\n.k-i-table-add::before {\n content: "";\n}\n.k-i-table-light-dialog::before {\n content: "";\n}\n.k-i-table-insert::before {\n content: "";\n}\n.k-i-create-table::before {\n content: "";\n}\n.k-i-table::before {\n content: "";\n}\n.k-i-table-properties::before {\n content: "";\n}\n.k-i-table-cell::before {\n content: "";\n}\n.k-i-table-cell-properties::before {\n content: "";\n}\n.k-i-table-column-insert-left::before {\n content: "";\n}\n.k-i-add-column-left::before {\n content: "";\n}\n.k-i-table-column-insert-right::before {\n content: "";\n}\n.k-i-add-column-right::before {\n content: "";\n}\n.k-i-table-row-insert-above::before {\n content: "";\n}\n.k-i-add-row-above::before {\n content: "";\n}\n.k-i-table-row-insert-below::before {\n content: "";\n}\n.k-i-add-row-below::before {\n content: "";\n}\n.k-i-table-column-delete::before {\n content: "";\n}\n.k-i-delete-column::before {\n content: "";\n}\n.k-i-table-row-delete::before {\n content: "";\n}\n.k-i-delete-row::before {\n content: "";\n}\n.k-i-table-cell-delete::before {\n content: "";\n}\n.k-i-table-delete::before {\n content: "";\n}\n.k-i-cells-merge::before {\n content: "";\n}\n.k-i-merge-cells::before {\n content: "";\n}\n.k-i-cells-merge-horizontally::before {\n content: "";\n}\n.k-i-cells-merge-h::before {\n content: "";\n}\n.k-i-merge-horizontally::before {\n content: "";\n}\n.k-i-cells-merge-vertically::before {\n content: "";\n}\n.k-i-cells-merge-v::before {\n content: "";\n}\n.k-i-merge-vertically::before {\n content: "";\n}\n.k-i-cell-split-horizontally::before {\n content: "";\n}\n.k-i-cells-split-h::before {\n content: "";\n}\n.k-i-cell-split-vertically::before {\n content: "";\n}\n.k-i-cells-split-v::before {\n content: "";\n}\n.k-i-table-unmerge::before {\n content: "";\n}\n.k-i-normal-layout::before {\n content: "";\n}\n.k-i-pane-freeze::before {\n content: "";\n}\n.k-i-freeze-pane::before {\n content: "";\n}\n.k-i-row-freeze::before {\n content: "";\n}\n.k-i-freeze-row::before {\n content: "";\n}\n.k-i-column-freeze::before {\n content: "";\n}\n.k-i-col-freeze::before {\n content: "";\n}\n.k-i-freeze-col::before {\n content: "";\n}\n.k-i-toolbar-float::before {\n content: "";\n}\n.k-i-spell-checker::before {\n content: "";\n}\n.k-i-validation-xhtml::before {\n content: "";\n}\n.k-i-validation-data::before {\n content: "";\n}\n.k-i-toggle-full-screen-mode::before {\n content: "";\n}\n.k-i-formula-fx::before {\n content: "";\n}\n.k-i-fx::before {\n content: "";\n}\n.k-i-sum::before {\n content: "";\n}\n.k-i-symbol::before {\n content: "";\n}\n.k-i-dollar::before {\n content: "";\n}\n.k-i-currency::before {\n content: "";\n}\n.k-i-percent::before {\n content: "";\n}\n.k-i-custom-format::before {\n content: "";\n}\n.k-i-format-number::before {\n content: "";\n}\n.k-i-decimal-increase::before {\n content: "";\n}\n.k-i-increace-decimal::before {\n content: "";\n}\n.k-i-decimal-decrease::before {\n content: "";\n}\n.k-i-decrease-decimal::before {\n content: "";\n}\n.k-i-font-size::before {\n content: "";\n}\n.k-i-image-absolute-position::before {\n content: "";\n}\n.k-i-table-wizard::before {\n content: "";\n}\n.k-i-crosstab::before {\n content: "";\n}\n.k-i-crosstab-wizard::before {\n content: "";\n}\n.k-i-table-body::before {\n content: "";\n}\n.k-i-table-column-groups::before {\n content: "";\n}\n.k-i-table-corner::before {\n content: "";\n}\n.k-i-table-row-groups::before {\n content: "";\n}\n.k-i-globe-outline::before {\n content: "";\n}\n.k-i-globe::before {\n content: "";\n}\n.k-i-map-marker::before {\n content: "";\n}\n.k-i-marker-pin::before {\n content: "";\n}\n.k-i-map-marker-target::before {\n content: "";\n}\n.k-i-marker-pin-target::before {\n content: "";\n}\n.k-i-pin::before {\n content: "";\n}\n.k-i-unpin::before {\n content: "";\n}\n.k-i-share::before {\n content: "";\n}\n.k-i-user::before {\n content: "";\n}\n.k-i-inbox::before {\n content: "";\n}\n.k-i-blogger::before {\n content: "";\n}\n.k-i-blogger-box::before {\n content: "";\n}\n.k-i-delicious::before {\n content: "";\n}\n.k-i-delicious-box::before {\n content: "";\n}\n.k-i-digg::before {\n content: "";\n}\n.k-i-digg-box::before {\n content: "";\n}\n.k-i-envelop::before {\n content: "";\n}\n.k-i-email::before {\n content: "";\n}\n.k-i-letter::before {\n content: "";\n}\n.k-i-envelop-box::before {\n content: "";\n}\n.k-i-email-box::before {\n content: "";\n}\n.k-i-letter-box::before {\n content: "";\n}\n.k-i-facebook::before {\n content: "";\n}\n.k-i-facebook-box::before {\n content: "";\n}\n.k-i-google::before {\n content: "";\n}\n.k-i-google-box::before {\n content: "";\n}\n.k-i-google-plus::before {\n content: "";\n}\n.k-i-google-plus-box::before {\n content: "";\n}\n.k-i-linkedin::before {\n content: "";\n}\n.k-i-linkedin-box::before {\n content: "";\n}\n.k-i-myspace::before {\n content: "";\n}\n.k-i-myspace-box::before {\n content: "";\n}\n.k-i-pinterest::before {\n content: "";\n}\n.k-i-pinterest-box::before {\n content: "";\n}\n.k-i-reddit::before {\n content: "";\n}\n.k-i-reddit-box::before {\n content: "";\n}\n.k-i-stumble-upon::before {\n content: "";\n}\n.k-i-stumble-upon-box::before {\n content: "";\n}\n.k-i-tell-a-friend::before {\n content: "";\n}\n.k-i-tell-a-friend-box::before {\n content: "";\n}\n.k-i-tumblr::before {\n content: "";\n}\n.k-i-tumblr-box::before {\n content: "";\n}\n.k-i-twitter::before {\n content: "";\n}\n.k-i-twitter-box::before {\n content: "";\n}\n.k-i-yammer::before {\n content: "";\n}\n.k-i-yammer-box::before {\n content: "";\n}\n.k-i-behance::before {\n content: "";\n}\n.k-i-behance-box::before {\n content: "";\n}\n.k-i-dribbble::before {\n content: "";\n}\n.k-i-dribbble-box::before {\n content: "";\n}\n.k-i-rss::before {\n content: "";\n}\n.k-i-rss-box::before {\n content: "";\n}\n.k-i-vimeo::before {\n content: "";\n}\n.k-i-vimeo-box::before {\n content: "";\n}\n.k-i-youtube::before {\n content: "";\n}\n.k-i-youtube-box::before {\n content: "";\n}\n.k-i-folder::before {\n content: "";\n}\n.k-i-folder-open::before {\n content: "";\n}\n.k-i-folder-add::before {\n content: "";\n}\n.k-i-folder-up::before {\n content: "";\n}\n.k-i-folder-more::before {\n content: "";\n}\n.k-i-fields-more::before {\n content: "";\n}\n.k-i-aggregate-fields::before {\n content: "";\n}\n.k-i-file::before {\n content: "";\n}\n.k-i-file-vertical::before {\n content: "";\n}\n.k-i-page-portrait::before {\n content: "";\n}\n.k-i-file-v::before {\n content: "";\n}\n.k-i-file-add::before {\n content: "";\n}\n.k-i-insert-file::before {\n content: "";\n}\n.k-i-file-txt::before {\n content: "";\n}\n.k-i-txt::before {\n content: "";\n}\n.k-i-file-csv::before {\n content: "";\n}\n.k-i-csv::before {\n content: "";\n}\n.k-i-file-excel::before {\n content: "";\n}\n.k-i-file-xls::before {\n content: "";\n}\n.k-i-excel::before {\n content: "";\n}\n.k-i-xls::before {\n content: "";\n}\n.k-i-xlsa::before {\n content: "";\n}\n.k-i-file-word::before {\n content: "";\n}\n.k-i-file-doc::before {\n content: "";\n}\n.k-i-word::before {\n content: "";\n}\n.k-i-doc::before {\n content: "";\n}\n.k-i-file-mdb::before {\n content: "";\n}\n.k-i-mdb::before {\n content: "";\n}\n.k-i-file-ppt::before {\n content: "";\n}\n.k-i-ppt::before {\n content: "";\n}\n.k-i-file-pdf::before {\n content: "";\n}\n.k-i-pdf::before {\n content: "";\n}\n.k-i-pdfa::before {\n content: "";\n}\n.k-i-file-psd::before {\n content: "";\n}\n.k-i-psd::before {\n content: "";\n}\n.k-i-file-flash::before {\n content: "";\n}\n.k-i-flash::before {\n content: "";\n}\n.k-i-file-config::before {\n content: "";\n}\n.k-i-config::before {\n content: "";\n}\n.k-i-file-ascx::before {\n content: "";\n}\n.k-i-ascx::before {\n content: "";\n}\n.k-i-file-bac::before {\n content: "";\n}\n.k-i-bac::before {\n content: "";\n}\n.k-i-file-zip::before {\n content: "";\n}\n.k-i-zip::before {\n content: "";\n}\n.k-i-film::before {\n content: "";\n}\n.k-i-css3::before {\n content: "";\n}\n.k-i-html5::before {\n content: "";\n}\n.k-i-code::before {\n content: "";\n}\n.k-i-html::before {\n content: "";\n}\n.k-i-source-code::before {\n content: "";\n}\n.k-i-view-source::before {\n content: "";\n}\n.k-i-css::before {\n content: "";\n}\n.k-i-js::before {\n content: "";\n}\n.k-i-exe::before {\n content: "";\n}\n.k-i-csproj::before {\n content: "";\n}\n.k-i-vbproj::before {\n content: "";\n}\n.k-i-cs::before {\n content: "";\n}\n.k-i-vb::before {\n content: "";\n}\n.k-i-sln::before {\n content: "";\n}\n.k-i-cloud::before {\n content: "";\n}\n.k-i-file-horizontal::before {\n content: "";\n}\n.k-i-page-landscape::before {\n content: "";\n}\n.k-i-file-h::before {\n content: "";\n}\n.k-i-subreport::before {\n content: "";\n}\n.k-i-data::before {\n content: "";\n}\n.k-i-report-header-section::before {\n content: "";\n}\n.k-i-report-footer-section::before {\n content: "";\n}\n.k-i-group-header-section::before {\n content: "";\n}\n.k-i-group-footer-section::before {\n content: "";\n}\n.k-i-page-header-section::before {\n content: "";\n}\n.k-i-page-footer-section::before {\n content: "";\n}\n.k-i-detail-section::before {\n content: "";\n}\n.k-i-toc-section::before {\n content: "";\n}\n.k-i-group-section::before {\n content: "";\n}\n.k-i-parameters::before {\n content: "";\n}\n.k-i-data-csv::before {\n content: "";\n}\n.k-i-data-json::before {\n content: "";\n}\n.k-i-data-sql::before {\n content: "";\n}\n.k-i-data-web::before {\n content: "";\n}\n.k-i-group-collection::before {\n content: "";\n}\n.k-i-parameter-boolean::before {\n content: "";\n}\n.k-i-parameter-date-time::before {\n content: "";\n}\n.k-i-parameter-float::before {\n content: "";\n}\n.k-i-parameter-integer::before {\n content: "";\n}\n.k-i-parameter-string::before {\n content: "";\n}\n.k-i-toc-section-level::before {\n content: "";\n}\n.k-i-inherited::before {\n content: "";\n}\n.k-i-file-video::before {\n content: "";\n}\n.k-i-file-audio::before {\n content: "";\n}\n.k-i-file-image::before {\n content: "";\n}\n.k-i-file-presentation::before {\n content: "";\n}\n.k-i-file-data::before {\n content: "";\n}\n.k-i-file-disc-image::before {\n content: "";\n}\n.k-i-file-programming::before {\n content: "";\n}\n.k-i-parameters-byte-array::before {\n content: "";\n}\n.k-i-parameters-unknown::before {\n content: "";\n}\n.k-i-file-error::before {\n content: "";\n}\n.k-i-file-validation::before {\n content: "";\n}\n.k-i-files-error::before {\n content: "";\n}\n.k-i-files-validation::before {\n content: "";\n}\n.k-i-data-rest::before {\n content: "";\n}\n.k-i-file-typescript::before {\n content: "";\n}\n.k-i-table-position-start::before {\n content: "";\n}\n.k-i-table-position-left::before {\n content: "";\n}\n.k-i-table-position-center::before {\n content: "";\n}\n.k-i-table-position-end::before {\n content: "";\n}\n.k-i-table-position-right::before {\n content: "";\n}\n.k-i-list-roman-upper::before {\n content: "";\n}\n.k-i-list-roman-lower::before {\n content: "";\n}\n.k-i-import::before {\n content: "";\n}\n.k-i-export::before {\n content: "";\n}\n.k-i-match-full-word::before {\n content: "";\n}\n.k-i-regular-expression::before {\n content: "";\n}\n.k-i-replace-single::before {\n content: "";\n}\n.k-i-replace-all::before {\n content: "";\n}\n.k-i-letter-space::before {\n content: "";\n}\n.k-i-line-height::before {\n content: "";\n}\n.k-i-graph::before {\n content: "";\n}\n.k-i-chart-column-clustered::before {\n content: "";\n}\n.k-i-chart-column-stacked::before {\n content: "";\n}\n.k-i-chart-column-stacked100::before {\n content: "";\n}\n.k-i-chart-column-range::before {\n content: "";\n}\n.k-i-chart-bar-clustered::before {\n content: "";\n}\n.k-i-chart-bar-stacked::before {\n content: "";\n}\n.k-i-chart-bar-stacked100::before {\n content: "";\n}\n.k-i-chart-bar-range::before {\n content: "";\n}\n.k-i-chart-area-clustered::before {\n content: "";\n}\n.k-i-chart-area-stacked::before {\n content: "";\n}\n.k-i-chart-area-stacked100::before {\n content: "";\n}\n.k-i-chart-area-range::before {\n content: "";\n}\n.k-i-chart-line::before {\n content: "";\n}\n.k-i-chart-line-stacked::before {\n content: "";\n}\n.k-i-chart-line-stacked100::before {\n content: "";\n}\n.k-i-chart-line-markers::before {\n content: "";\n}\n.k-i-chart-line-stacked-markers::before {\n content: "";\n}\n.k-i-chart-line-stacked100-markers::before {\n content: "";\n}\n.k-i-chart-pie::before {\n content: "";\n}\n.k-i-chart-doughnut::before {\n content: "";\n}\n.k-i-chart-scatter::before {\n content: "";\n}\n.k-i-chart-scatter-smooth-lines-markers::before {\n content: "";\n}\n.k-i-chart-scatter-smooth-lines::before {\n content: "";\n}\n.k-i-chart-scatter-straight-lines-markers::before {\n content: "";\n}\n.k-i-chart-scatter-straight-lines::before {\n content: "";\n}\n.k-i-chart-bubble::before {\n content: "";\n}\n.k-i-chart-candlestick::before {\n content: "";\n}\n.k-i-chart-ohlc::before {\n content: "";\n}\n.k-i-chart-radar::before {\n content: "";\n}\n.k-i-chart-radar-markers::before {\n content: "";\n}\n.k-i-chart-radar-filled::before {\n content: "";\n}\n.k-i-chart-rose::before {\n content: "";\n}\n.k-i-chart-choropleth::before {\n content: "";\n}\n.k-rtl .k-i-indent-increase,\n.k-rtl .k-i-indent-decrease,\n.k-rtl .k-i-expand,\n.k-rtl .k-i-collapse,\n[dir=rtl] .k-i-expand,\n[dir=rtl] .k-i-collapse {\n transform: scaleX(-1);\n}\n.k-sprite {\n display: inline-block;\n width: 16px;\n height: 16px;\n overflow: hidden;\n background-repeat: no-repeat;\n font-size: 0;\n line-height: 0;\n text-align: center;\n -ms-high-contrast-adjust: none;\n}\n.k-image {\n display: inline-block;\n}\n.k-splitter {\n background-clip: padding-box;\n height: 300px;\n border-width: 1px;\n border-style: solid;\n box-sizing: border-box;\n outline: 0;\n font-family: inherit;\n font-size: 14px;\n line-height: 1.4285714286;\n display: block;\n position: relative;\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.k-splitter .k-ie11 {\n background-clip: border-box;\n}\n.k-splitter .k-pane {\n overflow: hidden;\n}\n.k-splitter .k-scrollable {\n overflow: auto;\n}\n.k-splitter .k-splitter-resizing {\n overflow: hidden;\n}\n.k-pane > .k-splitter {\n border-width: 0;\n overflow: hidden;\n}\n.k-splitter .k-pane-loading {\n position: static;\n top: 50%;\n left: 50%;\n}\n.k-ghost-splitbar,\n.k-splitbar {\n border-style: solid;\n outline: 0;\n position: absolute;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.k-ghost-splitbar .k-icon,\n.k-splitbar .k-icon {\n font-size: 10px;\n display: block;\n cursor: pointer;\n}\n.k-splitbar-draggable-horizontal {\n cursor: col-resize;\n}\n.k-splitbar-draggable-vertical {\n cursor: row-resize;\n}\n.k-ghost-splitbar-horizontal,\n.k-splitbar-horizontal {\n width: 8px;\n border-width: 0;\n background-repeat: repeat-y;\n flex-direction: column;\n top: 0;\n}\n.k-ghost-splitbar-vertical,\n.k-splitbar-vertical {\n height: 8px;\n border-width: 0;\n background-repeat: repeat-x;\n flex-direction: row;\n left: 0;\n}\n.k-splitbar-static-horizontal {\n width: 1px;\n}\n.k-splitbar-static-vertical {\n height: 1px;\n}\n.k-splitbar-draggable-horizontal .k-resize-handle {\n width: 2px;\n height: 20px;\n position: static;\n z-index: 1;\n}\n.k-splitbar .k-resize-handle {\n display: none;\n background-color: currentColor;\n}\n.k-splitbar-draggable-horizontal .k-resize-handle,\n.k-splitbar-draggable-vertical .k-resize-handle {\n display: block;\n}\n.k-splitbar-horizontal .k-i-arrow-60-left {\n margin-bottom: 7px;\n}\n.k-splitbar-horizontal .k-i-arrow-60-right {\n margin-top: 7px;\n}\n.k-splitbar-vertical .k-i-arrow-60-up {\n margin-right: 7px;\n}\n.k-splitbar-vertical .k-i-arrow-60-down {\n margin-left: 7px;\n}\n.k-splitbar-draggable-vertical .k-resize-handle {\n width: 20px;\n height: 2px;\n position: static;\n z-index: 1;\n}\n.k-pane > .k-splitter-overlay {\n opacity: 0;\n position: absolute;\n}\n.k-splitter-flex {\n display: flex;\n width: 100%;\n height: auto;\n}\n.k-splitter-flex .k-pane {\n position: relative;\n flex: 1 1 auto;\n display: block;\n min-width: 0;\n max-width: 100%;\n min-height: 0;\n max-height: 100%;\n height: 100%;\n}\n.k-splitter-flex .k-pane-static {\n flex-grow: 0;\n flex-shrink: 0;\n}\n.k-splitter-flex .k-pane-flex {\n display: flex;\n}\n.k-splitter-flex .k-splitbar {\n position: static;\n flex: 0 0 auto;\n}\n.k-splitter-flex .k-pane.k-state-hidden, .k-splitter-flex .k-pane[hidden],\n.k-splitter-flex .k-pane-flex.k-state-hidden,\n.k-splitter-flex .k-pane-flex[hidden] {\n flex: 0 1 0% !important;\n overflow: hidden !important;\n display: block !important;\n}\n.k-splitter-flex.k-splitter-horizontal {\n flex-direction: row;\n}\n.k-splitter-flex.k-splitter-horizontal[dir=rtl] > .k-splitbar > .k-collapse-next,\n.k-splitter-flex.k-splitter-horizontal[dir=rtl] > .k-splitbar > .k-collapse-prev {\n transform: scaleX(-1);\n}\n.k-splitter-flex.k-splitter-vertical {\n flex-direction: column;\n}\n.k-splitter {\n border-color: rgba(0, 0, 0, 0.08);\n color: #424242;\n background-color: #ffffff;\n}\n.k-splitbar {\n color: #424242;\n background-color: #fafafa;\n}\n.k-splitbar:hover,\n.k-splitbar.k-state-hover,\n.k-splitbar-horizontal-hover,\n.k-splitbar-vertical-hover {\n color: #424242;\n background-color: #f0f0f0;\n}\n.k-splitbar:active,\n.k-splitbar.k-state-focus,\n.k-splitbar.k-state-focused {\n color: #ffffff;\n background: #ff6358;\n}\n.k-ghost-splitbar {\n background-color: #f0f0f0;\n}\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n:host {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:host {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:host {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:host {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:host {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:host {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:host {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:host {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:host {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.6rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:host {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:host {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:host {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:host {\n --select-arrow-color: #777;\n}\n:host {\n --input-box-shadow-hover: #e4e4e4;\n}\n:host {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:host {\n --secondary-text-color: #999;\n}\n:host {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\nh1,\n.h1 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh2,\n.h2 {\n font-size: var(--font-size-h2);\n font-weight: 300;\n line-height: 1.3;\n color: var(--color-h2);\n margin-top: 0;\n margin-bottom: 0;\n}\nh3,\n.h3 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh4,\n.h4 {\n font-size: var(--font-size-h4);\n font-weight: bold;\n margin-top: 0;\n margin-bottom: 0;\n}\nh5,\n.h5 {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n}\nh1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n.h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\nh4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n.h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\np {\n margin-bottom: calc(var(--font-size-base) * 1.4);\n}\n/*\n Typography\n\n Headings\n\n Markup:\n

    H1 List Page Title

    \n

    H1 Detail Page Title

    \n

    H2 Group Title

    \n

    H3 Item Title

    \n

    H4 Form Label

    \n

    H4 Regular Label

    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings\n */\n/*\n Heading CSS Classes\n\n Markup:\n
    H1 List Page Title
    \n
    H1 Detail Page Title
    \n
    H2 Group Title
    \n
    H3 Item Title
    \n
    H4 Form Label
    \n
    H4 Regular Label
    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings-classes\n */\n/*\n Paragraph\n\n Markup:\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat. Nulla iaculis id sem eget ullamcorper. In ac euismod nunc. Fusce at tortor viverra, maximus quam quis, interdum velit. Mauris varius risus ut ante porttitor tempor.

    \n\n Styleguide: Typography.Paragraph\n*/\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n/*\n Icon\n\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n::-webkit-input-placeholder {\n /* WebKit, Blink, Edge */\n color: var(--input-placeholder-color);\n font-weight: normal;\n}\n:-moz-placeholder {\n /* Mozilla Firefox 4 to 18 */\n color: var(--input-placeholder-color);\n font-weight: normal;\n opacity: 1;\n}\n::-moz-placeholder {\n /* Mozilla Firefox 19+ */\n color: var(--input-placeholder-color);\n font-weight: normal;\n opacity: 1;\n}\n:-ms-input-placeholder {\n /* Internet Explorer 10-11 */\n color: var(--input-placeholder-color);\n font-weight: normal;\n}\n:-moz-ui-invalid:not(output) {\n box-shadow: none;\n}\n::-ms-clear {\n display: none;\n}\n:-webkit-autofill {\n -webkit-box-shadow: inset 0 0 0 25px #fff;\n}\ninput[type=search]::-webkit-search-decoration,\ninput[type=search]::-webkit-search-cancel-button,\ninput[type=search]::-webkit-search-results-button,\ninput[type=search]::-webkit-search-results-decoration {\n display: none;\n}\ninput[type=week] {\n display: flex;\n align-items: center;\n}\n.sf-input {\n position: relative;\n display: inline-block;\n line-height: 18px;\n vertical-align: top;\n width: 100%;\n}\n.sf-input input,\n.sf-input textarea {\n display: block;\n font-family: "Open Sans", sans-serif;\n transition: border-color 0.3s;\n width: 100%;\n border: 1px solid var(--input-border);\n border-radius: 0;\n background-color: #fff;\n box-sizing: border-box;\n -webkit-appearance: none;\n color: #333;\n}\n.sf-input input:focus,\n.sf-input textarea:focus {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\n.sf-input input:hover,\n.sf-input textarea:hover {\n border-color: var(--input-border-hover);\n}\n.sf-input input:disabled,\n.sf-input textarea:disabled {\n background-color: #f5f5f5;\n color: #ccc;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.sf-input input:disabled:focus, .sf-input input:disabled:hover,\n.sf-input textarea:disabled:focus,\n.sf-input textarea:disabled:hover {\n border-color: var(--input-border);\n}\n.sf-input input {\n padding: 0 10px;\n}\n.sf-input textarea {\n min-height: 80px;\n padding: 8px 10px;\n}\n.sf-input:not(.-bordered) input[readonly],\n.sf-input:not(.-bordered) textarea[readonly] {\n padding: 0;\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-input:not(.-bordered) input[readonly]:focus, .sf-input:not(.-bordered) input[readonly]:hover,\n.sf-input:not(.-bordered) textarea[readonly]:focus,\n.sf-input:not(.-bordered) textarea[readonly]:hover {\n border-color: transparent;\n}\n.sf-input.-clearable .sf-input__field {\n padding-right: 20px;\n}\n.sf-input.-side-content .sf-input__title {\n border-right: 1px solid var(--input-border);\n}\n.sf-input.-side-content .sf-input__field {\n padding-right: 46px;\n}\n.sf-input.-bold .sf-input__field {\n font-weight: bold;\n}\n.sf-input.-unit {\n display: flex;\n flex-wrap: nowrap;\n}\n.sf-input.-unit .sf-input__label {\n width: 100%;\n}\n.sf-input.-unit .sf-input__field {\n flex: 1;\n width: auto;\n min-width: 40px;\n}\n.sf-input.-unit.-left .sf-input__field {\n order: 2;\n}\n.sf-input.-unit.-left .sf-input__unit {\n order: 1;\n border-right: 0;\n border-left: 1px solid var(--input-border);\n}\n.sf-input.-unit.-left .sf-input__unit::before {\n right: auto;\n left: calc(100% + 8px);\n border-left: 0;\n}\n.sf-input.-textarea .sf-input__side-content {\n margin-left: 10px;\n top: 1.8em;\n left: 100%;\n right: auto;\n background: transparent;\n border: transparent;\n font-size: var(--font-size-base);\n line-height: 1.4;\n color: #333;\n height: auto;\n width: auto;\n text-align: left;\n}\n.sf-input.-char-counter .sf-input__side-content {\n top: 4.3em;\n}\n.sf-input.-title .sf-input__title[contenteditable=true] {\n padding-bottom: 10px;\n}\n.sf-input.-title .sf-input__title[contenteditable=true]:hover {\n box-shadow: 0 3px 0 -2px var(--input-box-shadow-hover);\n}\n.sf-input.-title .sf-input__title[contenteditable=true]:focus {\n box-shadow: 0 3px 2px -3px rgba(0, 108, 217, 0.8);\n}\n.sf-input.-title.-large .sf-input__title {\n font-size: var(--font-size-h1-lg);\n}\n.sf-input.-title.-small .sf-input__title {\n font-size: var(--font-size-h3);\n min-height: 0;\n}\n.sf-input.-title .sf-input__side-content {\n margin-left: 10px;\n top: 0;\n left: 100%;\n right: auto;\n font-size: var(--font-size-base);\n line-height: 1.55;\n text-align: left;\n}\n.sf-input.-short.-textarea textarea {\n min-height: 60px;\n}\n.sf-input.-short .sf-input__field {\n height: 28px;\n}\n.sf-input.-centered .sf-input__field {\n text-align: center;\n}\n.sf-input.-no-border {\n border: 0;\n padding: 0;\n}\n.sf-input.-no-border .sf-input__textarea {\n border: 0;\n padding: 0;\n}\n.sf-input.-no-resize .sf-input__textarea {\n resize: none;\n}\n.sf-input.-inline .sf-input__field,\n.sf-input.-inline .sf-input__textarea {\n font-size: var(--font-size-base);\n border: 0;\n}\n.sf-input.-inline .sf-input__field:not([disabled]):hover,\n.sf-input.-inline .sf-input__textarea:not([disabled]):hover {\n background-color: #FFFFCC;\n}\n.sf-input.-inline .sf-input__field:focus,\n.sf-input.-inline .sf-input__textarea:focus {\n box-shadow: none;\n}\n.sf-input.-inline .sf-input__field {\n padding-left: 0;\n padding-right: 0;\n height: 22px;\n}\n.sf-input.-inline .sf-input__textarea {\n padding: 0;\n}\n.sf-input.-large .sf-input__field,\n.sf-input.-large .sf-input__textarea {\n font-size: var(--font-size-lg);\n}\n.sf-input.-small-label .sf-input__label {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n margin: 0 0 5px;\n}\n.sf-input__label:not(.-small-label) {\n display: block;\n margin: 0 0 5px;\n font-weight: 700;\n font-size: var(--font-size-lg);\n}\n.sf-input__field {\n color: inherit;\n height: 36px;\n}\n.sf-input__field:focus + .sf-input__unit {\n box-shadow: 0 0 2px rgba(0, 108, 217, 0.8);\n}\n.sf-input__no-value {\n font-size: var(--font-size-lg);\n color: #ccc;\n}\n.sf-input__hint {\n margin: 5px 0 0;\n color: var(--secondary-text-color);\n width: 100%;\n}\n.sf-input__required {\n display: block;\n margin: 5px 0 0;\n color: var(--color-error);\n}\n.sf-input__clear-button {\n position: absolute;\n text-decoration: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 100%;\n top: 0;\n right: 0;\n margin: 0;\n padding: 0;\n color: inherit;\n opacity: 0;\n transform: scale(0);\n transition: opacity 0.3s ease-out;\n transition-property: opacity, transform;\n transition-delay: 100ms;\n outline: none;\n z-index: 1;\n z-index: 5;\n}\n.sf-input__clear-button:hover .sf-icon, .sf-input__clear-button:focus .sf-icon, .sf-input__clear-button:active .sf-icon {\n color: #333;\n}\n.sf-input__clear-button.-show {\n opacity: 1;\n transform: scale(1);\n}\n.sf-input__side-content {\n position: absolute;\n opacity: 1;\n top: 1.3em;\n color: #ccc;\n}\n.sf-input__unit {\n cursor: pointer;\n text-decoration: none;\n text-align: center;\n vertical-align: middle;\n padding-left: 10px;\n padding-right: 10px;\n width: auto;\n height: 36px;\n line-height: 36px;\n background-color: #f5f5f5;\n border-top: 1px solid var(--input-border);\n border-right: 1px solid var(--input-border);\n border-bottom: 1px solid var(--input-border);\n outline: none;\n white-space: nowrap;\n}\n.sf-input__unit::before {\n display: block;\n content: "";\n position: relative;\n left: -11px;\n width: 3px;\n height: calc( 100% + 2px );\n border-top: 1px solid var(--input-border);\n border-bottom: 1px solid var(--input-border);\n background-color: #f5f5f5;\n}\n.sf-input__char-counter {\n position: absolute;\n margin-left: 10px;\n font-size: var(--font-size-base);\n top: 0.7em;\n left: 100%;\n color: var(--input-char-counter-success-color);\n}\n.sf-input__char-counter.-error {\n color: var(--input-char-counter-error-color);\n}\n.sf-input__title {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n outline: none;\n cursor: text;\n min-height: 58px;\n}\n.sf-input__title::-webkit-input-placeholder {\n font-family: Open Sans Condensed, sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n font-weight: bold;\n}\n.sf-input__title::-moz-placeholder {\n /* Firefox 19+ */\n font-family: Open Sans Condensed, sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n font-weight: bold;\n}\n.sf-input__title:-ms-input-placeholder {\n font-family: Open Sans Condensed, sans-serif;\n font-size: var(--font-size-h1);\n line-height: 1.3;\n font-weight: bold;\n}\n.sf-input__title.-placeholder::before {\n display: block;\n content: attr(data-placeholder);\n color: var(--input-title-placeholder-color);\n}\n.sf-input__title.-placeholder br:only-child {\n position: absolute;\n top: 0;\n}\n.sf-input__title .sf-input__required {\n margin-top: -20px;\n padding-top: 3px;\n border-top: 1px solid #ff4848;\n}\n.sf-input.ng-dirty.ng-invalid .sf-input__field.ng-dirty.ng-invalid, .sf-input.ng-dirty.ng-invalid .sf-input__field.ng-dirty.ng-invalid:focus, .sf-input.ng-dirty.ng-invalid .sf-input__field.ng-dirty.ng-invalid:hover,\n.sf-input.ng-dirty.ng-invalid .sf-input__textarea.ng-dirty.ng-invalid,\n.sf-input.ng-dirty.ng-invalid .sf-input__textarea.ng-dirty.ng-invalid:focus,\n.sf-input.ng-dirty.ng-invalid .sf-input__textarea.ng-dirty.ng-invalid:hover, .sf-input.-required .sf-input__field.ng-dirty.ng-invalid, .sf-input.-required .sf-input__field.ng-dirty.ng-invalid:focus, .sf-input.-required .sf-input__field.ng-dirty.ng-invalid:hover,\n.sf-input.-required .sf-input__textarea.ng-dirty.ng-invalid,\n.sf-input.-required .sf-input__textarea.ng-dirty.ng-invalid:focus,\n.sf-input.-required .sf-input__textarea.ng-dirty.ng-invalid:hover {\n border-color: var(--color-error);\n}\n.sf-input.ng-dirty.ng-invalid.-title .sf-input__required, .sf-input.-required.-title .sf-input__required {\n margin-top: 0;\n padding-top: 3px;\n border-top: 1px solid var(--color-error);\n}\n.sf-input-file {\n display: flex;\n}\n.sf-input-file__label {\n position: relative;\n cursor: pointer;\n z-index: 10;\n}\n.sf-input-file input[type=file] {\n position: absolute;\n height: 0;\n width: 0;\n opacity: 0;\n z-index: auto;\n}\n.sf-input-file input[type=file]:focus + .sf-input-file__label .sf-button {\n background-color: #e4e4e4;\n}\n.sf-input-file input[type=file]:focus + .sf-input-file__label .sf-button.-action {\n background-color: #309255;\n}\n/*\n Input\n\n Default\n\n `.sf-input`\n\n Markup:\n
    \n \n \n

    Example: Input example text

    \n
    \n\n Styleguide: Input.default\n*/\n/*\n Disabled:\n\n `.sf-input`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.disabled\n*/\n/*\n Readonly\n\n `.sf-input`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.readonly\n*/\n/*\n Value not set:\n\n `.sf-input .sf-input__no-value`\n\n Markup:\n
    \n \n
    Not set
    \n
    \n\n Styleguide: Input.not-set\n*/\n/*\n Invalid field\n\n `.sf-input.ng-invalid`\n\n Markup:\n
    \n \n \n

    Field is required

    \n

    Example: Input example text

    \n
    \n
    \n \n \n

    Field is required

    \n

    Example: Input example text

    \n
    \n\n Styleguide: Input.invalid\n*/\n/*\n Input with clear button\n\n `.sf-input.-clear`\n\n Markup:\n
    \n \n \n \n

    Example: Input example text

    \n
    \n\n Styleguide: Input.input-clear-button\n*/\n/*\n Input with units\n\n `.sf-input.-unit`\n\n Markup:\n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n\n Styleguide: Input.units\n*/\n/*\n Input and textarea with character counter\n\n `.sf-input .-char-counter`\n\n Markup:\n
    \n \n 352\n
    \n
    \n
    \n
    \n \n -9\n
    \n\n Styleguide: Input.char-counter\n*/\n/*\n Side content with char counter\n\n `.sf-input.-char-counter .sf-input__char-counter`\n `.sf-input.-side-content .sf-input__char-counter`\n\n Markup:\n
    \n \n 44\n Side content\n
    \n\n Styleguide: Input.side-content-char-counter\n*/\n/*\n Textarea\n\n `.sf-input`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.textarea\n*/\n/*\n Title\n\n `.sf-input.-title`\n\n Markup:\n
    \n

    \n
    \n\n Styleguide: Input.title\n/*\n Title Large\n\n `.sf-input.-title.-large`\n\n Markup:\n
    \n

    \n
    \n\n Styleguide: Input.large\n*/\n/*\n Title with side-content\n\n `.sf-input.-title.-side-content`\n\n Markup:\n
    \n

    \n \n
    \n\n Styleguide: Input.side-content-title\n*/\n/*\n Title with side-content and validation\n\n `.sf-input.-title.-side-content.-required`\n\n Markup:\n
    \n

    \n

    Enter Title

    \n \n
    \n\n Styleguide: Input.side-content-validation\n*/\n/*\n File input\n\n Upload icon\n\n `.sf-input-file`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.file-input\n*/\n/*\n Plus icon\n\n `.sf-input-file`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.plus-icon\n*/\n/*\n Upload button:\n\n `.sf-input-file`\n\n Markup:\n
    \n \n \n
    \n\n Styleguide: Input.input-file\n*/\n.sf-row {\n display: flex;\n flex-wrap: wrap;\n padding: 0;\n width: 100%;\n max-width: 100%;\n list-style-type: none;\n /*\n Row\n\n Row with auto sized columns (default)\n\n `.sf-row .sf-row__col`\n\n Markup:\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row.auto-sized\n */\n /*\n Nested rows\n\n `.sf-row .sf-row`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row.nested-rows\n */\n /*\n Row with no gutter\n\n `.sf-row.-no-gutter`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.no-gutter\n */\n /*\n Row inline\n\n `.sf-row.-inline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.inline\n */\n /*\n Row full height\n\n `.sf-row.-full-height`\n\n Markup:\n
    \n
    \n I am tall\n
    \n
    \n I am tall\n
    \n
    \n\n Styleguide: Row.full-height\n */\n /*\n Width auto\n\n `.sf-row.-auto-width`\n\n Markup:\n
    \n
    \n\n Styleguide: Row.width-auto\n */\n /*\n flex-wrap: wrap (Default)\n\n `.sf-row.-wrap`\n\n If emitted flex-wrap: wrap\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.flex-wrap-wrap\n */\n /*\n flex-wrap: no-wrap\n\n `.sf-row.-no-wrap`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.no-wrap\n */\n /*\n flex-wrap: wrap-reverse\n\n `.sf-row.-wrap-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.wrap-reverse\n */\n /*\n flex-direction: row (default)\n\n `.sf-row.-row`\n\n If emitted flex-direction: row\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.flex-direction-row\n */\n /*\n flex-direction: row-reverse\n\n `.sf-row.-row-reverse `\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.row-reverse\n */\n /*\n flex-direction: column\n\n `.sf-row.-column`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column\n */\n /*\n flex-direction: column-reverse\n\n `.sf-row.-column-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column-reverse\n */\n /*\n align-items: stretch (default)\n\n `.sf-row.-align-items-stretch`\n\n If emitted align-items: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-stretch\n\n */\n /*\n align-items: flex-start\n\n `.sf-row.-align-items-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-start\n */\n /*\n align-items: flex-end\n\n `.sf-row.-align-items-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-end\n */\n /*\n align-items: center\n\n `.sf-row.-align-items-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-center\n */\n /*\n align-items: baseline\n\n `.sf-row.-align-items-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-baseline\n */\n /*\n align-content: stretch (default)\n\n `.sf-row.-align-content-stretch`\n\n If emitted align-content: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-stretch\n */\n /*\n align-content: flex-start\n\n `.sf-row.-align-content-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-start\n */\n /*\n align-content: flex-end\n\n `.sf-row.-align-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-end\n */\n /*\n align-content: center\n\n `.sf-row.-align-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-center\n */\n /*\n align-content: space-between\n\n `.sf-row.-align-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-between\n */\n /*\n align-content: space-around\n\n `.sf-row.-align-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-around\n */\n /*\n justify-content: flex-start (default)\n\n `.sf-row.-justify-content-start`\n\n If emitted justify-content: flex-start\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-start\n */\n /*\n justify-content: flex-end\n\n `.sf-row.-justify-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-end\n */\n /*\n justify-content: center\n\n `.theme.-row.-justify-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-center\n */\n /*\n justify-content: space-between\n\n `.sf-row.-justify-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-between\n */\n /*\n justify-content: space-around\n\n `.sf-row.-justify-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-around\n */\n /*\n Columns with flexible width\n\n `sf-row.-adjustable-ellipsis`\n\n Markup:\n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n\n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n\n Styleguide: Row.adjustable-ellipsis\n */\n /*\n Row — Single Column\n */\n /*\n Columns with no gutter\n\n `.sf-row__col.-no-gutter`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-gutter\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-gutter\n */\n /*\n Columns which are not flexible (\'flex: none\')\n\n `.sf-row__col.-no-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-flex\n */\n /*\n Columns which are auto flexible (\'flex: auto\')\n\n `.sf-row__col.-auto-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-auto-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.flex-auto\n */\n /*\n Columns hide\n\n `.sf-row__col.-hidden`\n\n Markup:\n
    \n
    \n .sf-row__col.-hidden: I am hidden for all resolutions\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row-single.hidden\n */\n /*\n Columns align-self: stretch (default)\n\n `.sf-row__col.-align-self-stretch`\n\n If emitted align-self: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-stretch\n */\n /*\n Columns align-self: flex-start\n\n `.sf-row__col.-align-self-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.flex-start\n */\n /*\n Columns align-self: flex-end\n\n `.sf-row__col.-align-self-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-end\n */\n /*\n Columns align-self: center\n\n `.sf-row__col.-align-self-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-center\n */\n /*\n Columns align-self: baseline\n\n `.sf-row__col.-align-self-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-baseline\n */\n}\n.sf-row.-no-gutter .sf-row__col {\n padding: 0;\n}\n.sf-row.-inline {\n display: inline-flex;\n width: auto;\n}\n.sf-row.-full-height {\n height: 100%;\n}\n.sf-row.-auto-width {\n width: auto;\n}\n.sf-row.-wrap {\n flex-wrap: wrap;\n}\n.sf-row.-no-wrap {\n flex-wrap: nowrap;\n}\n.sf-row.-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n.sf-row.-row {\n flex-direction: row;\n}\n.sf-row.-row-reverse {\n flex-direction: row-reverse;\n}\n.sf-row.-column {\n flex-direction: column;\n}\n.sf-row.-column-reverse {\n flex-direction: column-reverse;\n}\n.sf-row.-align-items-stretch {\n align-items: stretch;\n}\n.sf-row.-align-items-start {\n align-items: flex-start;\n}\n.sf-row.-align-items-end {\n align-items: flex-end;\n}\n.sf-row.-align-items-center {\n align-items: center;\n}\n.sf-row.-align-items-baseline {\n align-items: baseline;\n}\n.sf-row.-align-content-stretch {\n align-content: stretch;\n}\n.sf-row.-align-content-start {\n align-content: flex-start;\n}\n.sf-row.-align-content-end {\n align-content: flex-end;\n}\n.sf-row.-align-content-center {\n align-content: center;\n}\n.sf-row.-align-content-between {\n align-content: space-between;\n}\n.sf-row.-align-content-around {\n align-content: space-around;\n}\n.sf-row.-justify-content-start {\n justify-content: flex-start;\n}\n.sf-row.-justify-content-end {\n justify-content: flex-end;\n}\n.sf-row.-justify-content-center {\n justify-content: center;\n}\n.sf-row.-justify-content-between {\n justify-content: space-between;\n}\n.sf-row.-justify-content-around {\n justify-content: space-around;\n}\n.sf-row.-adjustable-ellipsis {\n display: inline-flex;\n width: auto;\n}\n.sf-row.-adjustable-ellipsis .sf-row__col.-truncatable {\n min-width: 0;\n}\n.sf-row.-adjustable-ellipsis .sf-row__col.-full-width {\n flex: none;\n white-space: nowrap;\n}\n.sf-row__col {\n padding: 0;\n flex: 1;\n max-width: 100%;\n /*\n Row — Grid System\n\n Columns sizes\n\n `.sf-row__col.-col-{1, 2, 3,..., 12}`\n\n Column sizes applies for all devices unless overridden\n\n Markup:\n
    \n
    \n .sf-row__col.-col-12\n
    \n
    \n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n\n Styleguide: Row-grid.Columns-sizes\n */\n /*\n Columns order\n\n `.sf-row__col.-order-{1, 2, 3,..., 12}`\n\n Markup:\n
    \n
    \n .sf-row__col.-order-2\n

    I am first in the markup but ordered second on the screen

    \n
    \n
    \n .sf-row__col.-order-3\n

    I am second in the markup but ordered third on the screen

    \n
    \n
    \n .sf-row__col.-order-1\n

    I am third in the markup but ordered first on the screen

    \n
    \n
    \n\n Styleguide: Row-grid.Columns-order\n */\n}\n.sf-row__col.-col-1 {\n flex: 0 0 8.3333333333%;\n max-width: 8.3333333333%;\n}\n.sf-row__col.-col-2 {\n flex: 0 0 16.6666666667%;\n max-width: 16.6666666667%;\n}\n.sf-row__col.-col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n.sf-row__col.-col-4 {\n flex: 0 0 33.3333333333%;\n max-width: 33.3333333333%;\n}\n.sf-row__col.-col-5 {\n flex: 0 0 41.6666666667%;\n max-width: 41.6666666667%;\n}\n.sf-row__col.-col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n.sf-row__col.-col-7 {\n flex: 0 0 58.3333333333%;\n max-width: 58.3333333333%;\n}\n.sf-row__col.-col-8 {\n flex: 0 0 66.6666666667%;\n max-width: 66.6666666667%;\n}\n.sf-row__col.-col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n.sf-row__col.-col-10 {\n flex: 0 0 83.3333333333%;\n max-width: 83.3333333333%;\n}\n.sf-row__col.-col-11 {\n flex: 0 0 91.6666666667%;\n max-width: 91.6666666667%;\n}\n.sf-row__col.-col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n.sf-row__col.-order-1 {\n order: 1;\n}\n.sf-row__col.-order-2 {\n order: 2;\n}\n.sf-row__col.-order-3 {\n order: 3;\n}\n.sf-row__col.-order-4 {\n order: 4;\n}\n.sf-row__col.-order-5 {\n order: 5;\n}\n.sf-row__col.-order-6 {\n order: 6;\n}\n.sf-row__col.-order-7 {\n order: 7;\n}\n.sf-row__col.-order-8 {\n order: 8;\n}\n.sf-row__col.-order-9 {\n order: 9;\n}\n.sf-row__col.-order-10 {\n order: 10;\n}\n.sf-row__col.-order-11 {\n order: 11;\n}\n.sf-row__col.-order-12 {\n order: 12;\n}\n.sf-row .-no-gutter {\n padding: 0;\n}\n.sf-row .-no-flex {\n flex: none;\n}\n.sf-row .-auto-flex {\n flex: auto;\n}\n.sf-row .-hidden {\n display: none;\n}\n.sf-row .-align-self-stretch {\n align-self: stretch;\n}\n.sf-row .-align-self-start {\n align-self: flex-start;\n}\n.sf-row .-align-self-end {\n align-self: flex-end;\n}\n.sf-row .-align-self-center {\n align-self: center;\n}\n.sf-row .-align-self-baseline {\n align-self: baseline;\n}\n.sf-error {\n display: block;\n color: var(--color-error);\n}\n.sf-error-block {\n border-color: var(--color-error) !important;\n}\n/*\n Error\n\n Default error\n\n `.sf-error`\n\n @example\n
    This is an error!
    \n
    This is an error block!
    \n\n Styleguide: Error.default\n */\n.-sf-centered-box {\n margin-left: auto;\n margin-right: auto;\n}\n.-sf-centered-vertical-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n}\n.-sf-full-height {\n height: 100% !important;\n}\n.-sf-auto-height {\n height: auto !important;\n}\n/*\n Centered box\n\n `-sf-centered-box`\n\n Sets box\'s right and left margins to auto to center the box horizontally if it has width.\n\n Markup:\n
    Centered box with fixed width
    \n\n Styleguide: Center utility classes.centered\n */\n/*\n Centered horizontally and vertically box\n\n `-sf-centered-vertical-box` Sets box\'s right and left margins to auto to center the box horizontally if it has width and set it\'s display to flex and min-height to 100% of the view height.\n\n Markup:\n
    Centered box with fixed width
    \n\n Styleguide: Center utility classes.horizontally-vertically-centered\n */\n/*\n Expands element to 100% height of parent\n\n `-sf-full-height`\n\n Markup:\n
    \n
    Grey child is as tall as parent
    \n
    \n\n Styleguide: Center utility classes.full-height\n */\n.-sf-mt-zero {\n margin-top: 0 !important;\n}\n.-sf-mt-4xs {\n margin-top: 5px !important;\n}\n.-sf-mt-3xs {\n margin-top: 10px !important;\n}\n.-sf-mt-2xs {\n margin-top: 15px !important;\n}\n.-sf-mt-xs {\n margin-top: 20px !important;\n}\n.-sf-mt-s {\n margin-top: 25px !important;\n}\n.-sf-mt-m {\n margin-top: 30px !important;\n}\n.-sf-mt-l {\n margin-top: 35px !important;\n}\n.-sf-mt-xl {\n margin-top: 40px !important;\n}\n.-sf-mt-2xl {\n margin-top: 45px !important;\n}\n.-sf-mt-3xl {\n margin-top: 50px !important;\n}\n.-sf-mt-4xl {\n margin-top: 55px !important;\n}\n.-sf-mt-5xl {\n margin-top: 60px !important;\n}\n.-sf-mt-6xl {\n margin-top: 80px !important;\n}\n.-sf-mt-7xl {\n margin-top: 100px !important;\n}\n.-sf-mt-8xl {\n margin-top: 120px !important;\n}\n.-sf-mt-9xl {\n margin-top: 140px !important;\n}\n.-sf-mt-10xl {\n margin-top: 160px !important;\n}\n.-sf-mt-11xl {\n margin-top: 180px !important;\n}\n.-sf-mt-12xl {\n margin-top: 200px !important;\n}\n.-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n.-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n.-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n.-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n.-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n.-sf-mb-s {\n margin-bottom: 25px !important;\n}\n.-sf-mb-m {\n margin-bottom: 30px !important;\n}\n.-sf-mb-l {\n margin-bottom: 35px !important;\n}\n.-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n.-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n.-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n.-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n.-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n.-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n.-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n.-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n.-sf-ml-zero {\n margin-left: 0 !important;\n}\n.-sf-ml-4xs {\n margin-left: 5px !important;\n}\n.-sf-ml-3xs {\n margin-left: 10px !important;\n}\n.-sf-ml-2xs {\n margin-left: 15px !important;\n}\n.-sf-ml-xs {\n margin-left: 20px !important;\n}\n.-sf-ml-s {\n margin-left: 25px !important;\n}\n.-sf-ml-m {\n margin-left: 30px !important;\n}\n.-sf-ml-l {\n margin-left: 35px !important;\n}\n.-sf-ml-xl {\n margin-left: 40px !important;\n}\n.-sf-ml-2xl {\n margin-left: 45px !important;\n}\n.-sf-ml-3xl {\n margin-left: 50px !important;\n}\n.-sf-ml-4xl {\n margin-left: 55px !important;\n}\n.-sf-ml-5xl {\n margin-left: 60px !important;\n}\n.-sf-ml-6xl {\n margin-left: 80px !important;\n}\n.-sf-ml-7xl {\n margin-left: 100px !important;\n}\n.-sf-ml-8xl {\n margin-left: 120px !important;\n}\n.-sf-mr-zero {\n margin-right: 0 !important;\n}\n.-sf-mr-4xs {\n margin-right: 5px !important;\n}\n.-sf-mr-3xs {\n margin-right: 10px !important;\n}\n.-sf-mr-2xs {\n margin-right: 15px !important;\n}\n.-sf-mr-xs {\n margin-right: 20px !important;\n}\n.-sf-mr-s {\n margin-right: 25px !important;\n}\n.-sf-mr-m {\n margin-right: 30px !important;\n}\n.-sf-mr-l {\n margin-right: 35px !important;\n}\n.-sf-mr-xl {\n margin-right: 40px !important;\n}\n.-sf-mr-2xl {\n margin-right: 45px !important;\n}\n.-sf-mr-3xl {\n margin-right: 50px !important;\n}\n.-sf-mr-4xl {\n margin-right: 55px !important;\n}\n.-sf-mr-5xl {\n margin-right: 60px !important;\n}\n.-sf-mr-6xl {\n margin-right: 80px !important;\n}\n.-sf-mr-7xl {\n margin-right: 100px !important;\n}\n.-sf-mr-8xl {\n margin-right: 120px !important;\n}\n.-sf-m-zero {\n margin: 0 !important;\n}\n.-sf-m-4xs {\n margin: 5px !important;\n}\n.-sf-m-3xs {\n margin: 10px !important;\n}\n.-sf-m-2xs {\n margin: 15px !important;\n}\n.-sf-m-xs {\n margin: 20px !important;\n}\n.-sf-m-s {\n margin: 25px !important;\n}\n.-sf-m-m {\n margin: 30px !important;\n}\n.-sf-m-l {\n margin: 35px !important;\n}\n.-sf-m-xl {\n margin: 40px !important;\n}\n.-sf-m-2xl {\n margin: 45px !important;\n}\n.-sf-m-3xl {\n margin: 50px !important;\n}\n.-sf-m-4xl {\n margin: 55px !important;\n}\n.-sf-m-5xl {\n margin: 60px !important;\n}\n.-sf-m-6xl {\n margin: 80px !important;\n}\n.-sf-m-7xl {\n margin: 100px !important;\n}\n.-sf-m-8xl {\n margin: 120px !important;\n}\n.-sf-mt-8xs {\n margin-top: 1px !important;\n}\n.-sf-mt-7xs {\n margin-top: 2px !important;\n}\n.-sf-mt-6xs {\n margin-top: 3px !important;\n}\n.-sf-mt-5xs {\n margin-top: 4px !important;\n}\n.-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n.-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n.-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n.-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n.-sf-ml-8xs {\n margin-left: 1px !important;\n}\n.-sf-ml-7xs {\n margin-left: 2px !important;\n}\n.-sf-ml-6xs {\n margin-left: 3px !important;\n}\n.-sf-ml-5xs {\n margin-left: 4px !important;\n}\n.-sf-mr-8xs {\n margin-right: 1px !important;\n}\n.-sf-mr-7xs {\n margin-right: 2px !important;\n}\n.-sf-mr-6xs {\n margin-right: 3px !important;\n}\n.-sf-mr-5xs {\n margin-right: 4px !important;\n}\n.-sf-mt--4xs {\n margin-top: -5px !important;\n}\n.-sf-mt--3xs {\n margin-top: -10px !important;\n}\n.-sf-mt--2xs {\n margin-top: -15px !important;\n}\n.-sf-mt--xs {\n margin-top: -20px !important;\n}\n.-sf-mt--s {\n margin-top: -25px !important;\n}\n.-sf-mt--m {\n margin-top: -30px !important;\n}\n.-sf-mt--l {\n margin-top: -35px !important;\n}\n.-sf-mt--xl {\n margin-top: -40px !important;\n}\n.-sf-mt--2xl {\n margin-top: -45px !important;\n}\n.-sf-mt--3xl {\n margin-top: -50px !important;\n}\n.-sf-mt--4xl {\n margin-top: -55px !important;\n}\n.-sf-mt--5xl {\n margin-top: -60px !important;\n}\n.-sf-mt--6xl {\n margin-top: -80px !important;\n}\n.-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n.-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n.-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n.-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n.-sf-mb--s {\n margin-bottom: -25px !important;\n}\n.-sf-mb--m {\n margin-bottom: -30px !important;\n}\n.-sf-mb--l {\n margin-bottom: -35px !important;\n}\n.-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n.-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n.-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n.-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n.-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n.-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n.-sf-ml--4xs {\n margin-left: -5px !important;\n}\n.-sf-ml--3xs {\n margin-left: -10px !important;\n}\n.-sf-ml--2xs {\n margin-left: -15px !important;\n}\n.-sf-ml--xs {\n margin-left: -20px !important;\n}\n.-sf-ml--s {\n margin-left: -25px !important;\n}\n.-sf-ml--m {\n margin-left: -30px !important;\n}\n.-sf-ml--l {\n margin-left: -35px !important;\n}\n.-sf-ml--xl {\n margin-left: -40px !important;\n}\n.-sf-ml--2xl {\n margin-left: -45px !important;\n}\n.-sf-ml--3xl {\n margin-left: -50px !important;\n}\n.-sf-ml--4xl {\n margin-left: -55px !important;\n}\n.-sf-ml--5xl {\n margin-left: -60px !important;\n}\n.-sf-ml--6xl {\n margin-left: -80px !important;\n}\n.-sf-mr--4xs {\n margin-right: -5px !important;\n}\n.-sf-mr--3xs {\n margin-right: -10px !important;\n}\n.-sf-mr--2xs {\n margin-right: -15px !important;\n}\n.-sf-mr--xs {\n margin-right: -20px !important;\n}\n.-sf-mr--s {\n margin-right: -25px !important;\n}\n.-sf-mr--m {\n margin-right: -30px !important;\n}\n.-sf-mr--l {\n margin-right: -35px !important;\n}\n.-sf-mr--xl {\n margin-right: -40px !important;\n}\n.-sf-mr--2xl {\n margin-right: -45px !important;\n}\n.-sf-mr--3xl {\n margin-right: -50px !important;\n}\n.-sf-mr--4xl {\n margin-right: -55px !important;\n}\n.-sf-mr--5xl {\n margin-right: -60px !important;\n}\n.-sf-mr--6xl {\n margin-right: -80px !important;\n}\n.-sf-pt-zero {\n padding-top: 0 !important;\n}\n.-sf-pt-4xs {\n padding-top: 5px !important;\n}\n.-sf-pt-3xs {\n padding-top: 10px !important;\n}\n.-sf-pt-2xs {\n padding-top: 15px !important;\n}\n.-sf-pt-xs {\n padding-top: 20px !important;\n}\n.-sf-pt-s {\n padding-top: 25px !important;\n}\n.-sf-pt-m {\n padding-top: 30px !important;\n}\n.-sf-pt-l {\n padding-top: 35px !important;\n}\n.-sf-pt-xl {\n padding-top: 40px !important;\n}\n.-sf-pt-2xl {\n padding-top: 45px !important;\n}\n.-sf-pt-3xl {\n padding-top: 50px !important;\n}\n.-sf-pt-4xl {\n padding-top: 55px !important;\n}\n.-sf-pt-5xl {\n padding-top: 60px !important;\n}\n.-sf-pt-6xl {\n padding-top: 80px !important;\n}\n.-sf-pt-7xl {\n padding-top: 100px !important;\n}\n.-sf-pt-8xl {\n padding-top: 120px !important;\n}\n.-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n.-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n.-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n.-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n.-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n.-sf-pb-s {\n padding-bottom: 25px !important;\n}\n.-sf-pb-m {\n padding-bottom: 30px !important;\n}\n.-sf-pb-l {\n padding-bottom: 35px !important;\n}\n.-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n.-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n.-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n.-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n.-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n.-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n.-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n.-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n.-sf-pl-zero {\n padding-left: 0 !important;\n}\n.-sf-pl-4xs {\n padding-left: 5px !important;\n}\n.-sf-pl-3xs {\n padding-left: 10px !important;\n}\n.-sf-pl-2xs {\n padding-left: 15px !important;\n}\n.-sf-pl-xs {\n padding-left: 20px !important;\n}\n.-sf-pl-s {\n padding-left: 25px !important;\n}\n.-sf-pl-m {\n padding-left: 30px !important;\n}\n.-sf-pl-l {\n padding-left: 35px !important;\n}\n.-sf-pl-xl {\n padding-left: 40px !important;\n}\n.-sf-pl-2xl {\n padding-left: 45px !important;\n}\n.-sf-pl-3xl {\n padding-left: 50px !important;\n}\n.-sf-pl-4xl {\n padding-left: 55px !important;\n}\n.-sf-pl-5xl {\n padding-left: 60px !important;\n}\n.-sf-pl-6xl {\n padding-left: 80px !important;\n}\n.-sf-pl-7xl {\n padding-left: 100px !important;\n}\n.-sf-pl-8xl {\n padding-left: 120px !important;\n}\n.-sf-pr-zero {\n padding-right: 0 !important;\n}\n.-sf-pr-4xs {\n padding-right: 5px !important;\n}\n.-sf-pr-3xs {\n padding-right: 10px !important;\n}\n.-sf-pr-2xs {\n padding-right: 15px !important;\n}\n.-sf-pr-xs {\n padding-right: 20px !important;\n}\n.-sf-pr-s {\n padding-right: 25px !important;\n}\n.-sf-pr-m {\n padding-right: 30px !important;\n}\n.-sf-pr-l {\n padding-right: 35px !important;\n}\n.-sf-pr-xl {\n padding-right: 40px !important;\n}\n.-sf-pr-2xl {\n padding-right: 45px !important;\n}\n.-sf-pr-3xl {\n padding-right: 50px !important;\n}\n.-sf-pr-4xl {\n padding-right: 55px !important;\n}\n.-sf-pr-5xl {\n padding-right: 60px !important;\n}\n.-sf-pr-6xl {\n padding-right: 80px !important;\n}\n.-sf-pr-7xl {\n padding-right: 100px !important;\n}\n.-sf-pr-8xl {\n padding-right: 120px !important;\n}\n.-sf-p-zero {\n padding: 0 !important;\n}\n.-sf-p-4xs {\n padding: 5px !important;\n}\n.-sf-p-3xs {\n padding: 10px !important;\n}\n.-sf-p-2xs {\n padding: 15px !important;\n}\n.-sf-p-xs {\n padding: 20px !important;\n}\n.-sf-p-s {\n padding: 25px !important;\n}\n.-sf-p-m {\n padding: 30px !important;\n}\n.-sf-p-l {\n padding: 35px !important;\n}\n.-sf-p-xl {\n padding: 40px !important;\n}\n.-sf-p-2xl {\n padding: 45px !important;\n}\n.-sf-p-3xl {\n padding: 50px !important;\n}\n.-sf-p-4xl {\n padding: 55px !important;\n}\n.-sf-p-5xl {\n padding: 60px !important;\n}\n.-sf-p-6xl {\n padding: 80px !important;\n}\n.-sf-p-7xl {\n padding: 100px !important;\n}\n.-sf-p-8xl {\n padding: 120px !important;\n}\n.-sf-pt-8xs {\n padding-top: 1px !important;\n}\n.-sf-pt-7xs {\n padding-top: 2px !important;\n}\n.-sf-pt-6xs {\n padding-top: 3px !important;\n}\n.-sf-pt-5xs {\n padding-top: 4px !important;\n}\n.-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n.-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n.-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n.-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n.-sf-pl-8xs {\n padding-left: 1px !important;\n}\n.-sf-pl-7xs {\n padding-left: 2px !important;\n}\n.-sf-pl-6xs {\n padding-left: 3px !important;\n}\n.-sf-pl-5xs {\n padding-left: 4px !important;\n}\n.-sf-pr-8xs {\n padding-right: 1px !important;\n}\n.-sf-pr-7xs {\n padding-right: 2px !important;\n}\n.-sf-pr-6xs {\n padding-right: 3px !important;\n}\n.-sf-pr-5xs {\n padding-right: 4px !important;\n}\n.-sf-ml-auto {\n margin-left: auto !important;\n}\n.-sf-mr-auto {\n margin-right: auto !important;\n}\n.-sf-ml-50 {\n margin-left: 50% !important;\n}\n.-sf-mr-50 {\n margin-right: 50% !important;\n}\n/*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n/*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n/*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n/*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n/*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n/*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n/*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n/*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n/*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n/*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\nStyleguide: Spacing.margin-classes\n*/\n/*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n/*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n/*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n/*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n/* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n*/\n/* hides input type="number" spinbox */\ninput[type=number] {\n -moz-appearance: textfield;\n}\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.sf-zone-toolset {\n display: inline-block;\n padding: 20px;\n border-radius: 3px;\n background-color: #333;\n min-width: 280px;\n font-size: var(--font-size-base);\n}\n.sf-zone-toolset__label {\n display: block;\n margin-bottom: 5px;\n text-transform: uppercase;\n color: #fff;\n font-size: 10px;\n}\n:host {\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.sf-splitter {\n background: #333;\n margin-bottom: 20px;\n min-width: 240px;\n font-weight: 700;\n}\n.sf-splitter__pane {\n padding-top: 30px;\n text-align: center;\n color: #fff;\n}\n.k-widget.k-splitter {\n background-color: #fff;\n height: 30px;\n border: 0;\n}\n.k-widget .k-splitbar {\n position: relative;\n background-color: #333;\n color: #333;\n width: 0;\n}\n.k-widget .k-splitbar:after {\n position: absolute;\n font: normal normal normal 14px/1 FontAwesome;\n content: "";\n font-size: 19px;\n}\n.k-widget .k-splitbar .k-resize-handle {\n width: 4px;\n height: 100%;\n}\n.k-widget .k-splitbar .k-hidden {\n display: none;\n}\n.sf-fa-chevron-right,\n.sf-fa-chevron-left {\n font: normal normal normal 14px/1 FontAwesome;\n}\n.sf-fa-chevron-left:before {\n content: "";\n}\n.sf-fa-chevron-right:before {\n content: "";\n}'],encapsulation:3}),ZoneSplitterComponent}()},,,function(e,t,n){"use strict";n.r(t),n.d(t,"NumberComponent",(function(){return f}));var o=n(259),i=n(336),r=n(246),a=n(352),s=n(342),A=n(257),l=n(229),c=n(354),d=n(324),p=["inputField"],f=function(e){function NumberComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.langAttribute=A.LOCALE,t}return Object(o.__extends)(NumberComponent,e),Object.defineProperty(NumberComponent.prototype,"numberSettings",{get:function(){return this.settings},enumerable:!1,configurable:!0}),NumberComponent.prototype.onBlur=function(){this.commitValue(),e.prototype.onBlur.call(this)},NumberComponent.prototype.commitValue=function(){var e,t=((e={})[s.VALIDATOR_MESSAGES.INVALID_NUMBER]=!0,e);this.inputField.inputElement.nativeElement.validity.badInput?this.emitStatus({type:a.StatusType.Error,data:t}):(this.getValue()===r.stringConstants.EMPTY_STRING&&this.writeValue(null),null!==this.getValue()&&this.writeValue(Number(this.getValue())),this.status$.getValue().type===a.StatusType.Error&&this.emitStatus({type:a.StatusType.ErrorCleared,data:t}),this.emitStatus({type:a.StatusType.Done}))},NumberComponent.ɵfac=function NumberComponent_Factory(e){return u(e||NumberComponent)},NumberComponent.ɵcmp=l["ɵɵdefineComponent"]({type:NumberComponent,selectors:[["sf-number"]],viewQuery:function NumberComponent_Query(e,t){if(1&e&&l["ɵɵviewQuery"](p,3),2&e){var n;l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.inputField=n.first)}},hostVars:1,hostBindings:function NumberComponent_HostBindings(e,t){2&e&&l["ɵɵhostProperty"]("lang",t.langAttribute)},features:[l["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(NumberComponent)]),l["ɵɵInheritDefinitionFeature"]],decls:2,vars:9,consts:[["ngDefaultControl","",3,"name","look","ngModel","unit","type","rows","recommendedCharacters","showCharCounter","unitLook","ngModelChange","onFocus","onBlur"],["inputField",""]],template:function NumberComponent_Template(e,t){1&e&&(l["ɵɵelementStart"](0,"sf-input",0,1),l["ɵɵlistener"]("ngModelChange",(function NumberComponent_Template_sf_input_ngModelChange_0_listener(e){return t.value=e}))("onFocus",(function NumberComponent_Template_sf_input_onFocus_0_listener(){return t.onFocus()}))("onBlur",(function NumberComponent_Template_sf_input_onBlur_0_listener(){return t.onBlur()})),l["ɵɵelementEnd"]()),2&e&&l["ɵɵproperty"]("name",t.numberSettings.key)("look",t.numberSettings.look)("ngModel",t.value)("unit",t.numberSettings.unit)("type",t.numberSettings.type)("rows",t.numberSettings.rows)("recommendedCharacters",t.numberSettings.recommendedCharacters)("showCharCounter",t.numberSettings.showCharCounter)("unitLook",t.numberSettings.unitLook)},directives:[c.SfInputComponent,d.DefaultValueAccessor,d.NgControlStatus,d.NgModel],encapsulation:2}),NumberComponent}(i.FieldBase),u=l["ɵɵgetInheritedFactory"](f)},function(e,t,n){"use strict";n.r(t),n.d(t,"NumberReadOnlyComponent",(function(){return s}));var o=n(259),i=n(336),r=n(257),a=n(229);function NumberReadOnlyComponent_ng_container_0_span_3_Template(e,t){if(1&e&&a["ɵɵelement"](0,"span",4),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵproperty"]("sfUnit",n.settings.unit)}}function NumberReadOnlyComponent_ng_container_0_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelement"](1,"span",1,2),a["ɵɵtemplate"](3,NumberReadOnlyComponent_ng_container_0_span_3_Template,1,1,"span",3),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵreference"](2),o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("unit",o.settings.unit)("locale",o.locale)("value",o.value),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",!n.isCurrency&&o.settings.unit)}}var s=function(e){function NumberReadOnlyComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.langAttribute=r.LOCALE,t}return Object(o.__extends)(NumberReadOnlyComponent,e),NumberReadOnlyComponent.ɵfac=function NumberReadOnlyComponent_Factory(e){return A(e||NumberReadOnlyComponent)},NumberReadOnlyComponent.ɵcmp=a["ɵɵdefineComponent"]({type:NumberReadOnlyComponent,selectors:[["sf-number"]],hostVars:1,hostBindings:function NumberReadOnlyComponent_HostBindings(e,t){2&e&&a["ɵɵhostProperty"]("lang",t.langAttribute)},features:[a["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(NumberReadOnlyComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[[4,"ngIf"],["sfNumberOverflow","","sfLocalizedNum","",3,"unit","locale","value"],["readOnlyNumber","sfLocalizedNum"],[3,"sfUnit",4,"ngIf"],[3,"sfUnit"]],template:function NumberReadOnlyComponent_Template(e,t){1&e&&a["ɵɵtemplate"](0,NumberReadOnlyComponent_ng_container_0_Template,4,4,"ng-container",0),2&e&&a["ɵɵproperty"]("ngIf",null!==t.value&&void 0!==t.value)},encapsulation:2}),NumberReadOnlyComponent}(i.FieldBase),A=a["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceReadOnlyComponent",(function(){return A}));var o=n(259),i=n(336),r=n(1144),a=n(229),s=n(261);function ChoiceReadOnlyComponent_ng_container_2_div_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",3),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",n.Name," ")}}function ChoiceReadOnlyComponent_ng_container_2_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,ChoiceReadOnlyComponent_ng_container_2_div_1_Template,2,1,"div",2),a["ɵɵelementContainerEnd"]()),2&e){var n=t.index,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.onChecked(n))}}var A=function(e){function ChoiceReadOnlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ChoiceReadOnlyComponent,e),ChoiceReadOnlyComponent.ɵfac=function ChoiceReadOnlyComponent_Factory(e){return l(e||ChoiceReadOnlyComponent)},ChoiceReadOnlyComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ChoiceReadOnlyComponent,selectors:[["sf-choice-readOnly"]],features:[a["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(ChoiceReadOnlyComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:3,vars:1,consts:[["choiceWrapper",""],[4,"ngFor","ngForOf"],["class","sf-field__value",4,"ngIf"],[1,"sf-field__value"]],template:function ChoiceReadOnlyComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",null,0),a["ɵɵtemplate"](2,ChoiceReadOnlyComponent_ng_container_2_Template,2,1,"ng-container",1),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵadvance"](2),a["ɵɵproperty"]("ngForOf",t.settings.choices))},directives:[s.NgForOf,s.NgIf],encapsulation:2}),ChoiceReadOnlyComponent}(r.ChoiceComponent),l=a["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceMultipleComponent",(function(){return l}));var o=n(259),i=n(1144),r=n(336),a=n(1145),s=n(229),A=n(261);function ChoiceMultipleComponent_li_2_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"li",3),s["ɵɵelementStart"](1,"input",4),s["ɵɵlistener"]("change",(function ChoiceMultipleComponent_li_2_Template_input_change_1_listener(){s["ɵɵrestoreView"](n);var e=t.index;return s["ɵɵnextContext"]().onSelectionChange(e)})),s["ɵɵelementEnd"](),s["ɵɵelementStart"](2,"label",5),s["ɵɵelement"](3,"span",6),s["ɵɵelementStart"](4,"span",7),s["ɵɵtext"](5),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,i=t.index,r=s["ɵɵnextContext"]();s["ɵɵproperty"]("ngClass",r.cssClassList)("title",o.Name),s["ɵɵadvance"](1),s["ɵɵpropertyInterpolate"]("id",r.settings.key+"_"+i),s["ɵɵproperty"]("name",r.settings.key)("value",o.Value)("checked",r.onChecked(i)),s["ɵɵadvance"](1),s["ɵɵpropertyInterpolate"]("for",r.settings.key+"_"+i),s["ɵɵadvance"](3),s["ɵɵtextInterpolate"](o.Name)}}var l=function(e){function ChoiceMultipleComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ChoiceMultipleComponent,e),ChoiceMultipleComponent.prototype.updateChoicesData=function(e){this.choicesData[e]===a.CheckBoxStates.Unchecked?this.choicesData[e]=a.CheckBoxStates.Checked:this.choicesData[e]=a.CheckBoxStates.Unchecked},ChoiceMultipleComponent.ɵfac=function ChoiceMultipleComponent_Factory(e){return c(e||ChoiceMultipleComponent)},ChoiceMultipleComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ChoiceMultipleComponent,selectors:[["sf-multiple-choice"]],features:[s["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ChoiceMultipleComponent)]),s["ɵɵInheritDefinitionFeature"]],decls:3,vars:2,consts:[[3,"ngClass"],["choiceWrapper",""],["class","sf-checkbox",3,"ngClass","title",4,"ngFor","ngForOf"],[1,"sf-checkbox",3,"ngClass","title"],["type","checkbox",1,"sf-checkbox__input",3,"name","id","value","checked","change"],[1,"sf-checkbox__label",3,"for"],[1,"sf-checkbox__icon"],[1,"sf-checkbox__text"]],template:function ChoiceMultipleComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"ul",0,1),s["ɵɵtemplate"](2,ChoiceMultipleComponent_li_2_Template,6,8,"li",2),s["ɵɵelementEnd"]()),2&e&&(s["ɵɵproperty"]("ngClass",t.wrapperCssClassList),s["ɵɵadvance"](2),s["ɵɵproperty"]("ngForOf",t.settings.choices))},directives:[A.NgClass,A.NgForOf],encapsulation:2}),ChoiceMultipleComponent}(i.ChoiceComponent),c=s["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceMultipleReadOnlyComponent",(function(){return A}));var o=n(259),i=n(336),r=n(1421),a=n(229),s=n(261);function ChoiceMultipleReadOnlyComponent_ng_container_2_div_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",3),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.Name)}}function ChoiceMultipleReadOnlyComponent_ng_container_2_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,ChoiceMultipleReadOnlyComponent_ng_container_2_div_1_Template,2,1,"div",2),a["ɵɵelementContainerEnd"]()),2&e){var n=t.index,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.onChecked(n))}}var A=function(e){function ChoiceMultipleReadOnlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ChoiceMultipleReadOnlyComponent,e),ChoiceMultipleReadOnlyComponent.prototype.hasEmptyValue=function(){return"0"===this.value},ChoiceMultipleReadOnlyComponent.ɵfac=function ChoiceMultipleReadOnlyComponent_Factory(e){return l(e||ChoiceMultipleReadOnlyComponent)},ChoiceMultipleReadOnlyComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ChoiceMultipleReadOnlyComponent,selectors:[["sf-multiple-choice-readonly"]],features:[a["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(ChoiceMultipleReadOnlyComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:3,vars:1,consts:[["choiceWrapper",""],[4,"ngFor","ngForOf"],["class","sf-field__value",4,"ngIf"],[1,"sf-field__value"]],template:function ChoiceMultipleReadOnlyComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",null,0),a["ɵɵtemplate"](2,ChoiceMultipleReadOnlyComponent_ng_container_2_Template,2,1,"ng-container",1),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵadvance"](2),a["ɵɵproperty"]("ngForOf",t.settings.choices))},directives:[s.NgForOf,s.NgIf],encapsulation:2}),ChoiceMultipleReadOnlyComponent}(r.ChoiceMultipleComponent),l=a["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceYesNoComponent",(function(){return A}));var o=n(259),i=n(1144),r=n(336),a=n(229),s=n(261),A=function(e){function ChoiceYesNoComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ChoiceYesNoComponent,e),ChoiceYesNoComponent.prototype.onChecked=function(){return null===this.value||void 0===this.value?this.settings.defaultValue:this.value},ChoiceYesNoComponent.prototype.onSelectionChange=function(e){this.value=!this.value,this.selectionChange.emit(this.value)},ChoiceYesNoComponent.ɵfac=function ChoiceYesNoComponent_Factory(e){return l(e||ChoiceYesNoComponent)},ChoiceYesNoComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ChoiceYesNoComponent,selectors:[["sf-yes-no-choice"]],features:[a["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ChoiceYesNoComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:7,vars:7,consts:[[1,"sf-checkbox",3,"ngClass","title"],["choiceWrapper",""],["type","checkbox",1,"sf-checkbox__input",3,"name","id","checked","change"],[1,"sf-checkbox__label",3,"for"],[1,"sf-checkbox__icon"],[1,"sf-checkbox__text"]],template:function ChoiceYesNoComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",0,1),a["ɵɵelementStart"](2,"input",2),a["ɵɵlistener"]("change",(function ChoiceYesNoComponent_Template_input_change_2_listener(e){return t.onSelectionChange(e)})),a["ɵɵelementEnd"](),a["ɵɵelementStart"](3,"label",3),a["ɵɵelement"](4,"span",4),a["ɵɵelementStart"](5,"span",5),a["ɵɵtext"](6),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵproperty"]("ngClass",t.generateCssClassList())("title",t.settings.optionName||t.settings.title),a["ɵɵadvance"](2),a["ɵɵpropertyInterpolate"]("id",t.settings.key),a["ɵɵproperty"]("name",t.settings.key)("checked",t.onChecked()),a["ɵɵadvance"](1),a["ɵɵpropertyInterpolate"]("for",t.settings.key),a["ɵɵadvance"](3),a["ɵɵtextInterpolate"](t.settings.optionName||t.settings.title))},directives:[s.NgClass],encapsulation:2}),ChoiceYesNoComponent}(i.ChoiceComponent),l=a["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceYesNoReadOnlyComponent",(function(){return c}));var o=n(259),i=n(1423),r=n(336),a=n(1143),s=n(229),A=n(261),l=n(354);function ChoiceYesNoReadOnlyComponent_sf_icon_2_Template(e,t){if(1&e&&s["ɵɵelement"](0,"sf-icon",3),2&e){var n=s["ɵɵnextContext"]();s["ɵɵproperty"]("name",n.iconName)}}var c=function(e){function ChoiceYesNoReadOnlyComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.iconName="ban",t.isIconVisible=!0,t}return Object(o.__extends)(ChoiceYesNoReadOnlyComponent,e),ChoiceYesNoReadOnlyComponent.prototype.ngOnInit=function(){if(e.prototype.ngOnInit.call(this),null!=this.context){var t=this.value?"Yes":"No";this.settings=new a.ChoiceSettings(t,!0),this.isIconVisible=!1}else this.value&&(this.iconName="check")},ChoiceYesNoReadOnlyComponent.prototype.hasEmptyValue=function(){return!1},ChoiceYesNoReadOnlyComponent.ɵfac=function ChoiceYesNoReadOnlyComponent_Factory(e){return d(e||ChoiceYesNoReadOnlyComponent)},ChoiceYesNoReadOnlyComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ChoiceYesNoReadOnlyComponent,selectors:[["sf-yes-no-choice-readOnly"]],features:[s["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ChoiceYesNoReadOnlyComponent)]),s["ɵɵInheritDefinitionFeature"]],decls:4,vars:2,consts:[[1,"sf-field__value"],["choiceWrapper",""],["look","darkest sf-mr-4xs",3,"name",4,"ngIf"],["look","darkest sf-mr-4xs",3,"name"]],template:function ChoiceYesNoReadOnlyComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"div",0,1),s["ɵɵtemplate"](2,ChoiceYesNoReadOnlyComponent_sf_icon_2_Template,1,1,"sf-icon",2),s["ɵɵtext"](3),s["ɵɵelementEnd"]()),2&e&&(s["ɵɵadvance"](2),s["ɵɵproperty"]("ngIf",t.isIconVisible),s["ɵɵadvance"](1),s["ɵɵtextInterpolate1"]("",t.settings.title,"\n"))},directives:[A.NgIf,l.SfIconComponent],encapsulation:2}),ChoiceYesNoReadOnlyComponent}(i.ChoiceYesNoComponent),d=s["ɵɵgetInheritedFactory"](c)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceListMultipleComponent",(function(){return s}));var o=n(259),i=n(1426),r=n(336),a=n(229);function ChoiceListMultipleComponent_sf_multiple_choice_0_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-multiple-choice",1),a["ɵɵlistener"]("selectionChange",(function ChoiceListMultipleComponent_sf_multiple_choice_0_Template_sf_multiple_choice_selectionChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onSelectionChange(e)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵproperty"]("settings",o.choiceSettings)}}var s=function(e){function ChoiceListMultipleComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.selectedChoices=[],t}return Object(o.__extends)(ChoiceListMultipleComponent,e),ChoiceListMultipleComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.choiceSettings.hasFieldset=!0},ChoiceListMultipleComponent.prototype.onSelectionChange=function(e){var t=this.selectedChoices.indexOf(e);-1!==t?this.selectedChoices.splice(t,1):this.selectedChoices.push(e),this.writeValue(this.selectedChoices.join())},ChoiceListMultipleComponent.ɵfac=function ChoiceListMultipleComponent_Factory(e){return A(e||ChoiceListMultipleComponent)},ChoiceListMultipleComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ChoiceListMultipleComponent,selectors:[["sf-choice-list-multiple"]],features:[a["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ChoiceListMultipleComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[["wrapperCssClass","sf-choice-group -list -sf-mt-s","look","in-group",3,"settings","selectionChange",4,"ngIf"],["wrapperCssClass","sf-choice-group -list -sf-mt-s","look","in-group",3,"settings","selectionChange"]],template:function ChoiceListMultipleComponent_Template(e,t){1&e&&a["ɵɵtemplate"](0,ChoiceListMultipleComponent_sf_multiple_choice_0_Template,1,1,"sf-multiple-choice",0),2&e&&a["ɵɵproperty"]("ngIf",t.choiceSettings)},encapsulation:2}),ChoiceListMultipleComponent}(i.ChoiceListComponent),A=a["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceListComponent",(function(){return s}));var o=n(259),i=n(1143),r=n(336),a=n(229);function ChoiceListComponent_sf_choice_5_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-choice",6),a["ɵɵlistener"]("selectionChange",(function ChoiceListComponent_sf_choice_5_Template_sf_choice_selectionChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onSelectionChange(e)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵproperty"]("settings",o.choiceSettings)}}function ChoiceListComponent_sf_yes_no_choice_6_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-yes-no-choice",7),a["ɵɵlistener"]("ngModelChange",(function ChoiceListComponent_sf_yes_no_choice_6_Template_sf_yes_no_choice_ngModelChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().additionalValueChecked=e}))("selectionChange",(function ChoiceListComponent_sf_yes_no_choice_6_Template_sf_yes_no_choice_selectionChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().updateValue(e)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngModel",o.additionalValueChecked)("settings",o.additionalValueCheckedSettings)}}var _c0=function(e){return[e]};function ChoiceListComponent_div_7_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",8),a["ɵɵelement"](1,"sf-warning",9),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("messages",a["ɵɵpureFunction1"](1,_c0,n.currentChoice.Warning))}}var s=function(e){function ChoiceListComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ChoiceListComponent,e),ChoiceListComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.dataItem=this.settings.dataItem,this.choiceSettings=new i.ChoiceSettings("choices",!1),this.choiceSettings.defaultValue=this.value,this.choiceSettings.choices=this.getChoices(),this.currentChoice=this.settings.arguments.filter((function(e){return e.Value===t.value}))[0]},ChoiceListComponent.prototype.onSelectionChange=function(e){this.currentChoice=this.settings.arguments.filter((function(t){return t.Value===e}))[0],this.additionalValueCheckedSettings={title:this.currentChoice.AdditionalValueLabel,key:this.settings.key},this.updateValue()},ChoiceListComponent.prototype.updateValue=function(){this.additionalValueChecked?this.writeValue(this.currentChoice.Value+","+this.currentChoice.AdditionalValue):this.writeValue(this.currentChoice.Value)},ChoiceListComponent.prototype.getChoices=function(){for(var e=[],t=0,n=this.settings.arguments;t4&&!this.settings.choiceNotResponsive&&(this.hasMoreOptions=!0),this.chipLook=this.getChipWidthLook()},ChoiceChipComponent.prototype.getChipWidthLook=function(){var e=0,t=null;return this.settings.choices.forEach((function(t){!t.Icon&&t.Name&&t.Name.length>e&&(e=t.Name.length)})),e>3&&(t="size-m"),e>6&&(t="size-l"),this.settings.choiceNotResponsive&&(t=t?t+" wide":"wide"),t},ChoiceChipComponent.prototype.onSelectionChange=function(t){var n=this.settings.choices.findIndex((function(e){return e.Value===t}));e.prototype.onSelectionChange.call(this,n)},ChoiceChipComponent.prototype.writeValue=function(t){this.innerChoiceComponent&&this.innerChoiceComponent.writeValue(t),e.prototype.writeValue.call(this,t)},ChoiceChipComponent.ɵfac=function ChoiceChipComponent_Factory(e){return l(e||ChoiceChipComponent)},ChoiceChipComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ChoiceChipComponent,selectors:[["sf-chip-choice"]],viewQuery:function ChoiceChipComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](s,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.innerChoiceComponent=n.first)}},outputs:{selectionChange:"selectionChange"},features:[i["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(ChoiceChipComponent)]),i["ɵɵInheritDefinitionFeature"]],decls:2,vars:2,consts:[["wrapperCssClass","sf-choice-group -chip",3,"look","settings","selectionChange",4,"ngIf"],[3,"settings","selectionChange",4,"ngIf"],["wrapperCssClass","sf-choice-group -chip",3,"look","settings","selectionChange"],["innerChoiceComponent",""],[3,"settings","selectionChange"]],template:function ChoiceChipComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,ChoiceChipComponent_sf_choice_0_Template,2,2,"sf-choice",0),i["ɵɵtemplate"](1,ChoiceChipComponent_sf_dropdown_choice_1_Template,2,1,"sf-dropdown-choice",1)),2&e&&(i["ɵɵproperty"]("ngIf",!t.hasMoreOptions),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.hasMoreOptions))},encapsulation:2}),ChoiceChipComponent}(a.ChoiceComponent),l=i["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"LockedItemStatusResolver",(function(){return s}));var o=n(259),i=n(1195),r=n(1409),a=n(229),s=function(e){function LockedItemStatusResolver(t){var n=e.call(this)||this;return n.userDataStore=t,n}return Object(o.__extends)(LockedItemStatusResolver,e),LockedItemStatusResolver.prototype.getDetailedLabel=function(t){var n=e.prototype.getDetailedLabel.call(this,t);return t.LockedStatus&&t.LockedStatus.Id!==this.userDataStore.getValue().Id&&(n.LockedText=this.getDetailedStatus("Locked by "+t.LockedStatus.User,t.LockedStatus.Date)),n},LockedItemStatusResolver.ɵfac=function LockedItemStatusResolver_Factory(e){return new(e||LockedItemStatusResolver)(a["ɵɵinject"](i.UserDataStore))},LockedItemStatusResolver.ɵprov=a["ɵɵdefineInjectable"]({token:LockedItemStatusResolver,factory:LockedItemStatusResolver.ɵfac}),LockedItemStatusResolver}(r.StatusResolver)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentItemStatusResolver",(function(){return c}));var o=n(259),i=n(256),r=n(1409),a=n(246),s=n(266),A=n(229),l="Saved",c=function(e){function ContentItemStatusResolver(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ContentItemStatusResolver,e),ContentItemStatusResolver.prototype.getLabel=function(e){return{StatusName:a.stringConstants.EMPTY_STRING,Label:this.getStatusLabelInternal(e),HideIcon:!0}},ContentItemStatusResolver.prototype.canProcess=function(e){return e===i.ENTITY_SET.CONTENT_ITEMS},ContentItemStatusResolver.prototype.getStatusLabelInternal=function(e){if(e.LockedStatus)return"Locked by "+e.LockedStatus.User;var t=e[s.Properties.DISPLAY_STATUS];return(null==t?void 0:t.length)?1===t.length&&t[0].Name===l?a.stringConstants.EMPTY_STRING:t[t.length-1].Label:a.stringConstants.EMPTY_STRING},ContentItemStatusResolver.ɵfac=function ContentItemStatusResolver_Factory(e){return d(e||ContentItemStatusResolver)},ContentItemStatusResolver.ɵprov=A["ɵɵdefineInjectable"]({token:ContentItemStatusResolver,factory:ContentItemStatusResolver.ɵfac}),ContentItemStatusResolver}(r.StatusResolver),d=A["ɵɵgetInheritedFactory"](c)},function(e,t,n){"use strict";n.r(t),n.d(t,"SimpleChipComponent",(function(){return a}));var o=n(229),i=n(261),r=n(354);function SimpleChipComponent_span_1_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span"),o["ɵɵelement"](1,"img",2),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵclassMapInterpolate1"]("sf-chip__avatar ",n.avatarClassList,""),o["ɵɵadvance"](1),o["ɵɵpropertyInterpolate1"]("alt","",n.avatarConfig.alt," avatar"),o["ɵɵproperty"]("src",n.avatarConfig.src,o["ɵɵsanitizeUrl"])}}function SimpleChipComponent_span_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span"),o["ɵɵelement"](1,"sf-icon",3),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵclassMapInterpolate1"]("sf-chip__icon ",n.iconWrapperClassList,""),o["ɵɵadvance"](1),o["ɵɵproperty"]("name",n.iconConfig.name)}}var a=function(){function SimpleChipComponent(){this.chipContentClassList="",this.chipWrapperClassList="",this.iconWrapperClassList="",this.avatarClassList=""}return SimpleChipComponent.prototype.ngOnInit=function(){this.chipContentClassList=this.generateClassList(this.contentLook),this.chipWrapperClassList=this.generateClassList(this.wrapperLook),this.iconConfig&&(this.iconWrapperClassList=this.generateClassList(this.iconConfig.wrapperLook)),this.avatarConfig&&(this.avatarClassList=this.generateClassList(this.avatarConfig.look))},SimpleChipComponent.prototype.generateClassList=function(e){var t="";return e&&(t+=" -"+e.split(" ").join(" -")),t},SimpleChipComponent.ɵfac=function SimpleChipComponent_Factory(e){return new(e||SimpleChipComponent)},SimpleChipComponent.ɵcmp=o["ɵɵdefineComponent"]({type:SimpleChipComponent,selectors:[["sf-simple-chip"]],inputs:{title:"title",content:"content",contentLook:"contentLook",wrapperLook:"wrapperLook",avatarConfig:"avatarConfig",iconConfig:"iconConfig"},decls:5,vars:10,consts:[[3,"title"],[3,"class",4,"ngIf"],[1,"sf-chip__image",3,"src","alt"],["look","white size-xs",3,"name"]],template:function SimpleChipComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"span",0),o["ɵɵtemplate"](1,SimpleChipComponent_span_1_Template,2,5,"span",1),o["ɵɵtemplate"](2,SimpleChipComponent_span_2_Template,2,4,"span",1),o["ɵɵelementStart"](3,"span"),o["ɵɵtext"](4),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵclassMapInterpolate1"]("sf-chip ",t.chipWrapperClassList,""),o["ɵɵproperty"]("title",t.title),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.avatarConfig),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.iconConfig),o["ɵɵadvance"](1),o["ɵɵclassMapInterpolate1"]("sf-chip__content ",t.chipContentClassList,""),o["ɵɵadvance"](1),o["ɵɵtextInterpolate1"](" ",t.content," "))},directives:[i.NgIf,r.SfIconComponent],encapsulation:2}),SimpleChipComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PipesModule",(function(){return s}));var o=n(1105),i=n(1106),r=n(1432),a=n(229),s=function(){function PipesModule(){}return PipesModule.ɵfac=function PipesModule_Factory(e){return new(e||PipesModule)},PipesModule.ɵmod=a["ɵɵdefineNgModule"]({type:PipesModule}),PipesModule.ɵinj=a["ɵɵdefineInjector"]({}),PipesModule}();a["ɵɵsetNgModuleScope"](s,{declarations:[o.RelativeDatePipe,i.LowerFirstLetterPipe,r.IsoWeekDatesPipe],exports:[o.RelativeDatePipe,i.LowerFirstLetterPipe,r.IsoWeekDatesPipe]})},function(e,t,n){"use strict";n.r(t),n.d(t,"IsoWeekDatesPipe",(function(){return r}));var o=n(246),i=n(229),r=function(){function IsoWeekDatesPipe(){}return IsoWeekDatesPipe.prototype.transform=function(e){if(e){var t=e.split("-W");if(2===t.length){var n=t[0],i=t[1];e="Week"+o.stringConstants.INTERVAL+i+o.stringConstants.COMMA+o.stringConstants.INTERVAL+n}}return e},IsoWeekDatesPipe.ɵfac=function IsoWeekDatesPipe_Factory(e){return new(e||IsoWeekDatesPipe)},IsoWeekDatesPipe.ɵpipe=i["ɵɵdefinePipe"]({name:"sfIsoWeekDates",type:IsoWeekDatesPipe,pure:!0}),IsoWeekDatesPipe}()},function(e,t,n){"use strict";n.r(t);var o=n(415);n.d(t,"TOOLBARITEMS_TOKEN",(function(){return o.EDITOR_CONFIG_TOKEN}))},function(e,t,n){"use strict";n.r(t);n(1435);var o=n(1436);n.d(t,"SelectorService",(function(){return o.SelectorService})),n.d(t,"SELECTOR_SERVICE",(function(){return o.SELECTOR_SERVICE})),n.d(t,"BUTTON_PRIMARY_CATEGORY",(function(){return o.BUTTON_PRIMARY_CATEGORY})),n.d(t,"BUTTON_CANCEL_CATEGORY",(function(){return o.BUTTON_CANCEL_CATEGORY})),n.d(t,"BUTTON_DELETE_CATEGORY",(function(){return o.BUTTON_DELETE_CATEGORY}));n(1441)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var o=n(1437);n.d(t,"SelectorService",(function(){return o.SelectorService})),n.d(t,"SELECTOR_SERVICE",(function(){return o.SELECTOR_SERVICE})),n.d(t,"BUTTON_PRIMARY_CATEGORY",(function(){return o.BUTTON_PRIMARY_CATEGORY})),n.d(t,"BUTTON_CANCEL_CATEGORY",(function(){return o.BUTTON_CANCEL_CATEGORY})),n.d(t,"BUTTON_DELETE_CATEGORY",(function(){return o.BUTTON_DELETE_CATEGORY}))},function(e,t,n){"use strict";n.r(t);var o=n(1438);n.d(t,"SELECTOR_SERVICE",(function(){return o.SELECTOR_SERVICE})),n.d(t,"BUTTON_PRIMARY_CATEGORY",(function(){return o.BUTTON_PRIMARY_CATEGORY})),n.d(t,"BUTTON_CANCEL_CATEGORY",(function(){return o.BUTTON_CANCEL_CATEGORY})),n.d(t,"BUTTON_DELETE_CATEGORY",(function(){return o.BUTTON_DELETE_CATEGORY})),n.d(t,"BUTTON_CATOGORY_OPTIONS",(function(){return o.BUTTON_CATOGORY_OPTIONS})),n.d(t,"SelectorService",(function(){return o.SelectorService}));n(1440)},function(e,t,n){"use strict";n.r(t),n.d(t,"SELECTOR_SERVICE",(function(){return f})),n.d(t,"BUTTON_PRIMARY_CATEGORY",(function(){return u})),n.d(t,"BUTTON_CANCEL_CATEGORY",(function(){return m})),n.d(t,"BUTTON_DELETE_CATEGORY",(function(){return g})),n.d(t,"BUTTON_CATOGORY_OPTIONS",(function(){return E})),n.d(t,"SelectorService",(function(){return h}));var o=n(229),i=n(260),r=n(1215),a=n(1207),s=n(1439),A=n(1118),l=n(361),c=n(269),d=n(11),p=n(256),f=new o.InjectionToken("SelectorService"),u="primary",m="cancel",g="delete",E={primary:u,cancel:m,delete:g},h=function(){function SelectorService(e,t,n,o,i){this.route=e,this.store=t,this.modalService=n,this.injector=o,this.metadataStore=i}return SelectorService.prototype.openVideoLibrarySelector=function(e){return this.openSelector(e,p.ENTITY_SET.VIDEOS,(function(e){return{url:e.data.Url,thumbnailUrl:e.data.ThumbnailUrl}}))},SelectorService.prototype.openImageLibrarySelector=function(e){return this.openSelector(e,p.ENTITY_SET.IMAGES,(function(e){return e}))},SelectorService.prototype.openDialog=function(e){var t=this.getCurrentRoute().parent,n=new d.Subject,o=this.transformCommands(e.commands),i=new A.DialogData(e.componentData,(function(e){n.next(e)}),o);return this.modalService.setMapping(i,"custom"),this.modalService.show("custom",t),n.asObservable()},SelectorService.prototype.openSelector=function(e,t,n){var o=this.getCurrentRoute(),i=new d.ReplaySubject,a={metadata:this.metadataStore.getEntity(t),provider:null,culture:null},s=this.getComponentData(e.multiple,a,o),A=this.getDialogData(s,n,i);return this.modalService.setMapping(A,r.FILE_SELECT),this.modalService.open(o,r.FILE_SELECT),i.asObservable()},SelectorService.prototype.transformCommands=function(e){var t=this,n=[];return e.forEach((function(e){var o;switch(e.category){case E.primary:o=new A.ConfirmButton;break;case E.cancel:o=new A.CancelButton;break;case E.delete:o=new A.DeleteButton}if(o.content=e.title,e.token){var i=t.injector.get(e.token.type);o.handlers.click=function(t){var n=new d.BehaviorSubject(new A.ClickResult(null,!1,!1)),o={model:e,data:e.token.properties};return i.execute(o).subscribe((function(e){n.next(new A.ClickResult(e,!0,!1))})),n.asObservable()}}n.push(o)})),n},SelectorService.prototype.getComponentData=function(e,t,n){var o=this,i=n.parent.snapshot.data.metaStore.entities[t.metadata.setName],a=new s.MediaSettings(i.displayName,!1);a.init(i.properties);var A={metadata:t.metadata.clone(),provider:t.provider,culture:t.culture};return A.metadata.acceptableFileTypes=a.acceptableFileTypes,A.metadata.acceptableMediaTypes=a.acceptableMediaTypes,{type:r.FileSelectComponent,afterComponentInit:function(t){t.multiple=e,t.mediaEntityData=A,t.parentLibraryId=null,t.currentLibraryId=null,t.mediaFilterEnabled=a.mediaFilterEnabled,t.acceptableMediaTypes=a.acceptableMediaTypes,t.acceptableFileTypes=a.acceptableFileTypes,t.maxSize=A.metadata.maxSize,t.value=[],t.store=o.store,t.uploadEnabled=!1}}},SelectorService.prototype.getDialogData=function(e,t,n){var o=[new A.ConfirmButton(l.SelectorConstants.USE_SELECTED),new A.CancelButton(l.SelectorConstants.CANCEL)];return new A.DialogData(e,(function(e){var o=[];e.data&&e.data.data&&(o=e.component.value);var i=o.map(t);n.next(i)}),o,null,"-bottom")},SelectorService.prototype.getCurrentRoute=function(){for(var e=this.route;e.children&&e.children.length;)e=e.children[0];return e},SelectorService.ɵfac=function SelectorService_Factory(e){return new(e||SelectorService)(o["ɵɵinject"](i.ActivatedRoute),o["ɵɵinject"](a.LibraryStore),o["ɵɵinject"](A.ModalWindowService),o["ɵɵinject"](o.Injector),o["ɵɵinject"](c.MetadataStore))},SelectorService.ɵprov=o["ɵɵdefineInjectable"]({token:SelectorService,factory:SelectorService.ɵfac}),SelectorService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaSettings",(function(){return a}));var o=n(259),i=n(332),r=n(269),a=function(e){function MediaSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(MediaSettings,e),MediaSettings.prototype.init=function(t){e.prototype.init.call(this,t);var n={keys:["Id"],properties:t},o=new r.MediaEntity(null,n);this.name=o.name,this.mediaFilterEnabled=o.mediaFilterEnabled,this.acceptableMediaTypes=o.acceptableMediaTypes,this.acceptableFileTypes=o.acceptableFileTypes,this.allowedExtensionsRegEx=o.allowedExtensionsRegEx,this.maxSize=o.maxSize,this.changeOnFocus=!0,this.emptyValues=this.emptyValues.concat([[]])},MediaSettings}(i.SettingsBase)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var o=n(1443);n.d(t,"HTTP_PREFIX",(function(){return o.HTTP_PREFIX}))},function(e,t,n){"use strict";n.r(t);var o=n(1444);n.d(t,"HTTP_PREFIX",(function(){return o.HTTP_PREFIX}))},function(e,t,n){"use strict";n.r(t),n.d(t,"SfInterceptor",(function(){return A})),n.d(t,"SF_HTTP_INTERCEPTOR",(function(){return l})),n.d(t,"HTTP_PREFIX",(function(){return c}));var o=n(229),i=n(283),r=n(271),a=n(246),s=n(275),A=function(){function SfInterceptor(e,t){this.settings=e,this.injector=t}return SfInterceptor.prototype.intercept=function(e,t){var n;if(e.url.startsWith(c)){var o=e.url.replace(c,a.stringConstants.EMPTY_STRING);o.startsWith(a.stringConstants.FORWARD_SLASH)||(o=a.stringConstants.FORWARD_SLASH+o),o=this.settings.url+o;var i={};this.settings.siteId&&(i={sf_site:this.settings.siteId});var r=this.injector.get(s.AuthService),A=((n={})["X-SF-Service-Request"]="true",n),l=r.getAuthHeader();l&&(A.Authorization=l),e=e.clone({url:o,setHeaders:A,setParams:i})}return t.handle(e)},SfInterceptor.ɵfac=function SfInterceptor_Factory(e){return new(e||SfInterceptor)(o["ɵɵinject"](r.Settings),o["ɵɵinject"](o.Injector))},SfInterceptor.ɵprov=o["ɵɵdefineInjectable"]({token:SfInterceptor,factory:SfInterceptor.ɵfac}),SfInterceptor}(),l={multi:!0,useClass:A,provide:i.HTTP_INTERCEPTORS},c="sfprefix"},function(e,t,n){"use strict";n.r(t);var o=n(1446);n.d(t,"EDITOR_CONFIG_TOKEN",(function(){return o.EDITOR_CONFIG_TOKEN}));var i=n(1447);n.d(t,"groupToolbarButtons",(function(){return i.groupToolbarButtons}));var r=n(1448);n.d(t,"EDIT_MENU_TOKEN",(function(){return r.EDIT_MENU_TOKEN}));var a=n(1449);n.d(t,"EditMenuSection",(function(){return a.EditMenuSection}));var s=n(1451);n.d(t,"EditMenuButton",(function(){return s.EditMenuButton}))},function(e,t,n){"use strict";n.r(t);var o=n(415);n.d(t,"EDITOR_CONFIG_TOKEN",(function(){return o.EDITOR_CONFIG_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(370);n.d(t,"groupToolbarButtons",(function(){return o.groupToolbarButtons}))},function(e,t,n){"use strict";n.r(t);var o=n(1401);n.d(t,"EDIT_MENU_TOKEN",(function(){return o.EDIT_MENU_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(1450);n.d(t,"EditMenuSection",(function(){return o.EditMenuSection}))},function(e,t,n){"use strict";n.r(t),n.d(t,"ImmutableEditMenuComponent",(function(){return A})),n.d(t,"EditMenuButton",(function(){return l})),n.d(t,"EditMenuTextButton",(function(){return c})),n.d(t,"EditMenuSection",(function(){return d}));var o=n(259),i=n(229),r=(n(11),n(261)),a=n(354),s=n(1116);function ImmutableEditMenuComponent_sf_notification_0_ng_container_1_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ImmutableEditMenuComponent_sf_notification_0_ng_container_1_span_2_Template(e,t){1&e&&i["ɵɵelement"](0,"span",7)}var _c0=function(e,t){return{section:e,button:t}};function ImmutableEditMenuComponent_sf_notification_0_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ImmutableEditMenuComponent_sf_notification_0_ng_container_1_ng_container_1_Template,1,0,"ng-container",5),i["ɵɵtemplate"](2,ImmutableEditMenuComponent_sf_notification_0_ng_container_1_span_2_Template,1,0,"span",6),i["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.last;i["ɵɵnextContext"](2);var r=i["ɵɵreference"](3),a=i["ɵɵreference"](5);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.buttons.length>1?r:a)("ngTemplateOutletContext",i["ɵɵpureFunction2"](3,_c0,n,n.buttons[0])),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!o)}}function ImmutableEditMenuComponent_sf_notification_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-notification",3),i["ɵɵlistener"]("positionChange",(function ImmutableEditMenuComponent_sf_notification_0_Template_sf_notification_positionChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onPositionChanged(e)})),i["ɵɵtemplate"](1,ImmutableEditMenuComponent_sf_notification_0_ng_container_1_Template,3,6,"ng-container",4),i["ɵɵpipe"](2,"async"),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵclassMap"](o.toolsetClass),i["ɵɵproperty"]("tooltipPositionParams",o.toolsetPositionParams)("look",o.toolsetLook),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",i["ɵɵpipeBind1"](2,5,o.buttonSections))}}function ImmutableEditMenuComponent_ng_template_2_ng_container_1_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ImmutableEditMenuComponent_ng_template_2_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ImmutableEditMenuComponent_ng_template_2_ng_container_1_ng_container_1_Template,1,0,"ng-container",5),i["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=i["ɵɵnextContext"]().section;i["ɵɵnextContext"]();var r=i["ɵɵreference"](5);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",r)("ngTemplateOutletContext",i["ɵɵpureFunction2"](2,_c0,o,n))}}function ImmutableEditMenuComponent_ng_template_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",8),i["ɵɵtemplate"](1,ImmutableEditMenuComponent_ng_template_2_ng_container_1_Template,2,5,"ng-container",4),i["ɵɵelementEnd"]()),2&e){var n=t.section;i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.buttons)}}var _c1=function(e){return{"-sf-pr-xs":e}};function ImmutableEditMenuComponent_ng_template_4_span_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",11),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]().button;i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](3,_c1,!n.action))("title",n.tooltip),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.text)}}var _c2=function(e){return{"-active":e}};function ImmutableEditMenuComponent_ng_template_4_span_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"span",12),i["ɵɵlistener"]("mousedown",(function ImmutableEditMenuComponent_ng_template_4_span_1_Template_span_mousedown_0_listener(e){i["ɵɵrestoreView"](n);var t=i["ɵɵnextContext"](),o=t.button,r=t.section;return i["ɵɵnextContext"]().handleClick(e,o,r)})),i["ɵɵelement"](1,"sf-icon",13),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]().button;i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](3,_c2,o.isActive)),i["ɵɵattribute"]("title",o.tooltip),i["ɵɵadvance"](1),i["ɵɵproperty"]("name",o.name)}}function ImmutableEditMenuComponent_ng_template_4_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,ImmutableEditMenuComponent_ng_template_4_span_0_Template,2,5,"span",9),i["ɵɵtemplate"](1,ImmutableEditMenuComponent_ng_template_4_span_1_Template,2,5,"span",10)),2&e){var n=t.button;i["ɵɵproperty"]("ngIf",n.text),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.action)}}var A=function(){function ImmutableEditMenuComponent(e){this.detector=e,this.closeMenu=new i.EventEmitter,this.updateToolsetLookAndClass()}return ImmutableEditMenuComponent.prototype.onPositionChanged=function(e){this.toolsetPosition=e,this.updateToolsetLookAndClass(),this.detector.detectChanges()},ImmutableEditMenuComponent.prototype.handleClick=function(e,t,n){e.preventDefault(),0===e.button&&(n.buttons.length>1&&(n.buttons.forEach((function(e){e.isActive&&e!==t&&(e.isActive=!1)})),t.isActive=!t.isActive,this.detector.detectChanges()),t.action(),this.closeMenu.emit(t.closeMenuOnClick))},ImmutableEditMenuComponent.prototype.updateToolsetLookAndClass=function(){this.toolsetLook=this.getLook(),this.toolsetClass=this.getClasses()},ImmutableEditMenuComponent.prototype.getLook=function(){var e="toolset black";return this.toolsetPosition&&(e+=" "+this.toolsetPosition),e},ImmutableEditMenuComponent.prototype.getClasses=function(){var e="sf-tooltip__content -toolset";return this.toolsetPosition&&(e+=" -"+this.toolsetPosition),e},ImmutableEditMenuComponent.ɵfac=function ImmutableEditMenuComponent_Factory(e){return new(e||ImmutableEditMenuComponent)(i["ɵɵdirectiveInject"](i.ChangeDetectorRef))},ImmutableEditMenuComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ImmutableEditMenuComponent,selectors:[["sf-edit-menu"]],inputs:{buttonSections:"buttonSections",toolsetPositionParams:"toolsetPositionParams"},outputs:{closeMenu:"closeMenu"},decls:6,vars:3,consts:[["sfTooltipPosition","",3,"tooltipPositionParams","look","class","positionChange",4,"ngIf"],["buttonGroup",""],["singleButton",""],["sfTooltipPosition","",3,"tooltipPositionParams","look","positionChange"],[4,"ngFor","ngForOf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["class","sf-notification__tool-separator",4,"ngIf"],[1,"sf-notification__tool-separator"],[1,"sf-notification__tool-group"],["class","sf-notification__tool-link",3,"ngClass","title",4,"ngIf"],["class","sf-notification__tool-button",3,"ngClass","mousedown",4,"ngIf"],[1,"sf-notification__tool-link",3,"ngClass","title"],[1,"sf-notification__tool-button",3,"ngClass","mousedown"],["look","color-inherit size-xs",3,"name"]],template:function ImmutableEditMenuComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,ImmutableEditMenuComponent_sf_notification_0_Template,3,7,"sf-notification",0),i["ɵɵpipe"](1,"async"),i["ɵɵtemplate"](2,ImmutableEditMenuComponent_ng_template_2_Template,2,1,"ng-template",null,1,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](4,ImmutableEditMenuComponent_ng_template_4_Template,2,2,"ng-template",null,2,i["ɵɵtemplateRefExtractor"])),2&e&&i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](1,1,t.buttonSections))},directives:[r.NgIf,a.SfNotificationComponent,s.TooltipPositionDirective,r.NgForOf,r.NgTemplateOutlet,r.NgClass,a.SfIconComponent],pipes:[r.AsyncPipe],encapsulation:2}),ImmutableEditMenuComponent}(),l=function l(e,t,n,o,i){void 0===n&&(n=null),void 0===o&&(o=!1),void 0===i&&(i=!1),this.name=e,this.action=t,this.tooltip=n,this.isActive=o,this.closeMenuOnClick=i},c=function(e){function EditMenuTextButton(t,n,o,i,r){void 0===i&&(i=null),void 0===r&&(r=!1);var a=e.call(this,t,n,i,void 0,r)||this;return a.text=o,a.tooltip=i,a.closeMenuOnClick=r,a}return Object(o.__extends)(EditMenuTextButton,e),EditMenuTextButton}(l),d=function(){function EditMenuSection(){for(var e=[],t=0;t=0;t--){var n=e.attributes[t];s.IFRAME_ATTRIBUTE_WHITELIST.indexOf(n.name)<0&&e.removeAttribute(n.name)}},IFrameMediaParser.ɵfac=function IFrameMediaParser_Factory(e){return c(e||IFrameMediaParser)},IFrameMediaParser.ɵprov=A["ɵɵdefineInjectable"]({token:IFrameMediaParser,factory:IFrameMediaParser.ɵfac}),IFrameMediaParser}(r.EmbedMediaParser),c=A["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"TwitterMediaParser",(function(){return c}));var o=n(259),i=n(1241),r=n(377),a=n(375),s=n(246),A=n(361),l=n(229),c=function(e){function TwitterMediaParser(t){var n=e.call(this)||this;return n.jsonp=t,TwitterMediaParser.tweetUrlRegex=new RegExp("(https?:\\/\\/twitter.com\\/(\\w+)\\/status\\/(\\d+))"),TwitterMediaParser.tweetUrlRegexExact=new RegExp("(^https?:\\/\\/twitter.com\\/(\\w+)\\/status\\/(\\d+))"),n}return Object(o.__extends)(TwitterMediaParser,e),TwitterMediaParser.prototype.isExactMatch=function(e){return!!e&&(e=e.trim(),!!TwitterMediaParser.tweetUrlRegexExact.test(e))},TwitterMediaParser.prototype.canProcess=function(e){return!!TwitterMediaParser.tweetUrlRegex.test(e)||this.canLoadTweetFromHtml(e)},TwitterMediaParser.prototype.initEmbeddedData=function(){try{twttr&&twttr.widgets.load()}catch(e){if(!e.message.includes("twttr is not defined"))throw e}},TwitterMediaParser.prototype.parse=function(e){var t=e;return TwitterMediaParser.tweetUrlRegexExact.test(e)||(t=this.getTweetUrlFromHtml(e)),this.getTweetDataByUrl(t).then((function(e){var n=!!e&&e.url===t,o=new r.Media;if(o.type=r.MediaType.Tweet,o.isValid=n,n){var i=document.createElement(A.NODE_NAMES.DIV_ELEMENT),a=document.createElement(A.NODE_NAMES.DIV_ELEMENT);o.data=e,i.appendChild(a),i.setAttribute(A.TWEET_URL_NAME,o.data.url),a.outerHTML=e.html,o.html=i.outerHTML}return o}))},TwitterMediaParser.prototype.getMediaFromElement=function(e){return e?e.querySelector("twitterwidget"):null},TwitterMediaParser.prototype.updateMediaElement=function(e,t,n){e.style[t]=n},TwitterMediaParser.prototype.getTweetDataByUrl=function(e){var t=this;return new Promise((function(n){var o="https://publish.twitter.com/oembed?url="+e+"&omit_script=true&callback=JSONP_CALLBACK";t.jsonp.get(o).toPromise().then((function(e){return n(e.json())})).catch((function(){return n(null)}))}))},TwitterMediaParser.prototype.getTweetUrlFromHtml=function(e){if(e){var t=e.match(TwitterMediaParser.tweetUrlRegex);if(t)return t[0]}var n=(new DOMParser).parseFromString(e,s.contentTypeConstants.HTML),o=n.body.querySelector("blockquote.twitter-tweet");if(o)for(var i=o.querySelectorAll("a"),r=0;r]*?(?:\/>|>[^<]*?<\/iframe>)/},CLASSES:"-sf-hidden",PLAYER_ELEMENT_ID:"player",VIDEO_URL_ATTRUBUTE_NAME:"sf-youtube-url",DUMMY_VIDEO_ID:"XXXXXXXXXXX"},d=function(e){function YoutubeMediaParser(t){var n=e.call(this)||this;return n.youtubePlayer=t,n.insertScript("https://www.youtube.com/iframe_api"),n}return Object(o.__extends)(YoutubeMediaParser,e),YoutubeMediaParser.prototype.canProcess=function(e){return!!e&&(e=e.trim(),!!this.shouldProcessIfIFrame(e)&&(!!this.isPlayList(e)||!!this.hasId(e)&&!!this.isYoutubeLink(e)))},YoutubeMediaParser.prototype.getValue=function(e){return this.getUrlMatches(e)},YoutubeMediaParser.prototype.isExactMatch=function(e){if(!e)return!1;var t=null;return!(!(t=(e=e.trim()).match(c.REGEX_CONSTANTS.REGULAR_VIDEO_URL_EXACT_PATTERN))||t[0]!==e)||(!(!(t=e.match(c.REGEX_CONSTANTS.EMBED_VIDEO_URL_PATTERN))||t[0]!==e)||(!(!(t=e.match(c.REGEX_CONSTANTS.SHORT_URL_PATTERN))||t[0]!==e)||!(!(t=e.match(c.REGEX_CONSTANTS.PLAY_LIST_PATTERN))||t[0]!==e)))},YoutubeMediaParser.prototype.parse=function(e){var t=this;return new Promise((function(n){t.isPlayList(e)?t.parsePlaylist(e,n):t.parseVideo(e,n)}))},YoutubeMediaParser.prototype.getMediaFromElement=function(e){return e},YoutubeMediaParser.prototype.updateMediaElement=function(e,t,n){var o=e.querySelector(r.TAG_NAMES.IFRAME);o&&o.setAttribute(t,n)},YoutubeMediaParser.prototype.getVideoId=function(e){return c.REGEX_CONSTANTS.VIDEO_ID_PATTERN.exec(e)?this.extractUrlIDFromReguralYouTubeURL(e,c.REGEX_CONSTANTS.VIDEO_ID_PATTERN,a.CHARACTERS.EQUALS_SIGN):!!c.REGEX_CONSTANTS.SHORT_URL_PATTERN.exec(e)?this.extractUrlIDFromReguralYouTubeURL(e,c.REGEX_CONSTANTS.SHORT_URL_ID_SEGMENT,A.stringConstants.FORWARD_SLASH):this.extractUrlIDFromReguralYouTubeURL(e,c.REGEX_CONSTANTS.EMBED_VIDEO_SEGMENT_PATTERN,A.stringConstants.FORWARD_SLASH)},YoutubeMediaParser.prototype.createHiddenVideoWrapper=function(e){var t=document.getElementById(c.PLAYER_ELEMENT_ID);if(t){var n=t.parentElement;n.parentElement.removeChild(n)}var o=document.createElement(r.NODE_NAMES.DIV_ELEMENT),i=document.createElement(r.NODE_NAMES.DIV_ELEMENT);return o.appendChild(i),o.classList.add(c.CLASSES),i.id=e,(document.querySelector(".sf-app")||document.querySelector(".sf-main")).appendChild(o),o},YoutubeMediaParser.prototype.getUrlFromTag=function(e){return e.match(c.REGEX_CONSTANTS.VIDEO_ATTRIBUTE_VALUE_PATTERN)?this.getUrlMatches(e):null},YoutubeMediaParser.prototype.extractUrlIDFromReguralYouTubeURL=function(e,t,n){return e.match(t)[0].split(n)[1].trim()},YoutubeMediaParser.prototype.parsePlaylist=function(t,n){var o=this,i=this.getUrlFromTag(t)||t,r={domElementId:c.PLAYER_ELEMENT_ID,videoUrl:i,playerVars:this.getQueryParams(t)};this.setInitDataWidthAndHeight(r,t),this.createHiddenVideoWrapper(c.PLAYER_ELEMENT_ID),this.youtubePlayer.init(r).then((function(t){var i=t.target.getIframe();e.prototype.parse.call(o,i.outerHTML).then((function(e){e=o.handleIFrame(r,e),n(e)}))}))},YoutubeMediaParser.prototype.parseVideo=function(e,t){var n=e,o=this.getUrlFromTag(n);o&&(n=o),this.createHiddenVideoWrapper(c.PLAYER_ELEMENT_ID);var i={domElementId:c.PLAYER_ELEMENT_ID,videoId:this.getVideoId(n),videoUrl:n,playerVars:this.getQueryParams(n)};this.setInitDataWidthAndHeight(i,e),this.initVideoPlayer(i,t)},YoutubeMediaParser.prototype.initVideoPlayer=function(t,n){var o=this;this.youtubePlayer.init(t).then((function(i){var r=i.target.getIframe();e.prototype.parse.call(o,r.outerHTML).then((function(e){e=o.handleIFrame(t,e),n(e)}))}))},YoutubeMediaParser.prototype.handleIFrame=function(e,t){var n=document.createElement(r.NODE_NAMES.DIV_ELEMENT);return n.innerHTML=t.html,n.setAttribute(c.VIDEO_URL_ATTRUBUTE_NAME,e.videoUrl),t.html=n.outerHTML,t},YoutubeMediaParser.prototype.getUrlMatches=function(e){var t=document.createElement(r.NODE_NAMES.DIV_ELEMENT);t.innerHTML=e;var n=t.querySelector(r.NODE_NAMES.DIV_ELEMENT+"["+c.VIDEO_URL_ATTRUBUTE_NAME+"]");return n?n.getAttribute(c.VIDEO_URL_ATTRUBUTE_NAME):t.getAttribute("src")},YoutubeMediaParser.prototype.getQueryParams=function(e){var t=e.match(c.REGEX_CONSTANTS.QUERY_PARAMS_PATTERN);if(!t||!t.length)return{};var n=t[1],o={};return n.split(a.CHARACTERS.AMPERSAND).forEach((function(e){var t=e.split(a.CHARACTERS.EQUALS_SIGN),n=t[0],i=t[1],r=+i;o[n]=isNaN(r)?i:r})),delete o.autoplay,o},YoutubeMediaParser.prototype.isPlayList=function(e){return c.REGEX_CONSTANTS.PLAY_LIST_PATTERN.test(e)},YoutubeMediaParser.prototype.shouldProcessIfIFrame=function(e){if(!c.REGEX_CONSTANTS.IFRAME_REGEX.test(e))return!0;var t=c.REGEX_CONSTANTS.VIDEO_ATTRIBUTE_VALUE_PATTERN.test(e);return!!t||!(!e.includes(r.SelectorConstants.SF_IMMUTABLE_SELECTED)||!t)},YoutubeMediaParser.prototype.hasId=function(e){return!!this.isYoutubeLink(e)&&(c.REGEX_CONSTANTS.VIDEO_ID_PATTERN.test(e)||c.REGEX_CONSTANTS.EMBED_VIDEO_SEGMENT_PATTERN.test(e)||c.REGEX_CONSTANTS.SHORT_URL_ID_SEGMENT.test(e))},YoutubeMediaParser.prototype.isYoutubeLink=function(e){var t=c.REGEX_CONSTANTS.VIDEO_ATTRIBUTE_VALUE_PATTERN.test(e),n=c.REGEX_CONSTANTS.REGULAR_VIDEO_URL_EXACT_PATTERN.test(e),o=c.REGEX_CONSTANTS.EMBED_VIDEO_URL_PATTERN.test(e),i=c.REGEX_CONSTANTS.SHORT_URL_PATTERN.test(e);return t||n||o||i},YoutubeMediaParser.prototype.setInitDataWidthAndHeight=function(e,t){if(c.REGEX_CONSTANTS.IFRAME_REGEX.test(t)){var n=document.createElement(r.NODE_NAMES.DIV_ELEMENT);n.innerHTML=t;var o=n.querySelector(r.TAG_NAMES.IFRAME),i=o.width,a=o.height;e.width=i,e.height=a}},YoutubeMediaParser.ɵfac=function YoutubeMediaParser_Factory(e){return new(e||YoutubeMediaParser)(l["ɵɵinject"](s.YouTubePlayerService))},YoutubeMediaParser.ɵprov=l["ɵɵdefineInjectable"]({token:YoutubeMediaParser,factory:YoutubeMediaParser.ɵfac}),YoutubeMediaParser}(i.IFrameMediaParser)},function(e,t,n){"use strict";n.r(t),n.d(t,"YouTubePlayerService",(function(){return r}));var o=n(259),i=n(229),r=function(){function YouTubePlayerService(){}return YouTubePlayerService.prototype.init=function(e){return new Promise((function(t){return new YT.Player(e.domElementId,Object(o.__assign)(Object(o.__assign)({},e),{events:{onReady:function(e){t(e)}}}))}))},YouTubePlayerService.ɵfac=function YouTubePlayerService_Factory(e){return new(e||YouTubePlayerService)},YouTubePlayerService.ɵprov=i["ɵɵdefineInjectable"]({token:YouTubePlayerService,factory:YouTubePlayerService.ɵfac}),YouTubePlayerService}()},function(e,t,n){"use strict";n.r(t);var o=n(377);n.d(t,"Media",(function(){return o.Media})),n.d(t,"MediaType",(function(){return o.MediaType}))},function(e,t,n){"use strict";n.r(t);var o=n(1474);n.d(t,"FieldModel",(function(){return o.FieldModel}));var i=n(1475);n.d(t,"FieldWrapper",(function(){return i.FieldWrapper}));var r=n(1476);n.d(t,"FIELDS_CHANGE_SERVICE_TOKEN",(function(){return r.FIELDS_CHANGE_SERVICE_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(267);n.d(t,"FieldModel",(function(){return o.FieldModel}))},function(e,t,n){"use strict";n.r(t);var o=n(1122);n.d(t,"FieldWrapper",(function(){return o.FormFieldWrapperComponent}))},function(e,t,n){"use strict";n.r(t);var o=n(1127);n.d(t,"FIELDS_CHANGE_SERVICE_TOKEN",(function(){return o.FIELDS_CHANGE_SERVICE_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(1478);n.d(t,"SitefinityExtensionStore",(function(){return o.SitefinityExtensionStore}))},function(e,t,n){"use strict";n.r(t),n.d(t,"SitefinityExtensionStore",(function(){return o}));var IRIS_MANIFEST={"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/index.js":3,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/index.js":4,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/common/index.js":5,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/common/extension.js":6,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/index-component/index.js":7,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/index-component/column-model.js":8,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/index-component/columns-provider.js":9,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/index-component/data-context.js":384,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/custom-fields/index.js":385,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/custom-fields/fields-provider.js":386,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/custom-fields/field-data.js":387,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/custom-fields/field-base.js":388,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/custom-fields/field-types.js":389,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/custom-fields/field-registration.js":390,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/custom-fields/field-settings-base.js":391,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/index.js":392,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/commands-data.js":393,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/commands-provider.js":395,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/commands-target.js":399,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/command.js":400,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/command-model.js":401,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/command-category.js":404,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/token-data.js":406,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/execution-context.js":407,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/commands/commands-filter.js":408,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/metadata/index.js":409,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/metadata/entity.js":410,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/metadata/data-item.js":411,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/metadata/entity-data.js":412,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/toolbar-items/index.js":413,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/toolbar-items/toolbar-item.js":414,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/toolbar-items/toolbar-items-provider.js":1433,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/selectors/index.js":1434,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/selectors/video.js":1435,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/selectors/selector-service.js":1436,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/selectors/selector-options.js":1441,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/http/index.js":1442,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/http/constants.js":1443,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/editor/index.js":1445,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/editor/editor-config-provider.js":1446,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/editor/editor-group-toolbar-buttons.js":1447,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/editor/edit-menu-provider.js":1448,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/editor/edit-menu-section.js":1449,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/editor/edit-menu-button.js":1451,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/theme/index.js":1452,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/theme/theme-item.js":1453,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/theme/theme-variables.js":1454,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/theme/theme-variable-key-value-pair.js":1456,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/theme/theme-provider.js":1457,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/item/index.js":1459,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/item/item-hooks-provider.js":1460,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/framework/index.js":1461,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/framework/framework.module.js":1462,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/framework/input/index.js":1463,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/framework/input/input.component.js":1464,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/embed-media/index.js":1465,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/embed-media/embed-media.parser.js":1466,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/embed-media/media.js":1472,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/fields-behaviour/index.js":1473,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/fields-behaviour/field-model.js":1474,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/fields-behaviour/field-wrapper.js":1475,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/fields-behaviour/fields-change.service.js":1476,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/extensions-store.js":1477,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/notifications/index.js":1479,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/notifications/notification-info.js":1480,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/notifications/notification.service.js":1556,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/notifications/notification-looks.js":1557,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/widget-editor/index.js":1558,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/widget-editor/component-data.js":1559,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/widget-editor/widget-editor-view-provider.js":1560,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/widget-editor/widget-editor.js":1561,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/tree/index.js":1562,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/tree/custom-tree-component-provider.js":1563,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/tree/custom-tree-component-base.js":1564,"./node_modules/@progress/sitefinity-adminapp-sdk/app/api/v1/tree/custom-tree-node-component-features.js":1565,"./node_modules/@angular-devkit/build-angular/node_modules/webpack/buildin/global.js":230,"./node_modules/@angular/localize/fesm2015/init.js":2505,"./node_modules/@angular/localize/fesm5/init.js":2505,"./node_modules/@angular-devkit/build-angular/src/webpack/es5-polyfills.js":2215,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/symbol/index.js":2216,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.concat.js":2217,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js":2218,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js":2219,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js":2220,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js":2221,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js":2222,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js":2223,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js":2224,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js":2225,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js":2226,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js":2227,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js":2228,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js":2229,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js":2230,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js":2231,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js":2232,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js":2233,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js":2234,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js":2235,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js":2236,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js":2237,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js":2238,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js":2239,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js":2240,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js":2241,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js":2242,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js":2243,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js":2244,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js":2245,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js":2246,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js":2247,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js":2248,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js":2249,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js":2250,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js":2251,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js":2252,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js":2253,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js":2254,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js":2255,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js":2256,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js":2257,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js":2258,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js":2259,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js":2260,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js":2261,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js":2262,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js":2263,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js":2264,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js":2265,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js":2266,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js":2267,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js":2268,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js":2269,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-user-agent.js":2270,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.to-string.js":2271,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js":2272,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-to-string.js":2273,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js":2274,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.js":2275,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js":2276,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js":2277,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js":2278,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js":2279,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names-external.js":2280,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol-wrapped.js":2281,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js":2282,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js":2283,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js":2284,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js":2285,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js":2286,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.async-iterator.js":2287,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.description.js":2288,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.has-instance.js":2289,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js":2290,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.iterator.js":2291,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match.js":2292,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match-all.js":2293,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.replace.js":2294,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.search.js":2295,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.species.js":2296,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.split.js":2297,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-primitive.js":2298,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-string-tag.js":2299,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.unscopables.js":2300,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.json.to-string-tag.js":2301,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.to-string-tag.js":2302,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.to-string-tag.js":2303,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.bind.js":2304,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind.js":2305,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.name.js":2306,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.has-instance.js":2307,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js":2308,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js":2309,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.create.js":2310,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-property.js":2311,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-properties.js":2312,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-descriptor.js":2313,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-prototype-of.js":2314,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.keys.js":2315,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-names.js":2316,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.freeze.js":2317,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js":2318,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js":2319,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.seal.js":2320,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.prevent-extensions.js":2321,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-frozen.js":2322,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-sealed.js":2323,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-extensible.js":2324,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.assign.js":2325,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-assign.js":2326,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is.js":2327,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/same-value.js":2328,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.set-prototype-of.js":2329,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js":2330,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js":2331,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.entries.js":2332,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-to-array.js":2333,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.values.js":2334,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-descriptors.js":2335,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.from-entries.js":2336,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js":2337,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js":2338,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js":2339,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js":2340,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterator-close.js":2341,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.is-array.js":2342,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.from.js":2343,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-from.js":2344,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js":2345,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js":2346,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.of.js":2347,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.join.js":2348,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js":2349,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.slice.js":2350,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js":2351,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.splice.js":2352,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.sort.js":2353,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.for-each.js":2354,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-for-each.js":2355,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.map.js":2356,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.filter.js":2357,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.some.js":2358,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.every.js":2359,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce.js":2360,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-reduce.js":2361,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-node.js":2362,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce-right.js":2363,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.index-of.js":2364,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.last-index-of.js":2365,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-last-index-of.js":2366,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.copy-within.js":2367,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-copy-within.js":2368,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js":2369,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.fill.js":2370,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-fill.js":2371,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find.js":2372,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find-index.js":2373,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.iterator.js":2374,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js":2375,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js":2376,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js":2377,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.includes.js":2378,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.flat.js":2379,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/flatten-into-array.js":2380,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.flat-map.js":2381,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.from-code-point.js":2382,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.raw.js":2383,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.trim.js":2384,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js":2385,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js":2386,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim-forced.js":2387,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.iterator.js":2388,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-multibyte.js":2389,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.code-point-at.js":2390,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.ends-with.js":2391,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/not-a-regexp.js":2392,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-regexp.js":2393,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-is-regexp-logic.js":2394,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.includes.js":2395,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.repeat.js":2396,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-repeat.js":2397,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.starts-with.js":2398,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.anchor.js":2399,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js":2400,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js":2401,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.big.js":2402,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.blink.js":2403,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.bold.js":2404,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fixed.js":2405,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontcolor.js":2406,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontsize.js":2407,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.italics.js":2408,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.link.js":2409,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.small.js":2410,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.strike.js":2411,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sub.js":2412,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sup.js":2413,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.match.js":2414,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js":2415,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.exec.js":2416,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js":2417,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js":2418,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-sticky-helpers.js":2419,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/advance-string-index.js":2420,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js":2421,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.replace.js":2422,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-substitution.js":2423,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.search.js":2424,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.split.js":2425,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/species-constructor.js":2426,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-int.js":2427,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-int.js":2428,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-float.js":2429,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-float.js":2430,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/number/index.js":2431,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.constructor.js":2432,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js":2433,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.epsilon.js":2434,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-finite.js":2435,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-is-finite.js":2436,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-integer.js":2437,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-integer.js":2438,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-nan.js":2439,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-safe-integer.js":2440,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.max-safe-integer.js":2441,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.min-safe-integer.js":2442,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-float.js":2443,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-int.js":2444,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-fixed.js":2445,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/this-number-value.js":2446,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-precision.js":2447,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/math/index.js":2448,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.acosh.js":2449,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-log1p.js":2450,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.asinh.js":2451,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.atanh.js":2452,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cbrt.js":2453,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-sign.js":2454,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.clz32.js":2455,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cosh.js":2456,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js":2457,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.expm1.js":2458,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.fround.js":2459,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-fround.js":2460,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.hypot.js":2461,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.imul.js":2462,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log10.js":2463,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log1p.js":2464,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log2.js":2465,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sign.js":2466,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sinh.js":2467,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.tanh.js":2468,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.trunc.js":2469,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/date/index.js":2470,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.now.js":2471,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-json.js":2472,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-iso-string.js":2473,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-iso-string.js":2474,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-pad.js":2475,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-string.js":2476,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-primitive.js":2477,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-primitive.js":2478,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.constructor.js":2479,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js":2480,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.to-string.js":2481,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.flags.js":2482,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js":2483,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js":2484,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js":2485,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js":2486,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js":2487,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js":2488,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js":2489,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js":2490,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.for-each.js":2491,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/dom-iterables.js":2492,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.iterator.js":2493,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.promise.js":2494,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-promise-constructor.js":2495,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/task.js":2496,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-ios.js":2497,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/microtask.js":2498,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-webos-webkit.js":2499,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/promise-resolve.js":2500,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/new-promise-capability.js":2501,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/host-report-errors.js":2502,"./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/perform.js":2503,"./node_modules/rxjs/_esm2015/index.js":11,"./node_modules/rxjs/_esm5/index.js":11,"./node_modules/rxjs/_esm2015/internal/Observable.js":12,"./node_modules/rxjs/_esm5/internal/Observable.js":12,"./node_modules/rxjs/_esm2015/internal/util/canReportError.js":15,"./node_modules/rxjs/_esm5/internal/util/canReportError.js":15,"./node_modules/rxjs/_esm2015/internal/Subscriber.js":16,"./node_modules/rxjs/_esm5/internal/Subscriber.js":16,"./node_modules/rxjs/_esm2015/internal/util/isFunction.js":27,"./node_modules/rxjs/_esm5/internal/util/isFunction.js":27,"./node_modules/rxjs/_esm2015/internal/Observer.js":28,"./node_modules/rxjs/_esm5/internal/Observer.js":28,"./node_modules/rxjs/_esm2015/internal/config.js":29,"./node_modules/rxjs/_esm5/internal/config.js":29,"./node_modules/rxjs/_esm2015/internal/util/hostReportError.js":30,"./node_modules/rxjs/_esm5/internal/util/hostReportError.js":30,"./node_modules/rxjs/_esm2015/internal/Subscription.js":31,"./node_modules/rxjs/_esm5/internal/Subscription.js":31,"./node_modules/rxjs/_esm2015/internal/util/isArray.js":32,"./node_modules/rxjs/_esm5/internal/util/isArray.js":32,"./node_modules/rxjs/_esm2015/internal/util/isObject.js":33,"./node_modules/rxjs/_esm5/internal/util/isObject.js":33,"./node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js":34,"./node_modules/rxjs/_esm5/internal/util/UnsubscriptionError.js":34,"./node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js":35,"./node_modules/rxjs/_esm5/internal/symbol/rxSubscriber.js":35,"./node_modules/rxjs/_esm2015/internal/util/toSubscriber.js":36,"./node_modules/rxjs/_esm5/internal/util/toSubscriber.js":36,"./node_modules/rxjs/_esm2015/internal/symbol/observable.js":37,"./node_modules/rxjs/_esm5/internal/symbol/observable.js":37,"./node_modules/rxjs/_esm2015/internal/util/pipe.js":38,"./node_modules/rxjs/_esm5/internal/util/pipe.js":38,"./node_modules/rxjs/_esm2015/internal/util/identity.js":39,"./node_modules/rxjs/_esm5/internal/util/identity.js":39,"./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js":40,"./node_modules/rxjs/_esm5/internal/observable/ConnectableObservable.js":40,"./node_modules/rxjs/_esm2015/internal/Subject.js":41,"./node_modules/rxjs/_esm5/internal/Subject.js":41,"./node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js":42,"./node_modules/rxjs/_esm5/internal/util/ObjectUnsubscribedError.js":42,"./node_modules/rxjs/_esm2015/internal/SubjectSubscription.js":43,"./node_modules/rxjs/_esm5/internal/SubjectSubscription.js":43,"./node_modules/rxjs/_esm2015/internal/operators/refCount.js":44,"./node_modules/rxjs/_esm5/internal/operators/refCount.js":44,"./node_modules/rxjs/_esm2015/internal/operators/groupBy.js":45,"./node_modules/rxjs/_esm5/internal/operators/groupBy.js":45,"./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js":46,"./node_modules/rxjs/_esm5/internal/BehaviorSubject.js":46,"./node_modules/rxjs/_esm2015/internal/ReplaySubject.js":47,"./node_modules/rxjs/_esm5/internal/ReplaySubject.js":47,"./node_modules/rxjs/_esm2015/internal/scheduler/queue.js":48,"./node_modules/rxjs/_esm5/internal/scheduler/queue.js":48,"./node_modules/rxjs/_esm2015/internal/scheduler/QueueAction.js":49,"./node_modules/rxjs/_esm5/internal/scheduler/QueueAction.js":49,"./node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js":50,"./node_modules/rxjs/_esm5/internal/scheduler/AsyncAction.js":50,"./node_modules/rxjs/_esm2015/internal/scheduler/Action.js":51,"./node_modules/rxjs/_esm5/internal/scheduler/Action.js":51,"./node_modules/rxjs/_esm2015/internal/scheduler/QueueScheduler.js":52,"./node_modules/rxjs/_esm5/internal/scheduler/QueueScheduler.js":52,"./node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js":53,"./node_modules/rxjs/_esm5/internal/scheduler/AsyncScheduler.js":53,"./node_modules/rxjs/_esm2015/internal/Scheduler.js":54,"./node_modules/rxjs/_esm5/internal/Scheduler.js":54,"./node_modules/rxjs/_esm2015/internal/operators/observeOn.js":55,"./node_modules/rxjs/_esm5/internal/operators/observeOn.js":55,"./node_modules/rxjs/_esm2015/internal/Notification.js":56,"./node_modules/rxjs/_esm5/internal/Notification.js":56,"./node_modules/rxjs/_esm2015/internal/observable/empty.js":57,"./node_modules/rxjs/_esm5/internal/observable/empty.js":57,"./node_modules/rxjs/_esm2015/internal/observable/of.js":58,"./node_modules/rxjs/_esm5/internal/observable/of.js":58,"./node_modules/rxjs/_esm2015/internal/util/isScheduler.js":59,"./node_modules/rxjs/_esm5/internal/util/isScheduler.js":59,"./node_modules/rxjs/_esm2015/internal/observable/fromArray.js":60,"./node_modules/rxjs/_esm5/internal/observable/fromArray.js":60,"./node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js":61,"./node_modules/rxjs/_esm5/internal/util/subscribeToArray.js":61,"./node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js":62,"./node_modules/rxjs/_esm5/internal/scheduled/scheduleArray.js":62,"./node_modules/rxjs/_esm2015/internal/observable/throwError.js":63,"./node_modules/rxjs/_esm5/internal/observable/throwError.js":63,"./node_modules/rxjs/_esm2015/internal/AsyncSubject.js":64,"./node_modules/rxjs/_esm5/internal/AsyncSubject.js":64,"./node_modules/rxjs/_esm2015/internal/scheduler/asap.js":65,"./node_modules/rxjs/_esm5/internal/scheduler/asap.js":65,"./node_modules/rxjs/_esm2015/internal/scheduler/AsapAction.js":66,"./node_modules/rxjs/_esm5/internal/scheduler/AsapAction.js":66,"./node_modules/rxjs/_esm2015/internal/util/Immediate.js":67,"./node_modules/rxjs/_esm5/internal/util/Immediate.js":67,"./node_modules/rxjs/_esm2015/internal/scheduler/AsapScheduler.js":68,"./node_modules/rxjs/_esm5/internal/scheduler/AsapScheduler.js":68,"./node_modules/rxjs/_esm2015/internal/scheduler/async.js":69,"./node_modules/rxjs/_esm5/internal/scheduler/async.js":69,"./node_modules/rxjs/_esm2015/internal/scheduler/animationFrame.js":70,"./node_modules/rxjs/_esm5/internal/scheduler/animationFrame.js":70,"./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameAction.js":71,"./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameAction.js":71,"./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameScheduler.js":72,"./node_modules/rxjs/_esm5/internal/scheduler/AnimationFrameScheduler.js":72,"./node_modules/rxjs/_esm2015/internal/scheduler/VirtualTimeScheduler.js":73,"./node_modules/rxjs/_esm5/internal/scheduler/VirtualTimeScheduler.js":73,"./node_modules/rxjs/_esm2015/internal/util/noop.js":74,"./node_modules/rxjs/_esm5/internal/util/noop.js":74,"./node_modules/rxjs/_esm2015/internal/util/isObservable.js":75,"./node_modules/rxjs/_esm5/internal/util/isObservable.js":75,"./node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js":76,"./node_modules/rxjs/_esm5/internal/util/ArgumentOutOfRangeError.js":76,"./node_modules/rxjs/_esm2015/internal/util/EmptyError.js":77,"./node_modules/rxjs/_esm5/internal/util/EmptyError.js":77,"./node_modules/rxjs/_esm2015/internal/util/TimeoutError.js":78,"./node_modules/rxjs/_esm5/internal/util/TimeoutError.js":78,"./node_modules/rxjs/_esm2015/internal/observable/bindCallback.js":79,"./node_modules/rxjs/_esm5/internal/observable/bindCallback.js":79,"./node_modules/rxjs/_esm2015/internal/operators/map.js":86,"./node_modules/rxjs/_esm5/internal/operators/map.js":86,"./node_modules/rxjs/_esm2015/internal/observable/bindNodeCallback.js":87,"./node_modules/rxjs/_esm5/internal/observable/bindNodeCallback.js":87,"./node_modules/rxjs/_esm2015/internal/observable/combineLatest.js":88,"./node_modules/rxjs/_esm5/internal/observable/combineLatest.js":88,"./node_modules/rxjs/_esm2015/internal/OuterSubscriber.js":89,"./node_modules/rxjs/_esm5/internal/OuterSubscriber.js":89,"./node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js":90,"./node_modules/rxjs/_esm5/internal/util/subscribeToResult.js":90,"./node_modules/rxjs/_esm2015/internal/InnerSubscriber.js":91,"./node_modules/rxjs/_esm5/internal/InnerSubscriber.js":91,"./node_modules/rxjs/_esm2015/internal/util/subscribeTo.js":92,"./node_modules/rxjs/_esm5/internal/util/subscribeTo.js":92,"./node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js":93,"./node_modules/rxjs/_esm5/internal/util/subscribeToPromise.js":93,"./node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js":94,"./node_modules/rxjs/_esm5/internal/util/subscribeToIterable.js":94,"./node_modules/rxjs/_esm2015/internal/symbol/iterator.js":95,"./node_modules/rxjs/_esm5/internal/symbol/iterator.js":95,"./node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js":96,"./node_modules/rxjs/_esm5/internal/util/subscribeToObservable.js":96,"./node_modules/rxjs/_esm2015/internal/util/isArrayLike.js":97,"./node_modules/rxjs/_esm5/internal/util/isArrayLike.js":97,"./node_modules/rxjs/_esm2015/internal/util/isPromise.js":98,"./node_modules/rxjs/_esm5/internal/util/isPromise.js":98,"./node_modules/rxjs/_esm2015/internal/observable/concat.js":99,"./node_modules/rxjs/_esm5/internal/observable/concat.js":99,"./node_modules/rxjs/_esm2015/internal/operators/concatAll.js":100,"./node_modules/rxjs/_esm5/internal/operators/concatAll.js":100,"./node_modules/rxjs/_esm2015/internal/operators/mergeAll.js":101,"./node_modules/rxjs/_esm5/internal/operators/mergeAll.js":101,"./node_modules/rxjs/_esm2015/internal/operators/mergeMap.js":102,"./node_modules/rxjs/_esm5/internal/operators/mergeMap.js":102,"./node_modules/rxjs/_esm2015/internal/observable/from.js":103,"./node_modules/rxjs/_esm5/internal/observable/from.js":103,"./node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js":104,"./node_modules/rxjs/_esm5/internal/scheduled/scheduled.js":104,"./node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js":105,"./node_modules/rxjs/_esm5/internal/scheduled/scheduleObservable.js":105,"./node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js":106,"./node_modules/rxjs/_esm5/internal/scheduled/schedulePromise.js":106,"./node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js":107,"./node_modules/rxjs/_esm5/internal/scheduled/scheduleIterable.js":107,"./node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js":108,"./node_modules/rxjs/_esm5/internal/util/isInteropObservable.js":108,"./node_modules/rxjs/_esm2015/internal/util/isIterable.js":109,"./node_modules/rxjs/_esm5/internal/util/isIterable.js":109,"./node_modules/rxjs/_esm2015/internal/innerSubscribe.js":110,"./node_modules/rxjs/_esm5/internal/innerSubscribe.js":110,"./node_modules/rxjs/_esm2015/internal/observable/defer.js":111,"./node_modules/rxjs/_esm5/internal/observable/defer.js":111,"./node_modules/rxjs/_esm2015/internal/observable/forkJoin.js":112,"./node_modules/rxjs/_esm5/internal/observable/forkJoin.js":112,"./node_modules/rxjs/_esm2015/internal/observable/fromEvent.js":113,"./node_modules/rxjs/_esm5/internal/observable/fromEvent.js":113,"./node_modules/rxjs/_esm2015/internal/observable/fromEventPattern.js":114,"./node_modules/rxjs/_esm5/internal/observable/fromEventPattern.js":114,"./node_modules/rxjs/_esm2015/internal/observable/generate.js":115,"./node_modules/rxjs/_esm5/internal/observable/generate.js":115,"./node_modules/rxjs/_esm2015/internal/observable/iif.js":116,"./node_modules/rxjs/_esm5/internal/observable/iif.js":116,"./node_modules/rxjs/_esm2015/internal/observable/interval.js":117,"./node_modules/rxjs/_esm5/internal/observable/interval.js":117,"./node_modules/rxjs/_esm2015/internal/util/isNumeric.js":118,"./node_modules/rxjs/_esm5/internal/util/isNumeric.js":118,"./node_modules/rxjs/_esm2015/internal/observable/merge.js":119,"./node_modules/rxjs/_esm5/internal/observable/merge.js":119,"./node_modules/rxjs/_esm2015/internal/observable/never.js":120,"./node_modules/rxjs/_esm5/internal/observable/never.js":120,"./node_modules/rxjs/_esm2015/internal/observable/onErrorResumeNext.js":121,"./node_modules/rxjs/_esm5/internal/observable/onErrorResumeNext.js":121,"./node_modules/rxjs/_esm2015/internal/observable/pairs.js":122,"./node_modules/rxjs/_esm5/internal/observable/pairs.js":122,"./node_modules/rxjs/_esm2015/internal/observable/partition.js":123,"./node_modules/rxjs/_esm5/internal/observable/partition.js":123,"./node_modules/rxjs/_esm2015/internal/util/not.js":124,"./node_modules/rxjs/_esm5/internal/util/not.js":124,"./node_modules/rxjs/_esm2015/internal/operators/filter.js":125,"./node_modules/rxjs/_esm5/internal/operators/filter.js":125,"./node_modules/rxjs/_esm2015/internal/observable/race.js":126,"./node_modules/rxjs/_esm5/internal/observable/race.js":126,"./node_modules/rxjs/_esm2015/internal/observable/range.js":127,"./node_modules/rxjs/_esm5/internal/observable/range.js":127,"./node_modules/rxjs/_esm2015/internal/observable/timer.js":128,"./node_modules/rxjs/_esm5/internal/observable/timer.js":128,"./node_modules/rxjs/_esm2015/internal/observable/using.js":129,"./node_modules/rxjs/_esm5/internal/observable/using.js":129,"./node_modules/rxjs/_esm2015/internal/observable/zip.js":130,"./node_modules/rxjs/_esm5/internal/observable/zip.js":130,"./node_modules/rxjs/_esm2015/operators/index.js":131,"./node_modules/rxjs/_esm5/operators/index.js":131,"./node_modules/rxjs/_esm2015/internal/operators/audit.js":132,"./node_modules/rxjs/_esm5/internal/operators/audit.js":132,"./node_modules/rxjs/_esm2015/internal/operators/auditTime.js":133,"./node_modules/rxjs/_esm5/internal/operators/auditTime.js":133,"./node_modules/rxjs/_esm2015/internal/operators/buffer.js":134,"./node_modules/rxjs/_esm5/internal/operators/buffer.js":134,"./node_modules/rxjs/_esm2015/internal/operators/bufferCount.js":135,"./node_modules/rxjs/_esm5/internal/operators/bufferCount.js":135,"./node_modules/rxjs/_esm2015/internal/operators/bufferTime.js":136,"./node_modules/rxjs/_esm5/internal/operators/bufferTime.js":136,"./node_modules/rxjs/_esm2015/internal/operators/bufferToggle.js":137,"./node_modules/rxjs/_esm5/internal/operators/bufferToggle.js":137,"./node_modules/rxjs/_esm2015/internal/operators/bufferWhen.js":138,"./node_modules/rxjs/_esm5/internal/operators/bufferWhen.js":138,"./node_modules/rxjs/_esm2015/internal/operators/catchError.js":139,"./node_modules/rxjs/_esm5/internal/operators/catchError.js":139,"./node_modules/rxjs/_esm2015/internal/operators/combineAll.js":140,"./node_modules/rxjs/_esm5/internal/operators/combineAll.js":140,"./node_modules/rxjs/_esm2015/internal/operators/combineLatest.js":141,"./node_modules/rxjs/_esm5/internal/operators/combineLatest.js":141,"./node_modules/rxjs/_esm2015/internal/operators/concat.js":142,"./node_modules/rxjs/_esm5/internal/operators/concat.js":142,"./node_modules/rxjs/_esm2015/internal/operators/concatMap.js":143,"./node_modules/rxjs/_esm5/internal/operators/concatMap.js":143,"./node_modules/rxjs/_esm2015/internal/operators/concatMapTo.js":144,"./node_modules/rxjs/_esm5/internal/operators/concatMapTo.js":144,"./node_modules/rxjs/_esm2015/internal/operators/count.js":145,"./node_modules/rxjs/_esm5/internal/operators/count.js":145,"./node_modules/rxjs/_esm2015/internal/operators/debounce.js":146,"./node_modules/rxjs/_esm5/internal/operators/debounce.js":146,"./node_modules/rxjs/_esm2015/internal/operators/debounceTime.js":147,"./node_modules/rxjs/_esm5/internal/operators/debounceTime.js":147,"./node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js":148,"./node_modules/rxjs/_esm5/internal/operators/defaultIfEmpty.js":148,"./node_modules/rxjs/_esm2015/internal/operators/delay.js":149,"./node_modules/rxjs/_esm5/internal/operators/delay.js":149,"./node_modules/rxjs/_esm2015/internal/util/isDate.js":150,"./node_modules/rxjs/_esm5/internal/util/isDate.js":150,"./node_modules/rxjs/_esm2015/internal/operators/delayWhen.js":151,"./node_modules/rxjs/_esm5/internal/operators/delayWhen.js":151,"./node_modules/rxjs/_esm2015/internal/operators/dematerialize.js":152,"./node_modules/rxjs/_esm5/internal/operators/dematerialize.js":152,"./node_modules/rxjs/_esm2015/internal/operators/distinct.js":153,"./node_modules/rxjs/_esm5/internal/operators/distinct.js":153,"./node_modules/rxjs/_esm2015/internal/operators/distinctUntilChanged.js":154,"./node_modules/rxjs/_esm5/internal/operators/distinctUntilChanged.js":154,"./node_modules/rxjs/_esm2015/internal/operators/distinctUntilKeyChanged.js":155,"./node_modules/rxjs/_esm5/internal/operators/distinctUntilKeyChanged.js":155,"./node_modules/rxjs/_esm2015/internal/operators/elementAt.js":156,"./node_modules/rxjs/_esm5/internal/operators/elementAt.js":156,"./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js":157,"./node_modules/rxjs/_esm5/internal/operators/throwIfEmpty.js":157,"./node_modules/rxjs/_esm2015/internal/operators/take.js":158,"./node_modules/rxjs/_esm5/internal/operators/take.js":158,"./node_modules/rxjs/_esm2015/internal/operators/endWith.js":159,"./node_modules/rxjs/_esm5/internal/operators/endWith.js":159,"./node_modules/rxjs/_esm2015/internal/operators/every.js":160,"./node_modules/rxjs/_esm5/internal/operators/every.js":160,"./node_modules/rxjs/_esm2015/internal/operators/exhaust.js":161,"./node_modules/rxjs/_esm5/internal/operators/exhaust.js":161,"./node_modules/rxjs/_esm2015/internal/operators/exhaustMap.js":162,"./node_modules/rxjs/_esm5/internal/operators/exhaustMap.js":162,"./node_modules/rxjs/_esm2015/internal/operators/expand.js":163,"./node_modules/rxjs/_esm5/internal/operators/expand.js":163,"./node_modules/rxjs/_esm2015/internal/operators/finalize.js":164,"./node_modules/rxjs/_esm5/internal/operators/finalize.js":164,"./node_modules/rxjs/_esm2015/internal/operators/find.js":165,"./node_modules/rxjs/_esm5/internal/operators/find.js":165,"./node_modules/rxjs/_esm2015/internal/operators/findIndex.js":166,"./node_modules/rxjs/_esm5/internal/operators/findIndex.js":166,"./node_modules/rxjs/_esm2015/internal/operators/first.js":167,"./node_modules/rxjs/_esm5/internal/operators/first.js":167,"./node_modules/rxjs/_esm2015/internal/operators/ignoreElements.js":168,"./node_modules/rxjs/_esm5/internal/operators/ignoreElements.js":168,"./node_modules/rxjs/_esm2015/internal/operators/isEmpty.js":169,"./node_modules/rxjs/_esm5/internal/operators/isEmpty.js":169,"./node_modules/rxjs/_esm2015/internal/operators/last.js":170,"./node_modules/rxjs/_esm5/internal/operators/last.js":170,"./node_modules/rxjs/_esm2015/internal/operators/takeLast.js":171,"./node_modules/rxjs/_esm5/internal/operators/takeLast.js":171,"./node_modules/rxjs/_esm2015/internal/operators/mapTo.js":172,"./node_modules/rxjs/_esm5/internal/operators/mapTo.js":172,"./node_modules/rxjs/_esm2015/internal/operators/materialize.js":173,"./node_modules/rxjs/_esm5/internal/operators/materialize.js":173,"./node_modules/rxjs/_esm2015/internal/operators/max.js":174,"./node_modules/rxjs/_esm5/internal/operators/max.js":174,"./node_modules/rxjs/_esm2015/internal/operators/reduce.js":175,"./node_modules/rxjs/_esm5/internal/operators/reduce.js":175,"./node_modules/rxjs/_esm2015/internal/operators/scan.js":176,"./node_modules/rxjs/_esm5/internal/operators/scan.js":176,"./node_modules/rxjs/_esm2015/internal/operators/merge.js":177,"./node_modules/rxjs/_esm5/internal/operators/merge.js":177,"./node_modules/rxjs/_esm2015/internal/operators/mergeMapTo.js":178,"./node_modules/rxjs/_esm5/internal/operators/mergeMapTo.js":178,"./node_modules/rxjs/_esm2015/internal/operators/mergeScan.js":179,"./node_modules/rxjs/_esm5/internal/operators/mergeScan.js":179,"./node_modules/rxjs/_esm2015/internal/operators/min.js":180,"./node_modules/rxjs/_esm5/internal/operators/min.js":180,"./node_modules/rxjs/_esm2015/internal/operators/multicast.js":181,"./node_modules/rxjs/_esm5/internal/operators/multicast.js":181,"./node_modules/rxjs/_esm2015/internal/operators/onErrorResumeNext.js":182,"./node_modules/rxjs/_esm5/internal/operators/onErrorResumeNext.js":182,"./node_modules/rxjs/_esm2015/internal/operators/pairwise.js":183,"./node_modules/rxjs/_esm5/internal/operators/pairwise.js":183,"./node_modules/rxjs/_esm2015/internal/operators/partition.js":184,"./node_modules/rxjs/_esm5/internal/operators/partition.js":184,"./node_modules/rxjs/_esm2015/internal/operators/pluck.js":185,"./node_modules/rxjs/_esm5/internal/operators/pluck.js":185,"./node_modules/rxjs/_esm2015/internal/operators/publish.js":186,"./node_modules/rxjs/_esm5/internal/operators/publish.js":186,"./node_modules/rxjs/_esm2015/internal/operators/publishBehavior.js":187,"./node_modules/rxjs/_esm5/internal/operators/publishBehavior.js":187,"./node_modules/rxjs/_esm2015/internal/operators/publishLast.js":188,"./node_modules/rxjs/_esm5/internal/operators/publishLast.js":188,"./node_modules/rxjs/_esm2015/internal/operators/publishReplay.js":189,"./node_modules/rxjs/_esm5/internal/operators/publishReplay.js":189,"./node_modules/rxjs/_esm2015/internal/operators/race.js":190,"./node_modules/rxjs/_esm5/internal/operators/race.js":190,"./node_modules/rxjs/_esm2015/internal/operators/repeat.js":191,"./node_modules/rxjs/_esm5/internal/operators/repeat.js":191,"./node_modules/rxjs/_esm2015/internal/operators/repeatWhen.js":192,"./node_modules/rxjs/_esm5/internal/operators/repeatWhen.js":192,"./node_modules/rxjs/_esm2015/internal/operators/retry.js":193,"./node_modules/rxjs/_esm5/internal/operators/retry.js":193,"./node_modules/rxjs/_esm2015/internal/operators/retryWhen.js":194,"./node_modules/rxjs/_esm5/internal/operators/retryWhen.js":194,"./node_modules/rxjs/_esm2015/internal/operators/sample.js":195,"./node_modules/rxjs/_esm5/internal/operators/sample.js":195,"./node_modules/rxjs/_esm2015/internal/operators/sampleTime.js":196,"./node_modules/rxjs/_esm5/internal/operators/sampleTime.js":196,"./node_modules/rxjs/_esm2015/internal/operators/sequenceEqual.js":197,"./node_modules/rxjs/_esm5/internal/operators/sequenceEqual.js":197,"./node_modules/rxjs/_esm2015/internal/operators/share.js":198,"./node_modules/rxjs/_esm5/internal/operators/share.js":198,"./node_modules/rxjs/_esm2015/internal/operators/shareReplay.js":199,"./node_modules/rxjs/_esm5/internal/operators/shareReplay.js":199,"./node_modules/rxjs/_esm2015/internal/operators/single.js":200,"./node_modules/rxjs/_esm5/internal/operators/single.js":200,"./node_modules/rxjs/_esm2015/internal/operators/skip.js":201,"./node_modules/rxjs/_esm5/internal/operators/skip.js":201,"./node_modules/rxjs/_esm2015/internal/operators/skipLast.js":202,"./node_modules/rxjs/_esm5/internal/operators/skipLast.js":202,"./node_modules/rxjs/_esm2015/internal/operators/skipUntil.js":203,"./node_modules/rxjs/_esm5/internal/operators/skipUntil.js":203,"./node_modules/rxjs/_esm2015/internal/operators/skipWhile.js":204,"./node_modules/rxjs/_esm5/internal/operators/skipWhile.js":204,"./node_modules/rxjs/_esm2015/internal/operators/startWith.js":205,"./node_modules/rxjs/_esm5/internal/operators/startWith.js":205,"./node_modules/rxjs/_esm2015/internal/operators/subscribeOn.js":206,"./node_modules/rxjs/_esm5/internal/operators/subscribeOn.js":206,"./node_modules/rxjs/_esm2015/internal/observable/SubscribeOnObservable.js":207,"./node_modules/rxjs/_esm5/internal/observable/SubscribeOnObservable.js":207,"./node_modules/rxjs/_esm2015/internal/operators/switchAll.js":208,"./node_modules/rxjs/_esm5/internal/operators/switchAll.js":208,"./node_modules/rxjs/_esm2015/internal/operators/switchMap.js":209,"./node_modules/rxjs/_esm5/internal/operators/switchMap.js":209,"./node_modules/rxjs/_esm2015/internal/operators/switchMapTo.js":210,"./node_modules/rxjs/_esm5/internal/operators/switchMapTo.js":210,"./node_modules/rxjs/_esm2015/internal/operators/takeUntil.js":211,"./node_modules/rxjs/_esm5/internal/operators/takeUntil.js":211,"./node_modules/rxjs/_esm2015/internal/operators/takeWhile.js":212,"./node_modules/rxjs/_esm5/internal/operators/takeWhile.js":212,"./node_modules/rxjs/_esm2015/internal/operators/tap.js":213,"./node_modules/rxjs/_esm5/internal/operators/tap.js":213,"./node_modules/rxjs/_esm2015/internal/operators/throttle.js":214,"./node_modules/rxjs/_esm5/internal/operators/throttle.js":214,"./node_modules/rxjs/_esm2015/internal/operators/throttleTime.js":215,"./node_modules/rxjs/_esm5/internal/operators/throttleTime.js":215,"./node_modules/rxjs/_esm2015/internal/operators/timeInterval.js":216,"./node_modules/rxjs/_esm5/internal/operators/timeInterval.js":216,"./node_modules/rxjs/_esm2015/internal/operators/timeout.js":217,"./node_modules/rxjs/_esm5/internal/operators/timeout.js":217,"./node_modules/rxjs/_esm2015/internal/operators/timeoutWith.js":218,"./node_modules/rxjs/_esm5/internal/operators/timeoutWith.js":218,"./node_modules/rxjs/_esm2015/internal/operators/timestamp.js":219,"./node_modules/rxjs/_esm5/internal/operators/timestamp.js":219,"./node_modules/rxjs/_esm2015/internal/operators/toArray.js":220,"./node_modules/rxjs/_esm5/internal/operators/toArray.js":220,"./node_modules/rxjs/_esm2015/internal/operators/window.js":221,"./node_modules/rxjs/_esm5/internal/operators/window.js":221,"./node_modules/rxjs/_esm2015/internal/operators/windowCount.js":222,"./node_modules/rxjs/_esm5/internal/operators/windowCount.js":222,"./node_modules/rxjs/_esm2015/internal/operators/windowTime.js":223,"./node_modules/rxjs/_esm5/internal/operators/windowTime.js":223,"./node_modules/rxjs/_esm2015/internal/operators/windowToggle.js":224,"./node_modules/rxjs/_esm5/internal/operators/windowToggle.js":224,"./node_modules/rxjs/_esm2015/internal/operators/windowWhen.js":225,"./node_modules/rxjs/_esm5/internal/operators/windowWhen.js":225,"./node_modules/rxjs/_esm2015/internal/operators/withLatestFrom.js":226,"./node_modules/rxjs/_esm5/internal/operators/withLatestFrom.js":226,"./node_modules/rxjs/_esm2015/internal/operators/zip.js":227,"./node_modules/rxjs/_esm5/internal/operators/zip.js":227,"./node_modules/rxjs/_esm2015/internal/operators/zipAll.js":228,"./node_modules/rxjs/_esm5/internal/operators/zipAll.js":228,"./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js":229,"./node_modules/@angular/core/__ivy_ngcc__/fesm5/core.js":229,"./node_modules/tslib/tslib.es6.js":259,"./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js":260,"./node_modules/@angular/router/__ivy_ngcc__/fesm5/router.js":260,"./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js":261,"./node_modules/@angular/common/__ivy_ngcc__/fesm5/common.js":261,"./node_modules/@angular/common/__ivy_ngcc__/fesm2015/http.js":283,"./node_modules/@angular/common/__ivy_ngcc__/fesm5/http.js":283,"./node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/platform-browser.js":312,"./node_modules/@angular/platform-browser/__ivy_ngcc__/fesm5/platform-browser.js":312,"./node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js":324,"./node_modules/@angular/forms/__ivy_ngcc__/fesm5/forms.js":324,"./node_modules/@angular/animations/__ivy_ngcc__/fesm2015/animations.js":364,"./node_modules/@angular/animations/__ivy_ngcc__/fesm5/animations.js":364,"./node_modules/@angular-devkit/build-angular/node_modules/webpack/buildin/harmony-module.js":422,"./node_modules/@angular/http/__ivy_ngcc__/fesm2015/http.js":1241,"./node_modules/@angular/http/__ivy_ngcc__/fesm5/http.js":1241,"./node_modules/rxjs/_esm2015/internal-compatibility/index.js":1507,"./node_modules/rxjs/_esm5/internal-compatibility/index.js":1507,"./node_modules/rxjs/_esm2015/internal/observable/fromPromise.js":1508,"./node_modules/rxjs/_esm5/internal/observable/fromPromise.js":1508,"./node_modules/rxjs/_esm2015/internal/observable/fromIterable.js":1509,"./node_modules/rxjs/_esm5/internal/observable/fromIterable.js":1509,"./node_modules/rxjs/_esm2015/internal/observable/dom/ajax.js":1510,"./node_modules/rxjs/_esm5/internal/observable/dom/ajax.js":1510,"./node_modules/rxjs/_esm2015/internal/observable/dom/AjaxObservable.js":1511,"./node_modules/rxjs/_esm5/internal/observable/dom/AjaxObservable.js":1511,"./node_modules/rxjs/_esm2015/internal/util/root.js":1512,"./node_modules/rxjs/_esm5/internal/util/root.js":1512,"./node_modules/rxjs/_esm2015/internal/observable/dom/webSocket.js":1513,"./node_modules/rxjs/_esm5/internal/observable/dom/webSocket.js":1513,"./node_modules/rxjs/_esm2015/internal/observable/dom/WebSocketSubject.js":1514,"./node_modules/rxjs/_esm5/internal/observable/dom/WebSocketSubject.js":1514,"./node_modules/rxjs/_esm2015/internal/util/applyMixins.js":1515,"./node_modules/rxjs/_esm5/internal/util/applyMixins.js":1515,"./node_modules/rxjs/_esm2015/internal/util/errorObject.js":1516,"./node_modules/rxjs/_esm5/internal/util/errorObject.js":1516,"./node_modules/rxjs/_esm2015/internal/util/tryCatch.js":1517,"./node_modules/rxjs/_esm5/internal/util/tryCatch.js":1517,"./node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/animations.js":1567,"./node_modules/@angular/platform-browser/__ivy_ngcc__/fesm5/animations.js":1567,"./node_modules/@angular/animations/__ivy_ngcc__/fesm2015/browser.js":1568,"./node_modules/@angular/animations/__ivy_ngcc__/fesm5/browser.js":1568,"./node_modules/rxjs/internal/operators/map.js":1672,"./node_modules/rxjs/internal/Subscriber.js":1673,"./node_modules/rxjs/internal/util/isFunction.js":1674,"./node_modules/rxjs/internal/Observer.js":1675,"./node_modules/rxjs/internal/config.js":1676,"./node_modules/rxjs/internal/util/hostReportError.js":1677,"./node_modules/rxjs/internal/Subscription.js":1678,"./node_modules/rxjs/internal/util/isArray.js":1679,"./node_modules/rxjs/internal/util/isObject.js":1680,"./node_modules/rxjs/internal/util/UnsubscriptionError.js":1681,"./node_modules/rxjs/internal/symbol/rxSubscriber.js":1682,"./node_modules/rxjs/internal/operators/index.js":1882,"./node_modules/rxjs/internal/operators/audit.js":1883,"./node_modules/rxjs/internal/innerSubscribe.js":1884,"./node_modules/rxjs/internal/Observable.js":1885,"./node_modules/rxjs/internal/util/canReportError.js":1886,"./node_modules/rxjs/internal/util/toSubscriber.js":1887,"./node_modules/rxjs/internal/symbol/observable.js":1888,"./node_modules/rxjs/internal/util/pipe.js":1889,"./node_modules/rxjs/internal/util/identity.js":1890,"./node_modules/rxjs/internal/util/subscribeTo.js":1891,"./node_modules/rxjs/internal/util/subscribeToArray.js":1892,"./node_modules/rxjs/internal/util/subscribeToPromise.js":1893,"./node_modules/rxjs/internal/util/subscribeToIterable.js":1894,"./node_modules/rxjs/internal/symbol/iterator.js":1895,"./node_modules/rxjs/internal/util/subscribeToObservable.js":1896,"./node_modules/rxjs/internal/util/isArrayLike.js":1897,"./node_modules/rxjs/internal/util/isPromise.js":1898,"./node_modules/rxjs/internal/operators/auditTime.js":1899,"./node_modules/rxjs/internal/scheduler/async.js":1900,"./node_modules/rxjs/internal/scheduler/AsyncAction.js":1901,"./node_modules/rxjs/internal/scheduler/Action.js":1902,"./node_modules/rxjs/internal/scheduler/AsyncScheduler.js":1903,"./node_modules/rxjs/internal/Scheduler.js":1904,"./node_modules/rxjs/internal/observable/timer.js":1905,"./node_modules/rxjs/internal/util/isNumeric.js":1906,"./node_modules/rxjs/internal/util/isScheduler.js":1907,"./node_modules/rxjs/internal/operators/buffer.js":1908,"./node_modules/rxjs/internal/operators/bufferCount.js":1909,"./node_modules/rxjs/internal/operators/bufferTime.js":1910,"./node_modules/rxjs/internal/operators/bufferToggle.js":1911,"./node_modules/rxjs/internal/util/subscribeToResult.js":1912,"./node_modules/rxjs/internal/InnerSubscriber.js":1913,"./node_modules/rxjs/internal/OuterSubscriber.js":1914,"./node_modules/rxjs/internal/operators/bufferWhen.js":1915,"./node_modules/rxjs/internal/operators/catchError.js":1916,"./node_modules/rxjs/internal/operators/combineAll.js":1917,"./node_modules/rxjs/internal/observable/combineLatest.js":1918,"./node_modules/rxjs/internal/observable/fromArray.js":1919,"./node_modules/rxjs/internal/scheduled/scheduleArray.js":1920,"./node_modules/rxjs/internal/operators/combineLatest.js":1921,"./node_modules/rxjs/internal/observable/from.js":1922,"./node_modules/rxjs/internal/scheduled/scheduled.js":1923,"./node_modules/rxjs/internal/scheduled/scheduleObservable.js":1924,"./node_modules/rxjs/internal/scheduled/schedulePromise.js":1925,"./node_modules/rxjs/internal/scheduled/scheduleIterable.js":1926,"./node_modules/rxjs/internal/util/isInteropObservable.js":1927,"./node_modules/rxjs/internal/util/isIterable.js":1928,"./node_modules/rxjs/internal/operators/concat.js":1929,"./node_modules/rxjs/internal/observable/concat.js":1930,"./node_modules/rxjs/internal/observable/of.js":1931,"./node_modules/rxjs/internal/operators/concatAll.js":1932,"./node_modules/rxjs/internal/operators/mergeAll.js":1933,"./node_modules/rxjs/internal/operators/mergeMap.js":1934,"./node_modules/rxjs/internal/operators/concatMap.js":1935,"./node_modules/rxjs/internal/operators/concatMapTo.js":1936,"./node_modules/rxjs/internal/operators/count.js":1937,"./node_modules/rxjs/internal/operators/debounce.js":1938,"./node_modules/rxjs/internal/operators/debounceTime.js":1939,"./node_modules/rxjs/internal/operators/defaultIfEmpty.js":1940,"./node_modules/rxjs/internal/operators/delay.js":1941,"./node_modules/rxjs/internal/util/isDate.js":1942,"./node_modules/rxjs/internal/Notification.js":1943,"./node_modules/rxjs/internal/observable/empty.js":1944,"./node_modules/rxjs/internal/observable/throwError.js":1945,"./node_modules/rxjs/internal/operators/delayWhen.js":1946,"./node_modules/rxjs/internal/operators/dematerialize.js":1947,"./node_modules/rxjs/internal/operators/distinct.js":1948,"./node_modules/rxjs/internal/operators/distinctUntilChanged.js":1949,"./node_modules/rxjs/internal/operators/distinctUntilKeyChanged.js":1950,"./node_modules/rxjs/internal/operators/elementAt.js":1951,"./node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js":1952,"./node_modules/rxjs/internal/operators/filter.js":1953,"./node_modules/rxjs/internal/operators/throwIfEmpty.js":1954,"./node_modules/rxjs/internal/util/EmptyError.js":1955,"./node_modules/rxjs/internal/operators/take.js":1956,"./node_modules/rxjs/internal/operators/every.js":1957,"./node_modules/rxjs/internal/operators/exhaust.js":1958,"./node_modules/rxjs/internal/operators/exhaustMap.js":1959,"./node_modules/rxjs/internal/operators/expand.js":1960,"./node_modules/rxjs/internal/operators/finalize.js":1961,"./node_modules/rxjs/internal/operators/find.js":1962,"./node_modules/rxjs/internal/operators/findIndex.js":1963,"./node_modules/rxjs/internal/operators/first.js":1964,"./node_modules/rxjs/internal/operators/groupBy.js":1965,"./node_modules/rxjs/internal/Subject.js":1966,"./node_modules/rxjs/internal/util/ObjectUnsubscribedError.js":1967,"./node_modules/rxjs/internal/SubjectSubscription.js":1968,"./node_modules/rxjs/internal/operators/ignoreElements.js":1969,"./node_modules/rxjs/internal/operators/isEmpty.js":1970,"./node_modules/rxjs/internal/operators/last.js":1971,"./node_modules/rxjs/internal/operators/takeLast.js":1972,"./node_modules/rxjs/internal/operators/mapTo.js":1973,"./node_modules/rxjs/internal/operators/materialize.js":1974,"./node_modules/rxjs/internal/operators/max.js":1975,"./node_modules/rxjs/internal/operators/reduce.js":1976,"./node_modules/rxjs/internal/operators/scan.js":1977,"./node_modules/rxjs/internal/operators/merge.js":1978,"./node_modules/rxjs/internal/observable/merge.js":1979,"./node_modules/rxjs/internal/operators/mergeMapTo.js":1980,"./node_modules/rxjs/internal/operators/mergeScan.js":1981,"./node_modules/rxjs/internal/operators/min.js":1982,"./node_modules/rxjs/internal/operators/multicast.js":1983,"./node_modules/rxjs/internal/observable/ConnectableObservable.js":1984,"./node_modules/rxjs/internal/operators/refCount.js":1985,"./node_modules/rxjs/internal/operators/observeOn.js":1986,"./node_modules/rxjs/internal/operators/onErrorResumeNext.js":1987,"./node_modules/rxjs/internal/operators/pairwise.js":1988,"./node_modules/rxjs/internal/operators/partition.js":1989,"./node_modules/rxjs/internal/util/not.js":1990,"./node_modules/rxjs/internal/operators/pluck.js":1991,"./node_modules/rxjs/internal/operators/publish.js":1992,"./node_modules/rxjs/internal/operators/publishBehavior.js":1993,"./node_modules/rxjs/internal/BehaviorSubject.js":1994,"./node_modules/rxjs/internal/operators/publishLast.js":1995,"./node_modules/rxjs/internal/AsyncSubject.js":1996,"./node_modules/rxjs/internal/operators/publishReplay.js":1997,"./node_modules/rxjs/internal/ReplaySubject.js":1998,"./node_modules/rxjs/internal/scheduler/queue.js":1999,"./node_modules/rxjs/internal/scheduler/QueueAction.js":2000,"./node_modules/rxjs/internal/scheduler/QueueScheduler.js":2001,"./node_modules/rxjs/internal/operators/race.js":2002,"./node_modules/rxjs/internal/observable/race.js":2003,"./node_modules/rxjs/internal/operators/repeat.js":2004,"./node_modules/rxjs/internal/operators/repeatWhen.js":2005,"./node_modules/rxjs/internal/operators/retry.js":2006,"./node_modules/rxjs/internal/operators/retryWhen.js":2007,"./node_modules/rxjs/internal/operators/sample.js":2008,"./node_modules/rxjs/internal/operators/sampleTime.js":2009,"./node_modules/rxjs/internal/operators/sequenceEqual.js":2010,"./node_modules/rxjs/internal/operators/share.js":2011,"./node_modules/rxjs/internal/operators/shareReplay.js":2012,"./node_modules/rxjs/internal/operators/single.js":2013,"./node_modules/rxjs/internal/operators/skip.js":2014,"./node_modules/rxjs/internal/operators/skipLast.js":2015,"./node_modules/rxjs/internal/operators/skipUntil.js":2016,"./node_modules/rxjs/internal/operators/skipWhile.js":2017,"./node_modules/rxjs/internal/operators/startWith.js":2018,"./node_modules/rxjs/internal/operators/subscribeOn.js":2019,"./node_modules/rxjs/internal/observable/SubscribeOnObservable.js":2020,"./node_modules/rxjs/internal/scheduler/asap.js":2021,"./node_modules/rxjs/internal/scheduler/AsapAction.js":2022,"./node_modules/rxjs/internal/util/Immediate.js":2023,"./node_modules/rxjs/internal/scheduler/AsapScheduler.js":2024,"./node_modules/rxjs/internal/operators/switchAll.js":2025,"./node_modules/rxjs/internal/operators/switchMap.js":2026,"./node_modules/rxjs/internal/operators/switchMapTo.js":2027,"./node_modules/rxjs/internal/operators/takeUntil.js":2028,"./node_modules/rxjs/internal/operators/takeWhile.js":2029,"./node_modules/rxjs/internal/operators/tap.js":2030,"./node_modules/rxjs/internal/util/noop.js":2031,"./node_modules/rxjs/internal/operators/throttle.js":2032,"./node_modules/rxjs/internal/operators/throttleTime.js":2033,"./node_modules/rxjs/internal/operators/timeInterval.js":2034,"./node_modules/rxjs/internal/observable/defer.js":2035,"./node_modules/rxjs/internal/operators/timeout.js":2036,"./node_modules/rxjs/internal/util/TimeoutError.js":2037,"./node_modules/rxjs/internal/operators/timeoutWith.js":2038,"./node_modules/rxjs/internal/operators/timestamp.js":2039,"./node_modules/rxjs/internal/operators/toArray.js":2040,"./node_modules/rxjs/internal/operators/window.js":2041,"./node_modules/rxjs/internal/operators/windowCount.js":2042,"./node_modules/rxjs/internal/operators/windowTime.js":2043,"./node_modules/rxjs/internal/operators/windowToggle.js":2044,"./node_modules/rxjs/internal/operators/windowWhen.js":2045,"./node_modules/rxjs/internal/operators/withLatestFrom.js":2046,"./node_modules/rxjs/internal/operators/zip.js":2047,"./node_modules/rxjs/internal/observable/zip.js":2048,"./node_modules/rxjs/internal/operators/zipAll.js":2049,"./node_modules/@angular/elements/__ivy_ngcc__/fesm2015/elements.js":2115,"./node_modules/@angular/elements/__ivy_ngcc__/fesm5/elements.js":2115,"./node_modules/rxjs/internal/observable/fromPromise.js":2153,"./node_modules/@angular/platform-browser-dynamic/__ivy_ngcc__/fesm2015/platform-browser-dynamic.js":2199,"./node_modules/@angular/platform-browser-dynamic/__ivy_ngcc__/fesm5/platform-browser-dynamic.js":2199,"./node_modules/@angular/compiler/fesm2015/compiler.js":2200,"./node_modules/@angular/compiler/fesm5/compiler.js":2200};window.__iris_require__=function(e){if(!IRIS_MANIFEST)throw new Error("Manifest has not been loaded yet.");if(IRIS_MANIFEST.hasOwnProperty(e)){var t=IRIS_MANIFEST[e];return n(t)}return n(e)};var o=function(){function SitefinityExtensionStore(){this.extensionModules=[]}return SitefinityExtensionStore.prototype.addExtensionModule=function(e){this.extensionModules.push(e)},SitefinityExtensionStore.prototype.getExtensionModules=function(){return this.extensionModules},SitefinityExtensionStore}();window.sitefinityExtensionsStore=new o},function(e,t,n){"use strict";n.r(t);var o=n(1480);n.d(t,"NotificationInfo",(function(){return o.NotificationInfo}));var i=n(1556);n.d(t,"NotificationService",(function(){return i.NotificationService})),n.d(t,"NOTIFICATION_SERVICE",(function(){return i.NOTIFICATION_SERVICE}));var r=n(1557);n.d(t,"NOTIFICATION_LOOK_SUCCESS",(function(){return r.NOTIFICATION_LOOK_SUCCESS})),n.d(t,"NOTIFICATION_LOOK_ERROR",(function(){return r.NOTIFICATION_LOOK_ERROR})),n.d(t,"NOTIFICATION_LOOK_WARNING",(function(){return r.NOTIFICATION_LOOK_WARNING}))},function(e,t,n){"use strict";n.r(t);var o=n(1481);n.d(t,"NotificationInfo",(function(){return o.NotificationInfo}))},function(e,t,n){"use strict";n.r(t),n.d(t,"TAB_NAME_LAYOUT",(function(){return T})),n.d(t,"TAB_NAME_NAVIGATION",(function(){return M})),n.d(t,"TAB_NAME_CONTENT",(function(){return D})),n.d(t,"WIDGET_OPERATION_NAME_QUICKEDIT",(function(){return Q})),n.d(t,"WIDGET_OPERATION_NAME_DUPLICATE",(function(){return N})),n.d(t,"WIDGET_OPERATION_NAME_COPY_SETTINGS",(function(){return R})),n.d(t,"SPLITTER_EVENTS",(function(){return F})),n.d(t,"ZONE_EDITOR_NOTIFICATION_FILTER",(function(){return P})),n.d(t,"EnhancedPageComponent",(function(){return U})),n.d(t,"NotificationInfo",(function(){return L}));var o=n(259),i=n(229),r=n(260),a=(n(317),n(11)),s=n(131),A=n(264),l=n(1482),c=n(1484),d=n(1506),p=n(1483),f=n(1118),u=n(1551),m=n(1491),g=n(1552),E=n(322),h=n(1553),b=n(361),C=n(326),B=n(1554),k=n(244),I=n(1204),v=n(1139),w=n(1177),_=n(1178),x=n(369),y=n(262),S=["iframe"];function EnhancedPageComponent_iframe_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"iframe",2,3),i["ɵɵlistener"]("load",(function EnhancedPageComponent_iframe_0_Template_iframe_load_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onContentLoaded()})),i["ɵɵpipe"](2,"sfSafe"),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("src",i["ɵɵpipeBind2"](2,2,o.iFrameUrl,"resourceUrl"),i["ɵɵsanitizeResourceUrl"]),i["ɵɵattribute"]("class",o.iFrameCssClass)}}var T="Layout",M="Navigation",D="Content",Q="quickedit",N="duplicate",R="copy-settings",F=["pointermove","pointercancel","pointerup"],O=n(1555).default,P="zone-editor",U=function(e){function EnhancedPageComponent(t,n,o,r,s,A,l,c,d,p){var f=e.call(this)||this;return f.siteDataStore=t,f.modalWindowService=n,f.route=o,f.zoneEditorContract=r,f.renderer=s,f.treeService=A,f.styleSheetService=l,f.notificationService=c,f.windowProvider=d,f.scrollService=p,f.frameLoaded=new i.EventEmitter,f.layoutChanged=new i.EventEmitter,f.addWidgetClicked=new i.EventEmitter,f.editWidgetClicked=new i.EventEmitter,f.onComponentClicked=new i.EventEmitter,f.onComponentOperationExecuted=new i.EventEmitter,f.notificationFilter=P,f.currentlyDraggedElementTitle=new a.ReplaySubject(1),f.dragImagesMap=new Map,f.dragImagesSrcList=g.DRAG_IMAGES_SRC_LIST,f.waitForInsert=!1,f}return Object(o.__extends)(EnhancedPageComponent,e),Object.defineProperty(EnhancedPageComponent.prototype,"documentProvider",{get:function(){return this.windowProvider.document},enumerable:!1,configurable:!0}),Object.defineProperty(EnhancedPageComponent.prototype,"documentIFrameElement",{get:function(){return this.iframe.nativeElement.contentWindow.document},enumerable:!1,configurable:!0}),Object.defineProperty(EnhancedPageComponent.prototype,"commonToolbarOptions",{get:function(){return{widget:null,dataItem:this.dataItem,iframe:this.iframe,route:this.route,windowElement:this.iframe.nativeElement.contentWindow,segmentId:this.state.SegmentId}},enumerable:!1,configurable:!0}),EnhancedPageComponent.prototype.ngOnInit=function(){this.iFrameCssClass=this.generateIFrameLook()},EnhancedPageComponent.prototype.ngOnChanges=function(e){e.iFrameLook&&(this.iFrameCssClass=this.generateIFrameLook())},EnhancedPageComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.removeListeners()},EnhancedPageComponent.prototype.onContentLoaded=function(){if(this.iframe){if(this.frameLoaded.emit(),!this.state.EditAllowed)return;var t=this.documentIFrameElement.title.toLowerCase();if(t.includes("404")||t.includes("cannot process page")){this.removeListeners();return void this.showNotificationMessage('
    Page cannot be displayed. Enable .NET Core renderer or contact your administrator.
    How to set up .NET Core renderer?
    What is .NET Core renderer?
    ',_.NOTIFICATION_LOOKS.WARNING,!0,!0)}if(t.includes("internal server error"))return void this.removeListeners();var n=this.documentIFrameElement.querySelector("body"),o=this.iframe.nativeElement.contentWindow.rendererContract;if(!o)return void this.showErrorMessage("No contract for communication with the zone editor was found on the rendered page.",!0);this.renderer.initialize(o);try{e.prototype.removeSubsriptions.call(this),this.subscribeEmptyLinks(),this.loadResources(),this.subscribeToDocumentEvents(),this.treeService.commonToolbarOptions=this.commonToolbarOptions;var i=this.documentIFrameElement.body;this.rootContainer=this.treeService.initializeTree(i,i.parentElement,this.state),this.enhance(this.rootContainer),this.onLayoutChanged()}catch(e){return e=e||"Unhandled error occured",this.showErrorMessage(e.toString()),void this.removeListeners()}n.hasAttribute(p.ATTR_ORPHANS)&&this.showNotificationMessage("Some of the widgets are placed outside the page template and will not be displayed on the public site.",_.NOTIFICATION_LOOKS.WARNING,!1,!0),this.addSplitterEvents(),this.prepareDragImages()}},EnhancedPageComponent.prototype.addSplitterEvents=function(){var e=this;F.forEach((function(t){e.iframe.nativeElement.contentDocument.removeEventListener(t,e,!1)})),F.forEach((function(t){e.iframe.nativeElement.contentDocument.addEventListener(t,e,!1)}))},EnhancedPageComponent.prototype.handleEvent=function(e){var t=new PointerEvent(e.type,e);document.dispatchEvent(t)},EnhancedPageComponent.prototype.prepareDragImages=function(){var e=this;this.dragImagesSrcList.forEach((function(t){Object.keys(t).forEach((function(n){var o=e.documentProvider.createElement(b.NODE_NAMES.IMAGE_ELEMENT);o.src="data:image/gif;base64,"+t[n],e.dragImagesMap.set(n,o)}))}))},EnhancedPageComponent.prototype.focusWidget=function(e){var t=this.treeService.findComponent(this.rootContainer,e);if(t){var n=this.iframe.nativeElement.contentWindow.pageYOffset+t.domElement.getBoundingClientRect().top-30;this.scrollService.scrollToPoint(n,void 0,this.iframe.nativeElement.contentWindow),this.onWidgetClicked(null,t)}},EnhancedPageComponent.prototype.reloadPersonalizedWidgets=function(e,t){var n=this;this.zoneEditorContract.getLazyComponents(this.dataItem,e,t).subscribe((function(e){n.siteDataStore.getValue().subscribe((function(t){var o=e.Components.map((function(e){return n.renderer.renderWidget({siteId:t.Id,dataItem:n.dataItem,model:e}).pipe(Object(s.map)((function(t){return{model:e,renderResult:t}})))}));Object(a.forkJoin)(o).subscribe((function(t){t.forEach((function(t){var o=n.treeService.findComponent(n.rootContainer,t.model.Id),i=n.treeService.refreshNode(o,e.WidgetState,t.renderResult.content,!0);n.enhance(i),n.loadScriptsAndDispatchEvent(t.renderResult,t.model,i.domElement)}))}))}))}))},EnhancedPageComponent.prototype.generateIFrameLook=function(){var e="sf-zone__frame";return this.iFrameLook&&(e+=" -"+this.iFrameLook.split(" ").join(" -")),e},EnhancedPageComponent.prototype.enhance=function(e){this.treeService.iterateTree(e,this.enhanceWidget.bind(this),this.enhanceContainer.bind(this))},EnhancedPageComponent.prototype.enhanceContainer=function(e){var t=this;e.enhanced||(e.parentComponent||(e.domElement.classList.add(p.CLASS_STATIC_CONTAINER),e.addEventListener("mouseover",(function(n){return t.onMouseOver(n,e)})),e.addEventListener("mouseout",(function(n){return t.onMouseOver(n,e,!1)}))),this.enhanceWithDrop(e,e,!1))},EnhancedPageComponent.prototype.enhanceWidget=function(e){var t=this;e.enhanced||(e.removeListeners(),e.domElement.setAttribute(p.ATTR_DRAGGABLE,e.moveAllowed.toString()),e.moveAllowed&&(e.addEventListener("dragstart",(function(n){return t.drag(n,e)})),e.addEventListener("dragend",(function(n){return t.dragEnd(n,e)}))),e.addEventListener("mousedown",(function(t){e.moveAllowed?(t.stopImmediatePropagation(),t.stopPropagation()):t.preventDefault()})),e.addEventListener("mouseover",(function(n){return t.onMouseOver(n,e)})),e.addEventListener("mouseout",(function(n){return t.onMouseOver(n,e,!1)})),e.iscontentwidget&&this.setCssPositionAndDisplay(e),e.addEventListener("click",(function(n){return t.onWidgetClicked(n,e)})),e.editAllowed&&e.quickEditMenu&&e.quickEditMenu.instance.setCloseModalCallback((function(n){t.handleQuickEditOperation(e,n)})),e.iscontentwidget&&this.enhanceWithDrop(e,e.parentContainer,e.iscontentwidget),e.enhanced=!0)},EnhancedPageComponent.prototype.setCssPositionAndDisplay=function(e){var t=e.domElement,n=this.windowProvider.getComputedStyle(t);"static"===n.position&&t.classList.add("-sf-relative"),"inline"===n.display&&(t.classList.add(p.CLASS_INLINE_BLOCK),this.handleSvgImageStyles(e.domElement))},EnhancedPageComponent.prototype.handleSvgImageStyles=function(e){var t=e.nodeName===b.NODE_NAMES.IMAGE_ELEMENT?[e]:e.querySelectorAll(b.NODE_NAMES.IMAGE_ELEMENT);if(t)for(var n=!1,o=0;!n&&o-1&&(r=r.replace(r.slice(a,r.length),""));var A=r.endsWith(".svg")||s>-1,l=0===i.clientWidth&&0===i.clientHeight;A&&l&&(i.closest("["+p.ATTR_COMPONENT_ID+"]").classList.add("-sf-width-100"),n=!0),o++}},EnhancedPageComponent.prototype.enhanceWithDrop=function(e,t,n){var o=this;e.addEventListener("drop",(function(e){return o.drop(e,t,n,n)})),e.addEventListener("dragover",(function(t){return o.dragOver(t,e,n)})),e.addEventListener("dragleave",(function(e){return o.dragLeave(e,n)}))},EnhancedPageComponent.prototype.handleQuickEditOperation=function(e,t){t.SourceOperation.Name!==I.PropertyEditorOperations.CANCEL?this.handleWidgetOperationExecution(e,{Success:!0,SourceOperation:{Name:Q}}):this.treeService.removeQuickEditMenu(e)},EnhancedPageComponent.prototype.handleWidgetOperationExecution=function(e,t){var n=this,o=this.handlePersonlalizationChange(e,t);o.handleAction&&(t.SourceOperation.PerformsDelete&&t.Success&&!o.isDeletingPersonalization?(this.treeService.removeNode(e),this.onLayoutChanged()):t.Link?this.windowProvider.open(t.Link,"_self"):this.siteDataStore.getValue().subscribe((function(i){var r=!0;t.Message&&(n.notificationService.publishBasicNotification({message:t.Message,look:t.Type.toLowerCase(),filterParam:P}),r=!1),t.SkipRerender||(t.SourceOperation.Name!==N?n.getModelAndRender(i,n.dataItem,e.id,o.widgetSegmentId).subscribe((function(o){var i=n.treeService.refreshNode(e,o.model.WidgetState,o.renderResult.content,!0);n.enhance(i),t.SourceOperation.KeepFocus&&n.onWidgetClicked(null,i),t.SourceOperation.Name!==Q&&n.onLayoutChanged(r),n.loadScriptsAndDispatchEvent(o.renderResult,o.model,i.domElement)})):n.getModelAndRender(i,n.dataItem,t.State.Key,o.widgetSegmentId).subscribe((function(t){var o=n.treeService.addNodeFromHtml(e.parentContainer,t.model.WidgetState,t.renderResult.content,e.addWidgetComponents[e.addWidgetComponents.length-1].location.nativeElement);n.enhance(o),n.onLayoutChanged(r),n.loadScriptsAndDispatchEvent(t.renderResult,t.model,o.domElement)})))})))},EnhancedPageComponent.prototype.handlePersonlalizationChange=function(e,t){var n=null,o=!0,i=!1,r=null;return t.SourceOperation.ContextParameters&&(r=t.SourceOperation.ContextParameters.find((function(e){return e.Name===y.QUERY_PARAMS.WIDGET_SEGMENT_ID})))&&(t.SourceOperation.PerformsDelete?(i=!0,n=null,r=null):n=r.Value),!r&&t.AvailableActions&&1===t.AvailableActions.length&&(n=t.AvailableActions[0]),e.widgetSegmentId&&n&&e.widgetSegmentId===n&&!i&&(o=!1),n||(n=e.widgetSegmentId),{widgetSegmentId:n,handleAction:o,isDeletingPersonalization:i}},EnhancedPageComponent.prototype.getModelAndRender=function(e,t,n,o){var i=this,r=new a.Subject;return this.zoneEditorContract.getHierarchicalWidgetModel(t,n,this.state.SegmentId,o).pipe(this.catchErrorAndShowNotification()).subscribe((function(n){i.renderer.renderWidget({siteId:e.Id,dataItem:t,model:n}).pipe(i.catchErrorAndShowNotification()).subscribe((function(e){r.next({renderResult:e,model:n})}))})),r.asObservable()},EnhancedPageComponent.prototype.onLayoutChanged=function(e){void 0===e&&(e=!0),!this.rootContainer.hasAnyOrphans()&&e&&this.hideNotificationMessage(),this.layoutChanged.next(this.rootContainer)},EnhancedPageComponent.prototype.onMouseOver=function(e,t,n){void 0===n&&(n=!0),e.stopPropagation();var o=t.domElement;this.treeService.isInlineElement(o)&&this.treeService.isFakeOrAddWidget(e.target)&&(o=o.parentElement.closest(".sf-zone-widget")||o.parentElement),n?o.classList.add(p.CLASS_HOVERED_WIDGET):o.classList.remove(p.CLASS_HOVERED_WIDGET),t instanceof l.ComponentModel&&this.initComponent(t)},EnhancedPageComponent.prototype.initComponent=function(e){this.treeService.initAddWidgets(e),this.treeService.addLabelElement(e)},EnhancedPageComponent.prototype.initComponentForEditing=function(e){var t;return this.initComponent(e),e.editAllowed&&(t=this.initOperations(e),this.initToolbarSubscriptions(e)),t},EnhancedPageComponent.prototype.initOperations=function(e){var t;return e.operationsInitialized?e.inlineToolbarComponent.instance.refreshOperations():(this.treeService.addInlineToolbar(e),(t=new a.ReplaySubject(1)).pipe(Object(s.catchError)((function(t){return e.operationsInitialized=!1,Object(a.throwError)(t)})),this.catchErrorAndShowNotification()).subscribe((function(t){e.inlineToolbarComponent.instance.loadOperations(t)})),e.operationsInitialized=!0),t},EnhancedPageComponent.prototype.initToolbarSubscriptions=function(e){var t=this;if(e.inlineToolbarComponent){var n=e.inlineToolbarComponent.instance.onOperationExecuted;e.toolbarSubscription||(e.toolbarSubscription=n.subscribe((function(n){t.handleWidgetOperationExecution(e,n),t.onComponentOperationExecuted.emit({component:e,result:n})}))),e.focusToolbarSubscription||(e.focusToolbarSubscription=e.inlineToolbarComponent.instance.onFocusOut.subscribe((function(){e.domElement.classList.remove(p.CLASS_FOCUSED_WIDGET)})))}},EnhancedPageComponent.prototype.onWidgetClicked=function(e,t){e&&(e.stopPropagation(),e.preventDefault(),this.dispatchClickToRootDocument(e)),this.documentIFrameElement.querySelectorAll("."+p.CLASS_FOCUSED_WIDGET).forEach((function(e){e.classList.remove(p.CLASS_FOCUSED_WIDGET)})),t.domElement.classList.add(p.CLASS_FOCUSED_WIDGET);var n=this.initComponentForEditing(t);this.onComponentClicked.emit({widgetId:t.id,segmentId:this.state.SegmentId,widgetSegmentId:t.widgetSegmentId,dataItem:this.dataItem,ready:n})},EnhancedPageComponent.prototype.drag=function(e,t){if(e.stopPropagation(),t.quickEditMenu)return e.preventDefault(),void e.stopImmediatePropagation();this.currentlyDraggedId!==t.id&&(this.currentlyDraggedId=t.id,this.currentlyDraggedElementTitle.next(t.title));var n=new a.Subject;n.pipe(Object(s.catchError)((function(t){return e.preventDefault(),Object(a.throwError)(t)})),this.catchErrorAndShowNotification()).subscribe(),this.editWidgetClicked.emit({ready:n});var o=this.dragImagesMap.get(t.name)?this.dragImagesMap.get(t.name):this.dragImagesMap.get("Custom");e.dataTransfer.effectAllowed="move",e.dataTransfer.setDragImage(o,0,0),setTimeout((function(){return t.domElement.classList.add(p.CLASS_HIDDEN)}),0);var i=t.parentContainer;1!==i.children.length||0!==i.childContainers.length||i.emptyWidget||this.treeService.addEmptyWidget(t.parentContainer)},EnhancedPageComponent.prototype.dragEnd=function(e,t){this.waitForInsert||(t.parentContainer.emptyWidget&&this.treeService.removeEmptyWidget(t.parentContainer),setTimeout((function(){t.domElement.classList.remove(p.CLASS_HIDDEN)}),0),this.deactivateAddWidget(),this.activatedAddWidgetPosition=null)},EnhancedPageComponent.prototype.dragOver=function(e,t,n){e.preventDefault(),e.stopPropagation();var o=e.currentTarget;if(n){var i=this.treeService.getPreviousInlineComponent(t);this.initComponent(t),i&&this.treeService.initAddWidgets(i),this.activatePreviousOrNextAddWidget(o,e.clientY)}else o.classList.add(p.CLASS_DRAG_OVER)},EnhancedPageComponent.prototype.dragLeave=function(e,t){e.preventDefault(),e.stopPropagation();var n=e.currentTarget;n&&n.classList.contains(p.CLASS_DRAG_OVER)&&n.classList.remove(p.CLASS_DRAG_OVER),t||this.deactivateAddWidget(),this.activatedAddWidgetPosition=null},EnhancedPageComponent.prototype.activatePreviousOrNextAddWidget=function(e,t){var n=e.getBoundingClientRect(),o=n.height/100*10,i=n.top+Math.round(n.height/2-o),r=n.top+Math.round(n.height/2+o),a=null;t<=i?a=h.ActivatedAddWidgetPosition.Before:t>=r&&(a=h.ActivatedAddWidgetPosition.After),null!==a&&this.togglePreviousOrNextAddWidget(e,a)},EnhancedPageComponent.prototype.togglePreviousOrNextAddWidget=function(e,t){if(this.activatedAddWidgetPosition!==t){this.deactivateAddWidget();var n=t===h.ActivatedAddWidgetPosition.Before?this.getActiveAddWidgetDrop(e,!0):this.getActiveAddWidgetDrop(e,!1);this.activateAddWidget(n),this.activatedAddWidgetPosition=t}},EnhancedPageComponent.prototype.getActiveAddWidgetDrop=function(e,t){var n;if(t){var o=this.treeService.isInlineElement(e.previousElementSibling)&&e.previousElementSibling.classList.contains(p.CLASS_HIDDEN)?e.previousElementSibling.previousElementSibling:e.previousElementSibling;n=o&&this.treeService.isInlineElement(o)?o.lastElementChild:o}else n=this.treeService.isInlineElement(e)?e.lastElementChild:e.nextElementSibling;return n},EnhancedPageComponent.prototype.activateAddWidget=function(e){e&&e.classList.add(p.CLASS_DRAG_OVER)},EnhancedPageComponent.prototype.deactivateAddWidget=function(e){e?e.classList.remove(p.CLASS_DRAG_OVER):this.documentIFrameElement.querySelectorAll("."+p.CLASS_DRAG_OVER).forEach((function(e){e.classList.remove(p.CLASS_DRAG_OVER)}))},EnhancedPageComponent.prototype.drop=function(e,t,n,o){var i,r=this;void 0===o&&(o=!1),this.waitForInsert=!0,e.preventDefault(),e.stopPropagation(),(i=o?this.activatedAddWidgetPosition===h.ActivatedAddWidgetPosition.Before?e.currentTarget.previousElementSibling:e.currentTarget.nextElementSibling:e.currentTarget)&&i.classList.contains(p.CLASS_DRAG_OVER)&&(i.classList.remove(p.CLASS_DRAG_OVER),i&&i.nodeName===p.NODE_NAME_ADD_WIDGET&&i.parentElement&&i.parentElement.classList.contains(p.CLASS_DRAG_OVER)&&i.parentElement.classList.remove(p.CLASS_DRAG_OVER));var dragEndFunc=function(){r.waitForInsert=!1,r.dragEnd(e,A)},A=this.treeService.findComponent(this.rootContainer,this.currentlyDraggedId);if(A)if(A.domElement.contains(i))dragEndFunc();else{var l=n?this.treeService.getPreviousSibling(i):null;this.zoneEditorContract.moveWidget({dataItem:this.dataItem,widgetId:A.id,widgetName:null,placeholderName:t.placeholdername,parentPlaceholderKey:t.parentComponent?t.parentComponent.id:null,siblingKey:l,properties:[],segmentId:this.state.SegmentId}).pipe((Object(s.catchError)((function(e){return dragEndFunc(),Object(a.throwError)(e)})),this.catchErrorAndShowNotification())).subscribe((function(){var e=n?i:null;r.treeService.moveNode(A,t,e),A.enhanced=!1,r.enhance(A),dragEndFunc(),r.onLayoutChanged()}))}},EnhancedPageComponent.prototype.subscribeEmptyLinks=function(){var e=this,t=this.treeService.emptyContainerAdded.subscribe((function(t){t.container.emptyWidget.instance.onAddClick.subscribe((function(){var n;t.container.parentComponent||(n=T),e.openWidgetSelector(t.container,n,t.container.emptyWidget)}))}));this.registerSubscription(t);var n=this.treeService.widgetAdded.subscribe((function(t){var n=t.component.domElement.querySelector(p.NODE_NAME_EMPTY_WIDGET),o=n?n.querySelector("["+p.ATTR_EMPTY_LINK+"='true']"):null;o&&t.component.emptyiconaction!==p.EMPTY_WIDGET_ACTION.NONE&&o.addEventListener("click",(function(n){if(!t.component.hasChildren){n.preventDefault(),n.stopPropagation(),e.initComponentForEditing(t.component);var o=new a.ReplaySubject(1);e.editWidgetClicked.emit({ready:o}),o.pipe(e.catchErrorAndShowNotification()).subscribe((function(){var n=new E.ActionButton("Edit","edit");n.sourceOperation={Name:"edit",Category:{Name:"General"}},e.treeService.addInlineToolbar(t.component),t.component.inlineToolbarComponent.instance.onActionButtonClicked(n)}))}}))}));this.registerSubscription(n);var o=this.treeService.addWidgetAdded.subscribe((function(t){var n=t.addWidget,o=t.component;n.instance.addWidgetDraggedOverLabel=e.currentlyDraggedElementTitle.asObservable(),n.location.nativeElement.addEventListener("drop",(function(t){return e.drop(t,o.parentContainer,!0)})),n.location.nativeElement.addEventListener("dragover",(function(t){return e.onAddWidgetDragOver(t)})),n.location.nativeElement.addEventListener("dragleave",(function(t){return e.onAddWidgetDragLeave(t)})),n.instance.onAddClick.subscribe((function(){var t;o.parentComponent||(t=T),e.openWidgetSelector(o.parentContainer,t,n)}))}));this.registerSubscription(o)},EnhancedPageComponent.prototype.loadResources=function(){this.documentIFrameElement.querySelector("[data-sfstyles='zone-edit']")||this.styleSheetService.insertStyleTag(O,this.documentIFrameElement,[{key:"data-sfstyles",value:"zone-edit"}])},EnhancedPageComponent.prototype.onAddWidgetDragOver=function(e){var t=e.currentTarget;t.classList.contains(p.CLASS_DRAG_OVER)||(this.deactivateAddWidget(),this.activateAddWidget(t))},EnhancedPageComponent.prototype.onAddWidgetDragLeave=function(e){var t=e.currentTarget;t&&t.classList.contains(p.CLASS_DRAG_OVER)&&this.deactivateAddWidget(t)},EnhancedPageComponent.prototype.openWidgetSelector=function(e,t,n){var o=this,i=new a.ReplaySubject(1);i.pipe(this.catchErrorAndShowNotification()).subscribe((function(){o.renderer.getCategories({}).pipe(o.catchErrorAndShowNotification()).subscribe((function(i){var r={multiSelect:!1,heading:{title:"Select widget"},tabsConfig:{initialTabName:t,tabs:i.map((function(e){return{name:e}}))},doneCallback:function(t){if(t.data){var i=t.data;o.insertSingleRendererWidget(n,e,i)}},data:{singleSelectionText:"Select widget",load:function(e){return o.getAndMapWidgetResponse(e)}},window:o.iframe.nativeElement.contentWindow};o.modalWindowService.openModalSelector(o.route,r)}))})),this.addWidgetClicked.emit({ready:i})},EnhancedPageComponent.prototype.getAndMapWidgetResponse=function(e){return this.renderer.getWidgets({dataItem:this.dataItem,category:e.tab.name,search:e.searchVal,skip:0,take:50}).pipe(this.catchErrorAndShowNotification(!0)).pipe(Object(s.map)((function(e){return{dataItems:e.dataItems.map((function(e){var t=e.widgets.map((function(e){return{dataItem:e,selectButtonText:"Section"===e.name?"Select section":"Select widget",componentData:{type:u.WidgetPreviewComponent,properties:{text:e.title,name:e.name,addWidgetTitle:e.addWidgetTitle,addWidgetName:e.addWidgetName}}}}));return{title:e.title,items:t}})),totalCount:e.totalCount}})))},EnhancedPageComponent.prototype.insertSingleRendererWidget=function(e,t,n){var o=this,i=t.placeholdername,r=t.parentComponent?t.parentComponent.id:null,a=this.treeService.getPreviousSibling(e.location.nativeElement),s={Name:"SfViewName",Value:n.addWidgetName},A=n.addWidgetName?[s]:[];this.zoneEditorContract.addWidget({widgetId:null,dataItem:this.dataItem,widgetName:n.name,placeholderName:i,parentPlaceholderKey:r,siblingKey:a,properties:A,segmentId:this.state.SegmentId}).pipe(this.catchErrorAndShowNotification()).subscribe((function(i){o.siteDataStore.getValue().subscribe((function(r){o.renderer.renderWidget({siteId:r.Id,dataItem:o.dataItem,model:{Id:i.Key,Name:i.Name,Properties:{SfViewName:n.addWidgetName}}}).pipe(o.catchErrorAndShowNotification()).subscribe((function(n){var r=o.treeService.addNodeFromHtml(t,[i],n.content,e.location.nativeElement);o.onLayoutChanged(),o.loadScriptsAndDispatchEvent(n,{Name:i.Name,Id:i.Key,Properties:[]},r.domElement),o.enhance(r)}))}))}))},EnhancedPageComponent.prototype.catchErrorAndShowNotification=function(e){void 0===e&&(e=!1);var t=e?null:P;return this.notificationService.catchErrorAndShowNotification(t)},EnhancedPageComponent.prototype.showErrorMessage=function(e,t){void 0===t&&(t=!1),this.showNotificationMessage(e,_.NOTIFICATION_LOOKS.ERROR,!1,t)},EnhancedPageComponent.prototype.showNotificationMessage=function(e,t,n,o){void 0===n&&(n=!0),void 0===o&&(o=!1);var i={message:e,look:t,filterParam:P};o&&(i.duration=null),this.notificationService.publishBasicNotification(i),n&&(this.iframe.nativeElement.contentDocument.body.innerHTML="")},EnhancedPageComponent.prototype.hideNotificationMessage=function(){this.notificationService.close()},EnhancedPageComponent.prototype.subscribeToDocumentEvents=function(){var e=this;this.removeListeners(),this.documentInsideIframeMouseClickListener=function(t){e.dispatchClickToRootDocument(t)}.bind(this),this.documentIFrameElement.addEventListener("click",this.documentInsideIframeMouseClickListener),this.outsideWindowMouseClickListener=function(t){e.treeService.iterateTree(e.rootContainer,(function(e){e.inlineToolbarComponent&&e.inlineToolbarComponent.instance.focusOut()}),null)}.bind(this),this.iframe.nativeElement.contentWindow.parent.addEventListener("click",this.outsideWindowMouseClickListener)},EnhancedPageComponent.prototype.removeListeners=function(){this.iframe&&(this.documentInsideIframeMouseClickListener&&this.documentIFrameElement.removeEventListener("click",this.documentInsideIframeMouseClickListener),this.outsideWindowMouseClickListener&&this.iframe.nativeElement.contentWindow.parent.removeEventListener("click",this.outsideWindowMouseClickListener))},EnhancedPageComponent.prototype.dispatchClickToRootDocument=function(e){for(var t=!1,n=e.target;n&&n.parentElement;){if(n.nodeName===p.NODE_NAME_INLINE_TOOLBAR){t=!0;break}n=n.parentElement}if(!t){var o=new MouseEvent(e.type,e);this.documentProvider.dispatchEvent(o)}},EnhancedPageComponent.prototype.loadScriptsAndDispatchEvent=function(e,t,n){var o=this,i=e.scripts.length,fireEvent=function(){if(0==--i){var e=new CustomEvent("widgetLoaded",{detail:{element:n,model:t}});o.documentIFrameElement.dispatchEvent(e)}};e.scripts.length>0?e.scripts.forEach((function(e){var t=o.documentIFrameElement.getElementById(e.id);t?fireEvent():((t=o.documentIFrameElement.createElement("script")).src=e.src,t.id=e.id,t.onload=fireEvent,t.onerror=fireEvent,o.documentIFrameElement.body.appendChild(t))})):(i=1,fireEvent())},EnhancedPageComponent.ɵfac=function EnhancedPageComponent_Factory(e){return new(e||EnhancedPageComponent)(i["ɵɵdirectiveInject"](v.SiteDataStore),i["ɵɵdirectiveInject"](f.ModalWindowService),i["ɵɵdirectiveInject"](r.ActivatedRoute),i["ɵɵdirectiveInject"](m.ZoneEditorContract),i["ɵɵdirectiveInject"](d.RendererService),i["ɵɵdirectiveInject"](c.ZoneEditorTreeService),i["ɵɵdirectiveInject"](B.StyleSheetService),i["ɵɵdirectiveInject"](w.NOTIFICATION_SERVICE),i["ɵɵdirectiveInject"](k.WINDOW_TOKEN),i["ɵɵdirectiveInject"](x.ScrollService))},EnhancedPageComponent.ɵcmp=i["ɵɵdefineComponent"]({type:EnhancedPageComponent,selectors:[["sf-enhanced-page"]],viewQuery:function EnhancedPageComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](S,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.iframe=n.first)}},inputs:{iFrameUrl:"iFrameUrl",iFrameLook:"iFrameLook",dataItem:"dataItem",state:"state"},outputs:{frameLoaded:"frameLoaded",layoutChanged:"layoutChanged",addWidgetClicked:"addWidgetClicked",editWidgetClicked:"editWidgetClicked",onComponentClicked:"onComponentClicked",onComponentOperationExecuted:"onComponentOperationExecuted"},features:[i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:2,vars:2,consts:[[3,"src","load",4,"ngIf"],["look","fixed",3,"filter"],[3,"src","load"],["iframe",""]],template:function EnhancedPageComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,EnhancedPageComponent_iframe_0_Template,3,5,"iframe",0),i["ɵɵelement"](1,"sf-notification-loader",1)),2&e&&(i["ɵɵproperty"]("ngIf",t.iFrameUrl),i["ɵɵadvance"](1),i["ɵɵproperty"]("filter",t.notificationFilter))},encapsulation:2}),EnhancedPageComponent}(A.RxBaseComponent),L=function(){function NotificationInfo(){}return Object.defineProperty(NotificationInfo.prototype,"look",{get:function(){return this.type+" fixed"},enumerable:!1,configurable:!0}),NotificationInfo}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ComponentModel",(function(){return i})),n.d(t,"ContainerModel",(function(){return r}));var o=n(1483),i=function(){function ComponentModel(e){var t=this;if(this.emptyicontext="Create content",this.emptyicon="pencil",this.emptyiconaction=o.EMPTY_WIDGET_ACTION.EDIT,this.editAllowed=!0,this.moveAllowed=!0,this.isExpanded=!0,this.childContainers=[],this.addWidgetComponents=[],this.wrappingCommentElements=[],this.listeners={},this.domElement=e,this.domElement){this.domElement.classList.add(o.CLASS_ZONE_WIDGET),populateFromAttributes(this);var n={iscontentwidget:o.CLASS_CONTENT_WIDGET,isempty:o.CLASS_EMPTY,isorphaned:o.CLASS_ORPHANED,isemptyvisualhidden:o.CLASS_NO_CONTENT};Object.keys(n).forEach((function(e){t[e]&&t.domElement.classList.add(n[e])}))}}return Object.defineProperty(ComponentModel.prototype,"children",{get:function(){var e=[];return this.childContainers.forEach((function(t){e=e.concat(t.children)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(ComponentModel.prototype,"isRootComponent",{get:function(){return this.parentContainer&&this.parentContainer.isRoot},enumerable:!1,configurable:!0}),Object.defineProperty(ComponentModel.prototype,"hasChildren",{get:function(){return this.children.length>0},enumerable:!1,configurable:!0}),ComponentModel.prototype.removeListeners=function(){var e=this;Object.keys(this.listeners).forEach((function(t){e.listeners[t].forEach((function(n){e.domElement.removeEventListener(t,n)}))})),this.toolbarSubscription&&this.toolbarSubscription.unsubscribe(),delete this.toolbarSubscription,this.focusToolbarSubscription&&this.focusToolbarSubscription.unsubscribe(),delete this.focusToolbarSubscription},ComponentModel.prototype.addEventListener=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t),this.domElement.addEventListener(e,t)},ComponentModel.prototype.clearAddWidgets=function(){this.addWidgetComponents.forEach((function(e){e.location.nativeElement.remove(),e.destroy()})),this.addWidgetComponents=[]},ComponentModel.prototype.clearOrphaned=function(){this.domElement.classList.remove(o.CLASS_ORPHANED),this.isorphaned=!1},ComponentModel.prototype.clear=function(){this.errorWidget&&(this.errorWidget.destroy(),this.errorWidget=void 0),this.clearAddWidgets(),this.wrappingCommentElements.forEach((function(e){e.parentNode.removeChild(e)})),this.label&&(this.label.remove(),this.label=void 0),this.childContainers.forEach((function(e){e.clear()})),this.removeListeners(),this.domElement.remove(),this.inlineToolbarComponent&&(this.inlineToolbarComponent.destroy(),this.inlineToolbarComponent=void 0)},ComponentModel.prototype.assignState=function(e){var t=this;e&&(Object.keys(e).forEach((function(n){var o=n[0].toLowerCase()+n.substr(1);t[o]=e[n]})),this.handlePropertyChange())},ComponentModel.prototype.handlePropertyChange=function(){this.isPersonalized&&this.domElement.classList.add("-"+o.CLASS_PERSONALIZED_WIDGET_LOOK)},ComponentModel}(),r=function(){function ContainerModel(e){this.emptyicontext="Add widget here...",this.emptyicon="plus-circle",this.emptyiconaction=o.EMPTY_WIDGET_ACTION.EDIT,this.children=[],this.childContainers=[],this.listeners={},this.domElement=e,this.domElement&&(this.domElement.classList.add(o.CLASS_EDITOR_COLUMN),populateFromAttributes(this),this.placeholdername=this.domElement.getAttribute(o.ATTR_CONTAINER))}return Object.defineProperty(ContainerModel.prototype,"isempty",{get:function(){return 0===this.children.length&&0===this.childContainers.length},enumerable:!1,configurable:!0}),Object.defineProperty(ContainerModel.prototype,"isRoot",{get:function(){return"Body"===this.placeholdername},enumerable:!1,configurable:!0}),ContainerModel.prototype.hasOnlyOrphans=function(){if(this.children.length>0){var e=!0;return this.children.forEach((function(t){e=t.isorphaned&&e})),e}return!1},ContainerModel.prototype.hasAnyOrphans=function(){for(var e=this.getDirectChildrenAndChildrenFromChildContainers(),t=0;t=0&&!t?(n.splice(o,0,e),n[o+1]&&(n[o+1].siblingId=e.id)):(n[n.length-1]&&(e.siblingId=n[n.length-1].id),n.push(e)),n},ZoneEditorTreeService.prototype.removeFromParent=function(e){var t=e.parentContainer.children,n=t.findIndex((function(t){return t.id===e.id}));n>-1&&(t.splice(n,1),0===n?e.siblingId=null:t[n]&&(e.siblingId=t[n-1].id))},ZoneEditorTreeService.prototype.addComments=function(e){if(0===e.wrappingCommentElements.length){for(var t=e.domElement;t.nodeType!==i.NODE_TYPE_COMMENT||-1===t.nodeValue.indexOf(e.id);)t=t.previousSibling;for(e.wrappingCommentElements.push(t),t=e.domElement;t.nodeType!==i.NODE_TYPE_COMMENT||-1===t.nodeValue.indexOf(e.id);)t=t.nextSibling;e.wrappingCommentElements.push(t)}},ZoneEditorTreeService.prototype.regenerateQuickEditMenu=function(e){e.quickEditMenu&&this.zoneEditorDomService.attachComponentAsFirstChild(e.quickEditMenu,e.domElement,i.CLASS_ZONE_QUICKEDIT,null)},ZoneEditorTreeService.prototype.insertAddWidgetBetweenSections=function(e,t){if(!e.isorphaned){var n,o,i,r=e.domElement.nextElementSibling,a=e.domElement.previousElementSibling;if(t)n=r&&this.isFakeOrAddWidget(r),o=a&&this.isFakeOrAddWidget(a);else{var A=this.isInlineElement(e.domElement)?e.domElement.lastElementChild:e.domElement,l=a&&this.isInlineElement(a)?a.lastElementChild:a;n=A&&this.isFakeOrAddWidget(A)||r&&this.isFakeOrAddWidget(r),o=l&&this.isFakeOrAddWidget(l)}if(n||o)if(o){if(n)return;i=s.HtmlElementAttachMode.InsertAfter}else i=s.HtmlElementAttachMode.InsertBefore;else i=s.HtmlElementAttachMode.InsertBeforeAndAfter;this.insertAddWidget(i,e,t)}},ZoneEditorTreeService.prototype.insertAddWidget=function(e,t,n){var o=this,i=[],r=t.isRootComponent?{addWidgetLabel:"Add section"}:null,a={ATTR_DRAGGABLE:!1},l=A.AddWidgetComponent;n&&(a=null,r=null,l=u.FakeWidgetComponent),e===s.HtmlElementAttachMode.InsertAsFirstAndLastChild?(i.push(this.addWidget(l,t.domElement,r,s.HtmlElementAttachMode.InsertBefore,null,a)),i.push(this.addWidget(l,t.domElement.parentElement,r,s.HtmlElementAttachMode.InsertAsLastChild,null,a))):e===s.HtmlElementAttachMode.InsertBeforeAndAfter?(i.push(this.addWidget(l,t.wrappingCommentElements[0]||t.domElement,r,s.HtmlElementAttachMode.InsertBefore,null,a)),i.push(this.addWidget(l,t.wrappingCommentElements[1]||t.domElement,r,s.HtmlElementAttachMode.InsertAfter,null,a))):e===s.HtmlElementAttachMode.InsertBefore?i.push(this.addWidget(l,t.wrappingCommentElements[0]||t.domElement,r,e,null,a)):e===s.HtmlElementAttachMode.InsertAfter?i.push(this.addWidget(l,t.wrappingCommentElements[1]||t.domElement,r,e,null,a)):i.push(this.addWidget(l,t.domElement,r,e,null,a)),i.forEach((function(e){if(t.addWidgetComponents.push(e),!n){var i=e.location.nativeElement.previousElementSibling;i&&o.isInlineElement(i)&&o.modifyAddWidgetElement(e.location.nativeElement);var r=e;o.addWidgetAdded.emit({addWidget:r,component:t})}}))},ZoneEditorTreeService.prototype.modifyAddWidgetElement=function(e){var t=e.previousElementSibling,n=e.nextElementSibling,o=t;t.lastElementChild&&this.isFakeOrAddWidget(t.lastElementChild)&&this.isInlineElement(n)&&!this.isFakeOrAddWidget(n.lastElementChild)&&(o=n),o.append(e)},ZoneEditorTreeService.prototype.addWidget=function(e,t,n,o,i,r){var a=this.zoneEditorDomService.createComponent(e,n);switch(o){case s.HtmlElementAttachMode.InsertAsFirstChild:this.zoneEditorDomService.attachComponentAsFirstChild(a,t,i,r);break;case s.HtmlElementAttachMode.InsertAsLastChild:this.zoneEditorDomService.attachComponentAsLastChild(a,t,i,r);break;case s.HtmlElementAttachMode.InsertAfter:this.zoneEditorDomService.attachComponentAfterElement(a,t,i,r);break;default:this.zoneEditorDomService.attachComponentBeforeElement(a,t,i,r)}return a},ZoneEditorTreeService.prototype.insertHtmlAndEnhance=function(e,t,n){var o=this.insertWrappedHtmlBeforeNode(e,t);this.documentEnhancer.enhance(o);var i=o.firstElementChild,r=this.documentEnhancer.buildModel(i,i,n);return this.unwrapHtml(o),r},ZoneEditorTreeService.prototype.insertWrappedHtmlBeforeNode=function(e,t){var n=document.createElement("div");return n.innerHTML=t,this.isInlineElement(e.parentElement)?this.handleInlineAddElement(e.parentElement,[n]):e.parentElement.insertBefore(n,e),n},ZoneEditorTreeService.prototype.handleInlineAddElement=function(e,t){var n=Array.isArray(t)?t:[t],o=e.parentElement,i=e.nextElementSibling;i?this.zoneEditorDomService.handleMultipleInsertBefore(n,i):this.zoneEditorDomService.handleMultipleAppend(n,o)},ZoneEditorTreeService.prototype.unwrapHtml=function(e){var t=[];e.childNodes.forEach((function(e){t.push(e)})),t.forEach((function(t){e.parentElement.insertBefore(t,e)})),e.remove()},ZoneEditorTreeService.ɵfac=function ZoneEditorTreeService_Factory(e){return new(e||ZoneEditorTreeService)(a["ɵɵinject"](o.ZoneEditorDomService),a["ɵɵinject"](f.DocumentEnhancerService))},ZoneEditorTreeService.ɵprov=a["ɵɵdefineInjectable"]({token:ZoneEditorTreeService,factory:ZoneEditorTreeService.ɵfac}),ZoneEditorTreeService}(),g=function g(){this.componentsTree=[],this.containersCollection=[],this.flatComponentsCollection=[]}},function(e,t,n){"use strict";n.r(t),n.d(t,"ZoneEditorDomService",(function(){return i}));var o=n(229),i=function(){function ZoneEditorDomService(e,t,n){this.componentFactoryResolver=e,this.appRef=t,this.injector=n}return ZoneEditorDomService.prototype.createComponent=function(e,t){var n=this.componentFactoryResolver.resolveComponentFactory(e).create(this.injector);return t&&"object"==typeof n.instance&&Object.assign(n.instance,t),n},ZoneEditorDomService.prototype.attachComponentAsLastChild=function(e,t,n,o){var i=this.prepareElement(e,n,o);return t.append(i),i},ZoneEditorDomService.prototype.attachComponentBeforeElement=function(e,t,n,o){var i=this.prepareElement(e,n,o);return t.parentElement.insertBefore(i,t),i},ZoneEditorDomService.prototype.attachComponentAfterElement=function(e,t,n,o){var i=this.prepareElement(e,n,o);return t.nextSibling?t.parentElement.insertBefore(i,t.nextSibling):t.parentElement.append(i),i},ZoneEditorDomService.prototype.attachComponentAsFirstChild=function(e,t,n,o){var i=this.prepareElement(e,n,o);return t.prepend(i),i},ZoneEditorDomService.prototype.removeComponent=function(e){var t=this.prepareElement(e);t.parentNode.removeChild(t)},ZoneEditorDomService.prototype.hasDirectChildrenWithNodeType=function(e,t){for(var n=0;n li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "";\n}\n.sf-fa-music:before {\n content: "";\n}\n.sf-fa-search:before {\n content: "";\n}\n.sf-fa-envelope-o:before {\n content: "";\n}\n.sf-fa-heart:before {\n content: "";\n}\n.sf-fa-star:before {\n content: "";\n}\n.sf-fa-star-o:before {\n content: "";\n}\n.sf-fa-user:before {\n content: "";\n}\n.sf-fa-film:before {\n content: "";\n}\n.sf-fa-th-large:before {\n content: "";\n}\n.sf-fa-th:before {\n content: "";\n}\n.sf-fa-th-list:before {\n content: "";\n}\n.sf-fa-check:before {\n content: "";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "";\n}\n.sf-fa-search-plus:before {\n content: "";\n}\n.sf-fa-search-minus:before {\n content: "";\n}\n.sf-fa-power-off:before {\n content: "";\n}\n.sf-fa-signal:before {\n content: "";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "";\n}\n.sf-fa-trash-o:before {\n content: "";\n}\n.sf-fa-home:before {\n content: "";\n}\n.sf-fa-file-o:before {\n content: "";\n}\n.sf-fa-clock-o:before {\n content: "";\n}\n.sf-fa-road:before {\n content: "";\n}\n.sf-fa-download:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "";\n}\n.sf-fa-inbox:before {\n content: "";\n}\n.sf-fa-play-circle-o:before {\n content: "";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "";\n}\n.sf-fa-refresh:before {\n content: "";\n}\n.sf-fa-list-alt:before {\n content: "";\n}\n.sf-fa-lock:before {\n content: "";\n}\n.sf-fa-flag:before {\n content: "";\n}\n.sf-fa-headphones:before {\n content: "";\n}\n.sf-fa-volume-off:before {\n content: "";\n}\n.sf-fa-volume-down:before {\n content: "";\n}\n.sf-fa-volume-up:before {\n content: "";\n}\n.sf-fa-qrcode:before {\n content: "";\n}\n.sf-fa-barcode:before {\n content: "";\n}\n.sf-fa-tag:before {\n content: "";\n}\n.sf-fa-tags:before {\n content: "";\n}\n.sf-fa-book:before {\n content: "";\n}\n.sf-fa-bookmark:before {\n content: "";\n}\n.sf-fa-print:before {\n content: "";\n}\n.sf-fa-camera:before {\n content: "";\n}\n.sf-fa-font:before {\n content: "";\n}\n.sf-fa-bold:before {\n content: "";\n}\n.sf-fa-italic:before {\n content: "";\n}\n.sf-fa-text-height:before {\n content: "";\n}\n.sf-fa-text-width:before {\n content: "";\n}\n.sf-fa-align-left:before {\n content: "";\n}\n.sf-fa-align-center:before {\n content: "";\n}\n.sf-fa-align-right:before {\n content: "";\n}\n.sf-fa-align-justify:before {\n content: "";\n}\n.sf-fa-list:before {\n content: "";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "";\n}\n.sf-fa-indent:before {\n content: "";\n}\n.sf-fa-video-camera:before {\n content: "";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "";\n}\n.sf-fa-pencil:before {\n content: "";\n}\n.sf-fa-map-marker:before {\n content: "";\n}\n.sf-fa-adjust:before {\n content: "";\n}\n.sf-fa-tint:before {\n content: "";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "";\n}\n.sf-fa-share-square-o:before {\n content: "";\n}\n.sf-fa-check-square-o:before {\n content: "";\n}\n.sf-fa-arrows:before {\n content: "";\n}\n.sf-fa-step-backward:before {\n content: "";\n}\n.sf-fa-fast-backward:before {\n content: "";\n}\n.sf-fa-backward:before {\n content: "";\n}\n.sf-fa-play:before {\n content: "";\n}\n.sf-fa-pause:before {\n content: "";\n}\n.sf-fa-stop:before {\n content: "";\n}\n.sf-fa-forward:before {\n content: "";\n}\n.sf-fa-fast-forward:before {\n content: "";\n}\n.sf-fa-step-forward:before {\n content: "";\n}\n.sf-fa-eject:before {\n content: "";\n}\n.sf-fa-chevron-left:before {\n content: "";\n}\n.sf-fa-chevron-right:before {\n content: "";\n}\n.sf-fa-plus-circle:before {\n content: "";\n}\n.sf-fa-minus-circle:before {\n content: "";\n}\n.sf-fa-times-circle:before {\n content: "";\n}\n.sf-fa-check-circle:before {\n content: "";\n}\n.sf-fa-question-circle:before {\n content: "";\n}\n.sf-fa-info-circle:before {\n content: "";\n}\n.sf-fa-crosshairs:before {\n content: "";\n}\n.sf-fa-times-circle-o:before {\n content: "";\n}\n.sf-fa-check-circle-o:before {\n content: "";\n}\n.sf-fa-ban:before {\n content: "";\n}\n.sf-fa-arrow-left:before {\n content: "";\n}\n.sf-fa-arrow-right:before {\n content: "";\n}\n.sf-fa-arrow-up:before {\n content: "";\n}\n.sf-fa-arrow-down:before {\n content: "";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "";\n}\n.sf-fa-expand:before {\n content: "";\n}\n.sf-fa-compress:before {\n content: "";\n}\n.sf-fa-plus:before {\n content: "";\n}\n.sf-fa-minus:before {\n content: "";\n}\n.sf-fa-asterisk:before {\n content: "";\n}\n.sf-fa-exclamation-circle:before {\n content: "";\n}\n.sf-fa-gift:before {\n content: "";\n}\n.sf-fa-leaf:before {\n content: "";\n}\n.sf-fa-fire:before {\n content: "";\n}\n.sf-fa-eye:before {\n content: "";\n}\n.sf-fa-eye-slash:before {\n content: "";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "";\n}\n.sf-fa-plane:before {\n content: "";\n}\n.sf-fa-calendar:before {\n content: "";\n}\n.sf-fa-random:before {\n content: "";\n}\n.sf-fa-comment:before {\n content: "";\n}\n.sf-fa-magnet:before {\n content: "";\n}\n.sf-fa-chevron-up:before {\n content: "";\n}\n.sf-fa-chevron-down:before {\n content: "";\n}\n.sf-fa-retweet:before {\n content: "";\n}\n.sf-fa-shopping-cart:before {\n content: "";\n}\n.sf-fa-folder:before {\n content: "";\n}\n.sf-fa-folder-open:before {\n content: "";\n}\n.sf-fa-arrows-v:before {\n content: "";\n}\n.sf-fa-arrows-h:before {\n content: "";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "";\n}\n.sf-fa-twitter-square:before {\n content: "";\n}\n.sf-fa-facebook-square:before {\n content: "";\n}\n.sf-fa-camera-retro:before {\n content: "";\n}\n.sf-fa-key:before {\n content: "";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "";\n}\n.sf-fa-comments:before {\n content: "";\n}\n.sf-fa-thumbs-o-up:before {\n content: "";\n}\n.sf-fa-thumbs-o-down:before {\n content: "";\n}\n.sf-fa-star-half:before {\n content: "";\n}\n.sf-fa-heart-o:before {\n content: "";\n}\n.sf-fa-sign-out:before {\n content: "";\n}\n.sf-fa-linkedin-square:before {\n content: "";\n}\n.sf-fa-thumb-tack:before {\n content: "";\n}\n.sf-fa-external-link:before {\n content: "";\n}\n.sf-fa-sign-in:before {\n content: "";\n}\n.sf-fa-trophy:before {\n content: "";\n}\n.sf-fa-github-square:before {\n content: "";\n}\n.sf-fa-upload:before {\n content: "";\n}\n.sf-fa-lemon-o:before {\n content: "";\n}\n.sf-fa-phone:before {\n content: "";\n}\n.sf-fa-square-o:before {\n content: "";\n}\n.sf-fa-bookmark-o:before {\n content: "";\n}\n.sf-fa-phone-square:before {\n content: "";\n}\n.sf-fa-twitter:before {\n content: "";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "";\n}\n.sf-fa-github:before {\n content: "";\n}\n.sf-fa-unlock:before {\n content: "";\n}\n.sf-fa-credit-card:before {\n content: "";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "";\n}\n.sf-fa-hdd-o:before {\n content: "";\n}\n.sf-fa-bullhorn:before {\n content: "";\n}\n.sf-fa-bell:before {\n content: "";\n}\n.sf-fa-certificate:before {\n content: "";\n}\n.sf-fa-hand-o-right:before {\n content: "";\n}\n.sf-fa-hand-o-left:before {\n content: "";\n}\n.sf-fa-hand-o-up:before {\n content: "";\n}\n.sf-fa-hand-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-left:before {\n content: "";\n}\n.sf-fa-arrow-circle-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-up:before {\n content: "";\n}\n.sf-fa-arrow-circle-down:before {\n content: "";\n}\n.sf-fa-globe:before {\n content: "";\n}\n.sf-fa-wrench:before {\n content: "";\n}\n.sf-fa-tasks:before {\n content: "";\n}\n.sf-fa-filter:before {\n content: "";\n}\n.sf-fa-briefcase:before {\n content: "";\n}\n.sf-fa-arrows-alt:before {\n content: "";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "";\n}\n.sf-fa-cloud:before {\n content: "";\n}\n.sf-fa-flask:before {\n content: "";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "";\n}\n.sf-fa-paperclip:before {\n content: "";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "";\n}\n.sf-fa-square:before {\n content: "";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "";\n}\n.sf-fa-list-ul:before {\n content: "";\n}\n.sf-fa-list-ol:before {\n content: "";\n}\n.sf-fa-strikethrough:before {\n content: "";\n}\n.sf-fa-underline:before {\n content: "";\n}\n.sf-fa-table:before {\n content: "";\n}\n.sf-fa-magic:before {\n content: "";\n}\n.sf-fa-truck:before {\n content: "";\n}\n.sf-fa-pinterest:before {\n content: "";\n}\n.sf-fa-pinterest-square:before {\n content: "";\n}\n.sf-fa-google-plus-square:before {\n content: "";\n}\n.sf-fa-google-plus:before {\n content: "";\n}\n.sf-fa-money:before {\n content: "";\n}\n.sf-fa-caret-down:before {\n content: "";\n}\n.sf-fa-caret-up:before {\n content: "";\n}\n.sf-fa-caret-left:before {\n content: "";\n}\n.sf-fa-caret-right:before {\n content: "";\n}\n.sf-fa-columns:before {\n content: "";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "";\n}\n.sf-fa-envelope:before {\n content: "";\n}\n.sf-fa-linkedin:before {\n content: "";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "";\n}\n.sf-fa-comment-o:before {\n content: "";\n}\n.sf-fa-comments-o:before {\n content: "";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "";\n}\n.sf-fa-sitemap:before {\n content: "";\n}\n.sf-fa-umbrella:before {\n content: "";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "";\n}\n.sf-fa-lightbulb-o:before {\n content: "";\n}\n.sf-fa-exchange:before {\n content: "";\n}\n.sf-fa-cloud-download:before {\n content: "";\n}\n.sf-fa-cloud-upload:before {\n content: "";\n}\n.sf-fa-user-md:before {\n content: "";\n}\n.sf-fa-stethoscope:before {\n content: "";\n}\n.sf-fa-suitcase:before {\n content: "";\n}\n.sf-fa-bell-o:before {\n content: "";\n}\n.sf-fa-coffee:before {\n content: "";\n}\n.sf-fa-cutlery:before {\n content: "";\n}\n.sf-fa-file-text-o:before {\n content: "";\n}\n.sf-fa-building-o:before {\n content: "";\n}\n.sf-fa-hospital-o:before {\n content: "";\n}\n.sf-fa-ambulance:before {\n content: "";\n}\n.sf-fa-medkit:before {\n content: "";\n}\n.sf-fa-fighter-jet:before {\n content: "";\n}\n.sf-fa-beer:before {\n content: "";\n}\n.sf-fa-h-square:before {\n content: "";\n}\n.sf-fa-plus-square:before {\n content: "";\n}\n.sf-fa-angle-double-left:before {\n content: "";\n}\n.sf-fa-angle-double-right:before {\n content: "";\n}\n.sf-fa-angle-double-up:before {\n content: "";\n}\n.sf-fa-angle-double-down:before {\n content: "";\n}\n.sf-fa-angle-left:before {\n content: "";\n}\n.sf-fa-angle-right:before {\n content: "";\n}\n.sf-fa-angle-up:before {\n content: "";\n}\n.sf-fa-angle-down:before {\n content: "";\n}\n.sf-fa-desktop:before {\n content: "";\n}\n.sf-fa-laptop:before {\n content: "";\n}\n.sf-fa-tablet:before {\n content: "";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "";\n}\n.sf-fa-circle-o:before {\n content: "";\n}\n.sf-fa-quote-left:before {\n content: "";\n}\n.sf-fa-quote-right:before {\n content: "";\n}\n.sf-fa-spinner:before {\n content: "";\n}\n.sf-fa-circle:before {\n content: "";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "";\n}\n.sf-fa-github-alt:before {\n content: "";\n}\n.sf-fa-folder-o:before {\n content: "";\n}\n.sf-fa-folder-open-o:before {\n content: "";\n}\n.sf-fa-smile-o:before {\n content: "";\n}\n.sf-fa-frown-o:before {\n content: "";\n}\n.sf-fa-meh-o:before {\n content: "";\n}\n.sf-fa-gamepad:before {\n content: "";\n}\n.sf-fa-keyboard-o:before {\n content: "";\n}\n.sf-fa-flag-o:before {\n content: "";\n}\n.sf-fa-flag-checkered:before {\n content: "";\n}\n.sf-fa-terminal:before {\n content: "";\n}\n.sf-fa-code:before {\n content: "";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "";\n}\n.sf-fa-location-arrow:before {\n content: "";\n}\n.sf-fa-crop:before {\n content: "";\n}\n.sf-fa-code-fork:before {\n content: "";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "";\n}\n.sf-fa-question:before {\n content: "";\n}\n.sf-fa-info:before {\n content: "";\n}\n.sf-fa-exclamation:before {\n content: "";\n}\n.sf-fa-superscript:before {\n content: "";\n}\n.sf-fa-subscript:before {\n content: "";\n}\n.sf-fa-eraser:before {\n content: "";\n}\n.sf-fa-puzzle-piece:before {\n content: "";\n}\n.sf-fa-microphone:before {\n content: "";\n}\n.sf-fa-microphone-slash:before {\n content: "";\n}\n.sf-fa-shield:before {\n content: "";\n}\n.sf-fa-calendar-o:before {\n content: "";\n}\n.sf-fa-fire-extinguisher:before {\n content: "";\n}\n.sf-fa-rocket:before {\n content: "";\n}\n.sf-fa-maxcdn:before {\n content: "";\n}\n.sf-fa-chevron-circle-left:before {\n content: "";\n}\n.sf-fa-chevron-circle-right:before {\n content: "";\n}\n.sf-fa-chevron-circle-up:before {\n content: "";\n}\n.sf-fa-chevron-circle-down:before {\n content: "";\n}\n.sf-fa-html5:before {\n content: "";\n}\n.sf-fa-css3:before {\n content: "";\n}\n.sf-fa-anchor:before {\n content: "";\n}\n.sf-fa-unlock-alt:before {\n content: "";\n}\n.sf-fa-bullseye:before {\n content: "";\n}\n.sf-fa-ellipsis-h:before {\n content: "";\n}\n.sf-fa-ellipsis-v:before {\n content: "";\n}\n.sf-fa-rss-square:before {\n content: "";\n}\n.sf-fa-play-circle:before {\n content: "";\n}\n.sf-fa-ticket:before {\n content: "";\n}\n.sf-fa-minus-square:before {\n content: "";\n}\n.sf-fa-minus-square-o:before {\n content: "";\n}\n.sf-fa-level-up:before {\n content: "";\n}\n.sf-fa-level-down:before {\n content: "";\n}\n.sf-fa-check-square:before {\n content: "";\n}\n.sf-fa-pencil-square:before {\n content: "";\n}\n.sf-fa-external-link-square:before {\n content: "";\n}\n.sf-fa-share-square:before {\n content: "";\n}\n.sf-fa-compass:before {\n content: "";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "";\n}\n.sf-fa-gbp:before {\n content: "";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "";\n}\n.sf-fa-file:before {\n content: "";\n}\n.sf-fa-file-text:before {\n content: "";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "";\n}\n.sf-fa-sort-amount-asc:before {\n content: "";\n}\n.sf-fa-sort-amount-desc:before {\n content: "";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "";\n}\n.sf-fa-thumbs-up:before {\n content: "";\n}\n.sf-fa-thumbs-down:before {\n content: "";\n}\n.sf-fa-youtube-square:before {\n content: "";\n}\n.sf-fa-youtube:before {\n content: "";\n}\n.sf-fa-xing:before {\n content: "";\n}\n.sf-fa-xing-square:before {\n content: "";\n}\n.sf-fa-youtube-play:before {\n content: "";\n}\n.sf-fa-dropbox:before {\n content: "";\n}\n.sf-fa-stack-overflow:before {\n content: "";\n}\n.sf-fa-instagram:before {\n content: "";\n}\n.sf-fa-flickr:before {\n content: "";\n}\n.sf-fa-adn:before {\n content: "";\n}\n.sf-fa-bitbucket:before {\n content: "";\n}\n.sf-fa-bitbucket-square:before {\n content: "";\n}\n.sf-fa-tumblr:before {\n content: "";\n}\n.sf-fa-tumblr-square:before {\n content: "";\n}\n.sf-fa-long-arrow-down:before {\n content: "";\n}\n.sf-fa-long-arrow-up:before {\n content: "";\n}\n.sf-fa-long-arrow-left:before {\n content: "";\n}\n.sf-fa-long-arrow-right:before {\n content: "";\n}\n.sf-fa-apple:before {\n content: "";\n}\n.sf-fa-windows:before {\n content: "";\n}\n.sf-fa-android:before {\n content: "";\n}\n.sf-fa-linux:before {\n content: "";\n}\n.sf-fa-dribbble:before {\n content: "";\n}\n.sf-fa-skype:before {\n content: "";\n}\n.sf-fa-foursquare:before {\n content: "";\n}\n.sf-fa-trello:before {\n content: "";\n}\n.sf-fa-female:before {\n content: "";\n}\n.sf-fa-male:before {\n content: "";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "";\n}\n.sf-fa-sun-o:before {\n content: "";\n}\n.sf-fa-moon-o:before {\n content: "";\n}\n.sf-fa-archive:before {\n content: "";\n}\n.sf-fa-bug:before {\n content: "";\n}\n.sf-fa-vk:before {\n content: "";\n}\n.sf-fa-weibo:before {\n content: "";\n}\n.sf-fa-renren:before {\n content: "";\n}\n.sf-fa-pagelines:before {\n content: "";\n}\n.sf-fa-stack-exchange:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "";\n}\n.sf-fa-dot-circle-o:before {\n content: "";\n}\n.sf-fa-wheelchair:before {\n content: "";\n}\n.sf-fa-vimeo-square:before {\n content: "";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "";\n}\n.sf-fa-plus-square-o:before {\n content: "";\n}\n.sf-fa-space-shuttle:before {\n content: "";\n}\n.sf-fa-slack:before {\n content: "";\n}\n.sf-fa-envelope-square:before {\n content: "";\n}\n.sf-fa-wordpress:before {\n content: "";\n}\n.sf-fa-openid:before {\n content: "";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "";\n}\n.sf-fa-yahoo:before {\n content: "";\n}\n.sf-fa-google:before {\n content: "";\n}\n.sf-fa-reddit:before {\n content: "";\n}\n.sf-fa-reddit-square:before {\n content: "";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "";\n}\n.sf-fa-stumbleupon:before {\n content: "";\n}\n.sf-fa-delicious:before {\n content: "";\n}\n.sf-fa-digg:before {\n content: "";\n}\n.sf-fa-pied-piper-pp:before {\n content: "";\n}\n.sf-fa-pied-piper-alt:before {\n content: "";\n}\n.sf-fa-drupal:before {\n content: "";\n}\n.sf-fa-joomla:before {\n content: "";\n}\n.sf-fa-language:before {\n content: "";\n}\n.sf-fa-fax:before {\n content: "";\n}\n.sf-fa-building:before {\n content: "";\n}\n.sf-fa-child:before {\n content: "";\n}\n.sf-fa-paw:before {\n content: "";\n}\n.sf-fa-spoon:before {\n content: "";\n}\n.sf-fa-cube:before {\n content: "";\n}\n.sf-fa-cubes:before {\n content: "";\n}\n.sf-fa-behance:before {\n content: "";\n}\n.sf-fa-behance-square:before {\n content: "";\n}\n.sf-fa-steam:before {\n content: "";\n}\n.sf-fa-steam-square:before {\n content: "";\n}\n.sf-fa-recycle:before {\n content: "";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "";\n}\n.sf-fa-tree:before {\n content: "";\n}\n.sf-fa-spotify:before {\n content: "";\n}\n.sf-fa-deviantart:before {\n content: "";\n}\n.sf-fa-soundcloud:before {\n content: "";\n}\n.sf-fa-database:before {\n content: "";\n}\n.sf-fa-file-pdf-o:before {\n content: "";\n}\n.sf-fa-file-word-o:before {\n content: "";\n}\n.sf-fa-file-excel-o:before {\n content: "";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "";\n}\n.sf-fa-file-code-o:before {\n content: "";\n}\n.sf-fa-vine:before {\n content: "";\n}\n.sf-fa-codepen:before {\n content: "";\n}\n.sf-fa-jsfiddle:before {\n content: "";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "";\n}\n.sf-fa-circle-o-notch:before {\n content: "";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "";\n}\n.sf-fa-git-square:before {\n content: "";\n}\n.sf-fa-git:before {\n content: "";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "";\n}\n.sf-fa-tencent-weibo:before {\n content: "";\n}\n.sf-fa-qq:before {\n content: "";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "";\n}\n.sf-fa-history:before {\n content: "";\n}\n.sf-fa-circle-thin:before {\n content: "";\n}\n.sf-fa-header:before {\n content: "";\n}\n.sf-fa-paragraph:before {\n content: "";\n}\n.sf-fa-sliders:before {\n content: "";\n}\n.sf-fa-share-alt:before {\n content: "";\n}\n.sf-fa-share-alt-square:before {\n content: "";\n}\n.sf-fa-bomb:before {\n content: "";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "";\n}\n.sf-fa-tty:before {\n content: "";\n}\n.sf-fa-binoculars:before {\n content: "";\n}\n.sf-fa-plug:before {\n content: "";\n}\n.sf-fa-slideshare:before {\n content: "";\n}\n.sf-fa-twitch:before {\n content: "";\n}\n.sf-fa-yelp:before {\n content: "";\n}\n.sf-fa-newspaper-o:before {\n content: "";\n}\n.sf-fa-wifi:before {\n content: "";\n}\n.sf-fa-calculator:before {\n content: "";\n}\n.sf-fa-paypal:before {\n content: "";\n}\n.sf-fa-google-wallet:before {\n content: "";\n}\n.sf-fa-cc-visa:before {\n content: "";\n}\n.sf-fa-cc-mastercard:before {\n content: "";\n}\n.sf-fa-cc-discover:before {\n content: "";\n}\n.sf-fa-cc-amex:before {\n content: "";\n}\n.sf-fa-cc-paypal:before {\n content: "";\n}\n.sf-fa-cc-stripe:before {\n content: "";\n}\n.sf-fa-bell-slash:before {\n content: "";\n}\n.sf-fa-bell-slash-o:before {\n content: "";\n}\n.sf-fa-trash:before {\n content: "";\n}\n.sf-fa-copyright:before {\n content: "";\n}\n.sf-fa-at:before {\n content: "";\n}\n.sf-fa-eyedropper:before {\n content: "";\n}\n.sf-fa-paint-brush:before {\n content: "";\n}\n.sf-fa-birthday-cake:before {\n content: "";\n}\n.sf-fa-area-chart:before {\n content: "";\n}\n.sf-fa-pie-chart:before {\n content: "";\n}\n.sf-fa-line-chart:before {\n content: "";\n}\n.sf-fa-lastfm:before {\n content: "";\n}\n.sf-fa-lastfm-square:before {\n content: "";\n}\n.sf-fa-toggle-off:before {\n content: "";\n}\n.sf-fa-toggle-on:before {\n content: "";\n}\n.sf-fa-bicycle:before {\n content: "";\n}\n.sf-fa-bus:before {\n content: "";\n}\n.sf-fa-ioxhost:before {\n content: "";\n}\n.sf-fa-angellist:before {\n content: "";\n}\n.sf-fa-cc:before {\n content: "";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "";\n}\n.sf-fa-meanpath:before {\n content: "";\n}\n.sf-fa-buysellads:before {\n content: "";\n}\n.sf-fa-connectdevelop:before {\n content: "";\n}\n.sf-fa-dashcube:before {\n content: "";\n}\n.sf-fa-forumbee:before {\n content: "";\n}\n.sf-fa-leanpub:before {\n content: "";\n}\n.sf-fa-sellsy:before {\n content: "";\n}\n.sf-fa-shirtsinbulk:before {\n content: "";\n}\n.sf-fa-simplybuilt:before {\n content: "";\n}\n.sf-fa-skyatlas:before {\n content: "";\n}\n.sf-fa-cart-plus:before {\n content: "";\n}\n.sf-fa-cart-arrow-down:before {\n content: "";\n}\n.sf-fa-diamond:before {\n content: "";\n}\n.sf-fa-ship:before {\n content: "";\n}\n.sf-fa-user-secret:before {\n content: "";\n}\n.sf-fa-motorcycle:before {\n content: "";\n}\n.sf-fa-street-view:before {\n content: "";\n}\n.sf-fa-heartbeat:before {\n content: "";\n}\n.sf-fa-venus:before {\n content: "";\n}\n.sf-fa-mars:before {\n content: "";\n}\n.sf-fa-mercury:before {\n content: "";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "";\n}\n.sf-fa-transgender-alt:before {\n content: "";\n}\n.sf-fa-venus-double:before {\n content: "";\n}\n.sf-fa-mars-double:before {\n content: "";\n}\n.sf-fa-venus-mars:before {\n content: "";\n}\n.sf-fa-mars-stroke:before {\n content: "";\n}\n.sf-fa-mars-stroke-v:before {\n content: "";\n}\n.sf-fa-mars-stroke-h:before {\n content: "";\n}\n.sf-fa-neuter:before {\n content: "";\n}\n.sf-fa-genderless:before {\n content: "";\n}\n.sf-fa-facebook-official:before {\n content: "";\n}\n.sf-fa-pinterest-p:before {\n content: "";\n}\n.sf-fa-whatsapp:before {\n content: "";\n}\n.sf-fa-server:before {\n content: "";\n}\n.sf-fa-user-plus:before {\n content: "";\n}\n.sf-fa-user-times:before {\n content: "";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "";\n}\n.sf-fa-viacoin:before {\n content: "";\n}\n.sf-fa-train:before {\n content: "";\n}\n.sf-fa-subway:before {\n content: "";\n}\n.sf-fa-medium:before {\n content: "";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "";\n}\n.sf-fa-optin-monster:before {\n content: "";\n}\n.sf-fa-opencart:before {\n content: "";\n}\n.sf-fa-expeditedssl:before {\n content: "";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "";\n}\n.sf-fa-mouse-pointer:before {\n content: "";\n}\n.sf-fa-i-cursor:before {\n content: "";\n}\n.sf-fa-object-group:before {\n content: "";\n}\n.sf-fa-object-ungroup:before {\n content: "";\n}\n.sf-fa-sticky-note:before {\n content: "";\n}\n.sf-fa-sticky-note-o:before {\n content: "";\n}\n.sf-fa-cc-jcb:before {\n content: "";\n}\n.sf-fa-cc-diners-club:before {\n content: "";\n}\n.sf-fa-clone:before {\n content: "";\n}\n.sf-fa-balance-scale:before {\n content: "";\n}\n.sf-fa-hourglass-o:before {\n content: "";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "";\n}\n.sf-fa-hourglass:before {\n content: "";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "";\n}\n.sf-fa-hand-scissors-o:before {\n content: "";\n}\n.sf-fa-hand-lizard-o:before {\n content: "";\n}\n.sf-fa-hand-spock-o:before {\n content: "";\n}\n.sf-fa-hand-pointer-o:before {\n content: "";\n}\n.sf-fa-hand-peace-o:before {\n content: "";\n}\n.sf-fa-trademark:before {\n content: "";\n}\n.sf-fa-registered:before {\n content: "";\n}\n.sf-fa-creative-commons:before {\n content: "";\n}\n.sf-fa-gg:before {\n content: "";\n}\n.sf-fa-gg-circle:before {\n content: "";\n}\n.sf-fa-tripadvisor:before {\n content: "";\n}\n.sf-fa-odnoklassniki:before {\n content: "";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "";\n}\n.sf-fa-get-pocket:before {\n content: "";\n}\n.sf-fa-wikipedia-w:before {\n content: "";\n}\n.sf-fa-safari:before {\n content: "";\n}\n.sf-fa-chrome:before {\n content: "";\n}\n.sf-fa-firefox:before {\n content: "";\n}\n.sf-fa-opera:before {\n content: "";\n}\n.sf-fa-internet-explorer:before {\n content: "";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "";\n}\n.sf-fa-contao:before {\n content: "";\n}\n.sf-fa-500px:before {\n content: "";\n}\n.sf-fa-amazon:before {\n content: "";\n}\n.sf-fa-calendar-plus-o:before {\n content: "";\n}\n.sf-fa-calendar-minus-o:before {\n content: "";\n}\n.sf-fa-calendar-times-o:before {\n content: "";\n}\n.sf-fa-calendar-check-o:before {\n content: "";\n}\n.sf-fa-industry:before {\n content: "";\n}\n.sf-fa-map-pin:before {\n content: "";\n}\n.sf-fa-map-signs:before {\n content: "";\n}\n.sf-fa-map-o:before {\n content: "";\n}\n.sf-fa-map:before {\n content: "";\n}\n.sf-fa-commenting:before {\n content: "";\n}\n.sf-fa-commenting-o:before {\n content: "";\n}\n.sf-fa-houzz:before {\n content: "";\n}\n.sf-fa-vimeo:before {\n content: "";\n}\n.sf-fa-black-tie:before {\n content: "";\n}\n.sf-fa-fonticons:before {\n content: "";\n}\n.sf-fa-reddit-alien:before {\n content: "";\n}\n.sf-fa-edge:before {\n content: "";\n}\n.sf-fa-credit-card-alt:before {\n content: "";\n}\n.sf-fa-codiepie:before {\n content: "";\n}\n.sf-fa-modx:before {\n content: "";\n}\n.sf-fa-fort-awesome:before {\n content: "";\n}\n.sf-fa-usb:before {\n content: "";\n}\n.sf-fa-product-hunt:before {\n content: "";\n}\n.sf-fa-mixcloud:before {\n content: "";\n}\n.sf-fa-scribd:before {\n content: "";\n}\n.sf-fa-pause-circle:before {\n content: "";\n}\n.sf-fa-pause-circle-o:before {\n content: "";\n}\n.sf-fa-stop-circle:before {\n content: "";\n}\n.sf-fa-stop-circle-o:before {\n content: "";\n}\n.sf-fa-shopping-bag:before {\n content: "";\n}\n.sf-fa-shopping-basket:before {\n content: "";\n}\n.sf-fa-hashtag:before {\n content: "";\n}\n.sf-fa-bluetooth:before {\n content: "";\n}\n.sf-fa-bluetooth-b:before {\n content: "";\n}\n.sf-fa-percent:before {\n content: "";\n}\n.sf-fa-gitlab:before {\n content: "";\n}\n.sf-fa-wpbeginner:before {\n content: "";\n}\n.sf-fa-wpforms:before {\n content: "";\n}\n.sf-fa-envira:before {\n content: "";\n}\n.sf-fa-universal-access:before {\n content: "";\n}\n.sf-fa-wheelchair-alt:before {\n content: "";\n}\n.sf-fa-question-circle-o:before {\n content: "";\n}\n.sf-fa-blind:before {\n content: "";\n}\n.sf-fa-audio-description:before {\n content: "";\n}\n.sf-fa-volume-control-phone:before {\n content: "";\n}\n.sf-fa-braille:before {\n content: "";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "";\n}\n.sf-fa-glide:before {\n content: "";\n}\n.sf-fa-glide-g:before {\n content: "";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "";\n}\n.sf-fa-low-vision:before {\n content: "";\n}\n.sf-fa-viadeo:before {\n content: "";\n}\n.sf-fa-viadeo-square:before {\n content: "";\n}\n.sf-fa-snapchat:before {\n content: "";\n}\n.sf-fa-snapchat-ghost:before {\n content: "";\n}\n.sf-fa-snapchat-square:before {\n content: "";\n}\n.sf-fa-pied-piper:before {\n content: "";\n}\n.sf-fa-first-order:before {\n content: "";\n}\n.sf-fa-yoast:before {\n content: "";\n}\n.sf-fa-themeisle:before {\n content: "";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "";\n}\n.sf-fa-handshake-o:before {\n content: "";\n}\n.sf-fa-envelope-open:before {\n content: "";\n}\n.sf-fa-envelope-open-o:before {\n content: "";\n}\n.sf-fa-linode:before {\n content: "";\n}\n.sf-fa-address-book:before {\n content: "";\n}\n.sf-fa-address-book-o:before {\n content: "";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "";\n}\n.sf-fa-user-circle:before {\n content: "";\n}\n.sf-fa-user-circle-o:before {\n content: "";\n}\n.sf-fa-user-o:before {\n content: "";\n}\n.sf-fa-id-badge:before {\n content: "";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "";\n}\n.sf-fa-quora:before {\n content: "";\n}\n.sf-fa-free-code-camp:before {\n content: "";\n}\n.sf-fa-telegram:before {\n content: "";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "";\n}\n.sf-fa-shower:before {\n content: "";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "";\n}\n.sf-fa-podcast:before {\n content: "";\n}\n.sf-fa-window-maximize:before {\n content: "";\n}\n.sf-fa-window-minimize:before {\n content: "";\n}\n.sf-fa-window-restore:before {\n content: "";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "";\n}\n.sf-fa-bandcamp:before {\n content: "";\n}\n.sf-fa-grav:before {\n content: "";\n}\n.sf-fa-etsy:before {\n content: "";\n}\n.sf-fa-imdb:before {\n content: "";\n}\n.sf-fa-ravelry:before {\n content: "";\n}\n.sf-fa-eercast:before {\n content: "";\n}\n.sf-fa-microchip:before {\n content: "";\n}\n.sf-fa-snowflake-o:before {\n content: "";\n}\n.sf-fa-superpowers:before {\n content: "";\n}\n.sf-fa-wpexplorer:before {\n content: "";\n}\n.sf-fa-meetup:before {\n content: "";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n:host {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal;\n -webkit-font-kerning: auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n -webkit-text-orientation: mixed;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n/*\n Icon\n\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n.sf-chip {\n display: inline-block;\n position: relative;\n margin-right: 5px;\n margin-bottom: 5px;\n min-height: 28px;\n max-width: 100%;\n vertical-align: top;\n font-size: var(--font-size-h4);\n}\n.sf-chip__content {\n background-color: #DCECF5;\n}\n.sf-chip.-success .sf-chip__content {\n background-color: #CAEED8;\n}\n.sf-chip.-error .sf-chip__content {\n background-color: #FFCCCC;\n}\n.sf-chip.-invert .sf-chip__content {\n background-color: #333;\n}\n.sf-chip.-info .sf-chip__content {\n background-color: #006CD9;\n}\n.sf-chip.-white {\n color: #fff;\n}\n.sf-chip.-removable .sf-chip__content {\n transition: text-indent 0.2s, padding 0.2s;\n overflow: hidden;\n}\n.sf-chip.-removable:hover .sf-chip__remove-button {\n display: inline;\n}\n.sf-chip.-removable:hover .sf-chip__content {\n text-indent: -6px;\n padding-right: 21px;\n}\n.sf-chip.-avatar .sf-chip__content {\n padding-left: 33.5px;\n}\n.sf-chip.-icon .sf-chip__content {\n padding-left: 33.5px;\n}\n.sf-chip.-initials .sf-chip__content {\n padding-left: 33.5px;\n}\n.sf-chip.-editable .sf-chip__content {\n display: inline-block;\n min-width: 65px;\n}\n.sf-chip.-dropped .sf-chip__dropdown {\n display: block;\n position: absolute;\n top: 33px;\n padding-top: 0;\n padding-bottom: 0;\n width: auto;\n max-width: 800px;\n z-index: 10000;\n}\n.sf-chip.-input {\n display: block;\n margin-right: 0;\n margin-bottom: 0;\n}\n.sf-chip.-input .sf-chip__input {\n padding-left: 5px;\n padding-right: 5px;\n height: 36px;\n width: 100%;\n border: 1px solid #e4e4e4;\n background-color: #fff;\n border-radius: 0;\n}\n.sf-chip.-input .sf-chip__dropdown {\n width: 100%;\n}\n.sf-chip.-stripped {\n font-size: inherit;\n}\n.sf-chip.-stripped .sf-chip__content {\n background-color: transparent;\n padding: 0;\n border-radius: 0;\n}\n.sf-chip__content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n display: inline-flex;\n padding-left: 15px;\n padding-right: 15px;\n height: 28px;\n line-height: 28px;\n text-align: left;\n vertical-align: top;\n border-radius: 28px;\n background-color: #DCECF5;\n overflow: hidden;\n max-width: 100%;\n}\n.sf-chip__content:focus {\n outline-color: transparent;\n}\n.-size-m .sf-chip__content {\n display: inline-block;\n max-width: 130px;\n}\n.-size-l .sf-chip__content {\n max-width: 180px;\n}\n.sf-chip__hint {\n flex-shrink: 0;\n}\n.sf-chip__avatar {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n margin-top: 2px;\n margin-left: 2px;\n margin-right: 7.5px;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n border-radius: 50%;\n background-color: #fff;\n color: #777;\n z-index: 10;\n max-width: 100%;\n}\n.sf-chip__avatar.-transparent {\n background-color: transparent;\n}\n.sf-chip__icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n margin-top: 2px;\n margin-left: 2px;\n margin-right: 7.5px;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n border-radius: 50%;\n background-color: #fff;\n color: #777;\n z-index: 10;\n max-width: 100%;\n}\n.sf-chip__icon.-transparent {\n background-color: transparent;\n}\n.sf-chip__initials {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n margin-top: 2px;\n margin-left: 2px;\n margin-right: 7.5px;\n width: 24px;\n height: 24px;\n line-height: 24px;\n text-align: center;\n border-radius: 50%;\n background-color: #fff;\n color: #777;\n z-index: 10;\n max-width: 100%;\n font-size: var(--font-size-h5);\n text-transform: uppercase;\n}\n.sf-chip__initials.-transparent {\n background-color: transparent;\n}\n.sf-chip__image {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n overflow: hidden;\n border-radius: 50%;\n}\n.sf-chip__remove-button {\n display: none;\n position: absolute;\n top: 0;\n right: 7.5px;\n height: 28px;\n line-height: 28px;\n text-align: right;\n cursor: pointer;\n}\n.sf-chip__dropdown {\n display: none;\n}\n/*\n Chip\n */\n/*\n Default chip\n\n `.sf-chip`\n\n Markup:\n
    \n
    \n Default chip\n
    \n
    \n
    \n
    \n Default chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default\n */\n/*\n success Chip\n\n `.sf-chip.-success`\n\n Markup:\n
    \n
    \n success chip\n
    \n
    \n
    \n
    \n success chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-success\n */\n/*\n error Chip\n\n `.sf-chip.-error`\n\n Markup:\n
    \n
    \n error chip\n
    \n
    \n
    \n
    \n error chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-error\n */\n/*\n invert Chip\n\n `.sf-chip.-invert`\n\n Markup:\n
    \n
    \n invert chip\n
    \n
    \n
    \n
    \n invert chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-invert\n */\n/*\n info Chip\n\n `.sf-chip.-info`\n\n Markup:\n
    \n
    \n info chip\n
    \n
    \n
    \n
    \n info chip with remove\n
    \n \n
    \n\n Styleguide: Chip.default-info\n */\n/*\n Chip with avatar:\n\n Markup:\n
    \n \n Avatar Image\n \n \n John Smith\n \n \n
    \n\n Styleguide: Chip.avatar\n */\n/*\n Chip with icon\n\n Markup:\n
    \n \n \n \n \n John Smith\n \n \n
    \n\n Styleguide: Chip.with-icon\n */\n/*\n Chip with initials\n\n Markup:\n
    \n \n JS\n \n \n John Smith\n \n \n
    \n\n Styleguide: Chip.initials\n */\n/*\n Editable chip\n\n Markup:\n
    \n \n
    \n\n Styleguide: Chip.editable\n */\n/*\n Chip with popup with suggestions\n\n Markup:\n
    \n \n
    \n
    \n Recent\n
    \n
    \n european\n
    \n
    \n evacuation\n
    \n
    \n event\n
    \n
    \n
    \n\n Styleguide: Chip.popup-suggestions\n*/\n/*\n Chip with popup with suggestions that looks like an input\n\n Markup:\n
    \n \n
    \n
    \n Recent\n
    \n
    \n european\n
    \n
    \n evacuation\n
    \n
    \n event\n
    \n
    \n
    \n\n Styleguide: Chip.popup-suggestions-input\n*/\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\n.-sf-mt-zero {\n margin-top: 0 !important;\n}\n.-sf-mt-4xs {\n margin-top: 5px !important;\n}\n.-sf-mt-3xs {\n margin-top: 10px !important;\n}\n.-sf-mt-2xs {\n margin-top: 15px !important;\n}\n.-sf-mt-xs {\n margin-top: 20px !important;\n}\n.-sf-mt-s {\n margin-top: 25px !important;\n}\n.-sf-mt-m {\n margin-top: 30px !important;\n}\n.-sf-mt-l {\n margin-top: 35px !important;\n}\n.-sf-mt-xl {\n margin-top: 40px !important;\n}\n.-sf-mt-2xl {\n margin-top: 45px !important;\n}\n.-sf-mt-3xl {\n margin-top: 50px !important;\n}\n.-sf-mt-4xl {\n margin-top: 55px !important;\n}\n.-sf-mt-5xl {\n margin-top: 60px !important;\n}\n.-sf-mt-6xl {\n margin-top: 80px !important;\n}\n.-sf-mt-7xl {\n margin-top: 100px !important;\n}\n.-sf-mt-8xl {\n margin-top: 120px !important;\n}\n.-sf-mt-9xl {\n margin-top: 140px !important;\n}\n.-sf-mt-10xl {\n margin-top: 160px !important;\n}\n.-sf-mt-11xl {\n margin-top: 180px !important;\n}\n.-sf-mt-12xl {\n margin-top: 200px !important;\n}\n.-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n.-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n.-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n.-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n.-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n.-sf-mb-s {\n margin-bottom: 25px !important;\n}\n.-sf-mb-m {\n margin-bottom: 30px !important;\n}\n.-sf-mb-l {\n margin-bottom: 35px !important;\n}\n.-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n.-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n.-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n.-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n.-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n.-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n.-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n.-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n.-sf-ml-zero {\n margin-left: 0 !important;\n}\n.-sf-ml-4xs {\n margin-left: 5px !important;\n}\n.-sf-ml-3xs {\n margin-left: 10px !important;\n}\n.-sf-ml-2xs {\n margin-left: 15px !important;\n}\n.-sf-ml-xs {\n margin-left: 20px !important;\n}\n.-sf-ml-s {\n margin-left: 25px !important;\n}\n.-sf-ml-m {\n margin-left: 30px !important;\n}\n.-sf-ml-l {\n margin-left: 35px !important;\n}\n.-sf-ml-xl {\n margin-left: 40px !important;\n}\n.-sf-ml-2xl {\n margin-left: 45px !important;\n}\n.-sf-ml-3xl {\n margin-left: 50px !important;\n}\n.-sf-ml-4xl {\n margin-left: 55px !important;\n}\n.-sf-ml-5xl {\n margin-left: 60px !important;\n}\n.-sf-ml-6xl {\n margin-left: 80px !important;\n}\n.-sf-ml-7xl {\n margin-left: 100px !important;\n}\n.-sf-ml-8xl {\n margin-left: 120px !important;\n}\n.-sf-mr-zero {\n margin-right: 0 !important;\n}\n.-sf-mr-4xs {\n margin-right: 5px !important;\n}\n.-sf-mr-3xs {\n margin-right: 10px !important;\n}\n.-sf-mr-2xs {\n margin-right: 15px !important;\n}\n.-sf-mr-xs {\n margin-right: 20px !important;\n}\n.-sf-mr-s {\n margin-right: 25px !important;\n}\n.-sf-mr-m {\n margin-right: 30px !important;\n}\n.-sf-mr-l {\n margin-right: 35px !important;\n}\n.-sf-mr-xl {\n margin-right: 40px !important;\n}\n.-sf-mr-2xl {\n margin-right: 45px !important;\n}\n.-sf-mr-3xl {\n margin-right: 50px !important;\n}\n.-sf-mr-4xl {\n margin-right: 55px !important;\n}\n.-sf-mr-5xl {\n margin-right: 60px !important;\n}\n.-sf-mr-6xl {\n margin-right: 80px !important;\n}\n.-sf-mr-7xl {\n margin-right: 100px !important;\n}\n.-sf-mr-8xl {\n margin-right: 120px !important;\n}\n.-sf-m-zero {\n margin: 0 !important;\n}\n.-sf-m-4xs {\n margin: 5px !important;\n}\n.-sf-m-3xs {\n margin: 10px !important;\n}\n.-sf-m-2xs {\n margin: 15px !important;\n}\n.-sf-m-xs {\n margin: 20px !important;\n}\n.-sf-m-s {\n margin: 25px !important;\n}\n.-sf-m-m {\n margin: 30px !important;\n}\n.-sf-m-l {\n margin: 35px !important;\n}\n.-sf-m-xl {\n margin: 40px !important;\n}\n.-sf-m-2xl {\n margin: 45px !important;\n}\n.-sf-m-3xl {\n margin: 50px !important;\n}\n.-sf-m-4xl {\n margin: 55px !important;\n}\n.-sf-m-5xl {\n margin: 60px !important;\n}\n.-sf-m-6xl {\n margin: 80px !important;\n}\n.-sf-m-7xl {\n margin: 100px !important;\n}\n.-sf-m-8xl {\n margin: 120px !important;\n}\n.-sf-mt-8xs {\n margin-top: 1px !important;\n}\n.-sf-mt-7xs {\n margin-top: 2px !important;\n}\n.-sf-mt-6xs {\n margin-top: 3px !important;\n}\n.-sf-mt-5xs {\n margin-top: 4px !important;\n}\n.-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n.-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n.-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n.-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n.-sf-ml-8xs {\n margin-left: 1px !important;\n}\n.-sf-ml-7xs {\n margin-left: 2px !important;\n}\n.-sf-ml-6xs {\n margin-left: 3px !important;\n}\n.-sf-ml-5xs {\n margin-left: 4px !important;\n}\n.-sf-mr-8xs {\n margin-right: 1px !important;\n}\n.-sf-mr-7xs {\n margin-right: 2px !important;\n}\n.-sf-mr-6xs {\n margin-right: 3px !important;\n}\n.-sf-mr-5xs {\n margin-right: 4px !important;\n}\n.-sf-mt--4xs {\n margin-top: -5px !important;\n}\n.-sf-mt--3xs {\n margin-top: -10px !important;\n}\n.-sf-mt--2xs {\n margin-top: -15px !important;\n}\n.-sf-mt--xs {\n margin-top: -20px !important;\n}\n.-sf-mt--s {\n margin-top: -25px !important;\n}\n.-sf-mt--m {\n margin-top: -30px !important;\n}\n.-sf-mt--l {\n margin-top: -35px !important;\n}\n.-sf-mt--xl {\n margin-top: -40px !important;\n}\n.-sf-mt--2xl {\n margin-top: -45px !important;\n}\n.-sf-mt--3xl {\n margin-top: -50px !important;\n}\n.-sf-mt--4xl {\n margin-top: -55px !important;\n}\n.-sf-mt--5xl {\n margin-top: -60px !important;\n}\n.-sf-mt--6xl {\n margin-top: -80px !important;\n}\n.-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n.-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n.-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n.-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n.-sf-mb--s {\n margin-bottom: -25px !important;\n}\n.-sf-mb--m {\n margin-bottom: -30px !important;\n}\n.-sf-mb--l {\n margin-bottom: -35px !important;\n}\n.-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n.-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n.-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n.-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n.-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n.-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n.-sf-ml--4xs {\n margin-left: -5px !important;\n}\n.-sf-ml--3xs {\n margin-left: -10px !important;\n}\n.-sf-ml--2xs {\n margin-left: -15px !important;\n}\n.-sf-ml--xs {\n margin-left: -20px !important;\n}\n.-sf-ml--s {\n margin-left: -25px !important;\n}\n.-sf-ml--m {\n margin-left: -30px !important;\n}\n.-sf-ml--l {\n margin-left: -35px !important;\n}\n.-sf-ml--xl {\n margin-left: -40px !important;\n}\n.-sf-ml--2xl {\n margin-left: -45px !important;\n}\n.-sf-ml--3xl {\n margin-left: -50px !important;\n}\n.-sf-ml--4xl {\n margin-left: -55px !important;\n}\n.-sf-ml--5xl {\n margin-left: -60px !important;\n}\n.-sf-ml--6xl {\n margin-left: -80px !important;\n}\n.-sf-mr--4xs {\n margin-right: -5px !important;\n}\n.-sf-mr--3xs {\n margin-right: -10px !important;\n}\n.-sf-mr--2xs {\n margin-right: -15px !important;\n}\n.-sf-mr--xs {\n margin-right: -20px !important;\n}\n.-sf-mr--s {\n margin-right: -25px !important;\n}\n.-sf-mr--m {\n margin-right: -30px !important;\n}\n.-sf-mr--l {\n margin-right: -35px !important;\n}\n.-sf-mr--xl {\n margin-right: -40px !important;\n}\n.-sf-mr--2xl {\n margin-right: -45px !important;\n}\n.-sf-mr--3xl {\n margin-right: -50px !important;\n}\n.-sf-mr--4xl {\n margin-right: -55px !important;\n}\n.-sf-mr--5xl {\n margin-right: -60px !important;\n}\n.-sf-mr--6xl {\n margin-right: -80px !important;\n}\n.-sf-pt-zero {\n padding-top: 0 !important;\n}\n.-sf-pt-4xs {\n padding-top: 5px !important;\n}\n.-sf-pt-3xs {\n padding-top: 10px !important;\n}\n.-sf-pt-2xs {\n padding-top: 15px !important;\n}\n.-sf-pt-xs {\n padding-top: 20px !important;\n}\n.-sf-pt-s {\n padding-top: 25px !important;\n}\n.-sf-pt-m {\n padding-top: 30px !important;\n}\n.-sf-pt-l {\n padding-top: 35px !important;\n}\n.-sf-pt-xl {\n padding-top: 40px !important;\n}\n.-sf-pt-2xl {\n padding-top: 45px !important;\n}\n.-sf-pt-3xl {\n padding-top: 50px !important;\n}\n.-sf-pt-4xl {\n padding-top: 55px !important;\n}\n.-sf-pt-5xl {\n padding-top: 60px !important;\n}\n.-sf-pt-6xl {\n padding-top: 80px !important;\n}\n.-sf-pt-7xl {\n padding-top: 100px !important;\n}\n.-sf-pt-8xl {\n padding-top: 120px !important;\n}\n.-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n.-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n.-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n.-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n.-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n.-sf-pb-s {\n padding-bottom: 25px !important;\n}\n.-sf-pb-m {\n padding-bottom: 30px !important;\n}\n.-sf-pb-l {\n padding-bottom: 35px !important;\n}\n.-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n.-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n.-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n.-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n.-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n.-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n.-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n.-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n.-sf-pl-zero {\n padding-left: 0 !important;\n}\n.-sf-pl-4xs {\n padding-left: 5px !important;\n}\n.-sf-pl-3xs {\n padding-left: 10px !important;\n}\n.-sf-pl-2xs {\n padding-left: 15px !important;\n}\n.-sf-pl-xs {\n padding-left: 20px !important;\n}\n.-sf-pl-s {\n padding-left: 25px !important;\n}\n.-sf-pl-m {\n padding-left: 30px !important;\n}\n.-sf-pl-l {\n padding-left: 35px !important;\n}\n.-sf-pl-xl {\n padding-left: 40px !important;\n}\n.-sf-pl-2xl {\n padding-left: 45px !important;\n}\n.-sf-pl-3xl {\n padding-left: 50px !important;\n}\n.-sf-pl-4xl {\n padding-left: 55px !important;\n}\n.-sf-pl-5xl {\n padding-left: 60px !important;\n}\n.-sf-pl-6xl {\n padding-left: 80px !important;\n}\n.-sf-pl-7xl {\n padding-left: 100px !important;\n}\n.-sf-pl-8xl {\n padding-left: 120px !important;\n}\n.-sf-pr-zero {\n padding-right: 0 !important;\n}\n.-sf-pr-4xs {\n padding-right: 5px !important;\n}\n.-sf-pr-3xs {\n padding-right: 10px !important;\n}\n.-sf-pr-2xs {\n padding-right: 15px !important;\n}\n.-sf-pr-xs {\n padding-right: 20px !important;\n}\n.-sf-pr-s {\n padding-right: 25px !important;\n}\n.-sf-pr-m {\n padding-right: 30px !important;\n}\n.-sf-pr-l {\n padding-right: 35px !important;\n}\n.-sf-pr-xl {\n padding-right: 40px !important;\n}\n.-sf-pr-2xl {\n padding-right: 45px !important;\n}\n.-sf-pr-3xl {\n padding-right: 50px !important;\n}\n.-sf-pr-4xl {\n padding-right: 55px !important;\n}\n.-sf-pr-5xl {\n padding-right: 60px !important;\n}\n.-sf-pr-6xl {\n padding-right: 80px !important;\n}\n.-sf-pr-7xl {\n padding-right: 100px !important;\n}\n.-sf-pr-8xl {\n padding-right: 120px !important;\n}\n.-sf-p-zero {\n padding: 0 !important;\n}\n.-sf-p-4xs {\n padding: 5px !important;\n}\n.-sf-p-3xs {\n padding: 10px !important;\n}\n.-sf-p-2xs {\n padding: 15px !important;\n}\n.-sf-p-xs {\n padding: 20px !important;\n}\n.-sf-p-s {\n padding: 25px !important;\n}\n.-sf-p-m {\n padding: 30px !important;\n}\n.-sf-p-l {\n padding: 35px !important;\n}\n.-sf-p-xl {\n padding: 40px !important;\n}\n.-sf-p-2xl {\n padding: 45px !important;\n}\n.-sf-p-3xl {\n padding: 50px !important;\n}\n.-sf-p-4xl {\n padding: 55px !important;\n}\n.-sf-p-5xl {\n padding: 60px !important;\n}\n.-sf-p-6xl {\n padding: 80px !important;\n}\n.-sf-p-7xl {\n padding: 100px !important;\n}\n.-sf-p-8xl {\n padding: 120px !important;\n}\n.-sf-pt-8xs {\n padding-top: 1px !important;\n}\n.-sf-pt-7xs {\n padding-top: 2px !important;\n}\n.-sf-pt-6xs {\n padding-top: 3px !important;\n}\n.-sf-pt-5xs {\n padding-top: 4px !important;\n}\n.-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n.-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n.-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n.-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n.-sf-pl-8xs {\n padding-left: 1px !important;\n}\n.-sf-pl-7xs {\n padding-left: 2px !important;\n}\n.-sf-pl-6xs {\n padding-left: 3px !important;\n}\n.-sf-pl-5xs {\n padding-left: 4px !important;\n}\n.-sf-pr-8xs {\n padding-right: 1px !important;\n}\n.-sf-pr-7xs {\n padding-right: 2px !important;\n}\n.-sf-pr-6xs {\n padding-right: 3px !important;\n}\n.-sf-pr-5xs {\n padding-right: 4px !important;\n}\n.-sf-ml-auto {\n margin-left: auto !important;\n}\n.-sf-mr-auto {\n margin-right: auto !important;\n}\n.-sf-ml-50 {\n margin-left: 50% !important;\n}\n.-sf-mr-50 {\n margin-right: 50% !important;\n}\n/*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n/*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n/*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n/*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n/*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n/*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n/*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n/*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n/*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n/*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\nStyleguide: Spacing.margin-classes\n*/\n/*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n/*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n/*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n/*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n/* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n*/\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.-sf-hidden {\n display: none !important;\n}\n.-sf-invisible {\n visibility: hidden !important;\n}\n.-sf-block {\n display: block !important;\n}\n.-sf-inline-block {\n display: inline-block !important;\n}\n.-sf-flex {\n display: flex !important;\n}\n.-sf-inline-flex {\n display: inline-flex !important;\n}\n.-sf-absolute {\n position: absolute !important;\n}\n.-sf-relative {\n position: relative !important;\n}\n.-sf-static {\n position: static !important;\n}\n.-sf-transparent {\n opacity: 0;\n}\n.-sf-align-self-center {\n align-self: center !important;\n}\n.-sf-visually-hidden {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n}\n.-sf-img-fit-cover {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n overflow: hidden;\n}\n.-sf-rotate-90 {\n transform: rotate(90deg);\n}\n.-sf-rotate--90 {\n transform: rotate(-90deg);\n}\n.-sf-rotate-180 {\n transform: rotate(180deg);\n}\n/*\n Visibility utility classes\n\n Hide classes\n\n `-sf-hidden, -sf-invisible, -sf-transparent`\n\n Markup:\n
    .-sf-hidden
    \n
    .-sf-invisible
    \n
    .-sf-transparent
    \n\n Styleguide: Visibility.hide\n */\n/*\n Visually hidden but accessible to screen readers\n\n `-sf-visually-hidden`\n\n Markup:\n
    This text is visually hidden but accessible to screen readers
    \n\n Styleguide: Visibility.visually-hidden\n */\n/*\n Image fit cover\n\n `-sf-img-fit-cover`\n\n Markup:\n
    \n\n Styleguide: Visibility.img-fit-cover\n */\n/*\n Positions\n\n `-sf-absolute, -sf-relative`\n\n Markup:\n
    Absolute position
    \n
    Relative position
    \n
    Static position
    \n\n Styleguide: Visibility.positions\n */\n/*\n Rotate\n\n `-sf-rotate-90, sf-rotate--90, sf-rotate-180`\n\n Markup:\n
    Rotate 90deg
    \n
    Rotate -90deg
    \n
    Rotate 180deg
    \n\n Styleguide: Visibility.rotate\n */\n:host(.-sf-dragged-over) .sf-add-widget {\n --sf-visibility: visible;\n border: 2px solid #333;\n height: 35px;\n}\n:host(.-sf-dragged-over) .sf-add-widget__btn {\n display: none;\n}\n:host(.-sf-dragged-over) .sf-add-widget__text {\n display: block;\n}\n:host(.-sf-dragged-over) .sf-add-widget__label {\n top: -14px;\n}\n:host(.-sf-flex-child) .sf-add-widget {\n height: 100%;\n border: 0;\n border-right: 3px solid #333;\n}\n.sf-add-widget {\n display: flex;\n visibility: var(--sf-visibility);\n border: 3px solid #333;\n border-bottom: 0;\n position: relative;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n.sf-add-widget__label {\n position: absolute;\n z-index: 1000;\n margin-top: -1px;\n white-space: nowrap;\n}\n.sf-add-widget__text {\n font-size: var(--font-size-h5);\n text-transform: uppercase;\n color: #999;\n background: #CAEED8;\n padding: 3px 8px;\n display: none;\n}'],encapsulation:3}),AddWidgetComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EmptyWidgetComponent",(function(){return A}));var o=n(229),i=n(1483),r=n(261),a=["linkElement"];function EmptyWidgetComponent_div_0_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",3),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](n.label)}}var _c1=function(e){return{"-no-hover":e}},s="sf-zone-empty "+i.CLASS_ZONE_UI,A=function(){function EmptyWidgetComponent(){this.onAddClick=new o.EventEmitter,this.classes=s,this.isLabeled=!1,this.hasAction=!0}return Object.defineProperty(EmptyWidgetComponent.prototype,"label",{get:function(){return this._label},set:function(e){this._label=e,this.isLabeled=!!e},enumerable:!1,configurable:!0}),EmptyWidgetComponent.prototype.ngOnInit=function(){this.hasAction=this.action!==i.EMPTY_WIDGET_ACTION.NONE},EmptyWidgetComponent.prototype.onAddButtonClick=function(e){e.preventDefault(),e.stopPropagation(),this.onAddClick.emit()},EmptyWidgetComponent.ɵfac=function EmptyWidgetComponent_Factory(e){return new(e||EmptyWidgetComponent)},EmptyWidgetComponent.ɵcmp=o["ɵɵdefineComponent"]({type:EmptyWidgetComponent,selectors:[["sf-empty-widget"]],viewQuery:function EmptyWidgetComponent_Query(e,t){if(1&e&&o["ɵɵviewQuery"](a,3),2&e){var n;o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.linkElement=n.first)}},hostVars:4,hostBindings:function EmptyWidgetComponent_HostBindings(e,t){2&e&&(o["ɵɵclassMap"](t.classes),o["ɵɵclassProp"]("-sf-labeled",t.isLabeled))},inputs:{label:"label",icon:"icon",text:"text",action:"action"},outputs:{onAddClick:"onAddClick"},decls:5,vars:8,consts:[["class","sf-zone-empty__description",4,"ngIf"],["data-sfemptylink","true",1,"sf-zone-empty__wrapper",3,"ngClass","click"],[1,"sf-zone-empty__text"],[1,"sf-zone-empty__description"]],template:function EmptyWidgetComponent_Template(e,t){1&e&&(o["ɵɵtemplate"](0,EmptyWidgetComponent_div_0_Template,2,1,"div",0),o["ɵɵelementStart"](1,"a",1),o["ɵɵlistener"]("click",(function EmptyWidgetComponent_Template_a_click_1_listener(e){return t.hasAction&&t.onAddButtonClick(e)})),o["ɵɵelement"](2,"i"),o["ɵɵelementStart"](3,"span",2),o["ɵɵtext"](4),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵproperty"]("ngIf",t.label),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngClass",o["ɵɵpureFunction1"](6,_c1,!t.hasAction)),o["ɵɵadvance"](1),o["ɵɵclassMapInterpolate1"]("sf-fa sf-fa-",t.icon," sf-zone-empty__icon"),o["ɵɵadvance"](2),o["ɵɵtextInterpolate"](t.text))},directives:[r.NgIf,r.NgClass],encapsulation:2}),EmptyWidgetComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"WIDGET_SETTINGS_KEY",(function(){return b})),n.d(t,"InlineToolbarComponent",(function(){return k}));var o=n(229),i=n(260),r=n(1490),a=n(1491),s=n(11),A=n(1492),l=n(1494),c=n(246),d=n(1485),p=n(1204),f=n(1539),u=n(272),m=n(1483),g=n(1506),E=n(1139),h=n(262),b="widget-settings",C="paste-"+b,B="copy-"+b,k=function(){function InlineToolbarComponent(e,t,n,i,r,a,A,l){this.storage=e,this.actionService=t,this.route=n,this.widgetPropertyEditorService=i,this.contract=r,this.renderer=a,this.siteDataStore=A,this.zoneEditorDomService=l,this.focusTriggeringSubscription=new s.BehaviorSubject(!1),this.onOperationExecuted=new o.EventEmitter,this.onFocusOut=new o.EventEmitter,this.widgetOperations=new s.BehaviorSubject([]),this.originalOperations=[]}return InlineToolbarComponent.prototype.ngOnInit=function(){var e=this.getWidgetSettings();if(e){(new Date).getTime()-e.time>36e5&&this.storage.removeItem(b)}},InlineToolbarComponent.prototype.loadOperations=function(e){if("Section"===this.component.name&&e.splice(1,0,{Name:"quickedit",Title:"Change layout",Category:{Name:"General"}}),this.originalOperations=e,e=this.filterPasteOperations(e),this.component.isPersonalized){for(var t=0;t0){var o=n.ContextParameters.find((function(e){return e.Name===h.QUERY_PARAMS.WIDGET_SEGMENT_ID}));o&&this.component.widgetSegmentId===o.Value&&(this.selectedOperationName=n.Name)}}this.selectedOperationName||(this.selectedOperationName=c.stringConstants.DEFAULT_GUID)}this.focusTriggeringSubscription.next(!0),this.widgetOperations.next(e)},InlineToolbarComponent.prototype.refreshOperations=function(){var e=this.filterPasteOperations(this.originalOperations);e.length!==this.widgetOperations.getValue().length&&this.widgetOperations.next(e)},InlineToolbarComponent.prototype.onActionButtonClicked=function(e){var t=this.component.id;if("edit"===e.sourceOperation.Name)this.handleEdit(t,e);else if("quickedit"===e.sourceOperation.Name)this.handleQuickEdit(t,e);else if(e.sourceOperation.Name===B)this.handleCopySettings(t,e);else if(e.sourceOperation.Name.startsWith(C))this.handlePasteSettings(t,e);else if(p.CONTENT_BLOCK_OPERATIONS_VIEW_MODES[e.sourceOperation.Name]){var n=p.CONTENT_BLOCK_OPERATIONS_VIEW_MODES[e.sourceOperation.Name];this.openSpecialOperationsDialog(t,e,n)}else this.handleGeneric(t,e)},InlineToolbarComponent.prototype.focusOut=function(){this.onFocusOut.next(),this.focusTriggeringSubscription.next(!1)},InlineToolbarComponent.prototype.openEditDialog=function(e,t){var n=this.getWidgetContext(e,t);return n.localizationMode=this.component.iscontentwidget?l.WidgetLocalizationMode.Both:l.WidgetLocalizationMode.AlwaysSaveAllTranslations,n.viewName=c.stringConstants.EMPTY_STRING,n.viewKey={viewName:"Basic",widgetName:n.widgetName},this.widgetPropertyEditorService.initializeViewData(this.route.parent,n)},InlineToolbarComponent.prototype.openQuickEditDialog=function(e,t){var n=this.getWidgetContext(e,t);return n.isQuickEdit=!0,n.localizationMode=l.WidgetLocalizationMode.AlwaysSaveAllTranslations,n.viewName=p.PropertyEditorViewModes.COLUMNS_PROPORTIONS,n.viewKey={viewName:p.PropertyEditorViewModes.COLUMNS_PROPORTIONS,widgetName:n.widgetName},this.widgetPropertyEditorService.initialzieQuickEdit(this.route.parent,n)},InlineToolbarComponent.prototype.openSpecialOperationsDialog=function(e,t,n){var o=this,i=this.getWidgetContext(e,this.component.name);i.viewName=n,i.viewKey={viewName:n,widgetName:i.widgetName},this.widgetPropertyEditorService.initializeViewData(this.route.parent,i).subscribe((function(n){n&&n.data?o.handleGeneric(e,t,[]):o.focusOut()}))},InlineToolbarComponent.prototype.handlePasteSettings=function(e,t){var n=this.storage.getItem(b);if(n){var o=JSON.parse(n);this.handleGeneric(e,t,o.properties)}},InlineToolbarComponent.prototype.handleCopySettings=function(e,t){var n=this;this.handleGeneric(e,t,void 0,(function(e){var t={time:(new Date).getTime(),widgetType:n.component.name,properties:e.Properties};n.storage.setItem(b,JSON.stringify(t)),e.SkipRerender=!0}))},InlineToolbarComponent.prototype.filterPasteOperations=function(e){var t=!1,n=this.getWidgetSettings();return n?n.widgetType!==this.component.name&&(t=!0):t=!0,t?e.filter((function(e){return!e.Name.startsWith(C)})):e},InlineToolbarComponent.prototype.getWidgetSettings=function(){var e=this.storage.getItem(b);return e?JSON.parse(e):null},InlineToolbarComponent.prototype.getWidgetContext=function(e,t){var n=new l.WidgetContext;return n.widgetId=e,n.pageId=this.dataItem.key,n.widgetName=t,n.culture=this.dataItem.culture,n.component=this.component,n.window=this.windowElement,n.segmentId=this.segmentId,n.widgetSegmentId=this.component.widgetSegmentId,n},InlineToolbarComponent.prototype.handleEdit=function(e,t){var n=this;this.openEditDialog(e,this.component.name).subscribe((function(e){e&&e.data?n.onOperationExecuted.next({Success:!0,SourceOperation:t.sourceOperation}):n.focusOut()}))},InlineToolbarComponent.prototype.handleQuickEdit=function(e,t){var n=this,o=this.openQuickEditDialog(e,this.component.name),i=this.zoneEditorDomService.createComponent(o.type,o.properties);i.instance.setCloseModalCallback((function(e){e.SourceOperation.Name!==p.PropertyEditorOperations.CANCEL?n.onOperationExecuted.next({Success:!0,SourceOperation:t.sourceOperation}):(n.component.quickEditMenu=null,n.zoneEditorDomService.removeComponent(i))})),this.component.quickEditMenu=i,this.zoneEditorDomService.attachComponentAsFirstChild(i,this.component.domElement,m.CLASS_ZONE_QUICKEDIT,null)},InlineToolbarComponent.prototype.handleGeneric=function(e,t,n,o){var i=this;void 0===n&&(n=[]);var executeAction=function(r){void 0===r&&(r={}),i.siteDataStore.getValue().subscribe((function(a){var s={dataItem:i.dataItem,widgetKey:e,widgetName:i.component.name,siteId:a.Id};i.renderer.getWidgetMetadata(s).subscribe((function(a){var s=a.PropertyMetadataFlat.map((function(e){return{Name:e.Name,Title:e.Title,Type:e.Type,DefaultValue:e.DefaultValue,Properties:e.Properties}}));if(Object.keys(r).forEach((function(e){n.push({Name:e,Value:r[e]})})),t.sourceOperation.ExecuteOnServer){var A=t.sourceOperation.ContextParameters.find((function(e){return e.Name===h.QUERY_PARAMS.WIDGET_SEGMENT_ID}));i.contract.executeWidgetOperation(i.dataItem,e,t.sourceOperation,n,s,i.segmentId,(null==A?void 0:A.Value)||i.component.widgetSegmentId).subscribe((function(e){e.SourceOperation=t.sourceOperation,o&&o(e),i.onOperationExecuted.next(e)}))}else i.onOperationExecuted.next({Success:!0,SourceOperation:t.sourceOperation})}))}))};t.sourceOperation.RequiresConfirmation?this.actionService.actionConfirmHandler({route:this.route,actionButton:t,actionButtonStateService:null,window:this.windowElement}).subscribe((function(e){var t=e.dialogResult.data;if(t&&t.data){var n=e.dialogResult.component.editableFields,o=void 0;n&&(o=n.getFields(!1)),executeAction(o)}})):executeAction()},InlineToolbarComponent.ɵfac=function InlineToolbarComponent_Factory(e){return new(e||InlineToolbarComponent)(o["ɵɵdirectiveInject"](u.LOCAL_STORAGE),o["ɵɵdirectiveInject"](f.ActionExecutorService),o["ɵɵdirectiveInject"](i.ActivatedRoute),o["ɵɵdirectiveInject"](A.WidgetPropertyEditorService),o["ɵɵdirectiveInject"](a.ZoneEditorContract),o["ɵɵdirectiveInject"](g.RendererService),o["ɵɵdirectiveInject"](E.SiteDataStore),o["ɵɵdirectiveInject"](d.ZoneEditorDomService))},InlineToolbarComponent.ɵcmp=o["ɵɵdefineComponent"]({type:InlineToolbarComponent,selectors:[["sf-inline-toolbar"]],outputs:{onOperationExecuted:"onOperationExecuted",onFocusOut:"onFocusOut"},features:[o["ɵɵProvidersFeature"]([r.ActionButtonsStateService])],decls:1,vars:5,consts:[["buttonsLook","icon no-border toolset no-hover no-active no-focus-visible","dropdownButtonIconName","ellipsis-h","dropdownButtonIconLook","size-xs color-inherit","iconTitle","More options","ariaLabel","More options","sfTrackFocus","",3,"operations","selectedOperationName","isToolset","focusSubscription","closeOnContentClick","buttonClicked","contentFocusOut"]],template:function InlineToolbarComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"sf-action-menu",0),o["ɵɵlistener"]("buttonClicked",(function InlineToolbarComponent_Template_sf_action_menu_buttonClicked_0_listener(e){return t.onActionButtonClicked(e)}))("contentFocusOut",(function InlineToolbarComponent_Template_sf_action_menu_contentFocusOut_0_listener(){return t.focusOut()})),o["ɵɵelementEnd"]()),2&e&&o["ɵɵproperty"]("operations",t.widgetOperations)("selectedOperationName",t.selectedOperationName)("isToolset",!0)("focusSubscription",t.focusTriggeringSubscription)("closeOnContentClick",!1)},styles:['@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n:host article, :host aside, :host details, :host figcaption, :host figure, :host footer, :host header, :host hgroup, :host main, :host nav, :host section, :host summary,\n:host button, :host input, :host optgroup, :host select, :host textarea,\n:host h1, :host h2, :host h3, :host h4, :host h5, :host h6,\n:host p, :host blockquote, :host pre,\n:host dl, :host dd, :host ol, :host ul, :host li,\n:host form, :host fieldset, :host legend, :host label,\n:host table, :host th, :host td, :host caption,\n:host hr {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal;\n -webkit-font-kerning: auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n -webkit-text-orientation: mixed;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n}\n:host {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:host {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:host {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:host {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:host {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:host {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:host {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:host {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:host {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.6rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:host {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:host {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:host {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:host {\n --select-arrow-color: #777;\n}\n:host {\n --input-box-shadow-hover: #e4e4e4;\n}\n:host {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:host {\n --secondary-text-color: #999;\n}\n:host {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:host {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 46px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: "FontAwesome";\n src: url("./assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0");\n src: url("./assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("./assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("./assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("./assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("./assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");\n font-weight: normal;\n font-style: normal;\n}\n.sf-fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.sf-fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.sf-fa-2x {\n font-size: 2em;\n}\n.sf-fa-3x {\n font-size: 3em;\n}\n.sf-fa-4x {\n font-size: 4em;\n}\n.sf-fa-5x {\n font-size: 5em;\n}\n.sf-fa-fw {\n width: 1.2857142857em;\n text-align: center;\n}\n.sf-fa-ul {\n padding-left: 0;\n margin-left: 2.1428571429em;\n list-style-type: none;\n}\n.sf-fa-ul > li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "";\n}\n.sf-fa-music:before {\n content: "";\n}\n.sf-fa-search:before {\n content: "";\n}\n.sf-fa-envelope-o:before {\n content: "";\n}\n.sf-fa-heart:before {\n content: "";\n}\n.sf-fa-star:before {\n content: "";\n}\n.sf-fa-star-o:before {\n content: "";\n}\n.sf-fa-user:before {\n content: "";\n}\n.sf-fa-film:before {\n content: "";\n}\n.sf-fa-th-large:before {\n content: "";\n}\n.sf-fa-th:before {\n content: "";\n}\n.sf-fa-th-list:before {\n content: "";\n}\n.sf-fa-check:before {\n content: "";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "";\n}\n.sf-fa-search-plus:before {\n content: "";\n}\n.sf-fa-search-minus:before {\n content: "";\n}\n.sf-fa-power-off:before {\n content: "";\n}\n.sf-fa-signal:before {\n content: "";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "";\n}\n.sf-fa-trash-o:before {\n content: "";\n}\n.sf-fa-home:before {\n content: "";\n}\n.sf-fa-file-o:before {\n content: "";\n}\n.sf-fa-clock-o:before {\n content: "";\n}\n.sf-fa-road:before {\n content: "";\n}\n.sf-fa-download:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "";\n}\n.sf-fa-inbox:before {\n content: "";\n}\n.sf-fa-play-circle-o:before {\n content: "";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "";\n}\n.sf-fa-refresh:before {\n content: "";\n}\n.sf-fa-list-alt:before {\n content: "";\n}\n.sf-fa-lock:before {\n content: "";\n}\n.sf-fa-flag:before {\n content: "";\n}\n.sf-fa-headphones:before {\n content: "";\n}\n.sf-fa-volume-off:before {\n content: "";\n}\n.sf-fa-volume-down:before {\n content: "";\n}\n.sf-fa-volume-up:before {\n content: "";\n}\n.sf-fa-qrcode:before {\n content: "";\n}\n.sf-fa-barcode:before {\n content: "";\n}\n.sf-fa-tag:before {\n content: "";\n}\n.sf-fa-tags:before {\n content: "";\n}\n.sf-fa-book:before {\n content: "";\n}\n.sf-fa-bookmark:before {\n content: "";\n}\n.sf-fa-print:before {\n content: "";\n}\n.sf-fa-camera:before {\n content: "";\n}\n.sf-fa-font:before {\n content: "";\n}\n.sf-fa-bold:before {\n content: "";\n}\n.sf-fa-italic:before {\n content: "";\n}\n.sf-fa-text-height:before {\n content: "";\n}\n.sf-fa-text-width:before {\n content: "";\n}\n.sf-fa-align-left:before {\n content: "";\n}\n.sf-fa-align-center:before {\n content: "";\n}\n.sf-fa-align-right:before {\n content: "";\n}\n.sf-fa-align-justify:before {\n content: "";\n}\n.sf-fa-list:before {\n content: "";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "";\n}\n.sf-fa-indent:before {\n content: "";\n}\n.sf-fa-video-camera:before {\n content: "";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "";\n}\n.sf-fa-pencil:before {\n content: "";\n}\n.sf-fa-map-marker:before {\n content: "";\n}\n.sf-fa-adjust:before {\n content: "";\n}\n.sf-fa-tint:before {\n content: "";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "";\n}\n.sf-fa-share-square-o:before {\n content: "";\n}\n.sf-fa-check-square-o:before {\n content: "";\n}\n.sf-fa-arrows:before {\n content: "";\n}\n.sf-fa-step-backward:before {\n content: "";\n}\n.sf-fa-fast-backward:before {\n content: "";\n}\n.sf-fa-backward:before {\n content: "";\n}\n.sf-fa-play:before {\n content: "";\n}\n.sf-fa-pause:before {\n content: "";\n}\n.sf-fa-stop:before {\n content: "";\n}\n.sf-fa-forward:before {\n content: "";\n}\n.sf-fa-fast-forward:before {\n content: "";\n}\n.sf-fa-step-forward:before {\n content: "";\n}\n.sf-fa-eject:before {\n content: "";\n}\n.sf-fa-chevron-left:before {\n content: "";\n}\n.sf-fa-chevron-right:before {\n content: "";\n}\n.sf-fa-plus-circle:before {\n content: "";\n}\n.sf-fa-minus-circle:before {\n content: "";\n}\n.sf-fa-times-circle:before {\n content: "";\n}\n.sf-fa-check-circle:before {\n content: "";\n}\n.sf-fa-question-circle:before {\n content: "";\n}\n.sf-fa-info-circle:before {\n content: "";\n}\n.sf-fa-crosshairs:before {\n content: "";\n}\n.sf-fa-times-circle-o:before {\n content: "";\n}\n.sf-fa-check-circle-o:before {\n content: "";\n}\n.sf-fa-ban:before {\n content: "";\n}\n.sf-fa-arrow-left:before {\n content: "";\n}\n.sf-fa-arrow-right:before {\n content: "";\n}\n.sf-fa-arrow-up:before {\n content: "";\n}\n.sf-fa-arrow-down:before {\n content: "";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "";\n}\n.sf-fa-expand:before {\n content: "";\n}\n.sf-fa-compress:before {\n content: "";\n}\n.sf-fa-plus:before {\n content: "";\n}\n.sf-fa-minus:before {\n content: "";\n}\n.sf-fa-asterisk:before {\n content: "";\n}\n.sf-fa-exclamation-circle:before {\n content: "";\n}\n.sf-fa-gift:before {\n content: "";\n}\n.sf-fa-leaf:before {\n content: "";\n}\n.sf-fa-fire:before {\n content: "";\n}\n.sf-fa-eye:before {\n content: "";\n}\n.sf-fa-eye-slash:before {\n content: "";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "";\n}\n.sf-fa-plane:before {\n content: "";\n}\n.sf-fa-calendar:before {\n content: "";\n}\n.sf-fa-random:before {\n content: "";\n}\n.sf-fa-comment:before {\n content: "";\n}\n.sf-fa-magnet:before {\n content: "";\n}\n.sf-fa-chevron-up:before {\n content: "";\n}\n.sf-fa-chevron-down:before {\n content: "";\n}\n.sf-fa-retweet:before {\n content: "";\n}\n.sf-fa-shopping-cart:before {\n content: "";\n}\n.sf-fa-folder:before {\n content: "";\n}\n.sf-fa-folder-open:before {\n content: "";\n}\n.sf-fa-arrows-v:before {\n content: "";\n}\n.sf-fa-arrows-h:before {\n content: "";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "";\n}\n.sf-fa-twitter-square:before {\n content: "";\n}\n.sf-fa-facebook-square:before {\n content: "";\n}\n.sf-fa-camera-retro:before {\n content: "";\n}\n.sf-fa-key:before {\n content: "";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "";\n}\n.sf-fa-comments:before {\n content: "";\n}\n.sf-fa-thumbs-o-up:before {\n content: "";\n}\n.sf-fa-thumbs-o-down:before {\n content: "";\n}\n.sf-fa-star-half:before {\n content: "";\n}\n.sf-fa-heart-o:before {\n content: "";\n}\n.sf-fa-sign-out:before {\n content: "";\n}\n.sf-fa-linkedin-square:before {\n content: "";\n}\n.sf-fa-thumb-tack:before {\n content: "";\n}\n.sf-fa-external-link:before {\n content: "";\n}\n.sf-fa-sign-in:before {\n content: "";\n}\n.sf-fa-trophy:before {\n content: "";\n}\n.sf-fa-github-square:before {\n content: "";\n}\n.sf-fa-upload:before {\n content: "";\n}\n.sf-fa-lemon-o:before {\n content: "";\n}\n.sf-fa-phone:before {\n content: "";\n}\n.sf-fa-square-o:before {\n content: "";\n}\n.sf-fa-bookmark-o:before {\n content: "";\n}\n.sf-fa-phone-square:before {\n content: "";\n}\n.sf-fa-twitter:before {\n content: "";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "";\n}\n.sf-fa-github:before {\n content: "";\n}\n.sf-fa-unlock:before {\n content: "";\n}\n.sf-fa-credit-card:before {\n content: "";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "";\n}\n.sf-fa-hdd-o:before {\n content: "";\n}\n.sf-fa-bullhorn:before {\n content: "";\n}\n.sf-fa-bell:before {\n content: "";\n}\n.sf-fa-certificate:before {\n content: "";\n}\n.sf-fa-hand-o-right:before {\n content: "";\n}\n.sf-fa-hand-o-left:before {\n content: "";\n}\n.sf-fa-hand-o-up:before {\n content: "";\n}\n.sf-fa-hand-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-left:before {\n content: "";\n}\n.sf-fa-arrow-circle-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-up:before {\n content: "";\n}\n.sf-fa-arrow-circle-down:before {\n content: "";\n}\n.sf-fa-globe:before {\n content: "";\n}\n.sf-fa-wrench:before {\n content: "";\n}\n.sf-fa-tasks:before {\n content: "";\n}\n.sf-fa-filter:before {\n content: "";\n}\n.sf-fa-briefcase:before {\n content: "";\n}\n.sf-fa-arrows-alt:before {\n content: "";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "";\n}\n.sf-fa-cloud:before {\n content: "";\n}\n.sf-fa-flask:before {\n content: "";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "";\n}\n.sf-fa-paperclip:before {\n content: "";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "";\n}\n.sf-fa-square:before {\n content: "";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "";\n}\n.sf-fa-list-ul:before {\n content: "";\n}\n.sf-fa-list-ol:before {\n content: "";\n}\n.sf-fa-strikethrough:before {\n content: "";\n}\n.sf-fa-underline:before {\n content: "";\n}\n.sf-fa-table:before {\n content: "";\n}\n.sf-fa-magic:before {\n content: "";\n}\n.sf-fa-truck:before {\n content: "";\n}\n.sf-fa-pinterest:before {\n content: "";\n}\n.sf-fa-pinterest-square:before {\n content: "";\n}\n.sf-fa-google-plus-square:before {\n content: "";\n}\n.sf-fa-google-plus:before {\n content: "";\n}\n.sf-fa-money:before {\n content: "";\n}\n.sf-fa-caret-down:before {\n content: "";\n}\n.sf-fa-caret-up:before {\n content: "";\n}\n.sf-fa-caret-left:before {\n content: "";\n}\n.sf-fa-caret-right:before {\n content: "";\n}\n.sf-fa-columns:before {\n content: "";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "";\n}\n.sf-fa-envelope:before {\n content: "";\n}\n.sf-fa-linkedin:before {\n content: "";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "";\n}\n.sf-fa-comment-o:before {\n content: "";\n}\n.sf-fa-comments-o:before {\n content: "";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "";\n}\n.sf-fa-sitemap:before {\n content: "";\n}\n.sf-fa-umbrella:before {\n content: "";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "";\n}\n.sf-fa-lightbulb-o:before {\n content: "";\n}\n.sf-fa-exchange:before {\n content: "";\n}\n.sf-fa-cloud-download:before {\n content: "";\n}\n.sf-fa-cloud-upload:before {\n content: "";\n}\n.sf-fa-user-md:before {\n content: "";\n}\n.sf-fa-stethoscope:before {\n content: "";\n}\n.sf-fa-suitcase:before {\n content: "";\n}\n.sf-fa-bell-o:before {\n content: "";\n}\n.sf-fa-coffee:before {\n content: "";\n}\n.sf-fa-cutlery:before {\n content: "";\n}\n.sf-fa-file-text-o:before {\n content: "";\n}\n.sf-fa-building-o:before {\n content: "";\n}\n.sf-fa-hospital-o:before {\n content: "";\n}\n.sf-fa-ambulance:before {\n content: "";\n}\n.sf-fa-medkit:before {\n content: "";\n}\n.sf-fa-fighter-jet:before {\n content: "";\n}\n.sf-fa-beer:before {\n content: "";\n}\n.sf-fa-h-square:before {\n content: "";\n}\n.sf-fa-plus-square:before {\n content: "";\n}\n.sf-fa-angle-double-left:before {\n content: "";\n}\n.sf-fa-angle-double-right:before {\n content: "";\n}\n.sf-fa-angle-double-up:before {\n content: "";\n}\n.sf-fa-angle-double-down:before {\n content: "";\n}\n.sf-fa-angle-left:before {\n content: "";\n}\n.sf-fa-angle-right:before {\n content: "";\n}\n.sf-fa-angle-up:before {\n content: "";\n}\n.sf-fa-angle-down:before {\n content: "";\n}\n.sf-fa-desktop:before {\n content: "";\n}\n.sf-fa-laptop:before {\n content: "";\n}\n.sf-fa-tablet:before {\n content: "";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "";\n}\n.sf-fa-circle-o:before {\n content: "";\n}\n.sf-fa-quote-left:before {\n content: "";\n}\n.sf-fa-quote-right:before {\n content: "";\n}\n.sf-fa-spinner:before {\n content: "";\n}\n.sf-fa-circle:before {\n content: "";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "";\n}\n.sf-fa-github-alt:before {\n content: "";\n}\n.sf-fa-folder-o:before {\n content: "";\n}\n.sf-fa-folder-open-o:before {\n content: "";\n}\n.sf-fa-smile-o:before {\n content: "";\n}\n.sf-fa-frown-o:before {\n content: "";\n}\n.sf-fa-meh-o:before {\n content: "";\n}\n.sf-fa-gamepad:before {\n content: "";\n}\n.sf-fa-keyboard-o:before {\n content: "";\n}\n.sf-fa-flag-o:before {\n content: "";\n}\n.sf-fa-flag-checkered:before {\n content: "";\n}\n.sf-fa-terminal:before {\n content: "";\n}\n.sf-fa-code:before {\n content: "";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "";\n}\n.sf-fa-location-arrow:before {\n content: "";\n}\n.sf-fa-crop:before {\n content: "";\n}\n.sf-fa-code-fork:before {\n content: "";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "";\n}\n.sf-fa-question:before {\n content: "";\n}\n.sf-fa-info:before {\n content: "";\n}\n.sf-fa-exclamation:before {\n content: "";\n}\n.sf-fa-superscript:before {\n content: "";\n}\n.sf-fa-subscript:before {\n content: "";\n}\n.sf-fa-eraser:before {\n content: "";\n}\n.sf-fa-puzzle-piece:before {\n content: "";\n}\n.sf-fa-microphone:before {\n content: "";\n}\n.sf-fa-microphone-slash:before {\n content: "";\n}\n.sf-fa-shield:before {\n content: "";\n}\n.sf-fa-calendar-o:before {\n content: "";\n}\n.sf-fa-fire-extinguisher:before {\n content: "";\n}\n.sf-fa-rocket:before {\n content: "";\n}\n.sf-fa-maxcdn:before {\n content: "";\n}\n.sf-fa-chevron-circle-left:before {\n content: "";\n}\n.sf-fa-chevron-circle-right:before {\n content: "";\n}\n.sf-fa-chevron-circle-up:before {\n content: "";\n}\n.sf-fa-chevron-circle-down:before {\n content: "";\n}\n.sf-fa-html5:before {\n content: "";\n}\n.sf-fa-css3:before {\n content: "";\n}\n.sf-fa-anchor:before {\n content: "";\n}\n.sf-fa-unlock-alt:before {\n content: "";\n}\n.sf-fa-bullseye:before {\n content: "";\n}\n.sf-fa-ellipsis-h:before {\n content: "";\n}\n.sf-fa-ellipsis-v:before {\n content: "";\n}\n.sf-fa-rss-square:before {\n content: "";\n}\n.sf-fa-play-circle:before {\n content: "";\n}\n.sf-fa-ticket:before {\n content: "";\n}\n.sf-fa-minus-square:before {\n content: "";\n}\n.sf-fa-minus-square-o:before {\n content: "";\n}\n.sf-fa-level-up:before {\n content: "";\n}\n.sf-fa-level-down:before {\n content: "";\n}\n.sf-fa-check-square:before {\n content: "";\n}\n.sf-fa-pencil-square:before {\n content: "";\n}\n.sf-fa-external-link-square:before {\n content: "";\n}\n.sf-fa-share-square:before {\n content: "";\n}\n.sf-fa-compass:before {\n content: "";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "";\n}\n.sf-fa-gbp:before {\n content: "";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "";\n}\n.sf-fa-file:before {\n content: "";\n}\n.sf-fa-file-text:before {\n content: "";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "";\n}\n.sf-fa-sort-amount-asc:before {\n content: "";\n}\n.sf-fa-sort-amount-desc:before {\n content: "";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "";\n}\n.sf-fa-thumbs-up:before {\n content: "";\n}\n.sf-fa-thumbs-down:before {\n content: "";\n}\n.sf-fa-youtube-square:before {\n content: "";\n}\n.sf-fa-youtube:before {\n content: "";\n}\n.sf-fa-xing:before {\n content: "";\n}\n.sf-fa-xing-square:before {\n content: "";\n}\n.sf-fa-youtube-play:before {\n content: "";\n}\n.sf-fa-dropbox:before {\n content: "";\n}\n.sf-fa-stack-overflow:before {\n content: "";\n}\n.sf-fa-instagram:before {\n content: "";\n}\n.sf-fa-flickr:before {\n content: "";\n}\n.sf-fa-adn:before {\n content: "";\n}\n.sf-fa-bitbucket:before {\n content: "";\n}\n.sf-fa-bitbucket-square:before {\n content: "";\n}\n.sf-fa-tumblr:before {\n content: "";\n}\n.sf-fa-tumblr-square:before {\n content: "";\n}\n.sf-fa-long-arrow-down:before {\n content: "";\n}\n.sf-fa-long-arrow-up:before {\n content: "";\n}\n.sf-fa-long-arrow-left:before {\n content: "";\n}\n.sf-fa-long-arrow-right:before {\n content: "";\n}\n.sf-fa-apple:before {\n content: "";\n}\n.sf-fa-windows:before {\n content: "";\n}\n.sf-fa-android:before {\n content: "";\n}\n.sf-fa-linux:before {\n content: "";\n}\n.sf-fa-dribbble:before {\n content: "";\n}\n.sf-fa-skype:before {\n content: "";\n}\n.sf-fa-foursquare:before {\n content: "";\n}\n.sf-fa-trello:before {\n content: "";\n}\n.sf-fa-female:before {\n content: "";\n}\n.sf-fa-male:before {\n content: "";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "";\n}\n.sf-fa-sun-o:before {\n content: "";\n}\n.sf-fa-moon-o:before {\n content: "";\n}\n.sf-fa-archive:before {\n content: "";\n}\n.sf-fa-bug:before {\n content: "";\n}\n.sf-fa-vk:before {\n content: "";\n}\n.sf-fa-weibo:before {\n content: "";\n}\n.sf-fa-renren:before {\n content: "";\n}\n.sf-fa-pagelines:before {\n content: "";\n}\n.sf-fa-stack-exchange:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "";\n}\n.sf-fa-dot-circle-o:before {\n content: "";\n}\n.sf-fa-wheelchair:before {\n content: "";\n}\n.sf-fa-vimeo-square:before {\n content: "";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "";\n}\n.sf-fa-plus-square-o:before {\n content: "";\n}\n.sf-fa-space-shuttle:before {\n content: "";\n}\n.sf-fa-slack:before {\n content: "";\n}\n.sf-fa-envelope-square:before {\n content: "";\n}\n.sf-fa-wordpress:before {\n content: "";\n}\n.sf-fa-openid:before {\n content: "";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "";\n}\n.sf-fa-yahoo:before {\n content: "";\n}\n.sf-fa-google:before {\n content: "";\n}\n.sf-fa-reddit:before {\n content: "";\n}\n.sf-fa-reddit-square:before {\n content: "";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "";\n}\n.sf-fa-stumbleupon:before {\n content: "";\n}\n.sf-fa-delicious:before {\n content: "";\n}\n.sf-fa-digg:before {\n content: "";\n}\n.sf-fa-pied-piper-pp:before {\n content: "";\n}\n.sf-fa-pied-piper-alt:before {\n content: "";\n}\n.sf-fa-drupal:before {\n content: "";\n}\n.sf-fa-joomla:before {\n content: "";\n}\n.sf-fa-language:before {\n content: "";\n}\n.sf-fa-fax:before {\n content: "";\n}\n.sf-fa-building:before {\n content: "";\n}\n.sf-fa-child:before {\n content: "";\n}\n.sf-fa-paw:before {\n content: "";\n}\n.sf-fa-spoon:before {\n content: "";\n}\n.sf-fa-cube:before {\n content: "";\n}\n.sf-fa-cubes:before {\n content: "";\n}\n.sf-fa-behance:before {\n content: "";\n}\n.sf-fa-behance-square:before {\n content: "";\n}\n.sf-fa-steam:before {\n content: "";\n}\n.sf-fa-steam-square:before {\n content: "";\n}\n.sf-fa-recycle:before {\n content: "";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "";\n}\n.sf-fa-tree:before {\n content: "";\n}\n.sf-fa-spotify:before {\n content: "";\n}\n.sf-fa-deviantart:before {\n content: "";\n}\n.sf-fa-soundcloud:before {\n content: "";\n}\n.sf-fa-database:before {\n content: "";\n}\n.sf-fa-file-pdf-o:before {\n content: "";\n}\n.sf-fa-file-word-o:before {\n content: "";\n}\n.sf-fa-file-excel-o:before {\n content: "";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "";\n}\n.sf-fa-file-code-o:before {\n content: "";\n}\n.sf-fa-vine:before {\n content: "";\n}\n.sf-fa-codepen:before {\n content: "";\n}\n.sf-fa-jsfiddle:before {\n content: "";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "";\n}\n.sf-fa-circle-o-notch:before {\n content: "";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "";\n}\n.sf-fa-git-square:before {\n content: "";\n}\n.sf-fa-git:before {\n content: "";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "";\n}\n.sf-fa-tencent-weibo:before {\n content: "";\n}\n.sf-fa-qq:before {\n content: "";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "";\n}\n.sf-fa-history:before {\n content: "";\n}\n.sf-fa-circle-thin:before {\n content: "";\n}\n.sf-fa-header:before {\n content: "";\n}\n.sf-fa-paragraph:before {\n content: "";\n}\n.sf-fa-sliders:before {\n content: "";\n}\n.sf-fa-share-alt:before {\n content: "";\n}\n.sf-fa-share-alt-square:before {\n content: "";\n}\n.sf-fa-bomb:before {\n content: "";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "";\n}\n.sf-fa-tty:before {\n content: "";\n}\n.sf-fa-binoculars:before {\n content: "";\n}\n.sf-fa-plug:before {\n content: "";\n}\n.sf-fa-slideshare:before {\n content: "";\n}\n.sf-fa-twitch:before {\n content: "";\n}\n.sf-fa-yelp:before {\n content: "";\n}\n.sf-fa-newspaper-o:before {\n content: "";\n}\n.sf-fa-wifi:before {\n content: "";\n}\n.sf-fa-calculator:before {\n content: "";\n}\n.sf-fa-paypal:before {\n content: "";\n}\n.sf-fa-google-wallet:before {\n content: "";\n}\n.sf-fa-cc-visa:before {\n content: "";\n}\n.sf-fa-cc-mastercard:before {\n content: "";\n}\n.sf-fa-cc-discover:before {\n content: "";\n}\n.sf-fa-cc-amex:before {\n content: "";\n}\n.sf-fa-cc-paypal:before {\n content: "";\n}\n.sf-fa-cc-stripe:before {\n content: "";\n}\n.sf-fa-bell-slash:before {\n content: "";\n}\n.sf-fa-bell-slash-o:before {\n content: "";\n}\n.sf-fa-trash:before {\n content: "";\n}\n.sf-fa-copyright:before {\n content: "";\n}\n.sf-fa-at:before {\n content: "";\n}\n.sf-fa-eyedropper:before {\n content: "";\n}\n.sf-fa-paint-brush:before {\n content: "";\n}\n.sf-fa-birthday-cake:before {\n content: "";\n}\n.sf-fa-area-chart:before {\n content: "";\n}\n.sf-fa-pie-chart:before {\n content: "";\n}\n.sf-fa-line-chart:before {\n content: "";\n}\n.sf-fa-lastfm:before {\n content: "";\n}\n.sf-fa-lastfm-square:before {\n content: "";\n}\n.sf-fa-toggle-off:before {\n content: "";\n}\n.sf-fa-toggle-on:before {\n content: "";\n}\n.sf-fa-bicycle:before {\n content: "";\n}\n.sf-fa-bus:before {\n content: "";\n}\n.sf-fa-ioxhost:before {\n content: "";\n}\n.sf-fa-angellist:before {\n content: "";\n}\n.sf-fa-cc:before {\n content: "";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "";\n}\n.sf-fa-meanpath:before {\n content: "";\n}\n.sf-fa-buysellads:before {\n content: "";\n}\n.sf-fa-connectdevelop:before {\n content: "";\n}\n.sf-fa-dashcube:before {\n content: "";\n}\n.sf-fa-forumbee:before {\n content: "";\n}\n.sf-fa-leanpub:before {\n content: "";\n}\n.sf-fa-sellsy:before {\n content: "";\n}\n.sf-fa-shirtsinbulk:before {\n content: "";\n}\n.sf-fa-simplybuilt:before {\n content: "";\n}\n.sf-fa-skyatlas:before {\n content: "";\n}\n.sf-fa-cart-plus:before {\n content: "";\n}\n.sf-fa-cart-arrow-down:before {\n content: "";\n}\n.sf-fa-diamond:before {\n content: "";\n}\n.sf-fa-ship:before {\n content: "";\n}\n.sf-fa-user-secret:before {\n content: "";\n}\n.sf-fa-motorcycle:before {\n content: "";\n}\n.sf-fa-street-view:before {\n content: "";\n}\n.sf-fa-heartbeat:before {\n content: "";\n}\n.sf-fa-venus:before {\n content: "";\n}\n.sf-fa-mars:before {\n content: "";\n}\n.sf-fa-mercury:before {\n content: "";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "";\n}\n.sf-fa-transgender-alt:before {\n content: "";\n}\n.sf-fa-venus-double:before {\n content: "";\n}\n.sf-fa-mars-double:before {\n content: "";\n}\n.sf-fa-venus-mars:before {\n content: "";\n}\n.sf-fa-mars-stroke:before {\n content: "";\n}\n.sf-fa-mars-stroke-v:before {\n content: "";\n}\n.sf-fa-mars-stroke-h:before {\n content: "";\n}\n.sf-fa-neuter:before {\n content: "";\n}\n.sf-fa-genderless:before {\n content: "";\n}\n.sf-fa-facebook-official:before {\n content: "";\n}\n.sf-fa-pinterest-p:before {\n content: "";\n}\n.sf-fa-whatsapp:before {\n content: "";\n}\n.sf-fa-server:before {\n content: "";\n}\n.sf-fa-user-plus:before {\n content: "";\n}\n.sf-fa-user-times:before {\n content: "";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "";\n}\n.sf-fa-viacoin:before {\n content: "";\n}\n.sf-fa-train:before {\n content: "";\n}\n.sf-fa-subway:before {\n content: "";\n}\n.sf-fa-medium:before {\n content: "";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "";\n}\n.sf-fa-optin-monster:before {\n content: "";\n}\n.sf-fa-opencart:before {\n content: "";\n}\n.sf-fa-expeditedssl:before {\n content: "";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "";\n}\n.sf-fa-mouse-pointer:before {\n content: "";\n}\n.sf-fa-i-cursor:before {\n content: "";\n}\n.sf-fa-object-group:before {\n content: "";\n}\n.sf-fa-object-ungroup:before {\n content: "";\n}\n.sf-fa-sticky-note:before {\n content: "";\n}\n.sf-fa-sticky-note-o:before {\n content: "";\n}\n.sf-fa-cc-jcb:before {\n content: "";\n}\n.sf-fa-cc-diners-club:before {\n content: "";\n}\n.sf-fa-clone:before {\n content: "";\n}\n.sf-fa-balance-scale:before {\n content: "";\n}\n.sf-fa-hourglass-o:before {\n content: "";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "";\n}\n.sf-fa-hourglass:before {\n content: "";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "";\n}\n.sf-fa-hand-scissors-o:before {\n content: "";\n}\n.sf-fa-hand-lizard-o:before {\n content: "";\n}\n.sf-fa-hand-spock-o:before {\n content: "";\n}\n.sf-fa-hand-pointer-o:before {\n content: "";\n}\n.sf-fa-hand-peace-o:before {\n content: "";\n}\n.sf-fa-trademark:before {\n content: "";\n}\n.sf-fa-registered:before {\n content: "";\n}\n.sf-fa-creative-commons:before {\n content: "";\n}\n.sf-fa-gg:before {\n content: "";\n}\n.sf-fa-gg-circle:before {\n content: "";\n}\n.sf-fa-tripadvisor:before {\n content: "";\n}\n.sf-fa-odnoklassniki:before {\n content: "";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "";\n}\n.sf-fa-get-pocket:before {\n content: "";\n}\n.sf-fa-wikipedia-w:before {\n content: "";\n}\n.sf-fa-safari:before {\n content: "";\n}\n.sf-fa-chrome:before {\n content: "";\n}\n.sf-fa-firefox:before {\n content: "";\n}\n.sf-fa-opera:before {\n content: "";\n}\n.sf-fa-internet-explorer:before {\n content: "";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "";\n}\n.sf-fa-contao:before {\n content: "";\n}\n.sf-fa-500px:before {\n content: "";\n}\n.sf-fa-amazon:before {\n content: "";\n}\n.sf-fa-calendar-plus-o:before {\n content: "";\n}\n.sf-fa-calendar-minus-o:before {\n content: "";\n}\n.sf-fa-calendar-times-o:before {\n content: "";\n}\n.sf-fa-calendar-check-o:before {\n content: "";\n}\n.sf-fa-industry:before {\n content: "";\n}\n.sf-fa-map-pin:before {\n content: "";\n}\n.sf-fa-map-signs:before {\n content: "";\n}\n.sf-fa-map-o:before {\n content: "";\n}\n.sf-fa-map:before {\n content: "";\n}\n.sf-fa-commenting:before {\n content: "";\n}\n.sf-fa-commenting-o:before {\n content: "";\n}\n.sf-fa-houzz:before {\n content: "";\n}\n.sf-fa-vimeo:before {\n content: "";\n}\n.sf-fa-black-tie:before {\n content: "";\n}\n.sf-fa-fonticons:before {\n content: "";\n}\n.sf-fa-reddit-alien:before {\n content: "";\n}\n.sf-fa-edge:before {\n content: "";\n}\n.sf-fa-credit-card-alt:before {\n content: "";\n}\n.sf-fa-codiepie:before {\n content: "";\n}\n.sf-fa-modx:before {\n content: "";\n}\n.sf-fa-fort-awesome:before {\n content: "";\n}\n.sf-fa-usb:before {\n content: "";\n}\n.sf-fa-product-hunt:before {\n content: "";\n}\n.sf-fa-mixcloud:before {\n content: "";\n}\n.sf-fa-scribd:before {\n content: "";\n}\n.sf-fa-pause-circle:before {\n content: "";\n}\n.sf-fa-pause-circle-o:before {\n content: "";\n}\n.sf-fa-stop-circle:before {\n content: "";\n}\n.sf-fa-stop-circle-o:before {\n content: "";\n}\n.sf-fa-shopping-bag:before {\n content: "";\n}\n.sf-fa-shopping-basket:before {\n content: "";\n}\n.sf-fa-hashtag:before {\n content: "";\n}\n.sf-fa-bluetooth:before {\n content: "";\n}\n.sf-fa-bluetooth-b:before {\n content: "";\n}\n.sf-fa-percent:before {\n content: "";\n}\n.sf-fa-gitlab:before {\n content: "";\n}\n.sf-fa-wpbeginner:before {\n content: "";\n}\n.sf-fa-wpforms:before {\n content: "";\n}\n.sf-fa-envira:before {\n content: "";\n}\n.sf-fa-universal-access:before {\n content: "";\n}\n.sf-fa-wheelchair-alt:before {\n content: "";\n}\n.sf-fa-question-circle-o:before {\n content: "";\n}\n.sf-fa-blind:before {\n content: "";\n}\n.sf-fa-audio-description:before {\n content: "";\n}\n.sf-fa-volume-control-phone:before {\n content: "";\n}\n.sf-fa-braille:before {\n content: "";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "";\n}\n.sf-fa-glide:before {\n content: "";\n}\n.sf-fa-glide-g:before {\n content: "";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "";\n}\n.sf-fa-low-vision:before {\n content: "";\n}\n.sf-fa-viadeo:before {\n content: "";\n}\n.sf-fa-viadeo-square:before {\n content: "";\n}\n.sf-fa-snapchat:before {\n content: "";\n}\n.sf-fa-snapchat-ghost:before {\n content: "";\n}\n.sf-fa-snapchat-square:before {\n content: "";\n}\n.sf-fa-pied-piper:before {\n content: "";\n}\n.sf-fa-first-order:before {\n content: "";\n}\n.sf-fa-yoast:before {\n content: "";\n}\n.sf-fa-themeisle:before {\n content: "";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "";\n}\n.sf-fa-handshake-o:before {\n content: "";\n}\n.sf-fa-envelope-open:before {\n content: "";\n}\n.sf-fa-envelope-open-o:before {\n content: "";\n}\n.sf-fa-linode:before {\n content: "";\n}\n.sf-fa-address-book:before {\n content: "";\n}\n.sf-fa-address-book-o:before {\n content: "";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "";\n}\n.sf-fa-user-circle:before {\n content: "";\n}\n.sf-fa-user-circle-o:before {\n content: "";\n}\n.sf-fa-user-o:before {\n content: "";\n}\n.sf-fa-id-badge:before {\n content: "";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "";\n}\n.sf-fa-quora:before {\n content: "";\n}\n.sf-fa-free-code-camp:before {\n content: "";\n}\n.sf-fa-telegram:before {\n content: "";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "";\n}\n.sf-fa-shower:before {\n content: "";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "";\n}\n.sf-fa-podcast:before {\n content: "";\n}\n.sf-fa-window-maximize:before {\n content: "";\n}\n.sf-fa-window-minimize:before {\n content: "";\n}\n.sf-fa-window-restore:before {\n content: "";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "";\n}\n.sf-fa-bandcamp:before {\n content: "";\n}\n.sf-fa-grav:before {\n content: "";\n}\n.sf-fa-etsy:before {\n content: "";\n}\n.sf-fa-imdb:before {\n content: "";\n}\n.sf-fa-ravelry:before {\n content: "";\n}\n.sf-fa-eercast:before {\n content: "";\n}\n.sf-fa-microchip:before {\n content: "";\n}\n.sf-fa-snowflake-o:before {\n content: "";\n}\n.sf-fa-superpowers:before {\n content: "";\n}\n.sf-fa-wpexplorer:before {\n content: "";\n}\n.sf-fa-meetup:before {\n content: "";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n:host {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal;\n -webkit-font-kerning: auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n -webkit-text-orientation: mixed;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\nh1,\n.h1 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh2,\n.h2 {\n font-size: var(--font-size-h2);\n font-weight: 300;\n line-height: 1.3;\n color: var(--color-h2);\n margin-top: 0;\n margin-bottom: 0;\n}\nh3,\n.h3 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\nh4,\n.h4 {\n font-size: var(--font-size-h4);\n font-weight: bold;\n margin-top: 0;\n margin-bottom: 0;\n}\nh5,\n.h5 {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n}\nh1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n.h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\nh4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n.h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\np {\n margin-bottom: calc(var(--font-size-base) * 1.4);\n}\n/*\n Typography\n\n Headings\n\n Markup:\n

    H1 List Page Title

    \n

    H1 Detail Page Title

    \n

    H2 Group Title

    \n

    H3 Item Title

    \n

    H4 Form Label

    \n

    H4 Regular Label

    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings\n */\n/*\n Heading CSS Classes\n\n Markup:\n
    H1 List Page Title
    \n
    H1 Detail Page Title
    \n
    H2 Group Title
    \n
    H3 Item Title
    \n
    H4 Form Label
    \n
    H4 Regular Label
    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings-classes\n */\n/*\n Paragraph\n\n Markup:\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat. Nulla iaculis id sem eget ullamcorper. In ac euismod nunc. Fusce at tortor viverra, maximus quam quis, interdum velit. Mauris varius risus ut ante porttitor tempor.

    \n\n Styleguide: Typography.Paragraph\n*/\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n/*\n Icon\n\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n.sf-notification {\n position: relative;\n display: flex;\n text-align: left;\n vertical-align: middle;\n padding: 10px 9px;\n border-radius: 3px;\n background-color: currentcolor;\n border-color: currentcolor;\n color: #DCECF5;\n}\n.sf-notification > * {\n color: #333;\n}\n.sf-notification.-info {\n color: #DCECF5;\n}\n.sf-notification.-info > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-success {\n color: #CAEED8;\n}\n.sf-notification.-success > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-error {\n color: #FFCCCC;\n}\n.sf-notification.-error > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-warning {\n color: #FFFFCC;\n}\n.sf-notification.-warning > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-black {\n color: #333;\n}\n.sf-notification.-black > *:not(.sf-notification__close-button) {\n color: #fff;\n}\n.sf-notification.-transparent {\n color: transparent;\n}\n.sf-notification.-transparent > *:not(.sf-notification__close-button) {\n color: #333;\n}\n.sf-notification.-small {\n padding: 0 20px;\n height: 32px;\n align-items: center;\n}\n.sf-notification.-inline {\n display: inline-flex;\n}\n.sf-notification.-preline .sf-notification__content {\n white-space: pre-line;\n}\n.sf-notification.-up, .sf-notification.-up-right, .sf-notification.-up-left {\n margin-bottom: 10px;\n}\n.sf-notification.-up:after, .sf-notification.-up:before, .sf-notification.-up-right:after, .sf-notification.-up-right:before, .sf-notification.-up-left:after, .sf-notification.-up-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-up:after, .sf-notification.-up-right:after, .sf-notification.-up-left:after {\n border-width: 10px;\n border-top-color: inherit;\n bottom: -20px;\n right: 50%;\n margin-right: -10px;\n}\n.sf-notification.-up:before, .sf-notification.-up-right:before, .sf-notification.-up-left:before {\n border-width: 11px;\n border-top-color: #e4e4e4;\n bottom: -22px;\n right: 50%;\n margin-right: -11px;\n}\n.sf-notification.-down, .sf-notification.-down-right, .sf-notification.-down-left {\n margin-top: 10px;\n}\n.sf-notification.-down:after, .sf-notification.-down:before, .sf-notification.-down-right:after, .sf-notification.-down-right:before, .sf-notification.-down-left:after, .sf-notification.-down-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-down:after, .sf-notification.-down-right:after, .sf-notification.-down-left:after {\n border-width: 10px;\n border-bottom-color: inherit;\n top: -20px;\n right: 50%;\n margin-right: -10px;\n}\n.sf-notification.-down:before, .sf-notification.-down-right:before, .sf-notification.-down-left:before {\n border-width: 11px;\n border-bottom-color: #e4e4e4;\n top: -22px;\n right: 50%;\n margin-right: -11px;\n}\n.sf-notification.-left, .sf-notification.-left-up, .sf-notification.-left-down {\n margin-right: 20px;\n}\n.sf-notification.-left:after, .sf-notification.-left:before, .sf-notification.-left-up:after, .sf-notification.-left-up:before, .sf-notification.-left-down:after, .sf-notification.-left-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-left:after, .sf-notification.-left-up:after, .sf-notification.-left-down:after {\n border-width: 10px;\n border-left-color: inherit;\n right: -20px;\n top: 50%;\n margin-top: -10px;\n}\n.sf-notification.-left:before, .sf-notification.-left-up:before, .sf-notification.-left-down:before {\n border-width: 11px;\n border-left-color: #e4e4e4;\n right: -22px;\n top: 50%;\n margin-top: -11px;\n}\n.sf-notification.-right, .sf-notification.-right-up, .sf-notification.-right-down {\n margin-left: 20px;\n}\n.sf-notification.-right:after, .sf-notification.-right:before, .sf-notification.-right-up:after, .sf-notification.-right-up:before, .sf-notification.-right-down:after, .sf-notification.-right-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.sf-notification.-right:after, .sf-notification.-right-up:after, .sf-notification.-right-down:after {\n border-width: 10px;\n border-right-color: inherit;\n left: -20px;\n top: 50%;\n margin-top: -10px;\n}\n.sf-notification.-right:before, .sf-notification.-right-up:before, .sf-notification.-right-down:before {\n border-width: 11px;\n border-right-color: #e4e4e4;\n left: -22px;\n top: 50%;\n margin-top: -11px;\n}\n.sf-notification.-down-left:before, .sf-notification.-down-left:after, .sf-notification.-up-left:before, .sf-notification.-up-left:after {\n right: auto;\n left: 20px;\n}\n.sf-notification.-down-right:before, .sf-notification.-down-right:after, .sf-notification.-up-right:before, .sf-notification.-up-right:after {\n right: 20px;\n}\n.sf-notification.-left-down:before, .sf-notification.-left-down:after, .sf-notification.-right-down:before, .sf-notification.-right-down:after {\n bottom: 10px;\n top: auto;\n}\n.sf-notification.-left-up:before, .sf-notification.-left-up:after, .sf-notification.-right-up:before, .sf-notification.-right-up:after {\n top: 20px;\n}\n.sf-notification.-tooltip {\n padding: 20px;\n border: 1px solid #e4e4e4;\n border-radius: 0;\n box-shadow: 0 0 8px rgba(228, 228, 228, 0.6);\n}\n.sf-notification.-tooltip .sf-notification__close-button {\n position: absolute;\n top: 10px;\n right: 10px;\n}\n.sf-notification.-tooltip.-up:after {\n border-top-color: #DCECF5;\n}\n.sf-notification.-tooltip.-down:after {\n border-bottom-color: #DCECF5;\n}\n.sf-notification.-tooltip.-left:after {\n border-left-color: #DCECF5;\n}\n.sf-notification.-tooltip.-right:after {\n border-right-color: #DCECF5;\n}\n.sf-notification.-tooltip.-down-left:after {\n border-bottom-color: #DCECF5;\n}\n.sf-notification.-tooltip.-down-right:after {\n border-bottom-color: #DCECF5;\n}\n.sf-notification.-tooltip.-up-left:after {\n border-top-color: #DCECF5;\n}\n.sf-notification.-tooltip.-up-right:after {\n border-top-color: #DCECF5;\n}\n.sf-notification.-tooltip.-left-down:after {\n border-left-color: #DCECF5;\n}\n.sf-notification.-tooltip.-left-up:after {\n border-left-color: #DCECF5;\n}\n.sf-notification.-tooltip.-right-down:after {\n border-right-color: #DCECF5;\n}\n.sf-notification.-tooltip.-right-up:after {\n border-right-color: #DCECF5;\n}\n.sf-notification.-help {\n display: block;\n padding: 30px;\n}\n.sf-notification.-faq {\n position: absolute;\n margin-bottom: 5px;\n bottom: 100%;\n right: 0;\n width: 290px;\n}\n.sf-notification.-fixed {\n max-width: 850px;\n}\n.sf-notification.-toolset {\n display: inline-block;\n padding: 0;\n height: 55px;\n line-height: 55px;\n}\n.sf-notification.-toolset .sf-notification__content {\n display: flex;\n height: 100%;\n}\n.sf-notification.-toolset .sf-notification__tool {\n padding-left: 20px;\n padding-right: 20px;\n}\n.sf-notification.-toolset .sf-notification__tool-group {\n display: inline-flex;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n white-space: nowrap;\n}\n.sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button {\n padding: 5px;\n}\n.sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button:not(:first-of-type) {\n margin-left: 10px;\n}\n.sf-notification.-toolset .sf-notification__tool-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n}\n.sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n}\n.sf-notification.-toolset .sf-notification__tool-button:hover.-active {\n color: #fff;\n}\n.sf-notification.-toolset .sf-notification__tool-button.-active {\n background-color: #999;\n}\n.sf-notification.-toolset .sf-notification__tool-dropdown {\n min-width: 200px;\n margin-left: 20px;\n padding: 5px;\n color: inherit;\n background-color: inherit;\n}\n.sf-notification.-toolset .sf-notification__tool-link {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n display: inline-block;\n max-width: 200px;\n vertical-align: middle;\n padding-left: 20px;\n}\n.sf-notification.-toolset .sf-notification__tool-separator {\n display: inline-block;\n width: 1px;\n background-color: #777;\n}\n.sf-notification.-narrow {\n width: 250px;\n}\n.sf-notification.-medium {\n width: 350px;\n}\n.sf-notification__close-button {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n display: block;\n margin-left: 10px;\n order: 4;\n line-height: inherit;\n cursor: pointer;\n}\n.sf-notification__close-button .sf-icon:hover {\n color: #333;\n}\n.sf-notification__content {\n flex: 1;\n order: 2;\n max-width: 100%;\n word-break: normal;\n}\n.sf-notification__separator {\n vertical-align: middle;\n margin-left: 10px;\n margin-right: 10px;\n}\n.sf-notification-wrapper {\n position: fixed;\n top: 60px;\n left: 0;\n width: 100%;\n text-align: center;\n z-index: 10000;\n height: 0;\n}\n/*\n Notification\n */\n/*\n info Notification\n\n `.sf-notification.-info`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n success Notification\n\n `.sf-notification.-success`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n error Notification\n\n `.sf-notification.-error`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n warning Notification\n\n `.sf-notification.-warning`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n black Notification\n\n `.sf-notification.-black`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n transparent Notification\n\n `.sf-notification.-transparent`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n/*\n * info notification with close button\n\n `.sf-notification.-success`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.with-close\n */\n/*\n Inline notification (as wide as the content in it)\n\n `.sf-notification.-inline`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.inline\n */\n/*\n Notification with bottom up\n\n `.sf-notification.-info.-up`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.bottom-up\n*/\n/*\n Notification with top arrow\n\n `.sf-notification.-info.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.loader-big\n*/\n/*\n Notification with right arrow\n\n `.sf-notification.-info.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.right-arrow\n*/\n/*\n Notification with left arrow\n\n `.sf-notification.-info.-right`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.left-arrow\n*/\n/*\n Notification as tooltip\n\n `.sf-notification.-tooltip`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip\n */\n/*\n Notification as tooltip with top left arrow\n\n `.sf-notification.-tooltip.-down-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n Styleguide: Notification.tooltip-with-top-left-arrow\n*/\n/*\n Notification as tooltip with top right arrow and close button\n\n `.sf-notification.-tooltip.-down-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-top-right-arrow\n*/\n/*\n Notification as tooltip with left arrow\n\n `.sf-notification.-tooltip.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-left-arrow\n*/\n/*\n Notification as tooltip with right arrow\n\n `.sf-notification.-tooltip.-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-right-arrow\n*/\n/*\n Notification as tooltip with down arrow\n\n `.sf-notification.-tooltip.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-down-arrow\n*/\n/*\n Notification as tooltip with up arrow\n\n `.sf-notification.-tooltip.-up`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-up-arrow\n*/\n/*\n Edit item notification\n\n `.sf-notification.-success.-fixed.-inline`\n\n Markup:\n
    \n \t
    \n \t
    \n \t\tContent has been published successfully.\n \t
    \n
    \n\n Styleguide: Notification.edit-item\n*/\n/*\n Notification as toolset for link\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n https://drive.google.com/drive/folders/\n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-link\n*/\n/*\n Notification as toolset for other objects\n\n `.sf-notification.-toolset.-black.-up`\n\n Markup:\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-other-objects\n*/\n/*\n Notification as toolset for styles menu\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-styles-menu\n*/\n.sf-button {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n margin: 0 5px 0 0;\n font-weight: normal;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n white-space: nowrap;\n height: 32px;\n min-width: 32px;\n padding: 0 16px;\n font-size: var(--font-size-base);\n border-radius: 3px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n border-color: var(--button-border-color);\n}\n.sf-button:hover, .sf-button:active, .sf-button:focus {\n transition: border-color 0.3s, background-color 0.3s, color 0.3s;\n}\n.sf-button[disabled] {\n pointer-events: none;\n cursor: default;\n}\n.sf-button[disabled].-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-disabled {\n pointer-events: none;\n cursor: default;\n}\n.sf-button.-disabled.-icon .sf-button__icon {\n color: inherit;\n}\n.sf-button.-large {\n height: 36px;\n min-width: 36px;\n padding: 0 20px;\n font-size: var(--font-size-lg);\n}\n.sf-button.-small {\n height: 26px;\n min-width: 26px;\n padding: 0 10px;\n border-radius: 2px;\n}\n.sf-button:focus {\n color: var(--button-color);\n}\n.sf-button:not(.-no-hover):hover {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-focus-visible):focus-visible {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button:not(.-no-active):active {\n color: var(--button-interaction-color);\n background-color: var(--button-interaction-background-color);\n border-color: var(--button-interaction-border-color);\n}\n.sf-button[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--button-disabled-color);\n background-color: var(--button-disabled-background-color);\n border-color: var(--button-disabled-border-color);\n}\n.sf-button.-action {\n color: var(--action-button-color);\n background-color: var(--action-button-background-color);\n border-color: var(--action-button-border-color);\n}\n.sf-button.-action:focus {\n color: var(--action-button-color);\n}\n.sf-button.-action:not(.-no-hover):hover {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-focus):focus {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action:not(.-no-active):active {\n color: var(--action-button-interaction-color);\n background-color: var(--action-button-interaction-background-color);\n border-color: var(--action-button-interaction-border-color);\n}\n.sf-button.-action[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-action.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--action-button-disabled-color);\n background-color: var(--action-button-disabled-background-color);\n border-color: var(--action-button-disabled-border-color);\n}\n.sf-button.-delete {\n color: var(--delete-button-color);\n background-color: var(--delete-button-background-color);\n border-color: var(--delete-button-border-color);\n}\n.sf-button.-delete:focus {\n color: var(--delete-button-color);\n}\n.sf-button.-delete:not(.-no-hover):hover {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-focus-visible):focus-visible {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete:not(.-no-active):active {\n color: var(--delete-button-interaction-color);\n background-color: var(--delete-button-interaction-background-color);\n border-color: var(--delete-button-interaction-border-color);\n}\n.sf-button.-delete[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-delete.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n color: var(--delete-button-disabled-color);\n background-color: var(--delete-button-disabled-background-color);\n border-color: var(--delete-button-disabled-border-color);\n}\n.sf-button.-link {\n color: var(--link-color);\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:focus {\n color: var(--link-color);\n}\n.sf-button.-link:not(.-no-hover):hover {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-focus-visible):focus-visible {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link:not(.-no-active):active {\n color: #333;\n background-color: transparent;\n border-color: transparent;\n}\n.sf-button.-link[disabled]:not(.-done):not(.-inprogress):not(.-no-border), .sf-button.-link.-disabled:not(.-done):not(.-inprogress):not(.-no-border) {\n border-color: transparent;\n}\n.sf-button.-invert {\n color: #fff;\n background-color: #333;\n border-color: #333;\n}\n.sf-button.-invert:focus {\n color: #fff;\n}\n.sf-button.-feedback {\n position: relative;\n}\n.sf-button.-feedback .sf-button__icon {\n display: none;\n}\n.sf-button.-feedback.-done .sf-button__icon {\n display: flex;\n margin-right: 0;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n color: inherit;\n}\n.sf-button.-feedback.-done .sf-button__content {\n opacity: 0;\n}\n.sf-button.-loader {\n position: relative;\n}\n.sf-button.-loader .sf-loader {\n position: absolute;\n display: none;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n}\n.sf-button.-inprogress .sf-button__content {\n opacity: 0;\n}\n.sf-button.-inprogress .sf-loader {\n display: block;\n border-radius: 2px;\n}\n.sf-button.-inprogress .sf-icon {\n opacity: 0;\n}\n.sf-button.-white {\n color: #fff;\n}\n.sf-button.-link {\n margin: 0;\n padding: 0;\n height: auto;\n font-size: inherit;\n vertical-align: baseline;\n border: 0;\n}\n.sf-button.-dropdown {\n position: relative;\n}\n.sf-button.-dropped.-left .sf-button__dropdown {\n right: auto;\n left: -1px;\n}\n.sf-button.-dropped .sf-button__dropdown {\n opacity: 1;\n z-index: 1000;\n}\n.sf-button.-fixed-width .sf-button__dropdown {\n width: 260px;\n}\n.sf-button.-fixed-width .sf-dropdown {\n white-space: normal;\n width: 100%;\n}\n.sf-button.-txt-small {\n font-size: var(--font-size-h5);\n}\n.sf-button.-no-border {\n background: transparent;\n border: 0;\n}\n.sf-button.-no-border:hover {\n background-color: transparent;\n}\n.sf-button.-no-border .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-no-padding {\n padding: 0;\n}\n.sf-button.-icon .sf-button__icon {\n margin: 0;\n}\n.sf-button.-icon[disabled] .sf-button__icon:not(.-badge), .sf-button.-icon.-disabled .sf-button__icon:not(.-badge), .sf-button.-icon.-action .sf-button__icon:not(.-badge), .sf-button.-icon.-delete .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-hover):hover .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-active):active .sf-button__icon:not(.-badge), .sf-button.-icon:not(.-no-focus-visible):focus .sf-button__icon:not(.-badge) {\n color: inherit;\n}\n.sf-button.-icon:not(.-icon-and-text):not(.-toolset) {\n padding: 0;\n}\n.sf-button.-icon[disabled].-no-border, .sf-button.-icon.-disabled.-no-border {\n background-color: transparent;\n color: var(--button-disabled-color);\n}\n.sf-button.-icon[disabled].-no-border.-darker-disabled, .sf-button.-icon.-disabled.-no-border.-darker-disabled {\n color: var(--button-disabled-darker-color);\n}\n.sf-button.-toggle {\n padding: 0;\n margin-right: 0;\n width: 48px;\n height: 46px;\n color: #777;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n /* Combine these two when we have a combining mixin for elements and modifiers */\n}\n.sf-button.-toggle:hover .sf-button__icon:not(.-badge) {\n color: #333;\n background-color: #e4e4e4;\n border-color: #e4e4e4;\n}\n.sf-button.-toggle.-auto-width {\n width: auto;\n}\n.sf-button.-toggle:focus {\n background-color: transparent;\n}\n.sf-button.-toggle.-active {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-active .sf-button__icon {\n color: #333;\n}\n.sf-button.-toggle.-active:hover .sf-button__icon {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-button.-toggle.-dropped .sf-button__icon:not(.-badge) {\n color: #333;\n}\n.sf-button.-toggle.-dropped:hover .sf-button__icon:not(.-badge) {\n background-color: transparent;\n border-color: #eee;\n}\n.sf-button.-toggle .sf-button__icon:not(.-badge) {\n width: 48px;\n height: 46px;\n line-height: 46px;\n}\n.sf-button.-toggle .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-circle {\n border-radius: 50%;\n}\n.sf-button.-circle.-small {\n padding: 0;\n height: 26px;\n width: 26px;\n min-width: 26px;\n}\n.sf-button.-icon-left .sf-button__icon {\n order: 1;\n}\n.sf-button.-icon-left .sf-button__content {\n order: 2;\n margin-left: 5px;\n}\n.sf-button.-angled {\n border-radius: 0;\n}\n.sf-button.-angled .sf-button__dropdown {\n top: 100%;\n}\n.sf-button.-toolset {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n height: 100%;\n margin-right: 0;\n min-width: 0;\n}\n.sf-button.-toolset:hover {\n cursor: pointer;\n color: #ccc;\n}\n.sf-button.-toolset:not(.-white) {\n color: inherit;\n}\n.sf-button__icon {\n margin: 0 5px 0 0;\n}\n.sf-button__icon.-right {\n margin: 0 0 0 5px;\n}\n.sf-button__content {\n vertical-align: baseline;\n}\n.sf-button__dropdown {\n position: absolute;\n text-align: left;\n opacity: 0;\n z-index: -1;\n transition: opacity 0.3s ease-out;\n transition-property: opacity;\n top: calc(100% + 8px);\n right: -1px;\n min-width: calc(100% + 2px);\n width: auto;\n}\n.sf-button__dropdown .sf-dropdown__item {\n font-size: inherit;\n line-height: normal;\n word-break: normal;\n}\n.sf-button__arrow {\n margin: 0;\n padding: 0;\n height: 30px;\n line-height: 30px;\n font-size: var(--icon-size-xs);\n}\n/*\n Button\n */\n/*\n Default Button\n\n `.sf-button`\n\n Markup:\n \n \n Default Button\n Disabled Default Button\n\n Styleguide: Button.default\n */\n/*\n large Button\n\n `.sf-button.-large`\n\n Markup:\n \n \n\n Styleguide: Button.large\n*/\n/*\n small Button\n\n `.sf-button.-small`\n\n Markup:\n \n \n\n Styleguide: Button.small\n*/\n/*\n action Button\n\n `.sf-button.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action\n*/\n/*\n action large Button\n\n `.sf-button.-large.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-large\n*/\n/*\n action small Button\n\n `.sf-button.-small.-action`\n\n Markup:\n \n \n\n Styleguide: Button.action-small\n*/\n/*\n delete Button\n\n `.sf-button.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete\n*/\n/*\n delete large Button\n\n `.sf-button.-large.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-large\n*/\n/*\n delete small Button\n\n `.sf-button.-small.-delete`\n\n Markup:\n \n \n\n Styleguide: Button.delete-small\n*/\n/*\n link Button\n\n `.sf-button.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link\n*/\n/*\n link large Button\n\n `.sf-button.-large.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-large\n*/\n/*\n link small Button\n\n `.sf-button.-small.-link`\n\n Markup:\n \n \n\n Styleguide: Button.link-small\n*/\n/*\n invert Button\n\n `.sf-button.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert\n*/\n/*\n invert large Button\n\n `.sf-button.-large.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-large\n*/\n/*\n invert small Button\n\n `.sf-button.-small.-invert`\n\n Markup:\n \n \n\n Styleguide: Button.invert-small\n*/\n/*\n Button with Feedback Icon\n\n `.sf-button.-feedback`\n\n Markup:\n \n \n\nStyleguide: Button.feedback-icon\n*/\n/*\n Button with Loader\n\n Markup:\n \n \n\n */\n/*\n Dropdown button\n\n `.sf-button`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.loader\n */\n/*\n Dropdown button without border\n\n `.sf-button.-no-border`\n\n Markup:\n
    \n \n
    \n\n Styleguide: Button.dropdown\n */\n/*\n Dropdown button with icon and text\n\n Markup:\n \n\n Styleguide: Button.dropdown-with-icon-text\n */\n/*\n Dropdown as color picker\n\n Markup:\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Button.dropdown-color-picker\n */\n/*\n Icon Button\n\n `.sf-button.-icon`\n\n Markup:\n \n \n \n \n
    \n \n \n\nStyleguide: Button.icon\n*/\n/*\n Toggle buttons\n\n `.sf-button.-toggle`\n\n Markup:\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n\nStyleguide: Button.toggle\n*/\n/*\n Circled Icon Button\n\n `.sf-button.-icon.-circle`\n\n Markup:\n \n \n \n
    \n \n \n \n\n Styleguide: Button.icon-button\n*/\n/*\n Circled Icon with small font size\n\n `.sf-button.-txt-small.-circle`\n\n Markup:\n \n
    \n +4\n\n Styleguide: Button.circle-icon-small\n*/\n.sf-dropdown {\n overflow: hidden;\n overflow-y: auto;\n position: relative;\n display: inline-block;\n}\n.sf-dropdown:not(.-empty) {\n padding: 10px 0;\n min-width: 200px;\n white-space: nowrap;\n border: 1px solid var(--dropdown-border);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n background-color: #fff;\n color: #333;\n max-height: calc(100vh - 46px);\n}\n.sf-dropdown.-condensed {\n padding-top: 0;\n padding-bottom: 0;\n}\n.sf-dropdown.-color-picker {\n width: 231px;\n padding: 4px;\n}\n.sf-dropdown__item {\n display: flex;\n flex-wrap: nowrap;\n width: auto;\n position: relative;\n margin-bottom: 1px;\n padding: 3px 20px;\n word-break: break-all;\n transition: background-color 0.3s, color 0.3s;\n cursor: pointer;\n}\n.sf-dropdown__item:hover, .sf-dropdown__item:focus {\n background-color: #f5f5f5;\n}\n.sf-dropdown__item:hover .sf-dropdown__delete, .sf-dropdown__item:focus .sf-dropdown__delete {\n display: block;\n}\n.sf-dropdown__item.-active {\n background-color: #eee;\n}\n.sf-dropdown__item.-not-clickable {\n cursor: default;\n}\n.sf-dropdown__item.-not-clickable:hover, .sf-dropdown__item.-not-clickable:focus {\n background-color: transparent;\n outline: 0;\n}\n.sf-dropdown__item[disabled], .sf-dropdown__item.-disabled {\n color: #adadad;\n cursor: default;\n pointer-events: none;\n}\n.sf-dropdown__delete {\n display: none;\n margin-left: auto;\n}\n.sf-dropdown__no-items {\n padding: 5px 10px 30px;\n color: #999;\n cursor: default;\n}\n.sf-dropdown__heading {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n padding: 10px 20px 8px;\n line-height: 1;\n cursor: default;\n}\n.sf-dropdown__heading.-condensed {\n padding-left: 10px;\n padding-right: 10px;\n}\n.sf-dropdown__heading:hover {\n background: transparent;\n}\n.sf-dropdown__notification {\n margin: 5px 20px 15px;\n white-space: normal;\n cursor: default;\n}\n.sf-dropdown__content {\n cursor: default;\n}\n.sf-dropdown__separator {\n margin-top: 10px;\n padding-top: 10px;\n border-top: 1px solid #eee;\n cursor: default;\n}\n.sf-dropdown__description {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n display: block;\n text-transform: uppercase;\n line-height: 1;\n}\n.sf-dropdown__counter {\n margin-left: auto;\n min-width: 50px;\n text-align: right;\n}\n.sf-dropdown__counter.-positive {\n color: var(--color-success);\n}\n.sf-dropdown__counter.-neutral {\n color: var(--dropdown-item-counter-neutral);\n}\n.sf-dropdown__icon {\n font-size: inherit;\n margin-top: -5px;\n}\n/*\n Dropdown\n\n Default dropdown\n\n `.sf-dropdown`\n\n Markup:\n
    \n
    \n Pages\n
    \n
    \n Blogs14\n
    \n
    \n News items0\n
    \n
    \n
    \n
    \n Pages\n
    \n
    \n Blogs\n
    \n
    \n
    \n
    \n News items\n
    \n
    \n Blog posts\n
    \n
    \n
    \n
    \n Pages\n
    \n
    \n Lists\n
    \n
    \n Restaurants\n
    \n
    \n\n Styleguide: Dropdown.default\n*/\n/*\n Dropdown with no items\n\n `.sf-dropdown .sf-dropdown__no-items`\n\n Markup:\n
    \n
    \n No items\n
    \n
    \n\n Styleguide: Dropdown.no-items\n*/\n/*\n Dropdown without top and bottom padding\n\n `.sf-dropdown.-condensed`\n\n Markup:\n
    \n
    \n Restaurants\n
    \n
    \n Hotels\n
    \n
    \n
    \n
    \n Clubs\n
    \n
    \n Show all related items\n
    \n
    \n\n Styleguide: Dropdown.no-vertical-padding\n*/'],encapsulation:3}),InlineToolbarComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ActionButtonsStateService",(function(){return a}));var o=n(11),i=n(244),r=n(229),a=function(){function ActionButtonsStateService(e){this.window=e,this.buttonsState$=new o.ReplaySubject(1),this.buttonCounter=0,this.lastButtonEmission=null}return ActionButtonsStateService.prototype.getState$=function(){return this.buttonsState$.asObservable()},ActionButtonsStateService.prototype.updateActionButtonsState=function(e,t){var n=this,i=new o.ReplaySubject(1),r={primary:e,stateForOthers:t};if(null===this.lastButtonEmission)return this.buttonsState$.next(r),this.lastButtonEmission=(new Date).getTime(),i.next(),i.asObservable();var a=(new Date).getTime()-this.lastButtonEmission;if(a>=1e3&&0===this.buttonCounter)return this.buttonsState$.next(r),this.lastButtonEmission=(new Date).getTime(),i.next(),i.asObservable();var s=1e3-a+1e3*this.buttonCounter;return this.window.setTimeout((function(){n.buttonsState$.next(r),i.next(),n.buttonCounter--,n.lastButtonEmission=(new Date).getTime()}),s),this.buttonCounter++,i.asObservable()},ActionButtonsStateService.ɵfac=function ActionButtonsStateService_Factory(e){return new(e||ActionButtonsStateService)(r["ɵɵinject"](i.WINDOW_TOKEN))},ActionButtonsStateService.ɵprov=r["ɵɵdefineInjectable"]({token:ActionButtonsStateService,factory:ActionButtonsStateService.ɵfac}),ActionButtonsStateService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ZoneEditorContract",(function(){return s}));var o=n(316),i=n(131),r=n(262),a=n(229),s=function(){function ZoneEditorContract(e){this.service=e}return ZoneEditorContract.prototype.addWidget=function(e){var t={widget:{Id:e.widgetId,Name:e.widgetName,PlaceholderName:e.placeholderName,ParentPlaceholderKey:e.parentPlaceholderKey,SiblingKey:e.siblingKey,Properties:e.properties}};return this.service.executeBoundAction(e.dataItem,"Default.AddWidget()",t,this.addQueryParams(e.segmentId))},ZoneEditorContract.prototype.moveWidget=function(e){var t={widget:{Id:e.widgetId,PlaceholderName:e.placeholderName,ParentPlaceholderKey:e.parentPlaceholderKey,SiblingKey:e.siblingKey}};return this.service.executeBoundAction(e.dataItem,"Default.MoveWidget()",t,this.addQueryParams(e.segmentId))},ZoneEditorContract.prototype.lock=function(e){var t={state:{Version:e.state.Version}};return this.service.executeBoundAction(e.dataItem,"Default.Lock()",t,this.addQueryParams(e.state.SegmentId))},ZoneEditorContract.prototype.unlock=function(e){return this.service.executeBoundAction(e,"Default.Unlock()",null)},ZoneEditorContract.prototype.discard=function(e){return this.service.executeBoundAction(e,"Default.Discard()",null)},ZoneEditorContract.prototype.getWidgetOperations=function(e,t,n,o){return this.service.executeBoundFunction(e,"Default.GetWidgetOperations(widgetKey='"+t+"')",[],this.addQueryParams(n,o)).pipe(Object(i.map)((function(e){return e.value})))},ZoneEditorContract.prototype.executeWidgetOperation=function(e,t,n,o,r,a,s){var A={operation:{WidgetKey:t,Name:n.Name,Parameters:o,PropertyMetadata:r}};return this.service.executeBoundAction(e,"Default.ExecuteWidgetOperation()",A,this.addQueryParams(a,s)).pipe(Object(i.map)((function(e){var t=e;return t.SourceOperation=n,t})))},ZoneEditorContract.prototype.getState=function(e,t){return this.service.executeBoundFunction(e,"Default.GetState()",[],this.addQueryParams(t))},ZoneEditorContract.prototype.setWidgetPropertyValues=function(e,t,n,o){return this.service.executeBoundAction(e,"Default.SetProperties()",{propertyValueGroup:t},this.addQueryParams(n,o))},ZoneEditorContract.prototype.getHierarchicalWidgetModel=function(e,t,n,o){return this.service.executeBoundFunction(e,"Default.HierarchicalWidgetModel(componentId='"+t+"')",[],this.addQueryParams(n,o))},ZoneEditorContract.prototype.getWidgetPropertyValues=function(e,t,n,o){return this.service.executeBoundFunction(e,"Default.GetPropertyValues(componentId='"+t+"')",[],this.addQueryParams(n,o)).pipe(Object(i.map)((function(e){return e})))},ZoneEditorContract.prototype.getLazyComponents=function(e,t,n){return this.service.executeBoundFunction(e,"Default.LazyComponents()",void 0,this.addQueryParams(t,n))},ZoneEditorContract.prototype.addQueryParams=function(e,t){var n={};return e&&(n[r.QUERY_PARAMS.SEGMENT]=e),t&&(n[r.QUERY_PARAMS.WIDGET_SEGMENT_ID]=t),n},ZoneEditorContract.ɵfac=function ZoneEditorContract_Factory(e){return new(e||ZoneEditorContract)(a["ɵɵinject"](o.DynamicItemService))},ZoneEditorContract.ɵprov=a["ɵɵdefineInjectable"]({token:ZoneEditorContract,factory:ZoneEditorContract.ɵfac}),ZoneEditorContract}()},function(e,t,n){"use strict";n.r(t),n.d(t,"WidgetPropertyEditorService",(function(){return E}));var o=n(1118),i=n(260),r=n(244),a=n(1493),s=n(246),A=n(1520),l=n(1494),c=n(316),d=n(1204),p=n(1216),f=n(11),u=n(131),m=n(317),g=n(229),E=function(){function WidgetPropertyEditorService(e,t,n,o){this.dynamicItemService=e,this.router=t,this.modalService=n,this.window=o}return WidgetPropertyEditorService.prototype.initialize=function(e){var t=this;this.window.document.addEventListener(d.PropertyEditorCustomEvents.NEED_MODAL_DIALOG,(function(n){var o=n.detail;if(o.openNewEditor){n.preventDefault();var i=l.WidgetContext.fromSitefinityContext(o,t.router,e);t.initializeViewData(e,i).subscribe((function(){var e=new CustomEvent(d.PropertyEditorCustomEvents.MODAL_DIALOG_CLOSED,{bubbles:!0});t.window.document.dispatchEvent(e)}))}}),!0)},WidgetPropertyEditorService.prototype.initializeViewData=function(e,t){return t.viewName===d.PropertyEditorViewModes.ADVANCED?this.createDialog(d.PropertyEditorViewModes.ADVANCED,!1,e,t):this.createDialog(d.PropertyEditorViewModes.BASIC,!1,e,t)},WidgetPropertyEditorService.prototype.initialzieQuickEdit=function(e,t){var n=this,o=e.firstChild.snapshot.data[A.ITEM_DATA_KEY];return t.pageEntityData=o?o.item:null,t.sectionName="QuickEdit",{type:a.WidgetEditorComponent,properties:{context:t},afterComponentInit:function(e){e.context=t,e.hasAdvancedOptions.subscribe((function(e){n.modalService.sendCommand("editWidgetPropsBasic",{name:p.SHOW_HEADING_BUTTONS,data:e})}))},updatePropertiesOnChange:!0}},WidgetPropertyEditorService.prototype.createDialog=function(e,t,n,i){var r=this,s=n.firstChild.snapshot.data[A.ITEM_DATA_KEY];i.pageEntityData=s?m.DataItem.fromCulture(s.item,i.culture||s.item.culture):null,i.sectionName=e;var l=i.viewName===d.PropertyEditorViewModes.UNSHARE||i.viewName===d.PropertyEditorViewModes.SHARE||i.viewName===d.PropertyEditorViewModes.NOT_SHAREABLE?"-prompt":"-no-padding-top -no-padding-horizontal",c={type:a.WidgetEditorComponent,afterComponentInit:function(e){e.context=i,e.hasAdvancedOptions.subscribe((function(e){r.modalService.sendCommand("editWidgetPropsBasic",{name:p.SHOW_HEADING_BUTTONS,data:e})}))},updatePropertiesOnChange:!0},g=i.widgetName,E=new f.Subject,h=new f.Subject,b=this.getHeadButtons(t,n,i,h),C=new o.DialogData(c);C.doneCallback=function(e){return E.next(e)},C.contentClass=l,C.heading.title=g,C.headButtons=b,C.showButtonsOnInit=!1,C.hideStickyContent=!0;var B,k="editWidgetProps"+e;return this.modalService.setMapping(C,k),this.modalService.show(k,n,i.window),h.subscribe((function(e){!e.data||e.data.SourceOperation.Name!==d.PropertyEditorOperations.SAVE&&e.data.SourceOperation.Name!==d.PropertyEditorOperations.SAVE_ALL||(B=e)})),E.pipe(Object(u.map)((function(e){return B&&B.data&&!e.data&&(e.data=B.data),e})))},WidgetPropertyEditorService.prototype.getHeadButtons=function(e,t,n,i){var r=this,a=[];if(n.viewName===s.stringConstants.EMPTY_STRING&&!e){var A={click:function(){return r.openDialogClick(d.PropertyEditorViewModes.ADVANCED,t,n,i)}};a.push(new o.Button(A,"cog",s.stringConstants.EMPTY_STRING,d.PropertyEditorConstants.ADVANCED_SETTINGS_COG_BUTTON_TITLE))}return a},WidgetPropertyEditorService.prototype.openDialogClick=function(e,t,n,i){return this.createDialog(e,!0,t,n).subscribe((function(e){return i.next(e)})),new o.ClickResult(null,!0,!1)},WidgetPropertyEditorService.ɵfac=function WidgetPropertyEditorService_Factory(e){return new(e||WidgetPropertyEditorService)(g["ɵɵinject"](c.DynamicItemService),g["ɵɵinject"](i.Router),g["ɵɵinject"](o.ModalWindowService),g["ɵɵinject"](r.WINDOW_TOKEN))},WidgetPropertyEditorService.ɵprov=g["ɵɵdefineInjectable"]({token:WidgetPropertyEditorService,factory:WidgetPropertyEditorService.ɵfac,providedIn:"root"}),WidgetPropertyEditorService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"WidgetEditorComponent",(function(){return v}));var o=n(259),i=n(11),r=n(1494),a=n(1495),s=n(1496),A=n(1505),l=n(361),c=n(264),d=n(131),p=n(1063),f=n(246),u=n(1490),m=n(322),g=n(1204),E=n(244),h=n(1506),b=n(1491),C=n(1139),B=n(1500),k=n(229);function WidgetEditorComponent_div_1_Template(e,t){if(1&e&&(k["ɵɵelementStart"](0,"div",3),k["ɵɵelementStart"](1,"sf-notification",4),k["ɵɵtext"](2),k["ɵɵelementEnd"](),k["ɵɵelementEnd"]()),2&e){var n=k["ɵɵnextContext"]();k["ɵɵadvance"](2),k["ɵɵtextInterpolate"](n.feedback.errorMessage)}}function WidgetEditorComponent_ng_container_2_footer_3_sf_action_menu_1_Template(e,t){if(1&e){var n=k["ɵɵgetCurrentView"]();k["ɵɵelementStart"](0,"sf-action-menu",8),k["ɵɵlistener"]("buttonClicked",(function WidgetEditorComponent_ng_container_2_footer_3_sf_action_menu_1_Template_sf_action_menu_buttonClicked_0_listener(e){return k["ɵɵrestoreView"](n),k["ɵɵnextContext"](3).onActionButtonClicked(e)})),k["ɵɵpipe"](1,"async"),k["ɵɵelementEnd"]()}if(2&e){var o=k["ɵɵnextContext"](3);k["ɵɵproperty"]("operations",o.operations)("buttonsState",k["ɵɵpipeBind1"](1,2,o.buttonsState$))}}function WidgetEditorComponent_ng_container_2_footer_3_Template(e,t){if(1&e&&(k["ɵɵelementStart"](0,"footer"),k["ɵɵtemplate"](1,WidgetEditorComponent_ng_container_2_footer_3_sf_action_menu_1_Template,2,4,"sf-action-menu",7),k["ɵɵelementEnd"]()),2&e){var n=k["ɵɵnextContext"](2);k["ɵɵattribute"]("class",n.footerButtonsClass),k["ɵɵadvance"](1),k["ɵɵproperty"]("ngIf",n.operations)}}function WidgetEditorComponent_ng_container_2_Template(e,t){if(1&e){var n=k["ɵɵgetCurrentView"]();k["ɵɵelementContainerStart"](0),k["ɵɵelementStart"](1,"div",5),k["ɵɵlistener"]("contentFocusOut",(function WidgetEditorComponent_ng_container_2_Template_div_contentFocusOut_1_listener(){return k["ɵɵrestoreView"](n),k["ɵɵnextContext"]().focusOut()}))("dragstart",(function WidgetEditorComponent_ng_container_2_Template_div_dragstart_1_listener(e){return k["ɵɵrestoreView"](n),k["ɵɵnextContext"]().ondragstart(e)}))("click",(function WidgetEditorComponent_ng_container_2_Template_div_click_1_listener(e){return k["ɵɵrestoreView"](n),k["ɵɵnextContext"]().onclick(e)})),k["ɵɵelement"](2,"sf-component-loader",6),k["ɵɵtemplate"](3,WidgetEditorComponent_ng_container_2_footer_3_Template,2,2,"footer",2),k["ɵɵelementEnd"](),k["ɵɵelementContainerEnd"]()}if(2&e){var o=t.ngIf,i=k["ɵɵnextContext"]();k["ɵɵadvance"](1),k["ɵɵproperty"]("hidden",i.feedback.showViewLoadingIndicator)("focusSubscription",i.focusTriggeringSubscription)("closeOnContentClick",!1),k["ɵɵadvance"](1),k["ɵɵproperty"]("componentData",o.componentData),k["ɵɵadvance"](1),k["ɵɵproperty"]("ngIf",!i.context.isQuickEdit)}}var I,v=function(e){function WidgetEditorComponent(t,n,o,r,s,A,l){var c=e.call(this)||this;return c.zoneEditorContract=t,c.rendererService=n,c.viewsProvider=o,c.buttonStateService=r,c.siteDataStore=s,c.propertyValueParserService=A,c.windowProvider=l,c.feedback=new a.FeedbackInfo,c.footerButtonsClass="sf-modal-window__buttons",c.widgetEditorComponent$=new i.ReplaySubject(1),c.hasAdvancedOptions=new i.ReplaySubject(1),c.focusTriggeringSubscription=new i.BehaviorSubject(!1),c.loading=new i.ReplaySubject(1),c.saving=new i.ReplaySubject(1),c}return Object(o.__extends)(WidgetEditorComponent,e),WidgetEditorComponent.prototype.keyEvent=function(e){var t=this,n=e.keyCode||e.which,o=e.ctrlKey&&e.altKey;!o||67!==n&&"c"!==e.key||(e.preventDefault(),this.windowProvider.navigator.clipboard.writeText(JSON.stringify(this.widgetProps.propertyValues))),!o||86!==n&&"v"!==e.key||(e.preventDefault(),this.windowProvider.navigator.clipboard.readText().then((function(e){t.widgetViewComponent.setValues(JSON.parse(e))})))},WidgetEditorComponent.prototype.ngOnInit=function(){var e=this,t=this.loading.pipe(Object(p.delayEmission)(600),Object(d.map)((function(e){return e.isLoading})),Object(d.tap)((function(t){e.feedback.showViewLoadingIndicator=t}))).subscribe();this.registerSubscription(t),this.loading.next({isLoading:!0,content:null});var n=Object(i.combineLatest)(this.initializeView(),this.initializeViewData()).subscribe((function(t){var n=t[0],o=t[1];n.componentData.afterComponentInit=function(t){e.focusTriggeringSubscription.next(!0),e.editorViewInstance=t,e.widgetProps=o;var n=t.initialize(o).subscribe((function(){e.feedback.reset(),e.loading.next({isLoading:!1,content:null})}),(function(t){e.feedback.setError(t)}));e.registerSubscription(n);var i=t;if(i.notifyStatusChange$){var r=i.notifyStatusChange$.subscribe((function(t){e.feedback=t}));e.registerSubscription(r)}e.configureActions(t,o),e.widgetViewComponent=t},e.widgetEditorComponent$.next(n)}),(function(t){e.feedback.setError(t)}));this.registerSubscription(n)},WidgetEditorComponent.prototype.setCloseModalCallback=function(e){this._closeModalCallback=e},WidgetEditorComponent.prototype.onActionButtonClicked=function(e){var t=e.name;switch(t){case g.PropertyEditorOperations.SAVE:var n=this.context.localizationMode===r.WidgetLocalizationMode.AlwaysSaveAllTranslations?I.AllTranslations:I.CurrentTranslationOnly,o=this.context.culture?n:I.Default;this.saveContentClick(o,t);break;case g.PropertyEditorOperations.SAVE_ALL:this.saveContentClick(I.AllTranslations,t);break;case g.PropertyEditorOperations.CANCEL:this.cancelClick();break;default:this.saveContentClick(0,t)}},WidgetEditorComponent.prototype.focusOut=function(){this.context.isQuickEdit&&this.cancelClick()},WidgetEditorComponent.prototype.ondragstart=function(e){e.preventDefault(),e.stopPropagation()},WidgetEditorComponent.prototype.onclick=function(e){this.context.isQuickEdit&&(e.preventDefault(),e.stopPropagation())},WidgetEditorComponent.prototype.configureActions=function(e,t){var n;this.footerButtonsClass="sf-modal-window__buttons";var o=e.getActions?e.getActions():{};o.cssClass&&(this.footerButtonsClass+=f.stringConstants.INTERVAL+o.cssClass),o.operations?n=o.operations:((n=new Array).push(this.createOperation(l.SelectorConstants.SAVE,g.PropertyEditorOperations.SAVE,-1)),"AllTranslations"===t.propertyLocalizationMode&&this.context.localizationMode===r.WidgetLocalizationMode.Both&&n.push(this.createOperation(l.SelectorConstants.SAVE_ALL_TRANSLATIONS,g.PropertyEditorOperations.SAVE_ALL,0)));var a=0===n.length?l.SelectorConstants.CLOSE:l.SelectorConstants.CANCEL;n.push(this.createOperation(a,l.SelectorConstants.CANCEL,0)),this.operations=Object(i.of)(n),this.updateActionButtonsState(null,m.ButtonState.Default),this.buttonsState$=this.buttonStateService.getState$()},WidgetEditorComponent.prototype.createOperation=function(e,t,n){return{Title:e,Category:{Name:"default"},Name:t,Ordinal:n,Description:f.stringConstants.EMPTY_STRING,Link:f.stringConstants.EMPTY_STRING,Parameters:[{}],RequiresConfirmation:!1}},WidgetEditorComponent.prototype.saveContentClick=function(e,t){var n=this;if(this.editorViewInstance){this.updateActionButtonsState({name:t,state:m.ButtonState.Loading},m.ButtonState.Disabled);var o=this.editorViewInstance.validate().subscribe((function(o){if(o&&o.isValid){var i=n.editorViewInstance.actionExecuting({processChanges:!0}).pipe(Object(d.switchMap)((function(){return n.saveProperties(n.editorViewInstance,e)}))).subscribe((function(){return n.onComplete(t)}),(function(e){return n.onError(t,e)}));n.registerSubscription(i)}else{var r=o&&o.message?o.message:"The form is not valid!";n.onError(t,r)}}),(function(e){return n.onError(t,e)}));this.registerSubscription(o)}},WidgetEditorComponent.prototype.cancelClick=function(){var e=this;if(this.editorViewInstance){this.focusTriggeringSubscription.next(!1);var t=this.editorViewInstance.actionExecuting({processChanges:!1}).subscribe({error:function(t){return e.onError(g.PropertyEditorOperations.CANCEL,t)},complete:function(){return e.onComplete(g.PropertyEditorOperations.CANCEL)}});this.registerSubscription(t)}},WidgetEditorComponent.prototype.updateActionButtonsState=function(e,t){return this.buttonStateService.updateActionButtonsState(e,t)},WidgetEditorComponent.prototype.initializeViewData=function(){var e=this;this.feedback.reset();var t=this.zoneEditorContract.getWidgetPropertyValues(this.context.pageEntityData,this.context.widgetId,this.context.segmentId,this.context.widgetSegmentId).pipe(Object(d.map)((function(t){if(t&&t.Properties){var n=e.toAssociativeArray(t.Properties);return{caption:t.Caption,properties:n,propertyLocalizationMode:t.PropertyLocalizationMode}}}))),n=new i.ReplaySubject;return this.siteDataStore.getValue().subscribe((function(t){var o={dataItem:e.context.pageEntityData,widgetKey:e.context.widgetId,widgetName:e.context.widgetName,siteId:t.Id};e.rendererService.getWidgetMetadata(o).subscribe((function(t){if(t){e.getModule(g.PropertyEditorViewModes.ADVANCED,t.PropertyMetadata)&&e.hasAdvancedOptions.next(!0);var o=e.getSectionsPerMode(e.context.sectionName,t.PropertyMetadata)||[];t.PropertyMetadata=[o],n.next(t)}}))})),Object(i.combineLatest)(n,t).pipe(Object(d.map)((function(t){var n=t[0],o=t[1],i=o.caption||n.Caption;if(i){var r=n.PropertyMetadataFlat.find((function(e){return"SfWidgetLabel"===e.Name}));r&&(r.DefaultValue=i)}var a=e.setDefaultProperties(o.properties,n.PropertyMetadataFlat);return{propertyLocalizationMode:o.propertyLocalizationMode,propertyMetadata:n.PropertyMetadata[0].Sections,propertyMetadataFlat:n.PropertyMetadataFlat,propertyValues:a,name:n.Name,caption:i}})))},WidgetEditorComponent.prototype.initializeView=function(){var e=this,t=new i.ReplaySubject(1),n=this.saving.pipe(Object(d.debounceTime)(500)).subscribe((function(){if(e.context.isQuickEdit){var t=e.context.localizationMode===r.WidgetLocalizationMode.AlwaysSaveAllTranslations?I.AllTranslations:I.CurrentTranslationOnly,n=e.context.culture?t:I.Default;e.saveContentClick(n,g.PropertyEditorOperations.SAVE)}}));if(this.registerSubscription(n),this.context.sectionName===g.PropertyEditorViewModes.ADVANCED)t.next({componentData:{type:s.BasicEditorViewComponent,properties:{fieldChange:function(){return e.saving.next({isLoading:!0})},headingPrefix:g.PropertyEditorConstants.ADVANCED_SETTINGS_LABEL}}});else{var o=this.context.viewKey,a=this.viewsProvider.getView(o).subscribe((function(n){var o={fieldChange:function(){return e.saving.next({isLoading:!0})},headingSuffix:g.PropertyEditorConstants.WIDGET_SUFFIX};n||(n={}),n.componentData||(n.componentData={type:s.BasicEditorViewComponent}),n.componentData.properties=o,t.next(n)}));this.registerSubscription(a)}return t.pipe(Object(d.tap)((function(t){t.componentData.properties||(t.componentData.properties={}),t.componentData.properties.context=e.context})))},WidgetEditorComponent.prototype.saveProperties=function(e,t){var n=e.getModifiedProperties();if(n&&n.length>0){this.stringifyProperties(n);var o,r=this.widgetProps.propertyMetadataFlat.map((function(e){return{Name:e.Name,Title:e.Title,Type:e.Type,DefaultValue:e.DefaultValue,Properties:e.Properties}})),a={ComponentId:this.context.widgetId,Properties:n,PropertyMetadata:r,PropertyLocalizationMode:t.toString()};if("Section"===this.context.widgetName){if((o=n.find((function(e){return"Labels"===e.Name})))&&o.Value){var s=a.Caption=JSON.parse(o.Value).Section;s&&(a.Caption=s.Label)}}else if(o=n.find((function(e){return"SfWidgetLabel"===e.Name}))){a.Caption=o.Value;var A=a.Properties.indexOf(o);a.Properties.splice(A,1)}return this.zoneEditorContract.setWidgetPropertyValues(this.context.pageEntityData,a,this.context.segmentId,this.context.widgetSegmentId)}return Object(i.of)(null)},WidgetEditorComponent.prototype.onComplete=function(e){var t=this;if(e!==g.PropertyEditorOperations.CANCEL){var closeModalFunction_1=function(){t._closeModalCallback({Success:!0,SourceOperation:{Name:e}})};if(this.context.isQuickEdit)closeModalFunction_1();else{this.updateActionButtonsState({name:e,state:m.ButtonState.Checked},m.ButtonState.Default);var n=this.updateActionButtonsState(null,m.ButtonState.Default).subscribe((function(){closeModalFunction_1()}));this.registerSubscription(n)}}else this._closeModalCallback({Success:!0,SourceOperation:{Name:e}});this.feedback.showError=!1},WidgetEditorComponent.prototype.onError=function(e,t){this.updateActionButtonsState({name:e,state:m.ButtonState.Default},m.ButtonState.Default),this.feedback.setError(t)},WidgetEditorComponent.prototype.setDefaultProperties=function(e,t){return t.forEach((function(t){void 0===e[t.Name]&&t.DefaultValue&&(e[t.Name]=t.DefaultValue)})),e},WidgetEditorComponent.prototype.toAssociativeArray=function(e){for(var t={},n=0;n0?this.errorMessage=e.fieldErrors[0].errorType.message:e&&e.message?this.errorMessage=e.message:e.innerError&&e.innerError.message?this.errorMessage=e.innerError.message:e.innerError&&e.innerErrors.length>0&&e.innerErrors[0]&&e.innerErrors[0].message?this.errorMessage=e.innerErrors[0].message:e&&(this.errorMessage=e)},FeedbackInfo}()},function(e,t,n){"use strict";n.r(t),n.d(t,"BasicEditorViewComponent",(function(){return _}));var o=n(259),i=(n(1497),n(11)),r=n(1120),a=n(378),s=n(1121),A=n(266),l=n(264),c=n(1498),d=n(1204),p=n(351),f=n(1499),u=n(257),m=n(246),g=n(356),E=n(269),h=n(1500),b=n(354),C=n(316),B=n(131),k=n(229);function BasicEditorViewComponent_sf_sticky_component_1_Template(e,t){if(1&e&&k["ɵɵelement"](0,"sf-sticky-component",3),2&e){var n=k["ɵɵnextContext"]();k["ɵɵproperty"]("heading",n.heading)}}function BasicEditorViewComponent_hr_2_Template(e,t){1&e&&k["ɵɵelement"](0,"hr")}var I="Telerik.Sitefinity.NativeChatConnector.Mvc.Controllers.NativeChatController",v=["Section","Button","ContentList",I],w=["ContentList",I],_=function(e){function BasicEditorViewComponent(t,n,o,i){var r=e.call(this)||this;return r.dynamicService=t,r.fieldsProvider=n,r.metadataStore=o,r.propertyValueParserService=i,r.cssClass="sf-form -medium -sf-centered-box -sf-pb-zero -sf-pt-7xl",r}return Object(o.__extends)(BasicEditorViewComponent,e),BasicEditorViewComponent.prototype.initialize=function(e){var t=this,n=this.headingPrefix||m.stringConstants.EMPTY_STRING,o=this.headingSuffix||m.stringConstants.EMPTY_STRING;this.heading=""+n+e.caption+o,this.shouldShowTopBorder=this.handleTopBorderVisibility(e.name);var a=[],s=[],A=[];e.propertyMetadata.forEach((function(n,o,i){if(n){var l=t.getFields(n.Properties,e.propertyValues,A),c=e.propertyMetadata.length>0&&0===o,d={isMain:null===n.Title,isExpanded:c,insertHorizontalRule:!t.shouldHideBottomBorder||o-1;return this.headingPrefix===d.PropertyEditorConstants.ADVANCED_SETTINGS_LABEL&&w.indexOf(e)>-1&&(t=!1),t},BasicEditorViewComponent.prototype.getProperties=function(e){var t=this,n=this.editableFieldsComponent.getFields(e),o=[];return n&&Object.keys(n).forEach((function(e){if(void 0!==n[e])if(t.editableFieldsComponent.fieldSections.some((function(t){return t.fields.some((function(t){return("sf-related-data"===t.selector||"sf-media"===t.selector)&&t.key===e}))}))){var i=n[e],r=t.editableFieldsComponent.fieldSections.some((function(t){return t.fields.some((function(t){return"sf-related-data"===t.selector&&t.key===e&&t.settings.allowMultiple}))}));i&&i instanceof Array&&!r&&(i=i[0]),o.push({Name:e,Value:i})}else o.push({Name:e,Value:n[e]})})),o},BasicEditorViewComponent.ɵfac=function BasicEditorViewComponent_Factory(e){return new(e||BasicEditorViewComponent)(k["ɵɵdirectiveInject"](C.DynamicItemService),k["ɵɵdirectiveInject"](a.CompositeFieldsProvider),k["ɵɵdirectiveInject"](E.MetadataStore),k["ɵɵdirectiveInject"](h.PropertyValueParserService))},BasicEditorViewComponent.ɵcmp=k["ɵɵdefineComponent"]({type:BasicEditorViewComponent,selectors:[["sf-basic-view"]],viewQuery:function BasicEditorViewComponent_Query(e,t){if(1&e&&k["ɵɵviewQuery"](s.EditableFieldsComponent,3),2&e){var n;k["ɵɵqueryRefresh"](n=k["ɵɵloadQuery"]())&&(t.editableFieldsComponent=n.first)}},features:[k["ɵɵInheritDefinitionFeature"]],decls:6,vars:11,consts:[[3,"heading",4,"ngIf"],[4,"ngIf"],[1,"-sf-txt-align-left",3,"moduleName","shouldResetMirroring","hiddenFields","fieldSections","fieldChange"],[3,"heading"]],template:function BasicEditorViewComponent_Template(e,t){1&e&&(k["ɵɵelementStart"](0,"div"),k["ɵɵtemplate"](1,BasicEditorViewComponent_sf_sticky_component_1_Template,1,1,"sf-sticky-component",0),k["ɵɵtemplate"](2,BasicEditorViewComponent_hr_2_Template,1,0,"hr",1),k["ɵɵelementStart"](3,"sf-editable-fields",2),k["ɵɵlistener"]("fieldChange",(function BasicEditorViewComponent_Template_sf_editable_fields_fieldChange_3_listener(e){return t.onFieldChange(e)})),k["ɵɵpipe"](4,"async"),k["ɵɵpipe"](5,"async"),k["ɵɵelementEnd"](),k["ɵɵelementEnd"]()),2&e&&(k["ɵɵattribute"]("class",t.cssClass),k["ɵɵadvance"](1),k["ɵɵproperty"]("ngIf",t.context&&!t.context.isQuickEdit),k["ɵɵadvance"](1),k["ɵɵproperty"]("ngIf",t.shouldShowTopBorder),k["ɵɵadvance"](1),k["ɵɵproperty"]("moduleName","basicEditor")("shouldResetMirroring",!1)("hiddenFields",k["ɵɵpipeBind1"](4,7,t.hiddenFields$))("fieldSections",k["ɵɵpipeBind1"](5,9,t.fieldSections$)))},encapsulation:2}),BasicEditorViewComponent}(l.RxBaseComponent)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t),n.d(t,"FIELD_TYPE_MAPPER",(function(){return i})),n.d(t,"COMPLEX_FIELD_CLASS_MAPPER",(function(){return r})),n.d(t,"COMPLEX_SECTION_CLASS_MAPPER",(function(){return a}));var o=n(351),i=new Map([["string",o.FieldTypes.shortText],["bool",o.FieldTypes.choiceList],["number",o.FieldTypes.number],["datetime",o.FieldTypes.dateTime],["chipchoice",o.FieldTypes.choiceChip],["choices",o.FieldTypes.choiceDropDown],["radioChoices",o.FieldTypes.choice],["multipleChoices",o.FieldTypes.choiceMultiple],["related",o.FieldTypes.relatedData],["dictionary",o.FieldTypes.complex],["enumerable",o.FieldTypes.complex]]),r=new Map([["ImagePosition","-col-size-2xs"],["ImageItem","-col-size-sm"]]),a=new Map([["StylePrimary","-col-size-3xl"],["PositionCTA","-col-size-3xl"]])},function(e,t,n){"use strict";n.r(t),n.d(t,"FIELD_PROPERTIES_MAPPER",(function(){return a})),n.d(t,"FIELD_VALIDATIONS_MAPPER",(function(){return s})),n.d(t,"FIELD_ERROR_MSG_MAPPER",(function(){return A})),n.d(t,"FIELD_MEDIA_TYPE_MAPPER",(function(){return l})),n.d(t,"Validations",(function(){return c})),n.d(t,"Properties",(function(){return d}));var o=n(338),i=n(256),r=n(257),a=new Map([["Meta_Description_Description",r.FIELD_TOOLTIP],["Meta_Placeholder_Text","placeholder"],["DefaultValue","default"],["Meta_Choices","choices"],["Meta_Choice_Choices","choices"],["Meta_Content_Type","itemType"],["Meta_MediaItem_ItemType","itemType"],["Meta_MediaItem_AllowMultipleSelection","allowMultiple"],["Meta_MediaItem_Standalone","openPickerWhenEmpty"],["Meta_LengthDependsOn_ExtraRecords","dependsOnExtraRecords"],["Meta_ConditionalVisibility_Condition","conditionalRule"],["Meta_Mirror_FieldName","mirroredFieldName"],["Meta_Mirror_FieldProperty","mirroredFieldProperty"],["Meta_Mirror_EnableMirroring","enableMirroring"],["Meta_Description_InlineDescription","inlineDescription"],["Meta_Description_InstructionalNotes","instructionalNotes"],["Meta_EmptyValues_EmptyValues","emptyValues"]]),s=new Map([["Validations_Required",r.VALIDATION_REQUIRED],["Validations_Regex",r.VALIDATION_REGEX],["Validations_MaxValue",r.VALIDATION_MAX_VALUE],["Validations_MinValue",r.VALIDATION_MIN_VALUE],["Validations_DecimalPlaces",r.VALIDATION_DECIMAL_PLACES]]),A=new Map([["Validations_RangeErrorMsg",o.VALIDATOR_NAMES.VALUE_RANGE],["Validations_RegexErrorMsg",o.VALIDATOR_NAMES.PATTERN],["Validations_RequiredErrorMsg",o.VALIDATOR_NAMES.REQUIRED],["Validations_MinLengthErrorMsg",o.VALIDATOR_NAMES.MIN_LENGTH],["Validations_MaxLengthErrorMsg",o.VALIDATOR_NAMES.MAX_LENGTH],["Validations_StringLengthErrorMsg",o.VALIDATOR_NAMES.MAX_LENGTH]]),l=new Map([["images",i.MEDIA_TYPES.IMAGE],["videos",i.MEDIA_TYPES.VIDEO],["documents",i.MEDIA_TYPES.DOCUMENT]]),c="Validations",d="Properties"},function(e,t,n){"use strict";n.r(t),n.d(t,"PropertyValueParserService",(function(){return s}));var o=n(351),i=n(1501),r=n(1499),a=n(229),s=function(){function PropertyValueParserService(){}return PropertyValueParserService.prototype.parsePropertyToFieldValue=function(e,t,n){var a=e;if(t!==o.FieldTypes.relatedData&&t!==o.FieldTypes.media||!e)if(t===o.FieldTypes.linkInsert)(a=e?new i.ContentLinkInputModel({sfLink:this.parseJsonValue(e)}):new i.ContentLinkInputModel).isUrlRequired=n[r.Properties].Validations_Required;else{if(t===o.FieldTypes.choiceList)return a;if(t===o.FieldTypes.shortText)return a;if(t!==o.FieldTypes.dateTime&&t!==o.FieldTypes.date||!a)if(t===o.FieldTypes.complex&&"enumerable"===n.Type&&a)a=this.getEunmerableValue(e);else{if(t===o.FieldTypes.choiceMultiple&&a){var s="",A=a.split(", ");return this.parseJsonValue(n.Properties.Meta_Choices,[]).forEach((function(e){var t=A.includes(e.Name)?"1":"0";s+=t})),a=s,s}a=this.parseJsonValue(e,e)}else a=new Date(e),a=isNaN(a)?null:a}else if(n[r.Properties].AllowMultiple){a=this.parseJsonValue(e)}else{var l=this.parseJsonValue(e);l&&(a=[l])}return a},PropertyValueParserService.prototype.parseFieldValueToProperty=function(e,t,n){switch(t){case"datetime":if(e instanceof Date)return e.toISOString();case"linkInsert":return e&&e.contentItemModel?JSON.stringify(e.contentItemModel.sfLink):e?'{"href": "'+e.href+'" }':"";case"enumerable":if(e){var o=[];if(Array.isArray(e))o=e;else Object.getOwnPropertyNames(e).forEach((function(t){o.push(e[t])}));return JSON.stringify(o)}case"multipleChoices":if(e){var i="";return this.parseJsonValue(n.Properties.Meta_Choices,[]).forEach((function(t,n){"1"===e[n]&&(i&&(i+=", "),i+=t.Name)})),i}default:return"string"!=typeof e?JSON.stringify(e):e.toString()}},PropertyValueParserService.prototype.getEunmerableValue=function(e){var t=this.parseJsonValue(e);if(!Array.isArray(t)){var n={};t.forEach((function(e,t){n[t.toString()]=e})),t=n}return t},PropertyValueParserService.prototype.parseJsonValue=function(e,t){void 0===t&&(t=null);try{return JSON.parse(e)}catch(e){}return t},PropertyValueParserService.ɵfac=function PropertyValueParserService_Factory(e){return new(e||PropertyValueParserService)},PropertyValueParserService.ɵprov=a["ɵɵdefineInjectable"]({token:PropertyValueParserService,factory:PropertyValueParserService.ɵfac,providedIn:"root"}),PropertyValueParserService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"URL_LABEL",(function(){return s})),n.d(t,"URL_NO_SCHEME",(function(){return A})),n.d(t,"EMAIL",(function(){return l})),n.d(t,"LINK_INPUT_TYPES",(function(){return c})),n.d(t,"ContentLinkInputModel",(function(){return d}));var o=n(338),i=n(1502),r=n(246),a=n(1504),s="URL",A="URL_NO_SCHEME",l="EMAIL",c=[new a.LinkInputType(r.validationConstants.EMAIL_PATTERN,l,l),new a.LinkInputType(/^(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9][-_~]*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9][-_~]*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i,A,s),new a.LinkInputType(r.validationConstants.VALID_URL_PATTERN,s,s)],d=function(){function ContentLinkInputModel(e){this.isUrlRequired=!0,this._href=r.stringConstants.EMPTY_STRING,e&&(e.sfLink.sfref&&(this.contentItemModel=new i.ContentItemModel,this.contentItemModel.sfLink=e.sfLink),this.href=e.sfLink.href,this.determineLinkType())}return Object.defineProperty(ContentLinkInputModel.prototype,"href",{get:function(){return this._href},set:function(e){this._href=e,this.determineLinkType()},enumerable:!1,configurable:!0}),ContentLinkInputModel.prototype.getErrors=function(){return this.hasErrors=!1,this.isLoading?[]:this.contentItemModel?this.contentItemModel.validationErrors.length>0?(this.hasErrors=!0,this.contentItemModel.validationErrors):[]:this.isUrlRequired&&!this.href?(this.hasErrors=!0,[{errorType:o.VALIDATOR_NAMES.REQUIRED,error:{message:"You must enter a url or email."}}]):this.href&&!this.linkType?(this.hasErrors=!0,[{errorType:o.VALIDATOR_NAMES.REQUIRED,error:{message:"You must enter a valid url or email."}}]):[]},ContentLinkInputModel.prototype.determineLinkType=function(){if(this.linkType=r.stringConstants.EMPTY_STRING,this.href)for(var e=0;e0){var o={key:e,componentData:n[0].componentData};return Object(i.of)(o)}}return this.getRegisteredViews().pipe(Object(r.map)((function(t){return t.find((function(t){return t.key.widgetName===e.widgetName&&t.key.viewName===e.viewName}))})))},CustomViewRegistrationProvider.prototype.getRegisteredViews=function(){return this.editorViewProviders?this.initViews():Object(i.of)([])},CustomViewRegistrationProvider.prototype.initViews=function(){var e=this,t=this.editorViewProviders.map((function(e){var t=e;if(t.getViews)return t.getViews()})).filter((function(e){return e}));return i.combineLatest.apply(void 0,t).pipe(Object(r.map)((function(t){return e.mergeViews(t)})))},CustomViewRegistrationProvider.prototype.mergeViews=function(e){var t=[];return e.forEach((function(e){e.forEach((function(e){t.push(e)}))})),t},CustomViewRegistrationProvider.ɵfac=function CustomViewRegistrationProvider_Factory(e){return new(e||CustomViewRegistrationProvider)(o["ɵɵinject"](s,8))},CustomViewRegistrationProvider.ɵprov=o["ɵɵdefineInjectable"]({token:CustomViewRegistrationProvider,factory:CustomViewRegistrationProvider.ɵfac}),CustomViewRegistrationProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"RendererService",(function(){return s}));var o=n(1507),i=n(1518),r=n(275),a=n(229),s=function(){function RendererService(e,t){this.legacyContract=e,this.authService=t}return RendererService.prototype.initialize=function(e){this.contract=e},RendererService.prototype.getWidgetMetadata=function(e){return e.token=this.authService.getToken(),Object(o.fromPromise)(this.getContract().getWidgetMetadata(e))},RendererService.prototype.getCategories=function(e){return e.token=this.authService.getToken(),Object(o.fromPromise)(this.getContract().getCategories(e))},RendererService.prototype.renderWidget=function(e){return e.token=this.authService.getToken(),Object(o.fromPromise)(this.getContract().renderWidget(e))},RendererService.prototype.getWidgets=function(e){return e.token=this.authService.getToken(),Object(o.fromPromise)(this.getContract().getWidgets(e))},RendererService.prototype.getContract=function(){return this.contract||this.legacyContract},RendererService.ɵfac=function RendererService_Factory(e){return new(e||RendererService)(a["ɵɵinject"](i.WebFormsAndMvcRendererContract),a["ɵɵinject"](r.AuthService))},RendererService.ɵprov=a["ɵɵdefineInjectable"]({token:RendererService,factory:RendererService.ɵfac}),RendererService}()},,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"WebFormsAndMvcRendererContract",(function(){return r}));var o=n(316),i=(n(1519),n(229)),r=function(){function WebFormsAndMvcRendererContract(e){this.service=e}return WebFormsAndMvcRendererContract.prototype.getWidgetMetadata=function(e){return this.service.executeBoundFunction(e.dataItem,"Default.GetComponentMetadata(componentId='"+e.widgetKey+"')").toPromise()},WebFormsAndMvcRendererContract.prototype.renderWidget=function(e){return new Promise((function(e){return e(null)}))},WebFormsAndMvcRendererContract.prototype.getWidgets=function(e){return new Promise((function(e){return e({dataItems:[],totalCount:0})}))},WebFormsAndMvcRendererContract.prototype.getCategories=function(e){return new Promise((function(e){return e([])}))},WebFormsAndMvcRendererContract.ɵfac=function WebFormsAndMvcRendererContract_Factory(e){return new(e||WebFormsAndMvcRendererContract)(i["ɵɵinject"](o.DynamicItemService))},WebFormsAndMvcRendererContract.ɵprov=i["ɵɵdefineInjectable"]({token:WebFormsAndMvcRendererContract,factory:WebFormsAndMvcRendererContract.ɵfac}),WebFormsAndMvcRendererContract}()},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t),n.d(t,"UNSAVED_CHANGES_DIALOG_MESSAGE",(function(){return le})),n.d(t,"URL_NAME_KEY",(function(){return ce})),n.d(t,"ITEM_DATA_KEY",(function(){return de})),n.d(t,"ENTITY_KEY",(function(){return pe})),n.d(t,"MIN_SAVE_LOADING_TIME",(function(){return fe})),n.d(t,"MIN_CHECKED_TIME",(function(){return ue})),n.d(t,"BUTTONS_LOADING_TIME",(function(){return me})),n.d(t,"DynamicItemComponent",(function(){return ge}));var o=n(259),i=n(11),r=n(131),a=n(292),s=n(260),A=n(1521),l=n(1165),c=n(284),d=n(1118),p=n(1152),f=n(321),u=n(1202),m=n(1171),g=n(244),E=n(319),h=n(1121),b=n(352),C=n(322),B=n(396),k=n(262),I=n(246),v=n(266),w=n(1105),_=n(317),x=n(1522),y=n(261),S=n(271),T=n(1177),M=n(316),D=n(1104),Q=n(351),N=n(1063),R=n(1178),F=n(1168),O=n(293),P=n(289),U=n(245),L=n(1125),z=n(1529),G=n(1490),H=n(1197),j=n(1533),Y=n(1198),V=n(1180),J=n(1153),W=n(1539),K=n(1200),X=n(1199),q=n(1174),Z=n(1203),$=n(1540),ee=n(1206),te=n(1205),ne=n(295),oe=n(298),ie=n(1538),re=n(1196),ae=n(1541),se=n(1545),Ae=n(229);function DynamicItemComponent_sf_sidebar_host_1_Template(e,t){1&e&&Ae["ɵɵelement"](0,"sf-sidebar-host")}function DynamicItemComponent_div_10_Template(e,t){1&e&&Ae["ɵɵelement"](0,"div",8)}var le="There are unsaved changes for this item. Are you sure you want to discard them and leave?",ce="urlName",de="itemData",pe="entity",fe=1500,ue=1e3,me=1e3,ge=function(e){function DynamicItemComponent(t,n,o,a,s,A,l,c,d,p,u,m,g,E,h,b,B,v,_){var x=e.call(this,t,n,o,c,s,A,d,g,B)||this;return x.fieldsGeneratorService=a,x.editExtender=l,x.notificationService=p,x.settings=u,x.buttonStateService=m,x.serverOperationExecutor=E,x.sortService=h,x.keyboardShortcutsService=b,x.parentService=B,x.store=v,x.itemHooksProvider=_,x.fieldSections=null,x.defaultSidebarRoutePath=k.SIDEBAR_ROUTES.DEFAULT,x.sidebarClasses$=new i.BehaviorSubject("sf-main -details"),x.formClasses=I.stringConstants.EMPTY_STRING,x.isLocked=!1,x.filterCleared=!1,x.allowDialogOpenCallback=x.triggerLock.bind(x),x.isActionInProgress=new i.Subject,x.item=new i.BehaviorSubject({content:null,isLoading:!0}),x.fieldSectionsInternal$=new i.ReplaySubject(1),x.areEditableFieldsDirty=!1,x.isInitialLoad=!0,x.datePipe=new w.RelativeDatePipe,x.dynamicSidebarData$=new i.ReplaySubject(1),x.triggerLock$=Object(i.of)(!1),x.hasSwitchedToEditMode=!1,x.serverOperationPending=!1,x.item$=x.item.pipe(Object(r.filter)((function(e){return null!==e.content})),Object(r.map)((function(e){return e.content}))),x.bottomActionMenuOptions=new C.ActionMenuOptions(Number.NEGATIVE_INFINITY,f.OUTSIDE_MENU_MAX_ORDINAL),x.generalActionOperations=new i.BehaviorSubject([]),x.customOperations=new i.BehaviorSubject([]),x.additionalActionOperations=new i.BehaviorSubject([]),x.personalizationOperations=new i.BehaviorSubject([]),x.fieldSections$=x.fieldSectionsInternal$.pipe(Object(N.delayEmission)(k.BLUR_EFFECT_TIMEOUT),Object(r.map)((function(e){return e.content}))),x}return Object(o.__extends)(DynamicItemComponent,e),Object.defineProperty(DynamicItemComponent.prototype,"hasVersion",{get:function(){return!!this.route.parent.snapshot.queryParams[k.QUERY_PARAMS.VERSION]},enumerable:!1,configurable:!0}),DynamicItemComponent.prototype.handler=function(e){this.areEditableFieldsDirty&&(e.returnValue=le)},Object.defineProperty(DynamicItemComponent.prototype,"currentItem",{get:function(){return this.item.getValue().content},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemComponent.prototype,"isEditMode",{get:function(){if(this.hasSwitchedToEditMode)return!0;var e=this.location.path();return e.includes(k.ROUTE_PARAMS.EDIT_SEGMENT)&&this.currentItem&&e.includes(this.currentItem.key)},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemComponent.prototype,"typeSetName",{get:function(){return this.entityData.metadata.setName},enumerable:!1,configurable:!0}),DynamicItemComponent.prototype.ngOnInit=function(){var e=this;this.registerSubscription(this.configureNavbar().subscribe()),this.registerSubscription(this.store.pipe(ie.SIDEBAR_SELECTORS.sidebarData).subscribe((function(t){e.hasSidebar=!!t}))),this.handleRouteData(),this.handleActivityStatus(),this.handleItemChanges(),this.handleButtons(),this.setContentLoaderHeight(),this.handleFormClasses(),this.handleKeyboardShortcuts(),this.store.pipe(ie.SIDEBAR_SELECTORS.activeConfig,Object(r.take)(1)).subscribe((function(t){var n=e.getSegment()===k.ROUTE_PARAMS.DUPLICATE_SEGMENT&&(null==t?void 0:t.name)===X.COMPARE_TRANSLATIONS_NAME;t&&!n||e.store.dispatch(oe.SIDEBAR_DISPATCH_ACTION.close(!1))})),this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$.pipe(Object(r.first)()),"onEditItemInitializing",(function(e){return{item:e}})).subscribe()),this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$,"onEditItemChanged",(function(e){return{item:e}})).subscribe())},DynamicItemComponent.prototype.ngOnDestroy=function(){var t=this;this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$.pipe(Object(r.first)()),"onEditItemUnloading",(function(e){return{item:e}})).subscribe((function(){e.prototype.ngOnDestroy.call(t),t.keyboardShortcutsService.removeListener(k.COMPONENT_NAMES.DYNAMIC_ITEM)})))},DynamicItemComponent.prototype.ngAfterViewInit=function(){var e=this,t=this.editableFields.dirty.subscribe((function(t){e.areEditableFieldsDirty=t,t&&(e.triggerLock$=e.triggerLock())}));this.registerSubscription(t),this.registerSubscription(this.itemHooksProvider.executeObservableHook(this.item$.pipe(Object(r.first)()),"afterEditItemInit",(function(e){return{item:e}})).subscribe())},DynamicItemComponent.prototype.canDeactivate=function(){var e=this;if(this.areEditableFieldsDirty&&!this.window.confirm(le))return!1;if(this.clearNotifications(),!this.isLocked&&!this.areEditableFieldsDirty)return!0;if(!this.isEditMode)return!0;var t=this.dynamicItemStore.unlockItem(this.currentItem,!0),n=new i.Subject;return this.registerSubscription(t.subscribe((function(){e.isLocked=!1,n.next(!0)}),(function(t){if(t instanceof a.NotFoundError)n.next(!0);else{if(!(t instanceof O.OperationFailedError))throw new Error("An error was encountered while unlocking dynamic item of type: '"+e.entityData.metadata.setName+"'. Error: '"+t.message+"'");n.next(!0)}}))),n.asObservable()},DynamicItemComponent.prototype.onActionButtonClicked=function(e){var t=this,n=e.name.split("_")[0],o={actionName:n,item:this.currentItem,changedFields:null,route:this.route,siteData:this.route.parent.snapshot.data.siteDataStore};n===E.OPERATION_NAMES.changeCulture&&(o.actionName=V.COMMAND_NAMES.changeCulture,o.data={culture:e.context.additionalText}),this.registerSubscription(this.editExtender.handleAction(o,this.notificationService).handled.subscribe((function(o){o||t.onActionButtonClickedFallback(e,n)})))},DynamicItemComponent.prototype.handleSingleSync=function(e){var t=this;this.registerSubscription(this.initSave(e).pipe(Object(r.skipWhile)((function(e){return!e})),Object(r.first)()).subscribe((function(){t.sync(e)})))},DynamicItemComponent.prototype.sync=function(e){var t=this,n=!this.isEditMode,o=this.getUpdatedFields(n),a=0===this.editableFields.getDirtyFields().length,s={fields:o,fallbackPropertyNames:this.fallbackProperties,dataFieldNames:null,itemPosition:this.getItemPosition(),skipUpdate:a},A=new z.SiteSyncCommand(this.dynamicItemStore,this.modalWindowService),l=A.execute({currentRoute:this.route.parent,model:null,data:{entityData:this.entityData,dataItem:this.currentItem,action:e,publishParams:s}}).pipe(Object(r.switchMap)((function(e){if(e){if(e.isPublished)e.notificationData=A.getNotification(t.route);else if(e.error&&!e.hasTemplateErrors)return Object(i.throwError)(e.error);return Object(i.of)(e)}})));this.handleSaveOperation(l,e,n,E.OPERATION_NAMES.publish)},DynamicItemComponent.prototype.handleServerOperation=function(e){var t=this,n=new i.ReplaySubject(1);if(this.serverOperationPending)return n.asObservable();var o,r=!this.isEditMode;return e.sourceOperation.HasLinkResult&&(o=this.window.open(I.stringConstants.EMPTY_STRING,I.NEW_TAB_TARGET)),this.registerSubscription(this.initSave(e).subscribe((function(a){(a||e.sourceOperation.PerformsDelete)&&(t.updateActionButtonsState({name:e.name,state:C.ButtonState.Loading},C.ButtonState.Disabled),t.registerSubscription(t.triggerLock$.subscribe((function(a){t.serverOperationPending=!0;var s=t.getUpdatedFields(r),A=0===t.editableFields.getDirtyFields().length||e.sourceOperation.PerformsDelete,l=t.serverOperationExecutor.execute({actionButton:e,actionButtonStateService:t.buttonStateService,route:t.route,updateItem:{dataItem:t.currentItem,fallbackProperties:t.fallbackProperties,data:s,skipUpdate:A},window:o}),c=e.sourceOperation.PerformsDelete;t.registerSubscription(l.subscribe((function(o){(t.serverOperationPending=!1,o)&&(c&&t.notificationService.publishNotificationFromOperationResult(o,o.dataItem.metadata.typeFullName),t.serverOperationExecutor.shouldStayAfterPublish(e)?n.next(o):t.registerSubscription(Object(i.timer)(2e3).subscribe((function(){t.editMenu.onLeftNavButtonClick()}))))}),(function(e){t.serverOperationPending=!1,n.error(e)}))),c||t.handleSaveOperation(l,e,r)}))))}))),n.asObservable()},DynamicItemComponent.prototype.handleNonExistentItem=function(){e.prototype.handleNonExistentItem.call(this,this.currentItem),this.navigate([p.ROUTE_PATHS.CONTENT,this.typeSetName])},DynamicItemComponent.prototype.navigateToEdit=function(t){return t.wasInCreate||this.clearNotifications(),e.prototype.navigateToEdit.call(this,t)},DynamicItemComponent.prototype.onFieldChange=function(e){this.registerSubscription(this.editExtender.modify({sections:this.fieldSections,dataItem:_.DataItem.fromEntityData(this.editableFields.getFields(!1),this.currentItem),parentId:this.parentId,isInit:!1,viewName:null,setName:Object(H.getSetNameFromRoute)(this.route)}).subscribe())},DynamicItemComponent.prototype.configureNavbar=function(){var e=this;return this.item$.pipe(Object(r.first)(),Object(r.tap)((function(t){var n={leftNavbarButtonData:{disable:e.isActionInProgress.asObservable()},title:e.item$.pipe(Object(r.map)((function(e){return e.title}))),item$:e.item$};e.editExtender.overrideNavigationMenuOptions(t,n),e.navbarConfiguration=n})))},DynamicItemComponent.prototype.updateActionButtonsState=function(e,t){return this.buttonStateService.updateActionButtonsState(e,t)},DynamicItemComponent.prototype.getItemPosition=function(){return this.entityData.metadata.isOrderable?this.isEditMode?M.ItemPosition.Current:M.ItemPosition.Bottom:M.ItemPosition.Top},DynamicItemComponent.prototype.handleButtons=function(){var e=this,t=this.buttonStateService.getState$().subscribe((function(t){e.buttonsState=t;var n=!1;t.primary&&(n=(t.primary.state&C.ButtonState.Loading)===C.ButtonState.Loading||(t.primary.state&C.ButtonState.Checked)===C.ButtonState.Checked),t.stateForOthers&C.ButtonState.Loading&&(n=!0),e.window.setTimeout((function(){e.isActionInProgress.next(n)}))}));this.registerSubscription(t)},DynamicItemComponent.prototype.resetActionButtons=function(){return this.updateActionButtonsState(null,C.ButtonState.Default)},DynamicItemComponent.prototype.handleItemChanges=function(){var e=this,t=this.item.subscribe((function(t){return e.onItemChanged(t)}));this.registerSubscription(t)},DynamicItemComponent.prototype.getOperationsDataContext=function(){return{}},DynamicItemComponent.prototype.handleSaveOperationSuccess=function(e,t,n,o){var r=this;if(void 0===o&&(o=null),!e||!e.operationData)return this.serverOperationPending=!1,void this.resetActionButtons();var a,s=e.dataItem;this.itemMeta&&this.registerSubscription(this.dynamicItemStore.service.executeBoundFunction(s,"Default.itemmeta(state='"+this.itemMeta.state+"')").subscribe((function(e){r.itemMeta=e,r.initFields(s,r.itemMeta,r.formData)}))),this.editableFields.reset(),this.isLocked=!1,n?(this.hasSwitchedToEditMode=!0,a=this.navigateToEdit(new _.NavigateToEditArguments({dataItem:s,parentId:this.parentId,wasInCreate:!0,replaceUrl:!0}))):a=this.hasVersion?this.navigateToEdit(new _.NavigateToEditArguments({dataItem:this.currentItem,parentId:this.parentId,replaceUrl:!0})):Object(i.of)(!0),this.clearNotifications(),e.notificationData&&(e.notificationData.filterParam="dynamic-item"),this.notificationService.publishNotificationFromOperationResult(e,"dynamic-item"),this.registerSubscription(a.subscribe((function(){r.item.next({isLoading:!1,content:s})})))},DynamicItemComponent.prototype.handleKeyboardShortcuts=function(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,k.COMPONENT_NAMES.DYNAMIC_ITEM,!1).subscribe((function(t){if(t)switch(t.type){case te.KeyboardActionType.Delete:case te.KeyboardActionType.Publish:case te.KeyboardActionType.Save:case te.KeyboardActionType.Unpublish:case te.KeyboardActionType.Schedule:case te.KeyboardActionType.Preview:e.triggerKeyboardShortcutAction(t);break;case te.KeyboardActionType.Create:e.triggerKeyboardShortcutNavigateToCreate(t)}}));this.registerSubscription(t)},DynamicItemComponent.prototype.triggerKeyboardShortcutNavigateToCreate=function(e){var t,n;if(this.editExtender.hasCreateActionFromEdit(this.entityData)){e.event.preventDefault(),this.hasSwitchedToEditMode=!1;var i=this.route.snapshot.queryParams[k.FILTER_PARAMS.FILTER];this.navigateToCreate(Object(o.__assign)(((t={})[k.QUERY_PARAMS.CULTURE]=this.currentItem.culture,t[k.QUERY_PARAMS.PROVIDER]=this.entityData.provider,t[k.QUERY_PARAMS.CREATE_DATE]=Date.now(),t),i&&((n={})[k.FILTER_PARAMS.FILTER]=i,n)))}},DynamicItemComponent.prototype.triggerKeyboardShortcutAction=function(e){!this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.editableFields.triggerValidCheck()&&(this.buttonsState&&this.buttonsState.primary&&this.buttonsState.primary.state!==C.ButtonState.Default||this.onActionButtonClicked(e.action)))},DynamicItemComponent.prototype.clearNotifications=function(){this.notificationService.closeMultiple([k.ITEM_EDIT_NOTIFICATION_FILTER_STATIC])},DynamicItemComponent.prototype.onActionButtonClickedFallback=function(e,t){var n,o=this;switch(t){case E.OPERATION_NAMES.changeCulture:if(this.isEditMode){var i=_.DataItem.fromCulture(this.currentItem,e.context.additionalText);this.navigateToEdit(new _.NavigateToEditArguments({dataItem:i,translationCultureSource:this.currentItem.culture}))}else this.navigateToCreate(((n={})[k.QUERY_PARAMS.CULTURE]=e.context.additionalText,n[k.QUERY_PARAMS.PROVIDER]=this.entityData.provider,n));break;case E.OPERATION_NAMES.compareTranslations:this.openCompareTranslations();break;case E.OPERATION_NAMES.duplicate:this.hasSwitchedToEditMode=!1,this.navigateToEdit(new _.NavigateToEditArguments({dataItem:this.currentItem,parentId:this.parentId,commandName:E.OPERATION_NAMES.duplicate}));break;case E.OPERATION_NAMES.unlock:this.registerSubscription(this.dynamicItemStore.unlockItem(this.currentItem).subscribe((function(){o.navigateToEdit(new _.NavigateToEditArguments({dataItem:o.currentItem,parentId:o.parentId,openDialog:!1,reload:!0})).subscribe()})));break;case E.OPERATION_NAMES.siteSync:this.handleSingleSync(e);break;case E.OPERATION_NAMES.mobilePreview:this.handleMobilePreview(e);break;case E.OPERATION_NAMES.insightViewsAndAttribution:this.handleInsightViewsAndAttribution();break;default:this.registerSubscription(this.handleServerOperation(e).subscribe((function(t){if(e.sourceOperation.PerformsDelete)return o.isLocked=!1,o.areEditableFieldsDirty=!1,void o.editMenu.onLeftNavButtonClick()}),(function(e){if(e instanceof a.NotFoundError&&o.handleNonExistentItem(),e instanceof P.LockedItemError){var t=new _.NavigateToEditArguments({dataItem:o.currentItem,parentId:o.parentId,openDialog:!0});o.navigateToEdit(t)}})))}},DynamicItemComponent.prototype.handleMobilePreview=function(e){var t=this;this.handleServerOperation(e).subscribe((function(e){var n,o;(null===(n=e.operationData)||void 0===n?void 0:n.PreviewUrl)&&new ae.MobilePreviewCommand(t.modalWindowService).execute({currentRoute:t.route.parent,model:null,data:{previewUrl:null===(o=e.operationData)||void 0===o?void 0:o.PreviewUrl}})}))},DynamicItemComponent.prototype.triggerLock=function(){var e=this;if(!this.isEditMode||this.isLocked)return Object(i.of)(!0);var t=new i.ReplaySubject(1);return this.registerSubscription(this.dynamicItemStore.saveItem(this.currentItem,{},null,this.fallbackProperties).pipe(Object(r.catchError)((function(n,o){return n instanceof a.NotFoundError&&e.handleNonExistentItem(),n instanceof P.LockedItemError?(e.editableFields.reset(),t.next(!1),t.complete(),Object(i.of)(_.DataItem.fromEntityData(n.data,e.entityData))):o}))).subscribe((function(n){e.isLocked=!0,e.registerSubscription(e.dynamicItemStore.service.executeBoundFunction(n,Object(F.itemMetaSegment)(e.itemMeta.state)).subscribe((function(o){e.itemMeta=o,e.item.next({isLoading:!1,content:n}),e.initFields(e.currentItem,o,e.formData),t.next(!0)})))}))),t.asObservable()},DynamicItemComponent.prototype.handleInsightViewsAndAttribution=function(){new se.SitefinityInsightMenuCommand(this.modalWindowService).execute({currentRoute:this.route.parent,model:null,data:{dataItem:this.currentItem}})},DynamicItemComponent.prototype.initSidebar=function(){var e=this,t={type:A.DynamicSidebarComponent,title:this.entityData.metadata.displayName,updatePropertiesOnChange:!0,properties:{data$:this.dynamicSidebarData$.asObservable(),parentId:this.parentId,selectedItem:this.currentItem,sortParameter:this.route.snapshot.queryParams[k.QUERY_PARAMS.SORT]||this.sortService.getDefaultSort(this.entityData),selectionChanged:function(t){e.navigateToEditSubscription&&e.navigateToEditSubscription.unsubscribe(),e.navigateToEditSubscription=e.navigateToEdit(new _.NavigateToEditArguments({dataItem:t})).subscribe(),e.registerSubscription(e.navigateToEditSubscription)},onClearFilter:function(){e.filterCleared=!0,e.dynamicSidebarData$.next({entityData:e.entityData,filterValue:null})}}},n={type:x.CompareTranslationsComponent,title:K.COMPARE_TRANSLATIONS_TITLE,wide:!0,updatePropertiesOnChange:!0,properties:{itemChanged$:this.item,dataItem:this.currentItem}},o=this.editExtender.getSidebarButtons(this.entityData,{compareTranslations:n,browse:t});this.sidebarData={externalKey:null,buttons:o,entityType:this.entityData.metadata.typeFullName},this.store.dispatch(oe.SIDEBAR_DISPATCH_ACTION.configure({externalKey:null,buttons:o,entityType:this.entityData.metadata.typeFullName}))},DynamicItemComponent.prototype.handleOperationsChange=function(e){var t=this;e.isLoading?e.action?this.updateActionButtonsState({name:e.action,state:C.ButtonState.Loading},C.ButtonState.Disabled):this.setAllActionButtons(C.ButtonState.Loading):this.registerSubscription(this.parentService.getParentItem(this.entityData,this.parentId).subscribe((function(e){var n=t.getOperations(e);t.registerSubscription(n.pipe(Object(r.delay)(0)).subscribe((function(n){if(0===n.length||t.currentItem.isEmpty&&!n.find((function(e){return e.Name===E.OPERATION_NAMES.create||e.ParentOperation.Name===E.OPERATION_NAMES.create})))t.router.navigate([p.ROUTE_PATHS.ACCESS_DENIED]);else{var o=t.operations.getValue();o&&0!==o.length?t.registerSubscription(t.resetActionButtons().subscribe((function(){t.operations.next(n),t.loadMainOperations(e),t.loadCustomOperations(e),t.loadAdditionalActionOperations(e),t.loadPersonalizationOperations(e)}))):(t.operations.next(n),t.loadMainOperations(e),t.loadCustomOperations(e),t.loadAdditionalActionOperations(e),t.loadPersonalizationOperations(e))}})))})))},DynamicItemComponent.prototype.getOperations=function(e){var t=this.getOperationsDataContext();return this.isEditMode?this.operationsProvider.getEditItemOperations(this.currentItem,e,t):this.operationsProvider.getCreateItemOperations(this.entityData,e,t)},DynamicItemComponent.prototype.loadMainOperations=function(e){var t,n=this,o=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemMainOperations(this.currentItem,e,o):this.operationsProvider.getCreateItemMainOperations(this.entityData,e,o),this.registerSubscription(t.subscribe((function(e){n.generalActionOperations.next(e)})))},DynamicItemComponent.prototype.loadCustomOperations=function(e){var t,n=this,o=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemCustomOperations(this.currentItem,e,o):this.operationsProvider.getCreateItemCustomOperations(this.entityData,e,o),this.registerSubscription(t.subscribe((function(e){n.customOperations.next(e)})))},DynamicItemComponent.prototype.loadAdditionalActionOperations=function(e){var t,n=this,o=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemAdditionalOperations(this.currentItem,e,o):this.operationsProvider.getCreateItemAdditionalOperations(this.entityData,e,o),this.registerSubscription(t.subscribe((function(e){n.additionalActionOperations.next(e)})))},DynamicItemComponent.prototype.loadPersonalizationOperations=function(e){var t,n=this,o=this.getOperationsDataContext();t=this.isEditMode?this.operationsProvider.getEditItemPersonalizationOperations(this.currentItem,e,o):this.operationsProvider.getCreateItemPersonalizationOperations(this.entityData,e,o),this.registerSubscription(t.subscribe((function(e){n.personalizationOperations.next(e)})))},DynamicItemComponent.prototype.handleSaveOperation=function(e,t,n,o){var i=this;void 0===o&&(o=null),this.registerSubscription(e.subscribe((function(e){i.handleSaveOperationSuccess(e,t,n,o)}),(function(e){e instanceof c.ValidationError?(i.editableFields.addModelErrors(e),i.editableFields.scrollToFirstErrorField()):e instanceof a.NotFoundError?i.handleNonExistentItem():t.name!==E.OPERATION_NAMES.preview&&i.notificationService.publishBasicNotification({message:e.message,look:"sf-mt--2xl sf-mb-2xl "+R.NOTIFICATION_LOOKS.ERROR,duration:k.NOTIFICATION_DURATION_INFINITE,filterParam:"dynamic-item"}),i.resetActionButtons()})))},DynamicItemComponent.prototype.initSave=function(e){var t=this;e.sourceOperation.PerformsDelete||this.editableFields.enableRequiredErrorCheck();var n=!1;this.editableFields.status.pipe(Object(r.first)()).subscribe((function(o){o===b.StatusType.Pending&&(t.updateActionButtonsState({name:e.name,state:C.ButtonState.Loading},C.ButtonState.Disabled),n=!0)}));var o=new i.ReplaySubject(1),a=!1;return this.registerSubscription(this.editableFields.status.pipe(Object(r.filter)((function(e){return e!==b.StatusType.Pending}))).subscribe((function(e){if(e===b.StatusType.Error&&(a=!0),!a)if(e!==b.StatusType.Done);else{a=!0;var i=t.editableFields.valid();i?o.next(!0):n?t.resetActionButtons():i||o.next(!1)}}))),o.asObservable()},DynamicItemComponent.prototype.getUpdatedFields=function(e){var t=this.editableFields.getFields();return e&&this.entityData.metadata.hasParent&&!this.entityData.metadata.ignoreParentChildRelationship&&(t[v.Properties.PARENT_ID]=this.parentId),t},DynamicItemComponent.prototype.initFields=function(e,t,n){var o=this;if(null===this.fieldSections||t.hasChanges){t.message&&this.notificationService.publishBasicNotification({message:t.message,look:"sf-mt--2xl sf-mb-2xl"});for(var i=[],r=0,a=n;r1&&o.entityData.metadata.isMultilingual&&void 0===t.settings.showForAllTranslationsLabel&&t.selector!==Q.FieldTypes.address&&(t.settings.showForAllTranslationsLabel=!0),t.selector===Q.FieldTypes.parentDropdownSelector&&o.entityData.metadata.ignoreParentChildRelationship){var n=o.route.snapshot.queryParams[k.FILTER_PARAMS.FILTER];if(!(e&&e.data&&e.data.ParentId)&&n&&n.indexOf("Parent,")>-1){var i=n.replace("Parent,","");t.settings.markAsDirty=!0,t.settings.defaultValue=i}}if(t.selector===Q.FieldTypes.shortTextDefault){var r=t.settings,a=o.route.snapshot.queryParams[k.QUERY_PARAMS.CREATE_DATE];r.shouldBeFocusedByDefault=o.isInitialLoad||a}t.settings.entityData=o.entityData,t.settings.dataItem=e}))})),this.editableFields.updateMirroring(c,e),!this.fieldSections||c.length!==this.fieldSections.length||t.readonly?this.fieldSections=c:this.processSectionsAndFieldChanges(c),this.fieldSectionsInternal$.next({content:this.fieldSections,isLoading:!1}),this.isInitialLoad=!1,this.registerSubscription(this.editExtender.modify({sections:this.fieldSections,dataItem:e,parentId:this.parentId,isInit:!1,viewName:null,setName:Object(H.getSetNameFromRoute)(this.route)}).subscribe())}},DynamicItemComponent.prototype.processSectionsAndFieldChanges=function(e){var t=this,n=[];this.areEditableFieldsDirty&&(n=this.editableFields.getDirtyFields());var o={};e.forEach((function(e,i){e.fields.forEach((function(e,r){var a=t.fieldSections[i].fields[r],s=t.editExtender.forceUpdateFieldModel(t.currentItem,e.selector,e.settings.dataItem,a.settings.dataItem);if(!e.settings.equals(a.settings)||s)t.editableFields.updateFieldModel(e);else if(!n.some((function(e){return e===a.key}))&&!t.areFieldValuesTheSame(e.value,a.value)){var A=a;for(var l in o[A.key]=e.value,A)A[l]!==e[l]&&(t.fieldSections[i].fields[r][l]=e[l])}}))})),this.editableFields.updateValues(o)},DynamicItemComponent.prototype.areFieldValuesTheSame=function(e,t){return Array.isArray(e)&&Array.isArray(t)?e.toString()===t.toString():typeof e==typeof{}&&typeof t==typeof{}?JSON.stringify(e)===JSON.stringify(t):e===t},DynamicItemComponent.prototype.onItemChanged=function(e){e&&(e.content&&this.processDisplayableStatuses(e.content),this.handleOperationsChange(e))},DynamicItemComponent.prototype.processDisplayableStatuses=function(e){var t=this;if(e&&e.data&&e.data.DisplayStatus){var n=e.data.DisplayStatus.find((function(e){return e.Message.Description}));if(n){var o=n.Message,r=o.Description;r=r.replace(/\$\{(\w+)\}/g,(function(e,n){var o=t.currentItem.data.DisplayStatus.find((function(e){return e.Name===D.SCHEDULED}))[n];return Date.parse(o)&&(o=t.datePipe.transform(o,w.RelativeDatePipe.FULL_DATE)),o})),this.notificationService.publishNotification({look:"sf-mt--2xl sf-mb-2xl",type:$.ActionNotificationComponent,filterParam:k.ITEM_EDIT_NOTIFICATION_FILTER_STATIC,properties:{title:o.Title,description:r,operations:Object(i.from)([o.Operations||[]])},removePreviousView:!0,updatePropertiesOnChange:!0,afterComponentInit:function(e){t.registerSubscription(e.onActionButtonClicked.subscribe((function(e){t.onActionButtonClicked(e)})))}})}}},DynamicItemComponent.prototype.handleRouteData=function(){var e=this,t=this.route.data.subscribe((function(t){e.handleSnapshotRouteData(t)}));this.registerSubscription(t)},DynamicItemComponent.prototype.handleSnapshotRouteData=function(e){var t=e[de],n=t.item,o=t.item,i=this.getSegment()===k.ROUTE_PARAMS.DUPLICATE_SEGMENT;if(i){n=_.DataItem.emptyItem(t.item);var r=this.editExtender.includedProperties(t.item);o=_.DataItem.duplicate(t.item,r),this.areEditableFieldsDirty=!0}this.editableFields.copyMode=this.hasVersion||i,this.entityData=t.entityData;var a=null;this.filterCleared||(a=this.route.snapshot.queryParams[k.FILTER_PARAMS.FILTER]||null),this.dynamicSidebarData$.next({entityData:this.entityData,filterValue:a}),this.fallbackProperties=t.fallbackProperties,this.formData=e[k.RESOLVE_NAMES.formResolved],this.itemMeta=e[k.RESOLVE_NAMES.itemmeta],this.isLocked=!this.itemMeta.readonly&&n.data&&n.data[v.Properties.LOCKED_STATUS],this.resetActionButtons(),this.fieldSections=null,this.fieldSectionsInternal$.next({content:null,isLoading:!0}),this.editableFields.reset(),this.clearNotifications(),this.initFields(o,this.itemMeta,this.formData),this.item.next({content:n,isLoading:!1}),this.initSidebar(),t.item.isEmpty||t.item.isTranslated||this.openCompareTranslations()},DynamicItemComponent.prototype.getSegment=function(){return 2===this.route.snapshot.url.length?this.route.snapshot.url[1].path:null},DynamicItemComponent.prototype.handleActivityStatus=function(){var e=this,t=this.store.pipe(ie.SIDEBAR_SELECTORS.isOpen),n=this.store.pipe(ie.SIDEBAR_SELECTORS.activeConfig).pipe(Object(r.combineLatest)(t)).subscribe((function(t){var n=t[1],o=t[0],i="sf-main -details";o&&n&&(i+=" -shrink",o.data&&o.data.wide&&(i+=" -narrow")),e.sidebarClasses$.next(i)}));this.registerSubscription(n)},DynamicItemComponent.prototype.setAllActionButtons=function(e){this.updateActionButtonsState(null,e)},DynamicItemComponent.prototype.openCompareTranslations=function(){var e=this.sidebarData.buttons.find((function(e){return e.name===X.COMPARE_TRANSLATIONS_NAME}));e.data.properties.dataItem=this.currentItem,this.store.dispatch(oe.SIDEBAR_DISPATCH_ACTION.changeAndOpen(e,!0))},DynamicItemComponent.prototype.setContentLoaderHeight=function(){this.contentLoaderHeight=this.currentItem&&this.currentItem.data?(Object(U.getCssVariableValueAsNumber)(k.CSS_VARIABLES.EDITOR_COLLAPSE_HEIGHT,"sf-app")||450)+15:(Object(U.getCssVariableValueAsNumber)(k.CSS_VARIABLES.EDITOR_INLINE_HEIGHT_LONG,"sf-app")||300)-15},DynamicItemComponent.prototype.handleFormClasses=function(){this.formClasses=this.editExtender.getFormClasses(this.currentItem)},DynamicItemComponent.prototype.navigateToCreate=function(e){this.navigate([k.ROUTE_PARAMS.CREATE_SEGMENT],{queryParams:e,relativeTo:this.route.parent})},DynamicItemComponent.ɵfac=function DynamicItemComponent_Factory(e){return new(e||DynamicItemComponent)(Ae["ɵɵdirectiveInject"](m.DynamicItemStore),Ae["ɵɵdirectiveInject"](d.ModalWindowService),Ae["ɵɵdirectiveInject"](s.ActivatedRoute),Ae["ɵɵdirectiveInject"](l.FieldsGeneratorService),Ae["ɵɵdirectiveInject"](s.Router),Ae["ɵɵdirectiveInject"](B.CompositeOperationsProvider),Ae["ɵɵdirectiveInject"](Y.CompositeEditExtender),Ae["ɵɵdirectiveInject"](g.WINDOW_TOKEN),Ae["ɵɵdirectiveInject"](y.Location),Ae["ɵɵdirectiveInject"](T.NOTIFICATION_SERVICE),Ae["ɵɵdirectiveInject"](S.Settings),Ae["ɵɵdirectiveInject"](G.ActionButtonsStateService),Ae["ɵɵdirectiveInject"](J.EditNavigationService),Ae["ɵɵdirectiveInject"](W.ActionExecutorService),Ae["ɵɵdirectiveInject"](q.SortService),Ae["ɵɵdirectiveInject"](Z.KeyboardShortcutsService),Ae["ɵɵdirectiveInject"](ee.ParentService),Ae["ɵɵdirectiveInject"](ne.AppStore),Ae["ɵɵdirectiveInject"](re.CompositeItemHooksProvider))},DynamicItemComponent.ɵcmp=Ae["ɵɵdefineComponent"]({type:DynamicItemComponent,selectors:[["ng-component"]],viewQuery:function DynamicItemComponent_Query(e,t){if(1&e&&(Ae["ɵɵviewQuery"](j.EditItemMenuComponent,3),Ae["ɵɵviewQuery"](h.EditableFieldsComponent,3)),2&e){var n=void 0;Ae["ɵɵqueryRefresh"](n=Ae["ɵɵloadQuery"]())&&(t.editMenu=n.first),Ae["ɵɵqueryRefresh"](n=Ae["ɵɵloadQuery"]())&&(t.editableFields=n.first)}},hostBindings:function DynamicItemComponent_HostBindings(e,t){1&e&&Ae["ɵɵlistener"]("beforeunload",(function DynamicItemComponent_beforeunload_HostBindingHandler(e){return t.handler(e)}),!1,Ae["ɵɵresolveWindow"])},features:[Ae["ɵɵProvidersFeature"]([L.MirrorService,G.ActionButtonsStateService,Z.KeyboardShortcutsService,f.ActionButtonsResolver]),Ae["ɵɵInheritDefinitionFeature"]],decls:12,vars:27,consts:[[3,"item$","generalActionOperations","additionalActionOperations","personalizationOperations","navbarConfiguration","buttonsState","entityData","parentId","filterCleared","onActionButtonClick"],[4,"ngIf"],[1,"sf-form","-sf-centered-box",3,"ngClass"],["filter","item-edit"],[3,"allowDialogOpenCallback","fieldSections","moduleName","contentLoaderHeight","fieldChange"],["buttonsLook","large",3,"operations","buttonsState","options","buttonClicked"],[3,"sections"],["class","-sf-overlay",4,"ngIf"],[1,"-sf-overlay"]],template:function DynamicItemComponent_Template(e,t){1&e&&(Ae["ɵɵelementStart"](0,"sf-edit-item-menu",0),Ae["ɵɵlistener"]("onActionButtonClick",(function DynamicItemComponent_Template_sf_edit_item_menu_onActionButtonClick_0_listener(e){return t.onActionButtonClicked(e)})),Ae["ɵɵelementEnd"](),Ae["ɵɵtemplate"](1,DynamicItemComponent_sf_sidebar_host_1_Template,1,0,"sf-sidebar-host",1),Ae["ɵɵelementStart"](2,"div"),Ae["ɵɵpipe"](3,"async"),Ae["ɵɵelementStart"](4,"div",2),Ae["ɵɵelement"](5,"sf-notification-loader",3),Ae["ɵɵelementStart"](6,"sf-editable-fields",4),Ae["ɵɵlistener"]("fieldChange",(function DynamicItemComponent_Template_sf_editable_fields_fieldChange_6_listener(e){return t.onFieldChange(e)})),Ae["ɵɵpipe"](7,"async"),Ae["ɵɵelementEnd"](),Ae["ɵɵelementStart"](8,"sf-action-menu",5),Ae["ɵɵlistener"]("buttonClicked",(function DynamicItemComponent_Template_sf_action_menu_buttonClicked_8_listener(e){return t.onActionButtonClicked(e)})),Ae["ɵɵelementEnd"](),Ae["ɵɵelementEnd"](),Ae["ɵɵelementEnd"](),Ae["ɵɵelement"](9,"sf-content-section-menu",6),Ae["ɵɵtemplate"](10,DynamicItemComponent_div_10_Template,1,0,"div",7),Ae["ɵɵpipe"](11,"async")),2&e&&(Ae["ɵɵproperty"]("item$",t.item$)("generalActionOperations",t.generalActionOperations)("additionalActionOperations",t.additionalActionOperations)("personalizationOperations",t.personalizationOperations)("navbarConfiguration",t.navbarConfiguration)("buttonsState",t.buttonsState)("entityData",t.entityData)("parentId",t.parentId)("filterCleared",t.filterCleared),Ae["ɵɵadvance"](1),Ae["ɵɵproperty"]("ngIf",t.hasSidebar),Ae["ɵɵadvance"](1),Ae["ɵɵattribute"]("class",Ae["ɵɵpipeBind1"](3,21,t.sidebarClasses$)),Ae["ɵɵadvance"](2),Ae["ɵɵproperty"]("ngClass",t.formClasses),Ae["ɵɵadvance"](2),Ae["ɵɵproperty"]("allowDialogOpenCallback",t.allowDialogOpenCallback)("fieldSections",Ae["ɵɵpipeBind1"](7,23,t.fieldSections$))("moduleName",t.typeSetName)("contentLoaderHeight",t.contentLoaderHeight),Ae["ɵɵadvance"](2),Ae["ɵɵproperty"]("operations",t.generalActionOperations)("buttonsState",t.buttonsState)("options",t.bottomActionMenuOptions),Ae["ɵɵadvance"](1),Ae["ɵɵproperty"]("sections",t.fieldSections),Ae["ɵɵadvance"](1),Ae["ɵɵproperty"]("ngIf",Ae["ɵɵpipeBind1"](11,25,t.isActionInProgress)))},encapsulation:2}),DynamicItemComponent}(u.DynamicItemBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicSidebarComponent",(function(){return b}));var o=n(259),i=n(131),r=n(1171),a=(n(317),n(244)),s=n(266),A=n(258),l=n(314),c=n(11),d=n(262),p=n(264),f=n(246),u=n(1063),m=n(1107),g=n(354),E=n(256),h=n(229);function DynamicSidebarComponent_div_0_div_1_Template(e,t){if(1&e){var n=h["ɵɵgetCurrentView"]();h["ɵɵelementStart"](0,"div",10),h["ɵɵelementStart"](1,"sf-search",11),h["ɵɵlistener"]("searchValueChange",(function DynamicSidebarComponent_div_0_div_1_Template_sf_search_searchValueChange_1_listener(e){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"](2).searchValue=e}))("searchValueChange",(function DynamicSidebarComponent_div_0_div_1_Template_sf_search_searchValueChange_1_listener(e){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"](2).onSearch(e)})),h["ɵɵelementEnd"](),h["ɵɵelementEnd"]()}if(2&e){var o=h["ɵɵnextContext"](2);h["ɵɵadvance"](1),h["ɵɵproperty"]("placeholderText",o.placeholderText)("searchValue",o.searchValue)("clearable",!0)}}function DynamicSidebarComponent_div_0_ng_container_2_Template(e,t){if(1&e){var n=h["ɵɵgetCurrentView"]();h["ɵɵelementContainerStart"](0),h["ɵɵelementStart"](1,"div",10),h["ɵɵelementStart"](2,"sf-notification",12),h["ɵɵelementStart"](3,"sf-filter-notification",13),h["ɵɵlistener"]("clearFilter",(function DynamicSidebarComponent_div_0_ng_container_2_Template_sf_filter_notification_clearFilter_3_listener(){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"](2).onClearFilterHandler()})),h["ɵɵelementEnd"](),h["ɵɵelementEnd"](),h["ɵɵelementEnd"](),h["ɵɵelementContainerEnd"]()}if(2&e){var o=h["ɵɵnextContext"]().ngIf,i=h["ɵɵnextContext"]();h["ɵɵadvance"](3),h["ɵɵproperty"]("filterValue",i.filterValue)("entityData",i.entityData)("itemsState",o)}}var _c0=function(e){return{dataItem:e}};function DynamicSidebarComponent_div_0_ng_template_6_Template(e,t){if(1&e&&h["ɵɵelement"](0,"sf-main-field",14),2&e){var n=t.context,o=h["ɵɵnextContext"](2);h["ɵɵproperty"]("breakTitleWords",!1)("hasStatusIcon",o.hasItemStatusIcon)("context",h["ɵɵpureFunction1"](3,_c0,n))}}function DynamicSidebarComponent_div_0_div_7_Template(e,t){if(1&e&&(h["ɵɵelementStart"](0,"div",15),h["ɵɵelement"](1,"sf-icon",16),h["ɵɵelementStart"](2,"p",17),h["ɵɵtext"](3),h["ɵɵpipe"](4,"lowercase"),h["ɵɵelementEnd"](),h["ɵɵelementEnd"]()),2&e){var n=h["ɵɵnextContext"](2);h["ɵɵadvance"](3),h["ɵɵtextInterpolate1"]("No ",h["ɵɵpipeBind1"](4,1,n.entityData.metadata.displayName)," have been created")}}function DynamicSidebarComponent_div_0_div_8_Template(e,t){1&e&&(h["ɵɵelementStart"](0,"div",18),h["ɵɵelement"](1,"sf-no-items-found",19),h["ɵɵelementEnd"]())}function DynamicSidebarComponent_div_0_Template(e,t){if(1&e){var n=h["ɵɵgetCurrentView"]();h["ɵɵelementStart"](0,"div",1),h["ɵɵtemplate"](1,DynamicSidebarComponent_div_0_div_1_Template,2,3,"div",2),h["ɵɵtemplate"](2,DynamicSidebarComponent_div_0_ng_container_2_Template,4,3,"ng-container",3),h["ɵɵelementStart"](3,"div",4),h["ɵɵlistener"]("scrolledToBottom",(function DynamicSidebarComponent_div_0_Template_div_scrolledToBottom_3_listener(){h["ɵɵrestoreView"](n);var e=t.ngIf;return h["ɵɵnextContext"]().loadMore(e.dataItems.length,e.totalCount)})),h["ɵɵelementStart"](4,"div",5),h["ɵɵelementStart"](5,"sf-list",6),h["ɵɵlistener"]("itemSelectionChanged",(function DynamicSidebarComponent_div_0_Template_sf_list_itemSelectionChanged_5_listener(e){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"]().onSelectionChanged(e)})),h["ɵɵtemplate"](6,DynamicSidebarComponent_div_0_ng_template_6_Template,1,5,"ng-template",7),h["ɵɵelementEnd"](),h["ɵɵelementEnd"](),h["ɵɵtemplate"](7,DynamicSidebarComponent_div_0_div_7_Template,5,3,"div",8),h["ɵɵtemplate"](8,DynamicSidebarComponent_div_0_div_8_Template,2,0,"div",9),h["ɵɵelementEnd"](),h["ɵɵelementEnd"]()}if(2&e){var o=t.ngIf,i=h["ɵɵnextContext"]();h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",o.isLoading||o.hasItems||!o.hasItems&&i.areItemsFiltered),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",i.filterValue),h["ɵɵadvance"](3),h["ɵɵproperty"]("shouldHideHeader",!0)("columns",i.columns)("itemsState",o)("selectedItem",i.selectedItem),h["ɵɵadvance"](1),h["ɵɵproperty"]("title",i.defaultFieldName)("name",i.defaultFieldName),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",!o.hasItems&&!i.areItemsFiltered),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",!o.hasItems&&i.areItemsFiltered)}}var b=function(e){function DynamicSidebarComponent(t,n){var o=e.call(this)||this;return o.dynamicItemStore=t,o.window=n,o.searchValue=f.stringConstants.EMPTY_STRING,o.placeholderText="Search"+f.stringConstants.ELLIPSIS,o.isSearched=!1,o.hasItemStatusIcon=!0,o.skip=0,o.filter=null,o.columns=new Array,o.filterValue=null,o.search$=new c.Subject,o}return Object(o.__extends)(DynamicSidebarComponent,e),Object.defineProperty(DynamicSidebarComponent.prototype,"areItemsFiltered",{get:function(){return this.isSearched||this.filterValue},enumerable:!1,configurable:!0}),DynamicSidebarComponent.prototype.ngOnInit=function(){var e=this,t=this.data$.subscribe((function(t){var n=t.entityData;if(n.metadata.typeFullName===E.CONTENT_ITEM_FULL_NAME&&(e.hasItemStatusIcon=!1),e.filterValue!==t.filterValue&&(e.filterValue=t.filterValue||null),!e.entityData||e.entityData.metadata.setName!==n.metadata.setName||e.entityData.provider!==n.provider||e.entityData.culture!==n.culture){e.entityData=n;var o=e.entityData.metadata.displayName;o&&(e.placeholderText="Search"+f.stringConstants.INTERVAL+o.toLowerCase()+f.stringConstants.ELLIPSIS),e.sidebarItemList$=e.dynamicItemStore.getItems(n).pipe(Object(i.map)((function(e){return e})),Object(u.delayEmission)(d.BLUR_EFFECT_TIMEOUT)),e.itemsSubscription&&e.itemsSubscription.unsubscribe(),e.itemsSubscription=e.sidebarItemList$.subscribe((function(t){e.searchInput&&e.areItemsCleared&&(e.searchInput.focus(),e.areItemsCleared=!1)})),e.registerSubscription(e.itemsSubscription),n&&(e.defaultFieldName=n.metadata.defaultFieldName),e.columns=[],e.columns.push({name:e.defaultFieldName,title:e.defaultFieldName,componentData:{type:A.MainFieldComponent},hidden:!1,clickable:!0,css:e.hasItemStatusIcon?f.stringConstants.EMPTY_STRING:"-sf-ml-3xs"}),e.loadItems(e.filterValue,e.searchValue)}})),n=this.search$.pipe(Object(i.debounceTime)(m.SEARCH_DEBOUNCE_TIME)).subscribe((function(t){t&&t!==f.stringConstants.EMPTY_STRING?e.searchInternal(t):e.clearInternal()}));this.registerSubscription(t),this.registerSubscription(n)},DynamicSidebarComponent.prototype.onClearFilterHandler=function(){this.filterValue=null,this.loadItems(),this.onClearFilter&&this.onClearFilter()},DynamicSidebarComponent.prototype.onSelectionChanged=function(e){this.window.scrollTo(0,0),this.selectionChanged(e)},DynamicSidebarComponent.prototype.loadMore=function(e,t){void 0===e&&(e=0),void 0===t&&(t=0),e>=t||this.skip===e||(this.skip=e,this.loadItems(this.filter,this.searchValue,this.skip))},DynamicSidebarComponent.prototype.onSearch=function(e){1!==e.length&&this.search$.next(e)},DynamicSidebarComponent.prototype.onClearSearch=function(){this.search$.next(),this.searchInput.focus()},DynamicSidebarComponent.prototype.loadItems=function(e,t,n,o){void 0===n&&(n=0),void 0===o&&(o=20);var i=this.getSearchQuery(t),r=null;e&&(r=d.ACTIONS.FILTER(e)),this.dynamicItemStore.loadItems({entityData:this.entityData,action:r,query:i,fallbackProperties:[this.entityData.metadata.defaultFieldName],skip:n,take:o,order:this.sortParameter})},DynamicSidebarComponent.prototype.getSearchQuery=function(e){var t;if(e||this.parentId&&this.entityData.metadata.hasParent){if(t=Object(l.createQuery)().where().and(),e){var n=e.trim();t=t.or().startsWith(this.defaultFieldName,n).contains(this.defaultFieldName,""+f.stringConstants.INTERVAL+n).done()}this.parentId&&this.entityData.metadata.hasParent&&(t=t.eq(s.Properties.PARENT_ID,this.parentId)),t=t.done().done()}return t},DynamicSidebarComponent.prototype.searchInternal=function(e){e=e||f.stringConstants.EMPTY_STRING,this.isSearched=!!e,this.filterValue=null,this.onClearFilter&&this.onClearFilter(),this.loadItems(null,e)},DynamicSidebarComponent.prototype.clearInternal=function(){this.isSearched&&(this.isSearched=!1,this.loadItems(),this.areItemsCleared=!0)},DynamicSidebarComponent.ɵfac=function DynamicSidebarComponent_Factory(e){return new(e||DynamicSidebarComponent)(h["ɵɵdirectiveInject"](r.DynamicItemStore),h["ɵɵdirectiveInject"](a.WINDOW_TOKEN))},DynamicSidebarComponent.ɵcmp=h["ɵɵdefineComponent"]({type:DynamicSidebarComponent,selectors:[["ng-component"]],viewQuery:function DynamicSidebarComponent_Query(e,t){if(1&e&&h["ɵɵviewQuery"](g.SfInputComponent,1),2&e){var n;h["ɵɵqueryRefresh"](n=h["ɵɵloadQuery"]())&&(t.searchInput=n.first)}},inputs:{selectionChanged:"selectionChanged",onClearFilter:"onClearFilter",selectedItem:"selectedItem",parentId:"parentId",data$:"data$",sortParameter:"sortParameter"},features:[h["ɵɵInheritDefinitionFeature"]],decls:2,vars:3,consts:[["class","sf-row -column -no-wrap sf-sidebar__inner-scroll",4,"ngIf"],[1,"sf-row","-column","-no-wrap","sf-sidebar__inner-scroll"],["class","sf-sidebar__header",4,"ngIf"],[4,"ngIf"],["sfInfiniteScrollOnElement","",1,"sf-row__col","-sf-overflow-auto",3,"scrolledToBottom"],[1,"sf-sidebar__items-list"],[3,"shouldHideHeader","columns","itemsState","selectedItem","itemSelectionChanged"],["sfColumnTemplate","","class","-title",3,"title","name"],["class","-sf-txt-align-center sf-sidebar__no-items","data-sftest","sidebar-no-items",4,"ngIf"],["class","sf-sidebar__no-items","data-sftest","sidebar-no-results",4,"ngIf"],[1,"sf-sidebar__header"],["data-sftest","searchInput","wrapperLook","fluid sf-txt-align-left no-focus-visible secondary",3,"placeholderText","searchValue","clearable","searchValueChange"],["look","info"],[3,"filterValue","entityData","itemsState","clearFilter"],[3,"breakTitleWords","hasStatusIcon","context"],["data-sftest","sidebar-no-items",1,"-sf-txt-align-center","sf-sidebar__no-items"],["name","file-text-o","look","illustrative"],[1,"-sf-txt-hint","-sf-mt-3xs"],["data-sftest","sidebar-no-results",1,"sf-sidebar__no-items"],["textLook","sf-mt-3xs"]],template:function DynamicSidebarComponent_Template(e,t){1&e&&(h["ɵɵtemplate"](0,DynamicSidebarComponent_div_0_Template,9,10,"div",0),h["ɵɵpipe"](1,"async")),2&e&&h["ɵɵproperty"]("ngIf",h["ɵɵpipeBind1"](1,1,t.sidebarItemList$))},encapsulation:2}),DynamicSidebarComponent}(p.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"COMPARE_LANGUAGES_DOPDOWN_TITLE",(function(){return B})),n.d(t,"CompareTranslationsComponent",(function(){return k}));var o=n(259),i=n(11),r=n(131),a=n(260),s=(n(317),n(1142)),A=n(267),l=n(351),c=n(1523),d=n(1165),p=n(1213),f=n(316),u=n(1525),m=n(264),g=n(262),E=n(1124),h=n(246),b=n(1528),C=n(229);function CompareTranslationsComponent_div_0_sf_editable_fields_2_Template(e,t){if(1&e&&C["ɵɵelement"](0,"sf-editable-fields",5),2&e){var n=C["ɵɵnextContext"]().ngIf;C["ɵɵproperty"]("fieldSections",n.fieldSections)("shouldResetMirroring",!1)}}function CompareTranslationsComponent_div_0_sf_loader_3_Template(e,t){1&e&&C["ɵɵelement"](0,"sf-loader",6),2&e&&C["ɵɵproperty"]("count",2)}function CompareTranslationsComponent_div_0_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementStart"](0,"div",1),C["ɵɵelementStart"](1,"sf-form-field-wrapper",2),C["ɵɵlistener"]("ngModelChange",(function CompareTranslationsComponent_div_0_Template_sf_form_field_wrapper_ngModelChange_1_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().onLanguageSelectionChange(e)}))("ngModelChange",(function CompareTranslationsComponent_div_0_Template_sf_form_field_wrapper_ngModelChange_1_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().currentLanguage=e})),C["ɵɵelementEnd"](),C["ɵɵtemplate"](2,CompareTranslationsComponent_div_0_sf_editable_fields_2_Template,1,2,"sf-editable-fields",3),C["ɵɵtemplate"](3,CompareTranslationsComponent_div_0_sf_loader_3_Template,1,1,"sf-loader",4),C["ɵɵelementEnd"]()}if(2&e){var o=t.ngIf,i=C["ɵɵnextContext"]();C["ɵɵadvance"](1),C["ɵɵproperty"]("fieldModel",i.fieldModel)("ngModel",i.currentLanguage),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",!o.isLoading),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",o.isLoading)}}var B="Translate from",k=function(e){function CompareTranslationsComponent(t,n,o,r){var a=e.call(this)||this;return a.route=t,a.fieldsGeneratorService=n,a.backendTweaksStore=o,a.dynamicItemService=r,a.model$=new i.ReplaySubject,a}return Object(o.__extends)(CompareTranslationsComponent,e),CompareTranslationsComponent.prototype.ngOnInit=function(){var e=this,t=this.route.parent.snapshot.data.siteDataStore,n=t.ContentCultures,o=this.dataItem.culture;this.currentLanguage=this.determineInitialLanguage(t.DefaultContentCulture,o,this.dataItem),this.fieldModel=this.initLanguagesDropdown(n,this.currentLanguage,this.dataItem),this.loadItem(this.currentLanguage);var i=this.itemChanged$.pipe(Object(r.skip)(1)).subscribe((function(){e.loadItem(e.currentLanguage)}));this.registerSubscription(i)},CompareTranslationsComponent.prototype.onLanguageSelectionChange=function(e){this.loadItem(e)},CompareTranslationsComponent.prototype.loadItem=function(e){e&&(this.model$.next({isLoading:!0}),this.handleLoadingItem(e))},CompareTranslationsComponent.prototype.determineInitialLanguage=function(e,t,n){var o=n.data.AvailableLanguages,i=o.some((function(t){return t===e}));return t===e&&o.length>1?o.find((function(t){return t!==e})):i?e:o.length>1?o.find((function(e){return e!==t})):o[0]},CompareTranslationsComponent.prototype.handleLoadingItem=function(e){var t=this,n=this.getItem$(e),o=Object(i.from)(this.backendTweaksStore.initializeForm(this.dataItem.metadata.setName,g.VIEW_NAME.EDIT,this.dataItem.key,this.dataItem.provider,this.dataItem.culture));Object(i.combineLatest)(n,o).subscribe((function(e){var n=e[0],o=t.fieldsGeneratorService.generateFields(n.metadata,t.backendTweaksStore,n.data,!0).map((function(e){return t.configureSection(e,n)}));t.model$.next({isLoading:!1,fieldSections:o})}))},CompareTranslationsComponent.prototype.configureSection=function(e,t){return e.fields.forEach((function(e){var n=e.settings instanceof E.CompositeFieldSettings,o=e.settings instanceof b.FilePreviewEditSettings;if(e.settings.showForAllTranslationsLabel=!n&&!o,e.settings.culture=t.culture,e.settings.entityData=t,e.settings.dataItem=t,e.selector===l.FieldTypes.relatedData){var i=e.settings;i.provider===h.ANY_SITE_SOURCE_PROVIDER&&(i.provider=h.stringConstants.EMPTY_STRING)}})),e.settings.isExpanded=!0,e.settings.hideTitle=!0,e},CompareTranslationsComponent.prototype.getItem$=function(e){return this.dynamicItemService.getItem({entityData:{culture:e,metadata:this.dataItem.metadata,provider:this.dataItem.provider},itemKey:this.dataItem.key,fallbackProperties:this.route.snapshot.data.itemData.fallbackProperties})},CompareTranslationsComponent.prototype.initLanguagesDropdown=function(e,t,n){var o=n.data.AvailableLanguages.map((function(t){var n=e.find((function(e){return e.Name===t}));return{Name:n.DisplayName,Value:n.Name}})),i=s.ChoiceDropdownComponent.createFieldSettings(o,null,u.LANGUAGE_DROPDOWN_NAME,u.DROPDOWN_LOOK),r=new A.FieldModel({key:u.LANGUAGE_DROPDOWN_NAME,settings:i,selector:l.FieldTypes.choiceDropDown,registration:c.CHOICE_DROPDOWN_REGISTRY}),a=e.find((function(e){return e.Name===t})).Name;return r.settings.title=B,r.settings.defaultValue=a,r.settings.translatable=!1,r},CompareTranslationsComponent.ɵfac=function CompareTranslationsComponent_Factory(e){return new(e||CompareTranslationsComponent)(C["ɵɵdirectiveInject"](a.ActivatedRoute),C["ɵɵdirectiveInject"](d.FieldsGeneratorService),C["ɵɵdirectiveInject"](p.BackendTweaksStore),C["ɵɵdirectiveInject"](f.DynamicItemService))},CompareTranslationsComponent.ɵcmp=C["ɵɵdefineComponent"]({type:CompareTranslationsComponent,selectors:[["ng-component"]],inputs:{itemChanged$:"itemChanged$",dataItem:"dataItem"},features:[C["ɵɵInheritDefinitionFeature"]],decls:2,vars:3,consts:[["class","sf-sidebar__section sf-form -auto",4,"ngIf"],[1,"sf-sidebar__section","sf-form","-auto"],["look","small",3,"fieldModel","ngModel","ngModelChange"],[3,"fieldSections","shouldResetMirroring",4,"ngIf"],["look","skeleton content darker",3,"count",4,"ngIf"],[3,"fieldSections","shouldResetMirroring"],["look","skeleton content darker",3,"count"]],template:function CompareTranslationsComponent_Template(e,t){1&e&&(C["ɵɵtemplate"](0,CompareTranslationsComponent_div_0_Template,4,4,"div",0),C["ɵɵpipe"](1,"async")),2&e&&C["ɵɵproperty"]("ngIf",C["ɵɵpipeBind1"](1,1,t.model$))},encapsulation:2}),CompareTranslationsComponent}(m.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"CHOICE_COMPONENTS",(function(){return g})),n.d(t,"CHOICE_REGISTRY",(function(){return E})),n.d(t,"CHOICE_DROPDOWN_REGISTRY",(function(){return h})),n.d(t,"CHOICE_DROPDOWN_LIST_REGISTRY",(function(){return b})),n.d(t,"CHOICE_MULTIPLE_REGISTRY",(function(){return C})),n.d(t,"CHOICE_YES_NO_REGISTRY",(function(){return B})),n.d(t,"CHOICE_LIST_REGISTRY",(function(){return k})),n.d(t,"CHOICE_LIST_MULTIPLE_REGISTRY",(function(){return I})),n.d(t,"CHOICE_CHIP_REGISTRY",(function(){return v}));var o=n(1143),i=n(1144),r=n(1420),a=n(1142),s=n(1141),A=n(1421),l=n(1422),c=n(1423),d=n(1424),p=n(1426),f=n(1524),u=n(1425),m=n(1427),g=[i.ChoiceComponent,r.ChoiceReadOnlyComponent,a.ChoiceDropdownComponent,s.ChoiceDropdownListComponent,A.ChoiceMultipleComponent,l.ChoiceMultipleReadOnlyComponent,c.ChoiceYesNoComponent,d.ChoiceYesNoReadOnlyComponent,p.ChoiceListComponent,u.ChoiceListMultipleComponent,m.ChoiceChipComponent],E={writeComponent:i.ChoiceComponent,readComponent:r.ChoiceReadOnlyComponent,settingsType:o.ChoiceSettings},h={writeComponent:a.ChoiceDropdownComponent,readComponent:r.ChoiceReadOnlyComponent,settingsType:o.ChoiceSettings},b={writeComponent:s.ChoiceDropdownListComponent,settingsType:o.ChoiceSettings},C={writeComponent:A.ChoiceMultipleComponent,readComponent:l.ChoiceMultipleReadOnlyComponent,settingsType:o.ChoiceSettings},B={writeComponent:c.ChoiceYesNoComponent,readComponent:d.ChoiceYesNoReadOnlyComponent,settingsType:o.ChoiceSettings},k={writeComponent:p.ChoiceListComponent,settingsType:f.ChoiceListSettings},I={writeComponent:u.ChoiceListMultipleComponent,settingsType:f.ChoiceListSettings},v={writeComponent:m.ChoiceChipComponent,settingsType:o.ChoiceSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceListSettings",(function(){return i}));var o=n(259),i=function(e){function ChoiceListSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ChoiceListSettings,e),ChoiceListSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.dataItem=t.dataItem,this.translatable=!1,this.arguments=t.arguments},ChoiceListSettings}(n(332).SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"SORT_DROPDOWN_NAME",(function(){return k})),n.d(t,"DROPDOWN_LOOK",(function(){return I})),n.d(t,"LANGUAGE_DROPDOWN_NAME",(function(){return v})),n.d(t,"LANGUAGES_DOPDOWN_TITLE",(function(){return w})),n.d(t,"CUSTOM_SORTING_OPTION_NAME",(function(){return _})),n.d(t,"ListItemFilterSidebarComponent",(function(){return x}));var o=n(259),i=n(131),r=n(260),a=n(1142),s=(n(1122),n(351)),A=n(267),l=n(1389),c=n(1523),d=n(262),p=n(271),f=(n(11),n(264)),u=n(1526),m=n(1527),g=n(1387),E=n(295),h=n(298),b=n(229),C=["sortDropdown"],B=["languagesDropdown"];function ListItemFilterSidebarComponent_div_0_sf_form_field_wrapper_1_Template(e,t){if(1&e&&b["ɵɵelement"](0,"sf-form-field-wrapper",6,7),2&e){var n=b["ɵɵnextContext"](2);b["ɵɵproperty"]("fieldModel",n.dropdownFieldModels.get("languageDropdown"))}}function ListItemFilterSidebarComponent_div_0_sf_form_field_wrapper_2_Template(e,t){if(1&e&&b["ɵɵelement"](0,"sf-form-field-wrapper",8,9),2&e){var n=b["ɵɵnextContext"](2);b["ɵɵproperty"]("fieldModel",n.dropdownFieldModels.get("sortDropdown"))}}function ListItemFilterSidebarComponent_div_0_sf_content_filter_3_Template(e,t){if(1&e){var n=b["ɵɵgetCurrentView"]();b["ɵɵelementStart"](0,"sf-content-filter",10),b["ɵɵlistener"]("filterSelect",(function ListItemFilterSidebarComponent_div_0_sf_content_filter_3_Template_sf_content_filter_filterSelect_0_listener(e){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"](2).onFilterSelectHandler(e)})),b["ɵɵpipe"](1,"async"),b["ɵɵelementEnd"]()}if(2&e){var o=b["ɵɵnextContext"](2);b["ɵɵproperty"]("disableLoader",!(!o.disabledFilterLoaders||!o.disabledFilterLoaders.disableContentFilterLoaders))("filterValue",b["ɵɵpipeBind1"](1,5,o.filterValue))("entityData",o.entityData)("displayName",o.displayName)("loadFiltersCount",o.loadFiltersCount)}}function ListItemFilterSidebarComponent_div_0_a_4_Template(e,t){if(1&e){var n=b["ɵɵgetCurrentView"]();b["ɵɵelementStart"](0,"a",11),b["ɵɵlistener"]("click",(function ListItemFilterSidebarComponent_div_0_a_4_Template_a_click_0_listener(){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"](2).openCustomFilter()}))("keyup.enter",(function ListItemFilterSidebarComponent_div_0_a_4_Template_a_keyup_enter_0_listener(){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"](2).openCustomFilter()})),b["ɵɵelement"](1,"sf-icon",12),b["ɵɵtext"](2," Custom filter "),b["ɵɵelementEnd"]()}}function ListItemFilterSidebarComponent_div_0_Template(e,t){if(1&e&&(b["ɵɵelementStart"](0,"div",1),b["ɵɵtemplate"](1,ListItemFilterSidebarComponent_div_0_sf_form_field_wrapper_1_Template,2,1,"sf-form-field-wrapper",2),b["ɵɵtemplate"](2,ListItemFilterSidebarComponent_div_0_sf_form_field_wrapper_2_Template,2,1,"sf-form-field-wrapper",3),b["ɵɵtemplate"](3,ListItemFilterSidebarComponent_div_0_sf_content_filter_3_Template,2,7,"sf-content-filter",4),b["ɵɵtemplate"](4,ListItemFilterSidebarComponent_div_0_a_4_Template,3,0,"a",5),b["ɵɵelementEnd"]()),2&e){var n=b["ɵɵnextContext"]();b["ɵɵadvance"](1),b["ɵɵproperty"]("ngIf",n.dropdownFieldModels.has("languageDropdown")),b["ɵɵadvance"](1),b["ɵɵproperty"]("ngIf",n.showSorters&&n.dropdownFieldModels.get("sortDropdown")),b["ɵɵadvance"](1),b["ɵɵproperty"]("ngIf",n.showFilters),b["ɵɵadvance"](1),b["ɵɵproperty"]("ngIf",n.showFilters&&n.isCustomFilterEnabled)}}var k="sortDropdown",I="small",v="languageDropdown",w="Languages",_="Custom sorting",x=function(e){function ListItemFilterSidebarComponent(t,n,o,i,r,a){var s=e.call(this)||this;return s.route=t,s.router=n,s.settings=o,s.sortersStore=i,s.gridExtender=r,s.store=a,s.allowOrderingByTitle=!0,s.showSorters=!0,s.dropdownFieldModels=new Map,s.isCustomFilterEnabled=!0,s}return Object(o.__extends)(ListItemFilterSidebarComponent,e),Object.defineProperty(ListItemFilterSidebarComponent.prototype,"sortDropdownWrapper",{set:function(e){this.setSortDropdownWrapper(e)},enumerable:!1,configurable:!0}),Object.defineProperty(ListItemFilterSidebarComponent.prototype,"languagesDropdownWrapper",{set:function(e){this.setLanguagesDropdownWrapper(e)},enumerable:!1,configurable:!0}),ListItemFilterSidebarComponent.prototype.ngOnInit=function(){var e=this;this.entityData$.pipe(Object(i.first)()).subscribe((function(t){e.entityData=t,e.initializeLanguagesDropdown(),e.initializeSortDropdown(),e.entityData&&e.entityData.metadata&&e.entityData.metadata.hasCustomFilterEnabledProperty&&(e.isCustomFilterEnabled=e.entityData.metadata.isCustomFilterEnabled),e.isCustomFilterEnabled&&e.initSidebar()}));var t=this.entityData$.pipe(Object(i.skip)(1)).subscribe((function(t){var n=e.entityData.culture!==t.culture;(e.entityData.provider!==t.provider||n)&&(e.entityData=t,e.languagesDropdownWrapperRef&&n&&e.languagesDropdownWrapperRef.getValue()!==e.entityData.culture&&e.languagesDropdownWrapperRef.writeValue(e.entityData.culture))}));this.registerSubscription(t)},ListItemFilterSidebarComponent.prototype.onFilterSelectHandler=function(e){this.onFilterSelect&&this.onFilterSelect(e)},ListItemFilterSidebarComponent.prototype.initSidebar=function(){var e={type:u.CustomFilterSidebarComponent,title:"All filters",hasBackNavigation:!0,properties:{entityData$:this.entityData$,onFilterSelect:this.onFilterSelect},updatePropertiesOnChange:!0};this.customFilterSidebar={title:"All filters",data:e,name:"custom-filter",icon:"filter"}},ListItemFilterSidebarComponent.prototype.openCustomFilter=function(){this.store.dispatch(h.SIDEBAR_DISPATCH_ACTION.change(this.customFilterSidebar))},ListItemFilterSidebarComponent.prototype.setSortDropdownWrapper=function(e){var t=this;e&&e.registerOnChange((function(e){if(t.dropdownFieldModels.get(k).value!==e){t.dropdownFieldModels.get(k).value=e;var n=Object.assign({},t.route.snapshot.queryParams);e?n[d.QUERY_PARAMS.SORT]=e:(delete n[d.FILTER_PARAMS.SORT],delete n[d.FILTER_PARAMS.SEARCH],delete n[d.FILTER_PARAMS.FILTER]),t.router.navigate([],{queryParams:n})}}))},ListItemFilterSidebarComponent.prototype.setLanguagesDropdownWrapper=function(e){var t=this;e&&(e.registerOnChange((function(e){var n;t.router.navigate([],{queryParams:(n={},n[d.QUERY_PARAMS.CULTURE]=e,n),queryParamsHandling:"merge"})})),this.languagesDropdownWrapperRef=e)},ListItemFilterSidebarComponent.prototype.getSelectedOptionFromQueryString=function(e,t){return this.route.queryParams.pipe(Object(i.map)((function(e){return e[t]})))},ListItemFilterSidebarComponent.prototype.initializeLanguagesDropdown=function(){var e=this.route.parent.snapshot.data.siteDataStore,t=e.ContentCultures;if(!(t.length<2)&&this.entityData.metadata.isMultilingual){var n=t.map((function(e){return{Name:e.DisplayName,Value:e.Name}})),o=a.ChoiceDropdownComponent.createFieldSettings(n,null,v,I),i=new A.FieldModel({key:v,settings:o,selector:s.FieldTypes.choiceDropDown,registration:c.CHOICE_DROPDOWN_REGISTRY}),r=this.settings.getSiteCulture(e.Id)||e.DefaultContentCulture;i.settings.title=w,i.value=r,this.dropdownFieldModels.set(v,i)}},ListItemFilterSidebarComponent.prototype.initializeSortDropdown=function(){var e=this;this.sortersStore.getSorters(this.entityData).subscribe((function(t){var n=t.sorters.map((function(e){return{Name:e.Name,Value:e.Value}})),o=n.length>0?n[0].Value:null,i=a.ChoiceDropdownComponent.createFieldSettings(n,o,k,I,_),r=new A.FieldModel({key:k,settings:i,selector:s.FieldTypes.choiceDropDown,registration:c.CHOICE_DROPDOWN_REGISTRY}),d=e.displayName?e.displayName:e.entityData.metadata.displayName;r.settings.title=e.gridExtender.getSortDropdownTitle(e.entityData,d),e.dropdownFieldModels.set(k,r);var p=e.getSelectedOptionFromQueryString(i.choices,l.SORT_KEY).subscribe((function(t){var n=e.dropdownFieldModels.get(k);if(n.value!==t){var i=new A.FieldModel({key:n.key,settings:n.settings,selector:n.selector,registration:n.registration,value:t||o});e.dropdownFieldModels.set(k,i)}}));e.registerSubscription(p)}))},ListItemFilterSidebarComponent.ɵfac=function ListItemFilterSidebarComponent_Factory(e){return new(e||ListItemFilterSidebarComponent)(b["ɵɵdirectiveInject"](r.ActivatedRoute),b["ɵɵdirectiveInject"](r.Router),b["ɵɵdirectiveInject"](p.Settings),b["ɵɵdirectiveInject"](m.SortersStore),b["ɵɵdirectiveInject"](g.CompositeGridExtender),b["ɵɵdirectiveInject"](E.AppStore))},ListItemFilterSidebarComponent.ɵcmp=b["ɵɵdefineComponent"]({type:ListItemFilterSidebarComponent,selectors:[["sf-list-item-filter-sidebar"]],viewQuery:function ListItemFilterSidebarComponent_Query(e,t){if(1&e&&(b["ɵɵviewQuery"](C,1),b["ɵɵviewQuery"](B,1)),2&e){var n=void 0;b["ɵɵqueryRefresh"](n=b["ɵɵloadQuery"]())&&(t.sortDropdownWrapper=n.first),b["ɵɵqueryRefresh"](n=b["ɵɵloadQuery"]())&&(t.languagesDropdownWrapper=n.first)}},inputs:{entityData$:"entityData$",filterValue:"filterValue",displayName:"displayName",allowOrderingByTitle:"allowOrderingByTitle",disabledFilterLoaders:"disabledFilterLoaders",showFilters:"showFilters",showSorters:"showSorters",onFilterSelect:"onFilterSelect",loadFiltersCount:"loadFiltersCount"},features:[b["ɵɵInheritDefinitionFeature"]],decls:2,vars:3,consts:[["class","sf-sidebar__section sf-form -auto",4,"ngIf"],[1,"sf-sidebar__section","sf-form","-auto"],["look","small",3,"fieldModel",4,"ngIf"],[3,"fieldModel",4,"ngIf"],[3,"disableLoader","filterValue","entityData","displayName","loadFiltersCount","filterSelect",4,"ngIf"],["tabindex","0","data-sftest","custom-filter-link",3,"click","keyup.enter",4,"ngIf"],["look","small",3,"fieldModel"],["languagesDropdown",""],[3,"fieldModel"],["sortDropdown",""],[3,"disableLoader","filterValue","entityData","displayName","loadFiltersCount","filterSelect"],["tabindex","0","data-sftest","custom-filter-link",3,"click","keyup.enter"],["name","plus-circle","look","size-xs color-inherit"]],template:function ListItemFilterSidebarComponent_Template(e,t){1&e&&(b["ɵɵtemplate"](0,ListItemFilterSidebarComponent_div_0_Template,5,4,"div",0),b["ɵɵpipe"](1,"async")),2&e&&b["ɵɵproperty"]("ngIf",b["ɵɵpipeBind1"](1,1,t.entityData$))},encapsulation:2}),ListItemFilterSidebarComponent}(f.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"CustomFilterSidebarComponent",(function(){return d}));var o=n(259),i=n(11),r=n(264),a=n(260),s=n(262),A=n(1193),l=n(268),c=n(229);function CustomFilterSidebarComponent_ng_container_4_sf_custom_filter_1_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"sf-custom-filter",6),c["ɵɵlistener"]("valuesLoaded",(function CustomFilterSidebarComponent_ng_container_4_sf_custom_filter_1_Template_sf_custom_filter_valuesLoaded_0_listener(e){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onFilterReady(e)}))("filterValueSelected",(function CustomFilterSidebarComponent_ng_container_4_sf_custom_filter_1_Template_sf_custom_filter_filterValueSelected_0_listener(e){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onFilter(e)})),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"]().$implicit,i=c["ɵɵnextContext"]();c["ɵɵproperty"]("properties",o)("filterParams",i.currentFilters[o.filterName])}}function CustomFilterSidebarComponent_ng_container_4_sf_filter_date_range_2_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"sf-filter-date-range",6),c["ɵɵlistener"]("valuesLoaded",(function CustomFilterSidebarComponent_ng_container_4_sf_filter_date_range_2_Template_sf_filter_date_range_valuesLoaded_0_listener(e){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onFilterReady(e)}))("filterValueSelected",(function CustomFilterSidebarComponent_ng_container_4_sf_filter_date_range_2_Template_sf_filter_date_range_filterValueSelected_0_listener(e){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onFilter(e)})),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"]().$implicit,i=c["ɵɵnextContext"]();c["ɵɵproperty"]("properties",o)("filterParams",i.currentFilters[o.filterName])}}function CustomFilterSidebarComponent_ng_container_4_Template(e,t){if(1&e&&(c["ɵɵelementContainerStart"](0),c["ɵɵtemplate"](1,CustomFilterSidebarComponent_ng_container_4_sf_custom_filter_1_Template,1,2,"sf-custom-filter",5),c["ɵɵtemplate"](2,CustomFilterSidebarComponent_ng_container_4_sf_filter_date_range_2_Template,1,2,"sf-filter-date-range",5),c["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=c["ɵɵnextContext"]();c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",n.parameters.type!==o.dateRangeType),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",n.parameters.type===o.dateRangeType)}}var d=function(e){function CustomFilterSidebarComponent(t,n,o){var r=e.call(this)||this;return r.filterStore=t,r.filterService=n,r.route=o,r.dateRangeType="date-range",r.isLoading=!0,r.filterProperties$=new i.ReplaySubject(1),r.currentFilters={},r.readyFilters={},r.readyFilters$=new i.ReplaySubject(1),r}return Object(o.__extends)(CustomFilterSidebarComponent,e),CustomFilterSidebarComponent.prototype.ngOnInit=function(){var e=this,t=this.entityData$.subscribe((function(t){(!e.entityData||e.entityData.provider!==t.provider||e.entityData.culture!==t.culture)&&(e.isLoading=!0,e.entityData=t,e.parseQueryParameters(),e.loadFilters())}));this.registerSubscription(t)},CustomFilterSidebarComponent.prototype.onFilter=function(e){e.name&&(this.currentFilters[e.name]=e.keys,this.currentQueryString=this.filterService.serializeQueryParams(this.currentFilters),this.onFilterSelect&&this.onFilterSelect(this.currentQueryString))},CustomFilterSidebarComponent.prototype.onFilterReady=function(e){this.readyFilters[e]=!0,Object.keys(this.readyFilters).length===Object.keys(this.currentFilters).length&&this.readyFilters$.next(!0)},CustomFilterSidebarComponent.prototype.loadFilters=function(){var e=this;this.filtersSubscription&&this.filtersSubscription.unsubscribe(),this.filtersSubscription=this.filterStore.getCustomFilters(this.entityData).subscribe((function(t){var n=null;!t.isLoading&&t.filters&&(n=t.filters.map((function(t){return{filterName:t.name,filterTitle:t.title,entityData:e.entityData,parameters:t.parameters}}))),e.filterProperties$.next(n)})),this.registerSubscription(this.filtersSubscription)},CustomFilterSidebarComponent.prototype.parseQueryParameters=function(){var e=this;this.paramsSubsription&&this.paramsSubsription.unsubscribe(),this.paramsSubsription=this.route.queryParams.subscribe((function(t){var n=t[s.FILTER_PARAMS.FILTER];if(!e.currentQueryString||!n||n!==e.currentQueryString){if(e.currentQueryString=n,e.currentFilters={},e.readyFilters={},n)e.isLoading=!0,e.filterService.deserializeQueryParams(n).forEach((function(t){t.value&&t.value.length&&(e.currentFilters[t.key]=t.value)}));e.initLoadingSubscription(),0===Object.keys(e.currentFilters).length&&e.readyFilters$.next(!0)}})),this.registerSubscription(this.paramsSubsription)},CustomFilterSidebarComponent.prototype.initLoadingSubscription=function(){var e=this;this.loadingSubscription&&this.loadingSubscription.unsubscribe(),this.readyFilters$.next(!1),this.loadingSubscription=Object(i.combineLatest)(this.readyFilters$,this.filterProperties$,Object(i.timer)(s.LOADING_TIME)).subscribe((function(t){t[0]&&t[1]&&(e.isLoading=!1)})),this.registerSubscription(this.loadingSubscription)},CustomFilterSidebarComponent.ɵfac=function CustomFilterSidebarComponent_Factory(e){return new(e||CustomFilterSidebarComponent)(c["ɵɵdirectiveInject"](A.FilterStore),c["ɵɵdirectiveInject"](l.ContentFilterService),c["ɵɵdirectiveInject"](a.ActivatedRoute))},CustomFilterSidebarComponent.ɵcmp=c["ɵɵdefineComponent"]({type:CustomFilterSidebarComponent,selectors:[["ng-component"]],inputs:{entityData$:"entityData$",onFilterSelect:"onFilterSelect"},features:[c["ɵɵInheritDefinitionFeature"]],decls:8,vars:5,consts:[[1,"sf-sidebar__section"],[1,"-sf-mt-xs",3,"hidden"],[4,"ngFor","ngForOf"],[1,"-sf-mt-4xs"],["look","skeleton side-content darker",3,"hidden"],[3,"properties","filterParams","valuesLoaded","filterValueSelected",4,"ngIf"],[3,"properties","filterParams","valuesLoaded","filterValueSelected"]],template:function CustomFilterSidebarComponent_Template(e,t){1&e&&(c["ɵɵelementStart"](0,"div",0),c["ɵɵelementStart"](1,"h4"),c["ɵɵtext"](2,"Custom filter"),c["ɵɵelementEnd"](),c["ɵɵelementStart"](3,"div",1),c["ɵɵtemplate"](4,CustomFilterSidebarComponent_ng_container_4_Template,3,2,"ng-container",2),c["ɵɵpipe"](5,"async"),c["ɵɵelement"](6,"hr",3),c["ɵɵelementEnd"](),c["ɵɵelement"](7,"sf-loader",4),c["ɵɵelementEnd"]()),2&e&&(c["ɵɵadvance"](3),c["ɵɵproperty"]("hidden",t.isLoading),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngForOf",c["ɵɵpipeBind1"](5,3,t.filterProperties$)),c["ɵɵadvance"](3),c["ɵɵproperty"]("hidden",!t.isLoading))},encapsulation:2}),CustomFilterSidebarComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"SortersStore",(function(){return a}));var o=n(11),i=n(316),r=n(229),a=function(){function SortersStore(e){this.sitefinitySdk=e,this.cache=new Map}return SortersStore.prototype.getSorters=function(e){var t=e.metadata.setName;if(!this.cache.has(t)){var n=new o.ReplaySubject(1);return this.cache.set(t,n.asObservable()),this.sitefinitySdk.executeUnboundFunction(e.metadata.setName+"/Default.Sorters()").subscribe((function(e){var t={isLoading:!1,sorters:e.value};n.next(t)})),n}return this.cache.get(t)},SortersStore.ɵfac=function SortersStore_Factory(e){return new(e||SortersStore)(r["ɵɵinject"](i.DynamicItemService))},SortersStore.ɵprov=r["ɵɵdefineInjectable"]({token:SortersStore,factory:SortersStore.ɵfac}),SortersStore}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FilePreviewEditSettings",(function(){return i}));var o=n(259),i=function(e){function FilePreviewEditSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(FilePreviewEditSettings,e),FilePreviewEditSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.showForAllTranslationsLabel=!1},FilePreviewEditSettings}(n(332).SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"SiteSyncCommand",(function(){return E}));var o=n(1118),i=n(11),r=n(319),a=n(320),s=n(1202),A=n(1171),l=n(1167),c=n(131),d=n(1178),p=n(262),f=n(1530),u=n(246),m=n(326),g=n(229),E=function(){function SiteSyncCommand(e,t){this.dynamicItemStore=e,this.modalWindowService=t,this.hasTemplateError=!1,this.isPublished=!1,this.isBulkOperation=!1,this.executeOnceInBulk=!0}return SiteSyncCommand.prototype.execute=function(e){var t=e.data;this.currentRoute=e.currentRoute;var n=new i.Subject,o=e.data.action;this.publishParams=t.publishParams;var a=!(!this.publishParams||!this.publishParams.fields)&&this.publishParams.fields[e.data.entityData.metadata.defaultFieldName];this.isBulkOperation=t.bulk,a&&(o.contextParameters[r.CONTEXT_PARAMETERS.currentTitle]=a);var s=this.generateConfirmationSettings(o,t,n);return this.modalWindowService.openModalConfirmation(this.currentRoute,s,t.dataItem),n.asObservable()},SiteSyncCommand.prototype.getNotification=function(e){var t={look:d.NOTIFICATION_LOOKS.SUCCESS,type:f.SiteSyncNotificationComponent,closeButton:!0,duration:null,updatePropertiesOnChange:!0,id:"syncNotification"};if(this.syncSummary){var n=0!==this.syncSummary.failedItems&&this.syncSummary.totalItems>this.syncSummary.failedItems,o=!!this.syncSummary.generalErrors||this.syncSummary.totalItems>0&&this.syncSummary.failedItems===this.syncSummary.totalItems,i=!o&&0===this.syncSummary.failedItems;return t.properties={totalItemsCount:this.syncSummary.totalItems,failedItemsCount:this.syncSummary.failedItems,serverUrl:this.syncSummary.serverUrl,summaryId:this.syncSummary.id,isPublished:this.isPublished,isBulkOperation:this.isBulkOperation,generalErrors:this.syncSummary.generalErrors,route:null!=e?e:this.currentRoute},i?(t.look=d.NOTIFICATION_LOOKS.SUCCESS,t.duration=p.NOTIFICATION_DURATION_DEFAULT,t.properties.status=f.OperationStatus.Succeeded):o?(t.look=d.NOTIFICATION_LOOKS.ERROR,t.properties.status=f.OperationStatus.Failed):n&&(t.look=d.NOTIFICATION_LOOKS.WARNING,t.properties.status=f.OperationStatus.PartiallySucceeded),t}return this.hasTemplateError?null:(t.look=d.NOTIFICATION_LOOKS.ERROR,t.properties={status:f.OperationStatus.Failed},t)},SiteSyncCommand.prototype.generateConfirmationSettings=function(e,t,n){var i,A,l=this,c=e.title,d=null===(A=null===(i=e.sourceOperation)||void 0===i?void 0:i.Actions)||void 0===A?void 0:A.find((function(e){return e.Name===r.OPERATION_NAMES.siteSync}));d&&(c=d.Title);var p=t.bulk?new o.ConfirmButton(e.title,(function(e){return l.executeBulkSync(t,e)})):new o.ConfirmButton(c,(function(e){return l.executeSync(e)}));return{title:e.title,detailedTitle:e.detailedTitle,icon:a.ActionIcon[e.name],parameters:e.parameters,contextParameters:e.contextParameters,description:e.description,formValidators:s.OPERATION_VALIDATOR_MAP[e.name],action:e.name,descriptionAllowHtml:!0,buttons:new Array(p,new o.CancelButton),disableUserInteractionOnLoading:!0,innerFormLook:"sf-pb-zero sf-pt-zero",doneCallback:function(e){if(e.data&&e.data.data){if(l.commandResult&&l.commandResult.error){var t=l.commandResult.error;if(l.hasTemplateError=l.isTemplateSyncError(t),l.hasTemplateError){l.commandResult.hasTemplateErrors=l.hasTemplateError;var o=l.generateTemplateErrorSettings(t.result.Title,t.result.Message);l.modalWindowService.openModalConfirmation(l.currentRoute,o,e.component.dataItem)}}n.next(l.commandResult)}else n.next({isPublished:!1,dataItem:null,operationMessage:null,success:!1})}}},SiteSyncCommand.prototype.executeSync=function(e){var t,n,a=this,s=new i.ReplaySubject(1);if(e&&e.component&&e.component.dataItem){s.next(new o.ClickResult(!0,!1));var A=null===(t=e.component.editableFields)||void 0===t?void 0:t.wrapperComponents[0].currentInstance,d=null===(n=e.component.editableFields)||void 0===n?void 0:n.getFields(!1);d&&(d.SiteSync=null!=A?A.targetSiteId:null);var p=new l.Action(r.OPERATION_NAMES.siteSync,{action:r.OPERATION_NAMES.siteSync,actionParameters:d}),f=!1;if(e.component.contextParameters){var u=e.component.contextParameters.find((function(e){return"ShouldPublish"===e.Name}));u&&(f="True"===u.Value)}var m=e.component.dataItem;this.isPublished=!1;var g=void 0;if(f){var E=new l.Action(r.OPERATION_NAMES.publish,{action:r.OPERATION_NAMES.publish});g=this.dynamicItemStore.saveItemWithOperationResult(e.component.dataItem,this.publishParams.fields,E,this.publishParams.fallbackPropertyNames,this.publishParams.dataFieldNames,this.publishParams.itemPosition,this.publishParams.skipUpdate||!1).pipe(Object(c.switchMap)((function(e){return m=e.dataItem,a.isPublished=!0,a.dynamicItemStore.saveItemWithOperationResult(e.dataItem,null,p)})))}else g=this.dynamicItemStore.saveItemWithOperationResult(e.component.dataItem,null,p);var h={};g.subscribe((function(e){h=e.operationData;var t=e.operationData.TaskId,n=e.operationData.SummaryId||null;a.waitForSyncTask(t).pipe(Object(c.first)(),Object(c.concatMap)((function(){return a.dynamicItemStore.service.executeUnboundFunction("getSyncSummary(summaryId="+n+")")}))).subscribe((function(e){a.syncSummary={generalErrors:e.GeneralErrors,failedItems:e.FailedItems,totalItems:e.TotalItems,serverUrl:e.ServerUrl,id:n},a.commandResult={isPublished:!0,dataItem:m,operationMessage:null,operationData:h},s.next(new o.ClickResult(!0,!0,!1,!1))}))}),(function(e){a.commandResult={isPublished:a.isPublished,error:e,dataItem:m,operationMessage:null,operationData:h},s.next(new o.ClickResult(!0,!0,!1,!1))}))}return s},SiteSyncCommand.prototype.executeBulkSync=function(e,t){var n,a=this,s=new i.ReplaySubject(1);if(t&&t.component){s.next(new o.ClickResult(!0,!1));var A=""+r.OPERATION_CATEGORIES.default+u.stringConstants.DOT+"BulkSync",l=null===(n=t.component.editableFields)||void 0===n?void 0:n.wrapperComponents[0].currentInstance,d=!1;m.MediaHelpers.isMediaEntity(e.entityData)&&e.selectedItems.forEach((function(e){m.MediaHelpers.isFolderItem(e.data)&&(d=!0)}));var p={selectedItemsIds:e.selectedItems.map((function(e){return e.data.Id})),targetSiteId:null!=l?l.targetSiteId:null,containsFoldersItems:d,allItemsSelected:e.allItemsSelected},f=this.dynamicItemStore.executeEntityOperation(e.entityData,A,p),g={};f.subscribe((function(e){if(g=e,e.ItemsForSync&&e.Success){var t=e.TaskId,n=e.SummaryId||null;a.waitForSyncTask(t).pipe(Object(c.first)(),Object(c.concatMap)((function(){return a.dynamicItemStore.service.executeUnboundFunction("getSyncSummary(summaryId="+n+")")}))).subscribe((function(e){a.syncSummary={generalErrors:e.GeneralErrors,failedItems:e.FailedItems,totalItems:e.TotalItems,serverUrl:e.ServerUrl,id:n},a.commandResult={isPublished:!1,dataItem:null,operationMessage:null,operationData:g,success:!0},s.next(new o.ClickResult(!0,!0,!1,!1))}))}else if(e.Success)a.syncSummary={generalErrors:null,failedItems:0,totalItems:0,serverUrl:e.ServerUrl,id:null},a.commandResult={isPublished:!1,dataItem:null,operationMessage:null,operationData:g,success:!0},s.next(new o.ClickResult(!0,!0,!1,!1));else{var i={result:e};a.commandResult={isPublished:!1,error:i,dataItem:null,operationMessage:null,operationData:g,success:!1},s.next(new o.ClickResult(!0,!0,!1,!1))}}),(function(e){a.commandResult={isPublished:!1,error:e,dataItem:null,operationMessage:null,operationData:g,success:!0},s.next(new o.ClickResult(!0,!0,!1,!1))}))}return s},SiteSyncCommand.prototype.waitForSyncTask=function(e){var t=this,n=new i.ReplaySubject(1);return Object(i.interval)(1e3).pipe(Object(c.takeUntil)(n)).subscribe((function(){t.dynamicItemStore.service.executeUnboundFunction("getTaskProgress(taskId="+e+")").subscribe((function(e){var t=e.value;(!t&&0!==t||t<0||t>=100)&&n.next(!0)}))})),n},SiteSyncCommand.prototype.generateTemplateErrorSettings=function(e,t){return{title:e,action:r.OPERATION_NAMES.siteSync,icon:a.ActionIcon[r.OPERATION_NAMES.siteSync],descriptionAllowHtml:!0,description:t,buttons:new Array(new o.CancelButton("Close"))}},SiteSyncCommand.prototype.isTemplateSyncError=function(e){return e&&e.result&&e.result.AvailableActions&&e.result.AvailableActions.indexOf("syncTemplateError")>=0},SiteSyncCommand.ɵfac=function SiteSyncCommand_Factory(e){return new(e||SiteSyncCommand)(g["ɵɵinject"](A.DynamicItemStore),g["ɵɵinject"](o.ModalWindowService))},SiteSyncCommand.ɵprov=g["ɵɵdefineInjectable"]({token:SiteSyncCommand,factory:SiteSyncCommand.ɵfac}),SiteSyncCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SiteSyncNotificationComponent",(function(){return d})),n.d(t,"OperationStatus",(function(){return c}));var o=n(1118),i=(n(260),n(11)),r=n(262),a=n(1531),s=n(1532),A=n(229),l=n(261);function SiteSyncNotificationComponent_ng_container_0_ng_container_1_ng_container_3_Template(e,t){1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵtext"](1,"published and "),A["ɵɵelementContainerEnd"]())}function SiteSyncNotificationComponent_ng_container_0_ng_container_1_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵelementStart"](1,"span"),A["ɵɵtext"](2,"Content has been successfully "),A["ɵɵtemplate"](3,SiteSyncNotificationComponent_ng_container_0_ng_container_1_ng_container_3_Template,2,0,"ng-container",0),A["ɵɵtext"](4,"synced to "),A["ɵɵelementStart"](5,"a",2),A["ɵɵtext"](6),A["ɵɵelementEnd"](),A["ɵɵtext"](7,"."),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](2);A["ɵɵadvance"](3),A["ɵɵproperty"]("ngIf",n.isPublished),A["ɵɵadvance"](2),A["ɵɵpropertyInterpolate"]("href",n.serverUrl,A["ɵɵsanitizeUrl"]),A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.displayUrl)}}function SiteSyncNotificationComponent_ng_container_0_ng_container_2_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵelementStart"](1,"span"),A["ɵɵtext"](2," Items were successfully synced to "),A["ɵɵelementStart"](3,"a",2),A["ɵɵtext"](4),A["ɵɵelementEnd"](),A["ɵɵtext"](5,"."),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](2);A["ɵɵadvance"](3),A["ɵɵpropertyInterpolate"]("href",n.serverUrl,A["ɵɵsanitizeUrl"]),A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.displayUrl)}}function SiteSyncNotificationComponent_ng_container_0_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵtemplate"](1,SiteSyncNotificationComponent_ng_container_0_ng_container_1_Template,8,3,"ng-container",0),A["ɵɵtemplate"](2,SiteSyncNotificationComponent_ng_container_0_ng_container_2_Template,6,2,"ng-container",0),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"]();A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",!n.isBulkOperation),A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",n.isBulkOperation)}}function SiteSyncNotificationComponent_ng_container_1_ng_container_1_ng_container_3_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵtext"](1," to "),A["ɵɵelementStart"](2,"a",2),A["ɵɵtext"](3),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](3);A["ɵɵadvance"](2),A["ɵɵpropertyInterpolate"]("href",n.serverUrl,A["ɵɵsanitizeUrl"]),A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.displayUrl)}}function SiteSyncNotificationComponent_ng_container_1_ng_container_1_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵelementStart"](1,"span"),A["ɵɵtext"](2," Content failed to sync"),A["ɵɵtemplate"](3,SiteSyncNotificationComponent_ng_container_1_ng_container_1_ng_container_3_Template,4,2,"ng-container",0),A["ɵɵtext"](4,"."),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](2);A["ɵɵadvance"](3),A["ɵɵproperty"]("ngIf",n.serverUrl)}}function SiteSyncNotificationComponent_ng_container_1_ng_container_2_ng_container_2_Template(e,t){1&e&&A["ɵɵelementContainer"](0)}function SiteSyncNotificationComponent_ng_container_1_ng_container_2_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵelementStart"](1,"span"),A["ɵɵtemplate"](2,SiteSyncNotificationComponent_ng_container_1_ng_container_2_ng_container_2_Template,1,0,"ng-container",3),A["ɵɵtext"](3," failed to sync to "),A["ɵɵelementStart"](4,"a",2),A["ɵɵtext"](5),A["ɵɵelementEnd"](),A["ɵɵtext"](6,". "),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](2),o=A["ɵɵreference"](4);A["ɵɵadvance"](2),A["ɵɵproperty"]("ngTemplateOutlet",o),A["ɵɵadvance"](2),A["ɵɵpropertyInterpolate"]("href",n.serverUrl,A["ɵɵsanitizeUrl"]),A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.displayUrl)}}function SiteSyncNotificationComponent_ng_container_1_ng_container_3_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵelementStart"](1,"span"),A["ɵɵtext"](2),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](2);A["ɵɵadvance"](2),A["ɵɵtextInterpolate"](n.generalErrors)}}function SiteSyncNotificationComponent_ng_container_1_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵtemplate"](1,SiteSyncNotificationComponent_ng_container_1_ng_container_1_Template,5,1,"ng-container",0),A["ɵɵtemplate"](2,SiteSyncNotificationComponent_ng_container_1_ng_container_2_Template,7,3,"ng-container",0),A["ɵɵtemplate"](3,SiteSyncNotificationComponent_ng_container_1_ng_container_3_Template,3,1,"ng-container",0),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"]();A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",!n.isBulkOperation&&!n.generalErrors),A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",n.isBulkOperation&&!n.generalErrors),A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",n.generalErrors)}}function SiteSyncNotificationComponent_ng_container_2_ng_container_2_Template(e,t){1&e&&A["ɵɵelementContainer"](0)}function SiteSyncNotificationComponent_ng_container_2_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵelementStart"](1,"span"),A["ɵɵtemplate"](2,SiteSyncNotificationComponent_ng_container_2_ng_container_2_Template,1,0,"ng-container",3),A["ɵɵtext"](3),A["ɵɵelementStart"](4,"a",2),A["ɵɵtext"](5),A["ɵɵelementEnd"](),A["ɵɵtext"](6,". "),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](),o=A["ɵɵreference"](4);A["ɵɵadvance"](2),A["ɵɵproperty"]("ngTemplateOutlet",o),A["ɵɵadvance"](1),A["ɵɵtextInterpolate1"](" out of ",n.totalItemsCount," failed to sync to "),A["ɵɵadvance"](1),A["ɵɵpropertyInterpolate"]("href",n.serverUrl,A["ɵɵsanitizeUrl"]),A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.displayUrl)}}function SiteSyncNotificationComponent_ng_template_3_Template(e,t){if(1&e){var n=A["ɵɵgetCurrentView"]();A["ɵɵelementStart"](0,"a",4),A["ɵɵlistener"]("click",(function SiteSyncNotificationComponent_ng_template_3_Template_a_click_0_listener(){return A["ɵɵrestoreView"](n),A["ɵɵnextContext"]().onFailedItemsClick()})),A["ɵɵtext"](1),A["ɵɵelementEnd"]()}if(2&e){var o=A["ɵɵnextContext"]();A["ɵɵadvance"](1),A["ɵɵtextInterpolate2"]("",o.failedItemsCount," ",1==o.failedItemsCount?"item":"items","")}}var c,d=function(){function SiteSyncNotificationComponent(e){this.modalService=e,this.isPublished=!0,this.isBulkOperation=!1}return Object.defineProperty(SiteSyncNotificationComponent.prototype,"displayUrl",{get:function(){return s.UrlHelper.removeProtocol(this.serverUrl)},enumerable:!1,configurable:!0}),SiteSyncNotificationComponent.prototype.onFailedItemsClick=function(){var e=this.route.parent.snapshot.data[r.RESOLVE_NAMES.metadata],t=new i.BehaviorSubject(this.failedItemsCount),n={type:a.ModalListComponent,properties:{contentLook:"medium",actionTitle:"Items failed to sync",action:"getSyncFailedItems(summaryId="+this.summaryId+")",element:this,metadataContainer:e,count:t,treeConfig:{description:!0,noSelection:!0},template:null,openItemEdit:!1}},s=new o.DialogData(n,(function(e){}),[],null,"-bottom");this.modalService.setMapping(s,"failedItems"),this.modalService.open(this.route,"failedItems")},SiteSyncNotificationComponent.ɵfac=function SiteSyncNotificationComponent_Factory(e){return new(e||SiteSyncNotificationComponent)(A["ɵɵdirectiveInject"](o.ModalWindowService))},SiteSyncNotificationComponent.ɵcmp=A["ɵɵdefineComponent"]({type:SiteSyncNotificationComponent,selectors:[["ng-component"]],inputs:{serverUrl:"serverUrl",status:"status",failedItemsCount:"failedItemsCount",totalItemsCount:"totalItemsCount",summaryId:"summaryId",isPublished:"isPublished",isBulkOperation:"isBulkOperation",route:"route",generalErrors:"generalErrors"},decls:5,vars:3,consts:[[4,"ngIf"],["failedItemsLink",""],["target","_blank",3,"href"],[4,"ngTemplateOutlet"],["data-sftest","failed-items-link",3,"click"]],template:function SiteSyncNotificationComponent_Template(e,t){1&e&&(A["ɵɵtemplate"](0,SiteSyncNotificationComponent_ng_container_0_Template,3,2,"ng-container",0),A["ɵɵtemplate"](1,SiteSyncNotificationComponent_ng_container_1_Template,4,3,"ng-container",0),A["ɵɵtemplate"](2,SiteSyncNotificationComponent_ng_container_2_Template,7,4,"ng-container",0),A["ɵɵtemplate"](3,SiteSyncNotificationComponent_ng_template_3_Template,2,2,"ng-template",null,1,A["ɵɵtemplateRefExtractor"])),2&e&&(A["ɵɵproperty"]("ngIf",0===t.status),A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",1===t.status),A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",2===t.status))},directives:[l.NgIf,l.NgTemplateOutlet],encapsulation:2}),SiteSyncNotificationComponent}();!function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.PartiallySucceeded=2]="PartiallySucceeded"}(c||(c={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"ModalListComponent",(function(){return I}));var o=n(259),i=n(317),r=n(11),a=n(316),s=n(269),A=n(319),l=n(246),c=n(271),d=n(244),p=n(264),f=n(1173),u=n(1180),m=n(131),g=n(326),E=n(1153),h=n(260),b=n(1114),C=(n(418),n(229)),B=["itemTemplate"],k=["tree"];function ModalListComponent_p_5_Template(e,t){if(1&e&&(C["ɵɵelementStart"](0,"p",12),C["ɵɵtext"](1),C["ɵɵelementEnd"]()),2&e){var n=C["ɵɵnextContext"]();C["ɵɵadvance"](1),C["ɵɵtextInterpolate"](n.dataItem.title)}}function ModalListComponent_ng_container_6_Template(e,t){if(1&e&&(C["ɵɵelementContainerStart"](0),C["ɵɵelementStart"](1,"div",13),C["ɵɵelement"](2,"sf-thumbnail",14),C["ɵɵelementEnd"](),C["ɵɵelementContainerEnd"]()),2&e){var n=C["ɵɵnextContext"]();C["ɵɵadvance"](2),C["ɵɵproperty"]("selectable",!1)("width",n.dataItem.data.Width)("height",n.dataItem.data.Height)("title",n.dataItem.data.Title)("library",null==n.dataItem.data.Parent?null:n.dataItem.data.Parent.Title)("status",n.dataItem.data.DisplayStatus)("extension",n.dataItem.data.Extension)("alt",n.dataItem.data.AlternativeText||n.dataItem.data.Title)("type",n.dataItem.data.MimeType)("src",n.dataItem.data[n.previewUrl])("size",n.dataItem.data.TotalSize)("isMultimedia",n.dataItem.metadata.isMultimedia)("isVideo",n.dataItem.metadata.isVideo)("playable",!0)}}function ModalListComponent_sf_dropdown_list_choice_7_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementStart"](0,"sf-dropdown-list-choice",15),C["ɵɵlistener"]("selectionChange",(function ModalListComponent_sf_dropdown_list_choice_7_Template_sf_dropdown_list_choice_selectionChange_0_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().onSourceChange(e)})),C["ɵɵelementEnd"]()}if(2&e){var o=C["ɵɵnextContext"]();C["ɵɵpropertyInterpolate"]("optgroup",o.sourceSelector.label),C["ɵɵpropertyInterpolate"]("ariaLabel",o.sourceSelector.label),C["ɵɵproperty"]("settings",o.sourceSelector.settings)}}function ModalListComponent_div_8_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementStart"](0,"div",16),C["ɵɵelement"](1,"sf-icon",17),C["ɵɵelementStart"](2,"sf-input",18),C["ɵɵlistener"]("ngModelChange",(function ModalListComponent_div_8_Template_sf_input_ngModelChange_2_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().searchValue=e}))("ngModelChange",(function ModalListComponent_div_8_Template_sf_input_ngModelChange_2_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().onSearch(e)})),C["ɵɵelementEnd"](),C["ɵɵelementEnd"]()}if(2&e){var o=C["ɵɵnextContext"]();C["ɵɵadvance"](2),C["ɵɵproperty"]("ngModel",o.searchValue)}}function ModalListComponent_sf_loader_wrapper_9_Template(e,t){if(1&e&&C["ɵɵelement"](0,"sf-loader-wrapper",19),2&e){var n=C["ɵɵnextContext"](),o=C["ɵɵreference"](12);C["ɵɵproperty"]("isLoading",n.isLoading)("ignoreDelay",n.ignoreDelay)("count",5)("content",o)}}function ModalListComponent_ng_container_10_ng_container_1_Template(e,t){1&e&&C["ɵɵelementContainer"](0)}function ModalListComponent_ng_container_10_Template(e,t){if(1&e&&(C["ɵɵelementContainerStart"](0),C["ɵɵtemplate"](1,ModalListComponent_ng_container_10_ng_container_1_Template,1,0,"ng-container",20),C["ɵɵelementContainerEnd"]()),2&e){C["ɵɵnextContext"]();var n=C["ɵɵreference"](14);C["ɵɵadvance"](1),C["ɵɵproperty"]("ngTemplateOutlet",n)}}function ModalListComponent_ng_template_11_sf_tabs_0_ng_container_1_ng_template_1_Template(e,t){}function ModalListComponent_ng_template_11_sf_tabs_0_ng_container_1_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementContainerStart"](0),C["ɵɵtemplate"](1,ModalListComponent_ng_template_11_sf_tabs_0_ng_container_1_ng_template_1_Template,0,0,"ng-template",25),C["ɵɵlistener"]("tabClick",(function ModalListComponent_ng_template_11_sf_tabs_0_ng_container_1_Template_ng_template_tabClick_1_listener(){C["ɵɵrestoreView"](n);var e=t.$implicit;return C["ɵɵnextContext"](3).onTabChange(e)})),C["ɵɵelementContainerEnd"]()}if(2&e){var o=t.$implicit;C["ɵɵadvance"](1),C["ɵɵpropertyInterpolate"]("name",o.title),C["ɵɵpropertyInterpolate"]("title",o.title)}}function ModalListComponent_ng_template_11_sf_tabs_0_Template(e,t){if(1&e&&(C["ɵɵelementStart"](0,"sf-tabs",23),C["ɵɵtemplate"](1,ModalListComponent_ng_template_11_sf_tabs_0_ng_container_1_Template,2,2,"ng-container",24),C["ɵɵelementEnd"]()),2&e){var n=C["ɵɵnextContext"](2),o=C["ɵɵreference"](1);C["ɵɵproperty"]("tabsLook",o&&!o.isSticky?"sf-mt-m sf-mb-m large":"sf-mt-m sf-mb-m large sf-invisible"),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngForOf",n.tabsConfig)}}function ModalListComponent_ng_template_11_sf_tree_1_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementStart"](0,"sf-tree",26,27),C["ɵɵlistener"]("treeNodeClicked",(function ModalListComponent_ng_template_11_sf_tree_1_Template_sf_tree_treeNodeClicked_0_listener(e){C["ɵɵrestoreView"](n);var t=C["ɵɵnextContext"](2);return!!t.openItemEdit&&t.onItemClicked(e)}))("initialized",(function ModalListComponent_ng_template_11_sf_tree_1_Template_sf_tree_initialized_0_listener(){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"](2).onTreeInitialized()}))("onViewNode",(function ModalListComponent_ng_template_11_sf_tree_1_Template_sf_tree_onViewNode_0_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"](2).viewNodeClicked(e)})),C["ɵɵelementEnd"]()}if(2&e){var o=C["ɵɵnextContext"](2);C["ɵɵproperty"]("itemTemplate",o.template)("nodes",o.items)("config",o.treeConfig)("isLoadingMore",o.isLoadingMore)("look",o.listLook)}}function ModalListComponent_ng_template_11_ng_container_3_Template(e,t){1&e&&C["ɵɵelementContainer"](0)}function ModalListComponent_ng_template_11_Template(e,t){if(1&e&&(C["ɵɵtemplate"](0,ModalListComponent_ng_template_11_sf_tabs_0_Template,2,2,"sf-tabs",21),C["ɵɵtemplate"](1,ModalListComponent_ng_template_11_sf_tree_1_Template,2,5,"sf-tree",22),C["ɵɵpipe"](2,"async"),C["ɵɵtemplate"](3,ModalListComponent_ng_template_11_ng_container_3_Template,1,0,"ng-container",20)),2&e){var n=C["ɵɵnextContext"](),o=C["ɵɵreference"](18);C["ɵɵproperty"]("ngIf",n.tabsConfig&&!n.sourceSelector),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",C["ɵɵpipeBind1"](2,3,n.count)>0),C["ɵɵadvance"](2),C["ɵɵproperty"]("ngTemplateOutlet",o)}}function ModalListComponent_ng_template_13_sf_list_0_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementStart"](0,"sf-list",29,30),C["ɵɵlistener"]("onCommand",(function ModalListComponent_ng_template_13_sf_list_0_Template_sf_list_onCommand_0_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"](2).onCommand(e)})),C["ɵɵelementEnd"]()}if(2&e){var o=C["ɵɵnextContext"](2);C["ɵɵproperty"]("treeConfig",o.treeConfig)("itemsState",o.itemsState)("columns",o.columns)("look",o.listLook)}}function ModalListComponent_ng_template_13_ng_container_2_Template(e,t){1&e&&C["ɵɵelementContainer"](0)}function ModalListComponent_ng_template_13_Template(e,t){if(1&e&&(C["ɵɵtemplate"](0,ModalListComponent_ng_template_13_sf_list_0_Template,2,4,"sf-list",28),C["ɵɵpipe"](1,"async"),C["ɵɵtemplate"](2,ModalListComponent_ng_template_13_ng_container_2_Template,1,0,"ng-container",20)),2&e){var n=C["ɵɵnextContext"](),o=C["ɵɵreference"](18);C["ɵɵproperty"]("ngIf",C["ɵɵpipeBind1"](1,2,n.count)>0),C["ɵɵadvance"](2),C["ɵɵproperty"]("ngTemplateOutlet",o)}}function ModalListComponent_ng_template_15_Template(e,t){if(1&e&&(C["ɵɵelementStart"](0,"div",31),C["ɵɵtext"](1),C["ɵɵelementStart"](2,"a",32),C["ɵɵtext"](3),C["ɵɵelementEnd"](),C["ɵɵelementEnd"]()),2&e){var n=t.$implicit;C["ɵɵadvance"](1),C["ɵɵtextInterpolate1"](" ",n.data.dataItem.Title," "),C["ɵɵadvance"](1),C["ɵɵpropertyInterpolate"]("title",n.data.dataItem.LiveUrl),C["ɵɵadvance"](1),C["ɵɵtextInterpolate"](n.data.dataItem.LiveUrl)}}function ModalListComponent_ng_template_17_div_0_Template(e,t){if(1&e&&(C["ɵɵelementStart"](0,"div"),C["ɵɵelement"](1,"sf-icon",33),C["ɵɵelementStart"](2,"p",34),C["ɵɵtext"](3),C["ɵɵelementEnd"](),C["ɵɵelementEnd"]()),2&e){var n=C["ɵɵnextContext"](2);C["ɵɵadvance"](3),C["ɵɵtextInterpolate"](n.noItemsLabel)}}function ModalListComponent_ng_template_17_Template(e,t){if(1&e&&(C["ɵɵtemplate"](0,ModalListComponent_ng_template_17_div_0_Template,4,1,"div",4),C["ɵɵpipe"](1,"async")),2&e){var n=C["ɵɵnextContext"]();C["ɵɵproperty"]("ngIf",0===C["ɵɵpipeBind1"](1,1,n.count)||0===n.items.length)}}var I=function(e){function ModalListComponent(t,n,o,i,a,s,A){var l=e.call(this)||this;return l.window=t,l.itemService=n,l.settings=o,l.editNavigationService=i,l.route=a,l.metaDataStore=s,l.mediaRecognizerService=A,l.openItemEdit=!0,l.showDataItemTitle=!0,l.isLoading=!0,l.ignoreDelay=!1,l.showCounter=!0,l.items=[],l.isSearchVisible=!1,l.treeConfig={noSelection:!0},l.itemsState=f.StateWrapper.empty(!0),l.isLoadingMore=!1,l.itemsModified=!1,l.showMedia=!0,l.loadItems$=new r.ReplaySubject(1),l}return Object(o.__extends)(ModalListComponent,e),ModalListComponent.prototype.ngOnInit=function(){var e=this;this.dataItem?(this.title=this.actionTitle.replace("this item",this.dataItem.metadata.singularName.toLowerCase()),this.title=this.title.replace("this ",l.stringConstants.EMPTY_STRING),this.noItemsLabel=this.actionTitle.replace("item",this.dataItem.metadata.singularName.toLowerCase())+" will appear here",this.previewUrl=this.mediaRecognizerService.getPreviewUrlProperty(this.dataItem.metadata.setName)):(this.title=this.actionTitle,this.noItemsLabel=this.actionTitle+" will appear here"),this.action===A.OPERATION_NAMES.linkItems&&(this.treeConfig={status:!0,description:!0,showBreadcrumb:!0,noSelection:!0,clickable:!0},this.template=null);var t=this.loadItems$.pipe(Object(m.switchMap)((function(e){return e}))).subscribe((function(t){var n=[];t.value.forEach((function(e){e&&(e.description=e.FriendlyContentType,n.push(e))})),e.tabsConfig?(e.tabsConfig.forEach((function(e){if(e.items||(e.items=[]),e.items=e.items.concat(n.filter(e.itemsFilter)),e.itemsModifier&&e.items.forEach(e.itemsModifier),e.selectedFilter){var t=e.items.filter(e.selectedFilter).map((function(e){return e.Id}));e.treeConfig.selectedNodeIds=t}})),e.treeConfig=e.tabsConfig[0].treeConfig,e.items=e.tabsConfig[0].items):e.items=e.items.concat(n),e.isLoading=!1,e.isLoadingMore=!1,e.columns&&(e.itemsState=e.getItemsState(),e.isLoadingMore=e.itemsState.isLoadingItems)}));this.registerSubscription(t),this.columns&&(this.itemsState=this.getItemsState(50)),this.loadItems(this.items.length),this.contentLook=this.generateContentLook();var n=this.count.subscribe((function(t){e.totalCount=t,e.toggleShowDataItemTitle(t),0===t&&(e.showMedia=!1)}));this.registerSubscription(n)},ModalListComponent.prototype.onItemClicked=function(e){var t=e.data?e.data.dataItem||e.data:e;if(t.Url){var n=this.window.open(l.stringConstants.EMPTY_STRING,t.Url);this.isFullUrl(t.Url)?n.location.href=t.Url:n.location.href=""+this.settings.url+t.Url}else{var o=this.metaDataStore.getEntity(t.ContentType);if(o&&o.enabled){var r=i.DataItem.from(t,o,t.Provider,this.dataItem.culture);this.editNavigationService.navigateToEditOfRelatedData(r,this.route)}}},ModalListComponent.prototype.onTreeInitialized=function(){var e=this;this.treeConfig.multiSelection&&this.items.forEach((function(t){t.isSelected&&e.tree.selectAndActivateNodeById(t.Name)}))},ModalListComponent.prototype.viewNodeClicked=function(e){this.onViewNodeFunc&&this.onViewNodeFunc(e)},ModalListComponent.prototype.onTabChange=function(e){this.items=e.items,this.treeConfig=e.treeConfig,this.noItemsLabel=e.noItemsLabel},ModalListComponent.prototype.onSourceChange=function(e){var t=this.sourceSelector.settings.choices.findIndex((function(t){return t.Value===e})),n=this.tabsConfig[t];this.items=n.items},ModalListComponent.prototype.requestMoreItems=function(){this.items.length>0&&this.totalCount>this.items.length&&(this.isLoadingMore=!0,this.itemsState=this.getItemsState(this.totalCount-this.items.length),this.loadItems(this.items.length))},ModalListComponent.prototype.onCommand=function(e){if(e)switch(e.name){case u.COMMAND_NAMES.removeItem:var t=e.data;if(this.itemsState.dataItems.findIndex((function(e){return e.key===t.key}))>=0){var n={dataItems:this.itemsState.dataItems.filter((function(e){return e.key!==t.key})),totalCount:this.itemsState.totalCount-1};this.itemsState=f.StateWrapper.wrap(n),this.count.next(this.count.getValue()-1),this.itemsModified=!0}}},ModalListComponent.prototype.onSearch=function(e){var t,n,o=this;if(e){var i=(null===(t=this.treeConfig.treeProperties)||void 0===t?void 0:t.idField)||"Id",r=(null===(n=this.treeConfig.treeProperties)||void 0===n?void 0:n.displayField)||"Title";this.items.forEach((function(t){var n=t[r.toString()].trim().toLowerCase(),a=n.startsWith(e.toLowerCase())||n.indexOf(" "+e)>-1;o.tree.tree.treeModel.hiddenNodeIds[t[i.toString()]]=!a})),this.tree.updateTreeModel()}else this.tree.showHiddenNodes()},ModalListComponent.prototype.loadItems=function(e){if(void 0===e&&(e=0),this.action){var t=void 0,n=this.action.toLowerCase()+"?$skip="+e+"&$top=50";t=this.dataItem?this.itemService.executeBoundFunction(this.dataItem,""+n):this.itemService.executeUnboundFunction(""+n),this.loadItems$.next(t)}},ModalListComponent.prototype.generateContentLook=function(){var e="sf-form -sf-centered-box -sf-pt-zero";return this.contentLook&&(e+=" -"+this.contentLook.split(" ").join(" -")),e},ModalListComponent.prototype.getItemsState=function(e){var t=this;void 0===e&&(e=0);var n={dataItems:[],totalCount:0,loadingItemsCount:e};return this.items.forEach((function(e){var o=i.DataItem.from(e,t.metadata,e.Provider,t.dataItem.culture);n.dataItems.push(o)})),n.totalCount=this.items.length,f.StateWrapper.wrap(n)},ModalListComponent.prototype.isFullUrl=function(e){return new RegExp("^https?:\\/\\/").test(e)},ModalListComponent.prototype.toggleShowDataItemTitle=function(e){null!=this.dataItem&&g.MediaHelpers.isMediaEntity(this.dataItem)&&(0===e||g.MediaHelpers.isImageEntity(this.dataItem)||g.MediaHelpers.isVideoEntity(this.dataItem))&&(this.showDataItemTitle=!1)},ModalListComponent.ɵfac=function ModalListComponent_Factory(e){return new(e||ModalListComponent)(C["ɵɵdirectiveInject"](d.WINDOW_TOKEN),C["ɵɵdirectiveInject"](a.DynamicItemService),C["ɵɵdirectiveInject"](c.Settings),C["ɵɵdirectiveInject"](E.EditNavigationService),C["ɵɵdirectiveInject"](h.ActivatedRoute),C["ɵɵdirectiveInject"](s.MetadataStore),C["ɵɵdirectiveInject"](b.MediaRecognizerService))},ModalListComponent.ɵcmp=C["ɵɵdefineComponent"]({type:ModalListComponent,selectors:[["sf-modal-list"]],viewQuery:function ModalListComponent_Query(e,t){if(1&e&&(C["ɵɵviewQuery"](B,3),C["ɵɵviewQuery"](k,1)),2&e){var n=void 0;C["ɵɵqueryRefresh"](n=C["ɵɵloadQuery"]())&&(t.template=n.first),C["ɵɵqueryRefresh"](n=C["ɵɵloadQuery"]())&&(t.tree=n.first)}},inputs:{action:"action",actionTitle:"actionTitle",count:"count",dataItem:"dataItem",element:"element",openItemEdit:"openItemEdit",showDataItemTitle:"showDataItemTitle",columns:"columns",metadata:"metadata",contentLook:"contentLook",isLoading:"isLoading",ignoreDelay:"ignoreDelay",showCounter:"showCounter",items:"items",listLook:"listLook",onViewNodeFunc:"onViewNodeFunc",tabsConfig:"tabsConfig",sourceSelector:"sourceSelector",isSearchVisible:"isSearchVisible",searchValue:"searchValue"},features:[C["ɵɵInheritDefinitionFeature"]],decls:19,vars:15,consts:[[3,"removeBottomOffset","heading","superScript","stickyDisabled"],["stickyToolbar",""],["sfInfiniteScroll","","data-sftest","modalListItems",3,"scrolledToBottom"],["class","-sf-txt-large -sf-overflow-ellipsis",4,"ngIf"],[4,"ngIf"],["look","sf-mb-4xs sf-ml-3xs sf-mr-zero",3,"optgroup","ariaLabel","settings","selectionChange",4,"ngIf"],["class","sf-button-group -search -fluid -sf-mb-xs -sf-txt-align-left","role","search",4,"ngIf"],["look","skeleton list sequence",3,"isLoading","ignoreDelay","count","content",4,"ngIf"],["treeTemplate",""],["listTemplate",""],["itemTemplate",""],["noItemsTemplate",""],[1,"-sf-txt-large","-sf-overflow-ellipsis"],[1,"sf-media","-no-placeholder","-sf-inline-flex","-sf-mb-m","-sf-mt-m"],[3,"selectable","width","height","title","library","status","extension","alt","type","src","size","isMultimedia","isVideo","playable"],["look","sf-mb-4xs sf-ml-3xs sf-mr-zero",3,"optgroup","ariaLabel","settings","selectionChange"],["role","search",1,"sf-button-group","-search","-fluid","-sf-mb-xs","-sf-txt-align-left"],["name","search","look","size-s light"],["type","search","look","clearable sf-mb-zero","placeholder","Narrow by typing ...","autocomplete","off",3,"ngModel","ngModelChange"],["look","skeleton list sequence",3,"isLoading","ignoreDelay","count","content"],[4,"ngTemplateOutlet"],[3,"tabsLook",4,"ngIf"],["look","text-status","displayField","Title",3,"itemTemplate","nodes","config","isLoadingMore","look","treeNodeClicked","initialized","onViewNode",4,"ngIf"],[3,"tabsLook"],[4,"ngFor","ngForOf"],["sfTab","",3,"name","title","tabClick"],["look","text-status","displayField","Title",3,"itemTemplate","nodes","config","isLoadingMore","look","treeNodeClicked","initialized","onViewNode"],["tree",""],[3,"treeConfig","itemsState","columns","look","onCommand",4,"ngIf"],[3,"treeConfig","itemsState","columns","look","onCommand"],["listComponent",""],[1,"-sf-pt-3xs","-sf-pr-xs","-sf-pb-3xs","-sf-pl-xs","-sf-clickable","-sf-overflow-ellipsis"],[1,"-no-hover","-sf-block","-sf-overflow-ellipsis",3,"title"],["name","check-square-o","look","illustrative sf-mt-7xl sf-mb-xs sf-mr-zero"],[1,"-sf-txt-hint"]],template:function ModalListComponent_Template(e,t){1&e&&(C["ɵɵelement"](0,"sf-sticky-component",0,1),C["ɵɵpipe"](2,"async"),C["ɵɵpipe"](3,"async"),C["ɵɵelementStart"](4,"div",2),C["ɵɵlistener"]("scrolledToBottom",(function ModalListComponent_Template_div_scrolledToBottom_4_listener(){return t.requestMoreItems()})),C["ɵɵtemplate"](5,ModalListComponent_p_5_Template,2,1,"p",3),C["ɵɵtemplate"](6,ModalListComponent_ng_container_6_Template,3,14,"ng-container",4),C["ɵɵtemplate"](7,ModalListComponent_sf_dropdown_list_choice_7_Template,1,3,"sf-dropdown-list-choice",5),C["ɵɵtemplate"](8,ModalListComponent_div_8_Template,3,1,"div",6),C["ɵɵtemplate"](9,ModalListComponent_sf_loader_wrapper_9_Template,1,4,"sf-loader-wrapper",7),C["ɵɵtemplate"](10,ModalListComponent_ng_container_10_Template,2,1,"ng-container",4),C["ɵɵelementEnd"](),C["ɵɵtemplate"](11,ModalListComponent_ng_template_11_Template,4,5,"ng-template",null,8,C["ɵɵtemplateRefExtractor"]),C["ɵɵtemplate"](13,ModalListComponent_ng_template_13_Template,3,4,"ng-template",null,9,C["ɵɵtemplateRefExtractor"]),C["ɵɵtemplate"](15,ModalListComponent_ng_template_15_Template,4,3,"ng-template",null,10,C["ɵɵtemplateRefExtractor"]),C["ɵɵtemplate"](17,ModalListComponent_ng_template_17_Template,2,3,"ng-template",null,11,C["ɵɵtemplateRefExtractor"])),2&e&&(C["ɵɵproperty"]("removeBottomOffset",t.dataItem&&t.showDataItemTitle)("heading",t.title)("superScript",t.showCounter?C["ɵɵpipeBind1"](2,11,t.count):null)("stickyDisabled",0===C["ɵɵpipeBind1"](3,13,t.count)),C["ɵɵadvance"](4),C["ɵɵattribute"]("class",t.contentLook),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",t.dataItem&&t.showDataItemTitle),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",t.dataItem&&t.dataItem.metadata.isMultimedia&&t.showMedia),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",(null==t.sourceSelector||null==t.sourceSelector.settings||null==t.sourceSelector.settings.choices?null:t.sourceSelector.settings.choices.length)>1),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",t.isSearchVisible),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",!t.columns),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",t.columns))},encapsulation:2}),ModalListComponent}(p.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"UrlHelper",(function(){return i}));var o=n(246),i=function(){function UrlHelper(){}return UrlHelper.mergeUrlQueryParams=function(e,t){var n={},o=e,i=e.indexOf("?");i>-1&&(e.substr(i+1).split("&").forEach((function(e){var t=e.indexOf("="),o=e.substr(0,t),i=e.substr(t+1);n[o]=i})),o=e.substr(0,i));for(var r in t)if(t.hasOwnProperty(r)){var a=t[r];n[r]=a}var s=UrlHelper.convertToQueryString(n);return s.length?o+"?"+s:o},UrlHelper.convertToQueryString=function(e){var t=o.stringConstants.EMPTY_STRING;for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];t=t!==o.stringConstants.EMPTY_STRING?t+"&"+n+"="+i:n+"="+i}return t},UrlHelper.removeProtocol=function(e){var t=e.indexOf("://");return-1!==t?e.substring(t+3):e},UrlHelper}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EditItemMenuComponent",(function(){return b}));var o=n(259),i=n(229),r=n(1534),a=n(361),s=n(246),A=n(280),l=n(260),c=(n(11),n(322),n(1537)),d=n(279),p=n(264),f=n(295),u=n(1538),m=n(298),g=["itemStatus"],E=["additionalActions"],h=["generalActions"];function EditItemMenuComponent_ng_template_1_sf_languages_dropdown_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-languages-dropdown",8),i["ɵɵlistener"]("onChange",(function EditItemMenuComponent_ng_template_1_sf_languages_dropdown_0_Template_sf_languages_dropdown_onChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onActionButtonClicked(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("customOperations",o.customOperations)("item",o.item$)}}function EditItemMenuComponent_ng_template_1_sf_personalization_dropdown_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-personalization-dropdown",9),i["ɵɵlistener"]("onChange",(function EditItemMenuComponent_ng_template_1_sf_personalization_dropdown_1_Template_sf_personalization_dropdown_onChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onActionButtonClicked(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("personalizationOperations",o.personalizationOperations)("item",o.item$)}}function EditItemMenuComponent_ng_template_1_sf_click_notification_4_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-click-notification",6),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("item",n.item$)}}function EditItemMenuComponent_ng_template_1_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,EditItemMenuComponent_ng_template_1_sf_languages_dropdown_0_Template,1,2,"sf-languages-dropdown",4),i["ɵɵtemplate"](1,EditItemMenuComponent_ng_template_1_sf_personalization_dropdown_1_Template,1,2,"sf-personalization-dropdown",5),i["ɵɵpipe"](2,"async"),i["ɵɵelement"](3,"sf-heading-status",6),i["ɵɵtemplate"](4,EditItemMenuComponent_ng_template_1_sf_click_notification_4_Template,1,1,"sf-click-notification",7)),2&e){var n,o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",o.hasContentCultures),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",(null==(n=i["ɵɵpipeBind1"](2,4,o.personalizationOperations))?null:n.length)>0),i["ɵɵadvance"](2),i["ɵɵproperty"]("item",o.item$),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",o.enableClickNotification)}}function EditItemMenuComponent_ng_template_3_h3_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"h3",14),i["ɵɵtext"](1),i["ɵɵpipe"](2,"async"),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](i["ɵɵpipeBind1"](2,1,n.navbarConfiguration.title))}}var _c3=function(e){return{"-sf-ml-2xs":e}};function EditItemMenuComponent_ng_template_3_sf_action_menu_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-action-menu",15),i["ɵɵlistener"]("buttonClicked",(function EditItemMenuComponent_ng_template_3_sf_action_menu_2_Template_sf_action_menu_buttonClicked_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onActionButtonClicked(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("operations",o.additionalActionOperations)("buttonsState",o.buttonsState)("ngClass",i["ɵɵpureFunction1"](3,_c3,o.navbarConfiguration.title))}}function EditItemMenuComponent_ng_template_3_sf_component_loader_3_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-component-loader",16),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("componentData",n.navbarConfiguration.additionalActionsComponentData)}}function EditItemMenuComponent_ng_template_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",10),i["ɵɵtemplate"](1,EditItemMenuComponent_ng_template_3_h3_1_Template,3,3,"h3",11),i["ɵɵtemplate"](2,EditItemMenuComponent_ng_template_3_sf_action_menu_2_Template,1,5,"sf-action-menu",12),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,EditItemMenuComponent_ng_template_3_sf_component_loader_3_Template,1,1,"sf-component-loader",13)),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.navbarConfiguration.title),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.navbarConfiguration.hideAdditionalActionsMenu),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.navbarConfiguration.additionalActionsComponentData)}}function EditItemMenuComponent_ng_template_5_sf_sidebar_buttons_1_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-sidebar-buttons")}function EditItemMenuComponent_ng_template_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-action-menu",17),i["ɵɵlistener"]("buttonClicked",(function EditItemMenuComponent_ng_template_5_Template_sf_action_menu_buttonClicked_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onActionButtonClicked(e)})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](1,EditItemMenuComponent_ng_template_5_sf_sidebar_buttons_1_Template,1,0,"sf-sidebar-buttons",18)}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("operations",o.generalActionOperations)("buttonsState",o.buttonsState),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",o.showSidebarButtons)}}var b=function(e){function EditItemMenuComponent(t,n,o){var r=e.call(this)||this;return r.route=t,r.backNavigationService=n,r.store=o,r.isNavigationEmbedded=d.environment.env===A.environmentTypes.integration,r.onBackButtonClick=new i.EventEmitter,r.onActionButtonClick=new i.EventEmitter,r}return Object(o.__extends)(EditItemMenuComponent,e),EditItemMenuComponent.prototype.ngOnInit=function(){var e=this,t=!this.entityData||!this.entityData.metadata||this.entityData.metadata.isMultilingual;this.hasContentCultures=this.route.parent.snapshot.data.siteDataStore.ContentCultures.length>1&&t,this.configureNavbar(this.navbarConfiguration),this.registerSubscription(this.store.pipe(u.SIDEBAR_SELECTORS.sidebarData).subscribe((function(t){return e.showSidebarButtons=!!t})))},EditItemMenuComponent.prototype.onLeftNavButtonClick=function(){this.navbarConfiguration.leftNavbarButtonData.autoNavigateBack?this.backNavigationService.navigateBack({entityData:this.entityData,filterCleared:this.filterCleared,parentId:this.parentId,route:this.route}):this.onBackButtonClick.emit(),this.store.dispatch(m.SIDEBAR_DISPATCH_ACTION.change(null))},EditItemMenuComponent.prototype.onActionButtonClicked=function(e){this.onActionButtonClick.emit(e)},EditItemMenuComponent.prototype.configureNavbar=function(e){var t=this,n={mode:r.NavbarModes.ThreeColumns,leftNavbarButtonData:{show:!0,look:"toggle",icon:"angle-left",iconLook:"size-2xl",mode:r.LeftNavbarButtonMode.Back,title:a.SelectorConstants.ALL_ITEMS,autoNavigateBack:!0},isScrollEnabled:!1,look:this.isNavigationEmbedded?"integration-detail":s.stringConstants.EMPTY_STRING,templates:[this.itemStatusTemplate,this.additionalActionsTemplate,this.generalActionsTemplate]};this.copy(n,e),n.leftNavbarButtonData.disable&&n.leftNavbarButtonData.disable.subscribe((function(e){t.disableLeftNavbarButton=e})),this.navbarConfiguration=n},EditItemMenuComponent.prototype.copy=function(e,t){var n=this;t&&Object.keys(t).forEach((function(o){var i=e[o],r=t[o];"object"==typeof i?n.copy(i,r):e[o]=r}))},EditItemMenuComponent.ɵfac=function EditItemMenuComponent_Factory(e){return new(e||EditItemMenuComponent)(i["ɵɵdirectiveInject"](l.ActivatedRoute),i["ɵɵdirectiveInject"](c.BackNavigationService),i["ɵɵdirectiveInject"](f.AppStore))},EditItemMenuComponent.ɵcmp=i["ɵɵdefineComponent"]({type:EditItemMenuComponent,selectors:[["sf-edit-item-menu"]],viewQuery:function EditItemMenuComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](g,3),i["ɵɵviewQuery"](E,3),i["ɵɵviewQuery"](h,3)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.itemStatusTemplate=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.additionalActionsTemplate=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.generalActionsTemplate=n.first)}},inputs:{navbarConfiguration:"navbarConfiguration",item$:"item$",customOperations:"customOperations",generalActionOperations:"generalActionOperations",additionalActionOperations:"additionalActionOperations",personalizationOperations:"personalizationOperations",buttonsState:"buttonsState",entityData:"entityData",parentId:"parentId",filterCleared:"filterCleared",enableClickNotification:"enableClickNotification"},outputs:{onBackButtonClick:"onBackButtonClick",onActionButtonClick:"onActionButtonClick"},features:[i["ɵɵInheritDefinitionFeature"]],decls:7,vars:2,consts:[[3,"configuration","disableLeftNavbarButton","leftNavButtonClick"],["itemStatus",""],["additionalActions",""],["generalActions",""],[3,"customOperations","item","onChange",4,"ngIf"],[3,"personalizationOperations","item","onChange",4,"ngIf"],[1,"-sf-ml-3xs",3,"item"],["class","-sf-ml-3xs",3,"item",4,"ngIf"],[3,"customOperations","item","onChange"],[3,"personalizationOperations","item","onChange"],[1,"sf-row","-adjustable-ellipsis","-align-items-center"],["class","sf-row__col -truncatable -sf-overflow-ellipsis -sf-mt-7xs",4,"ngIf"],["data-sftest","additionalActionsMenu","class","sf-row__col -full-width -sf-mt-4xs",3,"operations","buttonsState","ngClass","buttonClicked",4,"ngIf"],[3,"componentData",4,"ngIf"],[1,"sf-row__col","-truncatable","-sf-overflow-ellipsis","-sf-mt-7xs"],["data-sftest","additionalActionsMenu",1,"sf-row__col","-full-width","-sf-mt-4xs",3,"operations","buttonsState","ngClass","buttonClicked"],[3,"componentData"],["iconTitle","More Options","ariaLabel","More Options","dropdownButtonIconName","ellipsis-h",3,"operations","buttonsState","buttonClicked"],[4,"ngIf"]],template:function EditItemMenuComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"sf-navigation-menu",0),i["ɵɵlistener"]("leftNavButtonClick",(function EditItemMenuComponent_Template_sf_navigation_menu_leftNavButtonClick_0_listener(){return t.onLeftNavButtonClick()})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](1,EditItemMenuComponent_ng_template_1_Template,5,6,"ng-template",null,1,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](3,EditItemMenuComponent_ng_template_3_Template,4,3,"ng-template",null,2,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](5,EditItemMenuComponent_ng_template_5_Template,2,3,"ng-template",null,3,i["ɵɵtemplateRefExtractor"])),2&e&&i["ɵɵproperty"]("configuration",t.navbarConfiguration)("disableLeftNavbarButton",t.disableLeftNavbarButton)},encapsulation:2}),EditItemMenuComponent}(p.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"NavigationMenuComponent",(function(){return C})),n.d(t,"NavbarModes",(function(){return g})),n.d(t,"LeftNavbarButtonMode",(function(){return E}));var o=n(259),i=n(229),r=n(1115),a=n(11),s=n(369),A=n(260),l=n(1535),c=n(1139),d=n(364),p=n(365),f=n(1152),u=n(261),m=n(354),_c0=function(e){return{"-sf-disabled":e}};function NavigationMenuComponent_sf_button_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-button",8),i["ɵɵlistener"]("onClick",(function NavigationMenuComponent_sf_button_2_Template_sf_button_onClick_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onLeftNavButtonClick(e)})),i["ɵɵprojection"](1),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](5,_c0,o.disableLeftNavbarButton))("look",o.configuration.leftNavbarButtonData.look)("icon",o.configuration.leftNavbarButtonData.icon)("iconLook",o.configuration.leftNavbarButtonData.iconLook)("title",o.configuration.leftNavbarButtonData.title)}}function NavigationMenuComponent_ng_container_3_ng_container_1_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_ng_container_3_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,NavigationMenuComponent_ng_container_3_ng_container_1_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.templates[0])}}function NavigationMenuComponent_ng_container_3_ng_container_2_div_2_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_ng_container_3_ng_container_2_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",12),i["ɵɵtemplate"](1,NavigationMenuComponent_ng_container_3_ng_container_2_div_2_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.templates[0])}}function NavigationMenuComponent_ng_container_3_ng_container_2_div_3_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_ng_container_3_ng_container_2_div_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",13),i["ɵɵtemplate"](1,NavigationMenuComponent_ng_container_3_ng_container_2_div_3_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.templates[1])}}function NavigationMenuComponent_ng_container_3_ng_container_2_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"div",10),i["ɵɵtemplate"](2,NavigationMenuComponent_ng_container_3_ng_container_2_div_2_Template,2,1,"div",11),i["ɵɵtemplate"](3,NavigationMenuComponent_ng_container_3_ng_container_2_div_3_Template,2,1,"div",7),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",n.configuration.templates[0]),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.configuration.templates[1])}}function NavigationMenuComponent_ng_container_3_ng_container_3_div_2_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_ng_container_3_ng_container_3_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",16),i["ɵɵtemplate"](1,NavigationMenuComponent_ng_container_3_ng_container_3_div_2_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.templates[0])}}function NavigationMenuComponent_ng_container_3_ng_container_3_div_3_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_ng_container_3_ng_container_3_div_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",17),i["ɵɵtemplate"](1,NavigationMenuComponent_ng_container_3_ng_container_3_div_3_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵproperty"]("ngClass",n.additionalActionsMenuClassList),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.templates[1])}}function NavigationMenuComponent_ng_container_3_ng_container_3_div_4_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_ng_container_3_ng_container_3_div_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",13),i["ɵɵtemplate"](1,NavigationMenuComponent_ng_container_3_ng_container_3_div_4_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.templates[2])}}function NavigationMenuComponent_ng_container_3_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"div",10),i["ɵɵtemplate"](2,NavigationMenuComponent_ng_container_3_ng_container_3_div_2_Template,2,1,"div",14),i["ɵɵtemplate"](3,NavigationMenuComponent_ng_container_3_ng_container_3_div_3_Template,2,2,"div",15),i["ɵɵtemplate"](4,NavigationMenuComponent_ng_container_3_ng_container_3_div_4_Template,2,1,"div",7),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",n.configuration.templates[0]),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.configuration.templates[1]),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.configuration.templates[2])}}function NavigationMenuComponent_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,NavigationMenuComponent_ng_container_3_ng_container_1_Template,2,1,"ng-container",3),i["ɵɵtemplate"](2,NavigationMenuComponent_ng_container_3_ng_container_2_Template,4,2,"ng-container",3),i["ɵɵtemplate"](3,NavigationMenuComponent_ng_container_3_ng_container_3_Template,5,3,"ng-container",3),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.configuration.mode===n.navbarModes.OneColumn&&n.configuration.templates),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.configuration.mode===n.navbarModes.TwoColumns),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.configuration.mode===n.navbarModes.ThreeColumns)}}function NavigationMenuComponent_div_5_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_div_5_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",18),i["ɵɵtemplate"](1,NavigationMenuComponent_div_5_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.scrollTemplates[0])}}function NavigationMenuComponent_div_8_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function NavigationMenuComponent_div_8_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",13),i["ɵɵtemplate"](1,NavigationMenuComponent_div_8_ng_container_1_Template,1,0,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.configuration.scrollTemplates[1])}}var g,E,h=[[["","leftNavButtonContent",""]]],b=["[leftNavButtonContent]"],C=function(){function NavigationMenuComponent(e,t,n,o,r){this.scrollService=e,this.route=t,this.router=n,this.siteTitleDynamicResolver=o,this.siteDataStore=r,this.operationStatus=new a.BehaviorSubject(!1),this.disableLeftNavbarButton=!1,this.navbarModes=g,this.leftNavButtonClick=new i.EventEmitter(!0),this.scroll=new i.EventEmitter(!0),this.subscriptions=[]}return NavigationMenuComponent.prototype.ngOnInit=function(){var e=this;void 0===this.configuration.isScrollEnabled&&(this.configuration.isScrollEnabled=!0),this.configuration.leftNavbarButtonData&&this.configuration.leftNavbarButtonData.mode===E.Close&&this.route.outlet===f.ROUTE_PATHS_NO_PREFIX.MENU_OUTLET&&(this.configuration.leftNavbarButtonData.show=!0),this.configuration.look&&(this.navbarCssClassList=this.generateCssClassList(this.configuration.look)),this.additionalActionsMenuClassList=this.generateAdditionalActionsMenuClassList();var t=this.siteDataStore.getValue().subscribe((function(t){e.siteTitleDynamicResolver.updateBrowserTitle(e.route.snapshot,t.Name)}));this.subscriptions.push(t)},NavigationMenuComponent.prototype.ngAfterViewInit=function(){var e=this,t=this.stickyDirective.changes.subscribe((function(t){e.scroll.emit(t.first.isSticky)}));this.subscriptions.push(t)},NavigationMenuComponent.prototype.ngOnDestroy=function(){this.subscriptions.forEach((function(e){return e.unsubscribe()}))},NavigationMenuComponent.prototype.onLeftNavButtonClick=function(e){switch(this.configuration.leftNavbarButtonData.mode){case E.Back:this.onBackClick(e);break;case E.Close:this.onCloseClick()}},NavigationMenuComponent.prototype.generateAdditionalActionsMenuClassList=function(){var e=["-col-2","-align-self-center","-sf-txt-align-center"];return this.configuration.additionalActionsComponentData||e.unshift("sf-row__col"),e.join(" ")},NavigationMenuComponent.prototype.onBackClick=function(e){this.scrollService.scrollToTop(!1),this.leftNavButtonClick.emit(e)},NavigationMenuComponent.prototype.onCloseClick=function(){return Object(o.__awaiter)(this,void 0,void 0,(function(){return Object(o.__generator)(this,(function(e){return this.router.navigate([{outlets:{menu:null}}],{relativeTo:this.route.parent,queryParamsHandling:"merge"}),[2]}))}))},NavigationMenuComponent.prototype.generateCssClassList=function(e){var t="";return e&&(t+=" -"+e.split(" ").join(" -")),t},NavigationMenuComponent.ɵfac=function NavigationMenuComponent_Factory(e){return new(e||NavigationMenuComponent)(i["ɵɵdirectiveInject"](s.ScrollService),i["ɵɵdirectiveInject"](A.ActivatedRoute),i["ɵɵdirectiveInject"](A.Router),i["ɵɵdirectiveInject"](l.SiteTitleDynamicResolver),i["ɵɵdirectiveInject"](c.SiteDataStore))},NavigationMenuComponent.ɵcmp=i["ɵɵdefineComponent"]({type:NavigationMenuComponent,selectors:[["sf-navigation-menu"]],viewQuery:function NavigationMenuComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](r.StickyDirective,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.stickyDirective=n)}},inputs:{configuration:"configuration",operationStatus:"operationStatus",disableLeftNavbarButton:"disableLeftNavbarButton"},outputs:{leftNavButtonClick:"leftNavButtonClick",scroll:"scroll"},ngContentSelectors:b,decls:9,vars:10,consts:[["sfSticky","",1,"sf-top-toolbar",3,"stickyScrollMin","ngClass","stickyDisabled"],["stickyToolbar","sfSticky"],["class","sf-top-toolbar__nav-button",3,"ngClass","look","icon","iconLook","title","onClick",4,"ngIf"],[4,"ngIf"],[1,"sf-row","-sf-pl-xs","-sf-pr-2xs"],["class","sf-row__col -align-self-center -sf-txt-nowrap",4,"ngIf"],["tabindex","0",1,"sf-link","sf-row__col","-align-self-center","-sf-txt-align-center","-sf-mr-6xl",3,"click","keyup.enter"],["class","sf-row__col -align-self-center -sf-txt-align-right",4,"ngIf"],[1,"sf-top-toolbar__nav-button",3,"ngClass","look","icon","iconLook","title","onClick"],[4,"ngTemplateOutlet"],[1,"sf-row"],["class","sf-row__col -align-self-center sf-row -align-items-center",4,"ngIf"],[1,"sf-row__col","-align-self-center","sf-row","-align-items-center"],[1,"sf-row__col","-align-self-center","-sf-txt-align-right"],["class","sf-row__col -align-self-center sf-row -align-items-center -no-wrap",4,"ngIf"],[3,"ngClass",4,"ngIf"],[1,"sf-row__col","-align-self-center","sf-row","-align-items-center","-no-wrap"],[3,"ngClass"],[1,"sf-row__col","-align-self-center","-sf-txt-nowrap"]],template:function NavigationMenuComponent_Template(e,t){if(1&e&&(i["ɵɵprojectionDef"](h),i["ɵɵelementStart"](0,"header",0,1),i["ɵɵtemplate"](2,NavigationMenuComponent_sf_button_2_Template,2,7,"sf-button",2),i["ɵɵtemplate"](3,NavigationMenuComponent_ng_container_3_Template,4,3,"ng-container",3),i["ɵɵelementStart"](4,"div",4),i["ɵɵtemplate"](5,NavigationMenuComponent_div_5_Template,2,1,"div",5),i["ɵɵelementStart"](6,"span",6),i["ɵɵlistener"]("click",(function NavigationMenuComponent_Template_span_click_6_listener(){return t.scrollService.scrollToTop()}))("keyup.enter",(function NavigationMenuComponent_Template_span_keyup_enter_6_listener(){return t.scrollService.scrollToTop()})),i["ɵɵtext"](7,"Back to top"),i["ɵɵelementEnd"](),i["ɵɵtemplate"](8,NavigationMenuComponent_div_8_Template,2,1,"div",7),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵreference"](1);i["ɵɵproperty"]("stickyScrollMin",t.configuration.stickyScrollOffset)("ngClass",t.navbarCssClassList)("stickyDisabled",!t.configuration.isScrollEnabled),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",t.configuration&&t.configuration.leftNavbarButtonData&&t.configuration.leftNavbarButtonData.show),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.isSticky),i["ɵɵadvance"](1),i["ɵɵclassProp"]("-sf-hidden",!n.isSticky),i["ɵɵproperty"]("@stickyAnimation",n.isSticky?"active":""),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.configuration.scrollTemplates&&t.configuration.scrollTemplates[0]),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",t.configuration.scrollTemplates&&t.configuration.scrollTemplates[1])}},directives:[r.StickyDirective,u.NgClass,u.NgIf,m.SfButtonComponent,u.NgTemplateOutlet],encapsulation:2,data:{animation:[Object(d.trigger)("stickyAnimation",[Object(d.state)("active",Object(d.style)({opacity:"1"})),Object(d.transition)(p.ANIMATION_STATES.ENTER,[Object(d.style)({opacity:"0"}),Object(d.animate)("500ms ease-out")])])]}}),NavigationMenuComponent}();!function(e){e[e.None=0]="None",e[e.OneColumn=1]="OneColumn",e[e.TwoColumns=2]="TwoColumns",e[e.ThreeColumns=3]="ThreeColumns"}(g||(g={})),function(e){e[e.Back=0]="Back",e[e.Close=1]="Close"}(E||(E={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"SiteTitleDynamicResolver",(function(){return c}));var o=n(259),i=(n(260),n(1139)),r=n(312),a=n(1536),s=n(262),A=n(269),l=n(229),c=function(e){function SiteTitleDynamicResolver(t,n,o){var i=e.call(this,t,n)||this;return i.siteDataStore=t,i.title=n,i.metadataStore=o,i}return Object(o.__extends)(SiteTitleDynamicResolver,e),SiteTitleDynamicResolver.prototype.getTitlePattern=function(e){var t=e.parent,n=t.params[s.ROUTE_PARAMS.TYPE_NAME_SEGMENT]||t.data[s.ROUTE_PARAMS.TYPE_NAME_SEGMENT],o=this.metadataStore.getValue().entities[n];if(null!=o){if(o.isSelfReferencing){var i=e.data[s.RESOLVE_NAMES.itemData];if(i)return i.item.data[o.defaultFieldName]}return this.titlePatternPage.replace("{1}",o.displayName)}return this.titlePatternEmpty},SiteTitleDynamicResolver.ɵfac=function SiteTitleDynamicResolver_Factory(e){return new(e||SiteTitleDynamicResolver)(l["ɵɵinject"](i.SiteDataStore),l["ɵɵinject"](r.Title),l["ɵɵinject"](A.MetadataStore))},SiteTitleDynamicResolver.ɵprov=l["ɵɵdefineInjectable"]({token:SiteTitleDynamicResolver,factory:SiteTitleDynamicResolver.ɵfac}),SiteTitleDynamicResolver}(a.SiteTitleResolver)},function(e,t,n){"use strict";n.r(t),n.d(t,"SiteTitleResolver",(function(){return s}));n(260);var o=n(1139),i=n(312),r=n(1152),a=n(229),s=function(){function SiteTitleResolver(e,t){this.siteDataStore=e,this.title=t,this.map={},this.titlePatternPage="{1} - {0}",this.titlePatternEmpty="{0}",this.map[r.ROUTE_PATHS_NO_PREFIX.HOME]="Home",this.map[r.ROUTE_PATHS_NO_PREFIX.MENU_HOME]="Home",this.map[r.ROUTE_PATHS_NO_PREFIX.CONTENT]="Content",this.map[r.ROUTE_PATHS_NO_PREFIX.PAGES]="Pages"}return SiteTitleResolver.prototype.resolve=function(e,t){var n=this;return this.siteDataStore.getValue().subscribe((function(t){n.updateBrowserTitle(e,t.Name)}))},SiteTitleResolver.prototype.getTitlePattern=function(e){var t="";e&&e.url.length>0&&(t=e.url[0].path);var n=this.map[t];return n?this.titlePatternPage.replace("{1}",n):this.titlePatternEmpty},SiteTitleResolver.prototype.updateBrowserTitle=function(e,t){var n=this.getTitlePattern(e).replace("{0}",t);this.title.setTitle(n)},SiteTitleResolver.ɵfac=function SiteTitleResolver_Factory(e){return new(e||SiteTitleResolver)(a["ɵɵinject"](o.SiteDataStore),a["ɵɵinject"](i.Title))},SiteTitleResolver.ɵprov=a["ɵɵdefineInjectable"]({token:SiteTitleResolver,factory:SiteTitleResolver.ɵfac}),SiteTitleResolver}()},function(e,t,n){"use strict";n.r(t),n.d(t,"BackNavigationService",(function(){return s}));var o=n(271),i=n(260),r=n(262),a=n(229),s=function(){function BackNavigationService(e,t){this.settings=e,this.router=t}return BackNavigationService.prototype.navigateBack=function(e){var t=this.getIndexUrl(e);this.router.navigate([t],{relativeTo:e.route.parent.parent,queryParams:this.getQueryParams(e)})},BackNavigationService.prototype.getIndexUrl=function(e){var t=e.entityData.metadata;return t.hasParent&&e.parentId?t.isMedia?t.setName+"/"+e.parentId+"/"+t.setName:t.parent+"/"+e.parentId+"/"+t.setName:t.setName},BackNavigationService.prototype.getQueryParams=function(e){var t={};t[r.QUERY_PARAMS.PROVIDER]=e.entityData.provider;var n=e.route.parent.snapshot.queryParams[r.FILTER_PARAMS.FILTER];n&&!e.filterCleared&&(t[r.FILTER_PARAMS.FILTER]=n);var o=e.route.parent.snapshot.queryParams[r.QUERY_PARAMS.SORT];o&&(t[r.QUERY_PARAMS.SORT]=o);var i=e.route.parent.snapshot.data[r.RESOLVE_NAMES.siteDataStore];return t[r.QUERY_PARAMS.CULTURE]=e.entityData.metadata.isMultilingual?this.settings.getSiteCulture(i.Id):i.DefaultContentCulture,t},BackNavigationService.ɵfac=function BackNavigationService_Factory(e){return new(e||BackNavigationService)(a["ɵɵinject"](o.Settings),a["ɵɵinject"](i.Router))},BackNavigationService.ɵprov=a["ɵɵdefineInjectable"]({token:BackNavigationService,factory:BackNavigationService.ɵfac}),BackNavigationService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SIDEBAR_SELECTORS",(function(){return A}));var o=n(296),i=n(11),r=n(131),a=n(245),s=n(299),A={isOpen:Object(o.select)(Object(o.createSelector)((function(e){return e.sidebar}),(function(e){return e.isOpen}))),isLoading:Object(o.select)(Object(o.createSelector)((function(e){return e.sidebar}),(function(e){return e.isLoading}))),activeConfig:Object(i.pipe)(Object(o.select)(Object(o.createSelector)((function(e){return e.sidebar}),(function(e){return e.activeConfig}))),Object(r.map)((function(e){var t=e;return t&&(t=Object(a.cloneObject)(e))&&(t.data=s.StoredComponentsDataCache.get(e.name)),t}))),sidebarData:Object(i.pipe)(Object(o.select)(Object(o.createSelector)((function(e){return e.sidebar}),(function(e){return e.sidebarData}))),Object(r.map)((function(e){var t=Object(a.cloneObject)(e);return t.buttons.map((function(e){return e.data=s.StoredComponentsDataCache.get(e.name),e})),t}))),shouldAnimate:Object(i.pipe)(Object(o.select)(Object(o.createSelector)((function(e){return e.sidebar}),(function(e){return e.shouldAnimate}))))}},function(e,t,n){"use strict";n.r(t),n.d(t,"ActionExecutorService",(function(){return B}));var o=n(322),i=n(319),r=n(1118),a=n(11),s=n(1171),A=n(1167),l=n(320),c=n(1202),d=n(1119),p=n(246),f=n(244),u=n(1531),m=n(373),g=n(1151),E=n(293),h=n(1172),b=n(1129),C=n(229),B=function(){function ActionExecutorService(e,t,n,o,i){this.childrenCountStore=e,this.urlService=t,this.window=n,this.dynamicItemStore=o,this.modalWindowService=i}return ActionExecutorService.prototype.execute=function(e){if(e.actionButton.link){var t="true"===this.getOperationParameterValue(e,i.OPERATION_PARAMETERS.openLinkInNewTab),n="true"===this.getOperationParameterValue(e,i.OPERATION_PARAMETERS.skipReload);return this.openUrl(e.actionButton.link,t),Object(a.of)({dataItem:e.updateItem.dataItem,operationData:{skipReload:n},operationMessage:null})}return e.actionButton.context&&e.actionButton.context.count?(this.actionWithCountHandler(e),Object(a.of)({dataItem:e.updateItem.dataItem,operationData:null,operationMessage:null})):e.actionButton.sourceOperation.ExecuteOnServer?e.actionButton.sourceOperation.RequiresConfirmation?this.actionConfirmForDataItemHandler(e):this.updateItemWithOperationResult(e):Object(a.of)({dataItem:e.updateItem.dataItem,operationData:null,operationMessage:null})},ActionExecutorService.prototype.shouldStayAfterPublish=function(e){if(e.sourceOperation&&e.sourceOperation.ContextParameters&&e.sourceOperation.ContextParameters.length){var t=e.sourceOperation.ContextParameters.find((function(e){return e.Name===i.CONTEXT_PARAMETERS.stayAfterPublish}));if(t)return"true"===t.Value.toString().toLowerCase()}return!0},ActionExecutorService.prototype.actionConfirmHandler=function(e){var t=new a.Subject,n=this.getSettings(e,t);return this.modalWindowService.openModalConfirmation(e.route.parent,n,null,void 0,e.window),t.asObservable()},ActionExecutorService.prototype.getOperationParameterValue=function(e,t){if(e.actionButton.sourceOperation&&e.actionButton.sourceOperation.ContextParameters){var n=e.actionButton.sourceOperation.ContextParameters.find((function(e){return e.Name===t}));return n?n.Value:null}},ActionExecutorService.prototype.actionConfirmForDataItemHandler=function(e){var t=this;if(e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState(null,o.ButtonState.Default),e.updateItem.data){var n=e.actionButton.contextParameters;(n=n||{})[i.CONTEXT_PARAMETERS.currentTitle]=e.updateItem.data[e.updateItem.dataItem.metadata.defaultFieldName]}var r=new a.Subject,s=this.getSettings(e,r);this.modalWindowService.openModalConfirmation(e.route.parent,s,e.updateItem.dataItem);var A=new a.Subject;return r.subscribe((function(e){var n=e.confirmContext;n.actionParameters?t.updateItemWithOperationResult(n).subscribe((function(e){A.next(e)}),(function(e){A.error(e)})):A.next(null)})),A.asObservable()},ActionExecutorService.prototype.updateItemWithOperationResult=function(e){var t=this,n=e.updateItem,i=e.actionButton,r={dataItem:n.dataItem,operation:{action:i.name,actionParameters:e.actionParameters||{}}};i.sourceOperation.RequiresItemUpdate&&(r.fallbackProperties=n.fallbackProperties,r.skipUpdate=e.updateItem.skipUpdate||!1),i.sourceOperation.PerformsDelete&&(r.skipUpdate=!0),e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState({name:i.name,state:o.ButtonState.Loading},o.ButtonState.Disabled),void 0===n.doNotRefreshItem&&(n.doNotRefreshItem=e.actionButton.sourceOperation.PerformsDelete);var a=this.dynamicItemStore.saveItemWithOperationResult(n.dataItem,n.data,new A.Action(i.name,r.operation),n.fallbackProperties,n.dataFieldNames,void 0,r.skipUpdate,n.doNotRefreshItem,n.additionalQueryParams);return a.subscribe((function(n){if(i.sourceOperation.PerformsDelete&&t.childrenCountStore.invalidateCachedChidrenCountByChildItem(n.dataItem),i.sourceOperation.HasLinkResult){e.window||(e.window=t.window.open(p.stringConstants.EMPTY_STRING,p.SAME_TAB_TARGET));var r=n.operationData,a=e.window.location;r.Success&&r.Link&&(a.href=r.Link)}e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState({name:i.name,state:o.ButtonState.Checked},o.ButtonState.Disabled)}),(function(n){e.actionButtonStateService&&e.actionButtonStateService.updateActionButtonsState(null,o.ButtonState.Default),n instanceof E.OperationFailedError&&i.sourceOperation.HasLinkResult&&(n.result.success||(e.window.location.href=t.urlService.getAbsoluteUrl(g.NO_PREVIEW_URL)))})),a},ActionExecutorService.prototype.getDialogEnteredParameters=function(e){if(e.data&&e.data.data&&e.component)return e.data.data},ActionExecutorService.prototype.getSettings=function(e,t){var n=e.actionButton,o={title:n.title,descriptionAllowHtml:!0,detailedTitle:n.detailedTitle,icon:l.ActionIcon[n.name]||"info",parameters:n.parameters,contextParameters:n.contextParameters,description:n.sourceOperation.Description,warning:n.sourceOperation.Warning,formValidators:c.OPERATION_VALIDATOR_MAP[n.name],action:n.name,buttons:this.getButtons(n),doneCallback:this.getDoneCallback(e,t)};return e.actionButton.name!==i.OPERATION_NAMES.stopSyncing&&e.actionButton.name!==i.OPERATION_NAMES.delete||(o.hideItemTitle=!0),e.actionButton.name===i.OPERATION_NAMES.shareTaxonomyWithSite&&(o.hideItemTitle=!0,o.innerFormLook="medium sf-pt-zero sf-pb-zero sf-txt-align-left sf-centered-box"),e.actionButton.name===i.OPERATION_NAMES.createPersonalizedVersion&&(o.hideItemTitle=!0,o.title="Add personalized page"),e.actionButton.name.startsWith(i.OPERATION_NAMES.deletePersonalizedVersion)&&(o.hideItemTitle=!0,o.icon="trash",o.mainFormSize=b.ModalMainFormSize.Small),o},ActionExecutorService.prototype.getButtons=function(e){if(e.sourceOperation.Actions&&e.sourceOperation.Actions.length>0){var t=e.sourceOperation.Actions.map((function(t){var n="large";t.Type===i.OperationActionType.Success?n="action large":t.Type===i.OperationActionType.Error&&(n="delete large");return new r.ConfirmButton(t.Title,(function(n){var o=!0,a=n.component,s=null;a instanceof d.ModalConfirmationComponent&&a.parameters&&a.editableFields&&((o=a.editableFields.valid())&&(s=e.sourceOperation.Name===i.OPERATION_NAMES.schedule?null!==a.editableFields.getFields()?a.editableFields.getFields(!1):null:e.sourceOperation.Name===i.OPERATION_NAMES.createPersonalizedVersion?a.editableFields.getFields(!1):a.editableFields.getFields()));return e.sourceOperation.Name!==i.OPERATION_NAMES.schedule&&(s||(s={}),s.actionName=t.Name),new r.ClickResult(s,o)}),n)}));return t.push(new r.CancelButton),t}return[new r.CancelButton("Close")]},ActionExecutorService.prototype.getDoneCallback=function(e,t){var n=this;return function(o){var i=n.getDialogEnteredParameters(o);e.actionParameters=i,t.next({dialogResult:o,confirmContext:e})}},ActionExecutorService.prototype.openUrl=function(e,t){void 0===t&&(t=!1);var n=p.SAME_TAB_TARGET;t&&(n=p.NEW_TAB_TARGET);try{this.window.open(e,n)}catch(e){if("Unspecified error."!==e.message)throw e}},ActionExecutorService.prototype.actionWithCountHandler=function(e){var t=e.actionButton.context?e.actionButton.context.count:null,n={type:u.ModalListComponent,properties:{contentLook:"medium",actionTitle:e.actionButton.title,action:e.actionButton.name,count:t,dataItem:e.updateItem.dataItem,showDataItemTitle:!0}},o=new r.DialogData(n);this.modalWindowService.setMapping(o),this.modalWindowService.open(e.route)},ActionExecutorService.ɵfac=function ActionExecutorService_Factory(e){return new(e||ActionExecutorService)(C["ɵɵinject"](h.ChildrenCountStore),C["ɵɵinject"](m.UrlService),C["ɵɵinject"](f.WINDOW_TOKEN),C["ɵɵinject"](s.DynamicItemStore),C["ɵɵinject"](r.ModalWindowService))},ActionExecutorService.ɵprov=C["ɵɵdefineInjectable"]({token:ActionExecutorService,factory:ActionExecutorService.ɵfac}),ActionExecutorService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ActionNotificationComponent",(function(){return i}));var o=n(229);n(11);function ActionNotificationComponent_h4_0_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"h4"),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](n.title)}}function ActionNotificationComponent_span_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span",4),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](n.description)}}var _c0=function(e){return{"-sf-ml-m":e}};function ActionNotificationComponent_sf_action_menu_3_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-action-menu",5),o["ɵɵlistener"]("buttonClicked",(function ActionNotificationComponent_sf_action_menu_3_Template_sf_action_menu_buttonClicked_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onActionButtonClickedHandler(e)})),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"]();o["ɵɵproperty"]("operations",i.operations)("options",i.bottomActionMenuOptions)("ngClass",o["ɵɵpureFunction1"](3,_c0,i.description))}}var i=function(){function ActionNotificationComponent(){this.onActionButtonClicked=new o.EventEmitter}return ActionNotificationComponent.prototype.onActionButtonClickedHandler=function(e){this.onActionButtonClicked.emit(e)},ActionNotificationComponent.ɵfac=function ActionNotificationComponent_Factory(e){return new(e||ActionNotificationComponent)},ActionNotificationComponent.ɵcmp=o["ɵɵdefineComponent"]({type:ActionNotificationComponent,selectors:[["ng-component"]],inputs:{title:"title",description:"description",operations:"operations"},outputs:{onActionButtonClicked:"onActionButtonClicked"},decls:4,vars:3,consts:[[4,"ngIf"],[1,"sf-row","-align-items-center","-no-wrap"],["class","sf-row__col -auto-flex",4,"ngIf"],["buttonsLook","small","class","sf-row__col -sf-txt-align-right",3,"operations","options","ngClass","buttonClicked",4,"ngIf"],[1,"sf-row__col","-auto-flex"],["buttonsLook","small",1,"sf-row__col","-sf-txt-align-right",3,"operations","options","ngClass","buttonClicked"]],template:function ActionNotificationComponent_Template(e,t){1&e&&(o["ɵɵtemplate"](0,ActionNotificationComponent_h4_0_Template,2,1,"h4",0),o["ɵɵelementStart"](1,"div",1),o["ɵɵtemplate"](2,ActionNotificationComponent_span_2_Template,2,1,"span",2),o["ɵɵtemplate"](3,ActionNotificationComponent_sf_action_menu_3_Template,1,5,"sf-action-menu",3),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵproperty"]("ngIf",t.title),o["ɵɵadvance"](2),o["ɵɵproperty"]("ngIf",t.description),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.operations))},encapsulation:2}),ActionNotificationComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MobilePreviewCommand",(function(){return s}));var o=n(11),i=n(1118),r=n(1542),a=n(1543),s=function(){function MobilePreviewCommand(e){this.modalWindowService=e,this.mobilePreviewRoute="mobile-preview"}return MobilePreviewCommand.prototype.execute=function(e){var t,n=e.data.previewUrl,s=e.currentRoute,A=new o.Subject;n=this.appendPageSegment(n,null===(t=s.snapshot)||void 0===t?void 0:t.queryParams);var l={type:a.MobilePreviewComponent,properties:{pagePreviewUrl:n}},c=new i.DialogData(l,(function(){A.next()}));return c.alwaysSticky=!0,c.hideBackToTopButton=!0,c.contentClass="-preview",c.toolbarData={type:r.MobilePreviewResizerComponent},this.modalWindowService.setMapping(c,this.mobilePreviewRoute),this.modalWindowService.show(this.mobilePreviewRoute,s),A.asObservable()},MobilePreviewCommand.prototype.appendPageSegment=function(e,t){return!e.includes("segment")&&t&&t.segment?e+"?segment="+t.segment:e},MobilePreviewCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MobilePreviewResizerComponent",(function(){return m}));var o=n(259),i=n(296),r=n(131),a=n(11),s=n(264),A=n(306),l=n(295),c=n(372),d=n(229),p=n(354),f=n(261);function MobilePreviewResizerComponent_div_4_Template(e,t){if(1&e){var n=d["ɵɵgetCurrentView"]();d["ɵɵelementStart"](0,"div",10),d["ɵɵlistener"]("click",(function MobilePreviewResizerComponent_div_4_Template_div_click_0_listener(){d["ɵɵrestoreView"](n);var e=t.$implicit;return d["ɵɵnextContext"]().onResize(e.width)})),d["ɵɵelement"](1,"div",11),d["ɵɵelementStart"](2,"div",12),d["ɵɵtext"](3),d["ɵɵelementEnd"](),d["ɵɵelementStart"](4,"div",13),d["ɵɵtext"](5),d["ɵɵelementEnd"](),d["ɵɵelement"](6,"div",14),d["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,i=d["ɵɵnextContext"]();d["ɵɵstyleMapInterpolate2"]("--width: ",o.width,"; --z-index: ",i.maxZIndex-o.width,""),d["ɵɵattribute"]("data-breakpoint",o),d["ɵɵadvance"](3),d["ɵɵtextInterpolate"](o.width),d["ɵɵadvance"](2),d["ɵɵtextInterpolate"](o.width)}}function MobilePreviewResizerComponent_div_15_Template(e,t){1&e&&d["ɵɵelement"](0,"div",15)}var u=[{width:360,iconName:"mobile",iconLook:"black size-2xl"},{width:480,iconName:"mobile",iconLook:"black size-2xl"},{width:640,iconName:"mobile",iconLook:"black size-2xl sf-rotate--90"},{width:768,iconName:"tablet",iconLook:"black size-2xl"},{width:1024,iconName:"tablet",iconLook:"black size-2xl sf-rotate--90"}],m=function(e){function MobilePreviewResizerComponent(t,n){var o=e.call(this)||this;return o.store=t,o.documentProvider=n,o.maxZIndex=1e5,o.breakpoints=u.sort((function(e,t){return e.width-t.width})),o.iconName=o.breakpoints[0].iconName,o.iconLook=o.breakpoints[0].iconLook,o.minSliderValue=o.breakpoints[0].width,o.maxSliderValue=o.breakpoints[o.breakpoints.length-1].width,o.dragArrowColor="light",o}return Object(o.__extends)(MobilePreviewResizerComponent,e),MobilePreviewResizerComponent.prototype.ngOnInit=function(){var e=this;this.registerSubscription(this.store.pipe(Object(r.first)(),Object(i.select)((function(t){var n=t.mobilePreview.width;e.initialPreviewWidth=n,e.sliderValue=n,e.changeIconBasedOnWidth(n)}))).subscribe()),this.mouseMoveSubscription=Object(a.fromEvent)(this.documentProvider,"mousemove").subscribe((function(t){e.isDragging&&e.onArrowDrag(t,e.isDraggingLeftArrow)})),this.mouseUpSubscription=Object(a.fromEvent)(this.documentProvider,"mouseup").subscribe((function(t){e.isDragging&&e.onArrowDragEnd(t)})),this.registerSubscription(this.mouseMoveSubscription),this.registerSubscription(this.mouseUpSubscription)},MobilePreviewResizerComponent.prototype.ngOnDestroy=function(){this.mouseMoveSubscription.unsubscribe(),this.mouseUpSubscription.unsubscribe()},MobilePreviewResizerComponent.prototype.onResize=function(e){this.sliderValue=e,this.changeIconBasedOnWidth(e),this.store.dispatch(A.MOBILE_PREVIEW_ACTIONS.changeWidth({width:e}))},MobilePreviewResizerComponent.prototype.onArrowDragStart=function(e,t){this.isDragging=!0,this.dragArrowColor="black",this.isDraggingLeftArrow=t},MobilePreviewResizerComponent.prototype.onArrowDragEnd=function(e){this.isDragging=!1,this.dragArrowColor="light"},MobilePreviewResizerComponent.prototype.focusDragArrow=function(e,t){this.dragArrowColor=t?"black":"light"},MobilePreviewResizerComponent.prototype.onArrowDrag=function(e,t){if(e.clientX>0){var n=this.documentProvider.documentElement.clientWidth,o=2*(n/2-(t?e.clientX:n-e.clientX));o>=this.maxSliderValue?o=this.maxSliderValue:o<=this.minSliderValue&&(o=this.minSliderValue),this.onResize(o)}},MobilePreviewResizerComponent.prototype.changeIconBasedOnWidth=function(e){var t=this.breakpoints.find((function(t){return t.width>=e}));t&&(this.iconName=t.iconName,this.iconLook=t.iconLook)},MobilePreviewResizerComponent.ɵfac=function MobilePreviewResizerComponent_Factory(e){return new(e||MobilePreviewResizerComponent)(d["ɵɵdirectiveInject"](l.AppStore),d["ɵɵdirectiveInject"](c.DOCUMENT_TOKEN))},MobilePreviewResizerComponent.ɵcmp=d["ɵɵdefineComponent"]({type:MobilePreviewResizerComponent,selectors:[["sf-mobile-preview-resizer"]],features:[d["ɵɵInheritDefinitionFeature"]],decls:16,vars:19,consts:[[1,"-sf-ml-xs"],[1,"sf-ruler","-sf-user-select-none"],[1,"sf-ruler__icon","sf-row","-inline","-align-content-center",3,"name","look"],["class","sf-ruler__break-point",3,"style","click",4,"ngFor","ngForOf"],[1,"sf-ruler__main-arrow","-left",3,"mousedown","mouseup","mouseenter","mouseleave"],["name","arrows-h",3,"look"],[1,"sf-ruler__label","-main"],[1,"sf-ruler__arrow","-main"],[1,"sf-ruler__main-arrow","-right",3,"mousedown","mouseup","mouseenter","mouseleave"],["class","sf-ruler__drag-overlay",4,"ngIf"],[1,"sf-ruler__break-point",3,"click"],[1,"sf-ruler__arrow","-left"],[1,"sf-ruler__label","-left"],[1,"sf-ruler__label","-right"],[1,"sf-ruler__arrow","-right"],[1,"sf-ruler__drag-overlay"]],template:function MobilePreviewResizerComponent_Template(e,t){1&e&&(d["ɵɵelementStart"](0,"h3",0),d["ɵɵtext"](1,"Preview for mobile"),d["ɵɵelementEnd"](),d["ɵɵelementStart"](2,"div",1),d["ɵɵelement"](3,"sf-icon",2),d["ɵɵtemplate"](4,MobilePreviewResizerComponent_div_4_Template,7,7,"div",3),d["ɵɵelementStart"](5,"div",4),d["ɵɵlistener"]("mousedown",(function MobilePreviewResizerComponent_Template_div_mousedown_5_listener(e){return t.onArrowDragStart(e,!0)}))("mouseup",(function MobilePreviewResizerComponent_Template_div_mouseup_5_listener(e){return t.onArrowDragEnd(e)}))("mouseenter",(function MobilePreviewResizerComponent_Template_div_mouseenter_5_listener(e){return t.focusDragArrow(e,!0)}))("mouseleave",(function MobilePreviewResizerComponent_Template_div_mouseleave_5_listener(e){return t.focusDragArrow(e,!1)})),d["ɵɵelement"](6,"sf-icon",5),d["ɵɵelementStart"](7,"div",6),d["ɵɵtext"](8),d["ɵɵelementEnd"](),d["ɵɵelement"](9,"div",7),d["ɵɵelementEnd"](),d["ɵɵelementStart"](10,"div",8),d["ɵɵlistener"]("mousedown",(function MobilePreviewResizerComponent_Template_div_mousedown_10_listener(e){return t.onArrowDragStart(e,!1)}))("mouseup",(function MobilePreviewResizerComponent_Template_div_mouseup_10_listener(e){return t.onArrowDragEnd(e)}))("mouseenter",(function MobilePreviewResizerComponent_Template_div_mouseenter_10_listener(e){return t.focusDragArrow(e,!0)}))("mouseleave",(function MobilePreviewResizerComponent_Template_div_mouseleave_10_listener(e){return t.focusDragArrow(e,!1)})),d["ɵɵelement"](11,"sf-icon",5),d["ɵɵelementStart"](12,"div",6),d["ɵɵtext"](13),d["ɵɵelementEnd"](),d["ɵɵelement"](14,"div",7),d["ɵɵelementEnd"](),d["ɵɵelementEnd"](),d["ɵɵtemplate"](15,MobilePreviewResizerComponent_div_15_Template,1,0,"div",9)),2&e&&(d["ɵɵadvance"](2),d["ɵɵstyleMapInterpolate1"]("--ruler-width: ",t.maxSliderValue,";"),d["ɵɵadvance"](1),d["ɵɵproperty"]("name",t.iconName)("look",t.iconLook),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngForOf",t.breakpoints),d["ɵɵadvance"](1),d["ɵɵstyleMapInterpolate2"]("--left: ",(t.maxSliderValue-t.sliderValue)/2,"; --z-index: ",t.maxZIndex,""),d["ɵɵadvance"](1),d["ɵɵpropertyInterpolate1"]("look","size-l ",t.dragArrowColor,""),d["ɵɵadvance"](2),d["ɵɵtextInterpolate"](t.sliderValue),d["ɵɵadvance"](2),d["ɵɵstyleMapInterpolate2"]("--right: ",(t.maxSliderValue-t.sliderValue)/2,"; --z-index: ",t.maxZIndex,""),d["ɵɵadvance"](1),d["ɵɵpropertyInterpolate1"]("look","size-l ",t.dragArrowColor,""),d["ɵɵadvance"](2),d["ɵɵtextInterpolate"](t.sliderValue),d["ɵɵadvance"](2),d["ɵɵproperty"]("ngIf",t.isDragging))},directives:[p.SfIconComponent,f.NgForOf,f.NgIf],styles:['.sf-ruler[_ngcontent-%COMP%] {\n position: absolute;\n height: 46px;\n width: calc(var(--ruler-width) * 1px);\n top: 46px;\n left: 50%;\n margin-top: -46px;\n margin-left: calc((var(--ruler-width) / 2) * -1px);\n z-index: 1;\n}\n.sf-ruler__icon[_ngcontent-%COMP%] {\n position: absolute;\n margin-left: -15px;\n min-width: 30px;\n height: 46px;\n z-index: 1000000;\n}\n.sf-ruler__break-point[_ngcontent-%COMP%] {\n position: absolute;\n left: 50%;\n margin-left: calc((var(--width) / 2) * -1px);\n border-left: 1px dashed #ccc;\n border-right: 1px dashed #ccc;\n height: 100%;\n width: calc( var(--width) * 1px);\n z-index: var(--z-index);\n cursor: pointer;\n}\n.sf-ruler__break-point[_ngcontent-%COMP%]:hover {\n background-color: #dcecf5;\n}\n.sf-ruler__label[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 6px;\n padding-bottom: 2px;\n font-size: 10px;\n color: #999;\n min-width: 26px;\n text-align: center;\n}\n.sf-ruler__label.-left[_ngcontent-%COMP%] {\n left: -13px;\n}\n.sf-ruler__label.-right[_ngcontent-%COMP%] {\n right: -13px;\n}\n.sf-ruler__label.-main[_ngcontent-%COMP%] {\n left: -2px;\n}\n.sf-ruler__arrow[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 0;\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #ccc;\n}\n.sf-ruler__arrow.-left[_ngcontent-%COMP%] {\n left: -6px;\n}\n.sf-ruler__arrow.-right[_ngcontent-%COMP%] {\n right: -6px;\n}\n.sf-ruler__arrow.-main[_ngcontent-%COMP%] {\n left: 5px;\n}\n.sf-ruler__main-arrow[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n width: 20px;\n height: 46px;\n padding-top: 4px;\n z-index: var(--z-index);\n cursor: ew-resize;\n}\n.sf-ruler__main-arrow[_ngcontent-%COMP%]::before {\n position: absolute;\n display: block;\n content: "";\n height: 46px;\n width: 1px;\n left: 10px;\n top: -4px;\n border-left: 1px dashed #ccc;\n z-index: -1;\n}\n.sf-ruler__main-arrow.-left[_ngcontent-%COMP%] {\n left: calc(var(--left) * 1px - 10px);\n}\n.sf-ruler__main-arrow.-right[_ngcontent-%COMP%] {\n right: calc(var(--right) * 1px - 10px);\n}\n.sf-ruler__main-arrow.-right[_ngcontent-%COMP%] .sf-ruler__label.-main[_ngcontent-%COMP%] {\n left: -4px;\n}\n.sf-ruler__drag-overlay[_ngcontent-%COMP%] {\n position: absolute;\n top: 46px;\n left: 0;\n right: 0;\n bottom: 0;\n height: calc(100vh - 46px);\n width: 100vw;\n z-index: 1000000;\n}']}),MobilePreviewResizerComponent}(s.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MobilePreviewComponent",(function(){return m}));var o=n(259),i=n(296),r=n(131),a=n(264),s=n(246),A=n(295),l=n(1544),c=n(229),d=n(261),p=n(1072),f=n(354),u=["frame"];function MobilePreviewComponent_iframe_0_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"iframe",2,3),c["ɵɵlistener"]("resize",(function MobilePreviewComponent_iframe_0_Template_iframe_resize_0_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"]().onResize()}))("load",(function MobilePreviewComponent_iframe_0_Template_iframe_load_0_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"]().onLoad()})),c["ɵɵpipe"](2,"sfSafe"),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"]();c["ɵɵproperty"]("src",c["ɵɵpipeBind2"](2,3,o.pagePreviewUrl,"resourceUrl"),c["ɵɵsanitizeResourceUrl"])("width",o.frameWidth)("height",o.frameHeight)}}function MobilePreviewComponent_sf_loader_1_Template(e,t){1&e&&c["ɵɵelement"](0,"sf-loader",4)}var m=function(e){function MobilePreviewComponent(t){var n=e.call(this)||this;return n.store=t,n.frameHeight=0,n.showLoading=!0,n}return Object(o.__extends)(MobilePreviewComponent,e),MobilePreviewComponent.prototype.ngOnInit=function(){var e=this;this.registerSubscription(this.store.pipe(Object(r.first)(),Object(i.select)((function(t){e.frameWidth=t.mobilePreview.width}))).subscribe()),this.registerSubscription(this.store.pipe(l.MOBILE_PREVIEW_SELECTORS.changeWidth).subscribe((function(t){e.frameWidth=t,e.isFrameReady()&&(e.frame.nativeElement.contentWindow.document.body.style.overflow="hidden")})))},MobilePreviewComponent.prototype.onLoad=function(){this.calculateFrameHeight(),this.frame&&this.frame.nativeElement.contentWindow.document.head&&(this.addRequiredStylesInsideFrame(this.frame.nativeElement.contentWindow.document.head),this.showLoading=!1)},MobilePreviewComponent.prototype.onResize=function(){this.calculateFrameHeight()},MobilePreviewComponent.prototype.calculateFrameHeight=function(){this.isFrameReady()&&(this.frameHeight=this.frame.nativeElement.contentWindow.document.body.scrollHeight+46)},MobilePreviewComponent.prototype.isFrameReady=function(){return!(!this.frame||!this.frame.nativeElement.contentWindow.document.body)},MobilePreviewComponent.prototype.addRequiredStylesInsideFrame=function(e){var t=document.createElement("style");t.appendChild(document.createTextNode(s.stringConstants.EMPTY_STRING)),e.appendChild(t),t.sheet.insertRule('body { overflow: "hidden" }'),t.sheet.insertRule("img { pointer-events: none }")},MobilePreviewComponent.ɵfac=function MobilePreviewComponent_Factory(e){return new(e||MobilePreviewComponent)(c["ɵɵdirectiveInject"](A.AppStore))},MobilePreviewComponent.ɵcmp=c["ɵɵdefineComponent"]({type:MobilePreviewComponent,selectors:[["sf-mobile-preview"]],viewQuery:function MobilePreviewComponent_Query(e,t){if(1&e&&c["ɵɵviewQuery"](u,1),2&e){var n;c["ɵɵqueryRefresh"](n=c["ɵɵloadQuery"]())&&(t.frame=n.first)}},inputs:{pagePreviewUrl:"pagePreviewUrl"},features:[c["ɵɵInheritDefinitionFeature"]],decls:2,vars:2,consts:[["frameborder","0","sfResize","",3,"src","width","height","resize","load",4,"ngIf"],["look","big",4,"ngIf"],["frameborder","0","sfResize","",3,"src","width","height","resize","load"],["frame",""],["look","big"]],template:function MobilePreviewComponent_Template(e,t){1&e&&(c["ɵɵtemplate"](0,MobilePreviewComponent_iframe_0_Template,3,6,"iframe",0),c["ɵɵtemplate"](1,MobilePreviewComponent_sf_loader_1_Template,1,0,"sf-loader",1)),2&e&&(c["ɵɵproperty"]("ngIf",t.pagePreviewUrl),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",t.showLoading))},directives:[d.NgIf,p.ResizeDirective,f.SfLoaderComponent],pipes:[f.SfSafePipe],encapsulation:2}),MobilePreviewComponent}(a.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MOBILE_PREVIEW_SELECTORS",(function(){return i}));var o=n(296),i={changeWidth:Object(o.select)(Object(o.createSelector)((function(e){return e.mobilePreview}),(function(e){return e.width})))}},function(e,t,n){"use strict";n.r(t),n.d(t,"SitefinityInsightMenuCommand",(function(){return A}));var o=n(11),i=n(1118),r=n(1546),a=n(313),s=n(229),A=function(){function SitefinityInsightMenuCommand(e){this.modalWindowService=e}return SitefinityInsightMenuCommand.prototype.execute=function(e){var t=new r.ContentItemInfo(e.data.dataItem),n=new i.DialogData({type:null,properties:{externalTouchpointLoad$:null,contentItemInfo:t,notifyGridCellForNewTouchpointFunc:function(){}}});return this.modalWindowService.setMapping(n,a.INSIGHT_ROUTES.routeKey),this.modalWindowService.show(a.INSIGHT_ROUTES.routeKey,e.currentRoute),Object(o.of)(!0)},SitefinityInsightMenuCommand.ɵfac=function SitefinityInsightMenuCommand_Factory(e){return new(e||SitefinityInsightMenuCommand)(s["ɵɵinject"](i.ModalWindowService))},SitefinityInsightMenuCommand.ɵprov=s["ɵɵdefineInjectable"]({token:SitefinityInsightMenuCommand,factory:SitefinityInsightMenuCommand.ɵfac}),SitefinityInsightMenuCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentItemInfo",(function(){return o}));var o=function(){function ContentItemInfo(e){this.DefaultFieldName=e.metadata.defaultFieldName,this.Title=e.data[this.DefaultFieldName],this.Id=e.data.Id,this.Provider=e.provider,this.HasChildren=e.childTypes.length>0,this.CurrentCulture=e.culture,this.ContentType=ContentItemInfo.getContentTypeFromFullTypeName(e.metadata.typeFullName),this.SfSetName=e.metadata.setName,this.AvailableLanguages=e.data.AvailableLanguages||[]}return ContentItemInfo.getContentTypeFromFullTypeName=function(e){var t=e.lastIndexOf(".")+1;return e.substring(t)},ContentItemInfo}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ErrorWidgetComponent",(function(){return a}));var o=n(1483),i=n(229),r=o.CLASS_ZONE_UI,a=function(){function ErrorWidgetComponent(){this.classes=r}return ErrorWidgetComponent.ɵfac=function ErrorWidgetComponent_Factory(e){return new(e||ErrorWidgetComponent)},ErrorWidgetComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ErrorWidgetComponent,selectors:[["sf-error-widget"]],hostVars:2,hostBindings:function ErrorWidgetComponent_HostBindings(e,t){2&e&&i["ɵɵclassMap"](t.classes)},inputs:{error:"error"},decls:2,vars:1,consts:[[1,"sf-zone-error"]],template:function ErrorWidgetComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" Widget cannot be displayed. Actual error is: ",t.error,"\n"))},encapsulation:2}),ErrorWidgetComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"WidgetLabelComponent",(function(){return s}));var o=n(1483),i=n(229),r=n(261),a=n(354);function WidgetLabelComponent_sf_icon_1_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-icon",3)}function WidgetLabelComponent_span_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",4),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.tooltip)}}var _c0=function(e){return{"-sf-ml-zero":e}},s=function(){function WidgetLabelComponent(){this.classes=o.CLASS_ZONE_LABEL}return WidgetLabelComponent.prototype.ngOnInit=function(){this.cssClasses=this.generateCssClassList()},WidgetLabelComponent.prototype.generateCssClassList=function(){var e="sf-widget-label";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e},WidgetLabelComponent.ɵfac=function WidgetLabelComponent_Factory(e){return new(e||WidgetLabelComponent)},WidgetLabelComponent.ɵcmp=i["ɵɵdefineComponent"]({type:WidgetLabelComponent,selectors:[["sf-widget-label"]],hostVars:2,hostBindings:function WidgetLabelComponent_HostBindings(e,t){2&e&&i["ɵɵclassMap"](t.classes)},inputs:{label:"label",tooltip:"tooltip",hideDraggableIcon:"hideDraggableIcon",look:"look"},decls:5,vars:9,consts:[["name","bars","look","size-4xs color-inherit","class","-sf-mr-4xs",4,"ngIf"],[1,"sf-widget-label__text",3,"ngClass"],["class","sf-widget-label__tooltip -sf-txt-upper-case -sf-ml-6xs",4,"ngIf"],["name","bars","look","size-4xs color-inherit",1,"-sf-mr-4xs"],[1,"sf-widget-label__tooltip","-sf-txt-upper-case","-sf-ml-6xs"]],template:function WidgetLabelComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"span"),i["ɵɵtemplate"](1,WidgetLabelComponent_sf_icon_1_Template,1,0,"sf-icon",0),i["ɵɵelementStart"](2,"span",1),i["ɵɵtext"](3),i["ɵɵtemplate"](4,WidgetLabelComponent_span_4_Template,2,1,"span",2),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵclassMap"](t.cssClasses),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.hideDraggableIcon),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](7,_c0,t.hideDraggableIcon)),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",t.label," "),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.tooltip))},directives:[r.NgIf,r.NgClass,a.SfIconComponent],styles:['@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n:host article, :host aside, :host details, :host figcaption, :host figure, :host footer, :host header, :host hgroup, :host main, :host nav, :host section, :host summary,\n:host button, :host input, :host optgroup, :host select, :host textarea,\n:host h1, :host h2, :host h3, :host h4, :host h5, :host h6,\n:host p, :host blockquote, :host pre,\n:host dl, :host dd, :host ol, :host ul, :host li,\n:host form, :host fieldset, :host legend, :host label,\n:host table, :host th, :host td, :host caption,\n:host hr {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal;\n -webkit-font-kerning: auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n -webkit-text-orientation: mixed;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n}\n:host {\n --badge-white-border-color: #e4e4e4;\n --badge-color-bg-positive: #38ab63;\n --badge-color-bg-negative: #ff4848;\n --badge-add-variation-bg-color: #b3d3f4;\n --badge-add-variation-border-color: #b3d3f4;\n --badge-add-variation-hover: #99c4f0;\n --badge-add-variation-border-hover: #99c4f0;\n --badge-add-variation-color: #fff;\n --badge-edit-variation-color: #fff;\n --badge-edit-variation-bg-color: #006CD9;\n --badge-edit-variation-hover: #005bb7;\n --badge-add-color: #333;\n --badge-icon-color: #333;\n --badge-white-color: #333;\n --badge-negative-color: #fff;\n --badge-positive-color: #fff;\n --badge-color: #fff;\n}\n:host {\n --button-border-color: #e4e4e4;\n --button-background-color: #fff;\n --button-color: #333;\n --button-interaction-border-color: #e4e4e4;\n --button-interaction-background-color: #e4e4e4;\n --button-interaction-color: #333;\n --button-disabled-border-color: #eee;\n --button-disabled-background-color: #fff;\n --button-disabled-color: #e4e4e4;\n --button-disabled-darker-color: #999;\n --action-button-border-color: #38ab63;\n --action-button-background-color: #38ab63;\n --action-button-color: #fff;\n --action-button-interaction-border-color: #309255;\n --action-button-interaction-background-color: #309255;\n --action-button-interaction-color: #fff;\n --action-button-disabled-border-color: #c4e6d1;\n --action-button-disabled-background-color: #c4e6d1;\n --action-button-disabled-color: #fff;\n --delete-button-border-color: #ff4848;\n --delete-button-background-color: #ff4848;\n --delete-button-color: #fff;\n --delete-button-interaction-border-color: #e62f2f;\n --delete-button-interaction-background-color: #e62f2f;\n --delete-button-interaction-color: #fff;\n --delete-button-disabled-border-color: #ffc8c8;\n --delete-button-disabled-background-color: #ffc8c8;\n --delete-button-disabled-color: #fff;\n}\n:host {\n --checkbox-border: #e4e4e4;\n --checkbox-checked-border: #e4e4e4;\n --checkbox-border-hover: #DCECF5;\n}\n:host {\n --radio-chip-border: #cbcbcb;\n --radio-chip-selected-bg-color: #DCECF5;\n}\n:host {\n --color-success: #38ab63;\n --color-error: #ff4848;\n}\n:host {\n --dropdown-border: #eee;\n --dropdown-item-counter-neutral: #ccc;\n}\n:host {\n --editor-inline-min-height: 150px;\n --editor-inline-min-height-long: 300px;\n --editor-collapsed-height: 450px;\n}\n:host {\n --default-icon-color: #777;\n --icon-lighter-color: #eee;\n --icon-light-color: #ccc;\n --icon-illustrative-font-color: #eee;\n --icon-positive-color: #38ab63;\n --icon-negative-color: #ff4848;\n --icon-badge-add-color: #fff;\n --icon-badge-add-bg-color: #b3d3f4;\n --icon-badge-add-border-color: #b3d3f4;\n}\n:host {\n --default-icon-size: 1.8rem;\n --icon-size-7xs: .5rem;\n --icon-size-5xs: 1rem;\n --icon-size-4xs: 1.1rem;\n --icon-size-3xs: 1.2rem;\n --icon-size-2xs: 1.3rem;\n --icon-size-xs: 1.4rem;\n --icon-size-s: 1.6rem;\n --icon-size-m: 1.8rem;\n --icon-size-l: 2rem;\n --icon-size-xl: 2.2rem;\n --icon-size-2xl: 2.8rem;\n --icon-size-3xl: 3.6rem;\n --icon-size-4xl: 4.8rem;\n --icon-size-5xl: 6rem;\n --icon-illustrative-size: 10rem;\n --icon-illustrative-font-size: 4.6rem;\n --icon-illustrative-size-sm: 6rem;\n --icon-zone-editor-size: 1.5rem;\n --icon-faq-size: 2.4rem;\n --icon-menu-font-size: 4.2rem;\n --icon-size-badge: 2.6rem;\n}\n:host {\n --input-border: #e4e4e4;\n --input-border-hover: #e4e4e4;\n --input-char-counter-success-color: #38ab63;\n --input-char-counter-error-color: #ff4848;\n --input-placeholder-color: #ccc;\n --input-title-placeholder-color: #ccc;\n}\n:host {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n:host {\n --image-empty-border: #e4e4e4;\n --not-translated-image-label-bg: transparent;\n}\n:host {\n --select-arrow-color: #777;\n}\n:host {\n --input-box-shadow-hover: #e4e4e4;\n}\n:host {\n --status-icon-color-system: #ccc;\n --status-icon-color-published: #38ab63;\n --status-icon-color-restricted: #ff4848;\n --status-icon-color-unpublished: #999;\n --status-icon-color-scheduled: #006CD9;\n --status-icon-color-draft: #333;\n --status-bg-color-default: #ED8527;\n}\n:host {\n --secondary-text-color: #999;\n}\n:host {\n --font-size-h1-lg: 6.4rem;\n --font-size-h1: 4.2rem;\n --font-size-h2: 2rem;\n --font-size-h3: 2rem;\n --font-size-h4-lg: 1.4rem;\n --font-size-h4: 1.3rem;\n --font-size-h5: 1rem;\n --font-size-base: 1.3rem;\n --font-size-lg: 1.5rem;\n --color-h2: #777;\n --color-h5: #999;\n}\n:host {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 46px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: "FontAwesome";\n src: url("./assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0");\n src: url("./assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("./assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("./assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("./assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("./assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");\n font-weight: normal;\n font-style: normal;\n}\n.sf-fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.sf-fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.sf-fa-2x {\n font-size: 2em;\n}\n.sf-fa-3x {\n font-size: 3em;\n}\n.sf-fa-4x {\n font-size: 4em;\n}\n.sf-fa-5x {\n font-size: 5em;\n}\n.sf-fa-fw {\n width: 1.2857142857em;\n text-align: center;\n}\n.sf-fa-ul {\n padding-left: 0;\n margin-left: 2.1428571429em;\n list-style-type: none;\n}\n.sf-fa-ul > li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "";\n}\n.sf-fa-music:before {\n content: "";\n}\n.sf-fa-search:before {\n content: "";\n}\n.sf-fa-envelope-o:before {\n content: "";\n}\n.sf-fa-heart:before {\n content: "";\n}\n.sf-fa-star:before {\n content: "";\n}\n.sf-fa-star-o:before {\n content: "";\n}\n.sf-fa-user:before {\n content: "";\n}\n.sf-fa-film:before {\n content: "";\n}\n.sf-fa-th-large:before {\n content: "";\n}\n.sf-fa-th:before {\n content: "";\n}\n.sf-fa-th-list:before {\n content: "";\n}\n.sf-fa-check:before {\n content: "";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "";\n}\n.sf-fa-search-plus:before {\n content: "";\n}\n.sf-fa-search-minus:before {\n content: "";\n}\n.sf-fa-power-off:before {\n content: "";\n}\n.sf-fa-signal:before {\n content: "";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "";\n}\n.sf-fa-trash-o:before {\n content: "";\n}\n.sf-fa-home:before {\n content: "";\n}\n.sf-fa-file-o:before {\n content: "";\n}\n.sf-fa-clock-o:before {\n content: "";\n}\n.sf-fa-road:before {\n content: "";\n}\n.sf-fa-download:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "";\n}\n.sf-fa-inbox:before {\n content: "";\n}\n.sf-fa-play-circle-o:before {\n content: "";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "";\n}\n.sf-fa-refresh:before {\n content: "";\n}\n.sf-fa-list-alt:before {\n content: "";\n}\n.sf-fa-lock:before {\n content: "";\n}\n.sf-fa-flag:before {\n content: "";\n}\n.sf-fa-headphones:before {\n content: "";\n}\n.sf-fa-volume-off:before {\n content: "";\n}\n.sf-fa-volume-down:before {\n content: "";\n}\n.sf-fa-volume-up:before {\n content: "";\n}\n.sf-fa-qrcode:before {\n content: "";\n}\n.sf-fa-barcode:before {\n content: "";\n}\n.sf-fa-tag:before {\n content: "";\n}\n.sf-fa-tags:before {\n content: "";\n}\n.sf-fa-book:before {\n content: "";\n}\n.sf-fa-bookmark:before {\n content: "";\n}\n.sf-fa-print:before {\n content: "";\n}\n.sf-fa-camera:before {\n content: "";\n}\n.sf-fa-font:before {\n content: "";\n}\n.sf-fa-bold:before {\n content: "";\n}\n.sf-fa-italic:before {\n content: "";\n}\n.sf-fa-text-height:before {\n content: "";\n}\n.sf-fa-text-width:before {\n content: "";\n}\n.sf-fa-align-left:before {\n content: "";\n}\n.sf-fa-align-center:before {\n content: "";\n}\n.sf-fa-align-right:before {\n content: "";\n}\n.sf-fa-align-justify:before {\n content: "";\n}\n.sf-fa-list:before {\n content: "";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "";\n}\n.sf-fa-indent:before {\n content: "";\n}\n.sf-fa-video-camera:before {\n content: "";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "";\n}\n.sf-fa-pencil:before {\n content: "";\n}\n.sf-fa-map-marker:before {\n content: "";\n}\n.sf-fa-adjust:before {\n content: "";\n}\n.sf-fa-tint:before {\n content: "";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "";\n}\n.sf-fa-share-square-o:before {\n content: "";\n}\n.sf-fa-check-square-o:before {\n content: "";\n}\n.sf-fa-arrows:before {\n content: "";\n}\n.sf-fa-step-backward:before {\n content: "";\n}\n.sf-fa-fast-backward:before {\n content: "";\n}\n.sf-fa-backward:before {\n content: "";\n}\n.sf-fa-play:before {\n content: "";\n}\n.sf-fa-pause:before {\n content: "";\n}\n.sf-fa-stop:before {\n content: "";\n}\n.sf-fa-forward:before {\n content: "";\n}\n.sf-fa-fast-forward:before {\n content: "";\n}\n.sf-fa-step-forward:before {\n content: "";\n}\n.sf-fa-eject:before {\n content: "";\n}\n.sf-fa-chevron-left:before {\n content: "";\n}\n.sf-fa-chevron-right:before {\n content: "";\n}\n.sf-fa-plus-circle:before {\n content: "";\n}\n.sf-fa-minus-circle:before {\n content: "";\n}\n.sf-fa-times-circle:before {\n content: "";\n}\n.sf-fa-check-circle:before {\n content: "";\n}\n.sf-fa-question-circle:before {\n content: "";\n}\n.sf-fa-info-circle:before {\n content: "";\n}\n.sf-fa-crosshairs:before {\n content: "";\n}\n.sf-fa-times-circle-o:before {\n content: "";\n}\n.sf-fa-check-circle-o:before {\n content: "";\n}\n.sf-fa-ban:before {\n content: "";\n}\n.sf-fa-arrow-left:before {\n content: "";\n}\n.sf-fa-arrow-right:before {\n content: "";\n}\n.sf-fa-arrow-up:before {\n content: "";\n}\n.sf-fa-arrow-down:before {\n content: "";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "";\n}\n.sf-fa-expand:before {\n content: "";\n}\n.sf-fa-compress:before {\n content: "";\n}\n.sf-fa-plus:before {\n content: "";\n}\n.sf-fa-minus:before {\n content: "";\n}\n.sf-fa-asterisk:before {\n content: "";\n}\n.sf-fa-exclamation-circle:before {\n content: "";\n}\n.sf-fa-gift:before {\n content: "";\n}\n.sf-fa-leaf:before {\n content: "";\n}\n.sf-fa-fire:before {\n content: "";\n}\n.sf-fa-eye:before {\n content: "";\n}\n.sf-fa-eye-slash:before {\n content: "";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "";\n}\n.sf-fa-plane:before {\n content: "";\n}\n.sf-fa-calendar:before {\n content: "";\n}\n.sf-fa-random:before {\n content: "";\n}\n.sf-fa-comment:before {\n content: "";\n}\n.sf-fa-magnet:before {\n content: "";\n}\n.sf-fa-chevron-up:before {\n content: "";\n}\n.sf-fa-chevron-down:before {\n content: "";\n}\n.sf-fa-retweet:before {\n content: "";\n}\n.sf-fa-shopping-cart:before {\n content: "";\n}\n.sf-fa-folder:before {\n content: "";\n}\n.sf-fa-folder-open:before {\n content: "";\n}\n.sf-fa-arrows-v:before {\n content: "";\n}\n.sf-fa-arrows-h:before {\n content: "";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "";\n}\n.sf-fa-twitter-square:before {\n content: "";\n}\n.sf-fa-facebook-square:before {\n content: "";\n}\n.sf-fa-camera-retro:before {\n content: "";\n}\n.sf-fa-key:before {\n content: "";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "";\n}\n.sf-fa-comments:before {\n content: "";\n}\n.sf-fa-thumbs-o-up:before {\n content: "";\n}\n.sf-fa-thumbs-o-down:before {\n content: "";\n}\n.sf-fa-star-half:before {\n content: "";\n}\n.sf-fa-heart-o:before {\n content: "";\n}\n.sf-fa-sign-out:before {\n content: "";\n}\n.sf-fa-linkedin-square:before {\n content: "";\n}\n.sf-fa-thumb-tack:before {\n content: "";\n}\n.sf-fa-external-link:before {\n content: "";\n}\n.sf-fa-sign-in:before {\n content: "";\n}\n.sf-fa-trophy:before {\n content: "";\n}\n.sf-fa-github-square:before {\n content: "";\n}\n.sf-fa-upload:before {\n content: "";\n}\n.sf-fa-lemon-o:before {\n content: "";\n}\n.sf-fa-phone:before {\n content: "";\n}\n.sf-fa-square-o:before {\n content: "";\n}\n.sf-fa-bookmark-o:before {\n content: "";\n}\n.sf-fa-phone-square:before {\n content: "";\n}\n.sf-fa-twitter:before {\n content: "";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "";\n}\n.sf-fa-github:before {\n content: "";\n}\n.sf-fa-unlock:before {\n content: "";\n}\n.sf-fa-credit-card:before {\n content: "";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "";\n}\n.sf-fa-hdd-o:before {\n content: "";\n}\n.sf-fa-bullhorn:before {\n content: "";\n}\n.sf-fa-bell:before {\n content: "";\n}\n.sf-fa-certificate:before {\n content: "";\n}\n.sf-fa-hand-o-right:before {\n content: "";\n}\n.sf-fa-hand-o-left:before {\n content: "";\n}\n.sf-fa-hand-o-up:before {\n content: "";\n}\n.sf-fa-hand-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-left:before {\n content: "";\n}\n.sf-fa-arrow-circle-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-up:before {\n content: "";\n}\n.sf-fa-arrow-circle-down:before {\n content: "";\n}\n.sf-fa-globe:before {\n content: "";\n}\n.sf-fa-wrench:before {\n content: "";\n}\n.sf-fa-tasks:before {\n content: "";\n}\n.sf-fa-filter:before {\n content: "";\n}\n.sf-fa-briefcase:before {\n content: "";\n}\n.sf-fa-arrows-alt:before {\n content: "";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "";\n}\n.sf-fa-cloud:before {\n content: "";\n}\n.sf-fa-flask:before {\n content: "";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "";\n}\n.sf-fa-paperclip:before {\n content: "";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "";\n}\n.sf-fa-square:before {\n content: "";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "";\n}\n.sf-fa-list-ul:before {\n content: "";\n}\n.sf-fa-list-ol:before {\n content: "";\n}\n.sf-fa-strikethrough:before {\n content: "";\n}\n.sf-fa-underline:before {\n content: "";\n}\n.sf-fa-table:before {\n content: "";\n}\n.sf-fa-magic:before {\n content: "";\n}\n.sf-fa-truck:before {\n content: "";\n}\n.sf-fa-pinterest:before {\n content: "";\n}\n.sf-fa-pinterest-square:before {\n content: "";\n}\n.sf-fa-google-plus-square:before {\n content: "";\n}\n.sf-fa-google-plus:before {\n content: "";\n}\n.sf-fa-money:before {\n content: "";\n}\n.sf-fa-caret-down:before {\n content: "";\n}\n.sf-fa-caret-up:before {\n content: "";\n}\n.sf-fa-caret-left:before {\n content: "";\n}\n.sf-fa-caret-right:before {\n content: "";\n}\n.sf-fa-columns:before {\n content: "";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "";\n}\n.sf-fa-envelope:before {\n content: "";\n}\n.sf-fa-linkedin:before {\n content: "";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "";\n}\n.sf-fa-comment-o:before {\n content: "";\n}\n.sf-fa-comments-o:before {\n content: "";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "";\n}\n.sf-fa-sitemap:before {\n content: "";\n}\n.sf-fa-umbrella:before {\n content: "";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "";\n}\n.sf-fa-lightbulb-o:before {\n content: "";\n}\n.sf-fa-exchange:before {\n content: "";\n}\n.sf-fa-cloud-download:before {\n content: "";\n}\n.sf-fa-cloud-upload:before {\n content: "";\n}\n.sf-fa-user-md:before {\n content: "";\n}\n.sf-fa-stethoscope:before {\n content: "";\n}\n.sf-fa-suitcase:before {\n content: "";\n}\n.sf-fa-bell-o:before {\n content: "";\n}\n.sf-fa-coffee:before {\n content: "";\n}\n.sf-fa-cutlery:before {\n content: "";\n}\n.sf-fa-file-text-o:before {\n content: "";\n}\n.sf-fa-building-o:before {\n content: "";\n}\n.sf-fa-hospital-o:before {\n content: "";\n}\n.sf-fa-ambulance:before {\n content: "";\n}\n.sf-fa-medkit:before {\n content: "";\n}\n.sf-fa-fighter-jet:before {\n content: "";\n}\n.sf-fa-beer:before {\n content: "";\n}\n.sf-fa-h-square:before {\n content: "";\n}\n.sf-fa-plus-square:before {\n content: "";\n}\n.sf-fa-angle-double-left:before {\n content: "";\n}\n.sf-fa-angle-double-right:before {\n content: "";\n}\n.sf-fa-angle-double-up:before {\n content: "";\n}\n.sf-fa-angle-double-down:before {\n content: "";\n}\n.sf-fa-angle-left:before {\n content: "";\n}\n.sf-fa-angle-right:before {\n content: "";\n}\n.sf-fa-angle-up:before {\n content: "";\n}\n.sf-fa-angle-down:before {\n content: "";\n}\n.sf-fa-desktop:before {\n content: "";\n}\n.sf-fa-laptop:before {\n content: "";\n}\n.sf-fa-tablet:before {\n content: "";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "";\n}\n.sf-fa-circle-o:before {\n content: "";\n}\n.sf-fa-quote-left:before {\n content: "";\n}\n.sf-fa-quote-right:before {\n content: "";\n}\n.sf-fa-spinner:before {\n content: "";\n}\n.sf-fa-circle:before {\n content: "";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "";\n}\n.sf-fa-github-alt:before {\n content: "";\n}\n.sf-fa-folder-o:before {\n content: "";\n}\n.sf-fa-folder-open-o:before {\n content: "";\n}\n.sf-fa-smile-o:before {\n content: "";\n}\n.sf-fa-frown-o:before {\n content: "";\n}\n.sf-fa-meh-o:before {\n content: "";\n}\n.sf-fa-gamepad:before {\n content: "";\n}\n.sf-fa-keyboard-o:before {\n content: "";\n}\n.sf-fa-flag-o:before {\n content: "";\n}\n.sf-fa-flag-checkered:before {\n content: "";\n}\n.sf-fa-terminal:before {\n content: "";\n}\n.sf-fa-code:before {\n content: "";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "";\n}\n.sf-fa-location-arrow:before {\n content: "";\n}\n.sf-fa-crop:before {\n content: "";\n}\n.sf-fa-code-fork:before {\n content: "";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "";\n}\n.sf-fa-question:before {\n content: "";\n}\n.sf-fa-info:before {\n content: "";\n}\n.sf-fa-exclamation:before {\n content: "";\n}\n.sf-fa-superscript:before {\n content: "";\n}\n.sf-fa-subscript:before {\n content: "";\n}\n.sf-fa-eraser:before {\n content: "";\n}\n.sf-fa-puzzle-piece:before {\n content: "";\n}\n.sf-fa-microphone:before {\n content: "";\n}\n.sf-fa-microphone-slash:before {\n content: "";\n}\n.sf-fa-shield:before {\n content: "";\n}\n.sf-fa-calendar-o:before {\n content: "";\n}\n.sf-fa-fire-extinguisher:before {\n content: "";\n}\n.sf-fa-rocket:before {\n content: "";\n}\n.sf-fa-maxcdn:before {\n content: "";\n}\n.sf-fa-chevron-circle-left:before {\n content: "";\n}\n.sf-fa-chevron-circle-right:before {\n content: "";\n}\n.sf-fa-chevron-circle-up:before {\n content: "";\n}\n.sf-fa-chevron-circle-down:before {\n content: "";\n}\n.sf-fa-html5:before {\n content: "";\n}\n.sf-fa-css3:before {\n content: "";\n}\n.sf-fa-anchor:before {\n content: "";\n}\n.sf-fa-unlock-alt:before {\n content: "";\n}\n.sf-fa-bullseye:before {\n content: "";\n}\n.sf-fa-ellipsis-h:before {\n content: "";\n}\n.sf-fa-ellipsis-v:before {\n content: "";\n}\n.sf-fa-rss-square:before {\n content: "";\n}\n.sf-fa-play-circle:before {\n content: "";\n}\n.sf-fa-ticket:before {\n content: "";\n}\n.sf-fa-minus-square:before {\n content: "";\n}\n.sf-fa-minus-square-o:before {\n content: "";\n}\n.sf-fa-level-up:before {\n content: "";\n}\n.sf-fa-level-down:before {\n content: "";\n}\n.sf-fa-check-square:before {\n content: "";\n}\n.sf-fa-pencil-square:before {\n content: "";\n}\n.sf-fa-external-link-square:before {\n content: "";\n}\n.sf-fa-share-square:before {\n content: "";\n}\n.sf-fa-compass:before {\n content: "";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "";\n}\n.sf-fa-gbp:before {\n content: "";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "";\n}\n.sf-fa-file:before {\n content: "";\n}\n.sf-fa-file-text:before {\n content: "";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "";\n}\n.sf-fa-sort-amount-asc:before {\n content: "";\n}\n.sf-fa-sort-amount-desc:before {\n content: "";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "";\n}\n.sf-fa-thumbs-up:before {\n content: "";\n}\n.sf-fa-thumbs-down:before {\n content: "";\n}\n.sf-fa-youtube-square:before {\n content: "";\n}\n.sf-fa-youtube:before {\n content: "";\n}\n.sf-fa-xing:before {\n content: "";\n}\n.sf-fa-xing-square:before {\n content: "";\n}\n.sf-fa-youtube-play:before {\n content: "";\n}\n.sf-fa-dropbox:before {\n content: "";\n}\n.sf-fa-stack-overflow:before {\n content: "";\n}\n.sf-fa-instagram:before {\n content: "";\n}\n.sf-fa-flickr:before {\n content: "";\n}\n.sf-fa-adn:before {\n content: "";\n}\n.sf-fa-bitbucket:before {\n content: "";\n}\n.sf-fa-bitbucket-square:before {\n content: "";\n}\n.sf-fa-tumblr:before {\n content: "";\n}\n.sf-fa-tumblr-square:before {\n content: "";\n}\n.sf-fa-long-arrow-down:before {\n content: "";\n}\n.sf-fa-long-arrow-up:before {\n content: "";\n}\n.sf-fa-long-arrow-left:before {\n content: "";\n}\n.sf-fa-long-arrow-right:before {\n content: "";\n}\n.sf-fa-apple:before {\n content: "";\n}\n.sf-fa-windows:before {\n content: "";\n}\n.sf-fa-android:before {\n content: "";\n}\n.sf-fa-linux:before {\n content: "";\n}\n.sf-fa-dribbble:before {\n content: "";\n}\n.sf-fa-skype:before {\n content: "";\n}\n.sf-fa-foursquare:before {\n content: "";\n}\n.sf-fa-trello:before {\n content: "";\n}\n.sf-fa-female:before {\n content: "";\n}\n.sf-fa-male:before {\n content: "";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "";\n}\n.sf-fa-sun-o:before {\n content: "";\n}\n.sf-fa-moon-o:before {\n content: "";\n}\n.sf-fa-archive:before {\n content: "";\n}\n.sf-fa-bug:before {\n content: "";\n}\n.sf-fa-vk:before {\n content: "";\n}\n.sf-fa-weibo:before {\n content: "";\n}\n.sf-fa-renren:before {\n content: "";\n}\n.sf-fa-pagelines:before {\n content: "";\n}\n.sf-fa-stack-exchange:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "";\n}\n.sf-fa-dot-circle-o:before {\n content: "";\n}\n.sf-fa-wheelchair:before {\n content: "";\n}\n.sf-fa-vimeo-square:before {\n content: "";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "";\n}\n.sf-fa-plus-square-o:before {\n content: "";\n}\n.sf-fa-space-shuttle:before {\n content: "";\n}\n.sf-fa-slack:before {\n content: "";\n}\n.sf-fa-envelope-square:before {\n content: "";\n}\n.sf-fa-wordpress:before {\n content: "";\n}\n.sf-fa-openid:before {\n content: "";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "";\n}\n.sf-fa-yahoo:before {\n content: "";\n}\n.sf-fa-google:before {\n content: "";\n}\n.sf-fa-reddit:before {\n content: "";\n}\n.sf-fa-reddit-square:before {\n content: "";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "";\n}\n.sf-fa-stumbleupon:before {\n content: "";\n}\n.sf-fa-delicious:before {\n content: "";\n}\n.sf-fa-digg:before {\n content: "";\n}\n.sf-fa-pied-piper-pp:before {\n content: "";\n}\n.sf-fa-pied-piper-alt:before {\n content: "";\n}\n.sf-fa-drupal:before {\n content: "";\n}\n.sf-fa-joomla:before {\n content: "";\n}\n.sf-fa-language:before {\n content: "";\n}\n.sf-fa-fax:before {\n content: "";\n}\n.sf-fa-building:before {\n content: "";\n}\n.sf-fa-child:before {\n content: "";\n}\n.sf-fa-paw:before {\n content: "";\n}\n.sf-fa-spoon:before {\n content: "";\n}\n.sf-fa-cube:before {\n content: "";\n}\n.sf-fa-cubes:before {\n content: "";\n}\n.sf-fa-behance:before {\n content: "";\n}\n.sf-fa-behance-square:before {\n content: "";\n}\n.sf-fa-steam:before {\n content: "";\n}\n.sf-fa-steam-square:before {\n content: "";\n}\n.sf-fa-recycle:before {\n content: "";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "";\n}\n.sf-fa-tree:before {\n content: "";\n}\n.sf-fa-spotify:before {\n content: "";\n}\n.sf-fa-deviantart:before {\n content: "";\n}\n.sf-fa-soundcloud:before {\n content: "";\n}\n.sf-fa-database:before {\n content: "";\n}\n.sf-fa-file-pdf-o:before {\n content: "";\n}\n.sf-fa-file-word-o:before {\n content: "";\n}\n.sf-fa-file-excel-o:before {\n content: "";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "";\n}\n.sf-fa-file-code-o:before {\n content: "";\n}\n.sf-fa-vine:before {\n content: "";\n}\n.sf-fa-codepen:before {\n content: "";\n}\n.sf-fa-jsfiddle:before {\n content: "";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "";\n}\n.sf-fa-circle-o-notch:before {\n content: "";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "";\n}\n.sf-fa-git-square:before {\n content: "";\n}\n.sf-fa-git:before {\n content: "";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "";\n}\n.sf-fa-tencent-weibo:before {\n content: "";\n}\n.sf-fa-qq:before {\n content: "";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "";\n}\n.sf-fa-history:before {\n content: "";\n}\n.sf-fa-circle-thin:before {\n content: "";\n}\n.sf-fa-header:before {\n content: "";\n}\n.sf-fa-paragraph:before {\n content: "";\n}\n.sf-fa-sliders:before {\n content: "";\n}\n.sf-fa-share-alt:before {\n content: "";\n}\n.sf-fa-share-alt-square:before {\n content: "";\n}\n.sf-fa-bomb:before {\n content: "";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "";\n}\n.sf-fa-tty:before {\n content: "";\n}\n.sf-fa-binoculars:before {\n content: "";\n}\n.sf-fa-plug:before {\n content: "";\n}\n.sf-fa-slideshare:before {\n content: "";\n}\n.sf-fa-twitch:before {\n content: "";\n}\n.sf-fa-yelp:before {\n content: "";\n}\n.sf-fa-newspaper-o:before {\n content: "";\n}\n.sf-fa-wifi:before {\n content: "";\n}\n.sf-fa-calculator:before {\n content: "";\n}\n.sf-fa-paypal:before {\n content: "";\n}\n.sf-fa-google-wallet:before {\n content: "";\n}\n.sf-fa-cc-visa:before {\n content: "";\n}\n.sf-fa-cc-mastercard:before {\n content: "";\n}\n.sf-fa-cc-discover:before {\n content: "";\n}\n.sf-fa-cc-amex:before {\n content: "";\n}\n.sf-fa-cc-paypal:before {\n content: "";\n}\n.sf-fa-cc-stripe:before {\n content: "";\n}\n.sf-fa-bell-slash:before {\n content: "";\n}\n.sf-fa-bell-slash-o:before {\n content: "";\n}\n.sf-fa-trash:before {\n content: "";\n}\n.sf-fa-copyright:before {\n content: "";\n}\n.sf-fa-at:before {\n content: "";\n}\n.sf-fa-eyedropper:before {\n content: "";\n}\n.sf-fa-paint-brush:before {\n content: "";\n}\n.sf-fa-birthday-cake:before {\n content: "";\n}\n.sf-fa-area-chart:before {\n content: "";\n}\n.sf-fa-pie-chart:before {\n content: "";\n}\n.sf-fa-line-chart:before {\n content: "";\n}\n.sf-fa-lastfm:before {\n content: "";\n}\n.sf-fa-lastfm-square:before {\n content: "";\n}\n.sf-fa-toggle-off:before {\n content: "";\n}\n.sf-fa-toggle-on:before {\n content: "";\n}\n.sf-fa-bicycle:before {\n content: "";\n}\n.sf-fa-bus:before {\n content: "";\n}\n.sf-fa-ioxhost:before {\n content: "";\n}\n.sf-fa-angellist:before {\n content: "";\n}\n.sf-fa-cc:before {\n content: "";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "";\n}\n.sf-fa-meanpath:before {\n content: "";\n}\n.sf-fa-buysellads:before {\n content: "";\n}\n.sf-fa-connectdevelop:before {\n content: "";\n}\n.sf-fa-dashcube:before {\n content: "";\n}\n.sf-fa-forumbee:before {\n content: "";\n}\n.sf-fa-leanpub:before {\n content: "";\n}\n.sf-fa-sellsy:before {\n content: "";\n}\n.sf-fa-shirtsinbulk:before {\n content: "";\n}\n.sf-fa-simplybuilt:before {\n content: "";\n}\n.sf-fa-skyatlas:before {\n content: "";\n}\n.sf-fa-cart-plus:before {\n content: "";\n}\n.sf-fa-cart-arrow-down:before {\n content: "";\n}\n.sf-fa-diamond:before {\n content: "";\n}\n.sf-fa-ship:before {\n content: "";\n}\n.sf-fa-user-secret:before {\n content: "";\n}\n.sf-fa-motorcycle:before {\n content: "";\n}\n.sf-fa-street-view:before {\n content: "";\n}\n.sf-fa-heartbeat:before {\n content: "";\n}\n.sf-fa-venus:before {\n content: "";\n}\n.sf-fa-mars:before {\n content: "";\n}\n.sf-fa-mercury:before {\n content: "";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "";\n}\n.sf-fa-transgender-alt:before {\n content: "";\n}\n.sf-fa-venus-double:before {\n content: "";\n}\n.sf-fa-mars-double:before {\n content: "";\n}\n.sf-fa-venus-mars:before {\n content: "";\n}\n.sf-fa-mars-stroke:before {\n content: "";\n}\n.sf-fa-mars-stroke-v:before {\n content: "";\n}\n.sf-fa-mars-stroke-h:before {\n content: "";\n}\n.sf-fa-neuter:before {\n content: "";\n}\n.sf-fa-genderless:before {\n content: "";\n}\n.sf-fa-facebook-official:before {\n content: "";\n}\n.sf-fa-pinterest-p:before {\n content: "";\n}\n.sf-fa-whatsapp:before {\n content: "";\n}\n.sf-fa-server:before {\n content: "";\n}\n.sf-fa-user-plus:before {\n content: "";\n}\n.sf-fa-user-times:before {\n content: "";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "";\n}\n.sf-fa-viacoin:before {\n content: "";\n}\n.sf-fa-train:before {\n content: "";\n}\n.sf-fa-subway:before {\n content: "";\n}\n.sf-fa-medium:before {\n content: "";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "";\n}\n.sf-fa-optin-monster:before {\n content: "";\n}\n.sf-fa-opencart:before {\n content: "";\n}\n.sf-fa-expeditedssl:before {\n content: "";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "";\n}\n.sf-fa-mouse-pointer:before {\n content: "";\n}\n.sf-fa-i-cursor:before {\n content: "";\n}\n.sf-fa-object-group:before {\n content: "";\n}\n.sf-fa-object-ungroup:before {\n content: "";\n}\n.sf-fa-sticky-note:before {\n content: "";\n}\n.sf-fa-sticky-note-o:before {\n content: "";\n}\n.sf-fa-cc-jcb:before {\n content: "";\n}\n.sf-fa-cc-diners-club:before {\n content: "";\n}\n.sf-fa-clone:before {\n content: "";\n}\n.sf-fa-balance-scale:before {\n content: "";\n}\n.sf-fa-hourglass-o:before {\n content: "";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "";\n}\n.sf-fa-hourglass:before {\n content: "";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "";\n}\n.sf-fa-hand-scissors-o:before {\n content: "";\n}\n.sf-fa-hand-lizard-o:before {\n content: "";\n}\n.sf-fa-hand-spock-o:before {\n content: "";\n}\n.sf-fa-hand-pointer-o:before {\n content: "";\n}\n.sf-fa-hand-peace-o:before {\n content: "";\n}\n.sf-fa-trademark:before {\n content: "";\n}\n.sf-fa-registered:before {\n content: "";\n}\n.sf-fa-creative-commons:before {\n content: "";\n}\n.sf-fa-gg:before {\n content: "";\n}\n.sf-fa-gg-circle:before {\n content: "";\n}\n.sf-fa-tripadvisor:before {\n content: "";\n}\n.sf-fa-odnoklassniki:before {\n content: "";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "";\n}\n.sf-fa-get-pocket:before {\n content: "";\n}\n.sf-fa-wikipedia-w:before {\n content: "";\n}\n.sf-fa-safari:before {\n content: "";\n}\n.sf-fa-chrome:before {\n content: "";\n}\n.sf-fa-firefox:before {\n content: "";\n}\n.sf-fa-opera:before {\n content: "";\n}\n.sf-fa-internet-explorer:before {\n content: "";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "";\n}\n.sf-fa-contao:before {\n content: "";\n}\n.sf-fa-500px:before {\n content: "";\n}\n.sf-fa-amazon:before {\n content: "";\n}\n.sf-fa-calendar-plus-o:before {\n content: "";\n}\n.sf-fa-calendar-minus-o:before {\n content: "";\n}\n.sf-fa-calendar-times-o:before {\n content: "";\n}\n.sf-fa-calendar-check-o:before {\n content: "";\n}\n.sf-fa-industry:before {\n content: "";\n}\n.sf-fa-map-pin:before {\n content: "";\n}\n.sf-fa-map-signs:before {\n content: "";\n}\n.sf-fa-map-o:before {\n content: "";\n}\n.sf-fa-map:before {\n content: "";\n}\n.sf-fa-commenting:before {\n content: "";\n}\n.sf-fa-commenting-o:before {\n content: "";\n}\n.sf-fa-houzz:before {\n content: "";\n}\n.sf-fa-vimeo:before {\n content: "";\n}\n.sf-fa-black-tie:before {\n content: "";\n}\n.sf-fa-fonticons:before {\n content: "";\n}\n.sf-fa-reddit-alien:before {\n content: "";\n}\n.sf-fa-edge:before {\n content: "";\n}\n.sf-fa-credit-card-alt:before {\n content: "";\n}\n.sf-fa-codiepie:before {\n content: "";\n}\n.sf-fa-modx:before {\n content: "";\n}\n.sf-fa-fort-awesome:before {\n content: "";\n}\n.sf-fa-usb:before {\n content: "";\n}\n.sf-fa-product-hunt:before {\n content: "";\n}\n.sf-fa-mixcloud:before {\n content: "";\n}\n.sf-fa-scribd:before {\n content: "";\n}\n.sf-fa-pause-circle:before {\n content: "";\n}\n.sf-fa-pause-circle-o:before {\n content: "";\n}\n.sf-fa-stop-circle:before {\n content: "";\n}\n.sf-fa-stop-circle-o:before {\n content: "";\n}\n.sf-fa-shopping-bag:before {\n content: "";\n}\n.sf-fa-shopping-basket:before {\n content: "";\n}\n.sf-fa-hashtag:before {\n content: "";\n}\n.sf-fa-bluetooth:before {\n content: "";\n}\n.sf-fa-bluetooth-b:before {\n content: "";\n}\n.sf-fa-percent:before {\n content: "";\n}\n.sf-fa-gitlab:before {\n content: "";\n}\n.sf-fa-wpbeginner:before {\n content: "";\n}\n.sf-fa-wpforms:before {\n content: "";\n}\n.sf-fa-envira:before {\n content: "";\n}\n.sf-fa-universal-access:before {\n content: "";\n}\n.sf-fa-wheelchair-alt:before {\n content: "";\n}\n.sf-fa-question-circle-o:before {\n content: "";\n}\n.sf-fa-blind:before {\n content: "";\n}\n.sf-fa-audio-description:before {\n content: "";\n}\n.sf-fa-volume-control-phone:before {\n content: "";\n}\n.sf-fa-braille:before {\n content: "";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "";\n}\n.sf-fa-glide:before {\n content: "";\n}\n.sf-fa-glide-g:before {\n content: "";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "";\n}\n.sf-fa-low-vision:before {\n content: "";\n}\n.sf-fa-viadeo:before {\n content: "";\n}\n.sf-fa-viadeo-square:before {\n content: "";\n}\n.sf-fa-snapchat:before {\n content: "";\n}\n.sf-fa-snapchat-ghost:before {\n content: "";\n}\n.sf-fa-snapchat-square:before {\n content: "";\n}\n.sf-fa-pied-piper:before {\n content: "";\n}\n.sf-fa-first-order:before {\n content: "";\n}\n.sf-fa-yoast:before {\n content: "";\n}\n.sf-fa-themeisle:before {\n content: "";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "";\n}\n.sf-fa-handshake-o:before {\n content: "";\n}\n.sf-fa-envelope-open:before {\n content: "";\n}\n.sf-fa-envelope-open-o:before {\n content: "";\n}\n.sf-fa-linode:before {\n content: "";\n}\n.sf-fa-address-book:before {\n content: "";\n}\n.sf-fa-address-book-o:before {\n content: "";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "";\n}\n.sf-fa-user-circle:before {\n content: "";\n}\n.sf-fa-user-circle-o:before {\n content: "";\n}\n.sf-fa-user-o:before {\n content: "";\n}\n.sf-fa-id-badge:before {\n content: "";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "";\n}\n.sf-fa-quora:before {\n content: "";\n}\n.sf-fa-free-code-camp:before {\n content: "";\n}\n.sf-fa-telegram:before {\n content: "";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "";\n}\n.sf-fa-shower:before {\n content: "";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "";\n}\n.sf-fa-podcast:before {\n content: "";\n}\n.sf-fa-window-maximize:before {\n content: "";\n}\n.sf-fa-window-minimize:before {\n content: "";\n}\n.sf-fa-window-restore:before {\n content: "";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "";\n}\n.sf-fa-bandcamp:before {\n content: "";\n}\n.sf-fa-grav:before {\n content: "";\n}\n.sf-fa-etsy:before {\n content: "";\n}\n.sf-fa-imdb:before {\n content: "";\n}\n.sf-fa-ravelry:before {\n content: "";\n}\n.sf-fa-eercast:before {\n content: "";\n}\n.sf-fa-microchip:before {\n content: "";\n}\n.sf-fa-snowflake-o:before {\n content: "";\n}\n.sf-fa-superpowers:before {\n content: "";\n}\n.sf-fa-wpexplorer:before {\n content: "";\n}\n.sf-fa-meetup:before {\n content: "";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n:host {\n align-content: stretch;\n align-items: stretch;\n align-self: auto;\n -webkit-animation: none;\n animation: none;\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n background: transparent none;\n border: 0;\n bottom: auto;\n -webkit-box-decoration-break: slice;\n box-decoration-break: slice;\n box-shadow: none;\n box-sizing: border-box;\n -moz-column-break-after: auto;\n break-after: auto;\n -moz-column-break-before: auto;\n break-before: auto;\n -moz-column-break-inside: auto;\n break-inside: auto;\n caption-side: top;\n caret-color: auto;\n clear: none;\n clip: auto;\n -webkit-clip-path: none;\n clip-path: none;\n color: inherit;\n -moz-columns: auto;\n columns: auto;\n content: normal;\n counter-increment: none;\n counter-reset: none;\n empty-cells: show;\n font-family: inherit;\n filter: none;\n flex-basis: auto;\n flex-direction: row;\n flex: 0 1 auto;\n float: none;\n font-feature-settings: normal;\n -webkit-font-kerning: auto;\n font-kerning: auto;\n font-language-override: normal;\n font-size-adjust: none;\n font-stretch: normal;\n font-synthesis: weight style;\n grid: none;\n height: auto;\n -webkit-hyphens: manual;\n hyphens: manual;\n image-orientation: 0deg;\n image-rendering: auto;\n image-resolution: 1dppx;\n ime-mode: auto;\n inline-size: auto;\n isolation: auto;\n justify-content: flex-start;\n left: auto;\n letter-spacing: normal;\n line-break: auto;\n margin: 0;\n max-height: none;\n max-width: none;\n min-height: 0;\n min-width: 0;\n -o-object-fit: fill;\n object-fit: fill;\n -o-object-position: 50% 50%;\n object-position: 50% 50%;\n opacity: 1;\n order: 0;\n orphans: 2;\n outline: medium invert initial;\n outline-offset: 0;\n overflow: visible;\n overflow-wrap: normal;\n overflow-x: visible;\n overflow-y: visible;\n padding: 0;\n page-break-after: auto;\n page-break-before: auto;\n page-break-inside: auto;\n perspective: none;\n perspective-origin: 50% 50%;\n position: static;\n quotes: initial;\n resize: none;\n right: auto;\n ruby-align: space-around;\n ruby-merge: separate;\n ruby-position: over;\n scroll-behavior: auto;\n scroll-snap-coordinate: none;\n scroll-snap-destination: 0 0;\n scroll-snap-points-x: none;\n scroll-snap-points-y: none;\n scroll-snap-type: none;\n shape-image-threshold: 0;\n shape-margin: 0;\n shape-outside: none;\n -moz-tab-size: 8;\n -o-tab-size: 8;\n tab-size: 8;\n table-layout: auto;\n text-align: inherit;\n -moz-text-align-last: auto;\n text-align-last: auto;\n text-combine-upright: none;\n text-decoration: none;\n -webkit-text-emphasis: none;\n text-emphasis: none;\n text-indent: 0;\n text-justify: auto;\n -webkit-text-orientation: mixed;\n text-orientation: mixed;\n text-overflow: clip;\n text-rendering: auto;\n text-shadow: none;\n text-transform: inherit;\n text-underline-position: auto;\n top: auto;\n touch-action: auto;\n transform: none;\n transform-box: border-box;\n transform-origin: 50% 50% 0;\n transform-style: flat;\n transition: all 0s ease 0s;\n vertical-align: inherit;\n white-space: inherit;\n widows: 2;\n width: auto;\n will-change: auto;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n z-index: auto;\n font-family: "Open Sans", sans-serif;\n}\n:host :focus {\n outline: 0;\n}\n.-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n.-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n.-sf-txt-success {\n color: var(--color-success);\n}\n.-sf-txt-failure {\n color: var(--color-error);\n}\n.-sf-txt-align-left {\n text-align: left;\n}\n.-sf-txt-align-right {\n text-align: right;\n}\n.-sf-txt-align-center {\n text-align: center;\n}\n.-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n.-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n.-sf-txt-nowrap {\n white-space: nowrap;\n}\n.-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n.-sf-txt-lower-case {\n text-transform: lowercase;\n}\n.-sf-txt-upper-case {\n text-transform: uppercase;\n}\n.-sf-overflow-hidden {\n overflow: hidden;\n}\n.-sf-overflow-auto {\n overflow: auto;\n}\n.-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n.-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.-sf-word-break-all {\n word-break: break-all;\n}\n.-sf-word-break-word {\n word-break: break-word;\n}\n.-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n.-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n.-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n.-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n.-sf-txt-base {\n font-size: var(--font-size-base);\n}\n/*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n/*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n/*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n/*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n/*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n/*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n/*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n/*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n/*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n/*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n/*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n/*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n/*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n/*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n.sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n.sf-icon.-close::before {\n content: "\\2716";\n}\n.sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n.sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n.sf-icon.-light {\n color: var(--icon-light-color);\n}\n.sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n.sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n.sf-icon.-lightest {\n color: #ccc;\n}\n.sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n.sf-icon.-darker {\n color: #999;\n}\n.sf-icon.-darkest {\n color: #777;\n}\n.sf-icon.-black {\n color: #333;\n}\n.sf-icon.-color-inherit {\n color: inherit;\n}\n.sf-icon.-white {\n color: #fff;\n}\n.sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n.sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n.sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n.sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n.sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n.sf-icon.-svg {\n width: auto;\n height: auto;\n}\n.sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n.sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n.sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n.sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n.sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n.sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n.sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n.sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n.sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n.sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n.sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n.sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n.sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n.sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n.sf-icon__svg {\n width: 1em;\n height: 1em;\n}\n.sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n/*\n Icon\n\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n/*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n/*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n*/\n/*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n*/\n/*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n.-sf-mt-zero {\n margin-top: 0 !important;\n}\n.-sf-mt-4xs {\n margin-top: 5px !important;\n}\n.-sf-mt-3xs {\n margin-top: 10px !important;\n}\n.-sf-mt-2xs {\n margin-top: 15px !important;\n}\n.-sf-mt-xs {\n margin-top: 20px !important;\n}\n.-sf-mt-s {\n margin-top: 25px !important;\n}\n.-sf-mt-m {\n margin-top: 30px !important;\n}\n.-sf-mt-l {\n margin-top: 35px !important;\n}\n.-sf-mt-xl {\n margin-top: 40px !important;\n}\n.-sf-mt-2xl {\n margin-top: 45px !important;\n}\n.-sf-mt-3xl {\n margin-top: 50px !important;\n}\n.-sf-mt-4xl {\n margin-top: 55px !important;\n}\n.-sf-mt-5xl {\n margin-top: 60px !important;\n}\n.-sf-mt-6xl {\n margin-top: 80px !important;\n}\n.-sf-mt-7xl {\n margin-top: 100px !important;\n}\n.-sf-mt-8xl {\n margin-top: 120px !important;\n}\n.-sf-mt-9xl {\n margin-top: 140px !important;\n}\n.-sf-mt-10xl {\n margin-top: 160px !important;\n}\n.-sf-mt-11xl {\n margin-top: 180px !important;\n}\n.-sf-mt-12xl {\n margin-top: 200px !important;\n}\n.-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n.-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n.-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n.-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n.-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n.-sf-mb-s {\n margin-bottom: 25px !important;\n}\n.-sf-mb-m {\n margin-bottom: 30px !important;\n}\n.-sf-mb-l {\n margin-bottom: 35px !important;\n}\n.-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n.-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n.-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n.-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n.-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n.-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n.-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n.-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n.-sf-ml-zero {\n margin-left: 0 !important;\n}\n.-sf-ml-4xs {\n margin-left: 5px !important;\n}\n.-sf-ml-3xs {\n margin-left: 10px !important;\n}\n.-sf-ml-2xs {\n margin-left: 15px !important;\n}\n.-sf-ml-xs {\n margin-left: 20px !important;\n}\n.-sf-ml-s {\n margin-left: 25px !important;\n}\n.-sf-ml-m {\n margin-left: 30px !important;\n}\n.-sf-ml-l {\n margin-left: 35px !important;\n}\n.-sf-ml-xl {\n margin-left: 40px !important;\n}\n.-sf-ml-2xl {\n margin-left: 45px !important;\n}\n.-sf-ml-3xl {\n margin-left: 50px !important;\n}\n.-sf-ml-4xl {\n margin-left: 55px !important;\n}\n.-sf-ml-5xl {\n margin-left: 60px !important;\n}\n.-sf-ml-6xl {\n margin-left: 80px !important;\n}\n.-sf-ml-7xl {\n margin-left: 100px !important;\n}\n.-sf-ml-8xl {\n margin-left: 120px !important;\n}\n.-sf-mr-zero {\n margin-right: 0 !important;\n}\n.-sf-mr-4xs {\n margin-right: 5px !important;\n}\n.-sf-mr-3xs {\n margin-right: 10px !important;\n}\n.-sf-mr-2xs {\n margin-right: 15px !important;\n}\n.-sf-mr-xs {\n margin-right: 20px !important;\n}\n.-sf-mr-s {\n margin-right: 25px !important;\n}\n.-sf-mr-m {\n margin-right: 30px !important;\n}\n.-sf-mr-l {\n margin-right: 35px !important;\n}\n.-sf-mr-xl {\n margin-right: 40px !important;\n}\n.-sf-mr-2xl {\n margin-right: 45px !important;\n}\n.-sf-mr-3xl {\n margin-right: 50px !important;\n}\n.-sf-mr-4xl {\n margin-right: 55px !important;\n}\n.-sf-mr-5xl {\n margin-right: 60px !important;\n}\n.-sf-mr-6xl {\n margin-right: 80px !important;\n}\n.-sf-mr-7xl {\n margin-right: 100px !important;\n}\n.-sf-mr-8xl {\n margin-right: 120px !important;\n}\n.-sf-m-zero {\n margin: 0 !important;\n}\n.-sf-m-4xs {\n margin: 5px !important;\n}\n.-sf-m-3xs {\n margin: 10px !important;\n}\n.-sf-m-2xs {\n margin: 15px !important;\n}\n.-sf-m-xs {\n margin: 20px !important;\n}\n.-sf-m-s {\n margin: 25px !important;\n}\n.-sf-m-m {\n margin: 30px !important;\n}\n.-sf-m-l {\n margin: 35px !important;\n}\n.-sf-m-xl {\n margin: 40px !important;\n}\n.-sf-m-2xl {\n margin: 45px !important;\n}\n.-sf-m-3xl {\n margin: 50px !important;\n}\n.-sf-m-4xl {\n margin: 55px !important;\n}\n.-sf-m-5xl {\n margin: 60px !important;\n}\n.-sf-m-6xl {\n margin: 80px !important;\n}\n.-sf-m-7xl {\n margin: 100px !important;\n}\n.-sf-m-8xl {\n margin: 120px !important;\n}\n.-sf-mt-8xs {\n margin-top: 1px !important;\n}\n.-sf-mt-7xs {\n margin-top: 2px !important;\n}\n.-sf-mt-6xs {\n margin-top: 3px !important;\n}\n.-sf-mt-5xs {\n margin-top: 4px !important;\n}\n.-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n.-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n.-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n.-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n.-sf-ml-8xs {\n margin-left: 1px !important;\n}\n.-sf-ml-7xs {\n margin-left: 2px !important;\n}\n.-sf-ml-6xs {\n margin-left: 3px !important;\n}\n.-sf-ml-5xs {\n margin-left: 4px !important;\n}\n.-sf-mr-8xs {\n margin-right: 1px !important;\n}\n.-sf-mr-7xs {\n margin-right: 2px !important;\n}\n.-sf-mr-6xs {\n margin-right: 3px !important;\n}\n.-sf-mr-5xs {\n margin-right: 4px !important;\n}\n.-sf-mt--4xs {\n margin-top: -5px !important;\n}\n.-sf-mt--3xs {\n margin-top: -10px !important;\n}\n.-sf-mt--2xs {\n margin-top: -15px !important;\n}\n.-sf-mt--xs {\n margin-top: -20px !important;\n}\n.-sf-mt--s {\n margin-top: -25px !important;\n}\n.-sf-mt--m {\n margin-top: -30px !important;\n}\n.-sf-mt--l {\n margin-top: -35px !important;\n}\n.-sf-mt--xl {\n margin-top: -40px !important;\n}\n.-sf-mt--2xl {\n margin-top: -45px !important;\n}\n.-sf-mt--3xl {\n margin-top: -50px !important;\n}\n.-sf-mt--4xl {\n margin-top: -55px !important;\n}\n.-sf-mt--5xl {\n margin-top: -60px !important;\n}\n.-sf-mt--6xl {\n margin-top: -80px !important;\n}\n.-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n.-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n.-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n.-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n.-sf-mb--s {\n margin-bottom: -25px !important;\n}\n.-sf-mb--m {\n margin-bottom: -30px !important;\n}\n.-sf-mb--l {\n margin-bottom: -35px !important;\n}\n.-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n.-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n.-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n.-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n.-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n.-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n.-sf-ml--4xs {\n margin-left: -5px !important;\n}\n.-sf-ml--3xs {\n margin-left: -10px !important;\n}\n.-sf-ml--2xs {\n margin-left: -15px !important;\n}\n.-sf-ml--xs {\n margin-left: -20px !important;\n}\n.-sf-ml--s {\n margin-left: -25px !important;\n}\n.-sf-ml--m {\n margin-left: -30px !important;\n}\n.-sf-ml--l {\n margin-left: -35px !important;\n}\n.-sf-ml--xl {\n margin-left: -40px !important;\n}\n.-sf-ml--2xl {\n margin-left: -45px !important;\n}\n.-sf-ml--3xl {\n margin-left: -50px !important;\n}\n.-sf-ml--4xl {\n margin-left: -55px !important;\n}\n.-sf-ml--5xl {\n margin-left: -60px !important;\n}\n.-sf-ml--6xl {\n margin-left: -80px !important;\n}\n.-sf-mr--4xs {\n margin-right: -5px !important;\n}\n.-sf-mr--3xs {\n margin-right: -10px !important;\n}\n.-sf-mr--2xs {\n margin-right: -15px !important;\n}\n.-sf-mr--xs {\n margin-right: -20px !important;\n}\n.-sf-mr--s {\n margin-right: -25px !important;\n}\n.-sf-mr--m {\n margin-right: -30px !important;\n}\n.-sf-mr--l {\n margin-right: -35px !important;\n}\n.-sf-mr--xl {\n margin-right: -40px !important;\n}\n.-sf-mr--2xl {\n margin-right: -45px !important;\n}\n.-sf-mr--3xl {\n margin-right: -50px !important;\n}\n.-sf-mr--4xl {\n margin-right: -55px !important;\n}\n.-sf-mr--5xl {\n margin-right: -60px !important;\n}\n.-sf-mr--6xl {\n margin-right: -80px !important;\n}\n.-sf-pt-zero {\n padding-top: 0 !important;\n}\n.-sf-pt-4xs {\n padding-top: 5px !important;\n}\n.-sf-pt-3xs {\n padding-top: 10px !important;\n}\n.-sf-pt-2xs {\n padding-top: 15px !important;\n}\n.-sf-pt-xs {\n padding-top: 20px !important;\n}\n.-sf-pt-s {\n padding-top: 25px !important;\n}\n.-sf-pt-m {\n padding-top: 30px !important;\n}\n.-sf-pt-l {\n padding-top: 35px !important;\n}\n.-sf-pt-xl {\n padding-top: 40px !important;\n}\n.-sf-pt-2xl {\n padding-top: 45px !important;\n}\n.-sf-pt-3xl {\n padding-top: 50px !important;\n}\n.-sf-pt-4xl {\n padding-top: 55px !important;\n}\n.-sf-pt-5xl {\n padding-top: 60px !important;\n}\n.-sf-pt-6xl {\n padding-top: 80px !important;\n}\n.-sf-pt-7xl {\n padding-top: 100px !important;\n}\n.-sf-pt-8xl {\n padding-top: 120px !important;\n}\n.-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n.-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n.-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n.-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n.-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n.-sf-pb-s {\n padding-bottom: 25px !important;\n}\n.-sf-pb-m {\n padding-bottom: 30px !important;\n}\n.-sf-pb-l {\n padding-bottom: 35px !important;\n}\n.-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n.-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n.-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n.-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n.-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n.-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n.-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n.-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n.-sf-pl-zero {\n padding-left: 0 !important;\n}\n.-sf-pl-4xs {\n padding-left: 5px !important;\n}\n.-sf-pl-3xs {\n padding-left: 10px !important;\n}\n.-sf-pl-2xs {\n padding-left: 15px !important;\n}\n.-sf-pl-xs {\n padding-left: 20px !important;\n}\n.-sf-pl-s {\n padding-left: 25px !important;\n}\n.-sf-pl-m {\n padding-left: 30px !important;\n}\n.-sf-pl-l {\n padding-left: 35px !important;\n}\n.-sf-pl-xl {\n padding-left: 40px !important;\n}\n.-sf-pl-2xl {\n padding-left: 45px !important;\n}\n.-sf-pl-3xl {\n padding-left: 50px !important;\n}\n.-sf-pl-4xl {\n padding-left: 55px !important;\n}\n.-sf-pl-5xl {\n padding-left: 60px !important;\n}\n.-sf-pl-6xl {\n padding-left: 80px !important;\n}\n.-sf-pl-7xl {\n padding-left: 100px !important;\n}\n.-sf-pl-8xl {\n padding-left: 120px !important;\n}\n.-sf-pr-zero {\n padding-right: 0 !important;\n}\n.-sf-pr-4xs {\n padding-right: 5px !important;\n}\n.-sf-pr-3xs {\n padding-right: 10px !important;\n}\n.-sf-pr-2xs {\n padding-right: 15px !important;\n}\n.-sf-pr-xs {\n padding-right: 20px !important;\n}\n.-sf-pr-s {\n padding-right: 25px !important;\n}\n.-sf-pr-m {\n padding-right: 30px !important;\n}\n.-sf-pr-l {\n padding-right: 35px !important;\n}\n.-sf-pr-xl {\n padding-right: 40px !important;\n}\n.-sf-pr-2xl {\n padding-right: 45px !important;\n}\n.-sf-pr-3xl {\n padding-right: 50px !important;\n}\n.-sf-pr-4xl {\n padding-right: 55px !important;\n}\n.-sf-pr-5xl {\n padding-right: 60px !important;\n}\n.-sf-pr-6xl {\n padding-right: 80px !important;\n}\n.-sf-pr-7xl {\n padding-right: 100px !important;\n}\n.-sf-pr-8xl {\n padding-right: 120px !important;\n}\n.-sf-p-zero {\n padding: 0 !important;\n}\n.-sf-p-4xs {\n padding: 5px !important;\n}\n.-sf-p-3xs {\n padding: 10px !important;\n}\n.-sf-p-2xs {\n padding: 15px !important;\n}\n.-sf-p-xs {\n padding: 20px !important;\n}\n.-sf-p-s {\n padding: 25px !important;\n}\n.-sf-p-m {\n padding: 30px !important;\n}\n.-sf-p-l {\n padding: 35px !important;\n}\n.-sf-p-xl {\n padding: 40px !important;\n}\n.-sf-p-2xl {\n padding: 45px !important;\n}\n.-sf-p-3xl {\n padding: 50px !important;\n}\n.-sf-p-4xl {\n padding: 55px !important;\n}\n.-sf-p-5xl {\n padding: 60px !important;\n}\n.-sf-p-6xl {\n padding: 80px !important;\n}\n.-sf-p-7xl {\n padding: 100px !important;\n}\n.-sf-p-8xl {\n padding: 120px !important;\n}\n.-sf-pt-8xs {\n padding-top: 1px !important;\n}\n.-sf-pt-7xs {\n padding-top: 2px !important;\n}\n.-sf-pt-6xs {\n padding-top: 3px !important;\n}\n.-sf-pt-5xs {\n padding-top: 4px !important;\n}\n.-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n.-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n.-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n.-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n.-sf-pl-8xs {\n padding-left: 1px !important;\n}\n.-sf-pl-7xs {\n padding-left: 2px !important;\n}\n.-sf-pl-6xs {\n padding-left: 3px !important;\n}\n.-sf-pl-5xs {\n padding-left: 4px !important;\n}\n.-sf-pr-8xs {\n padding-right: 1px !important;\n}\n.-sf-pr-7xs {\n padding-right: 2px !important;\n}\n.-sf-pr-6xs {\n padding-right: 3px !important;\n}\n.-sf-pr-5xs {\n padding-right: 4px !important;\n}\n.-sf-ml-auto {\n margin-left: auto !important;\n}\n.-sf-mr-auto {\n margin-right: auto !important;\n}\n.-sf-ml-50 {\n margin-left: 50% !important;\n}\n.-sf-mr-50 {\n margin-right: 50% !important;\n}\n/*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n/*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n/*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n/*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n/*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n/*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n/*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n/*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n/*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n/*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\nStyleguide: Spacing.margin-classes\n*/\n/*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n/*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n/*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n/*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n/* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n*/\n:host {\n color: #999;\n}\n.sf-widget-label {\n font-size: var(--font-size-h5);\n text-transform: uppercase;\n color: #999;\n background: #CAEED8;\n display: flex;\n padding: 0 8px;\n height: 20px;\n align-items: center;\n}\n.sf-widget-label__text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n margin-left: 5px;\n}\n.sf-widget-label__tooltip {\n font-weight: bold;\n}\n.sf-widget-label.-personalized {\n background-color: #ED8527;\n color: #fff;\n}'],encapsulation:3}),WidgetLabelComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DocumentEnhancerService",(function(){return s}));var o=n(1482),i=n(1483),r=n(229),a=["VIDEO","IMG","IFRAME","AUDIO","FIGURE","OBJECT","MAP","EMBED","CANVAS","INPUT","OUTPUT","METER","TEXTAREA"],s=function(){function DocumentEnhancerService(){}return DocumentEnhancerService.prototype.buildModel=function(e,t,n){return this.enhance(t),e.hasAttribute(i.ATTR_COMPONENT_NAME)?this.buildModelFromWidget(e,n):e.hasAttribute(i.ATTR_CONTAINER)?this.buildModelFromContainer(e,n):null},DocumentEnhancerService.prototype.enhance=function(e){for(var t=0;t-1&&(this.iconLook=null,this.showText=!1,this.name=this.addWidgetName?this.addWidgetName:this.name)},WidgetPreviewComponent.prototype.handlePresetPreviewLook=function(){this.isPreset=!0,this.showText=!1;var e="assets/images/preset-"+this.addWidgetName.toLowerCase()+".png";this.presetSrc=this.urlService.getResourceUrl("/"+e)},WidgetPreviewComponent.ɵfac=function WidgetPreviewComponent_Factory(e){return new(e||WidgetPreviewComponent)(i["ɵɵdirectiveInject"](o.UrlService))},WidgetPreviewComponent.ɵcmp=i["ɵɵdefineComponent"]({type:WidgetPreviewComponent,selectors:[["sf-widget-preview"]],inputs:{text:"text",name:"name",addWidgetTitle:"addWidgetTitle",addWidgetName:"addWidgetName"},decls:4,vars:3,consts:[[3,"name","look","title",4,"ngIf","ngIfElse"],["class","-sf-mt-4xs",4,"ngIf"],["pngHandler",""],[3,"name","look","title"],[1,"-sf-mt-4xs"],[1,"sf-media","-preview","-no-zindex",3,"src","alt","error"]],template:function WidgetPreviewComponent_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,WidgetPreviewComponent_sf_svg_icon_handler_0_Template,1,3,"sf-svg-icon-handler",0),i["ɵɵtemplate"](1,WidgetPreviewComponent_h3_1_Template,2,1,"h3",1),i["ɵɵtemplate"](2,WidgetPreviewComponent_ng_template_2_Template,1,2,"ng-template",null,2,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](3);i["ɵɵproperty"]("ngIf",!t.isPreset)("ngIfElse",n),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.showText)}},directives:[r.NgIf,a.SvgIconHandlerComponent],encapsulation:2}),WidgetPreviewComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DRAG_IMAGES_SRC_LIST",(function(){return o}));var o=[{Section:"iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAIAAADz89W0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjREOTVFNzFCNjM4QzExRUFBMEM3QzMwMTVFQjM5RDlBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjREOTVFNzFDNjM4QzExRUFBMEM3QzMwMTVFQjM5RDlBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEQ5NUU3MTk2MzhDMTFFQUEwQzdDMzAxNUVCMzlEOUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEQ5NUU3MUE2MzhDMTFFQUEwQzdDMzAxNUVCMzlEOUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6okhdcAAABDUlEQVR42uzbsQqCQBzH8bsyMhWh4VqKlqLmiKKtoWfoKXuKtrChoSVocGhLaSuQsivoAWy4SPH7G0X43Yc/esOpDC4HUaZURMkCGDBgwIABAwYM+FexMu/YrdZGmpRSk9n0XL+mUn+uVLVsJe52E0RRZKRitJwzYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw4N8l+2zJaXpGmmqefZdPnX/wcDE2UyVFLG4FmPB7oTzDgAEDLs62pBLHTJNl2W7jlMQPneYafNyb+aDa9/3eoC+EzvuEwzA00qSUanc7uq7/u8/x0gIMGDBgwIABAwYMGDBgwGUES/4QBwwYMGDAgAEDBgwY8Dd5CTAAT5sq2OWG8OgAAAAASUVORK5CYII="},{ContentBlock:"iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAIAAADz89W0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYyQTkxOTJBNjM4QjExRUFCM0U2RTRGOTM5QzlDQzJDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYyQTkxOTJCNjM4QjExRUFCM0U2RTRGOTM5QzlDQzJDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjJBOTE5Mjg2MzhCMTFFQUIzRTZFNEY5MzlDOUNDMkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjJBOTE5Mjk2MzhCMTFFQUIzRTZFNEY5MzlDOUNDMkMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7+yGKNAAABN0lEQVR42uzbsWqEMBzH8Us9dHBSxw6+gEufoE/Rp+xTdL2li0PBtQUVVFASMOa0wa3DpXD0eq33/a35Q/yQ8EMQxaF9291S7nY3FsCAAQMGDBgwYMCAfyj7byden1/+C+bh6ZETBgwYMGDAgAED/sOvlo74vn+/JgiCSz/oOI4fa7TWVwN7nhdFUZqmYRheGiylVEqVZcmVBgyYlj43xpi6roUQ7pa2q0mSxHF8aqBt26ZpbA+7W9ruZXe8Jniapvc17jHb5FmWOcBVVeV53nUdVxowYMCAAQMGDBgwYMCAAQMGDBgwYMCAAW8s+1/YY55nrbWU8tSAXbUz2wErpYqicHzaHYbBzmwHbIzp+95xwsc12wEvy2LWUFqAAQMGDBjwlwh+iQcMGDBgwIABAwYM+Kx8CjAAjbl6tFeL2oMAAAAASUVORK5CYII="},{Image:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOENERDU0M0FBNzExMUVBODAzMkI2OUU1OUFEOEMyQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOENERDU0MkFBNzExMUVBODAzMkI2OUU1OUFEOEMyQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bFETxQAAAeJJREFUeNrsmq9vwkAUx2FZ6qpQraqqQywoMEWBaeUM/+JkXVUxkGBml6opVDuDatW+6SVNU+Bo727cNXtPNOGau3uf9xvC9PTzNRmzvExGLgRAAARAAATwvwFeOe8+P/aGaPn2HlAIEQABqAawLMt1XTzNrUL3ZDabrVYrx3HYx6Iojsfj+XwehwegfRRFjfZsJQxDeGMcALD9zbAJgmAEALZtt23fedXTCWrTZjCA5H2It91upzDehgFcLheZy2D79XqN52azkbeFIMA9hqqq8jznb99ut/AAIwGDklganMT7/e0J73A4gIGzcblcdmoXvKEBAPU+SZK2H6B3mqZZlnF2+b4/n887i57nLRYLDY3su5YmER+2MI6xAQBb8OHVA/TUu0lcND5+YylqMXGYY9rzk1Uyof8WANZlZedhe+F7SQ8Asha527/BiRUlWQBcjGJyvY5F1M1BR/m1PBWAhS8s14kTYXNi19ApQwoAnRXh28nCZl4QOxNHPQkAWjadtZ2Fzbwg7NVn9IHreGVhU5blvXnbrK+UN0NcIAU1zEIyNVs/gMIxWA9Az85qKAAmRy1RrgxA1w8nOoc5AiAAAjBplIjjmDxAAARAAATQkSn96Y8ACIAACIAACECj/AowACAVf0yg8gshAAAAAElFTkSuQmCC"},{Button:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQzkwMDk2NUFCQ0IxMUVBQUY5RTg4OUIxQ0FCNjk1NCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQzkwMDk2NEFCQ0IxMUVBQUY5RTg4OUIxQ0FCNjk1NCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjhFMjU4MjQ0NzJBQUVBMTFCRTZGRkUwNzREOUM3NkUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7BP0QgAAA+FJREFUeNrsmslLHFEQxp2x3RX3XRG9eBCRQbyIGEH/hfyVuXkURAIimEsOikZwQcVdZ9xw7XHyixWKR5vpOC2vo+S9g9Tr9X1VX1V9r8fEt/SPoo88kkUffDgADoAD4AA4AP83AC/k3PcvX9/JKlOfPzkKOQAOgAPgADgAlgA8PT29004cPrLZ7MPDA6uvr6/PZDKe55WUlCSTybu7u7zeSiZLS0t1en9/7/u+2JWVlYlEIj4ArL62tjaVStXV1bEmkOzt7S0tLbGmiYmJfHddXFysrq7qdGRkpKenR+yZmRnujQlALpdrbGycnJxsaGhQtzU1NbGaubm5gYGBfDceHBwoAB7S29vb2toqU4ydnZ34cmB8fBwMZtDhT3Nz8+3tbXH+Ac30eqbg1yn440tiPNfW1qZTJf3l5WVIAjDKy8vVhoFg1qn5QLsUImuHh4fFfnx8nJ+fv76+lnw4PDwkJrOzs3K2r68PqBhbW1ubm5sYxCffiqEQeUVYrAOoqqqCPGIvLCzAadjMus/PzyULV1ZW5GxNTY0AODk5kYNUIfV6R0eHGMDjMo5TzYihdQD6YtiytramtN7d3QUG07KyMmW5GnpQM1jSl/K1vb0tODs7OyMAKDgH8JMYFA3WYSaxmaPhg8pLJDEyz0MOUgPiSGIFwIujtR5Zq9x7dnbGc8QRMNP0iC0AtEwxrq6uInfxlpYWMY6OjqgE8ihcY/ZpWwBU+dzc3LwdABEgFJSvX+noefT1+MRcZP7ggvb2dtEjFChqK3msxdR6FdJ1m22ooFFdXS1FCcYPDQ1RW2kjgchYBABltcxHA9DV1fX73Z43OjpqnqK7ER8gWaSQlmp1W4QSFBIcKa8WASCJtaOZWxlsOP0aJRvOE0kPixSi8ImBluzu7ib/cs8DRlVUVCAo/vI+z1PhubGxYbYXEafER4STLQCnp6eICNGVY2NjGIg5khJm85f9QPjtFEopAwin6elpPT44ODg1NSWFSMSVRTWKBKJ6SBqwraEO4numx8fHr0+A/f19k+7pdFpDQZRew8aIOYBvUKCmMJbVC7//WHBNdyrFA2Sjo0lGEcaC2lmURoZ6WVxchDmB8hoQF1ljmFyXI1oMVLESBDll7tSs7Il52fLyMkHo7+8ndynbvBU5vb6+bl5Gl5UdMIYehGYiHKBQ4LFcLEqxoN19IuRfDcJ/4PB9H6/LBoBoyJbX3FL5z0Mqjypt3XOi2wINSz7SBK6XEfIDR/TvQvIaeI/7VaK+vCBkW/xykxDrh603Sjr3bdQBcAAcAAfgXYyE+6c/B8ABcAAcAAfAAfiH46cAAwDSuNSUL5BMWgAAAABJRU5ErkJggg=="},{Navigation:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMjI4MTFCNTMzQkYxMUVCODY3MjgyQkY1MDQwNDlDOCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMjI4MTFCNDMzQkYxMUVCODY3MjgyQkY1MDQwNDlDOCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE1NDk3RTM4QjMzMEVCMTFBM0I0REY4MEY4NEVCRUZEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Brw0ZQAAAopJREFUeNrsmsmqIjEUhm85TwsHEARxIagbB0RQUNEHcH1f0U2Dz1ANKtgKoii0G1FRnEAocZ66D+2mScqqi6RKw81ZJqaor/Kf/5wEuV+r3x80h+aD8mAADIABMAAG8L0BdBJzzR8/3+Qt4595JiEGwAC+oQtJxJ9/If5JNF/6KLfb7bmFZADMZrPRaBSdWq1WWq1W9gkOhwMZEQRBPYBAIBCJRESneJ6fTCYcx0k/oVAoICPFYlE9APj8NptNdCqTyZRKpev1Kv2ER8tVSuJHCXDXRj6fP5/PFLuQ3+8PBoN4mlIDAH6STqdNJpPERr17HbBarblcjmKAu5DC4fDlcqEDoNvt4oOJRMLpdCq6D8QA+v1+r9fD6102m32uxKoNYDAYGo3GZrNBxr1ebzweV85ViQHY7fb1el2pVPCpWCzm8XgUclViAHq9HlogEBKeDDAFQoItUiIZiAHcXw7kXq/XoZ9DZt1uNwjprQHuAT3c4XAol8t4LxSNRn0+n2yP9Po6AJswGo3a7TYyDgJLpVLQw5HdB0UMDuTebDYXiwUy7nK5kskk2WxWyqFPpxMICXfPUCgEFZpgeVYKAIQ0nU5brZbogQHKM6nKoGCNBPcEIY3HY/woA0La7XYU3EqA3EFIx+MR7/MgTygAAFeFmgD7gDsPtEl03AvpdDoAGA6H9J0H/k/oarW63+9pBQAhCYJQq9WU6Oc0T7+T7AhShjudzmAwIC/R55aBi0PPg4zIlmdotqHrtlgsrwcAd0eMHO9A8dhutzzP45eKLwBYLpfz+RzJVNmjI/wAVs1ms0d+pR7AV173UTLQ50K03gsxAAbAANQIjv3pjwEwAAbAABgAA3hh/BVgAL/t+RVQREniAAAAAElFTkSuQmCC"},{ContentList:"iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAIAAADff1mdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNDQ1OTA3MzhDNUZFQTExQTI3RUFCRjYxMUYwQTkwMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowNzQyMTFBQ0IxN0IxMUVBQjc2MUQ3Q0VCMDI1RDUzNiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowNzQyMTFBQkIxN0IxMUVBQjc2MUQ3Q0VCMDI1RDUzNiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkEyNDYzRUMzMzlCMUVBMTE4OEM5ODMwNTlEMkI3QjU3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU0NDU5MDczOEM1RkVBMTFBMjdFQUJGNjExRjBBOTAxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+437qRwAAAH1JREFUeNrs17ENgCAQBVAwLMQETuGUTmFLY8sUzOAChigd+n57IeTlrvmxtBpmzhImDwAAAADAvwGpMzv3ozPN2/r2yXBu/3JCAAAAAAAfAESdGAAAAEChcUIAAAAAAAqNDQAAACg0Co0TAgAAANAHbAAAAAAAAOB5LgEGAFg0HMGZQj7QAAAAAElFTkSuQmCC"},{Custom:"iVBORw0KGgoAAAANSUhEUgAAAFAAAABPCAIAAADz89W0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3NjJCRDg2NjM4QzExRUFCOTRFRDFENDZGQjhEMTMyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI3NjJCRDg3NjM4QzExRUFCOTRFRDFENDZGQjhEMTMyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjc2MkJEODQ2MzhDMTFFQUI5NEVEMUQ0NkZCOEQxMzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Mjc2MkJEODU2MzhDMTFFQUI5NEVEMUQ0NkZCOEQxMzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6k3+BnAAADK0lEQVR42uybTW/aQBCGY6/ttcHgEEhCkkZNq7SHtlLvrdT/r6rnfkg5tJGakrSQAAZjsNcdQ3vKwW55TXbFjjhwQIMf7cy8M7tr4/3g8842mbmzZaaBNbAG1sAaWANrYA2sgasyq/AXvy6uomGoBIwX+J3z43WBR9eD4VVfCeDguA0ANshMNSKfnhQQ0ha3eY2rkZ/cBgB3XzwWz0/VqMCWCQC2PTWWF1alk3gh0lSNFWasMKqLgSe/hnEYKQHMfS846awL3P/aU0iWCoF1p3W/fdn1RSrU6LR2fQBws7tXK+FIitVzHQBwvd3crpCmeM6yDNwD5k0CW33PRCYEJmXyJpiZaw8PP/rxeAoWTJu1z46ImVhn4+kIpAK8Udt9tL/+tHQb3tyim16ndXpAwEJk8Tgi5YO49Q9aAOBkNo/DGRY4T5NVFGdZukhR/t3mHJDDVQ90lmuj6iKFtPTAzCTNo4FMovGw6hW2XU4pDav+kgOvnrLMTsXmdLhSW8pSNL7GqACvu4BpqVIjWSId/nnxHeKtcdCSHZhkSSzS+QQjS0lcLEt6PNysUbNF09j5u9cgWbJkB17KklPmQVG6pEN60zUrS2aL2WiKCunCTY+HlqUkHfUGlx++QLwFx+2nb1/pkJZKhw3DtJlTd1FjtvSyZBpuo7Z/foJqLaWXJdP0gjp9tiak80q9A9skLDF4ySBL82g4QW0A1FoNuYFTMb0Lrz9dQrzVO4H0wMvGY9IfoVYYkMOW63DfBVcO7hjmH1liNkP5xxy1NA9b8DsepL0mYytZ4g2vfdbFyBJk17J51M66e2A1+nvUQrLkNurOMw81ewGAC09r1pZig5ZbIh2mikLKoUaf7DqFe/olzpZ6A1QVrdqIFgAc3YWobdTKO/MS2afHw3tGmuF3AiVguO8BgKlf81q+IiHNAMDLfs3eopBeRLFIwNeWSHvtGt/kGdo/APc+fgtv7uCC+eTNyzK9/gMAJ/EinsbYf83vBaFvBsGA80cT4JDOHWay5nDzcM92Hey/Mtsqc5n7YYALX5tQy/SLWhpYA2tgDayBNbAG1sAaWAP/n/0WYABdlO5k1DzsBQAAAABJRU5ErkJggg=="}]},function(e,t,n){"use strict";var o;n.r(t),n.d(t,"ActivatedAddWidgetPosition",(function(){return o})),function(e){e[e.Before=0]="Before",e[e.After=1]="After"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"StyleSheetService",(function(){return s}));var o=n(372),i=n(361),r=n(11),a=n(229),s=function(){function StyleSheetService(e){this.documentProvider=e}return StyleSheetService.prototype.insertLinkTag=function(e,t,n){void 0===t&&(t=this.documentProvider),void 0===n&&(n=null);var o=new r.Subject,a=t.createElement(i.NODE_NAMES.LINK_ELEMENT);return a.rel="stylesheet",a.href=e,a.onload=function(){o.next(!0),o.complete()},a.onerror=function(){o.next(!1),o.complete()},n&&this.setAttributes(a,n),t.head.appendChild(a),o.asObservable()},StyleSheetService.prototype.insertStyleTag=function(e,t,n){void 0===t&&(t=this.documentProvider),void 0===n&&(n=null);var o=document.createElement(i.NODE_NAMES.STYLE_ELEMENT);o.type="text/css",n&&this.setAttributes(o,n),o.appendChild(document.createTextNode(e)),t.head.appendChild(o)},StyleSheetService.prototype.setAttributes=function(e,t){t.forEach((function(t){e.setAttribute(t.key,t.value)}))},StyleSheetService.ɵfac=function StyleSheetService_Factory(e){return new(e||StyleSheetService)(a["ɵɵinject"](o.DOCUMENT_TOKEN))},StyleSheetService.ɵprov=a["ɵɵdefineInjectable"]({token:StyleSheetService,factory:StyleSheetService.ɵfac}),StyleSheetService}()},function(e,t,n){"use strict";n.r(t),t.default='@charset "UTF-8";\n@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: "FontAwesome";\n src: url("./assets/fonts/font-awesome/fontawesome-webfont.eot?v=4.7.0");\n src: url("./assets/fonts/font-awesome/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("./assets/fonts/font-awesome/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("./assets/fonts/font-awesome/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("./assets/fonts/font-awesome/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("./assets/fonts/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");\n font-weight: normal;\n font-style: normal;\n}\n.sf-fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.sf-fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n.sf-fa-2x {\n font-size: 2em;\n}\n.sf-fa-3x {\n font-size: 3em;\n}\n.sf-fa-4x {\n font-size: 4em;\n}\n.sf-fa-5x {\n font-size: 5em;\n}\n.sf-fa-fw {\n width: 1.2857142857em;\n text-align: center;\n}\n.sf-fa-ul {\n padding-left: 0;\n margin-left: 2.1428571429em;\n list-style-type: none;\n}\n.sf-fa-ul > li {\n position: relative;\n}\n.sf-fa-li {\n position: absolute;\n left: -2.1428571429em;\n width: 2.1428571429em;\n top: 0.1428571429em;\n text-align: center;\n}\n.sf-fa-li.sf-fa-lg {\n left: -1.8571428571em;\n}\n.sf-fa-border {\n padding: 0.2em 0.25em 0.15em;\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n}\n.sf-fa-pull-left {\n float: left;\n}\n.sf-fa-pull-right {\n float: right;\n}\n.sf-fa.sf-fa-pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.sf-fa-pull-right {\n margin-left: 0.3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n.pull-left {\n float: left;\n}\n.sf-fa.pull-left {\n margin-right: 0.3em;\n}\n.sf-fa.pull-right {\n margin-left: 0.3em;\n}\n.sf-fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n.sf-fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n.sf-fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n transform: rotate(90deg);\n}\n.sf-fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n transform: rotate(180deg);\n}\n.sf-fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n transform: rotate(270deg);\n}\n.sf-fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n transform: scale(-1, 1);\n}\n.sf-fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n transform: scale(1, -1);\n}\n:root .sf-fa-rotate-90,\n:root .sf-fa-rotate-180,\n:root .sf-fa-rotate-270,\n:root .sf-fa-flip-horizontal,\n:root .sf-fa-flip-vertical {\n filter: none;\n}\n.sf-fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.sf-fa-stack-1x, .sf-fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.sf-fa-stack-1x {\n line-height: inherit;\n}\n.sf-fa-stack-2x {\n font-size: 2em;\n}\n.sf-fa-inverse {\n color: #fff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.sf-fa-glass:before {\n content: "";\n}\n.sf-fa-music:before {\n content: "";\n}\n.sf-fa-search:before {\n content: "";\n}\n.sf-fa-envelope-o:before {\n content: "";\n}\n.sf-fa-heart:before {\n content: "";\n}\n.sf-fa-star:before {\n content: "";\n}\n.sf-fa-star-o:before {\n content: "";\n}\n.sf-fa-user:before {\n content: "";\n}\n.sf-fa-film:before {\n content: "";\n}\n.sf-fa-th-large:before {\n content: "";\n}\n.sf-fa-th:before {\n content: "";\n}\n.sf-fa-th-list:before {\n content: "";\n}\n.sf-fa-check:before {\n content: "";\n}\n.sf-fa-remove:before,\n.sf-fa-close:before,\n.sf-fa-times:before {\n content: "";\n}\n.sf-fa-search-plus:before {\n content: "";\n}\n.sf-fa-search-minus:before {\n content: "";\n}\n.sf-fa-power-off:before {\n content: "";\n}\n.sf-fa-signal:before {\n content: "";\n}\n.sf-fa-gear:before,\n.sf-fa-cog:before {\n content: "";\n}\n.sf-fa-trash-o:before {\n content: "";\n}\n.sf-fa-home:before {\n content: "";\n}\n.sf-fa-file-o:before {\n content: "";\n}\n.sf-fa-clock-o:before {\n content: "";\n}\n.sf-fa-road:before {\n content: "";\n}\n.sf-fa-download:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-up:before {\n content: "";\n}\n.sf-fa-inbox:before {\n content: "";\n}\n.sf-fa-play-circle-o:before {\n content: "";\n}\n.sf-fa-rotate-right:before,\n.sf-fa-repeat:before {\n content: "";\n}\n.sf-fa-refresh:before {\n content: "";\n}\n.sf-fa-list-alt:before {\n content: "";\n}\n.sf-fa-lock:before {\n content: "";\n}\n.sf-fa-flag:before {\n content: "";\n}\n.sf-fa-headphones:before {\n content: "";\n}\n.sf-fa-volume-off:before {\n content: "";\n}\n.sf-fa-volume-down:before {\n content: "";\n}\n.sf-fa-volume-up:before {\n content: "";\n}\n.sf-fa-qrcode:before {\n content: "";\n}\n.sf-fa-barcode:before {\n content: "";\n}\n.sf-fa-tag:before {\n content: "";\n}\n.sf-fa-tags:before {\n content: "";\n}\n.sf-fa-book:before {\n content: "";\n}\n.sf-fa-bookmark:before {\n content: "";\n}\n.sf-fa-print:before {\n content: "";\n}\n.sf-fa-camera:before {\n content: "";\n}\n.sf-fa-font:before {\n content: "";\n}\n.sf-fa-bold:before {\n content: "";\n}\n.sf-fa-italic:before {\n content: "";\n}\n.sf-fa-text-height:before {\n content: "";\n}\n.sf-fa-text-width:before {\n content: "";\n}\n.sf-fa-align-left:before {\n content: "";\n}\n.sf-fa-align-center:before {\n content: "";\n}\n.sf-fa-align-right:before {\n content: "";\n}\n.sf-fa-align-justify:before {\n content: "";\n}\n.sf-fa-list:before {\n content: "";\n}\n.sf-fa-dedent:before,\n.sf-fa-outdent:before {\n content: "";\n}\n.sf-fa-indent:before {\n content: "";\n}\n.sf-fa-video-camera:before {\n content: "";\n}\n.sf-fa-photo:before,\n.sf-fa-image:before,\n.sf-fa-picture-o:before {\n content: "";\n}\n.sf-fa-pencil:before {\n content: "";\n}\n.sf-fa-map-marker:before {\n content: "";\n}\n.sf-fa-adjust:before {\n content: "";\n}\n.sf-fa-tint:before {\n content: "";\n}\n.sf-fa-edit:before,\n.sf-fa-pencil-square-o:before {\n content: "";\n}\n.sf-fa-share-square-o:before {\n content: "";\n}\n.sf-fa-check-square-o:before {\n content: "";\n}\n.sf-fa-arrows:before {\n content: "";\n}\n.sf-fa-step-backward:before {\n content: "";\n}\n.sf-fa-fast-backward:before {\n content: "";\n}\n.sf-fa-backward:before {\n content: "";\n}\n.sf-fa-play:before {\n content: "";\n}\n.sf-fa-pause:before {\n content: "";\n}\n.sf-fa-stop:before {\n content: "";\n}\n.sf-fa-forward:before {\n content: "";\n}\n.sf-fa-fast-forward:before {\n content: "";\n}\n.sf-fa-step-forward:before {\n content: "";\n}\n.sf-fa-eject:before {\n content: "";\n}\n.sf-fa-chevron-left:before {\n content: "";\n}\n.sf-fa-chevron-right:before {\n content: "";\n}\n.sf-fa-plus-circle:before {\n content: "";\n}\n.sf-fa-minus-circle:before {\n content: "";\n}\n.sf-fa-times-circle:before {\n content: "";\n}\n.sf-fa-check-circle:before {\n content: "";\n}\n.sf-fa-question-circle:before {\n content: "";\n}\n.sf-fa-info-circle:before {\n content: "";\n}\n.sf-fa-crosshairs:before {\n content: "";\n}\n.sf-fa-times-circle-o:before {\n content: "";\n}\n.sf-fa-check-circle-o:before {\n content: "";\n}\n.sf-fa-ban:before {\n content: "";\n}\n.sf-fa-arrow-left:before {\n content: "";\n}\n.sf-fa-arrow-right:before {\n content: "";\n}\n.sf-fa-arrow-up:before {\n content: "";\n}\n.sf-fa-arrow-down:before {\n content: "";\n}\n.sf-fa-mail-forward:before,\n.sf-fa-share:before {\n content: "";\n}\n.sf-fa-expand:before {\n content: "";\n}\n.sf-fa-compress:before {\n content: "";\n}\n.sf-fa-plus:before {\n content: "";\n}\n.sf-fa-minus:before {\n content: "";\n}\n.sf-fa-asterisk:before {\n content: "";\n}\n.sf-fa-exclamation-circle:before {\n content: "";\n}\n.sf-fa-gift:before {\n content: "";\n}\n.sf-fa-leaf:before {\n content: "";\n}\n.sf-fa-fire:before {\n content: "";\n}\n.sf-fa-eye:before {\n content: "";\n}\n.sf-fa-eye-slash:before {\n content: "";\n}\n.sf-fa-warning:before,\n.sf-fa-exclamation-triangle:before {\n content: "";\n}\n.sf-fa-plane:before {\n content: "";\n}\n.sf-fa-calendar:before {\n content: "";\n}\n.sf-fa-random:before {\n content: "";\n}\n.sf-fa-comment:before {\n content: "";\n}\n.sf-fa-magnet:before {\n content: "";\n}\n.sf-fa-chevron-up:before {\n content: "";\n}\n.sf-fa-chevron-down:before {\n content: "";\n}\n.sf-fa-retweet:before {\n content: "";\n}\n.sf-fa-shopping-cart:before {\n content: "";\n}\n.sf-fa-folder:before {\n content: "";\n}\n.sf-fa-folder-open:before {\n content: "";\n}\n.sf-fa-arrows-v:before {\n content: "";\n}\n.sf-fa-arrows-h:before {\n content: "";\n}\n.sf-fa-bar-chart-o:before,\n.sf-fa-bar-chart:before {\n content: "";\n}\n.sf-fa-twitter-square:before {\n content: "";\n}\n.sf-fa-facebook-square:before {\n content: "";\n}\n.sf-fa-camera-retro:before {\n content: "";\n}\n.sf-fa-key:before {\n content: "";\n}\n.sf-fa-gears:before,\n.sf-fa-cogs:before {\n content: "";\n}\n.sf-fa-comments:before {\n content: "";\n}\n.sf-fa-thumbs-o-up:before {\n content: "";\n}\n.sf-fa-thumbs-o-down:before {\n content: "";\n}\n.sf-fa-star-half:before {\n content: "";\n}\n.sf-fa-heart-o:before {\n content: "";\n}\n.sf-fa-sign-out:before {\n content: "";\n}\n.sf-fa-linkedin-square:before {\n content: "";\n}\n.sf-fa-thumb-tack:before {\n content: "";\n}\n.sf-fa-external-link:before {\n content: "";\n}\n.sf-fa-sign-in:before {\n content: "";\n}\n.sf-fa-trophy:before {\n content: "";\n}\n.sf-fa-github-square:before {\n content: "";\n}\n.sf-fa-upload:before {\n content: "";\n}\n.sf-fa-lemon-o:before {\n content: "";\n}\n.sf-fa-phone:before {\n content: "";\n}\n.sf-fa-square-o:before {\n content: "";\n}\n.sf-fa-bookmark-o:before {\n content: "";\n}\n.sf-fa-phone-square:before {\n content: "";\n}\n.sf-fa-twitter:before {\n content: "";\n}\n.sf-fa-facebook-f:before,\n.sf-fa-facebook:before {\n content: "";\n}\n.sf-fa-github:before {\n content: "";\n}\n.sf-fa-unlock:before {\n content: "";\n}\n.sf-fa-credit-card:before {\n content: "";\n}\n.sf-fa-feed:before,\n.sf-fa-rss:before {\n content: "";\n}\n.sf-fa-hdd-o:before {\n content: "";\n}\n.sf-fa-bullhorn:before {\n content: "";\n}\n.sf-fa-bell:before {\n content: "";\n}\n.sf-fa-certificate:before {\n content: "";\n}\n.sf-fa-hand-o-right:before {\n content: "";\n}\n.sf-fa-hand-o-left:before {\n content: "";\n}\n.sf-fa-hand-o-up:before {\n content: "";\n}\n.sf-fa-hand-o-down:before {\n content: "";\n}\n.sf-fa-arrow-circle-left:before {\n content: "";\n}\n.sf-fa-arrow-circle-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-up:before {\n content: "";\n}\n.sf-fa-arrow-circle-down:before {\n content: "";\n}\n.sf-fa-globe:before {\n content: "";\n}\n.sf-fa-wrench:before {\n content: "";\n}\n.sf-fa-tasks:before {\n content: "";\n}\n.sf-fa-filter:before {\n content: "";\n}\n.sf-fa-briefcase:before {\n content: "";\n}\n.sf-fa-arrows-alt:before {\n content: "";\n}\n.sf-fa-group:before,\n.sf-fa-users:before {\n content: "";\n}\n.sf-fa-chain:before,\n.sf-fa-link:before {\n content: "";\n}\n.sf-fa-cloud:before {\n content: "";\n}\n.sf-fa-flask:before {\n content: "";\n}\n.sf-fa-cut:before,\n.sf-fa-scissors:before {\n content: "";\n}\n.sf-fa-copy:before,\n.sf-fa-files-o:before {\n content: "";\n}\n.sf-fa-paperclip:before {\n content: "";\n}\n.sf-fa-save:before,\n.sf-fa-floppy-o:before {\n content: "";\n}\n.sf-fa-square:before {\n content: "";\n}\n.sf-fa-navicon:before,\n.sf-fa-reorder:before,\n.sf-fa-bars:before {\n content: "";\n}\n.sf-fa-list-ul:before {\n content: "";\n}\n.sf-fa-list-ol:before {\n content: "";\n}\n.sf-fa-strikethrough:before {\n content: "";\n}\n.sf-fa-underline:before {\n content: "";\n}\n.sf-fa-table:before {\n content: "";\n}\n.sf-fa-magic:before {\n content: "";\n}\n.sf-fa-truck:before {\n content: "";\n}\n.sf-fa-pinterest:before {\n content: "";\n}\n.sf-fa-pinterest-square:before {\n content: "";\n}\n.sf-fa-google-plus-square:before {\n content: "";\n}\n.sf-fa-google-plus:before {\n content: "";\n}\n.sf-fa-money:before {\n content: "";\n}\n.sf-fa-caret-down:before {\n content: "";\n}\n.sf-fa-caret-up:before {\n content: "";\n}\n.sf-fa-caret-left:before {\n content: "";\n}\n.sf-fa-caret-right:before {\n content: "";\n}\n.sf-fa-columns:before {\n content: "";\n}\n.sf-fa-unsorted:before,\n.sf-fa-sort:before {\n content: "";\n}\n.sf-fa-sort-down:before,\n.sf-fa-sort-desc:before {\n content: "";\n}\n.sf-fa-sort-up:before,\n.sf-fa-sort-asc:before {\n content: "";\n}\n.sf-fa-envelope:before {\n content: "";\n}\n.sf-fa-linkedin:before {\n content: "";\n}\n.sf-fa-rotate-left:before,\n.sf-fa-undo:before {\n content: "";\n}\n.sf-fa-legal:before,\n.sf-fa-gavel:before {\n content: "";\n}\n.sf-fa-dashboard:before,\n.sf-fa-tachometer:before {\n content: "";\n}\n.sf-fa-comment-o:before {\n content: "";\n}\n.sf-fa-comments-o:before {\n content: "";\n}\n.sf-fa-flash:before,\n.sf-fa-bolt:before {\n content: "";\n}\n.sf-fa-sitemap:before {\n content: "";\n}\n.sf-fa-umbrella:before {\n content: "";\n}\n.sf-fa-paste:before,\n.sf-fa-clipboard:before {\n content: "";\n}\n.sf-fa-lightbulb-o:before {\n content: "";\n}\n.sf-fa-exchange:before {\n content: "";\n}\n.sf-fa-cloud-download:before {\n content: "";\n}\n.sf-fa-cloud-upload:before {\n content: "";\n}\n.sf-fa-user-md:before {\n content: "";\n}\n.sf-fa-stethoscope:before {\n content: "";\n}\n.sf-fa-suitcase:before {\n content: "";\n}\n.sf-fa-bell-o:before {\n content: "";\n}\n.sf-fa-coffee:before {\n content: "";\n}\n.sf-fa-cutlery:before {\n content: "";\n}\n.sf-fa-file-text-o:before {\n content: "";\n}\n.sf-fa-building-o:before {\n content: "";\n}\n.sf-fa-hospital-o:before {\n content: "";\n}\n.sf-fa-ambulance:before {\n content: "";\n}\n.sf-fa-medkit:before {\n content: "";\n}\n.sf-fa-fighter-jet:before {\n content: "";\n}\n.sf-fa-beer:before {\n content: "";\n}\n.sf-fa-h-square:before {\n content: "";\n}\n.sf-fa-plus-square:before {\n content: "";\n}\n.sf-fa-angle-double-left:before {\n content: "";\n}\n.sf-fa-angle-double-right:before {\n content: "";\n}\n.sf-fa-angle-double-up:before {\n content: "";\n}\n.sf-fa-angle-double-down:before {\n content: "";\n}\n.sf-fa-angle-left:before {\n content: "";\n}\n.sf-fa-angle-right:before {\n content: "";\n}\n.sf-fa-angle-up:before {\n content: "";\n}\n.sf-fa-angle-down:before {\n content: "";\n}\n.sf-fa-desktop:before {\n content: "";\n}\n.sf-fa-laptop:before {\n content: "";\n}\n.sf-fa-tablet:before {\n content: "";\n}\n.sf-fa-mobile-phone:before,\n.sf-fa-mobile:before {\n content: "";\n}\n.sf-fa-circle-o:before {\n content: "";\n}\n.sf-fa-quote-left:before {\n content: "";\n}\n.sf-fa-quote-right:before {\n content: "";\n}\n.sf-fa-spinner:before {\n content: "";\n}\n.sf-fa-circle:before {\n content: "";\n}\n.sf-fa-mail-reply:before,\n.sf-fa-reply:before {\n content: "";\n}\n.sf-fa-github-alt:before {\n content: "";\n}\n.sf-fa-folder-o:before {\n content: "";\n}\n.sf-fa-folder-open-o:before {\n content: "";\n}\n.sf-fa-smile-o:before {\n content: "";\n}\n.sf-fa-frown-o:before {\n content: "";\n}\n.sf-fa-meh-o:before {\n content: "";\n}\n.sf-fa-gamepad:before {\n content: "";\n}\n.sf-fa-keyboard-o:before {\n content: "";\n}\n.sf-fa-flag-o:before {\n content: "";\n}\n.sf-fa-flag-checkered:before {\n content: "";\n}\n.sf-fa-terminal:before {\n content: "";\n}\n.sf-fa-code:before {\n content: "";\n}\n.sf-fa-mail-reply-all:before,\n.sf-fa-reply-all:before {\n content: "";\n}\n.sf-fa-star-half-empty:before,\n.sf-fa-star-half-full:before,\n.sf-fa-star-half-o:before {\n content: "";\n}\n.sf-fa-location-arrow:before {\n content: "";\n}\n.sf-fa-crop:before {\n content: "";\n}\n.sf-fa-code-fork:before {\n content: "";\n}\n.sf-fa-unlink:before,\n.sf-fa-chain-broken:before {\n content: "";\n}\n.sf-fa-question:before {\n content: "";\n}\n.sf-fa-info:before {\n content: "";\n}\n.sf-fa-exclamation:before {\n content: "";\n}\n.sf-fa-superscript:before {\n content: "";\n}\n.sf-fa-subscript:before {\n content: "";\n}\n.sf-fa-eraser:before {\n content: "";\n}\n.sf-fa-puzzle-piece:before {\n content: "";\n}\n.sf-fa-microphone:before {\n content: "";\n}\n.sf-fa-microphone-slash:before {\n content: "";\n}\n.sf-fa-shield:before {\n content: "";\n}\n.sf-fa-calendar-o:before {\n content: "";\n}\n.sf-fa-fire-extinguisher:before {\n content: "";\n}\n.sf-fa-rocket:before {\n content: "";\n}\n.sf-fa-maxcdn:before {\n content: "";\n}\n.sf-fa-chevron-circle-left:before {\n content: "";\n}\n.sf-fa-chevron-circle-right:before {\n content: "";\n}\n.sf-fa-chevron-circle-up:before {\n content: "";\n}\n.sf-fa-chevron-circle-down:before {\n content: "";\n}\n.sf-fa-html5:before {\n content: "";\n}\n.sf-fa-css3:before {\n content: "";\n}\n.sf-fa-anchor:before {\n content: "";\n}\n.sf-fa-unlock-alt:before {\n content: "";\n}\n.sf-fa-bullseye:before {\n content: "";\n}\n.sf-fa-ellipsis-h:before {\n content: "";\n}\n.sf-fa-ellipsis-v:before {\n content: "";\n}\n.sf-fa-rss-square:before {\n content: "";\n}\n.sf-fa-play-circle:before {\n content: "";\n}\n.sf-fa-ticket:before {\n content: "";\n}\n.sf-fa-minus-square:before {\n content: "";\n}\n.sf-fa-minus-square-o:before {\n content: "";\n}\n.sf-fa-level-up:before {\n content: "";\n}\n.sf-fa-level-down:before {\n content: "";\n}\n.sf-fa-check-square:before {\n content: "";\n}\n.sf-fa-pencil-square:before {\n content: "";\n}\n.sf-fa-external-link-square:before {\n content: "";\n}\n.sf-fa-share-square:before {\n content: "";\n}\n.sf-fa-compass:before {\n content: "";\n}\n.sf-fa-toggle-down:before,\n.sf-fa-caret-square-o-down:before {\n content: "";\n}\n.sf-fa-toggle-up:before,\n.sf-fa-caret-square-o-up:before {\n content: "";\n}\n.sf-fa-toggle-right:before,\n.sf-fa-caret-square-o-right:before {\n content: "";\n}\n.sf-fa-euro:before,\n.sf-fa-eur:before {\n content: "";\n}\n.sf-fa-gbp:before {\n content: "";\n}\n.sf-fa-dollar:before,\n.sf-fa-usd:before {\n content: "";\n}\n.sf-fa-rupee:before,\n.sf-fa-inr:before {\n content: "";\n}\n.sf-fa-cny:before,\n.sf-fa-rmb:before,\n.sf-fa-yen:before,\n.sf-fa-jpy:before {\n content: "";\n}\n.sf-fa-ruble:before,\n.sf-fa-rouble:before,\n.sf-fa-rub:before {\n content: "";\n}\n.sf-fa-won:before,\n.sf-fa-krw:before {\n content: "";\n}\n.sf-fa-bitcoin:before,\n.sf-fa-btc:before {\n content: "";\n}\n.sf-fa-file:before {\n content: "";\n}\n.sf-fa-file-text:before {\n content: "";\n}\n.sf-fa-sort-alpha-asc:before {\n content: "";\n}\n.sf-fa-sort-alpha-desc:before {\n content: "";\n}\n.sf-fa-sort-amount-asc:before {\n content: "";\n}\n.sf-fa-sort-amount-desc:before {\n content: "";\n}\n.sf-fa-sort-numeric-asc:before {\n content: "";\n}\n.sf-fa-sort-numeric-desc:before {\n content: "";\n}\n.sf-fa-thumbs-up:before {\n content: "";\n}\n.sf-fa-thumbs-down:before {\n content: "";\n}\n.sf-fa-youtube-square:before {\n content: "";\n}\n.sf-fa-youtube:before {\n content: "";\n}\n.sf-fa-xing:before {\n content: "";\n}\n.sf-fa-xing-square:before {\n content: "";\n}\n.sf-fa-youtube-play:before {\n content: "";\n}\n.sf-fa-dropbox:before {\n content: "";\n}\n.sf-fa-stack-overflow:before {\n content: "";\n}\n.sf-fa-instagram:before {\n content: "";\n}\n.sf-fa-flickr:before {\n content: "";\n}\n.sf-fa-adn:before {\n content: "";\n}\n.sf-fa-bitbucket:before {\n content: "";\n}\n.sf-fa-bitbucket-square:before {\n content: "";\n}\n.sf-fa-tumblr:before {\n content: "";\n}\n.sf-fa-tumblr-square:before {\n content: "";\n}\n.sf-fa-long-arrow-down:before {\n content: "";\n}\n.sf-fa-long-arrow-up:before {\n content: "";\n}\n.sf-fa-long-arrow-left:before {\n content: "";\n}\n.sf-fa-long-arrow-right:before {\n content: "";\n}\n.sf-fa-apple:before {\n content: "";\n}\n.sf-fa-windows:before {\n content: "";\n}\n.sf-fa-android:before {\n content: "";\n}\n.sf-fa-linux:before {\n content: "";\n}\n.sf-fa-dribbble:before {\n content: "";\n}\n.sf-fa-skype:before {\n content: "";\n}\n.sf-fa-foursquare:before {\n content: "";\n}\n.sf-fa-trello:before {\n content: "";\n}\n.sf-fa-female:before {\n content: "";\n}\n.sf-fa-male:before {\n content: "";\n}\n.sf-fa-gittip:before,\n.sf-fa-gratipay:before {\n content: "";\n}\n.sf-fa-sun-o:before {\n content: "";\n}\n.sf-fa-moon-o:before {\n content: "";\n}\n.sf-fa-archive:before {\n content: "";\n}\n.sf-fa-bug:before {\n content: "";\n}\n.sf-fa-vk:before {\n content: "";\n}\n.sf-fa-weibo:before {\n content: "";\n}\n.sf-fa-renren:before {\n content: "";\n}\n.sf-fa-pagelines:before {\n content: "";\n}\n.sf-fa-stack-exchange:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-right:before {\n content: "";\n}\n.sf-fa-arrow-circle-o-left:before {\n content: "";\n}\n.sf-fa-toggle-left:before,\n.sf-fa-caret-square-o-left:before {\n content: "";\n}\n.sf-fa-dot-circle-o:before {\n content: "";\n}\n.sf-fa-wheelchair:before {\n content: "";\n}\n.sf-fa-vimeo-square:before {\n content: "";\n}\n.sf-fa-turkish-lira:before,\n.sf-fa-try:before {\n content: "";\n}\n.sf-fa-plus-square-o:before {\n content: "";\n}\n.sf-fa-space-shuttle:before {\n content: "";\n}\n.sf-fa-slack:before {\n content: "";\n}\n.sf-fa-envelope-square:before {\n content: "";\n}\n.sf-fa-wordpress:before {\n content: "";\n}\n.sf-fa-openid:before {\n content: "";\n}\n.sf-fa-institution:before,\n.sf-fa-bank:before,\n.sf-fa-university:before {\n content: "";\n}\n.sf-fa-mortar-board:before,\n.sf-fa-graduation-cap:before {\n content: "";\n}\n.sf-fa-yahoo:before {\n content: "";\n}\n.sf-fa-google:before {\n content: "";\n}\n.sf-fa-reddit:before {\n content: "";\n}\n.sf-fa-reddit-square:before {\n content: "";\n}\n.sf-fa-stumbleupon-circle:before {\n content: "";\n}\n.sf-fa-stumbleupon:before {\n content: "";\n}\n.sf-fa-delicious:before {\n content: "";\n}\n.sf-fa-digg:before {\n content: "";\n}\n.sf-fa-pied-piper-pp:before {\n content: "";\n}\n.sf-fa-pied-piper-alt:before {\n content: "";\n}\n.sf-fa-drupal:before {\n content: "";\n}\n.sf-fa-joomla:before {\n content: "";\n}\n.sf-fa-language:before {\n content: "";\n}\n.sf-fa-fax:before {\n content: "";\n}\n.sf-fa-building:before {\n content: "";\n}\n.sf-fa-child:before {\n content: "";\n}\n.sf-fa-paw:before {\n content: "";\n}\n.sf-fa-spoon:before {\n content: "";\n}\n.sf-fa-cube:before {\n content: "";\n}\n.sf-fa-cubes:before {\n content: "";\n}\n.sf-fa-behance:before {\n content: "";\n}\n.sf-fa-behance-square:before {\n content: "";\n}\n.sf-fa-steam:before {\n content: "";\n}\n.sf-fa-steam-square:before {\n content: "";\n}\n.sf-fa-recycle:before {\n content: "";\n}\n.sf-fa-automobile:before,\n.sf-fa-car:before {\n content: "";\n}\n.sf-fa-cab:before,\n.sf-fa-taxi:before {\n content: "";\n}\n.sf-fa-tree:before {\n content: "";\n}\n.sf-fa-spotify:before {\n content: "";\n}\n.sf-fa-deviantart:before {\n content: "";\n}\n.sf-fa-soundcloud:before {\n content: "";\n}\n.sf-fa-database:before {\n content: "";\n}\n.sf-fa-file-pdf-o:before {\n content: "";\n}\n.sf-fa-file-word-o:before {\n content: "";\n}\n.sf-fa-file-excel-o:before {\n content: "";\n}\n.sf-fa-file-powerpoint-o:before {\n content: "";\n}\n.sf-fa-file-photo-o:before,\n.sf-fa-file-picture-o:before,\n.sf-fa-file-image-o:before {\n content: "";\n}\n.sf-fa-file-zip-o:before,\n.sf-fa-file-archive-o:before {\n content: "";\n}\n.sf-fa-file-sound-o:before,\n.sf-fa-file-audio-o:before {\n content: "";\n}\n.sf-fa-file-movie-o:before,\n.sf-fa-file-video-o:before {\n content: "";\n}\n.sf-fa-file-code-o:before {\n content: "";\n}\n.sf-fa-vine:before {\n content: "";\n}\n.sf-fa-codepen:before {\n content: "";\n}\n.sf-fa-jsfiddle:before {\n content: "";\n}\n.sf-fa-life-bouy:before,\n.sf-fa-life-buoy:before,\n.sf-fa-life-saver:before,\n.sf-fa-support:before,\n.sf-fa-life-ring:before {\n content: "";\n}\n.sf-fa-circle-o-notch:before {\n content: "";\n}\n.sf-fa-ra:before,\n.sf-fa-resistance:before,\n.sf-fa-rebel:before {\n content: "";\n}\n.sf-fa-ge:before,\n.sf-fa-empire:before {\n content: "";\n}\n.sf-fa-git-square:before {\n content: "";\n}\n.sf-fa-git:before {\n content: "";\n}\n.sf-fa-y-combinator-square:before,\n.sf-fa-yc-square:before,\n.sf-fa-hacker-news:before {\n content: "";\n}\n.sf-fa-tencent-weibo:before {\n content: "";\n}\n.sf-fa-qq:before {\n content: "";\n}\n.sf-fa-wechat:before,\n.sf-fa-weixin:before {\n content: "";\n}\n.sf-fa-send:before,\n.sf-fa-paper-plane:before {\n content: "";\n}\n.sf-fa-send-o:before,\n.sf-fa-paper-plane-o:before {\n content: "";\n}\n.sf-fa-history:before {\n content: "";\n}\n.sf-fa-circle-thin:before {\n content: "";\n}\n.sf-fa-header:before {\n content: "";\n}\n.sf-fa-paragraph:before {\n content: "";\n}\n.sf-fa-sliders:before {\n content: "";\n}\n.sf-fa-share-alt:before {\n content: "";\n}\n.sf-fa-share-alt-square:before {\n content: "";\n}\n.sf-fa-bomb:before {\n content: "";\n}\n.sf-fa-soccer-ball-o:before,\n.sf-fa-futbol-o:before {\n content: "";\n}\n.sf-fa-tty:before {\n content: "";\n}\n.sf-fa-binoculars:before {\n content: "";\n}\n.sf-fa-plug:before {\n content: "";\n}\n.sf-fa-slideshare:before {\n content: "";\n}\n.sf-fa-twitch:before {\n content: "";\n}\n.sf-fa-yelp:before {\n content: "";\n}\n.sf-fa-newspaper-o:before {\n content: "";\n}\n.sf-fa-wifi:before {\n content: "";\n}\n.sf-fa-calculator:before {\n content: "";\n}\n.sf-fa-paypal:before {\n content: "";\n}\n.sf-fa-google-wallet:before {\n content: "";\n}\n.sf-fa-cc-visa:before {\n content: "";\n}\n.sf-fa-cc-mastercard:before {\n content: "";\n}\n.sf-fa-cc-discover:before {\n content: "";\n}\n.sf-fa-cc-amex:before {\n content: "";\n}\n.sf-fa-cc-paypal:before {\n content: "";\n}\n.sf-fa-cc-stripe:before {\n content: "";\n}\n.sf-fa-bell-slash:before {\n content: "";\n}\n.sf-fa-bell-slash-o:before {\n content: "";\n}\n.sf-fa-trash:before {\n content: "";\n}\n.sf-fa-copyright:before {\n content: "";\n}\n.sf-fa-at:before {\n content: "";\n}\n.sf-fa-eyedropper:before {\n content: "";\n}\n.sf-fa-paint-brush:before {\n content: "";\n}\n.sf-fa-birthday-cake:before {\n content: "";\n}\n.sf-fa-area-chart:before {\n content: "";\n}\n.sf-fa-pie-chart:before {\n content: "";\n}\n.sf-fa-line-chart:before {\n content: "";\n}\n.sf-fa-lastfm:before {\n content: "";\n}\n.sf-fa-lastfm-square:before {\n content: "";\n}\n.sf-fa-toggle-off:before {\n content: "";\n}\n.sf-fa-toggle-on:before {\n content: "";\n}\n.sf-fa-bicycle:before {\n content: "";\n}\n.sf-fa-bus:before {\n content: "";\n}\n.sf-fa-ioxhost:before {\n content: "";\n}\n.sf-fa-angellist:before {\n content: "";\n}\n.sf-fa-cc:before {\n content: "";\n}\n.sf-fa-shekel:before,\n.sf-fa-sheqel:before,\n.sf-fa-ils:before {\n content: "";\n}\n.sf-fa-meanpath:before {\n content: "";\n}\n.sf-fa-buysellads:before {\n content: "";\n}\n.sf-fa-connectdevelop:before {\n content: "";\n}\n.sf-fa-dashcube:before {\n content: "";\n}\n.sf-fa-forumbee:before {\n content: "";\n}\n.sf-fa-leanpub:before {\n content: "";\n}\n.sf-fa-sellsy:before {\n content: "";\n}\n.sf-fa-shirtsinbulk:before {\n content: "";\n}\n.sf-fa-simplybuilt:before {\n content: "";\n}\n.sf-fa-skyatlas:before {\n content: "";\n}\n.sf-fa-cart-plus:before {\n content: "";\n}\n.sf-fa-cart-arrow-down:before {\n content: "";\n}\n.sf-fa-diamond:before {\n content: "";\n}\n.sf-fa-ship:before {\n content: "";\n}\n.sf-fa-user-secret:before {\n content: "";\n}\n.sf-fa-motorcycle:before {\n content: "";\n}\n.sf-fa-street-view:before {\n content: "";\n}\n.sf-fa-heartbeat:before {\n content: "";\n}\n.sf-fa-venus:before {\n content: "";\n}\n.sf-fa-mars:before {\n content: "";\n}\n.sf-fa-mercury:before {\n content: "";\n}\n.sf-fa-intersex:before,\n.sf-fa-transgender:before {\n content: "";\n}\n.sf-fa-transgender-alt:before {\n content: "";\n}\n.sf-fa-venus-double:before {\n content: "";\n}\n.sf-fa-mars-double:before {\n content: "";\n}\n.sf-fa-venus-mars:before {\n content: "";\n}\n.sf-fa-mars-stroke:before {\n content: "";\n}\n.sf-fa-mars-stroke-v:before {\n content: "";\n}\n.sf-fa-mars-stroke-h:before {\n content: "";\n}\n.sf-fa-neuter:before {\n content: "";\n}\n.sf-fa-genderless:before {\n content: "";\n}\n.sf-fa-facebook-official:before {\n content: "";\n}\n.sf-fa-pinterest-p:before {\n content: "";\n}\n.sf-fa-whatsapp:before {\n content: "";\n}\n.sf-fa-server:before {\n content: "";\n}\n.sf-fa-user-plus:before {\n content: "";\n}\n.sf-fa-user-times:before {\n content: "";\n}\n.sf-fa-hotel:before,\n.sf-fa-bed:before {\n content: "";\n}\n.sf-fa-viacoin:before {\n content: "";\n}\n.sf-fa-train:before {\n content: "";\n}\n.sf-fa-subway:before {\n content: "";\n}\n.sf-fa-medium:before {\n content: "";\n}\n.sf-fa-yc:before,\n.sf-fa-y-combinator:before {\n content: "";\n}\n.sf-fa-optin-monster:before {\n content: "";\n}\n.sf-fa-opencart:before {\n content: "";\n}\n.sf-fa-expeditedssl:before {\n content: "";\n}\n.sf-fa-battery-4:before,\n.sf-fa-battery:before,\n.sf-fa-battery-full:before {\n content: "";\n}\n.sf-fa-battery-3:before,\n.sf-fa-battery-three-quarters:before {\n content: "";\n}\n.sf-fa-battery-2:before,\n.sf-fa-battery-half:before {\n content: "";\n}\n.sf-fa-battery-1:before,\n.sf-fa-battery-quarter:before {\n content: "";\n}\n.sf-fa-battery-0:before,\n.sf-fa-battery-empty:before {\n content: "";\n}\n.sf-fa-mouse-pointer:before {\n content: "";\n}\n.sf-fa-i-cursor:before {\n content: "";\n}\n.sf-fa-object-group:before {\n content: "";\n}\n.sf-fa-object-ungroup:before {\n content: "";\n}\n.sf-fa-sticky-note:before {\n content: "";\n}\n.sf-fa-sticky-note-o:before {\n content: "";\n}\n.sf-fa-cc-jcb:before {\n content: "";\n}\n.sf-fa-cc-diners-club:before {\n content: "";\n}\n.sf-fa-clone:before {\n content: "";\n}\n.sf-fa-balance-scale:before {\n content: "";\n}\n.sf-fa-hourglass-o:before {\n content: "";\n}\n.sf-fa-hourglass-1:before,\n.sf-fa-hourglass-start:before {\n content: "";\n}\n.sf-fa-hourglass-2:before,\n.sf-fa-hourglass-half:before {\n content: "";\n}\n.sf-fa-hourglass-3:before,\n.sf-fa-hourglass-end:before {\n content: "";\n}\n.sf-fa-hourglass:before {\n content: "";\n}\n.sf-fa-hand-grab-o:before,\n.sf-fa-hand-rock-o:before {\n content: "";\n}\n.sf-fa-hand-stop-o:before,\n.sf-fa-hand-paper-o:before {\n content: "";\n}\n.sf-fa-hand-scissors-o:before {\n content: "";\n}\n.sf-fa-hand-lizard-o:before {\n content: "";\n}\n.sf-fa-hand-spock-o:before {\n content: "";\n}\n.sf-fa-hand-pointer-o:before {\n content: "";\n}\n.sf-fa-hand-peace-o:before {\n content: "";\n}\n.sf-fa-trademark:before {\n content: "";\n}\n.sf-fa-registered:before {\n content: "";\n}\n.sf-fa-creative-commons:before {\n content: "";\n}\n.sf-fa-gg:before {\n content: "";\n}\n.sf-fa-gg-circle:before {\n content: "";\n}\n.sf-fa-tripadvisor:before {\n content: "";\n}\n.sf-fa-odnoklassniki:before {\n content: "";\n}\n.sf-fa-odnoklassniki-square:before {\n content: "";\n}\n.sf-fa-get-pocket:before {\n content: "";\n}\n.sf-fa-wikipedia-w:before {\n content: "";\n}\n.sf-fa-safari:before {\n content: "";\n}\n.sf-fa-chrome:before {\n content: "";\n}\n.sf-fa-firefox:before {\n content: "";\n}\n.sf-fa-opera:before {\n content: "";\n}\n.sf-fa-internet-explorer:before {\n content: "";\n}\n.sf-fa-tv:before,\n.sf-fa-television:before {\n content: "";\n}\n.sf-fa-contao:before {\n content: "";\n}\n.sf-fa-500px:before {\n content: "";\n}\n.sf-fa-amazon:before {\n content: "";\n}\n.sf-fa-calendar-plus-o:before {\n content: "";\n}\n.sf-fa-calendar-minus-o:before {\n content: "";\n}\n.sf-fa-calendar-times-o:before {\n content: "";\n}\n.sf-fa-calendar-check-o:before {\n content: "";\n}\n.sf-fa-industry:before {\n content: "";\n}\n.sf-fa-map-pin:before {\n content: "";\n}\n.sf-fa-map-signs:before {\n content: "";\n}\n.sf-fa-map-o:before {\n content: "";\n}\n.sf-fa-map:before {\n content: "";\n}\n.sf-fa-commenting:before {\n content: "";\n}\n.sf-fa-commenting-o:before {\n content: "";\n}\n.sf-fa-houzz:before {\n content: "";\n}\n.sf-fa-vimeo:before {\n content: "";\n}\n.sf-fa-black-tie:before {\n content: "";\n}\n.sf-fa-fonticons:before {\n content: "";\n}\n.sf-fa-reddit-alien:before {\n content: "";\n}\n.sf-fa-edge:before {\n content: "";\n}\n.sf-fa-credit-card-alt:before {\n content: "";\n}\n.sf-fa-codiepie:before {\n content: "";\n}\n.sf-fa-modx:before {\n content: "";\n}\n.sf-fa-fort-awesome:before {\n content: "";\n}\n.sf-fa-usb:before {\n content: "";\n}\n.sf-fa-product-hunt:before {\n content: "";\n}\n.sf-fa-mixcloud:before {\n content: "";\n}\n.sf-fa-scribd:before {\n content: "";\n}\n.sf-fa-pause-circle:before {\n content: "";\n}\n.sf-fa-pause-circle-o:before {\n content: "";\n}\n.sf-fa-stop-circle:before {\n content: "";\n}\n.sf-fa-stop-circle-o:before {\n content: "";\n}\n.sf-fa-shopping-bag:before {\n content: "";\n}\n.sf-fa-shopping-basket:before {\n content: "";\n}\n.sf-fa-hashtag:before {\n content: "";\n}\n.sf-fa-bluetooth:before {\n content: "";\n}\n.sf-fa-bluetooth-b:before {\n content: "";\n}\n.sf-fa-percent:before {\n content: "";\n}\n.sf-fa-gitlab:before {\n content: "";\n}\n.sf-fa-wpbeginner:before {\n content: "";\n}\n.sf-fa-wpforms:before {\n content: "";\n}\n.sf-fa-envira:before {\n content: "";\n}\n.sf-fa-universal-access:before {\n content: "";\n}\n.sf-fa-wheelchair-alt:before {\n content: "";\n}\n.sf-fa-question-circle-o:before {\n content: "";\n}\n.sf-fa-blind:before {\n content: "";\n}\n.sf-fa-audio-description:before {\n content: "";\n}\n.sf-fa-volume-control-phone:before {\n content: "";\n}\n.sf-fa-braille:before {\n content: "";\n}\n.sf-fa-assistive-listening-systems:before {\n content: "";\n}\n.sf-fa-asl-interpreting:before,\n.sf-fa-american-sign-language-interpreting:before {\n content: "";\n}\n.sf-fa-deafness:before,\n.sf-fa-hard-of-hearing:before,\n.sf-fa-deaf:before {\n content: "";\n}\n.sf-fa-glide:before {\n content: "";\n}\n.sf-fa-glide-g:before {\n content: "";\n}\n.sf-fa-signing:before,\n.sf-fa-sign-language:before {\n content: "";\n}\n.sf-fa-low-vision:before {\n content: "";\n}\n.sf-fa-viadeo:before {\n content: "";\n}\n.sf-fa-viadeo-square:before {\n content: "";\n}\n.sf-fa-snapchat:before {\n content: "";\n}\n.sf-fa-snapchat-ghost:before {\n content: "";\n}\n.sf-fa-snapchat-square:before {\n content: "";\n}\n.sf-fa-pied-piper:before {\n content: "";\n}\n.sf-fa-first-order:before {\n content: "";\n}\n.sf-fa-yoast:before {\n content: "";\n}\n.sf-fa-themeisle:before {\n content: "";\n}\n.sf-fa-google-plus-circle:before,\n.sf-fa-google-plus-official:before {\n content: "";\n}\n.sf-fa-fa:before,\n.sf-fa-font-awesome:before {\n content: "";\n}\n.sf-fa-handshake-o:before {\n content: "";\n}\n.sf-fa-envelope-open:before {\n content: "";\n}\n.sf-fa-envelope-open-o:before {\n content: "";\n}\n.sf-fa-linode:before {\n content: "";\n}\n.sf-fa-address-book:before {\n content: "";\n}\n.sf-fa-address-book-o:before {\n content: "";\n}\n.sf-fa-vcard:before,\n.sf-fa-address-card:before {\n content: "";\n}\n.sf-fa-vcard-o:before,\n.sf-fa-address-card-o:before {\n content: "";\n}\n.sf-fa-user-circle:before {\n content: "";\n}\n.sf-fa-user-circle-o:before {\n content: "";\n}\n.sf-fa-user-o:before {\n content: "";\n}\n.sf-fa-id-badge:before {\n content: "";\n}\n.sf-fa-drivers-license:before,\n.sf-fa-id-card:before {\n content: "";\n}\n.sf-fa-drivers-license-o:before,\n.sf-fa-id-card-o:before {\n content: "";\n}\n.sf-fa-quora:before {\n content: "";\n}\n.sf-fa-free-code-camp:before {\n content: "";\n}\n.sf-fa-telegram:before {\n content: "";\n}\n.sf-fa-thermometer-4:before,\n.sf-fa-thermometer:before,\n.sf-fa-thermometer-full:before {\n content: "";\n}\n.sf-fa-thermometer-3:before,\n.sf-fa-thermometer-three-quarters:before {\n content: "";\n}\n.sf-fa-thermometer-2:before,\n.sf-fa-thermometer-half:before {\n content: "";\n}\n.sf-fa-thermometer-1:before,\n.sf-fa-thermometer-quarter:before {\n content: "";\n}\n.sf-fa-thermometer-0:before,\n.sf-fa-thermometer-empty:before {\n content: "";\n}\n.sf-fa-shower:before {\n content: "";\n}\n.sf-fa-bathtub:before,\n.sf-fa-s15:before,\n.sf-fa-bath:before {\n content: "";\n}\n.sf-fa-podcast:before {\n content: "";\n}\n.sf-fa-window-maximize:before {\n content: "";\n}\n.sf-fa-window-minimize:before {\n content: "";\n}\n.sf-fa-window-restore:before {\n content: "";\n}\n.sf-fa-times-rectangle:before,\n.sf-fa-window-close:before {\n content: "";\n}\n.sf-fa-times-rectangle-o:before,\n.sf-fa-window-close-o:before {\n content: "";\n}\n.sf-fa-bandcamp:before {\n content: "";\n}\n.sf-fa-grav:before {\n content: "";\n}\n.sf-fa-etsy:before {\n content: "";\n}\n.sf-fa-imdb:before {\n content: "";\n}\n.sf-fa-ravelry:before {\n content: "";\n}\n.sf-fa-eercast:before {\n content: "";\n}\n.sf-fa-microchip:before {\n content: "";\n}\n.sf-fa-snowflake-o:before {\n content: "";\n}\n.sf-fa-superpowers:before {\n content: "";\n}\n.sf-fa-wpexplorer:before {\n content: "";\n}\n.sf-fa-meetup:before {\n content: "";\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("./assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("./assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("./assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("./assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0370-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("./assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("./assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 300;\n src: local("Open Sans Light"), local("OpenSans-Light"), url("./assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("./assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("./assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("./assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("./assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0370-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("./assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("./assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 400;\n src: local("Open Sans Regular"), local("OpenSans-Regular"), url("./assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("./assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("./assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("./assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("./assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0370-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("./assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("./assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: "Open Sans";\n font-style: normal;\n font-weight: 700;\n src: local("Open Sans Bold"), local("OpenSans-Bold"), url("./assets/fonts/open-sans/OpenSans-Bold.ttf") format("truetype");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n.sf-zone-ui {\n --link-secondary-color: #777;\n --link-side-secondary-color: #ccc;\n --link-side-secondary-color-active: #333;\n --link-side-secondary-color-hover: #999;\n --link-color: #006CD9;\n}\n.sf-zone-ui {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 46px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}\nhtml {\n padding-top: 30px !important;\n padding-left: 2px !important;\n padding-right: 2px !important;\n}\n.sf-zone-widget.-sf-focused,\n.sf-zone-widget.-sf-hovered,\n.sf-zone-column.-sf-hovered.-sf-static {\n outline: 2px solid #CAEED8 !important;\n}\n.sf-zone-widget.-sf-focused.-personalized,\n.sf-zone-widget.-sf-hovered.-personalized,\n.sf-zone-column.-sf-hovered.-sf-static.-personalized {\n outline-color: #ED8527 !important;\n}\n.sf-zone-widget.-sf-orphan {\n opacity: 0.5 !important;\n}\n.sf-zone-column.-sf-empty {\n position: relative !important;\n height: 105px !important;\n}\n.sf-zone-column.-sf-empty sf-add-widget {\n display: none !important;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-widget__label + .sf-zone-column.-sf-empty,\n.sf-zone-widget.-sf-focused > .sf-zone-widget__label + .sf-zone-column.-sf-empty {\n border-left-color: #CAEED8 !important;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-column.-sf-empty:last-child,\n.sf-zone-widget.-sf-focused > .sf-zone-column.-sf-empty:last-child {\n border-right-color: #CAEED8 !important;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-column,\n.sf-zone-widget.-sf-focused > .sf-zone-column {\n border-top-color: #CAEED8 !important;\n border-bottom-color: #CAEED8 !important;\n}\n.sf-zone-widget:not(.-sf-content) {\n position: relative !important;\n /*prevent margin collapse*/\n /*padding: 1px !important;*/\n}\n/*.sf-zone-widget.-sf-content {*/\n/*min-height: 58px !important;*/\n/*}*/\n.sf-zone-widget.-sf-content.-sf-empty {\n min-height: 78px !important;\n}\n.sf-zone-widget.-sf-content.-sf-empty.-sf-no-content {\n min-height: 8px !important;\n}\n.sf-zone-widget.-sf-content.-sf-empty.-sf-inline-block {\n --zone-widget-text-display: none;\n min-width: 78px !important;\n}\n.sf-zone-widget.-sf-content.-sf-empty .sf-zone-empty {\n left: 25px !important;\n width: auto !important;\n max-width: calc(100% - 25px) !important;\n}\nsf-widget-label {\n display: none !important;\n}\n.sf-zone-widget.-sf-content .sf-zone-ui.sf-zone-widget__label {\n left: -2px !important;\n right: auto !important;\n}\n.sf-zone-column.-sf-dragged-over.-sf-empty {\n outline: 2px solid #333 !important;\n}\n.sf-zone-column.-sf-dragged-over {\n outline: 2px solid #CAEED8 !important;\n border-color: transparent;\n}\n.sf-zone-widget.-sf-hovered > .sf-zone-ui.sf-zone-widget__label,\n.sf-zone-widget.-sf-focused > .sf-zone-ui.sf-zone-widget__label {\n display: block !important;\n}\nsf-empty-widget {\n display: none !important;\n}\n.sf-zone-widget.-sf-content .sf-zone-ui.sf-zone-widget__toolbar {\n left: 0 !important;\n right: auto !important;\n}\n.sf-zone-widget.-sf-focused > .sf-zone-ui.sf-zone-widget__toolbar {\n display: block !important;\n}\n.sf-zone-ui,\n.sf-zone-ui div,\n.sf-zone-ui span,\n.sf-zone-ui a,\n.sf-zone-ui i {\n align-content: stretch !important;\n align-items: stretch !important;\n align-self: auto !important;\n -webkit-animation: none !important;\n animation: none !important;\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n background: transparent none !important;\n border: 0 !important;\n bottom: auto !important;\n -webkit-box-decoration-break: slice !important;\n box-decoration-break: slice !important;\n box-shadow: none !important;\n box-sizing: border-box !important;\n -moz-column-break-after: auto !important;\n break-after: auto !important;\n -moz-column-break-before: auto !important;\n break-before: auto !important;\n -moz-column-break-inside: auto !important;\n break-inside: auto !important;\n caption-side: top !important;\n caret-color: auto !important;\n clear: none !important;\n clip: auto !important;\n -webkit-clip-path: none !important;\n clip-path: none !important;\n color: inherit !important;\n -moz-columns: auto !important;\n columns: auto !important;\n content: normal !important;\n counter-increment: none !important;\n counter-reset: none !important;\n empty-cells: show !important;\n font-family: inherit !important;\n filter: none !important;\n flex-basis: auto !important;\n flex-direction: row !important;\n flex: 0 1 auto !important;\n float: none !important;\n font-feature-settings: normal !important;\n -webkit-font-kerning: auto !important;\n font-kerning: auto !important;\n font-language-override: normal !important;\n font-size-adjust: none !important;\n font-stretch: normal !important;\n font-synthesis: weight style !important;\n grid: none !important;\n height: auto !important;\n -webkit-hyphens: manual !important;\n hyphens: manual !important;\n image-orientation: 0deg !important;\n image-rendering: auto !important;\n image-resolution: 1dppx !important;\n ime-mode: auto !important;\n inline-size: auto !important;\n isolation: auto !important;\n justify-content: flex-start !important;\n left: auto !important;\n letter-spacing: normal !important;\n line-break: auto !important;\n margin: 0 !important;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n -o-object-fit: fill !important;\n object-fit: fill !important;\n -o-object-position: 50% 50% !important;\n object-position: 50% 50% !important;\n opacity: 1 !important;\n order: 0 !important;\n orphans: 2 !important;\n outline: medium invert initial !important;\n outline-offset: 0 !important;\n overflow: visible !important;\n overflow-wrap: normal !important;\n overflow-x: visible !important;\n overflow-y: visible !important;\n padding: 0 !important;\n page-break-after: auto !important;\n page-break-before: auto !important;\n page-break-inside: auto !important;\n perspective: none !important;\n perspective-origin: 50% 50% !important;\n position: static !important;\n quotes: initial !important;\n resize: none !important;\n right: auto !important;\n ruby-align: space-around !important;\n ruby-merge: separate !important;\n ruby-position: over !important;\n scroll-behavior: auto !important;\n scroll-snap-coordinate: none !important;\n scroll-snap-destination: 0 0 !important;\n scroll-snap-points-x: none !important;\n scroll-snap-points-y: none !important;\n scroll-snap-type: none !important;\n shape-image-threshold: 0 !important;\n shape-margin: 0 !important;\n shape-outside: none !important;\n -moz-tab-size: 8 !important;\n -o-tab-size: 8 !important;\n tab-size: 8 !important;\n table-layout: auto !important;\n text-align: inherit !important;\n -moz-text-align-last: auto !important;\n text-align-last: auto !important;\n text-combine-upright: none !important;\n text-decoration: none !important;\n -webkit-text-emphasis: none !important;\n text-emphasis: none !important;\n text-indent: 0 !important;\n text-justify: auto !important;\n -webkit-text-orientation: mixed !important;\n text-orientation: mixed !important;\n text-overflow: clip !important;\n text-rendering: auto !important;\n text-shadow: none !important;\n text-transform: inherit !important;\n text-underline-position: auto !important;\n top: auto !important;\n touch-action: auto !important;\n transform: none !important;\n transform-box: border-box !important;\n transform-origin: 50% 50% 0 !important;\n transform-style: flat !important;\n transition: all 0s ease 0s !important;\n vertical-align: inherit !important;\n white-space: inherit !important;\n widows: 2 !important;\n width: auto !important;\n will-change: auto !important;\n word-break: normal !important;\n word-spacing: normal !important;\n word-wrap: normal !important;\n z-index: auto !important;\n font-family: "Open Sans", sans-serif !important;\n}\n.sf-zone-ui.sf-zone-widget__quick-edit, .sf-zone-ui.sf-zone-widget__toolbar {\n position: absolute !important;\n top: 0 !important;\n right: 0 !important;\n}\n.sf-zone-ui.sf-zone-widget__toolbar {\n display: none !important;\n z-index: 10000000 !important;\n}\n.sf-zone-ui.sf-zone-widget__quick-edit {\n z-index: 10000020 !important;\n}\n.sf-zone-ui.sf-zone-widget__label {\n display: none !important;\n position: absolute !important;\n right: -2px !important;\n bottom: 100% !important;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100% !important;\n z-index: 1002 !important;\n}\n.sf-zone-ui.sf-zone-empty {\n display: block !important;\n position: absolute !important;\n top: 50% !important;\n margin-top: -9px !important;\n left: 0 !important;\n width: 100% !important;\n text-align: center !important;\n font-size: var(--font-size-base) !important;\n line-height: 1.3 !important;\n white-space: nowrap !important;\n text-overflow: ellipsis !important;\n overflow: hidden !important;\n color: #006cd9 !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__description {\n margin-bottom: 8px !important;\n font-size: var(--font-size-lg) !important;\n color: #ccc !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n display: inline-block !important;\n border-radius: 12px !important;\n padding: 3px 8px !important;\n background-color: rgba(255, 255, 255, 0.8) !important;\n cursor: pointer !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-secondary {\n color: var(--link-secondary-color);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:focus {\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:focus {\n color: var(--link-color);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side.-active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side:focus, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side-secondary {\n color: var(--link-side-secondary-color);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic {\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-basic:focus {\n color: #333;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar.-active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar:focus, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper:hover {\n color: #333 !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover {\n color: var(--link-secondary-color) !important;\n cursor: default !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:hover, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:active, .sf-zone-ui.sf-zone-empty .sf-zone-empty__wrapper.-no-hover:focus {\n color: var(--link-secondary-color) !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__text {\n display: var(--zone-widget-text-display, inline-block) !important;\n margin-left: 5px !important;\n}\n.sf-zone-ui.sf-zone-empty .sf-zone-empty__icon {\n font: normal normal normal 14px/1 FontAwesome !important;\n}\n.sf-zone-ui.sf-zone-empty.-sf-labeled {\n margin-top: -25px !important;\n}\n.sf-zone-ui.sf-zone-empty.-sf-hidden {\n display: none !important;\n}\n.sf-zone-ui .sf-zone-error {\n padding: 10px 9px !important;\n background-color: #FFCCCC !important;\n color: #333 !important;\n border-radius: 3px !important;\n font-size: var(--font-size-base) !important;\n}\n.-sf-inline-block {\n display: inline-block !important;\n}\n.-sf-hidden {\n display: none !important;\n}\n.-sf-empty {\n border: 1px dashed #ccc !important;\n}\n.-sf-empty:not(.-sf-static) + .-sf-empty:not(.-sf-static) {\n border-left: 0 !important;\n}\n.-sf-relative {\n position: relative !important;\n}\nsf-fake-widget,\n.-sf-inline-block::after {\n height: 3px !important;\n display: block !important;\n}\n.-sf-inline-block::after {\n content: "" !important;\n}\n.-sf-inline-block + sf-fake-widget {\n display: none !important;\n}\n.sf-zone-widget.-sf-inline-block sf-add-widget:not(.-sf-dragged-over) {\n position: absolute !important;\n bottom: 0px !important;\n width: 100% !important;\n}\nsf-add-widget {\n --sf-visibility: hidden;\n display: block !important;\n position: relative !important;\n z-index: 1000 !important;\n}\nsf-add-widget:hover {\n --sf-visibility: visible;\n height: auto !important;\n}\n.-sf-width-100 {\n width: 100% !important;\n}'},function(e,t,n){"use strict";n.r(t);var o=n(1177);n.d(t,"NotificationService",(function(){return o.NotificationService})),n.d(t,"NOTIFICATION_SERVICE",(function(){return o.NOTIFICATION_SERVICE}))},function(e,t,n){"use strict";n.r(t);var o=n(1178);n.d(t,"NOTIFICATION_LOOK_SUCCESS",(function(){return o.NOTIFICATION_LOOK_SUCCESS})),n.d(t,"NOTIFICATION_LOOK_ERROR",(function(){return o.NOTIFICATION_LOOK_ERROR})),n.d(t,"NOTIFICATION_LOOK_WARNING",(function(){return o.NOTIFICATION_LOOK_WARNING}))},function(e,t,n){"use strict";n.r(t);n(1559),n(1560);var o=n(1561);n.d(t,"WIDGET_VIEW_TOKEN",(function(){return o.WIDGET_VIEW_TOKEN}))},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t);var o=n(1505);n.d(t,"WIDGET_VIEW_TOKEN",(function(){return o.WIDGET_VIEW_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(1563);n.d(t,"CUSTOM_TREE_COMPONENT_TOKEN",(function(){return o.CUSTOM_TREE_COMPONENT_TOKEN}));var i=n(1564);n.d(t,"CustomTreeNodeComponentBase",(function(){return i.CustomTreeNodeComponentBase}));var r=n(1565);n.d(t,"TreeNodeComponentFeatures",(function(){return r.TreeNodeComponentFeatures}))},function(e,t,n){"use strict";n.r(t);var o=n(1065);n.d(t,"CUSTOM_TREE_COMPONENT_TOKEN",(function(){return o.CUSTOM_TREE_COMPONENT_TOKEN}))},function(e,t,n){"use strict";n.r(t);var o=n(1065);n.d(t,"CustomTreeNodeComponentBase",(function(){return o.CustomTreeNodeComponentBase}))},function(e,t,n){"use strict";n.r(t);var o=n(1065);n.d(t,"TreeNodeComponentFeatures",(function(){return o.TreeNodeComponentFeatures}))},function(e,t,n){"use strict";n.r(t),n.d(t,"createCompiler",(function(){return createCompiler})),n.d(t,"AppModule",(function(){return Te})),n.d(t,"DEFAULT_REGISTRIES",(function(){return Me}));var o=n(229),i=n(312),r=n(1567),a=n(1569),s=n(1651),A=n(1655),l=n(1657),c=n(1660),d=n(1097),p=n(1694),f=n(1697),u=n(1735),m=n(1794),g=n(1833),E=n(2060),h=n(2080),b=n(378),C=n(415),B=n(1716),k=n(2083),I=n(2085),v=n(2086),w=n(351),_=n(1523),x=n(2087),y=n(2088),S=n(2090),T=n(2092),M=n(1691),D=n(2093),Q=n(2096),N=n(2098),R=n(2110),F=n(2116),O=n(2117),P=n(2120),U=n(2173),L=n(2174),z=n(2175),G=n(2185),H=n(2189),j=n(1616),Y=n(2190),V=n(1618),J=n(2192),W=n(2193),K=n(2195),X=n(2196),q=n(1777),Z=n(2197),$=n(260),ee=n(2198),te=n(2199),ne=n(2203),oe=n(2204),ie=n(2206),re=n(1625),ae=n(2207),se=n(2208),Ae=n(1598),le=n(1741),ce=n(1742),de=n(1791),pe=n(1662),fe=n(1763),ue=n(2140),me=n(1869),ge=n(295),Ee=n(2209),he=n(1184),be=n(2171),Ce=n(2142),Be=n(2147),ke=n(2148),Ie=n(2151),ve=n(2154),we=n(2134),_e=n(2156),xe=n(1772),ye=n(296),Se=n(2211);function createCompiler(e){return e.createCompiler()}var Te=function(){function AppModule(e){e.setDefaults(Me)}return AppModule.ɵfac=function AppModule_Factory(e){return new(e||AppModule)(o["ɵɵinject"](b.CompositeFieldsProvider))},AppModule.ɵmod=o["ɵɵdefineNgModule"]({type:AppModule,bootstrap:[p.AppComponent]}),AppModule.ɵinj=o["ɵɵdefineInjector"]({providers:[q.ProviderRouteGuard,ge.AppStore,{provide:$.UrlSerializer,useClass:ee.CustomUrlSerializer},{provide:o.COMPILER_OPTIONS,useValue:{},multi:!0},{provide:o.CompilerFactory,useClass:te.JitCompilerFactory,deps:[o.COMPILER_OPTIONS]},{provide:o.Compiler,useFactory:createCompiler,deps:[o.CompilerFactory]},xe.ReorderModuleChildrenProvider],imports:[[i.BrowserModule,r.BrowserAnimationsModule,h.NgProvidersModule,S.AppProvidersModule,d.FieldsModule,pe.TaxonomyModule,z.EventsModule,A.UrlNameModule,l.AdditionalUrlsModule,c.ParentSelectorModule,g.LibrariesModule,E.HtmlModule,N.AuthModule,F.ContextualHelpModule,R.SfElementsModule,P.WidgetEditorModule,G.ThemeModule,a.SharedModule.forRoot(),m.ContentModule,O.PagesModule,u.routing,Ee.STORE_MODULES]]}),AppModule}();o["ɵɵsetNgModuleScope"](Te,{declarations:[p.AppComponent,ae.ConfigComponent,se.FeatureComponent,Ae.AdminAppManagementComponent,le.UnsupportedBrowserNoticeComponent,ce.InsecureConnectionNoticeComponent,de.IntegratedEmptyComponent],imports:[i.BrowserModule,r.BrowserAnimationsModule,h.NgProvidersModule,S.AppProvidersModule,d.FieldsModule,pe.TaxonomyModule,z.EventsModule,A.UrlNameModule,l.AdditionalUrlsModule,c.ParentSelectorModule,g.LibrariesModule,E.HtmlModule,N.AuthModule,F.ContextualHelpModule,R.SfElementsModule,P.WidgetEditorModule,G.ThemeModule,a.SharedModule,m.ContentModule,O.PagesModule,$.RouterModule,ye.StoreRootModule,Se.EffectsRootModule]});var Me=new Map([[w.FieldTypes.html,f.HTML_REGISTRY],[w.FieldTypes.longText,f.HTML_REGISTRY],[w.FieldTypes.shortText,C.SHORT_TEXT_REGISTRY],[w.FieldTypes.password,C.SHORT_TEXT_PASSWORD_REGISTRY],[w.FieldTypes.shortTextDefault,C.SHORT_TEXT_DEFAULT_REGISTRY],[w.FieldTypes.number,v.NUMBER_REGISTRY],[w.FieldTypes.taxa,s.TAXA_REGISTRY],[w.FieldTypes.urlName,I.URL_NAME_REGISTRY],[w.FieldTypes.additionalUrls,k.ADDITIONAL_URLS_REGISTRY],[w.FieldTypes.media,B.MEDIA_REGISTRY],[w.FieldTypes.textArea,M.TEXT_AREA_REGISTRY],[w.FieldTypes.choice,_.CHOICE_REGISTRY],[w.FieldTypes.choiceDropDown,_.CHOICE_DROPDOWN_REGISTRY],[w.FieldTypes.choiceDropDownList,_.CHOICE_DROPDOWN_LIST_REGISTRY],[w.FieldTypes.choiceMultiple,_.CHOICE_MULTIPLE_REGISTRY],[w.FieldTypes.choiceYesNo,_.CHOICE_YES_NO_REGISTRY],[w.FieldTypes.switch,oe.SWITCH_REGISTRY],[w.FieldTypes.dropdownSelector,y.PARENT_SELECTOR_REGISTRY],[w.FieldTypes.dateTime,T.DATE_TIME_REGISTRY],[w.FieldTypes.relatedData,x.RELATED_DATA_REGISTRY],[w.FieldTypes.choiceReadonly,_.CHOICE_REGISTRY],[w.FieldTypes.choiceMultipleReadonly,_.CHOICE_MULTIPLE_REGISTRY],[w.FieldTypes.linkInsert,D.LINK_TO_FIELD_REGISTRY],[w.FieldTypes.choiceYesNoReadonly,_.CHOICE_YES_NO_REGISTRY],[w.FieldTypes.choiceList,_.CHOICE_LIST_REGISTRY],[w.FieldTypes.choiceListMultiple,_.CHOICE_LIST_MULTIPLE_REGISTRY],[w.FieldTypes.choiceParameterizedSelector,ve.PARAMETERIZED_CHOICE_SELECTOR_REGISTRY],[w.FieldTypes.choiceChip,_.CHOICE_CHIP_REGISTRY],[w.FieldTypes.address,Q.ADDRESS_REGISTRY],[w.FieldTypes.mediaData,B.MEDIA_FIELD_REGISTRY],[w.FieldTypes.timezones,L.TIMEZONES_REGISTRY],[w.FieldTypes.parentDropdownSelector,U.PARENTS_DROPDOWN_REGISTRY],[w.FieldTypes.eventTimeCompositeField,H.EVENT_TIME_COMPOSITE_COMPONENT_REGISTRY],[w.FieldTypes.color,j.COLOR_PICKER_REGISTRY],[w.FieldTypes.recurringEvent,Y.RECURRING_EVENT_REGISTRY],[w.FieldTypes.siteSync,V.SITE_SYNC_FIELDREGISTRATION],[w.FieldTypes.navigationOptionsCompositeField,J.NAVIGATION_OPTIONS_COMPOSITE_COMPONENT_REGISTRY],[w.FieldTypes.localizationStrategy,W.LOCALIZATION_STRATEGY_COMPONENT_REGISTRY],[w.FieldTypes.searchSiteCompositeField,K.SEARCH_SITE_COMPOSITE_COMPONENT_REGISTRY],[w.FieldTypes.advancedOptionsCompositeField,X.ADVANCED_OPTIONS_COMPOSITE_COMPONENT_REGISTRY],[w.FieldTypes.hidden,Z.HIDDEN_REGISTRY],[w.FieldTypes.taxonomyTypeChoice,ne.TAXONOMY_TYPE_CHOICE_REGISTRY],[w.FieldTypes.read,C.SHORT_TEXT_REGISTRY],[w.FieldTypes.urlNameStructure,I.URL_NAME_REGISTRY],[w.FieldTypes.complex,ie.COMPLEX_REGISTRY],[w.FieldTypes.multipleChoiceChip,re.MULTIPLE_CHOICE_CHIP_REGISTRY],[w.FieldTypes.customSize,B.EDIT_IMAGE_THUMBNAIL_REGISTRY],[w.FieldTypes.thumbnail,B.THUMBNAIL_SELECTOR_REGISTRY],[w.FieldTypes.fileList,fe.FILE_LIST_REGISTRY],[w.FieldTypes.content,ue.CONTENT_SELECTOR_REGISTRY],[w.FieldTypes.contentAll,Ce.CONTENT_FILTER_SELECTOR_REGISTRY],[w.FieldTypes.videoThumbnail,me.VIDEO_THUMBNAIL_REGISTRY],[w.FieldTypes.itemList,he.ITEM_LIST_REGISTRY],[w.FieldTypes.templateThumbnail,be.PAGE_TEMPLATE_THUMBNAIL_REGISTRY],[w.FieldTypes.listSettings,Be.LIST_SETTINGS_REGISTRY],[w.FieldTypes.choiceServiceUrl,ke.CHOICE_SERVICEURL_SETTINGS_REGISTRY],[w.FieldTypes.listFieldMapping,Ie.LIST_FIELD_MAPPINGS_REGISTRY],[w.FieldTypes.listFieldMappingCss,_e.LIST_FIELD_MAPPINGS_CSS_REGISTRY],[w.FieldTypes.viewSelector,we.VIEW_SELECTOR_SETTINGS_REGISTRY]])},,,function(e,t,n){"use strict";n.r(t),n.d(t,"SharedModule",(function(){return Rt}));var o=n(373),i=n(229),r=n(261),a=n(324),s=n(260),A=n(283),l=n(1241),c=n(1097),d=n(1135),p=n(1570),f=n(1571),u=n(1576),m=n(1577),g=n(1578),E=n(1580),h=n(1579),b=n(1582),C=n(1583),B=n(1216),k=n(1118),I=n(1119),v=n(1585),w=n(1586),_=n(1431),x=n(271),y=n(269),S=n(1587),T=n(329),M=n(1588),D=n(1589),Q=n(1536),N=n(1535),R=n(1195),F=n(1139),O=n(1165),P=n(1590),U=n(1591),L=n(1125),z=n(1592),G=n(242),H=n(1534),j=n(270),Y=n(1593),V=n(1123),J=n(1594),W=n(1595),K=n(1151),X=n(277),q=n(244),Z=n(316),$=n(372),ee=n(1428),te=n(369),ne=n(1126),oe=n(1601),ie=n(1602),re=n(278),ae=n(1218),se=n(1605),Ae=n(1179),le=n(1226),ce=n(1606),de=n(1607),pe=n(1531),fe=n(1609),ue=n(323),me=n(1610),ge=n(1612),Ee=n(1613),he=n(1614),be=n(1615),Ce=n(1616),Be=n(1617),ke=n(1387),Ie=n(1618),ve=n(1530),we=n(1140),_e=n(1198),xe=n(1134),ye=n(1133),Se=n(1619),Te=n(1621),Me=n(1620),De=n(1603),Qe=n(1533),Ne=n(398),Re=n(1537),Fe=n(1153),Oe=n(1539),Pe=n(1604),Ue=n(1622),Le=n(1623),ze=n(1131),Ge=n(1625),He=n(1626),je=n(1136),Ye=n(1584),Ve=n(1554),Je=n(1174),We=n(1540),Ke=n(281),Xe=n(1121),qe=n(1122),Ze=n(1627),$e=n(1222),et=n(268),tt=n(1628),nt=n(1629),ot=n(1177),it=n(1209),rt=n(1630),at=n(1128),st=n(1631),At=n(1632),lt=n(1633),ct=n(1634),dt=n(1635),pt=n(1396),ft=n(1636),ut=n(1637),mt=n(1648),gt=n(1646),Et=n(1647),ht=n(1642),bt=n(1643),Ct=n(1649),Bt=n(1650),kt=n(354),It=n(1138),vt=n(418),wt=n(1101),_t=n(1070),xt=n(1175),yt=n(1108),St=n(1113),Tt=n(1141),Mt=n(1142),Dt=n(417),Qt=n(1403),Nt=n(1107),Rt=function(){function SharedModule(){}return SharedModule.forRoot=function(){return{ngModule:SharedModule,providers:[M.UserDataStoreResolver,D.SiteDataStoreResolver,Q.SiteTitleResolver,N.SiteTitleDynamicResolver,R.UserDataStore,F.SiteDataStore,C.SidebarComponentRepo,k.ModalWindowService,S.MetadataStoreResolver,T.MetadataParserService,y.MetadataStore,x.Settings,O.FieldsGeneratorService,P.FeatureToggleService,{provide:o.URL_SERVICE,useClass:o.UrlService},o.UrlService,Me.UserPreferencesService,nt.UserMenuService,r.PathLocationStrategy,{provide:j.HTTP_ODATA_REQUEST_WRAPPER,useClass:j.HttpODataRequestWrapper},j.HttpODataRequestWrapper,{provide:Y.HTTP_WEB_REQUEST_WRAPPER,useClass:Y.HttpWebRequestWrapper},Y.HttpWebRequestWrapper,X.SitefinitySdk,q.WINDOW_PROVIDER,$.DOCUMENT_PROVIDER,te.ScrollService,Ve.StyleSheetService,ne.SanitizeService,Z.DynamicItemService,ee.LockedItemStatusResolver,re.EnvironmentService,{provide:ot.NOTIFICATION_SERVICE,useClass:ot.NotificationService},ke.CompositeGridExtender,_e.CompositeEditExtender,Ue.CompositeDeleteCommandExtender,He.CompositeBulkCommandExtender,$e.CompositeDataExtender,Je.SortService,Ke.ErrorParserService]}},SharedModule.ɵfac=function SharedModule_Factory(e){return new(e||SharedModule)},SharedModule.ɵmod=i["ɵɵdefineNgModule"]({type:SharedModule}),SharedModule.ɵinj=i["ɵɵdefineInjector"]({providers:[W.LOGGER_SOURCE_PROVIDERS,L.MirrorService,G.Logger,V.ErrorFilter,ie.TaxaInfoStore,de.CountryProvider,ue.FileInfoService,Be.EVENTS_METADATA_HANDLER,be.EVENTS_TWEAKS_HANDLER,xe.ComponentCommunicationService,Re.BackNavigationService,Fe.EditNavigationService,Oe.ActionExecutorService,et.ContentFilterService,it.CanvasService,At.CONTENT_BLOCKS_EDIT_EXTENDER,ct.CONTENT_BLOCKS_GRID_EXTENDER,ft.CONFIG_OPERATION_FILTER],imports:[[r.CommonModule,a.FormsModule,a.ReactiveFormsModule,s.RouterModule,c.FieldsModule,A.HttpClientModule,_.PipesModule],a.ReactiveFormsModule,a.FormsModule,l.HttpModule,r.CommonModule,s.RouterModule]}),SharedModule}();i["ɵɵsetNgModuleScope"](Rt,{declarations:[p.ListComponent,f.ListColumnDirective,at.DynamicTemplateDirective,u.HeadingStatusComponent,d.ActionMenuComponent,g.HomeComponent,E.NotFoundComponent,J.AccessDeniedComponent,h.HomeNavigationComponent,m.TextFieldComponent,gt.MultiValueTextFieldComponent,oe.AppliedToComponent,Et.ChildrenCountComponent,st.SharedInComponent,De.RemoveComponent,z.DateAndUserComponent,Pe.TypeInfoComponent,b.SidebarHostComponent,Ye.SidebarSliderComponent,B.ModalWindowComponent,I.ModalConfirmationComponent,pe.ModalListComponent,v.LoadMoreSearchComponent,w.CreateHierarchicalTaxaComponent,U.FeatureDirective,H.NavigationMenuComponent,K.NoPreviewComponent,ae.NotificationLoaderComponent,se.SidebarButtonsComponent,le.BulkComponent,fe.UnlockRedirectComponent,Se.UserPreferencesComponent,tt.KeyboardShortcutsComponent,Le.StructureUrlNameComponent,Xe.EditableFieldsComponent,rt.EditableTableComponent,qe.FormFieldWrapperComponent,Ze.FieldSectionComponent,Ae.BasicNotificationComponent,ce.AddressComponent,Te.AddressGridComponent,me.TimeZonesComponent,he.TimeZonesReadonlyComponent,ge.DropdownSelectorComponent,Ee.DropdownSelectorReadonlyComponent,Ce.ColorPickerComponent,Ge.MultipleChoiceChipComponent,Ie.SiteSyncItemInfoComponent,ve.SiteSyncNotificationComponent,we.ProviderSelectorComponent,ye.WorkflowOperationsMenuComponent,Qe.EditItemMenuComponent,Ne.LanguagesDropdownComponent,dt.PersonalizationDropdownComponent,ze.ModalSelectorComponent,je.SvgIconHandlerComponent,We.ActionNotificationComponent,lt.ContentBlocksNotificationComponent,pt.ChangeOwnerComponent,ut.ListIndexComponent,mt.ListDetailComponent,ht.ErrorStatusComponent,bt.DurationComponent,Ct.NoItemsFoundComponent,Bt.SearchNotificationComponent],imports:[r.CommonModule,a.FormsModule,a.ReactiveFormsModule,s.RouterModule,c.FieldsModule,A.HttpClientModule,_.PipesModule],exports:[ye.WorkflowOperationsMenuComponent,p.ListComponent,f.ListColumnDirective,at.DynamicTemplateDirective,u.HeadingStatusComponent,d.ActionMenuComponent,g.HomeComponent,E.NotFoundComponent,h.HomeNavigationComponent,a.ReactiveFormsModule,a.FormsModule,l.HttpModule,r.CommonModule,s.RouterModule,m.TextFieldComponent,gt.MultiValueTextFieldComponent,oe.AppliedToComponent,Et.ChildrenCountComponent,st.SharedInComponent,De.RemoveComponent,z.DateAndUserComponent,Pe.TypeInfoComponent,b.SidebarHostComponent,Ye.SidebarSliderComponent,B.ModalWindowComponent,I.ModalConfirmationComponent,pe.ModalListComponent,v.LoadMoreSearchComponent,w.CreateHierarchicalTaxaComponent,U.FeatureDirective,H.NavigationMenuComponent,ae.NotificationLoaderComponent,se.SidebarButtonsComponent,le.BulkComponent,ce.AddressComponent,Te.AddressGridComponent,fe.UnlockRedirectComponent,Se.UserPreferencesComponent,tt.KeyboardShortcutsComponent,Le.StructureUrlNameComponent,Xe.EditableFieldsComponent,rt.EditableTableComponent,qe.FormFieldWrapperComponent,Ze.FieldSectionComponent,me.TimeZonesComponent,he.TimeZonesReadonlyComponent,ge.DropdownSelectorComponent,Ee.DropdownSelectorReadonlyComponent,Ce.ColorPickerComponent,Ge.MultipleChoiceChipComponent,we.ProviderSelectorComponent,Qe.EditItemMenuComponent,Ne.LanguagesDropdownComponent,dt.PersonalizationDropdownComponent,ze.ModalSelectorComponent,je.SvgIconHandlerComponent,We.ActionNotificationComponent,lt.ContentBlocksNotificationComponent,ut.ListIndexComponent,mt.ListDetailComponent,ht.ErrorStatusComponent,bt.DurationComponent,Ct.NoItemsFoundComponent,Bt.SearchNotificationComponent]}),i["ɵɵsetComponentScope"](p.ListComponent,[r.NgIf,r.NgClass,r.NgForOf,kt.SfIconComponent,It.LoaderWrapperComponent,kt.SfLoaderComponent,vt.TreeComponent,kt.SfDynamicComponentLoaderComponent],[wt.HtmlEscapePipe]),i["ɵɵsetComponentScope"](I.ModalConfirmationComponent,[r.NgIf,kt.SfIconComponent,r.NgClass,_t.WarningComponent,Xe.EditableFieldsComponent],[wt.HtmlEscapePipe]),i["ɵɵsetComponentScope"](pe.ModalListComponent,[xt.StickyComponent,yt.InfiniteScrollerDirective,r.NgIf,St.ThumbnailComponent,Tt.ChoiceDropdownListComponent,kt.SfIconComponent,kt.SfInputComponent,a.NgControlStatus,a.NgModel,It.LoaderWrapperComponent,r.NgTemplateOutlet,kt.SfTabsComponent,r.NgForOf,kt.SfTabDirective,vt.TreeComponent,p.ListComponent],[r.AsyncPipe]),i["ɵɵsetComponentScope"](le.BulkComponent,[xt.StickyComponent,r.NgIf,r.NgForOf,r.NgClass,a.NgControlStatusGroup,a.FormGroupDirective,qe.FormFieldWrapperComponent,a.DefaultValueAccessor,a.NgControlStatus,a.FormControlName,a.FormControlDirective,kt.SfIconComponent],[]),i["ɵɵsetComponentScope"](Se.UserPreferencesComponent,[r.NgForOf,Ze.FieldSectionComponent,qe.FormFieldWrapperComponent,a.NgControlStatus,a.NgModel],[]),i["ɵɵsetComponentScope"](Xe.EditableFieldsComponent,[r.NgIf,kt.SfLoaderComponent,a.NgControlStatusGroup,a.FormGroupDirective,r.NgForOf,Ze.FieldSectionComponent,qe.FormFieldWrapperComponent,a.NgControlStatus,a.FormControlName,a.FormControlDirective,kt.SfErrorComponent,at.DynamicTemplateDirective],[]),i["ɵɵsetComponentScope"](rt.EditableTableComponent,[r.NgIf,kt.SfLoaderComponent,a.NgControlStatusGroup,a.FormGroupDirective,r.NgTemplateOutlet,r.NgForOf,qe.FormFieldWrapperComponent,a.NgControlStatus,a.FormControlName,a.FormControlDirective,kt.SfButtonComponent],[]),i["ɵɵsetComponentScope"](Ie.SiteSyncItemInfoComponent,[r.NgIf,r.NgTemplateOutlet,kt.SfLoaderComponent,Mt.ChoiceDropdownComponent],[wt.HtmlEscapePipe]),i["ɵɵsetComponentScope"](we.ProviderSelectorComponent,[r.NgSwitch,r.NgSwitchCase,r.NgIf,Tt.ChoiceDropdownListComponent,a.NgControlStatus,a.NgModel,Dt.ChipsComponent,Mt.ChoiceDropdownComponent],[]),i["ɵɵsetComponentScope"](ye.WorkflowOperationsMenuComponent,[d.ActionMenuComponent],[r.AsyncPipe]),i["ɵɵsetComponentScope"](Qe.EditItemMenuComponent,[H.NavigationMenuComponent,r.NgIf,Ne.LanguagesDropdownComponent,dt.PersonalizationDropdownComponent,u.HeadingStatusComponent,Qt.ClickNotificationComponent,d.ActionMenuComponent,r.NgClass,kt.SfDynamicComponentLoaderComponent,se.SidebarButtonsComponent],[r.AsyncPipe]),i["ɵɵsetComponentScope"](Ne.LanguagesDropdownComponent,[d.ActionMenuComponent,kt.SfBadgeComponent,r.NgIf],[]),i["ɵɵsetComponentScope"](We.ActionNotificationComponent,[r.NgIf,d.ActionMenuComponent,r.NgClass],[]),i["ɵɵsetComponentScope"](pt.ChangeOwnerComponent,[r.NgIf,Nt.SelectorComponent],[r.AsyncPipe])},function(e,t,n){"use strict";n.r(t),n.d(t,"LIST_LOOK_CENTER_VERTICAL",(function(){return p})),n.d(t,"ListComponent",(function(){return f}));var o=n(229),i=n(1571),r=n(317),a=n(1180),s=n(262),A=(n(415),n(1173),n(1572)),l=n(266),c=n(1573),d=["sfTree"];function ListComponent_div_1_div_1_sf_icon_2_Template(e,t){if(1&e&&o["ɵɵelement"](0,"sf-icon",11),2&e){var n=o["ɵɵnextContext"]().$implicit,i=o["ɵɵnextContext"](2);o["ɵɵproperty"]("name",i.getModel(n.name).sortableFieldIcon)}}function ListComponent_div_1_div_1_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",9),o["ɵɵlistener"]("click",(function ListComponent_div_1_div_1_Template_div_click_0_listener(){o["ɵɵrestoreView"](n);var e=t.$implicit;return o["ɵɵnextContext"](2).sortByColumn(e)}))("keyup.enter",(function ListComponent_div_1_div_1_Template_div_keyup_enter_0_listener(){o["ɵɵrestoreView"](n);var e=t.$implicit;return o["ɵɵnextContext"](2).sortByColumn(e)})),o["ɵɵtext"](1),o["ɵɵtemplate"](2,ListComponent_div_1_div_1_sf_icon_2_Template,1,1,"sf-icon",10),o["ɵɵelementEnd"]()}if(2&e){var i=t.$implicit,r=o["ɵɵnextContext"](2);o["ɵɵproperty"]("title",i.title)("ngClass",r.getModel(i.name).headerCss),o["ɵɵattribute"]("data-sftest",i.name),o["ɵɵadvance"](1),o["ɵɵtextInterpolate1"](" ",i.title," "),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",r.getModel(i.name).sortableFieldIcon)}}var _c1=function(e){return{"-sf-pl-zero":e}};function ListComponent_div_1_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",7),o["ɵɵtemplate"](1,ListComponent_div_1_div_1_Template,3,5,"div",8),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵproperty"]("ngClass",o["ɵɵpureFunction1"](2,_c1,!n.treeConfig.multiSelection)),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngForOf",n.columns)}}function ListComponent_ng_template_4_div_0_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",13),o["ɵɵelementStart"](1,"div",14),o["ɵɵelement"](2,"sf-loader",15),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}var _c2=function(){return[0,0,0]};function ListComponent_ng_template_4_Template(e,t){1&e&&o["ɵɵtemplate"](0,ListComponent_ng_template_4_div_0_Template,3,0,"div",12),2&e&&o["ɵɵproperty"]("ngForOf",o["ɵɵpureFunction0"](1,_c2))}function ListComponent_ng_template_6_div_0_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",13),o["ɵɵelementStart"](1,"div",14),o["ɵɵelement"](2,"sf-loader",15),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]())}var _c3=function(){return[0,0,0,0,0,0,0,0,0,0]};function ListComponent_ng_template_6_Template(e,t){1&e&&o["ɵɵtemplate"](0,ListComponent_ng_template_6_div_0_Template,3,0,"div",12),2&e&&o["ɵɵproperty"]("ngForOf",o["ɵɵpureFunction0"](1,_c3))}function ListComponent_ng_template_8_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-tree",16,17),o["ɵɵlistener"]("checkBoxClicked",(function ListComponent_ng_template_8_Template_sf_tree_checkBoxClicked_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onCheckBoxClicked(e)}))("expandedNodesChanged",(function ListComponent_ng_template_8_Template_sf_tree_expandedNodesChanged_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onExpandedNodesChanged(e)}))("treeNodePressEnter",(function ListComponent_ng_template_8_Template_sf_tree_treeNodePressEnter_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onItemSelectionChangedOnEnter(e)}))("treeNodeClicked",(function ListComponent_ng_template_8_Template_sf_tree_treeNodeClicked_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().treeNodeClicked(e)}))("visibleNodesCountChanged",(function ListComponent_ng_template_8_Template_sf_tree_visibleNodesCountChanged_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onVisibleNodesCountChanged(e)})),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"](),r=o["ɵɵreference"](11);o["ɵɵproperty"]("itemTemplate",r)("nodes",i.itemsState.dataItems)("config",i.treeConfig)("isLoadingMore",i.itemsState.isLoadingMore)}}function ListComponent_ng_template_10_div_0_div_1_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",22),o["ɵɵlistener"]("click",(function ListComponent_ng_template_10_div_0_div_1_Template_div_click_0_listener(e){o["ɵɵrestoreView"](n);var i=t.$implicit,r=o["ɵɵnextContext"](2).$implicit,a=o["ɵɵnextContext"]();return!!i.clickable&&a.onItemSelectionChanged(e,r.data.dataItem,i)}))("keyup.enter",(function ListComponent_ng_template_10_div_0_div_1_Template_div_keyup_enter_0_listener(e){o["ɵɵrestoreView"](n);var i=t.$implicit,r=o["ɵɵnextContext"](2).$implicit,a=o["ɵɵnextContext"]();return!!i.clickable&&a.onItemSelectionChanged(e,r.data.dataItem,i)})),o["ɵɵelement"](1,"sf-component-loader",23),o["ɵɵelementEnd"]()}if(2&e){var i=t.$implicit,r=o["ɵɵnextContext"](2).$implicit,a=o["ɵɵnextContext"]();o["ɵɵproperty"]("ngClass",a.getModel(i.name).css),o["ɵɵattribute"]("tabindex",i.clickable?0:null),o["ɵɵadvance"](1),o["ɵɵproperty"]("templateData",a.getTemplateData(i,r.data.dataItem))("componentData",a.getComponentData(i,r.data.dataItem))}}var _c4=function(e,t,n,o){return{"-sf-txt-dimmed -disabled":e,"-active":t,"-no-pointer":n,"-disable-checkbox":o}};function ListComponent_ng_template_10_div_0_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",20),o["ɵɵtemplate"](1,ListComponent_ng_template_10_div_0_div_1_Template,2,4,"div",21),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]().$implicit,i=o["ɵɵnextContext"]();o["ɵɵpropertyInterpolate"]("title",n.data.dataItem.data.tooltip),o["ɵɵproperty"]("ngClass",o["ɵɵpureFunction4"](4,_c4,n.data.dataItem.data.inactive,!i.treeConfig.noSelection&&i.selectedItem&&n.data.dataItem.key===i.selectedItem.key,i.treeConfig.noSelection&&!!i.treeConfig.clickable,n.data.dataItem.data.disableCheckbox)),o["ɵɵattribute"]("id",n.isFocused?"tree_active_node":null),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngForOf",i.columns)}}function ListComponent_ng_template_10_div_1_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",24),o["ɵɵelementStart"](1,"div",25),o["ɵɵelement"](2,"sf-icon",26),o["ɵɵelementStart"](3,"div",27),o["ɵɵelementStart"](4,"span",28),o["ɵɵtext"](5),o["ɵɵpipe"](6,"sfHtmlEscape"),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]().$implicit;o["ɵɵadvance"](5),o["ɵɵtextInterpolate"](o["ɵɵpipeBind1"](6,1,n.data.dataItem.data.Title))}}function ListComponent_ng_template_10_Template(e,t){if(1&e&&(o["ɵɵtemplate"](0,ListComponent_ng_template_10_div_0_Template,2,9,"div",18),o["ɵɵtemplate"](1,ListComponent_ng_template_10_div_1_Template,7,3,"div",19)),2&e){var n=t.$implicit;o["ɵɵproperty"]("ngIf",!n.data.dataItem.data.isLink),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.data.dataItem.data.isLink)}}var p="center-vertical",f=function(){function ListComponent(){this.shouldHideHeader=!1,this.ignoreLoaderDelay=!1,this.itemSelectionChanged=new o.EventEmitter,this.itemSelected=new o.EventEmitter,this.onCommand=new o.EventEmitter,this.expandedItemsChanged=new o.EventEmitter,this.visibleNodesCountChanged=new o.EventEmitter,this.first=0,this.columnsNameTemplateMap=new Map,this.itemSelectionInfo={selectedItems:new Map,deselectedItems:new Map,excludedItems:new Array,nodesPositions:new Map}}return ListComponent.prototype.onItemSelectionChanged=function(e,t,n){"A"!==e.target.nodeName&&n.title!==A.ANALYTICS_TITLE&&(this.selectedItem=t,this.itemSelectionChanged.emit(t),this.onCommand.emit({name:a.COMMAND_NAMES.selectionChanged,data:t}))},ListComponent.prototype.treeNodeClicked=function(e){e.data.dataItem.data.isLink&&this.onCommand.emit({name:e.data.dataItem.data.action,data:e})},ListComponent.prototype.onExpandedNodesChanged=function(e){this.expandedItemsChanged.emit(e)},ListComponent.prototype.onItemSelectionChangedOnEnter=function(e){var t=e.data.dataItem;t&&(this.selectedItem=t,this.itemSelectionChanged.emit(t),this.onCommand.emit({name:a.COMMAND_NAMES.selectionChanged,data:t}))},ListComponent.prototype.ngOnInit=function(){this.treeConfig||(this.treeConfig={})},ListComponent.prototype.ngAfterContentInit=function(){this.initColumns(),this.listCssClass=this.generateCssClassList()},ListComponent.prototype.ngOnChanges=function(e){var t=e.columns;t&&!t.isFirstChange()&&(this.columns=t.currentValue,this.ngAfterContentInit()),this.updateHeaderCssClass(e)},ListComponent.prototype.onCheckBoxClicked=function(e){var t=e.data.dataItem,n=t.key;if(this.itemSelectionInfo.selectedItems.has(n)?(this.itemSelectionInfo.selectedItems.delete(n),this.itemSelectionInfo.deselectedItems.set(n,t)):(this.itemSelectionInfo.selectedItems.set(n,t),this.itemSelectionInfo.nodesPositions.set(n,e.position),this.itemSelectionInfo.deselectedItems.has(n)&&(this.itemSelectionInfo.deselectedItems.delete(n),this.itemSelectionInfo.nodesPositions.delete(n))),1===this.itemSelectionInfo.selectedItems.size){var o=this.itemSelectionInfo.selectedItems.values().next().value,i=o.key,r=this.itemsState.dataItems.find((function(e){return e.key===i}));if(!r&&!this.treeConfig.isHierarchical)return;this.treeConfig.isHierarchical&&!r&&(r=o),this.itemSelectionInfo.selectedItems.set(i,r)}this.itemSelected.emit(this.itemSelectionInfo)},ListComponent.prototype.selectAllNodes=function(e){if(this.treeComponent){this.treeComponent.selectAllNodes(e);var t=this.treeComponent.nodes.filter((function(t){return-1===e.indexOf(t.data.Id)&&!t.data.disableCheckbox})).map((function(e){return[e.key,e]}));this.itemSelectionInfo={selectedItems:new Map(t),excludedItems:e,deselectedItems:new Map,nodesPositions:new Map},this.itemSelected.emit(this.itemSelectionInfo)}},ListComponent.prototype.clearAllSelectedNodes=function(){this.treeComponent&&this.treeComponent.clearAllSelectedNodes(),this.itemSelectionInfo={selectedItems:new Map,deselectedItems:new Map,excludedItems:new Array,nodesPositions:new Map},this.itemSelected.emit(this.itemSelectionInfo)},ListComponent.prototype.sortByColumn=function(e){if(e.sortableFieldName){var t=this.getSortExpression(e.sortableFieldName,s.SORT_ORDER.ASCENDING),n=this.getSortExpression(e.sortableFieldName,s.SORT_ORDER.DESCENDING),o=t;e.defaultSortOrder&&(o=this.getSortExpression(e.sortableFieldName,e.defaultSortOrder)),this.areEqual(this.sortExpression,n)?this.sortExpression=t:this.areEqual(this.sortExpression,t)?this.sortExpression=n:this.sortExpression=o,this.invoke({name:a.COMMAND_NAMES.sortExpressionChanged,data:this.sortExpression})}},ListComponent.prototype.getComponentData=function(e,t){var n;if(!e.componentData)return null;var o={dataItem:t,invoker:this,model:e,isVirtualized:null===(n=this.treeConfig.virtualizationOptions)||void 0===n?void 0:n.isVirtualized};return e.componentData.properties=e.componentData.properties||{},e.componentData.properties.context=o,e.componentData},ListComponent.prototype.getTemplateData=function(e,t){var n=this.columnsTemplate.find((function(t){return t.name===e.name}));return n?{template:n.templateRef,context:t}:null},ListComponent.prototype.loadMoreChildNodes=function(e,t,n){n||this.removeLoadMoreLink(t.data.children);var o=this.wrapDataItems(e.dataItems);return n?this.addLoadMoreLink(o,t.data.dataItem.key,e.totalCount,e.entityData):(t.data.children=t.data.children.concat(o),this.addLoadMoreLink(t.data.children,t.data.dataItem.key,e.totalCount,e.entityData),this.treeComponent.updateTreeModel()),o},ListComponent.prototype.onVisibleNodesCountChanged=function(e){this.visibleNodesCountChanged.emit(e)},ListComponent.prototype.addLoadMoreLink=function(e,t,n,o){if(e.length>0&&n>e.length){var i={Title:"Load more",Id:t+"_loadMore",action:a.COMMAND_NAMES.loadMoreChildren,isSelectionDisabled:!1,isLink:!0,icon:"repeat",iconLook:"size-xs color-inherit"},s={dataItem:r.DataItem.fromEntityData(i,o),hasChildren:!1};e.push(s)}},ListComponent.prototype.removeLoadMoreLink=function(e){var t=e.findIndex((function(e){if(e.dataItem.data){var t=e.dataItem.data;return t&&!!t.action}}));t>=0&&e.splice(t,1)},ListComponent.prototype.wrapDataItems=function(e){return e.map((function(e){return{dataItem:e,hasChildren:e.data&&e.data.hasOwnProperty(l.Properties.HAS_CHILDREN)&&e.data[l.Properties.HAS_CHILDREN]}}))},ListComponent.prototype.invoke=function(e){this.onCommand.emit(e)},ListComponent.prototype.getModel=function(e){return this.columnsNameTemplateMap.get(e)},ListComponent.prototype.initColumns=function(){var e=this;this.columns||(this.columns=this.columnsTemplate.toArray().map((function(e){return{name:e.name,title:e.title||e.name,clickable:e.clickable}}))),this.columns=this.columns.filter((function(e){return!e.hidden})),this.columns.forEach((function(t){var n={column:t,componentData:t.componentData,invoker:e,css:t.css},o=e.columnsTemplate.find((function(e){return e.name===t.name}));o&&(n.template=o.templateRef,n.css=n.css?n.css+" "+o.class:o.class,n.column.clickable&&(n.css?n.css+=" -sf-clickable":n.css="-sf-clickable")),e.columnsNameTemplateMap.set(t.name,n)})),this.setColumnsHeaderCssClass()},ListComponent.prototype.updateHeaderCssClass=function(e){var t=this;["itemsState","sortExpression","treeConfig"].forEach((function(n){e[n]&&!e[n].isFirstChange()&&t.setColumnsHeaderCssClass()}))},ListComponent.prototype.setColumnsHeaderCssClass=function(){var e=this;this.columns&&this.columns.forEach((function(t){var n=e.columnsNameTemplateMap.get(t.name);e.setCellModelHeaderCssClass(t,n)}))},ListComponent.prototype.setCellModelHeaderCssClass=function(e,t){if(t){var n=[];if(t.css&&(n=n.concat(t.css.split(" "))),t.sortableFieldIcon=null,e.sortableFieldName){n.push("-sf-clickable");var o=this.getSortExpression(e.sortableFieldName,s.SORT_ORDER.ASCENDING),i=this.getSortExpression(e.sortableFieldName,s.SORT_ORDER.DESCENDING);this.sortExpression&&(this.areEqual(this.sortExpression,o)?t.sortableFieldIcon="caret-up":this.areEqual(this.sortExpression,i)&&(t.sortableFieldIcon="caret-down"))}e.css&&e.css.indexOf(c.TITLE_CSS_CLASS)>-1&&(n=this.toggleHierarchicalTitleClass(n)),t.headerCss=n.join(" ")}},ListComponent.prototype.toggleHierarchicalTitleClass=function(e){var t=e.indexOf(c.TOGGLE_CSS_CLASS);return this.treeConfig.isHierarchical&&t<0&&e.push(c.TOGGLE_CSS_CLASS),!this.treeConfig.isHierarchical&&t>-1&&e.splice(t,1),e},ListComponent.prototype.areEqual=function(e,t){return!!(!e&&!t&&e===t||e&&t&&e.toLowerCase()===t.toLowerCase())},ListComponent.prototype.getSortExpression=function(e,t){return e+" "+t},ListComponent.prototype.generateCssClassList=function(){var e="sf-tree-list";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e},ListComponent.ɵfac=function ListComponent_Factory(e){return new(e||ListComponent)},ListComponent.ɵcmp=o["ɵɵdefineComponent"]({type:ListComponent,selectors:[["sf-list"]],contentQueries:function ListComponent_ContentQueries(e,t,n){if(1&e&&o["ɵɵcontentQuery"](n,i.ListColumnDirective,0),2&e){var r;o["ɵɵqueryRefresh"](r=o["ɵɵloadQuery"]())&&(t.columnsTemplate=r)}},viewQuery:function ListComponent_Query(e,t){if(1&e&&o["ɵɵviewQuery"](d,1),2&e){var n;o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.treeComponent=n.first)}},inputs:{treeConfig:"treeConfig",selectedItem:"selectedItem",shouldHideHeader:"shouldHideHeader",look:"look",ignoreLoaderDelay:"ignoreLoaderDelay",itemsState:"itemsState",columns:"columns",sortExpression:"sortExpression"},outputs:{itemSelectionChanged:"itemSelectionChanged",itemSelected:"itemSelected",onCommand:"onCommand",expandedItemsChanged:"expandedItemsChanged",visibleNodesCountChanged:"visibleNodesCountChanged"},features:[o["ɵɵNgOnChangesFeature"]],decls:12,vars:14,consts:[["class","sf-tree-list__row -head",3,"ngClass",4,"ngIf"],[3,"ignoreDelay","isLoading","loadingContent","content"],[3,"initialValue","ignoreDelay","isLoading","loadingContent"],["loadingMore",""],["loading",""],["treeContent",""],["itemTemplate",""],[1,"sf-tree-list__row","-head",3,"ngClass"],["class","sf-tree-list__cell -head","tabindex","0",3,"title","ngClass","click","keyup.enter",4,"ngFor","ngForOf"],["tabindex","0",1,"sf-tree-list__cell","-head",3,"title","ngClass","click","keyup.enter"],["look","color-inherit size-3xs",3,"name",4,"ngIf"],["look","color-inherit size-3xs",3,"name"],["class","sf-tree-list__row -loading",4,"ngFor","ngForOf"],[1,"sf-tree-list__row","-loading"],[1,"sf-tree-list__cell"],["look","skeleton list"],["look","main-list-view",3,"itemTemplate","nodes","config","isLoadingMore","checkBoxClicked","expandedNodesChanged","treeNodePressEnter","treeNodeClicked","visibleNodesCountChanged"],["sfTree",""],["class","sf-tree-list__row",3,"title","ngClass",4,"ngIf"],["class","-system-link sf-tree__row",4,"ngIf"],[1,"sf-tree-list__row",3,"title","ngClass"],["class","sf-tree-list__cell",3,"ngClass","click","keyup.enter",4,"ngFor","ngForOf"],[1,"sf-tree-list__cell",3,"ngClass","click","keyup.enter"],[3,"templateData","componentData"],[1,"-system-link","sf-tree__row"],[1,"sf-tree__inner","-link","-sf-pt-xs","-sf-pb-xs","-sf-mr-4xs"],["name","repeat","look","size-xs color-inherit",1,"sf-tree__icon"],[1,"sf-tree__content"],[1,"sf-tree__item-title","-sf-overflow-ellipsis"]],template:function ListComponent_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div"),o["ɵɵtemplate"](1,ListComponent_div_1_Template,2,4,"div",0),o["ɵɵelement"](2,"sf-loader-wrapper",1),o["ɵɵelement"](3,"sf-loader-wrapper",2),o["ɵɵelementEnd"](),o["ɵɵtemplate"](4,ListComponent_ng_template_4_Template,1,2,"ng-template",null,3,o["ɵɵtemplateRefExtractor"]),o["ɵɵtemplate"](6,ListComponent_ng_template_6_Template,1,2,"ng-template",null,4,o["ɵɵtemplateRefExtractor"]),o["ɵɵtemplate"](8,ListComponent_ng_template_8_Template,2,4,"ng-template",null,5,o["ɵɵtemplateRefExtractor"]),o["ɵɵtemplate"](10,ListComponent_ng_template_10_Template,2,2,"ng-template",null,6,o["ɵɵtemplateRefExtractor"])),2&e){var n=o["ɵɵreference"](5),i=o["ɵɵreference"](7),r=o["ɵɵreference"](9);o["ɵɵclassMap"](t.listCssClass),o["ɵɵclassProp"]("-sf-hidden",!(t.itemsState.hasItems||t.itemsState.isLoadingItems)),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!t.shouldHideHeader),o["ɵɵadvance"](1),o["ɵɵproperty"]("ignoreDelay",t.ignoreLoaderDelay)("isLoading",!t.itemsState.hasLoadedItems&&t.itemsState.isLoadingItems)("loadingContent",i)("content",r),o["ɵɵadvance"](1),o["ɵɵproperty"]("initialValue",!1)("ignoreDelay",t.ignoreLoaderDelay)("isLoading",t.itemsState.isLoadingItems&&t.itemsState.hasLoadedItems)("loadingContent",n)}},encapsulation:2}),ListComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ListColumnDirective",(function(){return i}));var o=n(229),i=function(){function ListColumnDirective(e){this.templateRef=e}return ListColumnDirective.ɵfac=function ListColumnDirective_Factory(e){return new(e||ListColumnDirective)(o["ɵɵdirectiveInject"](o.TemplateRef))},ListColumnDirective.ɵdir=o["ɵɵdefineDirective"]({type:ListColumnDirective,selectors:[["","sfColumnTemplate",""]],inputs:{class:"class",name:"name",title:"title",clickable:"clickable"}}),ListColumnDirective}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ANALYTICS_TITLE",(function(){return d})),n.d(t,"AnalyticsColumnComponent",(function(){return p}));var o=n(259),i=n(1392),r=n(131),a=n(262),s=n(264),A=n(229),l=n(261),c=n(354);function AnalyticsColumnComponent_div_0_ng_container_1_ng_container_1_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵelementStart"](1,"a",3),A["ɵɵelement"](2,"sf-icon",4),A["ɵɵelementEnd"](),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](3);A["ɵɵadvance"](1),A["ɵɵproperty"]("href",n.analyticsItemResult.analyticsItemUrl,A["ɵɵsanitizeUrl"])}}function AnalyticsColumnComponent_div_0_ng_container_1_Template(e,t){if(1&e&&(A["ɵɵelementContainerStart"](0),A["ɵɵtemplate"](1,AnalyticsColumnComponent_div_0_ng_container_1_ng_container_1_Template,3,1,"ng-container",0),A["ɵɵelementContainerEnd"]()),2&e){var n=A["ɵɵnextContext"](2);A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",n.analyticsItemResult.analyticsItemUrl)}}function AnalyticsColumnComponent_div_0_Template(e,t){if(1&e&&(A["ɵɵelementStart"](0,"div"),A["ɵɵtemplate"](1,AnalyticsColumnComponent_div_0_ng_container_1_Template,2,1,"ng-container",2),A["ɵɵelementEnd"]()),2&e){var n=A["ɵɵnextContext"](),o=A["ɵɵreference"](2);A["ɵɵadvance"](1),A["ɵɵproperty"]("ngIf",n.analyticsItemResult&&!n.analyticsItemResult.isLoading)("ngIfElse",o)}}function AnalyticsColumnComponent_ng_template_1_Template(e,t){1&e&&A["ɵɵelement"](0,"sf-loader",5)}var d="Analytics",p=function(e){function AnalyticsColumnComponent(t){var n=e.call(this)||this;return n.bundleDataService=t,n.analyticsItemResult={isLoading:!0,analyticsItemUrl:null},n}return Object(o.__extends)(AnalyticsColumnComponent,e),AnalyticsColumnComponent.prototype.ngOnInit=function(){this.getResponseFromService()},AnalyticsColumnComponent.prototype.getResponseFromService=function(){var e=this,t=this.bundleDataService.responses.pipe(Object(r.delay)(a.LOADING_TIME)).subscribe((function(t){if(t){t.cleanRequest&&(e.analyticsItemResult={isLoading:!0,analyticsItemUrl:null});var n=e.bundleDataService.data[i.BUNDLE_DATA_OPERATIONS.ANALYTICS];if(n&&n[e.context.dataItem.data.Id]&&n[e.context.dataItem.data.Id].data){var o=n[e.context.dataItem.data.Id].data;e.analyticsItemResult={isLoading:!1,analyticsItemUrl:o?o.AnalyticsUrl:null}}else e.analyticsItemResult.isLoading&&(e.analyticsItemResult={isLoading:!1,analyticsItemUrl:null})}}));this.registerSubscription(t)},AnalyticsColumnComponent.ɵfac=function AnalyticsColumnComponent_Factory(e){return new(e||AnalyticsColumnComponent)(A["ɵɵdirectiveInject"](i.BundleDataService))},AnalyticsColumnComponent.ɵcmp=A["ɵɵdefineComponent"]({type:AnalyticsColumnComponent,selectors:[["sf-analytics"]],inputs:{context:"context"},features:[A["ɵɵInheritDefinitionFeature"]],decls:3,vars:1,consts:[[4,"ngIf"],["loading",""],[4,"ngIf","ngIfElse"],["data-sftest","analytics-anchor",1,"-secondary",3,"href"],["name","bar-chart","look","color-inherit"],["look","inline"]],template:function AnalyticsColumnComponent_Template(e,t){1&e&&(A["ɵɵtemplate"](0,AnalyticsColumnComponent_div_0_Template,2,2,"div",0),A["ɵɵtemplate"](1,AnalyticsColumnComponent_ng_template_1_Template,1,0,"ng-template",null,1,A["ɵɵtemplateRefExtractor"])),2&e&&A["ɵɵproperty"]("ngIf",t.analyticsItemResult)},directives:[l.NgIf,c.SfIconComponent,c.SfLoaderComponent],encapsulation:2}),AnalyticsColumnComponent}(s.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"STATUS_CSS_CLASS",(function(){return p})),n.d(t,"TOGGLE_CSS_CLASS",(function(){return f})),n.d(t,"THUMBNAIL_CSS_CLASS",(function(){return u})),n.d(t,"TITLE_CSS_CLASS",(function(){return m})),n.d(t,"ColInitializer",(function(){return g})),n.d(t,"GroupingColInitializer",(function(){return E})),n.d(t,"ClickableColInitializer",(function(){return h})),n.d(t,"MainColInitializer",(function(){return b})),n.d(t,"TemplatesMainInitializer",(function(){return C})),n.d(t,"TaxaMainInitializer",(function(){return B})),n.d(t,"MediaMainInitializer",(function(){return k})),n.d(t,"DateAndUserInitializer",(function(){return I}));var o=n(259),i=n(266),r=n(1156),a=n(10),s=n(262),A=n(256),l=n(1574),c=n(265),d=n(326),p="-status",f="-toggle",u="-thumbnail",m="-title -col-size-m",g=function(){function ColInitializer(e){this.col=e}return ColInitializer.prototype.init=function(e,t){return this.col.title=t.title,this.col},ColInitializer}(),E=function(e){function GroupingColInitializer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(GroupingColInitializer,e),GroupingColInitializer.prototype.init=function(t,n){return e.prototype.init.call(this,t,n),this.col.isGrouping=n.isGrouping,this.col},GroupingColInitializer}(g),h=function(e){function ClickableColInitializer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ClickableColInitializer,e),ClickableColInitializer.prototype.init=function(t,n){return e.prototype.init.call(this,t,n),this.col.clickable=!0,this.col},ClickableColInitializer}(g),b=function(e){function MainColInitializer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(MainColInitializer,e),MainColInitializer.prototype.init=function(t,n){e.prototype.init.call(this,t,n);var s=!t.hasChildren&&t.hasLifecycle&&t.setName!==A.ENTITY_SET.CONTENT_ITEMS||t.isSelfReferencing;this.col.sortableFieldName=t.isSortingAllowed(t.defaultFieldName)?t.defaultFieldName:null,this.col.css=m,this.col.componentData.properties={hasStatusIcon:s};var l=Array.isArray(this.col.dataFieldNames)?this.col.dataFieldNames:[];return this.col.dataFieldNames=Object(o.__spreadArrays)([t.defaultFieldName],l),s&&(this.col.css+=" "+p),t.hasLifecycle&&this.col.dataFieldNames.push(i.Properties.DISPLAY_STATUS,i.Properties.LOCKED_STATUS),t.isSelfReferencing&&(this.col.dataFieldNames.push(i.Properties.HAS_CHILDREN,i.Properties.BREADCRUMB),this.col.css+=" "+f,t.setName===r.PAGES_ENTITY_SET_NAME&&(this.col.title=a.RESERVED_COLUMN_NAMES.Page,this.col.dataFieldNames.push("IsHomePage"),this.col.dataFieldNames.push("Renderer"),this.col.componentData.afterComponentInit=function(e){e.context.dataItem.data&&e.context.dataItem.data.IsHomePage&&(e.iconProperties={name:"home",look:"black sf-mr-4xs",inner:!0})})),this.col},MainColInitializer}(h),C=function(e){function TemplatesMainInitializer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TemplatesMainInitializer,e),TemplatesMainInitializer.prototype.init=function(t,n){return e.prototype.init.call(this,t,n),this.col.css+=" "+p+" "+u,this.col.componentData.properties.hasStatusIcon=!0,this.col.componentData.properties.thumbnailLabelProperty="Framework",this.col},TemplatesMainInitializer}(b),B=function(e){function TaxaMainInitializer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TaxaMainInitializer,e),TaxaMainInitializer.prototype.init=function(t,n){return e.prototype.init.call(this,t,n),this.col.dataFieldNames.push(i.Properties.TAXA_URL),this.col.dataFieldNames.push(i.Properties.DISPLAY_STATUS),t.setName===A.ENTITY_SET.CLASSIFICATIONS&&(this.col.css+=" "+p,this.col.title="CLASSIFICATION TYPE",this.col.dataFieldNames.push("Type"),this.col.componentData.properties.hasStatusIcon=!0),t.setName!==A.ENTITY_SET.FLAT_TAXA&&t.setName!==A.ENTITY_SET.HIERARCHY_TAXA||(this.col.title=l.TAXONOMY_COLUMN_NAMES.TAXA_TITLE,this.col.dataFieldNames.push("Synonyms"),this.col.dataFieldNames.push("Breadcrumb")),t.setName===A.ENTITY_SET.HIERARCHY_TAXA&&(this.col.css+=" "+f),this.col},TaxaMainInitializer}(b),k=function(e){function MediaMainInitializer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(MediaMainInitializer,e),MediaMainInitializer.prototype.init=function(t,n){return e.prototype.init.call(this,t,n),this.col.componentData.properties.textMatchType=c.TextMatchType.Contains,d.MediaHelpers.isLibrary(t.setName)&&(this.col.css+=" "+p,this.col.title=n.title,this.col.componentData.properties.hasStatusIcon=!0),t.setName===A.ENTITY_SET.DOCUMENTS&&(this.col.componentData.afterComponentInit=function(e){e.context.dataItem.data&&e.context.dataItem.metadata.setName===A.ENTITY_SET.DOCUMENTS&&(e.iconProperties={name:d.MediaHelpers.getDocumentThumbnailIcon(e.context.dataItem.data.Extension),look:"size-3xl "+(!1===e.context.dataItem.isTranslated?"lighter":"light"),inner:!1})}),this.col},MediaMainInitializer}(b),I=function(e){function DateAndUserInitializer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(DateAndUserInitializer,e),DateAndUserInitializer.prototype.init=function(t,n){return e.prototype.init.call(this,t,n),t.typeFullName===A.ALBUM_ITEM_FULL_NAME?this.col.css="-col-size-l":t.typeFullName===A.PAGE_ITEM_FULL_NAME?this.col.css="-col-size-m":this.col.css="-col-size-sm",this.col.sortableFieldName=t.isSortingAllowed(this.col.name)?this.col.name:null,this.col.defaultSortOrder=s.SORT_ORDER.DESCENDING,this.col},DateAndUserInitializer}(g)},function(e,t,n){"use strict";n.r(t);var o=n(1575);n.d(t,"TAXONOMIES_URL_NAME",(function(){return o.TAXONOMIES_URL_NAME})),n.d(t,"TaxonomyService",(function(){return o.TaxonomyService}));var i=n(331);n.d(t,"TAXONOMY_COLUMN_NAMES",(function(){return i.TAXONOMY_COLUMN_NAMES})),n.d(t,"TAXONOMY_STRING_CONSTANTS",(function(){return i.TAXONOMY_STRING_CONSTANTS}));var r=n(330);n.d(t,"TaxonomySettings",(function(){return r.TaxonomySettings}))},function(e,t,n){"use strict";n.r(t),n.d(t,"TAXONOMIES_URL_NAME",(function(){return A})),n.d(t,"TaxonomyService",(function(){return l}));var o=n(277),i=n(1189),r=n(262),a=n(281),s=n(229),A="taxonomies",l=function(){function TaxonomyService(e,t){this.sitefinitySdk=e,this.errorParserService=t}return TaxonomyService.prototype.getTaxonomies=function(e){var t=this,n=this.sitefinitySdk.query.where();n=n.or();for(var o=0;o-1?t.router.navigate([e],{queryParamsHandling:"merge"}):t.route.outlet===a.ROUTE_PATHS_NO_PREFIX.MENU_OUTLET?t.router.navigate([{outlets:{menu:e}}],{relativeTo:t.route.parent,queryParamsHandling:"merge"}):t.router.navigate([e],{relativeTo:t.route.parent,queryParamsHandling:"merge"})}))},HomeNavigationComponent.ɵfac=function HomeNavigationComponent_Factory(e){return new(e||HomeNavigationComponent)(s["ɵɵdirectiveInject"](r.AuthService),s["ɵɵdirectiveInject"](o.ActivatedRoute),s["ɵɵdirectiveInject"](o.Router),s["ɵɵdirectiveInject"](i.SiteDataStore))},HomeNavigationComponent.ɵcmp=s["ɵɵdefineComponent"]({type:HomeNavigationComponent,selectors:[["sf-home-navigation"]],decls:13,vars:4,consts:[[1,"-sf-txt-align-center"],[1,"sf-logo","-sf-centered-box"],[1,"sf-menu__title"],["aria-label","Top navigation","role","menu",1,"-sf-mt-7xl"],[1,"sf-menu","sf-row","-justify-content-center"],["class","sf-menu__item",4,"ngFor","ngForOf"],[1,"sf-menu__logout"],[3,"onClick"],[1,"sf-menu__item"],["class","sf-menu__link","role","menuitem","tabindex","i",3,"click","keyup.enter",4,"ngIf"],["class","sf-menu__link -disabled",4,"ngIf"],["role","menuitem","tabindex","i",1,"sf-menu__link",3,"click","keyup.enter"],["aria-hidden","true"],[1,"sf-menu__link","-disabled"]],template:function HomeNavigationComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"div",0),s["ɵɵelementStart"](1,"div",1),s["ɵɵtext"](2,"Progress Sitefinity"),s["ɵɵelementEnd"](),s["ɵɵelementStart"](3,"h1",2),s["ɵɵtext"](4),s["ɵɵpipe"](5,"async"),s["ɵɵelementEnd"](),s["ɵɵelementStart"](6,"nav",3),s["ɵɵelementStart"](7,"ul",4),s["ɵɵtemplate"](8,HomeNavigationComponent_li_8_Template,3,2,"li",5),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementStart"](9,"div",6),s["ɵɵelementStart"](10,"sf-button",7),s["ɵɵlistener"]("onClick",(function HomeNavigationComponent_Template_sf_button_onClick_10_listener(){return t.onLogout()})),s["ɵɵtext"](11,"Logout"),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelement"](12,"router-outlet")),2&e&&(s["ɵɵadvance"](4),s["ɵɵtextInterpolate"](s["ɵɵpipeBind1"](5,2,t.siteInfo).Name),s["ɵɵadvance"](4),s["ɵɵproperty"]("ngForOf",t.config))},directives:[A.NgForOf,l.SfButtonComponent,o.RouterOutlet,A.NgIf],pipes:[A.AsyncPipe],encapsulation:2}),HomeNavigationComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"NotFoundComponent",(function(){return c}));var o=n(259),i=n(271),r=n(244),a=n(260),s=n(1581),A=n(229),l=n(354),c=function(e){function NotFoundComponent(t,n,o){return e.call(this,t,n,o)||this}return Object(o.__extends)(NotFoundComponent,e),NotFoundComponent.ɵfac=function NotFoundComponent_Factory(e){return new(e||NotFoundComponent)(A["ɵɵdirectiveInject"](i.Settings),A["ɵɵdirectiveInject"](a.Router),A["ɵɵdirectiveInject"](r.WINDOW_TOKEN))},NotFoundComponent.ɵcmp=A["ɵɵdefineComponent"]({type:NotFoundComponent,selectors:[["sf-not-found"]],features:[A["ɵɵInheritDefinitionFeature"]],decls:10,vars:0,consts:[[1,"-sf-txt-align-center","-sf-centered-vertical-box","-sf-txt-large"],[1,"sf-logo","-sf-centered-box","-fixed"],["name","chain-broken","look","illustrative"],[1,"-sf-mt-s","-sf-mb-3xs"],[1,"-sf-mb-m"],[1,"sf-button","-action","-large",3,"click"]],template:function NotFoundComponent_Template(e,t){1&e&&(A["ɵɵelementStart"](0,"div",0),A["ɵɵelementStart"](1,"p",1),A["ɵɵtext"](2,"Progress Sitefinity"),A["ɵɵelementEnd"](),A["ɵɵelement"](3,"sf-icon",2),A["ɵɵelementStart"](4,"h1",3),A["ɵɵtext"](5,"Couldn't find it!"),A["ɵɵelementEnd"](),A["ɵɵelementStart"](6,"p",4),A["ɵɵtext"](7,"The page you are trying to reach doesn't exist"),A["ɵɵelementEnd"](),A["ɵɵelementStart"](8,"a",5),A["ɵɵlistener"]("click",(function NotFoundComponent_Template_a_click_8_listener(){return t.onNavigateToHome()})),A["ɵɵtext"](9,"Go to home"),A["ɵɵelementEnd"](),A["ɵɵelementEnd"]())},directives:[l.SfIconComponent],encapsulation:2}),NotFoundComponent}(s.ErrorPageBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"ErrorPageBase",(function(){return s}));var o=n(280),i=n(246),r=n(1152),a=n(279),s=function(){function ErrorPageBase(e,t,n){this.router=t,this.window=n,this.settingsUrl=e.url}return ErrorPageBase.prototype.onNavigateToHome=function(){if(this.getEnvironmentVariables().ENV===o.environmentTypes.integration){var e=this.settingsUrl+"/Sitefinity";this.window.open(e,i.SAME_TAB_TARGET)}else this.router.navigate([r.ROUTE_PATHS.HOME])},ErrorPageBase.prototype.getEnvironmentVariables=function(){return{ENV:a.environment.env}},ErrorPageBase}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SIDEBAR_CSS_CLASS",(function(){return u})),n.d(t,"SidebarHostComponent",(function(){return m}));var o=n(259),i=n(260),r=n(1583),a=n(1217),s=n(1584),A=n(295),l=n(298),c=n(1538),d=n(354),p=n(229),f=n(261);function SidebarHostComponent_div_1_sf_icon_1_Template(e,t){1&e&&p["ɵɵelement"](0,"sf-icon",6)}function SidebarHostComponent_div_1_sf_icon_2_Template(e,t){1&e&&p["ɵɵelement"](0,"sf-icon",7)}function SidebarHostComponent_div_1_Template(e,t){if(1&e){var n=p["ɵɵgetCurrentView"]();p["ɵɵelementStart"](0,"div",3),p["ɵɵlistener"]("click",(function SidebarHostComponent_div_1_Template_div_click_0_listener(){return p["ɵɵrestoreView"](n),p["ɵɵnextContext"]().toggleVisibility()})),p["ɵɵtemplate"](1,SidebarHostComponent_div_1_sf_icon_1_Template,1,0,"sf-icon",4),p["ɵɵtemplate"](2,SidebarHostComponent_div_1_sf_icon_2_Template,1,0,"sf-icon",5),p["ɵɵelementEnd"]()}if(2&e){var o=p["ɵɵnextContext"]();p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",!o.isOpen),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",o.isOpen)}}function SidebarHostComponent_ng_container_2_i_1_Template(e,t){if(1&e){var n=p["ɵɵgetCurrentView"]();p["ɵɵelementStart"](0,"i",11),p["ɵɵlistener"]("click",(function SidebarHostComponent_ng_container_2_i_1_Template_i_click_0_listener(){return p["ɵɵrestoreView"](n),p["ɵɵnextContext"](2).close()}))("keyup.enter",(function SidebarHostComponent_ng_container_2_i_1_Template_i_keyup_enter_0_listener(){return p["ɵɵrestoreView"](n),p["ɵɵnextContext"](2).close()})),p["ɵɵelementEnd"]()}}function SidebarHostComponent_ng_container_2_ng_container_2_a_2_Template(e,t){if(1&e){var n=p["ɵɵgetCurrentView"]();p["ɵɵelementStart"](0,"a",14),p["ɵɵlistener"]("click",(function SidebarHostComponent_ng_container_2_ng_container_2_a_2_Template_a_click_0_listener(){return p["ɵɵrestoreView"](n),p["ɵɵnextContext"](3).backToSidebar()}))("keyup.enter",(function SidebarHostComponent_ng_container_2_ng_container_2_a_2_Template_a_keyup_enter_0_listener(){return p["ɵɵrestoreView"](n),p["ɵɵnextContext"](3).backToSidebar()})),p["ɵɵelement"](1,"sf-icon",15),p["ɵɵtext"](2),p["ɵɵelementEnd"]()}if(2&e){var o=p["ɵɵnextContext"](3);p["ɵɵadvance"](2),p["ɵɵtextInterpolate1"](" ",o.title," ")}}function SidebarHostComponent_ng_container_2_ng_container_2_ng_container_3_Template(e,t){if(1&e&&(p["ɵɵelementContainerStart"](0),p["ɵɵtext"](1),p["ɵɵelementContainerEnd"]()),2&e){var n=p["ɵɵnextContext"](3);p["ɵɵadvance"](1),p["ɵɵtextInterpolate1"](" ",n.title," ")}}function SidebarHostComponent_ng_container_2_ng_container_2_Template(e,t){if(1&e&&(p["ɵɵelementContainerStart"](0),p["ɵɵelementStart"](1,"h2",12),p["ɵɵtemplate"](2,SidebarHostComponent_ng_container_2_ng_container_2_a_2_Template,3,1,"a",13),p["ɵɵtemplate"](3,SidebarHostComponent_ng_container_2_ng_container_2_ng_container_3_Template,2,1,"ng-container",1),p["ɵɵelementEnd"](),p["ɵɵelementContainerEnd"]()),2&e){var n=p["ɵɵnextContext"](2);p["ɵɵadvance"](1),p["ɵɵproperty"]("title",n.title),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",n.hasBackNavigation),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",!n.hasBackNavigation)}}function SidebarHostComponent_ng_container_2_sf_component_loader_4_Template(e,t){if(1&e&&p["ɵɵelement"](0,"sf-component-loader",16,17),2&e){var n=p["ɵɵnextContext"](2);p["ɵɵproperty"]("componentData",n.componentMapping)}}function SidebarHostComponent_ng_container_2_sf_sidebar_slider_5_Template(e,t){1&e&&p["ɵɵelement"](0,"sf-sidebar-slider",null,18)}var _c0=function(e,t,n){return{"sf-sidebar__scroll":e,"sf-sidebar__slider-wrapper":t,"-sf-disabled":n}};function SidebarHostComponent_ng_container_2_Template(e,t){if(1&e&&(p["ɵɵelementContainerStart"](0),p["ɵɵtemplate"](1,SidebarHostComponent_ng_container_2_i_1_Template,1,0,"i",8),p["ɵɵtemplate"](2,SidebarHostComponent_ng_container_2_ng_container_2_Template,4,3,"ng-container",1),p["ɵɵelementStart"](3,"div",9),p["ɵɵtemplate"](4,SidebarHostComponent_ng_container_2_sf_component_loader_4_Template,2,1,"sf-component-loader",10),p["ɵɵtemplate"](5,SidebarHostComponent_ng_container_2_sf_sidebar_slider_5_Template,2,0,"sf-sidebar-slider",1),p["ɵɵelementEnd"](),p["ɵɵelementContainerEnd"]()),2&e){var n=p["ɵɵnextContext"]();p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",!n.hideCloseButton),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",!(null!=n.currentConfig&&n.currentConfig.hideTitle)),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngClass",p["ɵɵpureFunction3"](5,_c0,!(null!=n.currentConfig&&n.currentConfig.hideTitle),null==n.currentConfig?null:n.currentConfig.hideTitle,!n.enabled)),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",!(null!=n.currentConfig&&n.currentConfig.useSlider||n.isConfigChanging)),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",null==n.currentConfig?null:n.currentConfig.useSlider)}}function SidebarHostComponent_sf_loader_3_Template(e,t){1&e&&p["ɵɵelement"](0,"sf-loader",19)}var u="sf-sidebar",m=function(e){function SidebarHostComponent(t,n,o){var i=e.call(this,n)||this;return i.store=o,i.title="Sidebar",i.enabled=!0,i.hasBackNavigation=!1,i.sidebarCssClass=u+" -hidden",i.sidebars=[],i.service=t,i}return Object(o.__extends)(SidebarHostComponent,e),SidebarHostComponent.prototype.ngOnInit=function(){var t=this;this.sidebarCssClass=this.generateCssClassList(),this.hasToggle&&(this.hideCloseButton=!0),this.registerSubscription(this.store.pipe(c.SIDEBAR_SELECTORS.sidebarData).subscribe((function(e){e&&(t.sidebarData=e)}))),this.registerSubscription(this.store.pipe(c.SIDEBAR_SELECTORS.isLoading).subscribe((function(e){t.isProgressLoading=e}))),this.registerSubscription(this.store.pipe(c.SIDEBAR_SELECTORS.isOpen).subscribe((function(e){t.isOpen=e,t.sidebarCssClass=t.generateCssClassList()}))),this.registerSubscription(this.store.pipe(c.SIDEBAR_SELECTORS.shouldAnimate).subscribe((function(e){t.shouldAnimate=e,t.sidebarCssClass=t.generateCssClassList()}))),this.registerSubscription(this.store.pipe(c.SIDEBAR_SELECTORS.activeConfig).subscribe((function(e){t.isConfigChanging=!1,t.currentConfig=e,e&&e.data?(t.sidebars.push(e),t.title=e.title,t.hasBackNavigation=e.data.hasBackNavigation,t.componentMapping=null,t.componentMapping=e.data,t.notInitialLoad=!0):(t.componentMapping=null,t.isConfigChanging=!0,t.sidebars=[]),t.sidebarCssClass=t.generateCssClassList()}))),e.prototype.ngOnInit.call(this)},SidebarHostComponent.prototype.backToSidebar=function(){this.sidebars.length>1&&(this.sidebars.pop(),this.store.dispatch(l.SIDEBAR_DISPATCH_ACTION.change(this.sidebars.pop())))},SidebarHostComponent.prototype.onClose=function(){return this.sidebarData?Promise.resolve(!0):e.prototype.onClose.call(this)},SidebarHostComponent.prototype.close=function(){this.sidebarData&&this.store.dispatch(l.SIDEBAR_DISPATCH_ACTION.close())},SidebarHostComponent.prototype.toggleVisibility=function(){this.isOpen||1!==this.sidebarData.buttons.length?this.store.dispatch(l.SIDEBAR_DISPATCH_ACTION.close()):this.store.dispatch(l.SIDEBAR_DISPATCH_ACTION.changeAndOpen(this.sidebarData.buttons[0],!0))},SidebarHostComponent.prototype.onMappingChanged=function(e){this.title=e.title,this.look=e.look,this.hasBackNavigation=e.hasBackNavigation,this.componentMapping=e,this.sidebarCssClass=this.generateCssClassList()},SidebarHostComponent.prototype.generateCssClassList=function(){var e=u;return this.look&&(e+=" -"+this.look.split(" ").join(" -")),this.hasToggle&&(e+=" -toggle"),this.shouldAnimate&&(e+=" -animate"),this.isOpen||(e+=" -hidden"),this.isOpen&&this.componentMapping&&this.componentMapping.wide&&(e+=" -wide"),e},SidebarHostComponent.ɵfac=function SidebarHostComponent_Factory(e){return new(e||SidebarHostComponent)(p["ɵɵdirectiveInject"](r.SidebarComponentRepo),p["ɵɵdirectiveInject"](i.ActivatedRoute),p["ɵɵdirectiveInject"](A.AppStore))},SidebarHostComponent.ɵcmp=p["ɵɵdefineComponent"]({type:SidebarHostComponent,selectors:[["sf-sidebar-host"]],viewQuery:function SidebarHostComponent_Query(e,t){if(1&e&&(p["ɵɵviewQuery"](d.SfDynamicComponentLoaderComponent,1),p["ɵɵviewQuery"](s.SidebarSliderComponent,1)),2&e){var n=void 0;p["ɵɵqueryRefresh"](n=p["ɵɵloadQuery"]())&&(t.loader=n.first),p["ɵɵqueryRefresh"](n=p["ɵɵloadQuery"]())&&(t.slider=n.first)}},inputs:{title:"title",look:"look",enabled:"enabled",hasBackNavigation:"hasBackNavigation",hideCloseButton:"hideCloseButton",hasToggle:"hasToggle"},features:[p["ɵɵInheritDefinitionFeature"]],decls:4,vars:4,consts:[["class","sf-sidebar__toggle",3,"click",4,"ngIf"],[4,"ngIf"],["look","progressbar","data-sftest","sidebar-loading",4,"ngIf"],[1,"sf-sidebar__toggle",3,"click"],["class","sf-sidebar__toggle-icon","name","caret-left","look","darkest size-xs",4,"ngIf"],["class","sf-sidebar__toggle-icon","name","caret-right","look","darkest size-xs",4,"ngIf"],["name","caret-left","look","darkest size-xs",1,"sf-sidebar__toggle-icon"],["name","caret-right","look","darkest size-xs",1,"sf-sidebar__toggle-icon"],["class","sf-sidebar__close sf-fa sf-fa-times sf-button__icon","tabindex","0","role","button","aria-label","Close sidebar",3,"click","keyup.enter",4,"ngIf"],[3,"ngClass"],[3,"componentData",4,"ngIf"],["tabindex","0","role","button","aria-label","Close sidebar",1,"sf-sidebar__close","sf-fa","sf-fa-times","sf-button__icon",3,"click","keyup.enter"],["data-sftest","sidebar-title",1,"sf-sidebar__title",3,"title"],["class","h2","data-sftest","sidebar-back-link",3,"click","keyup.enter",4,"ngIf"],["data-sftest","sidebar-back-link",1,"h2",3,"click","keyup.enter"],["name","angle-left"],[3,"componentData"],["componentLoader",""],["slider",""],["look","progressbar","data-sftest","sidebar-loading"]],template:function SidebarHostComponent_Template(e,t){1&e&&(p["ɵɵelementStart"](0,"aside"),p["ɵɵtemplate"](1,SidebarHostComponent_div_1_Template,3,2,"div",0),p["ɵɵtemplate"](2,SidebarHostComponent_ng_container_2_Template,6,9,"ng-container",1),p["ɵɵelementEnd"](),p["ɵɵtemplate"](3,SidebarHostComponent_sf_loader_3_Template,1,0,"sf-loader",2)),2&e&&(p["ɵɵattribute"]("class",t.sidebarCssClass),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.hasToggle),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.isOpen),p["ɵɵadvance"](1),p["ɵɵproperty"]("ngIf",t.isProgressLoading))},directives:[f.NgIf,d.SfIconComponent,f.NgClass,d.SfDynamicComponentLoaderComponent,s.SidebarSliderComponent,d.SfLoaderComponent],encapsulation:2}),SidebarHostComponent}(a.AuxHostComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"SIDEBAR_KEY",(function(){return c})),n.d(t,"SidebarComponentRepo",(function(){return d}));var o=n(259),i=n(131),r=n(1130),a=n(260),s=n(246),A=n(272),l=n(229),c="sidebar",d=function(e){function SidebarComponentRepo(t,n){var o=e.call(this,t)||this;return o.storage=n,o}return Object(o.__extends)(SidebarComponentRepo,e),Object.defineProperty(SidebarComponentRepo.prototype,"activityStatus",{get:function(){var e=this;return this._activityStatus.pipe(Object(i.map)((function(t){var n=e.getComponentMapping(t.route);return{active:t.active,route:t.route,wide:!!n&&n.wide}})))},enumerable:!1,configurable:!0}),SidebarComponentRepo.prototype.addComponentMapping=function(e,t){t.wide&&(t.look=t.look||s.stringConstants.EMPTY_STRING,t.look+=" wide"),this.setData(e,t)},SidebarComponentRepo.prototype.getComponentMapping=function(e){return this.getData(e)},SidebarComponentRepo.prototype.show=function(t,n){return Object(o.__awaiter)(this,void 0,void 0,(function(){return Object(o.__generator)(this,(function(o){switch(o.label){case 0:return this.currentActivityStatus&&this.currentActivityStatus.active&&this.currentActivityStatus.route!==t?[4,this.hide(n,!0)]:[3,2];case 1:o.sent(),o.label=2;case 2:return e.prototype.show.call(this,t,n),[2]}}))}))},SidebarComponentRepo.prototype.hide=function(t,n){return void 0===t&&(t=null),void 0===n&&(n=!1),e.prototype.hide.call(this,t,n).then((function(e){return e}))},SidebarComponentRepo.prototype.getOpenedSidebarForCurrentType=function(e){return this.getOpenedSidebars()[e]},SidebarComponentRepo.prototype.getOpenedSidebars=function(){var e=this.storage.getItem(c);return e=e?JSON.parse(e):{}},SidebarComponentRepo.prototype.updateOpenedSidebars=function(e,t,n){n&&(e[t]=n),this.storage.setItem(c,JSON.stringify(e))},SidebarComponentRepo.prototype.removeItemFromOpenedSidebars=function(e,t){e[t]&&(delete e[t],this.updateOpenedSidebars(e,t))},SidebarComponentRepo.prototype.getSettings=function(){return{outletName:"sidebar",prefix:"host"}},SidebarComponentRepo.ɵfac=function SidebarComponentRepo_Factory(e){return new(e||SidebarComponentRepo)(l["ɵɵinject"](a.Router),l["ɵɵinject"](A.LOCAL_STORAGE))},SidebarComponentRepo.ɵprov=l["ɵɵdefineInjectable"]({token:SidebarComponentRepo,factory:SidebarComponentRepo.ɵfac}),SidebarComponentRepo}(r.AuxServiceBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"SliderDirection",(function(){return o})),n.d(t,"SidebarSliderInitialized",(function(){return m})),n.d(t,"SidebarSliderComponent",(function(){return g}));var o,i=n(259),r=n(1134),a=n(327),s=n(11),A=n(245),l=n(364),c=n(354),d=n(229),p=n(261),_c0=function(e){return{zIndex:e}};function SidebarSliderComponent_div_1_Template(e,t){if(1&e&&(d["ɵɵelementStart"](0,"div",1),d["ɵɵelement"](1,"sf-component-loader",2),d["ɵɵelementEnd"]()),2&e){var n=d["ɵɵnextContext"]();d["ɵɵclassMapInterpolate1"]("sf-sidebar__slider ",n.firstWindowCssClass,""),d["ɵɵproperty"]("ngStyle",d["ɵɵpureFunction1"](5,_c0,n.windowsZIndexes.firstWindow)),d["ɵɵadvance"](1),d["ɵɵproperty"]("componentData",n.firstWindowComponentData)}}function SidebarSliderComponent_div_2_Template(e,t){if(1&e&&(d["ɵɵelementStart"](0,"div",1),d["ɵɵelement"](1,"sf-component-loader",2),d["ɵɵelementEnd"]()),2&e){var n=d["ɵɵnextContext"]();d["ɵɵclassMapInterpolate1"]("sf-sidebar__slider ",n.secondWindowCssClass,""),d["ɵɵproperty"]("ngStyle",d["ɵɵpureFunction1"](5,_c0,n.windowsZIndexes.secondWindow)),d["ɵɵadvance"](1),d["ɵɵproperty"]("componentData",n.secondWindowComponentData)}}!function(e){e.left="left",e.right="right",e.leftInner="leftInner",e.rightInner="rightInner"}(o||(o={}));var f=[Object(l.query)(".-one,.-two",Object(l.style)({}),{optional:!0}),Object(l.group)([Object(l.query)(".-one",[Object(l.style)({transform:"translateX(100%)"}),Object(l.animate)(".5s ease-out",Object(l.style)({transform:"translateX(0%)"}))],{optional:!0}),Object(l.query)(".-two",[Object(l.style)({transform:"translateX(0%)"}),Object(l.animate)(".5s ease-out",Object(l.style)({transform:"translateX(-100%)"}))],{optional:!0})])],u=[Object(l.query)(".-one,.-two",Object(l.style)({}),{optional:!0}),Object(l.group)([Object(l.query)(".-one",[Object(l.style)({transform:"translateX(-100%)"}),Object(l.animate)(".5s ease-out",Object(l.style)({transform:"translateX(0%)"}))],{optional:!0}),Object(l.query)(".-two",[Object(l.style)({transform:"translateX(0%)"}),Object(l.animate)(".5s ease-out",Object(l.style)({transform:"translateX(100%)"}))],{optional:!0})])],m=function(e){function SidebarSliderInitialized(){return null!==e&&e.apply(this,arguments)||this}return Object(i.__extends)(SidebarSliderInitialized,e),SidebarSliderInitialized}(a.CommunicationEvent),g=function(){function SidebarSliderComponent(e){this.eventsService=e,this.animationData$=new s.ReplaySubject(1),this.windowsZIndexes={firstWindow:0,secondWindow:0},this.eventsService.next(new m({instance:this}))}return SidebarSliderComponent.prototype.ngOnInit=function(){var e=this;this.animationData$.subscribe((function(t){!Object(A.hasValue)(e.firstWindowComponentData)?(e.firstWindowComponentData=t.componentData,e.windowsZIndexes.firstWindow=1,e.windowsZIndexes.secondWindow=e.windowsZIndexes.firstWindow-1,e.firstWindowCssClass="-one",e.secondWindowCssClass="-two"):(e.secondWindowComponentData=t.componentData,e.windowsZIndexes.secondWindow=1,e.windowsZIndexes.firstWindow=e.windowsZIndexes.secondWindow-1,e.firstWindowCssClass="-two",e.secondWindowCssClass="-one"),e.sliderDirection=t.slideDirection}))},SidebarSliderComponent.prototype.clearOldWindow=function(){var e=this.windowsZIndexes,t=e.firstWindow,n=e.secondWindow;t!==n&&(t right",f),Object(l.transition)("left => right",f),Object(l.transition)("left => rightInner",f),Object(l.transition)("right => rightInner",f),Object(l.transition)("rightInner => right",f),Object(l.transition)("* => left",u),Object(l.transition)("right => left",u),Object(l.transition)("right => leftInner",u),Object(l.transition)("leftInner => left",u),Object(l.transition)("left => leftInner",u)])]}}),SidebarSliderComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"LOAD_MORE_SEARCH_TOOLTIP_LOCALSTORAGE_KEY",(function(){return l})),n.d(t,"LoadMoreSearchComponent",(function(){return c}));var o=n(259),i=n(229),r=n(272),a=n(1235),s=n(261),A=n(354);function LoadMoreSearchComponent_div_1_sf_notification_3_ng_container_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵtext"](1," or "),i["ɵɵelementStart"](2,"a",9),i["ɵɵlistener"]("click",(function LoadMoreSearchComponent_div_1_sf_notification_3_ng_container_3_Template_a_click_2_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](3).onFilterClicked()})),i["ɵɵtext"](3,"filtering"),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}}function LoadMoreSearchComponent_div_1_sf_notification_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-notification",8),i["ɵɵlistener"]("onClose",(function LoadMoreSearchComponent_div_1_sf_notification_3_Template_sf_notification_onClose_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).hideNotification()})),i["ɵɵelementStart"](1,"a",9),i["ɵɵlistener"]("click",(function LoadMoreSearchComponent_div_1_sf_notification_3_Template_a_click_1_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSearchClicked()})),i["ɵɵtext"](2,"Search"),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,LoadMoreSearchComponent_div_1_sf_notification_3_ng_container_3_Template,4,0,"ng-container",4),i["ɵɵtext"](4," may be easier "),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",o.isFilterEnabled)}}var _c0=function(e){return{"sf-tooltip -dropped":e}};function LoadMoreSearchComponent_div_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",5),i["ɵɵelementStart"](1,"sf-button",6),i["ɵɵlistener"]("onClick",(function LoadMoreSearchComponent_div_1_Template_sf_button_onClick_1_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().loadMore()})),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,LoadMoreSearchComponent_div_1_sf_notification_3_Template,5,1,"sf-notification",7),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](3,_c0,o.isTooltipVisible)),i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](o.loadMoreButtonText),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",o.isTooltipVisible)}}function LoadMoreSearchComponent_sf_search_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-search",10),i["ɵɵlistener"]("searchValueChange",(function LoadMoreSearchComponent_sf_search_2_Template_sf_search_searchValueChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().searchValue=e}))("searchValueChange",(function LoadMoreSearchComponent_sf_search_2_Template_sf_search_searchValueChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().search(e)})),i["ɵɵtext"](1,"> "),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("searchValue",o.searchValue)}}function LoadMoreSearchComponent_span_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"]("",n.currentItemsCount," from ")}}var l="tooltips.loadMoreSearchTooltip",c=function(e){function LoadMoreSearchComponent(t){var n=e.call(this)||this;return n.storage=t,n.isSearchEnabled=!0,n.isFilterEnabled=!0,n.onFilterSelected=new i.EventEmitter,n.onSearch=new i.EventEmitter,n.isTooltipVisible=!1,n.isSearchVisible=!1,n.clickedCounter=0,n.wasTooltipShown=!1,n.wasTooltipShown="true"===n.storage.getItem(l),n}return Object(o.__extends)(LoadMoreSearchComponent,e),LoadMoreSearchComponent.prototype.ngOnChanges=function(e){(e.loadCount||e.allItemsCount)&&this.updateLoadButtonVisibility(),e.loadCount?this.updateLoadButtonText(e.loadCount.currentValue):(e.singularTitle||e.pluralTitle)&&this.updateLoadButtonText()},LoadMoreSearchComponent.prototype.onFilterClicked=function(){this.hideNotification(),this.onFilterSelected.emit()},LoadMoreSearchComponent.prototype.onSearchClicked=function(){this.hideNotification(),this.isSearchVisible=!0},LoadMoreSearchComponent.prototype.search=function(e){this.onSearch.emit(e)},LoadMoreSearchComponent.prototype.loadMore=function(){this.clickedCounter++,this.updateLoadButtonVisibility(!0),this.onLoadMore.emit()},LoadMoreSearchComponent.prototype.hideNotification=function(){this.wasTooltipShown||(this.isTooltipVisible=!1,this.wasTooltipShown=!0,this.storage.setItem(l,"true"))},LoadMoreSearchComponent.prototype.getType=function(e){return 1===e?this.singularTitle:this.pluralTitle},LoadMoreSearchComponent.prototype.updateHintVisibility=function(){2!==this.clickedCounter?3!==this.clickedCounter||this.hideNotification():this.showHint()},LoadMoreSearchComponent.prototype.showHint=function(){this.wasTooltipShown?this.isSearchVisible=!0:this.isTooltipVisible=!0},LoadMoreSearchComponent.prototype.updateLoadButtonVisibility=function(e){void 0===e&&(e=!1),this.isLoadButtonVisible=this.getLoadButtonVisibility(e),this.isLoadButtonVisible&&this.isSearchEnabled?this.updateHintVisibility():this.isSearchVisible=!1},LoadMoreSearchComponent.prototype.updateLoadButtonText=function(e){void 0===e&&(e=this.loadCount);var t=this.getType(e);this.loadMoreButtonText="Load "+e+" more "+(t?t.toLocaleLowerCase():t)},LoadMoreSearchComponent.ɵfac=function LoadMoreSearchComponent_Factory(e){return new(e||LoadMoreSearchComponent)(i["ɵɵdirectiveInject"](r.LOCAL_STORAGE))},LoadMoreSearchComponent.ɵcmp=i["ɵɵdefineComponent"]({type:LoadMoreSearchComponent,selectors:[["sf-load-more-search"]],inputs:{searchValue:"searchValue",singularTitle:"singularTitle",pluralTitle:"pluralTitle",isSearchEnabled:"isSearchEnabled",isFilterEnabled:"isFilterEnabled"},outputs:{onFilterSelected:"onFilterSelected",onSearch:"onSearch"},features:[i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:7,vars:7,consts:[[1,"sf-row","-align-items-center","-sf-mt-m"],[3,"ngClass",4,"ngIf"],["class","-sf-ml-m",3,"searchValue","searchValueChange",4,"ngIf"],[1,"sf-row__col","-sf-txt-align-right","-sf-txt-hint"],[4,"ngIf"],[3,"ngClass"],["data-sftest","loadMoreButton",3,"onClick"],["data-sftest","loadMoreNotification","class","sf-tooltip__content -right","look","tooltip right","caption","Looking for specific items?",3,"onClose",4,"ngIf"],["data-sftest","loadMoreNotification","look","tooltip right","caption","Looking for specific items?",1,"sf-tooltip__content","-right",3,"onClose"],[3,"click"],[1,"-sf-ml-m",3,"searchValue","searchValueChange"]],template:function LoadMoreSearchComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵtemplate"](1,LoadMoreSearchComponent_div_1_Template,4,5,"div",1),i["ɵɵtemplate"](2,LoadMoreSearchComponent_sf_search_2_Template,2,1,"sf-search",2),i["ɵɵelementStart"](3,"div",3),i["ɵɵtemplate"](4,LoadMoreSearchComponent_span_4_Template,2,1,"span",4),i["ɵɵtext"](5),i["ɵɵpipe"](6,"lowercase"),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.isLoadButtonVisible),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.isSearchVisible),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",t.currentItemsCount-1)return"continue";var a=t[i].AccessibleTypes.filter((function(t){var n=e.entities[t];return!(!n||!n.enabled)&&((!n.ignoreParentChildRelationship||!n.hasChildren)&&!(n.hasParent&&!n.ignoreParentChildRelationship))})).map((function(t){return e.entities[t]}));if(0===a.length)return"continue";var s=o.getGroup(i,a.length),l=n.find((function(e){return e.title===s}));l||(l={title:s,types:new Array},n.push(l)),a.forEach((function(e){l.types.push({url:e.setName,displayName:e.displayName})}))},o=this,i=0,a=Object.keys(t);i0,e.push(a),e.push(this.createField(i.FieldTypes.shortText,u.ADDRESS_FIELDS.CITY,this.getFieldValue(u.ADDRESS_FIELDS.CITY))),e.push(this.createField(i.FieldTypes.shortText,u.ADDRESS_FIELDS.ZIP,this.getFieldValue(u.ADDRESS_FIELDS.ZIP))),e.push(this.createField(i.FieldTypes.shortText,u.ADDRESS_FIELDS.STREET,this.getFieldValue(u.ADDRESS_FIELDS.STREET)))}return t.mapMode!==u.AddressFieldMode.MapOnly&&t.mapMode!==u.AddressFieldMode.Hybrid||(e.push(this.createField(i.FieldTypes.shortText,u.ADDRESS_FIELDS.LATITUDE,this.getFieldValue(u.ADDRESS_FIELDS.LATITUDE))),e.push(this.createField(i.FieldTypes.shortText,u.ADDRESS_FIELDS.LONGITUDE,this.getFieldValue(u.ADDRESS_FIELDS.LONGITUDE))),e.push(this.createField(i.FieldTypes.shortText,u.ADDRESS_FIELDS.MAP_ZOOM_LEVEL,this.getFieldValue(u.ADDRESS_FIELDS.MAP_ZOOM_LEVEL)))),e},AddressComponent.prototype.updateStatus=function(e){this.isAllFieldsValid(e)?this.emitStatus({type:m.StatusType.Done}):this.emitStatus({type:m.StatusType.Error})},AddressComponent.prototype.createDropDownField=function(e,t,n){void 0===n&&(n=[]);var o=c.ChoiceDropdownComponent.createFieldSettings(n);o.title=e,o.validators=this.settings.validators,o.readOnlyMode=this.settings.readOnlyMode;var r=new A.FieldModel({key:t,value:this.getFieldValue(t),settings:o,selector:i.FieldTypes.choiceDropDown,registration:d.CHOICE_DROPDOWN_REGISTRY});return this.settings.status&&(o.status=this.settings.status),this.settings.statusMessage&&(o.statusMessage=this.settings.statusMessage),r},AddressComponent.prototype.createField=function(e,t,n){var o=Object(l.createFieldModel)(this.fieldsProvider,this.settings.type,e,t,n,{},null,null,this.settings.readOnlyMode);return o.settings.validators=this.settings.validators,this.settings.status&&(o.settings.status=this.settings.status),this.settings.statusMessage&&(o.settings.statusMessage=this.settings.statusMessage),o},AddressComponent.prototype.getFieldValue=function(e){return this.value?this.value[e]:null},AddressComponent.prototype.getCountryStatesDropOptions=function(e){if(!e)return[];var t=this.countries.find((function(t){return t.isoCode===e})).states.map((function(e){return{Name:e.stateProvinceName,Value:e.abbreviation}}));return t.length>0&&t.unshift({Name:"- Select state -",Value:null}),t},AddressComponent.ɵfac=function AddressComponent_Factory(e){return new(e||AddressComponent)(E["ɵɵdirectiveInject"](s.CompositeFieldsProvider),E["ɵɵdirectiveInject"](f.CountryProvider))},AddressComponent.ɵcmp=E["ɵɵdefineComponent"]({type:AddressComponent,selectors:[["sf-address"]],viewQuery:function AddressComponent_Query(e,t){if(1&e&&E["ɵɵviewQuery"](h,3),2&e){var n;E["ɵɵqueryRefresh"](n=E["ɵɵloadQuery"]())&&(t.editableFields=n.first)}},features:[E["ɵɵInheritDefinitionFeature"]],decls:3,vars:2,consts:[[1,"-sf-txt-align-left",3,"fieldSections","shouldResetMirroring"],["editableFields",""]],template:function AddressComponent_Template(e,t){1&e&&(E["ɵɵelementStart"](0,"div"),E["ɵɵelement"](1,"sf-editable-fields",0,1),E["ɵɵelementEnd"]()),2&e&&(E["ɵɵadvance"](1),E["ɵɵproperty"]("fieldSections",t.fieldSections)("shouldResetMirroring",!1))},directives:[p.EditableFieldsComponent],encapsulation:2}),AddressComponent}(r.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"SF_COUNTRIES_ENDPOINT",(function(){return a})),n.d(t,"CountryProvider",(function(){return s}));var o=n(316),i=n(131),r=n(229),a="Default.SfCountries()",s=function(){function CountryProvider(e){this.service=e}return CountryProvider.prototype.getCountries=function(){return this.cachedCountries||(this.cachedCountries=this.service.executeUnboundFunction(""+a).pipe(Object(i.map)((function(e){return e.value.map((function(e){return{name:e.name,isoCode:e.isoCode,hasStates:e.hasStates,states:e.states}}))})))),this.cachedCountries},CountryProvider.ɵfac=function CountryProvider_Factory(e){return new(e||CountryProvider)(r["ɵɵinject"](o.DynamicItemService))},CountryProvider.ɵprov=r["ɵɵdefineInjectable"]({token:CountryProvider,factory:CountryProvider.ɵfac}),CountryProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MAP_MODE_PATH",(function(){return i})),n.d(t,"ADDRESS_FIELDS",(function(){return r})),n.d(t,"AddressFieldMode",(function(){return o}));var o,i="Org.OData.Core.V1.AddressFieldMode",r={CITY:"City",ZIP:"Zip",STREET:"Street",LATITUDE:"Latitude",LONGITUDE:"Longitude",MAP_ZOOM_LEVEL:"MapZoomLevel",COUNTRY:"Country",COUNTRY_CODE:"CountryCode",STATE:"State",STATE_CODE:"StateCode",ADDRESS:"Address"};!function(e){e[e.FormOnly=0]="FormOnly",e[e.MapOnly=1]="MapOnly",e[e.Hybrid=2]="Hybrid"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"UnlockRedirectComponent",(function(){return s}));var o=n(1171),i=n(260),r=n(229),a=n(1138),s=function(){function UnlockRedirectComponent(e,t,n){this.dynamicItemStore=e,this.route=t,this.router=n}return UnlockRedirectComponent.prototype.ngOnInit=function(){var e=this;this.route.data.subscribe((function(t){e.handleRedirect(t.itemData.item)}))},UnlockRedirectComponent.prototype.handleRedirect=function(e){var t=this;this.dynamicItemStore.unlockItem(e).subscribe((function(e){t.router.navigate(["../edit"],{relativeTo:t.route,queryParamsHandling:"preserve"})}))},UnlockRedirectComponent.ɵfac=function UnlockRedirectComponent_Factory(e){return new(e||UnlockRedirectComponent)(r["ɵɵdirectiveInject"](o.DynamicItemStore),r["ɵɵdirectiveInject"](i.ActivatedRoute),r["ɵɵdirectiveInject"](i.Router))},UnlockRedirectComponent.ɵcmp=r["ɵɵdefineComponent"]({type:UnlockRedirectComponent,selectors:[["ng-component"]],decls:1,vars:1,consts:[["look","progressbar overlay",3,"isLoading"]],template:function UnlockRedirectComponent_Template(e,t){1&e&&r["ɵɵelement"](0,"sf-loader-wrapper",0),2&e&&r["ɵɵproperty"]("isLoading",!0)},directives:[a.LoaderWrapperComponent],encapsulation:2}),UnlockRedirectComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TimeZonesComponent",(function(){return u})),n.d(t,"TIMEZONES_DROPDOWN_NAME",(function(){return m}));var o=n(259),i=n(1611),r=n(336),a=n(1142),s=n(1063),A=n(1138),l=n(131),c=n(11),d=n(229),p=n(261),f=n(354);function TimeZonesComponent_ng_container_0_Template(e,t){if(1&e){var n=d["ɵɵgetCurrentView"]();d["ɵɵelementContainerStart"](0),d["ɵɵelementStart"](1,"sf-dropdown-choice",2),d["ɵɵlistener"]("selectionChange",(function TimeZonesComponent_ng_container_0_Template_sf_dropdown_choice_selectionChange_1_listener(e){return d["ɵɵrestoreView"](n),d["ɵɵnextContext"]().writeValue(e)})),d["ɵɵelementEnd"](),d["ɵɵelementContainerEnd"]()}if(2&e){var o=d["ɵɵnextContext"]();d["ɵɵadvance"](1),d["ɵɵproperty"]("id",o.choicesSettings.key)("settings",o.choicesSettings)}}function TimeZonesComponent_ng_template_1_Template(e,t){1&e&&d["ɵɵelement"](0,"sf-loader")}var u=function(e){function TimeZonesComponent(t){var n=e.call(this)||this;return n.timeZonesProvider=t,n}return Object(o.__extends)(TimeZonesComponent,e),TimeZonesComponent.prototype.ngOnInit=function(){var e=this;this.registerSubscription(this.initializeComponent().subscribe((function(t){if(!t.isLoading){var n=t.content;e.choicesSettings=a.ChoiceDropdownComponent.createFieldSettings(e.options,n,m),e.isLoaded=!0}})))},TimeZonesComponent.prototype.writeValue=function(t){var n=this;void 0===this.firstValue&&(this.firstValue=t);var action=function(){return e.prototype.writeValue.call(n,t)},o=this.getValue();null===o&&null===this.firstValue?setTimeout(action):o!==t&&action()},TimeZonesComponent.prototype.initializeComponent=function(){var e=this;return this.timeZonesProvider.getTimeZones().pipe(Object(l.flatMap)((function(t){e.options=t.map((function(e){return{Name:e.name,Value:e.timeZoneId}}));var n=e.getValue();return n?Object(c.of)(n):e.timeZonesProvider.getDefaultTimeZone().pipe(Object(l.map)((function(e){return e.timeZoneId})),Object(l.tap)((function(t){return e.writeValue(t)})))})),Object(s.toLoadingState)(),Object(s.delayEmission)(A.MINIMUM_LOADER_TIME))},TimeZonesComponent.ɵfac=function TimeZonesComponent_Factory(e){return new(e||TimeZonesComponent)(d["ɵɵdirectiveInject"](i.TimeZonesProvider))},TimeZonesComponent.ɵcmp=d["ɵɵdefineComponent"]({type:TimeZonesComponent,selectors:[["sf-timezones"]],features:[d["ɵɵProvidersFeature"]([i.TimeZonesProvider]),d["ɵɵInheritDefinitionFeature"]],decls:3,vars:2,consts:[[4,"ngIf","ngIfElse"],["loading",""],[3,"id","settings","selectionChange"]],template:function TimeZonesComponent_Template(e,t){if(1&e&&(d["ɵɵtemplate"](0,TimeZonesComponent_ng_container_0_Template,2,2,"ng-container",0),d["ɵɵtemplate"](1,TimeZonesComponent_ng_template_1_Template,1,0,"ng-template",null,1,d["ɵɵtemplateRefExtractor"])),2&e){var n=d["ɵɵreference"](2);d["ɵɵproperty"]("ngIf",t.isLoaded)("ngIfElse",n)}},directives:[p.NgIf,a.ChoiceDropdownComponent,f.SfLoaderComponent],encapsulation:2}),TimeZonesComponent}(r.FieldBase),m="TIMEZONES_DROPDOWN"},function(e,t,n){"use strict";n.r(t),n.d(t,"TimeZonesProvider",(function(){return s})),n.d(t,"timeZonesRequestFunctionName",(function(){return A})),n.d(t,"defaultTimeZoneRequestFunctionName",(function(){return l}));var o=n(316),i=n(1139),r=n(131),a=n(229),s=function(){function TimeZonesProvider(e,t){this.siteData=e,this.service=t}return TimeZonesProvider.prototype.getTimeZones=function(){return this.service.executeUnboundFunction(A+"()").pipe(Object(r.map)((function(e){return e.value.map((function(e){return{name:e.name,timeZoneId:e.id}}))})))},TimeZonesProvider.prototype.getDefaultTimeZone=function(){var e=this;return this.siteData.getValue().pipe(Object(r.flatMap)((function(t){return e.service.executeUnboundFunction(l+"(siteId='"+t.Id+"')").pipe(Object(r.map)((function(e){return{name:e.name,timeZoneId:e.id}})))})))},TimeZonesProvider.ɵfac=function TimeZonesProvider_Factory(e){return new(e||TimeZonesProvider)(a["ɵɵinject"](i.SiteDataStore),a["ɵɵinject"](o.DynamicItemService))},TimeZonesProvider.ɵprov=a["ɵɵdefineInjectable"]({token:TimeZonesProvider,factory:TimeZonesProvider.ɵfac}),TimeZonesProvider}(),A="Default.SfTimeZones",l="Default.SfDefaultTimeZone"},function(e,t,n){"use strict";n.r(t),n.d(t,"DropdownSelectorComponent",(function(){return d}));var o=n(259),i=n(316),r=n(260),a=n(336),s=n(1142),A=n(262),l=n(353),c=n(229),d=function(e){function DropdownSelectorComponent(t,n){var o=e.call(this)||this;return o.dynamicItemService=t,o.route=n,o.choicesSettings=s.ChoiceDropdownComponent.createFieldSettings([],null,p),o}return Object(o.__extends)(DropdownSelectorComponent,e),DropdownSelectorComponent.prototype.ngOnInit=function(){var e=this;if(this.route.snapshot.data.itemData){var t=this.route.snapshot.data.itemData.entityData.metadata,n=this.route.parent.snapshot.data.metaStore.entities[t.parent];this.dynamicItemService.getItemList({entityData:{metadata:n,culture:this.settings.entityData.culture,provider:this.settings.entityData.provider},fallbackProperties:[n.defaultFieldName],order:n.defaultFieldName+" "+A.SORT_ORDER.ASCENDING}).subscribe((function(t){var o=e.settings.dataItem,i=t.dataItems,r=null,a=o.parentKey;a||(a=e.settings.defaultValue?e.settings.defaultValue:i.length>0?i[0].key:null);var A=i.find((function(e){return e.key===a}));A&&(e.selectedParentTitle=A.title,r=A.key);var c=i.map((function(e){return{Name:e.data[n.defaultFieldName],Value:e.key}}));e.choicesSettings=s.ChoiceDropdownComponent.createFieldSettings(c,r,p),e.writeValue(new l.AsyncFieldValue(r))}))}},DropdownSelectorComponent.ɵfac=function DropdownSelectorComponent_Factory(e){return new(e||DropdownSelectorComponent)(c["ɵɵdirectiveInject"](i.DynamicItemService),c["ɵɵdirectiveInject"](r.ActivatedRoute))},DropdownSelectorComponent.ɵcmp=c["ɵɵdefineComponent"]({type:DropdownSelectorComponent,selectors:[["sf-parent-dropdown-selector"]],features:[c["ɵɵInheritDefinitionFeature"]],decls:1,vars:2,consts:[[3,"id","settings","selectionChange"]],template:function DropdownSelectorComponent_Template(e,t){1&e&&(c["ɵɵelementStart"](0,"sf-dropdown-choice",0),c["ɵɵlistener"]("selectionChange",(function DropdownSelectorComponent_Template_sf_dropdown_choice_selectionChange_0_listener(e){return t.writeValue(e)})),c["ɵɵelementEnd"]()),2&e&&c["ɵɵproperty"]("id",t.choicesSettings.key)("settings",t.choicesSettings)},directives:[s.ChoiceDropdownComponent],encapsulation:2}),DropdownSelectorComponent}(a.FieldBase),p="PARENTS_DROPDOWN"},function(e,t,n){"use strict";n.r(t),n.d(t,"DropdownSelectorReadonlyComponent",(function(){return a}));var o=n(259),i=n(1612),r=n(229),a=function(e){function DropdownSelectorReadonlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(DropdownSelectorReadonlyComponent,e),DropdownSelectorReadonlyComponent.ɵfac=function DropdownSelectorReadonlyComponent_Factory(e){return s(e||DropdownSelectorReadonlyComponent)},DropdownSelectorReadonlyComponent.ɵcmp=r["ɵɵdefineComponent"]({type:DropdownSelectorReadonlyComponent,selectors:[["ng-component"]],features:[r["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,template:function DropdownSelectorReadonlyComponent_Template(e,t){1&e&&r["ɵɵtext"](0),2&e&&r["ɵɵtextInterpolate1"]("",t.selectedParentTitle,"\n")},encapsulation:2}),DropdownSelectorReadonlyComponent}(i.DropdownSelectorComponent),s=r["ɵɵgetInheritedFactory"](a)},function(e,t,n){"use strict";n.r(t),n.d(t,"TimeZonesReadonlyComponent",(function(){return l}));var o=n(259),i=n(1610),r=n(1611),a=n(229),s=n(261),A=n(354);function TimeZonesReadonlyComponent_ng_container_0_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtext"](1),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",n.selectedTimeZone,"\n")}}function TimeZonesReadonlyComponent_ng_template_1_Template(e,t){1&e&&a["ɵɵelement"](0,"sf-loader")}var l=function(e){function TimeZonesReadonlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TimeZonesReadonlyComponent,e),TimeZonesReadonlyComponent.prototype.ngOnInit=function(){var e=this;this.registerSubscription(this.initializeComponent().subscribe((function(t){if(!t.isLoading){var n=e.options.find((function(e){return e.Value===t.content}));e.selectedTimeZone=n.Name,e.isLoaded=!0}})))},TimeZonesReadonlyComponent.ɵfac=function TimeZonesReadonlyComponent_Factory(e){return c(e||TimeZonesReadonlyComponent)},TimeZonesReadonlyComponent.ɵcmp=a["ɵɵdefineComponent"]({type:TimeZonesReadonlyComponent,selectors:[["ng-component"]],features:[a["ɵɵProvidersFeature"]([r.TimeZonesProvider]),a["ɵɵInheritDefinitionFeature"]],decls:3,vars:2,consts:[[4,"ngIf","ngIfElse"],["loading",""]],template:function TimeZonesReadonlyComponent_Template(e,t){if(1&e&&(a["ɵɵtemplate"](0,TimeZonesReadonlyComponent_ng_container_0_Template,2,1,"ng-container",0),a["ɵɵtemplate"](1,TimeZonesReadonlyComponent_ng_template_1_Template,1,0,"ng-template",null,1,a["ɵɵtemplateRefExtractor"])),2&e){var n=a["ɵɵreference"](2);a["ɵɵproperty"]("ngIf",t.isLoaded)("ngIfElse",n)}},directives:[s.NgIf,A.SfLoaderComponent],encapsulation:2}),TimeZonesReadonlyComponent}(i.TimeZonesComponent),c=a["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"EventsTweaksHandler",(function(){return c})),n.d(t,"EVENTS_TWEAKS_HANDLER",(function(){return p}));var o=n(259),i=n(1166),r=n(351),a=n(350),s=n(256),A=n(229),l=[{sectionName:"MainSection",fields:[a.EVENT_PROPERTIES.EVENT_START,a.EVENT_PROPERTIES.EVENT_END,a.EVENT_PROPERTIES.ALL_DAY_EVENT],fieldType:r.FieldTypes.eventTimeCompositeField}],c=function(e){function EventsTweaksHandler(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(EventsTweaksHandler,e),EventsTweaksHandler.prototype.handleFormTweak=function(e,t,n){var o=l.find((function(e){return!!e.fields.find((function(e){return e===t}))}));if(o){var i=e.find((function(e){return e.settings.name===o.sectionName})),r=n.find((function(e){return e.selector===o.fieldType}));return i.fields.push(r),o.fields}return[]},EventsTweaksHandler.prototype.canProcess=function(e){return e===s.EVENT_ITEM_FULL_NAME},EventsTweaksHandler.ɵfac=function EventsTweaksHandler_Factory(e){return d(e||EventsTweaksHandler)},EventsTweaksHandler.ɵprov=A["ɵɵdefineInjectable"]({token:EventsTweaksHandler,factory:EventsTweaksHandler.ɵfac}),EventsTweaksHandler}(i.CustomTweaksHandler),d=A["ɵɵgetInheritedFactory"](c),p={provide:i.CustomTweaksHandler,useClass:c,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT_SELECTED_COLOR",(function(){return d})),n.d(t,"ColorPickerComponent",(function(){return p})),n.d(t,"ColorPickerSettings",(function(){return u})),n.d(t,"COLOR_PICKER_REGISTRY",(function(){return m}));var o=n(259),i=n(229),r=n(332),a=n(415),s=n(246),A=n(354),l=n(324),c=n(261);function ColorPickerComponent_div_6_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",6),i["ɵɵlistener"]("click",(function ColorPickerComponent_div_6_Template_div_click_0_listener(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().onColorClick(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;i["ɵɵstyleProp"]("background-color",o)}}var d="#DCECF5",p=function(e){function ColorPickerComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.selectionChange=new i.EventEmitter,t.palette=g,t}return Object(o.__extends)(ColorPickerComponent,e),ColorPickerComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.selectedColor=this.value||this.settings.defaultValue||d,this.inputSelectedColor=this.selectedColor},ColorPickerComponent.prototype.onColorClick=function(e){this.selectedColor=e,this.emitSelectedColor()},ColorPickerComponent.prototype.onInputFocus=function(e){e.stopImmediatePropagation()},ColorPickerComponent.prototype.onInputFocusout=function(){this.emitSelectedColor()},ColorPickerComponent.prototype.onInputChange=function(){var e=this.prependHexSymbol(this.inputSelectedColor);this.inputSelectedColor=e,this.setSelectedColor(e)},ColorPickerComponent.prototype.onButtonClick=function(e){this.inputSelectedColor=this.selectedColor},ColorPickerComponent.prototype.emitSelectedColor=function(){this.writeValue(this.selectedColor),this.selectionChange.emit(this.selectedColor)},ColorPickerComponent.prototype.prependHexSymbol=function(e){var t=e;return e[0]!==s.stringConstants.HASH&&(t=""+s.stringConstants.HASH+e),t},ColorPickerComponent.prototype.setSelectedColor=function(e){null!==e.match(/^#?([0-9a-fA-F]{3})([0-9a-fA-F]{3})?$/)&&(this.selectedColor=this.convertHex(e))},ColorPickerComponent.prototype.convertHex=function(e){var t=e;return e.length<7&&(t=s.stringConstants.HASH+t.split(s.stringConstants.EMPTY_STRING).map((function(e){if(e!==s.stringConstants.HASH)return e+e})).join(s.stringConstants.EMPTY_STRING)),t.toUpperCase()},ColorPickerComponent.ɵfac=function ColorPickerComponent_Factory(e){return f(e||ColorPickerComponent)},ColorPickerComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ColorPickerComponent,selectors:[["sf-color-picker"]],outputs:{selectionChange:"selectionChange"},features:[i["ɵɵInheritDefinitionFeature"]],decls:7,vars:4,consts:[["look","large left angled sf-pr-5xs no-hover no-focus-visible no-active","icon","caret-down","iconLook","size-m",3,"dropdown","onClick"],["look","sf-m-4xs size-l square",3,"color"],["dropdown","",1,"sf-dropdown","-color-picker"],["minlength","4","maxlength","7","look","inline sf-mb-4xs","data-sftest","sf-color-picker-input",3,"ngModel","click","onBlur","ngModelChange","onInput"],[1,"sf-color-palette"],["class","sf-color-palette__item",3,"backgroundColor","click",4,"ngFor","ngForOf"],[1,"sf-color-palette__item",3,"click"]],template:function ColorPickerComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"sf-button",0),i["ɵɵlistener"]("onClick",(function ColorPickerComponent_Template_sf_button_onClick_0_listener(e){return t.onButtonClick(e)})),i["ɵɵelement"](1,"sf-badge",1),i["ɵɵelementStart"](2,"div",2),i["ɵɵelementStart"](3,"div"),i["ɵɵelementStart"](4,"sf-input",3),i["ɵɵlistener"]("click",(function ColorPickerComponent_Template_sf_input_click_4_listener(e){return t.onInputFocus(e)}))("onBlur",(function ColorPickerComponent_Template_sf_input_onBlur_4_listener(){return t.onInputFocusout()}))("ngModelChange",(function ColorPickerComponent_Template_sf_input_ngModelChange_4_listener(e){return t.inputSelectedColor=e}))("onInput",(function ColorPickerComponent_Template_sf_input_onInput_4_listener(){return t.onInputChange()})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"div",4),i["ɵɵtemplate"](6,ColorPickerComponent_div_6_Template,1,2,"div",5),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵproperty"]("dropdown",!0),i["ɵɵadvance"](1),i["ɵɵproperty"]("color",t.selectedColor),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngModel",t.inputSelectedColor),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",t.palette))},directives:[A.SfButtonComponent,A.SfBadgeComponent,A.SfInputComponent,l.MinLengthValidator,l.MaxLengthValidator,l.NgControlStatus,l.NgModel,c.NgForOf],styles:[".sf-color-palette[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n}\n.sf-color-palette__item[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n}\n.sf-color-palette__item[_ngcontent-%COMP%]:nth-child(11n) {\n border-right: 1px solid #eee;\n width: 21px;\n}\n.sf-color-palette__item[_ngcontent-%COMP%]:nth-child(11) {\n border-top: 1px solid #eee;\n}"]}),ColorPickerComponent}(a.FieldBase),f=i["ɵɵgetInheritedFactory"](p),u=function(e){function ColorPickerSettings(){var t=null!==e&&e.apply(this,arguments)||this;return t.markAsDirty=!0,t.defaultValue=d,t.useDefaultValue=!0,t}return Object(o.__extends)(ColorPickerSettings,e),ColorPickerSettings}(r.SettingsBase),m={writeComponent:p,readComponent:p,settingsType:u},g=["#FFADAD","#FFA4E1","#F59AFF","#8BF4FF","#92FFFB","#9EFFC9","#FFFFAE","#FFEB8D","#E4CFC5","#DCECF5","#FFFFFF","#FF7A7B","#FF71AD","#C267DC","#57C1FF","#5FD0C8","#6BDE96","#FFFF7B","#FFB85A","#B19D92","#A9B9C2","#cccccc","#FF4848","#DC3E7B","#8F34A9","#238EFC","#2C9D95","#38AB63","#FFE048","#ED8527","#7E6A5F","#76868F","#000000"]},function(e,t,n){"use strict";n.r(t),n.d(t,"EventsMetadataHandler",(function(){return c})),n.d(t,"EVENTS_METADATA_HANDLER",(function(){return d}));var o=n(259),i=n(381),r=n(351),a=n(378),s=n(350),A=n(256),l=n(229),c=function(e){function EventsMetadataHandler(t){var n=e.call(this,t)||this;return n.fieldsProvider=t,n.fieldGroups=s.FIELD_GROUPS,n}return Object(o.__extends)(EventsMetadataHandler,e),EventsMetadataHandler.prototype.getFieldType=function(e,t,n,o){if(this.isCalendarDropdown(o,e))return r.FieldTypes.parentDropdownSelector;if(o===s.EVENT_PROPERTIES.RECURRENCE_EXPRESSION)return r.FieldTypes.recurringEvent;if(o===s.CALENDAR_PROPERTIES.COLOR)return r.FieldTypes.color;var i=s.NON_DEFAULT_PROPERTY_MAPPINGS[o];return i||null},EventsMetadataHandler.prototype.canProcess=function(e){return e===A.EVENT_ITEM_FULL_NAME||e===A.CALENDAR_ITEM_FULL_NAME},EventsMetadataHandler.prototype.updateInnerFieldsSettings=function(e,t,n){Object.keys(e).forEach((function(o){var i=e[o].settings;o===s.EVENT_PROPERTIES.ALL_DAY_EVENT?(i.showTitle=!1,i.showForAllTranslationsLabel=!1):i.showForAllTranslationsLabel=!0;var r=t.find((function(e){return e.name===o})).readonly;i.readOnlyMode=n||r}))},EventsMetadataHandler.prototype.updateAdditionalSettings=function(e,t,n){e===s.EVENT_PROPERTIES.EVENT_START&&(n.value=null)},EventsMetadataHandler.prototype.isCalendarDropdown=function(e,t){return!!this.hasIgnoreParentChildRelationship(t)&&e===s.EVENT_PROPERTIES.PARENT_ID},EventsMetadataHandler.prototype.hasIgnoreParentChildRelationship=function(e){return e.ignoreParentChildRelationship},EventsMetadataHandler.ɵfac=function EventsMetadataHandler_Factory(e){return new(e||EventsMetadataHandler)(l["ɵɵinject"](a.CompositeFieldsProvider))},EventsMetadataHandler.ɵprov=l["ɵɵdefineInjectable"]({token:EventsMetadataHandler,factory:EventsMetadataHandler.ɵfac}),EventsMetadataHandler}(i.MetadataHandler),d={provide:i.MetadataHandler,useClass:c,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"SiteSyncItemInfoComponent",(function(){return E})),n.d(t,"SiteSyncSettings",(function(){return h})),n.d(t,"SITE_SYNC_FIELDREGISTRATION",(function(){return b}));var o=n(259),i=n(260),r=n(1118),a=n(316),s=n(1531),A=n(1063),l=n(336),c=n(332),d=n(11),p=n(131),f=n(1142),u=n(246),m=n(1532),g=n(229);function SiteSyncItemInfoComponent_ng_container_1_ng_container_1_Template(e,t){1&e&&g["ɵɵelementContainer"](0)}var _c0=function(e){return{targetServers:e}};function SiteSyncItemInfoComponent_ng_container_1_Template(e,t){if(1&e&&(g["ɵɵelementContainerStart"](0),g["ɵɵtemplate"](1,SiteSyncItemInfoComponent_ng_container_1_ng_container_1_Template,1,0,"ng-container",8),g["ɵɵelementContainerEnd"]()),2&e){var n=g["ɵɵnextContext"](),o=g["ɵɵreference"](8),i=g["ɵɵreference"](10);g["ɵɵadvance"](1),g["ɵɵproperty"]("ngTemplateOutlet",1===n.targetServers.length?o:i)("ngTemplateOutletContext",g["ɵɵpureFunction1"](2,_c0,n.targetServers))}}function SiteSyncItemInfoComponent_ng_container_3_Template(e,t){if(1&e&&(g["ɵɵelementContainerStart"](0),g["ɵɵelement"](1,"span",9),g["ɵɵpipe"](2,"sfHtmlEscape"),g["ɵɵelement"](3,"br"),g["ɵɵelementContainerEnd"]()),2&e){var n=g["ɵɵnextContext"]();g["ɵɵadvance"](1),g["ɵɵproperty"]("innerHTML",n.settings.allowHtml?n.additionalDescription:g["ɵɵpipeBind1"](2,1,n.additionalDescription),g["ɵɵsanitizeHtml"])}}function SiteSyncItemInfoComponent_ng_container_4_span_1_Template(e,t){if(1&e){var n=g["ɵɵgetCurrentView"]();g["ɵɵelementStart"](0,"span",11),g["ɵɵelementStart"](1,"a",12),g["ɵɵlistener"]("click",(function SiteSyncItemInfoComponent_ng_container_4_span_1_Template_a_click_1_listener(){return g["ɵɵrestoreView"](n),g["ɵɵnextContext"](2).onDialogOpen()})),g["ɵɵtext"](2),g["ɵɵelementEnd"](),g["ɵɵelementStart"](3,"span"),g["ɵɵtext"](4),g["ɵɵelementEnd"](),g["ɵɵelementEnd"]()}if(2&e){var o=g["ɵɵnextContext"](2);g["ɵɵadvance"](2),g["ɵɵtextInterpolate"](o.dependenciesCountText),g["ɵɵadvance"](2),g["ɵɵtextInterpolate1"](", related to this ",o.itemTypeName,", will be synced as well.")}}function SiteSyncItemInfoComponent_ng_container_4_Template(e,t){if(1&e&&(g["ɵɵelementContainerStart"](0),g["ɵɵtemplate"](1,SiteSyncItemInfoComponent_ng_container_4_span_1_Template,5,2,"span",10),g["ɵɵelementContainerEnd"]()),2&e){var n=g["ɵɵnextContext"](),o=g["ɵɵreference"](12);g["ɵɵadvance"](1),g["ɵɵproperty"]("ngIf",n.dependenciesTotalCount>0)("ngIfElse",o)}}function SiteSyncItemInfoComponent_ng_template_5_Template(e,t){1&e&&(g["ɵɵelementStart"](0,"span",13),g["ɵɵelementStart"](1,"span",14),g["ɵɵtext"](2,"Checking dependencies..."),g["ɵɵelementEnd"](),g["ɵɵelement"](3,"sf-loader",15),g["ɵɵelementEnd"]())}function SiteSyncItemInfoComponent_ng_template_7_Template(e,t){if(1&e&&(g["ɵɵelementStart"](0,"a",16),g["ɵɵtext"](1),g["ɵɵelementEnd"]()),2&e){var n=t.targetServers;g["ɵɵpropertyInterpolate"]("href",n[0].Name,g["ɵɵsanitizeUrl"]),g["ɵɵadvance"](1),g["ɵɵtextInterpolate"](n[0].Name)}}function SiteSyncItemInfoComponent_ng_template_9_Template(e,t){if(1&e){var n=g["ɵɵgetCurrentView"]();g["ɵɵelementStart"](0,"sf-dropdown-choice",17),g["ɵɵlistener"]("selectionChange",(function SiteSyncItemInfoComponent_ng_template_9_Template_sf_dropdown_choice_selectionChange_0_listener(e){return g["ɵɵrestoreView"](n),g["ɵɵnextContext"]().onTargetServerChange(e)})),g["ɵɵelementEnd"]()}if(2&e){var o=g["ɵɵnextContext"]();g["ɵɵproperty"]("settings",o.targetServersDropDownSettings)}}function SiteSyncItemInfoComponent_ng_template_11_Template(e,t){1&e&&(g["ɵɵelementStart"](0,"span",18),g["ɵɵtext"](1,"PREVENT_TWITCHING_WHEN_NO_ITEMS_ARE_AVAILABLE"),g["ɵɵelementEnd"]())}var E=function(e){function SiteSyncItemInfoComponent(t,n,o){var i=e.call(this)||this;return i.modalService=t,i.route=n,i.itemService=o,i.targetSiteId$=new d.ReplaySubject(1),i.isLoading=!1,i.dependenciesTotalCount=0,i.targetServers=[],i.targetSiteId=u.stringConstants.EMPTY_STRING,i.dependenciesCountText=u.stringConstants.EMPTY_STRING,i}return Object(o.__extends)(SiteSyncItemInfoComponent,e),SiteSyncItemInfoComponent.prototype.ngOnInit=function(){var e=this,t=this.tryParseJSON(this.getValue());t&&(this.targetServers=t.TargetServers.map((function(e){return{Name:m.UrlHelper.removeProtocol(e.ServerAddress),Value:e.ServerId}})),this.targetServersDropDownSettings=f.ChoiceDropdownComponent.createFieldSettings(this.targetServers,null,null,"inline sf-mt-4xs"),this.targetSiteId=this.targetServers[0].Value,this.additionalDescription=t.AdditionalDescription,this.settings.dataItem&&(this.itemTypeName=t.TypeNameTitle,this.syncDependenciesCountSubscription=this.targetSiteId$.pipe(Object(p.startWith)(this.targetSiteId)).subscribe((function(t){e.targetSiteId=t,e.getDependantItemsCount(t)})),this.registerSubscription(this.syncDependenciesCountSubscription)))},SiteSyncItemInfoComponent.prototype.onDialogOpen=function(){var e=new d.BehaviorSubject(this.dependenciesTotalCount),t={type:s.ModalListComponent,properties:{contentLook:"medium",actionTitle:"Related items that will be synced",action:"Default.GetSyncDependencies(targetSiteId='"+this.targetSiteId+"')",element:this,dataItem:this.settings.dataItem,count:e,treeConfig:{description:!0,noSelection:!0},template:null,openItemEdit:!1}},n=new r.DialogData(t,(function(e){}),[],null,"-bottom");this.modalService.setMapping(n,"syncDependencies"),this.modalService.open(this.route,"syncDependencies")},SiteSyncItemInfoComponent.prototype.getDependantItemsCount=function(e){var t=this;void 0===e&&(e=u.stringConstants.EMPTY_STRING),this.isLoading=!0;var n=this.itemService.executeBoundFunction(this.settings.dataItem,("Default.GetSyncDependencies(targetSiteId='"+e+"')").toLowerCase()).pipe(Object(A.toLoadingState)(),Object(A.delayEmission)(700)).subscribe((function(e){e&&e.content&&(t.dependenciesTotalCount=e.content.value.length,t.dependenciesCountText=t.computeDependenciesCountText(t.dependenciesTotalCount),t.isLoading=!1)}));this.registerSubscription(n)},SiteSyncItemInfoComponent.prototype.onTargetServerChange=function(e){e&&this.targetSiteId$.next(e)},SiteSyncItemInfoComponent.prototype.computeDependenciesCountText=function(e){return 1===e?e+" updated item":e>1?e+" updated items":u.stringConstants.EMPTY_STRING},SiteSyncItemInfoComponent.prototype.tryParseJSON=function(e){var t=!1;try{t=JSON.parse(e)}catch(e){return!1}return t},SiteSyncItemInfoComponent.ɵfac=function SiteSyncItemInfoComponent_Factory(e){return new(e||SiteSyncItemInfoComponent)(g["ɵɵdirectiveInject"](r.ModalWindowService),g["ɵɵdirectiveInject"](i.ActivatedRoute),g["ɵɵdirectiveInject"](a.DynamicItemService))},SiteSyncItemInfoComponent.ɵcmp=g["ɵɵdefineComponent"]({type:SiteSyncItemInfoComponent,selectors:[["sf-site-sync-item-info"]],features:[g["ɵɵInheritDefinitionFeature"]],decls:13,vars:4,consts:[[1,"-sf-mt--m"],[4,"ngIf"],[1,"-sf-mt-m"],[4,"ngIf","ngIfElse"],["loading",""],["singleServer",""],["multipleServers",""],["dummy",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"],["data-sftest","syncDependencies",4,"ngIf","ngIfElse"],["data-sftest","syncDependencies"],["data-sftest","syncDependenciesCount",3,"click"],["data-sftest","syncDependenciesLoading"],[1,"-sf-txt-base","-sf-txt-hint","-sf-mr-3xs"],["look","inline"],[3,"href"],[3,"settings","selectionChange"],[1,"-sf-invisible"]],template:function SiteSyncItemInfoComponent_Template(e,t){if(1&e&&(g["ɵɵelementStart"](0,"div",0),g["ɵɵtemplate"](1,SiteSyncItemInfoComponent_ng_container_1_Template,2,4,"ng-container",1),g["ɵɵelementStart"](2,"div",2),g["ɵɵtemplate"](3,SiteSyncItemInfoComponent_ng_container_3_Template,4,3,"ng-container",1),g["ɵɵtemplate"](4,SiteSyncItemInfoComponent_ng_container_4_Template,2,2,"ng-container",3),g["ɵɵelementEnd"](),g["ɵɵelementEnd"](),g["ɵɵtemplate"](5,SiteSyncItemInfoComponent_ng_template_5_Template,4,0,"ng-template",null,4,g["ɵɵtemplateRefExtractor"]),g["ɵɵtemplate"](7,SiteSyncItemInfoComponent_ng_template_7_Template,2,2,"ng-template",null,5,g["ɵɵtemplateRefExtractor"]),g["ɵɵtemplate"](9,SiteSyncItemInfoComponent_ng_template_9_Template,1,1,"ng-template",null,6,g["ɵɵtemplateRefExtractor"]),g["ɵɵtemplate"](11,SiteSyncItemInfoComponent_ng_template_11_Template,2,0,"ng-template",null,7,g["ɵɵtemplateRefExtractor"])),2&e){var n=g["ɵɵreference"](6);g["ɵɵadvance"](1),g["ɵɵproperty"]("ngIf",t.targetServers.length>0),g["ɵɵadvance"](2),g["ɵɵproperty"]("ngIf",t.additionalDescription),g["ɵɵadvance"](1),g["ɵɵproperty"]("ngIf",t.settings.dataItem&&!t.isLoading)("ngIfElse",t.settings.dataItem&&n)}},encapsulation:2}),SiteSyncItemInfoComponent}(l.FieldBase),h=function(e){function SiteSyncSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(SiteSyncSettings,e),SiteSyncSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.dataItem=t.dataItem,this.allowHtml=!0},SiteSyncSettings}(c.SettingsBase),b={writeComponent:E,readComponent:E,settingsType:h}},function(e,t,n){"use strict";n.r(t),n.d(t,"UserPreferencesComponent",(function(){return B}));var o=n(259),i=n(1120),r=n(351),a=n(266),s=n(378),A=n(1171),l=n(1063),c=n(131),d=n(1620),p=n(1138),f=n(264),u=n(229);function UserPreferencesComponent_div_2_div_2_Template(e,t){if(1&e){var n=u["ɵɵgetCurrentView"]();u["ɵɵelementStart"](0,"div"),u["ɵɵelementStart"](1,"sf-form-field-wrapper",4,5),u["ɵɵlistener"]("ngModelChange",(function UserPreferencesComponent_div_2_div_2_Template_sf_form_field_wrapper_ngModelChange_1_listener(e){u["ɵɵrestoreView"](n);var o=t.$implicit,i=u["ɵɵreference"](2);return u["ɵɵnextContext"](2).onChange(e,o.key,i)})),u["ɵɵelementEnd"](),u["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;u["ɵɵclassMapInterpolate1"]("-",o.selector,""),u["ɵɵadvance"](1),u["ɵɵproperty"]("fieldModel",o)("look","input"===o.settings.displayMode?"filter small":"")("ngModel",o.value)}}function UserPreferencesComponent_div_2_Template(e,t){if(1&e&&(u["ɵɵelementStart"](0,"div"),u["ɵɵelementStart"](1,"sf-field-section",2),u["ɵɵtemplate"](2,UserPreferencesComponent_div_2_div_2_Template,3,6,"div",3),u["ɵɵelementEnd"](),u["ɵɵelementEnd"]()),2&e){var n=t.$implicit;u["ɵɵadvance"](1),u["ɵɵproperty"]("section",n),u["ɵɵattribute"]("data-sftest-title",n.settings.title),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngForOf",n.fields)}}var m={ONBOARDING_TIPS:"onboardingTips",STAY_AFTER_PUBLISH:"stayAfterPublish",OUTLINE:"outline",CONTRAST:"contrast",QUICK_CREATE:"quickCreate"},g="Onboarding tips",E="Stay on the same page after Publish",h="Outline elements when navigating with keyboard",b="Increase contrast",C="Use quick create for Pages, Libraries and Classifications",B=function(e){function UserPreferencesComponent(t,n,o){var i=e.call(this)||this;return i.fieldsProvider=t,i.dynamicItemStore=n,i.userPreferencesService=o,i}return Object(o.__extends)(UserPreferencesComponent,e),UserPreferencesComponent.prototype.ngOnInit=function(){this.initialize()},UserPreferencesComponent.prototype.onChange=function(e,t,n){var o=this,i=this.dynamicItemStore.service.executeUnboundFunction("Default.SetPreference(key='"+t+"',value='"+e+"')").pipe(Object(l.toLoadingState)(),Object(l.delayEmission)(p.MINIMUM_LOADER_TIME),Object(c.map)((function(e){return e.isLoading})),Object(c.tap)((function(i){if(!i){if(n.writeValue(e),t===m.ONBOARDING_TIPS){var r=new Event("reset-tooltip-service");window.dispatchEvent(r)}t!==m.OUTLINE&&t!==m.CONTRAST||o.userPreferencesService.checkAccessibility()}}))).subscribe();this.registerSubscription(i)},UserPreferencesComponent.prototype.initialize=function(){var e=this,t=this.getPreferenceKeys();this.dynamicItemStore.service.executeUnboundFunction("Default.GetPreference(keys=["+t+"])").subscribe((function(t){var n=JSON.parse(t.value);e.onboarding="true"===n[m.ONBOARDING_TIPS].toLowerCase(),e.stayAfterPublish="true"===n[m.STAY_AFTER_PUBLISH].toLowerCase(),e.outline="true"===n[m.OUTLINE].toLowerCase(),e.contrast="true"===n[m.CONTRAST].toLowerCase(),e.quickCreate="true"===n[m.QUICK_CREATE].toLowerCase(),e.initSections()}))},UserPreferencesComponent.prototype.initSections=function(){var e=this.getGeneralSection(),t=this.getAccessibilitySection();this.fieldsSections=[e,t]},UserPreferencesComponent.prototype.getGeneralSection=function(){var e=[Object(a.createFieldModel)(this.fieldsProvider,null,r.FieldTypes.switch,m.ONBOARDING_TIPS,this.onboarding,null,g),Object(a.createFieldModel)(this.fieldsProvider,null,r.FieldTypes.switch,m.STAY_AFTER_PUBLISH,this.stayAfterPublish,null,E),Object(a.createFieldModel)(this.fieldsProvider,null,r.FieldTypes.switch,m.QUICK_CREATE,this.quickCreate,null,C)],t=new i.FieldSectionModel({isMain:!1,isExpanded:!0,insertHorizontalRule:!0,title:"General settings",name:"GeneralSettings"});return t.fields=e,t},UserPreferencesComponent.prototype.getAccessibilitySection=function(){var e=[Object(a.createFieldModel)(this.fieldsProvider,null,r.FieldTypes.switch,m.OUTLINE,this.outline,null,h),Object(a.createFieldModel)(this.fieldsProvider,null,r.FieldTypes.switch,m.CONTRAST,this.contrast,null,b)],t=new i.FieldSectionModel({isMain:!1,isExpanded:!1,insertHorizontalRule:!0,title:"Accessibility",name:"Accessibility"});return t.fields=e,t},UserPreferencesComponent.prototype.getPreferenceKeys=function(){var e=[];return Object.keys(m).forEach((function(t){e.push("'"+m[t]+"'")})),e.join(",")},UserPreferencesComponent.ɵfac=function UserPreferencesComponent_Factory(e){return new(e||UserPreferencesComponent)(u["ɵɵdirectiveInject"](s.CompositeFieldsProvider),u["ɵɵdirectiveInject"](A.DynamicItemStore),u["ɵɵdirectiveInject"](d.UserPreferencesService))},UserPreferencesComponent.ɵcmp=u["ɵɵdefineComponent"]({type:UserPreferencesComponent,selectors:[["sf-user-preferences"]],features:[u["ɵɵInheritDefinitionFeature"]],decls:3,vars:1,consts:[[1,"sf-form","-medium","-sf-centered-box","-sf-pb-zero","-sf-pt-zero","-sf-mb--m","-sf-txt-align-left"],[4,"ngFor","ngForOf"],[3,"section"],[3,"class",4,"ngFor","ngForOf"],[3,"fieldModel","look","ngModel","ngModelChange"],["formFieldWrapper",""]],template:function UserPreferencesComponent_Template(e,t){1&e&&(u["ɵɵelementStart"](0,"div",0),u["ɵɵelement"](1,"hr"),u["ɵɵtemplate"](2,UserPreferencesComponent_div_2_Template,3,3,"div",1),u["ɵɵelementEnd"]()),2&e&&(u["ɵɵadvance"](2),u["ɵɵproperty"]("ngForOf",t.fieldsSections))},encapsulation:2}),UserPreferencesComponent}(f.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"UserPreferencesService",(function(){return s}));var o=n(229),i=n(1171),r=n(244),a=n(1203),s=function(){function UserPreferencesService(e,t,n,o){this.dynamicItemStore=e,this.windowProvider=n,this.keyboardShortcutsService=o,this.renderer=t.createRenderer(null,null)}return UserPreferencesService.prototype.checkAccessibility=function(){var e=this;this.dynamicItemStore.service.executeUnboundFunction("Default.GetPreference(keys=['outline','contrast'])").subscribe((function(t){var n=JSON.parse(t.value),o="true"===n.outline.toLowerCase(),i="true"===n.contrast.toLowerCase();o?e.renderer.addClass(e.windowProvider.document.body,"-sf-outline"):e.windowProvider.document.body.classList.contains("-sf-outline")&&e.renderer.removeClass(e.windowProvider.document.body,"-sf-outline"),i?e.renderer.addClass(e.windowProvider.document.body,"-sf-contrast"):e.windowProvider.document.body.classList.contains("-sf-contrast")&&e.renderer.removeClass(e.windowProvider.document.body,"-sf-contrast"),e.keyboardShortcutsService.init()}))},UserPreferencesService.ɵfac=function UserPreferencesService_Factory(e){return new(e||UserPreferencesService)(o["ɵɵinject"](i.DynamicItemStore),o["ɵɵinject"](o.RendererFactory2),o["ɵɵinject"](r.WINDOW_TOKEN),o["ɵɵinject"](a.KeyboardShortcutsService))},UserPreferencesService.ɵprov=o["ɵɵdefineInjectable"]({token:UserPreferencesService,factory:UserPreferencesService.ɵfac}),UserPreferencesService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"AddressGridComponent",(function(){return A}));var o=n(259),i=n(1608),r=n(336),a=n(229),s=n(261);function AddressGridComponent_ng_container_0_span_4_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"span"),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.street)}}function AddressGridComponent_ng_container_0_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelementStart"](1,"span"),a["ɵɵtext"](2),a["ɵɵelementEnd"](),a["ɵɵelement"](3,"br"),a["ɵɵtemplate"](4,AddressGridComponent_ng_container_0_span_4_Template,2,1,"span",0),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](2),a["ɵɵtextInterpolate2"]("",n.city," ",n.country,""),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",n.street)}}var A=function(e){function AddressGridComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(AddressGridComponent,e),AddressGridComponent.prototype.ngAfterViewInit=function(){this.city=this.getFieldValue(i.ADDRESS_FIELDS.CITY),this.country=this.getFieldValue(i.ADDRESS_FIELDS.COUNTRY_CODE),this.street=this.getFieldValue(i.ADDRESS_FIELDS.STREET)},AddressGridComponent.prototype.getFieldValue=function(e){return this.value?this.value[e]:null},AddressGridComponent.ɵfac=function AddressGridComponent_Factory(e){return l(e||AddressGridComponent)},AddressGridComponent.ɵcmp=a["ɵɵdefineComponent"]({type:AddressGridComponent,selectors:[["sf-address"]],features:[a["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[[4,"ngIf"]],template:function AddressGridComponent_Template(e,t){1&e&&a["ɵɵtemplate"](0,AddressGridComponent_ng_container_0_Template,5,3,"ng-container",0),2&e&&a["ɵɵproperty"]("ngIf",t.country)},directives:[s.NgIf],encapsulation:2}),AddressGridComponent}(r.FieldBase),l=a["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"DELETE_COMMAND_EXTENDER_TOKEN",(function(){return i})),n.d(t,"CompositeDeleteCommandExtender",(function(){return r}));var o=n(229),i=new o.InjectionToken("bulk_operations_extender_token"),r=function(){function CompositeDeleteCommandExtender(e){this.deleteCommandExtenders=e}return CompositeDeleteCommandExtender.prototype.showMultilingualButtons=function(e){return this.getExtender(e.entityData).showMultilingualButtons(e)},CompositeDeleteCommandExtender.prototype.permanentDelete=function(e){return this.getExtender(e.entityData).permanentDelete(e)},CompositeDeleteCommandExtender.prototype.getTitle=function(e){return this.getExtender(e.entityData).getTitle(e)},CompositeDeleteCommandExtender.prototype.getDisplayName=function(e){return this.getExtender(e.entityData).getDisplayName(e)},CompositeDeleteCommandExtender.prototype.getExtender=function(e){return this.deleteCommandExtenders.find((function(t){return e&&t.isSupportedType(e)}))},CompositeDeleteCommandExtender.ɵfac=function CompositeDeleteCommandExtender_Factory(e){return new(e||CompositeDeleteCommandExtender)(o["ɵɵinject"](i,8))},CompositeDeleteCommandExtender.ɵprov=o["ɵɵdefineInjectable"]({token:CompositeDeleteCommandExtender,factory:CompositeDeleteCommandExtender.ɵfac}),CompositeDeleteCommandExtender}()},function(e,t,n){"use strict";n.r(t),n.d(t,"StructureUrlNameComponent",(function(){return h}));var o=n(259),i=n(131),r=n(336),a=n(1624),s=n(266),A=n(246),l=n(1126),c=n(352),d=n(338),p=n(244),f=n(11),u=n(229),m=n(354),g=n(261),E=n(324);function StructureUrlNameComponent_span_1_Template(e,t){if(1&e&&(u["ɵɵelementStart"](0,"span",6),u["ɵɵtext"](1),u["ɵɵpipe"](2,"async"),u["ɵɵelementEnd"]()),2&e){var n=u["ɵɵnextContext"]();u["ɵɵadvance"](1),u["ɵɵtextInterpolate"](u["ɵɵpipeBind1"](2,1,n.parentUrlPath$))}}function StructureUrlNameComponent_sf_input_2_Template(e,t){if(1&e){var n=u["ɵɵgetCurrentView"]();u["ɵɵelementStart"](0,"sf-input",7,8),u["ɵɵlistener"]("ngModelChange",(function StructureUrlNameComponent_sf_input_2_Template_sf_input_ngModelChange_0_listener(e){return u["ɵɵrestoreView"](n),u["ɵɵnextContext"]().value=e})),u["ɵɵelementEnd"]()}if(2&e){var o=u["ɵɵnextContext"]();u["ɵɵproperty"]("ngModel",o.value),u["ɵɵattribute"]("class",o.isCustomStructure?"-sf-width-9":"-sf-width-6")}}function StructureUrlNameComponent_sf_button_3_ng_container_1_Template(e,t){1&e&&(u["ɵɵelementContainerStart"](0),u["ɵɵtext"](1," Edit structure "),u["ɵɵelementContainerEnd"]())}function StructureUrlNameComponent_sf_button_3_ng_container_2_Template(e,t){1&e&&(u["ɵɵelementContainerStart"](0),u["ɵɵtext"](1," Restore structure "),u["ɵɵelementContainerEnd"]())}function StructureUrlNameComponent_sf_button_3_Template(e,t){if(1&e){var n=u["ɵɵgetCurrentView"]();u["ɵɵelementStart"](0,"sf-button",9),u["ɵɵlistener"]("onClick",(function StructureUrlNameComponent_sf_button_3_Template_sf_button_onClick_0_listener(){return u["ɵɵrestoreView"](n),u["ɵɵnextContext"]().onEditStructureClick()})),u["ɵɵtemplate"](1,StructureUrlNameComponent_sf_button_3_ng_container_1_Template,2,0,"ng-container",4),u["ɵɵtemplate"](2,StructureUrlNameComponent_sf_button_3_ng_container_2_Template,2,0,"ng-container",4),u["ɵɵelementEnd"]()}if(2&e){var o=u["ɵɵnextContext"]();u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",!o.isCustomStructure),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",o.isCustomStructure)}}function StructureUrlNameComponent_ng_container_4_span_3_Template(e,t){if(1&e&&(u["ɵɵelementStart"](0,"span",6),u["ɵɵtext"](1),u["ɵɵelementEnd"]()),2&e){var n=u["ɵɵnextContext"](2);u["ɵɵadvance"](1),u["ɵɵtextInterpolate"](n.extension)}}function StructureUrlNameComponent_ng_container_4_sf_button_4_Template(e,t){if(1&e){var n=u["ɵɵgetCurrentView"]();u["ɵɵelementStart"](0,"sf-button",13),u["ɵɵlistener"]("onClick",(function StructureUrlNameComponent_ng_container_4_sf_button_4_Template_sf_button_onClick_0_listener(){return u["ɵɵrestoreView"](n),u["ɵɵnextContext"](2).toggleEditableField()})),u["ɵɵelementEnd"]()}}function StructureUrlNameComponent_ng_container_4_span_5_Template(e,t){1&e&&(u["ɵɵelementStart"](0,"span",14),u["ɵɵtext"](1,"(Custom URL)"),u["ɵɵelementEnd"]())}var _c0=function(e){return{"-sf-highlighted -on-hover":e}};function StructureUrlNameComponent_ng_container_4_Template(e,t){if(1&e&&(u["ɵɵelementContainerStart"](0),u["ɵɵelementStart"](1,"span",10),u["ɵɵtext"](2),u["ɵɵelementEnd"](),u["ɵɵtemplate"](3,StructureUrlNameComponent_ng_container_4_span_3_Template,2,1,"span",1),u["ɵɵtemplate"](4,StructureUrlNameComponent_ng_container_4_sf_button_4_Template,1,0,"sf-button",11),u["ɵɵtemplate"](5,StructureUrlNameComponent_ng_container_4_span_5_Template,2,0,"span",12),u["ɵɵelementContainerEnd"]()),2&e){var n=u["ɵɵnextContext"]();u["ɵɵadvance"](1),u["ɵɵproperty"]("ngClass",u["ɵɵpureFunction1"](5,_c0,!n.settings.readOnlyMode)),u["ɵɵadvance"](1),u["ɵɵtextInterpolate"](n.value),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",n.urlStructureSettings.hasExtension),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",!n.settings.readOnlyMode),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",n.isCustomStructure)}}function StructureUrlNameComponent_span_5_Template(e,t){if(1&e&&(u["ɵɵelementStart"](0,"span",6),u["ɵɵtext"](1),u["ɵɵelementEnd"]()),2&e){var n=u["ɵɵnextContext"]();u["ɵɵadvance"](1),u["ɵɵtextInterpolate"](n.extension)}}function StructureUrlNameComponent_sf_button_6_Template(e,t){if(1&e){var n=u["ɵɵgetCurrentView"]();u["ɵɵelementStart"](0,"sf-button",15),u["ɵɵlistener"]("onClick",(function StructureUrlNameComponent_sf_button_6_Template_sf_button_onClick_0_listener(){return u["ɵɵrestoreView"](n),u["ɵɵnextContext"]().toggleEditableField()})),u["ɵɵelementEnd"]()}}var h=function(e){function StructureUrlNameComponent(t,n){var o=e.call(this)||this;return o.sanitizeService=t,o.window=n,o.isCustomStructure=!1,o.extension=null,o.parentUrlPath=new f.BehaviorSubject(A.stringConstants.EMPTY_STRING),o.parentUrlPath$=o.parentUrlPath.pipe(Object(i.map)((function(e){return e+"/"}))),o}return Object(o.__extends)(StructureUrlNameComponent,e),StructureUrlNameComponent.prototype.ngOnInit=function(){this.urlStructureSettings=this.settings,e.prototype.ngOnInit.call(this),!this.settings.dataItem||this.settings.dataItem.isEmpty?this.parentUrlPath.next(A.stringConstants.EMPTY_STRING):this.fetchAndSetParentUrl(this.settings.dataItem,this.settings.dataItem.data[s.Properties.PARENT_ID])},StructureUrlNameComponent.prototype.handleParentChange=function(e){this.fetchAndSetParentUrl(this.settings.dataItem,e)},StructureUrlNameComponent.prototype.writeValue=function(t){var n=this;if(t){t.startsWith("~")&&(this.isCustomStructure=!0,t=t.substring(1));var o=null,i=this.settings;o=this.isCustomStructure?i.customStructureRegex:i.regex;var r=c.StatusType.ErrorCleared,a=o.test(t),s=new RegExp(/^\/+$/,"g");a&&this.isCustomStructure&&s.test(t.trim())&&(a=!1),a||(r=c.StatusType.Error),this.window.setTimeout((function(){var e;n.emitStatus({type:r,data:(e={},e[d.VALIDATOR_NAMES.PATTERN]=!0,e)})}),0)}e.prototype.writeValue.call(this,t)},StructureUrlNameComponent.prototype.onEditStructureClick=function(){var e=this.getValue();if(this.isCustomStructure=!this.isCustomStructure,this.isCustomStructure){var t=this.parentUrlPath.getValue();return e&&(t+="/"+e),this.writeValue(t)}return this.restoreStructure()},StructureUrlNameComponent.prototype.postProcessValue=function(e){if(this.isCustomStructure){var t="~";e.startsWith("~")?t=A.stringConstants.EMPTY_STRING:e.startsWith("/")||(t="~/"),e=""+t+e}return e},StructureUrlNameComponent.prototype.restoreStructure=function(){var e=this.settings,t=this.settings.dataItem.data?this.settings.dataItem.data[this.settings.dataItem.metadata.defaultFieldName]:this.getValue();t=this.sanitizeService.sanitizeValue(t,e.sanitizeRegex,e.sanitizeRegexReplaceCharacter),this.writeValue(t)},StructureUrlNameComponent.prototype.fetchAndSetParentUrl=function(e,t){var n=this;t?this.urlStructureSettings.getUrlStructureData(e).subscribe((function(e){n.extension=e.extension,n.parentUrlPath.next(e.parentUrl),e.editableUrl&&n.writeValue(e.editableUrl)})):this.parentUrlPath.next(A.stringConstants.EMPTY_STRING)},StructureUrlNameComponent.ɵfac=function StructureUrlNameComponent_Factory(e){return new(e||StructureUrlNameComponent)(u["ɵɵdirectiveInject"](l.SanitizeService),u["ɵɵdirectiveInject"](p.WINDOW_TOKEN))},StructureUrlNameComponent.ɵcmp=u["ɵɵdefineComponent"]({type:StructureUrlNameComponent,selectors:[["sf-url-name-structure"]],features:[u["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(a.UrlNameComponent)]),u["ɵɵInheritDefinitionFeature"]],decls:7,vars:7,consts:[["sfTrackFocus","","data-sftest","page-url-field",1,"sf-page-url","sf-row","-align-items-center",3,"closeOnContentClick","contentFocusIn","contentFocusOut"],["class","-sf-txt-hint",4,"ngIf"],["ngDefaultControl","",3,"ngModel","ngModelChange",4,"ngIf"],["look","small sf-ml-3xs","title","Edit structure",3,"onClick",4,"ngIf"],[4,"ngIf"],["look","circle small","iconLook","size-xs","icon","plus","title","Add Url",3,"onClick",4,"ngIf"],[1,"-sf-txt-hint"],["ngDefaultControl","",3,"ngModel","ngModelChange"],["inputField",""],["look","small sf-ml-3xs","title","Edit structure",3,"onClick"],[3,"ngClass"],["class","-sf-ml-4xs","look","circle small","iconLook","size-3xs","icon","pencil","title","Edit",3,"onClick",4,"ngIf"],["data-sftest","custom-url","class","-sf-txt-hint -sf-txt-base -sf-ml-2xs",4,"ngIf"],["look","circle small","iconLook","size-3xs","icon","pencil","title","Edit",1,"-sf-ml-4xs",3,"onClick"],["data-sftest","custom-url",1,"-sf-txt-hint","-sf-txt-base","-sf-ml-2xs"],["look","circle small","iconLook","size-xs","icon","plus","title","Add Url",3,"onClick"]],template:function StructureUrlNameComponent_Template(e,t){1&e&&(u["ɵɵelementStart"](0,"div",0),u["ɵɵlistener"]("contentFocusIn",(function StructureUrlNameComponent_Template_div_contentFocusIn_0_listener(){return t.onFocus()}))("contentFocusOut",(function StructureUrlNameComponent_Template_div_contentFocusOut_0_listener(){return t.onBlur()})),u["ɵɵtemplate"](1,StructureUrlNameComponent_span_1_Template,3,3,"span",1),u["ɵɵtemplate"](2,StructureUrlNameComponent_sf_input_2_Template,2,2,"sf-input",2),u["ɵɵtemplate"](3,StructureUrlNameComponent_sf_button_3_Template,3,2,"sf-button",3),u["ɵɵtemplate"](4,StructureUrlNameComponent_ng_container_4_Template,6,7,"ng-container",4),u["ɵɵtemplate"](5,StructureUrlNameComponent_span_5_Template,2,1,"span",1),u["ɵɵtemplate"](6,StructureUrlNameComponent_sf_button_6_Template,1,0,"sf-button",5),u["ɵɵelementEnd"]()),2&e&&(u["ɵɵproperty"]("closeOnContentClick",!1),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",!t.isCustomStructure),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",t.showEditableField),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",t.showEditableField&&t.urlStructureSettings.isStructureEditable),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",t.showReadOnlyField),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",t.urlStructureSettings.hasExtension&&!t.showReadOnlyField),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",t.showCreateButton))},directives:[m.SfTrackFocusDirective,g.NgIf,m.SfInputComponent,E.DefaultValueAccessor,E.NgControlStatus,E.NgModel,m.SfButtonComponent,g.NgClass],pipes:[g.AsyncPipe],styles:["@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.sf-page-url[_ngcontent-%COMP%] {\n min-height: 36px;\n}"]}),StructureUrlNameComponent}(a.UrlNameComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"UrlNameComponent",(function(){return c}));var o=n(259),i=n(335),r=n(336),a=n(229),s=n(354),A=n(261),l=n(324);function UrlNameComponent_sf_input_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-input",4,5),a["ɵɵlistener"]("ngModelChange",(function UrlNameComponent_sf_input_1_Template_sf_input_ngModelChange_0_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().value=e})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵproperty"]("ngModel",o.value)}}function UrlNameComponent_ng_container_2_sf_button_3_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-button",8),a["ɵɵlistener"]("onClick",(function UrlNameComponent_ng_container_2_sf_button_3_Template_sf_button_onClick_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).toggleEditableField()})),a["ɵɵelementEnd"]()}}var _c0=function(e){return{"-sf-highlighted -on-hover":e}};function UrlNameComponent_ng_container_2_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelementStart"](1,"span",6),a["ɵɵtext"](2),a["ɵɵelementEnd"](),a["ɵɵtemplate"](3,UrlNameComponent_ng_container_2_sf_button_3_Template,1,0,"sf-button",7),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](3,_c0,!n.settings.readOnlyMode)),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.value),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!n.settings.readOnlyMode)}}function UrlNameComponent_sf_button_3_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-button",9),a["ɵɵlistener"]("onClick",(function UrlNameComponent_sf_button_3_Template_sf_button_onClick_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().toggleEditableField()})),a["ɵɵelementEnd"]()}}var c=function(e){function UrlNameComponent(){var t=e.call(this)||this;return t.showEditableField=!1,t.showCreateButton=!0,t.showReadOnlyField=!1,t}return Object(o.__extends)(UrlNameComponent,e),UrlNameComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.showCreateButton=!this.settings.readOnlyMode&&null==this.value,this.showReadOnlyField=!this.showCreateButton},UrlNameComponent.prototype.writeValue=function(t){t||this.showEditableField?this.showEditableField||(this.showReadOnlyField=!0,this.showCreateButton=!1):(this.showReadOnlyField=!1,this.showCreateButton=!0),e.prototype.writeValue.call(this,t)},UrlNameComponent.prototype.toggleEditableField=function(){this.onFocus()},UrlNameComponent.prototype.onFocus=function(){e.prototype.onFocus.call(this),this.settings.readOnlyMode||(this.showEditableField=!0,this.showCreateButton=this.showReadOnlyField=!1)},UrlNameComponent.prototype.onBlur=function(){e.prototype.onBlur.call(this),this.value?(this.showCreateButton=!1,this.showReadOnlyField=!0):(this.showCreateButton=!0,this.showReadOnlyField=!1),this.showEditableField=!1},UrlNameComponent.ɵfac=function UrlNameComponent_Factory(e){return new(e||UrlNameComponent)},UrlNameComponent.ɵcmp=a["ɵɵdefineComponent"]({type:UrlNameComponent,selectors:[["sf-url-name"]],features:[a["ɵɵProvidersFeature"]([Object(r.createValueAccessor)(UrlNameComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:4,vars:4,consts:[["sfTrackFocus","",3,"closeOnContentClick","contentFocusIn","contentFocusOut"],["ngDefaultControl","",3,"ngModel","ngModelChange",4,"ngIf"],[4,"ngIf"],["look","circle small","iconLook","size-xs","icon","plus","title","Add Url",3,"onClick",4,"ngIf"],["ngDefaultControl","",3,"ngModel","ngModelChange"],["inputField",""],[3,"ngClass"],["class","-sf-ml-4xs","look","circle small","iconLook","size-3xs","icon","pencil","title","Edit",3,"onClick",4,"ngIf"],["look","circle small","iconLook","size-3xs","icon","pencil","title","Edit",1,"-sf-ml-4xs",3,"onClick"],["look","circle small","iconLook","size-xs","icon","plus","title","Add Url",3,"onClick"]],template:function UrlNameComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",0),a["ɵɵlistener"]("contentFocusIn",(function UrlNameComponent_Template_div_contentFocusIn_0_listener(){return t.onFocus()}))("contentFocusOut",(function UrlNameComponent_Template_div_contentFocusOut_0_listener(){return t.onBlur()})),a["ɵɵtemplate"](1,UrlNameComponent_sf_input_1_Template,2,1,"sf-input",1),a["ɵɵtemplate"](2,UrlNameComponent_ng_container_2_Template,4,5,"ng-container",2),a["ɵɵtemplate"](3,UrlNameComponent_sf_button_3_Template,1,0,"sf-button",3),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵproperty"]("closeOnContentClick",!1),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.showEditableField),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.showReadOnlyField),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.showCreateButton))},directives:[s.SfTrackFocusDirective,A.NgIf,s.SfInputComponent,l.DefaultValueAccessor,l.NgControlStatus,l.NgModel,A.NgClass,s.SfButtonComponent],encapsulation:2}),UrlNameComponent}(i.ShortTextComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MultipleChoiceChipComponent",(function(){return f})),n.d(t,"MULTIPLE_CHOICE_CHIP_REGISTRY",(function(){return u}));var o=n(259),i=n(1531),r=n(1118),a=n(260),s=n(11),A=n(1143),l=n(361),c=n(336),d=n(229),p=n(417),f=function(e){function MultipleChoiceChipComponent(t,n){var o=e.call(this)||this;return o.route=t,o.modalService=n,o.selectedChips=[],o}return Object(o.__extends)(MultipleChoiceChipComponent,e),MultipleChoiceChipComponent.prototype.openDialog=function(e){var t=this;if(e){var n=new s.BehaviorSubject(this.settings.choices.length),o=this.getValue(),a={type:i.ModalListComponent,properties:{actionTitle:this.settings.title,treeConfig:{multiSelection:!0,treeProperties:{displayField:"Value",idField:"Name"}},count:n,template:null,openItemEdit:!1,isLoading:!1,ignoreDelay:!0,showCounter:!1,dataItem:this.settings.dataItem,items:this.settings.choices.map((function(e){return e.isSelected=o&&o.indexOf(e.Name)>-1,e}))}},A=[new r.ConfirmButton(l.SelectorConstants.USE_SELECTED),new r.CancelButton(l.SelectorConstants.CANCEL)],c=new r.DialogData(a,(function(e){return t.onDone(e)}),A,null,"-bottom");this.modalService.setMapping(c,"multiple-choice-chip"),this.modalService.open(this.route,"multiple-choice-chip")}},MultipleChoiceChipComponent.prototype.onDone=function(e){if(e.data&&e.data.data){var t=Object.keys(e.component.tree.tree.treeModel.activeNodeIds);t=t.filter((function(t){return e.component.tree.tree.treeModel.activeNodeIds[t]})),this.writeValue(t)}},MultipleChoiceChipComponent.prototype.writeValue=function(t){var n=this;e.prototype.writeValue.call(this,t),t&&this.settings&&(this.selectedChips=this.settings.choices.filter((function(e){return n.value.indexOf(e.Name)>-1})).map((function(e){return{Title:e.Value}})))},MultipleChoiceChipComponent.prototype.onRemove=function(e){var t=this.getValue(),n=this.settings.choices.find((function(t){return t.Value===e.Title}));this.writeValue(t.filter((function(e){return e!==n.Name})))},MultipleChoiceChipComponent.ɵfac=function MultipleChoiceChipComponent_Factory(e){return new(e||MultipleChoiceChipComponent)(d["ɵɵdirectiveInject"](a.ActivatedRoute),d["ɵɵdirectiveInject"](r.ModalWindowService))},MultipleChoiceChipComponent.ɵcmp=d["ɵɵdefineComponent"]({type:MultipleChoiceChipComponent,selectors:[["sf-multiple-choice-chip"]],features:[d["ɵɵInheritDefinitionFeature"]],decls:1,vars:4,consts:[[3,"isSingleSelection","isLoading","selectedChips","isRemovable","removeChip","focus"]],template:function MultipleChoiceChipComponent_Template(e,t){1&e&&(d["ɵɵelementStart"](0,"sf-chips",0),d["ɵɵlistener"]("removeChip",(function MultipleChoiceChipComponent_Template_sf_chips_removeChip_0_listener(e){return t.onRemove(e)}))("focus",(function MultipleChoiceChipComponent_Template_sf_chips_focus_0_listener(e){return t.openDialog(e)})),d["ɵɵelementEnd"]()),2&e&&d["ɵɵproperty"]("isSingleSelection",!1)("isLoading",!0)("selectedChips",t.selectedChips)("isRemovable",!0)},directives:[p.ChipsComponent],encapsulation:2}),MultipleChoiceChipComponent}(c.FieldBase),u={writeComponent:f,readComponent:f,settingsType:A.ChoiceSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"BULK_COMMAND_EXTENDER_TOKEN",(function(){return i})),n.d(t,"CompositeBulkCommandExtender",(function(){return r}));var o=n(229),i=new o.InjectionToken("bulk_command_extender_token"),r=function(){function CompositeBulkCommandExtender(e){this.bulkCommandExtenders=e}return CompositeBulkCommandExtender.prototype.getEntityDatasForBulkOperation=function(e,t){return void 0===t&&(t=null),this.getExtender(e).getEntityDatasForBulkOperation(e,t)},CompositeBulkCommandExtender.prototype.getFilterByParentQuery=function(e,t,n){return this.getExtender(e).getFilterByParentQuery(e,t,n)},CompositeBulkCommandExtender.prototype.tryHandleCommand=function(e,t,n,o,i){return this.getExtender(e).tryHandleCommand(t,{dataItems:n,entityData:e,notificationFilter:o,bulkItemSelectionInfo:i})},CompositeBulkCommandExtender.prototype.getExtender=function(e){return this.bulkCommandExtenders.find((function(t){return e&&t.isSupportedType(e)}))},CompositeBulkCommandExtender.ɵfac=function CompositeBulkCommandExtender_Factory(e){return new(e||CompositeBulkCommandExtender)(o["ɵɵinject"](i,8))},CompositeBulkCommandExtender.ɵprov=o["ɵɵdefineInjectable"]({token:CompositeBulkCommandExtender,factory:CompositeBulkCommandExtender.ɵfac}),CompositeBulkCommandExtender}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FieldSectionComponent",(function(){return f}));var o=n(259),i=n(229),r=n(364),a=(n(1120),n(264)),s=n(244),A=n(369),l=n(1400),c=n(261),d=n(324);function FieldSectionComponent_section_0_ng_container_1_input_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"input",5),i["ɵɵlistener"]("ngModelChange",(function FieldSectionComponent_section_0_ng_container_1_input_1_Template_input_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](3).section.settings.isExpanded=e}))("ngModelChange",(function FieldSectionComponent_section_0_ng_container_1_input_1_Template_input_ngModelChange_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](3).toggleSection()})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](3);i["ɵɵproperty"]("ngModel",o.section.settings.isExpanded),i["ɵɵattribute"]("checked",o.section.settings.isExpanded?"checked":null)("id",o.section.settings.name)}}function FieldSectionComponent_section_0_ng_container_1_label_2_span_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",8),i["ɵɵelement"](1,"i"),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](4);i["ɵɵadvance"](1),i["ɵɵclassMapInterpolate1"]("sf-button__icon sf-icon -size-l sf-fa sf-fa-angle-",n.section.settings.isExpanded?"down":"right","")}}var _c0=function(e){return{"-sf-ml-5xl":e}};function FieldSectionComponent_section_0_ng_container_1_label_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"label",6),i["ɵɵlistener"]("keyup.enter",(function FieldSectionComponent_section_0_ng_container_1_label_2_Template_label_keyup_enter_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](3).toggleExpand()})),i["ɵɵtemplate"](1,FieldSectionComponent_section_0_ng_container_1_label_2_span_1_Template,2,3,"span",7),i["ɵɵtext"](2),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](3);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](5,_c0,o.section.settings.hideExpander)),i["ɵɵattribute"]("title",o.section.settings.isExpanded?"Collapse":"Expand")("for",o.section.settings.name),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!o.section.settings.hideExpander),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"]("",o.section.settings.title," ")}}function FieldSectionComponent_section_0_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,FieldSectionComponent_section_0_ng_container_1_input_1_Template,1,3,"input",3),i["ɵɵtemplate"](2,FieldSectionComponent_section_0_ng_container_1_label_2_Template,3,7,"label",4),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.section.settings.isMain&&!n.section.settings.hideExpander),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.section.settings.isMain)}}function FieldSectionComponent_section_0_hr_4_Template(e,t){1&e&&i["ɵɵelement"](0,"hr")}function FieldSectionComponent_section_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"section"),i["ɵɵtemplate"](1,FieldSectionComponent_section_0_ng_container_1_Template,3,2,"ng-container",1),i["ɵɵelementStart"](2,"div",2),i["ɵɵprojection"](3),i["ɵɵelementEnd"](),i["ɵɵtemplate"](4,FieldSectionComponent_section_0_hr_4_Template,1,0,"hr",1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵclassProp"]("sf-expander",!n.section.settings.isMain),i["ɵɵattribute"]("aria-expanded",n.section.settings.isMain?null:!!n.section.settings.isExpanded),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.section.settings.hideTitle),i["ɵɵadvance"](1),i["ɵɵclassProp"]("sf-expander__content",!n.section.settings.isMain),i["ɵɵproperty"]("@slideOpen",n.section.settings.isMain||n.section.settings.isExpanded?"open":"closed"),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",n.insertHorizontalRule)}}var p=["*"],f=function(e){function FieldSectionComponent(t,n,o,r){var a=e.call(this)||this;a.elementRef=t,a.window=n,a.scrollService=o,a.componenentSectionMenuService=r,a.sectionToggle=new i.EventEmitter,a.isInViewPort=!1;var s=a.componenentSectionMenuService.requestBringIntoView$.subscribe((function(e){a.requestedBringIntoView(e)}));a.registerSubscription(s);var A=a.componenentSectionMenuService.requestFieldSectionPositionCalculation$.subscribe((function(){a.checkAndUpdateIsInViewPort(!0)}));return a.registerSubscription(A),a}return Object(o.__extends)(FieldSectionComponent,e),Object.defineProperty(FieldSectionComponent.prototype,"insertHorizontalRule",{get:function(){return this.section.settings&&this.section.settings.insertHorizontalRule},enumerable:!1,configurable:!0}),FieldSectionComponent.prototype.toggleExpand=function(){this.section.settings.isExpanded=!this.section.settings.isExpanded,this.toggleSection()},FieldSectionComponent.prototype.bringIntoView=function(){var e=this;this.section.settings.isExpanded?this.scrollService.scrollTo(this.elementRef,!0):(this.section.settings.isExpanded=!0,setTimeout((function(){e.scrollService.scrollTo(e.elementRef,!0,500)}),200))},FieldSectionComponent.prototype.ngAfterViewInit=function(){this.checkAndUpdateIsInViewPort(!1)},FieldSectionComponent.prototype.toggleSection=function(){var e={sectionName:this.section.settings.name,isExpanded:this.section.settings.isExpanded};this.sectionToggle.emit(e)},FieldSectionComponent.prototype.requestedBringIntoView=function(e){this.section.equals(e)&&this.bringIntoView()},FieldSectionComponent.prototype.checkAndUpdateIsInViewPort=function(e){var t=this.isInViewport(this.elementRef.nativeElement,e);if(this.isInViewPort!==t){this.isInViewPort=t;var n={model:this.section,isInViewPort:t};this.componenentSectionMenuService.fieldViewPortChanges(n)}},FieldSectionComponent.prototype.isInViewport=function(e,t){var n=this.scrollService.calculateOffset(),o=this.window.innerHeight-100;n+=this.window.scrollY,o+=this.window.scrollY,t&&e.children.length>0&&(e=e.children[0]);var i=e.offsetTop,r=e.offsetTop+e.offsetHeight;return i>n&&io},FieldSectionComponent.ɵfac=function FieldSectionComponent_Factory(e){return new(e||FieldSectionComponent)(i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](s.WINDOW_TOKEN),i["ɵɵdirectiveInject"](A.ScrollService),i["ɵɵdirectiveInject"](l.ContentSectionMenuService))},FieldSectionComponent.ɵcmp=i["ɵɵdefineComponent"]({type:FieldSectionComponent,selectors:[["sf-field-section"]],inputs:{section:"section"},outputs:{sectionToggle:"sectionToggle"},features:[i["ɵɵInheritDefinitionFeature"]],ngContentSelectors:p,decls:1,vars:1,consts:[[3,"sf-expander",4,"ngIf"],[4,"ngIf"],["role","region"],["class","sf-expander__checkbox","type","checkbox","role","tab","aria-hidden","false","tabindex","-1",3,"ngModel","ngModelChange",4,"ngIf"],["class","sf-expander__header -sf-user-select-none","tabindex","0",3,"ngClass","keyup.enter",4,"ngIf"],["type","checkbox","role","tab","aria-hidden","false","tabindex","-1",1,"sf-expander__checkbox",3,"ngModel","ngModelChange"],["tabindex","0",1,"sf-expander__header","-sf-user-select-none",3,"ngClass","keyup.enter"],["class","sf-expander__icon sf-button -circle -icon",4,"ngIf"],[1,"sf-expander__icon","sf-button","-circle","-icon"]],template:function FieldSectionComponent_Template(e,t){1&e&&(i["ɵɵprojectionDef"](),i["ɵɵtemplate"](0,FieldSectionComponent_section_0_Template,5,8,"section",0)),2&e&&i["ɵɵproperty"]("ngIf",t.section.fields.length>0&&!t.section.settings.isHidden)},directives:[c.NgIf,d.CheckboxControlValueAccessor,d.NgControlStatus,d.NgModel,c.NgClass],encapsulation:2,data:{animation:[Object(r.trigger)("slideOpen",[Object(r.state)("open",Object(r.style)({height:"*",overflow:"visible"})),Object(r.state)("closed",Object(r.style)({height:0,overflow:"hidden"})),Object(r.transition)("closed <=> open",[Object(r.animate)("500ms ease")])])]}}),FieldSectionComponent}(a.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"KeyboardShortcutsComponent",(function(){return a}));var o=n(1205),i=n(229),r=n(261);function KeyboardShortcutsComponent_ul_3_ng_container_1_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}var _c0=function(e,t,n){return{last:e,description:t,keyCombination:n}};function KeyboardShortcutsComponent_ul_3_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,KeyboardShortcutsComponent_ul_3_ng_container_1_ng_container_1_Template,1,0,"ng-container",6),i["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.last;i["ɵɵnextContext"](2);var r=i["ɵɵreference"](11);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",r)("ngTemplateOutletContext",i["ɵɵpureFunction3"](2,_c0,o,n.description,n.keyCombination))}}function KeyboardShortcutsComponent_ul_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"ul",4),i["ɵɵtemplate"](1,KeyboardShortcutsComponent_ul_3_ng_container_1_Template,2,6,"ng-container",5),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.listItemsShortcuts)}}function KeyboardShortcutsComponent_ul_6_ng_container_1_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function KeyboardShortcutsComponent_ul_6_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,KeyboardShortcutsComponent_ul_6_ng_container_1_ng_container_1_Template,1,0,"ng-container",6),i["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.last;i["ɵɵnextContext"](2);var r=i["ɵɵreference"](11);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",r)("ngTemplateOutletContext",i["ɵɵpureFunction3"](2,_c0,o,n.description,n.keyCombination))}}function KeyboardShortcutsComponent_ul_6_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"ul",4),i["ɵɵtemplate"](1,KeyboardShortcutsComponent_ul_6_ng_container_1_Template,2,6,"ng-container",5),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.editContentShortcuts)}}function KeyboardShortcutsComponent_ul_9_ng_container_1_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function KeyboardShortcutsComponent_ul_9_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,KeyboardShortcutsComponent_ul_9_ng_container_1_ng_container_1_Template,1,0,"ng-container",6),i["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.last;i["ɵɵnextContext"](2);var r=i["ɵɵreference"](11);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",r)("ngTemplateOutletContext",i["ɵɵpureFunction3"](2,_c0,o,n.description,n.keyCombination))}}function KeyboardShortcutsComponent_ul_9_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"ul",4),i["ɵɵtemplate"](1,KeyboardShortcutsComponent_ul_9_ng_container_1_Template,2,6,"ng-container",5),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.kendoKeyboardShortcuts)}}var _c1=function(e){return{"-sf-border-bottom":e}};function KeyboardShortcutsComponent_ng_template_10_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"li",7),i["ɵɵelementStart"](1,"span"),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"span"),i["ɵɵtext"](4),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=t.last,o=t.description,r=t.keyCombination;i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](3,_c1,n)),i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](o),i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](r)}}var a=function(){function KeyboardShortcutsComponent(){this.title="Keyboard shortcuts",this.mappedShortcuts=new Map,this.keyboardShortcutsType=o.KeyboardActionType,this.kendoKeyboardShortcuts=[{keyCombination:this.ctrlKey+"+Z",description:"Undo"},{keyCombination:this.ctrlKey+"+Y",description:"Redo"},{keyCombination:this.ctrlKey+"+C",description:"Copy"},{keyCombination:this.ctrlKey+"+X",description:"Cut"},{keyCombination:this.ctrlKey+"+V",description:"Paste"},{keyCombination:this.ctrlKey+"+K",description:"Insert link"},{keyCombination:this.ctrlKey+"+J",description:"Insert image"},{keyCombination:this.ctrlKey+"+L",description:"Insert document"},{keyCombination:this.ctrlKey+"+B",description:"Apply bold formatting"},{keyCombination:this.ctrlKey+"+I",description:"Apply italic formatting"},{keyCombination:this.ctrlKey+"+U",description:"Apply underline formatting"}],this.defaultShortcuts=o.DEFAULT_SHORTCUTS}return Object.defineProperty(KeyboardShortcutsComponent.prototype,"ctrlKey",{get:function(){return-1!==navigator.appVersion.indexOf(o.MAC_OS_NAME)?"CMD":"CTRL"},enumerable:!1,configurable:!0}),KeyboardShortcutsComponent.prototype.ngOnInit=function(){var e=this;this.defaultShortcuts.forEach((function(t){var n="";t.ShortcutSettings.ctrlKey&&(n+=e.ctrlKey+"+"),t.ShortcutSettings.shiftKey&&(n+="SHIFT+"),t.ShortcutSettings.altKey&&(n+="ALT+");var i=t.ShortcutSettings.code,r=new Map([[o.KEYBOARD_KEY_CODES.DELETE,"DEL"],[o.KEYBOARD_KEY_CODES.ESCAPE,"ESC"],[o.KEYBOARD_KEY_CODES.ENTER,"ENTER"]]).get(i);r&&(i=r),"Key"===i.substring(0,"Key".length)?n+=i.substring("Key".length,i.length):n+=i;var a=e.keyboardShortcutsType[t.ActionType].toString();e.mappedShortcuts.get(a)?e.mappedShortcuts.set(a+"Alias",n):e.mappedShortcuts.set(a,n)})),this.listItemsShortcuts=[{description:"Create new item",keyCombination:this.mappedShortcuts.get("Create")},{description:"Close dialog",keyCombination:this.mappedShortcuts.get("Escape")},{description:"Confirm action in dialog",keyCombination:this.mappedShortcuts.get("CommonConfirm")},{description:"Select all items on current page",keyCombination:this.mappedShortcuts.get("SelectAll")},{description:"Clear selection",keyCombination:this.mappedShortcuts.get("Escape")},{description:"Publish selected items",keyCombination:this.mappedShortcuts.get("Publish")},{description:"Unpublish selected items",keyCombination:this.mappedShortcuts.get("Unpublish")},{description:"Schedule selected items",keyCombination:this.mappedShortcuts.get("Schedule")},{description:"Delete selected items",keyCombination:this.mappedShortcuts.get("Delete")}],this.editContentShortcuts=[{description:"Preview",keyCombination:this.mappedShortcuts.get("Preview")},{description:"Close dialog",keyCombination:this.mappedShortcuts.get("Escape")},{description:"Confirm action in dialog",keyCombination:this.mappedShortcuts.get("CommonConfirm")},{description:"Publish",keyCombination:this.mappedShortcuts.get("Publish")},{description:"Save as draft",keyCombination:this.mappedShortcuts.get("SaveAlias")+" or "+this.mappedShortcuts.get("Save")},{description:"Unpublish",keyCombination:this.mappedShortcuts.get("Unpublish")},{description:"Schedule",keyCombination:this.mappedShortcuts.get("Schedule")},{description:"Delete",keyCombination:this.mappedShortcuts.get("Delete")},{description:"Create new item",keyCombination:this.mappedShortcuts.get("Create")}]},KeyboardShortcutsComponent.ɵfac=function KeyboardShortcutsComponent_Factory(e){return new(e||KeyboardShortcutsComponent)},KeyboardShortcutsComponent.ɵcmp=i["ɵɵdefineComponent"]({type:KeyboardShortcutsComponent,selectors:[["sf-keyboard-shortcuts"]],decls:12,vars:3,consts:[[1,"sf-form","-medium","-sf-centered-box","-sf-pt-zero"],[1,"-sf-mb-l"],["class","-sf-mb-3xl",4,"ngIf"],["shortcutRow",""],[1,"-sf-mb-3xl"],[4,"ngFor","ngForOf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"sf-row","-align-items-center","-justify-content-between","-sf-border-top","-sf-border-lighter","-sf-pt-3xs","-sf-pb-3xs","-sf-hover-bg-light-grey","-sf-pl-3xs","-sf-pr-3xs",3,"ngClass"]],template:function KeyboardShortcutsComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵelementStart"](1,"h2",1),i["ɵɵtext"](2,"List actions"),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,KeyboardShortcutsComponent_ul_3_Template,2,1,"ul",2),i["ɵɵelementStart"](4,"h2",1),i["ɵɵtext"](5,"Edit content or page actions"),i["ɵɵelementEnd"](),i["ɵɵtemplate"](6,KeyboardShortcutsComponent_ul_6_Template,2,1,"ul",2),i["ɵɵelementStart"](7,"h2",1),i["ɵɵtext"](8,"Rich text editor"),i["ɵɵelementEnd"](),i["ɵɵtemplate"](9,KeyboardShortcutsComponent_ul_9_Template,2,1,"ul",2),i["ɵɵelementEnd"](),i["ɵɵtemplate"](10,KeyboardShortcutsComponent_ng_template_10_Template,5,5,"ng-template",null,3,i["ɵɵtemplateRefExtractor"])),2&e&&(i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",t.listItemsShortcuts),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",t.editContentShortcuts),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",t.kendoKeyboardShortcuts))},directives:[r.NgIf,r.NgForOf,r.NgTemplateOutlet,r.NgClass],encapsulation:2}),KeyboardShortcutsComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"UserMenuService",(function(){return c}));var o=n(1598),i=n(11),r=n(244),a=n(1628),s=n(1619),A=n(1118),l=n(229),c=function(){function UserMenuService(e){this.windowProvider=e,this._onUserDialogOpen=new i.Subject,this.actionList=[],this.attachListeners()}return Object.defineProperty(UserMenuService.prototype,"onUserDialogOpen",{get:function(){return this._onUserDialogOpen.asObservable()},enumerable:!1,configurable:!0}),UserMenuService.prototype.ngOnDestroy=function(){var e=this;this.actionList.forEach((function(t){return e.windowProvider.removeEventListener(t.customEventName,t.customEventListener)}))},UserMenuService.prototype.attachListeners=function(){var e=this;this.userPreferencesListener=function(){return e._onUserDialogOpen.next(e.setDialogData(s.UserPreferencesComponent,"User preferences"))},this.keyboardShortcutsListener=function(){return e._onUserDialogOpen.next(e.setDialogData(a.KeyboardShortcutsComponent,"Keyboard shortcuts"))},this.actionList.push({customEventName:o.USER_PREFERENCES_EVENT,customEventListener:this.userPreferencesListener}),this.actionList.push({customEventName:o.KEYBOARD_SHORTCUTS_EVENT,customEventListener:this.keyboardShortcutsListener}),this.actionList.forEach((function(t){return e.windowProvider.addEventListener(t.customEventName,t.customEventListener)}))},UserMenuService.prototype.setDialogData=function(e,t){var n=new A.DialogData({type:e},null,[]);return n.heading={title:t},n},UserMenuService.ɵfac=function UserMenuService_Factory(e){return new(e||UserMenuService)(l["ɵɵinject"](r.WINDOW_TOKEN))},UserMenuService.ɵprov=l["ɵɵdefineInjectable"]({token:UserMenuService,factory:UserMenuService.ɵfac}),UserMenuService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EditableTableComponent",(function(){return s}));var o=n(259),i=n(1120),r=n(1121),a=n(229);function EditableTableComponent_ng_container_0_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelement"](1,"sf-loader",3),a["ɵɵelement"](2,"sf-loader",4),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](2),a["ɵɵproperty"]("height",n.contentLoaderHeight)}}function EditableTableComponent_table_1_thead_1_ng_container_1_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}var _c0=function(e){return{fieldSection:e}};function EditableTableComponent_table_1_thead_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"thead"),a["ɵɵtemplate"](1,EditableTableComponent_table_1_thead_1_ng_container_1_Template,1,0,"ng-container",6),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2),o=a["ɵɵreference"](3);a["ɵɵadvance"](1),a["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",a["ɵɵpureFunction1"](2,_c0,n.fieldSections[0]))}}function EditableTableComponent_table_1_thead_2_ng_container_1_Template(e,t){1&e&&a["ɵɵelementContainer"](0)}function EditableTableComponent_table_1_thead_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"thead"),a["ɵɵtemplate"](1,EditableTableComponent_table_1_thead_2_ng_container_1_Template,1,0,"ng-container",6),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2),o=a["ɵɵreference"](3);a["ɵɵadvance"](1),a["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",a["ɵɵpureFunction1"](2,_c0,n.defaultSection))}}function EditableTableComponent_table_1_ng_container_4_tr_1_td_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"td",11),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().$implicit;a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.settings.title)}}function EditableTableComponent_table_1_ng_container_4_tr_1_ng_container_2_td_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"td",13),a["ɵɵelementStart"](1,"sf-form-field-wrapper",14),a["ɵɵlistener"]("ngModelChange",(function EditableTableComponent_table_1_ng_container_4_tr_1_ng_container_2_td_1_Template_sf_form_field_wrapper_ngModelChange_1_listener(e){a["ɵɵrestoreView"](n);var t=a["ɵɵnextContext"]().$implicit,o=a["ɵɵnextContext"]().$implicit;return a["ɵɵnextContext"](3).onChange(e,t.key,o)}))("markAsDirty",(function EditableTableComponent_table_1_ng_container_4_tr_1_ng_container_2_td_1_Template_sf_form_field_wrapper_markAsDirty_1_listener(e){a["ɵɵrestoreView"](n);var t=a["ɵɵnextContext"]().$implicit;return a["ɵɵnextContext"](4).setMarkAsDirty(e,t.key)})),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]().$implicit,i=a["ɵɵnextContext"](4);a["ɵɵadvance"](1),a["ɵɵproperty"]("formControlName",o.key)("fieldModel",o)("look","input"===o.settings.displayMode?"filter small":"")("formControl",i.form.controls[o.key])}}function EditableTableComponent_table_1_ng_container_4_tr_1_ng_container_2_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,EditableTableComponent_table_1_ng_container_4_tr_1_ng_container_2_td_1_Template,2,4,"td",12),a["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit;a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.settings.isVisible)}}function EditableTableComponent_table_1_ng_container_4_tr_1_td_3_sf_button_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-button",16),a["ɵɵlistener"]("onClick",(function EditableTableComponent_table_1_ng_container_4_tr_1_td_3_sf_button_1_Template_sf_button_onClick_0_listener(){a["ɵɵrestoreView"](n);var e=a["ɵɵnextContext"](2).$implicit;return a["ɵɵnextContext"](3).removeRow(e.settings.name)})),a["ɵɵelementEnd"]()}}function EditableTableComponent_table_1_ng_container_4_tr_1_td_3_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"td"),a["ɵɵtemplate"](1,EditableTableComponent_table_1_ng_container_4_tr_1_td_3_sf_button_1_Template,1,0,"sf-button",15),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](4);a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.fieldSections.length>1)}}function EditableTableComponent_table_1_ng_container_4_tr_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"tr",8),a["ɵɵtemplate"](1,EditableTableComponent_table_1_ng_container_4_tr_1_td_1_Template,2,1,"td",9),a["ɵɵtemplate"](2,EditableTableComponent_table_1_ng_container_4_tr_1_ng_container_2_Template,2,1,"ng-container",10),a["ɵɵtemplate"](3,EditableTableComponent_table_1_ng_container_4_tr_1_td_3_Template,2,1,"td",0),a["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=a["ɵɵnextContext"](3);a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!o.allowModify),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngForOf",n.fields),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.allowModify)}}function EditableTableComponent_table_1_ng_container_4_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,EditableTableComponent_table_1_ng_container_4_tr_1_Template,4,3,"tr",7),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵproperty"]("ngForOf",n.fieldSections)}}function EditableTableComponent_table_1_tr_5_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"tr"),a["ɵɵelementStart"](1,"sf-button",17),a["ɵɵlistener"]("onClick",(function EditableTableComponent_table_1_tr_5_Template_sf_button_onClick_1_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).addRow()})),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()}}function EditableTableComponent_table_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"table",5),a["ɵɵtemplate"](1,EditableTableComponent_table_1_thead_1_Template,2,4,"thead",0),a["ɵɵtemplate"](2,EditableTableComponent_table_1_thead_2_Template,2,4,"thead",0),a["ɵɵelementStart"](3,"tbody"),a["ɵɵtemplate"](4,EditableTableComponent_table_1_ng_container_4_Template,2,1,"ng-container",0),a["ɵɵtemplate"](5,EditableTableComponent_table_1_tr_5_Template,2,0,"tr",0),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵproperty"]("formGroup",n.form),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.fieldSections[0]),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!n.fieldSections[0]&&n.defaultSection),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",n.fieldSections[0]&&n.fieldSections[0].fields),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.allowModify)}}function EditableTableComponent_ng_template_2_th_1_Template(e,t){if(1&e&&a["ɵɵelement"](0,"th"),2&e){var n=a["ɵɵnextContext"]().fieldSection;a["ɵɵclassMapInterpolate1"]("sf-field__table-header ",n.settings.cssClass,""),a["ɵɵclassProp"]("-first",!n.settings.cssClass)}}function EditableTableComponent_ng_template_2_ng_container_2_th_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"th"),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().$implicit;a["ɵɵclassMapInterpolate1"]("sf-field__table-header ",n.cssClass,""),a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",n.settings.title.toUpperCase()," ")}}function EditableTableComponent_ng_template_2_ng_container_2_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,EditableTableComponent_ng_template_2_ng_container_2_th_1_Template,2,4,"th",21),a["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit;a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.settings.title&&n.settings.isVisible)}}function EditableTableComponent_ng_template_2_th_3_Template(e,t){if(1&e&&a["ɵɵelement"](0,"th"),2&e){var n=a["ɵɵnextContext"]().fieldSection;a["ɵɵclassMapInterpolate1"]("sf-field__table-header ",n.settings.cssClass,""),a["ɵɵclassProp"]("-col-size-3xs",!n.settings.cssClass)}}function EditableTableComponent_ng_template_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"tr",18),a["ɵɵtemplate"](1,EditableTableComponent_ng_template_2_th_1_Template,1,5,"th",19),a["ɵɵtemplate"](2,EditableTableComponent_ng_template_2_ng_container_2_Template,2,1,"ng-container",10),a["ɵɵtemplate"](3,EditableTableComponent_ng_template_2_th_3_Template,1,5,"th",20),a["ɵɵelementEnd"]()),2&e){var n=t.fieldSection,o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!o.allowModify),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngForOf",n.fields),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",o.allowModify)}}var s=function(e){function EditableTableComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.lastSectionIndex=-1,t}return Object(o.__extends)(EditableTableComponent,e),EditableTableComponent.prototype.ngOnInit=function(){var e=this;(this.defaultSectionName=this.defaultSection?this.defaultSection.settings.name:"",this.defaultValue&&Object.values(this.defaultValue).length>0)?Array.isArray(this.defaultValue)?this.defaultValue.forEach((function(t,n){e.addSection(n.toString(),t)})):Object.getOwnPropertyNames(this.defaultValue).forEach((function(t){var n=e.defaultValue[t];e.addSection(t.toString(),n)})):this.defaultSection&&this.addSection("0");this.ngOnChanges({fieldSections:{currentValue:this.fieldSections}})},EditableTableComponent.prototype.addRow=function(){this.addSection((this.lastSectionIndex+1).toString()),this.ngOnChanges({fieldSections:{currentValue:this.fieldSections}})},EditableTableComponent.prototype.removeRow=function(e){var t=this,n=this.fieldSections.findIndex((function(t){return t.settings.name===e})),o={key:null,value:null,sectionTitle:this.fieldSections[n].settings.title,sectionName:e,isSectionRemoved:!0};this.fieldChange.emit(o),1===this.fieldSections.length?this.fieldSections[0].fields.forEach((function(e){return e.value=t.hasDefaults?e.settings.defaultValue:null})):n>-1&&this.fieldSections.splice(n,1)},EditableTableComponent.prototype.onChange=function(t,n,o){var i=o?o.settings:{};e.prototype.onChange.call(this,t,n,o),this.fieldSections.find((function(e){return e.settings.name===i.name})).fields.find((function(e){return e.key===n})).value=t},EditableTableComponent.prototype.addSection=function(e,t){var n=this,o=new i.FieldSectionModel;(o=Object.assign({},this.defaultSection)).settings=Object.assign({},this.defaultSection.settings),o.settings.name=this.defaultSectionName+e,o.fields=[],this.defaultSection.fields.forEach((function(e){var i=Object.assign({},e),r=e.key.replace(n.defaultSectionName,"");i.settings=Object.assign({},e.settings);var a=n.hasDefaults?e.settings.defaultValue:null;i.settings.defaultValue=t?t[r]:a,i.key=o.settings.name+r,i.settings.key=o.settings.name+r,o.fields.push(i)})),this.fieldSections.push(o),this.lastSectionIndex++},EditableTableComponent.ɵfac=function EditableTableComponent_Factory(e){return A(e||EditableTableComponent)},EditableTableComponent.ɵcmp=a["ɵɵdefineComponent"]({type:EditableTableComponent,selectors:[["sf-editable-table"]],inputs:{allowModify:"allowModify",defaultSection:"defaultSection",defaultValue:"defaultValue",hasDefaults:"hasDefaults"},features:[a["ɵɵInheritDefinitionFeature"]],decls:4,vars:2,consts:[[4,"ngIf"],["role","form","class","sf-field__table -sf-mt-3xs",3,"formGroup",4,"ngIf"],["thTemplate",""],["look","skeleton single-title sf-mb-2xl"],["look","skeleton fluid-content",3,"height"],["role","form",1,"sf-field__table","-sf-mt-3xs",3,"formGroup"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["class","sf-field__table-row",4,"ngFor","ngForOf"],[1,"sf-field__table-row"],["data-sftest","table-title",4,"ngIf"],[4,"ngFor","ngForOf"],["data-sftest","table-title"],["class","-sf-pr-2xs",4,"ngIf"],[1,"-sf-pr-2xs"],[3,"formControlName","fieldModel","look","formControl","ngModelChange","markAsDirty"],["title","Remove","look","no-border small sf-mb-4xs","icon","remove","iconLook","size-xs","data-sftest","list-remove-button",3,"onClick",4,"ngIf"],["title","Remove","look","no-border small sf-mb-4xs","icon","remove","iconLook","size-xs","data-sftest","list-remove-button",3,"onClick"],["title","Add","look","circle small sf-mb-4xs sf-mt-3xs","icon","plus","iconLook","size-xs","data-sftest","list-add-button",3,"onClick"],[1,"sf-field__table-row","-head"],[3,"-first","class",4,"ngIf"],[3,"-col-size-3xs","class",4,"ngIf"],[3,"class",4,"ngIf"]],template:function EditableTableComponent_Template(e,t){1&e&&(a["ɵɵtemplate"](0,EditableTableComponent_ng_container_0_Template,3,1,"ng-container",0),a["ɵɵtemplate"](1,EditableTableComponent_table_1_Template,6,5,"table",1),a["ɵɵtemplate"](2,EditableTableComponent_ng_template_2_Template,4,3,"ng-template",null,2,a["ɵɵtemplateRefExtractor"])),2&e&&(a["ɵɵproperty"]("ngIf",!t.fieldSections),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.fieldSections))},encapsulation:2}),EditableTableComponent}(r.EditableFieldsComponent),A=a["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"SharedInComponent",(function(){return h}));var o=n(259),i=n(260),r=n(11),a=n(1104),s=n(264),A=n(246),l=n(1392),c=n(244),d=n(266),p=(n(263),n(256)),f=n(1118),u=n(1531),m=n(229),g=n(261),E=n(354);function SharedInComponent_ng_container_0_ng_container_1_a_1_Template(e,t){if(1&e){var n=m["ɵɵgetCurrentView"]();m["ɵɵelementStart"](0,"a",5),m["ɵɵlistener"]("click",(function SharedInComponent_ng_container_0_ng_container_1_a_1_Template_a_click_0_listener(){return m["ɵɵrestoreView"](n),m["ɵɵnextContext"](3).onClick()})),m["ɵɵtext"](1),m["ɵɵelementEnd"]()}if(2&e){var o=m["ɵɵnextContext"](3);m["ɵɵadvance"](1),m["ɵɵtextInterpolate2"](" ",o.count," ",1===o.count?"page":"pages"," ")}}function SharedInComponent_ng_container_0_ng_container_1_ng_container_2_span_1_Template(e,t){if(1&e&&(m["ɵɵelementStart"](0,"span"),m["ɵɵtext"](1),m["ɵɵelementEnd"]()),2&e){var n=m["ɵɵnextContext"](4);m["ɵɵadvance"](1),m["ɵɵtextInterpolate1"]("",n.count," pages")}}function SharedInComponent_ng_container_0_ng_container_1_ng_container_2_span_2_Template(e,t){1&e&&(m["ɵɵelementStart"](0,"span",7),m["ɵɵtext"](1,"Not used"),m["ɵɵelementEnd"]())}function SharedInComponent_ng_container_0_ng_container_1_ng_container_2_Template(e,t){if(1&e&&(m["ɵɵelementContainerStart"](0),m["ɵɵtemplate"](1,SharedInComponent_ng_container_0_ng_container_1_ng_container_2_span_1_Template,2,1,"span",4),m["ɵɵtemplate"](2,SharedInComponent_ng_container_0_ng_container_1_ng_container_2_span_2_Template,2,0,"span",6),m["ɵɵelementContainerEnd"]()),2&e){var n=m["ɵɵnextContext"](3);m["ɵɵadvance"](1),m["ɵɵproperty"]("ngIf",!n.showNotUsedLabel),m["ɵɵadvance"](1),m["ɵɵproperty"]("ngIf",n.showNotUsedLabel)}}function SharedInComponent_ng_container_0_ng_container_1_Template(e,t){if(1&e&&(m["ɵɵelementContainerStart"](0),m["ɵɵtemplate"](1,SharedInComponent_ng_container_0_ng_container_1_a_1_Template,2,2,"a",3),m["ɵɵtemplate"](2,SharedInComponent_ng_container_0_ng_container_1_ng_container_2_Template,3,2,"ng-container",4),m["ɵɵelementContainerEnd"]()),2&e){var n=m["ɵɵnextContext"](2);m["ɵɵadvance"](1),m["ɵɵproperty"]("ngIf",n.count>0),m["ɵɵadvance"](1),m["ɵɵproperty"]("ngIf",0===n.count)}}function SharedInComponent_ng_container_0_Template(e,t){if(1&e&&(m["ɵɵelementContainerStart"](0),m["ɵɵtemplate"](1,SharedInComponent_ng_container_0_ng_container_1_Template,3,2,"ng-container",0),m["ɵɵelementContainerEnd"]()),2&e){var n=m["ɵɵnextContext"](),o=m["ɵɵreference"](2);m["ɵɵadvance"](1),m["ɵɵproperty"]("ngIf",!n.showBadge)("ngIfElse",o)}}function SharedInComponent_ng_template_1_Template(e,t){if(1&e){var n=m["ɵɵgetCurrentView"]();m["ɵɵelementStart"](0,"a",8),m["ɵɵlistener"]("click",(function SharedInComponent_ng_template_1_Template_a_click_0_listener(){return m["ɵɵrestoreView"](n),m["ɵɵnextContext"]().onClick()})),m["ɵɵelement"](1,"sf-badge",9),m["ɵɵelementEnd"]()}if(2&e){var o=m["ɵɵnextContext"]();m["ɵɵclassProp"]("-sf-disabled",!o.count),m["ɵɵpropertyInterpolate"]("title",o.tooltip),m["ɵɵadvance"](1),m["ɵɵproperty"]("content",o.count)("look",o.badgeLook)}}function SharedInComponent_ng_template_3_Template(e,t){1&e&&m["ɵɵelement"](0,"sf-loader",10)}var h=function(e){function SharedInComponent(t,n,o,i){var r=e.call(this)||this;return r.route=t,r.bundleDataService=n,r.modalService=o,r.windowProvider=i,r.showBadge=!0,r.isLoading=!0,r.showNotUsedLabel=!1,r.badgeLook="ellipse",r.countInternal=0,r}return Object(o.__extends)(SharedInComponent,e),Object.defineProperty(SharedInComponent.prototype,"count",{get:function(){return this.countInternal},set:function(e){e&&(this.badgeLook+=" positive"),this.countInternal=e},enumerable:!1,configurable:!0}),SharedInComponent.prototype.ngOnInit=function(){this.context&&(this.isContentType()?this.getResponseFromService():this.isTemplatesType()&&this.getDataFromItem())},SharedInComponent.prototype.onClick=function(){var e=new r.BehaviorSubject(this.count),t={type:u.ModalListComponent,properties:{contentLook:"medium",action:this.isContentType()?"Default.SharedIn()":"Default.UsedOnPages()",actionTitle:this.getTitle(),dataItem:this.context.dataItem,count:e,showDataItemTitle:!0,template:null,listLook:"actions-on-hover",tabsConfig:this.generateTabs({status:!0,showBreadcrumb:!0,noSelection:!0,clickable:!0,previewUrl:!0}),onViewNodeFunc:this.viewNodeCliked.bind(this),sourceSelector:this.generateSourceSelector()}},n=new f.DialogData(t);this.modalService.setMapping(n,"sharedIn"),this.modalService.show("sharedIn",this.modalService.currentActivityStatus.active||this.useParentRouteForNavigation?this.route.parent:this.route)},SharedInComponent.prototype.generateTabs=function(e){var t=[];return this.isContentType()?t=[{title:"Pages",noItemsLabel:"Pages sharing content block will appear here",treeConfig:e,itemsFilter:function(e){return e.IsPage},itemsModifier:function(e){e.isTranslated=!0,e.showViewUrl=e.DisplayStatus[0].Name!==a.DELETED,e.isSelectionDisabled=e.DisplayStatus[0].Name===a.DELETED,e.removeBreadcrumbPrefix=e.DisplayStatus[0].Name===a.DELETED}},{title:"Templates",noItemsLabel:"Templates sharing content block will appear here",treeConfig:Object.assign({},e,{showBreadcrumb:!1}),itemsFilter:function(e){return!e.IsPage},itemsModifier:function(e){return e.isTranslated=!0}}]:this.sources.forEach((function(n){t.push({title:null,treeConfig:e,noItemsLabel:"Pages using this template will appear here",itemsFilter:function(e){return e.IsPage&&e.SiteId===n.Value},itemsModifier:function(e){e.isTranslated=!0,e.showViewUrl=e.DisplayStatus[0].Name!==a.DELETED,e.isSelectionDisabled=e.DisplayStatus[0].Name===a.DELETED,e.removeBreadcrumbPrefix=e.DisplayStatus[0].Name===a.DELETED}})})),t},SharedInComponent.prototype.viewNodeCliked=function(e){var t=e.data?e.data.dataItem||e.data:e;t.Url&&(this.windowProvider.open(A.stringConstants.EMPTY_STRING,t.Url).location.href=t.Url)},SharedInComponent.prototype.getResponseFromService=function(){var e=this,t=this.bundleDataService.responses.pipe().subscribe((function(t){if(t){t.cleanRequest&&(e.isLoading=!0);var n=e.bundleDataService.data[l.BUNDLE_DATA_OPERATIONS.SHARED_IN_COUNT];if(n&&n[e.context.dataItem.key]&&n[e.context.dataItem.key].data){var o=n[e.context.dataItem.key].data;e.count=o?o.value:0,e.isLoading=!1}}}));this.registerSubscription(t)},SharedInComponent.prototype.getDataFromItem=function(){var e=this.context.dataItem.data[d.Properties.PAGES_COUNT];this.count=e.Count,this.tooltip=e.Tooltip,this.sources=e.Sites.map((function(e){return{Name:e.Title,Value:e.Id}})),this.isLoading=!1},SharedInComponent.prototype.generateSourceSelector=function(){return this.isContentType()?null:{label:"Sites",settings:{choices:this.sources}}},SharedInComponent.prototype.getTitle=function(){return this.isContentType()?"Pages sharing content block":"Pages using template"},SharedInComponent.prototype.isContentType=function(){return this.context.dataItem.metadata.setName===p.ENTITY_SET.CONTENT_ITEMS},SharedInComponent.prototype.isTemplatesType=function(){return this.context.dataItem.metadata.setName===p.ENTITY_SET.TEMPLATES},SharedInComponent.ɵfac=function SharedInComponent_Factory(e){return new(e||SharedInComponent)(m["ɵɵdirectiveInject"](i.ActivatedRoute),m["ɵɵdirectiveInject"](l.BundleDataService),m["ɵɵdirectiveInject"](f.ModalWindowService),m["ɵɵdirectiveInject"](c.WINDOW_TOKEN))},SharedInComponent.ɵcmp=m["ɵɵdefineComponent"]({type:SharedInComponent,selectors:[["sf-shared-in"]],inputs:{context:"context",showBadge:"showBadge",count:"count",isLoading:"isLoading",showNotUsedLabel:"showNotUsedLabel",useParentRouteForNavigation:"useParentRouteForNavigation"},features:[m["ɵɵInheritDefinitionFeature"]],decls:5,vars:2,consts:[[4,"ngIf","ngIfElse"],["badge",""],["loading",""],["class","sf-link",3,"click",4,"ngIf"],[4,"ngIf"],[1,"sf-link",3,"click"],["class","-sf-txt-dimmed",4,"ngIf"],[1,"-sf-txt-dimmed"],[3,"title","click"],[3,"content","look"],["look","inline"]],template:function SharedInComponent_Template(e,t){if(1&e&&(m["ɵɵtemplate"](0,SharedInComponent_ng_container_0_Template,2,2,"ng-container",0),m["ɵɵtemplate"](1,SharedInComponent_ng_template_1_Template,2,5,"ng-template",null,1,m["ɵɵtemplateRefExtractor"]),m["ɵɵtemplate"](3,SharedInComponent_ng_template_3_Template,1,0,"ng-template",null,2,m["ɵɵtemplateRefExtractor"])),2&e){var n=m["ɵɵreference"](4);m["ɵɵproperty"]("ngIf",!t.isLoading)("ngIfElse",n)}},directives:[g.NgIf,E.SfBadgeComponent,E.SfLoaderComponent],encapsulation:2}),SharedInComponent}(s.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentBlocksEditExtender",(function(){return A})),n.d(t,"CONTENT_BLOCKS_EDIT_EXTENDER",(function(){return c}));var o=n(259),i=n(229),r=n(1199),a=n(256),s=n(1633),A=function(e){function ContentBlocksEditExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ContentBlocksEditExtender,e),ContentBlocksEditExtender.prototype.isSupportedType=function(e){return e.metadata.typeFullName===a.CONTENT_ITEM_FULL_NAME},ContentBlocksEditExtender.prototype.overrideNavigationMenuOptions=function(e,t){t.title=null,t.hideAdditionalActionsMenu=!0;var n={type:s.ContentBlocksNotificationComponent,properties:{isFromEditScreen:!0,item$:t.item$}};t.additionalActionsComponentData=n},ContentBlocksEditExtender.ɵfac=function ContentBlocksEditExtender_Factory(e){return l(e||ContentBlocksEditExtender)},ContentBlocksEditExtender.ɵprov=i["ɵɵdefineInjectable"]({token:ContentBlocksEditExtender,factory:ContentBlocksEditExtender.ɵfac}),ContentBlocksEditExtender}(r.EditExtender),l=i["ɵɵgetInheritedFactory"](A),c={multi:!0,provide:r.EDIT_EXTENDER_TOKEN,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"SHARED_NOTIFICATION",(function(){return d})),n.d(t,"ContentBlocksNotificationComponent",(function(){return p}));var o=n(259),i=(n(11),n(264)),r=n(1392),a=n(316),s=n(229),A=n(261),l=n(354),c=n(1631),_c0=function(e){return{dataItem:e}};function ContentBlocksNotificationComponent_sf_notification_0_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"sf-notification",1),s["ɵɵtext"](1),s["ɵɵelement"](2,"sf-shared-in",2),s["ɵɵelementEnd"]()),2&e){var n=t.ngIf,o=s["ɵɵnextContext"]();s["ɵɵadvance"](1),s["ɵɵtextInterpolate1"](" ",o.sharedContentMessage," "),s["ɵɵadvance"](1),s["ɵɵproperty"]("context",s["ɵɵpureFunction1"](6,_c0,n))("showBadge",!1)("count",o.sharedInCount)("isLoading",o.sharedInLoading)("useParentRouteForNavigation",o.isFromEditScreen)}}var d=" is shared. Any changes will be reflected on the following ",p=function(e){function ContentBlocksNotificationComponent(t){var n=e.call(this)||this;return n.dynamicItemService=t,n}return Object(o.__extends)(ContentBlocksNotificationComponent,e),ContentBlocksNotificationComponent.prototype.ngOnInit=function(){var e=this;this.registerSubscription(this.item$.subscribe((function(t){t.data&&(e.initContentMessage(t),e.initSharedInCount(t))})))},ContentBlocksNotificationComponent.prototype.initContentMessage=function(e){var t='"'+e.title+'"';this.isFromEditScreen&&(t="This content"),this.sharedContentMessage=""+t+d},ContentBlocksNotificationComponent.prototype.initSharedInCount=function(e){var t=this;this.registerSubscription(this.dynamicItemService.executeBoundFunction(e,r.BUNDLE_DATA_OPERATIONS.SHARED_IN_COUNT).subscribe((function(e){t.sharedInCount=e.value,t.sharedInLoading=!1})))},ContentBlocksNotificationComponent.ɵfac=function ContentBlocksNotificationComponent_Factory(e){return new(e||ContentBlocksNotificationComponent)(s["ɵɵdirectiveInject"](a.DynamicItemService))},ContentBlocksNotificationComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ContentBlocksNotificationComponent,selectors:[["sf-content-blocks-notification"]],inputs:{item$:"item$"},features:[s["ɵɵInheritDefinitionFeature"]],decls:3,vars:5,consts:[["id","sf-content-blocks-shared-in-notification","class","-sf-ml-auto -sf-mr-auto inline","look","warning inline",4,"ngIf"],["id","sf-content-blocks-shared-in-notification","look","warning inline",1,"-sf-ml-auto","-sf-mr-auto","inline"],[3,"context","showBadge","count","isLoading","useParentRouteForNavigation"]],template:function ContentBlocksNotificationComponent_Template(e,t){if(1&e&&(s["ɵɵtemplate"](0,ContentBlocksNotificationComponent_sf_notification_0_Template,3,8,"sf-notification",0),s["ɵɵpipe"](1,"async"),s["ɵɵpipe"](2,"async")),2&e){var n;s["ɵɵproperty"]("ngIf",(null==(n=s["ɵɵpipeBind1"](1,1,t.item$))?null:n.data)&&s["ɵɵpipeBind1"](2,3,t.item$))}},directives:[A.NgIf,l.SfNotificationComponent,c.SharedInComponent],pipes:[A.AsyncPipe],encapsulation:2}),ContentBlocksNotificationComponent}(i.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentBlocksGridExtender",(function(){return s})),n.d(t,"CONTENT_BLOCKS_GRID_EXTENDER",(function(){return l}));var o=n(259),i=n(229),r=n(1388),a=n(256),s=function(e){function ContentBlocksGridExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ContentBlocksGridExtender,e),ContentBlocksGridExtender.prototype.isSupportedType=function(e){return e.metadata.typeFullName===a.CONTENT_ITEM_FULL_NAME},ContentBlocksGridExtender.ɵfac=function ContentBlocksGridExtender_Factory(e){return A(e||ContentBlocksGridExtender)},ContentBlocksGridExtender.ɵprov=i["ɵɵdefineInjectable"]({token:ContentBlocksGridExtender,factory:ContentBlocksGridExtender.ɵfac}),ContentBlocksGridExtender}(r.GridExtenderBase),A=i["ɵɵgetInheritedFactory"](s),l={multi:!0,provide:r.GRID_EXTENDER_TOKEN,useClass:s}},function(e,t,n){"use strict";n.r(t),n.d(t,"PersonalizationDropdownComponent",(function(){return C}));var o=n(259),i=n(229),r=n(319),a=n(322),s=n(321),A=n(260),l=n(11),c=n(264),d=n(1118),p=n(262),f=n(1135),u=n(246),m=n(373),g=n(261),E=n(1430),h=n(354),b=["actionMenu"],_c1=function(){return{name:"user",look:"white size-xs",wrapperLook:"transparent"}};function PersonalizationDropdownComponent_ng_template_2_sf_simple_chip_0_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-simple-chip",5),2&e){var n=i["ɵɵnextContext"]().context;i["ɵɵproperty"]("title",n.title)("content",n.title)("iconConfig",i["ɵɵpureFunction0"](3,_c1))}}function PersonalizationDropdownComponent_ng_template_2_Template(e,t){if(1&e&&i["ɵɵtemplate"](0,PersonalizationDropdownComponent_ng_template_2_sf_simple_chip_0_Template,1,4,"sf-simple-chip",4),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",n.personalizationOperationName)}}function PersonalizationDropdownComponent_div_4_img_6_Template(e,t){if(1&e&&i["ɵɵelement"](0,"img",11),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("src",n.previewImageSrc,i["ɵɵsanitizeUrl"])}}function PersonalizationDropdownComponent_div_4_ng_container_7_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵelement"](1,"div",12),i["ɵɵelementStart"](2,"div",7),i["ɵɵelementStart"](3,"h3",8),i["ɵɵtext"](4,"or Personalize entire page"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"div"),i["ɵɵtext"](6,"Add page versions with different layout and widgets"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](7,"sf-button",13),i["ɵɵlistener"]("onClick",(function PersonalizationDropdownComponent_div_4_ng_container_7_Template_sf_button_onClick_7_listener(){i["ɵɵrestoreView"](n);var e=i["ɵɵnextContext"](2);return e.onActionButtonClicked(e.createPersonalizedButton)})),i["ɵɵtext"](8,"Create personalized page"),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}}function PersonalizationDropdownComponent_div_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",6),i["ɵɵelementStart"](1,"div",7),i["ɵɵelementStart"](2,"h3",8),i["ɵɵtext"](3,"Personalize widgets"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"div",8),i["ɵɵtext"](5,"Add widget versions for selected user segments"),i["ɵɵelementEnd"](),i["ɵɵtemplate"](6,PersonalizationDropdownComponent_div_4_img_6_Template,1,1,"img",9),i["ɵɵelementEnd"](),i["ɵɵtemplate"](7,PersonalizationDropdownComponent_div_4_ng_container_7_Template,9,0,"ng-container",10),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](6),i["ɵɵproperty"]("ngIf",n.previewImageSrc),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.showOnlyWidgetsTooltip)}}var C=function(e){function PersonalizationDropdownComponent(t,n,o,r,a){var s=e.call(this)||this;return s.route=t,s.detector=n,s.modalService=o,s.actionButtonsResolver=r,s.urlService=a,s.onChange=new i.EventEmitter,s.filteredPersonalizedOperations=new l.ReplaySubject(1),s}return Object(o.__extends)(PersonalizationDropdownComponent,e),PersonalizationDropdownComponent.prototype.ngOnInit=function(){var e=this;if(this.item){var t=this.item.subscribe((function(t){return e.onItemChanged(t)}));this.registerSubscription(t)}this.personalizationOperations.subscribe((function(t){var n=t.filter((function(e){return e.Category.Name===r.OPERATION_CATEGORIES.personalization})),o=t.filter((function(e){return e.Category.Name===r.OPERATION_CATEGORIES.personalized})),i=t.filter((function(e){return e.Category.Name===r.OPERATION_CATEGORIES.personalizedWidgets}));if(e.hasNoWidgetOrPagePersonalizations=!1,e.dropdownButtonIconLook=null,e.dropdownButtonIconName=null,e.personalizationOperationName=null,0===o.length&&n.length>=0)if(e.createPersonalizedButton=e.actionButtonsResolver.getActionButtons(n)[0],e.personalizationButtonLook="toggle left fixed-width",e.dropdownButtonIconName="user",e.dropdownButtonIconLook="size-xs badge",i.length>0)e.filteredPersonalizedOperations.next(t),e.dropdownButtonIconLook+=" edit-variation";else{e.filteredPersonalizedOperations.next([]),e.hasNoWidgetOrPagePersonalizations=!0;var a=n.find((function(e){return e.Name===r.OPERATION_NAMES.createPersonalizedVersion}));a&&a.ContextParameters&&a.ContextParameters.find((function(e){return"WidgetsToolTip"===e.Name}))&&(e.showOnlyWidgetsTooltip=!0),e.setPreviewImageSrc()}else{e.personalizationButtonLook="toggle left fixed-width auto-width";var s=r.OPERATION_NAMES.loadPersonalizedVersion+"_",A=e.route.snapshot.queryParams[p.QUERY_PARAMS.SEGMENT];e.personalizationOperationName=s+(A||"Default"),e.filteredPersonalizedOperations.next(t)}e.detector.detectChanges()}))},PersonalizationDropdownComponent.prototype.onActionButtonClicked=function(e){this.removeButtonHoverClass(),this.onChange.emit(e)},PersonalizationDropdownComponent.prototype.onHover=function(e){this.personalizationButtonLook&&(e?this.addButtonHoverClass():this.removeButtonHoverClass())},PersonalizationDropdownComponent.prototype.addButtonHoverClass=function(){this.personalizationButtonLook.includes("no-hover")&&(this.personalizationButtonLook=this.personalizationButtonLook.replace(" no-hover",u.stringConstants.EMPTY_STRING))},PersonalizationDropdownComponent.prototype.removeButtonHoverClass=function(){this.personalizationButtonLook.includes("no-hover")||(this.personalizationButtonLook+=" no-hover")},PersonalizationDropdownComponent.prototype.onItemChanged=function(e){this.actionMenuOptions=new a.ActionMenuOptions(Number.NEGATIVE_INFINITY,s.OUTSIDE_MENU_MAX_ORDINAL,!0),this.detector.detectChanges()},PersonalizationDropdownComponent.prototype.setPreviewImageSrc=function(){this.previewImageSrc=this.urlService.getResourceUrl("/assets/images/preview-personalize-widget.png")},PersonalizationDropdownComponent.ɵfac=function PersonalizationDropdownComponent_Factory(e){return new(e||PersonalizationDropdownComponent)(i["ɵɵdirectiveInject"](A.ActivatedRoute),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](d.ModalWindowService),i["ɵɵdirectiveInject"](s.ActionButtonsResolver),i["ɵɵdirectiveInject"](m.UrlService))},PersonalizationDropdownComponent.ɵcmp=i["ɵɵdefineComponent"]({type:PersonalizationDropdownComponent,selectors:[["sf-personalization-dropdown"]],viewQuery:function PersonalizationDropdownComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](b,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.actionMenu=n.first)}},inputs:{item:"item",personalizationOperations:"personalizationOperations"},outputs:{onChange:"onChange"},features:[i["ɵɵInheritDefinitionFeature"]],decls:5,vars:8,consts:[["iconTitle","Personalization",3,"operations","selectedOperationName","options","renderContentWhenNoOperations","buttonsLook","dropdownButtonIconName","dropdownButtonIconLook","mouseenter","mouseleave","buttonClicked"],["actionMenu",""],["dropDownButtonTemplate",""],["content","","class","sf-dropdown__content",4,"ngIf"],["wrapperLook","icon sf-ml-3xs sf-mr-3xs sf-mb-zero white info size-m",3,"title","content","iconConfig",4,"ngIf"],["wrapperLook","icon sf-ml-3xs sf-mr-3xs sf-mb-zero white info size-m",3,"title","content","iconConfig"],["content","",1,"sf-dropdown__content"],[1,"-sf-pl-xs","-sf-pr-xs","-sf-pt-2xs","-sf-pb-xs"],[1,"-sf-mb-3xs"],[3,"src",4,"ngIf"],[4,"ngIf"],[3,"src"],[1,"-sf-border-bottom","-sf-border-lightest"],["look","small sf-mt-xs",3,"onClick"]],template:function PersonalizationDropdownComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"sf-action-menu",0,1),i["ɵɵlistener"]("mouseenter",(function PersonalizationDropdownComponent_Template_sf_action_menu_mouseenter_0_listener(){return t.onHover(!0)}))("mouseleave",(function PersonalizationDropdownComponent_Template_sf_action_menu_mouseleave_0_listener(){return t.onHover(!1)}))("buttonClicked",(function PersonalizationDropdownComponent_Template_sf_action_menu_buttonClicked_0_listener(e){return t.onActionButtonClicked(e)})),i["ɵɵtemplate"](2,PersonalizationDropdownComponent_ng_template_2_Template,1,1,"ng-template",null,2,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](4,PersonalizationDropdownComponent_div_4_Template,8,2,"div",3),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵproperty"]("operations",t.filteredPersonalizedOperations)("selectedOperationName",t.personalizationOperationName)("options",t.actionMenuOptions)("renderContentWhenNoOperations",!0)("buttonsLook",t.personalizationButtonLook)("dropdownButtonIconName",t.dropdownButtonIconName)("dropdownButtonIconLook",t.dropdownButtonIconLook),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.hasNoWidgetOrPagePersonalizations))},directives:[f.ActionMenuComponent,g.NgIf,E.SimpleChipComponent,h.SfButtonComponent],encapsulation:2}),PersonalizationDropdownComponent}(c.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ConfigOperationsFilter",(function(){return A})),n.d(t,"CONFIG_OPERATION_FILTER",(function(){return l}));var o=n(229),i=n(397),r=n(319),a=n(256),s=n(315),A=function(){function ConfigOperationsFilter(e){this.configService=e}return ConfigOperationsFilter.prototype.filter=function(e,t){var n,o=(null!==(n=this.configService.externalConfig.changeOwnerAllowedTypes)&&void 0!==n?n:[]).indexOf(t.dataItem.metadata.setName)>-1;return t.dataItem.metadata.setName===a.ENTITY_SET.PAGES||o?e:e.filter((function(e){return e.Name!==r.OPERATION_NAMES.changeOwner}))},ConfigOperationsFilter.ɵfac=function ConfigOperationsFilter_Factory(e){return new(e||ConfigOperationsFilter)(o["ɵɵinject"](s.ExternalAppConfigService))},ConfigOperationsFilter.ɵprov=o["ɵɵdefineInjectable"]({token:ConfigOperationsFilter,factory:ConfigOperationsFilter.ɵfac}),ConfigOperationsFilter}(),l={multi:!0,provide:i.OPERATIONS_FILTER_TOKEN,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"ListIndexComponent",(function(){return j}));var o=n(259),i=n(229),r=n(260),a=n(11),s=n(369),A=n(262),l=n(317),c=n(1173),d=n(284),p=n(1638),f=n(1639),u=n(1118),m=n(1178),g=n(1177),E=n(1648),h=n(1180),b=n(319),C=n(316),B=n(1490),k=n(1539),I=n(1179),v=n(1216),w=n(1534),_=n(131),x=n(264),y=n(268),S=n(1063),T=n(1138),M=n(261),D=n(354),Q=n(1115),N=n(1649),R=n(417),F=n(1570),O=n(1585),P=n(1135),U=n(1218),L=n(1650),z=["navigationMenuTemplate"],G=["navigationMenuSearch"],H=["navigationMenuSpacer"];function ListIndexComponent_sf_loader_1_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-loader",9)}function ListIndexComponent_div_2_div_1_ng_container_7_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ListIndexComponent_div_2_div_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",24,25),i["ɵɵelementStart"](2,"div",26),i["ɵɵelementStart"](3,"h1",27),i["ɵɵtext"](4),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"span",28),i["ɵɵlistener"]("click",(function ListIndexComponent_div_2_div_1_Template_span_click_5_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).scrollService.scrollToTop()})),i["ɵɵtext"](6," Back to top "),i["ɵɵelementEnd"](),i["ɵɵtemplate"](7,ListIndexComponent_div_2_div_1_ng_container_7_Template,1,0,"ng-container",23),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵreference"](1),r=i["ɵɵnextContext"](2),a=i["ɵɵreference"](4);i["ɵɵadvance"](2),i["ɵɵclassProp"]("-sf-hidden",!o.isSticky),i["ɵɵadvance"](2),i["ɵɵtextInterpolate1"](" ",r.listIndexModel.title," "),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngTemplateOutlet",a)}}function ListIndexComponent_div_2_sf_search_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-search",29),i["ɵɵlistener"]("searchValueChange",(function ListIndexComponent_div_2_sf_search_5_Template_sf_search_searchValueChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).searchParameter=e}))("searchValueChange",(function ListIndexComponent_div_2_sf_search_5_Template_sf_search_searchValueChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSearch(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("searchValue",o.searchParameter)("placeholderText",o.listIndexModel.searchArgs.placeholder)}}function ListIndexComponent_div_2_sf_navigation_menu_8_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-navigation-menu",30),i["ɵɵlistener"]("leftNavButtonClick",(function ListIndexComponent_div_2_sf_navigation_menu_8_Template_sf_navigation_menu_leftNavButtonClick_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onNavigateBack()}))("scroll",(function ListIndexComponent_div_2_sf_navigation_menu_8_Template_sf_navigation_menu_scroll_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onNavigationScroll(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("configuration",o.navbarConfiguration)}}function ListIndexComponent_div_2_ng_container_14_div_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",32),i["ɵɵelement"](1,"sf-no-items-found",33),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵproperty"]("iconName",n.listIndexModel.emptyScreenIcon)("message",n.listIndexModel.emptyListMessage)}}function ListIndexComponent_div_2_ng_container_14_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ListIndexComponent_div_2_ng_container_14_div_1_Template,2,2,"div",31),i["ɵɵelementContainerEnd"]()),2&e){var n=t.ngIf;i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.hasItems&&!n.isLoadingItems)}}function ListIndexComponent_div_2_ng_container_17_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ListIndexComponent_div_2_div_18_sf_chips_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-chips",36),i["ɵɵlistener"]("selectChip",(function ListIndexComponent_div_2_div_18_sf_chips_1_Template_sf_chips_selectChip_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](3).onFilterUpdate(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](3);i["ɵɵproperty"]("isSingleSelection",!0)("dropdownChips",o.listIndexModel.filterArgs.filterValues)("isLoading",!0)("selectedChips",o.selectedFilters)("displayField",o.listIndexModel.filterArgs.filterDisplayValue)("look",o.listLook)("config",o.listIndexModel.filterArgs.filterConfig)}}function ListIndexComponent_div_2_div_18_ng_container_3_ng_container_1_sf_notification_1_ng_container_2_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ListIndexComponent_div_2_div_18_ng_container_3_ng_container_1_sf_notification_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"sf-notification",38),i["ɵɵelementStart"](1,"div",39),i["ɵɵtemplate"](2,ListIndexComponent_div_2_div_18_ng_container_3_ng_container_1_sf_notification_1_ng_container_2_Template,1,0,"ng-container",23),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){i["ɵɵnextContext"](5);var n=i["ɵɵreference"](14);i["ɵɵadvance"](1),i["ɵɵclassProp"]("-out-of-view",!0),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n)}}function ListIndexComponent_div_2_div_18_ng_container_3_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ListIndexComponent_div_2_div_18_ng_container_3_ng_container_1_sf_notification_1_Template,3,3,"sf-notification",37),i["ɵɵpipe"](2,"async"),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"](4);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](2,1,n.activeSearchValue))}}function ListIndexComponent_div_2_div_18_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ListIndexComponent_div_2_div_18_ng_container_3_ng_container_1_Template,3,3,"ng-container",2),i["ɵɵelementContainerEnd"]()),2&e){var n=t.ngIf;i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.isLoadingItems)}}function ListIndexComponent_div_2_div_18_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",34),i["ɵɵtemplate"](1,ListIndexComponent_div_2_div_18_sf_chips_1_Template,1,7,"sf-chips",35),i["ɵɵpipe"](2,"async"),i["ɵɵtemplate"](3,ListIndexComponent_div_2_div_18_ng_container_3_Template,2,1,"ng-container",2),i["ɵɵpipe"](4,"async"),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!i["ɵɵpipeBind1"](2,2,n.activeSearchValue)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](4,4,n.itemsState$))}}function ListIndexComponent_div_2_ng_container_20_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ListIndexComponent_div_2_ng_container_21_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"sf-list",40),i["ɵɵlistener"]("itemSelectionChanged",(function ListIndexComponent_div_2_ng_container_21_Template_sf_list_itemSelectionChanged_1_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onItemSelected(e)}))("onCommand",(function ListIndexComponent_div_2_ng_container_21_Template_sf_list_onCommand_1_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onCommand(e)})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"sf-load-more-search",41),i["ɵɵlistener"]("onLoadMore",(function ListIndexComponent_div_2_ng_container_21_Template_sf_load_more_search_onLoadMore_2_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).loadItems(!1)}))("onSearch",(function ListIndexComponent_div_2_ng_container_21_Template_sf_load_more_search_onSearch_2_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSearch(e)})),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}if(2&e){var o=t.ngIf,r=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("look",r.listLook)("ignoreLoaderDelay",!0)("itemsState",o)("treeConfig",r.treeConfig)("columns",r.listIndexModel.columns),i["ɵɵadvance"](1),i["ɵɵproperty"]("hidden",o.isLoadingItems||!o.hasItems)("loadCount",o.getNextBatchCount(r.listIndexModel.pageSize))("pluralTitle",r.listIndexModel.pluralName)("currentItemsCount",o.dataItems.length)("singularTitle",r.listIndexModel.singularName)("allItemsCount",o.totalCount)("isSearchEnabled",r.listIndexModel.isLoadMoreSearchEnabled)("isFilterEnabled",r.listIndexModel.isLoadMoreFilterEnabled)("searchValue",r.searchParameter)}}var _c3=function(e,t){return{"-empty":e,"-sf-invisible":t}},_c4=function(e){return{"-justify-content-center":e}},_c5=function(){return{isInHeader:!1}};function ListIndexComponent_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtemplate"](1,ListIndexComponent_div_2_div_1_Template,8,4,"div",10),i["ɵɵpipe"](2,"async"),i["ɵɵpipe"](3,"async"),i["ɵɵelementStart"](4,"div",11),i["ɵɵtemplate"](5,ListIndexComponent_div_2_sf_search_5_Template,1,2,"sf-search",12),i["ɵɵelementEnd"](),i["ɵɵelementStart"](6,"div",13),i["ɵɵelementStart"](7,"main",14),i["ɵɵtemplate"](8,ListIndexComponent_div_2_sf_navigation_menu_8_Template,1,1,"sf-navigation-menu",15),i["ɵɵelementStart"](9,"div",16),i["ɵɵpipe"](10,"async"),i["ɵɵelementStart"](11,"div",17),i["ɵɵelementStart"](12,"h1",18),i["ɵɵtext"](13),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵtemplate"](14,ListIndexComponent_div_2_ng_container_14_Template,2,1,"ng-container",2),i["ɵɵpipe"](15,"async"),i["ɵɵelementStart"](16,"div",19),i["ɵɵtemplate"](17,ListIndexComponent_div_2_ng_container_17_Template,1,0,"ng-container",20),i["ɵɵelementEnd"](),i["ɵɵtemplate"](18,ListIndexComponent_div_2_div_18_Template,5,6,"div",21),i["ɵɵelementStart"](19,"div",22),i["ɵɵtemplate"](20,ListIndexComponent_div_2_ng_container_20_Template,1,0,"ng-container",23),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵtemplate"](21,ListIndexComponent_div_2_ng_container_21_Template,3,14,"ng-container",2),i["ɵɵpipe"](22,"async"),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](),o=i["ɵɵreference"](6),r=i["ɵɵreference"](4);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.listIndexModel.navigationVisible&&!!i["ɵɵpipeBind1"](2,13,n.itemsState$)&&i["ɵɵpipeBind1"](3,15,n.itemsState$).hasLoadedItems),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",n.listIndexModel.searchArgs),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",n.listIndexModel.navigationVisible),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction2"](23,_c3,n.isEmpty&&!n.listIndexModel.filterArgs,n.isScrolled&&i["ɵɵpipeBind1"](10,17,n.activeSearchValue))),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](26,_c4,n.isEmpty&&!n.listIndexModel.filterArgs)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",n.listIndexModel.titleCss||"-sf-h-large"),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.listIndexModel.title," "),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](15,19,n.itemsState$)),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",i["ɵɵpureFunction0"](28,_c5)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.listIndexModel.filterArgs||n.listIndexModel.searchArgs),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngTemplateOutlet",r),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](22,21,n.itemsState$))}}function ListIndexComponent_ng_template_3_sf_action_menu_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-action-menu",43),i["ɵɵlistener"]("buttonClicked",(function ListIndexComponent_ng_template_3_sf_action_menu_0_Template_sf_action_menu_buttonClicked_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onActionButtonClicked(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=t.ngIf,r=i["ɵɵnextContext"](2);i["ɵɵproperty"]("operations",r.listIndexModel.operations)("buttonsLook",o.isLoadingItems||o.hasItems?"":"large")}}function ListIndexComponent_ng_template_3_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,ListIndexComponent_ng_template_3_sf_action_menu_0_Template,1,2,"sf-action-menu",42),i["ɵɵpipe"](1,"async")),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",i["ɵɵpipeBind1"](1,1,n.itemsState$))}}function ListIndexComponent_ng_template_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-notification-loader",44),i["ɵɵlistener"]("onCommand",(function ListIndexComponent_ng_template_5_Template_sf_notification_loader_onCommand_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onNotificationCommand(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=t.isInHeader,r=i["ɵɵnextContext"]();i["ɵɵproperty"]("isInHeader",o)("filter",r.notificationFilter)}}function ListIndexComponent_ng_template_7_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"h3",45),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.listIndexModel.navigationTitle)}}function ListIndexComponent_ng_template_9_ng_container_0_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ListIndexComponent_ng_template_9_Template(e,t){if(1&e&&i["ɵɵtemplate"](0,ListIndexComponent_ng_template_9_ng_container_0_Template,1,0,"ng-container",23),2&e){i["ɵɵnextContext"]();var n=i["ɵɵreference"](14);i["ɵɵproperty"]("ngTemplateOutlet",n)}}function ListIndexComponent_ng_template_11_Template(e,t){1&e&&i["ɵɵelement"](0,"div")}function ListIndexComponent_ng_template_13_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-search-notification",46),i["ɵɵlistener"]("clearSearch",(function ListIndexComponent_ng_template_13_Template_sf_search_notification_clearSearch_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onClearSearch()})),i["ɵɵpipe"](1,"async"),i["ɵɵpipe"](2,"async"),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("searchValue",i["ɵɵpipeBind1"](1,2,o.activeSearchValue))("itemsState",i["ɵɵpipeBind1"](2,4,o.itemsState$))}}var j=function(e){function ListIndexComponent(t,n,o,i,r,s,l,c,d,p,f){var u=e.call(this)||this;return u.buttonStateService=t,u.serverOperationExecutor=n,u.listIndexContractProvider=o,u.modalService=i,u.scrollService=r,u.notificationService=s,u.route=l,u.dynamicItemService=c,u.router=d,u.activatedRoute=p,u.contentFilterService=f,u.itemsState$=new a.ReplaySubject(1),u.isInitialLoadFinished=!1,u.treeConfig={noSelection:!0},u.selectedFilters=[],u.searchParameter=null,u.activeSearchValue=new a.BehaviorSubject(null),u.isEmpty=!1,u.serverOperationPending=!1,u.filter=null,u.filterParam=A.FILTER_PARAMS.FILTER,u.searchParam=A.FILTER_PARAMS.SEARCH,u.entityData=u.route.snapshot.data[A.RESOLVE_NAMES.entityData],u.notificationFilter=u.entityData.metadata.typeFullName,u}return Object(o.__extends)(ListIndexComponent,e),ListIndexComponent.prototype.ngOnInit=function(){var e=this,t=this.route.snapshot.params[A.ROUTE_PARAMS.ITEM_ID];t?this.dynamicItemService.getItem({itemKey:t,entityData:this.entityData}).subscribe((function(t){e.dataItem=t,e.initContract()})):this.initContract(),this.registerSubscription(this.itemsState$.subscribe((function(t){e.isEmpty=t&&!t.isLoadingItems&&!t.hasItems,e.navbarConfiguration&&(e.navbarConfiguration.isScrollEnabled=t.hasLoadedItems||!t.hasLoadedItems&&t.isLoadingItems)})))},ListIndexComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.notificationService.close(this.notificationFilter)},ListIndexComponent.prototype.onCommand=function(e){if(e)switch(e.name){case h.COMMAND_NAMES.itemActionClicked:var t=e.data;this.onActionButtonClicked(t.button,t.dataItem)}},ListIndexComponent.prototype.onActionButtonClicked=function(e,t){var n=this;switch(e.name){case b.OPERATION_TITLES.properties:this.openCreateEditScreen(t);break;case b.OPERATION_TITLES.create:this.openCreateEditScreen();break;default:this.listIndexContract.tryExecuteOperation(t,e,this.activatedRoute).pipe(Object(_.first)()).subscribe((function(o){o.isExecuted?o.requiresReload&&n.loadItems():n.handleServerOperation(e,t).subscribe()}))}},ListIndexComponent.prototype.handleServerOperation=function(e,t){var n=this,o=new a.ReplaySubject(1);return this.serverOperationPending||this.serverOperationExecutor.execute({actionButton:e,actionButtonStateService:this.buttonStateService,route:this.route,updateItem:{dataItem:t}}).subscribe((function(e){n.loadItems(),o.next(e)}),(function(){n.serverOperationPending=!1,n.handleSaveError(e.name)})),o.asObservable()},ListIndexComponent.prototype.onFilterUpdate=function(e){var t;this.selectedFilters[0]=e,this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:(t={},t[this.filterParam]=e.value,t),queryParamsHandling:"merge"})},ListIndexComponent.prototype.onNavigationScroll=function(e){this.isScrolled=e},ListIndexComponent.prototype.initContract=function(){var t=this;this.listIndexContract=this.listIndexContractProvider.getContract({entityData:this.entityData,route:this.route}),this.listIndexModel=this.listIndexContract.getListIndexModel({typeFullName:this.entityData.metadata.typeFullName,dataItem:this.dataItem}),this.notificationFilter=this.listIndexModel.notificationFilter||this.notificationFilter,this.notificationService.close(this.notificationFilter),this.listIndexModel.navigationVisible&&(this.navbarConfiguration={mode:w.NavbarModes.TwoColumns,leftNavbarButtonData:{show:!0,look:"toggle",icon:"angle-left",iconLook:"size-2xl",mode:w.LeftNavbarButtonMode.Back,title:this.listIndexModel.navigationButtonTitle},isScrollEnabled:!0,templates:[this.navigationMenuTemplate],scrollTemplates:[this.navigationMenuSearchTemplate,this.navigationMenuSpacerTemplate]}),this.listIndexModel.filterArgs?(this.listIndexModel.filterArgs||this.listIndexModel.searchArgs)&&(this.listIndexModel.filterArgs&&(this.selectedFilters[0]=this.listIndexModel.filterArgs.filterValues[0]),this.queryParamsSubscription=this.activatedRoute.queryParamMap.subscribe((function(e){var n=e.get(t.filterParam);if(t.filter!==n){t.filter=n;var o=t.listIndexModel.filterArgs.filterValues.find((function(e){return e.value===t.filter}));o&&(t.selectedFilters[0]=o)}var i=e.get(t.searchParam),r=null;null!=i&&(r=t.contentFilterService.deserializeQueryParams(i)),!t.searchParameter&&r&&r.length>0&&(t.searchParameter=r[0].value[0]),t.searchParameter!==t.activeSearchValue.value&&(r?(t.activeSearchValue.next(r[0].value[0]),t.searchParameter=r[0].value[0]):(t.searchParameter=null,t.activeSearchValue.next(t.searchParameter))),t.loadItems()})),e.prototype.registerSubscription.call(this,this.queryParamsSubscription)):this.loadItems()},ListIndexComponent.prototype.handleSaveError=function(e){var t="An error occurred while trying to "+e+" this item.";this.notificationService.publishNotification({type:I.BasicNotificationComponent,properties:{message:t},look:m.NOTIFICATION_LOOKS.ERROR,closeButton:!0,filterParam:this.notificationFilter,duration:A.NOTIFICATION_DURATION_INFINITE})},ListIndexComponent.prototype.onItemSelected=function(e){this.openCreateEditScreen(e)},ListIndexComponent.prototype.onNavigateBack=function(){this.router.navigate([this.listIndexModel.navigationBackUrl])},ListIndexComponent.prototype.onSearch=function(e){var t=this;if(e){this.searchParameter=e,this.scrollService.scrollToTop(!1);var n=Object.assign({},this.route.snapshot.queryParams);delete n[this.filterParam],this.filter=null;var o={};this.contentFilterService.getSearchFields(this.entityData).forEach((function(e){return o[e.fieldName]=[t.searchParameter]}));var i=this.contentFilterService.serializeQueryParams(o);n[this.searchParam]=i,this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:n})}},ListIndexComponent.prototype.onClearSearch=function(){this.searchParameter=null;var e=Object.assign({},this.route.snapshot.queryParams);delete e[this.searchParam],e[this.filterParam]="all",this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:e})},ListIndexComponent.prototype.loadItems=function(e){var t,n,i=this;void 0===e&&(e=!0);var r={loadData:{entityData:this.entityData,action:this.route.snapshot.params[A.ROUTE_PARAMS.OPERATION_NAME_SEGMENT]},dataItem:this.dataItem},a=[],s=0;e?r.loadData.take=this.listIndexModel.pageSize:this.lastItemsState&&(r.loadData.take=this.lastItemsState.getNextBatchCount(this.listIndexModel.pageSize),r.loadData.skip=this.lastItemsState.loadedItemsCount,a=Object(o.__spreadArrays)(this.lastItemsState.dataItems),s=this.lastItemsState.totalCount),this.listIndexModel.filterArgs&&this.filter&&(r.loadData.additionalQueryParams=((t={})[this.filterParam]=this.filter,t)),this.listIndexModel.searchArgs&&this.searchParameter&&(r.loadData.additionalQueryParams=((n={})[this.searchParam]=this.searchParameter,n));var l=c.StateWrapper.wrap({dataItems:a,loadingItemsCount:r.loadData.take||C.DEFAULT_TAKE,totalCount:s});this.itemsState$.next(l),this.listIndexContract.getListItems(r).pipe(Object(S.toLoadingState)(),Object(S.delayEmission)(T.MINIMUM_LOADER_TIME)).subscribe((function(t){var n;if(!t.isLoading){var o=t.content;!e&&Array.isArray(a)?(n=o.dataItems).unshift.apply(n,a):i.isInitialLoadFinished=!0,i.lastItemsState=c.StateWrapper.wrap(o),i.itemsState$.next(i.lastItemsState)}}))},ListIndexComponent.prototype.openCreateEditScreen=function(e){var t=this,n={typeFullName:this.entityData.metadata.typeFullName,detailsMode:e?p.LIST_INDEX_DETAILS_MODES.EDIT:p.LIST_INDEX_DETAILS_MODES.CREATE},o=this.listIndexContract.getListDetailsModel(n),i={type:E.ListDetailComponent,afterComponentInit:function(){},properties:{editorMetadata:{propertyValues:e&&e.data?e.data:{},propertyMetadata:o.propertyMetadata,propertyMetadataFlat:[],propertyLocalizationMode:null,name:o.title,caption:o.title}}},r=[new u.ConfirmButton(o.saveButtonText,(function(n){return t.saveItem(n,e)})),new u.CancelButton("Cancel")],a=new u.DialogData(i,(function(){}),r,null);this.modalService.setMapping(a,"edit"),this.modalService.show("edit",this.route.parent)},ListIndexComponent.prototype.saveItem=function(e,t){var n=this,o=new a.ReplaySubject(1);o.next(new u.ClickResult(!0,!1));var i=e.component.editorComponent;return i.validate().subscribe((function(e){if(e&&e.isValid){var r=i.getModifiedProperties();t||(t=l.DataItem.emptyItem(n.entityData)),n.listIndexContract.setPropertyValues(t,r).subscribe((function(){n.loadItems(),o.next(new u.ClickResult(!0,!0))}),(function(e){o.next(new u.ClickResult(!0,!1,!0)),e instanceof d.ValidationError?i.showValidationErrors(e):(n.notificationService.publishBasicNotification({message:e.message,look:m.NOTIFICATION_LOOKS.ERROR,duration:A.NOTIFICATION_DURATION_INFINITE,filterParam:v.MODAL_WINDOW_NOTIFICATION_FILTER}),n.scrollService.scrollToTop())}))}else o.next(new u.ClickResult(!1,!1,!0,!1))})),o},ListIndexComponent.ɵfac=function ListIndexComponent_Factory(e){return new(e||ListIndexComponent)(i["ɵɵdirectiveInject"](B.ActionButtonsStateService),i["ɵɵdirectiveInject"](k.ActionExecutorService),i["ɵɵdirectiveInject"](f.ListIndexContractProvider),i["ɵɵdirectiveInject"](u.ModalWindowService),i["ɵɵdirectiveInject"](s.ScrollService),i["ɵɵdirectiveInject"](g.NOTIFICATION_SERVICE),i["ɵɵdirectiveInject"](r.ActivatedRoute),i["ɵɵdirectiveInject"](C.DynamicItemService),i["ɵɵdirectiveInject"](r.Router),i["ɵɵdirectiveInject"](r.ActivatedRoute),i["ɵɵdirectiveInject"](y.ContentFilterService))},ListIndexComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ListIndexComponent,selectors:[["sf-list-index"]],viewQuery:function ListIndexComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](z,3),i["ɵɵviewQuery"](G,1),i["ɵɵviewQuery"](H,1)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.navigationMenuTemplate=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.navigationMenuSearchTemplate=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.navigationMenuSpacerTemplate=n.first)}},features:[i["ɵɵProvidersFeature"]([B.ActionButtonsStateService]),i["ɵɵInheritDefinitionFeature"]],decls:15,vars:2,consts:[["name","dialog"],["look","home",4,"ngIf"],[4,"ngIf"],["topMenuOptions",""],["notificationsLoader",""],["navigationMenuTemplate",""],["navigationMenuSearch",""],["navigationMenuSpacer",""],["searchNotification",""],["look","home"],["sfSticky","",4,"ngIf"],[1,"-sf-search-centered","-sf-mt-4xs"],["class","-sf-align-self-center",3,"searchValue","placeholderText","searchValueChange",4,"ngIf"],[1,"sf-wrapper","-list","sf-router-wrapper"],[1,"sf-main","-list"],[3,"configuration","leftNavButtonClick","scroll",4,"ngIf"],[1,"sf-main-list-header","-sf-mb-2xs","sf-main__header",3,"ngClass"],[1,"sf-main-list-header__title",3,"ngClass"],[1,"-sf-fade-in",3,"ngClass"],[1,"sf-main-list-header__bulk","sf-tree-list__controlls","-sf-mt-2xs"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["class","sf-main-list-header__notification sf-tree-list__controlls -sf-mt-3xs -sf-mb-4xs",4,"ngIf"],[1,"sf-main-list-header__buttons"],[4,"ngTemplateOutlet"],["sfSticky",""],["stickyToolbar","sfSticky"],[1,"sf-row","sf-top-toolbar","-sf-pl-4xl","-sf-pr-3xl"],[1,"h3"],["tabindex","0",1,"sf-link","sf-row__col","-align-self-center","-sf-txt-align-center","-sf-mr-6xl",3,"click"],[1,"-sf-align-self-center",3,"searchValue","placeholderText","searchValueChange"],[3,"configuration","leftNavButtonClick","scroll"],["class","sf-main-list-header__empty-message",4,"ngIf"],[1,"sf-main-list-header__empty-message"],["textLook","sf-mt-xs","look","sf-mt-8xl",3,"iconName","message"],[1,"sf-main-list-header__notification","sf-tree-list__controlls","-sf-mt-3xs","-sf-mb-4xs"],[3,"isSingleSelection","dropdownChips","isLoading","selectedChips","displayField","look","config","selectChip",4,"ngIf"],[3,"isSingleSelection","dropdownChips","isLoading","selectedChips","displayField","look","config","selectChip"],["look","small inline",4,"ngIf"],["look","small inline"],["role","status","aria-live","polite","data-sftest","main-filter-notification",1,"sf-row","-align-items-center"],[3,"look","ignoreLoaderDelay","itemsState","treeConfig","columns","itemSelectionChanged","onCommand"],[1,"sf-main__paging",3,"hidden","loadCount","pluralTitle","currentItemsCount","singularTitle","allItemsCount","isSearchEnabled","isFilterEnabled","searchValue","onLoadMore","onSearch"],[3,"operations","buttonsLook","buttonClicked",4,"ngIf"],[3,"operations","buttonsLook","buttonClicked"],["look","inline","data-sftest","sf-notificaion-loader",3,"isInHeader","filter","onCommand"],[1,"-sf-ml-xs"],[3,"searchValue","itemsState","clearSearch"]],template:function ListIndexComponent_Template(e,t){1&e&&(i["ɵɵelement"](0,"router-outlet",0),i["ɵɵtemplate"](1,ListIndexComponent_sf_loader_1_Template,1,0,"sf-loader",1),i["ɵɵtemplate"](2,ListIndexComponent_div_2_Template,23,29,"div",2),i["ɵɵtemplate"](3,ListIndexComponent_ng_template_3_Template,2,3,"ng-template",null,3,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](5,ListIndexComponent_ng_template_5_Template,1,2,"ng-template",null,4,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](7,ListIndexComponent_ng_template_7_Template,2,1,"ng-template",null,5,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](9,ListIndexComponent_ng_template_9_Template,1,1,"ng-template",null,6,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](11,ListIndexComponent_ng_template_11_Template,1,0,"ng-template",null,7,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](13,ListIndexComponent_ng_template_13_Template,3,6,"ng-template",null,8,i["ɵɵtemplateRefExtractor"])),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.isInitialLoadFinished),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.listIndexModel))},directives:[r.RouterOutlet,M.NgIf,D.SfLoaderComponent,M.NgClass,M.NgTemplateOutlet,Q.StickyDirective,D.SfSearchComponent,w.NavigationMenuComponent,N.NoItemsFoundComponent,R.ChipsComponent,D.SfNotificationComponent,F.ListComponent,O.LoadMoreSearchComponent,P.ActionMenuComponent,U.NotificationLoaderComponent,L.SearchNotificationComponent],pipes:[M.AsyncPipe],encapsulation:2}),ListIndexComponent}(x.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ListIndexContract",(function(){return i})),n.d(t,"LIST_INDEX_DETAILS_MODES",(function(){return r}));var o=n(11),i=function(){function ListIndexContract(e,t,n){this.entityData=e,this.dynamicItemService=t,this.router=n}return ListIndexContract.prototype.getListItems=function(e){return this.dynamicItemService.getItemList(e.loadData)},ListIndexContract.prototype.setPropertyValues=function(e,t){var n={};return t.forEach((function(e){n[e.Name]=e.Value})),this.dynamicItemService.upsert({data:n,dataItem:e})},ListIndexContract.prototype.tryExecuteOperation=function(e,t,n){return Object(o.of)({isExecuted:!1,requiresReload:!1})},ListIndexContract}(),r={CREATE:"create",EDIT:"edit"}},function(e,t,n){"use strict";n.r(t),n.d(t,"ListIndexContractProvider",(function(){return f}));var o=n(260),i=n(3),r=n(262),a=n(316),s=n(1640),A=n(1645),l=n(319),c=n(256),d=n(1118),p=n(229),f=function(){function ListIndexContractProvider(e,t,n,o){this.dynamicItemService=e,this.router=t,this.modalWindowService=n,this.notificationService=o}return ListIndexContractProvider.prototype.getContract=function(e){var t=e.route.snapshot.params[r.ROUTE_PARAMS.OPERATION_NAME_SEGMENT];if(e.entityData.metadata.setName===c.ENTITY_SET.SERVICEHOOKS)return t===l.OPERATION_NAMES.history?new s.ServiceHookHistoryContract(e.entityData,this.dynamicItemService,this.router,this.modalWindowService,this.notificationService):new A.ServiceHooksContract(e.entityData,this.dynamicItemService,this.router);throw new Error("Not supported entity")},ListIndexContractProvider.ɵfac=function ListIndexContractProvider_Factory(e){return new(e||ListIndexContractProvider)(p["ɵɵinject"](a.DynamicItemService),p["ɵɵinject"](o.Router),p["ɵɵinject"](d.ModalWindowService),p["ɵɵinject"](i.NOTIFICATION_SERVICE))},ListIndexContractProvider.ɵprov=p["ɵɵdefineInjectable"]({token:ListIndexContractProvider,factory:ListIndexContractProvider.ɵfac}),ListIndexContractProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SERVICE_HOOKS_HISTORY_DAYS_COUNT",(function(){return h})),n.d(t,"ServiceHookHistoryContract",(function(){return b}));var o=n(259),i=n(11),r=n(131),a=n(1641),s=n(258),A=n(319),l=n(1638),c=n(1152),d=n(256),p=n(1642),f=n(1385),u=n(1643),m=n(1644),g=n(262),E=n(1389),h=14,b=function(e){function ServiceHookHistoryContract(t,n,o,i,r){var a=e.call(this,t,n,o)||this;return a.modalWindowService=i,a.notificationService=r,a}return Object(o.__extends)(ServiceHookHistoryContract,e),ServiceHookHistoryContract.prototype.getListIndexModel=function(e){return{title:e.dataItem.data.Title,titleCss:"-sf-h-medium",emptyListMessage:"No runs found in the last "+h+" days",columns:[{name:"Main",title:"Trigger",css:"-title -no-pointer",dataFieldNames:["Title"],componentData:{type:s.MainFieldComponent,properties:{hasStatusIcon:!1}},clickable:!1},{name:"Status",title:"Status",css:"-no-pointer -col-size-m",dataFieldNames:["Status"],componentData:{type:p.ErrorStatusComponent,properties:{errorLabel:"Why?",successStatus:g.SERVICE_HOOK_ACTIVITY_STATUS.SUCCESSFUL}},clickable:!1},{name:"StartTime",title:"Start",css:"-no-pointer -col-size-m",dataFieldNames:["StartTime"],componentData:{type:f.DateTimePickerReadOnlyComponent,properties:{displayAsRelativeDate:!0,settings:{look:"-two-lines"}}},clickable:!1},{name:"Duration",title:"Duration",css:"-no-pointer -col-size-sm",dataFieldNames:["Duration"],componentData:{type:u.DurationComponent},clickable:!1},{name:"Actions",title:"",css:"-action -col-size-3xs",componentData:{type:a.GridActionMenuComponent,properties:{operations$:this.getOperations()}}}],operations:Object(i.of)([]),singularName:"run",pluralName:"runs",emptyScreenIcon:E.EMPTY_SCREEN_ICONS["servicehooks-history"],navigationVisible:!0,navigationTitle:A.OPERATION_TITLES.runsHistory,navigationButtonTitle:"Back to Service hooks",navigationBackUrl:c.ROUTE_PATHS.INTEGRATIONS+"/"+d.ENTITY_SET.SERVICEHOOKS,pageSize:50,isLoadMoreSearchEnabled:!0,isLoadMoreFilterEnabled:!1,filterArgs:{filterDisplayValue:"name",filterValues:[{name:"All runs",value:"all"},{name:"Successful runs",value:"success"},{name:"Failed runs",value:"fail"}],filterConfig:{showRecentLabel:!1,showSelectedItemAsActive:!0,actions:[]}},notificationFilter:this.entityData.metadata.typeFullName+"Activity",searchArgs:{placeholder:"Search by trigger..."}}},ServiceHookHistoryContract.prototype.getOperations=function(){var e={Title:A.OPERATION_TITLES.runAgain,Name:A.OPERATION_NAMES.runAgain,Category:{Name:A.OPERATION_TITLES.runAgain}};return Object(i.of)([e])},ServiceHookHistoryContract.prototype.getListItems=function(e){var t,n,o,i=this;if(e.loadData.action===A.OPERATION_NAMES.history){var a={};e.loadData.skip&&(a.$skip=e.loadData.skip),e.loadData.take&&(a.$top=e.loadData.take),(null===(t=e.loadData.additionalQueryParams)||void 0===t?void 0:t[g.FILTER_PARAMS.SEARCH])&&(a.$search=e.loadData.additionalQueryParams[g.FILTER_PARAMS.SEARCH]);var s="Default.GetHistory(filter='"+(null!==(o=null===(n=e.loadData.additionalQueryParams)||void 0===n?void 0:n[g.FILTER_PARAMS.FILTER])&&void 0!==o?o:"all")+"')";return this.dynamicItemService.executeBoundFunction(e.dataItem,s,[],a).pipe(Object(r.map)((function(t){return i.dynamicItemService.getItemListMapper(t,e.loadData.entityData)})))}throw new Error("Operation not supported.")},ServiceHookHistoryContract.prototype.getListDetailsModel=function(e){throw new Error("Method not implemented.")},ServiceHookHistoryContract.prototype.tryExecuteOperation=function(t,n,o){var a=this;if(n.name===A.OPERATION_NAMES.runAgain){var s=null,l=!1,c=new m.RunAgainCommand(this.modalWindowService,this.dynamicItemService);return c.execute({model:null,data:{dataItem:t,action:n},currentRoute:o}).pipe(Object(r.first)(),Object(r.map)((function(e){return l=e,{isExecuted:!0,requiresReload:e}})),Object(r.catchError)((function(e){return s=e,Object(i.of)({isExecuted:!0,requiresReload:e&&e.activityStatus===g.SERVICE_HOOK_ACTIVITY_STATUS.FAILED})})),Object(r.finalize)((function(){var e=c.getNotification(s,l);if(e){var n=a.getListIndexModel({typeFullName:t.metadata.typeFullName,dataItem:t});e.filterParam=n.notificationFilter,a.notificationService.publishBasicNotification(e)}})))}return e.prototype.tryExecuteOperation.call(this,t,n,o)},ServiceHookHistoryContract}(l.ListIndexContract)},function(e,t,n){"use strict";n.r(t),n.d(t,"GridActionMenuComponent",(function(){return f}));var o=n(11),i=n(131),r=n(322),a=n(321),s=n(1180),A=n(396),l=n(394),c=n(1206),d=n(244),p=n(229);function GridActionMenuComponent_sf_action_menu_0_Template(e,t){if(1&e){var n=p["ɵɵgetCurrentView"]();p["ɵɵelementStart"](0,"sf-action-menu",1),p["ɵɵlistener"]("buttonClicked",(function GridActionMenuComponent_sf_action_menu_0_Template_sf_action_menu_buttonClicked_0_listener(e){return p["ɵɵrestoreView"](n),p["ɵɵnextContext"]().onActionButtonClicked(e)})),p["ɵɵelementEnd"]()}if(2&e){var o=p["ɵɵnextContext"]();p["ɵɵpropertyInterpolate1"]("ariaLabel","Actions for ",o.context.dataItem.title,""),p["ɵɵproperty"]("lazy",!0)("operations",o.operations$)("dropdownButtonText",o.dropdownButtonText)("options",o.actionMenuOptions)("dropdownButtonIconName",o.dropdownButtonIconName)("dropdownButtonIconLook",o.isDimmed?"size-m light":"size-m")("moveInViewportTolerance",50)("renderDropdownInBody",null==o.context?null:o.context.isVirtualized)}}var f=function(){function GridActionMenuComponent(e,t,n){this.operationsProvider=e,this.parentService=t,this.window=n,this.dropdownButtonIconName="ellipsis-h",this.actionMenuOptions=new r.ActionMenuOptions(a.OUTSIDE_MENU_MAX_ORDINAL,Number.POSITIVE_INFINITY,!0)}return GridActionMenuComponent.prototype.ngOnInit=function(){this.loadOperationData(this.context)},GridActionMenuComponent.prototype.onActionButtonClicked=function(e){this.context.invoker.invoke({name:s.COMMAND_NAMES.itemActionClicked,data:{button:e,dataItem:this.context.dataItem}})},GridActionMenuComponent.prototype.loadOperationData=function(e){this.context=e,this.visible=null!=this.context&&this.context.dataItem.isTranslated,this.visible&&(this.isDimmed=this.context.dataItem.data.inactive,this.prepareOperations())},GridActionMenuComponent.prototype.prepareOperations=function(){var e=this;this.operations$||(this.operations$=new o.Observable((function(t){e.parentService.getParentItem(e.context.dataItem,e.context.dataItem.parentKey).pipe(Object(i.flatMap)((function(t){var n=new l.OperationsData(e.context.dataItem,l.OperationsTarget.List,t,{origin:e.window.location.href});return e.operationsProvider.getOperations(n)}))).subscribe((function(e){return t.next(e)}))})))},GridActionMenuComponent.ɵfac=function GridActionMenuComponent_Factory(e){return new(e||GridActionMenuComponent)(p["ɵɵdirectiveInject"](A.CompositeOperationsProvider),p["ɵɵdirectiveInject"](c.ParentService),p["ɵɵdirectiveInject"](d.WINDOW_TOKEN))},GridActionMenuComponent.ɵcmp=p["ɵɵdefineComponent"]({type:GridActionMenuComponent,selectors:[["sf-grid-action-menu"]],inputs:{context:"context",dropdownButtonText:"dropdownButtonText",dropdownButtonIconName:"dropdownButtonIconName"},decls:1,vars:1,consts:[["buttonsLook","no-border","iconTitle","Actions","class","-sf-ml-auto",3,"lazy","operations","dropdownButtonText","options","ariaLabel","dropdownButtonIconName","dropdownButtonIconLook","moveInViewportTolerance","renderDropdownInBody","buttonClicked",4,"ngIf"],["buttonsLook","no-border","iconTitle","Actions",1,"-sf-ml-auto",3,"lazy","operations","dropdownButtonText","options","ariaLabel","dropdownButtonIconName","dropdownButtonIconLook","moveInViewportTolerance","renderDropdownInBody","buttonClicked"]],template:function GridActionMenuComponent_Template(e,t){1&e&&p["ɵɵtemplate"](0,GridActionMenuComponent_sf_action_menu_0_Template,1,9,"sf-action-menu",0),2&e&&p["ɵɵproperty"]("ngIf",t.visible)},encapsulation:2}),GridActionMenuComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ErrorStatusComponent",(function(){return a}));n(263);var o=n(229),i=n(354),r=n(261);function ErrorStatusComponent_span_4_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"span",4),o["ɵɵelement"](1,"sf-icon",5),o["ɵɵelementStart"](2,"span",6),o["ɵɵelementStart"](3,"span",7),o["ɵɵlistener"]("click",(function ErrorStatusComponent_span_4_Template_span_click_3_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onToggleTooltip()}))("keyup.enter",(function ErrorStatusComponent_span_4_Template_span_keyup_enter_3_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onToggleTooltip()})),o["ɵɵtext"](4,"Why?"),o["ɵɵelementEnd"](),o["ɵɵelementStart"](5,"sf-notification",8),o["ɵɵelementStart"](6,"div",9),o["ɵɵtext"](7),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"]();o["ɵɵadvance"](2),o["ɵɵclassProp"]("-dropped",i.isTooltipOpen),o["ɵɵadvance"](4),o["ɵɵproperty"]("title",i.result),o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](i.result)}}var a=function(){function ErrorStatusComponent(){this.iconName="times-circle",this.iconLook="size-m sf-mr-4xs negative"}return ErrorStatusComponent.prototype.ngOnInit=function(){var e=this.context.dataItem,t=this.context.model;this.status=e.data[t.name],this.result=e.data.Result,this.setIconLook()},ErrorStatusComponent.prototype.setIconLook=function(){this.status===this.successStatus&&(this.iconName="check-circle",this.iconLook="size-m sf-mr-4xs positive")},ErrorStatusComponent.prototype.onToggleTooltip=function(){this.isTooltipOpen=!this.isTooltipOpen},ErrorStatusComponent.ɵfac=function ErrorStatusComponent_Factory(e){return new(e||ErrorStatusComponent)},ErrorStatusComponent.ɵcmp=o["ɵɵdefineComponent"]({type:ErrorStatusComponent,selectors:[["sf-error-status"]],inputs:{context:"context",errorLabel:"errorLabel",successStatus:"successStatus"},decls:5,vars:4,consts:[[1,"sf-row"],[3,"name","look"],["data-sftest","status"],["data-sftest","error-result",4,"ngIf"],["data-sftest","error-result"],["name","circle","look","sf-pl-3xs sf-pr-3xs black size-7xs",1,"-sf-txt-vertical-align-middle"],[1,"-align-self-center","sf-field__tooltip","sf-tooltip","-open-on-click"],[1,"sf-link",3,"click","keyup.enter"],["look","tooltip narrow",1,"sf-tooltip__content"],[1,"-sf-wrap-ellipsis",3,"title"]],template:function ErrorStatusComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",0),o["ɵɵelement"](1,"sf-icon",1),o["ɵɵelementStart"](2,"span",2),o["ɵɵtext"](3),o["ɵɵelementEnd"](),o["ɵɵtemplate"](4,ErrorStatusComponent_span_4_Template,8,4,"span",3),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵadvance"](1),o["ɵɵproperty"]("name",t.iconName)("look",t.iconLook),o["ɵɵadvance"](2),o["ɵɵtextInterpolate"](t.status),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.status!==t.successStatus&&t.result))},directives:[i.SfIconComponent,r.NgIf,i.SfNotificationComponent],encapsulation:2}),ErrorStatusComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DurationComponent",(function(){return i}));n(263);var o=n(229),i=function(){function DurationComponent(){}return DurationComponent.prototype.ngOnInit=function(){var e=this.context.dataItem,t=this.context.model,n=e.data[t.name];if(null!=n&&n>0){var o=new Date(n),i=o.getUTCMinutes(),r=n<1e3?1:o.getUTCSeconds(),a=o.getUTCHours(),s=new Date(null),A=o.getUTCDay()-s.getUTCDay(),l=("0"+i).slice(-2),c=("0"+r).slice(-2);if(a>0||A>0){var d=A>0?24*A:a,p=d>1?"hrs":"hr";this.duration="Over "+d+"h",this.durationTooltip=24*A+a+" "+p+" "+l+" min "+c+" sec"}else this.duration=l+":"+c,this.durationTooltip=i>0?l+" min "+c+" sec":(r<10?r:c)+" sec"}},DurationComponent.ɵfac=function DurationComponent_Factory(e){return new(e||DurationComponent)},DurationComponent.ɵcmp=o["ɵɵdefineComponent"]({type:DurationComponent,selectors:[["sf-duration"]],inputs:{context:"context"},decls:2,vars:2,consts:[[3,"title"]],template:function DurationComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"span",0),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵpropertyInterpolate"]("title",t.durationTooltip),o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](t.duration))},encapsulation:2}),DurationComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"RunAgainCommand",(function(){return f}));var o=n(11),i=n(131),r=n(257),a=n(1069),s=n(3),A=n(262),l=n(320),c=n(319),d=n(1118),p=n(1178),f=function(){function RunAgainCommand(e,t){this.modalWindowService=e,this.dynamicItemService=t,this.executeOnceInBulk=!0}return RunAgainCommand.prototype.execute=function(e){var t,n=new o.Subject,i=e.data.action,r=e.data.dataItem,a=r.data.ServiceHookTitle;i.contextParameters?i.contextParameters[c.CONTEXT_PARAMETERS.currentTitle]=a:i.contextParameters=((t={})[c.CONTEXT_PARAMETERS.currentTitle]=a,t);var s=this.generateConfirmationSettings(i,r,n);return this.modalWindowService.openModalConfirmation(e.currentRoute,s,r),n.asObservable()},RunAgainCommand.prototype.getNotification=function(e,t){return e?{message:e.message?e.message:"Service hook failed to run.",look:p.NOTIFICATION_LOOKS.ERROR,duration:A.NOTIFICATION_DURATION_INFINITE}:t?{message:"Service hook has been successfully run.",look:p.NOTIFICATION_LOOKS.SUCCESS,closeButton:!1}:null},RunAgainCommand.prototype.generateConfirmationSettings=function(e,t,n){var o=this,i=new d.ConfirmButton(c.OPERATION_TITLES.run,(function(e){return o.executeRunAgain(e)}));return{title:e.title,detailedTitle:"Run this "+t.metadata.singularName.toLocaleLowerCase()+" again?",icon:l.ActionIcon[e.name],contextParameters:e.contextParameters,description:this.generateDescription(t),action:e.name,descriptionAllowHtml:!0,buttons:new Array(i,new d.CancelButton),disableUserInteractionOnLoading:!0,innerFormLook:"sf-pb-zero sf-pt-zero",doneCallback:function(e){e&&e.data&&e.data.data?e.data.data.error?n.error(e.data.data.error):n.next(!0):n.next(!1)}}},RunAgainCommand.prototype.executeRunAgain=function(e){var t=this,n=new o.ReplaySubject(1);if(e&&e.component&&e.component.dataItem){n.next(new d.ClickResult(!0,!1));var i=e.component.dataItem;this.dynamicItemService.executeBoundFunction(s.DataItem.emptyItem(i),"Default.RunAgain(activityId="+i.key+")").subscribe((function(){t.waitActivityToComplete(i).subscribe((function(){n.next(new d.ClickResult({error:null},!0,!1,!1))}),(function(e){n.next(new d.ClickResult({error:e},!0,!1,!1))}))}),(function(e){n.next(new d.ClickResult({error:e},!0,!1,!1))}))}return n},RunAgainCommand.prototype.waitActivityToComplete=function(e){var t=this,n=new o.Subject;return Object(o.interval)(1e3).pipe(Object(i.takeUntil)(n),Object(i.catchError)((function(){return Object(o.of)()}))).subscribe((function(){t.dynamicItemService.executeBoundFunction(s.DataItem.emptyItem(e),"Default.GetActivity(activityId="+e.key+")").subscribe((function(e){e.Status===A.SERVICE_HOOK_ACTIVITY_STATUS.SUCCESSFUL?n.next():e.Status===A.SERVICE_HOOK_ACTIVITY_STATUS.FAILED&&n.error({activityStatus:A.SERVICE_HOOK_ACTIVITY_STATUS.FAILED})}),(function(e){n.error(e)}))})),n},RunAgainCommand.prototype.generateDescription=function(e){var t=Object(a.convertIsoStringToUTCDate)(e.data.StartTime).toLocaleDateString(r.LOCALE,{year:"numeric",month:"short",day:"numeric"}),n="This service hook will be run again with the original data from "+t+".";return e.data.TriggeredByContentItem&&(n="This service hook will be run again with the original version of
    “"+e.data.Title+"” from "+t+"."),n+=" Learn more"},RunAgainCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ServiceHooksContract",(function(){return m}));var o=n(259),i=n(11),r=n(319),a=n(337),s=n(1641),A=n(258),l=n(1577),c=n(1638),d=n(1646),p=n(1647),f=n(1640),u=n(262),m=function(e){function ServiceHooksContract(t,n,o){return e.call(this,t,n,o)||this}return Object(o.__extends)(ServiceHooksContract,e),ServiceHooksContract.prototype.getListIndexModel=function(e){var t,n;return{title:this.entityData.metadata.displayName,emptyListMessage:"No "+this.entityData.metadata.displayName.toLocaleLowerCase()+" have been created",columns:[{name:"Main",title:"Label",css:"-title -two-lines",dataFieldNames:["Title"],componentData:{type:A.MainFieldComponent,properties:{hasStatusIcon:!1}},clickable:!0},{name:"Trigger",title:"Trigger",css:"-col-size-l -two-lines",componentData:{type:l.TextFieldComponent,properties:{propertyPath:"Name"}}},{name:"Action",title:"Action",css:"-col-size-xl -two-lines",componentData:{type:d.MultiValueTextFieldComponent,properties:{propertyPath:"Name",additionalValuesPropertyPaths:["Parameters.Url"],valueCss:"-sf-txt-dimmed",additionalValuesCss:"-sf-overflow-ellipsis"}}},{name:"SuccessfulRunsCount",title:"Successful runs in last "+f.SERVICE_HOOKS_HISTORY_DAYS_COUNT+" days",css:"-col-size-xs -two-lines -sf-pr-2xs -sf-pl-2xs",dataFieldNames:["SuccessfulRunsCount"],componentData:{type:p.ChildrenCountComponent,properties:{childRouteName:"history",queryParams:(t={},t[u.FILTER_PARAMS.FILTER]="success",t),maxCount:1e4,look:"positive"}}},{name:"FailedRunsCount",title:"Failed runs in last "+f.SERVICE_HOOKS_HISTORY_DAYS_COUNT+" days",css:"-col-size-2xs -two-lines",dataFieldNames:["FailedRunsCount"],componentData:{type:p.ChildrenCountComponent,properties:{childRouteName:"history",queryParams:(n={},n[u.FILTER_PARAMS.FILTER]="fail",n),maxCount:1e4,look:"negative"}}},{name:"Actions",title:"",css:"-action -col-size-3xs -two-lines",dataFieldNames:["Title"],componentData:{type:s.GridActionMenuComponent,properties:{operations$:this.getOperations()}}}],operations:Object(i.of)([{Actions:[],Category:{Name:"Default",Title:null},Name:"Create",Ordinal:-1,Title:"Create a "+this.entityData.metadata.singularName.toLocaleLowerCase()}]),singularName:"service hook",pluralName:"service hooks",emptyScreenIcon:"file-text-o",isLoadMoreSearchEnabled:!1,isLoadMoreFilterEnabled:!1,notificationFilter:this.entityData.metadata.typeFullName}},ServiceHooksContract.prototype.getOperations=function(){var e={Title:r.OPERATION_NAMES.delete,Name:r.OPERATION_NAMES.delete,DetailedTitle:r.OPERATION_NAMES.delete+" this "+this.entityData.metadata.singularName.toLocaleLowerCase()+" permanently?",RequiresConfirmation:!0,ExecuteOnServer:!0,PerformsDelete:!0,Category:{Name:r.OPERATION_NAMES.delete},Actions:[{Title:r.OPERATION_NAMES.delete+" "+this.entityData.metadata.singularName.toLocaleLowerCase(),Name:"deleteServiceHook",Type:2}]},t={Title:r.OPERATION_TITLES.properties,Name:r.OPERATION_TITLES.properties,Category:{Name:r.OPERATION_TITLES.properties}},n={Title:r.OPERATION_TITLES.runsHistory,Name:r.OPERATION_NAMES.history,Category:{Name:r.OPERATION_NAMES.history}};return Object(i.of)([t,n,e])},ServiceHooksContract.prototype.getListDetailsModel=function(e){var t=e.detailsMode===c.LIST_INDEX_DETAILS_MODES.EDIT;return{title:t?"Edit service hook":"Create a service hook",propertyMetadata:[{Name:"Main",Title:null,Properties:[{Name:"Title",Title:"Label",Type:"string",DefaultValue:null,Properties:{Meta_Description_Description:"Labels help you identify service hooks.",Validations_Required:!0,Validations_RequiredErrorMsg:a.FieldValidation.getRequiredMessage("Label"),Validations_MaxValue:255,Validations_MaxLengthErrorMsg:a.FieldValidation.getMaxLengthMessage(255)}},{Name:"Trigger",Title:"Trigger",Type:"choiceParameterizedSelector",DefaultValue:null,Properties:{Meta_Description_Description:"The trigger defines when the service hook is executed. Example: Execute the service hook each time a form is submitted.",Meta_Template:"chips",Meta_SelectorFilterProperty:"Module",Meta_RecentProperty:"Priority",Meta_RecentCount:5,Validations_Required:!0,Meta_LoaderHeight:1,Meta_ShouldHideBottomBorder:!0}},{Name:"Action",Title:"Action",Type:"choiceParameterizedSelector",DefaultValue:'{\n "Name": "Send data to URL",\n "Value": "servicehooksmodule:webhookaction",\n "Parameters": {}\n }',Properties:{}}]}],saveButtonText:t?"Save changes":"Create this hook"}},ServiceHooksContract.prototype.tryExecuteOperation=function(t,n,o){var a=this;return n.name===r.OPERATION_NAMES.history?new i.Observable((function(e){a.router.navigate([t.key,n.name.toLowerCase()],{relativeTo:o}).then((function(t){e.next({isExecuted:t,requiresReload:!1})}))})):e.prototype.tryExecuteOperation.call(this,t,n,o)},ServiceHooksContract}(c.ListIndexContract)},function(e,t,n){"use strict";n.r(t),n.d(t,"MultiValueTextFieldComponent",(function(){return s}));var o=n(259),i=n(1577),r=n(229),a=n(261);function MultiValueTextFieldComponent_ng_container_2_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",2),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=r["ɵɵnextContext"](2);r["ɵɵclassMap"](o.additionalValuesCss),r["ɵɵproperty"]("title",n),r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",n," ")}}function MultiValueTextFieldComponent_ng_container_2_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,MultiValueTextFieldComponent_ng_container_2_div_1_Template,2,4,"div",1),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.additionalValues)}}var s=function(e){function MultiValueTextFieldComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.additionalValues=[],t}return Object(o.__extends)(MultiValueTextFieldComponent,e),MultiValueTextFieldComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this);var n=this.context.dataItem,o=this.context.model,i=n.data[o.name];i&&this.additionalValuesPropertyPaths&&this.additionalValuesPropertyPaths.forEach((function(e){var n=t.getPropertyValue(i,e);n&&t.additionalValues.push(n)}))},MultiValueTextFieldComponent.ɵfac=function MultiValueTextFieldComponent_Factory(e){return A(e||MultiValueTextFieldComponent)},MultiValueTextFieldComponent.ɵcmp=r["ɵɵdefineComponent"]({type:MultiValueTextFieldComponent,selectors:[["sf-multi-value-text-field"]],inputs:{additionalValuesPropertyPaths:"additionalValuesPropertyPaths",additionalValuesCss:"additionalValuesCss",valueCss:"valueCss"},features:[r["ɵɵInheritDefinitionFeature"]],decls:3,vars:4,consts:[[4,"ngIf"],[3,"title","class",4,"ngFor","ngForOf"],[3,"title"]],template:function MultiValueTextFieldComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"span"),r["ɵɵtext"](1),r["ɵɵelementEnd"](),r["ɵɵtemplate"](2,MultiValueTextFieldComponent_ng_container_2_Template,2,1,"ng-container",0)),2&e&&(r["ɵɵclassMap"](t.valueCss),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](t.value),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.additionalValues&&t.additionalValues.length>0))},directives:[a.NgIf,a.NgForOf],encapsulation:2}),MultiValueTextFieldComponent}(i.TextFieldComponent),A=r["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"ChildrenCountComponent",(function(){return a}));var o=n(260),i=(n(263),n(229)),r=n(261);function ChildrenCountComponent_span_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"span",2),i["ɵɵlistener"]("click",(function ChildrenCountComponent_span_0_Template_span_click_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onNavigate()})),i["ɵɵtext"](1),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",o.cssClassList),i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",o.displayCount,"\n")}}function ChildrenCountComponent_span_1_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"span"),i["ɵɵtext"](1,"–"),i["ɵɵelementEnd"]())}var a=function(){function ChildrenCountComponent(e,t){this.router=e,this.activatedRoute=t,this.childRouteName="",this.queryParams=null,this.maxCount=0,this.count=0}return ChildrenCountComponent.prototype.ngOnInit=function(){var e,t=this.context.dataItem,n=this.context.model;this.count=null!==(e=t.data[n.name])&&void 0!==e?e:0,this.maxCount>0&&this.count>this.maxCount?this.displayCount=this.maxCount+"+":this.displayCount=""+this.count,this.setIconLook()},ChildrenCountComponent.prototype.onNavigate=function(){this.count>0&&this.router.navigate([this.context.dataItem.key,this.childRouteName],{relativeTo:this.activatedRoute,queryParams:this.queryParams})},ChildrenCountComponent.prototype.setIconLook=function(){this.look&&(this.cssClassList=" -"+this.look.split(" ").join(" -"))},ChildrenCountComponent.ɵfac=function ChildrenCountComponent_Factory(e){return new(e||ChildrenCountComponent)(i["ɵɵdirectiveInject"](o.Router),i["ɵɵdirectiveInject"](o.ActivatedRoute))},ChildrenCountComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ChildrenCountComponent,selectors:[["sf-children-count"]],inputs:{context:"context",childRouteName:"childRouteName",queryParams:"queryParams",maxCount:"maxCount",look:"look"},decls:2,vars:2,consts:[["class","sf-badge -ellipse -hover",3,"ngClass","click",4,"ngIf"],[4,"ngIf"],[1,"sf-badge","-ellipse","-hover",3,"ngClass","click"]],template:function ChildrenCountComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,ChildrenCountComponent_span_0_Template,2,2,"span",0),i["ɵɵtemplate"](1,ChildrenCountComponent_span_1_Template,2,0,"span",1)),2&e&&(i["ɵɵproperty"]("ngIf",t.count>0),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",0===t.count))},directives:[r.NgIf,r.NgClass],encapsulation:2}),ChildrenCountComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ListDetailComponent",(function(){return c}));var o=n(260),i=n(262),r=n(1496),a=(n(1118),n(1177)),s=n(229),A=n(1218),l=n(354),c=function(){function ListDetailComponent(e,t){this.notificationService=e,this.route=t}return ListDetailComponent.prototype.ngOnInit=function(){var e,t=this;if(this.editorMetadata){var n=this.route.parent.snapshot.data[i.RESOLVE_NAMES.entityData];this.editorComponentData={type:r.BasicEditorViewComponent,afterComponentInit:function(e){e.initialize(t.editorMetadata),t.editorComponent=e},properties:{context:{isQuickEdit:!1,widgetName:null===(e=null==n?void 0:n.metadata)||void 0===e?void 0:e.setName}}}}},ListDetailComponent.prototype.canCloseCallback=function(e){return!0},ListDetailComponent.prototype.ngOnDestroy=function(){this.notificationService.close(i.ITEM_EDIT_NOTIFICATION_FILTER_STATIC)},ListDetailComponent.ɵfac=function ListDetailComponent_Factory(e){return new(e||ListDetailComponent)(s["ɵɵdirectiveInject"](a.NOTIFICATION_SERVICE),s["ɵɵdirectiveInject"](o.ActivatedRoute))},ListDetailComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ListDetailComponent,selectors:[["sf-list-detail"]],decls:2,vars:1,consts:[["look","inline","filter","item-edit"],[3,"componentData"]],template:function ListDetailComponent_Template(e,t){1&e&&(s["ɵɵelement"](0,"sf-notification-loader",0),s["ɵɵelement"](1,"sf-component-loader",1)),2&e&&(s["ɵɵadvance"](1),s["ɵɵproperty"]("componentData",t.editorComponentData))},directives:[A.NotificationLoaderComponent,l.SfDynamicComponentLoaderComponent],encapsulation:2}),ListDetailComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"NoItemsFoundComponent",(function(){return a}));var o=n(229),i=n(354),r=n(261);function NoItemsFoundComponent_p_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"p"),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵattribute"]("class",n.textClass),o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](n.message)}}function NoItemsFoundComponent_ng_template_3_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"p"),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵattribute"]("class",n.textClass),o["ɵɵadvance"](1),o["ɵɵtextInterpolate1"]("No ",n.itemType," found")}}var a=function(){function NoItemsFoundComponent(){this.itemType="items",this.iconName="search"}return NoItemsFoundComponent.prototype.ngOnInit=function(){this.wrapperClass=this.generateWrapperCssClassList(),this.textClass=this.generateTextCssClassList()},NoItemsFoundComponent.prototype.generateWrapperCssClassList=function(){var e="-sf-txt-align-center";return this.look&&(e+=" -"+this.look.split(" ").join(" -")),e},NoItemsFoundComponent.prototype.generateTextCssClassList=function(){var e="-sf-txt-hint";return this.textLook&&(e+=" -"+this.textLook.split(" ").join(" -")),e},NoItemsFoundComponent.ɵfac=function NoItemsFoundComponent_Factory(e){return new(e||NoItemsFoundComponent)},NoItemsFoundComponent.ɵcmp=o["ɵɵdefineComponent"]({type:NoItemsFoundComponent,selectors:[["sf-no-items-found"]],inputs:{itemType:"itemType",look:"look",textLook:"textLook",iconName:"iconName",message:"message"},decls:5,vars:4,consts:[["look","illustrative",3,"name"],[4,"ngIf","ngIfElse"],["noMessageBlock",""]],template:function NoItemsFoundComponent_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div"),o["ɵɵelement"](1,"sf-icon",0),o["ɵɵtemplate"](2,NoItemsFoundComponent_p_2_Template,2,2,"p",1),o["ɵɵtemplate"](3,NoItemsFoundComponent_ng_template_3_Template,2,2,"ng-template",null,2,o["ɵɵtemplateRefExtractor"]),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵreference"](4);o["ɵɵattribute"]("class",t.wrapperClass),o["ɵɵadvance"](1),o["ɵɵproperty"]("name",t.iconName),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.message)("ngIfElse",n)}},directives:[i.SfIconComponent,r.NgIf],encapsulation:2}),NoItemsFoundComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SearchNotificationComponent",(function(){return a}));var o=n(229),i=n(261),r=n(354);function SearchNotificationComponent_div_0_ng_container_2_ng_container_6_Template(e,t){1&e&&(o["ɵɵelementContainerStart"](0),o["ɵɵtext"](1,"result"),o["ɵɵelementContainerEnd"]())}function SearchNotificationComponent_div_0_ng_container_2_ng_container_7_Template(e,t){1&e&&(o["ɵɵelementContainerStart"](0),o["ɵɵtext"](1,"results"),o["ɵɵelementContainerEnd"]())}function SearchNotificationComponent_div_0_ng_container_2_Template(e,t){if(1&e&&(o["ɵɵelementContainerStart"](0),o["ɵɵelementStart"](1,"span",5),o["ɵɵtext"](2),o["ɵɵelementEnd"](),o["ɵɵelementStart"](3,"span"),o["ɵɵtext"](4," "),o["ɵɵelementEnd"](),o["ɵɵelementContainerStart"](5,6),o["ɵɵtemplate"](6,SearchNotificationComponent_div_0_ng_container_2_ng_container_6_Template,2,0,"ng-container",7),o["ɵɵtemplate"](7,SearchNotificationComponent_div_0_ng_container_2_ng_container_7_Template,2,0,"ng-container",8),o["ɵɵelementContainerEnd"](),o["ɵɵtext"](8," for "),o["ɵɵelementStart"](9,"strong",9),o["ɵɵtext"](10),o["ɵɵelementEnd"](),o["ɵɵelementContainerEnd"]()),2&e){var n=o["ɵɵnextContext"](2);o["ɵɵadvance"](2),o["ɵɵtextInterpolate"](n.itemsState.totalCount),o["ɵɵadvance"](3),o["ɵɵproperty"]("ngSwitch",n.itemsState.totalCount),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngSwitchCase",1),o["ɵɵadvance"](4),o["ɵɵtextInterpolate"](n.searchValue)}}function SearchNotificationComponent_div_0_div_3_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",10),o["ɵɵelement"](1,"sf-icon",11),o["ɵɵelementStart"](2,"a",12),o["ɵɵlistener"]("click",(function SearchNotificationComponent_div_0_div_3_Template_a_click_2_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).onClearSearch()}))("keyup.enter",(function SearchNotificationComponent_div_0_div_3_Template_a_keyup_enter_2_listener(){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).onClearSearch()})),o["ɵɵtext"](3," Clear "),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()}}function SearchNotificationComponent_div_0_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",1),o["ɵɵelementStart"](1,"div",2),o["ɵɵtemplate"](2,SearchNotificationComponent_div_0_ng_container_2_Template,11,4,"ng-container",3),o["ɵɵelementEnd"](),o["ɵɵtemplate"](3,SearchNotificationComponent_div_0_div_3_Template,4,0,"div",4),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](2),o["ɵɵproperty"]("ngIf",n.searchValue&&n.itemsState),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.searchValue)}}var a=function(){function SearchNotificationComponent(){this.clearSearch=new o.EventEmitter}return SearchNotificationComponent.prototype.onClearSearch=function(){this.clearSearch.emit()},SearchNotificationComponent.ɵfac=function SearchNotificationComponent_Factory(e){return new(e||SearchNotificationComponent)},SearchNotificationComponent.ɵcmp=o["ɵɵdefineComponent"]({type:SearchNotificationComponent,selectors:[["sf-search-notification"]],inputs:{searchValue:"searchValue",itemsState:"itemsState"},outputs:{clearSearch:"clearSearch"},decls:1,vars:1,consts:[["class","sf-row -adjustable-ellipsis",4,"ngIf"],[1,"sf-row","-adjustable-ellipsis"],[1,"sf-row__col","-truncatable","-sf-overflow-ellipsis"],[4,"ngIf"],["class","sf-row__col -full-width",4,"ngIf"],["data-sftest","searchCount"],[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["data-sftest","searchValue"],[1,"sf-row__col","-full-width"],["name","circle","look","sf-pl-3xs sf-pr-3xs black size-7xs",1,"-sf-txt-vertical-align-middle"],["tabindex","0","data-sftest","clearSearchButton",3,"click","keyup.enter"]],template:function SearchNotificationComponent_Template(e,t){1&e&&o["ɵɵtemplate"](0,SearchNotificationComponent_div_0_Template,4,2,"div",0),2&e&&o["ɵɵproperty"]("ngIf",t.searchValue&&t.itemsState)},directives:[i.NgIf,i.NgSwitch,i.NgSwitchCase,i.NgSwitchDefault,r.SfIconComponent],encapsulation:2}),SearchNotificationComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TAXA_REGISTRY",(function(){return a}));var o=n(1652),i=n(1654),r=n(330),a={writeComponent:o.TaxaComponent,readComponent:o.TaxaComponent,gridComponent:i.TaxaGridComponent,settingsType:r.TaxonomySettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"TITLE_KEY",(function(){return S})),n.d(t,"TAXONOMY_KEY",(function(){return T})),n.d(t,"TAXONOMY_PARENT_KEY",(function(){return M})),n.d(t,"ID_KEY",(function(){return D})),n.d(t,"TaxaComponent",(function(){return N}));var o=n(259),i=n(131),r=n(229),a=n(262),s=n(336),A=n(1118),l=n(361),c=n(1107),d=n(260),p=n(1586),f=n(417),u=n(11),m=n(246),g=n(266),E=n(245),h=n(316),b=n(317),C=n(314),B=n(1189),k=n(1653),I=n(284),v=n(331),w=n(1222),_=n(1225),x=n(261),y=n(354),_c0=function(e){return[e]};function TaxaComponent_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",2),r["ɵɵelement"](1,"sf-error",3),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("messages",r["ɵɵpureFunction1"](1,_c0,n.message))}}var S="Title",T="TaxonomyId",M="ParentId",D="Id",Q="ffffffff-ffff-ffff-ffff-ffffffffffff",N=function(e){function TaxaComponent(t,n,o,i,a){var s=e.call(this)||this;return s.modalService=t,s.route=n,s.dynamicItemService=o,s.compositeDataExtender=i,s.hierarchicalServices=a,s.onSelectionChange=new r.EventEmitter,s.onErrorOccured=new r.EventEmitter,s.expandPathPair={key:"FullUrl",value:"Name"},s.visibleRecentTaxaItems=[],s.dropdownChipsTreeConfig={showBreadcrumb:!0,noSelection:!1,dataProperties:{toolTipField:"tooltip"}},s.isLoading=!1,s.isHierarchical=!1,s.chipsConfig={showRecentLabel:!0,actions:[]},s.taxa=[],s.cachedTaxaTitles=[],s.modalItems=[],s.totalTaxaCount=0,s.totalHierarchicalTaxaCount=0,s.editTaxonId=null,s.modalItems$=new u.ReplaySubject(1),s.showAllLoading=!0,s.isInCreate=!1,s._recentTaxaItems=[],s}return Object(o.__extends)(TaxaComponent,e),Object.defineProperty(TaxaComponent.prototype,"recentTaxaItems",{get:function(){return this._recentTaxaItems},set:function(e){this._recentTaxaItems=e,this.visibleRecentTaxaItems=e.filter((function(e){return!e.inactive}))},enumerable:!1,configurable:!0}),TaxaComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.initialize(),this.addButtonContentType=this.settings.allowMultiple?this.taxaNames.plural:this.taxaNames.singular},TaxaComponent.prototype.getRequiredErrorMessage=function(){return[l.SelectorConstants.SELECT_BUTTON+" "+this.settings.title]},TaxaComponent.prototype.onTaxaEntered=function(e){var t=this,n=e.trim();if(!this.settings.allowCreate)return this.message="You are not allowed to create "+this.settings.title,void this.focusOutChips();var o=this.entityData;this.settings.type!==v.default.FLAT_TAXA?this.hierarchicalService.getSearchedItems({searchText:n,taxaId:this.isInCreate?null:this.settings.id,idsToExclude:this.value},{entityData:o,fallbackProperties:[this._defaultFieldName]},this.editTaxonId).subscribe((function(e){if(e.dataItems&&e.dataItems.length){var o=t.cloneAndAddFieldsToDataItems(e.dataItems);t.addTaxa(o)}else t.onCreateHierarchicalTaxa(n)})):n&&(this.addFakeTaxon(n),this.createTaxon(n,o).subscribe((function(e){e=t.cloneAndAddFieldsToDataItems([e])[0];var o=t.removeFakeTaxon(n);t.addTaxon(e,o),t.getRecentTaxa()}),(function(e){t.removeFakeTaxon(n),t.handleTaxaCreationError(e,n)})))},TaxaComponent.prototype.onSelectChip=function(e){e.isSeparator||(e.action&&"function"==typeof e.action?e.action():(this.addTaxa([e]),this.onSelectionChange.emit(e.Id)))},TaxaComponent.prototype.onSearchChips=function(e){var t=this;if(e){var n=e.trim(),o=!this.isInCreate||this.entityData.metadata.hasParent;this.isSearchPending=!0,this.hierarchicalService.getSearchedItems({searchText:n,taxaId:o?this.settings.id:null,idsToExclude:this.value},{entityData:this.entityData,order:S+" "+a.SORT_ORDER.ASCENDING,take:5,fallbackProperties:[this._defaultFieldName]},this.editTaxonId).subscribe((function(e){var n=t.cloneAndAddFieldsToDataItems(e.dataItems);t.chipsConfig.focusFirstNode=!!n.length,t.recentTaxaItems=n,t.updateChipsConfig(),t.isSearchPending=!1}))}else this.chipsConfig.focusFirstNode=!1,this.recentTaxaItems=this.cachedTaxaTitles,this.updateChipsConfig()},TaxaComponent.prototype.onRemoveChip=function(e){var t=this.taxa.findIndex((function(t){return t.Id===e.Id}));if(this.isHierarchical){var n=this.countActualTaxons(this.recentTaxaItems);this.totalTaxaCount<=n&&(this.totalTaxaCount=n+1)}var o=this.taxa.splice(t,1)[0],i=0,r=-1;this.recentTaxaItems.forEach((function(e,t){(e.isLink||e.isSeparator)&&i++,e.Id===o.Id&&(r=t)}));var a=this.recentTaxaItems.length-i;this.taxaItems=this.taxa,a<5&&-1===r&&this.recentTaxaItems.splice(a,0,o),t=this.value.indexOf(e.Id);var s=this.value.slice();s.splice(t,1),this.writeValue(s),this.onSelectionChange.emit(null),this.updateChipsConfig()},TaxaComponent.prototype.writeValue=function(t){"string"==typeof t?(e.prototype.writeValue.call(this,[t]),this.getItemTaxa()):e.prototype.writeValue.call(this,t)},TaxaComponent.prototype.onReset=function(){this.value=[],this.taxa=[]},TaxaComponent.prototype.focusChips=function(){this.chipsComponent.initEditableField()},TaxaComponent.prototype.focusOutChips=function(){this.chipsComponent.onContentFocusOut()},TaxaComponent.prototype.onShowAllTaxa=function(){var e=this,t={type:c.SelectorComponent,properties:{value:this.modalItems,value$:this.modalItems$,totalItemsCount:this.totalTaxaCount,selected:this.taxa.map((function(e){return e})),treeConfig:{multiSelection:this.settings.allowMultiple,isHierarchical:this.isHierarchical,dataProperties:{toolTipField:"tooltip"}},serviceAware:this.serviceAware,typeNames:this.taxaNames,defaultField:this._defaultFieldName,expandPathPair:this.expandPathPair,isParentSelection:this.settings.isParentSelection,targetDataItem:this.getTargetDataItem(),loading:this.showAllLoading}};t.properties.treeConfig.status=this.hierarchicalService.showStatusIcons();var n=[new A.ConfirmButton(l.SelectorConstants.USE_SELECTED),new A.CancelButton(l.SelectorConstants.CANCEL)],o=new A.DialogData(t,(function(t){return e.onDone(t)}),n,null,"-bottom");this.modalService.setMapping(o,c.SELECTOR_MAPPING_KEY),this.modalService.open(this.route,c.SELECTOR_MAPPING_KEY)},TaxaComponent.prototype.onCreateHierarchicalTaxa=function(e){var t=this,n=this.getCreateHierarchicalTaxaButtons((function(e){return t.createHierarchicalTaxaHandler(e)}),this.taxaNames),o={type:p.CreateHierarchicalTaxaComponent,properties:{hierarchicalTaxaSettings:this.settings,typeName:this.route.snapshot.params[a.ROUTE_PARAMS.TYPE_NAME_SEGMENT],title:e||null,taxaNames:this.taxaNames,otherTaxaExist:this.modalItems.length>0,entityData:this.entityData,parentId:this.settings.id}},i=new A.DialogData(o,(function(e){return t.onCreate(e)}),n,"-prompt","sf-form -medium -sf-centered-box -border-top -sf-txt-align-left -sf-mt-zero");this.modalService.setMapping(i,"hierarchicalTaxa"),this.modalService.open(this.route,"hierarchicalTaxa")},TaxaComponent.prototype.onFocusHandler=function(e){e?(this.message=null,this.onFocus()):this.onBlur()},TaxaComponent.prototype.getWarnings=function(){return this.settings.allowView?e.prototype.getWarnings.call(this):[this.getNoPermissionMessage(this.taxaNames.plural)]},TaxaComponent.prototype.setCulture=function(e){this.entityData=b.DataItem.from(null,this.entityData.metadata,this.entityData.provider,e)},TaxaComponent.prototype.setSiteId=function(e){var t=this;this.hierarchicalService.siteId=e,this.onReset(),this.getModalItems().subscribe((function(){t.getRecentTaxa()}))},TaxaComponent.prototype.getRecentTaxa=function(){var e=this;this.hierarchicalService.getRecent(this.entityData,this.settings,this.value,this.editTaxonId,this.getTargetDataItem()).subscribe((function(t){var n=t.dataItems;e.recentTaxaItems=e.cachedTaxaTitles=e.cloneAndAddFieldsToDataItems(n),e.isHierarchical&&e.totalHierarchicalTaxaCount0){var o=t.cloneAndAddFieldsToDataItems([e.dataItems[0]])[0];t.addTaxon(o),n.next(new A.ClickResult(null,!0))}}))}))}else n.next(new A.ClickResult(null,!1,!0));return n.asObservable()},TaxaComponent.prototype.createTaxon=function(e,t,n){var o={TaxonomyId:this.settings.id,Title:e};return n&&(o.ParentId=n),this.dynamicItemService.createItem({data:o,entityData:t})},TaxaComponent.prototype.getCreateHierarchicalTaxaButtons=function(e,t){return[new A.ConfirmButton("Create this "+t.singular,e),new A.CancelButton]},TaxaComponent.prototype.getTaxaName=function(){var e=this,t=this.hierarchicalService.getSetName(),n=this.getEntityData(t);this.hierarchicalService.getName(n,this.settings.id).subscribe((function(t){if(t){var n=t.dataItems;if(n&&n.length>0){var o=e.cloneAndAddFieldsToDataItems([n[0]])[0];e.taxaNames={plural:o.Title.toLowerCase(),singular:o.TaxonName.toLowerCase()}}else{var i=t.entityData.metadata;e.taxaNames={plural:i.displayName.toLowerCase(),singular:i.singularName.toLowerCase()}}}e.addButtonTitle="Select "+(e.settings.allowMultiple?e.taxaNames.plural:e.taxaNames.singular)}))},TaxaComponent.prototype.expandChildren=function(e,t){var n=this;return void 0===t&&(t=!1),void 0===e.take&&(e.take=a.DEFAULT_CHILDREN_LOAD),this.hierarchicalService.expandChildren(e,this.entityData,this.settings.id,this.editTaxonId).pipe(Object(i.map)((function(e){return{dataItems:n.cloneAndAddFieldsToDataItems(e.dataItems),totalCount:e.totalCount}}))).toPromise()},TaxaComponent.prototype.loadMore=function(e,t){var n=this;return void 0===t&&(t=!1),e.parentId=this.settings.id,this.hierarchicalService.loadMore(e,this.entityData,this.settings,this.editTaxonId,t).pipe(Object(i.map)((function(e){return{dataItems:n.cloneAndAddFieldsToDataItems(e.dataItems),totalCount:e.totalCount}}))).toPromise()},TaxaComponent.prototype.onDone=function(e){var t=this;if(e.data&&e.data.data){var n=e.component.selected;this.value=[],this.taxa=[],n.forEach((function(e){t.addTaxon(e),t.onSelectionChange.emit(e.Id)})),this.getRecentTaxa(),this.onFocusHandler(!1)}},TaxaComponent.prototype.onCreate=function(e){this.getModalItems(),this.onFocusHandler(!1)},TaxaComponent.prototype.getItemTaxa=function(){var e=this;this.value&&this.value.length&&this.value[0]!==m.stringConstants.DEFAULT_GUID&&(this.isLoading=!0,this.hierarchicalService.getItemTaxa(this.value,this.entityData,this.settings.id,this.isInCreate).subscribe((function(t){var n=t.dataItems,o=e.cloneAndAddFieldsToDataItems(n);e.value&&n.length&&(o=e.orderTaxasById(o)),e.updateTaxa(o),e.onTaxaRetrieved(),e.isInCreate&&0===n.length&&(e.writeValue(null),e.onSelectionChange.emit(null))}),(function(t){e.updateTaxa([]),e.onErrorOccured.emit(t.message)})))},TaxaComponent.prototype.updateChipsConfig=function(){var e=!1,t=this.countActualTaxons(this.recentTaxaItems);if(this.isHierarchical){var n=t+this.countActualTaxons(this.taxaItems);this.chipsComponent.isEditing&&this.taxa.length>0&&this.isHierarchical&&n--,e=this.isHierarchical?this.totalHierarchicalTaxaCount>n:this.totalTaxaCount>n}else e=this.countActualTaxons(this.modalItems)>t+this.countActualTaxons(this.taxaItems);e=e||t>5,this.chipsConfig.actions=[],this.settings.allowCreate&&this.settings.type!==v.default.FLAT_TAXA&&this.chipsConfig.actions.push({label:"Create "+Object(E.getFormattedTypeName)(this.taxaNames,!1,!0),action:this.onCreateHierarchicalTaxa.bind(this)}),e&&this.chipsConfig.actions.push({label:"Show all "+this.taxaNames.plural,action:this.onShowAllTaxa.bind(this)})},TaxaComponent.prototype.addTaxon=function(e,t){void 0===t&&(t=-1),e&&(this.value||(this.value=[]),this.value.includes(e.Id)||(this.settings.allowMultiple||(this.value.length=0,this.taxa.length=0),-1!==t?(this.value.splice(t,0,e.Id),this.taxa.splice(t,0,e)):(this.value.push(e.Id),this.taxa.push(e)),this.taxaItems=this.taxa,e.ParentId!==m.stringConstants.DEFAULT_GUID&&this.isHierarchical||0!==this.modalItems.filter((function(t){return t.Id===e.Id})).length||(this.setHasChildren(e),-1!==t?this.modalItems.splice(t,0,e):this.modalItems.push(e)),this.onChangeCallback(this.value),this.isLoading=!0))},TaxaComponent.prototype.addFakeTaxon=function(e){e&&(this.value||(this.value=[]),this.value.includes(e)||this.taxa.findIndex((function(t){return t.Title===e}))>-1||(this.settings.allowMultiple||(this.value.length=0,this.taxa.length=0),this.taxa.push({Title:e,Id:Q}),this.onChangeCallback(this.value),this.isLoading=!0))},TaxaComponent.prototype.removeFakeTaxon=function(e){var t=this.taxa.findIndex((function(t){return t.Title===e&&t.Id===Q}));return t>-1&&this.taxa.splice(t,1),t},TaxaComponent.prototype.updateTaxa=function(e){this.taxa=e,this.taxaItems=e},TaxaComponent.prototype.addTaxa=function(e){this.addTaxon(e[0]),this.getRecentTaxa()},TaxaComponent.prototype.handleTaxaCreationError=function(e,t){var n=this;if(e instanceof I.ValidationError&&'{"UrlName":"UrlExists"}'===e.message){if(this.taxaItems&&this.taxaItems.some((function(e){return e.Title===t&&e.Id!==Q})))return;var o=Object(C.createQuery)().where().and().eq(T,this.settings.id).eq(S,t);return o=this.excludeCurrentItems(o).done().done(),void this.dynamicItemService.getItemList({entityData:this.entityData,query:o,fallbackProperties:[this._defaultFieldName]}).subscribe((function(e){n.addTaxa(n.cloneAndAddFieldsToDataItems(e.dataItems))}))}},TaxaComponent.prototype.orderTaxasById=function(e){for(var t=[],_loop_1=function(n){var o=e.find((function(e){return e.Id===n}));o&&t.push(o)},n=0,o=this.value;n0&&(n=t.join(" > ")+" > "+n),e.BreadcrumbPath=n}},TaxaComponent.prototype.initialize=function(){var e=this;this.entityData||(this.entityData=this.getEntityData(this.settings.type));var t=this.route.snapshot.data.itemData;if(t&&t.entityData&&t.entityData.metadata&&this.entityData.metadata.setName===t.entityData.metadata.setName&&(this.editTaxonId=t.entityData.key),this.taxaNames={plural:this.settings.title.toLowerCase(),singular:this.settings.title.toLowerCase()},this._defaultFieldName=this.route.parent.snapshot.data[a.RESOLVE_NAMES.metadata].entities[this.settings.type].defaultFieldName,this.isInCreate=this.route.snapshot.data.itemData&&this.route.snapshot.data.itemData.entityData.isEmpty,this.hierarchicalServices&&this.hierarchicalServices.forEach((function(t){t.isTypeSupported(e.entityData)&&(e.hierarchicalService=t,e.hierarchicalService.init(e.dynamicItemService))})),!this.hierarchicalService&&this.settings.type&&this.settings.key)this.hierarchicalService=this.hierarchicalServices.find((function(e){return e instanceof k.HierarchicalDynamicItemService})),this.hierarchicalService.init(this.dynamicItemService),this.hierarchicalService.setName=this.settings.type,this.hierarchicalService.singularName=this.settings.key;else if(!this.hierarchicalService)return;this.isHierarchical=this.hierarchicalService.isHierarchical(this.settings.type),this.dropdownChipsTreeConfig.status=this.hierarchicalService.showStatusIcons(),this.getItemTaxa(),this.settings.readOnlyMode||(this.getTaxaName(),this.serviceAware=new c.ServiceContract((function(t){return e.loadMore(t,e.isInCreate)}),(function(t){return e.expandChildren(t,e.isInCreate)})),this.getModalItems().subscribe((function(){e.getRecentTaxa()})))},TaxaComponent.prototype.excludeCurrentItems=function(e){return this.value&&this.value.forEach((function(t){e=e.ne(D,t)})),e},TaxaComponent.prototype.setHasChildren=function(e){this.isHierarchical&&(e.hasChildren=e.HasChildren)},TaxaComponent.prototype.countActualTaxons=function(e){return e?e.filter((function(e){return!e.isSeparator&&!e.isLink})).length:0},TaxaComponent.ɵfac=function TaxaComponent_Factory(e){return new(e||TaxaComponent)(r["ɵɵdirectiveInject"](A.ModalWindowService),r["ɵɵdirectiveInject"](d.ActivatedRoute),r["ɵɵdirectiveInject"](h.DynamicItemService),r["ɵɵdirectiveInject"](w.CompositeDataExtender),r["ɵɵdirectiveInject"](B.HIERARCHICAL_SERVICE_TOKEN,8))},TaxaComponent.ɵcmp=r["ɵɵdefineComponent"]({type:TaxaComponent,selectors:[["sf-taxa"]],viewQuery:function TaxaComponent_Query(e,t){if(1&e&&r["ɵɵviewQuery"](f.ChipsComponent,3),2&e){var n;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.chipsComponent=n.first)}},inputs:{expandPathPair:"expandPathPair",entityData:"entityData"},outputs:{onSelectionChange:"onSelectionChange",onErrorOccured:"onErrorOccured"},features:[r["ɵɵProvidersFeature"]([Object(s.createValueAccessor)(TaxaComponent)]),r["ɵɵInheritDefinitionFeature"]],decls:2,vars:15,consts:[[3,"isSingleSelection","selectedChips","dropdownChips","treeConfig","chipAddButtonTitle","chipContentName","config","isLoading","isSearchPending","isReadOnly","displayMode","isHierarchical","isRemovable","look","newChipAdded","selectChip","searchChips","removeChip","focus"],["class","sf-field__error -sf-txt-base",4,"ngIf"],[1,"sf-field__error","-sf-txt-base"],[3,"messages"]],template:function TaxaComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"sf-chips",0),r["ɵɵlistener"]("newChipAdded",(function TaxaComponent_Template_sf_chips_newChipAdded_0_listener(e){return t.onTaxaEntered(e)}))("selectChip",(function TaxaComponent_Template_sf_chips_selectChip_0_listener(e){return t.onSelectChip(e)}))("searchChips",(function TaxaComponent_Template_sf_chips_searchChips_0_listener(e){return t.onSearchChips(e)}))("removeChip",(function TaxaComponent_Template_sf_chips_removeChip_0_listener(e){return t.onRemoveChip(e)}))("focus",(function TaxaComponent_Template_sf_chips_focus_0_listener(e){return t.onFocusHandler(e)})),r["ɵɵelementEnd"](),r["ɵɵtemplate"](1,TaxaComponent_div_1_Template,2,3,"div",1)),2&e&&(r["ɵɵproperty"]("isSingleSelection",!t.settings.allowMultiple)("selectedChips",t.taxa)("dropdownChips",t.visibleRecentTaxaItems)("treeConfig",t.dropdownChipsTreeConfig)("chipAddButtonTitle",t.addButtonTitle)("chipContentName",t.addButtonContentType)("config",t.chipsConfig)("isLoading",t.isLoading)("isSearchPending",t.isSearchPending)("isReadOnly",t.settings.readOnlyMode)("displayMode",t.settings.displayMode)("isHierarchical",t.isHierarchical)("isRemovable",!0)("look",t.settings.look),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.message))},directives:[f.ChipsComponent,x.NgIf,y.SfErrorComponent],encapsulation:2}),TaxaComponent}(s.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"HierarchicalDynamicItemService",(function(){return c})),n.d(t,"HIERARCHICAL_DYNAMIC_ITEM_SERVICE",(function(){return d}));var o=n(259),i=n(229),r=n(11),a=n(1189),s=n(314),A=n(262),l=n(268),c=function(e){function HierarchicalDynamicItemService(t){var n=e.call(this)||this;return n.contentFilterService=t,n}return Object(o.__extends)(HierarchicalDynamicItemService,e),HierarchicalDynamicItemService.prototype.showStatusIcons=function(){return!1},HierarchicalDynamicItemService.prototype.isHierarchical=function(e){return!0},HierarchicalDynamicItemService.prototype.getSetName=function(){return this.setName},HierarchicalDynamicItemService.prototype.isTypeSupported=function(e){return this.singularName===e.metadata.singularName},HierarchicalDynamicItemService.prototype.getName=function(e,t){return Object(r.of)({entityData:e,totalCount:0,dataItems:[]})},HierarchicalDynamicItemService.prototype.getItemTaxa=function(e,t,n){var o=Object(s.createQuery)().where().and().or();return e&&e.forEach((function(e){return o=o.eq(a.ID_KEY,e)})),o=o.done().done().done(),this.dynamicItemService.getItemList({entityData:t,take:e?e.length:null,fallbackProperties:[t.metadata.defaultFieldName],query:o,siteId:this.siteId})},HierarchicalDynamicItemService.prototype.getRecent=function(e,t,n){var o=Object(s.createQuery)();return this.dynamicItemService.getItemList({entityData:e,fallbackProperties:[e.metadata.defaultFieldName],query:o,order:a.LAST_MODIFIED_KEY+" "+A.SORT_ORDER.DESCENDING,take:a.RESULT_COUNT})},HierarchicalDynamicItemService.prototype.expandChildren=function(e,t,n){var o=Object(s.createQuery)().where().and().eq(a.ID_KEY,n).done().done();return this.dynamicItemService.getItemListBatch({entityData:t,query:o,order:a.TITLE_KEY+" "+A.SORT_ORDER.ASCENDING,take:e.take,skip:e.skip,fallbackProperties:[t.metadata.defaultFieldName]})},HierarchicalDynamicItemService.prototype.loadMore=function(e,t,n){var o=Object(s.createQuery)().where();return e.searchText&&(o=this.contentFilterService.applySearch(e.searchText,t,o)),o=o.done(),this.dynamicItemService.getItemList({entityData:t,query:o,fallbackProperties:[t.metadata.defaultFieldName],order:a.TITLE_KEY+" "+A.SORT_ORDER.ASCENDING,take:e.take,skip:e.skip})},HierarchicalDynamicItemService.prototype.getModalItems=function(e,t){var n={entityData:e,fallbackProperties:[e.metadata.defaultFieldName],keys:[t],keyProperty:a.ID_KEY},o=Object(s.createQuery)();return t&&(o=o.where().and().eq(a.ID_KEY,t).done().done()),n.query=o,this.dynamicItemService.getItemsByKeys(n)},HierarchicalDynamicItemService.prototype.getSearchedItems=function(e,t){var n=this.getSearchQuery(e.searchText,e.taxaId,t.entityData);return e.idsToExclude&&e.idsToExclude.forEach((function(e){n=n.ne(a.ID_KEY,e)})),n=n.done().done(),t.query=n,this.dynamicItemService.getItemList(t)},HierarchicalDynamicItemService.prototype.getSearchQuery=function(e,t,n){var o=Object(s.createQuery)().where().and().eq(a.ID_KEY,t);return e&&(o=this.contentFilterService.applySearch(e,n,o)),o},HierarchicalDynamicItemService.ɵfac=function HierarchicalDynamicItemService_Factory(e){return new(e||HierarchicalDynamicItemService)(i["ɵɵinject"](l.ContentFilterService))},HierarchicalDynamicItemService.ɵprov=i["ɵɵdefineInjectable"]({token:HierarchicalDynamicItemService,factory:HierarchicalDynamicItemService.ɵfac}),HierarchicalDynamicItemService}(a.HierarchicalService),d={multi:!0,provide:a.HIERARCHICAL_SERVICE_TOKEN,useClass:c}},function(e,t,n){"use strict";n.r(t),n.d(t,"TAXA_COLUMN_BADGES_COUNT",(function(){return s})),n.d(t,"TaxaGridComponent",(function(){return A}));var o=n(259),i=n(1652),r=n(229),a=n(417),s=3,A=function(e){function TaxaGridComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.visibleTaxa=[],t}return Object(o.__extends)(TaxaGridComponent,e),TaxaGridComponent.prototype.ngOnInit=function(){var t=this.route.snapshot.data.dynamicItems.culture;this.settings.culture=t,this.settings.readOnlyMode=!0,e.prototype.ngOnInit.call(this)},TaxaGridComponent.prototype.onTaxaRetrieved=function(){this.generateTaxaBages()},TaxaGridComponent.prototype.onClick=function(e){this.visibleTaxa=this.taxa,e.isVisible=!1},TaxaGridComponent.prototype.generateTaxaBages=function(){if(this.taxa.forEach((function(e){e.isTranslated=!0})),this.taxa.length>s){this.visibleTaxa=this.taxa.slice(0,s);var e="+"+(this.taxa.length-this.visibleTaxa.length);this.loadMoreBadge={name:e,isVisible:!0}}else this.visibleTaxa=this.taxa,this.loadMoreBadge={isVisible:!1}},TaxaGridComponent.ɵfac=function TaxaGridComponent_Factory(e){return l(e||TaxaGridComponent)},TaxaGridComponent.ɵcmp=r["ɵɵdefineComponent"]({type:TaxaGridComponent,selectors:[["sf-taxa-grid"]],features:[r["ɵɵInheritDefinitionFeature"]],decls:1,vars:6,consts:[[3,"showMoreButton","moreButtonText","selectedChips","isReadOnly","isLoading","look","moreButtonClicked"]],template:function TaxaGridComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"sf-chips",0),r["ɵɵlistener"]("moreButtonClicked",(function TaxaGridComponent_Template_sf_chips_moreButtonClicked_0_listener(){return t.onClick(t.loadMoreBadge)})),r["ɵɵelementEnd"]()),2&e&&r["ɵɵproperty"]("showMoreButton",t.loadMoreBadge&&t.loadMoreBadge.isVisible)("moreButtonText",t.loadMoreBadge&&t.loadMoreBadge.name)("selectedChips",t.visibleTaxa)("isReadOnly",!0)("isLoading",t.isLoading)("look",t.settings.look)},directives:[a.ChipsComponent],encapsulation:2}),TaxaGridComponent}(i.TaxaComponent),l=r["ɵɵgetInheritedFactory"](A)},function(e,t,n){"use strict";n.r(t),n.d(t,"UrlNameModule",(function(){return l}));var o=n(261),i=n(324),r=n(1624),a=n(415),s=n(1656),A=n(229),l=function(){function UrlNameModule(){}return UrlNameModule.ɵfac=function UrlNameModule_Factory(e){return new(e||UrlNameModule)},UrlNameModule.ɵmod=A["ɵɵdefineNgModule"]({type:UrlNameModule}),UrlNameModule.ɵinj=A["ɵɵdefineInjector"]({imports:[[o.CommonModule,a.FieldsModule,i.FormsModule]]}),UrlNameModule}();A["ɵɵsetNgModuleScope"](l,{declarations:[r.UrlNameComponent,s.UrlNameGridComponent],imports:[o.CommonModule,a.FieldsModule,i.FormsModule],exports:[r.UrlNameComponent,s.UrlNameGridComponent]})},function(e,t,n){"use strict";n.r(t),n.d(t,"UrlNameGridComponent",(function(){return c}));var o=n(259),i=n(336),r=n(1624),a=n(229),s=n(354),A=n(261),l=n(1406),_c0=function(e){return{"-sf-highlighted -on-hover":e}},c=function(e){function UrlNameGridComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(UrlNameGridComponent,e),UrlNameGridComponent.ɵfac=function UrlNameGridComponent_Factory(e){return d(e||UrlNameGridComponent)},UrlNameGridComponent.ɵcmp=a["ɵɵdefineComponent"]({type:UrlNameGridComponent,selectors:[["sf-url-name-grid"]],features:[a["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(UrlNameGridComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:4,vars:9,consts:[["sfTrackFocus","",3,"closeOnContentClick","contentFocusIn","contentFocusOut"],[3,"ngClass","title"]],template:function UrlNameGridComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",0),a["ɵɵlistener"]("contentFocusIn",(function UrlNameGridComponent_Template_div_contentFocusIn_0_listener(){return t.onFocus()}))("contentFocusOut",(function UrlNameGridComponent_Template_div_contentFocusOut_0_listener(){return t.onBlur()})),a["ɵɵelementStart"](1,"span",1),a["ɵɵtext"](2),a["ɵɵpipe"](3,"sfTrimTextLength"),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵproperty"]("closeOnContentClick",!1),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngClass",a["ɵɵpureFunction1"](7,_c0,!t.settings.readOnlyMode))("title",t.value),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](a["ɵɵpipeBind2"](3,4,t.value,20)))},directives:[s.SfTrackFocusDirective,A.NgClass],pipes:[l.TrimTextLengthPipe],encapsulation:2}),UrlNameGridComponent}(r.UrlNameComponent),d=a["ɵɵgetInheritedFactory"](c)},function(e,t,n){"use strict";n.r(t),n.d(t,"AdditionalUrlsModule",(function(){return l}));var o=n(261),i=n(324),r=n(1658),a=n(1659),s=n(415),A=n(229),l=function(){function AdditionalUrlsModule(){}return AdditionalUrlsModule.ɵfac=function AdditionalUrlsModule_Factory(e){return new(e||AdditionalUrlsModule)},AdditionalUrlsModule.ɵmod=A["ɵɵdefineNgModule"]({type:AdditionalUrlsModule}),AdditionalUrlsModule.ɵinj=A["ɵɵdefineInjector"]({imports:[[o.CommonModule,s.FieldsModule,i.FormsModule]]}),AdditionalUrlsModule}();A["ɵɵsetNgModuleScope"](l,{declarations:[r.AdditionalUrlsComponent,a.AdditionalUrlsReadOnlyComponent],imports:[o.CommonModule,s.FieldsModule,i.FormsModule],exports:[r.AdditionalUrlsComponent,a.AdditionalUrlsReadOnlyComponent]})},function(e,t,n){"use strict";n.r(t),n.d(t,"AdditionalUrlsComponent",(function(){return u}));var o=n(259),i=n(369),r=n(336),a=n(415),s=n(246),A=n(354),l=n(342),c=n(229),d=n(261),p=n(324),f=["createField"];function AdditionalUrlsComponent_div_1_div_1_ng_container_1_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementContainerStart"](0),c["ɵɵelementStart"](1,"div",9),c["ɵɵlistener"]("click",(function AdditionalUrlsComponent_div_1_div_1_ng_container_1_Template_div_click_1_listener(){c["ɵɵrestoreView"](n);var e=c["ɵɵnextContext"]().index;return c["ɵɵnextContext"](2).onEditTrigger(e)}))("keyup.enter",(function AdditionalUrlsComponent_div_1_div_1_ng_container_1_Template_div_keyup_enter_1_listener(){c["ɵɵrestoreView"](n);var e=c["ɵɵnextContext"]().index;return c["ɵɵnextContext"](2).onEditTrigger(e)})),c["ɵɵtext"](2),c["ɵɵelementEnd"](),c["ɵɵelementStart"](3,"sf-icon",10),c["ɵɵlistener"]("click",(function AdditionalUrlsComponent_div_1_div_1_ng_container_1_Template_sf_icon_click_3_listener(){c["ɵɵrestoreView"](n);var e=c["ɵɵnextContext"]().$implicit;return c["ɵɵnextContext"](2).removeUrl(e.value)}))("keyup.enter",(function AdditionalUrlsComponent_div_1_div_1_ng_container_1_Template_sf_icon_keyup_enter_3_listener(){c["ɵɵrestoreView"](n);var e=c["ɵɵnextContext"]().$implicit;return c["ɵɵnextContext"](2).removeUrl(e.value)})),c["ɵɵelementEnd"](),c["ɵɵelementContainerEnd"]()}if(2&e){var o=c["ɵɵnextContext"]().$implicit;c["ɵɵadvance"](2),c["ɵɵtextInterpolate"](o.value)}}function AdditionalUrlsComponent_div_1_div_1_sf_input_2_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"sf-input",11),c["ɵɵlistener"]("ngModelChange",(function AdditionalUrlsComponent_div_1_div_1_sf_input_2_Template_sf_input_ngModelChange_0_listener(e){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"]().$implicit.value=e}))("onBlur",(function AdditionalUrlsComponent_div_1_div_1_sf_input_2_Template_sf_input_onBlur_0_listener(){c["ɵɵrestoreView"](n);var e=c["ɵɵnextContext"]().index;return c["ɵɵnextContext"](2).onItemEdit(e)}))("onEnter",(function AdditionalUrlsComponent_div_1_div_1_sf_input_2_Template_sf_input_onEnter_0_listener(){c["ɵɵrestoreView"](n);var e=c["ɵɵnextContext"]().index;return c["ɵɵnextContext"](2).onItemEdit(e)})),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"]().$implicit,i=c["ɵɵnextContext"](2);c["ɵɵproperty"]("ngModel",o.value)("name",i.settings.key)}}var _c1=function(e,t){return{"sf-error-block -error":e,"-edit":t}};function AdditionalUrlsComponent_div_1_div_1_Template(e,t){if(1&e&&(c["ɵɵelementStart"](0,"div",6),c["ɵɵtemplate"](1,AdditionalUrlsComponent_div_1_div_1_ng_container_1_Template,4,1,"ng-container",7),c["ɵɵtemplate"](2,AdditionalUrlsComponent_div_1_div_1_sf_input_2_Template,1,2,"sf-input",8),c["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=c["ɵɵnextContext"](2);c["ɵɵproperty"]("ngClass",c["ɵɵpureFunction2"](3,_c1,o.invalidUrls[n.value],n.show)),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",!n.show),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",n.show)}}function AdditionalUrlsComponent_div_1_Template(e,t){if(1&e&&(c["ɵɵelementStart"](0,"div",4),c["ɵɵtemplate"](1,AdditionalUrlsComponent_div_1_div_1_Template,3,6,"div",5),c["ɵɵelementEnd"]()),2&e){var n=c["ɵɵnextContext"]();c["ɵɵclassProp"]("-sf-mb-3xs",!n.showCreateField),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngForOf",n.urls)}}function AdditionalUrlsComponent_sf_input_2_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"sf-input",12,13),c["ɵɵlistener"]("ngModelChange",(function AdditionalUrlsComponent_sf_input_2_Template_sf_input_ngModelChange_0_listener(e){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"]().newValue=e})),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"]();c["ɵɵproperty"]("name",o.settings.key)("ngModel",o.newValue)}}function AdditionalUrlsComponent_sf_button_3_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"sf-button",14),c["ɵɵlistener"]("onClick",(function AdditionalUrlsComponent_sf_button_3_Template_sf_button_onClick_0_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"]().toggleEditableField(!0,!0)})),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"]();c["ɵɵproperty"]("title",o.settings.addButtonTitle)}}var u=function(e){function AdditionalUrlsComponent(t){var n=e.call(this)||this;return n.scrollService=t,n.showCreateField=!1,n.showCreateButton=!0,n.newValue=s.stringConstants.EMPTY_STRING,n.invalidUrls={},n}return Object(o.__extends)(AdditionalUrlsComponent,e),AdditionalUrlsComponent.prototype.ngOnInit=function(){this.initUrls()},AdditionalUrlsComponent.prototype.getValue=function(){if(!this.urls)return e.prototype.getValue.call(this);var t=[];return this.urls.forEach((function(e){t.push(e.value)})),t},AdditionalUrlsComponent.prototype.toggleEditableField=function(t,n){var o=this;this.showCreateField=!0,this.showCreateButton=!1,setTimeout((function(){o.scrollService.scrollTo(o.createField),n?(o.createField.focus(),e.prototype.onFocus.call(o)):e.prototype.onBlur.call(o)}))},AdditionalUrlsComponent.prototype.onEscapeKey=function(e){this.onBlur(),e.stopPropagation()},AdditionalUrlsComponent.prototype.removeUrl=function(e){var t=this.urls.map((function(e){return e.value})).indexOf(e);-1!==t&&(this.urls.splice(t,1),this.writeValue(this.getValue()))},AdditionalUrlsComponent.prototype.onBlur=function(){if(e.prototype.onBlur.call(this),this.newValue&&!this.isUrlEmpty(this.newValue)){var t=this.urls?this.urls.length:0;this.urls[t]={show:!1,value:this.newValue},this.writeValue(this.getValue())}this.newValue=s.stringConstants.EMPTY_STRING,this.collapseUrlField()},AdditionalUrlsComponent.prototype.closeAllEditFields=function(){this.urls.forEach((function(e){return e.show=!1}))},AdditionalUrlsComponent.prototype.isUrlEmpty=function(e){return e===s.stringConstants.FORWARD_SLASH||e===s.stringConstants.EMPTY_STRING},AdditionalUrlsComponent.prototype.onEditTrigger=function(e){this.closeAllEditFields(),this.previousValue=this.urls[e].value,this.urls[e].show=!this.urls[e].show},AdditionalUrlsComponent.prototype.onItemEdit=function(e){var t=this.urls[e];this.pushValue(t,e),this.closeAllEditFields(),this.previousValue=null},AdditionalUrlsComponent.prototype.commitValue=function(){var e=this;this.urls.forEach((function(t,n){e.pushValue(t,n,!0)})),this.previousValue=null},AdditionalUrlsComponent.prototype.processErrors=function(e){var t=this,n=[],o=l.CUSTOM_ERROR_PREFIX+l.VALIDATOR_MESSAGES.CUSTOM_ERRORS;if(this.invalidUrls={},e&&e[o]){var i=e[o],r=l.CUSTOM_ERROR_PREFIX+l.VALIDATOR_MESSAGES.URL_EXIST,a=[];if(Object.keys(i).forEach((function(o){var s=i[o];if("string"==typeof s)if(l.CUSTOM_ERROR_PREFIX+s.toLowerCase()===r)a.push(o);else{var A=t.validation.buildErrorMessage(s.toLowerCase(),e);n.push(A)}else n.push(t.validation.buildErrorMessage(null,s.message));var c=t.urls.find((function(e){return e.value===o||"/"+e.value===o}));c&&c.value&&(o=c.value),t.invalidUrls[o]=!0})),0===n.length&&this.urls&&this.urls.length>0&&a.length>0){var s=null;s=1===this.urls.length?r:l.CUSTOM_ERROR_PREFIX+(1===a.length?l.VALIDATOR_MESSAGES.URL_EXIST_SPECIFIC:l.VALIDATOR_MESSAGES.URL_EXIST_MANY);var A=this.validation.buildErrorMessage(s,null);n.push(A)}}return n},AdditionalUrlsComponent.prototype.collapseUrlField=function(){this.newValue||(this.showCreateButton=!0,this.showCreateField=!1)},AdditionalUrlsComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.initUrls()},AdditionalUrlsComponent.prototype.initUrls=function(){var t=[],n=e.prototype.getValue.call(this);if(n&&n.length)for(var o=0;o0),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",t.showCreateField),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",t.showCreateButton))},directives:[A.SfTrackFocusDirective,d.NgIf,d.NgForOf,d.NgClass,A.SfIconComponent,A.SfInputComponent,p.NgControlStatus,p.NgModel,A.SfButtonComponent],encapsulation:2}),AdditionalUrlsComponent}(a.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"AdditionalUrlsReadOnlyComponent",(function(){return s}));var o=n(259),i=n(336),r=n(229),a=n(261);function AdditionalUrlsReadOnlyComponent_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",2),r["ɵɵelementStart"](1,"span",3),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=t.$implicit;r["ɵɵadvance"](2),r["ɵɵtextInterpolate"](n)}}var s=function(e){function AdditionalUrlsReadOnlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(AdditionalUrlsReadOnlyComponent,e),AdditionalUrlsReadOnlyComponent.ɵfac=function AdditionalUrlsReadOnlyComponent_Factory(e){return A(e||AdditionalUrlsReadOnlyComponent)},AdditionalUrlsReadOnlyComponent.ɵcmp=r["ɵɵdefineComponent"]({type:AdditionalUrlsReadOnlyComponent,selectors:[["sf-additional-urls"]],features:[r["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(AdditionalUrlsReadOnlyComponent)]),r["ɵɵInheritDefinitionFeature"]],decls:2,vars:1,consts:[[1,"sf-list","-vertical"],["class","sf-list__item",4,"ngFor","ngForOf"],[1,"sf-list__item"],[1,"sf-list__content"]],template:function AdditionalUrlsReadOnlyComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵtemplate"](1,AdditionalUrlsReadOnlyComponent_div_1_Template,3,1,"div",1),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",t.value))},directives:[a.NgForOf],encapsulation:2}),AdditionalUrlsReadOnlyComponent}(i.FieldBase),A=r["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"ParentSelectorModule",(function(){return c}));var o=n(261),i=n(324),r=n(1661),a=n(415),s=n(1662),A=n(1693),l=n(229),c=function(){function ParentSelectorModule(){}return ParentSelectorModule.ɵfac=function ParentSelectorModule_Factory(e){return new(e||ParentSelectorModule)},ParentSelectorModule.ɵmod=l["ɵɵdefineNgModule"]({type:ParentSelectorModule}),ParentSelectorModule.ɵinj=l["ɵɵdefineInjector"]({imports:[[o.CommonModule,a.FieldsModule,i.FormsModule,s.TaxonomyModule]]}),ParentSelectorModule}();l["ɵɵsetNgModuleScope"](c,{declarations:[r.ParentSelectorComponent,A.ParentSelectorReadonlyComponent],imports:[o.CommonModule,a.FieldsModule,i.FormsModule,s.TaxonomyModule],exports:[r.ParentSelectorComponent,A.ParentSelectorReadonlyComponent]})},function(e,t,n){"use strict";n.r(t),n.d(t,"TOP_LEVEL_OPTION",(function(){return b})),n.d(t,"ParentSelectorComponent",(function(){return C}));var o=n(259),i=n(260),r=n(246),a=n(262),s=n(1143),A=n(336),l=n(1144),c=n(333),d=n(256),p=n(352),f=n(1652),u=n(229),m=n(324),g=n(261),E=["parentSelector"],h=["hierarchicalTaxa"],_c2=function(e,t,n){return{"-sf-block -sf-mt-3xs":e,"-sf-hidden":t,"-sf-ml-xs":n}},b="On top level",C=function(e){function ParentSelectorComponent(t){var n=e.call(this)||this;return n.route=t,n.expandPathPair={key:"Breadcrumb",value:"Title"},n.hasParent=!1,n.options=[{Name:b,Value:r.stringConstants.EMPTY_STRING}],n.isPage=!1,n}return Object(o.__extends)(ParentSelectorComponent,e),ParentSelectorComponent.prototype.ngOnInit=function(){var e=this.settings;this.options.push({Name:"Under parent "+e.selectorNames.singular.toLowerCase()+"...",Value:"parent"}),this.showAddToTopLevel=e.showAddToTopLevel,this.initChoiceField(this.showAddToTopLevel),this.friendlyTitle="parent "+e.selectorNames.singular.toLowerCase(),this.settings.title=this.showAddToTopLevel?"Put this "+e.selectorNames.singular.toLowerCase()+"...":e.selectorNames.singular,this.settings.friendlyTitle=this.friendlyTitle;var t=e.hierarchicalTaxaSettings;if(t.culture||(t.culture=e.culture),this.route&&t.type===d.ENTITY_SET.PAGES){var n=this.route.parent.snapshot.data[a.RESOLVE_NAMES.siteDataStore];n&&(this.settings.defaultValue=n.SiteMapRootNodeId,t.id=this.settings.dataItem.data?this.settings.dataItem.data.Id:r.stringConstants.DEFAULT_GUID,this.isPage=!0)}(this.value&&this.value!==this.settings.defaultValue&&this.value!==r.stringConstants.DEFAULT_GUID||!this.showAddToTopLevel)&&(this.hasParent=!0,this.parentSelector.settings.defaultValue=this.options[1].Value),this.hierarchicalTaxaEntityData={culture:e.culture,provider:e.dataItem?e.dataItem.provider:null,metadata:this.route&&this.route.parent.snapshot.data.metaStore.entities[t.type]},this.initHierarchicalTaxaField(t)},ParentSelectorComponent.prototype.onParentSelectionChange=function(e){this.hasParent=!!e,this.hasParent?(this.writeValue(null),this.hierarchicalTaxa.focusChips()):this.writeValue(this.settings.defaultValue)},ParentSelectorComponent.prototype.onHierarchicalTaxaSelect=function(e){this.hasParent&&(this.writeValue(e),this.hierarchicalTaxa.focusOutChips())},ParentSelectorComponent.prototype.onTaxaErrorOccured=function(e){this.emitStatus({type:p.StatusType.Error,data:{error:e}})},ParentSelectorComponent.prototype.postProcessValue=function(e){return this.isPage&&e&&e===r.stringConstants.DEFAULT_GUID&&(e=this.settings.defaultValue),e},ParentSelectorComponent.prototype.validate=function(){if(this.isPage||null!==this.value&&this.value!==r.stringConstants.DEFAULT_GUID||!this.hasParent)this.emitStatus({type:p.StatusType.Done});else{this.emitStatus({type:p.StatusType.Error,data:{required:!0}})}},ParentSelectorComponent.prototype.processErrors=function(t){var n=this,o=e.prototype.processErrors.call(this,t);return!0===t.required&&o.forEach((function(e,t){e==="Enter "+n.friendlyTitle&&(o[t]="Select a "+n.friendlyTitle)})),o},ParentSelectorComponent.prototype.setSiteId=function(e){this.hasParent=!1,this.hierarchicalTaxa.setSiteId(e),this.parentSelector.writeValue(this.options[0].Value)},ParentSelectorComponent.prototype.setCulture=function(e){this.hierarchicalTaxa.setCulture(e)},ParentSelectorComponent.prototype.initChoiceField=function(e){var t=new s.ChoiceSettings("selector",!1);t.choices=this.options,t.defaultValue=e?this.options[0].Value:this.options[1].Value,this.parentSelector.settings=t},ParentSelectorComponent.prototype.initHierarchicalTaxaField=function(e){var t=Object.assign({},e);if(t.displayMode=c.DISPLAY_MODE.NORMAL,t.allowCreate=!1,t.allowMultiple=!1,t.showTitle=!1,t.showMenuItems=!0,t.isParentSelection=!0,t.excludeParent=this.settings.excludeParent,!t.id&&this.route){var n=this.route.parent.snapshot.params;t.id=n?n[a.ROUTE_PARAMS.PARENT_ID_SEGMENT]:null}this.hierarchicalTaxa.settings=t},ParentSelectorComponent.ɵfac=function ParentSelectorComponent_Factory(e){return new(e||ParentSelectorComponent)(u["ɵɵdirectiveInject"](i.ActivatedRoute))},ParentSelectorComponent.ɵcmp=u["ɵɵdefineComponent"]({type:ParentSelectorComponent,selectors:[["sf-dropdown-selector"]],viewQuery:function ParentSelectorComponent_Query(e,t){if(1&e&&(u["ɵɵviewQuery"](E,3),u["ɵɵviewQuery"](h,3)),2&e){var n=void 0;u["ɵɵqueryRefresh"](n=u["ɵɵloadQuery"]())&&(t.parentSelector=n.first),u["ɵɵqueryRefresh"](n=u["ɵɵloadQuery"]())&&(t.hierarchicalTaxa=n.first)}},features:[u["ɵɵInheritDefinitionFeature"]],decls:4,vars:9,consts:[[3,"hidden","selectionChange"],["parentSelector",""],[3,"ngModel","expandPathPair","ngClass","entityData","onSelectionChange","onErrorOccured"],["hierarchicalTaxa",""]],template:function ParentSelectorComponent_Template(e,t){1&e&&(u["ɵɵelementStart"](0,"sf-choice",0,1),u["ɵɵlistener"]("selectionChange",(function ParentSelectorComponent_Template_sf_choice_selectionChange_0_listener(e){return t.onParentSelectionChange(e)})),u["ɵɵelementEnd"](),u["ɵɵelementStart"](2,"sf-taxa",2,3),u["ɵɵlistener"]("onSelectionChange",(function ParentSelectorComponent_Template_sf_taxa_onSelectionChange_2_listener(e){return t.onHierarchicalTaxaSelect(e)}))("onErrorOccured",(function ParentSelectorComponent_Template_sf_taxa_onErrorOccured_2_listener(e){return t.onTaxaErrorOccured(e)})),u["ɵɵelementEnd"]()),2&e&&(u["ɵɵproperty"]("hidden",!t.showAddToTopLevel),u["ɵɵadvance"](2),u["ɵɵproperty"]("ngModel",t.value)("expandPathPair",t.expandPathPair)("ngClass",u["ɵɵpureFunction3"](5,_c2,t.hasParent,!t.hasParent,t.showAddToTopLevel))("entityData",t.hierarchicalTaxaEntityData))},directives:[l.ChoiceComponent,f.TaxaComponent,m.NgControlStatus,m.NgModel,g.NgClass],encapsulation:2}),ParentSelectorComponent}(A.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyModule",(function(){return k}));var o=n(324),i=n(261),r=n(1575),a=n(1652),s=n(415),A=n(1663),l=n(1664),c=n(1665),d=n(1654),p=n(1666),f=n(1667),u=n(1668),m=n(1671),g=n(1683),E=n(1684),h=n(1686),b=n(1688),C=n(229),B=n(1107),k=function(){function TaxonomyModule(){}return TaxonomyModule.ɵfac=function TaxonomyModule_Factory(e){return new(e||TaxonomyModule)},TaxonomyModule.ɵmod=C["ɵɵdefineNgModule"]({type:TaxonomyModule}),TaxonomyModule.ɵinj=C["ɵɵdefineInjector"]({providers:[{provide:g.CustomFilterRenderer,useClass:E.FilterFlatTaxaFirstLetterRenderer,multi:!0},r.TaxonomyService,u.TaxonomyGridExtender,f.TAXONOMY_EDIT_EXTENDER,b.TAXONOMY_BULK_COMMAND_EXTENDER],imports:[[s.FieldsModule,o.FormsModule,i.CommonModule]]}),TaxonomyModule}();C["ɵɵsetNgModuleScope"](k,{declarations:[a.TaxaComponent,d.TaxaGridComponent,A.UsageInSitesComponent,l.TaxonomyTypeChoiceComponent,c.TaxonomyTypeChoiceReadonlyComponent,p.MoveTaxonComponent,m.MergeTaxonComponent,h.FilterFlatTaxaFirstLetterComponent],imports:[s.FieldsModule,o.FormsModule,i.CommonModule],exports:[a.TaxaComponent,d.TaxaGridComponent,A.UsageInSitesComponent,l.TaxonomyTypeChoiceComponent,c.TaxonomyTypeChoiceReadonlyComponent,p.MoveTaxonComponent,m.MergeTaxonComponent]}),C["ɵɵsetComponentScope"](p.MoveTaxonComponent,[B.SelectorComponent,i.NgIf,i.NgClass],[i.TitleCasePipe]),C["ɵɵsetComponentScope"](m.MergeTaxonComponent,[B.SelectorComponent],[])},function(e,t,n){"use strict";n.r(t),n.d(t,"UsageInSitesComponent",(function(){return c}));var o=n(1118),i=n(260),r=n(1531),a=n(11),s=n(229),A=n(261),l=["itemTemplate"];function UsageInSitesComponent_ng_container_0_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementContainerStart"](0),s["ɵɵelementStart"](1,"a",1),s["ɵɵlistener"]("click",(function UsageInSitesComponent_ng_container_0_Template_a_click_1_listener(){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onDetailsClick()})),s["ɵɵtext"](2),s["ɵɵelementEnd"](),s["ɵɵelementContainerEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵadvance"](2),s["ɵɵtextInterpolate1"]("",o.sitesCount," sites")}}function UsageInSitesComponent_ng_container_1_Template(e,t){1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵtext"](1," This site only\n"),s["ɵɵelementContainerEnd"]())}function UsageInSitesComponent_ng_container_2_Template(e,t){1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵtext"](1," Not used\n"),s["ɵɵelementContainerEnd"]())}var c=function(){function UsageInSitesComponent(e,t){this.route=e,this.modalService=t}return UsageInSitesComponent.prototype.ngOnInit=function(){this.sitesCount=this.context.dataItem.data.TaxonomySharedWith},UsageInSitesComponent.prototype.onDetailsClick=function(){var e=new a.BehaviorSubject(this.sitesCount),t={type:r.ModalListComponent,properties:{action:"Default.GetRelatedSites()",dataItem:this.context.dataItem,actionTitle:"Used in sites",count:e,showDataItemTitle:!1,treeConfig:{noSelection:!0,dataProperties:{descriptionField:"Url"},description:!0,treeProperties:{displayField:"Name"}},openItemEdit:!1,template:null,contentLook:"medium sf-mt-l",listLook:"no-hover"}},n=new o.DialogData(t);this.modalService.setMapping(n,"usedInSites"),this.modalService.open(this.route,"usedInSites")},UsageInSitesComponent.ɵfac=function UsageInSitesComponent_Factory(e){return new(e||UsageInSitesComponent)(s["ɵɵdirectiveInject"](i.ActivatedRoute),s["ɵɵdirectiveInject"](o.ModalWindowService))},UsageInSitesComponent.ɵcmp=s["ɵɵdefineComponent"]({type:UsageInSitesComponent,selectors:[["ng-component"]],viewQuery:function UsageInSitesComponent_Query(e,t){if(1&e&&s["ɵɵviewQuery"](l,3),2&e){var n;s["ɵɵqueryRefresh"](n=s["ɵɵloadQuery"]())&&(t.template=n.first)}},decls:3,vars:3,consts:[[4,"ngIf"],[3,"click"]],template:function UsageInSitesComponent_Template(e,t){1&e&&(s["ɵɵtemplate"](0,UsageInSitesComponent_ng_container_0_Template,3,1,"ng-container",0),s["ɵɵtemplate"](1,UsageInSitesComponent_ng_container_1_Template,2,0,"ng-container",0),s["ɵɵtemplate"](2,UsageInSitesComponent_ng_container_2_Template,2,0,"ng-container",0)),2&e&&(s["ɵɵproperty"]("ngIf",t.sitesCount>1),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",1==t.sitesCount),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",0==t.sitesCount))},directives:[A.NgIf],encapsulation:2}),UsageInSitesComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyTypeChoiceComponent",(function(){return s}));var o=n(259),i=n(415),r=n(229),a=n(1144),s=function(e){function TaxonomyTypeChoiceComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TaxonomyTypeChoiceComponent,e),TaxonomyTypeChoiceComponent.prototype.ngOnInit=function(){var e=this;this.settings.showFriendlyName=!0;var t=this.settings.choices.find((function(t){return t.Value===e.settings.defaultValue}));t&&this.writeValue(t.Value)},TaxonomyTypeChoiceComponent.prototype.onSelectionChange=function(e){this.writeValue(e)},TaxonomyTypeChoiceComponent.ɵfac=function TaxonomyTypeChoiceComponent_Factory(e){return A(e||TaxonomyTypeChoiceComponent)},TaxonomyTypeChoiceComponent.ɵcmp=r["ɵɵdefineComponent"]({type:TaxonomyTypeChoiceComponent,selectors:[["sf-taxonomy-type-choice"]],features:[r["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[[3,"settings","selectionChange"]],template:function TaxonomyTypeChoiceComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"sf-choice",0),r["ɵɵlistener"]("selectionChange",(function TaxonomyTypeChoiceComponent_Template_sf_choice_selectionChange_0_listener(e){return t.onSelectionChange(e)})),r["ɵɵelementEnd"]()),2&e&&r["ɵɵproperty"]("settings",t.settings)},directives:[a.ChoiceComponent],encapsulation:2}),TaxonomyTypeChoiceComponent}(i.FieldBase),A=r["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyTypeChoiceReadonlyComponent",(function(){return s}));var o=n(259),i=n(415),r=n(257),a=n(229),s=function(e){function TaxonomyTypeChoiceReadonlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TaxonomyTypeChoiceReadonlyComponent,e),TaxonomyTypeChoiceReadonlyComponent.prototype.ngOnInit=function(){var e=this.settings,t=this.getValue(),n=e.choices.find((function(e){return e.Name===t}));n&&(this.selectionTitle=n[r.FIELD_FRIENDLY_NAME]?n[r.FIELD_FRIENDLY_NAME]:n.Name)},TaxonomyTypeChoiceReadonlyComponent.ɵfac=function TaxonomyTypeChoiceReadonlyComponent_Factory(e){return A(e||TaxonomyTypeChoiceReadonlyComponent)},TaxonomyTypeChoiceReadonlyComponent.ɵcmp=a["ɵɵdefineComponent"]({type:TaxonomyTypeChoiceReadonlyComponent,selectors:[["sf-taxonomy-type-choice-readonly"]],features:[a["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,template:function TaxonomyTypeChoiceReadonlyComponent_Template(e,t){1&e&&a["ɵɵtext"](0),2&e&&a["ɵɵtextInterpolate1"]("",t.selectionTitle,"\n")},encapsulation:2}),TaxonomyTypeChoiceReadonlyComponent}(i.FieldBase),A=a["ɵɵgetInheritedFactory"](s)},function(e,t,n){"use strict";n.r(t),n.d(t,"MoveTaxonComponent",(function(){return g}));var o=n(229),i=n(1107),r=n(316),a=n(260),s=n(246),A=n(1189),l=n(1653),c=n(262),d=n(131),p=n(330),f=n(396),u=n(331),m=n(11),_c0=function(e){return{"h3 -sf-ml-3xl":e}};function MoveTaxonComponent_ng_template_1_h1_0_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"h1",4),o["ɵɵtext"](1),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]().stickyToolbar,i=o["ɵɵnextContext"]();o["ɵɵproperty"]("ngClass",o["ɵɵpureFunction1"](2,_c0,n&&n.isSticky)),o["ɵɵadvance"](1),o["ɵɵtextInterpolate1"](" Move items to another ",i.singularName," ")}}function MoveTaxonComponent_ng_template_1_Template(e,t){if(1&e&&o["ɵɵtemplate"](0,MoveTaxonComponent_ng_template_1_h1_0_Template,2,4,"h1",3),2&e){var n=o["ɵɵnextContext"]();o["ɵɵproperty"]("ngIf",n.singularName)}}function MoveTaxonComponent_ng_template_3_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",5),o["ɵɵelementStart"](1,"p"),o["ɵɵtext"](2),o["ɵɵpipe"](3,"titlecase"),o["ɵɵelementStart"](4,"b"),o["ɵɵtext"](5),o["ɵɵelementEnd"](),o["ɵɵtext"](6),o["ɵɵelementEnd"](),o["ɵɵelementStart"](7,"p"),o["ɵɵtext"](8),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](2),o["ɵɵtextInterpolate1"]("",o["ɵɵpipeBind1"](3,5,n.selectedItemsCount>1?n.pluralName:n.singularName)," "),o["ɵɵadvance"](3),o["ɵɵtextInterpolate"](n.selectedItemsText),o["ɵɵadvance"](1),o["ɵɵtextInterpolate2"](" will be removed from the ",n.itemTypeText," items and a new ",n.singularName," will be assigned. This operation may take few minutes."),o["ɵɵadvance"](2),o["ɵɵtextInterpolate1"]("Select a ",n.singularName," where to move the items")}}var g=function(){function MoveTaxonComponent(e,t,n){this.route=e,this.dynamicItemService=t,this.hierarchicalServices=n,this.taxons=[],this.totalCount=0,this.selected=[],this.taxaNames={plural:s.stringConstants.EMPTY_STRING,singular:s.stringConstants.EMPTY_STRING},this.letters=[],this.searchMode=!1,this.defaultTake=50}return MoveTaxonComponent.prototype.ngOnInit=function(){var e=this;if(this.hierarchicalServices&&this.hierarchicalServices.forEach((function(t){t.isTypeSupported(e.entityData)&&(e.hierarchicalService=t,e.hierarchicalService.init(e.dynamicItemService))})),!this.hierarchicalService&&this.entityData.metadata.setName&&this.entityData.metadata.singularName)this.hierarchicalService=this.hierarchicalServices.find((function(e){return e instanceof l.HierarchicalDynamicItemService})),this.hierarchicalService.init(this.dynamicItemService),this.hierarchicalService.setName=this.entityData.metadata.setName,this.hierarchicalService.singularName=this.entityData.metadata.singularName;else if(!this.hierarchicalService)return;this.pluralName=f.CompositeOperationsProvider.getOperationPluralName(this.entityData.metadata,this.contextParameters).toLowerCase(),this.singularName=f.CompositeOperationsProvider.getOperationSingularName(this.entityData.metadata,this.contextParameters).toLowerCase(),this.defaultFieldName=this.entityData.metadata.defaultFieldName,this.isHierarchical=this.hierarchicalService.isHierarchical(this.entityData.metadata.setName),this.itemTypeText=this.isHierarchical?u.TAXONOMY_STRING_CONSTANTS.CATEGORIZED:u.TAXONOMY_STRING_CONSTANTS.TAGGED,this.treeConfig={multiSelection:!1,isHierarchical:this.isHierarchical},this.getItems(),this.setSelectedItems(),this.serviceAware=new i.ServiceContract((function(t){return e.loadMore(t)}),(function(t){return e.expandChildren(t)}))},MoveTaxonComponent.prototype.getItems=function(){var e=this;this.isLoading=!0;var t=new p.TaxonomySettings(this.parentId,!0);t.id=this.parentId,t.type=this.entityData.metadata.setName;var n={parentId:this.parentId,skip:0,take:this.defaultTake};this.hierarchicalService.loadMore(n,this.entityData,t).subscribe((function(t){e.totalCount=t.totalCount,e.taxons=e.getTaxonCollection(t.dataItems,!1===e.isHierarchical),e.isLoading=!1}))},MoveTaxonComponent.prototype.setSelectedItems=function(){var e=this;if(this.itemSelectionInfo&&!0===this.itemSelectionInfo.allItemsSelected)this.dataItems&&this.dataItems.length&&this.getAllSelectedItems().subscribe((function(t){var n=e.orderSelectedItems(t).map((function(e){return e.title}));e.selectedItemsText=n.join(""+s.stringConstants.COMMA+s.stringConstants.INTERVAL),e.selectedItemsCount=n.length}));else{var t=this.orderSelectedItems(this.dataItems).map((function(e){return e.title}));this.selectedItemsText=t.join(""+s.stringConstants.COMMA+s.stringConstants.INTERVAL),this.selectedItemsCount=t.length}},MoveTaxonComponent.prototype.getAllSelectedItems=function(){for(var e=this,t=[],n=0;n0&&(n=t.join(" > ")+" > "+n),n},MoveTaxonComponent.ɵfac=function MoveTaxonComponent_Factory(e){return new(e||MoveTaxonComponent)(o["ɵɵdirectiveInject"](a.ActivatedRoute),o["ɵɵdirectiveInject"](r.DynamicItemService),o["ɵɵdirectiveInject"](A.HIERARCHICAL_SERVICE_TOKEN,8))},MoveTaxonComponent.ɵcmp=o["ɵɵdefineComponent"]({type:MoveTaxonComponent,selectors:[["ng-component"]],decls:5,vars:10,consts:[[3,"value","totalItemsCount","defaultField","typeNames","treeConfig","loading","selected","titleTemplate","descriptionTemplate","serviceAware"],["titleTemplate",""],["descriptionTemplate",""],["data-sftest","sf-taxa-modal-heading",3,"ngClass",4,"ngIf"],["data-sftest","sf-taxa-modal-heading",3,"ngClass"],[1,"-sf-mt-3xs","-sf-txt-large"]],template:function MoveTaxonComponent_Template(e,t){if(1&e&&(o["ɵɵelement"](0,"sf-show-all",0),o["ɵɵtemplate"](1,MoveTaxonComponent_ng_template_1_Template,1,1,"ng-template",null,1,o["ɵɵtemplateRefExtractor"]),o["ɵɵtemplate"](3,MoveTaxonComponent_ng_template_3_Template,9,7,"ng-template",null,2,o["ɵɵtemplateRefExtractor"])),2&e){var n=o["ɵɵreference"](2),i=o["ɵɵreference"](4);o["ɵɵproperty"]("value",t.taxons)("totalItemsCount",t.totalCount)("defaultField",t.defaultFieldName)("typeNames",t.taxaNames)("treeConfig",t.treeConfig)("loading",t.isLoading)("selected",t.selected)("titleTemplate",n)("descriptionTemplate",i)("serviceAware",t.serviceAware)}},encapsulation:2}),MoveTaxonComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyEditExtender",(function(){return s})),n.d(t,"TAXONOMY_EDIT_EXTENDER",(function(){return l}));var o=n(259),i=n(229),r=n(1199),a=n(256),s=function(e){function TaxonomyEditExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(TaxonomyEditExtender,e),TaxonomyEditExtender.prototype.isSupportedType=function(e){return e.metadata.setName===a.ENTITY_SET.CLASSIFICATIONS||e.metadata.setName===a.ENTITY_SET.FLAT_TAXA||e.metadata.setName===a.ENTITY_SET.HIERARCHY_TAXA},TaxonomyEditExtender.prototype.getFormClasses=function(){return"-medium"},TaxonomyEditExtender.prototype.showHeader=function(e){return!0},TaxonomyEditExtender.ɵfac=function TaxonomyEditExtender_Factory(e){return A(e||TaxonomyEditExtender)},TaxonomyEditExtender.ɵprov=i["ɵɵdefineInjectable"]({token:TaxonomyEditExtender,factory:TaxonomyEditExtender.ɵfac}),TaxonomyEditExtender}(r.EditExtender),A=i["ɵɵgetInheritedFactory"](s),l={multi:!0,provide:r.EDIT_EXTENDER_TOKEN,useClass:s}},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyGridExtender",(function(){return D})),n.d(t,"TAXONOMY_GRID_EXTENDER",(function(){return Q}));var o=n(259),i=n(229),r=n(11),a=n(331),s=n(314),A=n(262),l=n(1669),c=n(1389),d=n(317),p=n(316),f=n(1171),u=n(1388),m=n(1189),g=n(1670),E=n(131),h=n(1118),b=n(246),C=n(320),B=n(319),k=n(271),I=n(1575),v=n(1600),w=n(1390),_=n(269),x=n(1174),y=n(1213),S=n(268),T=n(1397),M=n(1177),D=function(e){function TaxonomyGridExtender(t,n,o,i,r,a,s,A,l,c,d,p,f){var u=e.call(this,a,t,l,c,d,p,s,f)||this;return u.metadataStore=n,u.taxonomyService=o,u.hierarchicalTaxonExpandService=i,u.hierarchicalServices=r,u.itemService=A,u}return Object(o.__extends)(TaxonomyGridExtender,e),TaxonomyGridExtender.prototype.getExpandedNodeIds=function(e){return this.hierarchicalTaxonExpandService.getExpandedNodeIds()},TaxonomyGridExtender.prototype.setExpandedNodeIds=function(e){this.hierarchicalTaxonExpandService.setExpandedNodeIds(e.expandedIds)},TaxonomyGridExtender.prototype.isHierarchical=function(e){var t=e.snapshot.data[l.DYNAMIC_ITEMS_DATA_NAME],n=t.metadata.setName,o=this.getHierarchicalService(t);return!(!o||!o.isHierarchical(n))&&!(e.snapshot.queryParams[A.FILTER_PARAMS.FILTER]||e.snapshot.queryParams[A.FILTER_PARAMS.SEARCH]||e.snapshot.queryParams[A.FILTER_PARAMS.SORT]&&e.snapshot.queryParams[A.FILTER_PARAMS.SORT]!==x.DEFAULT_ORDINAL_EXPRESSION)},TaxonomyGridExtender.prototype.getTotalItemsCountWithChildren=function(e,t){if(this.isHierarchical(t)){var n=t.snapshot.data.dynamicItems,o=t.parent.snapshot.params[A.ROUTE_PARAMS.PARENT_ID_SEGMENT]||null,i={entityData:n,query:Object(s.createQuery)().where().eq(n.metadata.parentIdProperty,o).done(),dataFieldNames:[n.metadata.defaultFieldName],order:null,skip:null,take:0,action:null,fallbackProperties:[n.metadata.defaultFieldName]};return this.itemService.getItemList(i).pipe(Object(E.map)((function(e){return e.totalCount})))}return Object(r.of)(e)},TaxonomyGridExtender.prototype.getChildren=function(e,t,n,o){var i=this.getHierarchicalService(e);return i?i.expandChildren(n,e,t).toPromise():new Promise((function(e){return e(null)}))},TaxonomyGridExtender.prototype.getDisabledFilterLoaders=function(e){var t=e.snapshot.data.dynamicItems;if(t.metadata.setName===a.default.FLAT_TAXA||t.metadata.setName===a.default.HIERARCHY_TAXA){var n=e.snapshot.parent.data[A.RESOLVE_NAMES.siteDataStore];if(n||(n=e.snapshot.data[A.RESOLVE_NAMES.siteDataStore]),n)return{disableContentFilterLoaders:n.ContentCultures&&1===n.ContentCultures.length}}return null},TaxonomyGridExtender.prototype.reloadItems=function(e,t,n,o,i){var a=this.contentFilterService.getLoadArguments(e,t,n,o,i);return this.dynamicItemStore.loadItems(a),Object(r.never)()},TaxonomyGridExtender.prototype.getItemsData=function(e,t,n){var o=e.snapshot.data.dynamicItems,i=e.parent.snapshot.params[A.ROUTE_PARAMS.PARENT_ID_SEGMENT]||null,r=Object(s.createQuery)().where().and().eq(o.metadata.parentIdProperty,i).eq(m.PARENT_KEY,null).done().done(),a=this.getHierarchicalService(o);return a&&a.isHierarchical(o.metadata.setName)&&(t[o.metadata.hasChildrenProperty]||t.push(o.metadata.hasChildrenProperty)),{entityData:o,query:r,dataFieldNames:t,order:n?n.order:null,skip:n?n.skip:null,take:n?n.take:null,action:n?n.action:null,fallbackProperties:[o.metadata.defaultFieldName]}},TaxonomyGridExtender.prototype.isSupportedType=function(e){return e.metadata.setName===a.default.TAXONOMIES_SET_NAME||e.metadata.setName===a.default.FLAT_TAXA||e.metadata.setName===a.default.HIERARCHY_TAXA},TaxonomyGridExtender.prototype.getTitle=function(t){return t.parentItem&&t.parentItem.data&&t.parentItem.data.DefaultTitle?Object(r.of)(""+t.parentItem.data.DefaultTitle):e.prototype.getTitle.call(this,t)},TaxonomyGridExtender.prototype.getSingleItemName=function(t){if(t.parentItem&&t.parentItem.data&&t.parentItem.data.DefaultTaxonName){var n=""+t.parentItem.data.DefaultTaxonName;return Object(r.of)({primary:n,secondary:n})}return e.prototype.getSingleItemName.call(this,t)},TaxonomyGridExtender.prototype.getPluralItemName=function(t){if(t.parentItem&&t.parentItem.data&&t.parentItem.data.DefaultTitle){var n=""+t.parentItem.data.DefaultTitle;return Object(r.of)({primary:n,secondary:n})}return e.prototype.getPluralItemName.call(this,t)},TaxonomyGridExtender.prototype.getEmptyScreenIcon=function(e){return c.EMPTY_SCREEN_ICONS[e]},TaxonomyGridExtender.prototype.getDefaultSort=function(e){return e.metadata.setName===a.default.HIERARCHY_TAXA?x.DEFAULT_ORDINAL_EXPRESSION:a.default.TAXONOMY_DEFAULT_SORT},TaxonomyGridExtender.prototype.executeNavigateCommand=function(e,t,n,o,i){void 0===i&&(i=null);var r={};return t.snapshot.queryParams[A.FILTER_PARAMS.FILTER]===A.FILTER_TYPES.NOT_USED&&o.metadata.setName===a.default.TAXONOMIES_SET_NAME&&(r[A.QUERY_PARAMS.IGNORE_SITE_CONTEXT]=!0),new w.NavigateCommand(e).execute({currentRoute:t,data:{dataItem:n,metadata:o,parentSetName:this.getParentSetName(o),childSetName:i,navigateToGrid:n&&this.shouldNavigateToChildGrid(n),isChildNavigate:n&&n.metadata.setName===o.metadata.setName&&Object.keys(n.data).length>1,additionalQueryParams:r},model:null})},TaxonomyGridExtender.prototype.executeServerAction=function(e,t){return t.updateItem.dataItem.metadata.setName===a.default.TAXONOMIES_SET_NAME&&t.actionButton.sourceOperation.Name===B.OPERATION_NAMES.delete?this.handleDeleteTaxonomyCommand(e,t):e.execute(t)},TaxonomyGridExtender.prototype.getSidebarDisplayName=function(e,t){return t&&t.data&&t.data.DefaultTitle?""+t.data.DefaultTitle:e.metadata.displayName},TaxonomyGridExtender.prototype.getQuickNavigationSidebarSections=function(e,t){var n=this,o=new r.ReplaySubject(1);return null===t?Object(r.of)([]):(this.taxonomyService.getTaxonomies([]).then((function(t){var i=t.filter((function(e){return e.TaxaUrl===a.default.FLAT_TAXA})),r=t.filter((function(e){return e.TaxaUrl===a.default.HIERARCHY_TAXA})),s={metadata:n.metadataStore.getEntity(a.default.TAXONOMIES_SET_NAME),culture:e.culture,provider:e.provider},A={dataItems:[d.DataItem.fromEntityData({Title:"All "+v.CLASSIFICATIONS_NAME.toLowerCase()},s)],sourceEntityData:e,title:null},l=n.getQuickNavigationSidebarSection(r,s),c=n.getQuickNavigationSidebarSection(i,s);o.next([l,c,A])})),o.asObservable())},TaxonomyGridExtender.prototype.getQuickNavigationSidebarTitle=function(e,t){return"Browse "+v.CLASSIFICATIONS_NAME.toLowerCase()},TaxonomyGridExtender.prototype.hasLongRunningTasks=function(t){return t.metadata.setName===a.default.FLAT_TAXA||t.metadata.setName===a.default.HIERARCHY_TAXA||e.prototype.hasLongRunningTasks.call(this,t)},TaxonomyGridExtender.prototype.getParentSetName=function(e){return a.default.TAXONOMIES_SET_NAME},TaxonomyGridExtender.prototype.isPagingPersistenceEnabled=function(){return!0},TaxonomyGridExtender.prototype.clearTemporaryData=function(){e.prototype.clearTemporaryData.call(this),this.hierarchicalTaxonExpandService.clearExpandedNodeIds()},TaxonomyGridExtender.prototype.getQuickNavigationSidebarSection=function(e,t){var n=[];return e.forEach((function(e){n.push(d.DataItem.fromEntityData(e,t))})),{dataItems:n,sourceEntityData:t,title:e[0].Type}},TaxonomyGridExtender.prototype.handleDeleteTaxonomyCommand=function(e,t){var n=this,o=this.itemService.executeBoundFunction(t.updateItem.dataItem,"Default.GetItemTypesUsingTaxonomy()".toLowerCase()),i=b.stringConstants.EMPTY_STRING;return o.pipe(Object(E.flatMap)((function(o){if(o.value.length){i=o.value.map((function(e){return e.DisplayName})).join(", ");var a="Classification "+t.updateItem.dataItem.data.Title+" is used in content types: "+i+". Remove it from any content types first and then delete the classification.",s=[new h.CancelButton("Close")],A=n.generateModalWarningSettings("Classification cannot be deleted",a,s);return n.modalWindowService.openModalConfirmation(t.route.parent,A,t.updateItem.dataItem),Object(r.of)()}return e.execute(t)})))},TaxonomyGridExtender.prototype.generateModalWarningSettings=function(e,t,n){return{title:e,description:t,icon:C.ActionIcon.Delete,action:b.stringConstants.EMPTY_STRING,hideItemTitle:!0,buttons:n}},TaxonomyGridExtender.prototype.getHierarchicalService=function(e){var t=this.hierarchicalServices.find((function(t){return e&&t.isTypeSupported(e)}));return t&&t.init(this.dynamicItemStore.service),t},TaxonomyGridExtender.ɵfac=function TaxonomyGridExtender_Factory(e){return new(e||TaxonomyGridExtender)(i["ɵɵinject"](f.DynamicItemStore),i["ɵɵinject"](_.MetadataStore),i["ɵɵinject"](I.TaxonomyService),i["ɵɵinject"](g.HierarchicalTaxonExpandService),i["ɵɵinject"](m.HIERARCHICAL_SERVICE_TOKEN,8),i["ɵɵinject"](S.ContentFilterService),i["ɵɵinject"](h.ModalWindowService),i["ɵɵinject"](p.DynamicItemService),i["ɵɵinject"](k.Settings),i["ɵɵinject"](x.SortService),i["ɵɵinject"](y.BackendTweaksStore),i["ɵɵinject"](T.GridReloadService),i["ɵɵinject"](M.NOTIFICATION_SERVICE))},TaxonomyGridExtender.ɵprov=i["ɵɵdefineInjectable"]({token:TaxonomyGridExtender,factory:TaxonomyGridExtender.ɵfac}),TaxonomyGridExtender}(u.GridExtenderBase),Q={multi:!0,provide:u.GRID_EXTENDER_TOKEN,useClass:D}},function(e,t,n){"use strict";n.r(t),n.d(t,"DYNAMIC_ITEMS_DATA_NAME",(function(){return o}));var o="dynamicItems"},function(e,t,n){"use strict";n.r(t),n.d(t,"HierarchicalTaxonExpandService",(function(){return A}));var o=n(271),i=n(1139),r=n(131),a=n(331),s=n(229),A=function(){function HierarchicalTaxonExpandService(e,t){this.settings=e,this.siteDataStore=t}return HierarchicalTaxonExpandService.prototype.getExpandedNodeIds=function(){var e=this;return this.siteDataStore.getValue().pipe(Object(r.map)((function(t){var n=t.SiteMapRootNodeId+a.default.HIERARCHICAL_TAXON_FULL_NAME;return e.settings.getExpandedNodeIds(n)})))},HierarchicalTaxonExpandService.prototype.setExpandedNodeIds=function(e){var t=this;this.siteDataStore.getValue().pipe(Object(r.map)((function(n){var o=n.SiteMapRootNodeId+a.default.HIERARCHICAL_TAXON_FULL_NAME;return t.settings.setExpandedNodeIds(o,e)}))).subscribe()},HierarchicalTaxonExpandService.prototype.clearExpandedNodeIds=function(){var e=this;this.siteDataStore.getValue().subscribe((function(t){var n=t.SiteMapRootNodeId+a.default.HIERARCHICAL_TAXON_FULL_NAME;return e.settings.setExpandedNodeIds(n,[])}))},HierarchicalTaxonExpandService.ɵfac=function HierarchicalTaxonExpandService_Factory(e){return new(e||HierarchicalTaxonExpandService)(s["ɵɵinject"](o.Settings),s["ɵɵinject"](i.SiteDataStore))},HierarchicalTaxonExpandService.ɵprov=s["ɵɵdefineInjectable"]({token:HierarchicalTaxonExpandService,factory:HierarchicalTaxonExpandService.ɵfac}),HierarchicalTaxonExpandService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MergeTaxonComponent",(function(){return f}));var o=n(1107),i=n(316),r=n(260),a=n(246),s=n(1189),A=n(1653),l=n(396),c=n(1672),d=n(1574),p=n(229),f=function(){function MergeTaxonComponent(e,t,n){this.route=e,this.dynamicItemService=t,this.hierarchicalServices=n,this.taxons=[],this.totalCount=0,this.selected=[],this.taxaNames={plural:a.stringConstants.EMPTY_STRING,singular:a.stringConstants.EMPTY_STRING},this.selectionText="Merge",this.defaultLoad=20,this.pagingLoad=20}return MergeTaxonComponent.prototype.ngOnInit=function(){var e=this;if(this.hierarchicalServices&&this.hierarchicalServices.forEach((function(t){t.isTypeSupported(e.entityData)&&(e.hierarchicalService=t,e.hierarchicalService.init(e.dynamicItemService))})),!this.hierarchicalService&&this.entityData.metadata.setName&&this.entityData.metadata.singularName)this.hierarchicalService=this.hierarchicalServices.find((function(e){return e instanceof A.HierarchicalDynamicItemService})),this.hierarchicalService.init(this.dynamicItemService),this.hierarchicalService.setName=this.entityData.metadata.setName,this.hierarchicalService.singularName=this.entityData.metadata.singularName;else if(!this.hierarchicalService)return;var t=l.CompositeOperationsProvider.getOperationPluralName(this.entityData.metadata,this.contextParameters).toLowerCase(),n=l.CompositeOperationsProvider.getOperationSingularName(this.entityData.metadata,this.contextParameters).toLowerCase();this.taxaNames={plural:t,singular:n},this.defaultFieldName=this.entityData.metadata.defaultFieldName,this.treeConfig={multiSelection:!1,isHierarchical:!1},this.formattedTypeName=t,this.description="Select "+n+" to merge others into",this.getItems(),this.serviceAware=new o.ServiceContract((function(t){return e.loadMore(t)}))},MergeTaxonComponent.prototype.getItems=function(){var e=this;this.isLoading=!0,this.itemSelectionInfo&&this.itemSelectionInfo.allItemsSelected?this.hierarchicalService.getModalItems(this.entityData,this.parentId).pipe(Object(c.map)((function(t){return{dataItems:t.dataItems.filter((function(t){return!e.itemSelectionInfo.deselectedItems.has(t.key)})),totalCount:t.totalCount}}))).subscribe((function(t){e.totalCount=t.totalCount,e.taxons=e.getTaxonCollection(t.dataItems),e.isLoading=!1})):(this.dataItems=this.dataItems.sort((function(e,t){return e.title.localeCompare(t.title)})),this.totalCount=this.dataItems.length,this.taxons=this.getTaxonCollection(this.dataItems.slice(0,this.defaultLoad)),this.isLoading=!1)},MergeTaxonComponent.prototype.loadMore=function(e){var t=this;if(this.itemSelectionInfo&&this.itemSelectionInfo.allItemsSelected){var n=new d.TaxonomySettings(this.parentId,!0);return n.id=this.parentId,n.type=this.entityData.metadata.setName,e.parentId=this.parentId,this.hierarchicalService.loadMore(e,this.entityData,n).pipe(Object(c.map)((function(e){return{dataItems:t.getTaxonCollection(e.dataItems.filter((function(e){return!t.itemSelectionInfo.deselectedItems.has(e.key)}))),totalCount:e.totalCount}}))).toPromise()}var o=this.dataItems;return e.searchText&&e.searchText!==a.stringConstants.EMPTY_STRING&&(o=o.filter((function(t){return-1!==t.title.toLowerCase().search(e.searchText.toLowerCase())}))),o=o.slice(e.skip,e.skip+this.pagingLoad),new Promise((function(e){e({dataItems:t.getTaxonCollection(o),totalCount:t.dataItems.length})}))},MergeTaxonComponent.prototype.getTaxonCollection=function(e){var t=this,n=[];return e.forEach((function(e){n.push(t.cloneAndAddFieldsToDataItem(e))})),n},MergeTaxonComponent.prototype.cloneAndAddFieldsToDataItem=function(e){var t=JSON.parse(JSON.stringify(e.data));return{Id:t.Id,Title:t.Title,isTranslated:e.isTranslated}},MergeTaxonComponent.ɵfac=function MergeTaxonComponent_Factory(e){return new(e||MergeTaxonComponent)(p["ɵɵdirectiveInject"](r.ActivatedRoute),p["ɵɵdirectiveInject"](i.DynamicItemService),p["ɵɵdirectiveInject"](s.HIERARCHICAL_SERVICE_TOKEN,8))},MergeTaxonComponent.ɵcmp=p["ɵɵdefineComponent"]({type:MergeTaxonComponent,selectors:[["ng-component"]],decls:1,vars:11,consts:[[3,"value","totalItemsCount","defaultField","typeNames","treeConfig","loading","selected","description","formattedTypeName","selectionText","serviceAware"]],template:function MergeTaxonComponent_Template(e,t){1&e&&p["ɵɵelement"](0,"sf-show-all",0),2&e&&p["ɵɵproperty"]("value",t.taxons)("totalItemsCount",t.totalCount)("defaultField",t.defaultFieldName)("typeNames",t.taxaNames)("treeConfig",t.treeConfig)("loading",t.isLoading)("selected",t.selected)("description",t.description)("formattedTypeName",t.formattedTypeName)("selectionText",t.selectionText)("serviceAware",t.serviceAware)},encapsulation:2}),MergeTaxonComponent}()},,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"CustomFilterRenderer",(function(){return o}));var o=function o(){}},function(e,t,n){"use strict";n.r(t),n.d(t,"FilterFlatTaxaFirstLetterRenderer",(function(){return s}));var o=n(259),i=n(1683),r=n(1685),a=n(1686),s=function(e){function FilterFlatTaxaFirstLetterRenderer(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(FilterFlatTaxaFirstLetterRenderer,e),FilterFlatTaxaFirstLetterRenderer.prototype.initComponentData=function(e,t,n){return{type:a.FilterFlatTaxaFirstLetterComponent,properties:{filters:e,entityData:t,reload:n,category:this.getCategory()}}},FilterFlatTaxaFirstLetterRenderer.prototype.getCategory=function(){return r.RENDERER_CATEGORIES.FLAT_TAXA_FIRST_LETTER_FILTER},FilterFlatTaxaFirstLetterRenderer}(i.CustomFilterRenderer)},function(e,t,n){"use strict";n.r(t),n.d(t,"RENDERER_CATEGORIES",(function(){return o}));var o={FLAT_TAXA_FIRST_LETTER_FILTER:"FilterFlatTaxaFirstLetter"}},function(e,t,n){"use strict";n.r(t),n.d(t,"FilterFlatTaxaFirstLetterComponent",(function(){return p}));var o=n(259),i=n(229),r=(n(1687),n(264)),a=n(1193),s=n(260),A=n(262),l=(n(11),n(131)),c=n(261),d=n(354);function FilterFlatTaxaFirstLetterComponent_ul_0_li_2_span_5_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span",10),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]().$implicit;i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" (",n.count,") ")}}var _c0=function(e){return{"-active":e}};function FilterFlatTaxaFirstLetterComponent_ul_0_li_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"li",5),i["ɵɵelementStart"](1,"a",6),i["ɵɵlistener"]("click",(function FilterFlatTaxaFirstLetterComponent_ul_0_li_2_Template_a_click_1_listener(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"](2).onFilterSelect(e.name)})),i["ɵɵelementStart"](2,"span",7),i["ɵɵelementStart"](3,"span",8),i["ɵɵtext"](4),i["ɵɵelementEnd"](),i["ɵɵtemplate"](5,FilterFlatTaxaFirstLetterComponent_ul_0_li_2_span_5_Template,2,1,"span",9),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,r=i["ɵɵnextContext"](2),a=i["ɵɵreference"](2);i["ɵɵattribute"]("class",o.cssClass),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](5,_c0,r.filterValue===o.name)),i["ɵɵadvance"](3),i["ɵɵtextInterpolate1"]("",o.title," "),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!r.isLoading)("ngIfElse",a)}}function FilterFlatTaxaFirstLetterComponent_ul_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"ul",3),i["ɵɵpipe"](1,"sfSafe"),i["ɵɵtemplate"](2,FilterFlatTaxaFirstLetterComponent_ul_0_li_2_Template,6,7,"li",4),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵattribute"]("style",i["ɵɵpipeBind2"](1,2,"--alphabet-filter-rows: "+n.filterRows,"style"),i["ɵɵsanitizeStyle"]),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",n.filters)}}function FilterFlatTaxaFirstLetterComponent_ng_template_1_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-loader",11)}function FilterFlatTaxaFirstLetterComponent_ng_template_3_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-loader",12)}var p=function(e){function FilterFlatTaxaFirstLetterComponent(t,n){var o=e.call(this)||this;return o.filterStore=t,o.route=n,o.filterSelect=new i.EventEmitter,o.filtersChanged=new i.EventEmitter,o.filters=[],o.filterRows=100,o}return Object(o.__extends)(FilterFlatTaxaFirstLetterComponent,e),FilterFlatTaxaFirstLetterComponent.prototype.ngOnInit=function(){var e=this;this.loadFilters(),this.isInitialLoad=!0;var t=this.reload.subscribe((function(){e.loadFilters()}));this.registerSubscription(t);var n=this.route.queryParams.subscribe((function(t){e.filterValue=t[A.FILTER_PARAMS.FILTER]}));this.registerSubscription(n)},FilterFlatTaxaFirstLetterComponent.prototype.onFilterSelect=function(e){this.filterSelect.emit(e)},FilterFlatTaxaFirstLetterComponent.prototype.loadFilters=function(){var e=this;this.isLoading=!0;var t=this.route.snapshot.params[A.ROUTE_PARAMS.PARENT_ID_SEGMENT],n=this.filterStore.getDynamicFilters(this.entityData,t).pipe(Object(l.delay)(A.LOADING_TIME)).subscribe((function(t){e.isLoading=!1,e.isInitialLoad=!1,e.filters=Object.assign([],t.filter((function(t){return t.category===e.category}))),e.filterRows=Math.ceil(e.filters.length/2),e.filtersChanged.emit(e.filters)}));this.registerSubscription(n)},FilterFlatTaxaFirstLetterComponent.ɵfac=function FilterFlatTaxaFirstLetterComponent_Factory(e){return new(e||FilterFlatTaxaFirstLetterComponent)(i["ɵɵdirectiveInject"](a.FilterStore),i["ɵɵdirectiveInject"](s.ActivatedRoute))},FilterFlatTaxaFirstLetterComponent.ɵcmp=i["ɵɵdefineComponent"]({type:FilterFlatTaxaFirstLetterComponent,selectors:[["sf-filter-flat-taxa-first-letter"]],inputs:{entityData:"entityData",category:"category",reload:"reload"},outputs:{filterSelect:"filterSelect",filtersChanged:"filtersChanged"},features:[i["ɵɵInheritDefinitionFeature"]],decls:5,vars:2,consts:[["class","sf-field__content -sf-ml--4xs -list-style-none sf-filters-list -alphabet","data-sftest","sf-filters-list",4,"ngIf","ngIfElse"],["countLoader",""],["initialLoader",""],["data-sftest","sf-filters-list",1,"sf-field__content","-sf-ml--4xs","-list-style-none","sf-filters-list","-alphabet"],["data-sftest","sf-filter-item",4,"ngFor","ngForOf"],["data-sftest","sf-filter-item"],[1,"-side",3,"ngClass","click"],["data-sftest","sf-filters-count"],[1,"-sf-txt-upper-case"],["class","sf-field",4,"ngIf","ngIfElse"],[1,"sf-field"],["look","inline"],["look","skeleton side-content darker"]],template:function FilterFlatTaxaFirstLetterComponent_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,FilterFlatTaxaFirstLetterComponent_ul_0_Template,3,5,"ul",0),i["ɵɵtemplate"](1,FilterFlatTaxaFirstLetterComponent_ng_template_1_Template,1,0,"ng-template",null,1,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](3,FilterFlatTaxaFirstLetterComponent_ng_template_3_Template,1,0,"ng-template",null,2,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](4);i["ɵɵproperty"]("ngIf",!t.isInitialLoad)("ngIfElse",n)}},directives:[c.NgIf,c.NgForOf,c.NgClass,d.SfLoaderComponent],pipes:[d.SfSafePipe],encapsulation:2}),FilterFlatTaxaFirstLetterComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyBulkCommandExtender",(function(){return p})),n.d(t,"TAXONOMY_BULK_COMMAND_EXTENDER",(function(){return f}));var o=n(259),i=n(1689),r=n(256),a=n(319),s=n(1690),A=n(1171),l=n(1118),c=n(229),d=n(1626),p=function(e){function TaxonomyBulkCommandExtender(t,n){var o=e.call(this)||this;return o.modalService=t,o.dynamicItemStore=n,o}return Object(o.__extends)(TaxonomyBulkCommandExtender,e),TaxonomyBulkCommandExtender.prototype.isSupportedType=function(e){return e.metadata.setName===r.ENTITY_SET.CLASSIFICATIONS||e.metadata.setName===r.ENTITY_SET.FLAT_TAXA||e.metadata.setName===r.ENTITY_SET.HIERARCHY_TAXA},TaxonomyBulkCommandExtender.prototype.tryHandleCommand=function(e,t){if(e.name===a.OPERATION_NAMES.bulkEditProperties){var n=new s.BulkEditTaxonCommand(this.modalService,this.dynamicItemStore);return n.itemSelectionInfo=t.bulkItemSelectionInfo,n}return null},TaxonomyBulkCommandExtender.ɵfac=function TaxonomyBulkCommandExtender_Factory(e){return new(e||TaxonomyBulkCommandExtender)(c["ɵɵinject"](l.ModalWindowService),c["ɵɵinject"](A.DynamicItemStore))},TaxonomyBulkCommandExtender.ɵprov=c["ɵɵdefineInjectable"]({token:TaxonomyBulkCommandExtender,factory:TaxonomyBulkCommandExtender.ɵfac}),TaxonomyBulkCommandExtender}(i.BulkCommandExtenderBase),f={multi:!0,provide:d.BULK_COMMAND_EXTENDER_TOKEN,useClass:p}},function(e,t,n){"use strict";n.r(t),n.d(t,"BulkCommandExtenderBase",(function(){return o}));var o=function(){function BulkCommandExtenderBase(){}return BulkCommandExtenderBase.prototype.getEntityDatasForBulkOperation=function(e,t){return void 0===t&&(t=null),[e]},BulkCommandExtenderBase.prototype.getFilterByParentQuery=function(e,t,n){return t.eq(e.metadata.parentIdProperty,n)},BulkCommandExtenderBase.prototype.tryHandleCommand=function(e,t){return null},BulkCommandExtenderBase.prototype.getAdditionalFieldNames=function(e){return[]},BulkCommandExtenderBase}()},function(e,t,n){"use strict";n.r(t),n.d(t,"BULK_EDIT_TAXON_MODAL_MAPPING",(function(){return w})),n.d(t,"BulkEditTaxonCommand",(function(){return _}));var o=n(11),i=n(1118),r=n(1171),a=n(246),s=n(1226),A=n(396),l=n(324),c=n(267),d=n(351),p=n(415),f=n(383),u=n(1691),m=n(1100),g=n(1101),E=n(1692),h=n(262),b=n(314),C=n(131),B=n(356),k=n(319),I=n(229),v=["Id","Title","UrlName","Synonyms"],w="bulkEditTaxon",_=function(){function BulkEditTaxonCommand(e,t){this.modalWindowService=e,this.dynamicItemStore=t,this.executeOnceInBulk=!0,this.items=[],this.result=new o.ReplaySubject(1)}return BulkEditTaxonCommand.prototype.execute=function(e){var t=this;this.route=e.currentRoute;var n=e.data.entityData,o=A.CompositeOperationsProvider.getOperationPluralName(e.data.entityData.metadata,e.data.action.contextParameters).toLowerCase();if(this.itemSelectionInfo.allItemsSelected)this.getItems(n).subscribe((function(e){t.getComponentData(e.dataItems,n,o)}));else{var i=this.sortSelectedItems();this.getComponentData(i,n,o)}return this.result.asObservable()},BulkEditTaxonCommand.prototype.onSaveClicked=function(e,t,n){var r,a=this,s=new o.ReplaySubject(1),A=[];e.items.forEach((function(e){var n=a.getDirtyFields(e.form);if(n.length>0){var o={Id:e.key};n.forEach((function(t){"Name"===t?o.Title=e.form.controls[t].value:o[t]=e.form.controls[t].value}));var i={dataItem:t.find((function(t){return t.key===e.key})),data:o,doNotRefreshItem:!0};A.push(i)}}));var l=this.dynamicItemStore.service.updateItemsWithBulkOperationResult(A,n).pipe(Object(C.map)((function(e){r=e})));return l?l.subscribe(null,(function(e){a.result.error("An error occured while trying to update items.")}),(function(){s.next(new i.ClickResult(r,!0))})):s.next(new i.ClickResult(!1,!0)),s},BulkEditTaxonCommand.prototype.sortSelectedItems=function(){var e=this,t=Array.from(this.itemSelectionInfo.selectedItems);return 0===this.itemSelectionInfo.nodesPositions.size?t.map((function(e){return e[1]})):t.sort((function(t,n){var o=e.itemSelectionInfo.nodesPositions.get(t[0]),i=e.itemSelectionInfo.nodesPositions.get(n[0]);return void 0===o?-1:void 0===i?1:o-i})).map((function(e){return e[1]}))},BulkEditTaxonCommand.prototype.getDirtyFields=function(e){var t=[];return Object.keys(e.controls).forEach((function(n){e.controls[n].dirty&&t.push(n)})),t},BulkEditTaxonCommand.prototype.getComponentData=function(e,t,n){var o=this,r=new m.BreadcrumbPipe(new g.HtmlEscapePipe),a=[];e.forEach((function(e){if(e.isTranslated){var n=o.generateFields(t),i=n.find((function(e){return"Name"===e.key}));i.value=e.data.Title,i.settings.instructionalText=r.transform(e.data.Breadcrumb,!1,!0),n.find((function(e){return"UrlName"===e.key})).value=e.data.UrlName,n.find((function(e){return"Synonyms"===e.key})).value=e.data.Synonyms;var s={form:new l.FormGroup({}),fields:n,key:e.key};s.form.controls.Name=new l.FormControl(e.data.Title),s.form.controls.UrlName=new l.FormControl(e.data.UrlName),s.form.controls.Synonyms=new l.FormControl(e.data.Synonyms),a.push(s)}}));var A={type:s.BulkComponent,properties:{type:n,entityData:t,items:a,parentComponent:this}},c=[];a.length>0&&(c.push(new i.ConfirmButton(k.OPERATION_TITLES.saveChanges,(function(n){return o.onSaveClicked(n.component,e,t)}))),c.push(new i.CancelButton));var d=new i.DialogData(A,(function(e){var t=e.data;t&&t.data&&(t.data.failedItemsIds.length>0||t.data.succeededItemsIds.length>0)?o.result.next(t.data):o.result.next({success:!1})}),c,null,"-bottom");this.modalWindowService.setMapping(d,w),this.modalWindowService.open(this.route,w)},BulkEditTaxonCommand.prototype.generateFields=function(e){var t=new B.ShortTextSettings(a.stringConstants.EMPTY_STRING,!1);t.init(e.metadata),t.look="inline large",t.required=!0;var n=new c.FieldModel({key:"Name",selector:d.FieldTypes.shortText,settings:t,registration:p.SHORT_TEXT_REGISTRY}),o=new f.UrlNameSettings(a.stringConstants.EMPTY_STRING,!1);o.init(e.metadata),o.title=a.stringConstants.EMPTY_STRING,o.required=!0,o.look="inline";var i=new c.FieldModel({key:"UrlName",selector:d.FieldTypes.shortText,settings:o,registration:p.SHORT_TEXT_REGISTRY}),r=new E.TextAreaSettings(a.stringConstants.EMPTY_STRING,!1);return r.init(e.metadata),r.look="inline short",r.required=!1,r.placeholder="add synonyms...",[n,i,new c.FieldModel({key:"Synonyms",selector:d.FieldTypes.textArea,settings:r,registration:u.TEXT_AREA_REGISTRY})]},BulkEditTaxonCommand.prototype.getItems=function(e){var t=this.route.snapshot.queryParams[h.QUERY_PARAMS.SORT],n=this.route.parent.snapshot.params[h.ROUTE_PARAMS.PARENT_ID_SEGMENT]||null,o={entityData:e,query:Object(b.createQuery)().where().eq(e.metadata.parentIdProperty,n).done(),dataFieldNames:v,order:t,skip:null,take:0,action:null,fallbackProperties:[e.metadata.defaultFieldName]};return this.dynamicItemStore.getItemList(o)},BulkEditTaxonCommand.ɵfac=function BulkEditTaxonCommand_Factory(e){return new(e||BulkEditTaxonCommand)(I["ɵɵinject"](i.ModalWindowService),I["ɵɵinject"](r.DynamicItemStore))},BulkEditTaxonCommand.ɵprov=I["ɵɵdefineInjectable"]({token:BulkEditTaxonCommand,factory:BulkEditTaxonCommand.ɵfac}),BulkEditTaxonCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TEXT_AREA_REGISTRY",(function(){return s}));var o=n(1383),i=n(1692),r=n(1384),a=n(1410),s={writeComponent:o.TextAreaComponent,readComponent:r.EditorReadonlyComponent,gridComponent:a.EditorGridComponent,settingsType:i.TextAreaSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"TextAreaSettings",(function(){return l}));var o=n(259),i=n(324),r=n(332),a=n(338),s=n(257),A=n(356),l=function(e){function TextAreaSettings(){var t=null!==e&&e.apply(this,arguments)||this;return t.kind=A.MIRROR_FIELD_SETTING_KIND,t}return Object(o.__extends)(TextAreaSettings,e),TextAreaSettings.prototype.init=function(t){e.prototype.init.call(this,t)},TextAreaSettings.prototype.getValidators=function(t){var n=e.prototype.getValidators.call(this,t);if(t.hasOwnProperty(s.VALIDATION_MIN_VALUE)&&n.push(a.VALIDATORS[a.VALIDATOR_NAMES.MIN_LENGTH](t[s.VALIDATION_MIN_VALUE])),t.hasOwnProperty(s.VALIDATION_MAX_VALUE)&&n.push(i.Validators.maxLength(t[s.VALIDATION_MAX_VALUE])),t.hasOwnProperty(s.VALIDATION_REGEX)){var o=new RegExp(t[s.VALIDATION_REGEX],"g");n.push(i.Validators.pattern(o))}return n},TextAreaSettings}(r.SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"ParentSelectorReadonlyComponent",(function(){return a}));var o=n(259),i=n(336),r=n(229),a=function(e){function ParentSelectorReadonlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ParentSelectorReadonlyComponent,e),ParentSelectorReadonlyComponent.prototype.ngOnInit=function(){this.parentName=this.value,this.settings.dataItem&&this.settings.dataItem.metadata.isMedia&&(this.parentName=this.settings.dataItem.data.LibraryTitle)},ParentSelectorReadonlyComponent.ɵfac=function ParentSelectorReadonlyComponent_Factory(e){return s(e||ParentSelectorReadonlyComponent)},ParentSelectorReadonlyComponent.ɵcmp=r["ɵɵdefineComponent"]({type:ParentSelectorReadonlyComponent,selectors:[["sf-dropdown-selector-readonly"]],features:[r["ɵɵInheritDefinitionFeature"]],decls:2,vars:1,template:function ParentSelectorReadonlyComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",t.parentName,"\n"))},encapsulation:2}),ParentSelectorReadonlyComponent}(i.FieldBase),s=r["ɵɵgetInheritedFactory"](a)},function(e,t,n){"use strict";n.r(t),n.d(t,"AppComponent",(function(){return B}));var o=n(259),i=n(364),r=n(1695),a=n(1696),s=n(1458),A=n(1620),l=n(275),c=n(260),d=n(372),p=n(264),f=n(245),u=n(131),m=n(1152),g=n(278),E=n(280),h=n(229),b=n(261),C=n(1218),_c0=function(e){return{"sf-router-wrapper -menu -active -is-animating":e}},B=function(e){function AppComponent(t,n,o,i,r,a,s){var A=e.call(this)||this;if(A.contextualHelpService=t,A.compositeThemeProvider=n,A.authService=o,A.userPreferencesService=i,A.router=r,A.document=a,A.envService=s,A.compositeThemeProvider.applyTheme(),A.initializePreferences(),A.router.events){var l=A.router.events.pipe(Object(u.filter)((function(e){return e instanceof c.NavigationEnd||e instanceof c.NavigationStart}))).subscribe((function(e){if(e instanceof c.NavigationEnd&&A.showSitefinityHeader(),e instanceof c.NavigationEnd&&e.urlAfterRedirects.includes(m.ROUTE_PATHS.ROOT_PREFIX+"/")&&(!e.urlAfterRedirects.includes(m.ROUTE_PATHS.PAGES+"/")||!e.urlAfterRedirects.includes("/Action/Edit"))&&(!e.urlAfterRedirects.includes(m.ROUTE_PATHS.TEMPLATES+"/")||!e.urlAfterRedirects.includes("/templates/Template/"))&&!e.urlAfterRedirects.includes(m.ROUTE_PATHS.CONTENT+"/"+m.ROUTE_PATHS_NO_PREFIX.FORMS+"/")){Object(f.toggleIrisIntegratedStyles)(!0);var t=A.document.querySelector("form#aspnetForm");t&&(t.onsubmit=function(){return!1})}A.envService.getEnvironment()!==E.environmentTypes.integration&&Object(f.toggleIrisIntegratedStyles)(!0)}));A.registerSubscription(l)}return A}return Object(o.__extends)(AppComponent,e),AppComponent.prototype.showSitefinityHeader=function(){var e=this.document.querySelector(".sfInitialAdminAppLoading");e&&e.classList&&e.classList.contains("sfInitialAdminAppLoading")&&e.classList.remove("sfInitialAdminAppLoading")},AppComponent.prototype.prepareRouteTransition=function(e){return(e.activatedRouteData.animation||{}).value||null},AppComponent.prototype.ngAfterViewChecked=function(){this.contextualHelpService.triggerLoad()},AppComponent.prototype.animationStarted=function(){this.isAnimating=!0},AppComponent.prototype.animationDone=function(){this.isAnimating=!1},AppComponent.prototype.initializePreferences=function(){var e=this;this.authService.loggedIn.subscribe((function(t){t&&e.userPreferencesService.checkAccessibility()}))},AppComponent.ɵfac=function AppComponent_Factory(e){return new(e||AppComponent)(h["ɵɵdirectiveInject"](a.ContextualHelpService),h["ɵɵdirectiveInject"](s.CompositeThemeProvider),h["ɵɵdirectiveInject"](l.AuthService),h["ɵɵdirectiveInject"](A.UserPreferencesService),h["ɵɵdirectiveInject"](c.Router),h["ɵɵdirectiveInject"](d.DOCUMENT_TOKEN),h["ɵɵdirectiveInject"](g.EnvironmentService))},AppComponent.ɵcmp=h["ɵɵdefineComponent"]({type:AppComponent,selectors:[["sf-app"]],features:[h["ɵɵInheritDefinitionFeature"]],decls:4,vars:4,consts:[[3,"ngClass"],["currentOutlet","outlet"],["look","fixed"]],template:function AppComponent_Template(e,t){if(1&e&&(h["ɵɵelementStart"](0,"div",0),h["ɵɵlistener"]("@routerAnimations.start",(function AppComponent_Template_div_animation_routerAnimations_start_0_listener(){return t.animationStarted()}))("@routerAnimations.done",(function AppComponent_Template_div_animation_routerAnimations_done_0_listener(){return t.animationDone()})),h["ɵɵelement"](1,"router-outlet",null,1),h["ɵɵelementEnd"](),h["ɵɵelement"](3,"sf-notification-loader",2)),2&e){var n=h["ɵɵreference"](2);h["ɵɵproperty"]("ngClass",h["ɵɵpureFunction1"](2,_c0,t.isAnimating))("@routerAnimations",t.prepareRouteTransition(n))}},directives:[b.NgClass,c.RouterOutlet,C.NotificationLoaderComponent],encapsulation:2,data:{animation:[Object(i.trigger)("routerAnimations",[Object(i.transition)(r.isAnimationTypeRightToLeft,r.ANIMATION_RIGHT_TO_LEFT),Object(i.transition)(r.isAnimationTypeLeftToRight,r.ANIMATION_LEFT_TO_RIGHT),Object(i.transition)(r.isAnimationTypeToTop,r.ANIMATION_TO_TOP)])]}}),AppComponent}(p.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ANIMATION_RIGHT_TO_LEFT",(function(){return a})),n.d(t,"ANIMATION_LEFT_TO_RIGHT",(function(){return s})),n.d(t,"ANIMATION_FROM_TOP",(function(){return A})),n.d(t,"ANIMATION_TO_TOP",(function(){return l})),n.d(t,"ANIMATION_FADE_IN",(function(){return c})),n.d(t,"isAnimationTypeRightToLeft",(function(){return isAnimationTypeRightToLeft})),n.d(t,"isAnimationTypeLeftToRight",(function(){return isAnimationTypeLeftToRight})),n.d(t,"isAnimationTypeToTop",(function(){return isAnimationTypeToTop})),n.d(t,"isAnimationTypeFromTop",(function(){return isAnimationTypeFromTop})),n.d(t,"ANIMATION_HIDDEN_STATE",(function(){return d})),n.d(t,"ANIMATION_VISIBLE_STATE",(function(){return p}));var o=n(364),i=n(365),r=n(1152),a=[Object(o.group)([Object(o.query)(":enter",[Object(o.style)({transform:"translateX(0)"}),Object(o.animate)(i.ANIMATION_TIMING,Object(o.style)({transform:"translateX(-100%)"}))],{optional:!0}),Object(o.query)(":leave",[Object(o.style)({transform:"translateX(0)"}),Object(o.animate)(i.ANIMATION_TIMING,Object(o.style)({transform:"translateX(-100%)"}))],{optional:!0})])],s=[Object(o.group)([Object(o.query)(":enter",[Object(o.style)({transform:"translateX(-100%)"}),Object(o.animate)(i.ANIMATION_TIMING,Object(o.style)({transform:"translateX(0)"}))],{optional:!0}),Object(o.query)(":leave",[Object(o.style)({transform:"translateX(-100%)"}),Object(o.animate)(i.ANIMATION_TIMING,Object(o.style)({transform:"translateX(0)"}))],{optional:!0})])],A=[Object(o.query)(":enter",[Object(o.style)({transform:"translateY(-100%)"}),Object(o.animate)(i.ANIMATION_TIMING,Object(o.style)({transform:"translateY(0)"}))],{optional:!0})],l=[Object(o.query)(":leave",[Object(o.style)({transform:"translateY(0)"}),Object(o.animate)(i.ANIMATION_TIMING,Object(o.style)({transform:"translateY(-100%)"}))],{optional:!0})],c=[Object(o.trigger)("fadeIn",[Object(o.state)("hidden",Object(o.style)({opacity:0})),Object(o.state)("visible",Object(o.style)({opacity:1})),Object(o.transition)("hidden => visible",[Object(o.animate)("200ms ease")])])];function isAnimationTypeRightToLeft(e,t){return e===r.ROUTE_PATHS_NO_PREFIX.MENU_HOME&&t===r.ROUTE_PATHS_NO_PREFIX.CONTENT}function isAnimationTypeLeftToRight(e,t){return e===r.ROUTE_PATHS_NO_PREFIX.CONTENT&&t===r.ROUTE_PATHS_NO_PREFIX.MENU_HOME}function isAnimationTypeToTop(e,t){return e===r.ROUTE_PATHS_NO_PREFIX.MENU_HOME&&t===r.ROUTE_PATHS_NO_PREFIX.ANY||e===r.ROUTE_PATHS_NO_PREFIX.CONTENT&&t===r.ROUTE_PATHS_NO_PREFIX.NULL||e===r.ROUTE_PATHS_NO_PREFIX.CONTENT&&t===r.ROUTE_PATHS_NO_PREFIX.ITEMS_GRID}function isAnimationTypeFromTop(e,t){return e===r.ROUTE_PATHS_NO_PREFIX.NULL&&t===r.ROUTE_PATHS_NO_PREFIX.MENU_HOME}var d="hidden",p="visible"},function(e,t,n){"use strict";n.r(t),n.d(t,"ContextualHelpService",(function(){return r}));var o=n(11),i=n(229),r=function(){function ContextualHelpService(){this._onLoad=new o.Subject}return Object.defineProperty(ContextualHelpService.prototype,"onLoad",{get:function(){return this._onLoad.asObservable()},enumerable:!1,configurable:!0}),ContextualHelpService.prototype.triggerLoad=function(){this._onLoad.next()},ContextualHelpService.ɵfac=function ContextualHelpService_Factory(e){return new(e||ContextualHelpService)},ContextualHelpService.ɵprov=i["ɵɵdefineInjectable"]({token:ContextualHelpService,factory:ContextualHelpService.ɵfac}),ContextualHelpService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"HTML_REGISTRY",(function(){return a}));var o=n(1698),i=n(1734),r=n(1384),a={writeComponent:o.HtmlWrapperComponent,readComponent:r.EditorReadonlyComponent,settingsType:i.HtmlSettings}},function(e,t,n){"use strict";n.r(t);var o=n(1699);n.d(t,"HtmlWrapperComponent",(function(){return o.HtmlWrapperComponent}))},function(e,t,n){"use strict";n.r(t),n.d(t,"HtmlWrapperComponent",(function(){return R}));var o=n(259),i=n(131),r=(n(324),n(260)),a=n(1700),s=n(1118),A=n(1711),l=n(361),c=n(1212),d=n(1207),p=n(352),f=n(1165),u=n(1712),m=n(1708),g=n(246),E=n(415),h=n(1716),b=n(269),C=n(1709),B=n(336),k=n(342),I=n(1211),v=n(256),w=n(317),_=n(1733),x=n(1215),y=n(1232),S=n(1139),T=n(367),M=n(366),D=n(271),Q=n(229),N=["sfHtml"],R=function(e){function HtmlWrapperComponent(t,n,o,i,r,a,s,A,l,c){var d=e.call(this)||this;return d.modalService=t,d.route=n,d.store=o,d.fieldsGeneratorService=i,d.imageHelper=r,d.metadataStore=a,d.createLinkHelper=s,d.locatableItemsService=A,d.siteDataStore=l,d.appSettings=c,d.uploadingFilesIds=[],d.processedPendingItemsCount=0,d}return Object(o.__extends)(HtmlWrapperComponent,e),HtmlWrapperComponent.prototype.ngOnInit=function(){var e=this;this.metadataStore.initialize().pipe(Object(i.first)()).subscribe((function(t){e.imageMediaEntity=t.entities[v.ENTITY_SET.IMAGES],e.imageMediaEntityData={culture:e.sfHtml.settings.culture,provider:null,metadata:e.imageMediaEntity}})),this.uploadSubscription=this.store.uploads.subscribe((function(t){e.onUpload(t.items,t.updatedItem,t.uploadFieldState)}))},HtmlWrapperComponent.prototype.ngOnDestroy=function(){this.uploadSubscription&&this.uploadSubscription.unsubscribe()},HtmlWrapperComponent.prototype.onFocus=function(){this.sfHtml.onFocus()},HtmlWrapperComponent.prototype.onUpload=function(e,t,n){var o=this;e&&e.filter((function(e){return o.uploadingFilesIds.find((function(t){return t===e.key}))&&t===e.upload})).forEach((function(e,t){(e.upload.success||e.upload.failure)&&(o.processedPendingItemsCount+=1);var i=e.upload,r=i.success,a=i.result,s=a||e.upload;if(o.emitStatus({type:p.StatusType.Pending}),s.imageId=e.key,r){Object.defineProperty(a,"index",{value:t,enumerable:!1}),o.store.removeFile(o.imageMediaEntityData,e.upload);var A=o.uploadingFilesIds.indexOf(s.imageId);o.uploadingFilesIds.splice(A,1)}o.sfHtml.onImageInsertViewClosed(s);var l=o.validateContent(),c=n.fieldName&&n.fieldName.toLowerCase().includes(o.sfHtml.settings.key.toLowerCase()),d=o.processedPendingItemsCount===n.uploadedItemsCount;!l&&c&&d&&(o.emitStatus({type:p.StatusType.Done}),o.processedPendingItemsCount=0)}))},HtmlWrapperComponent.prototype.onValueChanged=function(e){this.validateContent()},HtmlWrapperComponent.prototype.writeValue=function(e){this.sfHtml.writeValue(e,!0)},HtmlWrapperComponent.prototype.postProcessValue=function(e){return this.sfHtml.postProcessValue(e)},HtmlWrapperComponent.prototype.emitStatus=function(t){e.prototype.emitStatus.call(this,t),this.sfHtml.emitStatus(t)},Object.defineProperty(HtmlWrapperComponent.prototype,"settings",{set:function(e){this.sfHtml.settings=e},enumerable:!1,configurable:!0}),HtmlWrapperComponent.prototype.registerOnChange=function(e){this.sfHtml.registerOnChange(e)},HtmlWrapperComponent.prototype.registerOnTouched=function(e){this.sfHtml.registerOnTouched(e)},HtmlWrapperComponent.prototype.onImageInsert=function(e){var t=this;this.uploadingFilesIds.push(e),this.imgUpload&&this.store.removeFile(this.imageMediaEntityData,this.imgUpload);var n={metadata:this.imageMediaEntityData.metadata.clone(),provider:g.ANY_SITE_SOURCE_PROVIDER,culture:this.imageMediaEntityData.culture};this.siteDataStore.getValue().pipe(Object(i.first)()).subscribe((function(o){var i=t.shouldShowProviderSelector(o,n),r={type:c.FilePickerComponent,properties:{multiple:!1,value:[],name:e,allowCreate:t.sfHtml.settings.allowCreate,mediaEntityData:n,initialViewMode:t.sfHtml.settings.allowCreate?null:I.FilePickerViewMode.Select,showProviderSelector:i}},a=new s.DialogData(r,(function(e){return t.sfHtml.onImageInsertViewClosed(e.data?e.data.data:e.data,!0)}),[],"-prompt");t.modalService.setMapping(a,c.FILE_PICKER),t.modalService.open(t.route,c.FILE_PICKER)}))},HtmlWrapperComponent.prototype.onDocumentInsertEdit=function(e){var t=this,n={metadata:this.metadataStore.getEntity(v.ENTITY_SET.DOCUMENTS),provider:g.ANY_SITE_SOURCE_PROVIDER,culture:this.sfHtml.settings.culture||this.sfHtml.settings.dataItem.culture};e?this.locatableItemsService.getItemFromDynamicLink(e).pipe(Object(i.filter)((function(e){return!e.isLoading})),Object(i.map)((function(e){return e.content}))).subscribe((function(e){var o;t.openDocumentInsertDialog(n,w.DataItem.from(((o={})[n.metadata.key]=e.id,o),n.metadata,e.provider,n.culture))}),(function(e){t.openDocumentInsertDialog(n)})):this.openDocumentInsertDialog(n)},HtmlWrapperComponent.prototype.onEditImage=function(e){var t=this,n=e.src.match(this.imageMediaEntity.allowedExtensionsRegEx);if(n&&n[0]){var o=n[0],i={width:e.width,height:e.height,alt:"null"===e.alt?g.stringConstants.EMPTY_STRING:e.alt,src:e.src,extension:o.substr(1),size:e.getAttribute(m.SIZE_ATTRIBUTE),contentType:e.src};this.store.getThumbnails(this.imageMediaEntityData,e.src).subscribe((function(n){var o,r,a=t.imageHelper.transformThumbnailsToChoices(n.value),A=t.imageHelper.determineThumbnailId(e,n.value),c={title:"Image thumbnails",showTitle:!0,key:m.IMAGE_THUMBNAIL_TEXT_KEY,dropDownSettings:{choices:a},widthSettings:{title:m.WIDTH_FIELD_NAME,unit:m.PIXELS_NAME,naturalValue:e.naturalWidth},heightSettings:{title:m.HEIGHT_FIELD_NAME,unit:m.PIXELS_NAME,naturalValue:e.naturalHeight},constrainProportionsSettings:{title:"Constrain proportions",key:m.IMAGE_THUMBNAIL_TEXT_KEY+"_constrain_proportions"},validators:function(e){return t.getEditImageThumbnailValidator()(e)}},d={thumbnailValue:a.find((function(e){return e.Value===A})).Value,width:i.width,height:i.height,constrainProportions:t.imageHelper.determineConstrainProportions(e)},p=((o={title:"Image margins",showTitle:!0,key:m.IMAGE_MARGINS_KEY,unit:m.PIXELS_NAME})[m.MARGIN_TOP_NAME]={title:"top"},o[m.MARGIN_RIGHT_NAME]={title:"right"},o[m.MARGIN_BOTTOM_NAME]={title:"bottom"},o[m.MARGIN_LEFT_NAME]={title:"left"},o),f=Object(M.isImageHyperlink)(e)?e.parentElement:e,g=((r={})[m.MARGIN_TOP_NAME]=f.style[m.MARGIN_TOP_NAME],r[m.MARGIN_RIGHT_NAME]=f.style[m.MARGIN_RIGHT_NAME],r[m.MARGIN_BOTTOM_NAME]=f.style[m.MARGIN_BOTTOM_NAME],r[m.MARGIN_LEFT_NAME]=f.style[m.MARGIN_LEFT_NAME],r),b=[t.fieldsGeneratorService.createFieldModel({key:m.ALTERNATIVE_TEXT_KEY,value:i.alt,settings:{key:m.ALTERNATIVE_TEXT_KEY,title:"Alternative text",showTitle:!0,visibleTitle:!0},registration:E.SHORT_TEXT_REGISTRY}),t.fieldsGeneratorService.createFieldModel({key:m.IMAGE_THUMBNAIL_TEXT_KEY,value:d,settings:c,registration:h.EDIT_IMAGE_THUMBNAIL_REGISTRY}),t.fieldsGeneratorService.createFieldModel({key:m.IMAGE_MARGINS_KEY,value:g,settings:p,registration:h.EDIT_IMAGE_MARGINS_REGISTRY})],C={type:u.EditImageComponent,properties:{fields:b,image:i,mediaEntityData:t.imageMediaEntityData}},B=[new s.ConfirmButton(l.SelectorConstants.DONE,t.getEditImageDoneHandler()),new s.CancelButton],k=new s.DialogData(C,(function(e){return t.onEditImageDoneCallback(e,n.value)}),B);t.openDialogWindow(k,t.route)}))}},HtmlWrapperComponent.prototype.onCreateLink=function(e){var t=this,n=this.getLinkComponentData(e,!0),o=this.getLinkHandler(),i=this.getLinkButtons(e,o),r=new s.DialogData(n,(function(e){return t.onLinkInsertDialogDone(e)}),i);this.openDialogWindow(r,this.route)},HtmlWrapperComponent.prototype.onEditImageLinkClick=function(e){var t,n=this;e.parentElement&&e.parentElement.attributes[l.SelectorConstants.SF_IMMUTABLE]&&(t=e.parentElement);var o={isInEditMode:!0,selectedText:t?t.textContent:g.stringConstants.EMPTY_STRING,selectedElement:t},i=this.getLinkComponentData(o,!1),r=this.getLinkHandler(),a=this.getLinkButtons(o,r),A=new s.DialogData(i,(function(o){return n.onEditImageLinkDialogDone(o,e,t)}),a);this.openDialogWindow(A,this.route)},HtmlWrapperComponent.prototype.onCancelUpload=function(e){var t=this.uploadingFilesIds.indexOf(e);this.uploadingFilesIds.splice(t,1);var n=this.store.uploads.value.items.find((function(t){return t.key===e}));this.store.removeFile(this.imageMediaEntityData,n),this.validateContent()},HtmlWrapperComponent.prototype.validateContent=function(){var e,t=-1!==this.sfHtml.editor.value.search(m.SF_IAMGE_UPLOAD_FAILED);if(t){var n=((e={})[k.VALIDATOR_MESSAGES.UPLOAD_FAILED]=!0,e);this.emitStatus({type:p.StatusType.Error,data:n})}else this.sfHtml.status$.getValue().type===p.StatusType.Error&&this.emitStatus({type:p.StatusType.ErrorCleared});return t},HtmlWrapperComponent.prototype.onRetryUpload=function(e){this.store.retryFileById(this.imageMediaEntityData,e)},HtmlWrapperComponent.prototype.hasEmptyValue=function(){return this.sfHtml.hasEmptyValue()},HtmlWrapperComponent.prototype.processErrors=function(e){return this.sfHtml.processErrors(e)},HtmlWrapperComponent.prototype.getWarnings=function(){return[]},HtmlWrapperComponent.prototype.openDocumentInsertDialog=function(e,t){var n=this;this.siteDataStore.getValue().pipe(Object(i.first)()).subscribe((function(o){var r=n.shouldShowProviderSelector(o,e),a={type:c.FilePickerComponent,properties:{multiple:!1,value:t?[t]:[],name:"insertDocument",allowCreate:!0,mediaEntityData:e,createMedia:!0,initialViewMode:t?I.FilePickerViewMode.Select:null,showProviderSelector:r,isNonTranslatedSelectable:!1}},A=new s.DialogData(a,(function(t){var r=null;if(t&&t.component)if(t.component instanceof x.FileSelectComponent&&t.data)r=t.data;else if(t.component instanceof y.FileUploadProgressComponent&&t.data){var a=t.data.data||t.data;r=w.DataItem.from(a,e.metadata,a.Provider,e.culture)}if(r){var s=o.Id;n.locatableItemsService.getDynamicLink(r.metadata.setName,r.key,r.provider,r.culture,s).pipe(Object(i.filter)((function(e){return!e.isLoading})),Object(i.map)((function(e){return e.content}))).subscribe((function(e){return n.sfHtml.onDocumentInsertDialogClosed(r,e.dynamicLink)}))}}),[],"-prompt");n.modalService.setMapping(A,"insertDocument"),n.modalService.open(n.route,"insertDocument")}))},HtmlWrapperComponent.prototype.getEditImageThumbnailValidator=function(){return function(e){if(!e.value)return null;if(e.value.thumbnailValue!==m.CUSTOM_THUMBNAIL_KEY)return null;var t={};return e.value.width&&e.value.width<=0||e.value.height&&e.value.height<=0?(t.minValue={requiredMinValue:1},t):null}},HtmlWrapperComponent.prototype.getEditImageDoneHandler=function(){return function(e){var t=e.component.form.controls,n=!0;for(var o in t)t[o].invalid&&(n=!1);return new s.ClickResult(e,n)}},HtmlWrapperComponent.prototype.openDialogWindow=function(e,t){this.modalService.setMapping(e),this.modalService.open(t)},HtmlWrapperComponent.prototype.onEditImageLinkDialogDone=function(e,t,n){if(this.sfHtml.editor.shouldFocusEditor=!0,e.data){var o=e.data.data;if(n=n||document.createElement(l.NODE_NAMES.ANCHOR_ELEMENT),o)(new C.CreateLinkHelper).setLinkAttributes(n,o),n.attributes[l.SelectorConstants.SF_IMMUTABLE]||(t.parentElement.insertBefore(n,t),Object(T.transferKendoAlignInlineStyles)(t,n),n.appendChild(t),n.setAttribute(l.SelectorConstants.SF_IMMUTABLE,g.stringConstants.EMPTY_STRING)),this.sfHtml.editor.triggerUserValueChanged()}},HtmlWrapperComponent.prototype.getLinkButtons=function(e,t){return[new s.ConfirmButton(e.isInEditMode?l.SelectorConstants.DONE:l.SelectorConstants.INSERT_LINK,t),new s.CancelButton(l.SelectorConstants.CANCEL)]},HtmlWrapperComponent.prototype.getLinkHandler=function(){return function(e){var t,n=e.component.editableFieldsComponent.valid(),o=e.component.editableFieldsComponent.form.value,i=e.component.selectedElement;if(i&&i.attributes.length>0){for(var r=[],a=0;a-1}));o&&o.Providers.length>1&&(o.Providers.filter((function(e){return e!==g.ANY_SITE_SOURCE_PROVIDER&&e!==g.DEFAULT_SITE_SOURCE_PROVIDER})).length>1&&(n=!0));return n},HtmlWrapperComponent.ɵfac=function HtmlWrapperComponent_Factory(e){return new(e||HtmlWrapperComponent)(Q["ɵɵdirectiveInject"](s.ModalWindowService),Q["ɵɵdirectiveInject"](r.ActivatedRoute),Q["ɵɵdirectiveInject"](d.LibraryStore),Q["ɵɵdirectiveInject"](f.FieldsGeneratorService),Q["ɵɵdirectiveInject"](m.ImageHelper),Q["ɵɵdirectiveInject"](b.MetadataStore),Q["ɵɵdirectiveInject"](C.CreateLinkHelper),Q["ɵɵdirectiveInject"](_.LocatableDynamicItemService),Q["ɵɵdirectiveInject"](S.SiteDataStore),Q["ɵɵdirectiveInject"](D.Settings))},HtmlWrapperComponent.ɵcmp=Q["ɵɵdefineComponent"]({type:HtmlWrapperComponent,selectors:[["sf-wrapper-html"]],viewQuery:function HtmlWrapperComponent_Query(e,t){if(1&e&&Q["ɵɵviewQuery"](N,3),2&e){var n;Q["ɵɵqueryRefresh"](n=Q["ɵɵloadQuery"]())&&(t.sfHtml=n.first)}},features:[Q["ɵɵProvidersFeature"]([m.ImageHelper]),Q["ɵɵInheritDefinitionFeature"]],decls:2,vars:0,consts:[[3,"valueChagned","imageInsertClick","documentInsertEditClick","linkInsertClick","cancelUpload","retryUpload","imageEdit","editImageLinkClick"],["sfHtml",""]],template:function HtmlWrapperComponent_Template(e,t){1&e&&(Q["ɵɵelementStart"](0,"sf-html",0,1),Q["ɵɵlistener"]("valueChagned",(function HtmlWrapperComponent_Template_sf_html_valueChagned_0_listener(e){return t.onValueChanged(e)}))("imageInsertClick",(function HtmlWrapperComponent_Template_sf_html_imageInsertClick_0_listener(e){return t.onImageInsert(e)}))("documentInsertEditClick",(function HtmlWrapperComponent_Template_sf_html_documentInsertEditClick_0_listener(e){return t.onDocumentInsertEdit(e)}))("linkInsertClick",(function HtmlWrapperComponent_Template_sf_html_linkInsertClick_0_listener(e){return t.onCreateLink(e)}))("cancelUpload",(function HtmlWrapperComponent_Template_sf_html_cancelUpload_0_listener(e){return t.onCancelUpload(e)}))("retryUpload",(function HtmlWrapperComponent_Template_sf_html_retryUpload_0_listener(e){return t.onRetryUpload(e)}))("imageEdit",(function HtmlWrapperComponent_Template_sf_html_imageEdit_0_listener(e){return t.onEditImage(e)}))("editImageLinkClick",(function HtmlWrapperComponent_Template_sf_html_editImageLinkClick_0_listener(e){return t.onEditImageLinkClick(e)})),Q["ɵɵelementEnd"]())},directives:[a.HtmlComponent],encapsulation:2}),HtmlWrapperComponent}(B.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT_PLACEHOLDER_TEXT",(function(){return y})),n.d(t,"HtmlComponent",(function(){return S})),n.d(t,"CustomToolsData",(function(){return T}));var o=n(259),i=n(229),r=n(260),a=n(415),s=n(1701),A=n(1702),l=n(1708),c=n(361),d=n(1118),p=n(1709),f=n(11),u=n(244),m=n(372),g=n(1450),E=n(246),h=n(262),b=n(1063),C=n(1401),B=n(1205),k=n(367),I=n(354),v=n(363),w=n(324),_=n(261),x=["editor"];function HtmlComponent_sf_edit_menu_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-edit-menu",5),i["ɵɵlistener"]("mousedown",(function HtmlComponent_sf_edit_menu_3_Template_sf_edit_menu_mousedown_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onEditMenuClickIn()}))("mouseup",(function HtmlComponent_sf_edit_menu_3_Template_sf_edit_menu_mouseup_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onEditMenuClickOut()}))("closeMenu",(function HtmlComponent_sf_edit_menu_3_Template_sf_edit_menu_closeMenu_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onEditMenuClose(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("toolsetPositionParams",o.toolsetPositionParams)("buttonSections",o.editMenuButtons)}}function HtmlComponent_sf_loader_4_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-loader",6),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("height",n.loaderHeight)}}var _c1=function(e,t,n){return{"-empty":e,"-placeholder":t,"-main":n}},y="Add content",S=function(e){function HtmlComponent(t,n,o,r,a,s,A,l,c){var d=e.call(this)||this;return d.modalService=t,d.editMenuProvider=n,d.route=o,d.elementRef=r,d.renderer=a,d.imageHelper=s,d.createLinkHelper=A,d.windowProvider=l,d.documentProvider=c,d.imageInsertClick=new i.EventEmitter,d.documentInsertEditClick=new i.EventEmitter,d.linkInsertClick=new i.EventEmitter,d.editImageLinkClick=new i.EventEmitter,d.cancelUpload=new i.EventEmitter,d.retryUpload=new i.EventEmitter,d.imageEdit=new i.EventEmitter,d.valueChagned=new i.EventEmitter,d.isKeyDown=!1,d.toolsetPositionParams={},d.hasEditMenuButtons=!1,d.closeOnContentClick=!1,d.placeholderText=y,d.isReady=!1,d.customTools=new Array,d.isMainHtmlField=!1,d.isEditMenuClicked=!1,d.addCustomTools(),d.editMenuButtons=new f.ReplaySubject(1),d}return Object(o.__extends)(HtmlComponent,e),HtmlComponent.prototype.ngOnInit=function(){var e=this;this.settings&&(this.isMainHtmlField=this.settings.showTitle&&!this.settings.visibleTitle),this.setLoaderHeight(),this.settings&&(!this.settings.title||this.settings.showTitle&&!this.isMainHtmlField?this.settings.placeholder&&(this.placeholderText=this.settings.placeholder):this.placeholderText=this.settings.title);var t=this.editor.isReady$.pipe(Object(b.toLoadingState)(),Object(b.delayEmission)(h.LOADING_TIME)).subscribe((function(t){t.isLoading||(e.isReady=!0)}));this.registerSubscription(t)},HtmlComponent.prototype.onResize=function(){this.elementRef.nativeElement.querySelectorAll("["+c.SelectorConstants.SF_IMMUTABLE+"]")&&this.deselectSfImmutables()},HtmlComponent.prototype.onFocus=function(){e.prototype.onFocus.call(this),this.editor.focus()},HtmlComponent.prototype.onSelect=function(e){if(this.toolsetPositionParams.mousePosition=e.mousePosition,this.toolsetPositionParams.parentPosition=e.parentPosition,e.selectedElement){var t=void 0;if(e.selectedElement.attributes&&(t=!!e.selectedElement.attributes[c.SelectorConstants.SF_IMMUTABLE]),!t){var n=e.selectedElement.closest("["+c.SelectorConstants.SF_IMMUTABLE+"]");e.selectedElement=n,t=!!n}if(!t)return void this.deselectSfImmutables();this.selectedImmutable!==e.selectedElement&&(this.deselectSfImmutables(),this.renderer.addClass(e.selectedElement,c.SelectorConstants.SF_IMMUTABLE_SELECTED),this.selectedImmutable=e.selectedElement,this.imageHelper.onSelectionChange(this.selectedImmutable),this.processImmutableSelection()),this.hasEditMenuButtons&&this.setPositionToolsetParams(this.selectedImmutable)}else this.deselectSfImmutables()},HtmlComponent.prototype.writeValue=function(t,n){var o=null===this.value||void 0===this.value||this.initialValue===t;(o||n)&&(o&&(this.initialValue=t),t=this.editor.preProcessValue(t)),e.prototype.writeValue.call(this,t),this.valueChagned.emit(t),typeof this.isValueEmpty===E.stringConstants.TYPE_UNDEFINED?this.isValueEmpty=null===t||t===E.stringConstants.EMPTY_STRING:null!==t&&t!==E.stringConstants.EMPTY_STRING||(this.isValueEmpty=!0,this.setLoaderHeight())},HtmlComponent.prototype.onBlur=function(){e.prototype.onBlur.call(this),!this.selectedImmutable&&this.isEditMenuClicked||this.deselectSfImmutables(),this.isEditMenuClicked=!1,this.onTouchedCallback()},HtmlComponent.prototype.handleClickOutside=function(){this.selectedImmutable=null,this.onBlur()},HtmlComponent.prototype.onKeydown=function(e){this.isKeyDown=!0;var t=e.code,n=-1!==navigator.appVersion.indexOf(B.MAC_OS_NAME)?e.metaKey:e.ctrlKey;switch(t){case n&&B.KEYBOARD_KEY_CODES.J:e.preventDefault(),this.onImageInsert();break;case n&&B.KEYBOARD_KEY_CODES.K:e.preventDefault(),this.onCreateLinkClick();break;case n&&B.KEYBOARD_KEY_CODES.L:e.preventDefault(),this.onDocumentInsertEdit()}var o=this.getSelectedImmutable();if(this.selectedImmutable=o,o){switch(t){case n&&B.KEYBOARD_KEY_CODES.X:this.deselectSfImmutables(),this.editor.delete(o),e.preventDefault();break;case B.KEYBOARD_KEY_CODES.BACKSPACE:case B.KEYBOARD_KEY_CODES.DELETE:this.deselectSfImmutables(),this.editor.delete(o)}Object.values(B.KEYBOARD_CONTROL_KEY_CODES).find((function(e){return e===t}))||this.deselectSfImmutables()}},HtmlComponent.prototype.onKeyup=function(e){this.isKeyDown=!1},HtmlComponent.prototype.onImageInsertViewClosed=function(e,t,n){if(void 0===t&&(t=!1),this.editor.shouldFocusEditor=!0,e){this.immutableToBeRemoved&&this.immutableToBeRemoved.remove();var o=this.currentEditorRange;if(e.failure)return this.imageHelper.handleImageFailedUpload(e),void this.editor.triggerUserValueChanged();if(t){this.editor.setCurrentRange(o);var i=this.imageHelper.createImage(e);return this.editor.insertUncleanedHtml(i),void this.editor.triggerUserValueChanged()}if(0===e.loaded){this.editor.setCurrentRange(o);i=this.imageHelper.createImage(e,!0,e.imageId);this.editor.insertUncleanedHtml(i),this.editor.triggerUserValueChanged()}else{var r=this.documentProvider.getElementById(e.imageId);if(e.Url){var a=r.parentElement.querySelector(c.NODE_NAMES.IMAGE_ELEMENT);a.setAttribute("src",e.Url),this.imageHelper.handleImageSuccessUpload(a),this.editor.inserthtml(E.stringConstants.EMPTY_STRING),this.editor.removeUndoRedoCommand(e.imageId,a.outerHTML),this.editor.triggerUserValueChanged(!1)}else r.setAttribute("value",""+(e.loaded/e.total*100).toFixed(0))}}},HtmlComponent.prototype.onDocumentInsertDialogClosed=function(e,t){if(this.deselectSfImmutables(),e&&e.title){this.editor.setCurrentRange(this.currentEditorRange);var n=document.createElement(c.NODE_NAMES.ANCHOR_ELEMENT);n.innerText=e.title,n.setAttribute(c.SelectorConstants.SF_IMMUTABLE,E.stringConstants.EMPTY_STRING),n.setAttribute(c.SelectorConstants.SF_IMMUTABLE_DOCUMENT,""+!0),n.setAttribute(c.ANCHOR_ATTRIBUTES.HREF,e.data.Url),n.setAttribute(c.ANCHOR_ATTRIBUTES.TITLE,e.title),n.setAttribute(c.ANCHOR_ATTRIBUTES.SFREF,t),this.editor.insertUncleanedHtml(n.outerHTML),this.editor.triggerUserValueChanged()}},HtmlComponent.prototype.postProcessValue=function(e){return this.editor.postProcessValue(e)},HtmlComponent.prototype.onEditImage=function(){this.imageEdit.emit(this.imageHelper.selectedImage)},HtmlComponent.prototype.onImageInsertDialogClosed=function(){this.onFocus(),this.editor.triggerUserValueChanged()},HtmlComponent.prototype.onCreateLinkDataPosted=function(e){this.immutableToBeRemoved&&this.immutableToBeRemoved.remove(),e.attributes&&Array.isArray(e.attributes)?e.attributes.push({key:"data-sf-marked",value:""}):e.attributes=[{key:"data-sf-marked",value:""}];var t=this.createLinkHelper.buildLink(e),n=this.editor.getMarkedText(this.currentEditorRange.commonAncestorContainer.innerHTML,!0);if(n){this.currentEditorRange.commonAncestorContainer.innerHTML=this.currentEditorRange.commonAncestorContainer.innerHTML.replace(n,t);var o=this.currentEditorRange.commonAncestorContainer.querySelector("[data-sf-marked]"),i=this.editor.getCurrentRange();null!==o&&i.setStart(o.childNodes[0],0),i.collapse(!0),this.editor.setCurrentRange(i),o.removeAttribute("data-sf-marked")}else this.editor.setCurrentRange(this.currentEditorRange),this.editor.insertUncleanedHtml(t);this.editor.triggerUserValueChanged()},HtmlComponent.prototype.onCreateLinkDataCanceled=function(){this.currentEditorRange.commonAncestorContainer.innerHTML=this.editor.cleanMarkers(this.currentEditorRange.commonAncestorContainer.innerHTML),this.editor.setCurrentRange(this.currentEditorRange)},HtmlComponent.prototype.onCreateLinkDialogClosed=function(){this.deselectSfImmutables(),this.editor.shouldFocusEditor=!0,this.onFocus()},HtmlComponent.prototype.onCancelUpload=function(e){this.cancelUpload.emit(e)},HtmlComponent.prototype.onRetryUpload=function(e){this.retryUpload.emit(e)},HtmlComponent.prototype.onEditImageDone=function(e,t){this.editor.shouldFocusEditor=!0,this.imageHelper.onEditDone(e,t),this.editor.triggerUserValueChanged(),this.deselectSfImmutables()},HtmlComponent.prototype.onEditMenuClickIn=function(){this.isEditMenuClicked=!0},HtmlComponent.prototype.onEditMenuClickOut=function(){this.isEditMenuClicked=!1},HtmlComponent.prototype.onEditMenuClose=function(e){e&&(this.hasEditMenuButtons=!1,this.editMenuButtons.next(null))},HtmlComponent.prototype.getSelectedImmutable=function(){return this.elementRef.nativeElement.querySelector("."+c.SelectorConstants.SF_IMMUTABLE_SELECTED)},HtmlComponent.prototype.onSerializedImmutables=function(e){this.writeValue(e)},HtmlComponent.prototype.deselectSfImmutables=function(){for(var e=this.elementRef.nativeElement.querySelectorAll("["+c.SelectorConstants.SF_IMMUTABLE+"]"),t=0;t0&&(e=e.concat(n)),e.length>0?(this.hasEditMenuButtons=!0,this.activateEditButtons(e)):(this.hasEditMenuButtons=!1,this.editMenuButtons.next(null))},HtmlComponent.prototype.onImageInsert=function(){this.immutableToBeRemoved=this.selectedImmutable,this.currentEditorRange=this.editor.getCurrentRange();var e=this.imageHelper.getRandomStringId(this.settings.key);this.editor.hideToolbar(),this.imageInsertClick.emit(e)},HtmlComponent.prototype.onDocumentInsertEdit=function(){this.currentEditorRange=this.editor.getCurrentRange(),this.editor.hideToolbar();var e=null;this.selectedImmutable&&(this.setRange(this.selectedImmutable),this.selectedImmutable.attributes[c.ANCHOR_ATTRIBUTES.SFREF]&&(e=this.selectedImmutable.attributes[c.ANCHOR_ATTRIBUTES.SFREF].value)),this.documentInsertEditClick.emit(e),this.deselectSfImmutables()},HtmlComponent.prototype.onInsertHorizontalRule=function(){this.editor.inserthtml({value:"
    "}),this.editor.triggerUserValueChanged(),this.deselectSfImmutables()},HtmlComponent.prototype.onEmbedCodeViewerOpen=function(){var e=this,t=this.getSelectedImmutable(),n=new Array(new d.ConfirmButton("Insert",(function(e){var t=e.component;return new d.ClickResult(t.isValid,t.isValid)})),new d.CancelButton),o={type:s.EmbedMediaComponent,properties:{selectedImmutable:t}},i=this.editor.getCurrentRange(),r=new d.DialogData(o,(function(t){return e.onEmbedCodeViewDone(t,i)}),n,null,"-sf-mt-3xs");this.modalService.setMapping(r),this.modalService.open(this.route),this.editor.hideToolbar()},HtmlComponent.prototype.onEmbedCodeViewDone=function(e,t){var n=e.component,o=n.selectedImmutable;if((this.editor.shouldFocusEditor=!0,e.type===d.ClosingContextType.ButtonClicked)&&e.data.data){var i=!o,r=n.getEmbedMediaHtml();r=n.wrapEmbedMedia(r,i),o?(o.outerHTML=r,this.editor.setCurrentRange(t)):(this.editor.setCurrentRange(t),this.editor.insertEmbed(r)),this.editor.embedValueChanged()}},HtmlComponent.prototype.stripImmutableClass=function(e){e.classList.remove(c.SelectorConstants.SF_IMMUTABLE)},HtmlComponent.prototype.onViewCodeOpen=function(){var e=this,t=this.getValue(),n=new Array(new d.ConfirmButton(c.SelectorConstants.DONE,(function(e){var t=e.component;return new d.ClickResult(t.value,!0)}),"default")),o={type:A.ViewCodeComponent,properties:{source:t}},i=new d.DialogData(o,(function(t){e.editor.shouldFocusEditor=!0,t.data&&(e.deselectSfImmutables(),e.editor.executeInDeserializationZone((function(){e.writeValue(e.getUpdatedHtml(t))})))}),n,"-prompt -no-padding-horizontal",null,!0,null,null,!0,!1,!0);i.heading.title="Code view",i.hasTopToolbar=!0,this.editor.hideToolbar(),this.modalService.setMapping(i),this.modalService.open(this.route)},HtmlComponent.prototype.getUpdatedHtml=function(e){var t=e.component.source,n=e.data.data,o=a.HtmlHelper.getElementsByTypeAndAttribute(t,"a",!1,"sfref"),i=a.HtmlHelper.getElementsByTypeAndAttribute(n,"a",!1,"sfref");return 0===(null==o?void 0:o.length)||0===(null==i?void 0:i.length)||o===i||i.filter((function(e){return!o.includes(e)})).forEach((function(e,t){var i=e.match("sfref=([\"'])(.*?)\\1");if(null==i?void 0:i.length){var r=o.find((function(e){return e.indexOf(i[0])}));if(e.match("href=([\"'])(.*?)\\1")[0]!==r.match("href=([\"'])(.*?)\\1")[0]){var a=e.replace(new RegExp("sfref=([\"'])(.*?)\\1"),"");n=n.replace(e,a)}}})),n},HtmlComponent.prototype.addCustomTools=function(){for(var e=this.getCustomToolsData(),t=0;tt.left&&e.xt.top&&e.y1&&e.buttons.forEach((function(e){e.name===t&&(e.isActive=!0)}))})),this.editMenuButtons.next(e)},HtmlComponent.prototype.setLoaderHeight=function(){this.loaderHeight=a.EDITOR_COLLAPSE_HEIGHT+25-1,this.isValueEmpty&&(this.loaderHeight=a.EDITOR_MAIN_EMPTY_HEIGHT+5),!this.isMainHtmlField&&this.isValueEmpty&&(this.loaderHeight=a.EDITOR_EMPTY_HEIGHT+5)},HtmlComponent.ɵfac=function HtmlComponent_Factory(e){return new(e||HtmlComponent)(i["ɵɵdirectiveInject"](d.ModalWindowService),i["ɵɵdirectiveInject"](C.CompositeEditMenuProvider),i["ɵɵdirectiveInject"](r.ActivatedRoute),i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](i.Renderer2),i["ɵɵdirectiveInject"](l.ImageHelper),i["ɵɵdirectiveInject"](p.CreateLinkHelper),i["ɵɵdirectiveInject"](u.WINDOW_TOKEN),i["ɵɵdirectiveInject"](m.DOCUMENT_TOKEN))},HtmlComponent.ɵcmp=i["ɵɵdefineComponent"]({type:HtmlComponent,selectors:[["sf-html"]],viewQuery:function HtmlComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](x,3),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.editor=n.first)}},hostBindings:function HtmlComponent_HostBindings(e,t){1&e&&i["ɵɵlistener"]("resize",(function HtmlComponent_resize_HostBindingHandler(){return t.onResize()}),!1,i["ɵɵresolveWindow"])},outputs:{imageInsertClick:"imageInsertClick",documentInsertEditClick:"documentInsertEditClick",linkInsertClick:"linkInsertClick",editImageLinkClick:"editImageLinkClick",cancelUpload:"cancelUpload",retryUpload:"retryUpload",imageEdit:"imageEdit",valueChagned:"valueChagned"},features:[i["ɵɵProvidersFeature"]([Object(a.createValueAccessor)(HtmlComponent),l.ImageHelper]),i["ɵɵInheritDefinitionFeature"]],decls:5,vars:14,consts:[["sfTrackFocus","",1,"sf-input","-rich-text","sf-tooltip","-dropped",3,"closeOnContentClick","contentFocusOut"],[1,"sf-input__field",3,"customTools","culture","ngModel","ngClass","contentKeydown","contentKeyup","ngModelChange","select","blur","deletedUploadingImage","retryUploadingImage","serializedImmutables","deselectImmutables"],["editor",""],[3,"toolsetPositionParams","buttonSections","mousedown","mouseup","closeMenu",4,"ngIf"],["look","skeleton fluid-content sf-mt-3xs",3,"height",4,"ngIf"],[3,"toolsetPositionParams","buttonSections","mousedown","mouseup","closeMenu"],["look","skeleton fluid-content sf-mt-3xs",3,"height"]],template:function HtmlComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵlistener"]("contentFocusOut",(function HtmlComponent_Template_div_contentFocusOut_0_listener(){return t.handleClickOutside()})),i["ɵɵelementStart"](1,"sf-editor",1,2),i["ɵɵlistener"]("contentKeydown",(function HtmlComponent_Template_sf_editor_contentKeydown_1_listener(e){return t.onKeydown(e)}))("contentKeyup",(function HtmlComponent_Template_sf_editor_contentKeyup_1_listener(e){return t.onKeyup(e)}))("ngModelChange",(function HtmlComponent_Template_sf_editor_ngModelChange_1_listener(e){return t.value=e}))("select",(function HtmlComponent_Template_sf_editor_select_1_listener(e){return t.onSelect(e)}))("blur",(function HtmlComponent_Template_sf_editor_blur_1_listener(){return t.onBlur()}))("deletedUploadingImage",(function HtmlComponent_Template_sf_editor_deletedUploadingImage_1_listener(e){return t.onCancelUpload(e)}))("retryUploadingImage",(function HtmlComponent_Template_sf_editor_retryUploadingImage_1_listener(e){return t.onRetryUpload(e)}))("serializedImmutables",(function HtmlComponent_Template_sf_editor_serializedImmutables_1_listener(e){return t.onSerializedImmutables(e)}))("deselectImmutables",(function HtmlComponent_Template_sf_editor_deselectImmutables_1_listener(){return t.deselectSfImmutables()})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,HtmlComponent_sf_edit_menu_3_Template,1,2,"sf-edit-menu",3),i["ɵɵelementEnd"](),i["ɵɵtemplate"](4,HtmlComponent_sf_loader_4_Template,1,1,"sf-loader",4)),2&e&&(i["ɵɵclassProp"]("-visually-hidden",!t.isReady),i["ɵɵproperty"]("closeOnContentClick",t.closeOnContentClick),i["ɵɵadvance"](1),i["ɵɵproperty"]("customTools",t.customTools)("culture",t.settings?t.settings.culture:null)("ngModel",t.value)("ngClass",i["ɵɵpureFunction3"](10,_c1,t.isValueEmpty,(null===t.value||""===t.value)&&!t.isKeyDown,t.isMainHtmlField)),i["ɵɵattribute"]("data-placeholder",t.placeholderText),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngIf",t.hasEditMenuButtons),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.isReady))},directives:[I.SfTrackFocusDirective,v.EditorComponent,w.NgControlStatus,w.NgModel,_.NgClass,_.NgIf,g.ImmutableEditMenuComponent,I.SfLoaderComponent],styles:['@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.sf-input.-rich-text.-visually-hidden {\n position: absolute;\n width: 850px;\n opacity: 0;\n pointer-events: none;\n}\n.sf-input.-rich-text.-required .sf-input__required, .sf-input.-rich-text.ng-dirty.ng-invalid .sf-input__required {\n margin-top: 0;\n padding-top: 3px;\n border-top: 1px solid #ff4848;\n}\n.sf-input.-rich-text .sf-input__label {\n margin-bottom: 20px;\n}\n.sf-input.-rich-text .sf-input__field {\n height: auto;\n}\n.sf-input.-rich-text .sf-input__field.-placeholder::before {\n position: absolute;\n top: 3px;\n left: 3px;\n content: attr(data-placeholder);\n color: var(--input-placeholder-color);\n}\n.sf-input.-rich-text .sf-input__field.-initial .k-editor-inline {\n min-height: var(--editor-inline-min-height);\n}\n.sf-input.-rich-text .sf-input__field p {\n font-size: inherit;\n}\n.sf-input.-rich-text .sf-input__field h1, .sf-input.-rich-text .sf-input__field h2, .sf-input.-rich-text .sf-input__field h3, .sf-input.-rich-text .sf-input__field h4, .sf-input.-rich-text .sf-input__field h5, .sf-input.-rich-text .sf-input__field h6, .sf-input.-rich-text .sf-input__field section, .sf-input.-rich-text .sf-input__field ul, .sf-input.-rich-text .sf-input__field ol, .sf-input.-rich-text .sf-input__field address, .sf-input.-rich-text .sf-input__field article, .sf-input.-rich-text .sf-input__field dl, .sf-input.-rich-text .sf-input__field table, .sf-input.-rich-text .sf-input__field pre, .sf-input.-rich-text .sf-input__field video, .sf-input.-rich-text .sf-input__field figcaption {\n margin-bottom: 19px;\n}\n.sf-input.-rich-text video,\n.sf-input.-rich-text [data-sf-disable-link-event] {\n pointer-events: none;\n position: relative;\n}\n.sf-input.-rich-text video:before,\n.sf-input.-rich-text [data-sf-disable-link-event]:before {\n display: block;\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1000000;\n}\n.sf-input.-rich-text [data-sf-ec-immutable].sf-immutable-selected [data-sf-disable-link-event]::after {\n content: "";\n display: block;\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n padding: 0 !important;\n box-shadow: inset 0 0 0 5px #DCECF5;\n z-index: 10;\n}\n.sf-input.-rich-text [data-sf-ec-immutable] .twitter-tweet {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n.sf-input.-rich-text img[data-sf-ec-immutable].sf-immutable-selected {\n outline: 5px solid #DCECF5;\n outline-offset: -5px;\n}\n.sf-input.-rich-text img::-moz-selection {\n background: transparent;\n}\n.sf-input.-rich-text img::selection {\n background: transparent;\n}'],encapsulation:2}),HtmlComponent}(a.FieldBase),T=function T(e,t,n,o){this.names=e,this.selectors=t,this.execFunctions=n,this.ordinals=o,this.toolsCount=e.length}},function(e,t,n){"use strict";n.r(t),n.d(t,"EMBED_MEDIA_PARSERS",(function(){return g})),n.d(t,"EMBED_MEDIA_PARSER_PROVIDERS",(function(){return E})),n.d(t,"PROCESS_EMBED_MEDIA_VALUE_TIMEOUT",(function(){return h})),n.d(t,"EmbedMediaComponent",(function(){return b}));var o=n(361),i=n(375),r=n(377),a=n(246),s=n(366),A=n(1467),l=n(244),c=n(374),d=n(229),p=n(354),f=n(324),u=n(261),m=["preview"];function EmbedMediaComponent_div_5_sf_input_1_Template(e,t){if(1&e){var n=d["ɵɵgetCurrentView"]();d["ɵɵelementStart"](0,"sf-input",11),d["ɵɵlistener"]("ngModelChange",(function EmbedMediaComponent_div_5_sf_input_1_Template_sf_input_ngModelChange_0_listener(e){return d["ɵɵrestoreView"](n),d["ɵɵnextContext"](2).width=e})),d["ɵɵelementEnd"]()}if(2&e){var o=d["ɵɵnextContext"](2);d["ɵɵproperty"]("ngModel",o.width.value)}}function EmbedMediaComponent_div_5_span_2_Template(e,t){1&e&&(d["ɵɵelementStart"](0,"span",10),d["ɵɵtext"](1," x "),d["ɵɵelementEnd"]())}function EmbedMediaComponent_div_5_sf_input_3_Template(e,t){if(1&e){var n=d["ɵɵgetCurrentView"]();d["ɵɵelementStart"](0,"sf-input",12),d["ɵɵlistener"]("ngModelChange",(function EmbedMediaComponent_div_5_sf_input_3_Template_sf_input_ngModelChange_0_listener(e){return d["ɵɵrestoreView"](n),d["ɵɵnextContext"](2).height=e})),d["ɵɵelementEnd"]()}if(2&e){var o=d["ɵɵnextContext"](2);d["ɵɵproperty"]("ngModel",o.height.value)}}function EmbedMediaComponent_div_5_Template(e,t){if(1&e&&(d["ɵɵelementStart"](0,"div",6),d["ɵɵtemplate"](1,EmbedMediaComponent_div_5_sf_input_1_Template,1,1,"sf-input",7),d["ɵɵtemplate"](2,EmbedMediaComponent_div_5_span_2_Template,2,0,"span",8),d["ɵɵtemplate"](3,EmbedMediaComponent_div_5_sf_input_3_Template,1,1,"sf-input",9),d["ɵɵelementStart"](4,"span",10),d["ɵɵtext"](5,"px"),d["ɵɵelementEnd"](),d["ɵɵelementEnd"]()),2&e){var n=d["ɵɵnextContext"]();d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",n.width.hasValue),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",n.width.hasValue&&n.height.hasValue),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",n.height.hasValue)}}var _c1=function(e,t){return{"ng-invalid ng-dirty":e,"ng-valid":t}},g=[A.TwitterMediaParser,A.YoutubeMediaParser,A.IFrameMediaParser,A.DefaultMediaParser],E=[{provide:i.EmbedMediaParser,useClass:A.TwitterMediaParser,multi:!0},{provide:i.EmbedMediaParser,useClass:A.YoutubeMediaParser,multi:!0},{provide:i.EmbedMediaParser,useClass:A.IFrameMediaParser,multi:!0},{provide:i.EmbedMediaParser,useClass:A.DefaultMediaParser,multi:!0}],h=1e3,b=function(){function EmbedMediaComponent(e,t){this.compositeEmbedMediaParser=e,this.window=t,this.autofocus=!1,this.timeoutId=-1,this.hasLoaded=!1,this.media=new r.Media}return Object.defineProperty(EmbedMediaComponent.prototype,"width",{get:function(){return this.media.width},set:function(e){this.updateMediaHost("width",e)},enumerable:!1,configurable:!0}),Object.defineProperty(EmbedMediaComponent.prototype,"height",{get:function(){return this.media.height},set:function(e){this.updateMediaHost("height",e)},enumerable:!1,configurable:!0}),Object.defineProperty(EmbedMediaComponent.prototype,"value",{get:function(){return this.valueInstance},set:function(e){var t=this;this.window.clearTimeout(this.timeoutId),this.timeoutId=this.window.setTimeout((function(){for(;t.preview.nativeElement.firstChild;)t.preview.nativeElement.removeChild(t.preview.nativeElement.firstChild);var n=e.trim();t.trySetEmbedMedia(n,!1).then((function(o){o?t.valueInstance=n:(t.valueInstance=n===a.stringConstants.EMPTY_STRING?null:e,t.preview.nativeElement.innerHTML=a.stringConstants.EMPTY_STRING)}))}),h)},enumerable:!1,configurable:!0}),Object.defineProperty(EmbedMediaComponent.prototype,"isValid",{get:function(){return this.media.isValid},enumerable:!1,configurable:!0}),Object.defineProperty(EmbedMediaComponent.prototype,"placeholder",{get:function(){return o.PLACEHOLDER_MESSAGE},enumerable:!1,configurable:!0}),Object.defineProperty(EmbedMediaComponent.prototype,"errorMessages",{get:function(){if(!this.isValid&&this.value&&this.hasLoaded)return new Array(o.NOT_SUPPORTED_MESSAGE)},enumerable:!1,configurable:!0}),EmbedMediaComponent.prototype.ngAfterViewInit=function(){var e=this;this.selectedImmutable&&this.trySetEmbedMedia(this.selectedImmutable.outerHTML).then((function(){return e.autofocus=!0}))},EmbedMediaComponent.prototype.getEmbedMediaHtml=function(){var e=this.media.width.value,t=this.media.height.value;return this.compositeEmbedMediaParser.getMediaHtml(this.media,e,t,this.css)},EmbedMediaComponent.prototype.wrapEmbedMedia=function(e,t){void 0===t&&(t=!0);var n=(new DOMParser).parseFromString(e,a.contentTypeConstants.HTML).querySelector("["+o.SelectorConstants.SF_IMMUTABLE+"]");return t?Object(s.ensureTrailingBreaks)(n.outerHTML):n.outerHTML},EmbedMediaComponent.prototype.trySetEmbedMedia=function(e,t){var n=this;return void 0===t&&(t=!0),this.parseEmbedMedia(e,t).then((function(e){return e.isValid&&n.loadMedia(),n.media=e,n.hasLoaded=!0,e.isValid}))},EmbedMediaComponent.prototype.parseEmbedMedia=function(e,t){var n=this;return void 0===t&&(t=!0),this.css=this.getCssText(e)||this.css,this.compositeEmbedMediaParser.parse(e).then((function(e){return e.isValid?(n.preview.nativeElement.innerHTML=a.stringConstants.EMPTY_STRING,e.type!==r.MediaType.Tweet&&(e.height.hasValue=e.height.hasValue||t,e.width.hasValue=e.width.hasValue||t),e.html&&(n.preview.nativeElement.innerHTML=e.html,t&&(n.valueInstance=n.compositeEmbedMediaParser.getValue(e.html))),e):e}))},EmbedMediaComponent.prototype.getCssText=function(e){var t=(new DOMParser).parseFromString(e,a.contentTypeConstants.HTML).querySelector("["+o.SelectorConstants.SF_IMMUTABLE+"]");if(t)return t.style.removeProperty("width"),t.style.removeProperty("height"),t.style.removeProperty("position"),t.style.removeProperty("z-index"),t.style.cssText},EmbedMediaComponent.prototype.loadMedia=function(){this.compositeEmbedMediaParser.initEmbeddedData()},EmbedMediaComponent.prototype.updateMediaHost=function(e,t){var n=this.compositeEmbedMediaParser.getMediaFromElement(this.preview.nativeElement);n&&(this.compositeEmbedMediaParser.updateMediaElement(n,e,t),this.media.type!==r.MediaType.Tweet&&(this.valueInstance=this.compositeEmbedMediaParser.getValue(n.outerHTML),this.media.html=n.outerHTML),this.media[e].value=t)},EmbedMediaComponent.ɵfac=function EmbedMediaComponent_Factory(e){return new(e||EmbedMediaComponent)(d["ɵɵdirectiveInject"](c.CompositeMediaParser),d["ɵɵdirectiveInject"](l.WINDOW_TOKEN))},EmbedMediaComponent.ɵcmp=d["ɵɵdefineComponent"]({type:EmbedMediaComponent,selectors:[["sf-embed-media"]],viewQuery:function EmbedMediaComponent_Query(e,t){if(1&e&&d["ɵɵviewQuery"](m,3),2&e){var n;d["ɵɵqueryRefresh"](n=d["ɵɵloadQuery"]())&&(t.preview=n.first)}},inputs:{selectedImmutable:"selectedImmutable"},decls:8,vars:9,consts:[[1,"-sf-mb-s"],[1,"sf-form","-medium","-sf-centered-box"],[1,"-sf-txt-align-left"],["ngDefaultControl","","type","textarea",3,"ngClass","validationMessages","placeholder","autofocus","ngModel","ngModelChange"],["class","sf-row -align-items-end -sf-mb-m",4,"ngIf"],["preview",""],[1,"sf-row","-align-items-end","-sf-mb-m"],["type","number","look","shrinked","class","sf-row__col -col-2","label","Width","ngDefaultControl","",3,"ngModel","ngModelChange",4,"ngIf"],["class","-sf-mb-4xs -sf-ml-3xs -sf-mr-3xs",4,"ngIf"],["type","number","look","shrinked","class","sf-row__col -col-2","label","Height","ngDefaultControl","",3,"ngModel","ngModelChange",4,"ngIf"],[1,"-sf-mb-4xs","-sf-ml-3xs","-sf-mr-3xs"],["type","number","look","shrinked","label","Width","ngDefaultControl","",1,"sf-row__col","-col-2",3,"ngModel","ngModelChange"],["type","number","look","shrinked","label","Height","ngDefaultControl","",1,"sf-row__col","-col-2",3,"ngModel","ngModelChange"]],template:function EmbedMediaComponent_Template(e,t){1&e&&(d["ɵɵelementStart"](0,"h1",0),d["ɵɵtext"](1,"Embed media"),d["ɵɵelementEnd"](),d["ɵɵelementStart"](2,"div",1),d["ɵɵelementStart"](3,"div",2),d["ɵɵelementStart"](4,"sf-input",3),d["ɵɵlistener"]("ngModelChange",(function EmbedMediaComponent_Template_sf_input_ngModelChange_4_listener(e){return t.value=e})),d["ɵɵelementEnd"](),d["ɵɵtemplate"](5,EmbedMediaComponent_div_5_Template,6,3,"div",4),d["ɵɵelementEnd"](),d["ɵɵelement"](6,"div",null,5),d["ɵɵelementEnd"]()),2&e&&(d["ɵɵadvance"](4),d["ɵɵproperty"]("ngClass",d["ɵɵpureFunction2"](6,_c1,!t.isValid&&t.value,t.isValid||!t.value))("validationMessages",t.errorMessages)("placeholder",t.placeholder)("autofocus",t.autofocus)("ngModel",t.value),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngIf",t.width.hasValue||t.height.hasValue))},directives:[p.SfInputComponent,f.DefaultValueAccessor,u.NgClass,f.NgControlStatus,f.NgModel,u.NgIf],encapsulation:2}),EmbedMediaComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ViewCodeComponent",(function(){return f}));var o=n(11),i=n(373),r=n(244),a=n(372),s=n(1703),A=n(1704),l=n(1695),c=n(229),d=n(261),p=n(354);function ViewCodeComponent_sf_loader_0_Template(e,t){1&e&&c["ɵɵelement"](0,"sf-loader",3)}var f=function(){function ViewCodeComponent(e,t,n){this.windowProvider=e,this.documentProvider=t,this.urlService=n,this.isLoading$=new o.BehaviorSubject(!1),this.animationState=l.ANIMATION_HIDDEN_STATE,this.isAmdDefined=!0}return Object.defineProperty(ViewCodeComponent.prototype,"value",{get:function(){return this.monacoEditor.getValue()},enumerable:!1,configurable:!0}),ViewCodeComponent.prototype.ngOnInit=function(){var e=this.windowProvider;this.isAmdDefined=e.define&&e.define.amd instanceof Object,e.define&&!this.isAmdDefined&&(e.define.amd={jQuery:!0}),this.loadMonaco()},ViewCodeComponent.prototype.ngOnDestroy=function(){var e=this.windowProvider;e.define&&!this.isAmdDefined&&(e.define.amd=null)},ViewCodeComponent.prototype.onResize=function(){this.recalculateLayout()},ViewCodeComponent.prototype.loadMonaco=function(){var e=this;this.isLoading$.next(!0);var t=this.urlService.getResourceUrl("/assets/js/monaco-editor/vs"),n=this.windowProvider;n.require.config({paths:{vs:t}}),n.require(["vs/editor/editor.main"],(function(){e.initMonacoEditor(monaco)}))},ViewCodeComponent.prototype.initMonacoEditor=function(e){e&&(e.editor.defineTheme(s.MONACO_CUSTOM_THEME_NAME,s.MONACO_CUSTOM_THEME),e.languages.html.htmlDefaults.setOptions(s.MONACO_FORMAT_OPTIONS),this.source=Object(A.html_beautify)(this.source,s.MONACO_FORMAT_OPTIONS.format),s.MONACO_SETTINGS.value=this.source,this.monacoEditor=e.editor.create(this.documentProvider.getElementById("monaco-editor"),s.MONACO_SETTINGS),this.recalculateLayout(),this.isLoading$.next(!1),this.animationState=l.ANIMATION_VISIBLE_STATE)},ViewCodeComponent.prototype.recalculateLayout=function(){var e={width:this.documentProvider.body.clientWidth,height:window.innerHeight-56};this.monacoEditor&&this.monacoEditor.layout(e)},ViewCodeComponent.ɵfac=function ViewCodeComponent_Factory(e){return new(e||ViewCodeComponent)(c["ɵɵdirectiveInject"](r.WINDOW_TOKEN),c["ɵɵdirectiveInject"](a.DOCUMENT_TOKEN),c["ɵɵdirectiveInject"](i.UrlService))},ViewCodeComponent.ɵcmp=c["ɵɵdefineComponent"]({type:ViewCodeComponent,selectors:[["sf-view-code"]],hostBindings:function ViewCodeComponent_HostBindings(e,t){1&e&&c["ɵɵlistener"]("resize",(function ViewCodeComponent_resize_HostBindingHandler(){return t.onResize()}),!1,c["ɵɵresolveWindow"])},inputs:{source:"source"},decls:5,vars:8,consts:[["look","big","class","-sf-centered-vertical-box",4,"ngIf"],[1,"-sf-txt-align-left"],["id","monaco-editor"],["look","big",1,"-sf-centered-vertical-box"]],template:function ViewCodeComponent_Template(e,t){1&e&&(c["ɵɵtemplate"](0,ViewCodeComponent_sf_loader_0_Template,1,0,"sf-loader",0),c["ɵɵpipe"](1,"async"),c["ɵɵelementStart"](2,"div",1),c["ɵɵpipe"](3,"async"),c["ɵɵelement"](4,"div",2),c["ɵɵelementEnd"]()),2&e&&(c["ɵɵproperty"]("ngIf",c["ɵɵpipeBind1"](1,4,t.isLoading$)),c["ɵɵadvance"](2),c["ɵɵclassProp"]("-sf-hidden",c["ɵɵpipeBind1"](3,6,t.isLoading$)),c["ɵɵadvance"](2),c["ɵɵproperty"]("@fadeIn",t.animationState))},directives:[d.NgIf,p.SfLoaderComponent],pipes:[d.AsyncPipe],styles:['@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.monaco-editor {\n margin-top: 56px;\n overflow: hidden;\n}\n.monaco-editor .monaco-menu-container {\n font-family: "Open Sans", sans-serif;\n box-shadow: 0 3px 5px #ededee;\n border: 1px solid #eee;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar {\n padding-top: 10px;\n padding-bottom: 10px;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label,\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .keybinding {\n padding: 2px 20px;\n font-size: var(--font-size-base);\n line-height: 1.4;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label {\n color: #333;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label:focus {\n color: inherit;\n text-shadow: none;\n}\n.monaco-editor .monaco-menu-container .monaco-menu .monaco-action-bar .action-label.separator {\n margin-bottom: 10px;\n margin-left: 0;\n margin-right: 0;\n padding-top: 10px;\n}\n.monaco-editor .monaco-scrollable-element canvas.decorationsOverviewRuler {\n opacity: 0;\n}\n.monaco-editor .monaco-scrollable-element .scrollbar .slider {\n border-radius: 3px;\n}'],encapsulation:2,data:{animation:[l.ANIMATION_FADE_IN]}}),ViewCodeComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MONACO_CUSTOM_THEME_NAME",(function(){return o})),n.d(t,"MONACO_CUSTOM_THEME",(function(){return i})),n.d(t,"MONACO_FORMAT_OPTIONS",(function(){return r})),n.d(t,"MONACO_SETTINGS",(function(){return a}));var o="customTheme",i={base:"vs",inherit:!0,rules:[{token:"comment",foreground:"aa5500"},{token:"tag",foreground:"117700"}]},r={format:{wrapLineLength:0}},a={value:"",language:"html",validate:!0,lineNumbers:!0,scrollBeyondLastLine:!1,readOnly:!1,wordWrap:"on",wrappingIndent:"indent",theme:"customTheme",renderLineHighlight:"none",matchBrackets:!1,renderIndentGuides:!1,minimap:{enabled:!1},fontFamily:"Open Sans",scrollbar:{useShadows:!1,verticalScrollbarSize:8,verticalSliderSize:8}}},,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"SF_IAMGE_UPLOAD_FAILED",(function(){return A})),n.d(t,"ImageHelper",(function(){return l})),n.d(t,"ALTERNATIVE_TEXT_KEY",(function(){return c})),n.d(t,"IMAGE_THUMBNAIL_TEXT_KEY",(function(){return d})),n.d(t,"IMAGE_MARGINS_KEY",(function(){return p})),n.d(t,"SIZE_ATTRIBUTE",(function(){return f})),n.d(t,"CUSTOM_THUMBNAIL_KEY",(function(){return u})),n.d(t,"CUSTOM_THUMBNAIL_ATTRIBUTE",(function(){return m})),n.d(t,"CONSTRAIN_PROPORTIONS_ATTRIBUTE",(function(){return g})),n.d(t,"ORIGINAL_IMAGE_KEY",(function(){return E})),n.d(t,"WIDTH_FIELD_NAME",(function(){return h})),n.d(t,"HEIGHT_FIELD_NAME",(function(){return b})),n.d(t,"PIXELS_NAME",(function(){return C})),n.d(t,"CUSTOM_SIZE_CHOICE_NAME",(function(){return B})),n.d(t,"MARGIN_TOP_NAME",(function(){return k})),n.d(t,"MARGIN_RIGHT_NAME",(function(){return I})),n.d(t,"MARGIN_BOTTOM_NAME",(function(){return v})),n.d(t,"MARGIN_LEFT_NAME",(function(){return w}));var o=n(361),i=n(366),r=n(246),a=n(245),s=n(229),A="-sf-txt-failure",l=function(){function ImageHelper(){}return Object.defineProperty(ImageHelper.prototype,"selectedImage",{get:function(){return this._selectedImage},enumerable:!1,configurable:!0}),ImageHelper.prototype.createImage=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=null);var s=document.createElement(o.NODE_NAMES.IMAGE_ELEMENT);s.src=e.Url||Object(a.extractSafeUrl)(e.dataUrl)||e.content,s.setAttribute(f,e.TotalSize||e.total),s.setAttribute(o.SelectorConstants.SF_IMMUTABLE,r.stringConstants.EMPTY_STRING);var A=e.AlternativeText||(e.data?e.data.AlternativeText:null);if(s.alt=A||r.stringConstants.EMPTY_STRING,t){var l=document.createElement(o.NODE_NAMES.DIV_ELEMENT),c=document.createElement(o.NODE_NAMES.DIV_ELEMENT),d=document.createElement(o.NODE_NAMES.PROGRESS_ELEMENT),p=document.createElement(o.NODE_NAMES.BUTTON_ELEMENT),u=document.createElement(o.NODE_NAMES.ICON_ELEMENT);return l.id="Wrapper"+n,l.contentEditable="false",c.classList.add("sf-media","-upload-progress"),d.classList.add("sf-media__progress"),d.id=n,d.max=100,d.value=0,p.className="sf-media__remove sf-button -small -circle -icon",p.setAttribute("data","Wrapper"+n),u.className="sf-icon sf-fa sf-fa-times -normal -size-m sf-button__icon -left -sf-disabled",p.appendChild(u),c.appendChild(s),c.appendChild(d),c.appendChild(p),l.appendChild(c),Object(i.ensureTrailingBreaks)(l.outerHTML)}return s.outerHTML},ImageHelper.prototype.handleImageFailedUpload=function(e){var t=document.createElement(o.NODE_NAMES.DIV_ELEMENT);t.innerText=e.errorMessage,t.classList.add(A);var n=document.getElementById(e.imageId);n.classList.add("-failure"),n.parentElement.parentElement.appendChild(t)},ImageHelper.prototype.handleImageSuccessUpload=function(e){var t=e.parentElement,n=t.parentElement,r=t.querySelector(o.NODE_NAMES.BUTTON_ELEMENT),a=t.querySelector(o.NODE_NAMES.PROGRESS_ELEMENT);t.removeChild(r),t.removeChild(a),Object(i.removeTrailingBreaks)(n),this.unwrap(n),this.unwrap(t)},ImageHelper.prototype.unwrap=function(e){for(var t=document.createDocumentFragment();e.firstChild;){var n=e.removeChild(e.firstChild);t.appendChild(n)}e.parentNode.replaceChild(t,e)},ImageHelper.prototype.getRandomStringId=function(e){var t=Math.random();return e&&(t=e+t),t.toString().replace(".","").replace(" ","")},ImageHelper.prototype.onSelectionChange=function(e){e instanceof HTMLImageElement&&(this._selectedImage=e)},ImageHelper.prototype.onEditDone=function(e,t){var n=e.find((function(e){return e.key===c})),o=e.find((function(e){return e.key===d})),r=e.find((function(e){return e.key===p}));this.selectedImage.alt=n.value;var a=this.getThumbnailUrl(this.selectedImage.src,E,t);if(o.value.thumbnailValue===u){this.handleImageSizeAttributeAddition("width",o.value.width),o.value.constrainProportions?this.handleImageSizeAttributeRemoval("height"):this.handleImageSizeAttributeAddition("height",o.value.height);var s=document.createAttribute(m);s.value="true",this.selectedImage.attributes.setNamedItem(s);var A=document.createAttribute(g);A.value=o.value.constrainProportions,this.selectedImage.attributes.setNamedItem(A)}else this.handleImageSizeAttributeRemoval(m),this.handleImageSizeAttributeRemoval(g),this.handleImageSizeAttributeRemoval("width"),this.handleImageSizeAttributeRemoval("height"),a=this.getThumbnailUrl(this.selectedImage.src,o.value.thumbnailValue,t);if(r&&r.value){var l=Object(i.isImageHyperlink)(this.selectedImage)?this.selectedImage.parentElement:this.selectedImage;Object.keys(r.value).forEach((function(e){l.style[e]=r.value[e]}))}this.selectedImage.src=a},ImageHelper.prototype.determineConstrainProportions=function(e){var t=e.attributes.getNamedItem(g);return!t||"true"===t.value},ImageHelper.prototype.determineThumbnailId=function(e,t){if(e.attributes.getNamedItem(m))return u;var n=t.find((function(e){return!0===e.Selected}));return n?n.Name:E},ImageHelper.prototype.determineScaledValue=function(e,t,n){if(e){var o=e/t;return Math.round(n*o)}return null},ImageHelper.prototype.transformThumbnailsToChoices=function(e){var t=[];return e.forEach((function(e){t.push({Name:e.Title,Value:e.Name})})),t.push({Name:B,Value:u}),t},ImageHelper.prototype.getThumbnailUrl=function(e,t,n){var o=n.find((function(e){return e.Name===t}));return o||(o=n.find((function(e){return e.Name===E}))),o.Url},ImageHelper.prototype.handleImageSizeAttributeAddition=function(e,t){t?this.selectedImage[e]=t:this.selectedImage.attributes.getNamedItem(e)&&this.selectedImage.attributes.removeNamedItem(e)},ImageHelper.prototype.handleImageSizeAttributeRemoval=function(e){this.selectedImage.attributes.getNamedItem(e)&&this.selectedImage.attributes.removeNamedItem(e)},ImageHelper.ɵfac=function ImageHelper_Factory(e){return new(e||ImageHelper)},ImageHelper.ɵprov=s["ɵɵdefineInjectable"]({token:ImageHelper,factory:ImageHelper.ɵfac}),ImageHelper}(),c="AlternativeText",d="ImageThumbnail",p="ImageMargins",f="sf-size",u="custom",m="sf-custom-thumbnail",g="sf-constrain-proportions",E="original",h="Width",b="Height",C="px",B="Custom size...",k="marginTop",I="marginRight",v="marginBottom",w="marginLeft"},function(e,t,n){"use strict";n.r(t),n.d(t,"HYPER_TEXT_TRANSFER_PROTOCOL",(function(){return A})),n.d(t,"MAILTO_PROTOCOL",(function(){return l})),n.d(t,"CreateLinkHelper",(function(){return c}));var o=n(361),i=n(246),r=n(1710),a=n(1501),s=n(229),A="http://",l="mailto:",c=function(){function CreateLinkHelper(){}return CreateLinkHelper.prototype.buildLink=function(e){var t=document.createElement("a");this.setLinkAttributes(t,e),e.textToDisplay?t.innerText=e.textToDisplay:t.innerText=i.stringConstants.EMPTY_STRING,t.setAttribute(o.SelectorConstants.SF_IMMUTABLE,i.stringConstants.EMPTY_STRING);var n=t.outerHTML,r=e.textToDisplay?e.textToDisplay:i.stringConstants.EMPTY_STRING;return t.innerText!==r&&(n=t.outerHTML.replace(t.innerHTML,e.textToDisplay)),e.htmlToDisplay&&(t.innerHTML=e.htmlToDisplay,n=t.outerHTML),e.shouldOpenInNewWindow||(n=t.outerHTML.replace('target="'+i.NEW_TAB_TARGET+'"',null)),n},CreateLinkHelper.prototype.setLinkAttributes=function(e,t){var n=!!t.linkModel.contentItemModel?t.linkModel.contentItemModel.sfLink:{href:t.linkModel.href,sfref:null};e.href=this.getLinkWithProtocol(t.linkModel),n.sfref&&!t.shouldResetSfRef?e.setAttribute(o.ANCHOR_ATTRIBUTES.SFREF,n.sfref):e.removeAttribute(o.ANCHOR_ATTRIBUTES.SFREF),t.attributes&&t.attributes.length>0&&t.attributes.forEach((function(t){return e.setAttribute(t.key,t.value)})),this.setQueryParamsAndAnchor(t,e),this.setTooltip(t,e),this.setTarget(t,e)},CreateLinkHelper.prototype.getWrappedLinkText=function(e,t){var n=document.createElement(o.NODE_NAMES.DIV_ELEMENT);return n.innerHTML=e,n.innerText===t?e:t},CreateLinkHelper.prototype.shouldSetHtml=function(e,t){var n=document.createElement(o.NODE_NAMES.DIV_ELEMENT);return n.innerHTML=e,n.innerText===t},CreateLinkHelper.prototype.setTarget=function(e,t){e[r.CREATE_LINK_MODEL_PROPERTIES.SHOULD_OPEN_IN_NEW_WINDOW]&&(t.target=i.NEW_TAB_TARGET)},CreateLinkHelper.prototype.setQueryParamsAndAnchor=function(e,t){this.clearQueryParamsAndAnchor(e,t);var n="",o="";if(e[r.CREATE_LINK_MODEL_PROPERTIES.QUERY_PARAMS]){var a="?";e[r.CREATE_LINK_MODEL_PROPERTIES.QUERY_PARAMS][0]===a&&(a=i.stringConstants.EMPTY_STRING),o=""+a+e.queryParams}if(e[r.CREATE_LINK_MODEL_PROPERTIES.ANCHOR]){var s="#";e[r.CREATE_LINK_MODEL_PROPERTIES.ANCHOR][0]===s&&(s=i.stringConstants.EMPTY_STRING),n=""+s+e.anchor}if(n||o){var A=e.linkModel.href?t.href:i.stringConstants.EMPTY_STRING;t.href=""+A+o+n}},CreateLinkHelper.prototype.clearQueryParamsAndAnchor=function(e,t){if(e.queryParams||e.anchor)if(t.href.includes(i.stringConstants.QUESTION_MARK)){var n=t.href.indexOf(i.stringConstants.QUESTION_MARK);t.href=t.href.substring(0,n)}else if(t.href.includes(i.stringConstants.HASH)){var o=t.href.indexOf(i.stringConstants.HASH);t.href=t.href.substring(0,o)}},CreateLinkHelper.prototype.setTooltip=function(e,t){e.tooltip&&(t.title=e.tooltip)},CreateLinkHelper.prototype.getLinkWithProtocol=function(e){return e.linkType===a.URL_NO_SCHEME?""+A+e.href:e.linkType===a.EMAIL?""+l+e.href:e.href},CreateLinkHelper.ɵfac=function CreateLinkHelper_Factory(e){return new(e||CreateLinkHelper)},CreateLinkHelper.ɵprov=s["ɵɵdefineInjectable"]({token:CreateLinkHelper,factory:CreateLinkHelper.ɵfac}),CreateLinkHelper}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CREATE_LINK_MODEL_PROPERTIES",(function(){return o})),n.d(t,"CREATE_LINK_TITLE_CONSTANTS",(function(){return i}));var o={LINK_TO:"linkModel",TEXT_TO_DISPLAY:"textToDisplay",TEXT_TO_DISPLAY_INSTRUCTIONAL_TEXT:"Example: Sitefinity",SHOULD_OPEN_IN_NEW_WINDOW:"shouldOpenInNewWindow",ANCHOR:"anchor",QUERY_PARAMS:"queryParams",LINK_TO_PLACEHOLDER:"linkTrackingTags",TOOLTIP:"tooltip"},i={ANCHOR:"Anchor",ANCHOR_PLACEHOLDER:"E.g. FAQ-list",ANCHOR_UNIT_LOOK:"size-xs",ANCHOR_UNIT_POSITION:"left",ANCHOR_TOOLTIP:"Insert link to anchor already added in the text.",QUERY_PARAMS:"Query parameters",QUERY_PARAMS_PLACEHOLDER:"E.g. search=FAQ&mobile=true",QUERY_PARAMS_TOOLTIP:"Insert set of parameters to be attached to the end of the URL.",TOOLTIP:"Tooltip",TOOLTIP_TOOLTIP:"Appears when the cursor is pointed to the link.",LINK_TO:"Link to...",LINK_TO_PLACEHOLDER:"Type URL or email...",TEXT_TO_DISPLAY:"Text to display",SHOULD_OPEN_IN_NEW_WINDOW:"Open this link in a new window"}},function(e,t,n){"use strict";n.r(t),n.d(t,"CreateLinkComponent",(function(){return h})),n.d(t,"CreateLinkModel",(function(){return b}));var o=n(1120),i=n(246),r=n(266),a=n(1121),s=n(351),A=n(257),l=n(361),c=n(378),d=n(260),p=n(262),f=n(357),u=n(1710),m=n(1501),g=n(1709),E=n(229),h=function(){function CreateLinkComponent(e,t){var n,o,r,a,s,l;this.fieldsProvider=e,this.route=t,this.selectedText=i.stringConstants.EMPTY_STRING,this.entity={properties:(n={},n[u.CREATE_LINK_MODEL_PROPERTIES.LINK_TO]=(o={},o[f.SHORT_TEXT_PLACEHOLDER]=u.CREATE_LINK_TITLE_CONSTANTS.LINK_TO_PLACEHOLDER,o),n[u.CREATE_LINK_MODEL_PROPERTIES.TEXT_TO_DISPLAY]=(r={},r[A.VALIDATION_REQUIRED]=!0,r[A.INSTRUCTIONAL_TEXT]=u.CREATE_LINK_MODEL_PROPERTIES.TEXT_TO_DISPLAY_INSTRUCTIONAL_TEXT,r),n[u.CREATE_LINK_MODEL_PROPERTIES.SHOULD_OPEN_IN_NEW_WINDOW]={},n[u.CREATE_LINK_MODEL_PROPERTIES.ANCHOR]=(a={},a[A.FIELD_TOOLTIP]=u.CREATE_LINK_TITLE_CONSTANTS.ANCHOR_TOOLTIP,a[f.SHORT_TEXT_PLACEHOLDER]=u.CREATE_LINK_TITLE_CONSTANTS.ANCHOR_PLACEHOLDER,a[f.SHORT_TEXT_UNIT]=i.stringConstants.HASH,a[f.SHORT_TEXT_UNIT_LOOK]=u.CREATE_LINK_TITLE_CONSTANTS.ANCHOR_UNIT_LOOK,a[f.SHORT_TEXT_UNIT_POSITION]=u.CREATE_LINK_TITLE_CONSTANTS.ANCHOR_UNIT_POSITION,a),n[u.CREATE_LINK_MODEL_PROPERTIES.QUERY_PARAMS]=(s={},s[A.FIELD_TOOLTIP]=u.CREATE_LINK_TITLE_CONSTANTS.QUERY_PARAMS_TOOLTIP,s[f.SHORT_TEXT_PLACEHOLDER]=u.CREATE_LINK_TITLE_CONSTANTS.QUERY_PARAMS_PLACEHOLDER,s[f.SHORT_TEXT_UNIT]=i.stringConstants.QUESTION_MARK,s[f.SHORT_TEXT_UNIT_LOOK]=u.CREATE_LINK_TITLE_CONSTANTS.ANCHOR_UNIT_LOOK,s[f.SHORT_TEXT_UNIT_POSITION]=u.CREATE_LINK_TITLE_CONSTANTS.ANCHOR_UNIT_POSITION,s),n[u.CREATE_LINK_MODEL_PROPERTIES.TOOLTIP]=(l={},l[A.FIELD_TOOLTIP]=u.CREATE_LINK_TITLE_CONSTANTS.TOOLTIP_TOOLTIP,l),n)}}return Object.defineProperty(CreateLinkComponent.prototype,"title",{get:function(){return this.isInEditMode?l.LINK_CONSTANTS.EDIT_LINK_TITLE:l.LINK_CONSTANTS.CREATE_LINK_TITLE},enumerable:!1,configurable:!0}),CreateLinkComponent.prototype.ngOnInit=function(){var e=this.route.snapshot.params[p.ROUTE_PARAMS.TYPE_NAME_SEGMENT],t=this.getLinkModelData(),n=this.initBaseFieldsSection(t),o=this.initMoreOptionsFieldsSection(e,t);this.fieldsSections=[n,o]},CreateLinkComponent.prototype.initBaseFieldsSection=function(e){var t=this.getBaseFields(e),n={isMain:!0,isExpanded:!1,insertHorizontalRule:!0,title:i.stringConstants.EMPTY_STRING,name:"baseFieldsSection"},r=new o.FieldSectionModel(n);return r.fields=t,r},CreateLinkComponent.prototype.initMoreOptionsFieldsSection=function(e,t){var n=this.getMoreOptionsFields(e,t),i={isMain:!1,isExpanded:!1,insertHorizontalRule:!0,title:"More options",name:"moreOptionsSection"},r=new o.FieldSectionModel(i);return r.fields=n,r},CreateLinkComponent.prototype.getBaseFields=function(e){var t=new m.ContentLinkInputModel(e);e.anchor&&!e.queryParams&&(t.isUrlRequired=!1);var n=e.innerText,o=e.target,i=this.route.snapshot.params[p.ROUTE_PARAMS.TYPE_NAME_SEGMENT],r=[this.createField(s.FieldTypes.linkInsert,i,u.CREATE_LINK_MODEL_PROPERTIES.LINK_TO,t,this.entity,u.CREATE_LINK_TITLE_CONSTANTS.LINK_TO),this.createField(s.FieldTypes.shortText,i,u.CREATE_LINK_MODEL_PROPERTIES.TEXT_TO_DISPLAY,n,this.entity,u.CREATE_LINK_TITLE_CONSTANTS.TEXT_TO_DISPLAY),this.createField(s.FieldTypes.choiceYesNo,i,u.CREATE_LINK_MODEL_PROPERTIES.SHOULD_OPEN_IN_NEW_WINDOW,o,this.entity,u.CREATE_LINK_TITLE_CONSTANTS.SHOULD_OPEN_IN_NEW_WINDOW)];if(!this.showTextToDisplay){var a=r.findIndex((function(e){return e.key===u.CREATE_LINK_MODEL_PROPERTIES.TEXT_TO_DISPLAY}));r.splice(a,1)}return r[r.length-1].settings.showTitle=!1,r},CreateLinkComponent.prototype.getMoreOptionsFields=function(e,t){var n=t.title,o=t.anchor,i=t.queryParams;return[this.createField(s.FieldTypes.shortText,e,u.CREATE_LINK_MODEL_PROPERTIES.QUERY_PARAMS,i,this.entity,u.CREATE_LINK_TITLE_CONSTANTS.QUERY_PARAMS),this.createField(s.FieldTypes.shortText,e,u.CREATE_LINK_MODEL_PROPERTIES.ANCHOR,o,this.entity,u.CREATE_LINK_TITLE_CONSTANTS.ANCHOR),this.createField(s.FieldTypes.shortText,e,u.CREATE_LINK_MODEL_PROPERTIES.TOOLTIP,n,this.entity,u.CREATE_LINK_TITLE_CONSTANTS.TOOLTIP)]},CreateLinkComponent.prototype.createField=function(e,t,n,o,i,a){return void 0===i&&(i={}),Object(r.createFieldModel)(this.fieldsProvider,t,e,n,o,i,a)},CreateLinkComponent.prototype.getLinkModelData=function(){var e,t,n=this.selectedElement&&this.selectedElement.getAttribute(l.ANCHOR_ATTRIBUTES.HREF)||i.stringConstants.EMPTY_STRING;(n.startsWith("#")||n.startsWith("?"))&&(n=i.stringConstants.EMPTY_STRING);var o=this.selectedElement?this.selectedElement.getAttribute(l.ANCHOR_ATTRIBUTES.SFREF):i.stringConstants.EMPTY_STRING,r=this.selectedElement?this.selectedElement.getAttribute(l.ANCHOR_ATTRIBUTES.TITLE):i.stringConstants.EMPTY_STRING,a=this.selectedElement?this.selectedElement.getAttribute(l.ANCHOR_ATTRIBUTES.TARGET):i.stringConstants.EMPTY_STRING,s=this.selectedElement?this.selectedElement.innerText:this.selectedText,A=n.indexOf("#"),c=n.indexOf("?");return 0===n.indexOf(g.MAILTO_PROTOCOL)?(n=n.substring(g.MAILTO_PROTOCOL.length),e=i.stringConstants.EMPTY_STRING,t=i.stringConstants.EMPTY_STRING):-1!==c?-1!==A?(t=n.substring(c+1,A),e=n.substring(A+1)):(t=n.substring(c+1),e=i.stringConstants.EMPTY_STRING):-1!==A?e=n.substring(A+1):(e=i.stringConstants.EMPTY_STRING,t=i.stringConstants.EMPTY_STRING),e||(e=this.selectedElement?this.selectedElement.hash.substring(1,this.selectedElement.hash.length):i.stringConstants.EMPTY_STRING),{sfLink:{href:n,sfref:o},anchor:e,queryParams:t,title:r,target:a,innerText:s}},CreateLinkComponent.ɵfac=function CreateLinkComponent_Factory(e){return new(e||CreateLinkComponent)(E["ɵɵdirectiveInject"](c.CompositeFieldsProvider),E["ɵɵdirectiveInject"](d.ActivatedRoute))},CreateLinkComponent.ɵcmp=E["ɵɵdefineComponent"]({type:CreateLinkComponent,selectors:[["ng-component"]],viewQuery:function CreateLinkComponent_Query(e,t){if(1&e&&E["ɵɵviewQuery"](a.EditableFieldsComponent,3),2&e){var n;E["ɵɵqueryRefresh"](n=E["ɵɵloadQuery"]())&&(t.editableFieldsComponent=n.first)}},decls:4,vars:2,consts:[[1,"sf-form","-medium","-sf-centered-box","-sf-pb-zero"],[1,"-sf-mb-3xl"],[1,"-sf-txt-align-left",3,"fieldSections"]],template:function CreateLinkComponent_Template(e,t){1&e&&(E["ɵɵelementStart"](0,"div",0),E["ɵɵelementStart"](1,"h1",1),E["ɵɵtext"](2),E["ɵɵelementEnd"](),E["ɵɵelement"](3,"sf-editable-fields",2),E["ɵɵelementEnd"]()),2&e&&(E["ɵɵadvance"](2),E["ɵɵtextInterpolate"](t.title),E["ɵɵadvance"](1),E["ɵɵproperty"]("fieldSections",t.fieldsSections))},directives:[a.EditableFieldsComponent],encapsulation:2}),CreateLinkComponent}(),b=function b(){this.shouldResetSfRef=!1}},function(e,t,n){"use strict";n.r(t),n.d(t,"EditImageComponent",(function(){return A}));var o=n(324),i=n(229),r=n(1713),a=n(261),s=n(1122);function EditImageComponent_sf_form_field_wrapper_7_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-form-field-wrapper",6),2&e){var n=t.$implicit,o=i["ɵɵnextContext"]();i["ɵɵproperty"]("formControlName",n.key)("fieldModel",n)("formControl",o.form.controls[n.key])}}var A=function(){function EditImageComponent(){}return EditImageComponent.prototype.ngOnInit=function(){var e=this;this.form=new o.FormGroup({}),this.fields.forEach((function(t){e.form.controls[t.key]=new o.FormControl(void 0,t.settings.validators),e.form.controls[t.key].setValue(t.value)}))},EditImageComponent.ɵfac=function EditImageComponent_Factory(e){return new(e||EditImageComponent)},EditImageComponent.ɵcmp=i["ɵɵdefineComponent"]({type:EditImageComponent,selectors:[["ng-component"]],inputs:{image:"image",fields:"fields",form:"form",mediaEntityData:"mediaEntityData"},decls:9,vars:5,consts:[[1,"sf-form","-sf-centered-box"],[1,"-sf-mt-3xl"],[1,"sf-media","-preview",3,"mediaEntityData","item","dataURL"],[1,"-sf-txt-align-left",3,"formGroup"],[3,"formControlName","fieldModel","formControl",4,"ngFor","ngForOf"],[1,"-sf-mb-zero"],[3,"formControlName","fieldModel","formControl"]],template:function EditImageComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵelementStart"](1,"h1"),i["ɵɵtext"](2,"Image properties"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"div",1),i["ɵɵelement"](4,"sf-file-preview",2),i["ɵɵelement"](5,"hr"),i["ɵɵelementStart"](6,"form",3),i["ɵɵtemplate"](7,EditImageComponent_sf_form_field_wrapper_7_Template,1,3,"sf-form-field-wrapper",4),i["ɵɵelementEnd"](),i["ɵɵelement"](8,"hr",5),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](4),i["ɵɵproperty"]("mediaEntityData",t.mediaEntityData)("item",t.image)("dataURL",t.image.src),i["ɵɵadvance"](2),i["ɵɵproperty"]("formGroup",t.form),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",t.fields))},directives:[r.FilePreviewComponent,o["ɵangular_packages_forms_forms_ba"],o.NgControlStatusGroup,o.FormGroupDirective,a.NgForOf,s.FormFieldWrapperComponent,o.NgControlStatus,o.FormControlName,o.FormControlDirective],encapsulation:2}),EditImageComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FilePreviewComponent",(function(){return E}));var o=n(259),i=n(229),r=n(1114),a=n(1714),s=n(260),A=n(256),l=n(264),c=n(245),d=n(354),p=n(326),f=n(261),u=n(1715),m=["fileInput"],g=["loader"];function FilePreviewComponent_div_0_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}var _c2=function(e){return{"-svg":e}};function FilePreviewComponent_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",7),i["ɵɵtemplate"](1,FilePreviewComponent_div_0_ng_container_1_Template,1,0,"ng-container",8),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](),o=i["ɵɵreference"](2);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,_c2,n.isSvg)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",o)}}function FilePreviewComponent_ng_template_1_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-component-loader",9,10),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("componentData",n.previewerData)}}function FilePreviewComponent_sf_button_7_div_2_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",14),i["ɵɵlistener"]("click",(function FilePreviewComponent_sf_button_7_div_2_Template_div_click_0_listener(e){i["ɵɵrestoreView"](n);var o=t.$implicit;return i["ɵɵnextContext"](2).onEditOperationClick(o,e)})),i["ɵɵtext"](1),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",o," ")}}function FilePreviewComponent_sf_button_7_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"sf-button",11),i["ɵɵelementStart"](1,"div",12),i["ɵɵtemplate"](2,FilePreviewComponent_sf_button_7_div_2_Template,2,1,"div",13),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("iconTitle",n.propertiesButtonTitle),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",n.editOperations)}}var _c3=function(e,t,n,o,i){return{"sf-tooltip sf-media__details":e,"-video":t,"sf-input-file":n,"sf-row -sf-txt-hint -sf-txt-align-left -sf-mt-2xs":o,"-align-items-baseline":i}},E=function(e){function FilePreviewComponent(t,n,o){var r=e.call(this)||this;return r.mediaRecognizerService=t,r.mediaHandlers=n,r.route=o,r.editable=!1,r.onFilesSelected=new i.EventEmitter,r}return Object(o.__extends)(FilePreviewComponent,e),Object.defineProperty(FilePreviewComponent.prototype,"dataURL",{set:function(e){this.initPreviewerData(this.item,e)},enumerable:!1,configurable:!0}),FilePreviewComponent.prototype.ngOnInit=function(){var e=this;this.siteLanguages=this.route.parent?this.route.parent.snapshot.data.siteDataStore.ContentCultures:[],this.currentMediaHandler=this.mediaHandlers.find((function(t){return t.canHandle(e.mediaEntityData)})),this.editOperations=this.currentMediaHandler.getEditOperations(this.item,void 0,this.siteLanguages),this.propertiesButtonTitle=this.mediaEntityData.metadata.singularName+" settings",this.previewerData.properties.multiple=this.multiple,this.isVideo&&this.editable?this.previewerData.properties.look="play-detached":this.isImage&&this.editable&&(this.previewerData.properties.look="view-in-edit")},Object.defineProperty(FilePreviewComponent.prototype,"isVideo",{get:function(){return this.mediaEntityData.metadata.setName===A.ENTITY_SET.VIDEOS},enumerable:!1,configurable:!0}),Object.defineProperty(FilePreviewComponent.prototype,"isImage",{get:function(){return this.mediaEntityData.metadata.setName===A.ENTITY_SET.IMAGES},enumerable:!1,configurable:!0}),Object.defineProperty(FilePreviewComponent.prototype,"isSvg",{get:function(){return this.item&&this.item.contentType===p.MIME_TYPES.SVG},enumerable:!1,configurable:!0}),FilePreviewComponent.prototype.ngOnChanges=function(e){if(e){var t=e.item;t&&!t.isFirstChange()&&(this.editOperations=this.currentMediaHandler.getEditOperations(this.item,void 0,this.siteLanguages),this.initPreviewerData(t.currentValue,t.currentValue.dataUrl))}},FilePreviewComponent.prototype.onEditOperationClick=function(e,t){var n=this;t.stopPropagation(),this.isVideo&&(this.loader.currentInstance.isLoaded=!1),this.currentMediaHandler.executeOperation({operationName:e,item:this.item,route:this.route,allowedMediaTypes:this.viewModel.acceptFileTypes,mediaDataItem:this.viewModel.mediaDataItem,input:this.input.nativeElement}).subscribe((function(e){if(null===e)n.isVideo&&(n.loader.currentInstance.isLoaded=!0);else{if(e.dataUrl){var t=e.dataUrl,o="."===n.item.extension[0]?n.item.extension:"."+n.item.extension,i=[Object(c.createFileWithBase64)(t,""+n.item.title+o)];n.onFilesSelected.emit({files:i}),n.initPreviewerData(n.item,t)}e.files&&n.onFilesSelected.emit({files:e.files,preserveFileName:e.preserveFileName,originalFileNames:e.originalFileNames})}}))},FilePreviewComponent.prototype.initPreviewerData=function(e,t){var n=this,o={item:this.item,src:t,multiple:this.multiple,isMultimedia:this.mediaEntityData.metadata.isMultimedia,type:this.item.contentType,isVideo:this.isVideo};this.isVideo&&this.editable?o.look="play-detached":this.isImage&&this.editable&&(o.look="view-in-edit"),this.previewerData=this.mediaRecognizerService.getComponentData(o),this.previewerData.updatePropertiesOnChange=!0,this.previewerData.afterComponentInit=function(e){if(e.error){var t=e.error.subscribe((function(){n.editOperations=n.currentMediaHandler.getEditOperations(n.item,!0,n.siteLanguages)}));n.registerSubscription(t)}}},FilePreviewComponent.ɵfac=function FilePreviewComponent_Factory(e){return new(e||FilePreviewComponent)(i["ɵɵdirectiveInject"](r.MediaRecognizerService),i["ɵɵdirectiveInject"](a.MediaHandler),i["ɵɵdirectiveInject"](s.ActivatedRoute))},FilePreviewComponent.ɵcmp=i["ɵɵdefineComponent"]({type:FilePreviewComponent,selectors:[["sf-file-preview"]],viewQuery:function FilePreviewComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](m,1),i["ɵɵviewQuery"](g,1)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.input=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.loader=n.first)}},inputs:{multiple:"multiple",mediaEntityData:"mediaEntityData",item:"item",editable:"editable",viewModel:"viewModel",dataURL:"dataURL"},outputs:{onFilesSelected:"onFilesSelected"},features:[i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:8,vars:13,consts:[["class","sf-placeholder",3,"ngClass",4,"ngIf","ngIfElse"],["noWrapperTemplate",""],[3,"ngClass"],["heightProperty","height","widthProperty","width","sizeProperty","size","extensionProperty","extension",3,"item","mediaEntityData","multiple"],["type","file","data-sftest","fileInput",1,"-sf-visually-hidden"],["fileInput",""],["dropdown","true","look","circle small no-focus-visible","icon","cog","iconLook","size-xs","class","-sf-ml-auto",3,"iconTitle",4,"ngIf"],[1,"sf-placeholder",3,"ngClass"],[4,"ngTemplateOutlet"],[3,"componentData"],["loader",""],["dropdown","true","look","circle small no-focus-visible","icon","cog","iconLook","size-xs",1,"-sf-ml-auto",3,"iconTitle"],["dropdown","",1,"sf-dropdown"],["class","sf-dropdown__item","tabindex","0","role","option",3,"click",4,"ngFor","ngForOf"],["tabindex","0","role","option",1,"sf-dropdown__item",3,"click"]],template:function FilePreviewComponent_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,FilePreviewComponent_div_0_Template,2,4,"div",0),i["ɵɵtemplate"](1,FilePreviewComponent_ng_template_1_Template,2,1,"ng-template",null,1,i["ɵɵtemplateRefExtractor"]),i["ɵɵelementStart"](3,"div",2),i["ɵɵelement"](4,"sf-file-info",3),i["ɵɵelement"](5,"input",4,5),i["ɵɵtemplate"](7,FilePreviewComponent_sf_button_7_Template,3,2,"sf-button",6),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵreference"](2);i["ɵɵproperty"]("ngIf",t.mediaEntityData.metadata.isMultimedia)("ngIfElse",n),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction5"](7,_c3,t.multiple,t.isVideo,!t.multiple&&!t.mediaEntityData.metadata.isMultimedia,!t.multiple&&t.mediaEntityData.metadata.isMultimedia,t.editable&&t.mediaEntityData.metadata.isMultimedia)),i["ɵɵadvance"](1),i["ɵɵproperty"]("item",t.item)("mediaEntityData",t.mediaEntityData)("multiple",t.multiple),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",t.editOperations&&t.editOperations.length&&t.editable)}},directives:[f.NgIf,f.NgClass,u.FileInfoComponent,f.NgTemplateOutlet,d.SfDynamicComponentLoaderComponent,d.SfButtonComponent,f.NgForOf],encapsulation:2}),FilePreviewComponent}(l.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaHandler",(function(){return d})),n.d(t,"MEDIA_HANDLER",(function(){return p}));var o=n(11),i=n(1212),r=n(1211),a=n(1118),s=n(270),A=n(262),l=n(229),c={REPLACE_FILE:"Replace file",REPLACE_FILE_FOR_CURRENT_TRANSLATION:"Replace file for current translation"},d=function(){function MediaHandler(e,t){this.modalWindowService=e,this.http=t}return MediaHandler.prototype.canHandle=function(e){return!0},MediaHandler.prototype.executeOperation=function(e){switch(e.operationName){case c.REPLACE_FILE:case c.REPLACE_FILE_FOR_CURRENT_TRANSLATION:return this.handleReplaceFile(e)}},MediaHandler.prototype.getEditOperations=function(e,t,n){return void 0===t&&(t=!1),void 0===n&&(n=[]),n.length>1?Object.values(c):[c.REPLACE_FILE]},MediaHandler.prototype.handleReplaceFile=function(e){var t=this;this.replaceFile$=new o.ReplaySubject;var n=e.operationName===c.REPLACE_FILE_FOR_CURRENT_TRANSLATION,s={type:i.FilePickerComponent,properties:{multiple:!1,allowCreate:!0,skipUpload:!0,mediaEntityData:e.mediaDataItem,initialViewMode:r.FilePickerViewMode.Select,showTranslations:n}},l=new a.DialogData(s,(function(e){var o;if(e&&e.data){if(e.data.data&&!1===e.component.fromUpload){var i=e.data,r=i.data,a=i.culture,s=i.data.FileId?i.data.FileId:null,l=i.data.MediaContentId?i.data.MediaContentId:i.key;i.data.Cultures&&i.data.Cultures.length>0&&(a=i.data.Cultures[0]);var c=((o={})[A.QUERY_PARAMS.CULTURE]=a,o[A.QUERY_PARAMS.PROVIDER]=i.provider,o);t.http.get(i.metadata.setName+"("+l+")/$value",{responseType:"blob",params:c}).then((function(e){var o=s?"sf-fileId:"+s+r.Extension:r.Title+r.Extension,i=new File([e],o,{type:r.MimeType}),a=(r.MediaFileUrlName?r.MediaFileUrlName:r.Title)+r.Extension,A={files:[i],preserveFileName:n,originalFileNames:[a]};t.replaceFile$.next(A)}))}else if(e.data instanceof File&&e.component.fromUpload){var d={files:[e.data],preserveFileName:n};t.replaceFile$.next(d)}}else t.replaceFile$.next(null)}),[],"-prompt");return this.modalWindowService.setMapping(l,i.FILE_PICKER),this.modalWindowService.open(e.route,i.FILE_PICKER),this.replaceFile$.asObservable()},MediaHandler.ɵfac=function MediaHandler_Factory(e){return new(e||MediaHandler)(l["ɵɵinject"](a.ModalWindowService),l["ɵɵinject"](s.HttpODataRequestWrapper))},MediaHandler.ɵprov=l["ɵɵdefineInjectable"]({token:MediaHandler,factory:MediaHandler.ɵfac}),MediaHandler}(),p={provide:d,useClass:d,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"FileInfoComponent",(function(){return A}));var o=n(229),i=n(261),r=n(354),a=n(1414),s=n(1098);function FileInfoComponent_ng_container_0_div_1_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",4),o["ɵɵelement"](1,"sf-icon",5),o["ɵɵelement"](2,"sf-icon",6),o["ɵɵelementEnd"]())}function FileInfoComponent_ng_container_0_div_2_span_1_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span"),o["ɵɵtext"](1),o["ɵɵelementStart"](2,"span",8),o["ɵɵtext"](3,"•"),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"](3);o["ɵɵadvance"](1),o["ɵɵtextInterpolate2"](" ",n.item[n.widthProperty]," x ",n.item[n.heightProperty]," ")}}function FileInfoComponent_ng_container_0_div_2_span_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span"),o["ɵɵtext"](1),o["ɵɵpipe"](2,"sfFileSize"),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"](3);o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](o["ɵɵpipeBind1"](2,1,n.item[n.sizeProperty]))}}function FileInfoComponent_ng_container_0_div_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",7),o["ɵɵtemplate"](1,FileInfoComponent_ng_container_0_div_2_span_1_Template,4,2,"span",0),o["ɵɵtemplate"](2,FileInfoComponent_ng_container_0_div_2_span_2_Template,3,3,"span",0),o["ɵɵelementStart"](3,"span",8),o["ɵɵtext"](4,"•"),o["ɵɵelementEnd"](),o["ɵɵelementStart"](5,"span",9),o["ɵɵtext"](6),o["ɵɵpipe"](7,"sfExtension"),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"](2);o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!n.mediaEntityData.metadata.isVideo&&n.item[n.widthProperty]&&n.item[n.heightProperty]),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.item[n.sizeProperty]),o["ɵɵadvance"](4),o["ɵɵtextInterpolate"](o["ɵɵpipeBind1"](7,3,n.item[n.extensionProperty]))}}function FileInfoComponent_ng_container_0_sf_notification_3_span_1_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span"),o["ɵɵtext"](1),o["ɵɵelement"](2,"br"),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"](3);o["ɵɵadvance"](1),o["ɵɵtextInterpolate2"](" ",n.item[n.widthProperty]," x ",n.item[n.heightProperty]," ")}}function FileInfoComponent_ng_container_0_sf_notification_3_span_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"span",12),o["ɵɵtext"](1),o["ɵɵpipe"](2,"sfFileSize"),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"](3);o["ɵɵadvance"](1),o["ɵɵtextInterpolate"](o["ɵɵpipeBind1"](2,1,n.item[n.sizeProperty]))}}function FileInfoComponent_ng_container_0_sf_notification_3_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"sf-notification",10),o["ɵɵtemplate"](1,FileInfoComponent_ng_container_0_sf_notification_3_span_1_Template,3,2,"span",0),o["ɵɵtemplate"](2,FileInfoComponent_ng_container_0_sf_notification_3_span_2_Template,3,3,"span",11),o["ɵɵelementStart"](3,"span",9),o["ɵɵtext"](4),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"](2);o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.item[n.widthProperty]&&n.item[n.heightProperty]),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.item[n.sizeProperty]),o["ɵɵadvance"](2),o["ɵɵtextInterpolate"](n.item[n.extensionProperty])}}function FileInfoComponent_ng_container_0_Template(e,t){if(1&e&&(o["ɵɵelementContainerStart"](0),o["ɵɵtemplate"](1,FileInfoComponent_ng_container_0_div_1_Template,3,0,"div",1),o["ɵɵtemplate"](2,FileInfoComponent_ng_container_0_div_2_Template,8,5,"div",2),o["ɵɵtemplate"](3,FileInfoComponent_ng_container_0_sf_notification_3_Template,5,3,"sf-notification",3),o["ɵɵelementContainerEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.multiple),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!n.multiple),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",n.multiple)}}var A=function(){function FileInfoComponent(){this.sizeProperty="size",this.extensionProperty="extension",this.widthProperty="width",this.heightProperty="height"}return FileInfoComponent.ɵfac=function FileInfoComponent_Factory(e){return new(e||FileInfoComponent)},FileInfoComponent.ɵcmp=o["ɵɵdefineComponent"]({type:FileInfoComponent,selectors:[["sf-file-info"]],inputs:{multiple:"multiple",mediaEntityData:"mediaEntityData",item:"item",sizeProperty:"sizeProperty",extensionProperty:"extensionProperty",widthProperty:"widthProperty",heightProperty:"heightProperty"},decls:1,vars:1,consts:[[4,"ngIf"],["class","sf-icon-stack",4,"ngIf"],["class","-sf-txt-base",4,"ngIf"],["look","tooltip","class","sf-tooltip__content",4,"ngIf"],[1,"sf-icon-stack"],["name","info","look","size-3xs white",1,"sf-icon-stack__in"],["name","circle","look","size-l black",1,"sf-icon-stack__out"],[1,"-sf-txt-base"],[1,"-sf-pl-3xs","-sf-pr-3xs"],[1,"-sf-txt-upper-case"],["look","tooltip",1,"sf-tooltip__content"],["class","-sf-mr-4xs",4,"ngIf"],[1,"-sf-mr-4xs"]],template:function FileInfoComponent_Template(e,t){1&e&&o["ɵɵtemplate"](0,FileInfoComponent_ng_container_0_Template,4,3,"ng-container",0),2&e&&o["ɵɵproperty"]("ngIf",t.mediaEntityData.metadata.isMultimedia)},directives:[i.NgIf,r.SfIconComponent,r.SfNotificationComponent],pipes:[a.ExtensionPipe,s.FileSizePipe],encapsulation:2}),FileInfoComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MEDIA_REGISTRY",(function(){return f})),n.d(t,"EDIT_IMAGE_THUMBNAIL_REGISTRY",(function(){return u})),n.d(t,"THUMBNAIL_SELECTOR_REGISTRY",(function(){return m})),n.d(t,"MEDIA_FIELD_REGISTRY",(function(){return g})),n.d(t,"EDIT_IMAGE_MARGINS_REGISTRY",(function(){return E}));var o=n(1717),i=n(1439),r=n(1726),a=n(1727),s=n(1728),A=n(1528),l=n(1729),c=n(332),d=n(1731),p=n(1732),f={writeComponent:o.MediaComponent,readComponent:a.MediaReadonlyComponent,gridComponent:l.MediaGridComponent,settingsType:i.MediaSettings},u={writeComponent:r.EditImageThumbnailComponent,settingsType:c.SettingsBase},m={writeComponent:d.ThumbnailSelectorComponent,settingsType:d.ThumnailSelectorSettings},g={writeComponent:s.FilePreviewEditComponent,readComponent:s.FilePreviewEditComponent,settingsType:A.FilePreviewEditSettings},E={writeComponent:p.EditImageMarginsComponent,settingsType:c.SettingsBase}},function(e,t,n){"use strict";n.r(t),n.d(t,"INITIAL_VIDEO_ROWS",(function(){return F})),n.d(t,"INITIAL_IMAGE_ROWS",(function(){return O})),n.d(t,"MediaComponent",(function(){return P}));var o=n(259),i=n(256),r=n(229),a=n(1718),s=n(1118),A=n(260),l=n(1228),c=n(1207),d=n(312),p=n(352),f=n(1212),u=n(1114),m=n(1211),g=n(361),E=n(246),h=n(342),b=n(245),C=n(317),B=n(1722),k=n(369),I=n(244),v=n(1153),w=n(1139),_=n(131),x=n(261),y=n(354),S=n(1113),T=n(1723),M=n(1724),D=n(1715),Q=n(417),N=n(1181),R=["wrapper"];function MediaComponent_div_2_div_2_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",12),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.mediaData.thumbnailTitle)}}function MediaComponent_div_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",9),r["ɵɵlistener"]("click",(function MediaComponent_div_2_Template_div_click_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onChangeClick(e)})),r["ɵɵelement"](1,"sf-icon",10),r["ɵɵtemplate"](2,MediaComponent_div_2_div_2_Template,2,1,"div",11),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵclassProp"]("-small",o.multiple&&!o.isVideo),r["ɵɵadvance"](1),r["ɵɵproperty"]("name",o.mediaData.thumbnailIconName),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.mediaData.thumbnailTitle)}}function MediaComponent_div_3_ng_container_1_ng_container_1_ng_container_1_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}var _c1=function(e){return{Title:e}},_c2=function(e){return[e]},_c3=function(e){return{selectedChips:e}};function MediaComponent_div_3_ng_container_1_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,MediaComponent_div_3_ng_container_1_ng_container_1_ng_container_1_Template,1,0,"ng-container",15),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]().index,o=r["ɵɵnextContext"](2),i=r["ɵɵreference"](10);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",i)("ngTemplateOutletContext",r["ɵɵpureFunction1"](6,_c3,r["ɵɵpureFunction1"](4,_c2,r["ɵɵpureFunction1"](2,_c1,o.mediaItems[n-o.uploads.length].Title))))}}function MediaComponent_div_3_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,MediaComponent_div_3_ng_container_1_ng_container_1_Template,2,8,"ng-container",5),r["ɵɵelementContainerEnd"]()),2&e){var n=t.index,o=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!o.uploads[n]&&o.mediaItems[n-o.uploads.length])}}function MediaComponent_div_3_ng_container_2_ng_container_1_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}var _c4=function(){return{selectedChips:null}};function MediaComponent_div_3_ng_container_2_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,MediaComponent_div_3_ng_container_2_ng_container_1_Template,1,0,"ng-container",15),r["ɵɵelementContainerEnd"]()),2&e){r["ɵɵnextContext"](2);var n=r["ɵɵreference"](10);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",n)("ngTemplateOutletContext",r["ɵɵpureFunction0"](2,_c4))}}var _c5=function(e){return{"sf-media__chip -sf-pull-left -sf-pr-4xs":e}};function MediaComponent_div_3_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",13),r["ɵɵtemplate"](1,MediaComponent_div_3_ng_container_1_Template,2,1,"ng-container",14),r["ɵɵtemplate"](2,MediaComponent_div_3_ng_container_2_Template,2,3,"ng-container",5),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](4,_c5,n.settings.chipLike)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.mediaLayout.boxes)("ngForTrackBy",n.boxIdentity),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.uploads.length&&!n.uploads[0].failure&&!n.uploads[0].success)}}var _c6=function(e){return{"-failure":e}};function MediaComponent_ul_4_ng_container_1_div_2_progress_2_Template(e,t){if(1&e&&r["ɵɵelement"](0,"progress",25),2&e){var n=r["ɵɵnextContext"](2).index,o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](3,_c6,o.uploads[n].failure))("max",o.uploads[n].total)("value",o.uploads[n].loaded)}}function MediaComponent_ul_4_ng_container_1_div_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",21),r["ɵɵelement"](1,"sf-component-loader",22),r["ɵɵtemplate"](2,MediaComponent_ul_4_ng_container_1_div_2_progress_2_Template,1,5,"progress",23),r["ɵɵelementStart"](3,"sf-button",24),r["ɵɵlistener"]("onClick",(function MediaComponent_ul_4_ng_container_1_div_2_Template_sf_button_onClick_3_listener(){r["ɵɵrestoreView"](n);var e=r["ɵɵnextContext"]().index,t=r["ɵɵnextContext"](2);return t.onRemoveUploadClick(t.uploads[e])})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]().index,i=r["ɵɵnextContext"](2);r["ɵɵclassProp"]("-small",i.multiple&&!i.isVideo),r["ɵɵadvance"](1),r["ɵɵproperty"]("componentData",i.getMediaComponentData(o)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",i.uploads[o].loaded),r["ɵɵadvance"](1),r["ɵɵproperty"]("ariaLabel","Remove "+i.uploads[o].Title)}}var _c7=function(e){return{"-dimmed":e}};function MediaComponent_ul_4_ng_container_1_div_3_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",26),r["ɵɵlistener"]("click",(function MediaComponent_ul_4_ng_container_1_div_3_Template_div_click_0_listener(){r["ɵɵrestoreView"](n);var e=r["ɵɵnextContext"]().index,t=r["ɵɵnextContext"](2);return t.onThumbnailClick(t.mediaItems[e-t.uploads.length])})),r["ɵɵelementStart"](1,"sf-thumbnail",27),r["ɵɵlistener"]("dragstart",(function MediaComponent_ul_4_ng_container_1_div_3_Template_sf_thumbnail_dragstart_1_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"]().index,o=r["ɵɵnextContext"](2);return o.onDragStart(t,o.settings.name,e)}))("dragend",(function MediaComponent_ul_4_ng_container_1_div_3_Template_sf_thumbnail_dragend_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](3).onDragEnd(e)}))("dragover",(function MediaComponent_ul_4_ng_container_1_div_3_Template_sf_thumbnail_dragover_1_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"](),o=t.index,i=t.$implicit,a=r["ɵɵnextContext"](2);return a.onDragOver(o,a.settings.name,i.width,e)}))("drop",(function MediaComponent_ul_4_ng_container_1_div_3_Template_sf_thumbnail_drop_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](3).onDragEnd(e)}))("removeButtonClicked",(function MediaComponent_ul_4_ng_container_1_div_3_Template_sf_thumbnail_removeButtonClicked_1_listener(e){r["ɵɵrestoreView"](n);var t=r["ɵɵnextContext"]().index,o=r["ɵɵnextContext"](2);return o.onRemoveMediaClick(e,o.mediaItems[t-o.uploads.length])})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]().index,i=r["ɵɵnextContext"](2);r["ɵɵclassProp"]("-sf-clickable",!i.settings.openPickerWhenEmpty)("-small",i.multiple&&!i.isVideo),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](26,_c7,!i.mediaItems[o-i.uploads.length].isTranslated)),r["ɵɵadvance"](1),r["ɵɵproperty"]("look",i.thumbnailLook)("draggable",i.multiple&&i.mediaItems.length>1)("showRemoveButton",i.settings.allowRemove&&!i.settings.openPickerWhenEmpty)("removeButtonAreaLabel","Remove "+i.mediaItems[o-i.uploads.length].Title)("alt",i.mediaItems[o-i.uploads.length].AlternativeText)("selectable",!1)("hasTooltip",!i.settings.openPickerWhenEmpty)("width",i.mediaItems[o-i.uploads.length].Width)("height",i.mediaItems[o-i.uploads.length].Height)("title",i.mediaItems[o-i.uploads.length].Title)("library",i.mediaItems[o-i.uploads.length].LibraryTitle)("lockedStatus",i.mediaItems[o-i.uploads.length].LockedStatus)("status",i.mediaItems[o-i.uploads.length].DisplayStatus)("src",i.mediaItems[o-i.uploads.length][i.previewUrl])("customThumbnailUrl",i.mediaItems[o-i.uploads.length].ThumbnailUrl)("extension",i.mediaItems[o-i.uploads.length].Extension)("type",i.mediaItems[o-i.uploads.length].MimeType)("isMultimedia",i.mediaData.mediaEntityData.metadata.isMultimedia)("isVideo",i.isVideo)("dimNotTranslated",!i.mediaItems[o-i.uploads.length].isTranslated),r["ɵɵattribute"]("class",i.thumbnailWrapperClass)}}function MediaComponent_ul_4_ng_container_1_ng_container_4_ng_container_1_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}var _c8=function(){return{leftStyle:0}},_c9=function(e){return{leftStyle:e}};function MediaComponent_ul_4_ng_container_1_ng_container_4_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,MediaComponent_ul_4_ng_container_1_ng_container_4_ng_container_1_Template,1,0,"ng-container",15),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]().$implicit,o=r["ɵɵreference"](6),i=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext","before"==i.direction?r["ɵɵpureFunction0"](2,_c8):r["ɵɵpureFunction1"](3,_c9,n.width))}}function MediaComponent_ul_4_ng_container_1_ng_template_5_Template(e,t){if(1&e&&(r["ɵɵtext"](0),r["ɵɵelement"](1,"sf-media-reorder-drop",28)),2&e){var n=t.leftStyle,o=r["ɵɵnextContext"]().$implicit,i=r["ɵɵnextContext"](2);r["ɵɵtextInterpolate1"](" ",i.mediaItems[i.dragIndex-i.uploads.length].Width>i.mediaItems[i.dragIndex-i.uploads.length].Height," "),r["ɵɵadvance"](1),r["ɵɵproperty"]("styleLeftPx",n)("styleHeightPx",o.height)("dataItem",i.mediaItems[i.dragIndex-i.uploads.length])("icon",i.isVideo&&!i.mediaItems[i.dragIndex-i.uploads.length].ThumbnailUrl?"film":null)}}var _c10=function(e){return{"-static":e}};function MediaComponent_ul_4_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"li",17),r["ɵɵtemplate"](2,MediaComponent_ul_4_ng_container_1_div_2_Template,4,5,"div",18),r["ɵɵtemplate"](3,MediaComponent_ul_4_ng_container_1_div_3_Template,2,28,"div",19),r["ɵɵtemplate"](4,MediaComponent_ul_4_ng_container_1_ng_container_4_Template,2,5,"ng-container",5),r["ɵɵtemplate"](5,MediaComponent_ul_4_ng_container_1_ng_template_5_Template,2,5,"ng-template",null,20,r["ɵɵtemplateRefExtractor"]),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.index,i=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵstyleProp"]("width",i.settings.openPickerWhenEmpty?null:n.width,"px")("height",i.settings.openPickerWhenEmpty?null:n.height,"px")("top",i.settings.openPickerWhenEmpty?null:n.top,"px")("left",i.settings.openPickerWhenEmpty?null:n.left,"px"),r["ɵɵclassProp"]("-video",i.isVideo),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](14,_c10,i.settings.openPickerWhenEmpty)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",i.uploads[o]),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!i.uploads[o]&&i.mediaItems[o-i.uploads.length]&&(i.multiple||!i.uploads.length)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",i.dropIndex==o)}}function MediaComponent_ul_4_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"ul",16),r["ɵɵtemplate"](1,MediaComponent_ul_4_ng_container_1_Template,7,16,"ng-container",14),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵstyleProp"]("height",n.settings.openPickerWhenEmpty?null:n.mediaLayout.containerHeight,"px"),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.mediaLayout.boxes)("ngForTrackBy",n.boxIdentity)}}function MediaComponent_div_5_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div"),r["ɵɵelementStart"](1,"sf-file-tree",29),r["ɵɵlistener"]("onItemsChange",(function MediaComponent_div_5_Template_sf_file_tree_onItemsChange_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onItemsChange(e)}))("onItemsAdd",(function MediaComponent_div_5_Template_sf_file_tree_onItemsAdd_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onItemsAdd(e)}))("onItemsRemove",(function MediaComponent_div_5_Template_sf_file_tree_onItemsRemove_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onItemsRemove(e)}))("reorderNodes",(function MediaComponent_div_5_Template_sf_file_tree_reorderNodes_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().handleReorderedNodes(e)})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("useOnlyUploadMode",o.settings.useOnlyUploadMode)("useOnlySelectMode",o.settings.useOnlySelectMode)("targetLibraryId",o.settings.targetLibraryId)("sourceLibraryId",o.settings.sourceLibraryId)("settings",o.settings)("mediaEntityData",o.mediaData.mediaEntityData)("hidden",!o.allItems)("items",o.allItems)("fieldName",o.uniqueName)("multiple",o.multiple)}}function MediaComponent_div_6_a_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"a",32),r["ɵɵlistener"]("click",(function MediaComponent_div_6_a_1_Template_a_click_0_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onShowAllMediaItemsClick()}))("keyup.enter",(function MediaComponent_div_6_a_1_Template_a_keyup_enter_0_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onShowAllMediaItemsClick()})),r["ɵɵtext"](1),r["ɵɵpipe"](2,"lowercase"),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵtextInterpolate2"]("",o.hiddenMediaItems," more ",r["ɵɵpipeBind1"](2,2,o.mediaData.typeNameSingleCapitalized),"")}}function MediaComponent_div_6_a_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"a",32),r["ɵɵlistener"]("click",(function MediaComponent_div_6_a_2_Template_a_click_0_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onShowAllMediaItemsClick()}))("keyup.enter",(function MediaComponent_div_6_a_2_Template_a_keyup_enter_0_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onShowAllMediaItemsClick()})),r["ɵɵtext"](1),r["ɵɵpipe"](2,"lowercase"),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵtextInterpolate2"]("",o.hiddenMediaItems," more ",r["ɵɵpipeBind1"](2,2,o.mediaData.typeNamePlural),"")}}function MediaComponent_div_6_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",30),r["ɵɵtemplate"](1,MediaComponent_div_6_a_1_Template,3,4,"a",31),r["ɵɵtemplate"](2,MediaComponent_div_6_a_2_Template,3,4,"a",31),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",1==n.hiddenMediaItems),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.hiddenMediaItems>1)}}function MediaComponent_div_7_ng_container_1_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",12),r["ɵɵelement"](1,"sf-file-info",35),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().index,o=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("item",o.mediaItems[n-o.uploads.length])("mediaEntityData",o.mediaData.mediaEntityData)("multiple",o.multiple)}}function MediaComponent_div_7_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,MediaComponent_div_7_ng_container_1_div_1_Template,2,3,"div",11),r["ɵɵelementContainerEnd"]()),2&e){var n=t.index,o=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",(o.mediaItems.length||o.uploads.length)&&o.settings.openPickerWhenEmpty&&o.mediaItems[n-o.uploads.length]&&!o.uploads.length)}}function MediaComponent_div_7_ng_container_2_div_1_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",37),r["ɵɵtext"](1,"Uploading ..."),r["ɵɵelementEnd"]())}var _c11=function(e){return{"-sf-ml-auto":e}};function MediaComponent_div_7_ng_container_2_ng_container_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"div",38),r["ɵɵtext"](2),r["ɵɵpipe"](3,"sfSanitizer"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](4,"sf-button",39),r["ɵɵlistener"]("onClick",(function MediaComponent_div_7_ng_container_2_ng_container_2_Template_sf_button_onClick_4_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](3).onChangeClick(e)})),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()}if(2&e){var o=r["ɵɵnextContext"](3);r["ɵɵadvance"](2),r["ɵɵtextInterpolate1"](" ",r["ɵɵpipeBind2"](3,3,o.uploadErrors[0],"html")," "),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](6,_c11,o.settings.openPickerWhenEmpty))("ariaLabel","Edit "+o.mediaData.mediaEntityData.metadata.singularName.toLowerCase())}}function MediaComponent_div_7_ng_container_2_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,MediaComponent_div_7_ng_container_2_div_1_Template,2,0,"div",36),r["ɵɵtemplate"](2,MediaComponent_div_7_ng_container_2_ng_container_2_Template,5,8,"ng-container",5),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.uploads[0].failure&&!n.uploads[0].success&&!n.settings.chipLike),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.uploads[0].failure)}}function MediaComponent_div_7_sf_button_3_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-button",40),r["ɵɵlistener"]("onClick",(function MediaComponent_div_7_sf_button_3_Template_sf_button_onClick_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onChangeClick(e)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](4,_c11,o.settings.openPickerWhenEmpty))("icon",o.mediaItems.length?"pencil":"plus")("title",o.mediaItems.length?"Edit":o.settings.selectButtonText||"Select")("ariaLabel",(o.mediaItems.length?"Edit ":"Select ")+o.mediaData.mediaEntityData.metadata.singularName.toLowerCase())}}var _c12=function(e){return{"sf-row":e}};function MediaComponent_div_7_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",13),r["ɵɵtemplate"](1,MediaComponent_div_7_ng_container_1_Template,2,1,"ng-container",33),r["ɵɵtemplate"](2,MediaComponent_div_7_ng_container_2_Template,3,2,"ng-container",5),r["ɵɵtemplate"](3,MediaComponent_div_7_sf_button_3_Template,1,6,"sf-button",34),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](4,_c12,n.settings.openPickerWhenEmpty)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.mediaLayout.boxes),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.uploads.length),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.uploads.length&&n.settings.allowAdd&&n.settings.allowRemove)}}function MediaComponent_div_8_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",38),r["ɵɵtext"](1),r["ɵɵpipe"](2,"sfSanitizer"),r["ɵɵelementEnd"]()),2&e){var n=t.$implicit;r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](r["ɵɵpipeBind2"](2,1,n,"html"))}}function MediaComponent_div_8_sf_button_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-button",43),r["ɵɵlistener"]("onClick",(function MediaComponent_div_8_sf_button_2_Template_sf_button_onClick_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onChangeClick(e)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("title",o.settings.selectButtonText||"Select")("ariaLabel","Select "+o.mediaData.mediaEntityData.metadata.setName)}}function MediaComponent_div_8_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵtemplate"](1,MediaComponent_div_8_div_1_Template,3,4,"div",41),r["ɵɵtemplate"](2,MediaComponent_div_8_sf_button_2_Template,1,2,"sf-button",42),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.uploadErrors),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.settings.allowAdd&&n.settings.allowRemove)}}function MediaComponent_ng_template_9_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-chips",44),2&e){var n=t.selectedChips;r["ɵɵproperty"]("isReadOnly",!0)("isRemovable",!1)("isLoading",!0)("selectedChips",n)}}function MediaComponent_ng_template_11_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",45),r["ɵɵelement"](1,"sf-icon",46),r["ɵɵelementEnd"]())}var _c13=function(e){return{"-sf-clearfix sf-row -align-items-center":e}},F=1,O=2,P=function(e){function MediaComponent(t,n,o,i,r,a,s,A,l,c,d,p){var f,u=e.call(this,l,c)||this;return u.mediaDataFactory=t,u.modalService=n,u.route=o,u.layoutService=i,u.store=r,u.sanitizer=a,u.mediaRecognizerService=s,u.changeDetector=A,u.editNavigationService=d,u.siteDataStore=p,u.allItems=[],u.mediaLayout={boxes:[]},u.uploadLayout={boxes:[]},u.allowedProviders=[],u.errors=((f={})[h.VALIDATOR_MESSAGES.UPLOAD_FAILED]=!0,f),u.uploadErrors=[],u.skipDragScrollZones=!0,u.showAllMediaItems=!1,u.componentDataCache=new Map,u.processedPendingItemsCount=0,u}return Object(o.__extends)(MediaComponent,e),Object.defineProperty(MediaComponent.prototype,"multiple",{get:function(){return!!this.settings&&this.settings.allowMultiple},enumerable:!1,configurable:!0}),Object.defineProperty(MediaComponent.prototype,"hiddenMediaItems",{get:function(){return this.mediaItems.length-this.mediaLayout.boxes.length},enumerable:!1,configurable:!0}),MediaComponent.prototype.onWindowScroll=function(t){e.prototype.onWindowScroll.call(this,t)},MediaComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.mediaData=this.mediaDataFactory.create(this.settings.type,this.settings.provider,this.settings.culture,this.settings.acceptableMediaTypes,this.settings.acceptableFileTypes,this.settings.mediaFilterEnabled,this.settings.maxSize),this.store.clearUploads();var n=this.store.uploads.subscribe((function(e){t.onUpload(e.items,e.uploadFieldState)}));this.registerSubscription(n),this.recalculateLayout(),this.isMultimedia=this.settings.type!==i.MEDIA_TYPES.DOCUMENT,this.isVideo=this.settings.type===i.MEDIA_TYPES.VIDEO,this.settings&&this.settings.type&&this.mediaData&&(this.previewUrl=this.settings.openPickerWhenEmpty?"Url":this.mediaRecognizerService.getPreviewUrlProperty(this.mediaData.mediaEntityData.metadata.setName)),this.isMultimedia&&(this.settings.openPickerWhenEmpty?this.thumbnailLook="svg":(this.thumbnailWrapperClass="sf-media__stretched",this.thumbnailLook="stretched")),this.uniqueName=""+this.settings.name+(this.settings.dataItem?this.settings.dataItem.key:Object(b.guid)()),this.siteDataStore.getAllowedProviders(this.mediaData.mediaEntityData.metadata.setName).subscribe((function(e){t.allowedProviders=e})),!this.settings||!this.settings.openPickerWhenEmpty||this.value&&0!==this.value.length||this.onChangeClick(null)},MediaComponent.prototype.ngAfterContentChecked=function(){0===this.mediaLayout.boxes.length&&this.mediaItems.length>0&&this.recalculateLayout()},MediaComponent.prototype.ngOnDestroy=function(){var t=this;e.prototype.ngOnDestroy.call(this),this.openWindowSubscription&&this.openWindowSubscription.unsubscribe(),this.focus$.pipe(Object(_.first)()).subscribe((function(e){e&&t.modalService.close(t.route)}))},MediaComponent.prototype.sanitize=function(e){return this.sanitizer.bypassSecurityTrustUrl(e)},MediaComponent.prototype.writeValue=function(t){var n=this;t||(t=[]),Array.isArray(t)?t.forEach((function(e){n.markTranslated(e),n.setProviderFromServer(e)})):(this.markTranslated(t),this.setProviderFromServer(t)),e.prototype.writeValue.call(this,t),this.mediaItems=Array.isArray(t)?t:[t],this.updateAllItems(),setTimeout((function(){n.recalculateLayout()}))},MediaComponent.prototype.getRequiredErrorMessage=function(){return this.status$.getValue().type===p.StatusType.Pending?[]:[g.SelectorConstants.SELECT_BUTTON+" "+this.mediaData.typeNameSingleCapitalized]},MediaComponent.prototype.onUpload=function(e,t){var n=this,o=[];e.filter((function(e){return e.key===n.uniqueName})).forEach((function(e,t){n.emitStatus({type:p.StatusType.Pending});var i=e.upload,r=i.success,a=i.result;if((e.upload.success||e.upload.failure)&&(n.processedPendingItemsCount+=1),r){if(n.mediaItems.findIndex((function(e){return e.Id===a.Id}))<0){Object.defineProperty(a,"index",{value:t,enumerable:!1});var s=n.mediaItems.concat(a);s.sort((function(e,t){return void 0!==e.index?void 0!==t.index?e.index-t.index:-1:void 0!==t.index?1:0})),n.writeValue(s),n.store.removeFile(n.mediaData.mediaEntityData,e.upload)}}else o.push(e.upload),e.upload.failure&&n.emitStatus({type:p.StatusType.Error,data:n.errors});n.uploadErrors=n.getUploadErrors()})),this.uploads=o,!this.multiple&&this.uploads.length&&this.mediaItems.length&&this.writeValue([]),this.updateAllItems(),this.recalculateLayout(),this.handleFocus(!1),t.fieldName===this.uniqueName&&this.processedPendingItemsCount===t.uploadedItemsCount&&(this.emitStatus({type:p.StatusType.Done}),this.resetProcessedPendingItemsCount())},MediaComponent.prototype.onRemoveMediaClick=function(e,t){e.preventDefault(),e.stopImmediatePropagation();var n=this.mediaItems.filter((function(e){return e.Id!==t.Id}));this.writeValue(n),this.handleFocus(!1)},MediaComponent.prototype.onRemoveUploadClick=function(e){this.store.removeFile(this.mediaData.mediaEntityData,e),this.handleFocus(!1),this.uploadErrors=this.getUploadErrors(),e.failure&&!this.uploadErrors.length&&this.emitStatus({type:p.StatusType.ErrorCleared,data:this.errors})},MediaComponent.prototype.onChangeClick=function(e){var t=this;if(e&&e.preventDefault(),this.onTouchedCallback(),!this.isEmptyMultimedia||this.settings.allowAdd){var n;this.multiple||(n=this.uploads[0]||this.mediaItems[0]);var o={type:f.FilePickerComponent,properties:{multiple:this.multiple,value:this.mediaItems?this.mediaItems.slice(0).map((function(e){return C.DataItem.from(e,t.mediaData.mediaEntityData.metadata,e.provider,t.mediaData.mediaEntityData.culture)})):[],name:this.uniqueName,useLiveData:this.settings.useLiveData,allowCreate:this.settings.allowCreate,mediaEntityData:{metadata:this.mediaData.mediaEntityData.metadata.clone(),provider:this.mediaData.mediaEntityData.provider,culture:this.mediaData.mediaEntityData.culture},initialViewMode:this.getFilePickerComponentInitialViewMode(),sourceLibraryId:this.settings.sourceLibraryId,targetLibraryId:this.settings.targetLibraryId,useOnlySelectMode:this.settings.useOnlySelectMode}},i=this.allowedProviders.filter((function(e){return e!==E.ANY_SITE_SOURCE_PROVIDER&&e!==E.DEFAULT_SITE_SOURCE_PROVIDER})).length;this.settings.provider===E.ANY_SITE_SOURCE_PROVIDER&&(i>1||this.allowedProviders[0]===E.stringConstants.ASTERISK)&&(o.properties.showProviderSelector=!0);var r=new s.DialogData(o,(function(e){if(e&&e.data){n&&(t.uploads.pop(),t.mediaItems.pop(),t.store.removeFile(t.mediaData.mediaEntityData,n));var o=[];if(Array.isArray(e.data))o=e.data.map((function(e){var t=Object(b.cloneObject)(e.data);return t.provider=e.provider,t}));else{var i=Object(b.cloneObject)(e.data.data);i.provider=e.data.provider,o=[i]}t.mediaItems=o,t.writeValue(o)}else!t.settings.openPickerWhenEmpty||t.value&&0!==t.value.length||t.uploads&&0!==t.uploads.length||t.modalService.close(t.route);t.handleFocus(!1)}),[],"-prompt");this.modalService.setMapping(r,f.FILE_PICKER),this.modalService.open(this.route,f.FILE_PICKER),this.handleFocus(!0)}},MediaComponent.prototype.onRetryClick=function(){var e=this;this.uploads.forEach((function(t){t.failure&&e.retry(t)}))},MediaComponent.prototype.onShowAllMediaItemsClick=function(){this.showAllMediaItems=!0,this.recalculateLayout()},MediaComponent.prototype.retry=function(e){this.store.retryFile(this.mediaData.mediaEntityData,e)},MediaComponent.prototype.uploadFailed=function(){return this.uploads&&this.uploads.some((function(e){return e.failure}))},MediaComponent.prototype.onThumbnailClick=function(e){var t=this,n=e.provider,o=C.DataItem.from(e,this.mediaData.mediaEntityData.metadata,n,this.settings.culture),i={filedName:this.settings.key,settings:{allowedFileExtensions:this.settings.acceptableFileTypes,maximumAllowedSize:this.settings.maxSize,acceptableMediaTypes:this.settings.acceptableMediaTypes}};this.editNavigationService.openDialogForRelatedDataAndLoadFieldData(this.mediaItems.map((function(e){return e.Id})),o,this.route,i,!1,null).subscribe((function(e){var n=e[0],o={},i=t.value.findIndex((function(e){return e.Id===n.Id})),r=Object(b.cloneObject)(t.value);Object.assign(o,t.value[i],n),r.splice(i,1,o),t.writeValue(r)}))},MediaComponent.prototype.onItemsAdd=function(e){var t=this,n=e.filter((function(e){return!t.mediaItems.find((function(t){return t.Id===e.Id}))}));this.multiple||(this.mediaItems.length=0);var o=this.mediaItems.concat(n);this.writeValue(o)},MediaComponent.prototype.onItemsChange=function(e){this.writeValue(e)},MediaComponent.prototype.onItemsRemove=function(e){for(var t=this.mediaItems.slice(0),n=0,o=e;n-1?t.splice(r,1):this.onRemoveUploadClick(i.Upload)}this.writeValue(t)},MediaComponent.prototype.boxIdentity=function(e){return e},MediaComponent.prototype.getMediaComponentData=function(e){var t=this.uploads[e];if(!this.componentDataCache.has(t.id)){var n={src:t.dataUrl,alt:t.AlternativeText,type:t.contentType,name:t.name,size:t.total,isMultimedia:this.isMultimedia,isVideo:this.isVideo},o=this.mediaRecognizerService.getComponentData(n);this.componentDataCache.set(t.id,o)}return this.componentDataCache.get(t.id)},MediaComponent.prototype.getWarnings=function(){return this.settings.mediaFilterEnabled&&0===this.settings.acceptableMediaTypes.length?["File types allowed for this field do not match the ones set for Libraries in Advanced settings."]:this.settings.allowView?!(this.allowedProviders.length>0)||this.isCurrentProviderDisabled()?[E.CONTENT_SOURCE_NOT_AVAILABLE_WARNING]:e.prototype.getWarnings.call(this):[this.getNoPermissionMessage(this.settings.type)]},MediaComponent.prototype.handleReorderedNodes=function(e){this.writeValue(e)},MediaComponent.prototype.recalculateLayout=function(){var e=this.wrapper.nativeElement.offsetWidth;if(e>0){var t=this.uploads.concat(this.mediaItems),n=this.multiple&&!this.isVideo?l.DEFAULT_SMALL_BOX_HEIGHT:l.DEFAULT_BOX_HEIGHT,o=this.layoutService.layout(this.uploads,e,n,5,Number.POSITIVE_INFINITY,this.mediaData.mediaEntityData.metadata),r=Math.max(0,Math.floor(o.containerHeight/n)),a=(this.mediaData.mediaEntityData.metadata.setName===i.ENTITY_SET.VIDEOS?F:O)+r,s=this.showAllMediaItems?1/0:a;this.mediaLayout=this.layoutService.layout(t,e,n,5,s,this.mediaData.mediaEntityData.metadata),this.changeDetector.detectChanges()}},MediaComponent.prototype.setProviderFromServer=function(e){e.Provider&&(e.provider=e.Provider,delete e.Provider)},MediaComponent.prototype.isCurrentProviderDisabled=function(){return this.settings.provider&&-1===this.allowedProviders.indexOf(this.settings.provider)&&this.settings.provider!==E.ANY_SITE_SOURCE_PROVIDER},Object.defineProperty(MediaComponent.prototype,"isEmptyMultimedia",{get:function(){return this.isMultimedia&&(!this.allItems.length||!this.mediaItems.length)&&!this.uploads.length},enumerable:!1,configurable:!0}),MediaComponent.prototype.getUploadErrors=function(){var e=Array();return this.uploads&&this.uploads.forEach((function(t){t.failure&&!e.find((function(e){return e===t.errorMessage}))&&e.push(t.errorMessage)})),e},MediaComponent.prototype.resetProcessedPendingItemsCount=function(){this.processedPendingItemsCount=0},MediaComponent.prototype.mapUpload=function(e){var t={Title:e.data.Title,Failure:e.failure,Loaded:0,Upload:e};return 0!==e.total&&(t.Loaded=(100*e.loaded/e.total).toFixed(0)),t},MediaComponent.prototype.updateAllItems=function(){var e=this;this.allItems=this.mediaItems.concat(this.uploads.map(this.mapUpload)).map((function(t){return e.markTranslated(t)}))},MediaComponent.prototype.markTranslated=function(e){var t=this.settings.culture||this.route.snapshot.data.itemData&&this.route.snapshot.data.itemData.entityData.culture||this.route.snapshot.data.dynamicItems.culture,n=!e.AvailableLanguages||e.AvailableLanguages.some((function(e){return e===t}));return e.isTranslated=n,e},MediaComponent.prototype.handleFocus=function(e){e?this.onFocus():this.onBlur()},MediaComponent.prototype.getFilePickerComponentInitialViewMode=function(){var e=!this.settings.allowCreate||this.mediaItems&&this.mediaItems.length>0;return this.settings.useOnlyUploadMode?m.FilePickerViewMode.Upload:e||this.settings.useOnlySelectMode?m.FilePickerViewMode.Select:null},MediaComponent.ɵfac=function MediaComponent_Factory(e){return new(e||MediaComponent)(r["ɵɵdirectiveInject"](a.MediaDataFactory),r["ɵɵdirectiveInject"](s.ModalWindowService),r["ɵɵdirectiveInject"](A.ActivatedRoute),r["ɵɵdirectiveInject"](l.LayoutService),r["ɵɵdirectiveInject"](c.LibraryStore),r["ɵɵdirectiveInject"](d.DomSanitizer),r["ɵɵdirectiveInject"](u.MediaRecognizerService),r["ɵɵdirectiveInject"](r.ChangeDetectorRef),r["ɵɵdirectiveInject"](k.ScrollService),r["ɵɵdirectiveInject"](I.WINDOW_TOKEN),r["ɵɵdirectiveInject"](v.EditNavigationService),r["ɵɵdirectiveInject"](w.SiteDataStore))},MediaComponent.ɵcmp=r["ɵɵdefineComponent"]({type:MediaComponent,selectors:[["sf-media"]],viewQuery:function MediaComponent_Query(e,t){if(1&e&&r["ɵɵviewQuery"](R,3),2&e){var n;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.wrapper=n.first)}},hostBindings:function MediaComponent_HostBindings(e,t){1&e&&r["ɵɵlistener"]("scroll",(function MediaComponent_scroll_HostBindingHandler(e){return t.onWindowScroll(e)}),!1,r["ɵɵresolveWindow"])("resize",(function MediaComponent_resize_HostBindingHandler(){return t.recalculateLayout()}),!1,r["ɵɵresolveWindow"])},features:[r["ɵɵInheritDefinitionFeature"]],decls:13,vars:10,consts:[[1,"sf-input",3,"ngClass"],["wrapper",""],["class","sf-media -empty -sf-mb-3xs -sf-clickable",3,"-small","click",4,"ngIf"],[3,"ngClass",4,"ngIf"],["class","sf-flickr-gallery -sf-mb-3xs",3,"height",4,"ngIf"],[4,"ngIf"],["class","-sf-mb-3xs",4,"ngIf"],["chipLike",""],["videoIcon",""],[1,"sf-media","-empty","-sf-mb-3xs","-sf-clickable",3,"click"],["look","lighter size-4xl sf-mr-zero",3,"name"],["class","-sf-txt-hint",4,"ngIf"],[1,"-sf-txt-hint"],[3,"ngClass"],[4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"sf-flickr-gallery","-sf-mb-3xs"],[1,"sf-flickr-gallery__item",3,"ngClass"],["class","sf-media -upload-progress sf-placeholder",3,"-small",4,"ngIf"],[3,"-sf-clickable","-small","ngClass","click",4,"ngIf"],["dropZoneTemplate",""],[1,"sf-media","-upload-progress","sf-placeholder"],[3,"componentData"],["class","sf-media__progress -absolute","min","0",3,"ngClass","max","value",4,"ngIf"],["look","circle small","icon","times","title","Remove",1,"sf-media__remove",3,"ariaLabel","onClick"],["min","0",1,"sf-media__progress","-absolute",3,"ngClass","max","value"],[3,"ngClass","click"],[3,"look","draggable","showRemoveButton","removeButtonAreaLabel","alt","selectable","hasTooltip","width","height","title","library","lockedStatus","status","src","customThumbnailUrl","extension","type","isMultimedia","isVideo","dimNotTranslated","dragstart","dragend","dragover","drop","removeButtonClicked"],[3,"styleLeftPx","styleHeightPx","dataItem","icon"],[3,"useOnlyUploadMode","useOnlySelectMode","targetLibraryId","sourceLibraryId","settings","mediaEntityData","hidden","items","fieldName","multiple","onItemsChange","onItemsAdd","onItemsRemove","reorderNodes"],[1,"-sf-mb-3xs"],["tabindex","0",3,"click","keyup.enter",4,"ngIf"],["tabindex","0",3,"click","keyup.enter"],[4,"ngFor","ngForOf"],["look","circle small","iconLook","size-xs",3,"ngClass","icon","title","ariaLabel","onClick",4,"ngIf"],["heightProperty","Height","widthProperty","Width","sizeProperty","TotalSize","extensionProperty","Extension",3,"item","mediaEntityData","multiple"],["class","-sf-txt-success",4,"ngIf"],[1,"-sf-txt-success"],[1,"-sf-txt-failure","-sf-mb-3xs"],["look","circle small","iconLook","size-s","icon","pencil","title","Edit",3,"ngClass","ariaLabel","onClick"],["look","circle small","iconLook","size-xs",3,"ngClass","icon","title","ariaLabel","onClick"],["class","-sf-txt-failure -sf-mb-3xs",4,"ngFor","ngForOf"],["look","circle small","icon","plus","iconLook","size-xs",3,"title","ariaLabel","onClick",4,"ngIf"],["look","circle small","icon","plus","iconLook","size-xs",3,"title","ariaLabel","onClick"],[3,"isReadOnly","isRemovable","isLoading","selectedChips"],[1,"sf-flickr-gallery__drop-image","-wide","-placeholder"],["data-sftest","sf-reorder-drop-element","name","film","look","lighter size-3xl sf-mr-zero"]],template:function MediaComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0,1),r["ɵɵtemplate"](2,MediaComponent_div_2_Template,3,4,"div",2),r["ɵɵtemplate"](3,MediaComponent_div_3_Template,3,6,"div",3),r["ɵɵtemplate"](4,MediaComponent_ul_4_Template,2,4,"ul",4),r["ɵɵtemplate"](5,MediaComponent_div_5_Template,2,10,"div",5),r["ɵɵtemplate"](6,MediaComponent_div_6_Template,3,2,"div",6),r["ɵɵtemplate"](7,MediaComponent_div_7_Template,4,6,"div",3),r["ɵɵtemplate"](8,MediaComponent_div_8_Template,3,2,"div",5),r["ɵɵelementEnd"](),r["ɵɵtemplate"](9,MediaComponent_ng_template_9_Template,1,4,"ng-template",null,7,r["ɵɵtemplateRefExtractor"]),r["ɵɵtemplate"](11,MediaComponent_ng_template_11_Template,2,0,"ng-template",null,8,r["ɵɵtemplateRefExtractor"])),2&e&&(r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](8,_c13,t.settings.chipLike)),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",t.isEmptyMultimedia&&!t.settings.chipLike),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.isMultimedia&&t.settings.chipLike&&(t.mediaItems.length||t.uploads.length)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.isMultimedia&&!t.settings.chipLike&&(t.mediaItems.length||t.uploads.length)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!t.isMultimedia&&!t.settings.chipLike),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.isMultimedia&&t.hiddenMediaItems>0),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.isMultimedia&&!t.multiple),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.isMultimedia&&t.multiple))},directives:[x.NgClass,x.NgIf,y.SfIconComponent,x.NgForOf,x.NgTemplateOutlet,y.SfDynamicComponentLoaderComponent,y.SfButtonComponent,S.ThumbnailComponent,T.MediaReorderDropComponent,M.FileTreeComponent,D.FileInfoComponent,Q.ChipsComponent],pipes:[x.LowerCasePipe,N.SanitizerPipe],encapsulation:2}),MediaComponent}(B.ReorderableThumbsComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaDataFactory",(function(){return l}));var o=n(256),i=n(1719),r=n(1720),a=n(1721),s=n(269),A=n(229),l=function(){function MediaDataFactory(e){this.metadataStore=e}return MediaDataFactory.prototype.create=function(e,t,n,s,A,l,c){var d=null;switch(e){case o.MEDIA_TYPES.IMAGE:var p={metadata:this.metadataStore.getEntity(o.ENTITY_SET.IMAGES).clone(),provider:t,culture:n};d=new i.ImageData(p);break;case o.MEDIA_TYPES.VIDEO:p={metadata:this.metadataStore.getEntity(o.ENTITY_SET.VIDEOS).clone(),provider:t,culture:n},d=new r.VideoData(p);break;case o.MEDIA_TYPES.DOCUMENT:p={metadata:this.metadataStore.getEntity(o.ENTITY_SET.DOCUMENTS).clone(),provider:t,culture:n},d=new a.DocumentData(p)}return d.mediaEntityData.metadata.mediaFilterEnabled=l,d.mediaEntityData.metadata.acceptableMediaTypes=s||[],d.mediaEntityData.metadata.acceptableFileTypes=A||[],d.mediaEntityData.metadata.maxSize=c,d},MediaDataFactory.ɵfac=function MediaDataFactory_Factory(e){return new(e||MediaDataFactory)(A["ɵɵinject"](s.MetadataStore))},MediaDataFactory.ɵprov=A["ɵɵdefineInjectable"]({token:MediaDataFactory,factory:MediaDataFactory.ɵfac}),MediaDataFactory}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ImageData",(function(){return r}));var o=n(246),i=n(328),r=function r(e){this.typeNamePlural=i.MEDIA_CONTENT_TYPES.image.plural,this.typeNameSingleCapitalized="Image",this.thumbnailIconName="picture-o",this.thumbnailTitle=o.stringConstants.EMPTY_STRING,this.mediaEntityData=e}},function(e,t,n){"use strict";n.r(t),n.d(t,"VideoData",(function(){return r}));var o=n(328),i=n(246),r=function r(e){this.typeNamePlural=o.MEDIA_CONTENT_TYPES.video.plural,this.typeNameSingleCapitalized="Video",this.thumbnailTitle=i.stringConstants.EMPTY_STRING,this.thumbnailIconName="video-camera",this.mediaEntityData=e}},function(e,t,n){"use strict";n.r(t),n.d(t,"DocumentData",(function(){return i}));var o=n(328),i=function i(e){this.typeNamePlural=o.MEDIA_CONTENT_TYPES.document.plural,this.typeNameSingleCapitalized="Document",this.thumbnailTitle="Document",this.thumbnailIconName="Document",this.mediaEntityData=e}},function(e,t,n){"use strict";n.r(t),n.d(t,"ReorderableThumbsComponent",(function(){return l}));var o=n(259),i=n(415),r=n(369),a=n(244),s=n(11),A=n(229),l=function(e){function ReorderableThumbsComponent(t,n){var o=e.call(this)||this;o.scrollService=t,o.window=n,o.uploads=[],o.reorderable=!0,o.hasChanges=!1,o.verticalPosition=0,o.skipDragScrollZones=!1,o.scrollDispatch=new s.Subject,o.lastScrollDispatchDate=Date.now(),o._mediaItems=[];var i=o.scrollDispatch.subscribe((function(e){o.skipDragScrollZones||o.scrollRequested(e)}));return o.registerSubscription(i),o}return Object(o.__extends)(ReorderableThumbsComponent,e),Object.defineProperty(ReorderableThumbsComponent.prototype,"mediaItems",{get:function(){return this._mediaItems},set:function(e){this._mediaItems=e},enumerable:!1,configurable:!0}),ReorderableThumbsComponent.prototype.onWindowScroll=function(e){this.reorderable&&(this.verticalPosition=e.currentTarget.pageYOffset);var t=this.window.pageYOffset||this.window.document.documentElement.scrollTop||this.window.document.body.scrollTop||0;this.scrollDispatched(t)},ReorderableThumbsComponent.prototype.onLeave=function(e){this.reorderable&&e.target&&("HTML"===e.target.tagName||e.target.classList.contains("sf-modal-window__content"))&&this.clearDrag()},ReorderableThumbsComponent.prototype.onDragStart=function(e,t,n){if(this.reorderable){this.dragZoneVisible||(this.dragZoneVisible=!0),this.dragIndex=e,this.dropIndex=-1,this.dragName=t;var o=document.createElement("img");o.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",n.dataTransfer.effectAllowed="move",n.dataTransfer.setDragImage(o,0,0)}},ReorderableThumbsComponent.prototype.onDragOver=function(e,t,n,o){this.reorderable&&this.dragName===t&&(o.layerX>n/2?this.direction="after":this.direction="before",this.dropIndex=e,o.dataTransfer.dropEffect="move",o.preventDefault())},ReorderableThumbsComponent.prototype.onDragEnd=function(e){if(this.reorderable){this.dragZoneVisible&&(this.dragZoneVisible=!1);var t=this.dropIndex-this.uploads.length,n=this.dragIndex-this.uploads.length;if(n!==t&&-1!==this.dropIndex){var o=this.mediaItems[n],i=this.mediaItems[t];this.mediaItems.splice(n,1);var r=this.mediaItems.indexOf(i);"after"===this.direction&&(r=Math.min(r+1,this.mediaItems.length)),this.mediaItems.splice(r,0,o),n!==r&&this.recalculateLayout(),this.writeValue(Object.assign([],this.mediaItems)),this.hasChanges=!0}this.dragIndex=-1,this.dropIndex=-1,this.dragName=null,e.preventDefault()}},ReorderableThumbsComponent.prototype.dragOverScrollZone=function(e,t){if(!this.skipDragScrollZones){var n=this.verticalPosition+200*("top"===e?-1:1);Date.now()-this.lastScrollDispatchDate>250&&(this.lastScrollDispatchDate=Date.now(),this.verticalPosition>=0?(this.verticalPosition=n,this.scrollDispatch.next(n)):this.verticalPosition=0),t.preventDefault()}},ReorderableThumbsComponent.prototype.clearDrag=function(){this.dragIndex=-1,this.dropIndex=-1,this.dragName=null,this.dragZoneVisible=!1},ReorderableThumbsComponent.prototype.recalculateLayout=function(){},ReorderableThumbsComponent.prototype.scrollDispatched=function(e){void 0===e&&(e=0)},ReorderableThumbsComponent.prototype.scrollRequested=function(e){this.scrollService.scrollToPoint(e,0)},ReorderableThumbsComponent.ɵfac=function ReorderableThumbsComponent_Factory(e){return new(e||ReorderableThumbsComponent)(A["ɵɵdirectiveInject"](r.ScrollService),A["ɵɵdirectiveInject"](a.WINDOW_TOKEN))},ReorderableThumbsComponent.ɵdir=A["ɵɵdefineDirective"]({type:ReorderableThumbsComponent,hostBindings:function ReorderableThumbsComponent_HostBindings(e,t){1&e&&A["ɵɵlistener"]("dragleave",(function ReorderableThumbsComponent_dragleave_HostBindingHandler(e){return t.onLeave(e)}),!1,A["ɵɵresolveDocument"])},features:[A["ɵɵInheritDefinitionFeature"]]}),ReorderableThumbsComponent}(i.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaReorderDropComponent",(function(){return a}));var o=n(229),i=n(261),r=n(354),_c0=function(e){return{"-wide":e}};function MediaReorderDropComponent_img_1_Template(e,t){if(1&e&&o["ɵɵelement"](0,"img",3),2&e){var n=o["ɵɵnextContext"]();o["ɵɵproperty"]("src",n.dataItem.ThumbnailUrl?n.dataItem.ThumbnailUrl:n.dataItem.Url,o["ɵɵsanitizeUrl"])("alt",n.dataItem.AlternativeText)("ngClass",o["ɵɵpureFunction1"](3,_c0,n.dataItem.Width>n.dataItem.Height))}}function MediaReorderDropComponent_ng_template_2_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",4),o["ɵɵelement"](1,"sf-icon",5),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵproperty"]("name",n.icon)}}var a=function(){function MediaReorderDropComponent(){}return MediaReorderDropComponent.ɵfac=function MediaReorderDropComponent_Factory(e){return new(e||MediaReorderDropComponent)},MediaReorderDropComponent.ɵcmp=o["ɵɵdefineComponent"]({type:MediaReorderDropComponent,selectors:[["sf-media-reorder-drop"]],inputs:{dataItem:"dataItem",icon:"icon",styleTopPx:"styleTopPx",styleLeftPx:"styleLeftPx",styleHeightPx:"styleHeightPx"},decls:4,vars:8,consts:[[1,"sf-flickr-gallery__drop-wrapper"],["data-sftest","sf-reorder-drop-element","class","sf-flickr-gallery__drop-image",3,"src","alt","ngClass",4,"ngIf","ngIfElse"],["iconTemplate",""],["data-sftest","sf-reorder-drop-element",1,"sf-flickr-gallery__drop-image",3,"src","alt","ngClass"],[1,"sf-flickr-gallery__drop-image","-wide","-placeholder"],["data-sftest","sf-reorder-drop-element","look","lighter size-3xl sf-mr-zero",3,"name"]],template:function MediaReorderDropComponent_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",0),o["ɵɵtemplate"](1,MediaReorderDropComponent_img_1_Template,1,5,"img",1),o["ɵɵelementEnd"](),o["ɵɵtemplate"](2,MediaReorderDropComponent_ng_template_2_Template,2,1,"ng-template",null,2,o["ɵɵtemplateRefExtractor"])),2&e){var n=o["ɵɵreference"](3);o["ɵɵstyleProp"]("top",t.styleTopPx,"px")("left",t.styleLeftPx,"px")("height",t.styleHeightPx,"px"),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",!t.icon)("ngIfElse",n)}},directives:[i.NgIf,i.NgClass,r.SfIconComponent],encapsulation:2}),MediaReorderDropComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FILE_SELECT",(function(){return M})),n.d(t,"FileTreeComponent",(function(){return D}));var o=n(259),i=n(269),r=n(260),a=n(229),s=n(1117),A=n(1118),l=n(1212),c=n(328),d=n(245),p=n(1211),f=n(262),u=n(246),m=n(316),g=n(131),E=n(317),h=n(268),b=n(1139),C=n(1725),B=n(1153),k=n(373),I=n(244),v=n(271),w=n(418),_=n(354),x=n(261),y=n(1235),S=n(324),T=n(1066);function FileTreeComponent_sf_load_more_3_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-load-more",6),a["ɵɵlistener"]("onLoadMore",(function FileTreeComponent_sf_load_more_3_Template_sf_load_more_onLoadMore_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onShowAdditionalItems()})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵproperty"]("loadCount",o.hiddenItemsCount)("buttonText",o.loadMoreText)("currentItemsCount",o.initiallyShownItems)("allItemsCount",o.value.length)}}function FileTreeComponent_span_5_div_5_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",16),a["ɵɵtext"](1," Recent "),a["ɵɵelementEnd"]())}function FileTreeComponent_span_5_div_7_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",17),a["ɵɵtext"](1," No results found "),a["ɵɵelementEnd"]())}function FileTreeComponent_span_5_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"span",7),a["ɵɵelementStart"](1,"input",8,9),a["ɵɵlistener"]("keydown.enter",(function FileTreeComponent_span_5_Template_input_keydown_enter_1_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onEnterKey(e)}))("keydown.escape",(function FileTreeComponent_span_5_Template_input_keydown_escape_1_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onEscapeKey()}))("keydown.arrowUp",(function FileTreeComponent_span_5_Template_input_keydown_arrowUp_1_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onFocusPreviousNode()}))("keydown.arrowDown",(function FileTreeComponent_span_5_Template_input_keydown_arrowDown_1_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onFocusNextNode()}))("input",(function FileTreeComponent_span_5_Template_input_input_1_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onNewInputValue(e)}))("click",(function FileTreeComponent_span_5_Template_input_click_1_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onToggleAddControl(!0)}))("ngModelChange",(function FileTreeComponent_span_5_Template_input_ngModelChange_1_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().searchTerm=e})),a["ɵɵelementEnd"](),a["ɵɵelementStart"](3,"sf-popup",10),a["ɵɵelementStart"](4,"div",11),a["ɵɵtemplate"](5,FileTreeComponent_span_5_div_5_Template,2,0,"div",12),a["ɵɵpipe"](6,"async"),a["ɵɵtemplate"](7,FileTreeComponent_span_5_div_7_Template,2,0,"div",13),a["ɵɵpipe"](8,"async"),a["ɵɵelementStart"](9,"sf-tree",14,15),a["ɵɵlistener"]("treeNodeClicked",(function FileTreeComponent_span_5_Template_sf_tree_treeNodeClicked_9_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onNewItemSelected(e)}))("reorderNodes",(function FileTreeComponent_span_5_Template_sf_tree_reorderNodes_9_listener(e){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onReorderNodes(e)})),a["ɵɵpipe"](11,"async"),a["ɵɵpipe"](12,"async"),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngModel",o.searchTerm),a["ɵɵattribute"]("aria-activedescendant","tree_active_node"),a["ɵɵadvance"](2),a["ɵɵproperty"]("isOpen",o.isPopupVisible),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",!o.searchTerm&&a["ɵɵpipeBind1"](6,10,o.hasContentItems)),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",o.searchTerm&&!a["ɵɵpipeBind1"](8,12,o.hasContentItems)),a["ɵɵadvance"](2),a["ɵɵpropertyInterpolate"]("displayField",o._defaultFieldName),a["ɵɵproperty"]("focusFirstNode",o.searchTerm&&a["ɵɵpipeBind1"](11,14,o.hasContentItems))("nodes",a["ɵɵpipeBind1"](12,16,o.recentItems$))("config",o.popupTreeConfig)("textToMatch",o.searchTerm)}}function FileTreeComponent_sf_button_6_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-button",18),a["ɵɵlistener"]("onClick",(function FileTreeComponent_sf_button_6_Template_sf_button_onClick_0_listener(){a["ɵɵrestoreView"](n);var e=a["ɵɵnextContext"]();return e.settings.skipInputSelection?e.onShowAllRelatedData():e.onToggleAddControl(!0)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵproperty"]("look",o.value&&o.value.length>0?"circle small sf-mt-3xs":"circle small")("icon",o.canSelectItems?"plus":"pencil")("title",o.addEditButtonTitle)("ariaLabel",o.addEditButtonTitle)}}var M="fileSelect",D=function(e){function FileTreeComponent(t,n,o,i,r,s,A,l,c,d,p,f){var u=e.call(this,t,n,o,i,r,s,A,l,c,d,p,f)||this;return u.multiple=!1,u.onItemsAdd=new a.EventEmitter,u.onItemsRemove=new a.EventEmitter,u.onItemsChange=new a.EventEmitter,u.onFileUploadRetry=new a.EventEmitter,u.reorderNodes=new a.EventEmitter,u}return Object(o.__extends)(FileTreeComponent,e),Object.defineProperty(FileTreeComponent.prototype,"items",{get:function(){return this.value},set:function(e){this.value=e},enumerable:!1,configurable:!0}),FileTreeComponent.prototype.getActionLinks=function(){var e=[];return this.useOnlyUploadMode||e.push({isLink:!0,Title:"Show all "+this.displayNames.plural,action:"openFilePicker"}),this.settings.allowCreate&&!this.useOnlySelectMode&&e.push({isLink:!0,Title:"Upload "+Object(d.getFormattedTypeName)(this.displayNames,this.settings.allowMultiple,!0),action:"openFileUpload"}),e},FileTreeComponent.prototype.ngOnInit=function(){this.mediaEntity=this.mediaEntityData.metadata,this.initializeTree(),e.prototype.ngOnInit.call(this)},FileTreeComponent.prototype.ngAfterViewInit=function(){this.update()},FileTreeComponent.prototype.onToggleAddControl=function(t,n){void 0===t&&(t=!1),void 0===n&&(n=!1),this.useOnlyUploadMode?this.openFileUpload():e.prototype.onToggleAddControl.call(this,t,n)},FileTreeComponent.prototype.onNewItemSelected=function(t){var n=e.prototype.onNewItemSelected.call(this,t);return n&&this.onItemsAdd.emit([n]),n},FileTreeComponent.prototype.onRemove=function(t){var n=e.prototype.onRemove.call(this,t);return n&&this.onItemsRemove.emit([n]),n},FileTreeComponent.prototype.openFilePicker=function(){this.openDialog(p.FilePickerViewMode.Select)},FileTreeComponent.prototype.openFileUpload=function(){this.openDialog(null)},FileTreeComponent.prototype.onReorderNodes=function(e){this.reorderNodes.emit(e)},FileTreeComponent.prototype.getRecentRelatedData=function(t){var n=this;if(this.sourceLibraryId){var o=this.fallbackProperties.join(","),i="documents/Default.DocumentsRecursiveSearch(rootLibraryId="+this.sourceLibraryId+")?$top=5&$search="+(this.searchTerm||"")+"&sf_culture="+this.mediaEntityData.culture+"&sf_fallback_prop_names="+o;this.dynamicService.executeUnboundFunction(i).pipe(Object(g.map)((function(e){var t=e.value.map((function(e){return E.DataItem.from(e,n.relatedEntityData.metadata,n.settings.provider,n.settings.culture)})),o=n.getActionLinks(),i=t.map((function(e){return n.cloneAndAddFieldsToDataItem(e)})).concat(o);n.addItemsToRecentItems(i)}))).subscribe()}else e.prototype.getRecentRelatedData.call(this,t)},FileTreeComponent.prototype.createBaseServiceInfo=function(){var t=e.prototype.createBaseServiceInfo.call(this);if(this.mediaEntity&&this.mediaEntity.mediaFilterEnabled){var n=this.mediaEntity.acceptableFileTypes.map((function(e){return""+u.stringConstants.DOT+e}));t.action=f.ACTIONS.FILTER(""+f.FILTER_TYPES.EXTENSIONS+u.stringConstants.COMMA+n.join(u.stringConstants.COMMA)),t.culture=this.mediaEntityData.culture}return t},FileTreeComponent.prototype.addItemsToRecentItems=function(t){var n,o=this;this.mediaEntity&&(this.mediaEntity.maxSize||(null===(n=this.mediaEntity.acceptableFileTypes)||void 0===n?void 0:n.length)>0)&&t.map((function(e){o.configureItemSelection(e)})),e.prototype.addItemsToRecentItems.call(this,t)},FileTreeComponent.prototype.onViewNodeFunk=function(e){var t=this,n=E.DataItem.from(e.data,this._relatedDataEntity,this.settings.provider,this.settings.culture),o={filedName:this.settings.key,settings:{allowedFileExtensions:this.originalSettings.acceptableFileTypes,maximumAllowedSize:this.originalSettings.maxSize,acceptableMediaTypes:this.originalSettings.acceptableMediaTypes}};this.editNavigationService.openDialogForRelatedDataAndLoadFieldData(this.value.map((function(e){return e.Id})),n,this.route,o,!1,null).subscribe((function(e){t.writeValue(e),t.onItemsChange.emit(e)}))},FileTreeComponent.prototype.configureItemSelection=function(e){var t;if(this.mediaEntity){if(e.isSelectionDisabled=!1,this.mediaEntity.maxSize)if(e.TotalSize>this.mediaEntity.maxSize)return void(e.isSelectionDisabled=!0);if((null===(t=this.mediaEntity.acceptableFileTypes)||void 0===t?void 0:t.length)>0&&e.Extension)if(this.mediaEntity.acceptableFileTypes.indexOf(e.Extension.replace(u.stringConstants.DOT,u.stringConstants.EMPTY_STRING))<0)return void(e.isSelectionDisabled=!0)}},FileTreeComponent.prototype.openDialog=function(e){var t=this,n={type:l.FilePickerComponent,afterComponentInit:function(n){n.multiple=t.multiple,n.value=t.value?t.value.slice(0).map((function(e){return E.DataItem.fromEntityData(e,t.mediaEntityData)})):[],n.name=t.fieldName,n.mediaEntityData={metadata:t.mediaEntityData.metadata.clone(),provider:t.mediaEntityData.provider,culture:t.mediaEntityData.culture},n.allowCreate=t.settings.allowCreate,n.initialViewMode=t.getFilePickerComponentInitialViewMode(e),n.useOnlySelectMode=t.useOnlySelectMode,n.sourceLibraryId=t.sourceLibraryId,n.targetLibraryId=t.targetLibraryId},properties:{}};n.properties.showProviderSelector=!!this.allItemsTabType;var o=new A.DialogData(n,(function(n){if(n&&n.data){var o=Array.isArray(n.data)?n.data.map((function(e){return Object(d.cloneObject)(e.data)})):[Object(d.cloneObject)(n.data.data)];t.multiple||(t.value.length=0),t.value=t.value.concat(o),e===p.FilePickerViewMode.Select?t.onItemsChange.emit(o):t.onItemsAdd.emit(o)}}),[],"-prompt");this.modalService.setMapping(o,l.FILE_PICKER),this.modalService.open(this.route,l.FILE_PICKER)},FileTreeComponent.prototype.update=function(){this.isAddButtonVisible=!0,this.tree.updateTreeModel()},FileTreeComponent.prototype.initializeTree=function(){this.originalSettings=this.settings;var e=new C.RelatedDataSettings(c.MEDIA_CONTENT_TYPES.document.single.toLowerCase(),!1);(e=Object.assign(e,this.settings)).type=c.MEDIA_CONTENT_TYPES.document.plural,e.allowMultiple=this.multiple,this.displayNames={plural:c.MEDIA_CONTENT_TYPES.document.plural.toLowerCase(),singular:c.MEDIA_CONTENT_TYPES.document.single.toLowerCase()},e.provider=this.settings.provider,e.allowCreate=this.settings.allowCreate,e.culture=this.settings.culture,this.settings=e,this.treeConfig=this.treeConfig||{drag:this.multiple,status:!0,deletion:this.settings.allowRemove,noSelection:!0,clickable:!0}},FileTreeComponent.prototype.getFilePickerComponentInitialViewMode=function(e){var t=e,n=!this.settings.allowCreate||this.useOnlySelectMode,o=this.settings.allowCreate&&this.useOnlyUploadMode;return n?t=p.FilePickerViewMode.Select:o&&(t=p.FilePickerViewMode.Upload),t},FileTreeComponent.ɵfac=function FileTreeComponent_Factory(e){return new(e||FileTreeComponent)(a["ɵɵdirectiveInject"](m.DynamicItemService),a["ɵɵdirectiveInject"](A.ModalWindowService),a["ɵɵdirectiveInject"](r.ActivatedRoute),a["ɵɵdirectiveInject"](b.SiteDataStore),a["ɵɵdirectiveInject"](i.MetadataStore),a["ɵɵdirectiveInject"](a.Renderer2),a["ɵɵdirectiveInject"](a.ElementRef),a["ɵɵdirectiveInject"](h.ContentFilterService),a["ɵɵdirectiveInject"](I.WINDOW_TOKEN),a["ɵɵdirectiveInject"](k.UrlService),a["ɵɵdirectiveInject"](B.EditNavigationService),a["ɵɵdirectiveInject"](v.Settings))},FileTreeComponent.ɵcmp=a["ɵɵdefineComponent"]({type:FileTreeComponent,selectors:[["sf-file-tree"]],inputs:{items:"items",mediaEntityData:"mediaEntityData",fieldName:"fieldName",multiple:"multiple",useOnlyUploadMode:"useOnlyUploadMode",useOnlySelectMode:"useOnlySelectMode",targetLibraryId:"targetLibraryId",sourceLibraryId:"sourceLibraryId"},outputs:{onItemsAdd:"onItemsAdd",onItemsRemove:"onItemsRemove",onItemsChange:"onItemsChange",onFileUploadRetry:"onFileUploadRetry",reorderNodes:"reorderNodes"},features:[a["ɵɵInheritDefinitionFeature"]],decls:7,vars:12,consts:[["look","flat list condensed actions-on-hover","sfTrackFocus","",3,"nodes","config","displayField","removeNode","onViewNode","treeNodeClicked","reorderNodes","moveNode"],["tree",""],[3,"loadCount","buttonText","currentItemsCount","allItemsCount","onLoadMore",4,"ngIf"],["sfTrackFocus","",3,"focusSubscription","closeOnContentClick","contentFocusOut"],["class","sf-input sf-popup",4,"ngIf"],["data-sftest","related-data_add-btn","iconLook","size-xs",3,"look","icon","title","ariaLabel","onClick",4,"ngIf"],[3,"loadCount","buttonText","currentItemsCount","allItemsCount","onLoadMore"],[1,"sf-input","sf-popup"],["type","text","autocomplete","off","placeholder","Start typing...",1,"sf-input__field","sf-field__input",3,"ngModel","keydown.enter","keydown.escape","keydown.arrowUp","keydown.arrowDown","input","click","ngModelChange"],["editableElement",""],[3,"isOpen"],[1,"sf-popup__content","sf-dropdown","-condensed"],["class","sf-dropdown__heading -condensed",4,"ngIf"],["class","sf-dropdown__no-items",4,"ngIf"],["data-sftest","related-data_popup-tree","look","flat condensed",3,"focusFirstNode","displayField","nodes","config","textToMatch","treeNodeClicked","reorderNodes"],["popupTree",""],[1,"sf-dropdown__heading","-condensed"],[1,"sf-dropdown__no-items"],["data-sftest","related-data_add-btn","iconLook","size-xs",3,"look","icon","title","ariaLabel","onClick"]],template:function FileTreeComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"sf-tree",0,1),a["ɵɵlistener"]("removeNode",(function FileTreeComponent_Template_sf_tree_removeNode_0_listener(e){return t.onRemove(e)}))("onViewNode",(function FileTreeComponent_Template_sf_tree_onViewNode_0_listener(e){return t.onViewNodeFunkWrapper(e)}))("treeNodeClicked",(function FileTreeComponent_Template_sf_tree_treeNodeClicked_0_listener(e){return t.treeNodeClickedFunk(e)}))("reorderNodes",(function FileTreeComponent_Template_sf_tree_reorderNodes_0_listener(e){return t.onReorderNodes(e)}))("moveNode",(function FileTreeComponent_Template_sf_tree_moveNode_0_listener(e){return t.onMoveNode(e)})),a["ɵɵpipe"](2,"async"),a["ɵɵelementEnd"](),a["ɵɵtemplate"](3,FileTreeComponent_sf_load_more_3_Template,1,4,"sf-load-more",2),a["ɵɵelementStart"](4,"span",3),a["ɵɵlistener"]("contentFocusOut",(function FileTreeComponent_Template_span_contentFocusOut_4_listener(){return t.onToggleAddControl(!1,!0)})),a["ɵɵtemplate"](5,FileTreeComponent_span_5_Template,13,18,"span",4),a["ɵɵtemplate"](6,FileTreeComponent_sf_button_6_Template,1,4,"sf-button",5),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵclassProp"]("-sf-hidden",!t.value.length),a["ɵɵpropertyInterpolate"]("displayField",t._defaultFieldName),a["ɵɵproperty"]("nodes",a["ɵɵpipeBind1"](2,10,t.visibleItems))("config",t.treeConfig),a["ɵɵadvance"](3),a["ɵɵproperty"]("ngIf",t.hasHiddenItems),a["ɵɵadvance"](1),a["ɵɵproperty"]("focusSubscription",t.triggeringSubscription)("closeOnContentClick",!1),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.isInputVisible&&!t.settings.skipInputSelection),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.isAddButtonVisible&&t.settings.allowAdd&&t.settings.allowRemove))},directives:[w.TreeComponent,_.SfTrackFocusDirective,x.NgIf,y.LoadMoreComponent,S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,T.PopupComponent,_.SfButtonComponent],pipes:[x.AsyncPipe],encapsulation:2}),FileTreeComponent}(s.RelatedDataComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"RelatedDataSettings",(function(){return A}));var o=n(259),i=n(332),r=n(246),a=n(333),s=n(257),A=function(e){function RelatedDataSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(RelatedDataSettings,e),RelatedDataSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.defaultValue=[],this.changeOnFocus=!0,this.displayMode=a.DISPLAY_MODE.NORMAL,this.provider=t[s.RELATE_DATA_PROVIDER],this.emptyValueText=r.NOT_SELECTED,this.hintPositionTop=!0},RelatedDataSettings}(i.SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"EditImageThumbnailComponent",(function(){return u}));var o=n(259),i=n(415),r=n(1142),a=n(1708),s=n(354),A=n(336),l=n(244),c=n(1423),d=n(229),p=["widthField"],f=["heightField"],u=function(e){function EditImageThumbnailComponent(t,n){var o=e.call(this)||this;return o.windowProvider=t,o.imageHelper=n,o.showCustomSizeFields=!1,o.widthPropertyName="width",o.heightPropertyName="height",o.constrainProportionsPropertyName="constrainProportions",o}return Object(o.__extends)(EditImageThumbnailComponent,e),EditImageThumbnailComponent.prototype.ngOnInit=function(){this.settings.key&&(this.settings.dropDownSettings.key=this.settings.key),this.widthPropertyName=this.settings.widthPropertyName||this.widthPropertyName,this.heightPropertyName=this.settings.heightPropertyName||this.heightPropertyName,this.constrainProportionsPropertyName=this.settings.constrainProportionsPropertyName||this.constrainProportionsPropertyName,(this.value.thumbnailValue===a.CUSTOM_THUMBNAIL_KEY||this.settings.customSizeOnly)&&(void 0===this.value[this.constrainProportionsPropertyName]&&(this.value[this.constrainProportionsPropertyName]=!0),this.showCustomSizeFields=!0,this.setWidthHeight(this.value[this.widthPropertyName],this.value[this.heightPropertyName],this.value[this.constrainProportionsPropertyName],!1))},EditImageThumbnailComponent.prototype.onSelectionChange=function(e){var t=this.getValue();t.thumbnailValue=e,this.showCustomSizeFields=e===a.CUSTOM_THUMBNAIL_KEY,this.showCustomSizeFields&&this.setWidthHeight(this.value[this.widthPropertyName],this.value[this.heightPropertyName],this.value[this.constrainProportionsPropertyName]),this.writeValue(t),this.onBlur()},EditImageThumbnailComponent.prototype.onConstrainProportionsChange=function(e){var t=this.getValue();t[this.constrainProportionsPropertyName]=e,this.scaleDimensions(t,this.widthPropertyName,t[this.widthPropertyName],this.heightPropertyName),this.writeValue(t)},EditImageThumbnailComponent.prototype.onInput=function(e,t,n){this.value.OriginalWidth=this.value.OriginalWidth||this.value[this.widthPropertyName],this.value.OriginalHeight=this.value.OriginalHeight||this.value[this.heightPropertyName];var o=this.getValue();o[t]=e.target.value,this.scaleDimensions(o,t,e.target.value,n),this.writeValue(o)},EditImageThumbnailComponent.prototype.writeValue=function(t){t&&(e.prototype.writeValue.call(this,Object.assign({},t)),this.choiceComponent&&this.choiceComponent.writeValue(this.value.thumbnailValue))},EditImageThumbnailComponent.prototype.scaleDimensions=function(e,t,n,o){if(this.settings.customSizeOnly&&void 0===this.value[this.constrainProportionsPropertyName]&&(this.value[this.constrainProportionsPropertyName]=!0),this.value[this.constrainProportionsPropertyName]){var i=this.settings[t+"Settings"]?this.settings[t+"Settings"].naturalValue:e["Original"+t]||e[t],r=this.settings[o+"Settings"]?this.settings[o+"Settings"].naturalValue:e["Original"+o]||e[o];e[o]=this.imageHelper.determineScaledValue(n,i,r),this[o.toLocaleLowerCase()+"Field"].writeValue(e[o])}},EditImageThumbnailComponent.prototype.setWidthHeight=function(e,t,n,o){var i=this;void 0===o&&(o=!0),this.constrainProportionsCheckbox.writeValue(n),this.widthField.writeValue(e),this.heightField.writeValue(t),o&&this.windowProvider.setTimeout((function(){i.widthField.focus()}),0)},EditImageThumbnailComponent.ɵfac=function EditImageThumbnailComponent_Factory(e){return new(e||EditImageThumbnailComponent)(d["ɵɵdirectiveInject"](l.WINDOW_TOKEN),d["ɵɵdirectiveInject"](a.ImageHelper))},EditImageThumbnailComponent.ɵcmp=d["ɵɵdefineComponent"]({type:EditImageThumbnailComponent,selectors:[["sf-edit-image-thumbnail"]],viewQuery:function EditImageThumbnailComponent_Query(e,t){if(1&e&&(d["ɵɵviewQuery"](r.ChoiceDropdownComponent,3),d["ɵɵviewQuery"](c.ChoiceYesNoComponent,3),d["ɵɵviewQuery"](p,3),d["ɵɵviewQuery"](f,3)),2&e){var n=void 0;d["ɵɵqueryRefresh"](n=d["ɵɵloadQuery"]())&&(t.choiceComponent=n.first),d["ɵɵqueryRefresh"](n=d["ɵɵloadQuery"]())&&(t.constrainProportionsCheckbox=n.first),d["ɵɵqueryRefresh"](n=d["ɵɵloadQuery"]())&&(t.widthField=n.first),d["ɵɵqueryRefresh"](n=d["ɵɵloadQuery"]())&&(t.heightField=n.first)}},features:[d["ɵɵProvidersFeature"]([Object(A.createValueAccessor)(EditImageThumbnailComponent),a.ImageHelper]),d["ɵɵInheritDefinitionFeature"]],decls:13,vars:18,consts:[[3,"id","settings","selectionChange"],[1,"sf-row"],["look","small-label","type","number",1,"sf-row__col","-col-2",3,"name","label","onInput","onBlur","onFocus"],["widthField",""],[1,"sf-row__col","-no-flex","-align-self-end","-sf-ml-3xs","-sf-mr-3xs","-sf-mb-4xs","-sf-txt-large"],["heightField",""],[1,"sf-row__col","-no-flex","-align-self-end","-sf-ml-4xs","-sf-mr-4xs","-sf-mb-4xs","-sf-txt-large"],["look","sf-ml-xs","name","lock"],[1,"sf-row","-sf-mt-2xs"],[3,"settings","selectionChange"]],template:function EditImageThumbnailComponent_Template(e,t){1&e&&(d["ɵɵelementStart"](0,"sf-dropdown-choice",0),d["ɵɵlistener"]("selectionChange",(function EditImageThumbnailComponent_Template_sf_dropdown_choice_selectionChange_0_listener(e){return t.onSelectionChange(e)})),d["ɵɵelementEnd"](),d["ɵɵelementStart"](1,"div",1),d["ɵɵelementStart"](2,"sf-input",2,3),d["ɵɵlistener"]("onInput",(function EditImageThumbnailComponent_Template_sf_input_onInput_2_listener(e){return t.onInput(e,t.widthPropertyName,t.heightPropertyName)}))("onBlur",(function EditImageThumbnailComponent_Template_sf_input_onBlur_2_listener(){return t.onBlur()}))("onFocus",(function EditImageThumbnailComponent_Template_sf_input_onFocus_2_listener(){return t.onFocus()})),d["ɵɵelementEnd"](),d["ɵɵelementStart"](4,"span",4),d["ɵɵtext"](5,"x"),d["ɵɵelementEnd"](),d["ɵɵelementStart"](6,"sf-input",2,5),d["ɵɵlistener"]("onInput",(function EditImageThumbnailComponent_Template_sf_input_onInput_6_listener(e){return t.onInput(e,t.heightPropertyName,t.widthPropertyName)}))("onBlur",(function EditImageThumbnailComponent_Template_sf_input_onBlur_6_listener(){return t.onBlur()}))("onFocus",(function EditImageThumbnailComponent_Template_sf_input_onFocus_6_listener(){return t.onFocus()})),d["ɵɵelementEnd"](),d["ɵɵelementStart"](8,"span",6),d["ɵɵtext"](9),d["ɵɵelement"](10,"sf-icon",7),d["ɵɵelementEnd"](),d["ɵɵelementEnd"](),d["ɵɵelementStart"](11,"div",8),d["ɵɵelementStart"](12,"sf-yes-no-choice",9),d["ɵɵlistener"]("selectionChange",(function EditImageThumbnailComponent_Template_sf_yes_no_choice_selectionChange_12_listener(e){return t.onConstrainProportionsChange(e)})),d["ɵɵelementEnd"](),d["ɵɵelementEnd"]()),2&e&&(d["ɵɵclassProp"]("-sf-hidden",t.settings.customSizeOnly),d["ɵɵproperty"]("id",t.settings.key)("settings",t.settings.dropDownSettings),d["ɵɵadvance"](1),d["ɵɵclassProp"]("-sf-hidden",!t.showCustomSizeFields)("-sf-mt-s",!t.settings.customSizeOnly),d["ɵɵadvance"](1),d["ɵɵproperty"]("name",t.settings.key+"_width")("label",t.settings.widthSettings.title),d["ɵɵadvance"](4),d["ɵɵproperty"]("name",t.settings.key+"_height")("label",t.settings.heightSettings.title),d["ɵɵadvance"](3),d["ɵɵtextInterpolate1"](" ",t.settings.heightSettings.unit," "),d["ɵɵadvance"](1),d["ɵɵclassProp"]("-sf-hidden",!t.value.constrainProportions),d["ɵɵadvance"](1),d["ɵɵclassProp"]("-sf-hidden",!t.showCustomSizeFields),d["ɵɵadvance"](1),d["ɵɵproperty"]("settings",t.settings.constrainProportionsSettings))},directives:[r.ChoiceDropdownComponent,s.SfInputComponent,s.SfIconComponent,c.ChoiceYesNoComponent],encapsulation:2}),EditImageThumbnailComponent}(i.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaReadonlyComponent",(function(){return d}));var o=n(259),i=n(1717),r=n(246),a=n(229),s=n(261),A=n(354),l=n(1113),c=n(418);function MediaReadonlyComponent_div_2_div_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",10),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.mediaData.thumbnailTitle)}}function MediaReadonlyComponent_div_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",7),a["ɵɵelement"](1,"sf-icon",8),a["ɵɵtemplate"](2,MediaReadonlyComponent_div_2_div_2_Template,2,1,"div",9),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵclassProp"]("-small",n.multiple&&!n.isVideo),a["ɵɵadvance"](1),a["ɵɵproperty"]("name",n.mediaData.thumbnailIconName),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.mediaData.thumbnailTitle)}}function MediaReadonlyComponent_div_3_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",11),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",n.notSelectedValueText," ")}}function MediaReadonlyComponent_div_4_div_1_div_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div"),a["ɵɵelement"](1,"sf-thumbnail",15),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]().index,o=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵproperty"]("look",o.thumbnailLook)("alt",o.mediaItems[n-o.uploads.length].AlternativeText)("selectable",!1)("width",o.mediaItems[n-o.uploads.length].Width)("height",o.mediaItems[n-o.uploads.length].Height)("title",o.mediaItems[n-o.uploads.length].Title)("library",null==o.mediaItems[n-o.uploads.length].Parent?null:o.mediaItems[n-o.uploads.length].Parent.Title)("lockedStatus",o.mediaItems[n-o.uploads.length].LockedStatus)("status",o.mediaItems[n-o.uploads.length].DisplayStatus)("src",o.mediaItems[n-o.uploads.length].Url)("extension",o.mediaItems[n-o.uploads.length].Extension)("type",o.mediaItems[n-o.uploads.length].MimeType)("isMultimedia",o.mediaData.mediaEntityData.metadata.isMultimedia)("dimNotTranslated",!o.mediaItems[n-o.uploads.length].isTranslated)("showNotTranslatedLabel",!o.mediaItems[n-o.uploads.length].isTranslated)}}function MediaReadonlyComponent_div_4_div_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div"),a["ɵɵelementStart"](1,"div",14),a["ɵɵtemplate"](2,MediaReadonlyComponent_div_4_div_1_div_2_Template,2,15,"div",5),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.index,i=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵstyleProp"]("width",n.width,"px")("height",n.height,"px")("top",n.top,"px")("left",n.left,"px"),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!i.uploads[o]&&i.mediaItems[o-i.uploads.length]&&(i.multiple||!i.uploads.length))}}function MediaReadonlyComponent_div_4_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",12),a["ɵɵtemplate"](1,MediaReadonlyComponent_div_4_div_1_Template,3,9,"div",13),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵstyleProp"]("height",n.mediaLayout.containerHeight,"px"),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngForOf",n.mediaLayout.boxes)("ngForTrackBy",n.boxIdentity)}}function MediaReadonlyComponent_div_5_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div"),a["ɵɵelement"](1,"sf-tree",16,17),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("nodes",n.allItems)("config",n.fileTreeConfig)("displayField","Title")}}function MediaReadonlyComponent_div_6_a_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"a",20),a["ɵɵlistener"]("click",(function MediaReadonlyComponent_div_6_a_1_Template_a_click_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onShowAllMediaItemsClick()}))("keyup.enter",(function MediaReadonlyComponent_div_6_a_1_Template_a_keyup_enter_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onShowAllMediaItemsClick()})),a["ɵɵtext"](1),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵtextInterpolate2"]("",o.hiddenMediaItems," more ",o.mediaData.typeNamePlural,"")}}function MediaReadonlyComponent_div_6_a_2_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"a",20),a["ɵɵlistener"]("click",(function MediaReadonlyComponent_div_6_a_2_Template_a_click_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onShowAllMediaItemsClick()}))("keyup.enter",(function MediaReadonlyComponent_div_6_a_2_Template_a_keyup_enter_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onShowAllMediaItemsClick()})),a["ɵɵtext"](1),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"](2);a["ɵɵadvance"](1),a["ɵɵtextInterpolate2"]("",o.hiddenMediaItems," more ",o.mediaData.typeNamePlural,"")}}function MediaReadonlyComponent_div_6_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",18),a["ɵɵtemplate"](1,MediaReadonlyComponent_div_6_a_1_Template,2,2,"a",19),a["ɵɵtemplate"](2,MediaReadonlyComponent_div_6_a_2_Template,2,2,"a",19),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",1==n.hiddenMediaItems),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.hiddenMediaItems>1)}}var d=function(e){function MediaReadonlyComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.notSelectedValueText=r.NOT_SELECTED,t.fileTreeConfig={status:!0,noSelection:!0},t}return Object(o.__extends)(MediaReadonlyComponent,e),MediaReadonlyComponent.prototype.hasEmptyValue=function(){return!1},Object.defineProperty(MediaReadonlyComponent.prototype,"isEmptyMultimedia",{get:function(){return this.isMultimedia&&(!this.allItems.length||!this.mediaItems.length)&&!this.uploads.length},enumerable:!1,configurable:!0}),MediaReadonlyComponent.ɵfac=function MediaReadonlyComponent_Factory(e){return p(e||MediaReadonlyComponent)},MediaReadonlyComponent.ɵcmp=a["ɵɵdefineComponent"]({type:MediaReadonlyComponent,selectors:[["sf-media-component-readonly"]],features:[a["ɵɵInheritDefinitionFeature"]],decls:7,vars:5,consts:[[1,"sf-input"],["wrapper",""],["class","sf-media -empty -sf-mb-3xs",3,"-small",4,"ngIf"],["class","sf-field__no-value",4,"ngIf"],["class","sf-flickr-gallery -sf-mb-3xs",3,"height",4,"ngIf"],[4,"ngIf"],["class","-sf-mb-3xs",4,"ngIf"],[1,"sf-media","-empty","-sf-mb-3xs"],["look","lighter size-4xl sf-mr-zero",3,"name"],["class","-sf-txt-hint",4,"ngIf"],[1,"-sf-txt-hint"],[1,"sf-field__no-value"],[1,"sf-flickr-gallery","-sf-mb-3xs"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"sf-flickr-gallery__item"],[1,"sf-media__stretched",3,"look","alt","selectable","width","height","title","library","lockedStatus","status","src","extension","type","isMultimedia","dimNotTranslated","showNotTranslatedLabel"],["look","flat condensed list read-only",3,"nodes","config","displayField"],["tree",""],[1,"-sf-mb-3xs"],["tabindex","0",3,"click","keyup.enter",4,"ngIf"],["tabindex","0",3,"click","keyup.enter"]],template:function MediaReadonlyComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",0,1),a["ɵɵtemplate"](2,MediaReadonlyComponent_div_2_Template,3,4,"div",2),a["ɵɵtemplate"](3,MediaReadonlyComponent_div_3_Template,2,1,"div",3),a["ɵɵtemplate"](4,MediaReadonlyComponent_div_4_Template,2,4,"div",4),a["ɵɵtemplate"](5,MediaReadonlyComponent_div_5_Template,3,3,"div",5),a["ɵɵtemplate"](6,MediaReadonlyComponent_div_6_Template,3,2,"div",6),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",t.isEmptyMultimedia),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!t.isMultimedia&&!t.allItems.length&&!t.uploads.length),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.isMultimedia&&(t.mediaItems.length||t.uploads.length)),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",!t.isMultimedia&&t.allItems.length),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.hiddenMediaItems>0))},directives:[s.NgIf,A.SfIconComponent,s.NgForOf,l.ThumbnailComponent,c.TreeComponent],encapsulation:2}),MediaReadonlyComponent}(i.MediaComponent),p=a["ɵɵgetInheritedFactory"](d)},function(e,t,n){"use strict";n.r(t),n.d(t,"FilePreviewEditComponent",(function(){return h}));var o=n(259),i=n(336),r=n(323),a=n(317),s=n(11),A=n(316),l=n(1219),c=n(260),d=n(262),p=n(270),f=n(246),u=n(229),m=n(261),g=n(1713),E=n(354);function FilePreviewEditComponent_sf_file_preview_1_Template(e,t){if(1&e){var n=u["ɵɵgetCurrentView"]();u["ɵɵelementStart"](0,"sf-file-preview",3),u["ɵɵlistener"]("onFilesSelected",(function FilePreviewEditComponent_sf_file_preview_1_Template_sf_file_preview_onFilesSelected_0_listener(e){return u["ɵɵrestoreView"](n),u["ɵɵnextContext"]().onSelectedForUpload(e)})),u["ɵɵelementEnd"]()}if(2&e){var o=u["ɵɵnextContext"]();u["ɵɵproperty"]("mediaEntityData",o.viewModel.mediaDataItem)("item",o.viewModel.file)("dataURL",o.viewModel.file.dataUrl)("multiple",!1)("editable",!o.settings.readOnlyMode)("viewModel",o.viewModel)}}function FilePreviewEditComponent_sf_error_2_Template(e,t){if(1&e&&u["ɵɵelement"](0,"sf-error",4),2&e){var n=u["ɵɵnextContext"]();u["ɵɵproperty"]("messages",n.fileUploadErrorMessages)}}var _c0=function(e,t){return{"-document -sf-centered-box":e,"-sf-mb-xl":t}},h=function(e){function FilePreviewEditComponent(t,n,o,i,r){var a=e.call(this)||this;return a.fileInfoService=t,a.service=n,a.mediaValidationHelper=o,a.http=i,a.route=r,a}return Object(o.__extends)(FilePreviewEditComponent,e),FilePreviewEditComponent.prototype.ngOnInit=function(){var e,t=this,n=this.settings.dataItem;if(n){n.title?this.viewModel=this.createViewModel(n):this.service.getItem({itemKey:n.key,fallbackProperties:[n.metadata.defaultFieldName],dataFieldNames:[n.metadata.defaultFieldName],entityData:n}).subscribe((function(e){var o=JSON.parse(JSON.stringify(n.data));o[n.metadata.defaultFieldName]=e.title;var i=a.DataItem.fromEntityData(o,n);t.viewModel=t.createViewModel(i)}));var o=this.route.snapshot.queryParamMap;if(o.keys.indexOf(d.QUERY_PARAMS.VERSION)>-1){var i=((e={})[d.QUERY_PARAMS.VERSION]=o.get(d.QUERY_PARAMS.VERSION),e[d.QUERY_PARAMS.PROVIDER]=this.viewModel.mediaDataItem.provider,e);this.http.get(n.metadata.setName+"("+n.key+")/$value",{responseType:"blob",params:i}).then((function(e){var n=new File([e],""+t.viewModel.file.title+t.viewModel.file.extension,{type:e.type});t.onSelectedForUpload({files:[n]})}))}}},FilePreviewEditComponent.prototype.hasEmptyValue=function(){return!1},FilePreviewEditComponent.prototype.onSelectedForUpload=function(e){var t=this,n=e.files[0];if(n&&this.validateFile(n)){var o=n.slice(0,n.size,n.type);if(e.preserveFileName)this.writeValue(n);else{var i=new File([o],f.stringConstants.EMPTY_STRING,{type:n.type});this.writeValue(i)}var r=e.originalFileNames&&e.originalFileNames.length>0?e.originalFileNames[0]:n.name,a=new File([o],r,{type:n.type});Object(s.from)(this.fileInfoService.createFileInfo(a,this.viewModel.mediaDataItem.metadata)).subscribe((function(e){var n=t.settings.dataItem;t.viewModel=t.createViewModel(n,e)}))}},FilePreviewEditComponent.prototype.validateFile=function(e){var t=this.mediaValidationHelper.validate(this.viewModel.mediaDataItem.metadata,[e],!1);return this.fileUploadErrorMessages=this.mediaValidationHelper.getErrorMessages(),t},FilePreviewEditComponent.prototype.getUrl=function(e){return e.data.Url},FilePreviewEditComponent.prototype.createViewModel=function(e,t){void 0===t&&(t={});var n=a.DataItem.fromEntityData(e.data,e);n=this.mapMediaEntityDataProps(n);var o=this.getUrl(e);return{mediaDataItem:n,file:{dataUrl:t.dataUrl||o,contentType:e.data.MimeType,extension:t.extension||e.data.Extension,width:t.width||e.data.Width,height:t.height||e.data.Height,size:t.size||e.data.TotalSize,content:null,data:null,isCorrupted:!1,form:null,isMultimedia:n.metadata.isMultimedia,name:t.name||e.data.MediaFileUrlName||e.title,title:t.title||e.data.MediaFileUrlName||e.title},acceptFileTypes:n.metadata.acceptableFileTypes.map((function(e){return"."+e})).join(",")}},FilePreviewEditComponent.prototype.mapMediaEntityDataProps=function(e){var t=this.settings;return t&&Array.isArray(t.acceptableFileTypes)&&Array.isArray(t.acceptableMediaTypes)&&null!=t.maxSize&&(e.metadata.acceptableFileTypes=t.acceptableFileTypes.map((function(e){return e.replace(".","")})),e.metadata.acceptableMediaTypes=t.acceptableMediaTypes,e.metadata.maxSize=t.maxSize,e.metadata.originalAcceptableTypes.indexOf("*")<0&&!e.metadata.mediaFilterEnabled&&(e.metadata.mediaFilterEnabled=!0)),e},FilePreviewEditComponent.ɵfac=function FilePreviewEditComponent_Factory(e){return new(e||FilePreviewEditComponent)(u["ɵɵdirectiveInject"](r.FileInfoService),u["ɵɵdirectiveInject"](A.DynamicItemService),u["ɵɵdirectiveInject"](l.MediaValidationHelper),u["ɵɵdirectiveInject"](p.HttpODataRequestWrapper),u["ɵɵdirectiveInject"](c.ActivatedRoute))},FilePreviewEditComponent.ɵcmp=u["ɵɵdefineComponent"]({type:FilePreviewEditComponent,selectors:[["sf-file-preview-edit"]],features:[u["ɵɵInheritDefinitionFeature"]],decls:3,vars:6,consts:[[1,"sf-media","-preview","-fade-in-effect",3,"ngClass"],[3,"mediaEntityData","item","dataURL","multiple","editable","viewModel","onFilesSelected",4,"ngIf"],["data-sftest","sf-invalid-file","class","-sf-txt-base",3,"messages",4,"ngIf"],[3,"mediaEntityData","item","dataURL","multiple","editable","viewModel","onFilesSelected"],["data-sftest","sf-invalid-file",1,"-sf-txt-base",3,"messages"]],template:function FilePreviewEditComponent_Template(e,t){1&e&&(u["ɵɵelementStart"](0,"div",0),u["ɵɵtemplate"](1,FilePreviewEditComponent_sf_file_preview_1_Template,1,6,"sf-file-preview",1),u["ɵɵelementEnd"](),u["ɵɵtemplate"](2,FilePreviewEditComponent_sf_error_2_Template,1,1,"sf-error",2)),2&e&&(u["ɵɵproperty"]("ngClass",u["ɵɵpureFunction2"](3,_c0,t.viewModel&&!t.viewModel.mediaDataItem.metadata.isMultimedia,t.viewModel&&!t.settings.readOnlyMode&&!t.viewModel.mediaDataItem.metadata.isMultimedia)),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",t.viewModel),u["ɵɵadvance"](1),u["ɵɵproperty"]("ngIf",t.fileUploadErrorMessages&&t.fileUploadErrorMessages.length>0))},directives:[m.NgClass,m.NgIf,g.FilePreviewComponent,E.SfErrorComponent],encapsulation:2}),FilePreviewEditComponent}(i.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaGridComponent",(function(){return w}));var o=n(259),i=n(229),r=n(1727),a=n(1118),s=n(1730),A=n(256),l=n(269),c=n(1718),d=n(260),p=n(1228),f=n(1207),u=n(312),m=n(1114),g=n(317),E=n(369),h=n(244),b=n(1153),C=n(1139),B=n(261),k=n(354),I=n(1113),v=n(418);function MediaGridComponent_ng_container_2_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function MediaGridComponent_ng_template_3_a_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"a",7),i["ɵɵlistener"]("click",(function MediaGridComponent_ng_template_3_a_0_Template_a_click_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onShowAllRelatedMedia()})),i["ɵɵelementStart"](1,"span",8),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵadvance"](2),i["ɵɵtextInterpolate1"](" ",o.value.length," ")}}function MediaGridComponent_ng_template_3_span_1_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"span",9),i["ɵɵtext"](1,"0"),i["ɵɵelementEnd"]())}function MediaGridComponent_ng_template_3_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,MediaGridComponent_ng_template_3_a_0_Template,3,1,"a",5),i["ɵɵtemplate"](1,MediaGridComponent_ng_template_3_span_1_Template,2,0,"span",6)),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",n.value&&n.value.length),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.value||!n.value.length)}}function MediaGridComponent_ng_template_5_div_0_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",17),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.mediaData.thumbnailTitle)}}var _c0=function(e,t,n){return{"-landscape":e,"-smaller":t,"-small":n}};function MediaGridComponent_ng_template_5_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",14),i["ɵɵelement"](1,"sf-icon",15),i["ɵɵtemplate"](2,MediaGridComponent_ng_template_5_div_0_div_2_Template,2,1,"div",16),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction3"](3,_c0,n.isVideo,!n.isVideo,n.multiple&&!n.isVideo)),i["ɵɵadvance"](1),i["ɵɵproperty"]("name",n.mediaData.thumbnailIconName),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.mediaData.thumbnailTitle)}}function MediaGridComponent_ng_template_5_div_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",18),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"](" ",n.notSelectedValueText," ")}}function MediaGridComponent_ng_template_5_div_2_div_1_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵelement"](1,"sf-thumbnail",22),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]().index,o=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵproperty"]("alt",o.mediaItems[n-o.uploads.length].AlternativeText)("selectable",!1)("hasTooltip",!1)("isSmallThumbnail",!0)("dimNotTranslated",!o.mediaItems[n-o.uploads.length].isTranslated)("showNotTranslatedLabel",!1)("width",o.mediaItems[n-o.uploads.length].Width)("height",o.mediaItems[n-o.uploads.length].Height)("title",o.mediaItems[n-o.uploads.length].Title)("library",null==o.mediaItems[n-o.uploads.length].Parent?null:o.mediaItems[n-o.uploads.length].Parent.Title)("lockedStatus",o.mediaItems[n-o.uploads.length].LockedStatus)("status",o.mediaItems[n-o.uploads.length].DisplayStatus)("src",o.mediaItems[n-o.uploads.length].ThumbnailUrl)("extension",o.mediaItems[n-o.uploads.length].Extension)("type",o.mediaItems[n-o.uploads.length].MimeType)("isMultimedia",o.mediaData.mediaEntityData.metadata.isMultimedia)}}function MediaGridComponent_ng_template_5_div_2_div_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵelementStart"](1,"div",21),i["ɵɵtemplate"](2,MediaGridComponent_ng_template_5_div_2_div_1_div_2_Template,2,16,"div",13),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.index,r=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵstyleProp"]("top",n.top,"px")("left",n.left,"px"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!r.uploads[o]&&r.mediaItems[o-r.uploads.length]&&(r.multiple||!r.uploads.length))}}function MediaGridComponent_ng_template_5_div_2_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",19),i["ɵɵtemplate"](1,MediaGridComponent_ng_template_5_div_2_div_1_Template,3,5,"div",20),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.mediaLayout.boxes)("ngForTrackBy",n.boxIdentity)}}function MediaGridComponent_ng_template_5_div_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵelement"](1,"sf-tree",23,24),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("nodes",n.allItems)("config",n.fileTreeConfig)("displayField","Title")}}function MediaGridComponent_ng_template_5_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,MediaGridComponent_ng_template_5_div_0_Template,3,7,"div",10),i["ɵɵtemplate"](1,MediaGridComponent_ng_template_5_div_1_Template,2,1,"div",11),i["ɵɵtemplate"](2,MediaGridComponent_ng_template_5_div_2_Template,2,2,"div",12),i["ɵɵtemplate"](3,MediaGridComponent_ng_template_5_div_3_Template,3,3,"div",13)),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",n.isEmptyMultimedia),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.isMultimedia&&!n.allItems.length&&!n.uploads.length),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.isMultimedia&&(n.mediaItems.length||n.uploads.length)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.isMultimedia&&n.allItems.length)}}var w=function(e){function MediaGridComponent(t,n,o,i,r,a,s,A,l,c,d,p,f){var u=e.call(this,t,n,o,i,r,a,s,A,c,d,p,f)||this;return u.metadataStore=l,u}return Object(o.__extends)(MediaGridComponent,e),MediaGridComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.showCount=this.settings.allowMultiple,this.settings.allowAdd=!1,this.settings.allowRemove=!1},MediaGridComponent.prototype.onShowAllRelatedMedia=function(){var e=this.getMediaEntityData(this.settings.type),t={type:s.FileListComponent,properties:{multiple:!1,value:[],mediaEntityData:e,mediaItems:this.value.map((function(t){return g.DataItem.fromEntityData(t,e)})),showTitleAndCount:!0,title:this.settings.title,isSelectable:!1,dimNotTranslated:!0}},n=new a.DialogData(t,null,[],"-narrow -sf-centered-box","-bottom");this.modalService.setMapping(n),this.modalService.open(this.route)},MediaGridComponent.prototype.getMediaEntityData=function(e){var t=null;switch(e){case A.MEDIA_TYPES.IMAGE:t=this.metadataStore.getEntity(A.ENTITY_SET.IMAGES);break;case A.MEDIA_TYPES.VIDEO:t=this.metadataStore.getEntity(A.ENTITY_SET.VIDEOS);break;case A.MEDIA_TYPES.DOCUMENT:t=this.metadataStore.getEntity(A.ENTITY_SET.DOCUMENTS)}return{metadata:t,provider:null,culture:null}},MediaGridComponent.ɵfac=function MediaGridComponent_Factory(e){return new(e||MediaGridComponent)(i["ɵɵdirectiveInject"](c.MediaDataFactory),i["ɵɵdirectiveInject"](a.ModalWindowService),i["ɵɵdirectiveInject"](d.ActivatedRoute),i["ɵɵdirectiveInject"](p.LayoutService),i["ɵɵdirectiveInject"](f.LibraryStore),i["ɵɵdirectiveInject"](u.DomSanitizer),i["ɵɵdirectiveInject"](m.MediaRecognizerService),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](l.MetadataStore),i["ɵɵdirectiveInject"](E.ScrollService),i["ɵɵdirectiveInject"](h.WINDOW_TOKEN),i["ɵɵdirectiveInject"](b.EditNavigationService),i["ɵɵdirectiveInject"](C.SiteDataStore))},MediaGridComponent.ɵcmp=i["ɵɵdefineComponent"]({type:MediaGridComponent,selectors:[["sf-media-component-grid"]],features:[i["ɵɵInheritDefinitionFeature"]],decls:7,vars:1,consts:[[1,"sf-row","-align-items-center"],["wrapper",""],[4,"ngTemplateOutlet"],["multipleChildren",""],["onlyOneChild",""],[3,"click",4,"ngIf"],["class","sf-badge -sf-ml-3xs",4,"ngIf"],[3,"click"],[1,"sf-badge","-sf-ml-3xs","-positive","-ellipse"],[1,"sf-badge","-sf-ml-3xs"],["class","sf-media -no-zindex -empty",3,"ngClass",4,"ngIf"],["class","sf-field__no-value",4,"ngIf"],["class","sf-flickr-gallery",4,"ngIf"],[4,"ngIf"],[1,"sf-media","-no-zindex","-empty",3,"ngClass"],["look","lighter size-2xl sf-mr-zero",3,"name"],["class","-sf-txt-hint",4,"ngIf"],[1,"-sf-txt-hint"],[1,"sf-field__no-value"],[1,"sf-flickr-gallery"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"sf-flickr-gallery__item","-static"],[3,"alt","selectable","hasTooltip","isSmallThumbnail","dimNotTranslated","showNotTranslatedLabel","width","height","title","library","lockedStatus","status","src","extension","type","isMultimedia"],["look","flat condensed list read-only",3,"nodes","config","displayField"],["tree",""]],template:function MediaGridComponent_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",0,1),i["ɵɵtemplate"](2,MediaGridComponent_ng_container_2_Template,1,0,"ng-container",2),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,MediaGridComponent_ng_template_3_Template,2,2,"ng-template",null,3,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](5,MediaGridComponent_ng_template_5_Template,4,4,"ng-template",null,4,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](4),o=i["ɵɵreference"](6);i["ɵɵadvance"](2),i["ɵɵproperty"]("ngTemplateOutlet",t.showCount?n:o)}},directives:[B.NgTemplateOutlet,B.NgIf,B.NgClass,k.SfIconComponent,B.NgForOf,I.ThumbnailComponent,v.TreeComponent],encapsulation:2}),MediaGridComponent}(r.MediaReadonlyComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"FileListComponent",(function(){return u}));var o=n(259),i=n(229),r=n(1228),a=n(257),s=n(1114),A=n(245),l=n(1722),c=n(369),d=n(244),p=n(266),f=["wrapper"];function FileListComponent_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",8),i["ɵɵelementStart"](1,"h1"),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelement"](3,"sf-badge",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](n.title),i["ɵɵadvance"](1),i["ɵɵproperty"]("content",n.mediaItems.length)}}var _c1=function(e){return{"-visible":e}};function FileListComponent_div_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",10),i["ɵɵlistener"]("mouseenter",(function FileListComponent_div_3_Template_div_mouseenter_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().clearDrag(e)}))("dragover",(function FileListComponent_div_3_Template_div_dragover_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().dragOverScrollZone("top",e)}))("drop",(function FileListComponent_div_3_Template_div_drop_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().clearDrag(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](1,_c1,o.dragZoneVisible))}}function FileListComponent_sf_loader_4_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-loader",11)}function FileListComponent_div_5_h2_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"h2",16),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]().$implicit,o=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](o.months[n.index])}}function FileListComponent_div_5_ng_container_3_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function FileListComponent_div_5_ng_container_3_ng_container_2_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}var _c2=function(e){return{leftStyle:e}};function FileListComponent_div_5_ng_container_3_ng_container_2_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,FileListComponent_div_5_ng_container_3_ng_container_2_ng_container_1_Template,1,0,"ng-container",17),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]().$implicit,o=i["ɵɵreference"](4),r=i["ɵɵnextContext"](2);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext","before"==r.direction?i["ɵɵpureFunction1"](2,_c2,n.left):i["ɵɵpureFunction1"](4,_c2,n.width+n.left))}}function FileListComponent_div_5_ng_container_3_ng_template_3_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-media-reorder-drop",20),2&e){var n=t.leftStyle,o=i["ɵɵnextContext"]().$implicit,r=i["ɵɵnextContext"](2);i["ɵɵproperty"]("styleTopPx",o.top)("styleLeftPx",n)("styleHeightPx",o.height)("dataItem",r.mediaItems[r.dragIndex].data)("icon",r.mediaEntityData.metadata.isVideo&&!r.mediaItems[r.dragIndex].data.ThumbnailUrl?"film":null)}}var _c3=function(e,t,n){return{file:e,box:t,ind:n}};function FileListComponent_div_5_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,FileListComponent_div_5_ng_container_3_ng_container_1_Template,1,0,"ng-container",17),i["ɵɵtemplate"](2,FileListComponent_div_5_ng_container_3_ng_container_2_Template,2,6,"ng-container",18),i["ɵɵtemplate"](3,FileListComponent_div_5_ng_container_3_ng_template_3_Template,1,5,"ng-template",null,19,i["ɵɵtemplateRefExtractor"]),i["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=i["ɵɵnextContext"]().$implicit,r=i["ɵɵnextContext"](),a=i["ɵɵreference"](8);i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",a)("ngTemplateOutletContext",i["ɵɵpureFunction3"](3,_c3,r.filesByMonth[r.months[o.index]][n.index],n,n.index)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",r.dropIndex==n.index)}}function FileListComponent_div_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",12),i["ɵɵtemplate"](1,FileListComponent_div_5_h2_1_Template,2,1,"h2",13),i["ɵɵelementStart"](2,"div",14),i["ɵɵlistener"]("drop",(function FileListComponent_div_5_Template_div_drop_2_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().clearDrag()}))("dragend",(function FileListComponent_div_5_Template_div_dragend_2_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().clearDrag()})),i["ɵɵtemplate"](3,FileListComponent_div_5_ng_container_3_Template,5,7,"ng-container",15),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,r=i["ɵɵnextContext"]();i["ɵɵstyleProp"]("top",r.getLayoutTop(r.layouts,o.index),"px"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",r.groupByMonth),i["ɵɵadvance"](1),i["ɵɵstyleProp"]("height",r.mediaEntityData.metadata.isMultimedia?o.containerHeight:null,"px"),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",o.boxes)}}function FileListComponent_div_6_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",21),i["ɵɵlistener"]("mouseenter",(function FileListComponent_div_6_Template_div_mouseenter_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().clearDrag(e)}))("dragover",(function FileListComponent_div_6_Template_div_dragover_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().dragOverScrollZone("bottom",e)}))("drop",(function FileListComponent_div_6_Template_div_drop_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().clearDrag(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](1,_c1,o.dragZoneVisible))}}var _c4=function(e,t){return{"-video":e,"-sf-m-2xs":t}};function FileListComponent_ng_template_7_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-thumbnail",22),i["ɵɵlistener"]("onClick",(function FileListComponent_ng_template_7_Template_sf_thumbnail_onClick_0_listener(){i["ɵɵrestoreView"](n);var e=t.file;return i["ɵɵnextContext"]().onFileClick(e)}))("onSelect",(function FileListComponent_ng_template_7_Template_sf_thumbnail_onSelect_0_listener(){i["ɵɵrestoreView"](n);var e=t.file;return i["ɵɵnextContext"]().onFileSelect(e)}))("dragstart",(function FileListComponent_ng_template_7_Template_sf_thumbnail_dragstart_0_listener(e){i["ɵɵrestoreView"](n);var o=t.ind,r=t.file;return i["ɵɵnextContext"]().onDragStart(o,"settings.name",e,{width:r.data.Width,height:r.data.Height})}))("dragend",(function FileListComponent_ng_template_7_Template_sf_thumbnail_dragend_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onDragEnd(e)}))("dragover",(function FileListComponent_ng_template_7_Template_sf_thumbnail_dragover_0_listener(e){i["ɵɵrestoreView"](n);var o=t.ind,r=t.box;return i["ɵɵnextContext"]().onDragOver(o,"settings.name",r.width,e)}))("drop",(function FileListComponent_ng_template_7_Template_sf_thumbnail_drop_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onDragEnd(e)}))("removeButtonClicked",(function FileListComponent_ng_template_7_Template_sf_thumbnail_removeButtonClicked_0_listener(){i["ɵɵrestoreView"](n);var e=t.file;return i["ɵɵnextContext"]().onRemoveMediaClick(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=t.file,r=t.box,a=t.ind,s=i["ɵɵnextContext"]();i["ɵɵstyleProp"]("left",r.left,"px")("top",r.top,"px")("width",r.width,"px")("height",r.height,"px"),i["ɵɵproperty"]("look",s.thumbnailLook)("ngClass",i["ɵɵpureFunction2"](35,_c4,s.mediaEntityData.metadata.isVideo,!s.mediaEntityData.metadata.isMultimedia))("dimNotTranslated",!o.data.isTranslated&&s.dimNotTranslated)("badgesList",s.culturesByFile[o.data.Id])("hasTooltip",!(!o.data.isTranslated&&s.dimNotTranslated)&&a!==s.dragIndex)("alt",o.data.AlternativeText||o.data.Title)("width",o.data.Width)("height",o.data.Height)("title",s.showFileName&&o.data.MediaFileUrlName?o.data.MediaFileUrlName:o.data.Title)("library",o.data.LibraryTitle||(null==o.data.Parent?null:o.data.Parent.Title))("lockedStatus",o.data.LockedStatus)("status",o.data.DisplayStatus)("selected",s.isSelected(o))("selectable",s.isSelectable&&!o.data.failedValidation&&(s.isNonTranslatedSelectable||o.data.isTranslated))("draggable",s.reorderable)("customThumbnailUrl",o.data.ThumbnailUrl)("src",o.data[s.previewUrl])("size",o.data.TotalSize)("extension",o.data.Extension)("type",o.data.MimeType)("isMultimedia",s.mediaEntityData.metadata.isMultimedia)("isVideo",s.mediaEntityData.metadata.isVideo)("isTranslated",o.data.isTranslated)("failedValidation",o.data.failedValidation)("showNotTranslatedLabel",!o.data.isTranslated&&s.showNotTranslatedLabel)("showRemoveButton",s.showRemoveButton)("removeButtonAreaLabel","Remove "+o.data.Title)}}var _c5=function(e){return{"-sf-centered-box":e}},u=function(e){function FileListComponent(t,n,o,r,a){var s=e.call(this,o,r)||this;return s.layoutService=t,s.mediaRecognizerService=n,s.elementRef=a,s.selectFile=new i.EventEmitter,s.clickFile=new i.EventEmitter,s.value=[],s.dimNotTranslated=!1,s.showNotTranslatedLabel=!0,s.culturesByFile={},s.reorderable=!1,s.isSelectable=!0,s.isNonTranslatedSelectable=!0,s.showFileName=!1,s.bottomGutter=80,s.showRemoveButton=!1,s.layouts=[],s.visibleNodes=[],s.containerHeight=0,s.containerWidth=0,s.yOffset=0,s.topGutter=0,s.headerLayoutSize=66,s.marginLayoutSize=60,s}return Object(o.__extends)(FileListComponent,e),Object.defineProperty(FileListComponent.prototype,"mediaItems",{get:function(){return this._files},set:function(e){this._files=e,this.groupFiles()},enumerable:!1,configurable:!0}),Object.defineProperty(FileListComponent.prototype,"groupByMonth",{get:function(){return this._groupByMonth},set:function(e){this._groupByMonth=e},enumerable:!1,configurable:!0}),FileListComponent.prototype.ngOnInit=function(){this.settings&&(this.showRemoveButton=this.settings.showRemoveButton,this.isSelectable=this.settings.isSelectable,this.isCentered=this.settings.isCentered,this.value&&this.value.length>0&&(this.mediaEntityData=this.value[0],this.mediaItems&&0!==this.mediaItems.length||(this.mediaItems=this.value))),this.previewUrl=this.mediaRecognizerService.getPreviewUrlProperty(this.mediaEntityData.metadata.setName),this.thumbnailLook=this.mediaEntityData.metadata.isMultimedia?"stretched":null},FileListComponent.prototype.ngAfterViewChecked=function(){0===this.topGutter&&(this.topGutter=this.elementRef.nativeElement.getBoundingClientRect().top)},FileListComponent.prototype.onFileClick=function(e){e.data.failedValidation||this.reorderable||this.clickFile.next(e)},FileListComponent.prototype.onFileSelect=function(e){e.data.failedValidation||this.reorderable||this.selectFile.next(e)},FileListComponent.prototype.isSelected=function(e){if(this.isSelectable)return this.value.findIndex((function(t){return t.data.Id===e.data.Id}))>=0},FileListComponent.prototype.onWindowScroll=function(t){this.wrapper&&this.wrapper.nativeElement.offsetParent&&e.prototype.onWindowScroll.call(this,t)},FileListComponent.prototype.onResize=function(e){Math.round(e.contentRect.width)!==Math.round(this.containerWidth)&&this.recalculateLayouts()},FileListComponent.prototype.onRemoveMediaClick=function(e){this.mediaItems=this.mediaItems.filter((function(t){return t.key!==e.key})),this.writeValue(this.mediaItems)},FileListComponent.prototype.recalculateLayout=function(){this.recalculateLayouts(),this.scrollDispatched(this.yOffset)},FileListComponent.prototype.scrollDispatched=function(e){var t=this;void 0===e&&(e=0),this.yOffset=e;var n=this.window.document.documentElement.clientHeight,o=0,i=this.layouts.length-1;this.layouts.forEach((function(r,a){t.getLayoutTop(t.layouts,a+1)0?l:0,this.changeArrayContent(this.visibleNodes,r)},FileListComponent.prototype.updateVisibleBoxes=function(e,t){var n;e.boxes=e.boxes.filter((function(e){return t.find((function(t){return t.index===e.index}))})).map((function(e){var n=t.find((function(t){return t.index===e.index}));return Object.assign(e,n)}));var o=t.filter((function(t){return!e.boxes.find((function(e){return e.index===t.index}))}));(n=e.boxes).push.apply(n,o)},FileListComponent.prototype.getLayoutTop=function(e,t){for(var n=0,o=0;o0?this.filesByMonth={default:e}:this.filesByMonth={},this.months=Object.keys(this.filesByMonth),this.recalculateLayouts())}},FileListComponent.prototype.groupFilesByMonth=function(e,t){var n={};return t.forEach((function(t){var o=new Date(Date.parse(t.data[p.Properties.DATE_CREATED])).toLocaleString(e,{month:"long",year:"numeric"}),i=n[o]||[];i.push(t),n[o]=i})),n},FileListComponent.prototype.recalculateLayouts=function(){if(this.months||this.mediaItems){var e=0===this.wrapper.nativeElement.offsetWidth?this.getContainerDefaultWidth():this.wrapper.nativeElement.offsetWidth,t=[],n=r.DEFAULT_BOX_HEIGHT,o=r.DEFAULT_BOX_SPACING;if(this.mediaEntityData.metadata.isMultimedia||(n=r.DOCUMENT_ROW_HEIGHT,o=r.DOCUMENT_BOX_SPACING),this.groupByMonth&&this.months.length>0)for(var i=0;i1&&(e=e.replace(o[1],o[1].substring(1,o[1].length-1))),n.window.open(e,_.SAME_TAB_TARGET)}}),(function(e){var t=_.stringConstants.EMPTY_STRING;e&&e.innerErrors&&e.innerErrors[0]&&e.innerErrors[0].message&&(t=e.innerErrors[0].message),!t&&e&&e.message&&(t=e.message),t||(t="An error occurred while trying to update the page.");var o={message:t,look:D.NOTIFICATION_LOOKS.ERROR};n.notificationService.publishBasicNotification(o)}))),o},EditPageComponent.prototype.getOperationsDataContext=function(){return{isEditingPageContent:!0}},EditPageComponent.prototype.handleSaveOperationSuccess=function(t,n,o,i){if(void 0===i&&(i=null),t){var r=i||n.sourceOperation.Name;this.zoneEditor.handleCompletedWorkflowOperation(r)}e.prototype.handleSaveOperationSuccess.call(this,t,n,o,i)},EditPageComponent.prototype.configureNavbar=function(){var t=this;return e.prototype.configureNavbar.call(this).pipe(Object(k.tap)((function(){t.navbarConfiguration.look="toggle "+K,t.navbarConfiguration.leftNavbarButtonData.title=W,t.navbarConfiguration.leftNavbarButtonData.autoNavigateBack=!1})))},EditPageComponent.prototype.handleKeyboardShortcuts=function(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,s.COMPONENT_NAMES.EDIT_PAGE,!1).subscribe((function(t){if(t)switch(t.type){case O.KeyboardActionType.Delete:case O.KeyboardActionType.Publish:case O.KeyboardActionType.Save:case O.KeyboardActionType.Unpublish:case O.KeyboardActionType.Schedule:case O.KeyboardActionType.Preview:e.triggerKeyboardShortcutAction(t);break;case O.KeyboardActionType.Create:e.navigateToCreatePage()}}));this.registerSubscription(t)},EditPageComponent.prototype.triggerKeyboardShortcutAction=function(e){!this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.editableFields.triggerValidCheck()&&(this.buttonsState&&this.buttonsState.primary&&this.buttonsState.primary.state!==p.ButtonState.Default||this.onActionButtonClicked(e.action)))},EditPageComponent.prototype.navigateToCreatePage=function(){var e=A.DataItem.emptyItem(this.entityData),t={actionName:c.OPERATION_NAMES.create,item:e,route:this.route};this.pagesCommonHandler.navigateToEdit(t)},EditPageComponent.prototype.invokeWithPromptForUnsavedChanges=function(e){this.zoneEditor.getHasChanges()?this.window.confirm(s.UNSAVED_CHANGES_MESSAGE)&&e():e()},EditPageComponent.ɵfac=function EditPageComponent_Factory(e){return new(e||EditPageComponent)(H["ɵɵdirectiveInject"](m.DynamicItemStore),H["ɵɵdirectiveInject"](g.ModalWindowService),H["ɵɵdirectiveInject"](a.ActivatedRoute),H["ɵɵdirectiveInject"](C.FieldsGeneratorService),H["ɵɵdirectiveInject"](a.Router),H["ɵɵdirectiveInject"](d.CompositeOperationsProvider),H["ɵɵdirectiveInject"](S.CompositeEditExtender),H["ɵɵdirectiveInject"](E.WINDOW_TOKEN),H["ɵɵdirectiveInject"](h.Location),H["ɵɵdirectiveInject"](i.EnvironmentService),H["ɵɵdirectiveInject"](B.NOTIFICATION_SERVICE),H["ɵɵdirectiveInject"](u.Settings),H["ɵɵdirectiveInject"](I.WidgetPropertyEditorService),H["ɵɵdirectiveInject"](w.ActionButtonsStateService),H["ɵɵdirectiveInject"](f.DOCUMENT_TOKEN),H["ɵɵdirectiveInject"](v.ZoneEditor),H["ɵɵdirectiveInject"](T.EditNavigationService),H["ɵɵdirectiveInject"](M.ActionExecutorService),H["ɵɵdirectiveInject"](N.KeyboardShortcutsService),H["ɵɵdirectiveInject"](Q.SortService),H["ɵɵdirectiveInject"](R.PagesActionHandler),H["ɵɵdirectiveInject"](F.ParentService),H["ɵɵdirectiveInject"](U.AppStore),H["ɵɵdirectiveInject"](G.CompositeItemHooksProvider))},EditPageComponent.ɵcmp=H["ɵɵdefineComponent"]({type:EditPageComponent,selectors:[["sf-edit-page-component"]],hostBindings:function EditPageComponent_HostBindings(e,t){1&e&&H["ɵɵlistener"]("beforeunload",(function EditPageComponent_beforeunload_HostBindingHandler(e){return t.onBeforeUnload(e)}),!1,H["ɵɵresolveWindow"])},features:[H["ɵɵProvidersFeature"]([w.ActionButtonsStateService,N.KeyboardShortcutsService,z.ActionButtonsResolver]),H["ɵɵInheritDefinitionFeature"]],decls:6,vars:14,consts:[[3,"enableClickNotification","item$","customOperations","generalActionOperations","additionalActionOperations","personalizationOperations","navbarConfiguration","buttonsState","onBackButtonClick","onActionButtonClick"],["look","fixed","filter","item-edit"],["look","home",4,"ngIf"],[1,"-sf-hidden"],[3,"fieldSections","moduleName","contentLoaderHeight"],["look","home"]],template:function EditPageComponent_Template(e,t){1&e&&(H["ɵɵelementStart"](0,"sf-edit-item-menu",0),H["ɵɵlistener"]("onBackButtonClick",(function EditPageComponent_Template_sf_edit_item_menu_onBackButtonClick_0_listener(){return t.onNavigateBack()}))("onActionButtonClick",(function EditPageComponent_Template_sf_edit_item_menu_onActionButtonClick_0_listener(e){return t.onActionButtonClicked(e)})),H["ɵɵelementEnd"](),H["ɵɵelement"](1,"sf-notification-loader",1),H["ɵɵtemplate"](2,EditPageComponent_sf_loader_2_Template,1,0,"sf-loader",2),H["ɵɵelementStart"](3,"div",3),H["ɵɵelement"](4,"sf-editable-fields",4),H["ɵɵpipe"](5,"async"),H["ɵɵelementEnd"]()),2&e&&(H["ɵɵproperty"]("enableClickNotification",!0)("item$",t.item$)("customOperations",t.customOperations)("generalActionOperations",t.generalActionOperations)("additionalActionOperations",t.additionalActionOperations)("personalizationOperations",t.personalizationOperations)("navbarConfiguration",t.navbarConfiguration)("buttonsState",t.buttonsState),H["ɵɵadvance"](2),H["ɵɵproperty"]("ngIf",t.isLoading),H["ɵɵadvance"](2),H["ɵɵproperty"]("fieldSections",H["ɵɵpipeBind1"](5,12,t.fieldSections$))("moduleName",t.typeSetName)("contentLoaderHeight",t.contentLoaderHeight))},directives:[j.EditItemMenuComponent,Y.NotificationLoaderComponent,h.NgIf,V.EditableFieldsComponent,J.SfLoaderComponent],pipes:[h.AsyncPipe],styles:["sf-app.sf-app {\n --font-size-h1-lg: 64px;\n --font-size-h1: 42px;\n --font-size-h2: 20px;\n --font-size-h3: 20px;\n --font-size-h4-lg: 14px;\n --font-size-h4: 13px;\n --font-size-h5: 10px;\n --font-size-base: 13px;\n --font-size-lg: 15px;\n --default-icon-size: 18px;\n --icon-size-7xs: 5px;\n --icon-size-5xs: 10px;\n --icon-size-4xs: 11px;\n --icon-size-3xs: 12px;\n --icon-size-2xs: 13px;\n --icon-size-xs: 14px;\n --icon-size-s: 16px;\n --icon-size-m: 18px;\n --icon-size-l: 20px;\n --icon-size-xl: 22px;\n --icon-size-2xl: 28px;\n --icon-size-3xl: 36px;\n --icon-size-4xl: 48px;\n --icon-size-5xl: 60px;\n --icon-illustrative-size: 100px;\n --icon-illustrative-font-size: 46px;\n --icon-illustrative-size-sm: 60px;\n --icon-faq-size: 24px;\n --icon-menu-font-size: 42px;\n}"],encapsulation:2}),EditPageComponent}(b.DynamicItemComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ZoneEditor",(function(){return a}));var o=n(244),i=n(319),r=n(229),a=function(){function ZoneEditor(e){this.toolbarInstance=e.editorToolBar,this.zoneEditorInstance=e.zoneEditor}return ZoneEditor.prototype.handleCompletedWorkflowOperation=function(e){if(e!==i.OPERATION_NAMES.schedule){var t={get_commandName:function(){return e},get_commandArgument:function(){return e}};this.invokeSafeFunction("_workflowMenuCommandHandler",null,t)}else this.handleSaveDraftSuccess()},ZoneEditor.prototype.getHasChanges=function(){return this.zoneEditorInstance.get_isChangeMade()},ZoneEditor.prototype.handleSaveDraftSuccess=function(){this.invokeSafeFunction("_markNoPendingChanges")},ZoneEditor.prototype.invokeSafeFunction=function(e){for(var t,n=[],o=1;o0)("isInHeader",o)("filter",i.notificationFilter)}}function DynamicItemIndexComponent_ng_template_44_h1_0_Template(e,t){if(1&e&&(l["ɵɵelementStart"](0,"h1",59),l["ɵɵtext"](1),l["ɵɵpipe"](2,"async"),l["ɵɵelementEnd"]()),2&e){var n=l["ɵɵnextContext"](2);l["ɵɵadvance"](1),l["ɵɵtextInterpolate1"](" ",l["ɵɵpipeBind1"](2,1,n.displayName$)," ")}}function DynamicItemIndexComponent_ng_template_44_ng_container_1_ng_container_1_Template(e,t){1&e&&l["ɵɵelementContainer"](0)}function DynamicItemIndexComponent_ng_template_44_ng_container_1_Template(e,t){if(1&e&&(l["ɵɵelementContainerStart"](0),l["ɵɵtemplate"](1,DynamicItemIndexComponent_ng_template_44_ng_container_1_ng_container_1_Template,1,0,"ng-container",14),l["ɵɵelementContainerEnd"]()),2&e){l["ɵɵnextContext"](2);var n=l["ɵɵreference"](35);l["ɵɵadvance"](1),l["ɵɵproperty"]("ngTemplateOutlet",n)}}function DynamicItemIndexComponent_ng_template_44_ng_container_2_ng_container_1_Template(e,t){1&e&&l["ɵɵelementContainer"](0)}var _c11=function(e){return{itemsState:e,isInHeader:!0}};function DynamicItemIndexComponent_ng_template_44_ng_container_2_Template(e,t){if(1&e&&(l["ɵɵelementContainerStart"](0),l["ɵɵtemplate"](1,DynamicItemIndexComponent_ng_template_44_ng_container_2_ng_container_1_Template,1,0,"ng-container",32),l["ɵɵelementContainerEnd"]()),2&e){var n=t.ngIf;l["ɵɵnextContext"](2);var o=l["ɵɵreference"](37);l["ɵɵadvance"](1),l["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",l["ɵɵpureFunction1"](2,_c11,n))}}function DynamicItemIndexComponent_ng_template_44_ng_container_4_Template(e,t){1&e&&l["ɵɵelementContainer"](0)}var _c12=function(){return{isInHeader:!0}};function DynamicItemIndexComponent_ng_template_44_Template(e,t){if(1&e&&(l["ɵɵtemplate"](0,DynamicItemIndexComponent_ng_template_44_h1_0_Template,3,3,"h1",58),l["ɵɵtemplate"](1,DynamicItemIndexComponent_ng_template_44_ng_container_1_Template,2,1,"ng-container",4),l["ɵɵtemplate"](2,DynamicItemIndexComponent_ng_template_44_ng_container_2_Template,2,4,"ng-container",4),l["ɵɵpipe"](3,"async"),l["ɵɵtemplate"](4,DynamicItemIndexComponent_ng_template_44_ng_container_4_Template,1,0,"ng-container",32)),2&e){var n=l["ɵɵnextContext"](),o=l["ɵɵreference"](43);l["ɵɵproperty"]("ngIf",!n.searchParameter&&!n.isFilterActive&&n.itemSelectionInfo&&0===n.itemSelectionInfo.selectedItems.size&&!n.hasNotifications),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngIf",n.itemSelectionInfo&&0===n.itemSelectionInfo.selectedItems.size&&!n.hasNotifications),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngIf",l["ɵɵpipeBind1"](3,5,n.itemsState$)),l["ɵɵadvance"](2),l["ɵɵproperty"]("ngTemplateOutlet",o)("ngTemplateOutletContext",l["ɵɵpureFunction0"](7,_c12))}}var _c13=function(e,t,n,o,i){return{"-shrink":e,"-skip-animation":t,"-no-width-constraint":n,"-hierarchical":o,"-sf-virtualized":i}},_c14=function(e,t){return{"sf-row":e,"-justify-content-center":t}},_c15=function(e){return{"-sf-hidden":e}},ve=Math.max(document.documentElement.clientWidth,window.innerWidth||0)-100,we=function(e){function DynamicItemIndexComponent(t,n,o,r,a,A,l,c,d,p,f,u,m,g,h,b,C,B,k,I,v,w,_,x,y){var S=e.call(this,n,r,o,A,a,d,p,m,I)||this;S.gridExtender=t,S.windowProvider=A,S.columnsGenerator=l,S.scrollService=c,S.notificationService=f,S.reloadService=u,S.serverOperationExecutor=g,S.keyboardShortcutsService=h,S.ref=b,S.bundleDataService=C,S.contentFilterService=B,S.userMenuService=k,S.parentService=I,S.store=v,S.itemHooksProvider=w,S.sortService=_,S.childrenCountStore=x,S.reorderModuleChildrenProvider=y,S.classes="sf-host",S.enterLeaveAnimationState="fadeIn",S.isScrolled=!1,S.displayName$=new i.ReplaySubject(1),S.itemsState$=new i.ReplaySubject(1),S.isFilterActive=!1,S.isSearchActive=!1,S.treeConfig={noSelection:!0,multiSelection:!1,treeProperties:{idField:"id",hasChildrenField:"hasChildren"}},S.hasNotifications=!1,S.singularName$=new i.ReplaySubject(1),S.pluralName$=new i.ReplaySubject(1),S.navigationComponentData$=new i.ReplaySubject(1),S.loadFiltersCount=new i.ReplaySubject(1),S.fadeInAnimationState=X.ANIMATION_HIDDEN_STATE,S.activeFilter=new i.BehaviorSubject(null),S.bulkOperations=[],S._columns=new i.ReplaySubject(1),S._cssClass$=new i.BehaviorSubject(s.stringConstants.EMPTY_STRING),S.sidebarOperations=new i.ReplaySubject,S.entityData$=new i.ReplaySubject(1),S.dataFieldNames=null,S._columnsArray=[],S.parent$=new i.Subject,S.operationCompleted$=new i.Subject,S.topActionMenuOptions=new E.ActionMenuOptions(Number.NEGATIVE_INFINITY,0),S.bulkActionMenuOperations=new i.BehaviorSubject([]),S.columns=S._columns.asObservable(),S.cssClass$=S._cssClass$.asObservable();var T=S.userMenuService.onUserDialogOpen.subscribe((function(e){return S.showDialogContent(e)}));return S.registerSubscription(T),S}return Object(o.__extends)(DynamicItemIndexComponent,e),Object.defineProperty(DynamicItemIndexComponent.prototype,"enterLeaveAnimation",{get:function(){return this.enterLeaveAnimationState},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemIndexComponent.prototype,"currentPresenter",{get:function(){return this.listComponent||this.thumbNailComponent},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemIndexComponent.prototype,"areItemsFiltered",{get:function(){return this.isFilterActive||this.isSearchActive},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemIndexComponent.prototype,"showProviders",{get:function(){return!this.entityData.metadata.hasParent},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemIndexComponent.prototype,"hideLoadMore",{get:function(){return this.gridExtender.hideLoadMore(this.route,this.entityData)},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemIndexComponent.prototype,"processedEntityData",{get:function(){return this.gridExtender.processEntityData(this.entityData)},enumerable:!1,configurable:!0}),Object.defineProperty(DynamicItemIndexComponent.prototype,"notificationFilter",{get:function(){return this.gridExtender.getNotificationServiceFilter(this.entityData)},enumerable:!1,configurable:!0}),DynamicItemIndexComponent.prototype.onViewModeChanged=function(){var e=this.presenterTemplate;this.presenterTemplate=this.gridExtender.getPresenterTemplate(this.entityData),this.ref.detectChanges();var t=this.gridExtender.shouldReloadItemsOnViewModeChanged(e,this.entityData);this.reload(void 0,t),this.presenterTemplate!==e&&void 0!==e&&(this.loadOperationsForList(),this.currentPresenter.clearAllSelectedNodes(),this.scrollService.scrollToTop(!1)),t&&this.loadOperationsForBulk()},DynamicItemIndexComponent.prototype.ngOnInit=function(){var e=this,t=!this.route.snapshot.params[C.ROUTE_PARAMS.PARENT_ID_SEGMENT];this.isVirtualizedTree=this.gridExtender.getVirtualizationOptions(this.route).isVirtualized,t&&(this.parent$=new i.ReplaySubject(1)),this.registerSubscription(this.store.pipe(le.SIDEBAR_SELECTORS.isOpen).subscribe((function(t){e.isSidebarOpen=t}))),this.registerSubscription(this.store.pipe(le.SIDEBAR_SELECTORS.shouldAnimate).subscribe((function(t){e.isSidebarAnimated=t}))),this.registerSubscription(this.store.pipe(le.SIDEBAR_SELECTORS.sidebarData).subscribe((function(t){e.hasSidebar=!!t}))),this.initNavMenu(),this.container=this.route.parent.snapshot.data.metaStore,this.itemsPerTake=this.gridExtender.getTakeItemsCount(this.route),this.processRouteParamsChanges(),this.itemHooksProvider.executeObservableHook(this.itemsState$.pipe(Object(r.first)()),"onGridItemsInitializing",(function(e){return{items:e.dataItems}})).subscribe();var n=this.itemHooksProvider.executeObservableHook(this.itemsState$,"onGridItemsChanged",(function(e){return{items:e.dataItems}})).subscribe((function(t){var n;if(e.fadeInAnimationState=t.isLoading?X.ANIMATION_HIDDEN_STATE:X.ANIMATION_VISIBLE_STATE,e.processCss(t),!t.isLoading){var o=!0;if(e.lastItemsState){var i=e.lastItemsState.dataItems.length>0&&0===t.dataItems.length,r=0===e.lastItemsState.dataItems.length&&t.dataItems.length>0;(i||r)&&e.loadOperationsForList(!1),o=e.lastItemsState.order!==t.order}e.lastItemsState=t,o&&e.updateGroupColumnVisibility(t.order);var a=!0,s=e.gridExtender.getCurrentPaging({entityData:e.entityData});if(s&&s.root>0&&t.getCurrentPage(e.itemsPerTake)0&&(a=!1,e.loadAdditionalItems()),a){var A=t.getCurrentPage(e.itemsPerTake);e.gridExtender.setCurrentPaging({entityData:e.entityData,itemPaging:(n={},n.root=A,n)})}e.registerSubscription(e.gridExtender.getTotalItemsCountWithChildren(t.totalCount,e.route).subscribe((function(t){return e.totalItemsCountWithChildren=t})));var l=e.route.parent.snapshot.data.siteDataStore;e.gridExtender.getAsyncColumnsValues(e._columnsArray,e.entityData,t,l.Id,e.bundleDataService)}}));this.registerSubscription(n);var o=this.notificationService.getNotification().subscribe((function(t){t&&e.notificationFilter===t.filterParam&&(e.hasNotifications=!0)}));this.handleRouteChanges();var a=this.notificationService.getCloseNotification().subscribe((function(t){e.notificationFilter===t.filterParam&&(e.hasNotifications=!1)}));this.registerSubscription(o),this.registerSubscription(a);var s=this.reloadService.reloadRequested.subscribe((function(){e.reload()}));this.registerSubscription(s),this.onViewModeChanged(),this.handleKeyboardShortcuts()},DynamicItemIndexComponent.prototype.ngAfterViewInit=function(){this.itemHooksProvider.executeObservableHook(this.itemsState$.pipe(Object(r.first)()),"afterGridInit",(function(e){return{items:e.dataItems}})).subscribe()},DynamicItemIndexComponent.prototype.ngOnDestroy=function(){var t=this;this.itemHooksProvider.executeObservableHook(this.itemsState$.pipe(Object(r.first)()),"onGridItemsUnloading",(function(e){return{items:e.dataItems}})).subscribe((function(){e.prototype.ngOnDestroy.call(t),t.keyboardShortcutsService.removeListener(C.COMPONENT_NAMES.DYNAMIC_ITEM_INDEX)}))},DynamicItemIndexComponent.prototype.onVisibleNodesCountChanged=function(e){this.visibleItemsCount=e},DynamicItemIndexComponent.prototype.onNavbarScroll=function(e){this.isScrolled=e;var t=this._cssClass$.getValue();e?t+=" -sf-invisible":t=t.replace(" -sf-invisible",s.stringConstants.EMPTY_STRING),this._cssClass$.next(t)},DynamicItemIndexComponent.prototype.onLeftNavButtonClick=function(){this.navigate([{outlets:{menu:A.ROUTE_PATHS_NO_PREFIX.MENU_HOME}}],{relativeTo:this.route})},DynamicItemIndexComponent.prototype.loadAdditionalItems=function(){var e=this;if(!this.modalWindowService.isDialogOpened){var t=this.getFilterAction(),n=this.getSort(this.route.snapshot.queryParams);this.loadMoreSubscription&&this.loadMoreSubscription.unsubscribe(),this.lastItemsState&&this.lastItemsState.totalCount===this.lastItemsState.dataItems.length||(this.loadMoreSubscription=this.gridExtender.loadMore({action:t,order:n,dataFieldNames:this.dataFieldNames,entityData:this.entityData,executedSearchParameter:this.executedSearchParameter,parentId:this.parentId,route:this.route,treeConfig:this.treeConfig,currentState:this.lastItemsState}).subscribe((function(t){return e.itemsState$.next(t)})),this.registerSubscription(this.loadMoreSubscription))}},DynamicItemIndexComponent.prototype.getFilterAction=function(){var e=this.route.snapshot.queryParams[C.FILTER_PARAMS.FILTER];return e?C.ACTIONS.FILTER(e):null},DynamicItemIndexComponent.prototype.onSelectAll=function(e){var t=this;void 0===e&&(e=!1),this.itemSelectionInfo.allItemsSelected=e,this.itemsState$.pipe(Object(r.take)(1)).subscribe((function(e){var n=e.dataItems.filter((function(e){return e.data.inactive})).map((function(e){return e.data.Id}));t.currentPresenter.selectAllNodes(n)}))},DynamicItemIndexComponent.prototype.onClearSelection=function(){this.currentPresenter&&this.itemSelectionInfo&&this.currentPresenter.clearAllSelectedNodes(),this.itemSelectionInfo=a.BULK_ITEM_SELECTION_INFO_INITIAL_VALUE},DynamicItemIndexComponent.prototype.onSingleAction=function(e){var t=this;this.registerSubscription(this.dynamicItemStore.getItem({entityData:e.entityData,itemKey:e.dataItemKey}).subscribe((function(n){var o={data:{button:e.button,dataItem:n},name:S.COMMAND_NAMES.itemActionClicked};t.onCommand(o)})))},DynamicItemIndexComponent.prototype.onSearch=function(e){var t=this;if(e){this.searchParameter=e,this.scrollService.scrollToTop(!1);var n=this.route.snapshot.queryParams;this.sortQueryBeforeSearch=n[C.FILTER_PARAMS.SORT];var o=Object.assign({},n);delete o[C.FILTER_PARAMS.FILTER],this.entityData&&this.entityData.metadata.isSelfReferencing&&(o[C.FILTER_PARAMS.SORT]=$.LAST_MODIFIED_DESC_SORT_ORDER);var i={};this.contentFilterService.getSearchFields(this.entityData).forEach((function(e){return i[e.fieldName]=[t.searchParameter]}));var r=this.contentFilterService.serializeQueryParams(i);o[C.FILTER_PARAMS.SEARCH]=r,this.navigate([],{queryParams:o}),this.notificationService.close(this.notificationFilter)}},DynamicItemIndexComponent.prototype.onItemSelected=function(e){var t=this;if(this.loadOperationsForItemSubscription&&this.loadOperationsForItemSubscription.unsubscribe(),1===e.selectedItems.size){var n=e.selectedItems.values().next().value;n.isTranslated?(this.loadOperationsForItemSubscription=this.operationsProvider.getListItemOperations(n,this.parentItem).subscribe((function(n){t.bulkActionMenuOperations.next(n);var o=t.gridExtender.modifySingleItemOperations(t.entityData,n,{currentItemSelectionInfo:e,previousItemSelectionInfo:t.itemSelectionInfo,itemsState:t.lastItemsState});t.bulkActionMenuOperations.next(o)})),this.registerSubscription(this.loadOperationsForItemSubscription)):this.bulkActionMenuOperations.next([])}else{var o=Object.assign({},e,{allItemsSelected:!e.deselectedItems.size&&this.itemSelectionInfo.allItemsSelected}),i=this.gridExtender.modifyOperations(this.entityData,this.bulkOperations,{currentItemSelectionInfo:o,previousItemSelectionInfo:this.itemSelectionInfo,itemsState:this.lastItemsState});this.bulkActionMenuOperations.next(i)}this.itemSelectionInfo={selectedItems:new Map(e.selectedItems),deselectedItems:new Map(e.deselectedItems),excludedItems:e.excludedItems,nodesPositions:new Map(e.nodesPositions),allItemsSelected:this.itemSelectionInfo.allItemsSelected}},DynamicItemIndexComponent.prototype.onClearFilter=function(e){void 0===e&&(e=!0),this.scrollService.scrollToTop(!1);var t=Object.assign({},this.route.snapshot.queryParams);this.searchParameter=s.stringConstants.EMPTY_STRING,delete t[C.FILTER_PARAMS.SEARCH],delete t[C.FILTER_PARAMS.FILTER],this.entityData&&this.entityData.metadata.isSelfReferencing&&(this.sortQueryBeforeSearch?t[C.FILTER_PARAMS.SORT]=this.sortQueryBeforeSearch:delete t[C.FILTER_PARAMS.SORT]),this.navigate([],{queryParams:t})},DynamicItemIndexComponent.prototype.onActionButtonClicked=function(e,t){var n=this;t||(t=B.DataItem.emptyItem(this.entityData)),this.gridExtender.modifyActionContext({actionName:e.name,item:t,route:this.route},this.entityData).pipe(Object(r.first)()).subscribe((function(o){if(e.name===v.OPERATION_NAMES.create&&o.item.metadata.isSelfReferencing&&1===n.itemSelectionInfo.selectedItems.size){var i=n.itemSelectionInfo.selectedItems.values().next().value;n.onActionButtonClicked({name:v.OPERATION_NAMES.createChild,requiresConfirmation:!1,title:s.stringConstants.EMPTY_STRING,isPrimary:!1},i)}else{var r=n.gridExtender.tryHandleAction({actionName:e.name,item:t,route:n.route,grid:n});n.registerSubscription(r.subscribe((function(i){if(i){if(e.name===v.OPERATION_NAMES.move&&(n.reload(),n.operationCompleted$.next({operationName:e.name,modifiedItemIds:t?[t.key]:[]})),[v.OPERATION_NAMES.edit,v.OPERATION_NAMES.duplicate].includes(e.name)){var r=new CustomEvent(pe.ON_RELOAD_CONTENT_FILTER_EVENT_NAME,{detail:n.entityData});n.window.dispatchEvent(r)}}else n.onActionButtonClickedFallback(e,t,o)})))}}))},DynamicItemIndexComponent.prototype.singleItemSync=function(e,t){var n=this,o={fields:null,fallbackPropertyNames:null,dataFieldNames:this.dataFieldNames,itemPosition:this.getItemPosition()},i=new L.SiteSyncCommand(this.dynamicItemStore,this.modalWindowService);this.registerSubscription(i.execute({currentRoute:this.route,model:null,data:{entityData:this.entityData,dataItem:e,action:t,publishParams:o}}).subscribe((function(o){if(o)if(o.isPublished){var r=i.getNotification(n.route);r&&(r.removePreviousView=!0,r.filterParam=n.notificationFilter,n.notificationService.publishNotification(r),n.reload())}else o.error&&!o.hasTemplateErrors&&n.handleSaveError(e,t.name,o.error)})))},DynamicItemIndexComponent.prototype.onProviderSelectionChange=function(e){var t=Object.assign({},this.route.parent.snapshot.queryParams);t[C.QUERY_PARAMS.PROVIDER]=e.tabValue,this.navigate([],{queryParams:t})},DynamicItemIndexComponent.prototype.onBulkActionsLoadingChange=function(e){this.areBulkActionsLoading=e.isLoading,e.operationResult&&this.operationCompleted$.next({operationName:e.operationName,modifiedItemIds:e.operationResult.succeededItemsIds})},DynamicItemIndexComponent.prototype.onExpandedItemsChanged=function(e){this.gridExtender.setExpandedNodeIds({entityData:this.entityData,expandedIds:e})},DynamicItemIndexComponent.prototype.onNotificationCommand=function(e){e===S.COMMAND_NAMES.refresh&&this.reload()},DynamicItemIndexComponent.prototype.onCommand=function(e){var t=this;if(e){var n=e.data;switch(e.name){case S.COMMAND_NAMES.childNavigate:var o=n;this.navigateToIndex(o.dataItem,o.childSetName);break;case S.COMMAND_NAMES.createChild:var i={culture:(o=n).dataItem.culture,provider:o.dataItem.provider,metadata:this.container.entities[o.childSetName]},r=o.dataItem.key;this.navigateToEdit(new B.NavigateToEditArguments({dataItem:B.DataItem.emptyItem(i),parentId:r,commandName:S.COMMAND_NAMES.createChild}));break;case S.COMMAND_NAMES.itemActionClicked:var a=n;this.onActionButtonClicked(a.button,a.dataItem);break;case S.COMMAND_NAMES.selectionChanged:var s=n;if(this.gridExtender.shouldNavigateToChildGrid(s)){var A=this.reorderModuleChildrenProvider.getFirstChildEntitySet(s.metadata.setName);this.store.dispatch(Ae.SIDEBAR_DISPATCH_ACTION.close(!1,!1)),this.navigateToIndex(s,A)}else{var l=v.OPERATION_NAMES.edit,c=this.gridExtender.tryHandleAction({actionName:S.COMMAND_NAMES.selectionChanged,item:s,route:this.route,grid:this});this.registerSubscription(c.subscribe((function(e){if(!e){var n=new B.NavigateToEditArguments({dataItem:s,commandName:l,openDialog:t.gridExtender.openEditItemInDialog(s)});t.navigateToEdit(n)}})))}break;case S.COMMAND_NAMES.sortExpressionChanged:var d=n;this.onSortExpressionChanged(d);break;case S.COMMAND_NAMES.loadMoreChildren:var p=n;this.loadMoreChildren(p.parent);break;case S.COMMAND_NAMES.changeCulture:var f=n;c=this.gridExtender.tryHandleAction({actionName:S.COMMAND_NAMES.changeCulture,item:f.dataItem,route:this.route,data:{culture:f.culture},grid:this});this.registerSubscription(c.subscribe((function(e){if(!e){var n=v.OPERATION_NAMES.edit,o=B.DataItem.fromCulture(f.dataItem,f.culture);t.navigateToEdit(new B.NavigateToEditArguments({dataItem:o,commandName:n,translationCultureSource:f.dataItem.culture}))}})));break;case S.COMMAND_NAMES.refresh:this.reload()}this.onClearSelection()}},DynamicItemIndexComponent.prototype.reload=function(e,t){var n=this;void 0===t&&(t=!0),this.initEmptyScreenIcon();var o=this.getSort(e),i=this.gridExtender.getVirtualizationOptions(this.route);this.treeConfig.virtualizationOptions=i,this.isVirtualizedTree=i.isVirtualized,this.treeConfig.isHierarchical=this.gridExtender.isHierarchical(this.route),this.treeConfig.isHierarchical?(this.treeConfig.treeProperties.getChildren=function(e){return n.loadChildNodes(e)},t&&(this.onClearSelection(),this.registerSubscription(this.gridExtender.getExpandedNodeIds({entityData:this.entityData}).subscribe((function(e){n.treeConfig.expandedNodeIds=e;var t=n.gridExtender.getItemsData(n.route,n.dataFieldNames,{expandedNodeIds:e});t.order=o,n.dynamicItemStore.loadItems(t)}))))):(e||(e=this.route.snapshot.queryParams),o=this.getSort(e),delete this.treeConfig.treeProperties.getChildren,t&&(this.onClearSelection(),this.itemStateSubscription&&this.itemStateSubscription.unsubscribe(),this.itemStateSubscription=this.gridExtender.reloadItems(e,this.parentId,this.entityData,o,this.dataFieldNames).subscribe((function(e){e.isLoadingItems||n.updateFilterAndSearchActivity(),n.itemsState$.next(e),n.navbarConfiguration.isScrollEnabled=e.hasLoadedItems||!e.hasLoadedItems&&e.isLoadingItems})),this.registerSubscription(this.itemStateSubscription))),this.loadFiltersCount.next(!0)},DynamicItemIndexComponent.prototype.getVisibleItemsCount=function(e){return this.visibleItemsCount||0===this.visibleItemsCount?this.visibleItemsCount:e.dataItems.length},DynamicItemIndexComponent.prototype.getTotalProgressTaskHtmlElementsHeigth=function(e){this.navbarConfiguration&&(this.navbarConfiguration.stickyScrollOffset=e+ae.STICKY_MIN_SCROLL_VALUE)},DynamicItemIndexComponent.prototype.loadChildNodes=function(e,t){var n=this;void 0===t&&(t=!0);var o=0;!t&&e.data.children&&(o=e.data.children.length-1);var i=1,r=e.data.dataItem.key;if(t){var a=this.gridExtender.getCurrentPaging({entityData:this.entityData});a&&a[r]>0&&(i=a[r])}for(var s=[],A=0;A0){var a={dataItems:o.map((function(e){return e.dataItems})).reduce((function(e,t){return e.concat(t)}),[]),entityData:o[0].entityData,totalCount:o[0].totalCount},s=n.currentPresenter.loadMoreChildNodes(a,e,t),A=(t?s:e.data.children).filter((function(e){return!e.dataItem.data.isLink})),l=Math.ceil(A.length/T.DEFAULT_TAKE);return n.gridExtender.setCurrentPaging({entityData:n.entityData,itemPaging:(i={},i[r]=l,i)}),s.map((function(e){return e.dataItem}))}return[]}))},DynamicItemIndexComponent.prototype.loadMoreChildren=function(e){this.loadChildNodes(e,!1)},DynamicItemIndexComponent.prototype.showFilter=function(){if(this.scrollService.scrollToTop(!0),this.sidebarData){var e=this.sidebarData.buttons.find((function(e){return"filter"===e.name}));e&&this.store.dispatch(Ae.SIDEBAR_DISPATCH_ACTION.changeAndOpen(e,!0))}},DynamicItemIndexComponent.prototype.showDialogContent=function(e){this.modalWindowService.setMapping(e,"preferences"),this.modalWindowService.show("preferences",this.route.parent)},DynamicItemIndexComponent.prototype.navigateToEdit=function(t){var n=this;if(t.commandName!==S.COMMAND_NAMES.createChild&&this.entityData.metadata.setName!==t.dataItem.metadata.setName){var o={culture:this.entityData.culture,provider:this.entityData.provider,metadata:t.dataItem.metadata};this.processTitleChange(o)}var i=e.prototype.navigateToEdit.call(this,t);return t.dataItem.metadata.hasLifecycle&&!t.openDialog&&this.store.dispatch(Ae.SIDEBAR_DISPATCH_ACTION.close(!1,!1)),this.registerSubscription(i.subscribe((function(e){e.hasOwnProperty("isLoading")&&(n.isLoading=e.isLoading);var o=n.gridExtender.shouldReloadItemsAfterEdit(t,e);e.success&&o.reloadGrid&&n.reload(),o.reloadTasks&&n.longRunningProgressComponent&&n.longRunningProgressComponent.refresh(null)}))),i},DynamicItemIndexComponent.prototype.handleRouteChanges=function(){this.handleNavigationEnd(),this.handleRouteRecognized()},DynamicItemIndexComponent.prototype.handleNavigationEnd=function(){var e=this,t=this.router.events.pipe(Object(r.filter)((function(e){return e instanceof c.NavigationEnd}))).subscribe((function(t){e.clearNotificationsForCurrentFilter(),e.stopLoading()}));this.registerSubscription(t)},DynamicItemIndexComponent.prototype.handleRouteRecognized=function(){var e=this,t=this.router.events.pipe(Object(r.filter)((function(e){return e instanceof c.RoutesRecognized}))).subscribe((function(t){e.triggerLoading()}));this.registerSubscription(t)},DynamicItemIndexComponent.prototype.clearNotificationsForCurrentFilter=function(){var e=this;this.hasNotifications&&this.notificationService.getNotification().pipe(Object(r.first)()).subscribe((function(t){t&&t.filterParam===e.notificationFilter||e.notificationService.close()}))},DynamicItemIndexComponent.prototype.triggerLoading=function(e){void 0===e&&(e=!0),this.autoTriggerLoading&&(this.isLoading=e)},DynamicItemIndexComponent.prototype.stopLoading=function(){this.triggerLoading(!1)},DynamicItemIndexComponent.prototype.onActionButtonClickedFallback=function(e,t,n){var o=this;if(n.actionName===v.OPERATION_NAMES.create){var r=null;if(n.item.metadata.ignoreParentChildRelationship&&!n.item.metadata.isMedia){var a=this.route.snapshot.queryParams[C.FILTER_PARAMS.FILTER];a&&a.indexOf("Parent,")>-1&&(r=this.route.snapshot.queryParams[C.FILTER_PARAMS.FILTER].replace("Parent,",""))}else n.item.metadata.hasParent&&this.route.snapshot.params.parentId&&(r=this.route.snapshot.params.parentId);this.registerSubscription(this.navigateToEdit(new B.NavigateToEditArguments({dataItem:B.DataItem.emptyItem(n.item),parentId:r,parentItem:this.parentItem,openDialog:this.gridExtender.openEditItemInDialog(n.item),navigateToChildrenAfterCreate:n.data?n.data.navigateToChildrenAfterCreate:void 0})).subscribe((function(e){e.success&&o.operationCompleted$.next({modifiedItemIds:[],operationName:n.actionName})})))}else if(n.actionName===v.OPERATION_NAMES.createChild){r=n.item.data.Id;this.registerSubscription(this.navigateToEdit(new B.NavigateToEditArguments({dataItem:B.DataItem.emptyItem(n.item),parentId:r,prepopulatedFields:{ParentId:r},commandName:S.COMMAND_NAMES.createChild,navigateToChildrenAfterCreate:n.data?n.data.navigateToChildrenAfterCreate:void 0})).subscribe((function(e){e.success&&o.operationCompleted$.next({modifiedItemIds:[],operationName:n.actionName})})))}else if(n.actionName===v.OPERATION_NAMES.createChildCategory){var s=n.item.data[W.TWEAKS_METADATA_PROPERTIES.TAXONOMY_ID];this.navigateToEdit(new B.NavigateToEditArguments({dataItem:B.DataItem.emptyItem(n.item),parentId:s,prepopulatedFields:{ParentId:t.data.Id,TaxonomyId:s},commandName:S.COMMAND_NAMES.createChild}))}else if(n.actionName===v.OPERATION_NAMES.reorder){var A=void 0;A=this.entityData.metadata.typeFullName===j.default.HIERARCHICAL_TAXON_FULL_NAME?{entityData:n.item,parentItem:this.parentItem,treeConfig:{drag:!0,noSelection:!0}}:ee.MediaHelpers.isLibraryOrMedia(this.entityData.metadata.setName)&&!ee.MediaHelpers.isFolderEntity(this.entityData)?{entityData:n.data,parentItem:n.item}:{entityData:n.item,parentItem:this.parentItem},this.registerSubscription(new R.ReorderCommand(this.modalWindowService,this.dynamicItemStore,this.route,this.notificationService).execute({currentRoute:this.route,model:null,data:A}).subscribe((function(){return o.reload()})))}else if(n.actionName===v.OPERATION_NAMES.edit||n.actionName===v.OPERATION_NAMES.view||n.actionName===v.OPERATION_NAMES.editContent)this.registerSubscription(this.navigateToEdit(new B.NavigateToEditArguments({dataItem:t,commandName:n.actionName,navigateToChildrenAfterCreate:n.data?n.data.navigateToChildrenAfterCreate:void 0})).subscribe((function(e){!e.success||n.actionName!==v.OPERATION_NAMES.edit&&n.actionName!==v.OPERATION_NAMES.view||o.operationCompleted$.next({modifiedItemIds:[],operationName:n.actionName})})));else if(n.actionName===v.OPERATION_NAMES.duplicate)this.navigateToEdit(new B.NavigateToEditArguments({dataItem:t,commandName:v.OPERATION_NAMES.duplicate}));else if(n.actionName===v.OPERATION_NAMES.siteSync)this.singleItemSync(t,e);else if(n.actionName===v.OPERATION_NAMES.move)this.moveToAnotherParent(n);else if(n.actionName===v.OPERATION_NAMES.moveTaxon)new H.MoveTaxonCommand(this.modalWindowService,this.dynamicItemStore,this.window).execute({currentRoute:this.route,model:null,data:{entityData:this.route.snapshot.data.dynamicItems,selectedItems:[n.item],parentId:this.route.snapshot.params.parentId,contextParameters:e.contextParameters}});else{var l={actionButton:e,actionButtonStateService:null,route:this.route,updateItem:{dataItem:t,data:null,dataFieldNames:this.dataFieldNames}};this.registerSubscription(this.gridExtender.executeServerAction(this.serverOperationExecutor,l).subscribe((function(t){t&&(o.notificationService.publishNotificationFromOperationResult(t,o.notificationFilter),t.operationData&&t.operationData.skipReload||o.reload(o.route.snapshot.queryParams),t.operationResult&&t.operationResult.Success&&o.operationCompleted$.next({operationName:e.name,modifiedItemIds:[]}))}),(function(n){if(n instanceof P.OperationFailedError&&"ParentHasChildren"===n.code){var r=Q.DeleteCommand.getItemCannotBeDeletedModalSettings([t],{action:e},new i.Subject);o.modalWindowService.openModalConfirmation(o.route,r,t)}else o.handleSaveError(t,e.name,n)})))}},DynamicItemIndexComponent.prototype.moveToAnotherParent=function(e){var t=this;return new ue.MoveCommand(this.modalWindowService,this.dynamicItemStore.service,this.notificationService,this.container,this.sortService,this.childrenCountStore).execute({currentRoute:e.route,data:{dataItem:e.item},model:null}).subscribe((function(){t.reload()}))},DynamicItemIndexComponent.prototype.loadOperationsForList=function(e){var t=this;void 0===e&&(e=!0);var n=this.gridExtender.isHierarchical(this.route),o=new w.OperationsData(B.DataItem.emptyItem(this.entityData),w.OperationsTarget.List,this.parentItem,{origin:this.window.location.href,isHierarchicalView:n});e||(o.additionalQueryParams={fake_param_to_clear_cache:s.stringConstants.EMPTY_STRING}),this.registerSubscription(this.operationsProvider.getOperations(o).subscribe((function(e){t.sidebarOperations.next(e)}))),this.registerSubscription(this.operationsProvider.getListMainOperations(this.entityData,this.parentItem,n).subscribe((function(e){t.operations.next(e)})))},DynamicItemIndexComponent.prototype.loadOperationsForBulk=function(){var e=this,t=new i.ReplaySubject(1);if(this.entityData){var n=this.gridExtender.modifyEntityDataForBulkOperations(this.entityData,this.presenterTemplate);this.registerSubscription(this.operationsProvider.getBulkOperations(n,this.parentItem).subscribe((function(n){e.bulkOperations=n,e.bulkActionMenuOperations.next(n),e.treeConfig.multiSelection=n.length>0,e.refreshTreeConfig(),t.next(n)})))}},DynamicItemIndexComponent.prototype.clearNotificationsOnFilterChange=function(e){var t=e[C.FILTER_PARAMS.SEARCH],n=e[C.FILTER_PARAMS.FILTER];(t&&this.currentSearchQueryParam!==t||n&&this.currentFilterQueryParam!==n)&&this.notificationService.close(this.notificationFilter),this.currentSearchQueryParam=t,this.currentFilterQueryParam=n},DynamicItemIndexComponent.prototype.initNavMenu=function(){if(!this.topSearch||!this.scrollLeft||!this.topMenuOptions)throw new Error("One or more navigation templates are missing");if(this.navbarConfiguration={mode:this.isNavigationEmbedded?x.NavbarModes.OneColumn:x.NavbarModes.TwoColumns,leftNavbarButtonData:{show:!this.isNavigationEmbedded,look:"toggle",icon:"bars",mode:x.LeftNavbarButtonMode.Back,title:"Menu"},look:this.isNavigationEmbedded?"integration-list":s.stringConstants.EMPTY_STRING,templates:[this.topSearch]},!this.isNavigationEmbedded){if(!this.sidebarToggleButtons)throw new Error("Sidebar toggle buttons template is missing");this.navbarConfiguration.templates.push(this.sidebarToggleButtons)}this.navbarConfiguration.scrollTemplates=[this.scrollLeft,this.topMenuOptions]},DynamicItemIndexComponent.prototype.onSortExpressionChanged=function(e){var t;this.navigate([],{queryParams:(t={},t[C.QUERY_PARAMS.SORT]=e,t),queryParamsHandling:"merge"})},DynamicItemIndexComponent.prototype.handleSaveError=function(e,t,n){var o;n instanceof g.NotFoundError?this.handleNonExistentItem(e):(o=n instanceof P.OperationFailedError?"1 item failed to "+t.toLowerCase()+". "+n.message:"An error occurred while trying to "+t.toString()+" this item.",this.notificationService.publishNotification({type:U.BasicNotificationComponent,properties:{message:o},look:O.NOTIFICATION_LOOKS.ERROR,closeButton:!0,filterParam:this.notificationFilter,duration:C.NOTIFICATION_DURATION_INFINITE}))},DynamicItemIndexComponent.prototype.initializeSearchParam=function(){var e=this,t=this.route.snapshot.queryParams,n=Object.assign({},t)[C.FILTER_PARAMS.SEARCH];n?this.contentFilterService.deserializeQueryParams(n).forEach((function(t){e.searchParameter=t.value.toString()})):this.searchParameter=s.stringConstants.EMPTY_STRING;this.executedSearchParameter=this.searchParameter},DynamicItemIndexComponent.prototype.initialize=function(){var e=this;this.presenterTemplate=this.gridExtender.getPresenterTemplate(this.entityData),this.gridExtender.initialize(this.router,this.entityData),this.sidebarOperations=new i.ReplaySubject,this.isHierarchical=this.entityData.metadata.hasChildren&&!this.entityData.metadata.isSelfReferencing,this.pluralName$.next(null),this.initializeSearchParam(),this.columnsSubscription&&this.columnsSubscription.unsubscribe();var t=this.route.parent.snapshot.data.siteDataStore;this.initSidebars(),this.columnsSubscription=this.columnsGenerator.generateColumns(this.entityData,t).subscribe((function(t){e._columns.next(t),e._columnsArray=t,e.noWidthConstraint=e.calcHasManyColumns(t)&&e.presenterTemplate===te.GridViewModes.List,e.dataFieldNames=e.gridExtender.getDataFieldNames(t,e.entityData),e.processQueryParamsChanges(),e.setListLook(t,e.entityData.metadata)})),this.registerSubscription(this.columnsSubscription)},DynamicItemIndexComponent.prototype.setListLook=function(e,t){var n=[];e.find((function(e){return e.isGrouping}))&&n.push("sf-ml-m"),!(t.hasChildren||t.isSelfReferencing||t.hasLifecycle||t.hasContent)&&n.push(D.LIST_LOOK_CENTER_VERTICAL),this.entityData.metadata.isMedia&&n.push("sf-mt-xs"),this.listLook=n.join(s.stringConstants.INTERVAL)},DynamicItemIndexComponent.prototype.initSidebars=function(){var e=this,t=this.gridExtender.getQuickNavigationSidebarSections(this.entityData,this.parentItem),n=this.gridExtender.getSettingsSidebarSections(this.sidebarOperations,this.entityData),o=this.gridExtender.getCustomSidebars({currentRoot:this.parentItem,entityData:this.entityData,parent$:this.parent$,route:this.route,operationCompleted$:this.operationCompleted$});this.registerSubscription(Object(i.combineLatest)([t,n,o]).subscribe((function(t){var n=t[0],o=t[1],i=t[2],r=e.gridExtender.getSidebarsExternalKeys(e.entityData),a={entityType:e.entityData.metadata.typeFullName,externalKey:r,buttons:[]};if(n&&n.length&&!a.buttons.find((function(e){return"quickNavigation"===e.name}))){var s={type:K.QuickNavigationSidebarComponent,title:"Quick navigation sidebar",updatePropertiesOnChange:!0,removePreviousView:!0,properties:{sections:n,selectedLinkName:null===e.parentItem?e.gridExtender.getSidebarDisplayName(e.entityData,null):e.parentItem.data.Name}};a.buttons.push({title:e.gridExtender.getQuickNavigationSidebarTitle(e.entityData,e.parentItem),icon:"sitemap",data:s,name:"quickNavigation",look:N.DEFAULT_SIDEBAR_BUTTON_LOOK})}var A=e.gridExtender.getDisabledFilterLoaders(e.route),l={type:h.ListItemFilterSidebarComponent,title:"Filter",properties:{entityData$:e.entityData$,filterValue:e.activeFilter.asObservable(),displayName:e.gridExtender.getSidebarDisplayName(e.entityData,e.parentItem),disabledFilterLoaders:A,onFilterSelect:function(t){return e.onFilterSelect(t)},showSorters:e.gridExtender.showSorters(e.entityData),showFilters:e.gridExtender.showFilters(e.entityData),loadFiltersCount:e.loadFiltersCount},updatePropertiesOnChange:!0,removePreviousView:!0};a.buttons.push({title:e.gridExtender.getFilterSidebarTitle(e.entityData,e.parentItem),icon:"filter",data:l,name:"filter",look:N.DEFAULT_SIDEBAR_BUTTON_LOOK});var c={type:b.ListItemSettingsSidebarComponent,title:"Settings",updatePropertiesOnChange:!0,removePreviousView:!0,properties:{sections:o},afterComponentInit:function(t){t.selectedSettingName=e.presenterTemplate}};o&&o.length&&!a.buttons.find((function(e){return"settings"===e.name}))&&a.buttons.push({title:e.gridExtender.getSettingsSidebarTitle(e.entityData,e.parentItem),icon:"cog",data:c,name:"settings",look:N.DEFAULT_SIDEBAR_BUTTON_LOOK});for(var _loop_1=function(e){var t=a.buttons.findIndex((function(t){return t.name===e.name}));-1!==t?a.buttons[t]=e:a.buttons.splice(e.position,0,e)},d=0,p=i;dn},DynamicItemIndexComponent.prototype.initEmptyScreenIcon=function(){this.emptyScreenIcon=this.gridExtender.getEmptyScreenIcon(this.entityData)},DynamicItemIndexComponent.prototype.getSort=function(e){var t=this.gridExtender.getDefaultSort(this.entityData);return e&&(t=e[C.QUERY_PARAMS.SORT]||t),this.sortParameter=t,t},DynamicItemIndexComponent.prototype.updateGroupColumnVisibility=function(e){var t=this._columnsArray.find((function(e){return e.isGrouping}));if(e&&t&&t.dataFieldNames){var n=!0;t.dataFieldNames.forEach((function(t){e.toLowerCase().indexOf(t.toLowerCase())>=0&&(n=!1)})),t.hidden!==n&&(t.hidden=n,this._columns.next(this._columnsArray.slice()))}},DynamicItemIndexComponent.prototype.handleKeyboardShortcuts=function(){var e=this;this.keyboardShortcutsService.init();var t=this.keyboardShortcutsService.addListener(this.operations,C.COMPONENT_NAMES.DYNAMIC_ITEM_INDEX,!0).subscribe((function(t){if(t)switch(t.type){case re.KeyboardActionType.SelectAll:e.triggerKeyboardShortcutSelecAll(t);break;case re.KeyboardActionType.Create:e.triggerKeyboardShortcutAction(t);break;case re.KeyboardActionType.Escape:e.onClearSelection()}}));this.registerSubscription(t)},DynamicItemIndexComponent.prototype.triggerKeyboardShortcutSelecAll=function(e){this.treeConfig.multiSelection&&!this.gridExtender.isHierarchical(this.route)&&(e.event.preventDefault(),this.onSelectAll())},DynamicItemIndexComponent.prototype.triggerKeyboardShortcutAction=function(e){!this.modalWindowService.isDialogOpened&&e.action&&(e.event.preventDefault(),this.onActionButtonClicked(e.action,null))},DynamicItemIndexComponent.ɵfac=function DynamicItemIndexComponent_Factory(e){return new(e||DynamicItemIndexComponent)(l["ɵɵdirectiveInject"](z.CompositeGridExtender),l["ɵɵdirectiveInject"](p.DynamicItemStore),l["ɵɵdirectiveInject"](c.ActivatedRoute),l["ɵɵdirectiveInject"](k.ModalWindowService),l["ɵɵdirectiveInject"](c.Router),l["ɵɵdirectiveInject"](m.WINDOW_TOKEN),l["ɵɵdirectiveInject"](I.ColumnsGenerator),l["ɵɵdirectiveInject"](f.ScrollService),l["ɵɵdirectiveInject"](_.CompositeOperationsProvider),l["ɵɵdirectiveInject"](F.Location),l["ɵɵdirectiveInject"](ce.NOTIFICATION_SERVICE),l["ɵɵdirectiveInject"](G.GridReloadService),l["ɵɵdirectiveInject"](Y.EditNavigationService),l["ɵɵdirectiveInject"](V.ActionExecutorService),l["ɵɵdirectiveInject"](J.KeyboardShortcutsService),l["ɵɵdirectiveInject"](l.ChangeDetectorRef),l["ɵɵdirectiveInject"](Z.BundleDataService),l["ɵɵdirectiveInject"](ne.ContentFilterService),l["ɵɵdirectiveInject"](ie.UserMenuService),l["ɵɵdirectiveInject"](oe.ParentService),l["ɵɵdirectiveInject"](se.AppStore),l["ɵɵdirectiveInject"](fe.CompositeItemHooksProvider),l["ɵɵdirectiveInject"]($.SortService),l["ɵɵdirectiveInject"](me.ChildrenCountStore),l["ɵɵdirectiveInject"](ge.ReorderModuleChildrenProvider))},DynamicItemIndexComponent.ɵcmp=l["ɵɵdefineComponent"]({type:DynamicItemIndexComponent,selectors:[["ng-component"]],viewQuery:function DynamicItemIndexComponent_Query(e,t){if(1&e&&(l["ɵɵviewQuery"](Ee,1),l["ɵɵviewQuery"](he,1),l["ɵɵviewQuery"](be,1),l["ɵɵviewQuery"](Ce,3),l["ɵɵviewQuery"](Be,3),l["ɵɵviewQuery"](ke,3),l["ɵɵviewQuery"](Ie,3)),2&e){var n=void 0;l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.listComponent=n.first),l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.thumbNailComponent=n.first),l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.longRunningProgressComponent=n.first),l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.topSearch=n.first),l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.sidebarToggleButtons=n.first),l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.topMenuOptions=n.first),l["ɵɵqueryRefresh"](n=l["ɵɵloadQuery"]())&&(t.scrollLeft=n.first)}},hostVars:3,hostBindings:function DynamicItemIndexComponent_HostBindings(e,t){1&e&&l["ɵɵlistener"]("gridViewStateChanged",(function DynamicItemIndexComponent_gridViewStateChanged_HostBindingHandler(){return t.onViewModeChanged()}),!1,l["ɵɵresolveWindow"])("longRunningTaskStarted",(function DynamicItemIndexComponent_longRunningTaskStarted_HostBindingHandler(){return t.reload()}),!1,l["ɵɵresolveWindow"])("longRunningTaskCompleted",(function DynamicItemIndexComponent_longRunningTaskCompleted_HostBindingHandler(){return t.reload()}),!1,l["ɵɵresolveWindow"]),2&e&&(l["ɵɵsyntheticHostProperty"]("@enterLeaveAnimation",t.enterLeaveAnimation),l["ɵɵclassMap"](t.classes))},features:[l["ɵɵProvidersFeature"]([J.KeyboardShortcutsService,de.ActionButtonsResolver]),l["ɵɵInheritDefinitionFeature"]],decls:47,vars:43,consts:[[3,"configuration","leftNavButtonClick","scroll"],["navBar",""],["look","home",4,"ngIf"],[1,"sf-wrapper","-list"],[4,"ngIf"],[1,"sf-main","-list",3,"ngClass"],[3,"ngClass"],["class","sf-main-list-header__nav",3,"componentData","ngClass",4,"ngIf"],[1,"sf-main-list-header__title",3,"ngClass"],[1,"-sf-h-large","-sf-fade-in"],[1,"-align-self-end",3,"ngClass","entityData","onChange"],["providerSelector",""],["class","sf-main-list-header__progress sf-tree-list__controlls",3,"showLoaders","parentItem","entityData","concurrentKey","totalProgressTaskHtmlElementsHeigth",4,"ngIf"],[1,"sf-main-list-header__buttons"],[4,"ngTemplateOutlet"],["hasItemBulkNotification",""],["listTemplate",""],["thumbnailsTemplate",""],["topMenuOptions",""],["filterNotification",""],["bulkInfoNotification",""],["topSearch",""],["sidebarToggleButtons",""],["notificationsLoader",""],["scrollLeft",""],["look","progressbar overlay",3,"isLoading"],["look","home"],[1,"sf-main-list-header__nav",3,"componentData","ngClass"],[1,"sf-main-list-header__progress","sf-tree-list__controlls",3,"showLoaders","parentItem","entityData","concurrentKey","totalProgressTaskHtmlElementsHeigth"],["longRunningProgressComponent",""],[4,"ngIf","ngIfElse"],[1,"sf-main-list-header__bulk","-sf-mt-3xs"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"sf-main-list-header__notification","sf-tree-list__controlls","-sf-mt-2xs","-sf-mb-4xs"],[1,"sf-main-list-header__empty-message","sf-row","-column","-align-items-center","-sf-mt-s","-sf-mb-5xl"],["look","illustrative",3,"name"],[1,"-sf-txt-hint","-sf-mt-3xs","-sf-txt-pre-wrap"],["look","sf-mt-8xl","textLook","sf-mt-xs",4,"ngIf"],["class","sf-main__paging",3,"hidden","loadCount","pluralTitle","singularTitle","currentItemsCount","allItemsCount","searchValue","onLoadMore","onFilterSelected","onSearch",4,"ngIf"],["look","sf-mt-8xl","textLook","sf-mt-xs"],[1,"sf-main__paging",3,"hidden","loadCount","pluralTitle","singularTitle","currentItemsCount","allItemsCount","searchValue","onLoadMore","onFilterSelected","onSearch"],["class","sf-main-list-header__bulk sf-tree-list__controlls -sf-mt-3xs",3,"-out-of-view",4,"ngIf"],[1,"sf-main-list-header__bulk","sf-tree-list__controlls","-sf-mt-3xs"],["look","small inline",4,"ngIf"],["look","small inline"],["role","status","aria-live","polite","data-sftest","main-filter-notification",1,"sf-row","-align-items-center"],[3,"ignoreLoaderDelay","look","treeConfig","itemsState","columns","sortExpression","onCommand","expandedItemsChanged","visibleNodesCountChanged","itemSelected"],["listComponent",""],["sfInfiniteScroll","",1,"-sf-block","-sf-mt-2xs",3,"scrollOffset","itemsState","mediaEntityData","showAsTimeline","scrolledToBottom","onCommand","selectFile"],["thumbnailListComponent",""],[3,"operations","options","buttonsLook","buttonClicked",4,"ngIf"],[3,"operations","options","buttonsLook","buttonClicked"],[3,"searchValue","filterValue","entityData","itemsState","parentId","clearFilter"],[3,"itemSelectionInfo","entityData","itemsTotalCount","loadedItemsCount","operations","isInHeader","searchParameter","disableSelectAll","filterAction","notificationFilter","selectAllOnPage","selectAll","clearAll","singleAction","refreshItems","loadingChange",4,"ngIf"],[3,"itemSelectionInfo","entityData","itemsTotalCount","loadedItemsCount","operations","isInHeader","searchParameter","disableSelectAll","filterAction","notificationFilter","selectAllOnPage","selectAll","clearAll","singleAction","refreshItems","loadingChange"],["class","-sf-ml-xs",3,"searchValue","searchValueChange",4,"ngIf"],[1,"-sf-ml-xs",3,"searchValue","searchValueChange"],["look","inline","data-sftest","sf-notificaion-loader",3,"hide","isInHeader","filter","onCommand"],["class","h3",4,"ngIf"],[1,"h3"]],template:function DynamicItemIndexComponent_Template(e,t){if(1&e&&(l["ɵɵelementStart"](0,"sf-navigation-menu",0,1),l["ɵɵlistener"]("leftNavButtonClick",(function DynamicItemIndexComponent_Template_sf_navigation_menu_leftNavButtonClick_0_listener(){return t.onLeftNavButtonClick()}))("scroll",(function DynamicItemIndexComponent_Template_sf_navigation_menu_scroll_0_listener(e){return t.onNavbarScroll(e)})),l["ɵɵelementEnd"](),l["ɵɵtemplate"](2,DynamicItemIndexComponent_sf_loader_2_Template,1,0,"sf-loader",2),l["ɵɵelementStart"](3,"div",3),l["ɵɵtemplate"](4,DynamicItemIndexComponent_sf_sidebar_host_4_Template,1,0,"sf-sidebar-host",4),l["ɵɵelementStart"](5,"main",5),l["ɵɵelementStart"](6,"div",6),l["ɵɵpipe"](7,"async"),l["ɵɵtemplate"](8,DynamicItemIndexComponent_sf_component_loader_8_Template,1,4,"sf-component-loader",7),l["ɵɵpipe"](9,"async"),l["ɵɵelementStart"](10,"div",8),l["ɵɵpipe"](11,"async"),l["ɵɵpipe"](12,"async"),l["ɵɵelementStart"](13,"h1",9),l["ɵɵtext"](14),l["ɵɵpipe"](15,"async"),l["ɵɵelementEnd"](),l["ɵɵelementStart"](16,"sf-provider-selector",10,11),l["ɵɵlistener"]("onChange",(function DynamicItemIndexComponent_Template_sf_provider_selector_onChange_16_listener(e){return t.onProviderSelectionChange(e)})),l["ɵɵelementEnd"](),l["ɵɵelementEnd"](),l["ɵɵtemplate"](18,DynamicItemIndexComponent_sf_long_running_progress_18_Template,4,8,"sf-long-running-progress",12),l["ɵɵtemplate"](19,DynamicItemIndexComponent_ng_container_19_Template,2,2,"ng-container",4),l["ɵɵpipe"](20,"async"),l["ɵɵelementStart"](21,"div",13),l["ɵɵtemplate"](22,DynamicItemIndexComponent_ng_container_22_Template,1,0,"ng-container",14),l["ɵɵtemplate"](23,DynamicItemIndexComponent_ng_container_23_Template,2,1,"ng-container",4),l["ɵɵelementEnd"](),l["ɵɵelementEnd"](),l["ɵɵtemplate"](24,DynamicItemIndexComponent_ng_container_24_Template,4,6,"ng-container",4),l["ɵɵpipe"](25,"async"),l["ɵɵelementEnd"](),l["ɵɵelementEnd"](),l["ɵɵtemplate"](26,DynamicItemIndexComponent_ng_template_26_Template,2,3,"ng-template",null,15,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](28,DynamicItemIndexComponent_ng_template_28_Template,3,8,"ng-template",null,16,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](30,DynamicItemIndexComponent_ng_template_30_Template,2,4,"ng-template",null,17,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](32,DynamicItemIndexComponent_ng_template_32_Template,2,3,"ng-template",null,18,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](34,DynamicItemIndexComponent_ng_template_34_Template,3,9,"ng-template",null,19,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](36,DynamicItemIndexComponent_ng_template_36_Template,1,1,"ng-template",null,20,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](38,DynamicItemIndexComponent_ng_template_38_Template,1,1,"ng-template",null,21,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](40,DynamicItemIndexComponent_ng_template_40_Template,1,1,"ng-template",null,22,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](42,DynamicItemIndexComponent_ng_template_42_Template,1,3,"ng-template",null,23,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](44,DynamicItemIndexComponent_ng_template_44_Template,5,8,"ng-template",null,24,l["ɵɵtemplateRefExtractor"]),l["ɵɵelement"](46,"sf-loader-wrapper",25)),2&e){var n=l["ɵɵreference"](33);l["ɵɵproperty"]("configuration",t.navbarConfiguration),l["ɵɵadvance"](2),l["ɵɵproperty"]("ngIf",t.isLoading),l["ɵɵadvance"](2),l["ɵɵproperty"]("ngIf",t.hasSidebar),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngClass",l["ɵɵpureFunction5"](32,_c13,t.isSidebarOpen,!t.isSidebarAnimated,t.noWidthConstraint,t.isHierarchical,t.isVirtualizedTree)),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngClass",l["ɵɵpipeBind1"](7,18,t.cssClass$)),l["ɵɵadvance"](2),l["ɵɵproperty"]("ngIf",l["ɵɵpipeBind1"](9,20,t.navigationComponentData$)),l["ɵɵadvance"](2),l["ɵɵproperty"]("@fadeIn",t.fadeInAnimationState)("ngClass",l["ɵɵpureFunction2"](38,_c14,t.showProviders,!(l["ɵɵpipeBind1"](11,22,t.itemsState$)&&l["ɵɵpipeBind1"](12,24,t.itemsState$).hasItems||t.areItemsFiltered))),l["ɵɵadvance"](4),l["ɵɵtextInterpolate1"](" ",l["ɵɵpipeBind1"](15,26,t.displayName$)," "),l["ɵɵadvance"](2),l["ɵɵproperty"]("ngClass",l["ɵɵpureFunction1"](41,_c15,!t.showProviders||t.isScrolled))("entityData",t.entityData),l["ɵɵadvance"](2),l["ɵɵproperty"]("ngIf",t.gridExtender.hasLongRunningTasks(t.entityData)),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngIf",l["ɵɵpipeBind1"](20,28,t.itemsState$)),l["ɵɵadvance"](2),l["ɵɵproperty"]("@fadeIn",t.fadeInAnimationState),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngTemplateOutlet",n),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngIf",t.isNavigationEmbedded&&(t.navbarConfiguration.isScrollEnabled||t.areItemsFiltered)),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngIf",l["ɵɵpipeBind1"](25,30,t.itemsState$)),l["ɵɵadvance"](22),l["ɵɵproperty"]("isLoading",t.areBulkActionsLoading)}},encapsulation:2,data:{animation:[Object(d.trigger)("enterLeaveAnimation",[Object(d.transition)(y.ANIMATION_STATES.ENTER,[Object(d.style)({opacity:.5}),Object(d.animate)("0ms 200ms",Object(d.style)({opacity:1}))])]),X.ANIMATION_FADE_IN]}}),DynamicItemIndexComponent}(u.DynamicItemBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"SINGLE_OPERATIONS_LABEL",(function(){return P})),n.d(t,"BULK_OPERATIONS_LABEL",(function(){return U})),n.d(t,"BULK_ITEM_SELECTION_INFO_INITIAL_VALUE",(function(){return L})),n.d(t,"TRANSLATIONS_LOCAL_STORAGE_KEY",(function(){return z})),n.d(t,"BulkOperationsComponent",(function(){return G}));var o=n(259),i=n(11),r=n(131),a=n(1750),s=n(1751),A=n(246),l=n(319),c=n(229),d=n(322),p=n(260),f=n(1118),u=n(1394),m=n(314),g=n(264),E=n(1752),h=n(1171),b=n(1177),C=(n(1135),n(262)),B=n(1756),k=n(288),I=n(1169),v=n(1622),w=n(1757),_=n(1760),x=n(1203),y=n(1626),S=n(244),T=n(1761),M=n(329),D=n(266),Q=n(268),N=n(1205),R=n(1393),F=n(1529),O=["bulkActionMenu"];function BulkOperationsComponent_ng_container_0_ng_template_1_Template(e,t){1&e&&c["ɵɵelement"](0,"sf-icon",4)}function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_2_Template(e,t){1&e&&c["ɵɵelementContainer"](0)}function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_a_1_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"a",7),c["ɵɵlistener"]("click",(function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_a_1_Template_a_click_0_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](4).onSelectAllOnPage()})),c["ɵɵtext"](1,"Select all"),c["ɵɵelementEnd"]()}}function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_a_2_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"a",7),c["ɵɵlistener"]("click",(function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_a_2_Template_a_click_0_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](4).onSelectAll()})),c["ɵɵtext"](1,"Select all"),c["ɵɵelementEnd"]()}}function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_Template(e,t){if(1&e&&(c["ɵɵelementContainerStart"](0),c["ɵɵtemplate"](1,BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_a_1_Template,2,0,"a",6),c["ɵɵtemplate"](2,BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_a_2_Template,2,0,"a",6),c["ɵɵelementContainerEnd"]()),2&e){var n=c["ɵɵnextContext"](3);c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",!n.showSelectedAll),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",n.showSelectedAll)}}function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_4_ng_container_1_ng_container_1_Template(e,t){1&e&&c["ɵɵelementContainer"](0)}function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_4_ng_container_1_Template(e,t){if(1&e&&(c["ɵɵelementContainerStart"](0),c["ɵɵtemplate"](1,BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_4_ng_container_1_ng_container_1_Template,1,0,"ng-container",5),c["ɵɵelementContainerEnd"]()),2&e){c["ɵɵnextContext"](3);var n=c["ɵɵreference"](2);c["ɵɵadvance"](1),c["ɵɵproperty"]("ngTemplateOutlet",n)}}function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_4_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementContainerStart"](0),c["ɵɵtemplate"](1,BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_4_ng_container_1_Template,2,1,"ng-container",0),c["ɵɵelementStart"](2,"a",8),c["ɵɵlistener"]("click",(function BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_4_Template_a_click_2_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](3).onClearSelection()})),c["ɵɵtext"](3,"Clear"),c["ɵɵelementEnd"](),c["ɵɵelementContainerEnd"]()}if(2&e){var o=c["ɵɵnextContext"](3);c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",!o.disableSelectAll)}}function BulkOperationsComponent_ng_container_0_ng_container_4_Template(e,t){if(1&e&&(c["ɵɵelementContainerStart"](0),c["ɵɵtext"](1),c["ɵɵtemplate"](2,BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_2_Template,1,0,"ng-container",5),c["ɵɵtemplate"](3,BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_3_Template,3,2,"ng-container",0),c["ɵɵtemplate"](4,BulkOperationsComponent_ng_container_0_ng_container_4_ng_container_4_Template,4,1,"ng-container",0),c["ɵɵelementContainerEnd"]()),2&e){c["ɵɵnextContext"]();var n=c["ɵɵreference"](2),o=c["ɵɵnextContext"]();c["ɵɵadvance"](1),c["ɵɵtextInterpolate1"](" ",o.selectedItemsCount," selected "),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngTemplateOutlet",n),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",!o.disableSelectAll),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",o.disableSelectAll||o.selectedItemsCount&&o.selectedItemsCount>1)}}function BulkOperationsComponent_ng_container_0_ng_container_5_ng_container_3_Template(e,t){1&e&&c["ɵɵelementContainer"](0)}function BulkOperationsComponent_ng_container_0_ng_container_5_ng_container_6_Template(e,t){1&e&&c["ɵɵelementContainer"](0)}function BulkOperationsComponent_ng_container_0_ng_container_5_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementContainerStart"](0),c["ɵɵelementStart"](1,"span"),c["ɵɵtext"](2),c["ɵɵelementEnd"](),c["ɵɵtemplate"](3,BulkOperationsComponent_ng_container_0_ng_container_5_ng_container_3_Template,1,0,"ng-container",5),c["ɵɵelementStart"](4,"a",9),c["ɵɵlistener"]("click",(function BulkOperationsComponent_ng_container_0_ng_container_5_Template_a_click_4_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onSelectAll()})),c["ɵɵtext"](5),c["ɵɵelementEnd"](),c["ɵɵtemplate"](6,BulkOperationsComponent_ng_container_0_ng_container_5_ng_container_6_Template,1,0,"ng-container",5),c["ɵɵelementStart"](7,"a",8),c["ɵɵlistener"]("click",(function BulkOperationsComponent_ng_container_0_ng_container_5_Template_a_click_7_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onClearSelection()})),c["ɵɵtext"](8,"Clear"),c["ɵɵelementEnd"](),c["ɵɵelementContainerEnd"]()}if(2&e){c["ɵɵnextContext"]();var o=c["ɵɵreference"](2),i=c["ɵɵnextContext"]();c["ɵɵadvance"](2),c["ɵɵtextInterpolate1"]("",i.selectedItemsCount," selected on this page"),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngTemplateOutlet",o),c["ɵɵadvance"](2),c["ɵɵtextInterpolate1"]("Select all ",i.itemsTotalCount-i.excludedItemsCount," items"),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngTemplateOutlet",o)}}function BulkOperationsComponent_ng_container_0_ng_container_6_ng_container_3_Template(e,t){1&e&&c["ɵɵelementContainer"](0)}function BulkOperationsComponent_ng_container_0_ng_container_6_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementContainerStart"](0),c["ɵɵelementStart"](1,"span"),c["ɵɵtext"](2),c["ɵɵelementEnd"](),c["ɵɵtemplate"](3,BulkOperationsComponent_ng_container_0_ng_container_6_ng_container_3_Template,1,0,"ng-container",5),c["ɵɵelementStart"](4,"a",10),c["ɵɵlistener"]("click",(function BulkOperationsComponent_ng_container_0_ng_container_6_Template_a_click_4_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onClearSelection()})),c["ɵɵtext"](5,"Clear"),c["ɵɵelementEnd"](),c["ɵɵelementContainerEnd"]()}if(2&e){c["ɵɵnextContext"]();var o=c["ɵɵreference"](2),i=c["ɵɵnextContext"]();c["ɵɵadvance"](2),c["ɵɵtextInterpolate1"]("All ",i.itemsTotalCount-i.excludedItemsCount," selected"),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngTemplateOutlet",o)}}function BulkOperationsComponent_ng_container_0_sf_action_menu_7_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"sf-action-menu",11,12),c["ɵɵlistener"]("buttonClicked",(function BulkOperationsComponent_ng_container_0_sf_action_menu_7_Template_sf_action_menu_buttonClicked_0_listener(e){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"](2).onActionButtonClicked(e)})),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"](2);c["ɵɵproperty"]("operations",o.operations)("options",o.bulkMenuOptions)("dropdownButtonText",o.bulkDropdownButtonText)("executeCommandOnClick",!1)}}function BulkOperationsComponent_ng_container_0_Template(e,t){if(1&e&&(c["ɵɵelementContainerStart"](0),c["ɵɵtemplate"](1,BulkOperationsComponent_ng_container_0_ng_template_1_Template,1,0,"ng-template",null,1,c["ɵɵtemplateRefExtractor"]),c["ɵɵelementStart"](3,"sf-notification",2),c["ɵɵtemplate"](4,BulkOperationsComponent_ng_container_0_ng_container_4_Template,5,4,"ng-container",0),c["ɵɵtemplate"](5,BulkOperationsComponent_ng_container_0_ng_container_5_Template,9,4,"ng-container",0),c["ɵɵtemplate"](6,BulkOperationsComponent_ng_container_0_ng_container_6_Template,6,2,"ng-container",0),c["ɵɵelementEnd"](),c["ɵɵtemplate"](7,BulkOperationsComponent_ng_container_0_sf_action_menu_7_Template,2,4,"sf-action-menu",3),c["ɵɵpipe"](8,"async"),c["ɵɵelementContainerEnd"]()),2&e){var n,o=c["ɵɵnextContext"]();c["ɵɵadvance"](3),c["ɵɵproperty"]("look",o.selectedCountNotificationLook),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",!o.allItemsOnPageSelected),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",o.allItemsOnPageSelected&&!o.showSelectedAll),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",o.allItemsOnPageSelected&&o.showSelectedAll),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",null==(n=c["ɵɵpipeBind1"](8,5,o.operations))?null:n.length)}}var P="Actions",U="Bulk actions",L={selectedItems:new Map,deselectedItems:new Map,excludedItems:new Array,nodesPositions:new Map},z="sf.translations.selectedItemIds",G=function(e){function BulkOperationsComponent(t,n,o,r,a,s,A,l,p,f,u,m){var g=e.call(this)||this;return g.route=t,g.modalService=n,g.dynamicItemStore=o,g.notificationService=r,g.deleteCommandExtender=a,g.bulkCommandExtender=s,g.keyboardShortcutsService=A,g.window=l,g.injector=p,g.metadataParserService=f,g.contentFilterService=u,g.zone=m,g.selectAllOnPage=new c.EventEmitter,g.selectAll=new c.EventEmitter,g.clearAll=new c.EventEmitter,g.singleAction=new c.EventEmitter,g.refreshItems=new c.EventEmitter,g.loadingChange=new c.EventEmitter,g.selectedItemsCount=0,g.loading$=new i.ReplaySubject(1),g.isOperationInProgress=!1,g.excludedItemsCount=0,g.itemSelectionInfoInternal=L,g.bulkMenuOptions=new d.ActionMenuOptions(Number.NEGATIVE_INFINITY,0,!0),g}return Object(o.__extends)(BulkOperationsComponent,e),Object.defineProperty(BulkOperationsComponent.prototype,"itemSelectionInfo",{set:function(e){this.setItemSelectionInfo(e)},enumerable:!1,configurable:!0}),Object.defineProperty(BulkOperationsComponent.prototype,"allItemsOnPageSelected",{get:function(){return!this.disableSelectAll&&this.selectedItemsCount+this.itemSelectionInfoInternal.excludedItems.length===this.loadedItemsCount},enumerable:!1,configurable:!0}),Object.defineProperty(BulkOperationsComponent.prototype,"showSelectedAll",{get:function(){return!this.disableSelectAll&&(this.itemSelectionInfoInternal.allItemsSelected||this.selectedItemsCount+this.itemSelectionInfoInternal.excludedItems.length===this.itemsTotalCount)},enumerable:!1,configurable:!0}),BulkOperationsComponent.prototype.ngOnInit=function(){var e=this,t=this.loading$.subscribe((function(t){e.isOperationInProgress=t,t||e.onClearSelection()}));this.registerSubscription(t);var n=["sf-mr-3xs","small inline"];this.isInHeader&&n.push("sf-pl-zero","transparent"),this.selectedCountNotificationLook=n.join(A.stringConstants.INTERVAL),this.handleKeyboardShortcuts()},BulkOperationsComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.keyboardShortcutsService.removeListener(C.COMPONENT_NAMES.BULK_OPERATIONS)},BulkOperationsComponent.prototype.ngOnChanges=function(e){e.loadedItemsCount&&!e.loadedItemsCount.firstChange&&(this.itemSelectionInfoInternal.allItemsSelected=!1,this.selectedItemsCount=this.itemSelectionInfoInternal.selectedItems.size,this.excludedItemsCount=this.itemSelectionInfoInternal.excludedItems.length)},BulkOperationsComponent.prototype.onActionButtonClicked=function(e){1===this.selectedItemsCount?this.performSingleOperation(e):this.performBulkOperation(e)},BulkOperationsComponent.prototype.onSelectAllOnPage=function(){this.selectAllOnPage.emit()},BulkOperationsComponent.prototype.onSelectAll=function(){this.selectAll.emit()},BulkOperationsComponent.prototype.onClearSelection=function(){this.clearAll.emit()},BulkOperationsComponent.prototype.performSingleOperation=function(e){var t=this.itemSelectionInfoInternal.selectedItems.values().next().value,n=t.key;if(n){if(e.token){var o=this.injector.get(e.token.type),i={model:null,data:e.token.properties,currentRoute:null};return void o.execute(i).subscribe()}this.singleAction.emit({entityData:t,dataItemKey:n,button:e}),this.onClearSelection()}},BulkOperationsComponent.prototype.performBulkOperation=function(e){var t=this,n=null,o=this.getWrappedCommand(e);if(this.itemSelectionInfoInternal.allItemsSelected)n=this.getAllItems(e,o);else{var a=Array.from(this.itemSelectionInfoInternal.selectedItems.values());n=Object(i.of)(a)}n.pipe(Object(r.tap)((function(n){return t.executeBulkCommand(n,e,o)}))).subscribe()},BulkOperationsComponent.prototype.getAllItems=function(e,t){var n=this,o=[];return this.bulkCommandExtender.getEntityDatasForBulkOperation(this.entityData,this.filterAction).forEach((function(a){for(var s=n.buildItemQuery(a),A=[],l=0;l0){var A=E.DeleteCommand.getItemCannotBeDeletedModalSettings(s,{action:t},new i.Subject);o.modalService.openModalConfirmation(o.route,A,s[0])}}var c={success:r.success,failedItemsIds:r.failedItemsIds,succeededItemsIds:r.succeededItemsIds};o.shouldPerformBulkDelete(t)&&(c={success:r.Type===l.OperationActionType.Success,failedItemsIds:r.FailedItemsIds,succeededItemsIds:r.SucceededItemsIds}),o.handleBulkResult(c,t,n,a)}))},BulkOperationsComponent.prototype.filterItemsIfOperationIsCultureSpecific=function(e,t){var n=e.data.selectedItems;if(this.isActionCultureSpecific(t,e)){for(var o=[],i=0;i1&&(this.bulkDropdownButtonText=U),this.bulkActionMenu&&this.bulkActionMenu.reinitialize(),this.setSelectedItemsCount()},BulkOperationsComponent.prototype.setSelectedItemsCount=function(){this.itemSelectionInfoInternal.allItemsSelected&&this.itemSelectionInfoInternal.deselectedItems.size>0&&(this.selectedItemsCount=this.itemsTotalCount-this.itemSelectionInfoInternal.deselectedItems.size,this.excludedItemsCount=this.itemSelectionInfoInternal.excludedItems.length)},BulkOperationsComponent.prototype.handleKeyboardShortcuts=function(){var e=this,t=this.keyboardShortcutsService.addListener(this.operations,C.COMPONENT_NAMES.BULK_OPERATIONS,!0).subscribe((function(t){if(t&&e.selectedItemsCount>0)switch(t.type){case N.KeyboardActionType.Publish:case N.KeyboardActionType.Unpublish:case N.KeyboardActionType.Schedule:case N.KeyboardActionType.Delete:e.triggerKeyboardShortcutAction(t)}}));this.registerSubscription(t)},BulkOperationsComponent.prototype.triggerKeyboardShortcutAction=function(e){e.action&&(e.event.preventDefault(),this.onActionButtonClicked(e.action))},BulkOperationsComponent.ɵfac=function BulkOperationsComponent_Factory(e){return new(e||BulkOperationsComponent)(c["ɵɵdirectiveInject"](p.ActivatedRoute),c["ɵɵdirectiveInject"](f.ModalWindowService),c["ɵɵdirectiveInject"](h.DynamicItemStore),c["ɵɵdirectiveInject"](b.NOTIFICATION_SERVICE),c["ɵɵdirectiveInject"](v.CompositeDeleteCommandExtender),c["ɵɵdirectiveInject"](y.CompositeBulkCommandExtender),c["ɵɵdirectiveInject"](x.KeyboardShortcutsService),c["ɵɵdirectiveInject"](S.WINDOW_TOKEN),c["ɵɵdirectiveInject"](c.Injector),c["ɵɵdirectiveInject"](M.MetadataParserService),c["ɵɵdirectiveInject"](Q.ContentFilterService),c["ɵɵdirectiveInject"](c.NgZone))},BulkOperationsComponent.ɵcmp=c["ɵɵdefineComponent"]({type:BulkOperationsComponent,selectors:[["sf-bulk-operations"]],viewQuery:function BulkOperationsComponent_Query(e,t){if(1&e&&c["ɵɵviewQuery"](O,1),2&e){var n;c["ɵɵqueryRefresh"](n=c["ɵɵloadQuery"]())&&(t.bulkActionMenu=n.first)}},inputs:{entityData:"entityData",operations:"operations",itemsTotalCount:"itemsTotalCount",loadedItemsCount:"loadedItemsCount",isInHeader:"isInHeader",searchParameter:"searchParameter",filterAction:"filterAction",disableSelectAll:"disableSelectAll",itemSelectionInfo:"itemSelectionInfo",notificationFilter:"notificationFilter"},outputs:{selectAllOnPage:"selectAllOnPage",selectAll:"selectAll",clearAll:"clearAll",singleAction:"singleAction",refreshItems:"refreshItems",loadingChange:"loadingChange"},features:[c["ɵɵInheritDefinitionFeature"],c["ɵɵNgOnChangesFeature"]],decls:1,vars:1,consts:[[4,"ngIf"],["circleIconTemplate",""],["data-sftest","sf-bulk-selected-items-notification",3,"look"],["lazy","true","data-sftest","bulkOperationsDropDown","buttonsLook","icon-and-text","dropdownButtonIconName","caret-down","dropdownButtonIconLook","size-xs black sf-ml-4xs",3,"operations","options","dropdownButtonText","executeCommandOnClick","buttonClicked",4,"ngIf"],["name","circle","look","sf-pl-3xs sf-pr-3xs black size-7xs",1,"-sf-txt-vertical-align-middle"],[4,"ngTemplateOutlet"],["data-sftest","sf-select-all-on-page",3,"click",4,"ngIf"],["data-sftest","sf-select-all-on-page",3,"click"],[3,"click"],["data-sftest","sf-select-all",3,"click"],["data-sftest","sf-clear",3,"click"],["lazy","true","data-sftest","bulkOperationsDropDown","buttonsLook","icon-and-text","dropdownButtonIconName","caret-down","dropdownButtonIconLook","size-xs black sf-ml-4xs",3,"operations","options","dropdownButtonText","executeCommandOnClick","buttonClicked"],["bulkActionMenu",""]],template:function BulkOperationsComponent_Template(e,t){1&e&&c["ɵɵtemplate"](0,BulkOperationsComponent_ng_container_0_Template,9,7,"ng-container",0),2&e&&c["ɵɵproperty"]("ngIf",t.selectedItemsCount>0)},encapsulation:2}),BulkOperationsComponent}(g.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"OperationCommand",(function(){return o}));var o=function(){function OperationCommand(e){this.dynamicItemStore=e}return OperationCommand.prototype.execute=function(e){var t=e.data,n=t.dataItem;return this.dynamicItemStore.executeOperation(n,t.action.name)},OperationCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"OpenLinkCommand",(function(){return A}));var o=n(259),i=n(11),r=n(246),a=n(229),s=n(244),A=function(){function OpenLinkCommand(e,t){this.window=e,this.zone=t}return OpenLinkCommand.prototype.execute=function(e){var t,n=this,o=e.model,a=e.data.target||r.NEW_TAB_TARGET;return t=o&&o.link?o.link:e.data.link,this.zone.runOutsideAngular((function(){var o=n.window.open(t,a);e.data.dataForLocalStorage&&o.localStorage.setItem(e.data.dataForLocalStorage.key,e.data.dataForLocalStorage.value)})),Object(i.empty)()},OpenLinkCommand=Object(o.__decorate)([Object(o.__param)(0,Object(a.Inject)(s.WINDOW_TOKEN)),Object(o.__metadata)("design:paramtypes",[Window,a.NgZone])],OpenLinkCommand)}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MOVE_ALL_TO_RECYCLE_BIN",(function(){return E})),n.d(t,"MOVE_TO_RECYCLE_BIN",(function(){return h})),n.d(t,"PERMANENT_DELETE_PARAM_NAME",(function(){return b})),n.d(t,"DELETE_ALLOWED_PARAM_NAME",(function(){return C})),n.d(t,"UNDO_DELETE_NOTIFICATION_DURATION",(function(){return B})),n.d(t,"DeleteCommand",(function(){return k}));var o=n(259),i=n(131),r=n(1171),a=(n(1753),n(11)),s=n(319),A=n(1118),l=n(317),c=n(1178),d=n(1754),p=n(266),f=n(1750),u=n(245),m=n(1622),g=n(229),E="Move all translations to Recycle Bin",h="Move to Recycle Bin",b="PermanentDelete",C="DeleteAllowed",B=5e3,k=function(e){function DeleteCommand(t,n,o){var i=e.call(this,t)||this;return i.modalWindowService=n,i.deleteCommandExtender=o,i.sentToRecycleBin=!1,i}return Object(o.__extends)(DeleteCommand,e),DeleteCommand.prototype.confirm=function(e){var t=new a.ReplaySubject(1),n=new a.Subject,o=e.data.dataItem;o||(o=l.DataItem.fromEntityData({},e.data.entityData));var r=this.generateConfirmationSettings(o,e.data,n);return this.modalWindowService.openModalConfirmation(e.currentRoute,r,o),n.subscribe((function(n){null===n?(e.data.confirmed=!1,t.next(e)):(e.data.confirmed=!0,e.data.deleteAllTranslations=n.deleteAllTranslations,t.next(e))})),t.pipe(Object(i.first)())},DeleteCommand.prototype.execute=function(e){var t=new a.ReplaySubject(1);if(e.data.confirmed){var n=this.getSiteCultures(e.data),o=e.data.dataItem,r=e.data.deleteAllTranslations;this.sentToRecycleBin=r||n.length<=1||o.data[p.Properties.AvailableLanguages]&&o.data[p.Properties.AvailableLanguages].length<=1,this.dynamicItemStore.deleteItem({dataItem:o,deleteAllTranslations:r,skipItemStateUpdate:e.data.bulk}).subscribe((function(){t.next({success:!0,key:e.data.dataItem.key})}),(function(e){t.error(e)}))}else t.next({success:!1,key:e.data.dataItem.key});return t.pipe(Object(i.first)())},DeleteCommand.prototype.getNotification=function(e,t,n){if((!t||0===t.length)&&this.sentToRecycleBin&&n.action.contextParameters){var o=n.action.contextParameters.find((function(e){return e.Name===b}));if(o&&"false"===o.Value.toLowerCase())return{type:d.UndoDeleteComponent,properties:{restorableItemIds:e,entityData:n.entityData},id:"undoDeleteNotification",look:c.NOTIFICATION_LOOKS.WARNING,duration:B,closeButton:!1}}return null},DeleteCommand.getItemCannotBeDeletedModalSettings=function(e,t,n){var o,i=t.action,r=Object(u.getPastTense)(s.OPERATION_NAMES.delete.toLowerCase()),a=e.length>1,l=e.map((function(e){return'"'+e.data.Title+'"'})),c=l.pop(),d=l.length?l.join(", ")+" and "+c:c,p=e[0].metadata,f=p.singularName,m=f+(a?"s":"")+" cannot be "+r,g=null===(o=p.children[0])||void 0===o?void 0:o.toLocaleLowerCase();return{title:m,icon:"trash",parameters:[],hideItemTitle:!0,description:g?d+" contain"+(a?"":"s")+" "+g+". You should remove all "+g+" before attempting to delete a "+f.toLowerCase()+".":d+" are using or used by other items. You should remove them before attempting to delete a "+f.toLocaleLowerCase()+".",contextParameters:i.contextParameters,action:s.OPERATION_NAMES.delete,buttons:[new A.CancelButton("Close")],doneCallback:function(e){n.next(null)}}},DeleteCommand.prototype.generateConfirmationSettings=function(e,t,n){var o=t.action,i={title:this.deleteCommandExtender.getTitle(t),icon:"trash",parameters:[],description:o.description,contextParameters:o.contextParameters,action:s.OPERATION_NAMES.delete,buttons:[],doneCallback:function(t){if(t.data&&t.data.data){var o="deleteAllTranslations"===t.data.data,i={dataItem:e,deleteAllTranslations:o};n.next(i)}else n.next(null)}};return this.updateDeleteSettings(e,t,i),i},DeleteCommand.prototype.updateDeleteSettings=function(e,t,n){n.buttons=this.getDeleteConfiramtionDialogButtons(e,t,n),n.hideItemTitle=!0},DeleteCommand.prototype.getDeleteConfiramtionDialogButtons=function(e,t,n){var o=[];if(this.isDeleteForbidden(n))return o.push(new A.CancelButton("Close")),o;var i=e.culture,r=this.deleteCommandExtender.getDisplayName(t),a=s.OPERATION_NAMES.delete+" all translations",l=s.OPERATION_NAMES.delete+" "+i.toUpperCase()+" translation only",c=s.OPERATION_NAMES.delete+" "+r.toLowerCase();if(this.deleteCommandExtender.permanentDelete(t)||(a=E,l=s.OPERATION_NAMES.delete+" "+i.toUpperCase()+" translation permanently",c=h),this.deleteCommandExtender.showMultilingualButtons(t)){var d=new A.DeleteButton(a,"deleteAllTranslations"),p=new A.DeleteButton(l,!0,"large");o=new Array(d,p)}else{p=new A.DeleteButton(c);o=new Array(p)}return o.push(new A.CancelButton),o},DeleteCommand.prototype.isDeleteForbidden=function(e){if(e.contextParameters){var t=e.contextParameters.find((function(e){return e.Name===C}));if(t)return"false"===t.Value.toLowerCase()}return!1},DeleteCommand.prototype.getSiteCultures=function(e){return e.siteData.ContentCultures},DeleteCommand.ɵfac=function DeleteCommand_Factory(e){return new(e||DeleteCommand)(g["ɵɵinject"](r.DynamicItemStore),g["ɵɵinject"](A.ModalWindowService),g["ɵɵinject"](m.CompositeDeleteCommandExtender))},DeleteCommand.ɵprov=g["ɵɵdefineInjectable"]({token:DeleteCommand,factory:DeleteCommand.ɵfac}),DeleteCommand}(f.OperationCommand)},function(e,t,n){"use strict";n.r(t),n.d(t,"CommandNotificationArgs",(function(){return o}));var o=function o(){}},function(e,t,n){"use strict";n.r(t),n.d(t,"UndoDeleteComponent",(function(){return f}));var o=n(259),i=n(1755),r=n(229),a=n(317),s=n(260),A=n(264),l=n(1180),c=n(1394),d=n(261),p=n(354);function UndoDeleteComponent_sf_loader_0_Template(e,t){1&e&&r["ɵɵelement"](0,"sf-loader",2)}function UndoDeleteComponent_ng_container_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementContainerStart"](0),r["ɵɵtext"](1),r["ɵɵelementStart"](2,"a",3),r["ɵɵlistener"]("click",(function UndoDeleteComponent_ng_container_1_Template_a_click_2_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().restoreItems()})),r["ɵɵtext"](3,"Undo"),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",o.getNotificaitonMessage()," ")}}var f=function(e){function UndoDeleteComponent(t,n){var o=e.call(this)||this;return o.route=t,o.restoreCommand=n,o.onCommand=new r.EventEmitter,o.isRestoringItems=!1,o}return Object(o.__extends)(UndoDeleteComponent,e),UndoDeleteComponent.prototype.restoreItems=function(){var e=this;this.isRestoringItems=!0;var t={data:{selectedItems:this.restorableItemIds.map((function(t){var n;return a.DataItem.fromEntityData(((n={})[e.entityData.metadata.key]=t,n),e.entityData)})),entityData:this.entityData,bulk:!0},currentRoute:this.route,model:null};new c.BulkCommand(this.restoreCommand).execute(t).subscribe((function(t){e.onCommand.emit(l.COMMAND_NAMES.refresh),e.onCommand.emit(l.COMMAND_NAMES.close),e.isRestoringItems=!1,e.restorableItemIds=[]}))},UndoDeleteComponent.prototype.getNotificaitonMessage=function(){return this.restorableItemIds&&this.restorableItemIds.length>0?1===this.restorableItemIds.length?"1 item has been moved to the Recycle Bin.":this.restorableItemIds.length+" items have been moved to the Recycle Bin.":""},UndoDeleteComponent.ɵfac=function UndoDeleteComponent_Factory(e){return new(e||UndoDeleteComponent)(r["ɵɵdirectiveInject"](s.ActivatedRoute),r["ɵɵdirectiveInject"](i.RestoreCommand))},UndoDeleteComponent.ɵcmp=r["ɵɵdefineComponent"]({type:UndoDeleteComponent,selectors:[["ng-component"]],inputs:{entityData:"entityData",restorableItemIds:"restorableItemIds"},outputs:{onCommand:"onCommand"},features:[r["ɵɵInheritDefinitionFeature"]],decls:2,vars:2,consts:[["look","progressbar overlay",4,"ngIf"],[4,"ngIf"],["look","progressbar overlay"],[3,"click"]],template:function UndoDeleteComponent_Template(e,t){1&e&&(r["ɵɵtemplate"](0,UndoDeleteComponent_sf_loader_0_Template,1,0,"sf-loader",0),r["ɵɵtemplate"](1,UndoDeleteComponent_ng_container_1_Template,4,1,"ng-container",1)),2&e&&(r["ɵɵproperty"]("ngIf",t.isRestoringItems),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.restorableItemIds.length>0))},directives:[d.NgIf,p.SfLoaderComponent],encapsulation:2}),UndoDeleteComponent}(A.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"RestoreCommand",(function(){return r}));var o=n(1171),i=n(229),r=function(){function RestoreCommand(e){this.store=e}return RestoreCommand.prototype.execute=function(e){var t=e.data.dataItem;return this.store.restoreItem(t)},RestoreCommand.ɵfac=function RestoreCommand_Factory(e){return new(e||RestoreCommand)(i["ɵɵinject"](o.DynamicItemStore))},RestoreCommand.ɵprov=i["ɵɵdefineInjectable"]({token:RestoreCommand,factory:RestoreCommand.ɵfac}),RestoreCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MOVE_ALL_TO_RECYCLE_BIN",(function(){return g})),n.d(t,"MOVE_TO_RECYCLE_BIN",(function(){return E})),n.d(t,"UNDO_DELETE_NOTIFICATION_DURATION",(function(){return h})),n.d(t,"ScheduleCommand",(function(){return b}));var o=n(259),i=n(131),r=n(11),a=n(1171),s=n(319),A=n(1118),l=n(317),c=n(1750),d=n(1119),p=n(320),f=n(1202),u=n(1167),m=n(229),g="Move all translations to Recycle Bin",E="Move to Recycle Bin",h=1e4,b=function(e){function ScheduleCommand(t,n){var o=e.call(this,t)||this;return o.modalWindowService=n,o}return Object(o.__extends)(ScheduleCommand,e),ScheduleCommand.prototype.confirm=function(e){var t=new r.ReplaySubject(1),n=new r.Subject,o=e.data.action,a=e.data.dataItem;a||(a=l.DataItem.fromEntityData({},e.data.entityData));var s=this.generateConfirmationSettings(o,n);return this.modalWindowService.openModalConfirmation(e.currentRoute,s,a),n.subscribe((function(n){e.data.updateFields=n,e.data.confirmed=null!==n,t.next(e)})),t.pipe(Object(i.first)())},ScheduleCommand.prototype.execute=function(e){var t=new r.ReplaySubject(1);if(e.data.confirmed){var n=e.data.dataItem,o=e.data.updateFields,a=new u.Action(s.OPERATION_NAMES.schedule,{action:s.OPERATION_NAMES.schedule,actionParameters:o});this.dynamicItemStore.saveItem(n,null,a).subscribe((function(){t.next({success:!0,key:e.data.dataItem.key})}),(function(e){t.error(e)}))}else t.next({success:!1,key:e.data.dataItem.key});return t.pipe(Object(i.first)())},ScheduleCommand.prototype.generateConfirmationSettings=function(e,t){return{title:e.title,detailedTitle:e.detailedTitle,icon:p.ActionIcon[e.name],parameters:e.parameters,contextParameters:e.contextParameters,description:null,formValidators:f.OPERATION_VALIDATOR_MAP[e.name],action:e.name,buttons:new Array(new A.ConfirmButton(p.ActionEventsConfirmationDialogButtons[e.name],(function(e){if(e.component instanceof d.ModalConfirmationComponent&&e.component.parameters){var t=e.component;return new A.ClickResult(!0,t.editableFields.valid())}return new A.ClickResult(!0,!0)})),new A.CancelButton),doneCallback:function(e){var n=null;e.data&&e.data.data&&(n=e.component.editableFields.getFields(!1)),t.next(n)}}},ScheduleCommand.ɵfac=function ScheduleCommand_Factory(e){return new(e||ScheduleCommand)(m["ɵɵinject"](a.DynamicItemStore),m["ɵɵinject"](A.ModalWindowService))},ScheduleCommand.ɵprov=m["ɵɵdefineInjectable"]({token:ScheduleCommand,factory:ScheduleCommand.ɵfac}),ScheduleCommand}(c.OperationCommand)},function(e,t,n){"use strict";n.r(t),n.d(t,"MoveTaxonCommand",(function(){return f}));var o=n(11),i=n(1118),r=n(1666),a=n(1171),s=n(361),A=n(246),l=n(319),c=n(244),d=n(1758),p=n(229),f=function(){function MoveTaxonCommand(e,t,n){this.modalWindowService=e,this.dynamicItemStore=t,this.window=n,this.executeOnceInBulk=!0}return MoveTaxonCommand.prototype.execute=function(e){var t=this,n=e.data.entityData,r=new o.ReplaySubject(1),a=this.getComponentData(e,this.itemSelectionInfo),A=[new i.ConfirmButton(s.SelectorConstants.MOVE,(function(e){return t.onSaveClicked(n,e.component)})),new i.CancelButton],c=new i.DialogData(a,(function(){t.modalWindowService.hide(e.currentRoute,!0),r.next({success:!1})}),A,null,"-bottom");return this.modalWindowService.setMapping(c,l.OPERATION_NAMES.moveTaxon),this.modalWindowService.open(e.currentRoute,l.OPERATION_NAMES.moveTaxon),r.asObservable()},MoveTaxonCommand.prototype.onSaveClicked=function(e,t){var n=this,r=new o.ReplaySubject(1);if(1===t.selected.length){var a=""+l.OPERATION_CATEGORIES.default+A.stringConstants.DOT+l.OPERATION_NAMES.moveTaxon,s={taxonIds:t.dataItems.map((function(e){return e.data.Id})),targetTaxonId:t.selected[0].Id};this.dynamicItemStore.executeEntityOperation(e,a,s).subscribe((function(){var e=new CustomEvent(d.LONG_RUNNING_TASK_CREATED);n.window.dispatchEvent(e),r.next(new i.ClickResult(!1,!0))}))}return r},MoveTaxonCommand.prototype.getComponentData=function(e,t){var n=e.data.action?e.data.action.contextParameters:e.data.contextParameters;return{type:r.MoveTaxonComponent,properties:{itemSelectionInfo:t,contextParameters:n,dataItems:e.data.selectedItems,entityData:e.data.entityData,parentId:e.currentRoute.snapshot.params.parentId}}},MoveTaxonCommand.ɵfac=function MoveTaxonCommand_Factory(e){return new(e||MoveTaxonCommand)(p["ɵɵinject"](i.ModalWindowService),p["ɵɵinject"](a.DynamicItemStore),p["ɵɵinject"](c.WINDOW_TOKEN))},MoveTaxonCommand.ɵprov=p["ɵɵdefineInjectable"]({token:MoveTaxonCommand,factory:MoveTaxonCommand.ɵfac}),MoveTaxonCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PROGRESS_TASK_HTML_ELEMENT_HEIGHT",(function(){return p})),n.d(t,"LONG_RUNNING_TASK_CREATED",(function(){return f})),n.d(t,"LongRunningProgressComponent",(function(){return u}));var o=n(259),i=n(229),r=n(1223),a=n(264),s=n(1759),A=(n(317),n(262)),l=n(260),c=n(1147),d=n(1225);function LongRunningProgressComponent_ng_container_0_div_1_div_4_ng_container_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"div",10),i["ɵɵelementStart"](2,"sf-button",11),i["ɵɵlistener"]("onClick",(function LongRunningProgressComponent_ng_container_0_div_1_div_4_ng_container_5_Template_sf_button_onClick_2_listener(){i["ɵɵrestoreView"](n);var e=t.$implicit,o=i["ɵɵnextContext"](2).$implicit;return i["ɵɵnextContext"](2).handleButton(e,o)})),i["ɵɵtext"](3),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}if(2&e){var o=t.$implicit;i["ɵɵadvance"](3),i["ɵɵtextInterpolate"](o.title)}}var _c0=function(e,t){return{"-sf-txt-success":e,"-sf-txt-failure":t}},_c1=function(e,t){return{isVisible:e,description:t,look:"tooltip narrow preline"}};function LongRunningProgressComponent_ng_container_0_div_1_div_4_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",5),i["ɵɵelementStart"](1,"div",6),i["ɵɵelementStart"](2,"span",7),i["ɵɵtext"](3),i["ɵɵelementEnd"](),i["ɵɵelement"](4,"sf-click-notification",8),i["ɵɵelementEnd"](),i["ɵɵtemplate"](5,LongRunningProgressComponent_ng_container_0_div_1_div_4_ng_container_5_Template,4,1,"ng-container",9),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]().$implicit,o=i["ɵɵnextContext"](2);i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction2"](4,_c0,!("Stopped"==n.Status&&"Failed"==!n.Status),"Stopped"==n.Status||"Failed"==n.Status)),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](o.processStatus(n)),i["ɵɵadvance"](1),i["ɵɵproperty"]("notificationContext",i["ɵɵpureFunction2"](7,_c1,n.Tooltip,n.Tooltip)),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.buttons)}}var _c2=function(e){return{"-failure":e}};function LongRunningProgressComponent_ng_container_0_div_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div",2),i["ɵɵelementStart"](1,"div"),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelement"](3,"progress",3),i["ɵɵtemplate"](4,LongRunningProgressComponent_ng_container_0_div_1_div_4_Template,6,10,"div",4),i["ɵɵelementEnd"]()),2&e){var n=t.$implicit;i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](n.Description),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](5,_c2,"Failed"===n.Status||"Stopped"===n.Status))("max",100)("value",n.ProgressStatus),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.Status)}}function LongRunningProgressComponent_ng_container_0_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,LongRunningProgressComponent_ng_container_0_div_1_Template,5,7,"div",1),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngForOf",n.tasks)}}var p=64,f="longRunningTaskCreated",u=function(e){function LongRunningProgressComponent(t,n,o,r){var a=e.call(this)||this;return a.service=t,a.notificationBuilders=n,a.route=o,a.providerStore=r,a.totalProgressTaskHtmlElementsHeigth=new i.EventEmitter,a.tasks=[],a}return Object(o.__extends)(LongRunningProgressComponent,e),LongRunningProgressComponent.prototype.onTaskCreated=function(){this.refresh(null)},LongRunningProgressComponent.prototype.ngOnInit=function(){var e=this;this.service.init(this.entityData);var t=this.service.progress.subscribe((function(t){e.regenerateTasks(t)}));this.registerSubscription(t);var n=this.providerStore.providerChanged.subscribe((function(t){var n=e.service.progress.getValue();e.regenerateTasks(n,t)}));this.registerSubscription(n)},LongRunningProgressComponent.prototype.ngOnChanges=function(e){var t=e.entityData,n=e.concurrentKey,o=e.parentItem;(t&&!t.isFirstChange()||n&&!n.isFirstChange()||o&&!o.isFirstChange())&&this.service.init(this.entityData)},LongRunningProgressComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.service.stopService()},LongRunningProgressComponent.prototype.processStatus=function(e){var t=d.TaskStatus[e.Status.toString()];return e.Status===d.TaskStatus.Done?A.LONG_TASKS_STATUS.DONE:t===d.TaskStatus.Started?A.LONG_TASKS_STATUS.STARTED:e.Status},LongRunningProgressComponent.prototype.handleButton=function(e,t){switch(e.action){case d.TaskAction.Stop:return this.service.stop(t.Id);case d.TaskAction.Restart:return this.service.retry(t.Id);case d.TaskAction.Resume:return this.service.resume(t.Id);case d.TaskAction.Delete:default:return this.service.delete(t.Id)}},LongRunningProgressComponent.prototype.refresh=function(e){e&&(this.tasks=e),this.service.refresh()},LongRunningProgressComponent.prototype.regenerateTasks=function(e,t){var n,i=this,r=e.map((function(e){return i.processTask(e),e})).filter((function(e){var n=i.resolveBuilder(e),o=n.filterTasksCallback.bind(n),r={};return i.parentItem&&(r.provider=i.parentItem.provider),r.provider||(r.provider=t||i.route.snapshot.queryParams[A.QUERY_PARAMS.PROVIDER]||i.providerStore.currentProvider),r.ConcurrentTaskKey=i.concurrentKey,o(e,r)}));(n=this.tasks).splice.apply(n,Object(o.__spreadArrays)([0,this.tasks.length],r)),this.service.initTimer(this.tasks),this.totalProgressTaskHtmlElementsHeigth.emit(this.tasks.length*p)},LongRunningProgressComponent.prototype.processTask=function(e){this.resolveBuilder(e).processTask(e)},LongRunningProgressComponent.prototype.resolveBuilder=function(e){var t=this.notificationBuilders.find((function(t){return t.isTaskSupported(e.TaskName)}));return t||(t=this.notificationBuilders.find((function(e){return e.isDefault}))),t},LongRunningProgressComponent.ɵfac=function LongRunningProgressComponent_Factory(e){return new(e||LongRunningProgressComponent)(i["ɵɵdirectiveInject"](r.LongRunningTasksService),i["ɵɵdirectiveInject"](s.BACKGROUND_TASK_NOTIFICATION_BUILDER_TOKEN,8),i["ɵɵdirectiveInject"](l.ActivatedRoute),i["ɵɵdirectiveInject"](c.ProviderStore))},LongRunningProgressComponent.ɵcmp=i["ɵɵdefineComponent"]({type:LongRunningProgressComponent,selectors:[["sf-long-running-progress"]],hostBindings:function LongRunningProgressComponent_HostBindings(e,t){1&e&&i["ɵɵlistener"]("longRunningTaskCreated",(function LongRunningProgressComponent_longRunningTaskCreated_HostBindingHandler(){return t.onTaskCreated()}),!1,i["ɵɵresolveWindow"])},inputs:{entityData:"entityData",parentItem:"parentItem",showLoaders:"showLoaders",concurrentKey:"concurrentKey"},outputs:{totalProgressTaskHtmlElementsHeigth:"totalProgressTaskHtmlElementsHeigth"},features:[i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]],decls:1,vars:1,consts:[[4,"ngIf"],["class","-sf-mb-3xs -sf-mt-3xs",4,"ngFor","ngForOf"],[1,"-sf-mb-3xs","-sf-mt-3xs"],["min","0",1,"sf-media__progress",3,"ngClass","max","value"],["class","sf-row -no-wrap",4,"ngIf"],[1,"sf-row","-no-wrap"],[1,"-auto-flex","sf-row"],[3,"ngClass"],[1,"-sf-ml-4xs",3,"notificationContext"],[4,"ngFor","ngForOf"],[1,"-no-flex"],["data-sftest","generalAction","look","small link",3,"onClick"]],template:function LongRunningProgressComponent_Template(e,t){1&e&&i["ɵɵtemplate"](0,LongRunningProgressComponent_ng_container_0_Template,2,1,"ng-container",0),2&e&&i["ɵɵproperty"]("ngIf",t.showLoaders)},encapsulation:2}),LongRunningProgressComponent}(a.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"BACKGROUND_TASK_NOTIFICATION_BUILDER_TOKEN",(function(){return a})),n.d(t,"BackgroundTaskNotificationBuilder",(function(){return s})),n.d(t,"DefaultTaskNotificationBuilder",(function(){return A})),n.d(t,"DEFAULT_NOTIFICATION_BUILDER",(function(){return l}));var o=n(259),i=n(229),r=n(1225),a=new i.InjectionToken("notification_builder"),s=function(){function BackgroundTaskNotificationBuilder(){}return Object.defineProperty(BackgroundTaskNotificationBuilder.prototype,"isDefault",{get:function(){return!1},enumerable:!1,configurable:!0}),BackgroundTaskNotificationBuilder}(),A=function(e){function DefaultTaskNotificationBuilder(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(DefaultTaskNotificationBuilder,e),Object.defineProperty(DefaultTaskNotificationBuilder.prototype,"isDefault",{get:function(){return!0},enumerable:!1,configurable:!0}),DefaultTaskNotificationBuilder.prototype.isTaskSupported=function(e){return!1},DefaultTaskNotificationBuilder.prototype.processTask=function(e){e.Tooltip=this.buildNotification(e),e.buttons=this.buildButtons(e)},DefaultTaskNotificationBuilder.prototype.filterTasksCallback=function(e,t){return!0},DefaultTaskNotificationBuilder.prototype.buildNotification=function(e){return e.StatusMessage},DefaultTaskNotificationBuilder.prototype.buildButtons=function(e){var t=[],n=r.TaskStatus[e.Status.toString()];return parseInt(e.ProgressStatus)<100&&n===r.TaskStatus.Started&&t.push({action:r.TaskAction.Stop,title:"Stop"}),n===r.TaskStatus.Stopped&&t.push({action:r.TaskAction.Resume,title:"Resume"}),n===r.TaskStatus.Failed&&t.push({action:r.TaskAction.Delete,title:"Close"}),t},DefaultTaskNotificationBuilder}(s),l={multi:!0,provide:a,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"MergeTaxonCommand",(function(){return f}));var o=n(11),i=n(1118),r=n(1171),a=n(361),s=n(246),A=n(319),l=n(1671),c=n(244),d=n(1758),p=n(229),f=function(){function MergeTaxonCommand(e,t,n){this.modalWindowService=e,this.dynamicItemStore=t,this.window=n,this.executeOnceInBulk=!0}return MergeTaxonCommand.prototype.execute=function(e){var t=this,n=e.data.entityData,r=new o.ReplaySubject(1),s=this.getComponentData(e,this.itemSelectionInfo),l=[new i.ConfirmButton(a.SelectorConstants.MERGE,(function(e){return t.onSaveClicked(n,e.component)})),new i.CancelButton],c=new i.DialogData(s,(function(){r.next({success:!1}),t.modalWindowService.hide(e.currentRoute,!0)}),l,null,"-bottom");return this.modalWindowService.setMapping(c,A.OPERATION_NAMES.mergeTaxon),this.modalWindowService.open(e.currentRoute,A.OPERATION_NAMES.mergeTaxon),r.asObservable()},MergeTaxonCommand.prototype.onSaveClicked=function(e,t){var n=this,r=new o.ReplaySubject(1);if(1===t.selected.length){var a=""+A.OPERATION_CATEGORIES.default+s.stringConstants.DOT+A.OPERATION_NAMES.mergeTaxon,l=t.selected[0].Id,c={taxonIds:t.dataItems.map((function(e){return e.key})).filter((function(e){return e!==l})),targetTaxonId:l};this.dynamicItemStore.executeEntityOperation(e,a,c).subscribe((function(){var e=new CustomEvent(d.LONG_RUNNING_TASK_CREATED);n.window.dispatchEvent(e),r.next(new i.ClickResult(!1,!0))}))}return r},MergeTaxonCommand.prototype.getComponentData=function(e,t){var n=e.data.action?e.data.action.contextParameters:e.data.contextParameters;return{type:l.MergeTaxonComponent,properties:{itemSelectionInfo:t,contextParameters:n,dataItems:e.data.selectedItems,entityData:e.data.entityData,parentId:e.currentRoute.snapshot.params.parentId}}},MergeTaxonCommand.ɵfac=function MergeTaxonCommand_Factory(e){return new(e||MergeTaxonCommand)(p["ɵɵinject"](i.ModalWindowService),p["ɵɵinject"](r.DynamicItemStore),p["ɵɵinject"](c.WINDOW_TOKEN))},MergeTaxonCommand.ɵprov=p["ɵɵdefineInjectable"]({token:MergeTaxonCommand,factory:MergeTaxonCommand.ɵfac}),MergeTaxonCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"AssignTaxonsCommand",(function(){return g}));var o=n(11),i=n(1118),r=n(319),a=n(1394),s=n(1762),A=n(314),l=n(1178),c=n(1183),d=n(245),p=n(131),f=n(266),u=n(351),m=n(326),g=function(){function AssignTaxonsCommand(e,t,n,i,r){this.modalWindowService=e,this.dynamicItemStore=t,this.notificationService=n,this.notificationFilter=i,this.metadataParserService=r,this.executeOnceInBulk=!0,this.result=new o.ReplaySubject(1)}return AssignTaxonsCommand.prototype.execute=function(e){var t=this,n=e.data.selectedItems[0];if(e.data.allItemsSelected)this.openDialog(this.filterNotTranslatedItems(e.data.selectedItems),e.data.action.detailedTitle,e.currentRoute,n);else{var o=Object(A.createQuery)();n.metadata.hasParent&&(o=o.expand("Parent($select=Title)")),o=o.where().or(),e.data.selectedItems.forEach((function(e){o=o.eq(n.metadata.key,e.key)})),o=o.done().done(),this.dynamicItemStore.getItemList({entityData:n,query:o,dataFieldNames:[n.metadata.key].concat(this.getAdditionalFieldsNames(n))}).pipe(this.addErrorToResultAndRethrow(this.result),this.catchErrorAndShowNotification()).subscribe((function(o){t.openDialog(t.filterNotTranslatedItems(o.dataItems),e.data.action.detailedTitle,e.currentRoute,n)}))}return this.result.asObservable()},AssignTaxonsCommand.prototype.getNotification=function(e,t,n){var o=e&&e.length>0&&t&&t.length>0,i=!o&&t&&t.length>0,r=!o&&e&&e.length>0,s={type:c.BulkOperationsNotificationComponent,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n.entityData,operationName:"update"},id:"bulkOperationsNotification",look:l.NOTIFICATION_LOOKS.SUCCESS};return r?(s.look=l.NOTIFICATION_LOOKS.SUCCESS,s.duration=a.SUCCESSFUL_NOTIFFICATION_TIME):i?(s.look=l.NOTIFICATION_LOOKS.ERROR,s.closeButton=!0):o&&(s.look=l.NOTIFICATION_LOOKS.WARNING,s.closeButton=!0),s},AssignTaxonsCommand.prototype.getAdditionalFieldsNames=function(e){var t=this,n=[f.Properties.AvailableLanguages,f.Properties.TITLE];return m.MediaHelpers.isMediaEntity(e)&&(n.push(f.Properties.THUMBNAIL_URL),n.push(f.Properties.EXTENSION),n.push(f.Properties.MIME_TYPE)),m.MediaHelpers.isImageEntity(e)&&(n.push(f.Properties.WIDTH),n.push(f.Properties.HEIGHT)),m.MediaHelpers.isDocumentEntity(e)&&(n.push(f.Properties.TOTAL_SIZE),n.push(f.Properties.DISPLAY_STATUS),n.push(f.Properties.LOCKED_STATUS)),m.MediaHelpers.isVideoEntity(e)&&(n.push(f.Properties.URL),n.push(f.Properties.WIDTH),n.push(f.Properties.HEIGHT)),Object.keys(e.metadata.properties).forEach((function(o){t.metadataParserService.getPropertyFieldType(e.metadata,e.metadata.properties[o],null,o,null)===u.FieldTypes.taxa&&n.push(o)})),n},AssignTaxonsCommand.prototype.filterNotTranslatedItems=function(e){return e.filter((function(e){return e.isTranslated}))},AssignTaxonsCommand.prototype.openDialog=function(e,t,n,o){var a=this,A={type:s.AssignTaxonsComponent,properties:{items:e,fieldNames:this.getAdditionalFieldsNames(o)}},l=[];e.length>0&&(l=[new i.ConfirmButton(r.OPERATION_TITLES.saveChanges),new i.CancelButton]);var c=new i.DialogData(A,(function(t){var n=t.data;if(n&&n.data){var i=t.component.editableFieldsComponent.getFields(),A=i?Object.keys(i).filter((function(e){return e!==s.ITEMS_WITH_ASSIGNED_TAXONS_LIST_FIELD_NAME})):[];if(A.length>0){var l=e;if(i[s.ITEMS_WITH_ASSIGNED_TAXONS_LIST_FIELD_NAME]&&(l=i[s.ITEMS_WITH_ASSIGNED_TAXONS_LIST_FIELD_NAME]),l.length>0){var c=[],p=[];return l.forEach((function(e){var t={};A.forEach((function(n){t[n]=Object(d.filterDuplicates)(e.data[n].concat(i[n]))}));var n={dataItem:e,doNotRefreshItem:!0,data:t,operation:{action:r.OPERATION_NAMES.defaultWorkflowOperation}},o={dataItem:e,doNotRefreshItem:!0,data:{}};c.push(n),p.push(o)})),void a.dynamicItemStore.service.updateItemsWithBulkOperationResult(p,o).pipe(a.addErrorToResultAndRethrow(a.result),a.catchErrorAndShowNotification()).subscribe((function(e){a.dynamicItemStore.service.updateItemsWithBulkOperationResult(c,o).pipe(a.addErrorToResultAndRethrow(a.result),a.catchErrorAndShowNotification()).subscribe((function(e){a.result.next(e)}))}))}}}a.result.next({success:!1})}),l,null,"-bottom");c.heading={title:t},this.modalWindowService.setMapping(c,r.OPERATION_NAMES.assignTaxons),this.modalWindowService.open(n,r.OPERATION_NAMES.assignTaxons)},AssignTaxonsCommand.prototype.catchErrorAndShowNotification=function(){return this.notificationService.catchErrorAndShowNotification(this.notificationFilter)},AssignTaxonsCommand.prototype.addErrorToResultAndRethrow=function(e){return Object(p.catchError)((function(t){return e.next({success:!1}),Object(o.throwError)(t)}))},AssignTaxonsCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ITEMS_WITH_ASSIGNED_TAXONS_LIST_FIELD_NAME",(function(){return g})),n.d(t,"AssignTaxonsComponent",(function(){return E}));var o=n(11),i=n(1507),r=n(1121),a=n(1120),s=n(1165),A=n(1213),l=n(351),c=n(266),d=n(378),p=n(1763),f=n(262),u=n(1185),m=n(229);function AssignTaxonsComponent_sf_editable_fields_0_Template(e,t){if(1&e&&m["ɵɵelement"](0,"sf-editable-fields",2),2&e){var n=m["ɵɵnextContext"]();m["ɵɵproperty"]("fieldSections",n.fieldsSections)}}function AssignTaxonsComponent_ng_template_1_Template(e,t){1&e&&(m["ɵɵelement"](0,"sf-icon",3),m["ɵɵelementStart"](1,"p",4),m["ɵɵtext"](2,"Selected items from the current language will be displayed here"),m["ɵɵelementEnd"]())}var g="ItemsWithAssignedTaxons",E=function(){function AssignTaxonsComponent(e,t,n){this.fieldsGeneratorService=e,this.backendTweaksStore=t,this.fieldsProvider=n}return AssignTaxonsComponent.prototype.ngOnInit=function(){var e=this;this.items.length>0&&this.generateFieldSections(this.items[0]).subscribe((function(t){e.fieldsSections=t}))},AssignTaxonsComponent.prototype.generateFieldSections=function(e){var t=this,n=new a.FieldSectionModel({isExpanded:!0,isMain:!0,insertHorizontalRule:!1});return this.backendTweaksStore.getFormByType(e.metadata.setName,f.VIEW_NAME.EDIT).length>0?Object(o.of)(this.populateSections(e,n)):Object(i.fromPromise)(this.backendTweaksStore.initializeForm(e.metadata.setName,f.VIEW_NAME.EDIT,null,e.provider,e.culture).then((function(){return t.populateSections(e,n)})))},AssignTaxonsComponent.prototype.populateSections=function(e,t){var n=this,o=this.fieldsGeneratorService.generateFieldModels(this.items[0].metadata,e.metadata.setName,this.backendTweaksStore,e).filter((function(e){return e.selector===l.FieldTypes.taxa&&n.fieldNames.indexOf(e.key)>-1}));return o.forEach((function(t){t.settings.culture=e.culture,t.settings.look="justify-content-center"})),t.fields=o,t.fields.push(this.generateFileListModel(e)),[t]},AssignTaxonsComponent.prototype.generateFileListModel=function(e){var t=e.metadata.isMedia?l.FieldTypes.fileList:l.FieldTypes.itemList,n=Object(c.createFieldModel)(this.fieldsProvider,e.metadata.setName,t,g,this.items,{}," ");return this.setSettingsForFieldModel(n),n},AssignTaxonsComponent.prototype.setSettingsForFieldModel=function(e){if(e.settings instanceof p.FileListSettings){var t=e.settings;t.showRemoveButton=!0,t.isSelectable=!1,t.isCentered=!0}else if(e.settings instanceof u.ItemListSettings){var n=e.settings;n.showRemoveButton=!0,n.showTitle=!1,n.showStatus=!1}},AssignTaxonsComponent.ɵfac=function AssignTaxonsComponent_Factory(e){return new(e||AssignTaxonsComponent)(m["ɵɵdirectiveInject"](s.FieldsGeneratorService),m["ɵɵdirectiveInject"](A.BackendTweaksStore),m["ɵɵdirectiveInject"](d.CompositeFieldsProvider))},AssignTaxonsComponent.ɵcmp=m["ɵɵdefineComponent"]({type:AssignTaxonsComponent,selectors:[["ng-component"]],viewQuery:function AssignTaxonsComponent_Query(e,t){if(1&e&&m["ɵɵviewQuery"](r.EditableFieldsComponent,1),2&e){var n;m["ɵɵqueryRefresh"](n=m["ɵɵloadQuery"]())&&(t.editableFieldsComponent=n.first)}},inputs:{items:"items",fieldNames:"fieldNames"},decls:3,vars:2,consts:[["class","-sf-txt-align-center sf-form",3,"fieldSections",4,"ngIf","ngIfElse"],["noItemsTemplate",""],[1,"-sf-txt-align-center","sf-form",3,"fieldSections"],["name","check-square-o","look","illustrative sf-mt-7xl sf-mb-xs sf-mr-zero"],[1,"-sf-txt-hint"]],template:function AssignTaxonsComponent_Template(e,t){if(1&e&&(m["ɵɵtemplate"](0,AssignTaxonsComponent_sf_editable_fields_0_Template,1,1,"sf-editable-fields",0),m["ɵɵtemplate"](1,AssignTaxonsComponent_ng_template_1_Template,3,0,"ng-template",null,1,m["ɵɵtemplateRefExtractor"])),2&e){var n=m["ɵɵreference"](2);m["ɵɵproperty"]("ngIf",t.items.length)("ngIfElse",n)}},encapsulation:2}),AssignTaxonsComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FileListSettings",(function(){return a})),n.d(t,"FILE_LIST_REGISTRY",(function(){return s}));var o=n(259),i=n(332),r=n(1730),a=function(e){function FileListSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(FileListSettings,e),FileListSettings.prototype.init=function(t){e.prototype.init.call(this,t)},FileListSettings}(i.SettingsBase),s={writeComponent:r.FileListComponent,readComponent:r.FileListComponent,settingsType:a}},function(e,t,n){"use strict";n.r(t),n.d(t,"ListItemSettingsSidebarComponent",(function(){return d}));var o=n(246),i=n(244),r=n(229),a=n(260),s=n(295),A=n(298),l=n(261),c=n(354);function ListItemSettingsSidebarComponent_ng_container_1_li_4_sf_icon_2_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-icon",8),2&e){var n=r["ɵɵnextContext"]().$implicit;r["ɵɵpropertyInterpolate"]("name",n.icon)}}var _c0=function(e){return{"-active":e}};function ListItemSettingsSidebarComponent_ng_container_1_li_4_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"li",5),r["ɵɵelementStart"](1,"a",6),r["ɵɵlistener"]("click",(function ListItemSettingsSidebarComponent_ng_container_1_li_4_Template_a_click_1_listener(){r["ɵɵrestoreView"](n);var e=t.$implicit;return r["ɵɵnextContext"](2).onNavigateToSettings(e)}))("keyup.enter",(function ListItemSettingsSidebarComponent_ng_container_1_li_4_Template_a_keyup_enter_1_listener(){r["ɵɵrestoreView"](n);var e=t.$implicit;return r["ɵɵnextContext"](2).onNavigateToSettings(e)})),r["ɵɵtemplate"](2,ListItemSettingsSidebarComponent_ng_container_1_li_4_sf_icon_2_Template,1,1,"sf-icon",7),r["ɵɵtext"](3),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,i=r["ɵɵnextContext"](2);r["ɵɵproperty"]("ngClass",o.css),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](4,_c0,o.name===i.selectedSettingName)),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.icon),r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",o.title," ")}}var _c1=function(e){return{"-sf-mt-2xl":e}};function ListItemSettingsSidebarComponent_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"h4",2),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"ul",3),r["ɵɵtemplate"](4,ListItemSettingsSidebarComponent_ng_container_1_li_4_Template,4,6,"li",4),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.first;r["ɵɵadvance"](1),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](3,_c1,!o)),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.title),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngForOf",n.settings)}}var d=function(){function ListItemSettingsSidebarComponent(e,t,n,o){this.window=e,this.injector=t,this.route=n,this.store=o,this.sectionViewModels=[]}return ListItemSettingsSidebarComponent.prototype.ngOnInit=function(){this.sectionViewModels=this.sections.sort((function(e,t){return e.ordinal-t.ordinal})).map((function(e){var t=e.operations.map((function(e){return{title:e.Title,name:e.Name,link:e.Link,css:"RecycleBin"===e.Name?"-sf-mt-2xs":null,token:e.token,ordinal:e.Ordinal,icon:e.context?e.context.icon:null}})).sort((function(e,t){return e.ordinal-t.ordinal}));return{title:e.title,settings:t}}))},ListItemSettingsSidebarComponent.prototype.onNavigateToSettings=function(e){var t=this;e.token?this.injector.get(e.token.type).execute({currentRoute:this.route,model:null,data:e.token.properties}).subscribe((function(e){e&&e.selectedSettingName&&(t.selectedSettingName=e.selectedSettingName)})):(this.store.dispatch(A.SIDEBAR_DISPATCH_ACTION.loading()),this.window.open(e.link,o.SAME_TAB_TARGET))},ListItemSettingsSidebarComponent.ɵfac=function ListItemSettingsSidebarComponent_Factory(e){return new(e||ListItemSettingsSidebarComponent)(r["ɵɵdirectiveInject"](i.WINDOW_TOKEN),r["ɵɵdirectiveInject"](r.Injector),r["ɵɵdirectiveInject"](a.ActivatedRoute),r["ɵɵdirectiveInject"](s.AppStore))},ListItemSettingsSidebarComponent.ɵcmp=r["ɵɵdefineComponent"]({type:ListItemSettingsSidebarComponent,selectors:[["ng-component"]],inputs:{title:"title",sections:"sections"},decls:2,vars:1,consts:[[1,"sf-sidebar__section"],[4,"ngFor","ngForOf"],[1,"-sf-mb-3xs",3,"ngClass"],[1,"-sf-ml--4xs","-list-style-none"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],["data-sftest","sflink","tabindex","0",1,"-side",3,"ngClass","click","keyup.enter"],["look","size-xs black",3,"name",4,"ngIf"],["look","size-xs black",3,"name"]],template:function ListItemSettingsSidebarComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵtemplate"](1,ListItemSettingsSidebarComponent_ng_container_1_Template,5,5,"ng-container",1),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",t.sectionViewModels))},directives:[l.NgForOf,l.NgClass,l.NgIf,c.SfIconComponent],encapsulation:2}),ListItemSettingsSidebarComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ColumnOrdinals",(function(){return o})),n.d(t,"ACTIONS_COLUMN_NAME",(function(){return A})),n.d(t,"ColumnsGenerator",(function(){return l}));var o,i=n(259),r=n(131),a=n(10),s=n(229);!function(e){e[e.main=Number.MIN_SAFE_INTEGER]="main",e[e.marketing=e.main+1]="marketing",e[e.translations=e.marketing+1]="translations"}(o||(o={}));var A="Actions",l=function(){function ColumnsGenerator(e){this.columnsProvider=e,this.sortingDisabledColumnNames=["PublicationDate"]}return ColumnsGenerator.prototype.generateColumns=function(e,t){var n=this,o=e.metadata;return this.columnsProvider.getColumns(e).pipe(Object(r.map)((function(e){var t=Object(i.__spreadArrays)(e),r=t.findIndex((function(e){return e.name===A}));if(r>-1&&r!==t.length-1){var a=t[r];t.splice(r,1),t.push(a)}return t.forEach((function(e){n.sortingDisabledColumnNames.find((function(t){return t===e.name}))?e.sortableFieldName=null:e.sortableFieldName||(e.sortableFieldName=o.isSortingAllowed(e.name)?e.name:null)})),t})))},ColumnsGenerator.ɵfac=function ColumnsGenerator_Factory(e){return new(e||ColumnsGenerator)(s["ɵɵinject"](a.CompositeColumnsProvider))},ColumnsGenerator.ɵprov=s["ɵɵdefineInjectable"]({token:ColumnsGenerator,factory:ColumnsGenerator.ɵfac}),ColumnsGenerator}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ReorderCommand",(function(){return h}));var o=n(11),i=n(1386),r=n(1118),a=n(260),s=n(1171),A=n(320),l=n(1178),c=n(262),d=n(1183),p=n(319),f=n(1177),u=n(131),m=n(256),g=n(1767),E=n(229),h=function(){function ReorderCommand(e,t,n,o){this.modalWindowService=e,this.dynamicItemStore=t,this.route=n,this.notificationService=o}return ReorderCommand.prototype.execute=function(e){var t=this,n=e.data,a=new o.ReplaySubject(1),s=null;n.entityData.metadata.isMultimedia?s={type:g.FileReorderComponent,properties:{parentEntityData:n.parentItem,childEntityData:n.entityData}}:(s={type:i.ReorderComponent,properties:{parentItem:n.parentItem,entityData:n.entityData}},n.treeConfig&&(s.properties.treeConfig=n.treeConfig));var A=[new r.ConfirmButton("Save changes",(function(e){return t.onSaveClicked(n.entityData,a,e.component)})),new r.CancelButton],l=new r.DialogData(s,(function(e){e.type===r.ClosingContextType.ButtonClicked&&e.data&&e.data.data&&e.data.data.notificationData&&t.notificationService.publishNotification(e.data.data.notificationData)}),A,null,"-bottom");return this.modalWindowService.setMapping(l),this.modalWindowService.open(this.route),a.asObservable()},ReorderCommand.prototype.onSaveClicked=function(e,t,n){var i,a,s=this,l=new o.ReplaySubject(1);if(e.metadata.isSelfReferencing||e.metadata.setName===m.ENTITY_SET.HIERARCHY_TAXA)n.reorderActions.length>0&&(i=this.dynamicItemStore.executeEntityOperation(e,"Default.Reorder",{actions:n.reorderActions}).pipe(Object(u.map)((function(t){a=s.getNotification(t.SucceededItemsIds,t.FailedItemsIds,e)}))));else{var c=e.metadata.key;if(e.metadata.isMultimedia){var d=n;d.isDirty&&(i=this.dynamicItemStore.executeEntityOperation(e,A.ActionEvent.ReorderItems,{items:d.mediaItems.map((function(e){return e.data[c]}))}))}else n.dirty&&(i=this.dynamicItemStore.executeEntityOperation(e,A.ActionEvent.ReorderItems,{items:n.treeItems.map((function(e){return e[c]}))}))}return i?(l.next(new r.ClickResult(!0,!1)),i.subscribe(null,(function(e){t.error("An error occured while trying to reorder items.")}),(function(){l.next(new r.ClickResult(!a||{notificationData:a},!0)),t.next(!0)}))):l.next(new r.ClickResult(!0,!0)),l},ReorderCommand.prototype.getNotification=function(e,t,n){var o=e&&e.length>0&&t&&t.length>0,i=!o&&t&&t.length>0,r=!o&&e&&e.length>0,a={type:d.BulkOperationsNotificationComponent,properties:{succeededItemsIds:e,failedItemsIds:t,entityData:n,operationName:p.OPERATION_NAMES.reorder.toLowerCase()},id:"bulkChangeTemplateNotification",look:l.NOTIFICATION_LOOKS.SUCCESS,filterParam:n.metadata.typeFullName};return r?(a.look=l.NOTIFICATION_LOOKS.SUCCESS,a.duration=c.NOTIFICATION_DURATION_DEFAULT):i?(a.look=l.NOTIFICATION_LOOKS.ERROR,a.closeButton=!0):o&&(a.look=l.NOTIFICATION_LOOKS.WARNING,a.closeButton=!0),a},ReorderCommand.ɵfac=function ReorderCommand_Factory(e){return new(e||ReorderCommand)(E["ɵɵinject"](r.ModalWindowService),E["ɵɵinject"](s.DynamicItemStore),E["ɵɵinject"](a.ActivatedRoute),E["ɵɵinject"](f.NOTIFICATION_SERVICE))},ReorderCommand.ɵprov=E["ɵɵdefineInjectable"]({token:ReorderCommand,factory:ReorderCommand.ɵfac}),ReorderCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FileReorderComponent",(function(){return A}));var o=n(262),i=n(1208),r=n(369),a=n(229),s=["fileList"];function FileReorderComponent_div_2_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",6),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate1"](" ",n.parentEntityData.data.Title," ")}}function FileReorderComponent_sf_loader_5_Template(e,t){1&e&&a["ɵɵelement"](0,"sf-loader",7)}var _c1=function(){return[]},A=function(){function FileReorderComponent(e,t){this.scrollService=e,this.mediaService=t,this.value=[],this.isInitialLoading=!0,this.heading="Reorder"}return Object.defineProperty(FileReorderComponent.prototype,"mediaItems",{get:function(){return this.list.mediaItems},enumerable:!1,configurable:!0}),Object.defineProperty(FileReorderComponent.prototype,"isDirty",{get:function(){return this.list.hasChanges},enumerable:!1,configurable:!0}),FileReorderComponent.prototype.ngOnInit=function(){var e=this;this.heading="Reorder "+this.childEntityData.metadata.displayName.toLowerCase()+" in library",this.getImages().subscribe((function(t){e.value=t.dataItems,e.isInitialLoading=!1,e.value.length0&&((n=t.value).push.apply(n,e.dataItems),t.list.mediaItems=t.value)}))},FileReorderComponent.prototype.getImages=function(){var e;return this.mediaService.getMediaForLibrary(this.childEntityData,this.parentEntityData.data.Id,null,null,null,null,((e={})[o.FILTER_PARAMS.SORT]="Ordinal",e))},FileReorderComponent.ɵfac=function FileReorderComponent_Factory(e){return new(e||FileReorderComponent)(a["ɵɵdirectiveInject"](r.ScrollService),a["ɵɵdirectiveInject"](i.MediaService))},FileReorderComponent.ɵcmp=a["ɵɵdefineComponent"]({type:FileReorderComponent,selectors:[["sf-file-reorder"]],viewQuery:function FileReorderComponent_Query(e,t){if(1&e&&a["ɵɵviewQuery"](s,3),2&e){var n;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.list=n.first)}},decls:6,vars:12,consts:[[1,"-sf-pb-xl",3,"drop","dragend"],[3,"heading"],["class","-sf-txt-large -sf-mt--xl -sf-mb-l",4,"ngIf"],["sfInfiniteScroll","",3,"mediaEntityData","value","isSelectable","groupByMonth","reorderable","dimNotTranslated","showNotTranslatedLabel","mediaItems","scrolledToBottom"],["fileList",""],["look","big",4,"ngIf"],[1,"-sf-txt-large","-sf-mt--xl","-sf-mb-l"],["look","big"]],template:function FileReorderComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"div",0),a["ɵɵlistener"]("drop",(function FileReorderComponent_Template_div_drop_0_listener(){return t.list.clearDrag()}))("dragend",(function FileReorderComponent_Template_div_dragend_0_listener(){return t.list.clearDrag()})),a["ɵɵelement"](1,"sf-sticky-component",1),a["ɵɵtemplate"](2,FileReorderComponent_div_2_Template,2,1,"div",2),a["ɵɵelementStart"](3,"sf-file-list",3,4),a["ɵɵlistener"]("scrolledToBottom",(function FileReorderComponent_Template_sf_file_list_scrolledToBottom_3_listener(){return t.loadMoreFiles()})),a["ɵɵelementEnd"](),a["ɵɵtemplate"](5,FileReorderComponent_sf_loader_5_Template,1,0,"sf-loader",5),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵadvance"](1),a["ɵɵproperty"]("heading",t.heading),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.parentEntityData.data.Title),a["ɵɵadvance"](1),a["ɵɵproperty"]("mediaEntityData",t.childEntityData)("value",a["ɵɵpureFunction0"](11,_c1))("isSelectable",!1)("groupByMonth",!1)("reorderable",!0)("dimNotTranslated",!1)("showNotTranslatedLabel",!1)("mediaItems",t.value),a["ɵɵadvance"](2),a["ɵɵproperty"]("ngIf",t.isInitialLoading))},encapsulation:2}),FileReorderComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"QuickNavigationSidebarComponent",(function(){return s}));var o=n(260),i=n(1387),r=n(229),a=n(261),_c0=function(e){return{"-active":e}};function QuickNavigationSidebarComponent_ng_container_1_li_4_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"li"),r["ɵɵelementStart"](1,"a",4),r["ɵɵlistener"]("click",(function QuickNavigationSidebarComponent_ng_container_1_li_4_Template_a_click_1_listener(){r["ɵɵrestoreView"](n);var e=t.$implicit,o=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"]().onNavigateToLink(e,o.sourceEntityData)}))("keyup.enter",(function QuickNavigationSidebarComponent_ng_container_1_li_4_Template_a_keyup_enter_1_listener(){r["ɵɵrestoreView"](n);var e=t.$implicit,o=r["ɵɵnextContext"]().$implicit;return r["ɵɵnextContext"]().onNavigateToLink(e,o.sourceEntityData)})),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,i=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](2,_c0,o.data.Name===i.selectedLinkName)),r["ɵɵadvance"](1),r["ɵɵtextInterpolate1"](" ",o.data.Title||o.data.DefaultTitle," ")}}var _c1=function(e){return{"-sf-mt-2xl":e}};function QuickNavigationSidebarComponent_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"h4",2),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"ul",3),r["ɵɵtemplate"](4,QuickNavigationSidebarComponent_ng_container_1_li_4_Template,3,4,"li",1),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.first;r["ɵɵadvance"](1),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](3,_c1,!o)),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](n.title),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngForOf",n.dataItems)}}var s=function(){function QuickNavigationSidebarComponent(e,t,n){this.route=e,this.gridExtender=t,this.router=n}return QuickNavigationSidebarComponent.prototype.onNavigateToLink=function(e,t){this.gridExtender.executeNavigateCommand(this.router,this.route,e,t,e.childSetName)},QuickNavigationSidebarComponent.ɵfac=function QuickNavigationSidebarComponent_Factory(e){return new(e||QuickNavigationSidebarComponent)(r["ɵɵdirectiveInject"](o.ActivatedRoute),r["ɵɵdirectiveInject"](i.CompositeGridExtender),r["ɵɵdirectiveInject"](o.Router))},QuickNavigationSidebarComponent.ɵcmp=r["ɵɵdefineComponent"]({type:QuickNavigationSidebarComponent,selectors:[["ng-component"]],inputs:{title:"title",sections:"sections",selectedLinkName:"selectedLinkName"},decls:2,vars:1,consts:[[1,"sf-sidebar__section"],[4,"ngFor","ngForOf"],[1,"-sf-mb-3xs",3,"ngClass"],[1,"-sf-ml--4xs","-list-style-none"],["data-sftest","sflink","tabindex","0",1,"-side","-sf-txt-base",3,"ngClass","click","keyup.enter"]],template:function QuickNavigationSidebarComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵtemplate"](1,QuickNavigationSidebarComponent_ng_container_1_Template,5,5,"ng-container",1),r["ɵɵelementEnd"]()),2&e&&(r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",t.sections))},directives:[a.NgForOf,a.NgClass],encapsulation:2}),QuickNavigationSidebarComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ON_RELOAD_CONTENT_FILTER_EVENT_NAME",(function(){return f})),n.d(t,"ContentFilterComponent",(function(){return u}));var o=n(259),i=n(131),r=n(229),a=n(11),s=n(262),A=n(1193),l=n(264),c=n(1063),d=n(245),p=n(1683),_c0=function(e){return{"-active":e}};function ContentFilterComponent_div_0_div_1_ng_container_1_li_5_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"li",7),r["ɵɵelementStart"](1,"a",8),r["ɵɵlistener"]("click",(function ContentFilterComponent_div_0_div_1_ng_container_1_li_5_Template_a_click_1_listener(){r["ɵɵrestoreView"](n);var e=t.$implicit;return r["ɵɵnextContext"](4).onFilterSelect(e.name)})),r["ɵɵelement"](2,"sf-content-filter-count",9),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,i=r["ɵɵnextContext"](4);r["ɵɵattribute"]("class",o.cssClass),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction1"](5,_c0,i.filterValue===o.name)),r["ɵɵadvance"](1),r["ɵɵproperty"]("filter",o)("entityData",i.entityData)("loadFiltersCount",i.loadFiltersCount)}}function ContentFilterComponent_div_0_div_1_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"label",4),r["ɵɵtext"](2),r["ɵɵpipe"](3,"lowercase"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](4,"ul",5),r["ɵɵtemplate"](5,ContentFilterComponent_div_0_div_1_ng_container_1_li_5_Template,3,7,"li",6),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"](2).$implicit,o=r["ɵɵnextContext"]();r["ɵɵadvance"](2),r["ɵɵtextInterpolate1"]("Filter ",r["ɵɵpipeBind1"](3,2,o.displayName?o.displayName:o.entityData.metadata.displayName),""),r["ɵɵadvance"](3),r["ɵɵproperty"]("ngForOf",n.filters)}}function ContentFilterComponent_div_0_div_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",3),r["ɵɵtemplate"](1,ContentFilterComponent_div_0_div_1_ng_container_1_Template,6,4,"ng-container",0),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().$implicit,o=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.showFilters(n))}}function ContentFilterComponent_div_0_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵtemplate"](1,ContentFilterComponent_div_0_div_1_Template,2,1,"div",2),r["ɵɵelementEnd"]()),2&e){var n=t.$implicit;r["ɵɵnextContext"]();var o=r["ɵɵreference"](4);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.isLoading&&n.filters)("ngIfElse",o)}}function ContentFilterComponent_ng_container_2_ng_container_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementContainerStart"](0,11),r["ɵɵlistener"]("click",(function ContentFilterComponent_ng_container_2_ng_container_1_Template_ng_container_click_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onFilterSelect(e)})),r["ɵɵelementStart"](1,"sf-component-loader",12,13),r["ɵɵlistener"]("componentInit",(function ContentFilterComponent_ng_container_2_ng_container_1_Template_sf_component_loader_componentInit_1_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).loaderInit(e)})),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()}if(2&e){var o=t.$implicit;r["ɵɵadvance"](1),r["ɵɵproperty"]("componentData",o)}}function ContentFilterComponent_ng_container_2_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,ContentFilterComponent_ng_container_2_ng_container_1_Template,3,1,"ng-container",10),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",n.complexFiltersComponents)}}function ContentFilterComponent_ng_template_3_sf_loader_0_Template(e,t){1&e&&r["ɵɵelement"](0,"sf-loader",15)}function ContentFilterComponent_ng_template_3_Template(e,t){if(1&e&&r["ɵɵtemplate"](0,ContentFilterComponent_ng_template_3_sf_loader_0_Template,1,0,"sf-loader",14),2&e){var n=r["ɵɵnextContext"]();r["ɵɵproperty"]("ngIf",!n.disableLoader)}}var f="onReloadContentFilters",u=function(e){function ContentFilterComponent(t,n){var o=e.call(this)||this;return o.customFilterRenderers=t,o.filterStore=n,o.filterSelect=new r.EventEmitter,o.complexFiltersComponents=[],o.dynamicFiltersCountByCategory={},o.dynamicFiltersTotalCount=0,o.filterResult$=new a.ReplaySubject,o.contentFiltersResult$=o.filterResult$.pipe(Object(c.delayEmission)(s.LOADING_TIME),Object(i.map)((function(e){return o.manageFilterList(e)}))),o}return Object(o.__extends)(ContentFilterComponent,e),Object.defineProperty(ContentFilterComponent.prototype,"filterValue",{get:function(){return this._filterValue},set:function(e){this._filterValue=e||null},enumerable:!1,configurable:!0}),ContentFilterComponent.prototype.ngOnInit=function(){this.loadFilters(this.entityData)},ContentFilterComponent.prototype.ngOnChanges=function(e){var t=e.entityData;t&&!t.isFirstChange()&&this.loadFilters(t.currentValue)},ContentFilterComponent.prototype.showFilters=function(e){return e.filters.length>1||this.dynamicFiltersTotalCount>0},ContentFilterComponent.prototype.onFilterSelect=function(e){this.filterValue=e,this.filterSelect.emit(this.filterValue)},ContentFilterComponent.prototype.generateFilterWrapperCssClassList=function(e){return e?" -"+Object(d.toKebabCase)(e):""},ContentFilterComponent.prototype.loaderInit=function(e){var t=this,n=e.filterSelect.subscribe((function(e){t.onFilterSelect(e)}));this.registerSubscription(n);var o=e.filtersChanged.subscribe((function(n){var o=e.category;t.dynamicFiltersCountByCategory[o]=n?n.length:0,t.dynamicFiltersTotalCount=Object.values(t.dynamicFiltersCountByCategory).reduce((function(e,t){return t?e+t:e}),0)}));this.registerSubscription(o)},ContentFilterComponent.prototype.loadFilters=function(e){var t=this;this.getFiltersSubscription&&this.getFiltersSubscription.unsubscribe(),this.getFiltersSubscription=this.filterStore.getPredefinedFilters(e).subscribe((function(e){return t.filterResult$.next(e)})),this.registerSubscription(this.getFiltersSubscription)},ContentFilterComponent.prototype.manageFilterList=function(e){var t=this,n=e.isLoading,i=e.filters,r=i&&i.length;if(!n&&r){var a=i.slice();a=a.map((function(e){return{title:e.title,name:e.name,cssClass:t.generateFilterWrapperCssClassList(e.category),parameters:e.parameters,category:e.category,isDynamicFilter:e.isDynamicFilter}}));var s=this.displayName?this.displayName:this.entityData.metadata.displayName;this.entityData.metadata.hasAllItemsFilterEnabledProperty&&a.unshift({title:"All "+s.toLocaleLowerCase(),name:null});var A=a.filter((function(e){return!e.isDynamicFilter})),l=a.filter((function(e){return e.isDynamicFilter}));if(l.length){var c=l.reduce((function(e,t){return e[t.category]=Object(o.__spreadArrays)(e[t.category]||[],[t]),e}),{});this.initDynamicFilters(c)}return{isLoading:n,filters:A}}return e},ContentFilterComponent.prototype.initDynamicFilters=function(e){this.complexFiltersComponents=[];for(var t=0,n=this.customFilterRenderers;t1?this.targetItems[0].metadata.displayName.toLowerCase():this.targetItems[0].metadata.singularName.toLowerCase()),e.properties.headingLook="sf-mb--m"},MoveCommand=Object(o.__decorate)([Object(o.__param)(2,Object(l.Inject)(c.NOTIFICATION_SERVICE)),Object(o.__metadata)("design:paramtypes",[i.ModalWindowService,a.DynamicItemService,c.NotificationService,p.MetadataContainer,u.SortService,m.ChildrenCountStore])],MoveCommand)}(f.SelectorBaseCommand)},function(e,t,n){"use strict";n.r(t),n.d(t,"SelectorBaseCommand",(function(){return c}));var o=n(1118),i=n(1107),r=n(131),a=n(11),s=n(317),A=n(1155),l=n(245),c=function(){function SelectorBaseCommand(e,t,n,o){this.modalWindowService=e,this.service=t,this.notificationService=n,this.sortService=o,this.executeOnceInBulk=!0,this.isHierarchical=!1}return SelectorBaseCommand.prototype.execute=function(e){var t=this,n=e.data.dataItem?[e.data.dataItem]:[];this.targetItems=e.data.selectedItems||n,this.getEntityData(),this.setDialogTitle();var r=new a.ReplaySubject(1);this.serviceLoadMore({}).then((function(e){r.next(e),r.complete()}));var s={type:i.SelectorComponent,properties:{value$:r,loading:!0,defaultField:this.entityData.metadata.defaultFieldName,entityData:this.entityData,title:this.dialogTitle,hideSticky:!0,serviceAware:this.getServiceAware(),treeConfig:{isHierarchical:this.isHierarchical,treeProperties:{idField:this.entityData.key,displayField:this.entityData.metadata.defaultFieldName}},config:{formattedTypeName:null}}};this.generateDescription(s),this.modifyComponentData(s);var l=[new o.ConfirmButton(this.confirmButtonText,(function(e){return t.confirmButtonClickHandler(e.component)})),new o.CancelButton],c=new a.ReplaySubject(1),d=new o.DialogData(s,(function(e){return t.onDone(e,c)}),l,null,"-bottom"),p=this.targetItems.length>1?this.targetItems.length.toString():null;return d.toolbarData={type:A.ToolbarComponent,properties:{header:this.dialogTitle,superScript:p}},d.heading={title:this.dialogTitle,superScript:p},this.modalWindowService.setMapping(d,this.dialogMapping),this.modalWindowService.show(this.dialogMapping,e.currentRoute.parent),c},SelectorBaseCommand.prototype.serviceLoadMore=function(e){var t=this,n={entityData:this.entityData,order:this.sortService.getDefaultSort(this.entityData),skip:e.skip,take:e.take||20,fallbackProperties:[this.entityData.metadata.defaultFieldName]};return e.searchText&&(n.filter=[{key:this.entityData.metadata.defaultFieldName,value:[e.searchText]}]),this.service.getItemList(n).pipe(Object(r.map)((function(e){return{totalCount:e.totalCount,dataItems:t.mapNodes(e.dataItems)}}))).toPromise()},SelectorBaseCommand.prototype.serviceExpand=function(e){return Promise.resolve({totalCount:0,dataItems:[]})},SelectorBaseCommand.prototype.mapNodes=function(e){return e.map((function(e){var t=Object(l.cloneObject)(e.data);return t.isTranslated=!0,t}))},SelectorBaseCommand.prototype.confirmButtonClickHandler=function(e){var t=this,n=new a.ReplaySubject(1),i=e.selected;return n.next(new o.ClickResult({},!1,!1,!0)),i&&i.length&&i[0]?this.executeConfirmAction(i.map((function(e){return s.DataItem.fromEntityData(e,t.entityData)})),n):n.next(new o.ClickResult({success:!0,succeededItemsIds:[]},!0)),n.asObservable()},SelectorBaseCommand.prototype.onDone=function(e,t){this.notificationService.close();var n=e.data;n&&n.data&&n.data.success?(t.next({success:!0,succeededItemsIds:n.data.succeededItemsIds}),t.complete()):(t.next({success:!1}),t.complete())},SelectorBaseCommand.prototype.setDialogTitle=function(){},SelectorBaseCommand.prototype.getServiceAware=function(){return new i.ServiceContract(this.serviceLoadMore.bind(this),this.serviceExpand.bind(this))},SelectorBaseCommand.prototype.modifyComponentData=function(e){},SelectorBaseCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ReorderModuleChildrenProvider",(function(){return r}));var o=n(315),i=n(229),r=function(){function ReorderModuleChildrenProvider(e){var t;this.configService=e,this.orderConfig=null===(t=this.configService.externalConfig)||void 0===t?void 0:t.dynamicModuleChildListOrder}return ReorderModuleChildrenProvider.prototype.getFirstChildEntitySet=function(e){if(this.orderConfig){var t=this.orderConfig.find((function(t){return t.parentEntitySet===e}));if(t){var n=t.childEntitySets[0];if(n)return n}}return null},ReorderModuleChildrenProvider.prototype.reorderChildren=function(e,t){if(this.orderConfig){var n=this.orderConfig.find((function(t){return t.parentEntitySet===e})),o=null==n?void 0:n.childEntitySets;o&&o.forEach((function(e,n){var o=t.findIndex((function(t){return t.setName===e}));-1!==o&&t.splice(n,0,t.splice(o,1)[0])}))}},ReorderModuleChildrenProvider.ɵfac=function ReorderModuleChildrenProvider_Factory(e){return new(e||ReorderModuleChildrenProvider)(i["ɵɵinject"](o.ExternalAppConfigService))},ReorderModuleChildrenProvider.ɵprov=i["ɵɵdefineInjectable"]({token:ReorderModuleChildrenProvider,factory:ReorderModuleChildrenProvider.ɵfac}),ReorderModuleChildrenProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"BackendTweaksGridResolver",(function(){return a}));n(260);var o=n(1213),i=n(1158),r=n(229),a=function(){function BackendTweaksGridResolver(e){this.backendTweaksStore=e}return BackendTweaksGridResolver.prototype.resolve=function(e,t){var n=i.DynamicItemStrategyBase.getSet(e.parent);return this.backendTweaksStore.initializeGrid(n)},BackendTweaksGridResolver.ɵfac=function BackendTweaksGridResolver_Factory(e){return new(e||BackendTweaksGridResolver)(r["ɵɵinject"](o.BackendTweaksStore))},BackendTweaksGridResolver.ɵprov=r["ɵɵdefineInjectable"]({token:BackendTweaksGridResolver,factory:BackendTweaksGridResolver.ɵfac}),BackendTweaksGridResolver}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicItemsResolver",(function(){return u}));var o=n(259),i=n(11),r=n(131),a=n(260),s=n(1157),A=n(1147),l=n(271),c=n(1193),d=n(262),p=n(1160),f=n(229),u=function(e){function DynamicItemsResolver(t,n,o,i,r){var a=e.call(this,t,n,o,r)||this;return a.filterStore=i,a.persistCulture=!0,a}return Object(o.__extends)(DynamicItemsResolver,e),DynamicItemsResolver.prototype.resolve=function(t,n){var o=this,a=e.prototype.resolve.call(this,t,n);if(!a)return Object(i.of)(null);var s=t.parent.queryParams[d.FILTER_PARAMS.FILTER],A=t.parent.params[d.ROUTE_PARAMS.PARENT_ID_SEGMENT];return this.filterStore.filterValid(a,s,A).pipe(Object(r.map)((function(e){return e?a:(o.clearFilter(t,n),null)})))},DynamicItemsResolver.ɵfac=function DynamicItemsResolver_Factory(e){return new(e||DynamicItemsResolver)(f["ɵɵinject"](A.ProviderStore),f["ɵɵinject"](a.Router),f["ɵɵinject"](l.Settings),f["ɵɵinject"](c.FilterStore),f["ɵɵinject"](p.CompositeEntityDataResolver))},DynamicItemsResolver.ɵprov=f["ɵɵdefineInjectable"]({token:DynamicItemsResolver,factory:DynamicItemsResolver.ɵfac}),DynamicItemsResolver}(s.BaseResolver)},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicItemRouterComponent",(function(){return l}));var o=n(364),i=n(1695),r=n(229),a=n(260),s=n(261),A=n(1218),_c0=function(e,t){return{"-active":e,"-is-animating":t}},l=function(){function DynamicItemRouterComponent(){}return DynamicItemRouterComponent.prototype.onActivate=function(e){this.routeActive=!0},DynamicItemRouterComponent.prototype.onDeactivate=function(e){this.routeActive=!1},DynamicItemRouterComponent.prototype.animationStarted=function(e){this.isAnimating=!0},DynamicItemRouterComponent.prototype.animationDone=function(e){this.isAnimating=!1},DynamicItemRouterComponent.ɵfac=function DynamicItemRouterComponent_Factory(e){return new(e||DynamicItemRouterComponent)},DynamicItemRouterComponent.ɵcmp=r["ɵɵdefineComponent"]({type:DynamicItemRouterComponent,selectors:[["ng-component"]],decls:9,vars:6,consts:[["name","dialog"],[1,"sf-router-wrapper","-menu",3,"ngClass"],["name","menu",3,"activate","deactivate"],["menuOutlet","outlet"],[1,"sf-router-wrapper"],["contentOutlet","outlet"],["name","sidebar"],["filter","dynamic-item","look","fixed","data-sftest","mainNotification"]],template:function DynamicItemRouterComponent_Template(e,t){if(1&e&&(r["ɵɵelement"](0,"router-outlet",0),r["ɵɵelementStart"](1,"div",1),r["ɵɵlistener"]("@routerAnimations.start",(function DynamicItemRouterComponent_Template_div_animation_routerAnimations_start_1_listener(e){return t.animationStarted(e)}))("@routerAnimations.done",(function DynamicItemRouterComponent_Template_div_animation_routerAnimations_done_1_listener(e){return t.animationDone(e)})),r["ɵɵelementStart"](2,"router-outlet",2,3),r["ɵɵlistener"]("activate",(function DynamicItemRouterComponent_Template_router_outlet_activate_2_listener(e){return t.onActivate(e)}))("deactivate",(function DynamicItemRouterComponent_Template_router_outlet_deactivate_2_listener(e){return t.onDeactivate(e)})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"](),r["ɵɵelementStart"](4,"div",4),r["ɵɵelement"](5,"router-outlet",null,5),r["ɵɵelementEnd"](),r["ɵɵelement"](7,"router-outlet",6),r["ɵɵelement"](8,"sf-notification-loader",7)),2&e){var n=r["ɵɵreference"](3),o=r["ɵɵreference"](6);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction2"](3,_c0,t.routeActive,t.isAnimating))("@routerAnimations",n&&n.activatedRouteData&&n.activatedRouteData.animation),r["ɵɵadvance"](3),r["ɵɵproperty"]("@routerAnimations",o&&o.activatedRouteData&&o.activatedRouteData.animation)}},directives:[a.RouterOutlet,s.NgClass,A.NotificationLoaderComponent],encapsulation:2,data:{animation:[Object(o.trigger)("routerAnimations",[Object(o.transition)(i.isAnimationTypeRightToLeft,i.ANIMATION_RIGHT_TO_LEFT),Object(o.transition)(i.isAnimationTypeLeftToRight,i.ANIMATION_LEFT_TO_RIGHT),Object(o.transition)(i.isAnimationTypeFromTop,i.ANIMATION_FROM_TOP),Object(o.transition)(i.isAnimationTypeToTop,i.ANIMATION_TO_TOP)])]}}),DynamicItemRouterComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentComponent",(function(){return c}));var o=n(131),i=n(260),r=n(1600),a=n(1534),s=n(1152),A=n(229),l=n(261),_c0=function(e,t){return[e,t]};function ContentComponent_div_10_li_4_Template(e,t){if(1&e&&(A["ɵɵelementStart"](0,"li",12),A["ɵɵelementStart"](1,"a",13),A["ɵɵtext"](2),A["ɵɵelementEnd"](),A["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=A["ɵɵnextContext"](2);A["ɵɵadvance"](1),A["ɵɵproperty"]("routerLink",A["ɵɵpureFunction2"](2,_c0,o.contentRoute,n.url)),A["ɵɵadvance"](1),A["ɵɵtextInterpolate"](n.displayName)}}function ContentComponent_div_10_Template(e,t){if(1&e&&(A["ɵɵelementStart"](0,"div",8),A["ɵɵelementStart"](1,"h2",9),A["ɵɵtext"](2),A["ɵɵelementEnd"](),A["ɵɵelementStart"](3,"ul",10),A["ɵɵtemplate"](4,ContentComponent_div_10_li_4_Template,3,5,"li",11),A["ɵɵelementEnd"](),A["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=A["ɵɵnextContext"]();A["ɵɵclassProp"]("-two-columns",n.types.length>=o.twoColumnsBreak&&n.types.length=o.threeColumnsBreak),A["ɵɵadvance"](2),A["ɵɵtextInterpolate"](n.title),A["ɵɵadvance"](2),A["ɵɵproperty"]("ngForOf",n.types)}}var c=function(){function ContentComponent(e,t,n){this.modulesProvider=e,this.route=t,this.router=n,this.classes="sf-host -animated",this.twoColumnsBreak=7,this.threeColumnsBreak=13,this.closeButtonAnimationCondition="",this.contentRoute="/"+s.ROUTE_PATHS.CONTENT}return ContentComponent.prototype.ngOnInit=function(){var e=this;this.navbarConfiguration={leftNavbarButtonData:{look:"toggle",icon:"times",show:!1,mode:a.LeftNavbarButtonMode.Close},mode:a.NavbarModes.None,look:"in-menu",isScrollEnabled:!1},this.columns=this.modulesProvider.getModules(),this.centered=this.columns.pipe(Object(o.map)((function(t){if(1===t.length){if(t[0].types.length-1&&(n=e.substring(0,t)),n.split(a.stringConstants.FORWARD_SLASH).filter((function(e){return e.length>0}))},ProviderRouteGuard.ɵfac=function ProviderRouteGuard_Factory(e){return new(e||ProviderRouteGuard)(c["ɵɵinject"](o.Router),c["ɵɵinject"](r.ProviderStore))},ProviderRouteGuard.ɵprov=c["ɵɵdefineInjectable"]({token:ProviderRouteGuard,factory:ProviderRouteGuard.ɵfac}),ProviderRouteGuard}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ZoneEditorComponent",(function(){return P}));var o=n(259),i=n(229),r=n(260),a=n(1520),s=n(11),A=n(317),l=n(396),c=n(319),d=n(1745),p=n(322),f=n(398),u=n(1747),m=n(244),g=n(1490),E=n(1539),h=n(246),b=n(1533),C=n(1177),B=n(1491),k=n(131),I=n(1605),v=n(1779),w=n(1481),_=n(289),x=n(298),y=n(295),S=n(1538),T=n(264),M=n(1541),D=n(1118),Q=n(1780),N=n(262),R=n(261),F=n(1582),O=n(1138);function ZoneEditorComponent_sf_enhanced_page_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-enhanced-page",4),i["ɵɵlistener"]("frameLoaded",(function ZoneEditorComponent_sf_enhanced_page_1_Template_sf_enhanced_page_frameLoaded_0_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onFrameLoaded()}))("addWidgetClicked",(function ZoneEditorComponent_sf_enhanced_page_1_Template_sf_enhanced_page_addWidgetClicked_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onAddWidgetClicked(e)}))("editWidgetClicked",(function ZoneEditorComponent_sf_enhanced_page_1_Template_sf_enhanced_page_editWidgetClicked_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onAddWidgetClicked(e)}))("onComponentClicked",(function ZoneEditorComponent_sf_enhanced_page_1_Template_sf_enhanced_page_onComponentClicked_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onComponentClicked(e)}))("onComponentOperationExecuted",(function ZoneEditorComponent_sf_enhanced_page_1_Template_sf_enhanced_page_onComponentOperationExecuted_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onComponentOperationExecuted(e)}))("layoutChanged",(function ZoneEditorComponent_sf_enhanced_page_1_Template_sf_enhanced_page_layoutChanged_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onLayoutChanged(e)})),i["ɵɵpipe"](1,"async"),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("state",o.state)("iFrameLook",o.hasSidebar?"shrink":null)("dataItem",i["ɵɵpipeBind1"](1,4,o.item$))("iFrameUrl",o.iFrameUrl)}}var P=function(e){function ZoneEditorComponent(t,n,o,i,r,a,A,l,c,d,p,f){var u=e.call(this)||this;return u.zoneEditorContract=t,u.windowProvider=n,u.notificationService=o,u.serviceOperationsExecutor=i,u.buttonStateService=r,u.route=a,u.operationProvider=A,u.pagesCommonActionHandler=l,u.store=d,u.modalWindowService=p,u.zoneEditorCompositeExtender=f,u.activeComponent=new s.ReplaySubject,u.treeModelChange=new s.ReplaySubject(0),u.item$=new s.BehaviorSubject(null),u.operations=new s.ReplaySubject(1),u.renderer=c.createRenderer(null,null),u.generalActionOperations=new s.BehaviorSubject([]),u.customOperations=new s.BehaviorSubject([]),u.additionalActionOperations=new s.BehaviorSubject([]),u.personalizationOperations=new s.BehaviorSubject([]),u}return Object(o.__extends)(ZoneEditorComponent,e),ZoneEditorComponent.prototype.ngOnInit=function(){var e=this;this.loading=!0,this.registerSubscription(this.buttonStateService.getState$().subscribe((function(t){e.buttonsState=t})));var t=this.route.snapshot.data[a.ITEM_DATA_KEY].entityData;this.navbarConfiguration={title:this.item$.pipe(Object(k.map)((function(e){return e.title}))),look:"toggle "+d.NAVBAR_PAGE_EDITOR_LOOK,leftNavbarButtonData:{title:"All "+t.metadata.displayName.toLowerCase()}},this.registerSubscription(this.route.data.subscribe((function(t){e.initFromRouteData(t)}))),this.renderer.addClass(this.windowProvider.document.body,"-sf-new-zone-editor"),this.registerSubscription(this.store.pipe(S.SIDEBAR_SELECTORS.isOpen).subscribe((function(t){return e.hasSidebar=t})))},ZoneEditorComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.renderer.removeClass(this.windowProvider.document.body,"-sf-new-zone-editor")},ZoneEditorComponent.prototype.onActionButtonClicked=function(e){var t=this,n=e.name.split("_")[0];this.zoneEditorCompositeExtender.handleAction(this.entityData.metadata.setName,this.item$.getValue(),e,this.route).subscribe((function(o){if(null==o)switch(n){case c.OPERATION_NAMES.changeCulture:t.handleChangeCulture(e);break;case c.OPERATION_NAMES.edit:t.handleNavigate();break;case c.OPERATION_NAMES.mobilePreview:t.handleMobilePreview(e);break;case c.OPERATION_NAMES.loadPersonalizedVersion:t.reloadWithCheckForChanges(e.sourceOperation);break;case c.OPERATION_NAMES.deletePersonalizedVersion:t.handleDeletePersonalizedVersion(e);break;case c.OPERATION_NAMES.loadPersonalizedWidgets:t.handlePersonalizedWidgetVersions(e);break;default:t.handleServerCommand(e)}else o.reload&&t.reload()}))},ZoneEditorComponent.prototype.onFrameLoaded=function(){this.loading=!1},ZoneEditorComponent.prototype.onAddWidgetClicked=function(e){this.registerSubscription(this.lock().pipe(Object(k.catchError)((function(t){return e.ready.error(t),Object(s.empty)()})),Object(k.filter)((function(e){return e}))).subscribe((function(){e.ready.next()})))},ZoneEditorComponent.prototype.onComponentClicked=function(e){var t=this;this.registerSubscription(this.lock().pipe(Object(k.catchError)((function(t){return e.ready.error(t),Object(s.empty)()})),Object(k.filter)((function(e){return e}))).subscribe((function(){t.activeComponent.next(e.widgetId),e.ready&&t.zoneEditorContract.getWidgetOperations(e.dataItem,e.widgetId,e.segmentId,e.widgetSegmentId).pipe(Object(k.catchError)((function(t){return e.ready.error(t),Object(s.empty)()}))).subscribe((function(t){e.ready.next(t)}))})))},ZoneEditorComponent.prototype.onComponentOperationExecuted=function(e){var t=e.result.SourceOperation;if(t){var n=t.Category.Name===c.OPERATION_CATEGORIES.personalized||t.Category.Name===c.OPERATION_CATEGORIES.personalization;if(t.PerformsDelete&&e.component.isPersonalized||n){var o=this.route.snapshot.data[a.ITEM_DATA_KEY];this.initOperations(o.item)}}},ZoneEditorComponent.prototype.onLayoutChanged=function(e){this.treeModelChange.next(e.getDirectChildrenAndChildrenFromChildContainers())},ZoneEditorComponent.prototype.canDeactivate=function(){var e=this;return this.locked?this.windowProvider.confirm(a.UNSAVED_CHANGES_DIALOG_MESSAGE)?(this.removeNotification(),this.zoneEditorContract.discard(this.item$.getValue()).pipe(this.catchErrorAndShowNotification(),Object(k.map)((function(e){return!0})),Object(k.tap)((function(t){return e.locked=!1})))):Object(s.of)(!1):(this.removeNotification(),Object(s.of)(!0))},ZoneEditorComponent.prototype.removeNotification=function(){this.preserveNotificationOnBackNavigation||this.notificationService.close()},ZoneEditorComponent.prototype.configureSidebar=function(e){var t=this,n={buttons:[],externalKey:"zoneEditor",entityType:this.entityData.metadata.typeFullName};if(e)this.store.dispatch(x.SIDEBAR_DISPATCH_ACTION.close(!1));else{var o={title:"Title",type:v.TreeSidebarComponent,updatePropertiesOnChange:!0,removePreviousView:!0,properties:{activeComponent:this.activeComponent,treeModelChange:this.treeModelChange,selectComponent:function(e){t.enhancedPageComponenent.focusWidget(e)}}},i={title:this.entityData.metadata.singularName+" structure",icon:"sitemap",data:o,name:"sitemap",look:I.DEFAULT_SIDEBAR_BUTTON_LOOK};n.buttons.push(i)}this.store.dispatch(x.SIDEBAR_DISPATCH_ACTION.configure(n))},ZoneEditorComponent.prototype.initFromRouteData=function(e){this.loading=!1;var t=e[a.ITEM_DATA_KEY];this.entityData=t.entityData,this.fallbackProperties=t.fallbackProperties,this.buttonStateService.updateActionButtonsState(null,p.ButtonState.Loading),this.initFromDataItem(t.item,!0,!1)},ZoneEditorComponent.prototype.initFromDataItem=function(e,t,n){var o=this;this.item$.next(e);var i=this.route.snapshot.queryParams[N.QUERY_PARAMS.SEGMENT];this.registerSubscription(this.zoneEditorContract.getState(e,i).pipe(this.catchErrorAndShowNotification()).subscribe((function(i){if(o.state=i,o.initOperations(e),t){var r=e.data;i.EditAllowed?o.iFrameUrl=r.EditUrl:o.iFrameUrl=r.ViewUrl;var a="&";-1===o.iFrameUrl.indexOf("?")&&(a="?"),o.iFrameUrl=""+o.iFrameUrl+a+"sf_version="+o.state.Version,n&&(o.iFrameUrl+="&random="+Math.random()),o.configureSidebar(!i.EditAllowed)}})))},ZoneEditorComponent.prototype.initOperations=function(e){var t=this;this.registerSubscription(this.operationProvider.getEditItemOperations(e,void 0,{isEditingPageContent:!0,disregardCache:!0},this.getOperationsDataAdditionalQueryParams()).pipe(this.catchErrorAndShowNotification()).subscribe((function(n){t.registerSubscription(t.buttonStateService.updateActionButtonsState(null,p.ButtonState.Default).subscribe((function(){var o=n.findIndex((function(e){return e.Name===c.OPERATION_NAMES.stopSyncing}));if(-1!==o){var i=n[o];n.splice(o,1),i.context={additionalText:null,look:f.LANGUAGE_BADGE_EDIT_LOOK},[].push(i)}t.operations.next(n),t.loadMainOperations(e),t.loadCustomOperations(e),t.loadAdditionalActionOperations(e),t.loadPersonalizationOperations(e)})))})))},ZoneEditorComponent.prototype.loadMainOperations=function(e){var t=this,n=this.operationProvider.getEditItemMainOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.generalActionOperations.next(e)})))},ZoneEditorComponent.prototype.loadCustomOperations=function(e){var t=this,n=this.operationProvider.getEditItemCustomOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.customOperations.next(e)})))},ZoneEditorComponent.prototype.loadAdditionalActionOperations=function(e){var t=this,n=this.operationProvider.getEditItemAdditionalOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.additionalActionOperations.next(e)})))},ZoneEditorComponent.prototype.loadPersonalizationOperations=function(e){var t=this,n=this.operationProvider.getEditItemPersonalizationOperations(e,void 0,{isEditingPageContent:!0},this.getOperationsDataAdditionalQueryParams());this.registerSubscription(n.subscribe((function(e){t.personalizationOperations.next(e)})))},ZoneEditorComponent.prototype.getOperationsDataAdditionalQueryParams=function(){var e,t=this.route.snapshot.queryParams[N.QUERY_PARAMS.SEGMENT];return t?((e={})[N.QUERY_PARAMS.SEGMENT]=t,e):null},ZoneEditorComponent.prototype.handleChangeCulture=function(e){var t=this;this.loading=!0,this.registerSubscription(this.canDeactivate().subscribe((function(n){if(n){var o=e.context.additionalText,i=A.DataItem.fromCulture(t.item$.getValue(),o),r={actionName:c.OPERATION_NAMES.editContent,item:i,route:t.route,loadingHolder:t};t.pagesCommonActionHandler.tryHandleAction(r).subscribe()}else t.loading=!1})))},ZoneEditorComponent.prototype.reload=function(){var e={actionName:c.OPERATION_NAMES.editContent,item:this.item$.getValue(),route:this.route,loadingHolder:this};this.pagesCommonActionHandler.tryHandleAction(e).subscribe()},ZoneEditorComponent.prototype.reloadWithCheckForChanges=function(e){var t=this;this.registerSubscription(this.canDeactivate().subscribe((function(n){if(n){var o={actionName:c.OPERATION_NAMES.editContent,item:t.item$.getValue(),route:t.route,loadingHolder:t,additionalQueryParams:e.ContextParameters};t.pagesCommonActionHandler.tryHandleAction(o).subscribe()}else t.loading=!1})))},ZoneEditorComponent.prototype.handlePersonalizedWidgetVersions=function(e){var t=e.sourceOperation.ContextParameters.find((function(e){return e.Name===N.QUERY_PARAMS.WIDGET_SEGMENT_ID}));if(t){var n=this.route.snapshot.queryParams[N.QUERY_PARAMS.SEGMENT];this.enhancedPageComponenent.reloadPersonalizedWidgets(n,t.Value)}},ZoneEditorComponent.prototype.handleDeletePersonalizedVersion=function(e){var t,n=this,o={updateItem:{dataItem:this.item$.getValue(),additionalQueryParams:(t={},t[N.QUERY_PARAMS.SEGMENT]=this.state.SegmentId,t)},route:this.route,actionButton:e,actionButtonStateService:this.buttonStateService},i=this.serviceOperationsExecutor.execute(o);this.registerSubscription(i.pipe(this.catchErrorAndShowNotification()).subscribe((function(t){var o;if(t&&t.operationResult&&t.operationResult.Success){var i=null===(o=e.sourceOperation.ContextParameters.find((function(e){return e.Name===c.OPERATION_PARAMETERS.segmentForDeletion})))||void 0===o?void 0:o.Value;n.state.SegmentId===i?n.reloadWithCheckForChanges(e.sourceOperation):t.dataItem&&n.initFromDataItem(t.dataItem,!1,!1)}})))},ZoneEditorComponent.prototype.handleMobilePreview=function(e){var t=this;this.handleServerCommand(e).subscribe((function(e){var n,o;(null===(n=e.operationData)||void 0===n?void 0:n.PreviewUrl)&&new M.MobilePreviewCommand(t.modalWindowService).execute({currentRoute:t.route.parent,model:null,data:{previewUrl:null===(o=e.operationData)||void 0===o?void 0:o.PreviewUrl}})}))},ZoneEditorComponent.prototype.handleNavigate=function(){var e=this;this.registerSubscription(this.pagesCommonActionHandler.navigateToTitleAndProperties({actionName:c.OPERATION_NAMES.edit,item:this.item$.getValue(),route:this.route}).subscribe((function(t){t.success&&(e.buttonStateService.updateActionButtonsState(null,p.ButtonState.Loading),e.initFromDataItem(t.dataItem,!1,!1))})))},ZoneEditorComponent.prototype.handleServerCommand=function(e){var t,n,o,i,r=this;e.sourceOperation.HasLinkResult&&!e.requiresConfirmation&&(i=this.windowProvider.open(h.stringConstants.EMPTY_STRING,h.NEW_TAB_TARGET));var a={updateItem:{dataItem:this.item$.getValue(),fallbackProperties:this.fallbackProperties,additionalQueryParams:(t={},t[N.QUERY_PARAMS.SEGMENT]=null===(n=this.state)||void 0===n?void 0:n.SegmentId,t)},route:this.route,actionButton:e,actionButtonStateService:this.buttonStateService,window:i},s=null;return s=(null===(o=e.sourceOperation)||void 0===o?void 0:o.Name)===c.OPERATION_NAMES.stopSyncing?this.canDeactivate().pipe(Object(k.filter)((function(e){return e})),Object(k.switchMapTo)(this.serviceOperationsExecutor.execute(a))):this.serviceOperationsExecutor.execute(a),this.registerSubscription(s.pipe(this.catchErrorAndShowNotification()).subscribe((function(t){var n;if(t)if(t.operationResult&&t.operationResult.Success&&"newSegment"===t.operationResult.Title){var o=t.operationResult.AvailableActions[0];r.reloadWithCheckForChanges({Name:o,Category:{Name:c.OPERATION_CATEGORIES.personalized},ContextParameters:[{Name:N.QUERY_PARAMS.SEGMENT,Value:o}]})}else{var i=e.sourceOperation,a=i.PerformsDelete;(i.RequiresItemUpdate||a)&&(r.locked=!1);var s="dynamic-item";if(a&&(s=t.dataItem.metadata.typeFullName),r.preserveNotificationOnBackNavigation=a,r.notificationService.publishNotificationFromOperationResult(t,s),a)r.editMenu.onLeftNavButtonClick();else if(t.dataItem){var A=(null===(n=e.sourceOperation)||void 0===n?void 0:n.Name)===c.OPERATION_NAMES.stopSyncing;r.initFromDataItem(t.dataItem,A,A)}}}))),s},ZoneEditorComponent.prototype.lock=function(){var e=this,t=new s.ReplaySubject(1);if(this.locked||this.lockingInitiated)t.next(this.locked);else{this.lockingInitiated=!0;var n=this.route.snapshot.data[a.ITEM_DATA_KEY];this.registerSubscription(this.zoneEditorContract.lock({state:this.state,dataItem:n.item}).pipe(Object(k.catchError)((function(o){return o instanceof _.LockedItemError?(e.openLockedScreen(n.item),e.lockingInitiated=!1,t.next(e.locked)):t.error(o),Object(s.empty)()}))).subscribe((function(o){e.locked=!0,e.lockingInitiated=!1,e.state=o,e.state.HasChanged?(e.openLockedScreen(n.item),t.next(!1)):t.next(e.locked)})))}return t.asObservable()},ZoneEditorComponent.prototype.openLockedScreen=function(e){this.loading=!0,this.locked=!1,this.pagesCommonActionHandler.tryHandleAction({actionName:c.OPERATION_NAMES.editContent,item:e,route:this.route})},ZoneEditorComponent.prototype.catchErrorAndShowNotification=function(){return this.notificationService.catchErrorAndShowNotification(w.ZONE_EDITOR_NOTIFICATION_FILTER)},ZoneEditorComponent.ɵfac=function ZoneEditorComponent_Factory(e){return new(e||ZoneEditorComponent)(i["ɵɵdirectiveInject"](B.ZoneEditorContract),i["ɵɵdirectiveInject"](m.WINDOW_TOKEN),i["ɵɵdirectiveInject"](C.NOTIFICATION_SERVICE),i["ɵɵdirectiveInject"](E.ActionExecutorService),i["ɵɵdirectiveInject"](g.ActionButtonsStateService),i["ɵɵdirectiveInject"](r.ActivatedRoute),i["ɵɵdirectiveInject"](l.CompositeOperationsProvider),i["ɵɵdirectiveInject"](u.PagesActionHandler),i["ɵɵdirectiveInject"](i.RendererFactory2),i["ɵɵdirectiveInject"](y.AppStore),i["ɵɵdirectiveInject"](D.ModalWindowService),i["ɵɵdirectiveInject"](Q.ZoneEditorCompositeExtender))},ZoneEditorComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ZoneEditorComponent,selectors:[["sf-zone-editor"]],viewQuery:function ZoneEditorComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](b.EditItemMenuComponent,3),i["ɵɵviewQuery"](w.EnhancedPageComponent,1)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.editMenu=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.enhancedPageComponenent=n.first)}},features:[i["ɵɵProvidersFeature"]([g.ActionButtonsStateService]),i["ɵɵInheritDefinitionFeature"]],decls:4,vars:13,consts:[[3,"enableClickNotification","item$","customOperations","generalActionOperations","additionalActionOperations","personalizationOperations","buttonsState","entityData","navbarConfiguration","onActionButtonClick"],[3,"state","iFrameLook","dataItem","iFrameUrl","frameLoaded","addWidgetClicked","editWidgetClicked","onComponentClicked","onComponentOperationExecuted","layoutChanged",4,"ngIf"],["look","narrow",3,"hasToggle"],["look","progressbar overlay",3,"isLoading","loadingTime"],[3,"state","iFrameLook","dataItem","iFrameUrl","frameLoaded","addWidgetClicked","editWidgetClicked","onComponentClicked","onComponentOperationExecuted","layoutChanged"]],template:function ZoneEditorComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"sf-edit-item-menu",0),i["ɵɵlistener"]("onActionButtonClick",(function ZoneEditorComponent_Template_sf_edit_item_menu_onActionButtonClick_0_listener(e){return t.onActionButtonClicked(e)})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](1,ZoneEditorComponent_sf_enhanced_page_1_Template,2,6,"sf-enhanced-page",1),i["ɵɵelement"](2,"sf-sidebar-host",2),i["ɵɵelement"](3,"sf-loader-wrapper",3)),2&e&&(i["ɵɵproperty"]("enableClickNotification",!0)("item$",t.item$)("customOperations",t.customOperations)("generalActionOperations",t.generalActionOperations)("additionalActionOperations",t.additionalActionOperations)("personalizationOperations",t.personalizationOperations)("buttonsState",t.buttonsState)("entityData",t.entityData)("navbarConfiguration",t.navbarConfiguration),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.iFrameUrl),i["ɵɵadvance"](1),i["ɵɵproperty"]("hasToggle",!0),i["ɵɵadvance"](1),i["ɵɵproperty"]("isLoading",t.loading)("loadingTime",1e3))},directives:[b.EditItemMenuComponent,R.NgIf,F.SidebarHostComponent,O.LoaderWrapperComponent,w.EnhancedPageComponent],pipes:[R.AsyncPipe],encapsulation:2}),ZoneEditorComponent}(T.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"TreeSidebarComponent",(function(){return l}));var o=n(259),i=n(264),r=n(415),a=(n(11),n(229)),s=n(418),A=n(1136);function TreeSidebarComponent_ng_template_3_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",4),a["ɵɵelementStart"](1,"div",5),a["ɵɵelement"](2,"sf-svg-icon-handler",6),a["ɵɵelementStart"](3,"span",7),a["ɵɵtext"](4),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=a["ɵɵnextContext"]();a["ɵɵattribute"]("id",n.isFocused?"tree_active_node":null)("aria-selected",o.treeConfig.noSelection?null:!!n.isActive),a["ɵɵadvance"](1),a["ɵɵattribute"]("data-sftest",n.id),a["ɵɵadvance"](1),a["ɵɵproperty"]("name",n.data.name)("title",n.data.title),a["ɵɵadvance"](2),a["ɵɵtextInterpolate"](n.displayField)}}var l=function(e){function TreeSidebarComponent(){var t=e.call(this)||this;return t.nodes=[],t.treeConfig={noSelection:!1,multiSelection:!1,isHierarchical:!1,status:!0,skipNodeMappingToDefaultModel:!0,clickable:!0,stopPropagationOnClick:!0,treeProperties:{idField:"id",displayField:"title",hasChildrenField:"hasChildren",isExpandedField:"isExpanded"}},t}return Object(o.__extends)(TreeSidebarComponent,e),TreeSidebarComponent.prototype.onInitialized=function(){var e=this,t=this.activeComponent.subscribe((function(t){e.selectNode(t)}));this.registerSubscription(t);var n=this.treeModelChange.subscribe((function(t){e.nodes.splice(0,e.nodes.length),t.forEach((function(t){return e.nodes.push(t)})),e.tree.updateTreeModel(),e.tree.tree.treeModel.expandAll(),e.selectNode(e.selectedNode)}));this.registerSubscription(n)},TreeSidebarComponent.prototype.onTreeNodeClicked=function(e){this.selectComponent(e.data.id)},TreeSidebarComponent.prototype.selectNode=function(e){if(e){this.selectedNode=e;var t=this.tree.tree.treeModel.getNodeBy((function(t){return t.data.id.toString()===e}));t&&this.tree.selectAndActivateNodeById(t.id)}},TreeSidebarComponent.ɵfac=function TreeSidebarComponent_Factory(e){return new(e||TreeSidebarComponent)},TreeSidebarComponent.ɵcmp=a["ɵɵdefineComponent"]({type:TreeSidebarComponent,selectors:[["ng-component"]],viewQuery:function TreeSidebarComponent_Query(e,t){if(1&e&&a["ɵɵviewQuery"](r.TreeComponent,1),2&e){var n;a["ɵɵqueryRefresh"](n=a["ɵɵloadQuery"]())&&(t.tree=n.first)}},inputs:{selectComponent:"selectComponent",activeComponent:"activeComponent",treeModelChange:"treeModelChange"},features:[a["ɵɵInheritDefinitionFeature"]],decls:5,vars:3,consts:[[1,"sf-sidebar__section"],["look","no-separators sidebar",3,"config","nodes","itemTemplate","initialized","treeNodeClicked"],["tree",""],["itemTemplate",""],["role","treeitem","data-sftest","tree-row",1,"sf-tree__row"],[1,"sf-tree__inner"],["look","zone-editor black",1,"-sf-flex",3,"name","title"],[1,"sf-tree__item-title","-sf-overflow-ellipsis","-sf-ml-3xs"]],template:function TreeSidebarComponent_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"div",0),a["ɵɵelementStart"](1,"sf-tree",1,2),a["ɵɵlistener"]("initialized",(function TreeSidebarComponent_Template_sf_tree_initialized_1_listener(){return t.onInitialized()}))("treeNodeClicked",(function TreeSidebarComponent_Template_sf_tree_treeNodeClicked_1_listener(e){return t.onTreeNodeClicked(e)})),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵtemplate"](3,TreeSidebarComponent_ng_template_3_Template,5,6,"ng-template",null,3,a["ɵɵtemplateRefExtractor"])),2&e){var n=a["ɵɵreference"](4);a["ɵɵadvance"](1),a["ɵɵproperty"]("config",t.treeConfig)("nodes",t.nodes)("itemTemplate",n)}},directives:[s.TreeComponent,A.SvgIconHandlerComponent],encapsulation:2}),TreeSidebarComponent}(i.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ZoneEditorCompositeExtender",(function(){return r}));var o=n(1781),i=n(229),r=function(){function ZoneEditorCompositeExtender(e){this.extenders=e}return ZoneEditorCompositeExtender.prototype.handleAction=function(e,t,n,o){return this.getExtender(e).handleAction(n,t,o)},ZoneEditorCompositeExtender.prototype.getExtender=function(e){for(var t=0,n=this.extenders;t-1}))})))},ContentTypeGuard.ɵfac=function ContentTypeGuard_Factory(e){return new(e||ContentTypeGuard)(c["ɵɵinject"](a.MetadataStore),c["ɵɵinject"](s.SiteDataStore),c["ɵɵinject"](r.Router))},ContentTypeGuard.ɵprov=c["ɵɵdefineInjectable"]({token:ContentTypeGuard,factory:ContentTypeGuard.ɵfac}),ContentTypeGuard}()},function(e,t,n){"use strict";n.r(t),n.d(t,"IntegratedEmptyComponent",(function(){return u}));var o=n(259),i=n(244),r=n(245),a=n(275),s=n(260),A=n(1629),l=n(264),c=n(229),d=n(261),p=n(354),f=n(1175);function IntegratedEmptyComponent_div_0_sf_sticky_component_4_Template(e,t){if(1&e&&c["ɵɵelement"](0,"sf-sticky-component",7),2&e){var n=c["ɵɵnextContext"](2);c["ɵɵproperty"]("heading",n.title)}}function IntegratedEmptyComponent_div_0_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"div",1),c["ɵɵelementStart"](1,"div",2),c["ɵɵelementStart"](2,"sf-button",3),c["ɵɵlistener"]("onClick",(function IntegratedEmptyComponent_div_0_Template_sf_button_onClick_2_listener(){return c["ɵɵrestoreView"](n),c["ɵɵnextContext"]().onCloseClicked()})),c["ɵɵelementEnd"](),c["ɵɵelementEnd"](),c["ɵɵelementStart"](3,"div",4),c["ɵɵtemplate"](4,IntegratedEmptyComponent_div_0_sf_sticky_component_4_Template,1,1,"sf-sticky-component",5),c["ɵɵelement"](5,"sf-component-loader",6),c["ɵɵelementEnd"](),c["ɵɵelementEnd"]()}if(2&e){var o=c["ɵɵnextContext"]();c["ɵɵadvance"](4),c["ɵɵproperty"]("ngIf",o.title),c["ɵɵadvance"](1),c["ɵɵproperty"]("componentData",o.componentData)}}var u=function(e){function IntegratedEmptyComponent(t,n,o,i){var r=e.call(this)||this;return r.windowProvider=t,r.service=n,r.router=o,r.userMenuService=i,r.areUserDialogsShown=!1,r}return Object(o.__extends)(IntegratedEmptyComponent,e),IntegratedEmptyComponent.prototype.ngOnInit=function(){var e=this,t=this.userMenuService.onUserDialogOpen.subscribe((function(t){return e.showDialogContent(t)}));this.registerSubscription(t),this.service.tryLogIn(this.router.routerState.snapshot.url).subscribe()},IntegratedEmptyComponent.prototype.onCloseClicked=function(){Object(r.showSitefinityContent)(this.windowProvider.document),this.areUserDialogsShown=!1},IntegratedEmptyComponent.prototype.showDialogContent=function(e){this.componentData=e.componentData,e.heading&&(this.title=e.heading.title),Object(r.hideSitefinityContent)(this.windowProvider.document),this.areUserDialogsShown=!0},IntegratedEmptyComponent.ɵfac=function IntegratedEmptyComponent_Factory(e){return new(e||IntegratedEmptyComponent)(c["ɵɵdirectiveInject"](i.WINDOW_TOKEN),c["ɵɵdirectiveInject"](a.AuthService),c["ɵɵdirectiveInject"](s.Router),c["ɵɵdirectiveInject"](A.UserMenuService))},IntegratedEmptyComponent.ɵcmp=c["ɵɵdefineComponent"]({type:IntegratedEmptyComponent,selectors:[["sf-empty"]],features:[c["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[["class","sf-modal-window",4,"ngIf"],[1,"sf-modal-window"],[1,"sf-modal-window__head-buttons"],["look","circle","iconLook","size-m","icon","times","title","Close",1,"sf-modal-window__close",3,"onClick"],[1,"sf-modal-window__content"],[3,"heading",4,"ngIf"],[3,"componentData"],[3,"heading"]],template:function IntegratedEmptyComponent_Template(e,t){1&e&&c["ɵɵtemplate"](0,IntegratedEmptyComponent_div_0_Template,6,2,"div",0),2&e&&c["ɵɵproperty"]("ngIf",t.areUserDialogsShown)},directives:[d.NgIf,p.SfButtonComponent,p.SfDynamicComponentLoaderComponent,f.StickyComponent],styles:['@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\nsf-app.sf-app .sf-modal-window {\n position: relative;\n min-height: 100vh;\n text-align: center;\n background-color: #fff;\n z-index: 10000000;\n}\nsf-app.sf-app .sf-modal-window.-prompt {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n flex-wrap: wrap;\n}\nsf-app.sf-app .sf-modal-window.-no-selection::after {\n display: block;\n content: " ";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n background: #DCECF5;\n z-index: 1;\n}\nsf-app.sf-app .sf-modal-window:not(.-prompt) {\n padding-bottom: 66px;\n}\nsf-app.sf-app .sf-modal-window:not(.-prompt) .sf-modal-window__content {\n padding-top: 100px;\n}\nsf-app.sf-app .sf-modal-window__head-buttons {\n position: fixed;\n top: 8px;\n right: 15px;\n z-index: 1000000;\n}\nsf-app.sf-app .sf-modal-window__top-toolbar {\n z-index: 10000000;\n}\nsf-app.sf-app .sf-modal-window:not(.-no-padding-horizontal) .sf-modal-window__content {\n padding-left: 50px;\n padding-right: 50px;\n}\nsf-app.sf-app .sf-modal-window__buttons {\n background-color: #fff;\n}\nsf-app.sf-app .sf-modal-window__buttons.-border-top {\n padding-top: 30px;\n padding-bottom: 30px;\n border-top: 1px solid #eee;\n}\nsf-app.sf-app .sf-modal-window__buttons.-bottom {\n padding-top: 15px;\n padding-bottom: 15px;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100;\n border-top: 1px solid #eee;\n}\nsf-app.sf-app .sf-modal-window.-no-padding-top .sf-modal-window__content {\n padding-top: 0;\n}\nsf-app.sf-app .sf-modal-window.-narrow .sf-modal-window__content {\n width: 850px;\n margin: 0 auto;\n}\nsf-app.sf-app .sf-modal-window.-preview {\n padding-bottom: 0;\n}\nsf-app.sf-app .sf-modal-window.-preview .sf-modal-window__content {\n background-color: #f5f5f5;\n padding-top: 46px;\n min-height: 100vh;\n}\nsf-app.sf-app .sf-modal-window__content {\n background-color: #fff;\n}'],encapsulation:2}),IntegratedEmptyComponent}(l.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"IntegratedEmptyComponentGuard",(function(){return A}));var o=n(260),i=n(1152),r=n(280),a=n(278),s=n(229),A=function(){function IntegratedEmptyComponentGuard(e,t){this.router=e,this.envService=t}return IntegratedEmptyComponentGuard.prototype.canActivate=function(){return this.envService.getEnvironment()===r.environmentTypes.integration||(this.router.navigate([i.ROUTE_PATHS.NOT_FOUND]),!1)},IntegratedEmptyComponentGuard.ɵfac=function IntegratedEmptyComponentGuard_Factory(e){return new(e||IntegratedEmptyComponentGuard)(s["ɵɵinject"](o.Router),s["ɵɵinject"](a.EnvironmentService))},IntegratedEmptyComponentGuard.ɵprov=s["ɵɵdefineInjectable"]({token:IntegratedEmptyComponentGuard,factory:IntegratedEmptyComponentGuard.ɵfac}),IntegratedEmptyComponentGuard}()},function(e,t,n){"use strict";n.r(t),n.d(t,"HomeGuard",(function(){return A}));var o=n(260),i=n(278),r=n(280),a=n(1152),s=n(229),A=function(){function HomeGuard(e,t){this.router=e,this.envService=t}return HomeGuard.prototype.canActivate=function(){return this.envService.getEnvironment()===r.environmentTypes.integration||this.router.navigate([a.ROUTE_PATHS.ROOT_PREFIX]),!1},HomeGuard.ɵfac=function HomeGuard_Factory(e){return new(e||HomeGuard)(s["ɵɵinject"](o.Router),s["ɵɵinject"](i.EnvironmentService))},HomeGuard.ɵprov=s["ɵɵdefineInjectable"]({token:HomeGuard,factory:HomeGuard.ɵfac}),HomeGuard}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CLICK_EVENT",(function(){return h})),n.d(t,"ContentModule",(function(){return b}));var o=n(1569),i=n(1795),r=n(1776),a=n(1600),s=n(1790),A=n(260),l=n(244),c=n(280),d=n(278),p=n(1598),f=n(246),u=n(1160),m=n(262),g=n(1879),E=n(229),h="menu-item-click",b=function(){function ContentModule(e,t,n){this.router=e,this.windowProvider=t,this.envService=n,this.enabled=null,this.attachHandlers()}return ContentModule.prototype.attachHandlers=function(){if(this.envService.getEnvironment()===c.environmentTypes.integration){var e=this.onClick.bind(this);this.windowProvider.addEventListener(h,e);var t=this.onEnabled.bind(this);this.windowProvider.addEventListener(p.INTEGRATED_MODE_ENABLED,t)}},ContentModule.prototype.onEnabled=function(e){this.enabled=e.detail.enabled},ContentModule.prototype.onClick=function(e){if(!1!==this.enabled){this.subscribedToOpen||(this.subscribedToOpen=!0,e.detail.sender.add_itemOpening((function(e,t){"focus"===t.get_domEvent().type&&t.set_cancel(!0)})));var t=e.detail.eventArgs,n=t.get_item().get_attributes().getAttribute(m.ATTR_NAME);if(n){var o=e.detail.sender.get_selectedItem();t.set_cancel(!0),e.detail.sender.close(!0),this.removeSelectedClassFromNode(o),this.setSelectedClassToNode(t.get_item());var i={},r=n.indexOf("?");if(-1!==r)n.substring(r+1).split("&").forEach((function(e){var t=e.split("="),n=t[0],o=t[1];i[n]=o})),n=n.substring(0,r);this.router.navigate([n],{queryParams:i})}}},ContentModule.prototype.setSelectedClassToNode=function(e){for(e.set_selected(!0),e.set_cssClass(e.get_cssClass()+" rmSelected"),e=e.get_parent();void 0===e.get_selectedItem;)e.set_cssClass(e.get_cssClass()+" rmSelected"),e=e.get_parent()},ContentModule.prototype.removeSelectedClassFromNode=function(e){if(e)for(e.set_selected(!1),e.set_cssClass(e.get_cssClass().replace("rmSelected",f.stringConstants.EMPTY_STRING)),e=e.get_parent();void 0===e.get_selectedItem;)e.set_cssClass(e.get_cssClass().replace("rmSelected",f.stringConstants.EMPTY_STRING)),e=e.get_parent()},ContentModule.ɵfac=function ContentModule_Factory(e){return new(e||ContentModule)(E["ɵɵinject"](A.Router),E["ɵɵinject"](l.WINDOW_TOKEN),E["ɵɵinject"](d.EnvironmentService))},ContentModule.ɵmod=E["ɵɵdefineNgModule"]({type:ContentModule}),ContentModule.ɵinj=E["ɵɵdefineInjector"]({providers:[a.ModulesProvider,s.ContentTypeGuard,u.CompositeEntityDataResolver],imports:[[o.SharedModule,i.DynamicModulesModule,g.InsightConnectivityModule]]}),ContentModule}();E["ɵɵsetNgModuleScope"](b,{declarations:[r.ContentComponent],imports:[o.SharedModule,i.DynamicModulesModule,g.InsightConnectivityModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"DynamicModulesModule",(function(){return ft}));var o=n(1755),i=n(1754),r=n(1097),a=n(1569),s=n(1775),A=n(1748),l=n(1520),c=n(1521),d=n(1164),p=n(1191),f=n(1213),u=n(1773),m=n(1789),g=n(1171),E=n(316),h=n(1192),b=n(321),C=n(1525),B=n(1764),k=n(1774),I=n(1796),v=n(1801),w=n(10),_=n(1803),x=n(1765),y=n(1812),S=n(1810),T=n(1172),M=n(1158),D=n(258),Q=n(1148),N=n(1522),R=n(1805),F=n(1749),O=n(1641),P=n(1821),U=n(1769),L=n(1822),z=n(1194),G=n(1193),H=n(1147),j=n(1733),Y=n(1184),V=n(1183),J=n(1526),W=n(1823),K=n(1824),X=n(1168),q=n(1155),Z=n(1825),$=n(1826),ee=n(1196),te=n(1827),ne=n(1828),oe=n(1182),ie=n(1829),re=n(1397),ae=n(1150),se=n(1471),Ae=n(374),le=n(1431),ce=n(1653),de=n(1813),pe=n(1804),fe=n(1668),ue=n(1814),me=n(1815),ge=n(1830),Ee=n(1831),he=n(1832),be=n(1833),Ce=n(1670),Be=n(1391),ke=n(1758),Ie=n(1870),ve=n(1527),we=n(1768),_e=n(1759),xe=n(1871),ye=n(1872),Se=n(1873),Te=n(1874),Me=n(396),De=n(1875),Qe=n(1467),Ne=n(1762),Re=n(1206),Fe=n(1876),Oe=n(1877),Pe=n(1878),Ue=n(229),Le=n(1534),ze=n(261),Ge=n(354),He=n(1582),je=n(1140),Ye=n(1649),Ve=n(1585),Je=n(1570),We=n(1855),Ke=n(1108),Xe=n(1135),qe=n(1605),Ze=n(1218),$e=n(1138),et=n(1533),tt=n(1121),nt=n(1399),ot=n(418),it=n(1398),rt=n(1571),at=n(1122),st=n(1103),At=n(265),lt=n(1101),ct=n(1404),dt=n(324),pt=n(1403),ft=function(){function DynamicModulesModule(){}return DynamicModulesModule.ɵfac=function DynamicModulesModule_Factory(e){return new(e||DynamicModulesModule)},DynamicModulesModule.ɵmod=Ue["ɵɵdefineNgModule"]({type:DynamicModulesModule}),DynamicModulesModule.ɵinj=Ue["ɵɵdefineInjector"]({providers:[p.BackendTweaksService,f.BackendTweaksStore,u.BackendTweaksGridResolver,m.BackendTweaksFormResolver,h.DynamicItemResolver,k.DynamicItemsResolver,X.ItemMetaResolver,g.DynamicItemStore,me.LetterMarkStore,E.DynamicItemService,Q.ProviderService,Re.ParentService,H.ProviderStore,b.ActionButtonsResolver,I.FilterStrategyFactory,M.DynamicItemStrategyBase,T.ChildrenCountStore,w.CompositeColumnsProvider,ee.CompositeItemHooksProvider,x.ColumnsGenerator,_.TWEAKS_COLUMN_PROVIDER,pe.ColumnsMap,Z.NAVIGATION_PROVIDER,j.LocatableDynamicItemService,z.FilterService,G.FilterStore,ve.SortersStore,o.RestoreCommand,$.ParentNavigateCommand,ie.SaveAsHomePageCommand,Oe.NavigateToMenuSectionCommand,Me.CompositeOperationsProvider,De.EXTERNAL_OPERATIONS_PROVIDER,te.CONTENT_GRID_EXTENDER,Ie.CONTENT_DELETE_COMMAND_EXTENDER,Se.CONTENT_BULK_COMMAND_EXTENDER,he.CONTENT_EDIT_EXTENDER,ge.TAXONOMY_OPERATION_FILTER,fe.TAXONOMY_GRID_EXTENDER,Te.TAXONOMY_QUERY_PARAMS_EXTENDER,ne.HIERARCHICAL_TAXONOMY_SERVICE,Ce.HierarchicalTaxonExpandService,re.GridReloadService,se.YouTubePlayerService,{provide:Qe.EmbedMediaParser,useClass:Qe.TwitterMediaParser,multi:!0},{provide:Qe.EmbedMediaParser,useClass:Qe.YoutubeMediaParser,multi:!0},{provide:Qe.EmbedMediaParser,useClass:Qe.IFrameMediaParser,multi:!0},{provide:Qe.EmbedMediaParser,useClass:Qe.DefaultMediaParser,multi:!0},Ae.CompositeMediaParser,ce.HIERARCHICAL_DYNAMIC_ITEM_SERVICE,Pe.BASE_OPERATION_FILTER,Ee.PARENT_OPERATION_FILTER,Fe.CONTENT_ITEM_OPERATION_FILTER,_e.DEFAULT_NOTIFICATION_BUILDER,xe.TAXA_NOTIFICATION_BUILDER,ye.IMAGES_NOTIFICATION_BUILDER],imports:[[r.FieldsModule,a.SharedModule,P.AnalyticsModule,le.PipesModule,be.LibrariesModule]]}),DynamicModulesModule}();Ue["ɵɵsetNgModuleScope"](ft,{declarations:[Be.GridNavigationComponent,s.DynamicItemRouterComponent,A.DynamicItemIndexComponent,l.DynamicItemComponent,Y.ItemListComponent,c.DynamicSidebarComponent,d.DynamicUpdateItemComponent,C.ListItemFilterSidebarComponent,B.ListItemSettingsSidebarComponent,we.QuickNavigationSidebarComponent,J.CustomFilterSidebarComponent,W.CustomFilterComponent,v.FilterDateRangeComponent,U.ContentFilterComponent,W.CustomFilterComponent,K.ContentFilterCountComponent,L.FilterNotificationComponent,y.CreateChildComponent,S.ListChildrenCountComponent,R.ListLanguagesComponent,F.BulkOperationsComponent,Ne.AssignTaxonsComponent,V.BulkOperationsNotificationComponent,oe.BulkChangeTemplateNotificationComponent,D.MainFieldComponent,ae.ProviderTabSelectorComponent,O.GridActionMenuComponent,N.CompareTranslationsComponent,i.UndoDeleteComponent,q.ToolbarComponent,de.ListChildrenItemsComponent,ue.LetterMarkComponent,ke.LongRunningProgressComponent],imports:[r.FieldsModule,a.SharedModule,P.AnalyticsModule,le.PipesModule,be.LibrariesModule]}),Ue["ɵɵsetComponentScope"](A.DynamicItemIndexComponent,[Le.NavigationMenuComponent,ze.NgIf,Ge.SfLoaderComponent,He.SidebarHostComponent,ze.NgClass,Ge.SfDynamicComponentLoaderComponent,je.ProviderSelectorComponent,ke.LongRunningProgressComponent,ze.NgTemplateOutlet,Ge.SfIconComponent,Ye.NoItemsFoundComponent,Ve.LoadMoreSearchComponent,Ge.SfNotificationComponent,Je.ListComponent,We.ThumbnailListComponent,Ke.InfiniteScrollerDirective,Xe.ActionMenuComponent,L.FilterNotificationComponent,F.BulkOperationsComponent,Ge.SfSearchComponent,qe.SidebarButtonsComponent,Ze.NotificationLoaderComponent,$e.LoaderWrapperComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](l.DynamicItemComponent,[et.EditItemMenuComponent,ze.NgIf,He.SidebarHostComponent,ze.NgClass,Ze.NotificationLoaderComponent,tt.EditableFieldsComponent,Xe.ActionMenuComponent,nt.ContentSectionMenuComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](Y.ItemListComponent,[ze.NgIf,Ke.InfiniteScrollerDirective,ze.NgTemplateOutlet,Ge.SfBadgeComponent,ot.TreeComponent,Ge.SfLoaderComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](c.DynamicSidebarComponent,[ze.NgIf,Ge.SfSearchComponent,Ge.SfNotificationComponent,L.FilterNotificationComponent,it.InfiniteScrollerOnElementDirective,Je.ListComponent,rt.ListColumnDirective,D.MainFieldComponent,Ge.SfIconComponent,Ye.NoItemsFoundComponent],[ze.AsyncPipe,ze.LowerCasePipe]),Ue["ɵɵsetComponentScope"](d.DynamicUpdateItemComponent,[ze.NgClass,Ze.NotificationLoaderComponent,ze.NgIf,Ge.SfBadgeComponent,tt.EditableFieldsComponent,Xe.ActionMenuComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](C.ListItemFilterSidebarComponent,[ze.NgIf,at.FormFieldWrapperComponent,U.ContentFilterComponent,Ge.SfIconComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](J.CustomFilterSidebarComponent,[ze.NgForOf,ze.NgIf,W.CustomFilterComponent,v.FilterDateRangeComponent,Ge.SfLoaderComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](U.ContentFilterComponent,[ze.NgIf,ze.NgForOf,ze.NgClass,K.ContentFilterCountComponent,Ge.SfDynamicComponentLoaderComponent,Ge.SfLoaderComponent],[ze.AsyncPipe,ze.LowerCasePipe]),Ue["ɵɵsetComponentScope"](F.BulkOperationsComponent,[ze.NgIf,Ge.SfIconComponent,Ge.SfNotificationComponent,ze.NgTemplateOutlet,Xe.ActionMenuComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](Ne.AssignTaxonsComponent,[ze.NgIf,tt.EditableFieldsComponent,Ge.SfIconComponent],[]),Ue["ɵɵsetComponentScope"](D.MainFieldComponent,[ze.NgIf,st.StatusComponent,ze.NgClass,Ge.SfIconComponent],[At.BolderTextPipe,lt.HtmlEscapePipe]),Ue["ɵɵsetComponentScope"](ae.ProviderTabSelectorComponent,[ct.SplitButtonComponent],[]),Ue["ɵɵsetComponentScope"](O.GridActionMenuComponent,[ze.NgIf,Xe.ActionMenuComponent],[]),Ue["ɵɵsetComponentScope"](N.CompareTranslationsComponent,[ze.NgIf,at.FormFieldWrapperComponent,dt.NgControlStatus,dt.NgModel,tt.EditableFieldsComponent,Ge.SfLoaderComponent],[ze.AsyncPipe]),Ue["ɵɵsetComponentScope"](ke.LongRunningProgressComponent,[ze.NgIf,ze.NgForOf,ze.NgClass,pt.ClickNotificationComponent,Ge.SfButtonComponent],[])},function(e,t,n){"use strict";n.r(t),n.d(t,"FilterStrategyFactory",(function(){return A}));var o,i=n(1797),r=n(1799),a=n(1800),s=n(229),A=function(){function FilterStrategyFactory(){}return FilterStrategyFactory.prototype.createStrategy=function(e){switch(e.type){case o.Custom:return new i.CustomFilterStrategy(e);case o.Search:return new r.SinglePropertyContainsStrategy(e);case o.SingleProperty:return new a.SinglePropertyStrategy(e)}},FilterStrategyFactory.ɵfac=function FilterStrategyFactory_Factory(e){return new(e||FilterStrategyFactory)},FilterStrategyFactory.ɵprov=s["ɵɵdefineInjectable"]({token:FilterStrategyFactory,factory:FilterStrategyFactory.ɵfac}),FilterStrategyFactory}();!function(e){e[e.Custom=0]="Custom",e[e.Search=1]="Search",e[e.SingleProperty=2]="SingleProperty"}(o||(o={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"CustomFilterStrategy",(function(){return i}));var o=n(259),i=function(e){function CustomFilterStrategy(t){var n=e.call(this,t)||this;return n.filter=t,n}return Object(o.__extends)(CustomFilterStrategy,e),CustomFilterStrategy.prototype.buildQuery=function(e){for(var t=0,n=this.filter.values;t0&&!e.metadata.isSelfReferencing&&C.filter((function(e){return!o.includes(e)})).find((function(e){return e===n.name})))return!1;return!0})).map((function(n,o){var i=t.colsMap.tryGetColumnMapping(e.metadata,n);if(i)return i.ordinal=t.setOrdinalForServerColumn(i,o),i;var r=n.boundPropertyName||n.name,a=e.metadata.properties[r],s=a?t.metadataParserService.getPropertyFieldType(e.metadata,a,null,r,null):null,A=s?t.fieldsProvider.getFieldRegistration({fieldType:s,fieldName:r,typeName:e.metadata.setName},e.metadata):null;if(!A){var l=t.createColumnModel(n,{type:f.TextFieldComponent},u.stringConstants.EMPTY_STRING,[]);return l.ordinal=t.setOrdinalForServerColumn(l,o),l}var p=A.gridComponent||A.readComponent||c.ReadComponent,m=null!=A.settingsType?new A.settingsType(null,!0):null;m&&(m.init(a),m.name&&(m.key=m.key?m.key:m.name),t.metadataParserService.updateFieldSettings(m,s,a,r,e.metadata,n),m.title=n.title);var h=B.get(s)?B.get(s):u.stringConstants.EMPTY_STRING;p===d.EditorReadonlyComponent&&(h="-col-size-xl",m.look?m.look=m.look+" in-list":m.look="in-list"),p===g.DateTimePickerReadOnlyComponent&&(m.look="-two-lines"),p===E.TaxaGridComponent&&(m.look="size-l");var b={type:p,properties:{settings:m}},C=t.createColumnModel(n,b,h,[r]);return C.ordinal=t.setOrdinalForServerColumn(C,o),C})).filter((function(e){return!!e}))})))},TweaksColumnProvider.prototype.getColumnsToRemove=function(e){return Object(o.of)([])},TweaksColumnProvider.prototype.createColumnModel=function(e,t,n,o,i){return{name:e.name,title:i||e.title,hidden:!e.visible,ordinal:e.ordinal,css:n,dataFieldNames:o,componentData:t}},TweaksColumnProvider.prototype.getWhitelistedColsFromConfig=function(e){if(!e)return[];var t=this.externalConfigService.externalConfig.columnsSettings,n=[];return t&&t.columnNamesWhitelist&&t.columnNamesWhitelist[e]&&(n=t.columnNamesWhitelist[e]),n},TweaksColumnProvider.prototype.setOrdinalForServerColumn=function(e,t){return 100*t},TweaksColumnProvider.ɵfac=function TweaksColumnProvider_Factory(e){return new(e||TweaksColumnProvider)(r["ɵɵinject"](a.BackendTweaksStore),r["ɵɵinject"](A.CompositeFieldsProvider),r["ɵɵinject"](l.MetadataParserService),r["ɵɵinject"](p.ColumnsMap),r["ɵɵinject"](h.ExternalAppConfigService))},TweaksColumnProvider.ɵprov=r["ɵɵdefineInjectable"]({token:TweaksColumnProvider,factory:TweaksColumnProvider.ɵfac}),TweaksColumnProvider}(),I={multi:!0,provide:s.COLUMNS_TOKEN,useClass:k}},function(e,t,n){"use strict";n.r(t),n.d(t,"ColumnsMap",(function(){return D}));var o=n(1805),i=n(266),r=n(1806),a=n(1186),s=n(1807),A=n(1808),l=n(350),c=n(1663),d=n(1810),p=n(1601),f=n(1572),u=n(1811),m=n(1641),g=n(1812),E=n(1573),h=n(246),b=n(258),C=n(1813),B=n(1592),k=n(1814),I=n(1816),v=n(1817),w=n(1577),_=n(1818),x=n(1819),y=n(1820),S=n(1631),T=n(10),M=n(229),D=function(){function ColumnsMap(){this.colMap=new Map,this.initColMap()}return ColumnsMap.prototype.tryGetColumnMapping=function(e,t){var n=this.colMap.get(t.name);return n?n.init(e,t):null},ColumnsMap.prototype.initColMap=function(){this.colMap.set("Translations",this.createInitializer("Translations",{type:o.ListLanguagesComponent},"-col-size-m -translation",[i.Properties.AvailableLanguages])),this.colMap.set("Marketing",this.createInitializer("Marketing",{type:r.MarketingCellComponent},"-col-size-m",[a.PAGE_COMPUTED_PROPERTIES.MARKETING])),this.colMap.set("Calendar",this.createInitializer("Calendar",{type:s.CalendarGridCellComponent},"-col-size-m",["ParentId"])),this.colMap.set("Start",this.createInitializer("Start",{type:A.EventTimeGridCellComponent},"-col-size-m",[l.EVENT_PROPERTIES.EVENT_START,l.EVENT_PROPERTIES.EVENT_START_UTC_OFFSET,l.EVENT_PROPERTIES.ALL_DAY_EVENT,l.EVENT_PROPERTIES.EVENT_START_WITH_OFFSET])),this.colMap.set("End",this.createInitializer("End",{type:A.EventTimeGridCellComponent},"-col-size-m",[l.EVENT_PROPERTIES.EVENT_END,l.EVENT_PROPERTIES.EVENT_END_UTC_OFFSET,l.EVENT_PROPERTIES.ALL_DAY_EVENT,l.EVENT_PROPERTIES.RECURRENCE_EXPRESSION,l.EVENT_PROPERTIES.EVENT_END_WITH_OFFSET])),this.colMap.set("SharedWith",this.createInitializer("SharedWith",{type:c.UsageInSitesComponent},"-col-size-m",[i.Properties.SHARED_WITH])),this.colMap.set("Contains",this.createInitializer("Contains",{type:C.ListChildrenItemsComponent},"-col-size-3xl",[])),this.colMap.set("AppliedTo",this.createInitializer("AppliedTo",{type:p.AppliedToComponent},"-col-size-m",[i.Properties.APPLIED_TO])),this.colMap.set("Analytics",this.createInitializer("Analytics",{type:f.AnalyticsColumnComponent},"-col-size-2xs",[],E.ClickableColInitializer)),this.colMap.set("View",this.createInitializer("View",{type:u.PageViewComponent},"-col-size-2xs",["ViewUrl","PageType"])),this.colMap.set("Children",this.createInitializer("Children",{type:d.ListChildrenCountComponent},"-col-size-l",[])),this.colMap.set("Actions",this.createInitializer("Actions",{type:m.GridActionMenuComponent},"-action -col-size-3xs",[i.Properties.AvailableLanguages])),this.colMap.set("CreateChild",this.createInitializer("CreateChild",{type:g.CreateChildComponent},"-col-size-l",[])),this.colMap.set(T.COLUMN_NAMES.MAIN_COL_NAME,this.createInitializer(T.COLUMN_NAMES.MAIN_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[],E.MainColInitializer)),this.colMap.set(i.Properties.PUBLICATION_DATE,this.createInitializer(i.Properties.PUBLICATION_DATE,{type:B.DateAndUserComponent},"",[i.Properties.LAST_PUBLISHED],E.DateAndUserInitializer)),this.colMap.set(i.Properties.DATE_CREATED,this.createInitializer(i.Properties.DATE_CREATED,{type:B.DateAndUserComponent},"",[i.Properties.DATE_CREATED],E.DateAndUserInitializer)),this.colMap.set(i.Properties.LAST_MODIFIED,this.createInitializer(i.Properties.LAST_MODIFIED,{type:B.DateAndUserComponent},"",[i.Properties.LAST_MODIFIED,i.Properties.LAST_MODIFIED_BY],E.DateAndUserInitializer)),this.colMap.set(T.COLUMN_NAMES.TAXA_MAIN_COL_NAME,this.createInitializer(T.COLUMN_NAMES.TAXA_MAIN_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[],E.TaxaMainInitializer)),this.colMap.set(T.COLUMN_NAMES.LETTER_COL_NAME,this.createInitializer(T.COLUMN_NAMES.LETTER_COL_NAME,{type:k.LetterMarkComponent},"-group h3",[i.Properties.TITLE],E.GroupingColInitializer)),this.colMap.set(T.COLUMN_NAMES.TITLE_STATUS_COL_NAME,this.createInitializer(T.COLUMN_NAMES.TITLE_STATUS_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[],E.MainColInitializer)),this.colMap.set(T.COLUMN_NAMES.ALBUMS_MAIN_COL_NAME,this.createInitializer(T.COLUMN_NAMES.ALBUMS_MAIN_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[],E.MediaMainInitializer)),this.colMap.set(T.COLUMN_NAMES.MEDIA_TITLE_STATUS_COL_NAME,this.createInitializer(T.COLUMN_NAMES.MEDIA_TITLE_STATUS_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[],E.MediaMainInitializer)),this.colMap.set(B.LAST_UPLOADED_ON,this.createInitializer(B.LAST_UPLOADED_ON,{type:B.DateAndUserComponent},"",[i.Properties.LAST_UPLOADED,i.Properties.LAST_UPLOADED_BY],E.DateAndUserInitializer)),this.colMap.set("FileDimSize",this.createInitializer("FileDimSize",{type:I.FileDimSizeComponent},"",[i.Properties.TOTAL_SIZE,i.Properties.EXTENSION,i.Properties.WIDTH,i.Properties.HEIGHT,i.Properties.MIME_TYPE])),this.colMap.set("Thumbnail",this.createInitializer("Thumbnail",{type:v.GridThumbnailComponent},"-col-size-2xs",[i.Properties.THUMBNAIL_URL,i.Properties.DATE_CREATED,i.Properties.URL,i.Properties.ORDINAL],E.ClickableColInitializer)),this.colMap.set("Storage",this.createInitializer("Storage",{type:w.TextFieldComponent},"-col-size-l",[])),this.colMap.set(T.COLUMN_NAMES.DOCUMENTS_LIBRARY_MAIN_COL_NAME,this.createInitializer(T.COLUMN_NAMES.DOCUMENTS_LIBRARY_MAIN_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[],E.MediaMainInitializer)),this.colMap.set("FileSize",this.createInitializer("FileSize",{type:_.FileSizeComponent},"",[i.Properties.TOTAL_SIZE,i.Properties.EXTENSION])),this.colMap.set("Personalization",this.createInitializer("Personalization",{type:x.PersonalizedCellComponent},h.stringConstants.EMPTY_STRING,[i.Properties.IS_PERSONALIZED])),this.colMap.set("BasedOn",this.createInitializer("BasedOn",{type:y.BasedOnComponent},"-col-size-xl",[i.Properties.PARENT_TEMPLATE])),this.colMap.set(T.COLUMN_NAMES.PAGE_TEMPLATES_MAIN_COL_NAME,this.createInitializer(T.COLUMN_NAMES.PAGE_TEMPLATES_MAIN_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[i.Properties.TITLE,i.Properties.DISPLAY_STATUS,i.Properties.FRAMEWORK,i.Properties.THUMBNAIL_URL,i.Properties.RENDERER],E.TemplatesMainInitializer)),this.colMap.set(i.Properties.PAGES_COUNT,this.createInitializer(i.Properties.PAGES_COUNT,{type:S.SharedInComponent},"-col-size-2xs",[i.Properties.PAGES_COUNT])),this.colMap.set(i.Properties.USED_ON,this.createInitializer(i.Properties.USED_ON,{type:S.SharedInComponent},"-col-size-m",[])),this.colMap.set(T.COLUMN_NAMES.VIDEOS_LIBRARY_MAIN_COL_NAME,this.createInitializer(T.COLUMN_NAMES.VIDEOS_LIBRARY_MAIN_COL_NAME,{type:b.MainFieldComponent},h.stringConstants.EMPTY_STRING,[],E.MediaMainInitializer)),this.colMap.set(i.Properties.AUTHOR,this.createInitializer(i.Properties.CREATED_BY,{type:w.TextFieldComponent},"",[i.Properties.CREATED_BY]))},ColumnsMap.prototype.createInitializer=function(e,t,n,o,i){return void 0===i&&(i=E.ColInitializer),new i({name:e,componentData:t,css:n,dataFieldNames:o})},ColumnsMap.ɵfac=function ColumnsMap_Factory(e){return new(e||ColumnsMap)},ColumnsMap.ɵprov=M["ɵɵdefineInjectable"]({token:ColumnsMap,factory:ColumnsMap.ɵfac}),ColumnsMap}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TRANSLATIONS_COLUMN_BADGES_COUNT",(function(){return l})),n.d(t,"ListLanguagesComponent",(function(){return d}));var o=n(260),i=(n(263),n(1180)),r=n(246),a=n(229),s=n(261),A=n(354);function ListLanguagesComponent_ng_container_0_sf_badge_1_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"sf-badge",2),a["ɵɵlistener"]("click",(function ListLanguagesComponent_ng_container_0_sf_badge_1_Template_sf_badge_click_0_listener(){a["ɵɵrestoreView"](n);var e=a["ɵɵnextContext"]().$implicit;return a["ɵɵnextContext"]().onClick(e)}))("keyup.enter",(function ListLanguagesComponent_ng_container_0_sf_badge_1_Template_sf_badge_keyup_enter_0_listener(){a["ɵɵrestoreView"](n);var e=a["ɵɵnextContext"]().$implicit;return a["ɵɵnextContext"]().onClick(e)})),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]().$implicit;a["ɵɵpropertyInterpolate"]("look",o.look),a["ɵɵpropertyInterpolate"]("content",o.name),a["ɵɵattribute"]("title",o.title)("aria-label",o.ariaLabel)}}function ListLanguagesComponent_ng_container_0_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵtemplate"](1,ListLanguagesComponent_ng_container_0_sf_badge_1_Template,1,4,"sf-badge",1),a["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit;a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.isVisible)}}var l=6,c={add:"Add ",edit:"Edit "},d=function(){function ListLanguagesComponent(e){this.route=e,this.messages=c}return ListLanguagesComponent.prototype.ngOnInit=function(){var e=this.context.dataItem.data.AvailableLanguages;if(e){var t=this.route.snapshot.data.siteDataStore.ContentCultures;this.badges=this.generateLanguageButtons(e,t)}},ListLanguagesComponent.prototype.onClick=function(e){e.isLanguage?this.callInvoker(e):(this.badges.forEach((function(e){e.isVisible=!0})),e.isVisible=!1)},ListLanguagesComponent.prototype.callInvoker=function(e){this.context.invoker.invoke({name:i.COMMAND_NAMES.changeCulture,data:{culture:e.name,dataItem:this.context.dataItem}})},ListLanguagesComponent.prototype.generateLanguageButtons=function(e,t){var n=this,o=[];if(t.forEach((function(t,i){var r=e.some((function(e){return e===t.Name})),a=r?"size-xl sf-txt-small hover sf-txt-upper-case sf-mb-3xs sf-mr-6xs edit-variation":"size-xl sf-txt-small hover sf-txt-upper-case sf-mb-3xs sf-mr-6xs add-variation";n.context.dataItem.data.inactive&&(a+=" dimmed");var s=(r?c.edit:c.add)+t.DisplayName.toLowerCase()+" version",A={name:t.Name,isAvailable:r,isVisible:!0,isLanguage:!0,look:a,title:t.DisplayName,ariaLabel:s};!n.context.isVirtualized&&i>l-1&&(A.isVisible=!1),o.push(A)})),!this.context.isVirtualized&&t.length>l){o[l-1].isVisible=!1;var i="+"+(t.length-l+1);o.push({name:i,isAvailable:!1,isVisible:!0,isLanguage:!1,look:"size-xl sf-txt-small hover sf-txt-upper-case sf-mb-3xs sf-mr-6xs add",title:r.stringConstants.EMPTY_STRING})}return o},ListLanguagesComponent.ɵfac=function ListLanguagesComponent_Factory(e){return new(e||ListLanguagesComponent)(a["ɵɵdirectiveInject"](o.ActivatedRoute))},ListLanguagesComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ListLanguagesComponent,selectors:[["sf-list-languages"]],inputs:{context:"context"},decls:1,vars:1,consts:[[4,"ngFor","ngForOf"],["tabindex","0",3,"look","content","click","keyup.enter",4,"ngIf"],["tabindex","0",3,"look","content","click","keyup.enter"]],template:function ListLanguagesComponent_Template(e,t){1&e&&a["ɵɵtemplate"](0,ListLanguagesComponent_ng_container_0_Template,2,1,"ng-container",0),2&e&&a["ɵɵproperty"]("ngForOf",t.badges)},directives:[s.NgForOf,s.NgIf,A.SfBadgeComponent],encapsulation:2}),ListLanguagesComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MarketingCellComponent",(function(){return A}));var o=n(1186),i=n(246),r=n(229),a=n(261),s=n(354);function MarketingCellComponent_ng_container_0_ng_container_5_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementContainerStart"](0),r["ɵɵelement"](1,"sf-icon",3),r["ɵɵelementStart"](2,"a",4),r["ɵɵlistener"]("click",(function MarketingCellComponent_ng_container_0_ng_container_5_Template_a_click_2_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onLinkClick()})),r["ɵɵtext"](3),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵadvance"](2),r["ɵɵproperty"]("href",o.value.Link,r["ɵɵsanitizeUrl"]),r["ɵɵadvance"](1),r["ɵɵtextInterpolate"](o.value.LinkTitle)}}function MarketingCellComponent_ng_container_0_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"div",1),r["ɵɵelementStart"](2,"div",2),r["ɵɵelementStart"](3,"span"),r["ɵɵtext"](4),r["ɵɵelementEnd"](),r["ɵɵtemplate"](5,MarketingCellComponent_ng_container_0_ng_container_5_Template,4,2,"ng-container",0),r["ɵɵelementEnd"](),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](4),r["ɵɵtextInterpolate"](n.value.Description),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.value.Link)}}var A=function(){function MarketingCellComponent(){}return MarketingCellComponent.prototype.ngOnInit=function(){this.value=this.context.dataItem.data[o.PAGE_COMPUTED_PROPERTIES.MARKETING]},MarketingCellComponent.prototype.onLinkClick=function(){window.open(this.value.Link,i.NEW_TAB_TARGET)},MarketingCellComponent.ɵfac=function MarketingCellComponent_Factory(e){return new(e||MarketingCellComponent)},MarketingCellComponent.ɵcmp=r["ɵɵdefineComponent"]({type:MarketingCellComponent,selectors:[["ng-component"]],decls:1,vars:1,consts:[[4,"ngIf"],[1,"sf-chip"],[1,"sf-chip__content"],["name","circle","look","sf-pl-3xs sf-pr-3xs black size-7xs sf-align-self-center",1,"-sf-txt-vertical-align-middle"],[3,"href","click"]],template:function MarketingCellComponent_Template(e,t){1&e&&r["ɵɵtemplate"](0,MarketingCellComponent_ng_container_0_Template,6,2,"ng-container",0),2&e&&r["ɵɵproperty"]("ngIf",null==t.value?null:t.value.Description)},directives:[a.NgIf,s.SfIconComponent],encapsulation:2}),MarketingCellComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CalendarGridCellComponent",(function(){return A}));var o=n(260),i=n(316),r=(n(263),n(256)),a=n(229),s=n(354),A=function(){function CalendarGridCellComponent(e,t){this.dynamicItemService=e,this.route=t}return CalendarGridCellComponent.prototype.ngOnInit=function(){var e=this;if(this.context.dataItem.metadata.setName===r.ENTITY_SET.EVENTS){var t=this.context.dataItem,n=this.route.snapshot.data.dynamicItems,o=this.route.snapshot.data.metaStore.entities[t.metadata.parent];this.dynamicItemService.getItem({itemKey:t.parentKey,entityData:{metadata:o,culture:n.culture,provider:n.provider},fallbackProperties:[o.defaultFieldName]}).subscribe((function(t){e.calendar=t.data}))}},CalendarGridCellComponent.ɵfac=function CalendarGridCellComponent_Factory(e){return new(e||CalendarGridCellComponent)(a["ɵɵdirectiveInject"](i.DynamicItemService),a["ɵɵdirectiveInject"](o.ActivatedRoute))},CalendarGridCellComponent.ɵcmp=a["ɵɵdefineComponent"]({type:CalendarGridCellComponent,selectors:[["sf-calendar-grid-component"]],decls:3,vars:2,consts:[["look","size-s sf-mr-5xs",3,"color"],[1,"-sf-word-break-word"]],template:function CalendarGridCellComponent_Template(e,t){1&e&&(a["ɵɵelement"](0,"sf-badge",0),a["ɵɵelementStart"](1,"span",1),a["ɵɵtext"](2),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵproperty"]("color",null==t.calendar?null:t.calendar.Color),a["ɵɵadvance"](2),a["ɵɵtextInterpolate"](null==t.calendar?null:t.calendar.Title))},directives:[s.SfBadgeComponent],encapsulation:2}),CalendarGridCellComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EventTimeGridCellComponent",(function(){return l}));n(263);var o=n(1105),i=n(350),r=n(1238),a=n(1809),s=n(229),A=n(261);function EventTimeGridCellComponent_ng_container_0_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵelementStart"](1,"div"),s["ɵɵtext"](2),s["ɵɵelementEnd"](),s["ɵɵelementStart"](3,"div"),s["ɵɵtext"](4),s["ɵɵelementEnd"](),s["ɵɵelementContainerEnd"]()),2&e){var n=s["ɵɵnextContext"]();s["ɵɵadvance"](2),s["ɵɵtextInterpolate"](n.viewModel.date),s["ɵɵadvance"](2),s["ɵɵtextInterpolate"](n.viewModel.offset)}}var l=function(){function EventTimeGridCellComponent(e,t){this.datePipe=e,this.datesService=t,this.EVENT_DATE_FORMAT=o.RelativeDatePipe.FULL_DATE_SHORT_MONTH_AND_TIME}return EventTimeGridCellComponent.prototype.ngOnInit=function(){var e=this.context.model,t=this.context.dataItem.data[i.EVENT_PROPERTIES.EVENT_START_WITH_OFFSET];if("Start"===e.name){var n=this.datesService.getDateWithoutBrowserOffset(t);this.viewModel={date:this.datePipe.transform(n,o.RelativeDatePipe.FULL_DATE_SHORT_MONTH_AND_TIME),offset:this.getOffset(this.context.dataItem.data[i.EVENT_PROPERTIES.EVENT_START_UTC_OFFSET])}}var r=this.context.dataItem.data[i.EVENT_PROPERTIES.EVENT_END_WITH_OFFSET];if(r){if("End"===e.name&&!this.isEndlessRecurringEvent()){var a=void 0;this.context.dataItem.data[i.EVENT_PROPERTIES.ALL_DAY_EVENT]?(a=this.datesService.getEventEndForAllDayEvent(t,r),a=this.datesService.getDateWithoutBrowserOffset(a)):r&&(a=new Date(r),a=this.datesService.getDateWithoutBrowserOffset(a)),this.viewModel={date:this.datePipe.transform(a,o.RelativeDatePipe.FULL_DATE_SHORT_MONTH_AND_TIME),offset:this.getOffset(this.context.dataItem.data[i.EVENT_PROPERTIES.EVENT_END_UTC_OFFSET])}}this.context.dataItem.data.AllDayEvent&&this.processAllDayEvent()}},EventTimeGridCellComponent.prototype.isEndlessRecurringEvent=function(){return!!this.isRecurring()&&JSON.parse(this.context.dataItem.data[i.EVENT_PROPERTIES.RECURRENCE_EXPRESSION]).endRecurrenceType===a.EndRecurrenceType.Never},EventTimeGridCellComponent.prototype.isRecurring=function(){return!!this.context.dataItem.data[i.EVENT_PROPERTIES.RECURRENCE_EXPRESSION]},EventTimeGridCellComponent.prototype.getOffset=function(e){return 0===e?"(UTC)":"(UTC "+(e<0?"-":"+")+Math.floor(Math.abs(e/60))+":"+this.getOffsetMinutes(e)+")"},EventTimeGridCellComponent.prototype.getOffsetMinutes=function(e){return this.padTime(Math.abs(e%60).toString())},EventTimeGridCellComponent.prototype.padTime=function(e){return e.length<2?e+"0":e},EventTimeGridCellComponent.prototype.processAllDayEvent=function(){if(this.viewModel&&this.viewModel.date){var e=this.viewModel.date.split(",",2);2===e.length&&(this.viewModel.date=e.join(","))}},EventTimeGridCellComponent.ɵfac=function EventTimeGridCellComponent_Factory(e){return new(e||EventTimeGridCellComponent)(s["ɵɵdirectiveInject"](o.RelativeDatePipe),s["ɵɵdirectiveInject"](r.EventDatesService))},EventTimeGridCellComponent.ɵcmp=s["ɵɵdefineComponent"]({type:EventTimeGridCellComponent,selectors:[["sf-event-time-grid-cell"]],features:[s["ɵɵProvidersFeature"]([o.RelativeDatePipe])],decls:1,vars:1,consts:[[4,"ngIf"]],template:function EventTimeGridCellComponent_Template(e,t){1&e&&s["ɵɵtemplate"](0,EventTimeGridCellComponent_ng_container_0_Template,5,2,"ng-container",0),2&e&&s["ɵɵproperty"]("ngIf",t.viewModel)},directives:[A.NgIf],encapsulation:2}),EventTimeGridCellComponent}()},function(e,t,n){"use strict";var o,i,r,a,s;n.r(t),n.d(t,"RecurrenceMonth",(function(){return o})),n.d(t,"DayOfWeek",(function(){return i})),n.d(t,"RecurrenceDay",(function(){return r})),n.d(t,"RecurrenceFrequency",(function(){return a})),n.d(t,"EndRecurrenceType",(function(){return s})),function(e){e[e.None=0]="None",e[e.January=1]="January",e[e.February=2]="February",e[e.March=3]="March",e[e.April=4]="April",e[e.May=5]="May",e[e.June=6]="June",e[e.July=7]="July",e[e.August=8]="August",e[e.September=9]="September",e[e.October=10]="October",e[e.November=11]="November",e[e.December=12]="December"}(o||(o={})),function(e){e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday"}(i||(i={})),function(e){e[e.None=0]="None",e[e.Sunday=1]="Sunday",e[e.Monday=2]="Monday",e[e.Tuesday=4]="Tuesday",e[e.Wednesday=8]="Wednesday",e[e.Thursday=16]="Thursday",e[e.Friday=32]="Friday",e[e.Saturday=64]="Saturday",e[e.EveryDay=127]="EveryDay",e[e.WeekDays=62]="WeekDays",e[e.WeekendDays=65]="WeekendDays"}(r||(r={})),function(e){e[e.None=0]="None",e[e.Hourly=1]="Hourly",e[e.Daily=2]="Daily",e[e.Weekly=3]="Weekly",e[e.Monthly=4]="Monthly",e[e.Yearly=5]="Yearly"}(a||(a={})),function(e){e[e.Never=0]="Never",e[e.By=1]="By",e[e.After=2]="After"}(s||(s={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"ListChildrenCountComponent",(function(){return f}));var o=n(11),i=n(269),r=n(1172),a=n(1180),s=n(1139),A=n(131),l=n(1772),c=n(229),d=n(261),p=n(354);function ListChildrenCountComponent_div_0_ng_container_1_ng_container_1_Template(e,t){1&e&&c["ɵɵelementContainer"](0)}function ListChildrenCountComponent_div_0_ng_container_1_sf_icon_3_Template(e,t){1&e&&c["ɵɵelement"](0,"sf-icon",8)}var _c0=function(e){return{child:e}};function ListChildrenCountComponent_div_0_ng_container_1_Template(e,t){if(1&e&&(c["ɵɵelementContainerStart"](0),c["ɵɵtemplate"](1,ListChildrenCountComponent_div_0_ng_container_1_ng_container_1_Template,1,0,"ng-container",6),c["ɵɵpipe"](2,"async"),c["ɵɵtemplate"](3,ListChildrenCountComponent_div_0_ng_container_1_sf_icon_3_Template,1,0,"sf-icon",7),c["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit,o=t.last,i=c["ɵɵnextContext"](2),r=c["ɵɵreference"](3),a=c["ɵɵreference"](5);c["ɵɵadvance"](1),c["ɵɵproperty"]("ngTemplateOutlet",c["ɵɵpipeBind1"](2,3,i.children).length>1?r:a)("ngTemplateOutletContext",c["ɵɵpureFunction1"](5,_c0,n)),c["ɵɵadvance"](2),c["ɵɵproperty"]("ngIf",!o)}}function ListChildrenCountComponent_div_0_Template(e,t){if(1&e&&(c["ɵɵelementStart"](0,"div",4),c["ɵɵtemplate"](1,ListChildrenCountComponent_div_0_ng_container_1_Template,4,7,"ng-container",5),c["ɵɵpipe"](2,"async"),c["ɵɵelementEnd"]()),2&e){var n=c["ɵɵnextContext"]();c["ɵɵadvance"](1),c["ɵɵproperty"]("ngForOf",c["ɵɵpipeBind1"](2,1,n.children))}}function ListChildrenCountComponent_div_1_Template(e,t){1&e&&(c["ɵɵelementStart"](0,"div"),c["ɵɵelement"](1,"sf-loader",9),c["ɵɵelementEnd"]())}function ListChildrenCountComponent_ng_template_2_ng_container_1_Template(e,t){1&e&&c["ɵɵelementContainer"](0)}function ListChildrenCountComponent_ng_template_2_Template(e,t){if(1&e){var n=c["ɵɵgetCurrentView"]();c["ɵɵelementStart"](0,"a",10),c["ɵɵlistener"]("click",(function ListChildrenCountComponent_ng_template_2_Template_a_click_0_listener(){c["ɵɵrestoreView"](n);var e=t.child;return c["ɵɵnextContext"]().onClick(e)}))("keyup.enter",(function ListChildrenCountComponent_ng_template_2_Template_a_keyup_enter_0_listener(){c["ɵɵrestoreView"](n);var e=t.child;return c["ɵɵnextContext"]().onClick(e)})),c["ɵɵtemplate"](1,ListChildrenCountComponent_ng_template_2_ng_container_1_Template,1,0,"ng-container",6),c["ɵɵelementEnd"]()}if(2&e){var o=t.child;c["ɵɵnextContext"]();var i=c["ɵɵreference"](5);c["ɵɵadvance"](1),c["ɵɵproperty"]("ngTemplateOutlet",i)("ngTemplateOutletContext",c["ɵɵpureFunction1"](2,_c0,o))}}function ListChildrenCountComponent_ng_template_4_Template(e,t){if(1&e&&(c["ɵɵtext"](0),c["ɵɵpipe"](1,"lowercase")),2&e){var n=t.child;c["ɵɵtextInterpolate2"](" ",n.count," ",c["ɵɵpipeBind1"](1,2,n.displayName),"\n")}}var f=function(){function ListChildrenCountComponent(e,t,n,i){this.metadata=e,this.store=t,this.siteDataStore=n,this.reorderModuleChildrenProvider=i,this.isLoading=!1,this.minimumLoadingTime=1e3,this.children$=new o.ReplaySubject(1)}return ListChildrenCountComponent.prototype.ngOnInit=function(){var e=this;this.isLoading=!0;var t=this.context.dataItem;this.metadata.initialize().subscribe((function(n){var i=Object(o.timer)(e.minimumLoadingTime),r=e.store.getChildrenCount(t,n),a=e.isChildAvailable(t);Object(o.combineLatest)(i,r,a).subscribe((function(o){var i=[],r=o[1],a=o[2];t.childTypes.forEach((function(e){if(a[e]){var t=n.entities[e],o=r[e],s=null;s=1===o?t.singularName:t.displayName,i.push({setName:e,displayName:s,count:o})}})),e.reorderModuleChildrenProvider.reorderChildren(t.metadata.setName,i),e.children$.next(i),e.isLoading=!1}))}))},Object.defineProperty(ListChildrenCountComponent.prototype,"children",{get:function(){return this.children$.asObservable()},enumerable:!1,configurable:!0}),ListChildrenCountComponent.prototype.onClick=function(e){this.context.invoker.invoke({name:a.COMMAND_NAMES.childNavigate,data:{childSetName:e.setName,dataItem:this.context.dataItem}})},ListChildrenCountComponent.prototype.isChildAvailable=function(e){var t=this;return Object(o.forkJoin)(e.childTypes.map((function(e){return t.siteDataStore.isEntitySetAccessible(e).pipe(Object(A.map)((function(t){return{set:e,isAccessible:t}})))}))).pipe(Object(A.map)((function(e){return e.reduce((function(e,t){return e[t.set]=t.isAccessible,e}),{})})))},ListChildrenCountComponent.ɵfac=function ListChildrenCountComponent_Factory(e){return new(e||ListChildrenCountComponent)(c["ɵɵdirectiveInject"](i.MetadataStore),c["ɵɵdirectiveInject"](r.ChildrenCountStore),c["ɵɵdirectiveInject"](s.SiteDataStore),c["ɵɵdirectiveInject"](l.ReorderModuleChildrenProvider))},ListChildrenCountComponent.ɵcmp=c["ɵɵdefineComponent"]({type:ListChildrenCountComponent,selectors:[["sf-list-children"]],inputs:{context:"context",minimumLoadingTime:"minimumLoadingTime"},decls:6,vars:2,consts:[["class","sf-row -align-items-center",4,"ngIf"],[4,"ngIf"],["multipleChildren",""],["onlyOneChild",""],[1,"sf-row","-align-items-center"],[4,"ngFor","ngForOf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["name","circle","look","sf-pl-2xs sf-pr-2xs black size-7xs",4,"ngIf"],["name","circle","look","sf-pl-2xs sf-pr-2xs black size-7xs"],["look","inline"],["tabindex","0",3,"click","keyup.enter"]],template:function ListChildrenCountComponent_Template(e,t){1&e&&(c["ɵɵtemplate"](0,ListChildrenCountComponent_div_0_Template,3,3,"div",0),c["ɵɵtemplate"](1,ListChildrenCountComponent_div_1_Template,2,0,"div",1),c["ɵɵtemplate"](2,ListChildrenCountComponent_ng_template_2_Template,2,4,"ng-template",null,2,c["ɵɵtemplateRefExtractor"]),c["ɵɵtemplate"](4,ListChildrenCountComponent_ng_template_4_Template,2,4,"ng-template",null,3,c["ɵɵtemplateRefExtractor"])),2&e&&(c["ɵɵproperty"]("ngIf",!t.isLoading),c["ɵɵadvance"](1),c["ɵɵproperty"]("ngIf",t.isLoading))},directives:[d.NgIf,d.NgForOf,d.NgTemplateOutlet,p.SfIconComponent,p.SfLoaderComponent],pipes:[d.AsyncPipe,d.LowerCasePipe],encapsulation:2}),ListChildrenCountComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PageViewComponent",(function(){return A}));n(263);var o=n(244),i=n(246),r=n(229),a=n(261),s=n(354);function PageViewComponent_a_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"a",1),r["ɵɵlistener"]("click",(function PageViewComponent_a_0_Template_a_click_0_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onClickHandler()})),r["ɵɵelement"](1,"sf-icon",2),r["ɵɵtext"](2," View"),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("href",o.viewUrl,r["ɵɵsanitizeUrl"])}}var A=function(){function PageViewComponent(e){this.window=e,this.isViewLinkVisible=!1}return PageViewComponent.prototype.ngOnInit=function(){this.context&&this.context.dataItem&&(!this.context.dataItem.isTranslated||this.context.dataItem.data&&"Group"===this.context.dataItem.data.PageType?this.isViewLinkVisible=!1:(this.isViewLinkVisible=!0,this.viewUrl=this.context.dataItem.data.ViewUrl))},PageViewComponent.prototype.onClickHandler=function(){this.window.open(this.viewUrl,i.NEW_TAB_TARGET)},PageViewComponent.ɵfac=function PageViewComponent_Factory(e){return new(e||PageViewComponent)(r["ɵɵdirectiveInject"](o.WINDOW_TOKEN))},PageViewComponent.ɵcmp=r["ɵɵdefineComponent"]({type:PageViewComponent,selectors:[["ng-component"]],decls:1,vars:1,consts:[["target","_blank",3,"href","click",4,"ngIf"],["target","_blank",3,"href","click"],["name","external-link","look","size-s color-inherit"]],template:function PageViewComponent_Template(e,t){1&e&&r["ɵɵtemplate"](0,PageViewComponent_a_0_Template,3,1,"a",0),2&e&&r["ɵɵproperty"]("ngIf",t.isViewLinkVisible)},directives:[a.NgIf,s.SfIconComponent],encapsulation:2}),PageViewComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CreateChildComponent",(function(){return A}));var o=n(229),i=n(269),r=n(1180),a=n(354),s=n(261),A=function(){function CreateChildComponent(e){this.metadata=e,this.onClick=new o.EventEmitter}return CreateChildComponent.prototype.ngOnInit=function(){var e=this,t=this.context.dataItem.metadata.setName;this.metadata.initialize().subscribe((function(n){var o=n.entities[t];o&&o.hasChildren&&1===o.children.length&&(e.childSetName=o.children[0],e.childTypeName=n.entities[e.childSetName].singularName)}))},CreateChildComponent.prototype.onCreateClick=function(){this.onClick.emit(this.childSetName),this.context.invoker.invoke({name:r.COMMAND_NAMES.createChild,data:{childSetName:this.childSetName,dataItem:this.context.dataItem}})},CreateChildComponent.ɵfac=function CreateChildComponent_Factory(e){return new(e||CreateChildComponent)(o["ɵɵdirectiveInject"](i.MetadataStore))},CreateChildComponent.ɵcmp=o["ɵɵdefineComponent"]({type:CreateChildComponent,selectors:[["sf-create-child"]],inputs:{context:"context"},outputs:{onClick:"onClick"},decls:4,vars:3,consts:[["tabindex","0",3,"click","keyup.enter"],["name","plus-circle","look","size-xs color-inherit"]],template:function CreateChildComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"a",0),o["ɵɵlistener"]("click",(function CreateChildComponent_Template_a_click_0_listener(){return t.onCreateClick()}))("keyup.enter",(function CreateChildComponent_Template_a_keyup_enter_0_listener(){return t.onCreateClick()})),o["ɵɵelement"](1,"sf-icon",1),o["ɵɵtext"](2),o["ɵɵpipe"](3,"lowercase"),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵadvance"](2),o["ɵɵtextInterpolate1"](" New ",o["ɵɵpipeBind1"](3,1,t.childTypeName),"\n"))},directives:[a.SfIconComponent],pipes:[s.LowerCasePipe],encapsulation:2}),CreateChildComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MAX_ITEMS_COUNT",(function(){return f})),n.d(t,"ListChildrenItemsComponent",(function(){return u}));var o=n(11),i=n(269),r=(n(263),n(316)),a=n(318),s=n(1180),A=n(262),l=n(229),c=n(261),d=n(354),p=n(417);function ListChildrenItemsComponent_div_0_ng_container_1_Template(e,t){1&e&&l["ɵɵelementContainer"](0)}function ListChildrenItemsComponent_div_0_Template(e,t){if(1&e&&(l["ɵɵelementStart"](0,"div",4),l["ɵɵtemplate"](1,ListChildrenItemsComponent_div_0_ng_container_1_Template,1,0,"ng-container",5),l["ɵɵelementEnd"]()),2&e){var n=l["ɵɵnextContext"](),o=l["ɵɵreference"](3),i=l["ɵɵreference"](5);l["ɵɵadvance"](1),l["ɵɵproperty"]("ngTemplateOutlet",n.childrenItems.length?o:i)}}function ListChildrenItemsComponent_div_1_Template(e,t){1&e&&(l["ɵɵelementStart"](0,"div"),l["ɵɵelement"](1,"sf-loader",6),l["ɵɵelementEnd"]())}function ListChildrenItemsComponent_ng_template_2_sf_badge_2_Template(e,t){if(1&e){var n=l["ɵɵgetCurrentView"]();l["ɵɵelementStart"](0,"sf-badge",9),l["ɵɵlistener"]("click",(function ListChildrenItemsComponent_ng_template_2_sf_badge_2_Template_sf_badge_click_0_listener(){l["ɵɵrestoreView"](n);var e=l["ɵɵnextContext"](2);return e.onClick(e.item)})),l["ɵɵelementEnd"]()}if(2&e){var o=l["ɵɵnextContext"](2);l["ɵɵproperty"]("content",o.badgeContent)}}function ListChildrenItemsComponent_ng_template_2_Template(e,t){if(1&e&&(l["ɵɵelementContainerStart"](0),l["ɵɵelement"](1,"sf-chips",7),l["ɵɵtemplate"](2,ListChildrenItemsComponent_ng_template_2_sf_badge_2_Template,1,1,"sf-badge",8),l["ɵɵelementContainerEnd"]()),2&e){var n=l["ɵɵnextContext"]();l["ɵɵadvance"](1),l["ɵɵproperty"]("isLoading",n.childrenItems.length)("selectedChips",n.childrenItems)("isReadOnly",!0),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngIf",n.badgeContent)}}function ListChildrenItemsComponent_ng_template_4_Template(e,t){1&e&&(l["ɵɵelementStart"](0,"span",10),l["ɵɵtext"](1,"No items"),l["ɵɵelementEnd"]())}var f=3,u=function(){function ListChildrenItemsComponent(e,t){this.metadata=e,this.dynamicItemService=t,this.isLoading=!1,this.childrenItems=[],this.badgeContent=""}return ListChildrenItemsComponent.prototype.ngOnInit=function(){var e=this;this.isLoading=!0,this.metadata.initialize().subscribe((function(t){var n=Object(o.timer)(A.LOADING_TIME),i=t.entities[e.context.dataItem.childSetName];if(i){var r=e.getLoadItemsData(i),a=e.dynamicItemService.getItemList(r);Object(o.zip)(n,a).subscribe((function(t){var n=t[1];e.childrenItems=[],n.dataItems.forEach((function(t){e.childrenItems.push(t.data)})),n.totalCount>f&&(e.badgeContent="+"+(n.totalCount-f)),e.isLoading=!1}))}}))},ListChildrenItemsComponent.prototype.onClick=function(){this.context.invoker.invoke({name:s.COMMAND_NAMES.childNavigate,data:{childSetName:this.context.dataItem.childSetName,dataItem:this.context.dataItem}})},ListChildrenItemsComponent.prototype.getLoadItemsData=function(e){return{entityData:{metadata:e,provider:this.context.dataItem.provider,culture:this.context.dataItem.culture},filter:[{key:e.parentIdProperty,value:[this.context.dataItem.data.Id],operation:a.Operation.eq}],take:f,fallbackProperties:[e.defaultFieldName]}},ListChildrenItemsComponent.ɵfac=function ListChildrenItemsComponent_Factory(e){return new(e||ListChildrenItemsComponent)(l["ɵɵdirectiveInject"](i.MetadataStore),l["ɵɵdirectiveInject"](r.DynamicItemService))},ListChildrenItemsComponent.ɵcmp=l["ɵɵdefineComponent"]({type:ListChildrenItemsComponent,selectors:[["sf-list-children-items"]],decls:6,vars:2,consts:[["class","sf-row -align-items-center",4,"ngIf"],[4,"ngIf"],["hasChildren",""],["noChildren",""],[1,"sf-row","-align-items-center"],[4,"ngTemplateOutlet"],["look","inline"],[3,"isLoading","selectedChips","isReadOnly"],["class","-align-self-start","look","size-xl sf-txt-small hover add",3,"content","click",4,"ngIf"],["look","size-xl sf-txt-small hover add",1,"-align-self-start",3,"content","click"],[1,"-sf-txt-hint"]],template:function ListChildrenItemsComponent_Template(e,t){1&e&&(l["ɵɵtemplate"](0,ListChildrenItemsComponent_div_0_Template,2,1,"div",0),l["ɵɵtemplate"](1,ListChildrenItemsComponent_div_1_Template,2,0,"div",1),l["ɵɵtemplate"](2,ListChildrenItemsComponent_ng_template_2_Template,3,4,"ng-template",null,2,l["ɵɵtemplateRefExtractor"]),l["ɵɵtemplate"](4,ListChildrenItemsComponent_ng_template_4_Template,2,0,"ng-template",null,3,l["ɵɵtemplateRefExtractor"])),2&e&&(l["ɵɵproperty"]("ngIf",!t.isLoading),l["ɵɵadvance"](1),l["ɵɵproperty"]("ngIf",t.isLoading))},directives:[c.NgIf,c.NgTemplateOutlet,d.SfLoaderComponent,p.ChipsComponent,d.SfBadgeComponent],encapsulation:2}),ListChildrenItemsComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"LetterMarkComponent",(function(){return r}));var o=n(1815),i=n(229),r=function(){function LetterMarkComponent(e){this.store=e}return LetterMarkComponent.prototype.ngOnInit=function(){this.letter=this.initLetter(this.context.dataItem.title)},LetterMarkComponent.prototype.ngOnDestroy=function(){this.store.clear()},LetterMarkComponent.prototype.initLetter=function(e){return this.store.addLetter(e.charAt(0).toUpperCase())},LetterMarkComponent.ɵfac=function LetterMarkComponent_Factory(e){return new(e||LetterMarkComponent)(i["ɵɵdirectiveInject"](o.LetterMarkStore))},LetterMarkComponent.ɵcmp=i["ɵɵdefineComponent"]({type:LetterMarkComponent,selectors:[["sf-letter-mark"]],inputs:{context:"context"},decls:1,vars:1,template:function LetterMarkComponent_Template(e,t){1&e&&i["ɵɵtext"](0),2&e&&i["ɵɵtextInterpolate"](t.letter)},encapsulation:2}),LetterMarkComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"LetterMarkStore",(function(){return r}));var o=n(246),i=n(229),r=function(){function LetterMarkStore(){this.cache=[]}return LetterMarkStore.prototype.hasLetter=function(e){return this.cache.indexOf(e)>-1},LetterMarkStore.prototype.addLetter=function(e){return this.hasLetter(e)?o.stringConstants.EMPTY_STRING:(this.cache.push(e),e)},LetterMarkStore.prototype.clear=function(){this.cache.length&&(this.cache=[])},LetterMarkStore.ɵfac=function LetterMarkStore_Factory(e){return new(e||LetterMarkStore)},LetterMarkStore.ɵprov=i["ɵɵdefineInjectable"]({token:LetterMarkStore,factory:LetterMarkStore.ɵfac}),LetterMarkStore}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FileDimSizeComponent",(function(){return s}));var o=n(246),i=n(326),r=n(229),a=n(261);function FileDimSizeComponent_ng_container_0_div_3_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵtext"](1),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](1),r["ɵɵtextInterpolate2"]("",n.width," X ",n.height,"")}}function FileDimSizeComponent_ng_container_0_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"div"),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵtemplate"](3,FileDimSizeComponent_ng_container_0_div_3_Template,2,2,"div",0),r["ɵɵelementStart"](4,"div"),r["ɵɵtext"](5),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](2),r["ɵɵtextInterpolate"](n.fileExtension),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",!n.isVectorGraphics),r["ɵɵadvance"](2),r["ɵɵtextInterpolate1"]("",n.fileSizeInKb," KB")}}var s=function(){function FileDimSizeComponent(){}return FileDimSizeComponent.prototype.ngOnInit=function(){var e=this.context.dataItem.data,t=e.Extension;t&&(e.MimeType&&e.MimeType===i.MIME_TYPES.SVG&&(this.isVectorGraphics=!0),this.fileExtension=t.replace(".",o.stringConstants.EMPTY_STRING).toUpperCase(),this.width=e.Width,this.height=e.Height,this.fileSizeInKb=Math.round(e.TotalSize/1024))},FileDimSizeComponent.ɵfac=function FileDimSizeComponent_Factory(e){return new(e||FileDimSizeComponent)},FileDimSizeComponent.ɵcmp=r["ɵɵdefineComponent"]({type:FileDimSizeComponent,selectors:[["ng-component"]],inputs:{context:"context"},decls:1,vars:1,consts:[[4,"ngIf"]],template:function FileDimSizeComponent_Template(e,t){1&e&&r["ɵɵtemplate"](0,FileDimSizeComponent_ng_container_0_Template,6,3,"ng-container",0),2&e&&r["ɵɵproperty"]("ngIf",t.context.dataItem.data.Extension)},directives:[a.NgIf],encapsulation:2}),FileDimSizeComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"GridThumbnailComponent",(function(){return l}));var o=n(1387),i=n(246),r=n(229),a=n(261),s=n(1111),A=n(354),_c0=function(e,t,n,o){return{"-wide":e,"-dimmed":t,"-landscape":n,"-smaller":o}};function GridThumbnailComponent_div_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",2),r["ɵɵelementStart"](1,"div",3),r["ɵɵelementStart"](2,"sf-image",4),r["ɵɵlistener"]("loaded",(function GridThumbnailComponent_div_0_Template_sf_image_loaded_2_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onImageLoaded(e)})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction4"](4,_c0,o.isWide,o.isDimmed,o.context.dataItem.metadata.isVideo,!o.context.dataItem.metadata.isVideo)),r["ɵɵadvance"](2),r["ɵɵproperty"]("src",o.context.dataItem.data.ThumbnailUrl)("showErrorMessage",!1)("type",o.context.dataItem.data.MimeType)}}var _c1=function(e,t){return{"-landscape":e,"-smaller":t}};function GridThumbnailComponent_ng_template_1_div_0_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",6),r["ɵɵelement"](1,"sf-icon",7),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵproperty"]("ngClass",r["ɵɵpureFunction2"](2,_c1,n.context.dataItem.metadata.isVideo,!n.context.dataItem.metadata.isVideo)),r["ɵɵadvance"](1),r["ɵɵproperty"]("name",n.thumbnailIcon)}}function GridThumbnailComponent_ng_template_1_Template(e,t){if(1&e&&r["ɵɵtemplate"](0,GridThumbnailComponent_ng_template_1_div_0_Template,2,5,"div",5),2&e){var n=r["ɵɵnextContext"]();r["ɵɵproperty"]("ngIf",n.thumbnailIcon&&n.context.dataItem.metadata.isMedia)}}var l=function(){function GridThumbnailComponent(e){this.gridExtender=e}return GridThumbnailComponent.prototype.ngOnInit=function(){var e=this.context.dataItem.data,t=this.context.dataItem.isTranslated;if(e){this.isDimmed=e.inactive||!t;var n=e.ThumbnailUrl||this.context.dataItem.parentKey===i.stringConstants.DEFAULT_GUID;this.thumbnailIcon=n?null:this.gridExtender.getEmptyScreenIcon(this.context.dataItem)}},GridThumbnailComponent.prototype.onImageLoaded=function(e){var t=e.target;t&&t.naturalWidth>t.naturalHeight&&(this.isWide=!0)},GridThumbnailComponent.ɵfac=function GridThumbnailComponent_Factory(e){return new(e||GridThumbnailComponent)(r["ɵɵdirectiveInject"](o.CompositeGridExtender))},GridThumbnailComponent.ɵcmp=r["ɵɵdefineComponent"]({type:GridThumbnailComponent,selectors:[["ng-component"]],inputs:{context:"context"},decls:3,vars:2,consts:[["class","sf-media sf-placeholder -cropped -no-zindex",3,"ngClass",4,"ngIf","ngIfElse"],["empty",""],[1,"sf-media","sf-placeholder","-cropped","-no-zindex",3,"ngClass"],[1,"-sf-full-height"],["errorIconLook","light size-2xl",1,"sf-placeholder",3,"src","showErrorMessage","type","loaded"],["class","sf-media -no-zindex -empty",3,"ngClass",4,"ngIf"],[1,"sf-media","-no-zindex","-empty",3,"ngClass"],["look","lighter size-3xl sf-mr-zero",3,"name"]],template:function GridThumbnailComponent_Template(e,t){if(1&e&&(r["ɵɵtemplate"](0,GridThumbnailComponent_div_0_Template,3,9,"div",0),r["ɵɵtemplate"](1,GridThumbnailComponent_ng_template_1_Template,1,1,"ng-template",null,1,r["ɵɵtemplateRefExtractor"])),2&e){var n=r["ɵɵreference"](2);r["ɵɵproperty"]("ngIf",t.context.dataItem.data.ThumbnailUrl)("ngIfElse",n)}},directives:[a.NgIf,a.NgClass,s.ImageComponent,A.SfIconComponent],encapsulation:2}),GridThumbnailComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"FileSizeComponent",(function(){return a}));var o=n(246),i=n(229),r=n(261);function FileSizeComponent_div_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.fileExtension)}}function FileSizeComponent_div_1_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate1"]("",n.fileSizeInKb," KB")}}var a=function(){function FileSizeComponent(){this.fileExtension=o.stringConstants.EMPTY_STRING,this.fileSizeInKb=0}return FileSizeComponent.prototype.ngOnInit=function(){var e=this.context.dataItem.data;e.Extension&&(this.fileExtension=e.Extension.replace(".",o.stringConstants.EMPTY_STRING).toUpperCase()),e.TotalSize&&(this.fileSizeInKb=Math.round(e.TotalSize/1024))},FileSizeComponent.ɵfac=function FileSizeComponent_Factory(e){return new(e||FileSizeComponent)},FileSizeComponent.ɵcmp=i["ɵɵdefineComponent"]({type:FileSizeComponent,selectors:[["ng-component"]],inputs:{context:"context"},decls:2,vars:2,consts:[[4,"ngIf"]],template:function FileSizeComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,FileSizeComponent_div_0_Template,2,1,"div",0),i["ɵɵtemplate"](1,FileSizeComponent_div_1_Template,2,1,"div",0)),2&e&&(i["ɵɵproperty"]("ngIf",t.fileExtension),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.fileSizeInKb))},directives:[r.NgIf],encapsulation:2}),FileSizeComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PersonalizedCellComponent",(function(){return l}));var o=n(259),i=n(266),r=n(1806),a=n(229),s=n(261),A=n(354);function PersonalizedCellComponent_ng_container_0_ng_container_5_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementContainerStart"](0),a["ɵɵelement"](1,"sf-icon",3),a["ɵɵelementStart"](2,"a",4),a["ɵɵlistener"]("click",(function PersonalizedCellComponent_ng_container_0_ng_container_5_Template_a_click_2_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"](2).onLinkClick()})),a["ɵɵtext"](3),a["ɵɵelementEnd"](),a["ɵɵelementContainerEnd"]()}if(2&e){var o=a["ɵɵnextContext"](2);a["ɵɵadvance"](2),a["ɵɵproperty"]("href",o.value.Link,a["ɵɵsanitizeUrl"]),a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](o.value.LinkTitle)}}function PersonalizedCellComponent_ng_container_0_Template(e,t){if(1&e&&(a["ɵɵelementContainerStart"](0),a["ɵɵelementStart"](1,"div",1),a["ɵɵelementStart"](2,"div",2),a["ɵɵelementStart"](3,"span"),a["ɵɵtext"](4),a["ɵɵelementEnd"](),a["ɵɵtemplate"](5,PersonalizedCellComponent_ng_container_0_ng_container_5_Template,4,2,"ng-container",0),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementContainerEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](4),a["ɵɵtextInterpolate"](n.value.Description),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",n.value.Link)}}var l=function(e){function PersonalizedCellComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(PersonalizedCellComponent,e),PersonalizedCellComponent.prototype.ngOnInit=function(){this.value={Description:"True"===this.context.dataItem.data[i.Properties.IS_PERSONALIZED]?"Personalized":null,Link:null,LinkTitle:null}},PersonalizedCellComponent.ɵfac=function PersonalizedCellComponent_Factory(e){return c(e||PersonalizedCellComponent)},PersonalizedCellComponent.ɵcmp=a["ɵɵdefineComponent"]({type:PersonalizedCellComponent,selectors:[["ng-component"]],features:[a["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[[4,"ngIf"],[1,"sf-chip"],[1,"sf-chip__content"],["name","circle","look","sf-pl-3xs sf-pr-3xs black size-7xs sf-align-self-center",1,"-sf-txt-vertical-align-middle"],[3,"href","click"]],template:function PersonalizedCellComponent_Template(e,t){1&e&&a["ɵɵtemplate"](0,PersonalizedCellComponent_ng_container_0_Template,6,2,"ng-container",0),2&e&&a["ɵɵproperty"]("ngIf",null==t.value?null:t.value.Description)},directives:[s.NgIf,A.SfIconComponent],encapsulation:2}),PersonalizedCellComponent}(r.MarketingCellComponent),c=a["ɵɵgetInheritedFactory"](l)},function(e,t,n){"use strict";n.r(t),n.d(t,"BasedOnComponent",(function(){return A}));var o=n(1180),i=n(317),r=n(266),a=(n(263),n(229)),s=n(261);function BasedOnComponent_a_0_Template(e,t){if(1&e){var n=a["ɵɵgetCurrentView"]();a["ɵɵelementStart"](0,"a",2),a["ɵɵlistener"]("click",(function BasedOnComponent_a_0_Template_a_click_0_listener(){return a["ɵɵrestoreView"](n),a["ɵɵnextContext"]().onClickHandler()})),a["ɵɵtext"](1),a["ɵɵelementEnd"]()}if(2&e){var o=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](o.link.title)}}function BasedOnComponent_span_1_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"span"),a["ɵɵtext"](1),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.text)}}var A=function(){function BasedOnComponent(){}return BasedOnComponent.prototype.ngOnInit=function(){if(this.context&&this.context.dataItem){var e=this.context.dataItem.data[r.Properties.PARENT_TEMPLATE];e?e.Id?this.link={id:e.Id,title:e.Title}:this.text=e.Title:this.text="Not based on other template"}},BasedOnComponent.prototype.onClickHandler=function(){var e=this.context.invoker,t=this.context.dataItem,n=this.context.dataItem.data[r.Properties.PARENT_TEMPLATE],a={Id:n.Id,Title:n.Title,Renderer:n.Renderer},s=i.DataItem.from(a,t.metadata,t.provider,t.culture);e.invoke({name:o.COMMAND_NAMES.selectionChanged,data:s})},BasedOnComponent.ɵfac=function BasedOnComponent_Factory(e){return new(e||BasedOnComponent)},BasedOnComponent.ɵcmp=a["ɵɵdefineComponent"]({type:BasedOnComponent,selectors:[["sf-based-on"]],decls:2,vars:2,consts:[["target","_blank",3,"click",4,"ngIf"],[4,"ngIf"],["target","_blank",3,"click"]],template:function BasedOnComponent_Template(e,t){1&e&&(a["ɵɵtemplate"](0,BasedOnComponent_a_0_Template,2,1,"a",0),a["ɵɵtemplate"](1,BasedOnComponent_span_1_Template,2,1,"span",1)),2&e&&(a["ɵɵproperty"]("ngIf",t.link),a["ɵɵadvance"](1),a["ɵɵproperty"]("ngIf",t.text))},directives:[s.NgIf],encapsulation:2}),BasedOnComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"AnalyticsModule",(function(){return s}));var o=n(1572),i=n(1097),r=n(261),a=n(229),s=function(){function AnalyticsModule(){}return AnalyticsModule.ɵfac=function AnalyticsModule_Factory(e){return new(e||AnalyticsModule)},AnalyticsModule.ɵmod=a["ɵɵdefineNgModule"]({type:AnalyticsModule}),AnalyticsModule.ɵinj=a["ɵɵdefineInjector"]({providers:[],imports:[[i.FieldsModule,r.CommonModule]]}),AnalyticsModule}();a["ɵɵsetNgModuleScope"](s,{declarations:[o.AnalyticsColumnComponent],imports:[i.FieldsModule,r.CommonModule],exports:[o.AnalyticsColumnComponent]})},function(e,t,n){"use strict";n.r(t),n.d(t,"FilterNotificationComponent",(function(){return f}));var o=n(259),i=n(131),r=n(229),a=n(11),s=n(1193),A=n(264),l=n(260),c=n(262),d=n(261),p=n(354);function FilterNotificationComponent_div_0_ng_container_2_ng_container_6_Template(e,t){1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtext"](1,"result"),r["ɵɵelementContainerEnd"]())}function FilterNotificationComponent_div_0_ng_container_2_ng_container_7_Template(e,t){1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtext"](1,"results"),r["ɵɵelementContainerEnd"]())}function FilterNotificationComponent_div_0_ng_container_2_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"span",5),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"span"),r["ɵɵtext"](4," "),r["ɵɵelementEnd"](),r["ɵɵelementContainerStart"](5,6),r["ɵɵtemplate"](6,FilterNotificationComponent_div_0_ng_container_2_ng_container_6_Template,2,0,"ng-container",7),r["ɵɵtemplate"](7,FilterNotificationComponent_div_0_ng_container_2_ng_container_7_Template,2,0,"ng-container",8),r["ɵɵelementContainerEnd"](),r["ɵɵtext"](8," for "),r["ɵɵelementStart"](9,"strong",9),r["ɵɵtext"](10),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](2),r["ɵɵtextInterpolate"](n.itemsState.totalCount),r["ɵɵadvance"](3),r["ɵɵproperty"]("ngSwitch",n.itemsState.totalCount),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngSwitchCase",1),r["ɵɵadvance"](4),r["ɵɵtextInterpolate"](n.searchValue)}}function FilterNotificationComponent_div_0_ng_container_3_Template(e,t){1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"span",10),r["ɵɵtext"](2,"Custom filter applied"),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]())}function FilterNotificationComponent_div_0_ng_container_4_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵelementStart"](1,"span"),r["ɵɵtext"](2,"Filter "),r["ɵɵelementStart"](3,"strong",11),r["ɵɵtext"](4),r["ɵɵelementEnd"](),r["ɵɵtext"](5," applied"),r["ɵɵelementEnd"](),r["ɵɵelementContainerEnd"]()),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵadvance"](4),r["ɵɵtextInterpolate"](n.predefinedFilter.title)}}function FilterNotificationComponent_div_0_div_5_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",12),r["ɵɵelement"](1,"sf-icon",13),r["ɵɵelementStart"](2,"a",14),r["ɵɵlistener"]("click",(function FilterNotificationComponent_div_0_div_5_Template_a_click_2_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onClearFilter()}))("keyup.enter",(function FilterNotificationComponent_div_0_div_5_Template_a_keyup_enter_2_listener(){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onClearFilter()})),r["ɵɵtext"](3," Clear "),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}}function FilterNotificationComponent_div_0_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",1),r["ɵɵelementStart"](1,"div",2),r["ɵɵtemplate"](2,FilterNotificationComponent_div_0_ng_container_2_Template,11,4,"ng-container",3),r["ɵɵtemplate"](3,FilterNotificationComponent_div_0_ng_container_3_Template,3,0,"ng-container",3),r["ɵɵtemplate"](4,FilterNotificationComponent_div_0_ng_container_4_Template,6,1,"ng-container",3),r["ɵɵelementEnd"](),r["ɵɵtemplate"](5,FilterNotificationComponent_div_0_div_5_Template,4,0,"div",4),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",n.searchValue&&n.itemsState),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.hasCustomFilter),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.predefinedFilter),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",n.searchValue||n.hasCustomFilter||n.predefinedFilter)}}var f=function(e){function FilterNotificationComponent(t,n){var o=e.call(this)||this;return o.filterStore=t,o.route=n,o.clearFilter=new r.EventEmitter,o}return Object(o.__extends)(FilterNotificationComponent,e),FilterNotificationComponent.prototype.ngOnChanges=function(e){var t=this,n=e.entityData,o=e.filterValue;if(o&&!o.currentValue)return this.predefinedFilter=null,void(this.hasCustomFilter=!1);if((n||o)&&this.filterValue&&this.route.snapshot.queryParams[c.FILTER_PARAMS.FILTER]){this.filtersSubscription&&this.filtersSubscription.unsubscribe();var r=this.getEntityFilters(this.entityData).pipe(Object(i.filter)((function(e){return e&&!e.isLoading}))),s=this.filterStore.getDynamicFiltersCache(this.entityData,this.parentId);this.filtersSubscription=Object(a.zip)(r,s).subscribe((function(e){var n=e[0]&&e[0].filters?e[0].filters:[],o=e[1]||[],i=n.concat(o);t.predefinedFilter=i.find((function(e){return e.name===t.filterValue})),t.hasCustomFilter=!t.predefinedFilter})),this.registerSubscription(this.filtersSubscription)}},FilterNotificationComponent.prototype.onClearFilter=function(){this.clearFilter.emit()},FilterNotificationComponent.prototype.getEntityFilters=function(e){return this.filterStore.getPredefinedFilters(e)},FilterNotificationComponent.ɵfac=function FilterNotificationComponent_Factory(e){return new(e||FilterNotificationComponent)(r["ɵɵdirectiveInject"](s.FilterStore),r["ɵɵdirectiveInject"](l.ActivatedRoute))},FilterNotificationComponent.ɵcmp=r["ɵɵdefineComponent"]({type:FilterNotificationComponent,selectors:[["sf-filter-notification"]],inputs:{searchValue:"searchValue",filterValue:"filterValue",entityData:"entityData",itemsState:"itemsState",parentId:"parentId"},outputs:{clearFilter:"clearFilter"},features:[r["ɵɵInheritDefinitionFeature"],r["ɵɵNgOnChangesFeature"]],decls:1,vars:1,consts:[["class","sf-row -adjustable-ellipsis",4,"ngIf"],[1,"sf-row","-adjustable-ellipsis"],[1,"sf-row__col","-truncatable","-sf-overflow-ellipsis"],[4,"ngIf"],["class","sf-row__col -full-width",4,"ngIf"],["data-sftest","searchCount"],[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["data-sftest","searchValue"],["data-sftest","filterValue"],["data-sftest","predefinedFilterValue"],[1,"sf-row__col","-full-width"],["name","circle","look","sf-pl-3xs sf-pr-3xs black size-7xs",1,"-sf-txt-vertical-align-middle"],["tabindex","0","data-sftest","clearFilterButton",3,"click","keyup.enter"]],template:function FilterNotificationComponent_Template(e,t){1&e&&r["ɵɵtemplate"](0,FilterNotificationComponent_div_0_Template,6,4,"div",0),2&e&&r["ɵɵproperty"]("ngIf",t.searchValue&&t.itemsState||t.hasCustomFilter||t.predefinedFilter)},directives:[d.NgIf,d.NgSwitch,d.NgSwitchCase,d.NgSwitchDefault,p.SfIconComponent],encapsulation:2}),FilterNotificationComponent}(A.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"VALUES_TAKE_COUNT",(function(){return d})),n.d(t,"SEARCH_PLACEHOLDER",(function(){return p})),n.d(t,"CustomFilterComponent",(function(){return f}));var o=n(259),i=n(131),r=n(229),a=n(264),s=(n(1687),n(1193)),A=n(246),l=n(417),c=n(261);function CustomFilterComponent_ng_template_5_span_1_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"span",8),r["ɵɵelement"](1,"img",9),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]().$implicit;r["ɵɵadvance"](1),r["ɵɵpropertyInterpolate1"]("alt","",n.title," avatar"),r["ɵɵproperty"]("src",n.userAvatar,r["ɵɵsanitizeUrl"])}}function CustomFilterComponent_ng_template_5_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"span",4),r["ɵɵtemplate"](1,CustomFilterComponent_ng_template_5_span_1_Template,2,2,"span",5),r["ɵɵelementStart"](2,"span",6),r["ɵɵtext"](3),r["ɵɵelementEnd"](),r["ɵɵelementStart"](4,"i",7),r["ɵɵlistener"]("click",(function CustomFilterComponent_ng_template_5_Template_i_click_4_listener(){r["ɵɵrestoreView"](n);var e=t.$implicit;return r["ɵɵnextContext"]().onRemove(e)})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;r["ɵɵclassProp"]("-avatar",o.userAvatar),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.userAvatar),r["ɵɵadvance"](2),r["ɵɵtextInterpolate1"](" ",o.title," ")}}var d=10,p="type to search",f=function(e){function CustomFilterComponent(t){var n=e.call(this)||this;return n.filterStore=t,n.filterValueSelected=new r.EventEmitter,n.valuesLoaded=new r.EventEmitter,n.treeConfig={description:!0,noSelection:!0},n.selectedValues=[],n.dropdownValues=[],n.displayField="title",n.chipsConfig={showRecentLabel:!1,showNoResultsLabel:!0},n}return Object(o.__extends)(CustomFilterComponent,e),CustomFilterComponent.prototype.ngOnInit=function(){var e=A.stringConstants.ELLIPSIS;this.properties&&this.properties.parameters&&this.properties.parameters.contentSingularName&&(e=" "+this.properties.parameters.contentSingularName.toLowerCase()+A.stringConstants.ELLIPSIS);this.chipsConfig.searchPlaceholder=""+p+e},CustomFilterComponent.prototype.ngOnChanges=function(e){var t=this,n=e.filterParams;if(n){var o=n.currentValue;o&&o.length&&this.properties.entityData?(o=Array.from(new Set(o)),this.selectedValuesSubsription&&this.selectedValuesSubsription.unsubscribe(),this.selectedValuesSubsription=this.filterStore.getFilterValues(this.properties.entityData,this.properties.filterName,{keys:o}).pipe(Object(i.catchError)((function(e){return[]}))).subscribe((function(e){t.selectedValues=t.orderFilterValues(o,e.dataItems),t.valuesLoaded.emit(t.properties.filterName)})),this.registerSubscription(this.selectedValuesSubsription)):this.selectedValues=[]}},CustomFilterComponent.prototype.onSelect=function(e){this.selectedValues.findIndex((function(t){return t.key===e.key}))<0&&(this.selectedValues.push(e),this.onFilterChanged(this.properties.filterName,this.selectedValues))},CustomFilterComponent.prototype.onSearch=function(e){var t=this;this.dropdownValues=[];var n=d+this.selectedValues.length;this.valuesSubscription&&this.valuesSubscription.unsubscribe();var o={take:n,search:e?e.trim():e};this.valuesSubscription=this.filterStore.getFilterValues(this.properties.entityData,this.properties.filterName,o).subscribe((function(e){t.dropdownValues=e.dataItems.filter((function(e){return t.selectedValues.findIndex((function(t){return t.key===e.key}))<0})).slice(0,d),e.dataItems.find((function(e){return!!e.userAvatar}))&&(t.treeConfig.avatar=!0)})),this.registerSubscription(this.valuesSubscription)},CustomFilterComponent.prototype.onRemove=function(e){var t=this.selectedValues.findIndex((function(t){return t.key===e.key}));t>-1&&(this.selectedValues.splice(t,1),this.onFilterChanged(this.properties.filterName,this.selectedValues))},CustomFilterComponent.prototype.onFilterChanged=function(e,t){var n={name:e,keys:t.map((function(e){return e.key}))};this.filterValueSelected.emit(n)},CustomFilterComponent.prototype.orderFilterValues=function(e,t){var n=[];return e.forEach((function(e){var o=t.find((function(t){return t.key===e}));o&&n.push(o)})),n},CustomFilterComponent.ɵfac=function CustomFilterComponent_Factory(e){return new(e||CustomFilterComponent)(r["ɵɵdirectiveInject"](s.FilterStore))},CustomFilterComponent.ɵcmp=r["ɵɵdefineComponent"]({type:CustomFilterComponent,selectors:[["sf-custom-filter"]],inputs:{properties:"properties",filterParams:"filterParams"},outputs:{filterValueSelected:"filterValueSelected",valuesLoaded:"valuesLoaded"},features:[r["ɵɵInheritDefinitionFeature"],r["ɵɵNgOnChangesFeature"]],decls:7,vars:15,consts:[[1,"sf-field","-filter","-small"],[1,"sf-field__label"],["displayMode","input",1,"sf-field__content",3,"isSingleSelection","closeOnContentSelect","selectedChips","dropdownChips","chipAddButtonTitle","isLoading","isReadOnly","displayField","treeConfig","isRemovable","config","selectedChipTemplate","selectChip","searchChips","removeChip"],["selectedChipTemplate",""],["data-sftest","filter-chip",1,"sf-chip","-removable"],["class","sf-chip__avatar",4,"ngIf"],[1,"sf-chip__content"],[1,"sf-chip__remove-button","sf-icon","-close","-size-2xs","-black",3,"click"],[1,"sf-chip__avatar"],[1,"sf-chip__image",3,"src","alt"]],template:function CustomFilterComponent_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div",0),r["ɵɵelementStart"](1,"label",1),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"sf-chips",2),r["ɵɵlistener"]("selectChip",(function CustomFilterComponent_Template_sf_chips_selectChip_3_listener(e){return t.onSelect(e)}))("searchChips",(function CustomFilterComponent_Template_sf_chips_searchChips_3_listener(e){return t.onSearch(e)}))("removeChip",(function CustomFilterComponent_Template_sf_chips_removeChip_3_listener(e){return t.onRemove(e)})),r["ɵɵpipe"](4,"lowercase"),r["ɵɵelementEnd"](),r["ɵɵtemplate"](5,CustomFilterComponent_ng_template_5_Template,5,4,"ng-template",null,3,r["ɵɵtemplateRefExtractor"]),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵreference"](6);r["ɵɵadvance"](2),r["ɵɵtextInterpolate"](t.properties.filterTitle),r["ɵɵadvance"](1),r["ɵɵpropertyInterpolate1"]("chipAddButtonTitle","Select ",r["ɵɵpipeBind1"](4,13,t.properties.parameters.contentPluralName),""),r["ɵɵproperty"]("isSingleSelection",!1)("closeOnContentSelect",!0)("selectedChips",t.selectedValues)("dropdownChips",t.dropdownValues)("isLoading",!0)("isReadOnly",!1)("displayField",t.displayField)("treeConfig",t.treeConfig)("isRemovable",!0)("config",t.chipsConfig)("selectedChipTemplate",n)}},directives:[l.ChipsComponent,c.NgIf],pipes:[c.LowerCasePipe],encapsulation:2}),CustomFilterComponent}(a.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentFilterCountComponent",(function(){return h}));var o=n(259),i=n(11),r=n(131),a=n(1193),s=n(264),A=n(262),l=n(1171),c=n(320),d=n(1394),p=n(260),f=n(1063),u=n(319),m=n(229),g=n(261),E=n(354);function ContentFilterCountComponent_span_0_span_2_Template(e,t){if(1&e&&(m["ɵɵelementStart"](0,"span",4),m["ɵɵtext"](1),m["ɵɵelementEnd"]()),2&e){var n=m["ɵɵnextContext"]().$implicit;m["ɵɵadvance"](1),m["ɵɵtextInterpolate1"](" (",n.content.count,") ")}}function ContentFilterCountComponent_span_0_Template(e,t){if(1&e&&(m["ɵɵelementStart"](0,"span",2),m["ɵɵtext"](1),m["ɵɵtemplate"](2,ContentFilterCountComponent_span_0_span_2_Template,2,1,"span",3),m["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=m["ɵɵnextContext"](),i=m["ɵɵreference"](3);m["ɵɵadvance"](1),m["ɵɵtextInterpolate1"](" ",o.filter.title," "),m["ɵɵadvance"](1),m["ɵɵproperty"]("ngIf",!n.isLoading)("ngIfElse",i)}}function ContentFilterCountComponent_ng_template_2_Template(e,t){1&e&&m["ɵɵelement"](0,"sf-loader",5)}var h=function(e){function ContentFilterCountComponent(t,n,o){var r=e.call(this)||this;return r.filterStore=t,r.dynamicItemStore=n,r.route=o,r.filterResult$=new i.ReplaySubject,r.filtersCountResult$=r.filterResult$.pipe(Object(f.delayEmission)(A.LOADING_TIME)),r}return Object(o.__extends)(ContentFilterCountComponent,e),ContentFilterCountComponent.prototype.ngOnInit=function(){var e,t=this,n=0,o=0;this.loadFilterCount(this.filter.name,this.entityData);var a=this.dynamicItemStore.getItemChanges().pipe(Object(r.filter)((function(e){return null!==e.action&&e.action!==c.ActionEvent.ReorderItems&&e.action!==u.OPERATION_NAMES.edit}))).subscribe((function(r){e&&e.unsubscribe(),o++,n=0!==o&&o%d.BULK_BATCH_COUNT==0?5e3:A.DEBOUNCE_TIME,e=Object(i.timer)(n).subscribe((function(){o=0,t.loadFilterCount(t.filter.name,t.entityData)}))}));this.registerSubscription(a);var s=this.loadFiltersCount.pipe(Object(r.skip)(1)).subscribe((function(e){return t.loadFilterCount(t.filter.name,t.entityData)}));this.registerSubscription(s)},Object.defineProperty(ContentFilterCountComponent.prototype,"parentId",{get:function(){return this.route.parent.snapshot.params[A.ROUTE_PARAMS.PARENT_ID_SEGMENT]||null},enumerable:!1,configurable:!0}),ContentFilterCountComponent.prototype.loadFilterCount=function(e,t){var n=this;this.getFiltersSubscription&&this.getFiltersSubscription.unsubscribe();var o=null;this.parentId&&(o={key:t.metadata.parentIdProperty,value:this.parentId}),this.getFiltersSubscription=this.filterStore.getFiltersCount(t,this.filter.name,o).subscribe((function(e){return n.filterResult$.next(e)})),this.registerSubscription(this.getFiltersSubscription)},ContentFilterCountComponent.ɵfac=function ContentFilterCountComponent_Factory(e){return new(e||ContentFilterCountComponent)(m["ɵɵdirectiveInject"](a.FilterStore),m["ɵɵdirectiveInject"](l.DynamicItemStore),m["ɵɵdirectiveInject"](p.ActivatedRoute))},ContentFilterCountComponent.ɵcmp=m["ɵɵdefineComponent"]({type:ContentFilterCountComponent,selectors:[["sf-content-filter-count"]],inputs:{entityData:"entityData",filter:"filter",loadFiltersCount:"loadFiltersCount"},features:[m["ɵɵInheritDefinitionFeature"]],decls:4,vars:3,consts:[["data-sftest","sf-filters-count",4,"ngIf"],["loading",""],["data-sftest","sf-filters-count"],["class","sf-field",4,"ngIf","ngIfElse"],[1,"sf-field"],["look","inline"]],template:function ContentFilterCountComponent_Template(e,t){1&e&&(m["ɵɵtemplate"](0,ContentFilterCountComponent_span_0_Template,3,3,"span",0),m["ɵɵpipe"](1,"async"),m["ɵɵtemplate"](2,ContentFilterCountComponent_ng_template_2_Template,1,0,"ng-template",null,1,m["ɵɵtemplateRefExtractor"])),2&e&&m["ɵɵproperty"]("ngIf",m["ɵɵpipeBind1"](1,1,t.filtersCountResult$))},directives:[g.NgIf,E.SfLoaderComponent],pipes:[g.AsyncPipe],encapsulation:2}),ContentFilterCountComponent}(s.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"NavigationOperationsProvider",(function(){return c})),n.d(t,"NAVIGATION_PROVIDER",(function(){return d}));var o=n(229),i=n(394),r=n(402),a=n(11),s=n(396),A=n(1826),l=n(1152),c=function(){function NavigationOperationsProvider(){}return NavigationOperationsProvider.prototype.getOperations=function(e){return Object(a.of)([])},NavigationOperationsProvider.prototype.getCommands=function(e){var t=[];if(e.target===i.OperationsTarget.List&&e.dataItem.isEmpty&&e.dataItem.metadata.ignoreParentChildRelationship&&e.dataItem.metadata.hasParent&&!e.dataItem.metadata.isMedia){var n=e.dataItem,o=new r.CommandModelBase("navigateToParent");o.token={type:A.ParentNavigateCommand,properties:{route:[l.ROUTE_PATHS.CONTENT,n.metadata.parent]}},o.category="Settings",o.title="Manage "+n.metadata.parent,o.ordinal=-1,t.push(o)}return Object(a.of)(t)},NavigationOperationsProvider.prototype.getCategories=function(e){return Object(a.of)([])},NavigationOperationsProvider.ɵfac=function NavigationOperationsProvider_Factory(e){return new(e||NavigationOperationsProvider)},NavigationOperationsProvider.ɵprov=o["ɵɵdefineInjectable"]({token:NavigationOperationsProvider,factory:NavigationOperationsProvider.ɵfac}),NavigationOperationsProvider}(),d={multi:!0,provide:s.OPERATIONS_TOKEN,useClass:c}},function(e,t,n){"use strict";n.r(t),n.d(t,"ParentNavigateCommand",(function(){return a}));var o=n(260),i=n(1507),r=n(229),a=function(){function ParentNavigateCommand(e){this.router=e}return ParentNavigateCommand.prototype.execute=function(e){var t=this.router.navigate(e.data.route);return Object(i.fromPromise)(t)},ParentNavigateCommand.ɵfac=function ParentNavigateCommand_Factory(e){return new(e||ParentNavigateCommand)(r["ɵɵinject"](o.Router))},ParentNavigateCommand.ɵprov=r["ɵɵdefineInjectable"]({token:ParentNavigateCommand,factory:ParentNavigateCommand.ɵfac}),ParentNavigateCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentGridExtender",(function(){return A})),n.d(t,"CONTENT_GRID_EXTENDER",(function(){return c}));var o=n(259),i=n(229),r=n(11),a=n(1388),s=n(256),A=function(e){function ContentGridExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ContentGridExtender,e),ContentGridExtender.prototype.isSupportedType=function(e){return s.NON_CONTENT_TYPES.indexOf(e.metadata.typeFullName)<0},ContentGridExtender.prototype.getTitle=function(e){var t=e.entityData.metadata,n=t.displayName;if(t.hasParent){var o=e.parentItem.title;n=e.includeChildSet?o+" "+n.toLowerCase():""+o}return Object(r.of)(n)},ContentGridExtender.ɵfac=function ContentGridExtender_Factory(e){return l(e||ContentGridExtender)},ContentGridExtender.ɵprov=i["ɵɵdefineInjectable"]({token:ContentGridExtender,factory:ContentGridExtender.ɵfac}),ContentGridExtender}(a.GridExtenderBase),l=i["ɵɵgetInheritedFactory"](A),c={multi:!0,provide:a.GRID_EXTENDER_TOKEN,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"HierarchicalTaxonomyService",(function(){return d})),n.d(t,"HIERARCHICAL_TAXONOMY_SERVICE",(function(){return p}));var o=n(259),i=n(229),r=n(11),a=n(1189),s=n(262),A=n(314),l=n(331),c=n(268),d=function(e){function HierarchicalTaxonomyService(t){var n=e.call(this)||this;return n.contentFilterService=t,n}return Object(o.__extends)(HierarchicalTaxonomyService,e),HierarchicalTaxonomyService.prototype.showStatusIcons=function(){return!1},HierarchicalTaxonomyService.prototype.isHierarchical=function(e){return e===l.default.HIERARCHY_TAXA},HierarchicalTaxonomyService.prototype.getSetName=function(){return"taxonomies"},HierarchicalTaxonomyService.prototype.isTypeSupported=function(e){return"Taxon"===e.metadata.singularName},HierarchicalTaxonomyService.prototype.getName=function(e,t){return this.dynamicItemService.getItemsByKeys({entityData:e,fallbackProperties:["TaxonName",e.metadata.defaultFieldName],keyProperty:a.ID_KEY,keys:[t]})},HierarchicalTaxonomyService.prototype.getItemTaxa=function(e,t,n){if(e){for(var o=Math.ceil(e.length/50),i=[],s=0,l=1;l<=o;l++){for(var c=Object(A.createQuery)().where().and().eq("TaxonomyId",n).or(),d=Math.min(e.length-s,50),p=0;p1),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.totalFiles>=0&&t.totalFolders>0),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",1==t.totalFolders),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",t.totalFolders>1)}},directives:[i.NgClass,i.NgIf,r.SfIconComponent,r.SfNotificationComponent,i.NgForOf,a.ImageComponent],encapsulation:2}),LibraryPreviewComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"LibrarySelectComponent",(function(){return a}));var o=n(229),i=n(261),r=n(1834);function LibrarySelectComponent_div_0_sf_library_preview_1_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-library-preview",3),o["ɵɵlistener"]("clickLibrary",(function LibrarySelectComponent_div_0_sf_library_preview_1_Template_sf_library_preview_clickLibrary_0_listener(){o["ɵɵrestoreView"](n);var e=t.$implicit;return o["ɵɵnextContext"](2).onClickLibrary(e)}))("selectLibrary",(function LibrarySelectComponent_div_0_sf_library_preview_1_Template_sf_library_preview_selectLibrary_0_listener(){o["ɵɵrestoreView"](n);var e=t.$implicit;return o["ɵɵnextContext"](2).onSelectLibrary(e)})),o["ɵɵelementEnd"]()}if(2&e){var i=t.$implicit,r=o["ɵɵnextContext"](2);o["ɵɵproperty"]("title",i.data.Title)("folders",i.data.Folders)("totalFolders",i.data.TotalFolders)("totalFiles",i.data.TotalItems)("files",i.data.Items)("mediaEntityData",r.mediaEntityData)("selectable",!i.data.disableCheckbox&&r.selectable&&!i.data.failedValidation)("selected",r.isSelected(i))("failedValidation",i.data.failedValidation)}}function LibrarySelectComponent_div_0_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div",1),o["ɵɵtemplate"](1,LibrarySelectComponent_div_0_sf_library_preview_1_Template,1,9,"sf-library-preview",2),o["ɵɵelementEnd"]()),2&e){var n=o["ɵɵnextContext"]();o["ɵɵadvance"](1),o["ɵɵproperty"]("ngForOf",n.libraries)}}var a=function(){function LibrarySelectComponent(){this.selectable=!0,this.value=[],this.clickLibrary=new o.EventEmitter,this.selectLibrary=new o.EventEmitter}return LibrarySelectComponent.prototype.onClickLibrary=function(e){this.clickLibrary.next(e)},LibrarySelectComponent.prototype.onSelectLibrary=function(e){this.selectLibrary.next(e)},LibrarySelectComponent.prototype.isSelected=function(e){return this.value.findIndex((function(t){return t.data.Id===e.data.Id}))>=0},LibrarySelectComponent.ɵfac=function LibrarySelectComponent_Factory(e){return new(e||LibrarySelectComponent)},LibrarySelectComponent.ɵcmp=o["ɵɵdefineComponent"]({type:LibrarySelectComponent,selectors:[["sf-library-select"]],inputs:{libraries:"libraries",mediaEntityData:"mediaEntityData",selectable:"selectable",value:"value"},outputs:{clickLibrary:"clickLibrary",selectLibrary:"selectLibrary"},decls:1,vars:1,consts:[["class","sf-grid -albums -gap-col-m -gap-row-5xl -sf-mb-2xs","role","list",4,"ngIf"],["role","list",1,"sf-grid","-albums","-gap-col-m","-gap-row-5xl","-sf-mb-2xs"],["role","listitem",3,"title","folders","totalFolders","totalFiles","files","mediaEntityData","selectable","selected","failedValidation","clickLibrary","selectLibrary",4,"ngFor","ngForOf"],["role","listitem",3,"title","folders","totalFolders","totalFiles","files","mediaEntityData","selectable","selected","failedValidation","clickLibrary","selectLibrary"]],template:function LibrarySelectComponent_Template(e,t){1&e&&o["ɵɵtemplate"](0,LibrarySelectComponent_div_0_Template,2,1,"div",0),2&e&&o["ɵɵproperty"]("ngIf",t.libraries&&t.libraries.length)},directives:[i.NgIf,i.NgForOf,r.LibraryPreviewComponent],encapsulation:2}),LibrarySelectComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SelectedFileListComponent",(function(){return c}));var o=n(229),i=n(1228),r=n(1114),a=n(245),s=n(261),A=n(1113),l=["wrapper"];function SelectedFileListComponent_div_2_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",0),o["ɵɵelementStart"](1,"sf-thumbnail",3),o["ɵɵlistener"]("removeButtonClicked",(function SelectedFileListComponent_div_2_Template_sf_thumbnail_removeButtonClicked_1_listener(){o["ɵɵrestoreView"](n);var e=t.$implicit;return o["ɵɵnextContext"]().onFileRemoveClick(e)})),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()}if(2&e){var i=t.$implicit,r=t.index,a=o["ɵɵnextContext"]();o["ɵɵstyleProp"]("left",a.mediaEntityData.metadata.isMultimedia?a.layout.boxes[r].left:null,"px")("top",a.mediaEntityData.metadata.isMultimedia?a.layout.boxes[r].top:null,"px")("width",a.mediaEntityData.metadata.isMultimedia?a.layout.boxes[r].width:null,"px")("height",a.mediaEntityData.metadata.isMultimedia?a.layout.boxes[r].height+"px":"auto"),o["ɵɵproperty"]("ngClass",a.mediaEntityData.metadata.isMultimedia?"sf-flickr-gallery__item":"-sf-m-2xs"),o["ɵɵadvance"](1),o["ɵɵproperty"]("showRemoveButton",!0)("showRemoveButtonAlways",!0)("removeButtonAreaLabel","Remove "+i.data.Title)("selectable",!1)("alt",i.data.AlternativeText||i.data.Title)("width",i.data.Width||a.DEFAULT_THUMBNAIL_WIDTH)("height",i.data.Height||a.DEFAULT_THUMBNAIL_HEIGHT)("title",i.data.Title)("library",null==i.data.Parent?null:i.data.Parent.Title)("status",i.data.DisplayStatus)("extension",i.data.Extension)("type",i.data.MimeType)("src",i.data[a.previewUrl]||a.DEFAULT_THUMBNAIL_SRC)("size",i.data.TotalSize)("isMultimedia",a.mediaEntityData.metadata.isMultimedia)("isTranslated",i.data.isTranslated)("customThumbnailUrl",i.data.ThumbnailUrl)}}var c=function(){function SelectedFileListComponent(e,t){this.layoutService=e,this.mediaRecognizerService=t,this.DEFAULT_THUMBNAIL_WIDTH=50,this.DEFAULT_THUMBNAIL_HEIGHT=50,this.DEFAULT_THUMBNAIL_SRC="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",this.remove=new o.EventEmitter}return Object.defineProperty(SelectedFileListComponent.prototype,"files",{get:function(){return this._files},set:function(e){this._files=e,this.recalculateLayouts()},enumerable:!1,configurable:!0}),SelectedFileListComponent.prototype.ngOnInit=function(){this.mediaEntityData&&this.mediaEntityData.metadata.setName&&(this.previewUrl=this.mediaRecognizerService.getPreviewUrlProperty(this.mediaEntityData.metadata.setName)),this.recalculateLayouts()},SelectedFileListComponent.prototype.onFileRemoveClick=function(e){this.remove.next(e),this.recalculateLayouts()},SelectedFileListComponent.prototype.recalculateLayouts=function(){var e,t,n=i.DEFAULT_BOX_HEIGHT;(null===(e=this.mediaEntityData)||void 0===e?void 0:e.metadata.isMultimedia)||(n=i.DOCUMENT_ROW_HEIGHT);var o=this.wrapper.nativeElement.offsetWidth;this.layout=this.layoutService.layout(this.files.map((function(e){return Object(a.cloneObject)(e.data)})),o,n,i.DEFAULT_BOX_SPACING,Number.POSITIVE_INFINITY,null===(t=this.mediaEntityData)||void 0===t?void 0:t.metadata)},SelectedFileListComponent.ɵfac=function SelectedFileListComponent_Factory(e){return new(e||SelectedFileListComponent)(o["ɵɵdirectiveInject"](i.LayoutService),o["ɵɵdirectiveInject"](r.MediaRecognizerService))},SelectedFileListComponent.ɵcmp=o["ɵɵdefineComponent"]({type:SelectedFileListComponent,selectors:[["sf-selected-file-list"]],viewQuery:function SelectedFileListComponent_Query(e,t){if(1&e&&o["ɵɵviewQuery"](l,3),2&e){var n;o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.wrapper=n.first)}},hostBindings:function SelectedFileListComponent_HostBindings(e,t){1&e&&o["ɵɵlistener"]("resize",(function SelectedFileListComponent_resize_HostBindingHandler(){return t.recalculateLayouts()}),!1,o["ɵɵresolveWindow"])},inputs:{mediaEntityData:"mediaEntityData",files:"files"},outputs:{remove:"remove"},decls:3,vars:4,consts:[[3,"ngClass"],["wrapper",""],[3,"ngClass","left","top","width","height",4,"ngFor","ngForOf"],["look","stretched",3,"showRemoveButton","showRemoveButtonAlways","removeButtonAreaLabel","selectable","alt","width","height","title","library","status","extension","type","src","size","isMultimedia","isTranslated","customThumbnailUrl","removeButtonClicked"]],template:function SelectedFileListComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",0,1),o["ɵɵtemplate"](2,SelectedFileListComponent_div_2_Template,2,26,"div",2),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵstyleProp"]("height",t.mediaEntityData.metadata.isMultimedia?t.layout.containerHeight:null,"px"),o["ɵɵproperty"]("ngClass",t.mediaEntityData.metadata.isMultimedia?"sf-flickr-gallery":"sf-row"),o["ɵɵadvance"](2),o["ɵɵproperty"]("ngForOf",t.files))},directives:[s.NgClass,s.NgForOf,A.ThumbnailComponent],encapsulation:2}),SelectedFileListComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaEntityDataResolver",(function(){return l})),n.d(t,"MEDIA_ENTITY_DATA_PROVIDER",(function(){return d}));var o=n(259),i=n(1160),r=n(262),a=n(256),s=n(229),A=n(326),l=function(e){function MediaEntityDataResolver(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(MediaEntityDataResolver,e),MediaEntityDataResolver.prototype.resolve=function(e,t,n,o){var i=e.params[r.ROUTE_PARAMS.TYPE_NAME_SEGMENT]||e.parent.params[r.ROUTE_PARAMS.TYPE_NAME_SEGMENT],a=this.shouldResolveChildEntity(e)?A.MediaHelpers.resolveMediaSetName(i):A.MediaHelpers.resolveLibrarySetName(i);return{culture:n,provider:o,metadata:t.entities[a]}},MediaEntityDataResolver.prototype.canResolve=function(e){return e===a.ENTITY_SET.IMAGES||e===a.ENTITY_SET.DOCUMENTS||e===a.ENTITY_SET.VIDEOS},MediaEntityDataResolver.prototype.shouldResolveChildEntity=function(e){var t=e.params[r.ROUTE_PARAMS.ITEM_ID]||e.params[r.ROUTE_PARAMS.EDIT_SEGMENT];return!!e.queryParams[r.FILTER_PARAMS.SEARCH]||(!!t||!!e.params[r.ROUTE_PARAMS.CHILD_SET_SEGMENT])},MediaEntityDataResolver.ɵfac=function MediaEntityDataResolver_Factory(e){return c(e||MediaEntityDataResolver)},MediaEntityDataResolver.ɵprov=s["ɵɵdefineInjectable"]({token:MediaEntityDataResolver,factory:MediaEntityDataResolver.ɵfac}),MediaEntityDataResolver}(i.EntityDataResolver),c=s["ɵɵgetInheritedFactory"](l),d={provide:i.EntityDataResolver,useClass:l,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaGridExtender",(function(){return ne})),n.d(t,"MEDIA_GRID_EXTENDER",(function(){return oe}));var o,i=n(259),r=n(229),a=n(1388),s=n(317),A=n(256),l=n(11),c=n(1207),d=n(1173),p=n(131),f=n(319),u=n(269),m=n(1839),g=n(326),E=n(260),h=n(1390),b=n(272),C=n(1195),B=n(1063),k=n(262),I=n(245),v=n(1389),w=n(1840),_=n(1118),x=n(1842),y=n(266),S=n(271),T=n(1213),M=n(246),D=n(1507),Q=n(1844),N=n(1208),R=n(1605),F=n(1234),O=n(1846),P=n(1847),U=n(1584),L=n(1134),z=n(1222),G=n(1177),H=n(1174),j=n(327),Y=n(1848),V=n(1225),J=n(1171),W=n(268),K=n(1397),X=n(1223),q=n(295),Z=n(310),$=n(1849),ee="Library",te="Libraries";!function(e){e.List="th-list",e.Thumbs="picture-o",e.Timeline="calendar"}(o||(o={}));var ne=function(e){function MediaGridExtender(t,n,o,i,r,a,s,A,c,d,p,f,u,m,g,E,h){var b=e.call(this,g,i,a,f,s,E,r,u)||this;return b.metadataStore=t,b.storageService=n,b.userStore=o,b.mediaService=A,b.router=c,b.longRunningTasksService=d,b.eventsService=p,b.compositeDataExtender=m,b.appStore=h,b.subscriptions=[],b.sliderComponent$=new l.ReplaySubject(1),b}return Object(i.__extends)(MediaGridExtender,e),MediaGridExtender.prototype.getSettingsSidebarSections=function(t,n){var o=this,i=e.prototype.getSettingsSidebarSections.call(this,t,n),r=Object(l.of)([]);return r=t.pipe(Object(p.distinctUntilChanged)((function(e,t){return Object(I.compareOperationArrays)(e,t)})),Object(p.map)((function(e){if(g.MediaHelpers.isDocumentEntity(n)||g.MediaHelpers.isDocumentLibraryEntity(n))return[];var t=e.filter((function(e){return e.Category.Name===f.OPERATION_CATEGORIES.librariesGridView}));return t.length>0?o.getSidebarViewList(t):[]}))),Object(l.combineLatest)([i,r]).pipe(Object(p.map)((function(e){var t=[];return e.forEach((function(e){return t.push.apply(t,e)})),t})))},MediaGridExtender.prototype.getNavigationComponentData=function(e,t){return{type:m.BreadcrumbNavigationComponent,properties:{entityData:t.entityData,parentItem:t.parentItem},updatePropertiesOnChange:!0}},MediaGridExtender.prototype.openEditItemInDialog=function(e){return!!g.MediaHelpers.isLibrary(e.metadata.setName)||e.isEmpty},MediaGridExtender.prototype.shouldReloadItemsAfterEdit=function(t,n){var o=e.prototype.shouldReloadItemsAfterEdit.call(this,t,n),i=n.forceReload&&n.success&&n.dataItem.metadata.isMedia&&n.dataItem.isEmpty;return{reloadGrid:o.reloadGrid||i,reloadTasks:g.MediaHelpers.isLibrary(t.dataItem.metadata.setName)}},MediaGridExtender.prototype.shouldReloadItemsOnViewModeChanged=function(e,t){var n=this.getPresenterTemplate(t),o=n!==e,i=e===I.GridViewModes.Thumbs||n===I.GridViewModes.Timeline||e===I.GridViewModes.Timeline;return o&&i},MediaGridExtender.prototype.getParentSetName=function(e){switch(g.MediaHelpers.getParentSetName(e).toString(),e.metadata.setName){case A.ENTITY_SET.DOCUMENTS:case A.ENTITY_SET.DOCUMENT_LIBRARIES:return A.ENTITY_SET.DOCUMENTS;case A.ENTITY_SET.VIDEOS:case A.ENTITY_SET.VIDEO_LIBRARIES:return A.ENTITY_SET.VIDEOS;default:return A.ENTITY_SET.IMAGES}},MediaGridExtender.prototype.getSingleItemName=function(e){var t=e.entityData,n=g.MediaHelpers.isLibrary(t.metadata.setName)?ee:this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(t)).singularName,o="item";return!this.getSearchTerm(e.route.snapshot.queryParams)&&g.MediaHelpers.isLibrary(t.metadata.setName)&&(o=ee),Object(l.of)({primary:n,secondary:o})},MediaGridExtender.prototype.getPluralItemName=function(e){var t=e.entityData,n=g.MediaHelpers.isLibrary(t.metadata.setName)?te:this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(t)).displayName,o="items";return!this.getSearchTerm(e.route.snapshot.queryParams)&&g.MediaHelpers.isLibrary(t.metadata.setName)&&(o=te),Object(l.of)({primary:n,secondary:o})},MediaGridExtender.prototype.getSidebarsExternalKeys=function(e){var t=e.metadata;return t.hasParent?[t.parent,t.setName]:[t.setName,t.children[0]]},MediaGridExtender.prototype.reloadItems=function(e,t,n,o,i){var r=Object(I.cloneObject)(e);return r&&!r[k.QUERY_PARAMS.SORT]&&o&&(r[k.QUERY_PARAMS.SORT]=o),g.MediaHelpers.isLibrary(n.metadata.setName)||!t?this.loadRootGridView(n,r):this.loadChildGrid(n,t,i,r)},MediaGridExtender.prototype.shouldNavigateToChildGrid=function(e){return g.MediaHelpers.isFolderItem(e.data)},MediaGridExtender.prototype.getTitle=function(t){return g.MediaHelpers.isAlbumEntity(t.entityData)||g.MediaHelpers.isFolderEntity(t.entityData)&&t.parentItem&&g.MediaHelpers.isAlbumEntity(t.parentItem)?Object(l.of)("Images"):g.MediaHelpers.isDocumentLibraryEntity(t.entityData)||g.MediaHelpers.isFolderEntity(t.entityData)&&t.parentItem&&g.MediaHelpers.isDocumentLibraryEntity(t.parentItem)?Object(l.of)("Documents"):g.MediaHelpers.isVideosLibraryEntity(t.entityData)||g.MediaHelpers.isFolderEntity(t.entityData)&&t.parentItem&&g.MediaHelpers.isVideosLibraryEntity(t.parentItem)?Object(l.of)("Videos"):g.MediaHelpers.isDocumentEntity(t.entityData)&&!t.includeChildSet&&t.parentItem?Object(l.of)(t.parentItem.title):e.prototype.getTitle.call(this,t)},MediaGridExtender.prototype.disableSelectAll=function(e,t){return this.getPresenterTemplate(t)===I.GridViewModes.Timeline||this.isHierarchical(e)},MediaGridExtender.prototype.isSupportedType=function(e){return g.MediaHelpers.isLibraryOrMedia(e.metadata.setName)},MediaGridExtender.prototype.getCustomSidebars=function(e){var t=this,n=new F.HierarchicalLibrariesService;n.init(this.dynamicItemStore.service);var o={currentRoot$:new l.ReplaySubject(1),currentLevelItems$:new l.ReplaySubject(1),backButtonTitle$:new l.ReplaySubject(1),hasBackNavigation$:new l.ReplaySubject(1),allItemsLoading$:new l.ReplaySubject(1),currentRootTitle$:new l.ReplaySubject(1),sidebarHelpers:null},i={title:this.getQuickNavigationSidebarTitle(e.entityData,null),icon:"sitemap",data:{type:P.LibrariesNavigationSidebarComponent,title:null,updatePropertiesOnChange:!0,properties:o},name:O.LIBRARIES_NAVIGATION_SIDEBAR,look:R.DEFAULT_SIDEBAR_BUTTON_LOOK,position:0,useSlider:!0,hideTitle:!0},r=this.getLibraryMetadata(g.MediaHelpers.getParentSetName(e.entityData),e.entityData.culture,e.entityData.provider);this.clearSubscriptions(),this.subscriptions.push(this.eventsService.subscribe(U.SidebarSliderInitialized,(function(e){e.data.instance.firstWindowComponentData?e.data.instance.firstWindowComponentData=i.data:e.data.instance.secondWindowComponentData=i.data,t.sliderComponent$.next(e.data.instance)})));var a=this.sliderComponent$,s=new O.LibrariresNavigationSidebarHelpers(i,n,r.libraryMetadata,r.mediaMetadata,this.router,a,this.sortService);return o.sidebarHelpers=s,this.handleQueryParamsChangesForHiearchySidebar(s,e),this.handleParentChangeForHierarchySidebar(e,s,a),this.handleOperationCompletedForHierarchySidebar(e,s,a),e.parent$.pipe(Object(p.first)()).subscribe((function(e){s.getGrandparent(e).pipe(Object(p.first)()).subscribe((function(t){o.hasBackNavigation$.next(s.hasBackNavigation(e)),o.backButtonTitle$.next(s.getSidebarBackButtonTitle(e,t))}))})),Object(l.of)([i])},MediaGridExtender.prototype.loadMore=function(e){var t=this,n=Object(I.cloneObject)(e.route.snapshot.queryParams);n&&!n[k.QUERY_PARAMS.SORT]&&e.order&&(n[k.QUERY_PARAMS.SORT]=e.order);var o={metadata:this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(e.entityData)),culture:e.entityData.culture,provider:e.entityData.provider},r=e.entityData;if(this.getPresenterTemplate(r)===I.GridViewModes.Timeline){r=o;var a=new l.ReplaySubject(1);return this.appStore.pipe($.MEDIA_SELECTORS.filesData).pipe(Object(p.take)(1)).subscribe((function(o){var i=o.items,A=s.DataItem.emptyItem(r);t.mediaService.getMediaForLibrary(A,e.parentId,i.length,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,null,[],n,!0,void 0,e.executedSearchParameter).pipe(Object(B.toLoadingState)(),Object(p.map)((function(n){if(n.isLoading){var o=t.createLoadingState(c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,e.currentState.totalCount,e.currentState.dataItems);a.next(o)}else{var s=i.concat(n.content.dataItems);t.appStore.dispatch(Z.MEDIA_ACTIONS.setFiles({files:s,totalFiles:n.content.totalCount}));var A=t.createState(n.content.dataItems,n.content.totalCount,e.currentState.dataItems,r);a.next(A)}}))).subscribe()})),a}var A=!e.parentId||e.parentId===M.stringConstants.DEFAULT_GUID;if(A&&e.executedSearchParameter)return this.loadMoreRootListAndThumbs(e,n,o);var d=this.appStore.pipe($.MEDIA_SELECTORS.foldersData),f=this.appStore.pipe($.MEDIA_SELECTORS.filesData),u=new l.ReplaySubject(1);return Object(l.zip)(d,f).pipe(Object(p.take)(1),Object(p.map)((function(a){if(A)t.mediaService.getFolders(r,null,!1,!1,a[0].items.length,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,null,e.executedSearchParameter,n,void 0,void 0,!0,void 0).pipe(Object(B.toLoadingState)(),Object(p.map)((function(n){if(n.isLoading){var o=t.createLoadingState(c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,e.currentState.totalCount,e.currentState.dataItems);u.next(o)}else{var i=n.content.dataItems.concat(a[0].items),s=a[0].totalCount;t.appStore.dispatch(Z.MEDIA_ACTIONS.setFolders({folders:i,totalFolders:s}));var A=t.createState(i,s,e.currentState.dataItems,r);u.next(A)}}))).subscribe();else{var s=a[0].items,l=s.length,d=a[1].items,f=d.length,m=l===a[0].totalCount;t.mediaService.getFoldersAndContent(o,e.parentId,l,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,e.dataFieldNames,n,void 0,f,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,e.executedSearchParameter,m,null,!0).pipe(Object(B.toLoadingState)(),Object(p.map)((function(n){if(n.isLoading){var o=t.createLoadingState(c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,e.currentState.totalCount,e.currentState.dataItems);u.next(o)}else{var a=n.content[0],A=n.content[1],p=a.dataItems,f=A.dataItems,E=m?l:a.totalCount;g.MediaHelpers.isLibrary(r.metadata.setName)||(E+=A.totalCount);var h=s.concat(p),b=d.concat(f);m||t.appStore.dispatch(Z.MEDIA_ACTIONS.setFolders({folders:h,totalFolders:a.totalCount})),t.appStore.dispatch(Z.MEDIA_ACTIONS.setFiles({files:b,totalFiles:A.totalCount}));var C=Object(i.__spreadArrays)(h,b),B=t.createState(C,E,e.currentState.dataItems,r);u.next(B)}}))).subscribe()}}))).subscribe(),u},MediaGridExtender.prototype.executeNavigateCommand=function(e,t,n,o,i){return void 0===i&&(i=null),new h.NavigateCommand(e).execute({currentRoute:t,data:{dataItem:n,metadata:o,parentSetName:this.getParentSetName(o),childSetName:i||g.MediaHelpers.getChildSetName(o),navigateToGrid:n&&this.shouldNavigateToChildGrid(n),isChildNavigate:n&&(g.MediaHelpers.isChildNavigate(n)||n.parentKey===M.stringConstants.DEFAULT_GUID)},model:null})},MediaGridExtender.prototype.modifyActionContext=function(e,t){var n=this;if(e.data={navigateToChildrenAfterCreate:!1},e.actionName===f.OPERATION_NAMES.createLibrary){var o={metadata:this.metadataStore.getEntity(g.MediaHelpers.resolveLibrarySetName(e.item.metadata.setName)),culture:e.item.culture,provider:e.item.provider};if(e.route.snapshot.params.parentId){var i={Id:e.route.snapshot.params.parentId};e.item=s.DataItem.fromEntityData(i,o),e.actionName=f.OPERATION_NAMES.createChild}else e.item=s.DataItem.emptyItem(o),e.actionName=f.OPERATION_NAMES.create;return Object(l.of)(e)}if(e.actionName===f.OPERATION_NAMES.createMedia){var r=g.MediaHelpers.getChildSetName(e.item);return Object(D.fromPromise)(this.backendTweaksStore.initializeForm(r,k.VIEW_NAME.INSERT,null,e.item.provider,e.item.culture).then((function(){var t=n.metadataStore.getEntity(r).clone(),o=n.backendTweaksStore.getFormByType(r,k.VIEW_NAME.INSERT).find((function(e){return e.name===A.MEDIA_DATA_FIELD_NAME}));o&&(t.acceptableMediaTypes=o.acceptableMediaTypes||t.acceptableMediaTypes,o.allowedFileExtensions&&(t.acceptableFileTypes=o.allowedFileExtensions.map((function(e){return e.replace(M.stringConstants.DOT,M.stringConstants.EMPTY_STRING)}))));var i={metadata:t,culture:e.item.culture,provider:e.item.provider};return e.item=s.DataItem.emptyItem(i),e.actionName=f.OPERATION_NAMES.create,e})))}if(e.actionName===f.OPERATION_NAMES.reorder){var a=this.metadataStore.getEntity(A.ENTITY_SET.IMAGES);g.MediaHelpers.isDocumentLibraryEntity(e.item)||t&&g.MediaHelpers.isDocumentEntity(t)||g.MediaHelpers.isDocumentLibraryEntity(t)?a=this.metadataStore.getEntity(A.ENTITY_SET.DOCUMENTS):(g.MediaHelpers.isVideosLibraryEntity(e.item)||t&&g.MediaHelpers.isVideoEntity(t)||g.MediaHelpers.isVideosLibraryEntity(t))&&(a=this.metadataStore.getEntity(A.ENTITY_SET.VIDEOS));o={metadata:a,culture:e.item.culture,provider:e.item.provider};e.data=s.DataItem.emptyItem(o)}return Object(l.of)(e)},MediaGridExtender.prototype.modifyEntityDataForBulkOperations=function(e,t){return e&&e.metadata.children&&e.metadata.children[0]?{metadata:this.metadataStore.getEntity(e.metadata.children[0]),culture:e.culture,provider:e.provider}:e},MediaGridExtender.prototype.modifySingleItemOperations=function(e,t,n){return this.shouldHideMoveToLibraryOperation(e,n)&&(t=t.filter((function(e){return e.Name!==f.OPERATION_NAMES.move}))),t},MediaGridExtender.prototype.modifyOperations=function(e,t,n){var o=!1;return n.currentItemSelectionInfo.selectedItems.forEach((function(e){g.MediaHelpers.isFolderItem(e.data)&&(o=!0)})),this.shouldHideMoveToLibraryOperation(e,n)&&(t=t.filter((function(e){return e.Name!==f.OPERATION_NAMES.move}))),o?t.filter((function(e){return e.Name===f.OPERATION_NAMES.delete||e.Name===f.OPERATION_NAMES.move||e.Name===f.OPERATION_NAMES.siteSync})):t=this.filterOperationsAccordingToBulkLimit(t,n)},MediaGridExtender.prototype.getDefaultSort=function(e){return this.getPresenterTemplate(e)===I.GridViewModes.Timeline?H.DATE_CREATED_DESC_SORT_ORDER:g.MediaHelpers.isMediaEntity(e)?H.DEFAULT_ORDINAL_EXPRESSION:H.DATE_CREATED_DESC_SORT_ORDER},MediaGridExtender.prototype.showSorters=function(e){return this.getPresenterTemplate(e)!==I.GridViewModes.Timeline},MediaGridExtender.prototype.getPresenterTemplate=function(e){if(g.MediaHelpers.isDocumentEntity(e)||g.MediaHelpers.isDocumentLibraryEntity(e))return I.GridViewModes.List;var t=this.storageService.getItem(b.LIBRARIES_GRID_VIEW_KEY),n=this.userStore.userId;return Object(I.getGridViewMode)(t,n)},MediaGridExtender.prototype.showFilters=function(e){return!(this.getPresenterTemplate(e)!==I.GridViewModes.Timeline&&!g.MediaHelpers.isMediaEntity(e))},MediaGridExtender.prototype.hideLoadMore=function(e,t){var n=this.getPresenterTemplate(t);return n===I.GridViewModes.Timeline||n===I.GridViewModes.Thumbs},MediaGridExtender.prototype.processEntityData=function(e){return e.metadata.isMedia?e:{metadata:this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(e)),culture:e.culture,provider:e.provider}},MediaGridExtender.prototype.getEmptyScreenIcon=function(e){switch(e){case A.ENTITY_SET.ALBUMS:case A.ENTITY_SET.IMAGES:return v.EMPTY_SCREEN_ICONS.image;case A.ENTITY_SET.DOCUMENT_LIBRARIES:case A.ENTITY_SET.DOCUMENTS:return v.EMPTY_SCREEN_ICONS.document;case A.ENTITY_SET.VIDEO_LIBRARIES:case A.ENTITY_SET.VIDEOS:return v.EMPTY_SCREEN_ICONS.video}return v.DEFAULT_EMPTY_SCREEN_ICON},MediaGridExtender.prototype.getEmptyScreenText=function(e,t){var n="No "+g.MediaHelpers.getChildSetName(e)+" have been uploaded";return this.getPresenterTemplate(e)===I.GridViewModes.Timeline?Object(l.of)(n+".\nChange the view to see libraries."):Object(l.of)(n)},MediaGridExtender.prototype.tryHandleAction=function(t){if(t.actionName===f.OPERATION_NAMES.viewAllSizes)return new w.ViewAllImageSizesCommand(this.modalWindowService,this.dynamicItemStore.service,this.router).execute({currentRoute:t.route,model:null,data:{dataItem:t.item}});if(t.actionName===f.OPERATION_NAMES.embed)return new x.EmbedMediaCommand(this.modalWindowService).execute({currentRoute:t.route,model:null,data:{dataItem:t.item}});if(t.actionName===f.OPERATION_NAMES.move){var n=new Q.MoveToLibraryCommand(this.modalWindowService,this.metadataStore,this.compositeDataExtender,t.route,this.longRunningTasksService,this.mediaService,this.dynamicItemStore.service,this.notificationService,this.sortService),o="Timeline"===this.getPresenterTemplate(t.grid.entityData)?t.item:t.grid.entityData;return n.entityData=s.DataItem.emptyItem(o),n.execute({currentRoute:t.route,data:{dataItem:t.item},model:null})}return t.actionName===f.OPERATION_NAMES.play?(n=new Y.PlayVideoCommand(this.modalWindowService)).execute({currentRoute:t.route,data:{dataItem:t.item},model:null}):e.prototype.tryHandleAction.call(this,t)},MediaGridExtender.prototype.getFilterSidebarTitle=function(t,n){return this.getPresenterTemplate(t)!==I.GridViewModes.Timeline&&g.MediaHelpers.isLibrary(t.metadata.setName)?this.getSortDropdownTitle(t,null):e.prototype.getFilterSidebarTitle.call(this,{metadata:this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(t)),culture:t.culture,provider:t.provider},n)},MediaGridExtender.prototype.getSortDropdownTitle=function(e,t){var n=g.MediaHelpers.resolveMediaLabels(e.metadata.setName),o="Sort "+n.plural;return e.metadata.hasParent||(o="Sort "+n.singular+" libraries"),o},MediaGridExtender.prototype.getSettingsSidebarTitle=function(e){return"Settings for "+this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(e)).displayName.toLowerCase()},MediaGridExtender.prototype.getSidebarDisplayName=function(e,t){return this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(e)).displayName},MediaGridExtender.prototype.hasLongRunningTasks=function(e){return!0},MediaGridExtender.prototype.getNotificationServiceFilter=function(e){return this.metadataStore.getEntity(g.MediaHelpers.getChildSetName(e)).typeFullName},MediaGridExtender.prototype.getTakeItemsCount=function(){return c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT},MediaGridExtender.prototype.getDataFieldNames=function(t,n){var o=e.prototype.getDataFieldNames.call(this,t,n);return g.MediaHelpers.isMediaEntity(n)&&(o.push(y.Properties.FOLDER_ID),g.MediaHelpers.isVideoEntity(n)&&(-1===o.indexOf(y.Properties.WIDTH)&&o.push(y.Properties.WIDTH),-1===o.indexOf(y.Properties.HEIGHT)&&o.push(y.Properties.HEIGHT))),(g.MediaHelpers.isAlbumEntity(n)||g.MediaHelpers.isDocumentLibraryEntity(n))&&o.push(y.Properties.RUNNING_TASK),g.MediaHelpers.isMediaEntity(n)&&-1===o.indexOf(y.Properties.URL)&&o.push(y.Properties.URL),g.MediaHelpers.isMediaEntity(n)&&-1===o.indexOf(y.Properties.MIME_TYPE)&&o.push(y.Properties.MIME_TYPE),o},MediaGridExtender.prototype.getLibraryMetadata=function(e,t,n){var o=this.metadataStore.getEntity(e),r=this.metadataStore.getEntity(o.children[0]),a={culture:t,provider:n};return{libraryMetadata:Object(i.__assign)({metadata:o},a),mediaMetadata:Object(i.__assign)({metadata:r},a)}},MediaGridExtender.prototype.loadMoreRootListAndThumbs=function(e,t,n){var o=this;if(e.currentState.dataItems.length>=e.currentState.totalCount)return Object(l.never)();var i=new l.Subject,r=this.appStore.pipe($.MEDIA_SELECTORS.foldersData),a=this.appStore.pipe($.MEDIA_SELECTORS.filesData);return Object(l.zip)(r,a).pipe(Object(p.take)(1),Object(p.map)((function(r){var a=r[0],A=r[1],l=a.items.length;o.mediaService.getFolders(e.entityData,null,!0,!1,l,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,null,e.executedSearchParameter,t,void 0,void 0,!0).pipe(Object(p.first)()).subscribe((function(r){var l,d=a.items.concat(r.dataItems);o.appStore.dispatch(Z.MEDIA_ACTIONS.setFolders({folders:d,totalFolders:r.totalCount}));var p={dataItems:r.dataItems,totalCount:r.totalCount,entityData:e.entityData},f=c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT-r.dataItems.length;if(f){var u=A.items.length,m=((l={})[k.QUERY_PARAMS.SORT]=t?t[k.QUERY_PARAMS.SORT]:o.getDefaultSort(n),l),g=s.DataItem.emptyItem(n);o.mediaService.getMediaForLibrary(g,null,u,f,null,null,m,!1,!1,e.executedSearchParameter).subscribe((function(e){var t=A.items.concat(e.dataItems);o.appStore.dispatch(Z.MEDIA_ACTIONS.setFiles({files:t,totalFiles:e.totalCount})),p.dataItems=p.dataItems.concat(e.dataItems),p.totalCount+=e.totalCount,i.next(p)}))}else i.next(p)}))}))).subscribe(),i.pipe(Object(B.toLoadingState)(),Object(p.map)((function(t){return t.isLoading?o.createLoadingState(c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,e.currentState.totalCount,e.currentState.dataItems):o.createState(t.content.dataItems,t.content.totalCount,e.currentState.dataItems,e.entityData)})))},MediaGridExtender.prototype.handleOperationCompletedForHierarchySidebar=function(e,t,n){var o=this;this.subscriptions.push(e.operationCompleted$.subscribe((function(i){switch(i.operationName){case f.OPERATION_NAMES.move:case f.OPERATION_NAMES.delete:case f.OPERATION_NAMES.create:case f.OPERATION_NAMES.edit:case f.OPERATION_NAMES.createChild:o.refreshHierarchySidebar(e,t,n)}}))),this.subscriptions.push(this.eventsService.subscribe(j.LongRunningTaskCompleted,(function(){o.refreshHierarchySidebar(e,t,n)})))},MediaGridExtender.prototype.refreshHierarchySidebar=function(e,t,n){n.pipe(Object(p.first)()).subscribe((function(e){var n=e.getVisibleWindowComponentDataProps(),o=new l.ReplaySubject(1);n.currentRoot$.pipe(Object(p.first)()).subscribe((function(e){var n=t.getId(e);t.getParent(n).pipe(Object(p.first)()).subscribe((function(e){t.getGrandparent(e).pipe(Object(p.first)()).subscribe((function(t){o.next([e,t])}))}))})),o.pipe(Object(p.first)()).subscribe((function(e){var o=e[0],i=e[1];t.loadItems(t.getId(o)).subscribe((function(e){n.currentLevelItems$.next(e),n.currentRoot$.next(o),n.currentRootTitle$.next(t.getParentTitle(o)),n.backButtonTitle$.next(t.getSidebarBackButtonTitle(o,i)),n.hasBackNavigation$.next(t.hasBackNavigation(o))}))}))}))},MediaGridExtender.prototype.handleParentChangeForHierarchySidebar=function(e,t,n){var o=this;this.subscriptions.push(e.parent$.subscribe((function(e){o.subscriptions.push(n.pipe(Object(p.first)()).subscribe((function(n){o.subscriptions.push(t.getGrandparent(e).pipe(Object(p.first)()).subscribe((function(i){o.subscriptions.push(t.loadItems(t.getId(e)).pipe(Object(p.first)()).subscribe((function(o){var r=n.getVisibleWindowComponentDataProps();r.allItemsLoading$.next(!0);var a=t.getSidebarBackButtonTitle(e,i);r.backButtonTitle$.next(a),r.currentRoot$.next(e),r.currentRootTitle$.next(t.getParentTitle(e)),r.hasBackNavigation$.next(t.hasBackNavigation(e)),r.currentLevelItems$.next(o),t.clearAllItemsLoading(r.allItemsLoading$)})))})))})))})))},MediaGridExtender.prototype.clearSubscriptions=function(){this.subscriptions.length&&(this.subscriptions.forEach((function(e){e.unsubscribe()})),this.subscriptions=[])},MediaGridExtender.prototype.handleQueryParamsChangesForHiearchySidebar=function(e,t){var n=this;t.route.queryParams.subscribe((function(t){var o=t[k.QUERY_PARAMS.PROVIDER],i=e.libraryEntityData,r=n.getLibraryMetadata(i.metadata.setName,i.culture,o);e.libraryEntityData=r.libraryMetadata,e.mediaEntityData=r.mediaMetadata}))},MediaGridExtender.prototype.loadChildGrid=function(e,t,n,o){var i=this,r=this.getPresenterTemplate(e),a=this.getSearchTerm(o),s=r===I.GridViewModes.Timeline,A=r===I.GridViewModes.Timeline;return this.mediaService.getFoldersAndContent(e,t,0,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,n,o,s,0,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,a,A,!0,!0).pipe(Object(B.toLoadingState)(),Object(p.map)((function(t){return t.isLoading?i.createLoadingState(c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,0):(i.appStore.dispatch(Z.MEDIA_ACTIONS.setFolders({folders:t.content[0].dataItems,totalFolders:t.content[0].totalCount})),i.appStore.dispatch(Z.MEDIA_ACTIONS.setFiles({files:t.content[1].dataItems,totalFiles:t.content[1].totalCount})),i.returnStateBasedOnView(t.content,e))})))},MediaGridExtender.prototype.searchRootGrid=function(e,t,n,o){var r=this,a=this.mediaService.getFolders(e,null,!1,!1,0,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,null,n,o,void 0,void 0,!0,void 0),A=new l.Subject;return a.pipe(Object(p.first)()).subscribe((function(o){var a=o.dataItems,l=o.totalCount,d=c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT-o.dataItems.length;if(r.appStore.dispatch(Z.MEDIA_ACTIONS.setFolders({folders:a,totalFolders:l})),d){var f=s.DataItem.emptyItem(t);r.mediaService.search(f,n,void 0,d,void 0,void 0).pipe(Object(p.first)()).subscribe((function(e){var n=e.dataItems,o=e.totalCount,s=Object(i.__spreadArrays)(a,n);r.appStore.dispatch(Z.MEDIA_ACTIONS.setFiles({files:n,totalFiles:o})),A.next(r.createState(s,l+o,[],t))}))}else A.next(r.createState(a,l,[],e))})),A},MediaGridExtender.prototype.loadRootGridView=function(e,t){var n=this,o=this.getSearchTerm(t),i=g.MediaHelpers.getChildSetName(e),r={metadata:this.metadataStore.getEntity(i),culture:e.culture,provider:e.provider};if(this.getPresenterTemplate(e)!==I.GridViewModes.Timeline)return o?this.searchRootGrid(e,r,o,t):this.mediaService.getFolders(e,null,!1,!1,0,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,null,o,t,void 0,void 0,!0,void 0).pipe(Object(B.toLoadingState)(),Object(p.map)((function(t){if(t.isLoading)return n.createLoadingState(c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,0);var o=t.content.dataItems,i=t.content.totalCount;return n.appStore.dispatch(Z.MEDIA_ACTIONS.setFolders({folders:o,totalFolders:i})),n.createState(o,i,[],e)})));var a=s.DataItem.emptyItem(r);return(o?this.mediaService.search(a,o,void 0,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,void 0,void 0):this.mediaService.getRecentMedia(a,void 0,c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,t,void 0)).pipe(Object(B.toLoadingState)(),Object(p.map)((function(t){return t.isLoading?n.createLoadingState(c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,0):(n.appStore.dispatch(Z.MEDIA_ACTIONS.setFiles({files:t.content.dataItems,totalFiles:t.content.totalCount})),n.createState(t.content.dataItems,t.content.totalCount,[],e))})))},MediaGridExtender.prototype.getSearchTerm=function(e){var t=null;return e[k.FILTER_PARAMS.SEARCH]&&(t=e[k.FILTER_PARAMS.SEARCH].split(";")[0].split(",")[1]),t},MediaGridExtender.prototype.returnStateBasedOnView=function(e,t){var n=e[0],o=e[1],r=n.dataItems,a=o.dataItems;if(this.getPresenterTemplate(t)===I.GridViewModes.Timeline)return this.createState(a,o.totalCount,[],t);var s=n.totalCount+o.totalCount;return this.createState(Object(i.__spreadArrays)(r,a),s,[],t)},MediaGridExtender.prototype.createState=function(e,t,n,o){void 0===n&&(n=[]);var i=e.filter((function(e){return void 0===n.find((function(t){return t.data.Id===e.data.Id}))})),r={metadata:o.metadata,culture:e[0]?e[0].culture:null,provider:e[0]?e[0].provider:null},a=this.compositeDataExtender.enhanceDataItems(r,i,{inactive:!0,tooltip:function(e){return e},isSelectionDisabled:!0,failedValidation:function(e){return{errorMessage:e}}},{whiteListedTasks:[V.BackgroundTaskType.RegenerateThumbnails]});return d.StateWrapper.wrap({dataItems:n.concat(a),totalCount:t})},MediaGridExtender.prototype.createLoadingState=function(e,t,n){return void 0===n&&(n=[]),d.StateWrapper.wrap({dataItems:n,loadingItemsCount:e,totalCount:t})},MediaGridExtender.prototype.getSidebarViewList=function(e){return e.map((function(e){e.context={icon:o[e.Name]}})),[{operations:e,ordinal:0,title:e[0].Category.Title}]},MediaGridExtender.prototype.shouldHideMoveToLibraryOperation=function(e,t){var n=g.MediaHelpers.isLibrary(e.metadata.setName),o=t.currentItemSelectionInfo.allItemsSelected,i=t.itemsState&&t.currentItemSelectionInfo.selectedItems.size+t.itemsState.dataItems.filter((function(e){return e.data.inactive})).length===t.itemsState.totalCount;return n&&(o||i)},MediaGridExtender.ɵfac=function MediaGridExtender_Factory(e){return new(e||MediaGridExtender)(r["ɵɵinject"](u.MetadataStore),r["ɵɵinject"](b.LOCAL_STORAGE),r["ɵɵinject"](C.UserDataStore),r["ɵɵinject"](J.DynamicItemStore),r["ɵɵinject"](_.ModalWindowService),r["ɵɵinject"](S.Settings),r["ɵɵinject"](T.BackendTweaksStore),r["ɵɵinject"](N.MediaService),r["ɵɵinject"](E.Router),r["ɵɵinject"](X.LongRunningTasksService),r["ɵɵinject"](L.ComponentCommunicationService),r["ɵɵinject"](H.SortService),r["ɵɵinject"](G.NOTIFICATION_SERVICE),r["ɵɵinject"](z.CompositeDataExtender),r["ɵɵinject"](W.ContentFilterService),r["ɵɵinject"](K.GridReloadService),r["ɵɵinject"](q.AppStore))},MediaGridExtender.ɵprov=r["ɵɵdefineInjectable"]({token:MediaGridExtender,factory:MediaGridExtender.ɵfac}),MediaGridExtender}(a.GridExtenderBase),oe={multi:!0,provide:a.GRID_EXTENDER_TOKEN,useClass:ne}},function(e,t,n){"use strict";n.r(t),n.d(t,"BreadcrumbNavigationComponent",(function(){return d}));var o=n(259),i=n(264),r=n(260),a=(n(317),n(1152)),s=n(229),A=n(261),l=n(354);function BreadcrumbNavigationComponent_ng_container_0_ng_container_1_a_1_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"a",4),s["ɵɵlistener"]("click",(function BreadcrumbNavigationComponent_ng_container_0_ng_container_1_a_1_Template_a_click_0_listener(){s["ɵɵrestoreView"](n);var e=s["ɵɵnextContext"]().$implicit;return s["ɵɵnextContext"](2).onItemClick(e)})),s["ɵɵtext"](1),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]().$implicit;s["ɵɵadvance"](1),s["ɵɵtextInterpolate1"](" ",o.Title," ")}}function BreadcrumbNavigationComponent_ng_container_0_ng_container_1_span_2_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"span",5),s["ɵɵtext"](1),s["ɵɵelementEnd"]()),2&e){var n=s["ɵɵnextContext"]().$implicit;s["ɵɵadvance"](1),s["ɵɵtextInterpolate"](n.Title)}}function BreadcrumbNavigationComponent_ng_container_0_ng_container_1_span_3_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"span"),s["ɵɵelement"](1,"sf-icon",6),s["ɵɵelementEnd"]())}function BreadcrumbNavigationComponent_ng_container_0_ng_container_1_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵtemplate"](1,BreadcrumbNavigationComponent_ng_container_0_ng_container_1_a_1_Template,2,1,"a",2),s["ɵɵtemplate"](2,BreadcrumbNavigationComponent_ng_container_0_ng_container_1_span_2_Template,2,1,"span",3),s["ɵɵtemplate"](3,BreadcrumbNavigationComponent_ng_container_0_ng_container_1_span_3_Template,2,0,"span",0),s["ɵɵelementContainerEnd"]()),2&e){var n=t.last,o=s["ɵɵnextContext"](2);s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",!n),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",o.breadcrumbItems.length>1&&n),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",o.breadcrumbItems.length>1&&!n)}}function BreadcrumbNavigationComponent_ng_container_0_Template(e,t){if(1&e&&(s["ɵɵelementContainerStart"](0),s["ɵɵtemplate"](1,BreadcrumbNavigationComponent_ng_container_0_ng_container_1_Template,4,3,"ng-container",1),s["ɵɵelementContainerEnd"]()),2&e){var n=s["ɵɵnextContext"]();s["ɵɵadvance"](1),s["ɵɵproperty"]("ngForOf",n.breadcrumbItems)}}var c={Title:"All items",FolderId:null},d=function(e){function BreadcrumbNavigationComponent(t){var n=e.call(this)||this;return n.router=t,n.breadcrumbItems=[],n}return Object(o.__extends)(BreadcrumbNavigationComponent,e),BreadcrumbNavigationComponent.prototype.ngOnInit=function(){var e;if(!(this.entityData.metadata.hasChildren||null===this.parentItem)){c.Title="All "+this.entityData.metadata.setName,this.breadcrumbItems=[c];var t={Title:this.parentItem.data.Title,FolderId:this.parentItem.data.FolderId};if(this.parentItem.data.Breadcrumb){var n=this.parentItem.data.Breadcrumb;(e=this.breadcrumbItems).push.apply(e,n)}this.breadcrumbItems.push(t)}},BreadcrumbNavigationComponent.prototype.onItemClick=function(e){e.Title===c.Title?this.router.navigate([a.ROUTE_PATHS.CONTENT,this.entityData.metadata.setName],{queryParams:{sortKey:void 0,sf_filter:void 0},queryParamsHandling:"merge"}):this.router.navigate([a.ROUTE_PATHS.CONTENT,this.entityData.metadata.setName,e.FolderId,this.entityData.metadata.setName],{queryParams:{sortKey:void 0},queryParamsHandling:"merge"})},BreadcrumbNavigationComponent.ɵfac=function BreadcrumbNavigationComponent_Factory(e){return new(e||BreadcrumbNavigationComponent)(s["ɵɵdirectiveInject"](r.Router))},BreadcrumbNavigationComponent.ɵcmp=s["ɵɵdefineComponent"]({type:BreadcrumbNavigationComponent,selectors:[["sf-breadcrumb-navigation"]],inputs:{entityData:"entityData",parentItem:"parentItem"},features:[s["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[[4,"ngIf"],[4,"ngFor","ngForOf"],["class","-sf-txt-nowrap",3,"click",4,"ngIf"],["class","-sf-txt-nowrap",4,"ngIf"],[1,"-sf-txt-nowrap",3,"click"],[1,"-sf-txt-nowrap"],["name","angle-right","look","size-2xs darkest sf-ml-7xs sf-mr-7xs"]],template:function BreadcrumbNavigationComponent_Template(e,t){1&e&&s["ɵɵtemplate"](0,BreadcrumbNavigationComponent_ng_container_0_Template,2,1,"ng-container",0),2&e&&s["ɵɵproperty"]("ngIf",t.breadcrumbItems.length)},directives:[A.NgIf,A.NgForOf,l.SfIconComponent],encapsulation:2}),BreadcrumbNavigationComponent}(i.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ViewAllImageSizesCommand",(function(){return f}));var o=n(11),i=n(1118),r=n(316),a=n(1841),s=n(1155),A=n(260),l=n(1152),c=n(291),d=n(131),p=n(229),f=function(){function ViewAllImageSizesCommand(e,t,n){this.modalWindowService=e,this.dynamicItemService=t,this.router=n}return ViewAllImageSizesCommand.prototype.execute=function(e){var t=this;return this.dynamicItemService.executeBoundFunction(e.data.dataItem,"Default.GetThumbnails()").pipe(Object(d.catchError)((function(e){return e.statusCode===c.FORBIDDEN?(t.router.navigate([l.ROUTE_PATHS.ACCESS_DENIED]),Object(o.empty)()):Object(o.throwError)(e)}))).subscribe((function(n){var o={type:a.ViewAllImageSizesComponent,properties:{thumbnails:n.value,imageTitle:e.data.dataItem.title}},r=new i.DialogData(o,null,[]);r.toolbarData={type:s.ToolbarComponent,properties:{header:"All image sizes"}},t.modalWindowService.setMapping(r,"viewallimagesizes"),t.modalWindowService.show("viewallimagesizes",e.currentRoute.parent)})),Object(o.of)(!0)},ViewAllImageSizesCommand.ɵfac=function ViewAllImageSizesCommand_Factory(e){return new(e||ViewAllImageSizesCommand)(p["ɵɵinject"](i.ModalWindowService),p["ɵɵinject"](r.DynamicItemService),p["ɵɵinject"](A.Router))},ViewAllImageSizesCommand.ɵprov=p["ɵɵdefineInjectable"]({token:ViewAllImageSizesCommand,factory:ViewAllImageSizesCommand.ɵfac}),ViewAllImageSizesCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ViewAllImageSizesComponent",(function(){return r})),n.d(t,"ThumbnailViewAllModel",(function(){return a}));var o=n(229),i=n(261);function ViewAllImageSizesComponent_div_6_Template(e,t){if(1&e&&(o["ɵɵelementStart"](0,"div"),o["ɵɵelement"](1,"hr"),o["ɵɵelementStart"](2,"h2"),o["ɵɵtext"](3),o["ɵɵelementEnd"](),o["ɵɵelementStart"](4,"div",4),o["ɵɵtext"](5),o["ɵɵelementEnd"](),o["ɵɵelement"](6,"img",5),o["ɵɵelementEnd"]()),2&e){var n=t.$implicit;o["ɵɵadvance"](3),o["ɵɵtextInterpolate"](n.Title),o["ɵɵadvance"](2),o["ɵɵtextInterpolate"](n.Size),o["ɵɵadvance"](1),o["ɵɵproperty"]("src",n.Url,o["ɵɵsanitizeUrl"])("alt",n.Title)}}var r=function(){function ViewAllImageSizesComponent(){}return ViewAllImageSizesComponent.ɵfac=function ViewAllImageSizesComponent_Factory(e){return new(e||ViewAllImageSizesComponent)},ViewAllImageSizesComponent.ɵcmp=o["ɵɵdefineComponent"]({type:ViewAllImageSizesComponent,selectors:[["sf-view-all-image-sizes"]],inputs:{thumbnails:"thumbnails",imageTitle:"imageTitle"},decls:7,vars:2,consts:[[1,"sf-row","-justify-content-center","-sf-mb-3xs"],[1,"-sf-txt-large","-sf-mb-m"],[1,"-sf-centered-box","-sf-pb-zero","-sf-pt-zero","-sf-mb--m","-sf-txt-align-left"],[4,"ngFor","ngForOf"],[1,"-sf-txt-dimmed","-sf-mt-6xs","-sf-mb-xs"],[3,"src","alt"]],template:function ViewAllImageSizesComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",0),o["ɵɵelementStart"](1,"h1"),o["ɵɵtext"](2,"All image sizes"),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementStart"](3,"div",1),o["ɵɵtext"](4),o["ɵɵelementEnd"](),o["ɵɵelementStart"](5,"div",2),o["ɵɵtemplate"](6,ViewAllImageSizesComponent_div_6_Template,7,4,"div",3),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵadvance"](4),o["ɵɵtextInterpolate"](t.imageTitle),o["ɵɵadvance"](2),o["ɵɵproperty"]("ngForOf",t.thumbnails))},directives:[i.NgForOf],encapsulation:2}),ViewAllImageSizesComponent}(),a=function a(){}},function(e,t,n){"use strict";n.r(t),n.d(t,"EmbedMediaCommand",(function(){return s}));var o=n(11),i=n(1118),r=n(1843),a=n(229),s=function(){function EmbedMediaCommand(e){this.modalWindowService=e}return EmbedMediaCommand.prototype.execute=function(e){var t={type:r.EmbedMediaContentComponent,properties:{dataItem:e.data.dataItem}},n=new i.DialogData(t,null,[]);return this.modalWindowService.setMapping(n,"embedmedia"),this.modalWindowService.show("embedmedia",e.currentRoute.parent),Object(o.of)(!0)},EmbedMediaCommand.ɵfac=function EmbedMediaCommand_Factory(e){return new(e||EmbedMediaCommand)(a["ɵɵinject"](i.ModalWindowService))},EmbedMediaCommand.ɵprov=a["ɵɵdefineInjectable"]({token:EmbedMediaCommand,factory:EmbedMediaCommand.ɵfac}),EmbedMediaCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EmbedMediaContentComponent",(function(){return s}));var o=n(326),i=(n(317),n(229)),r=n(354),a=n(324),s=function(){function EmbedMediaContentComponent(){}return EmbedMediaContentComponent.prototype.ngOnInit=function(){if(this.dataItem&&this.dataItem.data)if(this.title="Embed "+this.dataItem.metadata.singularName.toLowerCase(),this.linkUrl=this.dataItem.data.Url,o.MediaHelpers.isImageEntity(this.dataItem)){var e=this.dataItem.data.AlternativeText||this.dataItem.title;this.embedCode=''+e+''}else o.MediaHelpers.isDocumentEntity(this.dataItem)?this.embedCode=''+this.dataItem.data[this.dataItem.metadata.defaultFieldName]+"":o.MediaHelpers.isVideoEntity(this.dataItem)&&(this.embedCode='')},EmbedMediaContentComponent.ɵfac=function EmbedMediaContentComponent_Factory(e){return new(e||EmbedMediaContentComponent)},EmbedMediaContentComponent.ɵcmp=i["ɵɵdefineComponent"]({type:EmbedMediaContentComponent,selectors:[["sf-embed-media-content"]],inputs:{dataItem:"dataItem"},decls:15,vars:4,consts:[["name","link","look","illustrative",1,"-sf-mb-s"],[1,"-sf-mb-xs"],[1,"-sf-txt-large"],[1,"sf-form","-small","-sf-centered-box"],[1,"-sf-txt-align-left"],[1,"sf-field"],["for","input-link",1,"sf-field__label"],["type","text","id","input-link",1,"sf-field__content",3,"ngModel","ngModelChange"],["for","textarea-embed-code",1,"sf-field__label"],["id","textarea-embed-code","type","textarea",1,"sf-field__content",3,"ngModel","rows","ngModelChange"]],template:function EmbedMediaContentComponent_Template(e,t){1&e&&(i["ɵɵelement"](0,"sf-icon",0),i["ɵɵelementStart"](1,"h1",1),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"div",2),i["ɵɵtext"](4,"Embedding works only for published items"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"div",3),i["ɵɵelementStart"](6,"div",4),i["ɵɵelementStart"](7,"div",5),i["ɵɵelementStart"](8,"label",6),i["ɵɵtext"](9,"Link"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](10,"sf-input",7),i["ɵɵlistener"]("ngModelChange",(function EmbedMediaContentComponent_Template_sf_input_ngModelChange_10_listener(e){return t.linkUrl=e})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementStart"](11,"div",5),i["ɵɵelementStart"](12,"label",8),i["ɵɵtext"](13,"Embed code for HTML"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](14,"sf-input",9),i["ɵɵlistener"]("ngModelChange",(function EmbedMediaContentComponent_Template_sf_input_ngModelChange_14_listener(e){return t.embedCode=e})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](t.title),i["ɵɵadvance"](8),i["ɵɵproperty"]("ngModel",t.linkUrl),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngModel",t.embedCode)("rows",4))},directives:[r.SfIconComponent,r.SfInputComponent,a.NgControlStatus,a.NgModel],encapsulation:2}),EmbedMediaContentComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MoveToLibraryCommand",(function(){return m}));var o=n(259),i=n(1845),r=n(1118),a=n(131),s=n(262),A=n(1178),l=n(246),c=n(326),d=n(1174),p=n(1216),f=n(1225),u=n(319),m=function(e){function MoveToLibraryCommand(t,n,o,i,r,a,s,A,l){var c=e.call(this,t,n,o,i,s,A,l)||this;return c.longRunningTasksService=r,c.mediaService=a,c.service=s,c.notificationService=A,c.sortService=l,c.skipNotification=!0,c.isHierarchical=!0,c.dialogMapping="moveToLibrary",c.dialogTitle=u.OPERATION_TITLES.moveToAnotherLibrary,c.confirmButtonText="Move",c.whiteListedTasks=[f.BackgroundTaskType.RegenerateThumbnails],c}return Object(o.__extends)(MoveToLibraryCommand,e),MoveToLibraryCommand.prototype.getNotification=function(e,t,n){return null},MoveToLibraryCommand.prototype.getEntityData=function(){return this.entityData},MoveToLibraryCommand.prototype.serviceLoadMore=function(e){var t,n=this,o=this.targetItems.filter((function(e){return c.MediaHelpers.isLibrary(e.metadata.setName)})).map((function(e){return e.data.Id})).filter((function(e){return e}));return this.mediaService.getFolders(this.entityData,null,!1,!1,e.skip,e.take||20,null,e.searchText,(t={},t[s.QUERY_PARAMS.SORT]=d.DATE_CREATED_DESC_SORT_ORDER,t),!1,o.length?o:null).pipe(Object(a.map)((function(e){return{totalCount:e.totalCount,dataItems:n.mapNodes(e.dataItems)}}))).toPromise()},MoveToLibraryCommand.prototype.serviceExpand=function(e){var t,n=this,o=this.isHierarchical?e.parentId:null,i=this.targetItems.filter((function(e){return c.MediaHelpers.isLibrary(e.metadata.setName)})).map((function(e){return e.data.Id})).filter((function(e){return e}));return this.mediaService.getFolders(this.entityData,o,!1,!1,e.skip,e.take||20,null,e.searchText,(t={},t[s.QUERY_PARAMS.SORT]=d.DATE_CREATED_DESC_SORT_ORDER,t),!1,i.length?i:null).pipe(Object(a.map)((function(e){return{totalCount:e.totalCount,dataItems:n.mapNodes(e.dataItems)}}))).toPromise()},MoveToLibraryCommand.prototype.executeConfirmAction=function(e,t){var n=this,o=this.targetItems.map((function(e){return e.data.Id})),i={success:!0,succeededItemsIds:o};if(0===o.length)return t.next(new r.ClickResult(i,!0)),t;var a={target:e[0].key,items:o};this.service.executeBoundAction(this.entityData,"Default.Move()",a).subscribe((function(e){t.next(new r.ClickResult(i,!0))}),(function(e){n.notificationService.publishBasicNotification({message:e.message,look:A.NOTIFICATION_LOOKS.ERROR,duration:s.NOTIFICATION_DURATION_INFINITE,filterParam:p.MODAL_WINDOW_NOTIFICATION_FILTER}),t.next(new r.ClickResult(!1,!1,!0))}))},MoveToLibraryCommand.prototype.filterTargetItems=function(e){return this.targetItems.filter((function(t){return(t.data.FolderId||t.data.ParentId||t.data.RootId)!==e.Id}))},MoveToLibraryCommand.prototype.generateDescription=function(e){e.properties.description="Select a library where to move the item"+(this.targetItems.length>1?"s":l.stringConstants.EMPTY_STRING),e.properties.headingLook="sf-mb--m"},MoveToLibraryCommand.prototype.onDone=function(t,n){var o=t.data;o&&o.data&&o.data.success&&this.longRunningTasksService.refresh(),e.prototype.onDone.call(this,t,n)},MoveToLibraryCommand}(i.LibraryTasksBaseCommand)},function(e,t,n){"use strict";n.r(t),n.d(t,"LibraryTasksBaseCommand",(function(){return r}));var o=n(259),i=n(245),r=function(e){function LibraryTasksBaseCommand(t,n,o,i,r,a,s){var A=e.call(this,t,r,a,s)||this;return A.modalWindowService=t,A.metadataStore=n,A.compositeDataExtender=o,A.route=i,A.service=r,A.notificationService=a,A.sortService=s,A}return Object(o.__extends)(LibraryTasksBaseCommand,e),LibraryTasksBaseCommand.prototype.mapNodes=function(e){return this.compositeDataExtender.enhanceDataItems(this.entityData,e,{FoldersCount:0,hasChildren:!1,isSelectionDisabled:!0,inactive:!0,tooltip:function(e){return e}},{whiteListedTasks:this.whiteListedTasks}).map((function(e){var t=Object(i.cloneObject)(e.data);return t.isTranslated=!0,t.icon="folder-o",t.iconLook="size-xl light",t}))},LibraryTasksBaseCommand.prototype.modifyComponentData=function(e){e.properties.treeConfig.treeProperties.hasChildrenField="FoldersCount",e.properties.treeConfig.dataProperties={toolTipField:"tooltip"},e.properties.noItemsCreatedLabel="No libraries have been created yet",e.properties.emptyIcon="folder",e.properties.typeNames={plural:"libraries",singular:"library"}},LibraryTasksBaseCommand}(n(1771).SelectorBaseCommand)},function(e,t,n){"use strict";n.r(t),n.d(t,"LIBRARIES_NAVIGATION_SIDEBAR",(function(){return p})),n.d(t,"LibrariresNavigationSidebarHelpers",(function(){return f}));var o=n(259),i=n(11),r=n(131),a=n(1152),s=n(246),A=n(245),l=n(1584),c=n(1207),d=n(262),p="browseImageLibraries",f=function(){function LibrariresNavigationSidebarHelpers(e,t,n,o,i,r,a){this.sidebarConfig=e,this.hierarchicalService=t,this.libraryEntityData=n,this.mediaEntityData=o,this.router=i,this.slider$=r,this.sortService=a}return LibrariresNavigationSidebarHelpers.prototype.getId=function(e){return e?e.key:null},LibrariresNavigationSidebarHelpers.prototype.getParentId=function(e){return e&&e.parentKey!==s.stringConstants.DEFAULT_GUID?e.parentKey:null},LibrariresNavigationSidebarHelpers.prototype.getSidebarBackButtonTitle=function(e,t){return e?this.getParentTitle(t):"Browse "+this.mediaEntityData.metadata.singularName.toLowerCase()+" libraries"},LibrariresNavigationSidebarHelpers.prototype.getGrandparent=function(e){return e&&e.parentKey!==s.stringConstants.DEFAULT_GUID?this.getParent(e.parentKey):Object(i.of)(null)},LibrariresNavigationSidebarHelpers.prototype.hasChildren=function(e){return e.data&&e.data.FoldersCount>0},LibrariresNavigationSidebarHelpers.prototype.getParentTitle=function(e){return e?e.title:"All libraries"},LibrariresNavigationSidebarHelpers.prototype.hasBackNavigation=function(e){return!!Object(A.hasValue)(e)},LibrariresNavigationSidebarHelpers.prototype.loadItems=function(e,t,n,o){var i=this;void 0===t&&(t=!1);var a={parentId:e,includeParent:t},s=e?this.mediaEntityData:this.libraryEntityData,l={entityData:s,order:this.sortService.getDefaultSort(s)};return Object(A.hasValue)(n)&&(l.skip=n),Object(A.hasValue)(o)&&(l.take=o),this.hierarchicalService.getSearchedItems(a,l).pipe(Object(r.first)(),Object(r.map)((function(e){return i.totalCount=e.totalCount,e.dataItems})))},LibrariresNavigationSidebarHelpers.prototype.getParent=function(e){return e&&e!==s.stringConstants.DEFAULT_GUID?this.hierarchicalService.getItemTaxa([e],this.libraryEntityData,null,!1).pipe(Object(r.map)((function(e){return e.dataItems[0]}))):Object(i.of)(null)},LibrariresNavigationSidebarHelpers.prototype.navigateToItem=function(e,t){var n,o=this.mediaEntityData.metadata.setName,i=[a.ROUTE_PATHS.CONTENT,o,e.key,o].join(s.stringConstants.FORWARD_SLASH);if(-1===this.router.url.indexOf(i)){var r=((n={})[d.FILTER_PARAMS.SORT]=null,n);this.router.navigate([i],{queryParams:r,queryParamsHandling:"merge"})}else this.onOpenChildItems(t,e)},LibrariresNavigationSidebarHelpers.prototype.loadMore=function(){var e=this;this.slider$.pipe(Object(r.first)()).subscribe((function(t){var n=t.getVisibleWindowComponentDataProps();n.currentLevelItems$.pipe(Object(r.first)()).subscribe((function(t){var i=t.length;if(!(i>=e.totalCount)){var a=c.MEDIA_LOADING_ITEMS_DEFAULT_COUNT,s=e.totalCount-t.length;s1&&(o.showForAllTranslationsLabel=!0)}));var i=e.find((function(e){return e.settings instanceof c.StructureUrlNameSettings}));i&&(i.settings.getUrlStructureData=function(e){return o.getUrlStructureData(e)});this.updateSizeFieldsSettings(e);var A=e.find((function(e){return e.key===a.Properties.THUMBNAIL_URL}));A&&(A.settings.translatable=!0,A.settings.showForAllTranslationsLabel=!1)},MediaMetadataHandler.prototype.updateSizeFieldsSettings=function(e){e.filter((function(e){return e.key===a.Properties.MAX_SIZE||e.key===a.Properties.MAX_ITEM_SIZE})).map((function(e){e.settings.emptyValues.push(0),e.settings.look="sf-width-2",e.settings.decimalPlaces=0,e.settings.unitLook="size-xs"}))},MediaMetadataHandler.prototype.getUrlStructureData=function(e){var t,n;return e.data&&e.data.MediaFileUrlName?Object(l.of)({parentUrl:(t=e,n=t.data.Url,n=n.split("/"+t.data.MediaFileUrlName)[0]),extension:e.data[a.Properties.EXTENSION],editableUrl:null}):Object(l.of)(null)},MediaMetadataHandler.ɵfac=function MediaMetadataHandler_Factory(e){return new(e||MediaMetadataHandler)(m["ɵɵinject"](A.MetadataStore),m["ɵɵinject"](f.SiteDataStore),m["ɵɵinject"](u.CompositeFieldsProvider))},MediaMetadataHandler.ɵprov=m["ɵɵdefineInjectable"]({token:MediaMetadataHandler,factory:MediaMetadataHandler.ɵfac}),MediaMetadataHandler}(i.MetadataHandler),b={provide:i.MetadataHandler,useClass:h,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaEditExtender",(function(){return _})),n.d(t,"MEDIA_EDIT_EXTENDER",(function(){return x}));var o=n(259),i=n(229),r=n(1199),a=n(11),s=n(317),A=n(256),l=n(316),c=n(266),d=n(269),p=n(246),f=n(1120),u=n(383),m=n(1126),g=n(326),E=n(262),h=n(319),b=n(1840),C=n(1118),B=n(1842),k=n(1134),I=n(351),v=n(260),w=n(1848),_=function(e){function MediaEditExtender(t,n,o,i,r,a){var s=e.call(this)||this;return s.service=t,s.store=n,s.sanitizeService=o,s.modalWindowService=i,s.communicationService=r,s.router=a,s.communicationService.subscribe(g.CreateLibraryFromFileUploadClickEvent,(function(e){s.hideStorageProvider=e.data.hideStorageProvider})),s}return Object(o.__extends)(MediaEditExtender,e),MediaEditExtender.prototype.overrideNavigationMenuOptions=function(e,t){t.hideAdditionalActionsMenu=!0,t.title=Object(a.of)(e.metadata.singularName+" properties")},MediaEditExtender.prototype.getFormClasses=function(){return g.MEDIA_FORM_CLASS},MediaEditExtender.prototype.handleAction=function(e,t){var n=this.getOperationCommand(e);if(n)return{handled:n.execute({currentRoute:e.route,model:null,data:{dataItem:e.item}})};if(g.MediaHelpers.isMediaEntity(e.item))return{handled:Object(a.of)(!1)};this.handleSizesFieldsValues(e);var o=null;e.changedFields&&e.changedFields[c.Properties.PARENT_ID]&&e.changedFields[c.Properties.PARENT_ID]!==p.stringConstants.DEFAULT_GUID&&(o=e.changedFields[c.Properties.PARENT_ID]);var i=e.item;if(null!=o&&e.actionName===h.OPERATION_NAMES.create){var r=this.store.getEntity(A.ENTITY_SET.FOLDERS);i=s.DataItem.from(i.data,r,i.provider,i.culture)}if(e.actionName===h.OPERATION_NAMES.create){var l=new u.UrlNameSettings(i.key,!1);l.init(e.item.metadata.properties[c.Properties.URL_NAME]);var d=l.sanitizeRegex,f=this.sanitizeService.getReplaceCharacter(l),m=e.changedFields[c.Properties.URL_NAME]||e.changedFields[i.metadata.defaultFieldName];e.changedFields[c.Properties.URL_NAME]=this.sanitizeService.sanitizeValue(m,d,f)}var E=null,b=!1;return e.changedFields&&i&&(E=this.service.upsert({data:e.changedFields,dataItem:i}),b=!0),{handled:Object(a.of)(b),result:E}},MediaEditExtender.prototype.modify=function(e){var t=e.dataItem,n=e.sections;if(this.handleFewerFields(e),g.MediaHelpers.isLibrary(t.metadata.setName)){var o=t.data&&void 0!==t.data[c.Properties.PARENT_ID]&&t.data[c.Properties.PARENT_ID]!==p.stringConstants.DEFAULT_GUID;if(e.viewName===E.VIEW_NAME.INSERT){var i=!(!e.isInit||!e.parentId),r=o||i,s=r||this.hideStorageProvider;this.modifySectionVisibility(n,f.FIELD_SECTION_NAMES.advancedOptions,r),this.modifyFieldVisibilityInSection(n,f.FIELD_SECTION_NAMES.mainSection,c.Properties.BLOB_STORAGE_PROVIDER,!s),this.modifyFieldVisibilityInSection(n,f.FIELD_SECTION_NAMES.mainSection,c.Properties.DESCRIPTION,!r),this.modifyFieldVisibilityInSection(n,f.FIELD_SECTION_NAMES.mainSection,c.Properties.URL_NAME,!r)}else this.modifySectionVisibility(n,f.FIELD_SECTION_NAMES.advancedOptions,o&&!e.isInit)}return this.modifyParentSelectorSettings(t,n,e.setName),Object(a.of)(void 0)},MediaEditExtender.prototype.isSupportedType=function(e){return e&&g.MediaHelpers.isLibraryOrMedia(e.metadata.setName)},MediaEditExtender.prototype.showHeader=function(e){return g.MediaHelpers.isMediaEntity(e)},MediaEditExtender.prototype.getSidebarButtons=function(t,n){return e.prototype.getSidebarButtons.call(this,t,n).filter((function(e){return e.name!==r.BROWSE_BUTTON_NAME}))},MediaEditExtender.prototype.hasCreateActionFromEdit=function(){return!1},MediaEditExtender.prototype.forceUpdateFieldModel=function(e,t,n){return e===I.FieldTypes.urlName&&t&&t.data.Extension&&t.data.Extension!==n.data.Extension},MediaEditExtender.prototype.handleSizesFieldsValues=function(e){e.changedFields&&null===e.changedFields[c.Properties.MAX_SIZE]&&(e.changedFields[c.Properties.MAX_SIZE]=0),e.changedFields&&null===e.changedFields[c.Properties.MAX_ITEM_SIZE]&&(e.changedFields[c.Properties.MAX_ITEM_SIZE]=0)},MediaEditExtender.prototype.modifyParentSelectorSettings=function(e,t,n){var o=t.find((function(e){return e.settings.name===f.FIELD_SECTION_NAMES.mainSection})).fields.find((function(e){return e.key===c.Properties.PARENT_ID}));o&&(g.MediaHelpers.isFolderEntity(e)?(o.settings.hierarchicalTaxaSettings.type=g.MediaHelpers.resolveLibrarySetName(n),o.value||(o.value=e.data[c.Properties.ROOT_ID])):g.MediaHelpers.isMediaEntity(e)&&e.data[c.Properties.FOLDER_ID]&&(o.settings.hierarchicalTaxaSettings.type=g.MediaHelpers.getParentSetName(e),o.value=e.data[c.Properties.FOLDER_ID]),g.MediaHelpers.isLibrary(e.metadata.setName)&&(o.settings.hierarchicalTaxaSettings.id=e.key))},MediaEditExtender.prototype.getOperationCommand=function(e){return e.actionName===h.OPERATION_NAMES.viewAllSizes?new b.ViewAllImageSizesCommand(this.modalWindowService,this.service,this.router):e.actionName===h.OPERATION_NAMES.embed?new B.EmbedMediaCommand(this.modalWindowService):e.actionName===h.OPERATION_NAMES.play?new w.PlayVideoCommand(this.modalWindowService):null},MediaEditExtender.prototype.modifySectionVisibility=function(e,t,n){var o=e.find((function(e){return e.settings.name===t}));o&&(o.settings.isHidden=n)},MediaEditExtender.prototype.modifyFieldVisibilityInSection=function(e,t,n,o){var i=e.find((function(e){return e.settings.name===t})).fields.find((function(e){return e.key===n}));i&&(i.settings.isVisible=o)},MediaEditExtender.ɵfac=function MediaEditExtender_Factory(e){return new(e||MediaEditExtender)(i["ɵɵinject"](l.DynamicItemService),i["ɵɵinject"](d.MetadataStore),i["ɵɵinject"](m.SanitizeService),i["ɵɵinject"](C.ModalWindowService),i["ɵɵinject"](k.ComponentCommunicationService),i["ɵɵinject"](v.Router))},MediaEditExtender.ɵprov=i["ɵɵdefineInjectable"]({token:MediaEditExtender,factory:MediaEditExtender.ɵfac}),MediaEditExtender}(r.EditExtender),x={multi:!0,provide:r.EDIT_EXTENDER_TOKEN,useClass:_}},function(e,t,n){"use strict";n.r(t),n.d(t,"LibrariesOperationsFilter",(function(){return u})),n.d(t,"LIBRARIES_OPERATION_FILTER",(function(){return m}));var o=n(397),i=n(394),r=n(319),a=n(229),s=n(322),A=n(1853),l=n(326),c=n(272),d=n(1854),p=n(1195),f=n(245),u=function(){function LibrariesOperationsFilter(e,t){this.storageService=e,this.userStore=t}return LibrariesOperationsFilter.prototype.filter=function(e,t){return this.isTypeSupported(t.dataItem)?(e=this.filterOperationsForMedia(e,t),e=this.filterOperationsForLibrariesAndFolders(e,t),(e=this.filterOperationsForGridModeAndTarget(e,t)).map((function(e){return e.Category.Name===r.OPERATION_CATEGORIES.librariesGridView&&(e.token={type:A.SwitchGridViewCommand,properties:{gridViewName:e.Name}}),e.Name===r.OPERATION_NAMES.regenerateThumbnails&&(e.token={type:d.RegenerateThumbnailsCommand,properties:{}}),e}))):e},LibrariesOperationsFilter.prototype.filterOperationsForMedia=function(e,t){if(l.MediaHelpers.isMediaEntity(t.dataItem))if(t.target===i.OperationsTarget.List){var n=e.find((function(e){return e.Name===r.OPERATION_NAMES.createLibrary}));n&&(n.Ordinal=s.PRIMARY_BUTTON_ORDINAL-1)}else if(t.target===i.OperationsTarget.Create){var o=[r.OPERATION_NAMES.createLibrary];e.find((function(e){return e.Name===r.OPERATION_NAMES.uploadPublished}))&&o.push(r.OPERATION_NAMES.upload),e=e.filter((function(e){return-1===o.indexOf(e.Name)}))}return e},LibrariesOperationsFilter.prototype.filterOperationsForLibrariesAndFolders=function(e,t){if(l.MediaHelpers.isLibrary(t.dataItem.metadata.setName)&&t.target===i.OperationsTarget.List){var n=e.find((function(e){return e.Name===r.OPERATION_NAMES.create}));n&&(n.Ordinal=s.PRIMARY_BUTTON_ORDINAL-1);var o=e.find((function(e){return e.Name===r.OPERATION_NAMES.createMedia}));o&&(o.Ordinal=s.PRIMARY_BUTTON_ORDINAL)}if(l.MediaHelpers.isLibrary(t.dataItem.metadata.setName)&&t.target===i.OperationsTarget.List){var a=e.find((function(e){return e.Name===r.OPERATION_NAMES.edit}));a&&(a.Title=r.OPERATION_TITLES.libraryProperties),e.find((function(e){return e.Name===r.OPERATION_NAMES.reorder}))&&(!t.dataItem.data||t.dataItem.data.ChildrenCount<=1)&&(e=e.filter((function(e){return e.Name!==r.OPERATION_NAMES.reorder})))}return e},LibrariesOperationsFilter.prototype.filterOperationsForGridModeAndTarget=function(e,t){var n=this.storageService.getItem(c.LIBRARIES_GRID_VIEW_KEY),o=this.userStore.userId;return Object(f.getGridViewMode)(n,o)===f.GridViewModes.Timeline&&t.target!==i.OperationsTarget.Create&&(e=t.parentItem?e.filter((function(e){return e.Name!==r.OPERATION_NAMES.createLibrary})):e.filter((function(e){return e.Name!==r.OPERATION_NAMES.create}))),t.target===i.OperationsTarget.Create&&(e=e.filter((function(e){return e.Category.Name!==r.OPERATION_CATEGORIES.librariesGridView}))),t.target!==i.OperationsTarget.Bulk&&t.target!==i.OperationsTarget.List&&(t.target!==i.OperationsTarget.Edit&&(e=e.filter((function(e){return e.Name!==r.OPERATION_NAMES.schedule}))),e=e.filter((function(e){return e.Name!==r.OPERATION_NAMES.bulkEditProperties}))),e},LibrariesOperationsFilter.prototype.isTypeSupported=function(e){return l.MediaHelpers.isLibraryOrMedia(e.metadata.setName)},LibrariesOperationsFilter.ɵfac=function LibrariesOperationsFilter_Factory(e){return new(e||LibrariesOperationsFilter)(a["ɵɵinject"](c.LOCAL_STORAGE),a["ɵɵinject"](p.UserDataStore))},LibrariesOperationsFilter.ɵprov=a["ɵɵdefineInjectable"]({token:LibrariesOperationsFilter,factory:LibrariesOperationsFilter.ɵfac}),LibrariesOperationsFilter}(),m={multi:!0,provide:o.OPERATIONS_FILTER_TOKEN,useClass:u}},function(e,t,n){"use strict";n.r(t),n.d(t,"SwitchGridViewCommand",(function(){return l}));var o=n(11),i=n(272),r=n(260),a=n(244),s=n(1195),A=n(229),l=function(){function SwitchGridViewCommand(e,t,n,o){this.storage=e,this.router=t,this.window=n,this.userStore=o}return SwitchGridViewCommand.prototype.execute=function(e){var t=this.userStore.userId;this.storage.setItem(i.LIBRARIES_GRID_VIEW_KEY,t+","+e.data.gridViewName),this.router.navigate([],{queryParamsHandling:"preserve"});var n=new CustomEvent("gridViewStateChanged");return this.window.dispatchEvent(n),Object(o.of)({selectedSettingName:e.data.gridViewName})},SwitchGridViewCommand.ɵfac=function SwitchGridViewCommand_Factory(e){return new(e||SwitchGridViewCommand)(A["ɵɵinject"](i.LOCAL_STORAGE),A["ɵɵinject"](r.Router),A["ɵɵinject"](a.WINDOW_TOKEN),A["ɵɵinject"](s.UserDataStore))},SwitchGridViewCommand.ɵprov=A["ɵɵdefineInjectable"]({token:SwitchGridViewCommand,factory:SwitchGridViewCommand.ɵfac}),SwitchGridViewCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"RegenerateThumbnailsCommand",(function(){return k}));var o=n(259),i=n(1118),r=n(316),a=n(269),s=n(1223),A=n(319),l=n(260),c=n(1845),d=n(1174),p=n(1225),f=n(1222),u=n(1177),m=n(262),g=n(1178),E=n(1216),h=n(244),b=n(317),C=n(256),B=n(229),k=function(e){function RegenerateThumbnailsCommand(t,n,o,i,r,a,s,l,c){var d=e.call(this,t,n,i,o,a,s,c)||this;return d.longRunningTasksService=r,d.service=a,d.notificationService=s,d.window=l,d.sortService=c,d.isHierarchical=!1,d.dialogMapping="regenerateThumbnails",d.dialogTitle=A.OPERATION_TITLES.regenerateThumbnails,d.confirmButtonText=A.OPERATION_TITLES.regenerateThumbnails,d}return Object(o.__extends)(RegenerateThumbnailsCommand,e),RegenerateThumbnailsCommand.prototype.generateDescription=function(e){e.properties.notificationText="This operation will generate thumbnails in sizes specified in the properties of the selected library. It may take from few seconds up to few hours depending on the number of images in the library.",e.properties.notificationLook="warning sf-mt--5xl"},RegenerateThumbnailsCommand.prototype.getEntityData=function(){var e=this.route.snapshot.queryParams[m.QUERY_PARAMS.PROVIDER]||null;this.entityData=b.DataItem.emptyItem({metadata:this.metadataStore.getEntity(C.ENTITY_SET.ALBUMS),culture:null,provider:e})},RegenerateThumbnailsCommand.prototype.executeConfirmAction=function(e,t){var n=this;this.longRunningTasksService.start(e[0].key,p.TaskType.RegenerateThumbnails).subscribe((function(e){t.next(new i.ClickResult(!0,!0))}),(function(e){n.notificationService.publishBasicNotification({message:e.message,look:g.NOTIFICATION_LOOKS.ERROR,duration:m.NOTIFICATION_DURATION_INFINITE,filterParam:E.MODAL_WINDOW_NOTIFICATION_FILTER}),t.next(new i.ClickResult(!1,!1,!0));var o=new CustomEvent(s.LONG_RUNNING_TASK_COMPLETED);n.window.dispatchEvent(o)}))},RegenerateThumbnailsCommand.prototype.onDone=function(e,t){this.notificationService.close(),t.next(),t.complete()},RegenerateThumbnailsCommand.ɵfac=function RegenerateThumbnailsCommand_Factory(e){return new(e||RegenerateThumbnailsCommand)(B["ɵɵinject"](i.ModalWindowService),B["ɵɵinject"](a.MetadataStore),B["ɵɵinject"](l.ActivatedRoute),B["ɵɵinject"](f.CompositeDataExtender),B["ɵɵinject"](s.LongRunningTasksService),B["ɵɵinject"](r.DynamicItemService),B["ɵɵinject"](u.NOTIFICATION_SERVICE),B["ɵɵinject"](h.WINDOW_TOKEN),B["ɵɵinject"](d.SortService))},RegenerateThumbnailsCommand.ɵprov=B["ɵɵdefineInjectable"]({token:RegenerateThumbnailsCommand,factory:RegenerateThumbnailsCommand.ɵfac}),RegenerateThumbnailsCommand}(c.LibraryTasksBaseCommand)},function(e,t,n){"use strict";n.r(t),n.d(t,"ThumbnailListComponent",(function(){return m}));var o=n(259),i=n(229),r=n(264),a=n(317),s=n(1180),A=n(245),l=n(1222),c=(n(1173),n(1225)),d=n(261),p=n(1835),f=n(1730),u=n(354),_c0=function(e){return{"-sf-mb-2xl":e}};function ThumbnailListComponent_sf_library_select_0_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-library-select",3),i["ɵɵlistener"]("clickLibrary",(function ThumbnailListComponent_sf_library_select_0_Template_sf_library_select_clickLibrary_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onClickFolder(e)}))("selectLibrary",(function ThumbnailListComponent_sf_library_select_0_Template_sf_library_select_selectLibrary_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onSelectFolder(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](5,_c0,o.files.length&&o.libraries.length))("value",o.value)("libraries",o.libraries)("selectable",!0)("mediaEntityData",o.mediaEntityData)}}function ThumbnailListComponent_sf_file_list_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-file-list",4,5),i["ɵɵlistener"]("clickFile",(function ThumbnailListComponent_sf_file_list_1_Template_sf_file_list_clickFile_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onClickFile(e)}))("selectFile",(function ThumbnailListComponent_sf_file_list_1_Template_sf_file_list_selectFile_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onSelectFile(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("mediaEntityData",o.files.length>0?o.files[0]:o.mediaEntityData)("value",o.value)("groupByMonth",o.showAsTimeline)("dimNotTranslated",!0)("showNotTranslatedLabel",!0)("mediaItems",o.files)}}function ThumbnailListComponent_sf_loader_2_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-loader",6),2&e&&i["ɵɵproperty"]("count",3)}var m=function(e){function ThumbnailListComponent(t){var n=e.call(this)||this;return n.compositeDataExtender=t,n.selectFile=new i.EventEmitter,n.onCommand=new i.EventEmitter,n.isLoadingItems=!0,n.files=[],n.libraries=[],n.itemSelectionInfo={selectedItems:new Map,deselectedItems:new Map,excludedItems:new Array,nodesPositions:new Map},n.selectedFiles={},n._dataItems=[],n}return Object(o.__extends)(ThumbnailListComponent,e),Object.defineProperty(ThumbnailListComponent.prototype,"itemsState",{set:function(e){var t=this;if(this.isLoadingItems=e.isLoadingItems,!e.isLoadingItems){var n=this.mapFiles(e.dataItems);this.files=n.filter((function(e){return e.metadata.isMedia})).map((function(e){return t.markTranslated(e)})),this.libraries=n.filter((function(e){return!e.metadata.isMedia})),this._dataItems=n}},enumerable:!1,configurable:!0}),Object.defineProperty(ThumbnailListComponent.prototype,"mediaEntityData",{get:function(){return this._mediaEntityData},set:function(e){this._mediaEntityData&&this._mediaEntityData.metadata.setName!==e.metadata.setName&&(this.libraries=[],this.files=[]),this._mediaEntityData=e},enumerable:!1,configurable:!0}),Object.defineProperty(ThumbnailListComponent.prototype,"value",{get:function(){return Object.keys(this.selectedFiles).map((function(e){return{data:{Id:e}}}))},enumerable:!1,configurable:!0}),ThumbnailListComponent.prototype.isSelected=function(e){return this.selectedFiles[e.data.Id]},ThumbnailListComponent.prototype.onSelectFile=function(e){var t=this._dataItems.find((function(t){return t.data.Id===e.data.Id}));this.selectedFiles[e.data.Id]?(this.itemSelectionInfo.deselectedItems.set(e.data.Id,t),this.itemSelectionInfo.selectedItems.delete(e.data.Id),delete this.selectedFiles[e.data.Id]):(this.selectedFiles[e.data.Id]=e,this.itemSelectionInfo.selectedItems.set(e.data.Id,t),this.itemSelectionInfo.deselectedItems.delete(e.data.Id)),this.selectFile.emit(this.itemSelectionInfo)},ThumbnailListComponent.prototype.onClickFile=function(e){if(Object.keys(this.selectedFiles).length>0&&e.data&&!e.data.disableCheckbox)this.onSelectFile(e);else{var t=this._dataItems.find((function(t){return t.data.Id===e.data.Id}));t&&this.onCommand.emit({name:s.COMMAND_NAMES.selectionChanged,data:t})}},ThumbnailListComponent.prototype.onClickFolder=function(e){this.onClickFile(e)},ThumbnailListComponent.prototype.onSelectFolder=function(e){this.onSelectFile(e)},ThumbnailListComponent.prototype.selectAllNodes=function(e){var t=this;this.itemSelectionInfo.selectedItems.clear(),this.itemSelectionInfo.deselectedItems.clear(),this._dataItems.forEach((function(n){n.data.disableCheckbox||-1!==e.indexOf(n.data.Id)||(t.itemSelectionInfo.selectedItems.set(n.data.Id,n),t.selectedFiles[n.data.Id]=n)})),this.itemSelectionInfo.excludedItems=e,this.selectFile.emit(this.itemSelectionInfo)},ThumbnailListComponent.prototype.clearAllSelectedNodes=function(){this.selectedFiles={},this.itemSelectionInfo.deselectedItems.clear(),this.itemSelectionInfo.selectedItems.clear(),this.selectFile.emit(this.itemSelectionInfo)},ThumbnailListComponent.prototype.mapFiles=function(e){return this.compositeDataExtender.enhanceDataItems(this.mediaEntityData,e,{inactive:!0,failedValidation:function(e){return{errorMessage:e}}},{whiteListedTasks:[c.BackgroundTaskType.RegenerateThumbnails]})},ThumbnailListComponent.prototype.markTranslated=function(e){var t=e.culture,n=Object(A.cloneInstance)(e.data);return n.isTranslated=!t||e.data.AvailableLanguages.some((function(e){return e===t})),a.DataItem.fromEntityData(n,e)},ThumbnailListComponent.ɵfac=function ThumbnailListComponent_Factory(e){return new(e||ThumbnailListComponent)(i["ɵɵdirectiveInject"](l.CompositeDataExtender))},ThumbnailListComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ThumbnailListComponent,selectors:[["sf-thumbnail-list"]],inputs:{itemsState:"itemsState",mediaEntityData:"mediaEntityData",showAsTimeline:"showAsTimeline"},outputs:{selectFile:"selectFile",onCommand:"onCommand"},features:[i["ɵɵInheritDefinitionFeature"]],decls:3,vars:3,consts:[["class","-sf-block",3,"ngClass","value","libraries","selectable","mediaEntityData","clickLibrary","selectLibrary",4,"ngIf"],[3,"mediaEntityData","value","groupByMonth","dimNotTranslated","showNotTranslatedLabel","mediaItems","clickFile","selectFile",4,"ngIf"],["look","skeleton media fluid-content sf-mt-3xs",3,"count",4,"ngIf"],[1,"-sf-block",3,"ngClass","value","libraries","selectable","mediaEntityData","clickLibrary","selectLibrary"],[3,"mediaEntityData","value","groupByMonth","dimNotTranslated","showNotTranslatedLabel","mediaItems","clickFile","selectFile"],["fileList",""],["look","skeleton media fluid-content sf-mt-3xs",3,"count"]],template:function ThumbnailListComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,ThumbnailListComponent_sf_library_select_0_Template,1,7,"sf-library-select",0),i["ɵɵtemplate"](1,ThumbnailListComponent_sf_file_list_1_Template,2,6,"sf-file-list",1),i["ɵɵtemplate"](2,ThumbnailListComponent_sf_loader_2_Template,1,1,"sf-loader",2)),2&e&&(i["ɵɵproperty"]("ngIf",!t.showAsTimeline),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.files.length>0),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.isLoadingItems))},directives:[d.NgIf,p.LibrarySelectComponent,d.NgClass,f.FileListComponent,u.SfLoaderComponent],encapsulation:2}),ThumbnailListComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaDeleteCommandExtender",(function(){return l})),n.d(t,"MEDIA_DELETE_COMMAND_EXTENDER",(function(){return d}));var o=n(259),i=n(229),r=n(1622),a=n(326),s=n(1857),A=n(246),l=function(e){function MediaDeleteCommandExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(MediaDeleteCommandExtender,e),MediaDeleteCommandExtender.prototype.isSupportedType=function(e){return a.MediaHelpers.isLibraryOrMedia(e.metadata.setName)},MediaDeleteCommandExtender.prototype.showMultilingualButtons=function(t){return e.prototype.showMultilingualButtons.call(this,t)&&t.selectedItems.every((function(e){return a.MediaHelpers.isMediaEntity(e)}))},MediaDeleteCommandExtender.prototype.permanentDelete=function(t){return e.prototype.permanentDelete.call(this,t)||t.selectedItems.some((function(e){return!a.MediaHelpers.isMediaEntity(e)}))},MediaDeleteCommandExtender.prototype.getTitle=function(t){var n=t.selectedItems.some((function(e){return!a.MediaHelpers.isMediaEntity(e)})),o=t.selectedItems.some((function(e){return a.MediaHelpers.isMediaEntity(e)})),i=a.MediaHelpers.resolveMediaSetName(t.entityData.metadata.setName);if(o&&n)return t.bulk?"Delete selected libraries and "+i+" permanently?":e.prototype.getTitle.call(this,t);if(o&&!n){var r=A.stringConstants.EMPTY_STRING;return this.permanentDelete(t)&&(r=" permanently"),t.bulk?"Delete selected "+i+r+"?":e.prototype.getTitle.call(this,t)}return!o&&n&&t.bulk?"Delete selected libraries permanently?":e.prototype.getTitle.call(this,t)},MediaDeleteCommandExtender.prototype.getDisplayName=function(t){var n=t.selectedItems.some((function(e){return!a.MediaHelpers.isMediaEntity(e)})),o=t.selectedItems.some((function(e){return a.MediaHelpers.isMediaEntity(e)})),i=a.MediaHelpers.resolveMediaSetName(t.entityData.metadata.setName);return o&&n?t.bulk?"libraries and "+i:e.prototype.getDisplayName.call(this,t):o&&!n?t.bulk?i:e.prototype.getDisplayName.call(this,t):!o&&n&&t.bulk?"libraries":e.prototype.getDisplayName.call(this,t)},MediaDeleteCommandExtender.ɵfac=function MediaDeleteCommandExtender_Factory(e){return c(e||MediaDeleteCommandExtender)},MediaDeleteCommandExtender.ɵprov=i["ɵɵdefineInjectable"]({token:MediaDeleteCommandExtender,factory:MediaDeleteCommandExtender.ɵfac}),MediaDeleteCommandExtender}(s.DeleteCommandExtenderBase),c=i["ɵɵgetInheritedFactory"](l),d={multi:!0,provide:r.DELETE_COMMAND_EXTENDER_TOKEN,useClass:l}},function(e,t,n){"use strict";n.r(t),n.d(t,"DeleteCommandExtenderBase",(function(){return r}));var o=n(1752),i=n(396),r=function(){function DeleteCommandExtenderBase(){}return DeleteCommandExtenderBase.prototype.showMultilingualButtons=function(e){var t=e.siteData.ContentCultures;return e.entityData.metadata.isMultilingual&&t.length>1&&(e.bulk||e.dataItem&&e.dataItem.data.AvailableLanguages&&e.dataItem.data.AvailableLanguages.length>1)},DeleteCommandExtenderBase.prototype.permanentDelete=function(e){var t=!0;if(e.action.contextParameters){var n=e.action.contextParameters.find((function(e){return e.Name===o.PERMANENT_DELETE_PARAM_NAME}));n&&(t="false"!==n.Value.toLowerCase())}return t},DeleteCommandExtenderBase.prototype.getTitle=function(e){return e.action.detailedTitle||e.action.title},DeleteCommandExtenderBase.prototype.getDisplayName=function(e){return e.bulk?i.CompositeOperationsProvider.getOperationPluralName(e.dataItem?e.dataItem.metadata:e.entityData.metadata,e.action.contextParameters):i.CompositeOperationsProvider.getOperationSingularName(e.dataItem?e.dataItem.metadata:e.entityData.metadata,e.action.contextParameters)},DeleteCommandExtenderBase}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaFieldsProvider",(function(){return c})),n.d(t,"MEDIA_FIELDS_PROVIDER",(function(){return p}));var o=n(259),i=n(379),r=n(256),a=n(229),s=n(1623),A=n(382),l=n(266),c=function(e){function MediaFieldsProvider(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(MediaFieldsProvider,e),MediaFieldsProvider.prototype.overrideField=function(e){if((e.typeName===r.ENTITY_SET.IMAGES||e.typeName===r.ENTITY_SET.VIDEOS||e.typeName===r.ENTITY_SET.DOCUMENTS)&&e.fieldName===l.Properties.MEDIA_FILE_URL_NAME)return{readComponent:s.StructureUrlNameComponent,settingsType:A.StructureUrlNameSettings,writeComponent:s.StructureUrlNameComponent}},MediaFieldsProvider.ɵfac=function MediaFieldsProvider_Factory(e){return d(e||MediaFieldsProvider)},MediaFieldsProvider.ɵprov=a["ɵɵdefineInjectable"]({token:MediaFieldsProvider,factory:MediaFieldsProvider.ɵfac}),MediaFieldsProvider}(i.DefaultFieldsProvider),d=a["ɵɵgetInheritedFactory"](c),p={provide:i.FIELDS_PROVIDER_TOKEN,useClass:c,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaFieldsChangeService",(function(){return A})),n.d(t,"MEDIA_FIELD_CHANGE_HANDLER",(function(){return l}));var o=n(1127),i=n(256),r=n(266),a=n(326),s=n(229),A=function(){function MediaFieldsChangeService(){}return MediaFieldsChangeService.prototype.processChange=function(e,t,n){e===i.MEDIA_DATA_FIELD_NAME&&this.processMediaDataFieldName(t,n),e===r.Properties.PARENT_ID&&this.processParentIdFieldChange(n)},MediaFieldsChangeService.prototype.canProcess=function(e){return a.MediaHelpers.isLibraryType(e)||e===i.IMAGE_ITEM_FULL_NAME||e===i.VIDEO_ITEM_FULL_NAME},MediaFieldsChangeService.prototype.processParentIdFieldChange=function(e){var t=e.find((function(e){return e.fieldModel.key===r.Properties.TITLE}));t&&t.formControl.updateValueAndValidity()},MediaFieldsChangeService.prototype.processMediaDataFieldName=function(e,t){var n=t.find((function(e){return e.fieldModel.key===r.Properties.THUMBNAIL_URL}));if(n)n.currentInstance.videoFile=e;else{var o=t.find((function(e){return e.fieldModel.key===r.Properties.MEDIA_FILE_URL_NAME}));if(o&&!o.hasValue){var i=e.name,a=i.lastIndexOf("."),s=i.substr(0,a),A=i.substr(a),l=o.currentInstance;l.writeValue(s),l.extension=A}}},MediaFieldsChangeService.ɵfac=function MediaFieldsChangeService_Factory(e){return new(e||MediaFieldsChangeService)},MediaFieldsChangeService.ɵprov=s["ɵɵdefineInjectable"]({token:MediaFieldsChangeService,factory:MediaFieldsChangeService.ɵfac}),MediaFieldsChangeService}(),l={provide:o.FIELDS_CHANGE_SERVICE_TOKEN,useClass:A,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaBulkCommandExtender",(function(){return y})),n.d(t,"MEDIA_BULK_COMMAND_EXTENDER",(function(){return S}));var o=n(259),i=n(1689),r=n(317),a=n(326),s=n(269),A=n(256),l=n(229),c=n(1626),d=n(319),p=n(1844),f=n(1208),u=n(260),m=n(1118),g=n(245),E=n(1195),h=n(272),b=n(266),C=n(1222),B=n(1861),k=n(1165),I=n(1213),v=n(1177),w=n(1171),_=n(1174),x=n(1223),y=function(e){function MediaBulkCommandExtender(t,n,o,i,r,a,s,A,l,c,d,p,f){var u=e.call(this)||this;return u.metadataStore=t,u.mediaService=n,u.route=o,u.taskService=i,u.dynamicItemStore=r,u.modalService=a,u.storageService=s,u.userStore=A,u.fieldsGeneratorService=l,u.backendTweaksStore=c,u.notificationService=d,u.compositeDataExtender=p,u.sortService=f,u}return Object(o.__extends)(MediaBulkCommandExtender,e),MediaBulkCommandExtender.prototype.isSupportedType=function(e){return a.MediaHelpers.isLibraryOrMedia(e.metadata.setName)},MediaBulkCommandExtender.prototype.getEntityDatasForBulkOperation=function(e,t){void 0===t&&(t=null);var n=[e];return!t&&a.MediaHelpers.isMediaEntity(e)&&n.push({metadata:this.metadataStore.getEntity(A.ENTITY_SET.FOLDERS),culture:e.culture,provider:e.provider}),n},MediaBulkCommandExtender.prototype.getFilterByParentQuery=function(e,t,n){return a.MediaHelpers.isLibrary(e.metadata.setName)?t=t.or().and().eq(b.Properties.ROOT_ID,n).eq(b.Properties.PARENT_ID,null).done().eq(b.Properties.PARENT_ID,n).done():a.MediaHelpers.isMediaEntity(e)&&(t=t.or().and().eq(b.Properties.PARENT_ID,n).eq(b.Properties.FOLDER_ID,null).done().eq(b.Properties.FOLDER_ID,n).done()),t},MediaBulkCommandExtender.prototype.tryHandleCommand=function(e,t){if(e.name===d.OPERATION_NAMES.move){var n=t.entityData;return this.getPresenterTemplate()===g.GridViewModes.Timeline&&(n={metadata:this.metadataStore.getEntity(A.ENTITY_SET.IMAGES),culture:n.culture,provider:n.provider}),(o=new p.MoveToLibraryCommand(this.modalService,this.metadataStore,this.compositeDataExtender,this.route,this.taskService,this.mediaService,this.dynamicItemStore.service,this.notificationService,this.sortService)).entityData=r.DataItem.emptyItem(n),o}var o;return e.name===d.OPERATION_NAMES.bulkEditProperties?o=new B.BulkEditMediaPropertiesCommand(this.modalService,this.fieldsGeneratorService,this.backendTweaksStore,this.dynamicItemStore.service):null},MediaBulkCommandExtender.prototype.getPresenterTemplate=function(){var e=this.storageService.getItem(h.LIBRARIES_GRID_VIEW_KEY),t=this.userStore.userId;return Object(g.getGridViewMode)(e,t)},MediaBulkCommandExtender.ɵfac=function MediaBulkCommandExtender_Factory(e){return new(e||MediaBulkCommandExtender)(l["ɵɵinject"](s.MetadataStore),l["ɵɵinject"](f.MediaService),l["ɵɵinject"](u.ActivatedRoute),l["ɵɵinject"](x.LongRunningTasksService),l["ɵɵinject"](w.DynamicItemStore),l["ɵɵinject"](m.ModalWindowService),l["ɵɵinject"](h.LOCAL_STORAGE),l["ɵɵinject"](E.UserDataStore),l["ɵɵinject"](k.FieldsGeneratorService),l["ɵɵinject"](I.BackendTweaksStore),l["ɵɵinject"](v.NOTIFICATION_SERVICE),l["ɵɵinject"](C.CompositeDataExtender),l["ɵɵinject"](_.SortService))},MediaBulkCommandExtender.ɵprov=l["ɵɵdefineInjectable"]({token:MediaBulkCommandExtender,factory:MediaBulkCommandExtender.ɵfac}),MediaBulkCommandExtender}(i.BulkCommandExtenderBase),S={multi:!0,provide:c.BULK_COMMAND_EXTENDER_TOKEN,useClass:y}},function(e,t,n){"use strict";n.r(t),n.d(t,"BulkEditMediaPropertiesCommand",(function(){return b}));var o=n(259),i=n(11),r=n(1118),a=n(361),s=n(319),A=n(1226),l=n(324),c=n(267),d=n(266),p=n(332),f=n(1227),u=n(245),m=n(328),g=n(326),E=[d.Properties.URL_NAME,d.Properties.MEDIA_FILE_URL_NAME],h=[d.Properties.TITLE,d.Properties.DESCRIPTION,d.Properties.ALTERNATIVE_TEXT],b=function(){function BulkEditMediaPropertiesCommand(e,t,n,o){this.modalWindowService=e,this.fieldsGeneratorService=t,this.backendTweaksStore=n,this.dynamicItemService=o,this.executeOnceInBulk=!0,this.skipNotification=!1,this.lockedItems={}}return BulkEditMediaPropertiesCommand.prototype.execute=function(e){var t=this;this.entityData=e.data.selectedItems[0];var n=new i.ReplaySubject(1);return this.getMediaItems(e).subscribe((function(o){var i=[];o.length>0&&(i.push(new r.ConfirmButton(s.OPERATION_TITLES.saveChanges)),i.push(new r.CancelButton(a.SelectorConstants.CANCEL)));var l={type:A.BulkComponent,properties:{type:t.entityData.metadata.singularName.toLowerCase(),items:o},afterComponentInit:function(e){e.onFieldChange.subscribe((function(e){t.lockItem(e)}))}},c=new r.DialogData(l,(function(e){return t.onDone(e,n)}),i,null,"-bottom");t.modalWindowService.setMapping(c,"bulkEditMedia"),t.modalWindowService.open(e.currentRoute,"bulkEditMedia")})),n},BulkEditMediaPropertiesCommand.prototype.getAdditionalFieldsNames=function(e){var t=[e.metadata.defaultFieldName,d.Properties.EXTENSION,d.Properties.MIME_TYPE,d.Properties.DESCRIPTION];return g.MediaHelpers.isImageEntity(e)?(t.push(d.Properties.THUMBNAIL_URL),t.push(d.Properties.ALTERNATIVE_TEXT)):g.MediaHelpers.isVideoEntity(e)&&t.push(d.Properties.THUMBNAIL_URL),t},BulkEditMediaPropertiesCommand.prototype.getMediaItems=function(e){var t=this,n=new i.ReplaySubject(1),r=[],a=this.getFields(),A=a.filter((function(e){return e.settings.required&&!h.includes(e.key)})).map((function(e){return e.key})),c=Object(o.__spreadArrays)([this.entityData.metadata.key],this.getAdditionalFieldsNames(this.entityData),A),d=e.data.selectedItems.filter((function(e){return e.isTranslated})).map((function(e){return{dataItem:e,operation:{action:s.OPERATION_NAMES.edit},doNotRefreshItem:!1,dataFieldNames:c}}));return this.dynamicItemService.updateItemsWithBulkOperationResult(d,this.entityData).subscribe((function(e){var o=e.succeededItemsIds.map((function(t){return{dataItem:e.items.find((function(e){return e.key===t})),isEditable:!0}})),i=e.failedItemsIds.map((function(t){return{dataItem:e.items.find((function(e){return e.key===t})),isEditable:!1}}));o.concat(i).forEach((function(e){var n,o=e.dataItem,i={fields:[],form:new l.FormGroup((n={},n.Title=new l.FormControl(o.title),n)),dataItem:o};t.populateItemFieldsAndForm(i,o,a,e.isEditable),r.push(i)})),n.next(r)})),n.asObservable()},BulkEditMediaPropertiesCommand.prototype.getFields=function(){var e=this.fieldsGeneratorService.generateFieldModels(this.entityData.metadata,this.entityData.metadata.setName,this.backendTweaksStore,null).filter((function(e){return E.indexOf(e.key)<0})).map((function(e){return e.settings.showTitle=!1,e})),t=this.createMediaFieldModel(),n=e.find((function(e){return e.key===d.Properties.TITLE}));n.settings.type="textarea";var o=e.find((function(e){return e.key===d.Properties.ALTERNATIVE_TEXT}));o&&(o.cssClass="-col-size-xl",o.settings.placeholder="add alt text...",o.settings.type="textarea",o.settings.title="Alternative text");var i=e.find((function(e){return e.key===d.Properties.DESCRIPTION}));g.MediaHelpers.isImageEntity(this.entityData)?i.cssClass="-col-size-xl":(i.cssClass="-col-stretched",n.cssClass="-col-stretched"),i.settings.placeholder="add description...",i.settings.type="textarea";var r=e.filter((function(e){return e.settings.required&&!h.includes(e.key)}));return(g.MediaHelpers.isImageEntity(this.entityData)?[t,n,o,i]:g.MediaHelpers.isVideoEntity(this.entityData)?[t,n,i]:[n,i]).concat(r)},BulkEditMediaPropertiesCommand.prototype.populateItemFieldsAndForm=function(e,t,n,o){n.forEach((function(n){var i=Object(u.deepClone)(n),r=n.settings.validators;if(n.key===m.MEDIA_CONTENT_TYPES.image.single)i.value={isMultimedia:t.metadata.isMultimedia,contentType:t.data.MimeType,src:t.data.ThumbnailUrl,showErrorMessage:!1};else if(n.key===m.MEDIA_CONTENT_TYPES.video.single)i.value={isMultimedia:t.metadata.isMultimedia,contentType:g.MIME_TYPES.JPEG,src:t.data.ThumbnailUrl,showErrorMessage:!1,errorIcon:"film",errorIconLook:"lighter size-3xl sf-mr-zer",look:t.data.ThumbnailUrl?"":"video"};else{i.value=t.data[n.key];var a=!o;i.settings.disabled=a,a&&(r=null)}i.settings.key+=t.key,i.settings.culture=t.culture,i.settings.look="inline short",e.fields.push(i),e.form.setControl(n.key,new l.FormControl(i.value,r))}))},BulkEditMediaPropertiesCommand.prototype.createMediaFieldModel=function(){var e=g.MediaHelpers.resolveMediaLabels(this.entityData.metadata.setName).singular,t=new p.SettingsBase(e,!1);return t.showTitle=!1,e===m.MEDIA_CONTENT_TYPES.video.single&&(t.title="Thumbnail"),new c.FieldModel({key:e,selector:"sf-simple-media",settings:t,registration:{writeComponent:f.SimpleMediaComponent}})},BulkEditMediaPropertiesCommand.prototype.onDone=function(e,t){if(e.data&&e.data.data){var n=this.getItemsForUpdate();if(0===n.length)return t.next({success:!1}),void t.complete();var o=[];n.forEach((function(e){o.push({dataItem:e.dataItem,data:e.data,operation:{action:s.OPERATION_NAMES.defaultWorkflowOperation}})})),this.dynamicItemService.updateItemsWithBulkOperationResult(o,this.entityData).subscribe((function(e){var n=e.succeededItemsIds.filter((function(e){return e})),o=e.failedItemsIds.filter((function(e){return e}));t.next({success:!0,succeededItemsIds:n,failedItemsIds:o}),t.complete()}),(function(e){t.next({success:!1,error:e})}))}else this.unlockLockedItems().subscribe((function(){t.next({success:!1}),t.complete()}))},BulkEditMediaPropertiesCommand.prototype.getItemsForUpdate=function(){var e=this,t=[];return Object.keys(this.lockedItems).forEach((function(n){var o=e.lockedItems[n],i={},r=!1;Object.keys(o.form.controls).forEach((function(e){o.form.controls[e].dirty&&(i[e]=o.form.controls[e].value,r=!0)})),r&&t.push({dataItem:o.dataItem,data:i})})),t},BulkEditMediaPropertiesCommand.prototype.lockItem=function(e){var t=this,n=e.dataItem;if(!this.lockedItems[n.key]){this.lockedItems[n.key]=e;var o={dataItem:n,data:{}};this.dynamicItemService.updateItemWithOperationResult(o).subscribe({error:function(o){t.lockedItems[n.key]&&delete t.lockedItems[n.key],e.fields=e.fields.map((function(e){return e.settings.disabled=!0,e}))}})}},BulkEditMediaPropertiesCommand.prototype.unlockLockedItems=function(){var e=this,t=[];return Object.keys(this.lockedItems).forEach((function(n){var o=e.lockedItems[n];t.push({dataItem:o.dataItem,operation:{action:s.OPERATION_NAMES.unlock}})})),0===t.length?Object(i.of)({success:!0}):this.dynamicItemService.updateItemsWithBulkOperationResult(t,this.entityData)},BulkEditMediaPropertiesCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EditCropRotateComponent",(function(){return I}));var o=n(259),i=n(229),r=n(1863),a=n(1143),s=n(1865),A=n(245),l=n(264),c=n(270),d=n(256),p=(n(317),n(260)),f=n(262),u=n(278),m=n(280),g=n(261),E=n(354),h=n(1141),b=n(324),C=["aspectration"],B=["croppedImage"];function EditCropRotateComponent_sf_dropdown_list_choice_9_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-dropdown-list-choice",11,12),i["ɵɵlistener"]("selectionChange",(function EditCropRotateComponent_sf_dropdown_list_choice_9_Template_sf_dropdown_list_choice_selectionChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onAspectRationChange(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("settings",o.aspectRationSettings)}}function EditCropRotateComponent_ng_container_12_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"span",13),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](2),i["ɵɵtextInterpolate2"]("",null==n.resizeData?null:n.resizeData.width," x ",null==n.resizeData?null:n.resizeData.height,"")}}function EditCropRotateComponent_ng_container_13_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementContainerStart"](0),i["ɵɵelementStart"](1,"sf-input",14),i["ɵɵlistener"]("onBlur",(function EditCropRotateComponent_ng_container_13_Template_sf_input_onBlur_1_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onResizeValueChanged({key:"width",value:e.target.value})})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"span",15),i["ɵɵtext"](3,"x"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"sf-input",14),i["ɵɵlistener"]("onBlur",(function EditCropRotateComponent_ng_container_13_Template_sf_input_onBlur_4_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onResizeValueChanged({key:"height",value:e.target.value})})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"span",16),i["ɵɵtext"](6,"px"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](7,"sf-icon",17),i["ɵɵlistener"]("click",(function EditCropRotateComponent_ng_container_13_Template_sf_icon_click_7_listener(){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onConstrainProportionsClick()})),i["ɵɵelementEnd"](),i["ɵɵelementContainerEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngModel",o.resizeData.width),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngModel",o.resizeData.height),i["ɵɵadvance"](3),i["ɵɵproperty"]("name",o.resizeData.constrained?"lock":"unlock"),i["ɵɵattribute"]("title",o.resizeData.constrained?"Constrained proportions":"Free proportions")}}var k={ORIGINAL:"Original",SQUARE:"Square",SIXTEEN_TO_NINE:"16:9",FOUR_TO_THREE:"4:3"},I=function(e){function EditCropRotateComponent(t,n,o,i,r,a){var s=e.call(this)||this;return s.cropService=t,s.resizeService=n,s.detector=o,s.http=i,s.route=r,s.envService=a,s}return Object(o.__extends)(EditCropRotateComponent,e),Object.defineProperty(EditCropRotateComponent.prototype,"canvas",{get:function(){return this._canvas.getContext("2d").clearRect(0,0,this._canvas.width,this._canvas.height),this._canvas},enumerable:!1,configurable:!0}),Object.defineProperty(EditCropRotateComponent.prototype,"image",{get:function(){return this._image},set:function(e){this._image=e.nativeElement},enumerable:!1,configurable:!0}),EditCropRotateComponent.prototype.ngOnInit=function(){var e,t=this,n=this.dataItem.data.Parent.BlobStorageProvider,o=!(n===f.DEFAULT_STORAGE_PROVIDERS.DATABASE||n===f.DEFAULT_STORAGE_PROVIDERS.FILE_SYSTEM);if(this.dataItem.key&&(this.envService.getEnvironment()!==m.environmentTypes.integration||o)){var i=this.route.snapshot.queryParamMap,r=((e={})[f.QUERY_PARAMS.PROVIDER]=this.dataItem.provider,e);i.keys.indexOf(f.QUERY_PARAMS.VERSION)>-1&&(r[f.QUERY_PARAMS.VERSION]=i.get(f.QUERY_PARAMS.VERSION)),this.registerSubscription(this.http.get$(d.ENTITY_SET.IMAGES+"("+this.dataItem.key+")/$value",{responseType:"blob",params:r}).subscribe((function(e){if(!e.isLoading){var n=URL.createObjectURL(e.content);t.image.src=n}})))}else this.image.src=this.dataItem.data.Url;this.imageLoadEventListener=function(e){return t.initializeCropService()},this._canvas=document.createElement("canvas"),this.resizeData={enabled:!1,constrained:!0,width:this.item.width,height:this.item.height},this.aspectRationSettings=new a.ChoiceSettings("aspect-ratio",!1),this.aspectRationSettings.title="Aspect ratio",this.aspectRationSettings.choices=Object.values(k).map((function(e){return{Name:e,Value:e}})),this.image.addEventListener("load",this.imageLoadEventListener)},EditCropRotateComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.image.removeEventListener("load",this.imageLoadEventListener),this.cropService.removeEventListeners()},EditCropRotateComponent.prototype.getCroppedImageDataUrl=function(){return this.cropService.getCroppedImageDataUrl()},EditCropRotateComponent.prototype.onAspectRationChange=function(e){switch(this.cropService.centerCropWindow(),e){case k.ORIGINAL:this.cropService.resetCropWindow();break;case k.SQUARE:this.cropService.setAspectRatio(1);break;case k.SIXTEEN_TO_NINE:this.cropService.setAspectRatio(16/9);break;case k.FOUR_TO_THREE:this.cropService.setAspectRatio(4/3)}},EditCropRotateComponent.prototype.onResizeClick=function(){this.resizeData.enabled=!this.resizeData.enabled},EditCropRotateComponent.prototype.onRotateClick=function(){var e=this.cropService.rotate();Object(A.assignMatchingProperties)(this.resizeData,e)},EditCropRotateComponent.prototype.onResizeValueChanged=function(e){var t=Number(e.value);if(!(t<1||t>=this.image[e.key])){var n=this.resizeData.width/this.resizeData.height;this.resizeData[e.key]=t;var o={changedDimensionName:e.key,changedDimensionValue:t,constrainedProportions:this.resizeData.constrained,width:this.resizeData.width,height:this.resizeData.height,aspectRatio:n},i=this.resizeService.resize(o,this.image,this.canvas);this.applyNewChanges(i),this.aspectration.writeValue(k.ORIGINAL)}},EditCropRotateComponent.prototype.onConstrainProportionsClick=function(){this.resizeData.constrained=!this.resizeData.constrained},EditCropRotateComponent.prototype.initializeCropService=function(e){var t=this;this.removeSubsriptions(),this.containerData=e||{width:this.image.width,height:this.image.height},this.cropService.init(this.image,this.item.contentType);var n=this.cropService.dimensionsChanged.subscribe((function(e){t.resizeData.width=e.width,t.resizeData.height=e.height}));this.registerSubscription(n),this.onAspectRationChange(k.ORIGINAL),this.detector.detectChanges()},EditCropRotateComponent.prototype.applyNewChanges=function(e){this.image.src=e.dataUrl,Object(A.assignMatchingProperties)(this.resizeData,e)},EditCropRotateComponent.ɵfac=function EditCropRotateComponent_Factory(e){return new(e||EditCropRotateComponent)(i["ɵɵdirectiveInject"](r.CropService),i["ɵɵdirectiveInject"](s.ResizeService),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](c.HttpODataRequestWrapper),i["ɵɵdirectiveInject"](p.ActivatedRoute),i["ɵɵdirectiveInject"](u.EnvironmentService))},EditCropRotateComponent.ɵcmp=i["ɵɵdefineComponent"]({type:EditCropRotateComponent,selectors:[["ng-component"]],viewQuery:function EditCropRotateComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](C,1),i["ɵɵviewQuery"](B,3)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.aspectration=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.image=n.first)}},inputs:{item:"item",dataItem:"dataItem"},features:[i["ɵɵProvidersFeature"]([r.CropService,s.ResizeService]),i["ɵɵInheritDefinitionFeature"]],decls:18,vars:7,consts:[[1,"sf-crop-image","sf-form","-medium","-sf-centered-box","-sf-pb-zero"],[1,"sf-media","-fade-in-effect","-sf-mt-xs","-sf-mb-xs"],[1,"sf-placeholder"],["crossorigin","anonymous"],["croppedImage",""],[1,"sf-row","-justify-content-between","-align-items-center"],["ariaLabel","Aspect ratio","look","sf-mb-4xs sf-ml-3xs sf-mr-zero","iconLook","size-s","optgroup","Aspect ratio",3,"settings","selectionChange",4,"ngIf"],[1,"sf-row","-align-items-center","-justify-content-center"],[4,"ngIf"],["look","circle small sf-mb-4xs no-focus-visible","icon","arrows-h","iconLook","size-xs","title","Resize","iconTitle","Resize",3,"click"],["look","circle small sf-mb-4xs no-focus-visible","icon","undo","iconLook","size-xs","title","Rotate","iconTitle","Rotate",3,"click"],["ariaLabel","Aspect ratio","look","sf-mb-4xs sf-ml-3xs sf-mr-zero","iconLook","size-s","optgroup","Aspect ratio",3,"settings","selectionChange"],["aspectration",""],[1,"-sf-txt-hint"],["type","number","look","shrinked","ngDefaultControl","",1,"sf-row__col","-col-2",3,"ngModel","onBlur"],[1,"-sf-ml-3xs","-sf-mr-3xs"],[1,"-sf-ml-3xs","-sf-mr-xs"],[3,"name","click"]],template:function EditCropRotateComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵelementStart"](1,"h1"),i["ɵɵtext"](2,"Crop, resize or rotate"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"div",1),i["ɵɵelementStart"](4,"div",2),i["ɵɵelementStart"](5,"div"),i["ɵɵelement"](6,"img",3,4),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementStart"](8,"div",5),i["ɵɵtemplate"](9,EditCropRotateComponent_sf_dropdown_list_choice_9_Template,2,1,"sf-dropdown-list-choice",6),i["ɵɵelementStart"](10,"div"),i["ɵɵelementStart"](11,"div",7),i["ɵɵtemplate"](12,EditCropRotateComponent_ng_container_12_Template,3,2,"ng-container",8),i["ɵɵtemplate"](13,EditCropRotateComponent_ng_container_13_Template,8,4,"ng-container",8),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementStart"](14,"div"),i["ɵɵelementStart"](15,"sf-button",9),i["ɵɵlistener"]("click",(function EditCropRotateComponent_Template_sf_button_click_15_listener(){return t.onResizeClick()})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](16,"sf-button",10),i["ɵɵlistener"]("click",(function EditCropRotateComponent_Template_sf_button_click_16_listener(){return t.onRotateClick()})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelement"](17,"hr"),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](5),i["ɵɵstyleProp"]("width",null==t.containerData?null:t.containerData.width,"px")("height",null==t.containerData?null:t.containerData.height,"px"),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.aspectRationSettings),i["ɵɵadvance"](3),i["ɵɵproperty"]("ngIf",!t.resizeData.enabled),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.resizeData.enabled))},directives:[g.NgIf,E.SfButtonComponent,h.ChoiceDropdownListComponent,E.SfInputComponent,b.DefaultValueAccessor,b.NgControlStatus,b.NgModel,E.SfIconComponent],styles:['@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n.sf-crop-image {\n /*!\n * Cropper.js v1.5.6\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2019-10-04T04:33:44.164Z\n */\n}\n.sf-crop-image .cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.sf-crop-image .cropper-container img {\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n}\n.sf-crop-image .cropper-canvas, .sf-crop-image .cropper-crop-box, .sf-crop-image .cropper-drag-box, .sf-crop-image .cropper-modal, .sf-crop-image .cropper-wrap-box {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n.sf-crop-image .cropper-canvas, .sf-crop-image .cropper-wrap-box {\n overflow: hidden;\n}\n.sf-crop-image .cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n.sf-crop-image .cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n.sf-crop-image .cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 0.75);\n overflow: hidden;\n width: 100%;\n}\n.sf-crop-image .cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n.sf-crop-image .cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: 33.33333%;\n left: 0;\n top: 33.33333%;\n width: 100%;\n}\n.sf-crop-image .cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: 33.33333%;\n top: 0;\n width: 33.33333%;\n}\n.sf-crop-image .cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n.sf-crop-image .cropper-center:after, .sf-crop-image .cropper-center:before {\n background-color: #eee;\n content: " ";\n display: block;\n position: absolute;\n}\n.sf-crop-image .cropper-center:before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n}\n.sf-crop-image .cropper-center:after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n}\n.sf-crop-image .cropper-face, .sf-crop-image .cropper-line, .sf-crop-image .cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n.sf-crop-image .cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n.sf-crop-image .cropper-line {\n background-color: #39f;\n}\n.sf-crop-image .cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n}\n.sf-crop-image .cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n}\n.sf-crop-image .cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n}\n.sf-crop-image .cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n}\n.sf-crop-image .cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n.sf-crop-image .cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n}\n.sf-crop-image .cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n}\n.sf-crop-image .cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n}\n.sf-crop-image .cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n}\n.sf-crop-image .cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n}\n.sf-crop-image .cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n}\n.sf-crop-image .cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n}\n.sf-crop-image .cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n}\n@media (min-width: 768px) {\n .sf-crop-image .cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n}\n@media (min-width: 992px) {\n .sf-crop-image .cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n}\n@media (min-width: 1200px) {\n .sf-crop-image .cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n}\n.sf-crop-image .cropper-point.point-se:before {\n background-color: #39f;\n bottom: -50%;\n content: " ";\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n}\n.sf-crop-image .cropper-invisible {\n opacity: 0;\n}\n.sf-crop-image .cropper-bg {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");\n}\n.sf-crop-image .cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n.sf-crop-image .cropper-hidden {\n display: none !important;\n}\n.sf-crop-image .cropper-move {\n cursor: move;\n}\n.sf-crop-image .cropper-crop {\n cursor: crosshair;\n}\n.sf-crop-image .cropper-disabled .cropper-drag-box, .sf-crop-image .cropper-disabled .cropper-face, .sf-crop-image .cropper-disabled .cropper-line, .sf-crop-image .cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n.sf-crop-image .cropper-modal {\n background-color: transparent;\n}\n.sf-crop-image .cropper-view-box {\n outline-color: #DCECF5;\n outline: 5px solid #DCECF5;\n}\n.sf-crop-image .cropper-line {\n background-color: #DCECF5;\n}\n.sf-crop-image .cropper-container .cropper-point {\n height: 5px;\n width: 5px;\n opacity: 0;\n}'],encapsulation:2}),EditCropRotateComponent}(l.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ROTATION_DEGREE",(function(){return s})),n.d(t,"CropService",(function(){return A}));var o=n(1864),i=n(11),r=n(244),a=n(229),s=90,A=function(){function CropService(e){this.window=e,this.dimensionsChanged=new i.ReplaySubject(1)}return CropService.prototype.init=function(e,t){var n=this;this.destroy(),this.contentType=t;var i=new o.default(e,{checkCrossOrigin:!1,movable:!1,scalable:!1,zoomable:!1,modal:!1,guides:!1,center:!1,highlight:!1,background:!1,minContainerWidth:1,minContainerHeight:1,ready:function(){i.setCropBoxData({width:e.width,height:e.height})}});this.cropper=i,this.cropper.setCropBoxData({width:e.width,height:e.height}),this.onCropEventListener=function(){return n.onCrop()},this.window.addEventListener("crop",this.onCropEventListener)},CropService.prototype.destroy=function(){this.cropper&&this.cropper.destroy(),this.onCropEventListener&&this.removeEventListeners()},CropService.prototype.removeEventListeners=function(){this.window.removeEventListener("crop",this.onCropEventListener)},CropService.prototype.getCroppedImageDataUrl=function(){return this.cropper.getCroppedCanvas().toDataURL(this.contentType)},CropService.prototype.rotate=function(e){return void 0===e&&(e=s),this.cropper.rotate(e),{dataUrl:"",width:this.cropper.canvasData.width,height:this.cropper.canvasData.height}},CropService.prototype.resetCropWindow=function(){var e=this.cropper.getContainerData();this.cropper.setAspectRatio(0),this.cropper.setCropBoxData({height:e.height,width:e.width,left:0,top:0})},CropService.prototype.setAspectRatio=function(e){this.cropper.setAspectRatio(e)},CropService.prototype.centerCropWindow=function(){var e=this.cropper.getContainerData();if(e.height&&e.width){var t=this.cropper.getCropBoxData(),n=(e.width-t.width)/2,o=(e.height-t.height)/2;this.cropper.setCropBoxData({height:t.height,width:t.width,left:n,top:o})}},CropService.prototype.onCrop=function(){var e=this.cropper.getCropBoxData(),t=this.getCropRatio();this.dimensionsChanged.next({width:Math.floor(e.width*t.widthCropRatio),height:Math.floor(e.height*t.heightCropRatio)})},CropService.prototype.getCropRatio=function(){var e=this.cropper.getImageData(),t=1,n=1;return e.naturalWidth>e.width&&(t=e.naturalWidth/e.width),e.naturalHeight>e.height&&(n=e.naturalHeight/e.height),{widthCropRatio:t,heightCropRatio:n}},CropService.ɵfac=function CropService_Factory(e){return new(e||CropService)(a["ɵɵinject"](r.WINDOW_TOKEN))},CropService.ɵprov=a["ɵɵdefineInjectable"]({token:CropService,factory:CropService.ɵfac}),CropService}()},,function(e,t,n){"use strict";n.r(t),n.d(t,"DIMENSION_PROPERTIES",(function(){return i})),n.d(t,"ResizeService",(function(){return r}));var o=n(229),i={WIDTH:"width",HEIGHT:"height"},r=function(){function ResizeService(){}return ResizeService.prototype.resize=function(e,t,n){var o=e.width,r=e.height;e.changedDimensionName===i.WIDTH&&(e.constrainedProportions&&(r=Math.round(o/e.aspectRatio)),o=e.changedDimensionValue),e.changedDimensionName===i.HEIGHT&&(e.constrainedProportions&&(o=r*e.aspectRatio),r=e.changedDimensionValue);var a=n.getContext("2d");return n.width=o,n.height=r,a.drawImage(t,0,0,o,r),{dataUrl:a.canvas.toDataURL(null,1),width:o,height:r}},ResizeService.ɵfac=function ResizeService_Factory(e){return new(e||ResizeService)},ResizeService.ɵprov=o["ɵɵdefineInjectable"]({token:ResizeService,factory:ResizeService.ɵfac}),ResizeService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ImageHandler",(function(){return u})),n.d(t,"IMAGE_HANDLER",(function(){return m}));var o=n(259),i=n(1714),r=n(1118),a=n(1862),s=n(361),A=n(11),l=n(326),c=n(1155),d=n(270),p=n(229),f={CROP_RESIZE_ROTATE:"Crop, resize or rotate"},u=function(e){function ImageHandler(t,n){var o=e.call(this,t,n)||this;return o.modalWindowService=t,o.http=n,o}return Object(o.__extends)(ImageHandler,e),ImageHandler.prototype.canHandle=function(e){return l.MediaHelpers.isImageEntity(e)},ImageHandler.prototype.executeOperation=function(t){switch(t.operationName){case f.CROP_RESIZE_ROTATE:return this.handleCropResizeRotate(t);default:return e.prototype.executeOperation.call(this,t)}},ImageHandler.prototype.getEditOperations=function(t,n,i){void 0===n&&(n=!1),void 0===i&&(i=[]);var r=e.prototype.getEditOperations.call(this,t,n,i),a=Object.values(f);return t.extension&&t.extension.includes("svg")||n?r:Object(o.__spreadArrays)(a,r)},ImageHandler.prototype.handleCropResizeRotate=function(e){var t=new A.ReplaySubject,n=[new r.ConfirmButton(s.SelectorConstants.DONE),new r.CancelButton(s.SelectorConstants.CANCEL)],o={type:a.EditCropRotateComponent,properties:{item:e.item,dataItem:e.mediaDataItem}},i=new r.DialogData(o,(function(e){if(e.data&&e.data.data){var n=e.component;if(n){var o={dataUrl:n.getCroppedImageDataUrl()};t.next(o)}}}),n,null,null);return i.toolbarData={type:c.ToolbarComponent,properties:{header:f.CROP_RESIZE_ROTATE}},this.modalWindowService.setMapping(i,"edit-image"),this.modalWindowService.open(e.route,"edit-image"),t.asObservable()},ImageHandler.ɵfac=function ImageHandler_Factory(e){return new(e||ImageHandler)(p["ɵɵinject"](r.ModalWindowService),p["ɵɵinject"](d.HttpODataRequestWrapper))},ImageHandler.ɵprov=p["ɵɵdefineInjectable"]({token:ImageHandler,factory:ImageHandler.ɵfac}),ImageHandler}(i.MediaHandler),m={provide:i.MediaHandler,useClass:u,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaDataExtender",(function(){return p})),n.d(t,"MEDIA_DATA_EXTENDER",(function(){return f}));var o=n(259),i=n(229),r=n(1222),a=n(317),s=n(326),A=n(1223),l=n(245),c=n(1225),d=n(246),p=function(e){function MediaDataExtender(t){var n=e.call(this)||this;return n.longRunningTasksSerivce=t,n}return Object(o.__extends)(MediaDataExtender,e),MediaDataExtender.prototype.isSupportedType=function(e){return s.MediaHelpers.isLibraryOrMedia(e.metadata.setName)},MediaDataExtender.prototype.enhanceDataItems=function(e,t,n){return this.mapLongRunningTasks(e,t,n)},MediaDataExtender.prototype.mapLongRunningTasks=function(e,t,n){var o=this,i=[],r=n&&Array.isArray(n.whiteListedTasks)?n.whiteListedTasks:[];i=n&&n.tasks?n.tasks:this.longRunningTasksSerivce.progress.getValue();var a=Object(A.getLibrariesRunningTasksAndMap)(i);return e.map((function(e){var n=a[e.data.ParentId]||a[e.data.Id],i=c.TaskStatus[null==n?void 0:n.Status.toString()];return e.metadata.isImage&&e.parentKey!==d.stringConstants.DEFAULT_GUID&&n&&-1!==r.indexOf(n.TaskName)&&(i===c.TaskStatus.Started||i===c.TaskStatus.Pending)?o.setLock(e,t,n):e.metadata.isImage||!n||-1===r.indexOf(n.TaskName)||i!==c.TaskStatus.Started&&i!==c.TaskStatus.Pending?n&&-1===r.indexOf(n.TaskName)?o.setLock(e,t,n):e:o.disableSelection(e,t,n)}))},MediaDataExtender.prototype.disableSelection=function(e,t,n){var o=Object(l.cloneObject)(e.data);return o.disableCheckbox=!0,a.DataItem.from(o,e.metadata,e.provider,e.culture)},MediaDataExtender.prototype.setLock=function(e,t,n){var o=Object(l.cloneObject)(e.data),i=Object(A.generateRunningTaskError)(n,o.Id);for(var r in t)if(t.hasOwnProperty(r)){var s=t[r];o[r]="function"==typeof s?s(i):s}return a.DataItem.from(o,e.metadata,e.provider,e.culture)},MediaDataExtender.ɵfac=function MediaDataExtender_Factory(e){return new(e||MediaDataExtender)(i["ɵɵinject"](A.LongRunningTasksService))},MediaDataExtender.ɵprov=i["ɵɵdefineInjectable"]({token:MediaDataExtender,factory:MediaDataExtender.ɵfac}),MediaDataExtender}(r.DataExtenderBase),f={multi:!0,provide:r.DATA_EXTENDER_TOKEN,useClass:p}},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaQueryParamsExtender",(function(){return a})),n.d(t,"MEDIA_QUERY_PARAMS_EXTENDER",(function(){return s}));var o=n(229),i=n(325),r=n(246),a=function(){function MediaQueryParamsExtender(){}return MediaQueryParamsExtender.prototype.getAdditionalQueryParams=function(e){var t;void 0===e&&(e=null);var n={};return e&&e.SfMediaData&&e.SfMediaData.name===r.stringConstants.EMPTY_STRING&&((t={}).uploadAndReplace=!0,n=t),n},MediaQueryParamsExtender.ɵfac=function MediaQueryParamsExtender_Factory(e){return new(e||MediaQueryParamsExtender)},MediaQueryParamsExtender.ɵprov=o["ɵɵdefineInjectable"]({token:MediaQueryParamsExtender,factory:MediaQueryParamsExtender.ɵfac}),MediaQueryParamsExtender}(),s={multi:!0,provide:i.QUERY_PARAMS_EXTENDER_TOKEN,useClass:a}},function(e,t,n){"use strict";n.r(t),n.d(t,"VideoThumbnailComponent",(function(){return x})),n.d(t,"VIDEO_THUMBNAIL_REGISTRY",(function(){return y}));var o=n(259),i=n(260),r=n(11),a=n(1109),s=n(246),A=n(262),l=n(361),c=n(1209),d=n(270),p=n(256),f=n(269),u=n(1118),m=n(1212),g=n(278),E=n(280),h=n(415),b=n(1124),C=n(354),B=n(229),k=n(261),I=n(1113);function VideoThumbnailComponent_ng_container_0_Template(e,t){if(1&e&&(B["ɵɵelementContainerStart"](0),B["ɵɵelementStart"](1,"div",3),B["ɵɵelement"](2,"sf-thumbnail",4),B["ɵɵelementEnd"](),B["ɵɵelementContainerEnd"]()),2&e){var n=B["ɵɵnextContext"]();B["ɵɵadvance"](2),B["ɵɵproperty"]("showRemoveButton",!1)("removeButtonAreaLabel","Remove thumbnail")("selectable",!1)("src",n.thumbnailUrl)("isPlaceholder",!1)("isMultimedia",!0)("hasTooltip",!1)}}function VideoThumbnailComponent_sf_button_1_div_2_Template(e,t){if(1&e){var n=B["ɵɵgetCurrentView"]();B["ɵɵelementStart"](0,"div",8),B["ɵɵlistener"]("click",(function VideoThumbnailComponent_sf_button_1_div_2_Template_div_click_0_listener(e){B["ɵɵrestoreView"](n);var o=t.$implicit;return B["ɵɵnextContext"](2).onVideoThumbOperationClicked(o,e)})),B["ɵɵtext"](1),B["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;B["ɵɵadvance"](1),B["ɵɵtextInterpolate1"](" ",o," ")}}function VideoThumbnailComponent_sf_button_1_Template(e,t){if(1&e&&(B["ɵɵelementStart"](0,"sf-button",5),B["ɵɵelementStart"](1,"div",6),B["ɵɵtemplate"](2,VideoThumbnailComponent_sf_button_1_div_2_Template,2,1,"div",7),B["ɵɵelementEnd"](),B["ɵɵelementEnd"]()),2&e){var n=B["ɵɵnextContext"]();B["ɵɵproperty"]("iconLook",n.thumbnailUrl?"size-3xs":"size-xs")("icon",n.thumbnailUrl?"pencil":"plus"),B["ɵɵattribute"]("title",n.thumbnailUrl?"Change":"Add"),B["ɵɵadvance"](2),B["ɵɵproperty"]("ngForOf",n.editOperations)}}function VideoThumbnailComponent_ng_template_2_Template(e,t){1&e&&(B["ɵɵelementStart"](0,"div",9),B["ɵɵelement"](1,"sf-icon",10),B["ɵɵelementEnd"]())}var v="Capture video frame",w="Upload custom image",_=["svg"],x=function(e){function VideoThumbnailComponent(t,n,o,i,r,a,s){var A=e.call(this)||this;return A.modalWindowService=t,A.route=n,A.metadataStore=o,A.http=i,A.canvasService=r,A.safePipe=a,A.envService=s,A.editOperations=[v,w],A.thumbnailUrl=null,A.downloadSubscription=null,A}return Object(o.__extends)(VideoThumbnailComponent,e),VideoThumbnailComponent.prototype.ngOnInit=function(){var e,t,n;this.thumbnailUrl=null===(n=null===(t=null===(e=this.settings)||void 0===e?void 0:e.dataItem)||void 0===t?void 0:t.data)||void 0===n?void 0:n.ThumbnailUrl},VideoThumbnailComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,{ThumbnailSource:t})},VideoThumbnailComponent.prototype.onVideoThumbOperationClicked=function(e,t){t.stopPropagation(),e===v?this.handleFrameCapture():this.handleFileUpload()},VideoThumbnailComponent.prototype.handleFrameCapture=function(){var e,t=this,n=new r.BehaviorSubject(s.stringConstants.EMPTY_STRING);if(this.videoFile){var o=this.safePipe.transform(URL.createObjectURL(this.videoFile),C.SANITIZER_TYPES.URL);n.next(o),this.openCaptureDialog(n)}else{var i=this.settings.dataItem,a=((e={})[A.QUERY_PARAMS.PROVIDER]=i.provider,e[A.QUERY_PARAMS.CULTURE]=i.culture,e);if(this.openCaptureDialog(n),this.blobUrl)return n.next(this.blobUrl);var l=i.data.Parent.BlobStorageProvider;this.envService.getEnvironment()!==E.environmentTypes.integration||l!==A.DEFAULT_STORAGE_PROVIDERS.DATABASE&&l!==A.DEFAULT_STORAGE_PROVIDERS.FILE_SYSTEM?this.downloadSubscription=this.http.get$(p.ENTITY_SET.VIDEOS+"("+i.key+")/$value",{responseType:"blob",params:a}).subscribe((function(e){if(!e.isLoading){var o=URL.createObjectURL(e.content);t.blobUrl=t.safePipe.transform(o,C.SANITIZER_TYPES.URL),n.next(t.blobUrl)}})):n.next(i.data.Url)}},VideoThumbnailComponent.prototype.openCaptureDialog=function(e){var t=this,n={type:a.VideoPlayerComponent,updatePropertiesOnChange:!0,properties:{src:null,look:"play-detached sf-centered-box sf-mb-3xl"},afterComponentInit:function(n){t.registerSubscription(e.subscribe((function(e){e&&(n.src=e)})))}},o=[new u.ConfirmButton(l.SelectorConstants.USE_CURRENTLY_DISPLAYED_FRAME,(function(){var e=document.querySelector("sf-modal-window video");return e&&e.currentSrc?(t.thumbnailUrl=t.canvasService.renderElement(e,e.clientWidth,e.clientHeight),t.writeValue(t.thumbnailUrl),new u.ClickResult(!0,!0)):new u.ClickResult(null,!1,!0)})),new u.CancelButton(l.SelectorConstants.CANCEL,(function(){return t.downloadSubscription&&t.downloadSubscription.unsubscribe(),new u.ClickResult(!1,!0)}))],i=new u.DialogData(n,null,o);i.heading={title:"Capture video frame"},this.modalWindowService.setMapping(i,"video_thumbnail"),this.modalWindowService.show("video_thumbnail",this.route.parent)},VideoThumbnailComponent.prototype.handleFileUpload=function(){var e=this,t=this.metadataStore.getEntity(p.ENTITY_SET.IMAGES).clone();this.filterValidImageTypes(t);var n=this.settings.dataItem,o={type:m.FilePickerComponent,properties:{multiple:!1,value:[],name:"this.settings.name",allowCreate:!0,mediaEntityData:{metadata:t,provider:n.provider,culture:n.culture},initialViewMode:null,createMedia:!0,getImageAfterUpload:!0,selectedLibrary:null}},i=new u.DialogData(o,(function(t){if(null==t?void 0:t.data){var n=t.data.data||t.data;e.thumbnailUrl=n.Url,e.writeValue(n.Id)}}),[],"-prompt");this.modalWindowService.setMapping(i,"video_thumbnail"),this.modalWindowService.show("video_thumbnail",this.route.parent)},VideoThumbnailComponent.prototype.filterValidImageTypes=function(e){_.forEach((function(t){e.acceptableMediaTypes=e.acceptableMediaTypes.filter((function(e){return!e.includes(t)})),e.acceptableFileTypes=e.acceptableFileTypes.filter((function(e){return!e.includes(t)}))}))},VideoThumbnailComponent.ɵfac=function VideoThumbnailComponent_Factory(e){return new(e||VideoThumbnailComponent)(B["ɵɵdirectiveInject"](u.ModalWindowService),B["ɵɵdirectiveInject"](i.ActivatedRoute),B["ɵɵdirectiveInject"](f.MetadataStore),B["ɵɵdirectiveInject"](d.HttpODataRequestWrapper),B["ɵɵdirectiveInject"](c.CanvasService),B["ɵɵdirectiveInject"](C.SfSafePipe),B["ɵɵdirectiveInject"](g.EnvironmentService))},VideoThumbnailComponent.ɵcmp=B["ɵɵdefineComponent"]({type:VideoThumbnailComponent,selectors:[["sf-video-thumbnail"]],features:[B["ɵɵInheritDefinitionFeature"]],decls:4,vars:3,consts:[[4,"ngIf","ngIfElse"],["look","circle small left no-focus-visible","dropdown","true","ariaLabel","Change thumbnail",3,"iconLook","icon",4,"ngIf"],["empty",""],[1,"sf-row","-sf-mb-3xs"],["look","prepreview small","type","image/jpeg","alt","Video thumbnail",3,"showRemoveButton","removeButtonAreaLabel","selectable","src","isPlaceholder","isMultimedia","hasTooltip"],["look","circle small left no-focus-visible","dropdown","true","ariaLabel","Change thumbnail",3,"iconLook","icon"],["dropdown","",1,"sf-dropdown"],["class","sf-dropdown__item","tabindex","0","role","option",3,"click",4,"ngFor","ngForOf"],["tabindex","0","role","option",1,"sf-dropdown__item",3,"click"],[1,"sf-media","-empty","-sf-mb-3xs"],["name","picture-o","look","lighter size-4xl sf-mr-zero"]],template:function VideoThumbnailComponent_Template(e,t){if(1&e&&(B["ɵɵtemplate"](0,VideoThumbnailComponent_ng_container_0_Template,3,7,"ng-container",0),B["ɵɵtemplate"](1,VideoThumbnailComponent_sf_button_1_Template,3,4,"sf-button",1),B["ɵɵtemplate"](2,VideoThumbnailComponent_ng_template_2_Template,2,0,"ng-template",null,2,B["ɵɵtemplateRefExtractor"])),2&e){var n=B["ɵɵreference"](3);B["ɵɵproperty"]("ngIf",t.thumbnailUrl)("ngIfElse",n),B["ɵɵadvance"](1),B["ɵɵproperty"]("ngIf",!t.settings.readOnlyMode)}},directives:[k.NgIf,I.ThumbnailComponent,C.SfButtonComponent,k.NgForOf,C.SfIconComponent],encapsulation:2}),VideoThumbnailComponent}(h.FieldBase),y={writeComponent:x,readComponent:x,settingsType:b.CompositeFieldSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentDeleteCommandExtender",(function(){return A})),n.d(t,"CONTENT_DELETE_COMMAND_EXTENDER",(function(){return c}));var o=n(259),i=n(229),r=n(1857),a=n(256),s=n(1622),A=function(e){function ContentDeleteCommandExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ContentDeleteCommandExtender,e),ContentDeleteCommandExtender.prototype.isSupportedType=function(e){var t=e.metadata.setName;return t!==a.ENTITY_SET.ALBUMS&&t!==a.ENTITY_SET.IMAGES&&t!==a.ENTITY_SET.FOLDERS},ContentDeleteCommandExtender.ɵfac=function ContentDeleteCommandExtender_Factory(e){return l(e||ContentDeleteCommandExtender)},ContentDeleteCommandExtender.ɵprov=i["ɵɵdefineInjectable"]({token:ContentDeleteCommandExtender,factory:ContentDeleteCommandExtender.ɵfac}),ContentDeleteCommandExtender}(r.DeleteCommandExtenderBase),l=i["ɵɵgetInheritedFactory"](A),c={multi:!0,provide:s.DELETE_COMMAND_EXTENDER_TOKEN,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxaNotificationBuilder",(function(){return c})),n.d(t,"TAXA_NOTIFICATION_BUILDER",(function(){return p}));var o,i,r=n(259),a=n(229),s=n(1759),A=n(246),l=n(1225),c=function(e){function TaxaNotificationBuilder(){var t=null!==e&&e.apply(this,arguments)||this;return t.supportedTaskTypes=[l.BackgroundTaskType.TaxonMove,l.BackgroundTaskType.FlatTaxonMerge],t}return Object(r.__extends)(TaxaNotificationBuilder,e),Object.defineProperty(TaxaNotificationBuilder.prototype,"isDefault",{get:function(){return!1},enumerable:!1,configurable:!0}),TaxaNotificationBuilder.prototype.isTaskSupported=function(e){return this.supportedTaskTypes.indexOf(e)>-1},TaxaNotificationBuilder.prototype.filterTasksCallback=function(e,t){return e.ConcurrentTaskKey===t.ConcurrentTaskKey},TaxaNotificationBuilder.prototype.buildNotification=function(e){if(!this.isTaskSupported(e.TaskName))return A.stringConstants.EMPTY_STRING;var t=JSON.parse(e.TaskData),n=e.TaskName;switch(e.Description=this.buildDescription(n,t),l.TaskStatus[e.Status.toString()]){case l.TaskStatus.Failed:var o=JSON.parse(e.StatusMessage);return this.buildFailedNotification(n,t,o);case l.TaskStatus.Pending:case l.TaskStatus.Started:return this.buildPendingNotification(n,t);default:return this.buildDoneNotification(n,t)}},TaxaNotificationBuilder.prototype.buildButtons=function(e){var t=[];return l.TaskStatus[e.Status.toString()]===l.TaskStatus.Failed&&e.IsManageable&&t.push({action:l.TaskAction.Delete,title:"Close"}),t},TaxaNotificationBuilder.prototype.getTaxonomyDisplayName=function(e,t){return 1===e?t.TaxonomySingularName:t.TaxonomyPluralName},TaxaNotificationBuilder.prototype.buildFailedNotification=function(e,t,n){var r=n.filter((function(e){return i[e.TaxonStatusType.toString()]===i.NotFoundError})),a=this.getTaxonomyDisplayName(r.length,t),s=r.some((function(e){return o[e.TaxonType.toString()]===o.Target})),c=s?t.TaxonomySingularName+" "+t.TargetTaxon.Name.bold()+" has been deleted.":A.stringConstants.EMPTY_STRING,d=A.stringConstants.EMPTY_STRING,p=A.stringConstants.EMPTY_STRING;switch(e){case l.BackgroundTaskType.TaxonMove:d="Failed to move items",p=s?". ":" from "+a.toLowerCase()+" "+this.formatTaxaNames(r.map((function(e){return e.Name})))+". "+a+" "+(1===r.length?"has":"have")+" been deleted. Items from other "+t.TaxonomyPluralName.toLowerCase()+" were moved successfully.";break;case l.BackgroundTaskType.FlatTaxonMerge:d="Failed to merge",p=s?" "+this.getTaxonomyDisplayName(t.SourceTaxa.length,t).toLowerCase()+" "+this.formatTaxaNames(t.SourceTaxa.map((function(e){return e.Name})))+" to "+t.TargetTaxon.Name.bold()+". ":" "+a.toLowerCase()+" "+this.formatTaxaNames(r.map((function(e){return e.Name})))+". "+a+" "+(1===r.length?"has":"have")+" been deleted. Other "+t.TaxonomyPluralName.toLowerCase()+" were merged successfully."}return""+d+p+c},TaxaNotificationBuilder.prototype.buildPendingNotification=function(e,t){var n=this.getTaxonomyDisplayName(t.SourceTaxa.length,t)+" "+this.formatTaxaNames(t.SourceTaxa.map((function(e){return e.Name})))+" will be ",o=A.stringConstants.EMPTY_STRING;switch(e){case l.BackgroundTaskType.TaxonMove:o="removed from the content items and a new "+t.TaxonomySingularName.toLowerCase()+" "+t.TargetTaxon.Name.bold()+" will be assigned.";break;case l.BackgroundTaskType.FlatTaxonMerge:o="merged to "+t.TaxonomySingularName.toLowerCase()+" "+t.TargetTaxon.Name.bold()+"."}return""+n+o+" This operation may take few minutes."},TaxaNotificationBuilder.prototype.buildDoneNotification=function(e,t){var n=this.getTaxonomyDisplayName(t.SourceTaxa.length,t)+" "+this.formatTaxaNames(t.SourceTaxa.map((function(e){return e.Name})))+" "+(1===t.SourceTaxa.length?"was":"were")+" ",o=A.stringConstants.EMPTY_STRING;switch(e){case l.BackgroundTaskType.TaxonMove:o="removed from the content items and a new "+t.TaxonomySingularName.toLowerCase()+" "+t.TargetTaxon.Name.bold()+" was assigned.";break;case l.BackgroundTaskType.FlatTaxonMerge:o="merged to "+t.TaxonomySingularName.toLowerCase()+" "+t.TargetTaxon.Name.bold()+"."}return""+n+o},TaxaNotificationBuilder.prototype.formatTaxaNames=function(e,t){switch(void 0===t&&(t=", "),e.length){case 0:return A.stringConstants.EMPTY_STRING;case 1:return e[0].bold();default:var n=e.splice(-1)[0].bold();return e.map((function(e){return e.bold()})).join(t)+" and "+n}},TaxaNotificationBuilder.prototype.buildDescription=function(e,t){var n=t.SourceTaxa.length,o=this.getTaxonomyDisplayName(n,t).toLowerCase(),i=A.stringConstants.EMPTY_STRING;switch(e){case l.BackgroundTaskType.TaxonMove:i="Moving items from";break;case l.BackgroundTaskType.FlatTaxonMerge:i="Merging";break;default:return A.stringConstants.EMPTY_STRING}return i+" "+n+" "+o+" to "+t.TargetTaxon.Name},TaxaNotificationBuilder.ɵfac=function TaxaNotificationBuilder_Factory(e){return d(e||TaxaNotificationBuilder)},TaxaNotificationBuilder.ɵprov=a["ɵɵdefineInjectable"]({token:TaxaNotificationBuilder,factory:TaxaNotificationBuilder.ɵfac}),TaxaNotificationBuilder}(s.DefaultTaskNotificationBuilder),d=a["ɵɵgetInheritedFactory"](c),p={multi:!0,provide:s.BACKGROUND_TASK_NOTIFICATION_BUILDER_TOKEN,useClass:c};!function(e){e[e.Source=0]="Source",e[e.Target=1]="Target"}(o||(o={})),function(e){e[e.Ok=0]="Ok",e[e.NotStarted=1]="NotStarted",e[e.NotFoundError=2]="NotFoundError",e[e.PropertyNotFoundError=3]="PropertyNotFoundError",e[e.UnknownError=4]="UnknownError"}(i||(i={}))},function(e,t,n){"use strict";n.r(t),n.d(t,"ImagesTaskNotificationBuilder",(function(){return A})),n.d(t,"IMAGES_NOTIFICATION_BUILDER",(function(){return l}));var o=n(259),i=n(1759),r=n(1224),a=n(246),s=n(1225),A=function(e){function ImagesTaskNotificationBuilder(){var t=null!==e&&e.apply(this,arguments)||this;return t.supportedTaskTypes=[s.BackgroundTaskType.RegenerateThumbnails,s.BackgroundTaskType.MoveLibrary,s.BackgroundTaskType.MoveLibraryAlternative,s.BackgroundTaskType.StorageRelocation,s.BackgroundTaskType.StorageRelocationAlternative],t.skippedFilterProperties=["ConcurrentTaskKey"],t}return Object(o.__extends)(ImagesTaskNotificationBuilder,e),Object.defineProperty(ImagesTaskNotificationBuilder.prototype,"isDefault",{get:function(){return!1},enumerable:!1,configurable:!0}),ImagesTaskNotificationBuilder.prototype.isTaskSupported=function(e){return this.supportedTaskTypes.indexOf(e)>-1},ImagesTaskNotificationBuilder.prototype.processTask=function(t){if(t.TaskName===s.BackgroundTaskType.RegenerateThumbnails){var n=t.Title?t.Title.replace("Regenerate thumbnails for library :","Regenerating thumbnails for"):t.Description;t.Description=n}else if(t.TaskName===s.BackgroundTaskType.MoveLibraryAlternative){var o=r.BackgroundTaskDataParser.parse(t);o.itemIds&&o.itemIds.length>1&&(t.Description=t.Description.replace(/Moving library .*?<\/em> to/,"Moving "+o.itemIds.length+" libraries to")),o.libraryTitle&&(t.Description=t.Description.replace("",o.libraryTitle)),t.Description=t.Description.replace("Moving library","Moving").replace(/()|(<\/em>)/gi,""),o.libraryId===a.stringConstants.DEFAULT_GUID&&(t.Description=t.Description.replace(/to Root$/,"on top level"))}else if(t.TaskName===s.BackgroundTaskType.StorageRelocationAlternative){var i=r.BackgroundTaskDataParser.parse(t);"RelocateLibrary"===t.Title?t.Description="Generating new URLs for "+i.libraryTitle:t.Description="Moving "+i.libraryTitle+" to another storage"}e.prototype.processTask.call(this,t)},ImagesTaskNotificationBuilder.prototype.filterTasksCallback=function(e,t){if(!t)return!0;var n=this.parseTaskData(e);if("string"==typeof n)return!0;var o=!0;for(var i in t)if(t.hasOwnProperty(i)){var r=t[i];if(void 0!==r&&!this.skippedFilterProperties.includes(i)&&n[i]!==r){o=!1;break}}return o},ImagesTaskNotificationBuilder.prototype.parseTaskData=function(e){return r.BackgroundTaskDataParser.parse(e)},ImagesTaskNotificationBuilder.prototype.buildButtons=function(t){var n=s.TaskStatus[t.Status.toString()];if(t.TaskName===s.BackgroundTaskType.RegenerateThumbnails&&!t.IsManageable)return[];if(t.TaskData===s.BackgroundTaskType.MoveLibraryAlternative){if(parseInt(t.ProgressStatus)<100&&n===s.TaskStatus.Started)return[{action:s.TaskAction.Stop,title:"Stop"}];if(n===s.TaskStatus.Failed)return[{action:s.TaskAction.Delete,title:"Cancel"}]}else if(t.TaskName===s.BackgroundTaskType.StorageRelocationAlternative&&n!==s.TaskStatus.Failed&&"RelocateLibrary"===t.Title)return[];return e.prototype.buildButtons.call(this,t)},ImagesTaskNotificationBuilder.prototype.buildNotification=function(e){return s.TaskStatus[e.Status.toString()]===s.TaskStatus.Failed?e.StatusMessage:null},ImagesTaskNotificationBuilder}(i.DefaultTaskNotificationBuilder),l={multi:!0,provide:i.BACKGROUND_TASK_NOTIFICATION_BUILDER_TOKEN,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentBulkCommandExtender",(function(){return g})),n.d(t,"CONTENT_BULK_COMMAND_EXTENDER",(function(){return E}));var o=n(259),i=n(229),r=n(256),a=n(1689),s=n(1626),A=n(319),l=n(1770),c=n(269),d=n(1118),p=n(1171),f=n(1177),u=n(1174),m=n(1172),g=function(e){function ContentBulkCommandExtender(t,n,o,i,r,a){var s=e.call(this)||this;return s.metadataStore=t,s.dynamicItemStore=n,s.modalWindowService=o,s.notificationService=i,s.sortService=r,s.childrenCountStore=a,s}return Object(o.__extends)(ContentBulkCommandExtender,e),ContentBulkCommandExtender.prototype.isSupportedType=function(e){var t=e.metadata.setName;return t!==r.ENTITY_SET.ALBUMS&&t!==r.ENTITY_SET.IMAGES&&t!==r.ENTITY_SET.FOLDERS},ContentBulkCommandExtender.prototype.tryHandleCommand=function(t,n){return t.name===A.OPERATION_NAMES.move?new l.MoveCommand(this.modalWindowService,this.dynamicItemStore.service,this.notificationService,this.metadataStore.getValue(),this.sortService,this.childrenCountStore):e.prototype.tryHandleCommand.call(this,t,n)},ContentBulkCommandExtender.ɵfac=function ContentBulkCommandExtender_Factory(e){return new(e||ContentBulkCommandExtender)(i["ɵɵinject"](c.MetadataStore),i["ɵɵinject"](p.DynamicItemStore),i["ɵɵinject"](d.ModalWindowService),i["ɵɵinject"](f.NOTIFICATION_SERVICE),i["ɵɵinject"](u.SortService),i["ɵɵinject"](m.ChildrenCountStore))},ContentBulkCommandExtender.ɵprov=i["ɵɵdefineInjectable"]({token:ContentBulkCommandExtender,factory:ContentBulkCommandExtender.ɵfac}),ContentBulkCommandExtender}(a.BulkCommandExtenderBase),E={multi:!0,provide:s.BULK_COMMAND_EXTENDER_TOKEN,useClass:g}},function(e,t,n){"use strict";n.r(t),n.d(t,"TaxonomyQueryParamsExtender",(function(){return s})),n.d(t,"TAXONOMY_QUERY_PARAMS_EXTENDER",(function(){return A}));var o=n(325),i=n(229),r=n(260),a=n(262),s=function(){function TaxonomyQueryParamsExtender(e){this.route=e}return TaxonomyQueryParamsExtender.prototype.getAdditionalQueryParams=function(e){void 0===e&&(e=null);var t={};return this.route.snapshot.queryParams[a.FILTER_PARAMS.FILTER]!==a.FILTER_TYPES.NOT_USED&&"true"!==this.route.snapshot.queryParams[a.QUERY_PARAMS.IGNORE_SITE_CONTEXT]||(t[a.QUERY_PARAMS.IGNORE_SITE_CONTEXT]="true"),t},TaxonomyQueryParamsExtender.ɵfac=function TaxonomyQueryParamsExtender_Factory(e){return new(e||TaxonomyQueryParamsExtender)(i["ɵɵinject"](r.ActivatedRoute))},TaxonomyQueryParamsExtender.ɵprov=i["ɵɵdefineInjectable"]({token:TaxonomyQueryParamsExtender,factory:TaxonomyQueryParamsExtender.ɵfac}),TaxonomyQueryParamsExtender}(),A={multi:!0,provide:o.QUERY_PARAMS_EXTENDER_TOKEN,useClass:s}},function(e,t,n){"use strict";n.r(t),n.d(t,"ExternalOperationsProvider",(function(){return b})),n.d(t,"EXTERNAL_OPERATIONS_PROVIDER",(function(){return C}));var o=n(11),i=n(131),r=n(394),a=n(229),s=n(319),A=n(396),l=n(316),c=n(245),d=n(1101),p=n(1532),f=n(1152),u=n(256),m=n(262),g=n(373),E="backLabelText",h="backLabelLink",b=function(){function ExternalOperationsProvider(e,t){this.service=e,this.urlService=t,this.htmlEscapePipe=new d.HtmlEscapePipe}return ExternalOperationsProvider.prototype.getCategories=function(e){return Object(o.of)([])},ExternalOperationsProvider.prototype.getCommands=function(e){return Object(o.of)([])},ExternalOperationsProvider.prototype.getOperations=function(e){var t,n,r=this;return!e.contextData.disregardCache&&this.previousOperationsCallCache&&this.previousOperationsCallCache.equals(e)?n=this.previousOperationsCallCache.operations:(n=new o.ReplaySubject(1),this.previousOperationsCallCache=new B(e,n),this.service.getItemsOperations(e.dataItem,e.dataItem.key,null===(t=e.parentItem)||void 0===t?void 0:t.key,e.additionalQueryParams).subscribe((function(e){n.next(e),n.complete()}),(function(e){n.error(e),n.complete()}))),n.pipe(Object(i.map)((function(t){var n=Object(c.cloneObject)(t);return r.modifyCreateOperation(n,e),r.modifyEditOperation(n,e),r.addBulkPublishUnpublishOperations(n,e),r.modifySettingsOperations(n,e),n})))},ExternalOperationsProvider.prototype.modifyCreateOperation=function(e,t){if(t.target===r.OperationsTarget.List){var n=e.find((function(e){return e.Name===s.OPERATION_NAMES.create}));n&&(n.Title=this.buildCreateOperationTitle(A.CompositeOperationsProvider.getOperationSingularName(t.dataItem.metadata,n.ContextParameters)))}},ExternalOperationsProvider.prototype.buildCreateOperationTitle=function(e){var t=e.toLowerCase(),n=Object(c.indefiniteArticle)(t);return"Create "+(n&&n.length?n+" "+t:t)},ExternalOperationsProvider.prototype.modifyEditOperation=function(e,t){if(t.target===r.OperationsTarget.List){var n=e.find((function(e){return e.Name===s.OPERATION_NAMES.view}));n||(n=e.find((function(e){return e.Name===s.OPERATION_NAMES.edit})));var o=e.findIndex((function(e){return e.Name===s.OPERATION_NAMES.editContent}));!n||t.dataItem.metadata.hasLifecycle&&-1===o||(n.Title=s.OPERATION_TITLES.titleAndProperties)}else if(t.target===r.OperationsTarget.Edit){var i=e.find((function(e){return e.Name===s.OPERATION_NAMES.edit}));if(i){var a=s.OPERATION_TITLES.titleAndProperties;t.dataItem.metadata.hasLifecycle&&!t.dataItem.metadata.hasContent||(a=s.OPERATION_TITLES.saveChanges),i.Title=a}}},ExternalOperationsProvider.prototype.addBulkPublishUnpublishOperations=function(e,t){if(t.target===r.OperationsTarget.Bulk&&t.dataItem.metadata.hasLifecycle){if(!e.some((function(e){return e.Name===s.OPERATION_NAMES.publish}))){var n={Name:s.OPERATION_NAMES.publish,Category:{Name:s.OPERATION_CATEGORIES.workflow},Ordinal:-1,Title:s.OPERATION_NAMES.publish,Link:null,Description:null,Parameters:[{}],RequiresConfirmation:!1};e.unshift(n)}var o={Name:s.OPERATION_NAMES.unpublish,Category:{Name:s.OPERATION_CATEGORIES.workflow},Ordinal:1,Title:s.OPERATION_NAMES.unpublish,Link:null,Description:null,Parameters:[{}],RequiresConfirmation:!1};e.push(o)}return e},ExternalOperationsProvider.prototype.modifySettingsOperations=function(e,t){var n=this,a=t.dataItem,A=t.dataItem.metadata.displayName.toLowerCase(),l=t.target,c=e.find((function(e){return e.Name===s.OPERATION_NAMES.permissions}));if(c){t.target!==r.OperationsTarget.List||a||(c.Title="Permissions for "+A);var d={};a.title&&(d.title=encodeURIComponent(this.htmlEscapePipe.transform(a.title))),this.setOperationLink(c,a,l,t.contextData.origin,d)}var p=e.find((function(e){return e.Name===s.OPERATION_NAMES.revisionHistory}));if(p){var f=this.getEditUrl(t);d={title:encodeURIComponent(this.htmlEscapePipe.transform(a.title)),culture:a.culture,revertUrl:f};this.setOperationLink(p,a,l,t.contextData.origin,d)}var u=e.find((function(e){return e.Name===s.OPERATION_NAMES.customFields}));this.setOperationLink(u,a,l,t.contextData.origin);var m=e.find((function(e){return e.Name===s.OPERATION_NAMES.sendForTranslation}));this.setOperationLink(m,a,l,t.contextData.origin),e.filter((function(e){return e.ContextParameters&&e.ContextParameters.find((function(e){return"Count"===e.Name}))})).forEach((function(e){var t=new o.Observable((function(t){return n.service.executeBoundFunction(a,e.Name.toLowerCase()+"count").subscribe((function(e){t.next(e.value),t.complete()}))})).pipe(Object(i.first)(),Object(i.shareReplay)());e.context={count:t}}))},ExternalOperationsProvider.prototype.getEditUrl=function(e){var t=null;return e.dataItem.metadata.setName===u.ENTITY_SET.PAGES?t="NetCore"===e.dataItem.data.Renderer?f.ROUTE_PATHS.ROOT_PREFIX+"/"+e.dataItem.metadata.setName+"/"+f.ROUTE_PATHS_NO_PREFIX.SF_EDIT+"/"+e.dataItem.data.Id+"?"+m.QUERY_PARAMS.PROVIDER+"="+e.dataItem.provider+"&"+m.QUERY_PARAMS.CULTURE+"="+e.dataItem.culture:f.ROUTE_PATHS.ROOT_PREFIX+"/"+e.dataItem.metadata.setName+e.dataItem.data.EditUrl+"/"+e.dataItem.culture:e.dataItem.metadata.setName===u.ENTITY_SET.TEMPLATES?t=f.ROUTE_PATHS.ROOT_PREFIX+"/"+e.dataItem.metadata.setName+"/"+f.ROUTE_PATHS_NO_PREFIX.TEMPLATE+"/"+e.dataItem.data.Id+"/"+e.dataItem.culture:(t=e.dataItem.metadata.hasParent?e.dataItem.metadata.parent+"/"+e.dataItem.parentKey+"/"+e.dataItem.metadata.setName+"/"+e.dataItem.key+"/"+m.ROUTE_PARAMS.EDIT_SEGMENT:e.dataItem.metadata.setName+"/"+e.dataItem.key+"/"+m.ROUTE_PARAMS.EDIT_SEGMENT,t=f.ROUTE_PATHS.CONTENT+"/"+t+"?"+m.QUERY_PARAMS.PROVIDER+"="+e.dataItem.provider+"&"+m.QUERY_PARAMS.CULTURE+"="+e.dataItem.culture),encodeURIComponent(this.urlService.getAbsoluteUrl(t))},ExternalOperationsProvider.prototype.setOperationLink=function(e,t,n,o,i){if(void 0===i&&(i=null),e){var a=A.CompositeOperationsProvider.getOperationPluralName(t.metadata,e.ContextParameters),s=encodeURIComponent(o),l={};if(!e.Link.includes(E))if(n===r.OperationsTarget.Edit){var d=A.CompositeOperationsProvider.getOperationSingularName(t.metadata,e.ContextParameters).toLowerCase(),f=t.culture.toUpperCase(),u=Object(c.indefiniteArticle)(d);l[E]="Back to Edit "+u+" "+d+" ("+f+")"}else l[E]="Back to "+Object(c.capitalizeFirstLetter)(a);l[h]=s,null!=l&&(l=Object.assign(l,i)),e.Link=p.UrlHelper.mergeUrlQueryParams(e.Link,l)}},ExternalOperationsProvider.ɵfac=function ExternalOperationsProvider_Factory(e){return new(e||ExternalOperationsProvider)(a["ɵɵinject"](l.DynamicItemService),a["ɵɵinject"](g.UrlService))},ExternalOperationsProvider.ɵprov=a["ɵɵdefineInjectable"]({token:ExternalOperationsProvider,factory:ExternalOperationsProvider.ɵfac}),ExternalOperationsProvider}(),C={multi:!0,provide:A.OPERATIONS_TOKEN,useClass:b},B=function(){function OperationsCache(e,t){this.key=e,this.operations=t}return OperationsCache.prototype.equals=function(e){return JSON.stringify(this.key.dataItem)===JSON.stringify(e.dataItem)&&JSON.stringify(this.key.parentItem)===JSON.stringify(e.parentItem)&&JSON.stringify(this.key.additionalQueryParams)===JSON.stringify(e.additionalQueryParams)},OperationsCache}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentItemOperationsFilter",(function(){return A})),n.d(t,"CONTENT_ITEM_OPERATION_FILTER",(function(){return l}));var o=n(229),i=n(397),r=n(319),a=n(394),s=n(256),A=function(){function ContentItemOperationsFilter(){this.allowedBulkOperations=[r.OPERATION_NAMES.assignTaxons,r.OPERATION_NAMES.sendForTranslation,r.OPERATION_NAMES.siteSync,r.OPERATION_NAMES.delete]}return ContentItemOperationsFilter.prototype.filter=function(e,t){return t.dataItem.metadata.setName===s.ENTITY_SET.CONTENT_ITEMS&&(e=this.filterForList(e,t),e=this.filterForCreate(e,t),e=this.filterForBulk(e,t)),e},ContentItemOperationsFilter.prototype.filterForCreate=function(e,t){if(t.target===a.OperationsTarget.Create){var n=(e=e.filter((function(e){return e.Name!==r.OPERATION_NAMES.create}))).find((function(e){return e.Name===r.OPERATION_NAMES.publish}));n&&(n.Title=r.OPERATION_TITLES.create)}return e},ContentItemOperationsFilter.prototype.filterForList=function(e,t){return t.target===a.OperationsTarget.List&&(e=e.filter((function(e){return e.Name!==r.OPERATION_NAMES.publish}))),e},ContentItemOperationsFilter.prototype.filterForBulk=function(e,t){var n=this;return t.target===a.OperationsTarget.Bulk&&(e=e.filter((function(e){return n.allowedBulkOperations.indexOf(e.Name)>-1}))),e},ContentItemOperationsFilter.ɵfac=function ContentItemOperationsFilter_Factory(e){return new(e||ContentItemOperationsFilter)},ContentItemOperationsFilter.ɵprov=o["ɵɵdefineInjectable"]({token:ContentItemOperationsFilter,factory:ContentItemOperationsFilter.ɵfac}),ContentItemOperationsFilter}(),l={multi:!0,provide:i.OPERATIONS_FILTER_TOKEN,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"NavigateToMenuSectionCommand",(function(){return c}));var o=n(260),i=n(11),r=n(1507),a=(n(3),n(280)),s=n(278),A=n(262),l=n(229),c=function(){function NavigateToMenuSectionCommand(e,t){this.router=e,this.envService=t}return NavigateToMenuSectionCommand.prototype.execute=function(e){if(this.envService.getEnvironment()!==a.environmentTypes.integration){var t=this.router.navigate(e.data.route);return Object(r.fromPromise)(t)}var n="/"+e.data.route,o=this.getNavigationLinkElement(n);return o&&o._click(new MouseEvent("click")),Object(i.of)(!!o)},NavigateToMenuSectionCommand.prototype.getNavigationLinkElement=function(e){return document.getElementById("MainMenu").control.get_allItems().find((function(t){return t.get_attributes().getAttribute(A.ATTR_NAME)===e}))},NavigateToMenuSectionCommand.ɵfac=function NavigateToMenuSectionCommand_Factory(e){return new(e||NavigateToMenuSectionCommand)(l["ɵɵinject"](o.Router),l["ɵɵinject"](s.EnvironmentService))},NavigateToMenuSectionCommand.ɵprov=l["ɵɵdefineInjectable"]({token:NavigateToMenuSectionCommand,factory:NavigateToMenuSectionCommand.ɵfac}),NavigateToMenuSectionCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"WORKFLOW_DROPDOWN_OPERATIONS",(function(){return c})),n.d(t,"BaseOperationsFilter",(function(){return d})),n.d(t,"BASE_OPERATION_FILTER",(function(){return p}));var o=n(229),i=n(397),r=n(319),a=n(394),s=n(256),A=n(1104),l=n(266),c=[r.OPERATION_NAMES.publish,r.OPERATION_NAMES.schedule,r.OPERATION_NAMES.unpublish,r.OPERATION_NAMES.siteSync],d=function(){function BaseOperationsFilter(){}return BaseOperationsFilter.prototype.filter=function(e,t){return t.target===a.OperationsTarget.List?(e=this.filterWorkflowOperations(e),e=this.filterPreviewOperation(e),e=this.filterPublishOperaionForAlreadyPublishedItem(e,t)):t.target===a.OperationsTarget.Bulk?(e=this.filterBulkOperations(e,t),e=this.placeBulkEditOperationFirst(e)):t.target===a.OperationsTarget.Edit?(e=this.filterUnlockOperation(e),e=this.filterEditContentOperation(e),e=this.filterStopScheduleOperations(e,t),e=this.filterReorderOperation(e)):(e=this.filterStopScheduleOperations(e,t),e=this.filterReorderOperation(e)),this.filterOperations(e,t)},BaseOperationsFilter.prototype.filterWorkflowOperations=function(e){return e.filter((function(e){return e.Category.Name!==r.OPERATION_CATEGORIES.workflow||c.indexOf(e.Name)>-1}))},BaseOperationsFilter.prototype.filterPreviewOperation=function(e){return e.filter((function(e){return e.Name!==r.OPERATION_NAMES.preview}))},BaseOperationsFilter.prototype.filterPublishOperaionForAlreadyPublishedItem=function(e,t){return t.dataItem.data&&t.dataItem.data.DisplayStatus&&t.dataItem.data.DisplayStatus.length>0&&t.dataItem.data.DisplayStatus[0].Name===A.PUBLISHED?e.filter((function(e){return e.Name!==r.OPERATION_NAMES.publish})):e},BaseOperationsFilter.prototype.filterUnlockOperation=function(e){return e.some((function(e){return e.Name===r.OPERATION_NAMES.edit||e.Name===r.OPERATION_NAMES.editContent||null!=e.ParentOperation&&e.ParentOperation.Name===r.OPERATION_NAMES.edit}))?e.filter((function(e){return e.Name!==r.OPERATION_NAMES.unlock})):e},BaseOperationsFilter.prototype.filterEditContentOperation=function(e){return e.filter((function(e){return e.Name!==r.OPERATION_NAMES.editContent}))},BaseOperationsFilter.prototype.filterStopScheduleOperations=function(e,t){return t.dataItem.metadata.isSelfReferencing?e:e.filter((function(e){return e.Name!==r.OPERATION_NAMES.stopSchedule&&e.Name!==r.OPERATION_NAMES.stopScheduleUnpublish}))},BaseOperationsFilter.prototype.filterReorderOperation=function(e){return e.filter((function(e){return e.Name!==r.OPERATION_NAMES.reorder}))},BaseOperationsFilter.prototype.filterBulkOperations=function(e,t){if(t.dataItem.metadata.typeFullName===s.TAXONOMY_ITEM_FULL_NAME)return[];var n=[r.OPERATION_NAMES.publish,r.OPERATION_NAMES.unpublish,r.OPERATION_NAMES.sendForTranslation,r.OPERATION_NAMES.schedule,r.OPERATION_NAMES.delete,r.OPERATION_NAMES.template,r.OPERATION_NAMES.changeOwner,r.OPERATION_NAMES.moveTaxon,r.OPERATION_NAMES.mergeTaxon,r.OPERATION_NAMES.bulkEditProperties,r.OPERATION_NAMES.move,r.OPERATION_NAMES.assignTaxons,r.OPERATION_NAMES.siteSync];return e=e.filter((function(e){return n.indexOf(e.Name)>-1}))},BaseOperationsFilter.prototype.placeBulkEditOperationFirst=function(e){var t=e.find((function(e){return e.Name===r.OPERATION_NAMES.bulkEditProperties}));return t&&(e=e.filter((function(e){return e.Name!==r.OPERATION_NAMES.bulkEditProperties}))).unshift(t),e},BaseOperationsFilter.prototype.filterOperations=function(e,t){var n=[r.OPERATION_NAMES.permissions,r.OPERATION_NAMES.sendForTranslation,r.OPERATION_NAMES.sharePreviewLink,r.OPERATION_NAMES.createChild,r.OPERATION_NAMES.mobilePreview,r.OPERATION_NAMES.createChildCategory,r.OPERATION_NAMES.createMedia,r.OPERATION_NAMES.moveTaxon,r.OPERATION_NAMES.move,r.OPERATION_NAMES.reorder,r.OPERATION_NAMES.template,r.OPERATION_NAMES.shareWith,r.OPERATION_NAMES.siteSync],o=t.dataItem.isEmpty?null:t.dataItem.data[l.Properties.AvailableLanguages];o&&-1===o.indexOf(t.dataItem.culture)||n.push(r.OPERATION_NAMES.duplicate);var isOperationToRemove=function(e){return e.Category.Name===r.OPERATION_CATEGORIES.settings&&-1===n.indexOf(e.Name)};if(t.target===a.OperationsTarget.List&&!t.dataItem.isEmpty)return i=e.filter((function(e){return!isOperationToRemove(e)})).filter((function(e){return e.Name!==r.OPERATION_NAMES.unlock})).filter((function(e){return e.Category.Name!==r.OPERATION_CATEGORIES.contentLocations}));if(t.target===a.OperationsTarget.Edit||t.target===a.OperationsTarget.Create){var i=e.filter((function(e){return!isOperationToRemove(e)})).filter((function(e){return e.Name!==r.OPERATION_NAMES.view&&e.Name!==r.OPERATION_NAMES.changeOwner&&e.Name!==r.OPERATION_NAMES.move}));return t.dataItem.isEmpty&&(i=i.filter((function(e){return-1===n.indexOf(e.Name)}))),t.target===a.OperationsTarget.Create&&(i=i.filter((function(e){return e.Name!==r.OPERATION_NAMES.delete&&e.Name!==r.OPERATION_NAMES.duplicate&&e.Name!==r.OPERATION_NAMES.bulkEditProperties}))),i}return e},BaseOperationsFilter.ɵfac=function BaseOperationsFilter_Factory(e){return new(e||BaseOperationsFilter)},BaseOperationsFilter.ɵprov=o["ɵɵdefineInjectable"]({token:BaseOperationsFilter,factory:BaseOperationsFilter.ɵfac}),BaseOperationsFilter}(),p={multi:!0,provide:i.OPERATIONS_FILTER_TOKEN,useClass:d}},function(e,t,n){"use strict";n.r(t),n.d(t,"InsightConnectivityModule",(function(){return E}));var o=n(1880),i=n(1545),r=n(1881),a=n(2050),s=n(2059),A=n(2058),l=n(2052),c=n(2054),d=n(2051),p=n(261),f=n(2056),u=n(354),m=n(2055),g=n(229),E=function(){function InsightConnectivityModule(){}return InsightConnectivityModule.ɵfac=function InsightConnectivityModule_Factory(e){return new(e||InsightConnectivityModule)},InsightConnectivityModule.ɵmod=g["ɵɵdefineNgModule"]({type:InsightConnectivityModule}),InsightConnectivityModule.ɵinj=g["ɵɵdefineInjector"]({providers:[o.ConnectorService,i.SitefinityInsightMenuCommand,r.DateTimeUtilsService,A.ExtensionPointUtilsService,l.SitefinityInsightTouchpointRequesterService,c.SitefinityInsightHttpRequester,m.SitefinityRequesterService,s.COMMANDS_PROVIDER,a.INSIGHTS_COLUMNS_PROVIDER],imports:[[p.CommonModule,u.SfLoaderModule]]}),InsightConnectivityModule}();g["ɵɵsetNgModuleScope"](E,{declarations:[d.InsightCellComponent,f.InsightLostConnectionComponent],imports:[p.CommonModule,u.SfLoaderModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"ConnectorService",(function(){return c}));var o=n(11),i=n(1881),r=n(316),a=n(269),s=n(1672),A=n(1882),l=n(229),c=function(){function ConnectorService(e,t,n){this.dateTimeUtils=e,this.dynamicItemService=t,this.metadataStore=n,this.lastConfigValue$=null,this.configResolved=!1,this.lastAccessInTimeTicks=0}return ConnectorService.prototype.getConnectorDetails=function(){var e=this,t=this.dateTimeUtils.getNow().getTime(),n=t-this.lastAccessInTimeTicks>1e4;null!=this.lastConfigValue$&&this.configResolved&&!n||(this.lastAccessInTimeTicks=t,this.lastConfigValue$=new o.AsyncSubject,this.dynamicItemService.executeUnboundFunction(ConnectorService.INSIGHT_SETTINGS_ACTION_NAME).subscribe((function(t){var n=JSON.parse(t.value);e.lastConfigValue$.next(n),e.lastConfigValue$.complete(),e.configResolved=!0}),(function(t){e.lastConfigValue$.error(t),e.lastConfigValue$.complete(),e.configResolved=!1})));return this.lastConfigValue$},ConnectorService.prototype.isSitefinityInsightEnabled=function(){var e=this;return this.metadataStore.initialize().pipe(Object(A.flatMap)((function(t){return t.modulesAvailability&&t.modulesAvailability.insight?e.getConnectorDetails().pipe(Object(s.map)((function(e){return null!==e&&e.IsDecEnabled&&null!=e.DataCenterApiKey}))):Object(o.of)(!1)})))},ConnectorService.INSIGHT_SETTINGS_ACTION_NAME="Default.InsightSettings()",ConnectorService.ɵfac=function ConnectorService_Factory(e){return new(e||ConnectorService)(l["ɵɵinject"](i.DateTimeUtilsService),l["ɵɵinject"](r.DynamicItemService),l["ɵɵinject"](a.MetadataStore))},ConnectorService.ɵprov=l["ɵɵdefineInjectable"]({token:ConnectorService,factory:ConnectorService.ɵfac}),ConnectorService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DateTimeUtilsService",(function(){return i}));var o=n(229),i=function(){function DateTimeUtilsService(){this.monthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],this.daysOfWeek=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}return DateTimeUtilsService.prototype.getNow=function(){return new Date},DateTimeUtilsService.prototype.getFromDateAndToDateInclusiveHeaderValue=function(e){var t=this.getNow(),n=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),23,59,59)),o=new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0));return{fromDateISOString:(o=this.subtractDays(o,e)).toISOString(),toDateISOString:n.toISOString()}},DateTimeUtilsService.prototype.subtractDays=function(e,t){return this.addDays(e,-1*t)},DateTimeUtilsService.prototype.addDays=function(e,t){var n=new Date(e);return n.setUTCDate(n.getUTCDate()+t),n},DateTimeUtilsService.prototype.toShortDateTimeFormat=function(e){var t=new Date(e),n=this.monthNames[t.getUTCMonth()];return t.getUTCDate()+" "+n},DateTimeUtilsService.prototype.toLongDateTimeFormat=function(e){var t=new Date(e),n=this.monthNames[t.getUTCMonth()];return this.daysOfWeek[t.getUTCDay()]+", "+t.getUTCDate()+" "+n+" "+t.getUTCFullYear()},DateTimeUtilsService.ɵfac=function DateTimeUtilsService_Factory(e){return new(e||DateTimeUtilsService)},DateTimeUtilsService.ɵprov=o["ɵɵdefineInjectable"]({token:DateTimeUtilsService,factory:DateTimeUtilsService.ɵfac}),DateTimeUtilsService}()},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"INSIGHTS_COLUMNS_PROVIDER",(function(){return c}));var o=n(11),i=n(131),r=n(229),a=n(2051),s=n(1880),A=n(2058),l=n(10),c={useClass:function(){function InsightsColumnProvider(e,t){this.sitefinityInsightConnectorService=e,this.extensionPointUtils=t}return InsightsColumnProvider.prototype.getColumns=function(e){return!1===this.extensionPointUtils.shouldExtendGrid(e.metadata.typeFullName)?Object(o.of)([]):this.sitefinityInsightConnectorService.isSitefinityInsightEnabled().pipe(Object(i.map)((function(e){return!1===e?[]:[{name:l.COLUMN_NAMES.INSIGHTS_COL_NAME,title:l.COLUMN_NAMES.INSIGHTS_COL_NAME,css:"-col-size-2xs",componentData:{type:a.InsightCellComponent}}]})),Object(i.catchError)((function(e){return Object(o.of)([])})))},InsightsColumnProvider.prototype.getColumnsToRemove=function(e){return Object(o.of)([])},InsightsColumnProvider.ɵfac=function InsightsColumnProvider_Factory(e){return new(e||InsightsColumnProvider)(r["ɵɵinject"](s.ConnectorService),r["ɵɵinject"](A.ExtensionPointUtilsService))},InsightsColumnProvider.ɵprov=r["ɵɵdefineInjectable"]({token:InsightsColumnProvider,factory:InsightsColumnProvider.ɵfac}),InsightsColumnProvider}(),multi:!0,provide:l.COLUMNS_TOKEN}},function(e,t,n){"use strict";n.r(t),n.d(t,"InsightCellComponent",(function(){return g}));var o=n(131),i=n(11),r=n(2052),a=n(1546),s=(n(263),n(260)),A=n(1118),l=n(2056),c=n(1880),d=n(2057),p=n(313),f=n(229),u=n(261),m=n(354);function InsightCellComponent_div_0_a_1_Template(e,t){if(1&e){var n=f["ɵɵgetCurrentView"]();f["ɵɵelementStart"](0,"a",4),f["ɵɵlistener"]("click",(function InsightCellComponent_div_0_a_1_Template_a_click_0_listener(){return f["ɵɵrestoreView"](n),f["ɵɵnextContext"](2).onClick()})),f["ɵɵelement"](1,"i",5),f["ɵɵelementEnd"]()}}function InsightCellComponent_div_0_a_2_Template(e,t){if(1&e){var n=f["ɵɵgetCurrentView"]();f["ɵɵelementStart"](0,"a",6),f["ɵɵlistener"]("click",(function InsightCellComponent_div_0_a_2_Template_a_click_0_listener(){return f["ɵɵrestoreView"](n),f["ɵɵnextContext"](2).onClick()})),f["ɵɵelement"](1,"i",7),f["ɵɵelementEnd"]()}}function InsightCellComponent_div_0_Template(e,t){if(1&e&&(f["ɵɵelementStart"](0,"div"),f["ɵɵtemplate"](1,InsightCellComponent_div_0_a_1_Template,2,0,"a",2),f["ɵɵtemplate"](2,InsightCellComponent_div_0_a_2_Template,2,0,"a",3),f["ɵɵelementEnd"]()),2&e){var n=f["ɵɵnextContext"]();f["ɵɵadvance"](1),f["ɵɵproperty"]("ngIf",!n.touchpoint),f["ɵɵadvance"](1),f["ɵɵproperty"]("ngIf",n.touchpoint)}}function InsightCellComponent_div_1_Template(e,t){if(1&e){var n=f["ɵɵgetCurrentView"]();f["ɵɵelementStart"](0,"div"),f["ɵɵelementStart"](1,"a",8),f["ɵɵlistener"]("click",(function InsightCellComponent_div_1_Template_a_click_1_listener(){return f["ɵɵrestoreView"](n),f["ɵɵnextContext"]().onErrorClick()})),f["ɵɵelement"](2,"i",5),f["ɵɵelementEnd"](),f["ɵɵelementEnd"]()}}function InsightCellComponent_div_2_Template(e,t){1&e&&(f["ɵɵelementStart"](0,"div",9),f["ɵɵelement"](1,"sf-loader",10),f["ɵɵelementEnd"]())}var g=function(){function InsightCellComponent(e,t,n,o){var i=this;this.decServerService=e,this.connectorService=t,this.modalWindowService=n,this.route=o,this.loadingData=!0,this.connectorService.getConnectorDetails().subscribe((function(e){i.insightSetupInSitefinityUrl=""+d.SitefinityBaseUrl.getUrl()+e.DecAdminBackendPageUrl}),(function(e){i.insightSetupInSitefinityUrl=""+d.SitefinityBaseUrl.getUrl()+p.DEFAULT_INSIGHT_ADMIN_BACKEND_PAGE_URL}))}return InsightCellComponent.prototype.setCloseModalCallback=function(){},InsightCellComponent.prototype.ngOnInit=function(){var e=this;this.contentItemInfo=new a.ContentItemInfo(this.context.dataItem),this.loadingData=!0,this.decServerService.getTouchpointByContent(this.contentItemInfo).pipe(Object(o.finalize)((function(){return e.loadingData=!1}))).subscribe((function(t){e.touchpoint=t}),(function(t){e.httpError=t}))},InsightCellComponent.prototype.onClick=function(){var e=new A.DialogData({type:null,properties:{externalTouchpointLoad$:Object(i.of)(this.touchpoint),contentItemInfo:this.contentItemInfo,notifyGridCellForNewTouchpointFunc:this.onTouchpointCreated.bind(this)}});this.modalWindowService.setMapping(e,p.INSIGHT_ROUTES.routeKey),this.modalWindowService.show(p.INSIGHT_ROUTES.routeKey,this.route.parent)},InsightCellComponent.prototype.onErrorClick=function(){var e=new A.DialogData({type:l.InsightLostConnectionComponent,properties:{insightSetupInSitefinityUrl:this.insightSetupInSitefinityUrl}});this.modalWindowService.setMapping(e,"custom"),this.modalWindowService.show("custom",this.route.parent)},InsightCellComponent.prototype.onTouchpointCreated=function(e){this.touchpoint=e},InsightCellComponent.ɵfac=function InsightCellComponent_Factory(e){return new(e||InsightCellComponent)(f["ɵɵdirectiveInject"](r.SitefinityInsightTouchpointRequesterService),f["ɵɵdirectiveInject"](c.ConnectorService),f["ɵɵdirectiveInject"](A.ModalWindowService),f["ɵɵdirectiveInject"](s.ActivatedRoute))},InsightCellComponent.ɵcmp=f["ɵɵdefineComponent"]({type:InsightCellComponent,selectors:[["sf-insight-cell"]],decls:3,vars:3,consts:[[4,"ngIf"],["data-info","loading-data",4,"ngIf"],["class","sf-button -icon -no-border","title","Views and attribution","data-info","no-touchpoint-yet",3,"click",4,"ngIf"],["class","sf-button -icon -no-border","title","Views and attribution","data-info","touchpoint-already-exists",3,"click",4,"ngIf"],["title","Views and attribution","data-info","no-touchpoint-yet",1,"sf-button","-icon","-no-border",3,"click"],["aria-hidden","true",1,"button__icon","sf-button__icon","sf-fa","sf-fa-line-chart","sf-icon","-light"],["title","Views and attribution","data-info","touchpoint-already-exists",1,"sf-button","-icon","-no-border",3,"click"],["aria-hidden","true",1,"button__icon","sf-button__icon","sf-fa","sf-fa-line-chart","sf-icon"],["title","Views and attribution","data-info","error-intercepted",1,"sf-button","-icon","-no-border",3,"click"],["data-info","loading-data"],["look","inline"]],template:function InsightCellComponent_Template(e,t){1&e&&(f["ɵɵtemplate"](0,InsightCellComponent_div_0_Template,3,2,"div",0),f["ɵɵtemplate"](1,InsightCellComponent_div_1_Template,3,0,"div",0),f["ɵɵtemplate"](2,InsightCellComponent_div_2_Template,2,0,"div",1)),2&e&&(f["ɵɵproperty"]("ngIf",!1===t.loadingData&&!t.httpError),f["ɵɵadvance"](1),f["ɵɵproperty"]("ngIf",t.httpError),f["ɵɵadvance"](1),f["ɵɵproperty"]("ngIf",t.loadingData&&!t.httpError))},directives:[u.NgIf,m.SfLoaderComponent],encapsulation:2}),InsightCellComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SitefinityInsightTouchpointRequesterService",(function(){return l}));var o=n(131),i=n(2053),r=n(2054),a=n(1881),s=n(2055),A=n(229),l=function(){function SitefinityInsightTouchpointRequesterService(e,t,n){this.sitefinityInsightHttpClient=e,this.dateTimeUtils=t,this.sitefinityRequesterService=n}return SitefinityInsightTouchpointRequesterService.prototype.getTouchpointByContent=function(e){var t={filter:{ContentId:e.Id,ContentType:e.ContentType,ContentProvider:e.Provider}};return this.sitefinityInsightHttpClient.get(SitefinityInsightTouchpointRequesterService.CONTENT_TOUCHPOINTS_ENDPOINT,t).pipe(Object(o.map)(i.HttpDataResponseUtils.firstOrDefault))},SitefinityInsightTouchpointRequesterService.prototype.createContentTouchpoint=function(e,t){var n=this,i=t.AvailableLanguages.length>0,r=-1!==t.AvailableLanguages.indexOf(e),a={Name:t[t.DefaultFieldName],ContentId:t.Id,ContentType:t.ContentType,ContentProvider:t.Provider};if(!i||e===t.CurrentCulture&&r)return this.sitefinityInsightHttpClient.post(SitefinityInsightTouchpointRequesterService.CONTENT_TOUCHPOINTS_ENDPOINT,a,{});var s=r?e:t.AvailableLanguages[0];return this.sitefinityRequesterService.getContentItemsDetails(s,t).pipe(Object(o.map)((function(e){return a.Name=e[t.DefaultFieldName],a})),Object(o.mergeMap)((function(e){return n.sitefinityInsightHttpClient.post(SitefinityInsightTouchpointRequesterService.CONTENT_TOUCHPOINTS_ENDPOINT,e,{})})))},SitefinityInsightTouchpointRequesterService.prototype.hasStatistics=function(e){return this.getDailyStatistics(e,5).pipe(Object(o.map)((function(e){return e&&e.length>=1})))},SitefinityInsightTouchpointRequesterService.prototype.getPeriodMetrics=function(e,t){var n={period:t};return this.sitefinityInsightHttpClient.get("analytics/v1/touchpoints/"+e+"/period-metrics",n).pipe(Object(o.map)(i.HttpDataResponseUtils.firstOrDefault)).pipe(Object(o.map)((function(e){return e.Improvement=e.UniqueHits_PreviousPeriod?(e.UniqueHits_CurrentPeriod-e.UniqueHits_PreviousPeriod)/e.UniqueHits_PreviousPeriod*100:null,e})))},SitefinityInsightTouchpointRequesterService.prototype.getDailyStatistics=function(e,t){var n=t+5,r=this.dateTimeUtils.getFromDateAndToDateInclusiveHeaderValue(n),a={fromDate:r.fromDateISOString,toDate:r.toDateISOString};return this.sitefinityInsightHttpClient.get("analytics/v1/touchpoints/"+e+"/statistics/daily",a).pipe(Object(o.map)(i.HttpDataResponseUtils.flattenCollectionResponse)).pipe(Object(o.map)((function(e){var n=e.length;return n-t>0?e.slice(n-t):e})))},SitefinityInsightTouchpointRequesterService.prototype.getAttributions=function(e,t){var n={filter:{TouchpointId:e},take:t,sort:{GoalCompletions:-1}};return this.sitefinityInsightHttpClient.get("analytics/v1/attributions",n).pipe(Object(o.map)(i.HttpDataResponseUtils.flattenCollectionResponse))},SitefinityInsightTouchpointRequesterService.CONTENT_TOUCHPOINTS_ENDPOINT="analytics/v1/touchpoints/content",SitefinityInsightTouchpointRequesterService.ɵfac=function SitefinityInsightTouchpointRequesterService_Factory(e){return new(e||SitefinityInsightTouchpointRequesterService)(A["ɵɵinject"](r.SitefinityInsightHttpRequester),A["ɵɵinject"](a.DateTimeUtilsService),A["ɵɵinject"](s.SitefinityRequesterService))},SitefinityInsightTouchpointRequesterService.ɵprov=A["ɵɵdefineInjectable"]({token:SitefinityInsightTouchpointRequesterService,factory:SitefinityInsightTouchpointRequesterService.ɵfac}),SitefinityInsightTouchpointRequesterService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"HttpDataResponseUtils",(function(){return o}));var o=function(){function HttpDataResponseUtils(){}return HttpDataResponseUtils.flattenCollectionResponse=function(e){return e.items},HttpDataResponseUtils.firstOrDefault=function(e){return e&&e.items&&e.items.length>0?e.items[0]:null},HttpDataResponseUtils}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SitefinityInsightHttpRequester",(function(){return A}));var o=n(131),i=n(283),r=n(1880),a=n(313),s=n(229),A=function(){function SitefinityInsightHttpRequester(e,t){this.sitefinityInsightConnectorService=e,this.http=t}return SitefinityInsightHttpRequester.prototype.get=function(e,t){var n=this;return this.sitefinityInsightConnectorService.getConnectorDetails().pipe(Object(o.mergeMap)((function(o){var r={headers:new i.HttpHeaders(n.getHeaders(t,o))};return n.http.get(o.ApiServerUrl+"/"+e,r)})))},SitefinityInsightHttpRequester.prototype.post=function(e,t,n){var r=this;return this.sitefinityInsightConnectorService.getConnectorDetails().pipe(Object(o.mergeMap)((function(o){var a={headers:new i.HttpHeaders(r.getHeaders(n,o))};return r.http.post(o.ApiServerUrl+"/"+e,t,a)})))},SitefinityInsightHttpRequester.prototype.getHeaders=function(e,t){var n={"x-dataintelligence-datacenterkey":t.DataCenterApiKey,Authorization:t.AuthorizationHeader};return e.filter&&(n[a.INSIGHT_REQUEST_HEADERS.FILTER]=JSON.stringify(e.filter)),e.fromDate&&(n[a.INSIGHT_REQUEST_HEADERS.FROM_DATE]=e.fromDate),e.toDate&&(n[a.INSIGHT_REQUEST_HEADERS.TO_DATE]=e.toDate),e.scale&&(n[a.INSIGHT_REQUEST_HEADERS.SCALE]=e.scale),e.period&&(n[a.INSIGHT_REQUEST_HEADERS.PERIOD]=e.period),e.sort&&(n[a.INSIGHT_REQUEST_HEADERS.SORT]=JSON.stringify(e.sort)),e.take&&(n[a.INSIGHT_REQUEST_HEADERS.TAKE]=""+e.take),e.ids&&(n[a.INSIGHT_REQUEST_HEADERS.IDS]=""+e.ids),n},SitefinityInsightHttpRequester.ɵfac=function SitefinityInsightHttpRequester_Factory(e){return new(e||SitefinityInsightHttpRequester)(s["ɵɵinject"](r.ConnectorService),s["ɵɵinject"](i.HttpClient))},SitefinityInsightHttpRequester.ɵprov=s["ɵɵdefineInjectable"]({token:SitefinityInsightHttpRequester,factory:SitefinityInsightHttpRequester.ɵfac}),SitefinityInsightHttpRequester}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SitefinityRequesterService",(function(){return a}));var o=n(270),i=n(11),r=n(229),a=function(){function SitefinityRequesterService(e){this.http=e}return SitefinityRequesterService.prototype.getContentItemsDetails=function(e,t){var n=t.SfSetName+"("+t.Id+")?sf_culture="+e+"&sf_provider="+t.Provider;return Object(i.from)(this.http.get(n))},SitefinityRequesterService.ɵfac=function SitefinityRequesterService_Factory(e){return new(e||SitefinityRequesterService)(r["ɵɵinject"](o.HttpODataRequestWrapper))},SitefinityRequesterService.ɵprov=r["ɵɵdefineInjectable"]({token:SitefinityRequesterService,factory:SitefinityRequesterService.ɵfac}),SitefinityRequesterService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"InsightLostConnectionComponent",(function(){return i}));var o=n(229),i=function(){function InsightLostConnectionComponent(){}return InsightLostConnectionComponent.ɵfac=function InsightLostConnectionComponent_Factory(e){return new(e||InsightLostConnectionComponent)},InsightLostConnectionComponent.ɵcmp=o["ɵɵdefineComponent"]({type:InsightLostConnectionComponent,selectors:[["ng-component"]],decls:13,vars:1,consts:[[1,"-sf-centered-vertical-box"],["aria-hidden","true",1,"sf-fa","sf-fa-exclamation-triangle","sf-icon","-illustrative"],[1,"-sf-mt-m","-sf-mb-4xs"],[1,"-txt-large","-sf-txt-large","-sf-mb-3xs"],[1,"-list-style-none","-txt-large","-sf-txt-large"],[1,"-sf-mb-4xs"],["href","https://www.progress.com/documentation/sitefinity-cms/connect-to-sitefinity-insight#troubleshoot-connection-issues","target","_blank"],["target","_blank"]],template:function InsightLostConnectionComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div",0),o["ɵɵelement"](1,"i",1),o["ɵɵelementStart"](2,"h1",2),o["ɵɵtext"](3,"Lost connection"),o["ɵɵelementEnd"](),o["ɵɵelementStart"](4,"p",3),o["ɵɵtext"](5,"Connection to Sitefinity Insight is lost and no data is currently available."),o["ɵɵelementEnd"](),o["ɵɵelementStart"](6,"ul",4),o["ɵɵelementStart"](7,"li",5),o["ɵɵelementStart"](8,"a",6),o["ɵɵtext"](9,"More about connectivity problems"),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementStart"](10,"li"),o["ɵɵelementStart"](11,"a",7),o["ɵɵtext"](12,"Try to restore the connection"),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()),2&e&&(o["ɵɵadvance"](11),o["ɵɵattribute"]("href",t.insightSetupInSitefinityUrl,o["ɵɵsanitizeUrl"]))},styles:[".-sf-centered-vertical-box[_ngcontent-%COMP%] {\n margin-top: -100px;\n margin-bottom: -66px;\n}"]}),InsightLostConnectionComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SitefinityBaseUrl",(function(){return r}));var o=n(1444),i=n(273),r=function(){function SitefinityBaseUrl(){}return SitefinityBaseUrl.getUrl=function(){return localStorage.getItem(i.KEYS.SERVICE_URL)},SitefinityBaseUrl.getHTTPPrefix=function(){return o.HTTP_PREFIX||""},SitefinityBaseUrl}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ExtensionPointUtilsService",(function(){return i}));var o=n(229),i=function(){function ExtensionPointUtilsService(){}return ExtensionPointUtilsService.prototype.shouldExtendMenu=function(e){if(!e)return!1;return!(-1===["Telerik.Sitefinity.News.Model.NewsItem","Telerik.Sitefinity.Blogs.Model.BlogPost","Telerik.Sitefinity.Lists.Model.ListItem","Telerik.Sitefinity.Libraries.Model.Video"].indexOf(e))||!!this._isDynamicModule(e)},ExtensionPointUtilsService.prototype.shouldExtendGrid=function(e){if(!e)return!1;return!(-1===["Telerik.Sitefinity.News.Model.NewsItem","Telerik.Sitefinity.Blogs.Model.Blog","Telerik.Sitefinity.Blogs.Model.BlogPost","Telerik.Sitefinity.Lists.Model.List","Telerik.Sitefinity.Lists.Model.ListItem","Telerik.Sitefinity.Libraries.Model.VideoLibrary","Telerik.Sitefinity.Libraries.Model.Video"].indexOf(e))||!!this._isDynamicModule(e)},ExtensionPointUtilsService.prototype._isDynamicModule=function(e){return e.startsWith("Telerik.Sitefinity.DynamicTypes")},ExtensionPointUtilsService.ɵfac=function ExtensionPointUtilsService_Factory(e){return new(e||ExtensionPointUtilsService)},ExtensionPointUtilsService.ɵprov=o["ɵɵdefineInjectable"]({token:ExtensionPointUtilsService,factory:ExtensionPointUtilsService.ɵfac}),ExtensionPointUtilsService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"COMMANDS_PROVIDER",(function(){return d}));var o=n(11),i=n(131),r=n(229),a=n(1880),s=n(2058),A=n(396),l=n(394),c=n(319),d={useClass:function(){function InsightsCommandProvider(e,t){this.sitefinityInsightConnectorService=e,this.extensionPointUtils=t}return InsightsCommandProvider.prototype.getCommands=function(e){return e.target!==l.OperationsTarget.Edit||null==e.dataItem||!1===this.extensionPointUtils.shouldExtendMenu(e.dataItem.metadata.typeFullName)?Object(o.of)([]):this.sitefinityInsightConnectorService.isSitefinityInsightEnabled().pipe(Object(i.mergeMap)((function(e){return e?Object(o.of)([{name:c.OPERATION_NAMES.insightViewsAndAttribution,title:"Views and Attribution",category:"Lifecycle",ordinal:2147483647}]):Object(o.of)([])})),Object(i.catchError)((function(e){return Object(o.of)([])})))},InsightsCommandProvider.prototype.getCategories=function(e){return Object(o.of)([])},InsightsCommandProvider.prototype.getOperations=function(e){return Object(o.of)([])},InsightsCommandProvider.ɵfac=function InsightsCommandProvider_Factory(e){return new(e||InsightsCommandProvider)(r["ɵɵinject"](a.ConnectorService),r["ɵɵinject"](s.ExtensionPointUtilsService))},InsightsCommandProvider.ɵprov=r["ɵɵdefineInjectable"]({token:InsightsCommandProvider,factory:InsightsCommandProvider.ɵfac}),InsightsCommandProvider}(),multi:!0,provide:A.OPERATIONS_TOKEN}},function(e,t,n){"use strict";n.r(t),n.d(t,"HtmlModule",(function(){return C}));var o=n(1241),i=n(2061),r=n(1700),a=n(1569),s=n(415),A=n(1701),l=n(1702),c=n(1711),d=n(1709),p=n(1450),f=n(2062),u=n(2063),m=n(315),g=n(371),E=n(1698),h=n(2079),b=n(229),C=function(){function HtmlModule(){}return HtmlModule.ɵfac=function HtmlModule_Factory(e){return new(e||HtmlModule)},HtmlModule.ɵmod=b["ɵɵdefineNgModule"]({type:HtmlModule}),HtmlModule.ɵinj=b["ɵɵdefineInjector"]({providers:[d.CreateLinkHelper,m.ExternalAppConfigService,g.ExternalStyleSheetService,h.CREATE_LINK_FIELD_CHANGE_HANDLER],imports:[[a.SharedModule,s.FieldsModule,o.HttpModule,o.JsonpModule]]}),HtmlModule}();b["ɵɵsetNgModuleScope"](C,{declarations:[i.HtmlReadModeComponent,r.HtmlComponent,E.HtmlWrapperComponent,A.EmbedMediaComponent,c.CreateLinkComponent,p.ImmutableEditMenuComponent,l.ViewCodeComponent,f.LinkInsertFieldComponent,u.LinkInsertSelectorComponent],imports:[a.SharedModule,s.FieldsModule,o.HttpModule,o.JsonpModule],exports:[i.HtmlReadModeComponent,r.HtmlComponent,E.HtmlWrapperComponent]})},function(e,t,n){"use strict";n.r(t),n.d(t,"HtmlReadModeComponent",(function(){return r}));var o=n(229),i=["host"],r=function(){function HtmlReadModeComponent(){}return HtmlReadModeComponent.prototype.ngAfterViewInit=function(){this.host.nativeElement.innerHTML=this.value},HtmlReadModeComponent.ɵfac=function HtmlReadModeComponent_Factory(e){return new(e||HtmlReadModeComponent)},HtmlReadModeComponent.ɵcmp=o["ɵɵdefineComponent"]({type:HtmlReadModeComponent,selectors:[["sf-html-read-mode"]],viewQuery:function HtmlReadModeComponent_Query(e,t){if(1&e&&o["ɵɵviewQuery"](i,3),2&e){var n;o["ɵɵqueryRefresh"](n=o["ɵɵloadQuery"]())&&(t.host=n.first)}},decls:3,vars:0,consts:[["host",""]],template:function HtmlReadModeComponent_Template(e,t){1&e&&(o["ɵɵelementStart"](0,"div"),o["ɵɵelement"](1,"div",null,0),o["ɵɵelementEnd"]())},encapsulation:2}),HtmlReadModeComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"LinkInsertFieldComponent",(function(){return I}));var o=n(259),i=n(131),r=n(260),a=n(11),s=n(336),A=n(415),l=n(246),c=n(262),d=n(1733),p=n(1118),f=n(338),u=n(361),m=n(1502),g=n(1501),E=n(2063),h=n(1063),b=n(229),C=n(261),B=n(354),k=n(324);function LinkInsertFieldComponent_ng_container_0_ng_container_1_label_2_Template(e,t){if(1&e&&(b["ɵɵelementStart"](0,"label",8),b["ɵɵtext"](1),b["ɵɵelementEnd"]()),2&e){var n=b["ɵɵnextContext"](2).ngIf;b["ɵɵclassProp"]("-sf-just-added-disabled",n.justAdded),b["ɵɵproperty"]("sfUnit",n.contentItemModel.entityName),b["ɵɵadvance"](1),b["ɵɵtextInterpolate1"](" ",n.contentItemModel.entityName," ")}}function LinkInsertFieldComponent_ng_container_0_ng_container_1_ng_container_6_a_1_Template(e,t){if(1&e&&(b["ɵɵelementStart"](0,"a",11),b["ɵɵtext"](1,"View"),b["ɵɵelementEnd"]()),2&e){var n=b["ɵɵnextContext"](3).ngIf;b["ɵɵpropertyInterpolate"]("href",n.href,b["ɵɵsanitizeUrl"])}}function LinkInsertFieldComponent_ng_container_0_ng_container_1_ng_container_6_Template(e,t){if(1&e){var n=b["ɵɵgetCurrentView"]();b["ɵɵelementContainerStart"](0),b["ɵɵtemplate"](1,LinkInsertFieldComponent_ng_container_0_ng_container_1_ng_container_6_a_1_Template,2,1,"a",9),b["ɵɵelementStart"](2,"sf-icon",10),b["ɵɵlistener"]("click",(function LinkInsertFieldComponent_ng_container_0_ng_container_1_ng_container_6_Template_sf_icon_click_2_listener(){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"](3).onContentLinkEditClick()})),b["ɵɵelementEnd"](),b["ɵɵelementContainerEnd"]()}if(2&e){var o=b["ɵɵnextContext"](2).ngIf;b["ɵɵadvance"](1),b["ɵɵproperty"]("ngIf",!o.hasErrors)}}function LinkInsertFieldComponent_ng_container_0_ng_container_1_ng_template_7_Template(e,t){1&e&&b["ɵɵelement"](0,"sf-loader")}var _c0=function(e,t,n){return{"-loading":e,"-error":t,"-sf-just-added":n}};function LinkInsertFieldComponent_ng_container_0_ng_container_1_Template(e,t){if(1&e&&(b["ɵɵelementContainerStart"](0),b["ɵɵelementStart"](1,"div",3),b["ɵɵtemplate"](2,LinkInsertFieldComponent_ng_container_0_ng_container_1_label_2_Template,2,4,"label",4),b["ɵɵelementStart"](3,"div",5),b["ɵɵtext"](4),b["ɵɵelementEnd"](),b["ɵɵelementStart"](5,"span",6),b["ɵɵtemplate"](6,LinkInsertFieldComponent_ng_container_0_ng_container_1_ng_container_6_Template,3,1,"ng-container",1),b["ɵɵtemplate"](7,LinkInsertFieldComponent_ng_container_0_ng_container_1_ng_template_7_Template,1,0,"ng-template",null,7,b["ɵɵtemplateRefExtractor"]),b["ɵɵelementEnd"](),b["ɵɵelementEnd"](),b["ɵɵelementContainerEnd"]()),2&e){var n=b["ɵɵreference"](8),o=b["ɵɵnextContext"]().ngIf;b["ɵɵadvance"](1),b["ɵɵproperty"]("ngClass",b["ɵɵpureFunction3"](5,_c0,o.isLoading,o.hasErrors,o.justAdded)),b["ɵɵadvance"](1),b["ɵɵproperty"]("ngIf",o.contentItemModel.entityName),b["ɵɵadvance"](2),b["ɵɵtextInterpolate1"](" ",o.contentItemModel.itemName||o.href," "),b["ɵɵadvance"](2),b["ɵɵproperty"]("ngIf",!o.isLoading)("ngIfElse",n)}}function LinkInsertFieldComponent_ng_container_0_ng_template_2_Template(e,t){if(1&e){var n=b["ɵɵgetCurrentView"]();b["ɵɵelementStart"](0,"sf-input",12,13),b["ɵɵlistener"]("ngModelChange",(function LinkInsertFieldComponent_ng_container_0_ng_template_2_Template_sf_input_ngModelChange_0_listener(e){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"]().ngIf.href=e}))("onBlur",(function LinkInsertFieldComponent_ng_container_0_ng_template_2_Template_sf_input_onBlur_0_listener(){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"](2).onLinkInputUrlBlur()}))("onFocus",(function LinkInsertFieldComponent_ng_container_0_ng_template_2_Template_sf_input_onFocus_0_listener(){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"](2).onFocus()})),b["ɵɵelementEnd"](),b["ɵɵtext"](2," or "),b["ɵɵelementStart"](3,"sf-button",14),b["ɵɵlistener"]("onMouseDown",(function LinkInsertFieldComponent_ng_container_0_ng_template_2_Template_sf_button_onMouseDown_3_listener(){return b["ɵɵrestoreView"](n),b["ɵɵnextContext"](2).openContentSelectorDialog()})),b["ɵɵtext"](4,"Select page or content"),b["ɵɵelementEnd"]()}if(2&e){var o=b["ɵɵnextContext"]().ngIf,i=b["ɵɵnextContext"]();b["ɵɵproperty"]("name",i.settings.key)("placeholder",i.settings.placeholder)("unit",i.inputModel.linkTypeName)("ngModel",o.href)}}function LinkInsertFieldComponent_ng_container_0_Template(e,t){if(1&e&&(b["ɵɵelementContainerStart"](0),b["ɵɵtemplate"](1,LinkInsertFieldComponent_ng_container_0_ng_container_1_Template,9,9,"ng-container",1),b["ɵɵtemplate"](2,LinkInsertFieldComponent_ng_container_0_ng_template_2_Template,5,4,"ng-template",null,2,b["ɵɵtemplateRefExtractor"]),b["ɵɵelementContainerEnd"]()),2&e){var n=t.ngIf,o=b["ɵɵreference"](3);b["ɵɵadvance"](1),b["ɵɵproperty"]("ngIf",n.contentItemModel&&!n.contentItemModel.isEditContentLinkMode)("ngIfElse",o)}}var I=function(e){function LinkInsertFieldComponent(t,n,o){var i=e.call(this)||this;return i.locatableItemsService=t,i.modalService=n,i.route=o,i.inputModel$=new a.BehaviorSubject(new g.ContentLinkInputModel),i.inputModel=new g.ContentLinkInputModel,i.subscriptionsHolder$=new a.Subject,i.onContentSelectorDialogDone=function(e){var t=e.component;if(e.data&&!0===e.data.data){var n=t.contentSelector.context;if(!n||!n.selectedContentItem)return;i.initContentLinkInput(n)}},i}return Object(o.__extends)(LinkInsertFieldComponent,e),Object.defineProperty(LinkInsertFieldComponent.prototype,"isContentLink",{get:function(){return!!this.inputModel.contentItemModel},enumerable:!1,configurable:!0}),LinkInsertFieldComponent.prototype.ngOnInit=function(){this.meta=this.route.parent.snapshot.data.metaStore,this.siteData=this.route.parent.snapshot.data.siteDataStore;var e=this.route.parent.firstChild.snapshot.data[c.RESOLVE_NAMES.itemData];this.initialCulture=(null==e?void 0:e.item.culture)||this.route.snapshot.queryParams[c.QUERY_PARAMS.CULTURE];var t=this.getValue();this.inputModel=t||new g.ContentLinkInputModel,this.isContentLink&&this.initContentLink(),this.writeValue(this.inputModel),this.inputModel$.next(this.inputModel)},LinkInsertFieldComponent.prototype.ngOnDestroy=function(){this.subscriptionsHolder$.next({}),this.subscriptionsHolder$.complete()},LinkInsertFieldComponent.prototype.openContentSelectorDialog=function(){var e=this.getContentSelectorDialogData(),t="selectPageOrContent";this.modalService.setMapping(e,t),this.modalService.show(t,this.route.parent)},LinkInsertFieldComponent.prototype.onLinkInputUrlBlur=function(){this.isContentLink?this.inputModel.contentItemModel.sfLink.href!==this.inputModel.href?(this.inputModel.contentItemModel=null,this.onLinkInputUrlBlur()):(this.inputModel.contentItemModel.isEditContentLinkMode=!1,this.writeValue(this.inputModel),e.prototype.onBlur.call(this)):(this.writeValue(this.inputModel),e.prototype.onBlur.call(this))},LinkInsertFieldComponent.prototype.onContentLinkEditClick=function(){this.inputModel.getErrors().length>0?this.onLinkInputUrlBlur():this.inputModel.contentItemModel.isEditContentLinkMode=!0},LinkInsertFieldComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.onChangeCallback&&this.onChangeCallback(t)},LinkInsertFieldComponent.prototype.initContentLink=function(){var e=this;this.inputModel.isLoading=!0,this.inputModel$.next(this.inputModel),this.subscriptionsHolder$.next({}),this.locatableItemsService.getItemFromDynamicLink(this.inputModel.contentItemModel.sfLink.sfref).pipe(Object(h.delayEmission)(c.BLUR_EFFECT_TIMEOUT),Object(i.takeUntil)(this.subscriptionsHolder$)).subscribe((function(t){t.isLoading||(e.inputModel.contentItemModel.itemName=t.content.title,e.inputModel.contentItemModel.entityName=e.meta.entities[t.content.entitySet].displayName,e.inputModel.isLoading=!1,e.inputModel$.next(e.inputModel))}),(function(t){e.setInputModelErrorState(t),e.inputModel.isLoading=!1,e.onBlur(),e.inputModel$.next(e.inputModel)}))},LinkInsertFieldComponent.prototype.setInputModelErrorState=function(e){var t=e.message?e.message:e;this.inputModel.contentItemModel.validationErrors.push({errorType:f.VALIDATOR_NAMES.CUSTOM,error:t===d.UNKNOWN_ERROR_MESSAGE?{message:"Error occured. Could not get the item."}:{message:t}})},LinkInsertFieldComponent.prototype.getContentSelectorDialogData=function(){var e=this,t=[new p.ConfirmButton(u.SelectorConstants.USE_SELECTED),new p.CancelButton],n={type:E.LinkInsertSelectorComponent,afterComponentInit:function(t){var n=t;n.meta=e.meta,n.siteData=e.siteData,n.initialCulture=e.initialCulture}};return this.linkInsertItemSelectorDialogData=new p.DialogData(n,this.onContentSelectorDialogDone,t,null,"-bottom"),this.linkInsertItemSelectorDialogData},LinkInsertFieldComponent.prototype.initContentLinkInput=function(e){var t=this;this.inputModel.contentItemModel=new m.ContentItemModel,this.inputModel.contentItemModel.entityName=e.selectedContentItem.dataItem.metadata.displayName,this.inputModel.contentItemModel.itemName=e.selectedContentItem.Title,this.inputModel.href=l.stringConstants.EMPTY_STRING,this.inputModel.hasErrors=!1,this.inputModel.isLoading=!0,this.inputModel$.next(this.inputModel),this.subscriptionsHolder$.next({}),this.generateInputModelDynamicLink(e).pipe(Object(i.takeUntil)(this.subscriptionsHolder$)).subscribe((function(e){t.inputModel.contentItemModel.sfLink.href=e.link,t.inputModel.href=e.link,t.inputModel.contentItemModel.sfLink.sfref=e.dynamicLink,t.inputModel.isLoading=!1,t.triggerJustAdded(),t.inputModel$.next(t.inputModel),t.writeValue(t.inputModel)}),(function(e){t.setInputModelErrorState(e),t.inputModel.isLoading=!1,t.inputModel$.next(t.inputModel),t.writeValue(t.inputModel),t.onBlur()}))},LinkInsertFieldComponent.prototype.triggerJustAdded=function(){var e=this;this.inputModel.justAdded=!0,setTimeout((function(){e.inputModel.justAdded=!1}),1e3)},LinkInsertFieldComponent.prototype.generateInputModelDynamicLink=function(e){return this.getSelectedContentDynamicLink(e).pipe(Object(h.delayEmission)(c.BLUR_EFFECT_TIMEOUT),Object(i.filter)((function(e){return!e.isLoading})))},LinkInsertFieldComponent.prototype.getSelectedContentDynamicLink=function(e){return this.locatableItemsService.getDynamicLink(e.selectedEntitySet.value,e.selectedContentItem.Id,e.selectedProvider.value,this.initialCulture,e.selectedSite.value,e.selectedCulture.value===this.initialCulture?l.stringConstants.EMPTY_STRING:e.selectedCulture.value).pipe(Object(i.filter)((function(e){return!e.isLoading})),Object(i.map)((function(e){return e.content})))},LinkInsertFieldComponent.ɵfac=function LinkInsertFieldComponent_Factory(e){return new(e||LinkInsertFieldComponent)(b["ɵɵdirectiveInject"](d.LocatableDynamicItemService),b["ɵɵdirectiveInject"](p.ModalWindowService),b["ɵɵdirectiveInject"](r.ActivatedRoute))},LinkInsertFieldComponent.ɵcmp=b["ɵɵdefineComponent"]({type:LinkInsertFieldComponent,selectors:[["sf-link-insert"]],features:[b["ɵɵProvidersFeature"]([Object(s.createValueAccessor)(LinkInsertFieldComponent)]),b["ɵɵInheritDefinitionFeature"]],decls:2,vars:3,consts:[[4,"ngIf"],[4,"ngIf","ngIfElse"],["urlInputContainer",""],[1,"sf-item",3,"ngClass"],["class","sf-icon -light -size-5xs -sf-txt-upper-case sf-item__unit",3,"-sf-just-added-disabled","sfUnit",4,"ngIf"],[1,"sf-item__content"],[1,"sf-item__right-align"],["loading",""],[1,"sf-icon","-light","-size-5xs","-sf-txt-upper-case","sf-item__unit",3,"sfUnit"],["class","-sf-mr-2xs","target","_blank","rel","noopener noreferrer",3,"href",4,"ngIf"],["name","pencil","look","size-xs sf-clickable",3,"click"],["target","_blank","rel","noopener noreferrer",1,"-sf-mr-2xs",3,"href"],["autofocus","true","unitPosition","left","unitLook","size-5xs sf-txt-upper-case","look","sf-mb-4xs",3,"name","placeholder","unit","ngModel","ngModelChange","onBlur","onFocus"],["urlInput",""],["data-sftest","openLinkInsertSelectorBtn","look","small",3,"onMouseDown"]],template:function LinkInsertFieldComponent_Template(e,t){1&e&&(b["ɵɵtemplate"](0,LinkInsertFieldComponent_ng_container_0_Template,4,2,"ng-container",0),b["ɵɵpipe"](1,"async")),2&e&&b["ɵɵproperty"]("ngIf",b["ɵɵpipeBind1"](1,1,t.inputModel$))},directives:[C.NgIf,C.NgClass,B.SfUnitDirective,B.SfIconComponent,B.SfLoaderComponent,B.SfInputComponent,k.NgControlStatus,k.NgModel,B.SfButtonComponent],pipes:[C.AsyncPipe],encapsulation:2}),LinkInsertFieldComponent}(A.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"LinkInsertSelectorComponent",(function(){return v}));var o=n(131),i=n(316),r=n(1148),a=n(1733),s=n(11),A=n(1139),l=n(2064),c=n(2069),d=n(2070),p=n(2071),f=n(2073),u=n(2078),m=n(242),g=n(1208),E=n(1174),h=n(229),b=n(261),C=n(417),B=n(1107),k=n(354),I=n(1649);function LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_2_Template(e,t){1&e&&(h["ɵɵelementContainerStart"](0),h["ɵɵtext"](1,"Site"),h["ɵɵelementContainerEnd"]())}function LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_3_Template(e,t){1&e&&(h["ɵɵelementContainerStart"](0),h["ɵɵtext"](1,"Language"),h["ɵɵelementContainerEnd"]())}function LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_6_span_1_Template(e,t){1&e&&(h["ɵɵelementStart"](0,"span",16),h["ɵɵtext"](1,"in"),h["ɵɵelementEnd"]())}var _c0=function(e){return[e]};function LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_6_Template(e,t){if(1&e){var n=h["ɵɵgetCurrentView"]();h["ɵɵelementContainerStart"](0),h["ɵɵtemplate"](1,LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_6_span_1_Template,2,0,"span",14),h["ɵɵelementStart"](2,"sf-chips",15),h["ɵɵlistener"]("selectChip",(function LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_6_Template_sf_chips_selectChip_2_listener(e){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"](2).ngIf.onSelectedItemChanged(e)})),h["ɵɵelementEnd"](),h["ɵɵelementContainerEnd"]()}if(2&e){var o=h["ɵɵnextContext"](2).ngIf,i=h["ɵɵnextContext"]().ngIf;h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",(null==i.items?null:i.items.length)>1&&(null==o.items?null:o.items.length)>1),h["ɵɵadvance"](1),h["ɵɵproperty"]("config",o.chipsConfig)("isLoading",!0)("isSingleSelection",!0)("selectedChips",o.isReady?h["ɵɵpureFunction1"](7,_c0,o.selectedItem):null)("dropdownChips",o.items)("hidden",1===(null==o.items?null:o.items.length))}}function LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_Template(e,t){if(1&e){var n=h["ɵɵgetCurrentView"]();h["ɵɵelementStart"](0,"div",4),h["ɵɵelementStart"](1,"label",5),h["ɵɵtemplate"](2,LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_2_Template,2,0,"ng-container",3),h["ɵɵtemplate"](3,LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_3_Template,2,0,"ng-container",3),h["ɵɵelementEnd"](),h["ɵɵelementStart"](4,"div",12),h["ɵɵelementStart"](5,"sf-chips",13),h["ɵɵlistener"]("selectChip",(function LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_Template_sf_chips_selectChip_5_listener(e){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"](2).ngIf.onSelectedItemChanged(e)})),h["ɵɵelementEnd"](),h["ɵɵtemplate"](6,LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_ng_container_6_Template,3,9,"ng-container",3),h["ɵɵelementEnd"](),h["ɵɵelementEnd"]()}if(2&e){var o=h["ɵɵnextContext"]().ngIf,i=h["ɵɵnextContext"]().ngIf;h["ɵɵadvance"](2),h["ɵɵproperty"]("ngIf",(null==i.items?null:i.items.length)>1),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",1===(null==i.items?null:i.items.length)&&(null==o.items?null:o.items.length)>1),h["ɵɵadvance"](2),h["ɵɵproperty"]("config",i.chipsConfig)("isLoading",!0)("isSingleSelection",!0)("selectedChips",i.isReady?h["ɵɵpureFunction1"](9,_c0,i.selectedItem):null)("dropdownChips",i.items)("hidden",1===(null==i.items?null:i.items.length)),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",(null==o.items?null:o.items.length)>1)}}function LinkInsertSelectorComponent_ng_container_4_ng_container_1_Template(e,t){if(1&e&&(h["ɵɵelementContainerStart"](0),h["ɵɵtemplate"](1,LinkInsertSelectorComponent_ng_container_4_ng_container_1_div_1_Template,7,11,"div",11),h["ɵɵelementContainerEnd"]()),2&e){var n=t.ngIf,o=h["ɵɵnextContext"]().ngIf;h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",(null==o.items?null:o.items.length)>1||(null==n.items?null:n.items.length)>1)}}function LinkInsertSelectorComponent_ng_container_4_Template(e,t){if(1&e&&(h["ɵɵelementContainerStart"](0),h["ɵɵtemplate"](1,LinkInsertSelectorComponent_ng_container_4_ng_container_1_Template,2,1,"ng-container",3),h["ɵɵpipe"](2,"async"),h["ɵɵelementContainerEnd"]()),2&e){var n=h["ɵɵnextContext"]();h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",h["ɵɵpipeBind1"](2,1,n.languageSelector.change$))}}function LinkInsertSelectorComponent_div_9_ng_container_2_ng_container_1_Template(e,t){if(1&e){var n=h["ɵɵgetCurrentView"]();h["ɵɵelementContainerStart"](0),h["ɵɵelementStart"](1,"span",16),h["ɵɵtext"](2,"in"),h["ɵɵelementEnd"](),h["ɵɵelementStart"](3,"sf-chips",18),h["ɵɵlistener"]("selectChip",(function LinkInsertSelectorComponent_div_9_ng_container_2_ng_container_1_Template_sf_chips_selectChip_3_listener(e){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"]().ngIf.onSelectedItemChanged(e)})),h["ɵɵelementEnd"](),h["ɵɵelementContainerEnd"]()}if(2&e){var o=h["ɵɵnextContext"]().ngIf;h["ɵɵadvance"](3),h["ɵɵproperty"]("config",o.chipsConfig)("isLoading",!0)("isSingleSelection",!0)("selectedChips",o.isReady?h["ɵɵpureFunction1"](5,_c0,o.selectedItem):null)("dropdownChips",o.items)}}function LinkInsertSelectorComponent_div_9_ng_container_2_Template(e,t){if(1&e&&(h["ɵɵelementContainerStart"](0),h["ɵɵtemplate"](1,LinkInsertSelectorComponent_div_9_ng_container_2_ng_container_1_Template,4,7,"ng-container",3),h["ɵɵelementContainerEnd"]()),2&e){var n=t.ngIf,o=h["ɵɵnextContext"]().ngIf;h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",!n.shouldHide&&o.isReady&&n.isReady)}}function LinkInsertSelectorComponent_div_9_Template(e,t){if(1&e&&(h["ɵɵelementStart"](0,"div",12),h["ɵɵelementStart"](1,"sf-chips",17),h["ɵɵlistener"]("selectChip",(function LinkInsertSelectorComponent_div_9_Template_sf_chips_selectChip_1_listener(e){return t.ngIf.onSelectedItemChanged(e)})),h["ɵɵelementEnd"](),h["ɵɵtemplate"](2,LinkInsertSelectorComponent_div_9_ng_container_2_Template,2,1,"ng-container",3),h["ɵɵpipe"](3,"async"),h["ɵɵelementEnd"]()),2&e){var n=t.ngIf,o=h["ɵɵnextContext"]();h["ɵɵadvance"](1),h["ɵɵproperty"]("config",n.chipsConfig)("isLoading",!0)("isSingleSelection",!0)("selectedChips",n.isReady?h["ɵɵpureFunction1"](9,_c0,n.selectedItem):null)("dropdownChips",n.items)("isReadOnly",1===(null==n.items?null:n.items.length)),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",h["ɵɵpipeBind1"](3,7,o.providerSelector.change$))}}function LinkInsertSelectorComponent_div_11_ng_container_1_sf_show_all_1_Template(e,t){if(1&e){var n=h["ɵɵgetCurrentView"]();h["ɵɵelementStart"](0,"sf-show-all",21),h["ɵɵlistener"]("newItemSelected",(function LinkInsertSelectorComponent_div_11_ng_container_1_sf_show_all_1_Template_sf_show_all_newItemSelected_0_listener(e){return h["ɵɵrestoreView"](n),h["ɵɵnextContext"](2).ngIf.onSelectedItemChanged(e)})),h["ɵɵelementEnd"]()}if(2&e){var o=h["ɵɵnextContext"](2).ngIf;h["ɵɵproperty"]("hasStickyBuffer",!1)("serviceAware",o.service)("value",o.items)("totalItemsCount",o.totalItemCount)("treeConfig",o.treeConfig)("defaultField",o.entity.defaultFieldName)}}function LinkInsertSelectorComponent_div_11_ng_container_1_Template(e,t){if(1&e&&(h["ɵɵelementContainerStart"](0),h["ɵɵtemplate"](1,LinkInsertSelectorComponent_div_11_ng_container_1_sf_show_all_1_Template,1,6,"sf-show-all",20),h["ɵɵelementContainerEnd"]()),2&e){var n=h["ɵɵnextContext"]().ngIf;h["ɵɵnextContext"]();var o=h["ɵɵreference"](16);h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",n.items.length>0)("ngIfElse",o)}}function LinkInsertSelectorComponent_div_11_Template(e,t){if(1&e&&(h["ɵɵelementStart"](0,"div"),h["ɵɵtemplate"](1,LinkInsertSelectorComponent_div_11_ng_container_1_Template,2,2,"ng-container",19),h["ɵɵelementEnd"]()),2&e){var n=t.ngIf;h["ɵɵnextContext"]();var o=h["ɵɵreference"](18);h["ɵɵclassProp"]("-sf-mt--xs",n.isReady&&n.items.length>0),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",n.isReady)("ngIfElse",o)}}function LinkInsertSelectorComponent_sf_error_13_Template(e,t){if(1&e&&h["ɵɵelement"](0,"sf-error",22),2&e){var n=t.ngIf;h["ɵɵproperty"]("messages",h["ɵɵpureFunction1"](1,_c0,n))}}function LinkInsertSelectorComponent_ng_template_15_Template(e,t){1&e&&(h["ɵɵelement"](0,"sf-search",23),h["ɵɵelement"](1,"sf-no-items-found",24)),2&e&&h["ɵɵproperty"]("clearable",!0)}function LinkInsertSelectorComponent_ng_template_17_ng_container_0_hr_1_Template(e,t){1&e&&h["ɵɵelement"](0,"hr",28)}function LinkInsertSelectorComponent_ng_template_17_ng_container_0_Template(e,t){if(1&e&&(h["ɵɵelementContainerStart"](0),h["ɵɵtemplate"](1,LinkInsertSelectorComponent_ng_template_17_ng_container_0_hr_1_Template,1,0,"hr",26),h["ɵɵelement"](2,"sf-loader",27),h["ɵɵelement"](3,"hr",28),h["ɵɵelementContainerEnd"]()),2&e){var n=t.first;h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",n)}}var _c1=function(){return[0,0,0]};function LinkInsertSelectorComponent_ng_template_17_Template(e,t){1&e&&h["ɵɵtemplate"](0,LinkInsertSelectorComponent_ng_template_17_ng_container_0_Template,4,1,"ng-container",25),2&e&&h["ɵɵproperty"]("ngForOf",h["ɵɵpureFunction0"](1,_c1))}var v=function(){function LinkInsertSelectorComponent(e,t,n,o,i,r,a){var A=this;this.locatableItemsService=e,this.dynamicItemsService=t,this.siteDataStore=n,this.providersService=o,this.logger=i,this.mediaService=r,this.sortService=a,this.error$=new s.Subject,this.selectors=[],this.subscriptionsHolder$=new s.Subject,this.errorHandler=function(e){A.error$.next(e)}}return LinkInsertSelectorComponent.prototype.ngOnInit=function(){this.initializeSelectors(),this.buildSelectorsDependencyGraph(),this.siteSelector.init(new u.SelectorContext),this.mediaService.clear()},LinkInsertSelectorComponent.prototype.ngOnDestroy=function(){this.subscriptionsHolder$.next({})},LinkInsertSelectorComponent.prototype.initializeSelectors=function(){var e=this;this.siteSelector=new l.SiteSelector(this.logger,this.siteData,this.meta,this.siteDataStore),this.selectors.push(this.siteSelector),this.languageSelector=new c.LanguageSelector(this.logger,this.initialCulture),this.selectors.push(this.languageSelector),this.entitySelector=new d.EntitySelector(this.logger,this.locatableItemsService,this.meta),this.selectors.push(this.entitySelector),this.providerSelector=new p.ProviderSelector(this.logger,this.providersService),this.selectors.push(this.providerSelector),this.contentSelector=new f.ContentSelector(this.logger,this.dynamicItemsService,this.meta,this.mediaService,this.sortService),this.selectors.push(this.contentSelector),this.selectors.forEach((function(t){return t.error$.pipe(Object(o.takeUntil)(e.subscriptionsHolder$)).subscribe(e.errorHandler)}))},LinkInsertSelectorComponent.prototype.buildSelectorsDependencyGraph=function(){this.siteSelector.addChild(this.languageSelector),this.siteSelector.addChild(this.entitySelector),this.entitySelector.addChild(this.providerSelector),this.contentSelector.addParent(this.languageSelector),this.contentSelector.addParent(this.providerSelector),this.contentSelector.addParent(this.siteSelector),this.contentSelector.addParent(this.entitySelector)},LinkInsertSelectorComponent.ɵfac=function LinkInsertSelectorComponent_Factory(e){return new(e||LinkInsertSelectorComponent)(h["ɵɵdirectiveInject"](a.LocatableDynamicItemService),h["ɵɵdirectiveInject"](i.DynamicItemService),h["ɵɵdirectiveInject"](A.SiteDataStore),h["ɵɵdirectiveInject"](r.ProviderService),h["ɵɵdirectiveInject"](m.Logger),h["ɵɵdirectiveInject"](g.MediaService),h["ɵɵdirectiveInject"](E.SortService))},LinkInsertSelectorComponent.ɵcmp=h["ɵɵdefineComponent"]({type:LinkInsertSelectorComponent,selectors:[["sf-link-insert-selector"]],decls:19,vars:12,consts:[["data-sftest","linkInsertSelectorContainer",1,"sf-form","-medium","-sf-centered-box","-sf-pb-zero"],[1,"-sf-mb-3xl"],[1,"-sf-txt-align-left"],[4,"ngIf"],[1,"sf-field"],[1,"sf-field__label"],["class","sf-row -align-items-center -sf-mt-4xs",4,"ngIf"],[3,"-sf-mt--xs",4,"ngIf"],["class","-sf-txt-align-left -sf-mt-s",3,"messages",4,"ngIf"],["noContentItems",""],["loading",""],["class","sf-field",4,"ngIf"],[1,"sf-row","-align-items-center","-sf-mt-4xs"],["data-sftest","linkInsertSiteSelector","look","justify-content-center",3,"config","isLoading","isSingleSelection","selectedChips","dropdownChips","hidden","selectChip"],["class","-sf-pl-4xs -sf-pr-3xs -sf-mb-4xs",4,"ngIf"],["data-sftest","linkInsertLanguageSelector","look","justify-content-center",3,"config","isLoading","isSingleSelection","selectedChips","dropdownChips","hidden","selectChip"],[1,"-sf-pl-4xs","-sf-pr-3xs","-sf-mb-4xs"],["data-sftest","linkInsertEntitySelector",3,"config","isLoading","isSingleSelection","selectedChips","dropdownChips","isReadOnly","selectChip"],["data-sftest","linkInsertProviderSelector","look","justify-content-center",3,"config","isLoading","isSingleSelection","selectedChips","dropdownChips","selectChip"],[4,"ngIf","ngIfElse"],["data-sftest","linkInsertContentSelector",3,"hasStickyBuffer","serviceAware","value","totalItemsCount","treeConfig","defaultField","newItemSelected",4,"ngIf","ngIfElse"],["data-sftest","linkInsertContentSelector",3,"hasStickyBuffer","serviceAware","value","totalItemsCount","treeConfig","defaultField","newItemSelected"],[1,"-sf-txt-align-left","-sf-mt-s",3,"messages"],["placeholderText","Narrow by typing ...","wrapperLook","fluid sf-mb-xs sf-mt-3xs sf-txt-align-left","inputLook","sf-mb-zero",3,"clearable"],["look","sf-mt-xl","textLook","sf-mt-xs"],[4,"ngFor","ngForOf"],["class","-sf-mt-zero -sf-mb-zero",4,"ngIf"],["look","skeleton content list"],[1,"-sf-mt-zero","-sf-mb-zero"]],template:function LinkInsertSelectorComponent_Template(e,t){1&e&&(h["ɵɵelementStart"](0,"div",0),h["ɵɵelementStart"](1,"h1",1),h["ɵɵtext"](2,"Select page or content item"),h["ɵɵelementEnd"](),h["ɵɵelementStart"](3,"div",2),h["ɵɵtemplate"](4,LinkInsertSelectorComponent_ng_container_4_Template,3,3,"ng-container",3),h["ɵɵpipe"](5,"async"),h["ɵɵelementStart"](6,"div",4),h["ɵɵelementStart"](7,"label",5),h["ɵɵtext"](8,"Content type"),h["ɵɵelementEnd"](),h["ɵɵtemplate"](9,LinkInsertSelectorComponent_div_9_Template,4,11,"div",6),h["ɵɵpipe"](10,"async"),h["ɵɵelementEnd"](),h["ɵɵelementEnd"](),h["ɵɵtemplate"](11,LinkInsertSelectorComponent_div_11_Template,2,4,"div",7),h["ɵɵpipe"](12,"async"),h["ɵɵtemplate"](13,LinkInsertSelectorComponent_sf_error_13_Template,1,3,"sf-error",8),h["ɵɵpipe"](14,"async"),h["ɵɵelementEnd"](),h["ɵɵtemplate"](15,LinkInsertSelectorComponent_ng_template_15_Template,2,1,"ng-template",null,9,h["ɵɵtemplateRefExtractor"]),h["ɵɵtemplate"](17,LinkInsertSelectorComponent_ng_template_17_Template,1,2,"ng-template",null,10,h["ɵɵtemplateRefExtractor"])),2&e&&(h["ɵɵadvance"](4),h["ɵɵproperty"]("ngIf",h["ɵɵpipeBind1"](5,4,t.siteSelector.change$)),h["ɵɵadvance"](5),h["ɵɵproperty"]("ngIf",h["ɵɵpipeBind1"](10,6,t.entitySelector.change$)),h["ɵɵadvance"](2),h["ɵɵproperty"]("ngIf",h["ɵɵpipeBind1"](12,8,t.contentSelector.change$)),h["ɵɵadvance"](2),h["ɵɵproperty"]("ngIf",h["ɵɵpipeBind1"](14,10,t.error$)))},directives:[b.NgIf,C.ChipsComponent,B.SelectorComponent,k.SfErrorComponent,k.SfSearchComponent,I.NoItemsFoundComponent,b.NgForOf,k.SfLoaderComponent],pipes:[b.AsyncPipe],encapsulation:2}),LinkInsertSelectorComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SiteSelector",(function(){return c}));var o=n(259),i=n(11),r=n(131),a=n(2065),s=n(2066),A=n(2068),l=n(1063),c=function(e){function SiteSelector(t,n,o,i){var r=e.call(this,t)||this;return r.siteData=n,r.metadataStore=o,r.siteDataStore=i,r}return Object(o.__extends)(SiteSelector,e),SiteSelector.prototype.setSelectedItem=function(t){this.context.selectedSite=t,e.prototype.setSelectedItem.call(this,t)},SiteSelector.prototype.onInit=function(){var e=this,t=this.metadataStore.entities.sites;if(!t){var n=s.SiteSelectorItem.fromSiteData(this.siteData);return this.items=[n],this.initDefaultSelection(),Object(i.of)({}).pipe(Object(l.toLoadingState)())}return this.siteDataStore.getAllSites({metadata:t}).pipe(Object(l.toLoadingState)(),Object(r.tap)((function(t){if(!t.isLoading){var n=t.content.dataItems.map((function(e){return s.SiteSelectorItem.fromDataItem(e)}));e.items=n,e.initDefaultSelection()}})))},SiteSelector.prototype.initDefaultSelection=function(){var e=this,t=this.items.find((function(t){return t.value===e.siteData.Id}));t.additionalInfo=A.DEFAULT_SITE_TITLE_SUFFIX,this.setSelectedItem(t)},SiteSelector}(a.SelectorBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"SelectorBase",(function(){return l}));var o=n(131),i=n(11),r=n(1064),a=n(242),s=n(262),A=n(229),l=function(){function SelectorBase(e){this.logger=e,this.error$=new i.Subject,this.children=[],this.parents=[],this.isReady=!1,this.change$=new i.BehaviorSubject(this),this.chipsConfig={showRecentLabel:!1},this.subscriptionsHolder$=new i.Subject}return Object.defineProperty(SelectorBase.prototype,"selectedItem",{get:function(){return this._selectedItem},enumerable:!1,configurable:!0}),SelectorBase.prototype.ngOnDestroy=function(){this.subscriptionsHolder$.next({})},SelectorBase.prototype.init=function(e){var t=this;this.areAllParentsReady()&&(this.isReady=!1,this.resetChildren(),this.context=e,this.subscriptionsHolder$.next({}),this.onInit().pipe(Object(r.delayEmission)(s.BLUR_EFFECT_TIMEOUT),Object(o.takeUntil)(this.subscriptionsHolder$)).subscribe((function(e){e.isLoading?(t.isReady=!1,t.resetChildren()):(t.isReady=!0,t.initChildren())}),(function(e){t.logger.error(e);t.error$.next("Error occured. Items' list cannot be generated.")})))},SelectorBase.prototype.onSelectedItemChanged=function(e){this.resetChildren(),this.setSelectedItem(e),this.initChildren()},SelectorBase.prototype.addParent=function(e){this.parents.push(e),e.children.push(this)},SelectorBase.prototype.addChild=function(e){this.children.push(e),e.parents.push(this)},SelectorBase.prototype.resetChildren=function(){this.children.forEach((function(e){e.isReady=!1,e.resetChildren()}))},SelectorBase.prototype.setSelectedItem=function(e){this._selectedItem=e,this.change$.next(this)},SelectorBase.prototype.initChildren=function(){var e=this;this.children.forEach((function(t){t.init(e.context)}))},SelectorBase.prototype.areAllParentsReady=function(){var e=!0;return this.parents.length>0&&this.parents.forEach((function(t){t.isReady&&t.areAllParentsReady()||(e=!1)})),e},SelectorBase.ɵfac=function SelectorBase_Factory(e){return new(e||SelectorBase)(A["ɵɵdirectiveInject"](a.Logger))},SelectorBase.ɵdir=A["ɵɵdefineDirective"]({type:SelectorBase}),SelectorBase}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SiteSelectorItem",(function(){return r}));var o=n(259),i=n(2067),r=function(e){function SiteSelectorItem(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(SiteSelectorItem,e),SiteSelectorItem.fromDataItem=function(e){var t=new SiteSelectorItem;if(t.Title=e.title,t.value=e.key,e.data.CulturesMap){t.cultures=e.data.CulturesMap.map((function(e){return{Title:e.DisplayName,value:e.Name}}));var n=t.cultures.find((function(t){return t.value===e.data.DefaultCultureKey}));t.defaultCulture=n}else t.cultures=e.data.CultureKeys.map((function(e){return i.SelectorItem.fromString(e)})),t.defaultCulture=i.SelectorItem.fromString(e.data.DefaultCultureKey);return t.sitemapRootNodeId=e.data.SiteMapRootNodeId,t},SiteSelectorItem.fromSiteData=function(e){var t=new SiteSelectorItem;return t.Title=e.Name,t.value=e.Id,t.defaultCulture={Title:e.DefaultContentCulture,value:e.DefaultContentCulture},t.cultures=e.ContentCultures.map((function(e){return{Title:e.DisplayName,value:e.Name}})),t.sitemapRootNodeId=e.SiteMapRootNodeId,t},SiteSelectorItem}(i.SelectorItem)},function(e,t,n){"use strict";n.r(t),n.d(t,"SelectorItem",(function(){return o}));var o=function(){function SelectorItem(){}return SelectorItem.fromString=function(e){var t=new SelectorItem;return t.Title=e,t.value=e,t},SelectorItem}()},function(e,t,n){"use strict";n.r(t),n.d(t,"DEFAULT_SITE_TITLE_SUFFIX",(function(){return o}));var o="this site"},function(e,t,n){"use strict";n.r(t),n.d(t,"LanguageSelector",(function(){return s}));var o=n(259),i=n(11),r=n(2065),a=n(1063),s=function(e){function LanguageSelector(t,n){var o=e.call(this,t)||this;return o.initialCulture=n,o}return Object(o.__extends)(LanguageSelector,e),LanguageSelector.prototype.setSelectedItem=function(t){this.context.selectedCulture=t,e.prototype.setSelectedItem.call(this,t)},LanguageSelector.prototype.onInit=function(){var e,t=this.context.selectedSite;this.items=t.cultures;var n=this.initialCulture||(null===(e=this.context.selectedCulture)||void 0===e?void 0:e.value);this.initialCulture=null;var o=(n?this.items.find((function(e){return e.value===n})):null)||t.defaultCulture;return this.setSelectedItem(o),Object(i.of)({}).pipe(Object(a.toLoadingState)())},LanguageSelector}(r.SelectorBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"EntitySelector",(function(){return a}));var o=n(259),i=n(131),r=n(256),a=function(e){function EntitySelector(t,n,o){var i=e.call(this,t)||this;return i.locatableItemsService=n,i.meta=o,i}return Object(o.__extends)(EntitySelector,e),EntitySelector.prototype.setSelectedItem=function(t){this.context.selectedEntitySet=t,e.prototype.setSelectedItem.call(this,t)},EntitySelector.prototype.onInit=function(){var e=this;return this.locatableItemsService.getLocatableEntitySetNames(this.context.selectedSite.value).pipe(Object(i.tap)((function(t){if(!t.isLoading){var n=t.content.value.filter((function(t){return e.meta.entities[t]})).map((function(t){return{Title:e.meta.entities[t].displayName,value:t,entity:e.meta.entities[t]}}));e.items=n,e.preSelectPagesAndMoveToTop()}})))},EntitySelector.prototype.preSelectPagesAndMoveToTop=function(){var e=this.items.findIndex((function(e){return e.value===r.ENTITY_SET.PAGES}));if(e<0)this.setSelectedItem(this.items[0]);else{var t=this.items[e];this.items.splice(e,1),this.items.unshift(t);var n=this.items[0];this.setSelectedItem(n)}},EntitySelector}(n(2065).SelectorBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"ProviderSelector",(function(){return d}));var o=n(259),i=n(131),r=n(2065),a=n(2072),s=n(329),A=n(246),l=n(262),c=n(1063),d=function(e){function ProviderSelector(t,n){var o=e.call(this,t)||this;return o.providersService=n,o.shouldHide=!0,o}return Object(o.__extends)(ProviderSelector,e),ProviderSelector.prototype.setSelectedItem=function(t){this.context.selectedProvider=t,e.prototype.setSelectedItem.call(this,t)},ProviderSelector.prototype.onInit=function(){var e,t=this,n=this.context.selectedEntitySet;return this.providersService.getProviders(n.value,{params:(e={},e[l.QUERY_PARAMS.SITE]=this.context.selectedSite.value,e)}).pipe(Object(c.toLoadingState)(),Object(i.tap)((function(e){if(!e.isLoading){var n=e.content.map((function(e){return a.ProviderSelectorItem.fromProvider(e)})),o=n.find((function(e){return e.isDefault}));t.items=n,t.determineVisibility(),t.setSelectedItem(o)}})))},ProviderSelector.prototype.determineVisibility=function(){this.shouldHide=this.items.length<=1||this.context.selectedEntitySet.entity.typeFullName===s.DYNAMIC_ITEMS_DEFINITIONS.PAGE_NODE.replace("#/definitions/",A.stringConstants.EMPTY_STRING)},ProviderSelector}(r.SelectorBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"ProviderSelectorItem",(function(){return i}));var o=n(259),i=function(e){function ProviderSelectorItem(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ProviderSelectorItem,e),ProviderSelectorItem.fromProvider=function(e){var t=new ProviderSelectorItem;return t.Title=e.title,t.value=e.name,t.isDefault=e.isDefault,t},ProviderSelectorItem}(n(2067).SelectorItem)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentSelector",(function(){return B}));var o=n(259),i=n(11),r=n(131),a=n(2065),s=n(2074),A=n(1107),l=n(269),c=n(246),d=n(1064),p=n(415),f=n(2075),u=n(2077),m=n(262),g=n(317),E=n(245),h=n(1600),b=n(266),C=n(256),B=function(e){function ContentSelector(t,n,o,i,r){var a=e.call(this,t)||this;return a.dynamicItemsService=n,a.meta=o,a.mediaSvc=i,a.sortService=r,a.initialSkip=0,a.serviceLoadMore=function(e){return a.shouldLoadMoreItems?a.getItems(e):Promise.resolve({dataItems:[],totalCount:0})},a.serviceExpandChildren=function(e){return a.getItems(e)},a.service=new A.ServiceContract(a.serviceLoadMore,a.serviceExpandChildren),a}return Object(o.__extends)(ContentSelector,e),ContentSelector.prototype.onInit=function(){var e=this;this.entity=this.meta.entities[this.context.selectedEntitySet.value],this.entity.properties[l.MODULE_NAME]===h.MEDIA_TYPES_MODULE_NAME?this.strategy=new f.MediaContentSelectorStrategy(this.context,this.meta,this.mediaSvc,this.dynamicItemsService,this.entity,this.sortService):this.strategy=new u.GenericContentSelectorStrategy(this.dynamicItemsService,this.context,this.entity,this.sortService),this.treeConfig={status:this.entity.setName!==C.ENTITY_SET.CONTENT_ITEMS,isHierarchical:!0};var t={skip:this.initialSkip,searchText:null,parentId:null};return this.strategy.getItems(t).pipe(Object(r.tap)((function(t){if(!t.isLoading){e.shouldLoadMoreItems=!0,e.error$.next(c.stringConstants.EMPTY_STRING);var n=t.content.dataItems.map((function(e){return s.ContentSelectorItem.fromDataItem(e)}));e.totalItemCount=t.content.totalCount,e.items=n,e.setSelectedItem(null)}})))},ContentSelector.prototype.setSelectedItem=function(t){this.context.selectedContentItem=t,e.prototype.setSelectedItem.call(this,t)},ContentSelector.prototype.getItems=function(e){var t=this;return this.strategy.getItems(e).pipe(Object(d.delayEmission)(m.BLUR_EFFECT_TIMEOUT),Object(r.filter)((function(e){return!e.isLoading})),Object(r.map)((function(e){return e.content})),Object(r.mergeMap)((function(n){return t.processAndWrapItems(n.dataItems,e)}),(function(e,t){return{dataItems:t,totalCount:e.totalCount}}))).toPromise()},ContentSelector.prototype.processAndWrapItems=function(e,t){var n=this;return Object(i.of)(e).pipe(Object(r.mergeMap)((function(e){return t.searchText?n.processItemsBreadcrumbs(e):Object(i.of)(e)})),Object(r.map)((function(e){return e.map((function(e){return s.ContentSelectorItem.fromDataItem(e)}))})))},ContentSelector.prototype.processItemsBreadcrumbs=function(e){var t=this,n=[];return e.forEach((function(e){t.shouldProcessItemBreadcrumb(e)?n.push(t.getBreadcrumb(e,[]).pipe(Object(r.mergeMap)((function(n){n=n.reverse();var o=t.setBreadcrumb(e,n);return Object(i.of)(o)})))):n.push(Object(i.of)(e))})),Object(i.forkJoin)(n)},ContentSelector.prototype.shouldProcessItemBreadcrumb=function(e){return!(!e.parentKey||!e.data[b.Properties.FOLDER_ID]||e.data[b.Properties.BREADCRUMB])&&(e.metadata.setName!==C.ENTITY_SET.PAGES||e.data[b.Properties.ROOT_ID]!==e.parentKey)},ContentSelector.prototype.getBreadcrumb=function(e,t){var n=this;return this.strategy.getParent(e).pipe(Object(r.filter)((function(e){return!e.isLoading})),Object(r.mergeMap)((function(e){var o=e.content;return t.push(o.title),o.data[p.DEFAULT_DATA_FIELDS.BREADCRUMB]?Object(i.of)(t.concat(o.data[p.DEFAULT_DATA_FIELDS.BREADCRUMB])):n.shouldProcessItemBreadcrumb(o)?n.getBreadcrumb(o,t):Object(i.of)(t)})))},ContentSelector.prototype.setBreadcrumb=function(e,t){var n=Object(E.cloneInstance)(e.data);return n[p.DEFAULT_DATA_FIELDS.BREADCRUMB]=t,g.DataItem.from(n,e.metadata,e.provider,e.culture)},ContentSelector}(a.SelectorBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentSelectorItem",(function(){return A})),n.d(t,"ContentSelectorItemsDataObject",(function(){return l}));var o=n(259),i=n(2067),r=n(415),a=n(269),s=n(1600),A=function(e){function ContentSelectorItem(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ContentSelectorItem,e),ContentSelectorItem.fromDataItem=function(e){var t,n=null,o=null,i=!1;return e.data.HasChildren&&e.metadata.properties[a.MODULE_NAME]===s.MEDIA_TYPES_MODULE_NAME&&(n="folder-o",o="light size-xl",i=!0),(t={Id:e.key,name:e.title,Title:e.title,value:e.key,dataItem:e,DisplayStatus:e.data.DisplayStatus,isTranslated:e.isTranslated,LockedStatus:e.data.LockedStatus,hasChildren:e.data.HasChildren,icon:n,iconLook:o,isSelectionDisabled:i})[r.DEFAULT_DATA_FIELDS.BREADCRUMB]=e.data.Breadcrumb,t[e.metadata.defaultFieldName]=e.data[e.metadata.defaultFieldName],t},ContentSelectorItem}(i.SelectorItem),l=function l(){}},function(e,t,n){"use strict";n.r(t),n.d(t,"MediaContentSelectorStrategy",(function(){return p}));var o=n(259),i=n(11),r=n(131),a=n(2076),s=n(317),A=n(274),l=n(245),c=n(266),d=n(262),p=function(){function MediaContentSelectorStrategy(e,t,n,o,i,r){this.context=e,this.meta=t,this.mediaService=n,this.dynamicItemsService=o,this.mediaEntity=i,this.sortService=r}return MediaContentSelectorStrategy.prototype.getItems=function(e){return(e.searchText?this.searchAllFiles(e):e.parentId?this.loadLibraryChildren(e):this.loadRootLibraries(e)).pipe(Object(r.map)((function(e){return{dataItems:e.dataItems,totalCount:e.totalCount}})),Object(A.toLoadingState)())},MediaContentSelectorStrategy.prototype.getParent=function(e){return this.mediaService.getFolderById(e,e.data.Id,e.provider,this.context.selectedSite.value).pipe(Object(A.toLoadingState)())},MediaContentSelectorStrategy.prototype.loadRootLibraries=function(e){var t=this,n=this.mediaEntity.parent,o=this.getServiceRequestInfo(n);return this.mediaService.getLibraries(o,e.skip,e.take,this.context.selectedSite.value).pipe(Object(r.map)((function(e){return{dataItems:t.createDataItemsFromLibraries(e.dataItems,n),totalCount:e.totalCount}})))},MediaContentSelectorStrategy.prototype.loadLibraryChildren=function(e){var t=this;e.take=a.CHILD_LOAD_COUNT;var n=this.getAllFolders(e,null),s=this.getAllFiles(e,null);return Object(i.forkJoin)(n,s).pipe(Object(r.mergeMap)((function(e){var n=e[0],r=e[1],s=[],A=n.value,l=t.createDataItemsFromResponseItems(r.value,t.mediaEntity.setName);s.push.apply(s,Object(o.__spreadArrays)(A,l));var c={dataItems:s=s.slice(0,a.CHILD_LOAD_COUNT),totalCount:n.totalCount+r.totalCount};return Object(i.of)(c)})))},MediaContentSelectorStrategy.prototype.getAllFiles=function(e,t){var n,o=this,i=this.getServiceRequestInfo(this.mediaEntity.setName),s=((n={})[d.QUERY_PARAMS.SORT]=this.sortService.getDefaultSort(i),n);return this.mediaService.getMediaForLibrary(i,e.parentId,e.skip,e.take,this.context.selectedSite.value,void 0,s).pipe(Object(r.map)((function(n){var i,r=!(n.totalCount===n.dataItems.length)&&n.dataItems.length+e.skip0&&r))return t||{value:n.dataItems,totalCount:n.totalCount};t?t.value=(i=t.value).concat.apply(i,n.dataItems):t={value:n.dataItems,totalCount:n.totalCount},e.skip=t.value.length,o.getAllFiles(e,t)})))},MediaContentSelectorStrategy.prototype.getAllFolders=function(e,t){var n,o=this,i=this.mediaService.getParentEntityData({metadata:this.mediaEntity,culture:this.context.selectedCulture.value,provider:this.context.selectedProvider.value}),A=((n={})[d.QUERY_PARAMS.SORT]=this.sortService.getDefaultSort(i),n);return this.mediaService.getFolders(i,e.parentId,!1,!1,e.skip,e.take,this.context.selectedSite.value,void 0,A).pipe(Object(r.map)((function(n){var i;n.dataItems.forEach((function(e,t,n){var o=Object(l.cloneObject)(e.data);o[c.Properties.HAS_CHILDREN]=!0,n[t]=s.DataItem.fromEntityData(o,e)}));var r=!(n.totalCount===n.dataItems.length)&&n.dataItems.length+e.skip0&&r))return t||{value:n.dataItems,totalCount:n.totalCount};t?t.value=(i=t.value).concat.apply(i,n.dataItems):t={value:n.dataItems,totalCount:n.totalCount},e.skip=t.value.length,o.getAllFolders(e,t)})))},MediaContentSelectorStrategy.prototype.searchAllFiles=function(e){var t=this.meta.entities[this.context.selectedEntitySet.value];return this.dynamicItemsService.getItemList({entityData:{metadata:t,culture:this.context.selectedCulture.value,provider:this.context.selectedProvider.value},fallbackProperties:[t.defaultFieldName],skip:e.skip,take:e.take,filter:[{key:t.defaultFieldName,value:[e.searchText]}],siteId:this.context.selectedSite.value}).pipe(Object(r.map)((function(e){return{dataItems:e.dataItems,totalCount:e.totalCount}})))},MediaContentSelectorStrategy.prototype.createDataItemsFromLibraries=function(e,t){return e=e.map((function(e){var t=Object(l.cloneObject)(e.data);return t.HasChildren=!0,s.DataItem.fromEntityData(t,e)})),this.createDataItemsFromResponseItems(e,t)},MediaContentSelectorStrategy.prototype.createDataItemsFromResponseItems=function(e,t){var n=this,o=this.meta.entities[t];return e.map((function(e){return s.DataItem.from(e.data,o,n.context.selectedProvider.value,n.context.selectedCulture.value)}))},MediaContentSelectorStrategy.prototype.getServiceRequestInfo=function(e){var t=this.meta.entities[e];return s.DataItem.from(null,t,this.context.selectedProvider.value,this.context.selectedCulture.value)},MediaContentSelectorStrategy}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CHILD_LOAD_COUNT",(function(){return o}));var o=100},function(e,t,n){"use strict";n.r(t),n.d(t,"GenericContentSelectorStrategy",(function(){return c}));var o=n(11),i=n(131),r=n(318),a=n(2076),s=n(329),A=n(246),l=n(274),c=function(){function GenericContentSelectorStrategy(e,t,n,o){this.dynamicItemsService=e,this.context=t,this.entity=n,this.sortService=o}return GenericContentSelectorStrategy.prototype.getItems=function(e){return e.parentId?this.getChildItemsFromService(e):(this.entity.typeFullName===s.DYNAMIC_ITEMS_DEFINITIONS.PAGE_NODE.replace("#/definitions/",A.stringConstants.EMPTY_STRING)&&(e.parentId=this.context.selectedSite.sitemapRootNodeId),this.getItemsFromService(e))},GenericContentSelectorStrategy.prototype.getParent=function(e){var t=this.getItemRequestData();return t.itemKey=e.parentKey,this.dynamicItemsService.getItem(t).pipe(Object(l.toLoadingState)())},GenericContentSelectorStrategy.prototype.getChildItemsFromService=function(e,t){var n=this;return void 0===t&&(t=null),e.take=a.CHILD_LOAD_COUNT,this.getItemsFromService(e).pipe(Object(i.filter)((function(e){return!e.isLoading})),Object(i.mergeMap)((function(i){return i.content.dataItems.length>0?(t?(t.content.dataItems=t.content.dataItems.concat(i.content.dataItems),t.content.totalCount=i.content.totalCount):t=i,t.content.dataItems.length0){var n={};return t.forEach((function(e){n[e.errorType]=e.error})),n}return null},LinkInsertFieldValidator}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ADDRESS_REGISTRY",(function(){return a}));var o=n(1606),i=n(2097),r=n(1621),a={writeComponent:o.AddressComponent,readComponent:o.AddressComponent,gridComponent:r.AddressGridComponent,settingsType:i.AddressSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"AddressSettings",(function(){return a}));var o=n(259),i=n(332),r=n(1608),a=function(e){function AddressSettings(t,n){var o=e.call(this,t,n)||this;return o.key=t,o.readOnlyMode=n,o.showForAllTranslationsLabel=!1,o.isGroup=!0,o}return Object(o.__extends)(AddressSettings,e),AddressSettings.prototype.init=function(t){this.mapMode=this.parseAddressMode(t[r.MAP_MODE_PATH]),e.prototype.init.call(this,t)},AddressSettings.prototype.parseAddressMode=function(e){var t;switch(e){case"FormOnly":t=r.AddressFieldMode.FormOnly;break;case"MapOnly":t=r.AddressFieldMode.MapOnly;break;case"Hybrid":t=r.AddressFieldMode.Hybrid}return t},AddressSettings}(i.SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"AuthModule",(function(){return E}));var o=n(2099),i=n(275),r=n(1743),a=n(2101),s=n(2104),A=n(2105),l=n(1569),c=n(2106),d=n(2108),p=n(283),f=n(2109),u=n(2103),m=n(229),g=n(260),E=function(){function AuthModule(){}return AuthModule.ɵfac=function AuthModule_Factory(e){return new(e||AuthModule)},AuthModule.ɵmod=m["ɵɵdefineNgModule"]({type:AuthModule}),AuthModule.ɵinj=m["ɵɵdefineInjector"]({providers:[r.AuthGuard,o.OIDC_PROVIDER,i.AuthService,c.EXTERNAL_PROVIDER,d.SWT_PROVIDER,f.NO_AUTH_PROVIDER,u.OAUTH_PROVIDER],imports:[[a.authRouting,l.SharedModule,p.HttpClientModule]]}),AuthModule}();m["ɵɵsetNgModuleScope"](E,{declarations:[s.SignInRedirectComponent,A.SignOutRedirectComponent],imports:[g.RouterModule,l.SharedModule,p.HttpClientModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"OidcProvider",(function(){return g})),n.d(t,"OIDC_PROVIDER",(function(){return E}));var o=n(11),i=n(131),r=n(276),a=n(2100),s=n(373),A=n(271),l=n(229),c=n(280),d=n(2101),p=n(283),f=n(278),u=n(260),m=n(246),g=function(){function OidcProvider(e,t,n,i,r){this.http=e,this.router=t,this.urlService=n,this.settingsProv=i,this.envService=r,this.token$=new o.ReplaySubject(1),this.settings={client_id:"sitefinity",response_type:"id_token token",scope:"openid profile",automaticSilentRenew:!0,filterProtocolClaims:!0,loadUserInfo:!0,authority:null,post_logout_redirect_uri:null,redirect_uri:null,silent_redirect_uri:null,metadata:null,signingKeys:null}}return OidcProvider.prototype.init=function(){var e=this;this.initSettingsObj();var t=[this.http.get(this.authSettingsUrl),this.initJwks()];return Object(o.forkJoin)(t).pipe(Object(i.map)((function(t){var n=t[0];e.settings.scope=n.Scope,e.manager=new a.UserManager(e.settings),e.attachEvents()})))},OidcProvider.prototype.signIn=function(e){var t=this;return Object(o.from)(this.manager.getUser()).pipe(Object(i.switchMap)((function(n){return n&&n.expired||t.envService.getEnvironment()===c.environmentTypes.integration?t.authenticateSilent(e):t.authenticateWithRedirects(e)})))},OidcProvider.prototype.signOut=function(e){var t={};if(this.envService.getEnvironment()===c.environmentTypes.integration){var n=e?this.urlService.getServerRelativeUrl(e):null;t={post_logout_redirect_uri:this.urlService.getServerRelativeUrl(""+m.LOGOUT_URL+n)}}var i=this.manager.signoutRedirect(t);return Object(o.from)(i)},OidcProvider.prototype.isLoggedIn=function(){var e=Object(o.from)(this.manager.getUser()),t=Object(o.from)(this.manager.querySessionStatus());return Object(o.combineLatest)(e,t).pipe(Object(i.map)((function(e){var t=e[0],n=e[1];return!(!t||!n||t.expired||t.profile.sub!==n.sub)})),Object(i.catchError)((function(){return Object(o.of)(!1)})))},OidcProvider.prototype.getToken=function(){return this.token$.asObservable()},OidcProvider.prototype.getName=function(){return"openid"},OidcProvider.prototype.getPriority=function(){return 3},OidcProvider.prototype.isAvailable=function(){var e=this;this.initSettingsObj();var t=this.settings.authority+"/.well-known/openid-configuration";return this.http.get(t,{observe:"response",responseType:"text"}).pipe(Object(i.map)((function(t){var n=t.headers.get("content-type");return!(!n||!n.startsWith("application/json"))&&(e.settings.metadata=JSON.parse(t.body),!0)})))},OidcProvider.prototype.initSettingsObj=function(){if(!this.settings.authority&&this.settingsProv.url){this.settings.authority=this.settingsProv.url+"/Sitefinity/Authenticate/OpenID",this.settings.post_logout_redirect_uri=this.urlService.getAbsoluteUrl("/auth/oidc/"+d.APP_ROUTE_PATHS.SIGN_OUT_REDIRECT),this.settings.redirect_uri=this.urlService.getAbsoluteUrl("/auth/oidc/"+d.APP_ROUTE_PATHS.SIGN_IN_REDIRECT);var e=null;e=this.envService.getEnvironment()===c.environmentTypes.integration?this.urlService.getAbsoluteResourceUrl("/assets/auth/silent-renew.html"):this.urlService.getAbsoluteUrl("/assets/auth/silent-renew.html"),this.settings.silent_redirect_uri=e,this.authSettingsUrl=this.settingsProv.webServiceUrl+"Default.AuthSettings(clientId='"+this.settings.client_id+"')"}},OidcProvider.prototype.initJwks=function(){var e=this,t=this.settings.authority+"/.well-known/jwks";return this.http.get(t,{observe:"response",responseType:"json"}).pipe(Object(i.map)((function(t){var n=t.body.keys;n&&(e.settings.signingKeys=n)})))},OidcProvider.prototype.authenticateSilent=function(e){var t=this,n=Object(o.from)(this.manager.signinSilent());return n.subscribe((function(){t.router.navigateByUrl(e)})),n.pipe(Object(i.map)((function(e){return e})))},OidcProvider.prototype.authenticateWithRedirects=function(e){var t=this.manager.signinRedirect({data:e});return Object(o.from)(t)},OidcProvider.prototype.attachEvents=function(){var e=this;this.manager.getUser().then((function(t){t&&!t.expired&&(e.manager.storeUser(t),e.emitToken(t))})),this.manager.events.addUserLoaded((function(t){e.emitToken(t)})),this.manager.events.addAccessTokenExpired((function(){e.signOut(e.router.routerState.snapshot.url)}))},OidcProvider.prototype.emitToken=function(e){this.token$.next({type:e.token_type,value:e.access_token})},OidcProvider.ɵfac=function OidcProvider_Factory(e){return new(e||OidcProvider)(l["ɵɵinject"](p.HttpClient),l["ɵɵinject"](u.Router),l["ɵɵinject"](s.UrlService),l["ɵɵinject"](A.Settings),l["ɵɵinject"](f.EnvironmentService))},OidcProvider.ɵprov=l["ɵɵdefineInjectable"]({token:OidcProvider,factory:OidcProvider.ɵfac}),OidcProvider}(),E={multi:!0,provide:r.AUTH_PROVDER_TOKEN,useClass:g}},,function(e,t,n){"use strict";n.r(t),n.d(t,"APP_ROUTE_PATHS",(function(){return s})),n.d(t,"AUTH_ROUTES",(function(){return A})),n.d(t,"authRouting",(function(){return l}));var o=n(260),i=n(2102),r=n(2104),a=n(2105),s={SIGN_IN_REDIRECT:"sign-in",SIGN_OUT_REDIRECT:"sign-out"},A=[{path:"auth",children:[{path:"oidc",children:[{path:s.SIGN_IN_REDIRECT,component:r.SignInRedirectComponent},{path:s.SIGN_OUT_REDIRECT,component:a.SignOutRedirectComponent}]},{path:"oauth",children:[{path:s.SIGN_IN_REDIRECT,component:i.OauthSignInRedirectComponent}]}]}],l=o.RouterModule.forChild(A)},function(e,t,n){"use strict";n.r(t),n.d(t,"OauthSignInRedirectComponent",(function(){return a}));var o=n(260),i=n(2103),r=n(229),a=function(){function OauthSignInRedirectComponent(e){this.router=e}return OauthSignInRedirectComponent.prototype.ngOnInit=function(){var e=this.router.url.split("#")[1].split("&"),t={};e.forEach((function(e){t[e.split("=")[0]]=e.split("=")[1]}));var n=t.access_token,o=new Date;o.setSeconds(o.getSeconds()+1e3*t.expires_in);var r=decodeURIComponent(decodeURIComponent(t.state)),a=new i.OAuthToken;a.value=n,a.expirationTime=o,a.type=t.token_type,i.OauthProvider.setToken(a),this.router.navigateByUrl(r)},OauthSignInRedirectComponent.ɵfac=function OauthSignInRedirectComponent_Factory(e){return new(e||OauthSignInRedirectComponent)(r["ɵɵdirectiveInject"](o.Router))},OauthSignInRedirectComponent.ɵcmp=r["ɵɵdefineComponent"]({type:OauthSignInRedirectComponent,selectors:[["sf-oauth-sign-in-redirect"]],decls:0,vars:0,template:function OauthSignInRedirectComponent_Template(e,t){},encapsulation:2}),OauthSignInRedirectComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"OauthProvider",(function(){return f})),n.d(t,"OAUTH_PROVIDER",(function(){return u})),n.d(t,"OAuthToken",(function(){return m}));var o=n(11),i=n(131),r=n(276),a=n(373),s=n(271),A=n(229),l=n(2101),c=n(283),d=n(246),p=n(244),f=function(){function OauthProvider(e,t,n,o){this.http=e,this.urlService=t,this.settingsProv=n,this.window=o,this.settings={client_id:"sitefinity",response_type:"token",automaticSilentRenew:!1,filterProtocolClaims:!0,loadUserInfo:!1,authority:null,post_logout_redirect_uri:null,redirect_uri:null}}return OauthProvider.setToken=function(e){OauthProvider.token$.next({type:e.type,value:e.value}),OauthProvider.token=e},OauthProvider.prototype.init=function(){return this.initSettingsObj(),Object(o.of)(null)},OauthProvider.prototype.signIn=function(e){var t=encodeURIComponent(this.settings.redirect_uri),n=encodeURIComponent(encodeURIComponent(e)),i=this.settings.authority+"/authorize?response_type=token&client_id="+this.settings.client_id+"&redirect_uri="+t+"&state="+n;return this.window.location.href=i,Object(o.of)(null)},OauthProvider.prototype.signOut=function(e){e||(e=this.urlService.getAbsoluteUrl("/")),e=encodeURIComponent(e);var t=this.settingsProv.url+"/Sitefinity"+d.LOGOUT_URL_NO_STS+e;return this.window.location.href=t,Object(o.of)()},OauthProvider.prototype.isLoggedIn=function(){var e=!!OauthProvider.token&&OauthProvider.token.expirationTime>new Date;return Object(o.of)(e)},OauthProvider.prototype.getToken=function(){return OauthProvider.token$.asObservable()},OauthProvider.prototype.getName=function(){return"oauth"},OauthProvider.prototype.getPriority=function(){return 2},OauthProvider.prototype.isAvailable=function(){this.initSettingsObj();var e=this.settingsProv.url+"/sitefinity/authentication/info";return this.http.get(e,{observe:"response",responseType:"text"}).pipe(Object(i.map)((function(e){var t=e.headers.get("content-type");return!(!t||!t.startsWith("application/json"))&&"Default"===JSON.parse(e.body).protocol})),Object(i.catchError)((function(e){return Object(o.of)(!1)})))},OauthProvider.prototype.initSettingsObj=function(){!this.settings.authority&&this.settingsProv.url&&(this.settings.authority=this.settingsProv.url+"/Sitefinity/oauth",this.settings.post_logout_redirect_uri=this.urlService.getAbsoluteUrl("/auth/oauth/"+l.APP_ROUTE_PATHS.SIGN_OUT_REDIRECT),this.settings.redirect_uri=this.urlService.getAbsoluteUrl("/auth/oauth/"+l.APP_ROUTE_PATHS.SIGN_IN_REDIRECT))},OauthProvider.token$=new o.ReplaySubject(1),OauthProvider.ɵfac=function OauthProvider_Factory(e){return new(e||OauthProvider)(A["ɵɵinject"](c.HttpClient),A["ɵɵinject"](a.UrlService),A["ɵɵinject"](s.Settings),A["ɵɵinject"](p.WINDOW_TOKEN))},OauthProvider.ɵprov=A["ɵɵdefineInjectable"]({token:OauthProvider,factory:OauthProvider.ɵfac}),OauthProvider}(),u={multi:!0,provide:r.AUTH_PROVDER_TOKEN,useClass:f},m=function m(){}},function(e,t,n){"use strict";n.r(t),n.d(t,"SignInRedirectComponent",(function(){return s}));var o=n(11),i=n(260),r=n(2100),a=n(229),s=function(){function SignInRedirectComponent(e){this.router=e}return SignInRedirectComponent.prototype.ngOnInit=function(){var e=this,t=new r.UserManager({}).signinRedirectCallback();Object(o.from)(t).subscribe((function(t){var n=t.state;e.router.navigateByUrl(n)}))},SignInRedirectComponent.ɵfac=function SignInRedirectComponent_Factory(e){return new(e||SignInRedirectComponent)(a["ɵɵdirectiveInject"](i.Router))},SignInRedirectComponent.ɵcmp=a["ɵɵdefineComponent"]({type:SignInRedirectComponent,selectors:[["sf-sign-in-redirect"]],decls:0,vars:0,template:function SignInRedirectComponent_Template(e,t){},encapsulation:2}),SignInRedirectComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SignOutRedirectComponent",(function(){return A}));var o=n(11),i=n(260),r=n(2100),a=n(1152),s=n(229),A=function(){function SignOutRedirectComponent(e){this.router=e}return SignOutRedirectComponent.prototype.ngOnInit=function(){var e=this,t=new r.UserManager({}).signoutRedirectCallback();Object(o.from)(t).subscribe((function(){e.router.navigate([a.ROUTE_PATHS.HOME])}))},SignOutRedirectComponent.ɵfac=function SignOutRedirectComponent_Factory(e){return new(e||SignOutRedirectComponent)(s["ɵɵdirectiveInject"](i.Router))},SignOutRedirectComponent.ɵcmp=s["ɵɵdefineComponent"]({type:SignOutRedirectComponent,selectors:[["sf-sign-out-redirect"]],decls:0,vars:0,template:function SignOutRedirectComponent_Template(e,t){},encapsulation:2}),SignOutRedirectComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"TOKEN_KEY",(function(){return c})),n.d(t,"ExternalTokenProvider",(function(){return d})),n.d(t,"EXTERNAL_PROVIDER",(function(){return p}));var o=n(259),i=n(11),r=n(131),a=n(229),s=n(276),A=n(272),l=n(2107),c="token",d=function(e){function ExternalTokenProvider(t){var n=e.call(this)||this;return n.storage=t,n}return Object(o.__extends)(ExternalTokenProvider,e),ExternalTokenProvider.prototype.init=function(){return new i.BehaviorSubject(null)},ExternalTokenProvider.prototype.signIn=function(e){return Object(i.of)()},ExternalTokenProvider.prototype.signOut=function(){return Object(i.of)()},ExternalTokenProvider.prototype.isLoggedIn=function(){return this.getToken().pipe(Object(r.map)((function(e){return!!e})))},ExternalTokenProvider.prototype.getToken=function(){return Object(i.of)(this.getTokenFromStorage(this.storage,c))},ExternalTokenProvider.prototype.getName=function(){return"external"},ExternalTokenProvider.prototype.isAvailable=function(){return Object(i.of)(!!this.getTokenFromStorage(this.storage,c))},ExternalTokenProvider.prototype.getPriority=function(){return 1},ExternalTokenProvider.ɵfac=function ExternalTokenProvider_Factory(e){return new(e||ExternalTokenProvider)(a["ɵɵinject"](A.LOCAL_STORAGE))},ExternalTokenProvider.ɵprov=a["ɵɵdefineInjectable"]({token:ExternalTokenProvider,factory:ExternalTokenProvider.ɵfac}),ExternalTokenProvider}(l.TokenProvider),p={multi:!0,provide:s.AUTH_PROVDER_TOKEN,useClass:d}},function(e,t,n){"use strict";n.r(t),n.d(t,"TokenProvider",(function(){return o}));var o=function(){function TokenProvider(){}return TokenProvider.prototype.getTokenFromStorage=function(e,t){var n,o=e.getItem(t);if(!o)return null;try{n=JSON.parse(o)}catch(e){return null}if(n){var i=(new Date).getTime();(isNaN(n.expireDate)||i>n.expireDate)&&(e.removeItem(t),n=null)}return n},TokenProvider}()},function(e,t,n){"use strict";n.r(t),n.d(t,"SwtProvider",(function(){return g})),n.d(t,"SWT_PROVIDER",(function(){return E}));var o=n(259),i=n(11),r=n(131),a=n(276),s=n(271),A=n(373),l=n(229),c=n(272),d=n(244),p=n(1152),f=n(283),u=n(2107),m=n(246),g=function(e){function SwtProvider(t,n,o,i,r){var a=e.call(this)||this;return a.http=t,a.settings=n,a.urlService=o,a.window=i,a.storage=r,a.timeoutHandle=null,a.token$=null,a}return Object(o.__extends)(SwtProvider,e),SwtProvider.prototype.init=function(){return new i.BehaviorSubject(null)},SwtProvider.prototype.signIn=function(e){var t=this.getLoginUrl(e);return this.window.location.href=t,Object(i.of)()},SwtProvider.prototype.signOut=function(){var e=this.getLoginUrl("/"+p.ROUTE_PATHS.HOME),t=this.settings.url+"/sitefinity"+m.LOGOUT_URL+encodeURIComponent(e);return this.storage.removeItem("swttoken"),this.window.location.href=t,Object(i.of)()},SwtProvider.prototype.isLoggedIn=function(){return this.getToken().pipe(Object(r.map)((function(e){return!!e})))},SwtProvider.prototype.getToken=function(){return null===this.token$&&(this.token$=new i.ReplaySubject(1),this.initToken(this.token$)),this.token$.asObservable()},SwtProvider.prototype.getName=function(){return"swt"},SwtProvider.prototype.getPriority=function(){return 4},SwtProvider.prototype.isAvailable=function(){return Object(i.of)(!!this.getTokenFromStorage(this.storage,"swttoken"))},SwtProvider.prototype.getLoginUrl=function(e){var t=this.urlService.getAbsoluteUrl(e+"?sf-hru=true");return this.settings.url+"/sitefinity/authenticate/swt?realm="+encodeURIComponent(this.settings.url)+"&redirect_uri="+encodeURIComponent(t)},SwtProvider.prototype.initToken=function(e){var t=this;null!==this.timeoutHandle&&this.window.clearTimeout(this.timeoutHandle),null===this.getTokenFromStorage(this.storage,"swttoken")?this.getTokenFromServer().subscribe((function(n){t.storage.setItem("swttoken",JSON.stringify(n)),e.next(n);var o=1e3*(n.lifetime-59);t.timeoutHandle=t.window.setTimeout((function(){t.initToken(e)}),o)}),(function(){e.next(null)})):e.next(null)},SwtProvider.prototype.getTokenFromServer=function(){var e=this,t=this.settings.url+"/sitefinity/authenticate/swt",n=new f.HttpHeaders;return n=n.set("X-SF-SERVICE-REQUEST","true"),this.http.get(t,{withCredentials:!0,headers:n,observe:"response",responseType:"text"}).pipe(Object(r.map)((function(t){var n=t.headers.get("content-type"),o=null;if(null!==e.timeoutHandle&&e.window.clearTimeout(e.timeoutHandle),n.startsWith("text/plain")){var i=t.body.toString(),r=i.indexOf("wrap_access_token=")+"wrap_access_token=".length,a=i.indexOf("&wrap_access_token_expires_in="),s=i.substring(r,a);s=decodeURIComponent(s);var A=i.substr(a+"&wrap_access_token_expires_in=".length),l=Number(A),c=new Date;c.setSeconds(c.getSeconds()-l);var d=s.indexOf("TokenId="),p=s.indexOf("&",d),f=s.substring(d+"TokenId=".length,p),u=e.window.document,m=u.cookie.split(";").find((function(e){return-1!==e.indexOf("TokenId")}));if(m){var g=m.indexOf("TokenId=")+"TokenId=".length,E=m.substring(0,g).trim();u.cookie=E+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/",E+=f;var h=new Date;h.setFullYear(h.getFullYear()+1),E+="; expires="+h.toUTCString(),E+="; path=/",u.cookie=E,o={type:"WRAP",value:s="access_token="+e.window.btoa(s),expireDate:c.getTime(),lifetime:l}}}return o})))},SwtProvider.ɵfac=function SwtProvider_Factory(e){return new(e||SwtProvider)(l["ɵɵinject"](f.HttpClient),l["ɵɵinject"](s.Settings),l["ɵɵinject"](A.UrlService),l["ɵɵinject"](d.WINDOW_TOKEN),l["ɵɵinject"](c.LOCAL_STORAGE))},SwtProvider.ɵprov=l["ɵɵdefineInjectable"]({token:SwtProvider,factory:SwtProvider.ɵfac}),SwtProvider}(u.TokenProvider),E={multi:!0,provide:a.AUTH_PROVDER_TOKEN,useClass:g}},function(e,t,n){"use strict";n.r(t),n.d(t,"NoAuthTokenProvider",(function(){return l})),n.d(t,"NO_AUTH_PROVIDER",(function(){return c}));var o=n(259),i=n(11),r=n(229),a=n(276),s=n(2107),A=n(271),l=function(e){function NoAuthTokenProvider(t){var n=e.call(this)||this;return n.settings=t,n}return Object(o.__extends)(NoAuthTokenProvider,e),NoAuthTokenProvider.prototype.init=function(){return new i.BehaviorSubject(null)},NoAuthTokenProvider.prototype.signIn=function(e){return Object(i.of)()},NoAuthTokenProvider.prototype.signOut=function(){return Object(i.of)()},NoAuthTokenProvider.prototype.isLoggedIn=function(){return Object(i.of)(!0)},NoAuthTokenProvider.prototype.getToken=function(){return Object(i.of)()},NoAuthTokenProvider.prototype.getName=function(){return"noauth"},NoAuthTokenProvider.prototype.isAvailable=function(){return Object(i.of)("Default"===this.settings.authenticationProtocol)},NoAuthTokenProvider.prototype.getPriority=function(){return 0},NoAuthTokenProvider.ɵfac=function NoAuthTokenProvider_Factory(e){return new(e||NoAuthTokenProvider)(r["ɵɵinject"](A.Settings))},NoAuthTokenProvider.ɵprov=r["ɵɵdefineInjectable"]({token:NoAuthTokenProvider,factory:NoAuthTokenProvider.ɵfac}),NoAuthTokenProvider}(s.TokenProvider),c={multi:!0,provide:a.AUTH_PROVDER_TOKEN,useClass:l}},function(e,t,n){"use strict";n.r(t),n.d(t,"SfElementsModule",(function(){return c}));var o=n(312),i=n(261),r=n(2111),a=n(2114),s=n(244),A=n(372),l=n(229),c=function(){function SfElementsModule(){}return SfElementsModule.prototype.ngDoBootstrap=function(){},SfElementsModule.ɵfac=function SfElementsModule_Factory(e){return new(e||SfElementsModule)},SfElementsModule.ɵmod=l["ɵɵdefineNgModule"]({type:SfElementsModule}),SfElementsModule.ɵinj=l["ɵɵdefineInjector"]({providers:[a.SfElementFactory,s.WINDOW_PROVIDER,A.DOCUMENT_PROVIDER],imports:[[o.BrowserModule,i.CommonModule,r.TooltipModule]]}),SfElementsModule}();l["ɵɵsetNgModuleScope"](c,{imports:[o.BrowserModule,i.CommonModule,r.TooltipModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"TooltipModule",(function(){return A}));var o=n(2112),i=n(261),r=n(2114),a=n(1412),s=n(229),A=function(){function TooltipModule(e){this.factory=e,this.factory.createCustomElementDefinition(o.TooltipComponent)}return TooltipModule.ɵfac=function TooltipModule_Factory(e){return new(e||TooltipModule)(s["ɵɵinject"](r.SfElementFactory))},TooltipModule.ɵmod=s["ɵɵdefineNgModule"]({type:TooltipModule}),TooltipModule.ɵinj=s["ɵɵdefineInjector"]({imports:[[i.CommonModule,a.SitefinityComponentsModule]]}),TooltipModule}();s["ɵɵsetNgModuleScope"](A,{declarations:[o.TooltipComponent],imports:[i.CommonModule,a.SitefinityComponentsModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"TooltipComponent",(function(){return s}));var o=n(229),i=n(2113),r=n(261),a=n(354);function TooltipComponent_sf_icon_0_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-icon",2),o["ɵɵlistener"]("click",(function TooltipComponent_sf_icon_0_Template_sf_icon_click_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().toggleContent(e)})),o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](1,"svg",3),o["ɵɵelement"](2,"path",4),o["ɵɵelementEnd"](),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"]();o["ɵɵproperty"]("look",i.iconLook)}}function TooltipComponent_div_1_sf_icon_1_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"sf-icon",9),o["ɵɵlistener"]("click",(function TooltipComponent_div_1_sf_icon_1_Template_sf_icon_click_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).triggerClose(e)})),o["ɵɵelementEnd"]()}}function TooltipComponent_div_1_div_3_span_6_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵnamespaceSVG"](),o["ɵɵnamespaceHTML"](),o["ɵɵelementStart"](0,"span",16),o["ɵɵlistener"]("click",(function TooltipComponent_div_1_div_3_span_6_Template_span_click_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](3).triggerSkipAll(e)}))("keyup.enter",(function TooltipComponent_div_1_div_3_span_6_Template_span_keyup_enter_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](3).triggerClose(e)})),o["ɵɵtext"](1,"Skip this tutorial"),o["ɵɵelementEnd"]()}}function TooltipComponent_div_1_div_3_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",10),o["ɵɵelementStart"](1,"span",11),o["ɵɵlistener"]("click",(function TooltipComponent_div_1_div_3_Template_span_click_1_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).triggerClose(e)}))("keyup.enter",(function TooltipComponent_div_1_div_3_Template_span_keyup_enter_1_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"](2).triggerClose(e)})),o["ɵɵtext"](2),o["ɵɵelementStart"](3,"sf-icon",12),o["ɵɵnamespaceSVG"](),o["ɵɵelementStart"](4,"svg",13),o["ɵɵelement"](5,"path",14),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵelementEnd"](),o["ɵɵtemplate"](6,TooltipComponent_div_1_div_3_span_6_Template,2,0,"span",15),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"](2);o["ɵɵadvance"](2),o["ɵɵtextInterpolate1"]("",i.gotItLinkText," "),o["ɵɵadvance"](4),o["ɵɵproperty"]("ngIf",!i.isLastElement)}}function TooltipComponent_div_1_Template(e,t){if(1&e){var n=o["ɵɵgetCurrentView"]();o["ɵɵelementStart"](0,"div",5),o["ɵɵlistener"]("click",(function TooltipComponent_div_1_Template_div_click_0_listener(e){return o["ɵɵrestoreView"](n),o["ɵɵnextContext"]().onTooltipClick(e)})),o["ɵɵtemplate"](1,TooltipComponent_div_1_sf_icon_1_Template,1,0,"sf-icon",6),o["ɵɵelement"](2,"div",7),o["ɵɵtemplate"](3,TooltipComponent_div_1_div_3_Template,7,2,"div",8),o["ɵɵelementEnd"]()}if(2&e){var i=o["ɵɵnextContext"]();o["ɵɵstyleProp"]("width",i.width),o["ɵɵattribute"]("class",i.cssClassList),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",i.showOnce&&!i.seen),o["ɵɵadvance"](1),o["ɵɵproperty"]("innerHtml",i.content,o["ɵɵsanitizeHtml"]),o["ɵɵadvance"](1),o["ɵɵproperty"]("ngIf",i.showOnce)}}var s=function(){function TooltipComponent(e,t){this.element=e,this.ref=t,this.close=new o.EventEmitter,this.skipAll=new o.EventEmitter,this.gotItLinkText="Got it",this.isLastElement=!1,this.zIndexValue=99999,this.isHidden=!0,this._appendToParent=!1,this._seen=!1,this._showOnce=!1}return Object.defineProperty(TooltipComponent.prototype,"appendToParent",{get:function(){return this._appendToParent},set:function(e){this._appendToParent=Object(i.coerceBoolean)(e)},enumerable:!1,configurable:!0}),Object.defineProperty(TooltipComponent.prototype,"seen",{get:function(){return this._seen},set:function(e){this._seen=Object(i.coerceBoolean)(e)},enumerable:!1,configurable:!0}),Object.defineProperty(TooltipComponent.prototype,"showOnce",{get:function(){return this._showOnce},set:function(e){this._showOnce=Object(i.coerceBoolean)(e)},enumerable:!1,configurable:!0}),Object.defineProperty(TooltipComponent.prototype,"fixedDimensions",{set:function(e){if(e){var t;try{t=JSON.parse(e)}catch(n){t=e}this._fixedDimensions={top:t.top,right:t.right,bottom:t.bottom,left:t.left,position:t.position}}},enumerable:!1,configurable:!0}),Object.defineProperty(TooltipComponent.prototype,"targetDimensions",{set:function(e){var t;try{t=JSON.parse(e)}catch(n){t=e}this._targetDimensions={top:Math.floor(Number(t.top)),right:Math.floor(Number(t.right)),bottom:Math.floor(Number(t.bottom)),left:Math.floor(Number(t.left)),height:Math.floor(Number(t.height)),width:Math.floor(Number(t.width))}},enumerable:!1,configurable:!0}),Object.defineProperty(TooltipComponent.prototype,"boxModelDimensions",{set:function(e){this._boxModelDimensions=e},enumerable:!1,configurable:!0}),TooltipComponent.prototype.ngOnChanges=function(){this._isInitialized&&(this.initializeTooltip(),this.positionTooltip())},TooltipComponent.prototype.ngOnInit=function(){this.initializeTooltip(),this._isInitialized=!0},TooltipComponent.prototype.initializeTooltip=function(){this.showContent=this.showOnce&&!this.seen,this.cssClassList=this.generateCssClassList(),this.look&&this.look.includes("faq")?(this.zIndexValue=99998,this.iconLook="size-2xl light faq"):this.iconLook="size-xs",this._fixedDimensions?(this.setDimensions(this._fixedDimensions),this._fixedDimensions.position?this.element.nativeElement.style.position=this._fixedDimensions.position:this.element.nativeElement.style.position="fixed"):this.element.nativeElement.style.position="absolute",this.zIndex&&(this.zIndexValue=this.zIndex)},TooltipComponent.prototype.positionTooltip=function(){var e=this.element.nativeElement.getBoundingClientRect();this.tooltipDimensions={top:Math.floor(e.top),right:Math.floor(e.right),bottom:Math.floor(e.bottom),left:Math.floor(e.left),height:Math.floor(e.height),width:Math.floor(e.width)},this._fixedDimensions||this.appendToParent||this.look&&this.look.includes("faq")?(this.isHidden=!1,this.appendToParent&&(this.element.nativeElement.style.display="inline-block")):this.calculatePosition(),this._boxModelDimensions&&this.setDimensions(this._boxModelDimensions)},TooltipComponent.prototype.ngAfterViewInit=function(){this.positionTooltip()},TooltipComponent.prototype.toggleContent=function(e){this.showContent=!this.showContent,this.ref.detectChanges(),e&&e.stopPropagation()},TooltipComponent.prototype.onTooltipClick=function(e){e.stopPropagation()},TooltipComponent.prototype.calculatePosition=function(){var e=0,t=0;this.look&&(this.look.startsWith("up")&&(t+=this._targetDimensions.top-this.tooltipDimensions.bottom),this.look.startsWith("down")&&(t+=-this.tooltipDimensions.top+this._targetDimensions.bottom),this.look.startsWith("left")&&(e+=this._targetDimensions.left-this.tooltipDimensions.right),this.look.startsWith("right")&&(e+=this._targetDimensions.right-this.tooltipDimensions.left),this.look.includes("-right")&&(e+=this._targetDimensions.right-this.tooltipDimensions.right),this.look.includes("-left")&&(e+=this._targetDimensions.left-this.tooltipDimensions.left),this.look.includes("-up")&&(t+=this._targetDimensions.top-this.tooltipDimensions.top),this.look.includes("-down")&&(t+=this._targetDimensions.bottom-this.tooltipDimensions.top-this.tooltipDimensions.height),"right"!==this.look&&"left"!==this.look||(t+=this._targetDimensions.bottom-this.tooltipDimensions.top-(this.tooltipDimensions.height+this._targetDimensions.height)/2),"up"!==this.look&&"down"!==this.look||(e+=this._targetDimensions.left-this.tooltipDimensions.left+(this._targetDimensions.width-this.tooltipDimensions.width)/2),this.transform="translate3d("+e+"px, "+t+"px, 0)"),this.isHidden=!1},TooltipComponent.prototype.setDimensions=function(e){for(var t=0,n=Object.keys(e);t\n
  • Item 1
  • \n
  • Item 2
  • \n \n
    \n
      \n
    1. Item 1
    2. \n
    3. Item 2
    4. \n
    \n\n Styleguide: List.default\n */\n /*\n List with list-style: none:\n\n Markup:\n
      \n
    • Item 1
    • \n
    • Item 2
    • \n
    \n
    \n
      \n
    1. Item 1
    2. \n
    3. Item 2
    4. \n
    \n\n Styleguide: List.list-style-none\n */\n /*\n Link\n\n Default and secondary links\n\n Markup:\n Default link
    \n Secondary link\n\n Styleguide: Link.default\n */\n /*\n Navigation links\n\n Markup:\n Navigation link
    \n Settings link\n\n Styleguide: Link.navigation\n */\n /*\n Section nav links\n\n Markup:\n Categories and tags
    \n Search engine optimi...
    \n Social media
    \n\n Styleguide: Link.section-nav-links\n */\n /*\n Basic links\n\n Markup:\n Categories and tags
    \n\n Styleguide: Link.basic-links\n */\n /*\n Toolbar links\n\n Markup:\n
    \n Categories and tags
    \n Categories and tags
    \n
    \n\n Styleguide: Link.toolbar-links\n */\n /*\n Typography\n\n Headings\n\n Markup:\n

    H1 List Page Title

    \n

    H1 Detail Page Title

    \n

    H2 Group Title

    \n

    H3 Item Title

    \n

    H4 Form Label

    \n

    H4 Regular Label

    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings\n */\n /*\n Heading CSS Classes\n\n Markup:\n
    H1 List Page Title
    \n
    H1 Detail Page Title
    \n
    H2 Group Title
    \n
    H3 Item Title
    \n
    H4 Form Label
    \n
    H4 Regular Label
    \n
    H5 Small Labels
    \n\n Styleguide: Typography.headings-classes\n */\n /*\n Paragraph\n\n Markup:\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat. Nulla iaculis id sem eget ullamcorper. In ac euismod nunc. Fusce at tortor viverra, maximus quam quis, interdum velit. Mauris varius risus ut ante porttitor tempor.

    \n\n Styleguide: Typography.Paragraph\n */\n /*\n Icon\n\n Icons with text\n\n `.sf-icon`\n\n Markup:\n Settings
    \n Help
    \n Folder
    \n
    \n\n Styleguide: Icon.text\n */\n /*\n Close icon\n\n `.sf-icon.-close`\n\n Markup:\n \n\n Styleguide: Icon.close\n */\n /*\n Illustrative icons\n\n `.sf-icon.-illustrative`\n\n Markup:\n \n \n\n Styleguide: Icon.illustrative\n */\n /*\n Colors\n\n `.sf-icon.-{light, lighter, black, white, color-inherit}`\n\n Markup:\n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n \n \n \n
    \n\n Styleguide: Icon.colors\n */\n /*\n Icon sizes\n\n `.sf-icon.-size-{7xs, 4xs, 3xs, 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl, 5xl}`\n\n Markup:\n -size-7xs — 5px
    \n -size-4xs — 11px
    \n -size-3xs — 12px
    \n -size-2xs — 13px
    \n -size-xs — 14px
    \n -size-s — 16px
    \n -size-m — 18px
    \n -size-l — 20px
    \n -size-xl — 22px
    \n -size-2xl — 28px
    \n -size-3xl — 36px
    \n -size-4xl — 48px
    \n -size-5xl — 60px
    \n\n Styleguide: Icon.sizes\n */\n /*\n Stacked icons\n\n `.sf-stack {.sf-stack__in,.sf-stack__out}`\n\n Markup:\n
    \n \n \n
    \n
    \n \n \n \n
    \n\n Styleguide: Icon.stacked\n */\n /*\n Notification\n */\n /*\n info Notification\n\n `.sf-notification.-info`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n success Notification\n\n `.sf-notification.-success`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n error Notification\n\n `.sf-notification.-error`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n warning Notification\n\n `.sf-notification.-warning`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n black Notification\n\n `.sf-notification.-black`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n transparent Notification\n\n `.sf-notification.-transparent`\n\n Markup:\n
    \n
    \n

    Curabitur sem nulla

    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.default\n */\n /*\n * info notification with close button\n\n `.sf-notification.-success`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.with-close\n */\n /*\n Inline notification (as wide as the content in it)\n\n `.sf-notification.-inline`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In a tristique elit. Curabitur sem nulla, porttitor sit amet pretium luctus.\n
    \n
    \n\n Styleguide: Notification.inline\n */\n /*\n Notification with bottom up\n\n `.sf-notification.-info.-up`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.bottom-up\n */\n /*\n Notification with top arrow\n\n `.sf-notification.-info.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.loader-big\n */\n /*\n Notification with right arrow\n\n `.sf-notification.-info.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.right-arrow\n */\n /*\n Notification with left arrow\n\n `.sf-notification.-info.-right`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.left-arrow\n */\n /*\n Notification as tooltip\n\n `.sf-notification.-tooltip`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip\n */\n /*\n Notification as tooltip with top left arrow\n\n `.sf-notification.-tooltip.-down-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n Styleguide: Notification.tooltip-with-top-left-arrow\n */\n /*\n Notification as tooltip with top right arrow and close button\n\n `.sf-notification.-tooltip.-down-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-top-right-arrow\n */\n /*\n Notification as tooltip with left arrow\n\n `.sf-notification.-tooltip.-left`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-left-arrow\n */\n /*\n Notification as tooltip with right arrow\n\n `.sf-notification.-tooltip.-right`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-right-arrow\n */\n /*\n Notification as tooltip with down arrow\n\n `.sf-notification.-tooltip.-down`\n\n Markup:\n
    \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-down-arrow\n */\n /*\n Notification as tooltip with up arrow\n\n `.sf-notification.-tooltip.-up`\n\n Markup:\n
    \n \n
    \n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Donec faucibus commodo lacus, quis laoreet nulla. Ut et neque quis tortor dapibus consequat.\n
    \n
    \n\n Styleguide: Notification.tooltip-with-up-arrow\n */\n /*\n Edit item notification\n\n `.sf-notification.-success.-fixed.-inline`\n\n Markup:\n
    \n \t
    \n \t
    \n \t\tContent has been published successfully.\n \t
    \n
    \n\n Styleguide: Notification.edit-item\n */\n /*\n Notification as toolset for link\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n https://drive.google.com/drive/folders/\n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-link\n */\n /*\n Notification as toolset for other objects\n\n `.sf-notification.-toolset.-black.-up`\n\n Markup:\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-other-objects\n */\n /*\n Notification as toolset for styles menu\n\n `.sf-notification.-toolset.-black.-down`\n\n Markup:\n
    \n
    \n \n \n \n
    \n
    \n\n Styleguide: Notification.toolset-for-styles-menu\n */\n /*\n Tooltip\n\n Info icon and tooltip\n\n `.sf-tooltip`\n\n Markup:\n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n\n Styleguide: Tooltip.tooltip\n */\n /*\n Info icon and tooltip opens on click\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n
    \n \n
    \n
    \n 1920 x 1200
    \n \t\t\t jpeg
    \n \t\t\t 762.72 KB\n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-click\n */\n /*\n Tooltip on the right\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-the-right\n */\n /*\n Tooltip on the left\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-the-left\n */\n /*\n Tooltip on top\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n \n
    \n
    \n\n `Styleguide: Tooltip.on-top\n */\n /*\n Tooltip on bottom\n\n `.sf-tooltip`\n\n Markup:\n
    \n
    \n \n
    \n
    \n \n
    \n

    Looking for specific items?

    \n Search or filtering may be easier\n
    \n
    \n
    \n
    \n
    \n\n Styleguide: Tooltip.on-bottom\n */\n /*\n Spacing utility classes\n\n Margin left and right specials\n\n `-sf-ml-auto, -sf-mr-auto, -sf-ml-50, -sf-mr-50`\n\n @example\n
    .-sf-ml-auto - auto
    \n
    .-sf-mr-auto - auto
    \n
    .-sf-ml-50 - 50%
    \n
    .-sf-mr-50 - 50%
    \n\n Styleguide: Spacing.margin-left-right\n */\n /*\n Margin-top classes\n\n `-sf-mt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n @example\n
    .-sf-mt-zero - 0
    \n
    .-sf-mt-8xs - 1px
    \n
    .-sf-mt-7xs - 2px
    \n
    .-sf-mt-6xs - 3px
    \n
    .-sf-mt-5xs - 4px
    \n
    .-sf-mt-4xs - 5px
    \n
    .-sf-mt-3xs - 10px
    \n
    .-sf-mt-2xs - 15px
    \n
    .-sf-mt-xs - 20px
    \n
    .-sf-mt-s - 25px
    \n
    .-sf-mt-m - 30px
    \n
    .-sf-mt-l - 35px
    \n
    .-sf-mt-xl - 40x
    \n
    .-sf-mt-2xl - 45px
    \n
    .-sf-mt-3xl - 50px
    \n
    .-sf-mt-4xl - 55px
    \n
    .-sf-mt-5xl - 60px
    \n
    .-sf-mt-6xl - 80px
    \n
    .-sf-mt-7xl - 100px
    \n
    .-sf-mt-8xl - 120px
    \n
    .-sf-mt-9xl - 140px
    \n
    .-sf-mt-10xl - 160px
    \n
    .-sf-mt-11xl - 180px
    \n
    .-sf-mt-12xl - 200px
    \n\n Styleguide: Spacing.margin-top\n */\n /*\n Margin-top negative classes\n\n `-sf-mt--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mt--6xl - -80px
    \n
    .-sf-mt--5xl - -60px
    \n
    .-sf-mt--4xl - -55px
    \n
    .-sf-mt--3xl - -50px
    \n
    .-sf-mt--2xl - -45px
    \n
    .-sf-mt--xl - -40x
    \n
    .-sf-mt--l - -35px
    \n
    .-sf-mt--m - -30px
    \n
    .-sf-mt--s - -25px
    \n
    .-sf-mt--xs - -20px
    \n
    .-sf-mt--2xs - -15px
    \n
    .-sf-mt--3xs - -10px
    \n
    .-sf-mt--4xs - -5px
    \n\n Styleguide: Spacing.margin-top-negative\n */\n /*\n Margin-bottom classes\n\n `-sf-mb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mb-zero - 0
    \n
    .-sf-mb-8xs - 1px
    \n
    .-sf-mb-7xs - 2px
    \n
    .-sf-mb-6xs - 3px
    \n
    .-sf-mb-5xs - 4px
    \n
    .-sf-mb-4xs - 5px
    \n
    .-sf-mb-3xs - 10px
    \n
    .-sf-mb-2xs - 15px
    \n
    .-sf-mb-xs - 20px
    \n
    .-sf-mb-s - 25px
    \n
    .-sf-mb-m - 30px
    \n
    .-sf-mb-l - 35px
    \n
    .-sf-mb-xl - 40x
    \n
    .-sf-mb-2xl - 45px
    \n
    .-sf-mb-3xl - 50px
    \n
    .-sf-mb-4xl - 55px
    \n
    .-sf-mb-5xl - 60px
    \n
    .-sf-mb-6xl - 80px
    \n
    .-sf-mb-7xl - 100px
    \n
    .-sf-mb-8xl - 120px
    \n\n Styleguide: Spacing.margin-bottom\n */\n /*\n Margin-bottom negative classes\n\n `-sf-mb--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mb--6xl - -80px
    \n
    .-sf-mb--5xl - -60px
    \n
    .-sf-mb--4xl - -55px
    \n
    .-sf-mb--3xl - -50px
    \n
    .-sf-mb--2xl - -45px
    \n
    .-sf-mb--xl - -40x
    \n
    .-sf-mb--l - -35px
    \n
    .-sf-mb--m - -30px
    \n
    .-sf-mb--s - -25px
    \n
    .-sf-mb--xs - -20px
    \n
    .-sf-mb--2xs - -15px
    \n
    .-sf-mb--3xs - -10px
    \n
    .-sf-mb--4xs - -5px
    \n\n Styleguide: Spacing.margin-bottom-negative\n */\n /*\n Margin-left classes\n\n `-sf-ml-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-ml-auto - auto
    \n
    .-sf-ml-zero - 0
    \n
    .-sf-ml-8xs - 1px
    \n
    .-sf-ml-7xs - 2px
    \n
    .-sf-ml-6xs - 3px
    \n
    .-sf-ml-5xs - 4px
    \n
    .-sf-ml-4xs - 5px
    \n
    .-sf-ml-3xs - 10px
    \n
    .-sf-ml-2xs - 15px
    \n
    .-sf-ml-xs - 20px
    \n
    .-sf-ml-s - 25px
    \n
    .-sf-ml-m - 30px
    \n
    .-sf-ml-l - 35px
    \n
    .-sf-ml-xl - 40x
    \n
    .-sf-ml-2xl - 45px
    \n
    .-sf-ml-3xl - 50px
    \n
    .-sf-ml-4xl - 55px
    \n
    .-sf-ml-5xl - 60px
    \n
    .-sf-ml-6xl - 80px
    \n
    .-sf-ml-7xl - 100px
    \n
    .-sf-ml-8xl - 120px
    \n\n Styleguide: Spacing.margin-left\n */\n /*\n Margin-left negative classes\n\n `-sf-ml--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-ml--6xl - -80px
    \n
    .-sf-ml--5xl - -60px
    \n
    .-sf-ml--4xl - -55px
    \n
    .-sf-ml--3xl - -50px
    \n
    .-sf-ml--2xl - -45px
    \n
    .-sf-ml--xl - -40x
    \n
    .-sf-ml--l - -35px
    \n
    .-sf-ml--m - -30px
    \n
    .-sf-ml--s - -25px
    \n
    .-sf-ml--xs - -20px
    \n
    .-sf-ml--2xs - -15px
    \n
    .-sf-ml--3xs - -10px
    \n
    .-sf-ml--4xs - -5px
    \n\n Styleguide: Spacing.margin-left-negative\n */\n /*\n Margin-right classes\n\n `-sf-mr-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-mr-auto - auto
    \n
    .-sf-mr-zero - 0
    \n
    .-sf-mr-8xs - 1px
    \n
    .-sf-mr-7xs - 2px
    \n
    .-sf-mr-6xs - 3px
    \n
    .-sf-mr-5xs - 4px
    \n
    .-sf-mr-4xs - 5px
    \n
    .-sf-mr-3xs - 10px
    \n
    .-sf-mr-2xs - 15px
    \n
    .-sf-mr-xs - 20px
    \n
    .-sf-mr-s - 25px
    \n
    .-sf-mr-m - 30px
    \n
    .-sf-mr-l - 35px
    \n
    .-sf-mr-xl - 40x
    \n
    .-sf-mr-2xl - 45px
    \n
    .-sf-mr-3xl - 50px
    \n
    .-sf-mr-4xl - 55px
    \n
    .-sf-mr-5xl - 60px
    \n
    .-sf-mr-6xl - 80px
    \n
    .-sf-mr-7xl - 100px
    \n
    .-sf-mr-8xl - 120px
    \n\n Styleguide: Spacing.margin-right\n */\n /*\n Margin-right negative classes\n\n `-sf-mr--{6xl, 5xl, 4xl, 3xl, 2xl, xl, l, m, s, xs, 2xs, 3xs, 4xs}`\n\n Markup:\n
    .-sf-mr--6xl - -80px
    \n
    .-sf-mr--5xl - -60px
    \n
    .-sf-mr--4xl - -55px
    \n
    .-sf-mr--3xl - -50px
    \n
    .-sf-mr--2xl - -45px
    \n
    .-sf-mr--xl - -40x
    \n
    .-sf-mr--l - -35px
    \n
    .-sf-mr--m - -30px
    \n
    .-sf-mr--s - -25px
    \n
    .-sf-mr--xs - -20px
    \n
    .-sf-mr--2xs - -15px
    \n
    .-sf-mr--3xs - -10px
    \n
    .-sf-mr--4xs - -5px
    \n\n Styleguide: Spacing.margin-right-negative\n */\n /*\n Margin classes\n\n `-sf-m-{auto,zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-m-auto - auto
    \n
    .-sf-m-zero - 0
    \n
    .-sf-m-8xs - 1px
    \n
    .-sf-m-7xs - 2px
    \n
    .-sf-m-6xs - 3px
    \n
    .-sf-m-5xs - 4px
    \n
    .-sf-m-4xs - 5px
    \n
    .-sf-m-3xs - 10px
    \n
    .-sf-m-2xs - 15px
    \n
    .-sf-m-xs - 20px
    \n
    .-sf-m-s - 25px
    \n
    .-sf-m-m - 30px
    \n
    .-sf-m-l - 35px
    \n
    .-sf-m-xl - 40x
    \n
    .-sf-m-2xl - 45px
    \n
    .-sf-m-3xl - 50px
    \n
    .-sf-m-4xl - 55px
    \n
    .-sf-m-5xl - 60px
    \n
    .-sf-m-6xl - 80px
    \n
    .-sf-m-7xl - 100px
    \n
    .-sf-m-8xl - 120px
    \n\n Styleguide: Spacing.margin-classes\n */\n /*\n Padding-top classes\n\n `-sf-pt-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pt-zero - 0
    \n
    .-sf-pt-8xs - 1px
    \n
    .-sf-pt-7xs - 2px
    \n
    .-sf-pt-6xs - 3px
    \n
    .-sf-pt-5xs - 4px
    \n
    .-sf-pt-4xs - 5px
    \n
    .-sf-pt-3xs - 10px
    \n
    .-sf-pt-2xs - 15px
    \n
    .-sf-pt-xs - 20px
    \n
    .-sf-pt-s - 25px
    \n
    .-sf-pt-m - 30px
    \n
    .-sf-pt-l - 35px
    \n
    .-sf-pt-xl - 40x
    \n
    .-sf-pt-2xl - 45px
    \n
    .-sf-pt-3xl - 50px
    \n
    .-sf-pt-4xl - 55px
    \n
    .-sf-pt-5xl - 60px
    \n
    .-sf-pt-6xl - 80px
    \n
    .-sf-pt-7xl - 100px
    \n
    .-sf-pt-8xl - 120px
    \n\n Styleguide: Spacing.padding-top\n */\n /*\n Padding-bottom classes\n\n `-sf-pb-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pb-zero - 0
    \n
    .-sf-pb-8xs - 1px
    \n
    .-sf-pb-7xs - 2px
    \n
    .-sf-pb-6xs - 3px
    \n
    .-sf-pb-5xs - 4px
    \n
    .-sf-pb-4xs - 5px
    \n
    .-sf-pb-3xs - 10px
    \n
    .-sf-pb-2xs - 15px
    \n
    .-sf-pb-xs - 20px
    \n
    .-sf-pb-s - 25px
    \n
    .-sf-pb-m - 30px
    \n
    .-sf-pb-l - 35px
    \n
    .-sf-pb-xl - 40x
    \n
    .-sf-pb-2xl - 45px
    \n
    .-sf-pb-3xl - 50px
    \n
    .-sf-pb-4xl - 55px
    \n
    .-sf-pb-5xl - 60px
    \n
    .-sf-pb-6xl - 80px
    \n
    .-sf-pb-7xl - 100px
    \n
    .-sf-pb-8xl - 120px
    \n\n Styleguide: Spacing.padding-bottom\n */\n /*\n Padding-left classes\n\n `-sf-pl-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pl-zero - 0
    \n
    .-sf-pl-8xs - 1px
    \n
    .-sf-pl-7xs - 2px
    \n
    .-sf-pl-6xs - 3px
    \n
    .-sf-pl-5xs - 4px
    \n
    .-sf-pl-4xs - 5px
    \n
    .-sf-pl-3xs - 10px
    \n
    .-sf-pl-2xs - 15px
    \n
    .-sf-pl-xs - 20px
    \n
    .-sf-pl-s - 25px
    \n
    .-sf-pl-m - 30px
    \n
    .-sf-pl-l - 35px
    \n
    .-sf-pl-xl - 40x
    \n
    .-sf-pl-2xl - 45px
    \n
    .-sf-pl-3xl - 50px
    \n
    .-sf-pl-4xl - 55px
    \n
    .-sf-pl-5xl - 60px
    \n
    .-sf-pl-6xl - 80px
    \n
    .-sf-pl-7xl - 100px
    \n
    .-sf-pl-8xl - 120px
    \n\n Styleguide: Spacing.padding-left\n */\n /*\n Padding-right classes\n\n `-sf-pr-{zero,8xs,7xs,6xs,5xs,4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-pr-zero - 0
    \n
    .-sf-pr-8xs - 1px
    \n
    .-sf-pr-7xs - 2px
    \n
    .-sf-pr-6xs - 3px
    \n
    .-sf-pr-5xs - 4px
    \n
    .-sf-pr-4xs - 5px
    \n
    .-sf-pr-3xs - 10px
    \n
    .-sf-pr-2xs - 15px
    \n
    .-sf-pr-xs - 20px
    \n
    .-sf-pr-s - 25px
    \n
    .-sf-pr-m - 30px
    \n
    .-sf-pr-l - 35px
    \n
    .-sf-pr-xl - 40x
    \n
    .-sf-pr-2xl - 45px
    \n
    .-sf-pr-3xl - 50px
    \n
    .-sf-pr-4xl - 55px
    \n
    .-sf-pr-5xl - 60px
    \n
    .-sf-pr-6xl - 80px
    \n
    .-sf-pr-7xl - 100px
    \n
    .-sf-pr-8xl - 120px
    \n\n Styleguide: Spacing.padding-right\n */\n /* Padding classes\n\n `-sf-p-{4xs,3xs,2xs,xs,s,m,l,xl,2xl,3xl,4xl,5xl,6xl,7xl,8xl, 9xl}`\n\n Markup:\n
    .-sf-p-4xs - 5px
    \n
    .-sf-p-3xs - 10px
    \n
    .-sf-p-2xs - 15px
    \n
    .-sf-p-xs - 20px
    \n
    .-sf-p-s - 25px
    \n
    .-sf-p-m - 30px
    \n
    .-sf-p-l - 35px
    \n
    .-sf-p-xl - 40x
    \n
    .-sf-p-2xl - 45px
    \n
    .-sf-p-3xl - 50px
    \n
    .-sf-p-4xl - 55px
    \n
    .-sf-p-5xl - 60px
    \n
    .-sf-p-6xl - 80px
    \n
    .-sf-p-7xl - 100px
    \n
    .-sf-p-8xl - 120px
    \n\n Styleguide: Spacing.padding-classes\n */\n /*\n Visibility utility classes\n\n Hide classes\n\n `-sf-hidden, -sf-invisible, -sf-transparent`\n\n Markup:\n
    .-sf-hidden
    \n
    .-sf-invisible
    \n
    .-sf-transparent
    \n\n Styleguide: Visibility.hide\n */\n /*\n Visually hidden but accessible to screen readers\n\n `-sf-visually-hidden`\n\n Markup:\n
    This text is visually hidden but accessible to screen readers
    \n\n Styleguide: Visibility.visually-hidden\n */\n /*\n Image fit cover\n\n `-sf-img-fit-cover`\n\n Markup:\n
    \n\n Styleguide: Visibility.img-fit-cover\n */\n /*\n Positions\n\n `-sf-absolute, -sf-relative`\n\n Markup:\n
    Absolute position
    \n
    Relative position
    \n
    Static position
    \n\n Styleguide: Visibility.positions\n */\n /*\n Rotate\n\n `-sf-rotate-90, sf-rotate--90, sf-rotate-180`\n\n Markup:\n
    Rotate 90deg
    \n
    Rotate -90deg
    \n
    Rotate 180deg
    \n\n Styleguide: Visibility.rotate\n */\n /*\n Cursor/Disabled utility classes\n\n Disabled link\n\n `-sf-disabled`\n\n Markup:\n Disabled link\n\n Styleguide: Disabled.disabled\n */\n /*\n Element which looks clickable\n\n `-sf-clickable`\n\n Markup:\n Clickable element\n\n Styleguide: Disabled.clickable\n */\n /*\n Element with cursor text\n\n `-sf-cursor-text`\n\n Markup:\n Cursor text\n\n Styleguide: Disabled.cursor-text\n */\n /*\n Element that cannot be selected\n\n `-sf-user-select-none`\n\n Markup:\n User selection none\n\n Styleguide: Disabled.user-select-none\n */\n /*\n Text utility classes\n\n Hint, dimmed, success, failure\n\n `.-sf-txt-hint, .-sf-txt-dimmed, .-sf-txt-success, .-sf-txt-failure`\n\n Markup:\n
    Hint: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Dimmed: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Success: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Failure: Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.utility\n */\n /*\n Text align\n\n `.-sf-txt-align-left, -sf-txt-align-right, -sf-txt-align-center`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.align\n */\n /*\n Vertical align middle\n\n `.-sf-txt-vertical-align-middle`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.txt-vertical-align-middle\n */\n /*\n Text transform\n\n `.-sf-txt-nowrap, -sf-txt-lower-case, -sf-txt-upper-case`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi. Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n
    Pellentesque luctus, erat sed elementum aliquam.
    \n\n Styleguide: Text.transform\n */\n /*\n Overflow hidden\n\n `-sf-overflow-hidden`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-hidden\n */\n /*\n Overflow auto\n\n `-sf-overflow-auto`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-auto\n */\n /*\n Overflow ellipsis\n\n `-sf-overflow-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-ellipsis\n */\n /*\n Overflow ellipsis on the second line\n\n `-sf-overflow-multiline-ellipsis`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.overflow-multiline-ellipsis\n */\n /*\n Word break\n\n `-sf-word-break-all`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-all\n */\n /*\n Word break\n\n `-sf-word-break-word`\n\n Markup:\n

    Loremipsumdolorsitamet,consecteturadipiscingelit.Seddapibustemporjustononullamcorper.Phasellusullamcorpernislorci,idfringillaexegestasin.Pellentesquetortorurna,feugiatutnunclaoreet,imperdietsollicitudinneque.Duisbibendumnonauguequisullamcorper.Quisqueeunibhegetestdignissimpharetra.Sedeupulvinarelit,quismalesuadaleo.Duisvitaevariusligula.Sedsitametpulvinardiam.VestibulumanteipsumprimisinfaucibusorciluctusetultricesposuerecubiliaCurae;Namutiaculisdui.Aeneanefficitur,tortorveldictumauctor,nibhtortorcondimentumnunc,noncursusnisinuncsedest.Utfringillamaurisacnislbibendum,velsagittisquamfacilisis.Vestibulumsagittisnonligulanonsollicitudin.

    \n\n Styleguide: Text.word-break-word\n */\n /*\n Text direction\n\n `-sf-direction-rtl, -sf-direction-ltr`\n\n Markup:\n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n

    Loremipsumdolorsitamet, consecteturadipiscingelit. Seddapibustemporjustononullamcorper. Phasellusullamcorpernislorci, idfringillaexegestasin. Pellentesquetortorurna, feugiatutnunclaoreet, imperdietsollicitudinneque.

    \n\n Styleguide: Text.direction\n */\n /*\n Large text\n\n `.-sf-txt-large`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-large\n */\n /*\n Small text\n\n `.-sf-txt-small`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-small\n */\n /*\n Base text\n\n `.-sf-txt-base`\n\n Markup:\n
    Pellentesque luctus, erat sed elementum aliquam, libero nibh aliquam lacus, sollicitudin accumsan justo nibh eu nisi.
    \n\n Styleguide: Text.txt-base\n */\n font-family: open_sansregular, "Open Sans", Arial, Verdana, sans-serif;\n font-size: var(--font-size-base);\n box-sizing: border-box;\n}\n:root:root:root sf-tooltip-element ul.-list-style-none, :root:root:root sf-tooltip-element ol.-list-style-none {\n list-style: none;\n}\n:root:root:root sf-tooltip-element ul.-list-style-disc, :root:root:root sf-tooltip-element ol.-list-style-disc {\n list-style-type: disc;\n}\n:root:root:root sf-tooltip-element ul.-list-style-decimal, :root:root:root sf-tooltip-element ol.-list-style-decimal {\n list-style-type: decimal;\n}\n:root:root:root sf-tooltip-element ul.-list-inline li, :root:root:root sf-tooltip-element ol.-list-inline li {\n display: inline-block;\n}\n:root:root:root sf-tooltip-element ul.-full-height, :root:root:root sf-tooltip-element ol.-full-height {\n height: 100%;\n}\n:root:root:root sf-tooltip-element ul.-full-height li, :root:root:root sf-tooltip-element ol.-full-height li {\n height: 100%;\n}\n:root:root:root sf-tooltip-element a {\n color: var(--link-color);\n text-decoration: none;\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element a.-secondary {\n color: var(--link-secondary-color);\n}\n:root:root:root sf-tooltip-element a:hover, :root:root:root sf-tooltip-element a:active, :root:root:root sf-tooltip-element a:focus {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-no-hover:hover, :root:root:root sf-tooltip-element a.-no-hover:active, :root:root:root sf-tooltip-element a.-no-hover:focus {\n color: var(--link-color);\n}\n:root:root:root sf-tooltip-element a.-side {\n display: inline-block;\n margin-bottom: 2px;\n padding: 3px 6px;\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-side.-active, :root:root:root sf-tooltip-element a.-side:focus, :root:root:root sf-tooltip-element a.-side:hover {\n background-color: #e4e4e4;\n border-radius: 2px;\n}\n:root:root:root sf-tooltip-element a.-side-secondary {\n color: var(--link-side-secondary-color);\n}\n:root:root:root sf-tooltip-element a.-side-secondary:hover {\n color: var(--link-side-secondary-color-hover);\n}\n:root:root:root sf-tooltip-element a.-side-secondary.-active {\n color: var(--link-side-secondary-color-active);\n}\n:root:root:root sf-tooltip-element a.-basic {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-basic:hover, :root:root:root sf-tooltip-element a.-basic:active, :root:root:root sf-tooltip-element a.-basic:focus {\n color: #333;\n}\n:root:root:root sf-tooltip-element a.-top-toolbar {\n align-items: center;\n justify-content: center;\n display: inline-flex;\n padding: 0 10px;\n color: #333;\n border: 0;\n background-color: #fff;\n border-radius: 0;\n height: 100%;\n}\n:root:root:root sf-tooltip-element a.-top-toolbar.-active, :root:root:root sf-tooltip-element a.-top-toolbar:focus, :root:root:root sf-tooltip-element a.-top-toolbar:hover {\n color: #333;\n background-color: #f5f5f5;\n border-color: #eee;\n}\n:root:root:root sf-tooltip-element h1,\n:root:root:root sf-tooltip-element .h1 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h1);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h2,\n:root:root:root sf-tooltip-element .h2 {\n font-size: var(--font-size-h2);\n font-weight: 300;\n line-height: 1.3;\n color: var(--color-h2);\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h3,\n:root:root:root sf-tooltip-element .h3 {\n font-family: "Open Sans Condensed", sans-serif;\n font-size: var(--font-size-h3);\n font-weight: bold;\n line-height: 1.3;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h4,\n:root:root:root sf-tooltip-element .h4 {\n font-size: var(--font-size-h4);\n font-weight: bold;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h5,\n:root:root:root sf-tooltip-element .h5 {\n font-size: var(--font-size-h5);\n font-weight: normal;\n color: var(--color-h5);\n text-transform: uppercase;\n margin-top: 0;\n margin-bottom: 0;\n}\n:root:root:root sf-tooltip-element h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n:root:root:root sf-tooltip-element .h1.-sf-h-large {\n font-size: var(--font-size-h1-lg);\n}\n:root:root:root sf-tooltip-element h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n:root:root:root sf-tooltip-element .h4.-sf-h-large {\n font-size: var(--font-size-h4-lg);\n}\n:root:root:root sf-tooltip-element p {\n margin-bottom: calc(var(--font-size-base) * 1.4);\n}\n:root:root:root sf-tooltip-element .sf-icon {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 1em;\n width: 1em;\n font-size: var(--default-icon-size);\n font-style: normal;\n color: var(--default-icon-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-close::before {\n content: "\\2716";\n}\n:root:root:root sf-tooltip-element .sf-icon.-illustrative {\n font-size: var(--icon-illustrative-font-size);\n color: var(--icon-illustrative-font-color);\n width: var(--icon-illustrative-size);\n height: var(--icon-illustrative-size);\n border-radius: 50%;\n background: transparent;\n border: 1px solid var(--icon-illustrative-font-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-illustrative.-size-3xl {\n width: var(--icon-illustrative-size-sm);\n height: var(--icon-illustrative-size-sm);\n}\n:root:root:root sf-tooltip-element .sf-icon.-light {\n color: var(--icon-light-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-faq {\n width: var(--icon-faq-size);\n height: var(--icon-faq-size);\n border-radius: 50%;\n background: #fff;\n line-height: var(--icon-faq-size);\n box-shadow: 0 3px 5px rgba(228, 228, 228, 0.5);\n}\n:root:root:root sf-tooltip-element .sf-icon.-zone-editor {\n font-size: var(--icon-zone-editor-size);\n}\n:root:root:root sf-tooltip-element .sf-icon.-lightest {\n color: #ccc;\n}\n:root:root:root sf-tooltip-element .sf-icon.-lighter {\n color: var(--icon-lighter-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-darker {\n color: #999;\n}\n:root:root:root sf-tooltip-element .sf-icon.-darkest {\n color: #777;\n}\n:root:root:root sf-tooltip-element .sf-icon.-black {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-icon.-color-inherit {\n color: inherit;\n}\n:root:root:root sf-tooltip-element .sf-icon.-white {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-icon.-positive {\n color: var(--icon-positive-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-negative {\n color: var(--icon-negative-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-square {\n padding: 5px;\n border: 2px solid currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon.-badge {\n width: var(--icon-size-badge);\n height: var(--icon-size-badge);\n border-radius: 50%;\n background: var(--icon-badge-add-bg-color);\n border: 1px solid var(--icon-badge-add-border-color);\n color: var(--icon-badge-add-color);\n}\n:root:root:root sf-tooltip-element .sf-icon.-badge.-edit-variation {\n color: #fff;\n background-color: #006CD9;\n border-color: #006CD9;\n}\n:root:root:root sf-tooltip-element .sf-icon.-svg {\n width: auto;\n height: auto;\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-7xs {\n font-size: var(--icon-size-7xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-5xs {\n font-size: var(--icon-size-5xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-4xs {\n font-size: var(--icon-size-4xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-3xs {\n font-size: var(--icon-size-3xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-2xs {\n font-size: var(--icon-size-2xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-xs {\n font-size: var(--icon-size-xs);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-s {\n font-size: var(--icon-size-s);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-m {\n font-size: var(--icon-size-m);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-l {\n font-size: var(--icon-size-l);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-xl {\n font-size: var(--icon-size-xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-2xl {\n font-size: var(--icon-size-2xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-3xl {\n font-size: var(--icon-size-3xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-4xl {\n font-size: var(--icon-size-4xl);\n}\n:root:root:root sf-tooltip-element .sf-icon.-size-5xl {\n font-size: var(--icon-size-5xl);\n}\n:root:root:root sf-tooltip-element .sf-icon__svg {\n width: 1em;\n height: 1em;\n}\n:root:root:root sf-tooltip-element .sf-icon__svg.-color-current {\n background-color: currentColor;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack {\n position: relative;\n display: inline-flex;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack__in {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 10;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack .sf-icon-stack__in + .sf-icon-stack__in {\n z-index: 5;\n}\n:root:root:root sf-tooltip-element .sf-icon-stack__out {\n position: relative;\n}\n:root:root:root sf-tooltip-element .sf-notification {\n position: relative;\n display: flex;\n text-align: left;\n vertical-align: middle;\n padding: 10px 9px;\n border-radius: 3px;\n background-color: currentcolor;\n border-color: currentcolor;\n color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification > * {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-info {\n color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-info > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-success {\n color: #CAEED8;\n}\n:root:root:root sf-tooltip-element .sf-notification.-success > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-error {\n color: #FFCCCC;\n}\n:root:root:root sf-tooltip-element .sf-notification.-error > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-warning {\n color: #FFFFCC;\n}\n:root:root:root sf-tooltip-element .sf-notification.-warning > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-black {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-black > *:not(.sf-notification__close-button) {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-notification.-transparent {\n color: transparent;\n}\n:root:root:root sf-tooltip-element .sf-notification.-transparent > *:not(.sf-notification__close-button) {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification.-small {\n padding: 0 20px;\n height: 32px;\n align-items: center;\n}\n:root:root:root sf-tooltip-element .sf-notification.-inline {\n display: inline-flex;\n}\n:root:root:root sf-tooltip-element .sf-notification.-preline .sf-notification__content {\n white-space: pre-line;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up, :root:root:root sf-tooltip-element .sf-notification.-up-right, :root:root:root sf-tooltip-element .sf-notification.-up-left {\n margin-bottom: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:after, :root:root:root sf-tooltip-element .sf-notification.-up:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:after {\n border-width: 10px;\n border-top-color: inherit;\n bottom: -20px;\n right: 50%;\n margin-right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-up:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:before {\n border-width: 11px;\n border-top-color: #e4e4e4;\n bottom: -22px;\n right: 50%;\n margin-right: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down, :root:root:root sf-tooltip-element .sf-notification.-down-right, :root:root:root sf-tooltip-element .sf-notification.-down-left {\n margin-top: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:after, :root:root:root sf-tooltip-element .sf-notification.-down:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:after, :root:root:root sf-tooltip-element .sf-notification.-down-left:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:after, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-down-left:after {\n border-width: 10px;\n border-bottom-color: inherit;\n top: -20px;\n right: 50%;\n margin-right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:before {\n border-width: 11px;\n border-bottom-color: #e4e4e4;\n top: -22px;\n right: 50%;\n margin-right: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left, :root:root:root sf-tooltip-element .sf-notification.-left-up, :root:root:root sf-tooltip-element .sf-notification.-left-down {\n margin-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:after, :root:root:root sf-tooltip-element .sf-notification.-left:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:after, :root:root:root sf-tooltip-element .sf-notification.-left-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:after, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-left-down:after {\n border-width: 10px;\n border-left-color: inherit;\n right: -20px;\n top: 50%;\n margin-top: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:before {\n border-width: 11px;\n border-left-color: #e4e4e4;\n right: -22px;\n top: 50%;\n margin-top: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right, :root:root:root sf-tooltip-element .sf-notification.-right-up, :root:root:root sf-tooltip-element .sf-notification.-right-down {\n margin-left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:after, :root:root:root sf-tooltip-element .sf-notification.-right:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:before {\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:after {\n border-width: 10px;\n border-right-color: inherit;\n left: -20px;\n top: 50%;\n margin-top: -10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-right:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:before {\n border-width: 11px;\n border-right-color: #e4e4e4;\n left: -22px;\n top: 50%;\n margin-top: -11px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down-left:before, :root:root:root sf-tooltip-element .sf-notification.-down-left:after, :root:root:root sf-tooltip-element .sf-notification.-up-left:before, :root:root:root sf-tooltip-element .sf-notification.-up-left:after {\n right: auto;\n left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-down-right:before, :root:root:root sf-tooltip-element .sf-notification.-down-right:after, :root:root:root sf-tooltip-element .sf-notification.-up-right:before, :root:root:root sf-tooltip-element .sf-notification.-up-right:after {\n right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left-down:before, :root:root:root sf-tooltip-element .sf-notification.-left-down:after, :root:root:root sf-tooltip-element .sf-notification.-right-down:before, :root:root:root sf-tooltip-element .sf-notification.-right-down:after {\n bottom: 10px;\n top: auto;\n}\n:root:root:root sf-tooltip-element .sf-notification.-left-up:before, :root:root:root sf-tooltip-element .sf-notification.-left-up:after, :root:root:root sf-tooltip-element .sf-notification.-right-up:before, :root:root:root sf-tooltip-element .sf-notification.-right-up:after {\n top: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip {\n padding: 20px;\n border: 1px solid #e4e4e4;\n border-radius: 0;\n box-shadow: 0 0 8px rgba(228, 228, 228, 0.6);\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip .sf-notification__close-button {\n position: absolute;\n top: 10px;\n right: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down-left:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-down-right:after {\n border-bottom-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up-left:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-up-right:after {\n border-top-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left-down:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-left-up:after {\n border-left-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right-down:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-tooltip.-right-up:after {\n border-right-color: #DCECF5;\n}\n:root:root:root sf-tooltip-element .sf-notification.-help {\n display: block;\n padding: 30px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-faq {\n position: absolute;\n margin-bottom: 5px;\n bottom: 100%;\n right: 0;\n width: 290px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-fixed {\n max-width: 850px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset {\n display: inline-block;\n padding: 0;\n height: 55px;\n line-height: 55px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__content {\n display: flex;\n height: 100%;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool {\n padding-left: 20px;\n padding-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group {\n display: inline-flex;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button {\n padding: 5px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-group .sf-notification__tool-button:not(:first-of-type) {\n margin-left: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding-left: 20px;\n padding-right: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n color: #ccc;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover {\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button:hover.-active {\n color: #fff;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-button.-active {\n background-color: #999;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-dropdown {\n min-width: 200px;\n margin-left: 20px;\n padding: 5px;\n color: inherit;\n background-color: inherit;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-link {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n word-wrap: break-word;\n display: inline-block;\n max-width: 200px;\n vertical-align: middle;\n padding-left: 20px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-toolset .sf-notification__tool-separator {\n display: inline-block;\n width: 1px;\n background-color: #777;\n}\n:root:root:root sf-tooltip-element .sf-notification.-narrow {\n width: 250px;\n}\n:root:root:root sf-tooltip-element .sf-notification.-medium {\n width: 350px;\n}\n:root:root:root sf-tooltip-element .sf-notification__close-button {\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n display: block;\n margin-left: 10px;\n order: 4;\n line-height: inherit;\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .sf-notification__close-button .sf-icon:hover {\n color: #333;\n}\n:root:root:root sf-tooltip-element .sf-notification__content {\n flex: 1;\n order: 2;\n max-width: 100%;\n word-break: normal;\n}\n:root:root:root sf-tooltip-element .sf-notification__separator {\n vertical-align: middle;\n margin-left: 10px;\n margin-right: 10px;\n}\n:root:root:root sf-tooltip-element .sf-notification-wrapper {\n position: fixed;\n top: 60px;\n left: 0;\n width: 100%;\n text-align: center;\n z-index: 10000;\n height: 0;\n}\n:root:root:root sf-tooltip-element .sf-row {\n display: flex;\n flex-wrap: wrap;\n padding: 0;\n width: 100%;\n max-width: 100%;\n list-style-type: none;\n /*\n Row\n\n Row with auto sized columns (default)\n\n `.sf-row .sf-row__col`\n\n Markup:\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row.auto-sized\n */\n /*\n Nested rows\n\n `.sf-row .sf-row`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row.nested-rows\n */\n /*\n Row with no gutter\n\n `.sf-row.-no-gutter`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.no-gutter\n */\n /*\n Row inline\n\n `.sf-row.-inline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.inline\n */\n /*\n Row full height\n\n `.sf-row.-full-height`\n\n Markup:\n
    \n
    \n I am tall\n
    \n
    \n I am tall\n
    \n
    \n\n Styleguide: Row.full-height\n */\n /*\n Width auto\n\n `.sf-row.-auto-width`\n\n Markup:\n
    \n
    \n\n Styleguide: Row.width-auto\n */\n /*\n flex-wrap: wrap (Default)\n\n `.sf-row.-wrap`\n\n If emitted flex-wrap: wrap\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.flex-wrap-wrap\n */\n /*\n flex-wrap: no-wrap\n\n `.sf-row.-no-wrap`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.no-wrap\n */\n /*\n flex-wrap: wrap-reverse\n\n `.sf-row.-wrap-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.wrap-reverse\n */\n /*\n flex-direction: row (default)\n\n `.sf-row.-row`\n\n If emitted flex-direction: row\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.flex-direction-row\n */\n /*\n flex-direction: row-reverse\n\n `.sf-row.-row-reverse `\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.row-reverse\n */\n /*\n flex-direction: column\n\n `.sf-row.-column`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column\n */\n /*\n flex-direction: column-reverse\n\n `.sf-row.-column-reverse`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.column-reverse\n */\n /*\n align-items: stretch (default)\n\n `.sf-row.-align-items-stretch`\n\n If emitted align-items: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-stretch\n\n */\n /*\n align-items: flex-start\n\n `.sf-row.-align-items-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-start\n */\n /*\n align-items: flex-end\n\n `.sf-row.-align-items-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-end\n */\n /*\n align-items: center\n\n `.sf-row.-align-items-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-center\n */\n /*\n align-items: baseline\n\n `.sf-row.-align-items-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row.align-items-baseline\n */\n /*\n align-content: stretch (default)\n\n `.sf-row.-align-content-stretch`\n\n If emitted align-content: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-stretch\n */\n /*\n align-content: flex-start\n\n `.sf-row.-align-content-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-start\n */\n /*\n align-content: flex-end\n\n `.sf-row.-align-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-end\n */\n /*\n align-content: center\n\n `.sf-row.-align-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-center\n */\n /*\n align-content: space-between\n\n `.sf-row.-align-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-between\n */\n /*\n align-content: space-around\n\n `.sf-row.-align-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n I am sixth in the markup\n
    \n
    \n\n Styleguide: Row.align-content-around\n */\n /*\n justify-content: flex-start (default)\n\n `.sf-row.-justify-content-start`\n\n If emitted justify-content: flex-start\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-start\n */\n /*\n justify-content: flex-end\n\n `.sf-row.-justify-content-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-end\n */\n /*\n justify-content: center\n\n `.theme.-row.-justify-content-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-center\n */\n /*\n justify-content: space-between\n\n `.sf-row.-justify-content-between`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-between\n */\n /*\n justify-content: space-around\n\n `.sf-row.-justify-content-around`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n I am fourth in the markup\n
    \n
    \n I am fifth in the markup\n
    \n
    \n\n Styleguide: Row.justify-content-around\n */\n /*\n Columns with flexible width\n\n `sf-row.-adjustable-ellipsis`\n\n Markup:\n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n\n
    \n
    \n
    The width of First adjusts to my width
    \n
    \n
    \n
    I am First. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passa
    \n
    \n
    \n\n Styleguide: Row.adjustable-ellipsis\n */\n /*\n Row — Single Column\n */\n /*\n Columns with no gutter\n\n `.sf-row__col.-no-gutter`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-gutter\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-gutter\n */\n /*\n Columns which are not flexible (\'flex: none\')\n\n `.sf-row__col.-no-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-no-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.no-flex\n */\n /*\n Columns which are auto flexible (\'flex: auto\')\n\n `.sf-row__col.-auto-flex`\n\n Markup:\n
    \n
    \n .sf-row__col.-col-6.-auto-flex\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n\n Styleguide: Row-single.flex-auto\n */\n /*\n Columns hide\n\n `.sf-row__col.-hidden`\n\n Markup:\n
    \n
    \n .sf-row__col.-hidden: I am hidden for all resolutions\n
    \n
    \n .sf-row__col\n
    \n
    \n .sf-row__col\n
    \n
    \n\n Styleguide: Row-single.hidden\n */\n /*\n Columns align-self: stretch (default)\n\n `.sf-row__col.-align-self-stretch`\n\n If emitted align-self: stretch\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-stretch\n */\n /*\n Columns align-self: flex-start\n\n `.sf-row__col.-align-self-start`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.flex-start\n */\n /*\n Columns align-self: flex-end\n\n `.sf-row__col.-align-self-end`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-end\n */\n /*\n Columns align-self: center\n\n `.sf-row__col.-align-self-center`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-center\n */\n /*\n Columns align-self: baseline\n\n `.sf-row__col.-align-self-baseline`\n\n Markup:\n
    \n
    \n I am first in the markup\n
    \n
    \n I am second in the markup\n
    \n
    \n I am third in the markup\n
    \n
    \n\n Styleguide: Row-single.align-self-baseline\n */\n}\n:root:root:root sf-tooltip-element .sf-row.-no-gutter .sf-row__col {\n padding: 0;\n}\n:root:root:root sf-tooltip-element .sf-row.-inline {\n display: inline-flex;\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-full-height {\n height: 100%;\n}\n:root:root:root sf-tooltip-element .sf-row.-auto-width {\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-wrap {\n flex-wrap: wrap;\n}\n:root:root:root sf-tooltip-element .sf-row.-no-wrap {\n flex-wrap: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-row.-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-row {\n flex-direction: row;\n}\n:root:root:root sf-tooltip-element .sf-row.-row-reverse {\n flex-direction: row-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-column {\n flex-direction: column;\n}\n:root:root:root sf-tooltip-element .sf-row.-column-reverse {\n flex-direction: column-reverse;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-stretch {\n align-items: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-start {\n align-items: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-end {\n align-items: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-center {\n align-items: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-items-baseline {\n align-items: baseline;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-stretch {\n align-content: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-start {\n align-content: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-end {\n align-content: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-center {\n align-content: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-between {\n align-content: space-between;\n}\n:root:root:root sf-tooltip-element .sf-row.-align-content-around {\n align-content: space-around;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-start {\n justify-content: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-end {\n justify-content: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-center {\n justify-content: center;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-between {\n justify-content: space-between;\n}\n:root:root:root sf-tooltip-element .sf-row.-justify-content-around {\n justify-content: space-around;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis {\n display: inline-flex;\n width: auto;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis .sf-row__col.-truncatable {\n min-width: 0;\n}\n:root:root:root sf-tooltip-element .sf-row.-adjustable-ellipsis .sf-row__col.-full-width {\n flex: none;\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .sf-row__col {\n padding: 0;\n flex: 1;\n max-width: 100%;\n /*\n Row — Grid System\n\n Columns sizes\n\n `.sf-row__col.-col-{1, 2, 3,..., 12}`\n\n Column sizes applies for all devices unless overridden\n\n Markup:\n
    \n
    \n .sf-row__col.-col-12\n
    \n
    \n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n .sf-row__col.-col-6\n
    \n
    \n
    \n
    \n .sf-row__col.-col-7\n
    \n
    \n .sf-row__col.-col-5\n
    \n
    \n
    \n
    \n .sf-row__col.-col-8\n
    \n
    \n .sf-row__col.-col-4\n
    \n
    \n
    \n
    \n .sf-row__col.-col-9\n
    \n
    \n .sf-row__col.-col-3\n
    \n
    \n
    \n
    \n .sf-row__col.-col-10\n
    \n
    \n .sf-row__col.-col-2\n
    \n
    \n
    \n
    \n .sf-row__col.-col-11\n
    \n
    \n .sf-row__col.-col-1\n
    \n
    \n\n Styleguide: Row-grid.Columns-sizes\n */\n /*\n Columns order\n\n `.sf-row__col.-order-{1, 2, 3,..., 12}`\n\n Markup:\n
    \n
    \n .sf-row__col.-order-2\n

    I am first in the markup but ordered second on the screen

    \n
    \n
    \n .sf-row__col.-order-3\n

    I am second in the markup but ordered third on the screen

    \n
    \n
    \n .sf-row__col.-order-1\n

    I am third in the markup but ordered first on the screen

    \n
    \n
    \n\n Styleguide: Row-grid.Columns-order\n */\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-1 {\n flex: 0 0 8.3333333333%;\n max-width: 8.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-2 {\n flex: 0 0 16.6666666667%;\n max-width: 16.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-4 {\n flex: 0 0 33.3333333333%;\n max-width: 33.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-5 {\n flex: 0 0 41.6666666667%;\n max-width: 41.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-7 {\n flex: 0 0 58.3333333333%;\n max-width: 58.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-8 {\n flex: 0 0 66.6666666667%;\n max-width: 66.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-10 {\n flex: 0 0 83.3333333333%;\n max-width: 83.3333333333%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-11 {\n flex: 0 0 91.6666666667%;\n max-width: 91.6666666667%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-1 {\n order: 1;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-2 {\n order: 2;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-3 {\n order: 3;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-4 {\n order: 4;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-5 {\n order: 5;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-6 {\n order: 6;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-7 {\n order: 7;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-8 {\n order: 8;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-9 {\n order: 9;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-10 {\n order: 10;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-11 {\n order: 11;\n}\n:root:root:root sf-tooltip-element .sf-row__col.-order-12 {\n order: 12;\n}\n:root:root:root sf-tooltip-element .sf-row .-no-gutter {\n padding: 0;\n}\n:root:root:root sf-tooltip-element .sf-row .-no-flex {\n flex: none;\n}\n:root:root:root sf-tooltip-element .sf-row .-auto-flex {\n flex: auto;\n}\n:root:root:root sf-tooltip-element .sf-row .-hidden {\n display: none;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-stretch {\n align-self: stretch;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-start {\n align-self: flex-start;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-end {\n align-self: flex-end;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-center {\n align-self: center;\n}\n:root:root:root sf-tooltip-element .sf-row .-align-self-baseline {\n align-self: baseline;\n}\n:root:root:root sf-tooltip-element .sf-tooltip {\n position: relative;\n}\n:root:root:root sf-tooltip-element .sf-tooltip:not(:hover):not(:focus):not(:active):not(.-dropped) .sf-tooltip__content, :root:root:root sf-tooltip-element .sf-tooltip.-open-on-click:not(.-dropped) .sf-tooltip__content {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n left: -1000px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content {\n position: absolute;\n top: 100%;\n left: 0;\n font-size: var(--font-size-base);\n font-weight: normal;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down, :root:root:root sf-tooltip-element .sf-tooltip__content.-up {\n left: 50%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down {\n transform: translateX(-50%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-up {\n top: auto;\n transform: translate(-50%, -100%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-right, :root:root:root sf-tooltip-element .sf-tooltip__content.-left {\n top: 50%;\n transform: translateY(-50%);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-right {\n left: 100%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-left {\n left: auto;\n right: 100%;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-right, :root:root:root sf-tooltip-element .sf-tooltip__content.-down-left {\n transform: translateY(5px);\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-right {\n left: auto;\n right: -10px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-down-left {\n left: -20px;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content:not(.-toolset) {\n min-width: 250px;\n z-index: 1000000;\n}\n:root:root:root sf-tooltip-element .sf-tooltip__content.-toolset {\n z-index: 1000;\n}\n:root:root:root sf-tooltip-element .-side-content .sf-tooltip__content {\n left: auto;\n right: 0;\n}\n:root:root:root sf-tooltip-element .-sf-mt-zero {\n margin-top: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-4xs {\n margin-top: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-3xs {\n margin-top: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-2xs {\n margin-top: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-xs {\n margin-top: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-s {\n margin-top: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-m {\n margin-top: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-l {\n margin-top: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-xl {\n margin-top: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-2xl {\n margin-top: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-3xl {\n margin-top: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-4xl {\n margin-top: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-5xl {\n margin-top: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-6xl {\n margin-top: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-7xl {\n margin-top: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-8xl {\n margin-top: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-9xl {\n margin-top: 140px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-10xl {\n margin-top: 160px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-11xl {\n margin-top: 180px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-12xl {\n margin-top: 200px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-zero {\n margin-bottom: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-4xs {\n margin-bottom: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-3xs {\n margin-bottom: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-2xs {\n margin-bottom: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-xs {\n margin-bottom: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-s {\n margin-bottom: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-m {\n margin-bottom: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-l {\n margin-bottom: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-xl {\n margin-bottom: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-2xl {\n margin-bottom: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-3xl {\n margin-bottom: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-4xl {\n margin-bottom: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-5xl {\n margin-bottom: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-6xl {\n margin-bottom: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-7xl {\n margin-bottom: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-8xl {\n margin-bottom: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-zero {\n margin-left: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-4xs {\n margin-left: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-3xs {\n margin-left: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-2xs {\n margin-left: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-xs {\n margin-left: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-s {\n margin-left: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-m {\n margin-left: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-l {\n margin-left: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-xl {\n margin-left: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-2xl {\n margin-left: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-3xl {\n margin-left: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-4xl {\n margin-left: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-5xl {\n margin-left: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-6xl {\n margin-left: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-7xl {\n margin-left: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-8xl {\n margin-left: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-zero {\n margin-right: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-4xs {\n margin-right: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-3xs {\n margin-right: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-2xs {\n margin-right: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-xs {\n margin-right: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-s {\n margin-right: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-m {\n margin-right: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-l {\n margin-right: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-xl {\n margin-right: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-2xl {\n margin-right: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-3xl {\n margin-right: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-4xl {\n margin-right: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-5xl {\n margin-right: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-6xl {\n margin-right: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-7xl {\n margin-right: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-8xl {\n margin-right: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-zero {\n margin: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-4xs {\n margin: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-3xs {\n margin: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-2xs {\n margin: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-xs {\n margin: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-s {\n margin: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-m {\n margin: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-l {\n margin: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-xl {\n margin: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-2xl {\n margin: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-3xl {\n margin: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-4xl {\n margin: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-5xl {\n margin: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-6xl {\n margin: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-7xl {\n margin: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-m-8xl {\n margin: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-8xs {\n margin-top: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-7xs {\n margin-top: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-6xs {\n margin-top: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt-5xs {\n margin-top: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-8xs {\n margin-bottom: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-7xs {\n margin-bottom: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-6xs {\n margin-bottom: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb-5xs {\n margin-bottom: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-8xs {\n margin-left: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-7xs {\n margin-left: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-6xs {\n margin-left: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-5xs {\n margin-left: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-8xs {\n margin-right: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-7xs {\n margin-right: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-6xs {\n margin-right: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-5xs {\n margin-right: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--4xs {\n margin-top: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--3xs {\n margin-top: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--2xs {\n margin-top: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--xs {\n margin-top: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--s {\n margin-top: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--m {\n margin-top: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--l {\n margin-top: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--xl {\n margin-top: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--2xl {\n margin-top: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--3xl {\n margin-top: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--4xl {\n margin-top: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--5xl {\n margin-top: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mt--6xl {\n margin-top: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--4xs {\n margin-bottom: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--3xs {\n margin-bottom: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--2xs {\n margin-bottom: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--xs {\n margin-bottom: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--s {\n margin-bottom: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--m {\n margin-bottom: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--l {\n margin-bottom: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--xl {\n margin-bottom: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--2xl {\n margin-bottom: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--3xl {\n margin-bottom: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--4xl {\n margin-bottom: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--5xl {\n margin-bottom: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mb--6xl {\n margin-bottom: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--4xs {\n margin-left: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--3xs {\n margin-left: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--2xs {\n margin-left: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--xs {\n margin-left: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--s {\n margin-left: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--m {\n margin-left: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--l {\n margin-left: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--xl {\n margin-left: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--2xl {\n margin-left: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--3xl {\n margin-left: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--4xl {\n margin-left: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--5xl {\n margin-left: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml--6xl {\n margin-left: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--4xs {\n margin-right: -5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--3xs {\n margin-right: -10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--2xs {\n margin-right: -15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--xs {\n margin-right: -20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--s {\n margin-right: -25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--m {\n margin-right: -30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--l {\n margin-right: -35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--xl {\n margin-right: -40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--2xl {\n margin-right: -45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--3xl {\n margin-right: -50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--4xl {\n margin-right: -55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--5xl {\n margin-right: -60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr--6xl {\n margin-right: -80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-zero {\n padding-top: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-4xs {\n padding-top: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-3xs {\n padding-top: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-2xs {\n padding-top: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-xs {\n padding-top: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-s {\n padding-top: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-m {\n padding-top: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-l {\n padding-top: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-xl {\n padding-top: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-2xl {\n padding-top: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-3xl {\n padding-top: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-4xl {\n padding-top: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-5xl {\n padding-top: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-6xl {\n padding-top: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-7xl {\n padding-top: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-8xl {\n padding-top: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-zero {\n padding-bottom: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-4xs {\n padding-bottom: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-3xs {\n padding-bottom: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-2xs {\n padding-bottom: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-xs {\n padding-bottom: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-s {\n padding-bottom: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-m {\n padding-bottom: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-l {\n padding-bottom: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-xl {\n padding-bottom: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-2xl {\n padding-bottom: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-3xl {\n padding-bottom: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-4xl {\n padding-bottom: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-5xl {\n padding-bottom: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-6xl {\n padding-bottom: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-7xl {\n padding-bottom: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-8xl {\n padding-bottom: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-zero {\n padding-left: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-4xs {\n padding-left: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-3xs {\n padding-left: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-2xs {\n padding-left: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-xs {\n padding-left: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-s {\n padding-left: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-m {\n padding-left: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-l {\n padding-left: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-xl {\n padding-left: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-2xl {\n padding-left: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-3xl {\n padding-left: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-4xl {\n padding-left: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-5xl {\n padding-left: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-6xl {\n padding-left: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-7xl {\n padding-left: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-8xl {\n padding-left: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-zero {\n padding-right: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-4xs {\n padding-right: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-3xs {\n padding-right: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-2xs {\n padding-right: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-xs {\n padding-right: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-s {\n padding-right: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-m {\n padding-right: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-l {\n padding-right: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-xl {\n padding-right: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-2xl {\n padding-right: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-3xl {\n padding-right: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-4xl {\n padding-right: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-5xl {\n padding-right: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-6xl {\n padding-right: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-7xl {\n padding-right: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-8xl {\n padding-right: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-zero {\n padding: 0 !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-4xs {\n padding: 5px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-3xs {\n padding: 10px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-2xs {\n padding: 15px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-xs {\n padding: 20px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-s {\n padding: 25px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-m {\n padding: 30px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-l {\n padding: 35px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-xl {\n padding: 40px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-2xl {\n padding: 45px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-3xl {\n padding: 50px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-4xl {\n padding: 55px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-5xl {\n padding: 60px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-6xl {\n padding: 80px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-7xl {\n padding: 100px !important;\n}\n:root:root:root sf-tooltip-element .-sf-p-8xl {\n padding: 120px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-8xs {\n padding-top: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-7xs {\n padding-top: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-6xs {\n padding-top: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pt-5xs {\n padding-top: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-8xs {\n padding-bottom: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-7xs {\n padding-bottom: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-6xs {\n padding-bottom: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pb-5xs {\n padding-bottom: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-8xs {\n padding-left: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-7xs {\n padding-left: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-6xs {\n padding-left: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pl-5xs {\n padding-left: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-8xs {\n padding-right: 1px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-7xs {\n padding-right: 2px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-6xs {\n padding-right: 3px !important;\n}\n:root:root:root sf-tooltip-element .-sf-pr-5xs {\n padding-right: 4px !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-auto {\n margin-left: auto !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-auto {\n margin-right: auto !important;\n}\n:root:root:root sf-tooltip-element .-sf-ml-50 {\n margin-left: 50% !important;\n}\n:root:root:root sf-tooltip-element .-sf-mr-50 {\n margin-right: 50% !important;\n}\n:root:root:root sf-tooltip-element .-sf-hidden {\n display: none !important;\n}\n:root:root:root sf-tooltip-element .-sf-invisible {\n visibility: hidden !important;\n}\n:root:root:root sf-tooltip-element .-sf-block {\n display: block !important;\n}\n:root:root:root sf-tooltip-element .-sf-inline-block {\n display: inline-block !important;\n}\n:root:root:root sf-tooltip-element .-sf-flex {\n display: flex !important;\n}\n:root:root:root sf-tooltip-element .-sf-inline-flex {\n display: inline-flex !important;\n}\n:root:root:root sf-tooltip-element .-sf-absolute {\n position: absolute !important;\n}\n:root:root:root sf-tooltip-element .-sf-relative {\n position: relative !important;\n}\n:root:root:root sf-tooltip-element .-sf-static {\n position: static !important;\n}\n:root:root:root sf-tooltip-element .-sf-transparent {\n opacity: 0;\n}\n:root:root:root sf-tooltip-element .-sf-align-self-center {\n align-self: center !important;\n}\n:root:root:root sf-tooltip-element .-sf-visually-hidden {\n padding: 0;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n}\n:root:root:root sf-tooltip-element .-sf-img-fit-cover {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n overflow: hidden;\n}\n:root:root:root sf-tooltip-element .-sf-rotate-90 {\n transform: rotate(90deg);\n}\n:root:root:root sf-tooltip-element .-sf-rotate--90 {\n transform: rotate(-90deg);\n}\n:root:root:root sf-tooltip-element .-sf-rotate-180 {\n transform: rotate(180deg);\n}\n:root:root:root sf-tooltip-element .-sf-disabled {\n pointer-events: none;\n cursor: default;\n}\n:root:root:root sf-tooltip-element .-sf-clickable {\n cursor: pointer;\n}\n:root:root:root sf-tooltip-element .-sf-cursor-text {\n cursor: text;\n}\n:root:root:root sf-tooltip-element .-sf-user-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n:root:root:root sf-tooltip-element .-sf-overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 100000000;\n}\n:root:root:root sf-tooltip-element .-sf-txt-hint {\n color: var(--secondary-text-color);\n}\n:root:root:root sf-tooltip-element .-sf-txt-dimmed {\n color: var(--secondary-text-color);\n}\n:root:root:root sf-tooltip-element .-sf-txt-success {\n color: var(--color-success);\n}\n:root:root:root sf-tooltip-element .-sf-txt-failure {\n color: var(--color-error);\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-left {\n text-align: left;\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-right {\n text-align: right;\n}\n:root:root:root sf-tooltip-element .-sf-txt-align-center {\n text-align: center;\n}\n:root:root:root sf-tooltip-element .-sf-txt-vertical-align-middle {\n vertical-align: middle;\n}\n:root:root:root sf-tooltip-element .-sf-txt-vertical-align-top {\n vertical-align: top;\n}\n:root:root:root sf-tooltip-element .-sf-txt-nowrap {\n white-space: nowrap;\n}\n:root:root:root sf-tooltip-element .-sf-txt-pre-wrap {\n white-space: pre-wrap;\n}\n:root:root:root sf-tooltip-element .-sf-txt-lower-case {\n text-transform: lowercase;\n}\n:root:root:root sf-tooltip-element .-sf-txt-upper-case {\n text-transform: uppercase;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-hidden {\n overflow: hidden;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-auto {\n overflow: auto;\n}\n:root:root:root sf-tooltip-element .-sf-txt-code {\n font-family: "Courier New Regular", "Courier New", Courier, monospace;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n:root:root:root sf-tooltip-element .-sf-wrap-ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n:root:root:root sf-tooltip-element .-sf-overflow-multiline-ellipsis {\n display: block;\n display: -webkit-box;\n word-break: break-all;\n max-height: 3em;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n:root:root:root sf-tooltip-element .-sf-word-break-all {\n word-break: break-all;\n}\n:root:root:root sf-tooltip-element .-sf-word-break-word {\n word-break: break-word;\n}\n:root:root:root sf-tooltip-element .-sf-direction-rtl {\n direction: rtl;\n text-align: right;\n}\n:root:root:root sf-tooltip-element .-sf-direction-ltr {\n direction: ltr;\n text-align: left;\n}\n:root:root:root sf-tooltip-element .-sf-txt-large {\n font-size: var(--font-size-lg);\n}\n:root:root:root sf-tooltip-element .-sf-txt-small {\n font-size: var(--font-size-h5);\n}\n:root:root:root sf-tooltip-element .-sf-txt-base {\n font-size: var(--font-size-base);\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n:root:root:root sf-tooltip-element .sf-help {\n white-space: normal;\n}\n:root:root:root sf-tooltip-element .sf-help__col1 {\n width: 195px;\n}\n:root:root:root sf-tooltip-element .sf-help__col2 {\n width: 150px;\n}\n:root:root:root sf-tooltip-element h4 {\n font-family: open_sanssemibold, Arial, Verdana, sans-serif;\n font-size: var(--font-size-h4-lg);\n}'],encapsulation:2}),TooltipComponent}()},function(e,t,n){"use strict";function coerceBoolean(e){return null!=e&&""+e!="false"}n.r(t),n.d(t,"coerceBoolean",(function(){return coerceBoolean}))},function(e,t,n){"use strict";n.r(t),n.d(t,"SfElementFactory",(function(){return r}));var o=n(2115),i=n(229),r=function(){function SfElementFactory(e,t){this.injector=e,this.resolver=t}return SfElementFactory.prototype.createCustomElementDefinition=function(e,t){void 0===t&&(t=null);var n=t;n||(n=this.resolver.resolveComponentFactory(e).selector+"-element");if(!customElements.get(n)){var i=Object(o.createCustomElement)(e,{injector:this.injector});i instanceof Function&&customElements.define(n,i)}},SfElementFactory.ɵfac=function SfElementFactory_Factory(e){return new(e||SfElementFactory)(i["ɵɵinject"](i.Injector),i["ɵɵinject"](i.ComponentFactoryResolver))},SfElementFactory.ɵprov=i["ɵɵdefineInjectable"]({token:SfElementFactory,factory:SfElementFactory.ɵfac}),SfElementFactory}()},,function(e,t,n){"use strict";n.r(t),n.d(t,"LOAD_EVENT",(function(){return d})),n.d(t,"ContextualHelpModule",(function(){return p}));var o=n(229),i=n(271),r=n(246),a=n(280),s=n(244),A=n(1696),l=n(131),c=n(278),d="sf-load-tooltips",p=function(){function ContextualHelpModule(e,t,n,o,i){if(i.getEnvironment()===a.environmentTypes.integration&&e.url!==r.stringConstants.EMPTY_STRING){t.onLoad.pipe(Object(l.debounceTime)(400)).subscribe((function(){var e=new Event(d);n.runOutsideAngular((function(){return o.dispatchEvent(e)}))}));var s=e.url+"/contextual-help",A=o.document.createElement("script");A.src=s,A.async=!0,o.document.body.appendChild(A)}}return ContextualHelpModule.ɵfac=function ContextualHelpModule_Factory(e){return new(e||ContextualHelpModule)(o["ɵɵinject"](i.Settings),o["ɵɵinject"](A.ContextualHelpService),o["ɵɵinject"](o.NgZone),o["ɵɵinject"](s.WINDOW_TOKEN),o["ɵɵinject"](c.EnvironmentService))},ContextualHelpModule.ɵmod=o["ɵɵdefineNgModule"]({type:ContextualHelpModule}),ContextualHelpModule.ɵinj=o["ɵɵdefineInjector"]({providers:[A.ContextualHelpService]}),ContextualHelpModule}()},function(e,t,n){"use strict";n.r(t),n.d(t,"PagesModule",(function(){return fe}));var o=n(1745),i=n(1569),r=n(1156),a=n(415),s=n(1795),A=n(1159),l=n(2118),c=n(2120),d=n(1170),p=n(2157),f=n(1186),u=n(2158),m=n(2162),g=n(1746),E=n(1188),h=n(2163),b=n(2161),C=n(1811),B=n(2159),k=n(2160),I=n(2119),v=n(1806),w=n(2166),_=n(1187),x=n(1190),y=n(2167),S=n(2165),T=n(1778),M=n(1747),D=n(1489),Q=n(1485),N=n(1481),R=n(1488),F=n(1487),O=n(1491),P=n(1506),U=n(1549),L=n(1484),z=n(1779),G=n(1551),H=n(1518),j=n(1782),Y=n(1547),V=n(1548),J=n(1819),W=n(1820),K=n(2168),X=n(1550),q=n(1543),Z=n(1542),$=n(1780),ee=n(2170),te=n(2171),ne=n(2172),oe=n(1784),ie=n(229),re=n(324),ae=n(1122),se=n(261),Ae=n(354),le=n(1107),ce=n(1121),de=n(1135),pe=n(1218),fe=function(){function PagesModule(){}return PagesModule.ɵfac=function PagesModule_Factory(e){return new(e||PagesModule)},PagesModule.ɵmod=ie["ɵɵdefineNgModule"]({type:PagesModule}),PagesModule.ɵinj=ie["ɵɵdefineInjector"]({providers:[r.PageResolver,A.PageService,g.ZoneEditor,h.PAGE_FIELDS_PROVIDER,l.PAGES_GRID_EXTENDER,K.TEMPLATES_GRID_EXTENDER,p.PAGES_OPERATION_FILTER,y.PAGES_EDIT_EXTENDER,u.PAGES_TWEAKS_HANDLER,m.PAGES_METADATA_HANDLER,ne.PAGE_TEMPLATES_EDIT_EXTENDER,E.HIERARCHICAL_PAGES_SERVICE,w.PAGES_FIELD_CHANGE_HANDLER,E.HierarchicalPagesService,M.PagesActionHandler,Q.ZoneEditorDomService,L.ZoneEditorTreeService,O.ZoneEditorContract,P.RendererService,H.WebFormsAndMvcRendererContract,U.DocumentEnhancerService,j.ZoneEditorCanDeactivate,$.ZoneEditorCompositeExtender,ee.ZONE_EDITOR_TEMPLATES_EDIT_EXTENDER],imports:[[a.FieldsModule,c.WidgetEditorModule,i.SharedModule,s.DynamicModulesModule]]}),PagesModule}();ie["ɵɵsetNgModuleScope"](fe,{declarations:[o.EditPageComponent,oe.EditPageTemplateComponent,d.ChangeTemplateComponent,I.SharePreviewLinkComponent,f.NavigationOptionsCompositeComponent,b.LocalizationStrategyComponent,C.PageViewComponent,B.SearchSiteCompositeComponent,k.AdvancedOptionsCompositeComponent,v.MarketingCellComponent,J.PersonalizedCellComponent,_.PageSelectorComponent,x.WebAddressComponent,S.SiteAndLanguageSelectorComponent,T.ZoneEditorComponent,D.InlineToolbarComponent,N.EnhancedPageComponent,R.EmptyWidgetComponent,F.AddWidgetComponent,X.FakeWidgetComponent,V.WidgetLabelComponent,Y.ErrorWidgetComponent,z.TreeSidebarComponent,G.WidgetPreviewComponent,W.BasedOnComponent,q.MobilePreviewComponent,Z.MobilePreviewResizerComponent,te.PageTempalteThumbnailComponent],imports:[a.FieldsModule,c.WidgetEditorModule,i.SharedModule,s.DynamicModulesModule]}),ie["ɵɵsetComponentScope"](f.NavigationOptionsCompositeComponent,[re["ɵangular_packages_forms_forms_ba"],re.NgControlStatusGroup,re.FormGroupDirective,ae.FormFieldWrapperComponent,re.NgControlStatus,re.FormControlName,re.FormControlDirective,se.NgIf,se.NgClass,Ae.SfButtonComponent,Ae.SfErrorComponent],[]),ie["ɵɵsetComponentScope"](_.PageSelectorComponent,[le.SelectorComponent],[]),ie["ɵɵsetComponentScope"](x.WebAddressComponent,[ce.EditableFieldsComponent],[]),ie["ɵɵsetComponentScope"](D.InlineToolbarComponent,[de.ActionMenuComponent,Ae.SfTrackFocusDirective],[]),ie["ɵɵsetComponentScope"](N.EnhancedPageComponent,[se.NgIf,pe.NotificationLoaderComponent],[Ae.SfSafePipe])},function(e,t,n){"use strict";n.r(t),n.d(t,"PagesGridExtender",(function(){return S})),n.d(t,"PAGES_GRID_EXTENDER",(function(){return T}));var o=n(259),i=n(229),r=n(11),a=n(131),s=n(245),A=n(262),l=n(317),c=n(1171),d=n(1397),p=n(361),f=n(319),u=n(1388),m=n(1139),g=n(1118),E=n(1177),h=n(271),b=n(1169),C=n(2119),B=n(1156),k=n(1180),I=n(1747),v=n(1392),w=n(1213),_=n(1174),x=n(268),y=n(315),S=function(e){function PagesGridExtender(t,n,o,i,r,a,s,A,l,c,d,p){var f=e.call(this,A,r,n,l,c,s,i,a)||this;return f.pagesCommonHandler=t,f.siteDataStore=o,f.bundleDataService=d,f.configService=p,f}return Object(o.__extends)(PagesGridExtender,e),PagesGridExtender.prototype.getExpandedNodeIds=function(e){var t=this;return this.siteDataStore.getValue().pipe(Object(a.map)((function(n){var o=n.SiteMapRootNodeId+e.entityData.metadata.setName;return t.settings.getExpandedNodeIds(o)})))},PagesGridExtender.prototype.setExpandedNodeIds=function(e){var t=this;this.siteDataStore.getValue().pipe(Object(a.tap)((function(n){var o=n.SiteMapRootNodeId+e.entityData.metadata.setName;return t.settings.setExpandedNodeIds(o,e.expandedIds)}))).subscribe()},PagesGridExtender.prototype.syncExpandedNodeIds=function(e){if(e.entityData.metadata.isSelfReferencing){var t=e.dataItems;if(e.expandedIds){var n=[].concat(e.expandedIds);this.iterateChildren(t,n),n.length>0&&n.forEach((function(t){var n=e.expandedIds.findIndex((function(e){return e===t}));e.expandedIds.splice(n,1)})),this.setExpandedNodeIds(e)}}},PagesGridExtender.prototype.isHierarchical=function(e){return!e.snapshot.queryParams[A.FILTER_PARAMS.FILTER]&&!e.snapshot.queryParams[A.FILTER_PARAMS.SEARCH]&&!e.snapshot.queryParams[A.FILTER_PARAMS.SORT]},PagesGridExtender.prototype.getVirtualizationOptions=function(e){var t=!1!==this.configService.externalConfig.virtualization&&this.isHierarchical(e),n=e.parent.snapshot.data.siteDataStore,o=Math.ceil(n.ContentCultures.length/6),i=60;return 2===o?i=93:o>2&&(i=93+36*(o-2)),{isVirtualized:t,nodeHeight:i}},PagesGridExtender.prototype.getChildren=function(e,t,n,o){var i=this;return this.dynamicItemStore.getItemList({action:"Default.Hierarchy(parentId='"+n.parentId+"',expandedPages=@param)?@param=[]",entityData:e}).pipe(Object(a.tap)((function(t){i.requestAndMapAdditionalColumns(t.dataItems,e,!1,o)}))).toPromise()},PagesGridExtender.prototype.getItemsData=function(e,t,n){return{entityData:e.snapshot.data.dynamicItems,action:"Default.Hierarchy(parentId='"+e.parent.snapshot.data.siteDataStore.SiteMapRootNodeId+"',expandedPages=@param)?@param="+JSON.stringify(n.expandedNodeIds||[]),dataFieldNames:t}},PagesGridExtender.prototype.isSupportedType=function(e){return e.metadata.setName===B.PAGES_ENTITY_SET_NAME},PagesGridExtender.prototype.tryHandleAction=function(t){var n=this,o=t.actionName;if(o===f.OPERATION_NAMES.template)return Object(r.of)(this.tryHandleChangeTemplateAction(t));if(o===f.OPERATION_NAMES.sharePreviewLink)return Object(r.of)(this.tryHandleSharePreviewLinkAction(t));if(o===k.COMMAND_NAMES.selectionChanged&&!this.pagesCommonHandler.isGroupOrRedirectingPage(t.item))return this.tryHandleAction({actionName:f.OPERATION_NAMES.editContent,item:t.item,route:t.route,grid:t.grid});return o===f.OPERATION_NAMES.create?this.pagesCommonHandler.navigateToEdit(t):o===f.OPERATION_NAMES.createChild?this.pagesCommonHandler.navigateToEdit({actionName:f.OPERATION_NAMES.editContent,item:l.DataItem.emptyItem(t.item),route:t.route,grid:t.grid,data:{parentId:t.item.key,prepopulatedFields:{ParentId:t.item.key}}}):o===f.OPERATION_NAMES.edit||o===f.OPERATION_NAMES.duplicate?this.pagesCommonHandler.navigateToTitleAndProperties(t).pipe(Object(a.map)((function(e){return!!e}))):e.prototype.tryHandleAction.call(this,t).pipe(Object(a.switchMap)((function(e){return e?Object(r.of)(e):n.pagesCommonHandler.tryHandleAction(t)})))},PagesGridExtender.prototype.hideLoadMore=function(e,t){return this.isHierarchical(e)},PagesGridExtender.prototype.requestAndMapAdditionalColumns=function(e,t,n,o){var i=this;if(o.find((function(e){return"Analytics"===e.name}))){var r=e.filter((function(e){return e.isTranslated}));this.siteDataStore.getValue().subscribe((function(e){i.bundleDataService.requestSingle(r,t,v.BUNDLE_DATA_OPERATIONS.ANALYTICS,e.Id,n)}))}},PagesGridExtender.prototype.tryHandleChangeTemplateAction=function(e){var t=this,n={currentRoute:e.route,data:{selectedItems:e.item.data?[e.item]:[],entityData:e.item},model:null};return new b.ChangeTemplateCommand(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n).subscribe((function(){t.reloadService.requestReload()})),!0},PagesGridExtender.prototype.tryHandleSharePreviewLinkAction=function(e){var t=[new g.ConfirmButton(p.SelectorConstants.COPY_LINK,(function(e){return Object(s.copyTextToClipboard)(e.component.previewLink),new g.ClickResult(e,!0)})),new g.CancelButton(p.SelectorConstants.CANCEL)],n={type:C.SharePreviewLinkComponent,properties:{dataItem:e.item}},o=new g.DialogData(n,void 0,t);return this.modalWindowService.setMapping(o),this.modalWindowService.open(e.route),!0},PagesGridExtender.prototype.iterateChildren=function(e,t){var n=this;e.forEach((function(e){if(e.hasChildren){var o=t.findIndex((function(t){return t===e.key}));-1!==o&&t.splice(o,1),n.iterateChildren(e.children,t)}}))},PagesGridExtender.ɵfac=function PagesGridExtender_Factory(e){return new(e||PagesGridExtender)(i["ɵɵinject"](I.PagesActionHandler),i["ɵɵinject"](h.Settings),i["ɵɵinject"](m.SiteDataStore),i["ɵɵinject"](g.ModalWindowService),i["ɵɵinject"](c.DynamicItemStore),i["ɵɵinject"](E.NOTIFICATION_SERVICE),i["ɵɵinject"](d.GridReloadService),i["ɵɵinject"](x.ContentFilterService),i["ɵɵinject"](_.SortService),i["ɵɵinject"](w.BackendTweaksStore),i["ɵɵinject"](v.BundleDataService),i["ɵɵinject"](y.ExternalAppConfigService))},PagesGridExtender.ɵprov=i["ɵɵdefineInjectable"]({token:PagesGridExtender,factory:PagesGridExtender.ɵfac}),PagesGridExtender}(u.GridExtenderBase),T={multi:!0,provide:u.GRID_EXTENDER_TOKEN,useClass:S}},function(e,t,n){"use strict";n.r(t),n.d(t,"SharePreviewLinkComponent",(function(){return c}));var o=n(259),i=(n(317),n(316)),r=n(264),a=n(229),s=n(354),A=n(1138),l=n(324);function SharePreviewLinkComponent_ng_template_5_Template(e,t){if(1&e&&(a["ɵɵelementStart"](0,"p",5),a["ɵɵtext"](1),a["ɵɵelementEnd"](),a["ɵɵelementStart"](2,"p",6),a["ɵɵtext"](3,"Anyone with this link can view the page."),a["ɵɵelementEnd"](),a["ɵɵelementStart"](4,"div"),a["ɵɵelement"](5,"sf-input",7),a["ɵɵelementEnd"]()),2&e){var n=a["ɵɵnextContext"]();a["ɵɵadvance"](1),a["ɵɵtextInterpolate"](n.expirationMessage),a["ɵɵadvance"](4),a["ɵɵproperty"]("ngModel",n.previewLink)}}var c=function(e){function SharePreviewLinkComponent(t){var n=e.call(this)||this;return n.itemService=t,n.isLoading=!0,n}return Object(o.__extends)(SharePreviewLinkComponent,e),SharePreviewLinkComponent.prototype.ngOnInit=function(){this.getPreviewLink()},SharePreviewLinkComponent.prototype.getPreviewLink=function(){var e=this,t=this.itemService.executeBoundFunction(this.dataItem,"Default.SharePreviewLink").subscribe((function(t){e.previewLink=t.PreviewLink,e.expirationMessage=t.ExpirationMessage,e.isLoading=!1}));this.registerSubscription(t)},SharePreviewLinkComponent.ɵfac=function SharePreviewLinkComponent_Factory(e){return new(e||SharePreviewLinkComponent)(a["ɵɵdirectiveInject"](i.DynamicItemService))},SharePreviewLinkComponent.ɵcmp=a["ɵɵdefineComponent"]({type:SharePreviewLinkComponent,selectors:[["sf-share-preview-link"]],inputs:{dataItem:"dataItem"},features:[a["ɵɵInheritDefinitionFeature"]],decls:7,vars:3,consts:[["name","share-alt","look","illustrative"],[1,"-sf-mb-m","-sf-mt-m"],[1,"sf-form","-medium","-sf-ml-auto","-sf-mr-auto"],["look","skeleton list sequence",3,"isLoading","count","content"],["linkTemplate",""],["data-sftest","sf-subtitle-one",1,"-sf-txt-large","-sf-mt-zero","-sf-mb-s","-sf-mt--s"],["data-sftest","sf-subtitle-two",1,"-sf-txt-large","-sf-mt-zero","-sf-mb-s","-sf-mt--s"],["readonly","true","look","bordered",3,"ngModel"]],template:function SharePreviewLinkComponent_Template(e,t){if(1&e&&(a["ɵɵelement"](0,"sf-icon",0),a["ɵɵelementStart"](1,"h1",1),a["ɵɵtext"](2,"Share preview link"),a["ɵɵelementEnd"](),a["ɵɵelementStart"](3,"div",2),a["ɵɵelement"](4,"sf-loader-wrapper",3),a["ɵɵelementEnd"](),a["ɵɵtemplate"](5,SharePreviewLinkComponent_ng_template_5_Template,6,2,"ng-template",null,4,a["ɵɵtemplateRefExtractor"])),2&e){var n=a["ɵɵreference"](6);a["ɵɵadvance"](4),a["ɵɵproperty"]("isLoading",t.isLoading)("count",5)("content",n)}},directives:[s.SfIconComponent,A.LoaderWrapperComponent,s.SfInputComponent,l.NgControlStatus,l.NgModel],encapsulation:2}),SharePreviewLinkComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"WidgetEditorModule",(function(){return L}));var o=n(261),i=n(283),r=n(1496),a=n(1569),s=n(415),A=n(2121),l=n(1492),c=n(1505),d=n(1493),p=n(2132),f=n(2133),u=n(2135),m=n(2136),g=n(2137),E=n(2138),h=n(1191),b=n(1213),C=n(2139),B=n(1500),k=n(2140),I=n(2141),v=n(2142),w=n(2144),_=n(2147),x=n(2148),y=n(2151),S=n(2154),T=n(2134),M=n(2149),D=n(2156),Q=n(229),N=n(1175),R=n(1121),F=n(1630),O=n(1138),P=n(354),U=n(1135),L=function(){function WidgetEditorModule(){}return WidgetEditorModule.ɵfac=function WidgetEditorModule_Factory(e){return new(e||WidgetEditorModule)},WidgetEditorModule.ɵmod=Q["ɵɵdefineNgModule"]({type:WidgetEditorModule}),WidgetEditorModule.ɵinj=Q["ɵɵdefineInjector"]({providers:[h.BackendTweaksService,b.BackendTweaksStore,l.WidgetPropertyEditorService,B.PropertyValueParserService,c.CustomViewRegistrationProvider,p.YES_NO_FIELD_PROVIDER,f.ENUM_FIELD_PROVIDER,u.DATE_FIELD_PROVIDER,I.NUMBER_FIELD_PROVIDER,g.SECTION_WIDGET_VIEW_TOKEN,C.CUSTOM_SIZE_FIELD_PROVIDER,M.CONTENT_WIDGET_FIELD_CHANGE_HANDLER],imports:[[o.CommonModule,a.SharedModule,s.FieldsModule,i.HttpClientModule,A.ContentBlockEditorModule]]}),WidgetEditorModule}();Q["ɵɵsetNgModuleScope"](L,{declarations:[r.BasicEditorViewComponent,m.ComplexComponent,k.ContentSelectorComponent,v.FilterContentSelectorComponent,w.DateTimeSelectorComponent,_.ListSettingsComponent,y.ListFieldMappingsComponent,D.ListFieldMappingsCssComponent,d.WidgetEditorComponent,E.ColumnsProportionsComponent,x.ChoiceServiceUrlComponent,S.ParameterizedChoiceSelectorComponent,T.ViewSelectorComponent],imports:[o.CommonModule,a.SharedModule,s.FieldsModule,i.HttpClientModule,A.ContentBlockEditorModule]}),Q["ɵɵsetComponentScope"](r.BasicEditorViewComponent,[o.NgIf,N.StickyComponent,R.EditableFieldsComponent],[o.AsyncPipe]),Q["ɵɵsetComponentScope"](m.ComplexComponent,[o.NgIf,R.EditableFieldsComponent,F.EditableTableComponent],[]),Q["ɵɵsetComponentScope"](k.ContentSelectorComponent,[o.NgIf,R.EditableFieldsComponent],[]),Q["ɵɵsetComponentScope"](d.WidgetEditorComponent,[O.LoaderWrapperComponent,o.NgIf,P.SfNotificationComponent,P.SfTrackFocusDirective,P.SfDynamicComponentLoaderComponent,U.ActionMenuComponent],[o.AsyncPipe])},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentBlockEditorModule",(function(){return m}));var o=n(261),i=n(283),r=n(1569),a=n(415),s=n(2122),A=n(2060),l=n(2126),c=n(2127),d=n(2128),p=n(2129),f=n(2131),u=n(229),m=function(){function ContentBlockEditorModule(){}return ContentBlockEditorModule.ɵfac=function ContentBlockEditorModule_Factory(e){return new(e||ContentBlockEditorModule)},ContentBlockEditorModule.ɵmod=u["ɵɵdefineNgModule"]({type:ContentBlockEditorModule}),ContentBlockEditorModule.ɵinj=u["ɵɵdefineInjector"]({providers:[p.CONTENT_BLOCK_WIDGET_VIEW_TOKEN],imports:[[o.CommonModule,r.SharedModule,a.FieldsModule,A.HtmlModule,i.HttpClientModule]]}),ContentBlockEditorModule}();u["ɵɵsetNgModuleScope"](m,{declarations:[l.ShareComponent,c.UseSharedComponent,d.UnshareComponent,f.NotShareableComponent,s.ContentBlockBasicComponent],imports:[o.CommonModule,r.SharedModule,a.FieldsModule,A.HtmlModule,i.HttpClientModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentBlockBasicComponent",(function(){return w}));var o=n(259),i=n(229),r=(n(1698),n(317)),a=n(260),s=n(316),A=n(11),l=n(246),c=n(2123),d=n(264),p=(n(1497),n(1495)),f=n(356),u=(n(2124),n(319)),m=n(2125),g=n(372),E=n(352),h=n(131),b=n(261),C=n(1699),B=n(354),k=n(324),I=n(1633),v=["htmlWrapper"];function ContentBlockBasicComponent_header_0_sf_content_blocks_notification_3_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-content-blocks-notification",9),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("item$",n.contentItem$.asObservable())}}function ContentBlockBasicComponent_header_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"header",5),i["ɵɵelementStart"](1,"h1",6),i["ɵɵtext"](2),i["ɵɵelementEnd"](),i["ɵɵtemplate"](3,ContentBlockBasicComponent_header_0_sf_content_blocks_notification_3_Template,1,1,"sf-content-blocks-notification",7),i["ɵɵelement"](4,"sf-input",8),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](2),i["ɵɵtextInterpolate"](n.contentBlockHeader),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.isShared&&n.contentItem),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngModel",n.contentBlockHeader)}}function ContentBlockBasicComponent_div_5_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",10),i["ɵɵelementStart"](1,"div",11),i["ɵɵelement"](2,"sf-icon",12),i["ɵɵelementStart"](3,"h1",13),i["ɵɵtext"](4,"Shared content block is disabled"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](5,"div",14),i["ɵɵtext"](6," To edit or use shared content blocks you must enable Generic Content for this site. "),i["ɵɵelement"](7,"br"),i["ɵɵtext"](8," Go to Manage sites > Configure modules or contact your administrator. "),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]())}var w=function(e){function ContentBlockBasicComponent(t,n,o,i){var r=e.call(this)||this;return r.dynamicItemService=t,r.route=n,r.document=o,r.renderer=i,r.notifyStatusChange$=new A.Subject,r.contentBlockHeader=c.ContentBlockConstants.CONTENT_BLOCK,r.initializationFailed=!1,r.contentItem$=new A.ReplaySubject(1),r.isLocked=!1,r.headerShortTextSettings=new f.ShortTextDefaultSettings("headingKey",!0),r.footerButtonsClass="-bottom",r.htmlWrapperKey="htmlWrapper",r}return Object(o.__extends)(ContentBlockBasicComponent,e),Object.defineProperty(ContentBlockBasicComponent.prototype,"contentItem",{get:function(){return this._contentItem},set:function(e){this._contentItem=e,this.contentItem$.next(e)},enumerable:!1,configurable:!0}),ContentBlockBasicComponent.prototype.initialize=function(e){this.providerName=e.propertyValues[c.ContentBlockConstants.PROVIER_NAME],this.renderer.addClass(this.document.body,"-sf-content-block-open");var t=new m.HtmlSettings(this.htmlWrapperKey,[]);t.culture=this.context.culture,this.htmlWrapperComponent.sfHtml.settings=t,this.headerShortTextSettings.look="small";var n=e.propertyValues;return this.html=n[c.ContentBlockConstants.CONTENT],this.sharedContentID=n[c.ContentBlockConstants.SHARED_CONTENT_ID],this.htmlWrapperComponent.sfHtml.editor.editorComponentConfig={collapsible:!1,alwaysShowToolbar:!0},this.updateContentValue()},ContentBlockBasicComponent.prototype.setValues=function(e){this.providerName=e[c.ContentBlockConstants.PROVIER_NAME],this.html=e[c.ContentBlockConstants.CONTENT],this.sharedContentID=e[c.ContentBlockConstants.SHARED_CONTENT_ID],this.updateContentValue()},ContentBlockBasicComponent.prototype.validate=function(){return this.htmlWrapperComponent.status$.asObservable().pipe(Object(h.map)((function(e){return{isValid:e.type!==E.StatusType.Pending,message:"Waiting for media upload."}})))},ContentBlockBasicComponent.prototype.getModifiedProperties=function(){var e=[];return this.sharedContentID&&e.push({Name:c.ContentBlockConstants.SHARED_CONTENT_ID,Value:this.sharedContentID}),e.push({Name:c.ContentBlockConstants.CONTENT,Value:this.htmlWrapperComponent.sfHtml.value}),e},ContentBlockBasicComponent.prototype.actionExecuting=function(e){return e.processChanges?this.updateContentItem():this.unlockContentItem()},ContentBlockBasicComponent.prototype.getActions=function(){return this.initializationFailed?{operations:[],cssClass:this.footerButtonsClass}:{operations:null,cssClass:this.footerButtonsClass}},ContentBlockBasicComponent.prototype.ngOnDestroy=function(){this.renderer.removeClass(this.document.body,"-sf-content-block-open")},ContentBlockBasicComponent.prototype.updateContentValue=function(){var e=this,t=new A.ReplaySubject(1);if(this.isShared=this.sharedContentID&&this.sharedContentID!==l.stringConstants.DEFAULT_GUID,this.headingCssClass=this.isShared?"-sf-txt-align-center -sf-pt-3xs":"-sf-txt-align-center -sf-pt-3xl",this.isShared&&!this.contentItem){var n=Object(o.__assign)(Object(o.__assign)({},this.getEntityData()),{provider:null});if(n.metadata){var i=this.dynamicItemService.executeBoundFunction(r.DataItem.fromEntityData(null,n),"Default.GetItemById(itemId="+this.sharedContentID+")",["Title","Content"]).subscribe((function(n){e.contentItem=r.DataItem.fromEntityData(n,e.getEntityData()),e.contentItem&&(e.html=e.contentItem.data.Content,e.updateEditorValue(),e.htmlWrapperComponent.registerOnChange((function(){return e.lockContentItem()}))),t.next()}),(function(){e.html=l.stringConstants.EMPTY_STRING,e.sharedContentID=l.stringConstants.DEFAULT_GUID,e.updateEditorValue(),t.next()}));this.registerSubscription(i)}else this.initializationFailed=!0,t.next()}else this.updateEditorValue(),t.next();return t.asObservable()},ContentBlockBasicComponent.prototype.updateEditorValue=function(){this.isShared=this.sharedContentID&&this.sharedContentID!==l.stringConstants.DEFAULT_GUID,this.htmlWrapperComponent.value=this.html,this.focus()},ContentBlockBasicComponent.prototype.lockContentItem=function(){var e=this;if(!this.isLocked&&this.contentItem){var t=new p.FeedbackInfo;t.showLoadingIndicator=!0,this.notifyStatusChange$.next(t);var n=this.dynamicItemService.updateItem({dataItem:this.contentItem,data:{}}).subscribe((function(){e.isLocked=!0,t.reset(),e.notifyStatusChange$.next(t)}),(function(n){t.setError(n),e.notifyStatusChange$.next(t)}));this.registerSubscription(n)}},ContentBlockBasicComponent.prototype.unlockContentItem=function(){return this.isLocked&&this.contentItem?this.dynamicItemService.unlockItem(this.contentItem):Object(A.of)(void 0)},ContentBlockBasicComponent.prototype.updateContentItem=function(){var e,t;if(this.isLocked&&this.contentItem){var n=!((null===(t=null===(e=this.contentItem)||void 0===e?void 0:e.data)||void 0===t?void 0:t.AvailableLanguages)||[]).includes(this.contentItem.culture)&&!!this.sharedContentID,o={Content:this.htmlWrapperComponent.sfHtml.value};if(n){var i=this.contentItem.metadata.defaultFieldName;o[i]=this.contentItem.data[i]}return this.dynamicItemService.updateItem({dataItem:this.contentItem,data:o,operation:{action:u.OPERATION_NAMES.publish}})}return Object(A.of)([])},ContentBlockBasicComponent.prototype.getEntityData=function(){var e=this.route.parent.snapshot.data.metaStore.entities[c.ContentBlockConstants.ENTITY_NAME];return{culture:this.context.culture,provider:this.providerName,metadata:e}},ContentBlockBasicComponent.prototype.focus=function(){var e=this,t=this.htmlWrapperComponent.sfHtml.editor.isReady$.subscribe((function(t){t&&e.htmlWrapperComponent.onFocus()}));this.registerSubscription(t)},ContentBlockBasicComponent.ɵfac=function ContentBlockBasicComponent_Factory(e){return new(e||ContentBlockBasicComponent)(i["ɵɵdirectiveInject"](s.DynamicItemService),i["ɵɵdirectiveInject"](a.ActivatedRoute),i["ɵɵdirectiveInject"](g.DOCUMENT_TOKEN),i["ɵɵdirectiveInject"](i.Renderer2))},ContentBlockBasicComponent.ɵcmp=i["ɵɵdefineComponent"]({type:ContentBlockBasicComponent,selectors:[["sf-content-editor"]],viewQuery:function ContentBlockBasicComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](v,3),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.htmlWrapperComponent=n.first)}},features:[i["ɵɵInheritDefinitionFeature"]],decls:6,vars:3,consts:[["class","sf-row sf-top-toolbar -sf-pl-xs -zindex-sm -align-items-center",4,"ngIf"],[1,"-sf-overflow-y-auto","sf-content-block","-sf-mt-4xs",3,"hidden"],[1,"sf-form","-sf-centered-box","-sf-pb-zero","-sf-txt-align-left","-sf-txt-large","-sf-mt-8xl"],["htmlWrapper",""],["class","sf-content-block -centered sf-row -align-items-center -justify-content-center",4,"ngIf"],[1,"sf-row","sf-top-toolbar","-sf-pl-xs","-zindex-sm","-align-items-center"],[1,"h3"],["class","-sf-ml-auto -sf-mr-auto",3,"item$",4,"ngIf"],["type","title","look","small",1,"-sf-mr-2xs","-auto-width","-sf-invisible",3,"ngModel"],[1,"-sf-ml-auto","-sf-mr-auto",3,"item$"],[1,"sf-content-block","-centered","sf-row","-align-items-center","-justify-content-center"],[1,"-sf-pl-3xl","-sf-pr-3xl"],["look","illustrative sf-mt-s","name","times"],[1,"-sf-txt-align-center"],[1,"sf-form","-small","-sf-centered-box","-sf-txt-large"]],template:function ContentBlockBasicComponent_Template(e,t){1&e&&(i["ɵɵtemplate"](0,ContentBlockBasicComponent_header_0_Template,5,3,"header",0),i["ɵɵelementStart"](1,"div",1),i["ɵɵelementStart"](2,"div",2),i["ɵɵelement"](3,"sf-wrapper-html",null,3),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵtemplate"](5,ContentBlockBasicComponent_div_5_Template,9,0,"div",4)),2&e&&(i["ɵɵproperty"]("ngIf",!t.initializationFailed),i["ɵɵadvance"](1),i["ɵɵproperty"]("hidden",t.initializationFailed),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.initializationFailed))},directives:[b.NgIf,C.HtmlWrapperComponent,B.SfInputComponent,k.NgControlStatus,k.NgModel,I.ContentBlocksNotificationComponent,B.SfIconComponent],styles:["@-webkit-keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@keyframes floatingText {\n 0% {\n transform: translate(0);\n }\n 50% {\n transform: translate(calc(-100% + 26px/2));\n }\n 100% {\n transform: translate(0);\n }\n}\n@-webkit-keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@keyframes loader {\n 40% {\n opacity: 1;\n }\n}\n@-webkit-keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@keyframes loadingProgressbar {\n from {\n transform: scaleX(0);\n }\n 50% {\n transform: scaleX(1);\n }\n to {\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n@keyframes loadingSkeleton {\n 0% {\n opacity: 0.7;\n }\n 50% {\n opacity: 0.8;\n }\n 100% {\n opacity: 0.9;\n }\n}\n:root .k-editor-widget:not(table).k-widget.k-window-titleless {\n top: 46px !important;\n}\n:root .k-editor-widget:not(table) .k-editor-toolbar .k-group-start.k-group-end .k-icon.k-i-html {\n position: relative;\n margin-left: -3px;\n top: auto;\n right: auto;\n border-right: 1px solid #e4e4e4;\n border-left: 0;\n}\n:root .k-editor-widget:not(table) .k-editor-toolbar .k-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n text-indent: 0;\n overflow: visible;\n}\n:root .k-editor-widget:not(table) .k-editor-toolbar .k-icon:before {\n position: static;\n}\n.-sf-modal-window-open .sfPageEditor.-sf-content-block-open:not(.-sf-editor-hidden) {\n overflow: hidden !important;\n}\n.sf-content-block {\n height: calc(100vh - 67px);\n overflow-x: hidden;\n overflow-y: auto;\n}\n.sf-content-block .sf-input.-rich-text {\n margin-bottom: 0;\n min-height: inherit;\n}\n.sf-content-block .k-editor.sf-editor {\n min-height: calc(calc(100vh - 67px) - 10px - 170px);\n}\n.sf-content-block.-centered {\n height: 100vh;\n}\n.sf-content-block .k-editor:hover, .sf-content-block .k-editor:focus, .sf-content-block .k-editor-inline:hover, .sf-content-block .k-editor-inline:focus {\n box-shadow: none;\n}\n.sf-widget-editor__error {\n position: relative;\n z-index: 100;\n}"],encapsulation:2}),ContentBlockBasicComponent}(d.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentBlockConstants",(function(){return o}));var o=function(){function ContentBlockConstants(){}return ContentBlockConstants.CONTENT="Content",ContentBlockConstants.SHARED_CONTENT_ID="SharedContentID",ContentBlockConstants.PROVIER_NAME="ProviderName",ContentBlockConstants.ENTITY_NAME="contentitems",ContentBlockConstants.CONTENT_BLOCK="Content block",ContentBlockConstants}()},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t),n.d(t,"HTML_COMPONENTS",(function(){return a}));var o=n(1700),i=n(2061),r=n(1734);n.d(t,"HtmlSettings",(function(){return r.HtmlSettings})),n.d(t,"HtmlComponent",(function(){return o.HtmlComponent}));var a=[o.HtmlComponent,i.HtmlReadModeComponent]},function(e,t,n){"use strict";n.r(t),n.d(t,"ShareComponent",(function(){return m}));var o=n(259),i=n(11),r=n(316),a=n(1204),s=n(269),A=n(2123),l=n(246),c=n(264),d=(n(1497),n(131)),p=n(229),f=n(354),u=n(324),m=function(e){function ShareComponent(t,n){var o=e.call(this)||this;return o.dynamicItemService=t,o.metadataStore=n,o.shareContentName=a.PropertyEditorConstants.SHARE_CONTENT,o.sharedName=l.stringConstants.EMPTY_STRING,o}return Object(o.__extends)(ShareComponent,e),ShareComponent.prototype.initialize=function(e){return this.allProperties=e.propertyValues,Object(i.of)(void 0)},ShareComponent.prototype.setValues=function(e){this.allProperties=e},ShareComponent.prototype.validate=function(){return this.sharedName&&this.sharedName.length>0?Object(i.of)({isValid:!0}):Object(i.throwError)({message:"Title cannot be empty!"})},ShareComponent.prototype.getModifiedProperties=function(){var e=[];return this.contentItem&&e.push({Name:A.ContentBlockConstants.SHARED_CONTENT_ID,Value:this.contentItem.data.Id}),e},ShareComponent.prototype.actionExecuting=function(e){var t=this;if(e.processChanges){var n=this.allProperties[A.ContentBlockConstants.CONTENT],o=this.allProperties[A.ContentBlockConstants.PROVIER_NAME];return this.createItem(n,o).pipe(Object(d.tap)((function(e){t.contentItem=e})),Object(d.map)((function(e){})))}return Object(i.of)(void 0)},ShareComponent.prototype.getActions=function(){return{operations:[{Title:a.PropertyEditorConstants.SHARE_CONTENT,Category:{Name:"default"},Name:a.PropertyEditorViewModes.SHARE,Ordinal:-1,Description:l.stringConstants.EMPTY_STRING,Link:l.stringConstants.EMPTY_STRING,Parameters:null,RequiresConfirmation:!1}],cssClass:l.stringConstants.EMPTY_STRING}},ShareComponent.prototype.createItem=function(e,t){var n=this.metadataStore.getEntity(A.ContentBlockConstants.ENTITY_NAME),o={culture:this.context.culture,provider:t,metadata:n};return this.dynamicItemService.createItem({data:{Title:this.sharedName,Content:e},entityData:o})},ShareComponent.ɵfac=function ShareComponent_Factory(e){return new(e||ShareComponent)(p["ɵɵdirectiveInject"](r.DynamicItemService),p["ɵɵdirectiveInject"](s.MetadataStore))},ShareComponent.ɵcmp=p["ɵɵdefineComponent"]({type:ShareComponent,selectors:[["sf-share-view"]],features:[p["ɵɵInheritDefinitionFeature"]],decls:5,vars:2,consts:[["look","illustrative sf-mt-s","name","share-alt"],[1,"-sf-mb-xs","-sf-mt-m"],[1,"sf-form","-small","-sf-centered-box","-sf-txt-align-left"],["look","shrinked","placeholder","type a title of this content block...",3,"ngModel","ngModelChange"]],template:function ShareComponent_Template(e,t){1&e&&(p["ɵɵelement"](0,"sf-icon",0),p["ɵɵelementStart"](1,"h1",1),p["ɵɵtext"](2),p["ɵɵelementEnd"](),p["ɵɵelementStart"](3,"div",2),p["ɵɵelementStart"](4,"sf-input",3),p["ɵɵlistener"]("ngModelChange",(function ShareComponent_Template_sf_input_ngModelChange_4_listener(e){return t.sharedName=e})),p["ɵɵelementEnd"](),p["ɵɵelementEnd"]()),2&e&&(p["ɵɵadvance"](2),p["ɵɵtextInterpolate"](t.shareContentName),p["ɵɵadvance"](2),p["ɵɵproperty"]("ngModel",t.sharedName))},directives:[f.SfIconComponent,f.SfInputComponent,u.NgControlStatus,u.NgModel],encapsulation:2}),ShareComponent}(c.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"UseSharedComponent",(function(){return _}));var o=n(259),i=n(1495),r=n(11),a=n(1107),s=n(316),A=n(131),l=n(269),c=n(361),d=n(1141),p=n(1147),f=n(1204),u=n(2123),m=n(246),g=n(264),E=(n(1497),n(271)),h=n(1392),b=n(260),C=n(229),B=n(261),k=n(324),I=n(1631),v=n(265),w=n(1101);function UseSharedComponent_sf_dropdown_list_choice_2_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementStart"](0,"sf-dropdown-list-choice",4),C["ɵɵlistener"]("ngModelChange",(function UseSharedComponent_sf_dropdown_list_choice_2_Template_sf_dropdown_list_choice_ngModelChange_0_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().providerName=e}))("selectionChange",(function UseSharedComponent_sf_dropdown_list_choice_2_Template_sf_dropdown_list_choice_selectionChange_0_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().onProviderSelectionChange(e)})),C["ɵɵelementEnd"]()}if(2&e){var o=C["ɵɵnextContext"]();C["ɵɵproperty"]("ngModel",o.providerName)("settings",o.providerSettings)}}function UseSharedComponent_sf_show_all_3_Template(e,t){if(1&e){var n=C["ɵɵgetCurrentView"]();C["ɵɵelementStart"](0,"sf-show-all",5),C["ɵɵlistener"]("newItemSelected",(function UseSharedComponent_sf_show_all_3_Template_sf_show_all_newItemSelected_0_listener(e){return C["ɵɵrestoreView"](n),C["ɵɵnextContext"]().onSelectedItemChanged(e)})),C["ɵɵelementEnd"]()}if(2&e){var o=C["ɵɵnextContext"](),i=C["ɵɵreference"](5);C["ɵɵproperty"]("value",o.value)("selected",o.selectedItem)("serviceAware",o.serviceAware)("typeNames",o.typeNames)("treeConfig",o.treeConfig)("itemTemplate",i)}}var _c0=function(e){return{dataItem:e}};function UseSharedComponent_ng_template_4_Template(e,t){if(1&e&&(C["ɵɵelementStart"](0,"div",6),C["ɵɵelement"](1,"span",7),C["ɵɵpipe"](2,"sfBoldText"),C["ɵɵpipe"](3,"sfHtmlEscape"),C["ɵɵelement"](4,"sf-shared-in",8),C["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.textToMatch,i=t.textMatchType;C["ɵɵadvance"](1),C["ɵɵproperty"]("innerHTML",C["ɵɵpipeBind3"](2,4,C["ɵɵpipeBind1"](3,8,n.data.dataItem.title),o,i),C["ɵɵsanitizeHtml"]),C["ɵɵadvance"](3),C["ɵɵproperty"]("context",C["ɵɵpureFunction1"](10,_c0,n.data.dataItem))("showBadge",!1)("showNotUsedLabel",!0)}}var _=function(e){function UseSharedComponent(t,n,o,i,a,s){var A=e.call(this)||this;return A.dynamicService=t,A.metadataStore=n,A.store=o,A.settings=i,A.bundleDataService=a,A.route=s,A.notifyStatusChange$=new r.Subject,A.selectedItem=[],A.treeConfig={multiSelection:!1,status:!1,description:!0,skipNodeMappingToDefaultModel:!0},A.typeNames={plural:"shared content"},A.selectSharedTitle=f.PropertyEditorConstants.SELECT_SHARED_TITLE,A.footerButtonsClass="-bottom",A.selectedItemId=m.stringConstants.EMPTY_STRING,A}return Object(o.__extends)(UseSharedComponent,e),UseSharedComponent.prototype.initialize=function(e){var t=this;return this.cbData=e.propertyValues,this.loadInitialModalItems(this.cbData).then((function(e){if(t.value=e||[],t.selectedItemId){var n=e.find((function(e){return e.dataItem.key===t.selectedItemId}));t.selectedItem=n?[n]:[]}else if(e&&e.length>0){n=e[0];t.selectedItem=n?[n]:[]}return t.value})),this.serviceAware=new a.ServiceContract((function(e){return t.loadMoreModalItems(e,t.cbData)}),(function(e){return t.loadMoreModalItems(e,t.cbData)})),Object(r.of)(void 0)},UseSharedComponent.prototype.setValues=function(e){var t=this;this.cbData=e,this.loadInitialModalItems(this.cbData).then((function(e){if(t.value=e||[],t.selectedItemId){var n=e.find((function(e){return e.dataItem.key===t.selectedItemId}));t.selectedItem=n?[n]:[]}else if(e&&e.length>0){n=e[0];t.selectedItem=n?[n]:[]}return t.value}))},UseSharedComponent.prototype.validate=function(){return Object(r.of)({isValid:!0})},UseSharedComponent.prototype.getModifiedProperties=function(){var e=[];return this.selectedItem&&1===this.selectedItem.length&&(this.cbData[u.ContentBlockConstants.SHARED_CONTENT_ID]=this.selectedItem[0].dataItem.key,this.cbData[u.ContentBlockConstants.PROVIER_NAME]=this.selectedItem[0].dataItem.provider,this.cbData[u.ContentBlockConstants.CONTENT]=this.selectedItem[0].dataItem.data.Content,e.push({Name:u.ContentBlockConstants.SHARED_CONTENT_ID,Value:this.cbData[u.ContentBlockConstants.SHARED_CONTENT_ID]}),e.push({Name:u.ContentBlockConstants.PROVIER_NAME,Value:this.cbData[u.ContentBlockConstants.PROVIER_NAME]}),e.push({Name:u.ContentBlockConstants.CONTENT,Value:this.cbData[u.ContentBlockConstants.CONTENT]})),e},UseSharedComponent.prototype.actionExecuting=function(e){return Object(r.of)(void 0)},UseSharedComponent.prototype.getActions=function(){return{operations:[{Title:c.SelectorConstants.USE_SELECTED,Category:{Name:"default"},Name:f.PropertyEditorViewModes.USE_SHARED,Ordinal:-1,Description:m.stringConstants.EMPTY_STRING,Link:m.stringConstants.EMPTY_STRING,Parameters:null,RequiresConfirmation:!1}],cssClass:this.footerButtonsClass}},UseSharedComponent.prototype.onSelectedItemChanged=function(e){e.dataItem.key!==this.selectedItemId?(this.cbData[u.ContentBlockConstants.SHARED_CONTENT_ID]=e.dataItem.key,this.selectedItemId=e.dataItem.key,this.selectedItem=[e]):(this.selectedItemId=m.stringConstants.DEFAULT_GUID,this.selectedItem=[])},UseSharedComponent.prototype.onProviderSelectionChange=function(e){var t=this,n=new i.FeedbackInfo;n.showLoadingIndicator=!0,this.notifyStatusChange$.next(n),this.providerName=e,this.cbData[u.ContentBlockConstants.PROVIER_NAME]=e,this.loadInitialModalItems(this.cbData).then((function(e){t.value=e,n.reset(),t.notifyStatusChange$.next(n)}))},UseSharedComponent.prototype.createBaseServiceInfo=function(e){return this.providerName=e[u.ContentBlockConstants.PROVIER_NAME],this.selectedItemId=e[u.ContentBlockConstants.SHARED_CONTENT_ID],{type:u.ContentBlockConstants.ENTITY_NAME,provider:this.providerName,culture:this.context.culture}},UseSharedComponent.prototype.getSettings=function(e,t){var n=e.map((function(e){return{Name:e.title,Value:e.name}}));return d.ChoiceDropdownListComponent.createFieldSettings(n,t)},UseSharedComponent.prototype.loadInitialModalItems=function(e){var t=this.createBaseServiceInfo(e);return this.loadMoreModalItems(t,e)},UseSharedComponent.prototype.loadMoreModalItems=function(e,t){var n=this,o=this.createBaseServiceInfo(t),i=this.metadataStore.getEntity(u.ContentBlockConstants.ENTITY_NAME);this.entityData={culture:this.context.culture,provider:this.providerName,metadata:i};var r=this.store.getProviders(this.entityData.metadata.setName).subscribe((function(e){if(e.length>1){var t=n.entityData.provider?n.entityData.provider:e.find((function(e){return e.isDefault})).name;n.providerSettings=n.getSettings(e,t)}else n.providerSettings=null}));this.registerSubscription(r);var a={entityData:this.entityData,skip:e.skip,take:e.take,order:"Title desc",filter:[],action:o.action,serviceUrl:this.settings.webServiceLiveUrl};return e.searchText&&a.filter.push({key:this.entityData.metadata.defaultFieldName,value:[e.searchText]}),this.dynamicService.getItemList(a).pipe(Object(A.map)((function(t){var o=t.dataItems.map((function(e){return n.cloneAndAddFieldsToDataItem(e)})),i=n.route.parent.snapshot.data.siteDataStore;return n.bundleDataService.requestBatch(t.dataItems.map((function(e){return{id:e.key,action:h.BUNDLE_DATA_OPERATIONS.SHARED_IN_COUNT,entityData:n.entityData}})),n.entityData,i.Id,!e.skip),o}))).toPromise()},UseSharedComponent.prototype.cloneAndAddFieldsToDataItem=function(e){return{hasChildren:e.data.HasChildren,id:e.key,dataItem:e}},UseSharedComponent.ɵfac=function UseSharedComponent_Factory(e){return new(e||UseSharedComponent)(C["ɵɵdirectiveInject"](s.DynamicItemService),C["ɵɵdirectiveInject"](l.MetadataStore),C["ɵɵdirectiveInject"](p.ProviderStore),C["ɵɵdirectiveInject"](E.Settings),C["ɵɵdirectiveInject"](h.BundleDataService),C["ɵɵdirectiveInject"](b.ActivatedRoute))},UseSharedComponent.ɵcmp=C["ɵɵdefineComponent"]({type:UseSharedComponent,selectors:[["sf-useshared-view"]],features:[C["ɵɵInheritDefinitionFeature"]],decls:6,vars:3,consts:[[1,"-sf-pt-7xl"],["optgroup","Source","ariaLabel","Providers","look","sf-mb--2xs sf-ml-3xs sf-mr-zero sf-mt-2xs",3,"ngModel","settings","ngModelChange","selectionChange",4,"ngIf"],["class","-sf-block -sf-mt--m","defaultField","id",3,"value","selected","serviceAware","typeNames","treeConfig","itemTemplate","newItemSelected",4,"ngIf"],["itemTemplate",""],["optgroup","Source","ariaLabel","Providers","look","sf-mb--2xs sf-ml-3xs sf-mr-zero sf-mt-2xs",3,"ngModel","settings","ngModelChange","selectionChange"],["defaultField","id",1,"-sf-block","-sf-mt--m",3,"value","selected","serviceAware","typeNames","treeConfig","itemTemplate","newItemSelected"],[1,"sf-row","-no-wrap","-sf-pt-3xs","-sf-pr-3xs","-sf-pb-3xs","-sf-pl-3xs","-sf-clickable"],[1,"sf-row__col","-auto-flex","-sf-overflow-ellipsis",3,"innerHTML"],[1,"sf-row__col","-no-flex","-align-self-end","-sf-ml-l",3,"context","showBadge","showNotUsedLabel"]],template:function UseSharedComponent_Template(e,t){1&e&&(C["ɵɵelementStart"](0,"h1",0),C["ɵɵtext"](1),C["ɵɵelementEnd"](),C["ɵɵtemplate"](2,UseSharedComponent_sf_dropdown_list_choice_2_Template,1,2,"sf-dropdown-list-choice",1),C["ɵɵtemplate"](3,UseSharedComponent_sf_show_all_3_Template,1,6,"sf-show-all",2),C["ɵɵtemplate"](4,UseSharedComponent_ng_template_4_Template,5,12,"ng-template",null,3,C["ɵɵtemplateRefExtractor"])),2&e&&(C["ɵɵadvance"](1),C["ɵɵtextInterpolate"](t.selectSharedTitle),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",t.providerSettings),C["ɵɵadvance"](1),C["ɵɵproperty"]("ngIf",t.value))},directives:[B.NgIf,d.ChoiceDropdownListComponent,k.NgControlStatus,k.NgModel,a.SelectorComponent,I.SharedInComponent],pipes:[v.BolderTextPipe,w.HtmlEscapePipe],encapsulation:2}),UseSharedComponent}(g.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"UnshareComponent",(function(){return u}));var o=n(259),i=n(11),r=n(316),a=n(1204),s=n(246),A=n(269),l=n(2123),c=n(264),d=(n(1497),n(131)),p=n(229),f=n(354),u=function(e){function UnshareComponent(t,n){var o=e.call(this)||this;return o.dynamicItemService=t,o.metadataStore=n,o.unshareContentName=a.PropertyEditorConstants.STOP_SHARING,o}return Object(o.__extends)(UnshareComponent,e),UnshareComponent.prototype.initialize=function(e){return this.allProperties=e.propertyValues,Object(i.of)(void 0)},UnshareComponent.prototype.setValues=function(e){this.allProperties=e},UnshareComponent.prototype.validate=function(){return Object(i.of)({isValid:!0})},UnshareComponent.prototype.getModifiedProperties=function(){this.contentItem&&(this.allProperties[l.ContentBlockConstants.CONTENT]=this.contentItem.data.Content);var e=[];return this.allProperties[l.ContentBlockConstants.PROVIER_NAME]=s.stringConstants.EMPTY_STRING,e.push({Name:l.ContentBlockConstants.PROVIER_NAME,Value:this.allProperties[l.ContentBlockConstants.PROVIER_NAME]}),this.allProperties[l.ContentBlockConstants.SHARED_CONTENT_ID]=s.stringConstants.DEFAULT_GUID,e.push({Name:l.ContentBlockConstants.SHARED_CONTENT_ID,Value:this.allProperties[l.ContentBlockConstants.SHARED_CONTENT_ID]}),e.push({Name:l.ContentBlockConstants.CONTENT,Value:this.allProperties[l.ContentBlockConstants.CONTENT]}),e},UnshareComponent.prototype.actionExecuting=function(e){var t=this;if(e.processChanges){var n=this.allProperties[l.ContentBlockConstants.SHARED_CONTENT_ID],o=this.allProperties[l.ContentBlockConstants.PROVIER_NAME];return this.getContentBlock(n,o).pipe(Object(d.map)((function(e){t.contentItem=e})))}return Object(i.of)({})},UnshareComponent.prototype.getActions=function(){return{operations:[{Title:a.PropertyEditorConstants.STOP_SHARING,Category:{Name:"default"},Name:a.PropertyEditorViewModes.UNSHARE,Ordinal:-1,Description:s.stringConstants.EMPTY_STRING,Link:s.stringConstants.EMPTY_STRING,Parameters:null,RequiresConfirmation:!1}],cssClass:s.stringConstants.EMPTY_STRING}},UnshareComponent.prototype.getContentBlock=function(e,t){var n=this.metadataStore.getEntity(l.ContentBlockConstants.ENTITY_NAME),o={culture:this.context.culture,provider:t,metadata:n};return this.dynamicItemService.getItem({itemKey:e,entityData:o})},UnshareComponent.ɵfac=function UnshareComponent_Factory(e){return new(e||UnshareComponent)(p["ɵɵdirectiveInject"](r.DynamicItemService),p["ɵɵdirectiveInject"](A.MetadataStore))},UnshareComponent.ɵcmp=p["ɵɵdefineComponent"]({type:UnshareComponent,selectors:[["sf-unshare-view"]],features:[p["ɵɵInheritDefinitionFeature"]],decls:7,vars:1,consts:[["look","illustrative sf-mt-s","name","share-alt"],[1,"-sf-txt-align-center"],[1,"sf-form","-small","-sf-centered-box","-sf-txt-large"]],template:function UnshareComponent_Template(e,t){1&e&&(p["ɵɵelement"](0,"sf-icon",0),p["ɵɵelementStart"](1,"h1",1),p["ɵɵtext"](2),p["ɵɵelementEnd"](),p["ɵɵelementStart"](3,"div",2),p["ɵɵtext"](4," This content will not be shared anymore. "),p["ɵɵelement"](5,"br"),p["ɵɵtext"](6," The changes you make will not affect other pages.\n"),p["ɵɵelementEnd"]()),2&e&&(p["ɵɵadvance"](2),p["ɵɵtextInterpolate"](t.unshareContentName))},directives:[f.SfIconComponent],encapsulation:2}),UnshareComponent}(c.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentEditorViewProvider",(function(){return p})),n.d(t,"CONTENT_BLOCK_WIDGET_VIEW_TOKEN",(function(){return f}));var o=n(229),i=n(11),r=n(1505),a=n(2126),s=n(2128),A=n(2127),l=n(2122),c=(n(2130),n(1204)),d=n(2131),p=function(){function ContentEditorViewProvider(){}return ContentEditorViewProvider.prototype.getViews=function(){var e=[];return e.push({key:{widgetName:c.PropertyEditorWidgets.CONTENT_BLOCK,viewName:c.PropertyEditorViewModes.SHARE},componentData:{type:a.ShareComponent},hideDefaultButtons:!0}),e.push({key:{widgetName:c.PropertyEditorWidgets.CONTENT_BLOCK,viewName:c.PropertyEditorViewModes.UNSHARE},componentData:{type:s.UnshareComponent},hideDefaultButtons:!0}),e.push({key:{widgetName:c.PropertyEditorWidgets.CONTENT_BLOCK,viewName:c.PropertyEditorViewModes.USE_SHARED},componentData:{type:A.UseSharedComponent},hideDefaultButtons:!0}),e.push({key:{widgetName:c.PropertyEditorWidgets.CONTENT_BLOCK,viewName:c.PropertyEditorViewModes.NOT_SHAREABLE},componentData:{type:d.NotShareableComponent},hideDefaultButtons:!0}),Object(i.of)(e)},ContentEditorViewProvider.prototype.overrideView=function(e){if(e.widgetName===c.PropertyEditorWidgets.CONTENT_BLOCK)return{componentData:{type:l.ContentBlockBasicComponent}}},ContentEditorViewProvider.ɵfac=function ContentEditorViewProvider_Factory(e){return new(e||ContentEditorViewProvider)},ContentEditorViewProvider.ɵprov=o["ɵɵdefineInjectable"]({token:ContentEditorViewProvider,factory:ContentEditorViewProvider.ɵfac}),ContentEditorViewProvider}(),f={useClass:p,multi:!0,provide:r.WIDGET_VIEW_TOKEN}},function(e,t,n){"use strict";n.r(t)},function(e,t,n){"use strict";n.r(t),n.d(t,"NotShareableComponent",(function(){return p}));var o=n(259),i=n(11),r=n(264),a=(n(1497),n(1204)),s=n(316),A=n(269),l=n(246),c=n(229),d=n(354),p=function(e){function NotShareableComponent(t,n){var o=e.call(this)||this;return o.dynamicItemService=t,o.metadataStore=n,o.notShareableContentName=a.PropertyEditorConstants.SHARING_IS_DISABLED_TITLE,o}return Object(o.__extends)(NotShareableComponent,e),NotShareableComponent.prototype.initialize=function(e){return Object(i.of)(void 0)},NotShareableComponent.prototype.setValues=function(e){},NotShareableComponent.prototype.validate=function(){return Object(i.of)({isValid:!0})},NotShareableComponent.prototype.actionExecuting=function(e){return Object(i.of)(void 0)},NotShareableComponent.prototype.getModifiedProperties=function(){return[]},NotShareableComponent.prototype.getActions=function(){return{operations:[],cssClass:l.stringConstants.EMPTY_STRING}},NotShareableComponent.ɵfac=function NotShareableComponent_Factory(e){return new(e||NotShareableComponent)(c["ɵɵdirectiveInject"](s.DynamicItemService),c["ɵɵdirectiveInject"](A.MetadataStore))},NotShareableComponent.ɵcmp=c["ɵɵdefineComponent"]({type:NotShareableComponent,selectors:[["sf-notshareable-view"]],features:[c["ɵɵInheritDefinitionFeature"]],decls:7,vars:1,consts:[["look","illustrative sf-mt-s","name","times"],[1,"-sf-txt-align-center"],[1,"sf-form","-small","-sf-centered-box","-sf-txt-large"]],template:function NotShareableComponent_Template(e,t){1&e&&(c["ɵɵelement"](0,"sf-icon",0),c["ɵɵelementStart"](1,"h1",1),c["ɵɵtext"](2),c["ɵɵelementEnd"](),c["ɵɵelementStart"](3,"div",2),c["ɵɵtext"](4," To share content blocks or use already shared ones you must enable Generic Content for this site. Go to"),c["ɵɵelement"](5,"br"),c["ɵɵtext"](6," Manage sites > Configure modules (for the current site) or contact your administrator.\n"),c["ɵɵelementEnd"]()),2&e&&(c["ɵɵadvance"](2),c["ɵɵtextInterpolate"](t.notShareableContentName))},directives:[d.SfIconComponent],encapsulation:2}),NotShareableComponent}(r.RxBaseComponent)},function(e,t,n){"use strict";n.r(t),n.d(t,"YesNoFieldProvider",(function(){return c})),n.d(t,"YesNoChoiceSettings",(function(){return p})),n.d(t,"YES_NO_FIELD_PROVIDER",(function(){return f}));var o=n(259),i=n(229),r=n(351),a=n(1143),s=n(379),A=n(1144),l=n(1204),c=function(e){function YesNoFieldProvider(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(YesNoFieldProvider,e),YesNoFieldProvider.prototype.overrideField=function(e){if(e.fieldType===r.FieldTypes.choiceList&&e.typeName&&e.typeName.startsWith(l.PropertyEditorWidgets.FIELD_TYPE_KEY))return{writeComponent:A.ChoiceComponent,settingsType:p}},YesNoFieldProvider.ɵfac=function YesNoFieldProvider_Factory(e){return d(e||YesNoFieldProvider)},YesNoFieldProvider.ɵprov=i["ɵɵdefineInjectable"]({token:YesNoFieldProvider,factory:YesNoFieldProvider.ɵfac}),YesNoFieldProvider}(s.DefaultFieldsProvider),d=i["ɵɵgetInheritedFactory"](c),p=function(e){function YesNoChoiceSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(YesNoChoiceSettings,e),YesNoChoiceSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.choices=[{Name:l.FieldConstants.YES_LABEL,Value:"True"},{Name:l.FieldConstants.NO_LABEL,Value:"False"}],this.look="inline"},YesNoChoiceSettings}(a.ChoiceSettings),f={provide:s.FIELDS_PROVIDER_TOKEN,useClass:c,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"EnumFieldProvider",(function(){return u})),n.d(t,"EnumChoiceSettings",(function(){return g})),n.d(t,"EnumDropdownChoiceSettings",(function(){return E})),n.d(t,"RadioChoiceSettings",(function(){return h})),n.d(t,"ENUM_FIELD_PROVIDER",(function(){return b}));var o=n(259),i=n(229),r=n(351),a=n(1143),s=n(379),A=n(1204),l=n(1427),c=n(1142),d=n(1421),p=n(1144),f=n(2134),u=function(e){function EnumFieldProvider(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(EnumFieldProvider,e),EnumFieldProvider.prototype.overrideField=function(e){return e.fieldType===r.FieldTypes.choiceChip&&e.typeName&&e.typeName.startsWith(A.PropertyEditorWidgets.FIELD_TYPE_KEY)?{writeComponent:l.ChoiceChipComponent,settingsType:g}:e.fieldType===r.FieldTypes.choiceMultiple&&e.typeName&&e.typeName.startsWith(A.PropertyEditorWidgets.FIELD_TYPE_KEY)?{writeComponent:d.ChoiceMultipleComponent,settingsType:g}:e.fieldType===r.FieldTypes.choiceDropDown&&e.typeName&&e.typeName.startsWith(A.PropertyEditorWidgets.FIELD_TYPE_KEY)?{writeComponent:c.ChoiceDropdownComponent,settingsType:E}:e.fieldType===r.FieldTypes.viewSelector&&e.typeName&&e.typeName.startsWith(A.PropertyEditorWidgets.FIELD_TYPE_KEY)?{writeComponent:f.ViewSelectorComponent,settingsType:E}:e.fieldType===r.FieldTypes.choice&&e.typeName&&e.typeName.startsWith(A.PropertyEditorWidgets.FIELD_TYPE_KEY)?{writeComponent:p.ChoiceComponent,settingsType:h}:void 0},EnumFieldProvider.ɵfac=function EnumFieldProvider_Factory(e){return m(e||EnumFieldProvider)},EnumFieldProvider.ɵprov=i["ɵɵdefineInjectable"]({token:EnumFieldProvider,factory:EnumFieldProvider.ɵfac}),EnumFieldProvider}(s.DefaultFieldsProvider),m=i["ɵɵgetInheritedFactory"](u),g=function(e){function EnumChoiceSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(EnumChoiceSettings,e),EnumChoiceSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.choices=[];for(var n=this.mapIconChoice(t.choices),i=0;i0&&(this.complexSettings.isMultiple||this.complexSettings.tableViewEnabled&&this.complexSettings.typeChildProperties.length<=5)},enumerable:!1,configurable:!0}),ComplexComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.value&&"string"==typeof this.value?this.valueObject=JSON.parse(this.value):this.valueObject=this.value||{};var n=[];if(this.complexSettings.typeChildProperties&&0===this.complexSettings.typeChildProperties.length){var o=this.createPlainListSection();n.push(o)}else if(this.complexSettings.isMultiple){var i=this.settings.itemDefaultValue,a={};i&&!this.value&&(a=JSON.parse(i));for(var s=this.complexSettings.extraRecords,A=1;A<=this.complexSettings.dependsOnLength;A++)s.push({Name:this.complexSettings.lengthDependsOnDisplayName+A,Title:this.complexSettings.lengthDependsOnDisplayTitle+A});if(s.forEach((function(e){var o=t.settings.key+e.Name,i=l.COMPLEX_SECTION_CLASS_MAPPER.get(o),s=new r.FieldSectionModel({isMain:!1,isExpanded:!1,insertHorizontalRule:!1,title:e.Title,name:o,cssClass:i});s.fields=t.getFields(t.complexSettings.typeChildProperties,t.valueObject[e.Name]||a,s.settings.name),n.push(s)})),0===s.length){this.allowModifyTable=!0;var c=this.settings.key,d=l.COMPLEX_FIELD_CLASS_MAPPER.get(c);this.defaultSection=new r.FieldSectionModel({isMain:!1,isExpanded:!0,insertHorizontalRule:!1,name:c,cssClass:d}),this.defaultSection.fields=this.getFields(this.complexSettings.typeChildProperties,{},c),this.defaultValue=this.value}}else{var p=this.settings,f={isMain:this.showTableView,isExpanded:this.showTableView||p.hideExpander,insertHorizontalRule:!1,title:this.showTableView?p.tableViewColumnTitle:this.settings.title,name:this.settings.key,hideExpander:p.hideExpander};(o=new r.FieldSectionModel(f)).fields=this.getFields(this.complexSettings.typeChildProperties,this.valueObject,o.settings.name),n.push(o)}this.fieldSections=n},ComplexComponent.prototype.validate=function(){var e=!0;if(this.emitStatus({type:E.StatusType.ErrorCleared}),this.valueObject&&0!==Object.keys(this.valueObject).length){var t=this.editableFieldsComponent||this.editableTableComponent;return t&&(t.enableRequiredErrorCheck(),e=t.valid()),e?this.emitStatus({type:E.StatusType.Done}):this.emitStatus({type:E.StatusType.Error}),e}return this.emitStatus({type:E.StatusType.ErrorCleared}),!0},ComplexComponent.prototype.onChange=function(e){this.valueObject||(this.valueObject={}),this.singleRelatedFieldNames.some((function(t){return t===e.key}))&&e.value&&Array.isArray(e.value)&&(e.value=e.value[0]);var t=e.sectionName.replace(this.settings.key,"");if(e.isSectionRemoved)this.valueObject[t]&&(delete this.valueObject[t],this.valueObject||this.emitStatus({type:E.StatusType.ErrorCleared}));else{if(0===this.complexSettings.typeChildProperties.length)return void(this.value=e.value);var n=e.key.replace(e.sectionName,"");this.complexSettings.isMultiple?(this.valueObject[t]||(this.valueObject[t]={}),this.valueObject[t][n]=e.value):this.valueObject[n]=e.value}this.value=Object.assign({},this.valueObject)},ComplexComponent.prototype.createPlainListSection=function(){var e={isMain:!0,isExpanded:!0,insertHorizontalRule:!1,title:this.settings.title,name:this.settings.key,hideExpander:!0},t=new r.FieldSectionModel(e);t.fields=[];var n=Object(a.createFieldModel)(this.fieldsProvider,c.PropertyEditorWidgets.FIELD_TYPE_KEY+"Complex",A.FieldTypes.additionalUrls,this.settings.key,this.value,null,null,null,!1,"-sf-p-zero -sf-m-zero");return n.settings.showTitle=!1,n.settings.addButtonTitle="Add",t.fields.push(n),t},ComplexComponent.prototype.getFields=function(e,t,n){var o=this,i=[];return e.forEach((function(e){var r=l.FIELD_TYPE_MAPPER.get(e.Type)||A.FieldTypes[e.Type]||A.FieldTypes.shortText,a=l.COMPLEX_FIELD_CLASS_MAPPER.get(e.Name);i.push(o.createField(r,n+e.Name,t[e.Name],e,e.Title,c.PropertyEditorWidgets.FIELD_TYPE_KEY+"Complex",n,a))})),i},ComplexComponent.prototype.createField=function(e,t,n,o,i,r,l,c){var p,f,m={properties:(p={},p[t]=(f={},f[d.VALIDATION_CUSTOM_MSGS]={},f),p)};s.FIELD_PROPERTIES_MAPPER.forEach((function(e,n){o.hasOwnProperty(n)?m.properties[t][e]=o[n]:o[s.Properties].hasOwnProperty(n)&&(m.properties[t][e]=o[s.Properties][n])})),s.FIELD_VALIDATIONS_MAPPER.forEach((function(e,n){o[s.Properties].hasOwnProperty(n)&&(m.properties[t][e]=o[s.Properties][n])})),s.FIELD_ERROR_MSG_MAPPER.forEach((function(e,n){o[s.Properties].hasOwnProperty(n)&&(m.properties[t][d.VALIDATION_CUSTOM_MSGS][e]=o[s.Properties][n])}));var g=n;e!==A.FieldTypes.relatedData&&e!==A.FieldTypes.media||!n?e!==A.FieldTypes.relatedData&&e!==A.FieldTypes.media||o[s.Properties].AllowMultiple||this.singleRelatedFieldNames.push(t):o[s.Properties].AllowMultiple?g=JSON.parse(n).map((function(e){return e})):(this.singleRelatedFieldNames.push(t),g=[n]);e===A.FieldTypes.media&&this.setAcceptableFileAndMediaTypes(o,m,t),g&&(m.properties[t].default=g),m.properties[t].culture=this.settings.culture,m.properties[t].hideExpander=!0,e===A.FieldTypes.complex&&(m.properties[t].Meta_Type=o.Type);var E=Object(a.createFieldModel)(this.fieldsProvider,r,e,t,g,m,i,null,!1,c),h=o.Properties.Meta_ConditionalVisibility_Condition;if(h&&(E.settings.conditionalRule=JSON.parse(h),E.settings.conditionalRule.conditions.forEach((function(e){e.fieldName=l+e.fieldName}))),E.settings.showTitle=!this.showTableView&&""!==i&&e!==A.FieldTypes.choiceYesNo&&("complex"!==o.Type||"True"===o.Properties.Meta_TableView_Enabled),e===A.FieldTypes.media){var b=m.properties[t],C=E.settings;C.type=s.FIELD_MEDIA_TYPE_MAPPER.get(b.itemType),C.look="inline",C.name=C.key,C.culture=this.settings.culture,C.openPickerWhenEmpty="True"===b.openPickerWhenEmpty,C.chipLike=!C.openPickerWhenEmpty,C.acceptableMediaTypes=b.acceptableMediaTypes,C.acceptableFileTypes=b.acceptableFileTypes,C.provider=u.ANY_SITE_SOURCE_PROVIDER}return E.selector===A.FieldTypes.choiceChip&&(E.settings.look="inline sf-txt-base"),E.settings.typeChildProperties=o.TypeChildProperties,E},ComplexComponent.prototype.setAcceptableFileAndMediaTypes=function(e,t,n){var o=this.metadataStore.getEntity(e[s.Properties].Meta_MediaItem_ItemType);t.properties[n].acceptableMediaTypes=o.acceptableMediaTypes,t.properties[n].acceptableFileTypes=o.acceptableFileTypes},ComplexComponent.ɵfac=function ComplexComponent_Factory(e){return new(e||ComplexComponent)(h["ɵɵdirectiveInject"](p.CompositeFieldsProvider),h["ɵɵdirectiveInject"](f.MetadataStore))},ComplexComponent.ɵcmp=h["ɵɵdefineComponent"]({type:ComplexComponent,selectors:[["sf-complex"]],viewQuery:function ComplexComponent_Query(e,t){if(1&e&&(h["ɵɵviewQuery"](m.EditableFieldsComponent,1),h["ɵɵviewQuery"](g.EditableTableComponent,1)),2&e){var n=void 0;h["ɵɵqueryRefresh"](n=h["ɵɵloadQuery"]())&&(t.editableFieldsComponent=n.first),h["ɵɵqueryRefresh"](n=h["ɵɵloadQuery"]())&&(t.editableTableComponent=n.first)}},inputs:{look:"look"},features:[h["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(ComplexComponent)]),h["ɵɵInheritDefinitionFeature"]],decls:2,vars:2,consts:[["class","-sf-txt-align-left",3,"shouldResetMirroring","fieldSections","fieldChange",4,"ngIf"],["class","-sf-txt-align-left",3,"shouldResetMirroring","allowModify","fieldSections","defaultValue","defaultSection","fieldChange",4,"ngIf"],[1,"-sf-txt-align-left",3,"shouldResetMirroring","fieldSections","fieldChange"],[1,"-sf-txt-align-left",3,"shouldResetMirroring","allowModify","fieldSections","defaultValue","defaultSection","fieldChange"]],template:function ComplexComponent_Template(e,t){1&e&&(h["ɵɵtemplate"](0,ComplexComponent_sf_editable_fields_0_Template,1,2,"sf-editable-fields",0),h["ɵɵtemplate"](1,ComplexComponent_sf_editable_table_1_Template,1,5,"sf-editable-table",1)),2&e&&(h["ɵɵproperty"]("ngIf",!t.showTableView&&t.fieldSections),h["ɵɵadvance"](1),h["ɵɵproperty"]("ngIf",t.showTableView&&t.fieldSections))},encapsulation:2}),ComplexComponent}(i.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"SectionEditorViewProvider",(function(){return l})),n.d(t,"SECTION_WIDGET_VIEW_TOKEN",(function(){return c}));var o=n(229),i=n(11),r=n(1505),a=(n(2130),n(1204)),s=n(1496),A=n(2138),l=function(){function SectionEditorViewProvider(){}return SectionEditorViewProvider.prototype.getViews=function(){var e=[];return e.push({key:{widgetName:a.PropertyEditorWidgets.SECTION,viewName:a.PropertyEditorViewModes.COLUMNS_PROPORTIONS},componentData:{type:A.ColumnsProportionsComponent},hideDefaultButtons:!0}),Object(i.of)(e)},SectionEditorViewProvider.prototype.overrideView=function(e){if(e.widgetName===a.PropertyEditorWidgets.SECTION)return{componentData:{type:s.BasicEditorViewComponent}}},SectionEditorViewProvider.ɵfac=function SectionEditorViewProvider_Factory(e){return new(e||SectionEditorViewProvider)},SectionEditorViewProvider.ɵprov=o["ɵɵdefineInjectable"]({token:SectionEditorViewProvider,factory:SectionEditorViewProvider.ɵfac}),SectionEditorViewProvider}(),c={useClass:l,multi:!0,provide:r.WIDGET_VIEW_TOKEN}},function(e,t,n){"use strict";n.r(t),n.d(t,"ColumnsProportionsComponent",(function(){return c}));var o=n(259),i=n(11),r=(n(1497),n(264)),a=n(1415),s=n(229),A=n(261),l=["proportions"];function ColumnsProportionsComponent_sf_zone_splitter_0_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-zone-splitter",1,2),s["ɵɵlistener"]("gridColumnsSizeChange",(function ColumnsProportionsComponent_sf_zone_splitter_0_Template_sf_zone_splitter_gridColumnsSizeChange_0_listener(e){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().columnsSizeChange(e)})),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵproperty"]("gridSize",o.gridSize)("gridColumnSize",o.columnsInfo)("panesCount",o.allProperties.ColumnsCount)}}var c=function(e){function ColumnsProportionsComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.showError=!1,t}return Object(o.__extends)(ColumnsProportionsComponent,e),ColumnsProportionsComponent.prototype.initialize=function(e){return this.allProperties=e.propertyValues,this.columnsInfo=this.allProperties.ColumnProportionsInfo?JSON.parse(this.allProperties.ColumnProportionsInfo):[],this.gridSize=this.allProperties.CssSystemGridSize?JSON.parse(this.allProperties.CssSystemGridSize):12,Object(i.of)(void 0)},ColumnsProportionsComponent.prototype.setValues=function(e){this.allProperties=e},ColumnsProportionsComponent.prototype.validate=function(){var e=this.canReduceColumnsCount(parseInt(this.allProperties.ColumnsCount));return this.splitterElement.showError=!e,Object(i.of)({isValid:e})},ColumnsProportionsComponent.prototype.getModifiedProperties=function(){var e=[];return e.push({Name:"ColumnsCount",Value:this.allProperties.ColumnsCount}),e.push({Name:"ColumnProportionsInfo",Value:this.allProperties.ColumnProportionsInfo}),e},ColumnsProportionsComponent.prototype.actionExecuting=function(e){return Object(i.of)({})},ColumnsProportionsComponent.prototype.columnsSizeChange=function(e){var t=e.length.toString(),n=JSON.stringify(e);(t!==this.allProperties.ColumnsCount.toString()||"1"!==t&&n!==this.allProperties.ColumnProportionsInfo)&&(this.allProperties.ColumnsCount=e.length.toString(),this.allProperties.ColumnProportionsInfo=n,this.fieldChange(e))},ColumnsProportionsComponent.prototype.canReduceColumnsCount=function(e){if(e<1)return!1;if(e>=this.context.component.childContainers.length)return!0;for(var t=e;t0){var n=null;switch(this.getModeOfOperation()){case w.Taxonomy:n={ItemIdsOrdered:e.value,Content:[{Variations:[{Filter:{Key:"Ids",Value:e.value.join(",")}}]}]};break;case w.Content:var o={};e.value.forEach((function(e){o[e.provider]||(o[e.provider]=[]),o[e.provider].push(e[t.entity.key])})),n={ItemIdsOrdered:e.value.map((function(e){return e[t.entity.key]})),Content:[{Variations:[]}]},Object.keys(o).forEach((function(e){n.Content[0].Variations.push({Source:e,Filter:{Key:"Ids",Value:o[e].join(",")}})}))}this.value=n}else this.value=null;this.onSelectionChange.emit(this.value)},ContentSelectorComponent.prototype.getWarnings=function(){return this.isInvalidContentType?[E.CONTENT_SOURCE_NOT_AVAILABLE_WARNING]:e.prototype.getWarnings.call(this)},ContentSelectorComponent.prototype.getModeOfOperation=function(){var e=this.settings.contentType;if(e){if(e.startsWith("Taxonomy_"))return w.Taxonomy;if(this.store.getEntityByFullTypeName(e))return w.Content}return null},ContentSelectorComponent.prototype.getSingleContext=function(){return this.value&&this.value.Content&&this.value.Content.length>0?this.value.Content[0]:null},ContentSelectorComponent.prototype.initContent=function(e){var t,n,o=this;this.entity=this.store.getEntityByFullTypeName(e),this.fallbackProperties=[this.entity.defaultFieldName];var i=this.getSingleContext();if(this.entity){var r=((t={})[h.VALIDATION_ALLOWMULTIPLE]=this.settings.contentAllowMultipleItemsSelection,t[h.RELATE_DATA_PROVIDER]=this.settings.contentProvider||E.ANY_SITE_SOURCE_PROVIDER,t),a=void 0;if(this.entity.isMedia){a=c.FieldTypes.media;var s=this.entity;s.mediaFilterEnabled?(r[h.ACCEPTABLE_MEDIA_TYPES]=s.acceptableMediaTypes,r[h.ALLOWED_FILE_EXTENSIONS]=s.acceptableFileTypes):r[h.ALLOWED_FILE_EXTENSIONS]=["*"]}else a=c.FieldTypes.relatedData;var l=Object(f.createFieldModel)(this.fieldsProvider,m.PropertyEditorWidgets.FIELD_TYPE_KEY+"Content",a,this.settings.key,null,r,null,null,!1,"-sf-p-zero -sf-m-zero"),d=l.settings;d.useLiveData=this.settings.contentLiveData,d.skipInputSelection=this.settings.contentOpenMultipleItemsSelection,d.disableInteraction=this.settings.disableInteraction,this.entity.isMedia?(d.name=d.key,d.type=k.FIELD_MEDIA_TYPE_MAPPER.get(this.entity.setName),d.useLiveData=!0):(d.type=this.entity.setName,d.isNestedInParentControl=!0),this.entity.hasLifecycle||(d.hideStatus=!0);var p=null;if(this.entity.setName===A.ENTITY_SET.FORMS&&(d.showSiteSelector=!0,d.disableInteraction=!0,d.hideStatus=!1,(n={})[v.QUERY_PARAMS.GET_ALL_ITEMS]=!0,p=n),i){var u=i.Variations.map((function(e){var t={metadata:o.entity,provider:e.Source,culture:o.settings.culture};return e.Filter.Value?o.service.getItemsByKeys({entityData:t,serviceUrl:o.settings.contentLiveData?o.settingsService.webServiceLiveUrl:void 0,keyProperty:o.entity.key,keys:e.Filter.Value.split(","),fallbackProperties:o.fallbackProperties,additionalQueryParams:p}):Object(C.of)({totalCount:0,entityData:t,dataItems:[]})}));Object(C.combineLatest)(u).subscribe((function(e){var t=[];e.forEach((function(e){t.push.apply(t,e.dataItems)}));var n=o.value.ItemIdsOrdered;null!=n&&n.length>0&&t.sort((function(e,t){return n.findIndex((function(t){return t===e.key}))-n.findIndex((function(e){return e===t.key}))})),l.value=t.map((function(e){return Object(b.cloneObject)(e.data)})),o.wrapInSection(l)}))}else this.wrapInSection(l)}},ContentSelectorComponent.prototype.initTaxonomy=function(e){var t=this;this.entity=this.store.getValue().entities[A.ENTITY_SET.CLASSIFICATIONS];var n={metadata:this.entity,provider:null,culture:this.settings.culture},o=[{key:"Name",value:[e],searchMode:l.SearchMode.equals}];this.service.getItemList({entityData:n,filter:o}).subscribe((function(e){var n,o=e.dataItems;if(1===o.length){var i=o[0].data,r=((n={})[p.default.TAXONOMY_NAME]=i.Name,n[p.default.TAXONOMY_ID]=i.Id,n[p.default.TAXONOMY_TYPE]=i.TaxaUrl,n[h.VALIDATION_ALLOWMULTIPLE]=t.settings.contentAllowMultipleItemsSelection,n),a=Object(f.createFieldModel)(t.fieldsProvider,m.PropertyEditorWidgets.FIELD_TYPE_KEY+"Content",c.FieldTypes.taxa,t.settings.key,null,r,null,null,!1,"-sf-p-zero -sf-m-zero");a.settings.isNestedInParentControl=!0;var s=t.getSingleContext();s&&(a.value=s&&s.Variations?s.Variations[0].Filter.Value.split(","):null),t.wrapInSection(a)}else t.isInvalidContentType=!0,t.emitStatus({type:I.StatusType.Warning})}))},ContentSelectorComponent.prototype.wrapInSection=function(e){var t={isMain:!0,isExpanded:!0,insertHorizontalRule:!1,hideTitle:!0,name:this.settings.key},n=new g.FieldSectionModel(t);e.settings.showTitle=!1,e.settings.culture=this.settings.culture,e.settings.allowCreate=this.settings.allowCreate,e.settings.allowView=this.settings.allowView,n.fields.push(e),this.fieldSections=[n]},ContentSelectorComponent.ɵfac=function ContentSelectorComponent_Factory(e){return new(e||ContentSelectorComponent)(r["ɵɵdirectiveInject"](B.Settings),r["ɵɵdirectiveInject"](u.CompositeFieldsProvider),r["ɵɵdirectiveInject"](a.DynamicItemService),r["ɵɵdirectiveInject"](s.MetadataStore))},ContentSelectorComponent.ɵcmp=r["ɵɵdefineComponent"]({type:ContentSelectorComponent,selectors:[["sf-content-selector"]],outputs:{onSelectionChange:"onSelectionChange"},features:[r["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(ContentSelectorComponent)]),r["ɵɵInheritDefinitionFeature"]],decls:1,vars:1,consts:[["class","-sf-txt-align-left",3,"shouldResetMirroring","fieldSections","fieldChange",4,"ngIf"],[1,"-sf-txt-align-left",3,"shouldResetMirroring","fieldSections","fieldChange"]],template:function ContentSelectorComponent_Template(e,t){1&e&&r["ɵɵtemplate"](0,ContentSelectorComponent_sf_editable_fields_0_Template,1,2,"sf-editable-fields",0),2&e&&r["ɵɵproperty"]("ngIf",t.fieldSections)},encapsulation:2}),ContentSelectorComponent}(i.FieldBase);!function(e){e[e.Taxonomy=0]="Taxonomy",e[e.Content=1]="Content"}(w||(w={}));var x={writeComponent:_,readComponent:_,settingsType:d.SettingsBase}},function(e,t,n){"use strict";n.r(t),n.d(t,"NumberFieldProvider",(function(){return c})),n.d(t,"WidgetNumberSettings",(function(){return p})),n.d(t,"NUMBER_FIELD_PROVIDER",(function(){return f}));var o=n(259),i=n(229),r=n(351),a=n(379),s=n(1204),A=n(348),l=n(1418),c=function(e){function NumberFieldProvider(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(NumberFieldProvider,e),NumberFieldProvider.prototype.overrideField=function(e){if(e.fieldType===r.FieldTypes.number&&e.typeName&&e.typeName.startsWith(s.PropertyEditorWidgets.FIELD_TYPE_KEY))return{writeComponent:l.NumberComponent,settingsType:p}},NumberFieldProvider.ɵfac=function NumberFieldProvider_Factory(e){return d(e||NumberFieldProvider)},NumberFieldProvider.ɵprov=i["ɵɵdefineInjectable"]({token:NumberFieldProvider,factory:NumberFieldProvider.ɵfac}),NumberFieldProvider}(a.DefaultFieldsProvider),d=i["ɵɵgetInheritedFactory"](c),p=function(e){function WidgetNumberSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(WidgetNumberSettings,e),WidgetNumberSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.type="number"},WidgetNumberSettings}(A.NumberSettings),f={provide:a.FIELDS_PROVIDER_TOKEN,useClass:c,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"FilterContentSelectorComponent",(function(){return T})),n.d(t,"FilterContentSelectorSettings",(function(){return M})),n.d(t,"CONTENT_FILTER_SELECTOR_REGISTRY",(function(){return Q}));var o=n(259),i=n(415),r=n(229),a=n(269),s=n(332),A=n(2140),l=n(1143),c=n(1733),d=n(1142),p=n(260),f=n(2143),u=n(11),m=n(1193),g=n(352),E=n(1147),h=n(2144),b=n(2145),C=n(295),B=n(308),k=n(2146),I=n(1144),v=n(245),w=n(261),_=n(1140),x=["selectedItemsComponent"],y=["dateTimeComponent"],S=["contentFilterRadio"];function FilterContentSelectorComponent_sf_dropdown_choice_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-dropdown-choice",4),r["ɵɵlistener"]("selectionChange",(function FilterContentSelectorComponent_sf_dropdown_choice_2_Template_sf_dropdown_choice_selectionChange_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onContentSelectionChange(e)})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("settings",o.contentSettings)}}function FilterContentSelectorComponent_div_3_label_1_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"label",0),r["ɵɵtext"](1,"Source"),r["ɵɵelementEnd"]())}function FilterContentSelectorComponent_div_3_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",5),r["ɵɵtemplate"](1,FilterContentSelectorComponent_div_3_label_1_Template,2,0,"label",6),r["ɵɵelementStart"](2,"sf-provider-selector",7,8),r["ɵɵlistener"]("onChange",(function FilterContentSelectorComponent_div_3_Template_sf_provider_selector_onChange_2_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onProviderSelectionChange(e)}))("onInit",(function FilterContentSelectorComponent_div_3_Template_sf_provider_selector_onInit_2_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onProviderSelectionChange(e)})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.showProvidersDropdown),r["ɵɵadvance"](1),r["ɵɵproperty"]("displayMode","select")("entityData",o.entityData)}}function FilterContentSelectorComponent_div_4_sf_content_selector_5_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-content-selector",11,12),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵproperty"]("settings",n.contentItemsSettings)}}function FilterContentSelectorComponent_div_4_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",5),r["ɵɵelementStart"](1,"label",0),r["ɵɵtext"](2,"Selection range"),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"sf-choice",4,9),r["ɵɵlistener"]("selectionChange",(function FilterContentSelectorComponent_div_4_Template_sf_choice_selectionChange_3_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onRadioSelectionChange(e)})),r["ɵɵelementEnd"](),r["ɵɵtemplate"](5,FilterContentSelectorComponent_div_4_sf_content_selector_5_Template,2,1,"sf-content-selector",10),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵadvance"](3),r["ɵɵproperty"]("settings",o.radioSettings),r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",o.contentItemsSettings&&o.showContentSelector)}}function FilterContentSelectorComponent_div_5_div_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"div",5),r["ɵɵelementStart"](1,"label",15),r["ɵɵtext"](2),r["ɵɵelementEnd"](),r["ɵɵelementStart"](3,"sf-content-selector",16),r["ɵɵlistener"]("onSelectionChange",(function FilterContentSelectorComponent_div_5_div_1_Template_sf_content_selector_onSelectionChange_3_listener(e){r["ɵɵrestoreView"](n);var o=t.$implicit;return r["ɵɵnextContext"](2).onFilterChanged(e,o.settings)})),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit;r["ɵɵadvance"](2),r["ɵɵtextInterpolate1"]("Filter ",o.title,""),r["ɵɵadvance"](1),r["ɵɵproperty"]("settings",o.settings)}}function FilterContentSelectorComponent_div_5_sf_datetime_selector_4_Template(e,t){if(1&e&&r["ɵɵelement"](0,"sf-datetime-selector",17,18),2&e){var n=r["ɵɵnextContext"](2);r["ɵɵproperty"]("settings",n.dateTimeSettings)}}function FilterContentSelectorComponent_div_5_Template(e,t){if(1&e&&(r["ɵɵelementStart"](0,"div"),r["ɵɵtemplate"](1,FilterContentSelectorComponent_div_5_div_1_Template,4,2,"div",13),r["ɵɵpipe"](2,"async"),r["ɵɵelementStart"](3,"div",5),r["ɵɵtemplate"](4,FilterContentSelectorComponent_div_5_sf_datetime_selector_4_Template,2,1,"sf-datetime-selector",14),r["ɵɵelementEnd"](),r["ɵɵelementEnd"]()),2&e){var n=r["ɵɵnextContext"]();r["ɵɵadvance"](1),r["ɵɵproperty"]("ngForOf",r["ɵɵpipeBind1"](2,2,n.filterProperties$)),r["ɵɵadvance"](3),r["ɵɵproperty"]("ngIf",n.dateTimeSettings)}}var T=function(e){function FilterContentSelectorComponent(t,n,o,i,r,a,s){var A=e.call(this)||this;return A.store=t,A.locatableItemsService=n,A.route=o,A.providerStore=i,A.filterStore=r,A.appStore=a,A.ref=s,A.dateFieldName="PublicationDate",A.excludedContentTypes=["contentitems","pages","images","documents","videos"],A.excludedFilterTypes=["date-range","User","predefined","last-modified","extensions"],A.filterProperties$=new u.ReplaySubject(1),A.currentFilters={},A.currentComplexFilterValue={Key:D,Value:""},A.currentSelectedItemsIds=[],A}return Object(o.__extends)(FilterContentSelectorComponent,e),Object.defineProperty(FilterContentSelectorComponent.prototype,"selectedItemsComponent",{set:function(e){var t=this;e&&e.registerOnChange((function(e){var n=t.getValue();e&&e.Content?(e.Content[0].Type=n.Content[0].Type,t.writeValue(e)):(n.ItemIdsOrdered=[],n.Content[0].Variations[0].Filter={Key:D,Value:""},t.writeValue(n))}))},enumerable:!1,configurable:!0}),Object.defineProperty(FilterContentSelectorComponent.prototype,"dateTimeComponent",{set:function(e){var t=this;e&&e.registerOnChange((function(n){t.onDateTimeFilterChanged(n,e)}))},enumerable:!1,configurable:!0}),FilterContentSelectorComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this);var n=this.route.parent.snapshot.data.siteDataStore;this.emitStatus({type:g.StatusType.Pending});var o=this.locatableItemsService.getLocatableEntitySetNames(n.Id).subscribe((function(e){if(!e.isLoading){var n=t.store.getValue().entities,o=e.content.value.filter((function(e){return-1===t.excludedContentTypes.findIndex((function(t){return t===e}))})).filter((function(e){return n[e]})).map((function(e){return{Name:n[e].displayName,Value:n[e].typeFullName}}));t.value&&t.value.Content&&0!==t.value.Content.length||t.clearFilters(null);var i=[{Name:"Select content type",Value:null}].concat(o);t.initializeContentSettings(i),t.selectedContentType&&(t.initializeEntityData(),t.initializeRadioSettings(),t.loadFilters())}}));this.registerSubscription(o)},FilterContentSelectorComponent.prototype.ngOnDestroy=function(){this.appStore.dispatch(B.FIELDS_ACTIONS.changeItemType({itemType:null,value:null}))},FilterContentSelectorComponent.prototype.onContentSelectionChange=function(e){this.clearSelectedFilters(),this.clearFilters(e),e?(this.initializeEntityData(),this.initializeRadioSettings(),this.loadFilters()):this.appStore.dispatch(B.FIELDS_ACTIONS.changeItemType({itemType:null,value:null}))},FilterContentSelectorComponent.prototype.onProviderSelectionChange=function(e){if(this.clearSelectedFilters(),this.getValue().Content[0].Variations[0].Source!==e.tabValue){this.contentItemsSettings=null,this.ref.detectChanges(),this.entityData.metadata.selectedProvider=e.tabValue;var t=this.getValue();t.Content[0].Variations[0].Source=e.tabValue,this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0&&(t.ItemIdsOrdered=[]),t.Content[0].Variations[0].Filter={Key:D,Value:""},this.writeValue(t),this.initializeSelectedContentItems(e.tabValue),this.initializeFilterByParentField(e.tabValue)}},FilterContentSelectorComponent.prototype.onRadioSelectionChange=function(e){this.showContentSelector="Selected"===e;var t=this.getValue();if(t.Content[0].Variations[0].DynamicFilterByParent=!1,"Selected"===e){this.currentComplexFilterValue=t.Content[0].Variations[0].Filter,t.ItemIdsOrdered=this.currentSelectedItemsIds,t.Content[0].Variations[0].Filter=this.currentSelectedItemsFilterValue;var n=this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0;this.contentItemsSettings.defaultValue=n?this.getValue():null}"All"!==e&&"CurrentParent"!==e||(this.currentSelectedItemsIds=t.ItemIdsOrdered,t.ItemIdsOrdered=[],this.currentSelectedItemsFilterValue=t.Content[0].Variations[0].Filter,t.Content[0].Variations[0].Filter=this.currentComplexFilterValue,"CurrentParent"===e&&(t.Content[0].Variations[0].DynamicFilterByParent=!0),this.ref.detectChanges(),this.initializeFilterByParentField(this.contentItemsSettings.contentProvider)),this.writeValue(t)},FilterContentSelectorComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.onChangeCallback&&this.onChangeCallback(t)},FilterContentSelectorComponent.prototype.loadFilters=function(){var e=this;this.filtersSubscription&&this.filtersSubscription.unsubscribe(),this.emitStatus({type:g.StatusType.Pending}),this.dateTimeSettings=this.createDateTimeComponentSettings(),this.filtersSubscription=this.filterStore.getCustomFilters(this.entityData).subscribe((function(t){var n=[];if(!t.isLoading){var o=[];if(t.filters){var i=t.filters.filter((function(t){return-1===e.excludedFilterTypes.findIndex((function(e){return e===t.name}))}));o.push.apply(o,i)}e.addFilterByParent(o),n=o.map((function(t){var n=e.createFilterComponentSettings(t);return{title:t.title.toLowerCase(),settings:n}}))}e.filterProperties$.next(n),e.emitStatus({type:g.StatusType.Done})})),this.registerSubscription(this.filtersSubscription)},FilterContentSelectorComponent.prototype.addFilterByParent=function(e){var t=!1,n=e.findIndex((function(e){return"Parent"===e.name}));if(n>=0){t=!0;var o=e.splice(n,1)[0];e.unshift(o)}if(this.entityData.metadata.hasParent&&!t){var i=this.store.getEntity(this.entityData.metadata.parent);o={name:"Parent",title:"By "+i.setName,parameters:{type:"call",contentPluralName:i.setName,contentSingularName:i.singularName}};e.unshift(o)}},FilterContentSelectorComponent.prototype.clearFilters=function(e){this.value={ItemIdsOrdered:[],Content:[{Type:e,Variations:[{Source:null,Filter:{Key:D,Value:""}}]}]},this.selectedContentType=e,this.showContentSelector=!1},FilterContentSelectorComponent.prototype.createFilterComponentSettings=function(e){var t,n=new f.ContentSettings(e.name,!1),o=e.parameters.contentPluralName;"Parent"===e.name?(n.contentType=this.store.getEntity(o.toLocaleLowerCase()).typeFullName,n.key="ParentId",n.disableInteraction=!0,n.contentProvider=this.contentItemsSettings.contentProvider):n.contentType="Taxonomy_"+e.parameters.contentPluralName,n.contentAllowMultipleItemsSelection=!0,n.contentLiveData=this.settings.contentLiveData,n.culture=this.settings.culture;var i=this.value.Content[0].Variations;if(i&&i.length>0){var r=i[0].Filter;if(r&&r.Key===D){var a=r.Value,s=(null!==(t=(a?JSON.parse(a):new k.CombinedFilter).ChildFilters)&&void 0!==t?t:[]).find((function(e){return e.FieldName===n.key})),A=s?s.FieldValue:null;A&&A.length>0&&(n.defaultValue={ItemIdsOrdered:A,Content:[{Variations:[{Filter:{Key:"Ids",Value:A.join(",")},Source:n.contentProvider}]}]})}}return n},FilterContentSelectorComponent.prototype.clearSelectedFilters=function(){this.currentSelectedItemsIds=[],this.currentSelectedItemsFilterValue=null,this.currentComplexFilterValue={Key:D,Value:""}},FilterContentSelectorComponent.prototype.createDateTimeComponentSettings=function(){var e=new s.SettingsBase("datePublished",!1);e.title="Date published";var t=this.value.Content[0].Variations;if(t&&t.length>0){var n=t[0].Filter;if(n&&n.Key===D){var o=n.Value;e.defaultValue=b.DateTimeFilterParser.parseToDateTimeInterval(o,this.dateFieldName)}}return e},FilterContentSelectorComponent.prototype.onFilterChanged=function(e,t){var n,o=this.getValue(),i=t.key,r=o.Content[0].Variations[0].Filter;if(r&&r.Key===D){var a=r.Value?JSON.parse(r.Value):{Operator:"And",ChildFilters:[]},s=null!==(n=a.ChildFilters)&&void 0!==n?n:[],A=s.findIndex((function(e){return e.FieldName===i})),l=e?e.ItemIdsOrdered:[];if(A>-1)0===l.length?s.splice(A,1):s[A].FieldValue=l;else if(l&&l.length>0){var c=new k.FilterClause;c.FieldName=i,c.Operator="any+or",c.FieldValue=l,s.push(c)}o.Content[0].Variations[0].Filter.Value=JSON.stringify(a)}this.writeValue(o)},FilterContentSelectorComponent.prototype.onDateTimeFilterChanged=function(e,t){var n,o=this,i=this.getValue(),r=i.Content[0].Variations[0].Filter;if(r&&r.Key===D){var a=r.Value?JSON.parse(r.Value):{Operator:"And",ChildFilters:[]},s=(null!==(n=a.ChildFilters)&&void 0!==n?n:[]).filter((function(e){return!b.DateTimeFilterParser.isDateFilter(e,o.dateFieldName)}));if(a.ChildFilters=s,e&&"anyTime"!==e.PeriodType){var A=b.DateTimeFilterParser.parseDateTimeIntervalToFilter(e,this.dateFieldName);A&&a.ChildFilters.push(A)}i.Content[0].Variations[0].Filter.Value=JSON.stringify(a)}this.writeValue(i)},FilterContentSelectorComponent.prototype.initializeContentSettings=function(e){this.selectedContentType=this.getValue().Content[0].Type;var t=this.selectedContentType;this.contentSettings=d.ChoiceDropdownComponent.createFieldSettings(e,t)},FilterContentSelectorComponent.prototype.initializeEntityData=function(){var e=this,t=this.getValue().Content[0].Variations,n=t&&t.length>0?t[0].Source:null,o=this.store.getEntityByFullTypeName(this.selectedContentType);this.entityData={culture:this.settings.culture,provider:n,metadata:o},this.appStore.dispatch(B.FIELDS_ACTIONS.changeItemType({itemType:this.entityData.metadata.setName,value:Object(v.cloneObject)(this.getValue())}));var i=this.providerStore.getProviders(this.entityData.metadata.setName).subscribe((function(t){e.showProvidersDropdown=t.length>1}));this.registerSubscription(i),this.initializeSelectedContentItems(n)},FilterContentSelectorComponent.prototype.initializeSelectedContentItems=function(e){this.contentItemsSettings=null,this.contentItemsSettings=new f.ContentSettings(this.selectedContentType,!1),this.contentItemsSettings.contentType=this.selectedContentType,this.contentItemsSettings.contentAllowMultipleItemsSelection=!0,this.contentItemsSettings.culture=this.settings.culture,this.contentItemsSettings.contentLiveData=this.settings.contentLiveData,this.contentItemsSettings.contentProvider=e,this.contentItemsSettings.useDefaultValue=!0;var t=this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0;this.contentItemsSettings.defaultValue=t?this.getValue():null},FilterContentSelectorComponent.prototype.initializeRadioSettings=function(){if(this.radioSettings=new l.ChoiceSettings("radioSelector",!1),this.radioSettings.choices=[],this.radioSettings.choices.push({Name:"All published items",Value:"All"}),this.entityData.metadata.hasParent&&this.radioSettings.choices.push({Name:"From currently opened parent",Value:"CurrentParent"}),this.radioSettings.choices.push({Name:"Selected items",Value:"Selected"}),this.getValue().Content[0].Variations[0].DynamicFilterByParent)this.radioSettings.defaultValue="CurrentParent";else{var e=this.getValue().ItemIdsOrdered&&this.getValue().ItemIdsOrdered.length>0;this.radioSettings.defaultValue=e?"Selected":"All",this.showContentSelector=e}},FilterContentSelectorComponent.prototype.initializeFilterByParentField=function(e){var t=this.contentSelectors.toArray().find((function(e){return"ParentId"===e.settings.key}));t&&(t.settings.contentProvider=e,t.value&&(t.value.Content[0].Variations[0].Filter={Key:D,Value:""}),t.ngOnInit())},FilterContentSelectorComponent.ɵfac=function FilterContentSelectorComponent_Factory(e){return new(e||FilterContentSelectorComponent)(r["ɵɵdirectiveInject"](a.MetadataStore),r["ɵɵdirectiveInject"](c.LocatableDynamicItemService),r["ɵɵdirectiveInject"](p.ActivatedRoute),r["ɵɵdirectiveInject"](E.ProviderStore),r["ɵɵdirectiveInject"](m.FilterStore),r["ɵɵdirectiveInject"](C.AppStore),r["ɵɵdirectiveInject"](r.ChangeDetectorRef))},FilterContentSelectorComponent.ɵcmp=r["ɵɵdefineComponent"]({type:FilterContentSelectorComponent,selectors:[["sf-filtercontent-selector"]],viewQuery:function FilterContentSelectorComponent_Query(e,t){if(1&e&&(r["ɵɵviewQuery"](x,1),r["ɵɵviewQuery"](y,1),r["ɵɵviewQuery"](S,1),r["ɵɵviewQuery"](A.ContentSelectorComponent,1)),2&e){var n=void 0;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.selectedItemsComponent=n.first),r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.dateTimeComponent=n.first),r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.contentFilterRadio=n.first),r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.contentSelectors=n)}},features:[r["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(FilterContentSelectorComponent)]),r["ɵɵInheritDefinitionFeature"]],decls:6,vars:4,consts:[[1,"sf-field__label","-sf-mb-4xs"],[3,"settings","selectionChange",4,"ngIf"],["class","-sf-mt-s",4,"ngIf"],[4,"ngIf"],[3,"settings","selectionChange"],[1,"-sf-mt-s"],["class","sf-field__label -sf-mb-4xs",4,"ngIf"],[3,"displayMode","entityData","onChange","onInit"],["providerSelector",""],["contentFilterRadio",""],["class","-sf-block -sf-ml-xs",3,"settings",4,"ngIf"],[1,"-sf-block","-sf-ml-xs",3,"settings"],["selectedItemsComponent",""],["class","-sf-mt-s",4,"ngFor","ngForOf"],[3,"settings",4,"ngIf"],[1,"sf-field__label"],[3,"settings","onSelectionChange"],[3,"settings"],["dateTimeComponent",""]],template:function FilterContentSelectorComponent_Template(e,t){1&e&&(r["ɵɵelementStart"](0,"label",0),r["ɵɵtext"](1,"Content type"),r["ɵɵelementEnd"](),r["ɵɵtemplate"](2,FilterContentSelectorComponent_sf_dropdown_choice_2_Template,1,1,"sf-dropdown-choice",1),r["ɵɵtemplate"](3,FilterContentSelectorComponent_div_3_Template,4,3,"div",2),r["ɵɵtemplate"](4,FilterContentSelectorComponent_div_4_Template,6,2,"div",2),r["ɵɵtemplate"](5,FilterContentSelectorComponent_div_5_Template,5,4,"div",3)),2&e&&(r["ɵɵadvance"](2),r["ɵɵproperty"]("ngIf",t.contentSettings),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.selectedContentType&&t.entityData),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.selectedContentType&&t.radioSettings),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.selectedContentType&&!t.showContentSelector))},directives:[w.NgIf,d.ChoiceDropdownComponent,_.ProviderSelectorComponent,I.ChoiceComponent,A.ContentSelectorComponent,w.NgForOf,h.DateTimeSelectorComponent],pipes:[w.AsyncPipe],encapsulation:2}),FilterContentSelectorComponent}(i.FieldBase),M=function(e){function FilterContentSelectorSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(FilterContentSelectorSettings,e),FilterContentSelectorSettings}(s.SettingsBase),D="Complex",Q={writeComponent:T,readComponent:T,settingsType:M}},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentSettings",(function(){return i}));var o=n(259),i=function(e){function ContentSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ContentSettings,e),ContentSettings}(n(332).SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"DateTimeSelectorComponent",(function(){return g})),n.d(t,"DateTimeFilterValue",(function(){return E})),n.d(t,"DATE_TIME_SELECTOR_REGISTRY",(function(){return h}));var o=n(259),i=n(415),r=n(332),a=n(1143),s=(n(1242),n(3),n(229)),A=n(261),l=n(1142),c=n(354),d=n(324),p=n(1237),f=["fromDate"],u=["toDate"],m=["timeSpanValue"];function DateTimeSelectorComponent_sf_dropdown_choice_3_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-dropdown-choice",8),s["ɵɵlistener"]("selectionChange",(function DateTimeSelectorComponent_sf_dropdown_choice_3_Template_sf_dropdown_choice_selectionChange_0_listener(e){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onPeriodTypeSelectionChange(e)})),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵproperty"]("settings",o.periodTypeSettings)}}function DateTimeSelectorComponent_sf_input_4_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-input",9,10),s["ɵɵlistener"]("ngModelChange",(function DateTimeSelectorComponent_sf_input_4_Template_sf_input_ngModelChange_0_listener(e){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().currentValue.TimeSpanValue=e}))("onInput",(function DateTimeSelectorComponent_sf_input_4_Template_sf_input_onInput_0_listener(e){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onInput(e)})),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵproperty"]("ngModel",o.currentValue.TimeSpanValue)}}function DateTimeSelectorComponent_sf_dropdown_choice_5_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-dropdown-choice",11),s["ɵɵlistener"]("selectionChange",(function DateTimeSelectorComponent_sf_dropdown_choice_5_Template_sf_dropdown_choice_selectionChange_0_listener(e){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onPeriodSelectionChange(e)})),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵproperty"]("settings",o.periodSettings)}}function DateTimeSelectorComponent_sf_date_time_7_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-date-time",12,13),s["ɵɵlistener"]("dateValueChange",(function DateTimeSelectorComponent_sf_date_time_7_Template_sf_date_time_dateValueChange_0_listener(e){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onDateValueChange(e,"FromDate")})),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵproperty"]("settings",o.fromDateSettings)}}function DateTimeSelectorComponent_sf_date_time_8_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-date-time",14,15),s["ɵɵlistener"]("dateValueChange",(function DateTimeSelectorComponent_sf_date_time_8_Template_sf_date_time_dateValueChange_0_listener(e){return s["ɵɵrestoreView"](n),s["ɵɵnextContext"]().onDateValueChange(e,"ToDate")})),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]();s["ɵɵproperty"]("settings",o.toDateSettings)}}var g=function(e){function DateTimeSelectorComponent(){return e.call(this)||this}return Object(o.__extends)(DateTimeSelectorComponent,e),Object.defineProperty(DateTimeSelectorComponent.prototype,"fromDateComponent",{set:function(e){e&&e.writeValue(this.currentValue.FromDate)},enumerable:!1,configurable:!0}),Object.defineProperty(DateTimeSelectorComponent.prototype,"toDateComponent",{set:function(e){e&&e.writeValue(this.currentValue.ToDate)},enumerable:!1,configurable:!0}),Object.defineProperty(DateTimeSelectorComponent.prototype,"timeSpanValueComponent",{set:function(e){e&&e.writeValue(this.currentValue.TimeSpanValue)},enumerable:!1,configurable:!0}),DateTimeSelectorComponent.prototype.ngOnInit=function(){var t,n;e.prototype.ngOnInit.call(this),this.currentValue=null!==(n=null!==(t=this.value)&&void 0!==t?t:this.settings.defaultValue)&&void 0!==n?n:new E,this.periodTypeSettings=new a.ChoiceSettings("periodTypeSelector",!1),this.periodTypeSettings.choices=[],this.periodTypeSettings.choices.push({Name:"Any time",Value:"anyTime"}),this.periodTypeSettings.choices.push({Name:"Last...",Value:"last"}),this.periodTypeSettings.choices.push({Name:"From - to",Value:"period"}),this.periodTypeSettings.defaultValue=this.currentValue.PeriodType,this.periodSettings=new a.ChoiceSettings("periodSelector",!1),this.periodSettings.choices=[],this.periodSettings.choices.push({Name:"day(s)",Value:"days"}),this.periodSettings.choices.push({Name:"week(s)",Value:"weeks"}),this.periodSettings.choices.push({Name:"month(s)",Value:"months"}),this.periodSettings.choices.push({Name:"year(s)",Value:"years"}),this.periodSettings.defaultValue=this.currentValue.TimeSpanInterval,this.fromDateSettings=new a.ChoiceSettings("fromDateSelector",!1),this.fromDateSettings.defaultValue=this.currentValue.FromDate,this.toDateSettings=new a.ChoiceSettings("toDateSelector",!1),this.toDateSettings.defaultValue=this.currentValue.ToDate},DateTimeSelectorComponent.prototype.onPeriodTypeSelectionChange=function(e){var t=this.currentValue;t.PeriodType=e,this.writeValue(t)},DateTimeSelectorComponent.prototype.onPeriodSelectionChange=function(e){var t=this.currentValue;t.TimeSpanInterval=e,this.writeValue(t)},DateTimeSelectorComponent.prototype.onInput=function(e){var t=this.currentValue;t.TimeSpanValue=e.target.value,this.writeValue(t)},DateTimeSelectorComponent.prototype.onDateValueChange=function(e,t){var n=this.currentValue;n[t]=e,this.writeValue(n)},DateTimeSelectorComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.onChangeCallback&&this.onChangeCallback(t)},DateTimeSelectorComponent.ɵfac=function DateTimeSelectorComponent_Factory(e){return new(e||DateTimeSelectorComponent)},DateTimeSelectorComponent.ɵcmp=s["ɵɵdefineComponent"]({type:DateTimeSelectorComponent,selectors:[["sf-datetime-selector"]],viewQuery:function DateTimeSelectorComponent_Query(e,t){if(1&e&&(s["ɵɵviewQuery"](f,1),s["ɵɵviewQuery"](u,1),s["ɵɵviewQuery"](m,1)),2&e){var n=void 0;s["ɵɵqueryRefresh"](n=s["ɵɵloadQuery"]())&&(t.fromDateComponent=n.first),s["ɵɵqueryRefresh"](n=s["ɵɵloadQuery"]())&&(t.toDateComponent=n.first),s["ɵɵqueryRefresh"](n=s["ɵɵloadQuery"]())&&(t.timeSpanValueComponent=n.first)}},features:[s["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(DateTimeSelectorComponent)]),s["ɵɵInheritDefinitionFeature"]],decls:9,vars:6,consts:[[1,"sf-field__label","-sf-mb-4xs"],[1,"sf-row"],["class","sf-row__col -col-2",3,"settings","selectionChange",4,"ngIf"],["type","number","class","-sf-ml-3xs sf-row__col -col-1 -sf-txt-align-center",3,"ngModel","ngModelChange","onInput",4,"ngIf"],["class","-sf-ml-3xs sf-row__col -col-2",3,"settings","selectionChange",4,"ngIf"],[1,"sf-row","-sf-mt-3xs"],["datePlaceholder","Start date","timePlaceholder","Start time","look","medium",3,"settings","dateValueChange",4,"ngIf"],["datePlaceholder","End date","timePlaceholder","End time","look","medium","class","-sf-ml-2xs",3,"settings","dateValueChange",4,"ngIf"],[1,"sf-row__col","-col-2",3,"settings","selectionChange"],["type","number",1,"-sf-ml-3xs","sf-row__col","-col-1","-sf-txt-align-center",3,"ngModel","ngModelChange","onInput"],["timeSpanValue",""],[1,"-sf-ml-3xs","sf-row__col","-col-2",3,"settings","selectionChange"],["datePlaceholder","Start date","timePlaceholder","Start time","look","medium",3,"settings","dateValueChange"],["fromDate",""],["datePlaceholder","End date","timePlaceholder","End time","look","medium",1,"-sf-ml-2xs",3,"settings","dateValueChange"],["toDate",""]],template:function DateTimeSelectorComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"label",0),s["ɵɵtext"](1),s["ɵɵelementEnd"](),s["ɵɵelementStart"](2,"div",1),s["ɵɵtemplate"](3,DateTimeSelectorComponent_sf_dropdown_choice_3_Template,1,1,"sf-dropdown-choice",2),s["ɵɵtemplate"](4,DateTimeSelectorComponent_sf_input_4_Template,2,1,"sf-input",3),s["ɵɵtemplate"](5,DateTimeSelectorComponent_sf_dropdown_choice_5_Template,1,1,"sf-dropdown-choice",4),s["ɵɵelementStart"](6,"div",5),s["ɵɵtemplate"](7,DateTimeSelectorComponent_sf_date_time_7_Template,2,1,"sf-date-time",6),s["ɵɵtemplate"](8,DateTimeSelectorComponent_sf_date_time_8_Template,2,1,"sf-date-time",7),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]()),2&e&&(s["ɵɵadvance"](1),s["ɵɵtextInterpolate"](t.settings.title),s["ɵɵadvance"](2),s["ɵɵproperty"]("ngIf",t.periodTypeSettings),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",t.currentValue&&"last"===t.currentValue.PeriodType),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",t.periodSettings&&t.currentValue&&"last"===t.currentValue.PeriodType),s["ɵɵadvance"](2),s["ɵɵproperty"]("ngIf",t.fromDateSettings&&t.currentValue&&"period"===t.currentValue.PeriodType),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",t.toDateSettings&&t.currentValue&&"period"===t.currentValue.PeriodType))},directives:[A.NgIf,l.ChoiceDropdownComponent,c.SfInputComponent,d.NgControlStatus,d.NgModel,p.DateTimePickerComponent],encapsulation:2}),DateTimeSelectorComponent}(i.FieldBase),E=function E(){this.PeriodType="anyTime",this.TimeSpanValue=1,this.TimeSpanInterval="weeks"},h={writeComponent:g,readComponent:g,settingsType:r.SettingsBase}},function(e,t,n){"use strict";n.r(t),n.d(t,"DateTimeFilterParser",(function(){return r}));var o=n(2144),i=n(2146),r=function(){function DateTimeFilterParser(){}return DateTimeFilterParser.parseToDateTimeInterval=function(e,t){var n,r=this;if(!e)return new o.DateTimeFilterValue;var a=(null!==(n=(e?JSON.parse(e):new i.CombinedFilter).ChildFilters)&&void 0!==n?n:[]).find((function(e){return r.isDateFilter(e,t)}));if(a&&a.DateFieldName){var s=a;return(A=new o.DateTimeFilterValue).PeriodType="last",A.TimeSpanInterval=s.OffsetType,A.TimeSpanValue=s.OffsetValue,A}var A=new o.DateTimeFilterValue,l=a?a.ChildFilters.map((function(e){return e})):[];if(1===l.length&&"lt"===l[0].Operator){A.PeriodType="period";var c=new Date(l[0].FieldValue);A.ToDate=c}else if(1===l.length&&"gt"===l[0].Operator){A.PeriodType="period";c=new Date(l[0].FieldValue);A.FromDate=c}else 2===l.length&&(A.PeriodType="period",A.FromDate=new Date(l[0].FieldValue),A.ToDate=new Date(l[1].FieldValue));return A},DateTimeFilterParser.parseDateTimeIntervalToFilter=function(e,t){if(e&&"last"===e.PeriodType){var n=new i.DateInterval;return n.DateFieldName=t,n.OffsetType=e.TimeSpanInterval,n.OffsetValue=e.TimeSpanValue,n}if(e&&"period"===e.PeriodType){var o,r=new i.CombinedFilter;if(r.Operator="and",r.ChildFilters=[],e.FromDate)(o=new i.FilterClause).FieldName=t,o.Operator="gt",o.FieldValue=e.FromDate,r.ChildFilters.push(o);if(e.ToDate)(o=new i.FilterClause).FieldName=t,o.Operator="lt",o.FieldValue=e.ToDate,r.ChildFilters.push(o);if(r.ChildFilters.length>0)return r}return null},DateTimeFilterParser.isDateFilter=function(e,t){return!!e.DateFieldName||!!e.ChildFilters&&e.ChildFilters.findIndex((function(e){return e.FieldName===t}))>-1},DateTimeFilterParser}()},function(e,t,n){"use strict";n.r(t),n.d(t,"CombinedFilter",(function(){return o})),n.d(t,"FilterClause",(function(){return i})),n.d(t,"DateInterval",(function(){return r}));var o=function o(){},i=function i(){},r=function r(){}},function(e,t,n){"use strict";n.r(t),n.d(t,"ListSettingsComponent",(function(){return l})),n.d(t,"LIST_SETTINGS_REGISTRY",(function(){return d}));var o=n(259),i=n(415),r=n(3),a=n(229),s=n(354),A=n(324),l=function(e){function ListSettingsComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ListSettingsComponent,e),ListSettingsComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.value||this.writeValue(new p),this.itemsPerPageValue=this.value.ItemsPerPage,this.limitCountValue=this.value.LimitItemsCount},ListSettingsComponent.prototype.onInputChange=function(e,t){this.value||this.writeValue(new p);var n=this.getValue();n[t]=e.value,this.writeValue(n)},ListSettingsComponent.prototype.onRadioSelectionChange=function(e){this.value||this.writeValue(new p);var t=this.getValue();t.DisplayMode=e,this.writeValue(t)},ListSettingsComponent.prototype.isChecked=function(e){return this.value&&this.value.DisplayMode===e||!this.value&&"Paging"===e},ListSettingsComponent.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.onChangeCallback&&this.onChangeCallback(t)},ListSettingsComponent.ɵfac=function ListSettingsComponent_Factory(e){return c(e||ListSettingsComponent)},ListSettingsComponent.ɵcmp=a["ɵɵdefineComponent"]({type:ListSettingsComponent,selectors:[["sf-list-settings"]],features:[a["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(ListSettingsComponent)]),a["ɵɵInheritDefinitionFeature"]],decls:17,vars:12,consts:[[1,"sf-radio"],["type","radio","value","Paging",1,"sf-radio__input",3,"name","id","checked","change"],[1,"sf-radio__label",3,"for"],[1,"sf-radio__icon"],[1,"sf-radio__text","sf-row","-align-items-center"],["type","number","min","1","max","100",1,"-sf-ml-3xs","-sf-mr-3xs","sf-row__col","-col-1",3,"disabled","ngModel","onInput"],["type","radio","value","Limit",1,"sf-radio__input",3,"name","id","checked","change"]],template:function ListSettingsComponent_Template(e,t){1&e&&(a["ɵɵelementStart"](0,"ul"),a["ɵɵelementStart"](1,"li",0),a["ɵɵelementStart"](2,"input",1),a["ɵɵlistener"]("change",(function ListSettingsComponent_Template_input_change_2_listener(){return t.onRadioSelectionChange("Paging")})),a["ɵɵelementEnd"](),a["ɵɵelementStart"](3,"label",2),a["ɵɵelement"](4,"span",3),a["ɵɵelementStart"](5,"span",4),a["ɵɵtext"](6," Use paging - "),a["ɵɵelementStart"](7,"sf-input",5),a["ɵɵlistener"]("onInput",(function ListSettingsComponent_Template_sf_input_onInput_7_listener(e){return t.onInputChange(e,"ItemsPerPage")})),a["ɵɵelementEnd"](),a["ɵɵtext"](8," items per page "),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementStart"](9,"li",0),a["ɵɵelementStart"](10,"input",6),a["ɵɵlistener"]("change",(function ListSettingsComponent_Template_input_change_10_listener(){return t.onRadioSelectionChange("Limit")})),a["ɵɵelementEnd"](),a["ɵɵelementStart"](11,"label",2),a["ɵɵelement"](12,"span",3),a["ɵɵelementStart"](13,"span",4),a["ɵɵtext"](14," Show limited number - "),a["ɵɵelementStart"](15,"sf-input",5),a["ɵɵlistener"]("onInput",(function ListSettingsComponent_Template_sf_input_onInput_15_listener(e){return t.onInputChange(e,"LimitItemsCount")})),a["ɵɵelementEnd"](),a["ɵɵtext"](16," items in total "),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"](),a["ɵɵelementEnd"]()),2&e&&(a["ɵɵadvance"](2),a["ɵɵpropertyInterpolate"]("id",t.settings.key+"_0"),a["ɵɵproperty"]("name",t.settings.key)("checked",t.isChecked("Paging")),a["ɵɵadvance"](1),a["ɵɵpropertyInterpolate"]("for",t.settings.key+"_0"),a["ɵɵadvance"](4),a["ɵɵproperty"]("disabled",!t.isChecked("Paging"))("ngModel",t.itemsPerPageValue),a["ɵɵadvance"](3),a["ɵɵpropertyInterpolate"]("id",t.settings.key+"_1"),a["ɵɵproperty"]("name",t.settings.key)("checked",t.isChecked("Limit")),a["ɵɵadvance"](1),a["ɵɵpropertyInterpolate"]("for",t.settings.key+"_1"),a["ɵɵadvance"](4),a["ɵɵproperty"]("disabled",!t.isChecked("Limit"))("ngModel",t.limitCountValue))},directives:[s.SfInputComponent,A.NgControlStatus,A.NgModel],encapsulation:2}),ListSettingsComponent}(i.FieldBase),c=a["ɵɵgetInheritedFactory"](l),d={writeComponent:l,readComponent:l,settingsType:r.SettingsBase},p=function p(){this.ItemsPerPage=20,this.LimitItemsCount=20,this.DisplayMode="Paging"}},function(e,t,n){"use strict";n.r(t),n.d(t,"ChoiceServiceUrlComponent",(function(){return u})),n.d(t,"CHOICE_SERVICEURL_SETTINGS_REGISTRY",(function(){return m}));var o=n(259),i=n(270),r=n(2149),a=n(295),s=n(2150),A=n(336),l=n(1144),c=n(1143),d=n(229),p=n(261),f=n(324);function ChoiceServiceUrlComponent_select_2_option_1_Template(e,t){if(1&e&&(d["ɵɵelementStart"](0,"option",5),d["ɵɵtext"](1),d["ɵɵelementEnd"]()),2&e){var n=t.$implicit,o=t.index,i=d["ɵɵnextContext"](2);d["ɵɵpropertyInterpolate"]("value",n.Value),d["ɵɵproperty"]("selected",i.onChecked(o)),d["ɵɵadvance"](1),d["ɵɵtextInterpolate"](n.Name)}}function ChoiceServiceUrlComponent_select_2_Template(e,t){if(1&e){var n=d["ɵɵgetCurrentView"]();d["ɵɵelementStart"](0,"select",3),d["ɵɵlistener"]("change",(function ChoiceServiceUrlComponent_select_2_Template_select_change_0_listener(e){return d["ɵɵrestoreView"](n),d["ɵɵnextContext"]().onSelectionChange(e.target.selectedIndex)})),d["ɵɵtemplate"](1,ChoiceServiceUrlComponent_select_2_option_1_Template,2,3,"option",4),d["ɵɵelementEnd"]()}if(2&e){var o=d["ɵɵnextContext"]();d["ɵɵproperty"]("id",o.settings.key),d["ɵɵadvance"](1),d["ɵɵproperty"]("ngForOf",o.settings.choices)}}var u=function(e){function ChoiceServiceUrlComponent(t,n){var o=e.call(this)||this;return o.httpRequestWrapper=t,o.store=n,o}return Object(o.__extends)(ChoiceServiceUrlComponent,e),ChoiceServiceUrlComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this);var n=this.settings.choiceServiceUrl;n&&this.registerSubscription(this.store.pipe(s.FIELDS_SELECTORS.changeItemType).subscribe((function(o){o&&o.itemType?(t.setHidden(!1),t.httpRequestWrapper.get$(o.itemType+n).subscribe((function(e){e.isLoading||(t.initialChoices&&t.writeValue(e.content.value[0].Value),t.initialChoices=e.content.value,r.ContentWidgetFieldsChangeService.processSelectedItemsFieldChange(o.value,[t])||t.setChoices(t.initialChoices))}),(function(){t.settings.choices=[],e.prototype.ngOnInit.call(t)}))):t.setHidden(!0)})))},ChoiceServiceUrlComponent.prototype.setChoices=function(t){this.settings.choices=t;var n=this.getValue();e.prototype.ngOnInit.call(this),this.settings.choices.findIndex((function(e){return e.Value===n}))>-1?this.writeValue(n):this.writeValue(this.settings.choices[0].Value)},ChoiceServiceUrlComponent.ɵfac=function ChoiceServiceUrlComponent_Factory(e){return new(e||ChoiceServiceUrlComponent)(d["ɵɵdirectiveInject"](i.HttpODataRequestWrapper),d["ɵɵdirectiveInject"](a.AppStore))},ChoiceServiceUrlComponent.ɵcmp=d["ɵɵdefineComponent"]({type:ChoiceServiceUrlComponent,selectors:[["sf-choice-service-url"]],features:[d["ɵɵProvidersFeature"]([Object(A.createValueAccessor)(ChoiceServiceUrlComponent)]),d["ɵɵInheritDefinitionFeature"]],decls:3,vars:2,consts:[[1,"sf-select",3,"ngClass"],["choiceWrapper",""],["class","sf-field__input sf-select__item",3,"id","change",4,"ngIf"],[1,"sf-field__input","sf-select__item",3,"id","change"],[3,"value","selected",4,"ngFor","ngForOf"],[3,"value","selected"]],template:function ChoiceServiceUrlComponent_Template(e,t){1&e&&(d["ɵɵelementStart"](0,"div",0,1),d["ɵɵtemplate"](2,ChoiceServiceUrlComponent_select_2_Template,2,2,"select",2),d["ɵɵelementEnd"]()),2&e&&(d["ɵɵproperty"]("ngClass",t.settings.look),d["ɵɵadvance"](2),d["ɵɵproperty"]("ngIf",t.settings))},directives:[p.NgClass,p.NgIf,p.NgForOf,f.NgSelectOption,f["ɵangular_packages_forms_forms_z"]],encapsulation:2}),ChoiceServiceUrlComponent}(l.ChoiceComponent),m={writeComponent:u,readComponent:u,settingsType:c.ChoiceSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"ContentWidgetFieldsChangeService",(function(){return s})),n.d(t,"CONTENT_WIDGET_FIELD_CHANGE_HANDLER",(function(){return A}));var o=n(1127),i=n(266),r=n(2148),a=n(229),s=function(){function ContentWidgetFieldsChangeService(){}return ContentWidgetFieldsChangeService.prototype.processChange=function(e,t,n){e===i.Properties.SELECTED_ITEMS&&ContentWidgetFieldsChangeService.processSelectedItemsFieldChange(t,n.map((function(e){return e.currentInstance})))},ContentWidgetFieldsChangeService.prototype.canProcess=function(e){return void 0===e},ContentWidgetFieldsChangeService.processSelectedItemsFieldChange=function(e,t){var n,o,i=this.getOrderByField(t);return!(!i||!i.initialChoices)&&((null===(o=null===(n=e)||void 0===n?void 0:n.ItemIdsOrdered)||void 0===o?void 0:o.length)>0?i.setChoices(i.initialChoices):i.setChoices(i.initialChoices.filter((function(e){return"Manually"!==e.Value}))),!0)},ContentWidgetFieldsChangeService.getOrderByField=function(e){var t=e.find((function(e){return e.settings.key===i.Properties.ORDER_BY}));return t&&t instanceof r.ChoiceServiceUrlComponent?t:null},ContentWidgetFieldsChangeService.ɵfac=function ContentWidgetFieldsChangeService_Factory(e){return new(e||ContentWidgetFieldsChangeService)},ContentWidgetFieldsChangeService.ɵprov=a["ɵɵdefineInjectable"]({token:ContentWidgetFieldsChangeService,factory:ContentWidgetFieldsChangeService.ɵfac}),ContentWidgetFieldsChangeService}(),A={provide:o.FIELDS_CHANGE_SERVICE_TOKEN,useClass:s,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"FIELDS_SELECTORS",(function(){return i}));var o=n(296),i={changeItemType:Object(o.select)(Object(o.createSelector)((function(e){return e.fields}),(function(e){return e.contentSelector}))),changeViewName:Object(o.select)(Object(o.createSelector)((function(e){return e.fields}),(function(e){return e.viewName})))}},function(e,t,n){"use strict";n.r(t),n.d(t,"ListFieldMappingsComponent",(function(){return d})),n.d(t,"LIST_FIELD_MAPPINGS_REGISTRY",(function(){return f}));var o=n(259),i=n(415),r=n(2152),a=n(1143),s=n(229),A=n(261),l=n(354),c=n(1142);function ListFieldMappingsComponent_table_1_tr_8_div_4_span_1_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"span",15),s["ɵɵtext"](1),s["ɵɵelementEnd"]()),2&e){var n=s["ɵɵnextContext"](4);s["ɵɵadvance"](1),s["ɵɵtextInterpolate"](n.NO_TYPE_LABEL)}}function ListFieldMappingsComponent_table_1_tr_8_div_4_sf_notification_2_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"sf-notification",16),s["ɵɵtext"](1,"No field match available. Choose another template."),s["ɵɵelementEnd"]())}function ListFieldMappingsComponent_table_1_tr_8_div_4_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"div"),s["ɵɵtemplate"](1,ListFieldMappingsComponent_table_1_tr_8_div_4_span_1_Template,2,1,"span",13),s["ɵɵtemplate"](2,ListFieldMappingsComponent_table_1_tr_8_div_4_sf_notification_2_Template,2,0,"sf-notification",14),s["ɵɵelementEnd"]()),2&e){var n=s["ɵɵnextContext"](3);s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",!n.contentType),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",n.contentType)}}function ListFieldMappingsComponent_table_1_tr_8_sf_dropdown_choice_5_Template(e,t){if(1&e){var n=s["ɵɵgetCurrentView"]();s["ɵɵelementStart"](0,"sf-dropdown-choice",17),s["ɵɵlistener"]("selectionChange",(function ListFieldMappingsComponent_table_1_tr_8_sf_dropdown_choice_5_Template_sf_dropdown_choice_selectionChange_0_listener(e){s["ɵɵrestoreView"](n);var t=s["ɵɵnextContext"]().$implicit;return s["ɵɵnextContext"](2).onFieldNameChange(e,t)})),s["ɵɵelementEnd"]()}if(2&e){var o=s["ɵɵnextContext"]().$implicit;s["ɵɵproperty"]("settings",o.Settings)}}function ListFieldMappingsComponent_table_1_tr_8_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"tr",8),s["ɵɵelementStart"](1,"td",9),s["ɵɵtext"](2),s["ɵɵelementEnd"](),s["ɵɵelementStart"](3,"td",10),s["ɵɵtemplate"](4,ListFieldMappingsComponent_table_1_tr_8_div_4_Template,3,2,"div",11),s["ɵɵtemplate"](5,ListFieldMappingsComponent_table_1_tr_8_sf_dropdown_choice_5_Template,1,1,"sf-dropdown-choice",12),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]()),2&e){var n=t.$implicit;s["ɵɵadvance"](2),s["ɵɵtextInterpolate"](n.Title),s["ɵɵadvance"](2),s["ɵɵproperty"]("ngIf",!n.Settings),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",n.Settings)}}function ListFieldMappingsComponent_table_1_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"table",3),s["ɵɵelementStart"](1,"thead"),s["ɵɵelementStart"](2,"tr",4),s["ɵɵelementStart"](3,"td",5),s["ɵɵtext"](4,"Content for..."),s["ɵɵelementEnd"](),s["ɵɵelementStart"](5,"td",6),s["ɵɵtext"](6,"From field"),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementStart"](7,"tbody"),s["ɵɵtemplate"](8,ListFieldMappingsComponent_table_1_tr_8_Template,6,3,"tr",7),s["ɵɵpipe"](9,"async"),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]()),2&e){var n=s["ɵɵnextContext"]();s["ɵɵadvance"](8),s["ɵɵproperty"]("ngForOf",s["ɵɵpipeBind1"](9,1,n.fields$))}}function ListFieldMappingsComponent_sf_notification_2_Template(e,t){if(1&e&&(s["ɵɵelementStart"](0,"sf-notification",18),s["ɵɵtext"](1),s["ɵɵelementEnd"]()),2&e){var n=s["ɵɵnextContext"]();s["ɵɵadvance"](1),s["ɵɵtextInterpolate"](n.NO_VIEW_LABEL)}}var d=function(e){function ListFieldMappingsComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(ListFieldMappingsComponent,e),ListFieldMappingsComponent.prototype.modifyFieldInfo=function(e,t,n){var o=new a.ChoiceSettings(e.Title,!1);o.choices=n,o.look="-small";var i=this.getValue()?this.getValue().find((function(t){return t.FriendlyName===e.Title})):null,r=i?n.findIndex((function(e){return e.Value===i.Name})):-1;if(i&&r>-1)o.defaultValue=i.Name;else{var s=void 0;"ShortText"===e.Type?(s=t.defaultFieldName,o.defaultValue=t.defaultFieldName):s=n[0].Value,this.onFieldNameChange(s,e)}e.Settings=o},ListFieldMappingsComponent.prototype.onFieldNameChange=function(e,t){var n=this.getValue();n||(n=[]);var o=n.find((function(e){return e.FriendlyName===t.Title}));o?o.Name=e:n.push({Name:e,FriendlyName:t.Title}),this.writeValue(n)},ListFieldMappingsComponent.ɵfac=function ListFieldMappingsComponent_Factory(e){return p(e||ListFieldMappingsComponent)},ListFieldMappingsComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ListFieldMappingsComponent,selectors:[["sf-field-mappings"]],features:[s["ɵɵProvidersFeature"]([Object(i.createValueAccessor)(ListFieldMappingsComponent)]),s["ɵɵInheritDefinitionFeature"]],decls:3,vars:2,consts:[[1,"-sf-mt-3xs"],["class","sf-field__table",4,"ngIf"],["look","warning sf-txt-base",4,"ngIf"],[1,"sf-field__table"],[1,"sf-field__table-row","-head"],[1,"sf-field__table-header","-col-size-lxl"],[1,"sf-field__table-header"],["class","sf-field__table-row",4,"ngFor","ngForOf"],[1,"sf-field__table-row"],[1,"-col-size-lxl"],[1,"-sf-txt-base","-sf-pr-2xs"],[4,"ngIf"],["class","-sf-block",3,"settings","selectionChange",4,"ngIf"],["class","-sf-txt-hint",4,"ngIf"],["look","warning",4,"ngIf"],[1,"-sf-txt-hint"],["look","warning"],[1,"-sf-block",3,"settings","selectionChange"],["look","warning sf-txt-base"]],template:function ListFieldMappingsComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"div",0),s["ɵɵtemplate"](1,ListFieldMappingsComponent_table_1_Template,10,3,"table",1),s["ɵɵtemplate"](2,ListFieldMappingsComponent_sf_notification_2_Template,2,1,"sf-notification",2),s["ɵɵelementEnd"]()),2&e&&(s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",t.viewNameExists),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",!t.viewNameExists))},directives:[A.NgIf,A.NgForOf,l.SfNotificationComponent,c.ChoiceDropdownComponent],pipes:[A.AsyncPipe],encapsulation:2}),ListFieldMappingsComponent}(r.ListFieldMappingsBase),p=s["ɵɵgetInheritedFactory"](d),f={writeComponent:d,readComponent:d,settingsType:r.FieldMappingsSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"ListFieldMappingsBase",(function(){return m})),n.d(t,"FieldMappingsSettings",(function(){return g})),n.d(t,"FieldInfo",(function(){return E}));var o=n(259),i=n(415),r=n(295),a=n(2150),s=n(269),A=n(11),l=n(1213),c=n(2153),d=n(262),p=n(257),f=n(332),u=n(229),m=function(e){function ListFieldMappingsBase(t,n,o){var i=e.call(this)||this;return i.tweaksStore=t,i.store=n,i.metaDataStore=o,i.NO_VIEW_LABEL="No fields defined for the selected template. Contact your administrator.",i.NO_TYPE_LABEL="Content type not set",i.fields$=new A.ReplaySubject(1),i.viewNameExists=!1,i.fields=[],i}return Object(o.__extends)(ListFieldMappingsBase,e),ListFieldMappingsBase.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this);var n=this.store.pipe(a.FIELDS_SELECTORS.changeViewName),o=this.store.pipe(a.FIELDS_SELECTORS.changeItemType),i=Object(A.combineLatest)([n,o]).subscribe((function(e){var n=e[0],o=e[1];if(n){var i=JSON.parse(t.settings.viewMetaData)[n];t.viewNameExists=i&&i.length>0,t.viewNameExists&&(t.contentType=null==o?void 0:o.itemType,o&&o.itemType?Object(c.fromPromise)(t.tweaksStore.initializeForm(t.contentType,d.VIEW_NAME.EDIT,null,null,null)).subscribe((function(){var e=t.tweaksStore.getFormByType(t.contentType,d.VIEW_NAME.EDIT),n=t.metaDataStore.getEntity(t.contentType);t.initFields(),i.forEach((function(o,i){var r=new E;r.Title=o.fieldTitle,r.Type=o.fieldType,r.Ordinal=i+1;var a=Object.getOwnPropertyNames(n.properties).filter((function(e){var t=n.properties[e][p.FIELD_HIDDEN];return void 0===t||!t})).filter((function(e){return t.metaTypeEqualsFieldType(o.fieldType,n,e)})).map((function(t){var n=e.find((function(e){return e.name===t}));return{Name:(null==n?void 0:n.title)||t,Value:t}}));a&&a.length>0&&t.modifyFieldInfo(r,n,a),t.fields.push(r)})),t.updateFields()})):(t.initFields(),i.forEach((function(e,n){var o=new E;o.Title=e.fieldTitle,o.Type=e.fieldType,o.Ordinal=n+1,t.fields.push(o)})),t.updateFields()))}else t.viewNameExists=!1}));this.registerSubscription(i)},ListFieldMappingsBase.prototype.writeValue=function(t){e.prototype.writeValue.call(this,t),this.onChangeCallback&&this.onChangeCallback(t)},ListFieldMappingsBase.prototype.initFields=function(){this.fields=[]},ListFieldMappingsBase.prototype.metaTypeEqualsFieldType=function(e,t,n){if(this.checkSimpleTypesMatch(e,t.properties[n]))return!0;if(e.startsWith("RelatedData")){if(o=this.metaDataStore.getRelationshipPartnerTypeName(t,n))return!this.metaDataStore.getEntityByFullTypeName(o).isMedia}else if(e.startsWith("Related")){var o;if(o=this.metaDataStore.getRelationshipPartnerTypeName(t,n))return this.metaDataStore.getEntityByFullTypeName(o).isMedia}return!1},ListFieldMappingsBase.prototype.updateFields=function(){var e=this.fields.sort((function(e,t){return void 0===e.Ordinal?-1:void 0===t.Ordinal?1:e.Ordinal-t.Ordinal}));this.fields$.next(e)},ListFieldMappingsBase.prototype.checkSimpleTypesMatch=function(e,t){return"ShortText"===e||"LongText"===e||"Text"===e?this.checkTextTypesMatch(e,t):"Boolean"===e||"YesNo"===e?"boolean"===t.type||Array.isArray(t.type)&&t.type.includes("boolean"):"DateTime"===e?("string"===t.type||Array.isArray(t.type)&&t.type.includes("string"))&&"date-time"===t.format:"Number"===e?"number"===t.type||Array.isArray(t.type)&&t.type.includes("number"):"Classification"===e?"array"===t.type&&t["Telerik.Sitefinity.V1.TaxonomyUrl"]:"Address"===e&&"#/definitions/Telerik.Sitefinity.GeoLocations.Model.Address"===t.$ref},ListFieldMappingsBase.prototype.checkTextTypesMatch=function(e,t){return"ShortText"===e||"LongText"===e?("string"===t.type||Array.isArray(t.type)&&t.type.includes("string"))&&t["Telerik.Sitefinity.V1.FieldType"]===e:"Text"===e?("string"===t.type||Array.isArray(t.type)&&t.type.includes("string"))&&("ShortText"===t["Telerik.Sitefinity.V1.FieldType"]||"LongText"===t["Telerik.Sitefinity.V1.FieldType"]):void 0},ListFieldMappingsBase.ɵfac=function ListFieldMappingsBase_Factory(e){return new(e||ListFieldMappingsBase)(u["ɵɵdirectiveInject"](l.BackendTweaksStore),u["ɵɵdirectiveInject"](r.AppStore),u["ɵɵdirectiveInject"](s.MetadataStore))},ListFieldMappingsBase.ɵdir=u["ɵɵdefineDirective"]({type:ListFieldMappingsBase,features:[u["ɵɵInheritDefinitionFeature"]]}),ListFieldMappingsBase}(i.FieldBase),g=function(e){function FieldMappingsSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(FieldMappingsSettings,e),FieldMappingsSettings}(f.SettingsBase),E=function E(){}},,function(e,t,n){"use strict";n.r(t),n.d(t,"ParameterizedChoiceSelectorComponent",(function(){return y})),n.d(t,"PARAMETERIZED_CHOICE_SELECTOR_REGISTRY",(function(){return S}));var o=n(259),i=n(229),r=n(260),a=n(11),s=n(131),A=n(415),l=n(1142),c=n(352),d=n(1107),p=n(3),f=n(245),u=n(262),m=n(316),g=n(361),E=n(284),h=n(1118),b=n(1496),C=n(1500),B=n(2155),k=n(261),I=n(354),v=n(324),w=n(417),_=["defaultTemplate"],x=["chipsTemplate"];function ParameterizedChoiceSelectorComponent_ng_container_1_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵelement"](1,"sf-loader",4),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("count",n.settings.loaderHeight)}}function ParameterizedChoiceSelectorComponent_ng_container_2_ng_container_1_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}function ParameterizedChoiceSelectorComponent_ng_container_2_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ParameterizedChoiceSelectorComponent_ng_container_2_ng_container_1_Template,1,0,"ng-container",5),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",n.template)}}function ParameterizedChoiceSelectorComponent_ng_container_3_sf_component_loader_1_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-component-loader",7),2&e){var n=i["ɵɵnextContext"]().$implicit;i["ɵɵproperty"]("componentData",n)}}function ParameterizedChoiceSelectorComponent_ng_container_3_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,ParameterizedChoiceSelectorComponent_ng_container_3_sf_component_loader_1_Template,1,1,"sf-component-loader",6),i["ɵɵelementContainerEnd"]()),2&e){var n=t.$implicit;i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n)}}function ParameterizedChoiceSelectorComponent_ng_template_4_span_0_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"span"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵattribute"]("class",n.nestedFieldClassList),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.choiceSettings.choices[0].Name)}}function ParameterizedChoiceSelectorComponent_ng_template_4_sf_dropdown_choice_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-dropdown-choice",9),i["ɵɵlistener"]("ngModelChange",(function ParameterizedChoiceSelectorComponent_ng_template_4_sf_dropdown_choice_1_Template_sf_dropdown_choice_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).selectedChoice=e}))("selectionChange",(function ParameterizedChoiceSelectorComponent_ng_template_4_sf_dropdown_choice_1_Template_sf_dropdown_choice_selectionChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onSelectionChange(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("ngModel",o.selectedChoice)("settings",o.choiceSettings),i["ɵɵattribute"]("class",o.nestedFieldClassList)}}function ParameterizedChoiceSelectorComponent_ng_template_4_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,ParameterizedChoiceSelectorComponent_ng_template_4_span_0_Template,2,2,"span",0),i["ɵɵtemplate"](1,ParameterizedChoiceSelectorComponent_ng_template_4_sf_dropdown_choice_1_Template,1,3,"sf-dropdown-choice",8)),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("ngIf",n.choiceSettings.choices&&1===n.choiceSettings.choices.length),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.choiceSettings.choices&&n.choiceSettings.choices.length>1)}}function ParameterizedChoiceSelectorComponent_ng_template_6_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-chips",10),i["ɵɵlistener"]("selectChip",(function ParameterizedChoiceSelectorComponent_ng_template_6_Template_sf_chips_selectChip_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().onSelectChip(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("displayField",o.displayField)("config",o.choiceChipsConfig)("isSingleSelection",!0)("selectedChips",o.selectedChoices)("dropdownChips",o.recentChoices),i["ɵɵattribute"]("class",o.nestedFieldClassList)}}var y=function(e){function ParameterizedChoiceSelectorComponent(t,n,o,i){var r=e.call(this)||this;return r.dynamicItemService=t,r.route=n,r.propertyValueParserService=o,r.modalService=i,r.selectedChoices=[],r.displayField="Name",r.loaderHeight=3,r.classList="sf-parameterized-choice-selector",r.nestedFieldClassList="-sf-block -sf-mb-xs",r}return Object(o.__extends)(ParameterizedChoiceSelectorComponent,e),ParameterizedChoiceSelectorComponent.prototype.ngOnInit=function(){var t;e.prototype.ngOnInit.call(this),this.entityData=null!==(t=this.route.parent.snapshot.data[u.RESOLVE_NAMES.entityData])&&void 0!==t?t:this.settings.entityData,this.loadOptions()},ParameterizedChoiceSelectorComponent.prototype.ngAfterViewInit=function(){this.template="chips"===this.settings.template?this.chipsTemplate:this.defaultTemplate},ParameterizedChoiceSelectorComponent.prototype.writeValue=function(t){t&&(this.selectedChoice=t.Value,this.parameterValues=t.Parameters,this.setSelectedChoices()),e.prototype.writeValue.call(this,t)},ParameterizedChoiceSelectorComponent.prototype.validate=function(){var e=this;this.editorComponent?this.editorComponent.validate().subscribe((function(t){t.isValid?e.emitStatus({type:c.StatusType.Done}):e.emitStatus({type:c.StatusType.Error})})):this.emitStatus({type:c.StatusType.Done})},ParameterizedChoiceSelectorComponent.prototype.processErrors=function(t){return this.settings.template&&"default"!==this.settings.template&&!this.selectedChoice?e.prototype.processErrors.call(this,t):(t instanceof E.ValidationError&&this.editorComponent.showValidationErrors(t),null)},ParameterizedChoiceSelectorComponent.prototype.onSelectionChange=function(e){this.initializeParameters(e),this.updateValue()},ParameterizedChoiceSelectorComponent.prototype.onSelectChip=function(e){e.action&&"function"==typeof e.action?e.action():e.Value&&(this.selectedChoice=e.Value,this.onSelectionChange(this.selectedChoice))},ParameterizedChoiceSelectorComponent.prototype.loadOptions=function(){var e=this;this.dynamicItemService.executeBoundFunction(p.DataItem.emptyItem(this.entityData),"Default.GetChoiceOptions(fieldName='"+this.settings.key+"')").pipe(Object(s.delay)(u.BLUR_EFFECT_TIMEOUT)).subscribe((function(t){e.choices=t.value;var n=e.choices.map((function(e){return{Name:e.Name,Value:e.Value}}));e.choiceSettings=l.ChoiceDropdownComponent.createFieldSettings(n),e.parametersMetadata={},e.choices.forEach((function(t){e.parametersMetadata[t.Value]=t.ParametersMetadata})),e.selectedChoice?(e.initializeParameters(e.selectedChoice,e.parameterValues),e.setSelectedChoices()):e.settings.template&&"default"!==e.settings.template||(e.selectedChoice=n[0].Value,e.initializeParameters(e.selectedChoice)),e.settings.template&&"default"!==e.settings.template&&(e.choiceChipsConfig={showSelectedItemAsActive:!0},e.serviceAware=new d.ServiceContract((function(t){var n=e.choices;t.searchText&&(n=n.filter((function(e){return e.Name.toLowerCase().startsWith(t.searchText.toLowerCase())})));var o=t.filterValue;return o.Value&&(n=n.filter((function(t){return t[e.settings.selectorFilterProperty]===o.Value}))),Object(a.of)(n).toPromise()})),e.initializeRecentChoices(),e.initializeFilterItems())}))},ParameterizedChoiceSelectorComponent.prototype.initializeParameters=function(e,t){var n,o,i=this;void 0===t&&(t=!1);var r=this.parametersMetadata[e];if(r&&r.length){var a={propertyValues:t?this.parameterValues:{},propertyMetadata:r,propertyMetadataFlat:[],propertyLocalizationMode:null,name:null,caption:null};r.length>1&&(this.classList+=" -multiple-sections"),this.editorComponentDataList=[{type:b.BasicEditorViewComponent,afterComponentInit:function(e){e.initialize(a).subscribe((function(){setTimeout((function(){i.updateValue()}),0)})),i.editorComponent=e},properties:{context:{isQuickEdit:!0,sectionName:this.settings.key,widgetName:null===(o=null===(n=this.entityData)||void 0===n?void 0:n.metadata)||void 0===o?void 0:o.setName},fieldChange:function(){setTimeout((function(){i.updateValue()}),0)},cssClass:"",shouldHideBottomBorder:this.settings.shouldHideBottomBorder},updatePropertiesOnChange:!0}]}else this.editorComponentDataList=[],this.editorComponent=null},ParameterizedChoiceSelectorComponent.prototype.updateValue=function(){var e,t=this,n={};this.editorComponent&&(this.settings.onlyDirty?this.editorComponent.getModifiedProperties():this.editorComponent.getAllProperties()).forEach((function(e){var o=e.Value,i=t.getMetadata(e.Name);i&&("number"!=typeof o&&(o&&"string"!=typeof o||"boolean"==typeof e.Value||i&&"multipleChoices"===i.Type)&&(e.Value=t.propertyValueParserService.parseFieldValueToProperty(o,i.Type,i)),n[e.Name]=e.Value)}));this.selectedChoice&&this.writeValue({Name:null===(e=this.getChoice())||void 0===e?void 0:e.Name,Value:this.selectedChoice,Parameters:n})},ParameterizedChoiceSelectorComponent.prototype.getMetadata=function(e){return this.parametersMetadata[this.selectedChoice].flatMap((function(e){return e.Properties})).filter((function(t){return t.Name===e}))[0]},ParameterizedChoiceSelectorComponent.prototype.setSelectedChoices=function(){var e=this.getChoice();this.selectedChoices=e?[e]:[]},ParameterizedChoiceSelectorComponent.prototype.initializeRecentChoices=function(){this.recentChoices=this.choices.slice();var e=this.settings.recentProperty;e&&this.recentChoices.sort((function(t,n){return n[e]-t[e]}));var t=this.settings.recentCount;t&&this.recentChoices.length>t&&(this.recentChoices=this.recentChoices.slice(0,t)),this.recentChoices.length-1){var n=e.splice(t,1)[0];n.Title=r.OPERATION_TITLES.titleAndProperties,n.Ordinal=c.OUTSIDE_MENU_MAX_ORDINAL+1,e.splice(0,0,n)}},PagesOperationsFilter.prototype.mapOperation=function(e){return"SetAsHomepage"===e.Name&&(e.token={type:A.SaveAsHomePageCommand}),e},PagesOperationsFilter.ɵfac=function PagesOperationsFilter_Factory(e){return new(e||PagesOperationsFilter)},PagesOperationsFilter.ɵprov=a["ɵɵdefineInjectable"]({token:PagesOperationsFilter,factory:PagesOperationsFilter.ɵfac}),PagesOperationsFilter}(),m={multi:!0,provide:o.OPERATIONS_FILTER_TOKEN,useClass:u}},function(e,t,n){"use strict";n.r(t),n.d(t,"PagesTweaksHandler",(function(){return f})),n.d(t,"PAGES_TWEAKS_HANDLER",(function(){return m}));var o=n(259),i=n(351),r=n(1166),a=n(1186),s=n(2159),A=n(2160),l=n(2161),c=n(256),d=n(229),p=[{sectionName:"MainSection",fields:[a.NAVIGATION_OPTIONS_PROPERTIES.SHOW_IN_NAVIGATION,a.NAVIGATION_OPTIONS_PROPERTIES.PAGE_TYPE,a.NAVIGATION_OPTIONS_PROPERTIES.REDIRECT_PAGE],fieldType:i.FieldTypes.navigationOptionsCompositeField},{sectionName:"AdvancedOptionsSection",fields:[s.SEARCH_SITE_PROPERTIES.INCLUDE_IN_SEARCH_INDEX,s.SEARCH_SITE_PROPERTIES.CRAWLABLE,s.SEARCH_SITE_PROPERTIES.PRIORITY],fieldType:i.FieldTypes.searchSiteCompositeField},{sectionName:"AdvancedOptionsSection",fields:[A.ADVANCED_OPTIONS_PROPERTIES.REQUIRE_SSL,A.ADVANCED_OPTIONS_PROPERTIES.ENABLE_VIEW_STATE,A.ADVANCED_OPTIONS_PROPERTIES.INCLUDE_RAD_SCRIPT_MANAGER,A.ADVANCED_OPTIONS_PROPERTIES.ALLOW_PARAMETER_VALIDATION],fieldType:i.FieldTypes.advancedOptionsCompositeField},{sectionName:"MainSection",fields:[l.LocalizationStrategyProp],fieldType:i.FieldTypes.localizationStrategy}],f=function(e){function PagesTweaksHandler(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(PagesTweaksHandler,e),PagesTweaksHandler.prototype.handleFormTweak=function(e,t,n){var o=p.find((function(e){return!!e.fields.find((function(e){return e===t}))}));if(o){var i=e.find((function(e){return e.settings.name===o.sectionName})),r=n.find((function(e){return e.selector===o.fieldType}));return i.fields.push(r),o.fields}return[]},PagesTweaksHandler.prototype.canProcess=function(e){return e===c.PAGE_ITEM_FULL_NAME||e===c.PAGE_TEMPLATE_ITEM_FULL_NAME},PagesTweaksHandler.ɵfac=function PagesTweaksHandler_Factory(e){return u(e||PagesTweaksHandler)},PagesTweaksHandler.ɵprov=d["ɵɵdefineInjectable"]({token:PagesTweaksHandler,factory:PagesTweaksHandler.ɵfac}),PagesTweaksHandler}(r.CustomTweaksHandler),u=d["ɵɵgetInheritedFactory"](f),m={provide:r.CustomTweaksHandler,useClass:f,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"SEARCH_SITE_PROPERTIES",(function(){return l})),n.d(t,"SearchSiteCompositeComponent",(function(){return c}));var o=n(259),i=n(229),r=n(324),a=n(415),s=n(1122),A=n(261);function SearchSiteCompositeComponent_sf_form_field_wrapper_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-form-field-wrapper",4),i["ɵɵlistener"]("ngModelChange",(function SearchSiteCompositeComponent_sf_form_field_wrapper_5_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().writeValue({Priority:e})})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("formControlName",o.settings.innerFields.Priority.key)("fieldModel",o.settings.innerFields.Priority)("formControl",o.form.controls.Priority)}}var l={INCLUDE_IN_SEARCH_INDEX:"IncludeInSearchIndex",CRAWLABLE:"Crawlable",PRIORITY:"Priority"},c=function(e){function SearchSiteCompositeComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.form=new r.FormGroup({}),t}return Object(o.__extends)(SearchSiteCompositeComponent,e),SearchSiteCompositeComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.initializeForm()},SearchSiteCompositeComponent.prototype.writeValue=function(t){if(t){var n=this.getValue();null!==n&&Object.keys(n).length||(n={});var o=Object.assign({},n,t);o.hasOwnProperty(l.CRAWLABLE)&&(this.showPriorityField=o[l.CRAWLABLE]),e.prototype.writeValue.call(this,o)}},SearchSiteCompositeComponent.prototype.initializeForm=function(){var e=this;Object.keys(this.settings.innerFields).forEach((function(t){var n=e.settings.innerFields[t];if(null!=n){var o=n.value,i=new r.FormControl(o);e.form.setControl(n.key,i),t===l.CRAWLABLE?e.showPriorityField=o:t===l.PRIORITY&&(n.settings.showTitle=!0)}}))},SearchSiteCompositeComponent.ɵfac=function SearchSiteCompositeComponent_Factory(e){return d(e||SearchSiteCompositeComponent)},SearchSiteCompositeComponent.ɵcmp=i["ɵɵdefineComponent"]({type:SearchSiteCompositeComponent,selectors:[["sf-search-site-composite-field"]],viewQuery:function SearchSiteCompositeComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](s.FormFieldWrapperComponent,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.fields=n)}},features:[i["ɵɵInheritDefinitionFeature"]],decls:6,vars:8,consts:[[1,"sf-field__label"],[1,"sf-field__content",3,"formGroup"],["look","sequence",3,"formControlName","fieldModel","formControl","ngModelChange"],["look","sf-ml-s sf-width-3",3,"formControlName","fieldModel","formControl","ngModelChange",4,"ngIf"],["look","sf-ml-s sf-width-3",3,"formControlName","fieldModel","formControl","ngModelChange"]],template:function SearchSiteCompositeComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵtext"](1,"Site search and search engines"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"form",1),i["ɵɵelementStart"](3,"sf-form-field-wrapper",2),i["ɵɵlistener"]("ngModelChange",(function SearchSiteCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_3_listener(e){return t.writeValue({IncludeInSearchIndex:e})})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"sf-form-field-wrapper",2),i["ɵɵlistener"]("ngModelChange",(function SearchSiteCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_4_listener(e){return t.writeValue({Crawlable:e})})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](5,SearchSiteCompositeComponent_sf_form_field_wrapper_5_Template,1,3,"sf-form-field-wrapper",3),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](2),i["ɵɵproperty"]("formGroup",t.form),i["ɵɵadvance"](1),i["ɵɵproperty"]("formControlName",t.settings.innerFields.IncludeInSearchIndex.key)("fieldModel",t.settings.innerFields.IncludeInSearchIndex)("formControl",t.form.controls.IncludeInSearchIndex),i["ɵɵadvance"](1),i["ɵɵproperty"]("formControlName",t.settings.innerFields.Crawlable.key)("fieldModel",t.settings.innerFields.Crawlable)("formControl",t.form.controls.Crawlable),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.showPriorityField))},directives:[r["ɵangular_packages_forms_forms_ba"],r.NgControlStatusGroup,r.FormGroupDirective,s.FormFieldWrapperComponent,r.NgControlStatus,r.FormControlName,r.FormControlDirective,A.NgIf],encapsulation:2}),SearchSiteCompositeComponent}(a.FieldBase),d=i["ɵɵgetInheritedFactory"](c)},function(e,t,n){"use strict";n.r(t),n.d(t,"ADVANCED_OPTIONS_PROPERTIES",(function(){return l})),n.d(t,"AdvancedOptionsCompositeComponent",(function(){return c}));var o=n(259),i=n(229),r=n(324),a=n(415),s=n(1122),A=n(261);function AdvancedOptionsCompositeComponent_sf_form_field_wrapper_4_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-form-field-wrapper",4),i["ɵɵlistener"]("ngModelChange",(function AdvancedOptionsCompositeComponent_sf_form_field_wrapper_4_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().writeValue({EnableViewState:e})})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("formControlName",o.settings.innerFields.EnableViewState.key)("fieldModel",o.settings.innerFields.EnableViewState)("formControl",o.form.controls.EnableViewState)}}function AdvancedOptionsCompositeComponent_sf_form_field_wrapper_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-form-field-wrapper",4),i["ɵɵlistener"]("ngModelChange",(function AdvancedOptionsCompositeComponent_sf_form_field_wrapper_5_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().writeValue({IncludeScriptManager:e})})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("formControlName",o.settings.innerFields.IncludeScriptManager.key)("fieldModel",o.settings.innerFields.IncludeScriptManager)("formControl",o.form.controls.IncludeScriptManager)}}function AdvancedOptionsCompositeComponent_sf_form_field_wrapper_6_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-form-field-wrapper",4),i["ɵɵlistener"]("ngModelChange",(function AdvancedOptionsCompositeComponent_sf_form_field_wrapper_6_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().writeValue({AllowParametersValidation:e})})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("formControlName",o.settings.innerFields.AllowParametersValidation.key)("fieldModel",o.settings.innerFields.AllowParametersValidation)("formControl",o.form.controls.AllowParametersValidation)}}var l={REQUIRE_SSL:"RequireSsl",ENABLE_VIEW_STATE:"EnableViewState",INCLUDE_RAD_SCRIPT_MANAGER:"IncludeScriptManager",ALLOW_PARAMETER_VALIDATION:"AllowParametersValidation"},c=function(e){function AdvancedOptionsCompositeComponent(){var t=null!==e&&e.apply(this,arguments)||this;return t.form=new r.FormGroup({}),t}return Object(o.__extends)(AdvancedOptionsCompositeComponent,e),AdvancedOptionsCompositeComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.initializeForm()},AdvancedOptionsCompositeComponent.prototype.writeValue=function(t){if(t){var n=this.getValue();null!==n&&Object.keys(n).length||(n={});var o=Object.assign({},n,t);e.prototype.writeValue.call(this,o)}},AdvancedOptionsCompositeComponent.prototype.initializeForm=function(){var e=this;Object.keys(this.settings.innerFields).forEach((function(t){var n=e.settings.innerFields[t];if(null!=n){var o=n.value,i=new r.FormControl(o);e.form.setControl(n.key,i)}}))},AdvancedOptionsCompositeComponent.ɵfac=function AdvancedOptionsCompositeComponent_Factory(e){return d(e||AdvancedOptionsCompositeComponent)},AdvancedOptionsCompositeComponent.ɵcmp=i["ɵɵdefineComponent"]({type:AdvancedOptionsCompositeComponent,selectors:[["sf-advanced-optins"]],viewQuery:function AdvancedOptionsCompositeComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](s.FormFieldWrapperComponent,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.fields=n)}},features:[i["ɵɵInheritDefinitionFeature"]],decls:7,vars:7,consts:[[1,"sf-field__label"],[1,"sf-field__content",3,"formGroup"],["look","sequence",3,"formControlName","fieldModel","formControl","ngModelChange"],["look","sequence boolean-tooltip",3,"formControlName","fieldModel","formControl","ngModelChange",4,"ngIf"],["look","sequence boolean-tooltip",3,"formControlName","fieldModel","formControl","ngModelChange"]],template:function AdvancedOptionsCompositeComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"div",0),i["ɵɵtext"](1,"Other options"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"form",1),i["ɵɵelementStart"](3,"sf-form-field-wrapper",2),i["ɵɵlistener"]("ngModelChange",(function AdvancedOptionsCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_3_listener(e){return t.writeValue({RequireSsl:e})})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](4,AdvancedOptionsCompositeComponent_sf_form_field_wrapper_4_Template,1,3,"sf-form-field-wrapper",3),i["ɵɵtemplate"](5,AdvancedOptionsCompositeComponent_sf_form_field_wrapper_5_Template,1,3,"sf-form-field-wrapper",3),i["ɵɵtemplate"](6,AdvancedOptionsCompositeComponent_sf_form_field_wrapper_6_Template,1,3,"sf-form-field-wrapper",3),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵadvance"](2),i["ɵɵproperty"]("formGroup",t.form),i["ɵɵadvance"](1),i["ɵɵproperty"]("formControlName",t.settings.innerFields.RequireSsl.key)("fieldModel",t.settings.innerFields.RequireSsl)("formControl",t.form.controls.RequireSsl),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.settings.innerFields.EnableViewState.settings.isVisible),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.settings.innerFields.IncludeScriptManager.settings.isVisible),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.settings.innerFields.AllowParametersValidation.settings.isVisible))},directives:[r["ɵangular_packages_forms_forms_ba"],r.NgControlStatusGroup,r.FormGroupDirective,s.FormFieldWrapperComponent,r.NgControlStatus,r.FormControlName,r.FormControlDirective,A.NgIf],encapsulation:2}),AdvancedOptionsCompositeComponent}(a.FieldBase),d=i["ɵɵgetInheritedFactory"](c)},function(e,t,n){"use strict";n.r(t),n.d(t,"LocalizationStrategyProp",(function(){return E})),n.d(t,"LocalizationStrategyComponent",(function(){return h}));var o=n(259),i=n(336),r=n(229),a=n(351),s=n(1142),A=n(1143),l=n(245),c=n(266),d=n(378),p=n(324),f=n(261),u=n(1144),m=n(1122),g=["copyFromTemplate"];function LocalizationStrategyComponent_sf_choice_0_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-choice",3),r["ɵɵlistener"]("selectionChange",(function LocalizationStrategyComponent_sf_choice_0_Template_sf_choice_selectionChange_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onSelectionChange(e,"copy")})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("settings",o.viewModel.copySettings)}}function LocalizationStrategyComponent_ng_container_1_ng_container_1_Template(e,t){1&e&&r["ɵɵelementContainer"](0)}function LocalizationStrategyComponent_ng_container_1_Template(e,t){if(1&e&&(r["ɵɵelementContainerStart"](0),r["ɵɵtemplate"](1,LocalizationStrategyComponent_ng_container_1_ng_container_1_Template,1,0,"ng-container",4),r["ɵɵelementContainerEnd"]()),2&e){r["ɵɵnextContext"]();var n=r["ɵɵreference"](3);r["ɵɵadvance"](1),r["ɵɵproperty"]("ngTemplateOutlet",n)}}function LocalizationStrategyComponent_ng_template_2_sf_form_field_wrapper_1_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-form-field-wrapper",6),r["ɵɵlistener"]("ngModelChange",(function LocalizationStrategyComponent_ng_template_2_sf_form_field_wrapper_1_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"](2).onSelectionChange(e,"sync")})),r["ɵɵelementEnd"]()}if(2&e){var o=r["ɵɵnextContext"](2);r["ɵɵproperty"]("fieldModel",o.viewModel.keepSyncedModel)("formControl",o.viewModel.keepSyncedFormControl)}}function LocalizationStrategyComponent_ng_template_2_Template(e,t){if(1&e){var n=r["ɵɵgetCurrentView"]();r["ɵɵelementStart"](0,"sf-dropdown-choice",3),r["ɵɵlistener"]("selectionChange",(function LocalizationStrategyComponent_ng_template_2_Template_sf_dropdown_choice_selectionChange_0_listener(e){return r["ɵɵrestoreView"](n),r["ɵɵnextContext"]().onSelectionChange(e,"culture")})),r["ɵɵelementEnd"](),r["ɵɵtemplate"](1,LocalizationStrategyComponent_ng_template_2_sf_form_field_wrapper_1_Template,1,2,"sf-form-field-wrapper",5)}if(2&e){var o=r["ɵɵnextContext"]();r["ɵɵproperty"]("settings",o.viewModel.dropdownSettings),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",o.settings.syncAvailable)}}var E="LocalizationStrategy",h=function(e){function LocalizationStrategyComponent(t){var n=e.call(this)||this;return n.fieldProvider=t,n.localizationValue={},n.syncCommand="sync",n.copyCommand="copy",n.cultureCommand="culture",n}return Object(o.__extends)(LocalizationStrategyComponent,e),LocalizationStrategyComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this);var t=this.settings.forceSync,n=new A.ChoiceSettings("copyFrom",!1);n.choices=[{Name:"Copy content and widgets from...",Value:"1",ExpandedTemplate:this.copyFromTemplate}],t||n.choices.push({Name:"Start from scratch",Value:"2"}),n.defaultValue=n.choices[0].Value;var o=this.settings,i=s.ChoiceDropdownComponent.createFieldSettings(o.languages,o.languages[0].Value,"languageChoice","sf-mt-3xs"),r=Object(c.createFieldModel)(this.fieldProvider,"pages",a.FieldTypes.choiceMultiple,E,!1,{},"LocalizationStrategyChild",null,this.settings.readOnlyMode),l=r.settings;l.choices=[{Name:"Keep all language versions synced as one page",Value:"1"}],l.showTitle=!1,this.viewModel={copySettings:n,dropdownSettings:i,keepSyncedModel:r,keepSyncedFormControl:new p.FormControl(!1)}},LocalizationStrategyComponent.prototype.onSelectionChange=function(e,t){t===this.syncCommand?(this.localizationValue.EnableSync="1"===e,this.localizationValue.EnableSync?(delete this.localizationValue.EnableSplit,delete this.localizationValue.CopyFrom):(delete this.localizationValue.EnableSync,this.localizationValue.EnableSplit=!0,this.localizationValue.CopyFrom=this.lastSelectedLanguage)):t===this.copyCommand?(delete this.localizationValue.EnableSync,this.localizationValue.EnableSplit=!0,"1"===e?this.localizationValue.CopyFrom=this.viewModel.dropdownSettings.defaultValue:delete this.localizationValue.CopyFrom):t===this.cultureCommand&&(this.lastSelectedLanguage=e,this.localizationValue.CopyFrom=e,this.localizationValue.EnableSync||(this.localizationValue.EnableSplit=!0));var n=Object(l.cloneObject)(this.localizationValue);this.writeValue(n)},LocalizationStrategyComponent.ɵfac=function LocalizationStrategyComponent_Factory(e){return new(e||LocalizationStrategyComponent)(r["ɵɵdirectiveInject"](d.CompositeFieldsProvider))},LocalizationStrategyComponent.ɵcmp=r["ɵɵdefineComponent"]({type:LocalizationStrategyComponent,selectors:[["sf-localization-selector"]],viewQuery:function LocalizationStrategyComponent_Query(e,t){if(1&e&&r["ɵɵviewQuery"](g,3),2&e){var n;r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t.copyFromTemplate=n.first)}},features:[r["ɵɵInheritDefinitionFeature"]],decls:4,vars:2,consts:[[3,"settings","selectionChange",4,"ngIf"],[4,"ngIf"],["copyFromTemplate",""],[3,"settings","selectionChange"],[4,"ngTemplateOutlet"],["look","sequence boolean-tooltip sf-ml-s sf-mt-3xs sf-mb-s",3,"fieldModel","formControl","ngModelChange",4,"ngIf"],["look","sequence boolean-tooltip sf-ml-s sf-mt-3xs sf-mb-s",3,"fieldModel","formControl","ngModelChange"]],template:function LocalizationStrategyComponent_Template(e,t){1&e&&(r["ɵɵtemplate"](0,LocalizationStrategyComponent_sf_choice_0_Template,1,1,"sf-choice",0),r["ɵɵtemplate"](1,LocalizationStrategyComponent_ng_container_1_Template,2,1,"ng-container",1),r["ɵɵtemplate"](2,LocalizationStrategyComponent_ng_template_2_Template,2,2,"ng-template",null,2,r["ɵɵtemplateRefExtractor"])),2&e&&(r["ɵɵproperty"]("ngIf",!t.settings.forceSync),r["ɵɵadvance"](1),r["ɵɵproperty"]("ngIf",t.settings.forceSync))},directives:[f.NgIf,u.ChoiceComponent,f.NgTemplateOutlet,s.ChoiceDropdownComponent,m.FormFieldWrapperComponent,p.NgControlStatus,p.FormControlDirective],encapsulation:2}),LocalizationStrategyComponent}(i.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"PagesMetadataHandler",(function(){return k})),n.d(t,"PAGES_METADATA_HANDLER",(function(){return I}));var o,i,r,a=n(259),s=n(381),A=n(378),l=n(266),c=n(351),d=n(1186),p=n(2159),f=n(2160),u=n(2161),m=n(256),g=n(246),E=n(316),h=n(131),b=n(382),C=n(229),B=[{fields:[d.NAVIGATION_OPTIONS_PROPERTIES.SHOW_IN_NAVIGATION,d.NAVIGATION_OPTIONS_PROPERTIES.PAGE_TYPE,d.NAVIGATION_OPTIONS_PROPERTIES.REDIRECT_PAGE],fieldType:c.FieldTypes.navigationOptionsCompositeField,titles:(o={},o[d.NAVIGATION_OPTIONS_PROPERTIES.SHOW_IN_NAVIGATION]="Show in navigation",o[d.NAVIGATION_OPTIONS_PROPERTIES.PAGE_TYPE]="Make this a group page",o[d.NAVIGATION_OPTIONS_PROPERTIES.REDIRECT_PAGE]="Redirect to another page",o)},{fields:[p.SEARCH_SITE_PROPERTIES.INCLUDE_IN_SEARCH_INDEX,p.SEARCH_SITE_PROPERTIES.CRAWLABLE,p.SEARCH_SITE_PROPERTIES.PRIORITY],fieldType:c.FieldTypes.searchSiteCompositeField,titles:(i={},i[p.SEARCH_SITE_PROPERTIES.INCLUDE_IN_SEARCH_INDEX]="Allow site search to index this page",i[p.SEARCH_SITE_PROPERTIES.CRAWLABLE]="Allow external search engines to index this page and include in Sitemap",i[p.SEARCH_SITE_PROPERTIES.PRIORITY]="Priority in Sitemap",i)},{fields:[f.ADVANCED_OPTIONS_PROPERTIES.REQUIRE_SSL,f.ADVANCED_OPTIONS_PROPERTIES.ENABLE_VIEW_STATE,f.ADVANCED_OPTIONS_PROPERTIES.INCLUDE_RAD_SCRIPT_MANAGER,f.ADVANCED_OPTIONS_PROPERTIES.ALLOW_PARAMETER_VALIDATION],fieldType:c.FieldTypes.advancedOptionsCompositeField,titles:(r={},r[f.ADVANCED_OPTIONS_PROPERTIES.REQUIRE_SSL]="Require SSL",r[f.ADVANCED_OPTIONS_PROPERTIES.ENABLE_VIEW_STATE]="Enable ViewState",r[f.ADVANCED_OPTIONS_PROPERTIES.INCLUDE_RAD_SCRIPT_MANAGER]="Include RadScriptManager",r[f.ADVANCED_OPTIONS_PROPERTIES.ALLOW_PARAMETER_VALIDATION]="Allow parameter validation",r)},{fields:[u.LocalizationStrategyProp],fieldType:c.FieldTypes.localizationStrategy,titles:{LocalizationStrategyProp:"Copy from another language"}}],k=function(e){function PagesMetadataHandler(t,n){var o=e.call(this,t)||this;return o.fieldsProvider=t,o.dynamicService=n,o.fieldGroups=B,o}return Object(a.__extends)(PagesMetadataHandler,e),PagesMetadataHandler.prototype.canProcess=function(e){return e===m.PAGE_ITEM_FULL_NAME||e===m.PAGE_TEMPLATE_ITEM_FULL_NAME},PagesMetadataHandler.prototype.getFieldType=function(e,t,n,o){return e.setName===m.ENTITY_SET.PAGES?o===d.NAVIGATION_OPTIONS_PROPERTIES.PAGE_TYPE||o===d.NAVIGATION_OPTIONS_PROPERTIES.REDIRECT_PAGE?c.FieldTypes.choiceYesNo:o===l.Properties.PARENT_ID?c.FieldTypes.dropdownSelector:o===l.Properties.OUTPUT_CACHE_PROFILE?c.FieldTypes.choiceDropDown:null:e.setName===m.ENTITY_SET.TEMPLATES&&o===l.Properties.THUMBNAIL?c.FieldTypes.templateThumbnail:void 0},PagesMetadataHandler.prototype.updateFieldSettings=function(e,t,n){var o=this;t.setName===m.ENTITY_SET.PAGES?e.forEach((function(e){if(e.settings.showForAllTranslationsLabel=!1,e.selector===c.FieldTypes.choiceDropDown){var t=e.settings,o=n.find((function(t){return t.name===e.key}));if(o){var i=o.metadata;if(i&&i[m.KEY_VALUE_OPTIONS]){var r=[];i[m.KEY_VALUE_OPTIONS].forEach((function(e){r.push({Name:e.Key,Value:e.Value})})),t.choices=r,e.value||(e.value=r[0].Value)}}}})):t.setName===m.ENTITY_SET.TEMPLATES&&e.forEach((function(e){e.selector===c.FieldTypes.templateThumbnail&&(e.settings.useDefaultValue=!1)}));var i=e.find((function(e){return e.settings instanceof b.StructureUrlNameSettings}));i&&(i.settings.getUrlStructureData=function(e){return o.getUrlStructureData(e)})},PagesMetadataHandler.prototype.updateInnerFieldsSettings=function(e,t,n){Object.keys(e).forEach((function(o){if(null!==e[o]){var i=e[o].settings;i.showTitle=!1;var r=t.find((function(e){return e.name===o}));r?(i.isVisible=!0,i.readOnlyMode=n||r.readonly):(i.required=!1,i.isVisible=!1)}}))},PagesMetadataHandler.prototype.updateAdditionalSettings=function(e,t,n){if(e===u.LocalizationStrategyProp){var o=t.find((function(t){return t.name===e}));o&&this.updateLocalizationSettings(n,o)}},PagesMetadataHandler.prototype.updateLocalizationSettings=function(e,t){var n=e.settings;n.syncAvailable=t.metadata.hasOwnProperty("EnableSync"),n.forceSync=t.metadata.ForceSync,n.forceSync&&(n.title=t.title,n.tooltipModels=t.tooltipModels,n.showTitle=!0),n.languages=t.metadata.Languages.map((function(e){return{Name:e.Title,Value:e.Name}})),n.useDefaultValue=!0,n.markAsDirty=!0,n.defaultValue={EnableSplit:!0,CopyFrom:n.languages[0].Value},e.value=null},PagesMetadataHandler.prototype.getUrlStructureData=function(e){return this.dynamicService.getItemsByKeys({entityData:e,dataFieldNames:["RelativeUrlPath"],keys:[e.parentKey],keyProperty:e.metadata.key}).pipe(Object(h.map)((function(e){if(e&&e.dataItems){return{parentUrl:1===e.dataItems.length?e.dataItems[0].data.RelativeUrlPath:g.stringConstants.EMPTY_STRING,extension:null,editableUrl:null}}})))},PagesMetadataHandler.ɵfac=function PagesMetadataHandler_Factory(e){return new(e||PagesMetadataHandler)(C["ɵɵinject"](A.CompositeFieldsProvider),C["ɵɵinject"](E.DynamicItemService))},PagesMetadataHandler.ɵprov=C["ɵɵdefineInjectable"]({token:PagesMetadataHandler,factory:PagesMetadataHandler.ɵfac}),PagesMetadataHandler}(s.MetadataHandler),I={provide:s.MetadataHandler,useClass:k,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"TARGET_SITE_ID",(function(){return f})),n.d(t,"PageFieldsProvider",(function(){return u})),n.d(t,"PAGE_FIELDS_PROVIDER",(function(){return g}));var o=n(259),i=n(379),r=n(256),a=n(1523),s=n(229),A=n(266),l=n(2085),c=n(2164),d=n(382),p=n(1623),f="TargetSiteId",u=function(e){function PageFieldsProvider(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(PageFieldsProvider,e),PageFieldsProvider.prototype.overrideField=function(e){if(e.typeName===r.ENTITY_SET.PAGES){if(e.fieldName===f)return c.SITE_AND_LANG_SELECTOR_COMPONENT_REGISTRY;if(e.fieldName===A.Properties.DUPLICATE_CHILDREN)return a.CHOICE_YES_NO_REGISTRY;if("UrlName"===e.fieldName)return{readComponent:l.UrlNameComponent,settingsType:d.StructureUrlNameSettings,writeComponent:p.StructureUrlNameComponent}}},PageFieldsProvider.ɵfac=function PageFieldsProvider_Factory(e){return m(e||PageFieldsProvider)},PageFieldsProvider.ɵprov=s["ɵɵdefineInjectable"]({token:PageFieldsProvider,factory:PageFieldsProvider.ɵfac}),PageFieldsProvider}(i.DefaultFieldsProvider),m=s["ɵɵgetInheritedFactory"](u),g={provide:i.FIELDS_PROVIDER_TOKEN,useClass:u,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"SITE_AND_LANG_SELECTOR_COMPONENT_REGISTRY",(function(){return r}));var o=n(2165),i=n(1124),r={writeComponent:o.SiteAndLanguageSelectorComponent,settingsType:i.CompositeFieldSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"DUPLICATE_LANG_PROP_NAME",(function(){return b})),n.d(t,"SiteAndLanguageSelectorComponent",(function(){return C}));var o=n(259),i=n(2064),r=n(2069),a=n(242),s=n(260),A=n(262),l=n(1139),c=n(2078),d=n(131),p=n(11),f=n(336),u=n(245),m=n(1669),g=n(229),E=n(261),h=n(417);function SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_ng_container_3_span_1_Template(e,t){1&e&&(g["ɵɵelementStart"](0,"span",5),g["ɵɵtext"](1,"in"),g["ɵɵelementEnd"]())}var _c0=function(e){return[e]};function SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_ng_container_3_Template(e,t){if(1&e){var n=g["ɵɵgetCurrentView"]();g["ɵɵelementContainerStart"](0),g["ɵɵtemplate"](1,SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_ng_container_3_span_1_Template,2,0,"span",3),g["ɵɵelementStart"](2,"sf-chips",4),g["ɵɵlistener"]("selectChip",(function SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_ng_container_3_Template_sf_chips_selectChip_2_listener(e){return g["ɵɵrestoreView"](n),g["ɵɵnextContext"]().ngIf.onSelectedItemChanged(e)})),g["ɵɵelementEnd"](),g["ɵɵelementContainerEnd"]()}if(2&e){var o=g["ɵɵnextContext"]().ngIf,i=g["ɵɵnextContext"]().ngIf;g["ɵɵadvance"](1),g["ɵɵproperty"]("ngIf",(null==i.items?null:i.items.length)>1&&(null==o.items?null:o.items.length)>1),g["ɵɵadvance"](1),g["ɵɵproperty"]("config",o.chipsConfig)("isLoading",!0)("isSingleSelection",!0)("selectedChips",o.isReady?g["ɵɵpureFunction1"](7,_c0,o.selectedItem):null)("dropdownChips",o.items)("hidden",1===(null==o.items?null:o.items.length))}}function SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_Template(e,t){if(1&e){var n=g["ɵɵgetCurrentView"]();g["ɵɵelementContainerStart"](0),g["ɵɵelementStart"](1,"div",1),g["ɵɵelementStart"](2,"sf-chips",2),g["ɵɵlistener"]("selectChip",(function SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_Template_sf_chips_selectChip_2_listener(e){return g["ɵɵrestoreView"](n),g["ɵɵnextContext"]().ngIf.onSelectedItemChanged(e)})),g["ɵɵelementEnd"](),g["ɵɵtemplate"](3,SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_ng_container_3_Template,3,9,"ng-container",0),g["ɵɵelementEnd"](),g["ɵɵelementContainerEnd"]()}if(2&e){var o=t.ngIf,i=g["ɵɵnextContext"]().ngIf;g["ɵɵadvance"](2),g["ɵɵproperty"]("config",i.chipsConfig)("isLoading",!0)("isSingleSelection",!0)("selectedChips",i.isReady?g["ɵɵpureFunction1"](7,_c0,i.selectedItem):null)("dropdownChips",i.items)("hidden",1===(null==i.items?null:i.items.length)),g["ɵɵadvance"](1),g["ɵɵproperty"]("ngIf",(null==o.items?null:o.items.length)>1)}}function SiteAndLanguageSelectorComponent_ng_container_0_Template(e,t){if(1&e&&(g["ɵɵelementContainerStart"](0),g["ɵɵtemplate"](1,SiteAndLanguageSelectorComponent_ng_container_0_ng_container_1_Template,4,9,"ng-container",0),g["ɵɵpipe"](2,"async"),g["ɵɵelementContainerEnd"]()),2&e){var n=g["ɵɵnextContext"]();g["ɵɵadvance"](1),g["ɵɵproperty"]("ngIf",g["ɵɵpipeBind1"](2,1,n.languageSelector.change$))}}var b="DuplicateLanguage",C=function(e){function SiteAndLanguageSelectorComponent(t,n,o){var i=e.call(this)||this;return i.siteDataStore=t,i.logger=n,i.route=o,i.error$=new p.Subject,i.selectors=[],i.subscriptionsHolder$=new p.Subject,i.errorHandler=function(e){i.error$.next(e)},i}return Object(o.__extends)(SiteAndLanguageSelectorComponent,e),SiteAndLanguageSelectorComponent.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this);var n=this.route.parent.snapshot.data[A.RESOLVE_NAMES.siteDataStore],o=this.route.parent.snapshot.data[A.RESOLVE_NAMES.metadata],a=this.route.parent.firstChild.snapshot.data[m.DYNAMIC_ITEMS_DATA_NAME].culture;this.siteSelector=new i.SiteSelector(this.logger,n,o,this.siteDataStore),this.selectors.push(this.siteSelector),this.selectedLanguage=a||n.DefaultContentCulture,this.languageSelector=new r.LanguageSelector(this.logger,a),this.selectors.push(this.languageSelector),this.siteSelector.addChild(this.languageSelector),this.siteSelector.init(new c.SelectorContext),this.selectors.forEach((function(e){return e.error$.pipe(Object(d.takeUntil)(t.subscriptionsHolder$)).subscribe(t.errorHandler)})),this.selectors.forEach((function(e){e.change$.subscribe((function(e){if(e.isReady){if(t.siteAndLanguageValue||(t.siteAndLanguageValue={}),e===t.siteSelector){var n=e.selectedItem;t.selectedSiteId=n.value,t.selectedLanguage=t.selectedLanguage&&n.cultures.find((function(e){return e.value===t.selectedLanguage}))?t.selectedLanguage:n.defaultCulture.value,t.siteAndLanguageValue.RootId=n.sitemapRootNodeId,t.siteAndLanguageValue.TargetSiteId=n.value,t.siteAndLanguageValue.DuplicateLanguage=t.selectedLanguage}else e===t.languageSelector&&(t.siteAndLanguageValue.DuplicateLanguage=e.selectedItem.value,t.selectedLanguage=e.selectedItem.value);var o=Object(u.cloneObject)(t.siteAndLanguageValue);t.writeValue(o)}}))}))},SiteAndLanguageSelectorComponent.prototype.ngOnDestroy=function(){e.prototype.ngOnDestroy.call(this),this.subscriptionsHolder$.next({})},SiteAndLanguageSelectorComponent.ɵfac=function SiteAndLanguageSelectorComponent_Factory(e){return new(e||SiteAndLanguageSelectorComponent)(g["ɵɵdirectiveInject"](l.SiteDataStore),g["ɵɵdirectiveInject"](a.Logger),g["ɵɵdirectiveInject"](s.ActivatedRoute))},SiteAndLanguageSelectorComponent.ɵcmp=g["ɵɵdefineComponent"]({type:SiteAndLanguageSelectorComponent,selectors:[["sf-site-and-language-selector"]],features:[g["ɵɵInheritDefinitionFeature"]],decls:2,vars:3,consts:[[4,"ngIf"],[1,"sf-row","-align-items-center"],["data-sftest","linkInsertSiteSelector","look","justify-content-center",3,"config","isLoading","isSingleSelection","selectedChips","dropdownChips","hidden","selectChip"],["class","-sf-pl-4xs -sf-pr-3xs -sf-mb-4xs",4,"ngIf"],["data-sftest","linkInsertLanguageSelector","look","justify-content-center",3,"config","isLoading","isSingleSelection","selectedChips","dropdownChips","hidden","selectChip"],[1,"-sf-pl-4xs","-sf-pr-3xs","-sf-mb-4xs"]],template:function SiteAndLanguageSelectorComponent_Template(e,t){1&e&&(g["ɵɵtemplate"](0,SiteAndLanguageSelectorComponent_ng_container_0_Template,3,3,"ng-container",0),g["ɵɵpipe"](1,"async")),2&e&&g["ɵɵproperty"]("ngIf",g["ɵɵpipeBind1"](1,1,t.siteSelector.change$))},directives:[E.NgIf,h.ChipsComponent],pipes:[E.AsyncPipe],encapsulation:2}),SiteAndLanguageSelectorComponent}(f.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"PagesFieldsChangeService",(function(){return d})),n.d(t,"PAGES_FIELD_CHANGE_HANDLER",(function(){return p}));var o=n(1127),i=n(266),r=n(342),a=n(245),s=n(2163),A=n(256),l=n(1623),c=n(229),d=function(){function PagesFieldsChangeService(){}return PagesFieldsChangeService.prototype.processChange=function(e,t,n){if(e===i.Properties.PARENT_ID)(d=n.find((function(e){return"UrlName"===e.fieldModel.key})))&&(A=d.currentInstance)instanceof l.StructureUrlNameComponent&&A.handleParentChange&&A.handleParentChange(t);else if(e===s.TARGET_SITE_ID){var o=t;if(o){if(o.RootId){var A=n.find((function(e){return"ParentId"===e.fieldModel.key})).currentInstance,c=n.find((function(e){return e.fieldModel.key===s.TARGET_SITE_ID})).currentInstance;A.setCulture(c.selectedLanguage),A.setSiteId(c.selectedSiteId),A.writeValue(o.RootId)}var d,p=(d=n.find((function(e){return"UrlName"===e.fieldModel.key}))).formControl.errors;if(p){var f=Object.keys(p).filter((function(e){return e.startsWith(r.CUSTOM_ERROR_PREFIX)})),u=Object(a.cloneObject)(p);f.forEach((function(e){delete u[e]})),d.formControl.setErrors(u),d.formControl.updateValueAndValidity()}}}},PagesFieldsChangeService.prototype.canProcess=function(e){return e===A.PAGE_ITEM_FULL_NAME},PagesFieldsChangeService.ɵfac=function PagesFieldsChangeService_Factory(e){return new(e||PagesFieldsChangeService)},PagesFieldsChangeService.ɵprov=c["ɵɵdefineInjectable"]({token:PagesFieldsChangeService,factory:PagesFieldsChangeService.ɵfac}),PagesFieldsChangeService}(),p={provide:o.FIELDS_CHANGE_SERVICE_TOKEN,useClass:d,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"PagesEditExtender",(function(){return w})),n.d(t,"PAGES_EDIT_EXTENDER",(function(){return _}));var o=n(259),i=n(229),r=n(256),a=n(1199),s=n(1120),A=n(1186),l=n(1156),c=n(316),d=n(244),p=n(11),f=n(280),u=n(246),m=n(2165),g=n(2163),E=n(262),h=n(260),b=n(1152),C=n(1118),B=n(245),k=n(278),I=n(1177),v=n(1747),w=function(e){function PagesEditExtender(t,n,o,i,r,a){var s=e.call(this)||this;return s.pagesCommonHandler=t,s.environmentService=n,s.modalWindowService=o,s.router=i,s.service=r,s.window=a,s}return Object(o.__extends)(PagesEditExtender,e),PagesEditExtender.prototype.handleAction=function(e,t){var n,o,i=this;e.changedFields&&(n=e.changedFields[g.TARGET_SITE_ID],o=e.changedFields[m.DUPLICATE_LANG_PROP_NAME]);var r=e.siteData;if(o&&!n)return(a=new p.Subject).subscribe((function(){i.modalWindowService.hide(e.route).then((function(){var t=Object(B.cloneObject)(e.route.snapshot.queryParams);t[E.QUERY_PARAMS.CULTURE]=o,i.router.navigate([b.ROUTE_PATHS.PAGES],{queryParams:t})}))})),{handled:Object(p.of)(!0),result:this.updateItem(e,r.Id,!1),closeHandler:a};if(n&&n!==r.Id){delete e.changedFields[g.TARGET_SITE_ID];var a=void 0;return f.environmentTypes.integration===this.environmentService.getEnvironment()&&(a=new p.Subject).subscribe((function(){var e=i.window.location.href,t=e.indexOf("/(dialog:confirm"),r=e.indexOf(")"),a=e.substring(t,r+1);e=e.replace(a,u.stringConstants.EMPTY_STRING),e=i.replaceQueryParam(e,"sf_site",n),o&&(e=i.replaceQueryParam(e,E.QUERY_PARAMS.CULTURE,o)),i.window.open(e,u.SAME_TAB_TARGET)})),{handled:Object(p.of)(!0),result:this.updateItem(e,r.Id,!0),closeHandler:a}}return{handled:this.pagesCommonHandler.tryHandleAction(e)}},PagesEditExtender.prototype.modify=function(e){var t=e.dataItem,n=e.sections;if(t.metadata.setName===r.ENTITY_SET.PAGES){t.data&&t.data[A.NAVIGATION_OPTIONS_PROPERTIES.PAGE_TYPE]&&t.data[A.NAVIGATION_OPTIONS_PROPERTIES.PAGE_TYPE]!==A.PAGE_TYPE_OPTIONS.STANDARD?n.filter((function(e){return e.settings.name===s.FIELD_SECTION_NAMES.advancedOptions||e.settings.name===s.FIELD_SECTION_NAMES.seo||e.settings.name===s.FIELD_SECTION_NAMES.socialMedia})).forEach((function(e){var t=!0;e.fields.forEach((function(e){e.settings.required?(e.settings.isVisible=!0,t=!1):e.settings.isVisible=!1})),e.settings.isHidden=t})):n.filter((function(e){return e.settings.name===s.FIELD_SECTION_NAMES.advancedOptions||e.settings.name===s.FIELD_SECTION_NAMES.seo||e.settings.name===s.FIELD_SECTION_NAMES.socialMedia})).forEach((function(e){e.fields.forEach((function(e){e.settings.isVisible=!0})),e.settings.isHidden=!1}));var o=n.find((function(e){return"MainSection"===e.settings.name}));if(o){var i=o.fields.find((function(e){return"DuplicateChildren"===e.settings.key}));i&&(i.settings.showTitle=!1)}}return Object(p.of)(void 0)},PagesEditExtender.prototype.showHeader=function(e){return!0},PagesEditExtender.prototype.isSupportedType=function(e){return e.metadata.setName===l.PAGES_ENTITY_SET_NAME},PagesEditExtender.prototype.updateItem=function(e,t,n){return this.service.upsert({data:e.changedFields,dataItem:e.item,siteId:t,doNotRefreshItem:n})},PagesEditExtender.prototype.replaceQueryParam=function(e,t,n){if(e.includes(""+t)){var o=e.indexOf(t+"=")+(t+"=").length,i=e.indexOf("&",o),r=null;r=-1===i?e.substr(o):e.substring(o,i),e=e.replace(r,n)}else{var a="?";e.includes(a)&&(a="&"),e+=""+a+t+"="+n}return e},PagesEditExtender.ɵfac=function PagesEditExtender_Factory(e){return new(e||PagesEditExtender)(i["ɵɵinject"](v.PagesActionHandler),i["ɵɵinject"](k.EnvironmentService),i["ɵɵinject"](C.ModalWindowService),i["ɵɵinject"](h.Router),i["ɵɵinject"](c.DynamicItemService),i["ɵɵinject"](d.WINDOW_TOKEN))},PagesEditExtender.ɵprov=i["ɵɵdefineInjectable"]({token:PagesEditExtender,factory:PagesEditExtender.ɵfac}),Object(o.__decorate)([Object(o.__param)(1,Object(i.Inject)(I.NOTIFICATION_SERVICE)),Object(o.__metadata)("design:type",Function),Object(o.__metadata)("design:paramtypes",[Object,I.NotificationService]),Object(o.__metadata)("design:returntype",Object)],PagesEditExtender.prototype,"handleAction",null),PagesEditExtender}(a.EditExtender),_={multi:!0,provide:a.EDIT_EXTENDER_TOKEN,useClass:w}},function(e,t,n){"use strict";n.r(t),n.d(t,"TemplatesGridExtender",(function(){return k})),n.d(t,"TEMPLATES_GRID_EXTENDER",(function(){return I}));var o=n(259),i=n(229),r=n(11),a=n(131),s=n(1171),A=n(1397),l=n(319),c=n(1388),d=n(1118),p=n(1177),f=n(271),u=n(1169),m=n(1180),g=n(1747),E=n(1213),h=n(1174),b=n(268),C=n(256),B=n(2169),k=function(e){function TemplatesGridExtender(t,n,o,i,r,a,s,A,l){var c=e.call(this,s,i,n,A,l,a,o,r)||this;return c.pagesCommonHandler=t,c}return Object(o.__extends)(TemplatesGridExtender,e),TemplatesGridExtender.prototype.isSupportedType=function(e){return e.metadata.setName===C.ENTITY_SET.TEMPLATES},TemplatesGridExtender.prototype.reloadItems=function(e,t,n,o,i){var a=this.contentFilterService.getLoadArguments(e,t,n,o,i);return a.action||(a.action="filters(name=@sf_filter)?@sf_filter='ThisSite'"),this.dynamicItemStore.loadItems(a),r.NEVER},TemplatesGridExtender.prototype.loadMore=function(t){return t.action||(t.action="filters(name=@sf_filter)?@sf_filter='ThisSite'"),e.prototype.loadMore.call(this,t)},TemplatesGridExtender.prototype.tryHandleAction=function(e){var t=e.actionName;if(t===l.OPERATION_NAMES.template)return Object(r.of)(this.tryHandleChangeTemplateAction(e));if(t===l.OPERATION_NAMES.shareWith)return Object(r.of)(this.tryHandleShareWithAction(e));if(t===m.COMMAND_NAMES.selectionChanged&&!this.pagesCommonHandler.isGroupOrRedirectingPage(e.item))return this.tryHandleAction({actionName:l.OPERATION_NAMES.editContent,item:e.item,route:e.route,grid:e.grid});return t===l.OPERATION_NAMES.create?this.pagesCommonHandler.navigateToEdit(e):t===l.OPERATION_NAMES.edit||t===l.OPERATION_NAMES.duplicate?this.pagesCommonHandler.navigateToTitleAndProperties(e).pipe(Object(a.map)((function(e){return!!e}))):this.pagesCommonHandler.tryHandleAction(e)},TemplatesGridExtender.prototype.tryHandleChangeTemplateAction=function(e){var t=this,n={currentRoute:e.route,data:{selectedItems:e.item.data?[e.item]:[],entityData:e.item},model:null};return new u.ChangeTemplateCommand(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n).subscribe((function(e){e.success&&t.reloadService.requestReload()})),!0},TemplatesGridExtender.prototype.tryHandleShareWithAction=function(e){var t=this,n={currentRoute:e.route,data:{entityData:e.item},model:null};return new B.ShareWithCommand(this.dynamicItemStore.service,this.modalWindowService).execute(n).subscribe((function(e){e.success&&t.reloadService.requestReload()})),!0},TemplatesGridExtender.ɵfac=function TemplatesGridExtender_Factory(e){return new(e||TemplatesGridExtender)(i["ɵɵinject"](g.PagesActionHandler),i["ɵɵinject"](f.Settings),i["ɵɵinject"](d.ModalWindowService),i["ɵɵinject"](s.DynamicItemStore),i["ɵɵinject"](p.NOTIFICATION_SERVICE),i["ɵɵinject"](A.GridReloadService),i["ɵɵinject"](b.ContentFilterService),i["ɵɵinject"](h.SortService),i["ɵɵinject"](E.BackendTweaksStore))},TemplatesGridExtender.ɵprov=i["ɵɵdefineInjectable"]({token:TemplatesGridExtender,factory:TemplatesGridExtender.ɵfac}),TemplatesGridExtender}(c.GridExtenderBase),I={multi:!0,provide:c.GRID_EXTENDER_TOKEN,useClass:k}},function(e,t,n){"use strict";n.r(t),n.d(t,"ShareWithCommand",(function(){return s}));var o=n(11),i=n(131),r=n(1531),a=n(1118),s=function(){function ShareWithCommand(e,t){this.dynamicItemService=e,this.modalService=t,this.dialogTitle="Share template with sites"}return ShareWithCommand.prototype.execute=function(e){var t=e.currentRoute;this.entityData=e.data.entityData;var n=new o.BehaviorSubject(2),s={type:r.ModalListComponent,properties:{contentLook:"medium",action:"Default.GetSharedInSites()",actionTitle:this.dialogTitle,dataItem:this.entityData,showCounter:!1,isSearchVisible:!0,count:n,showDataItemTitle:!1,template:null,listLook:"actions-on-hover",tabsConfig:[{title:null,treeConfig:{status:!1,showBreadcrumb:!1,noSelection:!1,multiSelection:!0,clickable:!0,previewUrl:!1,treeProperties:{displayField:"Name",idField:"Id"}},noItemsLabel:"Sites using this template will appear here",itemsFilter:function(e){return e},itemsModifier:function(e){e.isTranslated=!0},selectedFilter:function(e){return e.IsShared}}]}},A=new o.Subject,l=new a.DialogData(s,(function(e){(null==e?void 0:e.data)&&e.data.data?A.next({success:!0,reload:!0}):A.next({success:!1,reload:!1})}),this.getButtons(),null,"-bottom");return this.modalService.setMapping(l,"sharedIn"),this.modalService.show("sharedIn",t.parent),A.pipe(Object(i.first)())},ShareWithCommand.prototype.confirmCallback=function(e){var t=e.component.tree;if(t){var n=t.getSelectedNodeIds();this.dynamicItemService.executeEntityOperationForDataItemKey(this.entityData.data.Id,this.entityData,"Default.ChangeSharedInSites()",{siteIds:n})}return Object(o.of)(new a.ClickResult(!0,!0,!1,!1))},ShareWithCommand.prototype.getButtons=function(){return[new a.ConfirmButton("Save changes",this.confirmCallback.bind(this)),new a.CancelButton]},ShareWithCommand}()},function(e,t,n){"use strict";n.r(t),n.d(t,"ZoneEditorTemplatesExtender",(function(){return m})),n.d(t,"ZONE_EDITOR_TEMPLATES_EDIT_EXTENDER",(function(){return g}));var o=n(259),i=n(229),r=n(11),a=n(131),s=n(1171),A=n(319),l=n(256),c=n(1118),d=n(1177),p=n(2169),f=n(1169),u=n(1781),m=function(e){function ZoneEditorTemplatesExtender(t,n,o){var i=e.call(this)||this;return i.modalWindowService=t,i.dynamicItemStore=n,i.notificationService=o,i}return Object(o.__extends)(ZoneEditorTemplatesExtender,e),ZoneEditorTemplatesExtender.prototype.canHandle=function(e){return e===l.ENTITY_SET.TEMPLATES},ZoneEditorTemplatesExtender.prototype.handleAction=function(e,t,n){switch(e.name){case A.OPERATION_NAMES.template:return this.handelChangeTemplate(t,n);case A.OPERATION_NAMES.shareWith:return this.shareWith(t,n)}return Object(r.of)(null)},ZoneEditorTemplatesExtender.prototype.handelChangeTemplate=function(e,t){var n={currentRoute:t,data:{selectedItems:[e],entityData:e},model:null};return new f.ChangeTemplateCommand(this.modalWindowService,this.dynamicItemStore,this.notificationService).execute(n)},ZoneEditorTemplatesExtender.prototype.shareWith=function(e,t){var n={currentRoute:t,data:{entityData:e},model:null};return new p.ShareWithCommand(this.dynamicItemStore.service,this.modalWindowService).execute(n).pipe(Object(a.map)((function(e){return e.reload=!1,e})))},ZoneEditorTemplatesExtender.ɵfac=function ZoneEditorTemplatesExtender_Factory(e){return new(e||ZoneEditorTemplatesExtender)(i["ɵɵinject"](c.ModalWindowService),i["ɵɵinject"](s.DynamicItemStore),i["ɵɵinject"](d.NOTIFICATION_SERVICE))},ZoneEditorTemplatesExtender.ɵprov=i["ɵɵdefineInjectable"]({token:ZoneEditorTemplatesExtender,factory:ZoneEditorTemplatesExtender.ɵfac}),ZoneEditorTemplatesExtender}(u.ZoneEditorBaseExtender),g={multi:!0,provide:u.ZONE_EDITOR_EXTENDER_TOKEN,useClass:m}},function(e,t,n){"use strict";n.r(t),n.d(t,"PageTempalteThumbnailComponent",(function(){return C})),n.d(t,"PAGE_TEMPLATE_THUMBNAIL_REGISTRY",(function(){return B}));var o=n(259),i=n(260),r=n(415),a=n(352),s=n(246),A=n(245),l=n(1211),c=n(1212),d=n(1439),p=n(1207),f=n(256),u=n(269),m=n(1118),g=n(229),E=n(261),h=n(1113),b=n(354);function PageTempalteThumbnailComponent_ng_container_0_Template(e,t){if(1&e&&(g["ɵɵelementContainerStart"](0),g["ɵɵelementStart"](1,"div",3),g["ɵɵelement"](2,"sf-thumbnail",4),g["ɵɵelementEnd"](),g["ɵɵelementContainerEnd"]()),2&e){var n=g["ɵɵnextContext"]();g["ɵɵadvance"](2),g["ɵɵproperty"]("showRemoveButton",!1)("removeButtonAreaLabel","Remove thumbnail")("selectable",!1)("src",n.thumbnailUrl)("isPlaceholder",!1)("isMultimedia",!0)("hasTooltip",!1)}}function PageTempalteThumbnailComponent_sf_button_1_Template(e,t){if(1&e){var n=g["ɵɵgetCurrentView"]();g["ɵɵelementStart"](0,"sf-button",5),g["ɵɵlistener"]("onClick",(function PageTempalteThumbnailComponent_sf_button_1_Template_sf_button_onClick_0_listener(){return g["ɵɵrestoreView"](n),g["ɵɵnextContext"]().handleFileUpload()})),g["ɵɵelementEnd"]()}if(2&e){var o=g["ɵɵnextContext"]();g["ɵɵproperty"]("iconLook",o.thumbnailUrl?"size-3xs":"size-xs")("icon",o.thumbnailUrl?"pencil":"plus"),g["ɵɵattribute"]("title",o.thumbnailUrl?"Change":"Add")}}function PageTempalteThumbnailComponent_ng_template_2_Template(e,t){1&e&&(g["ɵɵelementStart"](0,"div",6),g["ɵɵelement"](1,"sf-icon",7),g["ɵɵelementEnd"]())}var C=function(e){function PageTempalteThumbnailComponent(t,n,o,i){var r=e.call(this)||this;return r.modalService=t,r.route=n,r.metadataStore=o,r.store=i,r.acceptableMediaTypes=[],r.acceptableFileTypes=[],r.useLiveData=!1,r}return Object(o.__extends)(PageTempalteThumbnailComponent,e),PageTempalteThumbnailComponent.prototype.ngOnInit=function(){var e,t,n,o=this,i=this.metadataStore.getEntity(f.ENTITY_SET.IMAGES).clone();this.thumbnailUrl=null===(n=null===(t=null===(e=this.settings)||void 0===e?void 0:e.dataItem)||void 0===t?void 0:t.data)||void 0===n?void 0:n.ThumbnailUrl,this.thumbnailUrl||(this.thumbnailUrl=this.settings.defaultValue,this.writeValue(null)),this.sourceLibraryId=this.settings.sourceLibraryId,this.useLiveData=this.settings.useLiveData,this.maxSize=this.settings.maxSize,this.settings.defaultValue=[],this.acceptableMediaTypes=this.settings.acceptableMediaTypes,this.acceptableFileTypes=this.settings.acceptableFileTypes,this.uniqueName=""+this.settings.name+(this.settings.dataItem?this.settings.dataItem.key:Object(A.guid)()),this.mediaEntity={metadata:i,provider:this.settings.provider,culture:this.settings.dataItem.culture},this.store.clearUploads();var r=this.store.uploads.subscribe((function(e){o.onUpload(e.items,e.uploadFieldState)}));this.registerSubscription(r)},PageTempalteThumbnailComponent.prototype.writeValue=function(t){var n=Array.isArray(t)?t:[t];e.prototype.writeValue.call(this,n)},PageTempalteThumbnailComponent.prototype.postProcessValue=function(e){return e?Array.isArray(e)?e[0]?e[0]:s.stringConstants.DEFAULT_GUID:e:s.stringConstants.DEFAULT_GUID},PageTempalteThumbnailComponent.prototype.handleFileUpload=function(){var e=this,t={type:c.FilePickerComponent,afterComponentInit:function(t){t.value=e.value.map((function(e){return{data:{Id:e}}}))},properties:{formattedTypeName:"a template image",name:this.uniqueName,acceptableFileTypes:this.acceptableFileTypes,acceptableMediaTypes:this.acceptableMediaTypes,maxSize:this.maxSize,allowCreate:this.settings.allowCreate,initialViewMode:l.FilePickerViewMode.Select,useOnlySelectMode:!1,sourceLibraryId:this.sourceLibraryId,targetLibraryId:this.sourceLibraryId,useLiveData:this.useLiveData,multiple:!1,value:this.value.map((function(e){return{data:{Id:e}}})),mediaEntityData:this.mediaEntity,showParentLibrary:!1}};t.properties.showProviderSelector=!1;var n=new m.DialogData(t,(function(t){var n;if(t&&t.data){var o=null!==(n=t.data.data)&&void 0!==n?n:t.data;e.writeValue(o.Id),e.thumbnailUrl=o.Url}}),[],"-prompt");this.modalService.setMapping(n,"openTemplateFilePicker"),this.modalService.open(this.route,"openTemplateFilePicker")},PageTempalteThumbnailComponent.prototype.onUpload=function(e,t){var n=this;e.filter((function(e){return e.key===n.uniqueName})).forEach((function(e,t){var o=e.upload,i=o.success,r=o.result;n.emitStatus({type:a.StatusType.Pending}),i?(n.writeValue(r.Id),n.thumbnailUrl=r.Url,n.store.removeFile(n.mediaEntity,e.upload)):e.upload.failure&&n.emitStatus({type:a.StatusType.Error,data:r.errorMessage})})),t.fieldName===this.uniqueName&&this.emitStatus({type:a.StatusType.Done})},PageTempalteThumbnailComponent.ɵfac=function PageTempalteThumbnailComponent_Factory(e){return new(e||PageTempalteThumbnailComponent)(g["ɵɵdirectiveInject"](m.ModalWindowService),g["ɵɵdirectiveInject"](i.ActivatedRoute),g["ɵɵdirectiveInject"](u.MetadataStore),g["ɵɵdirectiveInject"](p.LibraryStore))},PageTempalteThumbnailComponent.ɵcmp=g["ɵɵdefineComponent"]({type:PageTempalteThumbnailComponent,selectors:[["sf-template-thumbnail"]],features:[g["ɵɵInheritDefinitionFeature"]],decls:4,vars:3,consts:[[4,"ngIf","ngIfElse"],["look","circle small left no-focus-visible","ariaLabel","Change thumbnail",3,"iconLook","icon","onClick",4,"ngIf"],["empty",""],[1,"sf-row","-sf-mb-3xs"],["look","prepreview small","type","image/jpeg","alt","Video thumbnail",3,"showRemoveButton","removeButtonAreaLabel","selectable","src","isPlaceholder","isMultimedia","hasTooltip"],["look","circle small left no-focus-visible","ariaLabel","Change thumbnail",3,"iconLook","icon","onClick"],[1,"sf-media","-empty","-sf-mb-3xs"],["name","picture-o","look","lighter size-4xl sf-mr-zero"]],template:function PageTempalteThumbnailComponent_Template(e,t){if(1&e&&(g["ɵɵtemplate"](0,PageTempalteThumbnailComponent_ng_container_0_Template,3,7,"ng-container",0),g["ɵɵtemplate"](1,PageTempalteThumbnailComponent_sf_button_1_Template,1,3,"sf-button",1),g["ɵɵtemplate"](2,PageTempalteThumbnailComponent_ng_template_2_Template,2,0,"ng-template",null,2,g["ɵɵtemplateRefExtractor"])),2&e){var n=g["ɵɵreference"](3);g["ɵɵproperty"]("ngIf",t.thumbnailUrl)("ngIfElse",n),g["ɵɵadvance"](1),g["ɵɵproperty"]("ngIf",!t.settings.readOnlyMode)}},directives:[E.NgIf,h.ThumbnailComponent,b.SfButtonComponent,b.SfIconComponent],encapsulation:2}),PageTempalteThumbnailComponent}(r.FieldBase),B={writeComponent:C,readComponent:C,settingsType:d.MediaSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"PageTempaltesEditExtender",(function(){return A})),n.d(t,"PAGE_TEMPLATES_EDIT_EXTENDER",(function(){return c}));var o=n(259),i=n(229),r=n(266),a=n(1199),s=n(256),A=function(e){function PageTempaltesEditExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(PageTempaltesEditExtender,e),PageTempaltesEditExtender.prototype.isSupportedType=function(e){return e.metadata.setName===s.ENTITY_SET.TEMPLATES},PageTempaltesEditExtender.prototype.includedProperties=function(e){return[r.Properties.THUMBNAIL_URL]},PageTempaltesEditExtender.prototype.showHeader=function(e){return!0},PageTempaltesEditExtender.ɵfac=function PageTempaltesEditExtender_Factory(e){return l(e||PageTempaltesEditExtender)},PageTempaltesEditExtender.ɵprov=i["ɵɵdefineInjectable"]({token:PageTempaltesEditExtender,factory:PageTempaltesEditExtender.ɵfac}),PageTempaltesEditExtender}(a.EditExtender),l=i["ɵɵgetInheritedFactory"](A),c={multi:!0,provide:a.EDIT_EXTENDER_TOKEN,useClass:A}},function(e,t,n){"use strict";n.r(t),n.d(t,"PARENTS_DROPDOWN_REGISTRY",(function(){return a}));var o=n(1612),i=n(1613),r=n(332),a={writeComponent:o.DropdownSelectorComponent,readComponent:i.DropdownSelectorReadonlyComponent,settingsType:r.SettingsBase}},function(e,t,n){"use strict";n.r(t),n.d(t,"TIMEZONES_REGISTRY",(function(){return a}));var o=n(1610),i=n(1614),r=n(332),a={writeComponent:o.TimeZonesComponent,readComponent:i.TimeZonesReadonlyComponent,settingsType:r.SettingsBase}},function(e,t,n){"use strict";n.r(t),n.d(t,"EventsModule",(function(){return h}));var o=n(261),i=n(1808),r=n(1807),a=n(1097),s=n(1569),A=n(2176),l=n(2177),c=n(2178),d=n(2182),p=n(2179),f=n(1617),u=n(1238),m=n(2183),g=n(2184),E=n(229),h=function(){function EventsModule(){}return EventsModule.ɵfac=function EventsModule_Factory(e){return new(e||EventsModule)},EventsModule.ɵmod=E["ɵɵdefineNgModule"]({type:EventsModule}),EventsModule.ɵinj=E["ɵɵdefineInjector"]({providers:[u.EventDatesService,m.EVENTS_GRID_EXTENDER,d.EVENTS_FIELD_CHANGE_HANDLER,f.EVENTS_METADATA_HANDLER,p.EventsHelper,g.EVENTS_EDIT_EXTENDER],imports:[[o.CommonModule,a.FieldsModule,s.SharedModule]]}),EventsModule}();E["ɵɵsetNgModuleScope"](h,{declarations:[i.EventTimeGridCellComponent,r.CalendarGridCellComponent,A.EventTimeCompositeComponent,l.EventTimeCompositeReadonlyComponent,c.RecurringEventComponent],imports:[o.CommonModule,a.FieldsModule,s.SharedModule],exports:[A.EventTimeCompositeComponent,l.EventTimeCompositeReadonlyComponent,c.RecurringEventComponent]})},function(e,t,n){"use strict";n.r(t),n.d(t,"EventTimeCompositeComponent",(function(){return k}));var o=n(259),i=n(229),r=n(1237),a=n(324),s=n(1122),A=n(350),l=n(349),c=n(337),d=n(415),p=n(1238),f=n(1423),u=n(1610),m=n(352),g=n(1809),E=n(245),h=n(260),b=n(262),C=n(261),B=n(354);function EventTimeCompositeComponent_sf_error_5_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-error",7),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("messages",n.errorMessages)}}function EventTimeCompositeComponent_sf_form_field_wrapper_6_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-form-field-wrapper",2),i["ɵɵlistener"]("ngModelChange",(function EventTimeCompositeComponent_sf_form_field_wrapper_6_Template_sf_form_field_wrapper_ngModelChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().writeValue({TimeZoneId:e})})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"]();i["ɵɵproperty"]("formControlName",o.compositeFieldSettings.innerFields.TimeZoneId.key)("fieldModel",o.compositeFieldSettings.innerFields.TimeZoneId)("look","input"===o.compositeFieldSettings.innerFields.TimeZoneId.settings.displayMode?"filter small":"")("formControl",o.form.controls.TimeZoneId)}}var _c0=function(e){return{"-sf-hidden":e}},k=function(e){function EventTimeCompositeComponent(t,n){var o=e.call(this)||this;return o.eventsDateService=t,o.route=n,o.showEventEndField=!0,o.isAllDayEvent=!1,o.errorMessages=[],o.form=new a.FormGroup({}),o.showTime=!0,o.propertyFieldMap=new Map,o.isInCopyMode=!1,o}return Object(o.__extends)(EventTimeCompositeComponent,e),Object.defineProperty(EventTimeCompositeComponent.prototype,"compositeFieldSettings",{get:function(){return this.settings},enumerable:!1,configurable:!0}),EventTimeCompositeComponent.prototype.ngOnInit=function(){e.prototype.ngOnInit.call(this),this.initializeRecurrenceRule(),this.initializeSettings(),this.initializeForm(),this.resolveCopyMode()},EventTimeCompositeComponent.prototype.ngAfterViewInit=function(){this.initializePropertyFieldMap();var e=this.propertyFieldMap.get(A.EVENT_PROPERTIES.EVENT_END);e&&(this.endDatePicker=e.currentInstance);var t=this.fields.find((function(e){return e.fieldModel.key===A.EVENT_PROPERTIES.ALL_DAY_EVENT}));t&&this.onAllDayEventClick(t.getValue()),this.compositeFieldSettings.dataItem&&this.compositeFieldSettings.dataItem.data&&this.handleEndDateInitialVisibility();var n=this.propertyFieldMap.get(A.EVENT_PROPERTIES.TIME_ZONE_ID);n&&(this.compositeFieldSettings.defaultValue=this.compositeFieldSettings.defaultValue||{},this.compositeFieldSettings.defaultValue[A.EVENT_PROPERTIES.TIME_ZONE_ID]=n.fieldModel.settings.defaultValue)},EventTimeCompositeComponent.prototype.getValue=function(e){if(void 0===e&&(e=!1),!this.fields)return null;var t;t=e||this.isInCopyMode?this.fields:this.fields.filter((function(e){return e.formControl&&e.formControl.dirty}));var n={};return t.forEach((function(e){return n[e.fieldModel.key]=e.getValue()})),n},EventTimeCompositeComponent.prototype.writeValue=function(t){var n=this;if(t){var o=Object.assign({},t);if(void 0!==o.AllDayEvent&&t!==this.compositeFieldSettings.defaultValue&&this.onAllDayEventClick(o.AllDayEvent),o.EventStart)this.endDatePicker.settings.minValue=new Date(o.EventStart);if((o.EventStart||o.EventEnd)&&this.endDatePicker&&!this.endDatePicker.showDate){var i=this.propertyFieldMap.get(A.EVENT_PROPERTIES.EVENT_START).getValue(),r=this.endDatePicker.getValue(),a=new Date(i);r&&(a.setHours(r.getHours()),a.setMinutes(r.getMinutes()),a.setSeconds(r.getSeconds()),a.toUTCString()!==r.toUTCString()&&(o.EventEnd=a))}Object.keys(o).forEach((function(e){var i=o[e],r=n.propertyFieldMap.get(e);if(r){var a=r.getValue();(!(null!=a)||a!==i&&t!==n.compositeFieldSettings.defaultValue)&&r.writeValue(i)}})),(o.EventStart||o.EventEnd)&&this.validate();var s=this.getValue();null!==s&&Object.keys(s).length&&e.prototype.writeValue.call(this,s)}},EventTimeCompositeComponent.prototype.resetEndDate=function(){var e=new Date(this.propertyFieldMap.get(A.EVENT_PROPERTIES.EVENT_START).getValue()),t=new Date(this.endDatePicker.getValue());t.setDate(e.getDate()),t.setMonth(e.getMonth()),t.setFullYear(e.getFullYear()),this.endDatePicker.writeValue(t)},EventTimeCompositeComponent.prototype.validate=function(){if(this.fields.forEach((function(e){return e.hasErrors()})),this.form.updateValueAndValidity(),this.form.errors){var e=new c.FieldValidation(this).getErrorMessage(this.form.errors);e.length&&(this.addErrorMessages(e),this.status$.value.type!==m.StatusType.Error&&this.emitStatus({type:m.StatusType.Error}))}else this.form.valid?(this.clearErrorMessages(),this.emitStatus({type:m.StatusType.ErrorCleared})):this.status$.value.type!==m.StatusType.Error&&this.emitStatus({type:m.StatusType.Error})},EventTimeCompositeComponent.prototype.postProcessValue=function(e){if(this.isAllDayEvent&&(e[A.EVENT_PROPERTIES.EVENT_START]&&(e[A.EVENT_PROPERTIES.EVENT_START]=this.eventsDateService.resetTime(new Date(e[A.EVENT_PROPERTIES.EVENT_START]))),e[A.EVENT_PROPERTIES.EVENT_END])){var t=this.eventsDateService.resetTime(new Date(e[A.EVENT_PROPERTIES.EVENT_END]));e[A.EVENT_PROPERTIES.EVENT_END]=t}return e[A.EVENT_PROPERTIES.EVENT_END]&&this.recurrenceRule&&delete e[A.EVENT_PROPERTIES.EVENT_END],this.convertObjToIsoDateTime(e)},EventTimeCompositeComponent.prototype.hasEmptyValue=function(){return this.fields.toArray().every((function(e){return!e.getValue()}))},EventTimeCompositeComponent.prototype.handleRecurrenceChange=function(e){var t;this.handleEndDateVisibility(!e),e||(this.recurrenceRule=null),this.writeValue(((t={})[A.EVENT_PROPERTIES.EVENT_END]=this.endDatePicker.getValue(),t))},EventTimeCompositeComponent.prototype.handleEndDateVisibility=function(e){var t=this.fields.filter((function(e){return e.currentInstance instanceof r.DateTimePickerComponent}))[1],n=t.currentInstance;e&&!n.showDate&&!n.showTime&&(this.toggleLabelVisibility(t,!0),this.showEventEndField=!0),!e&&!n.showTime&&(this.toggleLabelVisibility(t,!1),this.showEventEndField=!1),n.showDate=e},EventTimeCompositeComponent.prototype.getDatePickers=function(){return Array.from(this.propertyFieldMap.values()).filter((function(e){return!!e})).map((function(e){return e.currentInstance})).filter((function(e){return e instanceof r.DateTimePickerComponent}))},EventTimeCompositeComponent.prototype.toggleLabelVisibility=function(e,t){e.fieldModel.settings.showTitle=t,e.fieldModel.settings.showForAllTranslationsLabel=t},EventTimeCompositeComponent.prototype.initializePropertyFieldMap=function(){var e=this.fields.filter((function(e){return e.currentInstance instanceof r.DateTimePickerComponent})),t=e[0],n=e[1],o=this.fields.find((function(e){return e.currentInstance instanceof f.ChoiceYesNoComponent})),i=this.fields.find((function(e){return e.currentInstance instanceof u.TimeZonesComponent}));this.propertyFieldMap.set(A.EVENT_PROPERTIES.EVENT_START,t),this.propertyFieldMap.set(A.EVENT_PROPERTIES.EVENT_END,n),this.propertyFieldMap.set(A.EVENT_PROPERTIES.ALL_DAY_EVENT,o),this.propertyFieldMap.set(A.EVENT_PROPERTIES.TIME_ZONE_ID,i)},EventTimeCompositeComponent.prototype.initializeSettings=function(){var e;this.isAllDayEvent=this.compositeFieldSettings.innerFields[A.EVENT_PROPERTIES.ALL_DAY_EVENT].value;var t=this.compositeFieldSettings.innerFields[A.EVENT_PROPERTIES.EVENT_START],n=this.compositeFieldSettings.innerFields[A.EVENT_PROPERTIES.EVENT_END];if(this.compositeFieldSettings.dataItem&&this.compositeFieldSettings.dataItem.data){var o=this.compositeFieldSettings.dataItem.data[A.EVENT_PROPERTIES.EVENT_START_WITH_OFFSET],i=this.compositeFieldSettings.dataItem.data[A.EVENT_PROPERTIES.EVENT_END_WITH_OFFSET];this.isAllDayEvent&&(i=this.eventsDateService.getEventEndForAllDayEvent(o,i)),t.value=this.eventsDateService.getDateWithoutBrowserOffset(o),n.value=this.eventsDateService.getDateWithoutBrowserOffset(i)}this.compositeFieldSettings.markAsDirty=!0,this.compositeFieldSettings.useDefaultValue=!0,t.value&&!n.value&&(this.compositeFieldSettings.markAsDirty=!1);var r=Date.now(),a=t.value;a||(a=this.roundHour(new Date(r)));var s=n.value;s||(s=this.populateDefaultEndTime(s,a,t.value),this.compositeFieldSettings.readOnlyMode&&(this.compositeFieldSettings.innerFields[A.EVENT_PROPERTIES.EVENT_END].value=s)),this.compositeFieldSettings.defaultValue=((e={})[A.EVENT_PROPERTIES.EVENT_START]=a,e[A.EVENT_PROPERTIES.EVENT_END]=s,e[A.EVENT_PROPERTIES.ALL_DAY_EVENT]=!1,e[A.EVENT_PROPERTIES.TIME_ZONE_ID]=null,e)},EventTimeCompositeComponent.prototype.initializeForm=function(){var e=this;Object.keys(this.compositeFieldSettings.innerFields).forEach((function(t){var n=e.compositeFieldSettings.innerFields[t],o=new a.FormControl(n.value);o.setValidators(n.settings.validators),e.form.setControl(n.key,o)})),this.form.setValidators(l.EventsDateTimeValidator.validate)},EventTimeCompositeComponent.prototype.initializeRecurrenceRule=function(){if(this.compositeFieldSettings.dataItem&&this.compositeFieldSettings.dataItem.data){var e=this.compositeFieldSettings.dataItem.data;if(e){var t=e[A.EVENT_PROPERTIES.RECURRENCE_EXPRESSION]||null;this.recurrenceRule=JSON.parse(t)}else this.recurrenceRule=null}},EventTimeCompositeComponent.prototype.resolveCopyMode=function(){var e=this.route.snapshot,t=e.queryParamMap,n=e.url[1];this.isInCopyMode=n&&n.path===b.ROUTE_PARAMS.DUPLICATE_SEGMENT||t.keys.indexOf(b.QUERY_PARAMS.VERSION)>-1},EventTimeCompositeComponent.prototype.populateDefaultEndTime=function(e,t,n){if(this.recurrenceRule&&this.recurrenceRule.duration){var o=Object(E.convertHourMinuteSecStringToSeconds)(this.recurrenceRule.duration);(e=new Date(t)).setSeconds(e.getSeconds()+o)}else n||(e=this.roundHour(new Date(t))).setHours(e.getHours()+1);return e},EventTimeCompositeComponent.prototype.handleEndDateInitialVisibility=function(){if(this.endDatePicker){var e=JSON.parse(this.compositeFieldSettings.dataItem.data[A.EVENT_PROPERTIES.RECURRENCE_EXPRESSION]);e&&e.frequency!==g.RecurrenceFrequency.None?(this.endDatePicker.showDate=!1,this.endDatePicker.showDate||this.endDatePicker.showTime||(this.showEventEndField=!1,this.toggleLabelVisibility(this.propertyFieldMap.get(A.EVENT_PROPERTIES.EVENT_END),!1))):this.endDatePicker.showDate=!0}},EventTimeCompositeComponent.prototype.addErrorMessages=function(e){var t=this;e.forEach((function(e){return t.errorMessages.push(e)}))},EventTimeCompositeComponent.prototype.clearErrorMessages=function(){this.errorMessages.length=0},EventTimeCompositeComponent.prototype.onAllDayEventClick=function(e){var t=this.getDatePickers();t.forEach((function(t){return t.showTime=!e}));var n=t[0],o=t[1],i=this.isAllDayEvent&&!e;this.isAllDayEvent=e;var r=t[0].getValue(),a=t[1].getValue(),s=new Date(r),l=new Date(a);if(this.isAllDayEvent){0===s.getUTCMinutes()&&0===l.getUTCMinutes()||(n.writeValue(s),o.writeValue(l));var c=this.eventsDateService.resetTime(new Date(s)),d=this.eventsDateService.resetTime(new Date(l));c.getTime()<=d.getTime()&&this.clearErrorMessages()}else if(i){var p=this.roundHour(new Date(Date.now())).getHours();s.setHours(p);var f=this.populateDefaultEndTime(l,s,!1).getHours();l.setHours(f),n.writeValue(s),o.writeValue(l)}var u=this.propertyFieldMap.get(A.EVENT_PROPERTIES.EVENT_END);this.isAllDayEvent&&!this.endDatePicker.showDate&&(this.showEventEndField=!1,this.toggleLabelVisibility(u,!1)),this.isAllDayEvent||this.endDatePicker.showDate||(this.showEventEndField=!0,this.toggleLabelVisibility(u,!0)),this.validate()},EventTimeCompositeComponent.prototype.roundHour=function(e){return(e.getMinutes()>0||e.getSeconds()>0)&&(e.setHours(e.getHours()+1),e.setMinutes(0),e.setSeconds(0)),e},EventTimeCompositeComponent.prototype.convertObjToIsoDateTime=function(e){if(e instanceof Date)return Object(E.convertDateToIsoDateTime)(e);if(e instanceof Object){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=this.convertObjToIsoDateTime(e[n]));return t}return e},EventTimeCompositeComponent.ɵfac=function EventTimeCompositeComponent_Factory(e){return new(e||EventTimeCompositeComponent)(i["ɵɵdirectiveInject"](p.EventDatesService),i["ɵɵdirectiveInject"](h.ActivatedRoute))},EventTimeCompositeComponent.ɵcmp=i["ɵɵdefineComponent"]({type:EventTimeCompositeComponent,selectors:[["sf-event-time-composite-field"]],viewQuery:function EventTimeCompositeComponent_Query(e,t){if(1&e&&i["ɵɵviewQuery"](s.FormFieldWrapperComponent,1),2&e){var n;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.fields=n)}},inputs:{compositeFieldSettings:"compositeFieldSettings"},features:[i["ɵɵInheritDefinitionFeature"]],decls:7,vars:19,consts:[[3,"formGroup"],[1,"sf-row","-align-items-center"],[3,"formControlName","fieldModel","look","formControl","ngModelChange"],[1,"-sf-mt-xs",3,"ngClass","formControlName","fieldModel","look","formControl","ngModelChange"],[3,"ngClass","formControlName","fieldModel","look","formControl","ngModelChange"],[3,"messages",4,"ngIf"],[3,"formControlName","fieldModel","look","formControl","ngModelChange",4,"ngIf"],[3,"messages"]],template:function EventTimeCompositeComponent_Template(e,t){1&e&&(i["ɵɵelementStart"](0,"form",0),i["ɵɵelementStart"](1,"div",1),i["ɵɵelementStart"](2,"sf-form-field-wrapper",2),i["ɵɵlistener"]("ngModelChange",(function EventTimeCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_2_listener(e){return t.writeValue({EventStart:e})})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"sf-form-field-wrapper",3),i["ɵɵlistener"]("ngModelChange",(function EventTimeCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_3_listener(e){return t.writeValue({AllDayEvent:e})})),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵelementStart"](4,"sf-form-field-wrapper",4),i["ɵɵlistener"]("ngModelChange",(function EventTimeCompositeComponent_Template_sf_form_field_wrapper_ngModelChange_4_listener(e){return t.writeValue({EventEnd:e})})),i["ɵɵelementEnd"](),i["ɵɵtemplate"](5,EventTimeCompositeComponent_sf_error_5_Template,1,1,"sf-error",5),i["ɵɵtemplate"](6,EventTimeCompositeComponent_sf_form_field_wrapper_6_Template,1,4,"sf-form-field-wrapper",6),i["ɵɵelementEnd"]()),2&e&&(i["ɵɵproperty"]("formGroup",t.form),i["ɵɵadvance"](2),i["ɵɵproperty"]("formControlName",t.compositeFieldSettings.innerFields.EventStart.key)("fieldModel",t.compositeFieldSettings.innerFields.EventStart)("look","input"===t.compositeFieldSettings.innerFields.EventStart.settings.displayMode?"filter small":"")("formControl",t.form.controls.EventStart),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",t.isAllDayEvent?"-sf-ml--xs":"-sf-ml-xs")("formControlName",t.compositeFieldSettings.innerFields.AllDayEvent.key)("fieldModel",t.compositeFieldSettings.innerFields.AllDayEvent)("look","input"===t.compositeFieldSettings.innerFields.AllDayEvent.settings.displayMode?"filter small":"")("formControl",t.form.controls.AllDayEvent),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](17,_c0,!t.showEventEndField))("formControlName",t.compositeFieldSettings.innerFields.EventEnd.key)("fieldModel",t.compositeFieldSettings.innerFields.EventEnd)("look","input"===t.compositeFieldSettings.innerFields.EventEnd.settings.displayMode?"filter small":"")("formControl",t.form.controls.EventEnd),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",t.errorMessages&&t.errorMessages.length>0),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!t.isAllDayEvent))},directives:[a["ɵangular_packages_forms_forms_ba"],a.NgControlStatusGroup,a.FormGroupDirective,s.FormFieldWrapperComponent,a.NgControlStatus,a.FormControlName,a.FormControlDirective,C.NgClass,C.NgIf,B.SfErrorComponent],encapsulation:2}),EventTimeCompositeComponent}(d.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"EventTimeCompositeReadonlyComponent",(function(){return p}));var o=n(259),i=n(2176),r=n(350),a=n(1237),s=n(229),A=n(324),l=n(1122),c=n(261);function EventTimeCompositeReadonlyComponent_sf_form_field_wrapper_3_Template(e,t){if(1&e&&s["ɵɵelement"](0,"sf-form-field-wrapper",1),2&e){var n=s["ɵɵnextContext"]();s["ɵɵproperty"]("formControlName",n.compositeFieldSettings.innerFields.TimeZoneId.key)("fieldModel",n.compositeFieldSettings.innerFields.TimeZoneId)("look","input"===n.compositeFieldSettings.innerFields.TimeZoneId.settings.displayMode?"filter small":"")("formControl",n.form.controls.TimeZoneId)}}var _c0=function(e){return{"-sf-hidden":e}},d=[r.EVENT_PROPERTIES.EVENT_START,r.EVENT_PROPERTIES.EVENT_END,r.EVENT_PROPERTIES.ALL_DAY_EVENT,r.EVENT_PROPERTIES.TIME_ZONE_ID],p=function(e){function EventTimeCompositeReadonlyComponent(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(EventTimeCompositeReadonlyComponent,e),EventTimeCompositeReadonlyComponent.prototype.ngAfterViewInit=function(){var t=this;e.prototype.ngAfterViewInit.call(this);var n=Array.from(this.propertyFieldMap.values()).filter((function(e){return e&&e.currentInstance instanceof a.DateTimePickerComponent}));if(n.length){var o=n.map((function(e){return e.currentInstance}));o.forEach((function(e){return e.showTime=!t.isAllDayEvent})),this.settings.dataItem&&this.settings.dataItem.data&&this.settings.dataItem.data[r.EVENT_PROPERTIES.RECURRENCE_EXPRESSION]&&(o[1].showDate=!1),o.every((function(e){return!e.showTime&&!e.showDate}))&&e.prototype.toggleLabelVisibility.call(this,n[1],!1);var i=this.form.controls,s={};d.forEach((function(e){i[e]&&(s[e]=i[e].value)})),this.writeValue(s)}},EventTimeCompositeReadonlyComponent.ɵfac=function EventTimeCompositeReadonlyComponent_Factory(e){return f(e||EventTimeCompositeReadonlyComponent)},EventTimeCompositeReadonlyComponent.ɵcmp=s["ɵɵdefineComponent"]({type:EventTimeCompositeReadonlyComponent,selectors:[["ng-component"]],features:[s["ɵɵInheritDefinitionFeature"]],decls:4,vars:13,consts:[[3,"formGroup"],[3,"formControlName","fieldModel","look","formControl"],[3,"ngClass","formControlName","fieldModel","look","formControl"],[3,"formControlName","fieldModel","look","formControl",4,"ngIf"]],template:function EventTimeCompositeReadonlyComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"form",0),s["ɵɵelement"](1,"sf-form-field-wrapper",1),s["ɵɵelement"](2,"sf-form-field-wrapper",2),s["ɵɵtemplate"](3,EventTimeCompositeReadonlyComponent_sf_form_field_wrapper_3_Template,1,4,"sf-form-field-wrapper",3),s["ɵɵelementEnd"]()),2&e&&(s["ɵɵproperty"]("formGroup",t.form),s["ɵɵadvance"](1),s["ɵɵproperty"]("formControlName",t.compositeFieldSettings.innerFields.EventStart.key)("fieldModel",t.compositeFieldSettings.innerFields.EventStart)("look","input"===t.compositeFieldSettings.innerFields.EventStart.settings.displayMode?"filter small":"")("formControl",t.form.controls.EventStart),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngClass",s["ɵɵpureFunction1"](11,_c0,!t.showEventEndField))("formControlName",t.compositeFieldSettings.innerFields.EventEnd.key)("fieldModel",t.compositeFieldSettings.innerFields.EventEnd)("look","input"===t.compositeFieldSettings.innerFields.EventEnd.settings.displayMode?"filter small":"")("formControl",t.form.controls.EventEnd),s["ɵɵadvance"](1),s["ɵɵproperty"]("ngIf",!t.isAllDayEvent))},directives:[A["ɵangular_packages_forms_forms_ba"],A.NgControlStatusGroup,A.FormGroupDirective,l.FormFieldWrapperComponent,A.NgControlStatus,A.FormControlName,A.FormControlDirective,c.NgClass,c.NgIf],encapsulation:2}),EventTimeCompositeReadonlyComponent}(i.EventTimeCompositeComponent),f=s["ɵɵgetInheritedFactory"](p)},function(e,t,n){"use strict";n.r(t),n.d(t,"DAY_TIMESPAN_STRING",(function(){return x})),n.d(t,"RecurringEventComponent",(function(){return y}));var o=n(259),i=n(229),r=n(415),a=n(1142),s=n(2179),A=n(2180),l=n(1809),c=n(2181),d=n(350),p=n(245),f=n(1238),u=n(1420),m=n(1611),g=n(1063),E=n(1138),h=n(261),b=n(354),C=n(1237),B=["repeatEventDropdown"],k=["repeatEventDropdownReadonly"],I=["onEndOccurrence"],v=["afterEndOccurrence"],w=["endOnDateField"],_=["afterEndOccurrenceField"];function RecurringEventComponent_ng_container_0_sf_dropdown_choice_1_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-dropdown-choice",7,8),i["ɵɵlistener"]("selectionChange",(function RecurringEventComponent_ng_container_0_sf_dropdown_choice_1_Template_sf_dropdown_choice_selectionChange_0_listener(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"](2).onRepeatEventChange(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=i["ɵɵnextContext"](2);i["ɵɵproperty"]("settings",o.repeatEventDropdownSettings)}}function RecurringEventComponent_ng_container_0_sf_choice_readOnly_2_Template(e,t){if(1&e&&i["ɵɵelement"](0,"sf-choice-readOnly",9,10),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵproperty"]("settings",n.repeatEventDropdownSettings)}}function RecurringEventComponent_ng_container_0_fieldset_3_li_4_ng_container_6_Template(e,t){1&e&&i["ɵɵelementContainer"](0)}var _c6=function(e){return{occurrence:e}};function RecurringEventComponent_ng_container_0_fieldset_3_li_4_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"li",15),i["ɵɵelementStart"](1,"input",16),i["ɵɵlistener"]("change",(function RecurringEventComponent_ng_container_0_fieldset_3_li_4_Template_input_change_1_listener(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"](3).onEndOccurrenceChange(e)})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"label",17),i["ɵɵelement"](3,"span",18),i["ɵɵelementStart"](4,"span",19),i["ɵɵtext"](5),i["ɵɵelementEnd"](),i["ɵɵelementEnd"](),i["ɵɵtemplate"](6,RecurringEventComponent_ng_container_0_fieldset_3_li_4_ng_container_6_Template,1,0,"ng-container",20),i["ɵɵelementEnd"]()}if(2&e){var o=t.$implicit,r=i["ɵɵnextContext"](3);i["ɵɵadvance"](1),i["ɵɵproperty"]("id",o.name)("value",o.value)("checked",o.isSelected),i["ɵɵattribute"]("disabled",r.settings.readOnlyMode?"disabled":null),i["ɵɵadvance"](1),i["ɵɵproperty"]("for",o.name),i["ɵɵadvance"](3),i["ɵɵtextInterpolate1"](" ",o.name," "),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngTemplateOutlet",o.template)("ngTemplateOutletContext",i["ɵɵpureFunction1"](8,_c6,o))}}function RecurringEventComponent_ng_container_0_fieldset_3_Template(e,t){if(1&e&&(i["ɵɵelementStart"](0,"fieldset",11),i["ɵɵelementStart"](1,"legend",12),i["ɵɵtext"](2,"End occurrence"),i["ɵɵelementEnd"](),i["ɵɵelementStart"](3,"ul",13),i["ɵɵtemplate"](4,RecurringEventComponent_ng_container_0_fieldset_3_li_4_Template,7,10,"li",14),i["ɵɵelementEnd"](),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"](2);i["ɵɵadvance"](4),i["ɵɵproperty"]("ngForOf",n.endOccurrences)}}function RecurringEventComponent_ng_container_0_Template(e,t){if(1&e&&(i["ɵɵelementContainerStart"](0),i["ɵɵtemplate"](1,RecurringEventComponent_ng_container_0_sf_dropdown_choice_1_Template,2,1,"sf-dropdown-choice",4),i["ɵɵtemplate"](2,RecurringEventComponent_ng_container_0_sf_choice_readOnly_2_Template,2,1,"sf-choice-readOnly",5),i["ɵɵtemplate"](3,RecurringEventComponent_ng_container_0_fieldset_3_Template,5,1,"fieldset",6),i["ɵɵelementContainerEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",!n.settings.readOnlyMode),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.settings.readOnlyMode),i["ɵɵadvance"](1),i["ɵɵproperty"]("ngIf",n.hasEndOccurrence)}}function RecurringEventComponent_ng_template_1_Template(e,t){1&e&&i["ɵɵelement"](0,"sf-loader",21)}var _c7=function(e,t){return{readOnlyMode:e,minValue:t}};function RecurringEventComponent_ng_template_3_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-date-time",22,23),i["ɵɵlistener"]("dateValueChange",(function RecurringEventComponent_ng_template_3_Template_sf_date_time_dateValueChange_0_listener(){i["ɵɵrestoreView"](n);var e=t.occurrence;return i["ɵɵnextContext"]().updateEndOccurence(e)})),i["ɵɵelementEnd"]()}if(2&e){var o=t.occurrence,r=i["ɵɵnextContext"]();i["ɵɵproperty"]("showTime",!1)("settings",i["ɵɵpureFunction2"](2,_c7,r.settings.readOnlyMode||!o.isSelected,r.startDate))}}function RecurringEventComponent_ng_template_5_Template(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"sf-input",24,25),i["ɵɵlistener"]("onInput",(function RecurringEventComponent_ng_template_5_Template_sf_input_onInput_0_listener(){i["ɵɵrestoreView"](n);var e=t.occurrence;return i["ɵɵnextContext"]().updateEndOccurence(e)})),i["ɵɵelementEnd"](),i["ɵɵelementStart"](2,"span",26),i["ɵɵtext"](3,"occurrences"),i["ɵɵelementEnd"]()}if(2&e){var o=t.occurrence,r=i["ɵɵnextContext"]();i["ɵɵproperty"]("disabled",r.settings.readOnlyMode||!o.isSelected)}}var x="1.00:00:00",y=function(e){function RecurringEventComponent(t,n,o,i,r){var s=e.call(this)||this;return s.detector=t,s.recurrentRuleService=n,s.eventsHelper=o,s.eventDatesService=i,s.timeZonesProvider=r,s.repeatEventDropdownSettings=a.ChoiceDropdownComponent.createFieldSettings(c.REPEAT_EVENT_OPTIONS),s.hasEndOccurrence=!1,s.endOccurrences=new Array,s.recurringEventValue={},s.eventStartDate=new Date,s}return Object(o.__extends)(RecurringEventComponent,e),Object.defineProperty(RecurringEventComponent.prototype,"endOnDateField",{get:function(){return this._endOnDateField},set:function(e){this.initializeOnField(e)},enumerable:!1,configurable:!0}),Object.defineProperty(RecurringEventComponent.prototype,"afterEndOccurrenceField",{get:function(){return this._afterEndOccurrenceField},set:function(e){this.initializeAfterField(e)},enumerable:!1,configurable:!0}),Object.defineProperty(RecurringEventComponent.prototype,"recurrentRule",{get:function(){return JSON.parse(this.getValue())},enumerable:!1,configurable:!0}),Object.defineProperty(RecurringEventComponent.prototype,"timeZoneId",{get:function(){return this.timezoneId},set:function(e){this.timezoneId=e},enumerable:!1,configurable:!0}),Object.defineProperty(RecurringEventComponent.prototype,"allDayEvent",{get:function(){return this._allDayEvent},set:function(t){this._allDayEvent=t;var n=this.recurrentRule;n&&(this.allDayEvent&&n.duration&&(n.duration=x,e.prototype.writeValue.call(this,JSON.stringify(n))),n.frequency!==l.RecurrenceFrequency.None&&!!n.recursUntil&&(n.recursUntil=new Date(n.recursUntil),this.allDayEvent?(n.recursUntil=this.eventDatesService.resetTime(n.recursUntil),n.recursUntil=new Date(Object(p.convertDateToIsoDateTime)(n.recursUntil))):this.setRecurrsUntilTime(n.recursUntil),e.prototype.writeValue.call(this,JSON.stringify(n))))},enumerable:!1,configurable:!0}),Object.defineProperty(RecurringEventComponent.prototype,"startDate",{get:function(){return this.eventStartDate},set:function(e){this.eventStartDate=e,this.updateOccurenceDropdown(e)},enumerable:!1,configurable:!0}),RecurringEventComponent.prototype.ngOnInit=function(){var e=this;this.endOnDateFieldRef.changes.subscribe((function(t){var n=t.first;n&&(e.endOnDateField=n)})),this.afterEndOccurrenceFieldRef.changes.subscribe((function(t){var n=t.first;n&&(e.afterEndOccurrenceField=n)})),this.allDayEvent=!1;var t=this.settings.dataItem;t&&t.data?(this.eventStartDate=new Date(t.data[d.EVENT_PROPERTIES.EVENT_START_WITH_OFFSET]),this.eventStartDate.setMinutes(this.eventStartDate.getMinutes()+this.eventStartDate.getTimezoneOffset()),this.allDayEvent=t.data[d.EVENT_PROPERTIES.ALL_DAY_EVENT],this.timeZoneId=t.data[d.EVENT_PROPERTIES.TIME_ZONE_ID],this.isLoaded=!0):this.registerSubscription(this.timeZonesProvider.getDefaultTimeZone().pipe(Object(g.toLoadingState)(),Object(g.delayEmission)(E.MINIMUM_LOADER_TIME)).subscribe((function(t){t.isLoading||(e.timeZoneId=t.content.timeZoneId,e.isLoaded=!0)})))},RecurringEventComponent.prototype.postProcessValue=function(e){var t=this.getRecurrentRule(e);return t.recursUntil&&(t.recursUntil=new Date(Object(p.convertDateToIsoDateTime)(t.recursUntil))),JSON.stringify(t)},RecurringEventComponent.prototype.writeValue=function(t){var n=this.getRecurrentRule(t);n.frequency===l.RecurrenceFrequency.None?e.prototype.writeValue.call(this,null):e.prototype.writeValue.call(this,JSON.stringify(n)),this.populateFields(n),this.detector.detectChanges()},RecurringEventComponent.prototype.handleEndDateChange=function(e){var t=this.recurrentRule;if(t&&t.frequency!==l.RecurrenceFrequency.None){var n=(e.getTime()-this.startDate.getTime())/1e3,o=n<0?"00:00:00":Object(p.convertSecondsToHourMinuteSecString)(n);this.allDayEvent&&(o=x),t.duration=o,this.writeValue(JSON.stringify(t))}},RecurringEventComponent.prototype.onRepeatEventChange=function(e){var t=c.REPEAT_EVENT_OPTIONS.find((function(t){return t.Value===e})),n=this.endOccurrences.find((function(e){return e.isSelected}));this.hasEndOccurrence=t.HasEndOccurrence,this.setRecurringEventValue(t,n)},RecurringEventComponent.prototype.onEndOccurrenceChange=function(e){this.endOccurrences.forEach((function(t){t.isSelected=t.endRecurrenceType===e.endRecurrenceType})),this.updateEndOccurence(e)},RecurringEventComponent.prototype.updateEndOccurence=function(e){this.setEndOccurrenceValue(e),this.writeValue(this.recurringEventValue)},RecurringEventComponent.prototype.populateFields=function(e){this.initDropdownOptions(e),this.initEndOccurence(e)},RecurringEventComponent.prototype.initDropdownOptions=function(e){this.updateOccurenceDropdown(this.startDate);var t=c.REPEAT_EVENT_OPTIONS.find((function(t){return t.Frequency===e.frequency}));e.frequency===l.RecurrenceFrequency.Daily&&(t=c.REPEAT_EVENT_OPTIONS.find((function(t){return t.DaysOfWeek===e.daysOfWeek}))),!this.settings.readOnlyMode&&this.repeatEventDropdown?this.repeatEventDropdown.writeValue(t.Value):this.repeatEventDropdownReadonly&&this.repeatEventDropdownReadonly.writeValue(t.Value),this.repeatEventDropdownSettings.defaultValue=t.Value,this.setRepeatEventValue(t)},RecurringEventComponent.prototype.initEndOccurence=function(e){this.initializeEndOccurrences(),this.hasEndOccurrence=e.frequency!==l.RecurrenceFrequency.None;var t=void 0!==e.endRecurrenceType&&null!==e.endRecurrenceType?e.endRecurrenceType:l.EndRecurrenceType.Never;this.endOccurrences.find((function(e){return e.endRecurrenceType===t})).isSelected=!0},RecurringEventComponent.prototype.updateOccurenceDropdown=function(e){if(e){var t=c.REPEAT_EVENT_OPTIONS[3],n=this.eventsHelper.getWeekDayName(e.getDay());t.Name=c.RECURRING_EVENT_KEYS.WEEKLY_ON+" "+n;var o=c.REPEAT_EVENT_OPTIONS[4],i=e.getDate(),r=this.eventsHelper.getDayOfMonthSuffix(i);o.Name=c.RECURRING_EVENT_KEYS.MONTHLY_ON+" "+i+r;var a=c.REPEAT_EVENT_OPTIONS[5],s=this.eventsHelper.getMonthName(e.getMonth());a.Name=c.RECURRING_EVENT_KEYS.YEARLY_ON+" "+s+" "+i+r}},RecurringEventComponent.prototype.setRecurringEventValue=function(e,t){this.setRepeatEventValue(e),this.setEndOccurrenceValue(t),e.Name===c.RECURRING_EVENT_KEYS.DONT_REPEAT?this.writeValue(null):this.writeValue(this.recurringEventValue)},RecurringEventComponent.prototype.setRepeatEventValue=function(e){this.recurringEventValue.repeatEvent={key:e.Name,value:e.Data}},RecurringEventComponent.prototype.setEndOccurrenceValue=function(e){if(e){switch(e.endRecurrenceType){case l.EndRecurrenceType.Never:e.value=null;break;case l.EndRecurrenceType.By:e.value=new Date(this.endOnDateField.dateValue),this.setRecurrsUntilTime(e.value);break;case l.EndRecurrenceType.After:e.value=this.afterEndOccurrenceField.value}this.recurringEventValue.endOccurrence={key:e.name,value:e.value}}},RecurringEventComponent.prototype.initializeEndOccurrences=function(){if(!this.endOccurrences.length){var e=new c.EndOccurrence(c.NEVER_END_OCCURRENCE_NAME,l.EndRecurrenceType.Never),t=new c.EndOccurrence(c.ON_END_OCCURRENCE_NAME,l.EndRecurrenceType.By),n=new c.EndOccurrence(c.AFTER_END_OCCURRENCE_NAME,l.EndRecurrenceType.After);t.template=this.onEndOccurrenceTmpl,n.template=this.afterEndOccurrenceTmpl,this.endOccurrences=[e,t,n]}},RecurringEventComponent.prototype.initializeAfterField=function(e){var t=c.AFTER_END_OCCURRENCE_DEFAULT_COUNT;this.recurrentRule&&this.recurrentRule.endRecurrenceType===l.EndRecurrenceType.After&&(t=this.recurrentRule.maxOccurrences.toString()),this.writeValueToField(e,t),this._afterEndOccurrenceField=e},RecurringEventComponent.prototype.initializeOnField=function(e){var t=this.getTomorrowsDate();this.recurrentRule&&this.recurrentRule.endRecurrenceType===l.EndRecurrenceType.By&&(t=this.recurrentRule.recursUntil),this.writeValueToField(e,t),this._endOnDateField=e},RecurringEventComponent.prototype.writeValueToField=function(e,t){e&&e.writeValue(t)},RecurringEventComponent.prototype.getTomorrowsDate=function(){var e=new Date(Date.now());return e.setDate(e.getDate()+1),e},RecurringEventComponent.prototype.setRecurrsUntilTime=function(e){return e.setHours(this.startDate.getHours(),this.startDate.getMinutes(),this.startDate.getSeconds(),this.startDate.getMilliseconds()),e},RecurringEventComponent.prototype.getRecurrentRule=function(e){var t=null;return(t=e?"string"==typeof e?JSON.parse(e):this.recurrentRuleService.construct(e,this.allDayEvent,this.startDate):{frequency:l.RecurrenceFrequency.None}).timeZoneId=this.timeZoneId,t},RecurringEventComponent.ɵfac=function RecurringEventComponent_Factory(e){return new(e||RecurringEventComponent)(i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](A.RecurrentRuleService),i["ɵɵdirectiveInject"](s.EventsHelper),i["ɵɵdirectiveInject"](f.EventDatesService),i["ɵɵdirectiveInject"](m.TimeZonesProvider))},RecurringEventComponent.ɵcmp=i["ɵɵdefineComponent"]({type:RecurringEventComponent,selectors:[["sf-recurring-event"]],viewQuery:function RecurringEventComponent_Query(e,t){if(1&e&&(i["ɵɵviewQuery"](B,1),i["ɵɵviewQuery"](k,1),i["ɵɵviewQuery"](I,3),i["ɵɵviewQuery"](v,3),i["ɵɵviewQuery"](w,1),i["ɵɵviewQuery"](_,1)),2&e){var n=void 0;i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.repeatEventDropdown=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.repeatEventDropdownReadonly=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.onEndOccurrenceTmpl=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.afterEndOccurrenceTmpl=n.first),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.endOnDateFieldRef=n),i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.afterEndOccurrenceFieldRef=n)}},features:[i["ɵɵProvidersFeature"]([A.RecurrentRuleService,m.TimeZonesProvider]),i["ɵɵInheritDefinitionFeature"]],decls:7,vars:2,consts:[[4,"ngIf","ngIfElse"],["loading",""],["onEndOccurrence",""],["afterEndOccurrence",""],[3,"settings","selectionChange",4,"ngIf"],[3,"settings",4,"ngIf"],["class","sf-field -sf-mt-3xs",4,"ngIf"],[3,"settings","selectionChange"],["repeatEventDropdown",""],[3,"settings"],["repeatEventDropdownReadonly",""],[1,"sf-field","-sf-mt-3xs"],[1,"sf-field__label"],[1,"-list-style-none","sf-field__content"],["class","sf-radio sf-row -align-items-center -no-wrap",4,"ngFor","ngForOf"],[1,"sf-radio","sf-row","-align-items-center","-no-wrap"],["type","radio","name","endOcurrenceOption",1,"sf-radio__input",3,"id","value","checked","change"],[1,"sf-radio__label","-inline","sf-row__col","-no-flex",3,"for"],[1,"sf-radio__icon"],[1,"sf-radio__text","sf-row","-align-items-center"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["look","inline"],[1,"-sf-ml-3xs","sf-row__col",3,"showTime","settings","dateValueChange"],["endOnDateField",""],["look","unit","type","text",1,"-sf-ml-3xs","sf-row__col","-col-1",3,"disabled","onInput"],["afterEndOccurrenceField",""],[1,"-sf-ml-3xs"]],template:function RecurringEventComponent_Template(e,t){if(1&e&&(i["ɵɵtemplate"](0,RecurringEventComponent_ng_container_0_Template,4,3,"ng-container",0),i["ɵɵtemplate"](1,RecurringEventComponent_ng_template_1_Template,1,0,"ng-template",null,1,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](3,RecurringEventComponent_ng_template_3_Template,2,5,"ng-template",null,2,i["ɵɵtemplateRefExtractor"]),i["ɵɵtemplate"](5,RecurringEventComponent_ng_template_5_Template,4,1,"ng-template",null,3,i["ɵɵtemplateRefExtractor"])),2&e){var n=i["ɵɵreference"](2);i["ɵɵproperty"]("ngIf",t.isLoaded)("ngIfElse",n)}},directives:[h.NgIf,a.ChoiceDropdownComponent,u.ChoiceReadOnlyComponent,h.NgForOf,h.NgTemplateOutlet,b.SfLoaderComponent,C.DateTimePickerComponent,b.SfInputComponent],encapsulation:2}),RecurringEventComponent}(r.FieldBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"EventsHelper",(function(){return a}));var o=n(229),i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=function(){function EventsHelper(){}return EventsHelper.prototype.getWeekDayName=function(e){return i[e]},EventsHelper.prototype.getMonthName=function(e){return r[e]},EventsHelper.prototype.getDayOfMonthSuffix=function(e){if(e>=11&&e<=13)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},EventsHelper.ɵfac=function EventsHelper_Factory(e){return new(e||EventsHelper)},EventsHelper.ɵprov=o["ɵɵdefineInjectable"]({token:EventsHelper,factory:EventsHelper.ɵfac}),EventsHelper}()},function(e,t,n){"use strict";n.r(t),n.d(t,"RecurrentRuleService",(function(){return d}));var o=n(1809),i=n(246),r=n(2181),a=n(1238),s=n(245),A=n(229),l="Invalid recurring event key!",c="Invalid end ocurrence key!",d=function(){function RecurrentRuleService(e){this.eventDatesService=e}return RecurrentRuleService.prototype.construct=function(e,t,n){if(!e)return null;var o={};return this.processRepeatEventData(o,e.repeatEvent),this.processEndOccurenceData(o,e.endOccurrence,t),o.startDate=Object(s.convertDateToIsoDateTime)(n),o},RecurrentRuleService.prototype.processRepeatEventData=function(e,t){if(t&&t.key){var n=t.key;if(n.includes(r.RECURRING_EVENT_KEYS.DONT_REPEAT))this.processDontRepeat(e);else if(n.includes(r.RECURRING_EVENT_KEYS.EVERY_DAY))this.processEveryDay(e);else if(n.includes(r.RECURRING_EVENT_KEYS.EVERY_WORKDAY))this.processEveryWorkday(e);else if(n.includes(r.RECURRING_EVENT_KEYS.WEEKLY_ON))this.processWeekly(e,t);else if(n.includes(r.RECURRING_EVENT_KEYS.MONTHLY_ON))this.processMonthly(e,t);else{if(!n.includes(r.RECURRING_EVENT_KEYS.YEARLY_ON))throw new Error(l);this.processYearly(e,t)}}else e.frequency=o.RecurrenceFrequency.None},RecurrentRuleService.prototype.processDontRepeat=function(e){e.frequency=o.RecurrenceFrequency.None},RecurrentRuleService.prototype.processEveryDay=function(e){e.daysOfWeek=o.RecurrenceDay.EveryDay,e.frequency=o.RecurrenceFrequency.Daily,e.interval=1},RecurrentRuleService.prototype.processEveryWorkday=function(e){e.daysOfWeek=o.RecurrenceDay.WeekDays,e.frequency=o.RecurrenceFrequency.Daily},RecurrentRuleService.prototype.processWeekly=function(e,t){var n=t.key.split(i.stringConstants.INTERVAL)[2];e.daysOfWeek=o.RecurrenceDay[n],e.frequency=o.RecurrenceFrequency.Weekly},RecurrentRuleService.prototype.processMonthly=function(e,t){var n=Number(t.key.match(/[0-9]+/));e.dayOfMonth=n,e.frequency=o.RecurrenceFrequency.Monthly},RecurrentRuleService.prototype.processYearly=function(e,t){var n=t.key.split(i.stringConstants.INTERVAL)[2],r=Number(t.key.match(/[0-9]+/));e.month=this.getMonthValue(n),e.dayOfMonth=r,e.frequency=o.RecurrenceFrequency.Yearly},RecurrentRuleService.prototype.processEndOccurenceData=function(e,t,n){if(t&&t.key){if(!t.key.includes(r.END_OCURRENCE_KEYS.NEVER)){if(t.key.includes(r.END_OCURRENCE_KEYS.BY)){var i=new Date(t.value);return n&&(e.recursUntil=this.eventDatesService.resetTime(e.recursUntil)),e.endRecurrenceType=o.EndRecurrenceType.By,void(e.recursUntil=new Date(i))}if(t.key.includes(r.END_OCURRENCE_KEYS.AFTER))return e.maxOccurrences=Number(t.value),void(e.endRecurrenceType=o.EndRecurrenceType.After);throw new Error(c)}e.endRecurrenceType=o.EndRecurrenceType.Never}},RecurrentRuleService.prototype.getMonthValue=function(e){var t=Object.keys(o.RecurrenceMonth).find((function(t){return t.includes(e)}));return o.RecurrenceMonth[t]},RecurrentRuleService.ɵfac=function RecurrentRuleService_Factory(e){return new(e||RecurrentRuleService)(A["ɵɵinject"](a.EventDatesService))},RecurrentRuleService.ɵprov=A["ɵɵdefineInjectable"]({token:RecurrentRuleService,factory:RecurrentRuleService.ɵfac}),RecurrentRuleService}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EndOccurrence",(function(){return i})),n.d(t,"RECURRING_EVENT_KEYS",(function(){return r})),n.d(t,"END_OCURRENCE_KEYS",(function(){return a})),n.d(t,"REPEAT_EVENT_OPTIONS",(function(){return s})),n.d(t,"NEVER_END_OCCURRENCE_NAME",(function(){return A})),n.d(t,"ON_END_OCCURRENCE_ID",(function(){return l})),n.d(t,"ON_END_OCCURRENCE_NAME",(function(){return c})),n.d(t,"ON_END_OCCURRENCE_DATE_FIELD",(function(){return d})),n.d(t,"AFTER_END_OCCURRENCE_ID",(function(){return p})),n.d(t,"AFTER_END_OCCURRENCE_NAME",(function(){return f})),n.d(t,"AFTER_END_OCCURRENCE_FIELD",(function(){return u})),n.d(t,"AFTER_END_OCCURRENCE_DEFAULT_COUNT",(function(){return m}));var o=n(1809),i=function i(e,t){this.name=e,this.endRecurrenceType=t},r={DONT_REPEAT:"Don't repeat",EVERY_DAY:"Every day",EVERY_WORKDAY:"Every workday",WEEKLY_ON:"Weekly on",MONTHLY_ON:"Monthly on",YEARLY_ON:"Yearly on"},a={NEVER:"Never",BY:"By",AFTER:"After"},s=[{Name:r.DONT_REPEAT,Value:"0",HasEndOccurrence:!1,Frequency:o.RecurrenceFrequency.None},{Name:r.EVERY_DAY,Value:"1",HasEndOccurrence:!0,Frequency:o.RecurrenceFrequency.Daily,DaysOfWeek:o.RecurrenceDay.EveryDay},{Name:r.EVERY_WORKDAY,Value:"2",HasEndOccurrence:!0,Frequency:o.RecurrenceFrequency.Daily,DaysOfWeek:o.RecurrenceDay.WeekDays},{Name:r.WEEKLY_ON,Value:"3",HasEndOccurrence:!0,Frequency:o.RecurrenceFrequency.Weekly},{Name:r.MONTHLY_ON,Value:"4",HasEndOccurrence:!0,Frequency:o.RecurrenceFrequency.Monthly},{Name:r.YEARLY_ON,Value:"5",HasEndOccurrence:!0,Frequency:o.RecurrenceFrequency.Yearly}],A="Never",l="onEndOccurrence",c="By",d="endOnDateField",p="afterEndOccurrence",f="After",u="afterEndOccurrenceField",m="10"},function(e,t,n){"use strict";n.r(t),n.d(t,"EventsFieldChangeService",(function(){return c})),n.d(t,"EVENTS_FIELD_CHANGE_HANDLER",(function(){return d}));var o=n(1127),i=n(350),r=n(2178),a=n(1809),s=n(2176),A=n(256),l=n(229),c=function(){function EventsFieldChangeService(){}return EventsFieldChangeService.prototype.processChange=function(e,t,n){if(e===i.EVENT_PROPERTIES.RECURRENCE_EXPRESSION&&this.processRecurrenceExpressionChange(t,n),e===i.EVENT_PROPERTIES.RECURRENCE_EXPRESSION||e===i.EVENT_PROPERTIES.EVENT_START){var o=n.find((function(e){return e.currentInstance instanceof s.EventTimeCompositeComponent})),a=n.find((function(e){return e.currentInstance instanceof r.RecurringEventComponent}));e===i.EVENT_PROPERTIES.RECURRENCE_EXPRESSION&&this.handleEventEnd(t,o.currentInstance),a&&e===i.EVENT_PROPERTIES.EVENT_START&&t[i.EVENT_PROPERTIES.TIME_ZONE_ID]&&(a.currentInstance.timeZoneId=t[i.EVENT_PROPERTIES.TIME_ZONE_ID]),this.processDateChange(o,a),t&&this.processAllDayEventChange(t[i.EVENT_PROPERTIES.ALL_DAY_EVENT],a)}},EventsFieldChangeService.prototype.canProcess=function(e){return e===A.EVENT_ITEM_FULL_NAME},EventsFieldChangeService.prototype.processDateChange=function(e,t){if(t&&e){var n=t.currentInstance,o=e.currentInstance.getValue(!0);n.startDate=new Date(o.EventStart),n.handleEndDateChange(new Date(o.EventEnd))}},EventsFieldChangeService.prototype.processAllDayEventChange=function(e,t){t&&null!=e&&(t.currentInstance.allDayEvent=e)},EventsFieldChangeService.prototype.processRecurrenceExpressionChange=function(e,t){var n=JSON.parse(e),o=n&&!(n.frequency===a.RecurrenceFrequency.None);t.find((function(e){return e.currentInstance instanceof s.EventTimeCompositeComponent})).currentInstance.handleRecurrenceChange(o)},EventsFieldChangeService.prototype.handleEventEnd=function(e,t){e&&(JSON.parse(e).frequency===a.RecurrenceFrequency.None&&t.resetEndDate())},EventsFieldChangeService.ɵfac=function EventsFieldChangeService_Factory(e){return new(e||EventsFieldChangeService)},EventsFieldChangeService.ɵprov=l["ɵɵdefineInjectable"]({token:EventsFieldChangeService,factory:EventsFieldChangeService.ɵfac}),EventsFieldChangeService}(),d={provide:o.FIELDS_CHANGE_SERVICE_TOKEN,useClass:c,multi:!0}},function(e,t,n){"use strict";n.r(t),n.d(t,"EventsGridExtender",(function(){return s})),n.d(t,"EVENTS_GRID_EXTENDER",(function(){return l}));var o=n(259),i=n(229),r=n(1388),a=n(256),s=function(e){function EventsGridExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(EventsGridExtender,e),EventsGridExtender.prototype.isSupportedType=function(e){return e.metadata.typeFullName===a.EVENT_ITEM_FULL_NAME||e.metadata.typeFullName===a.CALENDAR_ITEM_FULL_NAME},EventsGridExtender.ɵfac=function EventsGridExtender_Factory(e){return A(e||EventsGridExtender)},EventsGridExtender.ɵprov=i["ɵɵdefineInjectable"]({token:EventsGridExtender,factory:EventsGridExtender.ɵfac}),EventsGridExtender}(r.GridExtenderBase),A=i["ɵɵgetInheritedFactory"](s),l={multi:!0,provide:r.GRID_EXTENDER_TOKEN,useClass:s}},function(e,t,n){"use strict";n.r(t),n.d(t,"EventsEditExtender",(function(){return l})),n.d(t,"EVENTS_EDIT_EXTENDER",(function(){return d}));var o=n(259),i=n(229),r=n(1199),a=n(350),s=n(266),A=n(256),l=function(e){function EventsEditExtender(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(EventsEditExtender,e),EventsEditExtender.prototype.isSupportedType=function(e){return e.metadata.typeFullName===A.EVENT_ITEM_FULL_NAME||e.metadata.typeFullName===A.CALENDAR_ITEM_FULL_NAME},EventsEditExtender.prototype.includedProperties=function(e){return[s.Properties.AvailableLanguages,a.EVENT_PROPERTIES.EVENT_START_WITH_OFFSET,a.EVENT_PROPERTIES.EVENT_END_WITH_OFFSET,a.EVENT_PROPERTIES.EVENT_START_UTC_OFFSET,a.EVENT_PROPERTIES.EVENT_END_UTC_OFFSET]},EventsEditExtender.prototype.hasCreateActionFromEdit=function(){return!0},EventsEditExtender.ɵfac=function EventsEditExtender_Factory(e){return c(e||EventsEditExtender)},EventsEditExtender.ɵprov=i["ɵɵdefineInjectable"]({token:EventsEditExtender,factory:EventsEditExtender.ɵfac}),EventsEditExtender}(r.EditExtender),c=i["ɵɵgetInheritedFactory"](l),d={multi:!0,provide:r.EDIT_EXTENDER_TOKEN,useClass:l}},function(e,t,n){"use strict";n.r(t),n.d(t,"ThemeModule",(function(){return d}));var o=n(1569),i=n(1097),r=n(2186),a=n(2187),s=n(2188),A=n(1458),l=n(229),c=n(260),d=function(){function ThemeModule(){}return ThemeModule.ɵfac=function ThemeModule_Factory(e){return new(e||ThemeModule)},ThemeModule.ɵmod=l["ɵɵdefineNgModule"]({type:ThemeModule}),ThemeModule.ɵinj=l["ɵɵdefineInjector"]({providers:[r.ThemeGuard,A.CompositeThemeProvider],imports:[[a.themeRouting,o.SharedModule,i.FieldsModule]]}),ThemeModule}();l["ɵɵsetNgModuleScope"](d,{declarations:[s.ThemeComponent],imports:[c.RouterModule,o.SharedModule,i.FieldsModule]})},function(e,t,n){"use strict";n.r(t),n.d(t,"ThemeGuard",(function(){return s}));var o=n(1458),i=n(260),r=n(1152),a=n(229),s=function(){function ThemeGuard(e,t){this.router=e,this.themeProvider=t}return ThemeGuard.prototype.canActivate=function(){return!!this.themeProvider.hasProviders||(this.router.navigate([r.ROUTE_PATHS.HOME]),!1)},ThemeGuard.ɵfac=function ThemeGuard_Factory(e){return new(e||ThemeGuard)(a["ɵɵinject"](i.Router),a["ɵɵinject"](o.CompositeThemeProvider))},ThemeGuard.ɵprov=a["ɵɵdefineInjectable"]({token:ThemeGuard,factory:ThemeGuard.ɵfac}),ThemeGuard}()},function(e,t,n){"use strict";n.r(t),n.d(t,"THEME_ROUTES",(function(){return a})),n.d(t,"themeRouting",(function(){return s}));var o=n(260),i=n(2188),r=n(2186),a=[{path:n(1152).ROUTE_PATHS.ROOT_PREFIX+"/theme",component:i.ThemeComponent,canActivate:[r.ThemeGuard]}],s=o.RouterModule.forChild(a)},function(e,t,n){"use strict";n.r(t),n.d(t,"ThemeComponent",(function(){return d}));var o=n(1458),i=n(418),r=n(1118),a=n(262),s=n(229),A=n(354),l=n(261),c=["tree"],d=function(){function ThemeComponent(e){this.themeProvider=e,this.treeConfig={treeProperties:{idField:"id"}},this.selectButton=new r.ConfirmButton("Use selected")}return ThemeComponent.prototype.onTreeInitialized=function(){this.tree.selectAndActivateNodeById(this.themeProvider.appliedTheme.id.toString())},ThemeComponent.prototype.onTreeNodeClicked=function(e){this.selectedTheme=e.data},ThemeComponent.prototype.useSelected=function(){var e=this;if(this.selectedTheme&&this.themeProvider.appliedTheme.id!==this.selectedTheme.id){var t=this.selectedTheme;this.selectButton.disabled.next(!0),this.selectButton.loader.next("transparent"),setTimeout((function(){e.selectButton.loader.next(null),e.selectButton.checked.next(!0),setTimeout((function(){e.themeProvider.applyTheme(t),e.selectButton.checked.next(!1),e.selectButton.disabled.next(!1)}),a.BLUR_EFFECT_TIMEOUT)}),a.LOADING_TIME)}},ThemeComponent.ɵfac=function ThemeComponent_Factory(e){return new(e||ThemeComponent)(s["ɵɵdirectiveInject"](o.CompositeThemeProvider))},ThemeComponent.ɵcmp=s["ɵɵdefineComponent"]({type:ThemeComponent,selectors:[["ng-component"]],viewQuery:function ThemeComponent_Query(e,t){if(1&e&&s["ɵɵviewQuery"](c,3),2&e){var n;s["ɵɵqueryRefresh"](n=s["ɵɵloadQuery"]())&&(t.tree=n.first)}},decls:12,vars:9,consts:[[1,"sf-form","-medium","-sf-centered-box","-sf-txt-align-center"],[1,"-sf-mb-5xl","-sf-mt-7xl"],["look","flat",3,"nodes","config","treeNodeClicked","initialized"],["tree",""],[1,"-sf-mt-m","-sf-mb-m"],["look","action large",3,"feedback","loader","onClick"]],template:function ThemeComponent_Template(e,t){1&e&&(s["ɵɵelementStart"](0,"div",0),s["ɵɵelementStart"](1,"header",1),s["ɵɵelementStart"](2,"h1"),s["ɵɵtext"](3,"Select a theme"),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementStart"](4,"main"),s["ɵɵelementStart"](5,"sf-tree",2,3),s["ɵɵlistener"]("treeNodeClicked",(function ThemeComponent_Template_sf_tree_treeNodeClicked_5_listener(e){return t.onTreeNodeClicked(e)}))("initialized",(function ThemeComponent_Template_sf_tree_initialized_5_listener(){return t.onTreeInitialized()})),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementStart"](7,"footer",4),s["ɵɵelementStart"](8,"sf-button",5),s["ɵɵlistener"]("onClick",(function ThemeComponent_Template_sf_button_onClick_8_listener(){return t.useSelected()})),s["ɵɵpipe"](9,"async"),s["ɵɵpipe"](10,"async"),s["ɵɵtext"](11),s["ɵɵelementEnd"](),s["ɵɵelementEnd"](),s["ɵɵelementEnd"]()),2&e&&(s["ɵɵadvance"](5),s["ɵɵproperty"]("nodes",t.themeProvider.themes)("config",t.treeConfig),s["ɵɵadvance"](3),s["ɵɵproperty"]("feedback",s["ɵɵpipeBind1"](9,5,t.selectButton.checked))("loader",s["ɵɵpipeBind1"](10,7,t.selectButton.loader)),s["ɵɵadvance"](3),s["ɵɵtextInterpolate1"](" ",t.selectButton.content," "))},directives:[i.TreeComponent,A.SfButtonComponent],pipes:[l.AsyncPipe],encapsulation:2}),ThemeComponent}()},function(e,t,n){"use strict";n.r(t),n.d(t,"EVENT_TIME_COMPOSITE_COMPONENT_REGISTRY",(function(){return a}));var o=n(2177),i=n(2176),r=n(1124),a={readComponent:o.EventTimeCompositeReadonlyComponent,writeComponent:i.EventTimeCompositeComponent,settingsType:r.CompositeFieldSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"RECURRING_EVENTS_COMPONENTS",(function(){return r})),n.d(t,"RECURRING_EVENT_REGISTRY",(function(){return a}));var o=n(2178),i=n(2191),r=[o.RecurringEventComponent],a={writeComponent:o.RecurringEventComponent,readComponent:o.RecurringEventComponent,settingsType:i.RecurringEventSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"RecurringEventSettings",(function(){return i}));var o=n(259),i=function(e){function RecurringEventSettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(RecurringEventSettings,e),RecurringEventSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.title="Recurring event",this.changeOnFocus=!0},RecurringEventSettings}(n(332).SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"NAVIGATION_OPTIONS_COMPOSITE_COMPONENT_REGISTRY",(function(){return r}));var o=n(1186),i=n(1124),r={writeComponent:o.NavigationOptionsCompositeComponent,settingsType:i.CompositeFieldSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"LOCALIZATION_STRATEGY_COMPONENT_REGISTRY",(function(){return r}));var o=n(2161),i=n(2194),r={writeComponent:o.LocalizationStrategyComponent,settingsType:i.LocalizationStrategySettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"LocalizationStrategySettings",(function(){return i}));var o=n(259),i=function(e){function LocalizationStrategySettings(){return null!==e&&e.apply(this,arguments)||this}return Object(o.__extends)(LocalizationStrategySettings,e),LocalizationStrategySettings}(n(1124).CompositeFieldSettings)},function(e,t,n){"use strict";n.r(t),n.d(t,"SEARCH_SITE_COMPOSITE_COMPONENT_REGISTRY",(function(){return r}));var o=n(2159),i=n(1124),r={writeComponent:o.SearchSiteCompositeComponent,settingsType:i.CompositeFieldSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"ADVANCED_OPTIONS_COMPOSITE_COMPONENT_REGISTRY",(function(){return r}));var o=n(2160),i=n(1124),r={writeComponent:o.AdvancedOptionsCompositeComponent,settingsType:i.CompositeFieldSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"HIDDEN_REGISTRY",(function(){return a}));var o=n(1402),i=n(1384),r=n(332),a={writeComponent:o.HiddenComponent,readComponent:i.EditorReadonlyComponent,settingsType:r.SettingsBase}},function(e,t,n){"use strict";n.r(t),n.d(t,"CustomUrlSerializer",(function(){return i}));var o=n(260),i=function(){function CustomUrlSerializer(){this._defaultUrlSerializer=new o.DefaultUrlSerializer}return CustomUrlSerializer.prototype.parse=function(e){return e=e.replace(/(\()(?!(?:[A-z]+):[A-z]+)(?!(?:[0-z]|-){36}\/edit)/g,"%28").replace(/(\))(.)/g,"%29$2"),this._defaultUrlSerializer.parse(e)},CustomUrlSerializer.prototype.serialize=function(e){return this._defaultUrlSerializer.serialize(e).replace(/\((((?!(\/\/|:)).)*)\)/g,"$1").replace(/%28/g,"(").replace(/%29/g,")")},CustomUrlSerializer}()},,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"TAXONOMY_TYPE_CHOICE_REGISTRY",(function(){return a}));var o=n(1143),i=n(1664),r=n(1665),a={writeComponent:i.TaxonomyTypeChoiceComponent,readComponent:r.TaxonomyTypeChoiceReadonlyComponent,settingsType:o.ChoiceSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"SWITCH_REGISTRY",(function(){return r}));var o=n(2205),i=n(1407),r={writeComponent:i.SwitchWrapperComponent,readComponent:i.SwitchWrapperComponent,settingsType:o.SwitchSettings}},function(e,t,n){"use strict";n.r(t),n.d(t,"SwitchSettings",(function(){return r}));var o=n(259),i=n(332),r=function(e){function SwitchSettings(){var t=null!==e&&e.apply(this,arguments)||this;return t.onText="ON",t.offText="OFF",t}return Object(o.__extends)(SwitchSettings,e),SwitchSettings.prototype.init=function(t){e.prototype.init.call(this,t)},SwitchSettings}(i.SettingsBase)},function(e,t,n){"use strict";n.r(t),n.d(t,"ComplexSettings",(function(){return a})),n.d(t,"COMPLEX_REGISTRY",(function(){return s}));var o=n(259),i=n(332),r=n(2136),a=function(e){function ComplexSettings(){var t=null!==e&&e.apply(this,arguments)||this;return t.hideExpander=!1,t.optionName=null,t}return Object(o.__extends)(ComplexSettings,e),ComplexSettings.prototype.init=function(t){e.prototype.init.call(this,t),this.typeChildProperties=t.typeChildProperties||[];var n=[];try{n=t.dependsOnExtraRecords?JSON.parse(t.dependsOnExtraRecords):[]}catch(e){}this.extraRecords=n,this.itemDefaultValue=t.itemDefaultValue,this.culture=t.culture,this.markAsDirty=!0,this.useDefaultValue=!0,this.hideExpander=t.hideExpander,this.isCollection="enumerable"===this.type||"dictionary"===this.type,this.isMultiple=this.isCollection||this.extraRecords&&this.extraRecords.length>0||this.dependsOnLength>0},ComplexSettings}(i.SettingsBase),s={writeComponent:r.ComplexComponent,readComponent:r.ComplexComponent,settingsType:a}},function(e,t,n){"use strict";n.r(t);var o=n(1738);n.d(t,"ConfigComponent",(function(){return o.ConfigComponent}))},function(e,t,n){"use strict";n.r(t);var o=n(1739);n.d(t,"FeatureComponent",(function(){return o.FeatureComponent}))},function(e,t,n){"use strict";n.r(t),n.d(t,"STORE_MODULES",(function(){return p}));var o=n(295),i=n(279),r=n(280),a=n(2210),s=n(296),A=n(2211),l=n(2212),c=n(2213),d=[s.StoreModule.forRoot(o.actionReducersMap,{metaReducers:o.metaReducersMap}),A.EffectsModule.forRoot([l.SidebarEffects,c.MobilePreviewEffects])];i.environment.env!==r.environmentTypes.integration&&i.environment.env!==r.environmentTypes.production&&d.push(a.StoreDevtoolsModule.instrument({maxAge:25,logOnly:!1}));var p=d},,,function(e,t,n){"use strict";n.r(t),n.d(t,"SidebarEffects",(function(){return p}));var o=n(2211),i=n(1583),r=n(131),a=n(11),s=n(298),A=n(272),l=n(295),c=n(1538),d=n(229),p=function(){function SidebarEffects(e,t,n){var A=this;this.actions$=e,this.storage=t,this.store=n,this.openedSidebars$=Object(o.createEffect)((function(){return A.actions$.pipe(Object(o.ofType)(s.SIDEBAR_ACTIONS.configure),Object(r.delay)(0),Object(r.mergeMap)((function(e){return Object(a.of)(A.initFromConfig(e.sidebarData))})))})),this.activeConfigChanged$=Object(o.createEffect)((function(){return A.actions$.pipe(Object(o.ofType)(s.SIDEBAR_ACTIONS.change,s.SIDEBAR_ACTIONS.changeAndOpen),Object(r.withLatestFrom)(A.store.pipe(c.SIDEBAR_SELECTORS.sidebarData)),Object(r.mergeMap)((function(e){var t=e[0],n=e[1],o=Object.assign({},t.activeConfig);return A.setOpenedSidebar(n,o),Object(a.of)(Object(s.__SidebarChangeInternalAction__)({activeConfig:o}))})))})),this.configChanged$=Object(o.createEffect)((function(){return A.actions$.pipe(Object(o.ofType)(s.SIDEBAR_ACTIONS.configure),Object(r.mergeMap)((function(e){var t=Object.assign({},e.sidebarData);return Object(a.of)(Object(s.__SidebarConfigInternalAction__)({sidebarData:t}))})))})),this.close$=Object(o.createEffect)((function(){return A.actions$.pipe(Object(o.ofType)(s.SIDEBAR_ACTIONS.close),Object(r.withLatestFrom)(A.store.pipe(c.SIDEBAR_SELECTORS.sidebarData)),Object(r.tap)((function(e){var t=e[0].shouldClearLocalStorageForSidebar,n=e[1];t&&A.getSidebarExternalKeys(n).forEach((function(e){if(e){var t=A.getOpenedSidebars();t[e]&&(delete t[e],A.storage.setItem(i.SIDEBAR_KEY,JSON.stringify(t)))}}))})))}),{dispatch:!1})}return SidebarEffects.prototype.initFromConfig=function(e){if(e.externalKey){var t=this.getSidebarExternalKeys(e),n=this.getOpenedSidebars()[t[0]];if(n){var o=e.buttons.find((function(e){return e.name===n})),i=Object.assign({},o);return s.SIDEBAR_ACTIONS.changeAndOpen({activeConfig:i,shouldAnimate:!1})}return s.SIDEBAR_ACTIONS.close({shouldAnimate:!1,shouldClearLocalStorageForSidebar:!0})}return{type:"noop"}},SidebarEffects.prototype.setOpenedSidebar=function(e,t){var n=t.name;if(e&&e.externalKey&&e.buttons.find((function(e){return e.name===n}))){var o=this.getOpenedSidebars(),r=this.getSidebarExternalKeys(e);o[r[0]]!==n&&(r.forEach((function(e){return o[e]=n})),this.storage.setItem(i.SIDEBAR_KEY,JSON.stringify(o)))}},SidebarEffects.prototype.getSidebarExternalKeys=function(e){return Array.isArray(e.externalKey)?e.externalKey:[e.externalKey]},SidebarEffects.prototype.getOpenedSidebars=function(){var e=this.storage.getItem(i.SIDEBAR_KEY);return e=e?JSON.parse(e):{}},SidebarEffects.ɵfac=function SidebarEffects_Factory(e){return new(e||SidebarEffects)(d["ɵɵinject"](o.Actions),d["ɵɵinject"](A.LOCAL_STORAGE),d["ɵɵinject"](l.AppStore))},SidebarEffects.ɵprov=d["ɵɵdefineInjectable"]({token:SidebarEffects,factory:SidebarEffects.ɵfac}),SidebarEffects}()},function(e,t,n){"use strict";n.r(t),n.d(t,"MobilePreviewEffects",(function(){return l}));var o=n(2211),i=n(11),r=n(131),a=n(271),s=n(306),A=n(229),l=function(){function MobilePreviewEffects(e,t){var n=this;this.actions$=e,this.settingsService=t,this.onChangeWidth$=Object(o.createEffect)((function(){return n.actions$.pipe(Object(o.ofType)(s.MOBILE_PREVIEW_ACTIONS.changeWidth),Object(r.mergeMap)((function(e){return Object(i.of)(n.setStorageValue(e.width))})))}),{dispatch:!1}),this.init$=Object(o.createEffect)((function(){return n.actions$.pipe(Object(o.ofType)(o.ROOT_EFFECTS_INIT),Object(r.map)((function(){var e=n.settingsService.getMobillePreviewBreakPoint();return e?s.MOBILE_PREVIEW_ACTIONS.changeWidth({width:e}):{type:"noop"}})))}))}return MobilePreviewEffects.prototype.setStorageValue=function(e){return e&&this.settingsService.setMobillePreviewBreakPoint(e),{type:"noop"}},MobilePreviewEffects.ɵfac=function MobilePreviewEffects_Factory(e){return new(e||MobilePreviewEffects)(A["ɵɵinject"](o.Actions),A["ɵɵinject"](a.Settings))},MobilePreviewEffects.ɵprov=A["ɵɵdefineInjectable"]({token:MobilePreviewEffects,factory:MobilePreviewEffects.ɵfac}),MobilePreviewEffects}()}],[[1,"runtime","vendor"]]]); \ No newline at end of file diff --git a/AdminApp/main.21bb621178493290ce1d.js.LICENSE.txt b/AdminApp/main.21bb621178493290ce1d.js.LICENSE.txt new file mode 100644 index 00000000..ee3ba159 --- /dev/null +++ b/AdminApp/main.21bb621178493290ce1d.js.LICENSE.txt @@ -0,0 +1,10461 @@ +/*! .. */ + +/*! ../../../../../../../../../../../fields/services/base.service */ + +/*! ../../../../../../../../../../fields */ + +/*! ../../../../../../../../../../fields/index */ + +/*! ../../../../../../../../../../fields/selector/selector.component */ + +/*! ../../../../../../../../../common-constants */ + +/*! ../../../../../../../../../utils */ + +/*! ../../../../../../../../common-constants */ + +/*! ../../../../../../../../content/constants */ + +/*! ../../../../../../../../content/dynamic-modules/interfaces */ + +/*! ../../../../../../../../fields */ + +/*! ../../../../../../../../fields/choice/choice-dropdown.component */ + +/*! ../../../../../../../../fields/choice/index */ + +/*! ../../../../../../../../fields/common/chips/chips.component */ + +/*! ../../../../../../../../fields/common/directives/click-outside.directive */ + +/*! ../../../../../../../../fields/common/pipes/breadcrumb.pipe */ + +/*! ../../../../../../../../fields/common/pipes/htmlEscape.pipe */ + +/*! ../../../../../../../../fields/common/validators */ + +/*! ../../../../../../../../fields/date-time/date-time-picker.component */ + +/*! ../../../../../../../../fields/date-time/date-time-settings */ + +/*! ../../../../../../../../fields/field-settings-base */ + +/*! ../../../../../../../../fields/selector/selector.component */ + +/*! ../../../../../../../../fields/short-text/short-text-settings */ + +/*! ../../../../../../../../fields/text-area */ + +/*! ../../../../../../../../fields/text-area/text-area-settings */ + +/*! ../../../../../../../../fields/utilities/rx-base.component */ + +/*! ../../../../../../../../shared/fields.constants */ + +/*! ../../../../../../../../shared/rxjs-extensions/toLoadingState */ + +/*! ../../../../../../../../shared/services/metadata/meta-data-parser.service */ + +/*! ../../../../../../../../utils */ + +/*! ../../../../../../../content/constants */ + +/*! ../../../../../../../content/dynamic-modules/interfaces */ + +/*! ../../../../../../../content/modules.provider */ + +/*! ../../../../../../../fields */ + +/*! ../../../../../../../fields/async-field-value */ + +/*! ../../../../../../../fields/card/card.component */ + +/*! ../../../../../../../fields/choice/choice-dropdown-list.component */ + +/*! ../../../../../../../fields/choice/choice-dropdown.component */ + +/*! ../../../../../../../fields/choice/choice-readOnly.component */ + +/*! ../../../../../../../fields/choice/choice-yesno.component */ + +/*! ../../../../../../../fields/choice/choice.component */ + +/*! ../../../../../../../fields/choice/choice.settings */ + +/*! ../../../../../../../fields/choice/index */ + +/*! ../../../../../../../fields/common/chips/chips.component */ + +/*! ../../../../../../../fields/common/common-constants */ + +/*! ../../../../../../../fields/common/components/sticky.component */ + +/*! ../../../../../../../fields/common/directives/sticky.directive */ + +/*! ../../../../../../../fields/common/pipes/breadcrumb.pipe */ + +/*! ../../../../../../../fields/common/pipes/htmlEscape.pipe */ + +/*! ../../../../../../../fields/common/pipes/sanitizer.pipe */ + +/*! ../../../../../../../fields/common/validators/index */ + +/*! ../../../../../../../fields/common/validators/validators.constants */ + +/*! ../../../../../../../fields/common/warning/warning.component */ + +/*! ../../../../../../../fields/date-time/date-time-picker-readOnly.component */ + +/*! ../../../../../../../fields/date-time/date-time-picker.component */ + +/*! ../../../../../../../fields/field-base */ + +/*! ../../../../../../../fields/field-settings-base */ + +/*! ../../../../../../../fields/field-status */ + +/*! ../../../../../../../fields/field-validation */ + +/*! ../../../../../../../fields/html/editor.readonly.component */ + +/*! ../../../../../../../fields/index */ + +/*! ../../../../../../../fields/loader-wrapper/loader-wrapper.component */ + +/*! ../../../../../../../fields/resolvers/base-status.resolver */ + +/*! ../../../../../../../fields/selector/selector.component */ + +/*! ../../../../../../../fields/services/base.service */ + +/*! ../../../../../../../fields/services/content-section-menu.service */ + +/*! ../../../../../../../fields/short-text/short-text.component */ + +/*! ../../../../../../../fields/short-text/short-text.constants */ + +/*! ../../../../../../../fields/tree/tree.component */ + +/*! ../../../../../../../fields/utilities/rx-base.component */ + +/*! ../../../../../../../shared/fields.constants */ + +/*! ../../../../../../../shared/rxjs-extensions */ + +/*! ../../../../../../../shared/rxjs-extensions/delayEmission */ + +/*! ../../../../../../../shared/services/metadata/meta-data-constants */ + +/*! ../../../../../../../shared/services/metadata/meta-data-parser.service */ + +/*! ../../../../../../../shared/services/metadata/meta-data.store */ + +/*! ../../../../../../common-constants */ + +/*! ../../../../../../constants/route-paths */ + +/*! ../../../../../../content/constants */ + +/*! ../../../../../../fields */ + +/*! ../../../../../../fields//fields-constants */ + +/*! ../../../../../../fields/async-field-value */ + +/*! ../../../../../../fields/card/card.component */ + +/*! ../../../../../../fields/choice */ + +/*! ../../../../../../fields/choice/choice-chip.component */ + +/*! ../../../../../../fields/choice/choice-dropdown-list.component */ + +/*! ../../../../../../fields/choice/choice-dropdown.component */ + +/*! ../../../../../../fields/choice/choice-multiple.component */ + +/*! ../../../../../../fields/choice/choice-yesno.component */ + +/*! ../../../../../../fields/choice/choice.component */ + +/*! ../../../../../../fields/choice/choice.settings */ + +/*! ../../../../../../fields/common/chips/chips.component */ + +/*! ../../../../../../fields/common/chips/simple-chip.component */ + +/*! ../../../../../../fields/common/common-constants */ + +/*! ../../../../../../fields/common/components/sticky.component */ + +/*! ../../../../../../fields/common/components/sticky.heading.directive */ + +/*! ../../../../../../fields/common/directives/infiniteScrollingOnElement.directive */ + +/*! ../../../../../../fields/common/directives/resize.directive */ + +/*! ../../../../../../fields/common/directives/sticky.directive */ + +/*! ../../../../../../fields/common/pipes/htmlEscape.pipe */ + +/*! ../../../../../../fields/common/utils */ + +/*! ../../../../../../fields/common/validators */ + +/*! ../../../../../../fields/common/validators/schedule.validator */ + +/*! ../../../../../../fields/date-time/date-time-picker.component */ + +/*! ../../../../../../fields/date-time/date-time-settings */ + +/*! ../../../../../../fields/field-base */ + +/*! ../../../../../../fields/field-settings-base */ + +/*! ../../../../../../fields/field-status */ + +/*! ../../../../../../fields/fields.module */ + +/*! ../../../../../../fields/index */ + +/*! ../../../../../../fields/insert-body/insert-body.component */ + +/*! ../../../../../../fields/load-more/load-more.component */ + +/*! ../../../../../../fields/loader-wrapper/loader-wrapper.component */ + +/*! ../../../../../../fields/media/video/video-player.component */ + +/*! ../../../../../../fields/number/number-settings */ + +/*! ../../../../../../fields/number/number.component */ + +/*! ../../../../../../fields/resolvers/base-status.resolver */ + +/*! ../../../../../../fields/selector/selector.component */ + +/*! ../../../../../../fields/services/base.service */ + +/*! ../../../../../../fields/short-text */ + +/*! ../../../../../../fields/short-text/short-text-settings */ + +/*! ../../../../../../fields/short-text/short-text.constants */ + +/*! ../../../../../../fields/thumbnail/thumbnail.component */ + +/*! ../../../../../../fields/tree/tree.component */ + +/*! ../../../../../../fields/utilities/rx-base.component */ + +/*! ../../../../../../node_modules/@angular/router */ + +/*! ../../../../../../node_modules/rxjs */ + +/*! ../../../../../../services/field.model */ + +/*! ../../../../../../services/query */ + +/*! ../../../../../../services/sitefinitySdk.service */ + +/*! ../../../../../../shared/rxjs-extensions/delayEmission */ + +/*! ../../../../../../shared/services/logger-source/logger */ + +/*! ../../../../../../utils */ + +/*! ../../../../../../window.provider */ + +/*! ../../../../../animations/animation-utilities */ + +/*! ../../../../../api */ + +/*! ../../../../../app-config/external-app-config.service */ + +/*! ../../../../../app-config/reorder-module-children.provider */ + +/*! ../../../../../common-constants */ + +/*! ../../../../../constants/animation-constants */ + +/*! ../../../../../constants/route-paths */ + +/*! ../../../../../content/dynamic-modules/services/dynamic-item.service */ + +/*! ../../../../../content/dynamic-modules/services/locatable-dynamic-item.service */ + +/*! ../../../../../content/dynamic-modules/services/provider-service */ + +/*! ../../../../../environment */ + +/*! ../../../../../environments/environment */ + +/*! ../../../../../fields */ + +/*! ../../../../../fields/choice */ + +/*! ../../../../../fields/choice/choice-service-url.component */ + +/*! ../../../../../fields/choice/choice.component */ + +/*! ../../../../../fields/choice/choice.settings */ + +/*! ../../../../../fields/common/chips/chips.component */ + +/*! ../../../../../fields/common/common-constants */ + +/*! ../../../../../fields/common/directives/infiniteScrolling.directive */ + +/*! ../../../../../fields/common/directives/infiniteScrollingOnElement.directive */ + +/*! ../../../../../fields/common/pipes/htmlEscape.pipe */ + +/*! ../../../../../fields/common/pipes/sanitizer.pipe */ + +/*! ../../../../../fields/common/popup/popup.component */ + +/*! ../../../../../fields/common/utils */ + +/*! ../../../../../fields/common/validators/validators.constants */ + +/*! ../../../../../fields/content-section-menu/content-section-menu.component */ + +/*! ../../../../../fields/date-time/date-time-picker-readOnly.component */ + +/*! ../../../../../fields/field-base */ + +/*! ../../../../../fields/field-settings-base */ + +/*! ../../../../../fields/field-status */ + +/*! ../../../../../fields/field-validation */ + +/*! ../../../../../fields/fields.module */ + +/*! ../../../../../fields/html/editor-group-toolbar-buttons */ + +/*! ../../../../../fields/load-more/load-more.component */ + +/*! ../../../../../fields/loader-wrapper/loader-wrapper.component */ + +/*! ../../../../../fields/media/document/document.component */ + +/*! ../../../../../fields/media/image/image.component */ + +/*! ../../../../../fields/media/video/video-player.component */ + +/*! ../../../../../fields/notification/click-notification.component */ + +/*! ../../../../../fields/related-data/related-data.settings */ + +/*! ../../../../../fields/resolvers/status.resolver */ + +/*! ../../../../../fields/selector/selector.component */ + +/*! ../../../../../fields/split-button/split-button.component */ + +/*! ../../../../../fields/status/status.component */ + +/*! ../../../../../fields/thumbnail/thumbnail.component */ + +/*! ../../../../../fields/tree/tree-node-component.provider */ + +/*! ../../../../../fields/tree/tree.component */ + +/*! ../../../../../fields/utilities/rx-base.component */ + +/*! ../../../../../html/selector-constants */ + +/*! ../../../../../libraries/file-picker-view-mode */ + +/*! ../../../../../libraries/file-picker.component */ + +/*! ../../../../../libraries/file-preview-edit/file-preview-edit-settings */ + +/*! ../../../../../libraries/file-reorder.component */ + +/*! ../../../../../libraries/images/view-all-sizes/view-all-image-sizes.component */ + +/*! ../../../../../libraries/media-content.types */ + +/*! ../../../../../libraries/media/simple-media.component */ + +/*! ../../../../../libraries/services/media.helpers */ + +/*! ../../../../../libraries/services/media.service */ + +/*! ../../../../../modules/shared/fields-builder/providers/fields-provider */ + +/*! ../../../../../pages/services/page.resolver */ + +/*! ../../../../../services/field.model */ + +/*! ../../../../../services/fieldSection.model */ + +/*! ../../../../../services/keyboard-shortcuts.constants */ + +/*! ../../../../../services/keyboard-shortcuts.service */ + +/*! ../../../../../services/query */ + +/*! ../../../../../services/scroll.service */ + +/*! ../../../../../services/store/actions/actions.fields */ + +/*! ../../../../../services/store/actions/actions.sidebar */ + +/*! ../../../../../services/store/app-store */ + +/*! ../../../../../services/store/selectors/selectors.fields */ + +/*! ../../../../../services/store/selectors/selectors.sidebar */ + +/*! ../../../../../services/url.helper */ + +/*! ../../../../../services/url.service */ + +/*! ../../../../../shared/commands/command */ + +/*! ../../../../../shared/commands/has-notification-command */ + +/*! ../../../../../shared/components/action-menu/action-menu-model */ + +/*! ../../../../../shared/components/action-menu/operation.model */ + +/*! ../../../../../shared/components/bulk/bulk.component */ + +/*! ../../../../../shared/components/modal-confirmation/modal-confirmation.component */ + +/*! ../../../../../shared/components/modal-window/modal-window.component */ + +/*! ../../../../../shared/components/no-items-found/no-items-found.component */ + +/*! ../../../../../shared/components/site-sync/site-sync-notification.component */ + +/*! ../../../../../shared/fields-builder/services/fields-registry */ + +/*! ../../../../../shared/fields.constants */ + +/*! ../../../../../shared/models/data-context-component */ + +/*! ../../../../../shared/pipes/bolder-text.pipe */ + +/*! ../../../../../shared/pipes/relative-date.pipe */ + +/*! ../../../../../shared/rxjs-extensions */ + +/*! ../../../../../shared/rxjs-extensions/toLoadingState */ + +/*! ../../../../../shared/services/composite-field.settings */ + +/*! ../../../../../shared/services/content-filter.service */ + +/*! ../../../../../shared/services/data-extensions/data.extender */ + +/*! ../../../../../shared/services/fields-generator.service */ + +/*! ../../../../../shared/services/logger-source/logger */ + +/*! ../../../../../shared/services/metadata/meta-data-constants */ + +/*! ../../../../../shared/services/metadata/meta-data.store */ + +/*! ../../../../../shared/services/metadata/site-data.store */ + +/*! ../../../../../shared/services/metadata/user-data.store */ + +/*! ../../../../../shared/services/modal-window.service */ + +/*! ../../../../../shared/services/notification/notification-data */ + +/*! ../../../../../shared/services/notification/notification.service */ + +/*! ../../../../../shared/services/query-params-extender */ + +/*! ../../../../../shared/services/sort.service */ + +/*! ../../../../../shared/services/storage.service */ + +/*! ../../../../../src/app/theme/composite-theme-provider */ + +/*! ../../../../../styles/zone-editor.scss */ + +/*! ../../../../../taxonomy/components/merge-taxon.component */ + +/*! ../../../../../taxonomy/components/move-taxon.component */ + +/*! ../../../../../urlName/urlName-settings */ + +/*! ../../../../../utils */ + +/*! ../../../../../window.provider */ + +/*! ../../../../analytics/analytics-column.component */ + +/*! ../../../../animations/animation-utilities */ + +/*! ../../../../api */ + +/*! ../../../../app-config/reorder-module-children.provider */ + +/*! ../../../../app/theme/theme-variables */ + +/*! ../../../../auth/auth.service */ + +/*! ../../../../bootstrapper */ + +/*! ../../../../common-constants */ + +/*! ../../../../components/admin-app-management/index */ + +/*! ../../../../components/html-wrapper */ + +/*! ../../../../components/html-wrapper/html-wrapper.component */ + +/*! ../../../../constants */ + +/*! ../../../../constants/animation-constants */ + +/*! ../../../../constants/route-paths */ + +/*! ../../../../content/constants */ + +/*! ../../../../content/dynamic-modules/components/bulk-operations/bulk-change-template-notification.component */ + +/*! ../../../../content/dynamic-modules/components/bulk-operations/bulk-operations-notification.component */ + +/*! ../../../../content/dynamic-modules/components/commands */ + +/*! ../../../../content/dynamic-modules/components/provider-selector/provider-selector.component */ + +/*! ../../../../content/dynamic-modules/components/sidebar/filter/filter.store */ + +/*! ../../../../content/dynamic-modules/interfaces */ + +/*! ../../../../content/dynamic-modules/services/backend-tweaks/backend-tweaks.store */ + +/*! ../../../../content/dynamic-modules/services/dynamic-item.service */ + +/*! ../../../../content/dynamic-modules/services/dynamic-item.store */ + +/*! ../../../../content/dynamic-modules/services/locatable-dynamic-item.service */ + +/*! ../../../../content/dynamic-modules/services/operations/commands/bulk-command */ + +/*! ../../../../content/dynamic-modules/services/provider-store */ + +/*! ../../../../document.provider */ + +/*! ../../../../environment */ + +/*! ../../../../environments/environment */ + +/*! ../../../../fields */ + +/*! ../../../../fields/choice/choice-dropdown-list.component */ + +/*! ../../../../fields/choice/choice-dropdown.component */ + +/*! ../../../../fields/choice/choice-service-url.component */ + +/*! ../../../../fields/choice/choice.component */ + +/*! ../../../../fields/choice/choice.settings */ + +/*! ../../../../fields/common/chips/chips.component */ + +/*! ../../../../fields/common/common-constants */ + +/*! ../../../../fields/common/components/sticky.component */ + +/*! ../../../../fields/common/components/sticky.heading.directive */ + +/*! ../../../../fields/common/directives/infiniteScrolling.directive */ + +/*! ../../../../fields/common/directives/resize.directive */ + +/*! ../../../../fields/common/directives/tooltipPosition.directive */ + +/*! ../../../../fields/common/pipes/extension.pipe */ + +/*! ../../../../fields/common/pipes/file-size.pipe */ + +/*! ../../../../fields/common/pipes/htmlEscape.pipe */ + +/*! ../../../../fields/common/validators */ + +/*! ../../../../fields/common/validators/validators.constants */ + +/*! ../../../../fields/common/warning/warning.component */ + +/*! ../../../../fields/field-base */ + +/*! ../../../../fields/field-settings-base */ + +/*! ../../../../fields/field-status */ + +/*! ../../../../fields/fields-constants */ + +/*! ../../../../fields/fields.module */ + +/*! ../../../../fields/html/editor.component */ + +/*! ../../../../fields/html/external-stylesheet.service */ + +/*! ../../../../fields/index */ + +/*! ../../../../fields/loader-wrapper/loader-wrapper.component */ + +/*! ../../../../fields/media/image/image.component */ + +/*! ../../../../fields/notification/click-notification.component */ + +/*! ../../../../fields/selector/selector.component */ + +/*! ../../../../fields/short-text/short-text-settings */ + +/*! ../../../../fields/short-text/short-text.component */ + +/*! ../../../../fields/thumbnail/thumbnail.component */ + +/*! ../../../../fields/tree/tree.component */ + +/*! ../../../../fields/utilities/rx-base.component */ + +/*! ../../../../html/selector-constants */ + +/*! ../../../../libraries/documents/file-size-grid/file-grid-size.component */ + +/*! ../../../../libraries/file-list.settings */ + +/*! ../../../../libraries/images/file-dim-size-grid/file-grid-size.component */ + +/*! ../../../../libraries/services/media.helpers */ + +/*! ../../../../libraries/services/media.service */ + +/*! ../../../../libraries/thumbnail/grid-thumbnail.component */ + +/*! ../../../../pages/components/columns/based-on.component */ + +/*! ../../../../pages/components/columns/marketing/marketing-cell.component */ + +/*! ../../../../pages/components/columns/marketing/personalized-cell.component */ + +/*! ../../../../pages/components/columns/page-view.component */ + +/*! ../../../../pages/components/edit-page/commands/change-owner.command */ + +/*! ../../../../pages/components/edit-page/commands/change-template.command */ + +/*! ../../../../pages/components/mobile-preview/mobile-preview.command */ + +/*! ../../../../pages/components/navigation-options-composite-component/navigation-options.composite.component */ + +/*! ../../../../pages/services/page.resolver */ + +/*! ../../../../services/bundle-data.service */ + +/*! ../../../../services/field.model */ + +/*! ../../../../services/fieldSection.model */ + +/*! ../../../../services/http/http-status-codes */ + +/*! ../../../../services/keyboard-shortcuts.constants */ + +/*! ../../../../services/keyboard-shortcuts.service */ + +/*! ../../../../services/query */ + +/*! ../../../../services/sanitize.service */ + +/*! ../../../../services/scroll.service */ + +/*! ../../../../services/sitefinitySdk.service */ + +/*! ../../../../services/status.resolver */ + +/*! ../../../../services/store/actions/actions.media */ + +/*! ../../../../services/store/actions/actions.mobile-preview */ + +/*! ../../../../services/store/actions/actions.sidebar */ + +/*! ../../../../services/store/app-store */ + +/*! ../../../../services/store/selectors/selectors.media */ + +/*! ../../../../services/store/selectors/selectors.mobile-preview */ + +/*! ../../../../services/store/selectors/selectors.sidebar */ + +/*! ../../../../services/stylesheet.service */ + +/*! ../../../../services/url.helper */ + +/*! ../../../../services/url.service */ + +/*! ../../../../shared/commands/command-model-base */ + +/*! ../../../../shared/components/action-menu/action-menu-model */ + +/*! ../../../../shared/components/action-menu/action-menu.component */ + +/*! ../../../../shared/components/action-menu/operation.model */ + +/*! ../../../../shared/components/edit-menu/edit-menu.component */ + +/*! ../../../../shared/components/events/calendar-grid-cell/calendar-grid-cell.component */ + +/*! ../../../../shared/components/events/event-time-grid-cell/event-time.grid-cell.base.component */ + +/*! ../../../../shared/components/events/events.constants */ + +/*! ../../../../shared/components/fields/applied-to-component */ + +/*! ../../../../shared/components/fields/date-and-user.component */ + +/*! ../../../../shared/components/fields/shared-in.component */ + +/*! ../../../../shared/components/fields/text-field.component */ + +/*! ../../../../shared/components/languages-dropdown/languages-dropdown.component */ + +/*! ../../../../shared/components/notifications/action-notification/action-notification.component */ + +/*! ../../../../shared/components/notifications/notification-loader/notification-loader.component */ + +/*! ../../../../shared/components/svg-icon-handler/svg-icon-handler.component */ + +/*! ../../../../shared/events/component-events */ + +/*! ../../../../shared/fields-builder/components/editable-fields/editable-fields.component */ + +/*! ../../../../shared/fields-builder/components/read/read.component */ + +/*! ../../../../shared/fields-builder/providers/fields-provider */ + +/*! ../../../../shared/fields-builder/services/field-change/field-change.service */ + +/*! ../../../../shared/fields-builder/services/fields-registry */ + +/*! ../../../../shared/fields-builder/services/mirror.service */ + +/*! ../../../../shared/fields.constants */ + +/*! ../../../../shared/guards/can-deactivate.guard */ + +/*! ../../../../shared/insight/services/insights-menu-command */ + +/*! ../../../../shared/models/data-context-component */ + +/*! ../../../../shared/pipes/bolder-text.pipe */ + +/*! ../../../../shared/pipes/relative-date.pipe */ + +/*! ../../../../shared/rxjs-extensions */ + +/*! ../../../../shared/services/action-buttons-state.service */ + +/*! ../../../../shared/services/action-executor.service */ + +/*! ../../../../shared/services/component-communication.service */ + +/*! ../../../../shared/services/content-filter.service */ + +/*! ../../../../shared/services/edit-navigation.service */ + +/*! ../../../../shared/services/edit/composite-edit-extender */ + +/*! ../../../../shared/services/edit/edit-extender */ + +/*! ../../../../shared/services/errors/error-parser.service */ + +/*! ../../../../shared/services/errors/field-error */ + +/*! ../../../../shared/services/errors/locked-item-error */ + +/*! ../../../../shared/services/errors/not-found-error */ + +/*! ../../../../shared/services/errors/operation-failed-error */ + +/*! ../../../../shared/services/errors/parent-has-child-error */ + +/*! ../../../../shared/services/errors/validation-error */ + +/*! ../../../../shared/services/fields-generator.service */ + +/*! ../../../../shared/services/grid/composite-grid-extender */ + +/*! ../../../../shared/services/http-odata-request.wrapper */ + +/*! ../../../../shared/services/metadata/meta-data-constants */ + +/*! ../../../../shared/services/metadata/meta-data-parser.service */ + +/*! ../../../../shared/services/metadata/meta-data.store */ + +/*! ../../../../shared/services/metadata/site-data.store */ + +/*! ../../../../shared/services/modal-window.service */ + +/*! ../../../../shared/services/notification/notification-data */ + +/*! ../../../../shared/services/notification/notification.service */ + +/*! ../../../../shared/services/settings.service */ + +/*! ../../../../shared/services/sort.service */ + +/*! ../../../../shared/services/storage.service */ + +/*! ../../../../taxonomy */ + +/*! ../../../../taxonomy/taxa/taxa.grid.component */ + +/*! ../../../../taxonomy/taxonomy.constants */ + +/*! ../../../../taxonomy/usage-in-sites/usage-in-sites.component */ + +/*! ../../../../utils */ + +/*! ../../../../widget-editor/models/widget-context */ + +/*! ../../../../widget-editor/property-editor.constants */ + +/*! ../../../../widget-editor/services/widget-property-editor.service */ + +/*! ../../../../window.provider */ + +/*! ../../../analytics/analytics-column.component */ + +/*! ../../../api */ + +/*! ../../../app-config/external-app-config.service */ + +/*! ../../../basic-editor.component */ + +/*! ../../../commands/template-share-with.command */ + +/*! ../../../common-constants */ + +/*! ../../../components/admin-app-management */ + +/*! ../../../components/bulk-operations/assign-taxons.component */ + +/*! ../../../components/bulk-operations/bulk-operations-notification.component */ + +/*! ../../../components/dialog/toolbar.component */ + +/*! ../../../components/dynamic-item.base */ + +/*! ../../../components/long-running-services/long-running-progress.component */ + +/*! ../../../components/reorder/reorder.component */ + +/*! ../../../components/undo-delete.component */ + +/*! ../../../constants */ + +/*! ../../../constants/route-paths */ + +/*! ../../../content/constants */ + +/*! ../../../content/dynamic-modules/components/action-buttons.resolver */ + +/*! ../../../content/dynamic-modules/components/columns-provider */ + +/*! ../../../content/dynamic-modules/components/commands */ + +/*! ../../../content/dynamic-modules/components/dynamic-item-index.constants */ + +/*! ../../../content/dynamic-modules/components/dynamic-item.constants */ + +/*! ../../../content/dynamic-modules/components/entity/dynamic-item.component */ + +/*! ../../../content/dynamic-modules/components/grid-cells/main-field/main-field.component */ + +/*! ../../../content/dynamic-modules/components/grid-navigation/grid-navigation.component */ + +/*! ../../../content/dynamic-modules/dynamic-item.constants */ + +/*! ../../../content/dynamic-modules/interfaces */ + +/*! ../../../content/dynamic-modules/services/backend-tweaks/backend-tweaks.service */ + +/*! ../../../content/dynamic-modules/services/backend-tweaks/backend-tweaks.store */ + +/*! ../../../content/dynamic-modules/services/backend-tweaks/col-initializers */ + +/*! ../../../content/dynamic-modules/services/backend-tweaks/entity-data.resolver */ + +/*! ../../../content/dynamic-modules/services/background-task.types */ + +/*! ../../../content/dynamic-modules/services/dynamic-item-store-state */ + +/*! ../../../content/dynamic-modules/services/dynamic-item.service */ + +/*! ../../../content/dynamic-modules/services/dynamic-item.store */ + +/*! ../../../content/dynamic-modules/services/entity/action-buttons */ + +/*! ../../../content/dynamic-modules/services/entity/item-hooks-provider */ + +/*! ../../../content/dynamic-modules/services/grid-reload.service */ + +/*! ../../../content/dynamic-modules/services/long-running-tasks.service */ + +/*! ../../../content/dynamic-modules/services/operations/commands/move-to-library.command */ + +/*! ../../../content/dynamic-modules/services/operations/commands/navigate-command */ + +/*! ../../../content/dynamic-modules/services/operations/commands/view-all-image-sizes-command */ + +/*! ../../../content/dynamic-modules/services/operations/interfaces */ + +/*! ../../../content/dynamic-modules/services/operations/operations-provider */ + +/*! ../../../content/dynamic-modules/services/parent.service */ + +/*! ../../../content/dynamic-modules/services/provider-store */ + +/*! ../../../content/dynamic-modules/services/taxa-info-store */ + +/*! ../../../document.provider */ + +/*! ../../../environment */ + +/*! ../../../environments/environment */ + +/*! ../../../events/component-events */ + +/*! ../../../fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ../../../fields.constants */ + +/*! ../../../fields/html/editor.readonly.component */ + +/*! ../../../fields/resolvers/status.resolver */ + +/*! ../../../fields/tree/tree.component */ + +/*! ../../../html */ + +/*! ../../../html/constants */ + +/*! ../../../html/selector-constants */ + +/*! ../../../html/tools/create-link/link-insert-field/link-insert-selector/helpers/language-selector/language-selector */ + +/*! ../../../html/tools/create-link/link-insert-field/link-insert-selector/helpers/selector-context */ + +/*! ../../../html/tools/create-link/link-insert-field/link-insert-selector/helpers/site-selector/site-selector */ + +/*! ../../../html/tools/insert-image/image-helper */ + +/*! ../../../insight/services/http-data-response-utils */ + +/*! ../../../integrations/servicehooks/service-hook-history.contract */ + +/*! ../../../integrations/servicehooks/service-hooks.contract */ + +/*! ../../../interfaces */ + +/*! ../../../libraries/file-picker-view-mode */ + +/*! ../../../libraries/file-picker.component */ + +/*! ../../../libraries/images/edit-image/edit-image-thumbnail.component */ + +/*! ../../../libraries/media-content.types */ + +/*! ../../../libraries/media/media-recognizer.service */ + +/*! ../../../libraries/media/media.settings */ + +/*! ../../../libraries/services/library.store */ + +/*! ../../../libraries/services/media.helpers */ + +/*! ../../../models/data-context-component */ + +/*! ../../../modules/content/dynamic-modules/components/columns-provider */ + +/*! ../../../modules/content/dynamic-modules/interfaces */ + +/*! ../../../modules/content/dynamic-modules/services/entity/item-hooks-provider */ + +/*! ../../../modules/content/dynamic-modules/services/operations/interfaces */ + +/*! ../../../modules/content/dynamic-modules/services/operations/operations-filter */ + +/*! ../../../modules/content/dynamic-modules/services/operations/operations-provider */ + +/*! ../../../modules/html/edit-menu-provider */ + +/*! ../../../modules/html/immutable-edit-menu.component */ + +/*! ../../../modules/html/immutables-facade */ + +/*! ../../../modules/html/immutables-facade/media */ + +/*! ../../../modules/libraries/selectors */ + +/*! ../../../modules/ng-providers/sf-interceptor */ + +/*! ../../../modules/pages/components/zone-editor/enhanced-page.component */ + +/*! ../../../modules/shared/commands/category */ + +/*! ../../../modules/shared/commands/command-model-base */ + +/*! ../../../modules/shared/components/sidebar/sidebar-component.repo */ + +/*! ../../../modules/shared/fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ../../../modules/shared/fields-builder/providers/fields-registration-provider */ + +/*! ../../../modules/shared/fields-builder/services/field-change/field-change.service */ + +/*! ../../../modules/shared/fields-builder/services/fields-registry */ + +/*! ../../../modules/shared/services/metadata/meta-data.store */ + +/*! ../../../modules/shared/services/notification/notification-data */ + +/*! ../../../modules/shared/services/notification/notification.service */ + +/*! ../../../modules/shared/services/settings.service */ + +/*! ../../../modules/shared/services/storage.service */ + +/*! ../../../modules/widget-editor/providers/view-registration.provider */ + +/*! ../../../ng-providers/sf-interceptor */ + +/*! ../../../pages/components/edit-page/commands/change-owner.command */ + +/*! ../../../pages/services/page.resolver */ + +/*! ../../../pipes/relative-date.pipe */ + +/*! ../../../property-editor.constants */ + +/*! ../../../provider.route-guard */ + +/*! ../../../rxjs-extensions */ + +/*! ../../../services/backend-tweaks/backend-tweaks.store */ + +/*! ../../../services/bundle-data.service */ + +/*! ../../../services/component-communication.service */ + +/*! ../../../services/composite-field.settings */ + +/*! ../../../services/document-enhancer.constants */ + +/*! ../../../services/dynamic-item.service */ + +/*! ../../../services/dynamic-item.store */ + +/*! ../../../services/edit/edit-extender */ + +/*! ../../../services/entity/action-buttons */ + +/*! ../../../services/environment.service */ + +/*! ../../../services/errors/validation-error */ + +/*! ../../../services/field.model */ + +/*! ../../../services/fieldSection.model */ + +/*! ../../../services/grid/grid-extender-base */ + +/*! ../../../services/keyboard-shortcuts.constants */ + +/*! ../../../services/keyboard-shortcuts.service */ + +/*! ../../../services/metadata/meta-data-constants */ + +/*! ../../../services/metadata/site-data.store */ + +/*! ../../../services/modal-window.service */ + +/*! ../../../services/notification/notification.service */ + +/*! ../../../services/operations/commands/bulk-command */ + +/*! ../../../services/operations/interfaces */ + +/*! ../../../services/operations/operations-provider */ + +/*! ../../../services/parent.service */ + +/*! ../../../services/property-value-parser.service */ + +/*! ../../../services/query */ + +/*! ../../../services/renderer.service */ + +/*! ../../../services/sanitize.service */ + +/*! ../../../services/scroll.service */ + +/*! ../../../services/site-title.dynamic.resolver */ + +/*! ../../../services/sitefinitySdk.service */ + +/*! ../../../services/storage.service */ + +/*! ../../../services/url.service */ + +/*! ../../../services/zone-editor.contract */ + +/*! ../../../shared/components/action-menu/action-menu-model */ + +/*! ../../../shared/components/action-menu/operation.model */ + +/*! ../../../shared/components/edit-menu/edit-menu.component */ + +/*! ../../../shared/components/fields/shared-in.component */ + +/*! ../../../shared/components/languages-dropdown/languages-dropdown.component */ + +/*! ../../../shared/components/list/list.component */ + +/*! ../../../shared/components/modal-confirmation/modal-confirmation.component */ + +/*! ../../../shared/components/navigation/navigation-menu/navigation-menu.component */ + +/*! ../../../shared/components/no-items-found/no-items-found.component */ + +/*! ../../../shared/components/notifications/basic-notification/basic-notification.component */ + +/*! ../../../shared/components/notifications/notification-loader/notification-loader.component */ + +/*! ../../../shared/components/sidebar/sidebar-buttons.component */ + +/*! ../../../shared/components/sidebar/sidebar-host.component */ + +/*! ../../../shared/components/sidebar/sidebar-slider/sidebar-slider.component */ + +/*! ../../../shared/content-blocks/components/content-blocks-notification.component */ + +/*! ../../../shared/events/component-events */ + +/*! ../../../shared/fields-builder/components/editable-fields/editable-fields.component */ + +/*! ../../../shared/fields-builder/components/editable-table/editable-table.component */ + +/*! ../../../shared/fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ../../../shared/fields-builder/providers/fields-provider */ + +/*! ../../../shared/fields-builder/providers/fields-registration-provider */ + +/*! ../../../shared/fields-builder/services/fields-registry */ + +/*! ../../../shared/fields.constants */ + +/*! ../../../shared/models/data-context-component */ + +/*! ../../../shared/pipes/bolder-text.pipe */ + +/*! ../../../shared/rxjs-extensions */ + +/*! ../../../shared/services/action-buttons-state.service */ + +/*! ../../../shared/services/action-executor.service */ + +/*! ../../../shared/services/canvas.service */ + +/*! ../../../shared/services/component-communication.service */ + +/*! ../../../shared/services/composite-field.settings */ + +/*! ../../../shared/services/content-filter.service */ + +/*! ../../../shared/services/data-extensions/data.extender */ + +/*! ../../../shared/services/edit-navigation.service */ + +/*! ../../../shared/services/edit/composite-edit-extender */ + +/*! ../../../shared/services/edit/edit-extender */ + +/*! ../../../shared/services/environment.service */ + +/*! ../../../shared/services/errors/error-parser.service */ + +/*! ../../../shared/services/errors/generic-error */ + +/*! ../../../shared/services/errors/locked-item-error */ + +/*! ../../../shared/services/errors/not-found-error */ + +/*! ../../../shared/services/errors/operation-failed-error */ + +/*! ../../../shared/services/fields-generator.service */ + +/*! ../../../shared/services/grid/composite-grid-extender */ + +/*! ../../../shared/services/grid/grid-extender-base */ + +/*! ../../../shared/services/hierarchical-service */ + +/*! ../../../shared/services/http-odata-request.wrapper */ + +/*! ../../../shared/services/logger-source/logger */ + +/*! ../../../shared/services/metadata/files/file-info.service */ + +/*! ../../../shared/services/metadata/meta-data-constants */ + +/*! ../../../shared/services/metadata/meta-data.store */ + +/*! ../../../shared/services/metadata/site-data.store */ + +/*! ../../../shared/services/metadata/user-data.store */ + +/*! ../../../shared/services/modal-window.service */ + +/*! ../../../shared/services/notification/notification-data */ + +/*! ../../../shared/services/notification/notification.service */ + +/*! ../../../shared/services/query-params-extender */ + +/*! ../../../shared/services/settings.service */ + +/*! ../../../shared/services/sort.service */ + +/*! ../../../shared/services/storage.service */ + +/*! ../../../shared/user-preferences/user-menu.service */ + +/*! ../../../src/app/common-constants */ + +/*! ../../../src/app/document.provider */ + +/*! ../../../src/app/modules/content/dynamic-modules/interfaces */ + +/*! ../../../src/app/modules/html/selector-constants */ + +/*! ../../../src/app/modules/libraries/services/media.helpers */ + +/*! ../../../src/app/modules/shared/services/metadata/meta-data-constants */ + +/*! ../../../src/app/modules/shared/services/metadata/meta-data.store */ + +/*! ../../../src/app/services/scroll.service */ + +/*! ../../../src/app/utils */ + +/*! ../../../src/app/window.provider */ + +/*! ../../../taxonomy/taxonomy.constants */ + +/*! ../../../taxonomy/taxonomy.settings */ + +/*! ../../../urlName/urlName-settings */ + +/*! ../../../urlName/urlName.component */ + +/*! ../../../utils */ + +/*! ../../../widget-editor/basic-editor.component */ + +/*! ../../../widget-editor/property-editor.constants */ + +/*! ../../../widget-editor/services/widget-property-editor.service */ + +/*! ../../../window.provider */ + +/*! ../../action-buttons.resolver */ + +/*! ../../analytics/analytics.module */ + +/*! ../../animations/animation-utilities */ + +/*! ../../app-config/external-app-config.service */ + +/*! ../../auth/auth.service */ + +/*! ../../auxiliary/aux-host.component */ + +/*! ../../auxiliary/aux-service.base */ + +/*! ../../background-task.types */ + +/*! ../../basic-editor.component */ + +/*! ../../breadcrumb-navigation/breadcrumb-navigation.component */ + +/*! ../../children-count.store */ + +/*! ../../commands */ + +/*! ../../commands/embed-media.command */ + +/*! ../../commands/play-video.command */ + +/*! ../../common-constants */ + +/*! ../../components/action-buttons.resolver */ + +/*! ../../components/action-menu/operation.model */ + +/*! ../../components/admin-app-management */ + +/*! ../../components/columns-provider */ + +/*! ../../components/dynamic-items-base.resolver */ + +/*! ../../components/fields/shared-in.component */ + +/*! ../../components/grid-cells/create-child.component */ + +/*! ../../components/grid-cells/grid-action-menu/grid-action-menu.component */ + +/*! ../../components/grid-cells/letter-mark.component */ + +/*! ../../components/grid-cells/list-children-count.component */ + +/*! ../../components/grid-cells/list-children-items.component */ + +/*! ../../components/grid-cells/list-languages.component */ + +/*! ../../components/grid-cells/main-field/main-field.component */ + +/*! ../../components/html-wrapper */ + +/*! ../../components/notifications/basic-notification/basic-notification.component */ + +/*! ../../components/sidebar/filter/filter.store */ + +/*! ../../components/strategies/dynamic-item.strategy */ + +/*! ../../components/urlNameStructure/structure-urlName.settings */ + +/*! ../../constants */ + +/*! ../../constants/route-paths */ + +/*! ../../content/constants */ + +/*! ../../content/dynamic-modules/components/action-buttons.resolver */ + +/*! ../../content/dynamic-modules/components/commands */ + +/*! ../../content/dynamic-modules/components/dialog/dynamic-update-item.component */ + +/*! ../../content/dynamic-modules/components/dialog/toolbar.component */ + +/*! ../../content/dynamic-modules/components/dynamic-item-index.constants */ + +/*! ../../content/dynamic-modules/components/dynamic-item.base */ + +/*! ../../content/dynamic-modules/components/dynamic-items-base.resolver */ + +/*! ../../content/dynamic-modules/components/entity/dynamic-item.component */ + +/*! ../../content/dynamic-modules/components/grid-cells/grid-action-menu/grid-action-menu.component */ + +/*! ../../content/dynamic-modules/components/grid-cells/main-field/main-field.component */ + +/*! ../../content/dynamic-modules/dynamic-item.constants */ + +/*! ../../content/dynamic-modules/interfaces */ + +/*! ../../content/dynamic-modules/services/backend-tweaks/backend-tweaks.store */ + +/*! ../../content/dynamic-modules/services/backend-tweaks/entity-data.resolver */ + +/*! ../../content/dynamic-modules/services/background-task.types */ + +/*! ../../content/dynamic-modules/services/children-count.store */ + +/*! ../../content/dynamic-modules/services/dynamic-item.service */ + +/*! ../../content/dynamic-modules/services/dynamic-item.store */ + +/*! ../../content/dynamic-modules/services/entity/action */ + +/*! ../../content/dynamic-modules/services/entity/action-buttons */ + +/*! ../../content/dynamic-modules/services/grid-reload.service */ + +/*! ../../content/dynamic-modules/services/hierarchical-dynamic-item-service */ + +/*! ../../content/dynamic-modules/services/long-running-tasks.service */ + +/*! ../../content/dynamic-modules/services/operations/commands/bulk-command-extender-base */ + +/*! ../../content/dynamic-modules/services/operations/commands/bulk-edit-media-properties.command */ + +/*! ../../content/dynamic-modules/services/operations/commands/bulk-edit-taxon.command */ + +/*! ../../content/dynamic-modules/services/operations/commands/composite-bulk-command-extender */ + +/*! ../../content/dynamic-modules/services/operations/commands/composite-delete-command-extender */ + +/*! ../../content/dynamic-modules/services/operations/commands/confirmation-command */ + +/*! ../../content/dynamic-modules/services/operations/commands/delete-command-extender-base */ + +/*! ../../content/dynamic-modules/services/operations/commands/edit-command */ + +/*! ../../content/dynamic-modules/services/operations/commands/edit-in-dialog-command */ + +/*! ../../content/dynamic-modules/services/operations/commands/edit-in-dialog-media-command */ + +/*! ../../content/dynamic-modules/services/operations/commands/move-to-library.command */ + +/*! ../../content/dynamic-modules/services/operations/commands/navigate-command */ + +/*! ../../content/dynamic-modules/services/operations/commands/regenerate-thumbnails.command */ + +/*! ../../content/dynamic-modules/services/operations/commands/view-all-image-sizes-command */ + +/*! ../../content/dynamic-modules/services/operations/interfaces */ + +/*! ../../content/dynamic-modules/services/operations/operations-filter */ + +/*! ../../content/dynamic-modules/services/operations/operations-provider */ + +/*! ../../content/dynamic-modules/services/provider-store */ + +/*! ../../content/modules.provider */ + +/*! ../../document.provider */ + +/*! ../../dynamic-item.constants */ + +/*! ../../dynamic-item.service */ + +/*! ../../dynamic-item.store */ + +/*! ../../edit-page/commands/change-template.command */ + +/*! ../../elements/sf-elements.module */ + +/*! ../../entity/action */ + +/*! ../../entity/action-buttons */ + +/*! ../../environment */ + +/*! ../../events/component-events */ + +/*! ../../extensibility/manifest */ + +/*! ../../field-base */ + +/*! ../../field-settings-base */ + +/*! ../../fields-builder/components/editable-fields/editable-fields.component */ + +/*! ../../fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ../../fields-builder/providers/fields-provider */ + +/*! ../../fields-builder/services/field-change/field-change.service */ + +/*! ../../fields-builder/services/fields-registry */ + +/*! ../../fields-constants */ + +/*! ../../fields.constants */ + +/*! ../../fields/choice/choice-service-url.component */ + +/*! ../../fields/choice/index */ + +/*! ../../fields/date-time/index */ + +/*! ../../fields/fields.module */ + +/*! ../../fields/hidden */ + +/*! ../../fields/index */ + +/*! ../../fields/number/index */ + +/*! ../../fields/switch/index */ + +/*! ../../fields/text-area/index */ + +/*! ../../file-picker.component */ + +/*! ../../file-preview.component */ + +/*! ../../helpers/sf-link */ + +/*! ../../html/html.module */ + +/*! ../../html/immutables-facade */ + +/*! ../../html/immutables-facade/composite-media.parser */ + +/*! ../../html/selector-constants */ + +/*! ../../html/tools/create-link/link-insert-field/helpers/content-link-input-model */ + +/*! ../../html/youtube-player.service */ + +/*! ../../immutables-facade */ + +/*! ../../immutables-facade/composite-media.parser */ + +/*! ../../immutables-facade/embed-media.parser */ + +/*! ../../immutables-facade/media */ + +/*! ../../insight.constants */ + +/*! ../../insight/insight.constants */ + +/*! ../../insight/insight.module */ + +/*! ../../interfaces */ + +/*! ../../interfaces/content-item-info */ + +/*! ../../interfaces/custom-actions */ + +/*! ../../interfaces/widget-editor */ + +/*! ../../interfaces/widget-editor-view-provider */ + +/*! ../../libraries/libraries.module */ + +/*! ../../libraries/services/media.helpers */ + +/*! ../../libraries/thumbnail-list.component */ + +/*! ../../long-running-tasks.service */ + +/*! ../../media-content.types */ + +/*! ../../models/data-context-component */ + +/*! ../../models/feedback-info */ + +/*! ../../modules/auth/auth.service */ + +/*! ../../modules/content/dynamic-modules/interfaces */ + +/*! ../../modules/content/dynamic-modules/services/locatable-dynamic-item.service */ + +/*! ../../modules/content/modules.provider */ + +/*! ../../modules/contextual-help/contextual-help.service */ + +/*! ../../modules/html/html.component */ + +/*! ../../modules/html/selector-constants */ + +/*! ../../modules/html/tools/create-link/create-link-helper */ + +/*! ../../modules/html/tools/create-link/create-link.component */ + +/*! ../../modules/html/tools/immutable.helpers */ + +/*! ../../modules/html/tools/insert-image/image-helper */ + +/*! ../../modules/html/tools/kendo-align.helpers */ + +/*! ../../modules/libraries/file-picker-view-mode */ + +/*! ../../modules/libraries/file-picker.component */ + +/*! ../../modules/libraries/file-select.component */ + +/*! ../../modules/libraries/file-upload-progress.component */ + +/*! ../../modules/libraries/images/edit-image/edit-image.component */ + +/*! ../../modules/libraries/index */ + +/*! ../../modules/libraries/services/library.store */ + +/*! ../../modules/shared/components/list/list-column.directive */ + +/*! ../../modules/shared/components/list/list.component */ + +/*! ../../modules/shared/components/notifications/notification-loader/notification-loader.component */ + +/*! ../../modules/shared/feature-toggle/feature-toggle.service */ + +/*! ../../modules/shared/services/environment.service */ + +/*! ../../modules/shared/services/fields-generator.service */ + +/*! ../../modules/shared/services/metadata/meta-data-constants */ + +/*! ../../modules/shared/services/metadata/meta-data-store.resolver */ + +/*! ../../modules/shared/services/metadata/meta-data.store */ + +/*! ../../modules/shared/services/metadata/site-data-store.resolver */ + +/*! ../../modules/shared/services/metadata/site-data.store */ + +/*! ../../modules/shared/services/metadata/user-data-store.resolver */ + +/*! ../../modules/shared/services/modal-window.service */ + +/*! ../../modules/shared/services/settings.service */ + +/*! ../../modules/shared/user-preferences/user-menu.service */ + +/*! ../../modules/shared/user-preferences/user-preferences.service */ + +/*! ../../navigation-options-composite-component/navigation-options.composite.component */ + +/*! ../../pages/commands/navigate-to-menu-section.command */ + +/*! ../../pages/commands/saveAsHomePage.command */ + +/*! ../../pages/components/zone-editor/zone-splitter/zone-splitter.component */ + +/*! ../../pipes/relative-date.pipe */ + +/*! ../../property-editor.constants */ + +/*! ../../provider.route-guard */ + +/*! ../../providers/view-registration.provider */ + +/*! ../../rxjs-extensions */ + +/*! ../../selector-constants */ + +/*! ../../services/action-buttons-state.service */ + +/*! ../../services/action-executor.service */ + +/*! ../../services/back-navigation.service */ + +/*! ../../services/backend-tweaks/backend-tweaks.service */ + +/*! ../../services/backend-tweaks/backend-tweaks.store */ + +/*! ../../services/background-task.types */ + +/*! ../../services/bundle-data.service */ + +/*! ../../services/children-count.store */ + +/*! ../../services/component-communication.service */ + +/*! ../../services/connector.service */ + +/*! ../../services/content-filter.service */ + +/*! ../../services/custom-tweaks-handler.service */ + +/*! ../../services/document-enhancer.constants */ + +/*! ../../services/dynamic-item.service */ + +/*! ../../services/dynamic-item.store */ + +/*! ../../services/edit-navigation.service */ + +/*! ../../services/edit/edit-extender */ + +/*! ../../services/entity/action */ + +/*! ../../services/entity/dynamic-item-url-segment */ + +/*! ../../services/entity/dynamic-item.resolver */ + +/*! ../../services/entity/item-hooks-provider */ + +/*! ../../services/entity/item-meta-resolver */ + +/*! ../../services/environment.service */ + +/*! ../../services/errors/validation-error */ + +/*! ../../services/field-change/field-change.service */ + +/*! ../../services/field.model */ + +/*! ../../services/fieldSection.model */ + +/*! ../../services/fields-generator.service */ + +/*! ../../services/fields-registry */ + +/*! ../../services/hierarchical-pages.service */ + +/*! ../../services/http-odata-request.wrapper */ + +/*! ../../services/keyboard-shortcuts.constants */ + +/*! ../../services/keyboard-shortcuts.service */ + +/*! ../../services/letter-mark.store */ + +/*! ../../services/library.store */ + +/*! ../../services/list/list-index-contract.provider */ + +/*! ../../services/list/list-index.contract */ + +/*! ../../services/long-running-tasks.service */ + +/*! ../../services/media.helpers */ + +/*! ../../services/metadata/meta-data-constants */ + +/*! ../../services/metadata/meta-data.store */ + +/*! ../../services/metadata/metadata.handler */ + +/*! ../../services/mirror.service */ + +/*! ../../services/modal-main-form-size */ + +/*! ../../services/modal-window.service */ + +/*! ../../services/notification/notification-data */ + +/*! ../../services/notification/notification.service */ + +/*! ../../services/operations/commands/assign-taxons-command */ + +/*! ../../services/operations/commands/bulk-command */ + +/*! ../../services/operations/commands/composite-bulk-command-extender */ + +/*! ../../services/operations/commands/composite-delete-command-extender */ + +/*! ../../services/operations/commands/delete-command */ + +/*! ../../services/operations/commands/merge-taxon.command */ + +/*! ../../services/operations/commands/move-taxon.command */ + +/*! ../../services/operations/commands/schedule-command */ + +/*! ../../services/operations/commands/site-sync.command */ + +/*! ../../services/operations/operations-provider */ + +/*! ../../services/page.resolver */ + +/*! ../../services/pages-action-handler.service */ + +/*! ../../services/parent.service */ + +/*! ../../services/provider-store */ + +/*! ../../services/renderer.service */ + +/*! ../../services/sanitize.service */ + +/*! ../../services/scroll.service */ + +/*! ../../services/settings-keys */ + +/*! ../../services/settings.service */ + +/*! ../../services/sitefinity-base-url */ + +/*! ../../services/sitefinity-insight-touchpoints-requester.service */ + +/*! ../../services/sitefinitySdk.service */ + +/*! ../../services/status.resolver */ + +/*! ../../services/storage.service */ + +/*! ../../services/store/actions/actions.sidebar */ + +/*! ../../services/store/app-store */ + +/*! ../../services/stylesheet.service */ + +/*! ../../services/url.service */ + +/*! ../../services/zone-editor */ + +/*! ../../services/zone-editor-tree.service */ + +/*! ../../services/zone-editor.contract */ + +/*! ../../shared.module */ + +/*! ../../shared/components/action-menu/action-menu-model */ + +/*! ../../shared/components/action-menu/action-menu.component */ + +/*! ../../shared/components/action-menu/operation.model */ + +/*! ../../shared/components/create-hierarchical-taxa/create-hierarchical-taxa.component */ + +/*! ../../shared/components/duration/duration.component */ + +/*! ../../shared/components/edit-menu/edit-menu.component */ + +/*! ../../shared/components/fields/children-count-component */ + +/*! ../../shared/components/fields/multi-value-text-field.component */ + +/*! ../../shared/components/fields/text-field.component */ + +/*! ../../shared/components/list/list-column.directive */ + +/*! ../../shared/components/list/list.component */ + +/*! ../../shared/components/load-more-search/load-more-search.component */ + +/*! ../../shared/components/modal-list/modal-list.component */ + +/*! ../../shared/components/modal-window/modal-window.component */ + +/*! ../../shared/components/navigation/home/home.component */ + +/*! ../../shared/components/navigation/navigation-menu/navigation-menu.component */ + +/*! ../../shared/components/no-items-found/no-items-found.component */ + +/*! ../../shared/components/notifications/notification-loader/notification-loader.component */ + +/*! ../../shared/components/sidebar/sidebar-buttons.component */ + +/*! ../../shared/components/sidebar/sidebar-host.component */ + +/*! ../../shared/components/sidebar/sidebar-slider/sidebar-slider.component */ + +/*! ../../shared/components/status/error-status.component */ + +/*! ../../shared/components/unlock-redirect/unlock-redirect.component */ + +/*! ../../shared/components/urlNameStructure/structure-urlName.component */ + +/*! ../../shared/components/urlNameStructure/structure-urlName.settings */ + +/*! ../../shared/events/component-events */ + +/*! ../../shared/fields-builder/components/editable-fields/editable-fields.component */ + +/*! ../../shared/fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ../../shared/fields-builder/providers/fields-registration-provider */ + +/*! ../../shared/fields-builder/services/field-change/field-change.service */ + +/*! ../../shared/fields-builder/services/fields-registry */ + +/*! ../../shared/fields.constants */ + +/*! ../../shared/pipes */ + +/*! ../../shared/pipes/bolder-text.pipe */ + +/*! ../../shared/rxjs-extensions/catcherror */ + +/*! ../../shared/services/canvas.service */ + +/*! ../../shared/services/component-communication.service */ + +/*! ../../shared/services/content-filter.service */ + +/*! ../../shared/services/data-extensions/data.extender */ + +/*! ../../shared/services/edit-navigation.service */ + +/*! ../../shared/services/edit/edit-extender */ + +/*! ../../shared/services/environment.service */ + +/*! ../../shared/services/errors/error-parser.service */ + +/*! ../../shared/services/errors/generic-error */ + +/*! ../../shared/services/errors/validation-error */ + +/*! ../../shared/services/fields-generator.service */ + +/*! ../../shared/services/grid/composite-grid-extender */ + +/*! ../../shared/services/grid/grid-extender-base */ + +/*! ../../shared/services/hierarchical-service */ + +/*! ../../shared/services/http-odata-request.wrapper */ + +/*! ../../shared/services/list/list-index.contract */ + +/*! ../../shared/services/logger-source/logger */ + +/*! ../../shared/services/metadata/files/file-info.service */ + +/*! ../../shared/services/metadata/meta-data-constants */ + +/*! ../../shared/services/metadata/meta-data-parser.service */ + +/*! ../../shared/services/metadata/meta-data.store */ + +/*! ../../shared/services/metadata/site-data.store */ + +/*! ../../shared/services/metadata/user-data.store */ + +/*! ../../shared/services/modal-window.service */ + +/*! ../../shared/services/notification/notification-data */ + +/*! ../../shared/services/notification/notification.service */ + +/*! ../../shared/services/query-params-extender */ + +/*! ../../shared/services/settings.service */ + +/*! ../../shared/services/site-title.dynamic.resolver */ + +/*! ../../shared/services/site-title.resolver */ + +/*! ../../shared/services/sort.service */ + +/*! ../../shared/services/storage.service */ + +/*! ../../shared/shared.module */ + +/*! ../../sidebars/libraries-navigation/libraries-navigation-sidebar.component */ + +/*! ../../src/app/app-config/external-app-config.service */ + +/*! ../../src/app/common-constants */ + +/*! ../../src/app/constants/animation-constants */ + +/*! ../../src/app/document.provider */ + +/*! ../../src/app/environment */ + +/*! ../../src/app/modules/content/constants */ + +/*! ../../src/app/modules/content/dynamic-modules/components/action-buttons.resolver */ + +/*! ../../src/app/modules/content/dynamic-modules/components/bulk-operations/item-list.component */ + +/*! ../../src/app/modules/content/dynamic-modules/components/provider-selector/provider-selector.component */ + +/*! ../../src/app/modules/content/dynamic-modules/components/provider-tab-selector/provider-tab-selector.component */ + +/*! ../../src/app/modules/content/dynamic-modules/interfaces */ + +/*! ../../src/app/modules/content/dynamic-modules/services/dynamic-item.service */ + +/*! ../../src/app/modules/content/dynamic-modules/services/operations/interfaces */ + +/*! ../../src/app/modules/html/immutables-facade/composite-media.parser */ + +/*! ../../src/app/modules/html/selector-constants */ + +/*! ../../src/app/modules/html/tools/immutable.helpers */ + +/*! ../../src/app/modules/html/tools/kendo-align.helpers */ + +/*! ../../src/app/modules/libraries/media/media-recognizer.service */ + +/*! ../../src/app/modules/shared/components/action-menu/action-menu-model */ + +/*! ../../src/app/modules/shared/components/action-menu/operation.model */ + +/*! ../../src/app/modules/shared/components/events/services/event-dates.service */ + +/*! ../../src/app/modules/shared/components/no-preview/no-preview.component */ + +/*! ../../src/app/modules/shared/components/workflow-operations-menu/workflow-operations-menu.component */ + +/*! ../../src/app/modules/shared/fields-builder/components/read/read.component */ + +/*! ../../src/app/modules/shared/fields.constants */ + +/*! ../../src/app/modules/shared/pipes/lower-first-letter.pipe */ + +/*! ../../src/app/modules/shared/pipes/relative-date.pipe */ + +/*! ../../src/app/modules/shared/pipes/trim-text-length.pipe */ + +/*! ../../src/app/modules/shared/rxjs-extensions */ + +/*! ../../src/app/modules/shared/services/content-filter.service */ + +/*! ../../src/app/modules/shared/services/edit-navigation.service */ + +/*! ../../src/app/modules/shared/services/environment.service */ + +/*! ../../src/app/modules/shared/services/hierarchical-service */ + +/*! ../../src/app/modules/shared/services/http-odata-request.wrapper */ + +/*! ../../src/app/modules/shared/services/metadata/meta-data-constants */ + +/*! ../../src/app/modules/shared/services/metadata/meta-data.store */ + +/*! ../../src/app/modules/shared/services/metadata/site-data.store */ + +/*! ../../src/app/modules/shared/services/modal-window.service */ + +/*! ../../src/app/modules/shared/services/settings.service */ + +/*! ../../src/app/modules/sitefinity-components/sitefinity-components.module */ + +/*! ../../src/app/modules/widget-editor/services/content-widget-field-change.service */ + +/*! ../../src/app/services/fieldSection.model */ + +/*! ../../src/app/services/scroll.service */ + +/*! ../../src/app/services/store/app-store */ + +/*! ../../src/app/services/store/selectors/selectors.fields */ + +/*! ../../src/app/services/url.service */ + +/*! ../../src/app/utils */ + +/*! ../../src/app/window.provider */ + +/*! ../../taxonomy/operations/taxonomy.operations-filter */ + +/*! ../../taxonomy/services/hierarchical-taxon-expand-service */ + +/*! ../../taxonomy/services/hierarchical-taxonomy.service */ + +/*! ../../taxonomy/services/taxonomy-grid-extender */ + +/*! ../../taxonomy/services/taxonomy-query-extender */ + +/*! ../../theme/composite-theme-provider */ + +/*! ../../urlName */ + +/*! ../../urlName/urlName-settings */ + +/*! ../../utilities/rx-base.component */ + +/*! ../../utils */ + +/*! ../../window.provider */ + +/*! ../action-buttons.resolver */ + +/*! ../action-menu/action-menu-model */ + +/*! ../action-menu/action-menu.component */ + +/*! ../action-menu/operation.model */ + +/*! ../actions/actions.fields */ + +/*! ../actions/actions.media */ + +/*! ../actions/actions.mobile-preview */ + +/*! ../actions/actions.sidebar */ + +/*! ../app-store */ + +/*! ../app/environment */ + +/*! ../auth.provider */ + +/*! ../auth.routes */ + +/*! ../auth/auth.service */ + +/*! ../auxiliary/aux-service.base */ + +/*! ../backend-tweaks/entity-data.resolver */ + +/*! ../cache/dynamic-loader-components-cache */ + +/*! ../change-owner/change-owner.component */ + +/*! ../change-template/change-template.component */ + +/*! ../choice.settings */ + +/*! ../columns-proportions.component */ + +/*! ../commands */ + +/*! ../commands/embed-media.command */ + +/*! ../commands/navigate-to-menu-section.command */ + +/*! ../commands/play-video.command */ + +/*! ../commands/saveAsHomePage.command */ + +/*! ../commands/switch-grid-view.command */ + +/*! ../commands/template-share-with.command */ + +/*! ../common-constants */ + +/*! ../common/common-constants */ + +/*! ../common/directives/respondToVisibility.directive */ + +/*! ../common/directives/text-overflow.directive */ + +/*! ../common/pipes/breadcrumb.pipe */ + +/*! ../common/pipes/file-size.pipe */ + +/*! ../common/pipes/htmlEscape.pipe */ + +/*! ../common/pipes/sanitizer.pipe */ + +/*! ../common/utils */ + +/*! ../common/validators */ + +/*! ../common/validators/validators.constants */ + +/*! ../components/action-menu/action-menu-model */ + +/*! ../components/action-menu/operation.model */ + +/*! ../components/content-blocks-notification.component */ + +/*! ../components/edit-page/commands/change-template.command */ + +/*! ../components/insight-cell/insight-cell.component */ + +/*! ../components/long-running-services/background-task-data-parser */ + +/*! ../components/modal-confirmation/modal-confirmation.component */ + +/*! ../components/modal-list/modal-list.component */ + +/*! ../components/modal-selector/modal-selector.component */ + +/*! ../components/navigation-options-composite-component/navigation-options.composite.component */ + +/*! ../components/no-preview/no-preview.component */ + +/*! ../components/page-selecotr-component/page-selector.component */ + +/*! ../components/share-preview-link/share-preview-link.component */ + +/*! ../components/site-and-language-selector */ + +/*! ../components/site-and-language-selector/site-and-language-selector.component */ + +/*! ../components/zone-editor/add-widget/add-widget.component */ + +/*! ../components/zone-editor/empty-widget/empty-widget.component */ + +/*! ../components/zone-editor/error-widget/error-widget.component */ + +/*! ../components/zone-editor/fake-widget/fake-widget.component */ + +/*! ../components/zone-editor/html-element-attach-modes */ + +/*! ../components/zone-editor/inline-toolbar/inline-toolbar.component */ + +/*! ../components/zone-editor/model/component-model */ + +/*! ../components/zone-editor/widget-label/widget-label.component */ + +/*! ../components/zone-editor/zone-editor-dom-service */ + +/*! ../constants */ + +/*! ../constants/animation-constants */ + +/*! ../constants/route-paths */ + +/*! ../content-block.constants */ + +/*! ../content-filter.service */ + +/*! ../content.component */ + +/*! ../content/constants */ + +/*! ../content/content-selector.component */ + +/*! ../content/content.component */ + +/*! ../content/content.settings */ + +/*! ../content/dynamic-modules/components/commands */ + +/*! ../content/dynamic-modules/components/dialog/dynamic-update-item.component */ + +/*! ../content/dynamic-modules/components/dialog/toolbar.component */ + +/*! ../content/dynamic-modules/components/dynamic-item-index.component */ + +/*! ../content/dynamic-modules/components/dynamic-items.resolver */ + +/*! ../content/dynamic-modules/components/provider-selector/provider-selector.component */ + +/*! ../content/dynamic-modules/components/provider-tab-selector/provider-tab-selector.component */ + +/*! ../content/dynamic-modules/components/router/dynamic-item-router.component */ + +/*! ../content/dynamic-modules/components/sidebar/filter/filter-flat-taxa-first-letter.component */ + +/*! ../content/dynamic-modules/components/sidebar/filter/filter-renderers/custom-filter.renderer */ + +/*! ../content/dynamic-modules/components/sidebar/filter/filter-renderers/first-letter-taxa-filter.renderer */ + +/*! ../content/dynamic-modules/dynamic-modules.module */ + +/*! ../content/dynamic-modules/interfaces */ + +/*! ../content/dynamic-modules/services/backend-tweaks/backend-tweaks-grid.resolver */ + +/*! ../content/dynamic-modules/services/backend-tweaks/backend-tweaks.service */ + +/*! ../content/dynamic-modules/services/backend-tweaks/backend-tweaks.store */ + +/*! ../content/dynamic-modules/services/background-task.types */ + +/*! ../content/dynamic-modules/services/dynamic-item-store-state */ + +/*! ../content/dynamic-modules/services/dynamic-item.service */ + +/*! ../content/dynamic-modules/services/entity/dynamic-item.resolver */ + +/*! ../content/dynamic-modules/services/long-running-tasks.service */ + +/*! ../content/dynamic-modules/services/operations/commands/composite-bulk-command-extender */ + +/*! ../content/dynamic-modules/services/operations/commands/composite-delete-command-extender */ + +/*! ../content/dynamic-modules/services/operations/commands/edit-in-dialog-command */ + +/*! ../content/dynamic-modules/services/operations/commands/regenerate-thumbnails.command */ + +/*! ../content/dynamic-modules/services/operations/config-operations-filter */ + +/*! ../content/dynamic-modules/services/operations/interfaces */ + +/*! ../content/dynamic-modules/services/operations/operations-provider */ + +/*! ../content/dynamic-modules/services/provider-store */ + +/*! ../content/dynamic-modules/services/taxa-info-store */ + +/*! ../date-time/date-time-selector.component */ + +/*! ../date-time/datetime-filter-parser.service */ + +/*! ../directives/sticky.directive */ + +/*! ../document.provider */ + +/*! ../documents/file-tree.component */ + +/*! ../dynamic-item.base */ + +/*! ../dynamic-item.constants */ + +/*! ../dynamic-item.service */ + +/*! ../edit-page/edit-page.component */ + +/*! ../editable-fields/editable-fields.component */ + +/*! ../environment */ + +/*! ../environments/environment */ + +/*! ../error-pages/error-page.base */ + +/*! ../event.helpers */ + +/*! ../events.constants */ + +/*! ../field-base */ + +/*! ../field-properties-mapper */ + +/*! ../field-settings-base */ + +/*! ../field-status */ + +/*! ../field-wrapper/form-field-wrapper.component */ + +/*! ../fields-builder/providers/fields-provider */ + +/*! ../fields-builder/services/fields-registry */ + +/*! ../fields-constants */ + +/*! ../fields.constants */ + +/*! ../file-info.component */ + +/*! ../file-list.component */ + +/*! ../file-picker-view-mode */ + +/*! ../file-picker.component */ + +/*! ../file-preview.component */ + +/*! ../file-select.component */ + +/*! ../filter-content/combined-filter */ + +/*! ../filter-flat-taxa-first-letter.component */ + +/*! ../forms/forms.module */ + +/*! ../grid-cells/main-field/main-field.component */ + +/*! ../helpers */ + +/*! ../helpers/create-link-constants */ + +/*! ../hierarchical-libraries.service */ + +/*! ../home-navigation/home-navigation.component */ + +/*! ../html/editor.grid.component */ + +/*! ../html/editor.readonly.component */ + +/*! ../html/selector-constants */ + +/*! ../http-odata-request.wrapper */ + +/*! ../http-web-request.wrapper */ + +/*! ../images/edit-crop-rotate/edit-crop-rotate.component */ + +/*! ../immutable.helpers */ + +/*! ../immutables-facade/iframe-media.parser */ + +/*! ../insight-lost-connection/insight-lost-connection.component */ + +/*! ../insight.constants */ + +/*! ../interfaces */ + +/*! ../interfaces/content-item-info */ + +/*! ../interfaces/widget-editor */ + +/*! ../keyboard-shortcuts/keyboard-shortcuts.component */ + +/*! ../libraries-navigation-sidebar-helpers */ + +/*! ../library.store */ + +/*! ../list-item-filter-sidebar.component */ + +/*! ../load-more-search/load-more-search.component */ + +/*! ../media-content.types */ + +/*! ../media-validation-helper */ + +/*! ../media.helpers */ + +/*! ../media.service */ + +/*! ../media/embed-media/embed-media-content.component */ + +/*! ../media/media.settings */ + +/*! ../metadata/meta-data-constants */ + +/*! ../mobile-preview/mobile-preview.command */ + +/*! ../modal-list/modal-list.component */ + +/*! ../modal-window.service */ + +/*! ../modal-window/modal-window.component */ + +/*! ../models/widget-context */ + +/*! ../modules/content/constants */ + +/*! ../modules/content/dynamic-modules/components/action-buttons.resolver */ + +/*! ../modules/content/dynamic-modules/services/dynamic-item.service */ + +/*! ../modules/html/html.settings */ + +/*! ../modules/html/selector-constants */ + +/*! ../modules/shared/components/action-menu/operation.model */ + +/*! ../modules/shared/fields.constants */ + +/*! ../modules/shared/services/environment.service */ + +/*! ../modules/shared/services/errors/error-parser.service */ + +/*! ../modules/shared/services/logger-source/logger */ + +/*! ../modules/shared/services/metadata/meta-data-constants */ + +/*! ../modules/shared/services/metadata/user-data.store */ + +/*! ../modules/shared/services/modal-window.service */ + +/*! ../modules/shared/services/settings.service */ + +/*! ../modules/widget-editor/property-editor.constants */ + +/*! ../navigation-menu/navigation-menu.component */ + +/*! ../navigation/navigation-menu/navigation-menu.component */ + +/*! ../no-items-found/no-items-found.component */ + +/*! ../notification/notification.service */ + +/*! ../notifications/basic-notification/basic-notification.component */ + +/*! ../notifications/notification-loader/notification-loader.component */ + +/*! ../notifications/search-notification/search-notification.component */ + +/*! ../operations-provider */ + +/*! ../page-selecotr-component/page-selector.component */ + +/*! ../pages/components/edit-page/change-owner/change-owner.component */ + +/*! ../pages/services/renderer.service */ + +/*! ../pages/services/zone-editor.contract */ + +/*! ../property-editor.constants */ + +/*! ../provider-selector/provider-selector-base.component */ + +/*! ../provider-store */ + +/*! ../providers/fields/field-properties-mapper */ + +/*! ../providers/page-fields.provider */ + +/*! ../read/read.component */ + +/*! ../recurring-event/recurrent-rule */ + +/*! ../resolvers/base-status.resolver */ + +/*! ../rxjs-extensions */ + +/*! ../rxjs-extensions/toLoadingState */ + +/*! ../schemas/schema.sidebar */ + +/*! ../selector-base */ + +/*! ../selector-constants */ + +/*! ../selector-item */ + +/*! ../selector/selector.component */ + +/*! ../selectors/selectors.sidebar */ + +/*! ../services/backend-tweaks/entity-data.resolver */ + +/*! ../services/children-count.store */ + +/*! ../services/content-section-menu.service */ + +/*! ../services/dynamic-item-store-state */ + +/*! ../services/dynamic-item.service */ + +/*! ../services/dynamic-item.store */ + +/*! ../services/entity/action-buttons */ + +/*! ../services/entity/item-hooks-provider */ + +/*! ../services/event-dates.service */ + +/*! ../services/fields-registry */ + +/*! ../services/grid-reload.service */ + +/*! ../services/layout.service */ + +/*! ../services/library.store */ + +/*! ../services/media.helpers */ + +/*! ../services/modal-window.service */ + +/*! ../services/operations/commands/bulk-command */ + +/*! ../services/operations/commands/delete-command */ + +/*! ../services/operations/commands/move-command */ + +/*! ../services/operations/commands/move-taxon.command */ + +/*! ../services/operations/commands/reorder-command */ + +/*! ../services/operations/commands/site-sync.command */ + +/*! ../services/operations/interfaces */ + +/*! ../services/operations/operations-provider */ + +/*! ../services/parent.service */ + +/*! ../services/provider-store */ + +/*! ../services/settings-keys */ + +/*! ../services/storage.service */ + +/*! ../settings.service */ + +/*! ../sf-element.factory */ + +/*! ../shared/components/action-menu/action-menu-model */ + +/*! ../shared/components/action-menu/action-menu.component */ + +/*! ../shared/components/action-menu/operation.model */ + +/*! ../shared/components/bulk/bulk.component */ + +/*! ../shared/components/modal-window/modal-window.component */ + +/*! ../shared/components/navigation/home/home.component */ + +/*! ../shared/components/navigation/navigation-menu/navigation-menu.component */ + +/*! ../shared/components/notifications/notification-loader/notification-loader.component */ + +/*! ../shared/components/urlNameStructure/structure-urlName.settings */ + +/*! ../shared/fields-builder/components/editable-fields/editable-fields.component */ + +/*! ../shared/fields-builder/components/editable-table/editable-table.component */ + +/*! ../shared/fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ../shared/fields-builder/providers/fields-provider */ + +/*! ../shared/fields-builder/services/field-change/field-change.service */ + +/*! ../shared/fields-builder/services/fields-registry */ + +/*! ../shared/fields.constants */ + +/*! ../shared/insight/insight-connectivity.module */ + +/*! ../shared/pipes/trim-text-length.pipe */ + +/*! ../shared/rxjs-extensions */ + +/*! ../shared/services/action-buttons-state.service */ + +/*! ../shared/services/component-communication.service */ + +/*! ../shared/services/custom-tweaks-handler.service */ + +/*! ../shared/services/data-extensions/data.extender */ + +/*! ../shared/services/environment.service */ + +/*! ../shared/services/fields-generator.service */ + +/*! ../shared/services/metadata/files/file-info.service */ + +/*! ../shared/services/metadata/meta-data-constants */ + +/*! ../shared/services/metadata/meta-data-store.resolver */ + +/*! ../shared/services/metadata/meta-data.store */ + +/*! ../shared/services/metadata/metadata.handler */ + +/*! ../shared/services/metadata/site-data-store.resolver */ + +/*! ../shared/services/metadata/site-data.store */ + +/*! ../shared/services/metadata/user-data-store.resolver */ + +/*! ../shared/services/modal-window.service */ + +/*! ../shared/services/notification/notification-data */ + +/*! ../shared/services/notification/notification.service */ + +/*! ../shared/services/settings.service */ + +/*! ../shared/services/site-title.dynamic.resolver */ + +/*! ../shared/services/site-title.resolver */ + +/*! ../shared/shared.module */ + +/*! ../short-text/short-text-settings */ + +/*! ../sidebar/compare-translations/compare-translations.component */ + +/*! ../sidebar/dynamic-sidebar.component */ + +/*! ../sort.service */ + +/*! ../src/app/common-constants */ + +/*! ../src/app/document.provider */ + +/*! ../src/app/modules/content/dynamic-modules/components/reorder/reorder.component */ + +/*! ../src/app/modules/html/edit-menu-provider */ + +/*! ../src/app/modules/libraries/media-content.types */ + +/*! ../src/app/modules/libraries/services/media.status-resolver */ + +/*! ../src/app/modules/pages/components/zone-editor/zone-splitter/zone-splitter.component */ + +/*! ../src/app/modules/shared/components/events/validators/events-date-time.validator */ + +/*! ../src/app/modules/shared/fields-builder/components/read/read.component */ + +/*! ../src/app/modules/shared/models/data-context-component */ + +/*! ../src/app/modules/shared/pipes */ + +/*! ../src/app/modules/shared/pipes/bolder-text.pipe */ + +/*! ../src/app/modules/shared/pipes/relative-date.pipe */ + +/*! ../src/app/modules/shared/pipes/trim-text-length.pipe */ + +/*! ../src/app/modules/shared/services/metadata/meta-data-constants */ + +/*! ../src/app/modules/sitefinity-components/sitefinity-components.module */ + +/*! ../src/app/services/content-item-status.resolver */ + +/*! ../src/app/services/status.resolver */ + +/*! ../src/app/services/taxonomy-status.resolver */ + +/*! ../src/app/utils */ + +/*! ../src/app/window.provider */ + +/*! ../store-schema */ + +/*! ../svg-icon-handler/svg-icon-handler.component */ + +/*! ../taxonomy.constants */ + +/*! ../taxonomy.settings */ + +/*! ../taxonomy/taxa/taxa.component */ + +/*! ../taxonomy/taxonomy.module */ + +/*! ../timezones/timezones.component */ + +/*! ../timezones/timezones.provider */ + +/*! ../token.provider */ + +/*! ../tree/tree-node-component.provider */ + +/*! ../tree/tree.component */ + +/*! ../utilities/rx-base.component */ + +/*! ../utils */ + +/*! ../validators/events-date-time.validator */ + +/*! ../views/content-block-basic.component */ + +/*! ../views/not-shareable.component */ + +/*! ../views/share.component */ + +/*! ../views/unshare.component */ + +/*! ../views/use-shared.component */ + +/*! ../web-address-component/web-address.component */ + +/*! ../widget-editor.component */ + +/*! ../widget-editor/widget-editor.module */ + +/*! ../window.provider */ + +/*! ../workflow-operation-settings.provider */ + +/*! ../youtube-player.service */ + +/*! ../zone-editor-dom-service */ + +/*! ./../../../../../../../fields/choice/choice-dropdown.component */ + +/*! ./../../../../../common-constants */ + +/*! ./../../../../../fields/related-data/related-data.component */ + +/*! ./../../../../../services/field.model */ + +/*! ./../../../../../utils */ + +/*! ./../../../../../window.provider */ + +/*! ./../../../../common-constants */ + +/*! ./../../../../services/url.service */ + +/*! ./../../../../shared/commands/link/open-link-command */ + +/*! ./../../../../shared/components/action-menu/operation.model */ + +/*! ./../../../../shared/fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ./../../../../shared/fields-builder/services/fields-registry */ + +/*! ./../../../../shared/services/modal-window.service */ + +/*! ./../../../../window.provider */ + +/*! ./../../../common-constants */ + +/*! ./../../../fields/fields.module */ + +/*! ./../../../libraries/services/media.helpers */ + +/*! ./../../../selector-constants */ + +/*! ./../../../src/app/window.provider */ + +/*! ./../../common-constants */ + +/*! ./../../constants/route-paths */ + +/*! ./../../environment */ + +/*! ./../../fields/related-data/index */ + +/*! ./../../interfaces */ + +/*! ./../../modules/shared/services/http-web-request.wrapper */ + +/*! ./../../selector-constants */ + +/*! ./../../services/dynamic-item.store */ + +/*! ./../../services/operations/commands/operation-command */ + +/*! ./../../services/url.service */ + +/*! ./../../shared/services/metadata/meta-data-constants */ + +/*! ./../../shared/services/metadata/meta-data.store */ + +/*! ./../../src/app/modules/content/dynamic-modules/interfaces */ + +/*! ./../../src/app/modules/shared/pipes/bolder-text.pipe */ + +/*! ./../../src/app/modules/shared/pipes/relative-date.pipe */ + +/*! ./../../src/app/modules/shared/services/metadata/meta-data.store */ + +/*! ./../../src/app/services/scroll.service */ + +/*! ./../../src/app/utils */ + +/*! ./../../tree/tree.component */ + +/*! ./../../utils */ + +/*! ./../error-pages/error-page.base */ + +/*! ./../field-settings-base */ + +/*! ./../media-base.component */ + +/*! ./../media-content.types */ + +/*! ./../modules/shared/services/settings-keys */ + +/*! ./../modules/shared/services/settings.service */ + +/*! ./../modules/shared/services/storage.service */ + +/*! ./../modules/shared/shared.module */ + +/*! ./../resolvers/base-status.resolver */ + +/*! ./../selector-constants */ + +/*! ./../services/base.service */ + +/*! ./../services/operations/commands/restore-command */ + +/*! ./../tree/tree.component */ + +/*! ./../window.provider */ + +/*! ./action-buttons.resolver */ + +/*! ./action-menu-model */ + +/*! ./activated-add-widget-position */ + +/*! ./additionalUrls-readOnly.component */ + +/*! ./additionalUrls-settings */ + +/*! ./additionalUrls.component */ + +/*! ./address.component */ + +/*! ./address.component-grid */ + +/*! ./address.constants */ + +/*! ./address.settings */ + +/*! ./admin-app-management.component */ + +/*! ./advanced-options.composite.component */ + +/*! ./analytics-column.component */ + +/*! ./app-base-href.factory */ + +/*! ./app-config/reorder-module-children.provider */ + +/*! ./app-providers.module */ + +/*! ./app-store */ + +/*! ./app.routes */ + +/*! ./app/api */ + +/*! ./app/app.module */ + +/*! ./app/bootstrapper */ + +/*! ./app/extensibility/manifest */ + +/*! ./async-field-value */ + +/*! ./auth.guard */ + +/*! ./auth.provider */ + +/*! ./auth.routes */ + +/*! ./auth.service */ + +/*! ./authorization-error */ + +/*! ./backend-logger-source */ + +/*! ./backend-tweaks.service */ + +/*! ./backend-tweaks.store */ + +/*! ./background-task-data-parser */ + +/*! ./background-task-notification-builder */ + +/*! ./background-task.types */ + +/*! ./base-status.resolver */ + +/*! ./basic-editor.component */ + +/*! ./breadcrumb-navigation/breadcrumb-navigation.component */ + +/*! ./bulk-command */ + +/*! ./bulk-operations-notification.component */ + +/*! ./bulk-operations/bulk-operations.component */ + +/*! ./cache-store */ + +/*! ./calendar-grid-cell/calendar-grid-cell.component */ + +/*! ./card/card.component */ + +/*! ./checkbox-states */ + +/*! ./children-count.store */ + +/*! ./chips/chips.component */ + +/*! ./choice-chip.component */ + +/*! ./choice-dropdown-list.component */ + +/*! ./choice-dropdown.component */ + +/*! ./choice-list.component */ + +/*! ./choice-list/choice-list-multiple.component */ + +/*! ./choice-list/choice-list-settings */ + +/*! ./choice-list/choice-list.component */ + +/*! ./choice-multiple-readOnly.component */ + +/*! ./choice-multiple.component */ + +/*! ./choice-readOnly.component */ + +/*! ./choice-yesno-readOnly.component */ + +/*! ./choice-yesno.component */ + +/*! ./choice.component */ + +/*! ./choice.settings */ + +/*! ./choice/choice-chip.component */ + +/*! ./choice/choice-dropdown-list.component */ + +/*! ./choice/choice-dropdown.component */ + +/*! ./choice/choice-list/choice-list-multiple.component */ + +/*! ./choice/choice-list/choice-list.component */ + +/*! ./choice/choice-multiple-readOnly.component */ + +/*! ./choice/choice-multiple.component */ + +/*! ./choice/choice-readOnly.component */ + +/*! ./choice/choice-yesno-readOnly.component */ + +/*! ./choice/choice-yesno.component */ + +/*! ./choice/choice.component */ + +/*! ./col-initializers */ + +/*! ./column-model */ + +/*! ./columns-generator */ + +/*! ./columns-map */ + +/*! ./columns-provider */ + +/*! ./combined-filter */ + +/*! ./command */ + +/*! ./command-category */ + +/*! ./command-model */ + +/*! ./commands */ + +/*! ./commands-data */ + +/*! ./commands-filter */ + +/*! ./commands-helper */ + +/*! ./commands-provider */ + +/*! ./commands-target */ + +/*! ./commands/parent-navigate-command */ + +/*! ./commands/run-again.command */ + +/*! ./commands/switch-grid-view.command */ + +/*! ./common */ + +/*! ./common-constants */ + +/*! ./common/chips/chips.component */ + +/*! ./common/chips/simple-chip.component */ + +/*! ./common/common-constants */ + +/*! ./common/components/sticky.component */ + +/*! ./common/components/sticky.heading.directive */ + +/*! ./common/directives/carretPosition.directive */ + +/*! ./common/directives/click-outside.directive */ + +/*! ./common/directives/infiniteScrolling.directive */ + +/*! ./common/directives/infiniteScrollingOnElement.directive */ + +/*! ./common/directives/localizedNum.directive */ + +/*! ./common/directives/number-overflow.directive */ + +/*! ./common/directives/resize.directive */ + +/*! ./common/directives/respondToVisibility.directive */ + +/*! ./common/directives/sticky.directive */ + +/*! ./common/directives/text-overflow.directive */ + +/*! ./common/directives/tooltipPosition.directive */ + +/*! ./common/focus.directive */ + +/*! ./common/pipes/breadcrumb.pipe */ + +/*! ./common/pipes/extension.pipe */ + +/*! ./common/pipes/file-size.pipe */ + +/*! ./common/pipes/htmlEscape.pipe */ + +/*! ./common/pipes/sanitizer.pipe */ + +/*! ./common/pipes/seconds-to-time */ + +/*! ./common/popup/popup.component */ + +/*! ./common/validators/index */ + +/*! ./common/validators/schedule.validator */ + +/*! ./common/validators/validators.constants */ + +/*! ./common/warning/warning.component */ + +/*! ./complex.component */ + +/*! ./component-data */ + +/*! ./components */ + +/*! ./components/access-denied/access-denied.component */ + +/*! ./components/action-buttons.resolver */ + +/*! ./components/action-menu/action-menu.component */ + +/*! ./components/address/address.component */ + +/*! ./components/address/address.component-grid */ + +/*! ./components/address/country.provider */ + +/*! ./components/admin-app-management */ + +/*! ./components/advanced-options/advanced-options.composite.component */ + +/*! ./components/app/app.component */ + +/*! ./components/bulk-operations/assign-taxons.component */ + +/*! ./components/bulk-operations/bulk-change-template-notification.component */ + +/*! ./components/bulk-operations/bulk-operations-notification.component */ + +/*! ./components/bulk-operations/bulk-operations.component */ + +/*! ./components/bulk-operations/item-list.component */ + +/*! ./components/bulk/bulk.component */ + +/*! ./components/color-picker/color-picker.component */ + +/*! ./components/columns-generator */ + +/*! ./components/columns-provider */ + +/*! ./components/columns/based-on.component */ + +/*! ./components/columns/marketing/marketing-cell.component */ + +/*! ./components/columns/marketing/personalized-cell.component */ + +/*! ./components/columns/page-view.component */ + +/*! ./components/config */ + +/*! ./components/config/config.component */ + +/*! ./components/config/config.guard */ + +/*! ./components/create-hierarchical-taxa/create-hierarchical-taxa.component */ + +/*! ./components/dialog/dynamic-update-item.component */ + +/*! ./components/dialog/toolbar.component */ + +/*! ./components/dropdown-selector/dropdown-selector.component */ + +/*! ./components/dropdown-selector/dropdown-selector.readonly.component */ + +/*! ./components/duration/duration.component */ + +/*! ./components/dynamic-item-index.component */ + +/*! ./components/dynamic-items.resolver */ + +/*! ./components/edit-menu/edit-menu.component */ + +/*! ./components/edit-page/change-template/change-template.component */ + +/*! ./components/edit-page/edit-page-template */ + +/*! ./components/edit-page/edit-page.component */ + +/*! ./components/empty/integrated-empty.component */ + +/*! ./components/empty/integrated-empty.component.guard */ + +/*! ./components/entity/dynamic-item.component */ + +/*! ./components/events/events-metadata-handler.provider */ + +/*! ./components/events/events-tweaks-handler.service */ + +/*! ./components/events/timezones/timezones.component */ + +/*! ./components/events/timezones/timezones.readonly.component */ + +/*! ./components/feature-toggle */ + +/*! ./components/feature-toggle/feature.component */ + +/*! ./components/fields/applied-to-component */ + +/*! ./components/fields/children-count-component */ + +/*! ./components/fields/date-and-user.component */ + +/*! ./components/fields/multi-value-text-field.component */ + +/*! ./components/fields/remove.component */ + +/*! ./components/fields/shared-in.component */ + +/*! ./components/fields/text-field.component */ + +/*! ./components/fields/type-info.component */ + +/*! ./components/grid-cells/create-child.component */ + +/*! ./components/grid-cells/grid-action-menu/grid-action-menu.component */ + +/*! ./components/grid-cells/letter-mark.component */ + +/*! ./components/grid-cells/list-children-count.component */ + +/*! ./components/grid-cells/list-children-items.component */ + +/*! ./components/grid-cells/list-languages.component */ + +/*! ./components/grid-cells/main-field/main-field.component */ + +/*! ./components/grid-navigation/grid-navigation.component */ + +/*! ./components/insecure-connection/insecure-connection.component */ + +/*! ./components/insight-cell/insight-cell.component */ + +/*! ./components/insight-lost-connection/insight-lost-connection.component */ + +/*! ./components/languages-dropdown/languages-dropdown.component */ + +/*! ./components/list/list-column.directive */ + +/*! ./components/list/list-detail.component */ + +/*! ./components/list/list-index.component */ + +/*! ./components/list/list.component */ + +/*! ./components/load-more-search/load-more-search.component */ + +/*! ./components/localization-strategy-component/localization-strategy.component */ + +/*! ./components/long-running-services/background-task-notification-builder */ + +/*! ./components/long-running-services/images-background-task-notification-builder */ + +/*! ./components/long-running-services/long-running-progress.component */ + +/*! ./components/long-running-services/taxa-notification-builder */ + +/*! ./components/merge-taxon.component */ + +/*! ./components/mobile-preview/mobile-preview-resizer.component */ + +/*! ./components/mobile-preview/mobile-preview.component */ + +/*! ./components/modal-confirmation/modal-confirmation.component */ + +/*! ./components/modal-list/modal-list.component */ + +/*! ./components/modal-selector/modal-selector.component */ + +/*! ./components/modal-window/modal-window.component */ + +/*! ./components/move-taxon.component */ + +/*! ./components/multiple-choice-chip/multiple-choice-chip.component */ + +/*! ./components/navigation-options-composite-component/navigation-options.composite.component */ + +/*! ./components/navigation/home-navigation/home-navigation.component */ + +/*! ./components/navigation/home/home.component */ + +/*! ./components/navigation/navigation-menu/navigation-menu.component */ + +/*! ./components/no-items-found/no-items-found.component */ + +/*! ./components/no-preview/no-preview.component */ + +/*! ./components/not-found/not-found.component */ + +/*! ./components/notifications/action-notification/action-notification.component */ + +/*! ./components/notifications/basic-notification/basic-notification.component */ + +/*! ./components/notifications/notification-loader/notification-loader.component */ + +/*! ./components/notifications/search-notification/search-notification.component */ + +/*! ./components/page-selecotr-component/page-selector.component */ + +/*! ./components/page-templates/page-template-thumbnail.component */ + +/*! ./components/personalization-dropdown/personalization-dropdown.component */ + +/*! ./components/provider-selector/provider-selector.component */ + +/*! ./components/provider-tab-selector/provider-tab-selector.component */ + +/*! ./components/router/dynamic-item-router.component */ + +/*! ./components/search-site-composite-component/search-site.composite.component */ + +/*! ./components/share-preview-link/share-preview-link.component */ + +/*! ./components/sidebar/compare-translations/compare-translations.component */ + +/*! ./components/sidebar/custom-filter-sidebar.component */ + +/*! ./components/sidebar/dynamic-sidebar.component */ + +/*! ./components/sidebar/filter/content-filter-count.component */ + +/*! ./components/sidebar/filter/content-filter.component */ + +/*! ./components/sidebar/filter/custom-filter.component */ + +/*! ./components/sidebar/filter/filter-date-range.component */ + +/*! ./components/sidebar/filter/filter-notification.component */ + +/*! ./components/sidebar/filter/filter.service */ + +/*! ./components/sidebar/filter/filter.store */ + +/*! ./components/sidebar/list-item-filter-sidebar.component */ + +/*! ./components/sidebar/list-item-settings-sidebar.component */ + +/*! ./components/sidebar/quick-navigation-sidebar.component */ + +/*! ./components/sidebar/sidebar-buttons.component */ + +/*! ./components/sidebar/sidebar-component.repo */ + +/*! ./components/sidebar/sidebar-host.component */ + +/*! ./components/sidebar/sidebar-slider/sidebar-slider.component */ + +/*! ./components/sidebar/sorter/SortingStore */ + +/*! ./components/site-and-language-selector/site-and-language-selector.component */ + +/*! ./components/site-sync/site-sync-item-info.component */ + +/*! ./components/site-sync/site-sync-notification.component */ + +/*! ./components/status/error-status.component */ + +/*! ./components/status/heading-status.component */ + +/*! ./components/strategies/dynamic-item.strategy */ + +/*! ./components/svg-icon-handler/svg-icon-handler.component */ + +/*! ./components/undo-delete.component */ + +/*! ./components/unlock-redirect/unlock-redirect.component */ + +/*! ./components/urlNameStructure/structure-urlName.component */ + +/*! ./components/use-a-browser/browser-notice.component */ + +/*! ./components/use-a-browser/browser.guard */ + +/*! ./components/web-address-component/web-address.component */ + +/*! ./components/workflow-operations-menu/workflow-operations-menu.component */ + +/*! ./components/zone-editor/add-widget/add-widget.component */ + +/*! ./components/zone-editor/empty-widget/empty-widget.component */ + +/*! ./components/zone-editor/enhanced-page.component */ + +/*! ./components/zone-editor/error-widget/error-widget.component */ + +/*! ./components/zone-editor/extenders/zone-editor-composite-extender */ + +/*! ./components/zone-editor/extenders/zone-editor-templates-extender */ + +/*! ./components/zone-editor/fake-widget/fake-widget.component */ + +/*! ./components/zone-editor/guards/can-deactivate.guard */ + +/*! ./components/zone-editor/inline-toolbar/inline-toolbar.component */ + +/*! ./components/zone-editor/sidebar/tree-sidebar.component */ + +/*! ./components/zone-editor/widget-label/widget-label.component */ + +/*! ./components/zone-editor/widget-preview/widget-preview.component */ + +/*! ./components/zone-editor/zone-editor-dom-service */ + +/*! ./components/zone-editor/zone-editor.component */ + +/*! ./composite-delete-command-extender */ + +/*! ./composite-theme-provider */ + +/*! ./config.component */ + +/*! ./connector.service */ + +/*! ./console-logger-source */ + +/*! ./constants */ + +/*! ./constants/route-paths */ + +/*! ./content-block/content-block-editor.module */ + +/*! ./content-blocks/components/content-blocks-notification.component */ + +/*! ./content-blocks/services/content-blocks-edit-extender */ + +/*! ./content-blocks/services/content-blocks-grid-extender */ + +/*! ./content-item-model */ + +/*! ./content-section-menu/content-section-menu.component */ + +/*! ./content-selector-item */ + +/*! ./content-selector-strategy */ + +/*! ./content-type.guard */ + +/*! ./content.component */ + +/*! ./contextual-help.service */ + +/*! ./country.provider */ + +/*! ./create-link-helper */ + +/*! ./crop.service */ + +/*! ./custom-fields */ + +/*! ./custom-filter-sidebar.component */ + +/*! ./custom-filter-strategy */ + +/*! ./custom-filter.renderer */ + +/*! ./custom-tree-component-base */ + +/*! ./custom-tree-component-provider */ + +/*! ./custom-tree-node-component-features */ + +/*! ./custom-tweaks-handler.service */ + +/*! ./custom-url-serializer */ + +/*! ./data-context */ + +/*! ./data-item */ + +/*! ./date-and-user.component */ + +/*! ./date-range.validator */ + +/*! ./date-time-formats.provider */ + +/*! ./date-time-picker-readOnly.component */ + +/*! ./date-time-picker.component */ + +/*! ./date-time-picker.constants */ + +/*! ./date-time-selector.component */ + +/*! ./date-time-settings */ + +/*! ./date-time-utils.service */ + +/*! ./date-time/date-time-formats.provider */ + +/*! ./date-time/date-time-picker-readOnly.component */ + +/*! ./date-time/date-time-picker.component */ + +/*! ./default-media.parser */ + +/*! ./delayEmission */ + +/*! ./delete-command */ + +/*! ./digits-limit.validator */ + +/*! ./directives/carretPosition.directive */ + +/*! ./directives/click-outside.directive */ + +/*! ./directives/localizedNum.directive */ + +/*! ./directives/resize.directive */ + +/*! ./directives/respondToVisibility.directive */ + +/*! ./document-data */ + +/*! ./document-enhancer.constants */ + +/*! ./document-enhancer.service */ + +/*! ./document.provider */ + +/*! ./documents/file-size-grid/file-grid-size.component */ + +/*! ./documents/file-tree.component */ + +/*! ./dropdown-selector.component */ + +/*! ./dropdown-selector.readonly.component */ + +/*! ./dynamic-item-index.constants */ + +/*! ./dynamic-item-store-state */ + +/*! ./dynamic-item.base */ + +/*! ./dynamic-item.service */ + +/*! ./dynamic-item.store */ + +/*! ./dynamic-items-base.resolver */ + +/*! ./dynamic-modules/components/router/dynamic-item-router.component */ + +/*! ./dynamic-modules/components/strategies/dynamic-item.strategy */ + +/*! ./dynamic-modules/dynamic-modules.module */ + +/*! ./dynamic-modules/dynamic-modules.routes */ + +/*! ./dynamic-modules/services/backend-tweaks/entity-data.resolver */ + +/*! ./dynamic-template.directive */ + +/*! ./edit-extender */ + +/*! ./edit-in-dialog-command */ + +/*! ./edit-menu-button */ + +/*! ./edit-menu-provider */ + +/*! ./edit-menu-section */ + +/*! ./editor */ + +/*! ./editor-config-provider */ + +/*! ./editor-group-toolbar-buttons */ + +/*! ./editor.component */ + +/*! ./editor.readonly.component */ + +/*! ./effects/effects.mobile-preview */ + +/*! ./effects/effects.sidebar */ + +/*! ./embed-media */ + +/*! ./embed-media.parser */ + +/*! ./enhanced-page.component */ + +/*! ./entity */ + +/*! ./entity-data */ + +/*! ./entity-data.resolver */ + +/*! ./entity/action-buttons */ + +/*! ./environment */ + +/*! ./environments/environment */ + +/*! ./error-filter */ + +/*! ./error-parser.service */ + +/*! ./errors/default-error-handler */ + +/*! ./errors/operation-failed-error */ + +/*! ./event-time-composite-component/event-time.composite.component */ + +/*! ./event-time-composite-component/event-time.composite.readonly.component */ + +/*! ./event-time-grid-cell/event-time.grid-cell.base.component */ + +/*! ./event-time.composite.component */ + +/*! ./event-time.composite.readonly.component */ + +/*! ./event.helpers */ + +/*! ./events-field-change.service */ + +/*! ./events-metadata-handler.provider */ + +/*! ./events.constants */ + +/*! ./execution-context */ + +/*! ./extenders/zone-editor-composite-extender */ + +/*! ./extension */ + +/*! ./extension-point-utils.service */ + +/*! ./extensions-store */ + +/*! ./external-app-config.service */ + +/*! ./external-stylesheet.service */ + +/*! ./external/external-token.provider */ + +/*! ./feature-toggle.service */ + +/*! ./feature-toggle/feature-toggle.service */ + +/*! ./feature-toggle/feature.directive */ + +/*! ./feature.component */ + +/*! ./field-base */ + +/*! ./field-data */ + +/*! ./field-error */ + +/*! ./field-model */ + +/*! ./field-properties-mapper */ + +/*! ./field-registration */ + +/*! ./field-settings-base */ + +/*! ./field-status */ + +/*! ./field-type-mapper */ + +/*! ./field-types */ + +/*! ./field-validation */ + +/*! ./field-wrapper */ + +/*! ./fields-behaviour */ + +/*! ./fields-builder/components/editable-fields/dynamic-template.directive */ + +/*! ./fields-builder/components/editable-fields/editable-fields.component */ + +/*! ./fields-builder/components/editable-table/editable-table.component */ + +/*! ./fields-builder/components/field-section/field-section.component */ + +/*! ./fields-builder/components/field-wrapper/error-filter */ + +/*! ./fields-builder/components/field-wrapper/form-field-wrapper.component */ + +/*! ./fields-builder/services/mirror.service */ + +/*! ./fields-change.service */ + +/*! ./fields-provider */ + +/*! ./fields-registration-provider */ + +/*! ./fields-registry */ + +/*! ./fields.module */ + +/*! ./file-info.component */ + +/*! ./file-layout-base.component */ + +/*! ./file-list.component */ + +/*! ./file-picker-view-mode */ + +/*! ./file-picker.component */ + +/*! ./file-picker.constants */ + +/*! ./file-picker.messages */ + +/*! ./file-preview-edit/file-preview-edit-settings */ + +/*! ./file-preview-edit/file-preview-edit.component */ + +/*! ./file-preview.component */ + +/*! ./file-reorder.component */ + +/*! ./file-select.component */ + +/*! ./file-upload-progress.component */ + +/*! ./file-upload.component */ + +/*! ./filter-interfaces */ + +/*! ./filter-renderers/custom-filter.renderer */ + +/*! ./filter-strategy-base */ + +/*! ./filter.service */ + +/*! ./filter.store */ + +/*! ./filter/filter.store */ + +/*! ./framework */ + +/*! ./framework.module */ + +/*! ./generic-error */ + +/*! ./grid-cells/main-field/main-field.component */ + +/*! ./grid-extender-base */ + +/*! ./helpers/content-item-model */ + +/*! ./helpers/content-link-input-model */ + +/*! ./helpers/content-selector/content-selector */ + +/*! ./helpers/create-link-constants */ + +/*! ./helpers/entity-selector/entity-selector */ + +/*! ./helpers/language-selector/language-selector */ + +/*! ./helpers/provider-selector/provider-selector */ + +/*! ./helpers/selector-context */ + +/*! ./helpers/site-selector/site-selector */ + +/*! ./hidden.component */ + +/*! ./hidden/hidden.component */ + +/*! ./hierarchical-taxon-expand-service */ + +/*! ./html-read-mode.component */ + +/*! ./html-wrapper */ + +/*! ./html-wrapper.component */ + +/*! ./html.component */ + +/*! ./html.settings */ + +/*! ./html/editor-config */ + +/*! ./html/editor-config-provider */ + +/*! ./html/editor.component */ + +/*! ./html/editor.grid.component */ + +/*! ./html/editor.readonly.component */ + +/*! ./htmlEscape.pipe */ + +/*! ./http */ + +/*! ./iframe-media.parser */ + +/*! ./image-data */ + +/*! ./images/edit-crop-rotate/edit-crop-rotate.component */ + +/*! ./images/edit-image-margins/edit-image-margins.component */ + +/*! ./images/edit-image/edit-image-thumbnail.component */ + +/*! ./images/edit-image/edit-image.component */ + +/*! ./images/file-dim-size-grid/file-grid-size.component */ + +/*! ./images/thumbnail-selector/thumbnail-selector.component */ + +/*! ./images/view-all-sizes/view-all-image-sizes.component */ + +/*! ./immutable-edit-menu.component */ + +/*! ./immutable.helpers */ + +/*! ./index-component */ + +/*! ./infiniteScrolling.directive */ + +/*! ./input */ + +/*! ./input.component */ + +/*! ./insert-body/insert-body.component */ + +/*! ./interfaces */ + +/*! ./interfaces/widget-editor */ + +/*! ./iso-week-dates.pipe */ + +/*! ./item */ + +/*! ./item-hooks-provider */ + +/*! ./item-list-settings */ + +/*! ./item-list.component */ + +/*! ./keyboard-shortcuts.constants */ + +/*! ./keyboard-shortcuts/keyboard-shortcuts.component */ + +/*! ./library-preview.component */ + +/*! ./library-select.component */ + +/*! ./library-tasks-base.command */ + +/*! ./library-tree.component */ + +/*! ./library.store */ + +/*! ./link-input-type */ + +/*! ./link-insert-field-settings */ + +/*! ./link-insert-field-validator */ + +/*! ./link-insert-field.component */ + +/*! ./link-insert-field/helpers/content-link-input-model */ + +/*! ./link-insert-selector/link-insert-selector.component */ + +/*! ./list-column.directive */ + +/*! ./list-detail.component */ + +/*! ./list-field-mappings-base */ + +/*! ./list.component */ + +/*! ./load-more/load-more.component */ + +/*! ./loader-wrapper/loader-wrapper.component */ + +/*! ./localization-strategy.component */ + +/*! ./localization-strategy.settings */ + +/*! ./locked-item-error */ + +/*! ./logger-source */ + +/*! ./long-running-services/long-running-progress.component */ + +/*! ./lower-first-letter.pipe */ + +/*! ./marketing-cell.component */ + +/*! ./max-integer.validator */ + +/*! ./media */ + +/*! ./media-data/media-data.factory */ + +/*! ./media-fields-change.service */ + +/*! ./media-handler.provider */ + +/*! ./media-handlers/image-handler.provider */ + +/*! ./media-handlers/media-handler.provider */ + +/*! ./media-metadata-handler.provider */ + +/*! ./media-recognizer.service */ + +/*! ./media-reorder-drop.component */ + +/*! ./media-validation-helper */ + +/*! ./media.component */ + +/*! ./media.component.readonly */ + +/*! ./media.helpers */ + +/*! ./media.service */ + +/*! ./media/document/document.component */ + +/*! ./media/embed-media/embed-media-content.component */ + +/*! ./media/image/image.component */ + +/*! ./media/media-data/media-data.factory */ + +/*! ./media/media-recognizer.service */ + +/*! ./media/media-reorder-drop.component */ + +/*! ./media/media.component */ + +/*! ./media/media.component.grid */ + +/*! ./media/media.component.readonly */ + +/*! ./media/media.settings */ + +/*! ./media/reorderable-thumbs.component */ + +/*! ./media/simple-media.component */ + +/*! ./media/video/video-player.component */ + +/*! ./meta-data-constants */ + +/*! ./meta-data.store */ + +/*! ./metadata */ + +/*! ./metadata.handler */ + +/*! ./metadata/meta-data-parser.service */ + +/*! ./metadata/meta-data.store */ + +/*! ./metadata/site-data.store */ + +/*! ./min-length.validator */ + +/*! ./mobile-preview-resizer.component */ + +/*! ./mobile-preview.component */ + +/*! ./modal-main-form-size */ + +/*! ./modal-window.service */ + +/*! ./model/component-model */ + +/*! ./models/feedback-info */ + +/*! ./models/widget-context */ + +/*! ./modules.provider */ + +/*! ./modules/additionalUrls/additionalUrls.module */ + +/*! ./modules/additionalUrls/index */ + +/*! ./modules/auth/auth.guard */ + +/*! ./modules/auth/auth.module */ + +/*! ./modules/content/constants */ + +/*! ./modules/content/content.module */ + +/*! ./modules/content/content.routes */ + +/*! ./modules/content/dynamic-modules/components/bulk-operations/item-list.component */ + +/*! ./modules/content/dynamic-modules/components/strategies/dynamic-item.strategy */ + +/*! ./modules/content/dynamic-modules/services/entity/dynamic-item.guard */ + +/*! ./modules/content/dynamic-modules/services/provider-store */ + +/*! ./modules/contextual-help/contextual-help.module */ + +/*! ./modules/html/html.module */ + +/*! ./modules/html/tools/create-link/link-insert-field/link-insert-field-registry */ + +/*! ./modules/integrations/integrations.module */ + +/*! ./modules/libraries/file-list.settings */ + +/*! ./modules/libraries/index */ + +/*! ./modules/libraries/libraries.module */ + +/*! ./modules/libraries/selectors */ + +/*! ./modules/libraries/videos/video-thumbnail/video-thumbnail.component */ + +/*! ./modules/ng-providers/providers.module */ + +/*! ./modules/pages/components/advanced-options */ + +/*! ./modules/pages/components/localization-strategy-component */ + +/*! ./modules/pages/components/navigation-options-composite-component */ + +/*! ./modules/pages/components/page-templates/page-template-thumbnail.component */ + +/*! ./modules/pages/components/search-site-composite-component */ + +/*! ./modules/pages/pages.module */ + +/*! ./modules/pages/pages.routes */ + +/*! ./modules/parent-selector/index */ + +/*! ./modules/parent-selector/parent-selector.module */ + +/*! ./modules/shared/components/access-denied/access-denied.component */ + +/*! ./modules/shared/components/address */ + +/*! ./modules/shared/components/color-picker/color-picker.component */ + +/*! ./modules/shared/components/dropdown-selector */ + +/*! ./modules/shared/components/events/event-time-composite-component */ + +/*! ./modules/shared/components/events/events.module */ + +/*! ./modules/shared/components/events/recurring-event */ + +/*! ./modules/shared/components/events/timezones */ + +/*! ./modules/shared/components/multiple-choice-chip/multiple-choice-chip.component */ + +/*! ./modules/shared/components/navigation/home/home.component */ + +/*! ./modules/shared/components/navigation/home/home.guard */ + +/*! ./modules/shared/components/no-preview/no-preview.component */ + +/*! ./modules/shared/components/not-found/not-found.component */ + +/*! ./modules/shared/components/site-sync/site-sync-item-info.component */ + +/*! ./modules/shared/fields-builder/providers/fields-provider */ + +/*! ./modules/shared/fields-builder/services/fields-registry */ + +/*! ./modules/shared/services/metadata/meta-data-store.resolver */ + +/*! ./modules/shared/services/metadata/site-data-store.resolver */ + +/*! ./modules/shared/services/metadata/user-data-store.resolver */ + +/*! ./modules/shared/services/settings-keys */ + +/*! ./modules/shared/services/site-title.resolver */ + +/*! ./modules/shared/services/storage.service */ + +/*! ./modules/shared/shared.module */ + +/*! ./modules/taxonomy/taxa/taxa.registry */ + +/*! ./modules/taxonomy/taxonomy-type-choice-field/taxonomyTypeChoiceFieldRegistry */ + +/*! ./modules/taxonomy/taxonomy.module */ + +/*! ./modules/urlName/index */ + +/*! ./modules/urlName/urlName.module */ + +/*! ./modules/widget-editor/providers/fields/complex.settings */ + +/*! ./modules/widget-editor/providers/fields/content/content-selector.component */ + +/*! ./modules/widget-editor/providers/fields/filter-content/filter-content-selector.component */ + +/*! ./modules/widget-editor/providers/fields/list-field-mappings/list-field-mappings-css.component */ + +/*! ./modules/widget-editor/providers/fields/list-field-mappings/list-field-mappings.component */ + +/*! ./modules/widget-editor/providers/fields/list-settings/list-settings.component */ + +/*! ./modules/widget-editor/providers/fields/parameterized-choice-selector/parameterized-choice-selector.component */ + +/*! ./modules/widget-editor/providers/fields/view-selector/view-selector.component */ + +/*! ./modules/widget-editor/widget-editor.module */ + +/*! ./multiline-emails.validator */ + +/*! ./named */ + +/*! ./navigation-options.composite.component */ + +/*! ./noauth.provider */ + +/*! ./not-found-error */ + +/*! ./notification-data */ + +/*! ./notification-info */ + +/*! ./notification-looks */ + +/*! ./notification.service */ + +/*! ./notification/click-notification.component */ + +/*! ./notifications */ + +/*! ./number-readOnly.component */ + +/*! ./number-settings */ + +/*! ./number.component */ + +/*! ./number/number-readOnly.component */ + +/*! ./number/number-settings */ + +/*! ./number/number.component */ + +/*! ./oauth.provider */ + +/*! ./oauth/oauth-sign-in-redirect.component */ + +/*! ./oauth/oauth.provider */ + +/*! ./oidc/oidc.provider */ + +/*! ./oidc/sign-in-redirect.component */ + +/*! ./oidc/sign-out-redirect.component */ + +/*! ./operation-command */ + +/*! ./operation-failed-error */ + +/*! ./operations-filter */ + +/*! ./operations-provider */ + +/*! ./operations/commands/bulk-command-extender-base */ + +/*! ./operations/commands/composite-bulk-command-extender */ + +/*! ./operations/commands/composite-delete-command-extender */ + +/*! ./operations/commands/delete-command-extender-base */ + +/*! ./operations/commands/move-command */ + +/*! ./operations/libraries.operations-filter */ + +/*! ./operations/pages.operations-filter */ + +/*! ./page.resolver */ + +/*! ./page.service */ + +/*! ./pages-action-handler.service */ + +/*! ./pages-metadata-handler.provider */ + +/*! ./pages-tweaks-handler.service */ + +/*! ./parameterized-choice-selector.settings */ + +/*! ./parent-has-child-error */ + +/*! ./parent-selector-settings */ + +/*! ./parent-selector.component */ + +/*! ./parent-selector.component.readonly */ + +/*! ./password-short-text-settings */ + +/*! ./pipes */ + +/*! ./popup/popup.component */ + +/*! ./property-editor.constants */ + +/*! ./provider-selector-base.component */ + +/*! ./provider-selector-item */ + +/*! ./provider-service */ + +/*! ./provider-store */ + +/*! ./provider.route-guard */ + +/*! ./providers/content-editor-view.provider */ + +/*! ./providers/fields/complex.component */ + +/*! ./providers/fields/content/content-selector.component */ + +/*! ./providers/fields/custom-size-field-provider */ + +/*! ./providers/fields/date-field-provider */ + +/*! ./providers/fields/date-time/date-time-selector.component */ + +/*! ./providers/fields/enum-field-provider */ + +/*! ./providers/fields/field-properties-mapper */ + +/*! ./providers/fields/field-type-mapper */ + +/*! ./providers/fields/filter-content/filter-content-selector.component */ + +/*! ./providers/fields/list-field-mappings/list-field-mappings-css.component */ + +/*! ./providers/fields/list-field-mappings/list-field-mappings.component */ + +/*! ./providers/fields/list-settings/list-settings.component */ + +/*! ./providers/fields/number-field-provider */ + +/*! ./providers/fields/parameterized-choice-selector/parameterized-choice-selector.component */ + +/*! ./providers/fields/view-selector/view-selector.component */ + +/*! ./providers/fields/yes-no-field-provider */ + +/*! ./providers/media-fields.provider */ + +/*! ./providers/page-fields.provider */ + +/*! ./providers/view-registration.provider */ + +/*! ./recurrent-rule */ + +/*! ./recurrent-rule.service */ + +/*! ./recurring-event-settings */ + +/*! ./recurring-event.component */ + +/*! ./recurring-event.constants */ + +/*! ./recurring-event/recurrent-rule */ + +/*! ./recurring-event/recurring-event.component */ + +/*! ./reducers/reducers.fields */ + +/*! ./reducers/reducers.media */ + +/*! ./reducers/reducers.mobile-preview */ + +/*! ./reducers/reducers.sidebar */ + +/*! ./related-data-grid.component */ + +/*! ./related-data-readonly.component */ + +/*! ./related-data.component */ + +/*! ./related-data.settings */ + +/*! ./related-data/related-data-grid.component */ + +/*! ./related-data/related-data-readonly.component */ + +/*! ./related-data/related-data.component */ + +/*! ./relative-date.pipe */ + +/*! ./remove.component */ + +/*! ./renderer.constants */ + +/*! ./renderer.types */ + +/*! ./reorderable-thumbs.component */ + +/*! ./resize.service */ + +/*! ./resolvers/base-status.resolver */ + +/*! ./resolvers/status.resolver */ + +/*! ./response-error */ + +/*! ./schedule.validator */ + +/*! ./schemas/schema.fields */ + +/*! ./schemas/schema.media */ + +/*! ./schemas/schema.mobile-preview */ + +/*! ./schemas/schema.sidebar */ + +/*! ./search-site.composite.component */ + +/*! ./section/columns-proportions.component */ + +/*! ./section/providers/section-editor-view.provider */ + +/*! ./selected-file-list.component */ + +/*! ./selector-base.command */ + +/*! ./selector-constants */ + +/*! ./selector-options */ + +/*! ./selector-service */ + +/*! ./selector/selector.component */ + +/*! ./selectors */ + +/*! ./service-hook-history.contract */ + +/*! ./services/action-executor.service */ + +/*! ./services/admin-app/admin-app-management.guard */ + +/*! ./services/back-navigation.service */ + +/*! ./services/backend-tweaks/backend-tweaks-form.resolver */ + +/*! ./services/backend-tweaks/backend-tweaks-grid.resolver */ + +/*! ./services/backend-tweaks/backend-tweaks.service */ + +/*! ./services/backend-tweaks/backend-tweaks.store */ + +/*! ./services/backend-tweaks/columns-map */ + +/*! ./services/backend-tweaks/tweaks-column-provider */ + +/*! ./services/bundle-data.service */ + +/*! ./services/canvas.service */ + +/*! ./services/children-count.store */ + +/*! ./services/component-communication.service */ + +/*! ./services/connector.service */ + +/*! ./services/content-bulk-command-extender */ + +/*! ./services/content-delete-command-extender */ + +/*! ./services/content-edit-extender */ + +/*! ./services/content-filter.service */ + +/*! ./services/content-grid-extender */ + +/*! ./services/content-section-menu.service */ + +/*! ./services/content-widget-field-change.service */ + +/*! ./services/data-extensions/data.extender */ + +/*! ./services/data-extensions/media-data.extender */ + +/*! ./services/date-time-utils.service */ + +/*! ./services/document-enhancer.service */ + +/*! ./services/dynamic-item.service */ + +/*! ./services/dynamic-item.store */ + +/*! ./services/edit-navigation.service */ + +/*! ./services/edit/composite-edit-extender */ + +/*! ./services/entity-data-resolvers/media-entity-data.resolver */ + +/*! ./services/entity/dynamic-item.guard */ + +/*! ./services/entity/dynamic-item.resolver */ + +/*! ./services/entity/item-hooks-provider */ + +/*! ./services/entity/item-meta-resolver */ + +/*! ./services/environment.service */ + +/*! ./services/errors/error-parser.service */ + +/*! ./services/event-dates.service */ + +/*! ./services/events-edit-extender */ + +/*! ./services/events-grid-extender */ + +/*! ./services/extension-point-utils.service */ + +/*! ./services/fields-generator.service */ + +/*! ./services/grid-extenders/media-grid-extender */ + +/*! ./services/grid-reload.service */ + +/*! ./services/grid/composite-grid-extender */ + +/*! ./services/hierarchical-dynamic-item-service */ + +/*! ./services/hierarchical-libraries.service */ + +/*! ./services/hierarchical-pages.service */ + +/*! ./services/http-odata-request.wrapper */ + +/*! ./services/http-web-request.wrapper */ + +/*! ./services/insights-columns-provider */ + +/*! ./services/insights-command-provider */ + +/*! ./services/insights-menu-command */ + +/*! ./services/keyboard-shortcuts.service */ + +/*! ./services/layout.service */ + +/*! ./services/letter-mark.store */ + +/*! ./services/library.store */ + +/*! ./services/locatable-dynamic-item.service */ + +/*! ./services/logger-source/logger */ + +/*! ./services/logger-source/logger-source-provider */ + +/*! ./services/media-bulk-command-extender */ + +/*! ./services/media-delete-command-extender */ + +/*! ./services/media-edit-extender */ + +/*! ./services/media-query-extender */ + +/*! ./services/media.helpers */ + +/*! ./services/media.service */ + +/*! ./services/metadata/files/file-info.service */ + +/*! ./services/metadata/meta-data-parser.service */ + +/*! ./services/metadata/meta-data-store.resolver */ + +/*! ./services/metadata/meta-data.store */ + +/*! ./services/metadata/site-data-store.resolver */ + +/*! ./services/metadata/site-data.store */ + +/*! ./services/metadata/user-data-store.resolver */ + +/*! ./services/metadata/user-data.store */ + +/*! ./services/modal-window.service */ + +/*! ./services/notification/notification.service */ + +/*! ./services/operations/base-operations-filter */ + +/*! ./services/operations/commands/parent-navigate-command */ + +/*! ./services/operations/commands/restore-command */ + +/*! ./services/operations/content-item-operations-filter */ + +/*! ./services/operations/external-operations-provider */ + +/*! ./services/operations/navigation-operations-provider */ + +/*! ./services/operations/operations-provider */ + +/*! ./services/operations/parent-operations-filter */ + +/*! ./services/page-templates-edit-extender */ + +/*! ./services/page.resolver */ + +/*! ./services/page.service */ + +/*! ./services/pages-action-handler.service */ + +/*! ./services/pages-edit-extender */ + +/*! ./services/pages-fields-change.service */ + +/*! ./services/pages-grid-extender */ + +/*! ./services/parent.service */ + +/*! ./services/property-value-parser.service */ + +/*! ./services/provider-service */ + +/*! ./services/provider-store */ + +/*! ./services/renderer.service */ + +/*! ./services/sanitize.service */ + +/*! ./services/scroll.service */ + +/*! ./services/settings.service */ + +/*! ./services/site-title.dynamic.resolver */ + +/*! ./services/site-title.resolver */ + +/*! ./services/sitefinity-insight-http-requester */ + +/*! ./services/sitefinity-insight-touchpoints-requester.service */ + +/*! ./services/sitefinity-requester.service */ + +/*! ./services/sort.service */ + +/*! ./services/status.resolver */ + +/*! ./services/store */ + +/*! ./services/store/app-store */ + +/*! ./services/strategies/filter-strategy.factory */ + +/*! ./services/taxonomy-bulk-command-extender */ + +/*! ./services/taxonomy-edit-extender */ + +/*! ./services/taxonomy-grid-extender */ + +/*! ./services/taxonomy.service */ + +/*! ./services/templates-grid-extender */ + +/*! ./services/webforms-and-mvc.renderer.contract */ + +/*! ./services/widget-property-editor.service */ + +/*! ./services/zone-editor */ + +/*! ./services/zone-editor-tree.service */ + +/*! ./services/zone-editor.contract */ + +/*! ./settings.service */ + +/*! ./sf-element.factory */ + +/*! ./sf-interceptor */ + +/*! ./short-text */ + +/*! ./short-text-default.component */ + +/*! ./short-text-settings */ + +/*! ./short-text.component */ + +/*! ./short-text.constants */ + +/*! ./short-text.grid.component */ + +/*! ./short-text/short-text-default.component */ + +/*! ./short-text/short-text.component */ + +/*! ./short-text/short-text.grid.component */ + +/*! ./sidebar-component.repo */ + +/*! ./sidebar-slider/sidebar-slider.component */ + +/*! ./sidebar/filter/content-filter.component */ + +/*! ./sidebar/filter/filter.store */ + +/*! ./sidebar/list-item-filter-sidebar.component */ + +/*! ./sidebar/list-item-settings-sidebar.component */ + +/*! ./sidebar/quick-navigation-sidebar.component */ + +/*! ./sidebar/tree-sidebar.component */ + +/*! ./sidebars/libraries-navigation/libraries-navigation-sidebar.component */ + +/*! ./single-property-contains-strategy */ + +/*! ./single-property-strategy */ + +/*! ./site-and-language-selector.component */ + +/*! ./site-data.store */ + +/*! ./site-selector-item */ + +/*! ./site-title.resolver */ + +/*! ./sitefinity-insight-http-requester */ + +/*! ./sitefinity-requester.service */ + +/*! ./sitefinitySdk.service */ + +/*! ./sorter/SortingStore */ + +/*! ./split-button/split-button.component */ + +/*! ./status/status.component */ + +/*! ./sticky.heading.directive */ + +/*! ./strategies/dynamic-item.strategy */ + +/*! ./strategies/generic-content-selector-strategy */ + +/*! ./strategies/media-content-selector-strategy */ + +/*! ./switch.settings */ + +/*! ./switch.wrapper.component */ + +/*! ./switch/switch.wrapper.component */ + +/*! ./swt/swt.provider */ + +/*! ./taxa.component */ + +/*! ./taxa.grid.component */ + +/*! ./taxa/taxa.component */ + +/*! ./taxa/taxa.grid.component */ + +/*! ./taxonomy-type-choice-field/taxonomy-type-choice-readonly.component */ + +/*! ./taxonomy-type-choice-field/taxonomyTypeChoice.component */ + +/*! ./taxonomy-type-choice-readonly.component */ + +/*! ./taxonomy.constants */ + +/*! ./taxonomy.service */ + +/*! ./taxonomy.settings */ + +/*! ./taxonomyTypeChoice.component */ + +/*! ./text-area-settings */ + +/*! ./text-area.component */ + +/*! ./text-area/text-area.component */ + +/*! ./text-field.component */ + +/*! ./theme */ + +/*! ./theme-item */ + +/*! ./theme-provider */ + +/*! ./theme-variable-key-value-pair */ + +/*! ./theme-variables */ + +/*! ./theme.component */ + +/*! ./theme.guard */ + +/*! ./theme/composite-theme-provider */ + +/*! ./theme/theme.module */ + +/*! ./themeRouting */ + +/*! ./thumbnail-list.component */ + +/*! ./thumbnail/grid-thumbnail.component */ + +/*! ./thumbnail/thumbnail.component */ + +/*! ./timezones.component */ + +/*! ./timezones.provider */ + +/*! ./timezones.readonly.component */ + +/*! ./toLoadingState */ + +/*! ./token-data */ + +/*! ./token.provider */ + +/*! ./toolbar-item */ + +/*! ./toolbar-items */ + +/*! ./toolbar-items-provider */ + +/*! ./tools/create-link/create-link-helper */ + +/*! ./tools/create-link/create-link.component */ + +/*! ./tools/create-link/link-insert-field/link-insert-field.component */ + +/*! ./tools/create-link/link-insert-field/link-insert-selector/link-insert-selector.component */ + +/*! ./tools/create-link/services/create-link-field-change.service */ + +/*! ./tools/embed-code/embed-media.component */ + +/*! ./tools/insert-image/image-helper */ + +/*! ./tools/kendo-align.helpers */ + +/*! ./tools/view-code/view-code.component */ + +/*! ./tooltip.component */ + +/*! ./tooltip/tooltip.module */ + +/*! ./tree */ + +/*! ./tree-node-component.provider */ + +/*! ./tree/tree-node-component.provider */ + +/*! ./tree/tree.component */ + +/*! ./twitter-media.parser */ + +/*! ./type-info.component */ + +/*! ./url-pattern.validator */ + +/*! ./urlName-settings */ + +/*! ./urlName.component */ + +/*! ./urlName.grid.component */ + +/*! ./urlName.module */ + +/*! ./usage-in-sites/usage-in-sites.component */ + +/*! ./user-data.store */ + +/*! ./user-preferences.component */ + +/*! ./user-preferences.service */ + +/*! ./user-preferences/user-menu.service */ + +/*! ./user-preferences/user-preferences.component */ + +/*! ./user-preferences/user-preferences.service */ + +/*! ./utilities/rx-base.component */ + +/*! ./v1 */ + +/*! ./validation-error */ + +/*! ./validators.constants */ + +/*! ./value-range.validator */ + +/*! ./video */ + +/*! ./video-data */ + +/*! ./videos/video-thumbnail/video-thumbnail.component */ + +/*! ./view-code-constants */ + +/*! ./view-selector/view-selector.component */ + +/*! ./views/content-block-basic.component */ + +/*! ./views/not-shareable.component */ + +/*! ./views/share.component */ + +/*! ./views/unshare.component */ + +/*! ./views/use-shared.component */ + +/*! ./warning/warning.component */ + +/*! ./webforms-and-mvc.renderer.contract */ + +/*! ./widget-editor */ + +/*! ./widget-editor-view-provider */ + +/*! ./widget-editor.component */ + +/*! ./widget-preview/widget-preview.component */ + +/*! ./window.provider */ + +/*! ./youtube-media.parser */ + +/*! ./zone-editor-base-extender */ + +/*! ./zone-editor-widget-icons.constants */ + +/*! /devops-iris-agent/_work/1/s/src/main.ts */ + +/*! @angular/animations */ + +/*! @angular/common */ + +/*! @angular/common/http */ + +/*! @angular/core */ + +/*! @angular/elements */ + +/*! @angular/forms */ + +/*! @angular/http */ + +/*! @angular/platform-browser */ + +/*! @angular/platform-browser-dynamic */ + +/*! @angular/platform-browser/animations */ + +/*! @angular/router */ + +/*! @circlon/angular-tree-component */ + +/*! @juggle/resize-observer */ + +/*! @ngrx/effects */ + +/*! @ngrx/store */ + +/*! @ngrx/store-devtools */ + +/*! @progress/kendo-angular-common */ + +/*! @progress/kendo-angular-dateinputs */ + +/*! @progress/kendo-angular-layout */ + +/*! @progress/sitefinity-component-framework */ + +/*! @progress/sitefinity-webservices-sdk/dist/sitefinity-webservices-sdk */ + +/*! cropperjs/dist/cropper.esm.js */ + +/*! exports provided: ACTION_KEY, ACTION_KEYS, PAGES_ENTITY_SET_NAME, PageResolver */ + +/*! exports provided: ADDITIONAL_URLS_REGISTRY */ + +/*! exports provided: ADDRESS_REGISTRY */ + +/*! exports provided: ADVANCED_OPTIONS_COMPOSITE_COMPONENT_REGISTRY */ + +/*! exports provided: ADVANCED_OPTIONS_PROPERTIES, AdvancedOptionsCompositeComponent */ + +/*! exports provided: ANALYTICS_TITLE, AnalyticsColumnComponent */ + +/*! exports provided: ANIMATION_DIRECTIONS, ANIMATION_STATES, ANIMATION_DURATION, ANIMATION_TIMING */ + +/*! exports provided: ANIMATION_RIGHT_TO_LEFT, ANIMATION_LEFT_TO_RIGHT, ANIMATION_FROM_TOP, ANIMATION_TO_TOP, ANIMATION_FADE_IN, isAnimationTypeRightToLeft, isAnimationTypeLeftToRight, isAnimationTypeToTop, isAnimationTypeFromTop, ANIMATION_HIDDEN_STATE, ANIMATION_VISIBLE_STATE */ + +/*! exports provided: APP_ROUTE_PATHS, AUTH_ROUTES, authRouting */ + +/*! exports provided: ARROW_HTML_TEMPLATE, ON_TOP_LEVEL, BreadcrumbPipe */ + +/*! exports provided: AUTH_PROVDER_TOKEN */ + +/*! exports provided: AUX_ROUTE_PARAM_NAME, AuxHostComponent */ + +/*! exports provided: AccessDeniedComponent */ + +/*! exports provided: Action */ + +/*! exports provided: ActionButtonsStateService */ + +/*! exports provided: ActionEvent, ActionIcon, ActionEventsConfirmationDialogButtons */ + +/*! exports provided: ActionExecutorService */ + +/*! exports provided: ActionNotificationComponent */ + +/*! exports provided: ActivatedAddWidgetPosition */ + +/*! exports provided: AddWidgetComponent */ + +/*! exports provided: AdditionalUrlsComponent */ + +/*! exports provided: AdditionalUrlsModule */ + +/*! exports provided: AdditionalUrlsReadOnlyComponent */ + +/*! exports provided: AdditionalUrlsSettings */ + +/*! exports provided: AddressComponent */ + +/*! exports provided: AddressGridComponent */ + +/*! exports provided: AddressSettings */ + +/*! exports provided: AdminAppManagementGuard */ + +/*! exports provided: AnalyticsModule */ + +/*! exports provided: AppBaseHrefFactory */ + +/*! exports provided: AppComponent */ + +/*! exports provided: AppProvidersModule */ + +/*! exports provided: AppStore, actionReducersMap, metaReducersMap */ + +/*! exports provided: AppliedToComponent */ + +/*! exports provided: AssignTaxonsCommand */ + +/*! exports provided: AsyncFieldValue */ + +/*! exports provided: AuthGuard */ + +/*! exports provided: AuthModule */ + +/*! exports provided: AuthService */ + +/*! exports provided: AuthorizationError */ + +/*! exports provided: AuxServiceBase */ + +/*! exports provided: BACKEND_LOG_URL, BackendLoggerSource */ + +/*! exports provided: BACKGROUND_TASK_NOTIFICATION_BUILDER_TOKEN, BackgroundTaskNotificationBuilder, DefaultTaskNotificationBuilder, DEFAULT_NOTIFICATION_BUILDER */ + +/*! exports provided: BULK_COMMAND_EXTENDER_TOKEN, CompositeBulkCommandExtender */ + +/*! exports provided: BULK_EDIT_TAXON_MODAL_MAPPING, BulkEditTaxonCommand */ + +/*! exports provided: BUNDLE_DATA_OPERATIONS, BATCH_SIZE, BundleDataService */ + +/*! exports provided: BUTTONS_LOADING_TIME, DynamicUpdateItemComponent */ + +/*! exports provided: BackNavigationService */ + +/*! exports provided: BackendTweaksFormResolver */ + +/*! exports provided: BackendTweaksGridResolver */ + +/*! exports provided: BackendTweaksService */ + +/*! exports provided: BackendTweaksStore */ + +/*! exports provided: BackgroundTaskDataParser */ + +/*! exports provided: BaseResolver */ + +/*! exports provided: BasedOnComponent */ + +/*! exports provided: BasicEditorViewComponent */ + +/*! exports provided: BasicNotificationComponent */ + +/*! exports provided: BolderTextPipe, TextMatchType */ + +/*! exports provided: BreadcrumbNavigationComponent */ + +/*! exports provided: BulkChangeTemplateNotificationComponent */ + +/*! exports provided: BulkCommandExtenderBase */ + +/*! exports provided: BulkComponent */ + +/*! exports provided: BulkEditMediaPropertiesCommand */ + +/*! exports provided: BulkOperationsNotificationComponent */ + +/*! exports provided: ButtonState, PRIMARY_BUTTON_ORDINAL, LoadingButton, ActionButton, ActionSection, SidebarActionButton, ToolbarButton, ActionMenuOptions */ + +/*! exports provided: CHILD_LOAD_COUNT */ + +/*! exports provided: CHOICE_COMPONENTS, CHOICE_REGISTRY, CHOICE_DROPDOWN_REGISTRY, CHOICE_DROPDOWN_LIST_REGISTRY, CHOICE_MULTIPLE_REGISTRY, CHOICE_YES_NO_REGISTRY, CHOICE_LIST_REGISTRY, CHOICE_LIST_MULTIPLE_REGISTRY, CHOICE_CHIP_REGISTRY */ + +/*! exports provided: CLICK_EVENT, ContentModule */ + +/*! exports provided: COLUMNS_TOKEN */ + +/*! exports provided: COLUMNS_TOKEN, FIELDS_PROVIDER_TOKEN, FieldBase, FieldTypes, SettingsBase, CommandsData, COMMANDS_TOKEN, CommandsTarget, CommandModel, CommandCategory, COMMANDS_FILTER_TOKEN, Entity, DataItem, ToolBarItem, TOOLBARITEMS_TOKEN, SelectorService, SELECTOR_SERVICE, BUTTON_PRIMARY_CATEGORY, BUTTON_CANCEL_CATEGORY, BUTTON_DELETE_CATEGORY, HTTP_PREFIX, EDITOR_CONFIG_TOKEN, groupToolbarButtons, EDIT_MENU_TOKEN, EditMenuSection, EditMenuButton, ThemeVariables, THEME_TOKEN, ITEM_HOOKS_PROVIDER_TOKEN, FrameworkModule, InputComponent, EmbedMediaParser, Media, MediaType, FieldModel, FieldWrapper, FIELDS_CHANGE_SERVICE_TOKEN, SitefinityExtensionStore, NotificationInfo, NotificationService, NOTIFICATION_SERVICE, NOTIFICATION_LOOK_SUCCESS, NOTIFICATION_LOOK_ERROR, NOTIFICATION_LOOK_WARNING, WIDGET_VIEW_TOKEN, CUSTOM_TREE_COMPONENT_TOKEN, CustomTreeNodeComponentBase, TreeNodeComponentFeatures */ + +/*! exports provided: COLUMNS_TOKEN, RESERVED_COLUMN_NAMES, MAIN_COLUMN_NAME, TRANSLATIONS_COLUMN_NAME, COLUMN_ORDINALS, COLUMN_NAMES, CompositeColumnsProvider */ + +/*! exports provided: COMMANDS_FILTER_TOKEN */ + +/*! exports provided: COMMANDS_PROVIDER */ + +/*! exports provided: COMMANDS_TOKEN */ + +/*! exports provided: COMMAND_NAMES */ + +/*! exports provided: COMMON_COMPONENTS */ + +/*! exports provided: COMPARE_LANGUAGES_DOPDOWN_TITLE, CompareTranslationsComponent */ + +/*! exports provided: COMPARE_TRANSLATIONS_TITLE */ + +/*! exports provided: CONTENT_FORM_CLASS, ContentEditExtender, CONTENT_EDIT_EXTENDER */ + +/*! exports provided: CONTENT_ROUTES */ + +/*! exports provided: CREATE_LINK_MODEL_PROPERTIES, CREATE_LINK_TITLE_CONSTANTS */ + +/*! exports provided: CURRENT_SITE_SERVICE_PATH, SiteDataStore */ + +/*! exports provided: CUSTOMS_STRUCTURE_REGEX_VALIDATION, StructureUrlNameSettings */ + +/*! exports provided: CUSTOM_ERROR_PREFIX, VALIDATOR_MESSAGES */ + +/*! exports provided: CUSTOM_TREE_COMPONENT_TOKEN */ + +/*! exports provided: CUSTOM_TREE_COMPONENT_TOKEN, CustomTreeNodeComponentBase, TreeNodeComponentFeatures */ + +/*! exports provided: CUSTOM_TREE_COMPONENT_TOKEN, TreeNodeComponentCompositeProvider, CustomTreeNodeComponentBase, TreeNodeComponentFeatures */ + +/*! exports provided: CacheStore */ + +/*! exports provided: CalendarGridCellComponent */ + +/*! exports provided: CanDeactivateGuard */ + +/*! exports provided: CanvasService */ + +/*! exports provided: CardComponent */ + +/*! exports provided: CarretPositionDirective */ + +/*! exports provided: ChangeOwnerCommand */ + +/*! exports provided: ChangeTemplateCommand */ + +/*! exports provided: ChangeTemplateComponent, ChangeMode */ + +/*! exports provided: CheckBoxStates */ + +/*! exports provided: ChildrenCountComponent */ + +/*! exports provided: ChildrenCountStore */ + +/*! exports provided: ChipsComponent */ + +/*! exports provided: ChoiceChipComponent */ + +/*! exports provided: ChoiceComponent */ + +/*! exports provided: ChoiceDropdownComponent */ + +/*! exports provided: ChoiceDropdownListComponent */ + +/*! exports provided: ChoiceListComponent */ + +/*! exports provided: ChoiceListMultipleComponent */ + +/*! exports provided: ChoiceListSettings */ + +/*! exports provided: ChoiceMultipleComponent */ + +/*! exports provided: ChoiceMultipleReadOnlyComponent */ + +/*! exports provided: ChoiceReadOnlyComponent */ + +/*! exports provided: ChoiceServiceUrlComponent, CHOICE_SERVICEURL_SETTINGS_REGISTRY */ + +/*! exports provided: ChoiceSettings */ + +/*! exports provided: ChoiceYesNoComponent */ + +/*! exports provided: ChoiceYesNoReadOnlyComponent */ + +/*! exports provided: ClickNotificationComponent */ + +/*! exports provided: ClickOutsideDirective */ + +/*! exports provided: ColumnOrdinals, ACTIONS_COLUMN_NAME, ColumnsGenerator */ + +/*! exports provided: ColumnsMap */ + +/*! exports provided: ColumnsProportionsComponent */ + +/*! exports provided: CombinedFilter, FilterClause, DateInterval */ + +/*! exports provided: CommandCategory */ + +/*! exports provided: CommandModel */ + +/*! exports provided: CommandModelBase */ + +/*! exports provided: CommandNotificationArgs */ + +/*! exports provided: CommandsData */ + +/*! exports provided: CommandsData, COMMANDS_TOKEN, CommandsTarget, CommandModel, CommandCategory, COMMANDS_FILTER_TOKEN */ + +/*! exports provided: CommandsTarget */ + +/*! exports provided: CommunicationEvent, WorkflowOperationClickedEvent, ActionButtonsStateChanged, LongRunningTaskCompleted */ + +/*! exports provided: ComplexComponent */ + +/*! exports provided: ComplexSettings, COMPLEX_REGISTRY */ + +/*! exports provided: ComponentCommunicationService */ + +/*! exports provided: ComponentModel, ContainerModel */ + +/*! exports provided: CompositeEditExtender */ + +/*! exports provided: CompositeFieldSettings */ + +/*! exports provided: CompositeGridExtender */ + +/*! exports provided: CompositeMediaParser */ + +/*! exports provided: ConfigComponent */ + +/*! exports provided: ConfigOperationsFilter, CONFIG_OPERATION_FILTER */ + +/*! exports provided: ConfigurationGuard */ + +/*! exports provided: ConfirmationCommand */ + +/*! exports provided: ConnectorService */ + +/*! exports provided: ConsoleLoggerSource */ + +/*! exports provided: ContentBlockBasicComponent */ + +/*! exports provided: ContentBlockConstants */ + +/*! exports provided: ContentBlockEditorModule */ + +/*! exports provided: ContentBlocksEditExtender, CONTENT_BLOCKS_EDIT_EXTENDER */ + +/*! exports provided: ContentBlocksGridExtender, CONTENT_BLOCKS_GRID_EXTENDER */ + +/*! exports provided: ContentBulkCommandExtender, CONTENT_BULK_COMMAND_EXTENDER */ + +/*! exports provided: ContentComponent */ + +/*! exports provided: ContentDeleteCommandExtender, CONTENT_DELETE_COMMAND_EXTENDER */ + +/*! exports provided: ContentEditorViewProvider, CONTENT_BLOCK_WIDGET_VIEW_TOKEN */ + +/*! exports provided: ContentFilterCountComponent */ + +/*! exports provided: ContentFilterService, SearchMode */ + +/*! exports provided: ContentGridExtender, CONTENT_GRID_EXTENDER */ + +/*! exports provided: ContentItemInfo */ + +/*! exports provided: ContentItemModel */ + +/*! exports provided: ContentItemOperationsFilter, CONTENT_ITEM_OPERATION_FILTER */ + +/*! exports provided: ContentItemStatusResolver */ + +/*! exports provided: ContentSectionMenuComponent */ + +/*! exports provided: ContentSectionMenuService */ + +/*! exports provided: ContentSelector */ + +/*! exports provided: ContentSelectorComponent, CONTENT_SELECTOR_REGISTRY */ + +/*! exports provided: ContentSelectorItem, ContentSelectorItemsDataObject */ + +/*! exports provided: ContentSettings */ + +/*! exports provided: ContentTypeGuard */ + +/*! exports provided: ContentWidgetFieldsChangeService, CONTENT_WIDGET_FIELD_CHANGE_HANDLER */ + +/*! exports provided: ContextualHelpService */ + +/*! exports provided: CreateChildComponent */ + +/*! exports provided: CreateHierarchicalTaxaComponent */ + +/*! exports provided: CreateLinkComponent, CreateLinkModel */ + +/*! exports provided: CreateLinkFieldChangeService, CREATE_LINK_FIELD_CHANGE_HANDLER */ + +/*! exports provided: CustomFilterRenderer */ + +/*! exports provided: CustomFilterSidebarComponent */ + +/*! exports provided: CustomFilterStrategy */ + +/*! exports provided: CustomSizeFieldProvider, CustomSizeFieldSettings, CUSTOM_SIZE_FIELD_PROVIDER */ + +/*! exports provided: CustomTreeNodeComponentBase */ + +/*! exports provided: CustomTweaksHandler */ + +/*! exports provided: CustomUrlSerializer */ + +/*! exports provided: DATA_EXTENDER_TOKEN, DataExtenderBase, CompositeDataExtender */ + +/*! exports provided: DATE_RANGE_VALIDATOR_NAME, DateRangeValidator */ + +/*! exports provided: DATE_TIME_REGISTRY */ + +/*! exports provided: DAY_TIMESPAN_STRING, RecurringEventComponent */ + +/*! exports provided: DEFAULT, INLINE_DESCRIPTION, INSTRUCTIONAL_NOTES, SettingsBase, RuleOperator, RuleConditionOperator */ + +/*! exports provided: DEFAULT_BOX_HEIGHT, DEFAULT_SMALL_BOX_HEIGHT, DEFAULT_BOX_SPACING, DOCUMENT_BOX_SPACING, DOCUMENT_ROW_HEIGHT, LayoutService */ + +/*! exports provided: DEFAULT_DATA_FIELDS, REMOVE_ANIMATION_CLASS_TIMEOUT, JUST_ADDED_PROPERTY, TreeComponent, TreeNodeModel */ + +/*! exports provided: DEFAULT_FIELD_NAME, SINGULAR_NAME, DISPLAY_NAME, IGNORE_PARENT_CHILD_RELATIONSHIP, SORT_RESTRICTIONS, FILTER_RESTRICTIONS, MODULE_NAME, IS_ORDERABLE_PROPERTY_NAME, IS_CUSTOM_FILTER_ENABLED, IS_ALL_ITEMS_FILTER_ENABLED, IS_MULTILINGUAL, META_SERVICE_PATH, Entity, MediaEntity, MetadataContainer, MetadataStore */ + +/*! exports provided: DEFAULT_ORDINAL_EXPRESSION, LAST_MODIFIED_DESC_SORT_ORDER, LAST_MODIFIED_ASC_SORT_ORDER, DATE_CREATED_DESC_SORT_ORDER, SortService */ + +/*! exports provided: DEFAULT_PLACEHOLDER_TEXT, HtmlComponent, CustomToolsData */ + +/*! exports provided: DEFAULT_SELECTED_COLOR, ColorPickerComponent, ColorPickerSettings, COLOR_PICKER_REGISTRY */ + +/*! exports provided: DEFAULT_SIDEBAR_BUTTON_LOOK, SidebarButtonsComponent */ + +/*! exports provided: DEFAULT_SITE_TITLE_SUFFIX */ + +/*! exports provided: DEFAULT_URL_KEY, ModalWindowService, DialogData, Button, ClickResult, ConfirmButton, CancelButton, DeleteButton, ClosingContextType */ + +/*! exports provided: DELETE_COMMAND_EXTENDER_TOKEN, CompositeDeleteCommandExtender */ + +/*! exports provided: DIGITS_LIMIT_VALIDATOR_NAME, DigitsLimit */ + +/*! exports provided: DIMENSION_PROPERTIES, ResizeService */ + +/*! exports provided: DISPLAY_MODE, TEXT_FIELD_CONSTANTS, TEXT_COMPONENTS */ + +/*! exports provided: DOCUMENT_TOKEN, provideDocumentFactory, DOCUMENT_PROVIDER */ + +/*! exports provided: DONE_TASK_TIMEOUT, LONG_RUNNING_TASK_STARTED, LONG_RUNNING_TASK_COMPLETED, QUICK_TIMEOUT, SLOW_TIMEOUT, LongRunningTasksService, generateRunningTaskError, getItemIdFromTaskData, getItemsFromTaskData, getLibrariesRunningTasksAndMap */ + +/*! exports provided: DRAG_IMAGES_SRC_LIST */ + +/*! exports provided: DROPDOWN_DEFAULT_LOADER_STYLE, ACTIVE_BUTTON_LOOK, ActionMenuComponent */ + +/*! exports provided: DUPLICATE_LANG_PROP_NAME, SiteAndLanguageSelectorComponent */ + +/*! exports provided: DYNAMIC_ITEMS_DATA_NAME */ + +/*! exports provided: DYNAMIC_ITEMS_DEFINITIONS, MetadataParserService */ + +/*! exports provided: DataItem */ + +/*! exports provided: DataItem, HierarchicalDataItem, NavigateToEditArguments */ + +/*! exports provided: DateTimeFieldProvider, WidgetDateTimePickerSettings, DATE_FIELD_PROVIDER */ + +/*! exports provided: DateTimeFilterParser */ + +/*! exports provided: DateTimeFormatsProvider */ + +/*! exports provided: DateTimePickerComponent */ + +/*! exports provided: DateTimePickerConstants, DEFAULT_DATE_FORMAT, DEFAULT_TIME_FORMAT, DATE_FORMATS_WHITELIST, TIME_FORMATS_WHITELIST */ + +/*! exports provided: DateTimePickerReadOnlyComponent */ + +/*! exports provided: DateTimePickerSettings */ + +/*! exports provided: DateTimeSelectorComponent, DateTimeFilterValue, DATE_TIME_SELECTOR_REGISTRY */ + +/*! exports provided: DateTimeUtilsService */ + +/*! exports provided: DefaultErrorHandler, ERROR_PROVIDER */ + +/*! exports provided: DefaultMediaParser */ + +/*! exports provided: DeleteCommandExtenderBase */ + +/*! exports provided: DocumentComponent */ + +/*! exports provided: DocumentData */ + +/*! exports provided: DocumentEnhancerService */ + +/*! exports provided: DropdownSelectorComponent */ + +/*! exports provided: DropdownSelectorReadonlyComponent */ + +/*! exports provided: DurationComponent */ + +/*! exports provided: DynamicItemBase, OPERATION_VALIDATOR_MAP */ + +/*! exports provided: DynamicItemGuard */ + +/*! exports provided: DynamicItemIndexComponent */ + +/*! exports provided: DynamicItemResolver */ + +/*! exports provided: DynamicItemRouterComponent */ + +/*! exports provided: DynamicItemStore, FilterTypes */ + +/*! exports provided: DynamicItemStoreState, StateWrapper */ + +/*! exports provided: DynamicItemStrategyBase */ + +/*! exports provided: DynamicItemUrlSegment */ + +/*! exports provided: DynamicItemsResolver */ + +/*! exports provided: DynamicModulesModule */ + +/*! exports provided: DynamicSidebarComponent */ + +/*! exports provided: DynamicTemplateDirective */ + +/*! exports provided: EDITOR_CONFIG_TOKEN */ + +/*! exports provided: EDITOR_CONFIG_TOKEN, CompositeEditorConfigProvider */ + +/*! exports provided: EDITOR_CONFIG_TOKEN, groupToolbarButtons, EDIT_MENU_TOKEN, EditMenuSection, EditMenuButton */ + +/*! exports provided: EDIT_EXTENDER_TOKEN, COMPARE_TRANSLATIONS_NAME, BROWSE_BUTTON_NAME, EditExtender */ + +/*! exports provided: EDIT_MENU_TOKEN */ + +/*! exports provided: EDIT_MENU_TOKEN, CompositeEditMenuProvider */ + +/*! exports provided: EDIT_PAGE_BACK_BUTTON_LABEL, NAVBAR_PAGE_EDITOR_LOOK, TOGGLE_EVENT_NAME, EditPageComponent */ + +/*! exports provided: EMBED_MEDIA_PARSERS, EMBED_MEDIA_PARSER_PROVIDERS, PROCESS_EMBED_MEDIA_VALUE_TIMEOUT, EmbedMediaComponent */ + +/*! exports provided: ERROR_CODE_VALIDATION, ErrorParserService */ + +/*! exports provided: ERROR_EVENT_NAME, catchErrorAndShowNotification */ + +/*! exports provided: EVENT_PROPERTIES, CALENDAR_PROPERTIES, NON_DEFAULT_PROPERTY_MAPPINGS, FIELD_GROUPS */ + +/*! exports provided: EVENT_TIME_COMPOSITE_COMPONENT_REGISTRY */ + +/*! exports provided: EXTENSIONS_ENDPOINT, EXTENSIONS_COMPATIBLE_MESSAGE, EXTENISONS_FAILED_TO_LOAD_MESSAGE, DEV_EXTENSIONS_URL, EXTENSIONS_COMPATIBLE_SF_VERSIONS, Bootstrapper */ + +/*! exports provided: EditCommand */ + +/*! exports provided: EditCropRotateComponent */ + +/*! exports provided: EditImageComponent */ + +/*! exports provided: EditImageMarginsComponent */ + +/*! exports provided: EditImageThumbnailComponent */ + +/*! exports provided: EditInDialogCommand */ + +/*! exports provided: EditItemMenuComponent */ + +/*! exports provided: EditMenuButton */ + +/*! exports provided: EditMenuSection */ + +/*! exports provided: EditNavigationService */ + +/*! exports provided: EditPageTemplateComponent */ + +/*! exports provided: EditableTableComponent */ + +/*! exports provided: EditorGridComponent */ + +/*! exports provided: EditorReadonlyComponent */ + +/*! exports provided: EmbedMediaCommand */ + +/*! exports provided: EmbedMediaContentComponent */ + +/*! exports provided: EmbedMediaParser */ + +/*! exports provided: EmbedMediaParser, IFrameMediaParser, TwitterMediaParser, YoutubeMediaParser, DefaultMediaParser */ + +/*! exports provided: EmbedMediaParser, Media, MediaType */ + +/*! exports provided: EmptyWidgetComponent */ + +/*! exports provided: EndOccurrence, RECURRING_EVENT_KEYS, END_OCURRENCE_KEYS, REPEAT_EVENT_OPTIONS, NEVER_END_OCCURRENCE_NAME, ON_END_OCCURRENCE_ID, ON_END_OCCURRENCE_NAME, ON_END_OCCURRENCE_DATE_FIELD, AFTER_END_OCCURRENCE_ID, AFTER_END_OCCURRENCE_NAME, AFTER_END_OCCURRENCE_FIELD, AFTER_END_OCCURRENCE_DEFAULT_COUNT */ + +/*! exports provided: Entity */ + +/*! exports provided: Entity, DataItem */ + +/*! exports provided: EntityDataResolver, CompositeEntityDataResolver */ + +/*! exports provided: EntitySelector */ + +/*! exports provided: EnumFieldProvider, EnumChoiceSettings, EnumDropdownChoiceSettings, RadioChoiceSettings, ENUM_FIELD_PROVIDER */ + +/*! exports provided: EnvironmentService */ + +/*! exports provided: ErrorFilter */ + +/*! exports provided: ErrorPageBase */ + +/*! exports provided: ErrorStatusComponent */ + +/*! exports provided: ErrorWidgetComponent */ + +/*! exports provided: EventDatesService */ + +/*! exports provided: EventTimeCompositeComponent */ + +/*! exports provided: EventTimeCompositeReadonlyComponent */ + +/*! exports provided: EventTimeGridCellComponent */ + +/*! exports provided: EventsEditExtender, EVENTS_EDIT_EXTENDER */ + +/*! exports provided: EventsFieldChangeService, EVENTS_FIELD_CHANGE_HANDLER */ + +/*! exports provided: EventsGridExtender, EVENTS_GRID_EXTENDER */ + +/*! exports provided: EventsHelper */ + +/*! exports provided: EventsMetadataHandler, EVENTS_METADATA_HANDLER */ + +/*! exports provided: EventsModule */ + +/*! exports provided: EventsTweaksHandler, EVENTS_TWEAKS_HANDLER */ + +/*! exports provided: ExtensionPipe */ + +/*! exports provided: ExtensionPointUtilsService */ + +/*! exports provided: ExternalAppConfigService */ + +/*! exports provided: ExternalOperationsProvider, EXTERNAL_OPERATIONS_PROVIDER */ + +/*! exports provided: ExternalStyleSheetService */ + +/*! exports provided: FIELDS_ACTIONS */ + +/*! exports provided: FIELDS_CHANGE_SERVICE_TOKEN */ + +/*! exports provided: FIELDS_PROVIDER_TOKEN */ + +/*! exports provided: FIELDS_PROVIDER_TOKEN, DefaultFieldsProvider */ + +/*! exports provided: FIELDS_PROVIDER_TOKEN, FieldBase, FieldTypes, SettingsBase */ + +/*! exports provided: FIELDS_SELECTORS */ + +/*! exports provided: FIELD_PERMISSION_READ, FIELD_TYPE, MEDIA_TYPES, CHOICE_TYPES, ADDRESS_TYPES, ENTITY_SET, CHOICE_FIELD_TYPE_LOWERCASE, MULTIPLE_CHOICE_FIELD_TYPE_LOWERCASE, MEDIA_DATA_FIELD_NAME, OVERRIDEN_OPTION_NAMES_FIELD_NAME, KEY_VALUE_OPTIONS, RESTRICTIONS_FOR_RELATED_MEDIA, TWEAKS_METADATA_PROPERTIES, NEWS_NAMESPACE, NEWS_ITEM_FULL_NAME, EVENTS_NAMESPACE, EVENT_ITEM_FULL_NAME, CALENDAR_ITEM_FULL_NAME, PAGES_NAMESPACE, PAGE_ITEM_FULL_NAME, PAGE_TEMPLATE_ITEM_FULL_NAME, LIBRARIES_NAMESPACE, IMAGE_ITEM_FULL_NAME, DOCUMENT_ITEM_FULL_NAME, DOCUMENT_LIBRARY_ITEM_FULL_NAME, VIDEO_ITEM_FULL_NAME, VIDEO_LIBRARY_ITEM_FULL_NAME, ALBUM_ITEM_FULL_NAME, FOLDER_ITEM_FULL_NAME, TAXONOMIES_NAMESPACE, TAXONOMY_ITEM_FULL_NAME, FLAT_TAXON_ITEM_FULL_NAME, HIERACHICAL_TAXON_ITEM_FULL_NAME, BLOGS_NAMESPACE, LISTS_NAMESPACE, LIST_ITEM_FULL_NAME, DYNAMIC_TYPE_NAMESPACE, CONTENT_ITEMS_NAMESPACE, CONTENT_ITEM_FULL_NAME, NON_CONTENT_TYPES */ + +/*! exports provided: FIELD_PROPERTIES_MAPPER, FIELD_VALIDATIONS_MAPPER, FIELD_ERROR_MSG_MAPPER, FIELD_MEDIA_TYPE_MAPPER, Validations, Properties */ + +/*! exports provided: FIELD_SANITIZE_REGEX, FIELD_SANITIZE_REGEX_REPLACECHARACTER, UrlNameSettings */ + +/*! exports provided: FIELD_SANITIZE_REGEX, Properties, FIELD_CLASS_MAPPER, createFieldModel */ + +/*! exports provided: FIELD_TYPE_MAPPER, COMPLEX_FIELD_CLASS_MAPPER, COMPLEX_SECTION_CLASS_MAPPER */ + +/*! exports provided: FILE_PICKER, FILE_SELECT, FilePickerComponent */ + +/*! exports provided: FILE_SELECT, FileTreeComponent */ + +/*! exports provided: FILE_UPLOAD_PROGRESS, FILE_UPLOAD_RETRY_COMMAND */ + +/*! exports provided: FORM_FIELD_VALUE_ACCESSOR, FormFieldWrapperComponent */ + +/*! exports provided: FakeWidgetComponent */ + +/*! exports provided: FeatureComponent */ + +/*! exports provided: FeatureDirective */ + +/*! exports provided: FeatureToggleService */ + +/*! exports provided: FeedbackInfo */ + +/*! exports provided: FieldBase */ + +/*! exports provided: FieldError */ + +/*! exports provided: FieldModel */ + +/*! exports provided: FieldModel, FieldWrapper, FIELDS_CHANGE_SERVICE_TOKEN */ + +/*! exports provided: FieldSectionComponent */ + +/*! exports provided: FieldSectionModel, FIELD_SECTION_NAMES */ + +/*! exports provided: FieldTypes */ + +/*! exports provided: FieldTypes, RenderChoicesAs */ + +/*! exports provided: FieldValidation */ + +/*! exports provided: FieldWrapper */ + +/*! exports provided: FieldsGeneratorService */ + +/*! exports provided: FieldsModule */ + +/*! exports provided: FileDimSizeComponent */ + +/*! exports provided: FileInfoComponent */ + +/*! exports provided: FileInfoService */ + +/*! exports provided: FileLayoutBaseComponent */ + +/*! exports provided: FileListComponent */ + +/*! exports provided: FileListSettings, FILE_LIST_REGISTRY */ + +/*! exports provided: FilePickerViewMode */ + +/*! exports provided: FilePreviewComponent */ + +/*! exports provided: FilePreviewEditComponent */ + +/*! exports provided: FilePreviewEditSettings */ + +/*! exports provided: FileReorderComponent */ + +/*! exports provided: FileSizeComponent */ + +/*! exports provided: FileSizePipe */ + +/*! exports provided: FileUploadComponent */ + +/*! exports provided: FileUploadProgressComponent */ + +/*! exports provided: FilterContentSelectorComponent, FilterContentSelectorSettings, CONTENT_FILTER_SELECTOR_REGISTRY */ + +/*! exports provided: FilterDateRangeComponent */ + +/*! exports provided: FilterFlatTaxaFirstLetterComponent */ + +/*! exports provided: FilterFlatTaxaFirstLetterRenderer */ + +/*! exports provided: FilterNotificationComponent */ + +/*! exports provided: FilterService */ + +/*! exports provided: FilterStore */ + +/*! exports provided: FilterStrategyBase */ + +/*! exports provided: FilterStrategyFactory */ + +/*! exports provided: FocusDirective */ + +/*! exports provided: FrameworkModule */ + +/*! exports provided: FrameworkModule, InputComponent */ + +/*! exports provided: GET_OWNER_OPERATION, ChangeOwnerComponent */ + +/*! exports provided: GRID_EXTENDER_TOKEN, GridExtenderBase */ + +/*! exports provided: GenericContentSelectorStrategy */ + +/*! exports provided: GenericError */ + +/*! exports provided: GridActionMenuComponent */ + +/*! exports provided: GridNavigationComponent */ + +/*! exports provided: GridReloadService */ + +/*! exports provided: GridThumbnailComponent */ + +/*! exports provided: HEADING_STATUS_UPDATE_INTERVAL, HeadingStatusComponent */ + +/*! exports provided: HIDDEN_REGISTRY */ + +/*! exports provided: HIERARCHICAL_SERVICE_TOKEN, TITLE_KEY, PARENT_KEY, ID_KEY, LAST_MODIFIED_KEY, RESULT_COUNT, HierarchicalService */ + +/*! exports provided: HTML_CONSTANTS */ + +/*! exports provided: HTML_REGISTRY */ + +/*! exports provided: HTTP_ODATA_REQUEST_WRAPPER, HttpODataRequestWrapper */ + +/*! exports provided: HTTP_PREFIX */ + +/*! exports provided: HTTP_STATUS_CODES */ + +/*! exports provided: HTTP_WEB_REQUEST_WRAPPER, HttpWebRequestWrapper */ + +/*! exports provided: HYPER_TEXT_TRANSFER_PROTOCOL, MAILTO_PROTOCOL, CreateLinkHelper */ + +/*! exports provided: HiddenComponent */ + +/*! exports provided: HierarchicalDynamicItemService, HIERARCHICAL_DYNAMIC_ITEM_SERVICE */ + +/*! exports provided: HierarchicalLibrariesService, HIERARCHICAL_LIBRARIES_SERVICE */ + +/*! exports provided: HierarchicalTaxonExpandService */ + +/*! exports provided: HierarchicalTaxonomyService, HIERARCHICAL_TAXONOMY_SERVICE */ + +/*! exports provided: HomeComponent */ + +/*! exports provided: HomeGuard */ + +/*! exports provided: HomeNavigationComponent */ + +/*! exports provided: HtmlElementAttachMode */ + +/*! exports provided: HtmlEscapePipe */ + +/*! exports provided: HtmlModule */ + +/*! exports provided: HtmlReadModeComponent */ + +/*! exports provided: HtmlSettings */ + +/*! exports provided: HtmlSettings, HtmlComponent, HTML_COMPONENTS */ + +/*! exports provided: HtmlWrapperComponent */ + +/*! exports provided: HttpDataResponseUtils */ + +/*! exports provided: IFrameMediaParser */ + +/*! exports provided: INITIAL_VIDEO_ROWS, INITIAL_IMAGE_ROWS, MediaComponent */ + +/*! exports provided: INSIGHT, INSIGHT_ROUTES, INSIGHT_REQUEST_HEADERS, DEFAULT_INSIGHT_ADMIN_BACKEND_PAGE_URL */ + +/*! exports provided: INSIGHTS_COLUMNS_PROVIDER */ + +/*! exports provided: INTEGRATED_MODE_ENABLED, USER_PREFERENCES_EVENT, KEYBOARD_SHORTCUTS_EVENT, AdminAppManagementComponent, MINIMUM_LOADING_TIME, REST_API_ENDPOINT, REINVENTION_SERVICE_ENDPOINT, TOGGLE_INTERFACE_PATH, BACKEND_STATUS_PATH, LOG_WEB_CLIENT_ERROR_PATH */ + +/*! exports provided: INT_NUMBER_REGEX, DECIMAL_NUMBER_REGEX, NumberSettings */ + +/*! exports provided: INVALID_EVENT_END_DATE, EventsDateTimeValidator */ + +/*! exports provided: INVALID_URL, WebAddressComponent, WebAddresModel */ + +/*! exports provided: IS_HTML_PROPERTY, CompositeFieldsProvider */ + +/*! exports provided: ITEMS_WITH_ASSIGNED_TAXONS_LIST_FIELD_NAME, AssignTaxonsComponent */ + +/*! exports provided: ITEM_HOOKS_PROVIDER_TOKEN */ + +/*! exports provided: ITEM_HOOKS_PROVIDER_TOKEN, CompositeItemHooksProvider */ + +/*! exports provided: ITEM_NOT_FOUND_MSG, DEFAULT_TAKE, DynamicItemService, Order, ItemPosition */ + +/*! exports provided: ImageComponent */ + +/*! exports provided: ImageData */ + +/*! exports provided: ImageHandler, IMAGE_HANDLER */ + +/*! exports provided: ImagesTaskNotificationBuilder, IMAGES_NOTIFICATION_BUILDER */ + +/*! exports provided: ImmutableEditMenuComponent, EditMenuButton, EditMenuTextButton, EditMenuSection */ + +/*! exports provided: InfiniteScrollerOnElementDirective */ + +/*! exports provided: InputComponent */ + +/*! exports provided: InsecureConnectionNoticeComponent */ + +/*! exports provided: InsertBodyComponent */ + +/*! exports provided: InsightCellComponent */ + +/*! exports provided: InsightConnectivityModule */ + +/*! exports provided: InsightLostConnectionComponent */ + +/*! exports provided: IntegratedEmptyComponent */ + +/*! exports provided: IntegratedEmptyComponentGuard */ + +/*! exports provided: IsoWeekDatesPipe */ + +/*! exports provided: ItemListComponent, ITEM_LIST_REGISTRY */ + +/*! exports provided: ItemListSettings */ + +/*! exports provided: ItemMetaResolver, itemMetaSegment */ + +/*! exports provided: KENDO_TRAILING_BREAK, ensureTrailingBreaks, removeTrailingBreaks, isImageHyperlink, isImageImmutableSelected, isEmbedImmutableSelected */ + +/*! exports provided: KEYS */ + +/*! exports provided: KeyboardShortcutsComponent */ + +/*! exports provided: KeyboardShortcutsService */ + +/*! exports provided: LANGUAGE_BADGE_EDIT_LOOK, COMPARE_TRANSLATIONS_LABEL, LanguagesDropdownComponent */ + +/*! exports provided: LAST_UPLOADED_ON, DateAndUserComponent */ + +/*! exports provided: LIBRARIES_NAVIGATION_SIDEBAR, LibrariresNavigationSidebarHelpers */ + +/*! exports provided: LIBRARY, LIBRARIES, MediaMetadataHandler, MEDIA_METADATA_HANDLER */ + +/*! exports provided: LINK_TO_FIELD_REGISTRY */ + +/*! exports provided: LIST_LOOK_CENTER_VERTICAL, ListComponent */ + +/*! exports provided: LOAD_EVENT, ContextualHelpModule */ + +/*! exports provided: LOAD_MORE_SEARCH_TOOLTIP_LOCALSTORAGE_KEY, LoadMoreSearchComponent */ + +/*! exports provided: LOCALE, SITEFINITY_NAMESPACE, FIELD_VALIDATION_PREFIX, VALIDATION_MAX_VALUE, VALIDATION_MIN_VALUE, VALIDATION_ALLOWMULTIPLE, VALIDATION_REQUIRED, VALIDATION_DECIMAL_PLACES, VALIDATION_REGEX, VALIDATION_UNIT, VALIDATION_CUSTOM_MSGS, RECOMMENDED_CHARACTERS, DEFAULT_FIELD, RELATE_DATA_PROVIDER, ALLOWED_FILE_EXTENSIONS, MAXIMUM_ALLOWED_SIZE, INSTRUCTIONAL_TEXT, FIELD_TOOLTIP, SHOW_IF_FIELD, VALIDATE_IF_FIELD, FIELD_DESCRIPTION, LOCALIZABLE_FIELD, READ_ONLY_FIELD, FIELD_FRIENDLY_NAME, FIELD_TITLE, FIELD_HIDDEN, DEFAULT_PROPERTY_VALUE, FIELD_PERMISSION_PROP_NAME, IMMUTABLE_FIELD, ACCEPTABLE_MEDIA_TYPES */ + +/*! exports provided: LOCALIZATION_STRATEGY_COMPONENT_REGISTRY */ + +/*! exports provided: LOCAL_STORAGE, SITEFINITY_PREFIX, LIBRARIES_GRID_VIEW_KEY, StorageService, SF_LOGIN_ATTEMPTS */ + +/*! exports provided: LOGGER_SOURCE_PROVIDERS, loggerFactory */ + +/*! exports provided: LanguageSelector */ + +/*! exports provided: LetterMarkComponent */ + +/*! exports provided: LetterMarkStore */ + +/*! exports provided: LibrariesModule */ + +/*! exports provided: LibrariesNavigationSidebarComponent */ + +/*! exports provided: LibrariesOperationsFilter, LIBRARIES_OPERATION_FILTER */ + +/*! exports provided: LibraryPreviewComponent */ + +/*! exports provided: LibrarySelectComponent */ + +/*! exports provided: LibraryTasksBaseCommand */ + +/*! exports provided: LibraryTreeComponent */ + +/*! exports provided: LinkInputType */ + +/*! exports provided: LinkInsertFieldComponent */ + +/*! exports provided: LinkInsertFieldValidator */ + +/*! exports provided: LinkInsertSelectorComponent */ + +/*! exports provided: LinkToFieldSettings */ + +/*! exports provided: ListChildrenCountComponent */ + +/*! exports provided: ListColumnDirective */ + +/*! exports provided: ListDetailComponent */ + +/*! exports provided: ListFieldMappingsBase, FieldMappingsSettings, FieldInfo */ + +/*! exports provided: ListFieldMappingsComponent, LIST_FIELD_MAPPINGS_REGISTRY */ + +/*! exports provided: ListFieldMappingsCssComponent, FieldMappingsCssSettings, LIST_FIELD_MAPPINGS_CSS_REGISTRY */ + +/*! exports provided: ListIndexComponent */ + +/*! exports provided: ListIndexContract, LIST_INDEX_DETAILS_MODES */ + +/*! exports provided: ListIndexContractProvider */ + +/*! exports provided: ListItemSettingsSidebarComponent */ + +/*! exports provided: ListSettingsComponent, LIST_SETTINGS_REGISTRY */ + +/*! exports provided: LoadMoreComponent */ + +/*! exports provided: LocalizationStrategyProp, LocalizationStrategyComponent */ + +/*! exports provided: LocalizationStrategySettings */ + +/*! exports provided: LocalizedNumDirective */ + +/*! exports provided: LockedItemError */ + +/*! exports provided: LockedItemStatusResolver */ + +/*! exports provided: Logger */ + +/*! exports provided: LoggerSource, LogCategory */ + +/*! exports provided: LowerFirstLetterPipe */ + +/*! exports provided: MAP_MODE_PATH, ADDRESS_FIELDS, AddressFieldMode */ + +/*! exports provided: MARGIN_PROPERTIES, MARGIN_VALUE_UNIT, KENDO_ALIGN_COMMANDS, handleKendoAlignCommand, transferKendoAlignInlineStyles, setInlineStyles, getInlineStyles */ + +/*! exports provided: MAX_ITEMS_COUNT, ListChildrenItemsComponent */ + +/*! exports provided: MEDIA_ACTIONS */ + +/*! exports provided: MEDIA_CONTENT_TYPES */ + +/*! exports provided: MEDIA_FORM_CLASS, LIBRARY_SET_NAMES, LIBRARY_TYPE_FULL_NAMES, MIME_TYPES, MEDIA_PROPERTIES, MediaHelpers, CreateLibraryFromFileUploadClickEvent, DEFAULT_ICON_LOOK, EXTENSIONS_ICON_LOOK */ + +/*! exports provided: MEDIA_LOADING_ITEMS_DEFAULT_COUNT, LibraryStore */ + +/*! exports provided: MEDIA_REGISTRY, EDIT_IMAGE_THUMBNAIL_REGISTRY, THUMBNAIL_SELECTOR_REGISTRY, MEDIA_FIELD_REGISTRY, EDIT_IMAGE_MARGINS_REGISTRY */ + +/*! exports provided: MEDIA_SELECTORS */ + +/*! exports provided: MESSAGES */ + +/*! exports provided: MINIMUM_LOADER_TIME, LoaderWrapperComponent */ + +/*! exports provided: MIN_LENGTH_VALIDATOR_NAME, MinLengthValidator */ + +/*! exports provided: MIRROR_FIELD_SETTING_KIND, ShortTextSettings, isMirrorFieldSettings, ShortTextDefaultSettings */ + +/*! exports provided: MOBILE_PREVIEW_ACTIONS */ + +/*! exports provided: MOBILE_PREVIEW_INITIAL_WIDTH, mobileInitialPreviewState */ + +/*! exports provided: MOBILE_PREVIEW_SELECTORS */ + +/*! exports provided: MONACO_CUSTOM_THEME_NAME, MONACO_CUSTOM_THEME, MONACO_FORMAT_OPTIONS, MONACO_SETTINGS */ + +/*! exports provided: MOVE_ALL_TO_RECYCLE_BIN, MOVE_TO_RECYCLE_BIN, PERMANENT_DELETE_PARAM_NAME, DELETE_ALLOWED_PARAM_NAME, UNDO_DELETE_NOTIFICATION_DURATION, DeleteCommand */ + +/*! exports provided: MOVE_ALL_TO_RECYCLE_BIN, MOVE_TO_RECYCLE_BIN, UNDO_DELETE_NOTIFICATION_DURATION, ScheduleCommand */ + +/*! exports provided: MULTILINE_EMAILS_NAME, MultilineEmailsValidator */ + +/*! exports provided: MainFieldComponent */ + +/*! exports provided: MarketingCellComponent */ + +/*! exports provided: Media, MediaType */ + +/*! exports provided: MediaBulkCommandExtender, MEDIA_BULK_COMMAND_EXTENDER */ + +/*! exports provided: MediaContentSelectorStrategy */ + +/*! exports provided: MediaDataExtender, MEDIA_DATA_EXTENDER */ + +/*! exports provided: MediaDataFactory */ + +/*! exports provided: MediaDeleteCommandExtender, MEDIA_DELETE_COMMAND_EXTENDER */ + +/*! exports provided: MediaEditExtender, MEDIA_EDIT_EXTENDER */ + +/*! exports provided: MediaEditInDialogCommand */ + +/*! exports provided: MediaEntityDataResolver, MEDIA_ENTITY_DATA_PROVIDER */ + +/*! exports provided: MediaFieldsChangeService, MEDIA_FIELD_CHANGE_HANDLER */ + +/*! exports provided: MediaFieldsProvider, MEDIA_FIELDS_PROVIDER */ + +/*! exports provided: MediaGridComponent */ + +/*! exports provided: MediaGridExtender, MEDIA_GRID_EXTENDER */ + +/*! exports provided: MediaHandler, MEDIA_HANDLER */ + +/*! exports provided: MediaQueryParamsExtender, MEDIA_QUERY_PARAMS_EXTENDER */ + +/*! exports provided: MediaReadonlyComponent */ + +/*! exports provided: MediaRecognizerService, MediaTypes */ + +/*! exports provided: MediaReorderDropComponent */ + +/*! exports provided: MediaService */ + +/*! exports provided: MediaSettings */ + +/*! exports provided: MediaStatusResolver */ + +/*! exports provided: MediaType, Media */ + +/*! exports provided: MediaValidationHelper */ + +/*! exports provided: MergeTaxonCommand */ + +/*! exports provided: MergeTaxonComponent */ + +/*! exports provided: MetadataHandler */ + +/*! exports provided: MetadataStoreResolver */ + +/*! exports provided: MirrorService */ + +/*! exports provided: MobilePreviewCommand */ + +/*! exports provided: MobilePreviewComponent */ + +/*! exports provided: MobilePreviewEffects */ + +/*! exports provided: MobilePreviewResizerComponent */ + +/*! exports provided: ModalConfirmationComponent */ + +/*! exports provided: ModalListComponent */ + +/*! exports provided: ModalMainFormSize */ + +/*! exports provided: ModalSelectorComponent */ + +/*! exports provided: MoveCommand */ + +/*! exports provided: MoveTaxonCommand */ + +/*! exports provided: MoveTaxonComponent */ + +/*! exports provided: MoveToLibraryCommand */ + +/*! exports provided: MultiValueTextFieldComponent */ + +/*! exports provided: MultipleChoiceChipComponent, MULTIPLE_CHOICE_CHIP_REGISTRY */ + +/*! exports provided: NAVIGATION_OPTIONS_COMPOSITE_COMPONENT_REGISTRY */ + +/*! exports provided: NAVIGATION_OPTIONS_PROPERTIES, PAGE_COMPUTED_PROPERTIES, PAGE_TYPE_OPTIONS, NavigationOptionsCompositeComponent */ + +/*! exports provided: NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_TEXT, ATTR_PREFIX, ATTR_PREFIX_IS, ATTR_COMPONENT_ID, ATTR_COMPONENT_NAME, ATTR_COMPONENT_TITLE, ATTR_IS_EMPTY, ATTR_ORPHANS, ATTR_IS_ORPHANED, ATTR_ERROR, ATTR_IS_CONTENT, ATTR_CONTAINER, ATTR_DRAGGED_ELEMENT_ID, ATTR_EMPTY_LINK, ATTR_EMPTY_LINK_ACTION, ATTR_PLACEHOLDER_LABEL, ATTR_EMPTY_ICON_TEXT, ATTR_EMPTY_ICON, ATTR_DRAGGABLE, CLASS_EMPTY, CLASS_ORPHANED, CLASS_DRAG_OVER, CLASS_HIDDEN, CLASS_INLINE_BLOCK, CLASS_NO_CONTENT, CLASS_ZONE_UI, CLASS_ZONE_WIDGET, CLASS_CONTENT_WIDGET, CLASS_ZONE_TOOLBAR, CLASS_ZONE_QUICKEDIT, CLASS_ZONE_LABEL, CLASS_HOVERED_WIDGET, CLASS_FOCUSED_WIDGET, CLASS_PERSONALIZED_WIDGET_LOOK, CLASS_EDITOR_COLUMN, CLASS_STATIC_CONTAINER, NODE_NAME_ADD_WIDGET, NODE_NAME_FAKE_WIDGET, NODE_NAME_WIDGET_LABEL, NODE_NAME_EMPTY_WIDGET, NODE_NAME_INLINE_TOOLBAR, NODE_NAME_ERROR_WIDGET, NODE_NAME_BODY, NODE_NAME_HTML, EMPTY_WIDGET_ACTION */ + +/*! exports provided: NOTIFICATION_LOOK_SUCCESS, NOTIFICATION_LOOK_ERROR, NOTIFICATION_LOOK_WARNING */ + +/*! exports provided: NOTIFICATION_LOOK_SUCCESS, NOTIFICATION_LOOK_ERROR, NOTIFICATION_LOOK_WARNING, NOTIFICATION_LOOKS, NOTIFICATION_FILTER_EMPTY, NOTIFICATION_FILTER_ALL, NOTIFICAITON_LOOK_MAP */ + +/*! exports provided: NOTIFICATION_SERVICE, NotificationService */ + +/*! exports provided: NOT_FOUND_MESSAGE, NO_PRVIEW_MESSAGE, MediaBaseComponent */ + +/*! exports provided: NO_PREVIEW_URL, NoPreviewComponent */ + +/*! exports provided: NUMBER_COMPONENTS, NUMBER_REGISTRY */ + +/*! exports provided: Named */ + +/*! exports provided: NavigateCommand */ + +/*! exports provided: NavigateToMenuSectionCommand */ + +/*! exports provided: NavigationMenuComponent, NavbarModes, LeftNavbarButtonMode */ + +/*! exports provided: NavigationOperationsProvider, NAVIGATION_PROVIDER */ + +/*! exports provided: NgProvidersModule */ + +/*! exports provided: NoAuthTokenProvider, NO_AUTH_PROVIDER */ + +/*! exports provided: NoItemsFoundComponent */ + +/*! exports provided: NotFoundComponent */ + +/*! exports provided: NotFoundError */ + +/*! exports provided: NotShareableComponent */ + +/*! exports provided: NotificationInfo */ + +/*! exports provided: NotificationInfo, NotificationService, NOTIFICATION_SERVICE, NOTIFICATION_LOOK_SUCCESS, NOTIFICATION_LOOK_ERROR, NOTIFICATION_LOOK_WARNING */ + +/*! exports provided: NotificationLoaderComponent */ + +/*! exports provided: NotificationService, NOTIFICATION_SERVICE */ + +/*! exports provided: NumberComponent */ + +/*! exports provided: NumberFieldProvider, WidgetNumberSettings, NUMBER_FIELD_PROVIDER */ + +/*! exports provided: NumberReadOnlyComponent */ + +/*! exports provided: ON_RELOAD_CONTENT_FILTER_EVENT_NAME, ContentFilterComponent */ + +/*! exports provided: OPERATIONS_FILTER_TOKEN */ + +/*! exports provided: OPERATIONS_TOKEN, CompositeOperationsProvider */ + +/*! exports provided: OUTSIDE_MENU_MAX_ORDINAL, DELETE_BUTTON_LOOK, ACTION_BUTTON_LOOK, PREVIEW_BUTTON_LOOK, EDIT_SECTION_TITLE, EDIT_ICON, QUICK_EDIT, PERSONALIZE_WIDGETS, SVG_ICON_NAME, DELETE_ICON, DELETE_BTN, PERSONALIZATION_ICON, PERSONALIZATION_ICON_LOOK, UNTITLED_SECTION, ActionButtonsResolver */ + +/*! exports provided: OauthProvider, OAUTH_PROVIDER, OAuthToken */ + +/*! exports provided: OauthSignInRedirectComponent */ + +/*! exports provided: OidcProvider, OIDC_PROVIDER */ + +/*! exports provided: OpenLinkCommand */ + +/*! exports provided: Operation, Order */ + +/*! exports provided: OperationActionType, OPERATION_CATEGORIES, OPERATION_NAMES, OPERATION_TITLES, OPERATION_PARAMETERS, CONTEXT_PARAMETERS */ + +/*! exports provided: OperationCommand */ + +/*! exports provided: OperationFailedError */ + +/*! exports provided: OperationsData, OperationsTarget */ + +/*! exports provided: PAGE, PAGES, HierarchicalPagesService, HIERARCHICAL_PAGES_SERVICE */ + +/*! exports provided: PAGES_ROUTES, TEMPLATES_ROUTES */ + +/*! exports provided: PARENTS_DROPDOWN_REGISTRY */ + +/*! exports provided: PARENT_SELECTOR_COMPONENT, PARENT_SELECTOR_REGISTRY */ + +/*! exports provided: PROGRESS_TASK_HTML_ELEMENT_HEIGHT, LONG_RUNNING_TASK_CREATED, LongRunningProgressComponent */ + +/*! exports provided: PROVIDER_TAB_CSS_CLASS, ProviderTabSelectorComponent */ + +/*! exports provided: PageService */ + +/*! exports provided: PageTempalteThumbnailComponent, PAGE_TEMPLATE_THUMBNAIL_REGISTRY */ + +/*! exports provided: PageTempaltesEditExtender, PAGE_TEMPLATES_EDIT_EXTENDER */ + +/*! exports provided: PageViewComponent */ + +/*! exports provided: PagesActionHandler */ + +/*! exports provided: PagesEditExtender, PAGES_EDIT_EXTENDER */ + +/*! exports provided: PagesFieldsChangeService, PAGES_FIELD_CHANGE_HANDLER */ + +/*! exports provided: PagesGridExtender, PAGES_GRID_EXTENDER */ + +/*! exports provided: PagesMetadataHandler, PAGES_METADATA_HANDLER */ + +/*! exports provided: PagesModule */ + +/*! exports provided: PagesOperationsFilter, PAGES_OPERATION_FILTER */ + +/*! exports provided: PagesTweaksHandler, PAGES_TWEAKS_HANDLER */ + +/*! exports provided: ParameterizedChoiceSelectorComponent, PARAMETERIZED_CHOICE_SELECTOR_REGISTRY */ + +/*! exports provided: ParameterizedChoiceSelectorSettings */ + +/*! exports provided: ParentHasChildrenError */ + +/*! exports provided: ParentNavigateCommand */ + +/*! exports provided: ParentOperationsFilter, PARENT_OPERATION_FILTER */ + +/*! exports provided: ParentSelectorModule */ + +/*! exports provided: ParentSelectorReadonlyComponent */ + +/*! exports provided: ParentSelectorSettings */ + +/*! exports provided: ParentService */ + +/*! exports provided: PasswordShortTextSettings */ + +/*! exports provided: PersonalizationDropdownComponent */ + +/*! exports provided: PersonalizedCellComponent */ + +/*! exports provided: PipesModule */ + +/*! exports provided: PlayVideoCommand */ + +/*! exports provided: PopupComponent */ + +/*! exports provided: PropertyEditorConstants, PropertyEditorOperations, PropertyEditorViewModes, CONTENT_BLOCK_OPERATIONS_VIEW_MODES, PropertyEditorCustomEvents, PropertyEditorWidgets, FieldConstants */ + +/*! exports provided: PropertyValueParserService */ + +/*! exports provided: ProviderRouteGuard */ + +/*! exports provided: ProviderSelector */ + +/*! exports provided: ProviderSelectorBaseComponent */ + +/*! exports provided: ProviderSelectorComponent */ + +/*! exports provided: ProviderSelectorItem */ + +/*! exports provided: ProviderService */ + +/*! exports provided: ProviderStore */ + +/*! exports provided: QUERY_PARAMS_EXTENDER_TOKEN, QueryParamsExtender, getAdditionalQueryParams */ + +/*! exports provided: QuickNavigationSidebarComponent */ + +/*! exports provided: RECENT_ITEMS_COUNT, RelatedDataComponent */ + +/*! exports provided: RECURRING_EVENTS_COMPONENTS, RECURRING_EVENT_REGISTRY */ + +/*! exports provided: RELATED_DATA_REGISTRY */ + +/*! exports provided: RENDERER_CATEGORIES */ + +/*! exports provided: ROOT_PREFIX, ROUTE_PATHS_NO_PREFIX, ROUTE_PATHS */ + +/*! exports provided: ROTATION_DEGREE, CropService */ + +/*! exports provided: ROUTE_PARAMS, ACTIONS, FILTER_PARAMS, FILTER_TYPES, QUERY_PARAMS, SORT_ORDER, DEFAULT_STORAGE_PROVIDERS, LONG_TASKS_STATUS, RESOLVE_NAMES, SIDEBAR_ROUTES, SIDEBAR_COMMANDS, CHARACTERS, HTTP_PROTOCOL_REGEX, HTTPS_PROTOCOL_REGEX, VIEW_NAME, LOADING_TIME, BLUR_EFFECT_TIMEOUT, DEBOUNCE_TIME, DEFAULT_CHILDREN_LOAD, NOTIFICATION_DURATION_DEFAULT, NOTIFICATION_DURATION_INFINITE, CSS_VARIABLES, BUTTON_POSSITIONS, CSS_SELECTORS, CSS_CLASSES, UNSAVED_CHANGES_MESSAGE, COMPONENT_NAMES, BULK_ITEMS_LIMIT, ITEM_EDIT_NOTIFICATION_FILTER_STATIC, ATTR_NAME, SERVICE_HOOK_ACTIVITY_STATUS */ + +/*! exports provided: ReadComponent */ + +/*! exports provided: RecurrenceMonth, DayOfWeek, RecurrenceDay, RecurrenceFrequency, EndRecurrenceType */ + +/*! exports provided: RecurrentRuleService */ + +/*! exports provided: RecurringEventSettings */ + +/*! exports provided: RegenerateThumbnailsCommand */ + +/*! exports provided: RegexHelper, runInNgZone, getFormattedTypeName, indefiniteArticle, assignMatchingProperties, getPastTense, pluralize, capitalizeFirstLetter, addPrefix, isFileTypeAllowed, filename, isNullOrEmpty, trimStart, cloneObject, cloneInstance, addDaysToDate, convertDateToIsoDateTime, extractSafeUrl, validateExtensionsVersusSitefinityVersions, getExtensionFromFileName, deepClone, deepFreeze, toKebabCase, convertHourMinuteSecStringToSeconds, convertSecondsToHourMinuteSecString, getCssVariableValue, getCssVariableValueAsNumber, copyTextToClipboard, INTEGRATED_IRIS_CLASS, toggleIrisIntegratedStyles, hideSitefinityContent, showSitefinityContent, compareOperationArrays, getGridViewMode, GridViewModes, createFileWithBase64, hasValue, flatDeep, filterDuplicates, isElementVisible, dispatchKeydownEvent, unifyMocksDomain, guid */ + +/*! exports provided: RelatedDataGridComponent */ + +/*! exports provided: RelatedDataReadonlyComponent */ + +/*! exports provided: RelatedDataSettings */ + +/*! exports provided: RelativeDatePipe */ + +/*! exports provided: RemoveComponent */ + +/*! exports provided: RendererService */ + +/*! exports provided: ReorderCommand */ + +/*! exports provided: ReorderComponent */ + +/*! exports provided: ReorderModuleChildrenProvider */ + +/*! exports provided: ReorderableThumbsComponent */ + +/*! exports provided: ResizeDirective */ + +/*! exports provided: RespondToVisibility */ + +/*! exports provided: ResponseError */ + +/*! exports provided: RestoreCommand */ + +/*! exports provided: RunAgainCommand */ + +/*! exports provided: RxBaseComponent */ + +/*! exports provided: SAFE_INTEGER_VALIDATOR_NAME, MaxInteger */ + +/*! exports provided: SCHEDULED, AWAITING_APPROVAL, AWAITING_PUBLISHING, PUBLISHED, UNPUBLISHED, DRAFT, REJECTED, REJECTED_FOR_PUBLISHING, NEWER_THAN_PUBLISHED, FOR_TRANSLATION_STATUS_NAME, DELETED, StatusResolverBase */ + +/*! exports provided: SCHEDULE_VALIDATOR_NAME, MISSING_PUB_UNPUB_VALUES, INVALID_EXPIRATION_DATE, ScheduleValidator */ + +/*! exports provided: SCROLL_TO_BOTTOM_OFFSET, REPORT_SCROLL_TIME, SCROLL_EVENT, InfiniteScrollerDirective */ + +/*! exports provided: SEARCH_SITE_COMPOSITE_COMPONENT_REGISTRY */ + +/*! exports provided: SEARCH_SITE_PROPERTIES, SearchSiteCompositeComponent */ + +/*! exports provided: SECTIONS_KEY, EditableFieldsComponent */ + +/*! exports provided: SELECTOR_SERVICE, BUTTON_PRIMARY_CATEGORY, BUTTON_CANCEL_CATEGORY, BUTTON_DELETE_CATEGORY, BUTTON_CATOGORY_OPTIONS, SelectorService */ + +/*! exports provided: SERVICE_HOOKS_HISTORY_DAYS_COUNT, ServiceHookHistoryContract */ + +/*! exports provided: SF_COUNTRIES_ENDPOINT, CountryProvider */ + +/*! exports provided: SF_IAMGE_UPLOAD_FAILED, ImageHelper, ALTERNATIVE_TEXT_KEY, IMAGE_THUMBNAIL_TEXT_KEY, IMAGE_MARGINS_KEY, SIZE_ATTRIBUTE, CUSTOM_THUMBNAIL_KEY, CUSTOM_THUMBNAIL_ATTRIBUTE, CONSTRAIN_PROPORTIONS_ATTRIBUTE, ORIGINAL_IMAGE_KEY, WIDTH_FIELD_NAME, HEIGHT_FIELD_NAME, PIXELS_NAME, CUSTOM_SIZE_CHOICE_NAME, MARGIN_TOP_NAME, MARGIN_RIGHT_NAME, MARGIN_BOTTOM_NAME, MARGIN_LEFT_NAME */ + +/*! exports provided: SHARED_NOTIFICATION, ContentBlocksNotificationComponent */ + +/*! exports provided: SHORT_TEXT_COMPONENTS, SHORT_TEXT_REGISTRY, SHORT_TEXT_PASSWORD_REGISTRY, SHORT_TEXT_DEFAULT_REGISTRY, SHORT_TEXT_CONSTANTS */ + +/*! exports provided: SHORT_TEXT_COMPONENTS, SHORT_TEXT_REGISTRY, SHORT_TEXT_PASSWORD_REGISTRY, SHORT_TEXT_DEFAULT_REGISTRY, SHORT_TEXT_CONSTANTS, TABLE_WIZARD_TITLE, EXPAND_BUTTON_TEXT, COLLAPSE_BUTTON_TEXT, EDITOR_COLLAPSE_HEIGHT, EDITOR_MAIN_EMPTY_HEIGHT, EDITOR_EMPTY_HEIGHT, EDITOR_COLLAPSE_OFFSET_HEIGHT, EDITOR_COLLAPSE_ANIMATION_SPEED, KENDO_EDITOR_LOAD_TIME, EditorComponent, HtmlHelper, ToolBarItem, EDITOR_CONFIG_TOKEN, CompositeEditorConfigProvider, createValueAccessor, FieldBase, FieldsModule, DEFAULT_DATA_FIELDS, REMOVE_ANIMATION_CLASS_TIMEOUT, JUST_ADDED_PROPERTY, TreeComponent, TreeNodeModel, COMMON_COMPONENTS */ + +/*! exports provided: SHORT_TEXT_PLACEHOLDER, SHORT_TEXT_UNIT, SHORT_TEXT_UNIT_LOOK, SHORT_TEXT_UNIT_POSITION */ + +/*! exports provided: SHOW_BUTTONS, SHOW_HEADING_BUTTONS, SHOW_CLOSE_BUTTON, MODAL_WINDOW_NOTIFICATION_FILTER, ModalWindowComponent */ + +/*! exports provided: SIDEBAR_CSS_CLASS, SidebarHostComponent */ + +/*! exports provided: SIDEBAR_KEY, SidebarComponentRepo */ + +/*! exports provided: SIDEBAR_SELECTORS */ + +/*! exports provided: SINGLE_OPERATIONS_LABEL, BULK_OPERATIONS_LABEL, BULK_ITEM_SELECTION_INFO_INITIAL_VALUE, TRANSLATIONS_LOCAL_STORAGE_KEY, BulkOperationsComponent */ + +/*! exports provided: SITEFINITY_MODAL_DIALOG_OPENED_EVENT, SITEFINITY_MODAL_DIALOG_CLOSED_EVENT, MAC_OS_NAME, KEYBOARD_CONTROL_KEY_CODES, KEYBOARD_KEY_CODES, KeyboardActionType, DEFAULT_SHORTCUTS */ + +/*! exports provided: SITE_AND_LANG_SELECTOR_COMPONENT_REGISTRY */ + +/*! exports provided: SORT_DROPDOWN_NAME, DROPDOWN_LOOK, LANGUAGE_DROPDOWN_NAME, LANGUAGES_DOPDOWN_TITLE, CUSTOM_SORTING_OPTION_NAME, ListItemFilterSidebarComponent */ + +/*! exports provided: SORT_KEY, FILTER_KEY, DEFAULT_EMPTY_SCREEN_ICON, EMPTY_SCREEN_ICONS */ + +/*! exports provided: STATIC_NAVIGATION_TEMPLATES, CONTENT_PRESETS, NAVIGATION_TEMPLATE_NAME, CONTENT_LIST_TEMPLATE_NAME, WidgetPreviewComponent */ + +/*! exports provided: STATUS_CSS_CLASS, TOGGLE_CSS_CLASS, THUMBNAIL_CSS_CLASS, TITLE_CSS_CLASS, ColInitializer, GroupingColInitializer, ClickableColInitializer, MainColInitializer, TemplatesMainInitializer, TaxaMainInitializer, MediaMainInitializer, DateAndUserInitializer */ + +/*! exports provided: STICKY_MIN_SCROLL_VALUE, StickyDirective */ + +/*! exports provided: STORE_MODULES */ + +/*! exports provided: SUCCESSFUL_NOTIFFICATION_TIME, BULK_BATCH_COUNT, BulkCommand */ + +/*! exports provided: SWITCH_REGISTRY */ + +/*! exports provided: SanitizeService */ + +/*! exports provided: SanitizerPipe */ + +/*! exports provided: SaveAsHomePageCommand */ + +/*! exports provided: ScrollService */ + +/*! exports provided: SearchNotificationComponent */ + +/*! exports provided: SectionEditorViewProvider, SECTION_WIDGET_VIEW_TOKEN */ + +/*! exports provided: SelectedFileListComponent */ + +/*! exports provided: SelectorBase */ + +/*! exports provided: SelectorBaseCommand */ + +/*! exports provided: SelectorConstants, BUTTON_NAMES, BUTTON_TOOLTIPS, NODE_NAMES, TAG_NAMES, LINK_CONSTANTS, ANCHOR_ATTRIBUTES, TWEET_URL_NAME, PLACEHOLDER_MESSAGE, NOT_SUPPORTED_MESSAGE, TWEET_URL_ATTRIBUTE_NAME, TWEET_BLOCKQUOTE_SELECTOR, TWITTER_WIGDET_SELECTOR */ + +/*! exports provided: SelectorContext */ + +/*! exports provided: SelectorItem */ + +/*! exports provided: SelectorService, SELECTOR_SERVICE, BUTTON_PRIMARY_CATEGORY, BUTTON_CANCEL_CATEGORY, BUTTON_DELETE_CATEGORY */ + +/*! exports provided: ServiceHooksContract */ + +/*! exports provided: SettingsBase */ + +/*! exports provided: SfElementFactory */ + +/*! exports provided: SfElementsModule */ + +/*! exports provided: SfInterceptor, SF_HTTP_INTERCEPTOR, HTTP_PREFIX */ + +/*! exports provided: SfLink */ + +/*! exports provided: ShareComponent */ + +/*! exports provided: SharePreviewLinkComponent */ + +/*! exports provided: ShareWithCommand */ + +/*! exports provided: SharedInComponent */ + +/*! exports provided: SharedModule */ + +/*! exports provided: ShortTextComponent */ + +/*! exports provided: ShortTextDefaultComponent */ + +/*! exports provided: ShortTextGridComponent */ + +/*! exports provided: SidebarClearAllDataAction, __SidebarChangeInternalAction__, __SidebarConfigInternalAction__, SIDEBAR_ACTIONS, SIDEBAR_DISPATCH_ACTION */ + +/*! exports provided: SidebarEffects */ + +/*! exports provided: SignInRedirectComponent */ + +/*! exports provided: SignOutRedirectComponent */ + +/*! exports provided: SimpleChipComponent */ + +/*! exports provided: SimpleMediaComponent */ + +/*! exports provided: SinglePropertyContainsStrategy */ + +/*! exports provided: SinglePropertyStrategy */ + +/*! exports provided: SiteDataStoreResolver */ + +/*! exports provided: SiteSelector */ + +/*! exports provided: SiteSelectorItem */ + +/*! exports provided: SiteSyncCommand */ + +/*! exports provided: SiteSyncItemInfoComponent, SiteSyncSettings, SITE_SYNC_FIELDREGISTRATION */ + +/*! exports provided: SiteSyncNotificationComponent, OperationStatus */ + +/*! exports provided: SiteTitleDynamicResolver */ + +/*! exports provided: SiteTitleResolver */ + +/*! exports provided: SitefinityBaseUrl */ + +/*! exports provided: SitefinityComponentsModule */ + +/*! exports provided: SitefinityExtensionStore */ + +/*! exports provided: SitefinityInsightHttpRequester */ + +/*! exports provided: SitefinityInsightMenuCommand */ + +/*! exports provided: SitefinityInsightTouchpointRequesterService */ + +/*! exports provided: SitefinityRequesterService */ + +/*! exports provided: SitefinitySdk, SdkMock */ + +/*! exports provided: SliderDirection, SidebarSliderInitialized, SidebarSliderComponent */ + +/*! exports provided: SortersStore */ + +/*! exports provided: SplitButtonComponent */ + +/*! exports provided: StatusComponent */ + +/*! exports provided: StatusResolver */ + +/*! exports provided: StatusType */ + +/*! exports provided: StickyComponent */ + +/*! exports provided: StickyHeadingDirective */ + +/*! exports provided: StoredComponentsDataCache */ + +/*! exports provided: StructureUrlNameComponent */ + +/*! exports provided: StyleSheetService */ + +/*! exports provided: SvgIconHandlerComponent */ + +/*! exports provided: SwitchGridViewCommand */ + +/*! exports provided: SwitchSettings */ + +/*! exports provided: SwitchWrapperComponent */ + +/*! exports provided: SwtProvider, SWT_PROVIDER */ + +/*! exports provided: TABLE_WIZARD_TITLE, EXPAND_BUTTON_TEXT, COLLAPSE_BUTTON_TEXT, EDITOR_COLLAPSE_HEIGHT, EDITOR_MAIN_EMPTY_HEIGHT, EDITOR_EMPTY_HEIGHT, EDITOR_COLLAPSE_OFFSET_HEIGHT, EDITOR_COLLAPSE_ANIMATION_SPEED, KENDO_EDITOR_LOAD_TIME, EditorComponent, HtmlHelper */ + +/*! exports provided: TAB_NAMES, PAGE_SIZE, FILE_SELECT, SEARCH_DEBOUNCE_TIME, FileSelectComponent */ + +/*! exports provided: TAB_NAME_LAYOUT, TAB_NAME_NAVIGATION, TAB_NAME_CONTENT, WIDGET_OPERATION_NAME_QUICKEDIT, WIDGET_OPERATION_NAME_DUPLICATE, WIDGET_OPERATION_NAME_COPY_SETTINGS, SPLITTER_EVENTS, ZONE_EDITOR_NOTIFICATION_FILTER, EnhancedPageComponent, NotificationInfo */ + +/*! exports provided: TARGET_SITE_ID, PageFieldsProvider, PAGE_FIELDS_PROVIDER */ + +/*! exports provided: TAXA_COLUMN_BADGES_COUNT, TaxaGridComponent */ + +/*! exports provided: TAXA_REGISTRY */ + +/*! exports provided: TAXONOMIES_URL_NAME, TaxonomyService */ + +/*! exports provided: TAXONOMIES_URL_NAME, TaxonomyService, TAXONOMY_COLUMN_NAMES, TAXONOMY_STRING_CONSTANTS, TaxonomySettings */ + +/*! exports provided: TAXONOMY_TYPE_CHOICE_REGISTRY */ + +/*! exports provided: TEXT_AREA_REGISTRY */ + +/*! exports provided: THEME_ROUTES, themeRouting */ + +/*! exports provided: THEME_TOKEN */ + +/*! exports provided: THEME_TOKEN, CompositeThemeProvider */ + +/*! exports provided: TIMEZONES_REGISTRY */ + +/*! exports provided: TIME_PARTS, SecondsToTimePipe */ + +/*! exports provided: TITLE_KEY, TAXONOMY_KEY, TAXONOMY_PARENT_KEY, ID_KEY, TaxaComponent */ + +/*! exports provided: TOKEN_KEY, ExternalTokenProvider, EXTERNAL_PROVIDER */ + +/*! exports provided: TOOLBARITEMS_TOKEN */ + +/*! exports provided: TOP_LEVEL_OPTION, ParentSelectorComponent */ + +/*! exports provided: TRANSLATIONS_COLUMN_BADGES_COUNT, ListLanguagesComponent */ + +/*! exports provided: TRIM_LENGTH, MORE_LABEL, LESS_LABEL, TOGGLE_BUTTON_ID_PREFIX, TextOverflowDirective */ + +/*! exports provided: TRIM_LENGTH, TOOLTIP_ATTRIBUTE_NAME, NumberOverflowDirective */ + +/*! exports provided: TYPES_OF_CONTENT_NAME, CLASSIFICATIONS_NAME, MEDIA_NAME, TAXONOMY_MODULE_NAME, MEDIA_TYPES_MODULE_NAME, ModulesProvider */ + +/*! exports provided: TaskType, TaskAction, TaskStatus, BackgroundTaskType */ + +/*! exports provided: TaxaInfoStore */ + +/*! exports provided: TaxaNotificationBuilder, TAXA_NOTIFICATION_BUILDER */ + +/*! exports provided: TaxonomyBulkCommandExtender, TAXONOMY_BULK_COMMAND_EXTENDER */ + +/*! exports provided: TaxonomyEditExtender, TAXONOMY_EDIT_EXTENDER */ + +/*! exports provided: TaxonomyGridExtender, TAXONOMY_GRID_EXTENDER */ + +/*! exports provided: TaxonomyModule */ + +/*! exports provided: TaxonomyOperationsFilter, TAXONOMY_OPERATION_FILTER */ + +/*! exports provided: TaxonomyQueryParamsExtender, TAXONOMY_QUERY_PARAMS_EXTENDER */ + +/*! exports provided: TaxonomySettings */ + +/*! exports provided: TaxonomyStatusResolver */ + +/*! exports provided: TaxonomyTypeChoiceComponent */ + +/*! exports provided: TaxonomyTypeChoiceReadonlyComponent */ + +/*! exports provided: TemplatesGridExtender, TEMPLATES_GRID_EXTENDER */ + +/*! exports provided: TextAreaComponent */ + +/*! exports provided: TextAreaSettings */ + +/*! exports provided: TextFieldComponent */ + +/*! exports provided: ThemeComponent */ + +/*! exports provided: ThemeGuard */ + +/*! exports provided: ThemeModule */ + +/*! exports provided: ThemeVariables */ + +/*! exports provided: ThemeVariables, THEME_TOKEN */ + +/*! exports provided: ThumbnailComponent */ + +/*! exports provided: ThumbnailListComponent */ + +/*! exports provided: ThumbnailSelectorComponent, ThumnailSelectorSettings */ + +/*! exports provided: TimeZonesComponent, TIMEZONES_DROPDOWN_NAME */ + +/*! exports provided: TimeZonesProvider, timeZonesRequestFunctionName, defaultTimeZoneRequestFunctionName */ + +/*! exports provided: TimeZonesReadonlyComponent */ + +/*! exports provided: TokenProvider */ + +/*! exports provided: ToolBarItem */ + +/*! exports provided: ToolBarItem, TOOLBARITEMS_TOKEN */ + +/*! exports provided: ToolbarComponent */ + +/*! exports provided: TooltipComponent */ + +/*! exports provided: TooltipModule */ + +/*! exports provided: TooltipPositionDirective */ + +/*! exports provided: TreeNodeComponentFeatures */ + +/*! exports provided: TreeSidebarComponent */ + +/*! exports provided: TrimTextLengthPipe */ + +/*! exports provided: TweaksColumnProvider, TWEAKS_COLUMN_PROVIDER */ + +/*! exports provided: TwitterMediaParser */ + +/*! exports provided: TypeInfoComponent */ + +/*! exports provided: UNKNOWN_ERROR_MESSAGE, LocatableDynamicItemService */ + +/*! exports provided: UNSAVED_CHANGES_DIALOG_MESSAGE, URL_NAME_KEY, ITEM_DATA_KEY, ENTITY_KEY, MIN_SAVE_LOADING_TIME, MIN_CHECKED_TIME, BUTTONS_LOADING_TIME, DynamicItemComponent */ + +/*! exports provided: URL_LABEL, URL_NO_SCHEME, EMAIL, LINK_INPUT_TYPES, ContentLinkInputModel */ + +/*! exports provided: URL_PATTERN_VALIDATOR_NAME, MultipleUrlsPatternValidator */ + +/*! exports provided: URL_SERVICE, UrlService */ + +/*! exports provided: UndoDeleteComponent */ + +/*! exports provided: UnlockRedirectComponent */ + +/*! exports provided: UnshareComponent */ + +/*! exports provided: UnsupportedBrowserGuard */ + +/*! exports provided: UnsupportedBrowserNoticeComponent */ + +/*! exports provided: UrlHelper */ + +/*! exports provided: UrlNameComponent */ + +/*! exports provided: UrlNameComponent, UrlNameModule, URL_NAME_REGISTRY */ + +/*! exports provided: UrlNameGridComponent */ + +/*! exports provided: UrlNameModule */ + +/*! exports provided: UsageInSitesComponent */ + +/*! exports provided: UseSharedComponent */ + +/*! exports provided: UserDataStore */ + +/*! exports provided: UserDataStoreResolver */ + +/*! exports provided: UserMenuService */ + +/*! exports provided: UserPreferencesComponent */ + +/*! exports provided: UserPreferencesService */ + +/*! exports provided: VALIDATOR_NAMES, VALIDATORS */ + +/*! exports provided: VALUES_TAKE_COUNT, SEARCH_PLACEHOLDER, CustomFilterComponent */ + +/*! exports provided: VALUE_RANGE_VALIDATOR_NAME, ValueRangeValidator */ + +/*! exports provided: ValidationError */ + +/*! exports provided: VideoData */ + +/*! exports provided: VideoPlayerComponent */ + +/*! exports provided: VideoThumbnailComponent, VIDEO_THUMBNAIL_REGISTRY */ + +/*! exports provided: ViewAllImageSizesCommand */ + +/*! exports provided: ViewAllImageSizesComponent, ThumbnailViewAllModel */ + +/*! exports provided: ViewCodeComponent */ + +/*! exports provided: ViewSelectorComponent, VIEW_SELECTOR_SETTINGS_REGISTRY */ + +/*! exports provided: WEB_ADDRESS_TAB_TITLE, PageSelectorComponent */ + +/*! exports provided: WEB_SERVICE_ENDPOINT, WEB_SERVICE_LIVE_ENDPOINT, Settings */ + +/*! exports provided: WIDGET_SETTINGS_KEY, InlineToolbarComponent */ + +/*! exports provided: WIDGET_VIEW_TOKEN */ + +/*! exports provided: WIDGET_VIEW_TOKEN, CustomViewRegistrationProvider */ + +/*! exports provided: WINDOW_TOKEN, getWindowFactory, WINDOW_PROVIDER */ + +/*! exports provided: WORKFLOW_DROPDOWN_OPERATIONS, BaseOperationsFilter, BASE_OPERATION_FILTER */ + +/*! exports provided: WarningComponent */ + +/*! exports provided: WebFormsAndMvcRendererContract */ + +/*! exports provided: WidgetContext, WidgetLocalizationMode */ + +/*! exports provided: WidgetEditorComponent */ + +/*! exports provided: WidgetEditorModule */ + +/*! exports provided: WidgetLabelComponent */ + +/*! exports provided: WidgetPropertyEditorService */ + +/*! exports provided: WorkflowOperationSettingsProvider */ + +/*! exports provided: WorkflowOperationsMenuComponent */ + +/*! exports provided: YOUTUBE_MEDIA_CONSTANTS, YoutubeMediaParser */ + +/*! exports provided: YesNoFieldProvider, YesNoChoiceSettings, YES_NO_FIELD_PROVIDER */ + +/*! exports provided: YouTubePlayerService */ + +/*! exports provided: ZONE_EDITOR_EXTENDER_TOKEN, ZoneEditorBaseExtender */ + +/*! exports provided: ZoneEditor */ + +/*! exports provided: ZoneEditorCanDeactivate */ + +/*! exports provided: ZoneEditorComponent */ + +/*! exports provided: ZoneEditorCompositeExtender */ + +/*! exports provided: ZoneEditorContract */ + +/*! exports provided: ZoneEditorDomService */ + +/*! exports provided: ZoneEditorTemplatesExtender, ZONE_EDITOR_TEMPLATES_EDIT_EXTENDER */ + +/*! exports provided: ZoneEditorTreeService, LayoutComponentsModel */ + +/*! exports provided: ZoneSplitterComponent */ + +/*! exports provided: appRoutes, routing */ + +/*! exports provided: coerceBoolean */ + +/*! exports provided: contentTypeConstants, stringConstants, STARTS_WITH_CHARS, validationConstants, regexConstants, MAX_INTEGER, IFRAME_ATTRIBUTE_WHITELIST, SERVER_ACTIONS_NAMES, DEFAULT_BASE_HREF, NEW_TAB_TARGET, SAME_TAB_TARGET, NOT_SET, NOT_SELECTED, REST_API_ENDPOINT, REINVENTION_SERVICE_ENDPOINT, CONTENT_SOURCE_NOT_AVAILABLE_WARNING, ANY_SITE_SOURCE_PROVIDER, DEFAULT_SITE_SOURCE_PROVIDER, LOGOUT_URL, LOGOUT_URL_NO_STS */ + +/*! exports provided: convertIsoStringToUTCDate, getDateWithTimeZoneOffset, isCurrency, textEndsWithNumber */ + +/*! exports provided: createCompiler, AppModule, DEFAULT_REGISTRIES */ + +/*! exports provided: createQuery, bindQueryParameters */ + +/*! exports provided: createValueAccessor, FieldBase */ + +/*! exports provided: default */ + +/*! exports provided: default, TAXONOMY_COLUMN_NAMES, TAXONOMY_STRING_CONSTANTS */ + +/*! exports provided: delayEmission, delayFirstEmission */ + +/*! exports provided: delayEmission, toLoadingState */ + +/*! exports provided: environment */ + +/*! exports provided: environmentTypes */ + +/*! exports provided: fieldsInitialState */ + +/*! exports provided: fieldsReducer */ + +/*! exports provided: getItemUrl, getQueryParams, buildQueryString */ + +/*! exports provided: getSetNameFromRoute */ + +/*! exports provided: groupToolbarButtons */ + +/*! exports provided: initialState */ + +/*! exports provided: instanceOfExecuteOnceInBulkCommand */ + +/*! exports provided: mediaInitialState */ + +/*! exports provided: mediaReducer */ + +/*! exports provided: mobilePreviewReducer */ + +/*! exports provided: resolvers, EDIT_ROUTE, DUPLICATE_ROUTE, dynamicModulesRoutes */ + +/*! exports provided: selectedTabName, SEARCH_DEBOUNCE_TIME, SELECTOR_MAPPING_KEY, SelectorComponent, ServiceContract */ + +/*! exports provided: sidebarInitialState */ + +/*! exports provided: sidebarReducer, sidebarMetaReducer */ + +/*! exports provided: toLoadingState */ + +/*! http-status-codes */ + +/*! import() | forms-forms-module */ + +/*! import() | insight-insight-module */ + +/*! import() | modules-integrations-integrations-module */ + +/*! js-beautify */ + +/*! justified-layout */ + +/*! no exports provided */ + +/*! no static exports found */ + +/*! oidc-client */ + +/*! rxjs */ + +/*! rxjs/internal-compatibility */ + +/*! rxjs/internal/observable/fromPromise */ + +/*! rxjs/internal/operators */ + +/*! rxjs/internal/operators/map */ + +/*! rxjs/operators */ + +/*! tslib */ + +/*! xregexp */ + +/*!*********************!*\ + !*** ./src/main.ts ***! + \*********************/ + +/*!*************************!*\ + !*** ./fields/index.ts ***! + \*************************/ + +/*!**************************!*\ + !*** ./src/app/utils.ts ***! + \**************************/ + +/*!***************************!*\ + !*** ./elements/utils.ts ***! + \***************************/ + +/*!***************************!*\ + !*** multi ./src/main.ts ***! + \***************************/ + +/*!******************************!*\ + !*** ./fields/field-base.ts ***! + \******************************/ + +/*!******************************!*\ + !*** ./src/app/api/index.ts ***! + \******************************/ + +/*!*******************************!*\ + !*** ./src/app/app.module.ts ***! + \*******************************/ + +/*!*******************************!*\ + !*** ./src/app/app.routes.ts ***! + \*******************************/ + +/*!********************************!*\ + !*** ./fields/choice/index.ts ***! + \********************************/ + +/*!********************************!*\ + !*** ./fields/common/index.ts ***! + \********************************/ + +/*!********************************!*\ + !*** ./fields/common/utils.ts ***! + \********************************/ + +/*!********************************!*\ + !*** ./fields/field-status.ts ***! + \********************************/ + +/*!********************************!*\ + !*** ./fields/hidden/index.ts ***! + \********************************/ + +/*!********************************!*\ + !*** ./fields/number/index.ts ***! + \********************************/ + +/*!********************************!*\ + !*** ./fields/switch/index.ts ***! + \********************************/ + +/*!********************************!*\ + !*** ./src/app/environment.ts ***! + \********************************/ + +/*!*********************************!*\ + !*** ./fields/fields.module.ts ***! + \*********************************/ + +/*!*********************************!*\ + !*** ./src/app/api/v1/index.ts ***! + \*********************************/ + +/*!*********************************!*\ + !*** ./src/app/bootstrapper.ts ***! + \*********************************/ + +/*!***********************************!*\ + !*** ./fields/date-time/index.ts ***! + \***********************************/ + +/*!***********************************!*\ + !*** ./fields/text-area/index.ts ***! + \***********************************/ + +/*!***********************************!*\ + !*** ./src/app/services/query.ts ***! + \***********************************/ + +/*!************************************!*\ + !*** ./fields/field-validation.ts ***! + \************************************/ + +/*!************************************!*\ + !*** ./fields/fields-constants.ts ***! + \************************************/ + +/*!************************************!*\ + !*** ./fields/short-text/index.ts ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/app/window.provider.ts ***! + \************************************/ + +/*!*************************************!*\ + !*** ./fields/async-field-value.ts ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/app/common-constants.ts ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/app/components/index.ts ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/styles/zone-editor.scss ***! + \*************************************/ + +/*!**************************************!*\ + !*** ./fields/html/editor-config.ts ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./fields/related-data/index.ts ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/app/api/v1/http/index.ts ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/app/api/v1/item/index.ts ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/app/api/v1/tree/index.ts ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/app/document.provider.ts ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/app/theme/theme.guard.ts ***! + \**************************************/ + +/*!***************************************!*\ + !*** ./fields/card/card.component.ts ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./fields/field-settings-base.ts ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./fields/tree/tree.component.ts ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/app/api/v1/theme/index.ts ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/app/modules/html/index.ts ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/app/theme/theme.module.ts ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/app/theme/themeRouting.ts ***! + \***************************************/ + +/*!****************************************!*\ + !*** ./elements/sf-element.factory.ts ***! + \****************************************/ + +/*!****************************************!*\ + !*** ./elements/sf-elements.module.ts ***! + \****************************************/ + +/*!****************************************!*\ + !*** ./src/app/api/v1/common/index.ts ***! + \****************************************/ + +/*!****************************************!*\ + !*** ./src/app/api/v1/editor/index.ts ***! + \****************************************/ + +/*!****************************************!*\ + !*** ./src/app/services/url.helper.ts ***! + \****************************************/ + +/*!*****************************************!*\ + !*** ./fields/html/editor.component.ts ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./fields/services/base.service.ts ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/app/app-providers.module.ts ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/app/provider.route-guard.ts ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/app/services/field.model.ts ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/app/services/store/index.ts ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/app/services/url.service.ts ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/environments/environment.ts ***! + \*****************************************/ + +/*!******************************************!*\ + !*** ./fields/choice/checkbox-states.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./fields/choice/choice.settings.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./fields/common/focus.directive.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./fields/number/number-settings.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./fields/switch/switch.settings.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/api/v1/commands/index.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/api/v1/http/constants.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/api/v1/metadata/index.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/app-base-href.factory.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/constants/route-paths.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/custom-url-serializer.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/modules/urlName/index.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/theme/theme-variables.ts ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/app/theme/theme.component.ts ***! + \******************************************/ + +/*!*******************************************!*\ + !*** ./fields/choice/choice.component.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./fields/common/common-constants.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./fields/common/validators/index.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./fields/hidden/hidden.component.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./fields/number/number.component.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./fields/status/status.component.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/app/api/v1/framework/index.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/app/api/v1/metadata/entity.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/app/api/v1/selectors/index.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/app/api/v1/selectors/video.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/app/extensibility/manifest.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/app/modules/html/constants.ts ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/app/modules/taxonomy/index.ts ***! + \*******************************************/ + +/*!********************************************!*\ + !*** ./elements/tooltip/tooltip.module.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/api/v1/commands/command.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/api/v1/common/extension.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/api/v1/extensions-store.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/api/v1/theme/theme-item.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/components/config/index.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/modules/auth/auth.guard.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/modules/libraries/index.ts ***! + \********************************************/ + +/*!********************************************!*\ + !*** ./src/app/services/scroll.service.ts ***! + \********************************************/ + +/*!*********************************************!*\ + !*** ./fields/resolvers/status.resolver.ts ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/app/api/v1/embed-media/index.ts ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/app/api/v1/embed-media/media.ts ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/app/modules/auth/auth.module.ts ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/app/modules/auth/auth.routes.ts ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/app/modules/html/html.module.ts ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/app/services/status.resolver.ts ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/app/services/store/app-store.ts ***! + \*********************************************/ + +/*!**********************************************!*\ + !*** ./fields/html/editor.grid.component.ts ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./fields/media/media-base.component.ts ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/app/api/v1/metadata/data-item.ts ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/app/modules/auth/auth.service.ts ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/app/modules/content/constants.ts ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/app/services/sanitize.service.ts ***! + \**********************************************/ + +/*!***********************************************!*\ + !*** ./elements/tooltip/tooltip.component.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./fields/common/pipes/extension.pipe.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./fields/common/pipes/file-size.pipe.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./fields/common/pipes/sanitizer.pipe.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./fields/html/editor-config-provider.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./fields/media/image/image.component.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./fields/selector/selector.component.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./fields/utilities/rx-base.component.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/api/v1/commands/token-data.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/api/v1/custom-fields/index.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/api/v1/notifications/index.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/api/v1/toolbar-items/index.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/api/v1/widget-editor/index.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/modules/auth/auth.provider.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/modules/html/html.settings.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/modules/pages/pages.module.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/modules/pages/pages.routes.ts ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/app/modules/shared/pipes/index.ts ***! + \***********************************************/ + +/*!************************************************!*\ + !*** ./fields/choice/choice-chip.component.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./fields/common/chips/chips.component.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./fields/common/pipes/breadcrumb.pipe.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./fields/common/pipes/htmlEscape.pipe.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./fields/common/pipes/seconds-to-time.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./fields/common/popup/popup.component.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./fields/date-time/date-time-settings.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./fields/text-area/text-area-settings.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/app/api/v1/metadata/entity-data.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/app/api/v1/theme/theme-provider.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/app/modules/auth/token.provider.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/app/modules/html/html.component.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/app/services/fieldSection.model.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/app/services/store/store-schema.ts ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/app/services/stylesheet.service.ts ***! + \************************************************/ + +/*!*************************************************!*\ + !*** ./fields/choice/choice-yesno.component.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./fields/load-more/load-more.component.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./fields/text-area/text-area.component.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./fields/thumbnail/thumbnail.component.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/api/v1/framework/input/index.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/api/v1/index-component/index.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/api/v1/theme/theme-variables.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/components/app/app.component.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/modules/additionalUrls/index.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/modules/auth/noauth.provider.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/modules/shared/shared.module.ts ***! + \*************************************************/ + +/*!*************************************************!*\ + !*** ./src/app/services/bundle-data.service.ts ***! + \*************************************************/ + +/*!**************************************************!*\ + !*** ./fields/html/editor.readonly.component.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./fields/resolvers/base-status.resolver.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./fields/short-text/short-text-settings.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/api/v1/commands/command-model.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/api/v1/commands/commands-data.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/api/v1/fields-behaviour/index.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/components/html-wrapper/index.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/constants/animation-constants.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/modules/auth/swt/swt.provider.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/modules/parent-selector/index.ts ***! + \**************************************************/ + +/*!**************************************************!*\ + !*** ./src/app/modules/shared/commands/named.ts ***! + \**************************************************/ + +/*!***************************************************!*\ + !*** ./fields/short-text/short-text.component.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./fields/short-text/short-text.constants.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./fields/switch/switch.wrapper.component.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/animations/animation-utilities.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/api/v1/editor/edit-menu-button.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/components/config/config.guard.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/modules/content/content.module.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/modules/content/content.routes.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/modules/urlName/urlName.module.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/services/sitefinitySdk.service.ts ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/app/theme/composite-theme-provider.ts ***! + \***************************************************/ + +/*!****************************************************!*\ + !*** ./fields/choice/choice-dropdown.component.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./fields/choice/choice-multiple.component.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./fields/choice/choice-readOnly.component.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./fields/common/warning/warning.component.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./fields/html/external-stylesheet.service.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./fields/number/number-readOnly.component.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/api/v1/commands/commands-filter.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/api/v1/commands/commands-target.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/api/v1/custom-fields/field-base.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/api/v1/custom-fields/field-data.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/api/v1/editor/edit-menu-section.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/api/v1/item/item-hooks-provider.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/components/feature-toggle/index.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/modules/auth/oidc/oidc.provider.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/modules/html/edit-menu-provider.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/modules/html/selector-constants.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/modules/shared/commands/command.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/modules/shared/fields.constants.ts ***! + \****************************************************/ + +/*!****************************************************!*\ + !*** ./src/app/services/http/http-status-codes.ts ***! + \****************************************************/ + +/*!*****************************************************!*\ + !*** ./fields/html/editor-group-toolbar-buttons.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./fields/insert-body/insert-body.component.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./fields/media/document/document.component.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./fields/tree/tree-node-component.provider.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./src/app/api/v1/commands/command-category.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./src/app/api/v1/custom-fields/field-types.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./src/app/api/v1/editor/edit-menu-provider.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./src/app/modules/content/modules.provider.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./src/app/modules/shared/commands/category.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./src/app/modules/taxonomy/taxonomy.module.ts ***! + \*****************************************************/ + +/*!*****************************************************!*\ + !*** ./src/app/modules/urlName/urlName-settings.ts ***! + \*****************************************************/ + +/*!******************************************************!*\ + !*** ./$$_lazy_route_resource lazy namespace object ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./fields/common/chips/simple-chip.component.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./fields/common/components/sticky.component.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./fields/common/directives/resize.directive.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./fields/common/directives/sticky.directive.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./fields/media/video/video-player.component.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./fields/related-data/related-data.settings.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/api/v1/commands/commands-provider.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/api/v1/commands/execution-context.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/api/v1/framework/framework.module.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/api/v1/selectors/selector-options.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/api/v1/selectors/selector-service.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/api/v1/toolbar-items/toolbar-item.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/modules/auth/oauth/oauth.provider.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/modules/content/content.component.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/modules/libraries/selectors/index.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/modules/urlName/urlName.component.ts ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/app/services/taxonomy-status.resolver.ts ***! + \******************************************************/ + +/*!*******************************************************!*\ + !*** ./fields/choice/choice-service-url.component.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./fields/related-data/related-data.component.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./fields/split-button/split-button.component.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/app/api/v1/widget-editor/widget-editor.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/app/components/config/config.component.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/app/modules/analytics/analytics.module.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/app/modules/content/content-type.guard.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/app/modules/libraries/libraries.module.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/app/modules/pages/services/zone-editor.ts ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/app/modules/taxonomy/taxonomy.settings.ts ***! + \*******************************************************/ + +/*!********************************************************!*\ + !*** ./fields/common/validators/schedule.validator.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./fields/date-time/date-time-formats.provider.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./fields/date-time/date-time-picker.component.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./fields/date-time/date-time-picker.constants.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./fields/short-text/short-text.grid.component.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/api/v1/fields-behaviour/field-model.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/api/v1/index-component/column-model.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/api/v1/index-component/data-context.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/api/v1/widget-editor/component-data.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/modules/html/youtube-player.service.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/modules/ng-providers/sf-interceptor.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/modules/pages/services/page.service.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/modules/taxonomy/taxa/taxa.registry.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/modules/taxonomy/taxonomy.constants.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/services/keyboard-shortcuts.service.ts ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/app/services/store/schemas/schema.media.ts ***! + \********************************************************/ + +/*!*********************************************************!*\ + !*** ./fields/choice/choice-dropdown-list.component.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./fields/services/content-section-menu.service.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/api/v1/custom-fields/fields-provider.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/api/v1/editor/editor-config-provider.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/index.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/media.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/html/tools/immutable.helpers.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/libraries/file-list.settings.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/pages/services/page.resolver.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/shared/rxjs-extensions/index.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/shared/services/sort.service.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/modules/taxonomy/taxa/taxa.component.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/services/store/actions/actions.media.ts ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/app/services/store/schemas/schema.fields.ts ***! + \*********************************************************/ + +/*!**********************************************************!*\ + !*** ./fields/choice/choice-yesno-readOnly.component.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./fields/common/validators/date-range.validator.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./fields/common/validators/min-length.validator.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./fields/common/validators/validators.constants.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/api/v1/embed-media/embed-media.parser.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/api/v1/fields-behaviour/field-wrapper.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/components/admin-app-management/index.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/html/html-read-mode.component.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/libraries/file-info.component.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/libraries/file-list.component.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/libraries/media-content.types.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/ng-providers/providers.module.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/pages/services/renderer.types.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/shared/pipes/bolder-text.pipe.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/modules/shared/services/settings-keys.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/services/content-item-status.resolver.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/services/keyboard-shortcuts.constants.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/services/store/actions/actions.fields.ts ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/app/services/store/schemas/schema.sidebar.ts ***! + \**********************************************************/ + +/*!***********************************************************!*\ + !*** ./fields/choice/choice-list/choice-list-settings.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./fields/common/validators/max-integer.validator.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./fields/common/validators/url-pattern.validator.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./fields/common/validators/value-range.validator.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./fields/loader-wrapper/loader-wrapper.component.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./fields/short-text/password-short-text-settings.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./fields/short-text/short-text-default.component.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/api/v1/framework/input/input.component.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/api/v1/notifications/notification-info.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/api/v1/tree/custom-tree-component-base.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/app-config/external-app-config.service.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/components/use-a-browser/browser.guard.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/modules/html/tools/kendo-align.helpers.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/modules/libraries/file-picker.messages.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/modules/libraries/media/media.settings.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/modules/libraries/selectors/interfaces.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/modules/shared/events/component-events.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/modules/shared/services/canvas.service.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/modules/urlName/urlName.grid.component.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/services/store/actions/actions.sidebar.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/services/store/effects/effects.sidebar.ts ***! + \***********************************************************/ + +/*!***********************************************************!*\ + !*** ./src/app/services/store/reducers/reducers.media.ts ***! + \***********************************************************/ + +/*!************************************************************!*\ + !*** ./fields/choice/choice-list/choice-list.component.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./fields/common/directives/localizedNum.directive.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./fields/common/validators/digits-limit.validator.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./fields/related-data/related-data-grid.component.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/api/v1/custom-fields/field-registration.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/api/v1/index-component/columns-provider.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/api/v1/notifications/notification-looks.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/libraries/file-picker-view-mode.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/libraries/file-picker.component.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/libraries/file-picker.constants.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/libraries/file-select.component.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/libraries/file-upload.component.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/libraries/media/media.component.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/pages/services/renderer.service.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/shared/components/address/index.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/shared/pipes/relative-date.pipe.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/modules/shared/services/storage.service.ts ***! + \************************************************************/ + +/*!************************************************************!*\ + !*** ./src/app/services/store/reducers/reducers.fields.ts ***! + \************************************************************/ + +/*!*************************************************************!*\ + !*** ./fields/choice/choice-multiple-readOnly.component.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./fields/common/directives/click-outside.directive.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./fields/common/directives/text-overflow.directive.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./fields/notification/click-notification.component.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/api/v1/custom-fields/field-settings-base.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/libraries/file-preview.component.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/libraries/file-reorder.component.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/libraries/library-tree.component.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/libraries/services/library.store.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/libraries/services/media.helpers.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/libraries/services/media.service.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/shared/insight/insight.constants.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/shared/pipes/iso-week-dates.pipe.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/modules/shared/services/settings.service.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/services/store/reducers/reducers.sidebar.ts ***! + \*************************************************************/ + +/*!*************************************************************!*\ + !*** ./src/app/services/store/selectors/selectors.media.ts ***! + \*************************************************************/ + +/*!**************************************************************!*\ + !*** ./fields/common/components/sticky.heading.directive.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./fields/common/directives/carretPosition.directive.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./src/app/api/v1/notifications/notification.service.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./src/app/modules/libraries/media-validation-helper.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./src/app/modules/libraries/services/layout.service.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./src/app/modules/shared/auxiliary/aux-service.base.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./src/app/modules/shared/rxjs-extensions/catcherror.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./src/app/modules/taxonomy/taxa/taxa.grid.component.ts ***! + \**************************************************************/ + +/*!**************************************************************!*\ + !*** ./src/app/services/store/selectors/selectors.fields.ts ***! + \**************************************************************/ + +/*!***************************************************************!*\ + !*** ./fields/common/directives/number-overflow.directive.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./fields/common/directives/tooltipPosition.directive.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/api/v1/editor/editor-group-toolbar-buttons.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/api/v1/theme/theme-variable-key-value-pair.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/api/v1/tree/custom-tree-component-provider.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/interfaces.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/html/immutable-edit-menu.component.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/libraries/library-select.component.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/libraries/thumbnail-list.component.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/pages/pages-tweaks-handler.service.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/pages/services/pages-edit-extender.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/pages/services/pages-grid-extender.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/shared/commands/command-model-base.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/shared/guards/can-deactivate.guard.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/shared/pipes/trim-text-length.pipe.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/shared/services/edit/edit-extender.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/field-error.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/taxonomy/services/taxonomy.service.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/widget-editor/models/feedback-info.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/modules/widget-editor/widget-editor.module.ts ***! + \***************************************************************/ + +/*!***************************************************************!*\ + !*** ./src/app/services/store/selectors/selectors.sidebar.ts ***! + \***************************************************************/ + +/*!****************************************************************!*\ + !*** ./fields/common/validators/multiline-emails.validator.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./fields/related-data/related-data-readonly.component.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/api/v1/toolbar-items/toolbar-items-provider.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/app-config/reorder-module-children.provider.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/components/empty/integrated-empty.component.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/components/feature-toggle/feature.component.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/modules/libraries/library-preview.component.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/modules/pages/services/zone-editor.contract.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/modules/shared/auxiliary/aux-host.component.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/modules/shared/services/environment.service.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/modules/shared/services/site-title.resolver.ts ***! + \****************************************************************/ + +/*!****************************************************************!*\ + !*** ./src/app/modules/widget-editor/models/widget-context.ts ***! + \****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./fields/common/directives/infiniteScrolling.directive.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./fields/date-time/date-time-picker-readOnly.component.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/additionalUrls/additionalUrls.module.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/analytics/analytics-column.component.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/auth/oidc/sign-in-redirect.component.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/html/tools/insert-image/image-helper.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/libraries/file-layout-base.component.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/libraries/media/media.component.grid.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/libraries/selectors/selector-service.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/pages/providers/page-fields.provider.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/models/data-context-component.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/pipes/lower-first-letter.pipe.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/rxjs-extensions/delayEmission.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/generic-error.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/services/hierarchical-service.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/services/logger-source/logger.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/services/modal-main-form-size.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/shared/services/modal-window.service.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/modules/widget-editor/basic-editor.component.ts ***! + \*****************************************************************/ + +/*!*****************************************************************!*\ + !*** ./src/app/services/store/schemas/schema.mobile-preview.ts ***! + \*****************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/api/v1/fields-behaviour/fields-change.service.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/auth/external/external-token.provider.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/auth/oidc/sign-out-redirect.component.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/libraries/commands/play-video.command.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/libraries/media-fields-change.service.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/libraries/media/media-data/image-data.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/libraries/media/media-data/video-data.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/pages/commands/saveAsHomePage.command.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/pages/pages-metadata-handler.provider.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/shared/components/bulk/bulk.component.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/shared/components/list/list.component.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/shared/rxjs-extensions/toLoadingState.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/response-error.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/shared/services/query-params-extender.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/modules/widget-editor/widget-editor.component.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/services/admin-app/admin-app-management.guard.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/services/store/actions/actions.mobile-preview.ts ***! + \******************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/app/services/store/effects/effects.mobile-preview.ts ***! + \******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./fields/common/directives/respondToVisibility.directive.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/components/html-wrapper/html-wrapper.component.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/additionalUrls/additionalUrls-settings.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/contextual-help/contextual-help.module.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/helpers/sf-link.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/libraries/commands/embed-media.command.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/libraries/media/simple-media.component.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/libraries/selected-file-list.component.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/libraries/services/media-edit-extender.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/pages/services/templates-grid-extender.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/parent-selector/parent-selector.module.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/shared/commands/link/open-link-command.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/shared/components/events/event.helpers.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/shared/components/events/events.module.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/shared/services/content-filter.service.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/not-found-error.ts ***! + \*******************************************************************/ + +/*!*******************************************************************!*\ + !*** ./src/app/modules/widget-editor/interfaces/widget-editor.ts ***! + \*******************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/api/v1/tree/custom-tree-node-component-features.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/additionalUrls/additionalUrls.component.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/contextual-help/contextual-help.service.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/libraries/documents/file-tree.component.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/libraries/services/media-query-extender.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/pages/components/advanced-options/index.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/pages/services/zone-editor-tree.service.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/shared/feature-toggle/feature.directive.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/shared/services/action-executor.service.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/shared/services/back-navigation.service.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/shared/services/edit-navigation.service.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/validation-error.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/shared/services/grid/grid-extender-base.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/widget-editor/interfaces/custom-actions.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/modules/widget-editor/property-editor.constants.ts ***! + \********************************************************************/ + +/*!********************************************************************!*\ + !*** ./src/app/services/store/reducers/reducers.mobile-preview.ts ***! + \********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./fields/choice/choice-list/choice-list-multiple.component.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/api/v1/widget-editor/widget-editor-view-provider.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/html/tools/view-code/view-code-constants.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/html/tools/view-code/view-code.component.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/libraries/file-upload-progress.component.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/libraries/media/media-data/document-data.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/libraries/media/media-recognizer.service.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/libraries/media/media.component.readonly.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/libraries/services/media.status-resolver.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/pages/operations/pages.operations-filter.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/pages/services/document-enhancer.service.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/parent-selector/parent-selector-settings.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/commands/has-notification-command.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/components/events/timezones/index.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/composite-field.settings.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/locked-item-error.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/fields-generator.service.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/http-web-request.wrapper.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/list/list-index.contract.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/meta-data.store.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/site-data.store.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/user-data.store.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/taxonomy/components/move-taxon.component.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/taxonomy/services/taxonomy-edit-extender.ts ***! + \*********************************************************************/ + +/*!*********************************************************************!*\ + !*** ./src/app/modules/taxonomy/services/taxonomy-grid-extender.ts ***! + \*********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/components/empty/integrated-empty.component.guard.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/components/use-a-browser/browser-notice.component.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/embed-media.parser.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/create-link-helper.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/insight/services/http-data-response-utils.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/libraries/media-metadata-handler.provider.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/libraries/providers/media-fields.provider.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/ng-providers/errors/default-error-handler.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/pages/services/hierarchical-pages.service.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/parent-selector/parent-selector.component.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/shared/components/dropdown-selector/index.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/shared/components/events/events.constants.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/remove.component.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/connector.service.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/metadata.handler.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/shared/user-preferences/user-menu.service.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/taxonomy/components/merge-taxon.component.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/modules/taxonomy/services/taxonomy-query-extender.ts ***! + \**********************************************************************/ + +/*!**********************************************************************!*\ + !*** ./src/app/services/store/selectors/selectors.mobile-preview.ts ***! + \**********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./fields/content-section-menu/content-section-menu.component.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/helpers.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/iframe-media.parser.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/pages/commands/template-share-with.command.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/pages/services/document-enhancer.constants.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/pages/services/pages-fields-change.service.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/shared/components/address/address.settings.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/shared/components/address/country.provider.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/shared/insight/insight-connectivity.module.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/authorization-error.ts ***! + \***********************************************************************/ + +/*!***********************************************************************!*\ + !*** ./src/app/modules/shared/services/http-odata-request.wrapper.ts ***! + \***********************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/auth/oauth/oauth-sign-in-redirect.component.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/commands.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/default-media.parser.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/twitter-media.parser.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/youtube-media.parser.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/html/tools/embed-code/embed-media.component.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/libraries/commands/switch-grid-view.command.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/pages/components/columns/based-on.component.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/pages/services/page-templates-edit-extender.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/pages/services/pages-action-handler.service.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/components/address/address.component.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/components/address/address.constants.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/components/list/list-index.component.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/insight/interfaces/content-item-info.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/sitefinity-base-url.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/error-parser.service.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/services/logger-source/logger-source.ts ***! + \************************************************************************/ + +/*!************************************************************************!*\ + !*** ./src/app/modules/shared/services/site-title.dynamic.resolver.ts ***! + \************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/cache-store.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/create-link.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/libraries/media/media-reorder-drop.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/libraries/media/reorderable-thumbs.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/libraries/thumbnail/grid-thumbnail.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/pages/components/columns/page-view.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/shared-in.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/type-info.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/components/list/list-column.directive.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/components/list/list-detail.component.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/components/navigation/home/home.guard.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/feature-toggle/feature-toggle.service.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/services/action-buttons-state.service.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/services/edit/composite-edit-extender.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/services/grid/composite-grid-extender.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/meta-data-constants.ts ***! + \*************************************************************************/ + +/*!*************************************************************************!*\ + !*** ./src/app/services/store/cache/dynamic-loader-components-cache.ts ***! + \*************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./fields/common/directives/infiniteScrollingOnElement.directive.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/html/immutables-facade/composite-media.parser.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/libraries/media/media-data/media-data.factory.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/pages/components/edit-page/edit-page-template.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/components/action-menu/operation.model.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/components/duration/duration.component.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/components/error-pages/error-page.base.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/applied-to-component.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/text-field.component.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/services/mirror.service.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/insights-menu-command.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/services/custom-tweaks-handler.service.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/services/data-extensions/data.extender.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/operation-failed-error.ts ***! + \**************************************************************************/ + +/*!**************************************************************************!*\ + !*** ./src/app/modules/shared/services/errors/parent-has-child-error.ts ***! + \**************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/dynamic-item.constants.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/dynamic-modules.module.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/dynamic-modules.routes.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/entity/action.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/libraries/images/edit-crop-rotate/crop.service.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/libraries/services/media-bulk-command-extender.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/pages/components/edit-page/edit-page.component.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/recurring-event/index.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/services/fields-registry.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/shared/services/notification/notification-data.ts ***! + \***************************************************************************/ + +/*!***************************************************************************!*\ + !*** ./src/app/modules/taxonomy/operations/taxonomy.operations-filter.ts ***! + \***************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/parent.service.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/provider-store.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/libraries/media-handlers/image-handler.provider.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/libraries/media-handlers/media-handler.provider.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/pages/commands/navigate-to-menu-section.command.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/shared/components/action-menu/action-menu-model.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/shared/components/edit-menu/edit-menu.component.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/shared/components/not-found/not-found.component.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/shared/components/status/error-status.component.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/providers/fields-provider.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/date-time-utils.service.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/shared/services/component-communication.service.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/taxonomy/services/hierarchical-taxonomy.service.ts ***! + \****************************************************************************/ + +/*!****************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/complex.settings.ts ***! + \****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/additionalUrls/additionalUrls-readOnly.component.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/taxa-info-store.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/integrations/servicehooks/service-hooks.contract.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/libraries/images/edit-crop-rotate/resize.service.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/libraries/images/edit-image/edit-image.component.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/libraries/operations/libraries.operations-filter.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/libraries/services/media-delete-command-extender.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/shared/components/address/address.component-grid.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/date-and-user.component.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/shared/components/navigation/home/home.component.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/shared/components/sidebar/sidebar-component.repo.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/shared/components/sidebar/sidebar-host.component.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/files/file-info.service.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/shared/user-preferences/user-preferences.service.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/taxonomy/services/taxonomy-bulk-command-extender.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/taxonomy/usage-in-sites/usage-in-sites.component.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/complex.component.ts ***! + \*****************************************************************************/ + +/*!*****************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/field-type-mapper.ts ***! + \*****************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/provider-service.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/libraries/services/hierarchical-libraries.service.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/pages/components/site-and-language-selector/index.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/pages/services/webforms-and-mvc.renderer.contract.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/children-count-component.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/components/modal-list/modal-list.component.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/components/no-preview/no-preview.component.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/components/status/heading-status.component.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/insights-columns-provider.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/insights-command-provider.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/services/list/list-index-contract.provider.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/meta-data-parser.service.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/meta-data-store.resolver.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/site-data-store.resolver.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/services/metadata/user-data-store.resolver.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/shared/services/notification/notification.service.ts ***! + \******************************************************************************/ + +/*!******************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/views/share.component.ts ***! + \******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/letter-mark.store.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/model/component-model.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/zone-editor.component.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/parent-selector/parent-selector.component.readonly.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/shared/user-preferences/user-preferences.component.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/sitefinity-components/sitefinity-components.module.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/date-field-provider.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/enum-field-provider.ts ***! + \*******************************************************************************/ + +/*!*******************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/view-registration.provider.ts ***! + \*******************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/columns-provider.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/dynamic-item.store.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/shared/components/action-menu/action-menu.component.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/shared/components/sidebar/sidebar-buttons.component.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/shared/services/logger-source/backend-logger-source.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/shared/services/logger-source/console-logger-source.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/taxonomy/services/hierarchical-taxon-expand-service.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/content-block.constants.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/views/unshare.component.ts ***! + \********************************************************************************/ + +/*!********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/section/columns-proportions.component.ts ***! + \********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/components/insecure-connection/insecure-connection.component.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/columns-generator.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dynamic-item.base.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/grid-reload.service.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/helpers/create-link-constants.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/integrations/servicehooks/commands/run-again.command.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/enhanced-page.component.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/zone-editor-dom-service.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/events-field-change.service.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/components/read/read.component.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/sitefinity-requester.service.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/shared/services/logger-source/logger-source-provider.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/interfaces/widget-editor-view-provider.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/number-field-provider.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/yes-no-field-provider.ts ***! + \*********************************************************************************/ + +/*!*********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/services/property-value-parser.service.ts ***! + \*********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/children-count.store.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/dynamic-item.service.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/libraries/services/grid-extenders/media-grid-extender.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/shared/components/color-picker/color-picker.component.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/services/event-dates.service.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/timezones/timezones.provider.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/shared/components/modal-window/modal-window.component.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/extension-point-utils.service.ts ***! + \**********************************************************************************/ + +/*!**********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/services/widget-property-editor.service.ts ***! + \**********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/components/admin-app-management/admin-app-management.component.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/background-task.types.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/content-edit-extender.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/content-grid-extender.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/entity/action-buttons.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/interfaces.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/libraries/file-preview-edit/file-preview-edit-settings.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/libraries/services/data-extensions/media-data.extender.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/pages/components/localization-strategy-component/index.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/pages/components/mobile-preview/mobile-preview.command.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/pages/components/search-site-composite-component/index.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/html-element-attach-modes.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/events-tweaks-handler.service.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/services/events-edit-extender.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/services/events-grid-extender.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/timezones/timezones.component.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/shared/keyboard-shortcuts/keyboard-shortcuts.component.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/views/use-shared.component.ts ***! + \***********************************************************************************/ + +/*!***********************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/field-properties-mapper.ts ***! + \***********************************************************************************/ + +/*!************************************************************************************!*\ + !*** ./src/app/modules/integrations/servicehooks/service-hook-history.contract.ts ***! + \************************************************************************************/ + +/*!************************************************************************************!*\ + !*** ./src/app/modules/libraries/file-preview-edit/file-preview-edit.component.ts ***! + \************************************************************************************/ + +/*!************************************************************************************!*\ + !*** ./src/app/modules/libraries/services/libraries-navigation-sidebar-helpers.ts ***! + \************************************************************************************/ + +/*!************************************************************************************!*\ + !*** ./src/app/modules/shared/components/access-denied/access-denied.component.ts ***! + \************************************************************************************/ + +/*!************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/recurring-event/recurrent-rule.ts ***! + \************************************************************************************/ + +/*!************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/content-block-editor.module.ts ***! + \************************************************************************************/ + +/*!************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/content/content.settings.ts ***! + \************************************************************************************/ + +/*!*************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/undo-delete.component.ts ***! + \*************************************************************************************/ + +/*!*************************************************************************************!*\ + !*** ./src/app/modules/pages/components/edit-page/commands/change-owner.command.ts ***! + \*************************************************************************************/ + +/*!*************************************************************************************!*\ + !*** ./src/app/modules/pages/components/mobile-preview/mobile-preview.component.ts ***! + \*************************************************************************************/ + +/*!*************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/guards/can-deactivate.guard.ts ***! + \*************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dynamic-item.constants.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dynamic-items.resolver.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/dynamic-item-store-state.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/libraries/media/embed-media/embed-media-content.component.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/events-metadata-handler.provider.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/shared/components/fields/multi-value-text-field.component.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/shared/components/modal-selector/modal-selector.component.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/shared/components/no-items-found/no-items-found.component.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/shared/components/site-sync/site-sync-item-info.component.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/sitefinity-insight-http-requester.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/views/not-shareable.component.ts ***! + \**************************************************************************************/ + +/*!**************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/custom-size-field-provider.ts ***! + \**************************************************************************************/ + +/*!***************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/action-buttons.resolver.ts ***! + \***************************************************************************************/ + +/*!***************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/entity/dynamic-item.guard.ts ***! + \***************************************************************************************/ + +/*!***************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/entity/item-meta-resolver.ts ***! + \***************************************************************************************/ + +/*!***************************************************************************************!*\ + !*** ./src/app/modules/libraries/images/edit-image/edit-image-thumbnail.component.ts ***! + \***************************************************************************************/ + +/*!***************************************************************************************!*\ + !*** ./src/app/modules/libraries/videos/video-thumbnail/video-thumbnail.component.ts ***! + \***************************************************************************************/ + +/*!***************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/activated-add-widget-position.ts ***! + \***************************************************************************************/ + +/*!***************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/services/content-widget-field-change.service.ts ***! + \***************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dialog/toolbar.component.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/columns-map.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/entity/item-hooks-provider.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/long-running-tasks.service.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/libraries/documents/file-size-grid/file-grid-size.component.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/pages/components/columns/marketing/marketing-cell.component.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/pages/components/edit-page/commands/change-template.command.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/sidebar/tree-sidebar.component.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/shared/components/unlock-redirect/unlock-redirect.component.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/shared/content-blocks/services/content-blocks-edit-extender.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/shared/content-blocks/services/content-blocks-grid-extender.ts ***! + \****************************************************************************************/ + +/*!****************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/components/field-wrapper/error-filter.ts ***! + \****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/reorder/reorder.component.ts ***! + \*****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/libraries/images/edit-crop-rotate/edit-crop-rotate.component.ts ***! + \*****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/libraries/images/file-dim-size-grid/file-grid-size.component.ts ***! + \*****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/pages/components/web-address-component/web-address.component.ts ***! + \*****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/add-widget/add-widget.component.ts ***! + \*****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/shared/components/site-sync/site-sync-notification.component.ts ***! + \*****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/providers/fields-registration-provider.ts ***! + \*****************************************************************************************/ + +/*!*****************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/section/providers/section-editor-view.provider.ts ***! + \*****************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/entity/dynamic-item.resolver.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/operations-filter.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/pages/components/navigation-options-composite-component/index.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/event-time-composite-component/index.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/shared/components/load-more-search/load-more-search.component.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/shared/components/svg-icon-handler/svg-icon-handler.component.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/shared/components/urlNameStructure/structure-urlName.settings.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/shared/insight/components/insight-cell/insight-cell.component.ts ***! + \******************************************************************************************/ + +/*!******************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/filter-content/combined-filter.ts ***! + \******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dynamic-items-base.resolver.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter.store.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/sorter/SortingStore.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/content-bulk-command-extender.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/libraries/images/view-all-sizes/view-all-image-sizes.component.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/pages/components/columns/marketing/personalized-cell.component.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/pages/components/edit-page/change-owner/change-owner.component.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/fake-widget/fake-widget.component.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/validators/events-date-time.validator.ts ***! + \*******************************************************************************************/ + +/*!*******************************************************************************************!*\ + !*** ./src/app/modules/shared/components/urlNameStructure/structure-urlName.component.ts ***! + \*******************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dynamic-item-index.component.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dynamic-item-index.constants.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/locatable-dynamic-item.service.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/operations-provider.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/libraries/breadcrumb-navigation/breadcrumb-navigation.component.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/zone-editor-widget-icons.constants.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/dropdown-selector/dropdown-selector.component.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/recurring-event/recurrent-rule.service.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/timezones/timezones.readonly.component.ts ***! + \********************************************************************************************/ + +/*!********************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/views/content-block-basic.component.ts ***! + \********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/entity/dynamic-item.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter.service.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/col-initializers.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/content-delete-command-extender.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/entity/dynamic-item-url-segment.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/strategies/filter-strategy-base.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/helpers/link-input-type.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/services/create-link-field-change.service.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/libraries/images/edit-image-margins/edit-image-margins.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/libraries/images/thumbnail-selector/thumbnail-selector.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/mobile-preview/mobile-preview-resizer.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/page-selecotr-component/page-selector.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/share-preview-link/share-preview-link.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/empty-widget/empty-widget.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/error-widget/error-widget.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/extenders/zone-editor-base-extender.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/widget-label/widget-label.component.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/services/field-change/field-change.service.ts ***! + \*********************************************************************************************/ + +/*!*********************************************************************************************!*\ + !*** ./src/app/modules/taxonomy/taxonomy-type-choice-field/taxonomyTypeChoice.component.ts ***! + \*********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/bulk-command.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/edit-command.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/move-command.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/page-templates/page-template-thumbnail.component.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/recurring-event/recurring-event-settings.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/languages-dropdown/languages-dropdown.component.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/modal-confirmation/modal-confirmation.component.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/sidebar/sidebar-slider/sidebar-slider.component.ts ***! + \**********************************************************************************************/ + +/*!**********************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/content/content-selector.component.ts ***! + \**********************************************************************************************/ + +/*!***********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/hierarchical-dynamic-item-service.ts ***! + \***********************************************************************************************/ + +/*!***********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/base-operations-filter.ts ***! + \***********************************************************************************************/ + +/*!***********************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/strategies/custom-filter-strategy.ts ***! + \***********************************************************************************************/ + +/*!***********************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/zone-splitter/zone-splitter.component.ts ***! + \***********************************************************************************************/ + +/*!***********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/recurring-event/recurring-event.component.ts ***! + \***********************************************************************************************/ + +/*!***********************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/recurring-event/recurring-event.constants.ts ***! + \***********************************************************************************************/ + +/*!***********************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/content-block/providers/content-editor-view.provider.ts ***! + \***********************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-cells/letter-mark.component.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter-interfaces.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/strategies/dynamic-item.strategy.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/delete-command.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/strategies/filter-strategy.factory.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/helpers/content-item-model.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-field-registry.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-field-settings.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/libraries/services/entity-data-resolvers/media-entity-data.resolver.ts ***! + \************************************************************************************************/ + +/*!************************************************************************************************!*\ + !*** ./src/app/modules/taxonomy/taxonomy-type-choice-field/taxonomyTypeChoiceFieldRegistry.ts ***! + \************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-cells/create-child.component.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/dynamic-sidebar.component.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/backend-tweaks.store.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/entity-data.resolver.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/commands-helper.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/reorder-command.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/restore-command.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/config-operations-filter.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/parent-operations-filter.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/strategies/single-property-strategy.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-field-validator.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-field.component.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/edit-page/change-template/change-template.component.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/inline-toolbar/inline-toolbar.component.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/widget-preview/widget-preview.component.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/list-settings/list-settings.component.ts ***! + \*************************************************************************************************/ + +/*!*************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/view-selector/view-selector.component.ts ***! + \*************************************************************************************************/ + +/*!**************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/bulk-operations/item-list-settings.ts ***! + \**************************************************************************************************/ + +/*!**************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/navigate-command.ts ***! + \**************************************************************************************************/ + +/*!**************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/schedule-command.ts ***! + \**************************************************************************************************/ + +/*!**************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/extenders/zone-editor-composite-extender.ts ***! + \**************************************************************************************************/ + +/*!**************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/zone-editor/extenders/zone-editor-templates-extender.ts ***! + \**************************************************************************************************/ + +/*!**************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/multiple-choice-chip/multiple-choice-chip.component.ts ***! + \**************************************************************************************************/ + +/*!**************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/date-time/date-time-selector.component.ts ***! + \**************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/bulk-operations/item-list.component.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-cells/list-languages.component.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/backend-tweaks.service.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/tweaks-column-provider.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/operation-command.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/site-sync.command.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/advanced-options/advanced-options.composite.component.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/navigation/home-navigation/home-navigation.component.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/navigation/navigation-menu/navigation-menu.component.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/shared/content-blocks/components/content-blocks-notification.component.ts ***! + \***************************************************************************************************/ + +/*!***************************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/components/field-section/field-section.component.ts ***! + \***************************************************************************************************/ + +/*!****************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/dialog/dynamic-update-item.component.ts ***! + \****************************************************************************************************/ + +/*!****************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/router/dynamic-item-router.component.ts ***! + \****************************************************************************************************/ + +/*!****************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/workflow-operation-settings.provider.ts ***! + \****************************************************************************************************/ + +/*!****************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/move-taxon.command.ts ***! + \****************************************************************************************************/ + +/*!****************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/date-time/datetime-filter-parser.service.ts ***! + \****************************************************************************************************/ + +/*!*****************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/merge-taxon.command.ts ***! + \*****************************************************************************************************/ + +/*!*****************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/external-operations-provider.ts ***! + \*****************************************************************************************************/ + +/*!*****************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/dropdown-selector/dropdown-selector.readonly.component.ts ***! + \*****************************************************************************************************/ + +/*!*****************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/calendar-grid-cell/calendar-grid-cell.component.ts ***! + \*****************************************************************************************************/ + +/*!*****************************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/components/editable-table/editable-table.component.ts ***! + \*****************************************************************************************************/ + +/*!*****************************************************************************************************!*\ + !*** ./src/app/modules/shared/insight/services/sitefinity-insight-touchpoints-requester.service.ts ***! + \*****************************************************************************************************/ + +/*!******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/custom-filter.component.ts ***! + \******************************************************************************************************/ + +/*!******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/confirmation-command.ts ***! + \******************************************************************************************************/ + +/*!******************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/helpers/content-link-input-model.ts ***! + \******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/bulk-operations/assign-taxons.component.ts ***! + \*******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/custom-filter-sidebar.component.ts ***! + \*******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/content-filter.component.ts ***! + \*******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/assign-taxons-command.ts ***! + \*******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/selector-base.command.ts ***! + \*******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/content-item-operations-filter.ts ***! + \*******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/navigation-operations-provider.ts ***! + \*******************************************************************************************************/ + +/*!*******************************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/components/editable-fields/editable-fields.component.ts ***! + \*******************************************************************************************************/ + +/*!********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-cells/list-children-count.component.ts ***! + \********************************************************************************************************/ + +/*!********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-cells/list-children-items.component.ts ***! + \********************************************************************************************************/ + +/*!********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/edit-in-dialog-command.ts ***! + \********************************************************************************************************/ + +/*!********************************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/components/editable-fields/dynamic-template.directive.ts ***! + \********************************************************************************************************/ + +/*!********************************************************************************************************!*\ + !*** ./src/app/modules/shared/fields-builder/components/field-wrapper/form-field-wrapper.component.ts ***! + \********************************************************************************************************/ + +/*!********************************************************************************************************!*\ + !*** ./src/app/modules/taxonomy/taxonomy-type-choice-field/taxonomy-type-choice-readonly.component.ts ***! + \********************************************************************************************************/ + +/*!********************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/list-field-mappings/list-field-mappings-base.ts ***! + \********************************************************************************************************/ + +/*!*********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/bulk-operations/bulk-operations.component.ts ***! + \*********************************************************************************************************/ + +/*!*********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-navigation/grid-navigation.component.ts ***! + \*********************************************************************************************************/ + +/*!*********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/backend-tweaks-form.resolver.ts ***! + \*********************************************************************************************************/ + +/*!*********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/backend-tweaks/backend-tweaks-grid.resolver.ts ***! + \*********************************************************************************************************/ + +/*!*********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/bulk-edit-taxon.command.ts ***! + \*********************************************************************************************************/ + +/*!*********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/move-to-library.command.ts ***! + \*********************************************************************************************************/ + +/*!*********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/parent-navigate-command.ts ***! + \*********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-cells/main-field/main-field.component.ts ***! + \**********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter-date-range.component.ts ***! + \**********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/list-item-filter-sidebar.component.ts ***! + \**********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/quick-navigation-sidebar.component.ts ***! + \**********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/strategies/single-property-contains-strategy.ts ***! + \**********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/create-hierarchical-taxa/create-hierarchical-taxa.component.ts ***! + \**********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/personalization-dropdown/personalization-dropdown.component.ts ***! + \**********************************************************************************************************/ + +/*!**********************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/workflow-operations-menu/workflow-operations-menu.component.ts ***! + \**********************************************************************************************************/ + +/*!***********************************************************************************************************!*\ + !*** ./src/app/modules/libraries/sidebars/libraries-navigation/libraries-navigation-sidebar.component.ts ***! + \***********************************************************************************************************/ + +/*!************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter-notification.component.ts ***! + \************************************************************************************************************/ + +/*!************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/list-item-settings-sidebar.component.ts ***! + \************************************************************************************************************/ + +/*!************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/bulk-command-extender-base.ts ***! + \************************************************************************************************************/ + +/*!************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/library-tasks-base.command.ts ***! + \************************************************************************************************************/ + +/*!************************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/localization-strategy-component/localization-strategy.settings.ts ***! + \************************************************************************************************************/ + +/*!************************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/notifications/basic-notification/basic-notification.component.ts ***! + \************************************************************************************************************/ + +/*!************************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/filter-content/filter-content-selector.component.ts ***! + \************************************************************************************************************/ + +/*!*************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/provider-selector/provider-selector.component.ts ***! + \*************************************************************************************************************/ + +/*!*************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/content-filter-count.component.ts ***! + \*************************************************************************************************************/ + +/*!*************************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/localization-strategy-component/localization-strategy.component.ts ***! + \*************************************************************************************************************/ + +/*!*************************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/search-site-composite-component/search-site.composite.component.ts ***! + \*************************************************************************************************************/ + +/*!*************************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/site-and-language-selector/site-and-language-selector.component.ts ***! + \*************************************************************************************************************/ + +/*!*************************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/list-field-mappings/list-field-mappings.component.ts ***! + \*************************************************************************************************************/ + +/*!**************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/delete-command-extender-base.ts ***! + \**************************************************************************************************************/ + +/*!**************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/edit-in-dialog-media-command.ts ***! + \**************************************************************************************************************/ + +/*!**************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/view-all-image-sizes-command.ts ***! + \**************************************************************************************************************/ + +/*!**************************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/event-time-grid-cell/event-time.grid-cell.base.component.ts ***! + \**************************************************************************************************************/ + +/*!**************************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/notifications/action-notification/action-notification.component.ts ***! + \**************************************************************************************************************/ + +/*!**************************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/notifications/notification-loader/notification-loader.component.ts ***! + \**************************************************************************************************************/ + +/*!**************************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/notifications/search-notification/search-notification.component.ts ***! + \**************************************************************************************************************/ + +/*!***************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/long-running-services/taxa-notification-builder.ts ***! + \***************************************************************************************************************/ + +/*!***************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/regenerate-thumbnails.command.ts ***! + \***************************************************************************************************************/ + +/*!****************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/selector-base.ts ***! + \****************************************************************************************************************/ + +/*!****************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/selector-item.ts ***! + \****************************************************************************************************************/ + +/*!****************************************************************************************************************!*\ + !*** ./src/app/modules/shared/insight/components/insight-lost-connection/insight-lost-connection.component.ts ***! + \****************************************************************************************************************/ + +/*!*****************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/long-running-services/background-task-data-parser.ts ***! + \*****************************************************************************************************************/ + +/*!*****************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/composite-bulk-command-extender.ts ***! + \*****************************************************************************************************************/ + +/*!*****************************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/list-field-mappings/list-field-mappings-css.component.ts ***! + \*****************************************************************************************************************/ + +/*!******************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/provider-selector/provider-selector-base.component.ts ***! + \******************************************************************************************************************/ + +/*!******************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter-renderers/renderer.constants.ts ***! + \******************************************************************************************************************/ + +/*!*******************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/composite-delete-command-extender.ts ***! + \*******************************************************************************************************************/ + +/*!*******************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/selector-context.ts ***! + \*******************************************************************************************************************/ + +/*!*******************************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/event-time-composite-component/event-time.composite.component.ts ***! + \*******************************************************************************************************************/ + +/*!********************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/services/operations/commands/bulk-edit-media-properties.command.ts ***! + \********************************************************************************************************************/ + +/*!*********************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/long-running-services/long-running-progress.component.ts ***! + \*********************************************************************************************************************/ + +/*!*********************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/provider-tab-selector/provider-tab-selector.component.ts ***! + \*********************************************************************************************************************/ + +/*!**********************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/bulk-operations/bulk-operations-notification.component.ts ***! + \**********************************************************************************************************************/ + +/*!**********************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/grid-cells/grid-action-menu/grid-action-menu.component.ts ***! + \**********************************************************************************************************************/ + +/*!**********************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter-flat-taxa-first-letter.component.ts ***! + \**********************************************************************************************************************/ + +/*!**********************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter-renderers/custom-filter.renderer.ts ***! + \**********************************************************************************************************************/ + +/*!*************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/link-insert-selector.component.ts ***! + \*************************************************************************************************************************/ + +/*!**************************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/long-running-services/background-task-notification-builder.ts ***! + \**************************************************************************************************************************/ + +/*!**************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/site-selector/constants.ts ***! + \**************************************************************************************************************************/ + +/*!***************************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/bulk-operations/bulk-change-template-notification.component.ts ***! + \***************************************************************************************************************************/ + +/*!***************************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/compare-translations/compare-translations.component.ts ***! + \***************************************************************************************************************************/ + +/*!***************************************************************************************************************************!*\ + !*** ./src/app/modules/pages/components/navigation-options-composite-component/navigation-options.composite.component.ts ***! + \***************************************************************************************************************************/ + +/*!****************************************************************************************************************************!*\ + !*** ./src/app/modules/shared/components/events/event-time-composite-component/event-time.composite.readonly.component.ts ***! + \****************************************************************************************************************************/ + +/*!******************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/site-selector/site-selector.ts ***! + \******************************************************************************************************************************/ + +/*!********************************************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/parameterized-choice-selector/parameterized-choice-selector.settings.ts ***! + \********************************************************************************************************************************/ + +/*!*********************************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/long-running-services/images-background-task-notification-builder.ts ***! + \*********************************************************************************************************************************/ + +/*!*********************************************************************************************************************************!*\ + !*** ./src/app/modules/content/dynamic-modules/components/sidebar/filter/filter-renderers/first-letter-taxa-filter.renderer.ts ***! + \*********************************************************************************************************************************/ + +/*!*********************************************************************************************************************************!*\ + !*** ./src/app/modules/widget-editor/providers/fields/parameterized-choice-selector/parameterized-choice-selector.component.ts ***! + \*********************************************************************************************************************************/ + +/*!**********************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/entity-selector/entity-selector.ts ***! + \**********************************************************************************************************************************/ + +/*!***********************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/site-selector/site-selector-item.ts ***! + \***********************************************************************************************************************************/ + +/*!************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/content-selector/content-selector.ts ***! + \************************************************************************************************************************************/ + +/*!**************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/language-selector/language-selector.ts ***! + \**************************************************************************************************************************************/ + +/*!**************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/provider-selector/provider-selector.ts ***! + \**************************************************************************************************************************************/ + +/*!*****************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/content-selector/content-selector-item.ts ***! + \*****************************************************************************************************************************************/ + +/*!*******************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/provider-selector/provider-selector-item.ts ***! + \*******************************************************************************************************************************************/ + +/*!********************************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/content-selector/strategies/content-selector-strategy.ts ***! + \********************************************************************************************************************************************************/ + +/*!**************************************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/content-selector/strategies/media-content-selector-strategy.ts ***! + \**************************************************************************************************************************************************************/ + +/*!****************************************************************************************************************************************************************!*\ + !*** ./src/app/modules/html/tools/create-link/link-insert-field/link-insert-selector/helpers/content-selector/strategies/generic-content-selector-strategy.ts ***! + \****************************************************************************************************************************************************************/ diff --git a/AdminApp/polyfills.bfd87c450ebcc0df.js b/AdminApp/polyfills.bfd87c450ebcc0df.js new file mode 100644 index 00000000..d1aa64da --- /dev/null +++ b/AdminApp/polyfills.bfd87c450ebcc0df.js @@ -0,0 +1,2 @@ +/*! For license information please see polyfills.bfd87c450ebcc0df.js.LICENSE.txt */ +(self.webpackChunkiris=self.webpackChunkiris||[]).push([["polyfills"],{770:function(){(function(){"use strict";var t=window.Document.prototype.createElement,r=window.Document.prototype.createElementNS,o=window.Document.prototype.importNode,i=window.Document.prototype.prepend,a=window.Document.prototype.append,u=window.DocumentFragment.prototype.prepend,l=window.DocumentFragment.prototype.append,h=window.Node.prototype.cloneNode,p=window.Node.prototype.appendChild,d=window.Node.prototype.insertBefore,v=window.Node.prototype.removeChild,y=window.Node.prototype.replaceChild,m=Object.getOwnPropertyDescriptor(window.Node.prototype,"textContent"),_=window.Element.prototype.attachShadow,w=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),k=window.Element.prototype.getAttribute,E=window.Element.prototype.setAttribute,C=window.Element.prototype.removeAttribute,O=window.Element.prototype.getAttributeNS,x=window.Element.prototype.setAttributeNS,j=window.Element.prototype.removeAttributeNS,D=window.Element.prototype.insertAdjacentElement,A=window.Element.prototype.insertAdjacentHTML,z=window.Element.prototype.prepend,I=window.Element.prototype.append,H=window.Element.prototype.before,B=window.Element.prototype.after,G=window.Element.prototype.replaceWith,q=window.Element.prototype.remove,$=window.HTMLElement,ee=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),te=window.HTMLElement.prototype.insertAdjacentElement,ne=window.HTMLElement.prototype.insertAdjacentHTML,re=new Set;function qa(t){var r=re.has(t);return t=/^[a-z][.0-9_a-z]*-[-.0-9_a-z]*$/.test(t),!r&&t}"annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" ").forEach((function(t){return re.add(t)}));var oe=document.contains?document.contains.bind(document):document.documentElement.contains.bind(document.documentElement);function J(t){var r=t.isConnected;if(void 0!==r)return r;if(oe(t))return!0;for(;t&&!(t.__CE_isImportDocument||t instanceof Document);)t=t.parentNode||(window.ShadowRoot&&t instanceof ShadowRoot?t.host:void 0);return!(!t||!(t.__CE_isImportDocument||t instanceof Document))}function K(t){var r=t.children;if(r)return Array.prototype.slice.call(r);for(r=[],t=t.firstChild;t;t=t.nextSibling)t.nodeType===Node.ELEMENT_NODE&&r.push(t);return r}function L(t,r){for(;r&&r!==t&&!r.nextSibling;)r=r.parentNode;return r&&r!==t?r.nextSibling:null}function M(t,r,o){for(var i=t;i;){if(i.nodeType===Node.ELEMENT_NODE){var a=i;r(a);var u=a.localName;if("link"===u&&"import"===a.getAttribute("rel")){if(i=a.import,void 0===o&&(o=new Set),i instanceof Node&&!o.has(i))for(o.add(i),i=i.firstChild;i;i=i.nextSibling)M(i,r,o);i=L(t,a);continue}if("template"===u){i=L(t,a);continue}if(a=a.__CE_shadowRoot)for(a=a.firstChild;a;a=a.nextSibling)M(a,r,o)}i=i.firstChild?i.firstChild:L(t,i)}}function N(){var t=!(null==ae||!ae.noDocumentConstructionObserver),r=!(null==ae||!ae.shadyDomFastWalk);this.m=[],this.g=[],this.j=!1,this.shadyDomFastWalk=r,this.I=!t}function P(t,r,o,i){var a=window.ShadyDOM;if(t.shadyDomFastWalk&&a&&a.inUse){if(r.nodeType===Node.ELEMENT_NODE&&o(r),r.querySelectorAll)for(t=a.nativeMethods.querySelectorAll.call(r,"*"),r=0;r",this._properties=r&&r.properties||{},this._zoneDelegate=new d(this,this._parent&&this._parent._zoneDelegate,r)}return u(Zone,[{key:"parent",get:function get(){return this._parent}},{key:"name",get:function get(){return this._name}},{key:"get",value:function get(t){var r=this.getZoneWith(t);if(r)return r._properties[t]}},{key:"getZoneWith",value:function getZoneWith(t){for(var r=this;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}},{key:"fork",value:function fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}},{key:"wrap",value:function wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var o=this._zoneDelegate.intercept(this,t,r),i=this;return function(){return i.runGuarded(o,this,arguments,r)}}},{key:"run",value:function run(t,r,o,i){q={parent:q,zone:this};try{return this._zoneDelegate.invoke(this,t,r,o,i)}finally{q=q.parent}}},{key:"runGuarded",value:function runGuarded(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;q={parent:q,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,o,i)}catch(t){if(this._zoneDelegate.handleError(this,t))throw t}}finally{q=q.parent}}},{key:"runTask",value:function runTask(t,r,o){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||E).name+"; Execution: "+this.name+")");if(t.state!==C||t.type!==H&&t.type!==I){var i=t.state!=j;i&&t._transitionTo(j,x),t.runCount++;var a=$;$=t,q={parent:q,zone:this};try{t.type==I&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,o)}catch(t){if(this._zoneDelegate.handleError(this,t))throw t}}finally{t.state!==C&&t.state!==A&&(t.type==H||t.data&&t.data.isPeriodic?i&&t._transitionTo(x,j):(t.runCount=0,this._updateTaskCount(t,-1),i&&t._transitionTo(C,j,C))),q=q.parent,$=a}}}},{key:"scheduleTask",value:function scheduleTask(t){if(t.zone&&t.zone!==this)for(var r=this;r;){if(r===t.zone)throw Error("can not reschedule task to ".concat(this.name," which is descendants of the original zone ").concat(t.zone.name));r=r.parent}t._transitionTo(O,C);var o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(A,O,C),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==O&&t._transitionTo(x,O),t}},{key:"scheduleMicroTask",value:function scheduleMicroTask(t,r,o,i){return this.scheduleTask(new v(z,t,r,o,i,void 0))}},{key:"scheduleMacroTask",value:function scheduleMacroTask(t,r,o,i,a){return this.scheduleTask(new v(I,t,r,o,i,a))}},{key:"scheduleEventTask",value:function scheduleEventTask(t,r,o,i,a){return this.scheduleTask(new v(H,t,r,o,i,a))}},{key:"cancelTask",value:function cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||E).name+"; Execution: "+this.name+")");t._transitionTo(D,x,j);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(A,D),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(C,D),t.runCount=0,t}},{key:"_updateTaskCount",value:function _updateTaskCount(t,r){var o=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(var i=0;i2&&void 0!==arguments[2]&&arguments[2];if(B.hasOwnProperty(r)){if(!a&&i)throw Error("Already loaded patch: "+r)}else if(!t["__Zone_disable_"+r]){var u="Zone:"+r;mark(u),B[r]=o(t,Zone,G),performanceMeasure(u,u)}}}]),Zone}();l.__symbol__=__symbol__;var h,p={name:"",onHasTask:function onHasTask(t,r,o,i){return t.hasTask(o,i)},onScheduleTask:function onScheduleTask(t,r,o,i){return t.scheduleTask(o,i)},onInvokeTask:function onInvokeTask(t,r,o,i,a,u){return t.invokeTask(o,i,a,u)},onCancelTask:function onCancelTask(t,r,o,i){return t.cancelTask(o,i)}},d=function(){function _ZoneDelegate(t,r,o){a(this,_ZoneDelegate),this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=t,this._parentDelegate=r,this._forkZS=o&&(o&&o.onFork?o:r._forkZS),this._forkDlgt=o&&(o.onFork?r:r._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:r._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:r._interceptZS),this._interceptDlgt=o&&(o.onIntercept?r:r._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:r._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:r._invokeZS),this._invokeDlgt=o&&(o.onInvoke?r:r._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:r._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:r._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?r:r._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:r._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:r._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?r:r._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:r._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:r._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?r:r._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:r._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:r._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?r:r._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:r._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var i=o&&o.onHasTask,u=r&&r._hasTaskZS;(i||u)&&(this._hasTaskZS=i?o:p,this._hasTaskDlgt=r,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=t,o.onScheduleTask||(this._scheduleTaskZS=p,this._scheduleTaskDlgt=r,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=p,this._invokeTaskDlgt=r,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=p,this._cancelTaskDlgt=r,this._cancelTaskCurrZone=this.zone))}return u(_ZoneDelegate,[{key:"fork",value:function fork(t,r){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,t,r):new l(t,r)}},{key:"intercept",value:function intercept(t,r,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,t,r,o):r}},{key:"invoke",value:function invoke(t,r,o,i,a){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,t,r,o,i,a):r.apply(o,i)}},{key:"handleError",value:function handleError(t,r){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,t,r)}},{key:"scheduleTask",value:function scheduleTask(t,r){var o=r;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),(o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,t,r))||(o=r);else if(r.scheduleFn)r.scheduleFn(r);else{if(r.type!=z)throw new Error("Task is missing scheduleFn.");scheduleMicroTask(r)}return o}},{key:"invokeTask",value:function invokeTask(t,r,o,i){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,t,r,o,i):r.callback.apply(o,i)}},{key:"cancelTask",value:function cancelTask(t,r){var o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,t,r);else{if(!r.cancelFn)throw Error("Task is not cancelable");o=r.cancelFn(r)}return o}},{key:"hasTask",value:function hasTask(t,r){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,t,r)}catch(r){this.handleError(t,r)}}},{key:"_updateTaskCount",value:function _updateTaskCount(t,r){var o=this._taskCounts,i=o[t],a=o[t]=i+r;if(a<0)throw new Error("More tasks executed then were scheduled.");if(0==i||0==a){var u={microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:t};this.hasTask(this.zone,u)}}}]),_ZoneDelegate}(),v=function(){function ZoneTask(r,o,i,u,l,h){if(a(this,ZoneTask),this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=r,this.source=o,this.data=u,this.scheduleFn=l,this.cancelFn=h,!i)throw new Error("callback is not defined");this.callback=i;var p=this;r===H&&u&&u.useG?this.invoke=ZoneTask.invokeTask:this.invoke=function(){return ZoneTask.invokeTask.call(t,p,this,arguments)}}return u(ZoneTask,[{key:"zone",get:function get(){return this._zone}},{key:"state",get:function get(){return this._state}},{key:"cancelScheduleRequest",value:function cancelScheduleRequest(){this._transitionTo(C,O)}},{key:"_transitionTo",value:function _transitionTo(t,r,o){if(this._state!==r&&this._state!==o)throw new Error("".concat(this.type," '").concat(this.source,"': can not transition to '").concat(t,"', expecting state '").concat(r,"'").concat(o?" or '"+o+"'":"",", was '").concat(this._state,"'."));this._state=t,t==C&&(this._zoneDelegates=null)}},{key:"toString",value:function toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}},{key:"toJSON",value:function toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}],[{key:"invokeTask",value:function invokeTask(t,r,o){t||(t=this),ee++;try{return t.runCount++,t.zone.runTask(t,r,o)}finally{1==ee&&drainMicroTaskQueue(),ee--}}}]),ZoneTask}(),y=__symbol__("setTimeout"),m=__symbol__("Promise"),_=__symbol__("then"),w=[],k=!1;function nativeScheduleMicroTask(r){if(h||t[m]&&(h=t[m].resolve(0)),h){var o=h[_];o||(o=h.then),o.call(h,r)}else t[y](r,0)}function scheduleMicroTask(t){0===ee&&0===w.length&&nativeScheduleMicroTask(drainMicroTaskQueue),t&&w.push(t)}function drainMicroTaskQueue(){if(!k){for(k=!0;w.length;){var t=w;w=[];for(var r=0;r=0;o--)"function"==typeof t[o]&&(t[o]=wrapWithCurrentZone(t[o],r+"_"+o));return t}function isPropertyWritable(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var A="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,z=!("nw"in D)&&void 0!==D.process&&"[object process]"==={}.toString.call(D.process),I=!z&&!A&&!(!x||!j.HTMLElement),H=void 0!==D.process&&"[object process]"==={}.toString.call(D.process)&&!A&&!(!x||!j.HTMLElement),B={},G=function wrapFn(t){if(t=t||D.event){var r=B[t.type];r||(r=B[t.type]=O("ON_PROPERTY"+t.type));var o,i=this||t.target||D,a=i[r];if(I&&i===j&&"error"===t.type){var u=t;!0===(o=a&&a.call(this,u.message,u.filename,u.lineno,u.colno,u.error))&&t.preventDefault()}else null==(o=a&&a.apply(this,arguments))||o||t.preventDefault();return o}};function patchProperty(t,r,o){var i=l(t,r);!i&&o&&(l(o,r)&&(i={enumerable:!0,configurable:!0}));if(i&&i.configurable){var a=O("on"+r+"patched");if(!t.hasOwnProperty(a)||!t[a]){delete i.writable,delete i.value;var u=i.get,p=i.set,d=r.substr(2),v=B[d];v||(v=B[d]=O("ON_PROPERTY"+d)),i.set=function(r){var o=this;(o||t!==D||(o=D),o)&&("function"==typeof o[v]&&o.removeEventListener(d,G),p&&p.call(o,null),o[v]=r,"function"==typeof r&&o.addEventListener(d,G,!1))},i.get=function(){var o=this;if(o||t!==D||(o=D),!o)return null;var a=o[v];if(a)return a;if(u){var l=u.call(this);if(l)return i.set.call(this,l),"function"==typeof o.removeAttribute&&o.removeAttribute(r),l}return null},h(t,r,i),t[a]=!0}}}function patchOnProperties(t,r,o){if(r)for(var i=0;i=0&&"function"==typeof i[a.cbIdx]?scheduleMacroTaskWithCurrentZone(a.name,i[a.cbIdx],a,scheduleTask):t.apply(r,i)}}))}function attachOriginToPatched(t,r){t[O("OriginalDelegate")]=r}var $=!1,ee=!1;function isIEOrEdge(){if($)return ee;$=!0;try{var t=j.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(ee=!0)}catch(t){}return ee}Zone.__load_patch("ZoneAwarePromise",(function(t,r,o){var l=Object.getOwnPropertyDescriptor,h=Object.defineProperty;var p=o.symbol,d=[],v=!0===t[p("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],y=p("Promise"),m=p("then");o.onUnhandledError=function(t){if(o.showUncaughtError()){var r=t&&t.rejection;r?console.error("Unhandled Promise rejection:",r instanceof Error?r.message:r,"; Zone:",t.zone.name,"; Task:",t.task&&t.task.source,"; Value:",r,r instanceof Error?r.stack:void 0):console.error(t)}},o.microtaskDrainDone=function(){for(var t=function _loop2(){var t=d.shift();try{t.zone.runGuarded((function(){if(t.throwOriginal)throw t.rejection;throw t}))}catch(t){!function handleUnhandledRejection(t){o.onUnhandledError(t);try{var i=r[_];"function"==typeof i&&i.call(this,t)}catch(t){}}(t)}};d.length;)t()};var _=p("unhandledPromiseRejectionHandler");function isThenable(t){return t&&t.then}function forwardResolution(t){return t}function forwardRejection(t){return B.reject(t)}var w=p("state"),k=p("value"),E=p("finally"),C=p("parentPromiseValue"),O=p("parentPromiseState"),x=null,j=!0,D=!1;function makeResolver(t,r){return function(o){try{resolvePromise(t,r,o)}catch(r){resolvePromise(t,!1,r)}}}var A=p("currentTaskTrace");function resolvePromise(t,i,a){var u=function once(){var t=!1;return function wrapper(r){return function(){t||(t=!0,r.apply(null,arguments))}}}();if(t===a)throw new TypeError("Promise resolved with itself");if(t[w]===x){var l=null;try{"object"!=typeof a&&"function"!=typeof a||(l=a&&a.then)}catch(r){return u((function(){resolvePromise(t,!1,r)}))(),t}if(i!==D&&a instanceof B&&a.hasOwnProperty(w)&&a.hasOwnProperty(k)&&a[w]!==x)clearRejectedNoCatch(a),resolvePromise(t,a[w],a[k]);else if(i!==D&&"function"==typeof l)try{l.call(a,u(makeResolver(t,i)),u(makeResolver(t,!1)))}catch(r){u((function(){resolvePromise(t,!1,r)}))()}else{t[w]=i;var p=t[k];if(t[k]=a,t[E]===E&&i===j&&(t[w]=t[O],t[k]=t[C]),i===D&&a instanceof Error){var y=r.currentTask&&r.currentTask.data&&r.currentTask.data.__creationTrace__;y&&h(a,A,{configurable:!0,enumerable:!1,writable:!0,value:y})}for(var m=0;m4&&void 0!==arguments[4]&&arguments[4],p=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return function(){var d=this||t,v=arguments[0];o&&o.transferEventName&&(v=o.transferEventName(v));var _=arguments[1];if(!_)return r.apply(this,arguments);if(z&&"uncaughtException"===v)return r.apply(this,arguments);var w=!1;if("function"!=typeof _){if(!_.handleEvent)return r.apply(this,arguments);w=!0}if(!y||y(r,_,d,arguments)){var C=te&&!!se&&-1!==se.indexOf(v),O=buildEventListenerOptions(arguments[2],C);if(ce)for(var x=0;x2})).map((function(t){return t.substring(2)}))}function propertyDescriptorPatch(t,r){if((!z||H)&&!Zone[t.symbol("patchEvents")]){var o=r.__Zone_ignore_on_properties,i=[];if(I){var a=window;i=i.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);var u=function isIE(){try{var t=j.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(t){}return!1}()?[{target:a,ignoreProperties:["error"]}]:[];patchFilteredProperties(a,getOnEventNames(a),o?o.concat(u):o,p(a))}i=i.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(var l=0;l0){var a=t.invoke;t.invoke=function(){for(var o=l[r.__symbol__("loadfalse")],u=0;u1?r-1:0),i=1;i0?0|r:0;return this.substring(o,o+t.length)===t}}),window.process={env:{DEBUG:void 0}}},800:function(t,r,o){var i=o(775),a=o(791),u=o(801),l=i.TypeError;t.exports=function(t){if(a(t))return t;throw l(u(t)+" is not a function")}},860:function(t,r,o){var i=o(775),a=o(791),u=i.String,l=i.TypeError;t.exports=function(t){if("object"==typeof t||a(t))return t;throw l("Can't set "+u(t)+" as a prototype")}},855:function(t,r,o){var i=o(775),a=o(794),u=i.TypeError;t.exports=function(t,r){if(a(r,t))return t;throw u("Incorrect invocation")}},816:function(t,r,o){var i=o(775),a=o(790),u=i.String,l=i.TypeError;t.exports=function(t){if(a(t))return t;throw l(u(t)+" is not an object")}},844:function(t,r,o){var i=o(778);t.exports=i((function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}))},828:function(t,r,o){var i=o(783),a=o(829),u=o(831),createMethod=function(t){return function(r,o,l){var h,p=i(r),d=u(p),v=a(l,d);if(t&&o!=o){for(;d>v;)if((h=p[v++])!=h)return!0}else for(;d>v;v++)if((t||v in p)&&p[v]===o)return t||v||0;return!t&&-1}};t.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},875:function(t,r,o){var i=o(847),a=o(785),u=o(784),l=o(809),h=o(831),p=o(876),d=a([].push),createMethod=function(t){var r=1==t,o=2==t,a=3==t,v=4==t,y=6==t,m=7==t,_=5==t||y;return function(w,k,E,C){for(var O,x,j=l(w),D=u(j),A=i(k,E),z=h(D),I=0,H=C||p,B=r?H(w,z):o||m?H(w,0):void 0;z>I;I++)if((_||I in D)&&(x=A(O=D[I],I,j),t))if(r)B[I]=x;else if(x)switch(t){case 3:return!0;case 5:return O;case 6:return I;case 2:d(B,O)}else switch(t){case 4:return!1;case 7:d(B,O)}return y?-1:a||v?v:B}};t.exports={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6),filterReject:createMethod(7)}},841:function(t,r,o){var i=o(775),a=o(829),u=o(831),l=o(842),h=i.Array,p=Math.max;t.exports=function(t,r,o){for(var i=u(t),d=a(r,i),v=a(void 0===o?i:o,i),y=h(p(v-d,0)),m=0;d1?arguments[1]:void 0);r=r?r.next:o.first;)for(i(r.value,r.key,this);r&&r.removed;)r=r.previous},has:function has(t){return!!getEntry(this,t)}}),u(_,o?{get:function get(t){var r=getEntry(this,t);return r&&r.value},set:function set(t,r){return define(this,0===t?0:t,r)}}:{add:function add(t){return define(this,t=0===t?0:t,t)}}),y&&i(_,"size",{get:function(){return E(this).size}}),v},setStrong:function(t,r,o){var i=r+" Iterator",a=k(r),u=k(i);d(t,r,(function(t,r){w(this,{type:i,target:t,state:a(t),kind:r,last:void 0})}),(function(){for(var t=u(this),r=t.kind,o=t.last;o&&o.removed;)o=o.previous;return t.target&&(t.last=o=o?o.next:t.state.first)?"keys"==r?{value:o.key,done:!1}:"values"==r?{value:o.value,done:!1}:{value:[o.key,o.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),o?"entries":"values",!o,!0),v(r)}}},874:function(t,r,o){"use strict";var i=o(785),a=o(866),u=o(839).getWeakData,l=o(816),h=o(790),p=o(855),d=o(846),v=o(875),y=o(808),m=o(819),_=m.set,w=m.getterFor,k=v.find,E=v.findIndex,C=i([].splice),O=0,uncaughtFrozenStore=function(t){return t.frozen||(t.frozen=new UncaughtFrozenStore)},UncaughtFrozenStore=function(){this.entries=[]},findUncaughtFrozen=function(t,r){return k(t.entries,(function(t){return t[0]===r}))};UncaughtFrozenStore.prototype={get:function(t){var r=findUncaughtFrozen(this,t);if(r)return r[1]},has:function(t){return!!findUncaughtFrozen(this,t)},set:function(t,r){var o=findUncaughtFrozen(this,t);o?o[1]=r:this.entries.push([t,r])},delete:function(t){var r=E(this.entries,(function(r){return r[0]===t}));return~r&&C(this.entries,r,1),!!~r}},t.exports={getConstructor:function(t,r,o,i){var v=t((function(t,a){p(t,m),_(t,{type:r,id:O++,frozen:void 0}),null!=a&&d(a,t[i],{that:t,AS_ENTRIES:o})})),m=v.prototype,k=w(r),define=function(t,r,o){var i=k(t),a=u(l(r),!0);return!0===a?uncaughtFrozenStore(i).set(r,o):a[i.id]=o,t};return a(m,{delete:function(t){var r=k(this);if(!h(t))return!1;var o=u(t);return!0===o?uncaughtFrozenStore(r).delete(t):o&&y(o,r.id)&&delete o[r.id]},has:function has(t){var r=k(this);if(!h(t))return!1;var o=u(t);return!0===o?uncaughtFrozenStore(r).has(t):o&&y(o,r.id)}}),a(m,o?{get:function get(t){var r=k(this);if(h(t)){var o=u(t);return!0===o?uncaughtFrozenStore(r).get(t):o?o[r.id]:void 0}},set:function set(t,r){return define(this,t,r)}}:{add:function add(t){return define(this,t,!0)}}),v}}},838:function(t,r,o){"use strict";var i=o(774),a=o(775),u=o(785),l=o(835),h=o(817),p=o(839),d=o(846),v=o(855),y=o(791),m=o(790),_=o(778),w=o(856),k=o(857),E=o(858);t.exports=function(t,r,o){var C=-1!==t.indexOf("Map"),O=-1!==t.indexOf("Weak"),x=C?"set":"add",j=a[t],D=j&&j.prototype,A=j,z={},fixMethod=function(t){var r=u(D[t]);h(D,t,"add"==t?function add(t){return r(this,0===t?0:t),this}:"delete"==t?function(t){return!(O&&!m(t))&&r(this,0===t?0:t)}:"get"==t?function get(t){return O&&!m(t)?void 0:r(this,0===t?0:t)}:"has"==t?function has(t){return!(O&&!m(t))&&r(this,0===t?0:t)}:function set(t,o){return r(this,0===t?0:t,o),this})};if(l(t,!y(j)||!(O||D.forEach&&!_((function(){(new j).entries().next()})))))A=o.getConstructor(r,t,C,x),p.enable();else if(l(t,!0)){var I=new A,H=I[x](O?{}:-0,1)!=I,B=_((function(){I.has(1)})),G=w((function(t){new j(t)})),q=!O&&_((function(){for(var t=new j,r=5;r--;)t[x](r,r);return!t.has(-0)}));G||((A=r((function(t,r){v(t,D);var o=E(new j,t,A);return null!=r&&d(r,o[x],{that:o,AS_ENTRIES:C}),o}))).prototype=D,D.constructor=A),(B||q)&&(fixMethod("delete"),fixMethod("has"),C&&fixMethod("get")),(q||H)&&fixMethod(x),O&&D.clear&&delete D.clear}return z[t]=A,i({global:!0,forced:A!=j},z),k(A,t),O||o.setStrong(A,t,C),A}},824:function(t,r,o){var i=o(808),a=o(825),u=o(776),l=o(814);t.exports=function(t,r,o){for(var h=a(r),p=l.f,d=u.f,v=0;v0&&i[0]<4?1:+(i[0]+i[1])),!a&&l&&(!(i=l.match(/Edge\/(\d+)/))||i[1]>=74)&&(i=l.match(/Chrome\/(\d+)/))&&(a=+i[1]),t.exports=a},833:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},774:function(t,r,o){var i=o(775),a=o(776).f,u=o(813),l=o(817),h=o(807),p=o(824),d=o(835);t.exports=function(t,r){var o,v,y,m,_,w=t.target,k=t.global,E=t.stat;if(o=k?i:E?i[w]||h(w,{}):(i[w]||{}).prototype)for(v in r){if(m=r[v],y=t.noTargetGet?(_=a(o,v))&&_.value:o[v],!d(k?v:w+(E?".":"#")+v,t.forced)&&void 0!==y){if(typeof m==typeof y)continue;p(m,y)}(t.sham||y&&y.sham)&&u(m,"sham",!0),l(o,v,m,t)}}},778:function(t){t.exports=function(t){try{return!!t()}catch(t){return!0}}},845:function(t,r,o){var i=o(778);t.exports=!i((function(){return Object.isExtensible(Object.preventExtensions({}))}))},847:function(t,r,o){var i=o(785),a=o(800),u=o(780),l=i(i.bind);t.exports=function(t,r){return a(t),void 0===r?t:u?l(t,r):function(){return t.apply(r,arguments)}}},780:function(t,r,o){var i=o(778);t.exports=!i((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},779:function(t,r,o){var i=o(780),a=Function.prototype.call;t.exports=i?a.bind(a):function(){return a.apply(a,arguments)}},823:function(t,r,o){var i=o(777),a=o(808),u=Function.prototype,l=i&&Object.getOwnPropertyDescriptor,h=a(u,"name"),p=h&&"something"===function something(){}.name,d=h&&(!i||i&&l(u,"name").configurable);t.exports={EXISTS:h,PROPER:p,CONFIGURABLE:d}},785:function(t,r,o){var i=o(780),a=Function.prototype,u=a.bind,l=a.call,h=i&&u.bind(l,l);t.exports=i?function(t){return t&&h(t)}:function(t){return t&&function(){return l.apply(t,arguments)}}},793:function(t,r,o){var i=o(775),a=o(791),aFunction=function(t){return a(t)?t:void 0};t.exports=function(t,r){return arguments.length<2?aFunction(i[t]):i[t]&&i[t][r]}},851:function(t,r,o){var i=o(852),a=o(799),u=o(849),l=o(803)("iterator");t.exports=function(t){if(null!=t)return a(t,l)||a(t,"@@iterator")||u[i(t)]}},850:function(t,r,o){var i=o(775),a=o(779),u=o(800),l=o(816),h=o(801),p=o(851),d=i.TypeError;t.exports=function(t,r){var o=arguments.length<2?p(t):r;if(u(o))return l(a(o,t));throw d(h(t)+" is not iterable")}},799:function(t,r,o){var i=o(800);t.exports=function(t,r){var o=t[r];return null==o?void 0:i(o)}},775:function(t){var check=function(t){return t&&t.Math==Math&&t};t.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof global&&global)||function(){return this}()||Function("return this")()},808:function(t,r,o){var i=o(785),a=o(809),u=i({}.hasOwnProperty);t.exports=Object.hasOwn||function hasOwn(t,r){return u(a(t),r)}},822:function(t){t.exports={}},865:function(t,r,o){var i=o(793);t.exports=i("document","documentElement")},811:function(t,r,o){var i=o(777),a=o(778),u=o(812);t.exports=!i&&!a((function(){return 7!=Object.defineProperty(u("div"),"a",{get:function(){return 7}}).a}))},784:function(t,r,o){var i=o(775),a=o(785),u=o(778),l=o(786),h=i.Object,p=a("".split);t.exports=u((function(){return!h("z").propertyIsEnumerable(0)}))?function(t){return"String"==l(t)?p(t,""):h(t)}:h},858:function(t,r,o){var i=o(791),a=o(790),u=o(859);t.exports=function(t,r,o){var l,h;return u&&i(l=r.constructor)&&l!==o&&a(h=l.prototype)&&h!==o.prototype&&u(t,h),t}},818:function(t,r,o){var i=o(785),a=o(791),u=o(806),l=i(Function.toString);a(u.inspectSource)||(u.inspectSource=function(t){return l(t)}),t.exports=u.inspectSource},839:function(t,r,o){var i=o(774),a=o(785),u=o(822),l=o(790),h=o(808),p=o(814).f,d=o(826),v=o(840),y=o(843),m=o(810),_=o(845),w=!1,k=m("meta"),E=0,setMetadata=function(t){p(t,k,{value:{objectID:"O"+E++,weakData:{}}})},C=t.exports={enable:function(){C.enable=function(){},w=!0;var t=d.f,r=a([].splice),o={};o[k]=1,t(o).length&&(d.f=function(o){for(var i=t(o),a=0,u=i.length;aC;C++)if((x=callFn(t[C]))&&v(k,x))return x;return new Result(!1)}i=y(t,E)}for(j=i.next;!(D=u(j,i)).done;){try{x=callFn(D.value)}catch(t){_(i,"throw",t)}if("object"==typeof x&&x&&v(k,x))return x}return new Result(!1)}},854:function(t,r,o){var i=o(779),a=o(816),u=o(799);t.exports=function(t,r,o){var l,h;a(t);try{if(!(l=u(t,"return"))){if("throw"===r)throw o;return o}l=i(l,t)}catch(t){h=!0,l=t}if("throw"===r)throw o;if(h)throw l;return a(l),o}},869:function(t,r,o){"use strict";var i,a,u,l=o(778),h=o(791),p=o(862),d=o(870),v=o(817),y=o(803),m=o(805),_=y("iterator"),w=!1;[].keys&&("next"in(u=[].keys())?(a=d(d(u)))!==Object.prototype&&(i=a):w=!0),null==i||l((function(){var t={};return i[_].call(t)!==t}))?i={}:m&&(i=p(i)),h(i[_])||v(i,_,(function(){return this})),t.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:w}},849:function(t){t.exports={}},831:function(t,r,o){var i=o(832);t.exports=function(t){return i(t.length)}},796:function(t,r,o){var i=o(797),a=o(778);t.exports=!!Object.getOwnPropertySymbols&&!a((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&i&&i<41}))},820:function(t,r,o){var i=o(775),a=o(791),u=o(818),l=i.WeakMap;t.exports=a(l)&&/native code/.test(u(l))},862:function(t,r,o){var i,a=o(816),u=o(863),l=o(833),h=o(822),p=o(865),d=o(812),v=o(821),y=v("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(t){return" + @if (SystemManager.IsDesignMode && !SystemManager.IsPreviewMode) { @@ -67,8 +57,8 @@ else } else { - @Html.Script(ScriptRef.JQuery, "top", false) - @Html.Script(ScriptRef.KendoAll, "top", false) - @Html.Script(ScriptRef.KendoTimezones, "top", false) + @Html.Script(ScriptRef.JQuery, "top", false) + @Html.Script(ScriptRef.KendoAll, "top", false) + @Html.Script(ScriptRef.KendoTimezones, "top", false) @Html.Script(Url.WidgetContent("Mvc/Scripts/EventScheduler/scheduler-events.js"), "bottom", false) } \ No newline at end of file diff --git a/ResourcePackages/Bootstrap/MVC/Views/Layouts/quantum.cshtml b/ResourcePackages/Bootstrap/MVC/Views/Layouts/quantum.cshtml index 3fbb2b64..14b801cd 100644 --- a/ResourcePackages/Bootstrap/MVC/Views/Layouts/quantum.cshtml +++ b/ResourcePackages/Bootstrap/MVC/Views/Layouts/quantum.cshtml @@ -23,37 +23,39 @@ @Html.StyleSheet(Url.Content("~/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.css"), "head") - - @Html.Section("top") -
    -
    - @Html.SfPlaceHolder("header") -
    -
    - @Html.SfPlaceHolder("content") -
    -
    - @Html.SfPlaceHolder("footer") -
    -
    - @Html.Section("bottom") + +
    + @Html.Section("top") +
    +
    + @Html.SfPlaceHolder("header") +
    +
    + @Html.SfPlaceHolder("content") +
    +
    + @Html.SfPlaceHolder("footer") +
    +
    + @Html.Section("bottom") - @* Inline editing scripts and helpers. They should be available only when inline editing is possible. *@ - @if (Html.ShouldRenderInlineEditing()) - { - @Html.Script(ScriptRef.MicrosoftAjax, "top") - @Html.Script(ScriptRef.MicrosoftAjaxCore, "top") - @Html.Script(ScriptRef.JQuery, "top") + @* Inline editing scripts and helpers. They should be available only when inline editing is possible. *@ + @if (Html.ShouldRenderInlineEditing()) + { + @Html.Script(ScriptRef.MicrosoftAjax, "top") + @Html.Script(ScriptRef.MicrosoftAjaxCore, "top") + @Html.Script(ScriptRef.JQuery, "top") - @Html.Script(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.jquery.ba-outside-events.min.js"), "top") - @Html.Script(ScriptRef.KendoAll, "top") - @Html.Script(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.RequireJS.require.min.js"), "top") - @Html.InlineEditingManager(false) - } + @Html.Script(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.jquery.ba-outside-events.min.js"), "top") + @Html.Script(ScriptRef.KendoAll, "top") + @Html.Script(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.RequireJS.require.min.js"), "top") + @Html.InlineEditingManager(false) + } - @if (!SystemManager.IsDesignMode || SystemManager.IsPreviewMode) - { - @Html.Script(Url.Content("~/ResourcePackages/Bootstrap/assets/dist/js/quantum.js"), "bottom") - } + @if (!SystemManager.IsDesignMode || SystemManager.IsPreviewMode) + { + @Html.Script(Url.Content("~/ResourcePackages/Bootstrap/assets/dist/js/quantum.js"), "bottom") + } +
    diff --git a/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox.cshtml b/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox.cshtml index 5a848d67..a1c6c409 100644 --- a/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox.cshtml +++ b/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox.cshtml @@ -19,7 +19,6 @@ - diff --git a/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox_Q.cshtml b/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox_Q.cshtml index e3f44481..55b96950 100644 --- a/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox_Q.cshtml +++ b/ResourcePackages/Bootstrap/MVC/Views/SearchBox/SearchBox_Q.cshtml @@ -25,7 +25,6 @@ - diff --git a/ResourcePackages/Bootstrap/MVC/Views/SearchResults/SearchResults.cshtml b/ResourcePackages/Bootstrap/MVC/Views/SearchResults/SearchResults.cshtml index e9c6b571..25b51f6d 100644 --- a/ResourcePackages/Bootstrap/MVC/Views/SearchResults/SearchResults.cshtml +++ b/ResourcePackages/Bootstrap/MVC/Views/SearchResults/SearchResults.cshtml @@ -174,7 +174,6 @@ - diff --git a/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.css b/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.css index e7663124..c93e2fd9 100644 --- a/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.css +++ b/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.css @@ -60,6 +60,9 @@ Inherit values from above if necessary. * { box-sizing: border-box; } +html { + font-size: 14px; } + body.main-body { font-family: "Open Sans", sans-serif; font-size: 18px; @@ -495,7 +498,7 @@ video { padding: 0; } .mega-menu li { - padding: 0.9rem; } + padding: 9px; } .mega-menu a { font-size: 16px; @@ -1658,6 +1661,7 @@ a { color: white; opacity: 0.8; } -/*OTHER PAGES STYLES END*/ +.sfWatermark { + z-index: 2; } -/*# sourceMappingURL=quantum-style.css.map */ +/*OTHER PAGES STYLES END*/ diff --git a/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.min.css b/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.min.css index 96c36f40..6ea927ec 100644 --- a/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.min.css +++ b/ResourcePackages/Bootstrap/assets/dist/css/quantum-style.min.css @@ -1 +1 @@ -@charset "UTF-8";.font-display,body.main-body{font-family:"Open Sans",sans-serif}.language_select,.more,.sflanguagesDropDown{text-transform:uppercase}*,.slick-slider{box-sizing:border-box}.showcase-list-item,.slick-slide{align-self:center}.slick-loading .slick-slide,.slick-loading .slick-track{visibility:hidden}.events_div ul,.foot_nav,.highlights ul,.news_container,.showcase-list,.slick-dots,ul{list-style:none}.color-primary{color:#00b4c9}.color-secondary{color:#81dfb0}.color-bright{color:#ffae00}.bg-default:after,.clearfix:after{content:"";display:table;clear:both}.q-hidden{display:none}.bg-default{background-color:#eee}.main-color,.main-color a{color:#00b4c9}.text-light{color:#fff}.text-light a{color:#ffae00}.text-light a:hover{color:#ff9839}.text-light .btn{background:#ffae00;color:#fff}.text-light .btn:hover{background:#ff9839;color:#fff}.center-text{text-align:center}body.main-body{background-image:url(../../dist/images/graphic_black.png);background-size:100.1%}@media (max-width:715px){body.main-body{background-repeat:no-repeat}}p{color:#555;font-size:16px}.blue-big p{color:#fff}h1,h3{color:#00b4c9}@media (max-width:885px){em{font-size:1em!important}}a,a:active,a:hover,a:link,a:visited{text-decoration:none}.blue-big h3,.green-big h3{color:#fff}main>.row:not(:first-child):not(:last-child){padding-top:5%;padding-bottom:5%}main img{max-width:100%}.more{font-size:14px;font-weight:lighter;color:#A9A9A9;padding-top:6px}.ribbon span,.sf-lang-selector a.selected,.splash-text,.viewMapLnk{font-weight:700}.quantum{font-size:29px}.sfPublicWrapper{max-width:1900px;margin:auto}header{max-width:1400px;margin:auto;padding-top:10px}.language_select,.loginn{margin-bottom:10px}.header_group{padding-top:1%}.logo:hover{text-decoration:none!important}.retailer:hover,a{text-decoration:none}.language_select{border:none;color:#00b4c9;background:0 0}.language_select:focus{border:none;outline:0}.language_select:hover{cursor:pointer}.glyphicon-search{position:absolute;top:6px;right:5px;color:#00b4c9;font-size:1.5em}.glyphicon-search:hover{cursor:pointer!important}.loginn a:hover,.pause-button,.play-button:hover,.slick-list.dragging,.sociaal:hover,.viewMapLnk:hover{cursor:pointer}.searchbar{border-radius:20px;padding:5px;border:2px solid #00b4c9;color:#00b4c9}.foot_nav,.footer_social{padding-top:2%}.foot_nav,.footer_social,.qsitemap{padding-bottom:2%;text-align:center}.HomepageHeader-hgroup2{position:absolute;top:30%;width:100%;height:140px;text-align:center;text-shadow:0 0 30px rgba(8,58,61,.2)}.HomepageHeader2,.form-group{position:relative}@media (max-width:885px){.HomepageHeader-hgroup2{top:20%}}.HomepageHeader-hgroup2 h1{font-size:70px;font-weight:700}@media (max-width:885px){.HomepageHeader-hgroup2 h1{font-size:30px}}@media (max-width:415px){.HomepageHeader-hgroup2{top:10%}.HomepageHeader-hgroup2 h1{font-size:22px}.HomepageHeader-hgroup2 h2{display:none}}.HomepageHeader-hgroup2 h2{font-size:40px;color:#fff}@media (max-width:885px){.HomepageHeader-hgroup2 h2{font-size:20px;margin-top:0}}.sflanguagesDropDown{color:#00b4c9;border:none}.rsRow{height:100px}.logged-test a{color:#00b4c9;margin-right:5px}.qsitemap,footer{margin:auto}.footer_social a:nth-child(odd){color:#00b4c9}.footer_social a:nth-child(even){color:#81dfb0}.footer_social a:hover{text-decoration:none;color:#ffae00}.footer_social a span{padding-left:1%;padding-right:1%}.qsitemap{max-width:1240px}.blue_landing img,.sf-Image-wrapper img,video{max-width:100%}.nav-sitemap>li{border:0}.nav-stacked a:hover{background-color:transparent!important;color:#ffae00}.nav-sitemap a,.nav-stacked a{color:#00b4c9}.foot_nav{display:inline-block}.copyright{text-align:center}@media (max-width:415px){.nav-stacked li{display:none}}.sfL100Blue{background-image:url(/ResourcePackages/Bootstrap/assets/icons/blue.png)!important}.sfL100Green{background-image:url(/ResourcePackages/Bootstrap/assets/icons/green.png)!important}.sf-FileField-input{border-radius:4px;height:34px;padding:5px;width:100%;margin-top:5px}.subscribe_button{margin-top:3%}.RadScheduler_Metro .rsHeader{background:#00b4c9}.sf-lang-selector a,.sf-lang-selector a.selected{text-transform:capitalize;background-color:inherit!important;color:#00b4c9}.sf-img-thmb img{height:40px!important;width:40px!important}.sf-lang-selector a{padding:0}.sf-list-content,.sf-list-item a{padding-bottom:10px;padding-top:10px}.sf-Comment-count{margin-left:0;margin-bottom:10px}.sf-list-item a{color:#00b4c9;font-size:20px}.sf-list-content{color:gray;margin:0!important;border-bottom:1px solid #d3d3d3}.video-banner{height:auto}.viewMapLnk{color:#00B4C9;font-size:16px}.form-group input{border:1px solid #00b4c9}.pagination{margin:2%}.btn-quantum{background-color:#ffae00;border-color:#ffae00}.btn-quantum:hover{background-color:#ff9839;border-color:#ff9839}.carousel-control.left,.carousel-control.right{background-image:none!important}.custom-slider{margin:auto;padding:2%;width:90%}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:inherit!important}@media (max-width:885px){.navbar-nav{margin:0!important}}.mega-menu,.sfcalendarEventPreviewTitle{margin-top:0}.blue-horizontal{background-color:transparent;border:0;text-transform:uppercase;font-size:16px}.blue-horizontal li{text-align:center}@media (max-width:775px){.blue-horizontal li{text-align:left}}.download_item,.news_image,.request_quote,.ribbon span,.shop_news,.showcase-list-item,.showcase_heading,.showcase_image,.splash-text{text-align:center}.navbar-collapse{padding:0!important}.dropdown-toggle{padding-left:0!important;padding-right:30px!important}.mega-menu{border-radius:0;width:650px}@media (max-width:1085px){.mega-menu{width:370px}}@media (max-width:775px){.mega-menu{width:100%}}.mega-menu li{display:inline-block;padding:7px}.mega-menu li.mega-menu-column{width:210px}@media (max-width:1085px){.mega-menu li.mega-menu-column{width:115px}}@media (max-width:775px){.mega-menu li.mega-menu-column{width:100%}}.mega-menu .nav-header{margin-bottom:10px;display:inline-block;width:100%;border-bottom:1px solid #eee}.mega-menu img{padding-bottom:10px;width:60%}.mega-menu a{color:#777}@media (max-width:775px){.mega-menu img,.mega-menu span{display:none}}.mega-menu-column ul{padding:0}.mega-menu-column span{text-transform:none}.expand a,.feat_heading,.news_author,.retailer,.ribbon span{text-transform:uppercase}.mega-menu-column:hover{background-color:azure;cursor:pointer}.even-menu{width:430px}.event_details{border:1px solid #ccc;padding:2%;background-color:#fff}.event_date_place{background-color:#00b4c9;padding:1%}.feat_text,.feat_text_2{position:absolute;padding:2%}.event_date_place address,.event_date_place p{color:#fff}.k-header{background-color:inherit;border-bottom-width:0}.events_div a{color:#00b4c9}.events_container{background-color:rgba(255,255,255,.7)}.carousel-inner>.item>a>img,.carousel-inner>.item>img{margin:auto!important}.glyphicon-chevron-right{right:30%!important}.glyphicon-chevron-left{left:30%!important}.glyphicon-chevron-left,.glyphicon-chevron-right{font-size:3em;color:#00b4c9;position:absolute;top:50%}@media (max-width:885px){.mega-menu span{display:none}.glyphicon-chevron-left,.glyphicon-chevron-right{font-size:1em}}.feat_text{top:20%;left:50%;margin-right:10%}.feat_text_2{top:40%;left:5%;margin-left:5%}.inverted,.splash-text{background:rgba(0,0,0,.4)}.blue-big,.blue-big a,.blue-big a:active,.blue-big a:hover,.blue-big a:link,.blue-big a:visited,.feat_text.inverted{color:#fff}.blue-big strong{color:#000}.blue-big a:hover{background-color:inherit}.feat_heading{font-size:52px;color:#00b4c9}@media (max-width:1085px){.feat_heading{font-size:40px}}@media (max-width:885px){.feat_heading{text-transform:uppercase;font-size:21px}}@media (max-width:415px){.feat_heading{font-size:14px}.feat_content{display:none}}.inverted .feat_heading{color:#fff;text-shadow:0 5px 10px #00b4c9}.feat_content{font-size:30px;color:grey}@media (max-width:1085px){.feat_content{font-size:20px}}.inverted .feat_content{color:#fff;text-shadow:0 5px 10px #00b4c9}@media (max-width:885px){.feat_content{font-size:12px}.carousel-indicators{bottom:0}}.carousel-indicators li{background-color:#00b4c9;border:2px solid grey}.carousel-control{display:block;width:5%!important}.carousel-control.right{background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.1) 100%)}.carousel-control.left{background-image:linear-gradient(to right,rgba(0,0,0,.1) 0,rgba(0,0,0,.0001) 100%)}.carousel-inner{width:97%;margin:auto;position:relative}.active a{background-color:#fff!important;color:#00b4c9!important}.buttons-position{position:absolute;bottom:5%;left:7%}.buttons-position span{color:#00b4c9}@media (max-width:775px){.slick-slide .news_container li:not(:first-child),.slick-slide .showcase-list-item:not(:first-child){display:none}.news_item,.news_item_recent{width:100%}}@media (max-width:415px){.slick-slide .showcase-list{padding:0}}.shop_news{padding-top:3%;padding-bottom:3%}.news_container{padding:0;display:flex;flex-wrap:wrap}.news_item,.news_item_recent{width:100%;margin:1%;padding:1%;border:1px solid #eee;background:rgba(255,255,255,.8)}.news_item_recent:hover{box-shadow:0 4px 15px #eee}.news_image{margin-top:20px}.news_item a{color:#565656}.featured_news_recent a,.news_item_recent a{color:#ffae00}.news_heading{color:#00b4c9}.news_author{padding-top:2%;padding-bottom:2%}.news_summary{background-color:#81dfb0;padding:2%;margin-top:1%;margin-bottom:1%;color:#fff;font-style:italic;border-radius:10px}.news_column{padding:2%}.download_item{width:350px;margin:auto}.download_item img{width:75%;padding-top:3%}.download_item a{color:#00b4c9}.featured_news,.featured_news_recent{width:100%;margin:1%;padding:1%;background:#00b4c9;border:1px solid #eee;color:#fff;position:relative}@media (max-width:775px){.featured_news,.featured_news_recent{width:100%}}.featured_news_recent:hover{box-shadow:0 4px 15px #00b4c9}.featured_news a,.featured_news_recent a{color:#fff}.featured_news img{width:100%}.blog_item{border-top:1px solid #eee;border-bottom:1px solid #eee;margin-top:2%}.blog_item a{color:#00b4c9}.ribbon{position:absolute;right:-5px;top:-5px;z-index:1;overflow:hidden;width:75px;height:75px;text-align:right}.ribbon span{font-size:10px;color:#eee;line-height:20px;transform:rotate(45deg);-webkit-transform:rotate(45deg);width:100px;display:block;background:#79A70A;background:linear-gradient(#FFAE00 0,#A7822B 100%);box-shadow:0 3px 10px -5px #000;position:absolute;top:19px;right:-21px}.ribbon span::after,.ribbon span::before{content:"";position:absolute;top:100%;z-index:-1;border-bottom:3px solid transparent;border-top:3px solid #A7822B}.ribbon span::before{left:0;border-left:3px solid #A7822B;border-right:3px solid transparent}.ribbon span::after{right:0;border-left:3px solid transparent;border-right:3px solid #A7822B}.devs img{width:100%}@media (max-width:885px){.devs{text-align:center}.devs img{width:50%}}.design_column{padding:2%;text-align:center}.design_column img{padding-top:2%;padding-bottom:2%;width:60%}.request_form{width:50%;margin-left:25%}@media (max-width:885px){.request_form{width:100%;margin-left:0}}.request_quote{padding:1%}.request_quote textarea{height:200px;width:50%;border-color:#00b4c9;border-radius:4px;padding:6px 12px}@media (max-width:885px){.request_quote textarea{width:100%}}.request_quote label{display:none}.splash{position:relative;width:100%}.splash-text{position:absolute;width:60%;top:35%;margin-left:20%}@media (max-width:425px){.splash-text{bottom:0}}.splash-text h3{font-size:70px;color:#fff}@media (max-width:885px){.splash-text{margin:0;width:100%}.splash-text h3{font-size:40px}.splash-text p{display:none}}@media (max-width:415px){.splash-text h3{font-size:16px}}.splash-text p{font-size:24px;color:#fff}@media (max-width:1085px){.splash-text p{font-size:16px}}.about_us_card{padding:2%;margin:2%;width:95%;height:500px;border:1px solid #00b4c9;background:#fff}.about_us_card p{font-size:14px}.careers{padding:3%}.showcase_heading{padding-bottom:3%}.showcase_image img{margin-bottom:6%}.showcase_download a{padding:10px;margin-top:3%;margin-bottom:3%;background-color:#ffae00;border-color:#ffae00;color:#fff;border-radius:5px}.showcase_download a:hover{background-color:#ff9839}.showcase_summary div{margin-bottom:3%}@media (max-width:775px){.showcase_summary{margin-top:5%}}.showcase-list{display:flex;padding-left:0}.showcase-list-item h3 a{color:#ffae00}.showcase-list-item img{width:60%;margin:auto}.slider-description{background-color:rgba(0,0,0,.4);padding:1%}.caption h3,.caption span{color:#fff}.social-button-icon{font-size:4em}@media (max-width:750px){.social-button-icon{font-size:2.5em}}.social-group{position:fixed;left:0;z-index:1}.social,.social-blogger,.social-book,.social-delicious,.social-digg,.social-facebook,.social-high,.social-linkedin,.social-mail,.social-myspace,.social-round,.social-stumbleupon,.social-tumblr,.social-twitter,.social-wide,.tags-count-color{border-radius:100%;color:#fff}#q-horizontal-social,#sticky-social{background-color:transparent;border:0!important;box-shadow:none!important}.social-book,.social-delicious,.social-linkedin,.social-mail,.social-myspace,.social-round,.social-stumbleupon,.social-twitter{padding:6px}.social-digg,.social-high{padding:7px 5px}.social-blogger,.social-facebook,.social-tumblr,.social-wide,.tags-count-color{padding:5px 8px}#q-horizontal-social a,ul{padding:0;margin:0}.fa-share-alt-square{color:#ffae00;box-shadow:none!important}#sticky-social{margin-left:-10px;min-width:50px}#q-horizontal-social a:hover,#sticky-social a:hover{background:0 0}#q-horizontal-social{top:0;left:40px;min-width:200px}.landing_card,.landing_footer{text-align:center;border-top:2px solid #fff}#q-horizontal-social li{float:left;width:30px}.social-facebook{background:#3b5998}.social-twitter{background:#1dcaff}.social-linkedin{background:#0077b5}.social-tumblr{background:#35465c}.social-digg{background:#356AA0}.social-blogger{background:#f57d00}.social-book{background:#34a853}.social-delicious{background:#39f}.social-myspace{background:#000}.social-stumbleupon{background:#eb4924}.social-reddit{border-radius:100%;background:#ff4500;color:#fff;padding:6px}.social-mail{background:#00b4c9}.gooo{padding-left:20px!important;padding-top:5px!important}.tag-color{color:#ffae00}.tags-count-color{background-color:#d3d3d3}.blue_landing{background-color:#6dcff6;max-height:250px}.landing_footer{padding:15px 0;background-color:#333;font-weight:100}.landing_card{background:#2D6576;padding:5%}.landing_card h3::after,.landing_card h3:before{content:'';display:inline-block;vertical-align:middle;background:#fff;height:1px;width:8%;left:0}.landing_card img{margin:50px auto auto}.landing_card h3{color:#fff;font-weight:700;font-size:28px;margin-bottom:40px}.landing_card h3:before{text-align:left;margin-right:10px}.landing_card h3::after{text-align:left;margin-left:10px}.landing_card p{font-size:38px;color:#fff;font-weight:800;margin-bottom:0;text-align:left;padding-left:30px;padding-bottom:80px;font-style:normal}.highlights li,.product-container,.quote,.retailer,.slick-dots,.slick-dots li button:before,.testimonial,.testimonial-author,.whitepaper_container{text-align:center}textarea{height:200px;width:100%;border-color:#00b4c9;border-radius:4px;padding:6px 12px}.retailer{color:#fff;padding:3%;border:1px solid #fff;border-radius:8px}.retailer:hover{color:#ccc}.landing_light{background:#dff5f0;padding:5%}.landing_light h2{padding-bottom:20px;margin-bottom:60px;border-bottom:3px solid #fff}.sflanding{border:1px solid grey;padding:5%}.sflanding h3{color:#000;margin-top:0;margin-bottom:40px}.sflanding button{width:100%;margin-top:25px}.blue-big{position:relative;background-color:#00b4c9}.green-big{position:relative;background-color:#81dfb0}.product-container{padding:4%}.product-container img{width:75%}#map,.shop-item{width:100%}.product-heading{color:#fff;margin:5%;font-size:28px;font-weight:700}.product_details,.see_more a{color:#fff;font-weight:lighter}.product_details{font-size:16px;height:150px}.see_more a{font-size:28px}.whitepaper_part h1{padding-top:3%;padding-bottom:3%}.whitepaper_image img{padding-top:10%;padding-bottom:10%}.download_whitepaper{color:#00B4C9;font-size:16px;border:5px solid #00B4C9;padding:1% 5%}.quote,.testimonial,.testimonial-author p,blockquote{color:#fff}.quote{background-color:#00B4C9;font:FaktSlabPro-Blond,Arial,Helvetica,sans-serif}.slick-dots li button:before,.slick-next:before,.slick-prev:before{font-family:slick;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.quotation{font-size:2em}.heading{text-align:center}.testimonial{padding:1%;margin-bottom:20px}.testimonial img{border-radius:50%;margin:auto;max-width:160px}.slider-testimonial-img{width:100%;border-radius:50%;max-width:200px;margin:auto}@media (max-width:600px){.slider-testimonial-img{display:none!important}}.slider-testimonial{background-color:rgba(0,180,0,.5);padding:1%}blockquote{border-left:10px solid #ccc;background-color:rgba(0,0,0,.3);margin:1.5em 10px;padding:.5em 10px;quotes:"“" "”" "‘" "’";font-size:24px}@media (max-width:1185px){blockquote{font-size:18px}}blockquote:before{color:#fff;content:open-quote;font-size:4em;line-height:.1em;margin-right:.25em;vertical-align:-.4em}.expand a,.loginn a,.promo{color:#00b4c9}blockquote p{display:inline}.slick-list,.slick-slider{display:block;position:relative}.article_wrapper{padding:2%;margin:1%;border:1px solid #d3d3d3}.media-left{float:left}.thumbnail{border:none;position:relative;padding:0}.comments_header{padding-top:5%}.expand{margin-bottom:2%}.expand a{font-weight:700}.faq{padding:2%}.login_reg{padding:3%}.loginn a{margin-right:2%}.subscribe{margin-top:2%}.location_details,.location_item{padding:1%;margin:1%}.location_item{border:1px solid #eee;background-color:#fff}.location_item div{padding-top:3%;padding-bottom:3%}.highlights li{float:left;padding-left:2%;padding-right:2%}@media (max-width:775px){.highlights li{width:100%}}.highlights ul{padding:0}@media (max-width:885px){.highlights img{max-width:50%}}#map{height:750px;border:3px solid #eee}.promo{border:3px solid #00b4c9;padding:2%}.searchbox_q{width:100%!important}.sf-FormNav-page{margin:5px}.slick-slider{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:flex;justify-content:center}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-dots,.slick-next,.slick-prev{position:absolute;display:block;padding:0}.slick-loading .slick-list{background:url(./ajax-loader.gif) center center no-repeat #fff}@font-face{font-family:slick;font-weight:400;font-style:normal;src:url(../fonts/slider-fonts/slick.eot);src:url(../fonts/slider-fonts/slick.eot?#iefix) format("embedded-opentype"),url(../fonts/slider-fonts/slick.woff) format("woff"),url(../fonts/slider-fonts/slick.ttf) format("truetype"),url(../fonts/slider-fonts/slick.svg#slick) format("svg")}.slick-next,.slick-prev{font-size:0;line-height:0;top:50%;width:20px;height:20px;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:0;background:0 0}.slick-next:focus,.slick-next:hover,.slick-prev:focus,.slick-prev:hover{color:transparent;outline:0;background:0 0}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{font-size:20px;line-height:1;opacity:.75}.slick-prev{left:-25px}[dir=rtl] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'←';color:#ffae00}.slick-next:before,[dir=rtl] .slick-prev:before{content:'→'}.slick-next{right:-25px}[dir=rtl] .slick-next{right:auto;left:-25px}.slick-next:before{color:#ffae00}[dir=rtl] .slick-next:before{content:'←'}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{width:94%;margin:0}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;border:0;outline:0;background:0 0}.slick-dots li button:focus,.slick-dots li button:hover{outline:0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-size:8px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';opacity:.25;color:#000}.slick-dots li.slick-active button:before{opacity:.75;color:#000} \ No newline at end of file +.color-primary{color:#00b4c9}.color-secondary{color:#81dfb0}.color-bright{color:#ffae00}.bg-default:after,.clearfix:after{content:"";display:table;clear:both}.q-hidden{display:none}.font-display{font-family:"Open Sans",sans-serif}.bg-default{background-color:#eee}.main-color{color:#00b4c9}.main-color a{color:#00b4c9}.text-light{color:#fff}.text-light a{color:#ffae00}.text-light a:hover{color:#ff9839}.text-light .btn{background:#ffae00;color:#fff}.text-light .btn:hover{background:#ff9839;color:#fff}.center-text{text-align:center}*{box-sizing:border-box}html{font-size:14px}body.main-body{font-family:"Open Sans",sans-serif;font-size:18px;line-height:1.4;color:#555}p{color:#555}.blue-big p{color:#fff}h1{font-size:68px;line-height:1.2}h2{color:#333;font-size:42px;line-height:1.3}h3{font-size:26px;line-height:1.2}h4{font-size:18px;line-height:1.4}h5{text-transform:uppercase;color:#01151f;font-weight:600;font-size:14px;line-height:1.2}@media (max-width:885px){em{font-size:1em!important}}.no-padding{padding:0}a,a:active,a:hover,a:link,a:visited{text-decoration:none}main>.row:not(:first-child):not(:last-child){padding-top:5%;padding-bottom:5%}main img{max-width:100%}.more{text-transform:uppercase;font-size:14px;font-weight:lighter;color:#a9a9a9;padding-top:6px}.quantum{font-size:29px}.gray_column{background:#f3f4f5;margin-top:40px;padding:20px;border-radius:8px;border:none}.logo-navigation{padding:0}.logo:hover{text-decoration:none!important}@media (max-width:485px){.logo{display:none}}@media (max-width:485px){.navbar-toggle{margin:0}}.loginn p{padding:.9em;margin:0}.logged-in-view{text-align:center;padding:.9em;display:flex}.media-object img{border-radius:100%}.language_select{border:none;text-transform:uppercase;color:#00b4c9;background:0 0;margin-bottom:10px}.language_select:focus{border:none;outline:0}.language_select:hover{cursor:pointer}.search-button-icon{color:#304546!important;font-size:20px;padding:10px 15px;background-color:transparent;border:none}.search-button-icon:hover{opacity:.8}.searchbar{border-radius:20px;padding:5px;border:2px solid #00b4c9;color:#00b4c9}.HomepageHeader-hgroup2{position:absolute;top:30%;width:100%;height:140px;text-align:center;text-shadow:0 0 30px rgba(8,58,61,.2)}@media (max-width:885px){.HomepageHeader-hgroup2{top:20%}}@media (max-width:415px){.HomepageHeader-hgroup2{top:10%}}.HomepageHeader-hgroup2 h1{color:#fff;font-size:70px;font-weight:lighter}@media (max-width:885px){.HomepageHeader-hgroup2 h1{font-size:30px}}@media (max-width:415px){.HomepageHeader-hgroup2 h1{font-size:22px}}.HomepageHeader-hgroup2 h2{font-size:24px;color:#fff}@media (max-width:885px){.HomepageHeader-hgroup2 h2{font-size:20px;margin-top:0}}@media (max-width:415px){.HomepageHeader-hgroup2 h2{display:none}}.HomepageHeader2{position:relative}.sflanguagesDropDown{color:#00b4c9;text-transform:uppercase;border:none}.rsRow{height:100px}.logged-test a{color:#00b4c9;margin-right:5px}.header-right-group div{float:left}@media (max-width:485px){.header-right-group div{display:none}}.header-right-group .dropdown{margin-top:20px}.header-right-group .dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}@media (max-width:1290px){.header-right-group .dropdown-menu{left:-220%}}@media (max-width:990px){.header-right-group .dropdown-menu{left:0}}.login-view-menu{left:-170%}@media (max-width:990px){.login-view-menu{left:0}}.language-view-menu{left:-100%;min-width:150px!important}@media (max-width:990px){.language-view-menu{left:0}}footer{margin:auto}.footer_social{font-size:1.5em;margin-bottom:5%}.footer_social a{color:#fff;border-right:1px solid #444}.footer_social a:hover{text-decoration:none;color:#ffae00}.footer_social a{padding-left:9px;padding-right:12px}.qsitemap{margin-top:-6px;padding-top:50px;background:#01151f;font-size:16px}.qsitemap_bottom{padding-top:50px;background:#01151f;font-size:16px}.quantum-footer-logo{margin-bottom:30px}.nav-sitemap>li{border:0}.nav-sitemap>li a{text-transform:uppercase;color:#777;padding:5px 10px!important}.q-sitemap-stacked a{text-transform:capitalize!important;color:#fff!important;font-weight:500;padding:5px 10px!important}.nav-stacked a:focus,.nav-stacked a:hover{background-color:transparent!important;color:#ffae00!important}.foot_nav{padding-top:2%;padding-bottom:2%;list-style:none;display:inline-block;text-align:center}.copyright{text-align:center}@media (max-width:415px){.nav-stacked li{display:none}}.sfL100Blue{background-image:url(/ResourcePackages/Bootstrap/assets/icons/blue.png)!important}.sfL100Green{background-image:url(/ResourcePackages/Bootstrap/assets/icons/green.png)!important}.sf-FileField-input{border-radius:4px;height:34px;padding:5px;width:100%;margin-top:5px}.subscribe_button{margin-top:3%}.RadScheduler_Metro .rsHeader{background:#00b4c9}.sf-lang-selector a,.sf-lang-selector a.selected{text-transform:capitalize;background-color:inherit!important;color:#00b4c9}.sf-lang-selector a.selected{font-weight:700}.sf-img-thmb img{height:40px!important;width:40px!important}.sf-lang-selector a{padding:0}.sf-Comment-count{margin-left:0;margin-bottom:10px}.sf-list-item a{padding-bottom:10px;padding-top:10px;color:#00b4c9;font-size:20px}.sf-Image-wrapper img{max-width:100%}.sf-list-content{color:gray;padding-bottom:10px;padding-top:10px;margin:0!important;border-bottom:1px solid #d3d3d3}.video-banner{height:auto}.viewMapLnk{color:#00b4c9;font-size:16px;font-weight:700}.viewMapLnk:hover{cursor:pointer}.form-group{position:relative}.too-much{background-color:#fff}input[type=search]{border:1px solid #ccc;width:100%!important}.search-dropdown-menu{border:none;background:0 0;box-shadow:none}.pagination{margin:2%}.btn-quantum{background-color:#ffae00;border-color:#ffae00;font-size:16px;font-weight:600;text-transform:uppercase;padding:12px 20px}.btn-quantum:hover{background-color:#ff9839;border-color:#ff9839}.carousel-control.left,.carousel-control.right{background-image:none!important}.custom-slider{margin:auto;padding:2%;width:90%}video{max-width:100%}.form-response{text-align:center;margin-top:40px;margin-bottom:40px;font-size:28px}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:inherit!important}@media (max-width:885px){.navbar-nav{margin:0!important}}.blue-horizontal{background-color:transparent;border:0;font-size:16px;margin-top:20px}.upper-nav{color:#304546!important}.upper-nav:hover{opacity:.8}.navbar-collapse{padding:0!important}.dropdown-toggle{padding-left:0!important;margin-right:20px!important;color:#777;font-weight:600}.dropdown-menu{min-width:200px}.mega-menu ul{list-style:none;padding:0}.mega-menu li{padding:9px}.mega-menu a{font-size:16px;color:#000}.mega-menu a:hover{color:#00b4c9}.sfcalendarEventPreviewTitle{margin-top:0}.event_details{border:1px solid #ccc;padding:2%;background-color:#fff}.event_date_place{background-color:#00b4c9;padding:1%}.event_date_place p{color:#fff}.event_date_place address{color:#fff}.k-header{background-color:inherit;border-bottom-width:0}.events_div ul{list-style:none}.events_div a{color:#00b4c9}.events_container{background-color:rgba(255,255,255,.7)}.carousel-inner>.item>a>img,.carousel-inner>.item>img{margin:auto!important}.glyphicon-chevron-left,.glyphicon-chevron-right{color:#00b4c9;font-size:1em}.glyphicon-chevron-right{right:30%!important}.glyphicon-chevron-left{left:30%!important}.glyphicon-chevron-left,.glyphicon-chevron-right{font-size:3em;color:#00b4c9;position:absolute;top:50%}@media (max-width:885px){.glyphicon-chevron-left,.glyphicon-chevron-right{font-size:1em}}.feat_text{position:absolute;top:20%;left:50%;margin-right:10%;padding:2%}.feat_text_2{position:absolute;top:40%;left:5%;margin-left:5%;padding:2%}.inverted,.splash-text{background:rgba(0,0,0,.4)}.blue-big,.blue-big a,.blue-big a:active,.blue-big a:hover,.blue-big a:link,.blue-big a:visited,.feat_text.inverted{color:#fff}.blue-big strong{color:#000}.blue-big a:hover{background-color:inherit}.feat_heading{text-transform:uppercase;font-size:52px;color:#00b4c9}@media (max-width:1085px){.feat_heading{font-size:40px}}@media (max-width:885px){.feat_heading{text-transform:uppercase;font-size:21px}}@media (max-width:415px){.feat_heading{font-size:14px}}.inverted .feat_heading{color:#fff;text-shadow:0 5px 10px #00b4c9}.feat_content{font-size:30px;color:grey}@media (max-width:1085px){.feat_content{font-size:20px}}@media (max-width:885px){.feat_content{font-size:12px}}@media (max-width:415px){.feat_content{display:none}}.inverted .feat_content{color:#fff;text-shadow:0 5px 10px #00b4c9}@media (max-width:885px){.carousel-indicators{bottom:0}}.carousel-indicators li{background-color:#00b4c9;border:2px solid grey}.carousel-control{display:block;width:5%!important}.carousel-control.right{background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.1) 100%)}.carousel-control.left{background-image:linear-gradient(to right,rgba(0,0,0,.1) 0,rgba(0,0,0,.0001) 100%)}.carousel-inner{width:97%;margin:auto;position:relative}.active a{background-color:#fff!important;color:#00b4c9!important}.buttons-position{position:absolute;bottom:5%;left:7%}.buttons-position span{color:#00b4c9}.pause-button,.play-button:hover{cursor:pointer}.shop_news{text-align:center;padding-top:3%;padding-bottom:3%}.news_container{list-style:none;padding:0;display:flex;flex-wrap:wrap}.news_item,.news_item_recent{margin-top:1%;margin-bottom:25px;padding:0;border:1px solid #eee;background:rgba(255,255,255,.8)}@media (max-width:775px){.news_item,.news_item_recent{width:100%}}.news_item_recent:hover{box-shadow:0 4px 15px #eee}.homepage_news{border-radius:8px;min-height:575px}.homepage_news img{border-radius:8px 8px 0 0}.homepage_news_text{padding:20px}.news_image{text-align:center;margin-top:20px}.news_item a{color:#565656}.news_heading{color:#00b4c9}.news_author{padding-top:2%;padding-bottom:2%;text-transform:uppercase}.news_summary{background-color:#81dfb0;padding:2%;margin-top:1%;margin-bottom:1%;color:#fff;font-style:italic;border-radius:10px}.news_column{padding:2%}.news_text h4{font-weight:700}.news_item h4 a,.news_text h4 a{color:#00b4c9}.news_text h4 a:hover{color:#ffae00}.news_text p{font-size:15px}.news_text span{font-size:13px}.news-home{padding:5%}.news-list-page{margin-top:40px}.download_list{margin-top:40px;margin-bottom:40px}.download_item{border:1px solid #eee;border-radius:8px;background:#f3f4f5;text-align:center;margin-bottom:30px;padding:4%;min-height:630px}.download_item:hover{box-shadow:0 4px 15px #eee}.download_item h3{margin:30px;font-size:20px;min-height:90px}.download_item h3 a{color:#000;font-weight:700}.download_item_image{border:1px solid #eee}.download_file_size{text-transform:uppercase;color:#ccc;margin-top:20px;margin-bottom:20px}.btn-q-download{padding-left:40px!important;padding-right:40px!important}.featured_news,.featured_news_recent{margin:1%;margin-bottom:25px;padding:1%;background:#81dfb0;border:1px solid #eee;color:#fff;position:relative}@media (max-width:775px){.featured_news,.featured_news_recent{width:100%}}.featured_news_recent h4 a{color:#fff}.featured_news_recent:hover{box-shadow:0 4px 15px #81dfb0}.featured_news_recent a,.featured_news_recent p{color:#fff}.featured_news_recent img{width:100%}.featured_news_recent span{color:#fff}.news_inner{padding:30px}.blog_post_list{margin-bottom:80px}.blog_item{border-bottom:1px solid #ccc;padding-bottom:40px;margin-top:40px}.blog_item h3{font-size:24px;font-weight:700}.blog_item a{color:#00b4c9}.blog_item h3 a:hover{color:#000;text-decoration:underline}.date-and-author{margin-top:20px;margin-bottom:20px;font-size:14px}.ribbon{right:0;top:-5px;z-index:1;overflow:hidden;text-align:right}.ribbon span{font-size:15px;font-weight:lighter;color:#81dfb0;text-transform:uppercase;text-align:center;padding:7px 12px;line-height:20px;display:block;background:#fff;position:absolute;top:19px;right:0}.categories-list,.sf-Tags{margin-bottom:30px}.categories-list a,.sf-Tags a{color:#00b4c9;font-size:14px;font-weight:700}.categories-list a:hover,.sf-Tags a:hover{color:#000;text-decoration:underline}.subscription{padding:0}.subscription p{font-size:14px}.subscription label{font-size:14px}.e-mail-subscription input{width:100%!important;background:#fff;border-radius:4px;margin-bottom:15px}.subscription-button{width:100%;border:none;background:#002529;text-transform:capitalize}.blogs-container{border-top:1px solid #ccc;padding-top:30px;padding-bottom:30px}.blog_item_detail{padding-left:30px;padding-right:30px;margin-bottom:40px}.blog-social{-webkit-padding-start:0!important;margin-top:20px}.blog-social li{list-style:none;display:grid}.blog-social li a{color:#ccc;font-size:18px;padding:5px 5px 5px 10px;margin-top:20px;border:1px solid #ccc;border-radius:100%}.blog-social li a:hover{color:#00b4c9}.blog_summary{border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin-top:30px;margin-bottom:30px;padding:30px;padding-right:0;font-size:18px;font-weight:700;font-style:italic}.blog_summary_quote{color:#00b4c9;padding-right:15px;line-height:1.3}.featured_news_recent{margin-bottom:25px}.design_column{padding:2%;text-align:center}.design_column img{padding-top:2%;padding-bottom:2%;width:60%}.splash{position:relative;width:100%}.splash-text{position:absolute;width:60%;top:35%;margin-left:20%;text-align:center;font-weight:700}@media (max-width:885px){.splash-text{margin:0;width:100%}}@media (max-width:425px){.splash-text{bottom:0}}.splash-text h3{font-size:70px;color:#fff}@media (max-width:885px){.splash-text h3{font-size:40px}}@media (max-width:415px){.splash-text h3{font-size:16px}}.splash-text p{font-size:24px;color:#fff}@media (max-width:1085px){.splash-text p{font-size:16px}}@media (max-width:885px){.splash-text p{display:none}}.about_us_card{padding:2%;margin:2%;width:95%;height:500px;border:1px solid #00b4c9;background:#fff}.about_us_card p{font-size:14px}.careers{padding:3%}.marketing_card h2{color:#fff!important}.marketing_card p{color:#fff!important}.project{padding:0}.project-phase{margin-top:40px}.project-phase img{opacity:.3}.project-phase h3{margin-top:-10px!important;color:#000!important;margin-bottom:10px;padding-left:10px;font-weight:700}.project-phase h3:after{content:url(../../dist/images/Arrow.png);margin-left:30px}.project-phase-last h3:after{content:""!important}.project-phase p{color:#000;font-size:15px;padding-left:10px;padding-right:40px}.showcase{background:#f3f4f6;padding-top:60px;padding-bottom:60px;margin-bottom:-5px}.showcase h2{margin-bottom:40px;margin-top:0}.showcase_heading{text-align:center;padding-bottom:3%}.showcase_image{padding:0}.showcase_download a{padding:10px 40px;font-size:20px;font-weight:700;margin-left:20px;margin-top:3%;margin-bottom:3%;background-color:#fff;border-color:#fff;color:#444;border-radius:5px;float:left}.showcase_download a:hover{opacity:.8}.showcase-info{border-top:1px solid #ccc;padding-top:20px;padding-bottom:20px;margin-left:20px}.showcase-info-last{border-bottom:1px solid #ccc}.showcase-info strong{font-size:15px;text-transform:uppercase;letter-spacing:1px;font-weight:900}.showcase-info p{padding-top:10px}.showcase-info a{color:#00b4c9;font-weight:900}.showcase-list{list-style:none;display:flex;padding-left:0}.showcase-list-item{align-self:center;text-align:center}.showcase-list-item h3 a{color:#ffae00}.showcase-list-item img{width:60%;margin:auto}.slider-description{background-color:rgba(0,0,0,.4);padding:1%}.caption h3,.caption span{color:#fff}.social-button-icon{font-size:4em}@media (max-width:750px){.social-button-icon{font-size:2.5em}}.social-group{position:fixed;left:0;z-index:1}.social,.social-blogger,.social-book,.social-delicious,.social-digg,.social-facebook,.social-high,.social-linkedin,.social-mail,.social-myspace,.social-round,.social-stumbleupon,.social-tumblr,.social-twitter,.social-wide,.tags-count-color{border-radius:100%;color:#fff}.social-book,.social-delicious,.social-linkedin,.social-mail,.social-myspace,.social-round,.social-stumbleupon,.social-twitter{padding:6px}.social-digg,.social-high{padding:7px 5px}.social-blogger,.social-facebook,.social-tumblr,.social-wide,.tags-count-color{padding:5px 8px}a{text-decoration:none}.sociaal:hover{cursor:pointer}.fa-share-alt-square{color:#ffae00;box-shadow:none!important}#sticky-social{border:0!important;box-shadow:none!important;margin-left:-10px;min-width:50px;background-color:transparent}#sticky-social a:hover{background:0 0}#q-horizontal-social{top:0;left:40px;background-color:transparent;border:0!important;box-shadow:none!important;min-width:200px}#q-horizontal-social li{float:left;width:30px}#q-horizontal-social a{padding:0;margin:0}#q-horizontal-social a:hover{background:0 0}.social-facebook{background:#3b5998}.social-twitter{background:#1dcaff}.social-linkedin{background:#0077b5}.social-tumblr{background:#35465c}.social-digg{background:#356aa0}.social-blogger{background:#f57d00}.social-book{background:#34a853}.social-delicious{background:#39f}.social-myspace{background:#000}.social-stumbleupon{background:#eb4924}.social-reddit{border-radius:100%;background:#ff4500;color:#fff;padding:6px}.social-mail{background:#00b4c9}.gooo{padding-left:20px!important;padding-top:5px!important}.tag-color{color:#ffae00}.tags-count-color{background-color:#d3d3d3}.blue-big{position:relative;background-color:#00b4c9}.green-big{position:relative;background-color:#81dfb0}.blue-big h3,.green-big h3{color:#fff;margin-top:0}.homepage-card-banner{position:relative}.homepage-card-banner-text{position:absolute;margin-right:50%;top:0}@media (max-width:775px){.homepage-card-banner-text{position:relative;margin-right:0}}.homepage-card-banner-text h2{margin-top:12%;font-size:60px;line-height:1.1;letter-spacing:-2px;font-weight:500}@media (max-width:905px){.homepage-card-banner-text h2{font-size:40px}}.homepage-card-banner-text p{padding-top:2%;font-size:21px;line-height:1.4}.btn-quantum-homepage{background:#36def3;color:#123;border:none;margin-top:2%;font-size:20px;font-weight:600;padding:10px 20px}.btn-quantum-homepage:hover{background:#00b4c9;color:#123}.product-container{text-align:center;padding:4%}.product-container img{width:75%}.product-heading{color:#fff;margin:5%;font-size:28px;font-weight:700}.product_details{color:#fff;font-size:16px;font-weight:lighter;height:150px}.see_more a{color:#fff;font-size:28px;font-weight:lighter}.homepage-whitepaper{background:#66d2df;border-radius:8px;padding:2%;margin-top:3%}.whitepaper_part{padding-top:20px;padding-bottom:20px}.whitepaper_part h2{margin-top:0;font-size:26px;font-weight:600}.whitepaper_part p{font-size:16px;line-height:1.4;color:#000}.btn-download{background:#fff;color:#000!important;border:none;font-size:20px;font-weight:600;padding:10px 15px;margin-top:15%}@media (max-width:1200px) and (min-width:980px){.btn-download{font-size:16px;padding:5px 10px}}.btn-download:hover{background:#fff!important;opacity:.9}.quote{background-color:#00b4c9;color:#fff;text-align:center;font:FaktSlabPro-Blond,Arial,Helvetica,sans-serif}.quotation{font-size:2em}.heading{text-align:center}.shop-item{width:100%}.testimonial-slide-holder{margin-top:80px;margin-bottom:80px}.testimonial-quote{padding:5%}.testimonial-quote h3{color:#000;font-style:italic}.home-shop-banner{margin-left:-15px;margin-right:-15px}.testimonial-image img{border-radius:50%;margin:auto;max-width:90px}.testimonial-quote-icon{margin-top:-1%;color:#ddf1f5}.slider-testimonial-img{width:100%;border-radius:50%;max-width:200px;margin:auto}@media (max-width:600px){.slider-testimonial-img{display:none!important}}.slider-testimonial{background-color:rgba(0,180,0,.5);padding:1%}.article_wrapper{padding:2%;margin:1%;border:1px solid #d3d3d3}.media-left{float:left}.thumbnail{border:none;position:relative;padding:0}.comments_header{padding-top:5%}.expand{margin-bottom:2%}.expand a{text-transform:uppercase;color:#00b4c9;font-weight:700}.faq{padding:2%}.login_reg{padding:3%}.loginn a:hover{cursor:pointer}.subscribe{margin-top:2%}.location_details{margin:1%;padding:1%}.location_item{padding:1%;margin:1%;border:1px solid #eee;background-color:#fff}.location_item div{padding-top:3%;padding-bottom:3%}.highlights li{padding:0;padding-right:20px}@media (max-width:775px){.highlights li{width:100%}}.highlights ul{list-style:none;padding:0}.highlights h3{margin-top:20px;font-size:28px;font-weight:500;color:#fff}.highlights h3 a{color:#fff!important}.highlights a,.highlights p{color:#333!important}.highlights p{color:#333!important;font-size:15px;padding:0;padding-right:30px}.highlights img{min-height:55px}#map{height:1280px}.promo{color:#00b4c9;border:3px solid #00b4c9;padding:2%}.searchbox_q{width:100%!important}.sf-FormNav-page{margin:5px}.locations-container{margin-top:-850px;margin-bottom:24px}.locations-container h1{position:relative;color:#000;letter-spacing:-3px;margin-bottom:40px}.locations-holder{min-height:600px;background:#fff;border-radius:8px;border:none;margin-right:0;margin-bottom:70px}.locations-holder img{padding:0;border-radius:8px 8px 0 0}.locations-holder-info{padding-left:15px;padding-right:15px;font-size:15px}.locations-holder-info span{margin-top:20px}.locations-holder-info h3{color:#000;font-weight:700;font-size:28px}.locations-holder-info a{color:#00b4c9}.single-location-container{margin-bottom:20px}.single-location-container h1{text-align:center;margin-bottom:20px}.request_a_quote{background-image:url(../../dist/images/Development_ContactUs.jpg);background-size:100%;background-repeat:no-repeat;margin-top:5px}.write_to_us{background-image:url(../../dist/images/Writetous.jpg);background-size:100%;background-repeat:no-repeat;margin-top:5px}.form_left_message{padding-right:30%;padding-top:10%}.gray_form_container{background:#f3f4f6;opacity:.9;border-radius:8px;border:none;padding:5px 20px 20px 20px;margin:70px 0 70px 0}.gray_form_container label{font-size:14px;font-weight:400}.gray_form_container .form-group{margin-bottom:0}.submit-form-button button{background:#000;color:#fff;border:none;font-size:18px;width:100%;margin-top:15px}.submit-form-button button:hover{background:#000;color:#fff;opacity:.8}.sfWatermark{z-index:2} \ No newline at end of file diff --git a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_config.scss b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_config.scss index 4b9f666a..02102c87 100644 --- a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_config.scss +++ b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_config.scss @@ -39,6 +39,7 @@ $text-shadow-default: 1px 1px 0px rgb(17,17,121); $font-family-body: 'Open Sans', sans-serif; $font-family-headings: 'Open Sans', sans-serif; $font-family-display: 'Open Sans', sans-serif; +$font-size-base: 14px; /* MIXINS & HELPERS */ diff --git a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_layout.scss b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_layout.scss index 6843be57..ebd34381 100644 --- a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_layout.scss +++ b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_layout.scss @@ -3,6 +3,10 @@ box-sizing: border-box; } +html { + font-size: $font-size-base; +} + body.main-body { font-family: $font-family-body; font-size: 18px; diff --git a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_navigation.scss b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_navigation.scss index b3eef939..064edefa 100644 --- a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_navigation.scss +++ b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_navigation.scss @@ -51,7 +51,7 @@ } .mega-menu li{ - padding: 0.9rem; + padding: 9px; } .mega-menu a{ diff --git a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_others.scss b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_others.scss index fcd99a57..dacea6b9 100644 --- a/ResourcePackages/Bootstrap/assets/src/quantum-sass/_others.scss +++ b/ResourcePackages/Bootstrap/assets/src/quantum-sass/_others.scss @@ -220,4 +220,7 @@ color: white; opacity: 0.8; } +.sfWatermark { + z-index: 2; +} /*OTHER PAGES STYLES END*/ diff --git a/ResourcePackages/Bootstrap/gruntfile.js b/ResourcePackages/Bootstrap/gruntfile.js index 1dada610..f7b41333 100644 --- a/ResourcePackages/Bootstrap/gruntfile.js +++ b/ResourcePackages/Bootstrap/gruntfile.js @@ -102,6 +102,16 @@ module.exports = function(grunt) { src: ['*.scss'], dest: '<%= dist.path %>/css/', ext: '.css' + }, + { + expand: true, + cwd: '<%= src.path %>/quantum-sass', + src: ['style.scss'], + dest: '<%= dist.path %>/css/', + ext: '.css', + rename: function (dest, matchedSrcPath, options) { + return path.join(dest, matchedSrcPath === "style.css" ? "quantum-style.css" : matchedSrcPath); + } }] } }, @@ -247,4 +257,12 @@ module.exports = function(grunt) { grunt.task.run('concurrent'); }); + + // SCSS task + grunt.registerTask('styles', ' ', function () { + grunt.task.run('clean:css'); + grunt.task.run('sass'); + grunt.task.run('cssmin'); + + }); }; diff --git a/ResourcePackages/Bootstrap4/MVC/Views/EventScheduler/List.Calendar.cshtml b/ResourcePackages/Bootstrap4/MVC/Views/EventScheduler/List.Calendar.cshtml index c5e48ba9..78d1c243 100644 --- a/ResourcePackages/Bootstrap4/MVC/Views/EventScheduler/List.Calendar.cshtml +++ b/ResourcePackages/Bootstrap4/MVC/Views/EventScheduler/List.Calendar.cshtml @@ -9,24 +9,14 @@ @Html.Script(ScriptRef.JQuery, "top", false) @Html.Script(ScriptRef.KendoAll, "top", false) @Html.Script(ScriptRef.KendoTimezones, "top", false) -@Html.StyleSheet(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_common_min.css"), "head", false) + @if (Html.ShouldRenderInlineEditing() || SystemManager.IsDesignMode || SystemManager.IsPreviewMode) { - @Html.StyleSheet(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_bootstrap-v4_min.css"), "bottom", false) - - if (ViewBag.IsRtl) - { - @Html.StyleSheet(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_rtl_min.css"), "bottom", false) - } + @Html.StyleSheet(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_bootstrap_main_min.css"), "bottom", false) } else { - @Html.StyleSheet(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_bootstrap-v4_min.css"), "head", false) - - if (ViewBag.IsRtl) - { - @Html.StyleSheet(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_rtl_min.css"), "bottom", false) - } + @Html.StyleSheet(Url.EmbeddedResource("Telerik.Sitefinity.Resources.Reference", "Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_bootstrap_main_min.css"), "head", false) }
    - @if (Model.AllowCalendarFilter) { -
    -
    -

    @Html.Resource("Calendars")

    + @if (Model.AllowCalendarFilter) + { +
    +
    +

    @Html.Resource("Calendars")

    +
    -
    }